Skip to main content

Crate ferro_risk

Crate ferro_risk 

Re-exports§

pub use analytics::contract_analytics;
pub use analytics::contract_analytics_batch;
pub use error::FerroRiskError;
pub use greeks::greeks_batch_simd;
pub use greeks::charm;
pub use greeks::color;
pub use greeks::delta;
pub use greeks::gamma;
pub use greeks::greeks_all;
pub use greeks::greeks_batch;
pub use greeks::rho;
pub use greeks::theta;
pub use greeks::vanna;
pub use greeks::vega;
pub use greeks::veta;
pub use greeks::volga;
pub use implied::DeAmericanizationSummary;
pub use implied::DeAmericanizedInput;
pub use implied::DeAmericanizedQuote;
pub use implied::HestonCalibrationEvaluation;
pub use implied::HestonCalibrationQuote;
pub use implied::HestonCalibrationResidual;
pub use implied::HestonCalibrationSummary;
pub use implied::JumpDiffusionCalibrationBounds;
pub use implied::JumpDiffusionCalibrationDiagnostics;
pub use implied::JumpDiffusionCalibrationEvaluation;
pub use implied::JumpDiffusionCalibrationOutcome;
pub use implied::JumpDiffusionCalibrationPolicy;
pub use implied::JumpDiffusionCalibrationQuote;
pub use implied::JumpDiffusionCalibrationResidual;
pub use implied::JumpDiffusionCalibrationSummary;
pub use implied::JumpDiffusionExpiryFit;
pub use implied::JumpDiffusionObjectiveSpace;
pub use implied::JumpPriorCrossCheck;
pub use implied::JumpPriorCrossCheckPolicy;
pub use implied::LocalVolCalibrationEvaluation;
pub use implied::LocalVolCalibrationQuote;
pub use implied::LocalVolCalibrationResidual;
pub use implied::LocalVolCalibrationSummary;
pub use implied::TiltEnvelopeSource;
pub use implied::TiltIdentifiability;
pub use implied::bisection_iv;
pub use implied::calibrate_jump_diffusion;
pub use implied::calibrate_jump_diffusion_american;
pub use implied::calibrate_jump_diffusion_any_exercise;
pub use implied::de_americanize_quote;
pub use implied::de_americanize_surface_input;
pub use implied::evaluate_heston_calibration_quotes;
pub use implied::evaluate_heston_surface_calibration_input;
pub use implied::evaluate_jump_diffusion_calibration_quotes;
pub use implied::evaluate_jump_diffusion_surface_calibration_input;
pub use implied::evaluate_local_vol_calibration_quotes;
pub use implied::evaluate_local_vol_surface_calibration_input;
pub use implied::implied_vol;
pub use implied::implied_vol_batch;
pub use implied::implied_vol_from_normalised_price;
pub use implied::jump_prior_cross_check;
pub use implied::normalised_black;
pub use implied::normalised_vega;
pub use integration::FerroWaveExposureAttributionDriver;
pub use integration::FerroWaveExposureAttributionRow;
pub use integration::FerroWaveExposureScenarioReport;
pub use integration::FerroWaveJumpSignal;
pub use integration::FerroWaveRegimeSignal;
pub use integration::FerroWaveScenarioAdapter;
pub use integration::FerroWaveScenarioStep;
pub use integration::FerroWaveVolatilitySignal;
pub use integration::JumpAssumption;
pub use integration::JumpAssumptionAdapter;
pub use integration::JumpEstimateUncertainty;
pub use integration::evaluate_ferro_wave_exposure_scenario;
pub use microstructure::QuoteCost;
pub use microstructure::QuoteCostDegradation;
pub use microstructure::QuoteCostLeg;
pub use microstructure::QuoteCostOutcome;
pub use microstructure::QuoteCostUnavailability;
pub use microstructure::SpreadLegDegradation;
pub use microstructure::SpreadLegUnavailability;
pub use microstructure::SpreadQuoteCost;
pub use microstructure::SpreadQuoteCostOutcome;
pub use microstructure::effective_spread;
pub use microstructure::effective_spread_from_prices;
pub use microstructure::spread_round_trip_cost;
pub use models::LocalVolEngine;
pub use models::LocalVolForwardPdeConfig;
pub use models::LocalVolKernelPolicy;
pub use models::LocalVolMcConfig;
pub use models::LocalVolMcSeed;
pub use models::LocalVolPdeConfig;
pub use models::LocalVolPricer;
pub use models::MertonAmericanPdeConfig;
pub use models::american_price;
pub use models::american_price_with_dividends;
pub use models::bachelier_price;
pub use models::black76_price;
pub use models::bsm_price;
pub use models::bsm_price_batch;
pub use models::displaced_black_price;
pub use models::heston_price;
pub use models::local_vol_greeks;
pub use models::local_vol_price;
pub use models::local_vol_strip_price;
pub use models::merton_american_price;
pub use models::merton_american_price_with_config;
pub use models::merton_price;
pub use models::price;
pub use portfolio::Book;
pub use portfolio::BookId;
pub use portfolio::Portfolio;
pub use portfolio::Position;
pub use portfolio::PositionId;
pub use portfolio::PositionQuantity;
pub use portfolio::Strategy;
pub use portfolio::StrategyId;
pub use reference::escrowed_dividends::EscrowedDividendReferenceReport;
pub use reference::escrowed_dividends::escrowed_dividend_reference_price;
pub use reference::escrowed_dividends::escrowed_dividend_reference_price_with_steps;
pub use reference::escrowed_dividends::escrowed_dividend_reference_report;
pub use reference::escrowed_dividends::escrowed_dividend_reference_report_with_steps;
pub use reference::jump_diffusion::DEFAULT_MERTON_AMERICAN_LATTICE_STEPS;
pub use reference::jump_diffusion::MertonAmericanReferenceReport;
pub use reference::jump_diffusion::merton_american_reference_price;
pub use reference::jump_diffusion::merton_american_reference_price_with_steps;
pub use reference::jump_diffusion::merton_american_reference_report;
pub use reference::jump_diffusion::merton_american_reference_report_with_steps;
pub use reference::AmericanReferenceReport;
pub use reference::DEFAULT_AMERICAN_REFERENCE_STEPS;
pub use reference::american_reference_price;
pub use reference::american_reference_price_with_steps;
pub use reference::american_reference_report;
pub use reference::american_reference_report_with_steps;
pub use risk::BookRiskReport;
pub use risk::BookScenarioPnlReport;
pub use risk::BookScenarioReport;
pub use risk::BookScenarioSpotSolveReport;
pub use risk::ExpiryRiskBucket;
pub use risk::ExpiryScenarioPnlBucket;
pub use risk::LinearVolTermShock;
pub use risk::LocalVolScenarioLeg;
pub use risk::LocalVolScenarioSpotSolveReport;
pub use risk::PortfolioRiskReport;
pub use risk::PortfolioScenarioPnlReport;
pub use risk::PortfolioScenarioReport;
pub use risk::PositionRisk;
pub use risk::PositionScenarioPnl;
pub use risk::PositionScenarioPnlRow;
pub use risk::PositionScenarioReport;
pub use risk::PositionScenarioSpotSolveEntry;
pub use risk::SCENARIO_SPOT_SOLVE_DEFAULT_MAX_REFINEMENTS;
pub use risk::SCENARIO_SPOT_SOLVE_DEFAULT_PNL_TOLERANCE;
pub use risk::SCENARIO_SPOT_SOLVE_DEFAULT_SCAN_INTERVALS;
pub use risk::SCENARIO_SPOT_SOLVE_DEFAULT_SPOT_TOLERANCE;
pub use risk::SCENARIO_SPOT_SOLVE_MAX_REFINEMENTS;
pub use risk::SCENARIO_SPOT_SOLVE_MAX_SCAN_INTERVALS;
pub use risk::ScenarioDefinition;
pub use risk::ScenarioPnlBoundary;
pub use risk::ScenarioPnlRegion;
pub use risk::ScenarioPnlSign;
pub use risk::ScenarioShock;
pub use risk::ScenarioSpotSolveCoverage;
pub use risk::ScenarioSpotSolvePolicy;
pub use risk::ScenarioSpotSolveRequest;
pub use risk::ScenarioSpotSolveUnresolvedCell;
pub use risk::ScenarioSpotSolveUnresolvedReason;
pub use risk::StrategyRiskReport;
pub use risk::StrategyScenarioPnl;
pub use risk::StrategyScenarioPnlRow;
pub use risk::StrategyScenarioReport;
pub use risk::StrategyScenarioSpotSolveReport;
pub use risk::StrikeRiskBucket;
pub use risk::StrikeScenarioPnlBucket;
pub use risk::TermShockExtrapolation;
pub use risk::aggregate_book_risk;
pub use risk::aggregate_portfolio_risk;
pub use risk::aggregate_strategy_risk;
pub use risk::evaluate_book_scenario;
pub use risk::evaluate_portfolio_scenario;
pub use risk::explain_book_scenario_pnl;
pub use risk::explain_portfolio_scenario_pnl;
pub use risk::local_vol_scenario_price;
pub use risk::local_vol_scenario_strip_price;
pub use risk::solve_book_scenario_spot;
pub use risk::solve_local_vol_scenario_spot;
pub use risk::solve_strategy_scenario_spot;
pub use risk::vol_term_shocked_term_variance_curve;
pub use streaming::AtmTermStructurePoint;
pub use streaming::ButterflyPoint;
pub use streaming::ChainContractId;
pub use streaming::ChainContractMultiplier;
pub use streaming::ChainContractSnapshot;
pub use streaming::ChainContractUpdate;
pub use streaming::ChainDerivedMetrics;
pub use streaming::ChainExpiryWall;
pub use streaming::ChainExposureContract;
pub use streaming::ChainExposureExclusionReason;
pub use streaming::ChainExposureExpiryBucket;
pub use streaming::ChainExposureFlipLevel;
pub use streaming::ChainExposureInputs;
pub use streaming::ChainExposureMetric;
pub use streaming::ChainExposurePolicy;
pub use streaming::ChainExposureReport;
pub use streaming::ChainExposureSignConvention;
pub use streaming::ChainExposureState;
pub use streaming::ChainExposureStateRefresh;
pub use streaming::ChainExposureStrikeBucket;
pub use streaming::ChainExposureValues;
pub use streaming::ChainFlowReport;
pub use streaming::ChainFlowState;
pub use streaming::ChainFlowStateRefresh;
pub use streaming::ChainMetadata;
pub use streaming::ChainMetricPolicy;
pub use streaming::ChainMissingImpliedVolatilityTreatment;
pub use streaming::ChainMissingOpenInterestTreatment;
pub use streaming::ChainQuote;
pub use streaming::ChainRefreshReport;
pub use streaming::ChainSnapshot;
pub use streaming::ChainState;
pub use streaming::ChainStrikeWall;
pub use streaming::ChainUpdateBatch;
pub use streaming::ChainZeroOpenInterestTreatment;
pub use streaming::CharmExposureConvention;
pub use streaming::DeltaExposureConvention;
pub use streaming::ExcludedChainExposureContract;
pub use streaming::GammaExposureConvention;
pub use streaming::ImpliedMovePoint;
pub use streaming::QuoteSource;
pub use streaming::RiskReversalPoint;
pub use streaming::SpotLadderPoint;
pub use streaming::SpotLadderPolicy;
pub use streaming::SpotLadderReport;
pub use streaming::VannaExposureConvention;
pub use streaming::VegaExposureConvention;
pub use streaming::VolOfVolProxyPoint;
pub use streaming::atm_term_structure;
pub use streaming::butterfly_curve;
pub use streaming::derive_chain_exposures;
pub use streaming::derive_flow_analytics;
pub use streaming::derive_market_metrics;
pub use streaming::expiry_walls;
pub use streaming::exposure_flip_levels;
pub use streaming::implied_move_curve;
pub use streaming::risk_reversal_curve;
pub use streaming::spot_ladder;
pub use streaming::strike_walls;
pub use streaming::vol_of_vol_proxy_curve;
pub use surface::forward_variance_batch_simd;
pub use surface::AcceptableReason;
pub use surface::BidAskInversionError;
pub use surface::BidAskIvBounds;
pub use surface::BidAskPenalty;
pub use surface::BidAskPenaltyRecord;
pub use surface::BidAskPrices;
pub use surface::BidOrAsk;
pub use surface::ButterflyArbitrageProjection;
pub use surface::ButterflyArbitrageViolation;
pub use surface::ButterflyViolation;
pub use surface::CalendarArbitrageViolation;
pub use surface::DEFAULT_FORWARD_PARITY_RELATIVE_TOLERANCE;
pub use surface::DEFAULT_PARITY_MONEYNESS_WINDOW;
pub use surface::DegeneracyReason;
pub use surface::DupireExtractionDiagnostics;
pub use surface::DupireExtractionGrid;
pub use surface::DupireExtractionPolicy;
pub use surface::DupireLocalVolPoint;
pub use surface::FailureReason;
pub use surface::FeasibilityDrop;
pub use surface::FeasibilityDropReason;
pub use surface::FeasibilityPolicy;
pub use surface::FeasibilityWarning;
pub use surface::FitQuality;
pub use surface::ForwardVarianceInterval;
pub use surface::ForwardVarianceOutcome;
pub use surface::ForwardVarianceViolation;
pub use surface::HuberLoss;
pub use surface::JointSsviCalibrationBounds;
pub use surface::JointSsviCalibrationPolicy;
pub use surface::JointSsviCalibrationPrior;
pub use surface::JointSsviGlobals;
pub use surface::LocalVolSurfaceGrid;
pub use surface::LossFunction;
pub use surface::MoneynessWindow;
pub use surface::NormalizedSurfaceQuote;
pub use surface::ParityConsistencyReport;
pub use surface::ParityForwardCurve;
pub use surface::ParityForwardCurvePoint;
pub use surface::ParityForwardCurveResidual;
pub use surface::ParityForwardEstimate;
pub use surface::ParityQuotePair;
pub use surface::SMILE_DELTA_DEFAULT_BRACKET_EXPANSIONS;
pub use surface::SMILE_DELTA_DEFAULT_MAX_ITERATIONS;
pub use surface::SMILE_DELTA_DEFAULT_OBJECTIVE_TOLERANCE;
pub use surface::SMILE_DELTA_DEFAULT_RELATIVE_TOLERANCE;
pub use surface::SabrCalibrationBounds;
pub use surface::SabrCalibrationPolicy;
pub use surface::SabrCalibrationPrior;
pub use surface::SabrParameters;
pub use surface::SabrSmile;
pub use surface::SabrSurface;
pub use surface::SsviCalibrationBounds;
pub use surface::SsviCalibrationPolicy;
pub use surface::SsviCalibrationPrior;
pub use surface::SsviSlice;
pub use surface::SsviSurface;
pub use surface::StaticArbitrageCheckPolicy;
pub use surface::StaticArbitrageDiagnostics;
pub use surface::SurfaceButterflySelection;
pub use surface::SurfaceCalibrationInput;
pub use surface::SurfaceCalibrationModel;
pub use surface::SurfaceCalibrationObjectiveSpace;
pub use surface::SurfaceCalibrationOutcome;
pub use surface::SurfaceCalibrationQualityThresholds;
pub use surface::SurfaceCalibrationReport;
pub use surface::SurfaceCalibrationResidual;
pub use surface::SurfaceCalibrationSearchPolicy;
pub use surface::SurfaceCalibrationSummary;
pub use surface::SurfaceCarryInputs;
pub use surface::SurfaceDeltaConvention;
pub use surface::SurfaceDeltaCoordinate;
pub use surface::SurfaceDeltaStrike;
pub use surface::SurfaceDeltaStrikeSelection;
pub use surface::SurfaceDeltaStrikeSelectionRequest;
pub use surface::SurfaceDeltaWingStrikeSelection;
pub use surface::SurfaceLogMoneyness;
pub use surface::SurfaceMarketContext;
pub use surface::SurfaceNormalizationAdjustmentReason;
pub use surface::SurfaceNormalizationOutcome;
pub use surface::SurfaceNormalizationPolicy;
pub use surface::SurfaceNormalizationRejectReason;
pub use surface::SurfaceNormalizationReport;
pub use surface::SurfacePerTenorForwards;
pub use surface::SurfacePriceSource;
pub use surface::SurfaceQualityFilteredOutcome;
pub use surface::SurfaceQuoteAdjustment;
pub use surface::SurfaceQuoteCoordinate;
pub use surface::SurfaceQuoteObservation;
pub use surface::SurfaceQuoteProvenance;
pub use surface::SurfaceQuoteQuality;
pub use surface::SurfaceQuoteQualityPolicy;
pub use surface::SurfaceQuoteQualityRejectReason;
pub use surface::SurfaceQuoteQualityRejection;
pub use surface::SurfaceQuoteQualityReport;
pub use surface::SurfaceQuoteQualitySummary;
pub use surface::SurfaceQuoteTreatment;
pub use surface::SurfaceQuoteTreatmentKind;
pub use surface::SurfaceQuoteWeight;
pub use surface::SurfaceReferencePricePolicy;
pub use surface::SurfaceRejectedQuote;
pub use surface::SurfaceRepairAdjustment;
pub use surface::SurfaceRepairAdjustmentReason;
pub use surface::SurfaceRepairInputOutcome;
pub use surface::SurfaceRepairOutcome;
pub use surface::SurfaceRepairPolicy;
pub use surface::SurfaceRepairReport;
pub use surface::SurfaceRepairSummary;
pub use surface::SurfaceRiskReversalSelection;
pub use surface::SurfaceSelectedSmilePoint;
pub use surface::SurfaceSelectionQuotePolicy;
pub use surface::SurfaceSliceCalibrationParameters;
pub use surface::SurfaceSliceCalibrationReport;
pub use surface::SurfaceSmile;
pub use surface::SurfaceSmileAmericanDeltaStrikeSelectionRequest;
pub use surface::SurfaceSmileDeltaSelectionPolicy;
pub use surface::SurfaceSmileDeltaStrikeSelectionRequest;
pub use surface::SurfaceSmileRiskMetrics;
pub use surface::SurfaceSmileRiskReversal;
pub use surface::SurfaceSmileRiskReversalWing;
pub use surface::SurfaceSmileRiskReversalWingQuality;
pub use surface::SurfaceStandardizedMoneynessWing;
pub use surface::SurfaceStandardizedMoneynessWingQuality;
pub use surface::SurfaceStandardizedMoneynessWingSelection;
pub use surface::SurfaceTenor;
pub use surface::SurfaceWingSmileSelection;
pub use surface::SviCalibrationParameterization;
pub use surface::SviCalibrationPolicy;
pub use surface::SviCalibrationPrior;
pub use surface::SviNaturalCalibrationBounds;
pub use surface::SviNaturalParameters;
pub use surface::SviRawCalibrationBounds;
pub use surface::SviRawParameters;
pub use surface::SviSmile;
pub use surface::SviSurface;
pub use surface::TermVarianceCoordinate;
pub use surface::TermVarianceCurve;
pub use surface::TermVariancePoint;
pub use surface::ThetaTermStructure;
pub use surface::ThetaTermStructureParams;
pub use surface::TrimmedMseLoss;
pub use surface::VolSurface;
pub use surface::calibrate_joint_ssvi_surface;
pub use surface::calibrate_sabr_surface;
pub use surface::calibrate_ssvi_surface;
pub use surface::calibrate_svi_surface;
pub use surface::check_forward_parity;
pub use surface::diagnose_static_arbitrage;
pub use surface::diagnose_static_arbitrage_with_policy;
pub use surface::estimate_parity_forward;
pub use surface::estimate_parity_forward_curve;
pub use surface::extract_dupire_local_volatility;
pub use surface::extract_dupire_local_volatility_grid;
pub use surface::forward_variance_between;
pub use surface::normalize_chain_for_surface;
pub use surface::normalize_chain_for_surface_with_forward_overrides;
pub use surface::prepare_calibration_input_with_quality_policy;
pub use surface::prepare_calibration_input_with_quality_policy_and_forward_overrides;
pub use surface::repair_sabr_surface;
pub use surface::repair_ssvi_surface;
pub use surface::repair_surface_input;
pub use surface::repair_svi_surface;
pub use surface::select_near_atm_parity_pairs;
pub use surface::surface_butterfly_from_normalized_quotes;
pub use surface::surface_butterfly_from_smile;
pub use surface::surface_delta_from_strike;
pub use surface::surface_delta_grid;
pub use surface::surface_nearest_strike;
pub use surface::surface_raw_interpolated_skew;
pub use surface::surface_risk_reversal_from_normalized_quotes;
pub use surface::surface_risk_reversal_from_smile;
pub use surface::surface_select_delta_strike;
pub use surface::surface_select_delta_wing_strikes;
pub use surface::surface_select_smile_american_delta_strike;
pub use surface::surface_select_smile_american_delta_wing_strikes;
pub use surface::surface_select_smile_delta_strike;
pub use surface::surface_select_smile_delta_wing_strikes;
pub use surface::surface_select_standardized_moneyness_wing_strikes;
pub use surface::surface_select_wing_normalized_quotes;
pub use surface::surface_select_wing_smile_points;
pub use surface::surface_signed_delta_from_strike;
pub use surface::surface_smile_iv_at_delta;
pub use surface::surface_smile_risk_metrics;
pub use surface::surface_smile_risk_reversal;
pub use surface::surface_strike_from_delta;
pub use surface::surface_strike_from_standardized_moneyness;
pub use surface::surface_strike_grid_from_deltas;
pub use surface::term_variance_curve;
pub use types::ArbFreeReport;
pub use types::ContractAnalyticsResult;
pub use types::DisplacedBlackShift;
pub use types::DividendEvent;
pub use types::DividendSchedule;
pub use types::ExerciseStyle;
pub use types::Greeks;
pub use types::HestonModel;
pub use types::HestonParameters;
pub use types::IvResidualUnit;
pub use types::IvResult;
pub use types::IvSolveInputs;
pub use types::JumpDiffusionModel;
pub use types::JumpDiffusionParameters;
pub use types::JumpMeasure;
pub use types::OptionType;
pub use types::PricingInputs;
pub use types::PricingModel;
pub use types::RiskNeutralJumpParameters;
pub use volatility::BasketConstituent;
pub use volatility::CONCENTRATION_MAX_PERIODS;
pub use volatility::CONCENTRATION_MAX_SERIES;
pub use volatility::CONCENTRATION_MIN_PERIODS;
pub use volatility::CONCENTRATION_MIN_SERIES;
pub use volatility::ConcentrationRead;
pub use volatility::DISPERSION_MAX_CONSTITUENTS;
pub use volatility::DISPERSION_MIN_CONSTITUENTS;
pub use volatility::DispersionRead;
pub use volatility::JumpDiffusionFit;
pub use volatility::OhlcBar;
pub use volatility::REALIZED_VOL_MAX_PERIODS;
pub use volatility::REALIZED_VOL_MIN_PERIODS;
pub use volatility::RealizedCovariance;
pub use volatility::RealizedSemivariance;
pub use volatility::RealizedVolRead;
pub use volatility::RvJumpSplit;
pub use volatility::RvMethod;
pub use volatility::VrpRead;
pub use volatility::VrpSplit;
pub use volatility::implied_correlation;
pub use volatility::realized_concentration;
pub use volatility::realized_correlation;
pub use volatility::realized_jump_split;
pub use volatility::realized_semivariance;
pub use volatility::realized_semivariance_from_closes;
pub use volatility::realized_vol;
pub use volatility::realized_vol_from_closes;
pub use volatility::variance_risk_premium;
pub use volatility::vrp_decomposition;
pub use volatility::vrp_zscore;
pub use constants::*;

Modules§

analytics
High-level fused contract analytics APIs.
constants
error
formal_model
Pure, integer-only structural risk models for formal verification.
greeks
Layer 4 Greeks implementations.
implied
Layer 2 implied volatility solver components.
integration
Typed integration boundaries for upstream systems.
microstructure
Market-microstructure cost primitives: per-quote effective spread and multi-leg round-trip transaction cost over caller-supplied bid/ask sides.
models
Layer 3 pricing model implementations.
numerics
Layer 1 numerical primitives.
portfolio
Ordered portfolio, position, and strategy containers for aggregate risk.
reference
Opt-in high-fidelity American reference pricing and validation helpers.
risk
Aggregate-risk and scenario reporting APIs.
serialization
Optional JSON serialization helpers for public FerroRisk payloads.
streaming
Live option-chain state and deterministic incremental refresh semantics.
surface
Volatility-surface traits and typed market-data contracts.
types
volatility
Realized-volatility estimators, the variance-risk-premium construct (issue #204), and cross-sectional implied correlation / dispersion (issue #206).