Traders DFA Marc Wildi Statistician and Economist Kent

  • Slides: 32
Download presentation
Trader's DFA Marc Wildi - Statistician and Economist Kent Hoxsey - Programmer and Trader

Trader's DFA Marc Wildi - Statistician and Economist Kent Hoxsey - Programmer and Trader A Practioner's Introduction to the Direct Filter Approach

Signalextraction • Noise • Filter • Signal

Signalextraction • Noise • Filter • Signal

Signal

Signal

Eurostoxx 50, MA(200) Equal-Weights (Faber 2009)

Eurostoxx 50, MA(200) Equal-Weights (Faber 2009)

Real-Time Signalextraction

Real-Time Signalextraction

Eurostoxx 50, MA(200) Symmetric and MA(200) Real-Time

Eurostoxx 50, MA(200) Symmetric and MA(200) Real-Time

Real-Time Perspective • Turning-points (trades) are delayed o Performances affected • Delay could be

Real-Time Perspective • Turning-points (trades) are delayed o Performances affected • Delay could be decreased by selecting shorter filters o Generate more `false’ alarms o Performances affected • Tradeoff: speed/timeliness vs. smoothness/reliability

Frequency Domain • Timeliness • Reliability • Both!

Frequency Domain • Timeliness • Reliability • Both!

Real-Time Signalextraction Frequency Domain

Real-Time Signalextraction Frequency Domain

Optimization Criterion: Mean-Square

Optimization Criterion: Mean-Square

Objectives 1. Real-time filters which are `fast’ o Detect turning-points timely 2. Real-time filters

Objectives 1. Real-time filters which are `fast’ o Detect turning-points timely 2. Real-time filters which are `reliable’ o Impose strong noise suppression

Cosine Law applied to

Cosine Law applied to

Decomposition of Mean-Square Criterion

Decomposition of Mean-Square Criterion

Timeliness and Noise Suppression

Timeliness and Noise Suppression

Control: Interfacing with the Criterion

Control: Interfacing with the Criterion

Latest Developments (2011, 2012) • Fast closed-form solutions o I-MDFA • Generic Approach o

Latest Developments (2011, 2012) • Fast closed-form solutions o I-MDFA • Generic Approach o Replicate model-based approaches, HP-designs, CFdesigns (see http: //blog. zhaw. ch/idp/sefblog) o Customize traditional mean-square approaches • Alleviate/control overfitting o Regularization o Rmetrics-2012

Background • SEFBlog: o http: //blog. zhaw. ch/idp/sefblog o Articles, books, applications, R-code, tutorials

Background • SEFBlog: o http: //blog. zhaw. ch/idp/sefblog o Articles, books, applications, R-code, tutorials • Recent Articles: o Wildi/Mc. Elroy (2012) § http: //blog. zhaw. ch/idp/sefblog/index. php? /archives/263 -On-a-Trilemma-Between-Accuracy, -Timeliness-and. Smoothness-in-Real-Time-Forecasting-and-Signal. Extraction. html o Wildi (2012) § http: //blog. zhaw. ch/idp/sefblog/index. php? /archives/262 -Up-Dated-I-MDFA-Code-and-Working-Paper. html

Background • R-Code/tutorials o Check the categories `I-MDFA code repository’ or `tutorial’ on SEFBlog

Background • R-Code/tutorials o Check the categories `I-MDFA code repository’ or `tutorial’ on SEFBlog • Macro-indicators o http: //www. idp. zhaw. ch/usri o http: //www. idp. zhaw. ch/euri • Trading o http: //www. idp. zhaw. ch/MDFA-XT o http: //blog. zhaw. ch/idp/sefblog/index. php? /archives/1 57 -A-Generalization-of-the-GARCH-in-Mean-Model. Vola-in-I-MDFA-filter. html

A Hybrid Approach • i. Metrica o Access to State Space, ARIMA, I-MDFA, Stochastic

A Hybrid Approach • i. Metrica o Access to State Space, ARIMA, I-MDFA, Stochastic Volatility, Hybrid o Chris Blakely: www. cd-blakely. com

Vola in I-MDFA Described in a blog post, and then in more detail later

Vola in I-MDFA Described in a blog post, and then in more detail later in a conference presentation.

Exercise: Reproduce the Example Code available on SEF-Blog at: http: //blog. zhaw. ch/idp/sefblog/uploads/Vola_in_I-MDFA_prototype 1.

Exercise: Reproduce the Example Code available on SEF-Blog at: http: //blog. zhaw. ch/idp/sefblog/uploads/Vola_in_I-MDFA_prototype 1. r Runs as-is, but you need a "trading" function Zero-crossing function: start with your filter weights and data series create a vector of NAs as long as your index to be your signal set signal to 1 where filtered data > 0 set signal to 0 where filtered data < 0 fill your NAs - na. locf() is your best friend Not sophisticated, but tricky: watch your lags Veddy importante: signal *today* means returns *tomorrow*

Exercise: Reproduce the Example (2)

Exercise: Reproduce the Example (2)

Corollary: Understand the Behavior Reference code runs a multi-stage loop calculates filters for combinations

Corollary: Understand the Behavior Reference code runs a multi-stage loop calculates filters for combinations of params runs an optimizer over the param space Effective, but not illuminating for me parameter changes not intuitive (for me) needed a feel for sensitivity And I just happen to have a lot of machines. . . easy code changes: expand. grid and foreach lots of cpu time eventually, lots of results

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Finale: Descend into Obsession

Results: Qualitative Analysis of M/S

Results: Qualitative Analysis of M/S

Results: Qualitative Analysis of M/S

Results: Qualitative Analysis of M/S