mirror of
https://github.com/saymrwulf/zipline.git
synced 2026-05-14 20:58:10 +00:00
5108 lines
364 KiB
Text
5108 lines
364 KiB
Text
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Zipline Beginner Tutorial\n",
|
||
"=========================\n",
|
||
"\n",
|
||
"Basics\n",
|
||
"------\n",
|
||
"\n",
|
||
"Zipline is an open-source algorithmic trading simulator written in Python.\n",
|
||
"\n",
|
||
"The source can be found at: https://github.com/quantopian/zipline\n",
|
||
"\n",
|
||
"Some benefits include:\n",
|
||
"\n",
|
||
"* Realistic: slippage, transaction costs, order delays.\n",
|
||
"* Stream-based: Process each event individually, avoids look-ahead bias.\n",
|
||
"* Batteries included: Common transforms (moving average) as well as common risk calculations (Sharpe).\n",
|
||
"* Developed and continuously updated by [Quantopian](https://www.quantopian.com) which provides an easy-to-use web-interface to Zipline, 10 years of minute-resolution historical US stock data, and live-trading capabilities. This tutorial is directed at users wishing to use Zipline without using Quantopian. If you instead want to get started on Quantopian, see [here](https://www.quantopian.com/faq#get-started).\n",
|
||
"\n",
|
||
"This tutorial assumes that you have zipline correctly installed, see the [installation instructions](https://github.com/quantopian/zipline#installation) if you haven't set up zipline yet.\n",
|
||
"\n",
|
||
"Every `zipline` algorithm consists of two functions you have to define:\n",
|
||
"* `initialize(context)`\n",
|
||
"* `handle_data(context, data)`\n",
|
||
"\n",
|
||
"Before the start of the algorithm, `zipline` calls the `initialize()` function and passes in a `context` variable. `context` is a persistent namespace for you to store variables you need to access from one algorithm iteration to the next.\n",
|
||
"\n",
|
||
"After the algorithm has been initialized, `zipline` calls the `handle_data()` function once for each event. At every call, it passes the same `context` variable and an event-frame called `data` containing the current trading bar with open, high, low, and close (OHLC) prices as well as volume for each stock in your universe. For more information on these functions, see the [relevant part of the Quantopian docs](https://www.quantopian.com/help#api-toplevel)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"My first algorithm\n",
|
||
"----------------------\n",
|
||
"\n",
|
||
"Lets take a look at a very simple algorithm from the `examples` directory, `buyapple.py`:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"#!/usr/bin/env python\r\n",
|
||
"#\r\n",
|
||
"# Copyright 2014 Quantopian, Inc.\r\n",
|
||
"#\r\n",
|
||
"# Licensed under the Apache License, Version 2.0 (the \"License\");\r\n",
|
||
"# you may not use this file except in compliance with the License.\r\n",
|
||
"# You may obtain a copy of the License at\r\n",
|
||
"#\r\n",
|
||
"# http://www.apache.org/licenses/LICENSE-2.0\r\n",
|
||
"#\r\n",
|
||
"# Unless required by applicable law or agreed to in writing, software\r\n",
|
||
"# distributed under the License is distributed on an \"AS IS\" BASIS,\r\n",
|
||
"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n",
|
||
"# See the License for the specific language governing permissions and\r\n",
|
||
"# limitations under the License.\r\n",
|
||
"\r\n",
|
||
"from zipline.api import order, record, symbol\r\n",
|
||
"from zipline.finance import commission\r\n",
|
||
"\r\n",
|
||
"\r\n",
|
||
"def initialize(context):\r\n",
|
||
" context.asset = symbol('AAPL')\r\n",
|
||
"\r\n",
|
||
" # Explicitly set the commission to the \"old\" value until we can\r\n",
|
||
" # rebuild example data.\r\n",
|
||
" # github.com/quantopian/zipline/blob/master/tests/resources/\r\n",
|
||
" # rebuild_example_data#L105\r\n",
|
||
" context.set_commission(commission.PerShare(cost=.0075, min_trade_cost=1.0))\r\n",
|
||
"\r\n",
|
||
"\r\n",
|
||
"def handle_data(context, data):\r\n",
|
||
" order(context.asset, 10)\r\n",
|
||
" record(AAPL=data.current(context.asset, 'price'))\r\n",
|
||
"\r\n",
|
||
"\r\n",
|
||
"# Note: this function can be removed if running\r\n",
|
||
"# this algorithm on quantopian.com\r\n",
|
||
"def analyze(context=None, results=None):\r\n",
|
||
" import matplotlib.pyplot as plt\r\n",
|
||
" # Plot the portfolio and asset data.\r\n",
|
||
" ax1 = plt.subplot(211)\r\n",
|
||
" results.portfolio_value.plot(ax=ax1)\r\n",
|
||
" ax1.set_ylabel('Portfolio value (USD)')\r\n",
|
||
" ax2 = plt.subplot(212, sharex=ax1)\r\n",
|
||
" results.AAPL.plot(ax=ax2)\r\n",
|
||
" ax2.set_ylabel('AAPL price (USD)')\r\n",
|
||
"\r\n",
|
||
" # Show the plot.\r\n",
|
||
" plt.gcf().set_size_inches(18, 8)\r\n",
|
||
" plt.show()\r\n",
|
||
"\r\n",
|
||
"\r\n",
|
||
"def _test_args():\r\n",
|
||
" \"\"\"Extra arguments to use when zipline's automated tests run this example.\r\n",
|
||
" \"\"\"\r\n",
|
||
" import pandas as pd\r\n",
|
||
"\r\n",
|
||
" return {\r\n",
|
||
" 'start': pd.Timestamp('2014-01-01', tz='utc'),\r\n",
|
||
" 'end': pd.Timestamp('2014-11-01', tz='utc'),\r\n",
|
||
" }\r\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# assuming you're running this notebook in zipline/docs/notebooks\n",
|
||
"import os\n",
|
||
"\n",
|
||
"if os.name == 'nt':\n",
|
||
" # windows doesn't have the cat command, but uses 'type' similarly\n",
|
||
" ! type \"..\\..\\zipline\\examples\\buyapple.py\"\n",
|
||
"else:\n",
|
||
" ! cat ../../zipline/examples/buyapple.py"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"As you can see, we first have to import some functions we would like to use. All functions commonly used in your algorithm can be found in `zipline.api`. Here we are using `order()` which takes two arguments -- a security object, and a number specifying how many stocks you would like to order (if negative, `order()` will sell/short stocks). In this case we want to order 10 shares of Apple at each iteration. For more documentation on `order()`, see the [Quantopian docs](https://www.quantopian.com/help#api-order).\n",
|
||
"\n",
|
||
"Finally, the `record()` function allows you to save the value of a variable at each iteration. You provide it with a name for the variable together with the variable itself: `varname=var`. After the algorithm finished running you will have access to each variable value you tracked with `record()` under the name you provided (we will see this further below). You also see how we can access the current price data of the AAPL stock in the `data` event frame (for more information see [here](https://www.quantopian.com/help#api-event-properties))."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Ingesting data for your algorithm\n",
|
||
"\n",
|
||
"Before we can run the algorithm, we'll need some historical data for our algorithm to ingest, which we can get through a data bundle. A data bundle is a collection of pricing data, adjustment data, and an asset database. Bundles allow us to preload all of the data we will need to run backtests and store the data for future runs. Quantopian provides a default bundle called `quandl` which uses the [Quandl WIKI Dataset](https://www.quandl.com/data/WIKI-Wiki-EOD-Stock-Prices). You'll need a [Quandl API Key](https://docs.quandl.com/docs#section-authentication), and then you can ingest that data by running:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"scrolled": false
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"! QUANDL_API_KEY=<yourkey> zipline ingest -b quandl"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"For more information on data bundles, such as building custom data bundles, you can look at the [zipline docs](http://www.zipline.io/bundles.html). "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Running the algorithm\n",
|
||
"\n",
|
||
"To now test this algorithm on financial data, `zipline` provides two interfaces. A command-line interface and an `IPython Notebook` interface.\n",
|
||
"\n",
|
||
"### Command line interface\n",
|
||
"After you installed zipline you should be able to execute the following from your command line (e.g. `cmd.exe` on Windows, or the Terminal app on OSX):"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Usage: zipline run [OPTIONS]\r\n",
|
||
"\r\n",
|
||
" Run a backtest for the given algorithm.\r\n",
|
||
"\r\n",
|
||
"Options:\r\n",
|
||
" -f, --algofile FILENAME The file that contains the algorithm to run.\r\n",
|
||
" -t, --algotext TEXT The algorithm script to run.\r\n",
|
||
" -D, --define TEXT Define a name to be bound in the namespace\r\n",
|
||
" before executing the algotext. For example\r\n",
|
||
" '-Dname=value'. The value may be any python\r\n",
|
||
" expression. These are evaluated in order so\r\n",
|
||
" they may refer to previously defined names.\r\n",
|
||
" --data-frequency [minute|daily]\r\n",
|
||
" The data frequency of the simulation.\r\n",
|
||
" [default: daily]\r\n",
|
||
" --capital-base FLOAT The starting capital for the simulation.\r\n",
|
||
" [default: 10000000.0]\r\n",
|
||
" -b, --bundle BUNDLE-NAME The data bundle to use for the simulation.\r\n",
|
||
" [default: quandl]\r\n",
|
||
" --bundle-timestamp TIMESTAMP The date to lookup data on or before.\r\n",
|
||
" [default: <current-time>]\r\n",
|
||
" -s, --start DATE The start date of the simulation.\r\n",
|
||
" -e, --end DATE The end date of the simulation.\r\n",
|
||
" -o, --output FILENAME The location to write the perf data. If this\r\n",
|
||
" is '-' the perf will be written to stdout.\r\n",
|
||
" [default: -]\r\n",
|
||
" --trading-calendar TRADING-CALENDAR\r\n",
|
||
" The calendar you want to use e.g. LSE. NYSE\r\n",
|
||
" is the default.\r\n",
|
||
" --print-algo / --no-print-algo Print the algorithm to stdout.\r\n",
|
||
" --help Show this message and exit.\r\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!zipline run --help"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Note that you have to omit the preceding '!' when you call `run_algo.py`, this is only required by the IPython Notebook in which this tutorial was written.\n",
|
||
"\n",
|
||
"As you can see there are a couple of flags that specify where to find your algorithm (`-f`) as well as the time-range (`--start` and `--end`). Finally, you'll want to save the performance metrics of your algorithm so that you can analyze how it performed. This is done via the `--output` flag and will cause it to write the performance `DataFrame` in the pickle Python file format.\n",
|
||
"\n",
|
||
"Thus, to execute our algorithm from above and save the results to `buyapple_out.pickle` we would call `run_algo.py` as follows:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"metadata": {
|
||
"scrolled": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[2018-01-03 04:46:19.968831] WARNING: Loader: Refusing to download new benchmark data because a download succeeded at 2018-01-03 04:01:34+00:00.\n",
|
||
"[2018-01-03 04:46:20.009540] WARNING: Loader: Refusing to download new treasury data because a download succeeded at 2018-01-03 04:01:35+00:00.\n",
|
||
"[2018-01-03 04:46:21.720073] INFO: Performance: Simulated 503 trading days out of 503.\n",
|
||
"[2018-01-03 04:46:21.720217] INFO: Performance: first open: 2016-01-04 14:31:00+00:00\n",
|
||
"[2018-01-03 04:46:21.720308] INFO: Performance: last close: 2017-12-29 21:00:00+00:00\n",
|
||
"Figure(1440x640)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!zipline run -f ../../zipline/examples/buyapple.py --start 2016-1-1 --end 2018-1-1 -o buyapple_out.pickle"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"`run_algo.py` first outputs the algorithm contents. It then uses historical price and volume data of Apple from the `quantopian-quandl` bundle in the desired time range, calls the `initialize()` function, and then streams the historical stock price day-by-day through `handle_data()`. After each call to `handle_data()` we instruct `zipline` to order 10 stocks of AAPL. After the call of the `order()` function, `zipline` enters the ordered stock and amount in the order book. After the `handle_data()` function has finished, `zipline` looks for any open orders and tries to fill them. If the trading volume is high enough for this stock, the order is executed after adding the commission and applying the slippage model which models the influence of your order on the stock price, so your algorithm will be charged more than just the stock price * 10. (Note, that you can also change the commission and slippage model that `zipline` uses, see the [Quantopian docs](https://www.quantopian.com/help#ide-slippage) for more information).\n",
|
||
"\n",
|
||
"Note that there is also an `analyze()` function printed. `run_algo.py` will try and look for a file with the ending with `_analyze.py` and the same name of the algorithm (so `buyapple_analyze.py`) or an `analyze()` function directly in the script. If an `analyze()` function is found it will be called *after* the simulation has finished and passed in the performance `DataFrame`. (The reason for allowing specification of an `analyze()` function in a separate file is that this way `buyapple.py` remains a valid Quantopian algorithm that you can copy&paste to the platform).\n",
|
||
"\n",
|
||
"Lets take a quick look at the performance `DataFrame`. For this, we use `pandas` from inside the IPython Notebook and print the first ten rows. Note that `zipline` makes heavy usage of `pandas`, especially for data input and outputting so it's worth spending some time to learn it."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>AAPL</th>\n",
|
||
" <th>algo_volatility</th>\n",
|
||
" <th>algorithm_period_return</th>\n",
|
||
" <th>alpha</th>\n",
|
||
" <th>benchmark_period_return</th>\n",
|
||
" <th>benchmark_volatility</th>\n",
|
||
" <th>beta</th>\n",
|
||
" <th>capital_used</th>\n",
|
||
" <th>ending_cash</th>\n",
|
||
" <th>ending_exposure</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>short_exposure</th>\n",
|
||
" <th>short_value</th>\n",
|
||
" <th>shorts_count</th>\n",
|
||
" <th>sortino</th>\n",
|
||
" <th>starting_cash</th>\n",
|
||
" <th>starting_exposure</th>\n",
|
||
" <th>starting_value</th>\n",
|
||
" <th>trading_days</th>\n",
|
||
" <th>transactions</th>\n",
|
||
" <th>treasury_period_return</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-04 21:00:00+00:00</th>\n",
|
||
" <td>105.35</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000e+00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-0.013983</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-05 21:00:00+00:00</th>\n",
|
||
" <td>102.71</td>\n",
|
||
" <td>0.000001</td>\n",
|
||
" <td>-1.000000e-07</td>\n",
|
||
" <td>-0.000022</td>\n",
|
||
" <td>-0.012312</td>\n",
|
||
" <td>0.175994</td>\n",
|
||
" <td>-0.000006</td>\n",
|
||
" <td>-1028.1</td>\n",
|
||
" <td>9998971.9</td>\n",
|
||
" <td>1027.1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-11.224972</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>[{'dt': 2016-01-05 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-06 21:00:00+00:00</th>\n",
|
||
" <td>100.70</td>\n",
|
||
" <td>0.000019</td>\n",
|
||
" <td>-2.210000e-06</td>\n",
|
||
" <td>-0.000073</td>\n",
|
||
" <td>-0.024771</td>\n",
|
||
" <td>0.137853</td>\n",
|
||
" <td>0.000054</td>\n",
|
||
" <td>-1008.0</td>\n",
|
||
" <td>9997963.9</td>\n",
|
||
" <td>2014.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-9.588756</td>\n",
|
||
" <td>9998971.9</td>\n",
|
||
" <td>1027.1</td>\n",
|
||
" <td>1027.1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>[{'dt': 2016-01-06 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-07 21:00:00+00:00</th>\n",
|
||
" <td>96.45</td>\n",
|
||
" <td>0.000064</td>\n",
|
||
" <td>-1.081000e-05</td>\n",
|
||
" <td>0.000243</td>\n",
|
||
" <td>-0.048168</td>\n",
|
||
" <td>0.167868</td>\n",
|
||
" <td>0.000300</td>\n",
|
||
" <td>-965.5</td>\n",
|
||
" <td>9996998.4</td>\n",
|
||
" <td>2893.5</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-9.688947</td>\n",
|
||
" <td>9997963.9</td>\n",
|
||
" <td>2014.0</td>\n",
|
||
" <td>2014.0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>[{'dt': 2016-01-07 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-08 21:00:00+00:00</th>\n",
|
||
" <td>96.96</td>\n",
|
||
" <td>0.000063</td>\n",
|
||
" <td>-9.380000e-06</td>\n",
|
||
" <td>0.000466</td>\n",
|
||
" <td>-0.058601</td>\n",
|
||
" <td>0.145654</td>\n",
|
||
" <td>0.000311</td>\n",
|
||
" <td>-970.6</td>\n",
|
||
" <td>9996027.8</td>\n",
|
||
" <td>3878.4</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-7.519659</td>\n",
|
||
" <td>9996998.4</td>\n",
|
||
" <td>2893.5</td>\n",
|
||
" <td>2893.5</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>[{'dt': 2016-01-08 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 38 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" AAPL algo_volatility algorithm_period_return \\\n",
|
||
"2016-01-04 21:00:00+00:00 105.35 NaN 0.000000e+00 \n",
|
||
"2016-01-05 21:00:00+00:00 102.71 0.000001 -1.000000e-07 \n",
|
||
"2016-01-06 21:00:00+00:00 100.70 0.000019 -2.210000e-06 \n",
|
||
"2016-01-07 21:00:00+00:00 96.45 0.000064 -1.081000e-05 \n",
|
||
"2016-01-08 21:00:00+00:00 96.96 0.000063 -9.380000e-06 \n",
|
||
"\n",
|
||
" alpha benchmark_period_return \\\n",
|
||
"2016-01-04 21:00:00+00:00 NaN -0.013983 \n",
|
||
"2016-01-05 21:00:00+00:00 -0.000022 -0.012312 \n",
|
||
"2016-01-06 21:00:00+00:00 -0.000073 -0.024771 \n",
|
||
"2016-01-07 21:00:00+00:00 0.000243 -0.048168 \n",
|
||
"2016-01-08 21:00:00+00:00 0.000466 -0.058601 \n",
|
||
"\n",
|
||
" benchmark_volatility beta capital_used \\\n",
|
||
"2016-01-04 21:00:00+00:00 NaN NaN 0.0 \n",
|
||
"2016-01-05 21:00:00+00:00 0.175994 -0.000006 -1028.1 \n",
|
||
"2016-01-06 21:00:00+00:00 0.137853 0.000054 -1008.0 \n",
|
||
"2016-01-07 21:00:00+00:00 0.167868 0.000300 -965.5 \n",
|
||
"2016-01-08 21:00:00+00:00 0.145654 0.000311 -970.6 \n",
|
||
"\n",
|
||
" ending_cash ending_exposure \\\n",
|
||
"2016-01-04 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2016-01-05 21:00:00+00:00 9998971.9 1027.1 \n",
|
||
"2016-01-06 21:00:00+00:00 9997963.9 2014.0 \n",
|
||
"2016-01-07 21:00:00+00:00 9996998.4 2893.5 \n",
|
||
"2016-01-08 21:00:00+00:00 9996027.8 3878.4 \n",
|
||
"\n",
|
||
" ... short_exposure short_value \\\n",
|
||
"2016-01-04 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-05 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-06 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-07 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-08 21:00:00+00:00 ... 0 0 \n",
|
||
"\n",
|
||
" shorts_count sortino starting_cash \\\n",
|
||
"2016-01-04 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2016-01-05 21:00:00+00:00 0 -11.224972 10000000.0 \n",
|
||
"2016-01-06 21:00:00+00:00 0 -9.588756 9998971.9 \n",
|
||
"2016-01-07 21:00:00+00:00 0 -9.688947 9997963.9 \n",
|
||
"2016-01-08 21:00:00+00:00 0 -7.519659 9996998.4 \n",
|
||
"\n",
|
||
" starting_exposure starting_value trading_days \\\n",
|
||
"2016-01-04 21:00:00+00:00 0.0 0.0 1 \n",
|
||
"2016-01-05 21:00:00+00:00 0.0 0.0 2 \n",
|
||
"2016-01-06 21:00:00+00:00 1027.1 1027.1 3 \n",
|
||
"2016-01-07 21:00:00+00:00 2014.0 2014.0 4 \n",
|
||
"2016-01-08 21:00:00+00:00 2893.5 2893.5 5 \n",
|
||
"\n",
|
||
" transactions \\\n",
|
||
"2016-01-04 21:00:00+00:00 [] \n",
|
||
"2016-01-05 21:00:00+00:00 [{'dt': 2016-01-05 21:00:00+00:00, 'order_id':... \n",
|
||
"2016-01-06 21:00:00+00:00 [{'dt': 2016-01-06 21:00:00+00:00, 'order_id':... \n",
|
||
"2016-01-07 21:00:00+00:00 [{'dt': 2016-01-07 21:00:00+00:00, 'order_id':... \n",
|
||
"2016-01-08 21:00:00+00:00 [{'dt': 2016-01-08 21:00:00+00:00, 'order_id':... \n",
|
||
"\n",
|
||
" treasury_period_return \n",
|
||
"2016-01-04 21:00:00+00:00 0.0 \n",
|
||
"2016-01-05 21:00:00+00:00 0.0 \n",
|
||
"2016-01-06 21:00:00+00:00 0.0 \n",
|
||
"2016-01-07 21:00:00+00:00 0.0 \n",
|
||
"2016-01-08 21:00:00+00:00 0.0 \n",
|
||
"\n",
|
||
"[5 rows x 38 columns]"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"perf = pd.read_pickle('buyapple_out.pickle') # read in perf DataFrame\n",
|
||
"perf.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"As you can see, there is a row for each trading day, starting on the first business day of 2016. In the columns you can find various information about the state of your algorithm. The very first column `AAPL` was placed there by the `record()` function mentioned earlier and allows us to plot the price of apple. For example, we could easily examine now how our portfolio value changed over time compared to the AAPL stock price."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Populating the interactive namespace from numpy and matplotlib\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.text.Text at 0x118d64438>"
|
||
]
|
||
},
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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eqlvyNK8ea5HXzFffSUNH+7lHzfeKJ12mvfA3ntv6dRTfcZ69929B/bYsdK55/os9+67+0z4zJnShg3So49K776b63cDANUXYRtAjVZY6AH6mGO8Jd355xefC0F64QXpqaeknXf28+++K+2xh4fM6dOlvLxcjbxiVq70Weq33vIvEPfeK223nZ975RWpaVN/r0Vq1fLP5oMPPITXquV/AdhtN2npUv/S0bVrbt4LANQELJAEUGN9/bUHyWbNpDfflCzu0hUP3W++KR1ySHF/6Asu8JA5bFj2xltZn33mOznWri3985/pzcp//730n/94bXavXlLjxtGNEwBqGhZIAqiyVq+WRo3ywJtJP/4onXiidNRRXkqRKGhLfu7ww0tvxNKzp/Thh5kdU5TWrvWa7FWrpHvuSb/8pWVL3xmyXz+CNgBkEmEbQE6984505pnSzTdvHbgrE8D/+Eff0XD4cC+NSNfgwdJLL0nLl1d8DNk0ZYrUvbuPuahsBACQe4RtADn1+efSccdJTzwhnX22L2KUvNZ6wABp/Pj0ni8E6eGHvWb5sccqFrQl7y09eLB0//0Ve3w2jB9fvHhx0iTp4INzOx4AwNYI2wByas4c6dBDpfff99KPvn293dw//iFNnCj997+lr3/nHen44+M/1+bN/lz/93/e4q9p08qN7ZprpNtuk2bN8vBf1fz5z/5F5Re/8Pd70EG5HhEAoCzCNoCc+vxzX4jYuLG33vvNb3w2+c03vRf0yy/7bPX69dLUqd6i7pVXvJ76xReldev8eT791EtHatf2tnd77135sXXpIo0Y4fXcjRr5OGfOrPzzZsLatf6e583z2vTCQql//1yPCgBQFt1IAORU+/ZeArHTTlufC8Fb0K1a5aF65509bH/yibfsa9NGWrLEN2V57z3ffGX48NKt7TJl/Xrpssuk1q39NXJt3DjpL3/x9w0AyK1k3Ujosw0gZ1av9o1jOnSIf97MF/5J3i2jqKNI0cz2Rx9JP/zgiwJHjIh2S/GGDb1c4+67o3uNdEyY4J1DAABVGzPbAHLm4499UeT06ek/dssWLxnJpu+/l3bd1Td7adSocs81e7bPkHfrJl14oXT11T573r271KOH/+ywQ/zHhiDttVfxlusAgNyizzaAKmnOHK+LrohsB23JZ9d33VVq0sTrpUsKwRd4pmL5cu900quX16l36SI1aOA11wsW+MY0u+8uzZgR//HvveevR402AFR9hG0AOVO0OLI6mThROucc6dVXSx//+999I5n77kv++M2bfVv0Y4+VrrrKn+fVV6U77vB69DvvlN5+W7riCu+EEs+DD0q//W3yjXoAAFUDYRvAT0Lw4Pfuu97tYvNm7+wRlcrMbOdK48bSEUf4rpRFxo/3YHznndJTT8V/3I8/epnIpZd6SP7b3/z4LrtI+++/9fVDh/oi0CVLSh9fscK7sJx5ZkbeDgAgYtRsA9uouXM9uB1wgN9ftEg67zxp4UIPlJ984qUNhYVeV3zJJT5z26CBdOCBmRnDvvtK996buefLlhUrvHvK0qX+heGII6TRo730Y//9tw7IktSxo1/ft6/3xG7RovzXuegiqaDA/xlcfbXUu7eH+smTE4d6AED2JavZJmwD25h586S77pIef9xnWB96yIP33/8uDRsmXX65VLeuz8QuXeqt+Z57Trr1VmnZMp/xfv99r11ORQg+m3vYYdKRR5Y+3rSph/vmzaN5r1E64QTvovLMM/6F4dhj/T1tt530zTelN9T57jsP4itWpFf6MXeutN9+0vnn+26YJ54oPfus//WhR4/MvycAQMXQ+g+ANmyQhgzxkodzz5WmTfO2enfc4X2px4+X9tmn+Pr69Yv7VZ98sv9IXpPct6+HzL59t36dyZOlX//aS1Dq1PHfS5ZIa9aUDttffeWBtDoGbclnmvfdV/rXvzxoSx6kO3f2WvT99iu+9rPPpD32SL/GunNn74BSp45/CbrqKt8xkqANANUHYRvYRowe7TPTCxZ4mYjkM7PHHZfe8/zud77RzHHHechs3lxq186P167tv4cN85nsLVs8bH/3ne/uWNJ770kHH5yZ95YLvXv7Z1l2M56uXb2V35AhXgYieZu/Pfes2OvUif2vdIsWvrMmAKB6IWwDNdSmTb4I76yzPBTecot0443FQbsyBg6UXntN+uADL4147jlp1iwvMWnXzsseSs7ibtjgtc3r1/vmMJKH7Xgz49VJvF0vu3TxbiIjRkhnnCFtv33lwjYAoHqjGwlQA61e7X2c77zTFz0ee6x01FHSoEGZe41evTxUX3mld834/nuffR09eutyiQYNvIxi2rTiY++9VzN3QLzoIu/mcvTRxa37CNsAsO0ibKNcmzdLM2dK69Z5oIq35vQf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V2HoUA9befvthY+/4QZ/mbrvPp/VOPZYz7V+xBFw/fWNL29BEARBELQuwthuBp07u1GVn+7v29erD26ySVNj+6WXPD/z1KmNx06f7l7wo49e9N9oaPBr1Usat0Jj2ww23thj1JeFiRP9hej880vSvUUybJj/nw4+2D3aBx3k4T/DhhU3tidO9H0DB8K0af6de/f27SFDytvXIAiCIAiqRxjbzWClldyQy8cX9+njv/Oe7ddfdwPq9dfdc5l5ai+/3I2yYoVTMjIDrF5Yd92mC/vefddfaPKhFkvLp596Osb994f27UvXx2J06+Yx4S++6Dm3zznH23v29O08Cxa4sT1okG+vuirceqvn0r7ssvL2MwiCIAiC6hLGdjPIwkjyxnbXrr4YbtNN3dieNs0zi4waBb/7nWcnefRRmD0brrkGTjhh8X/j2GPhlFPK+z1qie239zCcjKeecmP0zjubd53p0z014rhxngO9knTv7jnYwV8eCj3bzz3n36lnz8Y2CYYP99CSIAiCIAhaL2FsN4POnb2YSWHmjFdecUOqVy/PfjF8OBxzjMd1jxzpxXSuvNKr/RXLUpGnocGLmdQL22zj8vvoI9+eOtXzl7/88tIvnJw/3xeV9u0LX/96Ywx8NShmbN98s1d5DIIgCIKg/pCVugxeDSHJSvn9zjwTzjjDDepi+ZvnzXOP7N57N2YymTPHjcDPPvNQgn79StadVsMee3iozYABXkFx1Ci44w7YdlsvQ744Fizw0Js2bWD06KUvBFMuvvzS4+2/+MIXvM6f76kg778fvva16vYtCIIgCILyIAkzU7F94dluBl26uAG4qEIp7drBPvs0TRnYvj386U9eXTIM7eJccYUXB5ozx3NFDxoEe+65cCjJlCkLx3I/84znr5450/OUV5sVV/TQomyh7NSpnmkkDO0gCIIgqE/Cs90MZs50wy4fexuUh9mzPQ3i4497WI0ZbLGFe45feKHxuAsvdMP20kuXXLmzUpx0koeS3Hyzhw89+SRce221exUEQRAEQblYnGe7LipIloquXVtfyfRapUsXDyfZbz/3Cr/zDsydC5984sZ2//5+3IQJHh9fK4Y2wFlnedz4bbf5gs+o7BgEQRAE9Ut4toOaZc4czy7Svr1nGtliCzjvPF+geuqpHhe9xhpuiK+ySrV725QpUzx2v0sX/w5bb13t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\n",
|
||
"text/plain": [
|
||
"<matplotlib.figure.Figure at 0x116d30198>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"%pylab inline\n",
|
||
"figsize(12, 12)\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"\n",
|
||
"ax1 = plt.subplot(211)\n",
|
||
"perf.portfolio_value.plot(ax=ax1)\n",
|
||
"ax1.set_ylabel('Portfolio Value')\n",
|
||
"ax2 = plt.subplot(212, sharex=ax1)\n",
|
||
"perf.AAPL.plot(ax=ax2)\n",
|
||
"ax2.set_ylabel('AAPL Stock Price')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"As you can see, our algorithm performance as assessed by the `portfolio_value` closely matches that of the AAPL stock price. This is not surprising as our algorithm only bought AAPL every chance it got."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### IPython Notebook\n",
|
||
"\n",
|
||
"The [IPython Notebook](http://ipython.org/notebook.html) is a very powerful browser-based interface to a Python interpreter (this tutorial was written in it). As it is already the de-facto interface for most quantitative researchers `zipline` 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 `zipline` know that it is supposed to run this algorithm. This is done via the `%%zipline` IPython magic command that is available after you run `%load_ext zipline` in a separate cell. This magic takes the same arguments as the command line interface described above."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"The zipline extension is already loaded. To reload it, use:\n",
|
||
" %reload_ext zipline\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"%load_ext zipline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {
|
||
"scrolled": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>AAPL</th>\n",
|
||
" <th>algo_volatility</th>\n",
|
||
" <th>algorithm_period_return</th>\n",
|
||
" <th>alpha</th>\n",
|
||
" <th>benchmark_period_return</th>\n",
|
||
" <th>benchmark_volatility</th>\n",
|
||
" <th>beta</th>\n",
|
||
" <th>capital_used</th>\n",
|
||
" <th>ending_cash</th>\n",
|
||
" <th>ending_exposure</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>short_exposure</th>\n",
|
||
" <th>short_value</th>\n",
|
||
" <th>shorts_count</th>\n",
|
||
" <th>sortino</th>\n",
|
||
" <th>starting_cash</th>\n",
|
||
" <th>starting_exposure</th>\n",
|
||
" <th>starting_value</th>\n",
|
||
" <th>trading_days</th>\n",
|
||
" <th>transactions</th>\n",
|
||
" <th>treasury_period_return</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-04 21:00:00+00:00</th>\n",
|
||
" <td>105.350</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000e+00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-0.013983</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>10000000.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-05 21:00:00+00:00</th>\n",
|
||
" <td>102.710</td>\n",
|
||
" <td>1.122497e-08</td>\n",
|
||
" <td>-1.000000e-09</td>\n",
|
||
" <td>-2.247510e-07</td>\n",
|
||
" <td>-0.012312</td>\n",
|
||
" <td>0.175994</td>\n",
|
||
" <td>-6.378047e-08</td>\n",
|
||
" <td>-1027.11</td>\n",
|
||
" <td>9998972.89</td>\n",
|
||
" <td>1027.10</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-11.224972</td>\n",
|
||
" <td>10000000.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>[{'dt': 2016-01-05 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-06 21:00:00+00:00</th>\n",
|
||
" <td>100.700</td>\n",
|
||
" <td>1.842654e-05</td>\n",
|
||
" <td>-2.012000e-06</td>\n",
|
||
" <td>-4.883861e-05</td>\n",
|
||
" <td>-0.024771</td>\n",
|
||
" <td>0.137853</td>\n",
|
||
" <td>5.744807e-05</td>\n",
|
||
" <td>-1007.01</td>\n",
|
||
" <td>9997965.88</td>\n",
|
||
" <td>2014.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-9.169708</td>\n",
|
||
" <td>9998972.89</td>\n",
|
||
" <td>1027.10</td>\n",
|
||
" <td>1027.10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>[{'dt': 2016-01-06 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-07 21:00:00+00:00</th>\n",
|
||
" <td>96.450</td>\n",
|
||
" <td>6.394658e-05</td>\n",
|
||
" <td>-1.051300e-05</td>\n",
|
||
" <td>2.633450e-04</td>\n",
|
||
" <td>-0.048168</td>\n",
|
||
" <td>0.167868</td>\n",
|
||
" <td>3.005102e-04</td>\n",
|
||
" <td>-964.51</td>\n",
|
||
" <td>9997001.37</td>\n",
|
||
" <td>2893.50</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-9.552189</td>\n",
|
||
" <td>9997965.88</td>\n",
|
||
" <td>2014.00</td>\n",
|
||
" <td>2014.00</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>[{'dt': 2016-01-07 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-08 21:00:00+00:00</th>\n",
|
||
" <td>96.960</td>\n",
|
||
" <td>6.275294e-05</td>\n",
|
||
" <td>-8.984000e-06</td>\n",
|
||
" <td>4.879306e-04</td>\n",
|
||
" <td>-0.058601</td>\n",
|
||
" <td>0.145654</td>\n",
|
||
" <td>3.118401e-04</td>\n",
|
||
" <td>-969.61</td>\n",
|
||
" <td>9996031.76</td>\n",
|
||
" <td>3878.40</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-7.301134</td>\n",
|
||
" <td>9997001.37</td>\n",
|
||
" <td>2893.50</td>\n",
|
||
" <td>2893.50</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>[{'dt': 2016-01-08 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-11 21:00:00+00:00</th>\n",
|
||
" <td>98.530</td>\n",
|
||
" <td>7.674349e-05</td>\n",
|
||
" <td>-2.705000e-06</td>\n",
|
||
" <td>8.837486e-04</td>\n",
|
||
" <td>-0.057684</td>\n",
|
||
" <td>0.154953</td>\n",
|
||
" <td>4.033007e-04</td>\n",
|
||
" <td>-985.31</td>\n",
|
||
" <td>9995046.45</td>\n",
|
||
" <td>4926.50</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.006727</td>\n",
|
||
" <td>9996031.76</td>\n",
|
||
" <td>3878.40</td>\n",
|
||
" <td>3878.40</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>[{'dt': 2016-01-11 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-12 21:00:00+00:00</th>\n",
|
||
" <td>99.960</td>\n",
|
||
" <td>8.358973e-05</td>\n",
|
||
" <td>4.444000e-06</td>\n",
|
||
" <td>9.120981e-04</td>\n",
|
||
" <td>-0.050077</td>\n",
|
||
" <td>0.177554</td>\n",
|
||
" <td>4.111938e-04</td>\n",
|
||
" <td>-999.61</td>\n",
|
||
" <td>9994046.84</td>\n",
|
||
" <td>5997.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3.052375</td>\n",
|
||
" <td>9995046.45</td>\n",
|
||
" <td>4926.50</td>\n",
|
||
" <td>4926.50</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>[{'dt': 2016-01-12 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-13 21:00:00+00:00</th>\n",
|
||
" <td>97.390</td>\n",
|
||
" <td>1.187830e-04</td>\n",
|
||
" <td>-1.097700e-05</td>\n",
|
||
" <td>9.520761e-04</td>\n",
|
||
" <td>-0.073773</td>\n",
|
||
" <td>0.192029</td>\n",
|
||
" <td>5.438943e-04</td>\n",
|
||
" <td>-973.91</td>\n",
|
||
" <td>9993072.93</td>\n",
|
||
" <td>6817.30</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-3.476065</td>\n",
|
||
" <td>9994046.84</td>\n",
|
||
" <td>5997.60</td>\n",
|
||
" <td>5997.60</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>[{'dt': 2016-01-13 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-14 21:00:00+00:00</th>\n",
|
||
" <td>99.520</td>\n",
|
||
" <td>1.405986e-04</td>\n",
|
||
" <td>3.932000e-06</td>\n",
|
||
" <td>1.065698e-03</td>\n",
|
||
" <td>-0.058567</td>\n",
|
||
" <td>0.225894</td>\n",
|
||
" <td>5.751722e-04</td>\n",
|
||
" <td>-995.21</td>\n",
|
||
" <td>9992077.72</td>\n",
|
||
" <td>7961.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.174035</td>\n",
|
||
" <td>9993072.93</td>\n",
|
||
" <td>6817.30</td>\n",
|
||
" <td>6817.30</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>[{'dt': 2016-01-14 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-15 21:00:00+00:00</th>\n",
|
||
" <td>97.130</td>\n",
|
||
" <td>1.649569e-04</td>\n",
|
||
" <td>-1.518900e-05</td>\n",
|
||
" <td>9.532919e-04</td>\n",
|
||
" <td>-0.078776</td>\n",
|
||
" <td>0.225683</td>\n",
|
||
" <td>6.561426e-04</td>\n",
|
||
" <td>-971.31</td>\n",
|
||
" <td>9991106.41</td>\n",
|
||
" <td>8741.70</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.924499</td>\n",
|
||
" <td>9992077.72</td>\n",
|
||
" <td>7961.60</td>\n",
|
||
" <td>7961.60</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>[{'dt': 2016-01-15 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-19 21:00:00+00:00</th>\n",
|
||
" <td>96.660</td>\n",
|
||
" <td>1.570293e-04</td>\n",
|
||
" <td>-1.942000e-05</td>\n",
|
||
" <td>6.768119e-04</td>\n",
|
||
" <td>-0.077549</td>\n",
|
||
" <td>0.218789</td>\n",
|
||
" <td>6.161130e-04</td>\n",
|
||
" <td>-966.61</td>\n",
|
||
" <td>9990139.80</td>\n",
|
||
" <td>9666.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-3.519120</td>\n",
|
||
" <td>9991106.41</td>\n",
|
||
" <td>8741.70</td>\n",
|
||
" <td>8741.70</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>[{'dt': 2016-01-19 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-20 21:00:00+00:00</th>\n",
|
||
" <td>96.790</td>\n",
|
||
" <td>1.503787e-04</td>\n",
|
||
" <td>-1.812100e-05</td>\n",
|
||
" <td>7.799722e-04</td>\n",
|
||
" <td>-0.089371</td>\n",
|
||
" <td>0.210175</td>\n",
|
||
" <td>5.988146e-04</td>\n",
|
||
" <td>-967.91</td>\n",
|
||
" <td>9989171.89</td>\n",
|
||
" <td>10646.90</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-3.143921</td>\n",
|
||
" <td>9990139.80</td>\n",
|
||
" <td>9666.00</td>\n",
|
||
" <td>9666.00</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>[{'dt': 2016-01-20 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-21 21:00:00+00:00</th>\n",
|
||
" <td>96.300</td>\n",
|
||
" <td>1.449871e-04</td>\n",
|
||
" <td>-2.351200e-05</td>\n",
|
||
" <td>4.337086e-04</td>\n",
|
||
" <td>-0.084269</td>\n",
|
||
" <td>0.209564</td>\n",
|
||
" <td>5.293433e-04</td>\n",
|
||
" <td>-963.01</td>\n",
|
||
" <td>9988208.88</td>\n",
|
||
" <td>11556.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-3.840063</td>\n",
|
||
" <td>9989171.89</td>\n",
|
||
" <td>10646.90</td>\n",
|
||
" <td>10646.90</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>[{'dt': 2016-01-21 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-22 21:00:00+00:00</th>\n",
|
||
" <td>101.420</td>\n",
|
||
" <td>3.023445e-04</td>\n",
|
||
" <td>3.792700e-05</td>\n",
|
||
" <td>1.842053e-03</td>\n",
|
||
" <td>-0.065483</td>\n",
|
||
" <td>0.232034</td>\n",
|
||
" <td>9.733837e-04</td>\n",
|
||
" <td>-1014.21</td>\n",
|
||
" <td>9987194.67</td>\n",
|
||
" <td>13184.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>5.969375</td>\n",
|
||
" <td>9988208.88</td>\n",
|
||
" <td>11556.00</td>\n",
|
||
" <td>11556.00</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>[{'dt': 2016-01-22 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-25 21:00:00+00:00</th>\n",
|
||
" <td>99.440</td>\n",
|
||
" <td>3.138152e-04</td>\n",
|
||
" <td>1.218600e-05</td>\n",
|
||
" <td>1.618378e-03</td>\n",
|
||
" <td>-0.079610</td>\n",
|
||
" <td>0.227613</td>\n",
|
||
" <td>1.035162e-03</td>\n",
|
||
" <td>-994.41</td>\n",
|
||
" <td>9986200.26</td>\n",
|
||
" <td>13921.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.340362</td>\n",
|
||
" <td>9987194.67</td>\n",
|
||
" <td>13184.60</td>\n",
|
||
" <td>13184.60</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>[{'dt': 2016-01-25 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-26 21:00:00+00:00</th>\n",
|
||
" <td>99.990</td>\n",
|
||
" <td>3.044035e-04</td>\n",
|
||
" <td>1.988500e-05</td>\n",
|
||
" <td>1.340071e-03</td>\n",
|
||
" <td>-0.067053</td>\n",
|
||
" <td>0.232544</td>\n",
|
||
" <td>9.638415e-04</td>\n",
|
||
" <td>-999.91</td>\n",
|
||
" <td>9985200.35</td>\n",
|
||
" <td>14998.50</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.117548</td>\n",
|
||
" <td>9986200.26</td>\n",
|
||
" <td>13921.60</td>\n",
|
||
" <td>13921.60</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>[{'dt': 2016-01-26 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-27 21:00:00+00:00</th>\n",
|
||
" <td>93.420</td>\n",
|
||
" <td>4.842411e-04</td>\n",
|
||
" <td>-7.866600e-05</td>\n",
|
||
" <td>1.647133e-04</td>\n",
|
||
" <td>-0.077206</td>\n",
|
||
" <td>0.226614</td>\n",
|
||
" <td>1.143236e-03</td>\n",
|
||
" <td>-934.21</td>\n",
|
||
" <td>9984266.14</td>\n",
|
||
" <td>14947.20</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.874444</td>\n",
|
||
" <td>9985200.35</td>\n",
|
||
" <td>14998.50</td>\n",
|
||
" <td>14998.50</td>\n",
|
||
" <td>17</td>\n",
|
||
" <td>[{'dt': 2016-01-27 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-28 21:00:00+00:00</th>\n",
|
||
" <td>94.090</td>\n",
|
||
" <td>4.732794e-04</td>\n",
|
||
" <td>-6.794700e-05</td>\n",
|
||
" <td>2.339515e-04</td>\n",
|
||
" <td>-0.072399</td>\n",
|
||
" <td>0.222902</td>\n",
|
||
" <td>1.154621e-03</td>\n",
|
||
" <td>-940.91</td>\n",
|
||
" <td>9983325.23</td>\n",
|
||
" <td>15995.30</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.412770</td>\n",
|
||
" <td>9984266.14</td>\n",
|
||
" <td>14947.20</td>\n",
|
||
" <td>14947.20</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>[{'dt': 2016-01-28 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-29 21:00:00+00:00</th>\n",
|
||
" <td>97.340</td>\n",
|
||
" <td>5.077018e-04</td>\n",
|
||
" <td>-1.269800e-05</td>\n",
|
||
" <td>6.922634e-04</td>\n",
|
||
" <td>-0.049783</td>\n",
|
||
" <td>0.240133</td>\n",
|
||
" <td>1.325918e-03</td>\n",
|
||
" <td>-973.41</td>\n",
|
||
" <td>9982351.82</td>\n",
|
||
" <td>17521.20</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-0.438594</td>\n",
|
||
" <td>9983325.23</td>\n",
|
||
" <td>15995.30</td>\n",
|
||
" <td>15995.30</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>[{'dt': 2016-01-29 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-01 21:00:00+00:00</th>\n",
|
||
" <td>96.430</td>\n",
|
||
" <td>4.972985e-04</td>\n",
|
||
" <td>-2.907900e-05</td>\n",
|
||
" <td>4.514561e-04</td>\n",
|
||
" <td>-0.050130</td>\n",
|
||
" <td>0.233860</td>\n",
|
||
" <td>1.316425e-03</td>\n",
|
||
" <td>-964.31</td>\n",
|
||
" <td>9981387.51</td>\n",
|
||
" <td>18321.70</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-0.967745</td>\n",
|
||
" <td>9982351.82</td>\n",
|
||
" <td>17521.20</td>\n",
|
||
" <td>17521.20</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>[{'dt': 2016-02-01 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-02 21:00:00+00:00</th>\n",
|
||
" <td>94.480</td>\n",
|
||
" <td>5.001476e-04</td>\n",
|
||
" <td>-6.613000e-05</td>\n",
|
||
" <td>3.115951e-04</td>\n",
|
||
" <td>-0.067249</td>\n",
|
||
" <td>0.234222</td>\n",
|
||
" <td>1.367873e-03</td>\n",
|
||
" <td>-944.81</td>\n",
|
||
" <td>9980442.70</td>\n",
|
||
" <td>18896.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.029144</td>\n",
|
||
" <td>9981387.51</td>\n",
|
||
" <td>18321.70</td>\n",
|
||
" <td>18321.70</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>[{'dt': 2016-02-02 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-03 21:00:00+00:00</th>\n",
|
||
" <td>96.350</td>\n",
|
||
" <td>5.070214e-04</td>\n",
|
||
" <td>-2.873100e-05</td>\n",
|
||
" <td>6.708211e-04</td>\n",
|
||
" <td>-0.061657</td>\n",
|
||
" <td>0.230689</td>\n",
|
||
" <td>1.423254e-03</td>\n",
|
||
" <td>-963.51</td>\n",
|
||
" <td>9979479.19</td>\n",
|
||
" <td>20233.50</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-0.861110</td>\n",
|
||
" <td>9980442.70</td>\n",
|
||
" <td>18896.00</td>\n",
|
||
" <td>18896.00</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>[{'dt': 2016-02-03 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-04 21:00:00+00:00</th>\n",
|
||
" <td>96.600</td>\n",
|
||
" <td>4.958391e-04</td>\n",
|
||
" <td>-2.348200e-05</td>\n",
|
||
" <td>6.749304e-04</td>\n",
|
||
" <td>-0.060185</td>\n",
|
||
" <td>0.225846</td>\n",
|
||
" <td>1.423586e-03</td>\n",
|
||
" <td>-966.01</td>\n",
|
||
" <td>9978513.18</td>\n",
|
||
" <td>21252.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-0.688261</td>\n",
|
||
" <td>9979479.19</td>\n",
|
||
" <td>20233.50</td>\n",
|
||
" <td>20233.50</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>[{'dt': 2016-02-04 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-05 21:00:00+00:00</th>\n",
|
||
" <td>94.020</td>\n",
|
||
" <td>5.174863e-04</td>\n",
|
||
" <td>-8.024300e-05</td>\n",
|
||
" <td>4.250432e-04</td>\n",
|
||
" <td>-0.078089</td>\n",
|
||
" <td>0.227224</td>\n",
|
||
" <td>1.531726e-03</td>\n",
|
||
" <td>-940.21</td>\n",
|
||
" <td>9977572.97</td>\n",
|
||
" <td>21624.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.057677</td>\n",
|
||
" <td>9978513.18</td>\n",
|
||
" <td>21252.00</td>\n",
|
||
" <td>21252.00</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>[{'dt': 2016-02-05 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-08 21:00:00+00:00</th>\n",
|
||
" <td>95.010</td>\n",
|
||
" <td>5.133303e-04</td>\n",
|
||
" <td>-5.747400e-05</td>\n",
|
||
" <td>7.666502e-04</td>\n",
|
||
" <td>-0.090499</td>\n",
|
||
" <td>0.224774</td>\n",
|
||
" <td>1.447049e-03</td>\n",
|
||
" <td>-950.11</td>\n",
|
||
" <td>9976622.86</td>\n",
|
||
" <td>22802.40</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-1.443922</td>\n",
|
||
" <td>9977572.97</td>\n",
|
||
" <td>21624.60</td>\n",
|
||
" <td>21624.60</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>[{'dt': 2016-02-08 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-09 21:00:00+00:00</th>\n",
|
||
" <td>94.990</td>\n",
|
||
" <td>5.029907e-04</td>\n",
|
||
" <td>-5.795500e-05</td>\n",
|
||
" <td>7.293430e-04</td>\n",
|
||
" <td>-0.090450</td>\n",
|
||
" <td>0.220541</td>\n",
|
||
" <td>1.444361e-03</td>\n",
|
||
" <td>-949.91</td>\n",
|
||
" <td>9975672.95</td>\n",
|
||
" <td>23747.50</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-1.427724</td>\n",
|
||
" <td>9976622.86</td>\n",
|
||
" <td>22802.40</td>\n",
|
||
" <td>22802.40</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>[{'dt': 2016-02-09 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-10 21:00:00+00:00</th>\n",
|
||
" <td>94.270</td>\n",
|
||
" <td>4.955715e-04</td>\n",
|
||
" <td>-7.595600e-05</td>\n",
|
||
" <td>5.368129e-04</td>\n",
|
||
" <td>-0.091235</td>\n",
|
||
" <td>0.216414</td>\n",
|
||
" <td>1.433851e-03</td>\n",
|
||
" <td>-942.71</td>\n",
|
||
" <td>9974730.24</td>\n",
|
||
" <td>24510.20</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-1.817949</td>\n",
|
||
" <td>9975672.95</td>\n",
|
||
" <td>23747.50</td>\n",
|
||
" <td>23747.50</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>[{'dt': 2016-02-10 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-11 21:00:00+00:00</th>\n",
|
||
" <td>93.700</td>\n",
|
||
" <td>4.876403e-04</td>\n",
|
||
" <td>-9.077700e-05</td>\n",
|
||
" <td>5.490663e-04</td>\n",
|
||
" <td>-0.103056</td>\n",
|
||
" <td>0.214296</td>\n",
|
||
" <td>1.430667e-03</td>\n",
|
||
" <td>-937.01</td>\n",
|
||
" <td>9973793.23</td>\n",
|
||
" <td>25299.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.119355</td>\n",
|
||
" <td>9974730.24</td>\n",
|
||
" <td>24510.20</td>\n",
|
||
" <td>24510.20</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>[{'dt': 2016-02-11 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-12 21:00:00+00:00</th>\n",
|
||
" <td>93.990</td>\n",
|
||
" <td>4.799642e-04</td>\n",
|
||
" <td>-8.294800e-05</td>\n",
|
||
" <td>2.659222e-04</td>\n",
|
||
" <td>-0.084564</td>\n",
|
||
" <td>0.222393</td>\n",
|
||
" <td>1.328421e-03</td>\n",
|
||
" <td>-939.91</td>\n",
|
||
" <td>9972853.32</td>\n",
|
||
" <td>26317.20</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-1.902857</td>\n",
|
||
" <td>9973793.23</td>\n",
|
||
" <td>25299.00</td>\n",
|
||
" <td>25299.00</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>[{'dt': 2016-02-12 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-02-16 21:00:00+00:00</th>\n",
|
||
" <td>96.640</td>\n",
|
||
" <td>5.218332e-04</td>\n",
|
||
" <td>-8.749000e-06</td>\n",
|
||
" <td>7.873800e-04</td>\n",
|
||
" <td>-0.069113</td>\n",
|
||
" <td>0.225953</td>\n",
|
||
" <td>1.493891e-03</td>\n",
|
||
" <td>-966.41</td>\n",
|
||
" <td>9971886.91</td>\n",
|
||
" <td>28025.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-0.197002</td>\n",
|
||
" <td>9972853.32</td>\n",
|
||
" <td>26317.20</td>\n",
|
||
" <td>26317.20</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>[{'dt': 2016-02-16 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</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",
|
||
" <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>2017-11-16 21:00:00+00:00</th>\n",
|
||
" <td>171.100</td>\n",
|
||
" <td>7.308922e-03</td>\n",
|
||
" <td>2.187551e-02</td>\n",
|
||
" <td>8.840147e-03</td>\n",
|
||
" <td>0.268553</td>\n",
|
||
" <td>0.106704</td>\n",
|
||
" <td>2.036027e-02</td>\n",
|
||
" <td>-1711.01</td>\n",
|
||
" <td>9409452.08</td>\n",
|
||
" <td>809303.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.511117</td>\n",
|
||
" <td>9411163.09</td>\n",
|
||
" <td>798057.60</td>\n",
|
||
" <td>798057.60</td>\n",
|
||
" <td>474</td>\n",
|
||
" <td>[{'dt': 2017-11-16 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-17 21:00:00+00:00</th>\n",
|
||
" <td>170.150</td>\n",
|
||
" <td>7.309766e-03</td>\n",
|
||
" <td>2.142616e-02</td>\n",
|
||
" <td>8.611247e-03</td>\n",
|
||
" <td>0.264826</td>\n",
|
||
" <td>0.106621</td>\n",
|
||
" <td>2.042734e-02</td>\n",
|
||
" <td>-1701.51</td>\n",
|
||
" <td>9407750.57</td>\n",
|
||
" <td>806511.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.451649</td>\n",
|
||
" <td>9409452.08</td>\n",
|
||
" <td>809303.00</td>\n",
|
||
" <td>809303.00</td>\n",
|
||
" <td>475</td>\n",
|
||
" <td>[{'dt': 2017-11-17 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-20 21:00:00+00:00</th>\n",
|
||
" <td>169.980</td>\n",
|
||
" <td>7.302622e-03</td>\n",
|
||
" <td>2.134558e-02</td>\n",
|
||
" <td>8.534012e-03</td>\n",
|
||
" <td>0.266984</td>\n",
|
||
" <td>0.106512</td>\n",
|
||
" <td>2.041914e-02</td>\n",
|
||
" <td>-1699.81</td>\n",
|
||
" <td>9406050.76</td>\n",
|
||
" <td>807405.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.439790</td>\n",
|
||
" <td>9407750.57</td>\n",
|
||
" <td>806511.00</td>\n",
|
||
" <td>806511.00</td>\n",
|
||
" <td>476</td>\n",
|
||
" <td>[{'dt': 2017-11-20 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-21 21:00:00+00:00</th>\n",
|
||
" <td>173.140</td>\n",
|
||
" <td>7.368124e-03</td>\n",
|
||
" <td>2.284657e-02</td>\n",
|
||
" <td>9.172929e-03</td>\n",
|
||
" <td>0.275273</td>\n",
|
||
" <td>0.106490</td>\n",
|
||
" <td>2.078451e-02</td>\n",
|
||
" <td>-1731.41</td>\n",
|
||
" <td>9404319.35</td>\n",
|
||
" <td>824146.40</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.606411</td>\n",
|
||
" <td>9406050.76</td>\n",
|
||
" <td>807405.00</td>\n",
|
||
" <td>807405.00</td>\n",
|
||
" <td>477</td>\n",
|
||
" <td>[{'dt': 2017-11-21 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-22 21:00:00+00:00</th>\n",
|
||
" <td>174.960</td>\n",
|
||
" <td>7.383253e-03</td>\n",
|
||
" <td>2.371289e-02</td>\n",
|
||
" <td>9.617252e-03</td>\n",
|
||
" <td>0.274145</td>\n",
|
||
" <td>0.106384</td>\n",
|
||
" <td>2.072980e-02</td>\n",
|
||
" <td>-1749.61</td>\n",
|
||
" <td>9402569.74</td>\n",
|
||
" <td>834559.20</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.701082</td>\n",
|
||
" <td>9404319.35</td>\n",
|
||
" <td>824146.40</td>\n",
|
||
" <td>824146.40</td>\n",
|
||
" <td>478</td>\n",
|
||
" <td>[{'dt': 2017-11-22 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-24 18:00:00+00:00</th>\n",
|
||
" <td>174.970</td>\n",
|
||
" <td>7.375597e-03</td>\n",
|
||
" <td>2.371766e-02</td>\n",
|
||
" <td>9.575341e-03</td>\n",
|
||
" <td>0.277088</td>\n",
|
||
" <td>0.106280</td>\n",
|
||
" <td>2.072305e-02</td>\n",
|
||
" <td>-1749.71</td>\n",
|
||
" <td>9400820.03</td>\n",
|
||
" <td>836356.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.698796</td>\n",
|
||
" <td>9402569.74</td>\n",
|
||
" <td>834559.20</td>\n",
|
||
" <td>834559.20</td>\n",
|
||
" <td>479</td>\n",
|
||
" <td>[{'dt': 2017-11-24 18:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-27 21:00:00+00:00</th>\n",
|
||
" <td>174.090</td>\n",
|
||
" <td>7.375427e-03</td>\n",
|
||
" <td>2.329702e-02</td>\n",
|
||
" <td>9.342283e-03</td>\n",
|
||
" <td>0.276451</td>\n",
|
||
" <td>0.106172</td>\n",
|
||
" <td>2.074413e-02</td>\n",
|
||
" <td>-1740.91</td>\n",
|
||
" <td>9399079.12</td>\n",
|
||
" <td>833891.10</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.643239</td>\n",
|
||
" <td>9400820.03</td>\n",
|
||
" <td>836356.60</td>\n",
|
||
" <td>836356.60</td>\n",
|
||
" <td>480</td>\n",
|
||
" <td>[{'dt': 2017-11-27 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-28 21:00:00+00:00</th>\n",
|
||
" <td>173.070</td>\n",
|
||
" <td>7.377554e-03</td>\n",
|
||
" <td>2.280844e-02</td>\n",
|
||
" <td>9.007340e-03</td>\n",
|
||
" <td>0.289400</td>\n",
|
||
" <td>0.106289</td>\n",
|
||
" <td>2.042091e-02</td>\n",
|
||
" <td>-1730.71</td>\n",
|
||
" <td>9397348.41</td>\n",
|
||
" <td>830736.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.578540</td>\n",
|
||
" <td>9399079.12</td>\n",
|
||
" <td>833891.10</td>\n",
|
||
" <td>833891.10</td>\n",
|
||
" <td>481</td>\n",
|
||
" <td>[{'dt': 2017-11-28 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-29 21:00:00+00:00</th>\n",
|
||
" <td>169.480</td>\n",
|
||
" <td>7.475500e-03</td>\n",
|
||
" <td>2.108524e-02</td>\n",
|
||
" <td>8.101617e-03</td>\n",
|
||
" <td>0.288615</td>\n",
|
||
" <td>0.106182</td>\n",
|
||
" <td>2.051276e-02</td>\n",
|
||
" <td>-1694.81</td>\n",
|
||
" <td>9395653.60</td>\n",
|
||
" <td>815198.80</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.304045</td>\n",
|
||
" <td>9397348.41</td>\n",
|
||
" <td>830736.00</td>\n",
|
||
" <td>830736.00</td>\n",
|
||
" <td>482</td>\n",
|
||
" <td>[{'dt': 2017-11-29 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-30 21:00:00+00:00</th>\n",
|
||
" <td>171.850</td>\n",
|
||
" <td>7.507854e-03</td>\n",
|
||
" <td>2.222521e-02</td>\n",
|
||
" <td>8.524716e-03</td>\n",
|
||
" <td>0.299897</td>\n",
|
||
" <td>0.106237</td>\n",
|
||
" <td>2.085597e-02</td>\n",
|
||
" <td>-1718.51</td>\n",
|
||
" <td>9393935.09</td>\n",
|
||
" <td>828317.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.424491</td>\n",
|
||
" <td>9395653.60</td>\n",
|
||
" <td>815198.80</td>\n",
|
||
" <td>815198.80</td>\n",
|
||
" <td>483</td>\n",
|
||
" <td>[{'dt': 2017-11-30 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-01 21:00:00+00:00</th>\n",
|
||
" <td>171.050</td>\n",
|
||
" <td>7.506282e-03</td>\n",
|
||
" <td>2.183961e-02</td>\n",
|
||
" <td>8.326902e-03</td>\n",
|
||
" <td>0.297199</td>\n",
|
||
" <td>0.106144</td>\n",
|
||
" <td>2.090085e-02</td>\n",
|
||
" <td>-1710.51</td>\n",
|
||
" <td>9392224.58</td>\n",
|
||
" <td>826171.50</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.376606</td>\n",
|
||
" <td>9393935.09</td>\n",
|
||
" <td>828317.00</td>\n",
|
||
" <td>828317.00</td>\n",
|
||
" <td>484</td>\n",
|
||
" <td>[{'dt': 2017-12-01 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-04 21:00:00+00:00</th>\n",
|
||
" <td>169.800</td>\n",
|
||
" <td>7.512507e-03</td>\n",
|
||
" <td>2.123586e-02</td>\n",
|
||
" <td>8.009011e-03</td>\n",
|
||
" <td>0.295630</td>\n",
|
||
" <td>0.106042</td>\n",
|
||
" <td>2.094981e-02</td>\n",
|
||
" <td>-1698.01</td>\n",
|
||
" <td>9390526.57</td>\n",
|
||
" <td>821832.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.300123</td>\n",
|
||
" <td>9392224.58</td>\n",
|
||
" <td>826171.50</td>\n",
|
||
" <td>826171.50</td>\n",
|
||
" <td>485</td>\n",
|
||
" <td>[{'dt': 2017-12-04 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-05 21:00:00+00:00</th>\n",
|
||
" <td>169.640</td>\n",
|
||
" <td>7.505249e-03</td>\n",
|
||
" <td>2.115842e-02</td>\n",
|
||
" <td>7.991427e-03</td>\n",
|
||
" <td>0.290970</td>\n",
|
||
" <td>0.105975</td>\n",
|
||
" <td>2.095600e-02</td>\n",
|
||
" <td>-1696.41</td>\n",
|
||
" <td>9388830.16</td>\n",
|
||
" <td>822754.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.289334</td>\n",
|
||
" <td>9390526.57</td>\n",
|
||
" <td>821832.00</td>\n",
|
||
" <td>821832.00</td>\n",
|
||
" <td>486</td>\n",
|
||
" <td>[{'dt': 2017-12-05 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-06 21:00:00+00:00</th>\n",
|
||
" <td>169.010</td>\n",
|
||
" <td>7.501569e-03</td>\n",
|
||
" <td>2.085286e-02</td>\n",
|
||
" <td>7.817362e-03</td>\n",
|
||
" <td>0.291215</td>\n",
|
||
" <td>0.105866</td>\n",
|
||
" <td>2.096153e-02</td>\n",
|
||
" <td>-1690.11</td>\n",
|
||
" <td>9387140.05</td>\n",
|
||
" <td>821388.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.252073</td>\n",
|
||
" <td>9388830.16</td>\n",
|
||
" <td>822754.00</td>\n",
|
||
" <td>822754.00</td>\n",
|
||
" <td>487</td>\n",
|
||
" <td>[{'dt': 2017-12-06 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-07 21:00:00+00:00</th>\n",
|
||
" <td>169.452</td>\n",
|
||
" <td>7.494835e-03</td>\n",
|
||
" <td>2.106768e-02</td>\n",
|
||
" <td>7.873977e-03</td>\n",
|
||
" <td>0.295286</td>\n",
|
||
" <td>0.105774</td>\n",
|
||
" <td>2.097516e-02</td>\n",
|
||
" <td>-1694.53</td>\n",
|
||
" <td>9385445.52</td>\n",
|
||
" <td>825231.24</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.272642</td>\n",
|
||
" <td>9387140.05</td>\n",
|
||
" <td>821388.60</td>\n",
|
||
" <td>821388.60</td>\n",
|
||
" <td>488</td>\n",
|
||
" <td>[{'dt': 2017-12-07 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-08 21:00:00+00:00</th>\n",
|
||
" <td>169.370</td>\n",
|
||
" <td>7.487383e-03</td>\n",
|
||
" <td>2.102774e-02</td>\n",
|
||
" <td>7.784692e-03</td>\n",
|
||
" <td>0.302350</td>\n",
|
||
" <td>0.105724</td>\n",
|
||
" <td>2.093342e-02</td>\n",
|
||
" <td>-1693.71</td>\n",
|
||
" <td>9383751.81</td>\n",
|
||
" <td>826525.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.266029</td>\n",
|
||
" <td>9385445.52</td>\n",
|
||
" <td>825231.24</td>\n",
|
||
" <td>825231.24</td>\n",
|
||
" <td>489</td>\n",
|
||
" <td>[{'dt': 2017-12-08 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-11 21:00:00+00:00</th>\n",
|
||
" <td>172.670</td>\n",
|
||
" <td>7.560247e-03</td>\n",
|
||
" <td>2.263814e-02</td>\n",
|
||
" <td>8.523554e-03</td>\n",
|
||
" <td>0.306274</td>\n",
|
||
" <td>0.105631</td>\n",
|
||
" <td>2.110096e-02</td>\n",
|
||
" <td>-1726.71</td>\n",
|
||
" <td>9382025.10</td>\n",
|
||
" <td>844356.30</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.434840</td>\n",
|
||
" <td>9383751.81</td>\n",
|
||
" <td>826525.60</td>\n",
|
||
" <td>826525.60</td>\n",
|
||
" <td>490</td>\n",
|
||
" <td>[{'dt': 2017-12-11 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-12 21:00:00+00:00</th>\n",
|
||
" <td>171.700</td>\n",
|
||
" <td>7.561349e-03</td>\n",
|
||
" <td>2.216381e-02</td>\n",
|
||
" <td>8.253266e-03</td>\n",
|
||
" <td>0.308579</td>\n",
|
||
" <td>0.105526</td>\n",
|
||
" <td>2.107144e-02</td>\n",
|
||
" <td>-1717.01</td>\n",
|
||
" <td>9380308.09</td>\n",
|
||
" <td>841330.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.376243</td>\n",
|
||
" <td>9382025.10</td>\n",
|
||
" <td>844356.30</td>\n",
|
||
" <td>844356.30</td>\n",
|
||
" <td>491</td>\n",
|
||
" <td>[{'dt': 2017-12-12 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-13 21:00:00+00:00</th>\n",
|
||
" <td>172.270</td>\n",
|
||
" <td>7.555414e-03</td>\n",
|
||
" <td>2.244311e-02</td>\n",
|
||
" <td>8.378753e-03</td>\n",
|
||
" <td>0.308432</td>\n",
|
||
" <td>0.105420</td>\n",
|
||
" <td>2.106380e-02</td>\n",
|
||
" <td>-1722.71</td>\n",
|
||
" <td>9378585.38</td>\n",
|
||
" <td>845845.70</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.403340</td>\n",
|
||
" <td>9380308.09</td>\n",
|
||
" <td>841330.00</td>\n",
|
||
" <td>841330.00</td>\n",
|
||
" <td>492</td>\n",
|
||
" <td>[{'dt': 2017-12-13 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-14 21:00:00+00:00</th>\n",
|
||
" <td>172.220</td>\n",
|
||
" <td>7.547895e-03</td>\n",
|
||
" <td>2.241856e-02</td>\n",
|
||
" <td>8.394349e-03</td>\n",
|
||
" <td>0.303085</td>\n",
|
||
" <td>0.105365</td>\n",
|
||
" <td>2.105762e-02</td>\n",
|
||
" <td>-1722.21</td>\n",
|
||
" <td>9376863.17</td>\n",
|
||
" <td>847322.40</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.398295</td>\n",
|
||
" <td>9378585.38</td>\n",
|
||
" <td>845845.70</td>\n",
|
||
" <td>845845.70</td>\n",
|
||
" <td>493</td>\n",
|
||
" <td>[{'dt': 2017-12-14 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-15 21:00:00+00:00</th>\n",
|
||
" <td>173.870</td>\n",
|
||
" <td>7.559184e-03</td>\n",
|
||
" <td>2.323036e-02</td>\n",
|
||
" <td>8.736036e-03</td>\n",
|
||
" <td>0.307255</td>\n",
|
||
" <td>0.105275</td>\n",
|
||
" <td>2.114189e-02</td>\n",
|
||
" <td>-1738.71</td>\n",
|
||
" <td>9375124.46</td>\n",
|
||
" <td>857179.10</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.481452</td>\n",
|
||
" <td>9376863.17</td>\n",
|
||
" <td>847322.40</td>\n",
|
||
" <td>847322.40</td>\n",
|
||
" <td>494</td>\n",
|
||
" <td>[{'dt': 2017-12-15 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-18 21:00:00+00:00</th>\n",
|
||
" <td>176.420</td>\n",
|
||
" <td>7.598478e-03</td>\n",
|
||
" <td>2.448750e-02</td>\n",
|
||
" <td>9.234755e-03</td>\n",
|
||
" <td>0.315544</td>\n",
|
||
" <td>0.105249</td>\n",
|
||
" <td>2.142327e-02</td>\n",
|
||
" <td>-1764.21</td>\n",
|
||
" <td>9373360.25</td>\n",
|
||
" <td>871514.80</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.611242</td>\n",
|
||
" <td>9375124.46</td>\n",
|
||
" <td>857179.10</td>\n",
|
||
" <td>857179.10</td>\n",
|
||
" <td>495</td>\n",
|
||
" <td>[{'dt': 2017-12-18 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-19 21:00:00+00:00</th>\n",
|
||
" <td>174.540</td>\n",
|
||
" <td>7.621292e-03</td>\n",
|
||
" <td>2.355878e-02</td>\n",
|
||
" <td>8.772408e-03</td>\n",
|
||
" <td>0.310492</td>\n",
|
||
" <td>0.105190</td>\n",
|
||
" <td>2.159785e-02</td>\n",
|
||
" <td>-1745.41</td>\n",
|
||
" <td>9371614.84</td>\n",
|
||
" <td>863973.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.487916</td>\n",
|
||
" <td>9373360.25</td>\n",
|
||
" <td>871514.80</td>\n",
|
||
" <td>871514.80</td>\n",
|
||
" <td>496</td>\n",
|
||
" <td>[{'dt': 2017-12-19 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-20 21:00:00+00:00</th>\n",
|
||
" <td>174.350</td>\n",
|
||
" <td>7.614248e-03</td>\n",
|
||
" <td>2.346473e-02</td>\n",
|
||
" <td>8.713083e-03</td>\n",
|
||
" <td>0.309805</td>\n",
|
||
" <td>0.105087</td>\n",
|
||
" <td>2.160363e-02</td>\n",
|
||
" <td>-1743.51</td>\n",
|
||
" <td>9369871.33</td>\n",
|
||
" <td>864776.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.475394</td>\n",
|
||
" <td>9371614.84</td>\n",
|
||
" <td>863973.00</td>\n",
|
||
" <td>863973.00</td>\n",
|
||
" <td>497</td>\n",
|
||
" <td>[{'dt': 2017-12-20 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-21 21:00:00+00:00</th>\n",
|
||
" <td>175.010</td>\n",
|
||
" <td>7.609064e-03</td>\n",
|
||
" <td>2.379209e-02</td>\n",
|
||
" <td>8.832559e-03</td>\n",
|
||
" <td>0.312503</td>\n",
|
||
" <td>0.104987</td>\n",
|
||
" <td>2.162015e-02</td>\n",
|
||
" <td>-1750.11</td>\n",
|
||
" <td>9368121.22</td>\n",
|
||
" <td>869799.70</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.506926</td>\n",
|
||
" <td>9369871.33</td>\n",
|
||
" <td>864776.00</td>\n",
|
||
" <td>864776.00</td>\n",
|
||
" <td>498</td>\n",
|
||
" <td>[{'dt': 2017-12-21 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-22 21:00:00+00:00</th>\n",
|
||
" <td>175.010</td>\n",
|
||
" <td>7.601495e-03</td>\n",
|
||
" <td>2.379209e-02</td>\n",
|
||
" <td>8.817554e-03</td>\n",
|
||
" <td>0.312160</td>\n",
|
||
" <td>0.104883</td>\n",
|
||
" <td>2.162127e-02</td>\n",
|
||
" <td>-1750.11</td>\n",
|
||
" <td>9366371.11</td>\n",
|
||
" <td>871549.80</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.504413</td>\n",
|
||
" <td>9368121.22</td>\n",
|
||
" <td>869799.70</td>\n",
|
||
" <td>869799.70</td>\n",
|
||
" <td>499</td>\n",
|
||
" <td>[{'dt': 2017-12-22 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-26 21:00:00+00:00</th>\n",
|
||
" <td>170.570</td>\n",
|
||
" <td>7.753823e-03</td>\n",
|
||
" <td>2.158097e-02</td>\n",
|
||
" <td>7.699556e-03</td>\n",
|
||
" <td>0.310590</td>\n",
|
||
" <td>0.104785</td>\n",
|
||
" <td>2.179675e-02</td>\n",
|
||
" <td>-1705.71</td>\n",
|
||
" <td>9364665.40</td>\n",
|
||
" <td>851144.30</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.162710</td>\n",
|
||
" <td>9366371.11</td>\n",
|
||
" <td>871549.80</td>\n",
|
||
" <td>871549.80</td>\n",
|
||
" <td>500</td>\n",
|
||
" <td>[{'dt': 2017-12-26 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-27 21:00:00+00:00</th>\n",
|
||
" <td>170.600</td>\n",
|
||
" <td>7.746091e-03</td>\n",
|
||
" <td>2.159594e-02</td>\n",
|
||
" <td>7.686211e-03</td>\n",
|
||
" <td>0.311228</td>\n",
|
||
" <td>0.104680</td>\n",
|
||
" <td>2.179684e-02</td>\n",
|
||
" <td>-1706.01</td>\n",
|
||
" <td>9362959.39</td>\n",
|
||
" <td>853000.00</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.162029</td>\n",
|
||
" <td>9364665.40</td>\n",
|
||
" <td>851144.30</td>\n",
|
||
" <td>851144.30</td>\n",
|
||
" <td>501</td>\n",
|
||
" <td>[{'dt': 2017-12-27 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-28 21:00:00+00:00</th>\n",
|
||
" <td>171.080</td>\n",
|
||
" <td>7.739554e-03</td>\n",
|
||
" <td>2.183594e-02</td>\n",
|
||
" <td>7.764757e-03</td>\n",
|
||
" <td>0.313926</td>\n",
|
||
" <td>0.104581</td>\n",
|
||
" <td>2.180779e-02</td>\n",
|
||
" <td>-1710.81</td>\n",
|
||
" <td>9361248.58</td>\n",
|
||
" <td>857110.80</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.183557</td>\n",
|
||
" <td>9362959.39</td>\n",
|
||
" <td>853000.00</td>\n",
|
||
" <td>853000.00</td>\n",
|
||
" <td>502</td>\n",
|
||
" <td>[{'dt': 2017-12-28 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-29 21:00:00+00:00</th>\n",
|
||
" <td>169.230</td>\n",
|
||
" <td>7.761038e-03</td>\n",
|
||
" <td>2.090909e-02</td>\n",
|
||
" <td>7.312205e-03</td>\n",
|
||
" <td>0.308971</td>\n",
|
||
" <td>0.104522</td>\n",
|
||
" <td>2.197793e-02</td>\n",
|
||
" <td>-1692.31</td>\n",
|
||
" <td>9359556.27</td>\n",
|
||
" <td>849534.60</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2.072850</td>\n",
|
||
" <td>9361248.58</td>\n",
|
||
" <td>857110.80</td>\n",
|
||
" <td>857110.80</td>\n",
|
||
" <td>503</td>\n",
|
||
" <td>[{'dt': 2017-12-29 21:00:00+00:00, 'amount': 1...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>503 rows × 38 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" AAPL algo_volatility algorithm_period_return \\\n",
|
||
"2016-01-04 21:00:00+00:00 105.350 NaN 0.000000e+00 \n",
|
||
"2016-01-05 21:00:00+00:00 102.710 1.122497e-08 -1.000000e-09 \n",
|
||
"2016-01-06 21:00:00+00:00 100.700 1.842654e-05 -2.012000e-06 \n",
|
||
"2016-01-07 21:00:00+00:00 96.450 6.394658e-05 -1.051300e-05 \n",
|
||
"2016-01-08 21:00:00+00:00 96.960 6.275294e-05 -8.984000e-06 \n",
|
||
"2016-01-11 21:00:00+00:00 98.530 7.674349e-05 -2.705000e-06 \n",
|
||
"2016-01-12 21:00:00+00:00 99.960 8.358973e-05 4.444000e-06 \n",
|
||
"2016-01-13 21:00:00+00:00 97.390 1.187830e-04 -1.097700e-05 \n",
|
||
"2016-01-14 21:00:00+00:00 99.520 1.405986e-04 3.932000e-06 \n",
|
||
"2016-01-15 21:00:00+00:00 97.130 1.649569e-04 -1.518900e-05 \n",
|
||
"2016-01-19 21:00:00+00:00 96.660 1.570293e-04 -1.942000e-05 \n",
|
||
"2016-01-20 21:00:00+00:00 96.790 1.503787e-04 -1.812100e-05 \n",
|
||
"2016-01-21 21:00:00+00:00 96.300 1.449871e-04 -2.351200e-05 \n",
|
||
"2016-01-22 21:00:00+00:00 101.420 3.023445e-04 3.792700e-05 \n",
|
||
"2016-01-25 21:00:00+00:00 99.440 3.138152e-04 1.218600e-05 \n",
|
||
"2016-01-26 21:00:00+00:00 99.990 3.044035e-04 1.988500e-05 \n",
|
||
"2016-01-27 21:00:00+00:00 93.420 4.842411e-04 -7.866600e-05 \n",
|
||
"2016-01-28 21:00:00+00:00 94.090 4.732794e-04 -6.794700e-05 \n",
|
||
"2016-01-29 21:00:00+00:00 97.340 5.077018e-04 -1.269800e-05 \n",
|
||
"2016-02-01 21:00:00+00:00 96.430 4.972985e-04 -2.907900e-05 \n",
|
||
"2016-02-02 21:00:00+00:00 94.480 5.001476e-04 -6.613000e-05 \n",
|
||
"2016-02-03 21:00:00+00:00 96.350 5.070214e-04 -2.873100e-05 \n",
|
||
"2016-02-04 21:00:00+00:00 96.600 4.958391e-04 -2.348200e-05 \n",
|
||
"2016-02-05 21:00:00+00:00 94.020 5.174863e-04 -8.024300e-05 \n",
|
||
"2016-02-08 21:00:00+00:00 95.010 5.133303e-04 -5.747400e-05 \n",
|
||
"2016-02-09 21:00:00+00:00 94.990 5.029907e-04 -5.795500e-05 \n",
|
||
"2016-02-10 21:00:00+00:00 94.270 4.955715e-04 -7.595600e-05 \n",
|
||
"2016-02-11 21:00:00+00:00 93.700 4.876403e-04 -9.077700e-05 \n",
|
||
"2016-02-12 21:00:00+00:00 93.990 4.799642e-04 -8.294800e-05 \n",
|
||
"2016-02-16 21:00:00+00:00 96.640 5.218332e-04 -8.749000e-06 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 171.100 7.308922e-03 2.187551e-02 \n",
|
||
"2017-11-17 21:00:00+00:00 170.150 7.309766e-03 2.142616e-02 \n",
|
||
"2017-11-20 21:00:00+00:00 169.980 7.302622e-03 2.134558e-02 \n",
|
||
"2017-11-21 21:00:00+00:00 173.140 7.368124e-03 2.284657e-02 \n",
|
||
"2017-11-22 21:00:00+00:00 174.960 7.383253e-03 2.371289e-02 \n",
|
||
"2017-11-24 18:00:00+00:00 174.970 7.375597e-03 2.371766e-02 \n",
|
||
"2017-11-27 21:00:00+00:00 174.090 7.375427e-03 2.329702e-02 \n",
|
||
"2017-11-28 21:00:00+00:00 173.070 7.377554e-03 2.280844e-02 \n",
|
||
"2017-11-29 21:00:00+00:00 169.480 7.475500e-03 2.108524e-02 \n",
|
||
"2017-11-30 21:00:00+00:00 171.850 7.507854e-03 2.222521e-02 \n",
|
||
"2017-12-01 21:00:00+00:00 171.050 7.506282e-03 2.183961e-02 \n",
|
||
"2017-12-04 21:00:00+00:00 169.800 7.512507e-03 2.123586e-02 \n",
|
||
"2017-12-05 21:00:00+00:00 169.640 7.505249e-03 2.115842e-02 \n",
|
||
"2017-12-06 21:00:00+00:00 169.010 7.501569e-03 2.085286e-02 \n",
|
||
"2017-12-07 21:00:00+00:00 169.452 7.494835e-03 2.106768e-02 \n",
|
||
"2017-12-08 21:00:00+00:00 169.370 7.487383e-03 2.102774e-02 \n",
|
||
"2017-12-11 21:00:00+00:00 172.670 7.560247e-03 2.263814e-02 \n",
|
||
"2017-12-12 21:00:00+00:00 171.700 7.561349e-03 2.216381e-02 \n",
|
||
"2017-12-13 21:00:00+00:00 172.270 7.555414e-03 2.244311e-02 \n",
|
||
"2017-12-14 21:00:00+00:00 172.220 7.547895e-03 2.241856e-02 \n",
|
||
"2017-12-15 21:00:00+00:00 173.870 7.559184e-03 2.323036e-02 \n",
|
||
"2017-12-18 21:00:00+00:00 176.420 7.598478e-03 2.448750e-02 \n",
|
||
"2017-12-19 21:00:00+00:00 174.540 7.621292e-03 2.355878e-02 \n",
|
||
"2017-12-20 21:00:00+00:00 174.350 7.614248e-03 2.346473e-02 \n",
|
||
"2017-12-21 21:00:00+00:00 175.010 7.609064e-03 2.379209e-02 \n",
|
||
"2017-12-22 21:00:00+00:00 175.010 7.601495e-03 2.379209e-02 \n",
|
||
"2017-12-26 21:00:00+00:00 170.570 7.753823e-03 2.158097e-02 \n",
|
||
"2017-12-27 21:00:00+00:00 170.600 7.746091e-03 2.159594e-02 \n",
|
||
"2017-12-28 21:00:00+00:00 171.080 7.739554e-03 2.183594e-02 \n",
|
||
"2017-12-29 21:00:00+00:00 169.230 7.761038e-03 2.090909e-02 \n",
|
||
"\n",
|
||
" alpha benchmark_period_return \\\n",
|
||
"2016-01-04 21:00:00+00:00 NaN -0.013983 \n",
|
||
"2016-01-05 21:00:00+00:00 -2.247510e-07 -0.012312 \n",
|
||
"2016-01-06 21:00:00+00:00 -4.883861e-05 -0.024771 \n",
|
||
"2016-01-07 21:00:00+00:00 2.633450e-04 -0.048168 \n",
|
||
"2016-01-08 21:00:00+00:00 4.879306e-04 -0.058601 \n",
|
||
"2016-01-11 21:00:00+00:00 8.837486e-04 -0.057684 \n",
|
||
"2016-01-12 21:00:00+00:00 9.120981e-04 -0.050077 \n",
|
||
"2016-01-13 21:00:00+00:00 9.520761e-04 -0.073773 \n",
|
||
"2016-01-14 21:00:00+00:00 1.065698e-03 -0.058567 \n",
|
||
"2016-01-15 21:00:00+00:00 9.532919e-04 -0.078776 \n",
|
||
"2016-01-19 21:00:00+00:00 6.768119e-04 -0.077549 \n",
|
||
"2016-01-20 21:00:00+00:00 7.799722e-04 -0.089371 \n",
|
||
"2016-01-21 21:00:00+00:00 4.337086e-04 -0.084269 \n",
|
||
"2016-01-22 21:00:00+00:00 1.842053e-03 -0.065483 \n",
|
||
"2016-01-25 21:00:00+00:00 1.618378e-03 -0.079610 \n",
|
||
"2016-01-26 21:00:00+00:00 1.340071e-03 -0.067053 \n",
|
||
"2016-01-27 21:00:00+00:00 1.647133e-04 -0.077206 \n",
|
||
"2016-01-28 21:00:00+00:00 2.339515e-04 -0.072399 \n",
|
||
"2016-01-29 21:00:00+00:00 6.922634e-04 -0.049783 \n",
|
||
"2016-02-01 21:00:00+00:00 4.514561e-04 -0.050130 \n",
|
||
"2016-02-02 21:00:00+00:00 3.115951e-04 -0.067249 \n",
|
||
"2016-02-03 21:00:00+00:00 6.708211e-04 -0.061657 \n",
|
||
"2016-02-04 21:00:00+00:00 6.749304e-04 -0.060185 \n",
|
||
"2016-02-05 21:00:00+00:00 4.250432e-04 -0.078089 \n",
|
||
"2016-02-08 21:00:00+00:00 7.666502e-04 -0.090499 \n",
|
||
"2016-02-09 21:00:00+00:00 7.293430e-04 -0.090450 \n",
|
||
"2016-02-10 21:00:00+00:00 5.368129e-04 -0.091235 \n",
|
||
"2016-02-11 21:00:00+00:00 5.490663e-04 -0.103056 \n",
|
||
"2016-02-12 21:00:00+00:00 2.659222e-04 -0.084564 \n",
|
||
"2016-02-16 21:00:00+00:00 7.873800e-04 -0.069113 \n",
|
||
"... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 8.840147e-03 0.268553 \n",
|
||
"2017-11-17 21:00:00+00:00 8.611247e-03 0.264826 \n",
|
||
"2017-11-20 21:00:00+00:00 8.534012e-03 0.266984 \n",
|
||
"2017-11-21 21:00:00+00:00 9.172929e-03 0.275273 \n",
|
||
"2017-11-22 21:00:00+00:00 9.617252e-03 0.274145 \n",
|
||
"2017-11-24 18:00:00+00:00 9.575341e-03 0.277088 \n",
|
||
"2017-11-27 21:00:00+00:00 9.342283e-03 0.276451 \n",
|
||
"2017-11-28 21:00:00+00:00 9.007340e-03 0.289400 \n",
|
||
"2017-11-29 21:00:00+00:00 8.101617e-03 0.288615 \n",
|
||
"2017-11-30 21:00:00+00:00 8.524716e-03 0.299897 \n",
|
||
"2017-12-01 21:00:00+00:00 8.326902e-03 0.297199 \n",
|
||
"2017-12-04 21:00:00+00:00 8.009011e-03 0.295630 \n",
|
||
"2017-12-05 21:00:00+00:00 7.991427e-03 0.290970 \n",
|
||
"2017-12-06 21:00:00+00:00 7.817362e-03 0.291215 \n",
|
||
"2017-12-07 21:00:00+00:00 7.873977e-03 0.295286 \n",
|
||
"2017-12-08 21:00:00+00:00 7.784692e-03 0.302350 \n",
|
||
"2017-12-11 21:00:00+00:00 8.523554e-03 0.306274 \n",
|
||
"2017-12-12 21:00:00+00:00 8.253266e-03 0.308579 \n",
|
||
"2017-12-13 21:00:00+00:00 8.378753e-03 0.308432 \n",
|
||
"2017-12-14 21:00:00+00:00 8.394349e-03 0.303085 \n",
|
||
"2017-12-15 21:00:00+00:00 8.736036e-03 0.307255 \n",
|
||
"2017-12-18 21:00:00+00:00 9.234755e-03 0.315544 \n",
|
||
"2017-12-19 21:00:00+00:00 8.772408e-03 0.310492 \n",
|
||
"2017-12-20 21:00:00+00:00 8.713083e-03 0.309805 \n",
|
||
"2017-12-21 21:00:00+00:00 8.832559e-03 0.312503 \n",
|
||
"2017-12-22 21:00:00+00:00 8.817554e-03 0.312160 \n",
|
||
"2017-12-26 21:00:00+00:00 7.699556e-03 0.310590 \n",
|
||
"2017-12-27 21:00:00+00:00 7.686211e-03 0.311228 \n",
|
||
"2017-12-28 21:00:00+00:00 7.764757e-03 0.313926 \n",
|
||
"2017-12-29 21:00:00+00:00 7.312205e-03 0.308971 \n",
|
||
"\n",
|
||
" benchmark_volatility beta capital_used \\\n",
|
||
"2016-01-04 21:00:00+00:00 NaN NaN 0.00 \n",
|
||
"2016-01-05 21:00:00+00:00 0.175994 -6.378047e-08 -1027.11 \n",
|
||
"2016-01-06 21:00:00+00:00 0.137853 5.744807e-05 -1007.01 \n",
|
||
"2016-01-07 21:00:00+00:00 0.167868 3.005102e-04 -964.51 \n",
|
||
"2016-01-08 21:00:00+00:00 0.145654 3.118401e-04 -969.61 \n",
|
||
"2016-01-11 21:00:00+00:00 0.154953 4.033007e-04 -985.31 \n",
|
||
"2016-01-12 21:00:00+00:00 0.177554 4.111938e-04 -999.61 \n",
|
||
"2016-01-13 21:00:00+00:00 0.192029 5.438943e-04 -973.91 \n",
|
||
"2016-01-14 21:00:00+00:00 0.225894 5.751722e-04 -995.21 \n",
|
||
"2016-01-15 21:00:00+00:00 0.225683 6.561426e-04 -971.31 \n",
|
||
"2016-01-19 21:00:00+00:00 0.218789 6.161130e-04 -966.61 \n",
|
||
"2016-01-20 21:00:00+00:00 0.210175 5.988146e-04 -967.91 \n",
|
||
"2016-01-21 21:00:00+00:00 0.209564 5.293433e-04 -963.01 \n",
|
||
"2016-01-22 21:00:00+00:00 0.232034 9.733837e-04 -1014.21 \n",
|
||
"2016-01-25 21:00:00+00:00 0.227613 1.035162e-03 -994.41 \n",
|
||
"2016-01-26 21:00:00+00:00 0.232544 9.638415e-04 -999.91 \n",
|
||
"2016-01-27 21:00:00+00:00 0.226614 1.143236e-03 -934.21 \n",
|
||
"2016-01-28 21:00:00+00:00 0.222902 1.154621e-03 -940.91 \n",
|
||
"2016-01-29 21:00:00+00:00 0.240133 1.325918e-03 -973.41 \n",
|
||
"2016-02-01 21:00:00+00:00 0.233860 1.316425e-03 -964.31 \n",
|
||
"2016-02-02 21:00:00+00:00 0.234222 1.367873e-03 -944.81 \n",
|
||
"2016-02-03 21:00:00+00:00 0.230689 1.423254e-03 -963.51 \n",
|
||
"2016-02-04 21:00:00+00:00 0.225846 1.423586e-03 -966.01 \n",
|
||
"2016-02-05 21:00:00+00:00 0.227224 1.531726e-03 -940.21 \n",
|
||
"2016-02-08 21:00:00+00:00 0.224774 1.447049e-03 -950.11 \n",
|
||
"2016-02-09 21:00:00+00:00 0.220541 1.444361e-03 -949.91 \n",
|
||
"2016-02-10 21:00:00+00:00 0.216414 1.433851e-03 -942.71 \n",
|
||
"2016-02-11 21:00:00+00:00 0.214296 1.430667e-03 -937.01 \n",
|
||
"2016-02-12 21:00:00+00:00 0.222393 1.328421e-03 -939.91 \n",
|
||
"2016-02-16 21:00:00+00:00 0.225953 1.493891e-03 -966.41 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 0.106704 2.036027e-02 -1711.01 \n",
|
||
"2017-11-17 21:00:00+00:00 0.106621 2.042734e-02 -1701.51 \n",
|
||
"2017-11-20 21:00:00+00:00 0.106512 2.041914e-02 -1699.81 \n",
|
||
"2017-11-21 21:00:00+00:00 0.106490 2.078451e-02 -1731.41 \n",
|
||
"2017-11-22 21:00:00+00:00 0.106384 2.072980e-02 -1749.61 \n",
|
||
"2017-11-24 18:00:00+00:00 0.106280 2.072305e-02 -1749.71 \n",
|
||
"2017-11-27 21:00:00+00:00 0.106172 2.074413e-02 -1740.91 \n",
|
||
"2017-11-28 21:00:00+00:00 0.106289 2.042091e-02 -1730.71 \n",
|
||
"2017-11-29 21:00:00+00:00 0.106182 2.051276e-02 -1694.81 \n",
|
||
"2017-11-30 21:00:00+00:00 0.106237 2.085597e-02 -1718.51 \n",
|
||
"2017-12-01 21:00:00+00:00 0.106144 2.090085e-02 -1710.51 \n",
|
||
"2017-12-04 21:00:00+00:00 0.106042 2.094981e-02 -1698.01 \n",
|
||
"2017-12-05 21:00:00+00:00 0.105975 2.095600e-02 -1696.41 \n",
|
||
"2017-12-06 21:00:00+00:00 0.105866 2.096153e-02 -1690.11 \n",
|
||
"2017-12-07 21:00:00+00:00 0.105774 2.097516e-02 -1694.53 \n",
|
||
"2017-12-08 21:00:00+00:00 0.105724 2.093342e-02 -1693.71 \n",
|
||
"2017-12-11 21:00:00+00:00 0.105631 2.110096e-02 -1726.71 \n",
|
||
"2017-12-12 21:00:00+00:00 0.105526 2.107144e-02 -1717.01 \n",
|
||
"2017-12-13 21:00:00+00:00 0.105420 2.106380e-02 -1722.71 \n",
|
||
"2017-12-14 21:00:00+00:00 0.105365 2.105762e-02 -1722.21 \n",
|
||
"2017-12-15 21:00:00+00:00 0.105275 2.114189e-02 -1738.71 \n",
|
||
"2017-12-18 21:00:00+00:00 0.105249 2.142327e-02 -1764.21 \n",
|
||
"2017-12-19 21:00:00+00:00 0.105190 2.159785e-02 -1745.41 \n",
|
||
"2017-12-20 21:00:00+00:00 0.105087 2.160363e-02 -1743.51 \n",
|
||
"2017-12-21 21:00:00+00:00 0.104987 2.162015e-02 -1750.11 \n",
|
||
"2017-12-22 21:00:00+00:00 0.104883 2.162127e-02 -1750.11 \n",
|
||
"2017-12-26 21:00:00+00:00 0.104785 2.179675e-02 -1705.71 \n",
|
||
"2017-12-27 21:00:00+00:00 0.104680 2.179684e-02 -1706.01 \n",
|
||
"2017-12-28 21:00:00+00:00 0.104581 2.180779e-02 -1710.81 \n",
|
||
"2017-12-29 21:00:00+00:00 0.104522 2.197793e-02 -1692.31 \n",
|
||
"\n",
|
||
" ending_cash ending_exposure \\\n",
|
||
"2016-01-04 21:00:00+00:00 10000000.00 0.00 \n",
|
||
"2016-01-05 21:00:00+00:00 9998972.89 1027.10 \n",
|
||
"2016-01-06 21:00:00+00:00 9997965.88 2014.00 \n",
|
||
"2016-01-07 21:00:00+00:00 9997001.37 2893.50 \n",
|
||
"2016-01-08 21:00:00+00:00 9996031.76 3878.40 \n",
|
||
"2016-01-11 21:00:00+00:00 9995046.45 4926.50 \n",
|
||
"2016-01-12 21:00:00+00:00 9994046.84 5997.60 \n",
|
||
"2016-01-13 21:00:00+00:00 9993072.93 6817.30 \n",
|
||
"2016-01-14 21:00:00+00:00 9992077.72 7961.60 \n",
|
||
"2016-01-15 21:00:00+00:00 9991106.41 8741.70 \n",
|
||
"2016-01-19 21:00:00+00:00 9990139.80 9666.00 \n",
|
||
"2016-01-20 21:00:00+00:00 9989171.89 10646.90 \n",
|
||
"2016-01-21 21:00:00+00:00 9988208.88 11556.00 \n",
|
||
"2016-01-22 21:00:00+00:00 9987194.67 13184.60 \n",
|
||
"2016-01-25 21:00:00+00:00 9986200.26 13921.60 \n",
|
||
"2016-01-26 21:00:00+00:00 9985200.35 14998.50 \n",
|
||
"2016-01-27 21:00:00+00:00 9984266.14 14947.20 \n",
|
||
"2016-01-28 21:00:00+00:00 9983325.23 15995.30 \n",
|
||
"2016-01-29 21:00:00+00:00 9982351.82 17521.20 \n",
|
||
"2016-02-01 21:00:00+00:00 9981387.51 18321.70 \n",
|
||
"2016-02-02 21:00:00+00:00 9980442.70 18896.00 \n",
|
||
"2016-02-03 21:00:00+00:00 9979479.19 20233.50 \n",
|
||
"2016-02-04 21:00:00+00:00 9978513.18 21252.00 \n",
|
||
"2016-02-05 21:00:00+00:00 9977572.97 21624.60 \n",
|
||
"2016-02-08 21:00:00+00:00 9976622.86 22802.40 \n",
|
||
"2016-02-09 21:00:00+00:00 9975672.95 23747.50 \n",
|
||
"2016-02-10 21:00:00+00:00 9974730.24 24510.20 \n",
|
||
"2016-02-11 21:00:00+00:00 9973793.23 25299.00 \n",
|
||
"2016-02-12 21:00:00+00:00 9972853.32 26317.20 \n",
|
||
"2016-02-16 21:00:00+00:00 9971886.91 28025.60 \n",
|
||
"... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 9409452.08 809303.00 \n",
|
||
"2017-11-17 21:00:00+00:00 9407750.57 806511.00 \n",
|
||
"2017-11-20 21:00:00+00:00 9406050.76 807405.00 \n",
|
||
"2017-11-21 21:00:00+00:00 9404319.35 824146.40 \n",
|
||
"2017-11-22 21:00:00+00:00 9402569.74 834559.20 \n",
|
||
"2017-11-24 18:00:00+00:00 9400820.03 836356.60 \n",
|
||
"2017-11-27 21:00:00+00:00 9399079.12 833891.10 \n",
|
||
"2017-11-28 21:00:00+00:00 9397348.41 830736.00 \n",
|
||
"2017-11-29 21:00:00+00:00 9395653.60 815198.80 \n",
|
||
"2017-11-30 21:00:00+00:00 9393935.09 828317.00 \n",
|
||
"2017-12-01 21:00:00+00:00 9392224.58 826171.50 \n",
|
||
"2017-12-04 21:00:00+00:00 9390526.57 821832.00 \n",
|
||
"2017-12-05 21:00:00+00:00 9388830.16 822754.00 \n",
|
||
"2017-12-06 21:00:00+00:00 9387140.05 821388.60 \n",
|
||
"2017-12-07 21:00:00+00:00 9385445.52 825231.24 \n",
|
||
"2017-12-08 21:00:00+00:00 9383751.81 826525.60 \n",
|
||
"2017-12-11 21:00:00+00:00 9382025.10 844356.30 \n",
|
||
"2017-12-12 21:00:00+00:00 9380308.09 841330.00 \n",
|
||
"2017-12-13 21:00:00+00:00 9378585.38 845845.70 \n",
|
||
"2017-12-14 21:00:00+00:00 9376863.17 847322.40 \n",
|
||
"2017-12-15 21:00:00+00:00 9375124.46 857179.10 \n",
|
||
"2017-12-18 21:00:00+00:00 9373360.25 871514.80 \n",
|
||
"2017-12-19 21:00:00+00:00 9371614.84 863973.00 \n",
|
||
"2017-12-20 21:00:00+00:00 9369871.33 864776.00 \n",
|
||
"2017-12-21 21:00:00+00:00 9368121.22 869799.70 \n",
|
||
"2017-12-22 21:00:00+00:00 9366371.11 871549.80 \n",
|
||
"2017-12-26 21:00:00+00:00 9364665.40 851144.30 \n",
|
||
"2017-12-27 21:00:00+00:00 9362959.39 853000.00 \n",
|
||
"2017-12-28 21:00:00+00:00 9361248.58 857110.80 \n",
|
||
"2017-12-29 21:00:00+00:00 9359556.27 849534.60 \n",
|
||
"\n",
|
||
" ... short_exposure short_value \\\n",
|
||
"2016-01-04 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-05 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-06 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-07 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-08 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-11 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-12 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-13 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-14 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-15 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-19 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-20 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-21 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-22 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-25 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-26 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-27 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-28 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-29 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-01 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-02 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-03 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-04 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-05 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-08 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-09 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-10 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-11 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-12 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-02-16 21:00:00+00:00 ... 0 0 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-17 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-20 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-21 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-22 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-24 18:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-27 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-28 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-29 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-11-30 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-01 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-04 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-05 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-06 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-07 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-08 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-11 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-12 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-13 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-14 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-15 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-18 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-19 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-20 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-21 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-22 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-26 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-27 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-28 21:00:00+00:00 ... 0 0 \n",
|
||
"2017-12-29 21:00:00+00:00 ... 0 0 \n",
|
||
"\n",
|
||
" shorts_count sortino starting_cash \\\n",
|
||
"2016-01-04 21:00:00+00:00 0 NaN 10000000.00 \n",
|
||
"2016-01-05 21:00:00+00:00 0 -11.224972 10000000.00 \n",
|
||
"2016-01-06 21:00:00+00:00 0 -9.169708 9998972.89 \n",
|
||
"2016-01-07 21:00:00+00:00 0 -9.552189 9997965.88 \n",
|
||
"2016-01-08 21:00:00+00:00 0 -7.301134 9997001.37 \n",
|
||
"2016-01-11 21:00:00+00:00 0 -2.006727 9996031.76 \n",
|
||
"2016-01-12 21:00:00+00:00 0 3.052375 9995046.45 \n",
|
||
"2016-01-13 21:00:00+00:00 0 -3.476065 9994046.84 \n",
|
||
"2016-01-14 21:00:00+00:00 0 1.174035 9993072.93 \n",
|
||
"2016-01-15 21:00:00+00:00 0 -2.924499 9992077.72 \n",
|
||
"2016-01-19 21:00:00+00:00 0 -3.519120 9991106.41 \n",
|
||
"2016-01-20 21:00:00+00:00 0 -3.143921 9990139.80 \n",
|
||
"2016-01-21 21:00:00+00:00 0 -3.840063 9989171.89 \n",
|
||
"2016-01-22 21:00:00+00:00 0 5.969375 9988208.88 \n",
|
||
"2016-01-25 21:00:00+00:00 0 1.340362 9987194.67 \n",
|
||
"2016-01-26 21:00:00+00:00 0 2.117548 9986200.26 \n",
|
||
"2016-01-27 21:00:00+00:00 0 -2.874444 9985200.35 \n",
|
||
"2016-01-28 21:00:00+00:00 0 -2.412770 9984266.14 \n",
|
||
"2016-01-29 21:00:00+00:00 0 -0.438594 9983325.23 \n",
|
||
"2016-02-01 21:00:00+00:00 0 -0.967745 9982351.82 \n",
|
||
"2016-02-02 21:00:00+00:00 0 -2.029144 9981387.51 \n",
|
||
"2016-02-03 21:00:00+00:00 0 -0.861110 9980442.70 \n",
|
||
"2016-02-04 21:00:00+00:00 0 -0.688261 9979479.19 \n",
|
||
"2016-02-05 21:00:00+00:00 0 -2.057677 9978513.18 \n",
|
||
"2016-02-08 21:00:00+00:00 0 -1.443922 9977572.97 \n",
|
||
"2016-02-09 21:00:00+00:00 0 -1.427724 9976622.86 \n",
|
||
"2016-02-10 21:00:00+00:00 0 -1.817949 9975672.95 \n",
|
||
"2016-02-11 21:00:00+00:00 0 -2.119355 9974730.24 \n",
|
||
"2016-02-12 21:00:00+00:00 0 -1.902857 9973793.23 \n",
|
||
"2016-02-16 21:00:00+00:00 0 -0.197002 9972853.32 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 0 2.511117 9411163.09 \n",
|
||
"2017-11-17 21:00:00+00:00 0 2.451649 9409452.08 \n",
|
||
"2017-11-20 21:00:00+00:00 0 2.439790 9407750.57 \n",
|
||
"2017-11-21 21:00:00+00:00 0 2.606411 9406050.76 \n",
|
||
"2017-11-22 21:00:00+00:00 0 2.701082 9404319.35 \n",
|
||
"2017-11-24 18:00:00+00:00 0 2.698796 9402569.74 \n",
|
||
"2017-11-27 21:00:00+00:00 0 2.643239 9400820.03 \n",
|
||
"2017-11-28 21:00:00+00:00 0 2.578540 9399079.12 \n",
|
||
"2017-11-29 21:00:00+00:00 0 2.304045 9397348.41 \n",
|
||
"2017-11-30 21:00:00+00:00 0 2.424491 9395653.60 \n",
|
||
"2017-12-01 21:00:00+00:00 0 2.376606 9393935.09 \n",
|
||
"2017-12-04 21:00:00+00:00 0 2.300123 9392224.58 \n",
|
||
"2017-12-05 21:00:00+00:00 0 2.289334 9390526.57 \n",
|
||
"2017-12-06 21:00:00+00:00 0 2.252073 9388830.16 \n",
|
||
"2017-12-07 21:00:00+00:00 0 2.272642 9387140.05 \n",
|
||
"2017-12-08 21:00:00+00:00 0 2.266029 9385445.52 \n",
|
||
"2017-12-11 21:00:00+00:00 0 2.434840 9383751.81 \n",
|
||
"2017-12-12 21:00:00+00:00 0 2.376243 9382025.10 \n",
|
||
"2017-12-13 21:00:00+00:00 0 2.403340 9380308.09 \n",
|
||
"2017-12-14 21:00:00+00:00 0 2.398295 9378585.38 \n",
|
||
"2017-12-15 21:00:00+00:00 0 2.481452 9376863.17 \n",
|
||
"2017-12-18 21:00:00+00:00 0 2.611242 9375124.46 \n",
|
||
"2017-12-19 21:00:00+00:00 0 2.487916 9373360.25 \n",
|
||
"2017-12-20 21:00:00+00:00 0 2.475394 9371614.84 \n",
|
||
"2017-12-21 21:00:00+00:00 0 2.506926 9369871.33 \n",
|
||
"2017-12-22 21:00:00+00:00 0 2.504413 9368121.22 \n",
|
||
"2017-12-26 21:00:00+00:00 0 2.162710 9366371.11 \n",
|
||
"2017-12-27 21:00:00+00:00 0 2.162029 9364665.40 \n",
|
||
"2017-12-28 21:00:00+00:00 0 2.183557 9362959.39 \n",
|
||
"2017-12-29 21:00:00+00:00 0 2.072850 9361248.58 \n",
|
||
"\n",
|
||
" starting_exposure starting_value trading_days \\\n",
|
||
"2016-01-04 21:00:00+00:00 0.00 0.00 1 \n",
|
||
"2016-01-05 21:00:00+00:00 0.00 0.00 2 \n",
|
||
"2016-01-06 21:00:00+00:00 1027.10 1027.10 3 \n",
|
||
"2016-01-07 21:00:00+00:00 2014.00 2014.00 4 \n",
|
||
"2016-01-08 21:00:00+00:00 2893.50 2893.50 5 \n",
|
||
"2016-01-11 21:00:00+00:00 3878.40 3878.40 6 \n",
|
||
"2016-01-12 21:00:00+00:00 4926.50 4926.50 7 \n",
|
||
"2016-01-13 21:00:00+00:00 5997.60 5997.60 8 \n",
|
||
"2016-01-14 21:00:00+00:00 6817.30 6817.30 9 \n",
|
||
"2016-01-15 21:00:00+00:00 7961.60 7961.60 10 \n",
|
||
"2016-01-19 21:00:00+00:00 8741.70 8741.70 11 \n",
|
||
"2016-01-20 21:00:00+00:00 9666.00 9666.00 12 \n",
|
||
"2016-01-21 21:00:00+00:00 10646.90 10646.90 13 \n",
|
||
"2016-01-22 21:00:00+00:00 11556.00 11556.00 14 \n",
|
||
"2016-01-25 21:00:00+00:00 13184.60 13184.60 15 \n",
|
||
"2016-01-26 21:00:00+00:00 13921.60 13921.60 16 \n",
|
||
"2016-01-27 21:00:00+00:00 14998.50 14998.50 17 \n",
|
||
"2016-01-28 21:00:00+00:00 14947.20 14947.20 18 \n",
|
||
"2016-01-29 21:00:00+00:00 15995.30 15995.30 19 \n",
|
||
"2016-02-01 21:00:00+00:00 17521.20 17521.20 20 \n",
|
||
"2016-02-02 21:00:00+00:00 18321.70 18321.70 21 \n",
|
||
"2016-02-03 21:00:00+00:00 18896.00 18896.00 22 \n",
|
||
"2016-02-04 21:00:00+00:00 20233.50 20233.50 23 \n",
|
||
"2016-02-05 21:00:00+00:00 21252.00 21252.00 24 \n",
|
||
"2016-02-08 21:00:00+00:00 21624.60 21624.60 25 \n",
|
||
"2016-02-09 21:00:00+00:00 22802.40 22802.40 26 \n",
|
||
"2016-02-10 21:00:00+00:00 23747.50 23747.50 27 \n",
|
||
"2016-02-11 21:00:00+00:00 24510.20 24510.20 28 \n",
|
||
"2016-02-12 21:00:00+00:00 25299.00 25299.00 29 \n",
|
||
"2016-02-16 21:00:00+00:00 26317.20 26317.20 30 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 798057.60 798057.60 474 \n",
|
||
"2017-11-17 21:00:00+00:00 809303.00 809303.00 475 \n",
|
||
"2017-11-20 21:00:00+00:00 806511.00 806511.00 476 \n",
|
||
"2017-11-21 21:00:00+00:00 807405.00 807405.00 477 \n",
|
||
"2017-11-22 21:00:00+00:00 824146.40 824146.40 478 \n",
|
||
"2017-11-24 18:00:00+00:00 834559.20 834559.20 479 \n",
|
||
"2017-11-27 21:00:00+00:00 836356.60 836356.60 480 \n",
|
||
"2017-11-28 21:00:00+00:00 833891.10 833891.10 481 \n",
|
||
"2017-11-29 21:00:00+00:00 830736.00 830736.00 482 \n",
|
||
"2017-11-30 21:00:00+00:00 815198.80 815198.80 483 \n",
|
||
"2017-12-01 21:00:00+00:00 828317.00 828317.00 484 \n",
|
||
"2017-12-04 21:00:00+00:00 826171.50 826171.50 485 \n",
|
||
"2017-12-05 21:00:00+00:00 821832.00 821832.00 486 \n",
|
||
"2017-12-06 21:00:00+00:00 822754.00 822754.00 487 \n",
|
||
"2017-12-07 21:00:00+00:00 821388.60 821388.60 488 \n",
|
||
"2017-12-08 21:00:00+00:00 825231.24 825231.24 489 \n",
|
||
"2017-12-11 21:00:00+00:00 826525.60 826525.60 490 \n",
|
||
"2017-12-12 21:00:00+00:00 844356.30 844356.30 491 \n",
|
||
"2017-12-13 21:00:00+00:00 841330.00 841330.00 492 \n",
|
||
"2017-12-14 21:00:00+00:00 845845.70 845845.70 493 \n",
|
||
"2017-12-15 21:00:00+00:00 847322.40 847322.40 494 \n",
|
||
"2017-12-18 21:00:00+00:00 857179.10 857179.10 495 \n",
|
||
"2017-12-19 21:00:00+00:00 871514.80 871514.80 496 \n",
|
||
"2017-12-20 21:00:00+00:00 863973.00 863973.00 497 \n",
|
||
"2017-12-21 21:00:00+00:00 864776.00 864776.00 498 \n",
|
||
"2017-12-22 21:00:00+00:00 869799.70 869799.70 499 \n",
|
||
"2017-12-26 21:00:00+00:00 871549.80 871549.80 500 \n",
|
||
"2017-12-27 21:00:00+00:00 851144.30 851144.30 501 \n",
|
||
"2017-12-28 21:00:00+00:00 853000.00 853000.00 502 \n",
|
||
"2017-12-29 21:00:00+00:00 857110.80 857110.80 503 \n",
|
||
"\n",
|
||
" transactions \\\n",
|
||
"2016-01-04 21:00:00+00:00 [] \n",
|
||
"2016-01-05 21:00:00+00:00 [{'dt': 2016-01-05 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-06 21:00:00+00:00 [{'dt': 2016-01-06 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-07 21:00:00+00:00 [{'dt': 2016-01-07 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-08 21:00:00+00:00 [{'dt': 2016-01-08 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-11 21:00:00+00:00 [{'dt': 2016-01-11 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-12 21:00:00+00:00 [{'dt': 2016-01-12 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-13 21:00:00+00:00 [{'dt': 2016-01-13 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-14 21:00:00+00:00 [{'dt': 2016-01-14 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-15 21:00:00+00:00 [{'dt': 2016-01-15 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-19 21:00:00+00:00 [{'dt': 2016-01-19 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-20 21:00:00+00:00 [{'dt': 2016-01-20 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-21 21:00:00+00:00 [{'dt': 2016-01-21 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-22 21:00:00+00:00 [{'dt': 2016-01-22 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-25 21:00:00+00:00 [{'dt': 2016-01-25 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-26 21:00:00+00:00 [{'dt': 2016-01-26 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-27 21:00:00+00:00 [{'dt': 2016-01-27 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-28 21:00:00+00:00 [{'dt': 2016-01-28 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-01-29 21:00:00+00:00 [{'dt': 2016-01-29 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-01 21:00:00+00:00 [{'dt': 2016-02-01 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-02 21:00:00+00:00 [{'dt': 2016-02-02 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-03 21:00:00+00:00 [{'dt': 2016-02-03 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-04 21:00:00+00:00 [{'dt': 2016-02-04 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-05 21:00:00+00:00 [{'dt': 2016-02-05 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-08 21:00:00+00:00 [{'dt': 2016-02-08 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-09 21:00:00+00:00 [{'dt': 2016-02-09 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-10 21:00:00+00:00 [{'dt': 2016-02-10 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-11 21:00:00+00:00 [{'dt': 2016-02-11 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-12 21:00:00+00:00 [{'dt': 2016-02-12 21:00:00+00:00, 'amount': 1... \n",
|
||
"2016-02-16 21:00:00+00:00 [{'dt': 2016-02-16 21:00:00+00:00, 'amount': 1... \n",
|
||
"... ... \n",
|
||
"2017-11-16 21:00:00+00:00 [{'dt': 2017-11-16 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-17 21:00:00+00:00 [{'dt': 2017-11-17 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-20 21:00:00+00:00 [{'dt': 2017-11-20 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-21 21:00:00+00:00 [{'dt': 2017-11-21 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-22 21:00:00+00:00 [{'dt': 2017-11-22 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-24 18:00:00+00:00 [{'dt': 2017-11-24 18:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-27 21:00:00+00:00 [{'dt': 2017-11-27 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-28 21:00:00+00:00 [{'dt': 2017-11-28 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-29 21:00:00+00:00 [{'dt': 2017-11-29 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-11-30 21:00:00+00:00 [{'dt': 2017-11-30 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-01 21:00:00+00:00 [{'dt': 2017-12-01 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-04 21:00:00+00:00 [{'dt': 2017-12-04 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-05 21:00:00+00:00 [{'dt': 2017-12-05 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-06 21:00:00+00:00 [{'dt': 2017-12-06 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-07 21:00:00+00:00 [{'dt': 2017-12-07 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-08 21:00:00+00:00 [{'dt': 2017-12-08 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-11 21:00:00+00:00 [{'dt': 2017-12-11 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-12 21:00:00+00:00 [{'dt': 2017-12-12 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-13 21:00:00+00:00 [{'dt': 2017-12-13 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-14 21:00:00+00:00 [{'dt': 2017-12-14 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-15 21:00:00+00:00 [{'dt': 2017-12-15 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-18 21:00:00+00:00 [{'dt': 2017-12-18 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-19 21:00:00+00:00 [{'dt': 2017-12-19 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-20 21:00:00+00:00 [{'dt': 2017-12-20 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-21 21:00:00+00:00 [{'dt': 2017-12-21 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-22 21:00:00+00:00 [{'dt': 2017-12-22 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-26 21:00:00+00:00 [{'dt': 2017-12-26 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-27 21:00:00+00:00 [{'dt': 2017-12-27 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-28 21:00:00+00:00 [{'dt': 2017-12-28 21:00:00+00:00, 'amount': 1... \n",
|
||
"2017-12-29 21:00:00+00:00 [{'dt': 2017-12-29 21:00:00+00:00, 'amount': 1... \n",
|
||
"\n",
|
||
" treasury_period_return \n",
|
||
"2016-01-04 21:00:00+00:00 0.0 \n",
|
||
"2016-01-05 21:00:00+00:00 0.0 \n",
|
||
"2016-01-06 21:00:00+00:00 0.0 \n",
|
||
"2016-01-07 21:00:00+00:00 0.0 \n",
|
||
"2016-01-08 21:00:00+00:00 0.0 \n",
|
||
"2016-01-11 21:00:00+00:00 0.0 \n",
|
||
"2016-01-12 21:00:00+00:00 0.0 \n",
|
||
"2016-01-13 21:00:00+00:00 0.0 \n",
|
||
"2016-01-14 21:00:00+00:00 0.0 \n",
|
||
"2016-01-15 21:00:00+00:00 0.0 \n",
|
||
"2016-01-19 21:00:00+00:00 0.0 \n",
|
||
"2016-01-20 21:00:00+00:00 0.0 \n",
|
||
"2016-01-21 21:00:00+00:00 0.0 \n",
|
||
"2016-01-22 21:00:00+00:00 0.0 \n",
|
||
"2016-01-25 21:00:00+00:00 0.0 \n",
|
||
"2016-01-26 21:00:00+00:00 0.0 \n",
|
||
"2016-01-27 21:00:00+00:00 0.0 \n",
|
||
"2016-01-28 21:00:00+00:00 0.0 \n",
|
||
"2016-01-29 21:00:00+00:00 0.0 \n",
|
||
"2016-02-01 21:00:00+00:00 0.0 \n",
|
||
"2016-02-02 21:00:00+00:00 0.0 \n",
|
||
"2016-02-03 21:00:00+00:00 0.0 \n",
|
||
"2016-02-04 21:00:00+00:00 0.0 \n",
|
||
"2016-02-05 21:00:00+00:00 0.0 \n",
|
||
"2016-02-08 21:00:00+00:00 0.0 \n",
|
||
"2016-02-09 21:00:00+00:00 0.0 \n",
|
||
"2016-02-10 21:00:00+00:00 0.0 \n",
|
||
"2016-02-11 21:00:00+00:00 0.0 \n",
|
||
"2016-02-12 21:00:00+00:00 0.0 \n",
|
||
"2016-02-16 21:00:00+00:00 0.0 \n",
|
||
"... ... \n",
|
||
"2017-11-16 21:00:00+00:00 0.0 \n",
|
||
"2017-11-17 21:00:00+00:00 0.0 \n",
|
||
"2017-11-20 21:00:00+00:00 0.0 \n",
|
||
"2017-11-21 21:00:00+00:00 0.0 \n",
|
||
"2017-11-22 21:00:00+00:00 0.0 \n",
|
||
"2017-11-24 18:00:00+00:00 0.0 \n",
|
||
"2017-11-27 21:00:00+00:00 0.0 \n",
|
||
"2017-11-28 21:00:00+00:00 0.0 \n",
|
||
"2017-11-29 21:00:00+00:00 0.0 \n",
|
||
"2017-11-30 21:00:00+00:00 0.0 \n",
|
||
"2017-12-01 21:00:00+00:00 0.0 \n",
|
||
"2017-12-04 21:00:00+00:00 0.0 \n",
|
||
"2017-12-05 21:00:00+00:00 0.0 \n",
|
||
"2017-12-06 21:00:00+00:00 0.0 \n",
|
||
"2017-12-07 21:00:00+00:00 0.0 \n",
|
||
"2017-12-08 21:00:00+00:00 0.0 \n",
|
||
"2017-12-11 21:00:00+00:00 0.0 \n",
|
||
"2017-12-12 21:00:00+00:00 0.0 \n",
|
||
"2017-12-13 21:00:00+00:00 0.0 \n",
|
||
"2017-12-14 21:00:00+00:00 0.0 \n",
|
||
"2017-12-15 21:00:00+00:00 0.0 \n",
|
||
"2017-12-18 21:00:00+00:00 0.0 \n",
|
||
"2017-12-19 21:00:00+00:00 0.0 \n",
|
||
"2017-12-20 21:00:00+00:00 0.0 \n",
|
||
"2017-12-21 21:00:00+00:00 0.0 \n",
|
||
"2017-12-22 21:00:00+00:00 0.0 \n",
|
||
"2017-12-26 21:00:00+00:00 0.0 \n",
|
||
"2017-12-27 21:00:00+00:00 0.0 \n",
|
||
"2017-12-28 21:00:00+00:00 0.0 \n",
|
||
"2017-12-29 21:00:00+00:00 0.0 \n",
|
||
"\n",
|
||
"[503 rows x 38 columns]"
|
||
]
|
||
},
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"%%zipline --start 2016-1-1 --end 2018-1-1 -o perf_ipython.pickle\n",
|
||
"\n",
|
||
"from zipline.api import symbol, order, record\n",
|
||
"\n",
|
||
"def initialize(context):\n",
|
||
" context.asset = symbol('AAPL')\n",
|
||
"\n",
|
||
"def handle_data(context, data):\n",
|
||
" order(context.asset, 10)\n",
|
||
" record(AAPL=data.current(context.asset, 'price'))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Note that we did not have to specify an input file as above since the magic will use the contents of the cell and look for your algorithm functions there."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>AAPL</th>\n",
|
||
" <th>algo_volatility</th>\n",
|
||
" <th>algorithm_period_return</th>\n",
|
||
" <th>alpha</th>\n",
|
||
" <th>benchmark_period_return</th>\n",
|
||
" <th>benchmark_volatility</th>\n",
|
||
" <th>beta</th>\n",
|
||
" <th>capital_used</th>\n",
|
||
" <th>ending_cash</th>\n",
|
||
" <th>ending_exposure</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>short_exposure</th>\n",
|
||
" <th>short_value</th>\n",
|
||
" <th>shorts_count</th>\n",
|
||
" <th>sortino</th>\n",
|
||
" <th>starting_cash</th>\n",
|
||
" <th>starting_exposure</th>\n",
|
||
" <th>starting_value</th>\n",
|
||
" <th>trading_days</th>\n",
|
||
" <th>transactions</th>\n",
|
||
" <th>treasury_period_return</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-04 21:00:00+00:00</th>\n",
|
||
" <td>105.35</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000e+00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-0.013983</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>10000000.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-05 21:00:00+00:00</th>\n",
|
||
" <td>102.71</td>\n",
|
||
" <td>1.122497e-08</td>\n",
|
||
" <td>-1.000000e-09</td>\n",
|
||
" <td>-2.247510e-07</td>\n",
|
||
" <td>-0.012312</td>\n",
|
||
" <td>0.175994</td>\n",
|
||
" <td>-6.378047e-08</td>\n",
|
||
" <td>-1027.11</td>\n",
|
||
" <td>9998972.89</td>\n",
|
||
" <td>1027.1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-11.224972</td>\n",
|
||
" <td>10000000.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>[{'dt': 2016-01-05 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-06 21:00:00+00:00</th>\n",
|
||
" <td>100.70</td>\n",
|
||
" <td>1.842654e-05</td>\n",
|
||
" <td>-2.012000e-06</td>\n",
|
||
" <td>-4.883861e-05</td>\n",
|
||
" <td>-0.024771</td>\n",
|
||
" <td>0.137853</td>\n",
|
||
" <td>5.744807e-05</td>\n",
|
||
" <td>-1007.01</td>\n",
|
||
" <td>9997965.88</td>\n",
|
||
" <td>2014.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-9.169708</td>\n",
|
||
" <td>9998972.89</td>\n",
|
||
" <td>1027.1</td>\n",
|
||
" <td>1027.1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>[{'dt': 2016-01-06 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-07 21:00:00+00:00</th>\n",
|
||
" <td>96.45</td>\n",
|
||
" <td>6.394658e-05</td>\n",
|
||
" <td>-1.051300e-05</td>\n",
|
||
" <td>2.633450e-04</td>\n",
|
||
" <td>-0.048168</td>\n",
|
||
" <td>0.167868</td>\n",
|
||
" <td>3.005102e-04</td>\n",
|
||
" <td>-964.51</td>\n",
|
||
" <td>9997001.37</td>\n",
|
||
" <td>2893.5</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-9.552189</td>\n",
|
||
" <td>9997965.88</td>\n",
|
||
" <td>2014.0</td>\n",
|
||
" <td>2014.0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>[{'dt': 2016-01-07 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2016-01-08 21:00:00+00:00</th>\n",
|
||
" <td>96.96</td>\n",
|
||
" <td>6.275294e-05</td>\n",
|
||
" <td>-8.984000e-06</td>\n",
|
||
" <td>4.879306e-04</td>\n",
|
||
" <td>-0.058601</td>\n",
|
||
" <td>0.145654</td>\n",
|
||
" <td>3.118401e-04</td>\n",
|
||
" <td>-969.61</td>\n",
|
||
" <td>9996031.76</td>\n",
|
||
" <td>3878.4</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-7.301134</td>\n",
|
||
" <td>9997001.37</td>\n",
|
||
" <td>2893.5</td>\n",
|
||
" <td>2893.5</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>[{'dt': 2016-01-08 21:00:00+00:00, 'order_id':...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 38 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" AAPL algo_volatility algorithm_period_return \\\n",
|
||
"2016-01-04 21:00:00+00:00 105.35 NaN 0.000000e+00 \n",
|
||
"2016-01-05 21:00:00+00:00 102.71 1.122497e-08 -1.000000e-09 \n",
|
||
"2016-01-06 21:00:00+00:00 100.70 1.842654e-05 -2.012000e-06 \n",
|
||
"2016-01-07 21:00:00+00:00 96.45 6.394658e-05 -1.051300e-05 \n",
|
||
"2016-01-08 21:00:00+00:00 96.96 6.275294e-05 -8.984000e-06 \n",
|
||
"\n",
|
||
" alpha benchmark_period_return \\\n",
|
||
"2016-01-04 21:00:00+00:00 NaN -0.013983 \n",
|
||
"2016-01-05 21:00:00+00:00 -2.247510e-07 -0.012312 \n",
|
||
"2016-01-06 21:00:00+00:00 -4.883861e-05 -0.024771 \n",
|
||
"2016-01-07 21:00:00+00:00 2.633450e-04 -0.048168 \n",
|
||
"2016-01-08 21:00:00+00:00 4.879306e-04 -0.058601 \n",
|
||
"\n",
|
||
" benchmark_volatility beta capital_used \\\n",
|
||
"2016-01-04 21:00:00+00:00 NaN NaN 0.00 \n",
|
||
"2016-01-05 21:00:00+00:00 0.175994 -6.378047e-08 -1027.11 \n",
|
||
"2016-01-06 21:00:00+00:00 0.137853 5.744807e-05 -1007.01 \n",
|
||
"2016-01-07 21:00:00+00:00 0.167868 3.005102e-04 -964.51 \n",
|
||
"2016-01-08 21:00:00+00:00 0.145654 3.118401e-04 -969.61 \n",
|
||
"\n",
|
||
" ending_cash ending_exposure \\\n",
|
||
"2016-01-04 21:00:00+00:00 10000000.00 0.0 \n",
|
||
"2016-01-05 21:00:00+00:00 9998972.89 1027.1 \n",
|
||
"2016-01-06 21:00:00+00:00 9997965.88 2014.0 \n",
|
||
"2016-01-07 21:00:00+00:00 9997001.37 2893.5 \n",
|
||
"2016-01-08 21:00:00+00:00 9996031.76 3878.4 \n",
|
||
"\n",
|
||
" ... short_exposure short_value \\\n",
|
||
"2016-01-04 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-05 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-06 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-07 21:00:00+00:00 ... 0 0 \n",
|
||
"2016-01-08 21:00:00+00:00 ... 0 0 \n",
|
||
"\n",
|
||
" shorts_count sortino starting_cash \\\n",
|
||
"2016-01-04 21:00:00+00:00 0 NaN 10000000.00 \n",
|
||
"2016-01-05 21:00:00+00:00 0 -11.224972 10000000.00 \n",
|
||
"2016-01-06 21:00:00+00:00 0 -9.169708 9998972.89 \n",
|
||
"2016-01-07 21:00:00+00:00 0 -9.552189 9997965.88 \n",
|
||
"2016-01-08 21:00:00+00:00 0 -7.301134 9997001.37 \n",
|
||
"\n",
|
||
" starting_exposure starting_value trading_days \\\n",
|
||
"2016-01-04 21:00:00+00:00 0.0 0.0 1 \n",
|
||
"2016-01-05 21:00:00+00:00 0.0 0.0 2 \n",
|
||
"2016-01-06 21:00:00+00:00 1027.1 1027.1 3 \n",
|
||
"2016-01-07 21:00:00+00:00 2014.0 2014.0 4 \n",
|
||
"2016-01-08 21:00:00+00:00 2893.5 2893.5 5 \n",
|
||
"\n",
|
||
" transactions \\\n",
|
||
"2016-01-04 21:00:00+00:00 [] \n",
|
||
"2016-01-05 21:00:00+00:00 [{'dt': 2016-01-05 21:00:00+00:00, 'order_id':... \n",
|
||
"2016-01-06 21:00:00+00:00 [{'dt': 2016-01-06 21:00:00+00:00, 'order_id':... \n",
|
||
"2016-01-07 21:00:00+00:00 [{'dt': 2016-01-07 21:00:00+00:00, 'order_id':... \n",
|
||
"2016-01-08 21:00:00+00:00 [{'dt': 2016-01-08 21:00:00+00:00, 'order_id':... \n",
|
||
"\n",
|
||
" treasury_period_return \n",
|
||
"2016-01-04 21:00:00+00:00 0.0 \n",
|
||
"2016-01-05 21:00:00+00:00 0.0 \n",
|
||
"2016-01-06 21:00:00+00:00 0.0 \n",
|
||
"2016-01-07 21:00:00+00:00 0.0 \n",
|
||
"2016-01-08 21:00:00+00:00 0.0 \n",
|
||
"\n",
|
||
"[5 rows x 38 columns]"
|
||
]
|
||
},
|
||
"execution_count": 30,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pd.read_pickle('perf_ipython.pickle').head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Access to previous prices using `data.history()`\n",
|
||
"\n",
|
||
"### Working example: Dual Moving Average Cross-Over\n",
|
||
"\n",
|
||
"The Dual Moving Average (DMA) is a classic momentum strategy. It's probably not used by any serious trader anymore but is still very instructive. The basic idea is that we compute two rolling or moving averages (mavg) -- one with a longer window that is supposed to capture long-term trends and one shorter window that is supposed to capture short-term trends. Once the short-mavg crosses the long-mavg from below we assume that the stock price has upwards momentum and long the stock. If the short-mavg crosses from above we exit the positions as we assume the stock to go down further.\n",
|
||
"\n",
|
||
"As we need to have access to previous prices to implement this strategy we need a new concept: History\n",
|
||
"\n",
|
||
"`data.history()` is a convenience function that keeps a rolling window of data for you. The first argument is the asset or iterable of assets you're using, the second argument is the field you're looking for i.e. price, open, volume, the third argument is the number of bars, and the fourth argument is your frequency (either `'1d'` for `'1m'` but note that you need to have minute-level data for using `1m`). \n",
|
||
"\n",
|
||
"For a more detailed description of `data.history()`'s features, see the [Quantopian docs](https://www.quantopian.com/help#ide-history). Let's look at the strategy which should make this clear:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Populating the interactive namespace from numpy and matplotlib\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"%pylab inline\n",
|
||
"figsize(12, 12)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"metadata": {
|
||
"scrolled": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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REREpMlQgC0iIiIikkcKsEVERERE8kgBtoiIiIhIHinAFhERERHJIwXYIiIiIiJ5pABbRERERCSPFGCLiIiIiOSRAmwRERERkTxSgC0iIiIikkcKsEVEROT/s3fncT7W+//HH2/7jGYYa4yxhA4VCmWpfpGoRE5qZEb21Inq5JwWTiXalLRpc06kFJMWCjmpMJYvoaxZIg7G2IaMGcts5v3745p9X66ZzyzP++02t8/n2l+fa3TO6/Oa1/V+i4iLlGCLiIiIiLhICbaIiIiIiIuUYIuIiIiIuEgJtoiIiIiIi5Rgi4iIiIi4SAm2iIiIiIiLlGCLiIiIiLhICbaIiIiIiIuUYIuIiIiIuEgJtoiIiIiIi0pVgm2Muc0Ys9sYs8cY85Sn4ynLQkNDPR1CmaL76R7dS/fpnrpL99Ndup/u0b0sPqUmwTbGVADeBW4FrgSCjDGtPBtV2aX/CN2l++ke3Uv36Z66S/fTXbqf7tG9LD6lJsEGrgP2WmsPWmvjgc+Bfh6OqVTTf2jFS/e7eOl+Fx/d6+Kl+128dL+LV1m536UpwfYHwtIsH05aJwVUVv4Rlxa638VL97v46F4XL93v4qX7XbzKyv021lpPx5Anxph7gF7W2geSlu8DrrXW/j3NPqXjw4iIiIhIqWetNVmtr1TcgRTCYaBxmuVGwJG0O2T3IUVEREREiktpahHZCLQwxjQxxlQBBgILPRyTiIiIiEg6paaCba29aIx5GPgB54vBTGvtLg+HJSIiIiKSTqnpwRYRERERKQ1KU4uIiIiIiEiJpwRbRERERMRFSrBFRERERFykBFtERERExEVKsEVEREREXKQEW0RERETERUqwRURERERcpARbRERERMRFSrBFRERERFykBFtERERExEVKsEVEREREXKQEW0RERETERUqwRURERERcpARbRERERMRFSrBFRERERFykBFtERERExEVKsEVEREREXKQEW0RERETERUqwRURERERcpARbRERERMRFSrBFRERERFykBFtERERExEVKsEVEREREXKQEW0RERETERUqwRURERERcpARbRERERMRFSrBFRERERFykBFtERERExEVKsEVEREREXKQEW0RERETERUqwRURERERcpARbRERERMRFSrBFRERERFykBFtERERExEVKsEVEREREXKQEW0RERETERUqwRURE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VJRTrc7JzTfDzz/DFVfkfq0HH8xlB2ttmflxPk5m2a0vCX7//XcbEBBgjx07Zq219uDBg3b//v124sSJ1svLy37//fc2MTHRjh8/3nbu3Nlaa218fLxt0aKFfeWVV2x8fLxdvny59fHxsXv27LHWWjts2DBbs2ZNu27dOmuttTExMXbYsGH22WefzVNMTZs2tV26dLERERH2yJEjtl69erZDhw5269atNi4uzt588832+eefT9l/1qxZ9ty5czYuLs6OHTvWXn311SnbWrRoYX/66aeU5cDAQDtlyhRrrbVPPfWU7datmz1z5owNDw+3bdu2tQEBATnGVpJ/lyIiIuI5zoTn1q5YUVzXw9psctIS1YPtSWaSO/3O9rn8FdcrVqxIXFwcv/32G7Vr16Zxmr9f3HDDDdx6qzNc+ODBg3n77bcBWLduHefOneOpp54CoHv37vTp04eQkBAmTJgAQL9+/ejcuTMAVatWzffneOSRR6hTpw4AN954I/Xr16dt27YA3HXXXSxfvjxl32HDhqW8nzBhAm+99RbR0dH4+PgwcOBA5s6dS48ePYiOjmbJkiW88cYbAHz55Zf8+9//xtfXF19fXx599FEmTcq+n0lEREQkN8mzM3qSEuwk+U2M3dK8eXPeeustJk6cyI4dO7jtttt4/fXXAbj00ktT9vP29iYmJobExESOHj2aqZWiSZMmhIeHpywXttWifv36Ke+9vLwyLZ89exZw+rv/9a9/8dVXX3Hy5EmMMRhjOHnyJD4+PgQHB3P99dczffp05s+fT4cOHWjUqBEAR44cSXnvRswiIiIiaVILjylx42CXRwMHDmT16tUcOnQIIKUynZ2GDRsSFhaWbt2hQ4fw908dHjzjCCRFNfnlnDlzWLRoEcuXLycyMpIDBw6kbdmhdevWNGnShCVLlhASEkJwcHC6z3H48OF0n0FEREQkv5LHswZnRBBPU4LtYXv27GHFihXExcVRpUoVvLy8qFQp6z8sJCetnTp1onr16kyZMoWEhARCQ0NZvHgxQUFB2V6nfv367N+/P9vtBXX27FmqVq2Kn58f586dY/z48ZmS+eDgYKZNm8bq1asJDAxMWR8YGMjkyZOJjIwkPDyc9957z/X4REREpOxLOy51hRKQ3ZaAEMq32NhYxo0bR926dWnYsCERERG8/PLLWe6bnLhWrlyZhQsX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\n",
|
||
"text/plain": [
|
||
"<matplotlib.figure.Figure at 0x1172d3ac8>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>AAPL</th>\n",
|
||
" <th>algo_volatility</th>\n",
|
||
" <th>algorithm_period_return</th>\n",
|
||
" <th>alpha</th>\n",
|
||
" <th>benchmark_period_return</th>\n",
|
||
" <th>benchmark_volatility</th>\n",
|
||
" <th>beta</th>\n",
|
||
" <th>capital_used</th>\n",
|
||
" <th>ending_cash</th>\n",
|
||
" <th>ending_exposure</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>short_mavg</th>\n",
|
||
" <th>short_value</th>\n",
|
||
" <th>shorts_count</th>\n",
|
||
" <th>sortino</th>\n",
|
||
" <th>starting_cash</th>\n",
|
||
" <th>starting_exposure</th>\n",
|
||
" <th>starting_value</th>\n",
|
||
" <th>trading_days</th>\n",
|
||
" <th>transactions</th>\n",
|
||
" <th>treasury_period_return</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-02 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-0.009584</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-03 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.009773</td>\n",
|
||
" <td>0.105428</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-06 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.012616</td>\n",
|
||
" <td>0.076806</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-07 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.006552</td>\n",
|
||
" <td>0.103395</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-08 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.006335</td>\n",
|
||
" <td>0.090495</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-09 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.005685</td>\n",
|
||
" <td>0.081883</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-10 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.002978</td>\n",
|
||
" <td>0.077910</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-13 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.016271</td>\n",
|
||
" <td>0.102266</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-14 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.005523</td>\n",
|
||
" <td>0.117689</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-15 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.000162</td>\n",
|
||
" <td>0.114949</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-16 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.001462</td>\n",
|
||
" <td>0.109229</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-17 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.005712</td>\n",
|
||
" <td>0.105864</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-21 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.002761</td>\n",
|
||
" <td>0.102473</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-22 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.002112</td>\n",
|
||
" <td>0.098518</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-23 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.010288</td>\n",
|
||
" <td>0.100518</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-24 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.031404</td>\n",
|
||
" <td>0.127109</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-27 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.036169</td>\n",
|
||
" <td>0.123598</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>17</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-28 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.030429</td>\n",
|
||
" <td>0.123670</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-29 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.039742</td>\n",
|
||
" <td>0.123597</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-30 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.029563</td>\n",
|
||
" <td>0.128474</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-01-31 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.035248</td>\n",
|
||
" <td>0.126142</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-03 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.056960</td>\n",
|
||
" <td>0.141856</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-04 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.050382</td>\n",
|
||
" <td>0.142191</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-05 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.051546</td>\n",
|
||
" <td>0.139101</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-06 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.039038</td>\n",
|
||
" <td>0.144634</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-07 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.027127</td>\n",
|
||
" <td>0.148215</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-10 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.025340</td>\n",
|
||
" <td>0.145597</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-11 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.014673</td>\n",
|
||
" <td>0.147234</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-12 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.014186</td>\n",
|
||
" <td>0.144610</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2014-02-13 21:00:00+00:00</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-0.009096</td>\n",
|
||
" <td>0.143024</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10000000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</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",
|
||
" <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>2017-11-16 21:00:00+00:00</th>\n",
|
||
" <td>171.100</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000486</td>\n",
|
||
" <td>0.000071</td>\n",
|
||
" <td>0.400292</td>\n",
|
||
" <td>0.122557</td>\n",
|
||
" <td>0.000581</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17110.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>157.284780</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.969223</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16908.0</td>\n",
|
||
" <td>16908.0</td>\n",
|
||
" <td>978</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-17 21:00:00+00:00</th>\n",
|
||
" <td>170.150</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000477</td>\n",
|
||
" <td>0.000068</td>\n",
|
||
" <td>0.396177</td>\n",
|
||
" <td>0.122506</td>\n",
|
||
" <td>0.000581</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17015.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>157.533680</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.949155</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17110.0</td>\n",
|
||
" <td>17110.0</td>\n",
|
||
" <td>979</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-20 21:00:00+00:00</th>\n",
|
||
" <td>169.980</td>\n",
|
||
" <td>0.000189</td>\n",
|
||
" <td>0.000475</td>\n",
|
||
" <td>0.000068</td>\n",
|
||
" <td>0.398560</td>\n",
|
||
" <td>0.122445</td>\n",
|
||
" <td>0.000581</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16998.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>157.802300</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.945269</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17015.0</td>\n",
|
||
" <td>17015.0</td>\n",
|
||
" <td>980</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-21 21:00:00+00:00</th>\n",
|
||
" <td>173.140</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000507</td>\n",
|
||
" <td>0.000074</td>\n",
|
||
" <td>0.407710</td>\n",
|
||
" <td>0.122423</td>\n",
|
||
" <td>0.000584</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17314.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>158.099130</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.007593</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16998.0</td>\n",
|
||
" <td>16998.0</td>\n",
|
||
" <td>981</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-22 21:00:00+00:00</th>\n",
|
||
" <td>174.960</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000525</td>\n",
|
||
" <td>0.000079</td>\n",
|
||
" <td>0.406465</td>\n",
|
||
" <td>0.122362</td>\n",
|
||
" <td>0.000583</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17496.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>158.419340</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.043234</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17314.0</td>\n",
|
||
" <td>17314.0</td>\n",
|
||
" <td>982</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-24 18:00:00+00:00</th>\n",
|
||
" <td>174.970</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000525</td>\n",
|
||
" <td>0.000079</td>\n",
|
||
" <td>0.409714</td>\n",
|
||
" <td>0.122304</td>\n",
|
||
" <td>0.000583</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17497.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>158.733780</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.042902</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17496.0</td>\n",
|
||
" <td>17496.0</td>\n",
|
||
" <td>983</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-27 21:00:00+00:00</th>\n",
|
||
" <td>174.090</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000516</td>\n",
|
||
" <td>0.000077</td>\n",
|
||
" <td>0.409010</td>\n",
|
||
" <td>0.122242</td>\n",
|
||
" <td>0.000584</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17409.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>159.052960</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.024299</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17497.0</td>\n",
|
||
" <td>17497.0</td>\n",
|
||
" <td>984</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-28 21:00:00+00:00</th>\n",
|
||
" <td>173.070</td>\n",
|
||
" <td>0.000190</td>\n",
|
||
" <td>0.000506</td>\n",
|
||
" <td>0.000073</td>\n",
|
||
" <td>0.423304</td>\n",
|
||
" <td>0.122280</td>\n",
|
||
" <td>0.000581</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17307.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>159.347500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.002759</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17409.0</td>\n",
|
||
" <td>17409.0</td>\n",
|
||
" <td>985</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-29 21:00:00+00:00</th>\n",
|
||
" <td>169.480</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000470</td>\n",
|
||
" <td>0.000063</td>\n",
|
||
" <td>0.422438</td>\n",
|
||
" <td>0.122219</td>\n",
|
||
" <td>0.000581</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16948.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>159.597370</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.922113</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17307.0</td>\n",
|
||
" <td>17307.0</td>\n",
|
||
" <td>986</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-11-30 21:00:00+00:00</th>\n",
|
||
" <td>171.850</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000494</td>\n",
|
||
" <td>0.000068</td>\n",
|
||
" <td>0.434891</td>\n",
|
||
" <td>0.122230</td>\n",
|
||
" <td>0.000584</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17185.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>159.866260</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.968085</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16948.0</td>\n",
|
||
" <td>16948.0</td>\n",
|
||
" <td>987</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-01 21:00:00+00:00</th>\n",
|
||
" <td>171.050</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000486</td>\n",
|
||
" <td>0.000066</td>\n",
|
||
" <td>0.431913</td>\n",
|
||
" <td>0.122175</td>\n",
|
||
" <td>0.000584</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17105.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>160.125060</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.951470</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17185.0</td>\n",
|
||
" <td>17185.0</td>\n",
|
||
" <td>988</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-04 21:00:00+00:00</th>\n",
|
||
" <td>169.800</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000473</td>\n",
|
||
" <td>0.000063</td>\n",
|
||
" <td>0.430180</td>\n",
|
||
" <td>0.122115</td>\n",
|
||
" <td>0.000585</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16980.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>160.351140</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.925446</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17105.0</td>\n",
|
||
" <td>17105.0</td>\n",
|
||
" <td>989</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-05 21:00:00+00:00</th>\n",
|
||
" <td>169.640</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000472</td>\n",
|
||
" <td>0.000063</td>\n",
|
||
" <td>0.425037</td>\n",
|
||
" <td>0.122070</td>\n",
|
||
" <td>0.000585</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16964.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>160.562970</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.921836</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16980.0</td>\n",
|
||
" <td>16980.0</td>\n",
|
||
" <td>990</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-06 21:00:00+00:00</th>\n",
|
||
" <td>169.010</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000465</td>\n",
|
||
" <td>0.000061</td>\n",
|
||
" <td>0.425307</td>\n",
|
||
" <td>0.122009</td>\n",
|
||
" <td>0.000585</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16901.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>160.763320</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.908801</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16964.0</td>\n",
|
||
" <td>16964.0</td>\n",
|
||
" <td>991</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-07 21:00:00+00:00</th>\n",
|
||
" <td>169.452</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000470</td>\n",
|
||
" <td>0.000062</td>\n",
|
||
" <td>0.429801</td>\n",
|
||
" <td>0.121955</td>\n",
|
||
" <td>0.000585</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16945.2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>160.962910</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.916965</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16901.0</td>\n",
|
||
" <td>16901.0</td>\n",
|
||
" <td>992</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-08 21:00:00+00:00</th>\n",
|
||
" <td>169.370</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000469</td>\n",
|
||
" <td>0.000061</td>\n",
|
||
" <td>0.437598</td>\n",
|
||
" <td>0.121920</td>\n",
|
||
" <td>0.000584</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16937.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>161.152320</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.914900</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16945.2</td>\n",
|
||
" <td>16945.2</td>\n",
|
||
" <td>993</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-11 21:00:00+00:00</th>\n",
|
||
" <td>172.670</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000502</td>\n",
|
||
" <td>0.000069</td>\n",
|
||
" <td>0.441930</td>\n",
|
||
" <td>0.121866</td>\n",
|
||
" <td>0.000586</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17267.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>161.381500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.978747</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16937.0</td>\n",
|
||
" <td>16937.0</td>\n",
|
||
" <td>994</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-12 21:00:00+00:00</th>\n",
|
||
" <td>171.700</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000492</td>\n",
|
||
" <td>0.000066</td>\n",
|
||
" <td>0.444475</td>\n",
|
||
" <td>0.121807</td>\n",
|
||
" <td>0.000586</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17170.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>161.601680</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.958688</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17267.0</td>\n",
|
||
" <td>17267.0</td>\n",
|
||
" <td>995</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-13 21:00:00+00:00</th>\n",
|
||
" <td>172.270</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000498</td>\n",
|
||
" <td>0.000067</td>\n",
|
||
" <td>0.444312</td>\n",
|
||
" <td>0.121746</td>\n",
|
||
" <td>0.000585</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17227.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>161.809430</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.969295</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17170.0</td>\n",
|
||
" <td>17170.0</td>\n",
|
||
" <td>996</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-14 21:00:00+00:00</th>\n",
|
||
" <td>172.220</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000498</td>\n",
|
||
" <td>0.000068</td>\n",
|
||
" <td>0.438410</td>\n",
|
||
" <td>0.121705</td>\n",
|
||
" <td>0.000585</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17222.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>162.010200</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.967835</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17227.0</td>\n",
|
||
" <td>17227.0</td>\n",
|
||
" <td>997</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-15 21:00:00+00:00</th>\n",
|
||
" <td>173.870</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000514</td>\n",
|
||
" <td>0.000071</td>\n",
|
||
" <td>0.443013</td>\n",
|
||
" <td>0.121652</td>\n",
|
||
" <td>0.000586</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17387.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>162.220300</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.999415</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17222.0</td>\n",
|
||
" <td>17222.0</td>\n",
|
||
" <td>998</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-18 21:00:00+00:00</th>\n",
|
||
" <td>176.420</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000540</td>\n",
|
||
" <td>0.000076</td>\n",
|
||
" <td>0.452163</td>\n",
|
||
" <td>0.121628</td>\n",
|
||
" <td>0.000588</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17642.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>162.484790</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.048446</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17387.0</td>\n",
|
||
" <td>17387.0</td>\n",
|
||
" <td>999</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-19 21:00:00+00:00</th>\n",
|
||
" <td>174.540</td>\n",
|
||
" <td>0.000192</td>\n",
|
||
" <td>0.000521</td>\n",
|
||
" <td>0.000072</td>\n",
|
||
" <td>0.446586</td>\n",
|
||
" <td>0.121586</td>\n",
|
||
" <td>0.000589</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17454.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>162.741040</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.008761</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17642.0</td>\n",
|
||
" <td>17642.0</td>\n",
|
||
" <td>1000</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-20 21:00:00+00:00</th>\n",
|
||
" <td>174.350</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000519</td>\n",
|
||
" <td>0.000072</td>\n",
|
||
" <td>0.445828</td>\n",
|
||
" <td>0.121526</td>\n",
|
||
" <td>0.000589</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17435.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.001860</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.004553</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17454.0</td>\n",
|
||
" <td>17454.0</td>\n",
|
||
" <td>1001</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-21 21:00:00+00:00</th>\n",
|
||
" <td>175.010</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000525</td>\n",
|
||
" <td>0.000073</td>\n",
|
||
" <td>0.448806</td>\n",
|
||
" <td>0.121468</td>\n",
|
||
" <td>0.000590</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17501.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.257330</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.016818</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17435.0</td>\n",
|
||
" <td>17435.0</td>\n",
|
||
" <td>1002</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-22 21:00:00+00:00</th>\n",
|
||
" <td>175.010</td>\n",
|
||
" <td>0.000191</td>\n",
|
||
" <td>0.000525</td>\n",
|
||
" <td>0.000073</td>\n",
|
||
" <td>0.448427</td>\n",
|
||
" <td>0.121408</td>\n",
|
||
" <td>0.000590</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17501.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.442180</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.016311</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17501.0</td>\n",
|
||
" <td>17501.0</td>\n",
|
||
" <td>1003</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-26 21:00:00+00:00</th>\n",
|
||
" <td>170.570</td>\n",
|
||
" <td>0.000193</td>\n",
|
||
" <td>0.000481</td>\n",
|
||
" <td>0.000062</td>\n",
|
||
" <td>0.446694</td>\n",
|
||
" <td>0.121350</td>\n",
|
||
" <td>0.000591</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17057.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.598270</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.916663</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17501.0</td>\n",
|
||
" <td>17501.0</td>\n",
|
||
" <td>1004</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-27 21:00:00+00:00</th>\n",
|
||
" <td>170.600</td>\n",
|
||
" <td>0.000192</td>\n",
|
||
" <td>0.000481</td>\n",
|
||
" <td>0.000062</td>\n",
|
||
" <td>0.447398</td>\n",
|
||
" <td>0.121290</td>\n",
|
||
" <td>0.000591</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17060.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.746493</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.916778</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17057.0</td>\n",
|
||
" <td>17057.0</td>\n",
|
||
" <td>1005</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-28 21:00:00+00:00</th>\n",
|
||
" <td>171.080</td>\n",
|
||
" <td>0.000192</td>\n",
|
||
" <td>0.000486</td>\n",
|
||
" <td>0.000062</td>\n",
|
||
" <td>0.450376</td>\n",
|
||
" <td>0.121232</td>\n",
|
||
" <td>0.000591</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17108.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.899510</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.925456</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17060.0</td>\n",
|
||
" <td>17060.0</td>\n",
|
||
" <td>1006</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2017-12-29 21:00:00+00:00</th>\n",
|
||
" <td>169.230</td>\n",
|
||
" <td>0.000193</td>\n",
|
||
" <td>0.000468</td>\n",
|
||
" <td>0.000058</td>\n",
|
||
" <td>0.444908</td>\n",
|
||
" <td>0.121190</td>\n",
|
||
" <td>0.000592</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>16923.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.997270</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.887619</td>\n",
|
||
" <td>9987753.7</td>\n",
|
||
" <td>17108.0</td>\n",
|
||
" <td>17108.0</td>\n",
|
||
" <td>1007</td>\n",
|
||
" <td>[]</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>1007 rows × 40 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" AAPL algo_volatility algorithm_period_return \\\n",
|
||
"2014-01-02 21:00:00+00:00 NaN NaN 0.000000 \n",
|
||
"2014-01-03 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-06 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-07 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-08 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-09 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-10 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-13 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-14 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-15 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-16 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-17 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-21 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-22 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-23 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-24 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-27 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-28 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-29 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-30 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-01-31 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-03 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-04 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-05 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-06 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-07 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-10 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-11 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-12 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"2014-02-13 21:00:00+00:00 NaN 0.000000 0.000000 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 171.100 0.000190 0.000486 \n",
|
||
"2017-11-17 21:00:00+00:00 170.150 0.000190 0.000477 \n",
|
||
"2017-11-20 21:00:00+00:00 169.980 0.000189 0.000475 \n",
|
||
"2017-11-21 21:00:00+00:00 173.140 0.000190 0.000507 \n",
|
||
"2017-11-22 21:00:00+00:00 174.960 0.000190 0.000525 \n",
|
||
"2017-11-24 18:00:00+00:00 174.970 0.000190 0.000525 \n",
|
||
"2017-11-27 21:00:00+00:00 174.090 0.000190 0.000516 \n",
|
||
"2017-11-28 21:00:00+00:00 173.070 0.000190 0.000506 \n",
|
||
"2017-11-29 21:00:00+00:00 169.480 0.000191 0.000470 \n",
|
||
"2017-11-30 21:00:00+00:00 171.850 0.000191 0.000494 \n",
|
||
"2017-12-01 21:00:00+00:00 171.050 0.000191 0.000486 \n",
|
||
"2017-12-04 21:00:00+00:00 169.800 0.000191 0.000473 \n",
|
||
"2017-12-05 21:00:00+00:00 169.640 0.000191 0.000472 \n",
|
||
"2017-12-06 21:00:00+00:00 169.010 0.000191 0.000465 \n",
|
||
"2017-12-07 21:00:00+00:00 169.452 0.000191 0.000470 \n",
|
||
"2017-12-08 21:00:00+00:00 169.370 0.000191 0.000469 \n",
|
||
"2017-12-11 21:00:00+00:00 172.670 0.000191 0.000502 \n",
|
||
"2017-12-12 21:00:00+00:00 171.700 0.000191 0.000492 \n",
|
||
"2017-12-13 21:00:00+00:00 172.270 0.000191 0.000498 \n",
|
||
"2017-12-14 21:00:00+00:00 172.220 0.000191 0.000498 \n",
|
||
"2017-12-15 21:00:00+00:00 173.870 0.000191 0.000514 \n",
|
||
"2017-12-18 21:00:00+00:00 176.420 0.000191 0.000540 \n",
|
||
"2017-12-19 21:00:00+00:00 174.540 0.000192 0.000521 \n",
|
||
"2017-12-20 21:00:00+00:00 174.350 0.000191 0.000519 \n",
|
||
"2017-12-21 21:00:00+00:00 175.010 0.000191 0.000525 \n",
|
||
"2017-12-22 21:00:00+00:00 175.010 0.000191 0.000525 \n",
|
||
"2017-12-26 21:00:00+00:00 170.570 0.000193 0.000481 \n",
|
||
"2017-12-27 21:00:00+00:00 170.600 0.000192 0.000481 \n",
|
||
"2017-12-28 21:00:00+00:00 171.080 0.000192 0.000486 \n",
|
||
"2017-12-29 21:00:00+00:00 169.230 0.000193 0.000468 \n",
|
||
"\n",
|
||
" alpha benchmark_period_return \\\n",
|
||
"2014-01-02 21:00:00+00:00 NaN -0.009584 \n",
|
||
"2014-01-03 21:00:00+00:00 0.000000 -0.009773 \n",
|
||
"2014-01-06 21:00:00+00:00 0.000000 -0.012616 \n",
|
||
"2014-01-07 21:00:00+00:00 0.000000 -0.006552 \n",
|
||
"2014-01-08 21:00:00+00:00 0.000000 -0.006335 \n",
|
||
"2014-01-09 21:00:00+00:00 0.000000 -0.005685 \n",
|
||
"2014-01-10 21:00:00+00:00 0.000000 -0.002978 \n",
|
||
"2014-01-13 21:00:00+00:00 0.000000 -0.016271 \n",
|
||
"2014-01-14 21:00:00+00:00 0.000000 -0.005523 \n",
|
||
"2014-01-15 21:00:00+00:00 0.000000 -0.000162 \n",
|
||
"2014-01-16 21:00:00+00:00 0.000000 -0.001462 \n",
|
||
"2014-01-17 21:00:00+00:00 0.000000 -0.005712 \n",
|
||
"2014-01-21 21:00:00+00:00 0.000000 -0.002761 \n",
|
||
"2014-01-22 21:00:00+00:00 0.000000 -0.002112 \n",
|
||
"2014-01-23 21:00:00+00:00 0.000000 -0.010288 \n",
|
||
"2014-01-24 21:00:00+00:00 0.000000 -0.031404 \n",
|
||
"2014-01-27 21:00:00+00:00 0.000000 -0.036169 \n",
|
||
"2014-01-28 21:00:00+00:00 0.000000 -0.030429 \n",
|
||
"2014-01-29 21:00:00+00:00 0.000000 -0.039742 \n",
|
||
"2014-01-30 21:00:00+00:00 0.000000 -0.029563 \n",
|
||
"2014-01-31 21:00:00+00:00 0.000000 -0.035248 \n",
|
||
"2014-02-03 21:00:00+00:00 0.000000 -0.056960 \n",
|
||
"2014-02-04 21:00:00+00:00 0.000000 -0.050382 \n",
|
||
"2014-02-05 21:00:00+00:00 0.000000 -0.051546 \n",
|
||
"2014-02-06 21:00:00+00:00 0.000000 -0.039038 \n",
|
||
"2014-02-07 21:00:00+00:00 0.000000 -0.027127 \n",
|
||
"2014-02-10 21:00:00+00:00 0.000000 -0.025340 \n",
|
||
"2014-02-11 21:00:00+00:00 0.000000 -0.014673 \n",
|
||
"2014-02-12 21:00:00+00:00 0.000000 -0.014186 \n",
|
||
"2014-02-13 21:00:00+00:00 0.000000 -0.009096 \n",
|
||
"... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 0.000071 0.400292 \n",
|
||
"2017-11-17 21:00:00+00:00 0.000068 0.396177 \n",
|
||
"2017-11-20 21:00:00+00:00 0.000068 0.398560 \n",
|
||
"2017-11-21 21:00:00+00:00 0.000074 0.407710 \n",
|
||
"2017-11-22 21:00:00+00:00 0.000079 0.406465 \n",
|
||
"2017-11-24 18:00:00+00:00 0.000079 0.409714 \n",
|
||
"2017-11-27 21:00:00+00:00 0.000077 0.409010 \n",
|
||
"2017-11-28 21:00:00+00:00 0.000073 0.423304 \n",
|
||
"2017-11-29 21:00:00+00:00 0.000063 0.422438 \n",
|
||
"2017-11-30 21:00:00+00:00 0.000068 0.434891 \n",
|
||
"2017-12-01 21:00:00+00:00 0.000066 0.431913 \n",
|
||
"2017-12-04 21:00:00+00:00 0.000063 0.430180 \n",
|
||
"2017-12-05 21:00:00+00:00 0.000063 0.425037 \n",
|
||
"2017-12-06 21:00:00+00:00 0.000061 0.425307 \n",
|
||
"2017-12-07 21:00:00+00:00 0.000062 0.429801 \n",
|
||
"2017-12-08 21:00:00+00:00 0.000061 0.437598 \n",
|
||
"2017-12-11 21:00:00+00:00 0.000069 0.441930 \n",
|
||
"2017-12-12 21:00:00+00:00 0.000066 0.444475 \n",
|
||
"2017-12-13 21:00:00+00:00 0.000067 0.444312 \n",
|
||
"2017-12-14 21:00:00+00:00 0.000068 0.438410 \n",
|
||
"2017-12-15 21:00:00+00:00 0.000071 0.443013 \n",
|
||
"2017-12-18 21:00:00+00:00 0.000076 0.452163 \n",
|
||
"2017-12-19 21:00:00+00:00 0.000072 0.446586 \n",
|
||
"2017-12-20 21:00:00+00:00 0.000072 0.445828 \n",
|
||
"2017-12-21 21:00:00+00:00 0.000073 0.448806 \n",
|
||
"2017-12-22 21:00:00+00:00 0.000073 0.448427 \n",
|
||
"2017-12-26 21:00:00+00:00 0.000062 0.446694 \n",
|
||
"2017-12-27 21:00:00+00:00 0.000062 0.447398 \n",
|
||
"2017-12-28 21:00:00+00:00 0.000062 0.450376 \n",
|
||
"2017-12-29 21:00:00+00:00 0.000058 0.444908 \n",
|
||
"\n",
|
||
" benchmark_volatility beta capital_used \\\n",
|
||
"2014-01-02 21:00:00+00:00 NaN NaN 0.0 \n",
|
||
"2014-01-03 21:00:00+00:00 0.105428 0.000000 0.0 \n",
|
||
"2014-01-06 21:00:00+00:00 0.076806 0.000000 0.0 \n",
|
||
"2014-01-07 21:00:00+00:00 0.103395 0.000000 0.0 \n",
|
||
"2014-01-08 21:00:00+00:00 0.090495 0.000000 0.0 \n",
|
||
"2014-01-09 21:00:00+00:00 0.081883 0.000000 0.0 \n",
|
||
"2014-01-10 21:00:00+00:00 0.077910 0.000000 0.0 \n",
|
||
"2014-01-13 21:00:00+00:00 0.102266 0.000000 0.0 \n",
|
||
"2014-01-14 21:00:00+00:00 0.117689 0.000000 0.0 \n",
|
||
"2014-01-15 21:00:00+00:00 0.114949 0.000000 0.0 \n",
|
||
"2014-01-16 21:00:00+00:00 0.109229 0.000000 0.0 \n",
|
||
"2014-01-17 21:00:00+00:00 0.105864 0.000000 0.0 \n",
|
||
"2014-01-21 21:00:00+00:00 0.102473 0.000000 0.0 \n",
|
||
"2014-01-22 21:00:00+00:00 0.098518 0.000000 0.0 \n",
|
||
"2014-01-23 21:00:00+00:00 0.100518 0.000000 0.0 \n",
|
||
"2014-01-24 21:00:00+00:00 0.127109 0.000000 0.0 \n",
|
||
"2014-01-27 21:00:00+00:00 0.123598 0.000000 0.0 \n",
|
||
"2014-01-28 21:00:00+00:00 0.123670 0.000000 0.0 \n",
|
||
"2014-01-29 21:00:00+00:00 0.123597 0.000000 0.0 \n",
|
||
"2014-01-30 21:00:00+00:00 0.128474 0.000000 0.0 \n",
|
||
"2014-01-31 21:00:00+00:00 0.126142 0.000000 0.0 \n",
|
||
"2014-02-03 21:00:00+00:00 0.141856 0.000000 0.0 \n",
|
||
"2014-02-04 21:00:00+00:00 0.142191 0.000000 0.0 \n",
|
||
"2014-02-05 21:00:00+00:00 0.139101 0.000000 0.0 \n",
|
||
"2014-02-06 21:00:00+00:00 0.144634 0.000000 0.0 \n",
|
||
"2014-02-07 21:00:00+00:00 0.148215 0.000000 0.0 \n",
|
||
"2014-02-10 21:00:00+00:00 0.145597 0.000000 0.0 \n",
|
||
"2014-02-11 21:00:00+00:00 0.147234 0.000000 0.0 \n",
|
||
"2014-02-12 21:00:00+00:00 0.144610 0.000000 0.0 \n",
|
||
"2014-02-13 21:00:00+00:00 0.143024 0.000000 0.0 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 0.122557 0.000581 0.0 \n",
|
||
"2017-11-17 21:00:00+00:00 0.122506 0.000581 0.0 \n",
|
||
"2017-11-20 21:00:00+00:00 0.122445 0.000581 0.0 \n",
|
||
"2017-11-21 21:00:00+00:00 0.122423 0.000584 0.0 \n",
|
||
"2017-11-22 21:00:00+00:00 0.122362 0.000583 0.0 \n",
|
||
"2017-11-24 18:00:00+00:00 0.122304 0.000583 0.0 \n",
|
||
"2017-11-27 21:00:00+00:00 0.122242 0.000584 0.0 \n",
|
||
"2017-11-28 21:00:00+00:00 0.122280 0.000581 0.0 \n",
|
||
"2017-11-29 21:00:00+00:00 0.122219 0.000581 0.0 \n",
|
||
"2017-11-30 21:00:00+00:00 0.122230 0.000584 0.0 \n",
|
||
"2017-12-01 21:00:00+00:00 0.122175 0.000584 0.0 \n",
|
||
"2017-12-04 21:00:00+00:00 0.122115 0.000585 0.0 \n",
|
||
"2017-12-05 21:00:00+00:00 0.122070 0.000585 0.0 \n",
|
||
"2017-12-06 21:00:00+00:00 0.122009 0.000585 0.0 \n",
|
||
"2017-12-07 21:00:00+00:00 0.121955 0.000585 0.0 \n",
|
||
"2017-12-08 21:00:00+00:00 0.121920 0.000584 0.0 \n",
|
||
"2017-12-11 21:00:00+00:00 0.121866 0.000586 0.0 \n",
|
||
"2017-12-12 21:00:00+00:00 0.121807 0.000586 0.0 \n",
|
||
"2017-12-13 21:00:00+00:00 0.121746 0.000585 0.0 \n",
|
||
"2017-12-14 21:00:00+00:00 0.121705 0.000585 0.0 \n",
|
||
"2017-12-15 21:00:00+00:00 0.121652 0.000586 0.0 \n",
|
||
"2017-12-18 21:00:00+00:00 0.121628 0.000588 0.0 \n",
|
||
"2017-12-19 21:00:00+00:00 0.121586 0.000589 0.0 \n",
|
||
"2017-12-20 21:00:00+00:00 0.121526 0.000589 0.0 \n",
|
||
"2017-12-21 21:00:00+00:00 0.121468 0.000590 0.0 \n",
|
||
"2017-12-22 21:00:00+00:00 0.121408 0.000590 0.0 \n",
|
||
"2017-12-26 21:00:00+00:00 0.121350 0.000591 0.0 \n",
|
||
"2017-12-27 21:00:00+00:00 0.121290 0.000591 0.0 \n",
|
||
"2017-12-28 21:00:00+00:00 0.121232 0.000591 0.0 \n",
|
||
"2017-12-29 21:00:00+00:00 0.121190 0.000592 0.0 \n",
|
||
"\n",
|
||
" ending_cash ending_exposure \\\n",
|
||
"2014-01-02 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-03 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-06 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-07 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-08 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-09 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-10 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-13 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-14 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-15 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-16 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-17 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-21 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-22 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-23 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-24 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-27 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-28 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-29 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-30 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-01-31 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-03 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-04 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-05 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-06 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-07 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-10 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-11 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-12 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"2014-02-13 21:00:00+00:00 10000000.0 0.0 \n",
|
||
"... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 9987753.7 17110.0 \n",
|
||
"2017-11-17 21:00:00+00:00 9987753.7 17015.0 \n",
|
||
"2017-11-20 21:00:00+00:00 9987753.7 16998.0 \n",
|
||
"2017-11-21 21:00:00+00:00 9987753.7 17314.0 \n",
|
||
"2017-11-22 21:00:00+00:00 9987753.7 17496.0 \n",
|
||
"2017-11-24 18:00:00+00:00 9987753.7 17497.0 \n",
|
||
"2017-11-27 21:00:00+00:00 9987753.7 17409.0 \n",
|
||
"2017-11-28 21:00:00+00:00 9987753.7 17307.0 \n",
|
||
"2017-11-29 21:00:00+00:00 9987753.7 16948.0 \n",
|
||
"2017-11-30 21:00:00+00:00 9987753.7 17185.0 \n",
|
||
"2017-12-01 21:00:00+00:00 9987753.7 17105.0 \n",
|
||
"2017-12-04 21:00:00+00:00 9987753.7 16980.0 \n",
|
||
"2017-12-05 21:00:00+00:00 9987753.7 16964.0 \n",
|
||
"2017-12-06 21:00:00+00:00 9987753.7 16901.0 \n",
|
||
"2017-12-07 21:00:00+00:00 9987753.7 16945.2 \n",
|
||
"2017-12-08 21:00:00+00:00 9987753.7 16937.0 \n",
|
||
"2017-12-11 21:00:00+00:00 9987753.7 17267.0 \n",
|
||
"2017-12-12 21:00:00+00:00 9987753.7 17170.0 \n",
|
||
"2017-12-13 21:00:00+00:00 9987753.7 17227.0 \n",
|
||
"2017-12-14 21:00:00+00:00 9987753.7 17222.0 \n",
|
||
"2017-12-15 21:00:00+00:00 9987753.7 17387.0 \n",
|
||
"2017-12-18 21:00:00+00:00 9987753.7 17642.0 \n",
|
||
"2017-12-19 21:00:00+00:00 9987753.7 17454.0 \n",
|
||
"2017-12-20 21:00:00+00:00 9987753.7 17435.0 \n",
|
||
"2017-12-21 21:00:00+00:00 9987753.7 17501.0 \n",
|
||
"2017-12-22 21:00:00+00:00 9987753.7 17501.0 \n",
|
||
"2017-12-26 21:00:00+00:00 9987753.7 17057.0 \n",
|
||
"2017-12-27 21:00:00+00:00 9987753.7 17060.0 \n",
|
||
"2017-12-28 21:00:00+00:00 9987753.7 17108.0 \n",
|
||
"2017-12-29 21:00:00+00:00 9987753.7 16923.0 \n",
|
||
"\n",
|
||
" ... short_mavg short_value \\\n",
|
||
"2014-01-02 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-03 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-06 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-07 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-08 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-09 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-10 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-13 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-14 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-15 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-16 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-17 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-21 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-22 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-23 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-24 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-27 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-28 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-29 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-30 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-01-31 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-03 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-04 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-05 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-06 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-07 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-10 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-11 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-12 21:00:00+00:00 ... NaN 0 \n",
|
||
"2014-02-13 21:00:00+00:00 ... NaN 0 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 ... 157.284780 0 \n",
|
||
"2017-11-17 21:00:00+00:00 ... 157.533680 0 \n",
|
||
"2017-11-20 21:00:00+00:00 ... 157.802300 0 \n",
|
||
"2017-11-21 21:00:00+00:00 ... 158.099130 0 \n",
|
||
"2017-11-22 21:00:00+00:00 ... 158.419340 0 \n",
|
||
"2017-11-24 18:00:00+00:00 ... 158.733780 0 \n",
|
||
"2017-11-27 21:00:00+00:00 ... 159.052960 0 \n",
|
||
"2017-11-28 21:00:00+00:00 ... 159.347500 0 \n",
|
||
"2017-11-29 21:00:00+00:00 ... 159.597370 0 \n",
|
||
"2017-11-30 21:00:00+00:00 ... 159.866260 0 \n",
|
||
"2017-12-01 21:00:00+00:00 ... 160.125060 0 \n",
|
||
"2017-12-04 21:00:00+00:00 ... 160.351140 0 \n",
|
||
"2017-12-05 21:00:00+00:00 ... 160.562970 0 \n",
|
||
"2017-12-06 21:00:00+00:00 ... 160.763320 0 \n",
|
||
"2017-12-07 21:00:00+00:00 ... 160.962910 0 \n",
|
||
"2017-12-08 21:00:00+00:00 ... 161.152320 0 \n",
|
||
"2017-12-11 21:00:00+00:00 ... 161.381500 0 \n",
|
||
"2017-12-12 21:00:00+00:00 ... 161.601680 0 \n",
|
||
"2017-12-13 21:00:00+00:00 ... 161.809430 0 \n",
|
||
"2017-12-14 21:00:00+00:00 ... 162.010200 0 \n",
|
||
"2017-12-15 21:00:00+00:00 ... 162.220300 0 \n",
|
||
"2017-12-18 21:00:00+00:00 ... 162.484790 0 \n",
|
||
"2017-12-19 21:00:00+00:00 ... 162.741040 0 \n",
|
||
"2017-12-20 21:00:00+00:00 ... 163.001860 0 \n",
|
||
"2017-12-21 21:00:00+00:00 ... 163.257330 0 \n",
|
||
"2017-12-22 21:00:00+00:00 ... 163.442180 0 \n",
|
||
"2017-12-26 21:00:00+00:00 ... 163.598270 0 \n",
|
||
"2017-12-27 21:00:00+00:00 ... 163.746493 0 \n",
|
||
"2017-12-28 21:00:00+00:00 ... 163.899510 0 \n",
|
||
"2017-12-29 21:00:00+00:00 ... 163.997270 0 \n",
|
||
"\n",
|
||
" shorts_count sortino starting_cash \\\n",
|
||
"2014-01-02 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-03 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-06 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-07 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-08 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-09 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-10 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-13 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-14 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-15 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-16 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-17 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-21 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-22 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-23 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-24 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-27 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-28 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-29 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-30 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-01-31 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-03 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-04 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-05 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-06 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-07 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-10 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-11 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-12 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"2014-02-13 21:00:00+00:00 0 NaN 10000000.0 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 0 0.969223 9987753.7 \n",
|
||
"2017-11-17 21:00:00+00:00 0 0.949155 9987753.7 \n",
|
||
"2017-11-20 21:00:00+00:00 0 0.945269 9987753.7 \n",
|
||
"2017-11-21 21:00:00+00:00 0 1.007593 9987753.7 \n",
|
||
"2017-11-22 21:00:00+00:00 0 1.043234 9987753.7 \n",
|
||
"2017-11-24 18:00:00+00:00 0 1.042902 9987753.7 \n",
|
||
"2017-11-27 21:00:00+00:00 0 1.024299 9987753.7 \n",
|
||
"2017-11-28 21:00:00+00:00 0 1.002759 9987753.7 \n",
|
||
"2017-11-29 21:00:00+00:00 0 0.922113 9987753.7 \n",
|
||
"2017-11-30 21:00:00+00:00 0 0.968085 9987753.7 \n",
|
||
"2017-12-01 21:00:00+00:00 0 0.951470 9987753.7 \n",
|
||
"2017-12-04 21:00:00+00:00 0 0.925446 9987753.7 \n",
|
||
"2017-12-05 21:00:00+00:00 0 0.921836 9987753.7 \n",
|
||
"2017-12-06 21:00:00+00:00 0 0.908801 9987753.7 \n",
|
||
"2017-12-07 21:00:00+00:00 0 0.916965 9987753.7 \n",
|
||
"2017-12-08 21:00:00+00:00 0 0.914900 9987753.7 \n",
|
||
"2017-12-11 21:00:00+00:00 0 0.978747 9987753.7 \n",
|
||
"2017-12-12 21:00:00+00:00 0 0.958688 9987753.7 \n",
|
||
"2017-12-13 21:00:00+00:00 0 0.969295 9987753.7 \n",
|
||
"2017-12-14 21:00:00+00:00 0 0.967835 9987753.7 \n",
|
||
"2017-12-15 21:00:00+00:00 0 0.999415 9987753.7 \n",
|
||
"2017-12-18 21:00:00+00:00 0 1.048446 9987753.7 \n",
|
||
"2017-12-19 21:00:00+00:00 0 1.008761 9987753.7 \n",
|
||
"2017-12-20 21:00:00+00:00 0 1.004553 9987753.7 \n",
|
||
"2017-12-21 21:00:00+00:00 0 1.016818 9987753.7 \n",
|
||
"2017-12-22 21:00:00+00:00 0 1.016311 9987753.7 \n",
|
||
"2017-12-26 21:00:00+00:00 0 0.916663 9987753.7 \n",
|
||
"2017-12-27 21:00:00+00:00 0 0.916778 9987753.7 \n",
|
||
"2017-12-28 21:00:00+00:00 0 0.925456 9987753.7 \n",
|
||
"2017-12-29 21:00:00+00:00 0 0.887619 9987753.7 \n",
|
||
"\n",
|
||
" starting_exposure starting_value trading_days \\\n",
|
||
"2014-01-02 21:00:00+00:00 0.0 0.0 1 \n",
|
||
"2014-01-03 21:00:00+00:00 0.0 0.0 2 \n",
|
||
"2014-01-06 21:00:00+00:00 0.0 0.0 3 \n",
|
||
"2014-01-07 21:00:00+00:00 0.0 0.0 4 \n",
|
||
"2014-01-08 21:00:00+00:00 0.0 0.0 5 \n",
|
||
"2014-01-09 21:00:00+00:00 0.0 0.0 6 \n",
|
||
"2014-01-10 21:00:00+00:00 0.0 0.0 7 \n",
|
||
"2014-01-13 21:00:00+00:00 0.0 0.0 8 \n",
|
||
"2014-01-14 21:00:00+00:00 0.0 0.0 9 \n",
|
||
"2014-01-15 21:00:00+00:00 0.0 0.0 10 \n",
|
||
"2014-01-16 21:00:00+00:00 0.0 0.0 11 \n",
|
||
"2014-01-17 21:00:00+00:00 0.0 0.0 12 \n",
|
||
"2014-01-21 21:00:00+00:00 0.0 0.0 13 \n",
|
||
"2014-01-22 21:00:00+00:00 0.0 0.0 14 \n",
|
||
"2014-01-23 21:00:00+00:00 0.0 0.0 15 \n",
|
||
"2014-01-24 21:00:00+00:00 0.0 0.0 16 \n",
|
||
"2014-01-27 21:00:00+00:00 0.0 0.0 17 \n",
|
||
"2014-01-28 21:00:00+00:00 0.0 0.0 18 \n",
|
||
"2014-01-29 21:00:00+00:00 0.0 0.0 19 \n",
|
||
"2014-01-30 21:00:00+00:00 0.0 0.0 20 \n",
|
||
"2014-01-31 21:00:00+00:00 0.0 0.0 21 \n",
|
||
"2014-02-03 21:00:00+00:00 0.0 0.0 22 \n",
|
||
"2014-02-04 21:00:00+00:00 0.0 0.0 23 \n",
|
||
"2014-02-05 21:00:00+00:00 0.0 0.0 24 \n",
|
||
"2014-02-06 21:00:00+00:00 0.0 0.0 25 \n",
|
||
"2014-02-07 21:00:00+00:00 0.0 0.0 26 \n",
|
||
"2014-02-10 21:00:00+00:00 0.0 0.0 27 \n",
|
||
"2014-02-11 21:00:00+00:00 0.0 0.0 28 \n",
|
||
"2014-02-12 21:00:00+00:00 0.0 0.0 29 \n",
|
||
"2014-02-13 21:00:00+00:00 0.0 0.0 30 \n",
|
||
"... ... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 16908.0 16908.0 978 \n",
|
||
"2017-11-17 21:00:00+00:00 17110.0 17110.0 979 \n",
|
||
"2017-11-20 21:00:00+00:00 17015.0 17015.0 980 \n",
|
||
"2017-11-21 21:00:00+00:00 16998.0 16998.0 981 \n",
|
||
"2017-11-22 21:00:00+00:00 17314.0 17314.0 982 \n",
|
||
"2017-11-24 18:00:00+00:00 17496.0 17496.0 983 \n",
|
||
"2017-11-27 21:00:00+00:00 17497.0 17497.0 984 \n",
|
||
"2017-11-28 21:00:00+00:00 17409.0 17409.0 985 \n",
|
||
"2017-11-29 21:00:00+00:00 17307.0 17307.0 986 \n",
|
||
"2017-11-30 21:00:00+00:00 16948.0 16948.0 987 \n",
|
||
"2017-12-01 21:00:00+00:00 17185.0 17185.0 988 \n",
|
||
"2017-12-04 21:00:00+00:00 17105.0 17105.0 989 \n",
|
||
"2017-12-05 21:00:00+00:00 16980.0 16980.0 990 \n",
|
||
"2017-12-06 21:00:00+00:00 16964.0 16964.0 991 \n",
|
||
"2017-12-07 21:00:00+00:00 16901.0 16901.0 992 \n",
|
||
"2017-12-08 21:00:00+00:00 16945.2 16945.2 993 \n",
|
||
"2017-12-11 21:00:00+00:00 16937.0 16937.0 994 \n",
|
||
"2017-12-12 21:00:00+00:00 17267.0 17267.0 995 \n",
|
||
"2017-12-13 21:00:00+00:00 17170.0 17170.0 996 \n",
|
||
"2017-12-14 21:00:00+00:00 17227.0 17227.0 997 \n",
|
||
"2017-12-15 21:00:00+00:00 17222.0 17222.0 998 \n",
|
||
"2017-12-18 21:00:00+00:00 17387.0 17387.0 999 \n",
|
||
"2017-12-19 21:00:00+00:00 17642.0 17642.0 1000 \n",
|
||
"2017-12-20 21:00:00+00:00 17454.0 17454.0 1001 \n",
|
||
"2017-12-21 21:00:00+00:00 17435.0 17435.0 1002 \n",
|
||
"2017-12-22 21:00:00+00:00 17501.0 17501.0 1003 \n",
|
||
"2017-12-26 21:00:00+00:00 17501.0 17501.0 1004 \n",
|
||
"2017-12-27 21:00:00+00:00 17057.0 17057.0 1005 \n",
|
||
"2017-12-28 21:00:00+00:00 17060.0 17060.0 1006 \n",
|
||
"2017-12-29 21:00:00+00:00 17108.0 17108.0 1007 \n",
|
||
"\n",
|
||
" transactions treasury_period_return \n",
|
||
"2014-01-02 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-03 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-06 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-07 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-08 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-09 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-10 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-13 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-14 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-15 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-16 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-17 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-21 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-22 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-23 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-24 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-27 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-28 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-29 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-30 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-01-31 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-03 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-04 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-05 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-06 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-07 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-10 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-11 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-12 21:00:00+00:00 [] 0.0 \n",
|
||
"2014-02-13 21:00:00+00:00 [] 0.0 \n",
|
||
"... ... ... \n",
|
||
"2017-11-16 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-17 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-20 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-21 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-22 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-24 18:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-27 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-28 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-29 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-11-30 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-01 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-04 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-05 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-06 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-07 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-08 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-11 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-12 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-13 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-14 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-15 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-18 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-19 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-20 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-21 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-22 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-26 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-27 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-28 21:00:00+00:00 [] 0.0 \n",
|
||
"2017-12-29 21:00:00+00:00 [] 0.0 \n",
|
||
"\n",
|
||
"[1007 rows x 40 columns]"
|
||
]
|
||
},
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"%%zipline --start 2014-1-1 --end 2018-1-1 -o perf_dma.pickle\n",
|
||
"\n",
|
||
"from zipline.api import order_target, record, symbol\n",
|
||
"import numpy as np\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"\n",
|
||
"def initialize(context):\n",
|
||
" context.i = 0\n",
|
||
" context.asset = symbol('AAPL')\n",
|
||
"\n",
|
||
"\n",
|
||
"def handle_data(context, data):\n",
|
||
" # Skip first 300 days to get full windows\n",
|
||
" context.i += 1\n",
|
||
" if context.i < 300:\n",
|
||
" return\n",
|
||
"\n",
|
||
" # Compute averages\n",
|
||
" # data.history() has to be called with the same params\n",
|
||
" # from above and returns a pandas dataframe.\n",
|
||
" short_mavg = data.history(context.asset, 'price', bar_count=100, frequency=\"1d\").mean()\n",
|
||
" long_mavg = data.history(context.asset, 'price', bar_count=300, frequency=\"1d\").mean()\n",
|
||
"\n",
|
||
" # Trading logic\n",
|
||
" if short_mavg > long_mavg:\n",
|
||
" # order_target orders as many shares as needed to\n",
|
||
" # achieve the desired number of shares.\n",
|
||
" order_target(context.asset, 100)\n",
|
||
" elif short_mavg < long_mavg:\n",
|
||
" order_target(context.asset, 0)\n",
|
||
"\n",
|
||
" # Save values for later inspection\n",
|
||
" record(AAPL=data.current(context.asset, 'price'),\n",
|
||
" short_mavg=short_mavg,\n",
|
||
" long_mavg=long_mavg)\n",
|
||
"\n",
|
||
"\n",
|
||
"def analyze(context, perf):\n",
|
||
" ax1 = plt.subplot(211)\n",
|
||
" perf.portfolio_value.plot(ax=ax1)\n",
|
||
" ax1.set_ylabel('portfolio value in $')\n",
|
||
" ax1.set_xlabel('time in years')\n",
|
||
"\n",
|
||
" ax2 = plt.subplot(212, sharex=ax1)\n",
|
||
"\n",
|
||
" perf['AAPL'].plot(ax=ax2)\n",
|
||
" perf[['short_mavg', 'long_mavg']].plot(ax=ax2)\n",
|
||
"\n",
|
||
" perf_trans = perf.ix[[t != [] for t in perf.transactions]]\n",
|
||
" buys = perf_trans.ix[[t[0]['amount'] > 0 for t in perf_trans.transactions]]\n",
|
||
" sells = perf_trans.ix[[t[0]['amount'] < 0 for t in perf_trans.transactions]]\n",
|
||
" ax2.plot(buys.index, perf.short_mavg.ix[buys.index], '^', markersize=10, color='m')\n",
|
||
" ax2.plot(sells.index, perf.short_mavg.ix[sells.index],'v', markersize=10, color='k')\n",
|
||
" ax2.set_ylabel('price in $')\n",
|
||
" ax2.set_xlabel('time in years')\n",
|
||
" plt.legend(loc=0)\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Here we are explicitly defining an `analyze()` function that gets automatically called once the backtest is done (this is not possible on Quantopian currently).\n",
|
||
"\n",
|
||
"Although it might not be directly apparent, the power of `history` (pun intended) can not be under-estimated as most algorithms make use of prior market developments in one form or another. You could easily devise a strategy that trains a classifier with [`scikit-learn`](http://scikit-learn.org/stable/) which tries to predict future market movements based on past prices (note, that most of the `scikit-learn` functions require `numpy.ndarray`s rather than `pandas.DataFrame`s, so you can simply pass the underlying `ndarray` of a `DataFrame` via `.values`).\n",
|
||
"\n",
|
||
"We also used the `order_target()` function above. This and other functions like it can make order management and portfolio rebalancing much easier. See the [Quantopian documentation on order functions](https://www.quantopian.com/help#api-order-methods) fore more details.\n",
|
||
"\n",
|
||
"# Conclusions\n",
|
||
"\n",
|
||
"We hope that this tutorial gave you a little insight into the architecture, API, and features of `zipline`. For next steps, check out some of the [examples](https://github.com/quantopian/zipline/tree/master/zipline/examples).\n",
|
||
"\n",
|
||
"Feel free to ask questions on [our mailing list](https://groups.google.com/forum/#!forum/zipline), report problems on our [GitHub issue tracker](https://github.com/quantopian/zipline/issues?state=open), [get involved](https://github.com/quantopian/zipline/wiki/Contribution-Requests), and [checkout Quantopian](https://quantopian.com)."
|
||
]
|
||
}
|
||
],
|
||
"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.5.4"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 1
|
||
}
|