OsEngine is a comprehensive, multi-exchange algorithmic trading platform for desktop (WPF/WinForms hybrid). It provides data downloading (OsData), backtesting (OsTester), walk-forward optimization (OsOptimizer), and live trading (OsTrader) with support for 30+ exchange connectors (MOEX, Binance, Bybit, OKX, Interactive Brokers, etc.). The platform includes a built-in technical indicator library (100+ indicators), a trading robot framework with attribute-based registration, and an MCP (Model Context Protocol) API for external AI/automation control. The architecture is modular: separate executables for different modes, a common server abstraction layer, and a consistent parameter system for bots and indicators. While the codebase is large and well-organized, it suffers from significant duplication across exchange connector entity classes and some copy-paste logic in trading robots. The UI mixes WPF and Windows Forms, and some patterns are legacy. Overall, it is a production-grade algorithmic trading platform with strong engineering practices and a rich feature set.
This repository is a high-frequency trading (HFT) research and development framework, primarily written in Java with a significant Python layer for reinforcement learning and data analysis. The actual system provides a modular architecture for backtesting and live execution of algorithmic trading strategies across multiple exchanges (Binance, Interactive Brokers, Kraken, MetaTrader). It supports market making algorithms (Avellaneda-Stoikov, ConstantSpread), factor investing, and a wide range of execution algorithms (TWAP, VWAP, Implementation Shortfall). Reinforcement learning integration is a key feature, with Gymnasium environments communicating via ZeroMQ to Java-based RL agents. The data pipeline ingests tick-level depth and trade data from Parquet/CSV files or live streams, generates OHLCV candles, and feeds into both traditional backtesting and RL training loops. While the framework is functionally rich and demonstrates advanced patterns (Disruptor ring buffers, object pools, time-series utilities), the codebase suffers from maintenance drift: many third-party libraries are vendored or outdated, hardcoded paths are scattered, and several modules contain commented-out or incomplete code. The project is a hybrid of a production-like trading engine and research code, with the dominant character being an application framework for algorithmic trading research.