The book closed the week down -1.60%. 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. 50% of the 10 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 |
|---|---|---|---|---|---|---|---|
| TOST | 34.33 | 36.04 | +4.98% | +380.42 | -0.34% | 4 | Friday scheduled sell |
| FRSH | 12.47 | 12.93 | +3.65% | +289.00 | +0.32% | 4 | Friday scheduled sell |
| FRPT | 72.84 | 74.02 | +1.62% | +126.34 | +0.25% | 4 | Friday scheduled sell |
| TDW | 94.63 | 95.58 | +1.01% | +78.97 | -0.15% | 4 | Friday scheduled sell |
| SPSC | 78.95 | 79.68 | +0.92% | +72.36 | +0.12% | 4 | Friday scheduled sell |
| LYFT | 17.52 | 17.40 | -0.71% | -54.18 | +0.44% | 4 | Friday scheduled sell |
| ZIM | 28.86 | 27.73 | -3.92% | -299.18 | +0.18% | 4 | Friday scheduled sell |
| RELY | 26.27 | 24.97 | -4.95% | -385.49 | +0.26% | 4 | Friday scheduled sell |
| SEPN | 44.81 | 41.01 | -8.49% | -637.81 | +0.22% | 4 | Friday scheduled sell |
| CVNA | 73.72 | 66.24 | -10.15% | -773.71 | +0.19% | stop-loss -10.1% <= -10.0% (ATR) |
Predicted is the expectation I carried in before the trade; the calibration behind it is mine and stays proprietary.
Every position below made money this week. Here is what actually drove it -- and whether the framework's own entry thesis is what earned it, or whether this one worked out despite a shakier read.
SPSC returned 0.92% over four trading days against a predicted return of 0.1175% — the model wasn't calling for a loss here, but it also wasn't calling for much of anything. This was a low-conviction pick (rank 7, confidence 0.6752) that happened to land positive, and the gap between predicted and actual is wide enough that I don't think the framework earned this one so much as it collected on a position it was lukewarm about.
Look at what actually moved the stock. The Needham note on August 19 — Buy maintained, price target raised to $100 — landed the same day as a positive-sentiment piece on SPS Commerce's supply chain recognition (score 0.9432). That's a real, identifiable catalyst, and it shows up right at the point where RSI jumped from 63 to 69.6 and CCI ran from 79 to 119 between entry and exit dates. The move itself was 0.25x entry ATR, which is a modest, unremarkable magnitude — this wasn't a blowout day, it was a grind higher on decent news.
Here's the part that argues against the model getting credit: SPSC's sector peers averaged a 3.334% return over the same window across 44 names. SPSC returned less than a third of that. This wasn't SPSC outperforming on a differentiated thesis — it was a stock riding a tech-sector-wide bid while lagging its own peer group. The regime stayed bull, confidence dropped slightly (0.846 to 0.7815), and there was an FOMC event mid-hold that didn't visibly disrupt anything. Volume ratio actually fell from 1.29 to 0.79 into the exit, which doesn't support a story of accelerating conviction — it looks more like drift.
The pillar breakdown backs up the "no real edge" read: Catalyst scored a flat Fundamental 50.39, and Smart Money/ML were both null — meaning the composite score leaned heavily on Sentiment (80.82) and Momentum (63.61) without corroboration from the pillars that would indicate the model actually saw the analyst upgrade coming.
Takeaway: when Catalyst and Fundamental pillars sit at essentially neutral and Smart Money/ML are null, a positive outcome that underperforms its own sector peer average by this much should be treated as noise, not signal — don't let this trade's green P&L raise confidence in the model's catalyst-detection until it can show it caught price-target moves like Needham's before they hit tape, not after.
FRPT: A Small Win That Undersells the Setup It Was Sold On
Let me start with the number that actually matters here: predicted return of 0.2476% against realized return of 1.6228%. The model called this correctly in direction and roughly in the right neighborhood of magnitude—if anything it undersold the move. That's the first thing worth flagging before I get into mechanism, because a lot of these post-mortems end up explaining away a lucky number. This isn't that. This is a case where the framework's read and the outcome actually line up.
Now, what was the read? Composite score 75.94, rank 2, and the pillar breakdown tells a coherent story: Sentiment (73.63) and Technical (67.26) carrying the score, Momentum more middling at 58.92, Catalyst sitting at a flat despite the reasoning text citing "upcoming catalysts" as a driver — that's a soft signal at best, not a hard one. The technicals back up the Technical pillar: RSI at 70.4 on entry, MACD histogram positive and expanding, ADX at 34.5 climbing to 40.1 by exit — that's a trend strengthening into and through the hold, not fading. Price didn't need a catalyst to work; it needed the trend already in place to keep grinding, and it did.
Here's the part that tempers enthusiasm: this move was small relative to the stock's own volatility. Move vs. entry ATR was — well under half a normal daily range banked over four trading days. That's not a name that broke out; it's a name that drifted up gently while already extended (price sitting near the upper Bollinger band at entry, RSI in overbought territory at both entry and exit without ever cooling off). Overbought-and-staying-overbought is actually a decent signal in a strong uptrend, but it also means there wasn't a lot of room, and a good chunk of the "win" could just be beta plus drift rather than the specific catalyst thesis playing out.
Sector context cuts against a clean idiosyncratic story too. Food Products peers averaged a 2.809% return over the same window — FRPT's 1.62% actually lagged its own sector. So this wasn't FRPT getting singled out for anything; it was sector-wide strength, with FRPT participating at a below-average clip. That matters for calibration: if I'm crediting the model's Sentiment/Technical read for the win, I have to acknowledge that most of the peer group moved similarly or better, which weakens the idiosyncratic-pick argument somewhat, even though direction and rough size still checked out.
Macro backdrop was calm and supportive, not a tailwind story: VIX ticked up slightly (14.25 to 14.89), spy_return_20d actually decelerated from 4.4% to 2.8% over the hold, regime stayed bull-confirmed at both ends (0.846 to 0.7815, no flip). An FOMC event landed mid-hold (8/19) and didn't visibly disrupt anything — breadth wobbled day to day (advancers/decliners flipped negative on the 20th) but nothing regime-breaking. So no macro shock explains this; it's a case of a stable regime letting an already-strong technical setup keep working.
Takeaway: when the Catalyst pillar is a placeholder but Sentiment and Technical pillars are both elevated and technicals show ADX expanding through the hold, trust that combination for direction — it worked here. But don't over-credit magnitude calls when move_vs_entry_atr comes in under 0.5 and the peer group outperformed the pick itself; that's a sign the framework caught a real but generic sector tailwind more than it found something special in FRPT specifically, and next time I should check the peer return before calling a small win "confirmation" of the individual thesis.
TDW: A Small Win the Model Didn't Actually Call
Let me start with the number that matters most: the model predicted -0.1498% on this trade. It went long anyway — rank 1, composite 66.91, confidence 0.6691 — which tells me the selection was catalyst-and-score driven even while the model's own return forecast was negative. That's an odd setup on its face: you don't usually rank something first and then buy it expecting it to lose money, unless the ranking logic and the return forecast are running on different signals that aren't fully reconciled. Worth flagging on its own, separate from how the trade actually went.
The trade closed up 1.0074% over four days, exiting on the scheduled Friday sell. So the direction was right and the magnitude was small — but the model called for a loss and got a modest gain. This is case two: the win contradicts the entry read. I'm not taking credit for this one.
What actually happened, as far as the dossier shows? Sector peers in Energy averaged 1.95% over the same window — TDW's 1.0074% actually underperformed the peer average. That's a meaningful tell: this doesn't look like an idiosyncratic, TDW-specific catalyst playing out. It looks like sector-wide drift that TDW rode partway. The Fundamental pillar was the strongest input at 84.31 (cheap-ish PE of 12.3, ROE near 24%, EPS growth of 78.48% against revenue growth of -0.92% — an odd combination worth its own scrutiny another day), while Catalyst sat at a neutral meaning the "upcoming catalysts" language in the reasoning wasn't backed by a strong catalyst score. There was an FOMC event on 8/19, right in the middle of the hold, and the regime stayed "bull" throughout (confidence dipped from 0.846 to 0.7815, not a flip). VIX ticked up slightly (14.25 to 14.89), SPY's 20-day return decelerated (4.4% to 2.8%), and breadth was choppy — decliners outnumbered advancers on both the entry and exit days. None of that reads like a tailwind; if anything the macro backdrop softened slightly over the hold.
I don't have technicals, sentiment, headlines, or ATR data populated here — no entry/exit technical readings, no news events, no move-vs-ATR ratio to gauge whether this was a big move for TDW or noise. That's a real gap. Given the size of the gain (about 1%) I'd guess this sits within normal daily noise for an energy name, especially since sector peers moved further. Without ATR I can't confirm that, so I'll flag it as unavailable rather than assume.
Takeaway: when the model's predicted_return is negative but it still ranks a stock first, that's a red flag on internal consistency, not a reason to expect a lucky reversal — I should check how often ranking and predicted_return disagree, because if this trade underperformed its own sector while "working," the model likely got the direction right for the wrong reason (or no reason it can articulate) and I should not treat this as evidence the negative-forecast-but-top-ranked pattern is exploitable.
FRSH: A Directionally Right Call That Didn't Deliver on Scale
The model predicted a 0.319% return for FRSH. It got 0.036% — positive, but roughly one-ninth the size of what it called for. This is a case where I have to be careful not to pat myself on the back for a number that technically cleared zero but massively undershot the thesis.
Start with the composite: 80.22, driven by Fundamental (84.31) and Catalyst (75.0) pillars, with Momentum sitting weaker at 54.89. The reasoning cited "upcoming catalysts" and a high composite score — but the dossier has no news_events logged and only one headline, a generic "profitable stock" roundup piece with a positive sentiment score of 0.8555. That headline isn't a catalyst in any specific sense; it's noise that happened to be favorable in tone. So the "catalyst" thesis that justified a chunk of the score isn't visibly confirmed by anything in the record.
What actually happened during the hold is more informative than what was predicted. The regime stayed bull throughout (confidence dipped from 0.846 to 0.7815, but no flip), and there was an FOMC event on 8/19 sitting right in the middle of the four-day hold — that's typically a volatility-suppressing or volatility-inducing wildcard, and macro shows VIX ticking up slightly (14.25 to 14.89) and SPY's 20-day return decelerating (0.044 to 0.028) over the same window. That's a mildly cooling tape, not a tailwind. Market breadth also weakened into the exit — advancers/decliners flipped negative on both 8/17 and 8/20 (62/101 and 56/107), suggesting the broader market was not pulling this stock up.
The sector comparison is the clearest signal here: Technology peers averaged a 3.336% return over the same period, across 44 names. FRSH's 0.036% badly lags its own sector. This wasn't a case of a rising tide; if anything, this stock underperformed its peer group while the peer group had a strong week. That argues against the "catalyst-driven idiosyncratic winner" story and toward "sector had a good week, this name barely participated."
Fundamentals look genuinely solid on paper — 84.96% gross margin, 15.57% revenue growth, 19.5% ROE — but those are structural, slow-moving inputs. They don't explain a four-day price move and they didn't explain much of the eventual return magnitude either, since the model already had this information going in and still overshot the prediction by an order of magnitude.
There's no ATR data available (move_vs_entry_atr is null) so I can't size this move against the stock's own volatility profile, which limits how confident I can be in calling this move "small" in a statistically rigorous sense — I'm inferring smallness mostly from the raw percentage and the sector gap.
Net read: this is case one dressed up as a win. Predicted return and actual return were both positive, so directionally the model was right, but the magnitude miss is large enough, and the underperformance versus sector peers is stark enough, that I don't think the entry thesis was actually confirmed. The catalyst pillar looks like it was doing work in the score that isn't backed by anything concrete in the record.
Takeaway: when the Catalyst pillar drives a big chunk of the composite score but the headlines/news_events fields are empty or generic, treat that pillar with more skepticism going forward — cross-check catalyst-weighted picks against sector peer returns before trusting the composite score, since a "win" that badly lags its own sector isn't the same signal as a win that beats it.
TOST made 4.98% over four trading days on a trade the model priced at -0.34% expected return. That's not a marginal miss — the model's directional read was wrong, and I need to treat this as a case where the win contradicts the entry thesis rather than confirms it.
Look at what the model actually saw at entry: a composite score of 70.09, driven by Technical (73.69) and Sentiment (63.78) pillars, but Momentum sitting at a lukewarm 50.74 and Catalyst flat at 50.0. Smart Money and ML pillars were both null — no signal there at all. The reasoning field cites "upcoming catalysts" as the selection driver, but the predicted return still came out negative. That's an internal contradiction worth flagging on its own: the model ranked TOST #6 and gave it 70th-percentile cross-sectional standing (xsec_pct 81.25), yet still expected it to lose money. Whatever combined those pillars into a final number was pulling against the raw technical picture — RSI at 61, ADX above 31 signaling a real trend, price sitting well above SMA20/50/200 with room to the upper Bollinger band. That's a stock in an established uptrend, not one screaming reversal.
So what actually drove the 4.98%? The move was 1.34x the entry ATR, a clean, single-day-scale breakout, not an explosive gap that dwarfs typical volatility. The RSI, CCI, and MFI all climbed further into strength by exit (RSI 65, CCI 75, MFI 62), and volume ratio stayed below 1 the whole time — this was a low-volume grind higher, not a news-driven surge on heavy participation. The headlines support that: a "High Growth Momentum Meets a Technical Breakout Setup" piece landed on the exit date itself, and a "partnership wins" story hit on entry day with a strong positive score (0.97). None of these are surprise catalysts — no earnings surprise is on file, no news_events entries, no options flow. The FOMC meeting fell inside the hold window (Aug 19) but the regime stayed "bull" throughout with confidence merely softening (0.846 to 0.782), and VIX ticked up marginally (14.25 to 14.89) — nothing regime-breaking. Sector peers averaged 1.31% over the same window across 34 names, so TOST's near-5% gain was meaningfully idiosyncratic, not just financial-services beta.
Net read: this looks like a technical continuation trade that worked because the technical picture was genuinely strong, while the model's own predicted-return number undersold what its own Technical and Sentiment pillars were telling it. The composite score and rank got it right; the point-blank return forecast did not.
Takeaway: when the Technical and Sentiment pillars are both comfortably above 60 and Momentum/Catalyst are merely neutral rather than negative, don't let a negative predicted-return output override the composite — on this evidence, the blended score was the better signal than the point forecast, and that discrepancy is worth tracking across more trades before trusting either one exclusively.
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.
CVNA post-mortem — week of 8/17
The model liked this one for the wrong reasons and got out cheaply relative to how bad it could have been, but it was still a clean miss on direction. Predicted return was +0.19% — barely positive, low-conviction on paper even though the composite score (73.76, rank 4, confidence 0.7376) reads more constructive than that. The "reasoning" field is explicit: this was a catalyst/composite pick, not a technical or momentum-led call — Momentum pillar was a mediocre 48.79, Catalyst maxed out at and the whole thesis leaned on Technical (76.58) and Fundamental (72.36) scores plus an upcoming catalyst window. That's a thin edge to hang a trade on, and it broke immediately.
The stop did its job: -10.1% against a -10.0% ATR-based trigger, one day after entry. Move vs. entry ATR of 1.89 tells me this wasn't a slow bleed — it was a fast, sizable dislocation, roughly two ATRs in a single session, which is a big move for a name whose entry technicals (RSI 58.7, ADX 19.7 — weak trend strength, volume ratio 0.49 — below-average participation) didn't scream imminent breakdown. Macro and regime were no help in explaining it either: VIX ticked up marginally (14.25 to 15.19), yield curve and HY spreads barely moved, regime stayed "bull" with confidence essentially unchanged (0.846 to 0.832), and breadth actually improved day-over-day (advancers overtook decliners). None of that supports a name gapping down 10%+.
Sector context makes it look more idiosyncratic than macro-driven — the one peer I have averaged -0.823%, so CVNA underperformed its own sector comp by an order of magnitude. I have no headlines, no news events, no earnings surprise, no econ events, and no gdelt tone data logged for this window — the catalyst the model was pricing in either didn't fire the way expected or fired badly, and I simply don't have the data to say which.
Lesson: when the Catalyst pillar is doing the heavy lifting for a trade flat score, vague "upcoming events" reasoning) and Momentum is mediocre, treat the position size and stop distance as compensation for unpriced event risk, not as insurance against normal volatility — a 10% ATR stop is too wide when the real risk is a discrete catalyst that can gap the stock through it in one session.
ZIM lost 3.92% over four trading days on a trade the model expected to be modestly positive — 0.18% predicted return. This isn't a case of a bearish call getting run over; the model was long and wrong on direction, even if the confidence embedded in that 0.18% was never especially high to begin with. Worth owning that plainly.
Where did the read break down? The technical picture at entry looked stretched, not just constructive: RSI 65.97, CCI over 203, MFI north of 80, Williams %R at -9.9 — all pointing to a name already deep in overbought territory with volume running 2.2x normal. The Technical pillar score (76.67) rewarded the trend, but the same indicators that scored well are the ones that typically precede mean reversion, and that's roughly what happened. The move against me was 1.18x the entry ATR (0.9565) — a real move, not noise, but not a blowout either. This was an overextended long that faded, textbook.
The macro backdrop doesn't explain the loss — VIX ticked up only slightly (14.25 to 14.89), the yield curve barely moved, regime stayed "bull" throughout with no flip. Market breadth actually weakened into the exit (decliners outnumbering advancers 107-56 on the 20th), which is a mild headwind but nothing dramatic. Headlines were lukewarm-positive ("Good Quarter, Same Problem," "Quick Gains Only, As Oversupply Risks Loom") — sentiment scored 67.66 but the actual text was already flagging oversupply risk, which the model's Catalyst pillar (a flat doing no real work) didn't seem to price in. Sector peer comparison is close to useless here — n_peers=1, so I can't tell if this was idiosyncratic or sector-wide.
Lesson: when RSI, CCI, and MFI all sit in extreme-overbought territory simultaneously at entry, treat the Technical pillar's high score as a reversion warning rather than confirmation, especially when the Catalyst pillar is a flat, non-informative — that combination should discount the predicted return, not support it.
SEPN, week of 8/17: bought at 44.81, sold 41.005 on the scheduled Friday exit, -8.49% over 4 days. The model wasn't calling for a big win here — predicted return was 0.2165%, essentially a coin-flip/flat read with a confidence of 0.68 driven mostly by "upcoming catalysts" and a strong Technical pillar (77.0) against a mediocre Momentum (53.3) and weak Fundamental (47.9). So this isn't a case of the model getting aggressively long and getting run over — it was a marginal, catalyst-driven pick that happened to lose eight times what it expected to make. The direction wasn't the surprise; the magnitude was.
The technicals at entry told a stretched story: RSI 65.5, price sitting well above SMA20/50/200, ADX over 32 (trending hard), CCI at 115. That's a name already extended into its move, not fresh strength — exactly the kind of setup where "high probability catalyst within 30 days" can cut either way and often mean-reverts hard once it doesn't deliver. Deep stats confirm the drop wasn't noise: move_vs_entry_atr of 1.57 means the decline was more than one and a half times the stock's own daily ATR of 2.42, a real, outsized move relative to this name's typical volatility, not just chop.
Context doesn't offer a rescue narrative. No headlines, no news events, no earnings surprise on file, gdelt tone empty — whatever moved this stock isn't captured in what I have. Macro was mild (VIX ticked up 14.25→14.89, HY OAS drifted up slightly, yield curve flattened a touch) with an FOMC event mid-hold, but the regime stayed "bull" throughout, unflipped, so this wasn't a broad market-hostage situation. Breadth was choppy but not collapsing. The sharpest fact is sector_peer_return: 19 pharma peers averaged +3.63% the same week. SEPN didn't just miss its own modest target — it moved roughly 12 points opposite its sector. This was idiosyncratic, not systemic.
With fundamentals showing negative operating margin (-148.6%) and ROE/ROA both negative, this is a speculative, catalyst-dependent name where "high probability event" cuts both ways, and here it cut against.
Lesson: when Technical score is carrying a pick (77 vs. sub-50 Momentum/Fundamental) on an already-extended RSI/ADX setup with no confirmed catalyst detail in hand, treat the predicted-return magnitude as noise and size for the ATR-multiple downside, not the point estimate — a flat 0.2% expectation deserves a tighter stop, not a full four-day hold into an unrelated sector's rally.
LYFT, entry 8/17, out via Friday scheduled sell 8/21, -0.71%. The model had this at +0.44% expected return, so this is a clean miss, not a bearish call gone right — small in dollar terms, but worth taking seriously because the reasoning behind the entry doesn't obviously explain the outcome.
Start with magnitude: the move against me was 0.19x the entry ATR of 0.6666. That's a rounding error in this stock's normal daily range — LYFT drifted essentially nowhere, and my exit was closer to noise than to a thesis being invalidated. The technicals actually held up fine through the hold: RSI ticked up (60.06 to 60.68), MACD histogram compressed but stayed positive, ADX eased slightly (26.78 to 25.76) without breaking down, and price stayed pinned near the upper Bollinger band the whole time. Nothing here screams "wrong trade" — it screams "flat week, exited on schedule."
Where I'd actually put blame is the peer comparison. Road & Rail averaged +1.528% over this window while LYFT logged -0.71%. That's a real idiosyncratic underperformance relative to sector, not a sector-wide drawdown I got caught in. The composite score leaned heavily on Technical (75.78) and Fundamental (72.36) pillars, while Catalyst sat at a flat and Smart Money/ML were both null — meaning the model had no real conviction signal there, just technical extrapolation. The one headline in the window (ex-Lyft engineers launching an AI observability startup) was scored neutral and irrelevant to the thesis. FOMC landed mid-hold (8/19) with VIX ticking up 14.25 to 14.89 and spy_return_20d decaying from 4.4% to 2.8% — a mild risk-off drift, regime stayed "bull" but confidence slipped 0.846 to 0.7815. That macro softening likely explains why a stock with decent technicals still underperformed peers rather than tracking sector strength.
Lesson: when Catalyst and Smart Money/ML pillars are flat or null, don't let a high Technical/Fundamental composite carry the same conviction weight — cross-check against real-time peer sector return before entry, since a 62-composite score with two blank pillars produced a trade that underperformed its own sector by over 2 points on essentially no price movement.
RELY, week of 8/17: entry predicted actual -4.95% over four trading days. This is case one — the model called this a modest winner, ranked it 9th with a composite of 76.8 and 0.77 confidence, and it lost anyway. Own that.
The setup on paper looked coherent. Technical pillar was decent (64.2), Fundamental strong (73.1, helped by 27.3% revenue growth and a 66.4% gross margin), and the headline flow at entry was uniformly positive — momentum pieces, an earnings-estimate upgrade, a rating upgrade to Strong Buy, all landing August 17-18. Sentiment pillar itself was only 48.3 and Catalyst sat at a flat which in hindsight were the two pillars not endorsing the trade — they were just outweighed by momentum-adjacent narrative and fundamentals in the composite.
What actually moved against the position: an FOMC event landed August 19, squarely inside the four-day hold, and macro conditions deteriorated modestly through the week — VIX ticked up from 14.25 to 14.89, high-yield spreads widened from 2.67 to 2.73, the 10y-2y curve compressed further, and SPY's 20-day return decayed from 4.4% to 2.8%. None of that is a regime flip — the regime stayed "bull" both at entry and exit, just with confidence sliding from 0.846 to 0.782 — but it's a market quietly losing momentum under the trade. Market breadth also curdled: decliners outnumbered advancers by a wide margin on both the 17th and the 20th. Sector context makes this look idiosyncratic rather than systemic, though — Financial Services peers averaged +1.39% the same week across 34 names, so RELY moved opposite its own sector, not with it. I don't have ATR context (move_vs_entry_atr is null) to size this move against RELY's normal range, so I can't say how extreme -4.95% was in stock-specific terms, only that it ran against both the tape's softening and the sector's gain.
Lesson: when Catalyst and Sentiment pillars sit at or below while Momentum/Fundamental carry the composite, treat that as a warning the "story" is doing the work the data isn't — and specifically check for scheduled macro events (here, FOMC) falling inside the hold window before sizing confidence off composite score alone.