Skip to content

Instantly share code, notes, and snippets.

@Ludek1234
Created July 10, 2018 17:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ludek1234/57283adcb4d00467f5fc90a847fbd71c to your computer and use it in GitHub Desktop.
Save Ludek1234/57283adcb4d00467f5fc90a847fbd71c to your computer and use it in GitHub Desktop.
MA.ipynb
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import tradingWithPython as twp\n",
"import tradingWithPython.lib.yahooFinance as yf # yahoo finance module\n",
"twp.extra.setNotebookStyle()\n",
"import ffn"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Got 4660 days of data\n"
]
}
],
"source": [
"data = twp.yahooFinance.getHistoricData('SPY')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>adj_close</th>\n",
" <th>volume</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1999-12-31</th>\n",
" <td>146.84</td>\n",
" <td>147.50</td>\n",
" <td>146.25</td>\n",
" <td>146.88</td>\n",
" <td>103.95</td>\n",
" <td>3172700</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-03</th>\n",
" <td>148.25</td>\n",
" <td>148.25</td>\n",
" <td>143.88</td>\n",
" <td>145.44</td>\n",
" <td>102.93</td>\n",
" <td>8164300</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-04</th>\n",
" <td>143.53</td>\n",
" <td>144.06</td>\n",
" <td>139.64</td>\n",
" <td>139.75</td>\n",
" <td>98.91</td>\n",
" <td>8089800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-05</th>\n",
" <td>139.94</td>\n",
" <td>141.53</td>\n",
" <td>137.25</td>\n",
" <td>140.00</td>\n",
" <td>99.08</td>\n",
" <td>12177900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-06</th>\n",
" <td>139.62</td>\n",
" <td>141.50</td>\n",
" <td>137.75</td>\n",
" <td>137.75</td>\n",
" <td>97.49</td>\n",
" <td>6227200</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close adj_close volume\n",
"Date \n",
"1999-12-31 146.84 147.50 146.25 146.88 103.95 3172700\n",
"2000-01-03 148.25 148.25 143.88 145.44 102.93 8164300\n",
"2000-01-04 143.53 144.06 139.64 139.75 98.91 8089800\n",
"2000-01-05 139.94 141.53 137.25 140.00 99.08 12177900\n",
"2000-01-06 139.62 141.50 137.75 137.75 97.49 6227200"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a0bd1fc50>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEDCAYAAAA7jc+ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xd4VUX6wPHvnCT0JgbpAiqgYAELYsOu2PvI+luxLbAq9o66YsG1Yl0LinVVHAuW1V1XXesqa1tdu6Ig0gm9SEhy5vfHnNtyb5Kbm9vzfp6H554zp70kN++dO2fOjLLWIoQQonh5uQ5ACCFEZkmiF0KIIieJXgghipwkeiGEKHKS6IUQoshJohdCiCIniV4IIYqcJHohhChykuiFEKLISaIXQogiV5rrAAIyDoMQQqRGNbRDviR65s+fn9Jx5eXlVFRUpDkaiUFikBgKPYZcXz8bMfTo0SOp/aTpRgghipwkeiGEKHKS6IUQoshJohdCiCIniV4IIYqcJHohhMgQ6/vYZUtyHYYkeiGEyJS1zzyCf8lp2KWLcxqHJHohhMiQDZ9/5BYk0QshRLEKHvr3/ZxGIYleCCEyxK5f7xb8mpzGIYleCCEyxK5f5xZqJNELIURRspWVbqGmOqdxSKIXQogM8Vcsda/vv0HNhLHYqioA7NxZ1Iw7Ev/ladi5szIeR96MXimEEMXEVleDDW7GfhH0vqlYBN17Yd/9J/g+9qUnoaoS1atfRmORGr0QQmRCqH0+puw399q6TaSsVZv4/dJMEr0QQmTCb4kSfVBmo7pbtpZEL4QQhWndmviy9b9hq6uxf38uUpaFGr200QshRAbYhfPiy9auxp5+dEyZatU647FIjV4IITJhQ2V82dr4Wr5dnvnpDiXRCyFEJlRtiCuyzz4cV6YGDM54KJLohRAiE+bPSWq3THetBGmjF0KItLPz5mDf+Ue9+3gXXg+dy7MSjyR6IYRIM/uPZ+vfoc8WqIFbZycYpOlGCCHSzs54G4AOZ05IvMMvM7MXDJLohRAiY1rvd2iuQwAk0QshRFrZHI89n4gkeiGESKdghEq158g6d/Em3JKtaNz1sno1IYQodnNnu9dNeiTe3n8Qqt+ArIUDkuiFECJtrLX4N1zsVlq0TLiPGjYiixE5kuiFECJN7IdvhZfVDrsm3EcNGpKtcMKkH70QQqSJffj28LJq39G97nsYtO8ISxdj3/sndOyc9bgk0QshRBqEpgkEUPsdEV72Ro2J7DR6fDZDCmsw0WutewOPAd0AH5hijLlDaz0RGAMsCXadYIx5NTjmMuA0oAY42xjzWgZiF0KIvOFf8cfwsnf8aTmMJF4yNfpq4AJjzGda6/bAp1rr14NttxljYvoJaa0HAaOAwUAP4A2t9QBjTP51LhVCiHTp1x+WLcGb/NdcRxKnwZuxxpgFxpjPguXVwLdAz3oOOQKYZoypNMbMAmYCw9IRrBBC5CtV1gI6d0G175DrUOI0qo1ea90XGAr8B9gNGK+1Hg18gqv1L8d9CMyIOmwu9X8wCCFEQbPLlrjxbfpsketQEko60Wut2wHPAecaY1Zpre8FrgVs8HorcCqgEhxuE5xvLDAWwBhDeXlqw3WWlpamfGy6SAwSg8SQfzFk8/qLzxrlFn6ZGXPNXP8MwnEks5PWugyX5J8wxjwPYIxZFLX9AeBvwepcoHfU4b2A+bXPaYyZAkwJVm1FRWrTaZWXl5PqsekiMUgMEkP+xZCN69slC90DUuvXAaCOPTnmmpmOoUePOp6+raXBNnqttQKmAt8aYyZHlXeP2u0o4Ktg+SVglNa6pda6H9Af+CjJuIUQomD4E8bCqhXhde/Ao+vZO3eSqdHvBpwIfKm1/jwomwD8Tms9BNcsMxsYB2CM+VprbYBvcD12zpQeN0KIYmMTTPSdrxpM9MaY90nc7v5qPcdMAiY1IS4hhMhL1vfxxx0ZV64OiC/LFzLWjRBCNMbypQmL1Z4HZTmQ5EmiF0KIRrA/fRtbsN0w2HgT1CbdEx+QB2SsGyGEaIC1FqVcC7Z98v6YbSXjr8DauB7keUUSvRBC1MN+/yX+LZejRo8HpWDtagC8My/HznS1+9CHQL6SRC+EEPWw33zhXh+7O6ZcDdkZNWTnXITUaNJGL4QQ9Vk0L9cRNJkkeiGEqIf95r+5DqHJJNELIUR9OneJK/IuLKzHhCTRCyFEfVYuiytSA7fJQSCpk0QvhBB1sNXVsGY16mANLVsD4I2/IsdRNZ70uhFCiLoEXSnZqDPenU/Cr7NRfTbPbUwpkEQvhBB18O+70S20bY/ySqAAkzxIohdCiDh2xTIoKYGZ3wCgOm6U44iaRhK9EELU4l90cmzBFoNyEke6yM1YIYRogPIKO1UWdvRCCJFm1o+dJ8m74LocRZI+kuiFECJaVVVkuWNn1Jbb5i6WNJFEL4QQ0UJTBG68ScE9AVsXSfRCCBHFv+lSANShx6O69cxxNOkhiV4I0azZhfOwy5ZEJg9Zuti9lrXIXVBpJt0rhRDNVs29f4bPPgTAG3cx7Lh7eJsaNCRXYaWd1OiFEM2SXTgvnOQB/PtvwlaudysDBqPad8xRZOkniV4I0Sz5V54eXzZeA6A6bZztcDJKEr0QQtSi9j0s1yGklSR6IUTBsF98jD91cnpO1mcLALwbHozf1q5Deq6RJ+RmrBAib9nqauxrz6P2OxyUwr/7WgBqZrwNgDpsFN7hJzTunGtXY5+c4iYUGbIzJGqLb9GyqaHnFUn0Qoi85V/xR1i6GDvjbVg4N267fXkadrthqD5bYK3F/uN51KabQbeeUF6e8Jz27b9jP3oHANW6DapFS7wpL8LiBe56IIleCCGyJtSnPUGSD/GvO5+SB16Clcuxzz+KDW2Y/kHMfvaLj/HvmQS+HykMhjtQSkHXHpHyIkv00kYvhMgrdvVK/Efvwn793+SPsRb7zeexZdEJHVyzT60y+8n7Cc+nSourDiyJXgiRN+wXH+OffyL2/dfxn3koPE9rjES17eoq7BP3xhQtPmG/yHlrJfgQtccBMeveuIthh10bH3ieK66PLSFEQQvdbAVg3i9x272r7oCeffHHHlHrQB82VMaWhR5+AuwHbya8ntpln9j1HXenJOrp2GIhNXohRP5o2arezapXP9eeHtK6jXutqUHttm/c/ra62r0+eX/iE5aUpBRmoWmwRq+17g08BnQDfGCKMeYOrXVn4GmgLzAb0MaY5VprBdwBHAysA042xnyWmfCFEMXCrlsDQWJOJLq/uzr6JOzzj6KG74196xXwa7ALEtywra7ClpRA1YbEJy2ytvi6JFOjrwYuMMZsBQwHztRaDwIuBd40xvQH3gzWAQ4C+gf/xgL3xp9SCCEcW1Pjxpj58RuoiU/03p/uwLv3OdTGm4TL1Mij8e55Dnr0dgV+Dfz8ffzJK9fDovmRc51+Kd7510LoXCXNI9E3+L80xiwAFgTLq7XW3wI9gSOAvYLdHgXeBi4Jyh8zxlhghta6k9a6e3AeIYQIs9XV+Kcf7VZaJbjxCtCmLaq0LKZIKQVlZVgvaHoJTRYCrjnnt3Vued0a7NzZbnnocNT2wY3WIus+2ZBGtdFrrfsCQ4H/AF1DyTt4DX3c9gR+jTpsblAmhBAx/KvPiqzU1bzSpl3dJwja2P0/nRku8m56KLJ97Rrs9Mdd+d6HRMpDTTb1NBUVk6S/t2it2wHPAecaY1ZprevaVSUos7ULtNZjcU07GGMor+MptoaUlpamfGy6SAwSg8TQuBhqli+l8sO3WLNqRSQ51NRQ2mdzqn/5KWbf8l69Y2/ARlnXsiWra5WV9+zN0l59qZk7mw6lHiuWLASgQ7u2tAziWbvfYax5+E46b7YFJRtlbqTKfPg9QJKJXmtdhkvyTxhjng+KF4WaZLTW3YHgETbmAr2jDu8FzKcWY8wUYEqwaisqKlKJn/LyclI9Nl0kBolBYkg+BuvX4I87KuEx1SWlrlllQyXq4ONQO+/J0qVL67yGv2JZzLp34SSWLl2K/cOFMHE8qyqWhLetar8RKojH7rIv3g57sLzGQgZ/Tpn+PfTo0aPhnUiu140CpgLfGmOih417CTgJuCF4fTGqfLzWehqwM7BS2ueFECH2X3+re+MvM/Em3Q+/zkIN2bnhk6la3SO7dHevJa5V2tbUwPa7wNzZMWPMK6WgZfNpp0+mRr8bcCLwpdY69IzxBFyCN1rr04A5wHHBtldxXStn4rpXnpLWiIUQBcsuq8A+PTWmTI04EPvua26lpsb1ronqYdMobdq619BNWt+PmUWquUqm1837JG53B4h7QiHobXNmgn2FEM3donnxZX02jyxvNrBx56udmUIPXAXdJu1DtzXufEVKnowVQmSNrVjkFnpsGils3S5SE0/UF74RwjdtSyS1RZOfhhAie37+Htp1wLvqznCR2nwg9B/slkccmJ7rlDWf9vdkSKIXQmSFra7Cvv86dO2B8jzUEf/nNrRuGxk+eMDWjTtpHd0uVdvYvvfelc27Cad5PP8rhMgZW7ke+/oL2NkzXcFP3wGgDtGokUe7p16DB58aPw58XbcPa6n1ZG1zI4leCJEx9qvP8O+YmHCbUiqcgFWLVljAbtiQbOoOTpLkfm3bN+asRUcSvRAiY/y3X40v3G5YfFmoT3vUGPLJUL36YgE1fG8YMLjuHesbRqEZkEQvhEg7u6wCv01r+OKj2A3bDaNk/BVx+6vd9sO+90/UVts16jpqi0F4Nz6E6hw/zIBq3xG7eqVbLpOmGyGESBv/jRexT09lSYJtiZI8gNp8SzfBdwoSJXmAjW95iIpxx6R0zmIjvW6EEGllP3ov1yEAULJJ91yHkDck0Qsh0sYunAuzfogp886ckKNowDtnIurAxAOoNSfSdCOESAtbuR7/yjPiN2y6BWrkMY2+0ZoOauvtUVtvn/Xr5htJ9EKItLDPPZJ4Q9v2eMeclNVYRCxpuhFCpMfqVQmLVTMaDjhfSaIXQjSZXbUC+8n7AKhd9sa79p4cRySiSdONEKLpZn4TXvROPS+HgYhEpEYvhGgy+93/ch2CqIfU6IUQTeK/PA371WcAeLc/ES5ve9wprFtTe+pukQuS6IUQKbPV1diXnnQr3XujogYPa3fCGNbneIJy4UiiF0I0mq3agH/5H1G77BMpXPBr7gIS9ZI2eiFEo9mXp8HyCuyrJtehiCRIohdCNJr9+7O5DkE0giR6IURS/A/+Rc3YI7GrVuQ6FNFIkuiFEEmxT94H1se/YLQrqD1fa/uO2Q9KJEUSvRAiOV26xa737hdZ7tkHdfwfshuPSJokeiFEcspaxKx6Bx8XXi6ZeBfezntmOyKRJOleKYRokLUW5tfqPtmrH2rH3WGbHXITlEiaJHohRMOWLITK32LLyrvijbs4N/GIRpGmGyFEg+zfngZAHR0ZV16VlOQqHNFIkuiFEPWys37Afvgvt1KxKLfBiJRIohcFy26oxK5JPNmFSA+7/jf8x+4Or6sjTshhNCJV0kYvCpZ/puv14d03XZoRMsQ/9wSoqQmvqw6dUIeOgs7lOYxKNJbU6EXes1VV2F9n4T90OzVjDsfOmxO7/aHbcxRZMxCV5EO8I07A2+OAHAQjUtVgjV5r/RBwKLDYGLN1UDYRGAMsCXabYIx5Ndh2GXAaUAOcbYx5LQNxJ2Q/n4H99AO8087P1iVFFtjpj2FffzGy/uZLMOLAyPpH78CYC3IRWlGzy5bEFnTcKDeBiCZLpunmEeBu4LFa5bcZY26JLtBaDwJGAYOBHsAbWusBxpj4akEG+H+5HgB70tmo0tj/mv3qM/w7JuLd/AiqU+dshCPSwK5fF5PkAdikO/6k2MTuf/wequNGUL5X9oIrcv4lp7mFocPxTj0XSqSlt1A12HRjjHkXWJbk+Y4AphljKo0xs4CZwLAmxJcS//SjI8v/eYeaMYfj3zERAPvuP7IdjmgC//zR8YUtW8UV2Sk34988IQsRNQ/25+8jK7/OQrVqg6r1ZKwoHE1pox+vtf6f1vohrXXoO11PIPrxublBWc7YB2+NXX95Wo4iEY1lrYWqDfHlT94P2++a8Bh/5fJMh9Us+H++KLIig5UVvFS/i90LXAvY4PVW4FRAJdjXJjqB1nosMBbAGEN5eWp38UtLS8PHRvfw3bh9O9Y+9xhrExyT6rWSiSFXijGGys8/os4BcT/7IGHxumcfpfy0c9MWQyqK4XexSCmw7k+33W770DaFc+X655Dr6+dLDJBiojfGhHOq1voB4G/B6lygd9SuvYD5dZxjCjAlWLUVKcwtaZcspOzVp9nQuh2ePg1atg4/pr141D51HpfKtepTXl6e9nNKDFDzcjB7UZduqP2PcDX5Wrw/XoJ/343h9eoVy4ru55DJGOxP32HffQ3vlHMiZVUbwFrUiJGonXZn3YDB/JbC/yfXP4dcXz8bMfTo0SOp/VJqutFad49aPQr4Klh+CRiltW6pte4H9Ac+SuUaSZnzM5Xvv4l9/UVsZWX8WByi4NjqKmquPQ/74zeoru5t5l39F7y9D6HkgZcSHFH7S2TCL5CiDv5Nl2I/eNN1W/3pO1cW+uBs1wG15bYoT55RKHTJdK98CtgLKNdazwWuAvbSWg/B/VXNBsYBGGO+1lob4BugGjgzoz1uOnaKLC+cm/Rh/tt/x9vroPTHI5rMv2wMrFiGf++foboKAFVWlnBfdfwfwIutq9h16zIeY1Fp2Rp+cw2c/r034I29EP73MQBq17q/FYvC0mCiN8b8LkHx1Hr2nwRMakpQSSuJJAD/uvOgQydIYpoz+8S91Lz3Gt4Fk1Bt2mYyQpEkO3cW9ucfYEXQwWv1ygaPUfseBjO/jT3P+vhvdXb9b/DbOtRGG6cl1qLyW9RdrJXL8F+JTPatuibXLCDyX2E/GVtSK3w/wVN8E26JKwNgzs8Q3YVM5IxdshD/6nOwj/8lbpva++DY9RPPjCwrBZsPjGzs2SfuPWCtxT/rePyLT0lv0AXELl7gmjZrl/93RvzO33yehYhEthV2oq/ddrhmddwuqt8AdzNvxEi8mx6O3diiZQaDE8nyJ4ytc5vaaUTs+mYD3ELPPm49+j0w7xeqvvsSuyrSxdJOfzyyvGRhGqItLP60B/AvH4d/1vExQ0dYa/HvcQ8YMmDrHEUnsqWwE32SA1mVXD8F78Qz3Ff3rSOz4cQ94i2yzv7wVcy6GlYrsfcfFHtA157Qtz/e70+P7HPcqTG7+HdHWg7t1/+NlNfzgVKs7JsvBws+/sTxkQ1zZ0eWW7aCTbojildhP9OsUvicipq53k6djG3dBrbdyXUn8wr7c6/Q2BXLYp5m9a75C3Ttgf3o3TqPUWUtKLk89iE474Aj4YAjqRlzuCuY9QP+W6+i9hwJc37KSOyFzn/kTgDU6PGo3feH5RXhIQ/U6PGojXLf91ukT2FnthYpPJL95Scxq/7d12H/8Tz+uCOxlevTFJhIhv/UlPCy2nVfVPferikmxRvkKmowO/vkfdi3Xm1yjIXMf/rBxOVvvBj+AFTD93b3Olq1Dm/39jgAtfX2WYlRZEdBJ3rVuQttR/0h8TZ9Gt45E5M6j33+Ubcg/fCzK+rp1ugHdrzTL4Ne/fDufa5Rp1O9+sas22nBB0nUI/y2qqrxceaYXbGMmvN+j/3k/eSPsRb7RvxzB7ZiEfbpqE5zQfOnatOuyXGK/FXQiR6gzeHHx6yrXfaBTXrg7X9Eo2sldsY76QxN1MOujswM5V17T8w2teW2lFx1B6o0cf/5OpUmbolU2+8SWfn158adM0dsTQ02qHXbH7+GNavw778J/+P33CB9L/y13uPXPH5PwnL/gdheaHHNlY39mYuCUNht9IDXui3e/S/gjzvSrZ/ahHFOmmGvjFyxr7nauhq+F6pbr/SctK5hdKP61tufvkNtNjDxfnnEPnQ79qN3UKPHY6Om8rNTbnavrxjs3oe4oZkTWDf9ifCyd9nNUFODf9Ol9XYp9u6clni0KlHwCr5GD1G1kq5JDJQ5dHidm+zbzbtNN92sX+NqnzPeji23FvvadADUyGPTd8E6nqClfUfUyWe76xXIQ1P2I/ftMjrJx6mjYmJtZBgIb8qL7oOtfYe4/bzzrolZV63boFq1SSFake+KItEDePc8hzfxrob3+8MFeFffDRtvUu9+/r/fpObiU2P+aERybGUl/luv4J/tJpK2UydHtvk+/sSzwuuq56bpu3Adz0Woo0ejNt8SAP/+m7Dr1hbHjfcNdfwfvvhPeFGFepnVGmpYDd8LNWhIpiITeaZoEr0qK4ubVSrhfi1aonpsinf9lPiNm24WXrSP3AHLK+QGbQr8B252I00m+NnZf78B892DOyrN846Gbyj2GxAu88683E2YsUnwOH/7jvjn/A5/vMbO/jGt108XW1fzSq2bzSR42hWi7n9ss2OksHVsTyZ1zMmpBScKUtEk+sZSnhf7h7DtTlBdHbef/eLjLEZVuOwvP7HoqF1dX/Yv4gcs9d9/3e337zfCZeqEcWmPo/yBF/DOj2qS6LuFu5bnuRp/eddITJPyc57ZmEk/ADp2xrvmntiHnAC7NvIkuD/j7XCCDzX3eKOjhouIuumq9jpIptNsZpptogdiHp5SrVrD/DnYVcvdeNyB2jNUiVjW9/H/+YIbVK6+/R69y30IBEPheve/0PheNUkoKd8ktp05evq7DZUw64e0XzOdbEXU9Dmhp4K32BLVPcEN66WL3THLl2KnTsY///ex2zvGJnM15kK30K03onlp3ok+aH/3xl8RfhrTv+Ak/AtPzmFQhcW+YrDPPBS/oeNGdYwf72T6KWRvwq14p1+Gats+o9dJN//eP4eXVTBdogqaXbyLro/sWFoKNcE3UN8PF4eeDi7dfMtI+3zU+bwzJqBGpLfJTOS/Zp3ovYOPczeptqg1nsq6NbkJKM/ZVSvcjESrV2F/c+O+20//nXDfklserfM83jXxo1Smm+rXP7b/fB3snPzpV2+rq92oqoB37/Oo7YYBoEaMdK8DtkYdfRLeJTe6IbpDTY2L5sWdq+UO8XPqqtJS1NDhMsl3M1Tw/eibQm2xFSWT3eiG6oCjsP+cnnA/f8rNeGMvSritOfEvGB2zXvLASzDvl5gydfI5qK22C697Nz+Mf1HsEMGqe46aDvoPgh+/iSmyX36CiroJn0v+ZWPCy6q0FLp0i/tW5B10jFsoLQ0n+uj7HiEth+9JEfQrEmnSrGv00dSBR8UXDtkZAPvxe/jTH8duSNzLoZjYZRXU3HdD3Mie9rv/xe3rBw/vAHg3THU3QnfbF9U5MiCW6rRxTG+mXPJOHB9XZht4wjQbrF+D/+T9sGIpAN7tTzRwBFBa6u4nLavAfv9l3Oayfv3THaYoYJLoA6pDJ1fjC/pbg+uKGWJffQb75t8SHVrw7Iql+M88jK1cj3/JqfDpB9hXn4ls//5L/FuviD/u4/cAN9OT2rgLJeWJn03wRo2F1m3xrrwdb/LjCffJitBgae06uGkIs8BWVbmHxp59pO6dli7BvvWKW27dNrn7CiWl8OkH7ve1cnnD+4tmTRJ9tKWLw71C6NkHtd/hsdtr4rtfFgP/olOw/5yOP16Hy+w7/3DbnnkY/5bLIzsnmANAjTy63vOr/oMoufMp1KaboWo9uJNVQaJXO+4W9wBRptiXn3Kvrz1f98N3UUM0qG13TLxPbTKXgmgESfTRllWEF9Uu+6D6DYhJ9vbFJ7Dr1iY6siDZ9b9FxnBPoObu6+LuW3i3P4l39p9id+yQeLyVfKPKWuBN/itq1Ni4ScUzxf792chKHU1/0TeE7X+aPrCeGtX8JlgR9ZNEXwf7rqvRsunmseUvRtpP7arl2Dk/s+6VZ7DV1W4Ml88+xCYxQXk+8B+5o/4daj34pI44AdWqNWqb2FpnIU3Yotp3QJWUxE5BmCG2ptYcxmvje3NZa91T2E2khu8VXvb2PbTJ5xPFpVn3uqmP2vMg9zpsBPbz/4THTrdRXdn8S8dA1QZWA2rZMmjbLjzBdX19yDPBWusmgX7hr7DdMLyd92z4oARPsLLFVjDz29iygdtQcuGkmCLvrCvx77q2CRHnWO2J5TPA/2PsDX7/wVsoufiG2J2iavNqv8NRR8f2bEqWXTA3peNE8yCJvg4qGOVSlZRQcvql1Fw1HubPQbV1owD6b70C0U/QPl93v/FsWDn5T/jvv+lWPn4P/6vPUKPGuPlAf50F3XvGPDFqK9dDeTdYOBdvyouwoRL/gVvwDjoWysrwr4086Vp7Qg8Ate1OePdNRyU5b2/eGbxDw/ukwFZtYOWd12GPjepS2r03LPgVfpkZt78fDPimRo/Ha8rYP7/MhAGDs3bvQRQWSfTRylpEknetkRC9S27AP+cE7Cw34JR98v7446P7Nq9emdUbj5WhJB+wM97CznjLNT0FE1h4dz2NatUa++ss/GuCGZ0GbuOeoGzZipLx8T1rgDprmQWb5HGD4IVY309b85N/xrGsB9TqVdCyNbRpi9p2R+yCX2HDhph9beV69wEATUvyAEOHU3LGhIb3E81S4TSuZoE6JNLrJG787tDof/VNThI1KJp//olpjKx+9stP694YPTn2yuXYH76OJHlwNf4EQuOiqD0OiOlmWpRqt6WnKHqaQlu1ASp/czfzo4YogOBZhTGHxzwg1VSqQ6e0nUsUH6nRR4u6QVf7Zl3tcUOSYf2arNz080N9sBva74o/xpXVNRGHN2wEDBvRpLgKRk113ZOWJMl/4yVs9GTcQZdJ1aM3Nhh8DIKxaPq4ETVZvdK9bp2GZqQ0fViJ4iQ1+iiqTwNPcA4aCoD/7MNuvVsv1Knn0WnCTQl398cdhf3hq3SGmFgwiYZ3/3To3S9+e31z5yboCdLsNCFJWmuxK5bGJnmA0NOq3XujBg+N3VarrT6uu2oSvFsfw7txKio0qXp14U16LrJHEn0UNWgo6sCjUPsdkXiHb/4LEJkGb+DWeLvsTdmW29Z5Tv/mzLab2jk/QfBhorwSvMsnx+2jdtyj7hMEA2c1R+qE4BtOEx6E868+O24snxidu6C23an+OFL4tqg6dEJ17hK5Ud5/UL37i+YlVGqmAAAULUlEQVRNmm5q8Y6t54+2tqB926vVnu+ddw3+bY2vpaUi1DumxbY7UoO7QapOORdV3hX/5ssAUDvsCmtXh4cT9i672c3CNG829EjjVH6FJnQzOcGEM8mwVVVxg7p5k/8aGRd+q+0aTuJD6p7DOBlq083xbn44bux5IaJJjb4R1Ohag2JF3XxTo8dDl254tz8JrVpH9tlsYMbi8UMPdQEdzrwsvOztug9qwGC8+6fj3T8d1ao13gFHRg4s3wSlFKpXv6zcQ8hbJUE9J8UavX/GMTHr3l1Po6I+9FW3hierT8dMT6rTxil9KxDNhyT6RlC1H/WP6o3i7XEAJddPQbVtF56+DoCfvw+P3Z4u1lpqLjkV+/g94bKSTbrHx+vFPgGqDjjKzZ3aXnpoAJEafbpuZAbf8EpDA+P17Bve5NUxPr99+9X0XFuIekiib4zWkQeO1JG/Rx02KuFutWvJ/tmJ90uFnfUj/tgjYsbl8S67uZ4jIrzjTqFk0n1S+wuEJ5NPoUZvE9z8DP1cO98wBXXiGajd949s67gRas+R4XUv6POe6pOwQjRGg230WuuHgEOBxcaYrYOyzsDTQF9gNqCNMcu11gq4AzgYWAecbIz5LDOh50BomFvAi+5zn4B3z3P4t0yAn79Pawj+9QkmtO7acBOBSKAJTTf2wfib3iGqtBRvxMi4cu/3Z1ATjAqqhg7P+jAZovlKpkb/CFD7XXsp8KYxpj/wZrAOcBDQP/g3Frg3PWHmidZtG94noMrK3DjsTWSXLsF/9zVsdVVcE5A6+Ry8a+5xzUWi8UJNN41sWrNVG2KnUOyzBd6kBE9KC5EnGkz0xph3gWW1io8AQo2OjwJHRpU/ZoyxxpgZQCetdXzjcaFq2cgnRLv3avIl/cvGYB//C/7px8T15PF22xeVhms0W0HTjX/L5XEzatXHP+PY8LL6wwV4l96ISnCPJBHvkhvwLk383IUQmZJqG31XY8wCgOA1NLVQT+DXqP3mBmXFobRxT0+qqN43jUkk4WN8H2zU4/Ozfmj0OUQ9SiItl/4Nl6R0CrXp5qhGvC/UFoNQUbOYCZEN6e5Hn+guX8JpdbTWY3HNOxhjKC8vT7Rbg0pLS1M+trFsVRWhh9mjr1lfDIuCV//KM+j69FuNul7NsiVUJCjvdMWteJ3LKUsyhmwptBg2LOpEeBK+5RVJHWdrqlkctd5lmyFNiiFTJIbcXz9fYoDUE/0irXV3Y8yCoGkm9N6fC/SO2q8XMD/RCYwxU4ApwaqtqEiU0hpWXl5Oqsc2VngquE6dY66ZVAwbKlny3pvQpRuqvGty1/sp/kauOvAoVvcJJn5ubAwZVmgx2JWrYtaTOc4uXhBe9m58KOExhfZzKNYYcn39bMTQo0ePpPZLNdG/BJwE3BC8vhhVPl5rPQ3YGVgZauIpBkopvD9eCv36J3/MESdgX3wSAH/ylUDyk5KEpphTR/4eNu6CnXobamDdwy2IJujY8HSIdu3q8EBk3umXoTrnvqYmRDKS6V75FLAXUK61ngtchUvwRmt9GjAHOC7Y/VVc18qZuO6VjRhPoDCoHXZt3P49+yZuuwLsZx/iv/ca3tlXxfVtt+vXYZ+8z51j30NRrdpgB2yN6twllbBFQ8pa1Lu55rrz3WBkW2zlCjaW34MoHA0memPM7+rYtG+CfS1wZlODKipDdnav7TtGhqUF7PKl+Pf+2S0/fAf+rO/xJt4dnszDn3RheN/QzFCS5NMs+sO1YhF29Ur880/Em3gXqmef8Ca7cF5kxMnQNIvydLEoIPJkbIaFa+rRSX79OvwbI7087If/goXzYic1WShzgGabf5Uby8h/6anY8itPj9+5g0zZJwqHJPoc8B+cDEsXx28IxpWP5l1xWxYiEkD4w1h1bbhPfGO6VAqRa5Los0DtfXBswRcfJd5x9Qrs3NnUXH125Ng+m2cwMpFQXTdVhChQMh59NjRwoy/En/44rFsLFUHv+14JZosS6VPXhODWT1wuRIGSGn022LqriOr/otp/V62ANZG+3d5p52UyKtFvQMJi+9p0/Klu0DL7w9fhcu+e57ISlhDpJok+G/yoGuLAbcKLJQ+8hNp9f9dPHmDFsvCk0gBE9fwQ6ac8DwbFP9kKYGe8DRCepYsBg91Adfc8i3ff9CxFKER6SKLPBj9qYovQpNEBVVqaeMhjz5Nx47OhruYbop6EhvD4NKqsRbgLrBCFQhJ9NqjG/5i9i2/IQCCiNlXPtyb7/uuR/fY7PBvhCJERkuizIVQzDz08lYA3/orYQ2SEw6xQR54I2+yYcJt97O7IijwgJQqYJPpsCGr0qv9g1GnnJ95n0NA6bw6KzFGlpaiGJnDvN0Ca0URBk0SfDaEJS0pK8YbvlXAXVVZGyYRb3EpDiUekVzCVoDr8BNQue8dt9kbLqB6isEk/+ixQBx0Lfg1qxIEN7uvdNQ1K5KnLrArNGet5qJPPRg0bgX/H1ZHtpck9ByFEvpJEnwWqZSvU0Sclt28wgJnIIj/oXeN5KK8E27Fz7PauyY35LUS+kkSfA/LgTb4JdaMM2uFrTbYu7fOi0EmizwFVJk0zeaWH62KpugfTG7eJJHq1yz65iEiItJJEL5o9tcveqF59UJsGA8i1bBXZNmxEjqISIn0k0YtmTykFm24eux4i375EEZDulULUR8adF0VAEr0Q9ZFEL4qAJHoh6lMqrZui8EmiFyKRAYPda4uWuY1DiDSQ6ooQCXgXTIL5c1BduuU6FCGaTBK9EAkoz4NefXMdhhBpIU03QghR5CTRCyFEkZNEL4QQRU4SvRBCFDlJ9EIIUeQk0QshRJFT1tqG98q8vAhCCCEKUIMTJuRLjV6l+k9r/WlTjk/HP4lBYpAY8i+GXF8/izE0KF8SvRBCiAyRRC+EEEWuGBL9lFwHgMQQIjE4EoOT6xhyfX3Ijxjy5masEEKIDCmGGr0QQoh6SKIXQogm0Fon1fMllwoq0efDDzSXMWit2+RBDJs3vFfGY8j5/H5a65LgNSe/izz5W+gYvOYsj2itB2utW+Xq+oHWOb5+g/K6jV5rvTvwf8CXxph7chTDMOAE4CvgIWOMn+Xre0AnYBrwb2PM1dm8flQc2wO3A4uA04wxq3IQw3DgXGAh8KAx5qscxLAbMBb4GbjLGLMsy9ffGfgD8BMw1RizJMvX94B2wJPAUmPMSdm8flQc2wL3AEuA8caYeTmIYThwEbAKeAp40xhTk+04kpG3NfogsdwLfAocrLW+TWs9JIvXL9NaTwbuB74Dfg/cGmzLWm0q+GCpBjoCm2mt98t2DFrrFsB1wNPGmONCST7LMRyHez/8DWgFnJ+DGDbDJZe3gD7AtVrrQ7J07RKt9Z9xvTj+DWwPXKW17pqN64cE78fVQBnQU2t9fBBftnPJFcCzxpijQkk+y++FvXDvheeB73H5YaNsXb+x8jbRA8OAj40xD+JqMOtwCb88S9dvD8wHDjHG3AecAhyqte5sjMn216BBuFrse8BhWuvWWY5he1zt7S8AWutdtNYtsxxDf+BlY8xfgduCOMqyHMMOwLfGmEeAC4DPce+J3lm4tgfMAY4Lrn8uMJzcNBtsCVTgvuH9n9a6vTHGz0ai1Vp7QfPhGmPM7UHZ/lrrTkA2m9O2weWnJ4DHcR98a7Jw3ZTkTaLXzvla612Dos+AdlrrbsaYhcC/gHJgtwzHcIHWeljwlfwJY8z8IKnNAr4OYsrYGynq5zA8qviX4No/AD4wUmudsclMo2LYJer6A7XWh2mtXweuAh7QWv8uizF8Dxyttb4Y+BDoAfxFa71TBmMYrrUeEFX0MdBLa93bGLMcV7NeARyVhev7wFPGmB+C9+N8YC7ubyJjomOIet/PBDYAs4J/J2mtN83Uh250DME3isXAHlrrQ7TWLwAXAnfimlHIRBwJ3gvvAcdprf+Ey1XdgXuCb555J+eJPvhK+ifgkqDofq31YcBaYDawZ1D+DrAS6B0cl7ZkWysGC0zVWh9pjFkAYIyp1Fr3ADYHVmXojVT75/CA1vroYHkI0NYY8y4usdwFXKe1Ls3gzwFgitb6GFw76Mu45pIbjDEjcc0X+2itt0zX9euI4QGt9eG4r8jnACOA0UEMS4Bj0v2hp7XupLV+BXjdrep2wab1wPuADta/B74BNtZpvCGY6PrGmBpjzAoIvx/bA/1w3zrTLkEMbaPe9zvi/g6+xlVArgLuDZo705ZTEsUAYIxZDTwMXIu7b3Yg8CAwvFYFKRMxtAti+BwYCfQFzjDG7IX74B+ptd4qnTGkQ84TfXDzYiBwgTFmMnA1cBZu4vIFwBCt9SBjTDXuD+uo4Li0JdsEMVwFnF3rF7Y38B9jzAqtddt0NyHVE8MA3B/zWq31w7gmpB+A/xljqjP8c5gInI77qv4FMBjXPg7uG1Z73Ady2tTxczgPGGCMeROXbL8Pdn8R2DbdMQBtgddw78O2uA8XcB8sM4Btgm99NcA8YDdjzPoMXn+PBPvsDHwdfONsp7Xun8brJ4phRNS2OUB7rfXTwMW4+2g/GGOq0txZob4Y/oZLsqF28U9wHQUq03j9RDGEfxfGmI+ALrgKKWTobyIdcpLotdajtdZ7Bu1q4H5BG2mtS40xz+J6FOwHhP6wrwv26wl8rLUuzXAMz+NqalpHuvK1Bz7TWp8K/BdXq8l0DF8DR+DeTAfgboJtB9wMDNVa981wDM/hPlQOw31VvQk4J6i17Q90xv1+Mh3D18CooOb+E3BssN/QdFy/Vgwdgpt7UwATnH+Y1rpnkNhn4H7/twW1u8HAHB10fc3Q9XcOvlES9d7vBPyqtT4F16TU5I4KycaAS65dcPeNhuIqAwPTUZNNIoaeAMaY/+GaasYHla7fA1sDS7MQQ+h30RL4ADgzOHRfYGPS9J5Mp6x1rwyaGLrhumX5uD/YtsA44GxcDf7OoMa8Ja474UhjzEKt9UNAV2AT4HfGmJlZiGEg7pc70hizQGv9L9z9gWnArcEbLdMxbBXsdwBQGdXbpTtQnWrXuhR+F08T+TncgGsf7wWcaYz5NksxTMN9uGyL+8Pqgbv5Nd4Y812aYzjHGFMR7LMbrqnmE2PM41HHTsb9DPrgmpK+p5Eaef2PgxvRoWMfx3U9fhS4LQPvx3p/Blrr8qjt7YAWqXY1beLv4XxgM9zN+vOMMd9kMwat9WDct85uQBXu/ZjS30QmZaVGr7UuCZoY2gPzjDH7Amfg2tzvwHVT2g3YVmvdJvjD/QEI3ewbB5xsjNmpCUm+sTF8j+tWeXxwipeB440xJzXhj6qxMXwL/AicYIxZpV2PA88Ys6AJST6V38V3RH4Xl+HaJPdpQpJPJYYfcT1O3gRGA2OMMfs1IcnXFcMyogaiMsb8G/fVfKDWumPQNg6uNnmaMWbnFJN8Y6+/pda6g47cL3gF0MaYUzLwfmzoZ9DWGFOh3f0UzxizpglJvkm/h6B57zxjzIFNSPKpxNBJu95vXwMn4fLTvvmY5CHDNfrga+Y1uG5PrwIdgGNN8JBF0ASwENf+vSOu3fEdY8zTWusncDW6/0gMEkMWY1C4eyKjjDHvBGXtcM2Hu+Jq8EON6/WS7evvBmwKDDFBR4EcxNDkn0GRxBD6XWxvcvCwVmNlrEavtd4Td5NmI1x3rGtxX2321u5p01BXqauBm40xjwL/BEZrrf+L++r+pcQgMWQ5Bov7458YdeghuBreF8A2TUjyTb3+58H1m5Lkc/ozKKIYQr+LvE/y4P54MsUHbolqyxqK6w72J9wTjjsENbjncD/c3saYF7TWM4A2xpifJQaJIUcxTA9i6GuMmY27ubafcd1bC/n6EkN+xZA1mWyj/xQwOhj8CdfHdFPjnuor0VqfFdTgegFVxphfAYwxC9P0Ry0xSAxNiaEm+MPGGPNimv6wc319iSG/YsiajNXojTHrahXtD4RuGp0CjNFa/w3XZzojs7BIDBJDU2PQWiuTpmcVcn19iSG/YsimTDbdAO6ONu5p067AS0HxamACrt/rrEy3c0kMEkOqMWTiDzvX15cY8iuGbMh4ose1hbXADYK0rdb6dtxDDWcZY97PwvUlBokh32LI9fUlhvyKIeOy8sCUduNPfBD8e9gYMzXjF5UYJIY8jiHX15cY8iuGTMtGjR7cKHuXA5ONMekei0JikBgKMYZcX19iyK8YMiqvZ5gSQgjRdDkfvVIIIURmSaIXQogiJ4leCCGKnCR6IYQocpLohRCiyEmiF0KIIpetfvRC5JzWejbuUfdqoAY3XeRjwBTTwFyn2k3bOAsoM27+YiEKhtToRXNzmDGmPW7iihuAS4CiexJSiGhSoxfNkjFmJfCS1nohMENrfSsu+V8HbI6b1nCqMWZicEhoaNoVWmuA/Y0xH2o3WfxFuDlDPwLGGmN+yd7/RIiGSY1eNGvGmI9wj8DvAazFzUfbCTeT0Ola6yODXUcEr52MMe2CJH8kbpTDo4EuwHvAU9mMX4hkSI1eCDcvaGdjzNtRZf/TWj8F7Am8UMdx44A/m2BCaK319cAErXUfqdWLfCKJXgjoCSzTWu+Ma7ffGjd0bUvgmXqO6wPcETT7hKjgfJLoRd6QRC+aNa31TrjE/D6u5n43cJAxZn0wNnl5sGui0f9+BSYZY57ISrBCpEja6EWzpLXuoLU+FJgG/NUY8yXQHlgWJPlhwAlRhyzBTVKxWVTZfcBlWuvBwTk7aq2Py87/QIjkSaIXzc3LWuvVuNr45cBk3ByhAGcA1wTb/wSY0EHBHKOTgH9rrVdorYcbY6YDNwLTtNargK+Ag7L3XxEiOTIevRBCFDmp0QshRJGTRC+EEEVOEr0QQhQ5SfRCCFHkJNELIUSRk0QvhBBFThK9EEIUOUn0QghR5CTRCyFEkft/4epWAO6nSoQAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10528ed30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"close=data['close']\n",
"close.plot()\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"data['SMAslow']=data['close'].rolling(window=252).mean()\n",
"data['SMAfast']=close.rolling(window=42).mean()\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>adj_close</th>\n",
" <th>volume</th>\n",
" <th>SMAslow</th>\n",
" <th>SMAfast</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-07-03</th>\n",
" <td>272.87</td>\n",
" <td>272.98</td>\n",
" <td>270.42</td>\n",
" <td>270.90</td>\n",
" <td>270.90</td>\n",
" <td>42187100</td>\n",
" <td>262.49</td>\n",
" <td>273.16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-05</th>\n",
" <td>272.17</td>\n",
" <td>273.18</td>\n",
" <td>270.96</td>\n",
" <td>273.11</td>\n",
" <td>273.11</td>\n",
" <td>56925900</td>\n",
" <td>262.61</td>\n",
" <td>273.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-06</th>\n",
" <td>273.14</td>\n",
" <td>275.84</td>\n",
" <td>272.71</td>\n",
" <td>275.42</td>\n",
" <td>275.42</td>\n",
" <td>66493700</td>\n",
" <td>262.75</td>\n",
" <td>273.53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-09</th>\n",
" <td>276.55</td>\n",
" <td>277.96</td>\n",
" <td>276.50</td>\n",
" <td>277.90</td>\n",
" <td>277.90</td>\n",
" <td>50401600</td>\n",
" <td>262.89</td>\n",
" <td>273.79</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-10</th>\n",
" <td>278.41</td>\n",
" <td>279.01</td>\n",
" <td>278.08</td>\n",
" <td>278.12</td>\n",
" <td>278.12</td>\n",
" <td>29520229</td>\n",
" <td>263.03</td>\n",
" <td>273.99</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close adj_close volume SMAslow \\\n",
"Date \n",
"2018-07-03 272.87 272.98 270.42 270.90 270.90 42187100 262.49 \n",
"2018-07-05 272.17 273.18 270.96 273.11 273.11 56925900 262.61 \n",
"2018-07-06 273.14 275.84 272.71 275.42 275.42 66493700 262.75 \n",
"2018-07-09 276.55 277.96 276.50 277.90 277.90 50401600 262.89 \n",
"2018-07-10 278.41 279.01 278.08 278.12 278.12 29520229 263.03 \n",
"\n",
" SMAfast \n",
"Date \n",
"2018-07-03 273.16 \n",
"2018-07-05 273.33 \n",
"2018-07-06 273.53 \n",
"2018-07-09 273.79 \n",
"2018-07-10 273.99 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.tail()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a0ca314a8>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a0bd1fc88>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data[['close','SMAfast','SMAslow']].plot()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"data['signal'] = data['SMAfast'] - data['SMAslow']"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>adj_close</th>\n",
" <th>volume</th>\n",
" <th>SMAslow</th>\n",
" <th>SMAfast</th>\n",
" <th>signal</th>\n",
" <th>Stance</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-07-03</th>\n",
" <td>272.87</td>\n",
" <td>272.98</td>\n",
" <td>270.42</td>\n",
" <td>270.90</td>\n",
" <td>270.90</td>\n",
" <td>42187100</td>\n",
" <td>262.49</td>\n",
" <td>273.16</td>\n",
" <td>10.67</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-05</th>\n",
" <td>272.17</td>\n",
" <td>273.18</td>\n",
" <td>270.96</td>\n",
" <td>273.11</td>\n",
" <td>273.11</td>\n",
" <td>56925900</td>\n",
" <td>262.61</td>\n",
" <td>273.33</td>\n",
" <td>10.72</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-06</th>\n",
" <td>273.14</td>\n",
" <td>275.84</td>\n",
" <td>272.71</td>\n",
" <td>275.42</td>\n",
" <td>275.42</td>\n",
" <td>66493700</td>\n",
" <td>262.75</td>\n",
" <td>273.53</td>\n",
" <td>10.78</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-09</th>\n",
" <td>276.55</td>\n",
" <td>277.96</td>\n",
" <td>276.50</td>\n",
" <td>277.90</td>\n",
" <td>277.90</td>\n",
" <td>50401600</td>\n",
" <td>262.89</td>\n",
" <td>273.79</td>\n",
" <td>10.90</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-10</th>\n",
" <td>278.41</td>\n",
" <td>279.01</td>\n",
" <td>278.08</td>\n",
" <td>278.12</td>\n",
" <td>278.12</td>\n",
" <td>29520229</td>\n",
" <td>263.03</td>\n",
" <td>273.99</td>\n",
" <td>10.97</td>\n",
" <td>10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close adj_close volume SMAslow \\\n",
"Date \n",
"2018-07-03 272.87 272.98 270.42 270.90 270.90 42187100 262.49 \n",
"2018-07-05 272.17 273.18 270.96 273.11 273.11 56925900 262.61 \n",
"2018-07-06 273.14 275.84 272.71 275.42 275.42 66493700 262.75 \n",
"2018-07-09 276.55 277.96 276.50 277.90 277.90 50401600 262.89 \n",
"2018-07-10 278.41 279.01 278.08 278.12 278.12 29520229 263.03 \n",
"\n",
" SMAfast signal Stance \n",
"Date \n",
"2018-07-03 273.16 10.67 10 \n",
"2018-07-05 273.33 10.72 10 \n",
"2018-07-06 273.53 10.78 10 \n",
"2018-07-09 273.79 10.90 10 \n",
"2018-07-10 273.99 10.97 10 "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.tail()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" 1 3072\n",
"-1 1337\n",
" 0 251\n",
"Name: Stance, dtype: int64"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X = 0 \n",
"data['Stance'] = np.where(data['signal'] > X, 1, 0) \n",
"data['Stance'] = np.where(data['signal'] < X, -1, data['Stance'])\n",
"data['Stance'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>adj_close</th>\n",
" <th>volume</th>\n",
" <th>SMAslow</th>\n",
" <th>SMAfast</th>\n",
" <th>signal</th>\n",
" <th>Stance</th>\n",
" <th>Market Returns</th>\n",
" <th>Strateg</th>\n",
" <th>equity</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-07-03</th>\n",
" <td>272.87</td>\n",
" <td>272.98</td>\n",
" <td>270.42</td>\n",
" <td>270.90</td>\n",
" <td>270.90</td>\n",
" <td>42187100</td>\n",
" <td>262.49</td>\n",
" <td>273.16</td>\n",
" <td>10.67</td>\n",
" <td>1</td>\n",
" <td>-3.54e-03</td>\n",
" <td>-3.54e-02</td>\n",
" <td>114.44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-05</th>\n",
" <td>272.17</td>\n",
" <td>273.18</td>\n",
" <td>270.96</td>\n",
" <td>273.11</td>\n",
" <td>273.11</td>\n",
" <td>56925900</td>\n",
" <td>262.61</td>\n",
" <td>273.33</td>\n",
" <td>10.72</td>\n",
" <td>1</td>\n",
" <td>8.12e-03</td>\n",
" <td>8.12e-02</td>\n",
" <td>114.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-06</th>\n",
" <td>273.14</td>\n",
" <td>275.84</td>\n",
" <td>272.71</td>\n",
" <td>275.42</td>\n",
" <td>275.42</td>\n",
" <td>66493700</td>\n",
" <td>262.75</td>\n",
" <td>273.53</td>\n",
" <td>10.78</td>\n",
" <td>1</td>\n",
" <td>8.42e-03</td>\n",
" <td>8.42e-02</td>\n",
" <td>114.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-09</th>\n",
" <td>276.55</td>\n",
" <td>277.96</td>\n",
" <td>276.50</td>\n",
" <td>277.90</td>\n",
" <td>277.90</td>\n",
" <td>50401600</td>\n",
" <td>262.89</td>\n",
" <td>273.79</td>\n",
" <td>10.90</td>\n",
" <td>1</td>\n",
" <td>8.96e-03</td>\n",
" <td>8.96e-02</td>\n",
" <td>114.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-10</th>\n",
" <td>278.41</td>\n",
" <td>279.01</td>\n",
" <td>278.08</td>\n",
" <td>278.12</td>\n",
" <td>278.12</td>\n",
" <td>29520229</td>\n",
" <td>263.03</td>\n",
" <td>273.99</td>\n",
" <td>10.97</td>\n",
" <td>1</td>\n",
" <td>7.91e-04</td>\n",
" <td>7.91e-03</td>\n",
" <td>114.70</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close adj_close volume SMAslow \\\n",
"Date \n",
"2018-07-03 272.87 272.98 270.42 270.90 270.90 42187100 262.49 \n",
"2018-07-05 272.17 273.18 270.96 273.11 273.11 56925900 262.61 \n",
"2018-07-06 273.14 275.84 272.71 275.42 275.42 66493700 262.75 \n",
"2018-07-09 276.55 277.96 276.50 277.90 277.90 50401600 262.89 \n",
"2018-07-10 278.41 279.01 278.08 278.12 278.12 29520229 263.03 \n",
"\n",
" SMAfast signal Stance Market Returns Strateg equity \n",
"Date \n",
"2018-07-03 273.16 10.67 1 -3.54e-03 -3.54e-02 114.44 \n",
"2018-07-05 273.33 10.72 1 8.12e-03 8.12e-02 114.52 \n",
"2018-07-06 273.53 10.78 1 8.42e-03 8.42e-02 114.61 \n",
"2018-07-09 273.79 10.90 1 8.96e-03 8.96e-02 114.70 \n",
"2018-07-10 273.99 10.97 1 7.91e-04 7.91e-03 114.70 "
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.tail()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a0bdaea20>"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a16b98320>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data['Stance'].plot()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"data['Market Returns'] = np.log(data['close'] / data['close'].shift(1))\n",
"data['Strateg']=data['Market Returns']*data['Stance'].shift(1)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>adj_close</th>\n",
" <th>volume</th>\n",
" <th>SMAslow</th>\n",
" <th>SMAfast</th>\n",
" <th>signal</th>\n",
" <th>Stance</th>\n",
" <th>Market Returns</th>\n",
" <th>Strateg</th>\n",
" <th>equity</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1999-12-31</th>\n",
" <td>146.84</td>\n",
" <td>147.50</td>\n",
" <td>146.25</td>\n",
" <td>146.88</td>\n",
" <td>103.95</td>\n",
" <td>3172700</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-03</th>\n",
" <td>148.25</td>\n",
" <td>148.25</td>\n",
" <td>143.88</td>\n",
" <td>145.44</td>\n",
" <td>102.93</td>\n",
" <td>8164300</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>-9.85e-03</td>\n",
" <td>-0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-04</th>\n",
" <td>143.53</td>\n",
" <td>144.06</td>\n",
" <td>139.64</td>\n",
" <td>139.75</td>\n",
" <td>98.91</td>\n",
" <td>8089800</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>-3.99e-02</td>\n",
" <td>-0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-05</th>\n",
" <td>139.94</td>\n",
" <td>141.53</td>\n",
" <td>137.25</td>\n",
" <td>140.00</td>\n",
" <td>99.08</td>\n",
" <td>12177900</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>1.79e-03</td>\n",
" <td>0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-06</th>\n",
" <td>139.62</td>\n",
" <td>141.50</td>\n",
" <td>137.75</td>\n",
" <td>137.75</td>\n",
" <td>97.49</td>\n",
" <td>6227200</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>-1.62e-02</td>\n",
" <td>-0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-03</th>\n",
" <td>272.87</td>\n",
" <td>272.98</td>\n",
" <td>270.42</td>\n",
" <td>270.90</td>\n",
" <td>270.90</td>\n",
" <td>42187100</td>\n",
" <td>262.49</td>\n",
" <td>273.16</td>\n",
" <td>10.67</td>\n",
" <td>1</td>\n",
" <td>-3.54e-03</td>\n",
" <td>-3.54e-03</td>\n",
" <td>114.44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-05</th>\n",
" <td>272.17</td>\n",
" <td>273.18</td>\n",
" <td>270.96</td>\n",
" <td>273.11</td>\n",
" <td>273.11</td>\n",
" <td>56925900</td>\n",
" <td>262.61</td>\n",
" <td>273.33</td>\n",
" <td>10.72</td>\n",
" <td>1</td>\n",
" <td>8.12e-03</td>\n",
" <td>8.12e-03</td>\n",
" <td>114.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-06</th>\n",
" <td>273.14</td>\n",
" <td>275.84</td>\n",
" <td>272.71</td>\n",
" <td>275.42</td>\n",
" <td>275.42</td>\n",
" <td>66493700</td>\n",
" <td>262.75</td>\n",
" <td>273.53</td>\n",
" <td>10.78</td>\n",
" <td>1</td>\n",
" <td>8.42e-03</td>\n",
" <td>8.42e-03</td>\n",
" <td>114.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-09</th>\n",
" <td>276.55</td>\n",
" <td>277.96</td>\n",
" <td>276.50</td>\n",
" <td>277.90</td>\n",
" <td>277.90</td>\n",
" <td>50401600</td>\n",
" <td>262.89</td>\n",
" <td>273.79</td>\n",
" <td>10.90</td>\n",
" <td>1</td>\n",
" <td>8.96e-03</td>\n",
" <td>8.96e-03</td>\n",
" <td>114.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-10</th>\n",
" <td>278.41</td>\n",
" <td>279.01</td>\n",
" <td>278.08</td>\n",
" <td>278.12</td>\n",
" <td>278.12</td>\n",
" <td>29520229</td>\n",
" <td>263.03</td>\n",
" <td>273.99</td>\n",
" <td>10.97</td>\n",
" <td>1</td>\n",
" <td>7.91e-04</td>\n",
" <td>7.91e-04</td>\n",
" <td>114.70</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>4660 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" open high low close adj_close volume SMAslow \\\n",
"Date \n",
"1999-12-31 146.84 147.50 146.25 146.88 103.95 3172700 NaN \n",
"2000-01-03 148.25 148.25 143.88 145.44 102.93 8164300 NaN \n",
"2000-01-04 143.53 144.06 139.64 139.75 98.91 8089800 NaN \n",
"2000-01-05 139.94 141.53 137.25 140.00 99.08 12177900 NaN \n",
"2000-01-06 139.62 141.50 137.75 137.75 97.49 6227200 NaN \n",
"... ... ... ... ... ... ... ... \n",
"2018-07-03 272.87 272.98 270.42 270.90 270.90 42187100 262.49 \n",
"2018-07-05 272.17 273.18 270.96 273.11 273.11 56925900 262.61 \n",
"2018-07-06 273.14 275.84 272.71 275.42 275.42 66493700 262.75 \n",
"2018-07-09 276.55 277.96 276.50 277.90 277.90 50401600 262.89 \n",
"2018-07-10 278.41 279.01 278.08 278.12 278.12 29520229 263.03 \n",
"\n",
" SMAfast signal Stance Market Returns Strateg equity \n",
"Date \n",
"1999-12-31 NaN NaN 0 NaN NaN NaN \n",
"2000-01-03 NaN NaN 0 -9.85e-03 -0.00e+00 100.00 \n",
"2000-01-04 NaN NaN 0 -3.99e-02 -0.00e+00 100.00 \n",
"2000-01-05 NaN NaN 0 1.79e-03 0.00e+00 100.00 \n",
"2000-01-06 NaN NaN 0 -1.62e-02 -0.00e+00 100.00 \n",
"... ... ... ... ... ... ... \n",
"2018-07-03 273.16 10.67 1 -3.54e-03 -3.54e-03 114.44 \n",
"2018-07-05 273.33 10.72 1 8.12e-03 8.12e-03 114.52 \n",
"2018-07-06 273.53 10.78 1 8.42e-03 8.42e-03 114.61 \n",
"2018-07-09 273.79 10.90 1 8.96e-03 8.96e-03 114.70 \n",
"2018-07-10 273.99 10.97 1 7.91e-04 7.91e-04 114.70 \n",
"\n",
"[4660 rows x 13 columns]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a0c7cc860>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a16c8ca90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data[['Market Returns','Strateg']].cumsum().plot()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"data['equity']=data['Strateg'].cumsum()+100"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>adj_close</th>\n",
" <th>volume</th>\n",
" <th>SMAslow</th>\n",
" <th>SMAfast</th>\n",
" <th>signal</th>\n",
" <th>Stance</th>\n",
" <th>Market Returns</th>\n",
" <th>Strateg</th>\n",
" <th>equity</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1999-12-31</th>\n",
" <td>146.84</td>\n",
" <td>147.50</td>\n",
" <td>146.25</td>\n",
" <td>146.88</td>\n",
" <td>103.95</td>\n",
" <td>3172700</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-03</th>\n",
" <td>148.25</td>\n",
" <td>148.25</td>\n",
" <td>143.88</td>\n",
" <td>145.44</td>\n",
" <td>102.93</td>\n",
" <td>8164300</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>-9.85e-03</td>\n",
" <td>-0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-04</th>\n",
" <td>143.53</td>\n",
" <td>144.06</td>\n",
" <td>139.64</td>\n",
" <td>139.75</td>\n",
" <td>98.91</td>\n",
" <td>8089800</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>-3.99e-02</td>\n",
" <td>-0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-05</th>\n",
" <td>139.94</td>\n",
" <td>141.53</td>\n",
" <td>137.25</td>\n",
" <td>140.00</td>\n",
" <td>99.08</td>\n",
" <td>12177900</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>1.79e-03</td>\n",
" <td>0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-01-06</th>\n",
" <td>139.62</td>\n",
" <td>141.50</td>\n",
" <td>137.75</td>\n",
" <td>137.75</td>\n",
" <td>97.49</td>\n",
" <td>6227200</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>-1.62e-02</td>\n",
" <td>-0.00e+00</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-03</th>\n",
" <td>272.87</td>\n",
" <td>272.98</td>\n",
" <td>270.42</td>\n",
" <td>270.90</td>\n",
" <td>270.90</td>\n",
" <td>42187100</td>\n",
" <td>262.49</td>\n",
" <td>273.16</td>\n",
" <td>10.67</td>\n",
" <td>1</td>\n",
" <td>-3.54e-03</td>\n",
" <td>-3.54e-03</td>\n",
" <td>101.44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-05</th>\n",
" <td>272.17</td>\n",
" <td>273.18</td>\n",
" <td>270.96</td>\n",
" <td>273.11</td>\n",
" <td>273.11</td>\n",
" <td>56925900</td>\n",
" <td>262.61</td>\n",
" <td>273.33</td>\n",
" <td>10.72</td>\n",
" <td>1</td>\n",
" <td>8.12e-03</td>\n",
" <td>8.12e-03</td>\n",
" <td>101.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-06</th>\n",
" <td>273.14</td>\n",
" <td>275.84</td>\n",
" <td>272.71</td>\n",
" <td>275.42</td>\n",
" <td>275.42</td>\n",
" <td>66493700</td>\n",
" <td>262.75</td>\n",
" <td>273.53</td>\n",
" <td>10.78</td>\n",
" <td>1</td>\n",
" <td>8.42e-03</td>\n",
" <td>8.42e-03</td>\n",
" <td>101.46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-09</th>\n",
" <td>276.55</td>\n",
" <td>277.96</td>\n",
" <td>276.50</td>\n",
" <td>277.90</td>\n",
" <td>277.90</td>\n",
" <td>50401600</td>\n",
" <td>262.89</td>\n",
" <td>273.79</td>\n",
" <td>10.90</td>\n",
" <td>1</td>\n",
" <td>8.96e-03</td>\n",
" <td>8.96e-03</td>\n",
" <td>101.47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-07-10</th>\n",
" <td>278.41</td>\n",
" <td>279.01</td>\n",
" <td>278.08</td>\n",
" <td>278.12</td>\n",
" <td>278.12</td>\n",
" <td>29520229</td>\n",
" <td>263.03</td>\n",
" <td>273.99</td>\n",
" <td>10.97</td>\n",
" <td>1</td>\n",
" <td>7.91e-04</td>\n",
" <td>7.91e-04</td>\n",
" <td>101.47</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>4660 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" open high low close adj_close volume SMAslow \\\n",
"Date \n",
"1999-12-31 146.84 147.50 146.25 146.88 103.95 3172700 NaN \n",
"2000-01-03 148.25 148.25 143.88 145.44 102.93 8164300 NaN \n",
"2000-01-04 143.53 144.06 139.64 139.75 98.91 8089800 NaN \n",
"2000-01-05 139.94 141.53 137.25 140.00 99.08 12177900 NaN \n",
"2000-01-06 139.62 141.50 137.75 137.75 97.49 6227200 NaN \n",
"... ... ... ... ... ... ... ... \n",
"2018-07-03 272.87 272.98 270.42 270.90 270.90 42187100 262.49 \n",
"2018-07-05 272.17 273.18 270.96 273.11 273.11 56925900 262.61 \n",
"2018-07-06 273.14 275.84 272.71 275.42 275.42 66493700 262.75 \n",
"2018-07-09 276.55 277.96 276.50 277.90 277.90 50401600 262.89 \n",
"2018-07-10 278.41 279.01 278.08 278.12 278.12 29520229 263.03 \n",
"\n",
" SMAfast signal Stance Market Returns Strateg equity \n",
"Date \n",
"1999-12-31 NaN NaN 0 NaN NaN NaN \n",
"2000-01-03 NaN NaN 0 -9.85e-03 -0.00e+00 100.00 \n",
"2000-01-04 NaN NaN 0 -3.99e-02 -0.00e+00 100.00 \n",
"2000-01-05 NaN NaN 0 1.79e-03 0.00e+00 100.00 \n",
"2000-01-06 NaN NaN 0 -1.62e-02 -0.00e+00 100.00 \n",
"... ... ... ... ... ... ... \n",
"2018-07-03 273.16 10.67 1 -3.54e-03 -3.54e-03 101.44 \n",
"2018-07-05 273.33 10.72 1 8.12e-03 8.12e-03 101.45 \n",
"2018-07-06 273.53 10.78 1 8.42e-03 8.42e-03 101.46 \n",
"2018-07-09 273.79 10.90 1 8.96e-03 8.96e-03 101.47 \n",
"2018-07-10 273.99 10.97 1 7.91e-04 7.91e-04 101.47 \n",
"\n",
"[4660 rows x 13 columns]"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"writer = pd.ExcelWriter('output.xlsx')\n",
"data.to_excel(writer,'Sheet1')\n",
"writer.save()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/ludeksk/anaconda3/lib/python3.6/site-packages/ffn/core.py:2054: RuntimeWarning: invalid value encountered in minimum\n",
" negative_returns = np.minimum(returns, 0.)\n"
]
}
],
"source": [
"perf = data['equity'].calc_stats()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ffn.core.PerformanceStats"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ffn.core.PerformanceStats"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a1764ab00>"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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iEiJ6TLLK4iIiOQys1nAUGAjUAW8AdwDTPHeR42cuyUwE+jmvd/YtiUVERFpPvXoiYhIV/ZV731fYAvgWuB8QIv4iohIp6cePRER6fK898uBqWY2D5hhZtcTB39XAtsAy4E7vPeXJac8mbwuMzOA/bz3z5jZCcD3gWHAs8BJ3vv/td87ERERialHT0REJOG9fxaoBPYCPgaOBQYAXwFONrNDk6yfS14HeO/7JEHeocCFwOHAEOBfwAPtWX4REZFq6tETERHJNwcY5L3/R07aK2b2APB54NF6zvsOcI33/k0AM7sauNDMtlCvnoiItDcFeiIiIvlGAkvMbHfi5/bGAt2BHsDDDZy3BXBTMuyzmkuup0BPRETalQI9ERGRhJntShyYPUXcc/cL4ADv/VozuxGoSLKGAqfPBq7y3v+mXQorIiLSAD2jJyIiXZ6Z9TOzg4AHgfu8968CfYElSZC3G/DNnFMWAhGwdU7aL4EfmNknk2v2N7Mj2+cdiIiI5FOgJyIiXdnjZraSuDfuIuAG4Pjk2CnA5cnxSwBffZL3fjVwFfC0mS0zs/He+98DPwYeNLMVwGvAAe33VkRERLJcCIVGn4iIiIiIiEhnpR49ERERERGREqNAT0REREREpMQo0BMRERERESkxCvRERERERERKjAI9ERERERGREqNAT0REREREpMQo0BMRERERESkxCvRERERERERKjAI9ERERERGREvP/cEujVAR9bRwAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a1764a588>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"perf.plot()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stats for equity from 1999-12-31 00:00:00 - 2018-07-10 00:00:00\n",
"Annual risk-free rate considered: 0.00%\n",
"Summary:\n",
"Total Return Sharpe CAGR Max Drawdown\n",
"-------------- -------- ------ --------------\n",
"- 0.43 0.08% -0.54%\n",
"\n",
"Annualized Returns:\n",
"mtd 3m 6m ytd 1y 3y 5y 10y incep.\n",
"----- ----- ----- ----- ----- ------ ----- ----- --------\n",
"0.02% 0.05% 0.01% 0.04% 0.14% -0.00% 0.04% 0.05% 0.08%\n",
"\n",
"Periodic:\n",
" daily monthly yearly\n",
"------ ------- --------- --------\n",
"sharpe 0.43 0.57 0.53\n",
"mean 0.08% 0.08% 0.08%\n",
"vol 0.18% 0.14% 0.15%\n",
"skew -0.27 0.08 0.93\n",
"kurt 12.32 2.01 1.72\n",
"best 0.10% 0.18% 0.48%\n",
"worst -0.13% -0.13% -0.15%\n",
"\n",
"Drawdowns:\n",
"max avg # days\n",
"------ ------ --------\n",
"-0.54% -0.04% 70.69\n",
"\n",
"Misc:\n",
"--------------- ------\n",
"avg. up month 0.03%\n",
"avg. down month -0.03%\n",
"up year % 68.42%\n",
"12m up % 77.00%\n",
"--------------- ------\n"
]
}
],
"source": [
"perf.display()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"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.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment