Skip to content

feat: polymarket data filter CLI tool#13

Open
kittleik wants to merge 4 commits intowarproxxx:mainfrom
kittleik:feat/polymarket-filter
Open

feat: polymarket data filter CLI tool#13
kittleik wants to merge 4 commits intowarproxxx:mainfrom
kittleik:feat/polymarket-filter

Conversation

@kittleik
Copy link

What

CLI tool (filter.py) to filter the 84GB+ orderFilled.csv dataset without loading it into memory.

Features

  • --search: keyword filter on market names
  • --from/--to: date range filtering
  • --min-usd: minimum USD value per trade
  • --token: specific token ID
  • --summary: stats-only mode
  • --top-markets N: top N markets by volume
  • All filters combinable

How it works

  • Loads markets.csv (~50MB) for token ID resolution
  • Writes matching token IDs to temp file
  • Streams orderFilled.csv through awk with all filters
  • Python handles stats aggregation on the filtered output

Tested

  • --search bitcoin --summary: 81M rows, $3.5B volume, 341s, no OOM
  • --search bitcoin --min-usd 10000 --from 2025-12-01: running

Forge added 4 commits February 15, 2026 15:40
- Splits time range into N segments, syncs in parallel with ThreadPoolExecutor
- Sticky cursor optimization: skips follow-up batches when boundary count < threshold
- Graceful shutdown on SIGINT/SIGTERM, per-worker logging
- Tested: 2 workers, 36k records in 28.6s (1273 rec/s)
- signals/scan.py: tails orderFilled.csv (no pandas), detects signals
- signals/detect.py: whale orders (>0k) and volume spikes (3x+ normal)
- signals/alert.py: logs to alerts.log, Telegram support ready
- signals/config.json: configurable thresholds
- BTC market tagging via btc_price_markets.csv
- Min k volume filter to reduce noise
Streams 84GB+ orderFilled.csv via awk — never loads into memory.
Supports: --search, --from/--to, --min-usd, --token, --summary, --top-markets.
Token ID matching uses awk associative arrays loaded from temp file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant