NEWv0.1.15-dev · Developer preview

A nine-bot research deskfor A-shares, ready to run

Alpha Desk is a preconfigured research workspace for DeepSeek Harness. A team of financial bots works together in a group chat: pulling data, running event studies, writing reports, backtesting, watching the market and reviewing decisions. Every conclusion comes with its evidence, window and uncertainty.

A research tool. Not investment advice.

Alpha Desk — Quant Research Room
Quant Research Room
9 bots online
@Researcher pull the last three years of financial statements for this company, then ask @Backtest & Risk to test a moving-average strategy.
Researcher
Statements and valuation data retrieved. Basis: consolidated, as of latest filing. Drafting assumptions, scenarios and risks…
Backtest & Risk

Backtest done: next-day open fills, T+1, commission / stamp duty / transfer fee included; limit-up/down and ST constraints flagged.

NAV
Max drawdown
Trades
financial bots
9
financial bots
research skills
35
research skills
report types
6
report types
scheduled automations
4
scheduled automations

Principles

Evidence, not stock tips

Alpha Desk is built as an A-share research tool and data terminal — not an investment advisory product. The guardrails are written into every bot’s instructions.

Evidence & basis

Every conclusion states its data basis, as-of date, window, sample size and uncertainty. Missing data is called out, never guessed.

No buy/sell calls

No recommendations on specific securities, no target prices, ratings, return promises or “trading signals”.

No auto-trading

No connection to brokerage, no automatic orders, and no resale of market data.

Your data, your choice

Free astock / global data by default; bring your own licensed iFinD or Tonghuashun access.

The team

Nine research colleagues, each with a clear job

They collaborate in a shared research room: one bot pulls the data, another verifies it, and the strategist turns it into a testable research plan.

Data Officer

Data

01

A-share and global quotes, three financial statements, F10, Dragon-Tiger lists, limit-up pools, fund flows and news. Data and definitions only.

Event Analyst

Event studies

02

Aligns stock and benchmark bars to compute CAR and significance, reporting window, p-value and sample size.

Researcher

Company & sector

03

Uses statements, DCF, comps and initiating-coverage skills: data first, then assumptions, scenarios and risks.

Factor Hunter

Factor research

04

Builds momentum, volatility, turnover, valuation and quality proxies; measures IC/IR, monotonicity and robustness.

Screener

Screening

05

Turns hypotheses into auditable stock universes: excludes ST / suspended / new listings, reports rules, hits and sensitivity.

Backtest & Risk

Backtesting

06

NAV, max drawdown, Sharpe / Sortino / Calmar, cost and slippage sensitivity; flags overfitting and data leakage.

Strategist

Strategy research

07

Assembles factors, events and screens into hypotheses and experiment plans with clear pass/fail criteria.

Market Watcher

Monitoring

08

Maintains watchlists, sets price and move alerts, summarizes unusual moves and sector rotation with latency notes.

Reviewer

Post-mortems

09

Records judgments in causal memory and back-fills outcomes after the validation window: decision → outcome.

Capabilities

From raw data to review, in one workspace

Plugins, skills, the report engine, team seeds and the license public key ship together in a single bundle: deepseek-alpha-desk.

Market center + dashboard

Candlesticks, a Chan-theory layer and indicators, with the bot sidebar and group chat side by side.

1D1W1M— MA5— MA20- - Chan layer

6 reports + independent review

Technical compare, event commentary, stock snapshot, earnings review, industry compare, deep dive — cross-checked against two quote sources.

Technical CompareStock SnapshotEvent CommentaryEarnings ReviewIndustry CompareDeep Dive

Built-in daily backtester

backtest_run: next-day open fills, T+1, commission / stamp duty / transfer fee, stops, limit-up/down and dated ST.

T+1Limit up/downSTStopsHTML

alpha-data adapter

All 35 skills call mcp__data__*, routed by priority with automatic fallback. New data sources apply on the next call.

Live market watch

dsh-market-watch: quotes, watchlists, threshold alerts and in-chat charts — 6 tools plus a CLI.

Schedules & memory

Price alerts, pre-market briefs, post-close reviews and a trading-day guard; local memory, with cloud causal-memory on Pro.

Offline-signed license

ECDSA P-256 / SHA-256, verified offline. Invalid, expired or missing licenses fall back to Free automatically.

macOS & Windows

One-package install, smoke-tested with real installs on windows-latest in CI.

Report Engine · quant-report-engine

Ships with Alpha Desk

The engine never invents a conclusion. It ships numbers you can re-check.

Pure Python standard library. Every report runs the same pipeline: multi-source fetch, one source of numbers, single-file rendering — then a separate module that never imports the computing code refetches and recomputes.

1fetch

Tencent forward-adjusted daily bars as the master series, Sina raw prices as an adjustment audit, plus realtime quotes and astock statements / valuation / F10.

2model

Every number comes from one metrics.json: period returns, MAs, drawdown, CAR, valuation and peer ranks.

metrics.json
3render

A self-contained HTML file: inline SVG, dark / print styles, A-share red-up green-down, no scripts, no external URLs.

report.html
4verify

Imports none of fetch / model / render. Recomputes from raw bars and raw statement fields and compares field by field.

5verify_html

Derives the metrics again from raw data and asserts every formatted number in the HTML matches.

Six sub-engines

Technical compare, event commentary, stock snapshot, earnings review, industry compare and deep dive — each fetch → model → render → verify.

Multi-source cross-checks

The latest trading day must appear in at least two independent sources; technical compare requires ≥3 sources within a 0.005% max spread.

Explicit definitions

Data cutoff, adjustment mode, volume unit (normalized to lots) and failed sources are written into the report.

No fabricated data

An unreachable source is recorded under failures and never substituted; a missing master series aborts the run.

Optional narrative, no advice

Conclusions come from a separate narrative.json written by the model; without it a neutral data summary is produced. The schema has no buy/sell, target-price or return fields.

MCP access

A stdio MCP server exposes technical_compare, event_commentary, stock_snapshot, earnings_review, industry_compare, backtest_run, verify_html and more.

Technical-compare smoke test (README, 2026-10-16 data)
Independent verify
68 checks · 0 mismatch
Deliverable assertions
107 checks · 0 failures
Cross-check
4/4 instruments · 4 sources each
HTML
3 inline SVGs · 0 scripts · 0 external URLs
packages/quant-report-engine · README

Reports

Six reports, each with its basis and a second check

Reports organize public data for research, with data definitions, independent verification and a disclaimer.

technical_compareFree

Technical Compare

Side-by-side technicals for several tickers: trend, indicators and key ranges on one basis.

stock_snapshotFree

Stock Snapshot

One page with a stock’s price action, financials and recent events.

event_commentaryPro

Event Commentary

Event studies around announcements or news: window, abnormal return and significance.

earnings_reviewPro

Earnings Review

Key line items, YoY / QoQ changes and definitions, focused on what changed and the risks.

industry_comparePro

Industry Compare

Peers compared on scale, profitability, valuation and growth.

deep_stockPro

Deep Dive

An in-depth document on fundamentals, assumptions, scenarios and risks.

Plus backtest_run and verify_html on Free.

Agent Self-Evolution · RSI (Recursive Self-Improvement)

In development · standalone module, not yet in 0.1.15-dev

Agent self-evolution: every step proven better before it ships

RSI (Recursive Self-Improvement) is how Alpha Desk’s agents evolve themselves. The bot team re-tests itself on frozen data snapshots, scores outcome, process and cost, and changes exactly one file per A/B experiment. Only changes that clear a 95% confidence-interval gate are promoted; a human reviews and merges them, any step can be rolled back, and the lessons flow into the team knowledge base — so the agents evolve, safely, generation by generation.

  1. 01

    Task set + frozen snapshot

    Strict asOf cutoff; rows after asOf are rejected as future-data. Same input, same snapshotHash.

  2. 02

    Run

    Deterministic mock, DSH headless, or the nine financial bots by name in an isolated DSH_HOME — your profile and chats are untouched.

  3. 03

    Three-layer score

    Outcome 40 (direction / magnitude / window) + process 45 (evidence / required fields / counter-evidence) + cost 15 (tokens / latency), plus Brier calibration.

  4. 04

    Checkpoints

    C1 forces a counter-evidence search before concluding; C2 checks the evidence chain, window and uncertainty before publishing and caps confidence by evidence strength.

  5. 05

    Single-variable mutation + A/B

    A candidate may change exactly one file. Each case runs N times per arm (median), with a paired bootstrap 95% CI.

  6. 06

    Promote / revert

    Mean diff > 0, CI lower bound > 0 and ≥ 10 samples are required to land in rsi/promoted/ for human review. Revert only moves a pointer; history is kept.

  7. experiments.jsonl → promoted/LATEST.json → history.jsonl
Composite score (0–100)
40
Outcome
45
Process
15
Cost
ab.mjs · paired bootstrap 95% CIIllustrative UI · not real data
0
improvedregressedno-differenceinsufficient

With fewer than 10 cases the verdict is insufficient — no conclusion is drawn.

Trust layer: rule out answers that only look right

Grounding gate

Extracts every numeric claim in a report and checks it against the frozen snapshot; failed numbers block. A precision guardrail, not a truth guarantee.

Decision closure

Judgment → pending → entry after the decision day (T+1) → settle alpha vs. benchmark over a trading-day window → deterministic reflection → causal memory. Limit-locked entries are unfilled, never “correct”.

No public ratings

Externally only an evidence status is returned: sufficient / insufficient / conflicting. Internal research tiers are off by default and never reach user-visible output.

Data contracts

Symbol identity lock, point-in-time (records without availableAt are rejected), registered adjustment mode; tool failures, truncation and stale data must be stated.

Factor lab

Whitelisted DSL (no eval), train / out-of-sample split with embargo, and five gates: OOS, cost, correlation, multiple testing, capacity.

Nightly run + canary

Snapshot → run → score → ledger → report; a deterministic 10% canary, with alerts for score drops, regressions, budget overruns and look-ahead data.

Self-evolution with guardrails: current cases and factor data are synthetic fixtures (synthetic: true) that only validate the mechanism, not real predictive ability. RSI never merges its own evolutions and never changes existing bots, profiles or trading logic.

Deep Memory

Ships with Alpha Desk

It remembers what you said — and what happened next

Two layers. Long-term bot memory lets each bot keep preferences, decisions and corrections across conversations. Causal memory pairs every judgment with its real outcome once the window closes, and reviews only see lessons that were known at the time.

memory/bots/researcher/MEMORY.md
# Memory
- User prefers back-adjusted prices everywhere [source: part 2 #41; added: 2026-10-20]
- For baijiu research, always compare 000858 and 000568 [source: part 3 #12; added: 2026-10-21]
- Put the conclusion on page one, risks in their own section [source: group "Quant Research Room"; by: Strategist; added: 2026-10-21]
## Index [[sector-baijiu]] · [[earnings-notes]]
journal { op: "replace", before: "…", after: "…" }
Illustrative UI · not real data

Long-term bot memory

Each bot keeps a MEMORY.md plus topic files, and the whole team shares a team memory — plain Markdown that people can read.

remember / forget / recall

Bots write, remove and search memory with three tools; source and date are attached to every entry automatically.

Automatic post-chat review

When a conversation goes idle, the model reads what is new and keeps, changes or removes entries — without relying on the bot to call remember.

Every change journaled

journal.jsonl stores the line before and after each change, so history needs no git. A deleted bot’s memory is archived whole.

Permissions & privacy

Bots read and write their own memory and read the team’s; only main bots and group admins write team memory. Keys, passwords, codes and ID numbers are refused.

Fixed sizes

Entries ≤ 300 chars, MEMORY.md ≤ 4,000, topics ≤ 16,000 and at most 40. Memory is frozen per session so the prompt prefix cache holds.

Memory panel

See a summary and every entry, ask a question or request a change — all edits go through the same controlled path.

Causal memory · decision → outcome

The Reviewer bot records judgments in causal memory and back-fills outcomes after the window; Pro can connect cloud causal-memory.

  1. Judgment
    direction / confidence / evidence
  2. pending
    first record written
  3. T+1 entry
    first bar after decision day
  4. Settle window
    alpha vs 510300
  5. Reflect → memory
    with resolved_at
query(as_of) → resolved_at ≤ as_of

Two records, one decision

The first is written when the decision goes pending; the second after settlement, with alpha, correctness and resolved_at.

Only what was known then

Reads require as_of: only resolved records with resolved_at ≤ as_of are visible, so future lessons never leak into past judgments.

Four invariants

No alpha or correctness before settlement; unfilled, pending and unmeasurable are null, not “wrong”; review creates no position record. Enforced by a single write entry.

Team Knowledge Base · Team KB

In development · standalone module, not yet in 0.1.15-dev

Memory records what happened. The knowledge base records what the team knows.

A Markdown knowledge base: sources are split into pages that carry source hashes, and nothing is published until a different reviewer approves it. When a source changes, its pages go back to review. Bots query it through a read-only MCP server before they research.

ingest
rule-based, no LLM
draft
draft + source hash
review
writer ≠ reviewer
published
in pages/, searchable
stale
source changed, re-review
stale → review (reground)
pages/<type>/<slug>.mdsources/drafts/[[wikilink]]
kb_search causal chainIllustrative UI · not real data
  • 3.2
    Causal edge
    [concept/causal-edge]
    published
  • 2.3
    Earnings review playbook
    [playbook/earnings-review]
    published
  • 1.4
    Sample company
    [entity/sample-company]
    published
kb_searchkb_getkb_contextkb_lintkb_stats
MCP stdio · read-only · BM25

Seven page types

entity, concept, sector, regime, causal_chain, playbook, decision; statuses draft / review / published / stale.

Rule-based ingest

Splits by headings, types pages by keywords, extracts key figures, A-share codes and related wikilinks, keeps the source excerpt. Re-ingesting identical content is a no-op.

Independent review

Publishing requires status: published, an independent reviewer, at least one source and one wikilink; update-then-self-approve is rejected.

Source drift detection

reground compares source hashes; changed or missing sources move pages out of pages/ as stale until re-approved.

Chinese-aware search

BM25 with Chinese character bigrams; title ×3, tags / symbols ×2. kb_context expands one wikilink hop within a token budget.

MCP + DSH

Read-only tools kb_search, kb_get, kb_context, kb_lint, kb_stats; the registration script is dry-run by default and backs up before writing.

Lessons flow back

Settled, genuinely improved self-evolution (RSI) records become decision/lesson drafts that still need independent review; re-runs create no duplicates.

Health checks

kb lint finds broken links, orphan pages, missing sources and duplicate titles — usable as a CI gate.

Data architecture

Your data sources come first

Skills are not tied to any vendor. alpha-data tries each source by priority and falls back automatically on failure.

  • Lower number is tried first
  • Saved to alpha-data.json, no restart
  • astock-compatible tool names or aliases
35 skills
mcp__data__get_a_hist
alpha-data
Priority routing + fallback
P0
Your BYO MCP
Optional · highest priority
P1
astock / global
Built-in · free default

Install

Up and running in three steps

Requires DSH 0.2.0-rc.2, Python 3.9+, and access to the private registry.

  1. 1

    Add the install skill

    Unzip alpha-desk-install-skill.zip into your DSH skills folder and tell DSH “install Alpha Desk”. It downloads, verifies, backs up and runs diagnostics.

  2. 2

    Start the profile

    Launch DSH with the dedicated alpha-desk profile. On desktop you can also add deepseek-alpha-desk from Settings → Plugins → Add plugin.

  3. 3

    Activate Pro (optional)

    Open DSH → Settings → Alpha Desk, paste your ADK1 license key and click “Verify & activate”. Restart to apply.

terminal
# or simply tell DSH: "install Alpha Desk"
$ python3 scripts/install.py
$ dsh --profile alpha-desk --port 19390
# activate Pro (optional)
$ ./scripts/activate.sh 'ADK1....'
DSH ≥ 0.2.0-rc.2
Python 3.9+
deepseek-alpha-desk

Plans

Start free

Draft pricing, subject to change at launch. Unlimited bots — model usage runs on your own tokens.

Free

DSH profile
¥0
  • Free data sources
  • Technical Compare / Stock Snapshot
  • Built-in backtest & review
  • Local memory
Join the beta

Pro

License key
¥399/ mo
  • All 6 reports
  • Cloud factor research (research / backtest only)
  • Scheduled tasks
  • Priority updates
Request Pro

Memory add-on

Separate key
¥99/ mo · suggested
  • Cloud causal-memory
  • Cross-device sync
  • Decision reviews
Learn more

B2B / Private

Docker / contract
Quote
  • Private deployment
  • Institution-only modules
  • Contract delivery
Contact us

Data is free by default (astock / global). iFinD / Tonghuashun require your own license and are not part of the subscription.

Changelog

Shipping steadily

Highlights from recent releases.

  1. v0.1.15latest

    Model routing fixes

    • Chief bot now uses the DSH default model instead of leaving it blank
    • Model picker lists the default provider first and no longer silently picks the first model
    • Missing-credential errors now explain how to fix them
  2. v0.1.14

    The team grows to nine

    • New: Factor Hunter, Screener, Backtest & Risk, Strategist, Market Watcher
    • Existing users get the new bots on restart — no data reset
  3. v0.1.13

    Live market watch

    • Added dsh-market-watch: quotes, watchlists, alerts, in-chat charts
    • Desktop install from Settings → Plugins
    • CI now installs by package name and boots it for real
  4. v0.1.10

    One package name

    • The single npm package is now deepseek-alpha-desk
  5. v0.1.9

    Windows support

    • Built and smoke-tested with real installs on windows-latest
    • Installer supports both macOS and Windows

FAQ

Questions you might have

Early access

Join the Alpha Desk beta

Alpha Desk is in developer preview. Leave your email and we’ll let you know as soon as new releases and beta seats open up.

  • First to hear about new releases
  • Early beta seats
  • A direct line for product feedback

Used only for beta updates. Never shared or sold.