-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.yaml.example
More file actions
66 lines (58 loc) · 3.13 KB
/
Copy pathconfig.yaml.example
File metadata and controls
66 lines (58 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Polyoracle Configuration
# Copy to config.yaml and set your Telegram credentials
#
# Profile: investor with limited time — tuned for maximum signal quality.
# Every alert represents a large, statistically significant move on a deeply
# liquid market. Expected: 0-3 high-conviction alerts per cycle.
polymarket:
poll_interval: 5m # 5m: fastest practical polling — push notifications mean you act immediately
limit: 5000
categories:
- geopolitics
- tech
- finance
- world
# Volume filters (OR logic): pre-filter events before scoring.
# High thresholds ensure only deeply liquid markets generate signals —
# these markets have the best price discovery and most reliable SNR history.
volume_24hr_min: 25000 # $25K minimum 24hr volume — actively traded today
volume_1wk_min: 100000 # $100K minimum weekly volume — sustained liquidity
volume_1mo_min: 500000 # $500K minimum monthly volume — established markets
monitor:
# sensitivity controls the composite signal quality threshold (0.0=permissive, 1.0=strict)
# Formula: min_score = sensitivity² × 0.05 (window-agnostic — SNR handles scale)
#
# Calibration guide (5m polling, $100K–$2M+ volume events):
# 0.5 → minScore=0.0125 — meaningful moves, moderate noise
# 0.7 → minScore=0.0245 — strict; only large moves on high-volume markets (set here)
# 0.8 → minScore=0.0320 — extreme; near-catalyst-level moves only
#
# Example: 9% drop at 91%→82% on $500K market → score ≈ 1.5+ (passes easily)
# Example: 5% move at 60%→65% on $100K market → score ≈ 0.04 (passes at 0.7)
# Example: 3% move on any market → filtered by min_abs_change first
sensitivity: 0.7
top_k: 10 # Top 10 per cycle only — cuts alert fatigue without sacrificing coverage
# detection_intervals: how many poll_interval periods form the detection window.
# Effective window = (detection_intervals + 1) × poll_interval.
# At 5m polling: 8 → effective 45m window [(8+1) × 5m = 45m]
# — optimized for push-notification investors who act immediately
# — 9 snapshots in window: sufficient for trajectory consistency
# — catches news-driven moves at their typical Polymarket reaction speed
detection_intervals: 8
# min_abs_change: minimum absolute probability change required (fraction, e.g. 0.05 = 5pp).
# Hard filter before KL/SNR scoring. Eliminates economically irrelevant micro-moves
# that KL divergence can inflate (especially near certainty boundaries).
# 10pp is the minimum threshold for a move to be worth an investor's attention.
min_abs_change: 0.1
# min_base_prob: minimum base (old) probability (fraction, e.g. 0.05 = 5%).
# Markets below 5% are in the tail zone where KL is structurally unreliable.
min_base_prob: 0.05
telegram:
bot_token: "YOUR_BOT_TOKEN" # Get from @BotFather
chat_id: "YOUR_CHAT_ID" # Get from @userinfobot
enabled: true
storage:
max_events: 10000 # Track up to 10000 events
max_snapshots_per_event: 2016 # 7 days × 12 snapshots/hr at 5m polling for SNR
logging:
level: info # debug, info, warn, error