QUSMA Data Management System (QDMS)
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.
- Download divident data from external data sources.
- Local storage of historical data.
- Continuous futures data.
- Schedule automatic data updates.
- CSV import/export.
Supported Data Sources
|Data Source||Historical Data supported||Real Time Data supported||Divedent Data supported|
|FRED (Federal Reserve Economic Data)|
|EOD Data||(not implemented)|
When you miss a data service, feel free to ask...
- MySQL/MariaDB or SQL Server (2008+)
- Windows Client
- .NET 4.5 (.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!
This product is licensed under the 3-Clause BSD License.