Help us double down on what's working, instead of guessing. Takes 5 seconds, totally optional.
VRP Strategy Scoring: How to Pick the Right Options Structure for Today's Market
The FlashAlpha VRP endpoint scores 4 options strategies in real-time: short put spread, short strangle, iron condor, and calendar spread. Learn what drives each score, when each strategy wins, and how to build a multi-symbol recommendation engine.
The VRP endpoint returns a strategy_scores object with a 0 - 100 score for each of four premium selling structures. Higher scores mean the current market conditions favor that structure more strongly.
Strategy
Score Field
Best When
Worst When
Short Put Spread
short_put_spread
High put VRP, steep skew, positive gamma, defined risk wanted
Symmetric VRP, flat skew, bearish view
Short Strangle
short_strangle
High VRP, moderate skew, positive gamma, wide expected range
Narrow range, extreme skew, negative gamma
Iron Condor
iron_condor
Symmetric VRP, need defined risk, moderate VRP
Asymmetric VRP (short put spread beats it)
Calendar Spread
calendar_spread
Steep term structure (contango), low front VRP, positive gamma
Flat/inverted term structure, high front VRP
What Drives Each Score
Short Put Spread Score
The directional, defined-risk premium selling trade - sell an OTM put, buy a further-OTM put as protection. It dominates when put VRP is significantly higher than call VRP:
Put VRP magnitude (35% weight): Raw put-side premium available. Higher = better score.
Put/call VRP asymmetry (30% weight): Higher ratio = higher score. At 4x+, this score peaks.
Skew steepness (20% weight): Steep skew means OTM puts are richly priced relative to ATM - ideal for put spreads.
Gamma regime (15% weight): Positive gamma means dealers buy at the put wall, supporting your short put.
A short put spread score above 75 means conditions strongly favor the put side. Below 40, consider a different structure.
Short Strangle Score
The short strangle sells OTM puts and OTM calls, giving a wider profit zone than the straddle at the cost of less premium. The score factors in:
Overall VRP magnitude (35% weight): The strangle benefits from VRP across the whole smile, not just ATM.
Expected move width (25% weight): Wider expected moves favor strangles over straddles because the profit zone matches the expected range.
Wing VRP (20% weight): How much VRP exists in 20 - 30 delta options specifically.
Iron Condor Score
The iron condor adds long wings for defined risk. It scores highest when the VRP is symmetric and the trader needs capital efficiency or risk limits:
VRP symmetry (30% weight): The put/call VRP ratio. Closer to 1.0 = higher score. Above 3.0x, the iron condor score drops sharply because the call side has no edge.
Overall VRP level (25% weight): Enough premium to justify four legs of commissions.
Gamma regime (25% weight): Positive gamma favors the structure.
Term structure (20% weight): Normal contango supports iron condors. Inverted term structure penalizes.
Calendar Spread Score
Calendar spreads exploit term structure rather than absolute VRP. The score is driven by:
Term structure steepness (40% weight): The gap between front-month IV and back-month IV. Steeper contango = higher score.
Front-month VRP (25% weight): If front-month VRP is very high, selling it outright (straddle/strangle) beats the calendar. Calendars score higher when front VRP is moderate.
Gamma regime (20% weight): Positive gamma in the front month accelerates front-month theta decay.
Realized vol trend (15% weight): Declining realized vol favors calendars because the front month decays faster in quiet markets.
Get all 4 strategy scores for any symbol with one API call
No manual calculation - the endpoint returns scored recommendations updated in real-time.
When multiple scores are close, use this decision tree to break the tie:
Is VRP z-score > 1.5? If yes, favor the highest-premium structure (the strangle). You want maximum exposure to the rich premium.
Is put VRP > 3x call VRP? If yes, eliminate the iron condor. The short put spread captures the asymmetric put-side edge with defined risk.
Is term structure steep (contango > 3 vol points)? If yes, the calendar spread score is likely high. Compare it to the directional alternatives.
Do you need defined risk? If yes, eliminate the strangle. Choose between the iron condor and the short put spread.
Default: Pick the highest score. The scoring system already incorporates all the factors above.
Building a Multi-Symbol Recommendation Engine
The following script scans your watchlist and recommends the best strategy for each symbol based on the real-time scores:
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://lab.flashalpha.com"
WATCHLIST = ["SPY", "QQQ", "IWM", "AAPL", "TSLA", "NVDA", "AMZN", "META",
"GOOGL", "MSFT", "AMD", "JPM"]
STRATEGIES = [
("short_put_spread", "Short Put Spread"),
("short_strangle", "Short Strangle"),
("iron_condor", "Iron Condor"),
("calendar_spread", "Calendar Spread"),
]
def get_vrp(symbol):
resp = requests.get(
f"{BASE_URL}/v1/vrp/{symbol}",
headers={"X-Api-Key": API_KEY}
)
if resp.status_code != 200:
return None
return resp.json()
print(f"{'Symbol':<8} {'Best Strategy':<20} {'Score':>6} {'2nd Best':<20} {'Score':>6} {'Z':>6} {'VRP':>6}")
print("-" * 80)
opportunities = []
for sym in WATCHLIST:
data = get_vrp(sym)
if not data or not data.get("strategy_scores"):
continue
scores = data["strategy_scores"]
z = (data.get("vrp") or {}).get("z_score") or 0
vrp_20d = (data.get("vrp") or {}).get("vrp_20d") or 0
# Sort strategies by score
ranked = sorted(
[(key, label, scores.get(key, 0)) for key, label in STRATEGIES],
key=lambda x: x[2],
reverse=True
)
best_key, best_label, best_score = ranked[0]
second_key, second_label, second_score = ranked[1]
print(f"{sym:<8} {best_label:<20} {best_score:>5.0f} {second_label:<20} {second_score:>5.0f} {z:>+5.1f} {vrp_20d:>+5.1f}%")
if best_score >= 70 and z > 0.5:
opportunities.append({
"symbol": sym,
"strategy": best_label,
"score": best_score,
"z_score": z,
"vrp": vrp_20d
})
if opportunities:
print(f"\n{'='*60}")
print(f"TOP OPPORTUNITIES ({len(opportunities)} symbols with score >= 70 and z > 0.5):")
print(f"{'='*60}")
for opp in sorted(opportunities, key=lambda x: x["score"], reverse=True):
print(f" {opp['symbol']:<8} {opp['strategy']:<20} score={opp['score']:.0f} z={opp['z_score']:+.1f} VRP={opp['vrp']:+.1f}%")
Run this script with your own API key to see live strategy scores and recommendations for your watchlist. The output will rank the best and second-best strategy for each symbol, along with the score, z-score, and current VRP - highlighting the top opportunities where scores are 70+ and z-scores are above 0.5.
Validate with history. Archive daily snapshots from the live /v1/vrp endpoint to build your own history - a simple cron job is all you need. Run your own backtest before deploying capital - every symbol and time period behaves differently.
A Full Week of Recommendations
To illustrate how the scoring system adapts to changing conditions, here is a hypothetical week for SPY where different strategies win on different days:
Day
Market Condition
Top Strategy
Score
Why It Won
Monday
Low vol, steep term structure, positive gamma
Calendar Spread
74
Front VRP is thin but term structure is steep. Calendar captures the roll-down.
Tuesday
Fed surprise, VIX +5, negative gamma
Short Put Spread
68
VRP spiked asymmetrically (put VRP 5x call). Even in negative gamma, the put side has edge with defined risk.
Wednesday
Recovery day, VIX fading, positive gamma returns
Short Strangle
83
High VRP across the smile, low skew (both sides elevated), positive gamma. Maximum premium capture.
Thursday
Continued recovery, VRP normalizing, symmetric
Iron Condor
72
VRP still above average but declining and balanced. Defined-risk condor fits the calmer, symmetric setup.
Friday
Quiet, moderate skew, put VRP 4x call
Short Put Spread
71
Put VRP dominant and skew steep. The put side carries the edge with capped downside.
Notice: the same symbol (SPY) rotated through every one of the four scored structures across the week. This is why a fixed strategy (always iron condors, always strangles) underperforms an adaptive approach.
When Scores Conflict with Your View
The scoring system is quantitative. It does not know about your portfolio, risk tolerance, or market thesis. Here is how to handle disagreements:
Scores say strangle, you want defined risk
Look at the iron condor and short put spread scores. If they are above 60, use the defined-risk version of the strangle thesis. You sacrifice some edge for capital protection. If the defined-risk scores are below 50, the structure does not suit the environment - either accept the strangle risk or sit out.
Scores say short put spread, you are bearish
The short put spread score is bullish-to-neutral. If you are actively bearish, the VRP endpoint is not your signal source - use directional analysis instead. Do not fight a bearish view by selling puts just because the score is high.
All scores are below 50
This means no structure has a strong edge in current conditions. Do not force a trade. Low scores across the board typically occur in Cell D (negative gamma + low VRP) or during VRP inversions. Wait for conditions to improve.
Optimizing Across a Portfolio
When running the scanner across many symbols, diversification matters. Here are portfolio-level considerations:
Do not stack the same strategy across correlated symbols. If SPY, QQQ, and IWM all recommend short put spreads, that is one trade with 3x the size - not three independent trades. Treat index ETF put spreads as a single position.
Mix strategies. A portfolio with a strangle on AAPL, a put spread on SPY, and a calendar on MSFT has better diversification than three strangles, even if the strangle score was highest for all three.
Respect sector correlation. NVDA + AMD + AVGO are effectively the same trade. Pick the one with the highest score and skip the others.
Limit total vega exposure. Each premium selling position is short vega. A portfolio of 10 short vega positions will blow up simultaneously in a vol spike. Cap total portfolio vega at a level you can survive.
Scan your entire watchlist for the best premium selling opportunities
VRP z-scores, strategy scores, and directional decomposition for 6,000+ symbols.
The right options structure changes daily based on VRP magnitude, skew, term structure, and gamma regime. A strangle that scores 85 on Wednesday might score 40 on Friday. The FlashAlpha strategy scoring system evaluates all four premium selling structures against current conditions and returns a ranked recommendation - no manual calculation, no guesswork. Combine the top strategy score with the z-score tier and gamma regime from the other VRP sub-articles, and you have a complete decision framework: when to sell, how much to sell, and which structure to use.