来自 股指期货 2023-05-10 04:57 的文章

隐含了从训练数据中学到的经验_期货最笨最好的

  隐含了从训练数据中学到的经验_期货最笨最好的方法通过对买卖委托账本(订单簿)中数据的进修,给定特定一只股票10个时刻点股票的订单簿音信,预测下20个时刻点中心价的均值。

  正在这个题目中,咱们操纵10个时刻点股票的订单簿音信,预测特定一只股票下20个时刻点中心价的均值,来判决其正在一分钟内的代价蜕变特性,以便于高频买卖。高频买卖的事理正在于,看待人类来说,很难正在一分钟之内判决出股价蜕变环境,并完结买卖。于是,只可操纵企图机举行主动化买卖。

  看待无音信无模子预测,即操纵订单簿中结尾一个代价“预测”,获得的均方根偏差为0.00155。试图通过了解数据、设立模子,做出高于此偏差的预测。

  为了避免观念的搅浑,下文中借使迥殊解说,“测试集”均指public board所依赖的数据。其它,这里的“熬炼集”下文中包括经由数据清算和预处罚的熬炼集(training data)和验证集(development data)。

  为了将熬炼集转换为测试集的样子,即通过10个间隔3秒的订单簿记实,来预测后20个间隔3秒的订单簿记实中中心价的均值,务必对数据洗濯。

  将熬炼集会合陆续的nGiven+(nPredict平方)条数据行为一组数据。

  检讨每一组数据,去掉含有时刻差不为3秒的陆续两条数据的组。如许能够跳过跨天的以及不规整的数据。

  给定的数据特性(日期、时刻、代价、成交量等)的量纲差别,而且数据绝对值差的较大。如测试集第一条数据:MidPrice和Volume差6个数目级。

  最初,数据归一化后,最优解的寻优经过明明会变得平缓,更容易确切地收敛到最优解。

  其次,正在赞成向量机(SVM)等不具有伸缩稳固性的模子中,大数目级的数据会粉饰小数目级的数据。这是由于随机举行初始化后,各个数据具有同样的或近似的缩放比例,相加之后小数目级的数据便被大数目级的数据“吃掉了”。

  其它,看待具有伸缩稳固性的模子,如逻辑回归,举行归一化也有助于模子更速地收敛。

  从上面两张图片中能够看出,熬炼集和测试会合最要紧的特性以及待遇丈量——中心价惟有约三分之一重合。这意味着借使根据数值直接举行归一化,也许会有较差的结果。

  我采纳的第一种式样是预测差值——+即每组数据待预丈量——下20条数组中MidPrice的均值与结尾一个MidPrice的差值,并将各个代价减去结尾一个MidPriced的值,如许能够使熬炼集和验证集散布更为亲近,然而如许酿成的题目是,正在量纲存正在的环境下,结尾一个MidPriced的值仍是有代价的,将它直接消去不适合。

  第二种式样是全体消逝量纲,将预测工作变为蜕变率的预测。即将悉数与Price联系的变量都减去并除以结尾一条数组的中心价。如许就能够将量纲全体消逝。

  Volume是指当日累计成交数目。正在每组数据中,Volume的巨细分歧很大,这重要是由于每组数据起源的时刻差别。起源,我试图保存时刻音信和Volume,来更好地操纵Volume音信。本相上,固然一天中的Volume是联系的,然而险些不也许通落伍刻音信来忖度Volume,况且高频买卖簿的精度很高。于是,通过参与时刻音信避免对Volume的归一化是不成行的。

  第二个实验是操纵相似于对Prices的处罚,将每组数据中的Volume减去该组数据中第一条数据的Volume。但如许功效并欠好,这是由于Volume正在一组中是递增的,将它们举行如上处罚后仍是递增的,操纵通常的归一化方式无法将它们照射正在统一标准上。

  第三种实验是操纵蜕变量。将每一组Volume数据减去上一条音信的Volume,将这个特性转化为:3秒内累计成交数目。至此,每组/条数据的Volume便为统一散布了。其它,看待第一条数据,没有手段得知它与上一条数据(没有给出)的差值,只可用均值填充。整个步骤是操纵迄“今”(这条数据)为止获得的Volume插值的均值。

  因为时刻是递增的,能够通过将它们照射正在每一天(即,删除日期,保存时刻),然后举行预测。然而因为数据惟有约120天,将它们照射正在每一个时刻点会导致这局限数据过于希罕。于是,正在保障每组数据中,每陆续两条数据的时刻差值为3秒的环境下,能够直接将时刻音信删除。

  正在前文中提到过,将预测数值工作转变为预测蜕变率的工作。如许做除了为了消逝量纲,更重要的理由是加快收敛。若果不举行如许的处罚,看待CNN/DNN/RNN等基于神经收集的模子,必要大约20epoch才气收敛到baseline RMSE=0.00155,然而借使采纳蜕变率预测,只必要一个epoch就能够收敛到RMSE=0.00149.4

  于是,借使不举行如许的处罚,将会很是扩大熬炼的时刻,对换参和模子了解酿成很大艰难。

  参与噪声。看待某些数据而言——特别是Price联系的数据,因为有许众组肖似或好像的数组以及线性照射的稳固性,导致处罚后结果是离散的。于是,我正在每个值中参与±1%的噪声,以进步模子的泛化技能。

  低浸噪声。正在固定模子的环境下,我发觉转变工作为预测下15条数据的中心价均值,亦或是下10条数据的中心价均值,获得的leaderboard成果要优于预测下20条的数据的中心价均值。我念这是由于通过跨度为30秒的10条数据也许无法预测到更远的时刻点,如跨度为60秒的20条数据中的后几条数据。正在没有更众音信的环境下,很也许之后的数值看待预测来说是噪声。正在测验中也注明了这一点,后文将会注意解说。鄙人文中将这个nPredict“超参数”视为MN(Magic Number)。

  这个模子是我所达成最优的模子,采纳这个模子的重要理由是基于LSTM的RNN模子具有很好的处罚时刻序列的技能。

  递归神经收集(RNN)轮回神经收集(Recurrent Neural Network,RNN)是一类具有短期影象技能的神经收集。正在轮回神经收集中,神经元不光能够回收其它神经元的音信,也能够回收本身的音信,酿成具有环道的收集组织。和前馈神经收集比拟,轮回神经收集愈加契合生物神经收集的组织。轮回神经收集仍然被普通使用正在语音识别、措辞模子以及自然措辞天生等工作上。轮回神经收集的参数进修能够通过随时刻反向流传算法 [Werbos, 1990] 来进修。随时刻反向流传算法即根据时刻的逆序将舛讹音信一步步地往前传达。当输入序列斗劲长时,会存正在梯度爆炸和隐没题目[Bengio et al., 1994, Hochreiter and Schmidhuber, 1997, Hochreiteret al., 2001],也称为长久依赖题目。为清楚决这个题目,人们对轮回神经收集举行了许众的订正,此中最有用的订正式样引初学控机制。

  是非期影象(LSTM)收集是非期影象(long short-term memory,LSTM)收集 [Gers et al., 2000, Hochreiter and Schmidhuber, 1997]是轮回神经收集的一个变体,能够有用地解 决大略轮回神经收集的梯度爆炸或隐没题目。正在公式(6.48)的根本上,LSTM收集重要订正正在以下两个方面:新的内部形态 LSTM收集引入一个新的内部形态(internal state)ct特意举行线性的轮回音信传达,同时(非线性)输出音信给躲避层的外部形态ht。 正在每个时间t,LSTM收集的内部形态ct记实了到暂时时间为止的史籍音信。 轮回神经收集中的隐形态h存储了史籍音信,能够看作是一种影象(memory)。正在大略轮回收集中,隐形态每个时间城市被重写,于是能够看作是一种短期影象(short-term memory)。正在神经收集中,长久影象(long-term memory)能够看作是收集参数,隐含了从熬炼数据中学到的体会,并更新周期要远远慢于短期影象。而正在LSTM收集中,影象单位c能够正在某个时间缉捕到某个枢纽音信,并有技能将此枢纽音信留存必定的时刻间隔。影象单位c中留存音信的性命周期要善于短期影象h,但又远远短于长久影象,于是称为长的短期影象(long short-term memory)

  操纵Keras框架,达成基于LSTM的RNN模子。整个组织为两层LSTM收集和两层Dense层收集。试谋利用LSTM收集提取时刻序列中的特性音信,并操纵Dense层将提取出的特性音信举行回归。

  正在全连绵(Dense)层和LSTM层中,参与Dropout。正在熬炼中,dropout掉近似50%的参数,能够将收集模子减小至一半。正在测验发觉,减小至该收集一半的收集更禁止易浮现过拟合的环境(下文中会注意解说)。

  我没有举行大周围的网格查找以确定最好的超参数,我重要调解了收集的周围。根本念法是先采取一个较大的收集,熬炼至过拟合,判决其有足够拟合数据的技能,然后减小收集周围或举行正则化,消逝过拟合以保存足够的泛化技能。

  正在测验中发觉,三个收集均会爆发过拟合的题目。然而很明明小收集的拟合技能亏空(正在更大的RSME起源浮现过拟合),而大收集的拟合技能极其首要。于是我采取了中收集周围的收集——大收集+50%dropout。

  采纳这个模子的重要理由是卷积神经收集模子能够通过共享(1,nFeature)卷积核删除参数,并将一组中每条数据举行同样地处罚。

  卷积神经收集由一个或众个卷积层和顶端的全连通层(对应经典的神经收集)构成,同时也囊括合系权重和池化层(pooling layer)。这一组织使得卷积神经收集或许操纵输入数据的二维组织。与其他深度进修组织比拟,卷积神经收集正在图像和语音识别方面或许给出更好的结果。这一模子也能够运用反向流传算法举行熬炼。比拟较其他深度、前馈神经收集,卷积神经收集必要考量的参数更少,使之成为一种颇具吸引力的深度进修组织。

  操纵Keras框架,达成卷积神经收集模子。整个组织为两层卷积收集和三层Dense层收集。此中两层卷积收集分散为1 7卷积核和10 1卷积核。

  神经收集模子的重要长处是具有极强的近似技能:模子能够以恣意精度拟合齐备陆续函数。同时,举行这个模子的实验,也能够判决卷积神经收集是否比节约的全链接神经收集模子更好。

  人工神经收集(英语:Artificial Neural Network,ANN),简称神经收集(Neural Network,NN)或类神经收集,正在呆板进修和认知科学规模,是一种仿效生物神经收集(动物的中枢神经编制,迥殊是大脑)的组织和性能的数学模子或企图模子,用于对函数举行忖度或近似。神经收集由洪量的人工神经元连结举行企图。人人半环境下人工神经收集能正在外界音信的根本上转变内部组织,是一种自合适编制,浅显的讲便是具备进修性能。摩登神经收集是一种非线性统计性数据修模东西。

  操纵Keras框架,达成卷积神经收集模子。整个组织为两层卷积收集和三层Dense层收集。此中两层卷积收集分散为1 7卷积核和10 1卷积核。

  CART分类回归树是一种范例的二叉决议树,能够做分类或者回归。借使待预测结果是离散型数据,则CART天生分类决议树;借使待预测结果是陆续型数据,则CART天生回归决议树。数据对象的属性特性为离散型或陆续型,并不是区别分类树与回归树的规范,比方外1中,数据对象xixi的属性A、B为离散型或陆续型,并是不区别分类树与回归树的规范。行为分类决议树时,待预测样本落至某一叶子节点,则输出该叶子节点中悉数样本所属种别最众的那一类(即叶子节点中的样本也许不是属于统一个种别,则众半为主);行为回归决议树时,待预测样本落至某一叶子节点,则输出该叶子节点中悉数样本的均值。

  操纵上述GridSearchCV函数以及相似于Gibbs采样算法的思念,慢慢调解参数。整个步骤为:最初创立每个参数的取值区间。然后选择某个参数,将其创立为取值区间中等间距的几个点,举行熬炼模子举行验证,将最好的点创立为这个参数的值,然后选择其他参数,反复这一步,直到参数安谧。

  但测验中,因为过拟合环境首要,n_estimators越大会导致近似环境更好,但同时会导致模子的泛化技能低浸。于是我通过提交结果,选定了n_estimator=200。然后调解其他参数。

  1.正在没有验证数据集的光阴,能够企图袋外预测偏差(天生树时没有效到的样本点所对应的种别可由天生的树忖度,与原来正在种别斗劲即可获得袋外预测)。 2.随机丛林能够企图变量的要紧性。 3.企图差别数据点之间的隔绝,从而举行非监视分类。模子达成

  CNN vs DNN。操纵卷积没有获得更好的结果,这很大理由是数据特性惟有7维,没有须要举行降维,于是CNN模子中的池化层(Pooling Layer)无法运用,低浸了卷积模子技能。

  XGB。XGB有着很好的数据拟合技能,但因为调参必要较众的时刻(每个模子拟合必要约40分钟),而我没有足够的企图资源,只可放弃更细粒度的调参。

  Random Forest。和XGB相似,它们看待众维数据的处罚也许会比神经收集模子更好,然而正在7维的数据中,涌现并不如神经收集模子。

  特性工程的要紧性远远超出模子的选择以及调参。正在最初的实验中,我只是大略的举行了数据归一化,获得的结果并不睬念,许众次熬炼的RNN模子有RMSE0.00155的环境。正在负责研究每个数据特性的事理并按照它们的事理举行数据处罚后,采纳的模子险些一齐RMSE0.00150。我念,忖量特性的特色并忖量若何操纵是相等枢纽的。事实说白了,这些模子只是泛用函数拟合器。

  采纳更众的输入时刻点。事实过去的数据是“免费”的,咱们能够采用如过去一分钟的数据举行预测。但也许结果和MN的环境雷同——再众的数据只是噪声。

  丰裕数据集。用更众股票和更长时刻的数据。RNN模子的泛化技能没有被全体操纵,我念通过更众的数据能够到达更好的功效。