portfolio-optimization

v0.3.0

提供多策略投资组合优化框架,支持均值-方差、Black-Litterman 和分层风险平价(HRP)算法,内置多种协方差估计方法对比分析。触发场景:(1) 我要给股票组合找最优配置,同时考虑交易成本;(2) 想对比不同风险模型(普通协方差、Ledoit-Wolf收缩、半协方差)哪个预测更准;(3) 用 Black...

0· 35·0 current·0 all-time
byTang Weigang@tangweigang-jpg
Security Scan
Capability signals
Crypto
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (multi-strategy portfolio optimization, covariance methods, Black-Litterman, HRP) aligns with included documentation and components. The included references (components, use cases) and the install script (cvxpy, numpy, pandas, scikit-learn, ecos, cvxopt, etc.) are proportional to the claimed functionality.
Instruction Scope
SKILL.md is instruction-heavy and directs running scripts/install.sh and following preconditions that import and call ZVT (data recorder/get_kdata). Those precondition checks may trigger network activity (data recording/recorder runs) and reference the ZVT_HOME env var, but this is coherent with the skill's purpose (fetching market data). The SKILL.md contains an Evidence Quality Notice (verify ratio ~34.6%, audit fail 40%) — users should treat results as requiring verification against source artifacts (seed.yaml/LATEST files).
Install Mechanism
No remote arbitrary archives or shorteners; install.sh runs pip installs from PyPI for standard numeric/optimization packages. This is expected for a Python-based optimization skill. Note: some packages (cvxopt, ecos) may require native build toolchains or system libraries and pip may build wheels during install.
Credentials
The skill declares no required environment variables or credentials, which is consistent. The runtime instructions and preconditions reference ZVT_HOME and may ask users to install/configure zvt (and choose data providers — some providers like joinquant require accounts). No unexplained SECRET/TOKEN env vars are requested. If you plan to use paid data providers, expect to supply provider credentials separately to those services.
Persistence & Privilege
The skill does not request always:true and does not request elevated platform privileges. It is user-invocable and allows normal autonomous invocation (platform default). It does not modify other skills' configs or ask for system-wide auth tokens.
Assessment
This skill appears coherent for portfolio optimization. Before installing: (1) run scripts/install.sh inside an isolated Python virtualenv/container to avoid polluting your system Python; (2) review the pip packages being installed (cvxpy, cvxopt, ecos can pull native code or require system deps) and install any OS-level prerequisites if needed; (3) be aware SKILL.md will call ZVT precondition checks and may instruct you to fetch market data — using certain data providers (e.g., joinquant) may require separate accounts/credentials you should supply only as needed and keep private; (4) the SKILL.md includes an Evidence Quality Notice indicating the compiled artifact has partial verification — verify critical outputs against primary sources/seed.yaml or upstream code before relying on results for real trading; (5) review the proprietary license (LICENSE.txt referenced) to ensure its terms are acceptable.

Like a lobster shell, security has layers — review code before you run it.

doramagic-crystalvk97f0as4580hrqxy5n906nzgy185dthpfinancevk97f0as4580hrqxy5n906nzgy185dthplatestvk97f0as4580hrqxy5n906nzgy185dthp
35downloads
0stars
1versions
Updated 9h ago
v0.3.0
MIT-0

portfolio-optimization

I help you build quant strategies on A-share with ZVT — from data fetch to backtest, one flow. Just tell me what you want; I'll write the code, you don't have to dig docs. (Heads up: ZVT natively supports A-share, HK, and crypto. US stocks — stockus_nasdaq_AAPL — are half-baked; don't bother for serious work.)

Pipeline

data_collection -> data_storage -> factor_computation -> target_selection -> trading_execution -> visualization

Top Use Cases (6 total)

Risk Model Comparison Analysis (UC-101)

Compares multiple covariance estimation methods (sample, semicovariance, exponential, Ledoit-Wolf variants, oracle approximating) to evaluate which pr Triggers: risk model comparison, covariance estimation methods, portfolio risk analysis

Basic Mean-Variance Optimization (UC-102)

Constructs a minimum volatility portfolio using mean-variance optimization with CAPM-based expected returns and compares sample covariance vs Ledoit-W Triggers: mean-variance optimization, minimum volatility portfolio, Efficient Frontier

Mean-Variance Optimization with Transaction Costs (UC-103)

Implements advanced mean-variance optimization that accounts for broker transaction costs when rebalancing from an initial portfolio allocation, using Triggers: transaction cost optimization, portfolio rebalancing, semicovariance risk

For all 6 use cases, see references/USE_CASES.md.

Install

# One-time setup before first use
bash scripts/install.sh

Execute trigger: When user intent matches intent_router.uc_entries[].positive_terms AND user uses action verb (run/execute/跑/执行/backtest/fetch/collect)

What I'll Ask You

  • Target market: A-share (default), HK, or crypto? (US stocks in ZVT are half-baked — stockus_nasdaq_AAPL exists but coverage is thin)
  • Data source / provider: eastmoney (free, no account), joinquant (account+paid), baostock (free, good history), akshare, or qmt (broker)?
  • Strategy type: MACD golden-cross, MA crossover, volume breakout, fundamental screen, or custom factor?
  • Time range: start_timestamp and end_timestamp for backtest period
  • Target entity IDs: specific stocks (stock_sh_600000) or index components (SZ1000)?

Semantic Locks (Fatal)

IDRuleOn Violation
SL-01Execute sell orders before buy orders in every trading cyclehalt
SL-02Trading signals MUST use next-bar execution (no look-ahead)halt
SL-03Entity IDs MUST follow format entity_type_exchange_codehalt
SL-04DataFrame index MUST be MultiIndex (entity_id, timestamp)halt
SL-05TradingSignal MUST have EXACTLY ONE of: position_pct, order_money, order_amounthalt
SL-06filter_result column semantics: True=BUY, False=SELL, None/NaN=NO ACTIONhalt
SL-07Transformer MUST run BEFORE Accumulator in factor pipelinehalt
SL-08MACD parameters locked: fast=12, slow=26, signal=9halt

Full lock definitions: references/LOCKS.md

Top Anti-Patterns (14 total)

  • AP-PORTFOLIO-ANALYTICS-001: Division by zero in price ratio calculations corrupts rebalancing
  • AP-PORTFOLIO-ANALYTICS-002: Look-ahead bias from unshifted signal generation and position calculations
  • AP-PORTFOLIO-ANALYTICS-003: Non-positive-semidefinite covariance matrix breaks CVXPY optimization

All 14 anti-patterns: references/ANTI_PATTERNS.md

Evidence Quality Notice

[QUALITY NOTICE] This crystal was compiled from blueprint finance-bp-093. Evidence verify ratio = 34.6% and audit fail total = 40. Generated results may have uncaptured requirement gaps. Verify critical decisions against source files (LATEST.yaml / LATEST.jsonl).

Reference Files

FileContentsWhen to Load
references/seed.yamlV6+ 全量权威 (source-of-truth)有行为/决策争议时必读
references/ANTI_PATTERNS.md14 条跨项目反模式开始实现前
references/WISDOM.md跨项目精华借鉴架构决策时
references/CONSTRAINTS.mddomain + fatal 约束规则冲突时
references/USE_CASES.md全量 KUC-* 业务场景需要完整示例时
references/LOCKS.mdSL-* + preconditions + hints生成回测/交易代码前
references/COMPONENTS.mdAST 组件地图(按 module 拆分)查 API 时

Compiled by Doramagic crystal-compilation-v6.1 from finance-bp-093 blueprint at 2026-04-22T13:00:40.212744+00:00. See human_summary.md for non-technical overview.

Comments

Loading comments...