TPTBusiness/NexQuant

GitHub: TPTBusiness/NexQuant

Stars: 3 | Forks: 0

# NexQuant

Python Platform Numba Optuna

TA-Lib LightGBM Pandas cTrader

High-Speed Strategy Discovery Framework

Quick StartStrategy DiscoveryLive TradingFeatures

CI Status Security Scan License Ruff Last Commit

## Overview **NexQuant** discovers profitable trading strategies through high-speed search — no LLM required. Core engine: Numba JIT-compiled backtest at **735 million bars/second** (245× faster than pandas). Four discovery methods run in a continuous loop: | Method | Frequency | Description | |--------|-----------|-------------| | **Explore** | 30% of iterations | Random strategies from 17 TA-Lib indicators across timeframes | | **Exploit** | 70% of iterations | Mutate the best-known strategy (change params, indicator, or timeframe) | | **Optuna** | Every 500 iterations | 20-trial hyperparameter optimization on the current best | | **LightGBM** | Every 2000 iterations | ML classifier trained on SOTA indicator signals to predict direction | **Current best strategy**: MACD(3,10,3) 4-TF with 2/4 vote majority — **+32.0%/month** (Numba), **+24.3%/month** (verified independent backtest), 0/75 negative months. ## Quick Start # Prerequisites conda create -n nexquant python=3.10 -y && conda activate nexquant pip install -e . # Ensure OHLCV data exists: git_ignore_folder/intraday_pv_all.h5 # Strategy Discovery Loop (10,000 iterations, ~1 hour) python scripts/nexquant_rd_loop.py --iterations 10000 # Price-Action Indicator Loop (grid search all TA-Lib indicators) python scripts/nexquant_priceaction_loop.py # Top strategies report python nexquant.py best -n 20 -m monthly_return --min-trades 30 ## Strategy Discovery ### R&D Loop (`scripts/nexquant_rd_loop.py`) ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ Explore │ ──→ │ Exploit │ ──→ │ Optuna │ ──→ │ LightGBM │ │ (Random) │ │ (Mutate) │ │ (Tuning) │ │ (ML) │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ 30% 70% /500 iter /2000 iter **17 TA-Lib indicators**: MACD, RSI, Donchian, SAR, ADX, BBANDS, CCI, WCLPRICE, MFI, OBV, STOCH, ROC, AROON, AROONOSC, MOM, ULTOSC, WILLR **4 timeframes**: 15min, 30min, 1h, 4h **3 strategy types**: Single-TF, Multi-TF (vote majority), Portfolio (indicator ensemble) **Discovery example** (50,000 iterations): random → SAR(+65) → MACD(+73) → MACD-mutated(+102.75, +32%/month) ↓ Optuna tuned params ↓ LightGBM ensemble ### Grid Search (`scripts/nexquant_priceaction_loop.py`) Deterministic parameter grid over all 17 indicators. Finds MACD(3,10,3) as optimal. ### Portfolio Optimizer (`scripts/nexquant_portfolio_optimizer.py`) Greedy correlation-aware selection from discovered strategies. ## Live Trading Closed-source module at `git_ignore_folder/nexquant_live_trader.py`. Architecture: MACD(3,10,3) Signal → cTrader OpenAPI → Live Account 4-TF 2/4 Votes (WebSocket+Protobuf) ↓ Paper Mode Integration: cTrader WebSocket `live.ctraderapi.com:5035`, OAuth2 authentication, Protobuf message encoding, FIX protocol. ## Features ### ⚡ Numba Backtest - 735M bars/second (0.003s for 2.26M bars) - JIT-compiled profit/drawdown/sharpe computation - Signal construction via pandas resample + TA-Lib (~0.4s) is the bottleneck ### 🔍 Four Discovery Methods - **Explore**: Random indicator + timeframe + parameters - **Exploit**: Mutation of top-5 SOTA strategies (parameter tweak, indicator swap, timeframe change) - **Optuna**: 20-trial TPE hyperparameter optimization on best strategy - **LightGBM**: ML classifier on SOTA indicator signals (80/20 train/test split) ### 📊 TA-Lib Integration - 17 indicators with full parameter ranges - Auto-guard against bad parameters (negative/zero values that crash TA-Lib) - Multi-timeframe voting with configurable threshold ### 🔒 Security & Quality - 0 Dependabot alerts, 0 CodeScan alerts - No proprietary terms in git history - Closed-source detection CI ## Project Structure nexquant/ ├── scripts/ # Strategy discovery & trading │ ├── nexquant_rd_loop.py # High-speed R&D loop (Numba + Optuna + ML) │ ├── nexquant_priceaction_loop.py # TA-Lib grid search loop │ ├── nexquant_portfolio_optimizer.py # Correlation-aware portfolio selection │ ├── nexquant_gridsearch.py # Deterministic parameter grid search │ ├── nexquant_daily_strategies.py # Daily Kronos + factor combinations │ ├── nexquant_gen_strategies_real_bt.py # LLM-based strategy generation │ ├── nexquant_autopilot.py # 24/7 continuous generator │ └── nexquant_parallel.py # Multi-instance parallel runs ├── rdagent/ # Core framework (LLM-based, see note below) │ ├── app/ # CLI and scenario apps │ ├── components/ # Backtest engine, protections, coders │ ├── core/ # Core abstractions │ ├── scenarios/ # Domain-specific scenarios │ └── utils/ # Utilities ├── git_ignore_folder/ # Closed-source (never committed) │ ├── nexquant_live_trader.py # cTrader live trading │ ├── nexquant_fix_trader.py # FIX protocol trader │ ├── intraday_pv_all.h5 # OHLCV data │ ├── gbpusdt_1min.h5 # GBP/USD data │ └── btc_1min.h5 # BTC data ├── test/ # 1,125+ collected tests ├── data_config.yaml # Walk-forward split configuration ├── requirements.txt # Dependencies └── AGENTS.md # Agent configuration & workflow guide ## Installation ### Prerequisites - **Conda** (Miniconda or Anaconda) - **TA-Lib** system library (`apt install ta-lib` or `brew install ta-lib`) - **Linux** (Ubuntu 22.04+) ### Install git clone https://github.com/TPTBusiness/NexQuant && cd NexQuant conda create -n nexquant python=3.10 -y && conda activate nexquant pip install -e . ### Data Place OHLCV HDF5 data at `git_ignore_folder/intraday_pv_all.h5`: # Format: MultiIndex (datetime, instrument), columns: $open $close $high $low $volume df.to_hdf('git_ignore_folder/intraday_pv_all.h5', key='data') ## License **GNU Affero General Public License v3.0 (AGPL-3.0)**. See [`LICENSE`](LICENSE). ## Disclaimer NexQuant is provided for **research and educational purposes only**. Past performance does not guarantee future results. Users assume all liability.