(转)多因子模型水平测试题

多因子模型水平测试题
李腾 · 11 个月前
本试题由李腾、陈烨、邓岳、@陈志岗 整理,欢迎补充!

出处: https://zhuanlan.zhihu.com/p/20343666

1 试卷说明

测试目标:多因子模型是量化股票组合投资领域的基本工具,介绍性的资料很多。但学习这些资料之后,甚至一些老手也很难判断自己掌握到什么程度,或是在哪些方面有所缺失。因此,我们几位从业者合力整理了这份多因子模型水平测试题。以问题的方式激发思考,希望能够给从业者提供一个深度学习多因子模型的参考方向。列表中的很多问题我们也不知道最好的答案是什么,提示仅供参考。
题目说明:多因子模型假设大量股票的未来收益率中的可预测部分由少数几个因子决定。由于同时影响大量股票,所以这些因子被称为共同因子。只影响单只或少数几只股票的特异因子,不在本试题的讨论范围内。多因子模型可用于收益预测、风险预测和业绩归因。业内对三种用途的多因子模型是否应具有统一的因子组并无定论。因此下面题目中很多问题,如无特殊说明,请针对三种用途分别作答。本试题侧重于多因子模型本身的理论和实践,因此对组合构建/优化、交易技术、历史回测技术等低相关主题不做深入探讨。

2 试题

因子
A股市场驱动因子能分为哪几大类?【按信息源分:技术、基本面、情绪等】

常见的因子类别?【行业、技术、基本面、分析师预测、大数据】

除了最常用的回归法,还有没有其他方法可以进行单因子测试?各自优劣是什么?注:下面问题均针对回归法。【如果用分组法,可以看到非线性的关系】

单因子测试是否需要纠正版块、市值偏离等问题?如何纠正?【在版块偏离方面,可以设置行业虚拟变量。在市值偏离方面,可以取因子对市值回归的残差,但这种处理不一定有必要?】

行业归属因子是否应选择动态变化的数据?【是,否则在回归过程中用到未来信息】

混业经营的上市公司,其行业因子有哪些处理方式?利弊?

行业因子采用GICS、证监会、申万、中信等第三方数据更好?还是利用相关性、聚类分析等算法来动态确定更好?各自利弊?

规模因子(Size,也叫市值因子)为什么在中国具有如此重大的影响?选择长期暴露小盘股有哪些利弊?

市值因子应该怎么取?取市值本身、市值对数、市值平方根有什么区别,哪种更好?你认为流通市值和市值哪个信号更强?

换手率应该怎么计算?如遇长时间停牌,如何处理?

若某一因子包含长期平均数据(比如5年平均净利润),而中间有数据缺失的片段(比如最近5年中有2年的年报缺失),应该如何处理?现有两种参考方法:设为空值,或取现有数据的平均值充作长期均值。哪种更好?还是无所谓?

财务数据应该在哪个时点进行更新?比如月频的多因子模型,年报公布时间可能为3月或4月,是在3月底的时候即时更新那些已出的数据,还是在4月底统一更新使用?【有先有后,随时公布随时更新,或许更有时效性】

有哪些指标可以用来衡量单因子测试的结果?【t绝对值均值,|t|>2占比,t序列方差,beta均值,beta方差等】

依据单因子测试结果,如何对因子的有效程度进行排序?或者说,如何用单一指标衡量因子有效性?【参考:abs(mean(t))/std(t),也许有更优解】

所谓的“alpha因子”和“风险因子”,应该怎么进行区分?

你理解中有效且有逻辑的因子应该包括哪些?有逻辑但效果较差的因子应该包括哪些?如果采用某种方法组合出一个古怪的因子解释力很强,但是看不出因子的经济意义,你该怎么办?

如何打磨旧的因子,提高其有效性?

构建因子的新信息源如何寻找?有哪些思路?

现在常用的因子都是易于量化的因子,对于基本面因子、事件驱动因子、市场情绪因子等不易量化的因子,有无合适的处理方法?

模型拟合

拟合多因子模型的综合目标是什么?

如何选择样本空间?例如对初上市股票、ST股票、指数成分股变动、停牌股票等异常情况的处理方法。

如何选取因子组?有什么可以参考的经典理论?【提示:Barra USE3 Handbook】

从选择因子到多因子策略回测,一般有哪几个环节?哪些可以省去,哪些不能?【单因子测试(似乎可以省略),合并因子(貌似不能省略,因为不合并相似因子无法消除共线性),预测个股收益率、成本、跟踪误差等,再进行约束优化问题求解】

每一期的因子暴露度,如果不进行离群值、缺失值以及标准化处理,会有什么后果?如果选择进行处理,又会带来哪些需要注意的模型扭曲?

离群值处理方法有那几种?一种比较常用的办法是将离开均值N倍标准差距离以外的离群值拉回N倍标准差的位置上,这时候N一般取值多少?【离群值处理还可以用中位数去极值等办法,对题干所述方法,有把N取成2,2.5,3,5的,也许可以通过理论+实践验证一下哪种取值更好】

缺失值的处理方法有哪几种?现提供三种参考方式:一是把空置设为NaN,回归涉及NaN项时用程序自动忽略;二是把所有含NaN项的个股从当期票池中剔除;三是把所有NaN(在标准化后)设为零(或中位数)。它们有什么区别?哪种好?或者有没有更好的?

标准化的方法有哪些?标准化后数据近似呈现何种分布规律?各种标准化方法的利弊?【除了减去均值、再除以标准差,还可以取排序序数等】

带权重的标准化,权重怎么设置?是否需要和回归时的个股权重保持一致?

标准化、离群值处理、缺失值处理,三个环节如何确立先后顺序?
因子之间或多或少具有一些相关性,若把所有因子进行正交化处理,会发生什么情况?这样做或不这样做的理由是什么?

如何选择截面回归的频率?依据是什么?

回归模型涉及的个股收益率怎么计算?最简单的(又能保证一定精确度的)方法是什么?【可以用复权收盘价。精确结果应该是利用市场价格和分股、配股等影响收益的因素结合计算】

回归模型是否需要加入截距项(即常数项)?在什么情况下可以取,什么情况下不能取?【有行业因子时不能加入截距项,因为行业因子之和为全1向量,再加截距项就会导致回归系数不唯一确定】
回归时用OLS和WLS的区别在哪里?使用WLS的依据是什么?

【Barra文档里提到两点:一是市场更关注那些流通市值更大的股票;二是对消除异方差有帮助,并且支出sqrt(流通市值)是对异方差的一个较好的估计,可以用作回归权重】

如何评估或衡量多因子模型的效果?

如何判断现有因子是否足够解释收益率?【R^2可以辅助判断,也许有更好的标准?】

中国股票市场多因子模型的R^2通常在什么量级?

为了提高R^2,尽可能多地加入各种因子,会导致什么问题?

如果一个因子与现有因子组均低相关,而且能够显著提高R^2,那么什么样的理由可能会使我们选择不加入这个因子?【因子收益率不稳定】

对于回归法因子测试,能否直接用不同截面的数据叠加在一起进行回归(即面板回归)?可能产生的后果是什么?【牛熊市数据可能分层了,掩盖真正的规律】

进行多元回归时,如何检验共线性、异方差问题?如何解决?

无风险资产在各个市场应该如何选择?中国市场有哪些选择?各自的利弊(例如历史长度、数据完整性、代表性等)?

计算beta值的基准(benchmark)如何选择?不同选择对整个模型影响有哪些方面?

似乎研究者已经惯于用线性模型来解释收益率,为什么不用更复杂的模型?(或者已经存在什么非线性的结果?)

拟合多因子模型时,数据挖掘问题有多严重?怎样降低过拟合的程度?

收益预测

在多因子回归中,预测的目标是什么?收益率?对行业的超额收益率?对市场的超额收益率?还是其他的?

用于收益预测的多因子模型,在拟合时应侧重考虑哪些方面?

因子收益率如何预测?有哪些方法?是否有必要进行因子择时? 国外的文献对这方面的研究成果如何?

构建选股模型时,通常会对许多因子进行降维、合并,这样做的主要意义是什么?【国信、中信的多因子报告里都有相关介绍】

对将要合并的几个因子,如何分配它们的权重?请对静态、动态赋值各一例,它们各自的优劣是什么?【提示:静态比如简单平均,动态比如IC加权平均,参见安信或中信多因子报告。简单平均的好处是逻辑简洁便于计算,动态平均能更多地利用市场信息】

已知过去若干期的(合并后)因子暴露度,根据以上测试结果,如何预测下期收益率?

用IC(横截面相关性)衡量预测有效性有什么缺陷?

未来1日收益率预测的IC通常在什么水平?未来1月的呢?不同时间尺度之间是否有固定的转换关系?

预测时间尺度如何选择?未来1天、1周、1月、3月还是更长?【看你拥有的信息/因子在哪个时间尺度上最有效】

如何将多因子模型的预测与其它预测(例如定性研究对少数股票的预测)整合?【Black-Litterman模型】

风险预测

用于风险预测的多因子模型,在拟合时应侧重考虑哪些方面?

是否有必要预测收益的波动率?如何预测收益的波动率?是否要在优化中使用波动率?

多因子模型预测出的协方差矩阵是否会有发生高度接近奇异的情况?

设我们称风险预测模型中的因子为“风险因子”,称收益预测模型中的因子为“alpha因子”。如果一个alpha因子也入选了风险因子,会对组合优化结果产生什么影响?如果在风险模型中特意剔除所有alpha因子,会对组合优化结果产生什么影响?

BARRA的多因子风险预测模型主要在哪些细节上做了精细处理?

BARRA在不同市场上的多因子风险预测模型之间的细微差异,反映了各个市场的哪些特点?

用日数据vs用月数据估计协方差矩阵,各适用于什么需求?用日内(例如分钟级)数据来估计协方差阵的好处与坏处是什么?

怎样衡量或评估风险预测模型的有效性?

业绩归因

用于业绩归因的多因子模型,在拟合时应侧重考虑哪些方面?

有人认为,与用于预测的多因子模型相比,用于业绩归因的多因子模型,对因子之间的低共线性要求更高,请解释可能的原因?

业绩归因将组合收益分解为若干个因子上的收益和一个特异收益。
一位有技术的定性投资经理(基于实地调研和对某些行业、公司的洞察力)的归因结果应该是什么样子?一位利用多因子模型量化选股的投资经理的归因结果应该是什么样子?

在对一个已知策略逻辑大体思路的投资组合进行业绩归因时,采用标准的因子组vs采用针对性的因子组各有什么利弊?【采用标准因子组便于与其它组合横比;采用针对性因子组便于与自身策略逻辑纵比】

多因子业绩归因系统输出的结果中,特异收益(specific return,即不可被因子解释的收益)如果显著地偏正或偏负,怎样解释?怎样调试归因系统来消除偏离?

纯多头组合业绩归因时,以总头寸或者主动头寸(=总头寸-基准头寸)为分析对象,各有什么利弊?

如果不知道组合持股明细,只知道组合每日收益率,怎样对它进行多因子业绩归因?误差会放大多少?

多因子业绩归因模型怎样与Brinson业绩归因模型整合使用?

组合构建

利用多因子模型进行选股,求解每期股票权重的问题本质上是一个带约束的最优化问题,请阐述优化目标和约束条件各是什么?

组合优化有哪些常见方法?各要注意什么问题?

股票组合中个股权重上限的设计有什么技巧?大约应设置在什么范围?【个股权重不能太大,否则只会集中买入每个行业预期收益最高的股票;也不能太小,否则可能出现某个行业内所有股票都持仓至上限也无法达到行业中性。参考值:2%~3%,应根据实际情况调整取值】

是否要根据个股的交易量来限制个股权重的上限?

如何预估市场冲击?

是否可以(大概)控制每个版块的持仓个股数?如何做?【参考方法:股权重上限为它所处行业在沪深300(或其他基准)中占比除以希望持仓的个股数】

建立选股模型时,如何控制行业中性、市值中性(或其他条件)?

建立选股模型时,如何处理交易成本、股票停牌等问题?如何计买入、卖出价?

纯多头约束对组合构建的影响不止是少了一半的获利机会,这句话怎样理解?

纯多头股票组合策略应选择怎样的指数作为基准?沪深300、中证500、中证800?各有什么利弊?

应该每日调整头寸,还是更低的频率,例如每月,抑或每次财报集中发布之后?

多因子模型回测过程中,是否应对个股特别设立平仓与开仓条件(即对多因子的结果进行修正)?如何做?

实盘

新策略从提出到开发,再到上线的流程中,历史回测(back-test)、实时模拟(paper-trading)和实盘交易(real-money)的关键差异何在,各自的优劣何在?

如何检测你的模型是否已经失效? 模型因子是否需要定期重选?
实盘中一个历史回测、实时模拟业绩都很好的策略发生了异常回撤,问题可能出在什么地方?应急预案是什么?

如何设计数据库表结构来记录实盘交易流水和每日资产明细?

在实盘交易中,模型给出的交易指令常常不能被精确地执行,如何评估其影响?

数据

基本信息、行情、基本面等基础数据库的表结构应该怎样设计?出于怎样的考虑?

选择Mysql、SQL及其它数据库管理系统的利弊?

常见的数据来源有哪些,数据提供商有哪些,各有哪些优劣?
用网页抓取生成的数据源的利弊?

如何支持多数据源?

每个数据具有三个关键日期,数据日期、公告日期、录入日期。对于不同类型的数据项,上述三个关键日期之间的时滞情况不同,请对不同情况分别举例。数据库应怎样设计以全息保存三种关键日期,并使历史回测结果更加逼真?

行业分类数据选用哪家的好?

发现一只股票的某个财务数据异常,怎样找到真值?

如何记录基础数据的勘误历史?

怎么进行数据清洗?拥有哪些异常行为的股票应该列入黑名单?

程序

分析程序用MATLAB、Python、R、C++等语言各自的利弊?哪种背景和需求的人应该选择哪种语言?

10年历史回测,数据量大约是多少,运算量大约是多少?怎样的内存不会溢出?

面向过程的架构vs面向对象架构来实现多因子模型各有什么利弊?

综合

股票市场是否存在alpha,怎样验证?

传统的基本面投资方法与多因子模型都是为了得到股票组合,他们的异同是什么?

多因子回归模型与CAPM理论和APT理论的关系是什么?

一般的选股模型可以达到多少年化收益率和夏普比率?

在多因子模型的构造过程中,最核心的一个环节是什么?【我认为是预测收益率,也许有人认为是风险(跟踪误差)控制】

不同交易频率的组合投资策略——日内(高频、中频、低频)、日频、中期、长期,其对应的多因子模型有哪些不同?

为什么同样的策略,不同的执行者之间会存在无法抹去的误差(为什么你无法复制另一个人的研究报告成果)?

一般来说,多因子模型对数据敏感性很强,那么它的结果还有参考意义吗?

多因子模型作为一个如此成熟的策略,为什么还有前仆后继的研究者?

基于多因子模型的策略收益没有吸引力,从业者众多,是夕阳产业吗?年轻人学习多因子模型是否值得?

机器学习、人工智能的工具可以应用到多因子模型的哪些地方?

3 评分标准

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

欢迎大家关注我的微信公众号
「科学投资」:kexuetouzi


多因子模型水平测试题试答(因子部分)

https://zhuanlan.zhihu.com/p/22823948
江嘉键 · 6 天前
前一段时间,李腾、陈烨、邓岳、陈志岗几位老师在知乎上发布了一份多因子模型的测试题,其中囊括了多因子建模过程中大部分需要考虑的理论和实践问题:
多因子模型水平测试题 - 科学投资 - 知乎专栏
在过去几个月时间,米筐科技(RiceQuant)量化策略团队对这套经久不衰的量化模型进行了系统研究,相关的产品项目也即将发布。我打算通过回答这份测试题的形式,分享这个过程中获得一些经验和想法。由于题目众多,在这里先对测试题的第一部分的问题进行试答,希望对大家有所帮助。

***** 多因子模型测试题回答开始 *****

问题2: 常见的因子类别?

答:我个人倾向于以下简单的分类方式:量价因子、基本面因子和外部响应因子。
量价因子包含一些简单的指标,例如成交量、换手率和日内最高/最低价等;有一些量价因子则较为复杂,例如一些技术分析因子和数据挖掘得到的统计因子;
基本面因子通常是一些反映企业经营状况(市盈率、负债率等)和经营特征(行业因子)的变量。其包括来自于企业自身公布的报表,也可以是其它专业机构发布的一致预期预测(Consensus Forecast)。
外部响应因子则取决于交易选择的证券池。例如如果一个机构是只做股票类证券的交易,那么和债券市场相关的指标对他们而言就是外部响应因子;如果一个机构是做全球资产配置,涉及多个市场和不同类型的证券,那么像某些国家和地区的通胀率、GDP等,对这个机构来说才是外部响应因子。

问题1: A股市场驱动因子能分为哪几大类?

答:因子分类同问题2。
以上三类因子应用于A股市场各自存在优缺点:
量价因子通常对行情变化非常敏感,能够有效捕捉市场的趋势,但简单因子因为广为人知,其影响早已体现在证券价格中(有效市场理论);一部分技术分析因子由于流传甚广,可能存在一定的自我实现效应,但同样地,其影响可能已体现在证券价格中;而另一部分技术分析的描述接近于玄学,存在一定的模糊性;通过数据挖掘获得的,意义不明的统计因子容易出现多重比较谬误(multiple comparison fallacy)的问题。
基本面因子通常被做长期资产配置或者信奉价值投资理念的投资者采用。而在应用中过程中,存在以下困难:1 基本面因子数据获得时间点不统一(取决于企业发布报表的时间和机构发布预测的时间);2 相比量价因子,其数据噪声大、缺失值多,数据质量取决于审计机构的专业性和企业的诚信程度;3 因子取值的分布通常远远偏离正态分布,对于离群值的判断不能用标准差这个常用的统计量; 4 一致预期的数据采集难度较大。
外部响应因子在某些情况下有很强的解释力,但在建模过程中,由于不同因子的量纲千差万别,通常要先估计其响应系数,因此会引起变量误差(error-in-variables)的问题,另外,部分外部响应因子来源于政府发布的数据,其可能存在采样质量差,而且数据被人工删改等问题。

问题3: 除了最常用的回归法,还有没有其他方法可以进行单因子测试?各自优劣是什么?

答:在不使用回归的前提下,如果我们希望测试单因子对于预期收益率的预测能力:
1 直接计算其信息系数(Information Coefficient,IC),并应用精炼预测公式(refined forecast)进一步预测其效果;
2 构建因子对应的投资组合,其构建方法可以简单也可以复杂,例如选择不同的证券池和不同的中性化处理方法,计算其累计收益率;
3 如果希望捕捉非线性关系,也可以考虑使用距离相关系数(distance correlation)或者最大信息系数(Maximum Information Coefficient)等统计量。但任何非线性关系的分析和应用都存在过拟合的风险。
在不使用回归的前提下,如果我们希望测试该因子是否适合于风险预测模型:
可以计算该因子的自相关系数、和模型其它因子的共线性程度、和基准组合的相关程度等。

问题4:单因子测试是否需要纠正版块、市值偏离等问题?如何纠正?
答:对于收益预测而言,是否需要纠正取决于你对该因子的判断。如果你认为该因子对于行业的预期收益率没有预测能力,就应该实现行业中性,反之不应该实现行业中性;市值偏离是否需要纠正亦是同理。
对于基于净值的业绩归因而言,中性化处理是必须的。市场和市值和影响力很大,不进行中性化处理的话,因子之间的共线性会导致系数估计的方差变大。

问题5:行业归属因子是否应选择动态变化的数据?

答:应该。答案如几位老师所言,不使用动态数据会出现使用未来数据的问题。

问题6:混业经营的上市公司,其行业因子有哪些处理方式?利弊?
答:对于混业经营的上市公司,其行业因子不能简单使用取值为 0 或 1 的哑变量(dummy variable)来表示。此时对行业因子暴露度的处理有两个思路:
1 继续使用哑变量代表行业因子,而虚拟变量的权重可以直接使用等权重,或通过一些财务数据分析来确定;
2 不再使用哑变量,而使用连续变量表示行业因子。其暴露度可以通过该上市公司的收益率对行业收益率做多元回归决定。
第 1 种方法受数据噪音干扰减少,但可能存在欠拟合(underfitting);第 2 种方法受数据噪音干扰较大,可能存在过拟合的问题。而且选择什么变量进行回归存在主观性。

问题7:行业因子采用GICS、证监会、申万、中信等第三方数据更好?还是利用相关性、聚类分析等算法来动态确定更好?各自利弊?
答:就其使用而言,行业因子一般都是模型中风险控制的维度。它的选择应当符合市场上大部分投资者的认知。我个人的观点是,用复杂统计分析或机器学习来构建行业因子一来没有必要,二来由于引入额外的数据和分析步骤,模型的误差也会随之增加。

问题8:规模因子(Size,也叫市值因子)为什么在中国具有如此重大的影响?选择长期暴露小盘股有哪些利弊?

答:就一般而言,中国A股市场的四个特点导致小盘股更受青睐,市值因子影响巨大:
1 证券市场不规范,内幕交易盛行。部分机构投资者(所谓庄家)和公司股东存在不当的合作关系,利用小盘股股价易于操纵的特点获利;
2 相比成熟的证券市场,中国股票市场个人投资者比例偏高,个人投资者而且对股票市场的认识不成熟,希望通过投资股价变化更快的小盘股短时间内获利;
3 大盘股对应的通常为大型国有企业,其分红意愿不强,投资者难以通过价值投资的方式获得收益;
4 此外,《主动投资组合管理》的一个理论分析和模拟给出了一个很有意思的角度:如果做空个股受限,只能通过基准组合实现对冲的话,阿尔法对冲策略的优化结果通常是在小盘股上持有正头寸,而在大盘股上持有负头寸。这个结论也适用于A股市场。

问题9:市值因子应该怎么取?取市值本身、市值对数、市值平方根有什么区别,哪种更好?你认为流通市值和市值哪个信号更强?
答:取市值平方根计算或市值对数,会减少个股之间市值暴露度的差距。具体哪一种因子计算方式更好,流通市值还是市值哪一个更好,可以通过因子测试验证。就直觉而言,流通市值是一个更能精确地反映股票市值变化的变量,效果可能更好。

问题10:换手率应该怎么计算?如遇长时间停牌,如何处理?
答:换手率一般定义为 交易量/流通股本。由于换手率一般是衡量股票流动性的指标,所以根据多因子模型的调整频率,可以用周换手率、月换手率或年换手率作为指标或者流动性因子。
对于长时间停牌的股票,我个人认可的处理方法是剔除该股票。因为停牌通常意味着有重大消息要发布,其复牌后的收益出现异常波动的可能性较大。这种消息面因素导致的特异收益 (specific return) 通常是无法被多因子模型解释的,所以会给模型的参数估计带来额外噪音。

问题11:若某一因子包含长期平均数据(比如5年平均净利润),而中间有数据缺失的片段(比如最近5年中有2年的年报缺失),应该如何处理?现有两种参考方法:设为空值,或取现有数据的平均值充作长期均值。哪种更好?还是无所谓?

答:作为例子,假设我们在处理一个盈利因子,其第2,3年的数据缺失,考虑三种情况:1 存在缺失值的企业盈利线性增加;存在缺失值的企业盈利线性减少;存在缺失值的股票经营情况来回波动。
如果企业盈利线性增加,剔除缺失值再取平均会导致盈利因子暴露度被高估;
如果企业盈利线性减少,剔除缺失值再取平均会导致盈利因子暴露度被低估;
如果在5年时间区间内企业盈利大幅波动,剔除缺失值再取平均对盈利因子暴露度的暴露度误差的影响无法估计。
对于缺失值的处理没有一劳永逸的方法。其合适的处理方式依赖于数据特点、缺失情况(个别缺失还是大段缺失)、我们计算的目标是什么,等等。因此必须要对具体的问题和数据仔细斟酌,才能找到相对合适的处理方法。

问题12:财务数据应该在哪个时点进行更新?比如月频的多因子模型,年报公布时间可能为 3 月或 4 月,是在3月底的时候即时更新那些已出的数据,还是在4月底统一更新使用?

答:在用历史数据对基本面因子取值进行计算的时候,我们应当保证因子所包含的信息和当时市场上投资者获得的信息一致。对于题目中的例子,如果企业是在 3 月份公布年报,则这些股票的因子暴露度应当在 3 月底进行更新;对于没有公布年报的企业,因子暴露度则维持原来的取值。

问题13:有哪些指标可以用来衡量单因子测试的结果?

答:如果希望判断但因子的预测能力,最常见的基本指标是信息率(Information Ratio, IR)。一些业绩评价的常用指标,例如夏普比率,最大回撤等也可以用于单因子效果判断。

问题14:依据单因子测试结果,如何对因子的有效程度进行排序?或者说,如何用单一指标衡量因子有效性?

答:用问题13的指标对因子进行排序则可。在排序的时候,更常见的方法是采用多个股票池对因子进行多次测试 —— 橘生淮南则为橘,生于淮北则为枳。

问题15:所谓的 “alpha因子” 和 “风险因子”,应该怎么进行区分?

答:alpha 因子通常是对特定证券的预期收益率有预测能力的因子;而风险因子通常是投资者认为他们的信息或者策略对于该维度没有预测能力,并希望实现中性化处理的因子 (先验),或对投资组合的风险存在显著边际贡献的因子 (后验)。由此可见,一个因子是 alpha 因子还是风险因子,部分取决于投资者的信息和经验—— 此之蜜糖,彼之砒霜。

问题16:你理解中有效且有逻辑的因子应该包括哪些?有逻辑但效果较差的因子应该包括哪些?如果采用某种方法组合出一个古怪的因子解释力很强,但是看不出因子的经济意义,你该怎么办?

答:如果我知道有效又有逻辑的因子,那当然不能告诉你了;有逻辑但效果差的话,可能是因为该因子的效应已经体现在证券价格中(有效市场理论)。对于表达式非常复杂难解的因子,可通过计算其对特征组合的暴露度来判断其经济学意义。

问题17:如何打磨旧的因子,提高其有效性?

答:一个思路是,把旧因子和新因子进行组合。在旧因子的预测能力未完全衰减至0,且和新因子存在相关性的前提下,旧因子可以增强新因子的预测能力,或者对冲其风险。

问题18:构建因子的新信息源如何寻找?有哪些思路?

答:略。

问题19:现在常用的因子都是易于量化的因子,对于基本面因子、事件驱动因子、市场情绪因子等不易量化的因子,有无合适的处理方法?

答:在我看来,这些因子不难量化,尽管量化的方式可能因人而异。

问题20:本专栏的上一篇文章封面人物是谁?

答:迷糊的乙姬睦美和机智的小蛋。
***** 多因子模型测试题回答结束 *****

多因子模型水平测试题试答(风险预测部分)
https://zhuanlan.zhihu.com/p/22914595?refer=jjscience

江嘉键 · 1 天前
前一段时间,李腾、陈烨、邓岳、陈志岗几位老师在知乎上发布了一份多因子模型的测试题,其中囊括了多因子建模过程中大部分需要考虑的理论和实践问题:
多因子模型水平测试题 - 科学投资 - 知乎专栏
在过去几个月时间,米筐科技(RiceQuant)量化策略团队对这套经久不衰的量化模型进行了系统研究。由于我们一贯追求完美的工匠精神,相关的产品项目好像还需要一段时间才能发布。。。可这又有什么关系呢?毕竟等待过的东西才是最好的——如美酒,如家书,如高中教室窗外的顾盼倩影。
在数日前,我对测试题的因子部分进行了试答:
多因子模型水平测试题试答(因子部分) - 机器学习 & 金融量化分析 - 知乎专栏
下面,我继续对风险预测部分分享一些自己的想法。
本期嘉宾:流川枫。

******* 多因子模型测试题回答开始 *******

1 用于风险预测的多因子模型,在拟合时应侧重考虑哪些方面?

答:这里假定题目中所说的 “拟合” 是 Barra 的结构化风险模型的回归系数估计步骤,那么:
1 仔细检查离群值,剔除错误或不合理的离群值,把合理的,但在三个标准差以外的离群值拉回到三个标准差;
2 用市值平方根近似股票的特异波动率,对股票进行加权。一方面减轻残差异方差性的影响,另一方面保证在所有风险暴露相同的组合之中,因子组合是风险最小的组合 。
详细可见 Barra 发布的 USE4 (The Barra US Equity Model)或 CNE5(Barra China Equity Model)研究报告。

2 是否有必要预测收益的波动率?如何预测收益的波动率?是否要在优化中使用波动率?

答:第一个和第三个就不说了,第二个问题比较奇怪。

在使用多因子模型对资产风险进行预测时,我们一般使用 Rosenberg (Barra创始人)1974 年提出的建模思路,先估计因子收益的协方差矩阵,再预测组合收益的协方差矩阵。

如果直接对资产组合收益的波动率建模,由于多期的资产收益波动率通常是一个自相关性不稳定的非平稳时间序列,使用多因子模型进行时间序列回归的话,残差时间序列也可能是非平稳的。因此会造成以下问题:

1 最小二乘法不再是最优线性无偏估计(Best Linear Unbiased Estimation,BLUE),需要采用广义最小二乘法(Generalized Least Square, GLS)进行回归系数估计;

2 残差自相关性导致一些基于残差分析的绩效指标和统计量(信息率和T统计量)不再适用。

因此,如果希望对资产组合的波动率直接进行预测,一般会使用 Garch 模型等时间序列模型。不过广义来说,时间序列模型和多因子模型具有相同的数学形式。如果把自回归项、移动平均项和长期均值视为因子,那么 Garch 模型也可以认为是一个多因子模型。但必须注意的是,Garch 的参数估计方法是极大似然估计(Maximum Likelihood Estimation)而不是回归模型常用的最小二乘法。

3 多因子模型预测出的协方差矩阵是否会有发生高度接近奇异的情况?

答:有可能。如果因子收益的协方差矩阵是奇异矩阵,则估计出来的资产收益协方差矩阵也可能是奇异的。所以一般要通过特定的处理,例如矩阵收缩(matrix shrinkage)等对因子协方差矩阵进行降噪。USE4 给出的模型主要改进就是协方差矩阵的降噪处理。

4 设我们称风险预测模型中的因子为“风险因子”,称收益预测模型中的因子为“alpha因子”。如果一个alpha因子也入选了风险因子,会对组合优化结果产生什么影响?如果在风险模型中特意剔除所有alpha因子,会对组合优化结果产生什么影响?

答:如果一个 alpha 因子进入了风险结构化模型,且在组合优化时对其进行了中性化处理,那么该 alpha 因子理论上不会产生收益。
组合优化中,哪些因子是阿尔法因子,哪些是风险因子,取决于测试结果和投资者本身对于该因子的理解。就一般而言,对越多因子进行中性化处理,资产组合的风险就越低,同时预期收益也会越低;反之风险和预期收益都会增加。

5 BARRA的多因子风险预测模型主要在哪些细节上做了精细处理?

答:我已经把 USE4 和 CNE5 背下来了。没有任何细节再让我感觉到精细了。

6 BARRA在不同市场上的多因子风险预测模型之间的细微差异,反映了各个市场的哪些特点?

答:对比 USE4 和 CNE5 的话,USE4 中的因子组比 CNE5 多出了两个:Dividend Yield 和Non-Linear Beta。
对于 Barra 的因子取舍问题,我也存有疑问。从直觉而言,Dividend Yield 在美国市场的的影响力大于中国市场是可以理解的。但从 USE4 给出的统计检验结果来看,Dividend Yield 在美国市场的显著性并不高(T统计量绝对值的均值为 1.37),在所有因子中排名倒数第二。因此在效果不佳的前提下,为什么在 USE4 保留而 在CNE5 中舍弃呢?我个人推测如下:
1 CNE5 的模型(2012年发布)比 USE4的模型 (2011年发布)更为领先,Barra 发现该因子在中国市场效果同样不佳,予以舍弃;
2 Dividend Yield 在美国长期使用,为了保证模型作为商业化产品的稳定性,没有放弃该因子,而在中国市场没有类似的顾虑;
3 美国的投资者非常关注组合对于 Dividend Yield 的暴露情况,因此作为后面中性化处理的重要维度予以保留,而中国的投资者并不太关心组合对于Dividend Yield 的暴露情况。
Non-Linear Beta 因子是一个数学或者物理意义上设计非常精巧的因子。第一次看到该因子的构建方式时,我有一种 “哇,好漂亮的思路!”的感觉。但我一直不能理解这个因子对应的投资逻辑。
依据这个因子的数学形式和 Barra 的解释,该因子对应一个 “barbell portfolio”,其思路是做空高贝塔值股票和低贝塔值股票,同时做多贝塔值处于中间的股票。也就是说,其投资思路是贝塔值高和贝塔值低的股票有类似的走势,而贝塔值处于中间的股票有相反的走势。
高贝塔值意味着该股票和市场整体走势大致相同,而低贝塔值意味着该股票和市场走势相关性不大,这两类型股票走势相近的合理解释是什么?我其实也不能理解。

7 用日数据vs用月数据估计协方差矩阵,各适用于什么需求?用日内(例如分钟级)数据来估计协方差阵的好处与坏处是什么?

答:由于这是一套多因子模型的测试题,因此问题的语境应该限定为 “用多因子模型进行风险预测” ,而不应该是讨论其它协方差矩阵的估计方法(例如单因素模型或者历史协方差矩阵)。如果使用分钟级别的数据,所选的因子必须有一致的时间尺度——这意味不能使用任何基本面因子,而只能使用量价因子。用一套量价因子来做收益预测是完全可行的,但我个人认为,仅仅使用量价因子做风险分解和预测未必妥当。
下面我们仅仅比较月频率和日频率的数据使用:
理论上,Barra 的结构化模型中,相当部分的风险因子都是基本面因子,其时间尺度较大,因此每月计算一次因子收益即可。
但在对因子收益的经验协方差矩阵(empirical covariance matrix)进行估计时,我们会面临以下的两难问题:
1 假定我们的模型中包含20个因子,那么我们至少需要 21 个月的数据。而对于政策变化频繁,投资理念不成熟的中国A股市场,21个月的时间已经足够让市场发生结构性的变化,从而使协方差矩阵的估计失去意义;
2 如果用日频率的因子收益计算,则其中包含的噪音相对较多,而且在得到日频率的因子收益协方差矩阵以后,我们对其进行时间尺度的转换,而且需要对其噪音进行严格控制。

8 怎样衡量或评估风险预测模型的有效性?

答:对于因子的有效性,USE 4 主要提到以下标准:
1 选用的因子组应该能够有效把系统性风险分解出来——即特异收益率没有相关性。特异收益率没有相关性也是结构化风险模型的假设之一;
2 在有效分解系统性风险的前提下,因子数目越少越好(parsimony),降低模型过拟合的可能性;
3 持续的统计显著性。对于具体某个因子,我们可以通过多期回归得到一组因子T统计量,如果这组T统计量的绝对值的均值大于2,或者在该组T统计量中,其绝对值大于2的比例较高,则认为该因子有很好的效果;
4 因子暴露度的稳定性。理论上,结构化风险模型更新频率是每月一次,因此因子暴露度时间尺度应该与之一致;
5 因子的共线性。因子之间存在共线性会导致回归系数的估计方差变大,因此在因子选择时应尽量避免出现共线性问题。
6 因子的经济学意义符合直觉。因子意义容易理解,一方面是模型质量的要求;另一方面,在组合优化的时候,我们需要根据自己的理解选择中性化约束。如果因子的意义难于理解,是否有必要对其进行中性化处理自然也无从判断。
除此以外,USE4中,也给出了因子的年化收益率、年化波动率、年化夏普率等指标。但我个人认为,如果以风险预测为目标,这些指标并不是必要的。
对于整个模型的有效性检验,USE4 提到以下标准:
1 可决系数(coefficient of determination),也就是我们常说的 R^2;
2 Bias Statistics ,这个测试的思路和我们开发策略常用的信息系数类似,是比较模型的预测和实际情况的差距;而基于 Bias Statistics 的 Mean Rolling Absolute Deviation(MRAD)会提供更多关于模型精度的信息。

你可能感兴趣的:((转)多因子模型水平测试题)