Giter VIP home page Giter VIP logo

backtest-environment's Introduction

Event-Driven Backtest Environment for Algorithms in C++

Large project that will most likely take the entire summer, if not longer. Along the way I plan to pick up C++ as it is the fastest language for event-driven backtesting and is a great tool to have mastery of.

Using my own C+ Yahoo Finance interface to download historical EOD data in .csv file format, which will then be used for backtesting. In the future, I will modify the data handler to integrate with the Bloomberg API on the Bloomberg Terminal in my school's library, which will also necessitate porting the program over to Windows, although that won't be much of a hassle.

Runs an event-driven loop that continuously checks an Event queue for market data updates, strategy-specific signals, orders, and fill events. Passes the market data updates through the given strategy which calculates the signals to send to the execution handler which then sends orders and finally updates the portfolio with the information of the fill. For visualization, I use GNUPlot and Qt: the former for graphing the equity curve and holdings information, and the latter for displaying performance statistics and setting various backtest environment variables, i.e. start date, end date, and initial capital. A screenshot of the interface:

Screenshot of interface

It is split into several windows because I prefer using GNUplot for realtime updates to the graph rather than going to great lengths to set up multithreading in Qt for a single window application.

backtest-environment's People

Contributors

evankirkiles avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.