Alphanume

Insights

How to Screen for Rich and Cheap Options by IV/HV Ratio

Alphanume Team · June 7, 2026

Use Alphanume's IV/HV Premium API to rank the whole market by volatility richness in one request.

The cleanest way to find options worth selling or buying is to rank every name by how its implied volatility compares to its realized volatility, then look at the extremes. The Alphanume IV/HV Premium endpoint does the comparison and the cross-sectional ranking for you, so a single request returns a sorted view of the market.

The endpoint
GET https://api.alphanume.com/v1/iv-hv-premium

Authenticate with ?api_key=alp_your_key or an X-API-Key header. The useful filters are min_iv_hv_ratio and max_iv_hv_ratio, min_ratio_rank (0 to 1), and only_final for settled rows.

Find the richest options today
import requests

r = requests.get(
    "https://api.alphanume.com/v1/iv-hv-premium",
    params={
        "min_ratio_rank": 0.9,   # top decile of the cross section
        "only_final": "true",    # settled rows only
        "api_key": "alp_your_key",
    },
)
rich = r.json()["data"]
for row in rich:
    print(row["ticker"], round(row["iv_hv_ratio"], 2))

An iv_hv_ratio above 1 means the option is pricing more volatility than the stock has been delivering. Combined with a high min_ratio_rank, you are looking at names that are expensive both in absolute terms and relative to the rest of the market that day.

Find the cheapest options

Flip the filter to surface candidates for buying volatility:

GET https://api.alphanume.com/v1/iv-hv-premium?max_iv_hv_ratio=0.9&only_final=true&api_key=alp_your_key
Use the intraday layer

Each row carries an is_final flag. Provisional rows (is_final = 0) refresh roughly every 30 minutes through the session, and the settled row (is_final = 1) lands around 16:30 ET. For live screening, read the provisional rows. For backtests, filter to settled rows with only_final=true so your history is clean.

Access and limits

IV/HV Premium is on the free tier as a rolling 30-day delayed window. Pro raises the rate limit to 600 requests per minute. Start with a free Alphanume API key and the API documentation, or explore it on Alphanume.

Building a daily relative-value screen

The practical goal is a short, ranked list of the richest and cheapest options each day. Because the cross-sectional rank is precomputed, that is a single filtered request rather than a nightly batch job over the whole option chain. Pull the top decile by ratio rank for sell candidates and the bottom decile for buy candidates, then apply your own liquidity screen.

The intraday is_final flag keeps live trading and research separate. During the session, provisional rows refresh roughly every 30 minutes so your screen reflects current conditions. For backtests, only_final=true restricts you to the settled values published around 16:30 ET, so your historical premium series is clean and reproducible.

Frequently asked questions

How do I find the richest options today?

Call the iv-hv-premium endpoint with min_ratio_rank=0.9 and only_final=true. That returns the top decile of the cross section by volatility richness, settled rows only.

How do I find cheap options to buy?

Flip the filter: use max_iv_hv_ratio or a low ratio rank to surface names where implied volatility is low relative to realized, which are candidates for buying volatility.

Should I screen on provisional or settled rows?

Use provisional rows (is_final = 0) for live intraday screening and settled rows (only_final=true) for backtests, so your history is clean.

What filters does the endpoint support?

min_iv_hv_ratio and max_iv_hv_ratio, min_ratio_rank from 0 to 1, and only_final. You can also use the standard date and date range filters.

Is there a rate limit?

Pro allows 600 requests per minute, with HTTP 429 on overage. The dataset itself is available free on a rolling 30-day delayed window.