ヒストリカルボラティリティが見つからない!

ボラティリティに関する記事を書こうとしたところ、
個別株のヒストリカルボラティリティを見ることができるサイトが見つからず断念。

ということで、まずはエクセルを使ってヒストリカルボラティリティを計算する方法をまとめてみます。

なお、同時にエクセルでヒストリカルボラティリティを計算する様子をYoutubeに上げました。

この記事の最後にリンクを貼っておきます。

まずはボラティリティとは何?

ポジションのリスクを見るとき、テクニカル指標を見るとき、
マーケットの状況を見るとき、ボラティリティは非常に大切な数字です。

でも、ほとんどの人がボラティリティをどう使うか以前に、ボラティリティは難しいと思っているようです。

確かに、ボラティリティは統計で使う標準偏差なので、定義からきちんと理解して、となると若干ハードルは高くなります。

ただし、トレードで使うだけであれば、それほど勉強することはたくさんありません。

ドル円の2%上昇とビットコインの2%上昇は同じ意味か

1日に1円動くこともあまりないドル円が2%動いた時は、
何か大きなニュースがあったのではないか、
と考えます。

でも毎日のように、5%、10%動いているビットコインが2%動いた時は、
今日は平穏な1日だった、
と考えるかもしれません。

過去の平均的な値動きをヒストリカルボラティリティと言います。

ドル円は常にあまり動かない → ボラティリティが低い
ビットコインは常に大きく上下する → ボラティリティが高い

という構図になります。

トレードでは、自分が売買している株や通貨がどのくらいの
ボラティリティなのかを考えて、自分の取るべきポジション量が
決まります。

いつもドル円を100万円単位でトレードしているからと言って、
ビットコインも100万円でトレードすると、値動きが大きすぎて
冷静なトレードは出来なくなるでしょう。

ボラティリティは標準偏差

ボラティリティを実際どうやって計算して比較するのか、
考えてみましょう。

2つの銘柄が過去3日間で平均してどのくらい動いているか、
という非常に簡単なケースを考えましょう。

例えば、
A株は、+1%、ー2%、+1%、
B株は、+5%、-10%、+5%
という3日の値動きだったとします。

この結果を見ると、B株はA株の5倍値動きが激しい、と言えます。

この5倍というのをうまく計算できるようにしよう、というのが
ボラティリティの考え方です。

A株、B株ともに単純に足し算して平均を取るとどちらもゼロになってしまいます。

数学ではこのバラツキを標準偏差という数値で表すことができます。

標準偏差とは、それぞれのデータと平均との差をとって2乗し、
その平均を計算してルートを取るというものです。

2乗するのは、プラスマイナスの符号を消すためですし、
最後にルートを取るのは、2乗したものを元に戻すため、です。

A株は、+1%、ー2%、+1%、
B株は、+5%、-10%、+5%
でした。

ですから、

A株: 
平均はゼロ
各データと平均の差はそれぞれ、+1%、-2%、+1%
それぞれ2乗して平均すると、(1+4+1)÷ 3 = 2
そのルートを取って、√2 が標準偏差になります。

B株: 
平均はゼロ
各データと平均の差はそれぞれ、+5%、-10%、+5%
それぞれ2乗して平均すると、(25+100+25)÷ 3 = 50
そのルートを取って、√50 =5√2 が標準偏差になります。

B株はA株の5倍の標準偏差、つまり5倍のボラティリティです。

標準偏差を使うと、それぞれの株がどのくらい値動きが激しいのかを
比較することができるようになります。

つまり値動き=ボラティリティを標準偏差であらわすことで、
データを使って数学的に処理できるわけです。

ちなみに、ここでは3日の株価の動きを使って計算しているので、
3日ヒストリカルボラティリティになります。

 

ボラティリティはどこで見る?

自分がトレードしている株やFXのボラティリティが何パーセントか、
というのはどこで見ればよいでしょうか。

FXであれば、下記のものがあります。

http://www.myfxbook.com/forex-market/volatility

また、他にも2つ紹介します。

http://hirose-fx.co.jp/category/market/volatility/index.html

https://jp.investing.com/tools/forex-volatility-calculator

ただし、これら2つは実際の1日の値幅の平均になっているので、自分でパーセントに直さないといけません。

120円の通貨で60pipsであれば、0.60/120 = 0.5%、と自分で計算しましょう。

pips同士で比較をしても、通貨のもとの大きさが違うとどちらが大きい動きをしているか、ということがわかりません。

ヒストリカルボラティリティをエクセルで簡単計算

FXについては、ボラティリティを計算しているサイトがあるので、
それを見るので十分でしょう。

ところが株については、いいサイトが見つかりませんでした。

日経平均などの指数は日経新聞でもチェックできます。

また個別株については下記のようなサイトがあります。

株マップ.COM

ただしこちらは、ランキング形式なので
全ての株についてみるのは難しいようです。

ということで、エクセルで自分で計算する方法を説明することでにしました。

株価データの取得

ヒストリカルボラティリティを計算するには株価データが必要です。

  • 岡三RSSでの取得
  • SBI証券のHYPER SBIを使ってファイルを取得
  • k-db.comからデータを取得
  • Yahooファイナンスからデータを取得
  • Monexのトレードステーションから取得
  • などなど

いろいろあると思いますが、おススメはk-db.comです。

無料ですし、簡単にデータを取得できます。

リンクはこちら

2017年でk-db,comは終了されたようです。

たいていのサイトはCSVというファイル形式でデータを取れます。

ダウンロードしたCSVファイルをエクセルで開けば普通に
編集できます。

編集後はエクセル形式でファイルを保存するとよいでしょう。

日次リターンを計算する

ヒストリカルボラティリティを計算するには、毎日の株価の変化を計算する必要があります。

日次リターンを計算するには、普通は

(今日の株価 - 前日の株価)/ 前日の株価

を使うかと思います。

ただ、金融の数学では、自然対数を使うのが普通です。

自然対数を使うことで連続複利の計算になるからなのですが、
あまり深いことは考えずに金融データでは自然対数を使う、と
覚えてしまってください。

電卓などで簡単な計算をするときには自然対数を使わなくてもよいですが、
エクセルでは自然対数として、ln()、という関数が用意されています。

エクセルで処理する場合は積極的にln()関数を使いましょう。

自然対数を使って前日からの変化率を計算するときには、

=LN(今日の価格/前日の価格)

とします。

ちなみに、100円が50円になり100円まで回復、というケースを計算します。

普通の計算だと、
( 50 ー 100 ) / 100  = -50%
(100-50)/ 50 = +100%
となり、上下の動きでパーセントが違います。

自然対数を使うと、
LN(50/100)= -69%
LN(100/50)= + 69%
となり、上下の動きのパーセントが同じになります。

去年の株価はマイナス50%、今年はプラス100%と言われた時、
100が50になって100に戻った、という感覚はないと思います。

こんなところにも自然対数を使うメリットはあります。

自然対数を使って、日次リターンを計算しましょう。

標準偏差を計算する

エクセルで標準偏差を計算します。

10日間のヒストリカルボラティリティ、というのは、
10日の日次リターンを使った標準偏差です。

ヒストリカルボラティリティは用途によっていろいろな期間が使われます。

例えばテクニカル指標として短期の値動きの様子を見たい時には、
10日や20日などが使われることが多いようです。

過去の日経平均の動き自体をリスク管理に組み込みたい場合は、
より長期のボラティリティが使用されます。

まずは自分が何に使いたいかで、計算するべきヒストリカルボラティリティの
期間は変わってきます。

毎月SQのあるオプションを売買するトレーダーは20日を中心に、
10日~60日くらいを見ている場合が多いようです。

エクセルで20日のヒストリカルボラティリティを計算するには、
次の関数を使います。

=stdev.s(今日の変化率:20日前の変化率)

※ 今日の変化率:20日前の変化率、はエクセルで
今日の変化率から20日前の変化率までを指定する
という意味です。

別に25日でも100日でも計算方法は一緒で、
カッコの中を25日分、100日分にすればOKです。

Youtubeにアップした動画では、10日、20日、40日の3つを計算しています。

年率換算する

日次リターンからヒストリカルボラティリティを計算すると、
1日当たりの値動きが何パーセントか、という数値がでます。

通常、オプションのインプライドボラティリティや、
米国のVIX指数、日経インプライドボラティリティ指数は、
1年間の平均的な値動きが何パーセントか、という数値です。

エクセルで計算した1日当たりの数値を1年当たりの数値に変換しましょう。

1日当たり平均1%動く株が、1年間で平均何%で動くか、を計算するのですが、
単純に365日分をかけてしまうと、365%動くことになってしまいます。

じつは標準偏差の計算では、データの数を増やしたり減らしたりするときは、
ルートを取ってから掛け算、割り算する、
というルールがあります。

ですから、1日当たり平均1%動く株が、1年間で平均何%で動くか、を計算する時は、
365ではなく、√365を掛ける必要があります。

ただし、データの数で考えると、1年は365個の株価データの集まりではなく、
土日祝日を除いた約240日分になります。

ですから、アップした動画でも、√240=15.5を掛けて年率換算しています。

エクセルでは、ルートの計算はSQRT関数を使うので、

=stdev.s(今日の変化率:20日前の変化率)× sqrt(240)

が、20日の年率換算されたヒストリカルボラティリティということになります。

出てきたヒストリカルボラティリティの数字の意味は?

出てきたヒストリカルボラティリティについて少し考えてみましょう。

年率15.5%のボラティリティを考えます。

ルート240が約15.5ですから、年率15.5%のボラティリティは、
その株は毎日平均で、1%の値動きをするのが普通である、
と言う意味です。

ですからVIX指数や日経オプションのインプライドボラティリティが15%程度であれば、
マーケットは毎日1%程度の動きを見込んでいるわけです。

VIX指数が30%を越えた、というときは、毎日2%動き続けて当たり前、というわけです。

また年率15.5%のボラティリティであれば、
1ヶ月の平均的な値動きは、15.5% / √12 = 4.5%
半年の平均的な値動きは、15.5% / √2 = 11%
ということになります。

自分が持っている株が年率15.5%のボラティリティであれば、
1ヶ月持ち続けていれば、平均的に4.5%勝ったり負けたりする、
ということを前提にトレードプランを立てる必要があります。

オプション理論やリスク管理に、こういった標準偏差の話はつながっていくのです。

メルマガでの情報発信もしています。

投資全般やオプションの話について、メルマガでも情報発信しています。

もしこの記事を読んで、気に入ったらメルマガの登録もどうぞよろしくお願いします。

メルマガの登録はこちらからどうぞ

Youtubeに動画をアップしてあります

実際にエクセルでヒストリカルボラティリティを計算する様子をYoutubeにアップしました。

細かい点はこちらを見ていただいた方が理解が速いかと思います。

動画はこちらをクリック