金融市场的时间序列与横截面分析#
什么有效
本章(以及稍后在第 17 章中)的目的是展示我们运用数学辅助投资的众多不同方式的一个采样。一个关键目标是诱使读者去探索那些能在竞争激烈、人满为患的领域中带来优势的新颖应用,而不是依赖陈旧的技术和被过度分析的资产。
传统上,关于量化方法的讨论会从分类学(taxonomy)开始:统计(statistical)与机器学习(machine learning),监督(supervised)与无监督(unsupervised)与强化(reinforcement),等等。我们的目标既不是综述所有方法,也不是聚焦于方法的理论和技术。相反,我们阐明其中的挑战以及过往解决它们的一些尝试。
量化分析与投资一直相互交织。定性分析(qualitative analysis)可以很强大——许多杰出的分析师从事定性工作。但定性分析也可能成为缺乏纪律性思维的合理化借口。定量分析与定性分析的差异在于:
程度(Degree)。 分析师对投资概念明确而清晰定义的理解,
对那种理解的表达(Expression),体现为一个精确的、可操作的(最好可外推的)想法,以及
向自己和他人精确描述它的熟练度(Proficiency),例如借助一个可重复、可学习且可扩展的流程或公式。
技术专家的刻板印象是一个对经济直觉理解欠佳、但操纵数字技能卓越的宽客(quant)。天才牛仔(genius-cowboy)的刻板印象则是一位自信的分析师,具有一种直觉的、不可教授的投资天赋,最好通过学徒制来习得。这些刻板印象中的真相在于:许多技术人员对领域知识不感兴趣,而一些投资者则没有花时间去学习数学的清晰与精确。
定性投资可能被视为更专注于特定事件并利用关键机会,而定量投资则依赖于将规则应用于大样本。定性分析师常常受限于人类无法同时关注少数几个以上的机会,而定量分析师则可能因其无法在不压垮技术或金融理解的情况下充分详细地描述机会而受限。
计算能力的演进已使机器能够如此快速而不懈地工作,以至于它们可以组合并重复许多简单的想法,从而超越一些最聪慧的人类内省。量化金融分析受到许多考虑因素的负担,这些因素使更通用的方法失效,并要求:
针对问题的**新颖(Novel)**且特定的解决方案。
对更好理解的解决方案的改造(Adaptations),通常需要妥协和不完美。
带有警示的^1^或刻意忽略的**标准(Standard)**解决方案,如普通最小二乘法(ordinary least squares,OLS)。这些方法通常被充分理解,考虑到估计误差表现良好,但可能功效不足。
我们不是按照方法的历史或技术相似性来一般性地组织它们,而是按照它们的使用方式来对量化方法进行分类。本章将讨论:
数据收集与处理(Data gathering and manipulation),包括寻找数据:经济时间序列(economic time series)、市场数据、非结构化数据(unstructured data)、行为数据(behavioral data)、对数据的机制性和结构性调整,以及创建合成数据(synthetic data)
策略、目标与条件(Strategy, objectives, and conditions),主要关注响应
模型的谱系包括:
规则(Rules),如移动平均(moving averages)和追踪止损(trailing stop-losses)
统计模型(Statistical models),如普通最小二乘法(OLS)
计量经济模型(Econometric models),可能施加某种理论偏见,如某些向量自回归(vector autoregressive,VAR)模型
**经典机器学习(Classic machine learning,ML)**模型,包括*监督(supervised)模型(如最小绝对收缩与选择算子 least absolute shrinkage and selection operator,LASSO),通常用于预测值;以及无监督(unsupervised)*模型(如谱聚类 spectral clustering),可以帮助揭示和解释更多未预期到的关系
复杂的 ML 模型,如深度学习(deep learning),包括长短期记忆网络(long short-term memory,LSTM),以及可以处理更复杂或未预期关系的强化学习(reinforcement learning)
没有免费的午餐(No free lunch)。 没有免费午餐定理(no free lunch theorem,NFL)^2^ 表明任何一种量化方法都不具有支配地位
模型的问题#
一般而言,模型受制于许多妥协和不完美。例如,一个常见的问题是过拟合(overfitting),它可能源于回归(regressions)、梯度提升(gradient boosting)、人工神经网络(artificial neural networks,ANN)和线性判别分析(linear discriminant analysis,LDA)。支持向量机(support vector machines,SVM)、树(trees)和 k 近邻(k-nearest neighbors,KNN)在样本外(out-of-sample)更为可靠。机器学习相对于许多传统统计学的一个优势在于,它系统地努力检测和控制过拟合。一些例子:
回归可以变得更加简洁。
树可以限制深度和叶子数量,并对每个分支施加最小叶子数。*随机森林(Random forests)*专为对抗过拟合而设计。*提升树(Boosted trees)*可以限制树的数量、学习率、叶子数量、惩罚和其他约束。
神经网络可以纳入惩罚和丢弃(dropouts)、降低学习率,并施加其他约束。
过拟合是几乎所有模型的关键担忧,而 ML 模型由于能够在噪声中发现模式,比大多数模型更容易过拟合。许多其他问题也会导致妥协和不完美。优秀的数据科学家对陷阱一丝不苟,并在性能与数据和算法的局限性之间取得平衡。一些更常见的妥协涉及以下方面。
偏差(稳定性)与方差(拟合度)。 偏差(bias,包括正则化造成的偏差)与方差(variance)呈反向关系。由于经济学家通常对经济机制和探索反事实(counterfactuals)的兴趣大于模型的拟合度,他们常常构建结构性模型(structural models),如动态随机一般均衡模型(dynamic stochastic general equilibrium models,DSGE)。一些将精妙的推理和总体良好的性能隐藏在一个简单公式之中的知名模型,尽管有局限性却仍具影响力,例如用于联邦基金利率的泰勒规则(Taylor Rule)。
**交叉验证(Cross-validation,CV)**是 ML 的一个有机要素,但与统计学家的因果性概念相悖,因为它反复从单个样本中抽取以建立样本外性能。CV 假设独立同分布(independent and identically distributed,IID)的随机变量。由于时间序列的序列相关性(serial correlation)造成的信息泄露(information leakage)也可能使 CV 失效。
大数据与众多特征。 许多方法,无论高方差还是高偏差技术,都能处理大型数据集,包括 ANN、树、梯度提升、分类与回归树(classification and regression trees,CART)和 LDA。一些回归、SVM 和 KNN 在特征过多时会有困难。
可解释性、可说明性与公平性(Interpretability, explainability, and fairness)。 线性模型、决策树、许多类型的回归、CART、KNN、LDA 和广义可加模型(generalized additive models,GAM)是相对直接的技术。其他模型,如 ANN 和 SVM,可以从事前分析中受益,使用的方法包括部分依赖图(partial dependence plots)、Shapley 可加解释(Shapley additive explanations,SHAP;用博弈论评估模型在操作点附近的边际贡献)、局部可解释的模型不可知解释(local interpretable model-agnostic explanation,LIME;用线性近似替代复杂模型)、个体条件期望(individual conditional expectation)、遮挡敏感性(occlusion sensitivity)或 grad-CAM。对于大多数量化投资流程,在做出高风险决策(这些决策在被做出时并不总是可识别为高风险的)时运用常识性的经济直觉并关注估计误差,是一种方向正确的风险(right-way risk),可以与管理人和投资者等利益相关者建立善意和韧性。
**不确定性(Uncertainty)**是许多随机方法的有机要素,例如 ANN 使用随机梯度下降(stochastic gradient descent,SGD)来优化权重。这些方法可能对初始化权重敏感。关于这些权重的随机性和不确定性可能令人不安,因此可以使用预测区间(prediction intervals,PI)、随机微分方程神经网络(stochastic differential equation neural network,SDE-net)、DeepEnsemble 和 MC Dropout 等方法。
**低效(Inefficiency)**可能使一个原本优秀的算法过于繁重而无法使用。一些模型(如序列学习网络)收敛缓慢就是一个例子。一些技术可以并行化,而另一些则不能。技术可以为旧技术注入活力并使其更快。Aho、Weinberger 和 Kernighan(AWK)、全局正则表达式打印(Global Regular Expression Print,GREP)和流编辑器(Stream Editor,SED)的历久弥新,证明了设计良好、没有许多现代实现那种臃肿的解决方案的持久生命力。
静态模型、再训练、持续学习与迁移学习(Static models, retraining, continuous learning, and transfer learning)。 再训练的频率以及在无偏差情况下系统化和回测模型的能力,是性能不确定性的重要来源。传统的静态模型按计划再训练、触发再训练或临时再训练,而持续学习模型则根据关于环境变化和响应有效性的反馈自动进行再训练。
**交互效应(Interaction effects)**在额外的、未指定的变量可能影响预测时显现。交互图的标志性交叉模式是识别交互的一种方法,但变量之间的相关性则不是。部分依赖图和累积局部效应图是常用的工具。我们在第 6 章中讨论了处理交互的有效方法。可以应用于数据交互的搜索算法和其他较少为人知的可加模型包括用于回归的多变量自适应回归样条(multivariate adaptive regression splines,MARS)和用于分类的灵活判别分析(flexible discriminant analysis,FDA)。局部可解释的模型不可知解释(LIME)和树技术也被使用。一种常用的技术是扰动(perturbate)预测变量并观察预测的边际变化。对抗性技术(adversarial techniques)试图识别会产生错误预测的预测变量。聚类分析(cluster analysis)可用于将代表数据集的原型(prototypes)与代表少数派数据的批评(criticisms)分离开来。
失败者的游戏(Loser's game)。 量化投资既是"胜利者的游戏",也是"失败者的游戏"。^3^ 除了寻找一个能在费用之后持续跑赢市场的投资策略这一艰难任务(技能和运气造就胜利者)之外,还有大量几乎无法完全回避的微小错误(能力和勤勉防止失败者),其中任何一个都可能使一个好策略失败。
**训练负担(Training burden)**可能使一个模型难以处理、训练太慢而无法频繁进行,并且不适合*在线(online)*使用。预训练的、迁移学习的和简化的模型可用于时间敏感的应用(如高频交易,其中可以使用分段线性近似来代替复杂的曲线)。不那么复杂的回归模型、KNN、LDA 和 CART 训练可能很快。复杂模型通常需要更多时间。SVM 虽然相对简单,但训练缓慢。
脆弱性与敏感性(Fragility and sensitivity)。 高方差模型可能因过拟合而脆弱,而高偏差模型在应用于错误的体制时可能脆弱。在确定因子的范围和重要性以及模型对一般性或在操作点附近微小变化的敏感性时,*扰动与重要性采样(perturbation and importance sampling)可能很有帮助。可解释性、依赖性和重要性方法可以使用,简单的敏感性(sensitivity)*研究也可以,例如使用关键利率久期(key-rate duration)来测试固定收益投资对各种零利率的敏感性。
观测的稀缺性(Scarcity of observations)。 如果能够识别引起暴利或灾难性失败的条件将会很有用,但可悲的事实是这些事件很罕见,因此难以训练。在试图识别一个少数派类别时,算法通常会被过多的噪声所困惑而无法发现信号。如果没有适当的训练,带有少数派类别的算法通常会将所有事件标记为多数派类别,忽略极端标签。相反的问题(异常值扭曲总体统计量)在拟合趋势时很常见。
隐秘的熟悉性(Insidious familiarity)。 尽管领域知识可能是设计有效算法的最重要因素,但它也可能削弱研究者构建一个能在样本外存活的能力。随着研究者变得与某个历史时期亲密无间——或过度受到某个时期(如 2007–2008 年的全球金融危机(Great Financial Crisis))的影响——他们可能不知不觉地被吸引去测试对那些情况的韧性。警惕、文化和深思熟虑的流程有助于防范目光短浅的回溯。"中国墙(Chinese walls)"^4^ 将研究和策略评估团队分隔开来以尽量减少这种偏差,这是常见的做法。
**超参数(Hyperparameters)**可以使一个好算法失效。这就是为什么在比较技术之前调整超参数很重要的原因。^5^ 对最优超参数的随机搜索通常比网格搜索更合适,尤其是在许多超参数创建了一个高度维度的搜索空间时。重采样随机搜索对于 ANN 和梯度提升机(gradient boosting machines,GBM)等模型很有效。贝叶斯优化通常更受青睐,但受起始点影响并可能陷入局部最小值。梯度下降方法增加了第三层抽象,并有其自身的参数,如批量大小(batch size)、学习率(learning rate)、衰减率(decay rate)和均方根(root mean squared,RMS)缩放因子。其他搜索方法也被使用,如遗传优化(genetic optimization)、模拟退火(simulated annealing)和 Nelder-Mead 单纯形(Nelder-Mead simplex)。
预测技术可能既不使用也不暗示因果关系。 预测技术可能只测量倾向,并要求数据科学家和统计学家来确定因果关系。事后叙述(ex post narratives)制造了因果关系的错觉,试图为一个潜在的虚假或脆弱的预测正名。通常,统计学家和经济学家更倾向于使用高偏差模型来处理因果机制,如全球宏观预测。纯统计解决方案很常见,但缺乏同样的稳健性和可信度的认知。因果理论(结构因果模型 structural causal models,SCM)为统计推断提供了一种有吸引力的替代方案,但目前仅限于解决可以用有向无环图(directed acyclic graphs,DAG)表示的问题。
如我们所见,建模可能引入许多机器学习的力量无法简单纠正的复杂情况。在设计我们的模型及其响应时,意识到这些潜在的缺陷是很重要的。
因果模型的关切(Causal Model Concerns)#
因果模型可能在解决机器学习中一个普遍存在的问题方面很有用。算法通常被设计成将一个函数拟合到数据上以进行预测,而不是回答问题并形成对基本事实(ground truth)的无偏估计(unbiased estimate)。计量经济学家往往优先考虑效应而非拟合优度(goodness of fit)。尽管他们可能得到一个充分描述机制的模型,但该模型可能仍然拟合得不好。这在*结构性模型(structural models)中可能是一个关键的缺陷,但在频繁再训练的模型中并不那么重要。适应一般知识的模型,如迁移学习(transfer learning)*技术,可以将预测调整到更微妙的逻辑上。
尽管像自助法(bootstrapping)这样的 ML 技术可以帮助揭示虚假关系,但 ML 技术通常将相同的数据分割用于训练和测试,无法克服一些问题(如估计误差),这些问题会影响两个分区。虽然大多数 ML 模型通过使用更精细的方法和参数而面临过拟合的风险,因果模型可能以更多细节描述机制,并更加稳健。
解决估计误差等问题的一种方法是改变*目标函数(objective function)以补偿数据的同质性,并使用高偏差模型以及估计量和系数的统计特性——边际效应而非总预测。不那么全面的解决方案可以满足于折中措施,例如用降维(dimension reduction)和重要性(importance)技术,以半参数(semiparametric)*模型替代非参数模型。例如,最大似然(maximum likelihood)可用于过滤噪声。许多其他方法也很有前景,如分析残差的残差(residuals-of-residuals)、双重差分(difference-in-difference,DID)和矩阵补全(matrix completion)。
类似地,ML 技术通常专注于风险和消除协变量(covariates),而不是像统计学家使用*随机实验(randomized experiments)和控制协变量(controlling for covariates)*等技术那样识别推断的性质。在许多情况下,因果建模与 ML 的区别在于其过程的彻底性。审视所有可能的假设的能力有助于确保它们是有实质内容的、无混淆的。
虽然统计模型可能需要不合理的假设,但一个不那么正统的 ML 模型可以放宽这些假设。困难在于,这通常需要实验,而设计实验以影响变化可能是不可能的,只能观察自然实验(natural experiments)或工具变量(instrument variables)。例如,孤立地扰动一个协变量或进行补充分析(supplementary analysis)(如药物研究中使用安慰剂)是很有用的。
一旦因果关系确定,干预(interventions)(如思想实验)就可以仅使用模型来执行,而不需要收集更多数据。干预允许轻松而无风险的虚拟实验,有助于克服人类倾向于过度加权结果而非依赖因果关系的偏差。
不变因果预测(invariant causal prediction,ICP)利用了因果关系在条件变化时应当稳定的特性。do 演算(Do-calculus),^6^ 以及在较小程度上的强化学习(reinforcement learning)、遗传规划(genetic programming)和多臂老虎机(multi-armed bandits),可用于在追求反事实(counterfactuals)的过程中探索假设。这类算法必须平衡探索-利用权衡(explore-exploit trade-off)(找到最佳选择,而非最常见的结果)和信用分配问题(credit assignment problem)(以明智的方式识别先前的某个决策是否值得奖励),而不仅仅是最新的行动。
这些分析可以从后续迭代中剔除误导性的数据和关系中受益。复杂的 ML 解决方案可能试图"预测"反事实(如果它们与误差相关)和工具变量(instrumentals)(如果它们不相关),但受维度限制。LASSO 是一种有效但有限的工具,而深度学习在克服 LASSO 预测工具变量的局限性方面已显示出前景。
使用 SCM(也称为功能因果模型 functional causal models)确定结构方程可以分析根因并实时检测故障(*自我修复(self-healing)*模型)。*因果可加模型(Causal additive models,CAM)*可用于生成流程图(自绘图)以及用于资产配置、供应链建模和资本结构分析。
数据收集与处理#
我们已经花了大量时间讨论数据作为我们流程输入的选择、调理和使用。现在我们将深入探讨数据如何影响我们的模型选择和使用,以及这些模型如何表现。
让我们从技能和专业化开始。特定的任务,如数据清洗、特征识别和信号识别,可以由投资组合管理团队执行,也可以抽离出来分配给能够组合这些任务以创建*数据工厂(data factories)*的数据专家。
尽管将数据和特征处理机构化可能损害领域知识,但这一权衡是值得的,因为它带来了更好的可扩展性、技能优势以及职能分离(separation of functions)。将数据团队、特征团队和策略团队分开可以防止常见的错误,例如将特征工程(如高净资产收益率(return on equity,ROE)等信号)与投资策略(如行为启发式等系统性偏差)混为一谈。至关重要的是,将数据研究与策略研究分离有助于将数据阶段(需要非常小心地使用交叉验证等技术以避免过拟合)与策略阶段回测(经常被滥用,很像 p 值操纵 p-hacking)隔离开来。
数据的*来源(source)可以为那些认识到棘手数据并知道如何处理的敏锐分析师提供优势。那些让分析师感觉像在与自己作对一样难以处理的数据,有时被称为"病态(pathological)"数据。能够评估数据中缺口和异常值的有经验分析师可能会揭示有用的信息模式,例如使用自报(self-reported)数据作为由于逆向选择(adverse selection)*所致回报的二元指标。
挫折。 数据来源可能会让缺乏经验的分析师受挫,同时赋予敏锐的分析师宝贵的优势。
人工录入、扫描或手写的数据很常见,且往往充满错误,尤其是自报数据和具有*选择偏差(selection bias)*的数据。抵押贷款申请、新闻报道、社交媒体、产品和服务评论以及搜索词都是人工录入数据的例子,其中可能包含拼写错误、标记不一致、语法糟糕、数字错位以及其他破坏因素。通常,用于训练算法的标签是"手工"生成的,即使特征并非如此,这就是为什么监督学习(supervised learning)可能比无监督学习(unsupervised learning)更昂贵、更困难的原因。*半监督学习(semi-supervised learning)*可用于训练模型以补充缺失的标签。
机构数据(如监管文件、经济数据和许多法律文件)通常是标准化的但稀疏。错误较少见,但估计误差可能产生修订,从而增加了第二个时间维度。
在将低频数据与高频数据组合时,可能会出现频率不匹配(frequency mismatches),例如将经济数据(低频)与市场数据(高频)组合时。这种不匹配可以通过吉布斯采样器(Gibbs sampler)等方法来解决,它可以通过将贝叶斯技术应用于同时期的时间序列来插补不完整的数据。这种方法可以使用在报告日之间收集的数据来产生即时预测(nowcasts),以更新对下一次经济发布的预测。当吉布斯采样器过于难以应用时,Metropolis-Hastings 等技术有时可能是一个有用的替代方案。
静态因子模型(static factor models),如带有桥回归(bridge regression)的主成分分析(principal component analysis,PCA),可用于同期特征;动态因子模型用于滞后;带有对角相关矩阵的精确模型用于相关特征;近似因子模型用于相关性较低的特征。
贝叶斯向量自回归(Bayesian vector autoregressions)和混合数据采样回归(mixed data sampling regressions,MIDAS)在即时预测方面很受欢迎。使用卡尔曼滤波器(Kalman filter)等*状态空间(state-space)*模型也很常见。
机器生成的数据包括大多数市场和交易数据,^7^ 以及大量非结构化或结构奇特的另类数据(alternative data),如来自物联网(internet of things,IoT)、卫星图像、移动数据和元数据的数据。数据量有利于 ML 策略,但速度可能让算法应接不暇——即使是那些被设计为在线使用的算法。我们也许可以通过简化和近似函数形式(如市场冲击曲线的分段线性表示)以及通过基于先前学习构建的迁移学习技术来避免算法过载。旧技术,如周期性模型训练(如隔夜批处理)和使用近似关系(如债券和期权希腊字母 Greeks)在日内更新模型,也很受欢迎。虽然机器生成的数据可能比其他类型具有更低的延迟,但数据生成的速度可能造成一种不应有的舒适感。例如,时间戳通常被错误地记录为数据到达记录器的时间,而不是被记录事件发生的时间。^8^ 其他细节(如时区)在更精心整理的数据中可能显而易见,但在高速和非结构化数据中却被忽视。
精炼数据也可能扭曲数据,因为该过程几乎总会破坏信息。原始数据(Raw data)(例如图像形式的监管文件扫描件)包含在数据库被清洗和处理时被过滤掉的提示和交互,并在多个来源被聚合时变得模糊。随着数据被进一步处理成信号(signals)(如情绪)和其他结果,更多的信息会丢失。
最佳实践要求保留数据历史(data history)和保管链(chain of custody),以允许恢复丢失的信息。这应当包括数据收集技术、*数据字典(data dictionaries)和其他支持文档。数据库通常具有不同数据量和丰富度的纪元(epochs)。例如,旧的 SEC 文件、专利申请和贷款文档可能只能以从纸质打印件扫描的格式获取,而较新的文件可能是高度结构化的,例如以可扩展商业报告语言(eXtensible Business Reporting Language,XBRL)*记录的文件。
机器生成的数据对于未经精炼的使用而言可能过于结构化和晦涩,例如物联网生成的大量数据。*自建与外购(build versus buy)*的决策在此适用。如果资源可用,*汗水资本(sweat equity)*可以产生竞争优势。将现成技术有效地应用于任何有支票的人都可获得的数据,需要更多的技能和运气。随着 ML 技术日益融入主流投资,新颖性将不再吸引资本,而需要结果来证明付出的合理性。
可得性(Availability)。 另一个可能破坏结果的关注领域涉及数据的可得性(availability)、稀疏性(sparseness)和不平衡性(and imbalances)(第 4 章和第 6 章)。在处理不平衡数据(imbalanced data)、*经济数据(economic data)和合成数据(synthetic data)*时,可能会出现分析问题。
例如,在金融机器学习中,当异常值(如巨额盈亏)对于预测利润和管理风险具有意义时,不平衡数据是一个重大问题。对于不是专门为不平衡数据设计的算法,必须调整数据或特征以避免学习偏差。在评估模型时也必须小心,因为准确率(accuracy)等度量会掩盖多数派数据的偏差。其他度量可能效果更好,如受试者工作特征曲线(receiver operating characteristics,ROC)、F 度量(F-measure)和 G 均值(G-mean)。
不平衡的解决方案可以归入几个大类:过采样和欠采样(over- and undersampling)、特征选择(feature selection)以及降维和重要性(dimension reduction and importance)。过采样、欠采样以及两者的组合是最容易采用的解决方案,因为它们可以独立于学习算法。这些解决方案包括聚类和距离方法(如合成少数派过采样技术 synthetic minority oversampling technique [SMOTE]),以及遗传算法、SVM、核自助法(kernel bootstrap)、自组织映射(self-organizing maps)和贝叶斯方法(如吉布斯采样器(Gibbs sampler))。组合方法可以一起使用不同的技术。过度指数化和指数化不足的数据提出了类似的问题,但不是数据或多或少,而是产生了过大或减小的信号。
特征选择方法(feature selection methods),包括过滤器(filters)、包装器(wrappers)和嵌入(embeddings),减少了可能的特征集,并可能涉及误分类惩罚以强调某些类型的错误胜过其他,例如假阳性与假阴性。*过滤(Filter)*特征选择与采样方法一样,是最容易使用的。过滤方法测量诸如方差、概率密度、相关性或其他距离度量等特征特性,可以在机器学习之前使用。
*降维与重要性方法(Dimension reduction and importance methods)*包括 PCA、独立成分分析(independent component analysis,ICA)、奇异值分解(singular value decomposition,SVD)、卡方检验(chi-square tests)、拉普拉斯得分(Laplacian scores)、最小冗余最大相关(minimum-redundancy maximum-relevancy,MRMR)和非负矩阵分解(nonnegative matrix factorization,NMF)。
分类方法可能会有所帮助,包括共识聚类(consensus clustering)或集成聚类(ensemble clustering)。一个常见的区分是在*包装器(wrapper)和嵌入式(embedded)方法之间。包装器方法在训练学习模型时添加或减去特征。包装器方法与学习方法更好地集成,但也可能更难使用,通常涉及顺序(sequential)搜索(如启发式或梯度下降方法)或随机(random)*搜索(如随机选择或遗传方法)。嵌入式方法是学习算法的一部分,是三种方法中集成最紧密的。例子包括高斯过程回归(Gaussian process regression,GPR)、逐步广义线性回归(stepwise Generalized Linear regressions,GLM)和正则化(如 LASSO、弹性网 elastic net 模型),以及集成和提升(boosting)。
**经济数据(Economic data)**通常具有低频率和短时期的特点。像贝叶斯回归这样被充分理解的方法更适合稀疏数据。纳入正则化的方法(如 LASSO 回归)通常用于解决这些问题,以减少相对于数据点数量的因子数量。向量自回归(vector autoregression,VAR)可以同时预测多个时间序列,但仅限于少数几个。
*动态因子模型(Dynamic factor models)*可以用部分数据更新以形成即时预测。这可能是一个重要的考虑因素。例如,经济发布频繁地从政府陆续流出。像 LASSO 这样的方法可能会忽略一些数据,而岭回归(ridge regression)则能够在数据发布时将其纳入。
**合成数据(Synthetic data)**可以允许更科学的模拟,因为数据可以"为目的而设"(fit for purpose,明确为某个情景设计)并且是平衡的(在所有类别中都包含足够的数据)。虽然合成数据可能并不总是现实的,但可以为任何情景设计这种数据。建模者可以说:"如果你不喜欢我的数据,告诉我你认为我们应当建模的条件,我会为你生成它们。"
另一种选择是对多个情景建模,然后忽略较不重要的那些。当训练集被选择或合成数据情景被定义时,选择偏差可能成为一个问题。蒙特卡洛方法(Monte Carlo methods)可以应用于确定性数据(如票息)和随机数据(如价格演化),只需映射一个逆累积概率分布。通常选择被充分理解的分布以减少计算开销。例如,*连接函数(copulas)*通常用于建模联合分布。分位数-分位数图(quantile-quantile,QQ plots)、似然比检验(likelihood ratio tests)、Kolmogorov-Smirnov 距离和 Anderson-Darling 统计量可用于测试所选分布的适用性。用于合成数据创建的重采样方法包括交叉验证(CV)、刀切法(jackknife)、自助法(bootstrap)和子样本(subsample)。
Cholesky 分解可以在保持持仓之间相关性的同时生成模拟,而生成对抗网络(generative adversarial networks,GAN)、竞争性学习方法(如自组织映射、受限玻尔兹曼机 restricted Boltzmann machines,RBM)和卷积 Wasserstein(WGAN)则可以更好地捕捉真实数据的特征,同时限制过拟合。另一种选择是使用参数化蒙特卡洛方法,如体制切换(regime-switching)。
**高维度(High dimensionality)**对模型和数据都可能是一个问题。虽然存在管理和减少大型数据集和高维度的技术,但它们往往导致问题。例如,它们可能会降低可解释性、可说明性和公平性,包括混合模型(mixture models)、随机系数模型(random coefficient models)和分位数回归模型(quantile regression models)。在机器学习之前降低维度(例如用 PCA 映射到较低维度)既方便又简单。不完全自编码器(undercomplete autoencoders)也很有效,其行为类似于非线性 PCA。用 LASSO 等方法对预测变量施加惩罚可以在 ML 算法中纳入降维。树也适合高维学习。
**分布假设和条件性(Distribution assumptions and conditionality)**常常因假设正态性(normality)、平稳性(stationarity)、无自相关性(no autocorrelation)或其他不切实际的简化而导致问题。传统上,为了解决这些问题,必要时会采用高偏差模型。近来,已经出现了不需要这些假设的更好模型。稳健学习(robust learning)也可能有助于解决一些问题。多重共线性(multicollinearity)通常需要降维,但对多重共线性的调整很少有效。
**样本的选择偏差(Selection bias)**可能是一个重大问题。自报的对冲基金和私募股权回报是导致幸存者偏差(survivorship bias)的选择偏差的一个好例子。^9^ 类似的问题可能出现在稀疏标记的数据或不完整的维度中。例如,2007–2008 年全球金融危机(GFC)之前被机器自动签署(robo-signed)的许多抵押贷款申请往往是不完整的。排除不完整表格的分析将偏向于较低的违约率。
**隐私(Privacy)**可能是当数据涉及医学研究中的患者或私人财富分析中的客户等领域信息时的关键因素。这类信息的来源可能包括重大非公开信息(material nonpublic information,MNPI)或个人可识别信息(personally identifiable information,PII)。隐私和保密可以通过多种方式解决,解决方案通常一起使用,包括:
混淆(Obfuscation),涉及通过变换将敏感数据隐藏在显眼之处。
差分隐私(Differential privacy),这是混淆的一种形式,以一种不使信号产生偏差或降级的方式向数据添加随机值,例如使用拉普拉斯机制(Laplace mechanism)。多样化和 k 匿名性(k-anonymity)是差分隐私技术。
同态加密(Homomorphic encryption),允许在不解密的情况下对数据进行操作。
联邦学习(Federated learning),使用去中心化和分布式数据进行协作训练。因此,合作伙伴技术的可及性和可靠性可能是限制因素。联邦学习还可能涉及安全多方计算(secure multiparty computation)。
**可操纵性(Manipulability)**是许多模型的关注点。客户可以操纵信用模型以获得更好的贷款条件。买卖双方可以操纵订单簿来欺骗自动化做市商和高频交易者(欺骗 spoofing)。恶意行为者也可以制造虚假趋势和尖峰来欺骗有血有肉的投资者。如果一个模型的设计能够预期操纵,它不仅可以检测和反应,还可以通过社会工程鼓励良好行为。具有众所周知参数的模型(如 FICO 评分)属于这一类别。
**保密与披露(Confidentiality and disclosure)**对于保护知识产权(intellectual property,IP)很重要。隔离和限制数据会破坏"和平红利(peace dividend)",^10^ 并阻止研究者自由寻求同行评审和帮助。
策略、目标与条件#
在本节中,我们将讨论策略、目标和条件,具体通过:
从自变量中消除时间依赖(removing time dependence),以便我们可以采用并非为时间序列设计的机器学习技术
考察固定期限与路径依赖(Examining fixed horizons versus path dependency),特别是在需要用动态和多期模型扩展我们的预测时
**评估配置、选择、方向、择时与数量(assessing allocation, selection, direction, timing, and quantity)**决策
在考虑机器学习*设计模式(design patterns)*时,重新构造问题以应用不同类型的技术通常很有用。一种方法是对数值数据进行分类,例如预测买卖而不是回报。分类允许将一个回归问题重新构造为一个分类问题,更好地识别所需的输出(一个买入或卖出订单),并减轻预测的负担。
分类允许尝试不同的算法,并可以简化问题,弥补用类别替代测量值所造成的信息损失。这还具有通过将范围限制为几个类别而非任意精确的数字来处理估计误差和预测误差的好处。
由于噪声和有限的预测能力,应当避免虚假的精确性(false precision)和虚假的信心(false confidence)。一些投资者使用 1/N 加权方案,以避免预测过于具体的结果(如投资权重)。
数值数据的分类通常需要任意的阈值,这会注入偏差。例如,什么构成一个买入?数据应当指定日回报还是月度滚动回报?应当考虑大于 1% 的回报,还是回报的阈值应当高于 5%?通常,不同的总体(例如不同的股票)需要不同的阈值,有时可以用诸如平均绝对偏差(mean absolute deviation,MAD)等汇总统计量来处理。
多峰分布(multimodal distributions,或 R^2^ 值的多峰分布)可能表明存在多个具有各自均值回归倾向的总体。这是市场轮廓(Market Profile)技术的基础。这也是许多交易者不太重视显著性度量的原因。如果他们对一个双峰总体应用一种统计技术,它可能具有较低的信息系数(information coefficient,IC),因为 IC 是在整个数据集上评估的(但它可能在最相关的部分具有较高的 IC)。
反过来也是可能的。类别可以被表征为使用交叉熵损失函数(cross-entropy loss function)的分布中的众数。方差可以被解释为不确定性。以下是用于解决这些问题的一些技术的优缺点:
中性类别(Neutral classes),如"持有",可以在二元类别之间提供一个缓冲。尽管这个概念有其好处,但增加一个中性类别可能会使学习复杂化,在不提供切实好处的情况下增加更多的复杂性。当把一个中性分类重新构造为回归问题时,Tweedie 分布等分布可能很有用。更常见的是,将中性类别问题(损失、噪声和利润)重新构造为一个二元问题(损失对利润)是有帮助的,以避免包含许多无关紧要的市场走势和相对较少的有重大影响的价格变化的不平衡数据集。显然,缺点是小回报不具有预测性,而一个两类模型可能产生过度的换手和 churn。
**多标签模式(Multi-label patterns)**允许分类器既预测方向又预测幅度,例如"大损失"、"小损失"、"小收益"和"大收益"。它们也可用于可能包含相似标签的数据(例如那些重叠的,如"盈利"和"暴利",或那些冗余的,如"获胜"和"上涨")。当分类被重新构造为回归时,模型可以使用简单的函数(如 sigmoid,允许介于零和一之间的值),而不是 softmax(二元的)。扁平模式将标签映射到单个响应,而级联将使用一个层级结构。
**集成(Ensembles)**在 ML 中强大而无处不在。它们可用于改进预测并减少偏差和方差(但通常不能减少估计噪声)。
**级联(Cascades)**将一个 ML 问题分割成可能像树一样分叉的阶段。这可能使阶段之间的交互难以建模,并可能使代码变得复杂和模块化。通常,级联比一个全面的模型设计起来要简单得多。一个例子可以是一个预测做市商交易的单一模型,其输出用于训练两个后续模型:一个预测从做市商到零售投资者的交易,另一个预测到"知情"投资者的交易。
精度与敏感性(Precision versus sensitivity)。 级联的一个强大用途是训练一个方向模型,然后馈入一个规模模型,以利用精度与敏感性之间的权衡。预测买卖应当强调尽可能多地发现机会(敏感性 sensitivity,也称为召回率 recall)。然而,一旦交易被选中,识别更有可能盈利的交易(精度 precision 或阳性预测值 positive predictive value)并用更大的押注放大它们就变得更加重要。
**不平衡数据(Imbalanced data)**可以通过级联一个识别总体(少数派对多数派)的分类器,然后将总体级联到一个单独的算法来解决。例如,一个分类器可以识别高波动性总体,并将高波动性、低波动性和异常输出传递给一个高波动性回归学习器或一个低波动性回归学习器来预测回报——然后丢弃异常事件。
本章阐述了我们讨论过的第二部分投资决策的一些技术解决方案。由于我们关注的是投资过程而非技术应用,本章按照与第二部分相同的一般顺序组织,可以应用于其之前讨论的主题(如特征工程)。第 17 章将为第三部分(Part III)发挥相同的作用。
例如,OLS 要求线性、正态性、同方差性(homoscedasticity),且不存在多重共线性、自相关性或内生性(endogeneity)。
D. H. Wolpert 与 W. G. Macready, "No Free Lunch Theorems for Optimization," IEEE Transactions on Evolutionary Computation 1, no. 67 (April 1997), 67–82.
1946 年,Charles Ellis 撰写了The Loser's Game(失败者的游戏),描述了胜利者的游戏(由成就决定结果)和失败者的游戏(由犯错决定结果)。
中国墙(Chinese wall),或称信息屏障,是一种防止员工之间交流以避免共享机密信息(如重大非公开信息)的政策,或如本例中那样,将与策略设计假设分享给测试团队。
为了避免将一个已调整的算法与一个未调整的算法比较,或将一个最优参数化的算法与一个次优参数化的算法比较,研究者可以调整所有算法。如果不是所有算法的超参数都被有意调整,那么默认设置可能对某个算法比对另一个更好。在这种情况下,我们比较的不是算法,而是默认设置。
J. Pearl, "Causal diagrams for empirical research," Biometrika, 82:669–710, December 1995.
值得注意的是,交易数据反映的是思想的执行,但不一定是意图。交易错误(如"胖手指"fat fingers 和同名代码 homonymous tickers)很常见。因此,随后的市场反应可能比交易订单本身更能说明问题。
故意延迟也很常见。例如,在向互换数据存储库(Swap Data Repository,SDR)报告或进行监管文件时,一些人会延迟提交部分或全部数据。这种故意延迟旨在限制其投资头寸报告的有用性,使其竞争对手难以解读交易及其意图。
一个相关但相反的例子涉及 Warren Buffett 和 Ted Seides 之间著名的赌局。两人同意就对冲基金与被动投资的业绩赌一百万美元。能够获得最佳对冲基金的投资者即使在扣除对冲基金收取的高额费用后,也能跑赢被动指数,但押注对冲基金的平均业绩则完全不同。
和平红利(peace dividend)是 George H. W. Bush 总统和英国首相 Margaret Thatcher 在 1988–1991 年苏联解体时使用的一个术语。其含义是,减少防御性努力可以释放资源用于更具生产性的事业。