A real-time quantitative trading/backtesting platform in C#, supporting IB (full brokerage) and Google Finance (quote only). It adds R support through R.NET.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Config
HistData
Log
Programs
Source check in DailyCloseEmail Jun 22, 2015
Strategies Rss and TrailTracker base class Mar 28, 2015
TickData
.gitignore
README.md Update Readme Feb 15, 2016

README.md

QuantTrading

Project Description

A real-time quantitative trading/backtesting platform in C#, supporting IB (full brokerage) and Google Finance (quote only). It adds R support through R.NET.

Project Summary

Currently it supports Interactive Brokers(IB) and GoogleFinance(GOOG); switch from config\mainconfg.xml.

Run program RealTimeTrading (QTShell) on top of TWS to manually trade, or

Design and derive a strategy from StrategyBase class. Backtest it in BackTestWindow Program, and then load it seamlessly into RealTimeTrading by configuring the Config/mainconfig.xml. For details, see examples in project ClassicStrategies.

DailyPreMarket and HistoricalDataDownloader are console based in order to be set up in Windows task scheduler.

Keywords

Quantitative: Econometrics, Time Series, Technical Analysis, Statistical Arbitrage, Kalman Filter, Machine Learning.

Technical: WCF, WPF, MVVM, Rx, Prism, Concurrency, TPL, LINQ

Installation

(1) Download and upzip; no installation needed. Compile to run or try Programs\Release\QTShell.exe.

(2) Currently it supports IB(IB) and GoogleFinance(GOOG); switch from config\mainconfg.xml.

(3) Portfolio is retrieved from config\basket.xml.

(4) The only personal information needed is google email account in config\mainconfig.xml if email notices on trading activities are desirable. Otherwise leave it blank.

(5) Some functions need statistical package R (required) and RStudio (recommended).

(6) Due to IB historical data request restriction, it may take a while for yesterday's close and change to be fully initialized (or should we load yesterday's prices along with basket file instead of requesting them dynamically?)

  1. Log folder holds log files; Real time data is recorded in TickData folder. Historical bar requests are directed into HistData folder.

  2. Strategy dlls are placed in the Strategy folder, which can be loaded into RealTimeTrading or BacktestWindow.

(9) It's compiled in VS 2013. If you encounter a false complaint of missing Oxyplot or R.Net, simply build again and it should get pass.

(10) Don't forget to check out Git Repository for latest development. Enjoy !

Figures

alt tag

alt tag