Strategy Document

Polybot Paper Trading

Dashboard loading state unknown

核心理念

Polybot Strategy 1 做的是 Polymarket BTC 5 分钟 up/down 市场的纸面交易。 它不是看 Bitget 赔率,也不是在 Bitget 执行;当前赔率标准来自 Polymarket CLOB 的 YES/NO 订单簿。底层 BTC 实时价格和历史波动率目前来自 Binance BTCUSDT。

它在每个 5 分钟合约窗口里比较 Polymarket 盘口隐含概率和模型理论概率。 如果差距足够大,并且通过时间、趋势、盘口、资金流、费用、重报价和风险过滤, bot 才会模拟开仓。当前版本是 paper-only,没有真实钱包和真钱交易。

Live State

Equity--
Realized PnL--
5m Markets--
Decisions--
Latest Action--
Model Window--
Model Refresh--
Entry Window--
Odds Source--
Underlying--

--

模型在比较什么

Market probability Polymarket CLOB 盘口价格转成的概率。Strategy 1 用 YES best bid/ask 的中点作为 YES 的市场概率。
Theory probability 由 Binance BTCUSDT 实时价格、窗口开盘价、短期波动率和历史桶估计出的到期概率。
Realized volatility 当前 sigma 来自最近 7 天 BTCUSDT 1 分钟 close 的对数收益率标准差,再按平方根时间缩放到每秒。它不是从 Polymarket 价格反推出的 Black-Scholes 隐含波动率。
GBM probability bot 用当前价格、开盘价、剩余秒数、每秒 drift 和每秒 sigma,估计 BTC 到期仍高于开盘价的概率。
Conservative theory 如果历史桶概率可用,bot 会在 GBM 概率和历史桶概率之间选择更接近市场概率的一边,减少误判错价。
Rolling history window 历史桶使用刷新时刻往前的最近 7 天数据。bot 运行到后天时,会用后天当下往前 7 天,而不是部署当天固定样本。
Signal gap / imbalance 理论概率与市场概率的差。差距越大,越可能存在可交易偏差;差距太小就跳过。
Requote guard 入场前会重读一次 Polymarket CLOB。如果最新 ask 已经跳高、超过极端价格上限,或者盘口不可用,就不假设旧价格还能成交。
Gap stop 12% 止损是触发线,不是最大亏损承诺。若下一次扫描看到的 best bid 已经明显穿过止损线,会记录为 gap stop。

IMB 如何从波动率过来

每小时刷新时,bot 会取最近 7 天 BTCUSDT 1 分钟 close,计算对数收益率的均值和标准差。 这个标准差会转成每秒 sigma,并进入 GBM 模型。GBM 输出 `p_gbm`,历史桶输出 `p_hist`, 两者经过保守选择得到 `p_theory`。

`p_market` 是 Polymarket YES best bid/ask 中点。最终信号是 `IMB = p_market - p_theory`。如果 IMB ≥ +15%,说明 YES 相对理论偏贵,候选方向是买 NO; 如果 IMB ≤ -15%,说明 YES 相对理论偏便宜,候选方向是买 YES。

为什么经常 Skip

高频策略最重要的不是一直交易,而是在没有明显优势时不交易。`Skip` 通常表示: 理论概率和市场概率差距还不够大,或者已经太接近结算,或者盘口、价差、趋势过滤器不支持入场。

`IMB` 超过 15% 只代表第一道信号门槛达标,并不等于一定开仓。之后还要继续检查: 入场时间窗口、同一合约冷却、BTC 短线资金流、盘口深度、买入侧价差、扣费后的净期望值, 以及入场前重读盘口的价格是否仍可接受。 任何一关不通过,bot 都会记录为 Skip。

因此,长时间看到很多 Skip 不一定是坏事。更关键的是:当策略决定入场时,是否来自明确的边际, 以及 24 小时后净收益、费用、胜率和回撤是否合理。

Market Windows 怎么看

每张卡片是一轮 5 分钟合约。彩色条显示这一轮里等待、跳过、入场的构成; `move` 是 BTC 相对该轮开盘价的变化;`mkt` 和 `thy` 分别是市场概率和理论概率; `avg imb` 是该窗口内平均信号差;`peak +imb` 和 `peak -imb` 是窗口内曾出现过的最强正负信号; `hi ticks` 是达到入场信号门槛的扫描次数;`hi enter` 是其中真正入场的次数; `top block` 是高信号没有入场时最常见的拦截原因。

历史模型如何动态更新

启动时,bot 会先抓取当前时刻往前 7 天的 BTC 1 分钟 K 线,用它同时更新两部分: 短期波动率,以及按 5 分钟窗口回放得到的历史胜率桶。

运行期间,后台刷新任务会按固定间隔重新抓取“刷新当下往前 7 天”的数据并替换历史模型。 所以时间继续往前走时,模型样本也会跟着滚动,不会一直停留在最初部署那 7 天。

恢复运行前检查

如果状态是 halted,不要只看容器 healthy。先看 halt reason、最近亏损、是否有 API 错误、 以及高 IMB 未入场的主要拦截原因。确认策略参数已经部署并备份数据库后,再通过控制接口恢复 paper trade。

当前建议:保持 paper-only,先让 Strategy 1 在新窗口、重报价和滑点标记规则下重新跑一段时间, 再评估是否接真实钱包。

当前判定

Waiting for live data.