Numerical Algorithms Group Mathematics and technology for optimized

  • Slides: 29
Download presentation
Numerical Algorithms Group Mathematics and technology for optimized performance Numerical Software, Market Data and

Numerical Algorithms Group Mathematics and technology for optimized performance Numerical Software, Market Data and Extreme Events Robert Tong Results Matter. Trust NAG.

Outline • • • Market data Pre-processing Software components Extreme events Example: wavelet analysis

Outline • • • Market data Pre-processing Software components Extreme events Example: wavelet analysis of FX spot prices • Implications for software design 2

Market data • Tick – as transactions occur, high frequency, irregular in time quote/price

Market data • Tick – as transactions occur, high frequency, irregular in time quote/price with time stamp • Sample tick data at regular times – minute, hour, day, … – low-high price • Bid-ask pairs – FX spot market • Time series – construct from sampled and processed data 3

FX spot market prices - USD-CHF • ticks • minutes • hours (e. g.

FX spot market prices - USD-CHF • ticks • minutes • hours (e. g. see www. dailyfx. com) 4

Data cleaning Required to remove errors in data – • • • inputting errors

Data cleaning Required to remove errors in data – • • • inputting errors test ticks to check system response repeated ticks copying and re-sending of ticks scaling errors How can false values be reliably identified and rejected ? • what assumptions must be imposed? • elimination of outliers based on an assumed probability distribution 5

Pre-processing • Tick data irregular in time – construct homogeneous time series by interpolation:

Pre-processing • Tick data irregular in time – construct homogeneous time series by interpolation: linear, repeated value • Bid-ask spread – use relative spread • Remove seasonality • Account for holidays Ø Must not introduce spurious structures to data 6

Software components Mathematical models Software components Data cleaning filtering Pre-processing interpolation transformation Analysis wavelets

Software components Mathematical models Software components Data cleaning filtering Pre-processing interpolation transformation Analysis wavelets 7

Implementation issues Algorithm design – – – – Stability Accuracy Exception handling Portability Error

Implementation issues Algorithm design – – – – Stability Accuracy Exception handling Portability Error indicators Documentation These are independent of the problem being solved 8

Extreme events • Weather – storm • Warfare – explosion • Markets – crash

Extreme events • Weather – storm • Warfare – explosion • Markets – crash Software – How should it respond to the unpredictable? What is the role of software when its modelling assumptions break down? 9

An illustration – another type of bubble Underwater explosions are used to destroy ships

An illustration – another type of bubble Underwater explosions are used to destroy ships – the initial shock is expected and often not as damaging as the later gas bubble collapse. Left: raw data from sensitive, but un-calibrated pressure gauge Right: calibrated gauge uses averaging to produce smooth curve Use of averaging obscures critical event in this case. 10

Example: wavelet analysis of FX spot prices • Wavelet transforms provide localisation in time

Example: wavelet analysis of FX spot prices • Wavelet transforms provide localisation in time and frequency for analysis of financial time series. • This is achieved by scaling and translation of wavelet basis. • Decompose time series, by convolution with dilated and translated mother wavelet, or filter, • Discrete (DWT) Orthogonal Filter pair: H – high pass, G – low pass followed by down-sampling 11

Wavelet filters Family of filters by scaling Daubechies D(4) wavelet filters result from sampling

Wavelet filters Family of filters by scaling Daubechies D(4) wavelet filters result from sampling a continuous function 12

Multi-Resolution Analysis Discrete Wavelet Transform (DWT) x(t) Hx | 2 Gx | 2 d

Multi-Resolution Analysis Discrete Wavelet Transform (DWT) x(t) Hx | 2 Gx | 2 d 1 Hs 1 | 2 Gs 1 | 2 d 2 Hs 2 | 2 Gs 2 | 2 13

DWT implementation Orthogonal wavelet transform uses • filters defined by sequences: • satisfying: ,

DWT implementation Orthogonal wavelet transform uses • filters defined by sequences: • satisfying: , , , • This allows for a number of variants in implementation numerical output from different software providers is not identical 14

Discrete Wavelet Transform – Multi-Resolution Analysis For input data , length , produces representation

Discrete Wavelet Transform – Multi-Resolution Analysis For input data , length , produces representation in terms of ‘detail’ and ‘smooth’ wavelet coefficients of length Uses • Data compression – discard coefficients • De-noising Disadvantages • Difficult to relate coefficients to position in original input • Not translation invariant – shifting starting position produces different coefficients 15

Maximal Overlap Wavelet Transform (MODWT) (Stationary Wavelet Transform) • • • Convolution: wavelet filters

Maximal Overlap Wavelet Transform (MODWT) (Stationary Wavelet Transform) • • • Convolution: wavelet filters as in DWT No down-sampling MRA produces N coefficients at each level Requires more storage and computation Not orthonormal Advantages • Translation invariant • Can relate to time scale of original data • Does not require length(x) = 16

Choice of wavelet filter • Short can introduce ‘blocking’ or other features which obscure

Choice of wavelet filter • Short can introduce ‘blocking’ or other features which obscure analysis of data • Long increases number of coefficients affected by ends of data set • Basis Pursuit seeks to optimise choice of wavelet at each level but requires more computation 17

FX: USD, GBP, EUR – NZD 12 noon buying rates, Jan – Jul 2007

FX: USD, GBP, EUR – NZD 12 noon buying rates, Jan – Jul 2007 18

FX: JPY, USD, GBP, EUR – NZD 12 noon buying rates, Jan – Jul

FX: JPY, USD, GBP, EUR – NZD 12 noon buying rates, Jan – Jul 2007 (from www. x-rates. com) 19

JPY-NZD, LA(8), MODWT (includes boundary effects) x(t) d 1 d 2 d 3 d

JPY-NZD, LA(8), MODWT (includes boundary effects) x(t) d 1 d 2 d 3 d 4 20

JPY-NZD, LA(8) MODWT (includes boundary effects) x(t) d 5 d 6 s 6 21

JPY-NZD, LA(8) MODWT (includes boundary effects) x(t) d 5 d 6 s 6 21

Boundary conditions – end extension • Wavelet transform applies circular convolution to data •

Boundary conditions – end extension • Wavelet transform applies circular convolution to data • What happens at the ends of the data set? • End extension techniques – periodic reflection – whole/half-point pad with zeros • Boundary effects contaminate wavelet coefficients software should indicate where output is influenced by end extension 22

End extension Periodic Whole-point reflection 23

End extension Periodic Whole-point reflection 23

USD-NZD, Haar, MODWT Periodic end extension Level 1 detail coefficients Level 2 detail coefficients

USD-NZD, Haar, MODWT Periodic end extension Level 1 detail coefficients Level 2 detail coefficients 24

USD-NZD, Haar, MODWT (end effects removed) x(t) d 1 d 2 d 3 25

USD-NZD, Haar, MODWT (end effects removed) x(t) d 1 d 2 d 3 25

USD-NZD, Haar MODWT (end effects removed) x(t) d 4 d 5 d 6 s

USD-NZD, Haar MODWT (end effects removed) x(t) d 4 d 5 d 6 s 6 26

Wavelet analysis for prediction • Extrapolation from present to near future is useful •

Wavelet analysis for prediction • Extrapolation from present to near future is useful • Apply wavelet filters to for avoiding boundary effect • Select wavelet scales to identify trend and stochastic parts of data set • Use wavelet coefficients to compute prediction (see Renaud et al. , 2002) 27

Implications for software development • Reproducibility is desirable – algorithms precisely defined to allow

Implications for software development • Reproducibility is desirable – algorithms precisely defined to allow independent implementations to produce identical results • Edge effects – contaminate ends of transform for finite signals – software must indicate coefficients affected • Smoothing/averaging – software should indicate when underlying assumptions likely to be invalid • Pre-processing – ensure that structure is not introduced by interpolation to give homogeneous data set 28

Implications for software development • For extreme events – must not obscure or remove

Implications for software development • For extreme events – must not obscure or remove data relevant to critical events by averaging, smoothing, filtering. 29