变更统计: - 70个文件变更 (39个新增 + 31个修改) - 新增 6554 行内容 优化内容: 1. 30个核心文档增加附录(数据说明/计算公式/参数表/使用场景/常见误区) - 第一批: 量化基础/技术指标/策略/信号/品种/数据流/回测/风控/链上/EWO - 第二批: AI/案例复盘/多Agent/Hyperliquid/KOL/期权/RWA/券商/BTC/主流币 - 第三批: ETH/SOL/BNB_DOGE/XAUT/代币化美股/信号优化/tradehk系统 2. 新增38个名词解释wiki条目(Delta对冲/Gamma/Theta/Vega/IV/VaR/CVaR等) 3. 更新全局术语表索引(79个术语/12大类/知识图谱/学习路径) 4. 新增内部链接体系(wiki式交叉引用)
424 行
18 KiB
Markdown
424 行
18 KiB
Markdown
# AI 量化投资前沿
|
||
|
||
> 本文档梳理人工智能在量化投资领域的最新进展,涵盖深度学习、强化学习和大语言模型(LLM)三个主要方向,并重点介绍与加密货币交易相关的研究成果。
|
||
|
||
---
|
||
|
||
## 一、AI 量化投资发展综述
|
||
|
||
根据 2025 年 arXiv 综述论文《From Deep Learning to LLMs: A survey of AI in Quantitative Investment》[^1],AI 在量化投资中的应用经历了三个阶段:
|
||
|
||
### 1.1 传统统计阶段(1970s-2010s)
|
||
|
||
以人工设计因子为主,依赖统计模型(线性回归、ARIMA 等)。核心工作流:
|
||
|
||
```
|
||
人工因子挖掘 → 因子检验 → 组合构建 → 风险控制
|
||
```
|
||
|
||
**代表性方法**:
|
||
- Fama-French 三因子模型(市场、规模、价值)
|
||
- 动量因子、反转因子
|
||
- 统计套利(协整检验)
|
||
|
||
### 1.2 深度学习阶段(2010s-2020s)
|
||
|
||
深度学习使自动特征提取成为可能,端到端学习替代人工因子设计。
|
||
|
||
**主要模型**:
|
||
|
||
| 模型 | 特点 | 应用场景 |
|
||
|------|------|----------|
|
||
| LSTM | 处理时序依赖关系 | 价格预测、趋势识别 |
|
||
| Transformer | 自注意力机制,捕捉长距离依赖 | 多资产相关性建模 |
|
||
| CNN | 局部特征提取 | K 线图像识别 |
|
||
| GAN | 生成对抗网络 | 数据增强、压力测试 |
|
||
| Autoencoder | 降维、去噪 | 特征提取、异常检测 |
|
||
|
||
### 1.3 大模型与 Agent 阶段(2020s-至今)
|
||
|
||
LLM 能够处理非结构化数据(新闻、财报、社交媒体),强化学习 Agent 实现端到端自主决策。
|
||
|
||
---
|
||
|
||
## 二、深度学习价格预测
|
||
|
||
### 2.1 LSTM 价格预测
|
||
|
||
**原理**:LSTM(长短期记忆网络)通过门控机制解决传统 RNN 的梯度消失问题,适合处理金融时序数据。
|
||
|
||
**arXiv 论文参考**:
|
||
- 《Developing Cryptocurrency Trading Strategy Based on Autoencoder》(arXiv:2412.18202)[^2]
|
||
- 使用去噪自编码器提取价格序列的低维特征
|
||
- 结合 LSTM 进行价格预测
|
||
- 在 BTC、ETH 等主流币上验证
|
||
|
||
**Python 实现框架**:
|
||
```python
|
||
import torch
|
||
import torch.nn as nn
|
||
|
||
class CryptoPriceLSTM(nn.Module):
|
||
def __init__(self, input_size=10, hidden_size=64, num_layers=2, output_size=1):
|
||
super().__init__()
|
||
self.lstm = nn.LSTM(
|
||
input_size=input_size,
|
||
hidden_size=hidden_size,
|
||
num_layers=num_layers,
|
||
batch_first=True,
|
||
dropout=0.2
|
||
)
|
||
self.fc = nn.Linear(hidden_size, output_size)
|
||
|
||
def forward(self, x):
|
||
# x: (batch_size, seq_len, input_size)
|
||
lstm_out, _ = self.lstm(x)
|
||
# 取最后一个时间步的输出
|
||
output = self.fc(lstm_out[:, -1, :])
|
||
return output
|
||
|
||
# 输入特征:OHLCV + 技术指标(RSI、MACD、EWO 等)
|
||
# 输出:下一根 K 线的涨跌方向(分类)或价格(回归)
|
||
```
|
||
|
||
### 2.2 Transformer 在量化中的应用
|
||
|
||
**原理**:Transformer 的自注意力机制能够同时考虑序列中所有时间步之间的关系,特别适合捕捉市场中的长距离依赖。
|
||
|
||
**arXiv 论文参考**:
|
||
- 《Technical Analysis Meets Machine Learning: Bitcoin Evidence》(arXiv:2511.00665)[^3]
|
||
- 比较 LightGBM 和 LSTM 在 BTC 技术分析信号预测中的表现
|
||
- 发现机器学习模型能够有效整合多个技术指标信号
|
||
|
||
---
|
||
|
||
## 三、强化学习交易策略
|
||
|
||
### 3.1 强化学习框架
|
||
|
||
**核心概念**:
|
||
- **状态(State)**:市场当前状态(价格、指标值、持仓等)
|
||
- **动作(Action)**:买入、卖出、持仓
|
||
- **奖励(Reward)**:收益率、夏普比率等
|
||
- **策略(Policy)**:从状态到动作的映射函数
|
||
|
||
**arXiv 论文参考**:
|
||
- 《Reinforcement Learning Framework for Quantitative Trading》(arXiv:2411.07585)[^4]
|
||
- 在 30 分钟加密货币交易窗口内测试
|
||
- 使用 PPO(近端策略优化)算法
|
||
|
||
- 《Meta-Learning Reinforcement Learning for Crypto-Return Prediction》(arXiv:2509.09751)[^5]
|
||
- 提出 Meta-RL-Crypto 框架,结合元学习和强化学习
|
||
- 解决加密货币市场非平稳性问题
|
||
|
||
### 3.2 FinRL 框架
|
||
|
||
FinRL 是专为金融强化学习设计的开源框架:
|
||
|
||
```python
|
||
# FinRL 使用示例(加密货币交易)
|
||
from finrl.meta.env_cryptocurrency_trading.env_multiple_crypto import CryptoEnv
|
||
from finrl.agents.stablebaselines3.models import DRLAgent
|
||
|
||
# 创建交易环境
|
||
env = CryptoEnv(
|
||
df=price_data,
|
||
initial_amount=10000,
|
||
crypto_dim=5, # 5 种加密货币
|
||
tech_indicator_list=['macd', 'rsi', 'cci', 'dx']
|
||
)
|
||
|
||
# 训练 PPO 智能体
|
||
agent = DRLAgent(env=env)
|
||
model = agent.get_model("ppo")
|
||
trained_model = agent.train_model(
|
||
model=model,
|
||
tb_log_name='ppo_crypto',
|
||
total_timesteps=50000
|
||
)
|
||
```
|
||
|
||
### 3.3 强化学习的挑战
|
||
|
||
- **非平稳性**:加密货币市场规律随时间变化,历史经验可能失效
|
||
- **稀疏奖励**:长期持仓策略中,大多数时间步奖励为零
|
||
- **过拟合**:RL 模型容易过拟合历史数据
|
||
- **计算成本**:训练需要大量计算资源
|
||
|
||
---
|
||
|
||
## 四、大语言模型(LLM)在量化中的应用
|
||
|
||
### 4.1 情绪分析
|
||
|
||
LLM 可以分析新闻、社交媒体、财报等非结构化文本,提取市场情绪信号:
|
||
|
||
```python
|
||
from openai import OpenAI
|
||
|
||
client = OpenAI()
|
||
|
||
def analyze_crypto_sentiment(news_text: str) -> dict:
|
||
"""
|
||
使用 LLM 分析加密货币新闻情绪
|
||
"""
|
||
response = client.chat.completions.create(
|
||
model="gpt-4.1-mini",
|
||
messages=[
|
||
{
|
||
"role": "system",
|
||
"content": "你是一个专业的加密货币市场分析师。请分析以下新闻对市场的影响。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": f"""
|
||
请分析以下新闻的市场情绪,并给出:
|
||
1. 情绪评分(-10 到 +10,负数看空,正数看多)
|
||
2. 影响的主要资产
|
||
3. 预期影响持续时间
|
||
4. 置信度(0-100%)
|
||
|
||
新闻内容:{news_text}
|
||
"""
|
||
}
|
||
],
|
||
response_format={"type": "json_object"}
|
||
)
|
||
return response.choices[0].message.content
|
||
|
||
# 应用场景:
|
||
# - 监控 Twitter/X 上的 KOL 发言
|
||
# - 分析 SEC 文件对代币化股票的影响
|
||
# - 解读美联储声明对加密货币市场的影响
|
||
```
|
||
|
||
### 4.2 LLM Alpha 因子生成
|
||
|
||
**arXiv 论文参考**:
|
||
- 《From Deep Learning to LLMs: A survey of AI in Quantitative Investment》(arXiv:2503.21422)[^1]
|
||
- LLM 可以自动生成 Alpha 因子代码
|
||
- 通过迭代优化,LLM Agent 能够发现人工难以发现的规律
|
||
|
||
**工作流程**:
|
||
```
|
||
1. LLM 分析历史市场数据特征
|
||
2. 生成候选 Alpha 因子代码
|
||
3. 自动回测评估因子有效性
|
||
4. 筛选有效因子,组合成策略
|
||
5. 循环迭代优化
|
||
```
|
||
|
||
### 4.3 多模态分析
|
||
|
||
结合 K 线图像和文本数据的多模态分析:
|
||
|
||
```python
|
||
# 将 K 线图转换为图像,输入视觉 LLM 分析
|
||
# 示例:使用 GPT-4V 分析 K 线形态
|
||
def analyze_kline_pattern(image_path: str) -> str:
|
||
import base64
|
||
|
||
with open(image_path, 'rb') as f:
|
||
image_data = base64.b64encode(f.read()).decode()
|
||
|
||
response = client.chat.completions.create(
|
||
model="gpt-4.1-mini",
|
||
messages=[
|
||
{
|
||
"role": "user",
|
||
"content": [
|
||
{
|
||
"type": "image_url",
|
||
"image_url": {"url": f"data:image/png;base64,{image_data}"}
|
||
},
|
||
{
|
||
"type": "text",
|
||
"text": "请分析这张 K 线图的技术形态,识别支撑位、阻力位和可能的趋势方向。"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
)
|
||
return response.choices[0].message.content
|
||
```
|
||
|
||
---
|
||
|
||
## 五、机器学习特征工程
|
||
|
||
### 5.1 技术指标作为特征
|
||
|
||
将 tradehk 中的所有技术指标作为机器学习模型的输入特征:
|
||
|
||
```python
|
||
def create_feature_matrix(df: pd.DataFrame) -> pd.DataFrame:
|
||
"""
|
||
从 K 线数据创建机器学习特征矩阵
|
||
"""
|
||
features = pd.DataFrame(index=df.index)
|
||
|
||
# 价格特征
|
||
features['returns_1'] = df['close'].pct_change(1)
|
||
features['returns_5'] = df['close'].pct_change(5)
|
||
features['returns_20'] = df['close'].pct_change(20)
|
||
|
||
# 趋势特征
|
||
features['ma10'] = df['close'].rolling(10).mean()
|
||
features['ma100'] = df['close'].rolling(100).mean()
|
||
features['price_ma10_ratio'] = df['close'] / features['ma10']
|
||
|
||
# 动量特征
|
||
features['rsi14'] = calculate_rsi(df['close'], 14)
|
||
features['macd'] = calculate_macd(df['close'])
|
||
features['ewo'] = calculate_ewo(df['close'])
|
||
|
||
# 波动率特征
|
||
features['atr14'] = calculate_atr(df, 14)
|
||
features['bb_width'] = calculate_bb_width(df['close'], 20)
|
||
|
||
# 成交量特征
|
||
features['volume_ratio'] = df['volume'] / df['volume'].rolling(20).mean()
|
||
features['obv'] = calculate_obv(df['close'], df['volume'])
|
||
|
||
return features.dropna()
|
||
```
|
||
|
||
### 5.2 标签构建
|
||
|
||
```python
|
||
def create_labels(df: pd.DataFrame, horizon: int = 5, threshold: float = 0.01) -> pd.Series:
|
||
"""
|
||
构建分类标签
|
||
horizon: 预测未来 N 根 K 线
|
||
threshold: 涨跌幅阈值
|
||
"""
|
||
future_returns = df['close'].pct_change(horizon).shift(-horizon)
|
||
|
||
labels = pd.Series(0, index=df.index) # 0 = 持仓
|
||
labels[future_returns > threshold] = 1 # 1 = 买入
|
||
labels[future_returns < -threshold] = -1 # -1 = 卖出
|
||
|
||
return labels
|
||
```
|
||
|
||
---
|
||
|
||
## 参考资料
|
||
|
||
[^1]: Cao, B. et al. "From Deep Learning to LLMs: A survey of AI in Quantitative Investment". arXiv:2503.21422, 2025. https://arxiv.org/abs/2503.21422
|
||
|
||
[^2]: "Developing Cryptocurrency Trading Strategy Based on Autoencoder". arXiv:2412.18202. https://arxiv.org/abs/2412.18202
|
||
|
||
[^3]: "Technical Analysis Meets Machine Learning: Bitcoin Evidence". arXiv:2511.00665, 2025. https://arxiv.org/abs/2511.00665
|
||
|
||
[^4]: "Reinforcement Learning Framework for Quantitative Trading". arXiv:2411.07585, 2024. https://arxiv.org/abs/2411.07585
|
||
|
||
[^5]: "Meta-Learning Reinforcement Learning for Crypto-Return Prediction". arXiv:2509.09751, 2025. https://arxiv.org/abs/2509.09751
|
||
|
||
---
|
||
|
||
## 附录:数据说明与补充
|
||
|
||
本附录旨在对文档中涉及的核心概念、技术指标及模型参数提供更详尽的说明,以增强内容的可操作性和学术严谨性。内容涵盖数据规范、参数参考、应用场景及常见误区,为研究人员和实践者提供实践指导。
|
||
|
||
### 一、核心技术指标数据说明
|
||
|
||
在量化交易的机器学习模型中,输入特征的质量直接决定了模型的成败。下表详细梳理了文档中提及的关键技术指标的计算方法、数据属性及来源,以确保数据处理的一致性和准确性。
|
||
|
||
| 指标名称 (Indicator) | 计算公式 (LaTeX) | 数据范围 | 单位 | 精度要求 | 数据来源 |
|
||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||
| **相对强弱指数 (RSI)** | $RSI = 100 - \frac{100}{1 + RS}$ <br> $RS = \frac{Avg. Gain}{Avg. Loss}$ | [0, 100] | 无 | 小数点后 2-4 位 | K 线收盘价 |
|
||
| **平滑异同移动平均线 (MACD)** | $MACD = EMA_{short}(C) - EMA_{long}(C)$ <br> $Signal = EMA_{signal}(MACD)$ | $(-\infty, +\infty)$ | 价格单位 | 小数点后 4-8 位 | K 线收盘价 |
|
||
| **指数加权移动平均线 (EWO)** | $EWO_t = \alpha \cdot C_t + (1-\alpha) \cdot EWO_{t-1}$ | $(0, +\infty)$ | 价格单位 | 小数点后 4-8 位 | K 线收盘价 |
|
||
| **真实波幅均值 (ATR)** | $ATR = \frac{1}{n} \sum_{i=1}^{n} TR_i$ <br> $TR = max[(H-L), |H-C_{prev}|, |L-C_{prev}|]$ | $(0, +\infty)$ | 价格单位 | 小数点后 4-8 位 | K 线 OHLC 价 |
|
||
| **布林带宽度 (BB Width)** | $BBW = \frac{UpperBand - LowerBand}{MiddleBand}$ | $[0, +\infty)$ | 百分比 (%) | 小数点后 2-4 位 | K 线收盘价 |
|
||
| **能量潮 (OBV)** | $OBV_t = OBV_{t-1} + sign(C_t - C_{t-1}) \cdot V_t$ | $(-\infty, +\infty)$ | 成交量单位 | 整数 | K 线收盘价与成交量 |
|
||
|
||
**注**:公式中的 $C$ 代表收盘价,$H$ 为最高价,$L$ 为最低价,$V$ 为成交量。$EMA$ 指数移动平均。数据来源通常为交易所提供的原始 K 线数据(OHLCV)。
|
||
|
||
### 二、模型关键参数参考
|
||
|
||
AI 模型的性能高度依赖于参数选择。下表为文档中关键模型提供了参数的推荐值与一般取值范围,供模型训练时参考。
|
||
|
||
| 模型/模块 | 参数名称 | 推荐值 | 取值范围/说明 |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **LSTM 价格预测** | `hidden_size` | 128 | [32, 256],取决于特征维度和数据复杂性 |
|
||
| | `num_layers` | 2 | [1, 4],层数过多易导致过拟合 |
|
||
| | `dropout` | 0.2 | [0.1, 0.5],用于正则化,防止过拟合 |
|
||
| | `input_size` | 10 | 特征数量,根据[特征工程](../../wiki/名词解释/特征工程.md)的结果确定 |
|
||
| **FinRL (PPO 算法)** | `initial_amount` | 10,000 | 初始资金,单位为计价货币 (如 USDT) |
|
||
| | `crypto_dim` | 5 | 交易的加密货币种类数量 |
|
||
| | `total_timesteps` | 50,000 | [20000, 100000+],训练步长,越大训练越充分 |
|
||
| **分类标签构建** | `horizon` | 5 | [1, 20],预测时间窗口,单位为 K 线周期 |
|
||
| | `threshold` | 0.01 | [0.005, 0.03],定义涨/跌的最小回报率阈值 |
|
||
|
||
### 三、数据格式规范
|
||
|
||
为确保不同模块间的数据交互顺畅,定义标准的数据输入输出格式至关重要。
|
||
|
||
**1. K 线输入数据 (JSON 数组)**
|
||
|
||
K 线数据应采用 JSON 数组格式,每个元素代表一个时间步的数据点。
|
||
|
||
```json
|
||
[
|
||
{
|
||
"timestamp": 1672531200000, // Unix 毫秒时间戳
|
||
"open": 16500.00,
|
||
"high": 16550.50,
|
||
"low": 16480.20,
|
||
"close": 16525.30,
|
||
"volume": 120.5 // 交易量,单位为基础资产 (如 BTC)
|
||
},
|
||
// ... more k-line data
|
||
]
|
||
```
|
||
|
||
- **字段类型**:`timestamp` 为整数 (Integer),其余价格和成交量字段为浮点数 (Float)。
|
||
- **时间戳格式**:推荐使用 **Unix 毫-秒时间戳**,便于跨语言处理且精度较高。
|
||
|
||
**2. LLM 情绪分析输出 (JSON 对象)**
|
||
|
||
LLM 分析结果应为结构化的 JSON 对象,便于程序解析和后续处理。
|
||
|
||
```json
|
||
{
|
||
"sentiment_score": 7.5, // 情绪评分,-10 到 +10
|
||
"affected_assets": ["BTC", "ETH"], // 影响的主要资产
|
||
"duration_hours": 24, // 预期影响持续时间(小时)
|
||
"confidence": 0.85 // 置信度,0 到 1
|
||
}
|
||
```
|
||
|
||
### 四、核心概念应用场景
|
||
|
||
理论与实践的结合是量化投资成功的关键。以下为文档中核心 AI 模型的实际应用场景。
|
||
|
||
- **LSTM 价格预测**
|
||
1. **高频套利**:在分钟级 K 线上训练 LSTM 模型,预测未来几个时间步的价格变动方向。当模型预测上涨概率超过阈值时执行买入,反之卖出,以捕捉微小的价格波动获利。
|
||
2. **动态止损止盈**:将 LSTM 预测的未来价格分布作为输入,动态调整现有头寸的止损位和止盈位。例如,若模型预测未来波动率将显著放大,则相应放宽止损范围,避免被市场噪音提前洗出。
|
||
|
||
- **强化学习 (RL) 交易**
|
||
1. **自动化做市策略**:在去中心化交易所 (DEX) 中,训练一个[强化学习](../../wiki/名词解释/强化学习.md) Agent,使其学会在不同市场状态下(如高波动、低流动性)智能地调整买卖报价的价差 (spread) 和深度 (depth),以最大化做市收益并控制库存风险。
|
||
2. **多资产动态资产配置**:使用 PPO 等高级 RL 算法,训练 Agent 管理一个包含多种加密货币(如 BTC, ETH, SOL)的投资组合。Agent 的[状态(State)](../../wiki/名词解释/状态.md)不仅包括价格信息,还包括资产间的相关性矩阵,[动作(Action)](../../wiki/名词解释/动作.md)是调整各项资产的权重,[奖励(Reward)](../../wiki/名词解释/奖励.md)则设置为优化整体投资组合的[夏普比率](../../wiki/名词解释/夏普比率.md)。
|
||
|
||
- **LLM 情绪分析**
|
||
1. **事件驱动交易**:实时监控来自新闻、社交媒体(如 X/Twitter)和监管机构公告的文本数据。利用 LLM 快速分析文本中蕴含的市场情绪,当检测到重大利好或利空消息时(如某代币通过重要提案、或遭遇安全漏洞),自动执行交易指令,抢占市场先机。
|
||
2. **Alpha 因子挖掘**:将 LLM 提取的结构化情绪数据(如情绪评分、主题)作为一种新型[Alpha 因子](../../wiki/名词解释/Alpha因子.md),与传统的价格、成交量因子结合,输入到更复杂的机器学习模型中,以提升整体策略的预测能力和夏普比率。
|
||
|
||
### 五、常见误区与正确理解
|
||
|
||
在应用 AI 进行量化投资时,初学者和部分从业者容易陷入一些误区。澄清这些问题有助于建立科学、理性的投资框架。
|
||
|
||
1. **误区:AI 模型能够精确预测未来价格。**
|
||
- **正确理解**:金融市场是高度复杂的混沌系统,任何模型都无法实现 100% 准确的预测。AI 模型的价值在于提供概率优势,即在大量交易中,其预测的胜率和盈亏比能够覆盖交易成本并产生正向期望收益。应将 AI 视为决策辅助工具,而非水晶球。
|
||
|
||
2. **误区:模型越复杂(如参数量越大的 Transformer),效果一定越好。**
|
||
- **正确理解**:模型的复杂性必须与数据的信噪比和样本量相匹配。在金融这种高噪声领域,过于复杂的模型极易发生[过拟合](../../wiki/名词解释/过拟合.md),即在历史数据上表现完美,但在未来实盘中表现糟糕。奥卡姆剃刀原则在此同样适用:如无必要,勿增实体。简单的模型(如 LightGBM)有时比复杂的[深度学习](../../wiki/名词解释/深度学习.md)模型更稳健。
|
||
|
||
3. **误区:历史回测的高收益意味着未来也能盈利。**
|
||
- **正确理解**:完美的回测曲线往往是过度优化(Curve Fitting)的结果。必须警惕未来函数、幸存者偏差、交易成本被忽略等回测陷阱。一个可靠的回测需要经过严格的样本外测试、前向测试,并进行稳健性分析(如蒙特卡洛模拟),同时要充分考虑滑点、手续费等实际交易成本。
|
||
|
||
4. **误区:LLM 情绪分析是一个独立的、可持续盈利的策略。**
|
||
- **正确理解**:基于情绪分析的信号通常具有很强的时效性,其有效性会随着市场关注度的提升而快速衰减。因此,单纯依赖情绪分析很难构建长期稳健的策略。更有效的方法是将其作为一种另类数据源,融入多因子模型框架中,与其他低相关性的 Alpha 因子共同作用。
|