▶ Full Post Text
I have been running a paper-trading experiment for about a month and it is getting beaten by a dumb benchmark, so I want to crowdsource what is wrong with it.
**The setup.** Universe is \~350 biotech names. News is pulled per-ticker from a fundamentals API, then each day an LLM (DeepSeek/Gemini, temperature 0 for reproducibility) scores each company's latest news as a sentiment score 0 to 10 split into three sub-scores: Financial, Technological, Regulatory. From those scores I run 7 long-only paper books, each starting at $100k:
* Composite (trades the average score)
* Financial / Technological / Regulatory (trade the matching sub-score)
* Market Divergence (top 20 by score, equal weight)
* US Only / EU Only (composite, region filtered)
**Shared rules:**
* Entry: score >= 7.0, skip if the name already moved more than 1.5% intraday (do not chase), sentiment must be under 72h old.
* Sizing by conviction: 7.0 -> $1k, 7.5 -> $2k, 8.5 -> $4k.
* Exits: +20% take profit, -7% hard stop, -8% trailing stop, 14 day time stop if not up at least 1%, and exit if the score falls below 6 (broken thesis).
* Benchmark: XBI total return.
**Result after \~4 weeks:** every strategy is flat to negative (roughly +0.9% to -3.3%) while XBI is up around 6%. The "smartest" books (Composite and Market Divergence) are the worst. The composite runs \~60 to 65 concurrent positions.
**What I think is going wrong (confirm or correct me):**
1. Long-only sentiment chasing in a sector that just ripped means I am making 60+ small bets that each have to beat beta, instead of just owning the beta.
2. Entering at score >= 7 is probably buying after the good news is already priced in.
3. The -7% hard stop plus 14 day time stop looks like death by whipsaw in a high-vol sector while the index just compounds.
4. Public news sentiment may simply not be alpha.
**Questions:**
* Is LLM news-sentiment salvageable as a signal, or priced-in by construction? Anyone gotten edge from rate-of-change rather than level, or used it as a short signal?
* Would you make this benchmark-relative (long top decile, short bottom decile vs XBI) instead of long-only?
* Better exit logic than fixed stops for something this volatile?
Genuinely here for the criticism. If anyone wants to dig into the data together, say so in the comments and I will follow up.