概述
在本系列的前几篇文章中,我们已经看到了有监督和无监督的学习算法。 本文则开启机器学习的另一个篇章:强化学习。 这些算法基于试错学习实现,可与生物体的学习系统进行比较。 此属性允许运用此类算法来解决一些问题,譬如需要开发某些策略。 显而易见,交易可归属于这些问题,因为所有交易者为了进行成功交易,都要遵循某些策略。 因此,采用这种技术对我们的特定领域很有用处。
1. 强化学习的基础
在我们开始学习特定算法之前,我们先研究一下强化学习背后的基本概念和哲学思想。 首先,请注意,在强化学习中,模型不会作为分离事物进行处置。 它应对的是过程主体之间的相互作用。 为了更好地理解整个过程,最有用的做法是引入一个人作为过程参与者之一。 我们深刻意识到我们的行动。 在这种情况下,我们能更容易理解模型行为。
周知,我们生活在一个不断变化的世界之中。 这些变化在某种程度上取决于我们,和我们的行动。 但在更大程度上,这些变化并不取决于我们。 这是因为还有数百万人生活在世界上,并执行某些行动。 甚至,还有许多因素不依赖于人类。
类似地,在强化学习中,还有环境,它是我们世界的拟人化。某些代理者与环境交互。 可将代理者与生活在此环境中的人类进行比较。 环境正在持续变化。
我们总是环顾四周,通过触摸、以及倾听声音,来评估物体。 如此这般,我们每时每刻都通过我们的感官来评估我们的世界。 在我们的脑海中,我们固化其状态。
类似地,环境生成其状态,由代理者评估。
与我们按照人类的世界观行事类似,代理者根据其政策(策略)执行行动。
这种影响导致环境按照一定概率发生变化。 对于每个行动,代理者都会从环境中收到一些奖励。 奖励可以是正面的,也可以是负面的。 根据奖励,代理者可以评估所采取行动的功用性。
请注意,奖励政策可能有所不同。 在每次行动后,当环境返回奖励时,也许是一步选项。 但若很难或不可能评估每个行动时,还有许多其它任务。 奖励只能在时段结束时授予。 例如,如果我们考虑玩一盘国际象棋,我们可以尝试根据棋子位置是改善还是恶化,给出每一步棋的专业评估。 但主要目标是赢得比赛 这是涵盖先前所有可能报告的奖励。 否则,模型就属于“只是为了玩而玩”,并会找到一种方式来循环,沉迷于获得最大的奖励,而不是晋级决赛。
类似情况,在市场上开仓,于某些时刻可能是积极的,而对于某些时刻可能是负面的。 但交易操作的结果只能在平仓后才能进行评估。
像这样的案例表明,奖励通常不依赖于某一个单独的行动。 但它们要依赖于一连串的行动。
这可判定了模型训练目标。 正如我们努力在交易中赚取最大利润一样,模型经过训练,以便在某个有限的时间段内获得最大的奖励。 它可以是一次游戏或一个时段。 或者只是一个时间片。
请注意,此处有两个运用强化学习方法时的相关需求。
首先,所研究的过程必须满足所谓的马尔可夫(Markov)决策过程的需求。 简言之,代理者执行的每次行动仅取决于当前状态。 以前执行的行动,或观察到的状态都不再影响代理者的行动和环境变化。 按当前状态中,它们的所有影响都已考虑在内。
当然,在真实条件下,很难找到满足这种需求的过程。 而且它也绝对不是交易。 在进行交易操作之前,交易者应仔细分析一定时间段内的各种数据细节。 然而,所有事件的影响j会逐渐减小,并由新事件所补偿。 因此,我们总能说当前状态包括一定时间间隔的事件。 我们还可添加时间戳来指示事件发生的时间。
第二个需求是过程的有限性。 如前所述,训练模型的目标是期望奖励最大化。 我们只能在相同的时间段内评估策略的盈利能力。 如果一种策略持续运作良好,它就会在更长的时间内产生更多的利润。 这意味着对于无限的过程,总体奖励也可能趋于无限。
因此,对于无限过程(也含交易),为了满足这一需求,我们必须将训练样本的大小限制在某个时间帧内。 另一方面,训练样本必须具有代表性。 因为我们需要一个至少可以在训练期结束后的一段时间内有效的策略。 充分模型操作的持续时间越长越好。
请记住,当我们开始研究监督学习算法时,我们曾谈及同样的事情。 我们稍后也会讨论不同教学方法的差别。
现在我想提一下为所执行的操作创建正确的模型奖励政策的重要性。 您可能听说过在人事管理中适当组织奖励制度的重要性。 适当的奖励制度刺激公司人员提高生产力,和所执行工作的品质。 类似地,正确的奖励系统可能是训练模型和实现预期结果的关键。 这对于延迟奖励的任务尤其重要。
在实现最终目标的过程中,为采取的所有行动正确分配最终奖励可能很困难。 例如,如何在开仓和平仓操作之间划分交易的盈利或亏损。 首先会想到在两个操作之间平均分配。 但不幸的是,这并不总是正确的。 您能在正确的时刻开仓,如此价格朝着您的方向移动。 那如何判定离场的时刻? 我们能够提早平仓,这会错过一些潜在的利润。 或者您可以长线持仓,并在价格开始对您不利时平仓。 这样,也会错过部分可能的利润。 在更糟糕的情况下,您甚至可能亏损平仓。 在这种情况下,看似良好的开仓操作终将因糟糕的平仓操作而得到负奖励。 您不觉得这样很不公平吗? 甚至,由于这种负奖励,下一次,模型会认为这个入场点不合适。 由此,您将错过更多的利润。
当然,相反的状况也