多因子模型水平测试题 – Python量化投资

多因子模型水平测试题

作者:李腾
链接:https://zhuanlan.zhihu.com/p/20343666
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

本试题由李腾、陈烨、邓岳、@陈志岗 整理,欢迎补充!

1 试卷说明

测试目标:多因子模型是量化股票组合投资领域的基本工具,介绍性的资料很多。但学习这些资料之后,甚至一些老手也很难判断自己掌握到什么程度,或是在哪些方面有所缺失。因此,我们几位从业者合力整理了这份多因子模型水平测试题。以问题的方式激发思考,希望能够给从业者提供一个深度学习多因子模型的参考方向。列表中的很多问题我们也不知道最好的答案是什么,提示仅供参考。

题目说明:多因子模型假设大量股票的未来收益率中的可预测部分由少数几个因子决定。由于同时影响大量股票,所以这些因子被称为共同因子。只影响单只或少数几只股票的特异因子,不在本试题的讨论范围内。多因子模型可用于收益预测、风险预测和业绩归因。业内对三种用途的多因子模型是否应具有统一的因子组并无定论。因此下面题目中很多问题,如无特殊说明,请针对三种用途分别作答。本试题侧重于多因子模型本身的理论和实践,因此对组合构建/优化、交易技术、历史回测技术等低相关主题不做深入探讨。

 

2 试题

因子

  1. A股市场驱动因子能分为哪几大类?【按信息源分:技术、基本面、情绪等】
  2. 常见的因子类别?【行业、技术、基本面、分析师预测、大数据】
  3. 除了最常用的回归法,还有没有其他方法可以进行单因子测试?各自优劣是什么?注:下面问题均针对回归法。【如果用分组法,可以看到非线性的关系】
  4. 单因子测试是否需要纠正版块、市值偏离等问题?如何纠正?【在版块偏离方面,可以设置行业虚拟变量。在市值偏离方面,可以取因子对市值回归的残差,但这种处理不一定有必要?】
  5. 行业归属因子是否应选择动态变化的数据?【是,否则在回归过程中用到未来信息】
  6. 混业经营的上市公司,其行业因子有哪些处理方式?利弊?
  7. 行业因子采用GICS、证监会、申万、中信等第三方数据更好?还是利用相关性、聚类分析等算法来动态确定更好?各自利弊?
  8. 规模因子(Size,也叫市值因子)为什么在中国具有如此重大的影响?选择长期暴露小盘股有哪些利弊?
  9. 市值因子应该怎么取?取市值本身、市值对数、市值平方根有什么区别,哪种更好?你认为流通市值和市值哪个信号更强?
  10. 换手率应该怎么计算?如遇长时间停牌,如何处理?
  11. 若某一因子包含长期平均数据(比如5年平均净利润),而中间有数据缺失的片段(比如最近5年中有2年的年报缺失),应该如何处理?现有两种参考方法:设为空值,或取现有数据的平均值充作长期均值。哪种更好?还是无所谓?
  12. 财务数据应该在哪个时点进行更新?比如月频的多因子模型,年报公布时间可能为3月或4月,是在3月底的时候即时更新那些已出的数据,还是在4月底统一更新使用?【有先有后,随时公布随时更新,或许更有时效性】
  13. 有哪些指标可以用来衡量单因子测试的结果?【t绝对值均值,|t|>2占比,t序列方差,beta均值,beta方差等】
  14. 依据单因子测试结果,如何对因子的有效程度进行排序?或者说,如何用单一指标衡量因子有效性?【参考:abs(mean(t))/std(t),也许有更优解】
  15. 所谓的“alpha因子”和“风险因子”,应该怎么进行区分?
  16. 你理解中有效且有逻辑的因子应该包括哪些?有逻辑但效果较差的因子应该包括哪些?如果采用某种方法组合出一个古怪的因子解释力很强,但是看不出因子的经济意义,你该怎么办?
  17. 如何打磨旧的因子,提高其有效性?
  18. 构建因子的新信息源如何寻找?有哪些思路?
  19. 现在常用的因子都是易于量化的因子,对于基本面因子、事件驱动因子、市场情绪因子等不易量化的因子,有无合适的处理方法?

模型拟合

  1. 拟合多因子模型的综合目标是什么?
  2. 如何选择样本空间?例如对初上市股票、ST股票、指数成分股变动、停牌股票等异常情况的处理方法。
  3. 如何选取因子组?有什么可以参考的经典理论?【提示:Barra USE3 Handbook】
  4. 从选择因子到多因子策略回测,一般有哪几个环节?哪些可以省去,哪些不能?【单因子测试(似乎可以省略),合并因子(貌似不能省略,因为不合并相似因子无法消除共线性),预测个股收益率、成本、跟踪误差等,再进行约束优化问题求解】
  5. 每一期的因子暴露度,如果不进行离群值、缺失值以及标准化处理,会有什么后果?如果选择进行处理,又会带来哪些需要注意的模型扭曲?
  6. 离群值处理方法有那几种?一种比较常用的办法是将离开均值N倍标准差距离以外的离群值拉回N倍标准差的位置上,这时候N一般取值多少?【离群值处理还可以用中位数去极值等办法,对题干所述方法,有把N取成2,2.5,3,5的,也许可以通过理论+实践验证一下哪种取值更好】
  7. 缺失值的处理方法有哪几种?现提供三种参考方式:一是把空置设为NaN,回归涉及NaN项时用程序自动忽略;二是把所有含NaN项的个股从当期票池中剔除;三是把所有NaN(在标准化后)设为零(或中位数)。它们有什么区别?哪种好?或者有没有更好的?
  8. 标准化的方法有哪些?标准化后数据近似呈现何种分布规律?各种标准化方法的利弊?【除了减去均值、再除以标准差,还可以取排序序数等】
  9. 带权重的标准化,权重怎么设置?是否需要和回归时的个股权重保持一致?
  10. 标准化、离群值处理、缺失值处理,三个环节如何确立先后顺序?
  11. 因子之间或多或少具有一些相关性,若把所有因子进行正交化处理,会发生什么情况?这样做或不这样做的理由是什么?
  12. 如何选择截面回归的频率?依据是什么?
  13. 回归模型涉及的个股收益率怎么计算?最简单的(又能保证一定精确度的)方法是什么?【可以用复权收盘价。精确结果应该是利用市场价格和分股、配股等影响收益的因素结合计算】
  14. 回归模型是否需要加入截距项(即常数项)?在什么情况下可以取,什么情况下不能取?【有行业因子时不能加入截距项,因为行业因子之和为全1向量,再加截距项就会导致回归系数不唯一确定】
  15. 回归时用OLS和WLS的区别在哪里?使用WLS的依据是什么?【Barra文档里提到两点:一是市场更关注那些流通市值更大的股票;二是对消除异方差有帮助,并且支出sqrt(流通市值)是对异方差的一个较好的估计,可以用作回归权重】
  16. 如何评估或衡量多因子模型的效果?
  17. 如何判断现有因子是否足够解释收益率?【R^2可以辅助判断,也许有更好的标准?】
  18. 中国股票市场多因子模型的R^2通常在什么量级?
  19. 为了提高R^2,尽可能多地加入各种因子,会导致什么问题?
  20. 如果一个因子与现有因子组均低相关,而且能够显著提高R^2,那么什么样的理由可能会使我们选择不加入这个因子?【因子收益率不稳定】
  21. 对于回归法因子测试,能否直接用不同截面的数据叠加在一起进行回归(即面板回归)?可能产生的后果是什么?【牛熊市数据可能分层了,掩盖真正的规律】
  22. 进行多元回归时,如何检验共线性、异方差问题?如何解决?
  23. 无风险资产在各个市场应该如何选择?中国市场有哪些选择?各自的利弊(例如历史长度、数据完整性、代表性等)?
  24. 计算beta值的基准(benchmark)如何选择?不同选择对整个模型影响有哪些方面?
  25. 似乎研究者已经惯于用线性模型来解释收益率,为什么不用更复杂的模型?(或者已经存在什么非线性的结果?)
  26. 拟合多因子模型时,数据挖掘问题有多严重?怎样降低过拟合的程度?

收益预测

  1. 在多因子回归中,预测的目标是什么?收益率?对行业的超额收益率?对市场的超额收益率?还是其他的?
  2. 用于收益预测的多因子模型,在拟合时应侧重考虑哪些方面?
  3. 因子收益率如何预测?有哪些方法?是否有必要进行因子择时? 国外的文献对这方面的研究成果如何?
  4. 构建选股模型时,通常会对许多因子进行降维、合并,这样做的主要意义是什么?【国信、中信的多因子报告里都有相关介绍】
  5. 对将要合并的几个因子,如何分配它们的权重?请对静态、动态赋值各一例,它们各自的优劣是什么?【提示:静态比如简单平均,动态比如IC加权平均,参见安信或中信多因子报告。简单平均的好处是逻辑简洁便于计算,动态平均能更多地利用市场信息】
  6. 已知过去若干期的(合并后)因子暴露度,根据以上测试结果,如何预测下期收益率?
  7. 用IC(横截面相关性)衡量预测有效性有什么缺陷?
  8. 未来1日收益率预测的IC通常在什么水平?未来1月的呢?不同时间尺度之间是否有固定的转换关系?
  9. 预测时间尺度如何选择?未来1天、1周、1月、3月还是更长?【看你拥有的信息/因子在哪个时间尺度上最有效】
  10. 如何将多因子模型的预测与其它预测(例如定性研究对少数股票的预测)整合?【Black-Litterman模型】

风险预测

  1. 用于风险预测的多因子模型,在拟合时应侧重考虑哪些方面?
  2. 是否有必要预测收益的波动率?如何预测收益的波动率?是否要在优化中使用波动率?
  3. 多因子模型预测出的协方差矩阵是否会有发生高度接近奇异的情况?
  4. 设我们称风险预测模型中的因子为“风险因子”,称收益预测模型中的因子为“alpha因子”。如果一个alpha因子也入选了风险因子,会对组合优化结果产生什么影响?如果在风险模型中特意剔除所有alpha因子,会对组合优化结果产生什么影响?
  5. BARRA的多因子风险预测模型主要在哪些细节上做了精细处理?
  6. BARRA在不同市场上的多因子风险预测模型之间的细微差异,反映了各个市场的哪些特点?
  7. 用日数据vs用月数据估计协方差矩阵,各适用于什么需求?用日内(例如分钟级)数据来估计协方差阵的好处与坏处是什么?
  8. 怎样衡量或评估风险预测模型的有效性?

业绩归因

  1. 用于业绩归因的多因子模型,在拟合时应侧重考虑哪些方面?
  2. 有人认为,与用于预测的多因子模型相比,用于业绩归因的多因子模型,对因子之间的低共线性要求更高,请解释可能的原因?
  3. 业绩归因将组合收益分解为若干个因子上的收益和一个特异收益。一位有技术的定性投资经理(基于实地调研和对某些行业、公司的洞察力)的归因结果应该是什么样子?一位利用多因子模型量化选股的投资经理的归因结果应该是什么样子?
  4. 在对一个已知策略逻辑大体思路的投资组合进行业绩归因时,采用标准的因子组vs采用针对性的因子组各有什么利弊?【采用标准因子组便于与其它组合横比;采用针对性因子组便于与自身策略逻辑纵比】
  5. 多因子业绩归因系统输出的结果中,特异收益(specific return,即不可被因子解释的收益)如果显著地偏正或偏负,怎样解释?怎样调试归因系统来消除偏离?
  6. 纯多头组合业绩归因时,以总头寸或者主动头寸(=总头寸-基准头寸)为分析对象,各有什么利弊?
  7. 如果不知道组合持股明细,只知道组合每日收益率,怎样对它进行多因子业绩归因?误差会放大多少?
  8. 多因子业绩归因模型怎样与Brinson业绩归因模型整合使用?

组合构建

  1. 利用多因子模型进行选股,求解每期股票权重的问题本质上是一个带约束的最优化问题,请阐述优化目标和约束条件各是什么?
  2. 组合优化有哪些常见方法?各要注意什么问题?
  3. 股票组合中个股权重上限的设计有什么技巧?大约应设置在什么范围?【个股权重不能太大,否则只会集中买入每个行业预期收益最高的股票;也不能太小,否则可能出现某个行业内所有股票都持仓至上限也无法达到行业中性。参考值:2%~3%,应根据实际情况调整取值】
  4. 是否要根据个股的交易量来限制个股权重的上限?
  5. 如何预估市场冲击?
  6. 是否可以(大概)控制每个版块的持仓个股数?如何做?【参考方法:股权重上限为它所处行业在沪深300(或其他基准)中占比除以希望持仓的个股数】
  7. 建立选股模型时,如何控制行业中性、市值中性(或其他条件)?
  8. 建立选股模型时,如何处理交易成本、股票停牌等问题?如何计买入、卖出价?
  9. 纯多头约束对组合构建的影响不止是少了一半的获利机会,这句话怎样理解?
  10. 纯多头股票组合策略应选择怎样的指数作为基准?沪深300、中证500、中证800?各有什么利弊?
  11. 应该每日调整头寸,还是更低的频率,例如每月,抑或每次财报集中发布之后?
  12. 多因子模型回测过程中,是否应对个股特别设立平仓与开仓条件(即对多因子的结果进行修正)?如何做?

实盘

  1. 新策略从提出到开发,再到上线的流程中,历史回测(back-test)、实时模拟(paper-trading)和实盘交易(real-money)的关键差异何在,各自的优劣何在?
  2. 如何检测你的模型是否已经失效? 模型因子是否需要定期重选?
  3. 实盘中一个历史回测、实时模拟业绩都很好的策略发生了异常回撤,问题可能出在什么地方?应急预案是什么?
  4. 如何设计数据库表结构来记录实盘交易流水和每日资产明细?
  5. 在实盘交易中,模型给出的交易指令常常不能被精确地执行,如何评估其影响?

数据

  1. 基本信息、行情、基本面等基础数据库的表结构应该怎样设计?出于怎样的考虑?
  2. 选择Mysql、SQL及其它数据库管理系统的利弊?
  3. 常见的数据来源有哪些,数据提供商有哪些,各有哪些优劣?
  4. 用网页抓取生成的数据源的利弊?
  5. 如何支持多数据源?
  6. 每个数据具有三个关键日期,数据日期、公告日期、录入日期。对于不同类型的数据项,上述三个关键日期之间的时滞情况不同,请对不同情况分别举例。数据库应怎样设计以全息保存三种关键日期,并使历史回测结果更加逼真?
  7. 行业分类数据选用哪家的好?
  8. 发现一只股票的某个财务数据异常,怎样找到真值?
  9. 如何记录基础数据的勘误历史?
  10. 怎么进行数据清洗?拥有哪些异常行为的股票应该列入黑名单?

程序

  1. 分析程序用MATLAB、Python、R、C++等语言各自的利弊?哪种背景和需求的人应该选择哪种语言?
  2. 10年历史回测,数据量大约是多少,运算量大约是多少?怎样的内存不会溢出?
  3. 面向过程的架构vs面向对象架构来实现多因子模型各有什么利弊?

综合

  1. 股票市场是否存在alpha,怎样验证?
  2. 传统的基本面投资方法与多因子模型都是为了得到股票组合,他们的异同是什么?
  3. 多因子回归模型与CAPM理论和APT理论的关系是什么?
  4. 一般的选股模型可以达到多少年化收益率和夏普比率?
  5. 在多因子模型的构造过程中,最核心的一个环节是什么?【我认为是预测收益率,也许有人认为是风险(跟踪误差)控制】
  6. 不同交易频率的组合投资策略——日内(高频、中频、低频)、日频、中期、长期,其对应的多因子模型有哪些不同?
  7. 为什么同样的策略,不同的执行者之间会存在无法抹去的误差(为什么你无法复制另一个人的研究报告成果)?
  8. 一般来说,多因子模型对数据敏感性很强,那么它的结果还有参考意义吗?
  9. 多因子模型作为一个如此成熟的策略,为什么还有前仆后继的研究者?
  10. 基于多因子模型的策略收益没有吸引力,从业者众多,是夕阳产业吗?年轻人学习多因子模型是否值得?
  11. 机器学习、人工智能的工具可以应用到多因子模型的哪些地方?

 

3 评分标准

市场上,达到“训练有素”级别的人已经为数不多,通常为大型投资研究机构入行5年以上的从业者;“专家”级别的人更少,仅凭资历以不能达到,还需要“天赋+勤奋+际遇”,少数机构投研核心1-2位;“大师”级别的人在全球范围屈指可数。

 

文章转载自知乎专栏:科学投资

饥饿鲨:进化下载
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论