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 database 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 or SQL Server for storage, ZeroMQ and Protocol Buffers for client/server communications and MahApps.Metro for the interface.
- Manage metadata on stocks, options, futures, CFDs, etc.
- Download historical and real time data from external data sources.
- Local storage of historical data.
- Continuous futures data.
- Earnings announcement data, dividend data, economic release data.
- Schedule automatic data updates.
- CSV import/export.
Data Source | Historical Data supported | Real Time Data supported |
---|---|---|
Interactive Brokers | ✅ | |
Binance | ✅ | ✅ |
Bloomberg | ||
Quandl | ✅ | |
FRED (Federal Reserve Economic Data) | ✅ | |
Yahoo | ✅ | |
BarChart | ✅ | |
ForexFeed | (not implemented) | ✅ |
When you miss a data service, feel free to ask...
- MySQL/MariaDB or SQL Server (2008+)
- Windows Client
- .NET 4.7 (.NET Core support planned)
- Instrument metadata.
- The main server interface.
- Adding a new instrument from IB.
- Importing CSV data.
- Editing futures expiration rules.
- Continuous futures options.
If you wish to contribute, you can easily fork the repo and send a pull request with your changes. Try to send pull requests that are dealing just with one topic - that makes reviewing easier. Or just create create an issue and we can discuss your great ideas!
Take a look at Roadmap, the github issues and the milestones.
This product is licensed under the 3-Clause BSD License.