32
Updating FpML’s FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Embed Size (px)

Citation preview

Page 1: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Updating FpML’s FX ProductsAndrew JacobsHandCoded Consulting Ltd.4th Mar, 2010

Page 2: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Contents• Introduction

▫ Background▫ The ‘Option’ Framework▫ Validation Issues

• Basic FX Products▫ Spot & Forward▫ FX Swaps

• FX Option Products▫ Simple FX options

Barriers Averaging

▫ Digital Options▫ Range Accrual

• Term Deposits▫ Money Market Deposits▫ Dual Currency Deposits

Page 3: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Background• This presentation describes a number of

change to the FX options to bring them into line with other product areas▫Turned out not to be that easy as every product

area derives its options inconsistently with the others

▫The changes also update the base products to make better use of XML schema and simplify the validation rules

• This work has been based on experience of using the FX products at BNP Paribas, JP Morgan and a few other firms, as well as designing the FX validation rule set.

Page 4: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Currently No Common Option Base

Page 5: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Option Framework?

•There is no common ‘Option’ base type in FpML▫‘OptionBase’ comes close but forces the

inclusion of a put/call flag which is no good for digitals

•The only thing all option types have in common is that they have is a buyer and seller/writer.

Page 6: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

New Option Base Type

• Only enforces a buyer and seller

• Could be used to re-factor other option types

Page 7: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Grammar & Rule Issues

•FX products where added to FpML 3.0 as a DTD based model▫The grammar is very loose – Too many

independent optional elements. It does not enforce relationships between elements

▫The basic data types used for values like rates have no constraints (e.g. can be negative)

Page 8: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Validation Issues

•The FX product set current has ~47 rules▫A lot of rules for such simple products

•A number of rules can be eliminated by adding constraints to element▫e.g. FX rates must be greater than zero

•Some can be eliminated by having more general enumerations▫e.g. sideRateQuoteBasis

Page 9: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010
Page 10: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Spot & Forward Trades

•In 4.x the spot and forward trades are based on the same fxSingleLeg element▫New model renames this to

fxSpotOrForward

Page 11: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxSpotOrForward• Largely the same as 4.x

▫ New dealtCurrency element

Page 12: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Exchange Rate• Stricter grammar than 4.x

▫ Eliminates a few rules

Page 13: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FX Swap Trades•An FX Swap is a combination of two trades,

either spot/forward or forward/forward▫The old model allowed any number of

exchanges but the new restricts it to just two.• In the old model FX Swap was a container for

other products – like a strategy. In the new model it’s a single product▫Underlying FX trades are named the ‘nearLeg’

and the ‘farLeg’ to indicate the value date order

Page 14: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxSwap• Now contains only two

underlying legs▫ 4.x. allowed any number –

was effectively a strategy

Page 15: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FX Swap Legs• Near and far legs based

on a new type and not FxSpotOrFoward▫ Is not derived from

Product as in 4.x

Page 16: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010
Page 17: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxOption• More consistent with other

products▫ Separate exercise

structures for American and European

▫ Averaging and barriers are represented as ‘features’ not separate products

• New ‘soldAs’ reference to allow buyer/seller perspective to be easier to derive▫ Did I buy a put or sell a

call? • Reordered to bring related

data together

Page 18: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxAmercanExercise• Adds support for multiple

exercise▫ With optional limits on

the notional size

Page 19: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxEuropeanExercise• Describes the exercise

parameters and the associated value date

Page 20: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxOptionFeatures• Adds Asian and/or Barrier

features to the option

Page 21: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxAsianFeature• Captures the parameters

for the average rate calculation

Page 22: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxBarrierFeature• Defines a barrier level and

then condition for activation

Page 23: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxDigitalOption• Uses grammar to ensure

triggers match the exercise style

Page 24: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxTouch

Page 25: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

FxTrigger

Page 26: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

• Payout is proportional to the number of days that an FX rate remains between bounds▫ notional * accruing days /

days in period• Can have additional

barrier features▫ e.g. Knock-out barriers

FxRangeAccrualOption

Page 27: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010
Page 28: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Consistency with Interest Rates?• It was suggested that the TermDeposit

model be made more consistent with Swaps, but▫Confirmations for Term Deposits are much

simpler▫The current model is compares well with

example confirmations•The changes introduced

▫Change the terminology used to identify the parties (e.g. the depositor and deposit taker)

▫Re-order some of the elements to group related data

Page 29: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

TermDeposit• Some renaming and

reordering compared to 4.x model

Page 30: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Dual Currency Term Deposits• A term deposit with an embedded option that

causes the payout to be in a second currency▫The fixed interest rate + the foreign exchange

option can provides a higher rate of return• These products are confirmed as a single

trade which combines deposit and option data attributes

• Has been modelled as a ‘feature’ that can be added to a term deposit▫There are other variants that could be added

(e.g. deposit take can decided interest and principal payment currency)

Page 31: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

DualCurrencyFeature• Describes the properties

of an option used to deliver the interest and principal in another currency

Page 32: Updating FpMLs FX Products Andrew Jacobs HandCoded Consulting Ltd. 4 th Mar, 2010

Compatibility with 4.x

•All 4.x FX products can be transform into the new model▫Some element renaming and re-ordering▫Could be achieved with XSLT

•FX Swaps with more than two legs can be modelled as strategies