第4章 马尔可夫决策过程:MDP定义、状态转移概率、奖励函数、折扣因子、策略与价值函数的关系

各位同学,欢迎来到第四讲。今天我们要聊的是强化学习的“地基”——马尔可夫决策过程,简称MDP。说实话,我刚开始学强化学习的时候,觉得MDP就是个数学框架,离实际交易很远。但后来我在做高频交易策略时,发现几乎所有问题都能用MDP来建模。嗯,今天我们就把它彻底讲透。

4.1 MDP的五个核心要素

MDP说白了就是一个数学工具,用来描述智能体与环境交互的过程。它由五个部分组成,我习惯用来记忆:

  • S(状态空间):所有可能的状态集合。比如股票当前的价格、持仓量、市场情绪指标等。
  • A(动作空间):智能体可以采取的动作。在交易中就是买入、卖出、持有。
  • P(状态转移概率):从一个状态到另一个状态的概率。这个很关键,后面细说。
  • R(奖励函数):执行动作后获得的即时回报。比如赚了多少钱。
  • γ(折扣因子):未来奖励的折现系数,范围在[0,1]之间。

核心思想:MDP假设当前状态包含了所有历史信息,未来只依赖于当前状态——这就是马尔可夫性。说白了,就是“过去不重要,现在决定未来”。

4.2 状态转移概率:市场的“脾气”

状态转移概率P(s'|s, a)描述的是:在状态s下执行动作a后,环境会变成状态s'的概率。我在做量化交易时,经常用历史数据来估计这个概率矩阵。

举个例子:假设当前股价是100元(状态s),你选择买入(动作a),那么下一个时刻股价可能涨到101元(概率0.6),也可能跌到99元(概率0.4)。这个0.6和0.4就是状态转移概率。

我的经验:实际交易中,状态转移概率很难精确计算。我一般用蒙特卡洛模拟或者核密度估计来近似。别想着算得100%准确,够用就行。

4.3 奖励函数:交易的“甜头”与“苦头”

奖励函数R(s, a, s')告诉我们在某个状态下执行动作后能获得多少回报。设计奖励函数是门艺术,我踩过不少坑。

常见的奖励设计:

  • 简单收益:R = 卖出价 - 买入价
  • 夏普比率:R = (收益 - 无风险利率) / 波动率
  • 带惩罚的收益:R = 收益 - λ × 交易成本

避坑指南:我曾经设计过一个只奖励盈利的奖励函数,结果模型学会了频繁交易赚小钱,但手续费把利润全吃掉了。后来我加入了交易成本惩罚项,模型才变得稳健。

4.4 折扣因子:未来的钱不值钱?

折扣因子γ决定了智能体有多“短视”。γ=0时,只关心当前奖励;γ接近1时,会考虑长远收益。

在交易中,我一般这样设置:

  • 高频交易:γ=0.9~0.95,因为要快速反应
  • 中长线交易:γ=0.99,考虑长期趋势

为什么会这样?你想想看,高频交易里下一秒的行情可能就变了,太远的奖励没有意义。而长线投资,今天的决策可能影响未来几个月的收益。

4.5 策略:交易员的“决策手册”

策略π(a|s)定义了在每个状态下应该采取什么动作。有两种类型:

  • 确定性策略:π(s) = a,给定状态直接输出动作。比如“价格突破20日均线就买入”。
  • 随机性策略:π(a|s) = 概率,以一定概率选择动作。比如“有70%概率买入,30%概率观望”。

我个人习惯在探索阶段用随机策略,在实盘阶段用确定性策略。这样既能探索新机会,又能稳定执行。

4.6 价值函数:给状态和动作“打分”

价值函数是MDP的核心,它衡量的是“长期回报的期望”。

  • 状态价值函数V(s):从状态s开始,按照策略π行动,能获得的累计折扣奖励的期望。
  • 动作价值函数Q(s, a):在状态s下执行动作a,之后按照策略π行动,能获得的累计折扣奖励的期望。

两者的关系可以用贝尔曼方程表示:

V(s) = Σ π(a|s) × [R(s,a) + γ × Σ P(s'|s,a) × V(s')]

Q(s,a) = R(s,a) + γ × Σ P(s'|s,a) × V(s')

说白了,V(s)是“这个状态好不好”,Q(s,a)是“在这个状态下做这个动作好不好”。

4.7 知识体系总览

下面这张图展示了MDP的核心逻辑,我花了不少时间画出来,希望能帮你理清思路:

马尔可夫决策过程(MDP)核心结构 智能体 (Agent) 策略 π(a|s) 动作价值 Q(s,a) 状态价值 V(s) 环境 (Environment) 状态转移 P(s'|s,a) 奖励函数 R(s,a,s') 折扣因子 γ 动作 a 新状态 s' 奖励 r 核心公式 状态价值:V(s) = Σ π(a|s) × [R(s,a) + γ × Σ P(s'|s,a) × V(s')] 动作价值:Q(s,a) = R(s,a) + γ × Σ P(s'|s,a) × V(s') 策略改进:π'(s) = argmax Q(s,a) 注:所有公式都基于马尔可夫性假设——未来只依赖于当前状态 MDP五要素:S(状态)、A(动作)、P(转移概率)、R(奖励)、γ(折扣因子)

4.8 策略与价值函数的关系

策略和价值函数是“鸡生蛋、蛋生鸡”的关系:

  • 策略决定价值:不同的策略会导致不同的状态价值。比如“追涨杀跌”策略和“低买高卖”策略,在同一个市场中的V(s)完全不同。
  • 价值指导策略:通过比较Q(s,a)的大小,我们可以选出最优动作。这就是策略改进的基础。

我记得在做一个期货策略时,一开始策略很激进,V(s)波动很大。后来我改成了保守策略,V(s)变得平滑但收益也低了。最后通过Q(s,a)的对比,找到了一个平衡点。

关键点:最优策略π*就是让每个状态的V(s)都达到最大值的策略。而最优价值函数V*和Q*满足贝尔曼最优方程。

4.9 实际应用中的注意事项

在交易中应用MDP,有几个坑要避开:

  • 状态空间爆炸:股票价格、成交量、技术指标...状态太多会导致计算量巨大。我一般用PCA降维或者只选3-5个关键特征。
  • 非平稳环境:市场规律会变,状态转移概率不是固定的。需要定期重新估计P矩阵。
  • 奖励延迟:有些交易策略的收益要很久才能体现,这时候折扣因子γ的设置就很重要了。

我的建议:刚开始做MDP建模时,先从小规模状态空间开始。比如只用“价格涨跌”和“持仓量”两个状态,跑通了再慢慢加特征。别一口吃成胖子。

好了,MDP的核心内容就这些。记住这五个要素和它们之间的关系,后面讲Q-learning、策略梯度时都会用到。下节课我们聊聊怎么用动态规划求解MDP——说白了就是怎么算出最优策略。


公众号:蓝海资料掘金营,微信deep3321