Stock Analysis SOP¶
Purpose¶
The openfin analysis stock command runs automated multi-dimension quantitative analysis on individual stocks. It produces a BUY / HOLD / SELL recommendation with confidence level and supporting evidence.
This is a quantitative screen, not a decision. Use it as one input alongside thesis-driven scoring (Layer 2). The automated signal tells you "what the numbers say"; thesis alignment tells you "what the story says."
Running the Analysis¶
# Single stock
openfin analysis stock AAPL
# Multiple stocks
openfin analysis stock NVDA,MSFT,AVGO
# JSON output (for programmatic use)
openfin analysis stock AAPL --json
# Verbose (shows progress)
openfin analysis stock AAPL --verbose
Execution time: 3-5 seconds per ticker. Shared market indicators (VIX, Fear & Greed, breaking news) are cached for 1 hour across tickers.
Analysis Dimensions (8 for Stocks)¶
| Dimension | Weight | What It Measures |
|---|---|---|
| Earnings Surprise | 30% | Most recent quarter EPS beat/miss vs consensus |
| Fundamentals | 20% | P/E ratio, operating margins, revenue growth, debt/equity |
| Analyst Sentiment | 20% | Consensus rating, price target upside/downside, analyst count |
| Historical Patterns | 10% | Last 4 quarters beat rate, average earnings day reaction |
| Market Context | 10% | VIX level, SPY/QQQ 10-day trends, safe-haven flight detection |
| Sector Performance | 15% | Stock vs sector ETF 1-month return, sector trend |
| Momentum | 15% | RSI-14, 52-week range positioning, volume ratio |
| Sentiment | 10% | Fear & Greed (contrarian), short interest, VIX structure, insider trades, put/call ratio |
Note: Weights sum to >100% because not all dimensions are always available. The system auto-normalizes based on which dimensions return data.
Interpreting the Output¶
- Score ranges from -1.0 to +1.0. Positive = bullish, negative = bearish.
- Recommendation: BUY (score > 0.33), SELL (score < -0.33), HOLD (between).
- Confidence: 0-100%, reduced by risk flags (earnings timing, overbought, risk-off, geopolitical).
- Risk Flags: Specific conditions that reduce confidence or downgrade BUY → HOLD.
- Supporting Points: Key evidence from each dimension.
- Caveats: Data freshness warnings, risk alerts, data gaps.
Reconciling with Thesis Scoring¶
During weekly review Phase 2 (rubric scoring), use the automated signal as context:
- Run analysis before scoring:
openfin analysis stock <watchlist_tickers> - Compare signals:
- Automated BUY + thesis weakening → Investigate. Numbers look good but story is failing.
- Automated SELL + thesis confirming → Automated may be catching a risk the story misses (e.g., momentum collapse, sector weakness).
- Automated HOLD + thesis strong → Trust the thesis. Hold conviction, automated signal is neutral.
- Cite risk flags as evidence: Use
openfin review evidenceto record risk flags. - Thesis alignment (40% weight) remains dominant. The automated signal informs but does not override thesis-driven judgment.
Data Sources & Freshness¶
| Source | Data | Lag |
|---|---|---|
| Yahoo Finance | Prices, fundamentals, earnings, analyst targets | 15-20 min |
| CNN Fear & Greed | Market sentiment index (0-100) | Near real-time |
| SEC EDGAR | Insider trading (Form 4 filings) | 2-3 days |
| Google News RSS | Breaking crisis headlines | 15-60 min |
| VIX Futures | Volatility term structure | 15-20 min |
When to Use¶
- Before weekly review Phase 2 — get automated quantitative context for all watchlist symbols
- New thesis evaluation — quick quantitative screen before deep fundamental research
- Ad-hoc deep dives — when a position shows unusual movement
- Earnings season — automated signal includes earnings timing warnings
Persistence¶
Results are persisted as data_snapshots (type stock_analysis) in the database. Query historical signals:
openfin tools db latest-snapshot --type stock_analysis --symbol AAPL
openfin tools db history --type stock_analysis --symbol AAPL
Limitations¶
- Yahoo Finance data is delayed 15-20 minutes (not real-time)
- Short interest data is ~2 weeks old (FINRA reporting schedule)
- Insider trades may lag SEC filing by 2-3 days
- Breaking news is scanned via Google News RSS (15-60 min lag)
- US markets only; non-US tickers may have incomplete data
- No thesis context — the automated signal doesn't know your investment story