abaquant.financial_math.tvm

Import path: abaquant.financial_math.tvm

Domain: Time-value, actuarial, fixed-income, corporate-finance, and portfolio mathematics.

Purpose

Time-value-of-money primitives.

When to use it

Use these functions for deterministic calculations where explicit cash-flow, rate, compounding, sign, and annualization conventions matter.

Public objects

  • function: future_value — Compute the accumulated value of a present amount.

  • function: continuous_future_value — Compute accumulated value under a constant force of interest.

  • function: present_value — Compute the discounted value of a future amount.

  • function: continuous_present_value — Compute discounted value under a constant force of interest.

  • function: number_of_periods — Solve for the number of compounding periods needed to reach a target amount.

  • function: rate_of_return — Solve for the effective periodic return implied by two values and a horizon.

  • function: decompose_periods — Decompose a real-valued period count into its implemented representation.

Detailed reference

Time-value-of-money primitives.

Purpose

The module provides future value, present value, implied period-count, implied rate, and period decomposition calculations.

Conventions

Rates are decimal rates per period and periods are counts of compounding intervals unless a continuous-force parameter is used.

References

[ 1 ] Kellison, S. G. (2009), The Theory of Interest.

abaquant.financial_math.tvm.continuous_future_value(principal, delta, periods)

Compute accumulated value under a constant force of interest.

Parameters:
  • principal (float) – Initial invested amount or loan principal in currency units.

  • delta (float) – Constant force of interest in decimal annual units.

  • periods (float) – Number of discrete compounding or payment periods.

Returns:

Computed continuous future value as a scalar in the units implied by the input values.

Return type:

float

abaquant.financial_math.tvm.continuous_present_value(future_amount, delta, periods)

Compute discounted value under a constant force of interest.

Parameters:
  • future_amount (float) – Target future amount in currency units.

  • delta (float) – Constant force of interest in decimal annual units.

  • periods (float) – Number of discrete compounding or payment periods.

Returns:

Computed continuous present value as a scalar in the units implied by the input values.

Return type:

float

abaquant.financial_math.tvm.decompose_periods(periods)

Decompose a real-valued period count into its implemented representation.

Parameters:

periods (float) – Number of discrete compounding or payment periods.

Returns:

Tabular result with schema defined by the module-level convention.

Return type:

pd.DataFrame

abaquant.financial_math.tvm.future_value(principal, rate, periods)

Compute the accumulated value of a present amount.

Parameters:
  • principal (float) – Initial invested amount or loan principal in currency units.

  • rate (float) – Interest rate in decimal units under the stated compounding convention.

  • periods (float) – Number of discrete compounding or payment periods.

Returns:

Computed future value as a scalar in the units implied by the input values.

Return type:

float

abaquant.financial_math.tvm.number_of_periods(principal, future_amount, rate)

Solve for the number of compounding periods needed to reach a target amount.

Parameters:
  • principal (float) – Initial invested amount or loan principal in currency units.

  • future_amount (float) – Target future amount in currency units.

  • rate (float) – Interest rate in decimal units under the stated compounding convention.

Returns:

Computed number of periods as a scalar in the units implied by the input values.

Return type:

float

abaquant.financial_math.tvm.present_value(future_amount, rate, periods)

Compute the discounted value of a future amount.

Parameters:
  • future_amount (float) – Target future amount in currency units.

  • rate (float) – Interest rate in decimal units under the stated compounding convention.

  • periods (float) – Number of discrete compounding or payment periods.

Returns:

Computed present value as a scalar in the units implied by the input values.

Return type:

float

abaquant.financial_math.tvm.rate_of_return(principal, future_amount, periods)

Solve for the effective periodic return implied by two values and a horizon.

Parameters:
  • principal (float) – Initial invested amount or loan principal in currency units.

  • future_amount (float) – Target future amount in currency units.

  • periods (float) – Number of discrete compounding or payment periods.

Returns:

Computed rate of return as a dimensionless decimal quantity.

Return type:

float