fuggers_py.market¶
Market state, quotes, fixings, indices, and curve abstractions.
.. py:module:: fuggers_py.market
Public market-data, state, fixing, and curve entrypoints.
This package collects the user-facing market layer: quote records, snapshot providers, fixing stores, index conventions, and curve wrappers/builders used by pricing and analytics code.
.. py:class:: AnalyticsCurves(discount_curve=None, forward_curve=None, government_curve=None, benchmark_curve=None, credit_curve=None, repo_curve=None, collateral_curve=None, fx_forward_curve=None, multicurve_environment=None, projection_curves=
Container for the curve roles used by analytics and pricing flows.
The container keeps role-based access explicit so callers can distinguish discount, projection, repo, inflation, and volatility inputs without relying on positional arguments or implicit fallbacks.
.. py:method:: AnalyticsCurves.get(role) :module: fuggers_py.market
Resolve a curve by canonical role name or projection alias.
The lookup accepts the named top-level roles defined on the container
plus ``projection:<name>`` and ``inflation:<name>`` aliases for keyed
sub-curves.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`object\` \| \:py\:obj\:\`None\``
.. py:class:: QuoteSide(value) :module: fuggers_py.market :canonical: fuggers_py.market.state.QuoteSide
Canonical quote-side selector used across market records.
.. py:class:: MarketDataSnapshot(as_of=None, quotes=(), repo_quotes=(), swap_quotes=(), basis_swap_quotes=(), bond_future_quotes=(), fx_forward_quotes=(), cds_quotes=(), haircut_quotes=(), curves=(), fixings=(), etf_holdings=(), volatility_surfaces=(), fx_rates=(), inflation_fixings=(), etf_quotes=()) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.MarketDataSnapshot
Immutable bundle of market-data records for snapshot-backed workflows.
The snapshot holds normalized quote, curve, fixing, volatility, FX, and ETF records and can materialize in-memory source adapters from them.
.. py:method:: MarketDataSnapshot.quote_source() :module: fuggers_py.market
Build an in-memory quote source from the stored quotes.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryQuoteSource\``
.. py:method:: MarketDataSnapshot.curve_source() :module: fuggers_py.market
Build an in-memory curve source from the stored curves.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryCurveSource\``
.. py:method:: MarketDataSnapshot.fixing_source() :module: fuggers_py.market
Build an in-memory fixing source from the stored fixings.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryFixingSource\``
.. py:method:: MarketDataSnapshot.volatility_source() :module: fuggers_py.market
Build an in-memory volatility source from the stored surfaces.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryVolatilitySource\``
.. py:method:: MarketDataSnapshot.fx_rate_source() :module: fuggers_py.market
Build an in-memory FX-rate source from the stored rates.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryFxRateSource\``
.. py:method:: MarketDataSnapshot.inflation_fixing_source() :module: fuggers_py.market
Build an in-memory inflation-fixing source from the stored fixings.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryInflationFixingSource\``
.. py:method:: MarketDataSnapshot.etf_quote_source() :module: fuggers_py.market
Build an in-memory ETF quote source from the stored quotes.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryEtfQuoteSource\``
.. py:method:: MarketDataSnapshot.provider() :module: fuggers_py.market
Build a composite provider over the snapshot's in-memory sources.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.MarketDataProvider\``
.. py:class:: InMemoryEtfQuoteSource(etf_quotes=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryEtfQuoteSource
Deterministic in-memory ETF quote source.
.. py:method:: InMemoryEtfQuoteSource.add_etf_quote(quote) :module: fuggers_py.market
Store an ETF quote keyed by normalized ETF identifier.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryEtfQuoteSource\``
.. py:method:: InMemoryEtfQuoteSource.get_etf_quote(etf_id) :module: fuggers_py.market
Return the requested ETF quote when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.EtfQuote\` \| \:py\:obj\:\`None\``
.. py:class:: PricingDataProvider(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.PricingDataProvider
Combined market-data provider used by pricing workflows.
.. py:class:: CdsQuote(instrument_id, par_spread=None, upfront=None, recovery_rate=None, tenor=None, reference_entity=None, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CdsQuote
CDS quote record with raw decimal spread and recovery fields.
The record supports both running-spread and upfront CDS quotes and carries the recovery assumption needed by credit-curve bootstrappers.
.. py:method:: CdsQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific CDS spread when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: CdsQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`CdsQuote\' \| None`
.. py:class:: HaircutQuote(instrument_id, haircut=None, collateral_type=None, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.HaircutQuote
Haircut quote record with haircut expressed as a raw decimal.
.. py:method:: HaircutQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific haircut when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: HaircutQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`HaircutQuote\' \| None`
.. py:attribute:: FixingSource :module: fuggers_py.market
alias of :py:class:~fuggers_py.market.market_data.IndexFixingSource
.. py:class:: FxRateSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.FxRateSource
Protocol for retrieving FX rates by currency pair and quote side.
.. py:class:: InMemoryQuoteSource(quotes=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryQuoteSource
Deterministic in-memory quote source.
Quote lookup is normalized by instrument identifier and quote side. When a
specific side is missing, mid-side lookups may fall back to the stored mid
quote; other missing source lookups return None.
.. py:method:: InMemoryQuoteSource.add_quote(quote) :module: fuggers_py.market
Store a quote and any side views that can be derived from it.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryQuoteSource\``
.. py:method:: InMemoryQuoteSource.get_quote(instrument_id, side=QuoteSide.MID) :module: fuggers_py.market
Return a normalized quote for the requested instrument and side.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.RawQuote\` \| \:py\:obj\:\`None\``
.. py:class:: CurveInputSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CurveInputSource
Protocol for retrieving curve calibration inputs.
.. py:class:: VolPoint(expiry, volatility, strike=None, tenor=None, delta=None, quote_type=VolQuoteType.LOGNORMAL) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.VolPoint
Volatility surface point with canonical expiry and optional strike.
.. py:class:: CurveInputs(curve_id, reference_date, points, interpolation=’linear’, curve_kind=’zero’, instruments=(), source=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CurveInputs
Ordered curve calibration bundle for a curve identifier.
from_points sorts pillars by tenor, and __post_init__ also orders
attached calibration instruments to keep in-memory snapshots deterministic.
The bundle is the read-only market-data shape consumed by curve builders.
.. py:method:: CurveInputs.from_points(curve_id, reference_date, points, *, interpolation=’linear’, curve_kind=’zero’, instruments=None, source=None) :module: fuggers_py.market :classmethod:
Build a normalized curve-input bundle from a point sequence.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.CurveInputs\``
.. py:method:: CurveInputs.tenors() :module: fuggers_py.market
Return curve tenors in sorted order.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`tuple\`\\ \\\[\:py\:class\:\`\~decimal.Decimal\`\, \:py\:data\:\`...\<Ellipsis\>\`\]`
.. py:method:: CurveInputs.curve_data() :module: fuggers_py.market
Convert the inputs bundle into a read-only curve snapshot record.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.CurveData\``
.. py:class:: IndexFixing(index_name, fixing_date, value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.IndexFixing
Index fixing record with normalized index name.
.. py:class:: VolSurfaceType(value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.VolSurfaceType
Supported volatility-surface categories.
.. py:class:: CurveInstrumentType(value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CurveInstrumentType
Instrument types accepted by curve construction inputs.
.. py:class:: IndexFixingSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.IndexFixingSource
Protocol for retrieving index fixings.
.. py:class:: InflationFixing(index_name, observation_month, value, publication_date=None, interpolation=InflationInterpolation.MONTHLY, source=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InflationFixing
Inflation fixing record keyed by observation month.
.. py:class:: MarketDataProvider(quote_source=None, curve_input_source=None, index_fixing_source=None, volatility_source=None, fx_rate_source=None, inflation_fixing_source=None, etf_quote_source=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.MarketDataProvider
Composite market-data provider built from optional source objects.
Source members may be omitted. Missing sources return None instead of
raising, which keeps snapshot and file-backed providers predictable.
.. py:method:: MarketDataProvider.from_snapshot(snapshot) :module: fuggers_py.market :classmethod:
Build a provider over the in-memory sources derived from a snapshot.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.MarketDataProvider\``
.. py:method:: MarketDataProvider.get_quote(instrument_id, side=QuoteSide.MID) :module: fuggers_py.market
Return a quote from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.RawQuote\` \| \:py\:obj\:\`None\``
.. py:method:: MarketDataProvider.get_curve_inputs(curve_id) :module: fuggers_py.market
Return curve inputs from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.CurveInputs\` \| \:py\:obj\:\`None\``
.. py:method:: MarketDataProvider.get_fixing(index_name, fixing_date) :module: fuggers_py.market
Return a fixing from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.IndexFixing\` \| \:py\:obj\:\`None\``
.. py:method:: MarketDataProvider.get_volatility_surface(surface_id) :module: fuggers_py.market
Return a volatility surface from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.VolatilitySurface\` \| \:py\:obj\:\`None\``
.. py:method:: MarketDataProvider.get_fx_rate(currency_pair, side=QuoteSide.MID) :module: fuggers_py.market
Return an FX rate from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.FxRate\` \| \:py\:obj\:\`None\``
.. py:method:: MarketDataProvider.get_inflation_fixing(index_name, observation_month) :module: fuggers_py.market
Return an inflation fixing from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InflationFixing\` \| \:py\:obj\:\`None\``
.. py:method:: MarketDataProvider.get_etf_quote(etf_id) :module: fuggers_py.market
Return an ETF quote from the configured source, if any.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.EtfQuote\` \| \:py\:obj\:\`None\``
.. py:class:: CurvePoint(tenor, value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CurvePoint
Single curve point with tenor and value expressed as decimals.
.. py:class:: FxForwardQuote(currency_pair, forward_rate=None, points=None, spot_rate=None, side=QuoteSide.MID, as_of=None, timestamp=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.FxForwardQuote
FX forward quote record.
points stores additive forward points relative to spot; forward_rate
is populated from spot plus points when the direct rate is absent. The
currency pair remains explicit so the quote can be used in both spot-point
and outright-forward workflows.
.. py:method:: FxForwardQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific forward rate when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: FxForwardQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`FxForwardQuote\' \| None`
.. py:class:: EtfQuoteSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.EtfQuoteSource
Protocol for retrieving ETF quotes.
.. py:class:: RawQuote(instrument_id, value, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, source_type=None, bid=None, ask=None, mid=None, last=None, bid_size=None, ask_size=None, last_size=None, yield_to_maturity=None, yield_to_worst=None, venue=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.RawQuote
Generic quote record with normalized identifiers and raw decimals.
value stores the side-specific quote. Bid/ask/mid views can be derived
from the stored fields, and missing side fields are populated from the
active side when possible. The economic meaning comes from the instrument
identifier and source metadata rather than from this container.
.. py:method:: RawQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the best available quote for the requested side.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: RawQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`RawQuote\' \| None`
.. py:class:: InMemoryFixingSource(fixings=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryFixingSource
Deterministic in-memory index fixing source.
.. py:method:: InMemoryFixingSource.add_fixing(fixing) :module: fuggers_py.market
Store a fixing keyed by index name and fixing date.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryFixingSource\``
.. py:method:: InMemoryFixingSource.get_fixing(index_name, fixing_date) :module: fuggers_py.market
Return a fixing for the requested index and date.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.IndexFixing\` \| \:py\:obj\:\`None\``
.. py:method:: InMemoryFixingSource.get_rate(index_name, fixing_date) :module: fuggers_py.market
Return only the fixing value for the requested index and date.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: InMemoryFixingSource.to_fixing_store() :module: fuggers_py.market
Export the in-memory fixings to a bond-layer fixing store.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.indices.fixing\_store.IndexFixingStore\``
.. py:class:: QuoteSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.QuoteSource
Protocol for quote retrieval by instrument and quote side.
.. py:class:: EtfHolding(instrument_id, quantity=None, weight=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.EtfHolding
ETF holding record with either quantity or weight populated.
.. py:class:: FxRate(currency_pair, rate, side=QuoteSide.MID, as_of=None, timestamp=None, source=None, source_type=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.FxRate
FX rate record with bid/ask/mid views and a raw decimal rate.
.. py:method:: FxRate.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific FX rate when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: FxRate.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`FxRate\' \| None`
.. py:class:: SourceType(value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.SourceType
Origin classification for a quote or surface.
.. py:class:: InMemoryCurveSource(curves=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryCurveSource
Deterministic in-memory curve source.
The source accepts either curve-input bundles or curve snapshot records and stores them in a normalized, deterministic order.
.. py:method:: InMemoryCurveSource.add_curve_inputs(curve_inputs) :module: fuggers_py.market
Store normalized curve inputs, accepting either snapshot shape.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryCurveSource\``
.. py:method:: InMemoryCurveSource.get_curve_inputs(curve_id) :module: fuggers_py.market
Return curve inputs for the requested curve identifier.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.CurveInputs\` \| \:py\:obj\:\`None\``
.. py:method:: InMemoryCurveSource.get_reference_curve(curve_id) :module: fuggers_py.market
Alias for :meth:`get_curve_inputs`.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.CurveInputs\` \| \:py\:obj\:\`None\``
.. py:class:: CurveInput(instrument_type, tenor=None, rate=None, price=None, weight=None, instrument_id=None, label=None, quote=None, source=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CurveInput
Calibration input for a single curve instrument.
The record carries the raw tenor, rate, price, or weight used by curve calibration routines together with optional instrument metadata and the original quote object.
.. py:class:: VolQuoteType(value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.VolQuoteType
Quoted volatility convention for a surface point.
.. py:class:: BondFutureQuote(instrument_id, price=None, delivery_month=None, conversion_factor=None, implied_repo_rate=None, cheapest_to_deliver=None, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.BondFutureQuote
Bond future quote record.
price is the futures price level, not a rate or spread. The record
stores the quoted level alongside optional conversion-factor and repo
analytics.
.. py:method:: BondFutureQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific futures price when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: BondFutureQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`BondFutureQuote\' \| None`
.. py:class:: InMemoryFxRateSource(fx_rates=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryFxRateSource
Deterministic in-memory FX-rate source.
.. py:method:: InMemoryFxRateSource.add_fx_rate(fx_rate) :module: fuggers_py.market
Store an FX rate and any derivable side views.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryFxRateSource\``
.. py:method:: InMemoryFxRateSource.get_fx_rate(currency_pair, side=QuoteSide.MID) :module: fuggers_py.market
Return a normalized FX rate for the requested pair and side.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.FxRate\` \| \:py\:obj\:\`None\``
.. py:class:: InMemoryInflationFixingSource(fixings=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryInflationFixingSource
Deterministic in-memory inflation fixing source.
.. py:method:: InMemoryInflationFixingSource.add_inflation_fixing(fixing) :module: fuggers_py.market
Store an inflation fixing keyed by index and observation month.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryInflationFixingSource\``
.. py:method:: InMemoryInflationFixingSource.get_inflation_fixing(index_name, observation_month) :module: fuggers_py.market
Return the requested inflation fixing when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InflationFixing\` \| \:py\:obj\:\`None\``
.. py:class:: BondQuote(instrument_id, clean_price=None, dirty_price=None, accrued_interest=None, yield_to_maturity=None, yield_to_worst=None, side=QuoteSide.MID, as_of=None, timestamp=None, source=None, currency=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.BondQuote
Bond quote record with clean/dirty price and yield fields.
Prices use the library’s percent-of-par convention; yield fields remain raw decimals.
.. py:class:: CurveData(curve_id, reference_date, points, interpolation=’linear’, curve_kind=’zero’, instruments=(), source=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.CurveData
Read-only curve snapshot record.
This is the stored curve representation; :class:CurveInputs is the
calibration-oriented shape that can be turned back into CurveData.
.. py:method:: CurveData.as_curve_inputs() :module: fuggers_py.market
Return the equivalent calibration input bundle.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.CurveInputs\``
.. py:class:: SwapQuote(instrument_id, rate=None, tenor=None, floating_index=None, fixed_frequency=None, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.SwapQuote
Swap quote record with rate expressed as a raw decimal.
.. py:method:: SwapQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific swap rate when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: SwapQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`SwapQuote\' \| None`
.. py:attribute:: CurveInputSet :module: fuggers_py.market
alias of :py:class:~fuggers_py.market.market_data.CurveInputs
.. py:class:: BasisSwapQuote(instrument_id, basis=None, tenor=None, pay_index=None, receive_index=None, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.BasisSwapQuote
Basis swap quote record with basis expressed as a raw decimal.
.. py:method:: BasisSwapQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific basis when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: BasisSwapQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`BasisSwapQuote\' \| None`
.. py:class:: ReferenceCurveSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.ReferenceCurveSource
Protocol for retrieving reference curves.
.. py:class:: InMemoryVolatilitySource(surfaces=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InMemoryVolatilitySource
Deterministic in-memory volatility surface source.
.. py:method:: InMemoryVolatilitySource.add_surface(surface) :module: fuggers_py.market
Store a volatility surface keyed by its normalized identifier.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.InMemoryVolatilitySource\``
.. py:method:: InMemoryVolatilitySource.get_volatility_surface(surface_id) :module: fuggers_py.market
Return the requested volatility surface when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~fuggers\_py.market.market\_data.VolatilitySurface\` \| \:py\:obj\:\`None\``
.. py:attribute:: CurveSource :module: fuggers_py.market
alias of :py:class:~fuggers_py.market.market_data.CurveInputSource
.. py:class:: EtfQuote(etf_id, market_price=None, nav=None, i_nav=None, shares_outstanding=None, as_of=None, timestamp=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.EtfQuote
ETF quote record with market price, NAV, and indicative NAV fields.
.. py:class:: InflationInterpolation(value) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InflationInterpolation
Interpolation convention for inflation fixings.
.. py:class:: InflationFixingSource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.InflationFixingSource
Protocol for retrieving inflation fixings by index and month.
.. py:class:: RepoQuote(instrument_id, rate=None, haircut=None, start_date=None, end_date=None, term=None, collateral_type=None, side=QuoteSide.MID, as_of=None, timestamp=None, currency=None, source=None, bid=None, ask=None, mid=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.RepoQuote
Repo quote record with rate and haircut expressed as raw decimals.
The record carries both quote-side views and the haircut used in funding and repo-curve workflows.
.. py:method:: RepoQuote.quoted_value(side=QuoteSide.MID) :module: fuggers_py.market
Return the side-specific repo rate when present.
:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~decimal.Decimal\` \| \:py\:obj\:\`None\``
.. py:method:: RepoQuote.for_side(side) :module: fuggers_py.market
Return a copy normalized to a different quote side.
:rtype: :sphinx_autodoc_typehints_type:`RepoQuote\' \| None`
.. py:class:: VolatilitySource(*args, **kwargs) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.VolatilitySource
Protocol for retrieving volatility surfaces.
.. py:class:: VolatilitySurface(surface_id, surface_type, as_of=None, timestamp=None, points=(), source=None, source_type=None) :module: fuggers_py.market :canonical: fuggers_py.market.market_data.VolatilitySurface
Volatility surface snapshot keyed by normalized surface identifier.