【实战教程】Claude Code + Tushare MCP:零代码实现股票预测分析
【实战教程】Claude Code + Tushare MCP:零代码实现股票预测分析
本文将手把手教你配置 Tushare 数据接口和 MCP 协议,使用 Claude Code 实现零代码股票预测分析。文末附完整预测结果。
一、前言
最近发现了一个非常强大的组合:Claude Code + Tushare MCP,可以让 AI 直接调用股票数据接口,实现零代码的数据分析和预测。
本文将以 信达证券(601059) 为例,完整演示:
- Tushare 账号配置
- MCP 服务器配置
- 使用 Claude Code 进行 LSTM 股价预测
- 完整预测结果分享
二、Tushare 配置教程
2.1 注册 Tushare 账号
- 访问 Tushare 官网
- 点击右上角「注册」按钮
- 填写手机号、验证码、密码完成注册
- 登录后进入「个人主页」→「接口TOKEN」
2.2 获取 Token
个人主页 → 接口TOKEN → 复制 Token
⚠️ 注意:Token 是你的身份凭证,请妥善保管,不要泄露给他人!
2.3 了解积分制度
Tushare 采用积分制访问不同级别的接口:
| 积分等级 | 可用接口 |
|---|---|
| 0-120 | 基础行情数据(daily, stock_basic 等) |
| 120+ | 财务数据、资金流向等 |
| 500+ | 高级数据(龙虎榜、融资融券等) |
| 2000+ | 实时行情、分钟数据 |
获取积分的方式:
- 每日签到:+1~5分
- 完善个人信息:+50分
- 分享数据/代码:+10~100分
- 社区贡献:根据内容质量
三、MCP 配置教程
3.1 什么是 MCP?
MCP(Model Context Protocol) 是 Anthropic 推出的开放协议,允许 AI 模型与外部数据源和工具进行交互。
通过 MCP,Claude 可以:
- 直接调用 Tushare API 获取股票数据
- 执行 Python 代码进行数据分析
- 生成可视化图表
3.2 MCP 配置文件位置
MCP 配置文件可以放在两个位置:
# 项目级别(推荐)
~/.claude/projects/<project-name>/.mcp.json
# 全局级别
~/.claude/.mcp.json
3.3 配置 Tushare MCP
在项目根目录创建 .mcp.json 文件:
{
"mcpServers": {
"tushareMcp": {
"url": "https://api.tushare.pro/mcp/?token=你的Token"
}
}
}
将 你的Token 替换为你在 Tushare 获取的真实 Token。
3.4 验证配置
配置完成后,重启 Claude Code,在对话中测试:
帮我获取信达证券601059最近10天的日线数据
如果 Claude 能够正确返回数据,说明配置成功!
四、实战:LSTM 股价预测
4.1 项目环境
# environment.yml
name: stock-prediction
channels:
- pytorch
- defaults
dependencies:
- python=3.11
- numpy
- pandas
- matplotlib
- seaborn
- scikit-learn
- jupyter
- pytorch
- pip:
- akshare
创建环境:
conda env create -f environment.yml
conda activate stock-prediction
4.2 分析流程
┌─────────────────────────────────────────────────────────┐
│ LSTM 股价预测流程 │
├─────────────────────────────────────────────────────────┤
│ 1. 数据获取 → 2. 数据预处理 → 3. 特征工程 │
│ ↓ │
│ 4. 模型构建 → 5. 模型训练 → 6. 模型评估 │
│ ↓ │
│ 7. 回测分析 → 8. 未来预测 → 9. 生成报告 │
└─────────────────────────────────────────────────────────┘
4.3 核心代码(使用 Claude Code 自动生成)
# 1. 数据获取(Claude 通过 MCP 自动调用)
import tushare as ts
pro = ts.pro_api('your_token')
df = pro.daily(ts_code='601059.SH', start_date='20240613', end_date='20260611')
# 2. 技术指标计算
def calculate_indicators(df):
# 移动平均线
df['MA5'] = df['close'].rolling(5).mean()
df['MA10'] = df['close'].rolling(10).mean()
df['MA20'] = df['close'].rolling(20).mean()
df['MA60'] = df['close'].rolling(60).mean()
# MACD
exp1 = df['close'].ewm(span=12).mean()
exp2 = df['close'].ewm(span=26).mean()
df['MACD'] = exp1 - exp2
df['Signal'] = df['MACD'].ewm(span=9).mean()
# RSI
delta = df['close'].diff()
gain = (delta.where(delta > 0, 0)).rolling(window=14).mean()
loss = (-delta.where(delta < 0, 0)).rolling(window=14).mean()
rs = gain / loss
df['RSI'] = 100 - (100 / (1 + rs))
# KDJ
low_min = df['low'].rolling(9).min()
high_max = df['high'].rolling(9).max()
rsv = (df['close'] - low_min) / (high_max - low_min) * 100
df['K'] = rsv.ewm(com=2).mean()
df['D'] = df['K'].ewm(com=2).mean()
df['J'] = 3 * df['K'] - 2 * df['D']
return df
# 3. LSTM 模型
import torch
import torch.nn as nn
class StockLSTM(nn.Module):
def __init__(self, input_size=21, hidden_size=128, num_layers=2):
super().__init__()
self.lstm = nn.LSTM(input_size, hidden_size, num_layers,
batch_first=True, dropout=0.2)
self.dropout = nn.Dropout(0.2)
self.fc1 = nn.Linear(hidden_size, 64)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(64, 1)
def forward(self, x):
lstm_out, _ = self.lstm(x)
out = self.dropout(lstm_out[:, -1, :])
out = self.relu(self.fc1(out))
out = self.fc2(out)
return out
五、预测结果分享
5.1 数据概况
| 项目 | 详情 |
|---|---|
| 股票名称 | 信达证券(601059) |
| 数据时间范围 | 2024-06-13 至 2026-06-11 |
| 交易日数量 | 464 天 |
| 当前收盘价 | 14.77 元 |
5.2 技术指标分析
关键指标解读:
| 指标 | 当前值 | 状态 |
|---|---|---|
| MA5 | 15.02 | 股价在均线下方 |
| MA10 | 15.48 | 空头排列 |
| MA20 | 16.08 | 下降趋势 |
| MA60 | 17.14 | 中期偏弱 |
| MACD | -0.45 | 零轴下方,下跌动能 |
| RSI | 12.18 | 极度超卖 |
| KDJ-K | 9.19 | 极度超卖 |
| KDJ-J | -3.07 | 负值,超卖 |
技术面结论:多项指标同时处于超卖区域,短期存在技术性反弹需求。
5.3 模型训练
| 阶段 | Epoch | Train Loss | Val Loss |
|---|---|---|---|
| 初始 | 10 | 0.013346 | 0.002859 |
| 中期 | 50 | 0.009017 | 0.001358 |
| 最佳 | 110 | 0.006654 | 0.000888 |
| 早停 | 121 | - | 0.002070 |
5.4 模型评估
| 指标 | 值 | 说明 |
|---|---|---|
| MAPE | 1.02% | 价格预测精度高 |
| R² | 0.8395 | 模型拟合效果良好 |
| RMSE | 0.2306 | 平均偏差约 0.23 元 |
| 方向准确率 | 48.75% | 涨跌方向预测一般 |
5.5 未来一个月预测
预测时间范围:2026-06-12 至 2026-07-13(22个交易日)
| 日期 | 预测价格(元) |
|---|---|
| 2026-06-12 | 15.22 |
| 2026-06-15 | 15.09 |
| 2026-06-16 | 15.03 |
| 2026-06-17 | 15.01 |
| 2026-06-18 | 15.00 |
| 2026-06-19 | 15.00 |
| … | … |
| 2026-07-13 | 15.01 |
5.6 预测结论
| 项目 | 值 |
|---|---|
| 当前价格 | 14.77 元 |
| 一个月后预测 | 15.01 元 |
| 预测涨跌幅 | +1.65% |
| 预测置信区间 | 14.56 ~ 15.46 元(±3%) |
模型预测:信达证券未来一个月将从 14.77 元小幅回升至 15.01 元,呈现"先跌后稳"走势。
5.7 回测分析
| 指标 | 值 |
|---|---|
| 初始资金 | 100,000 元 |
| 最终价值 | 98,685.92 元 |
| 总收益率 | -1.31% |
| 最大回撤 | 5.07% |
| 夏普比率 | -1.0067 |
六、模型评分
| 维度 | 评分 | 说明 |
|---|---|---|
| 价格预测精度 | ⭐⭐⭐⭐ | MAPE 仅 1.02% |
| 方向预测能力 | ⭐⭐ | 准确率 48.75% |
| 回测收益 | ⭐⭐ | -1.31% |
| 风险控制 | ⭐⭐⭐ | 最大回撤 5.07% |
七、改进方向
- 增加特征维度:引入宏观经济指标、行业数据、市场情绪
- 优化模型结构:尝试 Attention 机制、Transformer
- 多时间尺度:结合日线、周线、月线分析
- 集成学习:结合多个模型提高准确率
- 强化学习:使用 RL 优化交易策略
八、总结
本文介绍了如何使用 Claude Code + Tushare MCP 实现零代码股票预测分析:
✅ Tushare 配置:注册账号 → 获取 Token → 配置 MCP
✅ MCP 配置:创建 .mcp.json 文件 → 配置服务器地址
✅ 预测分析:数据获取 → 特征工程 → LSTM 模型 → 预测输出
通过这个组合,即使不懂编程,也能让 AI 帮你完成专业的股票分析!
九、完整文件清单
| 文件名 | 说明 |
|---|---|
run_analysis.py |
完整分析脚本 |
信达证券_LSTM预测分析.ipynb |
Jupyter Notebook 版本 |
信达证券_601059_LSTM预测分析报告.md |
详细分析报告 |
01~08_*.png |
可视化图表 |
#股票预测 #LSTM #深度学习 #Tushare #Claude #量化分析
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)