OpenClaw stock analysis skill for US/HK/CN markets. Combines QVeris data sources (THS, Caidazi, Alpha Vantage, Finnhub, X sentiment) for quote, fundamentals,...
OpenClaw skills run inside an OpenClaw container. EasyClawd deploys and manages yours — no server setup needed.
Frontmatter: compact inline runtime/install/persistence/security to avoid VirusTotal scan pending; semantics unchanged.
---
name: stock-copilot-pro
description: OpenClaw stock analysis skill for US/HK/CN markets. Combines QVeris data sources (THS, Caidazi, Alpha Vantage, Finnhub, X sentiment) for quote, fundamentals, technicals, news radar, morning/evening brief, and actionable investment insights.
env:
- QVERIS_API_KEY
requirements:
env_vars:
- QVERIS_API_KEY
credentials:
required:
- QVERIS_API_KEY
primary: QVERIS_API_KEY
scope: read-only
endpoint: https://qveris.ai/api/v1
runtime: { language: nodejs, node: ">=18" }
install: { mechanism: local-skill-execution, external_installer: false, package_manager_required: false }
persistence: { writes_within_skill_dir: [config/watchlist.json, .evolution/tool-evolution.json], writes_outside_skill_dir: false }
security: { full_content_file_url: { enabled: true, allowed_hosts: [qveris.ai], protocol: https } }
network:
outbound_hosts:
- qveris.ai
metadata: {"openclaw":{"requires":{"env":["QVERIS_API_KEY"]},"primaryEnv":"QVERIS_API_KEY","homepage":"https://qveris.ai"}}
auto_invoke: true
source: https://qveris.ai
examples:
- "Analyze AAPL with a comprehensive report"
- "Technical analysis for 0700.HK"
- "Compare AAPL, MSFT, NVDA"
- "Give me fundamentals and sentiment for 600519.SS"
---
# Stock Copilot Pro
Global Multi-Source Stock Analysis with QVeris.
## SEO Keywords
OpenClaw, stock analysis skill, AI stock copilot, China A-shares, Hong Kong stocks, US stocks, quantitative analysis, fundamental analysis, technical analysis, sentiment analysis, industry radar, morning evening brief, watchlist, portfolio monitoring, QVeris API, THS iFinD, Caidazi, Alpha Vantage, Finnhub, X sentiment, investment research assistant
## Supported Capabilities
- Single-stock analysis (`analyze`): valuation, quality, technicals, sentiment, risk/timing
- Multi-stock comparison (`compare`): cross-symbol ranking and portfolio-level view
- Watchlist/holdings management (`watch`): list/add/remove for holdings and watchlist
- Morning/Evening brief (`brief`): holdings-focused daily actionable briefing
- Industry hot-topic radar (`radar`): multi-source topic aggregation for investable themes
- Multi-format output: `markdown`, `json`, `chat`
- OpenClaw LLM-ready flow: structured data in code + guided narrative in `SKILL.md`
## Data Sources
- Core MCP/API gateway: `qveris.ai` (`QVERIS_API_KEY`)
- CN/HK quote and fundamentals:
- `ths_ifind.real_time_quotation`
- `ths_ifind.financial_statements`
- `ths_ifind.company_basics`
- `ths_ifind.history_quotation`
- CN/HK news and research:
- `caidazi.news.query`
- `caidazi.report.query`
- `caidazi.search.hybrid.list`
- `caidazi.search.hybrid_v2.query`
- Global news sentiment:
- `alpha_news_sentiment`
- `finnhub.news`
- X/Twitter sentiment and hot topics:
- `qveris_social.x_domain_hot_topics`
- `qveris_social.x_domain_hot_events`
- `qveris_social.x_domain_new_posts`
- `x_developer.2.tweets.search.recent`
## What This Skill Does
Stock Copilot Pro performs end-to-end stock analysis with five data domains:
1. Market quote / trading context
2. Fundamental metrics
3. Technical signals (RSI/MACD/MA)
4. News and sentiment
5. X sentiment
It then generates a data-rich analyst report with:
- value-investing scorecard
- event-timing anti-chasing classification
- safety-margin estimate
- thesis-driven investment framework (drivers/risks/scenarios/KPIs)
- multi-style playbooks (value/balanced/growth/trading)
- event radar with candidate ideas from news and X
- scenario-based recommendations
- standard readable output (default) + optional full evidence trace (`--evidence`)
## Key Advantages
- Deterministic tool routing via `references/tool-chains.json`
- Evolution v2 parameter-template memory to reduce recurring parameter errors
- Strong fallback strategy across providers and markets
- US/HK/CN market-aware symbol handling
- Structured outputs for both analyst reading and machine ingestion
- Safety-first handling of secrets and runtime state
## Core Workflow
1. Resolve user input to symbol + market (supports company-name aliases, e.g. Chinese name -> `600089.SH`).
2. Search tools by capability (quote, fundamentals, indicators, sentiment, X sentiment).
3. Route by hardcoded tool chains first (market-aware), then fallback generic capability search.
- For CN/HK sentiment, prioritize `caidazi` channels (report/news/wechat).
- For CN/HK fundamentals, prioritize THS financial statements (income/balance sheet/cash flow), then fallback to company basics.
4. Before execution, try evolution parameter templates; if unavailable, use default param builder.
5. Run quality checks:
- Missing key fields
- Data recency
- Cross-source inconsistency
6. Produce analyst report with:
- composite score
- safety margin
- event-driven vs pullback-risk timing classification
- structured thesis (driver/risk/scenario/KPI)
- event radar (timeline/theme) and candidate ideas
- style-specific execution playbooks
- market scenario suggestions
- optional parsed/raw evidence sections when `--evidence` is enabled
7. Preference routing (public audience default):
- If no preference flags are provided, script returns a questionnaire first.
- You can skip this with `--skip-questionnaire`.
## Command Surface
Primary script: `scripts/stock_copilot_pro.mjs`
- Analyze one symbol:
- `node scripts/stock_copilot_pro.mjs analyze --symbol AAPL --market US --mode comprehensive`
- `node scripts/stock_copilot_pro.mjs analyze --symbol "<company-name>" --mode comprehensive`
- Compare multiple symbols:
- `node scripts/stock_copilot_pro.mjs compare --symbols AAPL,MSFT --market US --mode comprehensive`
- Manage watchlist:
- `node scripts/stock_copilot_pro.mjs watch --action list`
- `node scripts/stock_copilot_pro.mjs watch --action add --bucket holdings --symbol AAPL --market US`
- `node scripts/stock_copilot_pro.mjs watch --action remove --bucket watchlist --symbol 0700.HK --market HK`
- Generate brief:
- `node scripts/stock_copilot_pro.mjs brief --type morning --format chat`
- `node scripts/stock_copilot_pro.mjs brief --type evening --format markdown`
- Run industry radar:
- `node scripts/stock_copilot_pro.mjs radar --market GLOBAL --limit 10`
## OpenClaw scheduled tasks (morning/evening brief and radar)
To set up morning brief, evening brief, or daily radar in OpenClaw, use **only** the official OpenClaw cron format and create jobs via the CLI or Gateway cron tool. Do not edit `~/.openclaw/cron/jobs.json` directly.
- Reference: the `jobs` array in `config/openclaw-cron.example.json`; each item is one `cron.add` payload (fields: `name`, `schedule: { kind, expr, tz }`, `sessionTarget: "isolated"`, `payload: { kind: "agentTurn", message: "..." }`, `delivery`).
- Example (morning brief): `openclaw cron add --name "Stock morning brief" --cron "0 9 * * 1-5" --tz Asia/Shanghai --session isolated --message "Use stock-copilot-pro to generate morning brief: run brief --type morning --max-items 8 --format chat" --announce`. To deliver to Feishu, add `--channel feishu --to <group-or-chat-id>`.
- Incorrect: using the legacy example format (e.g. `schedule` as string, `command`, `delivery.channels` array) or pasting the example into jobs.json will cause Gateway parse failure or crash.
## CN/HK Coverage Details
- Company-name input is supported and auto-resolved to market + symbol for common names.
- Sentiment path prioritizes `caidazi` (research reports, news, wechat/public-account channels).
- Fundamentals path prioritizes THS financial statements endpoints, and always calls THS company basics for profile backfill:
- `revenue`
- `netProfit`
- `totalAssets`
- `totalLiabilities`
- `operatingCashflow`
- `industry`
- `mainBusiness`
- `tags`
## Output Modes
- `markdown` (default): human-readable report
- `json`: machine-readable merged payload
- `chat`: segmented chat-friendly output for messaging apps
- `summary-first`: compact output style via Read full documentation on ClawHub