Crate xirr[][src]

XIRR

xirr implements the XIRR function found in spreadsheet applications like LibreOffice Calc.

Example

use xirr::*;

let xirr = compute(vec![
     Payment { date: "2015-06-11".parse().unwrap(), amount: -1000.0 },
     Payment { date: "2015-07-21".parse().unwrap(), amount: -9000.0 },
     Payment { date: "2015-10-17".parse().unwrap(), amount: -3000.0 },
     Payment { date: "2018-06-10".parse().unwrap(), amount: 20000.0 }
 ]);

 assert_eq!(0.1635371584432641, xirr.unwrap());

Structs

InvalidPaymentsError

An error returned when the payments provided to compute do not contain both negative and positive payments.

Payment

A payment made or received on a particular date.

Functions

compute

Calculates the internal rate of return of a series of irregular payments.