Package 'optionstrat'

Title: Utilizes the Black-Scholes Option Pricing Model to Perform Strategic Option Analysis and Plot Option Strategies
Description: Utilizes the Black-Scholes-Merton option pricing model to calculate key option analytics and perform graphical analysis of various option strategies. Provides functions to calculate the option premium and option greeks of European-style options.
Authors: John T. Buynak [aut, cre]
Maintainer: John T. Buynak <[email protected]>
License: GPL-3
Version: 1.4.1
Built: 2024-10-31 21:09:14 UTC
Source: CRAN

Help Index


Call Delta

Description

Calculates the delta of the European- style call option

Usage

calldelta(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

The delta of an option can be defined as the rate of change of the option value given a $1 change in the underlying asset price.

Value

Returns the call delta

Examples

calldelta(100, 100, 0.20, (45/365), 0.02, 0.02)

Call Option Evaluation

Description

Creates a data.frame containing call option greeks; delta, gamma, vega, theta, rho and the call premium

Usage

calleval(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns a data.frame containing the option premium and greeks:

  • Premium

  • Delta

  • Gamma

  • Vega

  • Theta

  • Rho

Author(s)

John T. Buynak

Examples

calleval(100, 100, 0.20, (45/365), 0.02, 0.02)

Call Option Greek

Description

Computes the selected option greek, including premium

Usage

callgreek(greek = c("delta", "gamma", "theta", "vega", "rho", "premium"),
  s, x, sigma, t, r, d = 0)

Arguments

greek

String value, desired option greek to return

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns the desired option greek, including premium

Examples

callgreek("delta", 100, 100, 0.20, (45/365), 0.02, 0.02)
callgreek("gamma", 100, 100, 0.20, (45/365), 0.02, 0.02)

Call Premium

Description

Calculates the premium of a European-style call option using the Black-Scholes option pricing model

Usage

callpremium(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns the value of the call option

Examples

callpremium(100, 100, 0.20, (45/365), 0.02, 0.02)

Call Rho

Description

Calculates the rho of the European- style call option

Usage

callrho(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

Rho measures the change in the option's value given a 1

Value

Returns the call rho

Examples

callrho(100, 100, 0.20, (45/365), 0.02, 0.02)

Call Theta

Description

Calculates the theta of the European- style call option

Usage

calltheta(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

Theta is the "time-decay" of the option value measured as a daily value

Value

Returns the call theta

Examples

calltheta(100, 100, 0.20, (45/365), 0.02, 0.02)

Double Vertical Spread Analytics

Description

Calculates the key analytics of a Double Vertical Credit Spread

Usage

dv(s, x1, x2, x3, x4, t, r, sigma, sigma2 = sigma, sigma3 = sigma,
  sigma4 = sigma, vol = sigma, d = 0)

Arguments

s

Spot price of the underlying asset

x1

Strike price of the lower strike (long) put option

x2

Strike price of the higher strike (short) put option

x3

Strike price of the lower strike (short) call option

x4

Strike price of the higher strike (long) call option

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Implied volatility of the lower strike (long) put option (annualized)

sigma2

Implied volatility of the higher strike (short) put option (annualized)

sigma3

Implied volatility of the lower strike (short) call option (annualized)

sigma4

Implied volatility of the higher strike (long) call option (annualized)

vol

Manual over-ride for the volatility of the underlying asset (annualized)

d

Annual continuously compounded dividend yield

Value

Returns a data.frame

Examples

dv(s = 100, x1 = 90, x2 = 95, x3 = 105, x4 = 110, t = 0.08, r = 0.02, sigma = 0.2, vol = 0.3)

Implied Volatility Calculation

Description

Computes the implied volatility of an option, either a call or put, given the option premium and key parameters

Usage

iv.calc(type, price, s, x, t, r, d = 0)

Arguments

type

String argument, either "call" or "put"

price

Current price of the option

s

Spot price of the underlying asset

x

Strike Price of the underlying asset

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

d

Annual continuously compounded dividend yield

Value

Returns a single option's implied volatility

Examples

iv.calc(type = "call", price = 2.93, s = 100, x = 100, t = (45/365), r = 0.02, d = 0)

Lambda

Description

Calculates the Lambda of the call or put option

Usage

lambda(type = "call", s, x, sigma, t, r, d = 0)

Arguments

type

Character string, either "call" or "put"

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

Lambda, or elasticity is the percentage change in the option valueper percentage change in the underlying price. It is a measure of leverage.

Value

Calculates the Lambda of the option contract

Examples

lambda(type = "put", s = 100, x = 100, sigma = 0.15, t = 45/365, r = 0.02)

Dual Option Evaluation

Description

Creates a data.frame containing both call and put option greeks; delta, gamma, vega, theta, rho and the option premium

Usage

opteval(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns a data.frame containing the call and put option premium and greeks:

  • Premium

  • Delta

  • Gamma

  • Vega

  • Theta

  • Rho

Examples

opteval(100, 100, 0.20, (45/365), 0.02, 0.02)

Option Gamma

Description

Calculates the gamma of a European- style call and put option

Usage

optiongamma(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

Gamma is the rate of change of the option's delta given a $1 change in the underlying asset.

Value

Returns the option gamma

Examples

optiongamma(100, 100, 0.20, (45/365), 0.02, 0.02)

Option Vega

Description

Calculates the vega of a European- style call and put option

Usage

optionvega(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use r.cont

d

Annual continuously-compounded dividend yield, use r.cont

Details

Vega measures the change in the option's value given a 1

Value

Returns the option vega

Examples

optionvega(100, 100, 0.20, (45/365), 0.02, 0.02)

Plot Bear Call Spread

Description

Plot a bear call spread (credit spread)

Usage

plotbearcall(s, x1, x2, t, r, sigma, sigma2 = sigma, d = 0,
  ll = 0.75, ul = 1.25, xlab = "spot", ylab = "Profit/Loss",
  main = "Bear Call Spread", ...)

Arguments

s

Spot price of the underlying asset

x1

Lower-strike option price (short option)

x2

Higher-strike option price (long option)

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Annualized implied volatility of the lower-strike option

sigma2

Annualized implied volatility of the higher-strike option

d

Annual continuously compounded risk-free rate

ll

Lower-limit of the plot, set as (desired price/spot)

ul

Upper-limit of the plot, set as (desired price/spot)

xlab

X-Axis Label

ylab

Y-Axis Label

main

Title of the plot

...

Additional plot parameters

Value

Returns a plot of a vertical call spread (credit spread). Black line: The profit(loss) at expiration. Red line: The profit(loss) at (1/2) time "t" ~ half-way to expiration. Blue line: The profit(loss) at inception.

Author(s)

John T. Buynak

Examples

plotbearcall(s= 100, x1 = 95, x2 = 105, t = (45/365), r = 0.02,
sigma = 0.20, sigma2 = 0.20, d = 0, ll = 0.75, ul = 1.25)

Plot Bear Put Spread

Description

Plot a bear put spread (debit spread)

Usage

plotbearput(s, x1, x2, t, r, sigma, sigma2 = sigma, d = 0, ll = 0.75,
  ul = 1.25, xlab = "spot", ylab = "Profit/Loss",
  main = "Bear Put Spread", ...)

Arguments

s

Spot price of the underlying asset

x1

Lower-strike option price (short option)

x2

Higher-strike option price (long option)

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Annualized implied volatility of the lower-strike option

sigma2

Annualized implied volatility of the higher-strike option

d

Annual continuously compounded risk-free rate

ll

Lower-limit of the plot, set as (desired price/spot)

ul

Upper-limit of the plot, set as (desired price/spot)

xlab

X-Axis Label

ylab

Y-Axis Label

main

Title of the plot

...

Additional plot parameters

Value

Returns a plot of a vertical put spread (debit spread). Black line: The profit(loss) at expiration. Red line: The profit(loss) at (1/2) time "t" ~ half-way to expiration. Blue line: The profit(loss) at inception.

Author(s)

John T. Buynak

Examples

plotbearput(s= 100, x1 = 95, x2 = 105, t = (45/365), r = 0.02,
sigma = 0.20, sigma2 = 0.20, d = 0, ll = 0.75, ul = 1.25)

Plot Bull Call Spread

Description

Plot a bull call spread (debit spread)

Usage

plotbullcall(s, x1, x2, t, r, sigma, sigma2 = sigma, d = 0,
  ll = 0.75, ul = 1.25, xlab = "spot", ylab = "profit/loss",
  main = "Bull Call Spread", ...)

Arguments

s

Spot price of the underlying asset

x1

Lower-strike option price (long option)

x2

Higher-strike option price (short option)

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Annualized implied volatility of the lower-strike option

sigma2

Annualized implied volatility of the higher-strike option

d

Annual continuously compounded risk-free rate

ll

Lower-limit of the plot, set as (desired price/spot)

ul

Upper-limit of the plot, set as (desired price/spot)

xlab

X-Axis Label

ylab

Y-Axis Label

main

Title of the plot

...

Additional plot parameters

Value

Returns a plot of a vertical call spread (debit spread). Black line: The profit(loss) at expiration. Red line: The profit(loss) at (1/2) time "t" ~ half-way to expiration. Blue line: The profit(loss) at inception.

Author(s)

John T. Buynak

Examples

plotbullcall(s= 100, x1 = 95, x2 = 105, t = (45/365), r = 0.02,
sigma = 0.20, sigma2 = 0.20, d = 0, ll = 0.75, ul = 1.25)

Plot Bull Put Spread

Description

Plot a bull put spread (credit spread)

Usage

plotbullput(s, x1, x2, t, r, d = 0, sigma, sigma2 = sigma, ll = 0.75,
  ul = 1.25, xlab = "spot", ylab = "Profit/Loss",
  main = "Bull Put Spread", ...)

Arguments

s

Spot price of the underlying asset

x1

Lower-strike option price (long option)

x2

Higher-strike option price (short option)

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

d

Annual continuously compounded risk-free rate

sigma

Annualized implied volatility of the lower-strike option

sigma2

Annualized implied volatility of the higher-strike option

ll

Lower-limit of the plot, set as (desired price/spot)

ul

Upper-limit of the plot, set as (desired price/spot)

xlab

X-Axis Label

ylab

Y-Axis Label

main

Title of the plot

...

Additional plot parameters

Value

Returns a plot of a vertical put spread (credit spread). Black line: The profit(loss) at expiration. Red line: The profit(loss) at (1/2) time "t" ~ half-way to expiration. Blue line: The profit(loss) at inception.

Author(s)

John T. Buynak

Examples

plotbullput(s= 100, x1 = 95, x2 = 105, t = (45/365), r = 0.02,
sigma = 0.20, sigma2 = 0.20, d = 0, ll = 0.75, ul = 1.25)

Plot Double Vertical Spread

Description

Plot a double vertical spread (credit spread)

Usage

plotdv(s, x1, x2, x3, x4, t, r, sigma, sigma2 = sigma, sigma3 = sigma,
  sigma4 = sigma, d = 0, ll = 0.75, ul = 1.25, xlab = "spot",
  ylab = "Profit/Loss", main = "Double Vertical Spread", ...)

Arguments

s

Spot price of the underlying asset

x1

Lower-strike put option price (long option)

x2

Higher-strike put option price (short option)

x3

Lower-strike call option price (short option)

x4

Higher-strike call option price (long option)

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Annualized implied volatility of the lower-strike put option

sigma2

Annualized implied volatility of the higher-strike put option

sigma3

Annualized implied volatility of the lower-strike call option

sigma4

Annualized implied volatility of the higher-strike call option

d

Annual continuously compounded risk-free rate

ll

Lower-limit of the plot, set as (desired price/spot)

ul

Upper-limit of the plot, set as (desired price/spot)

xlab

X-Axis Label

ylab

Y-Axis Label

main

Title of the plot

...

Additional plot parameters

Details

The double vertical spread consists of a credit put spread and a credit debit spread.

Value

Returns a plot of a double vertical spread (credit spread). Black line: The profit(loss) at expiration. Red line: The profit(loss) at (1/2) time "t" ~ half-way to expiration. Blue line: The profit(loss) at inception.

Author(s)

John T. Buynak

Examples

plotdv(s= 100, x1 = 90, x2 = 95, x3 = 105, x4 = 110, t = (45/365), r = 0.02, sigma = 0.20)

Plot Custom Vertical Spread

Description

Plot Custom Vertical Spread

Usage

plotvertical(options = c("call", "put"), s, x1, x2, t, r, sigma,
  sigma2 = sigma, d = 0, ll = 0.75, ul = 1.25, xlab = "spot",
  ylab = "profit/loss", main = "Vertical Spread", ...)

Arguments

options

String argument, either "call" or "put"

s

Spot price of the underlying asset

x1

Short strike (either higher or lower)

x2

Long strike (either higher or lower)

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Annualized implied volatility of the short option

sigma2

Annualized implied volatility of the long option

d

Annual continuously compounded dividend yield

ll

Lower-limit of the plot, set as (desired price/spot)

ul

Upper-limit of the plot, set as (desired price/spot)

xlab

X-Axis Label

ylab

Y-Axis Label

main

Title of the plot

...

Additional plot parameters

Value

Returns a plot of a custom vertical spread. Black line: The profit(loss) at expiration. Red line: The profit(loss) at (1/2) time "t" ~ half-way to expiration. Blue line: The profit(loss) at inception.

Author(s)

John T. Buynak

Examples

plotvertical("call", 100, 90, 110, (45/365), 0.02, 0.20)

Probability Above

Description

Calculates the probability of the underlying asset value remaining above a price level in a designated time frame, given the daily standard devaiation of the underlying returns.

Usage

prob.above(spot, lower, mean = 0, asd = 0, dsd = 0, dte = 0, p,
  quantile = FALSE, tradedays = 262)

Arguments

spot

Current price of the underlying asset

lower

Lower price of the range

mean

The average daily price movement, default = 0

asd

Annualized standard deviation of the underlying returns

dsd

Daily standard deviation of the underlying returns (Annual vol/sqrt(256)), used as an alternative to the asd parameter in conjuction with the dte parameter

dte

Days until expiration, designated time frame

p

Designated probability

quantile

Logical. If True, calculates the price the asset will remain above, given the designated probability

tradedays

Number of trade days in a year, default = 262

Details

This function has two separate possible operations: 1. Calculates the probability of the underlying asset value remaining above a price level in a designated time frame, given the daily standard devaiation of the underlying returns. 2. Calculates the price the asset will remain above, given the designated probability

Value

Returns a probability (if quantile = FALSE), Returns a data.frame (if quantile = TRUE)

Examples

prob.above(spot = 100, lower = 110, mean = 0, dsd = 0.01, dte = 45)
prob.above(spot = 100, mean = 0, dsd = 0.01, dte = 45, p = 0.75, quantile = TRUE)

Probability Below

Description

Calculates the probability of the underlying asset value remaining below a price level in a designated time frame, given the daily standard devaiation of the underlying returns.

Usage

prob.below(spot, upper, mean = 0, asd = 0, dsd = 0, dte = 0, p,
  quantile = FALSE, tradedays = 262)

Arguments

spot

Current price of the underlying asset

upper

Upper price of the range

mean

The average daily price movement, default = 0

asd

Annualized standard deviation of the underlying returns

dsd

Daily standard deviation of the underlying returns (Annual vol/sqrt(256)), used as an alternative to the asd parameter in conjuction with the dte parameter

dte

Days until expiration, designated time frame

p

Designated probability

quantile

Logical. If True, calculates the price the asset will remain below, given the designated probability

tradedays

Number of trade days in a year, default = 262

Details

This function has two separate possible operations: 1. Calculates the probability of the underlying asset value remaining below a price level in a designated time frame, given the daily standard devaiation of the underlying returns. 2. Calculates the price the asset will remain below, given the designated probability

Value

Returns a probability (if quantile = FALSE), Returns a data.frame (if quantile = TRUE)

Examples

prob.below(spot = 100, upper = 110, mean = 0, dsd = 0.01, dte = 45)
prob.below(spot = 100, mean = 0, dsd = 0.01, dte = 45, p = 0.75, quantile = TRUE)

Probability Between

Description

Calculates the probability of the underlying asset value falling between two prices in a designated time frame, given the daily standard devaiation of the underlying returns.

Usage

prob.btwn(spot, lower, upper, asd = 0, dsd = 0, dte = 0, mean = 0,
  p, quantile = FALSE, tradedays = 262)

Arguments

spot

Current price of the underlying asset

lower

Lower price of the range

upper

Upper price of the range

asd

Annualized standard deviation of the underlying returns

dsd

Daily standard deviation of the underlying returns (Annual vol/sqrt(256)), used as an alternative to the asd parameter in conjuction with the dte parameter

dte

Days until expiration, designated time frame

mean

The average daily price movement, default = 0

p

Designated probability

quantile

Logical. If True, calculates the probable price range

tradedays

Number of trade days in a year, default = 262

Details

This function has two separate possible operations: 1. Calculates the probability of the underlying asset value falling between two prices in a designated time frame, given the daily standard devaiation of the underlying returns. 2. Calculates the probable price range, given a set probability

Value

Returns a probability (if quantile = FALSE), Returns a data.frame (if quantile = TRUE)

Examples

prob.btwn(spot = 100, lower = 90, upper = 110, mean = 0, dsd = 0.01, dte = 45)
prob.btwn(spot = 100, mean = 0, dsd = 0.01, dte = 45, p = 0.75, quantile = TRUE)

Put Delta

Description

Calculates the delta of the European- style put option

Usage

putdelta(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

The delta of an option can be defined as the rate of change of the option value given a $1 change in the underlying asset price.

Value

Returns the put delta

Examples

putdelta(100, 0.20, (45/365), 0.02, 0.02)

Put Option Evaluation

Description

Creates a data.frame containing put option greeks; delta, gamma, vega, theta, rho and the putpremium

Usage

puteval(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns a data.frame containing the option premium and greeks:

  • Premium

  • Delta

  • Gamma

  • Vega

  • Theta

  • Rho

Author(s)

John T. Buynak

Examples

puteval(100, 100, 0.20, (45/365), 0.02, 0.02)

Put Option Greek

Description

Computes the selected option greek, including premium

Usage

putgreek(greek = c("delta", "gamma", "theta", "vega", "rho", "premium"),
  s, x, sigma, t, r, d = 0)

Arguments

greek

String value, desired option greek to return

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns the dired option greek, including premium

Examples

putgreek("vega", 100, 100, 0.20, (45/365), 0.02, 0.02)

Put Premium

Description

Calculates the premium of a European-style put option using the Black-Scholes option pricing model

Usage

putpremium(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Value

Returns the value of the put option

Examples

putpremium(100, 100, 0.20, (45/365), 0.02, 0.02)

Put Rho

Description

Calculates the rho of the European- style put option

Usage

putrho(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

Rho measures the change in the option's value given a 1

Value

Returns the put rho

Examples

putrho(100, 100, 0.20, (45/365), 0.02, 0.02)

Put Theta

Description

Calculates the theta of the European- style put option

Usage

puttheta(s, x, sigma, t, r, d = 0)

Arguments

s

Spot price of the underlying asset

x

Strike price of the option

sigma

Implied volatility of the underlying asset price, defined as the annualized standard deviation of the asset returns

t

Time to maturity in years

r

Annual continuously-compounded risk-free rate, use the function r.cont

d

Annual continuously-compounded dividend yield, use the function r.cont

Details

Theta is the "time-decay" of the option value measured as a daily value.

Value

Returns the put theta

Examples

puttheta(100, 100, 0.20, (45/365), 0.02, 0.02)

Continuously Compounded Rate

Description

Convert a given nominal rate to a continuously compounded rate

Usage

r.cont(r, n)

Arguments

r

nominal rate

n

number of times compounded each year

Value

Returns a continuously compounded rate

Examples

r.cont(0.12, 2)

Time Difference

Description

Computes the difference in time between two dates

Usage

tdiff(date1, date2, period = c("days, years"))

Arguments

date1

Earlier date

date2

Later date

period

String value, either "days", or "years"

Value

Returns a numeric value

Examples

tdiff("2018-01-01", "2018-06-30", "days")

Vertical Spread Analytics

Description

Calculates the key analytics of a vertical spread

Usage

vertical(options = c("call", "put"), s, x1, x2, t, r, sigma,
  sigma2 = sigma, vol = sigma, d = 0)

Arguments

options

Character string. Either "call", or "put"

s

Spot price of the underlying asset

x1

Strike price of the short option

x2

Strike price of the long option

t

Time to expiration in years

r

Annual continuously compounded risk-free rate

sigma

Implied volatility of the short option (annualized)

sigma2

Implied volatility of the long option (annualized)

vol

Manual over-ride for the volatility of the underlying asset (annualized)

d

Annual continuously compounded dividend yield

Value

Returns a data.frame

Examples

vertical("call", s = 100, x1 = 90, x2 = 110, t = (45/365), r =  0.025, sigma = 0.20, vol = 0.25)