qfinbox.tvm.basic
Basic Time Value of Money calculations.
Functions
|
Calculate compound interest earned. |
|
Calculate future value with continuous compounding. |
|
Calculate present value with continuous compounding. |
|
Calculate effective annual rate from nominal rate. |
|
Calculate future value of a present amount. |
|
Calculate interest rate given present value, future value, and periods. |
|
Calculate nominal rate from effective annual rate. |
|
Calculate number of periods required for present value to grow to future value. |
|
Calculate present value of a future amount. |
|
Validate that a value is positive. |
- qfinbox.tvm.basic.future_value(present_value: float, rate: float, periods: int, compounding_frequency: int = 1) float[source]
Calculate future value of a present amount.
- Parameters:
- Returns:
Future value.
- Return type:
- Raises:
ValidationError – If any parameter is invalid.
Examples
>>> future_value(1000, 0.05, 10) 1628.89
- qfinbox.tvm.basic.present_value(future_value: float, rate: float, periods: int, compounding_frequency: int = 1) float[source]
Calculate present value of a future amount.
- Parameters:
- Returns:
Present value.
- Return type:
Examples
>>> present_value(1628.89, 0.05, 10) 1000.0
- qfinbox.tvm.basic.interest_rate(present_value: float, future_value: float, periods: int, compounding_frequency: int = 1) float[source]
Calculate interest rate given present value, future value, and periods.
- Parameters:
- Returns:
Annual interest rate (as decimal).
- Return type:
- Raises:
ValidationError – If any parameter is invalid.
Examples
>>> interest_rate(1000, 1628.89, 10) 0.05
- qfinbox.tvm.basic.number_of_periods(present_value: float, future_value: float, rate: float, compounding_frequency: int = 1) float[source]
Calculate number of periods required for present value to grow to future value.
- Parameters:
- Returns:
Number of periods required.
- Return type:
- Raises:
ValidationError – If any parameter is invalid.
Examples
>>> number_of_periods(1000, 3000, 0.12) 9.69
- qfinbox.tvm.basic.compound_interest(principal: float, rate: float, periods: int, compounding_frequency: int = 1) float[source]
Calculate compound interest earned.
- Parameters:
- Returns:
Compound interest earned.
- Return type:
Examples
>>> compound_interest(1000, 0.05, 10) 628.89
- qfinbox.tvm.basic.effective_rate(nominal_rate: float, compounding_frequency: int) float[source]
Calculate effective annual rate from nominal rate.
- Parameters:
- Returns:
Effective annual rate.
- Return type:
Examples
>>> effective_rate(0.12, 12) # 12% compounded monthly 0.1268
- qfinbox.tvm.basic.nominal_rate(effective_rate: float, compounding_frequency: int) float[source]
Calculate nominal rate from effective annual rate.
- Parameters:
- Returns:
Nominal annual rate.
- Return type:
Examples
>>> nominal_rate(0.1268, 12) # Effective 12.68% compounded monthly 0.12
- qfinbox.tvm.basic.continuous_compounding_fv(present_value: float, rate: float, time: float) float[source]
Calculate future value with continuous compounding.
- Parameters:
- Returns:
Future value with continuous compounding.
- Return type:
Examples
>>> continuous_compounding_fv(1000, 0.05, 10) 1648.72
- qfinbox.tvm.basic.continuous_compounding_pv(future_value: float, rate: float, time: float) float[source]
Calculate present value with continuous compounding.
- Parameters:
- Returns:
Present value with continuous compounding.
- Return type:
Examples
>>> continuous_compounding_pv(1648.72, 0.05, 10) 1000.0