Giter VIP home page Giter VIP logo

pysystemtrade's Introduction

pysystemtrade

Systematic Trading in python

Rob Carver

http://qoppac.blogspot.co.uk/p/pysystemtrade.html

Version 0.20.0

20190404

Release notes

See DONE_TO_DO for release notes, and future plans.

Description

pysystem trade is the open source version of my own backtesting engine that implements systems according to the framework outlined in my book "Systematic Trading", which is further developed on my blog.

For a longer explanation of the motivation and point of this project see my blog post.

Currently pysystemtrade can do the following:

  • Backtesting enviroment that will work "out of the box" for chapter 15 of my book "Systematic Trading"
  • Implement all the optimisation and system design principles in the book.

Eventually pysystemtrade will also include the following:

  • Complete implementation of a fully automated system for futures trading (for interactive brokers only), including regularly updated data

Use and documentation

Introduction (start here)

User guide

Working with futures data

Dependencies

Python 3.x, pandas, matplotlib, pyyaml, numpy, scipy, quandl

See requirements.txt for full details.

Make sure you get the python3 versions of the relevant packages, i.e. use:

sudo pip3 install ....

Installation

This package isn't hosted on pip. So to get the code the easiest way is to use git:

git clone https://github.com/robcarver17/pysystemtrade.git
python3 setup.py develop

Notice that develop mode is required so that ipython sessions can see files inside subdirectories which would otherwise be inaccessible.

A note on support

This is an open source project, designed for people who are already comfortable using and writing python code, are capable of installing the dependencies, and who want a head start on implementing a system of their own. I do not have the time to provide support. Of course I am very happy if you get in touch with me on any of the following topics:

  • Confusing error messages
  • Missing or misleading documentation
  • Suggestions for extra features

However I can't guarantee that I will reply immediately, or at all. If you need that level of support then you are better off with another project. The most efficient way of doing this is by opening an issue on github. If you discover a bug please include:

  • The full script that produces the error, including all import statements, or if it's a standard example file a pointer to the file. Ideally this should be a "minimal example" - the shortest possible script that produces the problem.
  • Versions of any neccessary libraries you have installed
  • The full output trace including the error messages

If you don't include the information above I will close the issue and then ignore it.

I'll try and incorporate any feedback into the code, but this is a part time (and unpaid!) venture for me, and it will be competing with my other interests (writing books, blogging and research). But if you occasionally check github you will hopefully find it gradually improving. Offers to contribute will of course be gratefully accepted.

Examples

A series of examples using pysystemtrade for my blog posts can be found here.

Licensing and legal stuff

GNU v3 ( See LICENSE )

Absolutely no warranty is implied with this product. Use at your own risk. I provide no guarantee that it will be profitable, or that it won't lose all your money very quickly, or delete every file on your computer (by the way: it's not supposed to do that. Just in case you thought it was.). All financial trading offers the possibility of loss. Leveraged trading, such as futures trading, may result in you losing all your money, and still owing more. Backtested results are no guarantee of future performance. I can take no responsibility for any losses caused by live trading using pysystemtrade. Use at your own risk. I am not registered or authorised by any financial regulator.

pysystemtrade's People

Contributors

robcarver17 avatar ehiggs avatar herrold avatar samuelsinayoko avatar arvindchandra avatar dcwtx avatar joaoaparicio avatar micheloosterhof avatar luoq avatar onursatici avatar yabolgha avatar

Watchers

James Cloos 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.