Since I joined the Bitcoin community (very recently), I have been thinking about a project that can fill a gap in the Bitcoin ecosystem and can be useful for me to experiment with my machine learning skills. So I have started to develop a trading bot/library.
I am quite busy with work and I have not set a specific release schedule, but at the moment, I am dumping here what I have done, what I'm planning, and I'd like to hear about what you'd like to see.
It is a Python library + CLI interface + bot. At the moment I have just completed a Mt. Gox interface. It has only methods to match Mt. Gox API.
My current To-Do list looks like this:
Cache results from trading APIs. Done.
- Add helper functions for currency calculations (exchange amounts with fees, compute gains after buy/sell rounds, etc.). Partially done.
Monitor all data from Mt. Gox and save it, so it is available later for statistics, forecasting, and trading. Done.
- Add higher-level actions for Mt. Gox (Sell/buy everything, cancel all orders, etc.). Partially done.
- Handle currencies other than USD and BTC.
- Add support for monitoring all currencies. Do you know about any good and free API to check currency exchange rates?
- Add BTCex.com support. Partially done. I could use some extra BTC for testing.
- Add basic trading functionality (such as, try to sell everything at the low price over the last 48 hours, then buy everything at high, etc.)
- Use machine learning to optimize bot trading.
- Use machine learning for forecasting.
- Add Google Trends data to the model.
So, what would be your wish-list? What kind of set of actions do you need to simplify? Do you have any suggestion?
License is set GPLv3, but I am accepting (constructive and explained) comments here too.
Eventually, I will set a bounty for the development of some features, such as trading optimization and forecasting, but at the moment, you can donate to 1BK5Ao3fvhzH5wLASizxW3yHMmNQKNk2PD if you want to support it.EDIT 2011/03/16:
I'll set up the project in GitHub as soon as I finish Mt. Gox and BTCex support and a basic example bot.