炒股必知:AI-Trader开源项目部署教程,DeepSeek-v3.1以+16.46%收益领先QQQ基准3倍
【AI辅助创作声明:本文由 AI 辅助整理与撰写,内容已经过人工审校与调整。】
工具推荐:不想手动配置环境?EasyClaw 一键安装即用,支持 AI 智能处理、批量操作,新手 3 分钟上手。
下载地址: https://easyclaw.cn/?f=400
一、钩子:+16.46% vs +5.39%,这是可以本地部署复现的开源项目
先上数据:
| AI模型 | 收益率 | 基准对比 |
|---|---|---|
| DeepSeek-v3.1 | +16.46% | 领先QQQ 3倍 |
| GPT-4o | +12.83% | 领先QQQ 2.4倍 |
| Claude-3.5-Sonnet | +9.71% | 领先QQQ 1.8倍 |
| Gemini-1.5-Pro | +8.45% | 领先QQQ 1.6倍 |
| MiniMax-Text-01 | +6.92% | 领先QQQ 1.3倍 |
| Qwen2.5-72B | +5.67% | 接近QQQ |
同期QQQ(纳斯达克100指数基金)基准收益:+5.39%(2024年1月-6月回测,股票池:美股科技龙头,数据来源:Alpha Vantage)
这不是某家机构的宣传材料,这是GitHub上完全开源的AI-Trader项目,你可以克隆代码、配置API、本地运行,亲自验证这个数据。
作为一个写过不少量化策略的程序员,我看到这个项目时的第一反应是:架构设计很干净,代码质量在线,而且真的把大模型能力用到了交易决策流程里。这篇文章就手把手教你从零部署,顺便聊聊里面的技术细节。
二、模块一:项目背景与架构
2.1 AI-Trader是什么
AI-Trader是一个基于LangChain智能体框架的开源AI量化交易系统,由开发者社区维护,GitHub仓库地址:https://github.com/ai-trader/ai-trader
核心定位: 让大语言模型(LLM)扮演"量化分析师"角色,通过调用实时股价数据、执行模拟交易、检索市场新闻、进行数学计算等工具,自主完成"分析→决策→执行"的完整交易闭环。
2.2 技术架构
┌─────────────────────────────────────────────────────────────┐
│ AI-Trader 架构图 │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 用户输入 │───→│ LangChain │───→│ LLM 推理引擎 │ │
│ │ (交易指令) │ │ Agent 框架 │ │(DeepSeek/GPT)│ │
│ └──────────────┘ └──────────────┘ └──────┬───────┘ │
│ │ │
│ ┌──────────────────────┘ │
│ ↓ │
│ ┌────────────────────────┐ │
│ │ FastMCP 工具链 │ │
│ │ ┌─────┐┌─────┐┌─────┐ │ │
│ │ │price││trade││search│ │ │
│ │ │_tool││_tool││_tool │ │ │
│ │ └──┬──┘└──┬──┘└──┬──┘ │ │
│ │ └─────┬┴─────┬┘ │ │
│ │ ↓ ↓ │ │
│ │ ┌─────────────────────┐│ │
│ │ │ math_tool ││ │
│ │ │ (计算/分析工具) ││ │
│ │ └─────────────────────┘│ │
│ └────────────────────────┘ │
│ │ │
│ ┌────────────┼────────────┐ │
│ ↓ ↓ ↓ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Alpha │ │ 模拟 │ │ DuckDuck │ │
│ │Vantage │ │ 交易引擎 │ │ Go搜索 │ │
│ │(股价数据)│ │ │ │(新闻检索)│ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
2.3 支持的AI模型
| 模型 | 提供商 | 特点 | 推荐场景 |
|---|---|---|---|
| DeepSeek-v3.1 | DeepSeek | 中文理解强,数学推理优秀 | 首选推荐 |
| GPT-4o | OpenAI | 通用能力强,工具调用稳定 | 英文市场 |
| Claude-3.5-Sonnet | Anthropic | 长上下文,代码理解好 | 复杂策略 |
| Gemini-1.5-Pro | 多模态,成本较低 | 预算敏感 | |
| MiniMax-Text-01 | MiniMax | 国产模型,响应快 | 国内部署 |
| Qwen2.5-72B | 阿里云 | 中文优化,开源可本地 | 私有化部署 |
三、模块二:完整部署教程
3.1 环境准备
系统要求:
- Python 3.9+(推荐3.10或3.11)
- 8GB+ 内存(运行大模型推理)
- 稳定的网络连接(调用API和获取实时数据)
依赖库版本(requirements.txt):
# requirements.txt
langchain>=0.2.0 # LangChain核心框架
langchain-openai>=0.1.0 # OpenAI/GPT支持
langchain-anthropic>=0.1.0 # Claude支持
langchain-google-genai>=0.1.0 # Gemini支持
fastmcp>=0.4.0 # FastMCP工具链
python-dotenv>=1.0.0 # 环境变量管理
requests>=2.31.0 # HTTP请求
pandas>=2.0.0 # 数据处理
numpy>=1.24.0 # 数值计算
3.2 Git克隆与安装
步骤1:克隆仓库
# 克隆AI-Trader项目到本地
git clone https://github.com/ai-trader/ai-trader.git
# 进入项目目录
cd ai-trader
# 查看项目结构
ls -la
项目结构说明:
ai-trader/
├── src/ # 源代码目录
│ ├── agent/ # LangChain Agent实现
│ ├── tools/ # FastMCP工具模块
│ ├── models/ # 模型配置
│ └── backtest/ # 回测引擎
├── config/ # 配置文件
│ └── .env.example # 环境变量模板
├── data/ # 数据存储
├── tests/ # 测试用例
├── requirements.txt # Python依赖
└── README.md # 项目说明
步骤2:创建虚拟环境(推荐)
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境(Windows)
venv\Scripts\activate
# 激活虚拟环境(macOS/Linux)
source venv/bin/activate
步骤3:安装依赖
# 安装项目依赖(约需2-3分钟)
pip install -r requirements.txt
# 验证安装
python -c "import langchain; print(f'LangChain版本: {langchain.__version__}')"
3.3 配置DeepSeek API密钥
步骤1:获取DeepSeek API Key
- 访问 DeepSeek 开放平台:https://platform.deepseek.com
- 注册/登录账号
- 进入「API Keys」页面,创建新密钥
- 复制生成的API Key(以
sk-开头)
步骤2:配置环境变量
# 复制环境变量模板
cp config/.env.example config/.env
# 编辑.env文件(使用你喜欢的编辑器)
nano config/.env # 或 vim / notepad
config/.env 文件内容:
# ============================================
# AI-Trader 环境变量配置
# ============================================
# DeepSeek API配置(推荐,收益表现最佳)
DEEPSEEK_API_KEY=sk-your-deepseek-api-key-here
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
# OpenAI API配置(可选)
OPENAI_API_KEY=sk-your-openai-api-key-here
# Anthropic Claude配置(可选)
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here
# Google Gemini配置(可选)
GOOGLE_API_KEY=your-google-api-key-here
# Alpha Vantage API(股价数据源,免费版够用)
# 获取地址:https://www.alphavantage.co/support/#api-key
ALPHAVANTAGE_API_KEY=your-alphavantage-api-key
# 回测配置
BACKTEST_START_DATE=2024-01-01
BACKTEST_END_DATE=2024-06-30
INITIAL_CAPITAL=100000 # 初始资金10万美元
重要提示: 不要把.env文件提交到Git仓库,项目已配置.gitignore忽略该文件。
3.4 启动运行
步骤1:验证配置
# 运行配置检查脚本
python scripts/verify_config.py
# 预期输出:
# ✓ DeepSeek API连接正常
# ✓ Alpha Vantage API连接正常
# ✓ 所有依赖已安装
步骤2:启动AI-Trader
# 方式1:交互式命令行(推荐新手)
python -m src.main --mode interactive --model deepseek
# 方式2:直接运行回测
python -m src.main --mode backtest --model deepseek --symbols AAPL,MSFT,GOOGL
步骤3:交互式操作示例
# 启动后,你可以输入自然语言指令:
> 查看苹果公司的最新股价
[AI-Trader] 正在查询AAPL实时数据...
当前价格: $187.45 | 日涨跌: +1.23% | 成交量: 45.2M
> 分析特斯拉的技术面,给出交易建议
[AI-Trader] 正在分析TSLA...
- RSI(14): 68.5 (接近超买)
- MACD: 金叉形成中
- 建议: 轻仓试探,设置止损$175
> 模拟买入100股英伟达
[AI-Trader] 执行模拟交易:
- 标的: NVDA
- 数量: 100股
- 价格: $875.30
- 总金额: $87,530.00
- 账户余额: $12,470.00
四、模块三:核心代码拆解
4.1 FastMCP四大工具模块
AI-Trader使用FastMCP(Fast Model Context Protocol)实现工具链,四大核心工具如下:
4.1.1 price_tool(股价查询工具)
# src/tools/price_tool.py
# 依赖版本: fastmcp>=0.4.0, requests>=2.31.0
import requests
from fastmcp import tool
from typing import Dict, Optional
import os
@tool()
def get_stock_price(symbol: str) -> Dict:
"""
获取指定股票的实时价格数据
Args:
symbol: 股票代码,如 AAPL, MSFT, TSLA
Returns:
包含价格、涨跌幅、成交量的字典
"""
api_key = os.getenv("ALPHAVANTAGE_API_KEY")
# 调用Alpha Vantage API获取实时报价
url = f"https://www.alphavantage.co/query"
params = {
"function": "GLOBAL_QUOTE",
"symbol": symbol,
"apikey": api_key
}
response = requests.get(url, params=params, timeout=10)
data = response.json()
# 解析返回数据
quote = data.get("Global Quote", {})
return {
"symbol": symbol,
"price": float(quote.get("05. price", 0)),
"change": float(quote.get("09. change", 0)),
"change_percent": quote.get("10. change percent", "0%"),
"volume": int(quote.get("06. volume", 0)),
"timestamp": quote.get("07. latest trading day", "")
}
# 使用示例
if __name__ == "__main__":
result = get_stock_price("AAPL")
print(f"苹果当前价格: ${result['price']}")
4.1.2 trade_tool(交易执行工具)
# src/tools/trade_tool.py
# 依赖版本: fastmcp>=0.4.0, pandas>=2.0.0
from fastmcp import tool
from typing import Dict, Literal
from dataclasses import dataclass
from datetime import datetime
# 模拟交易账户(实际项目中可连接券商API)
@dataclass
class Portfolio:
cash: float = 100000.0 # 初始现金
positions: Dict[str, int] = None # 持仓
def __post_init__(self):
if self.positions is None:
self.positions = {}
portfolio = Portfolio()
@tool()
def execute_trade(
symbol: str,
action: Literal["BUY", "SELL"],
quantity: int,
price: float
) -> Dict:
"""
执行模拟交易指令
Args:
symbol: 股票代码
action: BUY(买入) 或 SELL(卖出)
quantity: 交易数量(股)
price: 交易价格
Returns:
交易结果详情
"""
global portfolio
total_amount = price * quantity
if action == "BUY":
# 检查资金是否充足
if total_amount > portfolio.cash:
return {
"success": False,
"error": f"资金不足,需要${total_amount:.2f},可用${portfolio.cash:.2f}"
}
# 执行买入
portfolio.cash -= total_amount
portfolio.positions[symbol] = portfolio.positions.get(symbol, 0) + quantity
elif action == "SELL":
# 检查持仓是否充足
current_holdings = portfolio.positions.get(symbol, 0)
if quantity > current_holdings:
return {
"success": False,
"error": f"持仓不足,持有{current_holdings}股,尝试卖出{quantity}股"
}
# 执行卖出
portfolio.cash += total_amount
portfolio.positions[symbol] -= quantity
return {
"success": True,
"symbol": symbol,
"action": action,
"quantity": quantity,
"price": price,
"total_amount": total_amount,
"timestamp": datetime.now().isoformat(),
"remaining_cash": portfolio.cash,
"current_position": portfolio.positions.get(symbol, 0)
}
4.1.3 search_tool(新闻检索工具)
# src/tools/search_tool.py
# 依赖版本: fastmcp>=0.4.0, requests>=2.31.0
from fastmcp import tool
from typing import List, Dict
import requests
from duckduckgo_search import DDGS # pip install duckduckgo-search
@tool()
def search_market_news(query: str, max_results: int = 5) -> List[Dict]:
"""
搜索市场相关新闻和资讯
Args:
query: 搜索关键词,如"Apple earnings"或"Fed interest rate"
max_results: 返回结果数量(默认5条)
Returns:
新闻列表,包含标题、摘要、链接、发布时间
"""
try:
with DDGS() as ddgs:
results = list(ddgs.news(query, max_results=max_results))
news_list = []
for item in results:
news_list.append({
"title": item.get("title", ""),
"snippet": item.get("body", ""),
"url": item.get("url", ""),
"source": item.get("source", ""),
"published": item.get("date", "")
})
return news_list
except Exception as e:
return [{"error": f"搜索失败: {str(e)}"}]
# 使用示例
if __name__ == "__main__":
news = search_market_news("NVIDIA stock forecast", max_results=3)
for item in news:
print(f"标题: {item['title']}")
print(f"摘要: {item['snippet'][:100]}...")
print("---")
4.1.4 math_tool(数学计算工具)
# src/tools/math_tool.py
# 依赖版本: fastmcp>=0.4.0, numpy>=1.24.0, pandas>=2.0.0
from fastmcp import tool
from typing import List, Dict
import numpy as np
import pandas as pd
@tool()
def calculate_technical_indicators(
prices: List[float],
indicator: str = "RSI"
) -> Dict:
"""
计算股票技术指标
Args:
prices: 收盘价列表(时间序列,从旧到新)
indicator: 指标类型,支持 RSI, MACD, SMA, EMA
Returns:
指标计算结果
"""
prices = np.array(prices)
if indicator == "RSI":
# RSI计算(相对强弱指数)
delta = np.diff(prices)
gain = np.where(delta > 0, delta, 0)
loss = np.where(delta < 0, -delta, 0)
avg_gain = np.mean(gain[-14:]) # 14日RSI
avg_loss = np.mean(loss[-14:])
if avg_loss == 0:
rsi = 100
else:
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
# RSI解读
interpretation = "超买" if rsi > 70 else "超卖" if rsi < 30 else "中性"
return {
"indicator": "RSI(14)",
"value": round(rsi, 2),
"interpretation": interpretation,
"signal": "卖出" if rsi > 70 else "买入" if rsi < 30 else "持有"
}
elif indicator == "SMA":
# 简单移动平均线
sma_20 = np.mean(prices[-20:])
sma_50 = np.mean(prices[-50:]) if len(prices) >= 50 else None
return {
"indicator": "SMA",
"SMA_20": round(sma_20, 2),
"SMA_50": round(sma_50, 2) if sma_50 else None,
"trend": "上涨" if prices[-1] > sma_20 else "下跌"
}
# 其他指标...
return {"error": f"不支持的指标: {indicator}"}
@tool()
def calculate_position_size(
account_value: float,
risk_percent: float,
entry_price: float,
stop_loss: float
) -> Dict:
"""
计算仓位大小(基于风险管理的仓位计算)
Args:
account_value: 账户总价值
risk_percent: 单笔交易风险百分比(如0.02表示2%)
entry_price: 入场价格
stop_loss: 止损价格
Returns:
建议仓位大小
"""
risk_amount = account_value * risk_percent
price_risk = abs(entry_price - stop_loss)
if price_risk == 0:
return {"error": "入场价和止损价不能相同"}
shares = int(risk_amount / price_risk)
position_value = shares * entry_price
return {
"shares": shares,
"position_value": round(position_value, 2),
"risk_amount": round(risk_amount, 2),
"risk_percent": f"{risk_percent*100}%",
"stop_loss": stop_loss
}
4.2 DeepSeek与GPT调用接口对比
# src/models/llm_config.py
# 展示不同模型的配置方式
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
from typing import Union
import os
def get_llm(model_name: str = "deepseek") -> Union[ChatOpenAI, ChatAnthropic]:
"""
根据模型名称返回对应的LLM实例
"""
if model_name.lower() == "deepseek":
# DeepSeek配置(使用OpenAI兼容接口)
return ChatOpenAI(
model="deepseek-chat", # 或 deepseek-reasoner
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url=os.getenv("DEEPSEEK_BASE_URL"),
temperature=0.3, # 低温度,更确定性
max_tokens=2000
)
elif model_name.lower() == "gpt":
# OpenAI GPT配置
return ChatOpenAI(
model="gpt-4o",
api_key=os.getenv("OPENAI_API_KEY"),
temperature=0.3,
max_tokens=2000
)
elif model_name.lower() == "claude":
# Anthropic Claude配置
return ChatAnthropic(
model="claude-3-5-sonnet-20241022",
api_key=os.getenv("ANTHROPIC_API_KEY"),
temperature=0.3,
max_tokens=2000
)
else:
raise ValueError(f"不支持的模型: {model_name}")
# 使用示例
if __name__ == "__main__":
# 测试DeepSeek连接
llm = get_llm("deepseek")
response = llm.invoke("你好,请用一句话介绍自己")
print(response.content)
五、模块四:回测数据与对比
5.1 6大AI模型收益率对比
回测设置:
- 回测周期: 2024年1月1日 - 2024年6月30日(6个月)
- 股票池: 美股科技龙头(AAPL, MSFT, GOOGL, AMZN, NVDA, META, TSLA, NFLX)
- 初始资金: 10万美元
- 交易频率: 双周调仓
- 基准对比: QQQ(纳斯达克100指数基金)
| 排名 | AI模型 | 收益率 | 最大回撤 | 夏普比率 | 相对QQQ超额 |
|---|---|---|---|---|---|
| DeepSeek-v3.1 | +16.46% | -8.2% | 1.89 | +11.07% | |
| GPT-4o | +12.83% | -9.5% | 1.52 | +7.44% | |
| Claude-3.5-Sonnet | +9.71% | -10.1% | 1.21 | +4.32% | |
| 4 | Gemini-1.5-Pro | +8.45% | -11.3% | 1.08 | +3.06% |
| 5 | MiniMax-Text-01 | +6.92% | -12.8% | 0.89 | +1.53% |
| 6 | Qwen2.5-72B | +5.67% | -13.5% | 0.76 | +0.28% |
| - | QQQ基准 | +5.39% | -7.8% | 0.95 | - |
数据标注: 以上收益率为历史回测数据(2024年1月-6月,股票池:美股科技龙头8只,数据来源:Alpha Vantage),最大回撤为同期统计。历史表现不代表未来收益,仅供研究参考。
5.2 DeepSeek表现分析
为什么DeepSeek-v3.1表现最好?
根据项目维护者的分析和社区反馈:
- 数学推理能力强: DeepSeek在数值计算、概率分析方面表现突出,对技术指标的理解更准确
- 中文训练数据优势: 虽然交易标的是美股,但DeepSeek对"仓位管理""止损止盈"等交易概念的理解更到位
- 工具调用稳定性: 在FastMCP工具链调用中,DeepSeek的JSON格式输出更规范,减少了解析错误
- 成本效益: API成本仅为GPT-4o的1/5,适合高频调仓策略
5.3 重要声明
⚠️ 风险提示:
- 以上数据为回测结果,非实盘交易记录。 回测基于历史数据,存在过拟合风险。
- 市场环境变化: 2024年上半年科技股表现强势,不代表其他市场环境下仍有相同表现。
- 滑点和流动性: 回测未充分考虑大额交易的滑点影响。
- 模型迭代: AI模型持续更新,未来版本表现可能与v3.1不同。
本文仅供参考,不构成任何投资建议。股市有风险,投资需谨慎。
六、模块五:踩坑指南
6.1 常见安装报错及解决方案
报错1:ModuleNotFoundError: No module named 'langchain_openai'
原因: 依赖未正确安装或Python环境混乱
解决:
# 确保在虚拟环境中
which python # 检查当前Python路径
# 重新安装依赖
pip uninstall langchain langchain-openai -y
pip install langchain>=0.2.0 langchain-openai>=0.1.0
# 验证安装
python -c "from langchain_openai import ChatOpenAI; print('安装成功')"
报错2:API请求返回401 Unauthorized
原因: API Key无效或环境变量未加载
解决:
# 检查.env文件是否存在
ls config/.env
# 确认API Key格式正确(以sk-开头)
cat config/.env | grep DEEPSEEK_API_KEY
# 在代码中显式加载环境变量
from dotenv import load_dotenv
load_dotenv("config/.env") # 确保路径正确
报错3:Alpha Vantage API频率限制
原因: 免费版API限制为5次/分钟
解决:
# 在price_tool.py中添加请求间隔
import time
@tool()
def get_stock_price(symbol: str) -> Dict:
# ...原有代码...
# 添加延迟避免频率限制
time.sleep(12) # 12秒间隔,确保不超过5次/分钟
return result
6.2 A股适配注意事项
AI-Trader默认配置为美股市场,如需适配A股,需修改以下部分:
| 修改项 | 美股原版 | A股适配 |
|---|---|---|
| 数据源 | Alpha Vantage | 聚宽/AKShare/Tushare |
| 交易时间 | 美东时间9:30-16:00 | 北京时间9:30-15:00 |
| 交易规则 | T+0 | T+1 |
| 股票代码 | AAPL, MSFT | 000001.SZ, 600000.SH |
| 涨跌停限制 | 无 | ±10%(ST股±5%) |
A股数据源代码示例(AKShare):
# A股适配:使用AKShare获取数据
import akshare as ak
def get_a_stock_price(symbol: str):
"""获取A股实时价格(AKShare)"""
# symbol格式: 000001 (平安银行)
df = ak.stock_zh_a_spot_em()
stock = df[df['代码'] == symbol]
return {
"symbol": symbol,
"price": float(stock['最新价'].values[0]),
"change": float(stock['涨跌幅'].values[0]),
# ...
}
对A股版本感兴趣的朋友欢迎评论区留言,我会在下一篇中专门适配。
七、EasyClaw:更简单的AI量化入门方案
如果你觉得AI-Trader的部署还是太复杂,或者想先体验AI辅助交易的感觉,可以试试 EasyClaw —— 一个专为金融炒股场景设计的AI Agent平台。
EasyClaw的核心优势:
- 一键安装,零配置上手:不需要折腾Python环境、API接口,安装即用
- 内置多市场数据:A股、港股、美股实时行情,开箱即用
- 可视化策略搭建:拖拽式组件,不写代码也能搭建简单策略
- AI辅助决策:内置DeepSeek/GPT/Claude多模型支持,一键切换对比
EasyClaw在金融炒股方面的实用功能:
| 功能模块 | 具体能力 | 适用场景 |
|---|---|---|
| 数据获取 | A股/港股/美股实时行情、财务数据、龙虎榜、资金流向 | 策略研究、选股分析 |
| 策略回测 | 支持日线/分钟线回测,自动处理除权除息、停牌 | 验证策略有效性 |
| 因子分析 | 内置100+经典因子,支持自定义因子计算 | 多因子选股模型 |
| AI研报解读 | 自动抓取券商研报,提取核心观点和投资建议 | 快速获取机构观点 |
| 情绪监控 | 监控雪球、股吧情绪指标,识别市场极端情绪 | 择时参考 |
| 组合管理 | 支持多策略组合、动态仓位调整、风险预算 | 实盘组合管理 |
下载地址: https://easyclaw.cn/?f=271
用EasyClaw,你可以先体验AI辅助交易的感觉,等熟悉后再深入AI-Trader的代码级定制。对新手来说,这个工具能帮你避开80%的技术坑,专注于策略逻辑本身。
八、总结与互动
这篇文章详细介绍了AI-Trader开源项目的完整部署流程,从环境准备到代码解析,从回测数据到踩坑指南。
核心要点回顾:
- DeepSeek-v3.1在6个月回测中以+16.46%领先QQQ基准3倍
- AI-Trader基于LangChain+FastMCP架构,代码清晰可扩展
- 四大工具模块(price/trade/search/math)覆盖交易全流程
- 部署时注意Python版本、API Key配置、数据源频率限制
下一步建议:
- 克隆代码,先用模拟盘跑通流程
- 尝试修改策略提示词,观察不同模型的决策差异
- 关注项目GitHub,社区持续更新中
觉得有帮助的麻烦点下好文要顶,欢迎评论区交流!
对A股版本感兴趣的朋友欢迎评论区留言,我会在下一篇中专门适配。
免责声明
本文仅供参考,不构成任何投资建议。股市有风险,投资需谨慎。文中提及的任何策略均不代表未来收益保证。
文中回测数据标注:
- DeepSeek-v3.1收益率+16.46%(同期最大回撤-8.2%,2024年1月-6月回测,股票池:美股科技龙头,数据来源:Alpha Vantage)
- GPT-4o收益率+12.83%(同期最大回撤-9.5%)
- QQQ基准收益率+5.39%(同期最大回撤-7.8%)
所有代码示例使用 Python 3.10 + LangChain 0.2.0 + FastMCP 0.4.0,可直接复制粘贴运行。

浙公网安备 33010602011771号