About
Si
I've been involved with various forms of Artificial Intelligence (AI) since the late 80's, when I started my first company.
First things first - what is AI? Well, the old joke (old as in 60's, when AI really first kicked off) is that if it works, it's not AI. Of course, that's not very helpful (but what else would you expect from a bunch of giant bearded geniuses?)
Very loosely AI is any kind of software that "seems intelligent". In reality, it's a very broad field. It's also something that is pretty much ubiquitous these days - from computer games, to Google, airline reservations, medical diagnostics, you name it. Anywhere there's REALLY hard problems, AI is in there solving them.
I'm interested (at present) in applying AI to the financial markets - specifically, trading. Entries, exits, position sizing, position & portfolio management, all of it.
Now, I started initially in:
- Neural Networks (simplistic equivalents of the brain's physical componentry, neurons, dendrites, etc)
- expert systems (lots of rules)
- finite state machines (lots of 'states' with rules to change between them)
- cellular automata (similar to FSM's)
- genetic algorithms (optimisers that find good solutions to massive problems in reasonable timeframes)
- and lately, genetic programming (AI that can create simple software).
So that's the background. What's the point of all this? There are two major projects. One a subset of the other:
The subset: Profitable trading (which markets or products are largely irrelevant, since market behaviour is fractal in nature). Of course, lots of very smart people are trying to do the same thing. This is good, competition is healthy. Of course, I'm not going to sit here and say I'm smarter than any of them, but I'm damn sure I can write software that is.
Which leads to the superset: Self-improving software. This is something of a holy grail of AI - write a piece of software that is capable of rewriting itself as an improved version. Of course, that version then rewrites itself again, improving itself a little each time, and so on.
This, unsurprisingly, is a much harder problem
Thus my hypothesis is this: In an easily quantified problem space (like trading) it is possible to fully specify the domain of operation, and thus, with the right structure, create such a self-improving software program. Of course, initially, it will be very, very stupid (and certainly worse at trading than any human traders in the market). However, given enough processing power (which these days, unlike in the 60's, is very, very cheap), and smart enough algorithms underneath, in a very finite timeframe, it will easy surpass enough of the traders in any given market in order to be self-sustaining.
I am currently well on the way to proving this hypothesis. This site is a chronicle of these two projects.
I can be contacted at si@sidawson.com