Appearance
Key Terms Explained
| Term | Details |
|---|---|
| Ticker | A stock's symbol (e.g., AAPL for Apple, TSLA for Tesla) |
| Pipeline | The 5-stage daily cycle: Collect → Analyze → Predict → Validate → Learn |
| Error % | How far off a prediction was. Green < 5%, Amber 5–10%, Red > 10% |
| Confidence | How sure the system is (0 to 1). Above 0.7 is strong |
| Confidence Band | A predicted price range (low to high) instead of a single number |
| Band Hit | Whether the actual price fell within the predicted range |
| Sentiment | How positive or negative the news is |
| Momentum | Whether sentiment is getting stronger or weaker (0–100) |
| Buzz | Social media engagement — how much discussion an article generates (0–100) |
| Relevance | How important an article is to the tracked stock (0–100) |
| Surprise | An unexpected event detected in the news (earnings beat/miss, economic shock, etc.) |
| Ticker Surprise Score | A direction-adjusted surprise score focused on the individual ticker — computed as Σ(magnitude × ticker relevance × direction factor × confidence × decay) ÷ Σ(weight), normalized to a ±100-ish scale. > +5 reads as bullish, < −5 as bearish |
| Market Surprise Score | The market-relevance-weighted surprise score (Σ magnitude × market relevance × weight ÷ Σ weight). Measures how much detected surprises move with the broad market rather than the single ticker |
| Sell-the-News | A market pattern where positive news (earnings beat) is followed by a price drop — the market already priced in the good news. When dated surprise outcomes repeatedly move opposite to their direction scores, the prediction system flags an inversion pattern and deterministically trims the tone-aligned probability |
| Magnitude | How big a surprise is (0–100). 0–30 = minor, 30–60 = moderate, 60–100 = major |
| Direction | Whether a surprise is positive (beat) or negative (miss) |
| Positive surprises | News events where actual results beat expectations (e.g., earnings above consensus), counted over the recent lookback window. An abundance of them reads as a supportive, bullish signal |
| Negative surprises | News events where actual results missed expectations, counted over the recent lookback window. An abundance of them reads as a drag that points against the stock |
| Strong negative surprises | The interpretation line (→ Strong negative surprises: bearish signal) shown when recent surprises are dominated by misses — the ticker surprise score drops below about −5, meaning the current news flow is meaningfully bearish |
| Cognitive Bias | An irrational thinking pattern (like FOMO) that affects decisions |
| Bullish | Expecting the price to go up |
| Bearish | Expecting the price to go down |
| OHLCV | Open, High, Low, Close, Volume — the standard daily trading data fields |
| Volume | Number of shares traded. Higher = more investor interest |
| RSI | A 0–100 score. Above 70 = might be overbought. Below 30 = might be oversold |
| Overbought | A technical condition where a stock's price has risen too far, too fast relative to its recent history (typically RSI > 70) — suggesting the move may be overextended and due for a pullback or consolidation. In FIN's reports it appears in LLM-generated thesis narratives (e.g., "overbought conditions… base case is a sideways consolidation") |
| Overbought RSI | An RSI reading above 70, flagging the stock as overbought. Used as a thesis-monitor trigger: when RSI crosses above a threshold the monitor fires, alerting that a bullish thesis may need revision |
| Daily technicals (as-of) | OHLCV-derived technicals (RSI etc.) are dated with the daily bar they were computed from, e.g. Daily technicals as of 2026-08-31 (RSI 71.6). On an intraday run that happens before the current session's daily bar is posted, the pipeline annotates the block with a note that the current session is not yet reflected — the live price is the real-time condition — so an 'overbought' RSI carried over from the previous day's close can't be read as the current state |
| EPS | Earnings Per Share — profit divided by all shares. Higher = more profitable per share |
| P/E Ratio | Price divided by annual earnings. High = growth expected, Low = possibly undervalued |
| Revenue | Total income from sales before any expenses are deducted |
| Rev | Revenue, abbreviated in report rows (e.g., Rev €…B) and usually followed by the year-over-year growth in parentheses. Same figure as Revenue |
| Net Income | Profit after all expenses, taxes, and costs — the bottom line |
| Gross Profit | Revenue minus the direct cost of producing goods or services |
| Operating Income | Profit from core business operations, excluding interest and taxes |
| EBITDA | Earnings Before Interest, Taxes, Depreciation, and Amortization — a proxy for operating cash flow |
| Income Statement | Financial report showing revenue, expenses, and profit over a period |
| Balance Sheet | Snapshot of what a company owns (assets), owes (liabilities), and shareholders' equity |
| Cash Flow Statement | Tracks actual cash coming in and going out from operations, investments, and financing |
| Assets | Everything a company owns that has value (cash, buildings, inventory, etc.) |
| Liabilities | Debts and obligations the company owes to others |
| Equity | Owners' stake: Assets minus Liabilities |
| Cash & Equivalents | Highly liquid assets like bank deposits and short-term investments |
| Cash | Cash and cash equivalents, shown on the balance-sheet line (e.g., Cash: €…B) — the liquid assets the company has on hand. Read it alongside Debt and Net Cash to judge balance-sheet strength. See Cash & Equivalents |
| Long-term Debt | Borrowings due more than one year away |
| Operating Cash Flow | Cash generated from normal business operations — a sign of business health |
| CapEx | Capital Expenditure — money spent to buy or maintain fixed assets like equipment |
| Free Cash Flow | Cash left after CapEx — available for dividends, debt repayment, or reinvestment |
| Dividends | Payments distributed to shareholders from company profits |
| TTM | Trailing Twelve Months — the most recent four quarters of financial data rolled up |
| Annual | Financial data covering one full fiscal year |
| Quarterly | Financial data covering a three-month period |
| Horizon | How far ahead the prediction looks (short = 1-2 days, long = ~10 days) |
| Intermediate Prediction | A rough update made during the day as new news arrives |
| Final Prediction | The refined, complete forecast after all data is processed |
| Self-Correction | The system notices when it consistently over/under predicts and adjusts automatically |
| ADF Test | Augmented Dickey-Fuller test — a statistical test that checks whether a time series is stationary (i.e., its properties don't change over time). If the price series is non-stationary, the system differences it before fitting regression models to avoid spurious results |
| OLS Regression | Ordinary Least Squares — a method that fits a straight line through data points by minimising the sum of squared errors between predicted and actual values. Used to estimate trends, drift, and relationships in price data |
| MAPE | Mean Absolute Percentage Error — the average prediction error as a percentage. Used as a gating check: if MAPE exceeds a configured threshold, new predictions are withheld to prevent false outputs |
| Coverage | The fraction of resolved predictions whose realized price landed inside the model's band (band-hit rate). It is a property of the band, not of the confidence score: the band is calibrated separately to ~80% coverage (conformal prediction), so coverage routinely runs far above a low confidence score (e.g. ~25%). Coverage is not meant to equal stated confidence — comparing the two directly is a category error. On the Track record card coverage is shown per horizon bucket, and the overall value colors the card's trustworthiness badge (≥60% trustworthy, ≥40% mixed, below caution). See also Calibration |
| Winkler | A proper scoring rule for confidence-band (interval) forecasts: it charges for the band's width and additionally penalizes every point the realized price falls outside it. Lower is better — 0 means the band always contained the price with no excess width. A rising price-normalized Winkler score (≥1.5× the bucket's own baseline, or >50% without enough history) is one of the triggers for Tier fallback |
| Stated confidence | The model's self-reported certainty in its forecast (0–1): a measure of point-estimate/signal reliability (posterior precision capped by the operational ceiling and post-pool guards). It is NOT the probability that the price stays inside the band — the band's ~80% coverage is calibrated independently (conformal prediction). On the reliability diagram it is the x-axis, plotted against the realized correctness per bin |
| Observed correctness | How often the model was actually right for a given stated-confidence level — realized directional accuracy or band-hit rate. It is the y-axis of the reliability diagram: dots on the diagonal mean perfectly calibrated, above it under-confident, below it over-confident. The two measures answer different questions: directional accuracy checks whether the point forecast's direction was right, band-hit rate checks whether the band contained the price (coverage, calibrated to ~80% separately) |
| Confidence ≠ band coverage | A reminder that the model's stated confidence (how trustworthy the point forecast is) and the band's realized coverage (did the price land inside the band) are different quantities, not two readings of the same thing. Confidence is a 0–1 signal-reliability measure of the point forecast, while the band is calibrated separately to ~80% coverage via Conformal Prediction — so a low confidence score (e.g. 0.33) can legitimately sit next to ~80% coverage without anything being wrong. The Track record card prints both so you can read each on its own scale instead of comparing them directly |
| RSS | A web feed format used to deliver news articles. FIN monitors RSS feeds from Google News, Yahoo Finance, Reddit, and corporate announcements |
| Feature Snapshot | A complete record of every signal at prediction time — technical indicators, sentiment, psychology, fundamentals, market context, options, and thesis features. When the actual price is known, the snapshot is "resolved" with the outcome and becomes ML training data |
| Thesis | The qualitative reasoning produced by the LLM before any price is calculated. Includes direction (bull/bear/neutral), conviction strength, regime assessment, bull/bear scenarios with probabilities, and falsifiable hypotheses |
| Bull Case | The optimistic scenario where the stock rises. Includes the expected price target, probability assigned, and the catalysts that would drive the move (e.g., strong earnings, positive sentiment shift) |
| Bear Case | The pessimistic scenario where the stock falls. Includes the expected price target, probability assigned, and the risks that would trigger the decline (e.g., missed earnings, negative surprises) |
| Base Case | The most likely scenario given current data. Typically the thesis direction with highest conviction — the system's primary prediction path |
| Tier | The system's fallback chain for price prediction. Tier 1 = your personal ML model (best), Tier 2 = pooled model, Tier 3 = sector-transfer model, Tier 4 = thesis heuristic (always available for fallback). Automatically downgrades when recent accuracy drops: if band coverage < 40%, or the price-normalized Winkler score regresses beyond that ticker/horizon bucket's own baseline (≥1.5×, or >50% for buckets without enough history), the system falls back to the next tier (T1→T2→T3→T4) |
| Quantile GBM | Gradient Boosting Machine(GBM) are predictive models that sequentially combine weak decision trees to correct the errors of previous iterations. This is how the system learns |
| Conformal Prediction | A statistical calibration that adjusts confidence bands to guarantee ~80% coverage — the actual price lands inside the band ~80% of the time on held-out data |
| Thesis Monitor | A falsifiable hypothesis extracted from the thesis and tracked daily against live market data. Purpose: the thesis states a view (e.g. bullish), and each monitor names a concrete, testable condition that would prove it wrong — "current RSI rises above 75", "put/call volume ratio drops below 0.3", "price falls below €135" — along with how badly that would hurt the thesis (minor/moderate/severe impact). The system re-reads each metric every prediction cycle: as long as no condition fires, the thesis's reasoning is still intact, when one fires the monitor flips to triggered and the system knows the thesis may need revision. The dashboard shows these as "Live falsifiable hypotheses" with the current value and the gap (distance in %) to each threshold. Created during prediction runs: after the LLM produces the thesis we ask it to include 2–4 falsifiable hypotheses, which are validated (known metric, valid above/below direction, plausible threshold scale, not already breached) and de-duplicated (exact same metric + direction + threshold, or within ±20% of an existing active threshold) before being stored in the thesis_monitors table — once for the main prediction and again on intraday intermediate upgrades. Deactivated four ways: (1) breached — the live metric crosses the threshold, so status becomes triggered with the value and time recorded (recently-triggered monitors are re-checked for 7 days to keep that reading current); (2) expired / lifetime ended — a monitor's effective lifetime is the earlier of 14 days after registration or the furthest target_date of its own thesis generation (expires_at), so as soon as that generation's predictions have resolved the fuse stops surfacing and is pruned to expired (legacy horizonless rows are only generation-tied on short-only days); (3) replaced by a new thesis — when a regenerated thesis registers a valid monitor for a signal (metric + direction), the older-generation active monitor is retired to expired so the fresh fuse takes its slot (an implausible new candidate never deletes the old fuse, and triggered monitors are never auto-retired); (4) rejected at creation — hypotheses with an unknown metric, impossible direction, implausible threshold (e.g. RSI above 200, or a price target far outside 0.3×–3.0× the current price), or a threshold already satisfied are never stored. The Monitor card shows each fuse's expires_at ("fuse expires <date>"). Horizon-scoped — each monitor records the horizon group (short/medium/long) of the thesis it was extracted from. Attribution follows that horizon: the "previously triggered hypotheses" context and retrospective reviews only cite monitors from the matching horizon group, so a fuse from a long thesis is never framed as invalidating a short thesis (or vice-versa), and a resolved tomorrow/D+1 call can never be retroactively falsified by a later trigger |
| Self-Critique | A second LLM pass that reviews the thesis for consistency, plausibility, and falsifiability before the prediction is saved. The thesis is revised if issues are found |
| Conviction | How strongly the system believes in its thesis direction (0–100). High conviction = strong directional view. Low conviction = conflicting signals |
| Regime | The current market state detected by the ADF test. Mean-reverting = statistical evidence prices oscillate around an average. Random walk = unit root not rejected, so no reliable statistical support for continued directional movement. The ADF label never asserts "trending" |
| Random Walk / RANDOM WALK | A market state where price changes show no reliable statistical pattern — the ADF test fails to reject the unit root (high p-value). Means there is no statistical support for continued directional movement; a random walk with drift can still look trending on a chart. Stored as the ML feature random_walk |
| Random-Walk Regime | The ADF regime label (MEAN-REVERTING / INCONCLUSIVE / RANDOM WALK) used in the prediction report's INPUT SIGNALS block and the thesis prompt, where it is authoritative and overrides any LLM narrative. RANDOM WALK and INCONCLUSIVE must actively count AGAINST trend-following bull/bear narratives, not sit neutrally |
| Directional Movement | Sustained price movement in one direction (up or down). The ADF test never provides evidence for it: a MEAN-REVERTING, INCONCLUSIVE, or RANDOM WALK label offers no statistical support for continued directional movement, so directional claims must come from momentum or trend indicators instead |
| ADF Regime | The deterministic market-state label output by the Augmented Dickey-Fuller test (MEAN-REVERTING, INCONCLUSIVE, or RANDOM WALK), shown as ADF regime: in the report's INPUT SIGNALS block and injected into the thesis prompt as authoritative. Because the label is computed, it overrides any qualitative regime claim the LLM might otherwise make |
| HMM Regime | The current market state classified by a hidden Markov model (HMM) that learns four hidden regimes — bullish trend, bearish trend, mean-reverting, and high-volatility — from the stock's returns and ADX trend-strength. Unlike the ADF test (which only checks for mean-reversion/random-walk), the HMM can positively detect a trend. It falls back gracefully (to a deterministic ADX+Hurst rule, or null features) when data is too sparse or the library is unavailable, so it never blocks a prediction |
| Catalyst | An upcoming event or condition that could trigger a price move (e.g., earnings report, economic data release, product launch) |
| Prediction source | Which tier produced the final price. Tier 1 = personal ML model (best), Tier 4 = thesis heuristic (fallback) |
| Confidence score | A 0–1 value combining model accuracy, data quality, and agreement. The final stored score starts as the minimum of the model's own precision-based confidence (posterior precision of the pooled GBM↔LLM distribution) and the operational ceiling — base = min(operational ceiling, model posterior) — then post-pooling guards only ever lower it further: a large expected move (return-magnitude widening), direction-classifier conflict, the low-sample GBM guard, the statistical anchor, and the options-implied band floor. The headline can therefore sit below the operational ceiling even when the model is very certain. Example: min(33% ceiling, 81% posterior) = 33%, then the direction classifier calls "down" against the GBM/LLM "up" consensus → ×0.82 → stored 27%. Below 0.3 = weak, above 0.7 = strong. The Model Reconciliation panel shows all three numbers so the headline is never unexplained. The score is NOT the probability that the price stays inside the confidence band — the band's ~80% coverage is calibrated independently (conformal prediction). The score is also passed through an isotonic calibrator (per user/ticker/horizon) and surfaced as the calibrated confidence once enough resolved history exists. |
| Falsifiable Hypotheses | Specific, testable predictions from the thesis (e.g., "RSI will cross above 58"). Monitored daily — if triggered, the thesis may need revision |
| Top Signals | The highest-ranked signal chips on the Daily Summary card ("Today's read"). The signal_ranker deterministically scores ~9 signal types — thesis flip, watch proximity, flow (options), regime, surprise streak, model accuracy, value, catalyst, caveats — for unusualness (percentile ranks vs the ticker's own history), ranks them, and surfaces the top ones as template chips with an exact metric value each (zero LLM calls, so it is fast and deterministic). The card shows the top 4 and expands to reveal the rest. The headline pairs the thesis direction with an accent from a value or regime chip: a non-trending regime (e.g. random walk) adds a connective caveat — "Bullish lean, though the tape shows no directional support" — rather than splicing a technical sentence after the directional claim |
| Falsified | A thesis monitor (fuse) that was triggered — its hypothesis was invalidated by live market data. In the retrospective, triggered fuses are listed as fired (falsified) while safe fuses that never reached their threshold are listed as "never fired", meaning that part of the thesis survived |
| Watch above | A monitor direction stored for a falsifiable hypothesis: the thesis is disproved when the live metric rises above the threshold (e.g. "watch above: RSI crosses 75"). The Monitor card shows this as a Watch above chip — once the value actually breaches, the monitor flips to Triggered |
| Watch below | A monitor direction stored for a falsifiable hypothesis: the thesis is disproved when the live metric falls below the threshold (e.g. "watch below: put/call volume ratio drops under 0.3"). The Monitor card shows this as a Watch below chip — once the value actually breaches, the monitor flips to Triggered |
| Triggered | A thesis monitor state: the live metric has crossed its threshold, so the falsifiable hypothesis is falsified and the thesis may need revision. On the Monitor card the chip turns red (Triggered) with the gap to the threshold shown; recently-triggered monitors are re-checked for 7 days to keep the reading current. See also Falsified |
| Heuristic | A rule-based estimate used when no trained ML model is available. Less precise but always available |
| Heuristic Override | An intermediate prediction tagged heuristic_override when the thesis heuristic produces a material price for every offset (see Materiality Guard). The heuristic beats the LLM's numeric prices when it adds a real signal |
| Sentiment Fallback | An intermediate prediction tagged sentiment_fallback when the thesis is unavailable or the heuristic falls below the materiality guard for any offset. Prices then come from a simple sentiment-drift projection: sentiment, momentum, and re-acceleration combined into a daily drift (clamped to ±3% per day) and applied linearly over the horizon |
| sentiment_fallback | The field name / prediction tag for a Sentiment Fallback — marks intermediate predictions that used the sentiment-drift projection instead of the thesis heuristic. Only appears when the Statistical Baseline is disabled, which otherwise takes over as the honest fallback |
| Statistical Forecaster | A simple, classical price forecast computed from the stock's own price history alone — no news, no machine learning. It detects whether the price tends to revert to its average or behaves like a random walk, then produces a grounded expected move with a range. Shown in the Model Reconciliation panel as an independent cross-check on the AI thesis and the ML model |
Statistical Baseline (statistical_baseline) | The honest fallback price. When neither a trained ML model nor a usable AI thesis is available, the statistical forecast becomes the published point estimate — a statistically grounded guess that is far more trustworthy than a rough sentiment placeholder. Can appear as a final prediction or an intraday update |
| Shadow Mode | The default behaviour of the Statistical Forecaster: its forecast is recorded quietly for research and backtesting but does not touch the live published numbers. You can still browse its values in the Model Reconciliation panel while the price you see remains driven by the AI and the ML model. Shadow is only one of five roles the statistical forecaster can take — the others step in only in specific situations: Statistical Baseline becomes the published price when there is no trained ML model and no usable AI thesis; Statistical Voter joins the AI + ML blend as a third opinion (on by default once testing confirmed the two signals don't just repeat each other); Statistical Prior gently pulls the blend toward the price history's own best guess instead of assuming prices stay flat (off by default, experimental); and Statistical Anchor is a plausibility check that only lowers confidence and widens the band when the published price drifts far from the statistical range (off by default, experimental) |
| Statistical Prior | When FIN blends the AI's forecast with the ML model, it can gently pull the result toward the statistical forecast instead of assuming prices will stay flat. This uses the price history's own best guess as the starting point for the blend. Experimental — off by default because it changes the live numbers |
| Statistical Anchor | A plausibility check on the final forecast. If the published price lands far outside the statistical forecast's expected range, FIN treats that as a warning: it lowers confidence and widens the band (a "that looks suspicious" flag) without moving the price itself. Experimental — off by default |
| Options-Implied Band Floor (IV Floor) | A market-based sanity check on the confidence band. FIN compares the band it produced against the move implied by the options market's 30-day volatility; if the model's range is far tighter than traders are paying for, the band is widened and confidence is trimmed. It only ever widens the band (never narrows it) and never moves the point price, and it is independent of the statistical anchor (which uses price history, not the options market), so the two don't double-count. When it fires you'll see an "IV floor" flag in the Reasoning report — watch (mild) or violation (stronger). On by default |
| Statistical Voter | Lets the statistical forecast act as a third opinion inside the blend that combines the AI and the ML model. Because it is derived from the same price history as the ML model, it is only enabled after testing confirms the two don't simply repeat the same information. On by default after it passed that check |
| Materiality Guard | The threshold below which the thesis heuristic refuses to override. When the predicted move is within bid-ask noise (< 0.1% change), the heuristic returns nothing so the system falls back rather than emit a no-signal price. In the intermediate path, all offsets must pass this guard before a prediction is tagged Heuristic Override |
| Implied Volatility | The market's forecast of future price volatility, derived from options prices. Higher IV = options market expects bigger moves |
| Put/Call Volume Ratio | Ratio of put options traded to call options traded. Above 1.0 = bearish hedging. Below 0.8 = bullish positioning |
| Call-Skewed | An options positioning profile where call buying dominates puts — in FIN, a put/call volume ratio ≤ 0.6 produces the flow signal "heavily call-skewed, bullish positioning". Contrasts with defensive put-skewed positioning (P/C ≥ 1.5) |
| Put/Call OI Ratio | Ratio of open put positions to open call positions. Shows outstanding hedging or directional bets |
| PCR | Put/Call Ratio — ratio of put option volume to call option volume. Above 1.0 = bearish hedging, below 0.8 = bullish positioning. Short for Put/Call Volume Ratio |
| ATM (At-the-Money) | An option whose strike price is closest to the current stock price — the most liquid and commonly referenced option |
| Options | Financial derivatives that give the right (not obligation) to buy (call) or sell (put) a stock at a set price before a deadline. Used for hedging, income, and speculation |
| Options Flow | The volume and direction of options trades — reveals whether institutions are buying puts (hedging/bearish) or calls (bullish) |
| Gamma | Rate of change of an option's delta. High gamma near expiry can cause rapid price swings as dealers hedge their positions |
| Short-Covering | When traders who bet against a stock (short sellers) buy it back to close their positions, creating sudden upward price pressure |
| Distribution Phase | A period where large holders are selling — typically marked by high volume, flat or falling prices, and negative sentiment |
| Accumulation | A period where buyers are quietly building positions — often before a price move, marked by steady volume and stable prices |
| Mean-Reversion | The tendency of prices to return to their average over time. Opposite of trending — useful for range-bound stocks |
| Range-Bound | A market regime where the stock oscillates within a defined price range, with neither buyers nor sellers gaining sustained control. Consistent with a stationary series that shows no reliable directional evidence — prices bounce between support and resistance levels. The system assigns a 1.0 range_bound feature and typically avoids strong directional bets |
| Inconclusive | A borderline ADF regime (0.05 ≤ p < 0.10) where the test provides no reliable statistical evidence for either directional persistence or mean reversion. The system flags this as INCONCLUSIVE and does not use the regime to support either direction |
| Risk-Off | A market mood where investors sell risky assets (stocks) and move to safer assets (bonds, gold, cash) |
| Sector Rotation | Capital flowing from one industry sector to another (e.g., from tech to healthcare) based on economic outlook |
| Relative Strength | How a stock performs compared to a benchmark (SPY, sector ETF). Positive = outperforming. Negative = underperforming. On the Competitive context card it is measured as the primary ticker's 20-day return minus the average peer 20-day return, colouring the flag Outperforming peers / Underperforming peers / In line with peers — an outlier move vs peers signals a company-specific (idiosyncratic) driver rather than a sector-wide move |
| Relative Underperformance | The ticker's return lagging its peer group or benchmark over the same window. In competitor interpretation guidance, relative underperformance despite positive news is flagged as a potential weakness signal |
| Relative Outperformance | The ticker's return beating its peer group or benchmark over the same window. In competitor interpretation guidance, relative outperformance despite negative sector news is flagged as a potential strength signal |
| D/E Ratio | Debt-to-Equity ratio — total liabilities divided by shareholders' equity. Below 1.0 = conservative leverage |
| P/S Ratio | Price-to-Sales ratio — market cap divided by annual revenue. Useful for unprofitable companies where P/E is meaningless |
| EV/EBITDA | Enterprise Value divided by EBITDA — a valuation metric that accounts for debt. Lower = cheaper relative to cash flow |
| Forward P/E | Price divided by expected future earnings. Lower than trailing P/E = analysts expect earnings growth |
| 5yr P/E Range | The high and low P/E ratios the stock has traded at over 5 years. Shows whether current valuation is cheap or expensive historically |
| Percentile | Where a value sits within its historical range. 15th percentile = cheaper than 85% of the time. 85th = more expensive than 85% of the time |
| ATR | Average True Range — measures price volatility by averaging the largest daily price swings over 14 days |
| Volume vs Average | Current volume compared to its 20-day average. 0.8x = 20% below average (quiet). 2x = double average (active) |
| Earnings Quality | How reliably reported profits translate to actual cash. OCF/NI > 100% = strong (cash exceeds reported profit) |
| Net Cash | Cash minus total debt. Positive = company could pay off all debt and still have cash left |
| Idiosyncratic | A move unique to the company — not driven by sector or market trends. Contrasts with systematic (market-wide) moves |
| FOMO | Fear Of Missing Out — buying because others are buying, driven by fear of being left behind |
| Herding Behavior | Following the crowd — making decisions based on what everyone else is doing rather than independent analysis |
| Recency Bias | Overweighting recent events — assuming recent trends will continue while ignoring longer-term patterns |
| Availability Heuristic | Judging probability by how easily examples come to mind — vivid news feels more likely than quiet fundamentals |
| Loss Aversion | Feeling losses roughly twice as strongly as equivalent gains — leads to holding losers too long and selling winners too early |
| Confirmation Bias | Seeking information that confirms existing beliefs while ignoring contradictory evidence |
| Anchoring | Over-relying on the first piece of information encountered (e.g., a recent price) when making decisions |
| Overconfidence | Overestimating the accuracy of one's own predictions — leads to underestimating risk |
| Disposition Effect | The tendency to sell winners too early and hold losers too long — combines loss aversion and confirmation bias |
| Narrative Bias | Constructing stories to explain random events — finding patterns and causation where there is only noise |
| Ambiguity Aversion | Preferring known risks over unknown risks — avoiding situations where probability is uncertain |
| Regret Minimization | Making decisions to avoid future regret — can lead to herd behavior or avoiding bold positions |
| Pooled Model | An ML model trained on data from multiple users — used when your personal model lacks sufficient training data |
| Sector-Transfer Model | An ML model trained on a different stock in the same sector — used when no sector-specific model is available |
| Re-accel | Whether sentiment momentum is accelerating again after a pause — a sign the trend may resume |
| Interest | Investor attention level for the stock (0–100). Higher = more searches, mentions, and discussion |
| ADF | Short for Augmented Dickey-Fuller test — checks whether price data is stationary (mean-reverting) or statistically consistent with a random walk. High p-values mean the unit root is not rejected: no reliable trend evidence |
| random_walk | The ML feature name for a Random Walk regime — set when the ADF test fails to reject the unit root. See Random Walk |
| MEAN-REVERTING | An ADF regime label meaning prices show statistical evidence of moving back toward their average — the unit-root test is rejected. For the model this favours range-bound behaviour rather than a sustained trend. See Mean-Reversion |
| INCONCLUSIVE | The ADF regime label for a borderline test result (p between 0.05 and 0.10) that gives no reliable statistical evidence for either a trend or mean reversion — shown as the uppercase form of Inconclusive, and not used to support either direction |
| random walk | A market state where price changes show no reliable statistical pattern — the ADF test cannot reject a random drift, so there is no statistical support for continued directional movement. It is the 'RANDOM WALK' label shown in the Statistical layer and the ADF regime field (matching case-insensitively). See Random Walk / RANDOM WALK and random_walk |
| MAE | Mean Absolute Error — the average dollar amount predictions are off by, without regard to direction |
| Rolling MAE | MAE calculated over a rolling window of recent predictions — shows how accuracy changes over time. See MAE for details |
| Rolling MAPE | MAPE calculated over a rolling window — used for gating: if too high, predictions are paused. See MAPE for details |
| NI | Net Income — profit after all expenses, taxes, and costs. Same as "Net Income" but abbreviated in reports |
| Net Mgn | Net Margin — net income as a percentage of revenue. Shows how much of each dollar earned becomes profit |
| Op Mgn | Operating Margin — operating income as a percentage of revenue. Shows efficiency of core business operations |
| Margins | Profitability ratios — the share of each revenue dollar that becomes profit. The fundamentals block summarises the trend as "Margins EXPANDING / CONTRACTING / STABLE" based on how the latest year's margin compares with the prior one |
| EXPANDING | In "Margins EXPANDING", the latest year's margin improved by roughly a percentage point or more versus the prior year — the company is converting more of each revenue dollar into profit, an improving-quality signal |
| no clear directional signal | A verdict printed in the fundamentals trend block (MIXED — no clear directional signal) when recent quarterly figures swing between growth and contraction. It means the data shows no consistent up or down bias, so it should not be treated as directional |
| Debt | Total money owed by the company to lenders. Includes short-term and long-term borrowings |
| OCF/NI | Operating Cash Flow divided by Net Income — ratio above 100% means the company generates more cash than reported profit (strong earnings quality) |
| Capex/OCF | Capital Expenditure divided by Operating Cash Flow — shows how much cash is reinvested in the business. Below 30% = low reinvestment |
| FCF Trend | Free Cash Flow trend over time — Growing = company generates more cash each period. Declining = cash generation is weakening |
| Trailing P/E | Price divided by actual (not expected) earnings over the past 12 months. The most common P/E variant |
| Growth Estimates | Analyst forecasts for the stock's earnings growth rate. Shown as index trend (sector) vs stock trend (company) |
| Growth | Expected earnings and revenue growth for the company — current and next quarter, current and next year, and long term — shown in the Growth & Revenue Estimates section. Comparing the company's own growth (stock trend) with the sector's (index trend) shows whether it is outpacing its industry |
| Revenue Estimates | Analyst forecasts for future revenue — includes average, high, low, and number of analysts covering |
| Benchmark Returns | How major market indices performed over a period (5d / 20d / 60d). Used for context: was the whole market up or down? |
| Beta | How volatile the stock is relative to its benchmark (the market or its sector). β > 1 means the stock amplifies benchmark moves — it swings more than the benchmark (e.g. β = 1.5 → roughly 1.5% for every 1% the benchmark moves). β < 1 dampens them; β ≈ 1 moves roughly in step. On the Relative Strength card, β is the sector beta from the latest feature snapshot, shown beside the stock's own returns so you can separate benchmark-driven moves from company-specific performance |
| Bias Scores | The 12 cognitive biases measured by the system, weighted by prediction horizon. Higher score = stronger bias detected in news sentiment |
| Horizon-Weighted | How bias and psychological scores are scaled before use — each signal is multiplied by a horizon-specific weight (short / medium / long) so the same news can have a different impact depending on how far out the prediction looks. Appears in the report as "Bias scores (horizon-weighted)" and in the prompt as "Psychological Bias Scores (horizon-weighted)" |
| herding_behavior | Same as Herding Behavior — appears in bias scores as a field name. Following the crowd rather than analyzing independently |
| recency_bias | Same as Recency Bias — appears in bias scores as a field name. Overweighting recent events in decision-making |
| availability_heuristic | Same as Availability Heuristic — appears in bias scores as a field name. Judging probability by how easily examples come to mind |
| loss_aversion | Same as Loss Aversion — appears in bias scores as a field name. Feeling losses more strongly than equivalent gains |
| confirmation_bias | Same as Confirmation Bias — appears in bias scores as a field name. Seeking information that confirms existing beliefs |
| disposition_effect | Same as Disposition Effect — appears in bias scores as a field name. Selling winners too early and holding losers too long |
| narrative_bias | Same as Narrative Bias — appears in bias scores as a field name. Constructing stories to explain random events |
| ambiguity_aversion | Same as Ambiguity Aversion — appears in bias scores as a field name. Preferring known risks over unknown risks |
| regret_minimization | Same as Regret Minimization — appears in bias scores as a field name. Making decisions to avoid future regret |
| growth_0q_indextrend | Current quarter — sector/industry growth rate estimate from analysts |
| growth_0q_stocktrend | Current quarter — individual stock's own growth rate estimate |
| growth_+1q_indextrend | Next quarter — sector/industry growth rate estimate. Compare with stocktrend to see if the company is outpacing its sector |
| growth_+1q_stocktrend | Next quarter — individual stock's growth rate estimate. Above indextrend = growing faster than peers |
| growth_0y_indextrend | Current year — sector/industry annual growth rate estimate |
| growth_0y_stocktrend | Current year — individual stock's annual growth rate estimate |
| growth_+1y_indextrend | Next year — sector/industry annual growth rate estimate |
| growth_+1y_stocktrend | Next year — individual stock's annual growth rate estimate |
| growth_ltg_indextrend | Long-term growth — sector/industry long-term growth rate estimate (analyst consensus) |
| revenue_0q_avg | Current quarter — analyst consensus (average) revenue estimate |
| revenue_0q_low | Current quarter — lowest analyst revenue estimate |
| revenue_0q_high | Current quarter — highest analyst revenue estimate |
| revenue_0q_growth | Current quarter — expected YoY revenue growth rate |
| revenue_0q_numberofanalysts | Current quarter — how many analysts contributed estimates |
| revenue_0q_yearagorevenue | Current quarter — actual revenue from same quarter last year |
| revenue_+1q_avg | Next quarter — analyst consensus (average) revenue estimate |
| revenue_+1q_low | Next quarter — lowest analyst revenue estimate |
| revenue_+1q_high | Next quarter — highest analyst revenue estimate |
| revenue_+1q_growth | Next quarter — expected YoY revenue growth rate |
| revenue_+1q_numberofanalysts | Next quarter — how many analysts contributed estimates |
| revenue_+1q_yearagorevenue | Next quarter — actual revenue from same quarter last year |
| revenue_0y_avg | Current year — analyst consensus annual revenue estimate |
| revenue_0y_growth | Current year — expected YoY annual revenue growth |
| revenue_0y_high | Current year — highest annual revenue estimate |
| revenue_0y_low | Current year — lowest annual revenue estimate |
| revenue_0y_numberofanalysts | Current year — number of analysts covering |
| revenue_0y_yearagorevenue | Current year — prior year actual revenue |
| revenue_+1y_avg | Next year — analyst consensus annual revenue estimate |
| revenue_+1y_growth | Next year — expected YoY annual revenue growth |
| revenue_+1y_high | Next year — highest annual revenue estimate |
| revenue_+1y_low | Next year — lowest annual revenue estimate |
| revenue_+1y_numberofanalysts | Next year — number of analysts covering |
| revenue_+1y_yearagorevenue | Next year — actual revenue from current year (baseline) |
| Key Uncertainties | Factors the LLM is unsure about — things that could swing the price in either direction (e.g., earnings timing, macro data, sector shifts) |
| Thesis Reasoning | The full text explanation of why the LLM chose its direction, conviction, and scenarios. Combines all signals into a coherent narrative |
| SPY | SPDR S&P 500 ETF Trust — tracks the S&P 500 index. Used as the primary market benchmark for relative strength and correlation |
| QQQ | Invesco QQQ Trust — tracks the Nasdaq-100 index. Used as a tech-heavy benchmark for growth stock comparisons |
| XLK | Technology Select Sector SPDR Fund — tracks the S&P 500 Technology sector. Used as the sector benchmark for tech stocks |
| Options Context | Summary of options market data for the ticker — put/call ratios, implied volatility, expiration dates. Reveals institutional hedging and sentiment |
| ATM | At-the-Money — an option whose strike price is closest to the current stock price. The most liquid and commonly referenced option in context |
| RELATIVE PRICE PERFORMANCE | How the stock's price changed over a period compared to its competitors. Shows whether the stock outperformed or lagged peers |
| COMPARATIVE VALUATION | Side-by-side comparison of valuation multiples (P/E, EV/EBITDA, revenue growth) between the stock and its competitors |
| NEWS SENTIMENT | Average sentiment score across news articles about the ticker. Higher = more positive coverage. Shown per competitor in the report |
| avg_ticker_sentiment | The average sentiment score for a specific ticker's news articles (0–100). Appears in competitor news sentiment section |
| VALUATION | How expensive or cheap a stock is relative to its fundamentals. Shown as P/E, Forward P/E, P/S, EV/EBITDA, and where the current P/E sits in its 5-year range |
| FCF | Free Cash Flow — cash left after operating expenses and capital expenditure. Available for dividends, debt repayment, or reinvestment. Growing FCF = healthy business |
| Mgn | Quarterly Momentum — measures the stock's price trend over the most recent quarter. Positive = uptrend, negative = downtrend. Used alongside longer-term momentum (mom_6m, mom_12m) to gauge trend strength |
| earnings_eps | Earnings Per Share surprise — the difference between reported EPS and consensus estimate. Positive = beat, negative = miss. A key driver of short-term price movement |
| earnings_guidance | Forward guidance from a company's earnings call — management's outlook for future revenue, margins, or EPS. Market reacts strongly to guidance above or below expectations |
| earnings_revenue | Revenue surprise — the difference between reported revenue and consensus estimate. Indicates whether the company grew faster or slower than analysts expected |
| economic_gdp | GDP growth rate — measures overall economic expansion or contraction. Rising GDP = healthy economy, falling GDP = slowdown. Impacts all sectors differently |
| economic_inflation | Inflation rate (CPI) — the rate at which prices rise. High inflation erodes purchasing power and can trigger rate hikes. Low inflation or deflation signals weak demand |
| corporate_event | Material corporate events — M&A announcements, leadership changes, layoffs, product launches, regulatory actions, or lawsuits that can move the stock independently of fundamentals |
| NEUTRAL | A conviction direction indicating no strong bullish or bearish view. The thesis lacks a clear directional signal — bull and bear probabilities are within 0.03 of each other. The system defaults to NEUTRAL when it cannot confidently call a direction |
| Neutral / Base Outlook | The thesis scenario framing when the system has no strong directional call — a neutral direction with the base case as the most likely outcome (e.g., "base case is a sideways consolidation"). The base case carries the highest individual probability and becomes the primary prediction path |
| Trending | A market regime where prices move directionally — not bouncing back to a mean. Not detected by the ADF test: a high ADF p-value means the unit root is not rejected (a random walk), which provides no statistical support for continued directional movement. Directional trend claims must come from other signals (momentum, trend indicators), never from an ADF non-rejection |
| Additional Output | Raw text from the LLM that doesn't fit into the structured reasoning or JSON output. Displayed on the Reasoning page when the model emits extra commentary outside the expected format |
| Uncertainty | A 0–100 score indicating how unreliable a sentiment signal is. Higher values mean the news coverage is vague, contradictory, or sparse. When uncertainty ≥ 55 the sentiment label gets an "uncertain" suffix, and ≥ 70 gets "foggy" — both reduce the signal's effective weight |
| Accuracy Context | Historical accuracy data injected into the prediction prompt — rolling MAE, MAPE, and band hit-rate by horizon. Tells the LLM how well it has performed recently so it can calibrate confidence accordingly. It is a snapshot of the database at run time: reports sharing the same prediction date can come from different runs and show different values, and the "resolved predictions" count reflects the rows behind the displayed rolling MAE (capped at the tracker's rolling window) |
| Historical accuracy | A snapshot of how the model has performed with the same horizon recently: rolling MAE, rolling MAPE, and band hit-rate, backed by a count of resolved predictions. It is the key to judging how much to trust a given forecast. See Accuracy Context |
| resolved predictions | Predictions whose target date has arrived and been validated against the actual close. The count of resolved predictions behind the historical accuracy figures is how much real outcome data those numbers are based on |
| Financial Context | The financial fundamentals section injected into the prediction prompt — P/E ratio, margins, growth rates, debt levels, and cash flow metrics. Gives the LLM a snapshot of the company's financial health |
| Financial Fundamentals | The === Financial Fundamentals === section of the prediction prompt and report — a synthesis of income statement trends, balance sheet & cash flow, valuation ratios (P/E, forward P/E, P/S, EV/EBITDA), and earnings quality. See also Financial Context |
| BALANCE SHEET & CASH FLOW | The subsection of Financial Fundamentals covering balance sheet and cash-flow health in a single line: Cash, Debt, D/E, Net Cash, FCF, Earnings Quality (OCF/NI), Capex/OCF, and FCF trend (SHRINKING/STABLE/GROWING) |
| Estimates Context | Analyst growth and revenue estimates are injected into the prediction prompt. Added are EPS forecasts, revenue projections, and data how many analysts cover the stock. This reveals market expectations for future performance. How they are generated: during stock fetching, the data provider's gets growth estimates and revenue estimates. At prediction time the estimates context reads the newest snapshot, FX-converts monetary values into the trading currency at the rate as-of the snapshot date, and renders the === Growth & Revenue Estimates === block (growth as %, revenue in B/M units, analyst counts as integers) |
| Calendar Context | Upcoming corporate events (earnings dates, dividend dates) injected into the prediction prompt. Helps the LLM factor in near-term catalysts that could trigger price volatility |
| Upcoming events | A calendar block of near-term corporate events (earnings dates, dividend dates) that could move the price. FIN injects these into the prompt so the forecast can factor in potential catalysts. See Calendar Context |
| Earnings | A company's quarterly income report — and the scheduled date shown under Upcoming events. Earnings releases, and the guidance management gives with them, are among the most common catalysts for a headline price move |
| Competitor Context | A peer analysis section injected into the prediction prompt — relative price performance, comparative valuation multiples, competitor news sentiment, and surprise signals. Enables the LLM to distinguish sector-wide moves from company-specific signals |
| INTERPRETATION GUIDANCE | The rules in Competitor Context telling the LLM how to read relative performance: if all tickers move together the move is sector/macro-driven (weight macro higher); if only the target diverges it is idiosyncratic (weight company news higher); relative underperformance despite positive news = weakness, relative outperformance despite negative sector news = strength |
| COMPETITOR NEWS SENTIMENT | A Competitor Context subsection built from ChromaDB news (last 7 days) listing each peer's avg_ticker_sentiment, article count, and recent headlines — lets the LLM see whether sentiment is company-specific or sector-wide |
| COMPETITOR SURPRISE SIGNALS | A Competitor Context subsection listing surprise events for each peer within the lookback window (e.g., 7 days) — shows whether peers are also seeing earnings beats/misses or macro shocks |
| Peer Median | The median valuation metric (P/E, EV/EBITDA, revenue growth) across configured competitors. Used as a benchmark to judge whether the stock is cheap or expensive relative to peers |
| Peer avg | The average return of the competitor group over a window (e.g., Peer avg (20d)). The stock's own return over the same window is marked OUTPERFORMING, UNDERPERFORMING, or IN LINE by comparing it with this average |
| Market Context | Systematic market exposure metrics injected into the prediction prompt — beta, correlation, and relative strength vs SPY and sector ETF benchmarks. Distinguishes broad market movements from company-specific alpha |
| Next Expiration | The nearest available options expiration date. The system fetches the options chain for this expiration to compute put/call ratios and implied volatility |
| Available Expirations | All option expiration dates available for the ticker. Shows how far out the options market is pricing — more expirations mean deeper, more liquid options markets |
| IV Expiration | The options expiration date whose chain the implied-volatility reading was taken from (shown as IV Expiration: …). Implied volatility is measured on a specific contract month, so this names which one |
| Psychological Bias | One of 12 cognitive biases (FOMO, herding, anchoring, etc.) scored via RAG + LLM against academic transcripts. Each bias is time-decayed and multiplied by a horizon-specific weight before injection into the prompt. Higher score = stronger bias detected in current news sentiment |
| INITIAL ANALYSIS | Stage 1 of the prediction pipeline — the LLM's first-pass reasoning. The model receives all context sections (OHLCV, sentiment, financials, estimates, calendar, competitors, market, accuracy) and produces a qualitative thesis plus initial price targets. This output is later reviewed by self-critique and reconciled with ML in the consensus stage |
| Initial prices | The STAGE 1 block listing the LLM's first-pass price targets for each horizon (D+1, D+2, …), before self-critique and model blending refine them — the starting point Price revisions are measured against |
| Price revisions | The STAGE 2 block showing how the LLM revised its Initial prices after self-critique, with each horizon's revised price related back to the initial one. When the critique is rejected, the original prices are kept |
| Forecast Reference | The stock price at the moment the prediction was generated ({currency}{price:.2f} at generation). The predicted price is expressed as a % change relative to this reference |
| Latest 1d Close | The most recent completed daily closing price from OHLCV data. The FINAL DECISION block shows it as technical context and, when it differs from the live print, as a secondary close-based reference (% vs 1d close) alongside the primary live-anchored % change |
| Target vs 1d Close | The predicted price's percentage change relative to the latest 1d close, shown in the FINAL DECISION block as a secondary label next to the primary forecast-reference- (live-) based % change |
| return vs live | How a predicted move is measured relative to the live price at generation. The FINAL DECISION block prints the forecast reference explicitly (the Forecast reference (live) line), so the same forecast price can't be mistaken for a different % move across references — every label names which price it is measured against |
| % return vs live | The percentage move a forecast represents relative to the live price at generation (e.g. +0.13% vs live). The FINAL DECISION block, the Model Reconciliation panel (legs and the live band), and the forecast hero all measure returns against the live price first, falling back to the latest 1d close only when no live reference exists |
| CONSENSUS | Stage 4 of the prediction pipeline — the final reconciliation between the LLM thesis and the ML model. The two forecasts are blended (distribution pooling): the model dominates when confident, the AI moderates it when not, and an uncertain forecast is pulled toward a flat, neutral estimate. The confidence band is widened and confidence is trimmed when the expected move is large — uncertainty scales with move size, so a big projected swing gets a proportionally wider range (with a floor so confidence never collapses to zero). Agreement also factors in the binary direction classifier (P(up)): a classifier call that opposes the GBM/LLM price consensus counts as a DISAGREE, and Stage 4 shows the two ML legs as separate rows (ML (GBM quantile model) vs ML (direction classifier)). The outcome is summarised in the Model Reconciliation panel (see Model Reconciliation). Recently triggered thesis invalidations are also factored in |
| Model Reconciliation | The summary shown on a prediction's Reasoning page explaining how the AI's forecast and the ML model's forecast were combined. It shows the method used (a pooled blend, a model override, an error-correction nudge, or an AI-only estimate when no model exists), the expected move, and the final price. A larger expected move means wider bands and lower confidence by design |
| Direction classifier (ML-CLS) | A separate binary ML model that outputs P(up) — the probability the price moves up over the horizon — distinct from the GBM quantile price estimate. Stage 4 shows it as its own row (ML (direction classifier), e.g. down (P(up) = 21.5%)) alongside the GBM row, and it appears as the ML-CLS leg in reconciliation consensus tags (e.g. LLM_GBM_AGREE_ML-CLS_OUTLIER). A classifier call that opposes the GBM/LLM price consensus counts as a DISAGREE |
| Operational Confidence | A measure of how trustworthy the input data was at prediction time (fresh prices, available sentiment/calendar data, low news uncertainty). It acts as a ceiling on the final confidence: even a very certain model cannot be trusted more than the data it was built on, so poor data quality lowers the confidence regardless of the model's own certainty. See also Confidence score |
| Distribution Pooling | The method used when a trained ML model is available: instead of letting the model blindly override the AI, the system blends the model's forecast distribution with the AI's baseline, weighted by how confident each one is. The more uncertain either side is, the more the combined forecast is pulled toward a neutral, flat estimate — preventing overconfidence when the evidence is weak. See also Consensus |
| Neutral Lean | A sentiment label applied when ticker sentiment scores fall between 40–60 — neither bullish nor bearish. The system reads the raw score and uncertainty together: a neutral score with high uncertainty (≥ 55) produces "neutral-but-uncertain" or "neutral-but-foggy", signalling that the lack of direction is itself informative |
| Takeaway | A 2–3 sentence LLM-generated post-mortem produced after the prediction resolves. Summarises what worked, what was missed, and which thesis fuses (triggered monitors) fired. Appears on the Retrospective card |
| Thesis Probabilities | The probability split across bull, base, and bear scenarios (must sum to ≤ 1.0). Drives the thesis heuristic that converts qualitative conviction into numeric price targets. Stored as ML features (bull_probability, bear_probability, base_probability, probability_skew) |
| Bull | The bullish scenario probability in thesis probabilities — the chance the stock rises. Includes the expected upside target, key drivers, and time sensitivity. Higher bull probability combined with high conviction produces stronger upward price drift |
| Base | The most likely scenario probability in thesis probabilities — the system's primary prediction path. Typically aligned with the conviction direction and highest individual probability. Represents what the model thinks is most likely to happen |
| Bear | The bearish scenario probability in thesis probabilities — the chance the stock falls. Includes the expected downside target, key risks, and time sensitivity. Higher bear probability combined with high conviction produces stronger downward price drift |
| Bear Cases | The pessimistic scenarios in the thesis — the downsides that would trigger a decline. Shown alongside bull and base cases in thesis probabilities. See Bear Case |
| Live band | The authoritative forecast range, expressed as a percentage return rather than a price. It re-reads the prediction's stored band_low/band_high (itself anchored at the live price at generation, as is the pooled GBM↔LLM return) against that same live price. This is the canonical band: it is the one stored on the prediction and used to validate / falsify the forecast on the target date. A separate "vs 1d close" line may re-anchor the same prices to the previous close for comparison, but that is a secondary caveat, never a different or competing band |
| gbm half | Half the width of the GBM's own predicted range, shown as a % return after horizon scaling (half of its q10–q90 spread). This is the spread the headline band is built from. Displayed next to stat half so you can see, at a glance, how the machine-learning spread compares with the classical one |
| stat half | Half the width of the statistical forecaster's predicted range (% return) for the same horizon — the classical, price-history-only estimate of the expected up/down move. It is normally shown purely for comparison (it does not by itself build the headline band). The one exception is the sanity clamp: if the GBM half is wider than 2.5× stat half, the headline band is capped at that 2.5× stat width — in that specific case the stat half becomes a live input and the panel labels it accordingly ("bounds headline band") |
| band clamped | A headline band that was too wide to be credible and was capped down by the stat layer's reference: the GBM's half-width exceeded 2.5× the stat forecaster's half-width, so the band is trimmed to that 2.5× stat width. This is the only situation in which the stat half (otherwise a comparison-only reference) actually changes the live band |
| Headline confidence band | The published prediction range [band_low, band_high] — the prices the model thinks are plausible. Shown on the Reasoning page as q-low–q-high (% return). The actual price lands inside this band ~80% of the time on held-out data (conformal calibration). A wider band means more uncertainty. See Confidence Band |
| q-low–q-high | Shorthand for the lower (q-low / q10) and upper (q-high / q90) quantile bounds of the confidence band. The band spans from q-low to q-high, with the midpoint (q50) as the central estimate. See Headline confidence band |
| q10–q90, % return | The range between the 10th and 90th percentiles of a forecast distribution, expressed as percentages of the current price, not absolute prices. Putting every band on the %-return scale is what lets the AI, the GBM, and the statistical layer be compared directly |
| band skew | The gap between a confidence band's midpoint (half-way between band_low and band_high) and the headline point estimate. The GBM trains its low and high quantiles independently, so its q10–q90 spread is free to be asymmetric — the band edges are not forced to sit symmetrically around the point. A small skew therefore means the band is weighted heavier to one side of the headline number, which is a real property of the forecast, not a display error |
| neutral floor | When the thesis is explicitly neutral with moderate+ conviction (strength ≥ 40) and the bull/bear probability split is near-equal, a small symmetric conviction-scaled signal (0.05–0.15) is applied so the thesis heuristic clears the ±0.1% materiality gate. This keeps the LLM leg in the precision-weighted pool as a near-zero-return source rather than silently falling back to a statistical-only baseline. The floor is the same conviction-scaled formula used for directional theses with tight splits, but applied symmetrically (sign arbitrary) because the thesis declares no edge |
| LLM bypass reason | When the LLM baseline is absent from the pool (e.g. thesis was neutral with weak conviction and produced no material directional signal, or no thesis was produced at all), the Model Reconciliation panel shows the actual reason in the reconciliation note so the bypass is never silent. You'll see a note like "Distribution pooling skipped (no LLM baseline: thesis was neutral with weak conviction …) — using the GBM as the point estimator" |
| % return | How a forecast is expressed relative to the reference price: the percentage change from the current (or generation) price to the predicted price. Bands and statistical ranges are also shown as % return so different methods (AI, GBM, statistical) can be compared on the same scale |
| return vs 1d close | How a move is measured against the previous trading day's official closing price. The live price at generation is the canonical reference for returns; the 1d close is a secondary, fixed reference shown alongside (% vs 1d close) — the close never changes after the session, while the live print drifts during the day, so the primary labels are live-anchored |
| % return vs 1d close | The percentage move a forecast represents relative to the latest completed daily close (e.g. +0.41% vs 1d close). Shown as a secondary label next to the primary live-based % whenever the two references differ, so the same price is never mistaken for a different % move across references |
| Forecast gap | The absolute divergence between the GBM's expected return and the LLM's expected return: GBM return − LLM return. A small gap means the two methods agree. A large gap means they disagree, which is reflected in the blended forecast's precision (inverse-variance pooling). The band itself is widened by the size of the overall expected move, not by this gap |
| Headline confidence | The final confidence score shown for the prediction (0–1): min(operational ceiling, model posterior), then further discounted by post-processing guards (large expected move / return-magnitude widening, direction-classifier conflict, low-sample GBM guard, statistical anchor, IV floor). Data quality can only cap — never inflate — the score. Below 0.3 = weak, above 0.7 = strong. Displayed on the dashboard as Signal confidence. Like the confidence score, it measures signal reliability — NOT the probability that the price lands inside the band, whose coverage is calibrated to ~80% separately. It is also passed through an isotonic calibrator per user/ticker/horizon and surfaced as the calibrated confidence once there is enough resolved history. See Confidence score |
| Model (pooled posterior) | The model's own confidence before the operational cap: the posterior precision of the blended GBM↔LLM return distribution. Higher means the two models agree tightly and the estimate is well-constrained |
| Operational ceiling | The data-quality cap on confidence. It reflects how trustworthy the inputs were at prediction time (fresh prices, available sentiment/calendar, low news uncertainty). The headline score can never exceed this, because a model cannot be more trusted than the data it was built on. Post-processing guards only ever lower the score further, so the headline can also sit below the ceiling. See also Operational Confidence |
| Mixing weights | The blend proportions used to combine the GBM, LLM, and (when present) statistical forecasts into the final price. They come from precision-weighting (inverse-variance), so the more precise leg contributes more. They shrink toward an equal blend when confidence is weak |
| Statistical layer | The regime-aware statistical forecaster's contribution to a forecast. It plays exactly one role per prediction: shadow (recorded, not in the live number), baseline (honest standalone), prior (shrinkage pull), anchor (plausibility check), or voter (a third leg in the pool). See Statistical Forecaster |
| μ (mu) | Mu (μ): the statistical forecaster's expected return (mean drift) for the stock, as a % return over the horizon. Derived from the ADF/AR(1) fit — a small positive μ means a gentle upward drift, negative means downward. See Regime |
| σ (sigma) | Sigma (σ): the statistical forecaster's predicted standard deviation of the return (volatility), as % return over the horizon. Larger σ = a more uncertain outcome, and the confidence band widens with σ |
| σ | Sigma — the statistical forecaster's predicted volatility (standard deviation of the return), shown as a % return over the horizon. Larger σ = a more uncertain outcome and a wider band. Same symbol as σ (sigma), displayed standalone in the Statistical layer |
| MR strength | Mean-reversion strength: how strongly prices pull back toward their average, = (1 − φ) from the AR(1) fit, clamped to [0,1]. Near 1 means strong reversion; near 0 means a random walk with little reversion |
| conf | The statistical leg's own confidence (0–1): how much the statistical forecaster is trusted. It is conservative until tracked forecast error exists, and feeds the statistical layer's role and weight |
| prior μ₀ | The shrinkage prior mean (μ₀): the neutral "starting" expected return the pooled estimate is gently pulled toward when confidence is low (e.g., 0% = flat). Comes from the statistical forecast or a configured flat prior |
| Precision-weighted pooling | The blend math: each forecast leg is weighted by its precision (inverse variance, 1/σ²), so a leg with a tighter (smaller) σ gets more weight. The weighted combination is the pooled posterior. See Distribution Pooling |
| GBM confidence | How sure the quantile GBM (gradient-boosted) model is about its own forecast, on a 0–1 scale. A high score means its predicted range has matched reality well on past data (it is well calibrated), so its vote counts for more in the blend. A low score means its uncertainty estimates are unreliable, so it contributes less. Shown as the GBM confidence metric in the Model Reconciliation panel |
| Shadow range | When the statistical forecaster runs in shadow mode, this is its predicted price range (q10–q90, shown as % return). It is recorded for research and backtesting but does NOT change the live published numbers — you can compare it against the headline band to see where the classical forecast would have landed |
| Investment Thesis | The LLM's qualitative investment case for the stock before any price is calculated. It states a direction (bullish / bearish / neutral), a conviction strength, the market regime, bull / base / bear scenarios with probabilities, and falsifiable hypotheses. It is the narrative backbone that the ML model's numbers are reconciled against |
| Strength | How strongly FIN holds its directional view, shown as conviction strength (0–100). High strength = a confident, well-supported directional call. Low strength = conflicting or weak signals, so the forecast is pulled toward a neutral, flat estimate |
| INPUT SIGNALS | The raw market and model inputs listed at the top of a prediction report — technical indicators, the ADF regime, sentiment, options flow, fundamentals, and estimates. They are the evidence the LLM and the ML model use to form the forecast |
| band scaled | The adjustment that shrinks the GBM's raw quantile spread down to the forecast's actual horizon (using √(offset ÷ training-horizon)). Long-horizon GBM bands are naturally wider, so this keeps the published band realistic for the specific number of days ahead |
| How the LLM and GBM forecasts were combined | FIN blends two independent forecasts into one price: the LLM's qualitative baseline and the quantile GBM's statistical estimate. Each is weighted by how precise it is (inverse-variance), so the more confident method contributes more; a larger expected move then widens the band and lowers confidence. The full breakdown is shown in the Model Reconciliation panel |
| Stock | A share representing partial ownership of a company that FIN tracks and predicts. Each stock has a ticker, price history, news, fundamentals, and options data that feed the daily prediction |
| Statistics | The mathematical summaries of market behavior FIN relies on — averages, volatility, correlations, and statistical tests such as the ADF (stationarity) and AR(1) fit. They turn raw price and news data into the signals that drive the forecast and its confidence |
| calib conf | Calibration confidence: how well the GBM's predicted uncertainties have matched reality on past data (its reliability). It scales the GBM's effective precision in the pool — a poorly calibrated model gets a smaller weight |
| env weight | Environment weight: an external multiplier on a forecast leg's contribution (e.g., the LLM baseline weight, often 1.00). It lets configuration nudge how much a leg counts in the pool without changing its statistical precision |
| inverse-variance weights | The weights produced by precision-weighted pooling: weight_i = (1/σ_i²) / Σ(1/σ_j²). A more precise (lower-variance) leg receives a larger share of the blended estimate |
| posterior σ | The standard deviation of the pooled posterior return distribution after blending the GBM, LLM (and stat, if voting). It is narrower than either input alone when the legs agree, and sets the headline band width |
| prior σ | The standard deviation of the shrinkage prior (the neutral starting distribution the pooled estimate is pulled toward). A larger prior σ means the prior is weak/flat and influences the blend less |
| shrunk | Shrinkage: the pull of the final estimate toward the flat prior (zero return) when confidence is weak. The lower the confidence, the more the estimate shrinks toward "no move", preventing overconfident point estimates |
| pooled return | The final blended expected return (% return) from precision-weighted pooling of the GBM, LLM (and stat) legs — the number that, added to the current price, gives the final predicted price |
| Pooled (LLM + GBM) | The default reconciliation method: the AI (LLM) baseline and the quantile GBM are blended via precision-weighting into one pooled posterior. This is the headline method whenever a trained ML model is available |
| pooled | Blended. A pooled number is produced by combining the forecast legs (typically the GBM and the LLM, plus the statistical leg when it votes), each weighted by how precise it is, rather than trusting any single model alone. Shown in Pooled (LLM + GBM) and in pooled prices, bands, and confidence |
| gbm stat agree llm outlier | A consensus badge meaning two or more forecast legs agree on direction while a third leg is the outlier (points the other way). The most common case is GBM and statistical legs agreeing while the LLM is the outlier; when the direction classifier (ML-CLS) disagrees with the GBM/LLM consensus it also appears as the outlier. Because blending is precision-weighted, the outlier can still influence the final number — the badge is informational, not a veto |
| SHAP | SHapley Additive exPlanations — a method that explains a black-box model by attributing the prediction to each input feature. In FIN the "Why this forecast" drivers come from the point (q50) Quantile GBM, whose target is the predicted % return: each driver's SHAP value is in percentage points of that predicted move (the five shown sum with the model baseline to the GBM's predicted % return) — e.g. current_price ↓1.15pp means the current price level pulled the GBM forecast 1.15 percentage points lower. So you can see why the ML forecast landed where it did in the same units as the move, rather than treating it as a mystery number. The direction classifier's raw margin is log-odds, not percents, and is never shown as a driver |
| GBM-based | A forecast produced by the quantile Gradient Boosting Machine — FIN's trained ML model — rather than the rule-based heuristic. Tiers 1 (your personal model) and 2 (pooled) are GBM-based; the report labels them "(GBM-based)" so you know real machine learning, not a fallback estimate, drove the number |
| GBM point | The single best-guess price from the quantile GBM before it is blended with the LLM's forecast. It is the model's central estimate (roughly the q50 / midpoint of its range), shown in the STAGE 3 reasoning block as "GBM point" |
| Quantile band | The raw low–high price range straight from the GBM (its q10–q90 quantiles), shown before pooling and horizon-scaling. It reflects the model's own uncertainty shape; the published headline band is this range refined by blending with the AI and adjusted to the forecast's offset |
| ML confidence | The 0–1 trust score the ML subsystem assigns to its own forecast. It combines how many training samples exist, the model's cross-validated error, how much of the training data is real vs simulated, and whether the accuracy pipeline is keeping up. Shown as "ML confidence" in the reasoning block — a low score means the model's vote counts for less in the final blend |
| Training samples | How many resolved feature snapshots the model learned from. Reported as a total split into backfilled (simulated) and live (real) rows: e.g., "342 (120 backfilled + 222 live)". More genuine live samples generally means a more trustworthy model |
| backfilled | Simulated or stale training rows that FIN generated to fill gaps before enough real outcomes existed. They let a model train early, but because they are not genuine market results they count less toward confidence — a model that is mostly backfilled is treated as unproven |
| live | Real, out-of-sample outcomes produced by the running system — actual market results once a prediction's target date has passed and the price is known. "Live" training data is the gold standard: the more of it a model has, the more its confidence can be trusted (versus backfilled) |
| Unresolved backlog | Predictions the system has made but not yet validated, because their target dates haven't arrived or the accuracy pipeline hasn't caught up. A large backlog (≥ 100) is a warning that validation signals are stale, so FIN automatically lowers the confidence it would otherwise claim |
| price_change_20d | The stock's percentage price move over the last 20 trading days (~one month). A medium-term momentum feature fed to the model — strongly positive means recent upside strength, strongly negative recent weakness |
| price_change | A percentage price change over a period — the unit the model actually reasons in (it predicts % moves, not raw prices). Feature-snapshot rows break it down by window, e.g., Price Change (5d) and Price Change (20d), as momentum signals |
| pe_ratio | The raw field name behind the P/E Ratio in feature snapshots: price divided by annual earnings per share. High = the market prices in expected growth; low = possibly undervalued. Same ratio as P/E Ratio, just stored under this shortened label |
| volume_trend | The recent change in trading volume relative to its norm (roughly 0–1, where higher means volume is ramping up). Rising volume alongside a price move signals conviction from investors; falling volume suggests the move may be losing steam |
| current_price | The live underlying stock price captured at the moment the prediction was generated. It serves as the reference/base for the forecast — predicted prices and bands are expressed as a percentage move away from this value |
| offset_days | The number of calendar days between the prediction date and the target date — i.e., the forecast horizon. A 5-day offset means "where will the price be in 5 days"; the model scales its uncertainty wider as offset_days grows |

