Finance & Investment Banking equity-researchdcf-valuationstock-screeningtushareakshareyfinancedecision-journaltechnical-indicators

Daisy Financial Research

A stock-research workflow for AI agents covering A-share, HK and US markets — plan, fetch, validate, report, with a full audit trail.

FollowSkills review · FSRS-2.0
Use with care
55/ 100 5-point scale 2.8 / 5
1 2 3 4 5 6
1Trust14 / 25 · 2.8/5

SKILL.md shows restrained privileges: writes only under ./financial-research/, --dry-run previews, update check is notify-not-pull with explicit user consent before git pull, tokens via env var only, clear disclaimers. Deducted for: README/README_CN describe auto-update as a silent `git pull --ff-only`, conflicting with SKILL.md's 'never mutate the skill directory without explicit user consent'; the update step issues network calls (git ls-remote) with under-emphasized data-flow disclosure.

2Reliability10 / 20 · 2.5/5

Script contract is self-consistent (uniform envelopes, exit codes, --schema, --dry-run), dependencies are declared, optional deps lazily imported with dependency_missing exit code. Deducted for: the test suite is gitignored and absent from the published artifact, so key-path reproduction cannot be confirmed statically; upstream availability claims are environment-specific and failure feedback quality is described but not evidenced.

3Adaptability12 / 15 · 4.0/5

Trigger conditions and non-fit ranges (no trade execution, no personalized advice, no rumors) are explicit; strong fit for Chinese users (A-share/HK Connect/Tushare, domestically reachable data). Deducted for: US-market path depends on yfinance/Brave MCP with no mainland-China reachability note; the skill's breadth leaves false-trigger boundaries without counterexamples.

4Convention9 / 15 · 3.0/5

MIT license, version number, author attribution (Bilibili/GitHub), extensive references/ and known-limitation disclosure (e.g. the pro.hk_daily_basic gap), multi-platform install docs. Deducted for: version mismatch between SKILL.md frontmatter (2.6.0) and pyproject (2.8.0); tests and changelog absent from the published artifact; maintenance/update path rests on an unverified auto git pull; publisher identity unverified.

5Effectiveness6 / 15 · 2.0/5

The workflow spans plan→fetch→validate→report with deliverables (scratchpad, decision log, three-layer reports) offering clear marginal value over manual work; bank-valuation frame override and look-ahead guard are genuine differentiators. Deducted for: static review cannot confirm outputs are directly usable; effectiveness claims (131 tests, alpha computation) are author statements only.

6Verifiability4 / 10 · 2.0/5

Docs cite traceable design sources (virattt/dexter, TradingAgents) and record environment-specific API failures and a test inventory. Deducted for: tests are not in the published artifact so claims are not independently reproducible; all reliability/effectiveness claims are author assertions with no third-party execution evidence; the README-vs-SKILL.md update-behavior inconsistency weakens cross-document corroboration.

Evidence confidence:Low Reviewed Sep 10, 2026 Reviewed revision 2ac0a0fa9539
Before you use it
  • README and SKILL.md contradict each other on auto-update behavior (silent git pull vs explicit user consent); verify the actual update policy before installing and watch for skill-directory mutations.
  • The test suite is gitignored and absent from the published artifact; no reliability claim is independently verified — validate scripts with --dry-run and small samples first.
  • The US-market path depends on yfinance and Brave MCP with no mainland-China reachability disclosure; TUSHARE_TOKEN is a required credential — handle it carefully.
  • Version mismatch between SKILL.md frontmatter (2.6.0) and pyproject (2.8.0); verify the actual version at install time.
  • All output is data analysis, not investment advice; decision-log/backtest metrics are unverified author implementations.
Review evidence [1][2][3][4][5]
See the full review method →

What does this skill do, and when should you use it?

Daisy is an Agent Skill that turns a stock, company or sector question into a structured analyst workflow, inspired by virattt/dexter's iterative agent loop. Each run writes a research plan, routes data via Tushare (A-share/HK), AKShare fallbacks and yfinance (US), validates every number, and exports a sourced Markdown/HTML/PDF report under ./financial-research/. Unusually, it also keeps a cross-session decision log: every Buy/Hold/Sell-style rating is recorded as pending, later auto-resolved against real prices and benchmarks to compute realized alpha, and auditable via a backtest command. It is built for users who want reproducible, honest equity research rather than one-shot chat answers.

On a research query it: 1) pulls prior same-ticker decisions from memory, then writes a 3–7 step plan into a JSONL scratchpad; 2) routes data by ticker suffix — *.SH/SZ/BJ via Tushare pro endpoints, *.HK via Tushare plus AKShare for the documented hk_daily_basic gap, bare US tickers via yfinance/web search; 3) runs DCF with a 3×3 sensitivity matrix, auto-switching to RoTE/CET1/NIM/PB framing for banks and insurers; 4) runs multi-factor screens (dividend, value, quality, growth, momentum presets) into watchlists; 5) computes technical indicators with a look-ahead-bias guard; 6) validates units, periods and denominators, then renders md/html/pdf via financial_report.py; 7) logs the rating to decision-log.md, auto-resolves it later against actual closes (CSI 300 / HSI / SPY benchmarks) and aggregates hit rate, alpha t-stat and max drawdown via the backtest subcommand.

  1. A retail investor asking an agent for a deep dive on an A-share name (e.g. 600519.SH) with a sourced report
  2. Researching an HK bank like HSBC (00005.HK) with the correct RoTE/CET1/NIM frame instead of a misapplied DCF
  3. Screening a dividend-plus-quality A-share watchlist and rendering it as an HTML report in one command
  4. Users who regularly record agent ratings and want to backtest their research track record (hit rate, alpha t-stat)
  5. China-market catalyst analysis needing 涨跌停 / northbound flow / sector rotation context
  6. HK Stock Connect research where Tushare interfaces are incomplete and AKShare fallback is required

What are this skill's strengths and limitations?

Pros
  • Fully auditable workflow: plan, every tool call and assumption land in on-disk JSONL scratchpads that can be replayed
  • Cross-session decision journal is a genuine differentiator: pending→resolved lifecycle, auto-resolve against real prices, backtest with t-stats and max drawdown
  • Known pitfalls are engineered around: banks auto-skip DCF, the pro.hk_daily_basic gap has a wired AKShare fallback, technical indicators are look-ahead-bias guarded
  • Agent-friendly CLI contract: --schema introspection, --dry-run, stable JSON envelopes, structured exit codes
  • Documented install paths for many platforms (Claude Code, Codex, Hermes, ClawHub, etc.)
Limitations
  • Hard dependency on Tushare with a paid/permissioned TUSHARE_TOKEN; interface availability varies by account tier
  • HK/US segment revenue and some HK fundamentals have no free API — only annual reports or web search, so coverage is incomplete
  • The GitHub repo does not declare a license in its topics (SKILL.md frontmatter says MIT); repo-level licensing should be confirmed
  • No public test suite or third-party validation was found; backtest metrics are decision-level, not continuous NAV, so no textbook Sharpe ratio
  • Output is explicitly data analysis, not investment advice; screens are research watchlists, never buy lists

How do you install this skill?

Beyond ClawHub (clawhub install daisy-financial-research) and SkillsMP (skills install daisy-financial-research), installation is git clone into the client's skills folder, e.g. Claude Code: git clone https://github.com/Agents365-ai/daisy-financial-research.git ~/.claude/skills/daisy-financial-research; matching paths are documented for Opencode, Hermes, OpenAI Codex, and OpenClaw. Then pip install tushare pandas requests, optionally pip install akshare yfinance stockstats, and brew install pandoc basictex for PDF. Export TUSHARE_TOKEN before any Tushare call.

How do you use this skill?

Trigger with natural language: 'deep dive on Mao Tai', 'DCF for HSBC', 'find me A-share dividend names with quality'. CLI examples: python <skill-dir>/scripts/screen_a_share.py --preset a_dividend_quality --top 50 --report for a watchlist; python <skill-dir>/scripts/financial_report.py report.md --title ... --slug ... --pdf to render; python <skill-dir>/scripts/dexter_memory_log.py backtest to audit decisions. Every script supports --schema, --dry-run, and --format for agent integration.

How does this skill compare with similar options?

The README explicitly derives its design from virattt/dexter (iterative agent loop, scratchpad, numerical validation). Daisy can be read as a packaged, hardened multi-platform take on dexter, adding cross-session decision memory, automatic bank-valuation framing, screening scripts, and three-layer report rendering.

FAQ

Is a Tushare token mandatory?
Yes for any A-share/HK Tushare call — TUSHARE_TOKEN must be set. Some features have token-free fallbacks: AKShare HK valuation/fundamentals scripts and the local-dictionary HK name lookup need no token, and US tickers go through yfinance.
Can I trade directly on its output?
No. The skill mandates a 'data analysis only, not investment advice' disclaimer, frames screens as research watchlists, and requires DCF results to pass sensitivity and market-EV sanity checks.
What is the backtest actually measuring?
Decision-level records, not a continuous portfolio NAV — so there is deliberately no textbook Sharpe. It reports per-rating mean alpha, hit rate, alpha t-stat, annualized alpha, and cumulative-alpha max drawdown.
What happens when a data source fails?
There is a documented fallback chain: e.g. when Tushare's pro.hk_daily_basic is unavailable, AKShare takes over. Soft loop limits flag repeat calls after two failures, and missing data is disclosed rather than fabricated.

Related skills