OctoBot’s Modular Architecture for Trading, Strategies, and Backtesting
Summary
This document explains how OctoBot’s Python codebase is organized as a monorepo. It describes the repository root as housing the main program initialization and community data management, while separate packages handle trading and exchange connections, evaluators and strategies, user interfaces and services, backtesting, tentacles, and shared utilities. It also outlines supporting components for automation, copy trading, agents, remote nodes, synchronization, shared data models, and binary releases.
The package boundaries offer a map of how trading functions and infrastructure are divided in the software. The backtesting package covers the engine, scheduling, historical data collection, and unified storage, while tentacles provide strategy and exchange-specific behavior. The document is architectural documentation rather than a trading method or empirical analysis; it gives no strategy performance evidence, and its package descriptions may change as the codebase evolves.
Key ideas
- OctoBot organizes its Python code in a single monorepo with function-specific packages.
- The trading package handles exchange connections, market data, orders, trades, and portfolios.
- Evaluators and tentacles contain strategy logic and exchange-specific trading behavior.
- The backtesting package manages simulations, scheduling, historical data collection, and storage.
- Other packages support interfaces, automation, copy trading, agents, synchronization, and shared models.
Tags
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.