dsh-quant-workspace:DeepSeek Harness 的自包含量化研究插件

前言

在 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,并使用 web profile
  • 已安装 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_tickermodedaily

回测某只标的并生成图表:

Backtest META and generate a chart

这对应 single_tickermodebacktest,并启用 chart: true

做 review 健康检查:

Compare the review health check for TSLA

这对应 single_tickermodereview

一次调用只运行一个规则。规则可以来自示例 rule family,也可以来自注册表中的 strategy id;如果两者都没有,则使用配置中的 defaultRule。如果这些都没有提供,工作区会报告没有选择策略。

single_ticker 参数

single_ticker 的主要参数如下:

  • ticker:必填,标的代码,例如 TSLA;会自动转为大写,只允许字母、数字、点和连字符
  • mode:默认 daily,可选 dailybacktestreview
  • rule:示例规则族,当前包括 bollinger_mean_reversion
  • strategy:策略注册表中的策略 id
  • chart:默认 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 web profile,希望从聊天或 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye