概览
BTC 量化交易系统 · 数据采集与回测研究阶段。实时行情来自 Binance 现货,永续合约资金费率来自 Binance 合约。
BTC / USDT 最新价
—
24h 涨跌 —
24h 区间
—
成交量 —
永续资金费率
—
下次结算 —
数据覆盖
—
—
行情
本地数据库中的已收盘 K 线(WebSocket 实时入库)。绿涨红跌。悬停查看数值。
BTC/USDT · 4h
EMA20EMA60成交量
永续合约资金费率(每 8 小时)
策略算法
系统内置策略的原理、规则、公式、参数与适用行情。所有策略只输出目标仓位,由组合层与风控层决定实际下单。点击卡片查看详情,可一键进入回测实验室。
回测实验室
事件驱动回测:第 t 根收盘产生信号,第 t+1 根开盘价成交,计入手续费与滑点;勾选「允许做空」即按合约模式结算资金费率。结果与现货「买入持有」基准对比。
Binance 现货 taker 0.1% = 10bps,VIP/BNB 折扣后约 5bps
策略参数
系统架构
五层事件驱动:策略只输出目标仓位,风控独立于策略,持仓以交易所为准。回测、模拟盘、实盘共用同一套策略代码。
数据流
数据层Binance REST 回补 + WebSocket 实时流
缺口自动修补 · OHLC 校验
SQLite(可换 TimescaleDB)
缺口自动修补 · OHLC 校验
SQLite(可换 TimescaleDB)
特征 / 因子EMA · ATR · RSI · 布林带
唐奇安通道 · 已实现波动率
纯函数,只用历史数据
唐奇安通道 · 已实现波动率
纯函数,只用历史数据
策略引擎on_bar → set_target(weight)
weight ∈ [−1, 1]
多策略隔离运行
weight ∈ [−1, 1]
多策略隔离运行
组合 + 风控资金分配 · 波动率目标
交易前逐条校验
回撤熔断 · Kill Switch
交易前逐条校验
回撤熔断 · Kill Switch
执行 OMS订单状态机 · 幂等 ID
限价追单 / TWAP
对账 · 模拟撮合
限价追单 / TWAP
对账 · 模拟撮合
一根 K 线的生命周期
WS 收到 K 线收盘 → OHLC 校验 → 写库 + 发布 bar 事件 → 特征引擎更新因子 → 策略 on_bar → ctx.set_target(weight, reason) → 组合层合成目标仓位、按最大杠杆裁剪 → 与实际持仓求差(小于阈值不动) → 交易前风控:单笔上限 / 净仓位 / 价格偏离 / 频率 / 数据新鲜度 → OMS 生成 client_order_id、选择执行算法 → 网关下单 → 成交回报 → 更新订单状态与持仓 → 策略 on_fill → 指标与日志落盘
开发路线
已完成Phase 0 · 基础设施
- 数据模型 / 事件总线
- Binance 网关 + 采集器
- SQLite 存储 · 部署脚本
已完成Phase 1 · 回测
- 事件驱动引擎 · 成本模型
- 7 个策略 · 绩效指标
- 回测实验室 Web
进行中Phase 2 · 模拟盘
- OMS 状态机 · 模拟撮合 ✓
- 交易前风控 ✓
- Testnet 下单 · 持仓看板
待开始Phase 3 · 小资金实盘
- 私有 API · 对账
- Kill Switch · 日报
- Telegram 告警
待开始Phase 4 · 扩展
- 多策略组合
- Walk-forward 自动化
- 第二家交易所
技术栈
| 后端 | Python 3.12 · FastAPI · asyncio · httpx · websockets |
|---|---|
| 存储 | SQLite(WAL)· 预留 TimescaleDB / Parquet 升级路径 |
| 回测 | 自研事件驱动引擎,纯 Python,1 万根 K 线约 0.1 秒 |
| 前端 | 无框架静态页 · Canvas 自绘 K 线与权益曲线 |
| 部署 | nginx 直出静态 + 反代 /api → systemd 托管的 uvicorn |
运行状态
采集器、数据库覆盖范围与实时 K 线。每 15 秒刷新。