2011/11/28
OWMA(Optimized Weighted Moving Average)
Optimized Weighted Moving Averageは加重移動平均の一種です。
線形加重移動平均は1,2,3…と直近に近くなるほど重い加重をかけますが
その加重を1のk乗,2のk乗,3のk乗…と累乗にしたものがOptimized Weighted Moving Averageです。
k=1とすれば線形加重移動平均になり、k=0とすれば単純移動平均になります。
kを1より大きくすれば直近の値の加重がより大きくなり、
kをマイナスにすると直近の加重が小さくなるように設定できます。
使用する関数
引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
OWMAはSUMPRODUCT関数を使うと簡単に計算できます。
ここでは任意の日数のOWMAが計算できるようにOFFSET関数を使います。
G列は係数を累乗する値を指定するセルとします。
H4セルはOWMAの計算日数を指定するセルとします。
G列で加重平均の荷重係数を計算します。
計算式は
これをG4セルの値で累乗すれば係数の数列を作ることができます。
H列でOWMAを計算します。計算式の構造は加重移動平均と同じです。
計算式は赤枠内赤字部分
G5,H5セルをコピーしG6以下のセルにペーストすればOptimized Weighted Moving Averageが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
線形加重移動平均は1,2,3…と直近に近くなるほど重い加重をかけますが
その加重を1のk乗,2のk乗,3のk乗…と累乗にしたものがOptimized Weighted Moving Averageです。
k=1とすれば線形加重移動平均になり、k=0とすれば単純移動平均になります。
kを1より大きくすれば直近の値の加重がより大きくなり、
kをマイナスにすると直近の加重が小さくなるように設定できます。
計算式
OWMA = (1のk乗 × C1 +2のk乗 × C2 + … + Nのk乗× CN) ÷ (1のk乗+ 2のk乗+ … + Nのk乗)
C1〜CNは各終値でCNが直近終値
N,kは任意
C1〜CNは各終値でCNが直近終値
N,kは任意
![]() |
日経平均終値とOptimized Weighted Moving Averageの図
Excelを使ってOptimized Weighted Moving Averageを計算する
Excelを使ってOWMAを計算する手順を説明します。使用する関数
SUMPRODUCT(配列 1,配列 2,配列 3,…)
引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
SUM(数値1,数値2,…)
引数の合計を計算します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。![]() |
ここでは任意の日数のOWMAが計算できるようにOFFSET関数を使います。
G列は係数を累乗する値を指定するセルとします。
H4セルはOWMAの計算日数を指定するセルとします。
G列で加重平均の荷重係数を計算します。
計算式は
=(ROW()-ROW($A$4))^$G$4
です。ROW()-ROW($A$4)の部分は行番号の差を利用して1〜Nの数列を作る部分です。これをG4セルの値で累乗すれば係数の数列を作ることができます。
H列でOWMAを計算します。計算式の構造は加重移動平均と同じです。
計算式は赤枠内赤字部分
SUMPRODUCT(OFFSET($G$5,0,0,$H$4,1),OFFSET(E5,0,0,-$H$4,1))/SUM(OFFSET($G$5,0,0,$H$4,1))
となります。G5,H5セルをコピーしG6以下のセルにペーストすればOptimized Weighted Moving Averageが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
↑ TOP PAGE