## Supported Energy Derivative Functions

### Asian Option

An Asian option is a path-dependent option with a payoff linked to the average value of the underlying asset during the life (or some part of the life) of the option. They are similar to lookback options in that there are two types of Asian options: fixed (average price option) and floating (average strike option). Fixed Asian options have a specified strike, while floating Asian options have a strike equal to the average value of the underlying asset over the life of the option.

There are four Asian option types, each with its own characteristic payoff formula:

• Fixed call (average price option): $\mathrm{max}\left(0,{S}_{av}-X\right)$

• Fixed put (average price option): $\mathrm{max}\left(0,X-{S}_{av}\right)$

• Floating call (average strike option): $\mathrm{max}\left(0,S-{S}_{av}\right)$

• Floating put (average strike option): $\mathrm{max}\left(0,{S}_{av}-S\right)$

where:

${S}_{av}$ is the average price of underlying asset.

$S$ is the price of the underlying asset.

$X$ is the strike price (applicable only to fixed Asian options).

${S}_{av}$ is defined using either a geometric or an arithmetic average.

The following functions support Asian options.

Function

Purpose

`asianbyls`

Price European or American Asian options using the Longstaff-Schwartz model.

`asiansensbyls`

Calculate prices and sensitivities of European or American Asian options using the Longstaff-Schwartz model.

`asianbykv`

Price European geometric Asian options using the Kemna Vorst model.

`asiansensbykv`

Calculate prices and sensitivities of European geometric Asian options using the Kemna Vorst model.

`asianbylevy`

Price European arithmetic Asian options using the Levy model.

`asiansensbylevy`

Calculate prices and sensitivities of European arithmetic Asian options using the Levy model.

`asianbyhhm`

Calculate prices of European discrete arithmetic fixed Asian options using the Haug, Haug, Margrabe model.

`asiansensbyhhm`

Calculate prices and sensitivities of European discrete arithmetic fixed Asian options using the Haug, Haug, Margrabe model

`asianbytw`

Calculate prices of European arithmetic fixed Asian options using the Turnbull Wakeman model.

`asiansensbytw`

Calculate prices and sensitivities of European arithmetic fixed Asian options using the Turnbull Wakeman model.

`asianbycrr`

Price an Asian option from a Cox-Ross-Rubinstein binomial tree.

`asianbyeqp`

Price an Asian option from an Equal Probabilities binomial tree.

`asianbyitt`

Price an Asian option using an implied trinomial tree (ITT).

`asianbystt`

Price an Asian option using a standard trinomial tree.

`instasian`

Construct an Asian option.

### Barrier Option

A barrier option is similar to a vanilla put or call option, but its life either begins or ends when the price of the underlying asset passes a predetermined barrier value. There are four types of barrier options.

#### Up Knock-In

This option becomes effective when the price of the underlying asset passes above a barrier that is above the initial asset price. Once the barrier has knocked in, it will not knock out even if the price of the underlying instrument moves below the barrier again.

#### Up Knock-Out

This option terminates when the price of the underlying asset passes above a barrier that is above the initial stock price. Once the barrier has knocked out, it will not knock in even if the price of the underlying instrument moves below the barrier again.

#### Down Knock-In

This option becomes effective when the price of the underlying asset passes below a barrier that is below the initial stock price. Once the barrier has knocked in, it will not knock out even if the price of the underlying instrument moves above the barrier again.

#### Down Knock-Out

This option terminates when the price of the underlying asset passes below a barrier that is below the initial stock price. Once the barrier has knocked out, it will not knock in even if the price of the underlying instrument moves above the barrier again.

#### Rebates

If a barrier option fails to exercise, the seller may pay a rebate to the buyer of the option. Knock-outs may pay a rebate when they are knocked out, and knock-ins may pay a rebate if they expire without ever knocking in.

The following functions support barrier options.

Function

Purpose

`barrierbyfd`

Price barrier option using finite difference method.

`barriersensbyfd`

Calculate barrier option price and sensitivities using finite difference method.

`barrierbyls`

Price European or American barrier options using Monte Carlo simulations.

`barrierbybls`

Price European barrier options using Black-Scholes option pricing model.

`barrierbycrr`

Price a barrier option from a Cox-Ross-Rubinstein binomial tree.

`barrierbyeqp`

Price a barrier option from an Equal Probabilities binomial tree.

`barrierbyitt`

Price a barrier option using an implied trinomial tree (ITT).

`barrierbystt`

Price a barrier options using a standard trinomial tree.

### Double Barrier Option

A double barrier option is similar to the standard single barrier option except that they have two barrier levels: a lower barrier (LB) and an upper barrier (UB). The payoff for a double barrier option depends on whether the underlying asset remains between the barrier levels during the life of the option. Double barrier options are less expensive than single barrier options as the probability of being knocked out is higher. Because of this, double barrier options allow investors to achieve reduction in the option premiums as and match an investor’s belief about the future movement of the underlying price process.

There are two types of double barrier options:

• Double Knock-in

This option becomes effective when the price of the underlying asset reaches one of the barriers. It gives the option holder, the right but not the obligation to buy or sell the underlying security at the strike price, if the underlying asset goes above or below the barrier levels during the life of the option.

• Double Knock-out

This option gives the option holder, the right but not the obligation to buy or sell the underlying security at the strike price, as long as the underlying asset remains between the barrier levels during the life of the option. This option terminates when the price of the underlying asset passes one of the barriers.

The following functions support double barrier options.

Function

Purpose

`dblbarrierbybls`

Price European double barrier options using the Black-Scholes option pricing model.

`dblbarriersensbybls`

Calculate the price and sensitivities for a European double barrier options using the Black-Scholes option pricing model.

`dblbarrierbyfd`

Price double barrier option prices using the finite difference method.

`dblbarriersensbyfd`

Calculate the price and sensitivities for a double barrier option using the finite difference method.

### Vanilla Option

A vanilla option is a category of options that includes only the most standard components. A vanilla option has an expiration date and straightforward strike price. American-style options and European-style options are both categorized as vanilla options.

The payoff for a vanilla option is as follows:

• For a call: $\mathrm{max}\left(St-K,0\right)$

• For a put: $\mathrm{max}\left(K-St,0\right)$

where:

St is the price of the underlying asset at time t.

K is the strike price.

The following functions support specifying or pricing a vanilla option.

Function

Purpose

`optstockbyls`

Price European, Bermudan, or American vanilla options using the Longstaff-Schwartz model.

`optstocksensbyls`

Calculate European, Bermudan, or American vanilla option prices and sensitivities using the Longstaff-Schwartz model.

`optstockbyfd`

Calculate vanilla option prices using finite difference method.

`optstocksensbyfd`

Calculate vanilla option prices and sensitivities using finite difference method.

`optstockbybaw`

Calculate American options prices using Barone-Adesi and Whaley option pricing model.

`optstocksensbybaw`

Calculate American options prices and sensitivities using Barone-Adesi and Whaley option pricing model.

`optstockbyrgw`

Calculate American call option prices using Roll-Geske-Whaley option pricing model.

`optstocksensbyrgw`

Calculate American call option prices or sensitivities using Roll-Geske-Whaley option pricing model.

`optByLocalVolFD`

Calculate vanilla option price by local volatility model, using finite differences.

`optstockbybjs`

Price American options using Bjerksund-Stensland 2002 option pricing model.

`optstocksensbybjs`

Determine American option prices or sensitivities using Bjerksund-Stensland 2002 option pricing model.

`optSensByLocalVolFD`

Calculate vanilla option price or sensitivities by local volatility model, using finite differences.

`optByHestonFD`

Calculate vanilla option price by Heston model using finite differences.

`optSensByHestonFD`

Calculate vanilla option price and sensitivities by Heston model using finite differences.

`optByBatesFD`

Calculates vanilla European option price by Bates model using finite differences.

`optSensByBatesFD`

Calculates vanilla European option price and sensitivities by Bates model using finite differences.

`optByMertonFD`

Calculates vanilla European option price by Merton76 model using finite differences.

`optSensByMertonFD`

Calculates vanilla European option price and sensitivities by Merton76 model using finite differences.

`optByBatesFFT`

Calculate option price by Bates model using FFT and FRFT.

`optByHestonFFT`

Calculate option price by Heston model using FFT and FRFT.

`optByMertonFFT`

Calculate option price by Merton76 model using FFT and FRFT.

`optstockbycrr`

Price an option from a Cox-Ross-Rubinstein binomial tree.

`optstockbyeqp`

Price an option from an Equal Probabilities binomial tree.

`optstockbyitt`

Price an option using an implied trinomial tree (ITT).

`optstockbystt`

Price an option using a standard trinomial tree.

A spread option is an option written on the difference of two underlying assets. For example, a European call on the difference of two assets X1 and X2 would have the following pay off at maturity:

`$\mathrm{max}\left(X1-X2-K,0\right)$`

where:

K is the strike price.

The following functions support spread options.

Function

Purpose

`spreadbykirk`

Price European spread options using the Kirk pricing model.

`spreadsensbykirk`

Calculate European spread option prices and sensitivities using the Kirk pricing model.

`spreadbybjs`

Price European spread options using the Bjerksund-Stensland pricing model.

`spreadsensbybjs`

Calculate European spread option prices and sensitivities using the Bjerksund-Stensland pricing model.

`spreadbyfd`

Price European or American spread options using the Alternate Direction Implicit (ADI) and Crank-Nicolson finite difference methods.

`spreadsensbyfd`

Calculate price and sensitivities of European or American spread options using the Alternate Direction Implicit (ADI) and Crank-Nicolson finite difference methods.

`spreadbyls`

Price European or American spread options using Monte Carlo simulations.

`spreadsensbyls`

Calculate price and sensitivities for European or American spread options using Monte Carlo simulations.

### Lookback Option

A lookback option is a path-dependent option based on the maximum or minimum value the underlying asset (e.g. electricity, stock) achieves during the entire life of the option. Basically the holder of the option can ‘look back’ over time to determine the payoff. This type of option provides price protection over a selected period, reduces uncertainties with the timing of market entry, moderates the need for the ongoing management, and therefore, is usually more expensive than vanilla options.

Lookback call options give the holder the right to buy the underlying asset at the lowest price. Lookback put options give the right to sell the underlying asset at the highest price.

Financial Instruments Toolbox™ software supports two types of lookback options: fixed and floating. The difference is related to how the strike price is set in the contract. Fixed lookback options have a specified strike price and the option pays out the maximum of the difference between the highest (lowest) observed price of the underlying during the life of the option and the strike. Floating lookback options have a strike price determined at maturity, and it is set at the lowest (highest) price of the underlying reached during the life of the option. This means that for a floating strike lookback call (put), the holder has the right to buy (sell) the underlying asset at its lowest (highest) price observed during the life of the option. So, there are a total of four lookback option types, each with its own characteristic payoff formula:

• Fixed call: $\mathrm{max}\left(0,{S}_{\mathrm{max}}-X\right)$

• Fixed put: $\mathrm{max}\left(0,X-{S}_{\mathrm{min}}\right)$

• Floating call: $\mathrm{max}\left(0,S-{S}_{\mathrm{min}}\right)$

• Floating put: $\mathrm{max}\left(0,{S}_{\mathrm{max}}-S\right)$

where:

${S}_{\mathrm{max}}$ is the maximum price of underlying asset.

${S}_{\mathrm{min}}$ is the minimum price of underlying asset.

$S$ is the price of the underlying asset at maturity.

$X$ is the strike price.

The following functions support lookback options.

Function

Purpose

`lookbackbycvgsg`

Calculate prices of European lookback fixed and floating strike options using the Conze-Viswanathan and Goldman-Sosin-Gatto models.

`lookbacksensbycvgsg`

Calculate prices and sensitivities of European fixed and floating strike lookback options using the Conze-Viswanathan and Goldman-Sosin-Gatto models.

`lookbackbyls`

Calculate prices of lookback fixed and floating strike options using the Longstaff-Schwartz model.

`lookbacksensbyls`

Calculate prices and sensitivities of lookback fixed and floating strike options using the Longstaff-Schwartz model.

`lookbackbycrr`

Price a lookback option from a Cox-Ross-Rubinstein binomial tree.

`lookbackbyeqp`

Price a lookback option from an Equal Probabilities binomial tree.

`lookbackbyitt`

Price a lookback option using an implied trinomial tree (ITT).

`lookbackbystt`

Price a lookback option using a standard trinomial tree.

Lookback options and Asian options are instruments used in the electricity market to manage purchase timing risk. Electricity purchasers cover part of their expected electricity consumption on the forward market to avoid the volatility and limited liquidity of the spot market. Using Asian options as a hedging tool is a passive approach to solving the purchase timing problem. An Asian option instrument diminishes the wrong timing risk but it also reduces any potential benefit to the buyer from falling prices. On the other hand, lookback options allow the purchasers to buy electricity at the lowest price, but as mentioned before, this instrument is more expensive than Asian and vanilla options.

### Forwards Option

A forward option is a non-standardized contract between two parties to buy or to sell an asset at a specified future time at a price agreed upon today. The buyer of a forward option contract has the right to hold a particular forward position at a specific price any time before the option expires. The forward option seller holds the opposite forward position when the buyer exercises the option. A call option is the right to enter into a long forward position and a put option is the right to enter into a short forward position. A closely related contract is a futures contract. A forward is like a futures in that it specifies the exchange of goods for a specified price at a specified future date. The following table displays some of the characteristics of forward and futures contracts.

ForwardsFutures
Customized contractsStandardized contracts
Exposed to default riskClearing house reduces default risk
Mostly used for hedgingMostly used by hedgers and speculators
Settlement at the end of contract (no Margin required)Daily changes are settled day by day (Margin required)
Delivery usually takes placeDelivery usually never happens

The payoff for a forward option, where the value of a forward position at maturity depends on the relationship between the delivery price (K) and the underlying price (ST) at that time, is:

• For a long position: ${f}_{T}={S}_{T}-K$

• For a short position: ${f}_{T}=K-{S}_{T}$

The following functions support pricing a forwards option.

Function

Purpose

`optstockbyblk`

Price options on forwards using the Black option pricing model.

`optstocksensbyblk`

Determine option prices and sensitivities on forwards using the Black pricing model.

### Futures Option

A future option is a standardized contract between two parties to buy or sell a specified asset of standardized quantity and quality for a price agreed upon today (the futures price) with delivery and payment occurring at a specified future date, the delivery date. The contracts are negotiated at a futures exchange, which acts as an intermediary between the two parties. The party agreeing to buy the underlying asset in the future, the "buyer" of the contract, is said to be "long", and the party agreeing to sell the asset in the future, the "seller" of the contract, is said to be "short."

ForwardsFutures
Customized contractsStandardized contracts
Exposed to default riskClearing house reduces default risk
Mostly used for hedgingMostly used by hedgers and speculators
Settlement at the end of contract (no Margin required)Daily changes are settled day by day (Margin required)
Delivery usually takes placeDelivery usually never happens

A futures contract is the delivery of item J at time T and:

• There exists in the market a quoted price $F\left(t,T\right)$, which is known as the futures price at time t for delivery of J at time T.

• The price of entering a futures contract is equal to zero.

• During any time interval [t,s], the holder receives the amount $F\left(s,T\right)-F\left(t,T\right)$ (this reflects instantaneous marking to market).

• At time T, the holder pays $F\left(T,T\right)$ and is entitled to receive J. Note that $F\left(T,T\right)$ should be the spot price of J at time T.

The following functions support pricing a futures option.

Function

Purpose

`optstockbyblk`

Price options on futures using the Black option pricing model.

`optstocksensbyblk`

Determine option prices and sensitivities on futures using the Black pricing model.