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