作者:長安 I Biteye内容チーム
天気は選挙のように立場はなく、NBAのようにホームチームもない。でも、なぜかこの市場は国内ユーザーを引き込んでいる。理由は簡単だ。誰もが感じているし、みんな上海の天気に詳しいと思い込んでいるからだ。
しかし、「感じがわかる」ことと「儲けられる」ことは別物だ。
Biteyeは今日、三つのことを共有する:
多くの人は初めて参加するとき、スマホの天気アプリと最高気温を比較して賭けるという誤解を持つ。しかし、アプリが示すのは上海市街地の気温であり、Polymarketの決済には上海浦東空港(ZSPD気象観測所)の実測データが使われている。このデータはアメリカの気象プラットフォームWunderground(WU)から公開されており、PMはWUの記録をそのまま決済基準として読み取っている。
二つの場所、二つの数字。浦東空港は市の東側、長江の入り口付近に位置し、海風の影響を受けやすいため、気温は市街地より低めだ。この差は普段は気づきにくいが、境界付近では押し間違いを生む原因となる。
だから、天気市場のコメント欄にはこんな混乱が見られる:「今日は昨日より暖かいはずなのに、最高気温が低く表示されているのはなぜ?」
WUのデータは空港の毎時報告METAR(民間航空用気象電報フォーマット)から直接取得されている。
ここに一つの細かいポイントがある:METARは華氏(°F)で記録されており、WUはそのままの数字を表示している。換算や修正は行われていない。
一方、多くの天気予報システムや気象モデルは小数点付きの温度を出力している。モデルの精度が高くなるほど、この最も粗いデータの差異を見落としやすくなる。
ZSPD観測所の約1900日分のデータを分析した結果、上海の最高気温のピークは予想よりも集中していることがわかった。
この規則性を知ることは第一歩だが、規則は自動的に監視してくれない。毎日最高気温がいつ現れるか、更新されるか、どの境界に近いかを把握する必要がある。
そこで、筆者は次のシステムを構築した:毎日の決済前に、その日の最高気温がどの温度帯に落ちるかをできるだけ正確に予測する。

市場ルールを理解したら、次の課題は:その日の最高気温をどう予測するか?
気象初心者として最初にしたことは、ChatGPTに質問することだった:「気象業界はどうやってその日の最高気温を計算しているのか?どんな成熟した方法があるのか?」ChatGPTは理論的な枠組みを提示し、Claudeはそれをコードに落とし込んだ。二つのAIを協力させて、週末にシステムを構築した。
合計で五つの方法を試したが、最終的に成功したのは三つだけ。
1️⃣ WC + ECMWFの統合予報
最高気温予測にはデータが必要だ。二つの情報源を使った:
これらを重み付け投票させ、当日の天気タイプに応じて動的に調整。晴れの日はWCを重視し、雲量や風速が高い日はECMWFを重視。
2️⃣ リアルタイム補正:昇温データからピーク値を推定
予報は前夜に作成されるが、天気は常に変動する。そこで、朝の実測データを使って、その日の最高気温を推定する。
シンプルなロジックだが、上海の朝8-9時は最も気温が上がる時間帯だと気づいた。システムはこの時間の実測値を取得し、過去の同じ季節・同じ時間帯の平均上昇度を調べる。
さらに二つの修正を加える:
これらを組み合わせて「外挿推定」を行う。
気圧、露点、湿度も計算に入れるが、回帰テストの結果、これらの影響は小さく、相関も低いため除外。
ただし、外挿だけでは不安定なので、「カルマンゲイン」の考え方を取り入れ、「外挿結果」と「予報値」の加重平均をとる。重みは時間とともに自動調整される。
時間が経つほど、実測値の重要性が増す。逆に早い時間は過去の予報の参考度が高い。
午後2時以降、ピークは過ぎたと判断し、当日の最高気温を過去の記録から直接決定。
3️⃣ 今日は昇温日か?
このシステムの中で最も満足できる部分だ。毎朝深夜に判断を行う:今日は昨日より気温が高くなるか?
深夜2-4時に気象データを収集し、モデルに入力:
モデルは五つの判定を出す:昇温日、やや昇温、横ばい、やや降温、降温日と信頼度。
ただし、この方法は季節によって精度が大きく異なる。
最初に試したのは、フーリエ分析による周期性のフィッティング。これで当日の最高気温を予測できるか試した。
結果は、季節平均の温度しかわからないことが判明。上海の天気は非常にランダム性が高く、フーリエの平滑な平均曲線は実際の変動を捉えられず、誤差は3.6°C、しかもシステム的に過小評価だったため、削除。
ERA5はヨーロッパ気候センターの全球過去再解析データセット。これを使って最高気温のピーク時刻を予測。
回帰テスト結果:
一見良さそうだが、Polymarketの予測精度はさらに高く、判断の時間枠は短いため、ピーク時刻の判断に半時間以内の精度が必要。これができないなら、データを見る意味が薄れるため、こちらは廃止。
Polymarketの天気市場は4日前から取引可能で、人気の温度帯は早期に十分に価格がつく。高確率の境界に賭けると、リターンは低くなる。
そこで筆者は、シグナルを待ち、昇温後の一定時間を待ってからエントリーする戦略を採用。
自作の天気システムを使った二つのケースを紹介。
16日の深夜、Telegramチャンネルで夜間モードのレポートを配信:「明日は降温日」。理由は、その夜の雲量が厚く、季節と年内日数の特徴が降温を示唆していた。
この時点ではすぐに賭けはしなかった。深夜のシグナルはあくまで第一段階の参考情報だった。

午前11時、システムがリアルタイムの昇温レポートを配信。実測最高気温はすでに12°Cに達しており、「+1°C」の確率は42%と出た。つまり、もう一度上昇する可能性は低いと判断。
深夜のロジスティック回帰の降温シグナルと一致しているため、16日の最高気温は13°Cを超えないと予測し、賭けた。
当日決済:12°C。前日15日は15°Cだったため、3度の下落となった。
今日17日の上海天気も、システムが警告を出した。
午前7時の推定ピーク時刻は異常:22:00
普通は晴天の最高気温は午後1-3時に出るが、今日は夜の22時にピークがあり、これは日照による昇温ではなく、暖湿気流の夜間輸送を示す。終日雨で雲量は97-100%、日照はほぼゼロ。
この時点でPolymarketを確認すると、12°Cの価格はまだ53%のまま。コミュニティには混乱が生じている:「もう午後なのに、気温はすでに11°Cで、ピークは過ぎているはずなのに、なぜみんな12°Cを買っているのか?」
この混乱の背景には、晴天のロジックで雨天の市場を判断しようとする誤りがある。
しかし、システムは混乱しない。朝の段階で今日の天気タイプを正確に識別し、ピーク時刻が異常であることを認識し、現在の気温と市場予想の乖離を見抜く。これが情報の非対称性であり、これこそが取引のチャンスだ。
このシステムの意義は、チャンスのときに見抜きやすく、リスクのときに早期警告を出せることだ。

週末だけのシステム構築では、完璧ではない。
週末だけのシステムでも、これらの問題点を見つけられたのは収穫だ。今後は運用しながら改善を続ける。
気象学は何百年も発展し、衛星やスーパーコンピュータ、全球モデルも導入されているが、天気予報は未だに100%の正確さを保証できない。科学者の努力不足ではなく、大気システム自体がカオス的だからだ。初期条件のわずかな違いで結果は大きく変わる。
この週末だけのシステムも完璧ではなく、秋季の予測はコイン投げに近いし、冷気の到来が早すぎると反応できないこともある。海風の効果も完全には捉えきれていない。
しかし、それは重要ではない。予測市場では、毎回正確である必要はない。オッズに優位性があれば、市場より一歩深く情報を見ているだけで十分だ。
上海の天気市場はまだ初期段階だが、筆者はこのシステムを継続的に追跡し、改善を続ける。Polymarketの天気市場に関わる皆さんも、コメント欄であなたの入場判断の方法や、予想外の決済結果についてぜひ語ってほしい。