Markybot is a Foresight Exchange trading robot, an automatic program that buys and sells “idea futures” claims on its own initiative. It’s sort of like an automatic stock market trader, except it’s trading on claims about the future rather than shares of stock.

Markybot made its first trades on 5 February, 1997. You can check out its holdings and trading history at its FX account page.

I made an FX claim to find out how well people think Markybot will do in its first year. Mark98 is my page about the claim.

how it works

Markybot cannot analyze claims to know which will succeed—that’s hard enough for humans, and well beyond the state of the art for artificial intelligence. Instead it relies on a statistical model of price fluctuations, so that (if the model is accurate enough) it can on average buy low and sell high.

The statistical model is a Markov chain. (That’s where the name comes from.) One program estimates a Markov chain from ticker data retrieved from the FX server, and computes a trading policy based on it. Another program carries out the policy, executing trades.

I have evidence that the Markov chain does not correctly describe actual trade prices on the FX server. In other words, Markybot’s model is not fully accurate. But it’s still an open question whether the model is accurate enough for the bot to earn a profit.

source code

Markybot is written in perl, and intended to run on unix machines. The program that calculates the trading policy is somewhat compute intensive, but it only has to be run once. The trading program spends most of its time waiting for the network, and doesn’t put much load on the cpu.

For the time being, I am keeping the source code to myself. If there were two copies of Markybot running, they would make the same trades, competing with each other. Then I would not be able to tell how good the trading policy is. Sometime in the future I expect to make the bot more flexible and configurable, so that two copies could be given different “interests”. Then I’ll make the source code freely available.

In the meantime, I am distributing the source code of some of Markybot’s “infrastructure”. This could be handy if you’re writing your own FX bot, whether it’s a trading bot or only an info bot. This version, fx1, was released on 1 March 1997. It includes a simpleminded trading system, new utility programs, and other updates over the last release.

updated 20 June 2000