デリバティブ偏愛家の日記

弱小投資家の相場備忘録

ブログの引っ越しとtwitter開始のお知らせ

 軽いノリで始めた当ブログですが、技術的な問題等ではてなブログから独自ドメインのブログに移行することにしました。まだ移行先は作成中なので、ある程度完成したらここにURLを記載しておきます。過去の記事に関しては、相場概況のような一過性のものは残して、他は新ブログの方に移管後消去する予定です。お手数おかけしますが、よろしくお願いします。

【2018/8/6 更新】

移行先のページがある程度完成しました。週次の米金利分析の記事も載せています。

デリバティブ偏愛家の日記

 

 また、ザラバでの筆者の阿鼻叫喚を垂れ流す場としてブログ更新の報告先として、Twitterアカウントを作成したので、そちらも気が向いたらフォローをお願い致します。相変わらずアカウント名は「PLNJPY」です。ポーランドズロチ円ですね。いや、別に一度もズロチを取引したことは無いです。

twitter.com

NT倍率の考察

 最近日銀のETF買い入れに関する市場の動揺で、NT倍率が大きく動いたので分析してみました。

 

NT倍率の長期推移

f:id:plnjpy:20180728132712p:plain

大まかに見ると日経平均に近い動きですが、2005年~リーマンショックまでは大してNT倍率は動かず、逆にリーマン後アベノミクス開始まではNT倍率だけ動く、という乖離も見られます。

続きを読む

2018/7 第3週 米金利分析

トランプ発言の方がNFPより動く今日この頃。

 

 1.イールドカーブ

縦軸に利回り、横軸が満期までの日数。指定日は前回記事を投稿した時の基準日(7/13)の水準。 

f:id:plnjpy:20180723123708p:plain

久々に長期が上昇し、一転スティープニングに。

f:id:plnjpy:20180723123756p:plain

続きを読む

2018/7 第2週 米金利分析

初夏のフラットニング祭。

 

 1.イールドカーブ

縦軸に利回り、横軸が満期までの日数。指定日は前回記事を投稿した時の基準日(6/29)の水準。 

f:id:plnjpy:20180714125929p:plain

水準で見ると大きな変化は無いように見えるが、短期だけ上昇しているのでスプレッドに動きが。

f:id:plnjpy:20180714130036p:plain

続きを読む

クソ真面目にバイナリーオプションに取り組む 第1回

どうも、デリバ亡者です。

 

完全に個人的な感想ですけど、怪しい情報商材屋以外でバイナリーオプションをやっている人を全然見かけないんですが、業界としてどうなってるんでしょう…誰のための自主規制だったのか…

 

ということで今回は真面目に金融工学等を用いてバイナリーオプションの戦略を考えます。テクニカルを使った一般的な戦略に関しては、普通にFXでやれば?と思うので、あくまで"オプション"であることに主眼を置いていきます。

 

大きな流れとしてはバイナリーオプションそのものを知る→敵(業者)を知る→戦略を立てるという感じで行こうと思います…が、書いていてあまりに長くなったので二回に分けます。

  • バイナリーオプションの基本的な性格
    • そもそもどういう存在なのか
    • 大雑把なバニラオプションとの違い
    • 単一パラメータ変化に対する分析
      • 原資産価格変化とPremiumの関係
      • 原資産価格変化とDeltaの関係
      • 原資産価格変化とGammaの関係
    • 複数パラメータ変化に対する分析
      • 原資産価格変化と時間経過、Premiumの関係
      • 原資産価格変化と時間経過、Deltaの関係
      • 原資産価格変化と時間経過、Vegaの関係
  • 国内業者のバイナリーオプションについて
    • 国内業者の特徴
    • オプションのヘッジ市場が存在しない
    • ボラティリティは業者が決め打ちするしかない
    • 顧客の損益状況の開示が必要
  • 業者側のプライシング戦略を考える
    • ボラを予想する
      • 1.必ず遅行する問題
      • 2.予定されているイベントすら反映できない問題
      • 3.スマイルカーブを考慮できない問題
      • 対処法
    • 経済指標の発表に備える
    • BSモデルの限界をスプレッドに反映する
  • 投資家側の分析の方法
    • Excelで理論価格を計算する
    •  業者のプライスからIVを計算する
続きを読む

Excel関数でバイナリーオプションの理論価格とGreeksを算出する方法 & IVの逆算方法

はじめに

 バイナリーオプションに関する金融工学の側面からの分析等は以下の記事を参照下さい。当記事はそのオマケです。
クソ真面目にバイナリーオプションに取り組む 第1回 – デリバティブ偏愛家の日記



理論価格とGreeksを算出

 VBAExcelの関数を自作して、バイナリーオプションの理論価格やGreeksを算出するためのコードです。
 まずは殆どの計算で必要となるパーツだけ先に関数化しておきます。

'S=原資産価格
'K=権利行使価格
'r=金利
't=残存時間(必ず年換算に直してから入れること)
'V=ボラティリティ(%単位ではなく、小数にしてから入れる)

Function d1(S, K, r, t, V)

    d1 = (Log(S / K) + (r + V ^ 2 / 2) * t) / (V * t ^ 0.5)

End Function

Function N_d1(S, K, r, t, V)

    N_d1 = Application.WorksheetFunction.NormSDist(d1(S, K, r, t, V))

End Function

Function N_d2(S, K, r, t, V)

    d2 = d1(S, K, r, t, V) - V * t ^ 0.5
    N_d2 = Application.WorksheetFunction.NormSDist(d2)

End Function

 これらを使って理論価格やGreeksを算出します。

'プレミアム計算
Function calldigital(S, K, r, T, V)

    calldigital = Exp(-r * T) * N_d1

End Function

'Delta計算
Function calldelta(S, K, r, T, V)

    x1 = Exp(-0.5 * d1(S, K, r, t, V) ^ 2) / (2 * Application.WorksheetFunction.Pi()) ^ 0.5
    x2 = 1 / (V * S * t ^ 0.5)
    calldelta = x1 * x2

End Function

 VegaとThetaに関しては個人的な好みで数値微分を使っています。あくまで為替の短期バイナリーオプションを想定しているので、ボラの差分が1ポイント相当であり、時間の差分が1分と指定されており、大半は問題無いですが盲目的に流用すると問題が発生する可能性があります。

'Vega計算
Function callvega(S, K, r, T, V)

    P1 = calldigital(S, K, r, T, V)
    V2 = V + 0.01
    P2 = calldigital(S, K, r, T, V2)
    callvega = P2 - P1

End Function

'Theta計算
Function calltheta(S, K, r, T, V)

    P1 = calldigital(S, K, r, T, V)
    T2 = T - (1 / 60 / 24 / 365)
    P2 = calldigital(S, K, r, T2, V)
    calltheta = P2 - P1

End Function

IVの逆算方法

 実際に業者が出しているプライスからIVを計算する方法ですが、解析的にポンッとは算出できません。こちらはExcel関数ではなく、VBAをそのまま使用し、簡素ですがループしてボラを少しずつ上げながら乖離が最小となるボラを探す、という手法を使います。


 注意点は、まずBid/Offerから計算したMidこそが必ずしも業者の考える理論価格ではない可能性がある点です。基本的に投資家は買いしか出来ない商品なので、Offer側にしかスプレッドを付けていないというケースもあり得ます(無論幅自体は普通にある)。その場合、理論価格が若干常に高めになるので、同一権利行使価格のCallとPutのMid同士を足しても綺麗にペイアウト金額にならない等の微妙な問題が発生します。


 次に、こちらの方が重要ですが、ATM近傍やDeep OTM(現値から相当離れた権利行使価格のOTM)、Deep ITM(現値から相当離れた権利行使価格のITM)ではボラの変化に対してプレミアムがほとんど変化しないため、正しくIVが計算できないケースがあります。分かり易いのがATMで、どれだけボラが高かろうが低かろうが常に理論価格はペイアウト金額の半分になるので、どの方法でもIVを特定出来ません。なのでATMは上下2本の権利行使価格で計算したIVを案分するなりして計算しましょう。最も精度が高くなるのはVegaが最大または最小となる付近です。

'Premium(業者Mid)はExcelのシート上から取ってくるなり、直接入力するなり
P1 = premium

'誤差の初期値は最大値となるペイアウト金額を代入しておく
D1 = payout

'ループ開始
For i = 1 to 1000

    'ボラは0.5%~500%まで0.5%刻みで探す設定だが、ここは銘柄等に合わせてお好みで
    vol = i * 0.005

    '代入したボラで理論価格計算
    P2 = calldigital(S, K, r, t, vol) * payout

    '代入したボラで出した理論価格と業者Midの乖離を計算
    D2 = Abs(P2 - P1)

    '乖離が前回よりも拡大していれば、その一つ前のボラが乖離最小となるIVとなる
    If D1 < D2 Then
        IV = vol - 0.005
    	Exit For
    End if

    '乖離の更新
    D1 = D2
Next i