每个人都说交易机器人需要花哨的 AI 和数据中心。
这是个谎言,让初学者永远无法开始。
真相是:一个能盈利的 Polymarket 天气机器人,一个周末就能搞定。读完这篇文章,你就能拥有完整的流程。
天气与 5 分钟 BTC 完全不同。
BTC 的窗口期就像抛硬币,根本无法预测,而且速度战被同地部署的机器人垄断。
温度是真正可预测的,结果需要几个小时才能确定,所以速度毫无意义,而且数据是免费的。
这是最后一个市场,一个拥有廉价 VPS 的独立开发者,仍然能靠智慧而非硬件胜出。
整个机器只有六个步骤。
发现市场,拉取预测,修正偏差,转化为概率,找到 8% 的优势,确定仓位并执行。
就这么简单。
让我把每一步都交给你。
我构建了数百个机器人,那些真正赚钱的,总是如此简单,而不是人们以为你需要的那种过度设计的复杂系统。
这是我的公开天气机器人示例:\[[https://polymarket.com/profile/0xca75fbadcc238afd23c317e253a8b5c47b390a64?via=surferhttps://polymarket.com/profile/0xca75fbadcc238afd23c317e253a8b5c47b390a64?via=surfer)]
仍在开发中,并且正在经历一段连败,我正在努力修复。
但即便如此,它也不会像以前的版本那样持续亏损。

现在,让我们为你打造一台印钞机。
1. 概念与想法
在写代码之前,先理清思路,这会让每一步都变得清晰。
Polymarket 列出了全球各地城市的每日温度市场。
每个市场都是一组温度区间。
只有一个区间会以 1 美元的价格结算为 YES,其余的都归零。
市场结算依据的是一个确切的机场气象站,而不是你在天气应用里看到的那个城市。

你的机器人的任务说起来很简单。
计算出每个温度区间的真实概率,要比市场大众更准确,然后买入那些被市场低估的区间。
你不是要自己去预测天气。
数十亿美元的模型在几小时前就已经完成了这项工作。
你是在读取它们的预测,进行清理,然后与市场价格进行比较。
当你计算出的真实概率远高于市场价格时,你就有了优势。
以下所有内容,都只是关于如何计算这个差距,并在不欺骗自己的情况下采取行动。
将所有设置保存在一个配置文件中,而不是硬编码,这样你就可以在不触碰逻辑的情况下进行调整。
起始余额、最大交易额、最小优势、价格上限、凯利比例。
所有这些都放在一个地方,你可以在几秒钟内编辑完成。
2. 发现市场
机器人首先扫描 Polymarket,寻找值得交易的活跃温度市场。
你不需要交易所有市场。
你需要一个过滤器,在你浪费一次预测调用或一美元之前,就把垃圾信息剔除掉。
三个过滤器能完成大部分工作:
> 成交量下限
跳过成交量低于几千的薄弱市场。
薄弱的订单簿价差大,价格不可信。

> 时间窗口
只交易那些预计在 2 到 72 小时内结算的市场。
在 2 小时内,优势已经被市场消化。
超过 72 小时,预测又过于不确定,无法依赖。
> 价格上限
跳过那些价格已经超过 45 美分左右的温度区间。
在这个价格水平上,市场已经消化了大部分优势,你的上涨空间很有限。

每个幸存下来的市场,都指向一个城市、一个日期和一个结算气象站。
这个气象站至关重要,所以你要存储它确切机场坐标和 ICAO 代码,绝对不能用城市中心坐标。
使用城市中心坐标,在你的机器人开始思考之前,就可能引入 3 到 8 度的误差。
现在,你有了一个清晰的可交易市场列表,每个市场都与预测必须针对的精确位置相关联。
3. 获取预测(代码)
现在,你为每个市场的确切气象站拉取预测,并且要来自多个来源。
一个模型只是一种意见。
三个模型能让你看到一致性和分歧,这本身就是信息。
你的基准是 ECMWF,全球黄金标准,通过 Open-Meteo 免费获取,无需 API 密钥。
对于短时间范围内的美国城市,你还需要添加一个分辨率更高的模型,它能够读取实时观测数据。
以下是 ECMWF 的数据获取方式:
1def get_ecmwf(lat, lon, unit):2url = (3"https://api.open-meteo.com/v1/forecast"4f"?latitude={lat}&longitude={lon}"5f"&daily=temperature_2m_max&temperature_unit={unit}"6"&forecast_days=7&models=ecmwf_ifs025"7"&bias_correction=true"8)9data = requests.get(url, timeout=(5, 8)).json()10return data["daily"]["temperature_2m_max"]
那个 bias_correction=true 标志很重要——它免费为你提供了一轮基于位置的误差修正。
对于大约 48 小时内的美国城市,优先使用更高分辨率的模型:
1def get_hrrr(lat, lon):2url = (3"https://api.open-meteo.com/v1/forecast"4f"?latitude={lat}&longitude={lon}"5"&daily=temperature_2m_max&temperature_unit=fahrenheit"6"&forecast_days=3&models=gfs_seamless"7)8return requests.get(url, timeout=(5, 8)).json()["daily"]["temperature_2m_max"]
简单规则:美国短距离用高分辨率模型,其他情况用 ECMWF。
以每个城市对应的单位请求数据,美国用华氏度,其他用摄氏度,并确保所有比较都在同一尺度上进行。
4. 修正偏差(这才是赚钱的地方)
这是赢家与众不同的地方。
每个模型都存在系统性的错误,且方向一致。
GFS 存在冷偏差,它会低估温度,偏差的大小取决于城市、时间以及预测的提前量。

如果你跳过这一步,你的优势往往只是模型以其惯常方式出错。
那不是优势。
那是披着优势外衣的噪音。
所以,在计算任何概率之前,你需要使用模型自身的过去误差来修正模型。
偏差的定义非常简单。
> 偏差 = 预测值减去实际值
你需要针对每个城市、每个预测时间范围、每天的不同时间段来分别测量偏差,然后用这个已知的误差来修正新的预测。
最简单的有效方法是使用近期误差的衰减平均值,这样较新的偏差会得到更大的权重。
你不需要神经网络来做这件事。
一个基本的衰减平均值或一个小型回归模型,就能获得 60% 到 80% 的可用改进。
先把这个做出来。
花哨的机器学习偏差修正确实存在,但那是最后 20% 的提升,只有在简单版本已经能盈利的情况下才重要。
先修正输入数据。
一个无聊的免费模型,经过修正后,可以击败一个未经处理的复杂模型。
5. 将预测转化为温度区间的概率
现在,你将一个修正后的预测数值,转化为每个温度区间的概率。
初学者会犯这样的错误。
他们拿到预测值,直接把它放到对应的温度区间里,然后声称这个区间的概率是 100%。
但预测并非精确值。
它是一个中心点,周围围绕着已知的误差分布。
这个误差分布才是关键。
假设你的修正预测是 41°F,而你的模型在该城市的典型误差约为 2 度。
那么,实际最高温度很容易落在相邻的区间里。
所以,你不能把 100% 的概率押注在一个区间上。
你需要将概率分散到预测区间及其相邻区间,根据你误差大小决定每个区间的可能性权重。
历史误差越小,意味着中心区间聚集的概率越高。
误差越大,则概率向相邻区间扩散得越广。
这正是了解你真实误差(即你的 sigma)如此重要的原因。
没有它,你就是在猜测自己的信心水平。
有了它,你就能将一个预测转化为一个诚实的概率分布,并以此与市场进行比较。
你实际上是根据这个分布,一个区间一个区间地进行交易。
6. 发现优势并用凯利公式确定仓位
现在,你将你的概率与市场价格进行比较,并且只在差距是真实的时候才采取行动。
首先,期望值,即你每美元的优势:
1def calc_ev(p, price):2if price <= 0 or price >= 1:3return 0.04return round(p * (1.0 / price - 1.0) - (1.0 - p), 4)
如果你的模型说某个区间的概率是 80%,而它的交易价格是 14 美分:
0.80 * (1/0.14 - 1) - 0.20 = +4.94
这是一个巨大的优势。
但你不能对每一个正数都开火,你需要设定一个下限,只有当期望值超过大约 8% 时才进行交易,这样就能跳过那些微弱的信号。
然后,凯利公式告诉你应该下注多少资金:
1def calc_kelly(p, price, kelly_fraction=0.25):2b = 1.0 / price - 1.03f = (p * b - (1.0 - p)) / b4return min(max(0.0, f) * kelly_fraction, 1.0)
两个安全护栏能让你存活下来。
> 使用部分凯利,即全凯利公式建议值的四分之一
全凯利就像过山车,部分凯利可以大幅降低波动。
> 对每笔交易设置一个来自你配置的最大金额上限
即使凯利公式强烈建议重仓交易,这个上限也能保护你免受单一糟糕市场的影响。
以卖价(ASK)入场,这是你实际支付的价格,并把买价(BID)视为你的退出价,否则你的回测会欺骗你。
7. 执行、止损并记录一切
现在机器人开始行动,同样重要的是,开始记录。
主循环按照预定计划运行,比如每小时一次,对每个市场按顺序执行相同的操作。
从所有来源拉取最新的预测
找到对应的 Polymarket 市场并加载其记录
保存当前预测的快照,因为这段历史是你未来的优势
检查任何未平仓头寸的止损
只有当期望值超过你的最低要求并且价格合适时,才开立新头寸
https://x.com/0xSurferX/status/2078620667272896555
你的止损应该简单且机械化。
如果价格从入场点下跌一定百分比,就平仓。
如果预测值偏离你的区间太远,以至于初始投资逻辑失效,就平仓。
在两次完整扫描之间,每隔几分钟执行一次轻量级检查,仅用于监控止损,而无需重新扫描每个城市。
并且记录所有事情。
每一次预测快照,你看到的每一个市场价格,每一笔交易,每一次结算。
每个市场一个文件,随时间推移不断追加内容。
这个日志不是无用的工作。
它是最后一步的原材料,这一步能将一个静态的机器人,转变为一个每周都变得更精明的机器人。
8. 让它自我校准并变得更聪明
这是区分一个靠猜测的机器人和一个知道如何做的机器人的关键。
在第一天,你的机器人对于每个城市的预测准确性,并没有真正的概念。
所以它还不应该完全信任自己。
它应该小规模交易,记录每一次结算,然后等待。
一旦它为一个城市积累了足够多的已结算市场,大约 30 个,它就能测量出自己真实的误差。
你拿出你为该城市做的每一次预测,与实际情况进行比较,并计算出平均偏差。
这个平均误差就变成了你的 sigma,即你对该特定城市和预测来源的真实信心水平。
而这个 sigma 会直接反馈到第四步。
更好的 sigma 意味着跨温度区间的概率分布更诚实,这进而带来更好的优势检测,最终实现更优的仓位确定。
随着收集到更多已结算的市场,机器人会通过这种方式自我改进。
这也是我为自己构建的每个机器人所倡导的方法:
记录一切,初期风险要小
让真实结算的结果来衡量你的真实准确性
只有当数据证明了优势的存在,才加大仓位
一个在第一天就以 90% 的置信度信任自己的天气机器人,与一个基于 10,000% 回测结果就部署的加密货币机器人,是同样的灾难。
两者都相信了一个它们从未真正赚取过的数字。
相信我,你不想看到这样的事情:

让我们继续。
9. 整合所有部分
现在,我们来做个总结。
**
退后一步,看看你构建了什么:**
发现干净的市场,并与确切结算气象站关联
为那个气象站拉取三个预测来源的数据
修正每个模型的已知偏差
使用你的真实误差,将修正后的预测转化为温度区间概率
只有当优势超过 8% 时才进行交易
使用部分凯利公式和硬性上限来确定仓位
执行、止损、记录、校准,直到它能够自我优化
开始时不需要神经网络,不需要数据中心,也不需要同地部署的服务器。
只需要免费的预测、诚实的数学计算,以及让它通过真实结算来证明自己的耐心。
在评估它之前,让它运行两到三周,因为天气市场每天结算,你需要 50 到 100 笔已结算的交易才能知道你的成果。
我构建了 200 多个机器人,正是这种确切的模式才能实际盈利,而那些花哨的玩意儿却总是半途而废。
简单的流程,诚实的校准,乏味的纪律。
这实际上就是你所需要的全部。
天气是 Polymarket 上最后一片诚实的市场。
这个周末就构建好这六个步骤,让它开始校准,在大众醒悟之前入场。
下一篇是关于偏差修正步骤的完整分解,别错过。
第二部分将于周三发布。
如果你想交流,也可以加入我的小电报群。
加入这里: https://t.me/+jCBHygDAJa9hMTJk

我们一起在这里构建、讨论和解决问题。
希望你觉得这篇文章有用,因为这就是全部的意义所在。
祝你好运!





