Sha256: 643370a59bf90796da693af6b1c290a33f985fd30e6c938fa82162ee6fe352b7

Contents?: true

Size: 559 Bytes

Versions: 21

Compression:

Stored size: 559 Bytes

Contents

# lib/sqa/indicator/momentum.rb

class SQA::Indicator; class << self

  # @param prices [Array]
  # @param period [Integer]
  #
  # @return [Float]
  #
  def momentum(
        prices, # Array of prices
        period  # Integer number of entries to consider
      )

    momentums = []

    prices.each_cons(period) do |window|
      current_price = window.last.to_f
      past_price    = window.first.to_f
      momentums    << 10.0 * ( (current_price - past_price) / past_price)
    end

    momentums  # Array
  end
  alias_method :m, :momentum

end; end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
sqa-0.0.24 lib/sqa/indicator/momentum.rb
sqa-0.0.22 lib/sqa/indicator/momentum.rb
sqa-0.0.21 lib/sqa/indicator/momentum.rb
sqa-0.0.20 lib/sqa/indicator/momentum.rb
sqa-0.0.19 lib/sqa/indicator/momentum.rb
sqa-0.0.18 lib/sqa/indicator/momentum.rb
sqa-0.0.17 lib/sqa/indicator/momentum.rb
sqa-0.0.15 lib/sqa/indicator/momentum.rb
sqa-0.0.14 lib/sqa/indicator/momentum.rb
sqa-0.0.13 lib/sqa/indicator/momentum.rb
sqa-0.0.12 lib/sqa/indicator/momentum.rb
sqa-0.0.11 lib/sqa/indicator/momentum.rb
sqa-0.0.10 lib/sqa/indicator/momentum.rb
sqa-0.0.9 lib/sqa/indicator/momentum.rb
sqa-0.0.8 lib/sqa/indicator/momentum.rb
sqa-0.0.7 lib/sqa/indicator/momentum.rb
sqa-0.0.6 lib/sqa/indicator/momentum.rb
sqa-0.0.5 lib/sqa/indicator/momentum.rb
sqa-0.0.4 lib/sqa/indicator/momentum.rb
sqa-0.0.3 lib/sqa/indicator/momentum.rb