bottishlogo

Bottish

Bottish: Scalable algorithmic trading

FAQ, Why, Future...

January 1st 2019

** Reader beware: The information below is old and out of date. **

The original prototype charting module...not bad for something running in Python...
Frequently Asked Questions
  • Q:Is this software for sale or will you be releasing the source code?
  • A:I do hope to release the software on Github at some point, but at the moment I do not have the spare time that maintaining a open source project would require. The project is still being actively developed but is due for a major revision to clean up the code. Check back later for updates.
  • Q:If the code will not be made available for now, what other trading platforms are out there with Live trading?
  • A:For free closed source trading platforms with traditional market support, probably the most feature complete is Zorro Trader, which is writted in C. It is extremely fast and special mention mention should be made of the supporing documentation which does a really great job of guiding someone new to algorithmic trading through the creation process. For open source bots, the best known is Gekko which is coded in NodeJS. It only supports cryptocurrency markets and is quite basic with a minimum time interval of 1 minute, but it has a large community of users. They have recently released a cloud version called Gekko Plus
Why

When I first started looking at algorthmic trading, there was only a handful of cryptocurrency trading bots available, and for the traditional markets the majority of trading software out there seemed as though it was still stuck in the 90's with Microsoft Encarta and Clippy. The interfaces seemed pretty bad and the software looked to be designed mainly for trading on the daily timeframe. There didn't seem to be any that had all the features I was looking for: a) intraday timeframe support less than 1 minute, b) a modern trading interface with a charting module that was realtime and responsive like the online service Tradingview. After spending many months in the Algorithmic Trading subreddit it naively seemed as though building my own personal trading system with these features was the best way to go. I had a background in Infrastructure architecture and scripting so how hard could it be? I decided that it would be a great learning experience and a way to improve my development skillset. Plus with the emergence to the mainstream of machine learning and the cryptocurrency market it was now possible to capture free, unlimited trade data and orderbook information in a way that had not been possible before except for large financial organisations.

Future Development
  • Rewrite each module in a more performant language, starting with the Cache(Barney) and Exchangebroker(Wilma) modules. While Python is fast enough for live and paper trading, backtesting on a tick by tick data can take a while. Backtesting optimzations such as vectorization using Numpy and Pandas should give a bit of a speed boost, but for making quick buying decisions on rapidly changing data such as the orderbook another language would be much more suitable. Currently the most likely candidate is C++, although other considerations would be Rust, GoLang, and Julia.
  • A web based frontend to replace the charting module which is built on a heavily customized PyQTgraph. QT is a very powerful framework with its per-object coordinate system but it's not possible to display the charts on mobile or online without using something like WebGL. Unfortunately there does not seem to be any good charting libraries out there apart from the semi-closed source Trading View.
  • A dedicated Machine Learning module for passing signals and data back to Barney.