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] = []