Show TOC

 European Barrier Options (OTC) Locate this document in the navigation structure

Use

European barrier call and put options are valued using the Rubinstein process. Four circumstances can arise:

  • up&in

  • up&out

  • down&in

  • down&out

A rebate can also be paid. This is a fixed amount paid if the option cannot be exercised due to reaching or not reaching the barrier. For an up & out option, a fixed amount is paid as soon as the price reaches or exceeds the up & out point. For a down & in option, payment is made if the price does not reach the in-point during the term.

Integration / Calculation Basis

The price calculator for European barrier options is called up with the following parameters:

Term:

Remainder of the option term in days

Dom-rate:

Interest rate 1 as a percentage

For-rate:

Interest rate 2 as a percentage

Rebate:

Rebate

Rebate sign:

+/- sign of the rebate

Spot:

Spot

Strike:

Strike

Barrier:

Barriers

Type UL:

Type of underlying

Vola:

Volatility

In/Out:

In/out type indicator

Up/Down:

Upper/lower barrier indicator

Put/Call:

Put/call option indicator

Scope of Functions / Valuation

If the expiration date of the option is reached, the inner value of the option is displayed (the rebate amount).

If the option term has not expired, the price is calculated as follows:

lograte = log( 1 + opt_domestic_rate / 100)

logforeign = log( 1 + opt_foreign_rate / 100)

yearfrac = opt_days / 365

dom_disc = exp( lograte * -1 * yearfrac)

for_disc = exp( logforeign * -1 * yearfrac)

adjvola = opt_vola / 100

volaroot = adjvola * sqrt( yearfrac)

lambda = ( lograte - logforeign + ( adjvola 2 / 2)) / adjvola 2 )

eta = -1 for up-options

eta = 1 for down-options

phi = -1 for puts

phi = -1 for calls

N(x) = standard normal distribution of x

resign = + for positive rebates

- for negative rebates

The prices of the barrier options, depending on type, consist of a total of 6 addends.

res1:

ex = phi * ( ( log( spot / strike ) / volaroot ) +

( lambda * volaroot))

ex2 = ex - ( phi * volaroot ).

res1 = phi * spot * for_disc * N(ex) -

phi * strike * dom_disc * N(ex2).

res2:

ex = phi * ( ( log( spot / barrier ) / volaroot ) +

( lambda * volaroot))

ex2 = ex - ( phi * volaroot)

res2 = phi * spot * for_disc * N(ex) -

phi * strike * dom_disc * N(ex2)

res3:

yps = eta * ( ( log( barrier 2 / spot / strike ) /

volaroot) + ( lambda * volaroot))

yps2 = yps - ( eta * volaroot)

res3 = phi * spot * for_disc *

exp( log( barrier / spot) * 2 * lambda) * N(yps) -

phi * strike * dom_disc *

exp( log( barrier / spot) * ( 2 * lambda - 2)) * N(yps2)

res4:

yps = eta * ( ( log( barrier / spot /

volaroot) + ( lambda * volaroot))

yps2 = yps - ( eta * volaroot)

res3 = phi * spot * for_disc *

exp( log( barrier / spot) * 2 * lambda) * N(yps) -

phi * strike * dom_disc *

exp( log( barrier / spot) * ( 2 * lambda - 2)) * N(yps2)

res5 (rebate addend for in-options):

ex1 = eta * ( ( log( spot / barrier) /

volaroot) + ( ( lambda - 1) * volaroot)).

yps1 = eta * ( ( log( barrier / spot) /

volaroot) + ( ( lambda - 1) * volaroot))

if resign = '-'

res5 = -1 * rebate * dom_disc * ( N(ex1) -

exp( log( barrier / spot) * ( 2 * lambda - 2)) * N(yps1))

else.

res5 = rebate * dom_disc * ( N(ex1) -

exp( log( barrier / spot) * ( 2 * lambda - 2)) * N(yps1))

endif

res6 (rebate addend for out-options):

This component is the same as a one touch option (see the documentation for one touch options).

Term > 0

For valuation you must differentiate between 24 constellations:

In - option

Up - option

Put ( Up&In Put )

Spot < Barrier

Strike >= Barrier

Price = res1 - res2 + res4 + res5

Strike < Barrier

Price = res3 + res5

Spot > Barrier

Standard option, since already knocked in.

Call ( Up&In Call )

Spot < Barrier

Strike >= Barrier

Price = res1 + res5

Strike < Barrier

Price = res2 - res3 + res4 + res5

Spot > Barrier

Standard option, since already knocked in.

Down - option

Put ( Down&In Put )

Spot > Barrier

Strike >= Barrier

Price = res2 - res3 + res4 + res5

Strike < Barrier

Price = res1 + res5

Spot < Barrier

Standard option, since already knocked in.

Call ( Down&In Call )

Spot > Barrier

Strike >= Barrier

Price = res3 + res5

Strike < Barrier

Price = res1 - res2 + res4 + res5

Spot < Barrier

Standard option, since already knocked in.

Out - option

Up - option

Put ( Up&Out Put )

Spot < Barrier

Strike >= Barrier

Price = res2 - res4 + res6

Strike < Barrier

Price = res1 - res3 + res6

Spot > Barrier

Price = res6

Call ( Up&Out Call )

Spot < Barrier

Strike >= Barrier

Price = res6

Strike < Barrier

Price = res1 - res2 + res3 - res4 + res6

Spot > Barrier

Price = res6

Down - option

Put ( Down&Out Put )

Spot > Barrier

Strike >= Barrier

Price = res1 - res2 + res3 - res4 + res6

Strike < Barrier

Price = res6

Spot < Barrier

Price = res6

Call ( Down&Out Call )

Spot > Barrier

Strike >= Barrier

Price = res1 - res3 + res6

Strike < Barrier

Price = res2 - res4 + res6

Spot < Barrier

Price = res6