The book closed the week down -3.71%. 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. 33% of the 9 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 |
|---|---|---|---|---|---|---|---|
| AVAH | 13.59 | 14.04 | +3.31% | +257.49 | +0.85% | 4 | Friday scheduled sell |
| CMBT | 18.59 | 19.17 | +3.10% | +237.38 | -0.40% | runner recycled: pnl +3.1% (peak +5.3%, giveback 2.2%, age 9d/216h) | |
| SBLK | 31.07 | 31.12 | +0.17% | +13.53 | +0.67% | 4 | Friday scheduled sell |
| WT | 25.07 | 24.11 | -3.85% | -297.00 | +0.38% | 4 | Friday scheduled sell |
| INSW | 0.00 | 92.13 | -5.44% | -422.09 | -0.21% | -31 | Broker-side exit filled mid-week (reconciled) |
| TRLV | 12.14 | 11.46 | -5.60% | -437.34 | +0.60% | 4 | Friday scheduled sell |
| EL | 103.23 | 96.60 | -6.42% | -500.07 | +0.68% | 4 | Friday scheduled sell |
| CPRT | 33.23 | 30.66 | -7.72% | -600.99 | +0.88% | stop-loss -7.7% <= -7.7% (ATR) | |
| ELF | 109.05 | 97.12 | -10.94% | -849.03 | +0.25% | stop-loss -10.9% <= -9.1% (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.
AVAH: A Directionally Right Call That Undershot Its Own Number
The model called for an 0.8475% expected return on AVAH. It delivered 3.3054% — nearly 4x the predicted magnitude. That's not a case of a bad thesis getting bailed out; the direction was correct and the trade beat its own forecast. But the size of the overshoot means I want to understand what did the work, because "right and bigger than expected" invites the question of whether the framework earned the extra alpha or just caught a tailwind it didn't model.
Start with the entry reasoning: the pillar scores lean heavily on Catalyst (80.0) and Fundamental (75.39), with Momentum decent at 61.24 and Sentiment a flat, uninformative 50.0. The stated reasoning cites "upcoming catalysts" and a 98.75 cross-sectional percentile — so the model thought AVAH was statistically one of the strongest names in its universe that week, even though the composite score (50.85) and predicted return were both modest. That's an internally consistent setup: strong catalyst/fundamental read, weak conviction on magnitude.
The technicals at entry show RSI at 70.46 and ADX at 32.79 — a stock already trending hard and arguably extended, with volume_ratio under 1 (0.659) meaning the move wasn't being confirmed by heavy participation. By exit, RSI barely moved (70.81), ADX ticked up to 33.03, and volume ratio stayed subdued (0.635). This is a trade that continued grinding higher on the same trend structure it entered with — no breakout, no volume spike, just continuation. The move_vs_entry_atr of 0.82 tells me the price move was under one ATR, which is a normal, unremarkable stretch for this name, not an outsized dislocation. That matters: the 3.3% return looks large in percentage terms but isn't abnormal relative to AVAH's own volatility (ATR ~0.55 on a ~$13.6 stock is roughly 4% of price already).
Sector context cuts against a clean "the model called it" story. Health Care peers averaged 1.262% over the same window with 23 names sampled — AVAH's 3.3% run beat the sector average by better than 2x, so this wasn't just sector-wide drift lifting the stock. That's a point in favor of the catalyst/fundamental thesis being idiosyncratic and real, not a rising tide. Fundamentals back this up loosely — revenue growth of 19.52%, ROE at 149.76, PE of 13.17 — a name with genuine earnings quality that could justify sustained buying independent of the broader sector's mood.
Macro and regime were non-factors: regime stayed "neutral" through the hold with no flip, VIX ticked up modestly (14.32 to 16.46), and SPY's 20-day return was slightly negative (-1.19%) at exit — mild broad-market softness, not something that should have punished AVAH given it still cleared to a positive, above-sector return. The CPI print on 9/11 landed on exit day and didn't visibly disrupt anything. Headlines were sparse and generic (three low-conviction positive pieces, none specific to AVAH's business), so there's no identifiable single news catalyst driving the outperformance beyond what the model already priced into its Catalyst pillar going in.
Net: this reads as a correctly identified idiosyncratic setup — strong catalyst score, real fundamentals, sector-beating return, no regime flip to help or hurt — where the model got the direction and relative strength right but meaningfully underestimated the magnitude. The move itself wasn't extreme relative to the stock's own ATR, so I'm not calling this luck; I'm calling it a conviction-sizing problem, not a diagnosis problem.
Takeaway: when Catalyst and Fundamental pillars both score above 75 but the composite/predicted-return stays muted because Sentiment and Smart Money are flat or null, treat the predicted return as a floor, not a ceiling — the calibration between pillar strength and predicted magnitude needs recalibration on this pattern before trusting the number itself.
SBLK, entry Sept 7, exit Sept 11 via scheduled Friday sell: +0.17%. Before doing anything else, let's be honest about scale. The model's predicted return was 0.673% — call it two-thirds of a point of expected edge. The actual return was 0.0017, or 0.17%. That's not confirmation of the thesis, it's a trade that drifted to a barely-positive number about a quarter the size of what was projected. This is closer to "didn't lose" than "worked."
Look at what was actually behind the 55.02 composite score. Sentiment (76.69) and Technical (65.72) were doing the heavy lifting; Momentum and Catalyst sat at a flat essentially neutral, and Smart Money/ML were null — no confirmation from those channels at all. The reasoning field cites "upcoming catalysts" as the selection driver, but there's no earnings surprise, no news_events, and the one headline on file — the Greek equity offering announcement on Sept 8 — is nominally scored positive (0.873) but is exactly the kind of news that just as often pressures a stock, since it signals share dilution. If anything, that headline should have been a mild drag, not a tailwind, and the fact the stock still closed the week up a few cents suggests whatever the market cared about that week wasn't primarily this offering news.
The sector context actually argues against skill here. Marine peer return for the week was -2.03%, while SBLK squeaked out +0.17% — this was an idiosyncratic move against its own sector, not a sector-wide tailwind the model correctly rode. Market breadth was also deteriorating over the hold (pct_above_sma50 dropped from 59.4 to 51.88, decliners outpacing advancers each day), and VIX ticked up from 14.32 to 16.46 while SPY's 20-day return went negative by the exit. None of that macro backdrop supports a long thesis; the trade won in spite of a softening tape, not because of a confirmed setup. Regime stayed "neutral" throughout with no flip, so there's no regime-timing story either. I don't have entry/exit technicals or ATR data to check how far this move ran relative to the stock's normal range, so I can't even confirm this was a real momentum push versus noise inside the daily bid-ask.
Takeaway: be skeptical of composite scores built mostly on Sentiment and Technical pillars when Momentum and Catalyst are sitting at neutral — this is what a weak-conviction pick with a small predicted return looks like, and the fact it landed positive against a negative peer-sector move and softening breadth is closer to variance than validation. Don't credit the model's catalyst reasoning here; there was no confirmed catalyst that lines up with the direction of the move.
CMBT, +3.1% — a win the model didn't call
Start with the entry read, because it matters: the model's predicted return on this trade was -0.402%. It selected CMBT anyway, at rank 4 with a composite of 64.65, on the strength of "upcoming catalysts" and a technical pillar reading 71.94 — but the predicted return itself was negative. This isn't a case where the framework nailed a thesis and the tape confirmed it. The framework put this on expecting a small loss, or at best expected the catalyst/technical setup to offset a negative return signal, and got overruled by the market.
What actually happened looks more like noise than vindication. The position peaked at +5.3% before giving back 2.2% and getting recycled out at +3.1% — the exit reason itself, "runner recycled," tells you this wasn't a target hit or a thesis-confirmed exit, it was a position-management rule closing out an aging trade (9 days, 216 hours) that had already round-tripped some gains. That's a very different animal from a clean signal-to-close.
The broader context doesn't build much of a case for skill either. The regime flipped from bull (0.79 confidence) to neutral (0.50) during the hold — deep_stats flags this explicitly — and market breadth deteriorated hard over the same window, with advancers/decliners going from 54/106 to 43/120 and pct_above_sma50 sliding from 66.17 to 51.88. That's a weakening tape, not a tailwind. Meanwhile CMBT's own sector, Energy, averaged +2.492% across 91 peers over the same period — so CMBT's +3.1% barely beat its peer group average. This wasn't an idiosyncratic move that validated a stock-specific thesis; it's roughly in line with sector drift. I don't have move_vs_entry_atr to check if this was even a large move relative to CMBT's own volatility, so I can't say whether +3.1% was statistically notable for this name at all — that's a real gap in what I can conclude here.
Fundamentals are mixed enough to not explain the move: revenue growth of 56.45% is strong, but EPS growth is -60.54%, current ratio is 0.518 (weak liquidity), and free cash flow is flagged at 0. None of that reads as a catalyst that fired. Headlines, news_events, and gdelt_tone are all empty in the dossier — there's no identifiable news driver on file, and NFP landed mid-hold (Sept 4) with no visible surprise data captured.
Takeaway: when the model's own predicted return is negative but it still selects the trade on catalyst/technical scoring, treat any subsequent profit as sector-beta or exit-mechanics luck until proven otherwise — the real test is whether CMBT's move beat its sector peer average by a meaningful margin, and here it barely did, so this result should not increase confidence in the catalyst pillar's predictive power.
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.
INSW post-mortem: -5.44% on a trade the model itself flagged as negative expected value going in (-0.214% predicted return). This is not a case of the framework calling a winner and getting run over — it correctly leaned bearish. The question isn't "why did we miss," it's "did the magnitude match the setup, and were the right signals actually driving the call."
Start with what's usable. The composite score of 66.25 and the 81.25 cross-sectional percentile suggest the model still liked plenty about this name — Sentiment at 78.19 and Technical at 76.4 are strong pillars — but Momentum sat weak at 47.54, and predicted_return was negative despite the high composite. That's an internal tension: a stock scoring well on sentiment/technical but flagged for a negative return is usually a momentum or catalyst-timing call, and the reasoning field bears that out — it was selected on "upcoming catalysts," not on a clean directional thesis. Smart Money and ML pillars are null, so the conviction here rests on an incomplete pillar set, which should temper how much weight I put on the confidence score itself.
On magnitude: the actual loss (-5.44%) is meaningfully larger than the modeled expectation (-0.214%), even though direction was right. I can't check this against ATR because move_vs_entry_atr is null — no read on whether this was a normal-sized move for INSW or an outlier. What I can see is regime_flipped_during_hold = true: entry regime was neutral (confidence 0.5), exit regime was bull (confidence 0.76). A flip into bull during the hold, with SPY up 2.2% over the exit's trailing 20 days, means the broader tape was working against a short-lean thesis — that alone could explain why the loss ran past the model's own point estimate. Sector context actually argues the position was relatively well-behaved: Energy peers averaged -11.2% over the same window (69 names), so INSW's -5.44% is roughly half the sector-wide damage. This looks more like a sector-wide drawdown that INSW participated in only partially, not an idiosyncratic breakdown. No headlines, no news events, no econ events, no options flow logged — nothing in the qualitative record to point to a specific trigger, so I won't manufacture one.
Lesson: when predicted_return is negative but composite/confidence stay elevated on incomplete pillars (Smart Money and ML both null here), treat the point-estimate magnitude as low-confidence even when direction is trustworthy — size for the sector-relative move (here, roughly half of peer drawdown) rather than the model's specific percentage, and flag any trade where regime_flipped_during_hold is true for tighter mid-week review rather than waiting for scheduled exit.
No narrative available for this trade (generation was disabled, errored, or has not run yet) — the mechanical facts above are real and on file regardless.
ELF, entry 9/7, stopped out 9/10. Predicted return was 0.2501% — essentially flat, barely a bullish lean dressed up by a 68.1 composite score. This wasn't a high-conviction long that blew up; it was a marginal pick that got run over. Worth being honest about that distinction before anything else.
The stop-loss did its job mechanically: -10.9% actual against a -9.1% ATR-based trigger. But deep_stats puts the move at 3.0x entry ATR — a three-standard-deviation-type move against a position sized for normal volatility. That's the real story here, not the stop level itself. Something moved this stock far harder than its own recent range implied it should, in three trading days.
Where did that come from? Not sentiment — the headlines on file are positive (0.898 score, "Soft Glam Satin Foundation" coverage), so the news flow I have doesn't explain a double-digit drop. Not macro regime — regime stayed "neutral" entry to exit, didn't flip. VIX did drift up (14.32 to 16.46) and SPY's 20-day return went negative (-1.19%) by exit, so the tape was leaning risk-off into the hold, but that's a mild macro headwind, not a -11% catalyst on its own.
The more telling number is sector_peer_return: -1.95% average across 5 Consumer products peers over the same window. ELF fell roughly 5-6x worse than its peer group. That kills the "sector rotation" explanation — this was idiosyncratic to the name, not the group. Something specific to ELF drove it, and it isn't in this dossier — no earnings surprise, no econ event, no news_events entries. The technical picture at entry (RSI 69.7, ADX 51.8, price near the upper Bollinger band at 113.7 vs entry buy of 109.05) shows a stock already extended and trending hard, which is exactly the kind of setup where a reversal, once it starts, moves fast and blows through ATR-based stops.
Lesson: when ADX is above and RSI is near 70 at entry, treat the position as vulnerable to a violent unwind regardless of composite score or sentiment tone, and either size down or tighten the stop multiple below the standard ATR band — a 3x-ATR move against an already-extended name is a pattern worth flagging systematically, not writing off as one-off noise.
CPRT, entered 9/7, stopped out 9/11 at -7.72% via the ATR-based stop. The model expected a modest 0.88% gain — this was a clear miss, not a hedged bet, so I need to own it rather than dress it up as a "correctly bearish call gone slightly wrong."
The entry case was thin on offense and thick on hope. Composite score 62.06 was driven almost entirely by the Fundamental pillar (74.81) — reasonable, given eps growth of 13.6%, ROE near 26%, and a current ratio over 7x that says balance sheet risk wasn't the problem. But Momentum sat at 45.87 and Sentiment at 49.89, both essentially neutral-to-weak, and the reasoning field itself only cites "upcoming catalysts" and the composite score — no specific technical or momentum thesis. That's a fundamentals-carried entry into a stock whose price action wasn't actually confirming anything. RSI at 63.98 and price sitting between the 20 and 50-day SMAs but below the 200-day (34.45) told me this was already a somewhat extended name relative to its longer trend, with MACD histogram slightly negative — a small early warning I didn't weight properly.
Then the macro backdrop shifted against it during the hold: VIX rose from 14.32 to 16.46, SPY's 20-day return went negative (-1.19%), and market breadth deteriorated hard — advancers/decliners flipped from 64/99 to 43/120 by 9/9. Regime classification stayed "neutral" throughout and never technically flipped, but breadth was already signaling risk-off before the label caught up. CPI landed on the exit date itself, which is a plausible trigger for the drawdown given the timing, though I don't have news/headline data to confirm causality — that field is empty.
Quantitatively, the move was 2.5x the stock's own ATR (1.0248) — a big, fast draw relative to CPRT's normal daily range, which is why the stop caught it cleanly rather than letting it grind lower. No sector peer return data is available, so I can't say whether this was systematic or idiosyncratic to CPRT specifically.
Lesson: when Momentum and Sentiment pillars sit near and only Fundamental is carrying the composite score above 60, treat that as a low-conviction entry regardless of the final score — require at least one confirming technical signal (not just "not negative") before sizing normally, since a fundamentals-only thesis gave zero warning ahead of a 2.5x-ATR move against it.
EL, entry 9/7, out 9/11 on the Friday scheduled sell, -6.42%. Model expected +0.68%. This is case one: I was wrong, not just early or correctly cautious. Own it.
Start with what actually drove the selection. Composite was 69.2, ranked 9th, and the reasoning cites "upcoming catalysts" and a 30-day event probability — vague as a driver, and the pillar breakdown backs that up: Momentum 50.3, Technical 50.96, Fundamental 52.67, all coin-flip territory. Sentiment was the outlier at 66.61, and looking at the headlines, I can see why — two positive-tagged stories on exec role expansions and a Barclays conference transcript scored neutral-to-positive. None of that is a catalyst that should move a stock 6% in four days. It's noise dressed up as signal, and the model leaned on it because Smart Money and ML pillars were null — meaning the score was built on a thinner base than the composite number implies.
The fundamentals should have been a bigger red flag than they were weighted as. PE north of 206, EPS growth at -43.64%, operating margin scraping 5.18% against a 75.53% gross margin — that's a name with real earnings quality problems trading at a premium multiple. That's not a reason to short outright, but it's not a profile that deserves a bullish tilt on sentiment alone.
Macro and sector context both argue this was partly systematic, not just stock-specific. VIX rose 14.32 to 16.46 over the hold, SPY's 20-day return went negative (-1.19%), and breadth deteriorated hard — advancers/decliners flipped from 64/99 to 43/120 by 9/9. The Consumer peer group averaged -0.893% over the same window, so EL underperforming its sector average by roughly 5.5 points means most of this loss was idiosyncratic, not just sector drag. A CPI print landed on the sell date itself, which likely added to the risk-off tone into the scheduled exit. I don't have move-vs-ATR on file, so I can't size this against EL's own volatility history — that data point is simply missing, not zero.
Lesson: when Sentiment is the only pillar carrying the score and Smart Money/ML are null, treat the composite as unverified rather than confirmed — going forward I'll require at least one non-sentiment pillar above 55 before selecting on a catalyst-driven thesis, and I'll flag deteriorating breadth (advancers/decliners trending against the position) mid-hold as a standing reason to reconsider before the scheduled exit rather than riding it out mechanically.
WT, week of 9/7: entry model expected +0.38%, we got -3.85% over the 4-day hold, out on the scheduled Friday exit. This is case one — the model liked this trade and was wrong, so let me own that rather than dress it up as a "correctly bearish" call that just ran hot.
The setup that got us in was catalyst- and sentiment-driven, not technical or momentum-driven — look at the pillar breakdown: Catalyst 80.0 and Sentiment 76.58 carried the composite to 73.36, while Momentum (47.33) and Technical (52.13) were mediocre at best. That's a red flag in hindsight: we were leaning on "high probability events within 30 days" language in the reasoning field without a technical or momentum tailwind to back it up. Smart Money and ML pillars are null here, so two entire dimensions that should confirm or veto a catalyst-driven entry simply weren't available for this name. That's a real gap, not a rounding error.
What actually happened around the hold: market breadth deteriorated hard through the week — advancers/decliners flipped from 64/99 on 9/8 to 43/120 on 9/9, and pct_above_sma50 dropped from 59.4 to 51.88 and held there. VIX ticked up from 14.32 to 16.46, SPY's 20-day return went negative (-1.19%), and there's a CPI print landing right on 9/11, the sell date. None of that is exotic — it's a garden-variety soft patch in breadth and vol right into a macro print — but it's exactly the kind of backdrop that punishes catalyst-and-sentiment-only longs with no technical confirmation.
Sector context actually cuts against a "market did it to me" excuse: Financial Services peers averaged -0.356% over the same window, so WT's -3.85% is roughly 10x the peer average loss. This wasn't sector beta — it was idiosyncratic underperformance within a sector that was only mildly negative. I don't have technicals entries/exits or ATR data populated (deep_stats.move_vs_entry_atr is null), so I can't size this move against WT's own volatility — that's a real hole in the file, not something I can paper over.
Lesson: when Catalyst and Sentiment pillars are doing all the work and Momentum/Technical are sub-55 with Smart Money and ML both null, treat the composite score as unconfirmed rather than tradeable — require at least one independent pillar above ~60 before sizing in, since this is the second time an catalyst-heavy, technically-unconfirmed setup has underperformed its peer group by an order of magnitude rather than tracking it.