学习地图与方法
核心问题
这份笔记要解决两个常见问题:
- 学了很多项目,却拼不成交易系统。
- 会写策略代码,却不理解市场规则和风险边界。
融合项目池(总览,5 个)
QuantConnect/Lean:跨资产研究、回测、模拟、实盘一体化。freqtrade/freqtrade:加密自动化交易与参数优化流程。ccxt/ccxt:统一交易所 API 抽象,适合多交易所接入。polakowo/vectorbt:向量化研究与参数网格搜索。kernc/backtesting.py:轻量级策略原型验证。
知识分层(先后顺序)
第 1 层:市场语言
- 懂资产分类:股票、ETF、期货、期权、永续合约。
- 懂报价单位:tick、lot、multiplier、notional。
- 懂交易约束:交易时段、涨跌停、断路器、保证金、强平。
第 2 层:策略语言
- 懂信号:趋势、均值回归、波动率收敛、跨市场价差。
- 懂执行:市价/限价、滑点、手续费、冲击成本。
- 懂评估:收益率、回撤、夏普、卡玛、胜率与赔率。
第 3 层:工程语言
- 研究环境与生产环境分离。
- 回测与实盘代码路径尽量统一。
- 风控规则前置到“下单前检查”,而不是事后补救。
一条可执行学习链路
- 用
backtesting.py或vectorbt做策略假设验证。 - 用
quantstats/pyfolio做绩效归因与风险拆解。 - 用
Lean或vnpy迁移到事件驱动框架。 - 用
ccxt/券商 SDK 接入交易接口并做沙盒测试。 - 在小资金、低频、低杠杆条件下灰度上线。
常见误区
- 把回测收益曲线当成可兑现收益。
- 用单一市场样本就下结论,忽略制度差异。
- 忽略资金费率、借贷利率、借券费等“隐性成本”。
- 没有“停止条件”,亏损后不断加复杂度。
复盘问题
- 你的策略边界条件是什么(行情、波动、流动性)?
- 你的最大回撤触发器是什么,触发后如何降风险?
- 回测与实盘有哪些不可避免的偏差?
参考来源
- QuantConnect Lean: https://github.com/QuantConnect/Lean
- Freqtrade: https://github.com/freqtrade/freqtrade
- CCXT: https://github.com/ccxt/ccxt
- vectorbt: https://github.com/polakowo/vectorbt
- backtesting.py: https://github.com/kernc/backtesting.py
使用边界
这份学习地图强调“先框架、后实现、再优化”。如果直接从参数优化开始,通常会得到漂亮但脆弱的结果;如果先把市场规则、执行约束和风险上限写清,再做参数搜索,策略的样本外表现通常更稳定。该顺序同样适用于股票、期货与加密市场。
市场切片补充
把规则放进具体时间段更容易检验。例如 2020 年一季度的风险冲击阶段、2022 年的全球紧缩阶段、2023 年的结构修复阶段,价格反应、成交深度和风险偏好都不相同。若把这三个阶段混在一起求平均,很多结论会被稀释;若分阶段评估,同一套方法在不同环境中的边界会更清楚。
在执行层面,可以把“阶段识别”写入日常流程:先确认当前处于扩张、收缩还是修复,再决定仓位上限、下单时段和止损阈值。这样做不是为了追求完美预测,而是为了避免在不适配环境里重仓。跨市场核验时,建议直接对照 NYSE 时段、Nasdaq 日历、HKEX 时段 与 CFTC 术语 做参数确认。
复盘框架
每篇笔记都可落到同一套复盘问题:第一,当前结论依赖的前提是否仍成立;第二,若波动率提升一个等级,仓位和执行规则是否需要同步调整;第三,若成交成本抬升,策略是否仍具备正期望。把复盘问题固定下来,知识会从“记住观点”转为“可持续迭代的决策系统”。