Skip to content

v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 19 Oct 11:03
· 1 commit to main since this release
a082a49

Broker summaries, bandarmology and foreign flow, from public data with no login or key.

New Features

  • idx stocks broker and the MCP tool get_broker_summary show a stock's top 10 buying and selling brokers over a day or a date range, with totals. You can filter by investor side and board. The data comes from Indo Premier (IPOT). (#62, #63)
  • idx stocks bandar and analyze_bandar read broker concentration as buy minus sell value for the top 1, 3, 5 and 10 brokers, and give a signal from big accumulation to big distribution. Several symbols make a ranked screen that stocks screen can pipe into. The thresholds are heuristics. (#64)
  • idx stocks flow and get_foreign_flow show foreign buying, selling and net value session by session. The data comes from IPOT by default; --source idx uses IDX's trading summary for exact share counts. (#65, #68)
  • --investor foreign|domestic now reads one investor side in broker and bandar, with that side's buy and sell totals. (#67)

Bug Fixes

  • Quotes and IDX screen rows now carry behind_session: true when the last trade is from before the latest IDX session. The quote table adds a note for these quotes, so a provider still showing the previous close after the session is no longer passed off as the latest price. (#71, #50)

Improvements

  • IPOT broker pages are parsed with html5ever and accepted only in IPOT's exact markup. A page that differs is rejected with an error and never misread. (#70)
  • IPOT pages for dates other than those requested are rejected before caching, and so are IDX trading summaries with no rows for the requested session. (#70)
  • Bandar readings use checked arithmetic, and the table says "No trades." only when no broker traded. (#70)
  • Flow and broker data share caches. Past sessions are cached for days and today for 5 minutes, and offline latest lookups skip uncached days. (#62, #65, #68)
  • The analyze_bandar top parameter lists its allowed values (1, 3, 5, 10) in the MCP schema. (#70)

Notes

  • stocks flow --source idx needs curl-impersonate. The default IPOT source does not.
  • New dependency: scraper 0.27 (html5ever). Servo's selectors, cssparser and dtoa-short are MPL-2.0 and used unmodified.
  • JSON output for quotes and screens adds the behind_session field; no existing field changed.

Full Changelog: v0.3.3...v0.4.0