Skip to main content
Measure options-market sentiment for one underlying symbol on a specific date. Returns the put/call volume ratio and its interpretation (below 0.7 = bullish, 0.7–1.0 = neutral, above 1.0 = bearish), call and put volume, the average bid/ask spread, and a liquidity grade. A data_quality block reports whether the sample is solid (“ok”), empty (“no_data” — e.g. a non-trading day), or too small to trust (“thin_sample”), so a reading is never mistaken for a confident one. The date is required and identifies which day to report. Endpoint: POST /api/v1/options/sentiment Tier: point · Delivery: sync

Request

FieldType
underlying_tickerstring
datestring
include_spread_analysisboolean
expiration_filterstring
max_contractsnumber

Response

The response is the two-key envelope { finterm, data }, where data is the finterm.result:OptionsSentiment/v1 contract:
FieldDescription
tickerThe underlying stock ticker symbol, uppercased (e.g. “AAPL”).
as_of_dateThe date the sentiment is reported for, in YYYY-MM-DD format.
sentimentPut/call sentiment for the day: put_call_volume_ratio (put volume ÷ call volume; below 0.7 = bullish, 0.7–1.0 = neutral, above 1.0 = bearish), the interpretation label, total_call_volume, total_put_volume, avg_spread_percent (average bid/ask spread as a percent of midpoint), and liquidity_grade (A best to D worst). Ratio, interpretation, spread, and grade are null when there is no volume to read or spread analysis was not requested.
data_qualitySample-quality verdict: status (“ok”, “no_data” for a day with no traded contracts, or “thin_sample” for a low-volume sample), contracts_analyzed, contracts_with_volume, and total_volume. Use it to weight or discard the reading.
contractsContract-count summary for the analyzed sample: total_calls, total_puts, contracts_with_volume, and the list of expirations covered (YYYY-MM-DD).

Example

finterm tool options_sentiment AAPL --as-of-date 2024-01-15