Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Core

The core of the system is the run() function, which connects all components in a streaming event loop. At a high level, the run loop looks like this:

Each of these five components has its own responsibilities (clean separation of concerns):

ComponentResponsibility
FeedProvides (market) data events
StrategyGenerates trading signals from events
TraderConverts signals into orders (risk/sizing)
BrokerExecutes orders, maintains account state
JournalLogs/tracks every step (read-only)

Each component is implemented an abstract base class with pluggable implementations, making every part of the pipeline independently swappable.