アフィリエイト広告を利用しています

広告

posted by fanblog

広告

posted by fanblog
2013年08月02日
第15回 ボリンジャーバンド






(1) ボリンジャーバンドの計算式


移動平均線よりもローソク足が上にあれば市場参加者が強気、下にあれば弱気と推測されますが、どのくらい強気なのか弱気なのか判断する目安をボリンジャーバンドは与えてくれます。標本標準偏差=σ とすると信頼区間は下記のとおりです。

移動平均値±σ       0.6826
移動平均値±2σ     0.9544
移動平均値±3σ     0.9974
移動平均値±4σ     0.99994
移動平均値±5σ     0.999994
 
例えば 移動平均値±3σ であれば21等の期間の終値の傾向から推測して99.74%はこの区間に終値がはいるということなので、この範囲からでていたら何か異常なことが起こっていると推測されます。

(2) ボリンジャーバンドの計算

Private Function 標準偏差算出(データ配列, 周期, 実表示本数)

n = UBound(データ配列)
ReDim a(1 To 実表示本数, 1 To 1)

j = 1
For i = n - 実表示本数 + 1 To n
   開始行 = i - 周期 + 1
   終了行 = i
   If 開始行 < 1 Then 開始行 = 1

   sx = 0
   sxx = 0
   For k = 開始行 To 終了行
     sx = sx + データ配列(k, 1)
     sxx = sxx + データ配列(k, 1) * データ配列(k, 1)
   Next k

   a(j, 1) = Sqr((周期 * sxx - sx * sx) / (周期 * (周期 - 1)))

   j = j + 1
Next i

標準偏差算出 = a

End Function


入力引数のデータ配列は終値の配列です。
入力引数の周期は21等の期間です。プロパティシートで設定します。
入力引数の実表示本数はチャートに表示するローソク足の本数です。
出力は標本標準偏差の配列です。1σです。

(3) ボリンジャーバンドの表示

(3-1) ボリンジャーバンドの表示

Sub ボリンジャーバンド表示(ch, データ配列, 実表示本数)

周期 = 配列プロパティ取得("ボリンジャーバンド", 2)

単純移動平均配列 = 単純移動平均線算出(データ配列, 周期, 実表示本数)
標準偏差配列 = 標準偏差算出(データ配列, 周期, 実表示本数)

Set sr = ch.SeriesCollection.NewSeries
sr.ChartType = xlLine
sr.Values = 単純移動平均配列
sr.Name = "移動平均" & 周期

s = 1
k = 3
For i = 1 To 5
   If BOOL配列プロパティ取得("ボリンジャーバンド", k) Then
       Set sr = ch.SeriesCollection.NewSeries
       sr.ChartType = xlLine
       sr.Values = 配列加算(単純移動平均配列, 標準偏差配列, s)
       sr.Name = s & "σ"
       色 = sr.Border.Color

       Set sr = ch.SeriesCollection.NewSeries
       sr.ChartType = xlLine
       sr.Values = 配列加算(単純移動平均配列, 標準偏差配列, -s)
       sr.Name = -s & "σ"
     sr.Border.Color = 色
   End If
   s = s + 1
   k = k + 1
Next i

End Sub


単純移動平均配列と標準偏差配列を算出します。
単純移動平均線を1本表示します。
単純移動平均線±標準偏差配列×倍率 で必要なだけの折線を表示をします。

(3-2) 配列加算

Private Function 配列加算(a, b, 倍率)

n = UBound(a)
ReDim c(1 To n, 1 To 1)

For i = 1 To n
   c(i, 1) = a(i, 1) + 倍率 * b(i, 1)
Next i

配列加算 = c

End Function


入力引数 aとbは配列です
出力は a+b×倍率 の配列です

(4) プロパティシートの設定



B9セルをTRUE にするとボリンジャーバンドを表示します。FALSE で非表示です
C9セルは周期です
D9セルを TRUE でを表示。FALSE で非表示です
E9セルを TRUE でを表示。FALSE で非表示です
F9セルを TRUE でを表示。FALSE で非表示です
G9セルを TRUE でを表示。FALSE で非表示です
H9セルを TRUE でを表示。FALSE で非表示です


エクセルファイルです。

    ダウンロード


前へ   次へ


Posted by vbafan at 02:32 | この記事のURL
この記事のURL

×

この広告は30日以上新しい記事の更新がないブログに表示されております。