Skip to content

Instantly share code, notes, and snippets.

@nagishin
Created September 28, 2018 05:17
Show Gist options
  • Save nagishin/a1d7d7e6ed1bcf7f74eadcb77e9ded17 to your computer and use it in GitHub Desktop.
Save nagishin/a1d7d7e6ed1bcf7f74eadcb77e9ded17 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 約定履歴取得"
]
},
{
"cell_type": "code",
"execution_count": 301,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/site-packages/bravado_core/spec.py:271: Warning: guid format is not registered with bravado-core!\n",
" category=Warning,\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>foreignNotional</th>\n",
" <th>grossValue</th>\n",
" <th>homeNotional</th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>symbol</th>\n",
" <th>tickDirection</th>\n",
" <th>timestamp</th>\n",
" <th>trdMatchID</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1819.0</td>\n",
" <td>27312285</td>\n",
" <td>0.273123</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:34.013000+00:00</td>\n",
" <td>027f613a-4364-3ae2-d2c9-b88a299915e5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>27.0</td>\n",
" <td>405405</td>\n",
" <td>0.004054</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:35.200000+00:00</td>\n",
" <td>3070a09b-d840-c050-5072-8a76cfaa276c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>17.0</td>\n",
" <td>255272</td>\n",
" <td>0.002553</td>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>f02930cf-ccd7-15fc-4443-7ca985d80fd2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10.0</td>\n",
" <td>150170</td>\n",
" <td>0.001502</td>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>091ac2f7-48d4-1035-a60d-534f2ee2fa56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>25.0</td>\n",
" <td>375400</td>\n",
" <td>0.003754</td>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>XBTUSD</td>\n",
" <td>PlusTick</td>\n",
" <td>2018-09-27 21:06:36.564000+00:00</td>\n",
" <td>ece94782-16ad-5fc8-1f5b-74e83a239b08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" foreignNotional grossValue homeNotional price side size symbol \\\n",
"0 1819.0 27312285 0.273123 6660.0 Buy 1819 XBTUSD \n",
"1 27.0 405405 0.004054 6660.0 Buy 27 XBTUSD \n",
"2 17.0 255272 0.002553 6659.5 Sell 17 XBTUSD \n",
"3 10.0 150170 0.001502 6659.0 Sell 10 XBTUSD \n",
"4 25.0 375400 0.003754 6659.5 Buy 25 XBTUSD \n",
"\n",
" tickDirection timestamp \\\n",
"0 ZeroPlusTick 2018-09-27 21:06:34.013000+00:00 \n",
"1 ZeroPlusTick 2018-09-27 21:06:35.200000+00:00 \n",
"2 MinusTick 2018-09-27 21:06:36.064000+00:00 \n",
"3 MinusTick 2018-09-27 21:06:36.064000+00:00 \n",
"4 PlusTick 2018-09-27 21:06:36.564000+00:00 \n",
"\n",
" trdMatchID \n",
"0 027f613a-4364-3ae2-d2c9-b88a299915e5 \n",
"1 3070a09b-d840-c050-5072-8a76cfaa276c \n",
"2 f02930cf-ccd7-15fc-4443-7ca985d80fd2 \n",
"3 091ac2f7-48d4-1035-a60d-534f2ee2fa56 \n",
"4 ece94782-16ad-5fc8-1f5b-74e83a239b08 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# coding: utf-8\n",
"from datetime import datetime, timedelta\n",
"import pytz, bitmex\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# 取得開始時刻を1時間前に設定\n",
"start = datetime.now(pytz.utc) - timedelta(hours=1)\n",
"# BitMEX約定履歴取得(REST API)\n",
"api = bitmex.bitmex()\n",
"trades = api.Trade.Trade_get(symbol=\"XBTUSD\", count=500, startTime=start).result()[0]\n",
"# 約定履歴DataFrame生成\n",
"df_trades = pd.DataFrame(trades)\n",
"display(df_trades.head())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### DataFrameをcsv出力"
]
},
{
"cell_type": "code",
"execution_count": 302,
"metadata": {},
"outputs": [],
"source": [
"# DataFrameをcsv保存\n",
"df_trades.to_csv(\"trades.csv\")\n",
"\n",
"# 行・列見出し出力指定(行:OFF, 列:ON) ※未指定:いずれもTrue\n",
"df_trades.to_csv(\"trades1.csv\", header=True, index=False)\n",
"\n",
"# 出力列を指定\n",
"df_trades.to_csv(\"trades2.csv\", columns=[\"timestamp\", \"price\", \"side\", \"size\"])\n",
"\n",
"# データ区切り文字指定(タブ区切り) ※未指定:\\n\n",
"df_trades.to_csv(\"trades3.csv\", sep=\"\\t\")\n",
"\n",
"# 書き込みモード(上書き:\"w\", 追記:\"a\") ※未指定:\"w\"\n",
"df_trades.to_csv(\"trades4.csv\", mode=\"a\", header=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### csvをDataFrameに読み込み"
]
},
{
"cell_type": "code",
"execution_count": 303,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"csvをDataFrameに読み込み\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>foreignNotional</th>\n",
" <th>grossValue</th>\n",
" <th>homeNotional</th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>symbol</th>\n",
" <th>tickDirection</th>\n",
" <th>timestamp</th>\n",
" <th>trdMatchID</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1819.0</td>\n",
" <td>27312285</td>\n",
" <td>0.273123</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:34.013000+00:00</td>\n",
" <td>027f613a-4364-3ae2-d2c9-b88a299915e5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>27.0</td>\n",
" <td>405405</td>\n",
" <td>0.004054</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:35.200000+00:00</td>\n",
" <td>3070a09b-d840-c050-5072-8a76cfaa276c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>17.0</td>\n",
" <td>255272</td>\n",
" <td>0.002553</td>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>f02930cf-ccd7-15fc-4443-7ca985d80fd2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10.0</td>\n",
" <td>150170</td>\n",
" <td>0.001502</td>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>091ac2f7-48d4-1035-a60d-534f2ee2fa56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>25.0</td>\n",
" <td>375400</td>\n",
" <td>0.003754</td>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>XBTUSD</td>\n",
" <td>PlusTick</td>\n",
" <td>2018-09-27 21:06:36.564000+00:00</td>\n",
" <td>ece94782-16ad-5fc8-1f5b-74e83a239b08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" foreignNotional grossValue homeNotional price side size symbol \\\n",
"0 1819.0 27312285 0.273123 6660.0 Buy 1819 XBTUSD \n",
"1 27.0 405405 0.004054 6660.0 Buy 27 XBTUSD \n",
"2 17.0 255272 0.002553 6659.5 Sell 17 XBTUSD \n",
"3 10.0 150170 0.001502 6659.0 Sell 10 XBTUSD \n",
"4 25.0 375400 0.003754 6659.5 Buy 25 XBTUSD \n",
"\n",
" tickDirection timestamp \\\n",
"0 ZeroPlusTick 2018-09-27 21:06:34.013000+00:00 \n",
"1 ZeroPlusTick 2018-09-27 21:06:35.200000+00:00 \n",
"2 MinusTick 2018-09-27 21:06:36.064000+00:00 \n",
"3 MinusTick 2018-09-27 21:06:36.064000+00:00 \n",
"4 PlusTick 2018-09-27 21:06:36.564000+00:00 \n",
"\n",
" trdMatchID \n",
"0 027f613a-4364-3ae2-d2c9-b88a299915e5 \n",
"1 3070a09b-d840-c050-5072-8a76cfaa276c \n",
"2 f02930cf-ccd7-15fc-4443-7ca985d80fd2 \n",
"3 091ac2f7-48d4-1035-a60d-534f2ee2fa56 \n",
"4 ece94782-16ad-5fc8-1f5b-74e83a239b08 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"ヘッダ行指定(ヘッダなしは連番列名自動設定) ※未指定:0(先頭行がヘッダ)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>10</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1819.0</td>\n",
" <td>27312285</td>\n",
" <td>0.273123</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:34.013000+00:00</td>\n",
" <td>027f613a-4364-3ae2-d2c9-b88a299915e5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>27.0</td>\n",
" <td>405405</td>\n",
" <td>0.004054</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:35.200000+00:00</td>\n",
" <td>3070a09b-d840-c050-5072-8a76cfaa276c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>17.0</td>\n",
" <td>255272</td>\n",
" <td>0.002553</td>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>f02930cf-ccd7-15fc-4443-7ca985d80fd2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>10.0</td>\n",
" <td>150170</td>\n",
" <td>0.001502</td>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>091ac2f7-48d4-1035-a60d-534f2ee2fa56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>25.0</td>\n",
" <td>375400</td>\n",
" <td>0.003754</td>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>XBTUSD</td>\n",
" <td>PlusTick</td>\n",
" <td>2018-09-27 21:06:36.564000+00:00</td>\n",
" <td>ece94782-16ad-5fc8-1f5b-74e83a239b08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 \\\n",
"0 0 1819.0 27312285 0.273123 6660.0 Buy 1819 XBTUSD ZeroPlusTick \n",
"1 1 27.0 405405 0.004054 6660.0 Buy 27 XBTUSD ZeroPlusTick \n",
"2 2 17.0 255272 0.002553 6659.5 Sell 17 XBTUSD MinusTick \n",
"3 3 10.0 150170 0.001502 6659.0 Sell 10 XBTUSD MinusTick \n",
"4 4 25.0 375400 0.003754 6659.5 Buy 25 XBTUSD PlusTick \n",
"\n",
" 9 10 \n",
"0 2018-09-27 21:06:34.013000+00:00 027f613a-4364-3ae2-d2c9-b88a299915e5 \n",
"1 2018-09-27 21:06:35.200000+00:00 3070a09b-d840-c050-5072-8a76cfaa276c \n",
"2 2018-09-27 21:06:36.064000+00:00 f02930cf-ccd7-15fc-4443-7ca985d80fd2 \n",
"3 2018-09-27 21:06:36.064000+00:00 091ac2f7-48d4-1035-a60d-534f2ee2fa56 \n",
"4 2018-09-27 21:06:36.564000+00:00 ece94782-16ad-5fc8-1f5b-74e83a239b08 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"index列設定 ※未指定:indexは連番自動設定\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>foreignNotional</th>\n",
" <th>grossValue</th>\n",
" <th>homeNotional</th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>symbol</th>\n",
" <th>tickDirection</th>\n",
" <th>timestamp</th>\n",
" <th>trdMatchID</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1819.0</td>\n",
" <td>27312285</td>\n",
" <td>0.273123</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:34.013000+00:00</td>\n",
" <td>027f613a-4364-3ae2-d2c9-b88a299915e5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>27.0</td>\n",
" <td>405405</td>\n",
" <td>0.004054</td>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>XBTUSD</td>\n",
" <td>ZeroPlusTick</td>\n",
" <td>2018-09-27 21:06:35.200000+00:00</td>\n",
" <td>3070a09b-d840-c050-5072-8a76cfaa276c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>17.0</td>\n",
" <td>255272</td>\n",
" <td>0.002553</td>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>f02930cf-ccd7-15fc-4443-7ca985d80fd2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10.0</td>\n",
" <td>150170</td>\n",
" <td>0.001502</td>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>XBTUSD</td>\n",
" <td>MinusTick</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" <td>091ac2f7-48d4-1035-a60d-534f2ee2fa56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>25.0</td>\n",
" <td>375400</td>\n",
" <td>0.003754</td>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>XBTUSD</td>\n",
" <td>PlusTick</td>\n",
" <td>2018-09-27 21:06:36.564000+00:00</td>\n",
" <td>ece94782-16ad-5fc8-1f5b-74e83a239b08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" foreignNotional grossValue homeNotional price side size symbol \\\n",
"0 1819.0 27312285 0.273123 6660.0 Buy 1819 XBTUSD \n",
"1 27.0 405405 0.004054 6660.0 Buy 27 XBTUSD \n",
"2 17.0 255272 0.002553 6659.5 Sell 17 XBTUSD \n",
"3 10.0 150170 0.001502 6659.0 Sell 10 XBTUSD \n",
"4 25.0 375400 0.003754 6659.5 Buy 25 XBTUSD \n",
"\n",
" tickDirection timestamp \\\n",
"0 ZeroPlusTick 2018-09-27 21:06:34.013000+00:00 \n",
"1 ZeroPlusTick 2018-09-27 21:06:35.200000+00:00 \n",
"2 MinusTick 2018-09-27 21:06:36.064000+00:00 \n",
"3 MinusTick 2018-09-27 21:06:36.064000+00:00 \n",
"4 PlusTick 2018-09-27 21:06:36.564000+00:00 \n",
"\n",
" trdMatchID \n",
"0 027f613a-4364-3ae2-d2c9-b88a299915e5 \n",
"1 3070a09b-d840-c050-5072-8a76cfaa276c \n",
"2 f02930cf-ccd7-15fc-4443-7ca985d80fd2 \n",
"3 091ac2f7-48d4-1035-a60d-534f2ee2fa56 \n",
"4 ece94782-16ad-5fc8-1f5b-74e83a239b08 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"読み込む列を指定\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>2018-09-27 21:06:34.013000+00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>2018-09-27 21:06:35.200000+00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>2018-09-27 21:06:36.064000+00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>2018-09-27 21:06:36.564000+00:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size timestamp\n",
"0 6660.0 Buy 1819 2018-09-27 21:06:34.013000+00:00\n",
"1 6660.0 Buy 27 2018-09-27 21:06:35.200000+00:00\n",
"2 6659.5 Sell 17 2018-09-27 21:06:36.064000+00:00\n",
"3 6659.0 Sell 10 2018-09-27 21:06:36.064000+00:00\n",
"4 6659.5 Buy 25 2018-09-27 21:06:36.564000+00:00"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"型を指定\n"
]
},
{
"data": {
"text/plain": [
"Unnamed: 0 int64\n",
"foreignNotional float64\n",
"grossValue int64\n",
"homeNotional float64\n",
"price float64\n",
"side object\n",
"size int64\n",
"symbol object\n",
"tickDirection object\n",
"timestamp object\n",
"trdMatchID object\n",
"dtype: object"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"日付文字列をdatetime型変換\n"
]
},
{
"data": {
"text/plain": [
"Unnamed: 0 int64\n",
"foreignNotional float64\n",
"grossValue int64\n",
"homeNotional float64\n",
"price float64\n",
"side object\n",
"size int64\n",
"symbol object\n",
"tickDirection object\n",
"timestamp datetime64[ns]\n",
"trdMatchID object\n",
"dtype: object"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"日付文字列をdatetimeindexにして必要な列を型指定して読み込み\n",
"(dtypeのint, floatのbit数は扱う値範囲、計算精度に適したサイズを設定)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-27 21:06:34.013</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:35.200</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:36.064</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:36.064</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:36.564</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size\n",
"timestamp \n",
"2018-09-27 21:06:34.013 6660.0 Buy 1819\n",
"2018-09-27 21:06:35.200 6660.0 Buy 27\n",
"2018-09-27 21:06:36.064 6659.5 Sell 17\n",
"2018-09-27 21:06:36.064 6659.0 Sell 10\n",
"2018-09-27 21:06:36.564 6659.5 Buy 25"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"price float32\n",
"side object\n",
"size int32\n",
"dtype: object"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"csvをDataFrameに読み込み\")\n",
"df = pd.read_csv(\"trades1.csv\")\n",
"display(df.head())\n",
"\n",
"print(\"ヘッダ行指定(ヘッダなしは連番列名自動設定) ※未指定:0(先頭行がヘッダ)\")\n",
"df = pd.read_csv(\"trades4.csv\", header=None)\n",
"display(df.head())\n",
"\n",
"print(\"index列設定 ※未指定:indexは連番自動設定\")\n",
"df = pd.read_csv(\"trades.csv\", index_col=0)\n",
"display(df.head())\n",
"\n",
"print(\"読み込む列を指定\")\n",
"df = pd.read_csv(\"trades.csv\", usecols=[4, 5, 6, 9])\n",
"df = pd.read_csv(\"trades.csv\", usecols=[\"price\", \"side\", \"size\", \"timestamp\"])\n",
"display(df.head())\n",
"\n",
"print(\"型を指定\")\n",
"df = pd.read_csv(\"trades.csv\", dtype={\"price\":float, \"side\":str, \"size\":int})\n",
"display(df.dtypes)\n",
"\n",
"print(\"日付文字列をdatetime型変換\")\n",
"df = pd.read_csv(\"trades.csv\", parse_dates=[9])\n",
"display(df.dtypes)\n",
"\n",
"print(\"日付文字列をdatetimeindexにして必要な列を型指定して読み込み\\n\" + \\\n",
"\"(dtypeのint, floatのbit数は扱う値範囲、計算精度に適したサイズを設定)\")\n",
"df = pd.read_csv(\"trades.csv\", usecols=[\"price\", \"side\", \"size\", \"timestamp\"],\n",
" dtype={\"price\":\"float32\", \"side\":\"str\", \"size\":\"int32\"},\n",
" index_col=3, parse_dates=[\"timestamp\"])\n",
"display(df.head())\n",
"display(df.dtypes)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 日付型編集"
]
},
{
"cell_type": "code",
"execution_count": 304,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"datetimeindexにタイムゾーン設定(UTC)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-27 21:06:34.013000+00:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:35.200000+00:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:36.064000+00:00</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:36.064000+00:00</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-27 21:06:36.564000+00:00</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size\n",
"timestamp \n",
"2018-09-27 21:06:34.013000+00:00 6660.0 Buy 1819\n",
"2018-09-27 21:06:35.200000+00:00 6660.0 Buy 27\n",
"2018-09-27 21:06:36.064000+00:00 6659.5 Sell 17\n",
"2018-09-27 21:06:36.064000+00:00 6659.0 Sell 10\n",
"2018-09-27 21:06:36.564000+00:00 6659.5 Buy 25"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"datetimeindexにタイムゾーン変換(JST)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34.013000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35.200000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.564000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size\n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 6660.0 Buy 1819\n",
"2018-09-28 06:06:35.200000+09:00 6660.0 Buy 27\n",
"2018-09-28 06:06:36.064000+09:00 6659.5 Sell 17\n",
"2018-09-28 06:06:36.064000+09:00 6659.0 Sell 10\n",
"2018-09-28 06:06:36.564000+09:00 6659.5 Buy 25"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"datetimeからunixtime変換\n",
"ミリ秒\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>msec_unixtime</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34.013000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>1538082394013</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35.200000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>1538082395200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>1538082396064</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>1538082396064</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.564000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>1538082396564</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size msec_unixtime\n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 6660.0 Buy 1819 1538082394013\n",
"2018-09-28 06:06:35.200000+09:00 6660.0 Buy 27 1538082395200\n",
"2018-09-28 06:06:36.064000+09:00 6659.5 Sell 17 1538082396064\n",
"2018-09-28 06:06:36.064000+09:00 6659.0 Sell 10 1538082396064\n",
"2018-09-28 06:06:36.564000+09:00 6659.5 Buy 25 1538082396564"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"秒\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>msec_unixtime</th>\n",
" <th>unixtime</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34.013000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>1538082394013</td>\n",
" <td>1538082394</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35.200000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>1538082395200</td>\n",
" <td>1538082395</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>1538082396064</td>\n",
" <td>1538082396</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>1538082396064</td>\n",
" <td>1538082396</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.564000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>1538082396564</td>\n",
" <td>1538082396</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size msec_unixtime \\\n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 6660.0 Buy 1819 1538082394013 \n",
"2018-09-28 06:06:35.200000+09:00 6660.0 Buy 27 1538082395200 \n",
"2018-09-28 06:06:36.064000+09:00 6659.5 Sell 17 1538082396064 \n",
"2018-09-28 06:06:36.064000+09:00 6659.0 Sell 10 1538082396064 \n",
"2018-09-28 06:06:36.564000+09:00 6659.5 Buy 25 1538082396564 \n",
"\n",
" unixtime \n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 1538082394 \n",
"2018-09-28 06:06:35.200000+09:00 1538082395 \n",
"2018-09-28 06:06:36.064000+09:00 1538082396 \n",
"2018-09-28 06:06:36.064000+09:00 1538082396 \n",
"2018-09-28 06:06:36.564000+09:00 1538082396 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"datetimeindexにタイムゾーン設定(UTC)\")\n",
"df.index = df.index.tz_localize(\"UTC\")\n",
"display(df.head())\n",
"\n",
"print(\"datetimeindexにタイムゾーン変換(JST)\")\n",
"df.index = df.index.tz_convert(\"Asia/Tokyo\")\n",
"display(df.head())\n",
"\n",
"print(\"datetimeからunixtime変換\")\n",
"print(\"ミリ秒\")\n",
"df[\"msec_unixtime\"] = df.index.astype(np.int64) // 10**6\n",
"display(df.head())\n",
"print(\"秒\")\n",
"df[\"unixtime\"] = df.index.astype(np.int64) // 10**9\n",
"display(df.head())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 列の追加・削除"
]
},
{
"cell_type": "code",
"execution_count": 305,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"UNIX TIME列を削除\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34.013000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35.200000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.564000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size\n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 6660.0 Buy 1819\n",
"2018-09-28 06:06:35.200000+09:00 6660.0 Buy 27\n",
"2018-09-28 06:06:36.064000+09:00 6659.5 Sell 17\n",
"2018-09-28 06:06:36.064000+09:00 6659.0 Sell 10\n",
"2018-09-28 06:06:36.564000+09:00 6659.5 Buy 25"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"出来高(size)をBuy/Sellに分ける\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>price</th>\n",
" <th>side</th>\n",
" <th>size</th>\n",
" <th>buy_size</th>\n",
" <th>buy_flag</th>\n",
" <th>sell_size</th>\n",
" <th>sell_flag</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34.013000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>1819</td>\n",
" <td>1819</td>\n",
" <td>True</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35.200000+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>Buy</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>True</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Sell</td>\n",
" <td>17</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" <td>17</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.064000+09:00</th>\n",
" <td>6659.0</td>\n",
" <td>Sell</td>\n",
" <td>10</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36.564000+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>Buy</td>\n",
" <td>25</td>\n",
" <td>25</td>\n",
" <td>True</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" price side size buy_size buy_flag \\\n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 6660.0 Buy 1819 1819 True \n",
"2018-09-28 06:06:35.200000+09:00 6660.0 Buy 27 27 True \n",
"2018-09-28 06:06:36.064000+09:00 6659.5 Sell 17 0 False \n",
"2018-09-28 06:06:36.064000+09:00 6659.0 Sell 10 0 False \n",
"2018-09-28 06:06:36.564000+09:00 6659.5 Buy 25 25 True \n",
"\n",
" sell_size sell_flag \n",
"timestamp \n",
"2018-09-28 06:06:34.013000+09:00 0 False \n",
"2018-09-28 06:06:35.200000+09:00 0 False \n",
"2018-09-28 06:06:36.064000+09:00 17 True \n",
"2018-09-28 06:06:36.064000+09:00 10 True \n",
"2018-09-28 06:06:36.564000+09:00 0 False "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"UNIX TIME列を削除\")\n",
"df.drop(\"msec_unixtime\", axis=1, inplace=True)\n",
"df.drop(\"unixtime\", axis=1, inplace=True)\n",
"display(df.head())\n",
"\n",
"print(\"出来高(size)をBuy/Sellに分ける\")\n",
"df[\"buy_size\"] = df[\"size\"].where(df[\"side\"] == \"Buy\", 0)\n",
"df[\"buy_flag\"] = df[\"side\"] == \"Buy\"\n",
"df[\"sell_size\"] = df[\"size\"].where(df[\"side\"] == \"Sell\", 0)\n",
"df[\"sell_flag\"] = df[\"side\"] == \"Sell\"\n",
"display(df.head())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### リサンプリング(集計)"
]
},
{
"cell_type": "code",
"execution_count": 308,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1秒足(1S)OHLCVリサンプリング\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>buy_vol</th>\n",
" <th>buy_num</th>\n",
" <th>sell_vol</th>\n",
" <th>sell_num</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>1819</td>\n",
" <td>1819</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>204443</td>\n",
" <td>204416</td>\n",
" <td>8.0</td>\n",
" <td>27</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:37+09:00</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:38+09:00</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close volume buy_vol \\\n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 6660.0 6660.0 6660.0 6660.0 1819 1819 \n",
"2018-09-28 06:06:35+09:00 6660.0 6660.0 6660.0 6660.0 27 27 \n",
"2018-09-28 06:06:36+09:00 6659.5 6660.0 6659.0 6660.0 204443 204416 \n",
"2018-09-28 06:06:37+09:00 NaN NaN NaN NaN 0 0 \n",
"2018-09-28 06:06:38+09:00 NaN NaN NaN NaN 0 0 \n",
"\n",
" buy_num sell_vol sell_num \n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 1.0 0 0.0 \n",
"2018-09-28 06:06:35+09:00 1.0 0 0.0 \n",
"2018-09-28 06:06:36+09:00 8.0 27 2.0 \n",
"2018-09-28 06:06:37+09:00 0.0 0 0.0 \n",
"2018-09-28 06:06:38+09:00 0.0 0 0.0 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"集計した件数をintに変換\n",
"データ欠損を直前価格で補間\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>buy_vol</th>\n",
" <th>buy_num</th>\n",
" <th>sell_vol</th>\n",
" <th>sell_num</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>1819</td>\n",
" <td>1819</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>204443</td>\n",
" <td>204416</td>\n",
" <td>8</td>\n",
" <td>27</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:37+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:38+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close volume buy_vol \\\n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 6660.0 6660.0 6660.0 6660.0 1819 1819 \n",
"2018-09-28 06:06:35+09:00 6660.0 6660.0 6660.0 6660.0 27 27 \n",
"2018-09-28 06:06:36+09:00 6659.5 6660.0 6659.0 6660.0 204443 204416 \n",
"2018-09-28 06:06:37+09:00 6659.5 6660.0 6659.0 6660.0 0 0 \n",
"2018-09-28 06:06:38+09:00 6659.5 6660.0 6659.0 6660.0 0 0 \n",
"\n",
" buy_num sell_vol sell_num \n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 1 0 0 \n",
"2018-09-28 06:06:35+09:00 1 0 0 \n",
"2018-09-28 06:06:36+09:00 8 27 2 \n",
"2018-09-28 06:06:37+09:00 0 0 0 \n",
"2018-09-28 06:06:38+09:00 0 0 0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"1秒足(1S)OHLCVリサンプリング\")\n",
"df_ohlcv = df.resample(\"1S\").agg({\n",
" \"price\" : \"ohlc\",\n",
" \"size\" : \"sum\",\n",
" \"buy_size\" : \"sum\",\n",
" \"buy_flag\" : \"sum\",\n",
" \"sell_size\" : \"sum\",\n",
" \"sell_flag\" : \"sum\",})\n",
"df_ohlcv.columns = \\\n",
" [\"open\", \"high\", \"low\", \"close\", \"volume\", \"buy_vol\", \"buy_num\", \"sell_vol\", \"sell_num\"]\n",
"display(df_ohlcv.head())\n",
"\n",
"print(\"集計した件数をintに変換\")\n",
"df_ohlcv[\"buy_num\"] = df_ohlcv[\"buy_num\"].astype(int)\n",
"df_ohlcv[\"sell_num\"] = df_ohlcv[\"sell_num\"].astype(int)\n",
"\n",
"print(\"データ欠損を直前価格で補間\")\n",
"df_ohlcv.ffill(inplace=True)\n",
"display(df_ohlcv.head())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 集計結果加工&レイアウト調整"
]
},
{
"cell_type": "code",
"execution_count": 309,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"集計したBuy / Sell出来高、約定履歴件数から1件あたりの平均出来高を算出\n",
"列並び替え\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>buy_num</th>\n",
" <th>buy_vol</th>\n",
" <th>buy_avr</th>\n",
" <th>sell_num</th>\n",
" <th>sell_vol</th>\n",
" <th>sell_avr</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>1819</td>\n",
" <td>1</td>\n",
" <td>1819</td>\n",
" <td>1819.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>27</td>\n",
" <td>1</td>\n",
" <td>27</td>\n",
" <td>27.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>204443</td>\n",
" <td>8</td>\n",
" <td>204416</td>\n",
" <td>25552.0</td>\n",
" <td>2</td>\n",
" <td>27</td>\n",
" <td>13.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:37+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:38+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close volume buy_num \\\n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 6660.0 6660.0 6660.0 6660.0 1819 1 \n",
"2018-09-28 06:06:35+09:00 6660.0 6660.0 6660.0 6660.0 27 1 \n",
"2018-09-28 06:06:36+09:00 6659.5 6660.0 6659.0 6660.0 204443 8 \n",
"2018-09-28 06:06:37+09:00 6659.5 6660.0 6659.0 6660.0 0 0 \n",
"2018-09-28 06:06:38+09:00 6659.5 6660.0 6659.0 6660.0 0 0 \n",
"\n",
" buy_vol buy_avr sell_num sell_vol sell_avr \n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 1819 1819.0 0 0 0.0 \n",
"2018-09-28 06:06:35+09:00 27 27.0 0 0 0.0 \n",
"2018-09-28 06:06:36+09:00 204416 25552.0 2 27 13.5 \n",
"2018-09-28 06:06:37+09:00 0 0.0 0 0 0.0 \n",
"2018-09-28 06:06:38+09:00 0 0.0 0 0 0.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"集計したBuy / Sell出来高、約定履歴件数から1件あたりの平均出来高を算出\")\n",
"df_ohlcv[\"buy_avr\"] = np.where(df_ohlcv[\"buy_num\"] == 0, \\\n",
" df_ohlcv[\"buy_vol\"], df_ohlcv[\"buy_vol\"] / df_ohlcv[\"buy_num\"])\n",
"df_ohlcv[\"sell_avr\"] = np.where(df_ohlcv[\"sell_num\"] == 0, \\\n",
" df_ohlcv[\"sell_vol\"], df_ohlcv[\"sell_vol\"] / df_ohlcv[\"sell_num\"])\n",
"\n",
"print(\"列並び替え\")\n",
"df_ohlcv = df_ohlcv[[\"open\", \"high\", \"low\", \"close\", \"volume\", \\\n",
" \"buy_num\", \"buy_vol\", \"buy_avr\", \"sell_num\", \"sell_vol\", \"sell_avr\"]]\n",
"display(df_ohlcv.head())"
]
},
{
"cell_type": "code",
"execution_count": 310,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"列名変更\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>始値</th>\n",
" <th>高値</th>\n",
" <th>安値</th>\n",
" <th>終値</th>\n",
" <th>出来高</th>\n",
" <th>[買]約定数</th>\n",
" <th>[買]出来高</th>\n",
" <th>[買]平均約定出来高</th>\n",
" <th>[売]約定数</th>\n",
" <th>[売]出来高</th>\n",
" <th>[売]平均約定出来高</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-09-28 06:06:34+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>1819</td>\n",
" <td>1</td>\n",
" <td>1819</td>\n",
" <td>1819.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:35+09:00</th>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>6660.0</td>\n",
" <td>27</td>\n",
" <td>1</td>\n",
" <td>27</td>\n",
" <td>27.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:36+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>204443</td>\n",
" <td>8</td>\n",
" <td>204416</td>\n",
" <td>25552.0</td>\n",
" <td>2</td>\n",
" <td>27</td>\n",
" <td>13.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:37+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-09-28 06:06:38+09:00</th>\n",
" <td>6659.5</td>\n",
" <td>6660.0</td>\n",
" <td>6659.0</td>\n",
" <td>6660.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 始値 高値 安値 終値 出来高 [買]約定数 \\\n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 6660.0 6660.0 6660.0 6660.0 1819 1 \n",
"2018-09-28 06:06:35+09:00 6660.0 6660.0 6660.0 6660.0 27 1 \n",
"2018-09-28 06:06:36+09:00 6659.5 6660.0 6659.0 6660.0 204443 8 \n",
"2018-09-28 06:06:37+09:00 6659.5 6660.0 6659.0 6660.0 0 0 \n",
"2018-09-28 06:06:38+09:00 6659.5 6660.0 6659.0 6660.0 0 0 \n",
"\n",
" [買]出来高 [買]平均約定出来高 [売]約定数 [売]出来高 [売]平均約定出来高 \n",
"timestamp \n",
"2018-09-28 06:06:34+09:00 1819 1819.0 0 0 0.0 \n",
"2018-09-28 06:06:35+09:00 27 27.0 0 0 0.0 \n",
"2018-09-28 06:06:36+09:00 204416 25552.0 2 27 13.5 \n",
"2018-09-28 06:06:37+09:00 0 0.0 0 0 0.0 \n",
"2018-09-28 06:06:38+09:00 0 0.0 0 0 0.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"列名変更\")\n",
"df_ohlcv = df_ohlcv.rename(columns={\n",
" \"open\": \"始値\", \"high\": \"高値\", \"low\": \"安値\", \"close\": \"終値\", \"volume\": \"出来高\",\n",
" \"buy_num\": \"[買]約定数\", \"buy_vol\": \"[買]出来高\", \"buy_avr\": \"[買]平均約定出来高\",\n",
" \"sell_num\": \"[売]約定数\", \"sell_vol\": \"[売]出来高\", \"sell_avr\": \"[売]平均約定出来高\"})\n",
"display(df_ohlcv.head())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.2"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment