Skip to main content

Crate financial_calc

Crate financial_calc 

Source
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§

ArithmeticError
Error returned when an arithmetic operation fails.
RoundingMode
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.