KEYS — Keysight Technologies, Inc.
Report date: 2026-05-26 |
Sector: Technology |
Last price: $346.56 |
Horizon: 30d |
Generated: 2026-05-26T07:06:37.076654Z
⚠ Ensemble forecast does NOT meaningfully beat the random-walk baseline. Model edge is unclear; weight conviction accordingly.
Forecast summary
Ensemble point
-0.11%
80% CI
[-9.85%, +11.05%]
95% CI
[-14.43%, +17.52%]
Method dispersion
0.0039
Beats RW baseline
NO
MC drift (annual)
2.22%
MC sigma (annual)
43.23%
MC paths
1000
Bull target (90th pct)
+19.55% -> $414.30
Base target (50th)
-0.75% -> $343.95
Bear target (10th pct)
-18.11% -> $283.78
Macro regime
risk_on_growth
10y yield
4.56%
3m yield
3.59%
Yield-curve slope
+0.97%
VIX level
16.59
VIX z-score (252d)
-0.48
Sector ETF
XLK
Sector relative (90d)
+40.68%
Forecast plot (interactive)
Realised volatility
Yang-Zhang annualized (60d)
43.23%
Close-to-close annualized (60d)
38.35%
Per-method comparison
| Method | Weight | Point | 80% lo | 80% hi | 95% lo | 95% hi |
| linear |
25.0% |
+0.26% |
-3.42% |
+3.92% |
-4.99% |
+5.93% |
| monte_carlo |
25.0% |
-0.75% |
-18.11% |
+19.55% |
-26.32% |
+31.19% |
| ar1 |
25.0% |
+0.06% |
-2.87% |
+3.08% |
-4.39% |
+4.71% |
| random_walk |
25.0% |
+0.00% |
-15.00% |
+17.65% |
-22.01% |
+28.23% |
Factor contributions (interactive waterfall)
Factor contribution table
| Factor | Loading | Ticker value | Contribution |
| value_score |
+0.0495 |
-2.2598 |
-0.1118 |
| quality_score |
+0.0192 |
+0.3174 |
+0.0061 |
| momentum_score |
+0.0286 |
+3.0000 |
+0.0858 |
| lowvol_score |
+0.0173 |
-0.4177 |
-0.0072 |
| revisions_score |
+0.0236 |
+1.2800 |
+0.0302 |
| news_activity_score |
+0.0402 |
+0.0000 |
+0.0000 |
| (intercept) |
- |
- |
-0.0005 |
Factor decay over horizon
Factor IC over time
Per-factor IC backtest summary
| Factor | Mean IC | ICIR | % positive | Cumulative attribution | n periods |
| value_score |
+0.2563 |
+2.690 |
100.0% |
+0.5383 |
252 |
| quality_score |
+0.1105 |
+1.096 |
86.5% |
+0.2401 |
252 |
| momentum_score |
+0.1428 |
+1.354 |
92.5% |
+0.2460 |
252 |
| lowvol_score |
+0.0878 |
+0.887 |
82.1% |
+0.1870 |
252 |
| revisions_score |
+0.1375 |
+1.319 |
88.9% |
+0.2738 |
252 |
| news_activity_score |
+0.3540 |
+3.832 |
100.0% |
+1.0893 |
252 |
Snapshot — fundamentals + technical
Market cap
$59.17B
P/E (trailing)
55.9
P/B
9.6
Forward P/E
29.2
PEG
1.49
Dividend yield
-
Beta
1.26
52w high / low
$370.18 / $152.85
Distance from 52w high
-6.38%
RSI(14)
53.1
SMA50 / SMA200
$324.12 / $230.35
ATR(14)
$12.62
Avg volume (20d)
1.64M
Profit margin
17.31%
ROE
18.17%
Revenue growth (YoY)
+31.50%
Earnings growth (YoY)
+35.60%
Debt/Equity
43.6
Current ratio
1.90
Short ratio
1.96
Forecast accuracy — walk-forward backtest (60d lookback)
Walk-forward backtest on this ticker's last ~3 years of price history. For each anchor t,
we re-fit on the previous 60 days and predict t+1 / t+30 / t+60. Then we compare to the
realised price. Reference benchmark: PMC9680880 LASSO-LSTM on AAPL/MSFT/BAC = 71.6%-77.2%
1d directional accuracy. n_walks = 691.
| Horizon | n predictions | Directional accuracy | MAE (return) | RMSE | 80% CI hit rate | Pearson(pred, real) |
| 1d |
691 |
52.1% |
1.43% |
2.24% |
85.1% |
-0.052 |
| 30d |
662 |
61.2% |
9.97% |
13.41% |
74.3% |
+0.141 |
| 60d |
632 |
48.6% |
19.42% |
23.14% |
53.6% |
+0.081 |
Volume momentum (Granville / CGW / Quong-Soudack)
Volume confirms price moves (Campbell-Grossman-Wang 1993 RFS). High-volume moves are more
informative than low-volume moves. Composite z-score is the mean of standardised features clipped
to ±3 (Grinold-Kahn 2000 ch.3).
Composite z
+0.308
Active signals
7 of 7
MFI(14)
43.08
CMF(20)
+0.2034
OBV z (252d)
+1.533
VPT z (252d)
+1.689
VW-momentum z
-0.656
Volume z (60d)
+0.135
Relative volume (vs 20d ADV)
0.99x
CMF z (252d)
+0.695
Sector rotation & AI-spillover (v6)
Sector ETF
XLK
Rel-return 5d / 20d / 60d
-3.02%
/ -11.97%
/ -12.32%
Sector mom-z 1m / 3m / 6m
+2.27
/ +2.72
/ +1.64
Rotation phase
cyclical
AI-factor beta (60d)
+0.357
AI spillover score
+0.0328
Risk-off corr regime (60d)
0.33
(>0.6 = risk-off; <0.35 = stock-picking)
Sector breadth (% > SMA50)
-
Sector dispersion 20d
-
Peer comparison (sector-relative valuation & momentum)
Peer signal
MIXED
score +0.30
(9 peers)
P/E percentile
20%
(20% cheaper than this)
20d momentum percentile
50%
(50% lag this)
Market-cap percentile
67%
Peer set (mcap band 0.2x-5x, same sector)
TEL STM SNOW STRC CRWV CBRS TER MSTR NBIS
9 peers in Technology (mcap band 0.2x-5x); signal=mixed; score=+0.30
Decision input: cheap_leader → nudge bias one bucket toward LONG;
expensive_laggard → nudge toward SHORT;
cheap_laggard = value-trap (neutralize);
expensive_leader = crowding risk (neutralize).
Folded into Claude critique and one-line PM summary.
Multi-timeframe technical analysis (1wk / 1d / 1h)
Per-timeframe verdict (TradingView-style aggregate of 17 indicators:
RSI, MACD, BBands, ADX, Stoch, %R, OBV, MFI, CMF, ATR, SMA50/200,
EMA9/21, Donchian, price-vs-SMA200). Counts = how many indicators
fired BUY / SELL / NEUTRAL; net strength is the weight-sum delta.
Crosses (golden/death, MACD signal cross, Donchian breakout) and
the SMA200 trend filter carry 1.5x weight.
1wk verdict
NEUTRAL
4 buy
/ 4 sell
/ 9 neutral
· net -0.5
1d verdict
NEUTRAL
2 buy
/ 2 sell
/ 13 neutral
· net +3.0
1h verdict
NEUTRAL
4 buy
/ 6 sell
/ 7 neutral
· net -5.0
1wk
NEUTRAL
4/4/9
RSI(14)
75.4
MACD hist
+5.0303
Bollinger %b
0.79
ADX(14)
50.6 RISING
ATR %
6.42%
MFI(14) / CMF(20)
60.4
/ +0.136
Donchian pos / break
0.86
vs SMA200
ABOVE
n_bars521
1d
NEUTRAL
2/2/13
RSI(14)
53.1
MACD hist
-3.9606
Bollinger %b
0.41 SQUEEZE
ADX(14)
22.1
ATR %
3.64%
MFI(14) / CMF(20)
43.1
/ +0.203
Donchian pos / break
0.49
vs SMA200
ABOVE
n_bars1253
1h
NEUTRAL
4/6/7
RSI(14)
58.6
MACD hist
+1.4320
Bollinger %b
0.90
ADX(14)
28.3
ATR %
1.31%
MFI(14) / CMF(20)
59.8
/ +0.167
Donchian pos / break
0.86
vs SMA200
ABOVE
n_bars1728
Cross-timeframe confluence
Confluence LONG (0-1)
0.20
Confluence SHORT (0-1)
0.00
Patterns are intentionally selective (Elder triple-screen, daily/hourly
divergence, BB-squeeze+breakout, SMA-alignment, MACD/OBV). Most tickers
fire 0-2 patterns on any given day. Below: each pattern with its
current state (✓ firing / ✗ not firing).
Long patterns
✗
elder_triple
✗
daily_oversold_hourly_bull
✗
bb_squeeze_break_up
✓
sma_align_long
✗
macd_cross_obv
Short patterns
✗
elder_triple
✗
daily_overbought_hourly_div
✗
bb_squeeze_break_dn
✗
sma_align_short
✗
macd_cross_obv
Intraday nowcast — 1h-bar short-horizon (v6)
Next 24h nowcast
+0.13%
over next 24h on 1h bars
80% band
[-5.14%,
+5.68%]
n_bars = 1728 ·
sigma_1h = 0.0086
Direction vs 30d ensemble
AGREES
1h direction: LONG
· 30d direction: SHORT
Source: intraday_forecaster_v10_trained_lgbm.
(trained model: 2026-05-26 (0d old), mean_directional_accuracy=0.523, n_features=17)
Decision input only -- the 30d ensemble + factor regression remain the primary call.
Conflicts surfaced into the Claude critique as horizon_conflict flag when |1h move| > 1%.
Meta-label gate — AFML Ch.3 secondary classifier (v6)
Verdict
meta-label: NEUTRAL
p_take = 0.51
· threshold 0.60
Bias adjustment
meta-label NEUTRAL (p_take=0.51 between 0.40 and 0.60) -- no adjustment.
Method: secondary LightGBM trained on (features + primary direction) -> P(primary is right).
Source: meta_labeler_v10_trained_lgbm.
(trained model: 2026-05-26 (0d old), roc_auc=0.641, accuracy=0.608, n_train_rows=8,284)
When ABSTAIN with p_take < 1-threshold AND bias non-neutral, the bias is demoted one bucket
and a meta_abstain flag is added to the critique. See AFML Ch.3.6 (Lopez de Prado 2018).
Implied vol vs realized vol — options-trade gate (v8 W2)
Regime
NEUTRAL
no decisive vol mispricing — delta-1 setup over options
IV / RV ratio
0.98
z-score:
n/a (insufficient history)
30d IV vs 30d RV
IV 43.7% (Polygon)
RV 44.6%
(yang-zhang)
Provenance: source polygon_options:contracts_call;
expiry 2026-06-18 (23d)
· strike $350.00
· 1 strike(s) used.
Caveat: 15-min delayed end-of-day quotes; free-tier Polygon (no Greeks, no real-time).
Regime is qualitative input only — NOT a numeric factor on the regression.
FMP fundamentals & analyst consensus (v7)
Quality / leverage
ROE
18.2%
ROIC
-
FCF yield
-
Debt / EBITDA
-
Current ratio
1.90
Margins / valuation
Gross margin
63.7%
Operating margin
18.1%
Net margin
17.3%
P/E (TTM)
55.9
EV / EBITDA
39.2
Analyst consensus
Target mean
-
Target high / low
-
/ -
Upside vs last close
-
Revisions score
+0.000
Trade-bias signal — foundation for trade-guidance layer
Bias
neutral
Composite z-score
+0.078
Conviction
0.03122586607522947
Recommended playbook
cash
Suggested position size
0% (no Kelly)
no Kelly: bias=neutral / not a conformal singleton (proxy off); singleton-proxy: news_activity_z=+0.00 (nonzero=False), wf30d_dir_acc=0.6117824773413897 (>0.55=True)
Strategies on bias side
•Cash / no position
•Iron condor if IV rank > 50
•Wait for next factor refresh
Why this bias
composite_z = +0.08 | bias = neutral | conviction = 0.03 | macro_regime = risk_on_growth | ensemble = -0.11%
Sensitivity (OFAT tornado ±1 sd) and stress scenarios
| Factor | Loading wi | Ticker z-value | +1 sd impact | -1 sd impact |
| value_score |
+0.0495 |
-2.260 |
+0.0495 |
-0.0495 |
| news_activity_score |
+0.0402 |
+0.000 |
+0.0402 |
-0.0402 |
| momentum_score |
+0.0286 |
+3.000 |
+0.0286 |
-0.0286 |
| revisions_score |
+0.0236 |
+1.280 |
+0.0236 |
-0.0236 |
| quality_score |
+0.0192 |
+0.317 |
+0.0192 |
-0.0192 |
| lowvol_score |
+0.0173 |
-0.418 |
+0.0173 |
-0.0173 |
Stress scenarios (forecast shift from base point)
| Scenario | Description | Stressed point | Delta vs base |
| rates_+100bps |
Yield curve +100bps (lowvol -1sd, value -0.5sd) |
-3.94% |
-4.20% |
| recession_risk_off |
Recession (momentum -1.5sd, lowvol +1sd, news -1sd) |
-6.32% |
-6.58% |
| quality_flight |
Quality flight (quality +1sd, revisions +1sd, momentum -0.5sd) |
+3.12% |
+2.86% |
Multi-source live sentiment (free real-time)
Composite z-score
-0.510
Active signals
3 of 3
Sources
stocktwits, apewisdom, iv_skew
StockTwits bull
8
StockTwits bear
1
StockTwits net
+0.78
Message volume
30
ApeWisdom mentions
1
24h change
+0
Reddit rank
259
25-delta IV skew
+2.3269
IV-skew read
bearish
Analyst critique
Agreement with model
agree_with_caveats
Confidence
0.4
PM one-liner
KEYS Technology: quant -0.11%/30d, disp +0.0039, no edge vs RW, macro neutral, 0 catalyst(s).
Sensitivity concern
If value_score (the highest-loading factor) is mis-measured by +/-1 stdev, the bias likely flips.
What the model may have missed
- Peer set (9 Technology names) ranks this ticker in the 20th P/E percentile and 50th momentum percentile (signal: mixed) -- no decisive sector-relative edge.
- no scheduled catalysts within 30d -- model is a pure factor bet, no event-pricing component
- IV-RV neutral (43.7% IV vs 44.6% RV, ratio 0.98x) -- no decisive vol-mispricing edge; delta-1 setup over options.
Critique flags
- {'type': 'model_uncertainty', 'severity': 'high', 'evidence': 'ensemble point -0.11% does not exceed random-walk baseline; no edge over naive carry', 'suggested_check': 'abstain / treat as no-trade until next factor refresh or independent signal corroborates'}
- {'type': 'placebo_audit_failed', 'severity': 'high', 'evidence': 'GT-score 0.51 > 0.5: real-acc 52.1% vs max placebo-acc 53.0% (AMG -0.009)', 'suggested_check': 'setup may be spurious -- inspect feature-importance for noise-like features; consider increased abstention threshold'}
Factor contribution methodology — where the numbers come from
Point return formula (linear factor model):
r_hat = alpha + sum_i (w_i × f_i)
where w_i is the cross-sectional loading for factor i
(estimated from the cross-section of US large-cap names) and f_i is the
z-scored factor value for this ticker (Grinold-Kahn winsorization at ±3).
Per-factor contribution shown in the waterfall above is exactly
w_i × f_i (decimal-return units), so the bars sum (with intercept) to
the linear forecast point. The ensemble point combines linear / Monte Carlo /
AR(1) / random-walk per per-method-comparison table.
Bias mapping (composite z-score → LONG/NEUTRAL/SHORT):
weighted sum of value (1.0), quality (0.7), momentum (1.0), low-vol (0.5), revisions (1.0),
news-activity (0.6); thresholds ±1.0 with macro override (risk-off +
LONG → reduce to NEUTRAL; risk-on-growth + SHORT → reduce to NEUTRAL).
LONG → Playbook A (long-call / call-debit-spread / covered-call); SHORT →
Playbook B (long-put / put-debit-spread / bear-call-spread); NEUTRAL → cash.
Sensitivity (one-factor-at-a-time tornado above): impact = w_i × 1sd
per factor (MSCI / Two-Sigma Venn convention). Stress scenarios are canned multi-factor
shocks (rates +100bps; recession risk-off; quality flight).
Factor decay uses exponential half-life per factor type:
catalysts 7d, news 14d, revisions 30d, momentum 45d, value 90d, quality 90d
(Tetlock 2007; Cohen-Malloy-Pomorski 2012). The heatmap above shows
contribution × exp(-ln(2) × t / half_life) on a 5-day grid.
Factor IC backtest: Spearman rank correlation between each factor's
cross-sectional ranking on day t and the realized h-day-forward
return, aggregated across the panel (Grinold-Kahn 2000 ch.4 fundamental law of
active management). Source for this report: synthetic_panel_252d_100tickers_seed42 (parallel runner).
Placebo audit (v6, GT-Score):
GT-score = 0.51
SPURIOUS — setup likely lacks real signal
.
Computed from 3 seed(s) across placebo kinds:
shuffled, gaussian_iid, garch.
Method: real directional accuracy = 52.1%;
max placebo accuracy = 53.0%;
AMG = -0.009.
Source: placebo_audit_v6_ar1_runner.
Provenance: arXiv 2604.15531 "Spurious Predictability in Financial ML" (Paper #3).
Risk-flag spurious_predictability_audit_failed added to narrative.
Catalysts in window (30d)
No catalysts within the forecast window.
Analyst narrative
Bull case
KEYS ensemble forecast is -0.11% with 80% band [-9.85%, +11.05%] over 30 days. Positive drivers: momentum_score, revisions_score. 0 catalyst(s) in the window provide event-driven upside potential.
Bear case
Inter-method dispersion (+0.0039) and no clear edge vs. random-walk argue caution. Negative drivers: value_score. Macro regime risk_on_growth historically caps single-name conviction.
Synthesis
Weight the ensemble's -0.11% center against +0.0039 method dispersion. Risk On Growth regime + 0 catalyst(s) define the setup. Treat the 80% band as the working trade-sizing envelope.
Risk flags
- ensemble does not beat random-walk baseline -- no clear edge
- no catalysts in window -- pure factor bet
- spurious_predictability_audit_failed (GT-score=0.51 > 0.5; AMG=-0.009)