Go to Deriscope's documentation start page

Payoff__Payoff_Type

Payoff Type refers to List of payoff types.
Each payoff type is designed to apply to one or more cash flows being paid in the context of a particular transaction.
Cash flows generally depend on the value realized by one or more well defined random variables.
Examples of such random variables are the price of a particular stock or the 10-year USD swap rate realized at some specific time, which should not be later than the time when the respective cash flow is paid.

As a demonstration consider the single cash flow that occurs at the expiry of a european
Stock Option.
In that case the cash flow depends on a single variable, which is the price of the underlying stock.
Knowledge of the value realized by this variable on the expiry time implies knowledge of the cash flow amount, provided the rules defining an option contract are known.

Generally speaking, each payoff type is the set of rules that define how the referenced random variables should be transformed into a cash flow amount according to the contract's specifications.

Note that in certain cases the actually paid amount might involve further transformations, which amounts to a series of payoffs, each applying on the result of the previous one.
Available Payoff Type types:
Asset Or Nothing
In the call case the payoff amount simply equals the referenced variable x, provided x exceeds some fixed strike K. Otherwise it equals 0.
In the put case the payoff equals x, provided x falls below K. Otherwise it equals 0.
The name Asset Or Nothing results from the typical case where x is the price of some asset - such as stock or currency -, in which case the current definition is equivalent to having the folowing two distinct outcomes (from the point of view of the long payoff holder):
Either getting the asset or getting nothing.

The formal definition is as follows:
x is transformed into x if εx > εK and 0 if εx <= εK where ε and K are constants defined in the contract specification.
Furthermore ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction
K may take any value and is usually referred to as "strike".
Cash Or Nothing
In the call case the payoff amount simply equals C, provided the referenced variable x exceeds some fixed strike K. Otherwise it equals 0.
In the put case the payoff equals C, provided x falls below K. Otherwise it equals 0.
The name Cash Or Nothing results from the fact that the current definition is equivalent to having the folowing two distinct outcomes (from the point of view of the long payoff holder):
Either getting the cash amount C or getting nothing.

The formal definition is as follows:
x is transformed into C if εx > εK and 0 if εx <= εK where ε and K are constants defined in the contract specification.
Furthermore ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction
K may take any value and is usually referred to as "strike".
Floating
In the call case the payoff equals the referenced variable x.
In the put case the payoff equals minus the referenced variable x.

The formal definition is as follows:
x is transformed into εx where ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction
Gap
This is similar to
Payoff::Payoff Type::Vanilla with the twist that there now exist two strikes K and K', whereby the first strike K sets the trigger and the second strike K' the payoff amount.
A payoff amount is only paid if the referenced variable x is above (call) or below (put) the triger level determined by the first strike K.
The exact amount of that payoff - in case it occurs - is unrelated to K, but solely depends on the second strike K'.
It equals x-K' if call and K'-x if put.

This payoff is equivalent to being a) long a Vanilla payoff at the first strike (same Call/Put type) and b) short a Cash Or Nothing payoff at the first strike (same Call/Put type) with cash payoff equal to the difference between the second and the first strike.
Warning: This payoff can be negative depending on the strikes.

The formal definition is as follows:
x is transformed into ε(x-K') if εx >= εK and 0 otherwise where ε, K and K' are constants defined in the contract specification.
Furthermore ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction
Percentage Strike
This is similar to
Payoff::Payoff Type::Vanilla with the twist that the strike K depends on the referenced variable x in the sense that it is defined to equal a certain percentage m of x.
m may take any value and is usually referred to as "moneyness".
The call payoff thus becomes max{ x-K, 0 } = max{ x-mx, 0 } = max{ x(1-m), 0 }.
In the usual case where x > 0, the above formula is further simplified as x(1-m) if m < 1 and 0 otherwise.

The put payoff is given by max{ x(m-1), 0 }.

Effectively this payoff behaves in reality more like the
Payoff::Payoff Type::Floating, albeit with a coefficient ε that may be any number between 0 and 1.

The formal definition is as follows:
x is transformed into x max{ ε(1-m) , 0 } where ε and m are constants defined in the contract specification.
Furthermore ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction
RSO
The name RSO derives from RiskScalingOptions.
The payoff is given by max{ ε(βx-λK¹⁻ᵅxᵅ) , 0 }, where β, λ, K, α are all constants.
It is further assumed that β >= 0, 0 <= α <= 1 and λ >= 0
Furthermore ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction

Defining the exercise price as the quantity K¹⁻ᵅxᵅ, the parameter α is an index of exercise price uncertainty.
As α tends to 0 the exercise price approaches the constant K

European options having this payoff can be priced using Model[Vanilla Option]::Pricing Method =
Model[Vanilla Option]::Pricing Method::BlenmanClark
SuperFund
This payoff depends on two strikes K and K' with K' > K, whereby the first strike K sets the lower trigger as well as the payoff amount, whereas the second strike K' sets the upper trigger only.
The payoff amount equals x/K and is paid only if x lies between K and K'.

Superfund sometimes is also called "Supershare", which can lead to ambiguity.
Within QuantLib the terms supershare and superfund are used consistently according to the definitions in Bloomberg OVX function's help pages.

This payoff is equivalent to being (1/lowerstrike) a) long (short) an Asset Or Nothing Call (Put) at the lower strike and b) short (long) an Asset Or Nothing Call (Put) at the higher strike.

The formal definition is as follows:
x is transformed into x/K if K <= x < K' and 0 otherwise where K and K' are constants defined in the contract specification.
SuperShare
This payoff depends on two strikes K and K' with K' > K, whereby the first strike K sets the lower trigger as well as the payoff amount, whereas the second strike K' sets the upper trigger only.
The payoff amount equals C and is paid only if x lies between K and K'.

Supershare sometimes is also called "Superfund", which can lead to ambiguity.
Within QuantLib the terms supershare and superfund are used consistently according to the definitions in Bloomberg OVX function's help pages.

The formal definition is as follows:
x is transformed into C if K <= x < K' and 0 otherwise where K and K' are constants defined in the contract specification.
Vanilla
In the call case the payoff equals the amount by which the referenced variable x exceeds some fixed strike K
The payoff is zero if x falls below K
In the put case, everything is reversed so that x must fall below K for a payoff to occur.

The formal definition is as follows:
x is transformed into max{ ε(x-K) , 0 } where ε and K are constants defined in the contract specification.
Furthermore ε can take only the values 1 or -1 and corresponds to a payoff attribute called
Payoff::Direction
K may take any value and is usually referred to as "strike".