学习路径
按顺序读,约 9 周最新文章
动量因子的三种构造方式,哪一种在 A 股还有效
同一个想法用收益率排序、残差动量和路径调整动量分别实现,回测差异比想象中大得多。
px.pct_change(20).rank(pct=True)
复权、停牌与退市:把行情数据洗干净的清单
六个最常见的数据陷阱,以及每一个对应的检查代码。跑完这份清单再开始建模。
df.groupby('code').ffill(limit=5)
用 cvxpy 做带约束的权重优化
行业暴露、单票上限、换手预算写成约束条件,比事后截断干净得多。
cp.Problem(cp.Maximize(mu @ w))
回撤控制到底该放在信号层还是仓位层
两种做法在同一份历史上的对比,以及为什么波动率目标法更容易过拟合。
vol_target / rolling_vol
把回测成本模型校准到真实成交回报
从券商流水反推冲击成本系数,让回测和实盘的差距落在可解释范围。
slippage = k * (q / adv)**0.6
IC、IR 与分组单调性:因子体检的最小集合
三个指标各自会漏掉什么,配一张能直接复用的评估函数。
ic = f.corrwith(ret.shift(-1), axis=1)
用 Parquet 存分钟线:分区、压缩与读取速度实测
按日期分区还是按标的分区,zstd 还是 snappy,一份 3 亿行分钟线上的实测对比。
pq.write_to_dataset(tbl, partition_cols=['date'])
波动率目标法的三个陷阱,以及怎么把它调稳
估计窗口、杠杆上限和调仓频率,任何一个没设好都会让它在极端行情里放大亏损。
w * (target_vol / ewm_vol).clip(upper=2)
TWAP 与 VWAP 之外:把执行拆成时间片和价格带
固定节奏的算法在流动性突变时最吃亏,加一层价格带条件能省下不少滑点。
child = base * (1 + beta * (vwap - px) / spread)
该分类下暂时还没有文章。
每周一封 · 一个可复现的策略
回测结果、参数敏感性、失效原因,附 notebook 下载。不谈暴富,只谈方法。