Module: FinancialMath

Defined in:
lib/financial_math/basics.rb,
lib/financial_math.rb,
lib/financial_math/version.rb,
lib/financial_math/simple_interest.rb,
lib/financial_math/compound_interest.rb,
lib/financial_math/geometric_progression.rb,
lib/financial_math/arithmetic_progression.rb

Overview

Basic financial functions

Defined Under Namespace

Modules: CompoundInterest, SimpleInterest Classes: ArithmeticProgression, GeometricProgression

Constant Summary collapse

VERSION =
'1.0.3'

Class Method Summary collapse

Class Method Details

.continuous_capitalization(initial_value, rate, time) ⇒ Object



10
11
12
# File 'lib/financial_math/basics.rb', line 10

def self.continuous_capitalization(initial_value, rate, time)
  (initial_value * Math.exp(rate * time)).round(2)
end

.geometric_mean(growth_rates) ⇒ Object

A class that contains basic functions in finance



6
7
8
# File 'lib/financial_math/basics.rb', line 6

def self.geometric_mean(growth_rates)
  raw_geometric_mean(growth_rates).round(4)
end

.raw_geometric_mean(growth_rates) ⇒ Object



14
15
16
# File 'lib/financial_math/basics.rb', line 14

def self.raw_geometric_mean(growth_rates)
  growth_rates.map { |i| i + 1 }.inject(:*)**(1.0 / growth_rates.size) - 1
end