QUSMA Data Management System

appbar.box.layeredQUSMA Data Management System – QDMS (on github)

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 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 github issues.

Click here to install.

Features:

  • 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.
  • Schedule automatic data updates.
  • CSV import/export.

Requirements:

  • MySQL, MariaDB, or SQL Server

Currently Supported Data Sources:

  • Yahoo
  • Interactive Brokers
  • Quandl
  • FRED (Federal Reserve Economic Data)
  • Google Finance

You can find the source code on GitHub: https://github.com/qusma/qdms.

Screenshots:

Instrument metadata.

Instrument metadata.

Adding a new instrument from Interactive Brokers.

Adding a new instrument from Interactive Brokers.

Importing data from a CSV file.

Importing data from a CSV file.

Main server screen.

Main server screen.