権利であって義務ではない
オプションは、保有者に、ある日(満期)まで、またはその日に、固定価格(権利行使価格)で資産を取引する権利(義務ではない)を与えます。コールは買う権利、プットは売る権利です。満期に保有者は、得になるときだけ権利を使います。行使価格100のコールで株が110なら、110の価値のものを100で買えるのでペイオフは10です。株が90なら何もせず、ペイオフは0で、負にはなりません。この片側性がオプションに価値を与えます。
call payoff = max(S - K, 0) put payoff = max(K - S, 0)
import numpy as np
spot = np.array([80, 90, 100, 110, 120.0]) # possible prices of the stock at expiry
strike = 100
call = np.maximum(spot - strike, 0) # np.maximum works element by element: no loop, no if
put = np.maximum(strike - spot, 0)
print(call.tolist()) # [0.0, 0.0, 0.0, 10.0, 20.0]
print(put.tolist()) # [20.0, 10.0, 0.0, 0.0, 0.0]損益はペイオフからプレミアムを引いたもの
オプションには今日の価格、つまりプレミアムがあるので、利益はペイオフから支払った額を引いたものです。6で買ったコールは、株が行使価格を下回って終われば6を失い、行使価格 + プレミアム = 106 で損益ゼロになります。オプションを組み合わせると別の形ができます。ロング・ストラドル(同じ行使価格のコールとプット)は、どちらへの大きな動きでも利益になり、株が動かなければ両方のプレミアムを失います。ブル・コール・スプレッド(100のコール買いと110のコール売り)はコストが小さい代わりに、利益は行使価格の差で頭打ちになります。コストを下げるために110超の上昇分を手放すのです。
call_pnl = call - 6 # bought for a premium of 6
print(call_pnl.tolist()) # [-6.0, -6.0, -6.0, 4.0, 14.0] break-even at 106
straddle = call + put - (4.0 + 3.5) # a call (4.0) and a put (3.5) at the same strike
print(straddle.tolist()) # [12.5, 2.5, -7.5, 2.5, 12.5] wins on a move up or down
spread = np.maximum(spot - 100, 0) - np.maximum(spot - 110, 0) - (6.0 - 2.0) # long the 100 call, short the 110 call
print(spread.tolist()) # [-4.0, -4.0, -4.0, 6.0, 6.0] loss and gain are both cappedshort_call = 6 - call # the seller of the call keeps the premium and pays the payoff
print(short_call.tolist()) # [6.0, 6.0, 6.0, -4.0, -14.0] the exact mirror of the buyer's loss and gainprint(float(np.maximum(112 - 100, 0))) # 12.0 a single price works as well as an arrayペイオフは価格ではないペイオフ図は満期時点の価値だけを示します。満期前の今日の価格は、株がまだ有利に動く可能性があるため、ペイオフより高くなります。この上乗せが時間価値で、次のトピックで価格付けします。ペイオフは保有者の立場で書かれており、オプションの売り手の損益はちょうど逆になります。
- コールのペイオフ
max(S - K, 0)、プットのペイオフmax(K - S, 0)。np.maximum(..., 0)で配列全体に適用できる - 損益 = ペイオフ - プレミアム。ストラドル(コール+プット)は大きな動きに賭け、ブル・コール・スプレッドはコストと利益に上限を付ける
- ペイオフは満期時点の価値。今日の価格は時間価値の分だけ高く、それは次のトピックで価格付けする
次はプット・コール・パリティです。コールの価格とプットの価格の厳密な関係を学びます。
ラボ:採点される内容
call_payoffで買う権利のペイオフを求める25点put_payoffで売る権利のペイオフを求める25点long_straddle_pnlでどちらへの大きな動きにも賭ける25点bull_call_spread_pnlでコストと利益に上限を付ける25点