Saturday, 25 April 2009

NNATS Evolves

It has been a while since my last post – as always, I am time starved! Any free time I’ve had has been spent, almost obsessively, developing NNATS.

It has taken hundreds of hours of coding and fair few lost pounds, but NNATS now operates completely unattended and is able to make small yet consistent profits. I cannot believe how hard it has been! The screenshot below shows the profit and loss for the last week. Not the stuff retirements are made of, but not bad either.

There are so many scenarios that we humans cope with automatically, but to NNATS is a completely new opportunity to lose money – these all have to be coded around.

My trading strategy has changed enormously since the early days, when I was trying to get NNATS to emulate human behaviour. NNATS has some real limitations compared to its human prey, but some great advantages too.

The main disadvantage is that NNATS cannot watch TV! A horse’s price can move out wildly leading up to a race if it looks jittery or has trouble going into the stalls, and of course, NNATS cannot see this happening. It can react to the price change and close a losing position, but this normally wipes out any profit from a few races, so why take the pain? Therefore, NNATS stops trading a market half an hour before the start, which means that is misses the high liquidity period during those last few minutes, which is a shame.

Now for the advantages. NNATS is an aggressive scalper and has adapted to trade in the lower liquidity portion of a market, before it hits TV. It will start trading as soon the market becomes available and will continue trading up to 30 minutes before the start. There are definitely some parallels here with evolution. NNATS has had to adapt to survive, and rather than evolve into a tiger, NNATS has become a patient predator – more like a crocodile.

Another advantage that NNATS has is that it trades all available markets in parallel, which means it has a pool of several hundred horses from which to choose.

However, the most significant evolutionary change is that NNATS no longer requires its neural network. The network served its purpose. It was fantastic for indentifying the useful indicators and the relationships between them, but this has now been replaced by hard coded logic.

One of the most significant indicators is the “weight of money”, which when used in conjunction with other signals is very powerful. The other thing the network indentified is the relationship between the runners. If something is moving out very strongly, then normally something is also moving in, and vice versa.

My plan going forward is to leave NNATS running for a few weeks, actively trading and capturing data. It is only by making trades, comparing expected outcomes against actuals, that I can gather enough information to feed a second-generation network. This network will make NNATS a stronger trader by learning from its mistakes.

In the meantime, I will post more articles about other areas of neural networks. I have some ideas bubbling away…

Thanks for reading and keep visiting.