Api V2 Signals Basic Vanna-Charm-Flow Get
Second-order greek dealer-hedging pressure (vanna + charm).
Answers: which way is the modeled dealer book likely being pulled to hedge right now from IV moves and time decay, independently of spot?
- Vanna (dVega/dSpot) — dealer delta changes when IV moves. A morning IV drop tends to make a book modeled short vanna buy underlying (the "vol-crush rally"); direction depends on the book's composition and ownership.
- Charm (dDelta/dTime) — decay of short-dated deltas toward expiry. In the final ~2h, where the modeled book is short calls above spot, that decay tends to pull hedging toward selling — which can accelerate afternoon drift. Modeled pressure, not a scheduled order.
Logic highlights (src/signals/basic/vanna_charm_flow.py):
- Sum dealer_vanna_exposure + dealer_charm_exposure × charm_amplification across all strikes in gex_by_strike.
- charm_amplification — 1.0 most of the day, ramps to 1.5 in the final ~40% of the session (charm flow dominates into the close).
- score = clip(combined / vc_norm, [-1, 1]); vc_norm defaults to 5e7 (may be scaled per symbol via normalizers).
- Abstains (score=0) if gex_by_strike is empty.
- Legacy rows (no dealer columns) fall back to negated market-aggregate exposures — signal still valid, less precise.
Sign convention: + score = dealer buying pressure (bullish tailwind); − score = dealer selling pressure (bearish headwind).
Params:
- symbol (default SPY). Returns 404 if no row exists yet.
Returns:
{
"underlying": "SPY", "timestamp": "...",
"clamped_score": 0.42, "score": 42.0, "direction": "bullish",
"weighted_score": 0.0, "weight": 0.0,
"vanna_total": 18500000.0,
"charm_total": 9200000.0,
"charm_amplification": 1.18,
"source": "dealer_exposure",
"context_values": {
"vanna_total": 18500000.0, "charm_total": 9200000.0,
"charm_amplification": 1.18, "vc_norm": 50000000.0,
"source": "dealer_exposure"
},
"score_history": [{"score": 31.2, "timestamp": "..."}, "...up to 90"]
}
- score / clamped_score — [-100, +100] / [-1, +1]; + = bullish.
- vanna_total — sum of dealer vanna exposure; + = dealer delta grows with spot ↑.
- charm_total — sum of dealer charm exposure; + = dealer delta grows with time.
- charm_amplification — [1.0, 1.5]; session-time multiplier. 1.5 = final 40%.
- source — "dealer_exposure" | "market_exposure_negated" (legacy fallback) | "unavailable".
- context_values — the above plus vc_norm (saturation denominator).
- score_history — up to 90 recent points.
Trader interpretation.
- score > +40 in the morning → vanna-driven melt-up; trend-follow upside.
- score < −40 in the final 90 minutes → charm-driven afternoon fade; momentum shorts.
- Crosses zero into the afternoon → pressure reversal; trim directional size.
- charm_amplification = 1.5 means we're in the EOD acceleration window.
- source = "market_exposure_negated" → lower-precision fallback; widen thresholds.
Page design. Two stacked horizontal bars: vanna_total and charm_total × charm_amplification, colored by sign. A small clock gauge shows charm_amplification on a 1.0→1.5 scale as "time pressure." Composite score as a big number + direction chip on top. Source chip in footer.
Request
- Base URL: https://api.zerogex.io (the document declares no server; this is the origin it was published from)
- URL: https://api.zerogex.io/api/v2/signals/basic/vanna-charm-flow
- Auth: HTTP bearer
Query parameters
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.