导语:作为策略集锦压轴篇,向大家介绍完整的多因子选股策略,结合了光大证券多因子选
股研报,希望能在多因子研究模块,给大家打好坚实基础。
一、策略阐述
动量因子
动量与反转效应是市场上经常出现的一种情况。所谓动量效应就是在前一段时间强势的
股票,在未来一段时间继续保持强势;反转效应就是前一段时间弱的股票,未来一段时间会
变强。但问题的关健是这个强势和弱势会保持多长时间和多大幅度,这是动量、反转策略需
要考虑的关健问题。
衡量市场、个股的动量效应,需要运用动量因子。以下是光大证券-多因子研究系列(五) :
动量类因子测试研报中对于动量类因子的定义。
本篇内容选取 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
股研报,希望能在多因子研究模块,给大家打好坚实基础。
一、策略阐述
动量因子
动量与反转效应是市场上经常出现的一种情况。所谓动量效应就是在前一段时间强势的
股票,在未来一段时间继续保持强势;反转效应就是前一段时间弱的股票,未来一段时间会
变强。但问题的关健是这个强势和弱势会保持多长时间和多大幅度,这是动量、反转策略需
要考虑的关健问题。
衡量市场、个股的动量效应,需要运用动量因子。以下是光大证券-多因子研究系列(五) :
动量类因子测试研报中对于动量类因子的定义。
本篇内容选取 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