QuantSoftware ToolKit
From Quant Fund Software Wiki
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:
- Installation and overview information
- QSToolKit Installation Guide for downloads and details on getting up and running.
- Connecting With Data Sources
- Getting Yahoo Data
- Getting Compustat Data.
- Work Flow Guide that provides an overview of intended use of the software
- QSTK Tutorials
- QSTK Tutorial 1 Reading data and basic time series operations and plotting
- QSTK Tutorial 2 Reading CSV data (not QSTK specific)
- QSTK Tutorial 3 Tips for accessing historical data via DataAccess + a quick and dirty portfolio back test
- QSTK Tutorial 4 Creating a an equity allocation DataMatrix
- QSTK Tutorial 5 Using quicksim to back test an allocation strategy
- QSTK Tutorial 6 Reading Compustat data
- QSTK Tutorial 7 Using the NAG library
- QSTK major modules
- APIs for all modules
- qstklearn
- qstktest
- qstkutil
- pseries module documentation
- QSTK applications
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
- Resources: Additional relevant resources.
- Tucker Balch's blog augmentedtrader.wordpress.com
- WSJ article about AI for trading.
Getting Started with Wikimedia
- User's Guide for information on using the wiki software.
- Configuration settings list
- MediaWiki FAQ
- MediaWiki release mailing list
Legacy
Older documents
- [Fund Tools]
- Work_Flow_Guide that provides a block diagram overview of QSTK intended use.
- Legacy_Main_Page