Panduan Haircut Margin Engine
Cara baca dan mengerti HPS Haircut Engine — risk pricing dinamis untuk 1005 saham IDX dengan baseline KPEI (regulator), KBVS sebagai referensi, dan integrasi Crash Radar regime + sector rotation + adaptive Level 3 modifier.
1Filosofi: Haircut sebagai Risk Pricing
Haircut adalah persentase potongan dari market value saham yang digunakan sebagai jaminan margin. Saham dengan haircut 5% artinya hanya 95% dari nilai pasar yang bisa dipakai sebagai collateral.
3 Sumber Haircut: KPEI / KBVS / HPS
| Sumber | Karakter | Status |
|---|---|---|
| KPEI (Komite HC, regulator) | Official, di-update bulanan oleh Kliring Penjaminan Efek Indonesia | Primary baseline sejak v6 |
| KBVS (broker reference) | Quarterly, dari KBVS broker; dipakai banyak broker IDX sebagai reference | Secondary reference (display column) |
| HPS (engine kami) | Dinamis: KPEI × regime × tier × adaptive — responsive ke market state | Final output |
data/kpei_haircut.json setiap page load.Kenapa KPEI sebagai baseline (bukan KBVS)?
- KPEI = official regulator data, lebih authoritative untuk margin calculation
- Update lebih teratur (bulanan) dengan dokumentasi Pengumuman publik
- Konsisten across brokers — KBVS hanya kebiasaan KBVS broker
- HPS engine align dengan compliance posture
HPS = VS sebagai baseline + lapisan dinamis (regime, tier, sector, adaptive).
KPEI × Multiplier(regime, tier) + IndexAdj + SectorAdj × AdaptiveMod = HPS
2Komponen Engine
HPS Haircut Engine terdiri dari 6 lapisan, applied secara berurutan:
| Layer | Komponen | Fungsi |
|---|---|---|
| 1 | KPEI Baseline | Haircut KPEI bulanan dari regulator sebagai starting point (KBVS sebagai referensi) |
| 2 | Tier Composite | 5-factor scoring (ADTV, FF, HV20, ATR, Index) → Tier 0-4 |
| 3 | Regime Multiplier (TM) | Crash Radar regime × Tier → multiplier ke VS |
| 4 | Index Adjustment (IA) | LQ45 / IDX80 / Non-Index bonus/penalty |
| 5 | Sector Adjustment | Rotation favor + beta adjustment |
| 6 | Adaptive (Level 3) | Stock stress + market breadth + velocity (NEW) |
3Tier Composite — 5-Factor Scoring
Tier menentukan "kelas risiko" saham dari 0 (paling aman) hingga 4 (paling berisiko). Score gabungan dari 5 faktor:
| Faktor | Bobot | Yang dinilai |
|---|---|---|
| ADTV (Avg Daily Trading Value) | 40% | Likuiditas: ADTV besar = mudah keluar masuk |
| Free Float | 20% | % saham yang bisa diperdagangkan publik |
| HV20 (Historical Volatility 20-day) | 25% | Volatilitas harga 20 hari terakhir |
| ATR% (Average True Range) | 10% | Range harian rata-rata |
| Index Membership | 5% | LQ45 / IDX80 / Non-Index |
Setiap faktor di-score 0-100, lalu di-weighted-average → composite score → Tier:
BBCA, BBRI, blue-chip blue-chip
LQ45 high quality
IDX80 normal
Mid/small cap volatile
Speculative, illiquid
4Regime Multiplier (TM)
Multiplier yang diaplikasikan ke VS berdasarkan kombinasi Regime × Tier:
| Regime | Premier (T0) | Strong (T1) | Sound (T2) | Heightened (T3) | Very High (T4) |
|---|---|---|---|---|---|
| Risk On | 0.85× | 0.95× | 1.05× | 1.20× | 1.45× |
| Volatility | 0.90× | 1.00× | 1.15× | 1.40× | 1.80× |
| Bearish | 1.00× | 1.15× | 1.40× | 1.80× | 2.40× |
| Panic | 1.10× | 1.40× | 1.90× | 2.50× | 3.50× |
Logic: di stressed regime, tier berisiko (3-4) di-penalize lebih keras. Tier rendah masih dikasih sedikit "flight to quality" discount di Volatility.
5Index Adjustment (IA)
Bonus/penalty (dalam %) berdasarkan keanggotaan index:
| Regime | LQ45 | IDX80 | Non-Index |
|---|---|---|---|
| Risk On | −3 | −2 | 0 |
| Volatility | −2 | −1 | +2 |
| Bearish | 0 | 0 | +5 |
| Panic | 0 | +3 | +10 |
Logika: index terkurasi (LQ45/IDX80) dapat bonus di calm market, gakhpapa di Bearish, dan Non-Index dapat penalty progresif sesuai stress.
6Sector Adjustment
Penyesuaian berdasarkan rotation favor + risk-adjusted beta:
Rotation Favor (rFav)
- rFav = 1 (favored): Sektor sedang OW di sector rotation engine
- rFav = 0 (avoided): Sektor sedang UW
Logic Sector Adjustment
| Kondisi | Adjustment |
|---|---|
| Favored + score ≥ 60 + beta ≤ 0.7 | −6% × damp |
| Favored + score ≥ 50 + beta ≤ 1.0 | −4% × damp |
| Favored + score ≥ 50 + beta > 1.0 | −1% × damp |
| Avoided + beta ≥ 1.3 | +8% × avS |
| Avoided + beta ≥ 1.0 | +5% × avS |
| Avoided + beta < 1.0 | +3% × avS |
damp dan avS adalah regime modifier:
- Damp (favored bonus dampener): Risk On 1.0 → Panic 0.3 (favored bonus dikurangi di stressed)
- avS (avoided penalty scaler): Risk On 0.5 → Panic 1.0 (avoided penalty diperkuat di stressed)
7Margin Ratio (MR)
MR = berapa persen dari total collateral yang bisa dipakai untuk leverage. Higher = bisa leverage lebih besar.
MR Base × Regime
| Regime | MR Base |
|---|---|
| Risk On | 75% |
| Volatility | 67% |
| Bearish | 50% |
| Panic | 40% |
MR Tier Adjustment
| Tier | Adjustment |
|---|---|
| Premier (T0) | +5 |
| Strong (T1) | +3 |
| Sound (T2) | 0 |
| Heightened (T3) | −5 |
| Very High (T4) | −10 |
Plus modifier: Big4 +3, Favored ≥50 +2, Avoided beta≥1.3 −3. Final MR di-clamp 0-80%, dan = 0 jika HALT atau non-margin.
8HALT Triggers
Saham dikecualikan dari margin (HALT) jika salah satu trigger ini:
- Composite ≥ regime threshold:
- Risk On: composite ≥ 90
- Volatility: composite ≥ 80
- Bearish: composite ≥ 70
- Panic: composite ≥ 60
- HPS ≥ 90% (haircut sangat tinggi = effectively no leverage)
- Non-IDX80 + Tier 4 + Bearish/Panic (combo paling risky di stressed regime)
Non-Margin (NM/REG) = saham reguler yang memang tidak boleh untuk margin (static, dari KBVS list).
9CPI Interpolation
CR score 0-100 di-bin ke 4 regime, tapi titik tepat di boundary (mis. CR 24 vs 25 vs 26) bisa loncat dramatis. CPI Interpolation menghaluskan ini dengan blend antar regime.
Logika Blend
| CR Score | Regime | Blend % | Target Regime Berikutnya |
|---|---|---|---|
| 0–25 | Risk On | (score/25) × 100% | Volatility |
| 25–50 | Volatility | ((score-25)/25) × 100% | Bearish |
| 50–75 | Bearish | ((score-50)/25) × 100% | Panic |
| 75+ | Panic | 100% | Panic |
Toggle CPI Interp di UI untuk on/off (default ON, recommended).
10Adaptive Level 3 BARU
Adaptive engine menambahkan 4 lapisan dinamis di atas regime base:
10.1 — Stock Stress Modifier
Per-stock stress signal dari kondisi saat ini:
| Trigger | Threshold | Mod |
|---|---|---|
| HV20 ekstrem | > 75% | +10% |
| HV20 tinggi | > 60% (else) | +5% |
| ATR spike | > 8% | +5% |
| Truly illiquid | ADTV < 0.5B | +10% |
Cap total: +25% per stock. Stocks ber-stress mendapat badge ⚠ STRESS+ di UI.
10.2 — Market Breadth Modifier
Sinyal global berdasarkan % stocks dengan HV20 > 50:
| Breadth | Mod (semua stocks) |
|---|---|
| > 70% | +10% |
| 60–70% | +5% |
| ≤ 60% | 0% |
Logika: kalau lebih dari 60% saham IDX volatile, kondisi systemic — semua haircut tighten.
10.3 — Regime Velocity Modifier
Sinyal dari kecepatan perubahan CR score (5-day delta):
| Δ CR (5 hari) | Mod (semua stocks) |
|---|---|
| > +15 | +10% |
| > +10 | +5% |
| ≤ +10 | 0% |
Logika: kalau CR naik >10 poin dalam 5 hari, market deteriorating cepat — proaktif tightening.
10.4 — Dynamic Sector Stance
Replace static Index Adjustment dengan stance dinamis dari sector signal aggregation:
- Sektor OW: IA = −2 (encourage)
- Sektor Neutral: IA = 0
- Sektor UW: IA = +3 (penalty)
Sector stance dihitung dari aggregate: avg(stk_score) × 50% + (% Buy signal) × 30% + (% trend up) × 20%. OW jika ≥55, UW jika ≤40.
b = breadth % saat ini · v = velocity 5d delta
Jika kedua nol → adaptive layer cuma stock-stress yang aktif. Saat market memburuk, b dan v naik → tighten globally.
Combined Formula Adaptive
11Big4 Bank Override
BBCA, BBNI, BBRI, BMRI mendapat treatment khusus:
- Sector penalty cap +2% — meski Banks sektor sedang dihukum, Big4 tidak ke-impact penuh
- MR bonus +3% — Big4 dianggap systemically important, MR lebih tinggi
Logika: Big4 adalah pilar sistem keuangan Indonesia, tidak fair menyamakan dengan bank kecil di Banks UW.
12Final Formula End-to-End
// Static path (no adaptive) mult = TM[regime][tier] iA = IA[regime][indexBucket] secAdj = secAdj(rotationFavor, beta, regime, big4) hps = clamp(3, 95, round(KPEI × mult + iA + secAdj))
// Adaptive path (Level 3) stockStress = stockStressMod(adtv, hv20, atr) adaptive_mult = mult × (1 + stockStress + breadthMod + velocityMod) adaptive_iA = sectorStanceIA[sector] // override hps = clamp(3, 95, round(KPEI × adaptive_mult + adaptive_iA + secAdj))
Contoh Praktis: PTRO di CR 38 Volatility
Adaptive: stockStress = HV>60(+5) + ATR>8(+5) = +10% Adaptive mult: 1.15 × 1.10 = 1.265 Adaptive HPS: 45 × 1.265 + (−1) = 55.9 → 56%
Verdict: HPS naik 51 → 56 (+5pp) karena PTRO saat ini volatile. Bagger boleh hold tapi risk pricing realistis.
13Cara Baca Tabs di UI
13.1 — Haircut Table (default)
List semua 1005 saham dengan kolom:
- TICKER: ✓ ada margin · ✗ ada NM/non-margin · ★ Big4
- SECT: kategori sektor
- ROTATION: sektor rotation status
- TYPE: MRG / REG (margin / reguler)
- RISK: composite score 0-100
- KPEI: KPEI haircut (regulator baseline) — sumber utama
- KBVS: KBVS reference haircut (broker secondary)
- HPS: HPS computed haircut (default sort ascending)
- Δ: HPS − KPEI (positif = HPS lebih ketat dari regulator)
- MR%: margin ratio
- STATUS: COLL (collateral OK), HALT, REG, dll
13.2 — Margin Ratio
Tampilan tier × regime untuk MR Base + adjustment matrix.
13.3 — Sector Map
Per-sector summary: jumlah margin/non-margin, weight, P/L per sektor.
13.4 — Regime Matrix
Decision Map dengan 4 regime cards + Tier × Regime multiplier table + Index Adj table + MR Base table.
13.5 — Justification
Penjelasan justifikasi engine: Full Universe, Margin/Non-Margin treatment, Big4 override, HALT/MR rules.
14FAQ & Common Questions
Q: Kenapa HPS lebih rendah dari KPEI untuk blue-chip di Volatility?
A: Flight-to-quality logic. Di stressed market, capital pindah ke blue-chip yang likuid, sehingga risk pricing-nya turun relative. Tier 0 di Volatility kena multiplier 0.90 + IA LQ45 −2. Total bisa < VS. Kalau Anda mau lebih konservatif (HPS ≥ VS selalu), enable Adaptive yang akan tambah penalty stock-specific via stress mod.
Q: Kenapa "Adaptive" status menampilkan b:56% v:+0?
A: b = breadth (% saham dengan HV20>50). v = velocity (CR 5d delta). Saat market normal, b ~50% dan v ~0 — global adaptive mods inactive, hanya stock-specific stress yang berjalan. Saat market stress, b naik ke 60%+ dan v positive → kedua mods kicked-in dan tighten semua haircut.
Q: Beda CPI Interp vs Adaptive?
A:
- CPI Interp: smooth blend regime saat CR mendekati boundary (cosmetic, gradient transition)
- Adaptive Level 3: real signal modifier (stock stress, breadth, velocity, sector stance) — strukturalmengubah haircut berdasar data dinamis
Q: Beda KPEI vs KBVS untuk saham yang sama?
A: Wajar — beda institusi punya methodology berbeda. KPEI lebih conservative untuk saham non-mainstream (banyak yang naik dari 90% KBVS ke 100% KPEI). KBVS lebih aggressive di beberapa nama tertentu. Engine sekarang pakai KPEI sebagai source of truth karena lebih authoritative + update teratur. Kolom KBVS tetap displayed untuk Anda compare/sanity check.
Q: Saham di portfolio saya KPEI 100% tapi KBVS 90% — kenapa?
A: KPEI klasifikasi sebagai non-marginable (haircut 100% = no leverage). KBVS bisa beda definisi atau timing update. Untuk pure HPS calculation, gunakan KPEI sebagai authoritative. Kalau Anda margin via KBVS broker, ikuti aturan broker tapi engine kami menampilkan KPEI agar align dengan regulator.
Q: Apa default sort di Haircut Table?
A: HPS ascending — blue-chip Premier (HPS 3-5%) di atas, junk (HPS 95%) di bawah. Klik header lain (Δ, RISK, MR%, dll) untuk re-sort.
Q: Tier scoring saham A dan B beda meski VS sama?
A: Iya. VS adalah static dari KBVS, tapi tier composite dihitung dari ADTV/FF/HV20/ATR/Index per stock. Dua stocks dengan VS 5% bisa Tier 0 vs Tier 2 tergantung composite. Yang Tier 0 dapat multiplier lebih kecil → HPS lebih rendah.
Q: Kenapa ada saham status REG bukan COLL?
A: REG = Reguler / Non-Margin — saham yang memang tidak boleh untuk transaksi margin per KBVS list. Tetap dihitung HPS untuk client limit reguler scoring tapi tidak dapat MR dan tidak coll.
Q: Sector adjustment kelihatan kompleks, bagaimana memahaminya?
A: Intuitif: kalau sektor sedang OW (rotation favored) dengan beta rendah dan score tinggi → kasih bonus diskon sampai −6%. Sebaliknya sektor UW dengan beta tinggi → kena penalty +8%. Damp/avS adalah moderator regime: di stressed market, bonus dikurangi tapi penalty diperkuat.
Q: Mengapa Big4 dapat treatment khusus?
A: Systemically Important Banks (SIBs) — kalau Big4 collapse, sistem keuangan Indonesia rontok. Regulator dan broker di-incentive treat them softer. Cap +2% sector penalty mencegah Big4 ke-flag harshly saat banking sector UW. MR +3% kasih client edge untuk hold blue-chip-nya.
Q: Apa limitations engine ini?
A:
- HV20 dan ATR dari yfinance — bisa lag 15 menit
- Free Float estimasi, tidak update real-time
- Sector rotation rFav binary (favored/avoided), bukan continuous score
- Tidak include earnings/news event-driven adjustment (out of scope)
- Adaptive breadth/velocity butuh data history yang fresh — kalau pipeline EOD telat, modifier berdasar data lama