class FinanceEngine::EAY_EAR

Public Class Methods

calculate_CC_series(amt, rate, time, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 47
def self.calculate_CC_series(amt, rate, time, periods)
        sum = 0
        1.upto(time) {|x| sum += calculate_EAY_payment(amt, rate, time, periods)}
        sum
end
calculate_EAR_payment(amt, rate, time, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 15
def self.calculate_EAR_payment(amt, rate, time, periods)
        amt * ((1+rate)**(time.to_f/periods))
end
calculate_EAR_series(amt, rate, time, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 35
def self.calculate_EAR_series(amt, rate, time, periods)
        sum = 0
        1.upto(time) {|x| sum += calculate_EAR_payment(amt, rate, x, periods)}
        sum
end
calculate_EAY_payment(amt, rate, time, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 11
def self.calculate_EAY_payment(amt, rate, time, periods)
        amt * ((1+rate/periods)**(time))
end
calculate_EAY_series(amt, rate, time, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 41
def self.calculate_EAY_series(amt, rate, time, periods)
        sum = 0
        1.upto(time) {|x| sum += calculate_EAY_payment(amt, rate, x, periods)}
        sum
end
calculate_effective_annual_rate(annual_yield, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 7
def self.calculate_effective_annual_rate(annual_yield, periods)
        ((annual_yield + 1)**(1/periods)-1)*periods
end
calculate_effective_annual_yield(annual_rate, periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 3
def self.calculate_effective_annual_yield(annual_rate, periods)
        (1+annual_rate/periods)**(periods)-1
end
compare_EAR_Continuous_series_payment(amt,rate,time,periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 57
def self.compare_EAR_Continuous_series_payment(amt,rate,time,periods)
        calculate_CC_series(amt, rate, time, periods) - calculate_EAR_series(amt, rate, time, periods)
end
compare_EAR_Continuous_single_payment(amt,rate,time,periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 27
def self.compare_EAR_Continuous_single_payment(amt,rate,time,periods)
        continuous_compounding(amt,rate,time/periods) - calculate_EAR_payment(amt, rate, time, periods)
end
compare_EAR_EAY_series_payment(amt,rate,time,periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 53
def self.compare_EAR_EAY_series_payment(amt,rate,time,periods)
        calculate_EAY_series(amt, rate, time, periods) - calculate_EAR_series(amt, rate, time, periods)
end
compare_EAR_EAY_single_payment(amt,rate,time,periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 23
def self.compare_EAR_EAY_single_payment(amt,rate,time,periods)
        calculate_EAY_payment(amt, rate, time, periods) - calculate_EAR_payment(amt, rate, time, periods)
end
compare_EAY_Continuous_series_payment(amt,rate,time,periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 61
def self.compare_EAY_Continuous_series_payment(amt,rate,time,periods)
        calculate_CC_series(amt, rate, time, periods) - calculate_EAY_series(amt, rate, time, periods)
end
compare_EAY_Continuous_single_payment(amt,rate,time,periods) click to toggle source
# File lib/finance_engine/eareay.rb, line 31
def self.compare_EAY_Continuous_single_payment(amt,rate,time,periods)
        continuous_compounding(amt,rate,time/periods) - calculate_EAY_payment(amt, rate, time, periods)
end
continuous_compounding(amt,rate,time) click to toggle source
# File lib/finance_engine/eareay.rb, line 19
def self.continuous_compounding(amt,rate,time)
        amt * (Math::E**(rate*time))
end