RIP Philo

Students must create a computerized trading program

This is cool!

http://advancedtrading.com/algorithms/showArticle.jhtml?articleID=198500137

Interactive Brokers (IB) held its second annual IB Olympiad Trading Program to attract qualified college graduates to the trading profession. This year's contest, which began Jan. 15 and ended March 9, attracted 260 participants, up from 125 in 2006, according to the global broker and market-maker, which publicized the contest through college admissions offices as well as with e-mails to candidates and signage displayed at college placement offices.

IB runs the contest as a way to recruit technology-savvy computer science and engineering students into its business. Each contestant starts with $100,000 in phantom money and develops a workstation application program interface. Students must create a computerized trading program that generates at least 25 trades. They can trade stocks, bonds, options, futures and foreign exchange -- all the products in IB's universe, according to Steve Sanders, managing director at Interactive Brokers.

The top student trader will receive $100,000 in prize money. In addition, there are two second-place prizes of $50,000 each, 10 third-place prizes of $10,000 each and 100 placing prizes of $1,000 each. To qualify for a prize, contestants must generate a profit.

Because the skill set necessary to compete on the trading floor has changed, IB's market-making business has been replacing floor traders and specialists with programmers and technologists, explains Sanders. "It used to be street smarts and aggressiveness -- today, it's a degree in computer programming," says Sanders of the qualifications required of modern-day traders. "We just can't find enough of these people. That's why we're doing the Olympiad -- to promote trading technology."
Permalink bob 
March 31st, 2007 10:52am
This is very interesting.

I wonder if the students who are smart enough to write an intelligent trading program that consistently makes a profit are also smart enough to realize that they could sell this program for several billion dollars to the right people, rather than the $100,000 'prize' money being offered.

I myself would have no problem offering them $105,000 for such a program if their only interest is the prize money.
Permalink Practical Economist 
March 31st, 2007 1:17pm
Interesting link, wish I knew about this before it started.
Permalink Aspiring College Developer 
March 31st, 2007 2:23pm
"[Last year's] winner, Patrick Christmas, is a programmer that had no trading experience," he notes. Christmas, a University of Texas graduate student, made $120,000 in the stock market as part of the trading contest."

So he made $120k and won $100k on top of that. A quarter of a million isn't bad for a semester's work.
Permalink Send private email Blooregard Q. Kazoo 
March 31st, 2007 3:02pm
The algorithmic trader's process explained, a bit simplistically:

1.) Develop the system (the hard part).
2.) Backtest the system with historical sample data and historical out-of-sample data.
3.) Optimize the system parameters.
4.) Forward test the system in real time with optimized parameters on a paper trading account.
5.) If profitable, switch to your live account. Re-optimize regulary.

There are 3 types of technical trading. Indicator-based, chart pattern based (discretionary) and neural networks. I concentrate on indicators and neural nets.

A good neural network package is TradingSolutions 4 at http://www.tradingsolutions.com

System development is a fascinating exercise for a programmer who is interested in trading and maths.
Permalink Bluebeard 
March 31st, 2007 3:37pm
Neural nets have been done to death, but you could add new dimensions to the concept by, say, counting press releases.
Permalink Send private email Blooregard Q. Kazoo 
March 31st, 2007 4:18pm
Done to death? By who?
Permalink Bluebeard 
March 31st, 2007 4:23pm
I did research into AI trading programs circa 2001 and saw, maybe not market saturation, but enough different companies making neural net/generational based systems, or offering advice made on them to decide I didn't want to be in that line of business. There were even generic systems where you could program in a few algorithms and training data - Want to trade in Forex? No problem, emerging markets? Easy peasy. Specializing in the Hang Seng Index? Go right ahead. Just as long as you had the training data, the software to analyze it was off the shelf.
Permalink Send private email Blooregard Q. Kazoo 
March 31st, 2007 4:38pm
A couple of years I played a software called WealthLab -

http://www.wealth-lab.com/images/WLD3ss_1.gif

It was a mISV product. You can write a scritp in Pascal syntax, give buy and sell signals and back-test on history data. The company was bought by Fidelity and afer that they only offer it to people outside US and Canada.

Using the software, it is easy to write "a great system". The problem is that a script working great in the past does not work well in the future.
Permalink Glitch 
March 31st, 2007 4:43pm
"The problem is that a script working great in the past does not work well in the future."

That goes for any backtesting you do, regardless of your super-duper system. That's what most people don't get about backtesting. You can make any system profitable if you over-optimize the parameters enough.
Permalink Bluebeard 
March 31st, 2007 4:53pm
For my own purposes I've wtitten a backtester/forward tester in C# that has a plugin architecture, so when I want to try a new system I code it up as a DLL plugin and test it by doing a walk-forward through the data. If it looks promising, I then forward test it live through the API of the trading platform I use.
Permalink Bluebeard 
March 31st, 2007 5:04pm
>>That goes for any backtesting you do, regardless of your
super-duper system. That's what most people don't get about backtesting.

Actually, what I was trying to say that a script worked in the past does not work in the future. The software allows you to easy test your ideas on history data. But for the reason I mentioned, even you got a sytem that performed super well in the past, you may still lose money in the future. Someone posted a script that gave every major buy/sell signals on NASDAQ QQQ index in the 8 years (and they matched very well). However if you run that script today, you will find that the scritp failed miserably today.
Permalink Glitch 
March 31st, 2007 5:13pm
"Someone posted a script that gave every major buy/sell signals on NASDAQ QQQ index in the 8 years (and they matched very well)."

Yes, that's what I mean by over-optimizing. You can make the system fit the period of data you're testing to get the best result.
Permalink Bluebeard 
March 31st, 2007 5:25pm
And how much money have you stock programming gurus made by your efforts in the trading market.
Permalink LinuxOrBust 
March 31st, 2007 7:24pm
LoB, doesn't your new job include stock trading?
Permalink z-z-zed 
March 31st, 2007 7:45pm
> consistently makes a

yeah.. consistently...

> So he made $120k and won $100k on top of that. A quarter > of a million isn't bad for a semester's work.

I think it was play trading. So 100K.
Permalink bob 
March 31st, 2007 8:18pm
Yes, when you overtrain your net, you just end up creating an associative memory that perfectly recalls the past data. That's not what you want - you want a system that works on the underlying principles. That system will often make mistakes, but over time it will do well. The problem is not in training the network, but in deciding what data do feed it.