Gate Booster 第 4 期:发帖瓜分 1,500 $USDT
🔹 发布 TradFi 黄金福袋原创内容,可得 15 $USDT,名额有限先到先得
🔹 本期支持 X、YouTube 发布原创内容
🔹 无需复杂操作,流程清晰透明
🔹 流程:申请成为 Booster → 领取任务 → 发布原创内容 → 回链登记 → 等待审核及发奖
📅 任务截止时间:03月20日16:00(UTC+8)
立即领取任务:https://www.gate.com/booster/10028?pid=allPort&ch=KTag1BmC
更多详情:https://www.gate.com/announcements/article/50203
用AI玩天气预测,一天就能躺赚200美元?
原文标题:《用 AI 玩天气预测,一天躺赚 200 美金 》
原文作者:Changan
原文来源:
转载:火星财经
天气不像选举,没有立场;不像 NBA,没有主队。但偏偏是这个市场,让国内用户涌进来。原因很简单,每个人都有感受,每个人都觉得自己懂上海的天气。
但「感觉懂」和「能赚钱」,是两回事。
Biteye 今天分享三件事:
读懂结算规则
建立天气的预测方法
用系统找到别人看不到的交易机会
一、先搞清楚:这个天气市场到底怎么结算的?
很多人第一次参与会有个误区:拿手机天气 App 对照着押最高气温,但 App 显示的是上海市区的温度,而 Polymarket 结算用的是上海浦东机场(ZSPD 气象站)的实测数据,这个数据通过 Wunderground 这个美国气象平台对外公开,PM 直接读取 WU 上的记录作为结算依据。
两个地方,两个数字。浦东机场位于城市东侧,紧邻长江入海口,受海风影响,气温通常比市区偏低。这个差距平时感觉不出来,但在档位边界的时候,可能就是押对和押错的区别。
所以你在天气市场评论区能看到这种困惑:「明明今天感觉比昨天暖,为什么显示的最高温反而更低?」
WU 的数据直接来自机场每小时上报的 METAR 报文 (全球民航通用的气象电报格式)。
有一个细节藏在这里:METAR 记录的是华氏整数,WU 直接展示这个数字,不换算,不修正。
而大多数天气预报系统、气象模型输出的温度都带小数点。你的模型算得越精细,越容易忽略这个最粗糙的地方。
扒了 ZSPD 站近 1900 天的数据,上海最高气温的出现时段比想象中集中:
· 四个季节都高度集中在 11:00-13:00,
· 夏季 12:00 的集中度最高,单个小时占全季的 27.6%。
· 秋季的峰值时段略偏早,10:00 也是高频时段之一。
知道规律是第一步,但规律不会自己盯盘。每天最高温什么时候出现、有没有刷新、离档位还差多少。
所以小编搭了这套系统:在每天结算前,尽可能准确地预测出当天的最高温度落在哪个摄氏度档位。
二、五种方法,三个跑通了
市场规则搞清楚之后,下一个问题是:怎么预测当天的最高温度?
作为一个气象小白,第一步是去问 ChatGPT:气象行业到底是怎么计算当天最高温的,有哪些成熟方法。ChatGPT 给出了一套理论框架,Claude 把框架落地成代码。两个 AI 配合着用,一个周末把系统搭起来了。
一共试了五种方法,最终只跑通三个。
跑通的:
预测最高温,首先需要数据。采用了两个来源:
· Weather Company(WC)是一个商业气象 API,提供逐小时预报数据,精度高;
· ECMWF 是欧洲中期天气预报中心的全球气象模型,对大范围天气系统更敏感。
两个来源各有优劣,所以让它们加权投票。权重根据当天天气类型动态调整:晴天更信 WC,云量大、风速高的天气更信 ECMWF。
预报是昨晚算出来的,但今天的天气一直在变。所以这个模块做的事是:用今天早上已经发生的实测数据,推算今天最高能到多少。
逻辑不复杂,小编发现上海早上 8-9 点是升温最快的时间段。系统拿到这个时刻的实测温度之后,查历史数据:同一季节、同一时刻,过去平均还能再升多少度。
然后加两个修正:
· 云多就乘以一个折扣,云量越厚升温越受阻。
· 风大也乘一个折扣,强风会加速热量散失。算出来一个「外推估算」。
气压、露点、湿度也在计算之内,但由于回测后发现这些因子影响较小,相关性较低,所以删除了。
但光靠外推还不够稳,这里用了一个卡尔曼增益的概念,说白了就是在「外推结果」和「原始预报」之间取一个加权平均,而且这个权重会随着时间推移自动变化。
· 早上 6 点,外推才占 20%,大部分还是信预报
· 到中午 12 点,外推占 72%
· 下午 1 点之后,几乎完全信实测,占 85%
越晚,眼前发生的事越重要;越早,历史预报的参考价值越大。
下午 2 点之后,系统判断峰值大概率已过,直接从历史记录里取今日最高温锁定结果,不再推算。
这是整套系统里最让人满意的模块,每天凌晨做一个判断:今天的最高温会比昨天高吗?
每天凌晨 2-4 点,系统会收集一批气象数据,喂给这个模型:
· 气压在过去 3 小时、12 小时的变化
· 凌晨的风向和风速,云况
· 昨天的升降温幅度,近三天的温度趋势,昨天的温度是偏高还是偏低
· 加上月份、季节、当天是一年中第几天,昨天有没有下雨
模型输出分成五档:升温日、偏升温、持平、偏降温、降温日,同时给出置信度。
不过该方法在不同季节准确率差异很大。
冬季最准:冷空气来了,气压急升、北风加强,信号极其清晰,模型一眼就能看出来。
秋季最差:冷暖气团反复拉锯,今天刚升温明天就回落,历史规律在这个季节失效最快。
淘汰的方法:
最早试过用傅里叶分析拟合历史气温的周期规律,看能不能直接预测当天最高温。
结果发现它能告诉你的只是「历史上这个季节平均是多少度」。上海天气的随机性太高,傅里叶拟合出来的是一条平滑的平均曲线,不是真实的每日波动。误差 3.6°C,而且 100% 系统性低估,所以直接删掉。
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% 准确。不是科学家不够努力,是大气系统本身就是混沌的,差一度初始条件,结果可能完全不同。
这套跑了一个周末的系统,当然也会出错。秋季准确率接近抛硬币,冷空气来早了系统可能没反应过来,海风效应到现在还没完全捕捉到。
但这不重要。做预测市场不需要每次都对,只需要在赔率有优势的时候,比市场多看一层信息。