a158d0e2ae
Goal chiarito: short su titoli con fondamentali/notizie negativi ma prezzo in salita. Gate dati (v2.0.0): NON backtestabile -> fondamentali da rete = snapshot correnti, applicarli a prezzi passati = look-ahead. Come la term-structure: solo screener forward. Costruito screener da dati di rete tokenless: fondamentali strutturati Yahoo (quoteSummary via crumb: recommendationMean/surprise/revGrowth/sell-skew) + sentiment headline + momentum 1m/3m. SHORT cand = (fond/news neg) AND prezzo su. Run live oggi: nessun candidato (mercato in flessione ampia -> gamba 'prezzo su' non scatta). Intuizione chiave: shortare la FORZA combatte momentum + PEAD; il rialzo 'malgrado' brutte notizie spesso prezza info che i fondamentali trailing non hanno -> e' la versione contrarian/rischiosa dell'anomalia. La versione pulita = short su fondamentali deboli quando il prezzo CONFERMA (scende), non quando diverge. Eseguibilita': borrow/squeeze/perdita illimitata/PDT 5k/IB instabile/00 -> non deployabile. - scripts/research/eq_fundnews_short.py (+ forward log data/raw/fundnews_short_screen.parquet) - tests/test_eq_fundnews_short.py (scoring puro offline) - docs/diary/2026-06-26-equity-fundnews-short.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
59 lines
3.6 KiB
Markdown
59 lines
3.6 KiB
Markdown
# 2026-06-26 — "Short su fondamentali/notizie NEG ma prezzo SU": screener forward, edge non provato
|
|
|
|
**Goal utente (chiarito):** se i dati finanziari/notizie di un'azienda sono negativi ma la
|
|
quotazione è positiva (sale), andare SHORT — scommessa che il prezzo scenda a riallinearsi ai
|
|
fondamentali. Branch `research/equity-meanrev-ib`, script `scripts/research/eq_fundnews_short.py`.
|
|
|
|
## Gate dati (lezione v2.0.0) — NON backtestabile
|
|
|
|
I fondamentali e le notizie scaricabili dalla rete (Yahoo) sono **snapshot CORRENTI**, non
|
|
point-in-time storici. Applicarli a prezzi passati = **look-ahead** (restatement + survivorship):
|
|
esattamente la classe di errore che ha prodotto la libreria fasulla v2.0.0. Un backtest onesto
|
|
richiede un DB point-in-time (Compustat PIT, news storiche con timestamp) — **assente**. Quindi,
|
|
come per la vol term-structure: **niente backtest**, l'unica via onesta è uno **screener forward**.
|
|
|
|
## Cosa è scaricabile (feasibility, fatto)
|
|
|
|
- **Fondamentali strutturati** via Yahoo quoteSummary (flusso cookie+**crumb**, tokenless):
|
|
`recommendationMean` (1=buy..5=sell), `revenueGrowth`, `earningsHistory` surprise%,
|
|
`recommendationTrend` (skew buy/sell). ✅
|
|
- **Notizie**: Yahoo news search (headline + publisher), sentiment lessicale crudo. ✅ (proxy debole)
|
|
- **Momentum**: chart API (return 1m/3m). ✅
|
|
|
|
## Screener costruito + eseguito dal vivo
|
|
|
|
`fund_neg` ∈ [0,1] (media di: recMean→sell, surprise negative, ricavi in calo, analisti a sell) +
|
|
`news_neg` lessicale + momentum. **SHORT candidate = (fond/news neg) AND prezzo in salita** (la
|
|
divergenza). Idempotente, logga forward su `data/raw/fundnews_short_screen.parquet`.
|
|
|
|
**Run di oggi (2026-06-26): NESSUN candidato.** Quasi tutto l'universo ha momentum 1m **negativo**
|
|
(mercato in flessione ampia, coerente col bear) → la gamba "prezzo che sale" non scatta. I peggiori
|
|
per fondamentali (TSLA 0.48, BA 0.39, NKE 0.38) stanno comunque *scendendo*. Output sensato.
|
|
|
|
## L'intuizione analitica chiave (il valore vero di questa analisi)
|
|
|
|
La premessa ha una **tensione interna** che la rende la versione *rischiosa* dell'anomalia:
|
|
- **Shortare un prezzo che SALE combatte il momentum** — una delle anomalie più robuste e persistenti
|
|
(i winner continuano a vincere su 3-12 mesi). Si scommette contro di essa.
|
|
- **Il PEAD** (post-earnings drift) dice che dopo cattive notizie il prezzo continua a **scendere**;
|
|
ma qui il prezzo *sale malgrado* le cattive notizie → spesso significa che il mercato sta
|
|
**prezzando informazione** che i fondamentali *trailing* non contengono (turnaround, M&A, squeeze).
|
|
- Quindi: la versione *pulita* dell'edge "short su fondamentali deboli" funziona meglio quando il
|
|
prezzo **conferma** (fondamentali deboli + prezzo che SCENDE = momentum e fondamentali allineati),
|
|
**non** quando diverge. La richiesta "shorta il titolo che sale su brutte notizie" è il caso
|
|
contrarian, più difficile e storicamente più punito (squeeze, perdita illimitata).
|
|
|
|
## Eseguibilità (muro)
|
|
|
|
Short = **borrow** (locate + fee; hard-to-borrow caro/assente), **perdita illimitata**, **squeeze**,
|
|
**PDT $25k** per i day-trade, IB instabile qui, $600, universo single-stock (non i nostri ETF). NON
|
|
deployabile.
|
|
|
|
## Verdetto
|
|
|
|
**Non un edge schierabile, né dimostrabile ora.** Deliverable onesto = lo **screener forward**
|
|
(funzionante, da dati di rete) + il log che accumula i candidati per una validazione futura, con
|
|
la chiara avvertenza che l'edge è **non provato** e che la *direzione contrarian* della scommessa
|
|
(short sulla forza) è la parte fragile. Strumento utile (fond+news+momentum da rete in un colpo),
|
|
tesi da maneggiare con scetticismo. Nessun impatto sul book live (branch separato).
|