算法交易框架服务

一个MCP(模型上下文协议)服务器,将Jesse的算法交易框架功能暴露给LLM代理,支持回测、优化、风险分析和策略管理等核心功能。

  • by bkuri
  • 本地部署
  • 23 星标
  • 更新于
在 GitHub 查看 bkuri/jesse-mcp

使用说明

Jesse MCP服务器

一个MCP(模型上下文协议)服务器,向LLM代理公开Jesse的算法交易框架功能。

状态:功能完成✅

所有计划的功能都已实施和测试。32个工具可用(17个核心+15个代理)。

安装

PyPI

pip install jesse-mcp

uvx(建议直接运行)

uvx jesse-mcp

Arch Linux(AUR)

yay -S jesse-mcp
# or
paru -S jesse-mcp

源自

git clone https://github.com/bkuri/jesse-mcp.git
cd jesse-mcp
pip install -e .

用法

# stdio transport (default, for MCP clients)
jesse-mcp

# HTTP transport (for remote access)
jesse-mcp --transport http --port 8100

# Show help
jesse-mcp --help

环境变量

变量 描述 默认值
JESSE_URL Jesse REST API URL http://server2:9100
JESSE_PASSWORD Jesse UI密码 (必填)
JESSE_API_TOKEN 预生成的API令牌 (可替代密码)
JESSE_TRADE_API_KEY jesse.trade社区API Bearer代币 (可选)

特性

  • 回溯测试 -通过Jesse REST API执行单个和批回测试
  • 优化 -带前进验证的超参数调优
  • 蒙特卡罗分析 -统计稳健性测试
  • 配对交易 -协整测试和策略生成
  • 战略管理 -交易策略的CRUD操作
  • 风险分析 -风险价值、压力测试、综合风险报告
  • 代理工具 -15个用于自主交易工作流程的专用工具
  • 社区浏览 -浏览、比较和检查jesse.trade社区策略

建筑

LLM Agent ←→ MCP Protocol ←→ jesse-mcp ←→ Jesse REST API (localhost:9000)
                                    ↓
                            Mock Fallbacks (when Jesse unavailable)

可用工具

核心工具(17)

第1阶段:回测

工具 说明
backtest 使用指定参数运行单次回溯测试
strategy_list 列出可用策略
strategy_read 阅读策略源代码
strategy_validate 验证策略代码

第二阶段:数据与分析

工具 说明
candles_import 从交易所下载蜡烛数据
backtest_batch 运行并发多资产回溯测试
analyze_results 从回溯测试结果中提取见解
walk_forward 用于过拟合检测的前向分析

第三阶段:优化

工具 说明
optimize 使用Optuna优化超参数

第四阶段:风险分析

工具 说明
monte_carlo 风险分析的蒙特卡罗模拟
var_calculation 风险价值(历史、参数、蒙特卡洛)
stress_test 极端市场情景下的测试
risk_report 综合风险评估

第五阶段:配对交易

工具 说明
correlation_matrix 交叉资产相关性分析
pairs_backtest 回溯配对交易策略
factor_analysis 将回报分解为系统因素
regime_detector 识别市场机制和转型

代理工具(15)

自主交易工作流程的专用工具:

工具 说明
strategy_suggest_improvements 基于人工智能的战略增强建议
strategy_compare_strategies 并排比较多种策略
strategy_optimize_pair_selection 优化配对交易选择
strategy_analyze_optimization_impact 分析优化变更的影响
risk_analyze_portfolio 投资组合级风险分析
risk_stress_test 高级压力测试
risk_assess_leverage 利用风险评估
risk_recommend_hedges 对冲建议
risk_analyze_drawdown_recovery 提款回收分析
backtest_comprehensive 包含所有指标的完整回溯测试
backtest_compare_timeframes 比较不同时间段的性能
backtest_optimize_parameters 快速参数优化
backtest_monte_carlo 使用蒙特卡洛分析进行回测
backtest_analyze_regimes 制度意识回溯测试分析
backtest_validate_significance 统计显著性验证

社区工具(5)

浏览、比较和检查来自jesse.trade的社区策略:

工具 说明
list_periods 在jesse.trade上列出可用的回溯测试时段
browse_community_strategies 浏览按绩效指标排序的策略
get_strategy_metrics 特定策略的详细回溯测试指标
get_strategy_code 策略的完整Python源代码
compare_community_strategies 多种策略的并排度量比较

测试

# Install dev dependencies
pip install jesse-mcp[dev]

# Run all tests
pytest -v

# Run with coverage
pytest --cov=jesse_mcp

状态: 49项测试通过

本地开发

先决条件

  • Python 3.10+
  • Jesse 1.13.x在本地主机上运行:9000
  • 本地主机上的PostgreSQL:5432
  • 本地主机上的Redis:6379

杰西·斯塔克(波德曼)

# Start infrastructure
podman run -d --name jesse-postgres --network host \
  -e POSTGRES_USER=jesse_user -e POSTGRES_PASSWORD=password -e POSTGRES_DB=jesse_db \
  docker.io/library/postgres:14-alpine

podman run -d --name jesse-redis --network host \
  docker.io/library/redis:6-alpine redis-server --save "" --appendonly no

# Start Jesse
podman run -d --name jesse --network host \
  -v /path/to/jesse-bot:/home:z \
  docker.io/salehmir/jesse:latest bash -c "cd /home && jesse run"

启动开发MCP服务器

./scripts/start-dev-server.sh   # Start on port 8100
./scripts/stop-dev-server.sh    # Stop server

添加到OpenCode

添加 ~/.config/opencode/opencode.json:

{
  "mcp": {
    "jesse-mcp-dev": {
      "type": "remote",
      "url": "http://localhost:8100/mcp",
      "enabled": true
    }
  }
}

文档

API 参考

Jesse REST客户端

这 jesse_rest_client.py 模块提供对Jesse的REST API的直接访问:

from jesse_mcp.core.jesse_rest_client import get_jesse_rest_client

client = get_jesse_rest_client()

# Run backtest
result = client.backtest(
    strategy="OctopusStrategy",
    symbol="BTC-USDT", 
    timeframe="1h",
    start_date="2024-01-01",
    end_date="2024-01-31"
)

模拟实现

当Jesse不可用时,所有工具都会优雅地退回到返回真实合成数据的模拟实现中。这使得无需完整安装Jesse即可进行开发和测试。

关键依赖关系

包装 版本 用途
fastmcp >=0.3.0 MCP服务器框架
numpy >=1.24.0 数值计算
pandas >=2.0.0 数据操作
scipy >=1.10.0 统计函数
scikit-learn >=1.3.0 ML实用程序
optuna >=3.0.0 超参数优化

项目结构

jesse_mcp/
├── server.py            # FastMCP server with 17 core tools
├── optimizer.py         # Phase 3: Optimization tools
├── risk_analyzer.py     # Phase 4: Risk analysis tools
├── pairs_analyzer.py    # Phase 5: Pairs trading tools
├── agent_tools.py       # 15 agent-specific tools
├── core/
│   ├── integrations.py  # Jesse framework integration
│   ├── jesse_rest_client.py  # REST API client
│   └── mock.py          # Mock implementations
├── agents/
│   ├── base.py          # Base agent class
│   ├── backtester.py    # Backtesting specialist
│   └── risk_manager.py  # Risk management specialist
└── scripts/
    ├── start-dev-server.sh
    └── stop-dev-server.sh

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

出版

此包使用GitHub Actions和PyPI可信发布。要发布新版本,请执行以下操作:

  1. 更新版本 pyproject.toml 和 jesse_mcp/__init__.py
  2. 创建一个git标签: git tag v1.x.x
  3. 推送标签: git push origin v1.x.x
  4. 创建GitHub发布-自动发布到PyPI