Crate helixrs
Expand description
helixrs — a mode-generic fixed-income substrate.
§Status: 0.0.1, a pre-release
This is the first cut, handed out for testing and development, and the API
changes without notice until 0.1: any name, signature or module path may
move between cuts. Cargo treats every 0.0.z version as incompatible with
every other, so a dependency is pinned exactly, helixrs = "=0.0.1", and
moves deliberately.
What a tester may rely on already: a valuation is bit-identical across the
AD modes (the numeric-scalar-modes gate), the Rust and Python surfaces
agree member for member (the binding marshals and does not calculate), and
the error vocabulary in spellings.txt is the one a caller may copy out of
a message. Nothing else is promised yet.
§The scalar is the caller’s choice
Nothing in this crate fixes a numeric scalar. Pricing code is written once
against crate::xad::Real and instantiated at the call site with the mode that
matches the problem’s derivative shape:
| Mode | Shape | Used for |
|---|---|---|
f64 | no derivatives | value-only pricing |
Jet1 | one input, one output | the sequential calibration solve |
Jet2 | second order, one direction | gamma; the P&L explain’s quadratic term, along the whole move and split by axis pair |
AReal + tape | many inputs, one output | risk ladders; the calibration Jacobian above REVERSE_FROM pillars |
JetK | K inputs per tape-free pass | the calibration Jacobian at or below REVERSE_FROM pillars, and the bond-curve fit |
There is no crate-wide scalar alias and no Cargo feature selecting a mode, so one process may price without derivatives and take risk in the same run.
A mode is admitted by implementing the lift seam, which makes it available
to every generic body and puts it under the cross-mode value-identity gate;
it is used only where an entry point has its derivative shape. JetK is
used in exactly two places, and the mode-routing test holds the list: the
calibration Jacobian ∂q/∂z (every par quote against every pillar, wanted
as a whole matrix) on ladders of at most REVERSE_FROM pillars, and the
bond-curve fit’s ∂price/∂β over a form’s coefficients, which is the same
shape. Each seeds eight lanes at a time with its own block loop. Eight is
measured, not chosen: on a forty-pillar ladder the Jacobian costs +140% of
the solve in eight lanes where one lane costs +575%.
Above REVERSE_FROM the Jacobian is routed by size to the reverse
mode: one recording of every rung on a tape calibration keeps per thread,
read back by vector sweeps in blocks the ADJOINT_BUDGET_BYTES budget
admits, so the buffer is bounded and the rungs are never re-recorded. A
calibration never nests a recording: with one already open on the thread
it takes the eight-lane engine whatever the size, so it runs inside a risk
pass unnoticed. Which engine built a ladder is reported on its provenance.
The measurement behind the lane count is the LANES table in
calibration.rs; the one behind the threshold, and the one a further
routing decision should be argued against, is the Jacobian-shape group in
benches/mode_crossover.rs (jacobian_ladder_4 through _40 and
jacobian_ois_ladder_50): one eight-lane pass wins at four and eight
pillars, the sweep from sixteen on, by 1.9× at forty and 3.1× on the
overnight ladder.
§The market is active; the trade is data
Contract terms — notionals, rates, spreads, strikes — are passive f64. Only
market inputs are differentiable: curve parameters, volatility nodes, credit
parameters, FX rates, observed fixings, and declared exogenous scalars.
Consequently the trading layer — containers, lenses, scenarios — and the product-construction layer carry no scalar type parameter at all — a book is a book regardless of the mode a valuation runs in.
§Curves: storage, view, evaluation
A stored curve holds passive parameters and no AD state. A lift produces a view for one mode, borrowing the storage rather than copying it; the view implements the evaluation trait. Adjoint read-back is a property of the active view, not of each curve family.
Re-exports§
pub use crate::analytics::pnl::ExplainLeg;pub use crate::analytics::pnl::ExplainReport;pub use crate::analytics::pnl::GammaTerms;pub use crate::analytics::pnl::LayoutMismatch;pub use crate::analytics::pnl::MarketDiff;pub use crate::analytics::pnl::PnlError;pub use crate::analytics::pnl::PredictedPnl;pub use crate::analytics::pnl::Published;pub use crate::analytics::pnl::Reconciliation;pub use crate::analytics::pnl::ReconciliationRow;pub use crate::analytics::pnl::ResetPnl;pub use crate::analytics::pnl::ResetRow;pub use crate::analytics::pnl::default_order;pub use crate::analytics::pnl::explain;pub use crate::analytics::pnl::market_diff;pub use crate::analytics::pnl::predicted_pnl;pub use crate::analytics::pnl::reconcile;pub use crate::analytics::pnl::reset_pnl;pub use crate::calibration::sabr::SabrCalibrationError;pub use crate::calibration::sabr::SabrFit;pub use crate::calibration::sabr::SabrSliceFit;pub use crate::calibration::sabr::SabrSpec;pub use crate::calibration::sabr::calibrate_sabr;pub use crate::calibration::sabr::calibrate_sabr_with_atm;pub use crate::calibration::sabr::caplet_forwards;pub use crate::calibration::sabr::swaption_forwards;pub use crate::calibration::BondRungError;pub use crate::calibration::Calibrated;pub use crate::calibration::CalibratedBaseCorrelation;pub use crate::calibration::CalibratedDensity;pub use crate::calibration::CalibratedInflation;pub use crate::calibration::CalibratedSurvival;pub use crate::calibration::CalibrationError;pub use crate::calibration::CalibrationOptions;pub use crate::calibration::HelperSolve;pub use crate::calibration::JacobianEngine;pub use crate::calibration::JointCalibration;pub use crate::calibration::JointCurve;pub use crate::calibration::QuoteKind;pub use crate::calibration::QuoteSheet;pub use crate::calibration::RecipeQuoteError;pub use crate::calibration::Rung;pub use crate::calibration::SheetEntry;pub use crate::calibration::SmoothedCalibration;pub use crate::calibration::Tolerance;pub use crate::calibration::bond_rung;pub use crate::calibration::calibrate;pub use crate::calibration::calibrate_base_correlation;pub use crate::calibration::calibrate_cross_currency;pub use crate::calibration::calibrate_curve_helpers;pub use crate::calibration::calibrate_inflation;pub use crate::calibration::calibrate_jointly;pub use crate::calibration::calibrate_jointly_on;pub use crate::calibration::calibrate_recipe;pub use crate::calibration::calibrate_smoothed;pub use crate::calibration::calibrate_survival;pub use crate::calibration::calibrate_survival_density;pub use crate::calibration::calibrate_with;pub use crate::calibration::check_pillars_ascend;pub use crate::calibration::recipe_rungs_at;pub use crate::calibration::rungs_for;pub use crate::calibration::CapQuote;pub use crate::calibration::StripScheme;pub use crate::calibration::strip_caplet_smile;pub use crate::calibration::strip_caplet_vols;pub use crate::calibration::strip_overnight_caplet_vols;pub use crate::cashflows::coupons::AnyCoupon;pub use crate::cashflows::coupons::CmsCoupon;pub use crate::cashflows::coupons::CmsSpreadCorrelation;pub use crate::cashflows::coupons::Collar;pub use crate::cashflows::coupons::CpiCoupon;pub use crate::cashflows::coupons::CpiRedemption;pub use crate::cashflows::coupons::Digital;pub use crate::cashflows::coupons::DigitalStrike;pub use crate::cashflows::coupons::Direction;pub use crate::cashflows::coupons::FixedRateCoupon;pub use crate::cashflows::coupons::IborCoupon;pub use crate::cashflows::coupons::MultiResetCoupon;pub use crate::cashflows::coupons::Observation;pub use crate::cashflows::coupons::OvernightCoupon;pub use crate::cashflows::coupons::PayoffError;pub use crate::cashflows::coupons::RangeAccrualCoupon;pub use crate::cashflows::coupons::RangeObservation;pub use crate::cashflows::coupons::RatePayoff;pub use crate::cashflows::coupons::Redemption;pub use crate::cashflows::coupons::Reset;pub use crate::cashflows::coupons::ResetCompounding;pub use crate::cashflows::coupons::YoyInflationCoupon;pub use crate::cashflows::legs::Accumulation;pub use crate::cashflows::legs::Leg;pub use crate::cashflows::legs::LegTerms;pub use crate::cashflows::legs::ObservationConventions;pub use crate::cashflows::legs::PaymentRule;pub use crate::cashflows::legs::StubRule;pub use crate::cashflows::legs::accumulated_fixed_leg;pub use crate::cashflows::legs::accumulated_float_leg;pub use crate::cashflows::legs::fixed_rate_leg;pub use crate::cashflows::legs::ibor_leg;pub use crate::cashflows::legs::ibor_leg_on_index;pub use crate::cashflows::legs::ibor_leg_with_stubs;pub use crate::cashflows::legs::multi_reset_leg;pub use crate::cashflows::legs::overnight_leg;pub use crate::cashflows::legs::overnight_leg_with;pub use crate::cashflows::legs::overnight_observations;pub use crate::cashflows::legs::yoy_inflation_leg;pub use crate::cashflows::records::CASHFLOW_COLUMNS;pub use crate::cashflows::records::cashflow_records;pub use crate::cashflows::records::leg_cashflow_records;pub use crate::core::scalar::Scalar;pub use crate::curves::discount::CurveError;pub use crate::curves::discount::PiecewiseDiscount;pub use crate::curves::discount::YieldCurve;pub use crate::curves::fit::FitWeights;pub use crate::curves::fit::FittedForm;pub use crate::curves::flat::FlatForward;pub use crate::curves::spread::RepoSpread;pub use crate::curves::survival::PiecewiseSurvival;pub use crate::market::store::DegenerateHub;pub use crate::market::store::PinnedCurve;pub use crate::marketdata::future_option_vol::FutureOptionVolSurface;pub use crate::statics::conventions::Compounding;pub use crate::statics::conventions::RateConvention;pub use crate::statics::conventions::SwaptionKind;pub use crate::curves::family::Curve;pub use crate::curves::family::Family;pub use crate::curves::family::Lift;pub use crate::curves::inflation::Inflation;pub use crate::curves::inflation::InflationCurve;pub use crate::curves::inflation::LevelInterpolation;pub use crate::curves::inflation::PiecewiseInflation;pub use crate::curves::inflation::lagged_observation;pub use crate::instruments::asset_swap::AssetSwap;pub use crate::instruments::asset_swap::AssetSwapError;pub use crate::instruments::asset_swap::AssetSwapKind;pub use crate::instruments::asset_swap::CrossCurrencyAssetSwap;pub use crate::instruments::asset_swap::CrossCurrencyAssetSwapError;pub use crate::instruments::bond_derivatives::BondFuture;pub use crate::instruments::bond_derivatives::BondFutureAnalysis;pub use crate::instruments::bond_derivatives::BondFutureError;pub use crate::instruments::bond_derivatives::BondFutureOption;pub use crate::instruments::bond_derivatives::BondFutureOptionDiagnostics;pub use crate::instruments::bond_derivatives::BondFutureOptionError;pub use crate::instruments::bond_derivatives::BondFuturePosition;pub use crate::instruments::bond_derivatives::BondOption;pub use crate::instruments::bond_derivatives::BondOptionDiagnostics;pub use crate::instruments::bond_derivatives::BondOptionEngine;pub use crate::instruments::bond_derivatives::BondOptionError;pub use crate::instruments::bond_derivatives::BondStrike;pub use crate::instruments::bond_derivatives::CmeMaturityRounding;pub use crate::instruments::bond_derivatives::Deliverable;pub use crate::instruments::bond_derivatives::DeliverableAnalysis;pub use crate::instruments::bond_derivatives::ExerciseStyle;pub use crate::instruments::bond_derivatives::PremiumStyle;pub use crate::instruments::bond_derivatives::RepoTier;pub use crate::instruments::bond_derivatives::bond_future_option_from_template;pub use crate::instruments::bond_derivatives::cme_conversion_factor;pub use crate::instruments::bond_derivatives::eurex_btp_conversion_factor;pub use crate::instruments::bond_derivatives::eurex_chf_conversion_factor;pub use crate::instruments::bond_derivatives::eurex_conversion_factor;pub use crate::instruments::bond_derivatives::ice_gilt_conversion_factor;pub use crate::instruments::bond_derivatives::weekly_bond_future_option_from_template;pub use crate::instruments::bonds::linker::AnbimaParcel;pub use crate::instruments::bonds::linker::AnbimaQuote;pub use crate::instruments::bonds::linker::MonthObservation;pub use crate::instruments::bonds::linker::anbima_nominal_value;pub use crate::instruments::bonds::linker::anbima_price;pub use crate::instruments::bonds::linker::anbima_yield_from_price;pub use crate::instruments::bonds::linker::australian_coupon_factor;pub use crate::instruments::bonds::linker::australian_indexation_factor;pub use crate::instruments::bonds::linker::australian_price_from_real_yield;pub use crate::instruments::bonds::linker::australian_real_yield_from_price;pub use crate::instruments::bonds::linker::invoice;pub use crate::instruments::bonds::linker::real_price;pub use crate::instruments::bonds::linker::real_yield;pub use crate::instruments::bonds::linker::reference_index;pub use crate::instruments::bonds::linker::street_index_ratio;pub use crate::instruments::bonds::linker::uk_money_accrued;pub use crate::instruments::bonds::linker::uk_money_price;pub use crate::instruments::bonds::linker::uk_money_yield;pub use crate::instruments::bonds::linker::uk_real_yield_from_money;pub use crate::instruments::bonds::linker::uk_real_yield_from_money_dirty;pub use crate::instruments::bonds::zero_coupon::ZeroCouponBond;pub use crate::instruments::bonds::CallKind;pub use crate::instruments::bonds::CallPrice;pub use crate::instruments::bonds::CallYieldError;pub use crate::instruments::bonds::Callability;pub use crate::instruments::bonds::CallableBond;pub use crate::instruments::bonds::FixedRateBond;pub use crate::instruments::bonds::FloatingRateNote;pub use crate::instruments::bonds::InflationLinkedBond;pub use crate::instruments::bonds::SpreadSolveError;pub use crate::instruments::bonds::YieldMoments;pub use crate::instruments::bonds::YieldSolveError;pub use crate::instruments::bonds::clean_price;pub use crate::instruments::bonds::convexity;pub use crate::instruments::bonds::curve_yield_at;pub use crate::instruments::bonds::dirty_price;pub use crate::instruments::bonds::dv01;pub use crate::instruments::bonds::forward_price_with;pub use crate::instruments::bonds::g_spread;pub use crate::instruments::bonds::i_spread;pub use crate::instruments::bonds::ise_simple_yield;pub use crate::instruments::bonds::japanese_simple_price;pub use crate::instruments::bonds::japanese_simple_yield;pub use crate::instruments::bonds::macaulay_duration;pub use crate::instruments::bonds::modified_duration;pub use crate::instruments::bonds::money_duration;pub use crate::instruments::bonds::money_dv01;pub use crate::instruments::bonds::pv_weighted_time;pub use crate::instruments::bonds::quoted_clean_price;pub use crate::instruments::bonds::quoted_yield;pub use crate::instruments::bonds::risky_value;pub use crate::instruments::bonds::spread_over_curve;pub use crate::instruments::bonds::yield_from_dirty_price;pub use crate::instruments::bonds::yield_moments;pub use crate::instruments::bonds::z_spread_on_curve;pub use crate::instruments::cap_floor::CapFloorError;pub use crate::instruments::cap_floor::CapFloorKind;pub use crate::instruments::cap_floor::InterestRateCapFloor;pub use crate::instruments::cpi_cap_floor::ZeroCouponInflationCapFloor;pub use crate::instruments::credit::AccrualOnDefault;pub use crate::instruments::credit::BasketCorrelation;pub use crate::instruments::credit::CdoTranche;pub use crate::instruments::credit::CdsDiagnostics;pub use crate::instruments::credit::CdsOptionStyle;pub use crate::instruments::credit::CdsStrikeType;pub use crate::instruments::credit::CreditDefaultSwap;pub use crate::instruments::credit::CreditDefaultSwapOption;pub use crate::instruments::credit::CreditDefaultSwapOptionError;pub use crate::instruments::credit::CreditError;pub use crate::instruments::credit::CreditEvent;pub use crate::instruments::credit::CreditLinkedNote;pub use crate::instruments::credit::DefaultPaymentTime;pub use crate::instruments::credit::IndexCreditDefaultSwap;pub use crate::instruments::credit::IndexSettlement;pub use crate::instruments::credit::NthToDefaultSwap;pub use crate::instruments::credit::TrancheCopula;pub use crate::instruments::credit::TrancheMark;pub use crate::instruments::credit::TrancheRecovery;pub use crate::instruments::credit::TrancheSettlement;pub use crate::instruments::credit_linked::CreditLinkedSwap;pub use crate::instruments::credit_linked::CreditLinkedSwapError;pub use crate::instruments::credit_linked::LegRole;pub use crate::instruments::credit_linked::RoleLeg;pub use crate::instruments::curve_pin::CurvePin;pub use crate::instruments::curve_pin::CurveReading;pub use crate::instruments::equity::Barrier;pub use crate::instruments::equity::EquityOption;pub use crate::instruments::equity::EquityOptionError;pub use crate::instruments::fee::Fee;pub use crate::instruments::financing::BasketConstituent;pub use crate::instruments::financing::BondBasket;pub use crate::instruments::financing::BondForward;pub use crate::instruments::financing::BondTotalReturnSwap;pub use crate::instruments::financing::EquityTotalReturnSwap;pub use crate::instruments::financing::FinancingError;pub use crate::instruments::financing::StrikeQuote;pub use crate::instruments::fx::FxError;pub use crate::instruments::fx::FxForward;pub use crate::instruments::fx::FxOption;pub use crate::instruments::fx::FxOptionDiagnostics;pub use crate::instruments::fx::FxSwap;pub use crate::instruments::fx::Settlement;pub use crate::instruments::fx::Strike;pub use crate::instruments::loan::Amortisation;pub use crate::instruments::loan::CallableLoan;pub use crate::instruments::loan::Loan;pub use crate::instruments::pik::Accretion;pub use crate::instruments::pik::Capitalisation;pub use crate::instruments::pik::ContractualAccretion;pub use crate::instruments::pik::PaymentInKindBond;pub use crate::instruments::pik::PikError;pub use crate::instruments::rates::CrossCurrencyError;pub use crate::instruments::rates::CrossCurrencyLeg;pub use crate::instruments::rates::CrossCurrencySwap;pub use crate::instruments::rates::ForwardRateAgreement;pub use crate::instruments::rates::MoneyMarketDeposit;pub use crate::instruments::rates::OvernightIndexedSwap;pub use crate::instruments::rates::RateFuture;pub use crate::instruments::rates::RateFutureError;pub use crate::instruments::rates::TenorBasisSwap;pub use crate::instruments::rates::VanillaSwap;pub use crate::instruments::rates::YoyInflationSwap;pub use crate::instruments::rates::ZeroCouponInflationSwap;pub use crate::instruments::rates::ZeroCouponSwap;pub use crate::instruments::repack::RepackEngine;pub use crate::instruments::repack::RepackError;pub use crate::instruments::repack::RepackNote;pub use crate::instruments::repack::RepackRole;pub use crate::instruments::repack::ValuationTrigger;pub use crate::instruments::repack::Waterfall;pub use crate::instruments::repo::CouponTreatment;pub use crate::instruments::repo::OpenRepo;pub use crate::instruments::repo::Repo;pub use crate::instruments::repo::RepoAmount;pub use crate::instruments::repo::RepoError;pub use crate::instruments::repo::RepoMargin;pub use crate::instruments::repo::RepoRate;pub use crate::instruments::repo::RepoSide;pub use crate::instruments::repo::RepoTerms;pub use crate::instruments::repo::SecuritiesLoan;pub use crate::instruments::repo::TriPartyAllocation;pub use crate::instruments::repo::TriPartyRepo;pub use crate::instruments::straddle::Straddle;pub use crate::instruments::straddle::StraddleError;pub use crate::instruments::structured::StructuredNote;pub use crate::instruments::structured::StructuredNoteError;pub use crate::instruments::swaptions::BermudanSwaption;pub use crate::instruments::swaptions::EuropeanSwaption;pub use crate::instruments::swaptions::SwaptionEngine;pub use crate::instruments::swaptions::SwaptionError;pub use crate::instruments::swaptions::SwaptionSettlement;pub use crate::instruments::swaptions::SwaptionUnderlying;pub use crate::instruments::swaptions::expiry_years;pub use crate::instruments::yoy_cap_floor::YoyInflationCapFloor;pub use crate::instruments::AnyInstrument;pub use crate::instruments::NotTheProduct;pub use crate::market::bond_readings::BondReadingError;pub use crate::market::bond_readings::accreted_face;pub use crate::market::bond_readings::accreted_redemption;pub use crate::market::bond_readings::bond_future_option_diagnostics;pub use crate::market::bond_readings::bond_option_diagnostics;pub use crate::market::bond_readings::callable_oas;pub use crate::market::bond_readings::capitalisations;pub use crate::market::bond_readings::clean_price_at_oas;pub use crate::market::bond_readings::discount_margin;pub use crate::market::bond_readings::effective_risk;pub use crate::market::bond_readings::fair_margin;pub use crate::market::bond_readings::forward_price;pub use crate::market::bond_readings::note_dirty_price;pub use crate::market::bond_readings::note_z_spread;pub use crate::market::bond_readings::package_value;pub use crate::market::bond_readings::repo_margin;pub use crate::market::bond_readings::settlement_date;pub use crate::market::bond_readings::simple_margin;pub use crate::market::bond_readings::spread_duration;pub use crate::market::bond_readings::yield_to_call;pub use crate::market::bond_readings::yield_to_maturity_scenario;pub use crate::market::bond_readings::yield_to_worst;pub use crate::market::bond_readings::z_spread;pub use crate::market::bond_readings::zero_coupon_quotes;pub use crate::market::cms::CmsSwap;pub use crate::market::cms::SwapIndex;pub use crate::market::context::CollateralSpec;pub use crate::market::context::CrisisParameters;pub use crate::market::context::CrossCurrencyDynamics;pub use crate::market::context::GaussianIntensity;pub use crate::market::context::HullWhiteParameters;pub use crate::market::context::Priceable;pub use crate::market::context::PricingError;pub use crate::market::context::PricingRiskFactors;pub use crate::market::context::PricingView;pub use crate::market::context::RiskFactors;pub use crate::market::context::SigmaTerm;pub use crate::market::context::credit_crisis_default_label;pub use crate::market::context::credit_crisis_jump_mean_label;pub use crate::market::context::credit_crisis_rate_label;pub use crate::market::context::credit_intensity_mean_reversion_label;pub use crate::market::context::credit_intensity_vol_label;pub use crate::market::context::credit_rate_correlation_label;pub use crate::market::context::fx_credit_correlation_label;pub use crate::market::context::fx_rate_correlation_label;pub use crate::market::context::hull_white_mean_reversion_label;pub use crate::market::context::hull_white_sigma_label;pub use crate::market::context::hull_white_sigma_piece_label;pub use crate::market::context::parse_hull_white_sigma_piece_label;pub use crate::market::context::rate_rate_correlation_label;pub use crate::market::context::swaption_normal_vol_label;pub use crate::market::pricers::CdsOptionValue;pub use crate::market::pricers::IndexIntrinsic;pub use crate::market::pricers::IndexSkew;pub use crate::market::pricers::LatticeMoments;pub use crate::market::pricers::callable_oas_with;pub use crate::market::pricers::cds_option;pub use crate::market::pricers::clean_price_at_oas_with;pub use crate::market::pricers::fair_forward_rate;pub use crate::market::pricers::fair_margin_with;pub use crate::market::pricers::fra_settlement;pub use crate::market::pricers::futures_convexity;pub use crate::market::pricers::futures_price;pub use crate::market::pricers::index_intrinsic;pub use crate::market::pricers::index_skew;pub use crate::market::pricers::note_z_spread_with;pub use crate::market::pricers::z_spread_with;pub use crate::market::records::instrument_cashflow_records;pub use crate::market::records::refuses_a_cashflow_table;pub use crate::market::risk::AssetClass;pub use crate::market::risk::AxisSet;pub use crate::market::risk::CurveId;pub use crate::market::risk::MarketInputId;pub use crate::market::risk::QuantityKind;pub use crate::market::risk::RiskAxis;pub use crate::market::risk::RiskEntry;pub use crate::market::risk::RiskError;pub use crate::market::risk::RiskVector;pub use crate::market::risk::VolSurfaceId;pub use crate::market::source::CalendarSource;pub use crate::market::source::DataSource;pub use crate::market::source::Demand;pub use crate::market::source::FetchReport;pub use crate::market::source::FxSpot;pub use crate::market::source::Gap;pub use crate::market::source::MarketData;pub use crate::market::source::MarketDataSource;pub use crate::market::source::RecipeAsk;pub use crate::market::source::RecipeSource;pub use crate::market::source::SnapshotError;pub use crate::market::source::SourceError;pub use crate::market::source::StripKey;pub use crate::market::source::StripQuotes;pub use crate::market::source::Unresolved;pub use crate::market::source::set_data_source;pub use crate::market::store::Diagnostics;pub use crate::market::store::LiftedMarket;pub use crate::market::store::MarketContext;pub use crate::market::store::MarketView;pub use crate::market::store::ProjectionKey;pub use crate::market::store::SigmaPin;pub use crate::market::store::npv;pub use crate::market::store::risk_with;pub use crate::marketdata::MarketDataError;pub use crate::marketdata::base_correlation::BaseCorrelation;pub use crate::marketdata::base_correlation::BaseCorrelationError;pub use crate::marketdata::cms_spread_correlation::CmsSpreadCorrelationCurve;pub use crate::marketdata::cms_spread_correlation::CmsSpreadCorrelationView;pub use crate::marketdata::credit_vol::CreditVolError;pub use crate::marketdata::credit_vol::CreditVolSurface;pub use crate::marketdata::credit_vol::CreditVolView;pub use crate::marketdata::fx_vol::DeltaConvention;pub use crate::marketdata::fx_vol::DeltaQuote;pub use crate::marketdata::fx_vol::FxVolError;pub use crate::marketdata::fx_vol::FxVolSmile;pub use crate::marketdata::fx_vol::FxVolSurface;pub use crate::marketdata::inflation_vol::CpiVolSurface;pub use crate::marketdata::inflation_vol::InflationVolView;pub use crate::marketdata::inflation_vol::YoyVolSurface;pub use crate::marketdata::rate_vol::RateSmile;pub use crate::marketdata::rate_vol::RateSmileView;pub use crate::marketdata::rate_vol::RateVolError;pub use crate::marketdata::rate_vol::RateVolSurface;pub use crate::marketdata::rate_vol::RateVolView;pub use crate::marketdata::rate_vol::StrikeAxis;pub use crate::marketdata::rate_vol::VolConvention;pub use crate::marketdata::sabr::SabrParameter;pub use crate::marketdata::sabr::SabrRegistry;pub use crate::marketdata::sabr::SabrVolSurface;pub use crate::marketdata::sabr::SabrVolView;pub use crate::models::credit::Copula;pub use crate::models::credit::RecoveryModel;pub use crate::models::credit::basket_survival_probability;pub use crate::models::credit::expected_tranche_loss;pub use crate::models::credit::inv_norm_cdf;pub use crate::models::credit::norm_cdf;pub use crate::models::fx_option::DeltaError;pub use crate::models::fx_option::atm_delta_neutral_strike;pub use crate::models::fx_option::delta;pub use crate::models::fx_option::strike_from_delta;pub use crate::models::hw_calibration::CalibratedSigma;pub use crate::models::hw_calibration::InstrumentFit;pub use crate::models::hw_calibration::SigmaShape;pub use crate::models::hw_calibration::StripPoint;pub use crate::models::hw_calibration::calibrate_and_pin;pub use crate::models::hw_calibration::calibrate_hull_white;pub use crate::models::hw_calibration::calibrate_hull_white_to_strip;pub use crate::models::hw_calibration::market_vega;pub use crate::models::hw_calibration::strip_from_callable;pub use crate::models::lattice::DiscretizedAsset;pub use crate::models::lattice::HullWhiteLattice;pub use crate::models::lattice::TimeGrid;pub use crate::models::lattice::compounded_oas;pub use crate::models::repack_gap::GapCharge;pub use crate::models::repack_gap::GapRow;pub use crate::models::repack_gap::repack_gap;pub use crate::models::repack_sim::GapLegs;pub use crate::models::repack_sim::GapProfileRow;pub use crate::models::repack_sim::SimulatedGap;pub use crate::models::repack_sim::SimulationSettings;pub use crate::models::repack_sim::simulate_repack_gap;pub use crate::models::repack_sim::simulate_repack_gap_risk;pub use crate::models::sabr::SabrError;pub use crate::models::sabr::SabrFormula;pub use crate::models::sabr::SabrParams;pub use crate::models::sabr::alpha_from_atm;pub use crate::models::sabr::sabr_vol;pub use crate::models::short_rate::HullWhite;pub use crate::models::short_rate::SolvedParameter;pub use crate::models::short_rate::coupon_bond_option;pub use crate::models::short_rate::discount_bond_affine;pub use crate::models::short_rate::hull_white_compounded_convexity_exponent;pub use crate::models::short_rate::hull_white_convexity_bias;pub use crate::models::short_rate::hull_white_convexity_exponent;pub use crate::models::short_rate::instantaneous_forward;pub use crate::models::short_rate::payer_swaption;pub use crate::models::short_rate::receiver_swaption;pub use crate::models::short_rate::zero_bond_option;pub use crate::products::FutureContract;pub use crate::products::FxSwapQuote;pub use crate::products::Locator;pub use crate::products::MeetingLocator;pub use crate::products::ProductBuilder;pub use crate::products::ProductFamily;pub use crate::products::RungBuildError;pub use crate::products::Side;pub use crate::products::SideParseError;pub use crate::products::SwapLegsError;pub use crate::products::SwapTemplateArg;pub use crate::products::Termination;pub use crate::products::TerminationParseError;pub use crate::products::WindowEnd;pub use crate::products::XccyTemplateArg;pub use crate::products::cross_currency_rungs;pub use crate::products::deposit_rung;pub use crate::products::fra_rung;pub use crate::products::future_rung;pub use crate::products::fx_swap_rung;pub use crate::products::market_data_needs;pub use crate::products::meeting_overnight_swap;pub use crate::products::meeting_rung;pub use crate::products::meeting_window;pub use crate::products::par_rungs;pub use crate::products::swap_builder_on_index;pub use crate::products::swap_builder_on_overnight_template;pub use crate::products::swap_builder_on_template;pub use crate::products::swap_builder_on_tenor;pub use crate::products::swap_dates_from_tenor;pub use crate::products::swap_from_legs;pub use crate::products::swap_index_code;pub use crate::products::tenor_basis_rung;pub use crate::products::turn_rung;pub use crate::products::window_rung;pub use crate::statics::credit_identity::CreditCurveId;pub use crate::statics::credit_identity::CreditIdParseError;pub use crate::statics::credit_identity::CreditIndexId;pub use crate::statics::credit_identity::DocClause;pub use crate::statics::credit_identity::ReferenceEntity;pub use crate::statics::listed_future::FuturesExchange;pub use crate::statics::listed_future::ListedFutureId;pub use crate::statics::listed_future::ListedFutureIdError;pub use crate::statics::money::Currency;pub use crate::statics::securities::Seniority;pub use crate::statics::securities::ExDivDayType;pub use crate::statics::securities::ExDivRule;pub use crate::statics::securities::PriceBasis;pub use crate::statics::templates::registry::TemplateError;pub use crate::statics::templates::registry::template;pub use crate::trading::presets;pub use crate::cashflows::adjustments::LagAdjustment;pub use crate::curves::interp::Interpolation;pub use crate::curves::spread::FlatSpread;pub use crate::curves::spread::PiecewiseSpread;pub use crate::curves::survival::DensitySurvival;pub use crate::curves::survival::FlatHazard;pub use crate::curves::survival::ScaledSurvival;pub use crate::curves::survival::Survival;pub use crate::marketdata::fixings::FixingHistory;pub use crate::marketdata::fixings::FixingKey;pub use crate::marketdata::fixings::FixingStore;pub use crate::marketdata::fx::CurrencyPair;pub use crate::marketdata::fx::FxRates;pub use crate::products::nds_rung;pub use crate::statics::calc_methods::LinkerConvention;pub use crate::statics::calc_methods::NoSingleBasis;pub use crate::statics::calc_methods::YieldKernel;pub use crate::statics::calc_methods::YieldQuoteConvention;pub use crate::statics::conventions::AccrualCompounding;pub use crate::statics::conventions::BusinessDayConvention;pub use crate::statics::conventions::DateGenerationRule;pub use crate::statics::conventions::Frequency;pub use crate::statics::conventions::RollConvention;pub use crate::statics::conventions::StubPeriodType;pub use crate::statics::conventions::YieldBasis;pub use crate::statics::daycounts::DayCountFraction;pub use crate::statics::daycounts::PeriodContext;pub use crate::statics::templates::registry as template_registry;pub use crate::statics::schedules::Schedule;pub use crate::statics::schedules::ScheduleError;pub use crate::statics::templates::AnyTemplate;pub use crate::statics::templates::FutureTemplate;pub use crate::statics::templates::MeetingNode;pub use crate::statics::time::period::ForwardTenor;pub use crate::statics::time::period::Period;pub use crate::statics::time::period::PeriodEnum;pub use crate::curves::binary::FxImplied;pub use crate::curves::fit::BondFitRow;pub use crate::curves::fit::fit_bond_curve;pub use crate::curves::step::StepForward;pub use crate::curves::survival::SurvivalProbability;pub use crate::market::cms::CmsRate;pub use crate::market::cms::cms_coupon_rate;pub use crate::market::cms::cms_leg;pub use crate::market::cms::cms_option;pub use crate::market::cms::cms_rate;pub use crate::market::cms::cms_spread_coupon_rate;pub use crate::market::cms::cms_spread_leg;pub use crate::market::cms::cms_spread_option;pub use crate::market::frame::Aggregation;pub use crate::market::frame::Basis;pub use crate::market::frame::Column;pub use crate::market::frame::Factor;pub use crate::market::frame::Label;pub use crate::market::frame::Records;pub use crate::market::frame::RiskFrame;pub use crate::market::frame::Scale;pub use crate::market::frame::Scales;pub use crate::market::frame::reading_records;pub use crate::models::analytic::BarrierKind;pub use crate::models::analytic::OptionKind;pub use crate::models::analytic::bachelier;pub use crate::models::analytic::barrier_option;pub use crate::models::analytic::black76;pub use crate::models::analytic::black76_implied_vol;pub use crate::statics::imm::cds_standard_maturity;pub use crate::statics::imm::cds_standard_maturity_months;pub use crate::statics::imm::next_cds_imm_date;pub use crate::statics::imm::prior_cds_imm_date;pub use crate::statics::meetings::CentralBank;pub use crate::statics::meetings::KnotKind;pub use crate::statics::meetings::MeetingId;pub use crate::statics::meetings::MeetingSchedule;pub use crate::statics::meetings::TurnPeriod;pub use crate::statics::meetings::TurnSchedule;pub use crate::statics::recipes::CurveRecipe;pub use crate::statics::recipes::CurveRecipes;pub use crate::statics::recipes::ProjectionSpec;pub use crate::statics::recipes::RecipeSpec;pub use crate::statics::recipes::RecipeSpecError;pub use crate::statics::recipes::WindowSpec;pub use crate::statics::templates::credit::CdsTemplate;pub use crate::statics::templates::credit::CreditIndexFamily;pub use crate::statics::templates::credit::CreditIndexTemplate;pub use crate::statics::templates::credit::cds_standard;pub use crate::statics::templates::credit::cdx_na_ig;pub use crate::statics::templates::credit::itraxx_europe;pub use crate::trading::Book;pub use crate::trading::BookPnlError;pub use crate::trading::BumpedKind;pub use crate::trading::CreditBumpError;pub use crate::trading::FxMode;pub use crate::trading::How;pub use crate::trading::Lens;pub use crate::trading::Measure;pub use crate::trading::Preset;pub use crate::trading::Request;pub use crate::trading::Scenario;pub use crate::trading::ScenarioError;pub use crate::trading::ScenarioLeg;pub use crate::trading::Selector;pub use crate::trading::Sensitivity;pub use crate::trading::Shift;pub use crate::trading::ShiftType;pub use crate::trading::SmileComponent;pub use crate::trading::Trade;pub use crate::trading::TrancheInput;pub use crate::trading::correlation_sensitivities;pub use crate::trading::npv_under;pub use crate::trading::quote_delta;pub use crate::trading::quote_held_recovery_sensitivities;pub use crate::trading::recovery_sensitivities;pub use crate::trading::report;pub use crate::trading::report_records;pub use crate::statics::indices::registry::codes;pub use crate::statics::indices::registry::register;pub use crate::statics::indices::AnyIndex;pub use crate::statics::indices::FxIndex;pub use crate::statics::indices::IborIndex;pub use crate::statics::indices::OvernightIndex;pub use crate::statics::indices::PriceIndex;pub use crate::statics::calendars::BusinessCenter;pub use crate::statics::calendars::Calendar;pub use crate::statics::calendars::CalendarAmendError;pub use crate::statics::calendars::CalendarIngestError;pub use crate::statics::calendars::CalendarParseError;pub use crate::statics::calendars::CalendarSpec;pub use crate::statics::calendars::DataCalendar;pub use crate::statics::calendars::JointCalendar;pub use crate::statics::calendars::JointCalendarRule;pub use crate::statics::calendars::NullCalendar;pub use crate::statics::calendars::SettlementLag;pub use crate::statics::calendars::SettlementLagUnit;pub use crate::statics::calendars::WeekendsOnly;pub use crate::statics::calendars::add_period;pub use crate::statics::calendars::amended;pub use crate::statics::calendars::ingest_calendar;pub use crate::statics::calendars::ingest_calendars;pub use crate::statics::calendars::ingested_calendars;pub use crate::statics::calendars::last_day_of_month;pub use crate::statics::calendars::lookup as calendar;pub use crate::statics::imm::ImmCycle;pub use crate::statics::imm::ImmDay;pub use crate::statics::imm::imm_code_of;pub use crate::statics::imm::imm_code_to_dates;pub use crate::statics::imm::imm_date;pub use crate::statics::imm::imm_date_on;pub use crate::statics::imm::is_imm_date;pub use crate::statics::imm::next_imm_date;pub use crate::statics::imm::prior_imm_date;pub use crate::statics::indices::registry::lookup as index;pub use crate::statics::time::day_of_week::DayOfWeek;pub use crate::statics::time::day_of_week::next_weekday;pub use crate::statics::time::day_of_week::nth_weekday;pub use crate::statics::counterparty::Counterparties;pub use crate::statics::counterparty::Counterparty;pub use crate::statics::templates::spot_effective_date;pub use crate::statics::templates::xccy::CsaSpec;pub use crate::statics::templates::xccy::IborProjection;pub use crate::statics::templates::xccy::XccyTemplateError;
Modules§
- analytics
- Measures and attribution: what a book’s value is made of, and why it moved.
- calibration
- Curve calibration: recovering pillars from quoted instruments.
- cashflows
- Cashflows: what a trade pays, and when.
- core
- Cross-cutting primitives with no domain content.
- curves
- Discount curves: stored passively, evaluated in a mode.
- fpml
- An FpML 5 confirmation-view reader: a trade document into a helixio instrument, with the cashflows the document itself states kept beside it.
- instruments
- Instrument types: what a trade is, with no opinion on how it is valued.
- market
- The pricing seam: what a product declares it needs, and what it is handed.
- marketdata
- MarketContext data that sits below curves: observed fixings and FX spot rates.
- models
- Pricing models: closed-form and short-rate engines.
- products
- Product construction: turning a template and a few trade terms into an instrument, and saying what market data it will need.
- statics
- L1 reference data — pure value types, no state.
- trading
- Trading containers, measures, lenses and scenarios.
- xad
- The differentiation modes the generic entry points instantiate. helixrs
defines them itself (the arithmetic of
xad-rs1.0.0), so a caller names them from here and needs no AD dependency of its own.
Structs§
- Vocabulary
Parse Error - Error parsing a closed vocabulary from a string.
Functions§
- version
- The version of this crate, as declared in
Cargo.toml.