Here are the steps I took to install a Ubuntu dual boot Python trading system sandbox on my Windows machine:

install ubuntu via wubi 15gb+
remove games
install flash
sudo apt-get install flashplugin-nonfree
install gvim
edit .vimrc
add .vim/colors/vibrantink.vim
vim.org/scripts/script.php?script_id=1794
configure python
sudo apt-get build-dep python-numpy python python-scipy python-gtk2 python-imaging ipython
sudo apt-get install python-numpy python-profiler python-gtk2 python-scipy python-matplotlib python-matplotlib-doc ipython pychecker pylint pyflakes python-doc python-examples python-imaging python-scientific python-serial python-docutils python-glade2
install TWS
http://www.interactivebrokers.com/download/unixmacosx.jar
mv Desktop/unixmacosx.jar .
jar xf unixmacosx.jar
install java 6
fix installation
sudo apt-get -f install
activate API connections
install IbPy
wget http://ibpy.googlecode.com/files/IbPy-0.7.6-9.51.tar.gz
tar xfz IbPy-0.7.6-9.51.tar.gz
cd IbPy-0.7.6-9.51/
sudo python setup.py install
run TWS
cd IBJts
java -cp jts.jar:pluginsupport.jar:riskfeed.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx256M jclient.LoginFrame .
run IbPy demo
python IbPy-0.7.6-9.51/demo/example_opt


You are definitely going to need to be familiar with the terminal to follow these steps. Basically the idea of the step is to the left and the terminal command is indented, except in a few cases. This is basically just a note for myself I thought might be useful.

IbPy is a great API for Interactive Brokers and Python has a mode, 'ipython -pylab', that replicates Matlab's commands. I'm enjoying it.

Exercise 4.21 in Papadimitriou's Algorithms was on a homework assignment I just did. It's on an extremely efficient currency arbitrage algorithm. Available here from a co-author: www.cs.berkeley.edu/~vazirani/algorithms/chap4.pdf and that chapter should have about enough background to solve the problem, if you just need a refresher.


And in a statistics class a friend is taking they were assigned a nice little problem in R on pairs trading. It should serve as an easy, clear example of a basic strategy. Here are the functions and data files that go along with it.

Nice to see some automated trading things show up in class, plus it makes the assignments a breeze for me.

There's a new publication from DE Shaw that started in March. I don't know how to get on the distribution so if you know, please tell me. It's not too hard to find them via google:



Not exclusively on automated trading but relevant anyway.

A reader, Andrew Whaley, just left a comment on a previous note on genetic programming,

Hi Max

Glad I discovered this, I've been exploring using Genetic Programming to build MetaTrader EA's for automated trading of forex. I've also has some limited success using genetic programs to predict buy/sell order values for index trading. Please check my blog (link above) and I'm also setting up a new site to specifically document my approach and findings at http://www.thegenetictrader.com

My approach has been to create a rich terminal set that includes as much data as possible e.g. o/c/h/l values, various moving averages, various indicators e.g. RSI, CCI etc. and the programs choose which they want to use. The programs could involve as much complexity as needed to actually synthesize some of these indicators but this would take very many generations so I think having a rich set at the outset should short circuit the process.

I've had to roll my own using Scheme (a Lisp derivative). I chose Scheme because prefix languages are the natural choice for the simple reason that the syntax can be easily read and modified programmatically. Scheme has similar performance characteristics to C but with a higher level of abstraction which helps to makes short work of the problem.

The resultant Scheme code is then fairly easy to recode in MetaTrader.

Anyway, good luck and I'll keep checking back.

Regards

Andrew

I mention it because Andrew has a great example of genetic programming on his site. He includes code so it will make GP more concrete if you've read about it but not implemented it. His code is written very clearly.

Update from Andrew:

Hi Max,

I thought you may be interested in an update to my work; after a couple of months of struggle, I'm starting to come up with strategies that are generally profitable i.e. show profits on data they haven't been trained on.

The profits are very modest but I'm encouraged to continue. My blog has the details of the effort so far and the strategies.

Regards

Andrew

I was included in a recent article on data mining tricks, "StreetDogs: Beware, far-fetched drollery could become investment wisdom" in Business Day Newspaper:

BUSINESS DAY, South Africa's most influential and respected daily news provider and the only daily business newspaper in the country, offers incisive coverage of business, politics, labour and other current affairs. Our Saturday edition, The Weekender, rounds off the week by combining this with a thoughtful mix of entertainment and travel.

Its fiercely independent newsroom has a dedicated staff that strongly reflects South Africa’s demographics. The publication is owned in equal shares by Avusa Limited and UK-based group Pearson, the owner of Financial Times.

Kind of strange to be in a South African news article.

This article was basically a reprint of the Nerds on Wall Street blog post, Back into the Data Mine.