Version pdf de ce document

Premia 14
Closed Formula Methods

   Routine cf_spm_nig.c
   Routine cf_hullwhite1d_zbputeuro.c
   Routine cf_hullwhite1d_zcbond.c
   Routine cf_hullwhite1d_payerswaption.c
   Routine cf_hullwhite1d_zbcalleuro.c
   Routine cf_hullwhite1d_floor.c
   Routine cf_hullwhite1d_receiverswaption.c
   Routine cf_hullwhite1d_cap.c
   Routine cf_libor_affine_cir1d_capfloor_fourier.c
   Routine cf_libor_affine_cir1d_swaption_fourier.c
   Routine cf_libor_affine_cir1d_capfloor_direct.c
   Routine cf_libor_affine_cir1d_swaption_direct.c
   Routine cf_carr_bns.c
   Routine cf_attari_bns.c
   Routine cf_callmax.c
   Routine cf_exchange.c
   Routine cf_putmin.c
   Routine cf_bharchiarella1d_zcbond.c
   Routine cf_cgmy_varianceswap.C
   Routine cf_rogersveraart2.c
   Routine cf_merhes_varianceswap.c
   Routine cf_carr_merhes.c
   Routine cf_attari_merhes.c
   Routine cf_put_merhes.c
   Routine cf_call_merhes.c
   Routine cf_swaptionhw2d.c
   Routine cf_caphw2d.c
   Routine cf_zcbondhw2d.c
   Routine cf_zbputeurohw2d.c
   Routine cf_floorhw2d.c
   Routine cf_zbcalleurohw2d.c
   Routine cf_attari_dps.c
   Routine cf_carr_dps.c
   Routine cf_jarrowyildirim1d_yyiis.C
   Routine cf_jarrowyildirim1d_iicaplet.C
   Routine cf_gaussianmapping_cds.C
   Routine cf_call_merton.c
   Routine cf_put_merton.c
   Routine cf_cirpp1d_zcbond.c
   Routine cf_cirpp1d_payerswaption.c
   Routine cf_cirpp1d_zbcalleuro.c
   Routine cf_cirpp1d_cap.c
   Routine cf_cirpp1d_receiverswaption.c
   Routine cf_cirpp1d_zbputeuro.c
   Routine cf_cirpp1d_floor.c
   Routine cf_hes_varianceswap.C
   Routine cf_attari_heston.c
   Routine cf_call_heston.C
   Routine cf_carr_heston.c
   Routine cf_put_heston.C
   Routine cf_libor_affine_gou1d_capfloor_fourier.c
   Routine cf_libor_affine_gou1d_swaption_fourier.c
   Routine cf_vasicek1d_cap.c
   Routine cf_vasicek1d_zcbond.c
   Routine cf_vasicek1d_floor.c
   Routine cf_vasicek1d_zbcalleuro.c
   Routine cf_vasicek1d_receiverswaption.c
   Routine cf_vasicek1d_zbputeuro.c
   Routine cf_vasicek1d_payerswaption.c
   Routine cf_rogersveraart1.c
   Routine cf_cir1d_zbcalleuro.c
   Routine cf_cir1d_zcbond.c
   Routine cf_cir1d_zbputeuro.c
   Routine cf_varianceswap_dhes.c
   Routine cf_carr_doubleheston.c
   Routine cf_callupout.c
   Routine cf_putdownout.c
   Routine cf_callupin.c
   Routine cf_putupout.c
   Routine cf_putdownin.c
   Routine cf_calldownin.c
   Routine cf_putupin.c
   Routine cf_calldownout.c
   Routine cf_call.c
   Routine cf_digit.c
   Routine cf_callspread.c
   Routine cf_put.c
   Routine cf_putin_kunitomoikeda.c
   Routine cf_callin_kunitomoikeda.c
   Routine cf_putout_kunitomoikeda.c
   Routine cf_callout_kunitomoikeda.c
   Routine cf_fixed_calllookback.c
   Routine cf_floating_putlookback.c
   Routine cf_floating_calllookback.c
   Routine cf_fixed_putlookback.c
   Routine cf_hullwhite1dgeneralized_receiverswaption.c
   Routine cf_hullwhite1dgeneralized_zbcalleuro.c
   Routine cf_hullwhite1dgeneralized_zbputeuro.c
   Routine cf_hullwhite1dgeneralized_floor.c
   Routine cf_hullwhite1dgeneralized_cap.c
   Routine cf_hullwhite1dgeneralized_payerswaption.c
   Routine cf_quadratic1d_zbputeuro.c
   Routine cf_quadratic1d_cap.c
   Routine cf_quadratic1d_zbcalleuro.c
   Routine cf_quadratic1d_floor.c
   Routine cf_quadratic1d_payerswaption.c
   Routine cf_quadratic1d_zcbond.c
   Routine cf_quadratic1d_receiverswaption.c

Contents

 1 The Black and Scholes model
 2 Standard European Options
  2.1 Call Options
  2.2 Put Options
  2.3 Call Spread Options
  2.4 Digit Options
 3 European Barrier Options
  3.1 Down-Out Call Options
  3.2 Down-Out Put Options
  3.3 Up-Out Call Options
  3.4 Up-Out Put Options
  3.5 Down-In Call Options
  3.6 Down-In Put Options
  3.7 Up-In Call Options
  3.8 Up-In Put Options
 4 Double Barrier European Option
  4.1 Knock-Out Call Options
  4.2 Knock-Out Put Options
  4.3 Knock-In Call Options
  4.4 Knock-In Put Options
 5 Lookback European Options
  5.1 Fixed Lookback Call Options
  5.2 Fixed Lookback Put Options
  5.3 Floating Lookback Call Options
  5.4 Floating Lookback Put Options
 6 Standard 2D European Options
  6.1 Call On the Maximum
  6.2 Put On the Minimum
  6.3 Exchange Options
  6.4 Best Of Option

1 The Black and Scholes model

Suppose the underlying asset price (St,t 0) evolves according to the Black and Scholes model with continuous yield δ, that is

dSs =  Ss((r - δ)ds + σdBs ),  St = x
From now on, we denote by
∙  T =  maturity  date  (T t)

∙  θ = T -  t

∙  b = r - δ
∙  K  = strike price
In the following, we state the closed form solutions for the price of options whose payoff is given by f(ST ), being f a suitable function, i.e. for the quantity
            [ -rθ         ]
F (t,x) = E  e   f(ST (x)) .

2 Standard European Options

We have the general version of the Black-Sholes Formula [4] to price European options on stocks paying a continuos dividend yieald. In this section, we set:

        ( x-)  (     σ2-)                 √ --
d  = log--K--+√--b +-2--θ     d  = d -  σ  θ
 1           σ  θ              2    1
and N as the cumulative normal distribution function:
          1  ∫ d
N (d) = √----    e- x2∕2dx.
          2π  -∞

2.1 Call Options

Payoff      CT =  (ST  - K )+
Price       C (t,x;K  ) = xe -δθN (d ) - Ke - rθN (d )
                                  1             2
            ∂C-(t,x;K-)    -δθ
Delta           ∂x      = e   N (d1)

  Routine cf_call.c
  

2.2 Put Options

Payoff      PT =  (K - ST )+
                            -rθ            - δθ
Price       P (t,x; K ) = Ke    N (- d2) - xe  N (- d1)
            ∂P (t,x)
Delta       -------- = - e-δθN (- d1)
               ∂x

 Routine cf_put.c
 

2.3 Call Spread Options

Payoff      CST  = (ST -  K1 )+ -  (ST  - K2 )+

Price       CS (t,x) = C (t,x : K1 ) - C (t,x;K2 )
            ∂CS  (t,x)   ∂C (t,x : K1 )  ∂C (t,x : K2 )
Delta       ---------- = --------------  -------------
                ∂x            ∂x              ∂x

  Routine cf_callspread.c
  

2.4 Digit Options

                   {
Payoff   :    CT =    K   if  ST K,
                      0   otherwise
                          - rθ
Price   :     C(t,x) = Ke    N (d1)
              ∂C (t,x)          e- d22∕2
Delta   :     -------- = e-rθK √--------
                ∂x               2π θσx

 Routine cf_digit.c
 

3 European Barrier Options

Barrier options are known as knock-out if the value of the option nullifies if the underlying asset price reaches a fixed barrier before the maturity date and knock-in if it does not. We use the names up-out and up-in call/put options, or down-out and down-in call/put options, to stress if the considered barrier is an upper or lower one. Reiner-Rubinstein [3] have developed formulas for pricing standard barrier options with cash rebate R.

We set here:

           -δθ               -rθ           √ --
∙  A =  ϕxe   N (ϕx1 ) - ϕKe    N (ϕx1  - ϕσ  θ)
           - δθ               -rθ            √ --
∙  B =  ϕxe   N (ϕx2 ) - ϕKe    N (ϕx2 - ϕσ   θ)        √ --
∙  C =  ϕx(L-)2(μ+1)e-δθN (ηy1) - ϕKe -rθ(L)2μN (ηy1 - ησ  θ)
           x                             x               √ --
∙  D =  ϕx( Lx)2(μ+1)e-δθN (ηy2) - ϕKe -rθ(Lx)2μN (ηy2 - ησ   θ)
              [           √ --                    √--]
∙  E =  Re- rθ N (ηx2 - ησ  θ) - (Lx)2μN (ηy2 - ησ  θ )
                                            √ --
∙  F =  R( Lx)μ+λN (ηz) + (Lx)μ-λN (ηz - 2 ηλσ  θ))
and
            -δθ
∙  dA  = ϕe   N (ϕx1 )
            -δθ           -δθn(x2)     k
∙  dB  = ϕe    N (ϕx2 ) + e   σ√ θ (1 - l)
          1    [L)2μ (  -δθL2             -rθ            √--
∙  dC  = x ϕ2μ  x-    xe   x2N (ηy1) - Ke    N (ηy1 - ησ  θ )-
      (  )2(μ+1)           ]
     ϕ  Lx-      e-bθN (ηy1)

∙  dD  = - 2μ ϕ[ L)2μ(se -δθL2N (ηy ) - Ke -rθN (ηy )×
              x  x          x2     2               2
         (         √ --   ( L)2μ+2 - δθ)              (L-)2μ+2  -δθ]
     ×N   ηy2 - ησ   θ - ϕ  x     e     N (ηy2) - ϕη  x      e    ×
           (     )
    × n(σy√2θ) 1 - kl
                      [           √ --            √- ]
∙  dE  = 2 Re-rθ(L)2μ  N (ηy2 - η σ θ)μ + ηn(ηy2√-σ-θ)
           x     x                            σ  θ
∙  dF  = - R-(L)μ+λ [(μ +  λ)N (ηz) + (μ -  λ)(L)2λ] - 2ηR (L)μ+λ-n(√z)-
           x  x                              x            x    xσ  θ
where
                             √ --                              √ --
∙  x  =  log(x√-∕K-)+  (1 + μ )σ  θ      x  = log(x√∕L-) + (1 + μ)σ  θ
    1      σ  θ                        2      σ  θ
              2                √ --                            √ --
∙  y1 = log(L√-∕xK-) + (1 + μ)σ  θ    y2 = log(L√-∕x) + (1 + μ)σ  θ
            σ  θ                             σ   θ
        log(L ∕x)      √ --
∙  z =  ---√-----+ λσ   θ
          σ  θ
             2                            ∘ --------
∙  μ =  b --σ-∕2-                     λ =   μ2 + 2r-
           σ2                                    σ2
and η,ϕ are suitable numbers belonging to {-1, 1} (see next sections for details).

Let

Mt,T  =  sup S τ    and     mt,T =   inf S τ
        t≤ τ≤T                       t≤ τ≤T

3.1 Down-Out Call Options

                        (
                        {  (ST - K )+  if   mt,TL,
Payoff           CT =   (
                           R           otherwise
                        ({  A - C +  F   if   KL
Price        C (t,x) =
                        (  B - D  + F   otherwise
                        (
            ∂C (t,x )    {  dA - dC  + dF   if  KL
Delta       --∂x----=   (
                           dB - dD  + dF   otherwise
and take
η =  1    ϕ =  1

 Routine cf_calldownout.c

3.2 Down-Out Put Options

                        (
                        {  (K -  ST)+   if   mt,TL,
Payoff           PT  =  (  R            otherwise
                        (
                        {  A - B  + C -  D + F   if  KL,
Price         P(t,x) =
                        (  F                     otherwise
                        (
            ∂P-(t,x)    {  dA -  dB + dC  - dD  + dF   if  KL,
Delta          ∂x    =  (  dF                          otherwise
and take
η = 1    ϕ =  - 1

 Routine cf_putdownout.c

 

3.3 Up-Out Call Options

                        (
                        {  (ST - K )+   if   Mt,T < L,
Payoff           CT  =  (
                           R            otherwise.
                        ({  F                     if  KL,
Price         C(t,x) =
                        (  A - B  + C -  D + F   otherwise
                        (
            ∂C (t,x)    {  dF                          if  KL,
Delta       ---∂x--- =  (
                           dA -  dB + dC  - dD  + dF   otherwise
and take
η = - 1    ϕ = 1

 Routine cf_callupout.c

3.4 Up-Out Put Options

                        (
                        {  (K - ST )+  if   Mt,T < L,
Payoff           PT =   (
                           R           otherwise.
                        ({  B - D  + F   if   KL,
Price        P (t,x) =
                        (  A - C +  F   otherwise
                        (
            ∂P (t,x )    {  dB - dD  + dF   if  KL,
Delta       --∂x----=   (
                           dA - dC  + dF   otherwise
and take
η = - 1    ϕ =  - 1

 Routine cf_putupout.c

3.5 Down-In Call Options

                        (
                        {  R           if   mt,TL,
Payoff           CT  =  (  (S  - K )   otherwise.
                        (    T      +
                        {  C + E            if   KL,
Price        C (t,x) =
                        (  A - B  + D +  E  otherwise
                        (
            ∂P-(t,x)    {  dC +  dE              if  KL,
Delta         ∂x     =  (  dA - dB  + dD  + dE   otherwise
and take
η =  1    ϕ =  1


 Routine cf_calldownin.c

 

3.6 Down-In Put Options

                        (
                        {  R           if   mt,TL,
Payoff           PT  =  (
                        (  (K -  ST)+  otherwise.
                        {  B - C  + D +  E  if   KL,
Price        P (t,x) =
                        (  A + E            otherwise
                        (
            ∂P-(t,x)    {  dB -  dC + dD  + dE   if  KL,
Delta         ∂x     =  (
                           dA + dE               otherwise
and take
η = 1    ϕ =  - 1

 Routine cf_putdownin.c

 

3.7 Up-In Call Options

                        (
                        {  R           if   Mt,T < L,
Payoff           CT  =  (
                        (  (ST - K )+  otherwise.
                        {  A + E            if   KL,
Price        P (t,x) =
                        (  B - C  + D +  E  otherwise
                        (
            ∂C-(t,x)    {  dA + dE               if  KL,
Delta         ∂x     =  (
                           dB -  dC + dD  + dE   otherwise
and take
η = - 1    ϕ = 1


  Routine cf_callupin.c

 

3.8 Up-In Put Options

                        (
                        {  R           if   Mt,T < L,
Payoff           PT  =  (
                        (  (K -  ST)+  otherwise.
                        {  A - B  + D +  E  if   KL,
Price        P (t,x) =
                        (  C + E            otherwise
                        (
            ∂C-(t,x)    {  dA -  dB + dD  + dE   if  KL,
Delta         ∂x     =  (
                           dC +  dE              otherwise
and take
η = - 1    ϕ =  - 1


 Routine cf_putupin.c

 

4 Double Barrier European Option

A double barrier option is knock-in or knock-out if the underlying price reaches or not a lower and/or an upper boundary prior to expiration. The exact value for double barrier call/put knock-out options is given by the Ikeda-Kunitomo formula [5], which allows to compute exactly the price when the boundaries suitably depend on the time variable t. More precisely, set

U (s) = U eδ1s    L (s) = Leδ2s
where the constants U,L,δ12in are such that L(s) < U(s), for every s [t,T]. The functions U(s) and L(s) play the role of upper and lower barrier respectively. δ1 and δ2 determine the curvature and the case of δ1 = 0 and δ2 = 0 corresponds to two flat boundaries.

The numerical studies suggest that in most cases it suffices to calculate the leading five terms of the series giving the price of the knock-out and knock-in double barrier call options.

Let τ stand for the first time at which the underlying asset price S reaches at least one barrier, i.e.

τ = inf{st;Ss ≤ L (s) or Ss ≥ U(s)}.
We define the following coefficients:
∙    μ  =  2b --δ2 --n-(δ1 --δ2)-+ 1
       1            σ2
            n(δ1 - δ2)
∙    μ2 =  2-----2----
                σ
            b --δ2 +-n-(δ1 --δ2)
∙    μ3 =  2        σ2         + 1

4.1 Knock-Out Call Options

                 (
                 {  (ST - K )+  if   τT
Payoff     CT  = (
                    0           otherwise
                           +∑ ∞  [(  n )μ1 (  )μ2 (               )
Price      C (t,x) = xe- δθ        U--      L-    N (d+1 ) - N (d+2 )
                          n=- ∞    Ln      x
                                 (  n+1) μ3 (               )]
                               -  L----     N (d+ ) - N (d+ )
                                   xU n         3        4
                            +∞  [(   n)μ1-2 (  )μ2 (               )
                  - Ke - rθ  ∑      U--       L-     N (d-) - N (d-)
                           n=-∞    Ln        x          1        2
                                 (      )                      ⌋
                                   Ln+1  μ3-2 (    -        - )
                               -   xU-n-       N (d3 ) - N (d4 ) ⌉
where F = Ueδ1θ and
                        (      2)                              (     2)
     log(xU 2n∕KL2n  ) +  b  σ2- θ         log(xU 2n∕F L2n) +  b  σ2- θ
d1 =  -------------√---------------   d 2 = --------------√--------------
                  σ  θ     (      )                     σ  θ     (      )
      log(L2n+2 ∕KxU  2n) +  b  σ2 θ        log(L2n+2∕F xU 2n) +  b  σ2 θ
d3 =  --------------√-----------2---- d 4 = ---------------√----------2----
                   σ  θ                                  σ  θ

 Routine cf_callout_kunitomoikeda.c

4.2 Knock-Out Put Options

                  (
                  { (K  - ST )+  if  τT
Payoff      PT =  ( 0            otherwise
                                 [
                             +∑∞    (U n) μ1- 2( L) μ2 (   -        -  )
Price       P (t,x ) = Ke -rθ        --n        --    N (y1 ) - N (y2 )
                            n=-∞    L          x
                                 (   n+1)μ3-2 (               )⌋
                               -   L----       N (y-) - N (y-) ⌉
                                   xU n            3        4
                                [(    )μ (   )μ
                       -δθ  +∑∞     Un-  1  L-  2 (    +        + )
                   - xe            Ln      x      N (y 1 ) - N (y2 )
                          n= -∞   (      )μ                   ]
                                    Ln+1-  3 (   +         + )
                               -    xU n     N (y3 ) - N (y4 )
where E = Leδ2θ and
            2n     2n   (    σ2)                   2n    2n    (    σ2)
y =  log(xU---∕EL--√-) +-b---2--θ-   y =  log(xU---∕KL-√-)-+--b -2--θ-
 1                σ  θ                 2                σ  θ
           2n+2      2n   (    σ2)               2n+2      2n    (    σ2)
     log(L-----∕ExU----) +-b---2--θ-      log(L----∕KxU----)-+--b -2---θ
y3 =               σ√ θ-              y4 =               σ√ θ-


 Routine cf_putout_kunitomoikeda.c

 

4.3 Knock-In Call Options

The double barrier knock-in call option is priced via the no-arbitrage relationship between knock-out and knock-in option:
European “IN” + European “OUT” = European Standard

Routine
  cf_callin_kunitomoikeda.c

4.4 Knock-In Put Options

The double barrier knock-in call option is priced via the no-arbitrage relationship between knock-out and knock-in option:
European “IN” + European “OUT” = European Standard

Routine
  cf_putin_kunitomoikeda.c

5 Lookback European Options

Floating strike lookback options can be priced using Goldman-Sosin-Gatto formula [2] while fixed strike lookback options can be priced using Conze-Viswanathen formula[7].

We set, as 0 u v T,

Mu,v =   sup S τ    and     mu,v =   inf S τ
        u≤τ≤v                       u≤τ≤v
and
            (  )   (      )
        log  x- +   b + σ2 θ                 √ --
∙  d1 = -----K---√------2---      d2 = d1 - σ  θ
                σ  θ
           ( -x-)   (    σ2)
∙  e  = log--M0,t-+√--b-+--2--θ    e  = e -  σ√ θ-
    1            σ  θ              2    1
            ( x )   (    σ2)
        log  M0,t +  b + -2  θ               √ --
∙  f1 = ----------√-----------    f2 = f1 - σ  θ
                 σ  θ

5.1 Fixed Lookback Call Options

Payoff      C   = (M    - K )
              T      t,T      +
Both price and delta depend on K and M0,t.

if K > M0,t then

Price     C (t,x) = xe-δθN (d1) - Ke -rθN (d2)
                          [  (   )  2b  (           )            ]
                    -rθσ2-     x--- σ2         2b√ --     bθ
                +xe    2b  -   K      N   d1 - σ   θ  +  e N (d1)
                                (       )
          ∂C-(t,x)     -δθ           σ2-     -δθn-(d1-)   - rθ K-n(d2)-
Delta        ∂x    = e   N (d1)  1 + 2b   + e    σ√ θ-- e    x  σ√ θ-
                               2b               (       )
                     -rθ ( x-) -σ2  (     2b√ -)      σ2-
                  +e      K       N  d1 - σ   t   1 - 2b

if K M0,t then

                      -rθ               - δθ              -rθ
Price      C (t,x) = e   (M0,t - K ) + xe  N (e1) - M0,te   N (e2)
                         2 ⌊  (     ) - 2b2  (           )           ⌋
                     -rθσ--⌈    -x---  σ          2b-√ --    bθ     ⌉
                +xe     2b  -   M0,t     N   e1 -  σ   θ  + e N  (e1)

           ∂C-(t,x)    - δθ           σ2-    -δθn-(e1)   - rθM0,tn-(d2)-
Delta         ∂x    = e   N (e1)(1 + 2b ) + e    √ --- e     x    √ --
                                   2b            σ  θ             σ  θ
                         (  x  ) -σ2   (       √ -)(     σ2)
                   +e -rθ  -----     N  e1 - 2σb  t   1 - ---
                           M0,t                          2b


 Routine cf_fixed_calllookback.c

 

5.2 Fixed Lookback Put Options

Payoff      P   = (K  - m   )
              T           t,T +
Both price and delta depend on K and m0,t.

if K < m0,t then

                       -rθ             -δθ
Price     P (t,x) = Ke    N (- d2) - xe   N (- d1)
                       σ2 [( x )- 2b2   (       2b√ -)              ]
                +xe -rθ---   ---  σ N   - d1 + --- θ  -  ebθN (- d1)
                       2b    K                 σ
           ∂P (t,x )             (     σ2)        n(d )       K n (d )
Delta      --------=  e-δθN (d1) 1 +  --- + e- δθ -√-1--  e-rθ----√-2-
             ∂x                       2b         σ  θ        x  σ  θ
                         (   )--2b2   (         √ -)(      )        (  2    )
                   +e- rθ  -x-  σ  N  - d1 + 2b  t   σ2- 1  - e- δθ  σ---  1
                          K                 σ       2b               2b

if K m0,t then

Price     P (t,x) = e-rθ(K -  m0,t) - xe -δθN (- f1) + m0,te-rθN (- f2)
                          ⌊                                          ⌋
                       σ2  (  x  ) - 2σb2  (       2b√ -)
                +xe -rθ---⌈  ----     N   - f1 + --- θ  -  ebθN (- f1)⌉
                       2b    m0,t                σ
                          (      2)
Delta      ∂P-(t,x-)=  e-δθ  1 + σ-- (N (f1) - 1) + e- δθn-(√f1)- e-rθM0,tn-(√d2)
             ∂x                 2b                     σ  θ         x   σ  θ
                         (     )- 2b                (       )
                     - rθ  --x--   σ2  (       2b√ -)  σ2-
                   +e     M0,t      N   - f1 + σ  t   2b - 1


   Routine cf_fixed_putlookback.c

 

5.3 Floating Lookback Call Options

Payoff      CT  = ST - mt,T
                        -δθ             - rθ
Price       C (t,x ) = xe   N (f1) - m0,te  N (f2)
                           ⌊(     ) - 2σb2  (         √--)             ⌋
                 +xe  -rθσ2⌈  -x--      N  - f1 + 2b θ  -  ebθN (- f1)⌉
                         2b   m0,t                σ
                                  (     2 )
            ∂C-(t,x)    - δθ            σ--     -δθn(a√1)-
Delta          ∂x    = e   N (f1)  1 + 2b   + e   σ   θ
                                 (     )  2b   (            ) (       )
                    - rθσ2     -rθ   x   - σ2           2b√ -    σ2
                 - e   ---+  e     ----     N   - f1 + --- t    ---- 1
                        2b         m0,t                σ        2b


  Routine cf_floating_calllookback.c

 

5.4 Floating Lookback Put Options

Payoff      PT = Mt,T -  ST
                          - rθ             -δθ
Price       P(t,x) = M0,te   N (- e2) - xe   N (- e1)
                           ⌊  (     ) - 2σb2  (       √ -)           ⌋
                 +xe -rθσ2 ⌈-   -x---     N  e1 - 2b  θ +  ebθN (b1)⌉
                        2b      M0,t              σ
                                 (       )        (     )  2b   (          ) (       )
            ∂P (t,x)    -δθ            σ2     - rθ   x   - σ2         2b√ -        σ2
Delta       -------- = e   N (e1)  1 + --- + e      -----    N   e1 - --- t    1 - --- ]
               ∂x      (     ) (       2b )        (M0,t     )        σ            2b
                    -rθ   x      n(b1)         - δθ  n (b1)
                 - e     -----   --√-- - 1  + e     --√---- 1
                         M0,t    σ  θ                σ  θ


  Routine cf_floating_putlookback.c

 

6 Standard 2D European Options

Consider the pair of processes St = (St1,S t2) solution to

(     1    1                   1    1    1
{  dSt =  St((r - δ1)dt + σ1dW t ), S 0 = x
(  dS2 =  S2((r - δ)dt + σ dW  2), S2 = x2.
     t     t       2      2   t     0
where (Wt1,t 0) and (W t2,t 0) denote two real–valued Brownian motions with istantaneous correlation ρ. The price of option with payoff f is:
      1  2      [ -rT  ( 1   1   2   2 )]
F (t,x  ,x ) = E  e   f  ST (x  ),S T(,x )  .
Here, closed formulas due to Johnson and Stulz are presented [1],[6].

We set

           x1   (         σ2)
       log-x2 +--δ2 --δ1-+--2--θ
∙  d =         σ√ theta
       ∘ -----------------
∙  σ =   σ21 + σ22 - 2 ρσ1σ2
           (   )  (           )
        log  xi +   r - δi + σ2i θ
∙  d  = -----K------√--------2---,   i = 1, 2
    i             σ1  θ
        σ  - ρ σ
∙  ρ1 = --1-----2
            σ
        σ2---ρ-σ1
∙  ρ2 =     σ
and M as the cumulative bivariate normal distribution function:
            -----1-----∫ a  ∫ b  - x2-22(1ρ-xyρ+2y)2
M (a,b;ρ) = 2π √1---ρ2- -∞   -∞ e          dxdy.

6.1 Call On the Maximum

Payoff      C  =  (max  (S1,S2 ) - K )
             T           T   T      +                              √ --
Price       C(t,x1,x2) = x1e -δ1θM  (d1,d;ρ1) + x2e -δ2θM (d2,- d + σ  θ;ρ2)
                               (                √ --         √ --  )
                       - Ke - rθ 1 - M (- d1 + σ1  θ,- d2 + σ2  θ;ρ)

            ∂C-(t,x1,x2)    -δ1θ
Delta           ∂x1      = e    M (d1,d;ρ1)
                                             √ --
            ∂C-(t,x1,x2) = e-δ2θM (d2,- d + σ  θ;ρ2)
                ∂x2


 Routine cf_callmax.c

 

6.2 Put On the Minimum

Payoff     PT  = (K  - min (S1T,S2T ))+
                            -rθ
Price      P (t,x1,x2) = Ke     - c0 + c1
            ∂P (t,x1, x2)
Delta       ------------=  e-δ1θ(1 - N (d)) + e-δ1θM (d1,- d;- ρ1)
                ∂x1
            ∂P-(t,x1,-x2)    -δ2θ            - δ2θ            √ --
                ∂x      =  e    N (d - σ ) + e   M (d2,d - σ   θ;- ρ2)
                  2
where
                                           √ --
∙  c0 = x1e- δ1θ(1 - N (d)) + x2e- δ2θN (d - σ θ)
                                                   √ --
∙  c1 = x1e- δ1θM (d1,- d,- ρ1) + x2e-δ2θM (d2,d - σ  θ;- ρ2)
            - rθ           √ --       √ --
       - Ke    M  (d1 - σ1  θ,d2 - σ2  θ;ρ)


  Routine cf_putmin.c

 

6.3 Exchange Options

Payoff      ET  = (S1T -  λS2T))+

Price       E (t,x1,x2) = x1e- δ1θN (^d1) - λx2e-δ2θN (^d2)
where
     log ( x1-) + (δ - δ + σ2) θ                 √ --
^d1 = -----λx2-----√2----1---2---,     ^d2 = ^d1 - σ  θ
                σ   θ


 Routine cf_exchange.c

6.4 Best Of Option

The payoff is BT = (max(ST 1 - K 1,ST 2 - K 2)))+.

References

[1]   H.JOHNSON. Options on the maximum ot the minimum of several assets. J.Of Finance and Quantitative Analysis, 22:227–283, 1987.

[2]   B.M.GOLDMAN H.B.SOSIN M.A.GATTO. Path dependent options: buy at low, sell at high. J. of Finance, 34:111–127, 1979.

[3]   E.REINER M.RUBINSTEIN. Breaking down the barriers. Risk, 4:28–35, 191.

[4]   F.BLACK M.SCHOLES. The pricing of Options and Corporate Liabilities. Journal of Political Economy, 81:635–654, 1973.

[5]   N.KUNIMOTO N.IKEDA. Pricing options with curved boundaries. Mathematical finance, 2:275–298, 1992.

[6]   R.STULZ. Options on the minimum or the maximum of two risky assets. J. of Finance, 10:161–185, 1992.

[7]   A.CONZE R.VISWANATHAN. Path dependent options: the case of lookback options. J. of Finance, 46:1893–1907, 1992.