xingwudao/open-xquant/explore-data
Claude Code and agent skill by xingwudao/open-xquant
- community
Checking that the SKILL.md file is still in the repository.
Inspect, download, and validate open-xquant market, macro, and financial data; use before backtests, factor studies, or any task that depends on local parquet data.
Install
npx vskill@latest install xingwudao/open-xquant/explore-dataSKILL.md
Phase Path Containment Preflight
Before any phase artifact read, write, directory creation, command, or handoff, run this preflight completely and block on any failure:
- Read
.open-xquant/workspace.yaml. Resolveversion_rootfrom
paths.versions_dir, using versions only when that key is absent. Require version_root to be a safe workspace-relative path: reject an absolute path or any .. path segment, resolve it canonically with symlinks, and require the result to stay inside the workspace.
- Read
current.json. For normal phase work, setexpected_version_idto
current.json.active_version; it must exist. Only a contract that explicitly owns cross-version inspection may instead set expected_version_id from the referenced version id for that historical read. This exception never permits active-version work to consume another version.
- Set the intended version directory to
<version_root>/<expected_version_id>/ and resolve it canonically. Require the intended version directory to remain inside the canonical version root and workspace; otherwise treat it as a symlink escape. Read version_manifest.json only from that exact directory. The manifest version_id must equal expected_version_id; for normal phase work it therefore must also equal current.json.active_version.
- Before using each required
phase_pathsvalue, require a non-empty
workspace-relative string. Reject an absolute path and any .. path segment. Resolve <workspace>/<phase_path> canonically, including existing symlink ancestors even when the leaf will be created, and require the target to be the intended version directory or a descendant of it. A symlink escape outside that directory is invalid.
- On any identity or path failure, stop before phase artifact reads, writes,
directory creation, commands, or handoffs. Do not normalize an unsafe path into acceptance and do not fall back to a default phase path.
Block examples when expected_version_id is v001 include strategy_store/v001/../v002/04_spec_build, strategy_store/v002/04_spec_build, /tmp/04_spec_build, and strategy_store/v001/escape/04_spec_build when escape is a symlink whose target is outside the intended version directory. An allowed custom nested phase path is strategy_store/v001/custom/phases/04_spec_build when its canonical target remains under the intended version directory.
For a new-version bootstrap, only manage-strategy-version may proceed before the new manifest exists or the new id becomes active. It must apply the same workspace-relative, traversal, canonical-containment, and symlink checks to every constructed phase path before directory creation, then write a matching manifest before publishing current.json last.
Version Path Resolution
Before using any <phase_paths.*> or <version_root> placeholder, read .open-xquant/workspace.yaml. Resolve version_root from paths.versions_dir; use versions only when that key is absent. Require a safe relative path whose resolved target stays inside the workspace. Then read <version_root>/<version_id>/version_manifest.json and use its exact phase_paths entry for each phase. For example, a configured root of research_versions must resolve the spec-build phase to research_versions/v003/04_spec_build; never redirect it to a default-root phase path.
Data Explorer
You prepare data before research. Do not assume data exists or is complete.
Version-Governed Output Gate
When this skill is used as the data inspection phase for a strategy workflow, read current.json and use active_version as version_id. Write data inspection artifacts only under:
Do not write root-level data_inspection_result.json or data_availability_report.md.
Runner Python
Use the resolved runner's virtualenv Python in an installed research workspace. Use the sibling Python from the same bin directory as the runner when importing oxq. Read ~/.config/open-xquant/agent.yaml, take preferred_runner, then run the sibling python. oxq run python does not exist. Do not run uv run python in an installed research workspace unless the current directory is the open-xquant source checkout.
Market Data
List local parquet files:
Inspect one symbol:
Download with yfinance:
For A-share market bars, use AkShareDownloader and install the akshare extra first.
Required Data Shape
Every market parquet must have:
- file name
<SYMBOL>.parquet - tz-aware
DatetimeIndex - columns
open,high,low,close,volume - enough history for indicator warmup and train/test periods
If LocalMarketDataProvider says No data for '<SYMBOL>', stop and fix data or ask the user for a valid --data-dir.
Macro Data
Use WorldBankFetcher with indicator name, year range, and countries:
Available macro aliases include gdp, gdp_per_capita, gdp_growth, and cpi.
Financial Data
For A-share fundamentals, use EastMoneyFetcher through the factor data layer and verify available fields before screening. Network and provider coverage can fail; report provider errors directly.
Red Lines
- Do not run a formal backtest on unknown or missing data.
- Do not mix data providers inside one run unless the user approves and the
report states it.
- Do not treat generated mock data or demo downloads as production research
evidence.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagent/skills/explore-data/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/xingwudao/open-xquant/explore-data)