Skip to content

PasarWatch

Status: v1.0.0 — Gone Gold (2026-03-25) Type: Indonesian stock market forecasting + alert system


What it is

RL-inspired ML system for IHSG market signals. Runs daily via cron, delivers Telegram alerts.


Model

  • Type: RL-inspired Random Forest
  • Features (7): sentiment, close, ma5, ma20, rsi, volume_ratio, returns_5d
  • Replay buffer: 252 records with reward x recency weighting
  • Sentiment: finBERT (mrm8488/distilroberta-finetuned-financial-news-sentiment-analysis)

Cron Jobs

Job Schedule Description
pasarwatch-daily-update 19:00 JST Full RL loop — fetch, score, predict, update model
pasarwatch-weekly-report Mon 09:00 JST Accuracy digest + walk-forward backtest
ihsg-intraday-monitor Every 15min, 11:00-18:00 JST Intraday ±2% alert check

Key Scripts

tools/
  pasarwatch_daily_run.py       — full daily RL loop
  pasarwatch_weekly_run.py      — weekly digest + backtest
  intraday_check.py             — intraday alert check
  pasarwatch_health.py          — staleness + missed-day detection
  pasarwatch_formatter.py       — unified Telegram formatter
  pasarwatch_rl_model.py        — model, features, signal_tier, accuracy_report
  pasarwatch_alerts.py          — MOVE/SENTIMENT/DIVERGENCE alert state machine
  pasarwatch_backtest.py        — walk-forward backtest, baseline comparison
  pasarwatch_watchlist.py       — 6-ticker watchlist (coal/oil/telecom/banking)

Smoke Test

13/13 pass at v1.0.0 release.


Status Notes

  • First live cron run: 2026-03-25 19:00 JST
  • Sentiment cache building in background (real finBERT scores replace 0.0 placeholders once done)