Wizard In The Market
システムトレードの魔術師

*

Derivatives analytics with Python の学習ノート 3章

公開日: : Derivatives Analytics with Python, FX

前回の続きです。

読んでいる本はこちら。少しでも興味をお持ちになったら、ここでは詳細には触れませんのでぜひ購入を検討してみてください。この本を片手に参考程度に見てもらえればと思っています。本当は全部公開したいのですが、書籍の営業の邪魔しないように一部のみに留めておきます。見てみたいというかたはご一報いただければ個別に対応しようと思います。

3. Market Stylized Facts

3.1 Introduction

この章でこういう事項を扱いますという説明。ランダムな場合の相場と、実際の相場を比較し、実際の相場だけに現れる傾向を検証していくことになる。実際には、stylized factsをしっかりと理解して、モデルに必要な要素を身につけましょうという感じ。

[管理人だけが閲覧可能]

Volatility smile/skewとは

3.2 Volatility Correlation and Co.

ボラティリティと相関について。ボラティリティがオプションとデリバティブの解析における一番の概念。それは単一のボラティリティの概念ではなく、”undirected dispersion/risk measure” (無方向性分散とリスク尺度?)に関係する概念の組み合わせである。ここでは、以下のボラティリティの概念を区別する。常に確率的処理や金融の時系列と関係がある。

これから登場するlog値r_nは以下のように定義する。おそらく、S_nは実際の時系列データの観測値。
r_n \equiv \log S_n - \log S_{n-1} = \log(S_n/S_{n-1})

これから考慮するlog値r_nというのはlog変換した偏差だということは念頭に置いておいたほうがいい。
historical volatility いわゆる平均と標準偏差。
instantaneous volatility 瞬時ボラティリティ。拡散処理のボラティリティ要素として言及される。ブラック・ショールズメルトンでは、instantaneous volatility\sigmaは以下の公式(the respective Stochastic Differential Equation)で使われている。
dS_t = rS_t dt + \sigma S_t d Z_t
implied volatility 予想変動率。オプション取引において、現在のオプション価格によって暗示される将来価格が変動するであろうという市場の期待値。ブラック・ショールズメルトンオプション価格算出公式を用いて、オプションの価格を算出し、ヨーロピアンオプションの価格がC^*_0だったとき、implied volatility \sigma^{imp}は以下の等式を暗に満たす。
C^*_0 = C^{BSM}(S_0, K, T, r, \sigma^{imp})

これらのボラリティには変数と呼ばれる、平方に相当するものが使われている。例を上げれば、金融モデルの一部では、ボラティリティを確率変数をして扱っており、ブラック・ショールズメルトン推定では、ボラティリティの代わりに変数がモデル化されている。

以下の2つの(サンプルの)モーメント分布は重要である。

skewness 歪度。
サンプルの値が平均値に対してどのような位置にあるかという尺度。r_n:観測値 \hat{\mu}:平均値 \hat{s}:歪度
$\displaystyle \hat{s} = \frac{\frac{1}{n}\Sigma^N_{n=1}(r_n-\hat{\mu})^3}{(\frac{1}{n}\Sigma^N_{n=1}(r_n-\hat{\mu})^2)^{3/2}}$
kurtosis 尖度。

相関も重要である。以下2つを主要な種類として扱う。

historical correlation 一般的な相関係数
instantaneous correlation 瞬時相関係数。算出する the quadratic variation process があるらしい。

これらの定義を実装すれば、人工的なデータに対しても、実際のデータに対してもこれらを適用できるようになる。

3.3 Normal Returns As The Benchmark Case

基礎的な事例として、SDE(the respective Stochastic Differential Equation)によって与えられるBSM(Black-Sholes-Merton)の幾何的ブラウン運動を考える。実際に完全にランダムな相場のモデリングを行う。

[管理人だけが閲覧可能]
コードをみた所見
・np.random.seed(250000)にてランダムの数値が固定されているため、実行を繰り返しても同じデータが得られる。
・2004年からの時系列データとして定義されているが、ブラウン運動を想定した仮想値。
・qqplotは引数が一つしかなければ、理論分位数に対する標本分位数のQQプロットを行う。
[管理人だけが閲覧可能]

結局のところ、予期した通りの結果が得られる。

realized volatilityを rolling volatility(おそらく移動標準偏差)として描写し、log値の移動平均も描写して移動相関をとってみたのが図3.5。価格とボラティリティの相関とってどうするのというのは謎・・・。
→だったけど、次の章でstylized factsの一つとして紹介される。

[管理人だけが閲覧可能]

3.4 Indices and Stocks

オプションに取り掛かる前に、このセクションでは株やインデックスの形式化された要素の再現をする。多分この章で一番重要なセクション。

3.4.1 Stylized Facts

このセクションで紹介される stylized facts は今後の学習の基本となるのでしっかりと理解したほうが良い。

[管理人だけが閲覧可能]

3.4.2 DAX Index Returns

Stylized facts が存在するかDAXを使って検証する。

[管理人だけが閲覧可能]

3.5 Option Markets

この章ではオプション市場を取り上げ、とりわけBid Ask スプレッドとimplied volatility について扱う。

3.5.1 Bid/Ask Spreads

[管理人だけが閲覧可能]

3.5.2 Implied Volatility Surface

[管理人だけが閲覧可能]

3.6 Short rates

[管理人だけが閲覧可能]

3.7 Conclusions

[管理人だけが閲覧可能]
にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 61 follow us in feedly

関連記事

no image

あめんば限定><

こんばんは。お久しぶりです。キリンです。 ブログの更新が滞っていたことには訳がありまして、 タイトルにあるようにFTLを

記事を読む

MT4 CopyArray で価格情報を効率よくコピーするには

ArrayCopySeriese の使用は避けたほうがいい ArrayCopySeriese で上記のように価

記事を読む

システムトレードを始める前に知っておきたかったこと

今日の勉強会で発表してきました。nbviewer に共有しておきます。 システムトレードを始める前に知っておきたか

記事を読む

YJFXに善意の重大バグの報告後、報告人だけに新規約上停止措置

情報の共有をかねて時系列に沿ってまとめておきます。 YJFXにて重大なバグを発見 今週からYJF

記事を読む

no image

投資顧問には500万円が必要とのこと・・・。

こんばんはっ!キリンです。 最近はやる気満々で頑張らせてもらっています。 ブログでも応援してくださる方も多く、非常に嬉し

記事を読む

no image

VivaLasVegas!

Viva LasVegas! なんてココロ踊るタイトル。 http://codebase.mql4.com/7142 ギ

記事を読む

Derivatives analytics with Python の学習ノート 1,2章

洋書を読んでいると、いつも読んだ気になってちゃんと理解出来てるか自信がないことが多いので、チャプターごとに要点をまとめ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Python 2, Python 3 で更新したファイルを調べてreloadするパッケージを作った。

pdbでのデバッグにはreload機能がない IPythonには優秀なautorelaod機能

Python での Log 収集

プロジェクトが大きくなるにつれて、プログラムの不備を見つけるのにログの構成、ログデザインを考える

Flast-Sockets + redis-py で簡単 Websocket サーバー実装

参考にしたサイト Using WebSockets on Heroku with Python

Rust で Python の拡張ライブラリ作成 と numpy との性能比較

この記事は Python Advent Calendar 5日目の記事です。遅れてすみません。

システムトレードを始める前に知っておきたかったこと

今日の勉強会で発表してきました。nbviewer に共有しておきます。 システムトレードを始め

→もっと見る

PAGE TOP ↑