Portfolio Risk
demo book2026-09-10T10:05:49
These are synthetic positions. The engine runs against a seeded demo book because the live path calls
input("Enter request_token") when the Kite token expires — a prompt in a terminal, but a web service blocked on stdin with no way to say so. Live mode needs a token-from-env path built deliberately, not fallen into. The maths below is the real engine; only the book is synthetic.Capital
₹74.30 L
Positions
16
Gross exposure
₹1.05 Cr
1.42× leverage
Net exposure
₹17.27 L
Unrealised P&L
₹1.10 L
Risk grade
BREACH
1 breach(es)
Value at Risk
99% confidence, 1 day · historical = 2.31% of capitalAll methods shown, not one. They disagree — the spread between them is the honest measure of model risk, and a dashboard that silently picks "historical" makes that judgement for you.
historical
₹1.72 L
parametric
₹1.41 L
monte carlo
₹1.61 L
cornish fisher
₹1.89 L
filtered historical
unavailable
student t
₹1.79 L
evt
₹1.75 L
Conditional VaR — the average loss once you are past VaR
historical
₹2.34 L
monte carlo
₹1.87 L
filtered historical
unavailable
student t
₹2.33 L
evt
₹2.39 L
Greeks
delta rupees
₹45.59 L
gamma pnl 1pct
-₹3,617
vega per point
-₹1,648
theta per day
₹2,646
rho per point
₹5,888
option count
7
short option contracts
7
Stress scenarios
13 full-revaluation scenarios, worst first| COVID-style crash -13% | -₹8.70 L | |
| Election-day shock -6% | -₹2.77 L | |
| Commodity slump -10% | -₹2.20 L | |
| Market -5% | -₹2.10 L | |
| Budget-day gap -4% | -₹1.63 L | |
| Market -3% | -₹1.06 L | |
| Market -1% | -₹27,447 | |
| Vol spike +10pts (spot flat) | -₹20,818 | |
| Vol crush -8pts (spot flat) | ₹5,562 | |
| INR shock +3% | ₹5,779 | |
| Market +5% | ₹31,195 | |
| Market +3% | ₹35,352 | |
| Commodity spike +10% | ₹1.79 L |
Engine warnings
- DEMO MODE - synthetic positions and synthetic price history, not your real book. The price series is a seeded random walk stamped with real calendar dates, so the crisis-replay rows carry real event NAMES over fabricated returns. The mechanics are exercised end to end; the numbers mean nothing. Run without --demo for real figures.
- No usable price history for: CRUDEOIL, USDINR. Those 3 position(s) carry 1,021,550 of gross exposure (9.7% of the book) and are excluded from VaR. They ARE fully covered by greeks and stress tests, so read those for this part of the book.
- Synthetic history in use for: GOLDM (2410d, R2 0.54, fair). These VaR contributions rest on a fitted factor model, not on the instrument's own trading history.
- No defensible proxy for: CRUDEOIL, USDINR. Left out of long-window VaR rather than backfilled with a series that would only look reassuring. Greeks and stress tests still cover these positions in full.