Skip to content

KeithNel/qdms

 
 

Repository files navigation

The QUSMA Data Management System (QDMS) is a client/server system for acquiring, managing, and distributing low-frequency historical and real-time data, written in C#.

The server acts as a broker between clients and external data sources, as well as a local storage of historical data. The server UI allows its use without the need for a client application. Here's a rough view of how the systems are connected to each other.

A client library is provided which can access the server either locally or over a network, to request data, metadata, etc. A simple sample application showing usage of the client can be found here.

QDMS uses MySQL for storage, ZeroMQ and Protocol Buffers for client/server communications, MahApps.Metro for the interface, and ib-csharp to communicate with IB's TWS.

If you wish to contribute, fork the repo and send a pull request with your changes.

For bug reports, feature requests, and general discussion please use the google group.

Features:

  • Manages metadata on stocks, options, futures, CFDs, etc.
  • Downloads historical and real time data from external data sources.
  • Local storage of historical data.
  • Constructs continuous futures data.
  • Schedule automatic data updates.
  • CSV import/export.

Screenshots:

Currently Supported Data Sources:

  • Yahoo
  • Interactive Brokers
  • Quandl

Requirements:

  • A reasonably recent version of MySQL.
  • .NET 4.5

Planned features/improvements:

  • Constructing low-frequency bars from higher frequency data.
  • Support for more data sources.
  • Support for fundamental data.
  • Alternative (binary files) storage mechanism for tick data.
  • Some sort of market-wide "snapshot" functionality.
  • Far wider test coverage.
  • Proper docs.

About

QUSMA Data Management System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published