This repository is the official documentation for the Binance Spot Exchange APIs. It provides comprehensive specifications for REST, WebSocket, FIX, and SBE (Simple Binary Encoding) protocols, covering trading, market data, account management, and user data streams. The documentation includes detailed endpoint references, authentication methods (HMAC, RSA, Ed25519), order types, filters, error codes, and FAQs. It also contains versioned SBE XML schemas for code generation and lifecycle management JSON files. While not an application itself, it serves as the authoritative reference for developers building trading bots, market-making systems, and integration tools for Binance Spot. The repository is well-structured with bilingual (English/Chinese) support and separate documentation for production, testnet, and demo environments.
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 the companion code for the Packt book 'Learn Algorithmic Trading'. It contains a collection of Python scripts, data files (pickle, CSV, HDF5), and a FIX protocol simulator organized by book chapters. The code demonstrates algorithmic trading strategies (mean reversion, trend following, pairs trading, turtle trading), technical indicators (EMA, MACD, RSI, Bollinger Bands), machine learning models (KNN, SVM, logistic regression, linear/ridge/lasso), backtesting frameworks (for-loop and event-based), risk management metrics, and a FIX 4.4 simulator with custom FX fields. The repository is primarily educational and not intended for production use. It exhibits significant technical drift: dependencies are not pinned, data sources (Yahoo Finance via pandas_datareader) are deprecated, Python 2.7 compatibility is assumed, and the code relies on very old library versions (pandas 0.14.1/0.15.2). Reproducibility is low due to missing environment definitions and hardcoded paths. However, some components (OrderManager, FIX simulator, risk measures) are well-structured and could be extracted for reuse with minimal adaptation.