{"slug":"what-is-option-rho","qid":"rho_by_moneyness","label":"Average rho on long-dated SPY options, by strike against the share price","post_title":"What Is Option Rho? The Interest Rate Greek","post_url":"/blog/what-is-option-rho#q-rho_by_moneyness","columns":["moneyness_bucket","call_rho","put_rho","contract_count"],"rows":[{"moneyness_bucket":"strike 10%+ below","call_rho":6.411,"put_rho":-2.391,"contract_count":3758},{"moneyness_bucket":"strike 5-10% below","call_rho":6.21,"put_rho":-3.403,"contract_count":2284},{"moneyness_bucket":"strike 2-5% below","call_rho":5.96,"put_rho":-4.006,"contract_count":1411},{"moneyness_bucket":"strike within 2%","call_rho":5.682,"put_rho":-4.741,"contract_count":2350},{"moneyness_bucket":"strike 2-5% above","call_rho":5.051,"put_rho":-5.482,"contract_count":1255},{"moneyness_bucket":"strike 5-10% above","call_rho":4.617,"put_rho":-6.337,"contract_count":2113},{"moneyness_bucket":"strike 10%+ above","call_rho":3.433,"put_rho":-7.572,"contract_count":2836}],"shape":"ranking","sql":"SELECT\n    multiIf(toFloat64(strike_price) / toFloat64(underlying_close) - 1 < -0.10, 'strike 10%+ below',\n            toFloat64(strike_price) / toFloat64(underlying_close) - 1 < -0.05, 'strike 5-10% below',\n            toFloat64(strike_price) / toFloat64(underlying_close) - 1 < -0.02, 'strike 2-5% below',\n            toFloat64(strike_price) / toFloat64(underlying_close) - 1 <  0.02, 'strike within 2%',\n            toFloat64(strike_price) / toFloat64(underlying_close) - 1 <  0.05, 'strike 2-5% above',\n            toFloat64(strike_price) / toFloat64(underlying_close) - 1 <  0.10, 'strike 5-10% above',\n                                                                              'strike 10%+ above') AS moneyness_bucket,\n    round(avgIf(rho, startsWith(lower(toString(option_type)), 'c')), 3)  AS call_rho,\n    round(avgIf(rho, startsWith(lower(toString(option_type)), 'p')), 3)  AS put_rho,\n    count()                                                              AS contract_count\nFROM global_markets.options_greeks\nWHERE underlying_symbol = 'SPY'\n  AND date >= '2026-05-01'\n  AND date <  '2026-08-01'\n  AND iv_converged = 1\n  AND volume > 0\n  AND days_to_expiry BETWEEN 366 AND 760\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.20\nGROUP BY moneyness_bucket\nHAVING countIf(startsWith(lower(toString(option_type)), 'c')) > 0\n   AND countIf(startsWith(lower(toString(option_type)), 'p')) > 0\nORDER BY min(toFloat64(strike_price) / toFloat64(underlying_close))","computed_at":"2026-08-07T16:31:04.695537+00:00","elapsed":0.00385786}