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
FerroRiskpayloads. - streaming
- Live option-chain state and deterministic incremental refresh semantics.
- surface
- Volatility-surface traits and typed market-data contracts.
- types