{ "cells": [ { "cell_type": "markdown", "id": "4d5d02c8-7702-44c4-bc4b-419ed466d7b5", "metadata": {}, "source": [ "# Crypto Momentum and Mean Reversion Strategies\n", "## Brian Plotnik\n", "### October 2024\n", "\n", "This notebook implements momentum and mean reversion strategies on historical daily cryptocurrency price data." ] }, { "cell_type": "code", "execution_count": 2, "id": "a9f2b48d-86cd-4ad6-8f3a-e165b00354be", "metadata": {}, "outputs": [], "source": [ "# Import statements\n", "import pandas as pd\n", "import numpy as np\n", "from binance.client import Client as bnb_client\n", "from datetime import datetime\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import statsmodels.api as sm\n", "\n", "from skopt import gp_minimize\n", "from skopt.space import Integer\n", "from skopt.utils import use_named_args" ] }, { "cell_type": "markdown", "id": "42a93680-8424-487f-984a-0cd29948216f", "metadata": {}, "source": [ "# Data Collection" ] }, { "cell_type": "code", "execution_count": 3, "id": "c1ed894e-e568-418e-94de-03ba003eba4b", "metadata": {}, "outputs": [], "source": [ "# Pull price timeseries data from Binance\n", "def get_binance_px(symbol,freq,start_ts = '2017-01-01',end_ts='2024-10-01'):\n", " data = client.get_historical_klines(symbol,freq,start_ts,end_ts)\n", " columns = ['open_time','open','high','low','close','volume','close_time','quote_volume',\n", " 'num_trades','taker_base_volume','taker_quote_volume','ignore']\n", "\n", " data = pd.DataFrame(data,columns = columns)\n", " \n", " # Convert from POSIX timestamp (number of millisecond since jan 1, 1970)\n", " data['open_time'] = data['open_time'].map(lambda x: datetime.utcfromtimestamp(x/1000))\n", " data['close_time'] = data['close_time'].map(lambda x: datetime.utcfromtimestamp(x/1000))\n", " return data " ] }, { "cell_type": "code", "execution_count": 4, "id": "d1718f07-c7cc-49c8-84ea-f16dbc98d9f2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['BTCUSD4', 'ETHUSD4', 'XRPUSD', 'BCHUSD4', 'LTCUSD4', 'USDTUSD4', 'BTCUSDT', 'ETHUSDT', 'XRPUSDT', 'BCHUSDT', 'LTCUSDT', 'BNBUSD4', 'BNBUSDT', 'ETHBTC', 'XRPBTC', 'BNBBTC', 'LTCBTC', 'BCHBTC', 'ADAUSD4', 'BATUSD4', 'ETCUSD4', 'XLMUSD4', 'ZRXUSD4', 'ADAUSDT', 'BATUSDT', 'ETCUSDT', 'XLMUSDT', 'ZRXUSDT', 'LINKUSD4', 'RVNUSD4', 'DASHUSD4', 'ZECUSD4', 'ALGOUSD4', 'IOTAUSD4', 'BUSDUSD4', 'BTCBUSD', 'DOGEUSDT', 'WAVESUSD4', 'ATOMUSDT', 'ATOMUSD4', 'NEOUSDT', 'NEOUSD4', 'VETUSDT', 'QTUMUSDT', 'QTUMUSD4', 'NANOUSD', 'ICXUSD4', 'ENJUSD4', 'ONTUSD4', 'ONTUSDT', 'ZILUSD4', 'ZILBUSD', 'VETUSD4', 'BNBBUSD', 'XRPBUSD', 'ETHBUSD', 'ALGOBUSD', 'XTZUSD4', 'XTZBUSD', 'HBARUSD4', 'HBARBUSD', 'OMGUSD4', 'OMGBUSD', 'MATICUSD4', 'MATICBUSD', 'XTZBTC', 'ADABTC', 'REPBUSD', 'REPUSD', 'EOSBUSD', 'EOSUSD4', 'DOGEUSD4', 'KNCUSD4', 'KNCUSDT', 'VTHOUSDT', 'VTHOUSD4', 'USDCUSD4', 'COMPUSDT', 'COMPUSD4', 'MANAUSD4', 'HNTUSD4', 'HNTUSDT', 'MKRUSD4', 'MKRUSDT', 'DAIUSD4', 'ONEUSDT', 'ONEUSD4', 'BANDUSDT', 'BANDUSD4', 'STORJUSDT', 'STORJUSD4', 'BUSDUSDT', 'UNIUSD4', 'UNIUSDT', 'SOLUSD4', 'SOLUSDT', 'LINKBTC', 'VETBTC', 'UNIBTC', 'EGLDUSDT', 'EGLDUSD4', 'PAXGUSDT', 'PAXGUSD4', 'OXTUSDT', 'OXTUSD4', 'ZENUSDT', 'ZENUSD4', 'BTCUSDC', 'ONEBUSD', 'FILUSDT', 'FILUSD4', 'AAVEUSDT', 'AAVEUSD4', 'GRTUSDT', 'GRTUSD4', 'SUSHIUSD4', 'ANKRUSD4', 'AMPUSD', 'SHIBUSDT', 'SHIBBUSD', 'CRVUSDT', 'CRVUSD4', 'AXSUSDT', 'AXSUSD4', 'SOLBTC', 'AVAXUSDT', 'AVAXUSD4', 'CTSIUSDT', 'CTSIUSD4', 'DOTUSDT', 'DOTUSD4', 'YFIUSDT', 'YFIUSD4', '1INCHUSDT', '1INCHUSD4', 'FTMUSDT', 'FTMUSD4', 'USDCUSDT', 'ETHUSDC', 'USDCBUSD', 'MATICUSDT', 'MANAUSDT', 'MANABUSD', 'ALGOUSDT', 'ADABUSD', 'SOLBUSD', 'LINKUSDT', 'EOSUSDT', 'ZECUSDT', 'ENJUSDT', 'NEARUSDT', 'NEARBUSD', 'NEARUSD4', 'OMGUSDT', 'SUSHIUSDT', 'LRCUSDT', 'LRCUSD4', 'LRCBTC', 'KSHIBUSD4', 'LPTUSDT', 'LPTBUSD', 'LPTUSD4', 'POLYUSDT', 'POLYBUSD', 'POLYUSD', 'POLYBTC', 'MATICBTC', 'DOTBTC', 'NMRUSDT', 'NMRUSD4', 'SLPUSDT', 'SLPUSD4', 'ANTUSDT', 'ANTUSD4', 'XNOUSD4', 'CHZUSDT', 'CHZUSD4', 'OGNUSDT', 'OGNUSD4', 'GALAUSDT', 'GALAUSD4', 'TLMUSDT', 'TLMUSD4', 'SNXUSDT', 'SNXUSD4', 'AUDIOUSDT', 'AUDIOUSD4', 'ENSUSDT', 'MANABTC', 'ATOMBTC', 'AVAXBTC', 'WBTCBTC', 'REQUSDT', 'REQUSD4', 'APEUSDT', 'APEUSD4', 'FLUXUSDT', 'FLUXUSD4', 'TRXBTC', 'TRXBUSD', 'TRXUSDT', 'TRXUSD4', 'COTIUSDT', 'COTIUSD4', 'VOXELUSDT', 'VOXELUSD4', 'RLCUSDT', 'RLCUSD4', 'USTUSDT', 'USTUSD', 'BICOUSDT', 'BICOUSD4', 'API3USDT', 'API3USD4', 'ENSUSD4', 'BTCUST', 'BNTUSDT', 'BNTUSD4', 'IMXUSDT', 'IMXUSD4', 'SPELLUSDT', 'SPELLUSD4', 'JASMYUSDT', 'JASMYUSD4', 'FLOWUSDT', 'FLOWUSD4', 'GTCUSDT', 'GTCUSD4', 'THETAUSDT', 'THETAUSD4', 'TFUELUSDT', 'TFUELUSD4', 'OCEANUSDT', 'OCEANUSD4', 'LAZIOUSDT', 'LAZIOUSD4', 'SANTOSUSDT', 'SANTOSUSD4', 'ALPINEUSDT', 'ALPINEUSD4', 'PORTOUSDT', 'PORTOUSD4', 'RENUSDT', 'RENUSD4', 'CELRUSDT', 'CELRUSD4', 'SKLUSDT', 'SKLUSD4', 'VITEUSDT', 'VITEUSD4', 'WAXPUSDT', 'WAXPUSD4', 'LTOUSDT', 'LTOUSD4', 'FETUSDT', 'FETUSD4', 'BONDUSDT', 'BONDUSD4', 'LOKAUSDT', 'LOKAUSD4', 'ICPUSDT', 'ICPUSD4', 'TUSDT', 'TUSD4', 'OPUSDT', 'OPUSD4', 'ROSEUSDT', 'ROSEUSD4', 'CELOUSDT', 'CELOUSD4', 'KDAUSDT', 'KDAUSD4', 'KSMUSDT', 'KSMUSD4', 'ACHUSDT', 'ACHUSD4', 'DARUSDT', 'DARUSD4', 'RNDRUSDT', 'RNDRUSD4', 'SYSUSDT', 'SYSUSD4', 'RADUSDT', 'RADUSD4', 'ILVUSDT', 'ILVUSD4', 'LDOUSDT', 'LDOUSD4', 'RAREUSDT', 'RAREUSD4', 'LSKUSDT', 'LSKUSD4', 'DGBUSDT', 'DGBUSD4', 'REEFUSDT', 'REEFUSD4', 'SRMUSDT', 'SRMUSD', 'ALICEUSDT', 'ALICEUSD4', 'FORTHUSDT', 'FORTHUSD4', 'ASTRUSDT', 'ASTRUSD4', 'BTRSTUSDT', 'BTRSTUSD4', 'GALUSDT', 'GALUSD4', 'SANDUSDT', 'SANDUSD4', 'BALUSDT', 'BALUSD4', 'POLYXUSD4', 'GLMUSDT', 'GLMUSD4', 'CLVUSDT', 'CLVUSD4', 'TUSDUSDT', 'TUSDUSD4', 'QNTUSDT', 'QNTUSD4', 'STGUSDT', 'STGUSD4', 'AXLUSDT', 'AXLUSD4', 'KAVAUSDT', 'KAVAUSD4', 'APTUSDT', 'APTUSD4', 'MASKUSDT', 'MASKUSD4', 'BOSONUSDT', 'BOSONUSD4', 'PONDUSDT', 'PONDUSD4', 'SOLUSDC', 'ADAUSDC', 'MXCUSDT', 'MXCUSD4', 'JAMUSDT', 'JAMUSD4', 'TRACUSDT', 'PROMUSDT', 'PROMUSD4', 'DIAUSDT', 'DIAUSD4', 'BTCDAI', 'ETHDAI', 'ADAETH', 'DOGEBTC', 'LOOMUSDT', 'LOOMUSD4', 'STMXUSDT', 'BTCUSD', 'ETHUSD', 'BCHUSD', 'LTCUSD', 'USDTUSD', 'BNBUSD', 'ADAUSD', 'BATUSD', 'ETCUSD', 'XLMUSD', 'ZRXUSD', 'LINKUSD', 'RVNUSD', 'DASHUSD', 'ZECUSD', 'ALGOUSD', 'IOTAUSD', 'BUSDUSD', 'WAVESUSD', 'ATOMUSD', 'NEOUSD', 'QTUMUSD', 'ICXUSD', 'ENJUSD', 'ONTUSD', 'ZILUSD', 'VETUSD', 'XTZUSD', 'HBARUSD', 'OMGUSD', 'MATICUSD', 'EOSUSD', 'DOGEUSD', 'KNCUSD', 'VTHOUSD', 'USDCUSD', 'COMPUSD', 'MANAUSD', 'HNTUSD', 'MKRUSD', 'DAIUSD', 'ONEUSD', 'BANDUSD', 'STORJUSD', 'UNIUSD', 'SOLUSD', 'EGLDUSD', 'PAXGUSD', 'OXTUSD', 'ZENUSD', 'FILUSD', 'AAVEUSD', 'GRTUSD', 'SUSHIUSD', 'ANKRUSD', 'CRVUSD', 'AXSUSD', 'AVAXUSD', 'CTSIUSD', 'DOTUSD', 'YFIUSD', '1INCHUSD', 'FTMUSD', 'NEARUSD', 'LRCUSD', 'KSHIBUSD', 'LPTUSD', 'NMRUSD', 'SLPUSD', 'ANTUSD', 'XNOUSD', 'CHZUSD', 'OGNUSD', 'GALAUSD', 'TLMUSD', 'SNXUSD', 'AUDIOUSD', 'REQUSD', 'APEUSD', 'FLUXUSD', 'TRXUSD', 'COTIUSD', 'VOXELUSD', 'RLCUSD', 'BICOUSD', 'API3USD', 'ENSUSD', 'BNTUSD', 'IMXUSD', 'SPELLUSD', 'JASMYUSD', 'FLOWUSD', 'GTCUSD', 'THETAUSD', 'TFUELUSD', 'OCEANUSD', 'LAZIOUSD', 'SANTOSUSD', 'ALPINEUSD', 'PORTOUSD', 'RENUSD', 'CELRUSD', 'SKLUSD', 'VITEUSD', 'WAXPUSD', 'LTOUSD', 'FETUSD', 'BONDUSD', 'LOKAUSD', 'ICPUSD', 'TUSD', 'OPUSD', 'ROSEUSD', 'CELOUSD', 'KDAUSD', 'KSMUSD', 'ACHUSD', 'DARUSD', 'RNDRUSD', 'SYSUSD', 'RADUSD', 'ILVUSD', 'LDOUSD', 'RAREUSD', 'LSKUSD', 'DGBUSD', 'REEFUSD', 'ALICEUSD', 'FORTHUSD', 'ASTRUSD', 'BTRSTUSD', 'GALUSD', 'SANDUSD', 'BALUSD', 'POLYXUSD', 'GLMUSD', 'CLVUSD', 'TUSDUSD', 'QNTUSD', 'STGUSD', 'AXLUSD', 'KAVAUSD', 'APTUSD', 'MASKUSD', 'BOSONUSD', 'PONDUSD', 'MXCUSD', 'JAMUSD', 'PROMUSD', 'DIAUSD', 'LOOMUSD', 'STMXUSD', 'SHIBUSD', 'TRACUSD', 'POLYXUSDT', 'IOSTUSDT', 'IOSTUSD', 'MATICETH', 'SOLETH', 'FLOKI8USDT', 'FLOKI8USD', 'ARBUSDT', 'ARBUSD', 'FLOKIUSDT', 'FLOKIUSD', 'XECUSDT', 'XECUSD', 'BLURUSDT', 'BLURUSD', 'ANKRUSDT', 'DAIUSDT', 'DASHUSDT', 'HBARUSDT', 'ICXUSDT', 'IOTAUSDT', 'RVNUSDT', 'WAVESUSDT', 'XNOUSDT', 'XTZUSDT', 'ZILUSDT', 'ORBSUSDT', 'CUDOSUSDT', 'ADXUSDT', 'FORTUSDT', 'SUIUSDT', 'ONGUSDT', 'GUSDT', 'RENDERUSDT', 'BONKUSDT', 'MAGICUSDT']\n" ] } ], "source": [ "# Collect tickers available through Binance API\n", "client = bnb_client(tld='US') # if you're in the US, please use: client=bnb_client(tld='US')'\n", "exchange_info = client.get_exchange_info()\n", "\n", "symbols = [i['symbol'] for i in exchange_info['symbols']]\n", "print(symbols)" ] }, { "cell_type": "code", "execution_count": 5, "id": "a5ef5f5b-3ae1-4e83-a136-98df4dd233d4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['BTCUSDT', 'ETHUSDT', 'XRPUSDT', 'BCHUSDT', 'LTCUSDT', 'BNBUSDT', 'ADAUSDT', 'BATUSDT', 'ETCUSDT', 'XLMUSDT', 'ZRXUSDT', 'DOGEUSDT', 'ATOMUSDT', 'NEOUSDT', 'VETUSDT', 'QTUMUSDT', 'ONTUSDT', 'KNCUSDT', 'VTHOUSDT', 'COMPUSDT', 'HNTUSDT', 'MKRUSDT', 'ONEUSDT', 'BANDUSDT', 'STORJUSDT', 'BUSDUSDT', 'UNIUSDT', 'SOLUSDT', 'EGLDUSDT', 'PAXGUSDT', 'OXTUSDT', 'ZENUSDT', 'FILUSDT', 'AAVEUSDT', 'GRTUSDT', 'SHIBUSDT', 'CRVUSDT', 'AXSUSDT', 'AVAXUSDT', 'CTSIUSDT', 'DOTUSDT', 'YFIUSDT', '1INCHUSDT', 'FTMUSDT', 'USDCUSDT', 'MATICUSDT', 'MANAUSDT', 'ALGOUSDT', 'LINKUSDT', 'EOSUSDT', 'ZECUSDT', 'ENJUSDT', 'NEARUSDT', 'OMGUSDT', 'SUSHIUSDT', 'LRCUSDT', 'LPTUSDT', 'POLYUSDT', 'NMRUSDT', 'SLPUSDT', 'ANTUSDT', 'CHZUSDT', 'OGNUSDT', 'GALAUSDT', 'TLMUSDT', 'SNXUSDT', 'AUDIOUSDT', 'ENSUSDT', 'REQUSDT', 'APEUSDT', 'FLUXUSDT', 'TRXUSDT', 'COTIUSDT', 'VOXELUSDT', 'RLCUSDT', 'USTUSDT', 'BICOUSDT', 'API3USDT', 'BNTUSDT', 'IMXUSDT', 'SPELLUSDT', 'JASMYUSDT', 'FLOWUSDT', 'GTCUSDT', 'THETAUSDT', 'TFUELUSDT', 'OCEANUSDT', 'LAZIOUSDT', 'SANTOSUSDT', 'ALPINEUSDT', 'PORTOUSDT', 'RENUSDT', 'CELRUSDT', 'SKLUSDT', 'VITEUSDT', 'WAXPUSDT', 'LTOUSDT', 'FETUSDT', 'BONDUSDT', 'LOKAUSDT', 'ICPUSDT', 'TUSDT', 'OPUSDT', 'ROSEUSDT', 'CELOUSDT', 'KDAUSDT', 'KSMUSDT', 'ACHUSDT', 'DARUSDT', 'RNDRUSDT', 'SYSUSDT', 'RADUSDT', 'ILVUSDT', 'LDOUSDT', 'RAREUSDT', 'LSKUSDT', 'DGBUSDT', 'REEFUSDT', 'SRMUSDT', 'ALICEUSDT', 'FORTHUSDT', 'ASTRUSDT', 'BTRSTUSDT', 'GALUSDT', 'SANDUSDT', 'BALUSDT', 'GLMUSDT', 'CLVUSDT', 'TUSDUSDT', 'QNTUSDT', 'STGUSDT', 'AXLUSDT', 'KAVAUSDT', 'APTUSDT', 'MASKUSDT', 'BOSONUSDT', 'PONDUSDT', 'MXCUSDT', 'JAMUSDT', 'TRACUSDT', 'PROMUSDT', 'DIAUSDT', 'LOOMUSDT', 'STMXUSDT', 'POLYXUSDT', 'IOSTUSDT', 'FLOKI8USDT', 'ARBUSDT', 'FLOKIUSDT', 'XECUSDT', 'BLURUSDT', 'ANKRUSDT', 'DAIUSDT', 'DASHUSDT', 'HBARUSDT', 'ICXUSDT', 'IOTAUSDT', 'RVNUSDT', 'WAVESUSDT', 'XNOUSDT', 'XTZUSDT', 'ZILUSDT', 'ORBSUSDT', 'CUDOSUSDT', 'ADXUSDT', 'FORTUSDT', 'SUIUSDT', 'ONGUSDT', 'GUSDT', 'RENDERUSDT', 'BONKUSDT', 'MAGICUSDT']\n", "172 pairs\n" ] } ], "source": [ "# Filter for just the Crypto - USDT pairs\n", "univ = [symbol for symbol in symbols if symbol.endswith('USDT')]\n", "print(univ)\n", "print(str(len(univ)) + \" pairs\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "5f8f3b78-7c81-4d55-9ee5-0df825a52701", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | BTCUSDT | \n", "ETHUSDT | \n", "XRPUSDT | \n", "BCHUSDT | \n", "LTCUSDT | \n", "BNBUSDT | \n", "ADAUSDT | \n", "BATUSDT | \n", "ETCUSDT | \n", "XLMUSDT | \n", "... | \n", "ORBSUSDT | \n", "CUDOSUSDT | \n", "ADXUSDT | \n", "FORTUSDT | \n", "SUIUSDT | \n", "ONGUSDT | \n", "GUSDT | \n", "RENDERUSDT | \n", "BONKUSDT | \n", "MAGICUSDT | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2019-09-23 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-24 | \n", "-0.142038 | \n", "-0.202625 | \n", "-0.148182 | \n", "-0.279268 | \n", "-0.216227 | \n", "-0.201381 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-25 | \n", "-0.009905 | \n", "0.017416 | \n", "0.057557 | \n", "0.022830 | \n", "-0.002948 | \n", "0.011949 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-26 | \n", "-0.043967 | \n", "-0.019471 | \n", "-0.012275 | \n", "-0.047116 | \n", "-0.039652 | \n", "-0.052480 | \n", "-0.028462 | \n", "-0.061849 | \n", "-0.068501 | \n", "0.023398 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-27 | \n", "0.014176 | \n", "0.041994 | \n", "-0.008600 | \n", "0.022404 | \n", "0.006519 | \n", "0.025075 | \n", "0.032990 | \n", "0.079634 | \n", "0.000612 | \n", "-0.022522 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-09-27 | \n", "0.011284 | \n", "0.023668 | \n", "-0.000510 | \n", "0.027444 | \n", "0.039264 | \n", "0.017770 | \n", "0.001497 | \n", "-0.002568 | \n", "0.031683 | \n", "0.006122 | \n", "... | \n", "0.016841 | \n", "-0.004863 | \n", "0.054264 | \n", "0.031426 | \n", "0.005435 | \n", "0.078882 | \n", "0.044895 | \n", "0.062371 | \n", "NaN | \n", "NaN | \n", "
| 2024-09-28 | \n", "0.001861 | \n", "-0.007199 | \n", "0.043338 | \n", "-0.018920 | \n", "-0.017416 | \n", "-0.011860 | \n", "-0.002990 | \n", "-0.009784 | \n", "-0.016315 | \n", "0.010142 | \n", "... | \n", "-0.014722 | \n", "-0.172368 | \n", "0.000000 | \n", "-0.001563 | \n", "0.017058 | \n", "-0.099885 | \n", "-0.018168 | \n", "-0.024350 | \n", "NaN | \n", "NaN | \n", "
| 2024-09-29 | \n", "-0.003603 | \n", "-0.006664 | \n", "0.044958 | \n", "-0.003403 | \n", "-0.008290 | \n", "-0.007001 | \n", "-0.009495 | \n", "-0.011440 | \n", "-0.012683 | \n", "0.020080 | \n", "... | \n", "0.016810 | \n", "0.163318 | \n", "-0.000613 | \n", "0.017214 | \n", "0.038328 | \n", "0.053086 | \n", "-0.005001 | \n", "0.023886 | \n", "NaN | \n", "NaN | \n", "
| 2024-09-30 | \n", "-0.036221 | \n", "-0.020766 | \n", "-0.046298 | \n", "-0.046670 | \n", "-0.037187 | \n", "-0.051704 | \n", "-0.058527 | \n", "-0.064703 | \n", "-0.042490 | \n", "-0.031496 | \n", "... | \n", "-0.020206 | \n", "-0.001228 | \n", "0.000000 | \n", "-0.020000 | \n", "0.018144 | \n", "-0.099605 | \n", "-0.067856 | \n", "-0.034844 | \n", "NaN | \n", "NaN | \n", "
| 2024-10-01 | \n", "-0.036221 | \n", "-0.057193 | \n", "-0.023864 | \n", "-0.024478 | \n", "-0.048952 | \n", "-0.029740 | \n", "-0.054930 | \n", "-0.055118 | \n", "-0.060888 | \n", "-0.047764 | \n", "... | \n", "0.140607 | \n", "0.000000 | \n", "-0.107909 | \n", "-0.037677 | \n", "-0.005642 | \n", "-0.055649 | \n", "-0.068752 | \n", "-0.103967 | \n", "NaN | \n", "NaN | \n", "
1836 rows × 172 columns
\n", "| \n", " | ETHUSDT | \n", "XRPUSDT | \n", "BCHUSDT | \n", "LTCUSDT | \n", "BNBUSDT | \n", "ADAUSDT | \n", "BATUSDT | \n", "ETCUSDT | \n", "XLMUSDT | \n", "ZRXUSDT | \n", "... | \n", "ORBSUSDT | \n", "CUDOSUSDT | \n", "ADXUSDT | \n", "FORTUSDT | \n", "SUIUSDT | \n", "ONGUSDT | \n", "GUSDT | \n", "RENDERUSDT | \n", "BONKUSDT | \n", "MAGICUSDT | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2019-09-23 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-24 | \n", "-0.202625 | \n", "-0.148182 | \n", "-0.279268 | \n", "-0.216227 | \n", "-0.201381 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-25 | \n", "0.017416 | \n", "0.057557 | \n", "0.022830 | \n", "-0.002948 | \n", "0.011949 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-26 | \n", "-0.019471 | \n", "-0.012275 | \n", "-0.047116 | \n", "-0.039652 | \n", "-0.052480 | \n", "-0.028462 | \n", "-0.061849 | \n", "-0.068501 | \n", "0.023398 | \n", "0.038059 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-27 | \n", "0.041994 | \n", "-0.008600 | \n", "0.022404 | \n", "0.006519 | \n", "0.025075 | \n", "0.032990 | \n", "0.079634 | \n", "0.000612 | \n", "-0.022522 | \n", "-0.022915 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-09-27 | \n", "0.023668 | \n", "-0.000510 | \n", "0.027444 | \n", "0.039264 | \n", "0.017770 | \n", "0.001497 | \n", "-0.002568 | \n", "0.031683 | \n", "0.006122 | \n", "0.046755 | \n", "... | \n", "0.016841 | \n", "-0.004863 | \n", "0.054264 | \n", "0.031426 | \n", "0.005435 | \n", "0.078882 | \n", "0.044895 | \n", "0.062371 | \n", "NaN | \n", "NaN | \n", "
| 2024-09-28 | \n", "-0.007199 | \n", "0.043338 | \n", "-0.018920 | \n", "-0.017416 | \n", "-0.011860 | \n", "-0.002990 | \n", "-0.009784 | \n", "-0.016315 | \n", "0.010142 | \n", "-0.038170 | \n", "... | \n", "-0.014722 | \n", "-0.172368 | \n", "0.000000 | \n", "-0.001563 | \n", "0.017058 | \n", "-0.099885 | \n", "-0.018168 | \n", "-0.024350 | \n", "NaN | \n", "NaN | \n", "
| 2024-09-29 | \n", "-0.006664 | \n", "0.044958 | \n", "-0.003403 | \n", "-0.008290 | \n", "-0.007001 | \n", "-0.009495 | \n", "-0.011440 | \n", "-0.012683 | \n", "0.020080 | \n", "0.019702 | \n", "... | \n", "0.016810 | \n", "0.163318 | \n", "-0.000613 | \n", "0.017214 | \n", "0.038328 | \n", "0.053086 | \n", "-0.005001 | \n", "0.023886 | \n", "NaN | \n", "NaN | \n", "
| 2024-09-30 | \n", "-0.020766 | \n", "-0.046298 | \n", "-0.046670 | \n", "-0.037187 | \n", "-0.051704 | \n", "-0.058527 | \n", "-0.064703 | \n", "-0.042490 | \n", "-0.031496 | \n", "-0.079492 | \n", "... | \n", "-0.020206 | \n", "-0.001228 | \n", "0.000000 | \n", "-0.020000 | \n", "0.018144 | \n", "-0.099605 | \n", "-0.067856 | \n", "-0.034844 | \n", "NaN | \n", "NaN | \n", "
| 2024-10-01 | \n", "-0.057193 | \n", "-0.023864 | \n", "-0.024478 | \n", "-0.048952 | \n", "-0.029740 | \n", "-0.054930 | \n", "-0.055118 | \n", "-0.060888 | \n", "-0.047764 | \n", "-0.089655 | \n", "... | \n", "0.140607 | \n", "0.000000 | \n", "-0.107909 | \n", "-0.037677 | \n", "-0.005642 | \n", "-0.055649 | \n", "-0.068752 | \n", "-0.103967 | \n", "NaN | \n", "NaN | \n", "
1836 rows × 171 columns
\n", "| \n", " | ETHUSDT | \n", "XRPUSDT | \n", "BCHUSDT | \n", "LTCUSDT | \n", "BNBUSDT | \n", "ADAUSDT | \n", "BATUSDT | \n", "ETCUSDT | \n", "XLMUSDT | \n", "ZRXUSDT | \n", "... | \n", "XTZUSDT | \n", "ZILUSDT | \n", "ORBSUSDT | \n", "CUDOSUSDT | \n", "ADXUSDT | \n", "FORTUSDT | \n", "SUIUSDT | \n", "ONGUSDT | \n", "GUSDT | \n", "RENDERUSDT | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2019-09-23 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-24 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-25 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-26 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-27 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-09-27 | \n", "0.014295 | \n", "-0.006401 | \n", "0.018907 | \n", "0.032027 | \n", "0.009232 | \n", "-0.006988 | \n", "-0.010506 | \n", "0.023551 | \n", "-0.000462 | \n", "0.038851 | \n", "... | \n", "0.017006 | \n", "0.043025 | \n", "0.012325 | \n", "-0.009284 | \n", "0.051553 | \n", "0.029449 | \n", "-0.001839 | \n", "0.075339 | \n", "0.035873 | \n", "0.054847 | \n", "
| 2024-09-28 | \n", "-0.008742 | \n", "0.042373 | \n", "-0.020326 | \n", "-0.018605 | \n", "-0.013266 | \n", "-0.004386 | \n", "-0.011091 | \n", "-0.017652 | \n", "0.009061 | \n", "-0.039468 | \n", "... | \n", "-0.021414 | \n", "-0.039687 | \n", "-0.015459 | \n", "-0.173067 | \n", "-0.000436 | \n", "-0.001883 | \n", "0.015854 | \n", "-0.100460 | \n", "-0.019651 | \n", "-0.025585 | \n", "
| 2024-09-29 | \n", "-0.003688 | \n", "0.046793 | \n", "-0.000651 | \n", "-0.005794 | \n", "-0.004292 | \n", "-0.006811 | \n", "-0.008940 | \n", "-0.010122 | \n", "0.022130 | \n", "0.022185 | \n", "... | \n", "0.013672 | \n", "0.010624 | \n", "0.018195 | \n", "0.164577 | \n", "0.000214 | \n", "0.017788 | \n", "0.040630 | \n", "0.054202 | \n", "-0.002130 | \n", "0.026264 | \n", "
| 2024-09-30 | \n", "0.009118 | \n", "-0.027610 | \n", "-0.018551 | \n", "-0.011375 | \n", "-0.024361 | \n", "-0.031376 | \n", "-0.039429 | \n", "-0.016657 | \n", "-0.010707 | \n", "-0.054327 | \n", "... | \n", "-0.027843 | \n", "-0.070374 | \n", "-0.006243 | \n", "0.011349 | \n", "0.008225 | \n", "-0.014155 | \n", "0.041161 | \n", "-0.088211 | \n", "-0.038440 | \n", "-0.010687 | \n", "
| 2024-10-01 | \n", "-0.027131 | \n", "-0.005217 | \n", "0.003682 | \n", "-0.022891 | \n", "-0.002431 | \n", "-0.027703 | \n", "-0.029729 | \n", "-0.035060 | \n", "-0.026814 | \n", "-0.064473 | \n", "... | \n", "-0.026945 | \n", "-0.050952 | \n", "0.153290 | \n", "0.012330 | \n", "-0.099698 | \n", "-0.031697 | \n", "0.017319 | \n", "-0.044081 | \n", "-0.038884 | \n", "-0.078906 | \n", "
1836 rows × 169 columns
\n", "| \n", " | Return_momentum | \n", "Return_mean_reversion | \n", "Combined_Return | \n", "
|---|---|---|---|
| 2019-09-23 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "
| 2019-09-24 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "
| 2019-09-25 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "
| 2019-09-26 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "
| 2019-09-27 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-09-27 | \n", "0.004274 | \n", "-0.000428 | \n", "0.001923 | \n", "
| 2024-09-28 | \n", "-0.019052 | \n", "0.005163 | \n", "-0.006944 | \n", "
| 2024-09-29 | \n", "0.010533 | \n", "0.005846 | \n", "0.008189 | \n", "
| 2024-09-30 | \n", "-0.043668 | \n", "-0.001917 | \n", "-0.022792 | \n", "
| 2024-10-01 | \n", "-0.065352 | \n", "-0.014528 | \n", "-0.039940 | \n", "
1836 rows × 3 columns
\n", "| \n", " | BTCUSDT | \n", "ETHUSDT | \n", "ADAUSDT | \n", "BNBUSDT | \n", "XRPUSDT | \n", "DOTUSDT | \n", "MATICUSDT | \n", "
|---|---|---|---|---|---|---|---|
| 2019-09-23 08:00:00 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2019-09-23 12:00:00 | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "NaN | \n", "
| 2019-09-23 16:00:00 | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "NaN | \n", "
| 2019-09-23 20:00:00 | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "NaN | \n", "
| 2019-09-24 00:00:00 | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "0.000000 | \n", "0.000000 | \n", "NaN | \n", "NaN | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-08-31 08:00:00 | \n", "-0.001016 | \n", "0.001610 | \n", "0.000574 | \n", "-0.001495 | \n", "0.003705 | \n", "-0.000932 | \n", "-0.003298 | \n", "
| 2024-08-31 12:00:00 | \n", "-0.001008 | \n", "-0.002875 | \n", "-0.000287 | \n", "-0.001123 | \n", "-0.005098 | \n", "-0.005361 | \n", "-0.002127 | \n", "
| 2024-08-31 16:00:00 | \n", "-0.003572 | \n", "-0.008049 | \n", "-0.004878 | \n", "-0.003373 | \n", "0.002297 | \n", "-0.007734 | \n", "-0.011843 | \n", "
| 2024-08-31 20:00:00 | \n", "0.002695 | \n", "0.006041 | \n", "-0.006344 | \n", "-0.000752 | \n", "-0.002115 | \n", "0.004015 | \n", "0.005034 | \n", "
| 2024-09-01 00:00:00 | \n", "-0.007274 | \n", "-0.009725 | \n", "0.000290 | \n", "-0.013358 | \n", "-0.009186 | \n", "-0.008469 | \n", "-0.011686 | \n", "
10829 rows × 7 columns
\n", "