Skip to content

Instantly share code, notes, and snippets.

@ak1211
Created Jun 23, 2017
Embed
What would you like to do?
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# テーブルの定義\n",
"\n",
"事前にこのSQLを実行してから次へ進む"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\\# 始値,高値,安値,終値(1時間足)\n",
"\n",
" CREATE TABLE `ohlc_1h` (\n",
" \t`id` BIGINT(20) UNSIGNED NOT NULL,\n",
"\t `sec_code` SMALLINT(5) UNSIGNED NOT NULL,\n",
"\t `at` DATETIME NOT NULL,\n",
"\t `open` FLOAT NULL DEFAULT NULL,\n",
"\t `high` FLOAT NULL DEFAULT NULL,\n",
"\t `low` FLOAT NULL DEFAULT NULL,\n",
"\t `close` FLOAT NULL DEFAULT NULL,\n",
"\t PRIMARY KEY (`id`)\n",
" ) ENGINE=InnoDB;\n",
"\n",
"\\# 出来高,売買代金(1時間足)\n",
"\n",
" CREATE TABLE `extra_1h` (\n",
" \t`id` BIGINT(20) UNSIGNED NOT NULL,\n",
"\t `sec_code` SMALLINT(5) UNSIGNED NOT NULL,\n",
"\t `at` DATETIME NOT NULL,\n",
"\t `volume` BIGINT(20) UNSIGNED NULL DEFAULT NULL,\n",
"\t `turnover` BIGINT(20) UNSIGNED NULL DEFAULT NULL,\n",
"\t PRIMARY KEY (`id`)\n",
" ) ENGINE=InnoDB;\n",
"\n",
"\\# 始値,高値,安値,終値(1日足)\n",
"\n",
" CREATE TABLE `ohlc_1d` (\n",
" \t`id` BIGINT(20) UNSIGNED NOT NULL,\n",
"\t `sec_code` SMALLINT(5) UNSIGNED NOT NULL,\n",
"\t `at` DATE NOT NULL,\n",
"\t `open` FLOAT NULL DEFAULT NULL,\n",
"\t `high` FLOAT NULL DEFAULT NULL,\n",
"\t `low` FLOAT NULL DEFAULT NULL,\n",
"\t `close` FLOAT NULL DEFAULT NULL,\n",
"\t PRIMARY KEY (`id`)\n",
" ) ENGINE=InnoDB;\n",
"\n",
"\\# 出来高,売買代金(1日足)\n",
"\n",
" CREATE TABLE `extra_1d` (\n",
" \t`id` BIGINT(20) UNSIGNED NOT NULL,\n",
"\t `sec_code` SMALLINT(5) UNSIGNED NOT NULL,\n",
"\t `at` DATE NOT NULL,\n",
"\t `volume` BIGINT(20) UNSIGNED NULL DEFAULT NULL,\n",
"\t `turnover` BIGINT(20) UNSIGNED NULL DEFAULT NULL,\n",
"\t PRIMARY KEY (`id`)\n",
" ) ENGINE=InnoDB;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 株価をCSVからデーターベースに格納するコード"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import datetime\n",
"import numpy as np\n",
"import pandas as pd\n",
"from sqlalchemy import create_engine\n",
"from sqlalchemy.sql import text\n",
"\n",
"# 証券コードと日付時刻から主キーを生成する関数\n",
"def make_ID(sec_code, datetime):\n",
" return 10**13 * sec_code + int(datetime.timestamp())\n",
"\n",
"# CSVファイルの1レコードに主キーと証券コードを追加する関数\n",
"def append_key(sec_code, row):\n",
" datetime = pd.to_datetime (row['at'])\n",
" row['id'] = make_ID (sec_code, datetime)\n",
" row['sec_code'] = sec_code\n",
" return row\n",
"\n",
"# CSVファイルを読み取ってデーターベースのテーブルに格納する関数\n",
"def csv_to_DB(engine, sec_code, tnames, csvfilename):\n",
" # CSVファイルの1行目は列名なので無視して\n",
" # 無視した列名の代わりを与える\n",
" df_csv = pd.read_csv (csvfilename, na_values='', header=None, skiprows=1)\n",
" if len(df_csv.columns) == 7:\n",
" df_csv.columns = ['date','open','high','low','close','volume','turnover']\n",
" else:\n",
" df_csv.columns = ['date','time','open','high','low','close','volume','turnover']\n",
" # date, time列を統合してat列を作る関数\n",
" def combine_date_time(row):\n",
" date_and_time = row['date']\n",
" del row['date']\n",
" if 'time' in row:\n",
" date_and_time = date_and_time + \" \" + row['time']\n",
" del row['time']\n",
" datetime = pd.to_datetime (date_and_time)\n",
" row['at'] = str(datetime)\n",
" return row\n",
" df = df_csv.apply (combine_date_time, axis=1)\n",
" df = df.apply (lambda r:append_key(sec_code,r), axis=1)\n",
" # 4値(ohlc)とその他に分ける\n",
" df_ohlc = df.loc[:,['id', 'sec_code', 'at', 'open', 'high', 'low', 'close']]\n",
" df_extra = df.loc[:,['id', 'sec_code', 'at', 'volume', 'turnover']]\n",
" # 分けた物をそれぞれのテーブルへ格納する\n",
" df_ohlc.to_sql (tnames['ohlc'], engine, if_exists='append', index=False) \n",
" df_extra.to_sql (tnames['extra'], engine, if_exists='append', index=False) \n",
" return df_csv\n",
"\n",
"# 1時間足を日足へ変換してDBへ\n",
"def batch_resample_1day(engine, sec_code, tname_hourly, tname_daily, strategy):\n",
" # 日足テーブルに登録されている最後の日を得る\n",
" sql=\"SELECT MAX(at) AS 'latest' FROM `{}`\".format (tname_daily)\n",
" sql=sql+\" WHERE `sec_code`='{}'\".format (sec_code)\n",
" sql=sql+\";\"\n",
" with engine.connect() as conn:\n",
" r = conn.execute(sql).fetchall()\n",
" latest = r[0].latest\n",
" # 日足テーブルに無いデーターを1時間足から計算して日足テーブルへ\n",
" sql=\"SELECT at,{} FROM `{}`\".format (\",\".join(strategy.keys()), tname_hourly)\n",
" sql=sql+\" WHERE `sec_code`='{}'\".format (sec_code)\n",
" if latest:\n",
" nextday = latest + datetime.timedelta(days=1)\n",
" sql=sql+\" AND `at` > '{}'\".format (nextday.strftime('%Y-%m-%d'))\n",
" sql=sql+\";\"\n",
" df = pd.read_sql(sql, engine, index_col='at')\n",
" if not df.empty:\n",
" df = df.resample('1D').agg(strategy)\n",
" df = df.reset_index().apply (lambda x:append_key(sec_code,x), axis=1)\n",
" df.to_sql (tname_daily, engine, if_exists='append', index=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# データーベースはmariaDB\n",
"ユーザー名はroot \n",
"パスワードは無し \n",
"データーベース名はstockdb"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"engine = create_engine(\"mysql+pymysql://root:@localhost:3306/stockdb\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 株価をデーターベースに格納する"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"株価データサイト k-db.com から \n",
"8406-T, 三菱UFJフィナンシャル・グループ \n",
"の1時間足CSVと日足CSVをもらってきて"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"日足CSVの株価をデーターベースに格納する"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"_=csv_to_DB (engine, 8306, {'ohlc':'ohlc_1d','extra':'extra_1d'}, 'stocks_8306-T_1d_2016.csv')\n",
"_=csv_to_DB (engine, 8306, {'ohlc':'ohlc_1d','extra':'extra_1d'}, 'stocks_8306-T_1d_2017.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1時間足CSVの株価をデーターベースに格納する"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"_=csv_to_DB (engine, 8306, {'ohlc':'ohlc_1h','extra':'extra_1h'}, 'stocks_8306-T_1h_201703.csv')\n",
"_=csv_to_DB (engine, 8306, {'ohlc':'ohlc_1h','extra':'extra_1h'}, 'stocks_8306-T_1h_201704.csv')\n",
"_=csv_to_DB (engine, 8306, {'ohlc':'ohlc_1h','extra':'extra_1h'}, 'stocks_8306-T_1h_201705.csv')\n",
"_=csv_to_DB (engine, 8306, {'ohlc':'ohlc_1h','extra':'extra_1h'}, 'stocks_8306-T_1h_201706.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 立ち会い終了後のバッチ処理\n",
"1時間足テーブルから日足を計算して日足テーブルへ"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true,
"scrolled": false
},
"outputs": [],
"source": [
"batch_resample_1day(engine, 8306,\n",
" 'ohlc_1h', 'ohlc_1d', {'open':'first', 'high':'max', 'low':'min', 'close':'last'})\n",
"batch_resample_1day(engine, 8306,\n",
" 'extra_1h', 'extra_1d', {'volume':'sum', 'turnover':'sum'})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# ここからは上の処理が出来ているかのテスト\n",
"日足をデーターベースから読み込む"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" </tr>\n",
" <tr>\n",
" <th>at</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2017-01-04</th>\n",
" <td>740.0</td>\n",
" <td>751.5</td>\n",
" <td>736.0</td>\n",
" <td>745.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-05</th>\n",
" <td>750.8</td>\n",
" <td>752.8</td>\n",
" <td>743.6</td>\n",
" <td>748.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-06</th>\n",
" <td>738.4</td>\n",
" <td>739.7</td>\n",
" <td>735.3</td>\n",
" <td>738.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-10</th>\n",
" <td>733.7</td>\n",
" <td>736.5</td>\n",
" <td>726.7</td>\n",
" <td>726.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-11</th>\n",
" <td>731.7</td>\n",
" <td>738.5</td>\n",
" <td>729.8</td>\n",
" <td>737.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-12</th>\n",
" <td>730.0</td>\n",
" <td>735.4</td>\n",
" <td>725.7</td>\n",
" <td>730.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-13</th>\n",
" <td>726.8</td>\n",
" <td>731.3</td>\n",
" <td>725.3</td>\n",
" <td>729.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-16</th>\n",
" <td>733.5</td>\n",
" <td>737.5</td>\n",
" <td>726.0</td>\n",
" <td>726.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-17</th>\n",
" <td>716.0</td>\n",
" <td>721.1</td>\n",
" <td>710.0</td>\n",
" <td>714.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-18</th>\n",
" <td>701.0</td>\n",
" <td>714.1</td>\n",
" <td>696.0</td>\n",
" <td>711.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-19</th>\n",
" <td>723.1</td>\n",
" <td>731.5</td>\n",
" <td>719.7</td>\n",
" <td>726.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-20</th>\n",
" <td>728.8</td>\n",
" <td>734.8</td>\n",
" <td>724.2</td>\n",
" <td>731.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-23</th>\n",
" <td>722.0</td>\n",
" <td>731.0</td>\n",
" <td>720.5</td>\n",
" <td>725.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-24</th>\n",
" <td>716.0</td>\n",
" <td>717.9</td>\n",
" <td>704.0</td>\n",
" <td>706.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-25</th>\n",
" <td>718.0</td>\n",
" <td>719.3</td>\n",
" <td>707.9</td>\n",
" <td>711.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-26</th>\n",
" <td>726.2</td>\n",
" <td>742.5</td>\n",
" <td>725.9</td>\n",
" <td>742.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-27</th>\n",
" <td>752.9</td>\n",
" <td>758.2</td>\n",
" <td>745.3</td>\n",
" <td>752.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-30</th>\n",
" <td>741.6</td>\n",
" <td>747.5</td>\n",
" <td>740.5</td>\n",
" <td>747.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-31</th>\n",
" <td>730.1</td>\n",
" <td>736.9</td>\n",
" <td>728.0</td>\n",
" <td>730.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-01</th>\n",
" <td>716.9</td>\n",
" <td>728.0</td>\n",
" <td>713.3</td>\n",
" <td>727.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-02</th>\n",
" <td>730.2</td>\n",
" <td>734.3</td>\n",
" <td>719.1</td>\n",
" <td>721.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-03</th>\n",
" <td>728.5</td>\n",
" <td>746.0</td>\n",
" <td>724.3</td>\n",
" <td>730.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-06</th>\n",
" <td>768.0</td>\n",
" <td>768.1</td>\n",
" <td>753.5</td>\n",
" <td>754.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-07</th>\n",
" <td>746.9</td>\n",
" <td>757.8</td>\n",
" <td>741.1</td>\n",
" <td>751.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-08</th>\n",
" <td>752.0</td>\n",
" <td>756.0</td>\n",
" <td>746.7</td>\n",
" <td>754.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-09</th>\n",
" <td>743.5</td>\n",
" <td>747.7</td>\n",
" <td>740.0</td>\n",
" <td>740.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-10</th>\n",
" <td>756.0</td>\n",
" <td>766.2</td>\n",
" <td>755.0</td>\n",
" <td>764.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-13</th>\n",
" <td>777.5</td>\n",
" <td>777.9</td>\n",
" <td>764.4</td>\n",
" <td>764.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-14</th>\n",
" <td>771.2</td>\n",
" <td>771.4</td>\n",
" <td>753.8</td>\n",
" <td>755.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-02-15</th>\n",
" <td>769.0</td>\n",
" <td>778.8</td>\n",
" <td>766.0</td>\n",
" <td>768.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-12</th>\n",
" <td>733.2</td>\n",
" <td>734.8</td>\n",
" <td>726.8</td>\n",
" <td>730.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-15</th>\n",
" <td>720.0</td>\n",
" <td>723.1</td>\n",
" <td>714.1</td>\n",
" <td>721.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-16</th>\n",
" <td>731.1</td>\n",
" <td>733.2</td>\n",
" <td>715.5</td>\n",
" <td>719.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-17</th>\n",
" <td>711.8</td>\n",
" <td>716.3</td>\n",
" <td>704.6</td>\n",
" <td>709.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-18</th>\n",
" <td>683.7</td>\n",
" <td>684.8</td>\n",
" <td>680.0</td>\n",
" <td>680.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-19</th>\n",
" <td>683.6</td>\n",
" <td>693.1</td>\n",
" <td>681.6</td>\n",
" <td>689.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-22</th>\n",
" <td>695.0</td>\n",
" <td>697.8</td>\n",
" <td>693.1</td>\n",
" <td>695.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-23</th>\n",
" <td>690.5</td>\n",
" <td>694.3</td>\n",
" <td>687.4</td>\n",
" <td>691.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-24</th>\n",
" <td>702.6</td>\n",
" <td>705.0</td>\n",
" <td>698.2</td>\n",
" <td>701.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-25</th>\n",
" <td>701.4</td>\n",
" <td>704.8</td>\n",
" <td>697.6</td>\n",
" <td>701.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-26</th>\n",
" <td>701.2</td>\n",
" <td>702.5</td>\n",
" <td>695.2</td>\n",
" <td>695.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-29</th>\n",
" <td>695.2</td>\n",
" <td>701.2</td>\n",
" <td>693.7</td>\n",
" <td>697.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-30</th>\n",
" <td>698.0</td>\n",
" <td>698.8</td>\n",
" <td>693.4</td>\n",
" <td>696.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-05-31</th>\n",
" <td>690.0</td>\n",
" <td>691.4</td>\n",
" <td>687.4</td>\n",
" <td>690.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-01</th>\n",
" <td>685.1</td>\n",
" <td>695.4</td>\n",
" <td>684.2</td>\n",
" <td>691.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-02</th>\n",
" <td>700.0</td>\n",
" <td>722.0</td>\n",
" <td>698.7</td>\n",
" <td>721.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-05</th>\n",
" <td>713.6</td>\n",
" <td>718.5</td>\n",
" <td>710.6</td>\n",
" <td>711.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-06</th>\n",
" <td>712.2</td>\n",
" <td>720.7</td>\n",
" <td>709.1</td>\n",
" <td>710.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-07</th>\n",
" <td>709.0</td>\n",
" <td>715.5</td>\n",
" <td>706.1</td>\n",
" <td>714.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-08</th>\n",
" <td>721.6</td>\n",
" <td>735.8</td>\n",
" <td>719.8</td>\n",
" <td>723.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-09</th>\n",
" <td>731.9</td>\n",
" <td>738.0</td>\n",
" <td>728.1</td>\n",
" <td>734.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-12</th>\n",
" <td>742.0</td>\n",
" <td>748.3</td>\n",
" <td>732.0</td>\n",
" <td>733.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-13</th>\n",
" <td>732.5</td>\n",
" <td>737.2</td>\n",
" <td>729.4</td>\n",
" <td>734.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-14</th>\n",
" <td>740.9</td>\n",
" <td>741.9</td>\n",
" <td>729.3</td>\n",
" <td>729.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-15</th>\n",
" <td>720.5</td>\n",
" <td>727.9</td>\n",
" <td>715.0</td>\n",
" <td>715.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-16</th>\n",
" <td>721.0</td>\n",
" <td>730.0</td>\n",
" <td>720.0</td>\n",
" <td>722.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-19</th>\n",
" <td>719.9</td>\n",
" <td>727.6</td>\n",
" <td>718.3</td>\n",
" <td>725.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-20</th>\n",
" <td>734.0</td>\n",
" <td>739.9</td>\n",
" <td>729.6</td>\n",
" <td>729.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-21</th>\n",
" <td>726.5</td>\n",
" <td>728.0</td>\n",
" <td>718.4</td>\n",
" <td>719.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-06-22</th>\n",
" <td>721.2</td>\n",
" <td>727.0</td>\n",
" <td>720.1</td>\n",
" <td>723.2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>117 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" open high low close\n",
"at \n",
"2017-01-04 740.0 751.5 736.0 745.2\n",
"2017-01-05 750.8 752.8 743.6 748.3\n",
"2017-01-06 738.4 739.7 735.3 738.0\n",
"2017-01-10 733.7 736.5 726.7 726.7\n",
"2017-01-11 731.7 738.5 729.8 737.7\n",
"2017-01-12 730.0 735.4 725.7 730.4\n",
"2017-01-13 726.8 731.3 725.3 729.5\n",
"2017-01-16 733.5 737.5 726.0 726.0\n",
"2017-01-17 716.0 721.1 710.0 714.8\n",
"2017-01-18 701.0 714.1 696.0 711.5\n",
"2017-01-19 723.1 731.5 719.7 726.3\n",
"2017-01-20 728.8 734.8 724.2 731.1\n",
"2017-01-23 722.0 731.0 720.5 725.8\n",
"2017-01-24 716.0 717.9 704.0 706.5\n",
"2017-01-25 718.0 719.3 707.9 711.2\n",
"2017-01-26 726.2 742.5 725.9 742.0\n",
"2017-01-27 752.9 758.2 745.3 752.9\n",
"2017-01-30 741.6 747.5 740.5 747.2\n",
"2017-01-31 730.1 736.9 728.0 730.9\n",
"2017-02-01 716.9 728.0 713.3 727.4\n",
"2017-02-02 730.2 734.3 719.1 721.7\n",
"2017-02-03 728.5 746.0 724.3 730.0\n",
"2017-02-06 768.0 768.1 753.5 754.7\n",
"2017-02-07 746.9 757.8 741.1 751.2\n",
"2017-02-08 752.0 756.0 746.7 754.0\n",
"2017-02-09 743.5 747.7 740.0 740.0\n",
"2017-02-10 756.0 766.2 755.0 764.1\n",
"2017-02-13 777.5 777.9 764.4 764.7\n",
"2017-02-14 771.2 771.4 753.8 755.6\n",
"2017-02-15 769.0 778.8 766.0 768.5\n",
"... ... ... ... ...\n",
"2017-05-12 733.2 734.8 726.8 730.0\n",
"2017-05-15 720.0 723.1 714.1 721.5\n",
"2017-05-16 731.1 733.2 715.5 719.7\n",
"2017-05-17 711.8 716.3 704.6 709.5\n",
"2017-05-18 683.7 684.8 680.0 680.8\n",
"2017-05-19 683.6 693.1 681.6 689.9\n",
"2017-05-22 695.0 697.8 693.1 695.6\n",
"2017-05-23 690.5 694.3 687.4 691.3\n",
"2017-05-24 702.6 705.0 698.2 701.0\n",
"2017-05-25 701.4 704.8 697.6 701.5\n",
"2017-05-26 701.2 702.5 695.2 695.2\n",
"2017-05-29 695.2 701.2 693.7 697.9\n",
"2017-05-30 698.0 698.8 693.4 696.5\n",
"2017-05-31 690.0 691.4 687.4 690.9\n",
"2017-06-01 685.1 695.4 684.2 691.3\n",
"2017-06-02 700.0 722.0 698.7 721.6\n",
"2017-06-05 713.6 718.5 710.6 711.5\n",
"2017-06-06 712.2 720.7 709.1 710.7\n",
"2017-06-07 709.0 715.5 706.1 714.5\n",
"2017-06-08 721.6 735.8 719.8 723.0\n",
"2017-06-09 731.9 738.0 728.1 734.7\n",
"2017-06-12 742.0 748.3 732.0 733.3\n",
"2017-06-13 732.5 737.2 729.4 734.0\n",
"2017-06-14 740.9 741.9 729.3 729.3\n",
"2017-06-15 720.5 727.9 715.0 715.0\n",
"2017-06-16 721.0 730.0 720.0 722.6\n",
"2017-06-19 719.9 727.6 718.3 725.2\n",
"2017-06-20 734.0 739.9 729.6 729.6\n",
"2017-06-21 726.5 728.0 718.4 719.8\n",
"2017-06-22 721.2 727.0 720.1 723.2\n",
"\n",
"[117 rows x 4 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sql=\"SELECT at,open,high,low,close\"\n",
"sql=sql+\" FROM `{}`\".format('ohlc_1d')\n",
"sql=sql+\" WHERE `sec_code`='{}'\".format(8306)\n",
"sql=sql+\" AND `at` BETWEEN '{}' AND '{}'\".format('2017-01-01','2017-12-31')\n",
"sql=sql+\";\"\n",
"df = pd.read_sql(sql, engine,index_col='at')\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 日足データのローソク足チャート"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"<script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}</script>"
],
"text/vnd.plotly.v1+html": [
"<script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}</script>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"data": [
{
"boxpoints": false,
"fillcolor": "#3D9970",
"line": {
"color": "#3D9970"
},
"name": "Increasing",
"showlegend": false,
"type": "box",
"whiskerwidth": 0,
"x": [
"2017-01-04",
"2017-01-04",
"2017-01-04",
"2017-01-04",
"2017-01-04",
"2017-01-04",
"2017-01-11",
"2017-01-11",
"2017-01-11",
"2017-01-11",
"2017-01-11",
"2017-01-11",
"2017-01-12",
"2017-01-12",
"2017-01-12",
"2017-01-12",
"2017-01-12",
"2017-01-12",
"2017-01-13",
"2017-01-13",
"2017-01-13",
"2017-01-13",
"2017-01-13",
"2017-01-13",
"2017-01-18",
"2017-01-18",
"2017-01-18",
"2017-01-18",
"2017-01-18",
"2017-01-18",
"2017-01-19",
"2017-01-19",
"2017-01-19",
"2017-01-19",
"2017-01-19",
"2017-01-19",
"2017-01-20",
"2017-01-20",
"2017-01-20",
"2017-01-20",
"2017-01-20",
"2017-01-20",
"2017-01-23",
"2017-01-23",
"2017-01-23",
"2017-01-23",
"2017-01-23",
"2017-01-23",
"2017-01-26",
"2017-01-26",
"2017-01-26",
"2017-01-26",
"2017-01-26",
"2017-01-26",
"2017-01-30",
"2017-01-30",
"2017-01-30",
"2017-01-30",
"2017-01-30",
"2017-01-30",
"2017-01-31",
"2017-01-31",
"2017-01-31",
"2017-01-31",
"2017-01-31",
"2017-01-31",
"2017-02-01",
"2017-02-01",
"2017-02-01",
"2017-02-01",
"2017-02-01",
"2017-02-01",
"2017-02-03",
"2017-02-03",
"2017-02-03",
"2017-02-03",
"2017-02-03",
"2017-02-03",
"2017-02-07",
"2017-02-07",
"2017-02-07",
"2017-02-07",
"2017-02-07",
"2017-02-07",
"2017-02-08",
"2017-02-08",
"2017-02-08",
"2017-02-08",
"2017-02-08",
"2017-02-08",
"2017-02-10",
"2017-02-10",
"2017-02-10",
"2017-02-10",
"2017-02-10",
"2017-02-10",
"2017-02-16",
"2017-02-16",
"2017-02-16",
"2017-02-16",
"2017-02-16",
"2017-02-16",
"2017-02-20",
"2017-02-20",
"2017-02-20",
"2017-02-20",
"2017-02-20",
"2017-02-20",
"2017-02-21",
"2017-02-21",
"2017-02-21",
"2017-02-21",
"2017-02-21",
"2017-02-21",
"2017-03-01",
"2017-03-01",
"2017-03-01",
"2017-03-01",
"2017-03-01",
"2017-03-01",
"2017-03-06",
"2017-03-06",
"2017-03-06",
"2017-03-06",
"2017-03-06",
"2017-03-06",
"2017-03-15",
"2017-03-15",
"2017-03-15",
"2017-03-15",
"2017-03-15",
"2017-03-15",
"2017-03-24",
"2017-03-24",
"2017-03-24",
"2017-03-24",
"2017-03-24",
"2017-03-24",
"2017-03-28",
"2017-03-28",
"2017-03-28",
"2017-03-28",
"2017-03-28",
"2017-03-28",
"2017-03-30",
"2017-03-30",
"2017-03-30",
"2017-03-30",
"2017-03-30",
"2017-03-30",
"2017-04-04",
"2017-04-04",
"2017-04-04",
"2017-04-04",
"2017-04-04",
"2017-04-04",
"2017-04-06",
"2017-04-06",
"2017-04-06",
"2017-04-06",
"2017-04-06",
"2017-04-06",
"2017-04-10",
"2017-04-10",
"2017-04-10",
"2017-04-10",
"2017-04-10",
"2017-04-10",
"2017-04-11",
"2017-04-11",
"2017-04-11",
"2017-04-11",
"2017-04-11",
"2017-04-11",
"2017-04-12",
"2017-04-12",
"2017-04-12",
"2017-04-12",
"2017-04-12",
"2017-04-12",
"2017-04-13",
"2017-04-13",
"2017-04-13",
"2017-04-13",
"2017-04-13",
"2017-04-13",
"2017-04-14",
"2017-04-14",
"2017-04-14",
"2017-04-14",
"2017-04-14",
"2017-04-14",
"2017-04-17",
"2017-04-17",
"2017-04-17",
"2017-04-17",
"2017-04-17",
"2017-04-17",
"2017-04-19",
"2017-04-19",
"2017-04-19",
"2017-04-19",
"2017-04-19",
"2017-04-19",
"2017-04-20",
"2017-04-20",
"2017-04-20",
"2017-04-20",
"2017-04-20",
"2017-04-20",
"2017-04-25",
"2017-04-25",
"2017-04-25",
"2017-04-25",
"2017-04-25",
"2017-04-25",
"2017-04-26",
"2017-04-26",
"2017-04-26",
"2017-04-26",
"2017-04-26",
"2017-04-26",
"2017-04-27",
"2017-04-27",
"2017-04-27",
"2017-04-27",
"2017-04-27",
"2017-04-27",
"2017-05-01",
"2017-05-01",
"2017-05-01",
"2017-05-01",
"2017-05-01",
"2017-05-01",
"2017-05-02",
"2017-05-02",
"2017-05-02",
"2017-05-02",
"2017-05-02",
"2017-05-02",
"2017-05-08",
"2017-05-08",
"2017-05-08",
"2017-05-08",
"2017-05-08",
"2017-05-08",
"2017-05-11",
"2017-05-11",
"2017-05-11",
"2017-05-11",
"2017-05-11",
"2017-05-11",
"2017-05-15",
"2017-05-15",
"2017-05-15",
"2017-05-15",
"2017-05-15",
"2017-05-15",
"2017-05-19",
"2017-05-19",
"2017-05-19",
"2017-05-19",
"2017-05-19",
"2017-05-19",
"2017-05-22",
"2017-05-22",
"2017-05-22",
"2017-05-22",
"2017-05-22",
"2017-05-22",
"2017-05-23",
"2017-05-23",
"2017-05-23",
"2017-05-23",
"2017-05-23",
"2017-05-23",
"2017-05-25",
"2017-05-25",
"2017-05-25",
"2017-05-25",
"2017-05-25",
"2017-05-25",
"2017-05-29",
"2017-05-29",
"2017-05-29",
"2017-05-29",
"2017-05-29",
"2017-05-29",
"2017-05-31",
"2017-05-31",
"2017-05-31",
"2017-05-31",
"2017-05-31",
"2017-05-31",
"2017-06-01",
"2017-06-01",
"2017-06-01",
"2017-06-01",
"2017-06-01",
"2017-06-01",
"2017-06-02",
"2017-06-02",
"2017-06-02",
"2017-06-02",
"2017-06-02",
"2017-06-02",
"2017-06-07",
"2017-06-07",
"2017-06-07",
"2017-06-07",
"2017-06-07",
"2017-06-07",
"2017-06-08",
"2017-06-08",
"2017-06-08",
"2017-06-08",
"2017-06-08",
"2017-06-08",
"2017-06-09",
"2017-06-09",
"2017-06-09",
"2017-06-09",
"2017-06-09",
"2017-06-09",
"2017-06-13",
"2017-06-13",
"2017-06-13",
"2017-06-13",
"2017-06-13",
"2017-06-13",
"2017-06-16",
"2017-06-16",
"2017-06-16",
"2017-06-16",
"2017-06-16",
"2017-06-16",
"2017-06-19",
"2017-06-19",
"2017-06-19",
"2017-06-19",
"2017-06-19",
"2017-06-19",
"2017-06-22",
"2017-06-22",
"2017-06-22",
"2017-06-22",
"2017-06-22",
"2017-06-22"
],
"y": [
736,
740,
745.2,
745.2,
745.2,
751.5,
729.8,
731.7,
737.7,
737.7,
737.7,
738.5,
725.7,
730,
730.4,
730.4,
730.4,
735.4,
725.3,
726.8,
729.5,
729.5,
729.5,
731.3,
696,
701,
711.5,
711.5,
711.5,
714.1,
719.7,
723.1,
726.3,
726.3,
726.3,
731.5,
724.2,
728.8,
731.1,
731.1,
731.1,
734.8,
720.5,
722,
725.8,
725.8,
725.8,
731,
725.9,
726.2,
742,
742,
742,
742.5,
740.5,
741.6,
747.2,
747.2,
747.2,
747.5,
728,
730.1,
730.9,
730.9,
730.9,
736.9,
713.3,
716.9,
727.4,
727.4,
727.4,
728,
724.3,
728.5,
730,
730,
730,
746,
741.1,
746.9,
751.2,
751.2,
751.2,
757.8,
746.7,
752,
754,
754,
754,
756,
755,
756,
764.1,
764.1,
764.1,
766.2,
765.5,
770,
770.7,
770.7,
770.7,
778.8,
756,
756,
767.8,
767.8,
767.8,
769.5,
767.1,
770,
774,
774,
774,
775.4,
735.6,
746.9,
748.2,
748.2,
748.2,
749,
751.1,
754.8,
759,
759,
759,
761.8,
764,
765,
774.1,
774.1,
774.1,
778,
709.6,
710.5,
717.1,
717.1,
717.1,
722.8,
709.4,
711.5,
713.9,
713.9,
713.9,
715.6,
703.4,
706.3,
706.8,
706.8,
706.8,
712.8,
678.1,
680.6,
683.3,
683.3,
683.3,
684.7,
661.7,
665.2,
665.4,
665.4,
665.4,
671.4,
671,
673.5,
679,
679,
679,
682.5,
667.7,
673.2,
673.8,
673.8,
673.8,
674.8,
656.2,
660,
663.7,
663.7,
663.7,
664,
648.8,
651.5,
654.7,
654.7,
654.7,
656.6,
643,
646,
652.2,
652.2,
652.2,
655.6,
642.2,
649.5,
650.2,
650.2,
650.2,
652.6,
644.1,
648.1,
655.4,
655.4,
655.4,
662.6,
658.8,
660,
666.6,
666.6,
666.6,
674.5,
688,
689.2,
703.1,
703.1,
703.1,
704.1,
711.3,
716,
720,
720,
720,
720,
712.5,
716.7,
721.7,
721.7,
721.7,
723,
702.4,
705.1,
711.7,
711.7,
711.7,
711.7,
712.2,
712.3,
715.9,
715.9,
715.9,
718.7,
726.1,
729,
734.3,
734.3,
734.3,
734.3,
727,
730.3,
739.4,
739.4,
739.4,
739.6,
714.1,
720,
721.5,
721.5,
721.5,
723.1,
681.6,
683.6,
689.9,
689.9,
689.9,
693.1,
693.1,
695,
695.6,
695.6,
695.6,
697.8,
687.4,
690.5,
691.3,
691.3,
691.3,
694.3,
697.6,
701.4,
701.5,
701.5,
701.5,
704.8,
693.7,
695.2,
697.9,
697.9,
697.9,
701.2,
687.4,
690,
690.9,
690.9,
690.9,
691.4,
684.2,
685.1,
691.3,
691.3,
691.3,
695.4,
698.7,
700,
721.6,
721.6,
721.6,
722,
706.1,
709,
714.5,
714.5,
714.5,
715.5,
719.8,
721.6,
723,
723,
723,
735.8,
728.1,
731.9,
734.7,
734.7,
734.7,
738,
729.4,
732.5,
734,
734,
734,
737.2,
720,
721,
722.6,
722.6,
722.6,
730,
718.3,
719.9,
725.2,
725.2,
725.2,
727.6,
720.1,
721.2,
723.2,
723.2,
723.2,
727
]
},
{
"boxpoints": false,
"fillcolor": "#FF4136",
"line": {
"color": "#FF4136"
},
"name": "Decreasing",
"showlegend": false,
"type": "box",
"whiskerwidth": 0,
"x": [
"2017-01-05",
"2017-01-05",
"2017-01-05",
"2017-01-05",
"2017-01-05",
"2017-01-05",
"2017-01-06",
"2017-01-06",
"2017-01-06",
"2017-01-06",
"2017-01-06",
"2017-01-06",
"2017-01-10",
"2017-01-10",
"2017-01-10",
"2017-01-10",
"2017-01-10",
"2017-01-10",
"2017-01-16",
"2017-01-16",
"2017-01-16",
"2017-01-16",
"2017-01-16",
"2017-01-16",
"2017-01-17",
"2017-01-17",
"2017-01-17",
"2017-01-17",
"2017-01-17",
"2017-01-17",
"2017-01-24",
"2017-01-24",
"2017-01-24",
"2017-01-24",
"2017-01-24",
"2017-01-24",
"2017-01-25",
"2017-01-25",
"2017-01-25",
"2017-01-25",
"2017-01-25",
"2017-01-25",
"2017-01-27",
"2017-01-27",
"2017-01-27",
"2017-01-27",
"2017-01-27",
"2017-01-27",
"2017-02-02",
"2017-02-02",
"2017-02-02",
"2017-02-02",
"2017-02-02",
"2017-02-02",
"2017-02-06",
"2017-02-06",
"2017-02-06",
"2017-02-06",
"2017-02-06",
"2017-02-06",
"2017-02-09",
"2017-02-09",
"2017-02-09",
"2017-02-09",
"2017-02-09",
"2017-02-09",
"2017-02-13",
"2017-02-13",
"2017-02-13",
"2017-02-13",
"2017-02-13",
"2017-02-13",
"2017-02-14",
"2017-02-14",
"2017-02-14",
"2017-02-14",
"2017-02-14",
"2017-02-14",
"2017-02-15",
"2017-02-15",
"2017-02-15",
"2017-02-15",
"2017-02-15",
"2017-02-15",
"2017-02-17",
"2017-02-17",
"2017-02-17",
"2017-02-17",
"2017-02-17",
"2017-02-17",
"2017-02-22",
"2017-02-22",
"2017-02-22",
"2017-02-22",
"2017-02-22",
"2017-02-22",
"2017-02-23",
"2017-02-23",
"2017-02-23",
"2017-02-23",
"2017-02-23",
"2017-02-23",
"2017-02-24",
"2017-02-24",
"2017-02-24",
"2017-02-24",
"2017-02-24",
"2017-02-24",
"2017-02-27",
"2017-02-27",
"2017-02-27",
"2017-02-27",
"2017-02-27",
"2017-02-27",
"2017-02-28",
"2017-02-28",
"2017-02-28",
"2017-02-28",
"2017-02-28",
"2017-02-28",
"2017-03-02",
"2017-03-02",
"2017-03-02",
"2017-03-02",
"2017-03-02",
"2017-03-02",
"2017-03-03",
"2017-03-03",
"2017-03-03",
"2017-03-03",
"2017-03-03",
"2017-03-03",
"2017-03-07",
"2017-03-07",
"2017-03-07",
"2017-03-07",
"2017-03-07",
"2017-03-07",
"2017-03-08",
"2017-03-08",
"2017-03-08",
"2017-03-08",
"2017-03-08",
"2017-03-08",
"2017-03-09",
"2017-03-09",
"2017-03-09",
"2017-03-09",
"2017-03-09",
"2017-03-09",
"2017-03-10",
"2017-03-10",
"2017-03-10",
"2017-03-10",
"2017-03-10",
"2017-03-10",
"2017-03-13",
"2017-03-13",
"2017-03-13",
"2017-03-13",
"2017-03-13",
"2017-03-13",
"2017-03-14",
"2017-03-14",
"2017-03-14",
"2017-03-14",
"2017-03-14",
"2017-03-14",
"2017-03-16",
"2017-03-16",
"2017-03-16",
"2017-03-16",
"2017-03-16",
"2017-03-16",
"2017-03-17",
"2017-03-17",
"2017-03-17",
"2017-03-17",
"2017-03-17",
"2017-03-17",
"2017-03-21",
"2017-03-21",
"2017-03-21",
"2017-03-21",
"2017-03-21",
"2017-03-21",
"2017-03-22",
"2017-03-22",
"2017-03-22",
"2017-03-22",
"2017-03-22",
"2017-03-22",
"2017-03-23",
"2017-03-23",
"2017-03-23",
"2017-03-23",
"2017-03-23",
"2017-03-23",
"2017-03-27",
"2017-03-27",
"2017-03-27",
"2017-03-27",
"2017-03-27",
"2017-03-27",
"2017-03-29",
"2017-03-29",
"2017-03-29",
"2017-03-29",
"2017-03-29",
"2017-03-29",
"2017-03-31",
"2017-03-31",
"2017-03-31",
"2017-03-31",
"2017-03-31",
"2017-03-31",
"2017-04-03",
"2017-04-03",
"2017-04-03",
"2017-04-03",
"2017-04-03",
"2017-04-03",
"2017-04-05",
"2017-04-05",
"2017-04-05",
"2017-04-05",
"2017-04-05",
"2017-04-05",
"2017-04-07",
"2017-04-07",
"2017-04-07",
"2017-04-07",
"2017-04-07",
"2017-04-07",
"2017-04-18",
"2017-04-18",
"2017-04-18",
"2017-04-18",
"2017-04-18",
"2017-04-18",
"2017-04-21",
"2017-04-21",
"2017-04-21",
"2017-04-21",
"2017-04-21",
"2017-04-21",
"2017-04-24",
"2017-04-24",
"2017-04-24",
"2017-04-24",
"2017-04-24",
"2017-04-24",
"2017-04-28",
"2017-04-28",
"2017-04-28",
"2017-04-28",
"2017-04-28",
"2017-04-28",
"2017-05-09",
"2017-05-09",
"2017-05-09",
"2017-05-09",
"2017-05-09",
"2017-05-09",
"2017-05-10",
"2017-05-10",
"2017-05-10",
"2017-05-10",
"2017-05-10",
"2017-05-10",
"2017-05-12",
"2017-05-12",
"2017-05-12",
"2017-05-12",
"2017-05-12",
"2017-05-12",
"2017-05-16",
"2017-05-16",
"2017-05-16",
"2017-05-16",
"2017-05-16",
"2017-05-16",
"2017-05-17",
"2017-05-17",
"2017-05-17",
"2017-05-17",
"2017-05-17",
"2017-05-17",
"2017-05-18",
"2017-05-18",
"2017-05-18",
"2017-05-18",
"2017-05-18",
"2017-05-18",
"2017-05-24",
"2017-05-24",
"2017-05-24",
"2017-05-24",
"2017-05-24",
"2017-05-24",
"2017-05-26",
"2017-05-26",
"2017-05-26",
"2017-05-26",
"2017-05-26",
"2017-05-26",
"2017-05-30",
"2017-05-30",
"2017-05-30",
"2017-05-30",
"2017-05-30",
"2017-05-30",
"2017-06-05",
"2017-06-05",
"2017-06-05",
"2017-06-05",
"2017-06-05",
"2017-06-05",
"2017-06-06",
"2017-06-06",
"2017-06-06",
"2017-06-06",
"2017-06-06",
"2017-06-06",
"2017-06-12",
"2017-06-12",
"2017-06-12",
"2017-06-12",
"2017-06-12",
"2017-06-12",
"2017-06-14",
"2017-06-14",
"2017-06-14",
"2017-06-14",
"2017-06-14",
"2017-06-14",
"2017-06-15",
"2017-06-15",
"2017-06-15",
"2017-06-15",
"2017-06-15",
"2017-06-15",
"2017-06-20",
"2017-06-20",
"2017-06-20",
"2017-06-20",
"2017-06-20",
"2017-06-20",
"2017-06-21",
"2017-06-21",
"2017-06-21",
"2017-06-21",
"2017-06-21",
"2017-06-21"
],
"y": [
743.6,
750.8,
748.3,
748.3,
748.3,
752.8,
735.3,
738.4,
738,
738,
738,
739.7,
726.7,
733.7,
726.7,
726.7,
726.7,
736.5,
726,
733.5,
726,
726,
726,
737.5,
710,
716,
714.8,
714.8,
714.8,
721.1,
704,
716,
706.5,
706.5,
706.5,
717.9,
707.9,
718,
711.2,
711.2,
711.2,
719.3,
745.3,
752.9,
752.9,
752.9,
752.9,
758.2,
719.1,
730.2,
721.7,
721.7,
721.7,
734.3,
753.5,
768,
754.7,
754.7,
754.7,
768.1,
740,
743.5,
740,
740,
740,
747.7,
764.4,
777.5,
764.7,
764.7,
764.7,
777.9,
753.8,
771.2,
755.6,
755.6,
755.6,
771.4,
766,
769,
768.5,
768.5,
768.5,
778.8,
758.4,
765,
763.8,
763.8,
763.8,
769.6,
771.4,
778,
771.9,
771.9,
771.9,
778,
759.2,
771,
764.2,
764.2,
764.2,
771.4,
756.2,
759,
758.4,
758.4,
758.4,
764.5,
735.8,
749.9,
738.9,
738.9,
738.9,
751,
738.4,
742.9,
738.4,
738.4,
738.4,
747,
763,
770,
763,
763,
763,
776,
754.3,
758.7,
758.5,
758.5,
758.5,
761.9,
753.5,
756,
755.2,
755.2,
755.2,
757.4,
751.3,
754.8,
754.2,
754.2,
754.2,
756.2,
755.2,
758,
756.9,
756.9,
756.9,
759.2,
760.2,
769.9,
769.6,
769.6,
769.6,
770,
766.3,
768.5,
767.9,
767.9,
767.9,
771.5,
766,
768.5,
767.7,
767.7,
767.7,
769.6,
762.8,
765,
765,
765,
765,
770.8,
758.8,
762,
759,
759,
759,
765.4,
743.8,
750.1,
745.7,
745.7,
745.7,
752.2,
712.5,
715.7,
713.7,
713.7,
713.7,
719.6,
705.6,
710,
708.3,
708.3,
708.3,
715.6,
700.8,
705.4,
704.6,
704.6,
704.6,
708.2,
708.7,
719.9,
712.3,
712.3,
712.3,
719.9,
699.7,
713.9,
699.7,
699.7,
699.7,
717.9,
687.3,
699.3,
694.3,
694.3,
694.3,
699.4,
671.1,
687.7,
676.8,
676.8,
676.8,
688.5,
663.3,
668.9,
667.7,
667.7,
667.7,
678,
654.6,
663.8,
655.9,
655.9,
655.9,
665,
674.5,
680,
678.4,
678.4,
678.4,
682.8,
687.7,
689,
688,
688,
688,
695.2,
706,
717,
709.2,
709.2,
709.2,
719,
725.5,
733,
728.4,
728.4,
728.4,
733.5,
726.4,
730.1,
727.7,
727.7,
727.7,
731.7,
726.8,
733.2,
730,
730,
730,
734.8,
715.5,
731.1,
719.7,
719.7,
719.7,
733.2,
704.6,
711.8,
709.5,
709.5,
709.5,
716.3,
680,
683.7,
680.8,
680.8,
680.8,
684.8,
698.2,
702.6,
701,
701,
701,
705,
695.2,
701.2,
695.2,
695.2,
695.2,
702.5,
693.4,
698,
696.5,
696.5,
696.5,
698.8,
710.6,
713.6,
711.5,
711.5,
711.5,
718.5,
709.1,
712.2,
710.7,
710.7,
710.7,
720.7,
732,
742,
733.3,
733.3,
733.3,
748.3,
729.3,
740.9,
729.3,
729.3,
729.3,
741.9,
715,
720.5,
715,
715,
715,
727.9,
729.6,
734,
729.6,
729.6,
729.6,
739.9,
718.4,
726.5,
719.8,
719.8,
719.8,
728
]
}
],
"layout": {}
},
"text/html": [
"<div id=\"101dbeb2-5807-42c1-8b36-e3315eac35f7\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"101dbeb2-5807-42c1-8b36-e3315eac35f7\", [{\"type\": \"box\", \"x\": [\"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\"], \"y\": [736.0, 740.0, 745.2, 745.2, 745.2, 751.5, 729.8, 731.7, 737.7, 737.7, 737.7, 738.5, 725.7, 730.0, 730.4, 730.4, 730.4, 735.4, 725.3, 726.8, 729.5, 729.5, 729.5, 731.3, 696.0, 701.0, 711.5, 711.5, 711.5, 714.1, 719.7, 723.1, 726.3, 726.3, 726.3, 731.5, 724.2, 728.8, 731.1, 731.1, 731.1, 734.8, 720.5, 722.0, 725.8, 725.8, 725.8, 731.0, 725.9, 726.2, 742.0, 742.0, 742.0, 742.5, 740.5, 741.6, 747.2, 747.2, 747.2, 747.5, 728.0, 730.1, 730.9, 730.9, 730.9, 736.9, 713.3, 716.9, 727.4, 727.4, 727.4, 728.0, 724.3, 728.5, 730.0, 730.0, 730.0, 746.0, 741.1, 746.9, 751.2, 751.2, 751.2, 757.8, 746.7, 752.0, 754.0, 754.0, 754.0, 756.0, 755.0, 756.0, 764.1, 764.1, 764.1, 766.2, 765.5, 770.0, 770.7, 770.7, 770.7, 778.8, 756.0, 756.0, 767.8, 767.8, 767.8, 769.5, 767.1, 770.0, 774.0, 774.0, 774.0, 775.4, 735.6, 746.9, 748.2, 748.2, 748.2, 749.0, 751.1, 754.8, 759.0, 759.0, 759.0, 761.8, 764.0, 765.0, 774.1, 774.1, 774.1, 778.0, 709.6, 710.5, 717.1, 717.1, 717.1, 722.8, 709.4, 711.5, 713.9, 713.9, 713.9, 715.6, 703.4, 706.3, 706.8, 706.8, 706.8, 712.8, 678.1, 680.6, 683.3, 683.3, 683.3, 684.7, 661.7, 665.2, 665.4, 665.4, 665.4, 671.4, 671.0, 673.5, 679.0, 679.0, 679.0, 682.5, 667.7, 673.2, 673.8, 673.8, 673.8, 674.8, 656.2, 660.0, 663.7, 663.7, 663.7, 664.0, 648.8, 651.5, 654.7, 654.7, 654.7, 656.6, 643.0, 646.0, 652.2, 652.2, 652.2, 655.6, 642.2, 649.5, 650.2, 650.2, 650.2, 652.6, 644.1, 648.1, 655.4, 655.4, 655.4, 662.6, 658.8, 660.0, 666.6, 666.6, 666.6, 674.5, 688.0, 689.2, 703.1, 703.1, 703.1, 704.1, 711.3, 716.0, 720.0, 720.0, 720.0, 720.0, 712.5, 716.7, 721.7, 721.7, 721.7, 723.0, 702.4, 705.1, 711.7, 711.7, 711.7, 711.7, 712.2, 712.3, 715.9, 715.9, 715.9, 718.7, 726.1, 729.0, 734.3, 734.3, 734.3, 734.3, 727.0, 730.3, 739.4, 739.4, 739.4, 739.6, 714.1, 720.0, 721.5, 721.5, 721.5, 723.1, 681.6, 683.6, 689.9, 689.9, 689.9, 693.1, 693.1, 695.0, 695.6, 695.6, 695.6, 697.8, 687.4, 690.5, 691.3, 691.3, 691.3, 694.3, 697.6, 701.4, 701.5, 701.5, 701.5, 704.8, 693.7, 695.2, 697.9, 697.9, 697.9, 701.2, 687.4, 690.0, 690.9, 690.9, 690.9, 691.4, 684.2, 685.1, 691.3, 691.3, 691.3, 695.4, 698.7, 700.0, 721.6, 721.6, 721.6, 722.0, 706.1, 709.0, 714.5, 714.5, 714.5, 715.5, 719.8, 721.6, 723.0, 723.0, 723.0, 735.8, 728.1, 731.9, 734.7, 734.7, 734.7, 738.0, 729.4, 732.5, 734.0, 734.0, 734.0, 737.2, 720.0, 721.0, 722.6, 722.6, 722.6, 730.0, 718.3, 719.9, 725.2, 725.2, 725.2, 727.6, 720.1, 721.2, 723.2, 723.2, 723.2, 727.0], \"whiskerwidth\": 0, \"boxpoints\": false, \"fillcolor\": \"#3D9970\", \"showlegend\": false, \"name\": \"Increasing\", \"line\": {\"color\": \"#3D9970\"}}, {\"type\": \"box\", \"x\": [\"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\"], \"y\": [743.6, 750.8, 748.3, 748.3, 748.3, 752.8, 735.3, 738.4, 738.0, 738.0, 738.0, 739.7, 726.7, 733.7, 726.7, 726.7, 726.7, 736.5, 726.0, 733.5, 726.0, 726.0, 726.0, 737.5, 710.0, 716.0, 714.8, 714.8, 714.8, 721.1, 704.0, 716.0, 706.5, 706.5, 706.5, 717.9, 707.9, 718.0, 711.2, 711.2, 711.2, 719.3, 745.3, 752.9, 752.9, 752.9, 752.9, 758.2, 719.1, 730.2, 721.7, 721.7, 721.7, 734.3, 753.5, 768.0, 754.7, 754.7, 754.7, 768.1, 740.0, 743.5, 740.0, 740.0, 740.0, 747.7, 764.4, 777.5, 764.7, 764.7, 764.7, 777.9, 753.8, 771.2, 755.6, 755.6, 755.6, 771.4, 766.0, 769.0, 768.5, 768.5, 768.5, 778.8, 758.4, 765.0, 763.8, 763.8, 763.8, 769.6, 771.4, 778.0, 771.9, 771.9, 771.9, 778.0, 759.2, 771.0, 764.2, 764.2, 764.2, 771.4, 756.2, 759.0, 758.4, 758.4, 758.4, 764.5, 735.8, 749.9, 738.9, 738.9, 738.9, 751.0, 738.4, 742.9, 738.4, 738.4, 738.4, 747.0, 763.0, 770.0, 763.0, 763.0, 763.0, 776.0, 754.3, 758.7, 758.5, 758.5, 758.5, 761.9, 753.5, 756.0, 755.2, 755.2, 755.2, 757.4, 751.3, 754.8, 754.2, 754.2, 754.2, 756.2, 755.2, 758.0, 756.9, 756.9, 756.9, 759.2, 760.2, 769.9, 769.6, 769.6, 769.6, 770.0, 766.3, 768.5, 767.9, 767.9, 767.9, 771.5, 766.0, 768.5, 767.7, 767.7, 767.7, 769.6, 762.8, 765.0, 765.0, 765.0, 765.0, 770.8, 758.8, 762.0, 759.0, 759.0, 759.0, 765.4, 743.8, 750.1, 745.7, 745.7, 745.7, 752.2, 712.5, 715.7, 713.7, 713.7, 713.7, 719.6, 705.6, 710.0, 708.3, 708.3, 708.3, 715.6, 700.8, 705.4, 704.6, 704.6, 704.6, 708.2, 708.7, 719.9, 712.3, 712.3, 712.3, 719.9, 699.7, 713.9, 699.7, 699.7, 699.7, 717.9, 687.3, 699.3, 694.3, 694.3, 694.3, 699.4, 671.1, 687.7, 676.8, 676.8, 676.8, 688.5, 663.3, 668.9, 667.7, 667.7, 667.7, 678.0, 654.6, 663.8, 655.9, 655.9, 655.9, 665.0, 674.5, 680.0, 678.4, 678.4, 678.4, 682.8, 687.7, 689.0, 688.0, 688.0, 688.0, 695.2, 706.0, 717.0, 709.2, 709.2, 709.2, 719.0, 725.5, 733.0, 728.4, 728.4, 728.4, 733.5, 726.4, 730.1, 727.7, 727.7, 727.7, 731.7, 726.8, 733.2, 730.0, 730.0, 730.0, 734.8, 715.5, 731.1, 719.7, 719.7, 719.7, 733.2, 704.6, 711.8, 709.5, 709.5, 709.5, 716.3, 680.0, 683.7, 680.8, 680.8, 680.8, 684.8, 698.2, 702.6, 701.0, 701.0, 701.0, 705.0, 695.2, 701.2, 695.2, 695.2, 695.2, 702.5, 693.4, 698.0, 696.5, 696.5, 696.5, 698.8, 710.6, 713.6, 711.5, 711.5, 711.5, 718.5, 709.1, 712.2, 710.7, 710.7, 710.7, 720.7, 732.0, 742.0, 733.3, 733.3, 733.3, 748.3, 729.3, 740.9, 729.3, 729.3, 729.3, 741.9, 715.0, 720.5, 715.0, 715.0, 715.0, 727.9, 729.6, 734.0, 729.6, 729.6, 729.6, 739.9, 718.4, 726.5, 719.8, 719.8, 719.8, 728.0], \"whiskerwidth\": 0, \"boxpoints\": false, \"fillcolor\": \"#FF4136\", \"showlegend\": false, \"line\": {\"color\": \"#FF4136\"}, \"name\": \"Decreasing\"}], {}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
],
"text/vnd.plotly.v1+html": [
"<div id=\"101dbeb2-5807-42c1-8b36-e3315eac35f7\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"101dbeb2-5807-42c1-8b36-e3315eac35f7\", [{\"type\": \"box\", \"x\": [\"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-04\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-11\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-12\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-13\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-18\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-19\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-20\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-23\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-26\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-30\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-01-31\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-01\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-03\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-07\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-08\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-10\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-16\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-20\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-02-21\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-01\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-06\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-15\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-24\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-28\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-03-30\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-04\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-06\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-10\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-11\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-12\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-13\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-14\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-17\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-19\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-20\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-25\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-26\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-04-27\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-01\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-02\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-08\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-11\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-15\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-19\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-22\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-23\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-25\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-29\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-05-31\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-01\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-02\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-07\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-08\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-09\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-13\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-16\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-19\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\", \"2017-06-22\"], \"y\": [736.0, 740.0, 745.2, 745.2, 745.2, 751.5, 729.8, 731.7, 737.7, 737.7, 737.7, 738.5, 725.7, 730.0, 730.4, 730.4, 730.4, 735.4, 725.3, 726.8, 729.5, 729.5, 729.5, 731.3, 696.0, 701.0, 711.5, 711.5, 711.5, 714.1, 719.7, 723.1, 726.3, 726.3, 726.3, 731.5, 724.2, 728.8, 731.1, 731.1, 731.1, 734.8, 720.5, 722.0, 725.8, 725.8, 725.8, 731.0, 725.9, 726.2, 742.0, 742.0, 742.0, 742.5, 740.5, 741.6, 747.2, 747.2, 747.2, 747.5, 728.0, 730.1, 730.9, 730.9, 730.9, 736.9, 713.3, 716.9, 727.4, 727.4, 727.4, 728.0, 724.3, 728.5, 730.0, 730.0, 730.0, 746.0, 741.1, 746.9, 751.2, 751.2, 751.2, 757.8, 746.7, 752.0, 754.0, 754.0, 754.0, 756.0, 755.0, 756.0, 764.1, 764.1, 764.1, 766.2, 765.5, 770.0, 770.7, 770.7, 770.7, 778.8, 756.0, 756.0, 767.8, 767.8, 767.8, 769.5, 767.1, 770.0, 774.0, 774.0, 774.0, 775.4, 735.6, 746.9, 748.2, 748.2, 748.2, 749.0, 751.1, 754.8, 759.0, 759.0, 759.0, 761.8, 764.0, 765.0, 774.1, 774.1, 774.1, 778.0, 709.6, 710.5, 717.1, 717.1, 717.1, 722.8, 709.4, 711.5, 713.9, 713.9, 713.9, 715.6, 703.4, 706.3, 706.8, 706.8, 706.8, 712.8, 678.1, 680.6, 683.3, 683.3, 683.3, 684.7, 661.7, 665.2, 665.4, 665.4, 665.4, 671.4, 671.0, 673.5, 679.0, 679.0, 679.0, 682.5, 667.7, 673.2, 673.8, 673.8, 673.8, 674.8, 656.2, 660.0, 663.7, 663.7, 663.7, 664.0, 648.8, 651.5, 654.7, 654.7, 654.7, 656.6, 643.0, 646.0, 652.2, 652.2, 652.2, 655.6, 642.2, 649.5, 650.2, 650.2, 650.2, 652.6, 644.1, 648.1, 655.4, 655.4, 655.4, 662.6, 658.8, 660.0, 666.6, 666.6, 666.6, 674.5, 688.0, 689.2, 703.1, 703.1, 703.1, 704.1, 711.3, 716.0, 720.0, 720.0, 720.0, 720.0, 712.5, 716.7, 721.7, 721.7, 721.7, 723.0, 702.4, 705.1, 711.7, 711.7, 711.7, 711.7, 712.2, 712.3, 715.9, 715.9, 715.9, 718.7, 726.1, 729.0, 734.3, 734.3, 734.3, 734.3, 727.0, 730.3, 739.4, 739.4, 739.4, 739.6, 714.1, 720.0, 721.5, 721.5, 721.5, 723.1, 681.6, 683.6, 689.9, 689.9, 689.9, 693.1, 693.1, 695.0, 695.6, 695.6, 695.6, 697.8, 687.4, 690.5, 691.3, 691.3, 691.3, 694.3, 697.6, 701.4, 701.5, 701.5, 701.5, 704.8, 693.7, 695.2, 697.9, 697.9, 697.9, 701.2, 687.4, 690.0, 690.9, 690.9, 690.9, 691.4, 684.2, 685.1, 691.3, 691.3, 691.3, 695.4, 698.7, 700.0, 721.6, 721.6, 721.6, 722.0, 706.1, 709.0, 714.5, 714.5, 714.5, 715.5, 719.8, 721.6, 723.0, 723.0, 723.0, 735.8, 728.1, 731.9, 734.7, 734.7, 734.7, 738.0, 729.4, 732.5, 734.0, 734.0, 734.0, 737.2, 720.0, 721.0, 722.6, 722.6, 722.6, 730.0, 718.3, 719.9, 725.2, 725.2, 725.2, 727.6, 720.1, 721.2, 723.2, 723.2, 723.2, 727.0], \"whiskerwidth\": 0, \"boxpoints\": false, \"fillcolor\": \"#3D9970\", \"showlegend\": false, \"name\": \"Increasing\", \"line\": {\"color\": \"#3D9970\"}}, {\"type\": \"box\", \"x\": [\"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-05\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-06\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-10\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-16\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-17\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-24\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-25\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-01-27\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-02\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-06\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-09\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-13\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-14\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-15\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-17\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-22\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-23\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-24\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-27\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-02-28\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-02\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-03\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-07\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-08\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-09\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-10\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-13\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-14\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-16\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-17\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-21\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-22\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-23\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-27\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-29\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-03-31\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-03\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-05\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-07\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-18\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-21\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-24\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-04-28\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-09\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-10\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-12\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-16\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-17\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-18\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-24\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-26\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-05-30\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-05\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-06\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-12\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-14\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-15\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-20\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\", \"2017-06-21\"], \"y\": [743.6, 750.8, 748.3, 748.3, 748.3, 752.8, 735.3, 738.4, 738.0, 738.0, 738.0, 739.7, 726.7, 733.7, 726.7, 726.7, 726.7, 736.5, 726.0, 733.5, 726.0, 726.0, 726.0, 737.5, 710.0, 716.0, 714.8, 714.8, 714.8, 721.1, 704.0, 716.0, 706.5, 706.5, 706.5, 717.9, 707.9, 718.0, 711.2, 711.2, 711.2, 719.3, 745.3, 752.9, 752.9, 752.9, 752.9, 758.2, 719.1, 730.2, 721.7, 721.7, 721.7, 734.3, 753.5, 768.0, 754.7, 754.7, 754.7, 768.1, 740.0, 743.5, 740.0, 740.0, 740.0, 747.7, 764.4, 777.5, 764.7, 764.7, 764.7, 777.9, 753.8, 771.2, 755.6, 755.6, 755.6, 771.4, 766.0, 769.0, 768.5, 768.5, 768.5, 778.8, 758.4, 765.0, 763.8, 763.8, 763.8, 769.6, 771.4, 778.0, 771.9, 771.9, 771.9, 778.0, 759.2, 771.0, 764.2, 764.2, 764.2, 771.4, 756.2, 759.0, 758.4, 758.4, 758.4, 764.5, 735.8, 749.9, 738.9, 738.9, 738.9, 751.0, 738.4, 742.9, 738.4, 738.4, 738.4, 747.0, 763.0, 770.0, 763.0, 763.0, 763.0, 776.0, 754.3, 758.7, 758.5, 758.5, 758.5, 761.9, 753.5, 756.0, 755.2, 755.2, 755.2, 757.4, 751.3, 754.8, 754.2, 754.2, 754.2, 756.2, 755.2, 758.0, 756.9, 756.9, 756.9, 759.2, 760.2, 769.9, 769.6, 769.6, 769.6, 770.0, 766.3, 768.5, 767.9, 767.9, 767.9, 771.5, 766.0, 768.5, 767.7, 767.7, 767.7, 769.6, 762.8, 765.0, 765.0, 765.0, 765.0, 770.8, 758.8, 762.0, 759.0, 759.0, 759.0, 765.4, 743.8, 750.1, 745.7, 745.7, 745.7, 752.2, 712.5, 715.7, 713.7, 713.7, 713.7, 719.6, 705.6, 710.0, 708.3, 708.3, 708.3, 715.6, 700.8, 705.4, 704.6, 704.6, 704.6, 708.2, 708.7, 719.9, 712.3, 712.3, 712.3, 719.9, 699.7, 713.9, 699.7, 699.7, 699.7, 717.9, 687.3, 699.3, 694.3, 694.3, 694.3, 699.4, 671.1, 687.7, 676.8, 676.8, 676.8, 688.5, 663.3, 668.9, 667.7, 667.7, 667.7, 678.0, 654.6, 663.8, 655.9, 655.9, 655.9, 665.0, 674.5, 680.0, 678.4, 678.4, 678.4, 682.8, 687.7, 689.0, 688.0, 688.0, 688.0, 695.2, 706.0, 717.0, 709.2, 709.2, 709.2, 719.0, 725.5, 733.0, 728.4, 728.4, 728.4, 733.5, 726.4, 730.1, 727.7, 727.7, 727.7, 731.7, 726.8, 733.2, 730.0, 730.0, 730.0, 734.8, 715.5, 731.1, 719.7, 719.7, 719.7, 733.2, 704.6, 711.8, 709.5, 709.5, 709.5, 716.3, 680.0, 683.7, 680.8, 680.8, 680.8, 684.8, 698.2, 702.6, 701.0, 701.0, 701.0, 705.0, 695.2, 701.2, 695.2, 695.2, 695.2, 702.5, 693.4, 698.0, 696.5, 696.5, 696.5, 698.8, 710.6, 713.6, 711.5, 711.5, 711.5, 718.5, 709.1, 712.2, 710.7, 710.7, 710.7, 720.7, 732.0, 742.0, 733.3, 733.3, 733.3, 748.3, 729.3, 740.9, 729.3, 729.3, 729.3, 741.9, 715.0, 720.5, 715.0, 715.0, 715.0, 727.9, 729.6, 734.0, 729.6, 729.6, 729.6, 739.9, 718.4, 726.5, 719.8, 719.8, 719.8, 728.0], \"whiskerwidth\": 0, \"boxpoints\": false, \"fillcolor\": \"#FF4136\", \"showlegend\": false, \"line\": {\"color\": \"#FF4136\"}, \"name\": \"Decreasing\"}], {}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from plotly.offline import init_notebook_mode, iplot\n",
"from plotly import figure_factory as FF\n",
"\n",
"init_notebook_mode(connected=True) # Jupyter notebook用設定\n",
"\n",
"fig = FF.create_candlestick(df.open, df.high, df.low, df.close, dates=df.index)\n",
"\n",
"iplot(fig)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# おまけ\n",
"make_ID関数に唐突に登場する10**13の話"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"MariaDBのBIGINT UNGIGNEDの範囲は\n",
"0 から 18446744073709551615 \n",
"その情報量は"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"64.0"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.log2(18446744073709551615)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"64 [bit]は10進数で何桁?"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"19.0"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.floor(np.log10(2**64.0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"10進数19桁の左側から証券コード用に10進数6桁を取った残りは?"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"13.0"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"19.0 - 6"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"|18 |17 |16 |15 |14 |13 |12 |11 |10 |9 |8 |7 |6 |5 |4 |3 |2 |1 |0 |(10<sup>x</sup>)|\n",
"|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n",
"|証|券|コ|ー|ド|用|\n",
"\n",
"|12 |11 |10 |9 |8 |7 |6 |5 |4 |3 |2 |1 |0 |(10<sup>x</sup>)|\n",
"|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n",
"||||||日|付|時|刻||||||\n",
"\n",
"左側から6桁を証券コードに残りを日付時刻に配分する。\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"全桁に9が入った場合の情報量は?"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"9999999999999999999"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"999999*10**13 + (10**13-1)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"19"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(str(_))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"9が19個ある"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"63.116633802859887"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.log2( 999999*10**13 + (10**13-1) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"全桁に9が入った場合の情報量は \n",
"64 [bit]を超えない事を確認できた"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 日付時刻13桁は西暦何年まで有効か?"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"9999999999999"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"10**13-1"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"13"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(str(10**13-1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"9が13個ということで\n",
"\n",
"値の範囲は0から9999999999999"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"numpy.datetime64('1970-01-01T00:00:00')"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.datetime64(0,'s')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"numpy.datetime64('318857-05-20T17:46:39')"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.datetime64(9999999999999,'s')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"以上の通り \n",
"'1970-01-01T00:00:00' \n",
"から \n",
"'318857-05-20T17:46:39'(西暦31万8857年) \n",
"まで有効"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment