Target Redemption Forward Options
This page demonstrates pricing of a A Target Accumulation Redemption Note (TARN) option by solving corresponding partial
differencial equations using finite difference method.
A TARN option provides a capped sum of payments over a period with the possibility of early termination (knockout) determined
by the target level imposed on the accumulated amount. A certain amount of payment
(e.g. spot value minus the strike) is made on a series of cash flow dates (referred to
as fixing dates) until the target level is breached. The payoff function of a TARN is
path dependent in that the payment on a fixing date depends on the spot value of
the asset as well as on the accumulated payment amount up to the fixing date.
There are different versions of TARN products
used in FX trading. For simplicity, here we consider one specific
form of TARN. The presented finite difference scheme can easily be
adapted to other more general forms of TARN. Denote the FX rate at time \(t\) as \(S(t)\) and other
notation as follows: \(t_0\) is today's date; \(K\) is the number of
fixing dates (cash flow dates); \(t_1 ,t_2,\ldots,t_K\) are fixing
dates; \(X\) is strike; \(U\) is the target accrual level; \(S(t_1
),S(t_2 ),\ldots,S(t_K )\) are FX rate values at fixing dates \(t_1
,t_2 ,\ldots,t_K\); \(A(t)\) is accumulated amount at time \(t\); and all
amounts are per unit of notional foreign amount. On each fixing date
\(t_k\), there is a potential cash flow payment
\[
\widetilde{C_k}\equiv \beta (S(t_k)-X)\times
1_{\beta \times S(t_k) \ge \beta \times X},
\]
where \(\beta \) is a strategy on foreign currency (\(\beta = 1\)
corresponds to buy and \(\beta = - 1\) corresponds to sell), subject
to the target level \(U\) is not breached by the accumulated amount
\(A(t_k)\). If the target level \(U\) is breached before or on the last
fixing date, denote \(t_{\widetilde{K}}\) is the first fixing date
when the target is breached, i.e.
\[
\widetilde{K} = \min \{k:A(t_k) \ge U\},\;k =
1,2,\ldots,K \;.
\]
Otherwise, set \(\widetilde{K}=K\). The
actual payment on the fixing date \(t_k\le t_{\widetilde{K}}\) can be
written as
\[
{C_k}(S(t_k),A(t_{k-1}))\equiv \widetilde{C}_k \times (
1_{A(t_{k-1})+ \widetilde{C}_k < U} + W_k \times 1_{A(t_{k-1})+
\widetilde{C}_k \geq U} ),
\]
and \({C_k}=0\) for \(t_k> t_{\widetilde{K}}\). Here,
\(A(t_{k-1})\) is the accumulation amount immediately after the fixing
date \(t_{k-1}\), and \(W_k\) is the weight depending on the type of the
knockout when the target level \(U\)
breached. The accumulated
amount \(A(t)\) is a piece-wise constant function \(A(t)=A(t_{k-1})\),
\(t_{k-1}\le t\lt t_k\) with
\[A(t_k) = A(t_{k - 1}) + {C_k}(S(t_k), A(t_{k - 1})
).
\]
There are three knockout types used in practice:
• Full Gain – when the target is breached on a fixing date \(t_k\), the cash flow payment
on that date is allowed. This essentially permits the breach of the target once,
and the total payment may exceed the target for full gain knockout.
• No Gain – when the target is breached, the entire payment on that date is disal-
lowed. The total payment will never reach the target for no gain knockout.
• Part Gain – when the target is breached on a fixing date \(t_k\), part of the payment
on that date is allowed, such that the target is met exactly.
Knoukout Type |
|
|
|
Call/Put |
|
|
|
Spot |
\( S = \) |
|
Please enter a value in range [0.01, 99999]
The input cannot be empty
|
Maturity (years) |
\( T = \) |
|
Please enter a value in range [0.001, 150]
The input cannot be empty
|
Strike |
\( K = \) |
|
Please enter a value in range [0.01, 99999]
The input cannot be empty
|
Target |
\( U = \) |
|
Please enter a value in range [0.01, 99999]
The input cannot be empty
|
Interest rate |
\( r = \) |
|
Please enter a value in range [0.0, 1.0]
The input cannot be empty
|
Volatility |
\( \sigma = \) |
|
Please enter a value in range [0.0, 1.0]
The input cannot be empty
|
Dividend |
\( \delta = \) |
|
Please enter a value in range [0.0, 1.0]
The input cannot be empty
|
Mesh size in asset S |
|
|
Please enter an integer in range [10, 1,000]
The input cannot be empty
|
Number of time steps |
|
|
Please enter an integer in range [10, 5,000]
The input cannot be empty
|
Mesh size in accumulation A |
|
|
Please enter an integer in range [10, 500]
The input cannot be empty
|
Number of cashflow dates |
|
|
Please enter an integer in range [10, 500]
The input cannot be empty
|
Important! This model is for online demonstration purposes only. Calculations can take a long time if the number of cashflow dates, times steps and mesh size are high. The time-out for calculations has been set to 1 hour, after which the webpage will return an error. We suggest you start with low values and then increase them if better accuracy is needed.