PolyWeather
Wettermärkte gegen die offizielle Prognose bewerten.
Auf Polymarket wird darauf gewettet, in welchem Bereich der Tageshöchstwert einer Stadt landet. Der US-Wetterdienst veröffentlicht dafür kostenlos eine Prognose. Die Frage: weichen die Kurse davon systematisch ab?
Fakten
- Rolle
- Alles
- Status
- Open Source
- Sprache
- Python
Das Problem
Ein Kurs ist eine implizite Wahrscheinlichkeit. Um ihn zu bewerten, braucht man eine eigene, unabhängig hergeleitete Wahrscheinlichkeit für dasselbe Ereignis.
Die Prognose ist ein einzelner Wert, kein Intervall. Daraus muss erst eine Verteilung werden, sonst lässt sich kein Temperaturbereich bewerten.
Ohne harte Schwellen meldet so ein Bot ununterbrochen. Nützlich wird er erst, wenn er die meiste Zeit schweigt.
Architektur
- WetterdienstStundenprognose → Tageshöchstwert
- Polymarketheutige Märkte, Live-Kurse
- BewertungNormalverteilung um die Prognose
- Telegramnur bei klarer Abweichung
Entscheidungen
Normalverteilung mit fester Streuung
Die Prognose wird als Mittelwert einer Normalverteilung mit fester Streuung behandelt. Damit lässt sich jeder Temperaturbereich integrieren und in eine Wahrscheinlichkeit übersetzen. Die feste Streuung ist eine Vereinfachung, aber eine ehrliche: eine kalibrierte Streuung hätte ich nicht belegen können.
Drei Filter statt einem
Ein hoher Erwartungswert allein reicht nicht, denn er entsteht auch bei Kursen nahe null, wo jede Abweichung riesig aussieht. Erst die Kombination aus Erwartungswert, absolutem Kurs und Mindestwahrscheinlichkeit trennt Signal von Rauschen. Die Filter waren mehr Arbeit als die Rechnung.
Der Bot handelt nicht
Er meldet nur. Eine bewusste Grenze: automatisiertes Handeln hätte bedeutet, einem Modell Geld anzuvertrauen, dessen Kalibrierung ich nicht belegen kann.
Ergebnis
Läuft täglich für acht US-Städte und meldet gruppiert pro Stadt.
Wenn nichts auffällt, kommt eine einzelne Zeile, damit man den Unterschied zwischen „nichts gefunden“ und „abgestürzt“ sieht.
Open Source, mit Tests und einem Journal, das jede Meldung protokolliert.
Was ich gelernt habe
Aus einer Punktprognose eine Verteilung zu machen ist der eigentliche Trick.
Alarme ohne Schwellen sind wertlos.
Fremde APIs fallen aus. Der Bot muss dann schweigen, nicht abstürzen.