Module: Quant::Mixins::WeightedAverage

Defined in:
lib/quant/mixins/weighted_average.rb

Instance Method Summary collapse

Instance Method Details

#extended_weighted_average(source) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/quant/mixins/weighted_average.rb', line 14

def extended_weighted_average(source)
  value = source.is_a?(Symbol) ? p0.send(source) : source
  [7.0 * value,
   6.0 * p1.send(source),
   5.0 * p2.send(source),
   4.0 * p3.send(source),
   3.0 * prev(4).send(source),
   2.0 * prev(5).send(source),
   prev(6).send(source),].sum / 28.0
end

#weighted_average(source) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/quant/mixins/weighted_average.rb', line 6

def weighted_average(source)
  value = source.is_a?(Symbol) ? p0.send(source) : source
  [4.0 * value,
   3.0 * p1.send(source),
   2.0 * p2.send(source),
   p3.send(source),].sum / 10.0
end