Assume that we are holder of the long put option, the intrinsic value of the put option at time t is:
Payoff:
Profit:
# Define the Option class
setClass(
"Option",
slots = list(
position = "character",
action = "character",
strike = "numeric",
premium = "numeric"
),
prototype = list(
position = "long",
action = "call",
strike = 0,
premium = 0
)
)
# Define the generic methods
setGeneric("intrinsic", function(object, price) standardGeneric("intrinsic"))
setGeneric("payoff", function(object, price) standardGeneric("payoff"))
setGeneric("profit", function(object, price) standardGeneric("profit"))
setGeneric("pp_diagram", function(object, price) standardGeneric("pp_diagram"))
# Define the methods for the Option class
setMethod("intrinsic", signature = "Option",
definition = function(object, price) {
if (object@position == "long" && object@action == "call") {
return(price - object@strike)
}
if (object@position == "short" && object@action == "put") {
return(price - object@strike)
}
return(object@strike - price)
}
)
setMethod("payoff", signature = "Option",
definition = function(object, price) {
intrinsic_value <- intrinsic(object, price)
if (object@position == "long") {
return(max(intrinsic_value, 0))
}
return(min(intrinsic_value, 0))
}
)
setMethod("profit", signature = "Option",
definition = function(object, price) {
payoff_value <- payoff(object, price)
if (object@position == "long") {
return(payoff_value - object@premium)
}
return(payoff_value + object@premium)
}
)
setMethod("pp_diagram", signature = "Option",
definition = function(object, price) {
prices <- seq(from = 0, to = object@strike * 2, by = 1)
payoff_fn <- getGeneric("payoff")
profit_fn <- getGeneric("profit")
payoffs <- sapply(prices, function(p) payoff_fn(object, p))
profits <- sapply(prices, function(p) profit_fn(object, p))
plot(prices, payoffs, type = "l", col = "blue",
xlab = "Price", ylab = "Payoff/Profit")
lines(prices, profits, type = "l", col = "green", lty = "dashed")
grid(col = "#C0C0C0", lty = "dashed", lwd = 1)
legend("topright", legend = c("Payoff", "Profit"), lty = c(1, 2),
col = c("blue", "green"))
}
)
# Create an Option object
my_option <- new("Option", position = "long", action = "put", strike = 100, premium = 5)
# Call the intrinsic method for the Option object
my_intrinsic <- intrinsic(my_option, price = 80)
print(my_intrinsic)
## [1] 20
# Call the payoff method for the Option object
my_payoff <- payoff(my_option, price = 75)
print(my_payoff)
## [1] 25
# Call the profit method for the Option object
my_profit <- profit(my_option, price = 75)
print(my_profit)
## [1] 20
# Call the pp_diagram method for the Option object
pp_diagram(my_option, price = 75)
In put option, there are two cases:
At \(S_{T} > \$22\): The writer can gain $2.5
At \(S_{T} \leq \$22\): The writer can losses:
Hence, the maximum loss of writer is $19.5
In call option, there are two cases:
At \(S_{T} \leq \$30\): The buyer losses $4.75
At \(S_{T} > K\): The buyer can loss:
Hence, The maximum losses for the buyer is $4.75
Assume that an American put option with time to expiry 1 year is worth $2, while the otherwise identical put option but time to expiry 2 years is worth $1. What should you do to earn at least $1000 guaranteed profit?
Option 1: Put option with time to expiry 1 year: $2 (strike price K)
Option 2: Put option with time to expiry 2 year: $1 (strie price K)
We have to sell 1000 option 1 and buy 1000 option 2 to obtain $1000:
At time t, there are two cases: (\(0\leq t \leq 1\))
If \(S_{t} < K\): buyer exercises the option and obtain \(\$(K - S_{t})\)
If \(S_{t} \geq K\): buyer does not exercises the option and obtain nothing
At time \(t_{1}\), there are two cases: (\(t \leq t_{1} \leq T\))
Case 1: Options holder exercise his/her right:
\(S_{t_{1}} >K\): we must buy the stock with price K then sell it to the market with price \(S_{t_{1}}\) and obtain \(\$(S_{t_{1}} - K)\) profit
\(S_{t_{1}} \leq K\): we must buy the stock from option holder 1 with price K then sell the stock to the option writer 2 also with price K
Case 2: Option holder 1 do not exercise right during [t,T]: sell option 2 after 1 year
Using the no-arbitrage principle or the portfolio dominance principle to prove the followings:
The difference in the values of two otherwise identical options cannot be greater than the difference in their strike prices.
This statement can be proven using the no-arbitrage principle. If two otherwise identical options had different prices, it would create an arbitrage opportunity. For example, suppose there are two call options with the same expiration date and underlying asset, but with different strike prices. If the option with the higher strike price were priced lower than the other option, an investor could buy the cheaper option and simultaneously sell the more expensive one. They could then create a riskless profit by exercising the cheaper option and buying the underlying asset at the lower price, while simultaneously selling it at the higher price through the more expensive option. This profit would violate the no-arbitrage principle, which states that such riskless profits cannot exist. Therefore, the difference in the values of two otherwise identical options cannot be greater than the difference in their strike prices.
A call is never worth more than the stock price.
This statement can also be proven using the no-arbitrage principle. Suppose a call option were worth more than the stock price. Then an investor could buy the option, exercise it to purchase the underlying stock, and immediately sell the stock for a profit. This would create a riskless arbitrage opportunity, which violates the no-arbitrage principle. Therefore, a call option is never worth more than the stock price.
An American put is never worth more than the strike price.
This statement can be proven using the portfolio dominance principle. Consider two portfolios: Portfolio A consists of an American put option and cash equal to the strike price, while Portfolio B consists of cash equal to the option’s current value. At maturity, if the underlying asset’s price is below the strike price, Portfolio A will be worth the strike price (since the put option can be exercised to sell the underlying asset for the strike price), while Portfolio B will be worth the current value of the put option. If the underlying asset’s price is above the strike price, both portfolios will be worth the same amount (the cash in each portfolio). Therefore, since Portfolio A dominates Portfolio B regardless of the underlying asset’s price, the American put option cannot be worth more than the strike price.
A European put is never worth more than the present value of the strike price.
This statement can also be proven using the portfolio dominance principle. Consider two portfolios: Portfolio A consists of a European put option and cash equal to the present value of the strike price (discounted at the risk-free rate), while Portfolio B consists of cash equal to the option’s current value. At maturity, if the underlying asset’s price is below the strike price, Portfolio A will be worth the present value of the strike price minus the put option’s value (since the put option can be exercised to sell the underlying asset for the strike price), while Portfolio B will be worth the current value of the put option. If the underlying asset’s price is above the strike price, both portfolios will be worth the same amount (the cash in each portfolio). Therefore, since Portfolio A dominates Portfolio B regardless of the underlying asset’s price, the European put option cannot be worth more than the present value of the strike price.
The price of an option cannot be negative.
This statement also follows from the no-arbitrage principle. If the price of an option were negative, an investor could receive payment for taking on the obligation to buy or sell the underlying asset. This would create a riskless arbitrage opportunity, as the investor could immediately exercise the option and profit from the difference between the underlying asset’s market price and the agreed-upon price. This profit would violate the no-arbitrage principle, which states that such riskless profits cannot exist. Therefore, the price of an option cannot be negative.