header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

用AI玩天氣預測,一天就能躺賺200美元?

閱讀本文需 16 分鐘
你覺得自己懂上海的天氣,但只有用系統才能找到別人看不到的交易機會。
原文標題:《用 AI 玩天氣預測,一天躺賺 200 美元 》
原文作者:Changan,Biteye


天氣不像選舉,沒有立場;不像 NBA,沒有主隊。但偏偏是這個市場,讓國內用戶湧進來。原因很簡單,每個人都有感受,每個人都覺得自己懂上海的天氣。


但「感覺懂」和「能賺錢」,是兩回事。


Biteye 今天分享三件事:


1. 讀懂結算規則


2. 建立天氣的預測方法


3. 用系統找到別人看不到的交易機會


一、先搞清楚:這個天氣市場到底怎麼結算的?


1. 結算的溫度,不是你以為的那個


很多人第一次參與會有個誤區:拿手機天氣 App 對照著押最高氣溫,但 App 顯示的是上海市區的溫度,而 Polymarket 結算用的是上海浦東機場(ZSPD 氣象站)的實測數據,這個數據通過 Wunderground 這個美國氣象平台對外公開,PM 直接讀取 WU 上的記錄作為結算依據。


兩個地方,兩個數字。浦東機場位於城市東側,緊鄰長江入海口,受海風影響,氣溫通常比市區偏低。這個差距平時感覺不出來,但在檔位邊界的時候,可能就是押對和押錯的區別。


所以你在天氣市場評論區能看到這種困惑:「明明今天感覺比昨天暖,為什麼顯示的最高溫反而更低?」


2. 數字對了,但單位不是你想的那個


WU 的數據直接來自機場每小時上報的 METAR 報文 (全球民航通用的氣象電報格式)。


有一個細節藏在這裡:METAR 記錄的是華氏整數,WU 直接展示這個數字,不換算,不修正。


而大多數天氣預報系統、氣象模型輸出的溫度都帶小數點。你的模型算得越精細,越容易忽略這個最粗糙的地方。


3. 上海氣溫規律


扒了 ZSPD 站近 1900 天的數據,上海最高氣溫的出現時段比想象中集中:


· 四個季節都高度集中在 11:00-13:00,


· 夏季 12:00 的集中度最高,單個小時佔全季的 27.6%。


· 秋季的峰值時段略偏早,10:00 也是高頻時段之一。


知道規律是第一步,但規律不會自己盯盤。每天最高溫什麼時候出現、有沒有刷新、離檔位還差多少。


所以小編搭了這套系統:在每天結算前,盡可能準確地預測出當天的最高溫度落在哪個攝氏度檔位。



二、五種方法,三個跑通了


市場規則搞清楚之後,下一個問題是:怎麼預測當天的最高溫度?


作為一個氣象小白,第一步是去問 ChatGPT:氣象行業到底是怎麼計算當天最高溫的,有哪些成熟方法。ChatGPT 給出了一套理論框架,Claude 把框架落地成代碼。兩個 AI 配合著用,一個週末把系統搭起來了。


一共試了五種方法,最終只跑通三個。


跑通的:


1. WC + ECMWF 集成預報


預測最高溫,首先需要數據。採用了兩個來源:


· Weather Company(WC)是一個商業氣象 API,提供逐小時預報數據,精度高;


· ECMWF 是歐洲中期天氣預報中心的全球氣象模型,對大範圍天氣系統更敏感。


兩個來源各有優劣,所以讓它們加權投票。權重根據當天天氣類型動態調整:晴天更信 WC,雲量大、風速高的天氣更信 ECMWF。


2. 實時校正:用升溫數據推算峰值


預報是昨晚算出來的,但今天的天氣一直在變。所以這個模塊做的事是:用今天早上已經發生的實測數據,推算今天最高能到多少。


邏輯不複雜,小編發現上海早上 8-9 點是升溫最快的時間段。系統拿到這個時刻的實測溫度之後,查歷史數據:同一季節、同一時刻,過去平均還能再升多少度。


然後加兩個修正:


· 云多就乘以一個折扣,雲量越厚升溫越受阻。


· 風大也乘一個折扣,強風會加速熱量散失。算出來一個「外推估算」。


氣壓、露點、濕度也在計算之內,但由於回測後發現這些因子影響較小,相關性較低,所以刪除了。


但光靠外推還不夠穩,這裡用了一個卡爾曼增益的概念,說白了就是在「外推結果」和「原始預報」之間取一個加權平均,而且這個權重會隨著時間推移自動變化。


· 早上 6 點,外推才占 20%,大部分還是信預報


· 到中午 12 點,外推占 72%


· 下午 1 點之後,幾乎完全信實測,占 85%


越晚,眼前發生的事越重要;越早,歷史預報的參考價值越大。


下午 2 點之後,系統判斷峰值大概率已過,直接從歷史記錄裡取今日最高溫鎖定結果,不再推算。


3. 今天是升溫日嗎?


這是整套系統裡最讓人滿意的模塊,每天凌晨做一個判斷:今天的最高溫會比昨天高嗎?


每天凌晨 2-4 點,系統會收集一批氣象數據,餵給這個模型:


· 氣壓在過去 3 小時、12 小時的變化


· 凌晨的風向和風速,雲況


· 昨天的升降溫幅度,近三天的溫度趨勢,昨天的溫度是偏高還是偏低


· 加上月份、季節、當天是一年中第幾天,昨天有沒有下雨


模型輸出分成五檔:升溫日、偏升溫、持平、偏降溫、降溫日,同時給出置信度。


不過該方法在不同季節準確率差異很大。


冬季最準:冷空氣來了,氣壓急升、北風加強,信號極其清晰,模型一眼就能看出來。


秋季最差:冷暖氣團反覆拉鋸,今天剛升溫明天就回落,歷史規律在這個季節失效最快。


淘汰的方法:


1. 傅立葉數值預測


最早試過用傅立葉分析擬合歷史氣溫的周期規律,看能不能直接預測當天最高溫。


結果發現它能告訴你的只是「歷史上這個季節平均是多少度」。上海天氣的隨機性太高,傅立葉擬合出來的是一條平滑的平均曲線,不是真實的每日波動。誤差 3.6°C,而且 100% 系統性低估,所以直接刪掉。


2. ERA5 峰值時刻預測


ERA5 是歐洲氣候中心的全球歷史重分析數據集,用來預測當天最高溫出現在幾點。


回測下來


· ≤1 小時準確率 59.6%


· ≤2 小時準確率 81.3%


聽起來還行,但問題是 PM 的精度更高,留給交易員判斷的時間窗口很短,如果做不到半小時以內的峰值判斷,還不如看 Polymarket 的數據,所以該方法被淘汰了。


三、系統實戰:兩個案例和不足反思


Polymarket 的天氣市場會提前 4 天開放交易,熱門溫度檔位通常在開市早期就被充分定價。直接在高概率檔位上買,盈虧比比較差。


所以小編採用的策略是:等信號,等升溫後的時間窗口再入場。


於是根據自建的天氣系統做了以下兩個操作:


案例 1:



16 號凌晨,Telegram 頻道推送了夜間模式的報告:明天是降溫日。理由是當晚雲况偏厚、季節和年內日序兩個特徵都指向降溫方向。


這時候小編沒有立刻下注。凌晨的信號只是第一層參考。


到了上午 11 點,系統推送了升溫期的實時報告。當時實測最高溫已經到了 12°C,+1°C 機率評分給出結果:今天再漲 1°C 的機率是 42%,偏向不會再升溫。


結合凌晨邏輯回歸的偏降溫信號,兩個模塊方向一致,這時候信號比凌晨清晰多了。於是壓了 16 號最高溫不超過 13°C。


當天結算:12°C。前一天 15 號是 15°C,降了整整 3 度。


案例 2:



再比如今天 17 號的上海天氣,天氣系統還能起到預警作用:早上 7 點鍾收到的推送顯示,峰值時刻異常:22:00


正常晴天最高溫出現在下午 1-3 點,但今天峰值在晚上 22 點,說明這不是日照升溫,而是暖濕氣流夜間輸送。全天都在下雨,雲量 97-100%,日照幾乎為零。


這時候打開 Polymarket,看到 12°C 的定價還在 53%。社區裡有人困惑:現在已經下午了,溫度才 11°C,正常峰值時段早就過了,為什麼大家還在買 12°C?


這個困惑的背後,是大家還在用晴天的邏輯判斷雨天的市場。


系統不會困惑。它早上就把今天的天氣類型識別清楚了,峰值時刻異常,當前溫度和市場預期之間存在明顯偏差。這是一個信息差,而信息差就是交易機會。


這正是搭這套系統的意義:在機會面前,更容易識別;在風險面前,更快預警。



系統還有哪些不足?


做了一個週末的系統,不可能沒有漏洞:


· 秋季準確率只有 63.7%,接近拋硬幣。


· 冷暖氣團在這個季節反覆拉鋸,今天升溫明天回落,歷史規律在秋季失效最快。


· 氣壓特徵在實盤裡拿不到。訓練模型的時候用了氣壓變化作為特徵,回測效果不錯。


· 冷空氣過境的信號很清晰。但實盤運行時,當前接口拿不到實時氣壓數據。


· 沿海修正還在等數據啟用。浦東機場的海風效應是真實存在的,系統也建立了對應的修正模組,但回測樣本還不夠多。


一套剛跑了一個週末的系統,能發現這些問題已經算有收穫。接下來邊跑邊修。


四、結語


氣象學發展了幾百年,用上了衛星、超算、全球模型,天氣預報依然不敢保證明天 100% 準確。不是科學家不夠努力,是大氣系統本身就是混沌的,差一度初始條件,結果可能完全不同。


這套跑了一個週末的系統,當然也會出錯。秋季準確率接近拋硬幣,冷空氣來早了系統可能沒反應過來,海風效應到現在還沒完全捕捉到。


但這不重要。做預測市場不需要每次都對,只需要在賠率有優勢的時候,比市場多看一層信息。


原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交