china-trading-stacklisted
Install: claude install-skill howard-lynn-ye/fin-skills
# China trading stack
A backtest engine written for US equities is **wrong on A-shares by default** — it will let you sell
what you bought this morning, fill you at limit-up, and trade through a suspension. §3 is the list
of rules your engine must encode.
Data sourcing is a separate skill: `china-ashare-data`.
## 1. Pick a framework
| Task | Use | Note |
|---|---|---|
| Live trading, broadest gateway coverage | **vnpy** 4.4.0 (MIT, **45,089★**, pushed 2026-09-01) | The de-facto standard. Ships **no data of its own** |
| Futures research + live, incl. 夜盘 | **tqsdk** 3.10.2 (Apache-2.0, 4,991★, **only 4 open issues**) | Best-maintained here. Free tier covers all futures + options |
| Quant research pipeline / factor ML | **Qlib** `pyqlib` 0.9.7 (MIT, 48,253★) | 🚨 official China dataset is **disabled** — see §2 |
| Event-driven A-share backtest | **RQAlpha** 6.3.0 | 🚨 **custom licence: non-commercial only**; sdist-only, no Windows wheel |
| C++-core multi-asset | wondertrader / wtpy (MIT) | wtpy slowing (last push 2025-08) |
| Retail broker automation | easytrader 0.23.7 (MIT, 10,124★) | Slowing; GUI-automation fragility |
| HK/US via a Chinese broker | `futu-api`, `tigeropen` | Vendor-maintained. ⚠️ `futu-api` is sdist-only **but pure Python, so it installs fine on Windows**; it does require the separate **FutuOpenD daemon** |
## 2. 🚨 Qlib's China dataset is disabled
Qlib's README states verbatim: *"Due to more restrict data security policy. The official dataset is
dis