All checks were successful
continuous-integration/drone/push Build is passing
Coverage: 19% → 67% of API endpoints (88/131) market-analysis: 5 → 15 endpoints (all 14 technical indicators + historical) - Added: ADX, Stochastic, Keltner, Donchian, Aroon, CCI, Fib, A/D, Cones, VWAP - Added confluence/divergence analysis guidance fundamental-analysis: 5 → 12 endpoints - Added: summary (all-in-one), CAPM, Sortino, Omega, estimates, share-statistics, institutional, dividends, calendar/earnings - Added institutional ownership and earnings catalyst flagging sentiment-analysis: 5 → 16 endpoints - Added: reddit-sentiment, social-sentiment, shorts/ftd, darkpool/otc, share-statistics, institutional, congress/trades - Restructured as smart money vs retail noise hierarchy macro-analysis: 6 → 23 endpoints - Added: treasury-rates, effr, sofr, spreads, hqm, tips-yields, pce, gdp, unemployment, money-measures, cli, sloos, nonfarm-payrolls, empire-state, central-bank-holdings, fomc-documents, sp500-multiples - Added business cycle positioning framework trade-analyze: updated data collection to use /summary endpoint AGENTS.md (all 4 debate agents): updated for sessions_spawn protocol SOUL.md (all 4): removed unavailable memory_search, REPLY_SKIP refs deploy.sh: fixed nvm loading for SSH
117 lines
3.8 KiB
Markdown
117 lines
3.8 KiB
Markdown
---
|
|
name: fundamental-analysis
|
|
description: Professional fundamental analysis — valuation, growth quality, financial health, risk metrics, institutional positioning via openbb-invest-api
|
|
user-invocable: true
|
|
metadata: { "openclaw": { "emoji": "📋", "requires": { "bins": ["curl"] } } }
|
|
---
|
|
|
|
# Fundamental Analysis
|
|
|
|
Generate a professional-grade fundamental analysis. Think like a buy-side equity analyst.
|
|
|
|
## Data Collection
|
|
|
|
```bash
|
|
BASE=https://invest-api.k8s.home
|
|
|
|
# Company overview (quote + profile + metrics + financials in one call)
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/summary"
|
|
|
|
# Analyst consensus estimates
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/estimates"
|
|
|
|
# Analyst upgrades/downgrades with price targets
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/upgrades"
|
|
|
|
# Analyst buy/hold/sell counts
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/recommendations"
|
|
|
|
# Quantitative risk: Sharpe, volatility, max drawdown
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/performance?days=365"
|
|
|
|
# CAPM: beta, alpha, systematic vs idiosyncratic risk
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/capm"
|
|
|
|
# Sortino ratio (downside risk — better than Sharpe for asymmetric returns)
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/sortino?days=365"
|
|
|
|
# Omega ratio (full distribution gain/loss)
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/omega?days=365"
|
|
|
|
# Share statistics (float, shares outstanding, short % of float)
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/share-statistics"
|
|
|
|
# Institutional holders (13F — who's buying/selling)
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/institutional"
|
|
|
|
# Dividend history (if applicable)
|
|
curl -sk "$BASE/api/v1/stock/{TICKER}/dividends"
|
|
|
|
# Upcoming earnings date
|
|
curl -sk "$BASE/api/v1/calendar/earnings?start_date=$(date +%Y-%m-%d)&end_date=$(date -d '+30 days' +%Y-%m-%d 2>/dev/null || date -v+30d +%Y-%m-%d)"
|
|
```
|
|
|
|
## Report Structure
|
|
|
|
```
|
|
## {TICKER} Fundamental Analysis — {date}
|
|
|
|
### Valuation
|
|
- P/E: {value} vs S&P 500 avg (~22) — [cheap / fair / rich]
|
|
- P/B: {value}
|
|
- EV/EBITDA: {if available}
|
|
- Price vs consensus target: ${current} vs ${target} ({upside/downside}%)
|
|
- Price target range: ${low} — ${high}
|
|
|
|
### Growth Quality
|
|
- Revenue YoY: {%} — trend [accelerating / decelerating / stable]
|
|
- EPS YoY: {%}
|
|
- ROE: {%} — [excellent >20% / strong >15% / moderate >10% / weak <10%]
|
|
- ROA: {%}
|
|
- Net margin: {%} — [expanding / compressing]
|
|
- Forward estimates: {consensus EPS for next quarter/year}
|
|
|
|
### Financial Health
|
|
- Debt-to-Equity: {ratio} — [conservative <0.5 / moderate / leveraged >1.5]
|
|
- Current Ratio: {ratio} — [healthy >1.5 / tight <1.0]
|
|
- Free Cash Flow: {trend and magnitude}
|
|
- Cash position: {if available}
|
|
|
|
### Risk Profile
|
|
- Beta: {value} — [defensive <0.8 / market ~1.0 / aggressive >1.2]
|
|
- CAPM alpha: {%} — [outperforming / underperforming vs market]
|
|
- Sharpe (1Y): {value} — [poor <0.5 / good >1.0 / excellent >2.0]
|
|
- Sortino (1Y): {value} — [context vs Sharpe]
|
|
- Max drawdown (1Y): {%}
|
|
- Omega ratio: {value}
|
|
|
|
### Institutional & Ownership
|
|
- Float: {shares} ({% of total})
|
|
- Short % of float: {%} — [low <5% / moderate / high >15%]
|
|
- Top institutional holders: {names if available}
|
|
- Recent institutional activity: [net buying / net selling / stable]
|
|
|
|
### Analyst Consensus
|
|
- Ratings: {strong buy} strong buy / {buy} buy / {hold} hold / {sell} sell
|
|
- Recent actions: {last 2-3 upgrades/downgrades with firm names}
|
|
- Upcoming earnings: {date if within 30 days — FLAG if within 7 days}
|
|
|
|
### Dividend (if applicable)
|
|
- Yield: {%}
|
|
- Payout ratio: {%}
|
|
- Growth streak: {years}
|
|
|
|
### Signal: [BULLISH / BEARISH / NEUTRAL]
|
|
### Confidence: {1-10}
|
|
### Key Risk: {one-line}
|
|
```
|
|
|
|
## Rules
|
|
|
|
- Use ONLY data from API responses
|
|
- Compare metrics to sector peers, not just absolute thresholds
|
|
- Flag **earnings within 7 days** as a major catalyst/risk
|
|
- Sortino > Sharpe for stocks with asymmetric return profiles
|
|
- High short interest + upcoming catalyst = potential squeeze
|
|
- Keep under 500 words
|