一个面向 DA/量化分析场景的端到端项目:
基于 MGC 1 分钟数据识别 engulfing_bear(吞没阴线)做空信号,进行参数扫描、成本后回测,并输出可复现分析报告。
- 验证吞没阴线做空信号是否在统计上有效;
- 评估不同参数组合对结果的影响(敏感性分析);
- 在交易成本 (
cost_bps) 条件下评估净收益; - 估计盈亏平衡成本阈值(break-even cost)。
- 策略信号引擎(入场/出场、止盈、ATR过滤、单仓位顺序交易)
- 交互式前端(参数面板 + K线标记 + 统计卡片)
- 网格搜索脚本(31K+ 组合批量扫描)
- 成本后指标(
netAvgPnL/netWinRate等) - Notebook 报告流程(Break-even 分析与结论导出)
- Backend: Python, Flask, Flask-CORS
- Frontend: HTML/CSS/JavaScript (custom web components)
- Analysis: pandas, numpy, matplotlib, Jupyter Notebook
- Data format: JSON + CSV
python-version/
├─ app.py
├─ requirements.txt
├─ datasets/
│ ├─ mgcj6_m1.json
│ └─ longshort.json
├─ frontend/
│ ├─ futures-mgc-longshort.html
│ └─ components/
├─ scripts/
│ └─ grid_search.py
├─ notebooks/
│ └─ da_train_valid_workflow.ipynb
├─ outputs/
│ ├─ grid_results_*.csv
│ ├─ grid_top_*.csv
│ ├─ break_even_summary.csv
│ └─ conclusion_break_even.txt
└─ src/futures_viewer/
├─ server.py
├─ signals_engine.py
├─ market.py
├─ storage.py
└─ ...
cd python-version
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\\Scripts\\activate
pip install -r requirements.txt
python app.py默认端口 5000:
http://localhost:5000/futures-mgc-longshort.html
GET /api/stock
示例:
/api/stock?code=MGCJ6&type=m1&time=2026-03-09%2018:30
GET /api/signals
常用参数(snake_case):
horizonbody_ratiolookbackvolume_windowboundary_buffertake_profitatr_enabledatr_periodatr_multipliercost_bps
示例:
/api/signals?code=MGCJ6&type=m1&time=2026-03-09%2018:30&horizon=10&body_ratio=1.1&lookback=10&volume_window=8&boundary_buffer=0&take_profit=3&atr_enabled=0&atr_period=10&atr_multiplier=1.0&cost_bps=5
脚本:scripts/grid_search.py
示例命令:
python3 scripts/grid_search.py \
--time "2026-03-09 18:30" \
--horizon "10,12,15" \
--body-ratio "1.1,1.2,1.3,1.4" \
--lookback "10,20,30" \
--volume-window "8,12,20" \
--boundary-buffer "0,3,5" \
--take-profit "0,2,3,4" \
--atr-enabled "0,1" \
--atr-period "10,14" \
--atr-multiplier "1.0,1.5" \
--cost-bps "2,5,8" \
--min-count 50 \
--min-winrate 0.55 \
--top 20输出:
outputs/grid_results_YYYYMMDD-HHMMSS.csvoutputs/grid_top_YYYYMMDD-HHMMSS.csv
文件:notebooks/da_train_valid_workflow.ipynb
已包含:
- 背景与方法说明
- 每一步「如何实现 + 为什么这样做」
- break-even cost 估计
- 结论自动生成并导出:
outputs/break_even_summary.csvoutputs/break_even_top20.csvoutputs/conclusion_break_even.txt
在当前样本和参数扫描范围下,加入成本后:
- 稳定样本(
count>=50且netWinRate>=0.55)中, - 未发现净收益为正的稳健参数组合(
Qualified=0)。
这意味着:该信号在当前设置下不具备稳定可执行性,后续需扩大样本窗口或调整信号逻辑。