My Portfolio Trade

Welcome to the Algorithmic Trading of the 2007 Equitrader Collegiate Challenge

Algorithmic Trading is a trading method where orders are generated by formula instead of being manually placed by a human. Minimally, the algorithm is fed market data for the stocks it monitors and portfolio data as orders placed by the algorithm execute and modify the portfolio's state. The algorithm uses this data as input to a formula which generates orders for given situations.

SPECTR is Equitrader's trade scripting language. It allows a user to specify the important aspects of a round trip trade (a buy and then a sell or a short and then a cover) in a compact script. SPECTR allows a trader to specify:

  • The stocks an algorithm can trade
  • The conditions that have to be true before a position creating order can be generated
  • The conditions that have to be true to generate a position closing order.
  • The quantity and order type (Market, Limit, Short, OCO) of any algorithm generated order.

The conditions, quantities and even order prices in the script can be generated dynamically by accessing real time market data and portfolio data.

Equitrader offers two different ways to debug a SPECTR algorithm before ultimately entering it in a live competition.

The first debugging method uses the backtest functionality built in to the algorithm editor tool on the Equitrader site. This tool allows users to test an algorithm against trading data from the past to better understand how it will trade and measure it's performance against these market conditions. These tests can be run anytime.

The second debugging test is to run it in the algorithm practice competition where it can react to real time market data. Users can stop, edit and then restart their algorithm to tune their algorithm's logic and parameters. As in regular practice competitions, users can reset their portfolio anytime. Since the practice competition relies on real market data, it's only available during regular market hours.

Why Algorithms?

  • A human can only react to so many stocks. Algorithms can react to them all.
  • Algorithms always generate the same trades against the same set of data so they are easier to analyze and improve.
  • Humans know when they are trading real money and when they are trading play money. This often influences their decision making and makes the transition from the simulated world to the real market world difficult. The transition for an algorithm is more straightforward.
  • It's easier to be disciplined when trading rules are written down in advance and can't be overruled.