1.机器学习概览
1)应用
机器学习算法主要分为三类,监督学习(Supervised Learning),无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning)。监督学习可应用于对未来事件的预测,如利用OLS或者正则化回归模型来预测连续型目标变量,通过逻辑回归或支持向量机来进行分类研究等。无监督学习则旨在发掘数据的潜在规律,包括K-means聚类分析,基于主成分分析或线性判别分析的数据降维和压缩等。机器学习算法的主要应用场景如下表所示:
2)建模
a)数据处理
数据是机器学习算法最终学习效果的直接影响因素,处理步骤一般包括缺失数据处理,数据数据处理,数据集划分和特征缩放等。其中属性数据有两个类型,有序特征(ordinal feature)和标称特征(nominal feature)。有序特征如大盘股、中盘股、小盘股,可以分别对其建立映射为1、2、3。标称特征则如成长股、周期股、价值股等,可以对其建立虚拟特征(dummy feature)。一般研究人员将总数据集分为训练集和测试集两个部分,从训练集上获得学习后的模型,并在out-of-sample测试集上进行评估。如果数据尺度相差较大,需要将不同的特征数据缩放到同一区间。决策树和随机森林是机器学习算法中为数不多的不需要进行特征缩放的算法。常用的特征缩放方法有归一化和标准化:
b)模型评估
i.高方差模型:模型的训练准确率和验证准确率之间有很大的差距,说明模型过拟合,可通过修正训练集样本数、降低模型复杂度、特征提取、降维等方式优化模型
ii.高偏差模型:模型的训练准确率和验证准确率都很低,说明模型欠拟合。对于欠拟合的模型,通常可以增加参数数量,构建额外特征,降低模型的正则化程度等方式优化模型。
为了使模型在欠拟合和过拟合之间找到最优平衡点,可以使用holdout交叉验证或者k折交叉验证优化模型的泛化能力。
Holdout交叉验证:是将模型划分为三部分,训练数据集、验证数据集和测试数据集。验证集用于评估模型的性能。
k 折交叉验证:使用无重复抽样技术,在 k 个训练数据子集上重复 holdout方法 k 次。不重复地随机将训练数据集划分为 k 个,其中 k-1 个用于模型训练,剩余 1 个用于测试,重复此过程 k 次,通常 k 取为 10,k 折交叉验证相较于 holdout方法具有更好的鲁棒性。
c)预测
若模型评估的结果在可接受范围以内,则可以使用此模型对以后新的未知数据进行预测。
d)集成学习
两种常见的集成学习框架,bagging和boosting。Bagging是将训练数据进行 N 次又放回的随机抽样得到 N 个训练数据子集,对每个子集使用相同的算法分别建立决策,最终结果是 N 个决策结果的多数投票或平均值;Boosting则是先赋予每个训练样本相同的权重,然后进行 T 次迭代,每次迭代后,对分类错误的样本加大权重,使得在下一次的迭代中更加关注这些样本。如此重复进行,直到弱学习器数达到事先指定的数目T,最终这 T 个弱学习器通过集合策略进行整合,得到最终的强学习器。
2.机器学习在高频交易领域的应用
1)应用
机器学习在金融市场主要有三个方面的应用:①算法交易及高频交易;②投资组合的优化、智能投顾(根据客户的收益目标和风险偏好提供投资建议);③文本挖掘,市场情绪判断。
在高频交易领域,机器学习主要有两个方向,一是订单的执行优化,即在一个确定性的空间寻找最优解,探索在交易量和方向都确定的基础上如何最小化交易成本;二是高频涨跌方向的预测,这是以盈利最大化为目标,相对于订单的执行存在更多的不确定性。
2)特点
机器学习在高频交易领域主要呈现4个特点,①从线性模型到非线性模型,其中线性模型相对比较简单,大多是多因子线性回归模型;②从无监督学习到有监督学习,无监督学习是从无标记的训练数据中寻找隐藏的结构并推断结论,而有监督学习是从标记的训练数据中推导出预测函数;③从分类学习到回归学习;④从决策树模型到神经网络模型,逐渐向深度学习发展。
3)数据
驱动高频交易的数据往往是最细粒度的,通常是来自交易所的微观结构数据,通常包括订单,成交,隐藏流动性及撤单数据等,详细描述了每一个下单、每一次交易和每一次撤单。数据的颗粒度以及如何理解这些级别的数据怎样产生交易信号是机器学习在HFT领域的主要挑战。
4)有效性:使用订单薄数据预测价格走势的案例
在Michael Kearns关于开发能够捕捉盈利的交易信号,且能覆盖交易成本的研究(研究原文请见参考文献)中,其工作主要包括,构建可靠且能预测未来资产价格变动方向的features和开发用于执行的学习算法,所使用的features如下:
·Bid-Ask Spread买卖价差:表示当前订单中买卖价格之间的差值
·Price价格:衡量最近执行价格的方向变动的特征
·Smart Price聪明的价格:中间价格的变化,其中的平均买入价和卖出价是根据它们的交易量加权。
·Trade Sign交易标志:在最近的执行中,衡量买家或卖家在最近的交易中是否更频繁地越过价差
·Bid-Ask Volume Imbalance买卖不平衡数量: 出价时的股票数量减去卖出时的股票数量。
·Signed Transaction Volume签署的交易量:表示在最后15秒买入的股票数量减去在最后15秒卖出的股票数量。
研究中Michael Kearns对假设进行了简化,只考虑了学习算法中可用的两类理想化的操作:①在买卖中点买入1股,并持有该头寸t秒,再在这一时点,在中点卖出该头寸;②在中点卖出,t秒后买入(注:在Michael Kearns的研究中采用了t = 10秒)。在中间价执行的假设下,两个操作中的一个或另一个总是有利可图的——如果中间价上升,则在t秒后买进卖出,如果中间价下降,则反向操作。
这项研究的两个最重要的发现是:①学习持续产生的策略在测试集中是有利可图的(所有19只股票,学习模型在测试集上的盈利都是正的);②这些策略在股票中具有可扩展性(虽然在六维状态空间中可视化机器学习所得的策略是不可行的,但Michael Kearns将策略投射到每个单独的特征上,并探索特征和学习到的行为之间的关系,在下图所示,对于19个策略中的每一个和6个状态特征中的每一个,都绘制了一个柱状图来显示特征值和学到的动作之间的相关性,值+1表示先买后卖,值-1表示先卖后买。对于几乎每一个特性,我们可以看到所有策略的相关性符号都是相同的。)
3.机器学习在CTA策略中的应用
CTA分为主观投资和量化投资两种。主观投资,即主要由人主观判断投资机会。基金经理通过研究调查获得的基本面信息,以及从盘面上获得的量价等信息,结合自己的判断、理解、经验,来寻找投资机会,决定买卖时点。量化投资则会将投资逻辑编成模型,通过计算机来识别投资机会,进行投资交易。
量化投资中的高频CTA策略是一种在极短时间内完成交易的策略,凭借IT系统和快速的程序化操作,对市场上秒、甚至毫秒级别的波动进行投资,只要投资的胜率超过50%,在每天开盘的几个小时里,不断反复操作,总的胜率和盈亏比将会非常接近统计平均值,日净值会表现的非常平滑。高频CTA策略是从买卖价差中获取收益,也有利于增强市场的流动性。
机器学习是量化CTA策略的新方向,相较传统线性模型机器学习CTA量化策略提供了高维的非线性视角,可以更好地分类并提升拟合效果。研究人员将机器学习CTA模型构建的流程拆分成四步:
同一般的机器学习模型相似,流程主要包括,①因子挖掘:从原始的行情数据中提取可以描述当前市场特征的因子,比如PB因子可以用来描述当前市场的整体估值;②因子筛选:在控制因子间相关性的前提下,对第一步挖掘得到的因子进行有效性检验,从中筛出对市场有预测效力的因子;③机器学习:在得到有效因子池后,将因子输入机器学习模型进行因子组合,这里机器学习的任务是对历史的因子样本进行学习,并从中挖掘出具有正收益期望的规律;④交易决策:在训练完机器学习模型后,模型就可以基于对实时行情数据的分析给出后市的涨跌预测,从而指导实盘的投资决策。
CTA策略的因子挖掘主要由投资经理根据交易经验和逻辑手工完成,人工挖掘得到的因子因为具有较强逻辑性,因此往往可以在较长时间内都保持有效。但缺点是因子挖掘的周期较长,并且这两年随着各家机构研究的不断深入,人工挖掘因子的效率不断降低,所以目前市场上在传统的人工因子挖掘外引入了遗传规划,由算法自动对因子进行挖掘。依托计算机的强大算力的算法大大提高了因子挖掘的效率,但因子的逻辑性较弱,所以需要定期的迭代更新来维持因子的有效性。
4.参考文献
[1]《基于机器学习的量化投资策略》.中邮证券
[2] A. Kulesza, M. Kearns, and Y. Nevmyvaka. Empirical Limitations on High Frequency Trading Profitability. Journal of Trading, 5(4):50–62, 2010.
[3] 叶成. 基于机器学习的高频CTA策略研究. (Doctoral dissertation, 桂林电子科技大学).
[4] 朱雀基金章晓珏:再谈CTA策略,打开黑箱http://www.rosefinchfund.com/contents/2021/1/4-e240dd0ffdfa4caf89b2a553eae85cec.html
[5] 机器学习在市场微观结构和高频交易中的应用. 张瀚升
[6] 机器学习与CTA:数据挖掘与人类对世界的认识. 安信证券金融工程主题报告
|