xxxxxxxxxx
<html>
<head>
<title>Backtest Overfitting | Translated in R</title>
<meta charset="utf-8">
<meta name="description" content="Backtest Overfitting | Translated in R">
<meta name="author" content="TimelyPortfolio">
<meta name="generator" content="slidify" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link rel="stylesheet" href="https://slidifylibraries2.googlecode.com/git/inst/libraries/frameworks/io2012/css/default.css" media="all" >
<link rel="stylesheet" href="https://slidifylibraries2.googlecode.com/git/inst/libraries/frameworks/io2012/css/phone.css"
media="only screen and (max-device-width: 480px)" >
<link rel="stylesheet" href="https://slidifylibraries2.googlecode.com/git/inst/libraries/frameworks/io2012/css/slidify.css" >
<link rel="stylesheet" href="https://slidifylibraries2.googlecode.com/git/inst/libraries/highlighters/highlight.js/css/solarized_light.css" />
<base target="_blank"> <!-- This amazingness opens all links in a new tab. --> <link rel=stylesheet href="https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/css/bootstrap.css"></link>
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Raleway:300"></link>
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Oxygen"></link>
<!-- Grab CDN jQuery, fall back to local if offline -->
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.min.js"></script>
<script>window.jQuery || document.write('<script src="https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/quiz/js/jquery.js"><\/script>')</script>
<script data-main="https://slidifylibraries2.googlecode.com/git/inst/libraries/frameworks/io2012/js/slides"
src="https://slidifylibraries2.googlecode.com/git/inst/libraries/frameworks/io2012/js/require-1.0.8.min.js">
</script>
</head>
<body style="opacity: 0">
<slides class="layout-widescreen">
<!-- LOGO SLIDE -->
<slide class="title-slide segue nobackground">
<hgroup class="auto-fadein">
<h1>Backtest Overfitting | Translated in R</h1>
<h2></h2>
<p>TimelyPortfolio<br/></p>
</hgroup>
<a href="https://github.com/timelyportfolio/research_lopezdePrado/zipball/gh-pages" class="example">
Download
</a>
<article></article>
<footer class = 'license'>
<a href='https://creativecommons.org/licenses/by-nc-sa/3.0/'>
<img width = '80px' src = 'https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-nc-sa.png'>
</a>
</footer>
</slide>
<!-- SLIDES -->
<slide class="" id="slide-1" style="background:;">
<article data-timings="10">
<style>
iframe{
height:450px;
width:900px;
margin:auto auto;
}
body{
font-family: 'Oxygen', sans-serif;
}
h1,h2,h3,h4 {
font-family: 'Raleway', sans-serif;
}
h3 {
background-color: #D4DAEC;
text-indent: 100px;
}
h4 {
text-indent: 100px;
}
iframe {height: 300px; width: 900px}
</style>
<h3>Original Paper</h3>
<p><br>
<address>
<strong style="lineheight:40px;">Pseudo-Mathematics and Financial Charlatanism:</strong><p style="lineheight:40px;">The Effects of Backtest Overfitting on Out-of-Sample Performance</p></p>
<p class="muted" style="line-height:26px;">Bailey, David H. and Borwein, Jonathan M. and Lopez de Prado, Marcos and Zhu, Qiji Jim<br>
October 7, 2013<br>
Available at SSRN: <a href="https://ssrn.com/abstract=2308659">https://ssrn.com/abstract=2308659</a>
</p>
<p></address></p>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-2" style="background:;">
<hgroup>
<h3>Constants - R Equivalents</h3>
</hgroup>
<article data-timings="">
<pre><code class="r"># these are the constants referenced
# Euler–Mascheroni's constant
-digamma(1)
</code></pre>
<pre><code>## [1] 0.5772
</code></pre>
<pre><code class="r"># euler constant
exp(1)
</code></pre>
<pre><code>## [1] 2.718
</code></pre>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-3" style="background:;">
<hgroup>
<h3>Expected Maximum Sharpe \(E[max_N]\)</h3>
</hgroup>
<article data-timings="">
<p>\[
\begin{aligned}
(1-\gamma)Z^{-1}\left[1-\frac{1}{N}\right]+\gamma Z^{-1}\left[1-\frac{1}{N}e^{-1}\right] \end{aligned}
\]</p>
<h4>R Translation</h4>
<pre><code class="r">### Eq. 4
emax <- function(N) {
( ( 1 + digamma(1) ) * qnorm( 1 - 1/N ) ) +
(-digamma(1) * qnorm( 1 - (1/N) * exp(-1)))
}
emax( N = 10 ) # should be about = 1.57 to match paper
</code></pre>
<pre><code>## [1] 1.575
</code></pre>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-4" style="background:;">
<hgroup>
<h3>Plot \(E[max_N]\)</h3>
</hgroup>
<article data-timings="">
<pre><code class="r">#implement upper bound
upbound <- function(N) {sqrt(2*log(N))}
#make a ugly plot for reasonableness check
curve(upbound, from = 1, to = 1000, col = "red", lty = 2)
curve(emax, from = 1, to = 1000, add=TRUE)
grid()
</code></pre>
<p><img src="data:image/png;base64,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" alt="plot of chunk unnamed-chunk-4"> </p>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-5" style="background:;">
<hgroup>
<h3>rChart \(E[max_N]\)</h3>
</hgroup>
<article data-timings="">
<pre><code class="r">require(rCharts)
df <- data.frame(
list(x=c(1,2:1000), y=c(0,emax(2:1000))))
d1 <- dPlot( y ~ x, groups = "x", data = df, type = "line", height = 270, width = 800)
d1$xAxis(type = "addMeasureAxis",orderBy = "x",outputFormat = ",0.0f")
d1$yAxis( outputFormat = ".2f")
d1
</code></pre>
<iframe src=unnamed-chunk-5.html seamless></iframe>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-6" style="background:;">
<hgroup>
<h3>Check My Math with <em>Eq. 6</em></h3>
</hgroup>
<article data-timings="">
<pre><code class="r">### Try next example for Eq. 6
# if y = 5
# so solve for annualized Sharpe of 1
# says no more than 45 N should be tried
# first just do this to make sure I understand
N = 45
y = 5
emax( N ) * y^-0.5 #seems like on the right path
</code></pre>
<pre><code>## [1] 0.9998
</code></pre>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-7" style="background:;">
<hgroup>
<h3>Minimum Backtest Length \(MinBTL\)</h3>
</hgroup>
<article data-timings="">
<p>\[
\begin{aligned}
\left(\frac{(1-\gamma)Z^{-1}\left[1-\frac{1}{N}\right]+\gamma Z^{-1}\left[1-\frac{1}{N}e^{-1}\right]}{\overline{E[max_N]}}\right)^2 \end{aligned}
\]</p>
<h4> R Translation </h4>
<pre><code class="r">#use emax from earlier for numerator
minBTL <- function( N, eMaxSharpe = 1 ) {
(emax(N) / eMaxSharpe) ^ 2
}
#then this should equal 5 if correct
minBTL( N = 45, eMaxSharpe = 1 )
</code></pre>
<pre><code>## [1] 4.998
</code></pre>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-8" style="background:;">
<hgroup>
<h3>Plot \(MinBTL\)</h3>
</hgroup>
<article data-timings="">
<pre><code class="r">#make ugly plot for a reasonableness check
curve( minBTL, from = 1, to = 1000)
</code></pre>
<p><img src="data:image/png;base64,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" alt="plot of chunk unnamed-chunk-8"> </p>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-9" style="background:;">
<hgroup>
<h3>rChart \(MinBTL\)</h3>
</hgroup>
<article data-timings="">
<pre><code class="r">df <- data.frame(
list(x=c(1,2:1000), minBTL=c(0,minBTL(2:1000))))
n1 <- nPlot( minBTL ~ x, data = df, type = "lineChart", height = 270, width = 800)
n1$yAxis( tickFormat = "#!d3.format(',.2f')!#")
n1$chart( useInteractiveGuideline = TRUE )
n1
</code></pre>
<iframe src=unnamed-chunk-9.html seamless></iframe>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="" id="slide-10" style="background:;">
<hgroup>
<h3>Thanks</h3>
</hgroup>
<article data-timings="">
<ul>
<li>Ramnath Vaidyanathan</li>
<li>Bailey, David H. and Borwein, Jonathan M. and Lopez de Prado, Marcos and Zhu, Qiji Jim</li>
</ul>
</article>
<!-- Presenter Notes -->
</slide>
<slide class="backdrop"></slide>
</slides>
<div class="pagination pagination-small" id='io2012-ptoc' style="display:none;">
<ul>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=1 title=''>
1
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=2 title='Constants - R Equivalents'>
2
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=3 title='Expected Maximum Sharpe \(E[max_N]\)'>
3
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=4 title='Plot \(E[max_N]\)'>
4
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=5 title='rChart \(E[max_N]\)'>
5
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=6 title='Check My Math with <em>Eq. 6</em>'>
6
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=7 title='Minimum Backtest Length \(MinBTL\)'>
7
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=8 title='Plot \(MinBTL\)'>
8
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=9 title='rChart \(MinBTL\)'>
9
</a>
</li>
<li>
<a href="#" target="_self" rel='tooltip'
data-slide=10 title='Thanks'>
10
</a>
</li>
</ul>
</div> <!--[if IE]>
<script
src="https://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js">
</script>
<script>CFInstall.check({mode: 'overlay'});</script>
<![endif]-->
</body>
<!-- Load Javascripts for Widgets -->
<script src="https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/js/bootstrap.min.js"></script>
<script src="https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/js/bootbox.min.js"></script>
<!-- MathJax: Fall back to local if CDN offline but local image fonts are not supported (saves >100MB) -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
processEscapes: true
}
});
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/2.0-latest/mathjax.js?config=tex-ams-mml_htmlormml"></script>
<!-- <script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/2.0-latest/mathjax.js?config=tex-ams-mml_htmlormml">
</script> -->
<script>window.MathJax || document.write('<script type="text/x-mathjax-config">MathJax.Hub.Config({"HTML-CSS":{imageFont:null}});<\/script><script src="https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/mathjax/mathjax.js?config=tex-ams-mml_htmlormml"><\/script>')
</script>
<script>
$(function (){
$("#example").popover();
$("[rel='tooltip']").tooltip();
});
</script>
<!-- LOAD HIGHLIGHTER JS FILES -->
<script src="https://slidifylibraries2.googlecode.com/git/inst/libraries/highlighters/highlight.js/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- DONE LOADING HIGHLIGHTER JS FILES -->
</html>
Modified http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js to a secure url
Modified http://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/quiz/js/jquery.js to a secure url
Modified http://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/js/bootstrap.min.js to a secure url
Modified http://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/js/bootbox.min.js to a secure url
Modified http://cdn.mathjax.org/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML to a secure url
Updated missing url https://c328740.ssl.cf1.rackcdn.com/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML to https://c328740.ssl.cf1.rackcdn.com/mathjax/2.0-latest/mathjax.js?config=tex-ams-mml_htmlormml
Modified http://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML to a secure url
Modified http://slidifylibraries2.googlecode.com/git/inst/libraries/highlighters/highlight.js/highlight.pack.js to a secure url
https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js
https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/quiz/js/jquery.js
https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/js/bootstrap.min.js
https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/bootstrap/js/bootbox.min.js
https://cdn.mathjax.org/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
https://c328740.ssl.cf1.rackcdn.com/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
https://slidifylibraries2.googlecode.com/git/inst/libraries/widgets/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML
https://slidifylibraries2.googlecode.com/git/inst/libraries/highlighters/highlight.js/highlight.pack.js