class Xirr::NewtonMethod

Class to calculate IRR using Newton Method

Public Instance Methods

xirr(guess, options) click to toggle source

Calculates XIRR using Newton method @return [BigDecimal] @param guess [Float]

# File lib/xirr/newton_method.rb, line 47
def xirr guess, options
  func = Function.new(self, :xnpv)
  rate = [guess || cf.irr_guess]
  begin
    nlsolve(func, rate)
    (rate[0] <= -1 || rate[0].nan?) ? nil : rate[0].round(Xirr::PRECISION)

      # rate[0].round(Xirr::PRECISION)
  rescue
    nil
  end
end