QDMS is a client/server system for acquiring, storing, 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 GUI allows its use without the need for a client application.
A client library is provided which can access the server either locally or over a network, to request data/metadata, schedule jobs, etc. A sample application showing usage of the client can be found here. Get the client library on NuGet:
For bug reports, feature requests, etc. use either the GitHub issue tracker or gitter chat.
- Manage metadata on stocks, options, futures, CFDs, cryptocurrencies, etc.
- Stream real time OHLC & tick data to your applications.
- Download historical and real time data from external data sources and store it locally.
- Download and store earnings announcements, dividends, economic releases.
- Generate continuous futures data.
- Schedule automatic data updates.
| Data Source | Historical Data supported | Real Time Data supported |
|---|---|---|
| Interactive Brokers | ✅ | ✅ |
| Binance | ✅ | ✅ |
| Quandl | ✅ | |
| FRED (Federal Reserve Economic Data) | ✅ | |
| Yahoo | ✅ | |
| BarChart | ✅ | |
| ForexFeed | ✅ | |
| FXStreet | Economic Announcements Only | |
| NASDAQ | Dividend Data Only | |
| CBOE | Earnings Announcements Only | |
| Bloomberg | WIP | |
| Tiingo | WIP |
Adding more sources is easy and contributions are welcome.
- MySQL/MariaDB or SQL Server (2008+)
- .NET 4.8 (.NET Core support planned)
Here's a rough overview of the architecture of QDMS. More details can be found in architecture.md.
If you wish to contribute, just 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.