@@ -34,6 +34,8 @@ \subsubsection{Exotic Variance and Volatility Derivatives}
3434\hline
3535Variance Dispersion Swap & \lstinline!VarianceDispersionSwap! \\
3636\hline
37+ Dual European Binary Option with Volatility and Spot KO Barrier & \lstinline!DualEuroBinaryOptionDoubleKO! \\
38+ \hline
3739Corridor Variance Dispersion Swap & \lstinline!CorridorVarianceDispersionSwap! \\
3840\hline
3941Corridor Variance Dispersion Swap with KO Barrier & \lstinline!KOCorridorVarianceDispersionSwap! \\
@@ -358,6 +360,120 @@ \subsubsection*{Variance Swap with KI/KO Barrier}
358360 Allowable values: See Table \ref{tab:currency} for allowable currency codes.
359361\end{itemize}
360362
363+ \subsubsection*{Dual European Binary Option with Volatility and Spot KO Barrier}
364+
365+ The traditional trade representation is as follows, using an EQ underlying in this example:
366+
367+ \begin{minted}[fontsize=\scriptsize]{xml}
368+ <Trade id="DualEuroBinaryOptionDoubleKO">
369+ <TradeType>ScriptedTrade</TradeType>
370+ <Envelope>
371+ ....
372+ </Envelope>
373+ <DualEuroBinaryOptionDoubleKOData>
374+ <LongShort type="longShort">Long</LongShort>
375+ <SettlementDate type="event">2020-07-20</SettlementDate>
376+ <SettlementAmount type="number">100000000</SettlementAmount>
377+ <ValuationSchedule type="event">
378+ <ScheduleData>
379+ <Rules>
380+ <StartDate>2020-01-15</StartDate>
381+ <EndDate>2020-07-10</EndDate>
382+ <Tenor>1D</Tenor>
383+ <Calendar>US</Calendar>
384+ <Convention>Following</Convention>
385+ <TermConvention>Following</TermConvention>
386+ <Rule>Forward</Rule>
387+ </Rules>
388+ </ScheduleData>
389+ </ValuationSchedule>
390+ <SpotBarrierLevel type="number">0.05</SpotBarrierLevel>
391+ <VolBarrierLevel type="number">6.75</VolBarrierLevel>
392+ <VolBarrierDate type="event">2020-07-18</VolBarrierDate>
393+ <Underlying type="index">FX-ECB-JPY-USD</Underlying>
394+ <PayCcy type="currency">USD</PayCcy>
395+ <Expiry type="event">2020-07-15</Expiry>
396+ <Premium type="number">0</Premium>
397+ <PremiumDate type="event">2020-07-18</PremiumDate>
398+ </DualEuroBinaryOptionDoubleKOData>
399+ </Trade>
400+ \end{minted}
401+
402+ The DualEuroBinaryOptionDoubleKO script referenced in the trade above is shown in listing
403+ \ref{lst:DualEuroBinaryOptionDoubleKO}
404+
405+ \begin{listing}[hbt]
406+ \begin{minted}[fontsize=\scriptsize]{Basic}
407+ NUMBER d, realisedVariance, realisedVolatility, currPrice, pay;
408+ NUMBER prevPrice, payoff, strike, TriggerProbability, premium, expectedN, Alive;
409+
410+ Alive = 1;
411+
412+ FOR d IN (2, SIZE(ValuationSchedule), 1) DO
413+ currPrice = Underlying(ValuationSchedule[d]);
414+ prevPrice = Underlying(ValuationSchedule[d-1]);
415+ IF currPrice >= SpotBarrierLevel THEN
416+ Alive = 0;
417+ END;
418+ realisedVariance = realisedVariance + pow(ln(currPrice/prevPrice), 2);
419+ END;
420+
421+ expectedN = SIZE(ValuationSchedule) - 1;
422+ realisedVolatility = 100 * sqrt((252/expectedN)) * sqrt(realisedVariance);
423+
424+ IF Alive == 1 THEN
425+ FOR d IN (2, SIZE(ValuationSchedule), 1) DO
426+ IF {{VolBarrierDate == ValuationSchedule[d]} AND {realisedVolatility <= VolBarrierLevel}} THEN
427+ Alive = 0;
428+ END;
429+ END;
430+ END;
431+
432+ IF Alive == 1 THEN
433+ TriggerProbability = 1;
434+ payoff = SettlementAmount;
435+ premium = PAY(Premium, Expiry, PremiumDate, PayCcy);
436+
437+ pay = PAY(payoff, Expiry, SettlementDate, PayCcy);
438+
439+ Option = pay - premium;
440+
441+ END;
442+ \end{minted}
443+ \caption{Payoff script for a DualEuroBinaryOptionDoubleKO.}
444+ \label{lst:DualEuroBinaryOptionDoubleKO}
445+ \end{listing}
446+
447+ The meanings and allowable values for the \lstinline!DualEuroBinaryOptionDoubleKO! node below.
448+
449+ \begin{itemize}
450+ \item{}[longShort] \lstinline!LongShort!: Own party position in the option. \emph{Long} corresponds to receiving the settlement amount at expiry. \\
451+ Allowable values: \emph{Long, Short}.
452+ \item{}[index] \lstinline!Underlying!: Underlying index. \\
453+ Allowable values: See Section \ref{data_index} for allowable values.
454+ \item{}[event] \lstinline!ValuationSchedule!: The schedule defining the (daily) observation period for the variance accrual. \\
455+ Allowable values: See Section \ref{ss:schedule_data}.
456+ \item{}[number] \lstinline!SpotBarrierLevel!: The agreed Spot barrier level. \\
457+ Allowable values: Any non-negative real number.
458+ \item{}[number] \lstinline!VolBarrierLevel!: The agreed volatility barrier level. \\
459+ Allowable values: Any non-negative real number.
460+ \item{}[event] \lstinline!VolBarrierDate!: The date on which the realised volatility event is determined. \\
461+ Allowable values: See \lstinline!Date! in Table \ref{tab:allow_stand_data}.
462+ \item{}[number] \lstinline!SettlementAmount!: The settlement amount. \\
463+ Allowable values: Any non-negative real number.
464+ \item{}[event] \lstinline!SettlementDate!: The date on which the option payoff is settled. \\
465+ Allowable values: See \lstinline!Date! in Table \ref{tab:allow_stand_data}.
466+ \item{}[event] \lstinline!PremiumDate!: The date on which the option premium is paid. \\
467+ Allowable values: See \lstinline!Date! in Table \ref{tab:allow_stand_data}.
468+ \item{}[number] \lstinline!Premium!: The option premium. \\
469+ Allowable values: Any non-negative real number.
470+ \item{}[currency] \lstinline!PayCcy!: The payment currency. For FX, where the underlying is provided
471+ in the form \lstinline!FX-SOURCE-CCY1-CCY2! (see Table \ref{tab:fxindex_data}) this should
472+ be \lstinline!CCY2!. If \lstinline!CCY1! or the currency of the underlying (for EQ and
473+ COMM underlyings), this will result in a quanto payoff. Notice section \ref{sss:payccy_st}. \\
474+ Allowable values: See Table \ref{tab:currency} for allowable currency codes.
475+ \end{itemize}
476+
361477\subsubsection*{Corridor Variance Swap}
362478
363479The traditional trade representation is as follows, using an FX underlying in this example:
0 commit comments