idx-cli/ROADMAP.md
0xrsydn ae0ca0c109 feat: shareholder movements from the Stockbit session (ownership movements)
`idx ownership movements [SYMBOL]` and the MCP tool
`get_shareholder_movements` list reported changes in insiders' and major
holders' stakes, newest first, from Stockbit's
/insider/company/majorholder: IDX insider disclosures (any size, with the
trade price) and KSEI changes of holders at 5% and above (Stockbit's
estimated price). Stockbit filters by date range, holder id, action and
source; each page is 50 rows and one request, up to 10 pages, cached an
hour per page under every filter.

Rows keep exact signed share counts and the stake in basis points as
Stockbit rounds it; unknown action labels are kept as `other` rather than
dropped. JSON is {movements, more}; JSONL is one movement per line. The
command lives under `ownership` but needs no import, and `ownership`
commands now take --offline / --no-cache for it.

The per-symbol summary score is the next PR; docs/STOCKBIT.md records the
endpoint's parameters and action types as checked on 2026-11-03.

Claude-Session: https://claude.ai/code/session_01RqPPVeVDrnLoP7NUZmLRxY
2026-11-03 16:02:26 +07:00

4.3 KiB

Roadmap

Open work only. Shipped behavior is described in README.md and docs/; history lives in git.

Stocks

  • market summary: market breadth and an index overview (index levels alone are already stocks intraday ^JKSE and --provider stockbit stocks quote IHSG)
  • market movers: top gainers, losers, and volume
  • market sectors: sector performance overview
  • screen query "<EXPR>": filter stocks by expression
  • screen presets / screen run <PRESET>: built-in screener presets (graduate screen out of stocks only if these grow into a richer workflow)
  • Multi-period financial statements (today financials is single-period)
  • Order book depth without a login: no free source exists (IDX sells delayed depth to vendors); stocks orderbook needs the user's Stockbit login.
  • Shareholder movement follow-ups (docs/STOCKBIT.md): ownership movements --summary, a per-symbol score (net value, distinct buyers, share-plan flag), then an event study before calling any of it a signal; joining holders to ownership entities by name. Corporate-action follow-ups: ex-dates of splits, bonuses and rights noted in stocks history, and the stock_dividend / reversesplit row shapes once Stockbit lists one.
  • Stockbit login follow-ups: hourly OHLCV from the session's 1w chart (the 1d chart is per-minute closes only); confirming session 1 is STATE_NAME_SESSION_1 (session 2, BREAK and MARKET_CLOSED were recorded on 2026-11-03), and when has_foreign_bs turns on with the day's foreign figures; an opt-in daily refresh so a session outlives the refresh token's week, once it is known whether Stockbit caps a session's total life; and the sign-in response (/login/v6/*, read over DevTools' Fetch) as a second signal beside the credentialStorage cookie, should Stockbit rename or move it.
  • Google sign-in in idx's browser window: Google refused it on 2026-10-31, most likely over --remote-debugging-port. First confirm by trying Google in a plain window on a throwaway profile; if that works, sign in with no debugging flag and reopen the profile with it, on a blank page, to read the cookie.
  • Observe Stockbit's market_hour.status in the pre-open (08:45-09:00) and the closing auction (15:50-16:00) before --watch or alerts build on it; open, break and close are known, and the bid/offer gate hides the book for anything but open.
  • Bandarmology follow-ups: a daily series (per-session readings and the cumulative top-N net) and a price-move phase (quiet accumulation, markup), calibration of the top_concentration_v1 thresholds across more sessions, and a market-wide foreign flow screen from one IDX trading summary
  • News beyond MSN in news / get_company (docs/IDX_NEWS.md): Google News RSS per ticker, and IDX disclosures and exchange news through a maintainer-published feed

Workflow

  • watchlist: named symbol sets usable by other commands
  • alerts: price alerts with a daemon
  • CSV/TSV output
  • Additional providers (Alpha Vantage, Twelve Data); IDX's own site serves only stocks flow --source idx today

Agent integration

  • JSON Schema export for command output
  • Composite analyze command (quote, fundamentals, ownership, sentiment)

Known limits

  • stocks broker and stocks bandar show only IPOT's top 10 buyers and sellers, ranked by gross lots, with figures of a million and more rounded to one decimal.
  • stocks flow --source idx depends on IDX's Cloudflare passing a curl-impersonate profile (only curl_safari184 in October 2026) and on the network; the default IPOT source rounds to one decimal.
  • Stockbit's terms call its data delayed at least 10 minutes and for personal, non-commercial use (on 2026-10-23 the last trade was within a minute of the clock); its CDN refuses some user agents with a 403 (UPSTREAMBLOCKED). The public page's best bid/offer sizes are not shown yet; they are shares (equal to the session API's book on 2026-10-23).
  • Yahoo can return 429 from datacenter IPs; requests retry with backoff but can still fail.
  • stocks technical reports the SMA200 trend as unavailable when fewer than 200 daily candles are returned.
  • MSN's low-pe screen returns no priced stocks (PARSEERROR; still so on 2026-10-23, upstream; other filters work).
  • MSN history for IDX is price-only (1mo, 3mo, 1y); Yahoo stays the default OHLCV source.