量化交易(二)建立量化模型的步骤

 世上唯一不变,是人都善变。金融里你不是在找永远对的答案,而是在判断:这个模型是不是正在过气

量化模型的建立 

  1. data loading,爬虫可以爬取之前的数据,或者yahoo finance数据获取

  2. training

  3. evaluation

  4. Reproducible: 别人跑你的模型是否能得到相同的结论

量化模型检测的指标:

1.数据健康检测模型(Data Quality)

(1)异常值检测(Z-score / Robust)

image

 (2)缺失率 / 延迟率

image

 

(3)跨源一致性(价格校验)

image

 2. 分布 / 漂移检测模型(Covariate Drift)现在的数据还像不像训练时那个世界

(1)KS Test(单变量)

image

 (2)Population Stability Index(PSI,金融最常用)

 image

(3)多变量漂移(MMD)

image

(4)KL / JS Divergence

image

 3. 信号有效性检测模型(Concept Drift / Alpha)信号和收益还有没有关系

(1)Information Coefficient(IC)

image

 

(2)IC 衰减检测(最工业)

image

(3)命中率 vs 随机检验(Binomial Test)

image

 

(4)互信息(最本质)

image

 (5)Rank Stability(Spearman)

image

 4. 稳定性 & 压力测试模型(Robustness)模型是不是站在钢丝上

(1)参数扰动敏感度

image

2)时间切片一致性

image

(3)Bootstrap 稳定性

image

(4)极端情景模拟(Stress)

image

5. 执行 & 交易成本模型:理论 alpha 能不能落地

(1)冲击成本模型(Almgren–Chriss)

image

(2)滑点模型

image

(3)净 Alpha

image

(4)成交概率模型

image

 

6.风控 & 生存模型(Survival)会不会一次死掉

 

(1)最大回撤(MDD)

image

(2)VaR / CVaR

image

(3)破产概率(Ruin)

image

(4)仓位约束(Portfolio-level)

image

 

7. 结果层:钱赚得好不好? PnL、Sharpe

(1)Sharpe ratio

Sharpe ratio: 它衡量的是“单位风险赚的钱有多少”,也就是收益的风险调整效率

image

 

A 策略年化收益20%,波动30%,sharpe:0.67。赚得多,但波动大 → 风险大 → Sharpe 低。
B 策略年化收益15%,波动10%,sharpe:1.5。赚得少,但稳 → 风险小 → Sharpe 高。
对投资者来说,B 更“划算”,因为单位风险赚的钱更多

(2)Profit and Loss

PnL=赚的钱亏的钱。PnL 是一个“混合结果”,模型方向对不对,仓位大小都会影响它。模型可能是对的, 但仓位太小 → PnL 很低

量化模型的反思:模型为什么会失败

1. 数据 drift:你是否知道:实验怎么设计才不骗自己

(1)offline不等于online,外汇的滑点是最明显的例子

(2)成交量 是前一日的2 倍 = 有资金进场,但是美股四巫日成交量明显放大,却不是因为资金看好而进场。

2. 幸存者偏差(非常普遍)

(1)数据集只包含当前仍在交易的股票,没包括:退市股,ST 股,和暴雷股

3. Label 泄漏 / 未来函数

(1)写指标的时候会遇到。if收盘价>5日最高收盘价,then把k线画出黑色。这个永远画不出来

4.流动性假设

(1)小盘股成交量根本吃不下。流动性小的期货,1分钟一般成交500万,结果你有1000万的资金,你的进入直接导致图形改变。

(2)涨停板缩量的是好板,可是你到快收盘了发现是缩量了,也排不到板

5. 指标欺骗

(1)过度看重成功率而忽略了盈亏比。成功率90%,每次只赚0.5%,亏一次亏5%

6. 数据语义错误(你理解错了)

(1)你以为成交量大是很多人看好。实际上很多人在跑路

7. 粒度错配

(1)你用年报数据来决定明天买不买。用日线的数据决定1分钟的买卖(日线的一根阳线波动5%够你赚到钱,1分钟一根阳线0.5%你赚不到钱)

8. 统计层失败(你信错了数学)

(1)你以为昨天跌了,今天跟昨天没关系。但实际上连跌,恐慌踩踏,股价是有记忆的

9. 小样本幻觉

你发现一个策略连赢 10 次。但实际只做了 12 次交易,你只是撞上好运气

10. 欠拟合

(1)大体量基金只看k线,而忽略市场,环境行业,成交结构,周期。

11. 过拟合

(1)你把历史走势“完美复刻”,但是上线后一次都没复刻过

12. 模型偏置错误

(1)你以为一个涨停板,后面应该会有高开3%的平均值(线性模型)。但是如果是连板,则情绪价值会给你更高溢价(指数模型)。

13. Stationarity 失败: 你假设市场是稳定的,但它不是

(1)用过去 10 年的数据回测,这10年有熊市牛市和震荡市,你以为规律可以混在一起用,但是世界对待牛市和熊市本该是不同的。

14. 非平稳失败(Non-stationarity)你学到的“经验”,已经不适用于现在这个市场

(1)过去(低利率年代)公司还没赚钱,但只要增长快,股价就涨。你总结出一个经验:利润不重要,增长最重要。后来(加息环境):同样是高增长公司,股价却一直跌。因为钱变贵了,大家开始要现金流。

15. Regime 切换失败:

(1)美国2000-2008是震荡市,这个时候高抛低吸可以。可是2008年之后一路上扬,你这时候高抛了就低吸不回来了

16. 反身性失败(Reflexivity)模型被使用 → 改变市场 → 模型失效

(1)最近量化都知道首板盈亏比高,但是大的主力庄家就利用你去买首板,从而首板之后第二天开始往下砸

 

你是否能在噪音数据里给出可信结论

1. 多信号交叉使用。

缠中说禅说的,设计三个独立的系统,成交量,k线,以及别的什么

2. 不求准确,只求统计优势

3. 给结论加上可信区间。

你不能说明天一定会涨 2%”,但可以说:在过去 3 年里,这个信号出现时,平均涨 0.3%,95% 的概率在 -0.1%~0.7%之间。

posted @ 2026-01-27 09:00  冰冻的寒风  阅读(157)  评论(0)    收藏  举报