Vnstock Free Expert
Runs an end-to-end vnstock workflow for free-tier-safe Vietnam stock valuation, ranking, and API operations with strict rate-limit control; used when users r...
Description
name: vnstock-free-expert description: Runs an end-to-end vnstock workflow for free-tier-safe Vietnam stock valuation, ranking, and API operations with strict rate-limit control; used when users request Vietnamese stock analysis under free-tier constraints. compatibility: Requires Python 3.x, vnstock package, pandas, internet access, and optional VNSTOCK_API_KEY in .env.
VNStock Free Expert
Use this skill when the user needs advanced Vietnam stock analysis with vnstock, while staying safe on free-tier limits.
Important packaging note
This skill is self-contained and does not require shipping a separate vnstock/ docs folder.
All operational knowledge needed by the agent is stored under:
references/
Read order
- Read
references/capabilities.md. - Read
references/method_matrix.mdfor exact class/method mapping. - Read
references/free_tier_playbook.mdbefore large runs.
Scope and constraints
- Library:
vnstockonly. - Preferred sources:
kbsfirst,vcifallback. - Never use
tcbs. - Treat
Screener APIas unavailable unless user confirms it is restored in their installed version.
Free-tier operating rules
- No API key: target <= 20 requests/minute.
- Free API key: target <= 60 requests/minute.
- Safe default pacing in scripts: 3.2s/request.
- Reuse cached artifacts between steps.
Shared confidence rubric (required)
Report confidence as High / Medium / Low using this standard:
High: universe coverage >= 95%, critical metrics coverage >= 80%, and hard errors <= 5% of symbols.Medium: universe coverage >= 80%, critical metrics coverage >= 60%, and hard errors <= 15%.Low: belowMediumthresholds or material missing fields that can flip ranking results.
Always output:
- Confidence level.
- Coverage stats (
symbols_requested,symbols_scored,% missing by key metric). - Top missing fields that may change conclusions.
API key configuration (implemented)
- Skill-local key file:
.env - Variable:
VNSTOCK_API_KEY - All API-calling scripts auto-load this key and call vnstock auth setup before requests.
- You can override per run with
--api-key "...".
Execution workflow (ordered)
- Validate environment (
python,vnstock,pandas) and load optional API key from.env. - Build a universe using
scripts/build_universe.py(group,exchange, orsymbolsmode). - Collect market data with
scripts/collect_market_data.pyusing safe pacing. - Collect fundamentals with
scripts/collect_fundamentals.py. - Score and rank using
scripts/score_stocks.py. - Generate analyst-style memo with
scripts/generate_report.py. - Apply confidence rubric, disclose missing fields, and summarize risks.
Downstream handoff bundle (required when doing single-ticker deep dive)
When the user request is about valuing or building a memo for a specific ticker (or a small list), output a compact JSON bundle that downstream skills can reuse:
ticker,as_of_date,currencyfinancials(income/balance/cashflow + key ratios if available)price_history(returns 1m/3m/6m/12m)peer_set(if you built one)metadata.sourceanddata_quality_notes
This bundle is designed to feed equity-valuation-framework and portfolio-risk-manager.
Script map
A) Discovery and universal invocation (for broad feature coverage)
catalog_vnstock.pyPath:scripts/catalog_vnstock.py
Use when:
- You need to inspect available classes/methods in the installed
vnstockversion. - You want to confirm compatibility before running a method.
invoke_vnstock.pyPath:scripts/invoke_vnstock.py
Use when:
- You need to call any supported class/method beyond the prebuilt valuation pipeline.
- You want one generic entry point for
Listing,Quote,Company,Finance,Trading,Fund, or other exported classes.
This script supports dynamic invocation by class name and method name with JSON kwargs.
B) Valuation pipeline scripts
-
build_universe.pyUse when building symbol universe from index/exchange/custom symbol list. Input: source + mode + group/exchange/symbols. Output:outputs/universe_*.csvand latest pointers. -
collect_market_data.pyUse when collecting OHLCV/momentum fields (3M, 6M, 12M returns). Input: universe CSV path. Output:outputs/market_data_*.csv+ per-symbol errors in JSON. -
collect_fundamentals.pyUse when collecting valuation and quality metrics from finance/company APIs. Input: universe CSV path. Output:outputs/fundamentals_*.csv+ per-symbol errors in JSON. -
score_stocks.pyUse when ranking symbols with composite scoring. Input: market + fundamentals CSV files. Output:outputs/ranking_*.csv. -
generate_report.pyUse when converting ranking output to analyst-style markdown memo. Input: ranking CSV file. Output:outputs/investment_memo_*.md. -
run_pipeline.pyUse when running the end-to-end pipeline in one command. Input: source + universe mode. Output: all artifacts above in one run.
Error handling rules
- Log symbol-level failures and continue processing remaining symbols.
- Do not claim missing metrics as zeros; mark them as missing.
- If a critical step fails, stop and report failed step + command + suggested retry scope.
Recommended decision logic
- If request is “standard valuation/ranking”: run pipeline scripts.
- If request needs a specific vnstock capability not in pipeline: use
catalog_vnstock.pytheninvoke_vnstock.py. - If request volume is large: apply
free_tier_playbook.mdthrottling and chunking strategy.
Confidence aggregation (required)
When output includes ranking and valuation interpretation:
- Compute data confidence from coverage metrics (
symbols_scored, missing key fields, error ratio). - Compute model confidence from method robustness (single metric vs multi-factor consistency).
- Final confidence = lower of data confidence and model confidence.
- In
Lowconfidence cases, provide directional output only and list required missing inputs.
Required output template
What Was Run: scripts, source, universe scope, and pacing profile.Coverage: requested symbols, scored symbols, and missingness by key field.Top Results: ranked list with score columns.Key Risks: concentration, stale data, missing metrics, or provider limitations.Confidence and Gaps: final confidence + exact blockers.
Quick command examples
python scripts/catalog_vnstock.py --outdir ./outputs
python scripts/invoke_vnstock.py --class-name Quote --init-kwargs '{"source":"kbs","symbol":"VCB"}' --method history --method-kwargs '{"start":"2024-01-01","end":"2024-12-31","interval":"1D"}' --outdir ./outputs
python scripts/run_pipeline.py --source kbs --mode group --group VN30 --outdir ./outputs
Trigger examples
- "Analyze VN30 using vnstock but keep it free-tier safe."
- "Rank Vietnamese stocks by value/quality/momentum with KBS data."
- "Run a full vnstock pipeline and return top candidates with risk notes."
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!