AllenCX
dsh-quant-workspace
DSH plugin bridging a local low-frequent-quant engine: single-ticker signal card, backtest, review (read-only).
- Stars
- 0
- Language
- Python
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-quant-workspace
A self-contained quant research workspace for DeepSeek Harness. It ships a Python engine inside the package — fetch Yahoo Finance daily data, backtest rule-based strategies, and generate interactive visual reports, all from chat.
⚠️ Not investment advice. The workspace surfaces rule state and evidence; decisions are always yours. It never places orders and never changes positions.
Features
- Data — Yahoo Finance daily bars (2 years by default), with OHLCV + indicator export.
- Backtesting — per-trade table, total return, max drawdown, win rate, average hold, and a buy-and-hold baseline.
- Visual reports — self-contained interactive HTML charts: candlesticks with bands and entry/exit markers, volume, %B, and an equity curve. Zoom (anchored at the cursor), pan, crosshair, and a red-up/green-down toggle — no dependencies, open in any browser.
- Strategy registry — save strategies you have researched and reuse them by id.
- Read-only by design — no orders, no position changes, no market-data keys.
Requirements
- A DeepSeek Harness installation (
webprofile) withpnpm. uv(runs the bundled Python engine; first use syncspython/.venv).- Internet access for Yahoo Finance data.
Install
Installation status: not yet published to npm. Until then, install from the git spec (
dsh plugin --profile web add github:AllenCX/dsh-quant-workspace) or use the dev overlay below.
dsh plugin --profile web add dsh-quant-workspace
All configuration is optional. Example user patch ($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
| Option | Default | Meaning |
|---|---|---|
ledgerPath | (none) | Position ledger CSV (date,ticker,action,price; FIFO). Positions are only tracked from this file. |
reportsDir | $DSH_HOME/dsh-quant-workspace/reports | Directory for visual report artifacts (HTML charts) and state exports. |
registryPath | $DSH_HOME/dsh-quant-workspace/strategies.json | Strategy registry JSON file. |
defaultRule | (none) | Default rule family used when a call does not specify one. |
timeoutMs | 180000 | Foreground timeout per tool call. |
pythonCommand | uv run --project <package>/python dsh-quant | Override for running the bundled engine CLI (e.g. a pre-built venv). |
Dev / local overlay
pnpm dsh web --patch ./dev.patch.yml
Quick start
In a Harness session:
- "Give me today's signal card for TSLA" —
single_ticker, modedaily. - "Backtest META and generate a chart" —
single_ticker, modebacktest,chart: true. - "Compare the review health check for TSLA" —
single_ticker, modereview.
A call runs exactly one rule: an example rule family, a registered strategy id, or the
configured defaultRule when neither is given. Without any of these, the workspace reports
that no strategy is selected.
Tools
single_ticker
ticker(required) — symbol, e.g.TSLA. Uppercased automatically; only letters, digits, dot and dash.mode(defaultdaily) —dailysignal card ·backtestwith per-trade table ·reviewhealth check.rule— an example rule family (currentlybollinger_mean_reversion).strategy— id of a strategy in the workspace registry.chart(default false) — also write an interactive HTML report and the state CSV underreportsDir; the artifact paths are included in the output.
Strategy registry
After research, save a strategy and reuse it by id:
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
Example rule
The bundled engine ships one example rule so the workspace works out of the box: Bollinger
mean-reversion on daily bars — enter when %B <= 0, exit when %B >= 1 (Bollinger 20, 2σ,
same-bar close fills, no transaction costs in v1). Rule parameters are CLI options, and more
rule families (MA cross, Donchian, RSI, trend filters) are on the roadmap.
CLI reference
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|list|remove [options]
- Exit 0 with plain-text report on success; exit 1 when data cannot be loaded; exit 2 for invalid invocation.
--data-filereads a local OHLCV CSV instead of the network (used by the tests).
Development
pnpm install && pnpm run typecheck && pnpm run test && pnpm run build # TS shell
cd python && uv run --project . pytest tests -q # bundled engine
License
MIT