Futures MCP - 期货交易策略分析平台
April 12, 2025 · View on GitHub
期货交易策略分析的 MCP (Model Content Protocol) 服务和 Streamlit 交互平台。
项目简介
本项目是一个期货交易策略分析平台,集成了实时行情、技术分析、新闻资讯和 AI 分析等功能。提供两种使用方式:
- MCP 服务:与 Claude 等 AI 助手集成,通过对话方式获取期货分析
- Streamlit 界面:提供直观的图形界面,直接查看期货数据和分析结果
主要特点:
- 实时期货行情数据
- 丰富的技术分析指标
- 相关新闻资讯
- AI 驱动的市场分析
- 友好的 Web 界面
- 标准 MCP 协议实现
- DeepSeek AI 集成
技术栈
- Python 3.10+
- MCP 标准协议 - 与 AI 助手交互
- Streamlit - 交互式 Web 界面
- akshare - 期货数据获取
- DeepSeek API - AI 分析支持
- Plotly - 数据可视化
功能特性
1. 数据获取
- 实时期货行情
- 历史价格数据
- 相关新闻资讯
2. 技术分析
- 移动平均线 (MA)
- MACD 指标
- RSI 指标
- 布林带
- KDJ 指标
- 成交量分析
3. AI 分析
- 市场趋势分析
- 技术指标解读
- 新闻情绪分析
- 交易建议
安装说明
- 克隆项目:
git clone https://github.com/sencloud/futures_mcp.git
cd futures_mcp
- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
cp .env.example .env
# 编辑 .env 文件,设置 DEEPSEEK_API_KEY
使用说明
本项目提供两种使用方式:MCP 服务和 Streamlit 界面。
方式一:MCP 服务 + AI 助手
- 启动 MCP 服务器:
python mcp_server.py
-
配置 Claude Desktop:
- 创建或编辑 Claude Desktop 配置文件,注意如果启动失败需要确认直接在命令提示符下执行python /absolute/path/to/futures_mcp/mcp_server.py是否正常:
macOS:
mkdir -p ~/Library/Application\ Support/Claude/ nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json- 添加以下配置(替换路径为你的实际路径):
{ "mcpServers": { "futures-mcp": { "command": "python", "args": [ "/absolute/path/to/futures_mcp/mcp_server.py" ] } } } -
重启 Claude Desktop
-
现在你可以在 Claude Desktop 中使用期货工具
-
可以尝试向 Claude 提问:
- "获取 豆粕 的当前价格"
- "分析近期 豆粕 的技术指标"
- "给我最近的期货新闻"
方式二:Streamlit 界面
如果你想使用直观的图形界面:
streamlit run app.py
访问浏览器 http://localhost:8501
Streamlit 界面使用流程
- 选择期货品种:在侧边栏选择要分析的期货代码
- 设置时间范围:选择历史数据的起止日期
- 查看行情数据:查看实时价格和K线图
- 分析技术指标:查看各种技术分析指标
- 获取新闻资讯:阅读相关新闻
- 获取AI分析:点击"开始分析"按钮,获取 DeepSeek AI 提供的专业分析
获取 DeepSeek API 密钥
要使用 AI 分析功能,您需要一个 DeepSeek API 密钥(注意,如果要联网功能,请用火山引擎,目前代码库里的功能是用了火山引擎):
- 访问 DeepSeek 官网
- 注册/登录账户
- 导航至 API 设置页面
- 创建新的 API 密钥
- 将获取的密钥添加到
.env文件
MCP 工具
本项目提供以下 MCP 工具:
-
get_current_price
- 获取期货实时价格
- 参数:symbol (期货代码,例如 M2509)
-
get_prices
- 获取历史价格数据
- 参数:symbol, start_date (选填), end_date (选填), interval (选填)
-
get_news
- 获取相关新闻
- 参数:symbol
-
get_technical_indicators
- 获取技术分析指标
- 参数:symbol, start_date (选填), end_date (选填)
-
analyze_futures
- AI 分析期货数据
- 参数:symbol
项目结构
futures_mcp/
├── app.py # Streamlit 应用主文件
├── mcp_server.py # MCP 服务器
├── technical_analysis.py # 技术分析工具
├── .env.example # 环境变量示例
├── claude_desktop_config.example.json # Claude Desktop配置示例
├── requirements.txt # 项目依赖
└── README.md # 项目文档
其他
如果你喜欢我的项目,可以给我买杯咖啡:
许可证
MIT License