{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ThinkDSP\n", "\n", "This notebook contains code examples from Chapter 9: Differentiation and Integration\n", "\n", "Copyright 2015 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Get thinkdsp.py\n", "\n", "import os\n", "\n", "if not os.path.exists('thinkdsp.py'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/thinkdsp.py" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from thinkdsp import decorate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Difference\n", "\n", "As the first example, let's look at the Facebook data again." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists('FB_2.csv'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/FB_2.csv" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1977" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "df = pd.read_csv('FB_2.csv', header=0, parse_dates=[0])\n", "len(df)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1976" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import Wave\n", "\n", "ys = df['Close']\n", "\n", "# for these examples, we need the wave to have \n", "# an even number of samples\n", "if len(ys) % 2:\n", " ys = ys[:-1]\n", "\n", "close = Wave(ys, framerate=1)\n", "len(close)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the time series looks like (ignoring the gaps between trading days)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "close.plot()\n", "decorate(xlabel='Time (days)', ylabel='Price ($)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the spectrum on a log-log scale." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3dd3ib1dn48e8t7+3E2XYSZ29CEmcxwg5JIazSsl52mT9o4S204W0p0AV9eVtaWtqy08HeBChhQ4CE7L3JdIbjxImdeNs6vz+kR5ZlSX5kS5bk3J/r8oX9LB1FxHfOOfe5jxhjUEoppWKNI9oNUEoppfzRAKWUUiomaYBSSikVkzRAKaWUikkaoJRSSsWkxGg3oD26detmCgsLo90MpZRS7bB06dIDxpjuvsfjOkAVFhayZMmSaDdDKaVUO4jIDn/HdYhPKaVUTNIApZRSKiZpgFJKKRWT4jJAicgsEXmivLw82k1RSikVIXEZoIwxc40xN+bk5ES7KUoppSIkLgOUUkqpzk8DlFJKqZikAUoppVRM0gCllFIqJmmAUkopFZM0QCmllIpJcRmgdB2UUkp1fnEZoHQdlFJKdX5xGaCUUkp1fhqglFJKxSQNUEoppWKSBiillFIxSQOUUkqpmKQBSimlVEzSAKWUUiomaYBSSikVk2ImQInIqSIyX0T+LiKnRrs9SimloiuiAUpEnhGR/SKyxuf4DBHZKCJbRGS2+7ABjgKpQHEk26WUUir2RboHNQeY4X1ARBKAx4CZwEjgMhEZCcw3xswEfgo8EOF2KaWUinERDVDGmC+AMp/Dk4Atxpitxpg64EXgfGOM033+EJASyXYppZSKfYlReM18YJfXz8XAZBG5CDgbyAX+EuhmEbkRuBGgX79+EWymUkqpaIpGgBI/x4wx5nXg9dZuNsY8ATwBUFRUZMLcNqWUUjEiGll8xUBfr58LgD2hPED3g1JKqc4vGgFqMTBERAaISDJwKfB2KA/Q/aCUUqrzi3Sa+QvAAmCYiBSLyPXGmAbgNmAesB542RizNsTnag9KKaU6OTEmfqdxioqKzJIlS6LdDKWUUu0gIkuNMUW+x2OmkoRSSinlLRpZfO0mIrOAWWm9B3PCgx+361mTBnTlx9OH0bdrengap5RSKizieoiv16BR5sqHnm/z/bUNTj5Ytw+ngWtPLOTWUweTk5YUxhYqpZRqTaAhvrgOUOGYg9pbXs3D8zbyxvLd5KYlcceZQ7l8cj+SEnT0UymlOkKnClDWEN/gwYNv2Lx5c1ieuWZ3Ob95dz0Lth5kYLcMZs8czlkjeyLib12xUkqpcOlUAcoS7iw+YwyfbNjPb99bz7ellUwe0JWfnTOC4wpyw/YaSimlmtMsPhtEhDNG9OT9O6bxqwtGs2X/Uc77y1fc+dIK9hyujnbzlFLqmBKXPahIDPH5U1FTz98/+5anvtyGANefNIBbTh1EVqomUiilVLjoEF877D5czcPvb+DNFXvIy0jmjrOGctnEviRqIoVSSrWbDvG1Q35uGn+8dBxv33Yig3pkcu+ba5jxp/l8sqGEeA7wSikVyzRAheC4glxeunEKT1w5AafTcN2cJVzx1Des3aM1AZVSKtw0QIVIRJg+qhfz7pzG/bNGsn5vBef++UvuemUl+8prot08pZTqNOJyDqqjkiTsKK+u56+fbuHZr7bjcMCNJw/kxlMGkZkSl1WklFKqw2mSRITtKqvif+dtZO7KPXTLTOHH04fyvQkFmkihlFKt0CSJCOvbNZ0/XzaON249gcK8dO55fTXnPPoln23cH+2mKaVUXNIAFWbj+nXhlZun8rcrxlPT0Mg1zy7myqe/Yf3eimg3TSml4ooGqAgQEWaO6c2Hd57CveeOZFVxOec8Op+fvrqKkgpNpFBKKTt0DqoDHK6q4y+fbOEfC7aT6HBw0ykDuXHaQNKTNZFCKaU6VZJELGXxhWLHwUr+9/2NvLt6Lz2yUrhr+jC+O6GABIdWTFdKHbs6VYCyxEsPytfSHWX8+t31LN95mOG9svjZOSM4eUj3aDdLKaWiQgNUjDHG8O7qvfzu/Q3sKqtmWM8spo/qyVkjezImP0f3oVJKHTM0QMWo2oZGXl68i3dW7WXx9jKcBnplp3LWSFewmjIwj+REzWVRSnVeGqDiQFllHZ9s2M+H6/bx+aZSauqdZKUkcurwHkwf2ZNTh3XXrT6UUp2OBqg4U1PfyJebD/DBun18vH4/ByvrSEoQpg7q5updjehJr5zUaDdTKaXaTQNUHGt0GpbvPMQH60r4YO0+th+sAmBsQY57KLAXQ3tmhjxvVdfgpKSihj2Hq9lbXsPhqjq+M6Y3PbI18CmlOo4GqE7CGMOW/UddwWpdCSt3HQagf146Z43oyfRRvZjQvwsApUdq2VNezd7DNewtr2aP9d9yV1A6cLQW34+/S3oSD150HDNG9+rot6aUOkZ1qgAVr+ugIqGkooaP1pfwwdoSFnx7kLpGJ5kpidTUN9LgbP7Zpicn0DsnlT65afTOSaV3Thp9cpv+W9vgZPZrq1m9u5zvTSjgvvNGaVV2pVTEdaoAZTkWe1DBHKmp5/NNpSzcepDs1CR656bRxx2I8nPTyE5LbHUYsK7ByaMfb+avn22hoEs6j1wylgn9u3bQO1BKHYs0QKmQLNlexp0vr2D3oWpuPXUwPzpzCEm6dYhSKgJ0uw0VkqLCrrz3w5P57vgC/vLpFr77t6/5tvRotJullDqGaIBSAWWlJvHw98by9/8az86yKs55dD7/WriDeO51K6XihwYo1aoZo3sz745pTBqQx71vruG6OYvZf0S3DVFKRZYGKGVLz+xU/nHtRB44bxRff3uQGX+cz9ffHoh2s5RSnZgGKGWbiHD1CYW8+8OT6JqRzNXPLOLVpcXRbpZSqpPSAKVCNrhHFq/dcgITC7ty1ysr+cOHm3ReSikVdhqgVJvkpCUx59pJXDyhgEc/3sx/v7yS2obGaDdLKdWJxFSAEpEMEVkqIudGuy2qdcmJDh6++Dh+fNZQ3li+myufXsThqrpoN0sp1UlENECJyDMisl9E1vgcnyEiG0Vki4jM9jr1U+DlSLZJhZeIcPsZQ/jTpcezYudhLvrb1+w4WBntZimlOoFI96DmADO8D4hIAvAYMBMYCVwmIiNF5ExgHVAS4TapCDj/+Hz+df0kyirruPCvX7N0x6FoN0kpFeciGqCMMV8AZT6HJwFbjDFbjTF1wIvA+cBpwBTgcuAGEfHbNhG5UUSWiMiS0tLSCLZehWrywDxev+UEslITuezJhby7am+0m6SUimPRmIPKB3Z5/VwM5BtjfmaMuQN4HnjSGOP0d7Mx5gljTJExpqh79+4d0FwVioHdM3nj1hMZk5/D/3t+Gb+cu46aek2eUEqFLhoByl85bU+OsjFmjjHmnaAPEJklIk+Ul5eHvXGq/bpmJPPcDyZzzQmFPPPVNi547Cs27KsI2/ONMRyqrGPlrsPM31xKeVV92J6tlIod0djspxjo6/VzAbAnlAcYY+YCc4uKim4IZ8NU+KQmJXD/eaM4ZVh37n5lFef9+St+MmMY1504AIcjtJ1/ATbuO8IjH25iR1kVxWVVHKlt8JwTgZG9s5kyMI8pA/M4cXAe6cm6j5VS8S7i222ISCHwjjFmtPvnRGATcAawG1gMXG6MWRvqs3W7jfhw8GgtP31tNR+tL+Gkwd34v++NpVdOaNvKX/L4AtbtqWDigK7065pO367p9O2SRkZKIkt3HGLh1oMs3XGI2gYnI3tn89ZtJ+r2IErFiajsByUiLwCnAt1wZefdZ4x5WkS+A/wRSACeMcb8JsTn6o66ccYYw4uLd/HLuetISXLw4IVjmDmmt617N+yrYMYf53PPzOHcdMqggNfV1Dfy5vLdzH59NT8/ZwQ/OHlguJqvlIog3bBQxYStpUe546UVrCou5/bTB/Pj6cNaved/3ljNa0uLWXjPGXTJSA56rTGGa+csZsn2Q3zy41PokR1aT00p1fE61YaFmiQRvwZ2z+S1W07gwnH5PPbpFtbuCf4ZllfX88ay3Zw3tk+rwQlcC4fvnzWKugYnD/5nQ7iarZSKgrgMUMaYucaYG3NycqLdFNUGSQkO7p81ii7pyfzirbU4nYF78a8tLaa6vpGrphbafn5htwxunDaQN5bvZtE232V4Sql4EZcBSsW/nPQkfjpzOEt3HOL15bv9XuN0Gv69cAfj+uUypiC0f4zcetog+uSk8ou31tDQ6HdJnVIqxsVlgNIhvs7h4vEFjO+Xy4Pvrae8uuVapi+3HGDrgUquDqH3ZElPTuTec0eyYd8R/rVwRxhaq5TqaHEZoHSIr3NwOIRfnj+aQ1V1PPLhphbn/7lgB3kZycwc06tNz58xuhcnD+nGHz7cpNUslIpDcRmgVOcxOj+HKyb3558LtrNuT1O1iV1lVXy8oYTLJvUjJTGhTc8WEa45oZAjNQ2s2HU4pHvX7C7nPh0eVCqqNECpqLtr+jBy05P5xVtrPDvzPvfNThwiXD65X7ueXVTYFYfAwq0Hbd9TeqSWH/xjCf9YsINlO0MLbEqp8InLAKVzUJ1LTnoSs2cMZ8mOQ7y+bDc19Y28tHgnZ43oSZ/ctPY9Oy2JUX1ybAeohkYnt7+wjENVdSQ4hPmbtWK+UtESlwFK56A6n4snFHB831we/M8Gnv9mJ4eq6rnqhP5hefbkAV1ZtvOwrXmo372/gYVby3jwojEc3zeXLzZpgFIqWuIyQKnOx+EQfn3BaA5W1vLrd9cxpEcmUwfmheXZUwbmUdfgbHUe6u2Ve3hy/jauntqfi8YXMG1Id1btLqesUrexVyoaNECpmOFKmOiH08BVU/sjEnrVc38mDuiKtDIPtWR7GXe9spKJhV342TkjAZg2tBvGuNLdlVIdLy4DlM5BdV4/nTGce2YO53tFfVu/2CbXPFQ232z1X1Vi24FKfvDPJeTnpvHElUUkJ7r+WhxXkEtOWhLzdZhPqaiIywClc1CdV1ZqEjedMojUpLallgcyZUAey3YeajEPdfBoLdc8uwiHCHOundis3l+CQzhpcDe+2FyKv6LKdQ1Ov8eVUuERlwFKqVBNGZhHbYOTlV7zUE6n4ZZ/L2NfeQ1PXlVE/7yMFvdNG9qNkopaNpUcbXa8uq6RqQ9+zL+/2Rnxtit1rNIApY4JTfNQTcN8byzfzaLtZfzqgtFM6N/F730nD+kO0CKbb/H2Mg5W1vHeqr2Ra7RSx7hWA5SIpIvIvSLypPvnISJybuSbplT4WPNQVqJEdV0jD8/byNiCHC4eXxDwvj65aQzukckXPuuhvnInTizZUUZVXYO/W5VS7WSnB/UsUAtMdf9cDPw6Yi1SKkIme81DPTl/K/sqavj5uSNxOIJnC04b0p1vtpVxtLYpEH317QGyUhKpbzQBky+UUu1jJ0ANMsb8L1APYIypBsKT/9tGmsWn2sKah/pgXQl/++xbZo7uxcTCrq3ed+7Y3tQ1OHlrhWtbkEOVdazdU8FVJ/QnNcnB5zay/GobGimvalmxXSkVmJ0AVSciaYABEJFBuHpUUaNZfKotJhW65qH+5/XVNDidzJ453NZ94/rmMqJ3Ns8t3IkxhgVbD2IMnD68J5MH5NkqhzT7tdVc9Lev2vsWlDqm2AlQ9wHvA31F5DngY+AnEW2VUhGQk57EyN7ZHK1t4JoTCv1m7fkjIlwxuR/r9lawsricL7ccIDMlkbEFOZw8pBvfllay+3B1wPt3HqzirRW72XqgkroGrY6ulF2tBihjzIfARcA1wAtAkTHms8g2S6nIOGN4D7pnpXDbaUNCuu+CcflkJCfw3MIdfL3lAFMGdiUxwcG0oa4sv2CLeZ/+citOA8bA3vLAgUwp1VzAACUi460voD+wF9gD9HMfUyru/OjMoXx+96nkpCeFdF9mSiLnHZ/Pmyt2s/1gFScM6gbAkB6Z9MpOZf5m/+WQDlXW8fKSYgZ0c/XWig9pgFLKrmA9qN+7vx4DvgGeAJ50f/9o5JumVPglOIT05MQ23XvF5H7UN7oqR5w0xBWgRISTh3Tj0437eXP5bk9lif0VNfxn9V5mv76K6vpGfn7OCACKD1WF4V0odWwI+DfVGHMagIi8CNxojFnt/nk0cFfHNE+p2DE6P4exfXPZe7iaIT0yPcdvP30IG0uOcMdLK5jz9Xaq6xrZWHIEgOQEB9eeWMi0od1xCOz204MyxvCPr7dzpKaB/C5pXDguP2yFcpWKZ3b+KTncCk4Axpg1InJ8BNukVMz6y2XjqKipbxZA+uWl88atJ/LS4l088cW3FHRJ56Lx+UwemMeI3lmeLet756T5HeL7+tuD3D93nefnUX1yGNYrK/JvRqkYZydArReRp4B/40o1/y9gfURb1QoRmQXMGjx4cDSboY5Bfbum+z2e4HBtTx9si/r8Lv4D1Jyvt9M1I5lnr5nI+Y99xfq9FRqglMJemvm1wFrgR8AdwDr3sajRdVAqHhXkprVIR99VVsVH60u4fFI/RvbJJilB2LDPNTzor/q6t9qGRja6r1WqM7KTZl5jjHnEGHOh++sRY0xNRzROqc6koEsae8urqW9sWgv1zwXbcYhwxZR+JCU4GNQ9k437KthaepSL/vo1b6/YE/B5/164k7P/+AVXPbOI8mqtUqE6HzvFYreJyFbfr45onFKdSUGXdJwG9pXXUFPfyC/nruPJ+ds497je9M5JA2BYryw27jvCV9+6itruLQ/8b8GN+ypITXLwxaZSXlmyq0Peg1Idyc4cVJHX96nA94DWC5gppZop6OIKQrsOVfG79zfwzqq9XD21P7NnjvBcM6xXFm+t2MMHa/cBUFYZuKrY9oNVjMnPYf+RWr7ZVsYPTh4Y2TegVAezM8R30OtrtzHmj8DpHdA2pTqVfHeAWrHrMP9Zs48fnDSAB84fTVpy0+7Bw93JEdbC34OVdQGft/NgFf26ZjBlQB6LtpXhdOruvqpzsTPEN97rq0hEbgY0xUipEPXOSUMEnp6/jUan4dJJLTP+hvXKbvZzWYAAVVPfyL6KGgrz0pk8sCvl1fWs31cR9PX/8OEmTvrdJzzy4aa2vwmlOpCdIb7fe33fAGwDvh+Z5ijVeSUnOuiVncre8hom9O/CYK/FvpY+OalkpSZypKaB4b2yAgaonWWuihT98tIpcm8Z8s3WMkb1CZzZ+taK3RQfqubzTaXcedbQMLwjpSLLTpr59caY09xfZxljbgQCjzsopQKy5qEuKerr97yIMLxXFvm5aYwtyG0xxFfX4OSPH21i+c5DAPTPyyA/N40+OamsLD7sue5ITT2nPPwpc1e6sgAbncZTxSJY6rpSscROgHrV5jGlVCv652WQnpzAd47rHfCaX5w7ikcuOZ68zGQOVdZ56vsBfL6plD9+tJnfvrfB9Tz3wuF+eenNFgFvO1DJjoNV3P7CcqrrGtlbXk2De46qNsQtP8oq6/hwXUlI9ygVDgGH+ERkODAKyBGRi7xOZePK5lNKhejH04dy9dRCMlMCj66PKXAN060qPkyD01BR3eCpvv6Fe1uP8up6slMTyXUfL+iS7jkHrlR2y/OLdjKit2vaOD83jeq60HpQ1z67iJXF5ay+fzpZqaFVgVeqPYLNQQ0DzgVygVlex48AN4S7ISIyAle1im7Ax8aYv4X7NZSKtt45aZ41T63Jy0wG4GBlbVOA2lzK4B6ZbNl/lP55GZ6agH27pLP/SC019Y2kJiWwr8IVoJITHKzdU06WOyAO7ZnJ8l2H/bxaYJtKjgKgSYKqowUc4jPGvGWMuRY41xhzrdfXD40xX9t5uIg8IyL7RWSNz/EZIrJRRLaIyGz36603xtyMKwGjyN/zlDqWdM1IAZoy+XYcdA3bXTmlP1dP7c+5XsOE1tyWVUppb3kNSQnChP5d2Fpayc6yKhIcwsDumQF7ULsPVzPkZ++xZnd5s+NW5YuGxvbvBtzQ6GR/hRaiUfYE27DQ2tb9chF51PfL5vPnADN8npuAa4+pmcBI4DIRGek+dx7wJa5t5ZU6puVlWD0oV4D6dMN+AKYN7c4D54/mplMGea61itha81Al5TX0yEplUI8MtpYeZWdZFX1yU8lISaS2wYnTabjzpRXMfm2V5xlfbT5AfaPhmS+3NWuHNXfV0IYuVGVtQ7OkjN+8t55Jv/2Yw1WaZ6VaFyxJwqpYvgRY6uerVcaYL4Ayn8OTgC3GmK3GmDrgReB89/VvG2NOAK4I9EwRuVFElojIktLSwNtsKxXvuroDVFllHe+v2cuD/9nAyN7ZFOa1rKjuqVLhTj/fW15D75xUBnTLpKKmgZXFh+nbJZ20JNei4NoGJ28s382Li5tKJGWnuYYBAy0ObkuAGnXfPL7z6HzPzx+sdSVbHKlpCPlZ6tgTbMPCue7//iPMr5kPeBcOKwYmi8ipwEVACvBekHY9gWt3X4qKinRUXHVaVoDasv8o/1ywndH5OTx1VZHfzQx7ZqeSlCBNPaiKGkb0yWage6v5HQerOGdMb9KSXP8mrfbq1dQ1OElOdFBT7xrCC7T2qq1DfFtLK9t0n1LBsvjm4tr/yS9jzHltfE1/W4UaY8xnwGe2HqD7QaljQGpSAhnJCby7ai/1jYZfnDuSvMwUv9cmOIQ+uWnsOlSFMYa95TWcPrwHA7tneK457/g+rNjpSpDwDlA7DlYypGcWlXWuXk2gAGVtdx8ObemNqWNPsCy+/4vQaxYD3qsUC4DAewr44e7dzS0qKgp7NqFSsaRrZjK7yqrJSklkTH7w/c/6dkmnuKyKipoGqusb6ZWTSn5uGkkJwoBuGQzvle3ZP8p7DmjL/qOuAFUbPEA1OEPrQXnPPdU2NHp6aODqtSnVmmBZfJ9bX8AC4BCu+aQF7mNttRgYIiIDRCQZuBR4O5QHiMgsEXmivLy89YuVimNWJt/kgXkkJgRfV98tM5myqjrPGqheOakkJji4cdpA/ttd2sjafr7EK5Nuy35XGvnRWldAqa5vpKqu5RxRQ4Ae1Ipdh/1u91HhtUfVNc8sZuwDH3h+9g1Qa3aXU15lb0+r/UdquOf11dQ2aEWMzs5OsdhzgG+BR4G/AFtEZKadh4vIC7iC2zARKRaR640xDcBtwDxciRgvG2PWhtJo3VFXHSusTL6TBue1em1acgI19U5Kj7i26OjuHg68++zhzBjd23MNwL7ypm08vi11Baiq2qagtH5vy5166wPMQV3w2Ffc/eqqZhUvgGabKC7Y6trfyrqmzudZ5/75Sy57cmFrbxGAX85dxwuLdnqyGlXnZbdY7GnGmC0AIjIIeBf4T2s3GmMuC3D8PYIkQiilXKxEiRMHd2v12pTEBGq8ej8ZfqpVpCa6/k26z6sHddQdmCrrGkhOcNDgdPL5xv1M6N+l2b2tzRtV1DSQk5ZESUUNlz6xkJumtdyfqt79jLoGJ8YYDlfVk5Xqaue6vRUYY/wmgXircq/jSnTYqdSm4pmdT3i/FZzctgJR/aeLDvGpY8XEwi5MKuzqt/K5L1cPqtGTAOG9z5T3NYBnsWyKV/ZeZW0jfXJTGd+vC59sbPlXPNAQn2VvuSuD8LVlxWw7UMmfP9nS4hqrl7Z2TzkD7nmPcb/6kO0Hqzznf/FWy8GUNbvLmw0hWnNbiQnBA5mKf3YC1FoReU9ErhGRq4G5wGIRucinRl+H0SE+day4ZGI/Xr55aqu9CoDUxATqG42nR5Sa1DJAWcesHlTP7FRq6ht5cdFO1u4pJyMlkSkD81izu4KGRmezYTt/SRLe5/cedj1zV5krUDlNy4BW6e79/Prd9Z5j3pUl/rVwR7Pr6xudnPvnL7n71aYFxVaxW63K3vnZCVCpQAlwCnAqUIpry/dZuGr1KaViQFqy66/zYXeyQZqfAGUd8yRSZKdSWdfI7NdX821pJRkpTQVoK+uaZ95d+fQifvzySgCKD1Vx63NLPcEIYI+7B7V+r2vjxL3lgUsaecfbRj+BzDLkZ00zCVaWoZVgURVi0VsVf1qdg3LX44spug5KqZas3tEhd5q4vwBlXVNSUYNDoFtWMrsONQ2xZSQneOauKmsbaEhs/m/Y15YV8/vvj+W+t9by8Yb9DOreNPS4x10H0E4Zo7SkBE+Aqay1F2hKj9SSkZLo6Zm1FqCe/nIbx/fNbTGXpuJHqwFKRAYAtwOF3te3Y6Fuu+k6KKVa8gQodw8qJbHlAEmqu5LEoap6ctOTSE1KaLbuKSMlsVmAanS2DHLQtKPvDq/5o4/W7efMET1tlTFqHqCaX2+MYVPJUT5Yu6/Z8QNHaynslkGSO93eKnr7belRHOJa6wWwdEcZz3+zi9eWFQNww8kD+MmM4Z77VPywk8X3JvA0rrknXV2nVIxqClB1pCQ6cDhazlt5z0vlprkClPcGhpkpiWSmuK45Wtvgd4sNY4ynt7TDHaj65KSyseQIF/71a5JtBALvIb5KnzVXDU7DOY/Ob5E1uO1AJcf3zfU83wpwZ/zetSzz+Rsmc8Kgblz9zGLPPBzAk/O3MbJPNheOK2i1XSq22AlQNcYYu9XLlVJRkuYVoPxl8AEkJThIdAgNTkNOWlKLYUARISPZ6kE18r5PLwagpt7pSXbYedBVZ6+gazp73HNOdY1OkhIkaGkk7wBy1KcHVd/o9JvSfverq/hi8wGMuwJbVX3z+y5/8hs+u+tUUpMSWjzz4FGtnh6P7PR5/yQi94nIVBEZb31FvGVBaJq5Ui1Zw3eHq+r9zj9ZrHM9slM991gqqus9Q3x7y6t5/POtLe73ruNnDSeeMrR7s2ta25TRO/nCd4hvf0Wt7+Uec1fuadr+w08APFLTQLqf4FzrXnflu5hYxTY7AWoMrh10H8K1aPf3RK5Ony2aZq5US949KH8p5hZr6G9YzyxSE5tfd7i6zrMd/aYSVzWJn58zotk1/tK7zxzRk9tPb0pa6pWTarvdvkkSj3y0Kej1VmBqDLBw2F+AqqlvZOD/vMeFf7W116qKEXaG+C4EBrr3blJKxSgrKJVX1wftwVgliIb2yqLEJxV8ZO9sTw9qs7tGn5V8YHlx0U7AlYRhzV8lOFzFai19QgpQzXtQgQKPxepBNUtSf2sAAB7wSURBVDpNi2BpcA1d+jpa24AxrrqBgZRV1nkqdwSybOchPl5fwt1nDw96nQoPOz2olUBupBuilGofK0AZg2ffp2CG9cwi1au38adLj+fus4d7elCbS1wBqr/PBomPuitEWCWKABIcDrK9AkMvPwHSX88GWqaLW7UEA7H2pWpwGobf+36zc8Y0b5fFOwgePFrLTnf24Zb9R9haepS3V+5h/K8+ZPnOQ0DgRcDf/dvXPPbpt83qDKrIsROgegIbRGSeiLzt/nor0g0LRueglGrJOzEiUJKEtwHdMjy1+QDG9+tCcqKD1CQHDoHdh6tJdAg9s/33hrxr/SU6pFnPpU+u654Er0xC7zVT3nwTGqxdgQOxeljFh1pe1+A0zea3LJVeQfCk333KtIc/BeDMP3zB6b//nEXbXMVsV+8u58vNBxh+7/ss3u67GbgrAALc++YaACpq6j3FdlX42QlQ9+Ea5vst8AdgERDVFbI6B6VUS97BxnduyR9XMGoZ1ETE04vqmZ1Ksp/1VIAn2w9c81pWBQpoSpJwSFOQSnAIW3/7nRbPWebutVj2BKlAAU1DfPM3H2hx7pkvt/HllpbHG70SKqr99I6sNVJ1DU5PsPrKz3MsB466ennf//sCT5q7Cr9WA5R776dy4BxgDnAG8PfINkspFSrvXlNqkB7Ucz+YzJxrJ7qu8wpQ3kNwVoDqk5tKUoCq4ZmpgXtQVnHbRqfxBM4Eh+BwCK/dMrXZc6yFvb1tzlsF23r+3dV7/R73ly7v3XOz1laVVNRQ6k5J/3rLQdbvraDRafhkQwmFs98lP9cVeGeM7gXAhn0ttyVR4RNsy/ehuDYTvAw4CLwEiDHmtA5qm1IqBN69pmBp5t5bd3inmXvfbw3f9e2a7nfBLzQFMXAFH2vup39eOtnu750GUpISqKxrxHpMerL/XzuPXHI8lz7R+p5Q4doufvR98zzfW3UDn5y/zXNs0fYyZv5pPtedOIDnF7mK2O4+XI3qOMGy+DYA84FZXntB3dkhrVJKhczhEJITHdQ1OFusbwrECmSpSc0rT5S6h7CK+ncNeK/3HFSCCOnJiTx7zUTG9ctt3ptz96CsiuyZfvapAgIOJfry3ewwHN5euSfguZcW72wxr+W7BmvpjkPNav6VVNSQkZIY8L0qe4L9H/FdYB/wqYg8KSJnALoBi1IxzAoGwXpQza53X+d7vVURffLA5gFqbEHTvG+zHpR7b6bThvcgNz2ZlMQEzhzRk2euKfK8RoI7QAXK5rNTIgk6fpuNSj9FaRudhh3uKhrgyu7zNvm3H3PBY19FvG2dXcD/I4wxbxhjLgGGA58BdwI9ReRvIjK9g9rnl2bxKeWf1XOxH6CCB7SBPmug7jp7mOd7q2YfNAUfb09dXcTpw3uS4n62NZXlb6dfaF7cNtj2V/6y9Dral1sOcMrDnwW9Zst+ze5rLztJEpXGmOeMMecCBcAKYHbEWxa8TZrFp5QfVm8lWJKEtxT3vJNvWvpH/30Kr996QouNErukNy1kzfCZgwrcJtevGYf7Wf6qrHu3BYj5yuOfbyptcezZr7ZR77PJYzClR2o9CR/Fh6q0DJMfIf1fYIwpM8Y8bow5PVINUkq1nWdOyUaaOXj1uHwC1OAemYzv13IfJe9Ucu+husRgAcrdFitABdod2LsNdof7YskDc9fxx482sWxnU7UKKx3dV2VtAxN/8xH3z13Llv1HOel3n/Lk/JZ1D4918fd/gVIqIGs4zc5CXWjqcaUn2ZvMz2y2OLfp14e9HlTz49k+FR8yUrx7UPE53f3Yp982m48qPlTNR+tcKeofrisBXNXab/zXEgDmrS2hosY13/fOKv8p8uDa88p3vdixQFNMlOpE0lqZU/JlJVXYHRL0zrRL9AoigXpF0DRc5/C6ZuE9Z9BoDCc+9InnWFpSAiKuag2+Q3yZKYktKk7Eg+8/vsCzRf37a/bRMzuF8/7SlDzhkKYeZrD3Zy0G3v7QORFsbezRHpRSnYh32rgdie79odJtBjTvobdgvabmr+G6zjuNvVdOKrk+RV2996KyAlRuehJrHzjbUzrJnw/unGarHdFQ57UZZE5aUrPgBK6g7dnC3l3VfWvp0YgFY6fTUNsQWhbkC4t28vH6koi0pzUaoJTqRDxJEjYDjnWt3SHBRK8AFWzeyVuCw/8Qn78AZ81rWUN8gisZwxGkh5aS6GDpz89s8Xw7Jg8IvM4r3LLTWg5Y7S2vYesBV7r6vooaCme/y+m//5zLn/S/YNnaAsWfJdvLAs55WX717jqG/fz9oNU4fN3z+mqu/8cS29eHkw7xKdWJpAVY1xRM96wUemSlhPxaCQFKIPmyAplvkPEX4DJTEtl/pNbTg7KGDoPPcSWQl5lCz+xUT0UIu77Z1rIgbKRkpbbcBgTghy8sb3FsVbH/JTTTH/mCqQPz6Ns1jXOO69Nso8iL/76Afl3T+eIngYv9PP+Na6uUBqfBZh5NVMVlgBKRWcCswYOjWrNWqZgTapIEwAs3TPG7RUVr7PagrMDkWzLJbw8qxepBNQ9+drIEE2M8seJX76wL6fo/fbSZk4d2azEUumDrQRZshZeXFPP2bSdyXEHTbkg7W6kEX9vQ9jVkJRU1ASvbR0pcDvHpOiil/EtrwxBfr5zUgItn/Vl271ks/fmZ9uegAvSgvBMr3rj1BKCpTl+Sz1op79e64Pg+zc6luOfbAhW1jVePfLSJi/76NacHqZZ+4GgtlbUNOMNUnzCYyb/9mO0HKlu/MIw61yeq1DGutcoQ4dA1I5m8zBT7c1BWkkSQy8e511xZaewp1hCf+/xNpwxqep5PILIW/nqv0bLrbq/KGHY9csnYkO+JlNueX86o++bR6LXI19qMMZi2rgn2LpZrjIn44mINUEp1Im3pQbVVqD0of+WQfFnBJinRWtTrOn72qF48dNGYZs8DeOzy8Z6e2F+vmMC4fq7hrj45qcy5diJZXj3D//zoZLY92Hw/qmlDuhOqYAkbHc3ajdi7eO20hz9l4daDQe9z+gSWqroGW4Htiqe+4Y3lxQDM/NN8BtzzXkQ3bNQApVQn0isnlYzkhDbNKYXK7pyPFciCrZXyvbZpDqrpHmubjQSv1z3nuN6e73vlpHL76YM93586rAerHzjbc35Ij8wWbWjLvFUsBSjL8l3NF/Fu3n+UZ7/axg9fWE7h7Hcpq6yjcPa7nvNvrtjN8p2HuOTxBWzZf5SRv5jn2WW4NXe+tJKFWw969sJ6a0XgSvDtFZdJEkop/y4cl8+pw3qEvQf15FVFHKqqa3Ys9Cy+1q+1ApO/WnzWVu/BhhaDBQ9/PT7rWZkpiTz03THc9nzLjDpf3i9x8pBufnf27WiXP/lNs5/rG5z80isp47mFO5qd/9kba+iWmcKBo7Wc+Yfmc1zGGOoanaQkJvD6smK/r+e9b1db0vvt0gClVCeSmOCgextSxltz1sieLV8rxHVQdoYErQDjWQfldcvZo3rx5082c9XU/nxnTG/W7qkIeL+/3pq/Y1abkhMd9LKZodava7rn+1F9cmIiQPkqOVIT9GcIXCfwhUW7+J83VvPoZeP475dXtvpakexRaoBSSrWJ3QCV2MoQ34je2Z7vrUcm+SRJgGvYbsnPzwJgcA+YMjCvxbNC/WVp1RN0GmNrCBLguIJcEhxCo9PY/jPoaI9/3rzw7L8X7rR971z35o2zX1tl6/pI/hHoHJRSqk3szt84ggzxrfjFWZ4Uc9c1zeegQv3HuZ1flht/PcPzvTWf5XSakH7RDuuZ5bo/RgNUexjcpZf8bNToj93A3hbag1JKtUmoc1D+EpJzvfaXgqZNDZt6UKH98rN+WXqnP79681S+2tKU1dZs3ymvtrVlqCpeq64HU20zMFmOmSE+EbkAOAfoATxmjPkgyk1SSgVgfw7KChqtX2sFmGQ/c1ChvJa3osKuFBX6r7nnud607Ret3SAdL0qP1LIyQJmlQOJ6iE9EnhGR/SKyxuf4DBHZKCJbRGQ2gDHmTWPMDcA1wCWRbptSqu1CXQdlZ1Gn9cTENm5YaMUYO8NO4/vl+sxBNZ175/aTbL1eoGYO7pFp6/5Y8/KSXSHfE8keVEeE/znADO8DIpIAPAbMBEYCl4nISK9Lfu4+r5SKUZHoQXnq9lmBJsQ22b1+24Pf4bVbTvAMKfoO8Y3Ot1dGLdAv54snFNhsSWx5eN7GkO+J5LKwiAcoY8wXgG/J4EnAFmPMVmNMHfAicL64/A74jzFmWaTbppRqu1B7UL7VC/zxjLi5L43UBLyIICKe9+A0Juj7Gd8v1+/xQO2LcAWgmBLvPSh/8gHvvmSx+9jtwJnAxSJys78bReRGEVkiIktKS0sj31KllF+JNudfEtzjYHZ+Z1sZfw3tLH5qt0actQHjReMLAs6lvHP7Sbx001S/5wIVaTW23m3n0BkX6vp7S8YY8yjwaLAbjTFPAE8AFBUVHTv/FygVYxJsZrCF0oOysvasmnyDIjyXk5jgYPX900lPTmRbgErdg7pnkpTg2hSx0ScgVdf7z3g7pnpQEYxQ0QpQxUBfr58LANsFnXQ/KKWiz/YclDUEZGsOyvXfvMxknr12IuPdVc5DFcrQoLWRYKC3Y3UU8zJbVugIFKBisFxfxISalh6KaA3xLQaGiMgAEUkGLgXetnuz7gelVPTZnYNKCLIOypfDK6HitGE9yEkLfQuNtgo0lxKsCnugbU1G9Mr2e7wzKq+uj9izOyLN/AVgATBMRIpF5HpjTANwGzAPWA+8bIxZG8IzZ4nIE+XloeXrK6XCJ9QsPltDfO5HdsD+ey34Bqi7pg8Fggfi04f38P+sAPeM7es/2SKeRbK3GPEhPmPMZQGOvwe818ZnzgXmFhUV3dCetiml2s5uDyqUoGPNQdkJZsG0ZSM931+0t50+hNtOH2Lr2hbnAxyP1dp9sapzLYNWSnUYf1ti+OOv/FAgTWnmHd+FasveUADn+2xBD4EDmJ1NG+NNfWPkPqu4DFA6xKdU9NntQfmubQp+rdWDamurXNqyfiozJfQBJWPgT5eOa3E80HxWJ6uMBMAL39ivlB6quPzj0iQJpaLPbm8glGE7RwjzVeGWkRy+GY9AfzK+Qf3UYaFvOd/RNvxqRtDzR2obIvbacRmglFLRZ3f9i4TQg7KeGJUkiXDODwV4lG919s6wXurKKf0j9uy4DFA6xKdU/HB4kiTszEHZn6/yxwqG7ZnrGVvQ+shMa49PDjA/53tfPMSn1t7rhP5tW6tmR0xtt2GXZvEpFU9CWAcVQm/Ln+P7duG6Ewdw/ckD2nT/qvune6pYtNVd04cG/KXtO8QXjWSQcIvrYrFKqc6tta0lQgk6SYlt20nXkuAQfjFrJPm5aW26Pzs1qdmGhoGcNaIXAD2yW1aXuO30IQGTNDJ8EjGiMdcWbrqjrg8tdaRUbPjkx6f4LQHkLZRhu6unFrL3cDU3nTIoLO2LlNtPH8xVU/vTJSO59Yu9XHfiAIb3zOLJ+VupqGnghpMHNtvtNxRnDO/Bxxv2t+neULS2q3EkE+fjsgelWXxKxYaB3TNbLUckIcxBpSUn8MD5o9uU8t2RHA4JOTiBqwju7WcMIdndSxvZp+0lkfp2Tfe7BqszicsApZSKH54eVJTbEavuPHMoGcn+hxWtyhPv33Fyi3MOkWbDpnaSO9qi1aoZOgellIpX0ayvF2usP4tR7p5TSkICPzpzCGt/2XKt0VNXFXlS33PTWvbWHNI86D95VVHY22vpFmQYt7UhwPbQAKWUiqhQSh11dtYv88euGM8rN08lJz3w8OiZI3s23ecnBiT5ZBsmtzP7MJh3f3hSxJ4dTFwGKF0HpVT8sIavgv0r/FiTmZLIxMKurV/ojun++igpiY5mQV8QurZhXqw1AvTMTg18Xof4mtMkCaXix4T+XXjoojH88vxR0W5Kh7rmhMIWyR7Bfpl/eOc0fvfdMf5Pet2XnZroPtR8Dkri8rd5cJ3wLSmlYomIcOmkfp6da48V9583ih+795SyY0jPLC6Z2K/ZMePuQnnP88y5bhIAZ4xovheV0PmGUTVAKaVUO53pDhaBShxZ2joc5n3fcfk5bH/oHEbn53gCmOuayIy1RXIhbms0QCmlVDvNnjkcoNU5oFAz3oyfOSjvgNFsiI/gqfyTBtiY8wriuR9Mbtf9bRGXAUqTJJRSscRa69WiGKxPxGh7D6rpRu9HeD8/0B5U/u5riyEBSlppJQkfmiShlIoldofBQv1lbsUfAb/1BZsP8YX4cJukxTcdJ7briSilVBxp7Xd4alLrhWj9Plfg1Vumsnzn4aD7VkUjRyKSU1QaoJRSqp2s39GB4sN3xxcwfVRP+nZND+m5VlaeIPTOSaP3mDSf815tiFQPKsBzzx7Vk3lrSyLzom5xOcSnlFKxpLXgkJWayNmjetl6Vlaqn35DgOd7B8TW5qAspw3r3raySD7RtyN6a9qDUkqpMPENEW35Hf7ZXadyqKqu2f2BYk+LLD6buxaf5VVGyS7fJ1u9wdz08FevsGgPSiml2qnVPZNCGH7Ly0xhcI8sn+cH4n8d1NSBeS2utBZK98xxlS0aZXOrj0AJID+ZMYzHr5zAFD+vFS7ag1JKqTAJ96JWzzqoAM9NT276Fe69Dsq6/KLx+by+bDcAkwZ0YdbY3kwf6RpqfOmmqWzcV8FzC3fy+vLdIbctJTHB9rBlW8VlD0rXQSmlYkmkiy0Eerx3fUN/bSjq37Q4VxDOPz6fNHfx3syURCb078ofLjneVhuikSEYlwFK10EppeJBuGrjBQqA3vM//ipMeGektzeImihsOalDfEopFSHfK+rL/M0HuOWUQe16ju0SST4xxG5mX6yKyx6UUkrFg5y0JP5x3SR6BNlPyY5gcebSiX1bHPNUQQ9jfNIhPqWUUiH57YVj2Pjr5lvG3zRtEMkJjnYXiPUWjY08dIhPKaViXLCekMMhpDhciQ8v3DiFV5bs4tRh3dn0m5kcqalv82umJjmoqXe2+f5w0ACllFJhErmCrfYePDo/h9H5Tclj7Ul7f+f2k/hqy8E23x8OGqCUUipMIjVP0+ZtOpo9I7SHDO6R1WzBcDR269U5KKWUinFt7QfFeRKfBiillAqXyFUUj36k0Sw+pZSKQ5H+5d3mHpTXndEPcaGLmQAlIgNF5GkReTXabVFKqbbo6D2ZInWfP52uByUiz4jIfhFZ43N8hohsFJEtIjIbwBiz1RhzfSTbo5RSkRDpMkCxMMQXDZHuQc0Bmq0gE5EE4DFgJjASuExERka4HUopdcyJ97gW0QBljPkCKPM5PAnY4u4x1QEvAufbfaaI3CgiS0RkSWlpaRhbq5RSbWO7Vl4HazYHFUITV943vcWxaBSLjcYcVD6wy+vnYiBfRPJE5O/AOBG5J9DNxpgnjDFFxpii7t27R7qtSinVqkj98i7q36Vd99sNSvPumMY7t5/k+TknLanFNf6ORVo0Fur6+yMzxpiDwM22HiAyC5g1ePDgsDZMKaXaI9w9qTnXTWLv4eo23y8Bvvc1rFdWkLMuuenJLLznDKY8+HGb2xOqaPSgigHv8rsFwJ5QHqD7QSmlYkmkMtwyUxIZ0rP14BFIuJMreuW0ryp7qKIRoBYDQ0RkgIgkA5cCb0ehHUop1al5h6fTh/eMWjvaKtJp5i8AC4BhIlIsItcbYxqA24B5wHrgZWPM2hCfq1u+K6ViRqxmy3m3q19eevQa0kYRnYMyxlwW4Ph7wHvteO5cYG5RUdENbX2GUkqFSzQWsdoR7+unYqaSRCi0B6WUikWxGg+uPbEw2k1ok7jcbkN7UEqpWBKjHSgAtj90TrSb0GZx2YNSSqlYFKMdqLgVlwFKh/iUUqrzi8sApeuglFKxpKBLGlMGduXh742NdlM6lbicg1JKqViSlODgxRunRrsZ7Xbi4Dwun9S/1etSkzqmbyPR2Gc+XIqKisySJUui3QyllDpmVNTUkyBCRkr4+jcistQYU+R7PC6H+HQOSimloiM7NSmswSmYuAxQOgellFKdX1wGKKWUUp2fBiillFIxKS4DlM5BKaVU5xeXAUrnoJRSqvOLywCllFKq89MApZRSKiZpgFJKKRWT4rqShIiUAjt8DucAdrMn7Fzb2jWBzodyvBtwoJV2dIRQ/uwi+byO/AxDPRfo+s74GcbD5xfsvP4djI/PMAfINcZ0b3HGGNOpvoAnwnlta9cEOh/KcWBJtP/cQv2zi+TzOvIzDPVckM+1032G8fD5tfKZ6N/BOPgMg53rjEN8c8N8bWvXBDof6vFYEO62tfV5HfkZhnoulj8/CG/74uHzC3Ze/w7Gx2cY8FxcD/F1FiKyxPgplKjih36G8U0/v9jUGXtQ8eiJaDdAtZt+hvFNP78YpD0opZRSMUl7UEoppWKSBiillFIxSQOUUkqpmKQBSimlVEzSABXjRGSEiPxdRF4VkVui3R4VGhG5QESeFJG3RGR6tNujQiciA0XkaRF5NdptOdZogIogEXlGRPaLyBqf4zNEZKOIbBGR2cGeYYxZb4y5Gfg+oOs0OlCYPr83jTE3ANcAl0SwucqPMH2GW40x10e2pcofTTOPIBGZBhwF/mmMGe0+lgBsAs4CioHFwGVAAvCgzyOuM8bsF5HzgNnAX4wxz3dU+4914fr83Pf9HnjOGLOsg5qvCPtn+Kox5uKOaruCxGg3oDMzxnwhIoU+hycBW4wxWwFE5EXgfGPMg8C5AZ7zNvC2iLwLaIDqIOH4/EREgIeA/2hw6njh+juookOH+DpePrDL6+di9zG/RORUEXlURB4H3ot041SrQvr8gNuBM4GLReTmSDZM2Rbq38E8Efk7ME5E7ol041QT7UF1PPFzLOA4qzHmM+CzSDVGhSzUz+9R4NHINUe1Qaif4UFA/3ERBdqD6njFQF+vnwuAPVFqiwqdfn7xTz/DOKEBquMtBoaIyAARSQYuBd6OcpuUffr5xT/9DOOEBqgIEpEXgAXAMBEpFpHrjTENwG3APGA98LIxZm0026n8088v/ulnGN80zVwppVRM0h6UUkqpmKQBSimlVEzSAKWUUiomaYBSSikVkzRAKaWUikkaoJRSSsUkDVDqmCIijSKywuurMNptCicRGSciT7m/Hy4iC0SkVkTu8nPt4yJyos+xQt+tKUJ47TEiMqdNDVfKD63Fp4411caY4wOdFJFE90LOePU/wK/d35cBPwQuCHDtZODWcL2wMWa1iBSISD9jzM5wPVcdu7QHpY55InKNiLwiInOBD9zH7haRxSKySkQe8Lr2Z+6N7j4SkResnomIfCYiRe7vu4nIdvf3CSLysNezbnIfP9V9z6siskFEnnNvzYGITBSRr0VkpYgsEpEsEZkvIsd7teMrETnO531kAccZY1YCGGP2G2MWA/V+3vMIYJMxplFEJrhfawHw/7yuKXS/7jL31wnu4/8SkfO9rnvOvWcZwFxcpYOUajcNUOpYk+Y1vPeG1/GpwNXGmNPFtTX7EFz7Bh0PTBCRaSIyAdcv33HARcBEG693PVBujJnovv4GERngPjcOuAMYCQwETnTXhnsJ+JExZiyurTqqgadw7cqLiAwFUowxq3xeqwiwOzw3E3jf/f2zwA+NMVN9rtkPnGWMGY9rN2CrKvtTwLXutuQAJ9C0FcwS4GSbbVAqKB3iU8eaQEN8HxpjytzfT3d/LXf/nIkrYGUBbxhjqgBExE6B0enAcSJi7cSa435WHbDIGFPsftYKoBAoB/a6ez4YYyrc518B7hWRu4HrgDl+Xqs3UGqjTQBnA9e6A0yuMeZz9/F/4QpeAEnAX9w9t0ZgqLtNn4vIYyLSA1egfs1rWHQ/0MdmG5QKSgOUUi6VXt8L8KAx5nHvC0TkDgLvG9RA04hEqs+zbjfGzPN51qlArdehRlx/H8XfaxhjqkTkQ+B84Pu4eku+qn1e2y8RSccVlPaISG6Q93QnUAKMxfXearzO/Qu4AleP8jqv46nudijVbjrEp1RL84DrRCQTQETy3b2FL4ALRSTNPd8zy+ue7cAE9/cX+zzrFhFJcj9rqIhkBHntDUAfEZnovj5LRKx/SD6Fa5htsVdvz9t6YLCN93ca8CmAMeYwUC4iJ7nPXeF1XQ6u3pwTuBJI8Do3B9fwJD6VwIdif5hRqaC0B6WUD2PMB+4kggXuvIWjwH8ZY5aJyEvACmAHMN/rtv8DXhaRK4FPvI4/hWvobpk7CaKUwFl1GGPqROQS4M8ikoarN3ImcNQYs1REKnDNGfm7d4OI5IhIljHmiIj0wjUnlA043T3AkbiG8F71uvVa4BkRqcIVUC1/BV4Tke/hCmieXqYxpkRE1gNv+jTjNODdQO9PqVDodhtKtZGI3I8rcPxfB71eH+AzYLi7V+PvmjuBI8aYp4I8Zxkw2RjTIrsvhLakA6uB8caYcvexFOBz4KQ4T9VXMUKH+JSKAyJyFfAN8LNAwcntbzSf22rBGDO+ncHpTFxDkX+2gpNbP2C2BicVLtqDUkopFZO0B6WUUiomaYBSSikVkzRAKaWUikkaoJRSSsUkDVBKKaVi0v8HG6JnIRU2+usAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "close_spectrum = close.make_spectrum()\n", "close_spectrum.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude',\n", " xscale='log', yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The slope of the power spectrum is -1.86, which is similar to red noise (which should have a slope of -2)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-1.7895322348034641" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "close_spectrum.estimate_slope().slope" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use `np.diff` to compute the difference between successive elements, which is the daily change." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1975" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "change = Wave(np.diff(close.ys), framerate=1)\n", "change.plot()\n", "decorate(xlabel='Time (days)', ylabel='Price change($)')\n", "len(change)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the spectrum of the daily changes:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "change_spectrum = change.make_spectrum()\n", "change_spectrum.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recall that the spectrum of white noise looks like white noise.\n", "\n", "Here's the spectrum on a log-log scale." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "change_spectrum.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude',\n", " xscale='log', yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The estimated slope is close to zero, which is consistent with white noise." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.09137404305435813" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "change_spectrum.estimate_slope().slope" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can think the diff operation as convolution with a difference window, [1, -1].\n", "\n", "And convolution with this window corresponds to multiplication by a filter.\n", "\n", "The following function computes the filter that corresponds to the window." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from thinkdsp import zero_pad\n", "\n", "def make_filter(window, wave):\n", " \"\"\"Computes the filter that corresponds to a window.\n", " \n", " window: NumPy array\n", " wave: wave used to choose the length and framerate\n", " \n", " returns: new Spectrum\n", " \"\"\"\n", " padded = zero_pad(window, len(wave))\n", " window_wave = Wave(padded, framerate=wave.framerate)\n", " window_spectrum = window_wave.make_spectrum()\n", " return window_spectrum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what the filter looks like for the difference window:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxU5dn/8c8FYV/CEpA1sogCKusIuFVxK1ZFWzfciqxqpbXa9ldt7WOrfbrZPnZxAxVZZHFXrAtiFXADSZBdQECQEJawQ4CEJNfvjznINCZhgExmkvm+X6+8Muc+y1w5BL6c+9xzH3N3REREEk21eBcgIiJSEgWUiIgkJAWUiIgkJAWUiIgkJAWUiIgkpJR4F1Ce0tLSvF27dvEuQ0REjkJmZuZWd29WvL1KBVS7du3IyMiIdxkiInIUzGxdSe3q4hMRkYSkgBIRkYSkgBIRkYSkgBIRkYSkgBIRkYSkgBIRkYQUs4Ays7Zm9oGZfWFmS83srhK2MTP7p5mtMrNFZtYrYt1gM/sy+BocqzpFRCQxxfJzUAXAz9x9vpk1ADLNbIa7L4vY5lKgU/DVF3gC6GtmTYAHgBDgwb7T3H1HDOsVEZEEErOAcveNwMbg9R4z+wJoDUQG1JXABA8/lGqOmTUys5bA+cAMd98OYGYzgAHAlFjVKyKSbIqKnF37D7ItN59d+w+Sm1fAvvwC9uYVkptXQG5+Abl5BeQXFFFQ5BQUevC9iMKi8OvubRsx7Jz2MamvQmaSMLN2QE9gbrFVrYH1EctZQVtp7SUdeyQwEiA9Pb1c6hURqcwKi5ycPXlk79rPxp0H2LhrP9k7D7B59wG25eaxPTef7bn57Nh3kMKish9aW82gVkp1UqobKdWMlOrVSKlmVK8WXm5Sr2bMfo6YB5SZ1QdeBn7q7ruLry5hFy+j/duN7mOAMQChUEiPBxaRpHCwsIj12/fx1dZcvtqay9ptwfet+9i8+wAFxYKnbs3qtGhYm6b1a9I+rR69T2xC03o1aVyvJk3r1SS1bg3q10qhXs0U6tWqTr1aKdSvlUKtlGqYlfRPcuzFNKDMrAbhcJrk7q+UsEkW0DZiuQ2QHbSfX6x9ZmyqFBFJXIVFztfb97F8426+2LSH5Rt3s3LzHtbv2P9fVz8Na6fQvll9Qu0a06ZxHVqm1qFVo9rh76l1aFgnJW5Bc6xiFlAWPhPPAF+4+/+Vstk0YJSZTSU8SGKXu280s+nAH8yscbDdJcB9sapVRCQRHCwsYsWmPSxYv5PFWbtYvmk3KzfvZf/BQiDc3dYurR5dWzXk8m6taJ9Wj3Zp9WifVo/GdWtUugA6klheQZ0N3AIsNrMFQduvgHQAd38SeAv4HrAK2AcMCdZtN7OHgHnBfg8eGjAhIlIVuDtZO/bz+fqdLFy/kwXrd7Jkwy7yCooAaFy3Bl1aNuSGPul0btmALi0a0umE+tSuUT3OlVccCw+gqxpCoZDrcRsikojcnVVb9jLnq+189tV25q7ZxpY9eQDUSqnG6a1T6d62ET2CrzaN61S5K6LSmFmmu4eKt1ep50GJiCQKd+fLLXv5eNVW5q7Zzmdrt7M9Nx+AExrWol+HppzRvgk92zbilBYNqFFdE/sUp4ASESknO/fl89GqrcxemcPslVvZtPsAAK0b1eH8U5rRr31T+nZoQnqTuklzdXQ8FFAiIseoqMhZmLWTD1bkMHtlDouydlLk4RF153RK49xOzTjnpDTaNqkb71IrJQWUiMhRyCso5JPV25ixbDPvLdvMlj15VDPo3rYRP76gE985uRnd26SSoi6746aAEhE5gl37D/LB8i3MWLaZmSu2kJtfSN2a1Tn/lGZc3PUE+p/SnEZ1YzejQrJSQImIlCA3r4D3vtjMGwuzmbUyh4OFTrMGtRjYozWXdD2BMzs2Taoh3/GggBIRCRw4WMgHy7fwxqJs3l++hQMHi2iZWpvBZ7bje91a0qNNI6pV0+CGiqKAEpGkVljkfLJ6K6/M38C7SzeRm19IWv2aXBdqyxXdW9E7vbFCKU4UUCKSlNbk7OXl+Vm8Mn8DG3cdoGHtFAb2aMXl3VrRt30TDXJIAAooEUkauw8c5M1FG3kpM4vMdTuoZnDeyc24/7KuXNilue4pJRgFlIhUae7O/K93MGnO17y5eCN5BUWc1Lw+913ame/3bE3zhrXjXaKUQgElIlXSngMHeW1BNpPmrGP5pj3Ur5XCNb3bcF2oLd3apGomh0pAASUiVcrS7F1Mmvs1r3++gdz8Qk5t1ZA//uB0BnZvRb1a+ievMtGflohUegcLi3hnySae/fgr5n+9k1op1RjYvRU39TuR7rpaqrQUUCJSae3ad5Ap875m/Cdr2bjrAO3T6vGby7tyTa82pNatEe/y5DgpoESk0lmds5dxH6/lpcws9h8s5KyOTfn9VafR/5Tm+sxSFaKAEpFKwd2Zs2Y7T324hveXb6FmSjWu6tGKIWe3p0vLhvEuT2JAASUiCa2oyHnvi808MWs1n3+9k7T6NfnpRZ24ud+JpNWvFe/yJIZiFlBmNha4HNji7qeVsP4XwE0RdXQBmrn7djNbC+wBCoGCkh4FLCJV28HCIt5YmM2Ts1azcvNe2japw0NXnca1vdvoA7VJIpZXUOOAR4EJJa1094eBhwHM7ArgbnffHrFJf3ffGsP6RCQBHThYyPPz1jNm9ho27NxP5xYN+MegHlx2ektNP5RkYhZQ7j7bzNpFufkNwJRY1SIiiW9ffgHPzVnHmNlr2Lo3n94nNubBK0/lgs7NNUw8ScX9HpSZ1QUGAKMimh1418wcGO3uY8rYfyQwEiA9PT2WpYpIDOzPL+S5OesYPXs1W/fmc26nNEb1P4k+7ZsomJJc3AMKuAL4uFj33tnunm1mzYEZZrbc3WeXtHMQXmMAQqGQx75cESkPBw6Gg+nJWWvYujePc05K46cXdSLUrkm8S5MEkQgBNYhi3Xvunh1832JmrwJ9gBIDSkQqlwMHC5k892uemLWanD15nNWxKY/f1Is+7RVM8t/iGlBmlgqcB9wc0VYPqObue4LXlwAPxqlEESknBYVFvJiZxd/fW8nm3Xn069CEf93Qk34dmsa7NElQsRxmPgU4H0gzsyzgAaAGgLs/GWz2feBdd8+N2PUE4NWg7zkFmOzu78SqThGJLXdn+tJN/GX6Ctbk5NIrvRGPXN+Dszqmxbs0SXCxHMV3QxTbjCM8HD2ybQ3QPTZViUhF+nT1Nv78znIWrN/JSc3rM+aW3lzc9QQNfpCoJMI9KBGpYpZl7+bP7yxn1socWqbW5i9Xd+MHvVrrc0xyVBRQIlJuNuzcz1+nr+C1BRtoWLsG913amcFntdPMD3JMFFAictxy8wp4ctZqxsxeA8Bt3+nIHed3JLWOHnkhx04BJSLHrKjIeXl+Fg9PX8GWPXkM7N6KX17amdaN6sS7NKkCFFAickzmrtnGQ28uY8mG3fRo24gnbu5N7xMbx7ssqUIUUCJyVL7eto8/vv0Fby/ZRMvU2vz9+h4M7N5KDwqUcqeAEpGo7M8v5PGZqxg9aw3Vqxn3XHwyI87tQJ2aGgAhsaGAEpEyuTvvLtvMg28sY8PO/VzZoxX3XdqFFqm1412aVHEKKBEp1dqtufz2jaXMXJHDKSc0YOrIfpqaSCqMAkpEviWyO69mSjXuv6wLg89qRw190FYqkAJKRL7h7sxYtpnfBd15V/Voxa++14XmDdWdJxVPASUiAGTt2McDry/lP8u3qDtPEoICSiTJFRY54z5Zy9/eXYE7/Pp7Xbj1bHXnSfwpoESS2JINu7jvlcUs3rCL/qc046GrTqNN47rxLksEUECJJKV9+QX8/b0veeajr2hctyaP3tiTy05vqcdgSEJRQIkkmZkrtnD/a0vI2rGfG/q05d4BXUitq0ldJfEooESSxLa9eTz472W8viCbDs3q8fzIfvTVIAhJYDG7C2pmY81si5ktKWX9+Wa2y8wWBF//E7FugJmtMLNVZnZvrGoUSRZvLd7IJY/M5q3FG/nJhZ14+65zFU6S8GJ5BTUOeBSYUMY2H7r75ZENZlYdeAy4GMgC5pnZNHdfFqtCRaqqrXvzeOD1pby5eCOntW7IpGv70rlFw3iXJRKVmAWUu882s3bHsGsfYJW7rwEws6nAlYACSiRK7s6/F23kgWlL2XuggF989xRGfqeDho5LpRLve1BnmtlCIBv4ubsvBVoD6yO2yQL6xqM4kcooZ08ev3ltCe8s3UT3Nqk8fG13Tj6hQbzLEjlq8Qyo+cCJ7r7XzL4HvAZ0Akoa5+qlHcTMRgIjAdLT02NRp0il4O5MW5jNA9OWsi+/kHsv7czwc9qToqsmqaTiFlDuvjvi9Vtm9riZpRG+YmobsWkbwldYpR1nDDAGIBQKlRpkIlXZ1r15/OqVxby7bDM92jbir9d246TmumqSyi1uAWVmLYDN7u5m1ofwiMJtwE6gk5m1BzYAg4Ab41WnSKKbsWwz972yiN37C7jv0s4MP7cD1fV0W6kCYhZQZjYFOB9IM7Ms4AGgBoC7PwlcA9xhZgXAfmCQuztQYGajgOlAdWBscG9KRCLszSvg9/9extR56+nSsiGThvfglBa6apKqw8KZUDWEQiHPyMiIdxkiMZexdjv3vLCQ9Tv2cft5HfnpRZ2olaJHr0vlZGaZ7h4q3h7vUXwichTyC4r4+3sreXLWalo1qsMLt53JGe2axLsskZhQQIlUEis37+GnUxewbONurg+15TdXdKV+Lf0VlqpLv90iCc7defbjtfzpneU0qJXCmFt6c8mpLeJdlkjMKaBEEtjWvXn8/MWFzFyRw4Wdm/Onq7vRrEGteJclUiEUUCIJavbKHO55YSG7DxzkdwNP5YdnnqjnNUlSUUCJJJj8giL+9u4KRs9eQ6fm9Zk4rA9dWmqCV0k+CiiRBPLV1lzumvo5i7J2cVPfdO6/rCt1amr4uCQnBZRIAnB3Xpm/gd+8voQa1avx5M29GHBay3iXJRJXCiiRONtz4CD3v7aE1xdk06d9E/5+fQ9aNaoT77JE4k4BJRJHSzbs4s7J88nasZ97Lj6ZO/ufpHn0RAIKKJE4cHeem/s1D72xjCb1ajJ1ZD/NCCFSjAJKpILtOXCQ+15ZzL8XbeS8k5vxyPU9aFKvZrzLEkk4RwwoM0sFfgucGzTNAh50910xrEukSlqWvZs7J89n3bZcfvHdU7jjvI5UU5eeSImiedTmWGA3cF3wtRt4NpZFiVQ17s6Uz77m+49/TG5eAVNG9OPO/icpnETKEE0XX0d3vzpi+XdmtiBWBYlUNbl5Bdz/2hJe/XwD53ZK45Hre5BWX9MViRxJNAG138zOcfePAMzsbMIPGBSRI1ixaQ8/mpTJV1tzNUpP5ChFE1B3AOODe1EGbAdujWVRIlXBq59ncd8ri6lfqwbPDe/LWR3T4l2SSKVyxIBy9wVAdzNrGCzvjnlVIpVYfkER//vmMsZ/uo6+7Zvwrxt70rxB7XiXJVLplBpQZnazuz9nZvcUawfA3f+vrAOb2VjgcmCLu59WwvqbgF8Gi3uBO9x9YbBuLbAHKAQKSnoUsEgi2rz7AD+aNJ/MdTsYcW57fjmgMynVoxmLJCLFlXUFVS/43qCEdR7FsccBjwITSln/FXCeu+8ws0uBMUDfiPX93X1rFO8jkhDmrNnGqMmfsy+/gMdu7MVl3TSXnsjxKDWg3H108PI9d/84cl0wUKJM7j7bzNqVsf6TiMU5QJsjHVMkEbk7z3z0FX98ezknNq3LlBF96XRCSf+vE5GjEU3fw7+ibDsew4C3I5YdeNfMMs1sZFk7mtlIM8sws4ycnJxyLkukbLl5Bfx4yuf8/s0vuKhLc16/82yFk0g5Kese1JnAWUCzYvehGgLl9oAaM+tPOKDOiWg+292zzaw5MMPMlrv77JL2d/cxhLsHCYVC0XQ9ipSLNTl7uf25TFZt2csvB3Tm9vM66Im3IuWorHtQNYH6wTaR/yXcDVxTHm9uZt2Ap4FL3X3boXZ3zw6+bzGzV4E+QIkBJRIP05du4mcvLKRmSjUmDuvL2SdpCLlIeSvrHtQsYJaZjXP3deX9xmaWDrwC3OLuKyPa6wHV3H1P8PoS4MHyfn+RY1FU5Pz9P1/yz/98Sfc2qTx+c29a69lNIjERzQd195nZw8CpwDcf5nD3C8raycymAOcDaWaWBTwA1Aj2fRL4H6Ap8HjQLXJoOPkJwKtBWwow2d3fObofS6T87c0r4O7nFzBj2Wau7d2Gh646jdo19Dh2kViJJqAmAc8T/kzT7cBg4IijEdz9hiOsHw4ML6F9DdA9irpEKsy6bbmMmJDB6pxcfntFVwaf1U73m0RiLJqAauruz5jZXRHdfrNiXZhIovjwyxxGTf4cM5g4tA9n6X6TSIWIJqAOBt83mtllQDb6zJIkgUOfb/rDW19w8gkNGHNLiPSmdeNdlkjSiCagfh9MFPszwp9/agjcHdOqROLswMFCfvXqYl6Zv4EBp7bgb9d1p14tPYBapCKV+TfOzKoDndz938AuoH+FVCUSR5t2HeC25zJZuH4n91x8MqP0YEGRuCgzoNy90MwGAo9UUD0icZW5bge3P5fJvrwCRt/Sm++e2iLeJYkkrWj6LD4xs0cJj+TLPdTo7vNjVpVIHLwyP4t7X15Mi9TaPDesL6e00JRFIvEUTUCdFXyP/LCsA2V+Dkqksigqcv767goen7maszo25fGbetGobs14lyWS9KJ5YKHuO0mVtS+/gHueX8g7SzdxQ590HrzyVGro+U0iCUHDkiRpbdp1gOET5rEseze/ubwrQ8/Wh29FEokCSpLS4qxdDJ8wj70HCnh6cIgLOp8Q75JEpBgFlCSdtxdv5O4XFtC0Xi1e/tFZdG7RMN4liUgJjtjZbmZ1zew3ZvZUsNzJzC6PfWki5cvdeeyDVdwxaT5dWzbk9VFnK5xEElg0V1DPApnAmcFyFvAi8O9YFSVS3vIKCrnv5cW88vkGrurRij9d3U0zkYskuGgCqqO7X29mNwC4+37TnWSpRLbuzeO2iZlkrtvBzy4+mVEXnKTBECKVQDQBlW9mdQh/9gkz6wjkxbQqkXKyassebn12Hjl78njsxl5c1q1lvEsSkShFE1APAO8Abc1sEnA2cGssixIpD5+u3sZtEzOomVKdF247k+5tG8W7JBE5CtF8UHeGmc0H+gEG3OXuW2NemchxePXzLP7fS4s4sWk9nr31DNo20WMyRCqbUgPKzHoVa9oYfE83s3TNxSeJyN351/ur+L8ZKzmzQ1OevKU3qXVqxLssETkGZV1B/S34XhsIAQsJX0F1A+YC5xzp4GY2lvCj4re4+2klrDfgH8D3gH3ArYeCz8wGA/cHm/7e3cdH8wNJ8jpYWMSvXlnMi5lZ/KBna/50dTdqpmjaIpHKqtS/ve7eP5iHbx3Qy91D7t4b6AmsivL444ABZay/FOgUfI0EngAwsyaE7331BfoAD5hZ4yjfU5LQ7gMHGfLsPF7MzOKuCzvxt+u6K5xEKrloBkl0dvfFhxbcfYmZ9Yjm4O4+28zalbHJlcAEd3dgjpk1MrOWwPnADHffDmBmMwgH3ZRo3leSy4ad+xn67DxW5+zlr9d255rebeJdkoiUg2gC6gszexp4jvBQ85uBL8rp/VsD6yOWs4K20tq/xcxGEr76Ij09vZzKkspiyYZdDB03j/0HCxk/tA9nn5QW75JEpJxE0wcyBFgK3AX8FFgWtJWHkj4t6WW0f7vRfUzQ/Rhq1qxZOZUllcH7yzdz3ehPqVG9Gi/fcZbCSaSKiWaY+QHCj3yPxWPfs4C2EcttgOyg/fxi7TNj8P5SSU2cs44HXl9C11YNGTv4DJo3rB3vkkSknB0xoMzsK0q4enH3DuXw/tOAUWY2lfCAiF3uvtHMpgN/iBgYcQlwXzm8n1Ry7s7D08NPv72wc3P+eUNP6tXSpPwiVVE0f7NDEa9rA9cCTaI5uJlNIXwllGZmWYRH5tUAcPcngbcIDzFfRXiY+ZBg3XYzewiYFxzqwUMDJiR5HSws4t6XF/Py/Cxu6JPOQ1eeSoqefitSZVl4AN1R7mT2kbsf8XNQFS0UCnlGRka8y5AYyM0r4EeT5jNrZQ73XHwyP9aEryJVhpllunuoeHs0XXyRM0pUI3xF1aAcaxMp09a9eQwdN4+l2bv50w9OZ1AfjdYUSQbRdPH9LeJ1AfAVcF1syhH5b2u35jL42c/YvPsAY27pzYVd9Gh2kWQRTUANc/c1kQ1m1j5G9Yh8Y1HWToY8O48idyaP6EevdE0mIpJMornD/FKUbSLlZuaKLQwaM4c6Navz0h1nKZxEklBZs5l3Bk4FUs3sBxGrGhIezScSEy9lZnHvy4s4+YQGjBuizziJJKuyuvhOITwTeSPgioj2PcCIWBYlycndeXzmah6evoJzTkrjiZt70aC2HpUhkqxKDSh3fx143czOdPdPK7AmSUKFRc5vpy1l4px1XNmjFQ9fo9nIRZJdWV18/8/d/wLcaGY3FF/v7j+JaWWSNA4cLOTu5xfw9pJNjPxOB+4d0Jlq1fQZJ5FkV1YX36EZy/XJV4mZPQcOMnJCJp+u2cb9l3Vh+LnlMYOWiFQFZXXxvRF815NsJSa27s3j1mc/44uNe3jk+u58v6ee4yQih5XVxfcGpTziAsDdB8akIkkKWTv28cNnPiN7136e+mFvLuisD+CKyH8rq4vvrxVWhSSVlZv38MNnPmNffgHPDetLqF1Ucw+LSJIpq4tv1qHXZlYT6Ez4imqFu+dXQG1SBc3/egdDnp1HzZRqPH/bmXRp2TDeJYlIgopmstjLgCeB1YSfdNvezG5z97djXZxULbNW5nD7xEyaN6zFxKF9SW9aN94liUgCi3ay2P7uvgrAzDoCbwIKKInaGwuzueeFBZzUvAHjh55B8waaHUJEyhZNQG05FE6BNcCWGNUjVdDET9fyP9OWcsaJTXhqcIjUOpodQkSOLJqAWmpmbwEvEL4HdS0w79D8fO7+Sgzrk0rM3fnnf1bxyHsruahLcx69sRe1a1SPd1kiUklEE1C1gc3AecFyDuFHvl9BOLAUUPItRUXO795YyvhP13F1rzb8+erT9Xh2ETkqRwwodx9yrAc3swHAP4DqwNPu/qdi6x8B+geLdYHm7t4oWFcILA7Wfa3PXVUe+QVF/PzFhUxbmM2Ic9tz36VdNHWRiBy1aEbxtQd+DLSL3P5IgWFm1YHHgIuBLMLdgtPcfVnEMe6O2P7HQM+IQ+x39x7R/RiSKPbnF3LHpExmrsjhlwM6c/t5HTBTOInI0Yumi+814BngDaDoKI7dB1h16Gm8ZjYVuBJYVsr2NwAPHMXxJcHsOXCQYeMzmLd2O3/4/unc2Dc93iWJSCUWTUAdcPd/HsOxWwPrI5azgL4lbWhmJwLtgfcjmmubWQZQAPzJ3V8rZd+RwEiA9HT9gxgvO3LzGfzsZyzL3s0/BvVkYPdW8S5JRCq5aALqH2b2APAukHeo0d3nH2G/kvp1SpvbbxDwkrsXRrSlu3u2mXUA3jezxe6++lsHdB8DjAEIhUKlzh0osbNl9wFufmYua7ftY/Qtvbmwi+bVE5HjF01AnQ7cAlzA4S4+D5bLkgW0jVhuA2SXsu0g4M7IBnfPDr6vMbOZhO9PfSugJL7Wb9/Hzc/MZeuePMYNOYOzOqbFuyQRqSKiCajvAx2OYf69eUCnYJDFBsIhdGPxjczsFKAx8GlEW2Ngn7vnmVkacDbwl6N8f4mxVVv2cvPTc9l/sJDnhvelZ3rjeJckIlVINAG1EGjEUc4e4e4FZjYKmE54mPlYd19qZg8CGe4+Ldj0BmCqu0d2z3UBRptZEVCN8D2o0gZXSBws2bCLwWM/w8yYOrKfJn0VkXJn/50LJWwQ7l7rRviKKPIeVMJ9LikUCnlGhh4AHGsZa7czZNw8GtRK4bnhfenQrH68SxKRSszMMt09VLw9misoDf2Wb3z4ZQ4jJ2TSIrU2zw3vS+tGdeJdkohUUdHMJDErctnMziZ8L2lWyXtIVTV96SZ+PPlzOjSrx8RhfWnWoFa8SxKRKiyaKyjMrAfhULoO+Ap4OZZFSeJ59fMsfv7iIk5vncr4IX1IrasZyUUktkoNKDM7mfDIuxuAbcDzhO9Z9S9tH6maJs5Zx29eW8KZHZry1OAQ9WtF9f8aEZHjUta/NMuBD4ErIh5WeHcZ20sV9MTM1fz5neVc2Lk5j92kx2WISMUp6/kHVwObgA/M7Ckzu5CSZ4eQKsjd+ev0Ffz5neVc0b0VT97SW+EkIhWq1IBy91fd/XqgMzATuBs4wcyeMLNLKqg+iQN353/f/IJHP1jFoDPa8vfre1BDz3ISkQp2xH913D3X3Se5++WEpytaANwb88okLoqKnP95fSlPf/QVg888kT98/3Sq61lOIhIHR/XfYnff7u6j3f1I8/BJJVRY5Nz7yiImzlnHbd/pwG8HnqoHDYpI3Gg4lgBQUFjEz15cyOsLsvnJhZ24+6JOetCgiMSVAkrILyjirqmf8/aSTfziu6dwZ/+T4l2SiIgCKtkdOFjInZPm85/lW/jN5V0Zdk77eJckIgIooJLa/vxCRk7M4MMvt/LQVadxS78T412SiMg3FFBJam9eAcPGzeOztdv5yzXduC7U9sg7iYhUIAVUEtp94CC3jv2MhVm7+Pv1PbiyR+t4lyQi8i0KqCSzIzefH479jOWbdvPYjT0ZcFrLeJckIlIiBVQS2bo3j5ufnsuarbmMvqU3F3Q+Id4liYiUKqbz15jZADNbYWarzOxbs0+Y2a1mlmNmC4Kv4RHrBpvZl8HX4FjWmQw27z7A9aM/Ze22XMYOPkPhJCIJL2ZXUGZWHXgMuBjIAuaZ2TR3X1Zs0+fdfVSxfZsQfpJvCHAgM9h3R6zqrco27NzPjU/NYeuePMYP6UPfDk3jXZKIyBHF8gqqD7DK3de4ez4wFbgyyn2/C8wIplbaAcwABsSozipt3bZcrnvyU7bn5jNxeF+Fk4hUGrEMqNbA+ojlrKCtuKvNbJGZvWRmh8Y6R7uvlGFNzl6uHz2H3PwCpozoR6/0xs1hQOkAAA+sSURBVPEuSUQkarEMqJImcvNiy28A7dy9G/AeMP4o9g1vaDbSzDLMLCMnJ+eYi61qVm3Zy/Vj5nCwsIipI/txWuvUeJckInJUYhlQWUDkpz/bANmRG7j7NnfPCxafAnpHu2/EMca4e8jdQ82aNSuXwiu7lZv3MGjMHNxh6sh+dG7RMN4liYgctVgG1Dygk5m1N7OawCBgWuQGZhb5IZyBwBfB6+nAJWbW2MwaA5cEbXIEyzft5oYxc6hm4XDqdEKDeJckInJMYjaKz90LzGwU4WCpDox196Vm9iCQ4e7TgJ+Y2UCgANgO3Brsu93MHiIccgAPuvv2WNVaVSzL3s3Nz8ylRnVjyoh+dGhWP94liYgcM3Mv8dZOpRQKhTwjIyPeZcTFkg27uPmZudSpUZ0pI/rRLq1evEsSEYmKmWW6e6h4e0w/qCsVY1HWTm58ag71aqbw/MgzFU4iUiUooCq5Bet3ctPTc2lYpwZTR/YjvWndeJckIlIuNBdfJZa5bge3jv2MxvVqMnlEX9o0VjiJSNWhgKqkMtZu59Zn55FWvyaTR/SjVaM68S5JRKRcqYuvEpq7Zhs/HPsZzRvUYurIMxVOIlIlKaAqmU9Xb+PWZ+fRMrU2U0f2o0Vq7XiXJCISEwqoSuTjVVsZMu4z2jSuw5SR/WjeUOEkIlWX7kFVErNX5jBiQgbtmtZj0oi+pNWvFe+SRERiSgFVCcxcsYWREzPp2Kw+k4b3pUm9mvEuSUQk5tTFl+DeX76ZkRMy6dS8PpMVTiKSRBRQCWzGss3cNjGTU1o0YNLwvjRWOIlIElEXX4J6Z8kmRk2ez6mtU5kwtA+pdWrEuyQRkQqlK6gE9Nbijdw5eT6nt0ll4jCFk4gkJ11BJZi3Fm/kx1M+p0fbRowbcgYNaiucRCQ5KaASyNsR4TR+aB/q19Ifj4gkL3XxJYi3F29klMJJROQbCqgE8M6S8JVT9zapjBtyhsJJRAQFVNyFR+t9Trc2qYwf2kf3nEREAjENKDMbYGYrzGyVmd1bwvp7zGyZmS0ys/+Y2YkR6wrNbEHwNS2WdcbLoaHkpyucRES+JWZ9SWZWHXgMuBjIAuaZ2TR3Xxax2edAyN33mdkdwF+A64N1+929R6zqi7fIcJqgcBIR+ZZYXkH1AVa5+xp3zwemAldGbuDuH7j7vmBxDtAmhvUkjOlLw+F0WmtdOYmIlCaWAdUaWB+xnBW0lWYY8HbEcm0zyzCzOWZ2VWk7mdnIYLuMnJyc46u4Ary7dBN3TgqH04RhfWiocBIRKVEsh4tZCW1e4oZmNwMh4LyI5nR3zzazDsD7ZrbY3Vd/64DuY4AxAKFQqMTjJ4oZyzZz56HpixROIiJliuUVVBbQNmK5DZBdfCMzuwj4NTDQ3fMOtbt7dvB9DTAT6BnDWmNuxrLN/GhSJl1bhacvUjiJiJQtlgE1D+hkZu3NrCYwCPiv0Xhm1hMYTTictkS0NzazWsHrNOBsIHJwRaXy3qFwatmQCUMVTiIi0YhZF5+7F5jZKGA6UB0Y6+5LzexBIMPdpwEPA/WBF80M4Gt3Hwh0AUabWRHhEP1TsdF/lcZ7yzZzx6FwGtZXE7+KiETJ3BP6ts1RCYVCnpGREe8yvvGfLzZz+3MKJxGRsphZpruHirdrJokYeX/5Zu54bj5dFE4iIsdEARUD7y/fzO0T53NKiwZMHKpwEhE5FgqocvbB8i3fhNNzw/qSWlfhJCJyLBRQ5eiD5Vu4bWKmwklEpBwooMrJByvC4XRyi/oKJxGRcqCAKgczg3DqdILCSUSkvCigjtPMFVsYOTGTTs3rM2l4XxrVrRnvkkREqgQF1HGYtTJH4SQiEiMKqGM0a2UOIyZkcFIzhZOISCwooI7BbIWTiEjMKaCO0odfhsOpYxBOjespnEREYkEBdRQ+/DKH4eMz6NCsPpMVTiIiMaWAitJHX25l+PgM2qfV05WTiEgFUEBF4aMvtzJs/Dzap9Vj8oh+NFE4iYjEnALqCD5epXASEYkHBVQZFE4iIvGjgCrFJ0E4tWsavuekcBIRqVgKqBJ8smorQ8fP48Qm4XBqWr9WvEsSEUk6MQ0oMxtgZivMbJWZ3VvC+lpm9nywfq6ZtYtYd1/QvsLMvhvLOiN9svpwOE0eoXASEYmXmAWUmVUHHgMuBboCN5hZ12KbDQN2uPtJwCPAn4N9uwKDgFOBAcDjwfFi6tPV2xg6bh7pTeoySeEkIhJXsbyC6gOscvc17p4PTAWuLLbNlcD44PVLwIVmZkH7VHfPc/evgFXB8WImMpwmj+hHmsJJRCSuYhlQrYH1EctZQVuJ27h7AbALaBrlvgCY2UgzyzCzjJycnGMu9qutuQonEZEEkhLDY1sJbR7lNtHsG250HwOMAQiFQiVuE40b+6Zzde/W1EqJeU+iiIhEIZZXUFlA24jlNkB2aduYWQqQCmyPct9yp3ASEUkcsQyoeUAnM2tvZjUJD3qYVmybacDg4PU1wPvu7kH7oGCUX3ugE/BZDGsVEZEEE7MuPncvMLNRwHSgOjDW3Zea2YNAhrtPA54BJprZKsJXToOCfZea2QvAMqAAuNPdC2NVq4iIJB4LX7BUDaFQyDMyMuJdhoiIHAUzy3T3UPF2zSQhIiIJSQElIiIJSQElIiIJSQElIiIJSQElIiIJqUqN4jOzHGDdcRwiDdhaTuVUdjoXh+lchOk8HKZzcVh5nIsT3b1Z8cYqFVDHy8wyShrqmIx0Lg7TuQjTeThM5+KwWJ4LdfGJiEhCUkCJiEhCUkD9tzHxLiCB6FwcpnMRpvNwmM7FYTE7F7oHJSIiCUlXUCIikpAUUCIikpCSMqDMbICZrTCzVWZ2bwnra5nZ88H6uWbWruKrrBhRnIvvmNl8Mysws2viUWNFiOI83GNmy8xskZn9x8xOjEedFSGKc3G7mS02swVm9pGZdY1HnRXhSOciYrtrzMzNrMoOPY/i9+JWM8sJfi8WmNnw435Td0+qL8LPploNdABqAguBrsW2+RHwZPB6EPB8vOuO47loB3QDJgDXxLvmOJ6H/kDd4PUdSf470TDi9UDgnXjXHa9zEWzXAJgNzAFC8a47jr8XtwKPluf7JuMVVB9glbuvcfd8YCpwZbFtrgTGB69fAi40M6vAGivKEc+Fu69190VAUTwKrCDRnIcP3H1fsDgHaFPBNVaUaM7F7ojFekBVHWkVzb8VAA8BfwEOVGRxFSzac1GukjGgWgPrI5azgrYSt3H3AmAX0LRCqqtY0ZyLZHC052EY8HZMK4qfqM6Fmd1pZqsJ/8P8kwqqraId8VyYWU+grbv/uyILi4No/45cHXSDv2RmbY/3TZMxoEq6Eir+P8BotqkKkuXnPJKoz4OZ3QyEgIdjWlH8RHUu3P0xd+8I/BK4P+ZVxUeZ58LMqgGPAD+rsIriJ5rfizeAdu7eDXiPw71QxywZAyoLiEz2NkB2aduYWQqQCmyvkOoqVjTnIhlEdR7M7CLg18BAd8+roNoq2tH+TkwFroppRfFzpHPRADgNmGlma4F+wLQqOlDiiL8X7r4t4u/FU0Dv433TZAyoeUAnM2tvZjUJD4KYVmybacDg4PU1wPse3AWsYqI5F8ngiOch6MoZTTictsShxooSzbnoFLF4GfBlBdZXkco8F+6+y93T3L2du7cjfG9yoLtnxKfcmIrm96JlxOJA4IvjfdOU4z1AZePuBWY2CphOeGTKWHdfamYPAhnuPg14BphoZqsIXzkNil/FsRPNuTCzM4BXgcbAFWb2O3c/NY5ll7sofyceBuoDLwbjZb5294FxKzpGojwXo4KryYPADg7/Z65KifJcJIUoz8VPzGwgUED4381bj/d9NdWRiIgkpGTs4hMRkUpAASUiIglJASUiIglJASUiIglJASUiIglJASVJx8wKI2ZcXlDVZqs3s55m9nTwurOZfWpmeWb28xK2HW1mZxdra2dmS47xvU83s3HHVLhIMUn3OSgRYL+79yhtpZmlBHMwVla/An4fvN5OeK680mZ76Et49v5y4e6LzayNmaW7+9fldVxJTrqCEuGbZ9m8aGZvAO8Gbb8ws3nB5Je/i9j218Fzcd4zsymHrkzMbOahaW7MLC2Y/gYzq25mD0cc67ag/fxgn5fMbLmZTTo0a76ZnWFmn5jZQjP7zMwamNmHZtYjoo6PzaxbsZ+jAdDN3RcCuPsWd59H+EO1xX/mLsBKdy80s97Be30K3BmxTbvgfecHX2cF7RPN7MqI7SYFH9KE8JxsVfLD7VKxFFCSjOpEdO+9GtF+JjDY3S8ws0uAToQfM9AD6G3hhzf2JvyPb0/gB8AZUbzfMGCXu58RbD/CzNoH63oCPwW6En7WztnBVDLPA3e5e3fgImA/8DTBp/PN7GSgVvAolEghINruuUuBd4LXzwI/cfczi22zBbjY3XsB1wP/DNqfBoYEtaQCZwFvBesygHOjrEGkVOrik2RUWhffDHc/NCnwJcHX58FyfcKB1QB49dCzocwsmuluLgG62eEnEqcGx8oHPnP3rOBYCwg/IHIXsDG48vnm+Utm9iLwGzP7BTAUGFfCe7UEcqKoCeC7wJAgYBq5+6ygfSLh8AKoATwaXLkVAicHNc0ys8fMrDnhoH45olt0C9AqyhpESqWAEjksN+K1AX9099GRG5jZTyn9kSQFHO6VqF3sWD929+nFjnU+EDkreiHhv5NW0nu4+z4zm0H4QXHXEb5aKm5/sfcukZnVJRxK2WbWqIyf6W5gM9Cd8M8W+VC+icBNhK8oh0a01w7qEDku6uITKdl0YKiZ1Qcws9bB1cJs4PtmVie433NFxD5rOfyIgWuKHesOM6sRHOtkM6tXxnsvB1oFE/US3H869J/Jpwl3s82LuNqL9AVwUhQ/X3/gAwB33wnsMrNzgnU3RWyXSvhqrgi4hfBEoYeMI9w9ibsvjWg/mei7GUVKpSsokRK4+7vBIIJPg3ELe4Gb3X2+mT0PLADWAR9G7PZX4AUzuwV4P6L9acJdd/ODQRA5lPEMJXfPN7PrgX+ZWR3CVyMXAXvdPdPMdhO+Z1TSvsvNLNXMGrj7HjNrQfieUEOgKLgC7Eq4C++liF2HAGPNbB/hQD3kceBlM7uWcKB9c5Xp7pvN7AvgtWJl9AfeLO3nE4mWZjMXOQ5m9lvCwfHXCnq/VsBMoHNwVVPSNncDe9z96TKOMx/o6+7fGt13FLXUBRYDvdx9V9BWC5gFnFPJh+pLAlAXn0glYWY/BOYCvy4tnAJP8N/3tr7F3XsdZzhdRLgr8l+HwimQDtyrcJLyoCsoERFJSLqCEhGRhKSAEhGRhKSAEhGRhKSAEhGRhKSAEhGRhPT/ASZ8tOm2zmclAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "diff_window = np.array([1.0, -1.0])\n", "diff_filter = make_filter(diff_window, close)\n", "diff_filter.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude ratio')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the angles:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(diff_filter.angles)\n", "decorate(xlabel='Frequency (1/day)', ylabel='Phase offset (radians)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So we could also compute the daily changes by multiplying the spectrum of closing prices by the diff filter:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "change_spectrum2 = close_spectrum * diff_filter\n", "change_spectrum2.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then converting the spectrum to a wave." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "change2 = change_spectrum2.make_wave()\n", "\n", "# we have to trim the first element to avoid wrap-around\n", "change2.ys = change2.ys[1:]\n", "change2.ts = change2.ts[1:]\n", "\n", "change.plot()\n", "change2.plot()\n", "decorate(xlabel='Time (day)', ylabel='Price change ($)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can confirm that we get the same result both ways (within floating point error)." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.2390088954816747e-13" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "change.max_diff(change2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Differentiation\n", "\n", "This diff operation is an approximation of differentiation, and we can compute the filter for differentiation analytically: each complex component is multiplied by $2 \\pi i f$." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#start with a filter that has the right size, then replace hs\n", "\n", "PI2 = np.pi * 2\n", "deriv_filter = close.make_spectrum()\n", "deriv_filter.hs = PI2 * 1j * deriv_filter.fs\n", "deriv_filter.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude ratio')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can apply the derivative filter to the spectrum of closing prices:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "deriv_spectrum = close.make_spectrum().differentiate()\n", "\n", "deriv_spectrum.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results are similar to what we got from `np.diff`, with some differences due to (1) the difference window is only a coarse approximation of the derivative, especially at higher frequencies, and (2) the spectral derivative is based on the assumption that the signal is periodic, so the behavior at the beginning and end is different." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1976, 1975)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deriv = deriv_spectrum.make_wave()\n", "len(deriv), len(change)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "deriv = deriv_spectrum.make_wave()\n", "change.plot(alpha=0.5)\n", "deriv.plot(alpha=0.5)\n", "decorate(xlabel='Time (day)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see the differences more clearly by zooming in on a slice:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "low, high = 0, 50\n", "plt.plot(change.ys[low:high], label='diff')\n", "plt.plot(deriv.ys[low:high], label='deriv')\n", "decorate(xlabel='Time (day)', ylabel='Price change ($)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The diffs and the spectral derivative are similar in many places, but sometimes substantially different." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the difference between the derivative filter and the difference filter:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "deriv_filter.plot()\n", "diff_filter.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude ratio')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The difference filter does not amplify the highest frequencies as much, which is why the diffs are smoother than the derivative." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Integration\n", "\n", "Now let's think about integration. We can compute the filter for integration analytically: each frequency component gets divided by $2 \\pi i f$.\n", "\n", "I plot the result on a log-y scale so we can see it more clearly." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#start with a copy of the deriv filter and replace the hs\n", "integ_filter = deriv_filter.copy()\n", "integ_filter.hs[1:] = 1 / (PI2 * 1j * integ_filter.fs[1:])\n", "\n", "# set the component at freq=0 to infinity\n", "integ_filter.hs[0] = np.inf\n", "\n", "integ_filter.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude ratio', \n", " yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can confirm that the integration filter is correct by applying it to the spectrum of the derivative we just computed:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "integ_spectrum = deriv_spectrum.copy().integrate()\n", "integ_spectrum.plot()\n", "decorate(xlabel='Frequency (1/day)', ylabel='Amplitude')\n", "decorate(yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then converting back to a wave. The result is identical to the daily closing prices we started with, but shifted so the mean is 0. \n", "\n", "The reason the mean is 0 is that the derivative clobbers the first element of the spectrum, which is the bias. Once the bias information is lost, integration can't restore it. So the result has an unspecified constant of integration." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "close.plot(label='closing prices', alpha=0.7)\n", "\n", "integ_spectrum.hs[0] = 0\n", "integ_wave = integ_spectrum.make_wave()\n", "integ_wave.plot(label='integrated derivative', alpha=0.7)\n", "decorate(xlabel='Time (day)', ylabel='Price ($)')" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9.947598300641403e-14" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shift = np.mean(close.ys) - np.mean(integ_wave.ys)\n", "\n", "diff = integ_wave.ys - close.ys + shift\n", "np.max(np.abs(diff))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cumulative sum\n", "\n", "In the same way that the diff operator approximates differentiation, the cumulative sum approximates integration.\n", "\n", "I'll demonstrate with a Sawtooth signal." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO29eXQd93Xn+bkECO4bSHARF5HiTkqyZEO0JVkrNzln2nJPnIzsdKJk7KOTmbiTdNrp2O2eJK1OZuxMn3amu93paBx3lO5M7MSZjNknigsiJUqyKVqErI0FECRIcQHJelhJYiH2O39UFd57IECCeEtVvXc/5+DgvXpV71388Op3b1V963tFVTEMwzCMuDEj6gAMwzAMYyIsQRmGYRixxBKUYRiGEUssQRmGYRixxBKUYRiGEUsqow5gOixbtkzXr18fdRiGYRhGHnj77bfbVbVm/PJEJqj169dTX18fdRiGYRhGHhCRcxMtt1N8hmEYRiyxBGUYhmHEEktQhmEYRiyxBGUYhmHEEktQhmEYRiyxBGUYhmHEkrwkKBH5joi0isjxSV4XEfn3ItIsIu+LyEczXntWRE4FP8/mIx7DMAwj+eTrCOrPgadu8vqngM3Bz3PAnwCISDXwe8DHgV3A74nIkjzFZBiGYSSYvCQoVX0d6LzJKk8Df6E+R4HFIrIK2A+8rKqdqtoFvMzNE52RZ671D/F//EMj/UMjUYcSC5pbe/hPh5ujDiM2HG5q5QfvXow6jNjw//zkPG+fu9lUVz4MjYzyxRfreeNUW8E+o1jXoFYDFzKetwTLJlt+AyLynIjUi0h9W1vhBqTc+H59C3/62hk+uHg16lBiwX985RR/9MMmBoYtYasqz//3Bv7k8OmoQ4kFXb2D/G8/OM73jl249cplwFsfdnKwMUXvQOH2lWIlKJlgmd5k+Y0LVV9Q1VpVra2pucGyyZgmjutFHUJsGBwe5dCJ1qjDiA3NrT2cae+NOozYcOhEKyOj1oE8xHE9Zs+cwWNbCjcfFytBtQBrM56vAS7dZLlRBDp6Bjh21k5XhBw900F3/3DUYcQGK16ysfFIMzqq1LkpHt1cw5yqioJ9TrES1AHglwI13yeAq6p6GXCAfSKyJBBH7AuWGUXgUGMrVhCmsQkoG8dNRR1CbOgbHOb1k3ZpIeT9i1fxrvWzf+fKgn5OXtzMReSvgMeBZSLSgq/Mmwmgqv8ZeAn4GaAZ6AN+JXitU0T+DXAseKvnVdVK+iJhE3Ka0VHl5QabkEMuXrlu1yUzeP1kGwPDo1GHERsc16NihrB7+/KCfk5eEpSqfu4Wryvwa5O89h3gO/mIw5g6PQPDvNHcztYVC2hKdUcdTuS8c+EKrd0DNh4BdUHxsnXFgogjiQeOm2LJ3JlUVpi3AfgJ6hN3VbN4blVBP8dGu0x5ramNweFR9u9cEXUosaDO9aicITyxrbAVYVJwXI8tK+azftncqEOJnKGRUQ41pti9fQWVMybSdZUXza3dnGnrLfjpPbAEVbY4rkf1vCpq11dHHUrkqCqO6/HgxqUsnJPIHp55pbN3kLc+7CzKBJQEjp7p4Fr/sI1HQHhtct8OS1BGARgcHuXVE63s2b6cCqsIOZnq4WxHn01AAQcbU4wqNh4Bjusxt6qCRzYvizqUWOC4Hh9Zu5iVi2YX/LMsQZUhR0630z1gFWGI43qIwL4ddroT/NOdqxfPYecdC6MOJXJCOfVjW2qYPbNwcuqkcOnKdd5vuVq0SwOWoMoQx00xr6qChzelK0ItY7m543rcv3YxyxemK8JyHY/egWFeP9XOvp0rEPGPrst1LADebfHFM5nFXDmPRyieKVZxawmqzBgJ5NSPb11uFSFwobMP99I1O5oMeO1kKJ6x8QC/eDHxTBrHTbFp+Xw21swvyudZgioz3jnfRXvPAPtMvQdAXXDvk03IPqF45gETz6Dqn957cONSFs2ZGXU4kdPVO8hbZzuLqvy1BFVmOK7HzAqrCEMc12PrigWsXzYv6lAiZ3B4lFdMPDPGqdYePmwvjpw6CRxsTDEyqkUdD0tQZYQvp07x0MZlLJxtFWFHzwD1Ra4I48ybgRehTcg+znETz2TiuCnuWDSbe1YvKtpnWoIqI0543ZzvNDl1SCin3mfjAfhHk+PFM+WM03CjeKZc6Rsc5o1TbezbuXJMPFMMLEGVEaGcem9GRVjOJ3IcN3WDnFrKdERGJxHPlOt4tHT1cfzijeKZ8hwN33lmYHi06NeuLUGVEY6b4mPrllCzYFbUoUROz8AwPzrVzv4iV4Rx5Z0LXbR1m3gmpM418UwmjuuxZO5MdhVZPGMJqky40NlH42WTU4ccbmplcMS8CEMcN2XimQxMPJMmbOS5e/uKopvlWoIqE5wi32AXdxw3xVLzIgTSXoQmnvEJG3la8eJzNELxjCWoMsFxPbatXMC6peZOPTA8EngRrjA5NdCU6uaceRGOETbyNPGMT5RehJagyoC27gHqz3XddALSMvJvOXK6g56BYfbfbRUygHM8dYN4JhOlfL4b4E/IN/MiLKfRCMUzUXkRWoIqAw42plBzpx6jLpBTP7TR5NTgT8gmnvEJG3maeMYnbOQZ1dxhCaoMcFyPtdVz2L7KuqOOeRFuMy9C8MUzDSaeGcMaeWYTdSPPvCQoEXlKRJpEpFlEvjLB698UkXeDn5MiciXjtZGM1w7kIx4jTXf/EEeaO9i/wypCgJ+e76K9Z9Am5AATz2TjuJ6JZwIyG3lG5UWYc/tQEakAvgXsBVqAYyJyQFUbwnVU9Z9lrP9Pgfsz3uK6qt6XaxzGxLza1ObLqe+2CQh8+5qqihk8sbUm6lBiQZ2bMvFMQNjI82fuWWXiGdKNPL/4yF2RxZCPI6hdQLOqnlHVQeC7wNM3Wf9zwF/l4XONKeC4HsvmV/HRdUuiDiVyVBWnweOhTUtZYHJq2nsGOHbu5q3dy+mge6yR503EM+V0FiIOjTzzkaBWAxcynrcEy25ARO4ENgCvZCyeLSL1InJURD4z2YeIyHPBevVtbW15CLv06R8a4fCJVvbuuImcunz2Nxovd3Oh87pNyAEHG0w8k0nYyNPEMz4TNfIsNvlIUBPt0pMpMZ8Bvq+qIxnL1qlqLfB54I9FZONEG6rqC6paq6q1NTV2emYqHDndTu/giN3PERBWhHu22wVwMPFMJiaeySYujTzzkaBagLUZz9cAlyZZ9xnGnd5T1UvB7zPAYbKvTxk54BxPMX9WJQ9tXBp1KLHAcT1q7zQ5NfjimR+beGaMsJFn1BNyXIhLI898JKhjwGYR2SAiVfhJ6AY1nohsBZYAb2YsWyIis4LHy4CHgYbx2xq3z8iocrAxxRPbljOr0irC8x19nPC6I9/h4sJhE89k4bgmnskkLl6EOScoVR0GvgQ4QCPw16rqisjzIvLpjFU/B3xXsy0LtgP1IvIe8Crw9Uz1nzF96s920tE7aPdzBJicOhsTz6QZa+Rp4hkgXo08c5aZA6jqS8BL45b97rjnvz/BdkeAe/IRg5GN46aoqpzB41undoNdqdu3OK7H9lULWVs9NTl1KTs/DQyPcLipjX/0kanJqUt5LCDdyPN/eXzCy983UOrjEadGnuYkUYKEN9h9ctMy5s/KSw2SaNq6B3j7fFcsKsI4cKTZ9yKMwwQUB0w8k81EjTyjwhJUCeJeusbFK9dtQg542eTUWTiuZ+KZDBw3ZeKZgLg18rQEVYLUuR4zrCIcw3E91lXPZdtKk1OHcmoTz/hYI89s4tbI0xJUCeK4KWrXV7N0vlWE1/qHOHK6nf07V8SiIoyat891mXgmAxPPZBO3Rp6WoEqMs+29NKVMTh3y6olWhkbUxiPAcb3bEs+Uek6/XfFMKRPHRp6WoEqMsCKcqn+WlLjXUZ2bYtn8WVOWU5fyaJh4Jpt0I087moR4NvK0BFViOK7HzjusIoTAi7DJ9yKcEZOKMEoaLl+jpcvEMyHWyDObODbytARVQrRe6+en56/YDhfw42bfi9AmZB/HTZl4JgMTz6SJqxehJagSIi7+WXHBcT0WzKqMVUUYJXWuZ+KZgLFGniaeAeLbyNMSVAnhuB7rl85ly4r5t71tqd0dPzwyysHGVp7Ytpyqytv/mmuJeWuc6+idthdhaY2Ez1gjz2mNR+mNSFwbeVqCKhGuXh/izdMdsbnBLmrqz3XR2Ru/ijAqblc8U+r4XoRTF8+UMnFu5GkJqkR49UQrw6Nq9jUBaTl1vCrCqHDclIlnAjIbeZp4ZmqNPKPCElSJ4LgeyxfM4v61i6MOJXJUlTo3xSObljHP5NS0dvfz0/NdsZyAoiBs5GniGZ84exFagioBfDl1m1WEAWkvQpuQwbwIx+McT5l4JoM4N/K0BFUCvHGqnetDIzYBBTiBF+Hu7VNzSyh1HDc1bfFMqd3IndnIczrimVK7vBv3Rp6WoEoAx/VYMLuST9xl7tTgj8cDJqcGfC/CN0/Hx506atKNPOM5IRebuHsRWoJKOMMjoxxqTLHbKkIAPmzv5WSqZ9o7XKmNR+hFaOIZn3QjTxPPQPy9CPOSoETkKRFpEpFmEfnKBK//soi0ici7wc8XM157VkROBT/P5iOecuKts5109Q3FtgIqNmNyarsADph4JpPQi9DEMz5JaOSZ839JRCqAbwF7gRbgmIgcUNWGcat+T1W/NG7bauD3gFr8+wHfDrbtyjWucqHOTTGrcgaPWUUI+BPy3asXsmZJPCvCYhKKZ/7x/atNPENaPPMbuzdHHUosSIJ4Jh9HULuAZlU9o6qDwHeBp6e47X7gZVXtDJLSy8BTeYipLPDl1B6PbK5hbpVVhKlr/bxz/gr7d8R3hysmPzrVTt+giWdC6kw8k0USvAjzkaBWAxcynrcEy8bzsyLyvoh8X0TW3ua2xgR8cPEql6725+UQvRTsW8a8CO/OfUIuBeunfIlntBQGA//6U17EMyUwHElp5JmPBDXRXzf+X/jfgfWqei9wEHjxNrb1VxR5TkTqRaS+ra1t2sGWEo7rUTFDYnmDXRTUuR4bls1j8/Lbl1OXGr4X4fTFM6WGNfLMJimNPPPxzW0B1mY8XwNcylxBVTtUdSB4+n8DH5vqthnv8YKq1qpqbU2NXW8BvyLctb6aJfOqog4lcq72+V6E+2JeERaLY2e7TDyTgYlnsrndRp5RkY8EdQzYLCIbRKQKeAY4kLmCiKzKePppoDF47AD7RGSJiCwB9gXLjFtwuq2H5taeWCtwiskrTSmGR+NfERYLx/VMPJOBiWfSJKmRZ85X1lV1WES+hJ9YKoDvqKorIs8D9ap6APh1Efk0MAx0Ar8cbNspIv8GP8kBPK+qnbnGVA6kK0KbkMG3r1m+YBb3rTE5tarffM7EMz5hI89/vndL1KHEgiQ18szLt1dVXwJeGrfsdzMefxX46iTbfgf4Tj7iKCccN8W9axZxx+I5UYcSOf1DI7x2so2f/ZjJqQGOX/Tl1L+5Jw9y6hIYznyKZ0rh7HGSGnna1dME4l3t570L1to95PWTbeZFmIGJZ7JxTDwzRq6NPItN/CM0bqCuIfTPyn0CKoGCEMdNsTBPXoSlYI7quJ6JZwLCRp4mnvFJWiNPS1AJxHE97qqZx6bl8b3BrlgMj4xy6ESK3dtXMLPCvs5n2no4ZeKZMcJGnkmZkAtN0hp52h6dMK70DXL0TKftcAFvfdjJlb4hm5ADHNe/3mLiGZ/Qi9DEM8ls5GkJKmEcamxlxCrCMUI59aNbklERFhrH9Uw8ExB6Ee7bGX85dTFIYiNPS1AJw3E9Vi6czb2rF+X3jRNo36Kq1DWkeHRL/uXUCRwOvKv9vFsA8UwSxwIK18gzqeORxEaelqASxPXBEV4/ZRVhyPstV7l8tT9RFWEheTmP4plSwHG9vIlnSoEkNvK0BJUgXjvZRv/QqE3IAWk5dXIqwkLiuCkTzwSMNfI08QyQeyPPqLD/XIKocz0WzZnJrg3VUYcSCxzX4+Mbqlk81+TUV/uGOHqmI3ETUKFIN/K0o0lIrhehJaiEMBS6U29fbhUh0Nzaw+m2XpuQAw6dKIwXYVJPJIeNPPMtnknqfXJJ9SK0mS4h/ORMJ9f6h21CDkhqRVgoCiaeSSBhI89CiGeSSJIbeVqCSgiO6zF75gwe3WxyavBPd35kzSJWLTI59fVB34vQxDM+6UaeyZuQC0E+vQiLjSWoBDA6qtQ1eDy2pYY5VRV5fe8k2r9cvnqd91quFuRm1AQOB6+fMvFMJiaeySbJjTwtQSWA91qukLo2YBNQQF3glmDj4eOYeCYLx02ZeCYg6Y08LUElAMdNUTlD2L3NrreAPyFvrJnHpgRWhPlmaGSUQ42tJp4JSDfytOIFkt/I077RMSe84PuJu5ayaO7MqMOJnK7eQX7yoXkRhrz1YSdXr1tr9xATz2ST9EaelqBiTnNrD2faewt+P0dS7FsOnSiOF6FqMkakKOKZZAwF4J9tKLR4JinfjbCRZ5LFM5agYk5YEe5NoES0EDiux6pFs7l3jcmpR0d9d+pCiGeSSNjI05zcfUqhkWdeEpSIPCUiTSLSLCJfmeD13xKRBhF5X0QOicidGa+NiMi7wc+BfMRTSjhuivvWLmblotlRhxI5fYPDvH6yjX07knnBN9+8f/Eq3jWTU4ekG3naeEB+G3lGRc4JSkQqgG8BnwJ2AJ8TkR3jVnsHqFXVe4HvA3+U8dp1Vb0v+Pl0rvGUEhevXOeDi1dthwt4/WQbA8Mmpw5xXM/EMxmYeCZNqTTyzEfku4BmVT2jqoPAd4GnM1dQ1VdVtS94ehRYk4fPLXnqXHOnzsRxUyyea3LqEKcI4pmkHKkWq5FnQoajZBp55iNBrQYuZDxvCZZNxheAf8h4PltE6kXkqIh8ZrKNROS5YL36tra23CJOCI7rsXn5fO6qsYpwKHSn3raCygRXhPmiubWbM22FF88kBWvkmU2pNPLMx54+UU0xocxFRP4JUAv8nxmL16lqLfB54I9FZONE26rqC6paq6q1NTXJHvSp0Nk7yFsmpx7j6JmOwIvQJmRIt3Y38YyPiWfShI08HysBL8J8JKgWYG3G8zXApfEricge4GvAp1V1IFyuqpeC32eAw8D9eYgp8RxsTDGqdsE3xHE95sysSHxFmC8c1zPxTMBYI08TzwCl1cgzHwnqGLBZRDaISBXwDJClxhOR+4E/xU9OrRnLl4jIrODxMuBhoCEPMSWeOtdj9eI53L16YUE/Jwn7c6acevZMk1NfunKd91tMPBNijTyzCb0Ik9TafTJyPv5T1WER+RLgABXAd1TVFZHngXpVPYB/Sm8+8DdBhXM+UOxtB/5UREbxk+XXVbXsE1TvwDCvn2rn87vWWUUIvNtyhdbuAfbfbaf3wMQz46lzPRPPZOCLZ0rDizAvJyhV9SXgpXHLfjfj8Z5JtjsC3JOPGEqJ1062MVhkOXWcb44P5dRPbi3ehBzj4cBxU0UVz8R5LMJGnnt3rCyaeCbO4xE28nz2ofVRh5IXTA4VQxzXY8ncmTywfknUoUSO70WY4sGN5kUIvhfhW2dNPBOSbuRpR5OQ4UVYIuIZS1AxY3B4lFdOtLJnu8mpAU619vBhe6/Z1wQcbEyZnDoDE89kU+d6fKSExDM2A8aMN8900G2t3cdwjocVoVXI4J/eK4Z4JglkNvI08Uy6kWcpHU1agooZjusxt6qCT25eFnUoscBp8Lh/3WJWLCyNijAX+gaHeeNUG3uLKKeOs0RnrJFnEcUzcR6PUmzkaQkqRoyOKi83pHh8q1WEAC1dfRy/eK2kdrhceK3JvAgzCRt5FlM8E2cc12PT8vlsLCHnGUtQMeKdC120dVtr95BSrAhzwcQzacJGniae8Uk38iytZG0JKkY4boqZFcIT25J/g10+cFyPLSvms2HZvKhDiZzB4VEOmXhmjLCRp4lnfIrVyLPY2Dc9Jqgqjuvx4MZlLJxtFWFHzwDHTE49xlETz2SRllOX1hHDdHFcjzsWzeae1aXlRWgJKiY0pbo519FX9EP0uF70PdTYGokXYVydO0w8k43jpkw8EzDWyHPnyth+f6eLJaiY4BxPIQJ7rSIE/Al59eI57LzD5NQmnsnGGnlmEzby3Fdi15/AElRscFyPj65bwvIF0VSEGiMDl56BYd5obmffzujcqeNk/fTOhcCLMKIJWeM0GGR6EUY1HpF87KQ4boolc2eya33peRFagooBFzr7aLh8reQUONPlcFNr0b0I40yd65l4JoMfHjfxTMhYI88SFc+U3l+UQJyIK8K44bgpqudV8UAJVoS3i4lnsjHxTDbpRp6lOR6WoGJAnZti28oF3LnUKsKB4RFePdHKnu3LqZhRWhd8p8PJVA9nIxDPxJWoxDNxJRTPPFKi4hlLUBHT3jPAsXOddj9HwJHTHfQMlG5FeLs4rhepeCZuorCoxTNxUsmVQyNPS1ARc7Ahhao1nwupcz3mVVXw8KbSrAhvl6jFM3EiDuKZODHWyLOEizlLUBHjuB5rlsxhxyqTU4+MyamXl2xFeDtc6OzDvWTimZDXmorfyDPOOMf9Rp6lLJ6xBBUh3f1D/Li5g/0leIPddPjp+S7aewZL8n6O6VDXYF6EmTiuZ+KZgLR4ZimL5pSueCYvCUpEnhKRJhFpFpGvTPD6LBH5XvD6T0RkfcZrXw2WN4nI/nzEkxQON7UxOGIVYYhz3OTUmTiuZ+KZgMHhURPPZJAWz5T23JFzghKRCuBbwKeAHcDnRGTHuNW+AHSp6ibgm8A3gm13AM8AO4GngP8UvF9Z4LgeS+dV8bE7o3OnjsuBm6riNHg8FLGcOibDQUfPAPVnTTwTcuR0O90mnhkjFM+UuhdhPo6gdgHNqnpGVQeB7wJPj1vnaeDF4PH3gd3in9N6Gviuqg6o6odAc/B+Jc/A8AiHm/zmc1YRQuPlbi50XrcJKOBgYyqQU5f2BDRVHDdl4pkMHNfj/rWLWV7iXoT5SFCrgQsZz1uCZROuo6rDwFVg6RS3BUBEnhORehGpb2try0PY0XKkOV5y6qjtW6KWU99A5OORio14Jmpnn7iJZ6Iej7R4Jh5zRyHJR4KaqPwf/z+cbJ2pbOsvVH1BVWtVtbampuY2Q4wfjusxf1YlD21aGnUoscBxPT62bgk1C2ZFHUrk9AwM86NT7SaeCXjnfBftPQMmngkoJ/FMPhJUC7A24/ka4NJk64hIJbAI6JzitiXHSIY79azK6CvCqDnf0ccJr7ssdripcLip1cQzGTjmRZiF43psXbGA9WXgRZiPBHUM2CwiG0SkCl/0cGDcOgeAZ4PHnwVeUd8i+QDwTKDy2wBsBt7KQ0yx5u1zXXT0DtoEFGBehNk4bipy8UxI1Mdvvpw6Fbl4JiTq8QjFM+VybbIy1zdQ1WER+RLgABXAd1TVFZHngXpVPQD8GfBfRaQZ/8jpmWBbV0T+GmgAhoFfU9WRXGOKO47rUVUxg8e3Jv9UZT4I5dTrls6NOpTICb0I/4d7V5l4BjjhdXO+s49ffWxj1KHEglA8Uy7qzpwTFICqvgS8NG7Z72Y87gd+bpJt/xD4w3zEkQTCG+we3rSUBTGoCKOmrXuAt8938etPbo46lFhgXoTZxE48EzGOmyqrRp7mJFFkGi5fo6XL5NQhL495Edp4gO9FaOKZNI6bMvFMQDmKZyxBFRnHTTFDYI9VhIBfIa+tnsP2VQuiDiVyTDyTzYXOPhovl4eceiqkxTPlM3dYgioyda5H7Z3VLJtvFeG1/iGOnG5n/47yqQhvRuhFaBOyj4lnsgnFM7Vl5EVoCaqInOvo5YTXHbP7OaJLDK+eaGVoRNl/d3wmoCjzpHPcxDOZmHgmTbqRZ3k5z1iCKiJxrgijuDu+zk2xbH4VH10XvZx6PFrkEQm9COMononCZaSte4D6c13x3FciGJAx8czdcSpuC48lqCLiuCl2rFrI2mqrCPuHRjjc1GpehAHmRZjNwUYTz2QSNvJ8aGN5eRFagioSrd39/PR8PCvCKPhxczu9gyNlcz/HrXBcz8QzGZh4Js2YeGZbPLwIi4klqCIxJqcus0P0yRjzItxocmrwxyOO4pkoxCvd/UMcae6Ip3gmgnDKWTxjCapIOG6KO5fOZesKqwiHR0Y52NjKE9uWm5yatBdhvMQz0fFq2MgzRuKZKAnFM0+UoXjGElQRuNY/xJuny+sGu5tRf66Lzt7Bsrqf42bEWTwTBY7rxVY8U2zGGnnGUDxTDCxBFYExObVNyEDgRVg5g8e3mjs1+ONh4hmf/qERDp8w8UxIuYtnLEEVAcf1qFkwi/vXWkWoqtS5KT65aRnzZ+XFCjLRhF6E5ToBjefIaRPPZBJ6Ee7ZXp7FrSWoAuPLqf3W7jOsIsS9dI2LV67b0WSAiWeycY6nTDyTgS+eKV8vQktQBeZHp9rpGxyxCjlgTE5dphXheBzXM/FMwMiocrAxZeKZAGvkaQmq4Diux4LZlTx4VzwrwmJrNhzXo3Z9NUtjJqcOKeZwjHkRmngGgPqznUEjTytewMQzYAmqoPhy6hRPbltOVWW8h7oY9i0ftvdyMtWTiB2uGG42SRHPFMv2yXFTiRDPFMvoyHE9tpe5eCbes2bCOXa2i66+oURMyMUgrAj3mVsC4HsRmnjGJ2zkaeIZn7R4prz3FUtQBSSUUz+2pfxusJsIx/XYeUd5V4QhmV6EJp4x8cx4rJGnT04JSkSqReRlETkV/L6hFBSR+0TkTRFxReR9EfmfMl77cxH5UETeDX7uyyWeOKHq+2c9unkZ86wiJHWtn3fOXyn7HS4k9CKM+3gUK3XWJUQ8U6zxcFyPddVz2bayvMUzuR5BfQU4pKqbgUPB8/H0Ab+kqjuBp4A/FpHFGa//tqreF/y8m2M8seH4Rb8itPs5fOoaUoBVhCFxF88UG8dNxVo8U0zS4pkVZS+eyTVBPQ28GDx+EfjM+BVU9aSqngoeXwJagZI/52Vy6mzqXI/1S+eyZcX8qEOJnNCLMAnimWJwtr2XplR5y6kzSYtnbDxy3TtWqOplgOD3TeU3IrILqAJOZyz+w+DU3zdFZNLySUSeE5F6Ealva2vLMezC47geuzZUUz2vKqfTGQYAABnASURBVOpQIudq3xBvnu4wOXVA2ovQJiAw8cx4/Eaes8yLkCkkKBE5KCLHJ/h5+nY+SERWAf8V+BVVHQ0WfxXYBjwAVAO/M9n2qvqCqtaqam1NTbwPwM609XCqNRly6mLwSlOK4VG1050BJp7JxsQzaUw8k80tr96r6p7JXhORlIisUtXLQQJqnWS9hcDfA/9KVY9mvPfl4OGAiPwX4Mu3FX1McVz/eotNyD7O8RTLF8zi/rWLb71yiRN6EZp4xqf1Wj8/PX+F39q7JepQYkFaPGNHk5D7Kb4DwLPB42eBH4xfQUSqgL8D/kJV/2bca6uC34J//ep4jvHEAsf1uHfNIlYvnhN1KJHTPzTCayfNizAklFNb8eJj4plsHNdjwazKsmvtPhm5JqivA3tF5BSwN3iOiNSKyLeDdX4eeBT45Qnk5H8pIh8AHwDLgD/IMZ7I8a728+6F5MipC50yXj/ZxvWh+MupQwp9jczEM9k4Jp4ZI7ORp4lnfHI6x6CqHcDuCZbXA18MHv834L9Nsv2TuXx+HHm5IfTPStYEVCj7FsdNsWB2JZ9ImJy6cOORPPFMoWyfrl73xTNf+OSGZIlnCjQeJp65EUvTecZxU9xVM49Ny8v7BjvwK8JDJ1LstooQSJYXYTF49USriWcySDfyNPFMiM0aeeRq3xBHz3TYBBTw1oedXDEvwjHG5NRJGo8CHtg4rpc48UyhjvRC8cwjm0w8k4klqDxy6IQvp7YJ2cdxPWZVzuAxqwgBfzzuWW3iGbBGnuNJexHa3JGJJag84rgeKxfO5t7Vi6IOJXJUlbqGFI9srmFulVWEaS/CZF2bLBRvnGpPlHim0ITimd3b491qpNhYgsoT1wd9OfW+nVYRArzfcpXLV/ttQg4wOXU2oRdh0sQzhcJxPR4wL8IbsASVJ14/1Ub/0KhNQAGO61ExQ0xOHVDnety1bB6blpucenhklEONJp4JMfHM5Ni3I084rseiOTPZtaE66lBigeN67FpfzZIEyakLRehFuM+8CAF462ynNfLMIC2esWJuPJag8sDQyCiHGlvZvX05MytsSJtbezjd1mun9wJCL0IbD586N2XimQwc1+Pu1QtZs8S8CMdjs2keeOvDTq5et4owJJFy6gLiHE+xYuEsPrImOXLqQuHLqT0TzwSMiWd22L4yEZag8oDjesyeOYNHNyevIhw75ZTHu+PrAi/COxIopx4bjjzZJ4RehPt2rEyseCafThIfXLzKpYSLZzSPO8uYeOZuS1ATYQkqR0ZH/RvsHttSw5yqiqjDiZzLV6/zXstVO5oMSJoXYaEx8Uw2da7HhmXz2GzimQmxBJUj71+8inet3yaggDo3lFPbBAS+9dWiOTP5+F0mngF/PEw845MWz1hr98mwBJUjjutROUPYvc0mZPDHw7wIfTK9CJMqnpE8eh2dbuuhubUn0cVLPtNIWjxjxe1kJHOviRGO6/GJu5ayaO7MqEOJnK7eQX7yYaftcAGhF6GJRXxMPJNN2MjzPhPPTIolqBxobu3mjMmpxzh0opWRUeUpm4CAtHjGWrv7OG4qseKZfDMmnjHnmZtiCSoHwtbue00iCvgT8qpFs7l3jXkRhl6Ej2428Qz4jTzfS1Ajz0Jj4pmpYQkqBxzX4761i1m5aHbUoURO3+Awr59sY98Ou+ALmV6ENgEB1CW0kWehcNwUC82L8JbklKBEpFpEXhaRU8HvJZOsN5LR7v1AxvINIvKTYPvviUhipD2XrlznfZNTj/H6yTYGhs2LMCSUU5s7tY+JZ9KMiWe2r0iseKZY5Do6XwEOqepm4FDwfCKuq+p9wc+nM5Z/A/hmsH0X8IUc4ykada5VhJk4borFc82LMMQXz1SzeG5iaq6CcaVvkKNnTDwTkm7kaXPHrcg1QT0NvBg8fhH4zFQ3FP880JPA96ezfdQ4borNy+dzV43dYDc05k69gkqrCDO8CG1CBjjU6ItnbDx8wkaej5p45pbkOpusUNXLAMHvyc5nzBaRehE5KiJhEloKXFHV4eB5C7A6x3iKQlfvIG+dLY2KMLxalIt9y9EzHVzrHy6JijA9HtNnTE5t4hmg9Bp55mL9NCae2WJehFPhliMkIgeBifa0r93G56xT1Usichfwioh8AFybYL1J//Ui8hzwHMC6detu46Pzz8HGlFWEGTiux5yZFVYRBtS5Hh8x8QzgN/J8/VQbP1+71uTUpMUz/3zf1qhDSQS3TFCqumey10QkJSKrVPWyiKwCWid5j0vB7zMichi4H/hbYLGIVAZHUWuASzeJ4wXgBYDa2to82lfePo6bYvXiOdy9emGUYcSCTC/C2TNNTh16Ef6Lp0pjAspVkPnaydJq5JnreKS9CE08MxVyPcV3AHg2ePws8IPxK4jIEhGZFTxeBjwMNKhvF/0q8NmbbR83+gaHeeNUG3tNTg3Auy1XaO0eYP/dyT+9lw/SXoSlMSHnSp018szCcT0+vsHEM1Ml1wT1dWCviJwC9gbPEZFaEfl2sM52oF5E3sNPSF9X1Ybgtd8BfktEmvGvSf1ZjvEUnNeaTE6dSehF+ORWS1Dgj8em5fPZaOIZhkZGOdiYskaeASaeuX1yukqnqh3A7gmW1wNfDB4fAe6ZZPszwK5cYig2juuxZO5MHlg/4S1fZYXffC7FgxvNixDSXoS/+thdUYcSC35ypjMQz9iEDNbafTpYWXMbDA6PcuhEK3u2m5wa4FRrDx+295r5Z0DoRWgTsk+SG3kWgjrX4yNrFrFqkXkRThWbZW+Do2c66LaKcAzneCintooQ/An5jkWzuadE5NS5MDqq1DV41sgzIBTPWDF3e1iCug0c12NuVQWf3Lws6lBigdPgcf+6xaxYaHLqMS/CnStNPAO813KF1LUBK+YCTDwzPSxBTZHRUeXlhhSPbzU5NUBLVx/HL16zHS4gFM/Y9QUfx01ZI88MHNdjY808Nllr99vCEtQUeedCIKe2CRmwinA8oXhm13qTU/viGWvkGWKNPKePJagpUud6zKwQnthWWjfYhWejbte+xXE9tqyYz4Zl8/IfVJQEA3I74xGKZ3aXqHhGb/PL0dzaw5n2XvbfXZoT8u3uKyaemT6ltzcVAFXlh67HgxuXsXC2VYQdPQMcKxEvwnxg4pls0l6EdnoPrJFnLliCmgJNqW7OdfSVhBlqPjjU2Mqo2um9kFA880gJimemI/dw3FTJimfkNkfEGnnmhiWoKeAcTyECe60iBPwJefXiOey8w7wIQ/GMeRH6XLxynQ8uWiPPEGvkmRuWoKaA43p8dN0Sli8ovYrwdukZGOaN5nb27bSKEEw8M550I08bD7BGnrliCeoWXOjso+HyNTu9F/BaUxuDVhGOURd4EZaaeGa6lKx4ZhpYI8/csVG7BY5VhFk4rkf1vCoeMDk1qorjer4X4RwTz3T2DvKWyanHKKVGnlFhCeoW1Lkptq1cwJ1LrSIcHB7l1ROt7Nm+nAprPsfJVA9nO/psQg442Jgy8UwG1sgzdyxB3YT2ngGOnes0/6yAI6fb6R4wOXWI43qImJw6pM7EM2NYI8/8YAnqJhxsSKGKHaIHOG6KeVUVPLyp9OTU08FxPe5fu5jlJSinvl16B4Z5/ZSJZ0KskWd+sAR1ExzXY82SOexYZRXhyJgX4XKrCPHFM+4l8yIMee2kiWcysUae+cES1CR09w/x4+YO9pe4O3V44+Gt7FveOd9Fe89AyZuhhv9p5eYDUtdQPl6EU3H2KSfxzK2+G9bIM39YgpqEw01tDI5YRRjilKgX4XRxXI+tKxawvsTl1FOpzQaHR3mlTMQzUxkPa+SZP3JKUCJSLSIvi8ip4PcNfdBF5AkReTfjp19EPhO89uci8mHGa/flEk8+cVyPpfOq+Nid1trdl1OneMi8CAHfi7D+bKddmwx407wIs7BGnvkj1yOorwCHVHUzcCh4noWqvqqq96nqfcCTQB9Ql7HKb4evq+q7OcaTFwaGRzjc1MbeHStKviKcCie8bs53mpw6JJRTW4Xs47ieiWcysEae+SPXBPU08GLw+EXgM7dY/7PAP6hqX46fW1CONHfQY3LqMUI5tXkR+jhuyuTUAaMmnsnCGnnml1wT1ApVvQwQ/L7VBYpngL8at+wPReR9EfmmiMyabEMReU5E6kWkvq2tLbeob4HjesyfVclDm5YW9HOSguOm+Ni6JdQsmPTfUzb0DAzzo1PtJS+emSrvXOiirbv0xTNTxRp55pdbJigROSgixyf4efp2PkhEVgH3AE7G4q8C24AHgGrgdybbXlVfUNVaVa2tqSncndkjGa3dZ1VaRXihs4/Gy1YRhhxuag3EMzYhg1+8mHgmjXkR5pfKW62gqnsme01EUiKySlUvBwmo9SZv9fPA36nqUMZ7Xw4eDojIfwG+PMW4C8bb57ro6B20CTnAvAizcdwUS+dVUVsGcupbEXoRmnjGJ2zk+WtPbIo6lJIh11N8B4Bng8fPAj+4ybqfY9zpvSCpIf65ks8Ax3OMJ2cc16OqYgaPbzX/LPDHY9vKBaxbOjfqUCJnYHgk8CI08QxkNvK04gWskWchyDVBfR3YKyKngL3Bc0SkVkS+Ha4kIuuBtcBr47b/SxH5APgAWAb8QY7x5ERYET68aSkLrCKkrXuA+nNdtsMFHDkdiGfMvgawRp7jsUae+eeWp/huhqp2ALsnWF4PfDHj+Vlg9QTrPZnL5+ebhsvXaOm6zpfK8BB9onvjDzaGXoRlmKAmGJC6QE790MbyklNP5jLiuF5ZimcmGo+wkecvfHydiWfyiDlJZOC4KWYI7CmjivBm+5LjeqytnsP2VQuKF1DETDYeY+KZbSanhsxGnmVYvEyANfIsDJagMqhzPWrvrGbZ/PKqCCeiu3+II80d7N9hcmqAn57vor2n/MQzwsT/exPPZFNOXoTFxBJUwLmOXk543XY/R8CroRfh3TYBgW9fU1UxgydMPAOkG3maeMYaeRYSS1ABVhFm47gey+ZX8dF15kWoqjgNHg+ZeAZIN/K0fcXHGnkWDktQAY6bYseqhayttoqwf2iEwydazYswoPFyNxc6r9sEFJBu5GnjAdbIs5BYggJau/v56XmTU4ccOd1O7+CImaEGhF6Ee7bb6V8oT/HMZFgjz8JiCQp4OawI7f4WwL+/Zf6sSh7aaF6E4E/ItXeWn5x6IsYaeZp4BiifRp5RYQkK/xD9zqVz2brCKsKRUeVgY4onti03L0LgfEcfJ7xuO7oOOGzimSyskWdhKfsEda1/iDdPmzt1SP3ZzsCL0CpCMPHMeEw8k8YaeRaesk9Qr55oZWhEbUIOcNwUVZUzeHyrVYTgT8jbTTwDWCPP8Vgjz8JT9gnKcT1qFszi/rXlXRGq6pgX4Sc3LWP+rJxcsBKP4nsRvn2+q+yLFw18n8JGnuUungmdjqyRZ+Ep6wTVP5SuCGdYRYh76RoXr1wv6wk50znhZZNTZ1k/jTXyLGPxTOZlAGvkWXjKOkH96FQ7fYMjZT0BZVLner4XocmpAX9CXlc9l20rTTwTyqlNPONjjTyLQ1knKMf1WDC7kgfvKt+KMBPHTVG7vpql5kXoexGebmf/zhUmniGzkacVL2DimWJRtglqeGSUg40pnty2nKrKsh2GMc529NKUMjl1yKsn2gLxjI0HBI08TTwzhjXyLA5lOzMfO9tFV9+QTUABjpsCYJ9d8AVCOfUsk1Pj9z/64XETz4S091gjz2JRtgkqrAgf22Lu1OCfwtl5h8mpQ+rPdZl4JqC1e6DsxTOZvHP+StmLZ4pFWSYoVf+C76OblzHPKsIxbIfLxibkNCaeyca8CItDTglKRH5ORFwRGRWR2pus95SINIlIs4h8JWP5BhH5iYicEpHviUhVLvFMleMXfTl1ud/PMR5LUNmUW2v3m2HiGZ/u/iEA8yIsErkeQR0H/kfg9clWEJEK4FvAp4AdwOdEZEfw8jeAb6rqZqAL+EKO8UwJx+TUE7JlxfyoQ4ickdFRAD6+odrEM/jiGbDiJaSl6zqAeREWiZz2QFVtVNWmW6y2C2hW1TOqOgh8F3ha/PLjSeD7wXovAp/JJZ6p4rgeuzZUUz2vKAdsseb60AgAdy2bZxUh/s3KYBNyyNEznYCJZ8Zj4pniUIwLMKuBCxnPW4CPA0uBK6o6nLF89WRvIiLPAc8BrFu3btrBdPcPMWvmDJ6yCQiAbSsX8NDGpfzeP9oZdSix4BcfvJOLV67zc7Vrog4lFvyHz93P4aY2E88E/MbuzcyeWWFehEVCVPXmK4gcBCaazb+mqj8I1jkMfFlV6yfY/ueA/ar6xeD5L+IfVT0PvKmqm4Lla4GXVPWeWwVdW1ur9fU3fNRtoap2xGAYhhEDRORtVb1Bx3DLIyhV3ZPjZ7cAazOerwEuAe3AYhGpDI6iwuVFwZKTYRhGvCnGVeBjwOZAsVcFPAMcUP/Q7VXgs8F6zwI/KEI8hmEYRgLIVWb+j0WkBXgQ+HsRcYLld4jISwDB0dGXAAdoBP5aVd3gLX4H+C0Raca/JvVnucRjGIZhlA63vAYVR/JxDcowDMOIB5Ndg7IbPQzDMIxYYgnKMAzDiCWWoAzDMIxYYgnKMAzDiCWWoAzDMIxYkkgVn4i0AedyfJtl+DcLGz42HmlsLLKx8cjGxiObfIzHnap6Q3O+RCaofCAi9RPJGssVG480NhbZ2HhkY+ORTSHHw07xGYZhGLHEEpRhGIYRS8o5Qb0QdQAxw8YjjY1FNjYe2dh4ZFOw8Sjba1CGYRhGvCnnIyjDMAwjxliCMgzDMGJJySUoEXlKRJpEpFlEvjLB67NE5HvB6z8RkfUZr301WN4kIvuLGXehmO54iMheEXlbRD4Ifj9Z7NgLQS7fj+D1dSLSIyJfLlbMhSTH/eVeEXlTRNzgezK7mLEXghz2l5ki8mIwDo0i8tVix55vpjAWj4rIT0VkWEQ+O+61Z0XkVPDz7LSDUNWS+QEqgNPAXUAV8B6wY9w6/yvwn4PHzwDfCx7vCNafBWwI3qci6r8pwvG4H7gjeHw3cDHqvyfK8ch4/W+BvwG+HPXfE/H3oxJ4H/hI8Hxpme8vnwe+GzyeC5wF1kf9NxV4LNYD9wJ/AXw2Y3k1cCb4vSR4vGQ6cZTaEdQuoFlVz6jqIPBd4Olx6zwNvBg8/j6wW/z+70/jf8EGVPVDoDl4vyQz7fFQ1XdU9VKw3AVmi8isokRdOHL5fiAin8Hf2VxKg1zGYx/wvqq+B6CqHao6UqS4C0Uu46HAPBGpBOYAg8C14oRdEG45Fqp6VlXfB0bHbbsfeFlVO1W1C3gZeGo6QZRagloNXMh43hIsm3Ad9bv9XsWv/qaybdLIZTwy+VngHVUdKFCcxWLa4yEi8/A7QP/rIsRZLHL5fmwBVESc4DTPvyhCvIUml/H4PtALXAbOA/9WVTsLHXAByWU+zNtcWjmdjWKMTLBsvI5+snWmsm3SyGU8/BdFdgLfwK+Yk04u4/GvgW+qak9wQFUK5DIelcAngQeAPuBQ0BX1UH5DLCq5jMcuYAS4A/+01hsiclBVz+Q3xKKRy3yYt7m01I6gWoC1Gc/XAJcmWyc4HF8EdE5x26SRy3ggImuAvwN+SVVPFzzawpPLeHwc+CMROQv8JvAvReRLhQ64wOS6v7ymqu2q2ge8BHy04BEXllzG4/PAD1V1SFVbgR8DSfbry2U+zNtcWmoJ6hiwWUQ2iEgV/kXMA+PWOQCEqpLPAq+of2XvAPBMoNLZAGwG3ipS3IVi2uMhIouBvwe+qqo/LlrEhWXa46Gqj6jqelVdD/wx8L+r6n8sVuAFIpf9xQHuFZG5wUT9GNBQpLgLRS7jcR54UnzmAZ8AThQp7kIwlbGYDAfYJyJLRGQJ/tkXZ1pRRK0WKYD65GeAk/gKlK8Fy54HPh08no2vwmrGT0B3ZWz7tWC7JuBTUf8tUY4H8K/wz6m/m/GzPOq/J8rvR8Z7/D4loOLLdTyAf4IvGDkO/FHUf0uU4wHMD5a7+In6t6P+W4owFg/gHy31Ah2Am7Ht/xyMUTPwK9ONwayODMMwjFhSaqf4DMMwjBLBEpRhGIYRSyxBGYZhGLHEEpRhGIYRSyxBGYZhGLHEEpRh5AkRWSoi7wY/nohczHh+pECfeb+IfPsmr9eIyA8L8dmGUWhKzerIMCJDVTuA+wBE5PeBHlX9twX+2H8J/MFNYmoTkcsi8rCWzg3XRplgR1CGUQREpCf4/biIvCYify0iJ0Xk6yLyCyLyVtBLaGOwXo2I/K2IHAt+Hp7gPRcA92rgKC4ij2Ucsb0TvA7w/wG/UKQ/1TDyhiUowyg+HwF+A7gH+EVgi6ruAr4N/NNgnf8L35z2AXw3+YlO49XiuziEfBn4NVW9D3gEuB4srw+eG0aisFN8hlF8jqnqZQAROQ3UBcs/AJ4IHu8BdmQ4py8UkQWq2p3xPquAtoznPwb+nYj8JfD/qmpLsLwV32XbMBKFJSjDKD6ZfbVGM56Pkt4nZwAPqup1Juc6vjccAKr6dRH5e3wPtaMiskdVTwTr3Ox9DCOW2Ck+w4gndcBYOw8RuW+CdRqBTRnrbFTVD1T1G/in9bYFL20h+1SgYSQCS1CGEU9+HagVkfdFpAH41fErBEdHizLEEL8pIsdF5D38I6Z/CJY/gd86xTAShbmZG0aCEZF/BnSr6s3uhXodeFpVu4oXmWHkjh1BGUay+ROyr2llISI1wL+z5GQkETuCMgzDMGKJHUEZhmEYscQSlGEYhhFLLEEZhmEYscQSlGEYhhFLLEEZhmEYseT/B+aS7+zL6ScvAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from thinkdsp import SawtoothSignal\n", "\n", "in_wave = SawtoothSignal(freq=50).make_wave(duration=0.1, framerate=44100)\n", "in_wave.unbias()\n", "in_wave.plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the spectrum before the cumulative sum:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "in_spectrum = in_wave.make_spectrum()\n", "in_spectrum.plot()\n", "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output wave is the cumulative sum of the input" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "out_wave = in_wave.cumsum()\n", "out_wave.unbias()\n", "out_wave.plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's its spectrum" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "out_spectrum = out_wave.make_spectrum()\n", "out_spectrum.plot()\n", "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we compute the ratio of the output to the input:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1765, 2206)" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(in_spectrum.amps < 1), len(in_spectrum)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In between the harmonics, the input componenents are small, so I set those ratios to NaN." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ratio_spectrum = out_spectrum.ratio(in_spectrum, thresh=1)\n", "ratio_spectrum.plot(marker='.', ms=4, ls='')\n", "\n", "decorate(xlabel='Frequency (Hz)',\n", " ylabel='Amplitude ratio',\n", " yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get the cumsum filter, I compute the diff filter again and invert it." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# compute the diff filter\n", "diff_window = np.array([1.0, -1.0])\n", "padded = zero_pad(diff_window, len(in_wave))\n", "diff_wave = Wave(padded, framerate=in_wave.framerate)\n", "diff_filter = diff_wave.make_spectrum()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "# compute the cumsum filter by inverting the diff filter\n", "cumsum_filter = diff_filter.copy()\n", "cumsum_filter.hs[1:] = 1 / cumsum_filter.hs[1:]\n", "cumsum_filter.hs[0] = np.inf" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# compute the integration filter\n", "integ_filter = cumsum_filter.copy()\n", "integ_filter.hs[1:] = integ_filter.framerate / (PI2 * 1j * integ_filter.fs[1:])\n", "integ_filter.hs[0] = np.inf" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxc5X3v8c9vZiSNdtmWN3nBNrYxeANjzOYEExIHUgwlYYmzAFkgSUPTpDektElTyqX3NmkWQnZCUkNK2NKmMQm9LAmGQACDwQYbG+/GxvuifZvluX+cI2ssS/IIzeiMNN/363Vec+aZmTO/OZb09XPOM88x5xwiIiK5JhR0ASIiIt1RQImISE5SQImISE5SQImISE5SQImISE5SQImISE5SQImISE5SQImISE7KmYAys1PN7Cdm9msz+1zQ9YiISLCyGlBm9gsz229ma7u0X2xmb5rZZjO7BcA5t94591ngamB+NusSEZHcl+0e1DLg4tQGMwsDPwQuAU4DlprZaf5jlwHPAn/Icl0iIpLjItncuHPuGTOb1KV5AbDZObcVwMweAC4H3nDOLQeWm9nvgV91t00zuxG4EaC0tPTMGTNmZKl6EREZCKtWrTronBvZtT2rAdWDccDOlPu7gLPNbBHwQaAIeLSnFzvn7gLuApg/f757+eWXs1epiIhknZnt6K49iICybtqcc24FsGJgSxERkVwVxCi+XcCElPvjgd192YCZLTGzu+rq6jJamIiI5I4gAuolYJqZTTazQuDDwPK+bMA594hz7sbKysqsFCgiIsHL9jDz+4HngVPMbJeZfco5FwduAh4D1gMPOefWZbMOEREZfLI9im9pD+2P0stAiBMxsyXAkqlTp77TTYiISI7LmZkk+kKH+EREhr5BGVAiIjL05XVAPb/sFl7+/c+CLkNEJFA333wzM2fO5Oabb+YnP/kJ9957LwDXX389v/71rwG44447aG5uHtC6gvgeVL9l6hxUuHYH8YKSzBQlIjJI/fSnP+XAgQMUFRX1+Jw77riDj33sY5SUpP83M5FIEA6H33Fdg7IHlbFzUBYCl8xMUSKS9+69917mzJnD3Llz+fjHPw4c2wsBKCsrA2DFihVccMEFXH311UyfPp1bbrmF++67jwULFjB79my2bNkCwMMPP8ysWbOYO3cu7373uwFYtmwZN91009FtXnrppaxYseLo9v/u7/6OM888k/e+972sXLmSRYsWMWXKFJYvP/4bPZdddhlNTU2cffbZPPjgg9x6661861vfOuY5d955J7t37+bCCy/kwgsvBODxxx/n3HPPZd68eVx11VU0NjYCMGnSJG677TYWLlzIww8/3K/9OSh7UJniFFAiQ9L9K9/ircOZPRw1cXgJSxdM7PHxdevW8S//8i8899xzVFdXc/jw4RNuc82aNaxfv57hw4czZcoUPv3pT7Ny5Uq+973v8f3vf5877riD2267jccee4xx48ZRW1t7wm02NTWxaNEivvGNb3DFFVfwta99jSeeeII33niD6667jssuu+yY5y9fvpyysjJWr14NwK233nrcNr/whS/wne98h6eeeorq6moOHjzI7bffzpNPPklpaSnf+MY3+M53vsPXv/51AKLRKM8+++wJaz2RvA4ozHDOBV2FiAwBf/zjH7nyyiuprq4GYPjw4Sd8zVlnncXYsWMBOPnkk1m8eDEAs2fP5qmnngLg/PPP5/rrr+fqq6/mgx/84Am3WVhYyMUXX3x0O0VFRRQUFDB79my2b9/+Tj7acV544QXeeOMNzj//fADa29s599xzjz5+zTXXZOR9BmVAZe57UAYukYmSRCSH9NbTyRbnHGbHTzUaiURIJpNHn9Pe3n70sdRzPqFQ6Oj9UChEPB4H4Cc/+Qkvvvgiv//97zn99NNZvXr1MdsEaG1tPbpeUFBwtI6etpmJz/q+972P+++/v9vHS0tLM/I+eX4OKoypAyUiGXDRRRfx0EMPcejQIYCjh/gmTZrEqlWrAPjtb39LLBbr03a3bNnC2WefzW233UZ1dTU7d+5k0qRJrF69mmQyyc6dO1m5cmVmP0w3ysvLaWhoAOCcc87hueeeY/PmzQA0NzezcePGjL/noOxBZYwZTj0oEcmAmTNn8tWvfpULLriAcDjMGWecwbJly7jhhhu4/PLLWbBgARdddFGfexc333wzmzZtwjnHRRddxNy5cwGYPHkys2fPZtasWcybNy8bH+kYN954I5dccgljx47lqaeeYtmyZSxdupS2tjYAbr/9dqZPn57R97TBfA6mv9eDeuFHN+Ciwzj3k9/MYFUiItIXZrbKOTe/a/ugPMSXMRrFJyKSswZlQGXuelCGKaBERHLSoAyoTH5R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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cumsum_filter.plot(label='cumsum filter', alpha=0.7)\n", "integ_filter.plot(label='integral filter', alpha=0.7)\n", "\n", "decorate(xlabel='Frequency (Hz)',\n", " ylabel='Amplitude ratio',\n", " yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can compare the computed ratios to the filter. They match, confirming that the cumsum filter is the inverse of the diff filter." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de5RU9Znu8e/b1RegwUbE5CAaAZEoF5GmQYxGISSMCqgYg5p4QVHOJGOcmIwZ55iJ6DJnNCOIt8R4A504KnqOCmoOGgImOspNkQiIoOJINIIQQbnT/Z4/aldTFNXd1XRV7V1Vz2etWl21q2rXW9umH3+X/dvm7oiIiERNWdgFiIiIpKOAEhGRSFJAiYhIJCmgREQkkhRQIiISSQooERGJJAWUiIhEkgJKREQiKTIBZWbHmtk9ZvakmX0/7HpERCRcOQ0oM3vQzNab2Vsp208zs1VmtsbMrgVw95Xu/vfAeKAul3WJiEj05boFNQM4LXmDmcWAu4HTgb7ABWbWN3juTOBlYG6O6xIRkYgrz+XO3f2PZtYjZfNQYI27vwdgZo8BZwEr3H0WMMvMngP+M90+zWwSMAmgurp68DHHHJOj6kVEJB+WLFnyqbsfmro9pwHVhO7Ah0mP1wEnmNlw4BygCni+qTe7+73AvQB1dXW+ePHi3FUqIiI5Z2YfpNseRkBZmm3u7vOB+fktRUREoiqMWXzrgCOSHh8OfNSaHZjZWDO7d/PmzVktTEREoiOMgFoEHG1mPc2sEjgfmNWaHbj7bHefVFNTk5MCRUQkfLmeZv4o8CrwVTNbZ2YT3X0PcCUwB1gJzHT35bmsQ0RECk+uZ/Fd0MT252lmIoSIiEhkVpJoDY1BiYgUv4IMKI1BiYgUv4IMqGxZ9dfPWfHRlrDLEBGRNEo6oG56bgXXPf3nsMsQEQnVNddcQ79+/bjmmmu45557ePjhhwGYMGECTz75JADTpk1j27Ztea0rjBN128zMxgJje/fu3ab9lJnR4NmpSUSkUP3mN79hw4YNVFVVNfmaadOmceGFF9KhQ4eM91tfX08sFjvgugqyBZWtMagygwYllIhkycMPP8xxxx3HwIEDueiii4B9WyEAHTt2BGD+/PmceuqpjB8/nj59+nDttdfyyCOPMHToUAYMGMC7774LwBNPPEH//v0ZOHAgp5xyCgAzZszgyiuvbNznmDFjmD9/fuP+//mf/5nBgwfzzW9+k4ULFzJ8+HB69erFrFn7n3J65plnsnXrVk444QQef/xxJk+ezK233rrPa+644w4++ugjRowYwYgRIwB44YUXOPHEE6mtreU73/kOX3zxBQA9evTgxhtv5OSTT+aJJ55o0/EsyBZUtsRbUAookWJzw+zlWR9f7nvYQVw/tl+Tzy9fvpxf/OIXvPLKK3Tt2pVNmza1uM8333yTlStX0qVLF3r16sXll1/OwoULuf3227nzzjuZNm0aN954I3PmzKF79+589tlnLe5z69atDB8+nFtuuYVx48bxs5/9jBdffJEVK1ZwySWXcOaZZ+7z+lmzZtGxY0eWLl0KwOTJk/fb51VXXcXUqVOZN28eXbt25dNPP+Wmm27i97//PdXV1dxyyy1MnTqVn//85wC0a9eOl19+ucVaW1LaAVWmLj4RyY4//OEPnHvuuXTt2hWALl26tPieIUOG0K1bNwCOOuooRo0aBcCAAQOYN28eACeddBITJkxg/PjxnHPOOS3us7KyktNOO61xP1VVVVRUVDBgwADWrl17IF9tP6+99horVqzgpJNOAmDXrl2ceOKJjc+fd955Wfmcggyo7I1BqYtPpBg119LJFXfHbP+1sMvLy2loaGh8za5duxqfSx7zKSsra3xcVlbGnj17ALjnnntYsGABzz33HMcffzxLly7dZ58AO3bsaLxfUVHRWEdT+8zGd/3Wt77Fo48+mvb56urqrHxOSY9BxcrUxSci2TFy5EhmzpzJxo0bARq7+Hr06MGSJUsAeOaZZ9i9e3er9vvuu+9ywgkncOONN9K1a1c+/PBDevTowdKlS2loaODDDz9k4cKF2f0yaXTq1InPP/8cgGHDhvHKK6+wZs0aALZt28Y777yT9c8syBZUtpgZ9QooEcmCfv36cd1113HqqacSi8UYNGgQM2bM4IorruCss85i6NChjBw5stWti2uuuYbVq1fj7owcOZKBAwcC0LNnTwYMGED//v2pra3NxVfax6RJkzj99NPp1q0b8+bNY8aMGVxwwQXs3LkTgJtuuok+ffpk9TPNC/gPdFsvWHjVo2/w579sZt4/Dc9eUSIi0ipmtsTd61K3F2QXX7aUGdRrDEpEJJIKMqCytVhsmcagREQiqyADKnsn6ppm8YmIRFRB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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cumsum_filter.plot(label='cumsum filter')\n", "ratio_spectrum.plot(label='ratio', marker='.', ms=4, ls='')\n", "decorate(xlabel='Frequency (Hz)',\n", " ylabel='Amplitude ratio',\n", " yscale='log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute the output wave using the convolution theorem, and compare the results:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2206, 2206)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(in_spectrum), len(cumsum_filter)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "out_wave.plot(label='summed', alpha=0.7)\n", "\n", "cumsum_filter.hs[0] = 0\n", "out_wave2 = (in_spectrum * cumsum_filter).make_wave()\n", "out_wave2.plot(label='filtered', alpha=0.7)\n", "\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "They are the same, within floating point error." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7.7982065249671e-13" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "out_wave.max_diff(out_wave2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.10" } }, "nbformat": 4, "nbformat_minor": 4 }