Data Officer
Data
A-share and global quotes, three financial statements, F10, Dragon-Tiger lists, limit-up pools, fund flows and news. Data and definitions only.
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.
Backtest done: next-day open fills, T+1, commission / stamp duty / transfer fee included; limit-up/down and ST constraints flagged.
Four core systems
Every number re-checked, every call settled, every fact reviewed
Fetch → compute → render → independent verification, delivered as one HTML file.
Bots test themselves on frozen snapshots, run one-change experiments, and evolve only past statistical gates and human review.
Long-term bot memory plus causal decision → outcome memory, with every change journaled.
Markdown wiki + BM25 search + MCP. The writer is never the reviewer.
Principles
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.
Every conclusion states its data basis, as-of date, window, sample size and uncertainty. Missing data is called out, never guessed.
No recommendations on specific securities, no target prices, ratings, return promises or “trading signals”.
No connection to brokerage, no automatic orders, and no resale of market data.
Free astock / global data by default; bring your own licensed iFinD or Tonghuashun access.
The team
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
A-share and global quotes, three financial statements, F10, Dragon-Tiger lists, limit-up pools, fund flows and news. Data and definitions only.
Event studies
Aligns stock and benchmark bars to compute CAR and significance, reporting window, p-value and sample size.
Company & sector
Uses statements, DCF, comps and initiating-coverage skills: data first, then assumptions, scenarios and risks.
Factor research
Builds momentum, volatility, turnover, valuation and quality proxies; measures IC/IR, monotonicity and robustness.
Screening
Turns hypotheses into auditable stock universes: excludes ST / suspended / new listings, reports rules, hits and sensitivity.
Backtesting
NAV, max drawdown, Sharpe / Sortino / Calmar, cost and slippage sensitivity; flags overfitting and data leakage.
Strategy research
Assembles factors, events and screens into hypotheses and experiment plans with clear pass/fail criteria.
Monitoring
Maintains watchlists, sets price and move alerts, summarizes unusual moves and sector rotation with latency notes.
Post-mortems
Records judgments in causal memory and back-fills outcomes after the validation window: decision → outcome.
Capabilities
Plugins, skills, the report engine, team seeds and the license public key ship together in a single bundle: deepseek-alpha-desk.
Fetch → compute → render → independent verification, delivered as one HTML file.
Bots test themselves on frozen snapshots, run one-change experiments, and evolve only past statistical gates and human review.
Long-term bot memory plus causal decision → outcome memory, with every change journaled.
Markdown wiki + BM25 search + MCP. The writer is never the reviewer.
Candlesticks, a Chan-theory layer and indicators, with the bot sidebar and group chat side by side.
Technical compare, event commentary, stock snapshot, earnings review, industry compare, deep dive — cross-checked against two quote sources.
backtest_run: next-day open fills, T+1, commission / stamp duty / transfer fee, stops, limit-up/down and dated ST.
All 35 skills call mcp__data__*, routed by priority with automatic fallback. New data sources apply on the next call.
dsh-market-watch: quotes, watchlists, threshold alerts and in-chat charts — 6 tools plus a CLI.
Price alerts, pre-market briefs, post-close reviews and a trading-day guard; local memory, with cloud causal-memory on Pro.
ECDSA P-256 / SHA-256, verified offline. Invalid, expired or missing licenses fall back to Free automatically.
One-package install, smoke-tested with real installs on windows-latest in CI.
Report Engine · quant-report-engine
Ships with Alpha DeskPure 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.
Tencent forward-adjusted daily bars as the master series, Sina raw prices as an adjustment audit, plus realtime quotes and astock statements / valuation / F10.
Every number comes from one metrics.json: period returns, MAs, drawdown, CAR, valuation and peer ranks.
A self-contained HTML file: inline SVG, dark / print styles, A-share red-up green-down, no scripts, no external URLs.
Imports none of fetch / model / render. Recomputes from raw bars and raw statement fields and compares field by field.
Derives the metrics again from raw data and asserts every formatted number in the HTML matches.
Technical compare, event commentary, stock snapshot, earnings review, industry compare and deep dive — each fetch → model → render → verify.
The latest trading day must appear in at least two independent sources; technical compare requires ≥3 sources within a 0.005% max spread.
Data cutoff, adjustment mode, volume unit (normalized to lots) and failed sources are written into the report.
An unreachable source is recorded under failures and never substituted; a missing master series aborts the run.
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.
A stdio MCP server exposes technical_compare, event_commentary, stock_snapshot, earnings_review, industry_compare, backtest_run, verify_html and more.
Reports
Reports organize public data for research, with data definitions, independent verification and a disclaimer.
Side-by-side technicals for several tickers: trend, indicators and key ranges on one basis.
One page with a stock’s price action, financials and recent events.
Event studies around announcements or news: window, abnormal return and significance.
Key line items, YoY / QoQ changes and definitions, focused on what changed and the risks.
Peers compared on scale, profitability, valuation and growth.
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-devRSI (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.
Strict asOf cutoff; rows after asOf are rejected as future-data. Same input, same snapshotHash.
Deterministic mock, DSH headless, or the nine financial bots by name in an isolated DSH_HOME — your profile and chats are untouched.
Outcome 40 (direction / magnitude / window) + process 45 (evidence / required fields / counter-evidence) + cost 15 (tokens / latency), plus Brier calibration.
C1 forces a counter-evidence search before concluding; C2 checks the evidence chain, window and uncertainty before publishing and caps confidence by evidence strength.
A candidate may change exactly one file. Each case runs N times per arm (median), with a paired bootstrap 95% CI.
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.
With fewer than 10 cases the verdict is insufficient — no conclusion is drawn.
Extracts every numeric claim in a report and checks it against the frozen snapshot; failed numbers block. A precision guardrail, not a truth guarantee.
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”.
Externally only an evidence status is returned: sufficient / insufficient / conflicting. Internal research tiers are off by default and never reach user-visible output.
Symbol identity lock, point-in-time (records without availableAt are rejected), registered adjustment mode; tool failures, truncation and stale data must be stated.
Whitelisted DSL (no eval), train / out-of-sample split with embargo, and five gates: OOS, cost, correlation, multiple testing, capacity.
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 DeskTwo 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.
Each bot keeps a MEMORY.md plus topic files, and the whole team shares a team memory — plain Markdown that people can read.
Bots write, remove and search memory with three tools; source and date are attached to every entry automatically.
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.
journal.jsonl stores the line before and after each change, so history needs no git. A deleted bot’s memory is archived whole.
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.
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.
See a summary and every entry, ask a question or request a change — all edits go through the same controlled path.
The Reviewer bot records judgments in causal memory and back-fills outcomes after the window; Pro can connect cloud causal-memory.
The first is written when the decision goes pending; the second after settlement, with alpha, correctness and resolved_at.
Reads require as_of: only resolved records with resolved_at ≤ as_of are visible, so future lessons never leak into past judgments.
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-devA 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.
entity, concept, sector, regime, causal_chain, playbook, decision; statuses draft / review / published / stale.
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.
Publishing requires status: published, an independent reviewer, at least one source and one wikilink; update-then-self-approve is rejected.
reground compares source hashes; changed or missing sources move pages out of pages/ as stale until re-approved.
BM25 with Chinese character bigrams; title ×3, tags / symbols ×2. kb_context expands one wikilink hop within a token budget.
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.
Settled, genuinely improved self-evolution (RSI) records become decision/lesson drafts that still need independent review; re-runs create no duplicates.
kb lint finds broken links, orphan pages, missing sources and duplicate titles — usable as a CI gate.
Data architecture
Skills are not tied to any vendor. alpha-data tries each source by priority and falls back automatically on failure.
Install
Requires DSH 0.2.0-rc.2, Python 3.9+, and access to the private registry.
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.
Launch DSH with the dedicated alpha-desk profile. On desktop you can also add deepseek-alpha-desk from Settings → Plugins → Add plugin.
Open DSH → Settings → Alpha Desk, paste your ADK1 license key and click “Verify & activate”. Restart to apply.
# or simply tell DSH: "install Alpha Desk"$ python3 scripts/install.py$ dsh --profile alpha-desk --port 19390# activate Pro (optional)$ ./scripts/activate.sh 'ADK1....'
Plans
Draft pricing, subject to change at launch. Unlimited bots — model usage runs on your own tokens.
Data is free by default (astock / global). iFinD / Tonghuashun require your own license and are not part of the subscription.
Changelog
Highlights from recent releases.
FAQ
Early access
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.