2. 交易与仓位管理基础
在强化学习交易系统中,智能体最终输出的不是“看涨”或“看跌”的标签,而是一组可执行的交易指令:买什么、买多少、用什么订单、承担多大杠杆、何时止损。若缺乏对金融市场微观结构与仓位管理规则的理解,再优秀的策略也会在滑点、强平与流动性冲击中失效。本节建立交易执行层的基础认知,为后续的强化学习动作空间设计提供约束边界。
一、金融市场基础与订单类型
金融市场按标的可分为股票、期货、外汇、加密货币等,其共同点是价格由买卖双方的订单流撮合形成。理解订单类型,是设计智能体动作空间的第一步。最常见的两类订单是市价单与限价单:市价单追求成交确定性,但承担滑点;限价单追求价格确定性,但承担未成交风险。
| 订单类型 | 成交确定性 | 价格确定性 | 典型用途 |
|---|---|---|---|
| 市价单 Market | 高 | 低(滑点) | 快速止损、突破追单 |
| 限价单 Limit | 低 | 高 | 挂单做市、回调买入 |
| 止损单 Stop | 触发后转市价 | 低 | 风险控制、强制离场 |
| 止损限价单 Stop-Limit | 中 | 中 | 控制滑点但可能不成交 |
| 只做 Maker 单 | 低 | 高 | 赚取返佣、降低手续费 |
在强化学习中,动作空间常被离散化为“买入/卖出/持有”三动作,但真实执行需要进一步映射到订单类型与数量。若忽略订单类型差异,回测收益往往被高估,因为限价单的成交概率与市价单的即时性在实盘中差异巨大。
二、仓位、杠杆与风险收益指标
仓位管理决定“下注多少”,是连接信号强度与账户风险的核心环节。常用仓位模型包括固定金额、固定比例、凯利公式与波动率目标法。杠杆则放大收益与亏损,其本质是借入资金扩大名义敞口。以合约交易为例,10 倍杠杆下价格反向波动 10% 即触发强平。
核心公式:账户权益 = 初始保证金 + 未实现盈亏;强平价格 ≈ 开仓价 × (1 − 1/杠杆 ± 维持保证金率)。仓位越大、杠杆越高,强平距离越近。
评估交易策略需同时关注收益与风险。常用指标包括:
- 夏普比率:单位总风险的超额收益,衡量整体波动性价比。
- 索提诺比率:仅用下行波动,更贴近交易者真实痛感。
- 最大回撤:权益曲线从峰值到谷底的最大跌幅,决定资金承受力。
- 卡玛比率:年化收益与最大回撤之比,适合评估绝对收益策略。
- 胜率与盈亏比:二者乘积决定期望收益,高胜率低盈亏比同样可能亏损。
强化学习的奖励函数若只使用收益率,智能体会倾向高杠杆赌博。将最大回撤、波动率惩罚或夏普比率纳入奖励,可引导策略走向稳健。
三、常见交易策略与执行场景
基础策略可分为趋势跟踪、均值回归、套利与做市四类。趋势跟踪在单边行情中盈利,均值回归在震荡市中占优,套利依赖价差收敛,做市则赚取买卖价差与返佣。不同策略对订单类型与仓位节奏的要求截然不同。
# 波动率目标仓位示例(伪代码)
target_vol = 0.02 # 目标日波动 2%
realized_vol = returns.rolling(20).std()
position = target_vol / realized_vol
position = clip(position, 0, max_leverage)
order_qty = position * equity / price
假设账户权益 10000 USDT,目标波动 2%,近 20 日实现波动 4%,则仓位系数为 0.5,即只用一半资金开仓。若波动升至 8%,仓位自动降至 0.25。这种动态调整让风险敞口保持稳定,是强化学习智能体可学习的连续动作之一。
实战提示:在回测中必须模拟手续费、滑点与资金费率。加密永续合约资金费率每 8 小时结算一次,长期持仓成本不可忽略。
四、常见误区与复盘
初学者常陷入以下误区:一是把杠杆等同于仓位,实际上低杠杆满仓仍可能爆仓;二是只看胜率忽略盈亏比,导致“赢小亏大”;三是回测使用市价单却假设零滑点,实盘收益大幅缩水;四是忽略流动性,大单在薄市场中冲击成本极高。
复盘要点:每笔交易应记录订单类型、实际成交价、滑点、持仓时间与最大浮亏。若滑点持续超过预期收益的 30%,说明策略对执行成本过于敏感,需降低换手率或改用限价单。
将上述规则转化为强化学习的约束条件:动作空间需包含仓位比例与订单类型;奖励函数需惩罚回撤与换手;状态空间需包含波动率、杠杆与保证金率。只有把交易基础嵌入智能体的决策边界,策略才能在真实市场中存活。