3、强化学习基础:马尔可夫决策过程(MDP)、状态、动作、奖励、策略与价值函数
好,咱们今天聊点硬核的。强化学习在资产配置里到底怎么用?说白了,你得先搞懂它的底层逻辑——马尔可夫决策过程,也就是MDP。我当年刚接触这个的时候,觉得不就是个数学框架嘛,后来在实盘回测里摔了几次跟头,才明白这东西有多关键。
3.1 马尔可夫决策过程:资产配置的“游戏规则”
MDP是什么?你可以把它想象成一个“下棋”的过程。你每走一步,棋盘状态就变了,你根据新状态再决定下一步。资产配置也一样——你根据当前市场状态(比如波动率、趋势强度)调仓,然后市场给你反馈(收益或亏损)。
MDP的核心是马尔可夫性:未来只取决于现在,跟过去无关。嗯,这里要注意,金融市场其实不完全满足这个假设,但我们可以近似处理。我个人习惯把MDP拆成五个要素:
- 状态(State):当前市场的“快照”
- 动作(Action):你做的调仓决策
- 奖励(Reward):市场给你的反馈
- 策略(Policy):你的决策规则
- 价值函数(Value Function):对未来收益的预估
这五个东西,就是咱们做量化资产配置的“工具箱”。
3.2 状态:你看到了什么?
状态就是智能体(Agent)观察到的环境信息。在资产配置里,状态可以是:
- 当前各资产的收益率(过去5日、20日)
- 波动率指标(比如VIX指数)
- 宏观经济数据(PMI、CPI)
- 技术指标(RSI、MACD)
我在项目中遇到过一个问题:状态选太多,模型反而学不好。你想想看,如果给模型100个指标,它根本分不清哪些是噪声。我建议状态维度控制在5-10个,而且要选那些真正有预测能力的。
3.3 动作:你能做什么?
动作就是智能体可以执行的操作。在资产配置里,动作空间通常有两种:
- 离散动作:比如“加仓10%”、“减仓20%”、“保持不动”
- 连续动作:比如“把股票仓位从30%调整到35.7%”
我个人偏好离散动作,因为更容易训练。但如果你做高频调仓,连续动作更灵活。举个例子:
# 离散动作示例
actions = {
0: "减仓20%",
1: "减仓10%",
2: "保持不动",
3: "加仓10%",
4: "加仓20%"
}
动作空间的大小很关键。动作太少,策略不够精细;动作太多,模型学起来太慢。我一般控制在5-9个动作。
3.4 奖励:市场给你的“分数”
奖励函数是强化学习的“指挥棒”。你设计什么样的奖励,智能体就会学出什么样的策略。常见的奖励设计有:
| 奖励类型 | 公式 | 适用场景 |
|---|---|---|
| 简单收益率 | R = r_t | 追求绝对收益 |
| 夏普比率 | R = (r_t - r_f) / σ | 风险调整后收益 |
| 最大回撤惩罚 | R = r_t - λ * drawdown | 控制回撤 |
我曾经犯过一个错误:只用收益率做奖励,结果模型学会了“赌徒式”操作——大赚大亏,回撤惊人。后来我改成夏普比率加回撤惩罚,模型才变得稳健。
3.5 策略:你的决策规则
策略就是“在某个状态下,应该做什么动作”。用数学表示就是:π(a|s) = P(动作a | 状态s)。
策略分两种:
- 确定性策略:给定状态,只有一个确定动作。比如“波动率>20%时,减仓10%”
- 随机性策略:给定状态,每个动作有概率。比如“波动率>20%时,有70%概率减仓10%,30%概率保持不动”
在资产配置里,我建议用随机性策略。为什么?因为市场有不确定性,随机性策略能帮你探索更好的操作。你想想看,如果一直用确定性策略,可能永远发现不了更好的调仓时机。
3.6 价值函数:对未来的“估值”
价值函数是强化学习的“灵魂”。它告诉你:在当前状态下,未来能赚多少钱。有两种:
- 状态价值函数 V(s):从状态s开始,按策略π行动,能获得的累计奖励期望
- 动作价值函数 Q(s, a):在状态s下执行动作a,之后按策略π行动,能获得的累计奖励期望
Q函数在资产配置里特别有用。比如,你当前持有50%股票,Q函数可以告诉你:加仓到60%能赚多少?减仓到40%能赚多少?然后你选Q值最高的那个动作。
3.7 一张图看懂MDP
下面这张SVG图,把MDP的核心逻辑串起来了。你看一遍,应该就能理解整个流程。
这张图你看懂了吗?核心逻辑就是:智能体观察状态S,根据策略π选择动作A,环境给出奖励R并转移到新状态S'。然后循环往复。价值函数V或Q则用来评估每个状态或动作的“好坏”。
3.8 实战中的坑与经验
最后,分享几个我在实战中踩过的坑:
- 状态归一化:不同资产的价格尺度差很多,一定要做归一化处理。我习惯用z-score。
- 奖励平滑:单日收益率噪声太大,我一般用滚动5日平均收益率做奖励。
- 探索与利用:别让模型太早“固化”。我通常在前30%的训练轮次里,用ε-greedy策略保持探索。
公众号:蓝海资料掘金营,微信deep3321