变更统计: - 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式交叉引用)
18 KiB
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 实现框架:
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 是专为金融强化学习设计的开源框架:
# 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 可以分析新闻、社交媒体、财报等非结构化文本,提取市场情绪信号:
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 线图像和文本数据的多模态分析:
# 将 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 中的所有技术指标作为机器学习模型的输入特征:
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 标签构建
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
参考资料
附录:数据说明与补充
本附录旨在对文档中涉及的核心概念、技术指标及模型参数提供更详尽的说明,以增强内容的可操作性和学术严谨性。内容涵盖数据规范、参数参考、应用场景及常见误区,为研究人员和实践者提供实践指导。
一、核心技术指标数据说明
在量化交易的机器学习模型中,输入特征的质量直接决定了模型的成败。下表详细梳理了文档中提及的关键技术指标的计算方法、数据属性及来源,以确保数据处理的一致性和准确性。
| 指标名称 (Indicator) | 计算公式 (LaTeX) | 数据范围 | 单位 | 精度要求 | 数据来源 |
|---|---|---|---|---|---|
| 相对强弱指数 (RSI) | RSI = 100 - \frac{100}{1 + RS} RS = \frac{Avg. Gain}{Avg. Loss} |
[0, 100] | 无 | 小数点后 2-4 位 | K 线收盘价 |
| 平滑异同移动平均线 (MACD) | MACD = EMA_{short}(C) - EMA_{long}(C) 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 $TR = max[(H-L), |
H-C_{prev} | , | L-C_{prev} | ]$ |
| 布林带宽度 (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 | 特征数量,根据特征工程的结果确定 | |
| 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 数组格式,每个元素代表一个时间步的数据点。
[
{
"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 对象,便于程序解析和后续处理。
{
"sentiment_score": 7.5, // 情绪评分,-10 到 +10
"affected_assets": ["BTC", "ETH"], // 影响的主要资产
"duration_hours": 24, // 预期影响持续时间(小时)
"confidence": 0.85 // 置信度,0 到 1
}
四、核心概念应用场景
理论与实践的结合是量化投资成功的关键。以下为文档中核心 AI 模型的实际应用场景。
-
LSTM 价格预测
- 高频套利:在分钟级 K 线上训练 LSTM 模型,预测未来几个时间步的价格变动方向。当模型预测上涨概率超过阈值时执行买入,反之卖出,以捕捉微小的价格波动获利。
- 动态止损止盈:将 LSTM 预测的未来价格分布作为输入,动态调整现有头寸的止损位和止盈位。例如,若模型预测未来波动率将显著放大,则相应放宽止损范围,避免被市场噪音提前洗出。
-
强化学习 (RL) 交易
- 自动化做市策略:在去中心化交易所 (DEX) 中,训练一个强化学习 Agent,使其学会在不同市场状态下(如高波动、低流动性)智能地调整买卖报价的价差 (spread) 和深度 (depth),以最大化做市收益并控制库存风险。
- 多资产动态资产配置:使用 PPO 等高级 RL 算法,训练 Agent 管理一个包含多种加密货币(如 BTC, ETH, SOL)的投资组合。Agent 的状态(State)不仅包括价格信息,还包括资产间的相关性矩阵,动作(Action)是调整各项资产的权重,奖励(Reward)则设置为优化整体投资组合的夏普比率。
-
LLM 情绪分析
- 事件驱动交易:实时监控来自新闻、社交媒体(如 X/Twitter)和监管机构公告的文本数据。利用 LLM 快速分析文本中蕴含的市场情绪,当检测到重大利好或利空消息时(如某代币通过重要提案、或遭遇安全漏洞),自动执行交易指令,抢占市场先机。
- Alpha 因子挖掘:将 LLM 提取的结构化情绪数据(如情绪评分、主题)作为一种新型Alpha 因子,与传统的价格、成交量因子结合,输入到更复杂的机器学习模型中,以提升整体策略的预测能力和夏普比率。
五、常见误区与正确理解
在应用 AI 进行量化投资时,初学者和部分从业者容易陷入一些误区。澄清这些问题有助于建立科学、理性的投资框架。
-
误区:AI 模型能够精确预测未来价格。
- 正确理解:金融市场是高度复杂的混沌系统,任何模型都无法实现 100% 准确的预测。AI 模型的价值在于提供概率优势,即在大量交易中,其预测的胜率和盈亏比能够覆盖交易成本并产生正向期望收益。应将 AI 视为决策辅助工具,而非水晶球。
-
误区:模型越复杂(如参数量越大的 Transformer),效果一定越好。
-
误区:历史回测的高收益意味着未来也能盈利。
- 正确理解:完美的回测曲线往往是过度优化(Curve Fitting)的结果。必须警惕未来函数、幸存者偏差、交易成本被忽略等回测陷阱。一个可靠的回测需要经过严格的样本外测试、前向测试,并进行稳健性分析(如蒙特卡洛模拟),同时要充分考虑滑点、手续费等实际交易成本。
-
误区:LLM 情绪分析是一个独立的、可持续盈利的策略。
- 正确理解:基于情绪分析的信号通常具有很强的时效性,其有效性会随着市场关注度的提升而快速衰减。因此,单纯依赖情绪分析很难构建长期稳健的策略。更有效的方法是将其作为一种另类数据源,融入多因子模型框架中,与其他低相关性的 Alpha 因子共同作用。
-
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 ↩︎
-
"Developing Cryptocurrency Trading Strategy Based on Autoencoder". arXiv:2412.18202. https://arxiv.org/abs/2412.18202 ↩︎
-
"Technical Analysis Meets Machine Learning: Bitcoin Evidence". arXiv:2511.00665, 2025. https://arxiv.org/abs/2511.00665 ↩︎
-
"Reinforcement Learning Framework for Quantitative Trading". arXiv:2411.07585, 2024. https://arxiv.org/abs/2411.07585 ↩︎
-
"Meta-Learning Reinforcement Learning for Crypto-Return Prediction". arXiv:2509.09751, 2025. https://arxiv.org/abs/2509.09751 ↩︎