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.
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.
This repository is a curated list (awesome-list) of open-source quantitative finance libraries, packages, and resources. It provides a structured README.md organized by category, with inline language tags, and a pipeline that parses the list, enriches it with GitHub metadata (stars, last commit dates), and generates a static website deployed to GitHub Pages. The repo also includes automated tooling for pull-request review: a validation script that checks entry format, section placement, URL security, duplicate detection, and a full CI-driven PR review workflow. The core logic resides in parse.py (multi-threaded GitHub API enrichment), site/generate.py (static site generator), scripts/validate_readme.py (entry validation), and scripts/review_pr.py (automated PR review with offline URL reachability checks and cross-PR duplicate detection). The project is primarily a reference list, not an application or data pipeline, but it includes high-quality supporting tooling for maintainers and contributors.
This repository implements a comprehensive backtesting and live-trading framework for prediction markets (specifically Polymarket and Kalshi), built on a heavily customized NautilusTrader engine. It provides historical replay of L2 order book data from multiple vendors (Telonex, PMXT, Polymarket native), realistic execution modeling (fill models, fee models with maker rebate inference), and a library of trading strategies (e.g., EMA crossover, microprice imbalance, late favorite hold). The framework supports parameter search optimization (random grid, TPE via optuna), joint-portfolio multi-market backtests, and generates detailed HTML/CSV/JSON reports with equity curves, drawdown, and Brier advantage analysis. A Rust native extension accelerates data conversion (book diffing, payload sorting), and a CLI TUI (main.py) discovers and runs backtest entrypoints. While primarily an application framework, it also includes numerous one-off research scripts and Jupyter notebooks (e.g., BTC snapshot model walkforward), giving it a hybrid character: a production-quality backtesting infrastructure with a heavy research emphasis. The codebase is well-tested (50+ test files), documented, and follows clean engineering practices (config validation, structured event logging, concurrency patterns). However, it is tightly coupled to NautilusTrader internals, relies on several environment variables, and contains large monolithic loader classes (e.g., Telonex loader at ~3600 lines) that limit reusability outside its specific domain. Maintenance appears active (last commit 2026-05-16) with low technical drift, though the heavy dependency on NautilusTrader and optional Rust build are potential friction points.