Новая вкладка "Screener" на дашборде Weather Bot Дата: 21 May 2026
Скринер всех рынков Polymarket — не только погода. Показывает где сейчас edge, объёмы, движение цен. Цель: находить выгодные ставки + основа для SaaS.
| Метрика | Описание |
|---|---|
| Total Markets | Кол-во активных рынков |
| 24h Volume | Суммарный объём за 24ч |
| Top Mover | Рынок с макс движением цены |
| Avg Spread | Средний спред по топ-рынкам |
| Колонка | Описание |
|---|---|
| Market | Question (кликабельна → ссылка на Polymarket) |
| Category | Тег категории (badge) |
| YES Price | Текущая цена YES (цветовая шкала: зелёный >80c, красный <20c) |
| 24h Change | Изменение цены за 24ч (▲▼ + цвет) |
| Spread | Best bid — best ask (узкий = ликвидный) |
| Volume | 24h volume ($) |
| Liquidity | Глубина orderbook top-5 levels ($) |
| End Date | Когда рынок закрывается |
| Action | Кнопка "Details" → раскрывает доп. инфо |
GET /api/screener/marketsQuery params:
category: string (optional)
min_volume: number (default 1000)
min_price: number (default 0.05)
max_price: number (default 0.95)
sort: volume|change_24h|spread|liquidity (default: volume)
search: string (optional)
limit: number (default 50, max 200)
Response: {
success: true,
data: {
markets: [{
id, question, slug, category,
yes_price, no_price,
change_1h, change_6h, change_24h,
spread, volume_24h, liquidity,
end_date, event_slug, image_url
}],
meta: { total, fetched_at }
}
}
GET /api/screener/market/:id/detailsResponse: {
success: true,
data: {
orderbook: { bids: [...], asks: [...] },
price_history: [{ t, p }], // 7 дней, hourly
related_markets: [...]
}
}
GET /api/screener/statsResponse: {
total_markets, total_volume_24h,
top_mover: { question, change_pct },
avg_spread,
categories: [{ name, count, volume }]
}
Все данные из бесплатного Gamma API (тот же что scanner.py уже использует):
GET https://gamma-api.polymarket.com/events
?active=true
&closed=false
&limit=50
&offset=0
&order=volume24hr
&ascending=false
Маркеты из event → event.markets[]:
outcomePrices → YES/NO ценыvolume24hr → объёмspread → спред из CLOB (отдельный запрос)endDate → дата закрытияquestion → вопросslug → для ссылкиКеш: SQLite таблица screener_cache, TTL 60 секунд.
Фоновый скан каждые 2 минуты (APScheduler job, как weather scan).
Текущие табы: [Trade History] [Markets] [Performance] [Settings]
↓
Новый: [Trade History] [Markets] [Performance] [Screener] [Settings]
Новые файлы:
screener.py — Gamma API fetcher + cache (≤150 строк)
static/js/screener.js — фронт логика вкладки (≤200 строк)
Правки:
bot.py — +3 endpoints, +1 scheduler job (~30 строк)
static/index.html — +tab button, +tab content section (~60 строк)
static/css/style.css — +стили для screener (~40 строк)
static/js/app.js — +switchTab('screener') support (~10 строк)