- 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黄金、代币化美股
317 行
10 KiB
Markdown
317 行
10 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
|