{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The emh Rpackage" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The emh package allows you to test the effeciency of any univariate zoo time series object in R.\n", "\n", "The package achieves this using the following methodology,\n", "\n", "* Downsample the data into a number of subfrequencies\n", "* Run a suite of statistical tests of randomness on each subfrequency\n", "* Aggregate the results (p values, Z scores, etc.) in a data.frame and return it\n", "\n", "In addition to randomness tests emh also includes a number of stochastic process models." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Installing the package" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first step to using the package is to download it and install it using the devtools R package" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "library(devtools)\n", "suppressMessages(install_github(repo=\"stuartgordonreid/emh\", \n", " force = TRUE))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now check that you can load the package," ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "suppressMessages(library(emh))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Getting datasets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The emh package includes a few functions which allow you to download a bunch of global stock market indices from Quandl.com right off the bat. You can, of course, also pass in your own data. I recommend sticking with zoo objects when using emh because of how the downsampling works." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1] \"DOWNLOADING DATASETS ...\"\n", "\r", " | \r", " | | 0%\r", " | \r", " |= | 2%\r", " | \r", " |=== | 4%\r", " | \r", " |==== | 6%\r", " | \r", " |===== | 8%\r", " | \r", " |======= | 10%\r", " | \r", " |======== | 12%\r", " | \r", " |========== | 14%\r", " | \r", " |=========== | 16%\r", " | \r", " |============ | 18%\r", " | \r", " |============== | 20%\r", " | \r", " |=============== | 22%\r", " | \r", " |================ | 24%\r", " | \r", " |================== | 25%\r", " | \r", " |=================== | 27%\r", " | \r", " |===================== | 29%\r", " | \r", " |====================== | 31%\r", " | \r", " |======================= | 33%\r", " | \r", " |========================= | 35%\r", " | \r", " |========================== | 37%\r", " | \r", " |=========================== | 39%\r", " | \r", " |============================= | 41%\r", " | \r", " |============================== | 43%\r", " | \r", " |================================ | 45%\r", " | \r", " |================================= | 47%\r", " | \r", " |================================== | 49%\r", " | \r", " |==================================== | 51%\r", " | \r", " |===================================== | 53%\r", " | \r", " |====================================== | 55%\r", " | \r", " |======================================== | 57%\r", " | \r", " |========================================= | 59%\r", " | \r", " |=========================================== | 61%\r", " | \r", " |============================================ | 63%\r", " | \r", " |============================================= | 65%\r", " | \r", " |=============================================== | 67%\r", " | \r", " |================================================ | 69%\r", " | \r", " |================================================= | 71%\r", " | \r", " |=================================================== | 73%\r", " | \r", " |==================================================== | 75%\r", " | \r", " |====================================================== | 76%\r", " | \r", " |======================================================= | 78%\r", " | \r", " |======================================================== | 80%\r", " | \r", " |========================================================== | 82%\r", " | \r", " |=========================================================== | 84%\r", " | \r", " |============================================================ | 86%\r", " | \r", " |============================================================== | 88%\r", " | \r", " |=============================================================== | 90%\r", " | \r", " |================================================================= | 92%\r", " | \r", " |================================================================== | 94%\r", " | \r", " |=================================================================== | 96%\r", " | \r", " |===================================================================== | 98%\r", " | \r", " |======================================================================| 100%" ] } ], "source": [ "# This may take some time. Use the S3, $ operator to see the datasets.\n", "global_indices <- emh::data_quandl_downloader(data_quandl_indices())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generating a data.frame with the results from each of the randomness tests is as easy as passing a zoo object into the is_random function in emh. This function will downsample the data into multiple lower frequencies and run a battery of tests on each subfrequency. \n", "\n", "Frequencies are specified by the freqs1 and freqs2 arguments,\n", "\n", "* freqs1 - this specifies the _lags_ to use when computing returns\n", "* freqs2 - this specifies time-aware lags. Options are: c(\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Week\", \"Month\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " | \r", " | | 0%\r", " | \r", " |==== | 6%\r", " | \r", " |======== | 12%\r", " | \r", " |============ | 18%\r", " | \r", " |================ | 24%\r", " | \r", " |===================== | 29%\r", " | \r", " |========================= | 35%\r", " | \r", " |============================= | 41%\r", " | \r", " |================================= | 47%\r", " | \r", " |===================================== | 53%\r", " | \r", " |========================================= | 59%\r", " | \r", " |============================================= | 65%\r", " | \r", " |================================================= | 71%\r", " | \r", " |====================================================== | 76%\r", " | \r", " |========================================================== | 82%\r", " | \r", " |============================================================== | 88%\r", " | \r", " |================================================================== | 94%\r", " | \r", " |======================================================================| 100%" ] } ], "source": [ "results <- is_random(S = global_indices$'YAHOO/INDEX_SML',\n", " a = 0.99, # To get a 99% confident result\n", " freqs1 = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),\n", " freqs2 = c(\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Week\", \"Month\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Viewing the results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can now view the results (a data.frame object) or plot some interesting statistics" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
Test_NameFrequencySample_SizeStatisticTwo_sided_pZ_ScoreNon_Random
Independent Runs (t-1 to t) 7031 3222.000000 0.000000 -6.401018 TRUE
Durbin-Watson (t-1 to t) 7031 2.000085 0.997102 2.759057 TRUE
Ljung-Box (t-1 to t) 7031 40.018562 0.000451 -3.319694 TRUE
Breusch-Godfrey (t-1 to t) 7031 1.493007 0.221750 -0.766295 FALSE
Bartell Rank (t-1 to t) 7031 -4.581588 0.000005 -4.434487 TRUE
Variance-Ratio LoMac(t-1 to t) 7031 0.524304 0.612558 0.285993 FALSE
Independent Runs (t-2 to t) 3515 1615.000000 0.000025 -4.056609 TRUE
Durbin-Watson (t-2 to t) 3515 1.999914 0.997877 2.859250 TRUE
Ljung-Box (t-2 to t) 3515 35.686137 0.001962 -2.884263 TRUE
Breusch-Godfrey (t-2 to t) 3515 0.002772 0.958014 1.728094 FALSE
Bartell Rank (t-2 to t) 3515 -1.561292 0.118455 -1.182746 FALSE
Variance-Ratio LoMac(t-2 to t) 3515 -0.298505 0.427464 -0.182833 FALSE
Independent Runs (t-3 to t) 2343 1107.000000 0.034269 -1.821457 FALSE
Durbin-Watson (t-3 to t) 2343 2.000828 0.983218 2.125265 FALSE
Ljung-Box (t-3 to t) 2343 36.372465 0.001562 -2.955341 TRUE
Breusch-Godfrey (t-3 to t) 2343 1.496615 0.221193 -0.768171 FALSE
Bartell Rank (t-3 to t) 2343 0.044739 0.964315 1.803117 FALSE
Variance-Ratio LoMac(t-3 to t) 2343 2.593742 0.889218 1.222378 FALSE
Independent Runs (t-4 to t) 1757 861.000000 0.467113 -0.082529 FALSE
Durbin-Watson (t-4 to t) 1757 1.993175 0.886997 1.210711 FALSE
Ljung-Box (t-4 to t) 1757 18.857366 0.220270 -0.771281 FALSE
Breusch-Godfrey (t-4 to t) 1757 0.064177 0.800012 0.841665 FALSE
Bartell Rank (t-4 to t) 1757 1.664227 0.096067 -1.304292 FALSE
Variance-Ratio LoMac(t-4 to t) 1757 2.066387 0.898717 1.274274 FALSE
Independent Runs (t-5 to t) 1406 713.000000 0.905517 1.313647 FALSE
Durbin-Watson (t-5 to t) 1406 1.995872 0.938608 1.543194 FALSE
Ljung-Box (t-5 to t) 1406 14.701537 0.473122 -0.067424 FALSE
Breusch-Godfrey (t-5 to t) 1406 0.446644 0.503933 0.009859 FALSE
Bartell Rank (t-5 to t) 1406 1.576687 0.114868 -1.201041 FALSE
Variance-Ratio LoMac(t-5 to t) 1406 0.509927 0.623519 0.314736 FALSE
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllll}\n", " Test\\_Name & Frequency & Sample\\_Size & Statistic & Two\\_sided\\_p & Z\\_Score & Non\\_Random\\\\\n", "\\hline\n", "\t Independent Runs & (t-1 to t) & 7031 & 3222.000000 & 0.000000 & -6.401018 & TRUE \\\\\n", "\t Durbin-Watson & (t-1 to t) & 7031 & 2.000085 & 0.997102 & 2.759057 & TRUE \\\\\n", "\t Ljung-Box & (t-1 to t) & 7031 & 40.018562 & 0.000451 & -3.319694 & TRUE \\\\\n", "\t Breusch-Godfrey & (t-1 to t) & 7031 & 1.493007 & 0.221750 & -0.766295 & FALSE \\\\\n", "\t Bartell Rank & (t-1 to t) & 7031 & -4.581588 & 0.000005 & -4.434487 & TRUE \\\\\n", "\t Variance-Ratio LoMac & (t-1 to t) & 7031 & 0.524304 & 0.612558 & 0.285993 & FALSE \\\\\n", "\t Independent Runs & (t-2 to t) & 3515 & 1615.000000 & 0.000025 & -4.056609 & TRUE \\\\\n", "\t Durbin-Watson & (t-2 to t) & 3515 & 1.999914 & 0.997877 & 2.859250 & TRUE \\\\\n", "\t Ljung-Box & (t-2 to t) & 3515 & 35.686137 & 0.001962 & -2.884263 & TRUE \\\\\n", "\t Breusch-Godfrey & (t-2 to t) & 3515 & 0.002772 & 0.958014 & 1.728094 & FALSE \\\\\n", "\t Bartell Rank & (t-2 to t) & 3515 & -1.561292 & 0.118455 & -1.182746 & FALSE \\\\\n", "\t Variance-Ratio LoMac & (t-2 to t) & 3515 & -0.298505 & 0.427464 & -0.182833 & FALSE \\\\\n", "\t Independent Runs & (t-3 to t) & 2343 & 1107.000000 & 0.034269 & -1.821457 & FALSE \\\\\n", "\t Durbin-Watson & (t-3 to t) & 2343 & 2.000828 & 0.983218 & 2.125265 & FALSE \\\\\n", "\t Ljung-Box & (t-3 to t) & 2343 & 36.372465 & 0.001562 & -2.955341 & TRUE \\\\\n", "\t Breusch-Godfrey & (t-3 to t) & 2343 & 1.496615 & 0.221193 & -0.768171 & FALSE \\\\\n", "\t Bartell Rank & (t-3 to t) & 2343 & 0.044739 & 0.964315 & 1.803117 & FALSE \\\\\n", "\t Variance-Ratio LoMac & (t-3 to t) & 2343 & 2.593742 & 0.889218 & 1.222378 & FALSE \\\\\n", "\t Independent Runs & (t-4 to t) & 1757 & 861.000000 & 0.467113 & -0.082529 & FALSE \\\\\n", "\t Durbin-Watson & (t-4 to t) & 1757 & 1.993175 & 0.886997 & 1.210711 & FALSE \\\\\n", "\t Ljung-Box & (t-4 to t) & 1757 & 18.857366 & 0.220270 & -0.771281 & FALSE \\\\\n", "\t Breusch-Godfrey & (t-4 to t) & 1757 & 0.064177 & 0.800012 & 0.841665 & FALSE \\\\\n", "\t Bartell Rank & (t-4 to t) & 1757 & 1.664227 & 0.096067 & -1.304292 & FALSE \\\\\n", "\t Variance-Ratio LoMac & (t-4 to t) & 1757 & 2.066387 & 0.898717 & 1.274274 & FALSE \\\\\n", "\t Independent Runs & (t-5 to t) & 1406 & 713.000000 & 0.905517 & 1.313647 & FALSE \\\\\n", "\t Durbin-Watson & (t-5 to t) & 1406 & 1.995872 & 0.938608 & 1.543194 & FALSE \\\\\n", "\t Ljung-Box & (t-5 to t) & 1406 & 14.701537 & 0.473122 & -0.067424 & FALSE \\\\\n", "\t Breusch-Godfrey & (t-5 to t) & 1406 & 0.446644 & 0.503933 & 0.009859 & FALSE \\\\\n", "\t Bartell Rank & (t-5 to t) & 1406 & 1.576687 & 0.114868 & -1.201041 & FALSE \\\\\n", "\t Variance-Ratio LoMac & (t-5 to t) & 1406 & 0.509927 & 0.623519 & 0.314736 & FALSE \\\\\n", "\\end{tabular}\n" ], "text/plain": [ " Test_Name Frequency Sample_Size Statistic Two_sided_p\n", "1 Independent Runs (t-1 to t) 7031 3222.000000 0.000000 \n", "2 Durbin-Watson (t-1 to t) 7031 2.000085 0.997102 \n", "3 Ljung-Box (t-1 to t) 7031 40.018562 0.000451 \n", "4 Breusch-Godfrey (t-1 to t) 7031 1.493007 0.221750 \n", "5 Bartell Rank (t-1 to t) 7031 -4.581588 0.000005 \n", "6 Variance-Ratio LoMac (t-1 to t) 7031 0.524304 0.612558 \n", "7 Independent Runs (t-2 to t) 3515 1615.000000 0.000025 \n", "8 Durbin-Watson (t-2 to t) 3515 1.999914 0.997877 \n", "9 Ljung-Box (t-2 to t) 3515 35.686137 0.001962 \n", "10 Breusch-Godfrey (t-2 to t) 3515 0.002772 0.958014 \n", "11 Bartell Rank (t-2 to t) 3515 -1.561292 0.118455 \n", "12 Variance-Ratio LoMac (t-2 to t) 3515 -0.298505 0.427464 \n", "13 Independent Runs (t-3 to t) 2343 1107.000000 0.034269 \n", "14 Durbin-Watson (t-3 to t) 2343 2.000828 0.983218 \n", "15 Ljung-Box (t-3 to t) 2343 36.372465 0.001562 \n", "16 Breusch-Godfrey (t-3 to t) 2343 1.496615 0.221193 \n", "17 Bartell Rank (t-3 to t) 2343 0.044739 0.964315 \n", "18 Variance-Ratio LoMac (t-3 to t) 2343 2.593742 0.889218 \n", "19 Independent Runs (t-4 to t) 1757 861.000000 0.467113 \n", "20 Durbin-Watson (t-4 to t) 1757 1.993175 0.886997 \n", "21 Ljung-Box (t-4 to t) 1757 18.857366 0.220270 \n", "22 Breusch-Godfrey (t-4 to t) 1757 0.064177 0.800012 \n", "23 Bartell Rank (t-4 to t) 1757 1.664227 0.096067 \n", "24 Variance-Ratio LoMac (t-4 to t) 1757 2.066387 0.898717 \n", "25 Independent Runs (t-5 to t) 1406 713.000000 0.905517 \n", "26 Durbin-Watson (t-5 to t) 1406 1.995872 0.938608 \n", "27 Ljung-Box (t-5 to t) 1406 14.701537 0.473122 \n", "28 Breusch-Godfrey (t-5 to t) 1406 0.446644 0.503933 \n", "29 Bartell Rank (t-5 to t) 1406 1.576687 0.114868 \n", "30 Variance-Ratio LoMac (t-5 to t) 1406 0.509927 0.623519 \n", " Z_Score Non_Random\n", "1 -6.401018 TRUE \n", "2 2.759057 TRUE \n", "3 -3.319694 TRUE \n", "4 -0.766295 FALSE \n", "5 -4.434487 TRUE \n", "6 0.285993 FALSE \n", "7 -4.056609 TRUE \n", "8 2.859250 TRUE \n", "9 -2.884263 TRUE \n", "10 1.728094 FALSE \n", "11 -1.182746 FALSE \n", "12 -0.182833 FALSE \n", "13 -1.821457 FALSE \n", "14 2.125265 FALSE \n", "15 -2.955341 TRUE \n", "16 -0.768171 FALSE \n", "17 1.803117 FALSE \n", "18 1.222378 FALSE \n", "19 -0.082529 FALSE \n", "20 1.210711 FALSE \n", "21 -0.771281 FALSE \n", "22 0.841665 FALSE \n", "23 -1.304292 FALSE \n", "24 1.274274 FALSE \n", "25 1.313647 FALSE \n", "26 1.543194 FALSE \n", "27 -0.067424 FALSE \n", "28 0.009859 FALSE \n", "29 -1.201041 FALSE \n", "30 0.314736 FALSE " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "head(results, 30)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deWAU5d3A8QcQiVxB8AQ5jIAW\ntaAEFGqFqsDr0VbFGxUvrGItaNW22qqVitajHryoFZWqr1rvohUPWpDiAYKgtN614EGVasGA\n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\nw1KfbZu6lz3zZ5yTWUF3Zz90TkjppXrnvDIzhzo5WTfCOzHDOUp/gdafO9Pdk4Ay5aTnsgop\n5yYGhOS9B3IGV++T+mLHVEg5S7YKKf9dsS51oFf19YSU+VbTzEK3SQ3rkDovyTlIoMo8J23l\nhuRZ5Tep8yKUc8TZhJSzUr9NxLMtNbrigkQlJP12aqs/wnk2XHcf6q/PaONM7fenfEMy29Pj\n7d2f15Iyc9X+useV+/Ro43hn/Lh56e00e/6MxG+7uhMPSp3tlhNSeqmeOZPX7pjaEn5cWT/C\nOzHDeVL/iLk2P+bd3AmZrSs9l11I3psYEJL3HsgdvPZQZ0F73ZkOybtkq5B87op5zokk6vRZ\n3pAyd2GKs9BrzAMwtXNmD9pfVfYZFFk/g8ZXqT9yT1866IFUSDkr9d1EPNtSYysuSHT+Qzb5\n/qO/ffDtBpP/85ebb3+xyneI64Pf//bhCvMb65nr/1S/3yz57r0zXq2Zb37l5p//m6Wzb5j7\ncZ4blV6qd85Nf7332hlzPvOO8EwMlJnLju9NbDDYcw/keuPWGa9l/ftXqCWn5L8rvppz3a1v\nNhjf8Ftd8/i1D3+d+aTaZPVWg5l8Vpl87ebr5yfSJ602WKnfJuLZlqxWHEJ0QpJ3zU9/erdz\nfaF7ugwi6RmlhjRhtrqQtvSK82nNIZ1i/t5f/vLiC9tkjuAjaq6eap6v3daEGQsNqckrzqc1\nh/TltzNPL3/a0jcFjXP+raN3VfC4BgoNqckrzqc1h6RrHhgzoKTHvhPfaOkbgjx26TR0ku3z\nSo9CQ2ryivNp1SEBWwohAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIE\nEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIE\nEBIggJAAAYQECCAkQAAhAQJaMqR1y/wtT7TgjQPCaMmQzlYB5rbgjQPCaMmQTvuf+b46/akF\nbxwQBiEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQI\nICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQI\nICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQI\n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\nMyz5t3l1buYvElq/kCElS4a71+Ud6w7JfnmY2uGu2vyz8NAORSDszoay7k4ztd37ZyZU7q+O\nyLefwUVIKAJhQ5qilpjLxWpqZsKv1NSE7xyEhCIQNqQVamytrjnEOWpUuWqN+dvUc9uv/ecg\nJBSB0OfaTVDlU4eoieajeWqw1v9Spful/DvPDISEIhA6pOpp/dqXTXdOb3BDml+3k3tVnhkI\nCUWA/0cCBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQ\nQEiAAEICBBASIICQAAGtJaSNy/yt8HkJy5ZXFXDrX893FzZZ9fKAVVbZL6smaFnfSN/6CGot\nIV2gAjzR7N9oAa4LuvUzpdd4Z9Aar7Zf1v8FLesy6VsfQa0lpMkHzPG17YPN/o0W4KpB/re+\n7EbpNd7a13+Ne19uv6y7dvZf1rCLpG99BLWakEb7j+oR7ZD29r/1A+RDKvNf4z5hQurpv6wR\nhCSBkIIRUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQ\nUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQ\nUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQ\nUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQ\nUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQUuwRUhQQ\nUuwRUhQQUuyFDik5c2SXETOSnmmzSn1mIKRghBR7oUM6R/Ua31NNyp5UM4yQCkNIsRc2pLfV\nsCpdWa7m10359zP/owipMIQUe2FDmqwWmsuF6tS6KZ2UIqQCEVLshQ1pQGmNuawuHVg35akn\nn+xHSIUhpNgLG1LncvdqqCedwYRUGEKKvZAhbVRj3esxqjJraoOQvjr/7Do/JKRAhBR7IUNa\nrca710erj7KmNgjpywnH1jlIbcqzMELKIKTYCxlShRrnXo9RFVlTeWhXIEKKvZAhJUuGu9fl\nHbMPyRJSgQgp9sLubCjrXmsua7v3z55ISAUipNgLG9IUtcRcLlZTsycSUoEIKfbChrRCja3V\nNYeolVpXrlqTnkhIBSKk2At9rt0EVT51iJpoPpqnBqenEVKBCCn2QodUPa1f+7LpzukNhCSG\nkGKP/0eKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKK\nAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKPUKKAkKKvdAhJWeO7DJiRtJnQg5CCkZIsRc6\npHNUr/E91SSfCTkIKRghxV7YkN5Ww6p0Zbman3dCLkIKRkixFzakyWqhuVyoTs07IRchBSOk\n2Asb0oDSGnNZXTow74RchBSMkGIvbEidy92roaV5J+QipGCEFHshQ9qoxrrXY1Rlngkpf19W\n5578IY24w9c2qZCG+4/qnAppqP+oUjekb5b5W1HrjKoMGuX8DdZVr0uMWl7tjLpqgP+t7+OG\ntHl5wLI224x6fZMz6tZe/mvc3Q2pZkXAsqqcUXdt77+svd2QagOWtewbZ1TijYBRX1uN2uiM\nSgaN2hBu4/cVMqTVarx7fbT6KM8E1z/bqHptavIsbKoK8KIz6uKgUfOcUZcGjZrrjLomaNTz\nzqgbgkb92Rl1c9CoJ51RM1Hvt+MAABDnSURBVINGPeKMujVo1N3OqD8EjZrtjHogaNSdzqj7\ngka56T4ZNOpmZ9RjQaOmOaOeDxp1jTNqftCoq5xRi4JG/coZtTho1M/Dbfy+QoZUoca512NU\nRZ4JKRvX1cvbfWKdv4oQo5Iio74KMUqLjFofZtR6iVHrwoz6SmRUMsSoCpFRiRCjZIQMKVky\n3L0u75jMMwEoRmF3NpR1d55G1Hbvn3cCUITChjRFLdHOo8+peScARShsSCvU2Fpdc4haqXXl\nqjXeCUDRCn2u3QRVPnWImmg+mqcGeycARSt0SNXT+rUvm+7s0U6HVD8BKFrN//9IQBEgJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASICA6IVW++LufXXLjgkpG2Y2K7A2L96imikpIy0/vuPN3Tzv9uz07\nnr6CUcGjInvD4j2q6SIS0tmDbs28u8+tg37EqKBRkb1h8R5VgIiE9Jesd1dK/oVRQaMie8Na\nclSy8Lu16SISkjHFff/W9Zcyym6U7MIsJT7dvOXeUO6zCv1Zmv/AN1KXo7fAbcorIiG9ef/9\n6g/3G1fkfXd0RjXbwrR+96jBLv9RG4/poFYdc1G+N9d2lNbzX9aoNJ8h6qc6826v/svqtkjr\ntWe3/b7/qHfHD3X5j2qqiIR0++DB6tvOT3KfmxllMUp2YVoP33vmQw7/UWfvuaTLquf7/NRn\nyKJFi+7ufNFTT1+803z/Zd1u/O7knf/oM+SLr/X6NP9lzer8xPVd93zBf5AeNnyW8zvl/oBh\nTRSRkIyhVu8Mw6hmWVjnV21GdX9el67SD+/sP+qAmc7lzANslnjnif5fv/IfNkvRT3To+r+B\n32fHJVbLaqLohIQWdFDA34+U7Rc7If2lh/+oLi87ly91sVniW9v6f33f62yWovWCHgF/TI2R\nC+yW1TSEBOON79y9/B3Df9QpP6wqXbV22PH+o0YcX6315mMD/iJ94fjg5H7+o5bve9NrHxg+\nQzq42ihz4TPKLOPp3e9dGbCsAhASDLsn9esP6tpmYIf9/+M/anm3PhNO6r3tmzZr7Phowbdr\nRT2LBQV+j01FSDBq0gKGJV+/755XAvd/r7vl3PNnVgQMSu3Wrg4YVZUWtMrA3fI19YKW1TSR\nCmndFzYHKRjVkqu0IXS06RO//ezZLHbLa+kjarmiE1LNVdsptd20WkbZjWqBVVoc+9G2m7XF\nUR211DR50+f+y3FY7Ja3PqLWVNEJ6Vc7zn7/g9k7XMkou1EtsEqLYz/aarPWVkd1nJBqnIsg\nFrvlrY+oNVV0Qur3hHP56K6MshvVEqt0BR37sTvaZHFUxzoku93ylofnmig6IXVzjwm+EnBg\ngVEtuUpX0LEfu83a4qiOdUh2u+WbV3RC+v6h681TwUN/wCi7US2wSrtjPxabtd1RHeuQ7HbL\n251P2FTRCemTb3Xef//Oe3zMKLtRLbBKu2M/Fpu13VEddcKUKec7F1Om+K/Rbre83fmETRWd\nkHTtszffNDfwcSyjWm6Vdsd+LDZru6M6B9cLWqXNDne78wmbKjohRfX/fqI6akv/P9LTAadg\np/Q+6baVCaFlWbPb4W53PmFTRSSkqP7fT1RHiS7s+Ho+o2yerGg9dWSJKj1s+t/8X2LEblnW\n7Ha4251P2FQRCSmq//cT1VGiC1NqxOTzUvxGWW781ct/f+bebduPvFhgWZbsdrgXy7l2Uf2/\nn6iOklvYkxN79D7/L0FPfcJs/BV/HOq/G0E2JLsd7kV0rh1aSM2LF5R1O/mxjX5jVEmnDN9l\nVc2/bP92PY65/T2BZVmyPo4keD5hLkKCK7ly2tCSw30GqN88lOEzavrBJZ0Pv/GNgP0NdstK\nsdj47Y4jWZ7C2ESEhJTEq5fs5PdfrXYPx5Qa80Lwa5laP7Sz3PitjiNZnsLYRIQEY/Nz5+y0\nw6RnNvkMsdv4V95y5LYdRl+50G9JIUKy2PjtdrjrcOcThhezkCo/ce+zzV8ED622+hv+3AaL\nQV9/EHgQ0hn1vv+BjGcDXp3N42Pf5yuu5PrPbJ441/436MZveOSkrmUXLgq4vw5/32JljsTy\nG4/oWnLQNIllWWz8djvcdbjzCcOLVUgVp7RTfZ4yHzztd7MTd/3g0NuSp3XqeObXwYts93ff\nLx+/QuuNp7ZRW1/itzV+c/FxuuIkpdpP9UtJdZ1p0XbNdd895u/vDVTqZP9b/9iB7ZVSO/5o\npe+o+eN3bGseGx33V79BHdT+v537rCv49tlIvDXLf6+dNauN32aHu7Y+hbGJYhXS2f2fW3p2\n2wUBIV3V6ZxL+o0pn/9U/4t8RqVOYBysBvqexajMpnV+rydXz+33a59Rp+/yoD5z4PMfzenz\nc79lzThun8cDH4Rc1u3iqw7Ybd/lywZf6Dfsjs7T5s3q/cs5Z3R5yWfU3Vv96LFXVr7y+Hkl\n9/mM6tRJcB/a53MuPbir2uHom5YVvqwQG3/QDndtfQpjE0UkpN3q+Yza/jnzgOb0vl/7h9T7\nj1qvUPO1ntPXZ9QtHQfdPGPGjDa/mDHDZ5QT0i7OP7I97ne7Sh/Teoe55oM5vf2XtfTg3W8M\n+EH2ekTrD9U8rZ/p4zdsj9nmYkmXGn3tKJ9RA+5Mf/Donv5rFdNXqd1Ou+s9qb3MVhu/zQ53\nh+UpjE0TkZBWH6Omz07xGbWz2b70V70m+4fk/I7etNOHWr/W1W+V/zxw5LuBD+2ckHZYZD6Y\n381n1CAT0h7Pmw9e8Du47iwr+fyBbYdN+T+fUd3Mrf+6jfl1/qrvKULdFpuLDeojvaCzz6jt\nM68+umxHv4UJOv/hf4suL3jjt9vh3uwiEpJe19biHKiTh6wwT1UWtL32Mb+bPWZc6oBC8kL/\nV1VPzOjx25qgkE6Z9fwxpyd15XHjfEbN2O6Br+/a94Pkm3tN9ltW6hnIRzcc7pfIicMXrTi+\n41mJ2lPH+t2wow9dp6sv2SHx2aHf9Rl1bv8/O8/BK5/b0++GhSF5SNNiWRan3NrtcLc7n7AA\nUQlJX26xT6vie2qYuXq8a3u/m/3PwepYc/WPPbaeG7C8D0eXt/EP6bIJ39mljfpCH9D1bb9h\nt+3aZrt2qv02Z/vubKh7Ku+3z+HLI9u2GbNm0C69erzht8bPhpR8a9vS5/XxA97yGbVpSmnb\nHn17tO12gc1ux0CShzQtlmV3yq3lDner8wkLEJmQ7Lz/mnO58dHpfoMSbzqvB7Bq9keBi0vc\nceangYM2f1ijnwp4mbbEG8/e98iLX/mOuX9N4KpclRvM49eH7g74xVL7wq0PfaH1xwFb9TdL\nnvrDnFf9NzJrkoc0LZZl/YIlFjvc7c4nLEDMQkKzsXigJXlI025Zti9YYrHD3eZ8wgJEKqQd\nVjMqzCjbYcHsHrRZH9K0iFLu8Kj9DvfA8wkLEKmQSlcxKswo22HB7B602R3VsYtS7PBomB3u\nQecTFoCQYjwqcJjd4Tlt+0DL7pCmXZRih0etd7hbnE9YgEiF9EerB7CMsh5md3hOWz/Qsjqk\naflMqlkPjzZgdz5hAaITUlRfZCSqo6yGWR2e07YPtOxumF2UFsuyfjNmC+LnE+aKSEhRfZGR\nqI6yflF4m8Nz2uqBlvXL0FtEabcs6zdjtiB6PmFjIhJSVF9kJKqjxF8UPviBlvUaLaK0W5b1\nmzFHQURC0tF9kZGojhJ9UXi7B22Wa7R69mO3LMs3Y27WV2OwE5GQEnk/YVQhw1xBR5uE3ztI\n8g297N6MuXlfjcFOREIaduO6zIf/vWEYo4JG2Q5zBe0kl3yYKBylxZsx6+Z+NQY7EQnpi3N7\nHHfF/a+8fN8Vx/aYnPf/yBkVdpjL4qCU2MNE4edudjsbmvfVGOxEJCTzIPeO4/p36dr/+N/7\nPrFkVNhh2vqglBTJ5252b8YseepSU0UmJDQP2bcgFnqbZTvWb8YseepSUxFSayb8jMXuXR/s\nWLyxs/WbMUueutRUhNSaCT9jsXvXBzsWb+xs/Y59oqcuNREhtXKSz1js3vUhDN83drYOSfLU\npaYipNbM+miT3fur2r3rQxi+b+xsF5LkqUsFIKTWzPpok937q1q860NpPf9lWbyxs11Ikqcu\nFYCQWjPro012769q8a4PixYturvzRU89ffFOAW80afHGztZvxix56lJTEVLrZnm0yfL9Va3e\n9eGAmc7lzAP8R1m8sXOIN2O2IXsgIBchQcu+v2qXl53Ll5rpX7qbSPhAQEOEBG17Ko7FsR9j\nxPHm78zmYwP+Ir07fqjLZ0iYE3ODSP/bSQOEBG37/qoWx36M5d36TDip97Zv+o8aNnyW8wfi\nfr8hIU7MdQQ85pQ8ENAQISHF+jw032M/7pJuOff8mQGvqKk7LglckfWuktRr0r7h/wrVzYyQ\noMOdh+Z77Mdlc0beyAUWq7LcVdJtkdZrz277fYslNhtCgrY9D83i2I+2OiPvgw8+eHr3e1cG\n/6eRnVmdn7i+654vBA9sRoQEbXsemsWxH211Rp6qF/KGNu6JDl3/d4u9slfjCAna9jw0i2M/\n2uqMvJp64W5nPgt6BJyU0ewICdrqPLSnbV/Kx+KMPOtlWejgaqPMhf9Aix3uBSAkaKvz0Kz+\nn8FhcUae9bIsrKjnP9Bih3sBCAmO4PPQrDd+izPyJENy2ewntNjhXgBCgh37jT/4jDzhkOz+\nc9dqh3uTERLs3l9Vldi86G/vk25bGXw2j92yrFnsJxTe4d4QIcHu/VXVbx7K8Bk1dWSJKj1s\n+t/83x7ZblnWLPYTSu9wb7iC5lksYsTu/VVtH45VL//9mXu3bT/yYoFlWbLYTyi+wz0XIcHu\n/VXDbPwVf/R/R1fhkCz2E2r+HwlbROD7qx7+vt2CquZftn+7Hsfc/p7AsixZ7Cfk/5GwhQS9\nv6rdfwdNP7ik8+E3vhGwv0HyP40cwfsJ+X8kbAkW769q999BSo15wX9Hg/2yQrA5jsT/I6F5\n2b2/qt1/B6285chtO4y+cqH/Wx6HeQsAC5KvANtUhATb91e1/O+gxPIbj+hactA0iWXZsXsF\nWLvX7msqQoL4+6sm3prlv9dOmN0rwNq9dl9TERJEfT7n0oO7qh2OvmnZllun3SvA2r12X1MR\nEiT3ofVVarfT7npvy76hq91xJMvX7msiQoLkPrTzH/53oTcnPIvjSFr2tfsaIiRI7kOTPkJk\nx+oVYDnXDs1Nbh+a+BGiQHbnm2vb1+5rKkKCJOEjRBbszjdP4T1kERuiR4is2JxvrnkPWSBY\n0PnmmveQBfzZnG+ueQ9ZwI/d+eaa95AF/Nidb655D1nAj9355pr3kAUCWJ1vznvIAkG29Pnm\nDRESYs7qfHO71+4rACEh3uzON7d77b4CEBLize58c7vX7isAISHebM83t3ntvgIQEuItxPnm\nga/dVwBCQryFOd886LX7CkBIiDvL880tXruvAISEYmD32n0FICQUA9vX7msyQkIxEH/tvlyE\nBAggJBSDZn91I0JCMWj2VzciJBSDZn91I0JCcWjmVzciJEAAIQECCAkQQEiAAEICBBASIICQ\nAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQ\nAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQ\nAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAH/D2/fUEB6Ab03AAAAAElFTkSuQmCC", "text/plain": [ "Plot with title “Percentage of tests with non-random result by frequency”" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deaBUZd3A8edCCLJdQVTEDdnc\nw+QiihZkLIZmKpYpLilaam+Jmr2+WmlZ7r5aRJiaa69lZrikuYWRmqC5ZGn68iq4IKEmIcrF\n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\n91o+DA90KX5ETCmkwL5zwsM5+yoMVYu7TXPjFzH1EVL+vRYt6l/+/5Xau4j9HgsPH9V4iVj9\nbtPdQkAcIZVTyy//O7b34S3B/4kvqPxH0r7bdLcQEFcfIR00c+Zx4cHMmToD6n75f4fITvt+\n4S6FhyVPb7LtjCO3GfBX9yPp3226WwiIq4uQDuikM6Dul/9/vemxc392/OY/PnvQHIXR3v3R\nyV+fs0phIP27TXcLAXF1EZI63Y+ITZ4dHv7ki/b3OjvbqNkTctd0txAQR0jl6H5ErH/0NOKJ\nRvvaxu4Hq+UTcteUtxAQQ0hlqX5EbOIxwfP/lmP3zfzg4+4Hq+UTcudUN34RR0gltjnyp8+1\naw740tZDDj54q8F/u7rn79wPVssn5DreuLAWoxJSiVnje5nGaRf8aY3aiM2/OPtb179vX3ld\nYaxaPiHXofQNySL1EpLq57Fbnv7ZzN269Rhfkw2kOab4hHxJJ4XROhBSRbX4PPaqX43R2rCB\n6i4bFJ+Qm04Ko3UgpIq0P4/dPP+cvbpvetjcl1RGU95lg94T8tWdNIbLI6RqFD+PfcFnevU9\n4PJn9V5v0N71sxbdh3az804npHQwZvIDei80WNVdNrx17uOtm4Y0duui+9Buu04Ko5Wol5AU\nn0c896ODB/SceN4Cta/+6+2yYdmw7Z5tNVfNGTZDY499NXpoVxv1EpLu84j2py8/sH+v/c7X\nGU3vz/bJu62KPo+9euQ894NldfU91ubVS0jazyPan79G7VU7vV02DL0u98WGqya5Hyyku8fa\nWqqXkDR3/fbPO8/+TH+z+aFXqGxFX1PPh4I/Ebf9y9oHlN5H0N1jbS3VS0iKu37bzpjhX772\nJb0HJHp72hiZ3+PFj3ZxP1hId4+1tVQvISm+/PP1W99UGKWA3p42vjFsZXS8aqjSHht091hr\n2WbDOinv+q0GNPa08c52O9+xMvPWr0YO/7f7wUK6e6xlmw1JKL/8o7SluU4qe9p447AGs7Ex\nR2t8PDaku8dattmwbuov/+htIEt3Txsr7r7pjytURoqo7rGWbTasm/rLP4oh6e5pQ5XuRtTZ\nZsO6qb/8o7elOe09bag9alX/0D7bbFg39Zd/tCx+2y7Oe0PnMZDWP1v1jaizzYZ10335R/GT\nfeaMgg93fkVhQNVHrcobUWebDeuk+/KP4if7Wts6XtpvuaO3woCqj1rP+7vaUMtX5R4jL1+u\n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", "text/plain": [ "Plot with title “Percentage of tests with non-random result by test name”" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_results(results)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpreting the results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the two graphs above we can see that there are a large number of non-random results at the $t-1$ to $t$, and $t-2$ to $t$ frequencies. \n", "\n", "This might imply that the selected market, the small cap index of the S&P 500, is non-random at those frequencies. When we look at the second graph we see that most of the results were produced by the Ljung-Box and Durbin-Watson statistical tests which implies that there might exist some serial correlations in the data which are significantly different from zero. These tests do not tell us how _economically_ significant the serial correlations are nor does it tell us _where_ in the data these serial correlations were observed. These questions are best left to the entrepid quant trader to answer." ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.2.3" } }, "nbformat": 4, "nbformat_minor": 1 }