Ein Recht, keine Pflicht
Eine Option gibt ihrem Inhaber das Recht, aber nicht die Pflicht, einen Basiswert zu einem festen Preis (dem Strike) an oder bis zu einem Tag (dem Verfall) zu handeln. Ein Call ist das Recht zu kaufen, ein Put das Recht zu verkaufen. Bei Verfall nutzt der Inhaber das Recht nur, wenn es sich lohnt. Ein Call mit Strike 100 bei einer Aktie von 110 lässt Sie für 100 kaufen, was 110 wert ist: ein Payoff von 10. Bei einer Aktie von 90 tun Sie einfach nichts, der Payoff ist 0, nie negativ. Diese Einseitigkeit macht Optionen wertvoll.
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]Der Gewinn ist der Payoff minus die Prämie
Die Option hat heute einen Preis, die Prämie, Ihr Ergebnis ist also der Payoff minus das Gezahlte. Ein für 6 gekaufter Call verliert 6, wenn die Aktie unter dem Strike endet, und erreicht den Break-even bei Strike + Prämie = 106. Durch Kombinieren von Optionen entstehen andere Formen. Ein Long Straddle (Call plus Put zum selben Strike) profitiert von einer großen Bewegung in beide Richtungen und verliert beide Prämien, wenn die Aktie stillhält. Ein Bull Call Spread (Long Call bei 100, Short Call bei 110) kostet weniger, deckelt aber den Gewinn auf die Strike-Differenz: Sie verzichten auf den Anstieg über 110, um die Kosten zu senken.
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- Call-Payoff
max(S - K, 0), Put-Payoffmax(K - S, 0):np.maximum(..., 0)erledigt das auf einem ganzen Array. - Gewinn = Payoff - Prämie; ein Straddle (Call + Put) wettet auf eine große Bewegung, ein Bull Call Spread deckelt Kosten und Gewinn.
- Payoffs sind Werte bei Verfall; der Preis heute liegt um den Zeitwert höher, den die nächsten Themen bewerten.
Als Nächstes: die Put-Call-Parität, der exakte Zusammenhang zwischen dem Preis eines Calls und eines Puts.
Lab: Was bewertet wird
- Mit
call_payoffdas Recht zum Kauf auszahlen25 Pkt. - Mit
put_payoffdas Recht zum Verkauf auszahlen25 Pkt. - Mit
long_straddle_pnlauf eine große Bewegung in beide Richtungen wetten25 Pkt. - Mit
bull_call_spread_pnlKosten und Gewinn deckeln25 Pkt.