feat: 初始化量化交易知识库 v1.0
- 01_基础理论:量化交易基础概念、市场微观结构、加密货币特殊性 - 02_技术指标:完整指标体系(MA/EMA/MACD/RSI/KDJ/布林带/SuperTrend/DMI等) - 03_交易策略:趋势跟踪、均值回归、套利、动量策略详解 - 04_交易信号系统:多指标共振评分引擎(基于 tradehk 项目) - 05_市场品种:加密货币、XAUT黄金代币、代币化美股全览 - 06_数据流程:数据采集、清洗、存储、实时流处理 - 07_回测框架:回测方法论、偏差规避、绩效评估指标 - 08_风险管理:仓位管理、止损止盈、Kelly公式、杠杆管理 - 09_AI与机器学习:深度学习、强化学习、LLM在量化投资中的应用 - 10_链上数据分析:SOPR/MVRV/巨鲸监控/衍生品数据 - 11_参考文献:arXiv论文汇总、开源项目、数据平台资源 - samples/:Python信号计算器和回测样本代码 参考项目:tradehk(ssh://git@git.hk.hao.work:2222/hao/tradehk.git) 全部中文化,适用于加密货币(CEX/DEX)、XAUT黄金、代币化美股
这个提交包含在:
249
08_风险管理/风险管理体系.md
普通文件
249
08_风险管理/风险管理体系.md
普通文件
@@ -0,0 +1,249 @@
|
||||
# 风险管理体系
|
||||
|
||||
> 风险管理是量化交易中最重要的环节之一。长期成功的交易者与失败者的核心区别,往往不在于策略的胜率,而在于风险管理的质量。本文档构建完整的量化交易风险管理体系。
|
||||
|
||||
---
|
||||
|
||||
## 一、风险管理框架
|
||||
|
||||
### 1.1 风险层次结构
|
||||
|
||||
```
|
||||
账户级风险
|
||||
└── 最大总亏损限制(如账户的 20%)
|
||||
└── 单日最大亏损限制(如账户的 5%)
|
||||
└── 单笔交易最大风险(如账户的 1-2%)
|
||||
└── 止损位设置
|
||||
```
|
||||
|
||||
### 1.2 tradehk 风险参数(参考)
|
||||
|
||||
```typescript
|
||||
interface RiskSettings {
|
||||
maxLossPercent: number; // 最大亏损 %(默认 5%)
|
||||
maxProfitPercent: number; // 最大盈利 %
|
||||
stopLossPercent: number; // 固定止损 %
|
||||
takeProfitPercent: number; // 固定止盈 %
|
||||
useIndicatorStopLoss: boolean; // 使用指标止损
|
||||
useIndicatorTakeProfit: boolean; // 使用指标止盈
|
||||
autoStopLossMinutes: number; // 下单后 N 分钟内自动挂止损(默认 10)
|
||||
leverage: number; // 杠杆倍数(默认 1)
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、仓位管理
|
||||
|
||||
### 2.1 固定比例法(Fixed Fractional)
|
||||
|
||||
每笔交易风险固定为账户的固定比例(通常 1-2%):
|
||||
|
||||
$$仓位大小 = \frac{账户资金 \times 风险比例}{入场价 - 止损价}$$
|
||||
|
||||
**示例**:
|
||||
- 账户资金:10,000 USDT
|
||||
- 风险比例:2%(200 USDT)
|
||||
- BTC 入场价:100,000 USDT
|
||||
- 止损价:98,000 USDT(止损幅度 2%)
|
||||
- 仓位大小:200 / (100,000 - 98,000) = 0.1 BTC
|
||||
|
||||
### 2.2 Kelly 公式
|
||||
|
||||
Kelly 公式计算理论最优仓位比例:
|
||||
|
||||
$$f^* = \frac{p \times b - q}{b}$$
|
||||
|
||||
其中:
|
||||
- $f^*$:最优仓位比例
|
||||
- $p$:胜率
|
||||
- $q = 1 - p$:败率
|
||||
- $b$:盈亏比(平均盈利 / 平均亏损)
|
||||
|
||||
**示例**:
|
||||
- 胜率 p = 0.55,盈亏比 b = 1.5
|
||||
- $f^* = (0.55 \times 1.5 - 0.45) / 1.5 = 0.25$(25%)
|
||||
|
||||
**实践建议**:使用半 Kelly(12.5%)或四分之一 Kelly(6.25%),因为 Kelly 公式假设参数精确已知,实际中存在估计误差。
|
||||
|
||||
### 2.3 波动率调整仓位
|
||||
|
||||
根据市场波动率动态调整仓位,高波动时减仓,低波动时加仓:
|
||||
|
||||
$$仓位大小 = \frac{目标波动率贡献}{当前资产波动率}$$
|
||||
|
||||
```python
|
||||
def volatility_adjusted_position(
|
||||
capital: float,
|
||||
target_vol: float, # 目标波动率贡献(如 2%)
|
||||
current_atr: float, # 当前 ATR
|
||||
price: float
|
||||
) -> float:
|
||||
"""
|
||||
计算波动率调整后的仓位大小
|
||||
"""
|
||||
dollar_atr = current_atr / price # ATR 占价格的百分比
|
||||
position_size = (capital * target_vol) / dollar_atr
|
||||
return position_size
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、止损策略
|
||||
|
||||
### 3.1 固定止损
|
||||
|
||||
最简单的止损方式,入场后设置固定百分比的止损:
|
||||
|
||||
```
|
||||
多头止损 = 入场价 × (1 - 止损百分比)
|
||||
空头止损 = 入场价 × (1 + 止损百分比)
|
||||
```
|
||||
|
||||
**适用场景**:简单策略,快速实现
|
||||
|
||||
**缺点**:不考虑市场波动性,可能过早被止损
|
||||
|
||||
### 3.2 ATR 动态止损
|
||||
|
||||
基于市场波动率设置止损,高波动时止损更宽,低波动时止损更紧:
|
||||
|
||||
```
|
||||
多头止损 = 入场价 - N × ATR
|
||||
空头止损 = 入场价 + N × ATR
|
||||
```
|
||||
|
||||
**推荐参数**:N = 2-3(tradehk 使用 SuperTrend 的 3 × ATR)
|
||||
|
||||
### 3.3 SuperTrend 跟踪止损
|
||||
|
||||
使用 SuperTrend 指标作为动态止损线,随趋势移动止损位:
|
||||
|
||||
- 多头持仓:止损位 = SuperTrend 下轨(随价格上涨而上移)
|
||||
- 空头持仓:止损位 = SuperTrend 上轨(随价格下跌而下移)
|
||||
|
||||
**优势**:自动跟踪趋势,既能保护利润,又不会过早出局
|
||||
|
||||
### 3.4 时间止损
|
||||
|
||||
如果持仓超过一定时间仍未达到目标,强制平仓:
|
||||
|
||||
```typescript
|
||||
// tradehk 实现:下单后 N 分钟内自动挂止损
|
||||
autoStopLossMinutes: number; // 默认 10 分钟
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、止盈策略
|
||||
|
||||
### 4.1 固定止盈
|
||||
|
||||
设置固定盈利目标,达到后平仓:
|
||||
|
||||
```
|
||||
多头止盈 = 入场价 × (1 + 止盈百分比)
|
||||
```
|
||||
|
||||
**建议盈亏比**:至少 1.5:1,理想情况下 2:1 或 3:1
|
||||
|
||||
### 4.2 分批止盈
|
||||
|
||||
将目标仓位分批平仓,锁定部分利润同时保留上涨空间:
|
||||
|
||||
```
|
||||
第一批(50%):目标价 = 入场价 × 1.02(+2%)
|
||||
第二批(30%):目标价 = 入场价 × 1.05(+5%)
|
||||
第三批(20%):跟踪止损,让利润奔跑
|
||||
```
|
||||
|
||||
### 4.3 指标止盈
|
||||
|
||||
当反向信号出现时平仓,而非设置固定目标:
|
||||
|
||||
- RSI 进入超买区(> 70)→ 平多仓
|
||||
- MACD 死叉 → 平多仓
|
||||
- SuperTrend 反转 → 平多仓
|
||||
|
||||
---
|
||||
|
||||
## 五、杠杆管理
|
||||
|
||||
### 5.1 杠杆与风险的关系
|
||||
|
||||
| 杠杆 | 2% 价格波动的账户影响 | 清算距离(假设 10% 保证金) |
|
||||
|------|---------------------|---------------------------|
|
||||
| 1x | 2% | 无清算 |
|
||||
| 5x | 10% | 20% |
|
||||
| 10x | 20% | 10% |
|
||||
| 20x | 40% | 5% |
|
||||
|
||||
**建议**:对于量化策略,建议使用 1-3 倍杠杆,避免因短期波动被清算。
|
||||
|
||||
### 5.2 tradehk 杠杆设置
|
||||
|
||||
tradehk 默认杠杆为 1(无杠杆),可在风险设置中调整。建议:
|
||||
- 趋势跟踪策略:1-2 倍杠杆
|
||||
- 均值回归策略:1 倍杠杆(高频反转,不适合高杠杆)
|
||||
- 套利策略:可适当使用 3-5 倍杠杆(风险较低)
|
||||
|
||||
---
|
||||
|
||||
## 六、多策略风险分散
|
||||
|
||||
### 6.1 策略相关性管理
|
||||
|
||||
同时运行多个策略时,应确保策略之间的相关性较低:
|
||||
|
||||
```python
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
def calculate_strategy_correlation(returns_dict: dict) -> pd.DataFrame:
|
||||
"""
|
||||
计算多个策略收益率之间的相关性
|
||||
"""
|
||||
returns_df = pd.DataFrame(returns_dict)
|
||||
return returns_df.corr()
|
||||
|
||||
# 理想情况:策略相关性 < 0.3
|
||||
# 如果两个策略相关性 > 0.7,考虑减少其中一个的仓位
|
||||
```
|
||||
|
||||
### 6.2 品种分散
|
||||
|
||||
在不同品种上运行策略,降低单一资产风险:
|
||||
|
||||
- BTC 趋势策略 + ETH 趋势策略(相关性 ~0.7,部分分散)
|
||||
- BTC 趋势策略 + XAUT 趋势策略(相关性 ~0.3,较好分散)
|
||||
- 加密货币策略 + 代币化美股策略(相关性较低)
|
||||
|
||||
---
|
||||
|
||||
## 七、极端风险管理
|
||||
|
||||
### 7.1 黑天鹅事件应对
|
||||
|
||||
加密货币市场历史上的极端事件:
|
||||
- 2022 年 5 月:Luna/UST 崩盘,BTC 单日跌幅 > 30%
|
||||
- 2022 年 11 月:FTX 破产,BTC 单周跌幅 > 25%
|
||||
- 2020 年 3 月:新冠疫情,BTC 单日跌幅 > 50%
|
||||
|
||||
**应对措施**:
|
||||
- 设置账户级最大亏损限制(如 20%),触发后暂停所有策略
|
||||
- 在极端波动时(ATR 急剧扩大)自动减仓
|
||||
- 分散交易所风险,不将所有资金存放在单一交易所
|
||||
|
||||
### 7.2 交易所风险
|
||||
|
||||
- 不在单一交易所存放超过总资金的 30%
|
||||
- 优先选择有保险基金的头部交易所(Binance、Coinbase)
|
||||
- 定期将利润提现到冷钱包
|
||||
|
||||
---
|
||||
|
||||
## 参考资料
|
||||
|
||||
- tradehk 项目类型定义:`client/src/lib/types.ts`(RiskSettings 接口)
|
||||
- Whaleportal. "Quantitative Crypto Trading: Risk Management". https://whaleportal.com/
|
||||
- Investopedia. "Kelly Criterion". https://www.investopedia.com/terms/k/kellycriterion.asp
|
||||
在新工单中引用
屏蔽一个用户