Expand description
Financial calculation functions built on precision-core.
This crate provides common financial calculations with deterministic results, including:
- Interest calculations (simple, compound, continuous)
- Time value of money (present value, future value, NPV)
- Percentage operations and basis points
- Options pricing (Black-Scholes model, Greeks, implied volatility)
- Term structures (yield curves, discount factors, forward rates)
- Day count conventions (Actual/360, 30/360, etc.)
- Derivatives (perpetual futures, funding rates, liquidations)
- AMM (constant product, concentrated liquidity, impermanent loss)
Re-exports§
pub use day_count::Date;pub use day_count::DayCountConvention;pub use day_count::YearFraction;pub use interpolation::CubicSpline;pub use interpolation::DataPoint;pub use interpolation::Interpolator;pub use interpolation::Linear;pub use interpolation::LogLinear;pub use options::black_scholes_call;pub use options::black_scholes_put;pub use options::call_greeks;pub use options::implied_volatility;pub use options::normal_cdf;pub use options::normal_pdf;pub use options::put_greeks;pub use options::Greeks;pub use options::OptionParams;pub use term_structure::CurveNode;pub use term_structure::FlatTermStructure;pub use term_structure::PiecewiseTermStructure;pub use term_structure::TermStructure;pub use term_structure::MAX_CURVE_NODES;pub use solver::bisection;pub use solver::brent;pub use solver::default_tolerance;pub use solver::newton_raphson;pub use solver::newton_raphson_numerical;pub use solver::secant;pub use solver::SolverResult;pub use solver::DEFAULT_MAX_ITER;pub use derivatives::calculate_average_entry_price;pub use derivatives::calculate_breakeven_price;pub use derivatives::calculate_effective_leverage;pub use derivatives::calculate_funding_payment;pub use derivatives::calculate_funding_rate;pub use derivatives::calculate_liquidation_distance;pub use derivatives::calculate_liquidation_price;pub use derivatives::calculate_margin_ratio;pub use derivatives::calculate_max_position_size;pub use derivatives::calculate_pnl;pub use derivatives::calculate_pnl_percentage;pub use derivatives::calculate_required_collateral;pub use derivatives::calculate_roe;pub use derivatives::FundingParams;pub use derivatives::PerpPosition;pub use amm::calculate_amounts_from_liquidity;pub use amm::calculate_impermanent_loss;pub use amm::calculate_liquidity_burn;pub use amm::calculate_liquidity_from_amounts;pub use amm::calculate_liquidity_mint;pub use amm::calculate_position_value;pub use amm::calculate_price_impact;pub use amm::calculate_spot_price;pub use amm::calculate_swap_input;pub use amm::calculate_swap_output;pub use amm::sqrt_price_to_tick;pub use amm::tick_spacing_to_fee_bps;pub use amm::tick_to_sqrt_price;pub use amm::ConcentratedPosition;pub use amm::MAX_TICK;pub use amm::MIN_TICK;pub use amm::TICK_SPACING_HIGH;pub use amm::TICK_SPACING_LOW;pub use amm::TICK_SPACING_MEDIUM;
Modules§
- amm
- Automated Market Maker calculations including concentrated liquidity.
- day_
count - Day Count Conventions for financial calculations.
- derivatives
- Perpetual futures and derivatives calculations.
- interpolation
- Interpolation methods for yield curves and financial data.
- options
- Black-Scholes options pricing and Greeks.
- solver
- Numerical root-finding solvers for financial calculations.
- term_
structure - Term Structure (Yield Curve) primitives for fixed income calculations.
Structs§
- Decimal
- A 128-bit decimal number with deterministic arithmetic.
Enums§
- Arithmetic
Error - Error returned when an arithmetic operation fails.
- Rounding
Mode - Rounding mode for decimal operations.
Functions§
- basis_
points_ to_ decimal - Converts basis points to a decimal rate.
- compound_
interest - Calculates compound interest (final amount minus principal).
- effective_
annual_ rate - Calculates the effective annual rate from a nominal rate.
- future_
value - Calculates future value of a present amount.
- net_
present_ value - Calculates net present value of a series of cash flows.
- percentage_
change - Calculates the percentage change between two values.
- percentage_
of - Calculates the percentage of a value.
- present_
value - Calculates present value of a future amount.
- simple_
interest - Calculates simple interest.