前言¶
在 DeepSeek Harness(下称 DSH)的插件场景里,常见的一类需求并不是直接交易,而是围绕单个标的做规则研究:查看当前规则状态、回测历史表现、生成可交互的报告,再把已验证的规则保存下来复用。如果把这些能力拆成数据拉取、Python 回测、HTML 图表和策略管理,开发者往往需要自行维护一套外部工具链。
dsh-quant-workspace 提供的是另一条路径:作为一个自包含的 DSH 量化研究插件,它内置 Python 引擎,支持 Yahoo Finance 日线数据、规则策略回测和交互式可视化报告。下面介绍它的定位、核心能力、安装方式和典型用法。
这是什么¶
AllenCX/dsh-quant-workspace 是一个面向 DSH 的自包含量化研究工作区。它把数据获取、规则回测和报告生成放进同一个插件里,并围绕单标的研究提供 single_ticker 工具。
项目仓库为 AllenCX/dsh-quant-workspace,许可证为 MIT。它需要 DSH 的 web profile 与 pnpm;内置 Python 引擎需要 uv 运行,首次使用时会同步 python/.venv;获取 Yahoo Finance 数据需要互联网访问。Node 引擎要求为 >=22.19。
核心功能¶
数据获取¶
插件支持获取 Yahoo Finance 日线数据,默认获取 2 年数据。可导出 OHLCV 数据和指标数据。
规则回测¶
回测针对规则策略执行,输出内容包括:
- 逐笔交易表
- 总收益
- 最大回撤
- 胜率
- 平均持仓
- 买入持有基线
交互式报告¶
插件可生成自包含的交互式 HTML 报告。报告内容包括:
- K 线带
- 成交量
%B- 权益曲线
报告支持缩放、平移、十字光标,以及红涨绿跌切换。HTML 文件为自包含格式,可在浏览器中打开。
策略注册表¶
插件提供策略注册表,用于保存已经研究过的策略,并按 id 复用。这样在后续会话中不必每次重新描述规则参数。
只读边界¶
该插件按只读设计:不下单,不改变持仓,不需要市场数据密钥。它展示规则状态和证据,但决策由用户负责,不构成投资建议。
安装与启用¶
依赖¶
使用前需要满足以下条件:
- 已安装 DSH,并使用
webprofile - 已安装
pnpm - 已安装
uv,用于运行内置 Python 引擎 - 能访问互联网以获取 Yahoo Finance 数据
安装¶
README 标明该插件尚未发布到 npm。未发布前,可使用下面的 GitHub 安装命令:
dsh plugin --profile web add github:AllenCX/dsh-quant-workspace
README 中也出现另一条安装命令:
dsh plugin --profile web add dsh-quant-workspace
这两条命令在 README 中同时出现,官方推荐命令需根据具体文档和使用环境确认。
配置¶
所有配置项均为可选。示例用户补丁路径如下:
$DSH_HOME/profiles/web/cordis.patch.yml
示例内容:
- id: quant-workspace
config:
ledgerPath: 'C:\path\to\trade_log.csv' # optional: track your real positions
reportsDir: 'C:\path\to\reports' # optional: where visual reports go
主要配置项如下:
| 配置项 | 默认值 | 含义 |
|---|---|---|
ledgerPath |
无 | 持仓台账 CSV,格式为 date,ticker,action,price,按 FIFO 处理;持仓仅从该文件跟踪 |
reportsDir |
$DSH_HOME/dsh-quant-workspace/reports |
可视化报告产物和状态导出目录 |
registryPath |
$DSH_HOME/dsh-quant-workspace/strategies.json |
策略注册表 JSON 文件 |
defaultRule |
无 | 调用中未指定规则时使用的默认规则族 |
timeoutMs |
180000 |
每次工具调用的前台超时时间 |
pythonCommand |
uv run --project <package>/python dsh-quant |
覆盖内置引擎 CLI 的运行命令,例如使用预构建 venv |
典型用法¶
在 DSH 会话中使用¶
在 Harness 会话中,可以直接用自然语言触发 single_ticker 工具。
查看某只标的的当日信号卡:
Give me today's signal card for TSLA
这对应 single_ticker,mode 为 daily。
回测某只标的并生成图表:
Backtest META and generate a chart
这对应 single_ticker,mode 为 backtest,并启用 chart: true。
做 review 健康检查:
Compare the review health check for TSLA
这对应 single_ticker,mode 为 review。
一次调用只运行一个规则。规则可以来自示例 rule family,也可以来自注册表中的 strategy id;如果两者都没有,则使用配置中的 defaultRule。如果这些都没有提供,工作区会报告没有选择策略。
single_ticker 参数¶
single_ticker 的主要参数如下:
ticker:必填,标的代码,例如TSLA;会自动转为大写,只允许字母、数字、点和连字符mode:默认daily,可选daily、backtest、reviewrule:示例规则族,当前包括bollinger_mean_reversionstrategy:策略注册表中的策略idchart:默认false;设为true时同时生成交互式 HTML 报告,并在reportsDir下写入状态 CSV,输出中包含产物路径
CLI 用法¶
插件提供 dsh-quant CLI。单标的命令格式如下:
dsh-quant single-ticker --ticker <T> --mode <daily|backtest|review> (--rule <family> | --strategy <id>) [--ledger <path>] [--chart <dir>] [--export-state <dir>] [--registry <path>] [--data-file <csv>]
策略注册表命令示例:
dsh-quant strategy register --id tsla_dip --family bollinger_mean_reversion --bollinger-window 30 --note 'dip strategy after Aug-2026 research'
查看已注册策略:
dsh-quant strategy list
删除某个策略:
dsh-quant strategy remove --id tsla_dip
CLI 退出码如下:
0:成功,输出纯文本报告1:数据无法加载2:无效调用
--data-file 可用于读取本地 OHLCV CSV,而不是从网络获取数据;该参数主要用于测试。
示例规则¶
内置引擎提供一个示例规则:Bollinger 均值回归。规则为日线级别,%B <= 0 时入场,%B >= 1 时出场。
适用场景与注意¶
这个插件适合以下场景:
- 使用 DSH
webprofile,希望从聊天或 CLI 做单标的研究 - 需要查看某个规则在指定标的上的信号状态
- 需要对规则策略做日线级别回测
- 需要生成可交互、自包含的 HTML 报告
- 希望把已研究过的策略保存到注册表,之后按
id复用
它不适合用于实际下单、持仓变更或需要完整交易系统支持的场景。
使用注意:
- 插件不构成投资建议;它只展示规则状态和证据,决策由用户负责
- 插件不下单,也不改变持仓
- 插件会以当前 DSH 进程权限运行;安装前应检查源码和许可证
- 获取 Yahoo Finance 数据需要互联网访问
- 首次运行内置 Python 引擎时,
uv会同步python/.venv --data-file读取本地 CSV 时,主要用于测试或离线验证
结尾¶
dsh-quant-workspace 的价值在于把单标的量化研究中的几个常见步骤放在同一个 DSH 插件里:日线数据、规则回测、交互式报告和策略复用。它保持只读边界,不触及下单和持仓变更,因此更适合研究和复核场景。
GitHub 仓库:
https://github.com/AllenCX/dsh-quant-workspace
插件目录页线索:
https://www.skillhub.cn/plugins/AllenCX/dsh-quant-workspace