基礎から学ぶシステムトレード
シストレブログ人気ランキング  

シストレ徹底攻略シストレマスターへの道ワールド・トレーディング・エッジ基礎から学ぶシステムトレードシストレニュースシストレツールシストレナビTOPへ

 

2008年07月13日(日)

相場のボラティリティの算出 [ボラティリティ]



前回、相場の変動をボラティリティという年率を使って表すという話をしました。

しかし、相場を予想する時、いつも1年後のことだけを考えるわけではありません。

1週間とか1ヶ月とか、もっと短期的な期間で考えることもあるかと思います。

またボラティリティの年率と言っても、その時点での1年後の変動率の可能性なので、当然ながら相場に応じて変化します

そういう日々の変化を表すためにはどうすればよいでしょう?

1年という期間にこだわってると日々の変化についていけません。

そこでよく使われる考え方として、1日の変動率から1年の変動率を算出する方法があります。

但し、ある1日の変動率だけから1年の変動率を算出することは不可能ですので、直近の何日間かの変動率を利用します。

よく20日間のデータを使うことが多いですが、これは1週間での取引日が5日なので、4週間、だいたい1ヶ月分ということになります。

ここで期間を20日間とすると、具体的には過去20日間の変動率の標準偏差を求めます。

MetaTrader4のカスタム指標プログラムではこのように書けます。

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue

extern int Samples = 20;
double BufHV[];
double Diff[];

//Custom indicator initialization function
int init()
{
SetIndexBuffer(0,BufHV);
IndicatorBuffers(2);
SetIndexBuffer(1,Diff);

return(0);
}

//Custom indicator start function
int start()
{
int counted_bar = IndicatorCounted();
int limit = Bars-counted_bar;

if(counted_bar == 0) limit--;
for(int i=limit-1; i>=0; i--)
Diff[i] = MathLog(Close[i]/Close[i+1]);

if(counted_bar == 0) limit -= Samples;
for(i=limit-1; i>=0; i--)
{
int T = 260;
double sum = 0.0;
for(int j=0; j < Samples; j++) sum += Diff[i+j];
double average = sum/Samples;
sum = 0.0;
for(j=0; j < Samples; j++) sum += (Diff[i+j]-average)*(Diff[i+j]-average);
double std_dev = MathSqrt(sum/Samples);
BufHV[i] = std_dev*MathSqrt(T)*100;
}

return(0);
}

初めてMetaTrader4のプログラムを見た人には何のことかわからないかもしれませんね。

すみません(^^;このプログラムを初心者にもわかるように説明すると、本が1冊書けてしまいます(^^)ので、詳しいことは省略します。

このプログラムを例えば、「HV.mq4」というファイルとしてMetaTrader4をインストールしたフォルダの下の experts¥indicators というフォルダに保存すると、カスタム指標として利用することができます。

ここでは、いくつか数学的な関数について説明します。

MathLog()は、自然対数を計算します。価格の比の対数を取るのは、ランダムウォークが対数正規分布になるという仮定に基づいているためです。価格の比が1に近い場合、Close[i]/Close[i+1]-1と書くのとほとんど同じです。

この価格の比の標準偏差が1日分のボラティリティを表します。1日の変動率なので0.04%などと小さい値になります。

これを1年分に換算するために、最後にMathSqrt(260)を掛けています。MathSqrt()平方根を計算します。

260とは何かというと、1年の取引日数(260日)を表します。

取引所で取引される株式や先物相場では、各国の祝日も差し引いて250日とすることが多いですが、FXの場合土日以外休みがないので260日とします。

もう一つ、なぜ平方根を取るかというと、これは、ランダムウォークの分散が時間に比例するからです。

ボラティリティは分散の平方根を取った標準偏差なので、同じように平方根を取るのです。

このように過去のデータから算出したボラティリティをヒストリカルボラティリティ(HV)と呼びます。

MetaTrader4でHVを表示させた例を示します。ドル円の日足チャートに挿入してあります。HVの見方についてはまた次回。

画像(450x253)・拡大画像(800x450)

>>“基礎から学ぶシステムトレード”全記事バックナンバーはこちらから




Posted at 10時31分


ページのトップへ ページのトップへ

Sponsor AD

2008/7

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

プロフィール

豊嶋久道

2003年よりFX取引を始め、システムトレードの道へ。最近ではFXオプション取引も含めたトレーディングシステムの研究を行っている。システムトレードを基礎から正しく理解するための情報を発信する予定。

PHOTO

実際の相場におけるランダムウォーク

実際の相場におけるランダムウォーク

カテゴリーリスト

最近の記事

検索


当サイトコメントについて

当コメントは情報提供のみを目的として作成されたものであり、投資に関してはご自身でご判断くださいますようお願い致します。また、当資料は著作物であり著作権法により保護されております。無断で全文または一部を転載することはできません。

RSS1.0

[Login]


powered by a-blog
Copyright (C) 2008 PhiConcept,Inc. All rights reserved.