插件目录 / Developer / dsh-tool-backtest
dsh-tool-backtest
已验证 · 实测可装 dmsobtl
✓ 持续维护 基于 3 个官方 DSH 包 纯 TypeScript
0Stars
0Forks
0未关闭 issue
TypeScript语言
2026-08-14最近推送
跨平台平台
功能简介
DSH插件:策略回测引擎,定义信号跑历史数据输出绩效。
我们的评价
可用 — 实测通过,早期项目
可用 — 实测通过,早期项目
DSH插件:策略回测引擎,定义信号跑历史数据输出绩效。 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-tool-backtest
DSH 插件:策略回测引擎 — 定义买卖信号,跑历史数据,输出绩效指标。工具清单
| 工具 | 功能 | |------|------| |run_backtest | 输入 K 线 + 信号 → 输出收益率、夏普、回撤、胜率、交易记录 |
| calc_indicator | 技术指标计算:SMA、EMA、RSI、MACD、布林带 |
安装
``bash
dsh plugin add dsh-tool-backtest
`
配置
`yaml
- insert:
- id: backtest
name: dsh-tool-backtest
config:
defaultCapital: 100000 # 默认初始资金
defaultCommission: 0.001 # 默认手续费率 0.1%
`
使用流程
Agent 的标准回测工作流:
`
1. market_kline 获取历史数据
2. calc_indicator 计算技术指标
3. 根据策略规则生成 signals(Agent 自行判断)
4. run_backtest 执行回测
5. 分析结果,给出建议
`
工具详解
run_backtest
**输入**:
`json
{
"strategyName": "MA5/20 金叉",
"bars": [{"date":"2024-01-02","open":100,"high":102,"low":99,"close":101,"volume":50000}, ...],
"signals": [{"date":"2024-01-15","action":"buy","reason":"MA5上穿MA20"}, ...],
"capital": 100000,
"commission": 0.001
}
`
**输出**:
`json
{
"summary": {
"strategy": "MA5/20 金叉",
"period": "2024-01-02 ~ 2024-12-31",
"totalReturn": "18.5%",
"annualizedReturn": "18.5%",
"maxDrawdown": "7.2%",
"sharpeRatio": 1.82,
"winRate": "65%",
"totalTrades": 12,
"avgHoldingDays": 15,
"profitFactor": 2.3
},
"recentTrades": [...],
"equityCurve": [...]
}
`
calc_indicator
**支持的指标**:
| 指标 | 参数 | 说明 |
|------|------|------|
| sma | period (默认 20) | 简单移动平均 |
| ema | period (默认 20) | 指数移动平均 |
| rsi | period (默认 14) | 相对强弱指标,0-100 |
| macd | 固定 12/26/9 | DIF、DEA、柱状图 |
| bollinger | period (默认 20) | 上轨、中轨、下轨 |
**输入**:
`json
{
"prices": [100, 101.5, 99.8, 102.3, ...],
"indicator": "rsi",
"period": 14
}
`
**输出**:
`json
{
"indicator": "RSI",
"period": 14,
"values": [45.2, 52.1, 68.3, ...]
}
`
绩效指标说明
| 指标 | 含义 | 参考值 |
|------|------|--------|
| 年化收益 | 按交易天数折算的年化回报 | > 15% 算不错 |
| 最大回撤 | 从峰值到谷底的最大跌幅 | < 20% 较安全 |
| 夏普比率 | 风险调整后收益 | > 1 可接受,> 2 优秀 |
| 胜率 | 盈利交易占比 | 趋势策略 40-50% 正常 |
| 盈亏比 | 平均盈利/平均亏损 | > 1.5 配合低胜率可行 |
| 交易次数 | 样本量 | > 20 有统计意义 |
与 dsh-tool-market-data 配合
`yaml
典型 Agent 对话:
User: 用 RSI 超卖策略回测 BTC 半年
Agent:
→ market_kline({ symbol: "BTC", market: "crypto", period: "1d", limit: 180 })
→ calc_indicator({ prices: [close prices...], indicator: "rsi", period: 14 })
生成信号:RSI < 30 → buy, RSI > 70 → sell
→ run_backtest({ strategyName: "RSI(14) 超买超卖", bars: [...], signals: [...] })
输出绩效报告
``
局限性
- 不支持做空(仅多头) - 不支持分批建仓/加仓 - 不支持止损止盈(需在信号层面实现) - 滑点未建模(以收盘价成交) - 无资金管理(每次全仓进出) 这些适合作为 v0.2+ 的增强方向。License
MIT安装
🧩 让 Agent 自动装(推荐)
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-tool-backtest」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
Web profile:
dsh plugin --profile web add dsh-tool-backtest Headless(CLI)profile:
dsh plugin --profile headless add dsh-tool-backtest 包信息
npm:dsh-tool-backtest · 版本 0.1.0 · 实测环境 dsh 0.1.0-rc.6
实测报告
端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。