【相場雑感】オプション・プライシング実践編④~デルタ
さて、次は下にあるデルタを計算するための関数を『コピペ』しましょう(^_-)
もう使い方は大丈夫しょうが念のため。

引数はFVのときと同じです。
コール・オプションのときは『=CallDelta(残存日数, 現指数, 権利行使価格, 金利, IV)』
プット・オプションのときは『=PutDelta(残存日数, 現指数, 権利行使価格, 金利, IV)
を使ってください。
図では4月11日時点のデータでやっています。
ちなみに日経平均株価が9719.70円のとき、10000円の権利行使価格のコール・オプションのデルタは0.32(日経平均先物で0.32枚買っているのと同じ)。
それでは10500円になったときはどうなるのでしょう?

現指数のところを10500に変えてみました。
するとデルタは0.81に増えます。
このデルタの変化がポジション・コントロール上で重要なのです。
プット・オプションでも同じように色々とやってみてください。
日経平均株価が10000円のときに11000円のコールと9000円のプット(ともに1000円ずつ離れたオプション)を同枚数ずつ売ったと仮定すると、10000円のときのポジション・デルタはほぼゼロ(金利分などもあるので若干ずれますが)。枚数を増やしても極端には変わりません。
その時点では方向性のリスクはあまりないから…とタカをくくってエライ目にあったのが、今回生じた個人投資家の巨額損失です。
このポジションを1000枚ずつ売ったとすると、1000円以上下がればデルタはどんどんプラスになっていき、限りなく1000に近づいていきます。
デルタが1000ということは先物を1000枚買っているのと同じ。つまり10円動くだけで1000万円の損益のブレになります。
たった1億円の証拠金で取るべきポジションではないことは明白ですね。
一見、方向性のリスクがなさそうに見えるポジションでも、その潜在的な変動リスク(デルタの変化)を知っておく必要があります。
その変化を数値的に示すのが『ガンマ』です。
次回はガンマの計算式を紹介しましょう。
Function CallDelta(残存日数, 現指数, 権利行使価格, 金利, IV)
If IsError(現指数) = False Then
If 残存日数 <= 0 Then
CallDelta = 0
ElseIf 現指数 <= 0 Then
CallDelta = 0
ElseIf 権利行使価格 <= 0 Then
CallDelta = 0
ElseIf IV = 0 Then
CallDelta = 0
Else
Step1 = 残存日数 / 365
Step2 = Application.Ln(現指数 / 権利行使価格)
Step3 = (Step2 + (金利 + IV ^ 2 / 2) * Step1) / (IV * Sqr(Step1))
Step4 = Application.NormSDist(Step3)
CallDelta = Int(Step4 * 100 + 0.5) / 100
End If
Else
CallDelta = 0
End If
End Function
Function PutDelta(残存日数, 現指数, 権利行使価格, 金利, IV)
If IsError(現指数) = False Then
If 残存日数 <= 0 Then
PutDelta = 0
ElseIf 現指数 <= 0 Then
PutDelta = 0
ElseIf 権利行使価格 <= 0 Then
PutDelta = 0
ElseIf IV = 0 Then
PutDelta = 0
Else
Step1 = 残存日数 / 365
Step2 = Application.Ln(現指数 / 権利行使価格)
Step3 = (Step2 + (金利 + IV ^ 2 / 2) * Step1) / (IV * Sqr(Step1))
Step4 = Application.NormSDist(Step3)
PutDelta = Int((1 - Step4) * 100 + 0.5) / 100 * -1
End If
Else
PutDelta = 0
End If
End Function
もう使い方は大丈夫しょうが念のため。

引数はFVのときと同じです。
コール・オプションのときは『=CallDelta(残存日数, 現指数, 権利行使価格, 金利, IV)』
プット・オプションのときは『=PutDelta(残存日数, 現指数, 権利行使価格, 金利, IV)
を使ってください。
図では4月11日時点のデータでやっています。
ちなみに日経平均株価が9719.70円のとき、10000円の権利行使価格のコール・オプションのデルタは0.32(日経平均先物で0.32枚買っているのと同じ)。
それでは10500円になったときはどうなるのでしょう?

現指数のところを10500に変えてみました。
するとデルタは0.81に増えます。
このデルタの変化がポジション・コントロール上で重要なのです。
プット・オプションでも同じように色々とやってみてください。
日経平均株価が10000円のときに11000円のコールと9000円のプット(ともに1000円ずつ離れたオプション)を同枚数ずつ売ったと仮定すると、10000円のときのポジション・デルタはほぼゼロ(金利分などもあるので若干ずれますが)。枚数を増やしても極端には変わりません。
その時点では方向性のリスクはあまりないから…とタカをくくってエライ目にあったのが、今回生じた個人投資家の巨額損失です。
このポジションを1000枚ずつ売ったとすると、1000円以上下がればデルタはどんどんプラスになっていき、限りなく1000に近づいていきます。
デルタが1000ということは先物を1000枚買っているのと同じ。つまり10円動くだけで1000万円の損益のブレになります。
たった1億円の証拠金で取るべきポジションではないことは明白ですね。
一見、方向性のリスクがなさそうに見えるポジションでも、その潜在的な変動リスク(デルタの変化)を知っておく必要があります。
その変化を数値的に示すのが『ガンマ』です。
次回はガンマの計算式を紹介しましょう。
Function CallDelta(残存日数, 現指数, 権利行使価格, 金利, IV)
If IsError(現指数) = False Then
If 残存日数 <= 0 Then
CallDelta = 0
ElseIf 現指数 <= 0 Then
CallDelta = 0
ElseIf 権利行使価格 <= 0 Then
CallDelta = 0
ElseIf IV = 0 Then
CallDelta = 0
Else
Step1 = 残存日数 / 365
Step2 = Application.Ln(現指数 / 権利行使価格)
Step3 = (Step2 + (金利 + IV ^ 2 / 2) * Step1) / (IV * Sqr(Step1))
Step4 = Application.NormSDist(Step3)
CallDelta = Int(Step4 * 100 + 0.5) / 100
End If
Else
CallDelta = 0
End If
End Function
Function PutDelta(残存日数, 現指数, 権利行使価格, 金利, IV)
If IsError(現指数) = False Then
If 残存日数 <= 0 Then
PutDelta = 0
ElseIf 現指数 <= 0 Then
PutDelta = 0
ElseIf 権利行使価格 <= 0 Then
PutDelta = 0
ElseIf IV = 0 Then
PutDelta = 0
Else
Step1 = 残存日数 / 365
Step2 = Application.Ln(現指数 / 権利行使価格)
Step3 = (Step2 + (金利 + IV ^ 2 / 2) * Step1) / (IV * Sqr(Step1))
Step4 = Application.NormSDist(Step3)
PutDelta = Int((1 - Step4) * 100 + 0.5) / 100 * -1
End If
Else
PutDelta = 0
End If
End Function