摘要 【核心观点】 点击上方“Allin君行”,关注我们 强化学习算法充分模拟了交易决策者与市场的交互关系,从策略管理、因子组合到交易执行,在量化投资的各个维度都提供了有效的模型和优化方法。 利用强化学习框架,本文构建了基于宽基指数日频价量模型的择时策略,迁移至行业指数依然有效。强化学习算法为策略优化提供了新思路。 -智能算法发展向金融领域渗透是趋势所向,市场对强化学习关注程度提升。数据与算法快速发展,算力成本逐渐降低,通用人工智能发展向垂直领域渗透是趋势所向,强化学习在其他细分领域的里程碑式成绩加速其在金融领域落地。 -基于马尔可夫决策过程,强化学习任务能充分模拟金融市场。强化学习算法的核心,是在马尔可夫决策过程的基础上,智能体通过与环境的交互,从反馈信号中进行学习。智能体依据环境状态,采取某种动作,对环境造成影响。随后,环境下一刻的状态和该动作产生的奖励将反馈给智能体。智能体的目标是尽可能多地从环境中获取总奖励,总奖励的定义是折现方式计算下的未来奖励之和。这种智能体-环境交互的情景能充分模拟交易决策者与市场的关系。 -从组合管理到交易执行,强化学习算法的应用市场广阔。在策略层面,强化学习算法针对传统多因子模型的因子失效,以及传统监督学习模型退化、过拟合等问题,提供了有效的因子组合、策略组合工具,更好地适应市场风格切换。在交易层面,以基于策略为代表的强化学习算法也提供了直接输出交易行为的下单算法。此外,强化学习在期权定价与对冲策略也有应用。纵观之下,从投资组合管理到具体的交易执行,强化学习算法在量化投资的多个领域提升了边际优化的空间。 -以双网络DQN算法构建灵活的单资产择时策略有明显超额。本文实现了基于双网络DQN的单资产择时策略,该算法中每隔一段时间间隔就更新对动作和状态价值评估的网络参数,这种设定使得策略动态调整,及时适应当期市场风格。以常见规模指数作为测试标的,中证1000指数择时效果较优,在2019至2022年实现了111.14%的累计收益,相较于指数基准年化超额收益15.6%,最大回撤和年化波动率均得到有效控制。以最优参数设置应用于申万一级行业指数,择时策略在11个行业指数上取得了10%以上的年化超额收益,在食品饮料,商贸零售,建筑装饰,及交通运输行业指数上的风险收益比较高,表明了强化学习策略框架应用于不同标的也能实现有效择时,而不仅仅只是在个别指数上过度拟合的结果。 导读 01 1.1.AlphaGo取胜围棋冠军,强化学习进入大众视野 2016年,AlphaGo以4:1的成绩胜过世界围棋冠军李世石。不久之后的2017年,AlphaGo在中国乌镇围棋峰会上与世界围棋冠军柯洁对战,以3:0总分获胜。AlphaGo的胜利标志着深度强化学习算法在围棋AI方面所取得的惊人成绩,深度强化学习获得了广泛关注,也引发了人们对于通用人工智能的思考与探索。 围棋AI(AlphaGo)背后所使用的算法,创新性地结合了深度强化学习和蒙特卡洛树搜索,通过策略网络选择落子位置,而使用价值网络评估棋盘局面,搜索效率大幅提升,胜率估算更加精确。此外,AlphaGo使用强化学习的自我博弈来实现策略网络的学习以改善其性能,还通过自我博弈和快速走子结合形成棋谱数据进一步训练价值网络。本文将在第2章中具体介绍强化学习算法,对策略、价值等术语和相应的网络进行解释。 AlphaGo的面世为强化学习研究带来了学界和业界的广泛关注,加速深度强化学习研究领域的发展,其理论和应用得到了逐渐完善。在大规模计算的任务中,深度强化学习智能体展示了卓越的进步。研究人员在基于值函数和基于策略梯度的深度强化学习算法方面都取得了一系列的研究成果。深度强化学习的研究一方面可以提升各种复杂场景中智能体的感知决策能力,另一方面,高效算法的应用落地也体现在多个行业及领域,如医疗、智能驾驶、推荐系统等。 1.1.市场对于强化学习在投资领域的应用拭目以待 近年来,在电子订单驱动的市场中,关于成交、报价和订单流的大量金融数据的可得性及数据质量快速提高,彻底改变了数据处理和量化建模技术的底层基础,并带来了新的理论和计算上的挑战。 强化学习带来了新颖的策略优化方法,即在某些系统中行动的决策者可以通过与系统的互动获得的重复经验来学习做出最佳决策。当交易者对市场和其他竞争者的信息有限时,使用强化学习算法有利于改善交易决策。在量化投资领域,将强化学习应用于算法交易、做市策略和投资组合管理等领域的研究成果不断推陈出新,获得了广泛关注,市场对于实际应用强化学习算法的策略和产品正拭目以待。 从马尔可夫决策过程到强化学习 02 强化学习有一套完整的框架来定义智能体与环境之间在状态、行动和奖励方面产生的互动。这个框架的目的是以一种简单的方式来表示人工智能问题的基本特征,包括因果关系、不确定性以及明确的优化目标。本章将首先建立起强化学习的术语环境,并介绍算法的数学基础马尔可夫决策过程,以帮助读者理解强化学习的工作原理,再对经典算法及其分类进行说明。 2.1.建立强化学习的语境 强化学习最大的特点就是在学习的过程中没有标准答案,而是通过奖励信号来学习,这比监督学习更加适应金融市场决策场景,即 对于任一交易行为不做标签化的正误判断,而是通过实际获得的收益与风险来实现策略的评估与优化。 在强化学习模型中,产生动作的决策者被称为智能体,智能体依据环境的状态,与环境交互从而决策,做出动作。在传统监督学习体系中,并未对交易决策与市场直接的相互作用进行有效的模拟,而强化学习则充分考虑了两者间的关系。 环境可能存在的状态集合被称为状态空间,而智能体能选取的动作集合被称为动作空间。智能体从动作空间中依据一定的规则选取执行的动作,这种决策规则被称为智能体的策略。 智能体每做出一个动作,都会得到环境相应的反馈,称为奖励。从当前时刻到回合结束的累计奖励记为回报。在任一时刻,智能体与环境交互会产生不同的轨迹,则未来回报具有不确定性,而回报的期望被称为价值。强化学习算法是通过设立恰当的奖励机制,不断优化智能体的策略,从而采取最大化价值的动作。 建立了强化学习的基本语境,本文在2.2.1节中具体介绍强化学习算法是如何在马尔可夫决策过程中学习外部信息并更新模型参数的。 2.2.实现强化学习算法 强化学习的基础框架是马可夫决策过程(MDP)。本文利用2.2节从马尔可夫过程到马尔可夫决策过程,再到强化学习是如何在 MDP中实现学习和目标优化的,来阐述强化学习的工作原理。 马尔可夫过程 2.2.1. 马尔可夫性假设未来的状态仅仅取决于现在的状态,独立于过去的状态,即,当前时刻的状态包含了此前的全部信息。马尔可夫性又被称为“无后效性”。 对于一个随机过程,已知时刻t所处的状态s(t)仅与s(t-1)相关,而与t时刻之前的状态无关,则称这个过程为马尔可夫过程。 掌握驱动:累积奖励期望 2.2.2. 在智能体与环境通过反馈信号不断进行交互,其最终目的是让智能体最大化累积奖励,即回报,记为G。对于有限时界(finite-horizon)的情况,累积奖励计算如下: 而对于无限时界的情况,则需要引入折现因子的概念,记为gamma,折现因子是一个略小于但接近1的数,防止没有损耗地积累导致累积奖励目标发散,同时也代表了对未来奖励的不确定性的估计。则在t时刻回报可以表达为结束时的所有奖励折现之和, 即: 多时候环境状态是不确定的,智能体执行一个动作后会以一定的概率转移到另一个状态,因此得到的奖励也与这个概率相关。所以在计算累积奖励的时候,通常是计算奖励的期望,记为V,则状态s的期望奖励值表示为: 结合无时界累积奖励的表达式,期望奖励可记为: 2.2.3.从马尔可夫决策过程到强化学习 马尔可夫决策过程可定义为一个五元组:M=(S,A,R,P,gamma),变量含义依次为状态空间S,动作空间A,奖励函数R,状态转移规则P(表示在状态s下,下一个状态为s’的概率)。对于强化学习要学习的策略(pi),则表示了智能体从状态到动作的映射关系,记为: 如何衡量策略pi的好坏?判断策略的累积奖励的期望值高低,计算如下: 上式又被称为价值函数,它表明了在遵循策略π的前提下当前状态的价值。强化学习的任务就是要找到一个最优的策略(optimalpolicy),使得在任意初始状态s下,能够最大化价值函数,称为最优价值函数(optimalvaluefunction): 在强化学习问题中,很多时候,智能体想要知道在每个状态上做哪个动作最好,而最优价值函数只能提供当前状态的价值信息,智能体只能每个动作尝试一下,走到下一个状态,看哪个动作导致的下一个状态的价值是最好的,就用哪一个动作。由此可以定义成对的状态-动作价值函数Q^[pi](s(t),a(t)),来表示处于状态s(t)时执行动作a(t)的价值。 则最优动作价值函数为: 相应地,状态价值相当于在该状态下可采取的最优动作的价值,即: 当得到最优动作价值函数及对应的动作,每一步都使用同样方法搜索局部最优动作,得到一个最优动作序列最大化累积奖励。上述 V(s)和Q(s,a)满足贝尔曼方程,V*(s(t))和Q*(s(t),a(t))属于贝尔曼最优方程。 在贝尔曼最优方程的基础上,求解MDP不能通过线性规划的方式,而要通过动态规划来迭代求解。迭代过程即为强化学习的工作过程,依据求解过程中策略模型的不同,价值函数更新方式等,衍生出了不同的强化学习算法。 本节对强化学习的数学本质与关键假设进行了介绍,以帮助投资者更好地理解强化学习算法如何适配各种投资场景。许多投资组合优化问题,例如养老金产生的问题,关注长期投资策略,因此很自然地将其表述为无期限的决策问题。而购买或售出一定数量的资产的最佳交易执行问题,通常涉及在指定时间范围内达到目标成交量,并在成交量未达标时会有惩罚,则可表述为一个有限时间跨度的决策问题。这些实际的交易场景均可转化为马尔可夫决策过程通过强化学习算法来优化交易策略,本文将在第3章中具体介绍。 2.3.强化学习常见分类方法 1.1.1.小小节标题 图展示了强化学习任务常见分类的常见标准,主要为两种分类标准,按任务与环境分类,以及按算法分类。以下进行逐一说明。 正文 从智能体的数量及信息交互分类,强化学习任务可分为单智能体任务(singleagenttask)和多智能体任务(multi-agenttask)。顾名思义,根据系统中的智能体数量,可以将任务划分为单智能体任务和多智能体任务。单智能体任务中只有一个决策者,它能得到所有可以观察到的观测,并能感知全局的奖励值;多智能体任务中有多个决策者,它们只能知道自己的观测,感受到环境给它的奖励。必要时,多个智能体间可以交换信息。在多智能体任务中,不同智能体奖励函数的不同会导致它们有不同的学习目标(甚至是互相对抗的)。 按目标任务的起止状态可将强化学习任务分为回合制任务(episodictask)和连续性任务(sequentialtask)。其中,回合制任务有明确的开始状态和结束状态。以围棋游戏为例,从开始的空棋盘,到最后摆满的状态,一局棋是一个回合。下一个回合开始时,一切重新开始。而没有明确开始和结束时间点的场景,如机房的资源调度。机房从启用起就要不间断地处理各种信息,则可认为是一个连续性任务。 还可依据智能体是否能观测到环境的全部知识,将强化学习分为完全可观测环境(fullyobservableenvironment)和非完全可观测环境(partiallyobservableenvironment)。以棋牌游戏说明,围棋问题就可以看作是一个完全可观测的环境,因为棋手可以看到棋盘的所有内容,并且假设对手总是用最优方法执行;扑克则不是完全可观测的,因为玩家不知道对手手里有哪些牌。此外,按时间环境和动作空间是否连续,以及环境是否具有随机性,也可将强化学习任务分为对应的两类,此处不再赘述。 而从算法角度对强化学习分类则较为常见,以下从四个角度进行区分。 根据学习