Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
AbaQuant 1.0.0rc1 documentation
Logo
AbaQuant 1.0.0rc1 documentation

Getting started

  • Getting started
    • Installation
    • Quickstart
    • Conventions and notation

Reference

  • Reference
    • Architecture
    • API reference guide
    • API stability
    • Provenance
    • Complete API reference
      • abaquant root facade
      • abaquant.core
        • abaquant.core.provenance
      • abaquant.credit
        • abaquant.credit.cdo
        • abaquant.credit.cds
        • abaquant.credit.copula
        • abaquant.credit.data
        • abaquant.credit.distribution
        • abaquant.credit.fundamentals
        • abaquant.credit.risk
        • abaquant.credit.transitions
        • abaquant.credit.types
        • abaquant.credit.valuation
      • abaquant.derivatives
        • abaquant.derivatives.analytics
          • abaquant.derivatives.analytics.distributions
          • abaquant.derivatives.analytics.parity
          • abaquant.derivatives.analytics.volatility
        • abaquant.derivatives.calibration
          • abaquant.derivatives.calibration.core
          • abaquant.derivatives.calibration.heston
          • abaquant.derivatives.calibration.sabr
        • abaquant.derivatives.models
          • abaquant.derivatives.models.bachelier
          • abaquant.derivatives.models.binomial
          • abaquant.derivatives.models.black_scholes
          • abaquant.derivatives.models.diagnostics
          • abaquant.derivatives.models.heston
          • abaquant.derivatives.models.merton
          • abaquant.derivatives.models.nig
          • abaquant.derivatives.models.parameters
          • abaquant.derivatives.models.sabr
          • abaquant.derivatives.models.variance_gamma
        • abaquant.derivatives.numerics
          • abaquant.derivatives.numerics.carr_madan_fft
          • abaquant.derivatives.numerics.implied_volatility
        • abaquant.derivatives.simulation
          • abaquant.derivatives.simulation.gbm
          • abaquant.derivatives.simulation.levy
          • abaquant.derivatives.simulation.merton
        • abaquant.derivatives.advanced
        • abaquant.derivatives.comparison
        • abaquant.derivatives.exotics
        • abaquant.derivatives.forwards
        • abaquant.derivatives.monte_carlo
        • abaquant.derivatives.strategies
        • abaquant.derivatives.trees
        • abaquant.derivatives.types
        • abaquant.derivatives.validation
        • abaquant.derivatives.vanilla
      • abaquant.financial_math
        • abaquant.financial_math.annuities
        • abaquant.financial_math.bonds
        • abaquant.financial_math.cashflows
        • abaquant.financial_math.corporate
        • abaquant.financial_math.equity
        • abaquant.financial_math.loans
        • abaquant.financial_math.portfolio
        • abaquant.financial_math.rates
        • abaquant.financial_math.risk
        • abaquant.financial_math.tvm
      • abaquant.marketdata
        • abaquant.marketdata.financials
          • abaquant.marketdata.financials.cache
          • abaquant.marketdata.financials.facade
          • abaquant.marketdata.financials.input_builder
          • abaquant.marketdata.financials.line_item_resolver
          • abaquant.marketdata.financials.models
          • abaquant.marketdata.financials.normalizer
          • abaquant.marketdata.financials.repository
        • abaquant.marketdata.providers
          • abaquant.marketdata.providers.base
          • abaquant.marketdata.providers.financial_statements
          • abaquant.marketdata.providers.history
          • abaquant.marketdata.providers.options
          • abaquant.marketdata.providers.quotes
          • abaquant.marketdata.providers.sec
          • abaquant.marketdata.providers.yahoo
        • abaquant.marketdata.errors
        • abaquant.marketdata.models
        • abaquant.marketdata.option_chain_analytics
        • abaquant.marketdata.sessions
        • abaquant.marketdata.ticker
        • abaquant.marketdata.universe
        • abaquant.marketdata.universe_history
        • abaquant.marketdata.universe_portfolio
        • abaquant.marketdata.universe_statistics
      • abaquant.portfolio
        • abaquant.portfolio.backtesting
        • abaquant.portfolio.data
        • abaquant.portfolio.efficient_frontier
        • abaquant.portfolio.hierarchical
        • abaquant.portfolio.optimization
        • abaquant.portfolio.risk_metrics
        • abaquant.portfolio.solvers
        • abaquant.portfolio.stress_testing
      • abaquant.rates
      • abaquant.reports
        • abaquant.reports.exportable
      • abaquant.risk
        • abaquant.risk.dashboard
      • abaquant.visualization
        • abaquant.visualization.core
        • abaquant.visualization.credit
        • abaquant.visualization.dashboard
        • abaquant.visualization.market
        • abaquant.visualization.options
        • abaquant.visualization.portfolio

Complete API reference

  • Complete API reference
    • abaquant root facade
    • abaquant.core
      • abaquant.core.provenance
    • abaquant.credit
      • abaquant.credit.cdo
      • abaquant.credit.cds
      • abaquant.credit.copula
      • abaquant.credit.data
      • abaquant.credit.distribution
      • abaquant.credit.fundamentals
      • abaquant.credit.risk
      • abaquant.credit.transitions
      • abaquant.credit.types
      • abaquant.credit.valuation
    • abaquant.derivatives
      • abaquant.derivatives.analytics
        • abaquant.derivatives.analytics.distributions
        • abaquant.derivatives.analytics.parity
        • abaquant.derivatives.analytics.volatility
      • abaquant.derivatives.calibration
        • abaquant.derivatives.calibration.core
        • abaquant.derivatives.calibration.heston
        • abaquant.derivatives.calibration.sabr
      • abaquant.derivatives.models
        • abaquant.derivatives.models.bachelier
        • abaquant.derivatives.models.binomial
        • abaquant.derivatives.models.black_scholes
        • abaquant.derivatives.models.diagnostics
        • abaquant.derivatives.models.heston
        • abaquant.derivatives.models.merton
        • abaquant.derivatives.models.nig
        • abaquant.derivatives.models.parameters
        • abaquant.derivatives.models.sabr
        • abaquant.derivatives.models.variance_gamma
      • abaquant.derivatives.numerics
        • abaquant.derivatives.numerics.carr_madan_fft
        • abaquant.derivatives.numerics.implied_volatility
      • abaquant.derivatives.simulation
        • abaquant.derivatives.simulation.gbm
        • abaquant.derivatives.simulation.levy
        • abaquant.derivatives.simulation.merton
      • abaquant.derivatives.advanced
      • abaquant.derivatives.comparison
      • abaquant.derivatives.exotics
      • abaquant.derivatives.forwards
      • abaquant.derivatives.monte_carlo
      • abaquant.derivatives.strategies
      • abaquant.derivatives.trees
      • abaquant.derivatives.types
      • abaquant.derivatives.validation
      • abaquant.derivatives.vanilla
    • abaquant.financial_math
      • abaquant.financial_math.annuities
      • abaquant.financial_math.bonds
      • abaquant.financial_math.cashflows
      • abaquant.financial_math.corporate
      • abaquant.financial_math.equity
      • abaquant.financial_math.loans
      • abaquant.financial_math.portfolio
      • abaquant.financial_math.rates
      • abaquant.financial_math.risk
      • abaquant.financial_math.tvm
    • abaquant.marketdata
      • abaquant.marketdata.financials
        • abaquant.marketdata.financials.cache
        • abaquant.marketdata.financials.facade
        • abaquant.marketdata.financials.input_builder
        • abaquant.marketdata.financials.line_item_resolver
        • abaquant.marketdata.financials.models
        • abaquant.marketdata.financials.normalizer
        • abaquant.marketdata.financials.repository
      • abaquant.marketdata.providers
        • abaquant.marketdata.providers.base
        • abaquant.marketdata.providers.financial_statements
        • abaquant.marketdata.providers.history
        • abaquant.marketdata.providers.options
        • abaquant.marketdata.providers.quotes
        • abaquant.marketdata.providers.sec
        • abaquant.marketdata.providers.yahoo
      • abaquant.marketdata.errors
      • abaquant.marketdata.models
      • abaquant.marketdata.option_chain_analytics
      • abaquant.marketdata.sessions
      • abaquant.marketdata.ticker
      • abaquant.marketdata.universe
      • abaquant.marketdata.universe_history
      • abaquant.marketdata.universe_portfolio
      • abaquant.marketdata.universe_statistics
    • abaquant.portfolio
      • abaquant.portfolio.backtesting
      • abaquant.portfolio.data
      • abaquant.portfolio.efficient_frontier
      • abaquant.portfolio.hierarchical
      • abaquant.portfolio.optimization
      • abaquant.portfolio.risk_metrics
      • abaquant.portfolio.solvers
      • abaquant.portfolio.stress_testing
    • abaquant.rates
    • abaquant.reports
      • abaquant.reports.exportable
    • abaquant.risk
      • abaquant.risk.dashboard
    • abaquant.visualization
      • abaquant.visualization.core
      • abaquant.visualization.credit
      • abaquant.visualization.dashboard
      • abaquant.visualization.market
      • abaquant.visualization.options
      • abaquant.visualization.portfolio

Analytical domains

  • Analytical domains
    • Derivatives
    • Financial mathematics
    • Portfolio analytics
    • Credit analytics
    • Market data
    • Rates
    • Visualization and reports
    • Assumptions and limitations

Operations

  • Operations
    • Examples

Examples

  • Examples
    • Foundations
      • Import All Public Modules
      • Root-Level Facades
      • Data Provenance
    • Financial Math and Rates
      • Financial Mathematics
      • FRED Rate Curve
    • Derivatives
      • Derivatives
      • Derivatives: Advanced Models
      • Option-Model Visual Report
      • Listed Option-Chain Analytics
      • Composable Option Strategy Builder
      • Derivative Calibration
    • Credit
      • Credit Risk
      • Minimal Credit Proxy Examples
    • Portfolio and Risk
      • Portfolio Optimization
      • Portfolio–Credit Visual Dashboard
      • Scenario Analysis
      • Portfolio Backtesting
      • Integrated Risk Dashboard
    • Market Data
      • Market Data (Offline)
      • Live Market Data (Yahoo/yfinance)
      • SEC EDGAR/XBRL Fundamentals
      • Applied Market-Data Workflows
    • Visualization and Reports
      • Visualization Overview
      • Visualization Theme and Export
      • Visualize Method Gallery
      • Exportable Reports

Development

  • Development and release
    • Development and release checks
    • Release notes
Back to top
View this page
Edit this page

Visualize Method Gallery¶

A complete reference gallery of every supported visualize() family across option models, lattices, SABR smiles, option strategies, portfolio allocators, and market-data facades. Treat this notebook as a lookup table: copy the chart name and arguments you need into your own workflow.

Sections:

  1. Option-model gallery

  2. Portfolio gallery

  3. Market-data gallery

Setup¶

import abaquant
print(f"AbaQuant version: {abaquant.__version__}")
AbaQuant version: 1.0.0rc1
import pandas as pd

from abaquant.derivatives import OptionStrategy
from abaquant.derivatives.models import BlackScholesMertonModel, CoxRossRubinsteinModel
from abaquant.derivatives.models.sabr import SABRVolatilityModel
from abaquant.marketdata import get_ticker, get_tickers
from abaquant.portfolio.optimization import PortfolioAllocator
from abaquant.visualization import VisualizationError
class DeterministicMarketDataProvider:
    """Minimal offline provider reused across the visualization gallery."""

    name = "deterministic-example"

    def fast_info(self, symbol):
        return {"lastPrice": 105.0}

    def info(self, symbol):
        return {"currency": "USD", "marketCap": 600.0, "symbol": symbol}

    def history(self, symbol, **kwargs):
        import numpy as np
        dates = pd.date_range("2025-01-02", periods=24, freq="B")
        return pd.DataFrame({"Close": 100.0 + np.linspace(0, 8, len(dates))}, index=dates)

    def history_many(self, symbols, **kwargs):
        import numpy as np
        dates = pd.date_range("2025-01-02", periods=24, freq="B")
        data = {s: 100.0 + i * 5 + np.linspace(0, 8, len(dates)) for i, s in enumerate(symbols)}
        return pd.DataFrame(data, index=dates)

    def option_expirations(self, symbol):
        return ["2027-01-15"]

    def option_chain(self, symbol, expiry):
        strikes = [80.0, 90.0, 100.0, 110.0, 120.0]
        calls = pd.DataFrame({
            "contractSymbol": [f"{symbol}C{int(k)}" for k in strikes],
            "strike": strikes, "lastPrice": [22.0, 14.5, 8.0, 4.5, 2.4],
            "bid": [21.5, 14.0, 7.6, 4.1, 2.0], "ask": [22.5, 15.0, 8.4, 4.9, 2.8],
            "impliedVolatility": [0.31, 0.27, 0.23, 0.25, 0.29],
            "openInterest": [120, 240, 520, 310, 180], "volume": [12, 28, 65, 34, 16],
        })
        puts = pd.DataFrame({
            "contractSymbol": [f"{symbol}P{int(k)}" for k in strikes],
            "strike": strikes, "lastPrice": [2.2, 4.1, 7.8, 13.9, 21.0],
            "bid": [1.9, 3.8, 7.4, 13.4, 20.4], "ask": [2.5, 4.4, 8.2, 14.4, 21.6],
            "impliedVolatility": [0.35, 0.30, 0.24, 0.26, 0.32],
            "openInterest": [210, 330, 610, 270, 155], "volume": [18, 36, 70, 29, 14],
        })
        return calls, puts

    def income_statement(self, symbol, *, period="annual"):
        return pd.DataFrame({"2025-12-31": {
            "Total Revenue": 450.0, "EBITDA": 90.0, "EBIT": 75.0,
            "Interest Expense": 10.0, "Net Income": 60.0, "Gross Profit": 200.0,
        }})

    def balance_sheet(self, symbol, *, period="annual"):
        return pd.DataFrame({"2025-12-31": {
            "Total Debt": 120.0, "Stockholders Equity": 300.0, "Current Assets": 250.0,
            "Inventory": 40.0, "Current Liabilities": 100.0, "Cash And Cash Equivalents": 50.0,
            "Total Assets": 500.0, "Total Liabilities": 200.0, "Retained Earnings": 110.0,
            "Long Term Debt": 80.0,
        }})

    def cash_flow_statement(self, symbol, *, period="annual"):
        return pd.DataFrame({"2025-12-31": {"Operating Cash Flow": 70.0}})

1. Option-model gallery¶

Payoff, price profile, extrinsic value, standardized Greeks, price and gamma surfaces, a binomial lattice, a SABR volatility smile, and option strategy payoff/component charts.

def build_option_gallery():
    option = BlackScholesMertonModel(100.0, 105.0, 1.0, 0.05, 0.20)
    lattice = CoxRossRubinsteinModel(100.0, 105.0, 1.0, 0.05, 0.20, number_of_steps=6)
    sabr = SABRVolatilityModel(100.0, 100.0, 1.0, 0.20, 0.5, -0.3, 0.4)
    return {
        "option_payoff": option.visualize(chart="payoff"),
        "option_profile": option.visualize(chart="price_profile"),
        "option_extrinsic": option.visualize(chart="extrinsic_value"),
        "option_greeks": option.visualize(chart="greeks", greek_scale="standardized"),
        "option_price_surface": option.visualize(
            chart="price_surface", grid_size=31, volatility_grid_size=15
        ),
        "option_gamma_surface": option.visualize(
            chart="gamma_surface", grid_size=31, volatility_grid_size=15
        ),
        "lattice_tree": lattice.visualize(chart="tree"),
        "sabr_smile": sabr.visualize(chart="volatility_smile"),
        "strategy_payoff": OptionStrategy.bull_call_spread(
            lower_strike=100.0, upper_strike=115.0, lower_premium=6.0, upper_premium=2.0
        ).visualize(chart="payoff"),
        "strategy_components": OptionStrategy.bull_call_spread(
            lower_strike=100.0, upper_strike=115.0, lower_premium=6.0, upper_premium=2.0
        ).visualize(chart="components"),
    }

2. Portfolio gallery¶

Weights, cumulative returns, and correlation for a maximum-Sharpe allocation.

def build_portfolio_gallery():
    returns = pd.DataFrame(
        {
            "ALPHA": [0.01, -0.002, 0.006, 0.004, 0.003],
            "BETA": [0.003, 0.005, -0.001, 0.002, 0.004],
            "GAMMA": [-0.002, 0.007, 0.004, 0.006, 0.001],
        }
    )
    allocator = PortfolioAllocator(returns, annual_risk_free_rate=0.02)
    weights = allocator.mean_variance.maximum_sharpe()
    return {
        "portfolio_weights": allocator.visualize(weights=weights, chart="weights"),
        "portfolio_cumulative": allocator.visualize(weights=weights, chart="cumulative_returns"),
        "portfolio_correlation": allocator.visualize(chart="correlation"),
    }

3. Market-data gallery¶

Ticker/universe price history, a financial statement, and option-chain analytics charts.

def build_market_gallery():
    provider = DeterministicMarketDataProvider()
    ticker = get_ticker("DEMO", provider=provider, financial_cache="memory")
    universe = get_tickers(["ALPHA", "BETA", "GAMMA"], provider=provider)
    assessment = ticker.credit.assess_from_financials()
    chain_analytics = ticker.options.analytics("2027-01-15")
    return {
        "ticker_prices": ticker.visualize(period="1mo"),
        "universe_prices": universe.visualize(period="1mo"),
        "statement": ticker.financials.visualize(statement="balance_sheet"),
        "option_chain_iv_surface": chain_analytics.visualize(chart="iv_surface", option_type="call"),
        "option_chain_rich_cheap": chain_analytics.visualize(
            chart="rich_cheap", option_type="call", risk_free_rate=0.04
        ),
        "credit_metrics": assessment.visualize(chart="metrics"),
        "credit_score": assessment.visualize(chart="score"),
    }

Build the complete gallery¶

try:
    figures = {}
    figures.update(build_option_gallery())
    figures.update(build_portfolio_gallery())
    figures.update(build_market_gallery())
    print(f"Created {len(figures)} figures total:")
    for name, fig in figures.items():
        print(f"  {name:26s}: {type(fig).__name__}")
except VisualizationError as exc:
    print(f"Visualization skipped (optional dependency missing): {exc}")
/opt/miniconda3/envs/A/lib/python3.13/site-packages/abaquant/visualization/options.py:652: UserWarning: Attempting to set identical low and high ylims makes transformation singular; automatically expanding.
  image = axes.imshow(
Created 20 figures total:
  option_payoff             : Figure
  option_profile            : Figure
  option_extrinsic          : Figure
  option_greeks             : Figure
  option_price_surface      : Figure
  option_gamma_surface      : Figure
  lattice_tree              : Figure
  sabr_smile                : Figure
  strategy_payoff           : Figure
  strategy_components       : Figure
  portfolio_weights         : Figure
  portfolio_cumulative      : Figure
  portfolio_correlation     : Figure
  ticker_prices             : Figure
  universe_prices           : Figure
  statement                 : Figure
  option_chain_iv_surface   : Figure
  option_chain_rich_cheap   : Figure
  credit_metrics            : Figure
  credit_score              : Figure
../../_images/eae82041f74f408db1f641271a5b703151f8ecf4ac4b2532cab4c16b0cb2b61c.png ../../_images/968e537a673bc7c8311e2eae0b80a54ca2f9ce216c11b5602f44c39b4a10e152.png ../../_images/dbcdb634adf632a5640ca43f781ae6ec8a2f7ca050ae98f02c1bd3599e82b7fa.png ../../_images/fa746ff7a16fe9e200a5ca8858e238c056052aa65b9e5b28a5148b9769b90798.png ../../_images/47da580b569d22cd6b95a3401547fde72957c7161d7d55115fd58a8fbf64a2ed.png ../../_images/14a32b66cec8d231711f44c00f0c05a83f6b67f064781d62bfca6ac57afce2a8.png ../../_images/245403630cb346ac4772daa44db76f0a87fe5f9e9b5c34388f46ff612d0e100e.png ../../_images/b6b966c755e94b8e6fa7276bd131d9fc759c9a0dba443ddafcc4cc367ea65376.png ../../_images/176214fb4f36c1f60c90979c1f36727150b52648014596e4418be4e52f612340.png ../../_images/95d41177604546d73c73599ce0bd8b81651fabcfa986b136723830de7303e016.png ../../_images/47f752cfcd6a8cfefd9a75d722dfdb59ca9ee452fc4a37a6c804c50f9257cf66.png ../../_images/de16cd701c0a2ccbe5a7c8db2db31b266a28b25aa3efe7a679e7e65ec5c23a45.png ../../_images/441a5cb26c56e4cfe47d738322a686e6e6572c6f3949e25763d940ff23da0e96.png ../../_images/f31e40afafccff591d049f5ebc3dbafa31a0973ab58f09fcb6a5b259589db598.png ../../_images/1744989966747151eb700eba574dbc05c08a34bf5d893850a3c671ee55f766a2.png ../../_images/8537402376942403f1b1d6c4ea5737d678eb22db9feaeeee24e4b78c3c741caa.png ../../_images/0e87a2ea41bdc072363f3c8996bae945741b1e34bc4f234adb4a99455353ae0a.png ../../_images/eeda1d73d05e9395829a50153270a7f20ee82b12e4c55a11cb83e4045450aa1a.png ../../_images/8d01831176fd87d2909ed9a7e92b5c787715462348dff102c5bc3dfa980fda3e.png ../../_images/c4d22ddf73b111545334c8c3ce77b850b513319361b874328d35da46fbb17fc3.png

Takeaway¶

Use this notebook as a searchable index of chart names. When you know the domain object (option model, allocator, ticker, …) but not the exact chart= value, scan the relevant section above.

Next
Exportable Reports
Previous
Visualization Theme and Export
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • Visualize Method Gallery
    • Setup
    • 1. Option-model gallery
    • 2. Portfolio gallery
    • 3. Market-data gallery
    • Build the complete gallery
    • Takeaway