RTX — RTX Corporation
Report date: 2026-05-26 |
Sector: Industrials |
Last price: $177.01 |
Horizon: 30d |
Generated: 2026-05-26T07:26:23.083084Z
⚠ Ensemble forecast does NOT meaningfully beat the random-walk baseline. Model edge is unclear; weight conviction accordingly.
Forecast summary
Ensemble point
+0.19%
80% CI
[-6.57%, +7.48%]
95% CI
[-9.85%, +11.53%]
Method dispersion
0.0022
Beats RW baseline
NO
MC drift (annual)
4.64%
MC sigma (annual)
27.72%
MC paths
1000
Bull target (90th pct)
+12.85% -> $199.75
Base target (50th)
+0.15% -> $177.28
Bear target (10th pct)
-11.47% -> $156.71
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
XLI
Sector relative (90d)
-15.17%
Forecast plot (interactive)
Realised volatility
Yang-Zhang annualized (60d)
27.72%
Close-to-close annualized (60d)
27.30%
Per-method comparison
| Method | Weight | Point | 80% lo | 80% hi | 95% lo | 95% hi |
| linear |
25.0% |
+0.55% |
-3.13% |
+4.21% |
-4.70% |
+6.22% |
| monte_carlo |
25.0% |
+0.15% |
-11.47% |
+12.85% |
-17.26% |
+19.78% |
| ar1 |
25.0% |
+0.04% |
-1.84% |
+1.95% |
-2.82% |
+2.97% |
| random_walk |
25.0% |
+0.00% |
-9.83% |
+10.90% |
-14.63% |
+17.14% |
Factor contributions (interactive waterfall)
Factor contribution table
| Factor | Loading | Ticker value | Contribution |
| value_score |
+0.0495 |
-0.7473 |
-0.0370 |
| quality_score |
+0.0192 |
-0.3429 |
-0.0066 |
| momentum_score |
+0.0286 |
+0.8272 |
+0.0237 |
| lowvol_score |
+0.0173 |
+0.1348 |
+0.0023 |
| revisions_score |
+0.0236 |
+1.1250 |
+0.0266 |
| news_activity_score |
+0.0402 |
-0.0741 |
-0.0030 |
| (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
$238.38B
P/E (trailing)
33.2
P/B
3.6
Forward P/E
23.4
PEG
2.44
Dividend yield
156.00%
Beta
0.30
52w high / low
$214.50 / $130.90
Distance from 52w high
-17.48%
RSI(14)
46.3
SMA50 / SMA200
$186.83 / $178.88
ATR(14)
$4.11
Avg volume (20d)
5.72M
Profit margin
8.03%
ROE
11.57%
Revenue growth (YoY)
+8.70%
Earnings growth (YoY)
+32.50%
Debt/Equity
57.2
Current ratio
1.02
Short ratio
3.08
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 |
56.2% |
1.02% |
1.54% |
84.7% |
-0.013 |
| 30d |
662 |
63.6% |
7.66% |
9.83% |
69.6% |
-0.186 |
| 60d |
632 |
70.9% |
11.50% |
15.34% |
70.9% |
-0.229 |
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.179
Active signals
7 of 7
MFI(14)
46.35
CMF(20)
+0.0402
OBV z (252d)
+0.575
VPT z (252d)
+0.397
VW-momentum z
-0.168
Volume z (60d)
-0.657
Relative volume (vs 20d ADV)
0.75x
CMF z (252d)
-0.093
Sector rotation & AI-spillover (v6)
Sector ETF
XLI
Rel-return 5d / 20d / 60d
+3.55%
/ +2.39%
/ -8.05%
Sector mom-z 1m / 3m / 6m
-1.98
/ -2.06
/ -0.06
Rotation phase
cyclical
AI-factor beta (60d)
-0.300
AI spillover score
-0.0276
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.22
(9 peers)
P/E percentile
44%
(44% cheaper than this)
20d momentum percentile
67%
(67% lag this)
Market-cap percentile
67%
Peer set (mcap band 0.2x-5x, same sector)
GEV GE BA UNP ETN HON DE CAT VRT
9 peers in Industrials (mcap band 0.2x-5x); signal=mixed; score=+0.22
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
5 buy
/ 2 sell
/ 10 neutral
· net +7.5
1d verdict
NEUTRAL
3 buy
/ 1 sell
/ 13 neutral
· net +1.5
1h verdict
SELL
1 buy
/ 6 sell
/ 10 neutral
· net -8.0
1wk
NEUTRAL
5/2/10
RSI(14)
45.1
MACD hist
-4.5636
Bollinger %b
0.17
ADX(14)
29.1
ATR %
5.70%
MFI(14) / CMF(20)
41.4
/ -0.034
Donchian pos / break
0.14
vs SMA200
ABOVE
n_bars521
1d
NEUTRAL
3/1/13
RSI(14)
44.9
MACD hist
+0.8807
Bollinger %b
0.69 SQUEEZE
ADX(14)
37.1
ATR %
2.33%
MFI(14) / CMF(20)
46.3
/ +0.040
Donchian pos / break
0.68
vs SMA200
BELOW
n_bars1253
1h
SELL
1/6/10
RSI(14)
59.1
MACD hist
+0.1636
Bollinger %b
0.78
ADX(14)
11.8 RISING
ATR %
0.57%
MFI(14) / CMF(20)
59.1
/ -0.011
Donchian pos / break
0.87
vs SMA200
BELOW
n_bars1728
Cross-timeframe confluence
Confluence LONG (0-1)
0.00
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.20%
over next 24h on 1h bars
80% band
[-2.83%,
+3.32%]
n_bars = 1728 ·
sigma_1h = 0.0049
Direction vs 30d ensemble
AGREES
1h direction: LONG
· 30d direction: LONG
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.54
· threshold 0.60
Bias adjustment
meta-label NEUTRAL (p_take=0.54 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.90
z-score:
n/a (insufficient history)
30d IV vs 30d RV
IV 22.2% (Polygon)
RV 24.7%
(yang-zhang)
Provenance: source polygon_options:contracts_call;
expiry 2026-06-26 (31d)
· strike $175.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
11.6%
ROIC
-
FCF yield
-
Debt / EBITDA
-
Current ratio
1.02
Margins / valuation
Gross margin
20.2%
Operating margin
13.2%
Net margin
8.0%
P/E (TTM)
33.2
EV / EBITDA
17.8
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.150
Conviction
0.06013808314884568
Recommended playbook
cash
Suggested position size
0% (no Kelly)
no Kelly: bias=neutral; singleton-proxy: news_activity_z=-0.07 (nonzero=True), wf30d_dir_acc=0.6359516616314199 (>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.15 | bias = neutral | conviction = 0.06 | macro_regime = risk_on_growth | ensemble = +0.19%
Sensitivity (OFAT tornado ±1 sd) and stress scenarios
| Factor | Loading wi | Ticker z-value | +1 sd impact | -1 sd impact |
| value_score |
+0.0495 |
-0.747 |
+0.0495 |
-0.0495 |
| news_activity_score |
+0.0402 |
-0.074 |
+0.0402 |
-0.0402 |
| momentum_score |
+0.0286 |
+0.827 |
+0.0286 |
-0.0286 |
| revisions_score |
+0.0236 |
+1.125 |
+0.0236 |
-0.0236 |
| quality_score |
+0.0192 |
-0.343 |
+0.0192 |
-0.0192 |
| lowvol_score |
+0.0173 |
+0.135 |
+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.65% |
-4.20% |
| recession_risk_off |
Recession (momentum -1.5sd, lowvol +1sd, news -1sd) |
-6.03% |
-6.58% |
| quality_flight |
Quality flight (quality +1sd, revisions +1sd, momentum -0.5sd) |
+3.41% |
+2.86% |
Multi-source live sentiment (free real-time)
Composite z-score
-1.000
Active signals
2 of 3
Sources
stocktwits, iv_skew
StockTwits bull
15
StockTwits bear
0
StockTwits net
+1.00
Message volume
30
ApeWisdom mentions
0
24h change
+0
Reddit rank
-
25-delta IV skew
+1.7710
IV-skew read
bearish
Analyst critique
Agreement with model
agree_with_caveats
Confidence
0.4
PM one-liner
RTX Industrials: quant +0.19%/30d, disp +0.0022, 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 Industrials names) ranks this ticker in the 44th P/E percentile and 67th 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 (22.2% IV vs 24.7% RV, ratio 0.90x) -- no decisive vol-mispricing edge; delta-1 setup over options.
Critique flags
- {'type': 'model_uncertainty', 'severity': 'high', 'evidence': 'ensemble point +0.19% 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'}
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.44
passes falsification gate
.
Computed from 3 seed(s) across placebo kinds:
shuffled, gaussian_iid, garch.
Method: real directional accuracy = 56.2%;
max placebo accuracy = 50.4%;
AMG = +0.058.
Source: placebo_audit_v6_ar1_runner.
Provenance: arXiv 2604.15531 "Spurious Predictability in Financial ML" (Paper #3).
Catalysts in window (30d)
No catalysts within the forecast window.
Analyst narrative
Bull case
RTX ensemble forecast is +0.19% with 80% band [-6.57%, +7.48%] over 30 days. Positive drivers: revisions_score, momentum_score. 0 catalyst(s) in the window provide event-driven upside potential.
Bear case
Inter-method dispersion (+0.0022) 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.19% center against +0.0022 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