From 60747082b6b8cd09790b7c8b147e6c205d53a7af Mon Sep 17 00:00:00 2001 From: Victor Grau Serrat Date: Mon, 11 Dec 2017 15:46:55 -0700 Subject: [PATCH] DOC: added jupyter notebook in the examples --- ...running_catalyst_in_jupyter_notebook.ipynb | 2547 +++++++++++++++++ 1 file changed, 2547 insertions(+) create mode 100644 catalyst/examples/running_catalyst_in_jupyter_notebook.ipynb diff --git a/catalyst/examples/running_catalyst_in_jupyter_notebook.ipynb b/catalyst/examples/running_catalyst_in_jupyter_notebook.ipynb new file mode 100644 index 00000000..a951e943 --- /dev/null +++ b/catalyst/examples/running_catalyst_in_jupyter_notebook.ipynb @@ -0,0 +1,2547 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Running Catalyst in Jupyter Notebook\n", + "The [Jupyter Notebook](https://jupyter.org/) is a very powerful browser-based interface to a Python interpreter. As it is already the de-facto interface for most quantitative researchers, `catalyst` provides an easy way to run your algorithm inside the Notebook without requiring you to use the CLI.\n", + "\n", + "To use it you have to write your algorithm in a cell and let `catalyst` know that it is supposed to run this algorithm. This is done via the `%%catalyst` IPython magic command that is available after you import `catalyst` from within the Notebook. This magic takes the same arguments as the command line interface. Thus, to run the algorithm just supply the same parameters as the CLI but without the -f and -o arguments. We just have to execute the following cell after importing `catalyst` to register the magic.\n", + "\n", + "Please remember to ingest the data that you need from the console since that functionality is not supported from within the Notebook. For the example below, you first need to run the following from the CLI:\n", + "\n", + "`catalyst ingest-exchange -x bitfinex -i btc_usd`" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Register the catalyst magic\n", + "%load_ext catalyst" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Setup matplotlib to display graphs inline in this Notebook\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note below that we do not have to specify an input file (-f) since the magic will use the contents of the cell and look for your algorithm functions." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2017-10-27 14:15:29.957421] INFO: run_algo: running algo in backtest mode\n", + "[2017-10-27 14:15:30.573555] INFO: exchange_algorithm: initialized trading algorithm in backtest mode\n", + "[2017-10-27 14:15:36.376882] INFO: Performance: Simulated 851 trading days out of 851.\n", + "[2017-10-27 14:15:36.378059] INFO: Performance: first open: 2015-03-01 00:00:00+00:00\n", + "[2017-10-27 14:15:36.379327] INFO: Performance: last close: 2017-06-28 23:59:00+00:00\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABDoAAAHeCAYAAAB6wGuKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeYVdXVx/HvGrogMDSlDiiiKBasxDqKNaISNYrGTvJa\nYknMm4gtgBrbq4kxsVewodHYInYFYzRgFxUREYaulKG3YWa9f6xzmctwp8EMU/x9nuc89959yt7n\n7Ds87HV3MXdHRERERERERKQ+yKrpAoiIiIiIiIiIVBUFOkRERERERESk3lCgQ0RERERERETqDQU6\nRERERERERKTeUKBDREREREREROoNBTpEREREREREpN5QoENERERERERE6o2GFT3QzLKAXYFOwErg\nS3f/vroKJiIiIiIiIiJSWebuZR9gti1wGXAoMBmYBzQFegErgHuAEe5eVL1FFREREREREREpW0UC\nHU8AdwH/9hIHm1kH4FQg391HVFspRUREREREREQqoNxAh4iIiIiIiIhIXVGhOTrMrC3Rc2OHJGki\n8IS7L6iugomIiIiIiIiIVFa5q66YWW/gC2AP4Btino69gAlmtkNZ54qIiIiIiIiIbE4VmaPjaeAp\nd3+qRPoJwKnufkI1lk9EREREREREpMIqEuiY5O7bV3afiIiIiIiIiMjmVu7QFWD5Ru4TERERERER\nEdmsKjIZaQczuzRDugHtq7g8IiIiIiIiIiIbrSKBjvuALUvZd38VlkVEREREREREZJOUO0eHiIiI\niIiIiEhdUZHlZX9lZtsl783MHjSzxWb2uZn1rf4iioiIiIiIiIhUTEUmI70EmJa8PwXYFdgGuBS4\nvXqKJSIiIiIiIiJSeRUJdKx194Lk/QBgpLsvcPc3gObVVzQRERERERERkcqpSKCjyMw6mllToD/w\nRtq+ZtVTLBERERERERGRyqvIqit/BD4EGgAvuPuXAGZ2EPBdNZZNRERERERERKRSKrTqipk1BLZ0\n9/y0tObJ+cuqsXwiIiIiIiIiIhVWkVVXjgeOBQ42s+PN7GdmdgCQVZEgh5k9YGbfm9nnaWnZZvaa\nmU0ys1fNrFXavtvNbLKZfWpmu6Wln2lm3yTnnJGWvnuyAsw3ZnbbpuQhIiIiIiIiInVbReboOKbE\ndizwv8DnZnZIBc5/CDiiRNoQ4A133x54C7gcwMyOArZ19+2Ac4G7k/RsYgjNXsA+wNC0wMVdwC/d\nvRfQy8yO2Jg8RERERERERKTuK3eODnc/O1O6meUATxGBh7LOfzc5Nt1xwEHJ+xHA20Rg4jhgZHLe\nODNrZWZbAQcDr7n74iTv14AjzWwsMaRmfHKtkcBA4NXK5uHu35f3LERERERERESkdqtIj46M3D0P\naLSRp3dIBRbcfS7QIUnvDMxIO25mklYyfVZa+swMxwNsVcE8ZqWdIyIiIiIiIiJ1WEVWXcnIzLYH\nVldhWQAsw2fPkE456ZXJo9RzzKz8mVpFREREREREpEa4+wZt/IpMRvqimb1QYnsXGA1cupFl+T4Z\nkoKZbQ38kKTPBLqmHdcFmJ2kdyslPdPxAHMrmUdG7l6nt6FDh9ap62qrvuevOqv9W3odqb7q3lZa\nnakua9dWVfWheq17dVbb8qrPW218jrWxTLVpq6vPp66WW/dadfdamooMXbkFuDVtu4WYxLO3u79f\ngfMhelGkR1leAM5K3p8FPJ+WfgaAmfUDFnkMP3kVOCyZTyMbOAx41WNIyhIz29vMLDn3+Y3Mo17K\nzc2t6SJINVC91k+q1/pJ9Vo/qV7rJ9Vr/aW6rZ9Ur3VHQQG88krFjq2Keq3I0JV3vKxQCWBmVtox\nZvY4kAu0NbPpwFDgRuAfZnYOMB34OYC7jzazn5rZt8By4OwkPd/MrgU+JIaZDHf3RUkWFwAPA02B\n0e6eenw3AU9VNI/6Sn/89ZPqtX5SvdZPqtf6SfVaP6le6y/Vbf2keq07RoyA886D5cuhSZOyj91c\ngY63zewZ4Hl3n55KNLPGwP7AmcSKJg9nOtndTy3luoeWcvyFpaQ/nCkPd/8I2DlD+sLK5iEVp39U\n6h7VWd2i+qp7VGd1g+qp7lGd1T2qs7pHdVb71ZU6KiiA//kfuPvuCGj88ANMngzXXgvNm8PXX8Ou\nu1Z/OayczhqYWVPgHOAXQA9gEdF7ogHwGnCHu39azeWsEWV0VBERERERERGRNG++CYceCi+9FEGN\na6+FXr1g771h3jwYMABOO63q8jMzPMNkpOX26HD3VcCdwJ1m1ghoB6xMGzryo9O9e3fy8vJquhhS\nS+Tk5DBt2rSaLoaIiIiIiEiNeuEF6NYNHngA3n4bPv4YevSIfX/6E3z++eYpR0UmI13H3QvcfU5V\nBTnM7Ldm9oWZfW5mj5lZYzPrbmb/NbNJZvaEmTVMjm1sZqPMbLKZvW9m3dKuc3mSPtHMDk9LP9LM\nvjazb8zssrT0jHlUVF5eXo3PRKut9mwKeomIiIiIyI+dewQ67rgD/vlPOPro4iAHwM47w4QJ8Je/\nwNSppV/n44/hxRchLy/m9RgyBFatqlxZKhXoqEpm1gm4CNjd3XchepecQkwiequ7b08MkxmcnDIY\nWOju2wG3ATcn19kROAnoDRxF9DwxM8sC/g4cAewEnGJmOyTXKi0PEREREREREamkjz8GswhwnHkm\nXHbZ+vt33hneeQcuvTQCIeneeisCJQsWwHHHwfnnx1webdpEz5BnnqlcWWos0JFoADRPelQ0A2YD\nBwOp2xgBDEzeH5d8BngaOCR5fywwyt3Xuvs0YDKwd7JNdvc8dy8ARiXXIDk3PY+fVf2tiYiIiIiI\niPw43Hkn/OpXEex4+GHo02f9/Tk50KgRDBwI//1vcfqnn0L//vDss3D22XDyyfDllzHfx/XXw//+\nbwyFqYxKDdkwsxxgO3d/w8yaAQ3dfWnlsgzuPtvMbiWWfl1BTGz6MbDI3YuSw2YCnZP3nYEZybmF\nZrbYzNok6e+nXXpWkmap49OutbeZtQXyS+TRaWPuQUREREREROTHbsGC6KXxzTelH5OVBZMmwbJl\ncNBBxekjRsTnM86A3r3h6aehcWPYY4/Yf+yxcMEFEQg55pjIa8gQyM8vI6+KFtzMfkX0pLgnSeoC\nPFfR8zNcrzXRwyKHCDQ0J4aelJRa9mSDmVSTfRuTXnKfllYRERERERERqQR3uPde2GUXGDwY2rcv\n+/ittoJttoE1a2DGjFiO9vHH4f774Q9/gCefjCBHuiZNokfHtddGMOSKK2DtWjjrrNLzqUyPjl8T\nw0HGxQ35ZDPrUInzSzoU+M7dFwKY2bPAvkBrM8tKelx0IYazQPS86ArMNrMGQCt3zzezVHpK6hwD\nupVMd/f5ZlZaHhsYNmzYuve5ubl1Zv3i6nTXXXcxfPhwVqxYQV5eHtnZ2aUee/DBB3P66adzzjnn\n8PjjjzNy5EheeeWVzVjakJeXR48ePVi7di1ZWTU9YktERERERKR2mjkTpkxZv9dFJu7wy1/CJ5/A\nv/4FfftW7Ppm8JOfwCOPxCosP/kJ9OwJf/xj6ecceywcdhjsvPMYZs8ew8UXx5CXUvNwr1hnBjMb\n5+77mNkn7t43mVfj42Qi0Uozs72BB4C9gNXAQ8AHwIHAP939STO7C/jM3e82swuAPu5+gZkNAga6\n+6BkMtLHgH2IISuvA9sRvVUmAf2BOcB4YJC7f21mT2bKI0MZPdPzSdbq3ZjbrnOysrL49ttv2Wab\nbQBYu3YtLVu2ZPz48fQpOegqg/RAR03Ky8tjm222oaCgoMoDHT+m74OIiIiIiNRv55wTk4ZOnhxB\nidI8/ngsGfvhh9CsWeXyeOstuO466NwZ7rsPmjat2HkzZsS2777xOWmLbVDKyvToGGtmVwDNzOww\n4ALgxUqcvx53H29mTwOfAAXJ673AaGCUmV2bpKWmHXkAeMTMJgMLgEHJdb4ys6eAr5LrXJBEJwrN\n7EJi7o8s4AF3/zq51pBS8pBEYWEhDRo0wEp8s+fOncvq1avp3bt3DZVMREREREREqkNqro2WLSOA\nsddemY/Lz4ff/AZefrnyQQ6AQw6JrbK6do2tPJX5aXsIMA+YAJxLBCSuqnzRirn7cHfv7e67uPuZ\n7l7g7lPdfR937+XuJycrpuDuq939JHffzt37JSuspK5zg7v3TK71Wlr6K+6+fXLOjWnpGfOoL3r0\n6MGNN97ITjvtRNu2bRk8eDBr1qwB4L777mO77bajXbt2DBw4kDlz5qw7LysrizvvvJNevXrRq1cv\nDjroINydXXbZhZYtW/J///d/7LBDrNCbnZ3NoYceCsB7773H3nvvTXZ2Nvvssw/vv//+hoUCRowY\nwQEHHLDuc0XPS3nyySfZq8Rf2l/+8hcGDoyFeUaPHs3uu+9Oq1atyMnJYfjw4WU+o7feemvd5+HD\nh3P66aev+/zf//6X/fbbj+zsbPr27cvYsWPLLJuIiIiIiEhd98ADsSrK2WfDE0+sv6+oKDaI1VB+\n9rPiCUNrmwoHOty9yN3vc/efu/uJyXv116+lHn/8cV5//XWmTJnCpEmTuO6663j77be54oorePrp\np5kzZw7dunVj0KBB6533/PPPM378eL766qt1jfsJEyawZMkSfv/73/Pll18CsHjxYt544w3y8/MZ\nMGAAv/nNb1iwYAG//e1vOfroo8kvZQrcVA+Ryp4HcOyxx/LNN98wZcqUdWlPPPEEv/jFLwBo0aIF\njzzyCIsXL+all17i7rvv5oUXXqjwM0uVbdasWQwYMIA//vGP5Ofnc8stt3DCCSewYMGCCl9LRERE\nRESkLiksjCViL7wQTjsNHn00hq+kXHMNHHggPPccPPQQpE1nWetUZtWVqWb2XcmtOgtXl5lt+rYp\nLrroIjp16kTr1q258sorefzxx3nssccYPHgwu+66K40aNeKGG27g/fffZ/r06evOu+KKK2jdujVN\nmjRZl5YpnpVKe+mll+jVqxennnoqWVlZDBo0iB122IEXXyx7VNPGnNesWTOOO+44nkhCi5MnT2bS\npEkcc8wxABx44IHstNNOAPTp04dBgwZtVE+Mxx57jKOPPpojjjgCgP79+7PnnnsyevToSl9LRERE\nRESkLnjpJdh6a9hzT9huu5hD47jjYmWUlSsjCNK+ffT2ePZZ6NixpktcusoMXdmTmDh0L+AA4Hbg\n0eooVH3gvunbpujSpcu69zk5OcyePZs5c+aQk5OzLr158+a0bduWWbNmZTyvImbPnr3eNVP5pV+z\nKs875ZRT1gU6Hn/8cQYOHEjTZOaa8ePHc8ghh9ChQwdat27NPffcw/z58yt1PxATlz711FO0adOG\nNm3akJ2dzX/+85/1hvmIiIiIiIjUdUuXwpVXwhdfwFVXwUUXFe/7n/+Bdu3ghRdg1KgIgPzznzBt\nGqTNSFArVWboyoK0bZa73wYcvSmZm1krM/uHmU00sy/NbB8zyzaz18xskpm9amat0o6/3cwmm9mn\nZrZbWvqZZvZNcs4Zaem7m9nnyb7b0tJLzaO+mDFjxrr306dPp3PnznTq1Ilp06atS1++fDkLFixY\nL7hRcvLR8pS8Znp+1XHe4Ycfzvz58/nss88YNWoUp5566rp9p556KgMHDmTWrFksWrSIc889t9TV\nUJo3b86KFSvWfZ47d+669127duWMM85g4cKFLFy4kPz8fJYuXcof/vCHMssmIiIiIiJSl1xzDTz/\nPOy2W/TeSGteAXD++XDzzREEGTIkRh60qgOt58oMXdk9bdvTzM6jcqu2ZPJXYLS79wZ2Bb4mJj19\nw923B94CLk/yPwrY1t23IyZDvTtJzwb+SPQ02QcYmha4uAv4pbv3AnqZ2RFJesY86pM77riDWbNm\nsXDhQq6//noGDRrEKaecwsMPP8znn3/O6tWrueKKK+jXrx9dy5i2duutt+a779YfoZQePPjpT3/K\n5MmTGTVqFIWFhTz55JNMnDhx3XCS0pR23oABA8o8r0GDBpx44on8/ve/Jz8/n8MOO2zdvmXLlpGd\nnU2jRo0YP348jz/+eKnl3m233Rg1ahRr167lww8/5Omnn16377TTTuPFF1/ktddeo6ioiFWrVjF2\n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\nJuXkxKZuzETpLC+3Y3iZZQcvp+zjZZZ9vMyyj5dZ5vMySq6t08tGRWSEqpYGBxtJK6ZqzRQiEgH+\ngA18Wga8LiKPq+rC1DvB+z3e53+f+t8OHatj4MDmpevVq/686+PH29ISgwdbF5hkXnmlhOOOK27Z\nAZtBJNbdI3F74sCC6bDLLrH1bJ96rynp/HDMyYFnnrFySTaeyEEHpd53zz1bf95IxAIgBx7YdNrB\ng1M/lw1T9vl/ZtnHyyw7eDllHy+z7ONlln28zDKfl1HLNHfouBuBf4vIAyLyAPB/wA3tl612dzDw\nmaouUdVq4GHg1KZ2qhhZwa9m/Yp0jGuyozRnjmGXfTKhXMMuOy59MqFcXfp5uXZOXq6dk5dr5+Vl\n2zl5uXZO6SjXZgU6VPVZbPrWR7DZSiYE27LVUGBp3ONlwbbGxbXqyBb+5u+cvFw7Jy/XzsnLtXPy\ncu2cvFw7Ly/bzsnLtXNKR7k2d4yOf6nqpKa2ZQsROQOYrKoXB4/PAQ4Kp5+NS5c9TTecc84555xz\nzrmdTIvH6BCRLkA3oF8w00p4gEIgyUgKWWMZMCLu8TBsrI56kt0w55xzzjnnnHPOZa6mBiO9BLga\nC2q8Fbd9M3BXe2VqB3gdGBMMqroCmAqc3bFZcs4555xzzjnnXFs1t+vKlar6+x2Qnx0mmF72DmLT\ny97WwVlyzjnnnHPOOedcGzU30NEV+C5wBDat7Hzgj6pa2b7Zc84555xzzjnnnGu+5gY6/gFsAR4M\nNp0N9FHVM9sxb84555xzzjnnnHMt0txAx0eqOq6pbc4555xzzjnnnHMdKdLMdG+JyKHhAxE5BHij\nfbLU/kRkmIi8ICIficj7InJVR+fJOeecc84555xzbddoiw4ReR8bkyMP2AMoDR6PBBZma4sOERkE\nDFLVd0SkB/AmcKqqLuzgrDnnnHPOOeecc64Nmppe9qQdkosdTFVXAiuD9XIR+RgYCnigwznnnHPO\nOeecy2LNGqOjMxORUUAJsJeqlndoZpxzzjnnnHPOOdcmzR2jo1MKuq38D/A9D3I455xzzjnnnHPZ\nr6muK52WiORiQY4HVPXxFGl27uYuzjnnnHPOOedcBlNVSdy2M7fo+Cvwkare0VgiVc3qZfr06Vl1\nXF/a7/57mWX+El9GXl7Zt6QqMy/LzFrSVR5ertlXZpl2rs68ZOJ9zMQ8ZdKSrfcnW/Pt15q+a01l\n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\nDFBx5kepVwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
algo_volatilityalgorithm_period_returnalphabenchmark_period_returnbenchmark_volatilitybetacapital_usedcashending_cashending_exposure...starting_cashstarting_exposurestarting_valuetrading_daystransactionstreasury_period_returnvolumetreasuryalgorithmbenchmark
2015-03-01 23:59:00+00:00NaN0.000000NaN0.000000NaNNaN0.000000100000.000000100000.0000000.000000...100000.00.0000000.0000001[]0.02003.177152e-010.02000.0000000.000000
2015-03-02 23:59:00+00:000.198707-0.0177020.0000000.0039840.044721-4.443264-82088.94980117911.05019917911.05019980318.725100...100000.00.0000000.0000002[{u'commission': None, u'amount': 318.72509960...0.02089.806380e+010.0208-0.0177020.003984
2015-03-03 23:59:00+00:000.5519200.030808-2.6286970.0646220.5362220.9781770.00000017911.05019917911.05019985169.721112...100000.080318.72510080318.7251003[]0.02124.429831e+020.02120.0308080.064622
2015-03-04 23:59:00+00:000.5058620.071541-2.5871180.1155380.4852661.0005020.00000017911.05019917911.05019989243.027888...100000.085169.72111285169.7211124[]0.02122.458890e+020.02120.0715410.115538
2015-03-05 23:59:00+00:000.752671-0.001765-1.1190990.0239050.8880330.8312150.00000017911.05019917911.05019981912.416376...100000.089243.02788889243.0278885[]0.02111.174407e+020.0211-0.0017650.023905
2015-03-06 23:59:00+00:000.6839160.017358-0.9536570.0478090.8021850.8359580.00000017911.05019917911.05019983824.757788...100000.081912.41637681912.4163766[]0.02248.419795e+010.02240.0173580.047809
2015-03-07 23:59:00+00:000.6292230.007796-0.8046210.0358570.7423610.8307550.00000017911.05019917911.05019982868.527560...100000.083824.75778883824.7577887[]0.02241.819948e-010.02240.0077960.035857
2015-03-08 23:59:00+00:000.5826340.007796-0.7023570.0358570.6881170.8294810.00000017911.05019917911.05019982868.535780...100000.082868.52756082868.5275608[]0.02243.090035e+010.02240.0077960.035857
2015-03-09 23:59:00+00:000.5481500.020545-0.6303460.0517930.6459040.8313010.00000017911.05019917911.05019984143.427994...100000.082868.53578082868.5357809[]0.02201.283670e+020.02200.0205450.051793
2015-03-10 23:59:00+00:000.6592170.106601-0.6139820.1593630.7762600.8385410.00000017911.05019917911.05019992749.003984...100000.084143.42799484143.42799410[]0.02145.496176e+010.02140.1066010.159363
2015-03-11 23:59:00+00:000.6769760.058792-0.5431430.0996020.8042010.8326650.00000017911.05019917911.05019987968.127493...100000.092749.00398492749.00398411[]0.02114.251194e+010.02110.0587920.099602
2015-03-12 23:59:00+00:000.6460620.058792-0.4961690.0996020.7680970.8319110.00000017911.05019917911.05019987968.127844...100000.087968.12749387968.12749312[]0.02102.909892e+000.02100.0587920.099602
2015-03-13 23:59:00+00:000.6196120.055955-0.4561860.0960560.7373670.8310510.00000017911.05019917911.05019987684.462180...100000.087968.12784487968.12784413[]0.02135.761316e+010.02130.0559550.096056
2015-03-14 23:59:00+00:000.5956700.055923-0.4226100.0960160.7092740.8305260.00000017911.05019917911.05019987681.275015...100000.087684.46218087684.46218014[]0.02134.831006e+010.02130.0559230.096016
2015-03-15 23:59:00+00:000.5748370.068698-0.3953270.1119840.6840890.8309520.00000017911.05019917911.05019988958.725205...100000.087681.27501587681.27501515[]0.02132.945411e+010.02130.0686980.111984
2015-03-16 23:59:00+00:000.5594280.055923-0.3689220.0960160.6668030.8297280.00000017911.05019917911.05019987681.274971...100000.088958.72520588958.72520516[]0.02102.556469e+010.02100.0559230.096016
2015-03-17 23:59:00+00:000.5419160.055605-0.3466650.0956180.6461810.8293680.00000017911.05019917911.05019987649.402400...100000.087681.27497187681.27497117[]0.02069.033750e-030.02060.0556050.095618
2015-03-18 23:59:00+00:000.5359680.030138-0.3260800.0637850.6405840.8277480.00000017911.05019917911.05019985102.788857...100000.087649.40240087649.40240018[]0.01931.649113e+020.01930.0301380.063785
2015-03-19 23:59:00+00:000.5218700.023242-0.3082530.0551650.6241460.8272010.00000017911.05019917911.05019984413.168178...100000.085102.78885785102.78885719[]0.01987.139042e+020.01980.0232420.055165
2015-03-20 23:59:00+00:000.5083570.019145-0.2924240.0500430.6082320.8268470.00000017911.05019917911.05019984003.452092...100000.084413.16817884413.16817820[]0.01931.327258e+020.01930.0191450.050043
2015-03-21 23:59:00+00:000.502787-0.004514-0.2770950.0204700.6026640.8255720.00000017911.05019917911.05019981637.561928...100000.084003.45209284003.45209221[]0.01932.011551e+020.0193-0.0045140.020470
2015-03-22 23:59:00+00:000.5057130.031754-0.2683290.0658040.6057010.8267150.00000017911.05019917911.05019985264.334161...100000.081637.56192881637.56192822[]0.01936.437845e+010.01930.0317540.065804
2015-03-23 23:59:00+00:000.4999380.009942-0.2560170.0385400.5996000.8257610.00000017911.05019917911.05019983083.190875...100000.085264.33416185264.33416123[]0.01926.185039e+010.01920.0099420.038540
2015-03-24 23:59:00+00:000.524027-0.047900-0.243477-0.0337630.6310550.8234230.00000017911.05019917911.05019977298.966489...100000.083083.19087583083.19087524[]0.01884.901803e+020.0188-0.047900-0.033763
2015-03-25 23:59:00+00:000.516200-0.032123-0.236130-0.0140420.6213850.8238260.00000017911.05019917911.05019978876.658129...100000.077298.96648977298.96648925[]0.01939.086237e+010.0193-0.032123-0.014042
2015-03-26 23:59:00+00:000.508068-0.047900-0.225415-0.0337630.6120600.8232440.00000017911.05019917911.05019977298.964143...100000.078876.65812978876.65812926[]0.02012.299378e+000.0201-0.047900-0.033763
2015-03-27 23:59:00+00:000.511301-0.013391-0.2219180.0093730.6158910.8236750.00000017911.05019917911.05019980749.864542...100000.077298.96414377298.96414327[]0.01956.635365e-010.0195-0.0133910.009373
2015-03-28 23:59:00+00:000.5045960.004228-0.2151940.0313970.6075760.8240630.00000017911.05019917911.05019982511.770292...100000.080749.86454280749.86454228[]0.01957.061529e+000.01950.0042280.031397
2015-03-29 23:59:00+00:000.506292-0.030549-0.206815-0.0120740.6105360.8230830.00000017911.05019917911.05019979034.049409...100000.082511.77029282511.77029229[]0.01958.526549e+000.0195-0.030549-0.012074
2015-03-30 23:59:00+00:000.501398-0.010203-0.2017200.0133580.6044350.8234460.00000017911.05019917911.05019981068.619458...100000.079034.04940979034.04940930[]0.01962.965462e+010.0196-0.0102030.013358
..................................................................
2017-05-30 23:59:00+00:000.4842245.9998280.0054077.5258960.5526230.8737180.00000017911.05019917911.050199682071.713144...100000.0703426.294821703426.294821822[]0.02214.015796e+070.02215.9998287.525896
2017-05-31 23:59:00+00:000.4840986.1815010.0061707.7529880.5524380.8737810.00000017911.05019917911.050199700239.043720...100000.0682071.713144682071.713144823[]0.02213.230641e+070.02216.1815017.752988
2017-06-01 23:59:00+00:000.4845726.5563070.0075948.2214950.5528020.8740520.00000017911.05019917911.050199737719.602167...100000.0700239.043720700239.043720824[]0.02214.094488e+070.02216.5563078.221495
2017-06-02 23:59:00+00:000.4846976.8540110.0087168.5936250.5528450.8742040.00000017911.05019917911.050199767490.039841...100000.0737719.602167737719.602167825[]0.02152.236456e+070.02156.8540118.593625
2017-06-03 23:59:00+00:000.4844867.0047710.0092958.7820750.5525830.8742360.00000017911.05019917911.050199782566.007445...100000.0767490.039841767490.039841826[]0.02152.368728e+070.02157.0047718.782075
2017-06-04 23:59:00+00:000.4842147.0948080.0096388.8946220.5522670.8742460.00000017911.05019917911.050199791569.721116...100000.0782566.007445782566.007445827[]0.02152.133202e+070.02157.0948088.894622
2017-06-05 23:59:00+00:000.4849337.5786530.0112399.4994280.5528510.8746070.00000017911.05019917911.050199839954.269594...100000.0791569.721116791569.721116828[]0.02182.237223e+070.02187.5786539.499428
2017-06-06 23:59:00+00:000.4864108.2500270.01320110.3386450.5541230.8752360.00000017911.05019917911.050199907091.633466...100000.0839954.269594839954.269594829[]0.02148.192318e+070.02148.25002710.338645
2017-06-07 23:59:00+00:000.4877447.6109970.0104549.5398580.5552880.8757810.00000017911.05019917911.050199843188.624293...100000.0907091.633466907091.633466830[]0.02184.907043e+070.02187.6109979.539858
2017-06-08 23:59:00+00:000.4882178.0651660.01188710.1075700.5556470.8760550.00000017911.05019917911.050199888605.577689...100000.0843188.624293843188.624293831[]0.02193.401341e+070.02198.06516610.107570
2017-06-09 23:59:00+00:000.4879378.1547270.01218510.2195210.5553240.8760610.00000017911.05019917911.050199897561.669122...100000.0888605.577689888605.577689832[]0.02212.527543e+070.02218.15472710.219521
2017-06-10 23:59:00+00:000.4876508.1410870.01212210.2024710.5549970.8760620.00000017911.05019917911.050199896197.679688...100000.0897561.669122897561.669122833[]0.02213.062079e+070.02218.14108710.202471
2017-06-11 23:59:00+00:000.4878678.5403850.01334510.7015940.5551220.8762480.00000017911.05019917911.050199936127.490040...100000.0896197.679688896197.679688834[]0.02213.083068e+070.02218.54038510.701594
2017-06-12 23:59:00+00:000.4924237.3736930.0079789.2432280.5592420.8778730.00000017911.05019917911.050199819458.210123...100000.0936127.490040936127.490040835[]0.02218.870471e+070.02217.3736939.243228
2017-06-13 23:59:00+00:000.4925527.7106630.0090869.6644410.5592910.8780220.00000017911.05019917911.050199853155.281842...100000.0819458.210123819458.210123836[]0.02214.225130e+070.02217.7106639.664441
2017-06-14 23:59:00+00:000.4958906.7863800.0047818.5090860.5623130.8791960.00000017911.05019917911.050199760726.919461...100000.0853155.281842853155.281842837[]0.02156.318309e+070.02156.7863808.509086
2017-06-15 23:59:00+00:000.4956146.7455930.0046138.4581030.5619970.8792000.00000017911.05019917911.050199756648.279624...100000.0760726.919461760726.919461838[]0.02161.046775e+080.02166.7455938.458103
2017-06-16 23:59:00+00:000.4954676.9400670.0053178.7011950.5617950.8792530.00000017911.05019917911.050199776095.617533...100000.0756648.279624756648.279624839[]0.02164.347997e+070.02166.9400678.701195
2017-06-17 23:59:00+00:000.4964957.4887450.0070119.3870430.5626710.8796950.00000017911.05019917911.050199830963.408991...100000.0776095.617533776095.617533840[]0.02163.680092e+070.02167.4887459.387043
2017-06-18 23:59:00+00:000.4968427.1226960.0055258.9294820.5629360.8798920.00000017911.05019917911.050199794358.565731...100000.0830963.408991830963.408991841[]0.02164.641176e+070.02167.1226968.929482
2017-06-19 23:59:00+00:000.4968677.4119300.0064929.2910240.5628910.8800030.00000017911.05019917911.050199823281.942712...100000.0794358.565731794358.565731842[]0.02192.829441e+070.02197.4119309.291024
2017-06-20 23:59:00+00:000.4968287.6826960.0073779.6294820.5627880.8800930.00000017911.05019917911.050199850358.566696...100000.0823281.942712823281.942712843[]0.02163.690385e+070.02167.6826969.629482
2017-06-21 23:59:00+00:000.4966627.5297080.0068039.4382470.5625760.8801290.00000017911.05019917911.050199835059.760956...100000.0850358.566696850358.566696844[]0.02164.381566e+070.02167.5297089.438247
2017-06-22 23:59:00+00:000.4964537.6998320.0073689.6509020.5623190.8801610.00000017911.05019917911.050199852072.149759...100000.0835059.760956835059.760956845[]0.02152.230465e+070.02157.6998329.650902
2017-06-23 23:59:00+00:000.4961657.6890710.0073219.6374500.5619920.8801620.00000017911.05019917911.050199850996.015936...100000.0852072.149759852072.149759846[]0.02151.309023e+070.02157.6890719.637450
2017-06-24 23:59:00+00:000.4971047.1583360.0051468.9740320.5628050.8805460.00000017911.05019917911.050199797922.562062...100000.0850996.015936850996.015936847[]0.02153.408856e+070.02157.1583368.974032
2017-06-25 23:59:00+00:000.4968557.0831820.0048578.8800890.5625160.8805570.00000017911.05019917911.050199790407.126821...100000.0797922.562062797922.562062848[]0.02154.156020e+070.02157.0831828.880089
2017-06-26 23:59:00+00:000.4969566.8134970.0037698.5429840.5625550.8806750.00000017911.05019917911.050199763438.699576...100000.0790407.126821790407.126821849[]0.02147.384048e+070.02146.8134978.542984
2017-06-27 23:59:00+00:000.4972387.1791110.0049719.0000000.5627470.8808670.00000017911.05019917911.050199800000.000000...100000.0763438.699576763438.699576850[]0.02216.242632e+070.02217.1791119.000000
2017-06-28 23:59:00+00:000.4969467.1886720.0053149.0000000.5624190.8808630.00000017911.05019917911.050199800956.175302...100000.0800000.000000800000.000000851[]0.02213.967684e+070.02217.1886729.000000
\n", + "

851 rows × 45 columns

\n", + "
" + ], + "text/plain": [ + " algo_volatility algorithm_period_return alpha \\\n", + "2015-03-01 23:59:00+00:00 NaN 0.000000 NaN \n", + "2015-03-02 23:59:00+00:00 0.198707 -0.017702 0.000000 \n", + "2015-03-03 23:59:00+00:00 0.551920 0.030808 -2.628697 \n", + "2015-03-04 23:59:00+00:00 0.505862 0.071541 -2.587118 \n", + "2015-03-05 23:59:00+00:00 0.752671 -0.001765 -1.119099 \n", + "2015-03-06 23:59:00+00:00 0.683916 0.017358 -0.953657 \n", + "2015-03-07 23:59:00+00:00 0.629223 0.007796 -0.804621 \n", + "2015-03-08 23:59:00+00:00 0.582634 0.007796 -0.702357 \n", + "2015-03-09 23:59:00+00:00 0.548150 0.020545 -0.630346 \n", + "2015-03-10 23:59:00+00:00 0.659217 0.106601 -0.613982 \n", + "2015-03-11 23:59:00+00:00 0.676976 0.058792 -0.543143 \n", + "2015-03-12 23:59:00+00:00 0.646062 0.058792 -0.496169 \n", + "2015-03-13 23:59:00+00:00 0.619612 0.055955 -0.456186 \n", + "2015-03-14 23:59:00+00:00 0.595670 0.055923 -0.422610 \n", + "2015-03-15 23:59:00+00:00 0.574837 0.068698 -0.395327 \n", + "2015-03-16 23:59:00+00:00 0.559428 0.055923 -0.368922 \n", + "2015-03-17 23:59:00+00:00 0.541916 0.055605 -0.346665 \n", + "2015-03-18 23:59:00+00:00 0.535968 0.030138 -0.326080 \n", + "2015-03-19 23:59:00+00:00 0.521870 0.023242 -0.308253 \n", + "2015-03-20 23:59:00+00:00 0.508357 0.019145 -0.292424 \n", + "2015-03-21 23:59:00+00:00 0.502787 -0.004514 -0.277095 \n", + "2015-03-22 23:59:00+00:00 0.505713 0.031754 -0.268329 \n", + "2015-03-23 23:59:00+00:00 0.499938 0.009942 -0.256017 \n", + "2015-03-24 23:59:00+00:00 0.524027 -0.047900 -0.243477 \n", + "2015-03-25 23:59:00+00:00 0.516200 -0.032123 -0.236130 \n", + "2015-03-26 23:59:00+00:00 0.508068 -0.047900 -0.225415 \n", + "2015-03-27 23:59:00+00:00 0.511301 -0.013391 -0.221918 \n", + "2015-03-28 23:59:00+00:00 0.504596 0.004228 -0.215194 \n", + "2015-03-29 23:59:00+00:00 0.506292 -0.030549 -0.206815 \n", + "2015-03-30 23:59:00+00:00 0.501398 -0.010203 -0.201720 \n", + "... ... ... ... \n", + "2017-05-30 23:59:00+00:00 0.484224 5.999828 0.005407 \n", + "2017-05-31 23:59:00+00:00 0.484098 6.181501 0.006170 \n", + "2017-06-01 23:59:00+00:00 0.484572 6.556307 0.007594 \n", + "2017-06-02 23:59:00+00:00 0.484697 6.854011 0.008716 \n", + "2017-06-03 23:59:00+00:00 0.484486 7.004771 0.009295 \n", + "2017-06-04 23:59:00+00:00 0.484214 7.094808 0.009638 \n", + "2017-06-05 23:59:00+00:00 0.484933 7.578653 0.011239 \n", + "2017-06-06 23:59:00+00:00 0.486410 8.250027 0.013201 \n", + "2017-06-07 23:59:00+00:00 0.487744 7.610997 0.010454 \n", + "2017-06-08 23:59:00+00:00 0.488217 8.065166 0.011887 \n", + "2017-06-09 23:59:00+00:00 0.487937 8.154727 0.012185 \n", + "2017-06-10 23:59:00+00:00 0.487650 8.141087 0.012122 \n", + "2017-06-11 23:59:00+00:00 0.487867 8.540385 0.013345 \n", + "2017-06-12 23:59:00+00:00 0.492423 7.373693 0.007978 \n", + "2017-06-13 23:59:00+00:00 0.492552 7.710663 0.009086 \n", + "2017-06-14 23:59:00+00:00 0.495890 6.786380 0.004781 \n", + "2017-06-15 23:59:00+00:00 0.495614 6.745593 0.004613 \n", + "2017-06-16 23:59:00+00:00 0.495467 6.940067 0.005317 \n", + "2017-06-17 23:59:00+00:00 0.496495 7.488745 0.007011 \n", + "2017-06-18 23:59:00+00:00 0.496842 7.122696 0.005525 \n", + "2017-06-19 23:59:00+00:00 0.496867 7.411930 0.006492 \n", + "2017-06-20 23:59:00+00:00 0.496828 7.682696 0.007377 \n", + "2017-06-21 23:59:00+00:00 0.496662 7.529708 0.006803 \n", + "2017-06-22 23:59:00+00:00 0.496453 7.699832 0.007368 \n", + "2017-06-23 23:59:00+00:00 0.496165 7.689071 0.007321 \n", + "2017-06-24 23:59:00+00:00 0.497104 7.158336 0.005146 \n", + "2017-06-25 23:59:00+00:00 0.496855 7.083182 0.004857 \n", + "2017-06-26 23:59:00+00:00 0.496956 6.813497 0.003769 \n", + "2017-06-27 23:59:00+00:00 0.497238 7.179111 0.004971 \n", + "2017-06-28 23:59:00+00:00 0.496946 7.188672 0.005314 \n", + "\n", + " benchmark_period_return benchmark_volatility \\\n", + "2015-03-01 23:59:00+00:00 0.000000 NaN \n", + "2015-03-02 23:59:00+00:00 0.003984 0.044721 \n", + "2015-03-03 23:59:00+00:00 0.064622 0.536222 \n", + "2015-03-04 23:59:00+00:00 0.115538 0.485266 \n", + "2015-03-05 23:59:00+00:00 0.023905 0.888033 \n", + "2015-03-06 23:59:00+00:00 0.047809 0.802185 \n", + "2015-03-07 23:59:00+00:00 0.035857 0.742361 \n", + "2015-03-08 23:59:00+00:00 0.035857 0.688117 \n", + "2015-03-09 23:59:00+00:00 0.051793 0.645904 \n", + "2015-03-10 23:59:00+00:00 0.159363 0.776260 \n", + "2015-03-11 23:59:00+00:00 0.099602 0.804201 \n", + "2015-03-12 23:59:00+00:00 0.099602 0.768097 \n", + "2015-03-13 23:59:00+00:00 0.096056 0.737367 \n", + "2015-03-14 23:59:00+00:00 0.096016 0.709274 \n", + "2015-03-15 23:59:00+00:00 0.111984 0.684089 \n", + "2015-03-16 23:59:00+00:00 0.096016 0.666803 \n", + "2015-03-17 23:59:00+00:00 0.095618 0.646181 \n", + "2015-03-18 23:59:00+00:00 0.063785 0.640584 \n", + "2015-03-19 23:59:00+00:00 0.055165 0.624146 \n", + "2015-03-20 23:59:00+00:00 0.050043 0.608232 \n", + "2015-03-21 23:59:00+00:00 0.020470 0.602664 \n", + "2015-03-22 23:59:00+00:00 0.065804 0.605701 \n", + "2015-03-23 23:59:00+00:00 0.038540 0.599600 \n", + "2015-03-24 23:59:00+00:00 -0.033763 0.631055 \n", + "2015-03-25 23:59:00+00:00 -0.014042 0.621385 \n", + "2015-03-26 23:59:00+00:00 -0.033763 0.612060 \n", + "2015-03-27 23:59:00+00:00 0.009373 0.615891 \n", + "2015-03-28 23:59:00+00:00 0.031397 0.607576 \n", + "2015-03-29 23:59:00+00:00 -0.012074 0.610536 \n", + "2015-03-30 23:59:00+00:00 0.013358 0.604435 \n", + "... ... ... \n", + "2017-05-30 23:59:00+00:00 7.525896 0.552623 \n", + "2017-05-31 23:59:00+00:00 7.752988 0.552438 \n", + "2017-06-01 23:59:00+00:00 8.221495 0.552802 \n", + "2017-06-02 23:59:00+00:00 8.593625 0.552845 \n", + "2017-06-03 23:59:00+00:00 8.782075 0.552583 \n", + "2017-06-04 23:59:00+00:00 8.894622 0.552267 \n", + "2017-06-05 23:59:00+00:00 9.499428 0.552851 \n", + "2017-06-06 23:59:00+00:00 10.338645 0.554123 \n", + "2017-06-07 23:59:00+00:00 9.539858 0.555288 \n", + "2017-06-08 23:59:00+00:00 10.107570 0.555647 \n", + "2017-06-09 23:59:00+00:00 10.219521 0.555324 \n", + "2017-06-10 23:59:00+00:00 10.202471 0.554997 \n", + "2017-06-11 23:59:00+00:00 10.701594 0.555122 \n", + "2017-06-12 23:59:00+00:00 9.243228 0.559242 \n", + "2017-06-13 23:59:00+00:00 9.664441 0.559291 \n", + "2017-06-14 23:59:00+00:00 8.509086 0.562313 \n", + "2017-06-15 23:59:00+00:00 8.458103 0.561997 \n", + "2017-06-16 23:59:00+00:00 8.701195 0.561795 \n", + "2017-06-17 23:59:00+00:00 9.387043 0.562671 \n", + "2017-06-18 23:59:00+00:00 8.929482 0.562936 \n", + "2017-06-19 23:59:00+00:00 9.291024 0.562891 \n", + "2017-06-20 23:59:00+00:00 9.629482 0.562788 \n", + "2017-06-21 23:59:00+00:00 9.438247 0.562576 \n", + "2017-06-22 23:59:00+00:00 9.650902 0.562319 \n", + "2017-06-23 23:59:00+00:00 9.637450 0.561992 \n", + "2017-06-24 23:59:00+00:00 8.974032 0.562805 \n", + "2017-06-25 23:59:00+00:00 8.880089 0.562516 \n", + "2017-06-26 23:59:00+00:00 8.542984 0.562555 \n", + "2017-06-27 23:59:00+00:00 9.000000 0.562747 \n", + "2017-06-28 23:59:00+00:00 9.000000 0.562419 \n", + "\n", + " beta capital_used cash \\\n", + "2015-03-01 23:59:00+00:00 NaN 0.000000 100000.000000 \n", + "2015-03-02 23:59:00+00:00 -4.443264 -82088.949801 17911.050199 \n", + "2015-03-03 23:59:00+00:00 0.978177 0.000000 17911.050199 \n", + "2015-03-04 23:59:00+00:00 1.000502 0.000000 17911.050199 \n", + "2015-03-05 23:59:00+00:00 0.831215 0.000000 17911.050199 \n", + "2015-03-06 23:59:00+00:00 0.835958 0.000000 17911.050199 \n", + "2015-03-07 23:59:00+00:00 0.830755 0.000000 17911.050199 \n", + "2015-03-08 23:59:00+00:00 0.829481 0.000000 17911.050199 \n", + "2015-03-09 23:59:00+00:00 0.831301 0.000000 17911.050199 \n", + "2015-03-10 23:59:00+00:00 0.838541 0.000000 17911.050199 \n", + "2015-03-11 23:59:00+00:00 0.832665 0.000000 17911.050199 \n", + "2015-03-12 23:59:00+00:00 0.831911 0.000000 17911.050199 \n", + "2015-03-13 23:59:00+00:00 0.831051 0.000000 17911.050199 \n", + "2015-03-14 23:59:00+00:00 0.830526 0.000000 17911.050199 \n", + "2015-03-15 23:59:00+00:00 0.830952 0.000000 17911.050199 \n", + "2015-03-16 23:59:00+00:00 0.829728 0.000000 17911.050199 \n", + "2015-03-17 23:59:00+00:00 0.829368 0.000000 17911.050199 \n", + "2015-03-18 23:59:00+00:00 0.827748 0.000000 17911.050199 \n", + "2015-03-19 23:59:00+00:00 0.827201 0.000000 17911.050199 \n", + "2015-03-20 23:59:00+00:00 0.826847 0.000000 17911.050199 \n", + "2015-03-21 23:59:00+00:00 0.825572 0.000000 17911.050199 \n", + "2015-03-22 23:59:00+00:00 0.826715 0.000000 17911.050199 \n", + "2015-03-23 23:59:00+00:00 0.825761 0.000000 17911.050199 \n", + "2015-03-24 23:59:00+00:00 0.823423 0.000000 17911.050199 \n", + "2015-03-25 23:59:00+00:00 0.823826 0.000000 17911.050199 \n", + "2015-03-26 23:59:00+00:00 0.823244 0.000000 17911.050199 \n", + "2015-03-27 23:59:00+00:00 0.823675 0.000000 17911.050199 \n", + "2015-03-28 23:59:00+00:00 0.824063 0.000000 17911.050199 \n", + "2015-03-29 23:59:00+00:00 0.823083 0.000000 17911.050199 \n", + "2015-03-30 23:59:00+00:00 0.823446 0.000000 17911.050199 \n", + "... ... ... ... \n", + "2017-05-30 23:59:00+00:00 0.873718 0.000000 17911.050199 \n", + "2017-05-31 23:59:00+00:00 0.873781 0.000000 17911.050199 \n", + "2017-06-01 23:59:00+00:00 0.874052 0.000000 17911.050199 \n", + "2017-06-02 23:59:00+00:00 0.874204 0.000000 17911.050199 \n", + "2017-06-03 23:59:00+00:00 0.874236 0.000000 17911.050199 \n", + "2017-06-04 23:59:00+00:00 0.874246 0.000000 17911.050199 \n", + "2017-06-05 23:59:00+00:00 0.874607 0.000000 17911.050199 \n", + "2017-06-06 23:59:00+00:00 0.875236 0.000000 17911.050199 \n", + "2017-06-07 23:59:00+00:00 0.875781 0.000000 17911.050199 \n", + "2017-06-08 23:59:00+00:00 0.876055 0.000000 17911.050199 \n", + "2017-06-09 23:59:00+00:00 0.876061 0.000000 17911.050199 \n", + "2017-06-10 23:59:00+00:00 0.876062 0.000000 17911.050199 \n", + "2017-06-11 23:59:00+00:00 0.876248 0.000000 17911.050199 \n", + "2017-06-12 23:59:00+00:00 0.877873 0.000000 17911.050199 \n", + "2017-06-13 23:59:00+00:00 0.878022 0.000000 17911.050199 \n", + "2017-06-14 23:59:00+00:00 0.879196 0.000000 17911.050199 \n", + "2017-06-15 23:59:00+00:00 0.879200 0.000000 17911.050199 \n", + "2017-06-16 23:59:00+00:00 0.879253 0.000000 17911.050199 \n", + "2017-06-17 23:59:00+00:00 0.879695 0.000000 17911.050199 \n", + "2017-06-18 23:59:00+00:00 0.879892 0.000000 17911.050199 \n", + "2017-06-19 23:59:00+00:00 0.880003 0.000000 17911.050199 \n", + "2017-06-20 23:59:00+00:00 0.880093 0.000000 17911.050199 \n", + "2017-06-21 23:59:00+00:00 0.880129 0.000000 17911.050199 \n", + "2017-06-22 23:59:00+00:00 0.880161 0.000000 17911.050199 \n", + "2017-06-23 23:59:00+00:00 0.880162 0.000000 17911.050199 \n", + "2017-06-24 23:59:00+00:00 0.880546 0.000000 17911.050199 \n", + "2017-06-25 23:59:00+00:00 0.880557 0.000000 17911.050199 \n", + "2017-06-26 23:59:00+00:00 0.880675 0.000000 17911.050199 \n", + "2017-06-27 23:59:00+00:00 0.880867 0.000000 17911.050199 \n", + "2017-06-28 23:59:00+00:00 0.880863 0.000000 17911.050199 \n", + "\n", + " ending_cash ending_exposure ... \\\n", + "2015-03-01 23:59:00+00:00 100000.000000 0.000000 ... \n", + "2015-03-02 23:59:00+00:00 17911.050199 80318.725100 ... \n", + "2015-03-03 23:59:00+00:00 17911.050199 85169.721112 ... \n", + "2015-03-04 23:59:00+00:00 17911.050199 89243.027888 ... \n", + "2015-03-05 23:59:00+00:00 17911.050199 81912.416376 ... \n", + "2015-03-06 23:59:00+00:00 17911.050199 83824.757788 ... \n", + "2015-03-07 23:59:00+00:00 17911.050199 82868.527560 ... \n", + "2015-03-08 23:59:00+00:00 17911.050199 82868.535780 ... \n", + "2015-03-09 23:59:00+00:00 17911.050199 84143.427994 ... \n", + "2015-03-10 23:59:00+00:00 17911.050199 92749.003984 ... \n", + "2015-03-11 23:59:00+00:00 17911.050199 87968.127493 ... \n", + "2015-03-12 23:59:00+00:00 17911.050199 87968.127844 ... \n", + "2015-03-13 23:59:00+00:00 17911.050199 87684.462180 ... \n", + "2015-03-14 23:59:00+00:00 17911.050199 87681.275015 ... \n", + "2015-03-15 23:59:00+00:00 17911.050199 88958.725205 ... \n", + "2015-03-16 23:59:00+00:00 17911.050199 87681.274971 ... \n", + "2015-03-17 23:59:00+00:00 17911.050199 87649.402400 ... \n", + "2015-03-18 23:59:00+00:00 17911.050199 85102.788857 ... \n", + "2015-03-19 23:59:00+00:00 17911.050199 84413.168178 ... \n", + "2015-03-20 23:59:00+00:00 17911.050199 84003.452092 ... \n", + "2015-03-21 23:59:00+00:00 17911.050199 81637.561928 ... \n", + "2015-03-22 23:59:00+00:00 17911.050199 85264.334161 ... \n", + "2015-03-23 23:59:00+00:00 17911.050199 83083.190875 ... \n", + "2015-03-24 23:59:00+00:00 17911.050199 77298.966489 ... \n", + "2015-03-25 23:59:00+00:00 17911.050199 78876.658129 ... \n", + "2015-03-26 23:59:00+00:00 17911.050199 77298.964143 ... \n", + "2015-03-27 23:59:00+00:00 17911.050199 80749.864542 ... \n", + "2015-03-28 23:59:00+00:00 17911.050199 82511.770292 ... \n", + "2015-03-29 23:59:00+00:00 17911.050199 79034.049409 ... \n", + "2015-03-30 23:59:00+00:00 17911.050199 81068.619458 ... \n", + "... ... ... ... \n", + "2017-05-30 23:59:00+00:00 17911.050199 682071.713144 ... \n", + "2017-05-31 23:59:00+00:00 17911.050199 700239.043720 ... \n", + "2017-06-01 23:59:00+00:00 17911.050199 737719.602167 ... \n", + "2017-06-02 23:59:00+00:00 17911.050199 767490.039841 ... \n", + "2017-06-03 23:59:00+00:00 17911.050199 782566.007445 ... \n", + "2017-06-04 23:59:00+00:00 17911.050199 791569.721116 ... \n", + "2017-06-05 23:59:00+00:00 17911.050199 839954.269594 ... \n", + "2017-06-06 23:59:00+00:00 17911.050199 907091.633466 ... \n", + "2017-06-07 23:59:00+00:00 17911.050199 843188.624293 ... \n", + "2017-06-08 23:59:00+00:00 17911.050199 888605.577689 ... \n", + "2017-06-09 23:59:00+00:00 17911.050199 897561.669122 ... \n", + "2017-06-10 23:59:00+00:00 17911.050199 896197.679688 ... \n", + "2017-06-11 23:59:00+00:00 17911.050199 936127.490040 ... \n", + "2017-06-12 23:59:00+00:00 17911.050199 819458.210123 ... \n", + "2017-06-13 23:59:00+00:00 17911.050199 853155.281842 ... \n", + "2017-06-14 23:59:00+00:00 17911.050199 760726.919461 ... \n", + "2017-06-15 23:59:00+00:00 17911.050199 756648.279624 ... \n", + "2017-06-16 23:59:00+00:00 17911.050199 776095.617533 ... \n", + "2017-06-17 23:59:00+00:00 17911.050199 830963.408991 ... \n", + "2017-06-18 23:59:00+00:00 17911.050199 794358.565731 ... \n", + "2017-06-19 23:59:00+00:00 17911.050199 823281.942712 ... \n", + "2017-06-20 23:59:00+00:00 17911.050199 850358.566696 ... \n", + "2017-06-21 23:59:00+00:00 17911.050199 835059.760956 ... \n", + "2017-06-22 23:59:00+00:00 17911.050199 852072.149759 ... \n", + "2017-06-23 23:59:00+00:00 17911.050199 850996.015936 ... \n", + "2017-06-24 23:59:00+00:00 17911.050199 797922.562062 ... \n", + "2017-06-25 23:59:00+00:00 17911.050199 790407.126821 ... \n", + "2017-06-26 23:59:00+00:00 17911.050199 763438.699576 ... \n", + "2017-06-27 23:59:00+00:00 17911.050199 800000.000000 ... \n", + "2017-06-28 23:59:00+00:00 17911.050199 800956.175302 ... \n", + "\n", + " starting_cash starting_exposure starting_value \\\n", + "2015-03-01 23:59:00+00:00 100000.0 0.000000 0.000000 \n", + "2015-03-02 23:59:00+00:00 100000.0 0.000000 0.000000 \n", + "2015-03-03 23:59:00+00:00 100000.0 80318.725100 80318.725100 \n", + "2015-03-04 23:59:00+00:00 100000.0 85169.721112 85169.721112 \n", + "2015-03-05 23:59:00+00:00 100000.0 89243.027888 89243.027888 \n", + "2015-03-06 23:59:00+00:00 100000.0 81912.416376 81912.416376 \n", + "2015-03-07 23:59:00+00:00 100000.0 83824.757788 83824.757788 \n", + "2015-03-08 23:59:00+00:00 100000.0 82868.527560 82868.527560 \n", + "2015-03-09 23:59:00+00:00 100000.0 82868.535780 82868.535780 \n", + "2015-03-10 23:59:00+00:00 100000.0 84143.427994 84143.427994 \n", + "2015-03-11 23:59:00+00:00 100000.0 92749.003984 92749.003984 \n", + "2015-03-12 23:59:00+00:00 100000.0 87968.127493 87968.127493 \n", + "2015-03-13 23:59:00+00:00 100000.0 87968.127844 87968.127844 \n", + "2015-03-14 23:59:00+00:00 100000.0 87684.462180 87684.462180 \n", + "2015-03-15 23:59:00+00:00 100000.0 87681.275015 87681.275015 \n", + "2015-03-16 23:59:00+00:00 100000.0 88958.725205 88958.725205 \n", + "2015-03-17 23:59:00+00:00 100000.0 87681.274971 87681.274971 \n", + "2015-03-18 23:59:00+00:00 100000.0 87649.402400 87649.402400 \n", + "2015-03-19 23:59:00+00:00 100000.0 85102.788857 85102.788857 \n", + "2015-03-20 23:59:00+00:00 100000.0 84413.168178 84413.168178 \n", + "2015-03-21 23:59:00+00:00 100000.0 84003.452092 84003.452092 \n", + "2015-03-22 23:59:00+00:00 100000.0 81637.561928 81637.561928 \n", + "2015-03-23 23:59:00+00:00 100000.0 85264.334161 85264.334161 \n", + "2015-03-24 23:59:00+00:00 100000.0 83083.190875 83083.190875 \n", + "2015-03-25 23:59:00+00:00 100000.0 77298.966489 77298.966489 \n", + "2015-03-26 23:59:00+00:00 100000.0 78876.658129 78876.658129 \n", + "2015-03-27 23:59:00+00:00 100000.0 77298.964143 77298.964143 \n", + "2015-03-28 23:59:00+00:00 100000.0 80749.864542 80749.864542 \n", + "2015-03-29 23:59:00+00:00 100000.0 82511.770292 82511.770292 \n", + "2015-03-30 23:59:00+00:00 100000.0 79034.049409 79034.049409 \n", + "... ... ... ... \n", + "2017-05-30 23:59:00+00:00 100000.0 703426.294821 703426.294821 \n", + "2017-05-31 23:59:00+00:00 100000.0 682071.713144 682071.713144 \n", + "2017-06-01 23:59:00+00:00 100000.0 700239.043720 700239.043720 \n", + "2017-06-02 23:59:00+00:00 100000.0 737719.602167 737719.602167 \n", + "2017-06-03 23:59:00+00:00 100000.0 767490.039841 767490.039841 \n", + "2017-06-04 23:59:00+00:00 100000.0 782566.007445 782566.007445 \n", + "2017-06-05 23:59:00+00:00 100000.0 791569.721116 791569.721116 \n", + "2017-06-06 23:59:00+00:00 100000.0 839954.269594 839954.269594 \n", + "2017-06-07 23:59:00+00:00 100000.0 907091.633466 907091.633466 \n", + "2017-06-08 23:59:00+00:00 100000.0 843188.624293 843188.624293 \n", + "2017-06-09 23:59:00+00:00 100000.0 888605.577689 888605.577689 \n", + "2017-06-10 23:59:00+00:00 100000.0 897561.669122 897561.669122 \n", + "2017-06-11 23:59:00+00:00 100000.0 896197.679688 896197.679688 \n", + "2017-06-12 23:59:00+00:00 100000.0 936127.490040 936127.490040 \n", + "2017-06-13 23:59:00+00:00 100000.0 819458.210123 819458.210123 \n", + "2017-06-14 23:59:00+00:00 100000.0 853155.281842 853155.281842 \n", + "2017-06-15 23:59:00+00:00 100000.0 760726.919461 760726.919461 \n", + "2017-06-16 23:59:00+00:00 100000.0 756648.279624 756648.279624 \n", + "2017-06-17 23:59:00+00:00 100000.0 776095.617533 776095.617533 \n", + "2017-06-18 23:59:00+00:00 100000.0 830963.408991 830963.408991 \n", + "2017-06-19 23:59:00+00:00 100000.0 794358.565731 794358.565731 \n", + "2017-06-20 23:59:00+00:00 100000.0 823281.942712 823281.942712 \n", + "2017-06-21 23:59:00+00:00 100000.0 850358.566696 850358.566696 \n", + "2017-06-22 23:59:00+00:00 100000.0 835059.760956 835059.760956 \n", + "2017-06-23 23:59:00+00:00 100000.0 852072.149759 852072.149759 \n", + "2017-06-24 23:59:00+00:00 100000.0 850996.015936 850996.015936 \n", + "2017-06-25 23:59:00+00:00 100000.0 797922.562062 797922.562062 \n", + "2017-06-26 23:59:00+00:00 100000.0 790407.126821 790407.126821 \n", + "2017-06-27 23:59:00+00:00 100000.0 763438.699576 763438.699576 \n", + "2017-06-28 23:59:00+00:00 100000.0 800000.000000 800000.000000 \n", + "\n", + " trading_days \\\n", + "2015-03-01 23:59:00+00:00 1 \n", + "2015-03-02 23:59:00+00:00 2 \n", + "2015-03-03 23:59:00+00:00 3 \n", + "2015-03-04 23:59:00+00:00 4 \n", + "2015-03-05 23:59:00+00:00 5 \n", + "2015-03-06 23:59:00+00:00 6 \n", + "2015-03-07 23:59:00+00:00 7 \n", + "2015-03-08 23:59:00+00:00 8 \n", + "2015-03-09 23:59:00+00:00 9 \n", + "2015-03-10 23:59:00+00:00 10 \n", + "2015-03-11 23:59:00+00:00 11 \n", + "2015-03-12 23:59:00+00:00 12 \n", + "2015-03-13 23:59:00+00:00 13 \n", + "2015-03-14 23:59:00+00:00 14 \n", + "2015-03-15 23:59:00+00:00 15 \n", + "2015-03-16 23:59:00+00:00 16 \n", + "2015-03-17 23:59:00+00:00 17 \n", + "2015-03-18 23:59:00+00:00 18 \n", + "2015-03-19 23:59:00+00:00 19 \n", + "2015-03-20 23:59:00+00:00 20 \n", + "2015-03-21 23:59:00+00:00 21 \n", + "2015-03-22 23:59:00+00:00 22 \n", + "2015-03-23 23:59:00+00:00 23 \n", + "2015-03-24 23:59:00+00:00 24 \n", + "2015-03-25 23:59:00+00:00 25 \n", + "2015-03-26 23:59:00+00:00 26 \n", + "2015-03-27 23:59:00+00:00 27 \n", + "2015-03-28 23:59:00+00:00 28 \n", + "2015-03-29 23:59:00+00:00 29 \n", + "2015-03-30 23:59:00+00:00 30 \n", + "... ... \n", + "2017-05-30 23:59:00+00:00 822 \n", + "2017-05-31 23:59:00+00:00 823 \n", + "2017-06-01 23:59:00+00:00 824 \n", + "2017-06-02 23:59:00+00:00 825 \n", + "2017-06-03 23:59:00+00:00 826 \n", + "2017-06-04 23:59:00+00:00 827 \n", + "2017-06-05 23:59:00+00:00 828 \n", + "2017-06-06 23:59:00+00:00 829 \n", + "2017-06-07 23:59:00+00:00 830 \n", + "2017-06-08 23:59:00+00:00 831 \n", + "2017-06-09 23:59:00+00:00 832 \n", + "2017-06-10 23:59:00+00:00 833 \n", + "2017-06-11 23:59:00+00:00 834 \n", + "2017-06-12 23:59:00+00:00 835 \n", + "2017-06-13 23:59:00+00:00 836 \n", + "2017-06-14 23:59:00+00:00 837 \n", + "2017-06-15 23:59:00+00:00 838 \n", + "2017-06-16 23:59:00+00:00 839 \n", + "2017-06-17 23:59:00+00:00 840 \n", + "2017-06-18 23:59:00+00:00 841 \n", + "2017-06-19 23:59:00+00:00 842 \n", + "2017-06-20 23:59:00+00:00 843 \n", + "2017-06-21 23:59:00+00:00 844 \n", + "2017-06-22 23:59:00+00:00 845 \n", + "2017-06-23 23:59:00+00:00 846 \n", + "2017-06-24 23:59:00+00:00 847 \n", + "2017-06-25 23:59:00+00:00 848 \n", + "2017-06-26 23:59:00+00:00 849 \n", + "2017-06-27 23:59:00+00:00 850 \n", + "2017-06-28 23:59:00+00:00 851 \n", + "\n", + " transactions \\\n", + "2015-03-01 23:59:00+00:00 [] \n", + "2015-03-02 23:59:00+00:00 [{u'commission': None, u'amount': 318.72509960... \n", + "2015-03-03 23:59:00+00:00 [] \n", + "2015-03-04 23:59:00+00:00 [] \n", + "2015-03-05 23:59:00+00:00 [] \n", + "2015-03-06 23:59:00+00:00 [] \n", + "2015-03-07 23:59:00+00:00 [] \n", + "2015-03-08 23:59:00+00:00 [] \n", + "2015-03-09 23:59:00+00:00 [] \n", + "2015-03-10 23:59:00+00:00 [] \n", + "2015-03-11 23:59:00+00:00 [] \n", + "2015-03-12 23:59:00+00:00 [] \n", + "2015-03-13 23:59:00+00:00 [] \n", + "2015-03-14 23:59:00+00:00 [] \n", + "2015-03-15 23:59:00+00:00 [] \n", + "2015-03-16 23:59:00+00:00 [] \n", + "2015-03-17 23:59:00+00:00 [] \n", + "2015-03-18 23:59:00+00:00 [] \n", + "2015-03-19 23:59:00+00:00 [] \n", + "2015-03-20 23:59:00+00:00 [] \n", + "2015-03-21 23:59:00+00:00 [] \n", + "2015-03-22 23:59:00+00:00 [] \n", + "2015-03-23 23:59:00+00:00 [] \n", + "2015-03-24 23:59:00+00:00 [] \n", + "2015-03-25 23:59:00+00:00 [] \n", + "2015-03-26 23:59:00+00:00 [] \n", + "2015-03-27 23:59:00+00:00 [] \n", + "2015-03-28 23:59:00+00:00 [] \n", + "2015-03-29 23:59:00+00:00 [] \n", + "2015-03-30 23:59:00+00:00 [] \n", + "... ... \n", + "2017-05-30 23:59:00+00:00 [] \n", + "2017-05-31 23:59:00+00:00 [] \n", + "2017-06-01 23:59:00+00:00 [] \n", + "2017-06-02 23:59:00+00:00 [] \n", + "2017-06-03 23:59:00+00:00 [] \n", + "2017-06-04 23:59:00+00:00 [] \n", + "2017-06-05 23:59:00+00:00 [] \n", + "2017-06-06 23:59:00+00:00 [] \n", + "2017-06-07 23:59:00+00:00 [] \n", + "2017-06-08 23:59:00+00:00 [] \n", + "2017-06-09 23:59:00+00:00 [] \n", + "2017-06-10 23:59:00+00:00 [] \n", + "2017-06-11 23:59:00+00:00 [] \n", + "2017-06-12 23:59:00+00:00 [] \n", + "2017-06-13 23:59:00+00:00 [] \n", + "2017-06-14 23:59:00+00:00 [] \n", + "2017-06-15 23:59:00+00:00 [] \n", + "2017-06-16 23:59:00+00:00 [] \n", + "2017-06-17 23:59:00+00:00 [] \n", + "2017-06-18 23:59:00+00:00 [] \n", + "2017-06-19 23:59:00+00:00 [] \n", + "2017-06-20 23:59:00+00:00 [] \n", + "2017-06-21 23:59:00+00:00 [] \n", + "2017-06-22 23:59:00+00:00 [] \n", + "2017-06-23 23:59:00+00:00 [] \n", + "2017-06-24 23:59:00+00:00 [] \n", + "2017-06-25 23:59:00+00:00 [] \n", + "2017-06-26 23:59:00+00:00 [] \n", + "2017-06-27 23:59:00+00:00 [] \n", + "2017-06-28 23:59:00+00:00 [] \n", + "\n", + " treasury_period_return volume treasury \\\n", + "2015-03-01 23:59:00+00:00 0.0200 3.177152e-01 0.0200 \n", + "2015-03-02 23:59:00+00:00 0.0208 9.806380e+01 0.0208 \n", + "2015-03-03 23:59:00+00:00 0.0212 4.429831e+02 0.0212 \n", + "2015-03-04 23:59:00+00:00 0.0212 2.458890e+02 0.0212 \n", + "2015-03-05 23:59:00+00:00 0.0211 1.174407e+02 0.0211 \n", + "2015-03-06 23:59:00+00:00 0.0224 8.419795e+01 0.0224 \n", + "2015-03-07 23:59:00+00:00 0.0224 1.819948e-01 0.0224 \n", + "2015-03-08 23:59:00+00:00 0.0224 3.090035e+01 0.0224 \n", + "2015-03-09 23:59:00+00:00 0.0220 1.283670e+02 0.0220 \n", + "2015-03-10 23:59:00+00:00 0.0214 5.496176e+01 0.0214 \n", + "2015-03-11 23:59:00+00:00 0.0211 4.251194e+01 0.0211 \n", + "2015-03-12 23:59:00+00:00 0.0210 2.909892e+00 0.0210 \n", + "2015-03-13 23:59:00+00:00 0.0213 5.761316e+01 0.0213 \n", + "2015-03-14 23:59:00+00:00 0.0213 4.831006e+01 0.0213 \n", + "2015-03-15 23:59:00+00:00 0.0213 2.945411e+01 0.0213 \n", + "2015-03-16 23:59:00+00:00 0.0210 2.556469e+01 0.0210 \n", + "2015-03-17 23:59:00+00:00 0.0206 9.033750e-03 0.0206 \n", + "2015-03-18 23:59:00+00:00 0.0193 1.649113e+02 0.0193 \n", + "2015-03-19 23:59:00+00:00 0.0198 7.139042e+02 0.0198 \n", + "2015-03-20 23:59:00+00:00 0.0193 1.327258e+02 0.0193 \n", + "2015-03-21 23:59:00+00:00 0.0193 2.011551e+02 0.0193 \n", + "2015-03-22 23:59:00+00:00 0.0193 6.437845e+01 0.0193 \n", + "2015-03-23 23:59:00+00:00 0.0192 6.185039e+01 0.0192 \n", + "2015-03-24 23:59:00+00:00 0.0188 4.901803e+02 0.0188 \n", + "2015-03-25 23:59:00+00:00 0.0193 9.086237e+01 0.0193 \n", + "2015-03-26 23:59:00+00:00 0.0201 2.299378e+00 0.0201 \n", + "2015-03-27 23:59:00+00:00 0.0195 6.635365e-01 0.0195 \n", + "2015-03-28 23:59:00+00:00 0.0195 7.061529e+00 0.0195 \n", + "2015-03-29 23:59:00+00:00 0.0195 8.526549e+00 0.0195 \n", + "2015-03-30 23:59:00+00:00 0.0196 2.965462e+01 0.0196 \n", + "... ... ... ... \n", + "2017-05-30 23:59:00+00:00 0.0221 4.015796e+07 0.0221 \n", + "2017-05-31 23:59:00+00:00 0.0221 3.230641e+07 0.0221 \n", + "2017-06-01 23:59:00+00:00 0.0221 4.094488e+07 0.0221 \n", + "2017-06-02 23:59:00+00:00 0.0215 2.236456e+07 0.0215 \n", + "2017-06-03 23:59:00+00:00 0.0215 2.368728e+07 0.0215 \n", + "2017-06-04 23:59:00+00:00 0.0215 2.133202e+07 0.0215 \n", + "2017-06-05 23:59:00+00:00 0.0218 2.237223e+07 0.0218 \n", + "2017-06-06 23:59:00+00:00 0.0214 8.192318e+07 0.0214 \n", + "2017-06-07 23:59:00+00:00 0.0218 4.907043e+07 0.0218 \n", + "2017-06-08 23:59:00+00:00 0.0219 3.401341e+07 0.0219 \n", + "2017-06-09 23:59:00+00:00 0.0221 2.527543e+07 0.0221 \n", + "2017-06-10 23:59:00+00:00 0.0221 3.062079e+07 0.0221 \n", + "2017-06-11 23:59:00+00:00 0.0221 3.083068e+07 0.0221 \n", + "2017-06-12 23:59:00+00:00 0.0221 8.870471e+07 0.0221 \n", + "2017-06-13 23:59:00+00:00 0.0221 4.225130e+07 0.0221 \n", + "2017-06-14 23:59:00+00:00 0.0215 6.318309e+07 0.0215 \n", + "2017-06-15 23:59:00+00:00 0.0216 1.046775e+08 0.0216 \n", + "2017-06-16 23:59:00+00:00 0.0216 4.347997e+07 0.0216 \n", + "2017-06-17 23:59:00+00:00 0.0216 3.680092e+07 0.0216 \n", + "2017-06-18 23:59:00+00:00 0.0216 4.641176e+07 0.0216 \n", + "2017-06-19 23:59:00+00:00 0.0219 2.829441e+07 0.0219 \n", + "2017-06-20 23:59:00+00:00 0.0216 3.690385e+07 0.0216 \n", + "2017-06-21 23:59:00+00:00 0.0216 4.381566e+07 0.0216 \n", + "2017-06-22 23:59:00+00:00 0.0215 2.230465e+07 0.0215 \n", + "2017-06-23 23:59:00+00:00 0.0215 1.309023e+07 0.0215 \n", + "2017-06-24 23:59:00+00:00 0.0215 3.408856e+07 0.0215 \n", + "2017-06-25 23:59:00+00:00 0.0215 4.156020e+07 0.0215 \n", + "2017-06-26 23:59:00+00:00 0.0214 7.384048e+07 0.0214 \n", + "2017-06-27 23:59:00+00:00 0.0221 6.242632e+07 0.0221 \n", + "2017-06-28 23:59:00+00:00 0.0221 3.967684e+07 0.0221 \n", + "\n", + " algorithm benchmark \n", + "2015-03-01 23:59:00+00:00 0.000000 0.000000 \n", + "2015-03-02 23:59:00+00:00 -0.017702 0.003984 \n", + "2015-03-03 23:59:00+00:00 0.030808 0.064622 \n", + "2015-03-04 23:59:00+00:00 0.071541 0.115538 \n", + "2015-03-05 23:59:00+00:00 -0.001765 0.023905 \n", + "2015-03-06 23:59:00+00:00 0.017358 0.047809 \n", + "2015-03-07 23:59:00+00:00 0.007796 0.035857 \n", + "2015-03-08 23:59:00+00:00 0.007796 0.035857 \n", + "2015-03-09 23:59:00+00:00 0.020545 0.051793 \n", + "2015-03-10 23:59:00+00:00 0.106601 0.159363 \n", + "2015-03-11 23:59:00+00:00 0.058792 0.099602 \n", + "2015-03-12 23:59:00+00:00 0.058792 0.099602 \n", + "2015-03-13 23:59:00+00:00 0.055955 0.096056 \n", + "2015-03-14 23:59:00+00:00 0.055923 0.096016 \n", + "2015-03-15 23:59:00+00:00 0.068698 0.111984 \n", + "2015-03-16 23:59:00+00:00 0.055923 0.096016 \n", + "2015-03-17 23:59:00+00:00 0.055605 0.095618 \n", + "2015-03-18 23:59:00+00:00 0.030138 0.063785 \n", + "2015-03-19 23:59:00+00:00 0.023242 0.055165 \n", + "2015-03-20 23:59:00+00:00 0.019145 0.050043 \n", + "2015-03-21 23:59:00+00:00 -0.004514 0.020470 \n", + "2015-03-22 23:59:00+00:00 0.031754 0.065804 \n", + "2015-03-23 23:59:00+00:00 0.009942 0.038540 \n", + "2015-03-24 23:59:00+00:00 -0.047900 -0.033763 \n", + "2015-03-25 23:59:00+00:00 -0.032123 -0.014042 \n", + "2015-03-26 23:59:00+00:00 -0.047900 -0.033763 \n", + "2015-03-27 23:59:00+00:00 -0.013391 0.009373 \n", + "2015-03-28 23:59:00+00:00 0.004228 0.031397 \n", + "2015-03-29 23:59:00+00:00 -0.030549 -0.012074 \n", + "2015-03-30 23:59:00+00:00 -0.010203 0.013358 \n", + "... ... ... \n", + "2017-05-30 23:59:00+00:00 5.999828 7.525896 \n", + "2017-05-31 23:59:00+00:00 6.181501 7.752988 \n", + "2017-06-01 23:59:00+00:00 6.556307 8.221495 \n", + "2017-06-02 23:59:00+00:00 6.854011 8.593625 \n", + "2017-06-03 23:59:00+00:00 7.004771 8.782075 \n", + "2017-06-04 23:59:00+00:00 7.094808 8.894622 \n", + "2017-06-05 23:59:00+00:00 7.578653 9.499428 \n", + "2017-06-06 23:59:00+00:00 8.250027 10.338645 \n", + "2017-06-07 23:59:00+00:00 7.610997 9.539858 \n", + "2017-06-08 23:59:00+00:00 8.065166 10.107570 \n", + "2017-06-09 23:59:00+00:00 8.154727 10.219521 \n", + "2017-06-10 23:59:00+00:00 8.141087 10.202471 \n", + "2017-06-11 23:59:00+00:00 8.540385 10.701594 \n", + "2017-06-12 23:59:00+00:00 7.373693 9.243228 \n", + "2017-06-13 23:59:00+00:00 7.710663 9.664441 \n", + "2017-06-14 23:59:00+00:00 6.786380 8.509086 \n", + "2017-06-15 23:59:00+00:00 6.745593 8.458103 \n", + "2017-06-16 23:59:00+00:00 6.940067 8.701195 \n", + "2017-06-17 23:59:00+00:00 7.488745 9.387043 \n", + "2017-06-18 23:59:00+00:00 7.122696 8.929482 \n", + "2017-06-19 23:59:00+00:00 7.411930 9.291024 \n", + "2017-06-20 23:59:00+00:00 7.682696 9.629482 \n", + "2017-06-21 23:59:00+00:00 7.529708 9.438247 \n", + "2017-06-22 23:59:00+00:00 7.699832 9.650902 \n", + "2017-06-23 23:59:00+00:00 7.689071 9.637450 \n", + "2017-06-24 23:59:00+00:00 7.158336 8.974032 \n", + "2017-06-25 23:59:00+00:00 7.083182 8.880089 \n", + "2017-06-26 23:59:00+00:00 6.813497 8.542984 \n", + "2017-06-27 23:59:00+00:00 7.179111 9.000000 \n", + "2017-06-28 23:59:00+00:00 7.188672 9.000000 \n", + "\n", + "[851 rows x 45 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%catalyst --start 2015-3-1 --end 2017-6-28 --capital-base 100000 -x bitfinex -c usd\n", + "\n", + "from catalyst.finance.slippage import VolumeShareSlippage\n", + "\n", + "from catalyst.api import (\n", + " order_target_value,\n", + " symbol,\n", + " record,\n", + " cancel_order,\n", + " get_open_orders,\n", + ")\n", + "\n", + "def initialize(context):\n", + " context.ASSET_NAME = 'btc_usdt'\n", + " context.TARGET_HODL_RATIO = 0.8\n", + " context.RESERVE_RATIO = 1.0 - context.TARGET_HODL_RATIO\n", + "\n", + " # For all trading pairs in the poloniex bundle, the default denomination\n", + " # currently supported by Catalyst is 1/1000th of a full coin. Use this\n", + " # constant to scale the price of up to that of a full coin if desired.\n", + " context.TICK_SIZE = 1000.0\n", + "\n", + " context.is_buying = True\n", + " context.asset = symbol(context.ASSET_NAME)\n", + "\n", + " context.i = 0\n", + "\n", + "def handle_data(context, data):\n", + " context.i += 1\n", + "\n", + " starting_cash = context.portfolio.starting_cash\n", + " target_hodl_value = context.TARGET_HODL_RATIO * starting_cash\n", + " reserve_value = context.RESERVE_RATIO * starting_cash\n", + "\n", + " # Cancel any outstanding orders\n", + " orders = get_open_orders(context.asset) or []\n", + " for order in orders:\n", + " cancel_order(order)\n", + " \n", + " # Stop buying after passing the reserve threshold\n", + " cash = context.portfolio.cash\n", + " if cash <= reserve_value:\n", + " context.is_buying = False\n", + "\n", + " # Retrieve current asset price from pricing data\n", + " price = data.current(context.asset,'price')\n", + "\n", + " # Check if still buying and could (approximately) afford another purchase\n", + " if context.is_buying and cash > price:\n", + " # Place order to make position in asset equal to target_hodl_value\n", + " order_target_value(\n", + " context.asset,\n", + " target_hodl_value,\n", + " limit_price=price*1.1,\n", + " stop_price=price*0.9,\n", + " )\n", + "\n", + " record(\n", + " price=price,\n", + " volume=data.current(context.asset,'volume'),\n", + " cash=cash,\n", + " starting_cash=context.portfolio.starting_cash,\n", + " leverage=context.account.leverage,\n", + " )\n", + "\n", + "def analyze(context=None, results=None):\n", + " import matplotlib.pyplot as plt\n", + "\n", + " # Plot the portfolio and asset data.\n", + " ax1 = plt.subplot(611)\n", + " results[['portfolio_value']].plot(ax=ax1)\n", + " ax1.set_ylabel('Portfolio Value (USD)')\n", + "\n", + " ax2 = plt.subplot(612, sharex=ax1)\n", + " ax2.set_ylabel('{asset} (USD)'.format(asset=context.ASSET_NAME))\n", + " (context.TICK_SIZE * results[['price']]).plot(ax=ax2)\n", + "\n", + " trans = results.ix[[t != [] for t in results.transactions]]\n", + " buys = trans.ix[\n", + " [t[0]['amount'] > 0 for t in trans.transactions]\n", + " ]\n", + " ax2.plot(\n", + " buys.index,\n", + " context.TICK_SIZE * results.price[buys.index],\n", + " '^',\n", + " markersize=10,\n", + " color='g',\n", + " )\n", + "\n", + " ax3 = plt.subplot(613, sharex=ax1)\n", + " results[['leverage', 'alpha', 'beta']].plot(ax=ax3)\n", + " ax3.set_ylabel('Leverage ')\n", + "\n", + " ax4 = plt.subplot(614, sharex=ax1)\n", + " results[['starting_cash', 'cash']].plot(ax=ax4)\n", + " ax4.set_ylabel('Cash (USD)')\n", + "\n", + " results[[\n", + " 'treasury',\n", + " 'algorithm',\n", + " 'benchmark',\n", + " ]] = results[[\n", + " 'treasury_period_return',\n", + " 'algorithm_period_return',\n", + " 'benchmark_period_return',\n", + " ]]\n", + "\n", + " ax5 = plt.subplot(615, sharex=ax1)\n", + " results[[\n", + " 'treasury',\n", + " 'algorithm',\n", + " 'benchmark',\n", + " ]].plot(ax=ax5)\n", + " ax5.set_ylabel('Percent Change')\n", + "\n", + " ax6 = plt.subplot(616, sharex=ax1)\n", + " results[['volume']].plot(ax=ax6)\n", + " ax6.set_ylabel('Volume (mCoins/5min)')\n", + "\n", + " plt.legend(loc=3)\n", + "\n", + " # Show the plot.\n", + " plt.gcf().set_size_inches(18, 8)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Also, instead of defining an output file we are accessing it via the \"_\" variable that will be created in the name space and contain the performance DataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
algo_volatilityalgorithm_period_returnalphabenchmark_period_returnbenchmark_volatilitybetacapital_usedcashending_cashending_exposure...starting_cashstarting_exposurestarting_valuetrading_daystransactionstreasury_period_returnvolumetreasuryalgorithmbenchmark
2015-03-01 23:59:00+00:00NaN0.000000NaN0.045833NaNNaN0.000000100000.000000100000.0000000.000...100000.00.0000.0001[]0.02003170.02000.0000000.045833
2015-03-02 23:59:00+00:000.000278-0.0000250.0110450.1208330.290503-0.000956-85544.47495514455.52504514455.52504585542.000...100000.00.0000.0002[{u'commission': None, u'amount': 318, u'sid':...0.0208980630.0208-0.0000250.120833
2015-03-03 23:59:00+00:000.051796-0.005688-1.1975440.1134160.6335380.0772390.00000014455.52504514455.52504584975.642...100000.085542.00085542.0003[]0.02124429830.0212-0.0056880.113416
2015-03-04 23:59:00+00:000.3421180.0349550.4018610.1666660.5244000.1814680.00000014455.52504514455.52504589040.000...100000.084975.64284975.6424[]0.02122458890.02120.0349550.166666
2015-03-05 23:59:00+00:000.637226-0.038185-3.9140030.0708340.9768960.5505200.00000014455.52504514455.52504581726.000...100000.089040.00089040.0005[]0.02111174400.0211-0.0381850.070834
\n", + "

5 rows × 45 columns

\n", + "
" + ], + "text/plain": [ + " algo_volatility algorithm_period_return alpha \\\n", + "2015-03-01 23:59:00+00:00 NaN 0.000000 NaN \n", + "2015-03-02 23:59:00+00:00 0.000278 -0.000025 0.011045 \n", + "2015-03-03 23:59:00+00:00 0.051796 -0.005688 -1.197544 \n", + "2015-03-04 23:59:00+00:00 0.342118 0.034955 0.401861 \n", + "2015-03-05 23:59:00+00:00 0.637226 -0.038185 -3.914003 \n", + "\n", + " benchmark_period_return benchmark_volatility \\\n", + "2015-03-01 23:59:00+00:00 0.045833 NaN \n", + "2015-03-02 23:59:00+00:00 0.120833 0.290503 \n", + "2015-03-03 23:59:00+00:00 0.113416 0.633538 \n", + "2015-03-04 23:59:00+00:00 0.166666 0.524400 \n", + "2015-03-05 23:59:00+00:00 0.070834 0.976896 \n", + "\n", + " beta capital_used cash \\\n", + "2015-03-01 23:59:00+00:00 NaN 0.000000 100000.000000 \n", + "2015-03-02 23:59:00+00:00 -0.000956 -85544.474955 14455.525045 \n", + "2015-03-03 23:59:00+00:00 0.077239 0.000000 14455.525045 \n", + "2015-03-04 23:59:00+00:00 0.181468 0.000000 14455.525045 \n", + "2015-03-05 23:59:00+00:00 0.550520 0.000000 14455.525045 \n", + "\n", + " ending_cash ending_exposure ... \\\n", + "2015-03-01 23:59:00+00:00 100000.000000 0.000 ... \n", + "2015-03-02 23:59:00+00:00 14455.525045 85542.000 ... \n", + "2015-03-03 23:59:00+00:00 14455.525045 84975.642 ... \n", + "2015-03-04 23:59:00+00:00 14455.525045 89040.000 ... \n", + "2015-03-05 23:59:00+00:00 14455.525045 81726.000 ... \n", + "\n", + " starting_cash starting_exposure starting_value \\\n", + "2015-03-01 23:59:00+00:00 100000.0 0.000 0.000 \n", + "2015-03-02 23:59:00+00:00 100000.0 0.000 0.000 \n", + "2015-03-03 23:59:00+00:00 100000.0 85542.000 85542.000 \n", + "2015-03-04 23:59:00+00:00 100000.0 84975.642 84975.642 \n", + "2015-03-05 23:59:00+00:00 100000.0 89040.000 89040.000 \n", + "\n", + " trading_days \\\n", + "2015-03-01 23:59:00+00:00 1 \n", + "2015-03-02 23:59:00+00:00 2 \n", + "2015-03-03 23:59:00+00:00 3 \n", + "2015-03-04 23:59:00+00:00 4 \n", + "2015-03-05 23:59:00+00:00 5 \n", + "\n", + " transactions \\\n", + "2015-03-01 23:59:00+00:00 [] \n", + "2015-03-02 23:59:00+00:00 [{u'commission': None, u'amount': 318, u'sid':... \n", + "2015-03-03 23:59:00+00:00 [] \n", + "2015-03-04 23:59:00+00:00 [] \n", + "2015-03-05 23:59:00+00:00 [] \n", + "\n", + " treasury_period_return volume treasury \\\n", + "2015-03-01 23:59:00+00:00 0.0200 317 0.0200 \n", + "2015-03-02 23:59:00+00:00 0.0208 98063 0.0208 \n", + "2015-03-03 23:59:00+00:00 0.0212 442983 0.0212 \n", + "2015-03-04 23:59:00+00:00 0.0212 245889 0.0212 \n", + "2015-03-05 23:59:00+00:00 0.0211 117440 0.0211 \n", + "\n", + " algorithm benchmark \n", + "2015-03-01 23:59:00+00:00 0.000000 0.045833 \n", + "2015-03-02 23:59:00+00:00 -0.000025 0.120833 \n", + "2015-03-03 23:59:00+00:00 -0.005688 0.113416 \n", + "2015-03-04 23:59:00+00:00 0.034955 0.166666 \n", + "2015-03-05 23:59:00+00:00 -0.038185 0.070834 \n", + "\n", + "[5 rows x 45 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "_.head()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}