pub fn future_value_annuity_solution<T, D>(
rate: f64,
periods: u32,
cashflow: T,
timing: D,
) -> FinanceResult<CashflowSolution>Expand description
Returns the future value of annuity (a series of constant cashflows) at a constant rate. Returns custom solution struct with additional information and functionality.
Related functions:
- To calculate a future value returning an f64, use [
present_value_annuity]. - To calculate a future value with a varying rate or varying cashflow or both, use [
present_value_annuity_schedule].
The future value annuity formula is:
future value ann = sum( cashflow * (1 + rate)period ) or future value ann = Constant_Cashflow * ((1+periodic_rate)^n -1) / periodic_rate
§Arguments
rate- The rate at which the investment grows or shrinks per period, expressed as a floating point number. For instance 0.05 would mean 5%. Often appears asroriin formulas.periods- The number of periods such as quarters or years. Often appears asnort.cashflow- The value of the constant cashflow (aka payment).timing-PaymentTimingorbool(false= end of period).
§Errors
Same domain failures as [future_value_annuity].
§Examples
Future value of a $500 annuity at 3.4% for 10 years (ordinary):
use finance_solution::*;
let my_annuity = future_value_annuity_solution(
0.034, 10, 500, PaymentTiming::EndOfPeriod
).unwrap();
assert!(my_annuity.future_value().abs() > 5_000.0);
assert!(!my_annuity.due_at_beginning());Annuity due variant:
use finance_solution::*;
let due = future_value_annuity_solution(
0.034, 10, 500, PaymentTiming::BeginningOfPeriod
).unwrap();
assert!(due.due_at_beginning());