パーセンテージで株式のボラティリティを計算するにはどうすればよいですか?他の計算なしでsd()関数を使用する必要がありますか?
ありがとう
回答
あなた「適切に年換算され、パーセンテージに変換された(つまり、100を掛けた)ログリターンの標準偏差を探しています。
これは、日次価格から年間ボラティリティを計算する例です。
library(tseries) data <- get.hist.quote("VOD.L") price <- data$Close ret <- log(lag(price)) - log(price) vol <- sd(ret) * sqrt(250) * 100
注:
- 上記のコードは、実際には企業行動(配当、分割など)に合わせて調整された価格を使用している必要があります。
-
250
は、1年の(おおよその)取引日数です。
コメント
回答
ボラティリティがパーセンテージで表される場合、それは平均の分数として与えられていることを意味します。したがって、価格の標準偏差が10で、平均が100の場合、価格は10%のボラティリティとして説明できます。
Rの用語では、これは次のことを意味します。
vol_percent = sd(price) / mean(price)
編集:これは、ボラティリティに関するウィキペディアの記事でも簡単に見つけることができます。
コメント
- 編集について:あなたの回答はWikipediaの記事と一致しません:"年間ボラティリティσは、の標準偏差です。インストルメント'の年間対数リターン。"ブロックに表示される値' -Scholesおよびその他の確率モデル。 100を掛けて、パーセントで表します。
- ええと。私がよく知っていた定義は、導入部の定義でした。"ボラティリティは通常、年換算で表され、絶対数($ 5)または平均の端数のいずれかです。 (5%)。"私は'決して財務担当者ではないので、あなたや他の誰かが寄付したい場合はより徹底的な答えを歓迎します。
答え
BNaulの答えはおそらく1つではありませんあなたが探しています。ブラックショールズスタイルのボラティリティを計算する場合は、対数リターンの年間ボラティリティを計算する必要があります。つまり、各$ t $の対数リターン級数$ \ ln(s_t / s_ {t-1})$を計算し、標準偏差を取り、それを時間の平方根で調整して、年間の数値を取得します。このボラティリティは、ブラックショールズ方程式を必要とする価格設定モデルで使用できます。
回答
在庫返品ボラティリティは観察できず、推定することしかできません。株式のオプションから推定される暗黙のボラティリティもあるため、過去のボラティリティを意味すると思います。
いくつかの方法があります。それを推定する。たとえば、このペーパー「歴史的ボラティリティの測定」をご覧ください。 「Close-to-close」と呼ばれる最も単純な方法から始めます。これは、ブルームバーグ端末(「CLV」)の従来の方法に似ています。ブルームバーグに対して結果を確認することをお勧めします。ターミナルにアクセスできる場合は、その方法を正確に説明したドキュメントを入手してください。
NA
がある場合、最後の行が'sd(ret, na.rm=TRUE)
を使用しない限り機能しません。