From 5a9c6add41b477565ef71ce527b13eb9f074cade Mon Sep 17 00:00:00 2001 From: chemavx Date: Tue, 14 Apr 2026 12:48:23 +0000 Subject: [PATCH] feat(strategy): skip markets with extreme priors (< 0.08 or > 0.92) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Markets where Polymarket consensus is near-certain leave no room for our signals to generate MIN_EDGE=0.10 — evaluating them wastes GNews quota and produces noise. Filter them out early with a clear log reason. Co-Authored-By: Claude Sonnet 4.6 --- bot/strategy/bayesian.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bot/strategy/bayesian.py b/bot/strategy/bayesian.py index eeacb27..caa10a2 100644 --- a/bot/strategy/bayesian.py +++ b/bot/strategy/bayesian.py @@ -129,6 +129,23 @@ class BayesianStrategy: # The market already aggregates information from many traders; # our signals update from that informed baseline, not from 0.5. prior = max(0.05, min(0.95, market.yes_price)) + + # Skip markets where the crowd has already reached near-certainty. + # Below 0.08 or above 0.92 there is not enough room for our signals + # to generate MIN_EDGE — any trade would be fighting near-certain consensus. + if market.yes_price < 0.08: + log.info( + "SKIP %-50s | cat=%-12s | prior=%.3f | reason=prior too low, market already certain", + market.question[:50], category, market.yes_price, + ) + return None + if market.yes_price > 0.92: + log.info( + "SKIP %-50s | cat=%-12s | prior=%.3f | reason=prior too high, market already certain", + market.question[:50], category, market.yes_price, + ) + return None + sources: list[str] = [f"Prior=poly({prior:.3f})"] adjustments: list[float] = []