diff --git a/your_return_calculator.rb b/your_return_calculator.rb index 3b43174..6cd4aac 100644 --- a/your_return_calculator.rb +++ b/your_return_calculator.rb @@ -9,7 +9,15 @@ def calculate! # snapshot.date # snapshot.cash_flow # snapshot.market_value - - BigDecimal.new(0) + previous_snapshot = nil + total_return = BigDecimal.new(1) + for snapshot in snapshots do + if previous_snapshot != nil then + period_return = (snapshot.market_value - snapshot.cash_flow) / previous_snapshot.market_value + total_return = total_return * period_return + end + previous_snapshot = snapshot + end + return total_return - 1 end end