Nautilus Trader is a production-grade, Rust-native trading engine designed for multi-asset, multi-venue trading systems. It features a deterministic event-driven architecture that enables research-to-live parity, allowing strategies to be developed, backtested, and deployed live with consistent behavior. The system comprises a core Rust engine with Python bindings for strategy development, modular adapters for over 20 exchanges (including Binance, Coinbase, Kraken, and DeFi platforms), and infrastructure for backtesting, live trading, risk management, and analysis. Key components include a CLI tool for system management, a LiveNode for production trading, and a BacktestNode for historical strategy evaluation. The architecture emphasizes modularity, with separate crates for model, core, execution, trading, risk, analysis, persistence, serialization, and exchange-specific adapters, all communicating via an actor-based message bus.
TradingAgents is a multi-agent LLM framework for financial trading research and backtesting. It orchestrates specialized agents (analysts, researchers, debaters, trader, portfolio manager) through a LangGraph state machine to produce trading decisions. The system emphasizes point-in-time data isolation to prevent lookahead bias, supports multiple LLM providers and data vendors, and includes a comprehensive backtesting engine. It is structured as a Python library with a rich CLI interface. The architecture is a hybrid of a software application and a research framework. It demonstrates high craftsmanship in its data pipeline (vendor routing, symbol normalization, date windowing), LLM integration (capability registry, structured output fallback), and concurrency handling (atomic file writes). While the core abstractions are clean and reusable, the codebase is tightly coupled to the specific behaviors of its external dependencies (LLM APIs, Yahoo Finance, SEC EDGAR), making it sensitive to ecosystem drift. The extensive test suite provides good coverage for unit and integration scenarios, but the reliance on mocking means regressions in vendor adapters may go undetected without manual integration runs.
VeighNa (formerly vnpy) is a mature, open-source quantitative trading framework written in Python. It provides a complete ecosystem for developing, backtesting, and executing algorithmic trading strategies across multiple asset classes including Chinese futures, stocks, options, and global markets via interfaces like CTP, XTP, Interactive Brokers, and more. The system is built on an event-driven architecture with a central MainEngine that orchestrates gateways (exchange connections), apps (strategy modules), and engines (services such as order management, logging, email, and WeChat notifications). It offers both a full-featured PySide6 desktop GUI and headless/scriptable operation, making it suitable for both manual and automated trading. The framework includes a dedicated alpha research module (vnpy.alpha) for factor-based strategy development, featuring built-in factor datasets (Alpha101, Alpha158), machine learning models (Lasso, LightGBM, MLP), and a backtesting engine. This gives the repository a hybrid character: primarily an application framework for trading, but with significant data/research capabilities for quantitative analysis. The codebase demonstrates strong engineering practices with plugin-based design, abstract interfaces for databases and datafeeds, and reusable utility classes like BarGenerator, ArrayManager, and OffsetConverter. However, some modules are monolithic and tightly coupled, and the large ecosystem of external gateway packages introduces version compatibility risks.
global-stock-data is a comprehensive financial data pipeline designed for AI coding assistants to access US and Hong Kong market data. It implements a 13-layer architecture that fetches data from 11 diverse sources including exchanges (CBOE), regulatory bodies (SEC, FINRA), financial data providers (Eastmoney, Yahoo Finance), and macroeconomic sources (Treasury, CFTC). The system normalizes data from various formats (JSON, CSV, text) into consistent schemas for real-time quotes, historical prices, technical indicators, fundamentals, options data, SEC filings, short volume, and macroeconomic indicators. Unlike a traditional application, it functions as a reusable data toolkit where each layer can be independently accessed to solve specific financial data acquisition problems.
This repository is a comprehensive, production-oriented algorithmic trading framework implemented in TypeScript. It is organized as a monorepo with six interdependent packages: `trading-signals` (100+ technical indicator implementations with streaming `add`/`replace` semantics, each verified against external reference data like Tulip Indicators and Skender.Stock.Indicators), `trading-strategies` (strategy base classes, concrete strategies such as SMA crossover, scalp, trailing stop, and a multi-indicator confluence strategy, plus a backtesting engine and report generators), `exchange` (abstract broker interface with real implementations for Alpaca and Trading212, including mock broker for backtesting, candle batching, WebSocket streaming, and a CLI tool), `messaging` (a Telegram bot for managing accounts, strategies, watches, and reports via multi-step wizards), `candles` (labeled historical candle datasets for testing), and `trading-signals-docs` (a Next.js documentation site with interactive indicator demos and a visual backtester). The architecture emphasizes clean separation between signal generation, strategy logic, broker execution, and user interface. The indicator library is the core asset, providing a consistent contract (`IndicatorSeries`, `TechnicalIndicator`, `TrendIndicator`) with rich signal detection and state rollback. The strategy framework supports live trading and backtesting via the same advice-execution pipeline. The project is actively maintained with CI/CD, mutation testing, and a well-defined broker integration template. While the codebase shows high craftsmanship in its indicator implementations and test patterns, the large number of indicators and hand-derived test fixtures introduce maintenance overhead, and the tight coupling to Telegram limits platform portability.
Sequoia-X is a quantitative stock selection system for the A-share market. It automates daily stock data synchronization from baostock (via SQLite), runs multiple vectorized trading strategies (e.g., Turtle Trade, MA Volume, RPS Breakout), and pushes results to Feishu groups. The system operates in two modes: daily (incremental update + strategy execution + notification) and backfill (full historical data download). Architecture features modular separation: core (config/logging), data engine (SQLite/baostock sync), strategy (abstract base + concrete implementations), and notification (Feishu webhook). Key strengths include robust incremental sync with multiprocessing, fault-tolerant backfill with retries/reconnections, and strategy-specific webhook routing via environment variables.
Fincept Terminal is a native C++20/Qt6 desktop financial intelligence platform, open-sourced under AGPL-3.0, with a proprietary Enterprise edition. It functions as a comprehensive trading, research, and analytics terminal supporting equities, options, futures, crypto, forex, and prediction markets. The architecture is a modular monolith: a single Qt Widgets process with embedded Python 3.11 for scripting, SQLite for persistence, and a DataHub pub/sub system for real-time data flows. Key entry points are the main window (WindowFrame) and screen router (DockScreenRouter), with over 100 data connectors, 20+ broker integrations, backtesting engines (QuantConnect/LEAN compatibility), AI agents (LangGraph/Agno-based), and extensive analytics (corporate finance, portfolio optimization, options pricing, economic indicators). The repository is actively maintained with a monthly release cycle, but contains a very large codebase with some boilerplate and incomplete features, making it powerful but complex to reuse partially.
This repository is a zero-dependency JavaScript library for detecting 18 candlestick patterns (29 variants) in financial OHLC data. It provides a consistent API per pattern (boolean check and array scanner), a multi-pattern scanner with optional trend context for confidence adjustment, a streaming API for memory-efficient processing of large datasets, a plugin system for custom patterns, and a CLI tool for quick analysis. The library supports both CommonJS and ES Modules, includes TypeScript definitions, and is extensively tested with unit, integration, and property-based tests. It is designed for use in trading systems, backtesting, and algorithmic trading applications.
CCXT is a cryptocurrency exchange trading library that provides a unified API for over 100 exchanges across 7 programming languages (TypeScript/JavaScript, Python, PHP, C#, Go, Java). The core is written in TypeScript from which all other language bindings are transpiled. It implements both REST and WebSocket APIs for market data, trading, and account management. The library normalizes exchange-specific data formats into a common schema, enabling cross-exchange arbitrage and analytics. Key architectural patterns include a base Exchange class with exchange-specific subclasses, a pro/ subdirectory for WebSocket-enabled exchanges, static_dependencies/ for vendored third-party code (ethers, starknet, bip39, etc.), and an extensive test suite with both static and live tests. The repository includes a playground (Next.js web IDE), CLI tool, documentation site (Fumadocs), CI/CD for all languages, and Docker development environment.
PMXT is a unified prediction market SDK that aggregates data and trading across 15+ venues (Polymarket, Kalshi, Limitless, etc.) into a single, consistent interface. The system provides a core TypeScript library with a local sidecar server (Express), plus TypeScript, Python, and CLI SDKs that support both self-hosted and hosted (trade.pmxt.dev) modes. It offers market data (events, order books, trades, OHLCV), WebSocket streaming, order management (create, cancel, fetch), account balance and positions, cross-venue router for event matching and arbitrage, and data feeds (Binance, Chainlink). The architecture is a monorepo with workspaces core, sdks/typescript, sdks/python, sdks/cli, and tools. Each exchange follows a clean fetcher → normalizer → error mapper pattern, and the SDK surfaces are partially generated from the core's method signatures. While primarily an application SDK, the project includes significant data normalization, cross-venue data aggregation, and a router for analytical queries, giving it a hybrid character.
Ghostfolio is an open-source wealth management application that enables individuals to track and analyze their personal investment portfolios. It supports multiple asset classes (stocks, ETFs, cryptocurrencies, bonds, real estate) and integrates with numerous financial data providers (Yahoo Finance, CoinGecko, Alpha Vantage, etc.) to automatically fetch market prices, historical data, and asset profiles. The system provides comprehensive portfolio performance calculations (ROAI, TWR, MWR), benchmark comparisons, dividend tracking, and a rule-based X-ray analysis for risk assessment (currency/asset class/regional cluster risk, emergency fund coverage, fee ratios). It also includes a FIRE calculator, watchlist, and import/export functionality for activities. The architecture follows a full-stack monorepo pattern using Nx, with an Angular 22 frontend (standalone components, Material Design, Chart.js) and a NestJS 11 backend (Prisma ORM with PostgreSQL, Redis caching, Bull queues for background data gathering). Authentication supports JWT, OAuth (Google, OIDC), API keys, and WebAuthn passkeys. The system is self-hostable via Docker Compose and includes a premium subscription tier managed through Stripe. The codebase is modular with shared libraries (`libs/common` for DTOs, interfaces, utilities; `libs/ui` for reusable Angular components) and a clear separation of concerns across API modules, services, and queue processors. Key highlights include a pluggable data provider abstraction, an abstract portfolio calculator with caching and retry logic, a comprehensive permission and scope system for fine-grained access control, and a rich UI component library with Storybook documentation. The project is actively maintained with frequent releases, extensive Prisma migrations, and a large test suite for portfolio calculations and import validation. While the codebase shows some technical drift (proliferation of environment variables, deprecated endpoints, and multiple data provider integrations), the overall engineering quality is strong, with well-structured modules and reusable patterns that could be extracted for other financial applications.
Jesse is a mature, full-stack algorithmic trading framework designed for cryptocurrency backtesting, live/paper trading, hyperparameter optimization, Monte Carlo simulation, and rule significance testing. It combines a Python library with a FastAPI web server and a Nuxt.js dashboard, offering a comprehensive environment for developing and validating trading strategies. The repository also includes an MCP (Model Context Protocol) server for AI-assistant integration, over 180 technical indicators (many with Rust-accelerated backends), and a research API for programmatic strategy analysis. Architecture is modular with distinct layers: CLI entrypoint → web controllers / MCP tools → service layer → simulation engine (backtest/optimize/live) → exchange adapters. State management uses global singletons for in-memory simulation state, while persistent data is stored via Peewee ORM (PostgreSQL, optional TimescaleDB). The indicator library showcases a clean pattern with sequential/non-sequential modes and Rust fallback. However, the codebase shows signs of organic growth with some tightly coupled modules (global config, store singletons) and a large static frontend bundle that is opaque to analysis. Key strengths include the breadth of supported exchanges (10+), robust backtesting with realistic fee/margin/leverage modeling, and a well-designed MCP tool layer for AI-assisted development. Weaknesses include exchange driver duplication, a complex Rust subprocess for coordination, and dependency on many external APIs that require ongoing maintenance.
This repository is an AI-powered stock research platform that combines a full-stack application (FastAPI backend, React/TypeScript frontend, Electron desktop app) with extensive data/research capabilities. It ingests market data from over a dozen providers (Tushare, yfinance, AkShare, etc.) with priority-based fallback chains, performs AI analysis via LiteLLM (supporting multiple LLM providers), and generates structured research reports, decision signals, and backtesting results. The platform supports multi-agent discussions, strategy screening, portfolio management, alerts, and multi-channel notifications (WeChat, Feishu, Telegram, email, etc.). It covers 13 international markets with trading calendars and market phase detection. The architecture is a monolith with modular services, using SQLite per-workspace isolation. While primarily an application, it has strong data/research characteristics including a screening engine derived from AlphaSift, decision signal lifecycle with outcome tracking, and skill opinion weight calibration. The codebase is well-structured with extensive tests, CI/CD, and reusable patterns like the data fetcher base class and notification sender template.
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 is a multi-platform Solana trading bot designed for sniping newly created tokens on pump.fun and letsbonk.fun (Raydium LaunchLab). It listens for token creation events in real-time via multiple mechanisms (gRPC Geyser, WebSocket logs/block subscription, third-party PumpPortal feed), then automatically executes buy and sell trades using program instructions (v2 with full account lists). The codebase emphasizes a platform-agnostic architecture with abstract interfaces for address derivation, instruction building, event parsing, and curve management, allowing new platforms to be added without altering core trading logic. It includes optional 'extreme fast mode' for zero-RPC buys, configurable exit strategies (take-profit, stop-loss, time-based), priority fee management (fixed or dynamic), compute unit optimization, and an interactive cleanup manager. The repository is explicitly educational ('NOT FOR PRODUCTION') and ships with an extensive suite of standalone learning examples and verification scripts that offline-test edge cases such as v1/v2 transaction cutover, optional trailing arguments, price feed failures, and retry bounding. Despite its purpose as a demonstration, the code demonstrates solid engineering practices: abstraction layers, configuration-driven bots, a token bucket rate limiter, plugin-based fee engines, and generic Anchor IDL decoders.
This repository implements an agentic crypto trading platform called AI Market Maker (AIMM). Despite the name, the code is not a low-latency market-making engine; it is a multi-agent hedge-fund-style trading stack that combines LLM-driven research agents with deterministic quant logic for backtesting, paper trading, and live trading. The core execution path is a LangGraph workflow: nine Tier-0 specialist agents (monetary, news, TA, on-chain, order flow, etc.) produce structured signals, a weighted arbitrator fuses them into trade intents, a Risk Guard vetoes dangerous proposals, and portfolio management routes execution through an OMS with an in-memory or SQLite ledger. The platform includes a FastAPI backend with REST and streaming endpoints, a Next.js/React dashboard, Docker deployment, Alembic migrations, CI, and a large test suite.
This repository contains the open-source book 'XQuant: 人人都是量化交易员' (XQuant: Everyone Can Be a Quantitative Trader), which serves as an educational resource for learning quantitative trading methodologies. Rather than being a functional trading application, it provides a structured curriculum teaching readers how to develop, test, execute, and monitor quantitative strategies using AI coding assistants. The book walks through a complete workflow: from selecting investment instruments (ETFs), determining position sizing, creating trading rules, validating strategy performance, avoiding overfitting, modeling execution costs, to monitoring and iterating on live strategies. Its unique value lies in teaching a spec-driven development approach where users write clear strategy specifications that AI coding assistants can translate into executable code, making quantitative research accessible to non-programmers.
QuickFIX is a production-grade FIX (Financial Information eXchange) protocol engine written in C++ with SWIG-generated bindings for Python and Ruby. It implements FIX session management (initiator/acceptor), message parsing/serialization, sequence number handling, heartbeats, resend requests, and message persistence (file, MySQL, PostgreSQL, ODBC). The library supports FIX versions 4.0 through 5.0 SP2 and FIXT 1.1, with auto-generated message classes from XML specification files. Architecturally, it is a library/framework—applications subclass the `Application` interface and use `Session::sendToTarget` to send messages. The network layer uses select()/poll()-based event loops (SocketMonitor) or threaded connections (ThreadedSocketConnection), with optional SSL/TLS support via OpenSSL. The codebase is mature and widely used in the financial trading industry, with extensive acceptance test definitions for each FIX version and language-specific unit tests. While the core abstractions (FieldMap, Session, DataDictionary) are well-designed, the repository suffers from significant code duplication across FIX versions, heavy conditional compilation, and some outdated patterns (auto_ptr, old-style platform detection). The code generation pipeline (Ruby scripts in spec/) is a notable reusable asset.
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.
GeneTrader is a Python application that optimizes trading strategy hyperparameters for Freqtrade using genetic algorithms (default) and Optuna. It runs as a CLI tool (`main.py`) or a systemd daemon, generating candidate strategies, executing Freqtrade backtests via subprocess, and scoring candidates with a multi-component fitness function designed to prevent overfitting (minimum trades, drawdown cap, profit factor requirement, complexity penalty). The architecture is modular: `genetic_algorithm/` provides generic GA operators (crossover, mutation, tournament selection, diversity maintenance), `optimization/` contains optimizer base classes and implementations, `strategy/` handles backtest execution, walk-forward validation, and a selection bar (false-discovery diagnostic), and `scripts/` includes deployment workflows and utility scripts. The repo is hybrid—it is a software application that performs data research for trading strategy optimization, with strong emphasis on statistical rigor (walk-forward, Monte Carlo robustness, selection bar). External dependencies include Freqtrade (Docker image), Binance (for pair listing and delisting data), and SSH/SCP for deployment. The codebase is well-structured with tests, but shows signs of personal project maintenance (script sprawl, hardcoded paths, potential overfitting in sample results).