From a5d276851b17df8a3301a02ecf6587997b2ec32e Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 14 May 2026 10:22:09 +0100 Subject: [PATCH 1/3] Add yahoo vol surface loader --- docs/api/data/index.md | 1 + docs/api/data/yahoo.md | 21 +++ docs/examples/spx_vol_surface.py | 33 ++++ docs/tutorials/index.md | 1 + docs/tutorials/spx_vol_surface.md | 37 ++++ docs/tutorials/volatility_surface.md | 1 - mkdocs.yml | 2 + quantflow/data/yahoo.py | 203 +++++++++++++++++++++ quantflow/options/surface.py | 9 +- quantflow_tests/fixtures/yahoo_spx.json.gz | Bin 0 -> 198259 bytes quantflow_tests/test_data_yahoo.py | 61 +++++++ 11 files changed, 362 insertions(+), 7 deletions(-) create mode 100644 docs/api/data/yahoo.md create mode 100644 docs/examples/spx_vol_surface.py create mode 100644 docs/tutorials/spx_vol_surface.md create mode 100644 quantflow/data/yahoo.py create mode 100644 quantflow_tests/fixtures/yahoo_spx.json.gz create mode 100644 quantflow_tests/test_data_yahoo.py diff --git a/docs/api/data/index.md b/docs/api/data/index.md index 6037237..db92556 100644 --- a/docs/api/data/index.md +++ b/docs/api/data/index.md @@ -19,6 +19,7 @@ pip install quantflow[data] | [Financial Modeling Prep](fmp.md) | Equity prices, company profiles, and sector data | | [FRED](fred.md) | US macroeconomic time series from the St. Louis Fed | | [Federal Reserve](fed.md) | Federal Reserve H.15 selected interest rate data | +| [Yahoo](yahoo.md) | Equity option chains from Yahoo Finance | ## Usage diff --git a/docs/api/data/yahoo.md b/docs/api/data/yahoo.md new file mode 100644 index 0000000..4b8a9fc --- /dev/null +++ b/docs/api/data/yahoo.md @@ -0,0 +1,21 @@ +# Yahoo + +Fetch equity option chains from [Yahoo Finance](https://finance.yahoo.com/). + +The client is intentionally minimal: it fetches a full option chain via the +public `v7/finance/options` endpoint and exposes a helper to build a +[VolSurfaceLoader][quantflow.options.surface.VolSurfaceLoader] from it. + +You can import the module via + +```python +from quantflow.data.yahoo import Yahoo +``` + +## Authentication + +Yahoo Finance requires a session cookie and a `crumb` token for the options +endpoint. The client fetches both on the first request and caches the crumb +for the lifetime of the instance. + +::: quantflow.data.yahoo.Yahoo diff --git a/docs/examples/spx_vol_surface.py b/docs/examples/spx_vol_surface.py new file mode 100644 index 0000000..0ecca53 --- /dev/null +++ b/docs/examples/spx_vol_surface.py @@ -0,0 +1,33 @@ +import gzip +import json +from pathlib import Path + +from docs.examples._utils import assets_path +from quantflow.data.yahoo import Yahoo + +FIXTURE = ( + Path(__file__).resolve().parents[2] + / "quantflow_tests" + / "fixtures" + / "yahoo_spx.json.gz" +) + +chain = json.loads(gzip.decompress(FIXTURE.read_bytes())) +loader = Yahoo.loader_from_chain(chain, exclude_volume=1) +surface = loader.surface() +surface.bs() +surface.disable_outliers() + +fig = surface.plot3d() +fig.update_traces(marker=dict(size=3)) +fig.update_layout( + title="SPX implied volatility surface", + scene=dict( + xaxis_title="moneyness", + yaxis_title="time to maturity (log)", + zaxis_title="implied volatility", + yaxis=dict(type="log"), + camera=dict(eye=dict(x=0.6, y=-2.2, z=0.8)), + ), +) +fig.write_image(assets_path("spx_vol_surface.png"), width=1200, height=800) diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index 4241fbf..0b129bb 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -6,4 +6,5 @@ Step-by-step guides for common quantflow workflows. |---|---| | [Option Pricing](option_pricing.md) | Price a European option with the Black-Scholes and Heston-jump-diffusion models | | [Volatility Surface](volatility_surface.md) | Fetch live option data, build an implied volatility surface, and calibrate Heston and jump-diffusion models | +| [SPX Volatility Surface](spx_vol_surface.md) | Build a 3D implied volatility surface for the S&P 500 from a Yahoo Finance option chain | | [BNS Volatility Model](bns_calibration.md) | Calibrate the Barndorff-Nielsen and Shephard stochastic-volatility model to an implied volatility surface | diff --git a/docs/tutorials/spx_vol_surface.md b/docs/tutorials/spx_vol_surface.md new file mode 100644 index 0000000..4fd0072 --- /dev/null +++ b/docs/tutorials/spx_vol_surface.md @@ -0,0 +1,37 @@ +# SPX Volatility Surface + +Build an implied volatility surface for the S&P 500 index from a Yahoo Finance +option chain. + +The [Yahoo][quantflow.data.yahoo.Yahoo] client fetches the full chain for a +ticker. To keep this tutorial offline and reproducible we load a snapshot from +a gzipped JSON fixture, but the code is identical to what you would run +against the live endpoint. + +## Loading the chain + +[Yahoo.loader_from_chain][quantflow.data.yahoo.Yahoo.loader_from_chain] turns +the raw chain dictionary into a +[VolSurfaceLoader][quantflow.options.surface.VolSurfaceLoader]. SPX options +are non-inverse (quoted in USD) and Yahoo does not provide forwards, so each +maturity's forward is recovered from put-call parity inside the loader. + +Once the loader has the data, [surface()][quantflow.options.surface.GenericVolSurfaceLoader.surface] +builds the [VolSurface][quantflow.options.surface.VolSurface], +[bs()][quantflow.options.surface.VolSurface.bs] inverts each bid and ask +through Black-Scholes, and +[disable_outliers()][quantflow.options.surface.VolSurface.disable_outliers] +drops strikes with unrealistic implied vols. + +## 3D surface + +[plot3d()][quantflow.options.surface.VolSurface.plot3d] renders the +converged implied vols against moneyness and time to maturity. + +[![SPX implied volatility surface](../assets/examples/spx_vol_surface.png)](../assets/examples/spx_vol_surface.png){target="_blank"} + +## Code + +```python +--8<-- "docs/examples/spx_vol_surface.py" +``` diff --git a/docs/tutorials/volatility_surface.md b/docs/tutorials/volatility_surface.md index 31ef802..b9eb2c9 100644 --- a/docs/tutorials/volatility_surface.md +++ b/docs/tutorials/volatility_surface.md @@ -248,4 +248,3 @@ The calibrated parameter vector for the jump-diffusion model is: | `jump intensity` | Jump arrival rate (jumps per year) | | `jump variance` | Variance of a single jump | | `jump asymmetry` | Asymmetry of the jump distribution ([DoubleExponential][quantflow.utils.distributions.DoubleExponential]) | - diff --git a/mkdocs.yml b/mkdocs.yml index 16ed196..564efbe 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -68,6 +68,7 @@ nav: - Federal Reserve: api/data/fed.md - Financial Modeling Prep: api/data/fmp.md - FRED: api/data/fred.md + - Yahoo: api/data/yahoo.md - Options: - api/options/index.md - Black-Scholes: api/options/black.md @@ -112,6 +113,7 @@ nav: - CIR Process: tutorials/cir.md - Option Pricing: tutorials/option_pricing.md - Pricing Method Comparison: tutorials/pricing_method_comparison.md + - SPX Volatility Surface: tutorials/spx_vol_surface.md - Volatility Surface: tutorials/volatility_surface.md - Theory: - theory/index.md diff --git a/quantflow/data/yahoo.py b/quantflow/data/yahoo.py new file mode 100644 index 0000000..d5951ba --- /dev/null +++ b/quantflow/data/yahoo.py @@ -0,0 +1,203 @@ +from __future__ import annotations + +import gzip +import json +from dataclasses import dataclass, field +from datetime import timezone +from pathlib import Path + +import pandas as pd +from fluid.utils.http_client import HttpResponse, HttpxClient, ResponseType +from typing_extensions import Annotated, Doc + +from quantflow.options.inputs import DefaultVolSecurity, OptionType +from quantflow.options.surface import VolSurfaceLoader +from quantflow.utils.numbers import to_decimal + + +@dataclass +class Yahoo(HttpxClient): + """Yahoo Finance API client + + Minimal client for fetching option chains used to build volatility surfaces. + + ## Example + + ```python + from quantflow.data.yahoo import Yahoo + + async with Yahoo() as yahoo: + loader = await yahoo.volatility_surface_loader("AAPL") + surface = loader.surface() + ``` + """ + + url: str = "https://query2.finance.yahoo.com/v7/finance/options" + content_type: str = ( + "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif," + "image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" + ) + default_headers: dict[str, str] = field( + default_factory=lambda: { + "user-agent": ( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36" + ) + } + ) + _crumb: str | None = None + + async def option_chain( + self, + symbol: Annotated[str, Doc("Underlying ticker symbol")], + ) -> dict: # pragma: no cover + """Return the full option chain for `symbol`""" + params = dict(getAllData="true", crumb=await self._get_crumb()) + data = await self.get(f"{self.url}/{symbol}", params=params) + return data["optionChain"]["result"][0] + + async def volatility_surface_loader( + self, + symbol: Annotated[str, Doc("Underlying ticker symbol")], + *, + exclude_volume: Annotated[ + int | None, Doc("Drop contracts with volume at or below this threshold") + ] = None, + exclude_open_interest: Annotated[ + int | None, + Doc("Drop contracts with open interest at or below this threshold"), + ] = None, + ) -> VolSurfaceLoader: + """Build a [VolSurfaceLoader][quantflow.options.surface.VolSurfaceLoader] + by fetching the option chain for `symbol` and passing it to + [loader_from_chain][quantflow.data.yahoo.Yahoo.loader_from_chain].""" + return self.loader_from_chain( + await self.option_chain(symbol), + exclude_volume=exclude_volume, + exclude_open_interest=exclude_open_interest, + ) + + @classmethod + def loader_from_chain( + cls, + chain: Annotated[dict, Doc("Yahoo option chain payload")], + *, + exclude_volume: Annotated[ + int | None, Doc("Drop contracts with volume at or below this threshold") + ] = None, + exclude_open_interest: Annotated[ + int | None, + Doc("Drop contracts with open interest at or below this threshold"), + ] = None, + ) -> VolSurfaceLoader: + """Build a [VolSurfaceLoader][quantflow.options.surface.VolSurfaceLoader] + from a Yahoo option chain dictionary. + + US equity options are non-inverse: prices are in the quote currency and + the spot is taken from the underlying quote. Forwards are not provided + by Yahoo, so they are recovered from put-call parity by the loader. + """ + symbol = chain.get("underlyingSymbol", "") + loader = VolSurfaceLoader( + asset=symbol, + exclude_volume=to_decimal(exclude_volume) if exclude_volume else None, + exclude_open_interest=( + to_decimal(exclude_open_interest) if exclude_open_interest else None + ), + ) + quote = chain.get("quote") or {} + bid = quote.get("bid") or quote.get("regularMarketPrice") + ask = quote.get("ask") or quote.get("regularMarketPrice") + if bid and ask: + loader.add_spot( + DefaultVolSecurity.spot(), + bid=to_decimal(bid), + ask=to_decimal(ask), + ) + for expiry in chain.get("options", []): + maturity = ( + pd.to_datetime(expiry["expirationDate"], unit="s", utc=True) + .to_pydatetime() + .replace(hour=20, tzinfo=timezone.utc) + ) + for option_type, contracts in ( + (OptionType.call, expiry.get("calls", [])), + (OptionType.put, expiry.get("puts", [])), + ): + for c in contracts: + bid_ = c.get("bid") + ask_ = c.get("ask") + if not bid_ or not ask_: + continue + loader.add_option( + DefaultVolSecurity.option(), + strike=to_decimal(c["strike"]), + maturity=maturity, + option_type=option_type, + bid=to_decimal(bid_), + ask=to_decimal(ask_), + open_interest=to_decimal(c.get("openInterest") or 0), + volume=to_decimal(c.get("volume") or 0), + inverse=False, + ) + return loader + + async def save_fixture( + self, + symbol: Annotated[str, Doc("Underlying ticker symbol")], + path: Annotated[str | Path, Doc("File path where to save the fixture")], + ) -> Path: + """Fetch the option chain for `symbol` and save it as a JSON fixture. + + Only the fields read by + [volatility_surface_loader] + [quantflow.data.yahoo.Yahoo.volatility_surface_loader] + are kept, so the fixture stays small enough to commit. + + If `path` ends with `.gz`, the output is gzipped. + """ + chain = await self.option_chain(symbol) + contract_keys = ("strike", "bid", "ask", "openInterest", "volume") + quote_keys = ("bid", "ask", "regularMarketPrice") + quote = chain.get("quote") or {} + stripped = { + "underlyingSymbol": chain.get("underlyingSymbol", symbol), + "quote": {k: quote[k] for k in quote_keys if k in quote}, + "options": [ + { + "expirationDate": expiry["expirationDate"], + "calls": [ + {k: c[k] for k in contract_keys if k in c} + for c in expiry.get("calls", []) + ], + "puts": [ + {k: c[k] for k in contract_keys if k in c} + for c in expiry.get("puts", []) + ], + } + for expiry in chain.get("options", []) + ], + } + out = Path(path) + payload = json.dumps(stripped, indent=2).encode() + if out.suffix == ".gz": + out.write_bytes(gzip.compress(payload)) + else: + out.write_bytes(payload) + return out + + async def _get_crumb(self) -> str: + if self._crumb is not None: + return self._crumb + text = await self.get("https://query2.finance.yahoo.com/v1/test/getcrumb") + self._crumb = text.strip() + return self._crumb + + @classmethod + async def response_data(cls, response: HttpResponse) -> ResponseType: + if ( + "text/plain" in response.headers["content-type"] + or "text/html" in response.headers["content-type"] + ): + return await response.text() + return await response.json() diff --git a/quantflow/options/surface.py b/quantflow/options/surface.py index eca93eb..c6f0293 100644 --- a/quantflow/options/surface.py +++ b/quantflow/options/surface.py @@ -657,12 +657,9 @@ def options_iter( """ match select: case OptionSelection.best: - if self.call: - if self.call.is_in_the_money(forward) and self.put: - yield self.put - else: - yield self.call - elif self.put: + if self.call and not self.call.is_in_the_money(forward): + yield self.call + elif self.put and not self.put.is_in_the_money(forward): yield self.put case OptionSelection.call: if self.call: diff --git a/quantflow_tests/fixtures/yahoo_spx.json.gz b/quantflow_tests/fixtures/yahoo_spx.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..2789fe685b8c0ea9e24e1942aa084872056d5acf GIT binary patch literal 198259 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�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�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 dict: + return json.loads(gzip.decompress((FIXTURES / "yahoo_spx.json.gz").read_bytes())) + + +@pytest.fixture +async def yahoo_cli(spx_chain: dict) -> AsyncIterator[Yahoo]: + with patch.object(Yahoo, "option_chain", AsyncMock(return_value=spx_chain)): + async with Yahoo() as cli: + yield cli + + +async def test_loader_builds_surface(yahoo_cli: Yahoo, spx_chain: dict) -> None: + """Surface has one cross section per expiration in the fixture.""" + loader = await yahoo_cli.volatility_surface_loader("^SPX") + surface = loader.surface() + assert surface.asset == "^SPX" + assert len(surface.maturities) == len(spx_chain["options"]) + assert surface.spot.mid > 0 + + +async def test_loader_options_are_non_inverse(yahoo_cli: Yahoo) -> None: + """Yahoo equity options are quoted in USD, so the loader marks them + non-inverse.""" + loader = await yahoo_cli.volatility_surface_loader("^SPX") + surface = loader.surface() + options = list(surface.option_prices()) + assert options + assert all(not o.meta.inverse for o in options) + + +async def test_loader_skips_zero_bid_ask(yahoo_cli: Yahoo, spx_chain: dict) -> None: + """Contracts with zero or missing bid/ask are dropped.""" + raw_contracts = sum( + len(e.get("calls", [])) + len(e.get("puts", [])) for e in spx_chain["options"] + ) + loader = await yahoo_cli.volatility_surface_loader("^SPX") + surface = loader.surface() + loaded = sum( + (1 if s.call else 0) + (1 if s.put else 0) + for m in surface.maturities + for s in m.strikes + ) + assert loaded < raw_contracts From db684d585cc6bd873a071616d3ed1d28365a5208 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 14 May 2026 16:11:59 +0100 Subject: [PATCH 2/3] Fix option price bug --- .github/copilot-instructions.md | 1 + docs/examples/spx_vol_surface.py | 29 ++++++- docs/glossary.md | 33 +++++++ docs/tutorials/spx_vol_surface.md | 40 ++++++++- quantflow/data/yahoo.py | 10 ++- quantflow/options/pricer.py | 67 +++++++++++--- quantflow_tests/test_data_yahoo.py | 21 +++++ quantflow_tests/test_non_inverse_surface.py | 96 +++++++++++++++++++++ quantflow_tests/test_options_pricer.py | 43 ++++++++- 9 files changed, 319 insertions(+), 21 deletions(-) create mode 100644 quantflow_tests/test_non_inverse_surface.py diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 7ec3f14..2727217 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -33,6 +33,7 @@ applyTo: '/**' * Math notation convention: use $\Phi$ for the characteristic function and $\phi$ for the characteristic exponent, where $\Phi = e^{-\phi}$. * Glossary entries in `docs/glossary.md` must be kept in alphabetical order. * Do not repeat concept definitions inline in tutorials or docstrings — link to the glossary instead using a relative markdown link (e.g. `[moneyness](../glossary.md#moneyness)`). +* Prefer mkdocstrings relative cross-references whenever the target is visible from the current scope: write `[label][.member]` (same class) or `[label][..Sibling]` (same module) instead of repeating the fully-qualified path. Use the full path only when the target lives in a different module than the current docstring. * To rebuild doc examples run `uv run ./dev/build-examples` — runs all scripts in `docs/examples/` and writes their output to `docs/examples_output/` ## Pydantic models diff --git a/docs/examples/spx_vol_surface.py b/docs/examples/spx_vol_surface.py index 0ecca53..170708d 100644 --- a/docs/examples/spx_vol_surface.py +++ b/docs/examples/spx_vol_surface.py @@ -2,8 +2,12 @@ import json from pathlib import Path -from docs.examples._utils import assets_path +from docs.examples._utils import assets_path, print_model from quantflow.data.yahoo import Yahoo +from quantflow.options.calibration import BNS2Calibration +from quantflow.options.calibration.base import ResidualKind +from quantflow.options.pricer import OptionPricer, OptionPricingMethod +from quantflow.sp.bns import BNS, BNS2 FIXTURE = ( Path(__file__).resolve().parents[2] @@ -31,3 +35,26 @@ ), ) fig.write_image(assets_path("spx_vol_surface.png"), width=1200, height=800) + +# Calibrate a two-factor BNS model to the SPX surface. A fast factor absorbs +# the steep short-dated equity skew; a slow factor anchors the long end. +pricer = OptionPricer( + model=BNS2( + bns1=BNS.create(vol=0.2, kappa=20.0, decay=10.0, rho=-0.6), + bns2=BNS.create(vol=0.2, kappa=0.3, decay=10.0, rho=-0.3), + weight=0.5, + ), + method=OptionPricingMethod.COS, +) +calibration: BNS2Calibration[BNS2] = BNS2Calibration( + pricer=pricer, + vol_surface=surface, + residual_kind=ResidualKind.IV, +) +result = calibration.fit() +print(result.message) +print_model(calibration.model) + +smile = calibration.plot_maturities(max_moneyness=0.5, support=101) +smile.update_layout(title="SPX BNS2 Calibrated Smiles") +smile.write_image(assets_path("spx_vol_surface_bns2.png"), width=1200) diff --git a/docs/glossary.md b/docs/glossary.md index e0dc255..04880f3 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -71,6 +71,39 @@ condition holds. The `feller_enforce` flag (default `True`) that imposes this as a hard inequality constraint during optimisation. +## Forward Space + +Forward space is the unit-free convention in which option prices are +normalised by the forward price. + +For a call $C$ and put $P$ with strike $K$, maturity $T$, and forward $F$, +the forward-space prices are + +\begin{equation} + c = \frac{C}{F}, \qquad p = \frac{P}{F} +\end{equation} + +Forward-space prices are dimensionless and depend only on the +[log-strike](#log-strike) $k = \log(K/F)$, the implied volatility, +and the time to maturity. They are the natural output of Fourier-based +pricers and of [Black pricing](api/options/black.md). + +The conversion to quote-currency prices is a single multiplication by $F$: + +\begin{equation} + C = c\, F, \qquad P = p\, F +\end{equation} + +Quantflow uses forward space everywhere downstream of the input layer. +The `inverse` flag on [OptionPrice][quantflow.options.surface.OptionPrice] +only controls how the *input* `price` field is stored: for inverse +options (option premium paid in the underlying) it already is in forward +space; for non-inverse options (premium paid in the quote currency) it +is the absolute quote-currency price and must be divided by $F$ to enter +forward space. The +[price_in_forward_space][quantflow.options.surface.OptionPrice.price_in_forward_space] +property handles both cases uniformly. + ## Hurst Exponent The Hurst exponent is a measure of the long-term memory of time series. The Hurst exponent is a measure of the relative tendency of a time series either to regress strongly to the mean or to cluster in a direction. diff --git a/docs/tutorials/spx_vol_surface.md b/docs/tutorials/spx_vol_surface.md index 4fd0072..3619fb2 100644 --- a/docs/tutorials/spx_vol_surface.md +++ b/docs/tutorials/spx_vol_surface.md @@ -1,7 +1,7 @@ # SPX Volatility Surface Build an implied volatility surface for the S&P 500 index from a Yahoo Finance -option chain. +option chain, then calibrate a two-factor BNS model to it. The [Yahoo][quantflow.data.yahoo.Yahoo] client fetches the full chain for a ticker. To keep this tutorial offline and reproducible we load a snapshot from @@ -30,6 +30,44 @@ converged implied vols against moneyness and time to maturity. [![SPX implied volatility surface](../assets/examples/spx_vol_surface.png)](../assets/examples/spx_vol_surface.png){target="_blank"} +## BNS2 calibration + +A single-factor diffusive Heston struggles on SPX because the short-dated +skew is too steep to absorb with a single mean-reversion timescale. +[BNS2][quantflow.sp.bns.BNS2] adds a second Gamma-OU variance factor and +injects jumps directly into the variance process, with the leverage parameter +mirroring those jumps into the log-price. + +[BNS2Calibration][quantflow.options.calibration.bns.BNS2Calibration] fits +nine parameters with both factors sharing the same Gamma stationary marginal, +following the BNS superposition-of-OU construction. See the +[BNS tutorial](bns_calibration.md) for the full parameterisation and the +rationale behind tying $(\theta, \beta)$. + +The initial parameters seed a fast factor ($\kappa = 20$) and a slow factor +($\kappa = 0.3$). Both leverages start negative to reflect the persistent +equity-style downside skew across the term structure. Residuals are scored in +implied-vol space ([ResidualKind.IV][quantflow.options.calibration.base.ResidualKind]) +to weight the wings comparably to the ATM region. + +### Calibrated parameters + +--8<-- "docs/examples/output/spx_vol_surface.out" + +[![SPX BNS2 calibrated smile](../assets/examples/spx_vol_surface_bns2.png)](../assets/examples/spx_vol_surface_bns2.png){target="_blank"} + +The weight collapses almost entirely onto the fast factor, so $v_0$ for bns1 +sits close to the ATM variance read off the 3D surface and bns2 contributes +only marginally to the variance level. The slow factor instead carries the +stronger negative leverage ($\rho \approx -0.84$ against the fast factor's +$\rho \approx -0.43$): its low $\kappa$ keeps jumps persistent in the +log-price, which is what shapes the long-dated downside skew. Both factors +share the same BDLP intensity and jump decay by construction. + +The remaining short-maturity gap is structural to BNS, as discussed in the +[BNS tutorial](bns_calibration.md): jumps live in the variance process, so +the log-price wings are bounded by the variance jumps scaled by $|\rho_i|$. + ## Code ```python diff --git a/quantflow/data/yahoo.py b/quantflow/data/yahoo.py index d5951ba..302d9a0 100644 --- a/quantflow/data/yahoo.py +++ b/quantflow/data/yahoo.py @@ -32,7 +32,7 @@ class Yahoo(HttpxClient): ``` """ - url: str = "https://query2.finance.yahoo.com/v7/finance/options" + url: str = "https://query2.finance.yahoo.com/v7/finance" content_type: str = ( "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif," "image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" @@ -53,7 +53,7 @@ async def option_chain( ) -> dict: # pragma: no cover """Return the full option chain for `symbol`""" params = dict(getAllData="true", crumb=await self._get_crumb()) - data = await self.get(f"{self.url}/{symbol}", params=params) + data = await self.get(f"{self.url}/options/{symbol}", params=params) return data["optionChain"]["result"][0] async def volatility_surface_loader( @@ -186,7 +186,7 @@ async def save_fixture( out.write_bytes(payload) return out - async def _get_crumb(self) -> str: + async def _get_crumb(self) -> str: # pragma: no cover if self._crumb is not None: return self._crumb text = await self.get("https://query2.finance.yahoo.com/v1/test/getcrumb") @@ -194,7 +194,9 @@ async def _get_crumb(self) -> str: return self._crumb @classmethod - async def response_data(cls, response: HttpResponse) -> ResponseType: + async def response_data( + cls, response: HttpResponse + ) -> ResponseType: # pragma: no cover if ( "text/plain" in response.headers["content-type"] or "text/html" in response.headers["content-type"] diff --git a/quantflow/options/pricer.py b/quantflow/options/pricer.py index 3fa2188..f3f8793 100644 --- a/quantflow/options/pricer.py +++ b/quantflow/options/pricer.py @@ -29,11 +29,22 @@ def get_intrinsic_value(log_strike: FloatArray) -> FloatArray: class ModelOptionPrice(BaseModel, frozen=True): - """Represents the model price and sensitivities of an option for a given strike, + r"""Model price and sensitivities of an option for a given strike, forward and time to maturity. - It provides black price and sensitivies too for comparison and analysis - of the model price. + The [price][.price] field is always in + [forward space](../../glossary.md#forward-space), regardless of whether + the underlying market quotes options in the quote currency (e.g. SPX, + USD) or in the underlying (inverse options, e.g. BTC). + + \begin{equation} + c = \frac{C}{F} + \end{equation} + + Use [price_in_quote][.price_in_quote] to recover the quote-currency + premium $C = c\,F$. + + Also exposes Black price and sensitivities for comparison. """ strike: DecimalNumber = Field(description="Strike price of the option") @@ -42,10 +53,34 @@ class ModelOptionPrice(BaseModel, frozen=True): log_strike: float = Field(description="Log strike over forward, i.e. log(K/F)") moneyness: float = Field(description="Moneyness") ttm: float = Field(default=0, description="Time to maturity in years") - price: float = Field(description=("Price in forward space")) + price: float = Field( + description=( + "Option price in" + " [forward space](../../glossary.md#forward-space)." + " Multiply by [forward][.forward]" + " (or read [price_in_quote][.price_in_quote])" + " to obtain the quote-currency premium." + ) + ) delta: float = Field(description="Model delta of the option") gamma: float = Field(description="Model gamma of the option") + @property + def price_in_quote(self) -> float: + """Premium in the quote currency: forward-space price times forward. + + For inverse markets (BTC) the conventional premium is in the + underlying and equals [price][.price] directly; callers should pick + the convention that matches their downstream consumer. + """ + return self.price * float(self.forward) + + @property + def parity(self) -> float: + """Put call parity value for the option, i.e. the difference between call + and put price for the same strike and maturity""" + return 1.0 - float(np.exp(self.log_strike)) + @computed_field # type: ignore [prop-decorator] @property def black(self) -> BlackSensitivities: @@ -72,9 +107,9 @@ def intrinsic_value(self) -> float: is positive, i.e. when the strike is above the forward price. """ if self.option_type == OptionType.call: - return max(0.0, 1.0 - np.exp(self.log_strike)) + return max(0.0, self.parity) else: - return max(0.0, np.exp(self.log_strike) - 1.0) + return max(0.0, -self.parity) def as_option_type( self, @@ -83,18 +118,22 @@ def as_option_type( Doc("Type of the option, call or put"), ], ) -> Self: - """Convert the option price to the given option type""" + """Convert the option price to the given option type via put-call parity.""" if self.option_type == option_type: return self + if self.option_type == OptionType.call: + new_price = self.price - self.parity + new_delta = self.delta - 1.0 else: - return self.model_copy( - update=dict( - option_type=option_type, - price=self.price - self.intrinsic_value, - delta=self.delta - 1.0, - gamma=self.gamma, - ) + new_price = self.price + self.parity + new_delta = self.delta + 1.0 + return self.model_copy( + update=dict( + option_type=option_type, + price=new_price, + delta=new_delta, ) + ) class MaturityPricer(BaseModel, arbitrary_types_allowed=True): diff --git a/quantflow_tests/test_data_yahoo.py b/quantflow_tests/test_data_yahoo.py index 5f4204b..1c66772 100644 --- a/quantflow_tests/test_data_yahoo.py +++ b/quantflow_tests/test_data_yahoo.py @@ -59,3 +59,24 @@ async def test_loader_skips_zero_bid_ask(yahoo_cli: Yahoo, spx_chain: dict) -> N for s in m.strikes ) assert loaded < raw_contracts + + +async def test_save_fixture_roundtrip( + yahoo_cli: Yahoo, spx_chain: dict, tmp_path: Path +) -> None: + """`save_fixture` keeps only the fields needed by the loader and reloads.""" + plain = await yahoo_cli.save_fixture("^SPX", tmp_path / "spx.json") + payload = json.loads(plain.read_bytes()) + assert payload["underlyingSymbol"] == spx_chain["underlyingSymbol"] + assert set(payload["quote"]).issubset({"bid", "ask", "regularMarketPrice"}) + assert len(payload["options"]) == len(spx_chain["options"]) + contract = payload["options"][0]["calls"][0] + assert set(contract).issubset({"strike", "bid", "ask", "openInterest", "volume"}) + + gz = await yahoo_cli.save_fixture("^SPX", tmp_path / "spx.json.gz") + assert json.loads(gzip.decompress(gz.read_bytes())) == payload + + loader = Yahoo.loader_from_chain(payload) + surface = loader.surface() + assert surface.asset == "^SPX" + assert len(surface.maturities) == len(spx_chain["options"]) diff --git a/quantflow_tests/test_non_inverse_surface.py b/quantflow_tests/test_non_inverse_surface.py new file mode 100644 index 0000000..309ba98 --- /dev/null +++ b/quantflow_tests/test_non_inverse_surface.py @@ -0,0 +1,96 @@ +"""End-to-end test for the non-inverse (quote-currency) pricing path. + +Builds a synthetic option chain from known Black-Scholes prices, feeds it +through [VolSurfaceLoader][quantflow.options.surface.VolSurfaceLoader] with +`inverse=False`, then checks that the loader recovers the forward via +put-call parity and that `bs()` inverts back to the input volatility. +""" + +from __future__ import annotations + +from datetime import datetime, timezone +from decimal import Decimal + +import numpy as np +import pytest + +from quantflow.options.bs import black_price +from quantflow.options.inputs import DefaultVolSecurity, OptionType +from quantflow.options.surface import VolSurfaceLoader + +REF_DATE = datetime(2026, 1, 1, tzinfo=timezone.utc) +MATURITY = datetime(2026, 7, 2, tzinfo=timezone.utc) # roughly 0.5y +FORWARD = 100.0 +SIGMA = 0.25 +STRIKES = (80.0, 90.0, 100.0, 110.0, 120.0) +HALF_SPREAD = Decimal("0.005") # tiny tick around the mid, in quote currency + + +def _black_mid_usd(strike: float, call_put: int, ttm: float) -> Decimal: + """Black price in quote currency: forward-space price times the forward.""" + log_strike = float(np.log(strike / FORWARD)) + pfs = float(black_price(np.asarray(log_strike), SIGMA, ttm, call_put).sum()) + return Decimal(str(pfs * FORWARD)) + + +def _build_loader(ttm: float) -> VolSurfaceLoader: + loader = VolSurfaceLoader(asset="TEST") + loader.add_spot( + DefaultVolSecurity.spot(), + bid=Decimal(str(FORWARD)), + ask=Decimal(str(FORWARD)), + ) + for strike in STRIKES: + for option_type, call_put in ( + (OptionType.call, 1), + (OptionType.put, -1), + ): + mid = _black_mid_usd(strike, call_put, ttm) + loader.add_option( + DefaultVolSecurity.option(), + strike=Decimal(str(strike)), + maturity=MATURITY, + option_type=option_type, + bid=mid - HALF_SPREAD, + ask=mid + HALF_SPREAD, + inverse=False, + ) + return loader + + +def test_loader_recovers_forward_via_parity() -> None: + """With matched call/put prices the implied forward equals the true forward.""" + loader = _build_loader(ttm=0.5) + surface = loader.surface(ref_date=REF_DATE) + cross = surface.maturities[0] + assert float(cross.forward.mid) == pytest.approx(FORWARD, rel=1e-6) + + +def test_bs_recovers_input_volatility() -> None: + """`bs()` inverts the synthetic non-inverse prices back to the input sigma.""" + loader = _build_loader(ttm=0.5) + surface = loader.surface(ref_date=REF_DATE) + ttm = surface.maturities[0].ttm(surface.ref_date) + # rebuild prices at the actual ttm so the inversion is not biased by the + # slight day-count drift from our nominal 0.5y target. + loader = _build_loader(ttm=ttm) + surface = loader.surface(ref_date=REF_DATE) + surface.bs() + options = list(surface.option_prices(converged=True)) + assert options, "expected converged options on the synthetic surface" + for option in options: + assert option.implied_vol == pytest.approx(SIGMA, abs=5e-4) + + +def test_non_inverse_price_in_forward_space_matches_black() -> None: + """`price_in_forward_space` is the Black forward-space price.""" + loader = _build_loader(ttm=0.5) + surface = loader.surface(ref_date=REF_DATE) + ttm = surface.maturities[0].ttm(surface.ref_date) + loader = _build_loader(ttm=ttm) + surface = loader.surface(ref_date=REF_DATE) + for option in surface.option_prices(): + log_strike = float(option.log_strike) + call_put = 1 if option.option_type.is_call() else -1 + expected = float(black_price(np.asarray(log_strike), SIGMA, ttm, call_put)) + assert float(option.price_in_forward_space) == pytest.approx(expected, abs=2e-4) diff --git a/quantflow_tests/test_options_pricer.py b/quantflow_tests/test_options_pricer.py index 08e2de6..f12a5c3 100644 --- a/quantflow_tests/test_options_pricer.py +++ b/quantflow_tests/test_options_pricer.py @@ -3,7 +3,7 @@ import pytest from quantflow.options.pricer import OptionPricer, OptionType -from quantflow.sp.heston import HestonJ +from quantflow.sp.heston import Heston, HestonJ from quantflow.sp.wiener import WienerProcess from quantflow.utils.distributions import DoubleExponential from quantflow_tests.utils import has_plotly @@ -51,3 +51,44 @@ def test_wiener_matches_black(strike: int, forward: int) -> None: assert float(black.iv) == pytest.approx(sigma, rel=1e-3) assert price.delta == pytest.approx(float(black.delta), rel=1e-3) assert price.gamma == pytest.approx(float(black.gamma), rel=5e-3) + + +@pytest.mark.parametrize("strike,forward", [(80, 100), (100, 100), (120, 100)]) +def test_put_call_parity_across_strikes(strike: int, forward: int) -> None: + """`c - p = 1 - K/F` in forward space, on both sides of the forward. + + Regression for `as_option_type` previously using the clipped intrinsic, + which collapsed the put price onto the call whenever the call was OTM. + """ + pricer = OptionPricer(model=Heston.create(vol=0.2, kappa=2.0, sigma=0.5, rho=-0.5)) + call = pricer.price( + option_type=OptionType.call, strike=strike, forward=forward, ttm=0.5 + ) + put = pricer.price( + option_type=OptionType.put, strike=strike, forward=forward, ttm=0.5 + ) + assert call.price - put.price == pytest.approx(1.0 - strike / forward, abs=1e-9) + assert call.delta - put.delta == pytest.approx(1.0, abs=1e-9) + assert call.gamma == pytest.approx(put.gamma, abs=1e-9) + + +def test_price_in_quote_scales_with_forward() -> None: + """`price_in_quote` is the forward-space price multiplied by the forward.""" + pricer = OptionPricer(model=Heston.create(vol=0.2, kappa=2.0, sigma=0.5, rho=-0.5)) + price = pricer.price( + option_type=OptionType.call, strike=5500, forward=5000, ttm=0.5 + ) + assert price.price_in_quote == pytest.approx(price.price * 5000.0, abs=1e-9) + + +@pytest.mark.parametrize("strike,forward", [(80, 100), (100, 100), (120, 100)]) +def test_as_option_type_roundtrip(strike: int, forward: int) -> None: + """`call.as_option_type(put).as_option_type(call)` recovers the original.""" + pricer = OptionPricer(model=Heston.create(vol=0.2, kappa=2.0, sigma=0.5, rho=-0.5)) + call = pricer.price( + option_type=OptionType.call, strike=strike, forward=forward, ttm=0.5 + ) + roundtrip = call.as_option_type(OptionType.put).as_option_type(OptionType.call) + assert roundtrip.price == pytest.approx(call.price, abs=1e-12) + assert roundtrip.delta == pytest.approx(call.delta, abs=1e-12) + assert roundtrip.gamma == pytest.approx(call.gamma, abs=1e-12) From 7bab7ff6b3ad8459ebc0ae5b7e3f8eda094fd5be Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 14 May 2026 16:32:17 +0100 Subject: [PATCH 3/3] Remove unused code --- quantflow/options/pricer.py | 4 ---- quantflow_tests/test_options_pricer.py | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/quantflow/options/pricer.py b/quantflow/options/pricer.py index f3f8793..d36e818 100644 --- a/quantflow/options/pricer.py +++ b/quantflow/options/pricer.py @@ -24,10 +24,6 @@ TTM_FACTOR = 10000 -def get_intrinsic_value(log_strike: FloatArray) -> FloatArray: - return 1.0 - np.exp(np.clip(log_strike, None, 0)) - - class ModelOptionPrice(BaseModel, frozen=True): r"""Model price and sensitivities of an option for a given strike, forward and time to maturity. diff --git a/quantflow_tests/test_options_pricer.py b/quantflow_tests/test_options_pricer.py index f12a5c3..1da2719 100644 --- a/quantflow_tests/test_options_pricer.py +++ b/quantflow_tests/test_options_pricer.py @@ -72,6 +72,30 @@ def test_put_call_parity_across_strikes(strike: int, forward: int) -> None: assert call.gamma == pytest.approx(put.gamma, abs=1e-9) +@pytest.mark.parametrize( + "option_type,strike,forward,expected", + [ + # calls: payoff max(F - K, 0) / F = max(0, 1 - K/F) + (OptionType.call, 80, 100, 0.2), # ITM + (OptionType.call, 100, 100, 0.0), # ATM + (OptionType.call, 120, 100, 0.0), # OTM + # puts: payoff max(K - F, 0) / F = max(0, K/F - 1) + (OptionType.put, 80, 100, 0.0), # OTM + (OptionType.put, 100, 100, 0.0), # ATM + (OptionType.put, 120, 100, 0.2), # ITM + ], +) +def test_intrinsic_value( + option_type: OptionType, strike: int, forward: int, expected: float +) -> None: + """`intrinsic_value` is the forward-space payoff if exercised immediately.""" + pricer = OptionPricer(model=Heston.create(vol=0.2, kappa=2.0, sigma=0.5, rho=-0.5)) + price = pricer.price( + option_type=option_type, strike=strike, forward=forward, ttm=0.5 + ) + assert price.intrinsic_value == pytest.approx(expected, abs=1e-12) + + def test_price_in_quote_scales_with_forward() -> None: """`price_in_quote` is the forward-space price multiplied by the forward.""" pricer = OptionPricer(model=Heston.create(vol=0.2, kappa=2.0, sigma=0.5, rho=-0.5))