Stock Correlation AnalysisFinance Skill
A three-file recipe for correlation rankings, pair statistics, clustering and conditional comparisons. It includes executable Python and automatic package installation. Static review found an unsuitable unverified Ward distance, missing post-alignment checks and misleading regime labels. A spread Z-score does not validate a mean-reversion strategy. Example tables are illustrative; no market download, package installation or third-party code was run.
- Assessment score
- 72/100
- Snapshot risk
- High
- Audit conclusion
- Needs review
How the assessment score works
Pineify weights evidence recorded from the captured files: Skill structure 15%, Instruction clarity 20%, Dependency transparency 20%, Permission transparency 20%, Safety guardrails 15%, Finance task fit 10%. Each signal receives full credit for Yes, one-quarter credit for unknown, and none for No.
The score is not an output accuracy test or user rating. Read the findings and financial assumptions even when the score is high. Risk labels summarize recorded permissions and findings; they do not measure investment risk or certify that installation is safe.
Discovery
What this Skill helps an agent do.
Use the tasks and topics below to judge whether the captured workflow fits your question. Read its findings, dependencies and data requirements before relying on an output.
Domains and assets
Topics
Trust
Evidence from the captured directory.
This content snapshot assessment does not certify the repository, current files, or installation environment. "Not verified" means the captured files did not support a Yes or No conclusion.
License
GitHub reports the repository license as MIT License.
Review state
- Automated review
- Automated review
- Install tested
- No
- Human reviewed
- Not verified
Snapshot
- Files reviewed
- 3
- Captured
- 2026-07-29 07:31 UTC
- Snapshot ID
- fsh-stock-correlation-2026-07-29-001
Permissions
FilesystemRead
YesThe workflow reads its local peer-universe reference and imports installed Python libraries; package and cache access may occur.
FilesystemWrite
YesAutomatic pip installation writes Python packages; README npx setup also writes installed skill files. Data-library caches and optional outputs depend on the environment.
NetworkAccess
Yesyfinance fetches historical price data from Yahoo Finance. The skill also uses yf.screen() and yf.EquityQuery for peer universe construction.
ShellExecution
YesThe skill executes Python code for data analysis and may run pip install for dependencies. Step 1 checks and installs yfinance/pandas/numpy if missing.
CodeExecution
YesThe skill executes Python code for correlation computation, clustering, and regime analysis using yfinance, pandas, numpy, and optionally scipy.
ExternalCredentials
NoNo external credentials are required — yfinance uses public Yahoo Finance APIs.
Dependencies
yfinance
python3 -m pip install yfinance (auto-installed if missing)
Python library for Yahoo Finance market data. Auto-installed if missing.
pandas
python3 -m pip install pandas (auto-installed if missing)
Data manipulation library. Auto-installed if missing.
numpy
python3 -m pip install numpy (auto-installed if missing)
Numerical computing library. Auto-installed if missing.
scipy
python3 -m pip install scipy (optional, for hierarchical clustering)
Optional library for hierarchical clustering. Falls back to sorting if unavailable.
Data sources named by the Skill
Yahoo Finance (yfinance)
Historical prices, company info, and screener API for peer universe construction.
Snapshot assessment
72/100
Pineify Finance Skill snapshot assessment, version 1.0.0. Generated 2026-10-20 00:00 UTC.
High risk · Needs review
Skill structure
100/100Instruction clarity
100/100Dependency transparency
50/100Permission transparency
56/100Safety guardrails
50/100Finance task fit
80/100Audit findings
High
Clustering distance does not meet the stated method requirements
The code passes 1 minus absolute correlation to Ward linkage without establishing Euclidean distances. SciPy explicitly requires Euclidean geometry for Ward. Absolute correlation also groups strong inverse and same-direction relationships together. A leaf order is not a cluster assignment: an explicit cut rule is needed before reporting groups. The documented no-SciPy fallback is prose only; the supplied function imports SciPy unconditionally.
Medium
Auto-installs Python packages via pip
Step 1 checks for yfinance/pandas/numpy and auto-installs them via subprocess.check_call([sys.executable, "-m", "pip", "install", ...]) if missing. This executes pip install without user confirmation, which may be unexpected in some environments.
Medium
Dependency manifest is absent from the snapshot
No requirements.txt or pyproject.toml is included. Dependencies (yfinance, pandas, numpy, scipy) are auto-installed via pip in Step 1 and documented in README.
Medium
Report aligned samples and actual regime definitions
The initial column observation threshold precedes complete-case row deletion; the final common sample may be far smaller. Guard missing target columns, empty samples, nonpositive prices and zero variance. The high-vol group is actually high absolute daily return; a daily return below minus 2% is not peak-to-trough drawdown. Conditioning on contemporaneous returns is descriptive and can change correlation mechanically; full-sample thresholds are not an ex-ante signal. Crisis correlations need not equal one.
Medium
Preserve sign and disclose the selected universe
The interpretation table calls every correlation below 0.50 weak, which incorrectly includes strong negative correlation. Its default 0.60 threshold is not applied by the supplied discovery function. Rankings cover a selected, capped current universe, not all stocks or historical membership. Main text says same-industry screening, while the reference implements sectors and says industry unsupported; current official EquityQuery documentation supports industry. Refresh the contract and disclose actual filters.
Medium
A high correlation and spread Z-score do not establish mean reversion
The spread is a log price ratio with unit coefficient, while the separate beta is estimated on returns. Neither proves a stationary or cointegrated price relationship or a tradable hedge ratio. A two-standard-deviation observation is not a return forecast. Specify estimation and test windows, test stability and out-of-sample behavior, and include costs and borrow constraints before treating a pair as a strategy.
Sources and relations
Context around this Skill.
Repository
himself65/finance-skills
topic
Stock correlation & co-movement analysis
topic
Pair trading & spread analysis
topic
Sector clustering & peer grouping
topic
Regime-conditional correlation
agent
Claude Code
collection
Market analysis
guide
Reviewing finance skills before install
Registry
Read this record as data.
The public record includes the page-safe snapshot, evidence, assessment, taxonomy, and relations. Internal revision fields stay outside the public projection.
- Record ID
- github:himself65/finance-skills:plugins/market-analysis/skills/stock-correlation
- Snapshot ID
- fsh-stock-correlation-2026-07-29-001