【量化入门】如何用Python计算股票的N日动量因子?
发布时间:23小时前阅读:7
动量因子是量化选股里最基础的因子之一,逻辑是"过去涨得多的股票,未来一段时间内继续涨的可能性更高"。N日动量的计算公式非常简单:当前收盘价除以N天前的收盘价减1,得到的就是过去N天的累计收益率,这个值就是动量因子的原始值。
用xtdata实现:先调用get_market_data获取一批股票的日线收盘价,返回的DataFrame里行是股票、列是时间,通过pct_change(N)计算N期变化率,或者直接用iloc[:, -1] / iloc[:, -N-1] - 1计算过去N天的收益率,得到每只股票的动量得分,再对这个得分排名,选出动量最高的前K只股票作为多头组合。
需要注意的是,原始动量因子在实践中有几个已知问题:一周以内的短期动量往往有均值回归效应,不能直接用;动量因子在大盘急速下跌时会失效,持续下跌的股票动量最低但未必会继续跌。实际使用时通常用20日或者60日以上的动量,并且结合其他因子(比如波动率过滤)来提高稳健性,单纯用裸动量效果有限,这是量化选股需要深入研究的地方。
量化因子开发、xtdata数据应用,开户找我,免费用完整量化环境。以上内容仅供投资者教育参考,不构成任何投资建议,入市有风险,投资需谨慎。
温馨提示:投资有风险,选择需谨慎。


问一问

+微信
分享该文章
