get_market_anomalies
Ruchy cen odstające od zwykłej zmienności spółki, wyłapane automatycznie.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbolsScope | No | What universe to scan. Default 'both' (portfolio + watchlist). ⛔ 'all_covered' now means EVERY ACTIVE polish-stocks name - 392 as measured 2026-08-19. Until then it meant [symbols that happen to have a forecast document], which was 35 names, i.e. 8.4% of the market, and a criterion unrelated to price movement: of the ten largest moves that day, ZERO were inside the scan. The same label already meant [every GPW name with a sector tag] in sector_pulse_pl, so this removes a 12x split between two populations sharing one name. Cost measured before the change: candle read 35 docs / 110 kB / 163 ms versus 389 docs / 1169 kB / 356 ms; the live-quote fan-out runs under a 20 s budget and falls back to daily closes past it, so the scan cannot hang the response. | |
| withSynthesis | No | If true, run a Sonnet 4.6 call per flagged anomaly to write a 1-2 sentence Polish hypothesis (~$0.05 per anomaly). Default false — caller can synthesize itself or post-hoc. | |
| sigmaThreshold | No | Min |move|/σ to flag. Default 1.5 (catches mid-magnitude moves). Use 2 for stricter, 1 for noisier. | |
| includeMarketContext | No | If true, also return WIG / WIG20 / mWIG40 / sWIG80 today's change as context. Default true. |