Tushare Data
zillionare/zillionare
面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。
Run the standardized Quant backtest pipeline from a natural-language strategy through data gating, tested implementation, PyBroker execution, independent-ledger reconciliation, parameter robustness…
$ npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Sixian-Li/plain-backtest quant-backtest --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Sixian-Li/plain-backtest.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/quant-backtest .claude/skills/quant-backtest && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "quant-backtest" agent skill from https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtest into .claude/skills/quant-backtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quant-backtest", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtestType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Sixian-Li/plain-backtest quant-backtest --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sixian-Li/plain-backtest.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/quant-backtest .agents/skills/quant-backtest && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "quant-backtest" agent skill from https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtest into .agents/skills/quant-backtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quant-backtest", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Sixian-Li/plain-backtest quant-backtest --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sixian-Li/plain-backtest.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/quant-backtest .cursor/skills/quant-backtest && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "quant-backtest" agent skill from https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtest into .cursor/skills/quant-backtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quant-backtest", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Sixian-Li/plain-backtest.git --path .agents/skills/quant-backtest--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Sixian-Li/plain-backtest quant-backtest --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sixian-Li/plain-backtest.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/quant-backtest .gemini/skills/quant-backtest && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "quant-backtest" agent skill from https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtest into .gemini/skills/quant-backtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quant-backtest", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Sixian-Li/plain-backtest quant-backtestInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Sixian-Li/plain-backtest.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/quant-backtest .github/skills/quant-backtest && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "quant-backtest" agent skill from https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtest into .github/skills/quant-backtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quant-backtest", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Sixian-Li/plain-backtest quant-backtest --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sixian-Li/plain-backtest.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/quant-backtest .opencode/skills/quant-backtest && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "quant-backtest" agent skill from https://github.com/Sixian-Li/plain-backtest/tree/main/.agents/skills/quant-backtest into .opencode/skills/quant-backtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quant-backtest", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
quant-backtestRun the standardized Quant backtest pipeline from a natural-language strategy through data gating, tested implementation, PyBroker execution, independent-ledger reconciliation, parameter robustness…
Quant Backtest is an agent skill from Sixian-Li/plain-backtest. Run the standardized Quant backtest pipeline from a natural-language strategy through data gating, tested implementation, PyBroker execution, independent-ledger reconciliation, parameter robustness analysis, interactive HTML, experiment registration, automatic strategy-evolution synchronization, and work logging. Use when creating, changing, rerunning, reviewing, or explaining a backtest in this Quant workspace.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/pipeline.md`).
It sits in Business, Finance & HR, covering Trading and backtesting. The repository describes itself as: Say It Simply, Test It Properly. Agent-powered strategy research with independent ledger checks and reproducible reports. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 36adf23. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Quant Backtest loads about 2.7k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 108 tokens; SKILL.md has 1,298 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Sixian-Li/plain-backtest at commit 36adf23, republished under its MIT licence (© Sixian-Li). 1,298 words, ~2,664 tokens.
.claude/skills/quant-backtest/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Turn the user's strategy into a reproducible experiment that a fresh agent can inherit without reverse-engineering prior chat.
This skill is versioned at .agents/skills/quant-backtest/ in this repository. Locate the root from the current checkout; do not depend on a user-level skill or the author’s original workspace. Read README.md and backtest/docs/release/scope.md first. The distribution contains canonical data and experiment definitions, not the complete source archives or historical runs.
For an initial runnable demonstration, use backtest/.venv/bin/python backtest/scripts/quickstart.py. Its ledger check is not formal run validation. Formal Git/worktree/run requirements below apply when creating formal research in an initialized repository; do not initialize Git merely to run the example. Do not restore historical run pointers unless the full corresponding artifacts are present.
catalog.md, data/, and backtest/.catalog.md, root log.md, backtest/README.md, backtest/docs/architecture.md, backtest/docs/research_protocol.md, backtest/experiments/lineage.json, the relevant registry section, experiment.json, and its latest validated run/report when one exists.references/pipeline.md. Read data or framework docs only when relevant.active_run_id before allocating a run. If it is running or completed_unvalidated with the same definition, resume it; do not create a duplicate after a network/session interruption.pip check, relevant tests, and the audit; finish material implementation with the full test suite.worktrees/ pool. Create an experiment task with cd backtest && .venv/bin/python -m scripts.manage_worktree create <task-name> --experiment <PROGRAM>/<experiment-directory>. The manager uses sparse checkout and shared symlinks; never create hidden/external worktrees or copy .venv or large data into one.Write the authoritative experiment.json with a natural-language strategy description and exact rules for universe, warmup, indicators, entry/exit semantics, signal time, fill time, sizing, cash/margin, costs, benchmark, dates, and parameters. For interactive_research_v5, also write strategy.plain_language.summary, buy, sell, execution, and position as short complete Chinese sentences that a non-programmer can understand; keep formulas and machine conditions in the exact rule fields, not in this reader-facing story. Also predeclare research.stage, hypothesis, primary metric, selection rule, validation plan, promotion criteria, and rejection conditions. Distinguish a level condition from a crossing event. Ask only when an unresolved semantic choice would materially change results.
An experiment is the long-lived research definition. A run is one concrete execution that freezes configuration, data, code, environment, and outputs. A parameter combination inside a run is a case. Do not use these terms interchangeably. Changing strategy semantics creates a new experiment; data/code refreshes normally create a new run under the same experiment. Before starting a new experiment, assign its program, unique display version, full created_on, and lineage parent(s) in experiments/lineage.json; create its directory as experiments/<PROGRAM>/<DISPLAY_CODE>__<YY-MM-DD>__<slug>/. Run retries retain the same research version. For every parent-to-child edge, write rationale (why the research changed) and change_summary (what rules or intent changed) once in lineage.json. Do not manually edit strategy_evolution.md or program_evolution/*.md: the generator derives parent/child parameter differences and representative run metrics.
quantkit/ modules and configuration; do not duplicate a strategy per symbol.tests/core, data, lifecycle, or reporting; put strategy behavior under tests/strategies/<der|rot|tim>. Tests do not use experiment date/version names.candidate_pending_review point-in-time universe only when it freezes the candidate build ID, source/archive hashes, review status, adjustment choice, known gaps, and decision-time membership lag in experiment/run provenance. Keep research.stage=exploratory, surface the data limitation before results, and force promotion criteria to fail until the data is approved. Never modify purchased raw data or splice suppliers silently.OPEN or CLOSE; never allow PyBroker's default middle price into formal results.scripts.start_experiment_run only when no resumable active run exists. Use --resume-active after a session interruption. Explicitly mark an abandoned session with scripts.manage_experiment_run interrupt before starting a replacement.failed for deterministic code, data, ledger, report, or quality-gate failures. Use interrupted for network, process, or agent-session loss. After a validated successor exists, an explicitly authorized scripts.manage_experiment_run prune --apply may remove the interrupted directory while keeping the central event.Save the required machine artifacts from references/pipeline.md. Before building HTML, inspect backtest/report_templates/ and reuse the closest accepted template through quantkit.reporting.render_interactive_report. Use interactive_research_v5 for every new report. Immediately after the title and before all performance results, explain the frozen strategy in reading order: trading object and intent, when to buy, when to sell, how a signal becomes a fill, position/capital, costs, and benchmark. Use short human sentences from strategy.plain_language; do not put JSON, Python dictionaries, code conditions, machine-field tables, or an expanded parameter tree on the HTML/PDF front page. Keep the exact rules and full parameters in the web-only collapsed appendix and experiment_snapshot.json; hide that appendix and machine identity in print/PDF. Never mutate historical validated HTML/PDF. Generate the remaining self-contained Plotly report with readable navigation, visible-window Y-axis behavior for K-lines, manual Y controls, warmup markings, trades, equity, drawdown, and parameter surfaces. Keep formal strategy calculation read-only over saved results; label browser-only comparison scenarios explicitly.
For every formal experiment, record the template ID/path and a reuse_review decision in experiment.json: reuse an existing template, promote stable generally useful improvements into a new/versioned project template, or explain why no template applies. Do not copy a finished experiment HTML into this skill. When template code changes, run its unit/JavaScript tests and a real-browser interaction smoke test before publishing.
Add or update the experiment in backtest/experiments/index.md and backtest/experiments/lineage.json, append the material result to root log.md, and keep root catalog.md as a pure file tree. After every strategy research run or registry change, run scripts.build_research_catalog and scripts.build_research_catalog --check so the grouped registry, generated combined strategy_evolution.md, matching program_evolution/<PROGRAM>.md, scorecard, and lineage map all match the immutable evidence. Treat any stale generated file or an edge missing rationale/change_summary as incomplete work. Run the workspace audit; invoke quant-tidy only for actual structural reorganization. Finish with scripts.validate_run; only a passing run may become latest_validated_run_id, and a validated run is immutable. Maintain experiment/report.html as a relative link to that latest validated report. Commit the worktree branch, then use scripts.manage_worktree publish <task-name> --experiment <PROGRAM>/<experiment-directory> from a clean primary tree; the worktree is not a delivery location. Remove the fully merged worktree after publication. Give a candid limitation summary.
references/pipeline.md for schemas, artifacts, commands, and completion criteria.scripts.validate_run --experiment <experiment-dir> --run-id <run-id> before declaring a run validated.© Sixian-Li, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .agents/skills/quant-backtest of Sixian-Li/plain-backtest.
Open the folder on GitHubat commit 36adf23
Quant Backtest next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Quant Backtest this skillSixian-Li/plain-backtest | 170 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Tushare Datazillionare/zillionare | 319 | 2 repos | ~2.3k | Automated safety check: Pass | None | |
| Tradingview MCPatilaahmettaner/tradingview-mcp | 5k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Digital Oraclekomako-workshop/digital-oracle | 870 | — | ~5.9k | Automated safety check: Pass | MIT | |
| Fintoolsecond-state/fintool | 316 | 1 repos | ~5.9k | Automated safety check: Pass | None | |
| Polyclawchainstacklabs/polyclaw | 360 | 1 repos | ~2k | Automated safety check: Pass | Apache-2.0 |
zillionare/zillionare
面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。
atilaahmettaner/tradingview-mcp
AI Trading Intelligence — live prices, 30+ technical indicators, backtesting (6 strategies), walk-forward overfitting detection, trade logs, equity curves, licensed news sentiment (Marketaux), and…
komako-workshop/digital-oracle
Answer prediction questions using market trading data, not opinions.
second-state/fintool
Financial trading CLIs — spot and perp trading on Hyperliquid, Binance, Coinbase, OKX.
chainstacklabs/polyclaw
Trade on Polymarket via split + CLOB execution. An agent skill from chainstacklabs/polyclaw.
facioquo/stock-indicators-dotnet
Format and lint Markdown in this repository against GitHub Flavored Markdown and its markdownlint-cli2 configuration — headers, lists, code fences, callouts (VitePress containers on docs-site pages…
Sixian-Li/plain-backtest
Operate and assess the Quant workspace market-data layer through the tested data-update CLI.
Sixian-Li/plain-backtest
Audit and reorganize the Quant multi-project workspace. An agent skill from Sixian-Li/plain-backtest.
Categories
Run the standardized Quant backtest pipeline from a natural-language strategy through data gating, tested implementation, PyBroker execution, independent-ledger reconciliation, parameter robustness…. Quant Backtest is an agent skill from Sixian-Li/plain-backtest. Run the standardized Quant backtest pipeline from a natural-language strategy through data gating, tested implementation, PyBroker execution, independent-ledger reconciliation, parameter robustness analysis, interactive HTML, experiment registration, automatic strategy-evolution synchronization, and work logging.
Quant Backtest fits situations like: explaining a backtest in this Quant workspace; tasks that involve Trading and backtesting.
Run `npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a claude-code`. Or copy the skill folder (.agents/skills/quant-backtest in Sixian-Li/plain-backtest) into .claude/skills/quant-backtest in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a codex`. Or copy the skill folder (.agents/skills/quant-backtest in Sixian-Li/plain-backtest) into .agents/skills/quant-backtest in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Sixian-Li/plain-backtest --skill quant-backtest -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/quant-backtest, .gemini/skills/quant-backtest, .github/skills/quant-backtest and .opencode/skills/quant-backtest in your project.
Going by SKILL.md and its folder, Quant Backtest needs the command-line tools its instructions call (python and pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Quant Backtest is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Quant Backtest: Tushare Data (zillionare/zillionare, 319 stars), Tradingview MCP (atilaahmettaner/tradingview-mcp, 5k stars), Digital Oracle (komako-workshop/digital-oracle, 870 stars) and Fintool (second-state/fintool, 316 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Sixian-Li (a GitHub user) maintains it in Sixian-Li/plain-backtest, which has 170 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 27, 2026.
Source: Sixian-Li/plain-backtest on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.