QuantSoftware ToolKit

From Quant Fund Software Wiki

Jump to: navigation, search

If you are in a hurry, you can skip to the installation guide.

Contents

About the QuantSoftware ToolKit

QSToolKit (QSTK) is a Python-based open source software framework designed to support portfolio construction and management. We are building the QSToolKit primarily for finance students, computing students, and quantitative analysts with programming experience. You should not expect to use it as a desktop app trading platform. Instead, think of it as a software infrastructure to support a workflow of modeling, testing and trading. Key components are:

  • Data: A data access package that enables fast reading of historical data (qstkutil.DataAccess).
  • Processing tools: Integration with pandas, a Python package designed for time series evaluation of equity data.
  • Simulation: A simple backtester, quicksim, that includes transaction cost modeling.

To get a quick flavor of QSTK features, take a look at QSTK_Tutorial_1.

Assumptions & Supported Platforms

We support Mac OS X and Ubuntu Linux on Intel machines. We recommend a 2.0 GHz processor and 2GB of RAM as a minimum. QSTK does run on Windows machines, but we don't guarantee it, and we can't always help you if you run into problems.

We make some assumptions about the you should know about that may limit QSTK's use, including:

  • Frequency: Daily trading (versus intra-day high frequency trading);
  • Equities: Publicly traded equities for which historical data are available;
  • Calendars: US market calendars (e.g. NYSE open/close).

Having said that, the tool kit can easily be adapted for other trading regimes. You might want to scan our to see some examples of what you can do with QSTK.

Documentation

This page is the root page for QSTK documentation. Here are links to information about important modules and APIs:

Getting help: send email to tucker@cc.gatech.edu

Contributing & Coding Conventions

Contact Tucker Balch to get write access to the SVN repository (the repository is already open for public reading).

Please follow coding conventions described here: http://www.python.org/dev/peps/pep-0008/ . Pay attention to naming conventions please.

We follow pydoc conventions.

Use the text 2FIX as a comment indicating a potential bug. As in:

# 2FIX we may inadvertently divide by zero below
x = y / u

Contributors

QSToolKit development began to support CS 8803-FIN: Machine Learning for Trading, a course at Georgia Tech. To date, the main contributors are at Georgia Tech, but we certainly welcome others!

  • Architecture/Design: Prof Tucker Balch (GT), Prof Maria Hybinette (UGA).
  • Data Import and Conversion: Harikrishna Narayanan (GT, now Yahoo Finance), Shreyas Joshi (GT)
  • QuickSim: Drew Bratcher
  • Back Tester: Micah X (GT), Melody X (GT), Peter X (GT), Shreyas Joshi (GT)

Courses

  • CS 8803-FIN/4803-FIN ML4Trading will be taught Fall 2011 at Georgia Tech
  • CS 8803-FIN, 2010SPR8803 was taught Spring and Fall 2010 at Georgia Tech

Resources, Relevant News & Links

Getting Started with Wikimedia

Legacy

Older documents

Personal tools