Ventures of an indie game developer

Lot of work for nothing

So far I've churned out 2,8k lines of code. Which is very little by pretty much any standards (by comparison my game engine was about 180k lines). But don't be fooled, much of the tininess is due to Python's expressive syntax. Here's how the code is split:

Half of the code is the calculations and test code. To me it's interesting that it's fairly straightforward to squeeze in a ton of features in under 3k LoC. Here are some of the features included so far:
  • genetic algorithms including some mutation code;
  • both controllable through cli arguments at startup and using the web interface;
  • adding algorithms on the fly using the web interface;
  • login, scrape, fetch from multiple sites;
  • currently 187 different bots, each running a unique algorithm;
  • interactive plots (thanks to Bokeh) and filtering of what and when to show;
  • trade simulation using historic data where I'm able to tweak trade intervals, thresholds, filters, multipliers, etc.;
  • double-checking that expected trade result is actual trade result in underlying instruments;
  • loosely coupled, easily extensible components.
When I started out I had no idea what to build, but it sure wasn't this. Keeping the code loosely coupled and easily testable was key to not having to do a couple of re-writes already. Although I must admit I had one larger refactoring where I dug out all time-related code into a separate module.

I expect around another 3k LoC for the automated trading, then I should be making effortless profits. I'll love to get some free time to focus on important things like energy research and completing my psi book.

About the author

Mitt foto
Gothenburg, Sweden