Botty McStockface: Design 1.0

Posted 15 days ago
Here is the first design I have designed for how the app works. I will go into depth on each one in later blog posts.

Primordial Design 1.0


Watchlists

These are individually picked stocks that located in Airtable and added to our broker's watchlists.

Broker

Currently, we are using TD Ameritrade and Alpaca. This service abstracts away the broker and provides a common interface to make orders, get account information, etc.

The Broker interface also provides an Order Manager. The Order Manager essentially tries to find the optimal fit for a trade to ensure execution.

Quotes are a real-time stream of tick data for a stock that is generated by the underlying broker.

Engine

The engine is the coordinator program with the ultimate interface of probability growth, probability fall. It coordinates with the Broker, Events, Strategies, and Position Manager. It is the worker bee of the system and, for that reason, is written in Go.

Strategies

The strategies are stateless event machines that are called by the engine with the relevant data. This makes it easy to scale as we add additional data. Each strategy returns a decision a tuple (Side, Probability). Side being long or short.