更新比较频繁,谨慎使用。是我自己实际在运行的代码,虽然策略简单但是开发量并不小,如果想尝试可以直接使用。另外如果你不相信我接下来对于策略的判断,则务必亲自尝试 🐶
顺便说一个开发体会是,X 上很多玩预测市场的人,在通过 Vibe Coding 的方式来写策略 Bot、自己执行。从我的感受来看,非程序员群体想要实现出能运行的策略,基本不可能可靠(高素质具备逻辑能力除外)。
有些策略包括我接下来说的策略,看起来和理解起来是异常简单的,但是落实到代码上,有很多具体的问题。比如重复下单的问题、退出策略是否正常执行、线上突然多了一堆订单属于策略内还是程序异常,这些都需要反复调试。不是说非程序员想不清楚,而是这个调试的过程非常磨人,得不断调参数、看效果、效果不好改策略、再看效果。这实际上就是程序开发每天在干的事情,现在虽然不需要自己动手写代码了,但是结果还得自己看。
对于下一场还未开始的 BTC 5分钟市场,提前直接挂单 limit order,以 45c 的价格买入 Up,同时以 45c 的价格买入 Down。如果两个挂单都成交,则结算的时候因为 0.45+0.45 < 1,所以必然得到本金 10% 的收益。一旦两个订单都成交,收益必然锁定,不需要任何后续操作。
损失风险也很明确,如果开盘后进入单边行情,价格在整个 5 分钟的周期内都没有震荡超过 55%,则策略遭受 50% 本金损失。这也就意味着,每次输 1 场,需要赢 5 场才能够转亏为盈。
为了减少损失,策略也包含两个止损机制:
这个策略从纯粹的逻辑和量化的角度,显然是站不住脚的,风险很大也很明确,而且没有程序化的规避方式,策略本身也没有足够的回测数据做支撑。所以这个策略很大程度上是主观的,我要解释的是,为什么我主观上认为这个策略可行?
btc5m 这种市场,行情分两种,一种是这个策略双边同时开单能够获利的震荡行情,另一种就是一旦开盘就已经锁定了结算方向、价格一去不复返的单边行情。
那么反过来想,假如单边行情多于震荡行情,是否意味着,在开盘后几秒内,直接买入价格高于 55c 的一边,就可以拿着等待结算了?单次收益率超过 80%。然后结合单边行情概率上多于震荡行情这一点,只要简单执行跟风买入的操作,就是一种能稳定赚钱的策略了。这是一种 “超级尾盘” 策略,因为尾盘一般在接近结算的价格比如 99c 才入场,而现在概率告诉你,55c 就足以入场。
但是事实上,大家交易的体感上,btc5m 结算前 5 秒钟结果大反转的场次都很频繁。别说单边买入,尾盘买入都会亏的很惨。而且我也不太相信赚钱可以简单到持续单边买入就可以,过于违反直觉。
所以再正过来想,既然不可能单边行情多于震荡行情,那么就应该是震荡行情居多。
既然刚才的判断是纯主观,那么是否可以通过判断 BTC 的价格动量,来预测 BTC 是否会在接下来 5 分钟内大幅波动呢?
这个测试我已经做过了,从 Binance 的 wss api 去获取实时价格信息、判断下一个轮次开始前 120 秒内价格是否在某一个中间线上下波动,并且还加了复杂的评分系统,需要至少上下横穿 2 次、并且价格波动幅度在 12bps 以上、信号连续持续出现 3 次、以及根据 Polymarket 上 orderbook 本场的波动情况等等各种条件,甚至还考虑拿一下 Binance 上的资金费率、Polymarket 上下一场的 Top holder 等数据来辅助判断。
也尝试过一些动态调整参数方面的优化,比如根据评分结果的高低来动态调整入场价格和入场金额,分数高一点就 42c, 1.2*amount,分数低一点就 46c, 0.8*amount 之类。
结果就是,不但能经过层层筛选的场次非常少,会导致下单的场次也非常少。而且主要是没有明显的效果。假如闭着眼睛不判断,直接下单,可能 10 场里有 9 场是 paired 状态(盈利的)、还有 1 场是 single 状态(亏损的)。而经过一系列评分系统最后高于波动率才下单的做法,可能一天下单 10 场,这 10 场里还是有 1 场 single。高的评分并没有减少 single 状态的风险,反而还大幅减少了下单的场次。
当然,你肯定会觉得,是我的量化思维不够专业,写不出足够专业有效的模型去预测下一场价格的波动情况。那我承认……
即使这个策略真的有效可以赚钱,收益也是有上限的。从最近几场 Polymarket 上的流动性深度来看,每一次下单的金额,单腿金额在 100 美元左右还是安全的,如果到 200 美元以上,就会出现买单不够、无法成交的风险。
这一点其实违反直觉,也许你觉得 Polymarket 交易量那么大(百亿美元级别)、玩 btc5m 的人应该很多才对吧?从官网上可以直接看到每一场的 Top holder 和 Top PNL,持有者最多在几千个 shares,收益最高的在几百、几千美元的区间。
那么一天有 288 个 5 分钟,假如真的每一场都是赚的,按照 200 美元的本金算,每一场收益是 10% 也就是 20 美元,一天的收益是 5760 美元。这个是理论上限。当然不可能每一场都赢,大概率赢 9 场输 1 场,收益率减半,一旦多 1 场输,就抹平 5 场的收益,收益打一折,再然后……
既然 btc5m 市场可以用这样的做法,那么 btc15m, btc1h, btc4h, btc1d,eth15m, sol1h…… 是不是也都可以用这样的策略?显然是可以的。