Skip to content

Instantly share code, notes, and snippets.

@shinseitaro
Created September 25, 2022 06:28
Show Gist options
  • Save shinseitaro/bc1a441d949e522a4b4f68724abfed0c to your computer and use it in GitHub Desktop.
Save shinseitaro/bc1a441d949e522a4b4f68724abfed0c to your computer and use it in GitHub Desktop.
inter exchange.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyMhrzs66CGKpTxV7pBldKE6",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/shinseitaro/bc1a441d949e522a4b4f68724abfed0c/inter-exchange.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"取引所間の鞘は存在する | Shinの株ブログ - https://www.stockinvestment.blog/?p=1610"
],
"metadata": {
"id": "WjQ2EPXwFIM9"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "J-XYejUCFFNO"
},
"outputs": [],
"source": [
"# インストール\n",
"!pip install ccxt"
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import ccxt\n",
"\n",
"\n",
"def data_to_df(data):\n",
" \"\"\"CCXTから取得したデータをDataFrameに変換\"\"\"\n",
"\n",
" df = pd.DataFrame(\n",
" data, columns=[\"Date Time\", \"Open\", \"High\", \"Low\", \"Close\", \"Volume\"]\n",
" )\n",
" df[\"Date Time\"] = pd.to_datetime(df[\"Date Time\"] / 1000, unit=\"s\")\n",
" df.set_index(\"Date Time\", inplace=True)\n",
" return df\n",
"\n",
"\n",
"def get_data(exchange, symbol, timeframe):\n",
" return exchange.fetch_ohlcv(symbol, timeframe)\n",
"\n",
"\n",
"def ftx_data():\n",
" exchange = ccxt.ftx()\n",
" symbol = \"BTC/USD\"\n",
" timeframe = '1h'\n",
" return data_to_df(get_data(exchange, symbol, timeframe))\n",
"\n",
"def binance_data():\n",
" exchange = ccxt.binance()\n",
" symbol = \"BTC/USDT\"\n",
" timeframe = '1h'\n",
" return data_to_df(get_data(exchange, symbol, timeframe))\n",
"\n"
],
"metadata": {
"id": "6OdjeJCcFQhn"
},
"execution_count": 28,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df_ftx = ftx_data()\n",
"df_binance = binance_data()\n"
],
"metadata": {
"id": "TFpZZfKaKTuW"
},
"execution_count": 29,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## strategy\n",
"\n",
"```\n",
"・1時間における各市場のBTCリターンを計測。\n",
"・前の一時間のリターンが高い取引所では売り、低い方では買い、ホールド時間は1時間のみ。\n",
"・単純に上の二つを繰り返す。\n",
"```\n",
"\n"
],
"metadata": {
"id": "M3Jk6clDLN11"
}
},
{
"cell_type": "code",
"source": [
"df_binance[\"return\"] = df_binance[\"Close\"].pct_change() \n",
"df_ftx[\"return\"] = df_ftx[\"Close\"].pct_change() \n"
],
"metadata": {
"id": "sWLZMBljKr7M"
},
"execution_count": 80,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df = pd.DataFrame({\"ftx\": df_ftx[\"return\"], \"binance\": df_binance[\"return\"]})\n",
"df = df.dropna()\n",
"df.tail()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "MQ8RyOs5Lp7h",
"outputId": "542ae6dd-820f-4ecb-8f76-67d967a5bb00"
},
"execution_count": 81,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" ftx binance\n",
"Date Time \n",
"2022-09-25 01:00:00 0.000897 0.000702\n",
"2022-09-25 02:00:00 -0.001528 -0.001452\n",
"2022-09-25 03:00:00 0.005383 0.005530\n",
"2022-09-25 04:00:00 -0.002205 -0.002349\n",
"2022-09-25 05:00:00 -0.000736 -0.001074"
],
"text/html": [
"\n",
" <div id=\"df-96eea2dd-bba4-4fb5-a522-92d67675610e\">\n",
" <div class=\"colab-df-container\">\n",
" <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>ftx</th>\n",
" <th>binance</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2022-09-25 01:00:00</th>\n",
" <td>0.000897</td>\n",
" <td>0.000702</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-25 02:00:00</th>\n",
" <td>-0.001528</td>\n",
" <td>-0.001452</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-25 03:00:00</th>\n",
" <td>0.005383</td>\n",
" <td>0.005530</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-25 04:00:00</th>\n",
" <td>-0.002205</td>\n",
" <td>-0.002349</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2022-09-25 05:00:00</th>\n",
" <td>-0.000736</td>\n",
" <td>-0.001074</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-96eea2dd-bba4-4fb5-a522-92d67675610e')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-96eea2dd-bba4-4fb5-a522-92d67675610e button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-96eea2dd-bba4-4fb5-a522-92d67675610e');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 81
}
]
},
{
"cell_type": "code",
"source": [
"# 前の一時間のリターンが高い取引所では売り、低い方では買い、ホールド時間は1時間のみ。 \n",
"# なので、Shiftさせて使うために、逆のフラグを建てておく\n",
"df[\"ftx > binance\"] = df.apply(lambda x: -1 if x[\"ftx\"] > x[\"binance\"] else 1, axis=1 )\n",
"df[\"ftx < binance\"] = df.apply(lambda x: -1 if x[\"ftx\"] < x[\"binance\"] else 1, axis=1 )\n",
"\n"
],
"metadata": {
"id": "7ef79lqbL8ej"
},
"execution_count": 82,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df[\"ftx return\"] = df[\"ftx\"] * df[\"ftx > binance\"].shift() \n",
"df[\"binance return\"] = df[\"binance\"] * df[\"ftx < binance\"].shift() \n",
"\n"
],
"metadata": {
"id": "zrpbMqoYMktv"
},
"execution_count": 83,
"outputs": []
},
{
"cell_type": "code",
"source": [
"(df[\"ftx return\"] + df[\"binance return\"]).cumsum().plot()\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 319
},
"id": "zVqzEBUyMlMT",
"outputId": "20e66aa5-dc0d-425e-b311-54aeae34df5d"
},
"execution_count": 89,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fda7fabe310>"
]
},
"metadata": {},
"execution_count": 89
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
" (df[\"ftx return\"] + df[\"binance return\"]).describe()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SXlY4EA-RVpm",
"outputId": "996518a0-8999-4b76-86f3-5bbcd12a9377"
},
"execution_count": 90,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"count 498.000000\n",
"mean 0.000088\n",
"std 0.000418\n",
"min -0.000637\n",
"25% -0.000046\n",
"50% 0.000055\n",
"75% 0.000166\n",
"max 0.006233\n",
"dtype: float64"
]
},
"metadata": {},
"execution_count": 90
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment