第四章:经典量化策略集锦(第十篇:动量类多因子之择时中选股 )

本文介绍了动量类多因子选股策略,结合光大证券研报,详细阐述了如何利用8个动量因子在沪深300成分股中进行择时选股。策略包括计算因子超额收益,因子标准化,以及择时模块,旨在挑选出具有强势动量的股票。代码示例展示了如何在MindGo量化交易平台实现该策略,包括数据获取、因子计算和股票选择等步骤。
摘要由CSDN通过智能技术生成
导语:作为策略集锦压轴篇,向大家介绍完整的多因子选股策略,结合了光大证券多因子选 


股研报,希望能在多因子研究模块,给大家打好坚实基础。 






一、策略阐述 






动量因子 






       动量与反转效应是市场上经常出现的一种情况。所谓动量效应就是在前一段时间强势的 


股票,在未来一段时间继续保持强势;反转效应就是前一段时间弱的股票,未来一段时间会 


变强。但问题的关健是这个强势和弱势会保持多长时间和多大幅度,这是动量、反转策略需 


要考虑的关健问题。  






    衡量市场、个股的动量效应,需要运用动量因子。以下是光大证券-多因子研究系列(五) : 


动量类因子测试研报中对于动量类因子的定义。 






    本篇内容选取 PM_1M 、PM_3M 、PM_6M 、PM_9M 、PM_12M 、PM_12MC6M 、 


PM_12MC1M 、PM_6MC1M 这 8 个动量因子,向大家讲述动量因子选股策略。 






动量多因子选股 






    第一步:以沪深300 指数成分股为股票池,计算股票池内个股上月的8 个动量因子。 






    第二步:计算上个月8 个动量因子的超额收益数值,作为本期因子权重值。公式:上月 


因子超额收益= 因子值前10%的个股上月收益率-因子值后 10%的个股上月收益率。 






    第三步:删除上月无超额收益的动量因子,如果数量超过 4 个,则本月不再选股,定义 


为市场当前无明显动量,空仓避险。(择时模块) 




----------------------- Page 125-----------------------


    第四步:计算出本月个股本月的8 个动量因子,进行因子标准化处理,每个因子乘以上 


月因子超额收益值,并求和,最终值即为动量 alpha 值。 






    第五步:按alpha 值挑选出前20 只股票作为持仓。 






    注:标准化公式:因子标准值=( 因子值-所有个股的因子平均值)/所有个股的因子标准差 






动量多因子选股注意点 






    1.A 股市场历来以反转市著称,因此简单的通过动量选股在很大程度上是违背市场主流 


的,因此我们在第三步中,特意加入了动量因子择时模块,事先对市场的动量效应进行简单 


检测,随后选股操作。 






    2.考虑到动量类因子中,各因子的值差异严重,因子需要做标准化处理,更好的体现出 


每个因子的权重。 






    3.计算出因子超额收益后,需剔除无超额收益的上月动量因子,以更好体现有效因子的 


价值。 






     以下为策略实现的基本信息: 


    策略实现难度:5 


    实现过程中所需要用到的API 函数,ps:通过 MindGo 量化交易平台 API 文档快速掌握: 






需要用到的API 函数            功能 






initialize()           初始化函数 






before_trading_start() 定时运行函数,每个交易 日9.00 运行 






handle_data()          定时运行函数,按交易 日或按分钟运行 






set_benchmark()        设置基准指数 






history                获取多只股票多属性的历史行情数据  




----------------------- Page 126-----------------------


二、代码示意图 






三、编写释义 






    动量类多因子选股的核心部分是计算因子超额收益,标准化后求出最终alpha 值,建议 


初学者前往研究环境操作。 






    当期因子值和当期因子权重计算完毕后需整理成一个DataFrame 格式,该部分操作需要 


同学们熟悉DataFrame 的常用操作,以下是作者实现动量类因子选股策略过程,研究环境的 


代码草稿,分享给同学们。 






#=============== 以沪深300 为股票池,除去 ST 和停牌=====   


def stock(date):   


    stk=list(get_ind
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值