QuantSoftware ToolKit

From Quantwiki
Revision as of 20:40, 24 February 2015 by Weiyi (Talk | contribs) (Contributors)

Jump to: navigation, search

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

How stocks perform after a market event.

Georgia Tech Course

[CS 7646]

Programming Skills Quiz


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 of QSTK are:

  • Data: A data access package that enables fast reading of historical data (qstkutil.DataAccess).
  • Processing tools: Uses pandas, a Python package designed for time series evaluation of equity data.
  • Portfolio optimization: Using the CVXOPT library.
  • Event studies: An efficient event analyzer, Event_Profiler.
  • Simulation: A simple backtester, quicksim, that includes transaction cost modeling.


Scroll through the Gallery to see the sorts of things you can do easily with QSTK.

Download, Installation & Open Source License

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.

email Lists

  • Subscribe to this list if you want occasional emails about new developments or releases of QSTK: qstk-announce list
  • Subscribe to this list if you are a GT student working with Prof. Balch, or are a developer: ml4trading-dev list


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). QSTK is released under the New BSD license, we require that all contributors also consent to having their code released under this license. You may, of course, develop on your own using QSTK and retain ownership of your code.

Please follow coding conventions described here: Coding Standard

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

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


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!

  • Prof Tucker Balch, Georgia Tech
  • Sourabh Bajaj, Georgia Tech, now Coursera
  • Drew Bratcher, Georgia Tech
  • Weiyi Chen, Georgia Tech, now Merrill Lynch
  • John Cornwell, Georgia Tech
  • Prof Maria Hybinette, UGA
  • Shreyas Joshi, Georgia Tech, now AQR
  • Harikrishna Narayanan, Georgia Tech, now Yahoo! Finance


  • CS 8803-FIN/4803-FIN ML4Trading was 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



Older documents