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 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.
This repository is a comprehensive .NET SDK for the Alpaca Markets API, providing both REST and WebSocket clients for algorithmic trading, market data retrieval (stocks, crypto, options), and account management. The architecture is a layered client library with core (`Alpaca.Markets`) and extensions (`Alpaca.Markets.Extensions`) NuGet packages, targeting multiple .NET frameworks (netstandard2.0/2.1, net462, net8.0, net10.0). Entry points include configuration classes that instantiate typed clients (e.g., `IAlpacaTradingClient`, `IAlpacaDataClient`, `IAlpacaCryptoDataClient`, `IAlpacaOptionsDataClient`) via environment-specific base URLs (live, paper). The library supports advanced order types (bracket, OCO, trailing stop), real-time streaming with automatic reconnection, and efficient pagination using `IAsyncEnumerable`. The codebase exhibits high craftsmanship with clean separation of interfaces, messages, and parameters; fluent builder patterns for orders; and robust testing infrastructure using mocks. The extensions package adds DI integration (`AddAlpaca*Client`), Polly-based retry, and reusable subscription management. While the SDK is actively maintained and well-tested, it relies on Newtonsoft.Json (rather than System.Text.Json) and maintains compatibility with older frameworks, adding complexity. A minor risk is dependency on internal Alpaca API endpoints that could change, but the library's design isolates these concerns.
yfinance is a mature Python library that provides programmatic access to Yahoo Finance market data. It is primarily an application/library, not a data research project, though it includes data repair and cleaning utilities. The library exposes a high-level API (Ticker, download, Search, Lookup, Market, Screener) that fetches historical prices, fundamentals, financial statements, holders, analysis, and more from Yahoo's various JSON endpoints. It handles Yahoo's quirks (cookie/crumb authentication, timezone issues, data errors) and includes a sophisticated price repair pipeline that detects and corrects common data anomalies like 100x unit mixups, bad stock splits, zero values, and dividend double-counting. The architecture is monolithic with modular scrapers and utilities. It has extensive test coverage (though currently failing in CI), active maintenance, and a large user base (25k+ stars). The codebase is well-structured with reusable utility functions, but some legacy artifacts (Travis CI, disabled pytest workflow) and heavy reliance on heuristic repair logic introduce medium technical drift.
HyperView is a CLI-driven toolkit for downloading TradingView market data, backtesting Python trading strategies with TradingView-parity fill assumptions, and optimizing parameters via Bayesian search (Optuna). The system is organized as a monolith with subcommands: download-data, backtest, hyperopt, pine-optimize, pine-batch-optimize, list-data, list-strategies. It features a pluggable strategy framework with auto-discovery, 20+ TA-Lib indicator wrappers, a backtester that simulates intrabar SL/TP paths, and a two-stage Pine input optimizer that exports optimized Pine scripts with injected best parameters. The codebase is well-structured with dataclasses, type hints, and a rich CLI output using the `rich` library. It includes unit tests for the Pine optimization pipeline and CLI parser. The repository is primarily an application, though it contains data engineering patterns in its downloader and caching layers.