Polymarket Bot Tutorial · Capitolo 27 di 32
Bot di previsione meteo e clima su Polymarket: mercati su landfall di uragani, temperatura massima giornaliera, El Niño/La Niña (ENSO), fonti dati NOAA e NWS e come convertire dati meteo in segnali di trading.
Cosa copre questo capitolo
I mercati meteo su Polymarket sono una categoria sottovalutata. Hanno fonti dati pubbliche pulite, price discovery lento e trader attivi poco frequenti. L'edge per un bot è reale ma i mercati sono di solito sottili. Questo capitolo copre uragani, temperatura e mercati ENSO.
Questo è il capitolo 27 della nostra serie in 32 parti sulla costruzione di un trading bot per Polymarket. Trattiamo l'argomento in profondità nelle sezioni qui sotto. Il corpo di ogni sezione viene scritto e rilasciato capitolo dopo capitolo; le risposte FAQ e i riferimenti sono già completi e riflettono l'esperienza di produzione del nostro trader interno.
- Il meteo come segnale tradabile
- Mercati uragani: dati NHC
- Temperatura massima giornaliera: dati NWS
- Cicli ENSO (El Niño/La Niña)
- Latenza: gli update meteo sono lenti (buono per il retail)
- Rischio: code di errore dei modelli di forecast
- Codice: tira dati uragani NOAA e aggiusta la posizione
Il meteo come segnale tradabile
I mercati meteo sono ben serviti da fonti dati gratuite e autorevoli (NOAA, NWS, NHC) e si risolvono su misurazioni oggettive piuttosto che giudizi. Questo li rende ideali per strategie sistematiche — l'edge è nell'interpretazione dei dati, non nel correre contro umani sulle news.
Il rovescio: i volumi sono modesti. Un mercato uragano potrebbe fare 500k-2M $ lifetime; un mercato temperatura di città 50-200k $. Le strategie che funzionano a scala su politica o sport non si trasferiscono al meteo — la size in dollari del tuo edge è limitata dalla liquidità totale del mercato.
Pattern bot adatto: posizioni piccole e diversificate su molti mercati meteo, tieni fino a resolution. Ritmo lento; il meteo non è un mercato da day trading.
Mercati uragani: dati NHC
La stagione degli uragani (Atlantico: giu-nov) crea mercati Polymarket sulla location di landfall, intensità e conteggio di tempeste con nome. Dati: avvisi pubblici del National Hurricane Center (NHC) ogni 6 ore durante tempeste attive, ogni 3 ore quando un uragano è <72h dal landfall.
Strategia: quando il cono di forecast NHC implica una probabilità di landfall specifica con cui il mercato è in disaccordo, prendi il lato più vicino al forecast ufficiale NHC. NHC è la source-of-truth verso cui il mercato alla fine convergerà.
Caveat: rischio di coda lunga. Gli uragani occasionalmente fanno cose che il forecast non si aspettava. Dimensiona le posizioni assumendo che NHC abbia ragione l'80% delle volte, non il 100%.
Temperatura massima giornaliera: dati NWS
Polymarket lista mercati di soglia di temperatura giornaliera per città USA selezionate. "NYC raggiungerà 95°F il 15 agosto?" Dati: forecast del National Weather Service aggiornati 2-3 volte al giorno; osservazioni a posteriori.
Il mercato tipicamente prezza la probabilità del forecast NWS con un po' di rumore. L'edge: i forecast NWS hanno bias (tipicamente conservativi sugli eventi di caldo estremo). Un bot che conosce la direzione del bias per una città/stagione prende il lato che NWS sistematicamente sottostima.
Vincoli: basso volume (50-100k $ tipico), size piccole di posizione, hold-to-resolution. Ciclo: entra la mattina, risolvi la sera.
Cicli ENSO (El Niño/La Niña)
I mercati di forecast El Niño / La Niña hanno orizzonti pluri-mensili e dati puliti (update mensili ENSO NOAA). La probabilità implicita Polymarket spesso ritarda la confidence di forecast NOAA di 1-2 settimane dopo ogni update mensile.
Pattern bot: leggi l'update NOAA il giorno di rilascio, prendi il lato che combacia con l'aggiustamento del forecast NOAA, tieni per 1-2 settimane fino a che il mercato non raggiunge. Update multipli per stagione offrono punti d'entry multipli.
Il volume è modesto (100-500k $ per ciclo) ma la strategia è abbastanza lenta che il pure-quant retail può competere contro la limitata competizione di bot in questa nicchia.
Latenza: gli update meteo sono lenti (buono per il retail)
Gli update dei dati meteo sono di minuti-ore, non sub-secondo. Questo è un vantaggio retail significativo: gli arb di latenza che dominano i mercati sport e crypto non si applicano qui.
Un bot retail che legge l'update NOAA delle 8 alle 8:15 può piazzare un FOK al nuovo fair value prima che i trader più lenti del mercato abbiano persino visto l'update. Il budget di latenza di 15 minuti è generoso rispetto al budget di 2 secondi del news arb.
Il trade-off: volume sottile significa che anche un bot veloce può deployare solo posizioni piccole per mercato. Il pattern breadth-not-depth (capitolo 21) si applica ancora più fortemente al meteo.
Rischio: code di errore dei modelli di forecast
I forecast meteo hanno error bar noti. NHC pubblica annualmente gli errori dei suoi forecast uragani — la location di landfall media 100-200 miglia di errore a lead time di 72 ore. I forecast di temperatura NWS mediano 2-4°F di errore a lead time di 7 giorni.
Implicazione per il sizing: non scommettere mai "il forecast ha ragione" con alta confidenza. Dimensiona le posizioni assumendo che il forecast abbia ragione il 70-80% delle volte. Un bot che prende il forecast come vangelo perde sul 20-30% dei trade in cui il modello era off.
La categoria uragani è particolarmente pesante di code. Un Cat 5 che fa landfall in una location a bassa probabilità di forecast è una perdita +infinito per una posizione confidentemente-short. Cappa l'esposizione su qualsiasi singolo uragano al 10% dell'allocazione meteo.
Codice: tira dati uragani NOAA e aggiusta la posizione
Riferimento: fai polling del feed di avvisi NHC durante la stagione uragani, alert su cambi nel cono di forecast.
import requests, feedparser
NHC_RSS = "https://www.nhc.noaa.gov/index-at.xml"
def poll_nhc():
while True:
feed = feedparser.parse(NHC_RSS)
for entry in feed.entries:
storm_id = entry.id
advisory = parse_advisory(entry.summary)
prev = load_last_advisory(storm_id)
if advisory["track"] != prev.get("track"):
alert(f"track update for {storm_id}: {advisory['track']}")
save_advisory(storm_id, advisory)
time.sleep(900) # 15 min
I mercati Polymarket di landfall sono meglio matchati manualmente agli ID delle tempeste NHC all'inizio della stagione; automatizzare il match è fragile perché i titoli dei mercati Polymarket non seguono il naming NHC in modo consistente.











