The book closed the week down -5.33%. I would rather own that plainly than explain it away; the question I ask is whether the loss came from the process behaving or misbehaving. 0% of the 8 names worked; I care more about whether the winners were big enough to pay for the losers than about the hit rate alone. Either way, the realised dispersion feeds straight back into next week’s priors.
| Ticker | Buy | Sell | Return | P&L $ | Predicted | Days | Exit reason |
|---|---|---|---|---|---|---|---|
| NTSK | 18.14 | 18.07 | -0.36% | -27.27 | -0.30% | 4 | Friday scheduled sell |
| SPCX | 152.44 | 146.47 | -3.92% | -296.36 | +2.40% | 4 | Friday scheduled sell |
| TNK | 99.10 | 94.22 | -4.92% | -373.60 | +0.50% | 4 | Friday scheduled sell |
| GRDN | 43.99 | 41.65 | -5.33% | -405.48 | -0.56% | 4 | Friday scheduled sell |
| BGC | 12.43 | 11.73 | -5.59% | -423.77 | +1.28% | 4 | Friday scheduled sell |
| PURR | 13.73 | 12.90 | -6.05% | -457.55 | +0.73% | 4 | Friday scheduled sell |
| RBLX | 51.28 | 47.16 | -8.03% | -610.99 | -1.14% | 4 | Friday scheduled sell |
| INSW | 108.73 | 99.52 | -8.47% | -643.98 | +1.08% | stop-loss -8.5% <= -7.1% (ATR) |
Predicted is the expectation I carried in before the trade; the calibration behind it is mine and stays proprietary.
Every position below lost money this week. I owe a real explanation for each one -- whether it was a call I got wrong or a bearish read that played out as expected -- not a table cell.
SPCX cost me 3.9% this week, and this one falls squarely in the "expected to work, didn't" bucket — the model had this at +2.4% predicted return with a 0.53 composite score, ranked 10th, selected mainly on catalyst probability and a strong Technical pillar (71.5) despite a mediocre Momentum read (44.97) and a Fundamental score that was never going to inspire confidence (45.72). The entry technicals actually looked fine in isolation: RSI 57, MACD positive and rising, ADX near 25 suggesting a real trend, price sitting comfortably between the 20 and 50-day SMAs. None of that was the problem.
The problem is the stock didn't lack for bullish news — it drowned in it. Three CRITICAL-magnitude, BULLISH-tagged M&A events fired during the hold, all Tesla-SpaceX merger speculation, plus a run of positive headlines about Musk's timeline and sector tailwinds from Rocket Lab. And the stock still closed down nearly 4%. That's the real story: this was a "sell the rumor" or exhaustion pattern, not a catalyst miss. Move relative to entry ATR was 0.81 — a meaningful but not extreme move, well within a single ATR, so the drawdown wasn't a dislocation, it was a normal-sized fade against a stack of good news. Sector peers averaged -0.378% over the same window, so most of this was idiosyncratic to SPCX, not a broad telecom rotation. Macro was quiet — VIX actually ticked down from 14.81 to 14.21, regime stayed neutral and didn't flip — so there's no macro scapegoat here either. Market breadth did weaken through the week (advancers fell from 103 to 69, decliners rose from 60 to 93), which at least supports a softening tape into Friday's scheduled exit, but that's a mild tailwind for the loss, not an explanation for missing +2.4% by over 6 points.
Lesson: when CRITICAL merger-speculation headlines cluster this densely right after entry, treat it as a sell-the-news risk flag rather than a catalyst confirmation — the framework should discount Catalyst-pillar conviction when the news volume itself looks saturated, not just present.
RBLX: -8.03% over four trading days, against a model that already flagged this one negative going in.
Let me start with the number that matters most: predicted return was -1.14%, actual was -8.03%. This isn't a case where the framework got fooled — it called the direction correctly. The composite score was weak (38.1/100), confidence was low (0.3814), and the pillar breakdown shows why: Fundamental sat at 35.42, and the underlying fundamentals justify that skepticism — negative operating margin (-25.2%), ROE of -288.77%, a PS ratio near 7x on a company posting those margins. Smart Money and ML pillars were null, meaning the model was flying without two of its usual inputs, which should lower conviction in either direction. So the setup was: modest bearish lean, low confidence, thin data. What it delivered was a much sharper drawdown than the lean implied.
The magnitude is the real story. Move vs entry ATR was 1.75 — the stock traveled almost twice its own daily volatility range within the four-day hold, which is a real move, not noise. Sector peers averaged -0.772% over the same window, so RBLX underperforming its Media peers by roughly 7 points tells me this was mostly idiosyncratic, not a sector-wide rotation. Market breadth also deteriorated through the hold (advancers fell from 103 to 69, decliners rose from 60 to 93), so the tape was leaning negative broadly, but not enough to explain a move this size on its own. Headlines were mixed-to-positive (Needham price target raise, JPMorgan noting engagement strength, an AI-platform bull case), which makes the sell-off look more technical/momentum-driven than news-driven — RSI cooled from 68.4 to 60, Williams %R collapsed from -2.2 to -28.6, volume ratio jumped to 1.47 on the way down, suggesting a crowded long position getting unwound into the Friday exit.
Lesson: when confidence is already low and two pillars (Smart Money, ML) are null, treat the predicted return as a directional flag only, not a magnitude estimate — size positions smaller on these low-confidence, data-incomplete picks rather than assuming a -1% call caps the downside.
BGC — Post-Mortem, week of 2026-09-21
The model called for +1.28% expected return on this one, ranked it 7th, gave it a composite of 52.1 — not a high-conviction name, but selected on the strength of upcoming catalysts and a sentiment pillar reading 82.71. Momentum was already the weak link at 40.99 before entry, and that's the pillar that should have gotten more weight. Instead I got -5.59% over four days, exiting via the scheduled Friday sell with no discretionary override.
The technical picture at entry was already flashing overextension, not opportunity. RSI at 62.8, CCI at 194 (deep into overbought territory), Williams %R at -3.9 — these are not "buy here" numbers, they're "this already ran" numbers. ADX was a limp 11.5, meaning whatever trend existed had no real strength behind it, and the MACD histogram was already negative, a small but real signal the momentum was rolling over right as I bought. Volume ratio near 2x on entry day suggests I bought into a spike, not a base.
The move itself measured out to 2.0x the stock's own 14-day ATR — a real, sized move relative to BGC's normal noise, not a rounding error. Sector context matters here too: peers in Financial Services averaged -0.72% over the same window, so the sector was soft, but BGC's -5.59% is nearly 8x that peer average. This wasn't sector drag — it was idiosyncratic and concentrated in the name. Market breadth also deteriorated across the hold, advancers-to-decliners flipping negative by the 23rd and staying there, even as the regime classification stayed "neutral" throughout and never technically flipped. So the macro backdrop drifted bearish under the surface without tripping any regime alarm.
Headlines on file were sector-adjacent (JPM, HSBC) and both scored positive — irrelevant noise, not a driver, and definitely not an explanation for the drop.
Lesson: when Momentum sits below 45 while Sentiment sits above 80 and CCI is already deep overbought at entry, that pillar divergence is itself the signal to downsize or skip, regardless of composite rank — I should backtest whether trades with this specific Momentum/Sentiment gap greater than 35 points systematically underperform their predicted return, and if so, treat it as a hard filter rather than a footnote.
TNK, week of 9/21: bought at 99.10, sold at 94.22 on the Friday scheduled exit, down 4.9% over four trading days. The model expected a modest gain — 0.50% predicted return, confidence 0.64 — so this is a case where the read was wrong, not one where the loss was scripted in.
Going back to the entry technicals, the setup was already stretched: RSI 73.8, CCI north of 224, Williams %R pinned at 0, volume ratio 2x normal. That's not a quiet accumulation pattern — that's a name that had already run hard into the buy, sitting above its upper Bollinger band with price roughly 9% above the 20-day SMA. The Technical pillar score of 73.2 was clearly reading momentum strength, but momentum this extended usually needs a fresh catalyst to keep extending, and the Catalyst pillar came in flat at — no real conviction there. Fundamentals didn't help the case either: negative EPS growth (-13.2%) and revenue growth (-22.6%) sitting underneath a technically overbought stock is a mismatch the composite score (64.17) didn't fully price.
The move itself was 1.68x the entry ATR (2.905), so this wasn't noise — it was a genuine trend reversal, not a stop-out on chop. Sector context makes it worse: Energy peers averaged +2.8% over the same window, so this was idiosyncratic to TNK, not a sector rotation dragging everything down. Market breadth also weakened through the hold (advancers fell from 103 to 69, decliners rose from 60 to 93), and the regime stayed "neutral" throughout — no flip, so the broader macro backdrop isn't the story either. I have no headlines, no news events, no earnings surprise on file, so I can't point to a specific trigger; this looks like a mean-reversion snap-back from an overbought extreme that the model's momentum/technical weighting missed.
Lesson: when Technical and Momentum pillars are both elevated but Catalyst is flat and Fundamental is weak, treat the composite score as overstating durability — extended RSI/CCI readings without a real catalyst are reversion risk, not continuation signal, and should get downweighted rather than selected on strength alone.
PURR post-mortem: -6.0% vs. a model that expected +0.73%
This is a clean miss, not a case of a bearish call playing out. The model had PURR ranked #3 with a composite of 54.9 and a predicted return of +0.73% over the hold. It landed at -6.05%. The read was wrong, and I want to know why rather than wave it off as noise.
Start with what the model liked. Technical pillar was 80.12 — the highest of any pillar by a wide margin — driven by RSI at 68.8, ADX at 42.6 (a strong trend read), CCI at 240.9, and Williams %R at -9.8, all screaming overbought-but-trending. That's the classic setup where momentum continuation gets rewarded — except this time it didn't. Fundamental pillar was weak at 36.97, and PS ratio of 354x is absurd on its face, though I'll flag that most of the profitability fundamentals (margins, ROE, growth) are null, so the fundamental score was built on thin data. Smart Money and ML pillars are both null too — meaning this call leaned entirely on Technical, Momentum (54.07), Catalyst and Sentiment (61.95), with zero cross-check from flow or ML signal. That's a structural weakness in the conviction, not just bad luck.
The move itself was 0.72x the entry ATR of 1.15 — a real but not extreme move relative to the stock's own volatility. This wasn't a blowup, it was a grind lower that ate the position steadily.
Sector context makes it worse: Biotechnology peers averaged +2.7% over the same window (27 names). PURR underperformed its own sector by nearly 9 points. This was idiosyncratic, not sector-wide drag — market breadth was also weakening into the exit (decliners outpaced advancers 92-71 and 93-69 on the last two days), so the tape context was soft, but that alone doesn't explain a single-name underperformance this large against peers that were up. No headlines, no news events, no earnings surprise, no options flow data logged — the dossier is empty on catalysts, so I can't point to a specific triggering event. Regime stayed neutral throughout, didn't flip.
Lesson: when Technical pillar carries a score 25+ points above every other populated pillar and Smart Money/ML are both null, that's a single-signal bet dressed up as a composite score — going forward, downweight or flag conviction on setups where cross-validation from flow/ML is simply absent rather than neutral.
INSW cost me 8.47% in two trading days, stopped out on the ATR-based rule at -8.5% against a -7.1% threshold. The model had this as a buy at 1.08% expected return, ranked 6, composite score 73, confidence 0.73 — not a huge conviction call, but a clear positive-return bet. This is case one: I expected the trade to work and it didn't, so let me own that squarely.
Looking at what the model leaned on, the pillars were unremarkable across the board — Momentum 56.65, Technical 64.61, Sentiment 54.31, Catalyst 50.0. Nothing screamed strong directional edge; the reasoning field just cites "upcoming catalysts" and the composite score itself, which is thin justification for a position that ended up needing a 7.1% ATR stop to contain the damage. Smart Money and ML pillars are both null, meaning two potentially important signals simply weren't available for this name — that's a real gap in the diligence, not a null I should treat as neutral.
The macro backdrop was calm — VIX actually fell from 14.81 to 14.21, hy_oas held flat at 2.68, and the regime stayed "neutral" through the hold with no flip. So this wasn't a market-wide risk-off event dragging INSW down. Sector peers were down too — Energy averaged -0.58% over the same window — but INSW's -8.47% loss is more than 14x the peer average, which tells me this was overwhelmingly idiosyncratic, not sector rotation. Market breadth also weakened over the hold (advancers/decliners flipped from 103/60 to 71/92 by exit day), a mild headwind but nowhere near enough to explain a move this size. Headlines, news_events, and econ_events are all empty in my file — I don't have a catalyst to point to, and I won't invent one.
Lesson: when Smart Money and ML pillars are both null and the qualitative reasoning reduces to "catalyst score plus composite 73," that's a confidence score built on incomplete inputs — I should discount position sizing or conviction rank when two of seven pillars are missing, regardless of how solid the composite looks on paper.
NTSK is case two: the model called for a -0.2993% expected return going in, and the trade closed at -0.36%, so the direction was right and the magnitude was actually close to the forecast — if anything the loss came in slightly larger than the model's own read, but not by much. This isn't a case where the framework whiffed; it's a case where a mildly bearish call played out roughly as advertised.
What's interesting is the disconnect between the news flow and the score. The headlines into this trade were mostly positive — the Skylight Agent Action Control rollout, an "AI agent security gap" piece, eight analysts raising targets — yet the score that fed the composite (69.06, xsec_pct 96.25) still produced a negative predicted return. The one negative headline in the set, flagging that "the cash burn is real," lines up with what's sitting in the fundamentals: operating margin at -92%, ROA at -53%, free cash flow at zero, PB north of 28x and PS near 8.5x. That's a story of a richly-priced, cash-burning name where good product news doesn't offset the balance sheet reality, and the "fully priced after its 38% jump" headline from the same week is basically the market saying the same thing the model's pillars were already pricing in.
Context-wise, there's nothing external doing the work here. Regime stayed neutral entry to exit, VIX actually ticked down (14.81 to 14.21), no flip in market conditions. Sector peers averaged +0.97% over the same window while NTSK sat at -0.36%, so this was idiosyncratic to the name, not a sector-wide drag — consistent with a stock working through post-pop indigestion rather than getting swept by macro. I don't have ATR-normalized move data (deep_stats move_vs_entry_atr is null), so I can't say how stretched this was relative to its own volatility, which limits how confident I can be about the size of the move versus noise.
Lesson: when the composite score is high (69+) but predicted_return is still negative, trust the sign over the score — the framework is already netting out sentiment-driven pillars against valuation/cash-burn red flags, and this trade is a data point that the negative call, even a small one, held up against a wave of surface-level positive headlines.
GRDN, -5.33% over four sessions, sold on the Friday scheduled exit. First thing to check: did the model call this wrong or did it call it right? Predicted return was -0.5634%, negative going in. So this is case two — the framework was bearish on GRDN and the market delivered a bigger bearish move than expected. Not a surprise, but the magnitude is the story.
The composite score was 55.5, driven mostly by Technical (67.92) and Fundamental (73.83), with Momentum a middling 58.66 and Catalyst/Sentiment both parked at neutral 50. That's a decent-looking scorecard for a stock the model still expected to lose money on — the reasoning text even flags "upcoming catalysts" as the selection driver, not conviction in direction. So this was a name selected for event exposure with a soft-negative return forecast attached, not a high-confidence short thesis. Confidence sat at 0.5554, essentially a coin flip with a slight lean.
The actual loss (-5.33%) is roughly 10x the predicted magnitude (-0.56%), and in ATR terms the move was 1.55x the entry-day ATR of 1.5096 — a real, not noise-level, move for this name. That's the part worth sitting with: direction was right, size was way off.
Context doesn't explain much of it. VIX actually fell slightly (14.81 to 14.21) over the hold, regime stayed "neutral" throughout with no flip, and the lone headline — Truist maintaining a Buy with a $51 price target — was positive, not a reason to sell. Sector peers averaged +1.28% over the same window across 24 Health Care names, so this was idiosyncratic, not a sector-wide bleed. Market breadth did deteriorate late week (advancers fell from 103 to 69, decliners rose from 60 to 93 by exit day), which fits a broader soft patch but isn't sized to justify a name-specific 5%+ drop.
Lesson: when Catalyst and Sentiment pillars sit at flat with no real headline flow, treat any predicted-return magnitude from this setup as low-confidence on size even if direction is right — cap position sizing or use a tighter stop until the realized-move-to-ATR ratio for "catalyst-selected, low-conviction" trades like this is tracked separately from high-conviction ones.