Performance attribution error analysis
Skill ternary-ai/skills/skills/advanced/performance-attribution-error-analysis
A collection of agent skills for investment finance
npx -y skills add ternary-ai/skills --skill performance-attribution-error-analysisAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Attributes portfolio returns to stock selection, sector allocation, and macro exposure, then identifies decision errors to improve the investment process. Use during monthly and quarterly portfolio reviews.
SKILL.md
3.0 KB, as published. Nobody here has run it
Performance Attribution & Error Analysis
Purpose: Improve decision quality over time.
Trigger: Monthly and quarterly review.
Inputs:
- Return data
- Benchmark data
- Decision log
Data Sources
Follow this order — do not ask the user which source to use:
- Context first: Check
<stock_context>and<acquired_data>for periodic return data, benchmark returns, and any trade decision log. If return series and benchmark data are present → proceed directly to Process. - Fetch if missing: Call:
TIME_SERIES_DAILY(per holding) — price history to compute period returnsTIME_SERIES_DAILY(benchmark ticker, e.g. SPY) — benchmark return seriescalculate— attribution arithmetic (stock selection, allocation, residual)
- Ask only if both fail: Call
request_user_inputasking for the specific missing field only (e.g. "Please paste your trade decision log or portfolio return series for the review period").
Process:
- Attribute returns to stock selection, sector allocation, and macro exposure.
- Identify mistakes: thesis error, timing error, sizing error.
- Update playbook rules.
Output:
- Performance report
- Process refinements
Output Format
Write a performance attribution report in markdown format:
## Performance Attribution & Error Analysis
**Period**: {Start Date} to {End Date}
### Portfolio Performance Summary
- **Total Return**: +/-X%
- **Benchmark Return**: +/-X% (S&P 500 or relevant index)
- **Alpha**: +/-X%
- **Best Performer**: {TICKER} (+X%)
- **Worst Performer**: {TICKER} (-X%)
### Attribution by Position
| Ticker | Weight | Return | Contribution | Decision Quality |
|--------|--------|--------|--------------|------------------|
| XXX | X% | +/-X% | +/-X% | [Good/Neutral/Error] |
| XXX | X% | +/-X% | +/-X% | [Good/Neutral/Error] |
| ... | | | | |
### Decision Error Identification
#### Thesis Errors
[Positions where the fundamental investment case was wrong]
- **{TICKER}**: [What we believed vs what actually happened]
#### Timing Errors
[Right thesis, wrong entry/exit timing]
- **{TICKER}**: [Entered too early/late, exited prematurely/late]
#### Sizing Errors
[Right thesis, wrong position size]
- **{TICKER}**: [Undersized winner / oversized loser]
### Process Improvements
[Specific, actionable lessons to refine screening, underwriting, sizing, or exit discipline]
### Key Takeaways
1. [First lesson]
2. [Second lesson]
3. [Third lesson]
Thesis Field Rule: Always populate the thesis field in the JSON output with the complete performance attribution report. This is an advanced skill — thesis upserting is mandatory. ⚠️ Extended thinking is discarded — copy the complete analysis into the thesis field; it is the ONLY output that reaches the Thesis panel.