Api V2 Signals Basic Tape-Flow-Bias Get
Signed option-tape premium imbalance — continuous order-flow bias.
Answers: right now, is the tape aggressively buying calls and selling puts (bullish) or the reverse (bearish)? The ingestion layer Lee-Ready-classifies every print into buy_premium / sell_premium; this signal nets them and scores the per-side imbalance. Unlike smart_money (discrete "large premium" events), this watches the continuous tape — gives an earlier read on directional conviction.
Logic highlights (src/signals/basic/tape_flow_bias.py):
- call_net = call_buy_premium − call_sell_premium (aggressor side).
- put_net = put_buy_premium − put_sell_premium.
- directional = call_net − put_net (call buying = bullish; put buying = bearish).
- ratio = directional / (|call_net| + |put_net|) in [-1, +1].
- score = clip(ratio / SIGNAL_TAPE_FLOW_SATURATION, [-1, 1]) (default saturation 0.6).
- Abstains (score=0) if |call_net| + |put_net| < SIGNAL_TAPE_FLOW_MIN_PREMIUM (default $250K). Treat abstention as "no data," not neutral conviction.
Params:
- symbol (default SPY). Returns 404 if no row exists yet.
Returns:
{
"underlying": "SPY",
"timestamp": "2026-04-22T18:55:00Z",
"clamped_score": 0.28, "score": 28.0, "direction": "bullish",
"weighted_score": 0.0, "weight": 0.0,
"call_net_premium": 312000.0,
"put_net_premium": -85000.0,
"source": "flow_by_type",
"context_values": {
"call_net_premium": 312000.0, "put_net_premium": -85000.0,
"call_buy_premium": 450000.0, "call_sell_premium": 138000.0,
"put_buy_premium": 120000.0, "put_sell_premium": 205000.0,
"source": "flow_by_type"
},
"score_history": [{"score": 12.4, "timestamp": "..."}, "...up to 90"]
}
- score / clamped_score — [-100, +100] / [-1, +1]. + = calls bought / puts sold.
- direction — "bullish" | "bearish" | "neutral" (sign of score).
- call_net_premium / put_net_premium — USD, signed. + = net aggressor buying.
- source — "flow_by_type" (data present) | "unavailable" (abstained).
- context_values — the four per-side premium totals plus source.
- score_history — up to 90 recent {score, timestamp} points, newest→oldest.
Trader interpretation.
- score > +50 with flat price → early bullish accumulation; potential breakout.
- score < −50 with flat price → early distribution; watch for breakdown.
- Score sign-flips while price keeps trending → exhaustion warning.
- Score ≈ 0 during market hours with source="unavailable" → thin tape, not neutral.
Page design. Horizontal bidirectional bar (−100 → +100) with center needle, green right / red left. Below: stacked bar of the four premium components so the trader sees which side drives the imbalance. Sparkline of score_history (90 pts) beneath. Footer chip shows source.
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/tape-flow-bias
- Auth: HTTP bearer
Query parameters
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.