架构概览
┌-------------┐ ┌-------------┐ ┌-------------┐ ┌-------------┐
│ 数据层 │───▶│ 特征工程 │───▶│ 模型层 │───▶│ 执行层 │
│ │ │ │ │ │ │ │
│ ① REST/WebSocket │ ② 技术指标 + 情绪 │ ③ LightGBM │ ④ 现货/合约报单 │
│ 历史 + 实时 │ │ 时序交叉特征 │ │ 二分类/回归 │ │ 风控 + 仓位 + 滑点 │
└-------------┘ └-------------┘ └-------------┘ └-------------┘
环境准备
| 依赖 | 版本 | 一键安装 |
|---|---|---|
| Python | 3.10+ | conda create -n ai_quant python=3.10 |
| ccxt | 4.2.x | pip install ccxt |
| LightGBM | 4.x | pip install lightgbm |
| ta | 0.10 | pip install ta |
| pandas/numpy | latest | pip install pandas numpy |
提示:Win/Mac/Linux 均可;火币/OKX 均提供国内直连 REST 端点。
数据层:30 秒拉取 2 年 K 线
import ccxt, pandas as pd, time
def fetch_ohlcv(exchange='okx', symbol='BTC/USDT', timeframe='15m', limit=1000):
ex = getattr(ccxt, exchange)({'hostname': 'okx.com'}) # 国内线路
ohlcv = ex.fetch_ohlcv(symbol, timeframe, limit=limit)
df = pd.DataFrame(ohlcv, columns=['ts','open','high','low','close','vol'])
df['ts'] = pd.to_datetime(df[], unit=)
df
df = fetch_ohlcv()
(df.tail())

