From 67fd3675d915657e2a507edcf56e08946b9620fc Mon Sep 17 00:00:00 2001 From: Luyao Zhang <48966917+sunshineluyao@users.noreply.github.com> Date: Fri, 11 Feb 2022 02:33:36 +0800 Subject: [PATCH] Created using Colaboratory --- ...onometrics_10_8_2021_Lastest_Version.ipynb | 4285 +++++++++++++++++ 1 file changed, 4285 insertions(+) create mode 100644 Econometrics/Econometrics_10_8_2021_Lastest_Version.ipynb diff --git a/Econometrics/Econometrics_10_8_2021_Lastest_Version.ipynb b/Econometrics/Econometrics_10_8_2021_Lastest_Version.ipynb new file mode 100644 index 0000000..bad1861 --- /dev/null +++ b/Econometrics/Econometrics_10_8_2021_Lastest_Version.ipynb @@ -0,0 +1,4285 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Econometrics_10_8_2021 Lastest Version.ipynb", + "provenance": [], + "collapsed_sections": [ + "xuOtNV6fallr", + "Q2fSREFrfMg1", + "wiO58pjdk9A3" + ], + "machine_shape": "hm", + "authorship_tag": "ABX9TyO8JCpxXVFN4me3wvSh9RkX", + "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": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "a1FcpD04FeT_" + }, + "source": [ + "# data source: \n", + "\n", + "https://github.com/sunshineluyao/CVML2021\n", + "\n", + "# Code Source: For previous updates:\n", + "\n", + "https://github.com/sunshineluyao/CV_ML/tree/master/Data2020" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5I7kRf91D3j5" + }, + "source": [ + "import pandas as pd \n", + "import numpy as np\n", + "###show all columns\n", + "pd.set_option('display.max_columns', None)\n", + "pd.set_option('display.max_rows', None)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 356 + }, + "id": "4qgRXfieWjQ5", + "outputId": "51425bdf-1ddc-4144-f18e-0c3e31a686d7" + }, + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/drive')\n", + "print('Authenticated')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mgoogle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mdrive\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdrive\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmount\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'/content/drive'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Authenticated'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/drive.py\u001b[0m in \u001b[0;36mmount\u001b[0;34m(mountpoint, force_remount, timeout_ms, use_metadata_server)\u001b[0m\n\u001b[1;32m 111\u001b[0m \u001b[0mtimeout_ms\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtimeout_ms\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 112\u001b[0m \u001b[0muse_metadata_server\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0muse_metadata_server\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 113\u001b[0;31m ephemeral=ephemeral)\n\u001b[0m\u001b[1;32m 114\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 115\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/drive.py\u001b[0m in \u001b[0;36m_mount\u001b[0;34m(mountpoint, force_remount, timeout_ms, use_metadata_server, ephemeral)\u001b[0m\n\u001b[1;32m 134\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mephemeral\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 135\u001b[0m _message.blocking_request(\n\u001b[0;32m--> 136\u001b[0;31m 'request_auth', request={'authType': 'dfs_ephemeral'}, timeout_sec=None)\n\u001b[0m\u001b[1;32m 137\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 138\u001b[0m \u001b[0mmountpoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_os\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpanduser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmountpoint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/_message.py\u001b[0m in \u001b[0;36mblocking_request\u001b[0;34m(request_type, request, timeout_sec, parent)\u001b[0m\n\u001b[1;32m 173\u001b[0m request_id = send_request(\n\u001b[1;32m 174\u001b[0m request_type, request, parent=parent, expect_reply=True)\n\u001b[0;32m--> 175\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mread_reply_from_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrequest_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout_sec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/_message.py\u001b[0m in \u001b[0;36mread_reply_from_input\u001b[0;34m(message_id, timeout_sec)\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_read_next_input_message\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 100\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_NOT_READY\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreply\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 101\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.025\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 102\u001b[0m \u001b[0;32mcontinue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 103\u001b[0m if (reply.get('type') == 'colab_reply' and\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 444 + }, + "id": "82AjWbhAG7kk", + "outputId": "3b194556-d1d5-4905-d7de-250c4af226dc" + }, + "source": [ + "df=pd.read_csv('https://raw.githubusercontent.com/sunshineluyao/CVML2021/main/BTC_2020_12_31.csv',index_col='Unnamed: 0')\n", + "df.head()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AdrActCntBlkCntBlkSizeByteBlkSizeMeanByteCapMVRVCurCapMrktCurUSDCapRealUSDDiffMeanFeeMeanNtvFeeMeanUSDFeeMedNtvFeeMedUSDFeeTotNtvFeeTotUSDHashRateIssContNtvIssContPctAnnIssContUSDIssTotNtvIssTotUSDNVTAdjNVTAdj90PriceBTCPriceUSDROI1yrROI30dSplyCurSplyExpFut10yrCMBISplyFFTxCntTxTfrCntTxTfrValAdjNtvTxTfrValAdjUSDTxTfrValMeanNtvTxTfrValMeanUSDTxTfrValMedNtvTxTfrValMedUSDTxTfrValNtvTxTfrValUSDVtyDayRet180dVtyDayRet30dVtyDayRet60dVolumeAnnualized_DilutionRateTotal daily transaction volumeVelocityThe daily revenue of bitcoin minersThe accumulated revenue of bitcoin minersP/E RatioMetcalfePM<1d1d ~ 1m1m ~ 1q1q ~ 6m6m ~ 1y1y ~ 2y2y ~ 3y3y ~ 4y4y ~ 5y5y~10y>10yOne-year staking ratioTwo-year staking ratioThree-year staking ratioFour-year staking ratioFive-year staking ratioTen-year staking ratioToken UtilityPU Ratiovolatility30volatility60volatility90volatility180Token Utility_volatilityPU Ratio_volatility
2009-01-030.00.00.0NaNNaNNaN0.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN0.0NaN0.00.00.00.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.0NaN1.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN
2009-01-040.00.00.0NaNNaNNaN0.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN0.0NaN0.00.00.00.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.0NaN0.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN
2009-01-050.00.00.0NaNNaNNaN0.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN0.0NaN0.00.00.00.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.0NaN0.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN
2009-01-060.00.00.0NaNNaNNaN0.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN0.0NaN0.00.00.00.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.0NaN0.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN
2009-01-070.00.00.0NaNNaNNaN0.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN0.0NaN0.00.00.00.0NaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.0NaN0.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " AdrActCnt BlkCnt BlkSizeByte BlkSizeMeanByte CapMVRVCur \\\n", + "2009-01-03 0.0 0.0 0.0 NaN NaN \n", + "2009-01-04 0.0 0.0 0.0 NaN NaN \n", + "2009-01-05 0.0 0.0 0.0 NaN NaN \n", + "2009-01-06 0.0 0.0 0.0 NaN NaN \n", + "2009-01-07 0.0 0.0 0.0 NaN NaN \n", + "\n", + " CapMrktCurUSD CapRealUSD DiffMean FeeMeanNtv FeeMeanUSD \\\n", + "2009-01-03 NaN 0.0 NaN NaN NaN \n", + "2009-01-04 NaN 0.0 NaN NaN NaN \n", + "2009-01-05 NaN 0.0 NaN NaN NaN \n", + "2009-01-06 NaN 0.0 NaN NaN NaN \n", + "2009-01-07 NaN 0.0 NaN NaN NaN \n", + "\n", + " FeeMedNtv FeeMedUSD FeeTotNtv FeeTotUSD HashRate IssContNtv \\\n", + "2009-01-03 NaN NaN 0.0 NaN NaN NaN \n", + "2009-01-04 NaN NaN 0.0 NaN NaN NaN \n", + "2009-01-05 NaN NaN 0.0 NaN NaN NaN \n", + "2009-01-06 NaN NaN 0.0 NaN NaN NaN \n", + "2009-01-07 NaN NaN 0.0 NaN NaN NaN \n", + "\n", + " IssContPctAnn IssContUSD IssTotNtv IssTotUSD NVTAdj NVTAdj90 \\\n", + "2009-01-03 NaN NaN NaN NaN NaN NaN \n", + "2009-01-04 NaN NaN NaN NaN NaN NaN \n", + "2009-01-05 NaN NaN NaN NaN NaN NaN \n", + "2009-01-06 NaN NaN NaN NaN NaN NaN \n", + "2009-01-07 NaN NaN NaN NaN NaN NaN \n", + "\n", + " PriceBTC PriceUSD ROI1yr ROI30d SplyCur SplyExpFut10yrCMBI \\\n", + "2009-01-03 1.0 NaN NaN NaN 0.0 NaN \n", + "2009-01-04 1.0 NaN NaN NaN 0.0 NaN \n", + "2009-01-05 1.0 NaN NaN NaN 0.0 NaN \n", + "2009-01-06 1.0 NaN NaN NaN 0.0 NaN \n", + "2009-01-07 1.0 NaN NaN NaN 0.0 NaN \n", + "\n", + " SplyFF TxCnt TxTfrCnt TxTfrValAdjNtv TxTfrValAdjUSD \\\n", + "2009-01-03 0.0 0.0 0.0 0.0 NaN \n", + "2009-01-04 0.0 0.0 0.0 0.0 NaN \n", + "2009-01-05 0.0 0.0 0.0 0.0 NaN \n", + "2009-01-06 0.0 0.0 0.0 0.0 NaN \n", + "2009-01-07 0.0 0.0 0.0 0.0 NaN \n", + "\n", + " TxTfrValMeanNtv TxTfrValMeanUSD TxTfrValMedNtv TxTfrValMedUSD \\\n", + "2009-01-03 NaN NaN NaN NaN \n", + "2009-01-04 NaN NaN NaN NaN \n", + "2009-01-05 NaN NaN NaN NaN \n", + "2009-01-06 NaN NaN NaN NaN \n", + "2009-01-07 NaN NaN NaN NaN \n", + "\n", + " TxTfrValNtv TxTfrValUSD VtyDayRet180d VtyDayRet30d \\\n", + "2009-01-03 0.0 NaN NaN NaN \n", + "2009-01-04 0.0 NaN NaN NaN \n", + "2009-01-05 0.0 NaN NaN NaN \n", + "2009-01-06 0.0 NaN NaN NaN \n", + "2009-01-07 0.0 NaN NaN NaN \n", + "\n", + " VtyDayRet60d Volume Annualized_DilutionRate \\\n", + "2009-01-03 NaN NaN NaN \n", + "2009-01-04 NaN NaN NaN \n", + "2009-01-05 NaN NaN NaN \n", + "2009-01-06 NaN NaN NaN \n", + "2009-01-07 NaN NaN NaN \n", + "\n", + " Total daily transaction volume Velocity \\\n", + "2009-01-03 NaN NaN \n", + "2009-01-04 NaN NaN \n", + "2009-01-05 NaN NaN \n", + "2009-01-06 NaN NaN \n", + "2009-01-07 NaN NaN \n", + "\n", + " The daily revenue of bitcoin miners \\\n", + "2009-01-03 NaN \n", + "2009-01-04 NaN \n", + "2009-01-05 NaN \n", + "2009-01-06 NaN \n", + "2009-01-07 NaN \n", + "\n", + " The accumulated revenue of bitcoin miners P/E Ratio Metcalfe \\\n", + "2009-01-03 NaN NaN 0.0 \n", + "2009-01-04 NaN NaN 0.0 \n", + "2009-01-05 NaN NaN 0.0 \n", + "2009-01-06 NaN NaN 0.0 \n", + "2009-01-07 NaN NaN 0.0 \n", + "\n", + " PM <1d 1d ~ 1m 1m ~ 1q 1q ~ 6m 6m ~ 1y 1y ~ 2y 2y ~ 3y \\\n", + "2009-01-03 NaN 1.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-04 NaN 0.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-05 NaN 0.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-06 NaN 0.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-07 NaN 0.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " 3y ~ 4y 4y ~ 5y 5y~10y >10y One-year staking ratio \\\n", + "2009-01-03 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-04 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-05 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-06 0.0 0.0 0.0 0.0 0.0 \n", + "2009-01-07 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " Two-year staking ratio Three-year staking ratio \\\n", + "2009-01-03 0.0 0.0 \n", + "2009-01-04 0.0 0.0 \n", + "2009-01-05 0.0 0.0 \n", + "2009-01-06 0.0 0.0 \n", + "2009-01-07 0.0 0.0 \n", + "\n", + " Four-year staking ratio Five-year staking ratio \\\n", + "2009-01-03 0.0 0.0 \n", + "2009-01-04 0.0 0.0 \n", + "2009-01-05 0.0 0.0 \n", + "2009-01-06 0.0 0.0 \n", + "2009-01-07 0.0 0.0 \n", + "\n", + " Ten-year staking ratio Token Utility PU Ratio volatility30 \\\n", + "2009-01-03 0.0 NaN NaN NaN \n", + "2009-01-04 0.0 NaN NaN NaN \n", + "2009-01-05 0.0 NaN NaN NaN \n", + "2009-01-06 0.0 NaN NaN NaN \n", + "2009-01-07 0.0 NaN NaN NaN \n", + "\n", + " volatility60 volatility90 volatility180 \\\n", + "2009-01-03 NaN NaN NaN \n", + "2009-01-04 NaN NaN NaN \n", + "2009-01-05 NaN NaN NaN \n", + "2009-01-06 NaN NaN NaN \n", + "2009-01-07 NaN NaN NaN \n", + "\n", + " Token Utility_volatility PU Ratio_volatility \n", + "2009-01-03 NaN NaN \n", + "2009-01-04 NaN NaN \n", + "2009-01-05 NaN NaN \n", + "2009-01-06 NaN NaN \n", + "2009-01-07 NaN NaN " + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Vp25IlObHVgx" + }, + "source": [ + "# Generate return for different time ranges" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "CQodJ-cZG-p5" + }, + "source": [ + "df[\"ROI1\"] =df['PriceUSD'].pct_change(1)\n", + "df[\"ROI7\"] =df['PriceUSD'].pct_change(7)\n", + "df[\"ROI30\"] =df['PriceUSD'].pct_change(30)\n", + "df[\"ROI90\"] =df['PriceUSD'].pct_change(90)\n", + "df[\"ROI180\"] =df['PriceUSD'].pct_change(180)\n", + "df[\"ROI360\"] =df['PriceUSD'].pct_change(360)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "nMmA9hZXJG2A", + "outputId": "5d649031-2cf0-4ab9-cd7c-b09768dbaa60" + }, + "source": [ + "columns_ROI = [\"ROI1\", \"ROI7\",\"ROI30\",\"ROI90\",\"ROI180\",\"ROI360\"]\n", + "df_ROI = df[columns_ROI].dropna()\n", + "df_ROI.head()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ROI1ROI7ROI30ROI90ROI180ROI360
2011-07-13-0.003553-0.050516-0.28506712.99062533.929509161.761586
2011-07-140.001898-0.054018-0.27312513.23031135.264183172.242259
2011-07-15-0.013687-0.034453-0.29067612.19124534.694797183.736145
2011-07-16-0.006759-0.046478-0.23516111.48775538.236278172.160546
2011-07-17-0.033176-0.093333-0.14111010.53449741.359613225.752004
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " ROI1 ROI7 ROI30 ROI90 ROI180 ROI360\n", + "2011-07-13 -0.003553 -0.050516 -0.285067 12.990625 33.929509 161.761586\n", + "2011-07-14 0.001898 -0.054018 -0.273125 13.230311 35.264183 172.242259\n", + "2011-07-15 -0.013687 -0.034453 -0.290676 12.191245 34.694797 183.736145\n", + "2011-07-16 -0.006759 -0.046478 -0.235161 11.487755 38.236278 172.160546\n", + "2011-07-17 -0.033176 -0.093333 -0.141110 10.534497 41.359613 225.752004" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "NENzZ0XLZ09x", + "outputId": "24f1f700-6c9c-4bdc-9de2-d3c5d26d2da1" + }, + "source": [ + "df_ROI.tail()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ROI1ROI7ROI30ROI90ROI180ROI360
2020-12-27-0.0017830.1233530.5455191.4638701.8905242.804739
2020-12-280.0230220.1788310.5237401.4941421.9259122.696269
2020-12-290.0070950.1462450.4969711.5278791.9942872.708375
2020-12-300.0592490.2375800.4668441.7194922.1813832.926825
2020-12-310.0061730.2241910.5420691.7457312.1801422.737243
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " ROI1 ROI7 ROI30 ROI90 ROI180 ROI360\n", + "2020-12-27 -0.001783 0.123353 0.545519 1.463870 1.890524 2.804739\n", + "2020-12-28 0.023022 0.178831 0.523740 1.494142 1.925912 2.696269\n", + "2020-12-29 0.007095 0.146245 0.496971 1.527879 1.994287 2.708375\n", + "2020-12-30 0.059249 0.237580 0.466844 1.719492 2.181383 2.926825\n", + "2020-12-31 0.006173 0.224191 0.542069 1.745731 2.180142 2.737243" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5wUcHHRtaFzz", + "outputId": "6e878468-4949-4d74-d23f-174e05f18269" + }, + "source": [ + "df_ROI['ROI1'].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "3460" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "WRVwF4B2OYDA", + "outputId": "4b4290aa-2020-4c47-8f2f-994fd7884860" + }, + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns, numpy as np\n", + "sns.set_style(\"white\")\n", + "fig, ax = plt.subplots(2, 3, figsize=(18, 10))\n", + "sns.distplot(ax=ax[0, 0],x=df_ROI.ROI1, axlabel=\"daily return\")\n", + "sns.distplot(ax=ax[0, 1],x=df_ROI.ROI7, axlabel=\"7-day return\")\n", + "sns.distplot(ax=ax[0, 2],x=df_ROI.ROI30, axlabel=\"30-day return\")\n", + "sns.distplot(ax=ax[1, 0],x=df_ROI.ROI90, axlabel=\"90-day return\")\n", + "sns.distplot(ax=ax[1, 1],x=df_ROI.ROI180, axlabel=\"180-day return\")\n", + "sns.distplot(ax=ax[1, 2],x=df_ROI.ROI360, axlabel=\"360-day return\")\n", + "plt.savefig('/content/drive/MyDrive/DeFi/CVML2021/ROI.png')\n", + "plt.show()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "output_type": "error", + "ename": "FileNotFoundError", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdistplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdf_ROI\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mROI180\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"180-day return\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdistplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdf_ROI\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mROI360\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"360-day return\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msavefig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'/content/drive/MyDrive/DeFi/CVML2021/ROI.png'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36msavefig\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 721\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msavefig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 722\u001b[0m \u001b[0mfig\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgcf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 723\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msavefig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 724\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw_idle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# need this if 'transparent=True' to reset colors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 725\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/matplotlib/figure.py\u001b[0m in \u001b[0;36msavefig\u001b[0;34m(self, fname, transparent, **kwargs)\u001b[0m\n\u001b[1;32m 2201\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpatch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_visible\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mframeon\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2202\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2203\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2204\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2205\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mframeon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mprint_figure\u001b[0;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, **kwargs)\u001b[0m\n\u001b[1;32m 2124\u001b[0m \u001b[0morientation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morientation\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2125\u001b[0m \u001b[0mbbox_inches_restore\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_bbox_inches_restore\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2126\u001b[0;31m **kwargs)\n\u001b[0m\u001b[1;32m 2127\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2128\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbbox_inches\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mrestore_bbox\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py\u001b[0m in \u001b[0;36mprint_png\u001b[0;34m(self, filename_or_obj, metadata, pil_kwargs, *args, **kwargs)\u001b[0m\n\u001b[1;32m 533\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 534\u001b[0m \u001b[0mrenderer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_renderer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 535\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen_file_cm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename_or_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"wb\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mfh\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 536\u001b[0m _png.write_png(renderer._renderer, fh, self.figure.dpi,\n\u001b[1;32m 537\u001b[0m metadata={**default_metadata, **metadata})\n", + "\u001b[0;32m/usr/lib/python3.7/contextlib.py\u001b[0m in \u001b[0;36m__enter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 111\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 112\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnext\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 113\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mStopIteration\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 114\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mRuntimeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"generator didn't yield\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/matplotlib/cbook/__init__.py\u001b[0m in \u001b[0;36mopen_file_cm\u001b[0;34m(path_or_file, mode, encoding)\u001b[0m\n\u001b[1;32m 416\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mopen_file_cm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath_or_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"r\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 417\u001b[0m \u001b[0;34mr\"\"\"Pass through file objects and context-manage `.PathLike`\\s.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 418\u001b[0;31m \u001b[0mfh\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopened\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mto_filehandle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath_or_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 419\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mopened\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 420\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mfh\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/matplotlib/cbook/__init__.py\u001b[0m in \u001b[0;36mto_filehandle\u001b[0;34m(fname, flag, return_opened, encoding)\u001b[0m\n\u001b[1;32m 401\u001b[0m \u001b[0mfh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbz2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mBZ2File\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mflag\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 402\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 403\u001b[0;31m \u001b[0mfh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mflag\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mencoding\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 404\u001b[0m \u001b[0mopened\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 405\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'seek'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '/content/drive/MyDrive/DeFi/CVML2021/ROI.png'" + ] + }, + { + "output_type": "display_data", + "data": { + "image/png": "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adIkEhMT+fzzz0lOTiY0NJSZM2cCDb9N6pPl73//O0eOHPG/F2w2GwsWLODw4cPccccdQNVx6VdeeWWzHg/pVH366ac89thj5Ofnc9ttt9GnTx/+9a9/mR2rTsd77Td1db02z+TzIVDWr1/PokWL6NWrF2lpaUDVuiQmJpqc7MTy8vKYOnUqXq8XwzAYNWoUl112mdmxWqzGaEMtRnM8LYCIiIiIiIiItAg6lENERERERERETKPChIiIiIiIiIiYRoUJERERERERETGNChMiIiIiIiIiYhoVJkRERERERETENCpMSLPz4osvnvSUVvPmzWPhwoUATJ06lU8++aTBc7z66quUl5c3+OOKiDQlO3fuJC0tzX8599xzefXVV096v/q01Q1p6dKlbN++PWDPJyLSmCorK5kwYQJXXXUVKSkp/PWvf/Xflp2dzcSJE0lOTubuu+/G5XKd9PEWLFjAjBkzGjNyLatXr2bDhg0Bez5p/lSYkBZp0qRJjB079owfx+v1Hve2119//ZQLEzXnVhcRaS66devGokWLWLRoEQsWLCA0NJTk5GRTspyoDT2dwoTaZBFpqhwOB6+99hqLFy9m4cKFfPHFF3zzzTcAPPvss9x44418+umnREZGMn/+fFMynqgNXbNmDRs3bmywx5OWz252AJH6mD17NgsXLiQmJoaOHTvSt29fAN577z3effdd3G43CQkJPP3004SGhvLiiy8SFhbGzTff7H+MVatW8cYbb/CPf/wDgK+++oq3336bv//977WeKykpidGjR7Ny5UomT55MVFQUL774Ii6Xi/j4eJ544gnef/998vLyuOGGG4iOjuaNN95g8ODB/gb4k08+YcWKFTz55JNMnToVh8PBli1bOPfccyksLCQ8PJxNmzZx8OBBHnjgAUaNGhWgLSkicvpWrVpFfHw8nTp1qvP2U2mrvV4vV111FUuWLCEoKIiSkpJa0zV+3oZed911TJ8+nYKCAkJCQnjssccoLCxk+fLlrFmzhtmzZ/Piiy/yxz/+kQcffJD+/fuTn5/PhAkTWL58OQsWLOC///0vZWVl+Hw+xo0bx/LlyykvLyc7O5vLL7+cBx98MCDbU0TkeCwWC23atAGqvrB7PB4sFguGYfD111/zl7/8BYCrr76av/3tb/z6178+5jHef/995syZQ0REBL1798bhcACwfPly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p5+SlpbGunXruOaaa1i7di1XXXUVGzduPKaXhIjFqOnnKNJKzJgxgz59+tTZiIuISGB98sknLFu2jGeeecbsKCIird53333HE088wdtvv212FGllNMaEtCrjxo0jNDSUqVOnmh1FRKTVe+yxx8jIyGDOnDlmRxERafXmzJnDvHnzVCgWU6jHhIiIiIiIiIiYRmNMiIiIiIiIiIhpVJgQEREREREREdOoMCEiIiIiIiIiplFhQkRERERERERMo8KEiIiIiIiIiJhGhQkRERERERERMY0KEyIiIiIiIiJiGhUmRERERERERMQ0KkyIiIiIiIiIiGlUmBARERERERER06gwISIiIiIiIiKmUWFCREREREREREyjwoSIiIiIiIiImEaFCRERERERERExjQoTIiIiIiIiImIaFSZERERERERExDQqTIiIiIiIiIiIaexmB2hIQ4cOpVOnTmbHEBGpZd++faxevdrsGAGhdlhEmqLW1A6D2mIRaZpO1Ba3qMJEp06dWLBggdkxRERqGTdunNkRAkbtsIg0Ra2pHQa1xSLSNJ2oLdahHCIiIiIiIiJiGhUmRERERERERMQ0KkyIiIiIiIiIiGlUmBARERERERER06gwISIiIiIiIiKmUWFCREREREREREyjwoSIiIiIiIiImEaFCRERERERERExjQoTIiIiIiIiImIauxlPmpGRweOPP47P52PixInceuuttW7fv38/Dz30EMXFxXi9Xu6//34SExPNiHraCstcFFd6as2LCLYTFeYwKZGISPOntlVEpOlQmywiDSXghQmv18uMGTOYO3cuTqeTCRMmkJSURI8ePfzLzJ49m9GjR/PrX/+a7du3c+utt7J8+fJARz0jxZUeMrYeqjXvkl7t1VCLiJwBta0iIk2H2mQRaSgBP5QjMzOThIQE4uPjcTgcpKSksGzZslrLWCwWSkpKACguLiY2NjbQMUVEREREREQkAALeYyI3N5e4uDj/tNPpJDMzs9Yyd955JzfffDNvvvkm5eXlzJ07N9AxRURERERERCQAmuTgl+np6Vx99dVkZGQwZ84cHnzwQXw+n9mxRERERERERKSBBbww4XQ6ycnJ8U/n5ubidDprLTN//nxGjx4NwODBg6msrKSgoCCgOUVERERERESk8QW8MNG/f3+ysrLIzs7G5XKRnp5OUlJSrWU6duzIqlWrANixYweVlZXExMQEOqqIiIiIiIiINLKAjzFht9uZNm0akydPxuv1Mn78eHr27MmsWbPo168fI0aMYOrUqTzyyCO8+uqrWCwWnnzySSwWS6CjioiIiIiIiEgjC3hhAiAxMZHExMRa86ZMmeK/3qNHD955551AxxIRERERERGRAGuSg1+KiIiIiIiISOugwoSIiIiIiIiImEaFCRGRFi4jI4ORI0eSnJzMnDlzjrl93rx5pKamkpaWxqRJk9i+fTsAe/fuZcCAAaSlpZGWlsa0adMCHV1EREREWgFTxpgQEZHA8Hq9zJgxg7lz5+J0OpkwYQJJSUn06NHDv0xqaiqTJk0CYNmyZTzxxBP861//AqBLly4sWrTIlOwiIiIi0jqox4SISAuWmZlJQkIC8fHxOBwOUlJSWLZsWa1lwsPD/dfLy8t1FiQRERERCSj1mBARacFyc3OJi4vzTzudTjIzM49Z7q233mLu3Lm43W5ee+01//y9e/cyduxYwsPDufvuuxkyZEhAcouIiIhI66HChIiIcN1113Hdddfx4YcfMnv2bJ566iliY2P57LPPaNu2LZs2beKOO+4gPT29Vg+LpsDj9bG3oKzWvIhgO1FhDpMSiYiIiMip0KEcIiItmNPpJCcnxz+dm5uL0+k87vIpKSksXboUAIfDQdu2bQHo168fXbp0YdeuXY0b+DSUu31kbD1U61Jc6TE7loiIiIjUkwoTIvWv/PcAACAASURBVCItWP/+/cnKyiI7OxuXy0V6ejpJSUm1lsnKyvJfX7FiBQkJCQDk5+fj9XoByM7OJisri/j4+IBlFxEREZHWQYdyiIi0YHa7nWnTpjF58mS8Xi/jx4+nZ8+ezJo1i379+jFixAjefPNNVq1ahd1uJzIykqeeegqAtWvX8te//hW73Y7VamX69OlER0ebvEYiIiIi0tKoMCEi0sIlJiaSmJhYa96UKVP81x955JE67zdy5EhGjhzZqNlERFqDjIwMHn/8cXw+HxMnTuTWW2+tdfvatWuZOXMmP/74I8899xyjRo0CYMuWLfy///f/KCkpwWq1cvvttzNmzBgzVkFEpFGpMCEiIiIi0ki8Xi8zZsxg7ty5OJ1OJkyYQFJSEj169PAv07FjR5544gleeeWVWvcNCQnhqaee4uyzzyY3N5fx48dz0UUXERkZGejVEBFpVCpMiIhIs5a59wgbdhfQqW0ozsgQs+OIiNSSmZlJQkKCf4yelJQUli1bVqsw0blzZwCs1trDv3Xt2tV/3el0EhMTQ35+vgoTItLiqDAhIiLNVrnLy5/TN2MAnaJDueOyHie9j4hIIOXm5hIXF+efdjqdZGZmnvLjZGZm4na76dKlS0PGExFpElSYEBGRZquw3I0BhDls5Je6zI4jItIo8vLyeOCBB3jqqaeO6VUhItISqGUTEZFmq7jCDUB82zDK3V5cHp/JiUREanM6neTk5Pinc3NzcTqd9b5/SUkJt912G/fccw+DBg1qjIgiIqZTYUJERJqtogoPAPExoQAcKVevCRFpWvr3709WVhbZ2dm4XC7S09NJSkqq131dLhd33HEHaWlp/jN1iIi0RCpMiIhIs3V0jwmAwjK3mXFERI5ht9uZNm0akydPZsyYMYwePZqePXsya9Ysli1bBlSNH3HJJZfwySef8Kc//YmUlBQAPv74Y9atW8cHH3xAWloaaWlpbNmyxczVERFpFBpjQkREmq2iCg9tHDY6RAQDcKRchQkRaXoSExNJTEysNW/KlCn+6wMGDCAjI+OY+9UUI0REWjr1mBARkWaruMJNTLiDiJAgLMAR9ZgQERERaXZM6TGRkZHB448/js/nY+LEidx66621bp85cyarV68GoKKigsOHD7Nu3TozooqISBNWXOEhJsyBzWohMjSIQo0xISIiItLsBLww4fV6mTFjBnPnzsXpdDJhwgSSkpLo0eOnc88//PDD/utvvPEGmzdvDnRMERFpBoor3PSIDQcgKjRIh3KIiIiINEMBP5QjMzOThIQE4uPjcTgcpKSk+Af+qUt6ejpXXnllABOKiEhzYBhGVY+JNg4AosOCNPiliIiISDMU8MJEbm4ucXFx/mmn00lubm6dy+7bt4+9e/cybNiwQMVrUIZhUObymB1DRKRFKnd78fiMnwoToUEUlrvxGYbJyURERETkVDTpwS/T09MZOXIkNpvN7CinZU1WPjM/2sK6rHyzo4iItDjFFVWF35rCRFSYA4/PoLRSBWERERGR5iTghQmn00lOTo5/Ojc3F6fTWeeyH330kf88zs3RjoOl+AxYsHEfW3OLzY4jItKiFFVUHbbRrrowER5cNWxSaaXXtEwiIiIicuoCXpjo378/WVlZZGdn43K5SE9PJykp6ZjlduzY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0SJmzpwJgNFopEuXLs7punTpgtForDf/ggULePjhh/nkk0+cORzA39+ft99+mw0bNrBq1SoWLVqEqqpMnDiR7OxsAGw2Gzk5OYwdO7becmvn0B9//JETJ06wbt06srOzOXToEF988QXPPfccPXr0IDs7m5deeumG2xoREcGGDRuc30R26NCBDRs28NBDD/H+++83reCEEOImWK1WUlNTGTZsGMOGDaNfv36AvWNh8+bNTJgwgcmTJ1NYWAhILhbth87TAQhR22233cbkyZOZNGkSgYGB3H777c6e4doURXH2INd2/PhxoqOjufXWWwEYO3Ys//znPwH7N30vvfQSJ06cQFEUqqurARg9ejR//vOfefHFF1m/fj0TJkxwG9vdd99NREQEALt37yYvL8+ZHE0mEyUlJU3a1m7dutG/f3/n6+joaO644w4AevfuzalTp5q0PCGEaA1r165l9uzZJCYmsnnzZubOnevyLdqNfPXVV7z11lsApKamsmTJEsB+2u8bb7zBF198gUajwWg0UlpaSnR0NBEREXz33XeUlpZy55130qFDh3rLrZ1D9+zZw549e5xn1V25coXCwkK6du3apG2t26E8atQoAOLi4lzOwBNCiNai1WrJzs6msrKSadOm8f3339OrVy/MZjP+/v5kZWWxbds25syZw9/+9rdGL1dysfB20jEhvE56ejrp6ekAvPHGG0RFRQH2U9bOnj1LZGQkZ8+epWPHjgBMmjSJ0tJS4uLi+NWvftXgcpctW8bgwYN5++23KS4u5tFHHwUgMDCQYcOGkZuby5YtW5xnT9QVGBjo8jozM5PY2FiXYV9//bXLa61W63K9nclkcj4PCgpymVav17vMV3taIYTwlA0bNjB37lwA5yVnAFFRUc4z2gDOnDlDVFQUS5cuZceOHQDOb9vcdSR/8sknnD9/nqysLPz8/DAYDM68l56eTlZWFqWlpUycONFtXLVzqKqqTJkyhYceeshlmuLiYpfX18vJUD/P+/n5AaDRaORaZyFEmwoLC2Pw4MHs2rWLXr16ERUVRUJCAgAJCQnMnj0bkFws2g+5lEN4HcclGqdPn2bbtm2kpKQA9mvONm7cCMDGjRsZMWIEAO+99x7Z2dksWLCA2NhYTp06xcmTJwHIyclxLvfixYvOTo4NGza4rDM9PZ1XX32VPn36uL3Guq74+HhWr16NqqqA/TIPgODgYOe12ADdu3d3jjt06FC9xCyEEN4uMjKSAwcOALBv3z7nGWmOnKyqKgcPHiQ0NJTIyEieffZZsrOznQ3hAQMGOHPxxx9/7FzuxYsX6dSpE35+fuzbt8/lLLGRI0eya9cuvvnmG+Lj428YY3x8POvXr3fmX6PRSFlZmducfOzYMcxmM5WVlezdu7d5hSOEEC3o/PnzVFZWAlBVVcXnn3/u/BJs5MiR7N+/H4ADBw5ILhbtjpwxIbzO008/zYULF9DpdPzud78jLCwMgClTpjBjxgzWrVtHt27dePPNN+vN6+/vz/z585kyZQqBgYHcddddzkQ4efJkZs2axTvvvMPw4cNd5ouLiyMkJKTByzjqevLJJ1m4cCFjx47FZrMRHR3N8uXLGTx4MCtWrCA1NZXHH3+cxMREsrOzSUpKom/fvs5KRAghvM3MmTM5cOAA5eXl3HvvvTz99NOkp6fzyiuvsHDhQiwWizPHAgwfPpydO3eSkJBAYGAgCxcudLvcuXPn8vzzz7Ny5UoMBoNzeEpKClOnTiUlJYW4uDiXM9D0ej2DBw8mLCwMrVZ7w9jj4+M5duyY81u6oKAgFi9eTI8ePRg4cCDJycncc889vPTSS4wePZrk5GSio6O58847m1NkQgjRos6ePcusWbOwWq2oqsro0aO57777AHs7+Pnnn2fVqlUEBQWxYMECQHKxaD8U1fGVrxA/YUajkUcffZQtW7a4vaeFEEKItmOz2Rg/fjzLli2TDl0hhPAQycWiLcknMPGTt3HjRh544AFmzJghnRJCCOFhP/zwAwkJCQwdOlQawkII4SGSi0VbkzMmhBBCCCGEEEII4THy9bAQQgghhBBCCCE8RjomhBBCCCGEEEII4THSMSGEEEIIIYQQQgiPkY4JIYQQQgghhBBCeIx0TAghhBBCCCGEEMJj/h9RSXN5ZnNtdQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YEYgzhhLJ1ya" + }, + "source": [ + "df_ROI_agg=df_ROI.agg([\"mean\",\"std\",\"skew\",\"kurt\"], axis=0)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 237 + }, + "id": "O04bM3diL6fj", + "outputId": "865b2b21-b24b-4307-b2fa-22fd4bc196b2" + }, + "source": [ + "df_ROI_agg =df_ROI_agg.transpose()\n", + "df_ROI_agg" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
meanstdskewkurt
ROI10.0033430.047077-0.20695613.327667
ROI70.0236240.1320501.1179967.291459
ROI300.1183210.4305994.15511428.805420
ROI900.5174651.3930444.19071623.867260
ROI1801.3942513.2614275.83210250.868819
ROI3608.08547624.8532415.98753541.536407
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " mean std skew kurt\n", + "ROI1 0.003343 0.047077 -0.206956 13.327667\n", + "ROI7 0.023624 0.132050 1.117996 7.291459\n", + "ROI30 0.118321 0.430599 4.155114 28.805420\n", + "ROI90 0.517465 1.393044 4.190716 23.867260\n", + "ROI180 1.394251 3.261427 5.832102 50.868819\n", + "ROI360 8.085476 24.853241 5.987535 41.536407" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MYnjiyYmNFw7", + "outputId": "1fcbd577-d247-4a3d-8578-6b57cdff4d40" + }, + "source": [ + "df_ROI_agg.columns" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Index(['mean', 'std', 'skew', 'kurt'], dtype='object')" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FseVJyQZNKRW", + "outputId": "ab526574-9544-4e87-d662-2e8224fd21fe" + }, + "source": [ + "df_ROI_agg = df_ROI_agg.astype(\"float64\")\n", + "df_ROI_agg.dtypes" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "mean float64\n", + "std float64\n", + "skew float64\n", + "kurt float64\n", + "dtype: object" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 237 + }, + "id": "hnhmntYZM1PL", + "outputId": "f6c4f6f6-ee7b-46c3-d9f6-67dba98ee431" + }, + "source": [ + "df_ROI_agg[\"shape_ratio\"] = df_ROI_agg[\"mean\"]/df_ROI_agg[\"std\"]\n", + "pd.options.display.float_format = '{:.2%}'.format\n", + "df_ROI_agg" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
meanstdskewkurtshape_ratio
ROI10.33%4.71%-20.70%1332.77%7.10%
ROI72.36%13.20%111.80%729.15%17.89%
ROI3011.83%43.06%415.51%2880.54%27.48%
ROI9051.75%139.30%419.07%2386.73%37.15%
ROI180139.43%326.14%583.21%5086.88%42.75%
ROI360808.55%2485.32%598.75%4153.64%32.53%
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " mean std skew kurt shape_ratio\n", + "ROI1 0.33% 4.71% -20.70% 1332.77% 7.10%\n", + "ROI7 2.36% 13.20% 111.80% 729.15% 17.89%\n", + "ROI30 11.83% 43.06% 415.51% 2880.54% 27.48%\n", + "ROI90 51.75% 139.30% 419.07% 2386.73% 37.15%\n", + "ROI180 139.43% 326.14% 583.21% 5086.88% 42.75%\n", + "ROI360 808.55% 2485.32% 598.75% 4153.64% 32.53%" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "m-5C2Q9IUUAa" + }, + "source": [ + "pd.options.display.float_format = '{:.4f}'.format" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 237 + }, + "id": "MlgbVrVXUghK", + "outputId": "70745b4c-a62b-48cc-c795-10c6e7261cc1" + }, + "source": [ + "df_ROI_agg" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
meanstdskewkurtshape_ratio
ROI10.00330.0471-0.207013.32770.0710
ROI70.02360.13201.11807.29150.1789
ROI300.11830.43064.155128.80540.2748
ROI900.51751.39304.190723.86730.3715
ROI1801.39433.26145.832150.86880.4275
ROI3608.085524.85325.987541.53640.3253
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " mean std skew kurt shape_ratio\n", + "ROI1 0.0033 0.0471 -0.2070 13.3277 0.0710\n", + "ROI7 0.0236 0.1320 1.1180 7.2915 0.1789\n", + "ROI30 0.1183 0.4306 4.1551 28.8054 0.2748\n", + "ROI90 0.5175 1.3930 4.1907 23.8673 0.3715\n", + "ROI180 1.3943 3.2614 5.8321 50.8688 0.4275\n", + "ROI360 8.0855 24.8532 5.9875 41.5364 0.3253" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ssy6Yt1Qfniu" + }, + "source": [ + "# calculate t-statistics" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3gkhVw5nfxQi", + "outputId": "026a5d3f-87a8-4494-8cad-8b6b821322c9" + }, + "source": [ + "import statsmodels.api as sm\n", + "import statsmodels.formula.api as smf" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.7/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n", + " import pandas.util.testing as tm\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "N39wU-YOfmsJ", + "outputId": "22d3b6bc-e3ae-457e-fb51-83473cf76585" + }, + "source": [ + "reg = smf.ols('ROI360 ~ 1', data=df_ROI).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "print(reg.summary())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: ROI360 R-squared: 0.000\n", + "Model: OLS Adj. R-squared: 0.000\n", + "Method: Least Squares F-statistic: nan\n", + "Date: Sun, 30 Jan 2022 Prob (F-statistic): nan\n", + "Time: 18:54:46 Log-Likelihood: -16026.\n", + "No. Observations: 3460 AIC: 3.205e+04\n", + "Df Residuals: 3459 BIC: 3.206e+04\n", + "Df Model: 0 \n", + "Covariance Type: HAC \n", + "==============================================================================\n", + " coef std err z P>|z| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "Intercept 8.0855 0.596 13.569 0.000 6.918 9.253\n", + "==============================================================================\n", + "Omnibus: 3912.349 Durbin-Watson: 0.010\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 268643.995\n", + "Skew: 5.985 Prob(JB): 0.00\n", + "Kurtosis: 44.475 Cond. No. 1.00\n", + "==============================================================================\n", + "\n", + "Warnings:\n", + "[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "L0WXDPtOY9XP", + "outputId": "e696e931-b492-4280-fe61-4beadf45dd4f" + }, + "source": [ + "cd /content/drive/MyDrive/DeFi/CVML2021" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[Errno 2] No such file or directory: '/content/drive/MyDrive/DeFi/CVML2021'\n", + "/content\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "esgA3ISTUh_S" + }, + "source": [ + "df_ROI_agg.to_excel(\"output.xlsx\") " + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xuOtNV6fallr" + }, + "source": [ + "# miracles and disasters" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "cGXUSmIzY7zg" + }, + "source": [ + "disaster5=df_ROI[df_ROI[\"ROI1\"]<=-0.05].count()[\"ROI1\"]\n", + "disaster10=df_ROI[df_ROI[\"ROI1\"]<=-0.1].count()[\"ROI1\"]\n", + "disaster20=df_ROI[df_ROI[\"ROI1\"]<=-0.2].count()[\"ROI1\"]\n", + "disaster30=df_ROI[df_ROI[\"ROI1\"]<=-0.3].count()[\"ROI1\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "m_GdTqApbN8S", + "outputId": "1967f20d-d564-49c1-cd20-aabf30ec4444" + }, + "source": [ + "[disaster5, disaster10,disaster20, disaster30]" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[255, 70, 12, 4]" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "lt9CvNFXc1WV", + "outputId": "203e77c3-0f37-4663-cda0-6bb52b952a9a" + }, + "source": [ + "[disaster5, disaster10,disaster20, disaster30]/df_ROI['ROI1'].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0.07369942, 0.02023121, 0.00346821, 0.00115607])" + ] + }, + "metadata": {}, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-_u0mAAHdFp4" + }, + "source": [ + "miracle5=df_ROI[df_ROI[\"ROI1\"]>=0.05].count()[\"ROI1\"]\n", + "miracle10=df_ROI[df_ROI[\"ROI1\"]>=0.1].count()[\"ROI1\"]\n", + "miracle20=df_ROI[df_ROI[\"ROI1\"]>=0.2].count()[\"ROI1\"]\n", + "miracle30=df_ROI[df_ROI[\"ROI1\"]>=0.3].count()[\"ROI1\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "23vAFw9YdlI5", + "outputId": "212a9b34-0f25-4173-a034-44159a0165e5" + }, + "source": [ + "[miracle5, miracle10,miracle20, miracle30]" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[309, 96, 16, 4]" + ] + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vhozjegwdpq7", + "outputId": "eaf2e266-1c67-446a-c00f-a507f0b31f06" + }, + "source": [ + "[miracle5, miracle10,miracle20, miracle30]/df_ROI['ROI1'].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0.08930636, 0.02774566, 0.00462428, 0.00115607])" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZgJ_Lyn7gN7g", + "outputId": "c6068cd4-a6e9-4f5f-d048-5c27e0ccc473" + }, + "source": [ + "df_ROI[df_ROI[\"ROI1\"]>=0].count()[\"ROI1\"]/df[\"ROI1\"].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.49227546478135636" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "dkNw19tfgXdy", + "outputId": "e0030ac9-1fc1-4198-8b4b-df6755a3e3cb" + }, + "source": [ + "df_ROI[df_ROI[\"ROI7\"]>=0].count()[\"ROI7\"]/df[\"ROI7\"].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.5145554681353265" + ] + }, + "metadata": {}, + "execution_count": 29 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "DNQB2nxggadh", + "outputId": "ad704e66-6408-45e5-cd92-764bcd48b4bc" + }, + "source": [ + "df_ROI[df_ROI[\"ROI30\"]>=0].count()[\"ROI7\"]/df[\"ROI7\"].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.5234723314975085" + ] + }, + "metadata": {}, + "execution_count": 30 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "q-mA17cJgcuy", + "outputId": "c72d08e9-0f1f-4beb-d15d-b42b4982037f" + }, + "source": [ + "df_ROI[df_ROI[\"ROI90\"]>=0].count()[\"ROI7\"]/df[\"ROI7\"].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.5654340414371886" + ] + }, + "metadata": {}, + "execution_count": 31 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "NoGmBdz5gd_h", + "outputId": "5d4903bc-bcbb-4142-9ac1-41a58278b00b" + }, + "source": [ + "df_ROI[df_ROI[\"ROI180\"]>=0].count()[\"ROI7\"]/df[\"ROI7\"].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.6060844479412536" + ] + }, + "metadata": {}, + "execution_count": 32 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "v0xkJn7lgf8O", + "outputId": "fcab5b25-7b17-4551-a060-c8a76e321c3c" + }, + "source": [ + "df_ROI[df_ROI[\"ROI360\"]>=0].count()[\"ROI7\"]/df[\"ROI7\"].count()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.7149226330972988" + ] + }, + "metadata": {}, + "execution_count": 33 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Q2fSREFrfMg1" + }, + "source": [ + "# Cryptocurrency Value Ratios" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "dAy_mE-LfR5O" + }, + "source": [ + "df[\"Past100\"]=-df[\"PriceUSD\"].pct_change(700)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "sHe1escSg93p" + }, + "source": [ + "df[\"AMR\"] = df[\"AdrActCnt\"]/df[\"CapMrktCurUSD\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "zjBh5xxmhgJN" + }, + "source": [ + "df['TMR'] = df[\"TxTfrValAdjUSD\"]/df[\"CapMrktCurUSD\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "3deBsMUZjmGh" + }, + "source": [ + "df['PMR'] = df['TxTfrCnt']/df[\"CapMrktCurUSD\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Nxw0dKyZj31f" + }, + "source": [ + "df['EPR'] =1/df[\"P/E Ratio\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "vcKlcB32j_-L" + }, + "source": [ + "df['TVN']=1/df['NVTAdj90']" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "o9aHi8WekOLW" + }, + "source": [ + "df[\"MPR\"]=1/df['PM']" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "f-xw8WAikX6R" + }, + "source": [ + "df['UPR']=1/df[\"PU Ratio\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "rsuxHTHEkbmO" + }, + "source": [ + "columns_Ratio = [\"Past100\",\"AMR\",'TMR','PMR','EPR','TVN',\"MPR\",'UPR']" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "nDCrGYQZknu8", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4b3f7526-ac6f-4aea-dc91-2f5c14cef5d1" + }, + "source": [ + "df_Ratio =df[columns_Ratio]\n", + "df_Ratio.head()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Past100AMRTMRPMREPRTVNMPRUPR
2009-01-03nannannannannannannannan
2009-01-04nannannannannannannannan
2009-01-05nannannannannannannannan
2009-01-06nannannannannannannannan
2009-01-07nannannannannannannannan
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " Past100 AMR TMR PMR EPR TVN MPR UPR\n", + "2009-01-03 nan nan nan nan nan nan nan nan\n", + "2009-01-04 nan nan nan nan nan nan nan nan\n", + "2009-01-05 nan nan nan nan nan nan nan nan\n", + "2009-01-06 nan nan nan nan nan nan nan nan\n", + "2009-01-07 nan nan nan nan nan nan nan nan" + ] + }, + "metadata": {}, + "execution_count": 43 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "VAnw47D8l8IP", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d77783bc-fdbc-4cf5-b418-1e822ebd87c9" + }, + "source": [ + "df_Ratio = df_Ratio.dropna()\n", + "df_Ratio.head()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Past100AMRTMRPMREPRTVNMPRUPR
2012-06-17-71.22700.00070.02970.00170.32450.02262.54500.5313
2012-06-18-77.10450.00060.03220.00140.34590.02242.14550.5155
2012-06-19-85.90390.00060.03650.00130.29050.02192.03910.4916
2012-06-20-83.52220.00050.04000.00120.28620.02151.60220.4686
2012-06-21-113.11480.00050.02850.00100.26860.02181.30940.4751
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " Past100 AMR TMR PMR EPR TVN MPR UPR\n", + "2012-06-17 -71.2270 0.0007 0.0297 0.0017 0.3245 0.0226 2.5450 0.5313\n", + "2012-06-18 -77.1045 0.0006 0.0322 0.0014 0.3459 0.0224 2.1455 0.5155\n", + "2012-06-19 -85.9039 0.0006 0.0365 0.0013 0.2905 0.0219 2.0391 0.4916\n", + "2012-06-20 -83.5222 0.0005 0.0400 0.0012 0.2862 0.0215 1.6022 0.4686\n", + "2012-06-21 -113.1148 0.0005 0.0285 0.0010 0.2686 0.0218 1.3094 0.4751" + ] + }, + "metadata": {}, + "execution_count": 44 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "wiO58pjdk9A3" + }, + "source": [ + "# first principal component\n", + "\n", + "https://scikit-learn.org/stable/auto_examples/cross_decomposition/plot_pcr_vs_pls.html" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "C3S3EJZYkql4" + }, + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.decomposition import PCA\n", + "from sklearn import preprocessing" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "QZDGtRLs1Ggu" + }, + "source": [ + "scaler = preprocessing.MinMaxScaler()\n", + "min_max_scaler = preprocessing.MinMaxScaler()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "aOTNEHj22udr", + "outputId": "cdd8dbc4-8b8e-4a40-c758-b139fd64e2d4" + }, + "source": [ + "scaled_df_Ratio = pd.DataFrame(min_max_scaler.fit_transform(df_Ratio), columns=df_Ratio.columns, index=df_Ratio.index)\n", + "scaled_df_Ratio.head()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Past100AMRTMRPMREPRTVNMPRUPR
2012-06-170.72490.91120.24331.00000.93540.41580.19970.6279
2012-06-180.70250.82820.26830.83671.00000.40990.16680.6092
2012-06-190.66880.79520.31050.80800.83260.39900.15800.5808
2012-06-200.67790.69340.34440.72610.81960.38880.12200.5536
2012-06-210.56480.62720.23190.58620.76670.39480.09780.5613
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " Past100 AMR TMR PMR EPR TVN MPR UPR\n", + "2012-06-17 0.7249 0.9112 0.2433 1.0000 0.9354 0.4158 0.1997 0.6279\n", + "2012-06-18 0.7025 0.8282 0.2683 0.8367 1.0000 0.4099 0.1668 0.6092\n", + "2012-06-19 0.6688 0.7952 0.3105 0.8080 0.8326 0.3990 0.1580 0.5808\n", + "2012-06-20 0.6779 0.6934 0.3444 0.7261 0.8196 0.3888 0.1220 0.5536\n", + "2012-06-21 0.5648 0.6272 0.2319 0.5862 0.7667 0.3948 0.0978 0.5613" + ] + }, + "metadata": {}, + "execution_count": 47 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KsPx2u1PlDml" + }, + "source": [ + "scaled_df_Ratio[\"FPC\"] = PCA(n_components=1).fit_transform(scaled_df_Ratio)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 331 + }, + "id": "_j7kkWI5ocDB", + "outputId": "caf5d2c4-34dc-45cb-ca37-159cb7b11bbd" + }, + "source": [ + "scaled_df_Ratio.corr()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Past100AMRTMRPMREPRTVNMPRUPRFPC
Past1001.0000-0.3930-0.1559-0.3949-0.6487-0.03000.2995-0.2310-0.5459
AMR-0.39301.00000.48300.97570.80810.41530.16550.88220.9356
TMR-0.15590.48301.00000.44690.38630.47880.41310.39940.5509
PMR-0.39490.97570.44691.00000.78300.37100.07080.89470.9146
EPR-0.64870.80810.38630.78301.00000.3704-0.01570.62060.9094
TVN-0.03000.41530.47880.37100.37041.00000.40920.41660.5771
MPR0.29950.16550.41310.0708-0.01570.40921.00000.04730.1330
UPR-0.23100.88220.39940.89470.62060.41660.04731.00000.8324
FPC-0.54590.93560.55090.91460.90940.57710.13300.83241.0000
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " Past100 AMR TMR PMR EPR TVN MPR UPR \\\n", + "Past100 1.0000 -0.3930 -0.1559 -0.3949 -0.6487 -0.0300 0.2995 -0.2310 \n", + "AMR -0.3930 1.0000 0.4830 0.9757 0.8081 0.4153 0.1655 0.8822 \n", + "TMR -0.1559 0.4830 1.0000 0.4469 0.3863 0.4788 0.4131 0.3994 \n", + "PMR -0.3949 0.9757 0.4469 1.0000 0.7830 0.3710 0.0708 0.8947 \n", + "EPR -0.6487 0.8081 0.3863 0.7830 1.0000 0.3704 -0.0157 0.6206 \n", + "TVN -0.0300 0.4153 0.4788 0.3710 0.3704 1.0000 0.4092 0.4166 \n", + "MPR 0.2995 0.1655 0.4131 0.0708 -0.0157 0.4092 1.0000 0.0473 \n", + "UPR -0.2310 0.8822 0.3994 0.8947 0.6206 0.4166 0.0473 1.0000 \n", + "FPC -0.5459 0.9356 0.5509 0.9146 0.9094 0.5771 0.1330 0.8324 \n", + "\n", + " FPC \n", + "Past100 -0.5459 \n", + "AMR 0.9356 \n", + "TMR 0.5509 \n", + "PMR 0.9146 \n", + "EPR 0.9094 \n", + "TVN 0.5771 \n", + "MPR 0.1330 \n", + "UPR 0.8324 \n", + "FPC 1.0000 " + ] + }, + "metadata": {}, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "11Xs20RXmApl", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 585 + }, + "outputId": "93095555-c0cb-4854-f687-e6bbf690ad5e" + }, + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "# Increase the size of the heatmap.\n", + "plt.figure(figsize=(18, 8))\n", + "#triangle\n", + "import numpy as np\n", + "mask = np.triu(np.ones_like(scaled_df_Ratio.corr(), dtype=np.bool))\n", + "fig, ax = plt.subplots(figsize=(16,9))\n", + "ax = sns.heatmap(scaled_df_Ratio.corr(), mask=mask, vmin=-1, vmax=1, annot=True, cmap='YlGnBu') #control colors: https://www.python-graph-gallery.com/92-control-color-in-seaborn-heatmaps/#:~:text=You%20can%20customize%20the%20colors,heatmap()%20function%20in%20seaborn.&text=It%20is%20also%20possible%20to,vmin%20parameters%20in%20the%20function.\n", + "ax.set_title('Triangle Correlation Heatmap: Network Features', fontdict={'fontsize':18}, pad=16);" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "image/png": "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WGgh/nw2kxbscfLROF5BgYVX3o7gyw/vxGQy8e3SSI6dSOap8T2IPBhPxC9FxdWwgc1ZseawzXNXhR+le+d6rFo0Fguw4beTrNtwwglHISIiUnk5okNVnDZt2nDq1Cmio6MJCQlh5cqVvPfeezYxffr0YfHixXTo0IE1a9bQrVs3DMOgT58+PP3004wbN46EhAROnTpF27Ztrzknw2K5+k0ao0ePvvoTSzjL36mM5aXLTLi5Z6SzU6iwTAOv/eKoyoy1h/88SK7qxO7Jzk5BRESkTPRfvanM97F2UI9it//yyy+8+eabFBQUcOeddzJ+/Hg++OADWrduTd++fcnJyeGZZ57h0KFD+Pj4MHPmTOskFh999BHff/89ZrOZF154gZtvvvma8y22oLoeVFCVngqq0lNBdW1UUF0bFVQiIlJZDVzza5nvY83AnmW+j+up2HuoPvnkE+vPq1atstn2/vvvl01GIiIiIiJSLpmMsn9UNMUWVD/++KP157lz59ps27hxY9lkJCIiIiIiUkEUOynFH0cDXj4ysIxHCoqIiIiISDlTbDemiir2nBh/+KZW47Jvbb18WUREREREpKoptkN1+PBhOnbsiMViIScnh44dOwJF3anc3FyHJCgiIiIiIuWDydAotcsVW1AdOnTIUXmIiIiIiIhUOMUWVCIiIiIiIv+nIs7CV9Z0X5mIiIiIiEgpqUMlIiIiIiIlom6MPZ0TERERERGRUlKHSkRERERESkT3UNlTh0pERERERKSU1KESEREREZESMfQ9VHbUoRIRERERESkldahERERERKREdA+VPXWoRERERERESkkdKhERERERKRF1Y+zpnIiIiIiIiJSSOlQiIiIiIlIiJs3yZ0cdKhERERERkVJSh0pEREREREpEs/zZK/OCavxmv7LeRaVluqWVs1OosEzJWc5OoUIrGNTC2SlUaA2eX+nsFCqsUzOGOjsFEREphoa32dM5ERERERERKSUN+RMRERERkRLRkD976lCJiIiIiIiUkjpUIiIiIiJSIpo23Z46VCIiIiIiIqWkDpWIiIiIiJSI7qGypw6ViIiIiIhIKalDJSIiIiIiJaJujD2dExERERERkVJSh0pEREREREpEs/zZU4dKRERERESklNShEhERERGREtEsf/bUoRIRERERESkldahERERERKRE1KGypw6ViIiI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eg/VVSb/ExERERGRKsrsgMe16NOnD0uWLAFgyZIl9O3b1y4mNzeXf/zjH9x+++12k08kJiYCRbVQeHg4TZo0+dN9XrWgKq7yExERERERKW/CwsLYtGkTAwYM4LfffiMsLAyAyMhIXnzxRQBWrVrFjh07WLx4Mbfffju33347hw4dAmDy5MkMGzaMYcOGkZqayvjx4/90n1f9HqrrRd9DVXr6HqrS0/dQXRt9D5U4i76HSkSkfHtzz9oy38cL7fuX+T6up6t2qERERERERKR4V52UQkRERERE5I8cMctfRaOCSkRERERESkQFlT0N+RMRERERESkldahERERERKREzOpQ2VGHSkREREREpJTUoRIRERERkRLRPVT21KESEREREREpJXWoRERERESkREyGxdkplDvqUImIiIiIiJSSOlQiIiIiIlIiuofKnjpUIiIiIiIipaQOlYiIiIiIlIjZ2QmUQ+pQiYiIiIiIlFKZd6gO7swu611UWtXa+Tk7hQorKzLV2SlUaCGdfJydQoXl6+3sDCq2hhOXOjuFCu3kzNudnYKIVHK6h8qeOlQiIiIiIiKlpHuoRERERESkRPQ9VPbUoRIRERERESkldahERERERKREzLqHyo46VCIiIiIiIqWkDpWIiIiIiJSIZvmzpw6ViIiIiIhIKalDJSIiIiIiJaIOlT0VVCIiIiIiUiIqqOxpyJ+IiIiIiEgpqUMlIiIiIiIlYtYX+9pRh0pERERERKSU1KESEREREZESUTfGns6JiIiIiIhIKalDJSIiIiIiJaJZ/uypQyUiIiIiIlJK6lCJiIiIiEiJqENlTx0qERERERGRUip1h+rixYt4eXldz1xERERERKQc0/dQ2fvTDlVCQgKRkZHk5uYCkJyczPvvv8+AAQPKPDkREREREZHyrNgO1RdffMGcOXOoX78+ubm53Hfffbz77rvcfvvt/PDDD47KUUREREREygHdQ2Wv2IJq0aJFrF69Gl9fX2JjYxk4cCDffPMNrVu3dlR+IiIiIiIi5VaxBZW7uzu+vr4A1KpVi4YNG6qYEhERERGpotShsldsQRUfH8/rr79uXT537pzN8ksvvVR2mV1nNzcKYFq/pphNBgv2xPDRltM22+/vUJsHO9alwGLhYm4Bz686xLHkC07K1vl61vbj+W43YDYMvjsaz7x90TbbO4X48HzXRjT1r87knw/x06kkALrU9OG5rjdY4xr6eDH550NEnEl2aP7O1Lt5MNPuaIPJgIVbzzAn4tgV4wa1DeWjcV0Y/v4vREan4evlyodjO9O2nh/fbzvDtB8iHZy5c3QL8WVS+0aYDINlJxOYf+SszXZXk8G0zk1p7led9Nx8XtpymLiLOQysG8QDzWpb4xr7VOPB8D0cS7/AY63qM6R+MN5uLty6ZLOjD8nhxjdvRJcgP7ILCnkv8ihRGfZ/uxrXqMbk1k1xN5vYdi6Vjw6fAKBXSACjG9ejbjUvntyyl2PnM63PaVjdiydbNaaai5lCCzyxZQ95hZXzZmRdtyIiUlrFFlRTpkyxWW7VqlWZJlNWTAa8NqAZ9y/YTfz5bJaN7UL4sSSbgmnpgXi+3h0DQL/GgbzUrwljFu5xVspOZTLgpe6NeXhNJAkXclg4vAPrzyRzPO2iNSbuQjYvbDzKuDZ1bJ67LT6dkUt3AeDj5sLquzqzKSbVofk7k8mA6Xe2ZfSc34hPy2LpxJsJ3x9PVEKGTVw1dxfG9W7E7lMp1nU5+YW8v+owTUNr0Kymt6NTdwoT8EyHG3hi434SL+byRd/2bIxN5mRGljVmeIMQMnLz+dvqnfSvE8g/2jTgpa1HWBN9jjXR5wC4oYYX79zUgmPpRdf0r3EpfHs8lu8G3eiMw3KozoF+1PbyYNzGnTT38eaJlo3559a9dnFPtmzMrANRHE7P4PWOLbkx0I8dSamcyrzI9N2HebJVY5t4kwFT2jbj/0Ue5UTGBbxdXSiopMWUrlsRkZJTh8pesQXVHXfcQUpKCjExMdSvX58aNWo4Kq/rqn0tH06lZhGdVvQmbfmhBPo3DeLY5ksFVWZugfVnLzczVM73DSXSJtCbM+ezOJuRDcCqE+foUy/ApqCKzcwBcii0XP1EDWgYyMazqWQXFJZ1yuVGu3p+nE66QHRy0blavjuG/q1r2r0xmzS4OXPWRRF266U3sVm5Bew4mUL9wGoOzdmZWvp7czYzm9gLOQCsjT5H71oBnPxDl6p3rQA+OXgGgHUxSUzucIPd7xlQL4i10UnW5f0pGXYxlVX3YH/CYxMBOJyeQTVXM/5urqTk5llj/N1c8TKbOZxedF7CYxO5KdifHUmpRF/IuuLv7RTgx8mMC5z4vduVkZdfxkfiPLpuRUTkWhQ7bfq3337L0KFDef311xk8eDARERGOyuu6qlndnbjz2dbluIxsanq728U92LEOGx67iedvbcK0tUccmWK5ElLNnfjf3+ACxF/IIdjL7S//nsENg1l5IvF6plbu1fT1IC7t0hvU+PQsavp42MS0quNDqK8n6w8mODq9cifY042ErEuvtcSsHII8bV9rQZ5uJP4eU2CBzLx8fNxsPwvqVyeQn37vVlU1ge7unMvOtS4nZecS4GH79y3Aw52kHNuYQHf7v4F/VKeaJxbgjU6tmN29PXc1qF1sfEWm61ZEpOTMRtk/KppiO1RffvklK1euxN/fn+joaCZPnkzfvn0dlZvDzd91lvm7znJ7yxCe6NGQp1ccdHZKFVagpxtN/bzYdLbqDPcrCcOAl25vzeT/7XJ2KpVGK//qZBcUcuL8xT8PlhIzGwatfWvwxJY95BQU8lbn1hw7n8melHRnp+Zwum5FRKQ4xRZUrq6u+Pv7A1C3bl3rl/tWNPGZOYTWuPRpY6i3B/EZOVeNX3YwgdcHtgCqZkGVcCGHmtUufXpds5o7iRf/2v/7QQ0DCT+TTH4xQwIro/i0bEJ9Pa3LNX08iU+/1B2t7u5C05reLJiNgQbSAAAgAElEQVTQE4Agb3c+eagrj3y6lcjoNIfn62yJWbmEeF56rQV7unMuy/a1di4rl2BPdxKzcjEbUN3VhfTcS8PP+tcNqnLdqWF1QxlcJwSAo+czCfK41NUL9HAjOdv271tydg6B7rYxSTlX/xsIcC47h8jUdM7/PtRv+7lUGteoXikLKl23IiIlZzKq1nu7kvhLs/xdvlxRZvnbG3uehn6e1PUpKqSGtQjhyWX7bWIa+HlyKrVoyEefxoGcSq26n3bvT8qgvo8ntat7kHgxh8GNgpjy8+G/9DuGNgpm5o6TZZRh+bUvOo0GQdWo4+9FQnoWwzrU5p//3WndnpGdT6epq63L3/yjB28uO1Bl35QdSs2gbnVPQr2KCqn+dYOYus12uO3GuBSG1g9mf0oGfWoHsiPx0rkygL51Ann0530Ozty5lkfHsTw6DoAugX4MrxfKz/FJNPfx5mJ+gc39UwApuXlcLCiguY83h9Mz6FcrmKVn4ordx86kVO5qWAd3k4k8SyFt/X344VRMmR2TM+m6FRGRa1ElZvkrsFh4ee0R5t/TAbNhsGhfLMeSLjCpVyP2xZ0nPCqJMZ3q0rOBP3mFFs5n5zFpxQFnp+00BRZ4Y3MUnwxsjckwWHwsnqi0i0zoUJ8DSRmsj06hdWB1/tW3FTXcXLi1bgATOtRn+OKiNyC1qrtTs5o72+Mr3yfZf6ag0MK07/cx/9HumEwG3249w7H4DCYOak5kdBrhB+KLff7Gqf2p7u6Cq4uJ/m1CeXDOZrsb4yuTAgu8u+c4/+rVGpMBy08lcPL8RcJa1uNQaiYb41JYdjKeV7o047tBnTifm89LWy8V9x2CfEi8mGOd1OL/TGjTgIF1g/Awm1g+pDNLTyUw7/eJLSqbbUmpdA7y4/NencgpKOS9/Zem+/6we3se31w0W+m/Dx5ncusmuJlN7EhKZXtS0XDcm4IDeLxFI3zcXHmtY0uOZ1zgxZ0HyMwv4IdTMfy7ezsslqL9bEuqnEN4dd2KiJRcsRMwVFGGxVK2Y7Lqzwgvy19fqVUL+esTQUiRrMjK+cbPUYJ7BDg7hQrLVzNnX5Ojq6vOd9aVhZMzb3d2CiJSya2L/bHM99Gn1pAy38f1VGyH6rHHHiv2yXPmzLmuyYiIiIiIiFQkxRZUe/bsITQ0lKFDh9KuXTvKuJklIiIiIiLlWEWc1rysFVtQbdq0iU2bNrFy5UpWrFjBzTffzG233UaTJk0clZ+IiIiIiEi5VWxBZTab6d27N7179yY3N5cVK1YwevRoJkyYwAMPPOCoHEVEREREpBzQtOn2ii2oAHJzc/n5559ZsWIFMTExjB49mv79+zsiNxERERERkXLtT6dNP3bsGL1792bChAk0bdrUUXmJiIiIiEg5Yyrn91ClpaUxceJEYmJiqF27NrNmzcLHx8curkWLFtbaJjQ01DrZXnR0NJMmTSItLY1WrVrxzjvv4OZW/MzbxRZUy5Ytw9PTk1OnTvHVV19Z11ssFgzDYNeuXX/5IEVERERERMrC3Llz6d69O2FhYcydO5e5c+fyzDPP2MV5eHiwdOlSu/XvvvsuY8eOZejQobz88st899133HfffcXus9iC6vDhw8VtFhERERGRKqS8d6giIiKsjaARI0YwevToKxZUV2KxWNiyZQvvvfceAHfccQezZ8++toJKRERERETEkRYuXMjChQuty6NGjWLUqFElem5ycjLBwcEABAUFkZx85S+Mz8nJYeTIkbi4uBAWFka/fv1ITU2lRo0auLgUlUg1a9YkISHhT/epgkpERERERErE5IB9/FkBNXbsWJKSkuzWP/XUUzbLhmFgGFduqa1fv56QkBCio6MZM2YMTZs2pXr16qXKVwWViIiIiIhUGF988cVVtwUEBJCYmEhwcDCJiYn4+/tfMS4kJASAunXr0qVLFw4ePMjAgQM5f/48+fn5uLi4EB8fb40rjiOKTBERERERqQQMo+wf16JPnz4sWbIEgCVLltC3b1+7mPT0dHJzcwFISUlh165dNG7cGMMw6Nq1K2vWrAFg8eLF9OnT50/3qYJKREREREQqhbCwMDZt2sSAAQP47bffCAsLAyAyMpIXX3wRgOPHj3PnnXcyfPhwxowZwyOPPELjxo0BeOaZZ/j888/p378/aWlp3HXXXX+6T8NisZTp1x3XnxFelr++UqsWUvyc93J1WZGpzk6hQgvuEeDsFCosX29nZ1CxHV195ZuHpWROzrzd2SmISCW3/dzKMt9H56ChZb6P60kdKhERERERkVLSpBQiIiIiIlIi13qPU2WkDpWIiIiIiEgpqUMlIiIiIiIlom6MPZ0TERERERGRUlKHSkRERERESsQwynSC8ApJBZWIiIiIiJSI5qSwpyF/IiIiIiIipVTmHaoH+quOLa15o5c7O4UKy2tIL2enUKGdePF7Z6dQYfnc0NbZKVRsTfydnUGFVeuWAHos/tXZaVRYm+7o6ewURCoETZtuTx0qERERERGRUtI9VCIiIiIiUiJqUNlTh0pERERERKSU1KESEREREZESMalFZUcdKhERERERkVJSh0pEREREREpEDSp76lCJiIiIiIiUkjpUIiIiIiJSIvoeKnvqUImIiIiIiJSSOlQiIiIiIlIialDZU4dKRERERESklNShEhERERGRElGHyp46VCIiIiIiIqWkDpWIiIiIiJSISS0qO+pQiYiIiIiIlJI6VCIiIiIiUiJqUNlTh0pERERERKSU1KESEREREZESMQyLs1Mod1RQiYiIiIhIiWjIn71SDfnbtGkT48aNu965iIiIiIiIVCjFdqg2b97MK6+8QmJiIn379uWRRx7h+eefB+Cxxx5zSIIiIiIiIlI+GGpR2Sm2oHr77beZPn06HTp0YMOGDdxzzz08/fTTPPDAA47KT0REREREpNwqtqAyDIOuXbsC0K9fP4KDgytMMWWxWNg7/1vi9h7Axc2VGx99EL+G9Wxi8nNy2fKvT7iQ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IiIiIiKiDpWIiIiIiJSQGlT21KESEREREREpJXWoRERERESkRMp7NyYtLY2JEycSExND7dq1mTVrFj4+PjYxW7ZsYcaMGdblEydOMHPmTPr168dzzz3Htm3b8Pb2BuCtt96iRYsWxe5TBZWIiIiIiFQKc+fOpXv37oSFhTF37lzmzp3LM888YxPTrVs3li5dChQVYAMGDKBHjx7W7VOmTGHQoEEl3md5LzJFRERERKScMIyyf1yLiIgIRowYAcCIESMIDw8vNn7NmjX06tULT0/PUu9TBZWIiIiIiFQKycnJBAcHAxAUFERycnKx8StXruS2226zWTdz5kyGDRvGm2++SW5u7p/uU0P+RERERESkhMp+nr+FCxeycOFC6/KoUaMYNWqUdXns2LEkJSXZPe+pp56yWTYMA6OYlldiYiJHjx6lZ8+e1nWTJk0iKCiIvLw8pk6dyty5c5kwYUKx+aqgEhERERGRcuPyAupyX3zxxVW3BQQEkJiYSHBwMImJifj7+181dtWqVfTv3x9XV1fruv/rbrm5uTFy5Eg+++yzP81XQ/5ERERERKREDAf8dy369OnDkiVLAFiyZAl9+/a9auzKlSsZOnSozbrExEQALBYL4eHhNGnS5E/3qYJKREREREQqhbCwMDZt2sSAAQP47bffCAsLAyAyMpIXX3zRGnf27Fni4uLo0qWLzfMnT57MsGHDGDZsGKmpqYwfP/5P96khfyIiIiIiUiKGUb77MX5+fnz55Zd269u0aUObNm2sy3Xq1GHjxo12cfPnz//L+yzfZ0RERERERKQcK/MO1d8aZpX1Liqt/+RlODuFCss7WufuWhQU5jk7hQorNWq3s1Oo0Pw8Ojs7hQorI/PqN15L8VLeWUedlyOcnUaFdjZymrNTEIcp+1n+Khp1qEREREREREpJ91CJiIiIiEiJXOssfJWROlQiIiIiIiKlpA6ViIiIiIiUkDpUl1OHSkREREREpJTUoRIRERERkRIp799D5Qw6IyIiIiIiIqWkDpWIiIiIiJSQ7qG6nAoqEREREREpEU2bbk9D/kREREREREpJHSoRERERESkRdajsqUMlIiIiIiJSSupQiYiIiIhICakfczmdERERERERkVJSh0pERERERErEMHQP1eXUoRIRERERESkldahERERERKSE1KG6nDpUIiIiIiIipaQOlYiI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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "44__7YGXkogo" + }, + "source": [ + "fig.savefig('heatmap_nocbar.png')" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lgS50L_Niz1O" + }, + "source": [ + "# Regressions" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "__86ICZ4qaHh" + }, + "source": [ + "import statsmodels.api as sm\n", + "import statsmodels.formula.api as smf" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 204 + }, + "id": "7bng0DGSuIfu", + "outputId": "516d2f85-e654-403a-807d-7fda72eb1268" + }, + "source": [ + "df_Regression=df[columns_ROI].merge(scaled_df_Ratio, left_index=True, right_index=True)\n", + "df_Regression.head()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ROI1ROI7ROI30ROI90ROI180ROI360Past100AMRTMRPMREPRTVNMPRUPRPC_ratios
2012-06-17-0.03790.13600.21130.32520.5686-0.64590.72490.91120.24331.00000.93540.41580.19970.62791.3883
2012-06-180.01790.12960.23440.30640.6227-0.63960.70250.82820.26830.83671.00000.40990.16680.60921.3381
2012-06-190.02920.13400.27490.34820.6640-0.62910.66880.79520.31050.80800.83260.39900.15800.58081.2215
2012-06-200.03060.13270.31390.41520.6997-0.59090.67790.69340.34440.72610.81960.38880.12200.55361.1335
2012-06-21-0.00320.11910.31110.42220.6937-0.60170.56480.62720.23190.58620.76670.39480.09780.56131.0456
\n", + "
" + ], + "text/plain": [ + " ROI1 ROI7 ROI30 ROI90 ROI180 ROI360 Past100 AMR \\\n", + "2012-06-17 -0.0379 0.1360 0.2113 0.3252 0.5686 -0.6459 0.7249 0.9112 \n", + "2012-06-18 0.0179 0.1296 0.2344 0.3064 0.6227 -0.6396 0.7025 0.8282 \n", + "2012-06-19 0.0292 0.1340 0.2749 0.3482 0.6640 -0.6291 0.6688 0.7952 \n", + "2012-06-20 0.0306 0.1327 0.3139 0.4152 0.6997 -0.5909 0.6779 0.6934 \n", + "2012-06-21 -0.0032 0.1191 0.3111 0.4222 0.6937 -0.6017 0.5648 0.6272 \n", + "\n", + " TMR PMR EPR TVN MPR UPR PC_ratios \n", + "2012-06-17 0.2433 1.0000 0.9354 0.4158 0.1997 0.6279 1.3883 \n", + "2012-06-18 0.2683 0.8367 1.0000 0.4099 0.1668 0.6092 1.3381 \n", + "2012-06-19 0.3105 0.8080 0.8326 0.3990 0.1580 0.5808 1.2215 \n", + "2012-06-20 0.3444 0.7261 0.8196 0.3888 0.1220 0.5536 1.1335 \n", + "2012-06-21 0.2319 0.5862 0.7667 0.3948 0.0978 0.5613 1.0456 " + ] + }, + "metadata": {}, + "execution_count": 121 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "NVvzcHnqqaZ7" + }, + "source": [ + "df_Regression[\"ROI1_future\"] = df_Regression[\"ROI1\"].shift(-1)\n", + "df_Regression[\"ROI7_future\"] = df_Regression[\"ROI7\"].shift(-7)\n", + "df_Regression[\"ROI30_future\"] = df_Regression[\"ROI30\"].shift(-30)\n", + "df_Regression[\"ROI90_future\"] = df_Regression[\"ROI90\"].shift(-90)\n", + "df_Regression[\"ROI180_future\"] = df_Regression[\"ROI180\"].shift(-180)\n", + "df_Regression[\"ROI360_future\"] = df_Regression[\"ROI360\"].shift(-360)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "niOCRUIg5hGt" + }, + "source": [ + "columns_Ratio =columns_Ratio+[\"PC_ratios\"]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "HDO876DarzWR" + }, + "source": [ + "df_Regression =df_Regression.dropna()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "j9CdQqfGlVRO" + }, + "source": [ + "df_Regression.to_csv(\"regression.csv\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "B9jFen5qtJV9", + "outputId": "0f54c230-7903-4c78-f2b9-7479dba72126" + }, + "source": [ + "!pip install stargazer\n", + "from stargazer.stargazer import Stargazer\n", + "from IPython.core.display import HTML\n", + "from IPython.core.display import Latex" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: stargazer in /usr/local/lib/python3.7/dist-packages (0.0.5)\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YrCs6KWHrktr" + }, + "source": [ + "results1 = smf.ols('ROI7_future ~ 1+ Past100', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results2 = smf.ols('ROI7_future ~ 1+ AMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results3 = smf.ols('ROI7_future ~ 1+ TMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results4 = smf.ols('ROI7_future ~ 1+ PMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results5 = smf.ols('ROI7_future ~ 1+ EPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results6 = smf.ols('ROI7_future ~ 1+ TVN', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results7 = smf.ols('ROI7_future ~ 1+ MPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results8 = smf.ols('ROI7_future ~ 1+ UPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results9 = smf.ols('ROI7_future ~ 1+ PC_ratios', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MG3o_0-xlzA0", + "outputId": "4b89bea6-d6ac-4885-cbff-894275418f15" + }, + "source": [ + "print(results1.summary())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: ROI7_future R-squared: 0.002\n", + "Model: OLS Adj. R-squared: 0.002\n", + "Method: Least Squares F-statistic: 1.510\n", + "Date: Fri, 08 Oct 2021 Prob (F-statistic): 0.219\n", + "Time: 11:20:48 Log-Likelihood: 1668.3\n", + "No. Observations: 2760 AIC: -3333.\n", + "Df Residuals: 2758 BIC: -3321.\n", + "Df Model: 1 \n", + "Covariance Type: HAC \n", + "==============================================================================\n", + " coef std err z P>|z| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "Intercept 0.0585 0.028 2.115 0.034 0.004 0.113\n", + "Past100 -0.0358 0.029 -1.229 0.219 -0.093 0.021\n", + "==============================================================================\n", + "Omnibus: 963.916 Durbin-Watson: 0.276\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 8296.044\n", + "Skew: 1.408 Prob(JB): 0.00\n", + "Kurtosis: 11.013 Cond. No. 11.4\n", + "==============================================================================\n", + "\n", + "Warnings:\n", + "[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 681 + }, + "id": "GMaTAp26tPvR", + "outputId": "fbc6a56b-94a4-427a-dcce-d0f1cc4982d4" + }, + "source": [ + "stargazer_weekly = Stargazer([results1,results2,results3,results4,results5,results6,results7,results8,results9])\n", + "stargazer_weekly.title('Prediction on Future 1-week return')\n", + "stargazer_weekly.significant_digits(3)\n", + "stargazer_weekly.covariate_order(columns_Ratio)\n", + "HTML(stargazer_weekly.render_html())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "Prediction on Future 1-week return
\n", + "
Dependent variable:ROI7_future
(1)(2)(3)(4)(5)(6)(7)(8)(9)
Past100-0.036
(0.029)
AMR0.084***
(0.020)
TMR0.253***
(0.040)
PMR0.102***
(0.025)
EPR0.060***
(0.017)
TVN0.032
(0.025)
MPR0.016
(0.019)
UPR0.071***
(0.015)
PC_ratios0.045***
(0.009)
Observations2,7602,7602,7602,7602,7602,7602,7602,7602,760
R20.0020.0070.0390.0070.0070.0020.0000.0070.010
Adjusted R20.0020.0070.0390.0070.0070.001-0.0000.0070.010
Residual Std. Error0.132 (df=2758)0.132 (df=2758)0.130 (df=2758)0.132 (df=2758)0.132 (df=2758)0.132 (df=2758)0.132 (df=2758)0.132 (df=2758)0.132 (df=2758)
F Statistic1.510 (df=1; 2758)17.881*** (df=1; 2758)39.622*** (df=1; 2758)17.406*** (df=1; 2758)12.411*** (df=1; 2758)1.737 (df=1; 2758)0.714 (df=1; 2758)23.190*** (df=1; 2758)26.118*** (df=1; 2758)
Note:\n", + " *p<0.1;\n", + " **p<0.05;\n", + " ***p<0.01\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 144 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rdqpKSt7toq4" + }, + "source": [ + "results1 = smf.ols('ROI30_future ~ 1+ Past100', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results2 = smf.ols('ROI30_future ~ 1+ AMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results3 = smf.ols('ROI30_future ~ 1+ TMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results4 = smf.ols('ROI30_future ~ 1+ PMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results5 = smf.ols('ROI30_future ~ 1+ EPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results6 = smf.ols('ROI30_future ~ 1+ TVN', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results7 = smf.ols('ROI30_future ~ 1+ MPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results8 = smf.ols('ROI30_future ~ 1+ UPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results9 = smf.ols('ROI30_future ~ 1+ PC_ratios', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 681 + }, + "id": "kJq-OM31yV3_", + "outputId": "f9b67e27-b77a-49b9-fb2c-0f2930fe7ebf" + }, + "source": [ + "stargazer_weekly = Stargazer([results1,results2,results3,results4,results5,results6,results7,results8,results9])\n", + "stargazer_weekly.title('Prediction on Future 1-week return')\n", + "stargazer_weekly.significant_digits(3)\n", + "stargazer_weekly.covariate_order(columns_Ratio)\n", + "HTML(stargazer_weekly.render_html())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "Prediction on Future 1-week return
\n", + "
Dependent variable:ROI30_future
(1)(2)(3)(4)(5)(6)(7)(8)(9)
Past100-0.137*
(0.082)
AMR0.448***
(0.063)
TMR1.000***
(0.119)
PMR0.614***
(0.087)
EPR0.327***
(0.063)
TVN0.144**
(0.067)
MPR-0.021
(0.066)
UPR0.455***
(0.055)
PC_ratios0.238***
(0.029)
Observations2,7602,7602,7602,7602,7602,7602,7602,7602,760
R20.0020.0170.0520.0220.0180.0030.0000.0260.025
Adjusted R20.0020.0170.0520.0220.0180.002-0.0000.0250.024
Residual Std. Error0.454 (df=2758)0.451 (df=2758)0.442 (df=2758)0.449 (df=2758)0.450 (df=2758)0.454 (df=2758)0.454 (df=2758)0.449 (df=2758)0.449 (df=2758)
F Statistic2.767* (df=1; 2758)50.343*** (df=1; 2758)70.071*** (df=1; 2758)49.955*** (df=1; 2758)26.651*** (df=1; 2758)4.664** (df=1; 2758)0.103 (df=1; 2758)67.975*** (df=1; 2758)66.692*** (df=1; 2758)
Note:\n", + " *p<0.1;\n", + " **p<0.05;\n", + " ***p<0.01\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 155 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vXh5JMbopJCQ", + "outputId": "50b47804-1c33-45f4-9946-8bf1eb16583b" + }, + "source": [ + "print(results9.summary())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: ROI30_future R-squared: 0.025\n", + "Model: OLS Adj. R-squared: 0.024\n", + "Method: Least Squares F-statistic: 66.69\n", + "Date: Fri, 08 Oct 2021 Prob (F-statistic): 4.78e-16\n", + "Time: 11:25:13 Log-Likelihood: -1704.4\n", + "No. Observations: 2760 AIC: 3413.\n", + "Df Residuals: 2758 BIC: 3425.\n", + "Df Model: 1 \n", + "Covariance Type: HAC \n", + "==============================================================================\n", + " coef std err z P>|z| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "Intercept 0.1281 0.012 10.903 0.000 0.105 0.151\n", + "PC_ratios 0.2380 0.029 8.166 0.000 0.181 0.295\n", + "==============================================================================\n", + "Omnibus: 2547.202 Durbin-Watson: 0.048\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 106031.397\n", + "Skew: 4.373 Prob(JB): 0.00\n", + "Kurtosis: 32.078 Cond. No. 3.34\n", + "==============================================================================\n", + "\n", + "Warnings:\n", + "[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "x-K_rTfbyZMC" + }, + "source": [ + "results1 = smf.ols('ROI90_future ~ 1+ Past100', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results2 = smf.ols('ROI90_future ~ 1+ AMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results3 = smf.ols('ROI90_future ~ 1+ TMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results4 = smf.ols('ROI90_future ~ 1+ PMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results5 = smf.ols('ROI90_future ~ 1+ EPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results6 = smf.ols('ROI90_future ~ 1+ TVN', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results7 = smf.ols('ROI90_future ~ 1+ MPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results8 = smf.ols('ROI90_future ~ 1+ UPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results9 = smf.ols('ROI90_future ~ 1+ PC_ratios', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 681 + }, + "id": "JACvx5I8yguL", + "outputId": "d566aa22-b91e-4e04-ad77-25c2edf905ec" + }, + "source": [ + "stargazer_weekly = Stargazer([results1,results2,results3,results4,results5,results6,results7,results8,results9])\n", + "stargazer_weekly.title('Prediction on Future 1-week return')\n", + "stargazer_weekly.significant_digits(3)\n", + "stargazer_weekly.covariate_order(columns_Ratio)\n", + "HTML(stargazer_weekly.render_html())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "Prediction on Future 1-week return
\n", + "
Dependent variable:ROI90_future
(1)(2)(3)(4)(5)(6)(7)(8)(9)
Past1000.361***
(0.115)
AMR2.813***
(0.470)
TMR3.587***
(0.433)
PMR3.767***
(0.581)
EPR1.174***
(0.177)
TVN1.586***
(0.181)
MPR-0.202
(0.162)
UPR3.906***
(0.453)
PC_ratios1.334***
(0.186)
Observations2,7602,7602,7602,7602,7602,7602,7602,7602,760
R20.0020.0760.0750.0930.0260.0380.0000.2110.086
Adjusted R20.0010.0760.0740.0930.0250.0370.0000.2110.086
Residual Std. Error1.360 (df=2758)1.308 (df=2758)1.309 (df=2758)1.296 (df=2758)1.343 (df=2758)1.335 (df=2758)1.361 (df=2758)1.209 (df=2758)1.301 (df=2758)
F Statistic9.883*** (df=1; 2758)35.788*** (df=1; 2758)68.705*** (df=1; 2758)41.969*** (df=1; 2758)43.981*** (df=1; 2758)77.141*** (df=1; 2758)1.571 (df=1; 2758)74.373*** (df=1; 2758)51.233*** (df=1; 2758)
Note:\n", + " *p<0.1;\n", + " **p<0.05;\n", + " ***p<0.01\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 166 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "syAkoOnTjCyE", + "outputId": "c85cbfac-35d7-4cca-f2d0-cc50fa1a0d6f" + }, + "source": [ + "print(results9.summary())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: ROI90_future R-squared: 0.086\n", + "Model: OLS Adj. R-squared: 0.086\n", + "Method: Least Squares F-statistic: 51.23\n", + "Date: Fri, 08 Oct 2021 Prob (F-statistic): 1.05e-12\n", + "Time: 11:30:38 Log-Likelihood: -4641.5\n", + "No. Observations: 2760 AIC: 9287.\n", + "Df Residuals: 2758 BIC: 9299.\n", + "Df Model: 1 \n", + "Covariance Type: HAC \n", + "==============================================================================\n", + " coef std err z P>|z| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "Intercept 0.4874 0.031 15.615 0.000 0.426 0.549\n", + "PC_ratios 1.3343 0.186 7.158 0.000 0.969 1.700\n", + "==============================================================================\n", + "Omnibus: 2029.046 Durbin-Watson: 0.032\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 36969.447\n", + "Skew: 3.357 Prob(JB): 0.00\n", + "Kurtosis: 19.625 Cond. No. 3.34\n", + "==============================================================================\n", + "\n", + "Warnings:\n", + "[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "daJtESP-yigh" + }, + "source": [ + "results1 = smf.ols('ROI180_future ~ 1+ Past100', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results2 = smf.ols('ROI180_future ~ 1+ AMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results3 = smf.ols('ROI180_future ~ 1+ TMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results4 = smf.ols('ROI180_future ~ 1+ PMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results5 = smf.ols('ROI180_future ~ 1+ EPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results6 = smf.ols('ROI180_future ~ 1+ TVN', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results7 = smf.ols('ROI180_future ~ 1+ MPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results8 = smf.ols('ROI180_future ~ 1+ UPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results9 = smf.ols('ROI180_future ~ 1+ PC_ratios', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 681 + }, + "id": "03fvB-0gyryY", + "outputId": "315f6139-8e75-40fd-c9c4-a8469005fca8" + }, + "source": [ + "stargazer_weekly = Stargazer([results1,results2,results3,results4,results5,results6,results7,results8,results9])\n", + "stargazer_weekly.title('Prediction on Future 1-week return')\n", + "stargazer_weekly.significant_digits(3)\n", + "stargazer_weekly.covariate_order(columns_Ratio)\n", + "HTML(stargazer_weekly.render_html())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "Prediction on Future 1-week return
\n", + "
Dependent variable:ROI180_future
(1)(2)(3)(4)(5)(6)(7)(8)(9)
Past1000.663***
(0.235)
AMR7.521***
(0.803)
TMR7.285***
(0.597)
PMR9.286***
(0.994)
EPR4.755***
(0.485)
TVN6.925***
(0.473)
MPR0.184
(0.282)
UPR8.159***
(0.544)
PC_ratios3.873***
(0.323)
Observations2,7602,7602,7602,7602,7602,7602,7602,7602,760
R20.0020.1970.1120.2060.1540.2600.0000.3350.264
Adjusted R20.0020.1970.1120.2060.1540.260-0.0000.3340.264
Residual Std. Error2.255 (df=2758)2.023 (df=2758)2.127 (df=2758)2.012 (df=2758)2.076 (df=2758)1.942 (df=2758)2.258 (df=2758)1.842 (df=2758)1.937 (df=2758)
F Statistic7.965*** (df=1; 2758)87.791*** (df=1; 2758)148.964*** (df=1; 2758)87.283*** (df=1; 2758)95.930*** (df=1; 2758)214.745*** (df=1; 2758)0.425 (df=1; 2758)225.172*** (df=1; 2758)143.751*** (df=1; 2758)
Note:\n", + " *p<0.1;\n", + " **p<0.05;\n", + " ***p<0.01\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 177 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KpT6GWiLrYmH", + "outputId": "f9d8e7b6-36f2-4908-ceb6-ee0524f4a36f" + }, + "source": [ + "print(results9.summary())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: ROI180_future R-squared: 0.264\n", + "Model: OLS Adj. R-squared: 0.264\n", + "Method: Least Squares F-statistic: 143.8\n", + "Date: Fri, 08 Oct 2021 Prob (F-statistic): 2.53e-32\n", + "Time: 11:35:24 Log-Likelihood: -5740.2\n", + "No. Observations: 2760 AIC: 1.148e+04\n", + "Df Residuals: 2758 BIC: 1.150e+04\n", + "Df Model: 1 \n", + "Covariance Type: HAC \n", + "==============================================================================\n", + " coef std err z P>|z| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "Intercept 1.0846 0.046 23.536 0.000 0.994 1.175\n", + "PC_ratios 3.8730 0.323 11.990 0.000 3.240 4.506\n", + "==============================================================================\n", + "Omnibus: 818.247 Durbin-Watson: 0.026\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 2729.066\n", + "Skew: 1.475 Prob(JB): 0.00\n", + "Kurtosis: 6.877 Cond. No. 3.34\n", + "==============================================================================\n", + "\n", + "Warnings:\n", + "[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wDLN81fyzCxH" + }, + "source": [ + "results1 = smf.ols('ROI360_future ~ 1+ Past100', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results2 = smf.ols('ROI360_future ~ 1+ AMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results3 = smf.ols('ROI360_future ~ 1+ TMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results4 = smf.ols('ROI360_future ~ 1+ PMR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results5 = smf.ols('ROI360_future ~ 1+ EPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results6 = smf.ols('ROI360_future ~ 1+ TVN', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results7 = smf.ols('ROI360_future ~ 1+ MPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results8 = smf.ols('ROI360_future ~ 1+ UPR', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})\n", + "results9 = smf.ols('ROI360_future ~ 1+ PC_ratios', data=df_Regression).fit(cov_type='HAC',cov_kwds={'maxlags':1})" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 681 + }, + "id": "dWOUPNcjytGR", + "outputId": "6a3807bd-6dfe-4fd9-b258-5ba17535cc08" + }, + "source": [ + "stargazer_weekly = Stargazer([results1,results2,results3,results4,results5,results6,results7,results8,results9])\n", + "stargazer_weekly.title('Prediction on Future 1-week return')\n", + "stargazer_weekly.significant_digits(3)\n", + "stargazer_weekly.covariate_order(columns_Ratio)\n", + "HTML(stargazer_weekly.render_html())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "Prediction on Future 1-week return
\n", + "
Dependent variable:ROI360_future
(1)(2)(3)(4)(5)(6)(7)(8)(9)
Past100-2.217**
(0.981)
AMR44.139***
(4.121)
TMR33.053***
(3.249)
PMR56.428***
(5.280)
EPR15.392***
(1.278)
TVN19.048***
(1.771)
MPR5.906***
(1.056)
UPR49.486***
(2.765)
PC_ratios18.349***
(1.532)
Observations2,7602,7602,7602,7602,7602,7602,7602,7602,760
R20.0010.3470.1180.3880.0820.1010.0070.6280.302
Adjusted R20.0010.3460.1170.3880.0820.1000.0070.6280.302
Residual Std. Error9.989 (df=2758)8.079 (df=2758)9.388 (df=2758)7.820 (df=2758)9.574 (df=2758)9.479 (df=2758)9.959 (df=2758)6.096 (df=2758)8.349 (df=2758)
F Statistic5.108** (df=1; 2758)114.730*** (df=1; 2758)103.496*** (df=1; 2758)114.235*** (df=1; 2758)145.094*** (df=1; 2758)115.653*** (df=1; 2758)31.304*** (df=1; 2758)320.316*** (df=1; 2758)143.374*** (df=1; 2758)
Note:\n", + " *p<0.1;\n", + " **p<0.05;\n", + " ***p<0.01\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 188 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xqv_mfRCjbsN", + "outputId": "6a3fb791-f9c1-4f65-e771-d2f139946c57" + }, + "source": [ + "print(results1.summary())" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: ROI360_future R-squared: 0.001\n", + "Model: OLS Adj. R-squared: 0.001\n", + "Method: Least Squares F-statistic: 5.108\n", + "Date: Fri, 08 Oct 2021 Prob (F-statistic): 0.0239\n", + "Time: 11:39:33 Log-Likelihood: -10267.\n", + "No. Observations: 2760 AIC: 2.054e+04\n", + "Df Residuals: 2758 BIC: 2.055e+04\n", + "Df Model: 1 \n", + "Covariance Type: HAC \n", + "==============================================================================\n", + " coef std err z P>|z| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "Intercept 6.1113 0.990 6.173 0.000 4.171 8.052\n", + "Past100 -2.2167 0.981 -2.260 0.024 -4.139 -0.294\n", + "==============================================================================\n", + "Omnibus: 2543.037 Durbin-Watson: 0.010\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 72941.564\n", + "Skew: 4.541 Prob(JB): 0.00\n", + "Kurtosis: 26.490 Cond. No. 11.4\n", + "==============================================================================\n", + "\n", + "Warnings:\n", + "[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8Fbcx6MZscBH" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file