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::HestonCalibrationEvaluation;
pub use implied::HestonCalibrationQuote;
pub use implied::HestonCalibrationResidual;
pub use implied::HestonCalibrationSummary;
pub use implied::JumpDiffusionCalibrationEvaluation;
pub use implied::JumpDiffusionCalibrationQuote;
pub use implied::JumpDiffusionCalibrationResidual;
pub use implied::JumpDiffusionCalibrationSummary;
pub use implied::LocalVolCalibrationEvaluation;
pub use implied::LocalVolCalibrationQuote;
pub use implied::LocalVolCalibrationResidual;
pub use implied::LocalVolCalibrationSummary;
pub use implied::bisection_iv;
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::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::evaluate_ferro_wave_exposure_scenario;
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::american_price;
pub use models::bachelier_price;
pub use models::black76_price;
pub use models::bsm_price;
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_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::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::ExpiryRiskBucket;
pub use risk::ExpiryScenarioPnlBucket;
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::ScenarioDefinition;
pub use risk::ScenarioShock;
pub use risk::StrategyRiskReport;
pub use risk::StrategyScenarioPnl;
pub use risk::StrategyScenarioPnlRow;
pub use risk::StrategyScenarioReport;
pub use risk::StrikeRiskBucket;
pub use risk::StrikeScenarioPnlBucket;
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 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::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::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::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::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::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_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_grid_from_deltas;
pub use types::ArbFreeReport;
pub use types::ContractAnalyticsResult;
pub use types::DisplacedBlackShift;
pub use types::ExerciseStyle;
pub use types::Greeks;
pub use types::HestonParameters;
pub use types::IvResidualUnit;
pub use types::IvResult;
pub use types::IvSolveInputs;
pub use types::JumpDiffusionParameters;
pub use types::OptionType;
pub use types::PricingInputs;
pub use types::PricingModel;
pub use constants::*;

Modules§

analytics
High-level fused contract analytics APIs.
constants
error
greeks
Layer 4 Greeks implementations.
implied
Layer 2 implied volatility solver components.
integration
Typed integration boundaries for upstream systems.
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