Backtrader MCP
一个MCP服务器,将Backtrader变成一个AI可访问的交易沙箱,允许代理端到端运行、分析和优化策略。
特性
- 一个工具来统治他们所有人 —
run_backtest获取数据,运行模拟,并返回结果+图表 - AI优先设计 --自然语言→ 通过内置提示生成策略代码
- 全面交换支持 --币安、Bybit、OKX、Gate.io(现货和永久)
- 杠杆和融资率模拟 准备
- 美丽的Plotly股权曲线 作为嵌入图像返回
需求
- Python 3.10+
- 紫外线 用于依赖关系管理(推荐)
安装
# 1. Clone & enter
git clone https://github.com/kukapay/backtrader-mcp.git
cd backtrader-mcp
# 2. Install (uv recommended)
uv sync
# 3. Install to Claude Desktop / Cursor
uv run mcp install main.py工具和提示
run_backtest (你唯一需要的工具)
run_backtest(
exchange="binance",
symbol="BTC/USDT",
timeframe="1h",
from_date="2023-01-01",
strategy_code="import backtrader as bt\nclass MyStrategy(bt.Strategy): ...",
initial_cash=10000.0,
commission=0.00075,
slippage=0.0005,
leverage=None
)示例提示:
为BTC/USDT的RSI+布林带生成回测策略,然后从2023年1月1日起在币安1小时内进行回测,初始资本为10000美元,并显示股权曲线。
示例输出:
Fetching data from exchange...
Fetched 15,000 candles (64%)
Fetched 18,432 candles (80%)
Data ready. Starting simulation on 18,432 bars...
Simulating... 4,608/18,432 bars (85%)
Simulating... 9,216/18,432 bars (90%)
Simulating... 13,824/18,432 bars (95%)
Generating chart...
Done!
Backtest Complete!
Symbol : BTC/USDT
Candles : 18,432
Final Value: $28,740.50
Return : +187.41%
Sharpe : 1.87
Max DD : 21.3%
内置提示:生成Backtrader策略代码
问问克劳德:
“为RSI+布林带生成反向交易者策略”
它将输出完美、导入完整、执行就绪的代码。
import backtrader as bt
from backtrader.indicators import BollingerBands, RSI
class BollingerRSIStrategy(bt.Strategy):
"""
Bollinger Bands + RSI Strategy
- Buy when price touches lower Bollinger Band AND RSI 70 (overbought)
"""
params = (
('bb_period', 20),
('bb_dev', 2),
('rsi_period', 14),
('rsi_oversold', 30),
('rsi_overbought', 70),
)
def __init__(self):
# Bollinger Bands
self.bb = BollingerBands(
period=self.p.bb_period,
devfactor=self.p.bb_dev
)
# RSI
self.rsi = RSI(period=self.p.rsi_period)
# For easier access
self.bb_top = self.bb.lines.top
self.bb_mid = self.bb.lines.mid
self.bb_bot = self.bb.lines.bot
def next(self):
if not self.position: # No position
# Buy condition: price below lower band + oversold
if self.data.close[0] self.bb_top[0] or self.rsi[0] > self.p.rsi_overbought:
self.close()许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
