Class: Xirr::Bisection
Overview
Methods that will be included in Cashflow to calculate XIRR
Instance Attribute Summary
Attributes included from Base
Instance Method Summary collapse
-
#xirr(midpoint, options) ⇒ BigDecimal
Calculates yearly Internal Rate of Return An initial guess rate will override the Cashflow#irr_guess.
Methods included from Base
#initialize, #periods_from_start, #xnpv
Instance Method Details
#xirr(midpoint, options) ⇒ BigDecimal
Calculates yearly Internal Rate of Return An initial guess rate will override the Cashflow#irr_guess
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/xirr/bisection.rb', line 12 def xirr(midpoint, ) # Initial values left = [BigDecimal(-0.99999999, Xirr.config.precision), cf.irr_guess].min right = [BigDecimal(9.99999999, Xirr.config.precision), cf.irr_guess + 1].max @original_right = right midpoint ||= cf.irr_guess midpoint, runs = loop_rates(left, midpoint, right, [:iteration_limit]) get_answer(midpoint, , runs) end |