skills/trading-analysis/SKILL.md
Analyze A-share money flow from tick-level data using the trading-analysis CLI, with both historical and real-time modes. Use this skill whenever the user mentions money flow, capital flow, main force inflow/outflow, institutional buying, tick-level analysis, order size classification (super-large/large/medium/small orders), real-time monitoring of capital flow, or wants to know whether smart money is buying or selling a stock. Also use when the user asks about 资金流向, 主力资金, 大单, 超大单, 散户, 逐笔分析, or 实时监控.
npx skillsauth add oopslink/trading-skills trading-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
trading-analysis CLI
|
v
miniqmt_cli.client.transport (HTTP)
|
v
miniqmt-cli daemon (Windows, port 8765)
|
v
xtquant tick snapshots (3-second intervals)
Requires: miniqmt-cli daemon running + SSH tunnel active.
Verify with miniqmt-cli health before use.
/data/ticks)lastPrice >= ask1 = active buy, <= bid1 = active sell, else neutral (split 50/50)avg_amount = delta_amount / delta_trades determines tier, delta_amount is accumulated| Tier | Average Per-Trade Amount | Label | |------|-------------------------|-------| | Extra-large | >= 100 wan (1,000,000) | 超大单 | | Large | 20 ~ 100 wan | 大单 | | Medium | 4 ~ 20 wan | 中单 | | Small | < 4 wan | 小单 |
Thresholds are configurable via --thresholds.
# Single stock, today, full trading day
trading-analysis moneyflow --code 002028.SZ
# Specify date (historical)
trading-analysis moneyflow --code 002028.SZ --date 20260416
# Custom time range
trading-analysis moneyflow --code 002028.SZ --start 093000 --end 110000
# Multiple stocks (outputs per-stock tables + ranking)
trading-analysis moneyflow --code 002028.SZ --code 000859.SZ --code 300618.SZ
# JSON output
trading-analysis moneyflow --code 002028.SZ --format json
# Custom thresholds (wan): small/medium boundary, medium/large, large/xlarge
trading-analysis moneyflow --code 002028.SZ --thresholds 4,20,100
# Use specific miniqmt-cli client config
trading-analysis moneyflow --code 002028.SZ --config ~/.miniqmt_cli/client.toml
Polls the daemon for latest tick snapshots every N seconds, accumulates deltas into a running summary, and displays via Rich Live (in-place terminal refresh). Ctrl+C to stop; prints final summary on exit.
# Single stock real-time (default 10s refresh)
trading-analysis moneyflow --code 002028.SZ --live
# Multiple stocks real-time ranking
trading-analysis moneyflow --code 002028.SZ --code 000859.SZ --code 300618.SZ --live
# Custom refresh interval (30 seconds)
trading-analysis moneyflow --code 002028.SZ --live --interval 30
--signal to get alert-on-trigger behavior; see Signal Expressions below.--signal)Live mode supports a minimal expression language for triggering alerts when conditions are met. The expression is evaluated every refresh interval against the running per-stock state.
# Alert when main force is net buying AND price is above MA20
trading-analysis moneyflow --code 002028.SZ --live \
--signal "main_net > 0 and price > ma20"
# Alert on a reversal signal
trading-analysis moneyflow --code 002028.SZ --live \
--signal "main_net > 500000 and ma5 > ma20"
# Multiple stocks — signal is evaluated per code independently
trading-analysis moneyflow --code 002028.SZ --code 000859.SZ --live \
--signal "main_net > 0"
Variables (all in yuan unless noted):
| Variable | Meaning |
|----------|---------|
| main_net | Main force net inflow (xlarge + large tiers) |
| retail_net | Retail net inflow (medium + small tiers) |
| price | Latest tick lastPrice |
| ma5 / ma10 / ma20 / ma60 | Simple moving average of that many 1-minute closes |
Operators: >, <, >=, <=, ==, and, or (lowercase only).
Literals: integers and floats; numbers are in yuan (e.g. 500000 = 50 wan).
Semantics:
None (e.g. MA window not yet filled), the signal is not triggered — no false positives during warm-up.ma20 triggers a preload of 20 1-minute klines before the live loop starts.False → True. It re-arms when the expression goes back to False.Output: when triggered, the live display prints a red banner >>> 002028.SZ 信号触发: <expr> <<< and the footer shows "已触发: [codes]". On Ctrl+C exit, a final summary lists which codes ever triggered.
Limitations:
cmp → and → or with left-to-right evaluation.+, -, *, /) inside expressions — compare variables to literal thresholds only.| Parameter | Default | Format |
|-----------|---------|--------|
| --code | (required, multiple) | XXXXXX.SZ / XXXXXX.SH |
| --date | today | YYYYMMDD |
| --start | 093000 | HHMMSS |
| --end | 150000 | HHMMSS |
| --format | table | table / json / csv |
| --thresholds | 4,20,100 | comma-separated wan |
| --config | from miniqmt-cli client.toml | path |
| --live | off | flag |
| --interval | 10 | seconds |
002028.SZ 2026-04-16 09:30 ~ 15:00
──────────────────────────────────────────────────
档位 买入(万) 卖出(万) 净流入(万) 方向
超大单 1,230.5 480.2 +750.3 净流入
大单 860.1 920.3 -60.2 净流出
中单 340.7 290.1 +50.6 净流入
小单 180.3 210.8 -30.5 净流出
──────────────────────────────────────────────────
主力合计 +690.1 净流入
散户合计 +20.1 净流入
统计: 快照 4,800 条 | 有效区间 4,799 | 买入 2,103 | 卖出 2,288 | 中性 408
Multiple stocks append a ranking:
── 主力净流入排名 ──
#1 002028.SZ +690.1万
#2 300618.SZ +120.3万
#3 000859.SZ -45.2万
| Symptom | Cause | Fix |
|---------|-------|-----|
| "cannot reach daemon" | SSH tunnel or daemon down | miniqmt-cli health; restart tunnel/daemon |
| "无数据" | Non-trading hours, invalid code, or no cached data | Check code format, try during market hours |
| All tiers show 0 | No trading activity in the time range | Widen the time range |
| 大单/超大单 always 0 | 3-second avg too small to hit threshold | Lower thresholds: --thresholds 2,10,50 |
| Live mode shows all zeros | Outside trading hours, no new ticks | Run during market hours (09:30-15:00) |
| Live mode not updating | Daemon not returning fresh snapshots | Check miniqmt-cli health; ensure miniQMT client is open |
tools
Operate miniQMT/xtquant via the miniqmt-cli tool -- market data queries, real-time streaming, account management, order placement with safety guards, daemon health checks, SSH tunnel management, and deployment to Windows. Use this skill whenever the user mentions miniqmt, miniQMT, xtquant, QMT trading, placing stock orders via CLI, checking positions or assets on a QMT account, streaming ticks or klines from QMT, deploying the trading daemon, or troubleshooting the miniqmt-cli daemon. Also use when the user asks about A-share programmatic trading via a CLI daemon architecture.
tools
--- name: tushare-stock description: Use when querying A-share individual stock data including price history, real-time quotes, capital flow, shareholders, block trades, pledges, ETF, or sector health using tushare-cli. Triggers on: 个股, 行情, 资金流向, 龙虎榜, 股东, 质押, ETF. --- # tushare-stock: Individual Stock Queries ## Commands ```bash # Lookup tushare-cli stock list # all listed A-shares tushare-cli stock list --exchange SSE # Shanghai only (SSE/SZSE
tools
Use when setting up tushare-cli token, choosing output formats, or getting an overview of available A-share market data query skills
tools
--- name: tushare-index description: Use when querying Shenwan industry index (申万) daily data, sector constituents, or global market indices (S&P 500, Nikkei, HSI) using tushare-cli. Triggers on: 申万, 行业指数, 成分股, 全球指数. --- # tushare-index: Shenwan & Global Index Queries ## Commands ```bash # Shenwan index daily data tushare-cli index sw-daily --ts-code 801010.SI --start 20240101 --end 20240201 # List Shenwan codes by level tushare-cli index classify # all L1 codes tushare-cli index c