mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
feat: bandarmology (idx stocks bandar, analyze_bandar)
`idx stocks bandar SYMBOL...` reads the broker summary: for the top 1, 3, 5 and 10 brokers per side, buy value minus sell value in basis points of value traded, with a signal from big accumulation to big distribution on the headline tier (--top, default 5). Several symbols give a screen ranked by that figure (at most 100, one request each), which pipes from `stocks screen`. The MCP server exposes it as analyze_bandar (20 symbols). - analysis/bandar.rs is pure and versioned (`top_concentration_v1`): integer basis points, no figure missing counted as zero, buy/sell VWAP from exact averages, and the brokers on both sides listed because their gross figures overstate their direction. - Thresholds (±5%/±15%) follow fzn0x/idx (MIT); docs call them heuristics. - Invalid input fails a screen at once; other errors fail one symbol and are warned about on stderr. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V3syn2fN2LNo5pvTSqc6eh
This commit is contained in:
parent
ae7a1e2b5c
commit
970da26a0e
25 changed files with 1588 additions and 37 deletions
|
|
@ -103,6 +103,11 @@ WIB as the fallback.
|
|||
- Data is end of day: IDX hides broker codes during trading. Summaries that
|
||||
ended before today are cached for 7 days, today's for 5 minutes. Broker
|
||||
names come from `broker/codes.tsv` (IDX `GetBrokerCodeList`).
|
||||
- Bandarmology (`analysis/bandar.rs`, method `top_concentration_v1`) is pure
|
||||
over one summary: for the top 1/3/5/10 per side, buy value minus sell value
|
||||
in basis points of value traded, with thresholds ±500/±1500 bps taken from
|
||||
fzn0x/idx. A tier with a missing figure has no reading; missing values are
|
||||
never summed as zero. A change to the rules gets a new method name.
|
||||
|
||||
### Capability Gating
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue