cryptodatapy 0.2.8__py3-none-any.whl → 0.2.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2819 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": 1,
6
- "id": "9fea9fae",
7
- "metadata": {},
8
- "outputs": [
9
- {
10
- "name": "stderr",
11
- "output_type": "stream",
12
- "text": [
13
- "fatal: bad revision 'HEAD'\n",
14
- "Importing plotly failed. Interactive plots will not work.\n"
15
- ]
16
- }
17
- ],
18
- "source": [
19
- "import pandas as pd\n",
20
- "import numpy as np\n",
21
- "\n",
22
- "from cryptodatapy.extract.datarequest import DataRequest\n",
23
- "from cryptodatapy.extract.getdata import GetData\n",
24
- "from cryptodatapy.transform.od import OutlierDetection\n",
25
- "from cryptodatapy.transform.impute import Impute\n",
26
- "from cryptodatapy.transform.filter import Filter\n",
27
- "from cryptodatapy.transform.clean import CleanData, stitch_dataframes\n",
28
- "from cryptodatapy.transform.impute import Impute"
29
- ]
30
- },
31
- {
32
- "cell_type": "code",
33
- "execution_count": 2,
34
- "id": "3cbdeffc",
35
- "metadata": {},
36
- "outputs": [],
37
- "source": [
38
- "# get all Binance perp futures tickers\n",
39
- "data_req = DataRequest(source='ccxt')\n",
40
- "perp_tickers = GetData(data_req).get_meta(method='get_markets_info', exch='binanceusdm', as_list=True)"
41
- ]
42
- },
43
- {
44
- "cell_type": "code",
45
- "execution_count": 3,
46
- "id": "3d084cf7",
47
- "metadata": {},
48
- "outputs": [
49
- {
50
- "data": {
51
- "text/plain": [
52
- "341"
53
- ]
54
- },
55
- "execution_count": 3,
56
- "metadata": {},
57
- "output_type": "execute_result"
58
- }
59
- ],
60
- "source": [
61
- "len(perp_tickers)"
62
- ]
63
- },
64
- {
65
- "cell_type": "code",
66
- "execution_count": 4,
67
- "id": "27b6ed3c",
68
- "metadata": {},
69
- "outputs": [
70
- {
71
- "data": {
72
- "text/plain": [
73
- "['BTC/USDT:USDT',\n",
74
- " 'ETH/USDT:USDT',\n",
75
- " 'BCH/USDT:USDT',\n",
76
- " 'XRP/USDT:USDT',\n",
77
- " 'EOS/USDT:USDT',\n",
78
- " 'LTC/USDT:USDT',\n",
79
- " 'TRX/USDT:USDT',\n",
80
- " 'ETC/USDT:USDT',\n",
81
- " 'LINK/USDT:USDT',\n",
82
- " 'XLM/USDT:USDT',\n",
83
- " 'ADA/USDT:USDT',\n",
84
- " 'XMR/USDT:USDT',\n",
85
- " 'DASH/USDT:USDT',\n",
86
- " 'ZEC/USDT:USDT',\n",
87
- " 'XTZ/USDT:USDT',\n",
88
- " 'BNB/USDT:USDT',\n",
89
- " 'ATOM/USDT:USDT',\n",
90
- " 'ONT/USDT:USDT',\n",
91
- " 'IOTA/USDT:USDT',\n",
92
- " 'BAT/USDT:USDT',\n",
93
- " 'VET/USDT:USDT',\n",
94
- " 'NEO/USDT:USDT',\n",
95
- " 'QTUM/USDT:USDT',\n",
96
- " 'IOST/USDT:USDT',\n",
97
- " 'THETA/USDT:USDT',\n",
98
- " 'ALGO/USDT:USDT',\n",
99
- " 'ZIL/USDT:USDT',\n",
100
- " 'KNC/USDT:USDT',\n",
101
- " 'ZRX/USDT:USDT',\n",
102
- " 'COMP/USDT:USDT',\n",
103
- " 'OMG/USDT:USDT',\n",
104
- " 'DOGE/USDT:USDT',\n",
105
- " 'SXP/USDT:USDT',\n",
106
- " 'KAVA/USDT:USDT',\n",
107
- " 'BAND/USDT:USDT',\n",
108
- " 'RLC/USDT:USDT',\n",
109
- " 'WAVES/USDT:USDT',\n",
110
- " 'MKR/USDT:USDT',\n",
111
- " 'SNX/USDT:USDT',\n",
112
- " 'DOT/USDT:USDT',\n",
113
- " 'DEFI/USDT:USDT',\n",
114
- " 'YFI/USDT:USDT',\n",
115
- " 'BAL/USDT:USDT',\n",
116
- " 'CRV/USDT:USDT',\n",
117
- " 'TRB/USDT:USDT',\n",
118
- " 'RUNE/USDT:USDT',\n",
119
- " 'SUSHI/USDT:USDT',\n",
120
- " 'EGLD/USDT:USDT',\n",
121
- " 'SOL/USDT:USDT',\n",
122
- " 'ICX/USDT:USDT',\n",
123
- " 'STORJ/USDT:USDT',\n",
124
- " 'BLZ/USDT:USDT',\n",
125
- " 'UNI/USDT:USDT',\n",
126
- " 'AVAX/USDT:USDT',\n",
127
- " 'FTM/USDT:USDT',\n",
128
- " 'ENJ/USDT:USDT',\n",
129
- " 'FLM/USDT:USDT',\n",
130
- " 'REN/USDT:USDT',\n",
131
- " 'KSM/USDT:USDT',\n",
132
- " 'NEAR/USDT:USDT',\n",
133
- " 'AAVE/USDT:USDT',\n",
134
- " 'FIL/USDT:USDT',\n",
135
- " 'RSR/USDT:USDT',\n",
136
- " 'LRC/USDT:USDT',\n",
137
- " 'OCEAN/USDT:USDT',\n",
138
- " 'CVC/USDT:USDT',\n",
139
- " 'BEL/USDT:USDT',\n",
140
- " 'CTK/USDT:USDT',\n",
141
- " 'AXS/USDT:USDT',\n",
142
- " 'ALPHA/USDT:USDT',\n",
143
- " 'ZEN/USDT:USDT',\n",
144
- " 'SKL/USDT:USDT',\n",
145
- " 'GRT/USDT:USDT',\n",
146
- " '1INCH/USDT:USDT',\n",
147
- " 'CHZ/USDT:USDT',\n",
148
- " 'SAND/USDT:USDT',\n",
149
- " 'ANKR/USDT:USDT',\n",
150
- " 'LIT/USDT:USDT',\n",
151
- " 'UNFI/USDT:USDT',\n",
152
- " 'REEF/USDT:USDT',\n",
153
- " 'RVN/USDT:USDT',\n",
154
- " 'SFP/USDT:USDT',\n",
155
- " 'XEM/USDT:USDT',\n",
156
- " 'BTCST/USDT:USDT',\n",
157
- " 'COTI/USDT:USDT',\n",
158
- " 'CHR/USDT:USDT',\n",
159
- " 'MANA/USDT:USDT',\n",
160
- " 'ALICE/USDT:USDT',\n",
161
- " 'HBAR/USDT:USDT',\n",
162
- " 'ONE/USDT:USDT',\n",
163
- " 'LINA/USDT:USDT',\n",
164
- " 'STMX/USDT:USDT',\n",
165
- " 'DENT/USDT:USDT',\n",
166
- " 'CELR/USDT:USDT',\n",
167
- " 'HOT/USDT:USDT',\n",
168
- " 'MTL/USDT:USDT',\n",
169
- " 'OGN/USDT:USDT',\n",
170
- " 'NKN/USDT:USDT',\n",
171
- " 'SC/USDT:USDT',\n",
172
- " 'DGB/USDT:USDT',\n",
173
- " '1000SHIB/USDT:USDT',\n",
174
- " 'BAKE/USDT:USDT',\n",
175
- " 'GTC/USDT:USDT',\n",
176
- " 'BTCDOM/USDT:USDT',\n",
177
- " 'IOTX/USDT:USDT',\n",
178
- " 'RAY/USDT:USDT',\n",
179
- " 'C98/USDT:USDT',\n",
180
- " 'MASK/USDT:USDT',\n",
181
- " 'ATA/USDT:USDT',\n",
182
- " 'DYDX/USDT:USDT',\n",
183
- " '1000XEC/USDT:USDT',\n",
184
- " 'GALA/USDT:USDT',\n",
185
- " 'CELO/USDT:USDT',\n",
186
- " 'AR/USDT:USDT',\n",
187
- " 'KLAY/USDT:USDT',\n",
188
- " 'ARPA/USDT:USDT',\n",
189
- " 'CTSI/USDT:USDT',\n",
190
- " 'LPT/USDT:USDT',\n",
191
- " 'ENS/USDT:USDT',\n",
192
- " 'PEOPLE/USDT:USDT',\n",
193
- " 'ROSE/USDT:USDT',\n",
194
- " 'DUSK/USDT:USDT',\n",
195
- " 'FLOW/USDT:USDT',\n",
196
- " 'IMX/USDT:USDT',\n",
197
- " 'API3/USDT:USDT',\n",
198
- " 'GMT/USDT:USDT',\n",
199
- " 'APE/USDT:USDT',\n",
200
- " 'WOO/USDT:USDT',\n",
201
- " 'FTT/USDT:USDT',\n",
202
- " 'JASMY/USDT:USDT',\n",
203
- " 'DAR/USDT:USDT',\n",
204
- " 'OP/USDT:USDT',\n",
205
- " 'INJ/USDT:USDT',\n",
206
- " 'STG/USDT:USDT',\n",
207
- " 'SPELL/USDT:USDT',\n",
208
- " '1000LUNC/USDT:USDT',\n",
209
- " 'LUNA2/USDT:USDT',\n",
210
- " 'LDO/USDT:USDT',\n",
211
- " 'CVX/USDT:USDT',\n",
212
- " 'ICP/USDT:USDT',\n",
213
- " 'APT/USDT:USDT',\n",
214
- " 'QNT/USDT:USDT',\n",
215
- " 'FET/USDT:USDT',\n",
216
- " 'FXS/USDT:USDT',\n",
217
- " 'HOOK/USDT:USDT',\n",
218
- " 'MAGIC/USDT:USDT',\n",
219
- " 'T/USDT:USDT',\n",
220
- " 'HIGH/USDT:USDT',\n",
221
- " 'MINA/USDT:USDT',\n",
222
- " 'ASTR/USDT:USDT',\n",
223
- " 'AGIX/USDT:USDT',\n",
224
- " 'PHB/USDT:USDT',\n",
225
- " 'GMX/USDT:USDT',\n",
226
- " 'CFX/USDT:USDT',\n",
227
- " 'STX/USDT:USDT',\n",
228
- " 'BNX/USDT:USDT',\n",
229
- " 'ACH/USDT:USDT',\n",
230
- " 'SSV/USDT:USDT',\n",
231
- " 'CKB/USDT:USDT',\n",
232
- " 'PERP/USDT:USDT',\n",
233
- " 'TRU/USDT:USDT',\n",
234
- " 'LQTY/USDT:USDT',\n",
235
- " 'USDC/USDT:USDT',\n",
236
- " 'ID/USDT:USDT',\n",
237
- " 'ARB/USDT:USDT',\n",
238
- " 'JOE/USDT:USDT',\n",
239
- " 'TLM/USDT:USDT',\n",
240
- " 'AMB/USDT:USDT',\n",
241
- " 'LEVER/USDT:USDT',\n",
242
- " 'RDNT/USDT:USDT',\n",
243
- " 'HFT/USDT:USDT',\n",
244
- " 'XVS/USDT:USDT',\n",
245
- " 'ETH/BTC:BTC',\n",
246
- " 'BLUR/USDT:USDT',\n",
247
- " 'EDU/USDT:USDT',\n",
248
- " 'IDEX/USDT:USDT',\n",
249
- " 'SUI/USDT:USDT',\n",
250
- " '1000PEPE/USDT:USDT',\n",
251
- " '1000FLOKI/USDT:USDT',\n",
252
- " 'UMA/USDT:USDT',\n",
253
- " 'RAD/USDT:USDT',\n",
254
- " 'KEY/USDT:USDT',\n",
255
- " 'COMBO/USDT:USDT',\n",
256
- " 'NMR/USDT:USDT',\n",
257
- " 'MAV/USDT:USDT',\n",
258
- " 'MDT/USDT:USDT',\n",
259
- " 'XVG/USDT:USDT',\n",
260
- " 'WLD/USDT:USDT',\n",
261
- " 'PENDLE/USDT:USDT',\n",
262
- " 'ARKM/USDT:USDT',\n",
263
- " 'AGLD/USDT:USDT',\n",
264
- " 'YGG/USDT:USDT',\n",
265
- " 'DODOX/USDT:USDT',\n",
266
- " 'BNT/USDT:USDT',\n",
267
- " 'OXT/USDT:USDT',\n",
268
- " 'SEI/USDT:USDT',\n",
269
- " 'CYBER/USDT:USDT',\n",
270
- " 'HIFI/USDT:USDT',\n",
271
- " 'ARK/USDT:USDT',\n",
272
- " 'GLMR/USDT:USDT',\n",
273
- " 'BICO/USDT:USDT',\n",
274
- " 'STRAX/USDT:USDT',\n",
275
- " 'LOOM/USDT:USDT',\n",
276
- " 'BIGTIME/USDT:USDT',\n",
277
- " 'BOND/USDT:USDT',\n",
278
- " 'ORBS/USDT:USDT',\n",
279
- " 'STPT/USDT:USDT',\n",
280
- " 'WAXP/USDT:USDT',\n",
281
- " 'BSV/USDT:USDT',\n",
282
- " 'RIF/USDT:USDT',\n",
283
- " 'POLYX/USDT:USDT',\n",
284
- " 'GAS/USDT:USDT',\n",
285
- " 'POWR/USDT:USDT',\n",
286
- " 'SLP/USDT:USDT',\n",
287
- " 'TIA/USDT:USDT',\n",
288
- " 'SNT/USDT:USDT',\n",
289
- " 'CAKE/USDT:USDT',\n",
290
- " 'MEME/USDT:USDT',\n",
291
- " 'TWT/USDT:USDT',\n",
292
- " 'TOKEN/USDT:USDT',\n",
293
- " 'ORDI/USDT:USDT',\n",
294
- " 'STEEM/USDT:USDT',\n",
295
- " 'BADGER/USDT:USDT',\n",
296
- " 'ILV/USDT:USDT',\n",
297
- " 'NTRN/USDT:USDT',\n",
298
- " 'KAS/USDT:USDT',\n",
299
- " 'BEAMX/USDT:USDT',\n",
300
- " '1000BONK/USDT:USDT',\n",
301
- " 'PYTH/USDT:USDT',\n",
302
- " 'SUPER/USDT:USDT',\n",
303
- " 'USTC/USDT:USDT',\n",
304
- " 'ONG/USDT:USDT',\n",
305
- " 'ETHW/USDT:USDT',\n",
306
- " 'JTO/USDT:USDT',\n",
307
- " '1000SATS/USDT:USDT',\n",
308
- " 'AUCTION/USDT:USDT',\n",
309
- " '1000RATS/USDT:USDT',\n",
310
- " 'ACE/USDT:USDT',\n",
311
- " 'MOVR/USDT:USDT',\n",
312
- " 'NFP/USDT:USDT',\n",
313
- " 'BTC/USDC:USDC',\n",
314
- " 'ETH/USDC:USDC',\n",
315
- " 'BNB/USDC:USDC',\n",
316
- " 'SOL/USDC:USDC',\n",
317
- " 'XRP/USDC:USDC',\n",
318
- " 'AI/USDT:USDT',\n",
319
- " 'XAI/USDT:USDT',\n",
320
- " 'DOGE/USDC:USDC',\n",
321
- " 'WIF/USDT:USDT',\n",
322
- " 'MANTA/USDT:USDT',\n",
323
- " 'ONDO/USDT:USDT',\n",
324
- " 'LSK/USDT:USDT',\n",
325
- " 'ALT/USDT:USDT',\n",
326
- " 'JUP/USDT:USDT',\n",
327
- " 'ZETA/USDT:USDT',\n",
328
- " 'RONIN/USDT:USDT',\n",
329
- " 'DYM/USDT:USDT',\n",
330
- " 'SUI/USDC:USDC',\n",
331
- " 'OM/USDT:USDT',\n",
332
- " 'LINK/USDC:USDC',\n",
333
- " 'PIXEL/USDT:USDT',\n",
334
- " 'STRK/USDT:USDT',\n",
335
- " 'MAVIA/USDT:USDT',\n",
336
- " 'ORDI/USDC:USDC',\n",
337
- " 'GLM/USDT:USDT',\n",
338
- " 'PORTAL/USDT:USDT',\n",
339
- " 'TON/USDT:USDT',\n",
340
- " 'AXL/USDT:USDT',\n",
341
- " 'MYRO/USDT:USDT',\n",
342
- " '1000PEPE/USDC:USDC',\n",
343
- " 'METIS/USDT:USDT',\n",
344
- " 'AEVO/USDT:USDT',\n",
345
- " 'WLD/USDC:USDC',\n",
346
- " 'VANRY/USDT:USDT',\n",
347
- " 'BOME/USDT:USDT',\n",
348
- " 'ETHFI/USDT:USDT',\n",
349
- " 'AVAX/USDC:USDC',\n",
350
- " '1000SHIB/USDC:USDC',\n",
351
- " 'BTC/USDT:USDT-240927',\n",
352
- " 'ETH/USDT:USDT-240927',\n",
353
- " 'ENA/USDT:USDT',\n",
354
- " 'W/USDT:USDT',\n",
355
- " 'WIF/USDC:USDC',\n",
356
- " 'BCH/USDC:USDC',\n",
357
- " 'TNSR/USDT:USDT',\n",
358
- " 'SAGA/USDT:USDT',\n",
359
- " 'LTC/USDC:USDC',\n",
360
- " 'NEAR/USDC:USDC',\n",
361
- " 'TAO/USDT:USDT',\n",
362
- " 'OMNI/USDT:USDT',\n",
363
- " 'ARB/USDC:USDC',\n",
364
- " 'NEO/USDC:USDC',\n",
365
- " 'FIL/USDC:USDC',\n",
366
- " 'TIA/USDC:USDC',\n",
367
- " 'BOME/USDC:USDC',\n",
368
- " 'REZ/USDT:USDT',\n",
369
- " 'ENA/USDC:USDC',\n",
370
- " 'ETHFI/USDC:USDC',\n",
371
- " '1000BONK/USDC:USDC',\n",
372
- " 'BB/USDT:USDT',\n",
373
- " 'NOT/USDT:USDT',\n",
374
- " 'TURBO/USDT:USDT',\n",
375
- " 'IO/USDT:USDT',\n",
376
- " 'ZK/USDT:USDT',\n",
377
- " 'MEW/USDT:USDT',\n",
378
- " 'LISTA/USDT:USDT',\n",
379
- " 'ZRO/USDT:USDT',\n",
380
- " 'BTC/USDT:USDT-241227',\n",
381
- " 'ETH/USDT:USDT-241227',\n",
382
- " 'CRV/USDC:USDC',\n",
383
- " 'RENDER/USDT:USDT',\n",
384
- " 'BANANA/USDT:USDT',\n",
385
- " 'RARE/USDT:USDT',\n",
386
- " 'G/USDT:USDT',\n",
387
- " 'SYN/USDT:USDT',\n",
388
- " 'SYS/USDT:USDT',\n",
389
- " 'VOXEL/USDT:USDT',\n",
390
- " 'BRETT/USDT:USDT',\n",
391
- " 'ALPACA/USDT:USDT',\n",
392
- " 'POPCAT/USDT:USDT',\n",
393
- " 'SUN/USDT:USDT',\n",
394
- " 'VIDT/USDT:USDT',\n",
395
- " 'NULS/USDT:USDT',\n",
396
- " 'DOGS/USDT:USDT',\n",
397
- " 'MBOX/USDT:USDT',\n",
398
- " 'CHESS/USDT:USDT',\n",
399
- " 'FLUX/USDT:USDT',\n",
400
- " 'BSW/USDT:USDT',\n",
401
- " 'QUICK/USDT:USDT',\n",
402
- " 'NEIROETH/USDT:USDT',\n",
403
- " 'RPL/USDT:USDT',\n",
404
- " 'AERGO/USDT:USDT',\n",
405
- " 'POL/USDT:USDT',\n",
406
- " 'UXLINK/USDT:USDT',\n",
407
- " '1MBABYDOGE/USDT:USDT',\n",
408
- " 'NEIRO/USDT:USDT',\n",
409
- " 'KDA/USDT:USDT',\n",
410
- " 'FIDA/USDT:USDT',\n",
411
- " 'FIO/USDT:USDT',\n",
412
- " 'CATI/USDT:USDT',\n",
413
- " 'GHST/USDT:USDT']"
414
- ]
415
- },
416
- "execution_count": 4,
417
- "metadata": {},
418
- "output_type": "execute_result"
419
- }
420
- ],
421
- "source": [
422
- "perp_tickers"
423
- ]
424
- },
425
- {
426
- "cell_type": "code",
427
- "execution_count": 5,
428
- "id": "5e796745",
429
- "metadata": {},
430
- "outputs": [
431
- {
432
- "data": {
433
- "text/plain": [
434
- "True"
435
- ]
436
- },
437
- "execution_count": 5,
438
- "metadata": {},
439
- "output_type": "execute_result"
440
- }
441
- ],
442
- "source": [
443
- "'BTCST/USDT:USDT' in perp_tickers"
444
- ]
445
- },
446
- {
447
- "cell_type": "code",
448
- "execution_count": 6,
449
- "id": "fcb74458",
450
- "metadata": {},
451
- "outputs": [],
452
- "source": [
453
- "# get Binance spot tickers\n",
454
- "data_req = DataRequest(source='ccxt')\n",
455
- "spot_tickers = GetData(data_req).get_meta(method='get_markets_info', exch='binance', as_list=True)"
456
- ]
457
- },
458
- {
459
- "cell_type": "code",
460
- "execution_count": 7,
461
- "id": "85c99716",
462
- "metadata": {},
463
- "outputs": [
464
- {
465
- "data": {
466
- "text/plain": [
467
- "3147"
468
- ]
469
- },
470
- "execution_count": 7,
471
- "metadata": {},
472
- "output_type": "execute_result"
473
- }
474
- ],
475
- "source": [
476
- "len(spot_tickers)"
477
- ]
478
- },
479
- {
480
- "cell_type": "code",
481
- "execution_count": 8,
482
- "id": "4b86fa0d",
483
- "metadata": {},
484
- "outputs": [
485
- {
486
- "data": {
487
- "text/plain": [
488
- "True"
489
- ]
490
- },
491
- "execution_count": 8,
492
- "metadata": {},
493
- "output_type": "execute_result"
494
- }
495
- ],
496
- "source": [
497
- "'BTCST/USDT:USDT' in spot_tickers"
498
- ]
499
- },
500
- {
501
- "cell_type": "code",
502
- "execution_count": 9,
503
- "id": "7962f7e5",
504
- "metadata": {},
505
- "outputs": [],
506
- "source": [
507
- "# find intersecting tickers\n",
508
- "binance_tickers = [ticker for ticker in perp_tickers if ticker in spot_tickers]"
509
- ]
510
- },
511
- {
512
- "cell_type": "code",
513
- "execution_count": 10,
514
- "id": "877811c1",
515
- "metadata": {},
516
- "outputs": [
517
- {
518
- "data": {
519
- "text/plain": [
520
- "341"
521
- ]
522
- },
523
- "execution_count": 10,
524
- "metadata": {},
525
- "output_type": "execute_result"
526
- }
527
- ],
528
- "source": [
529
- "# number of tickers\n",
530
- "len(binance_tickers)"
531
- ]
532
- },
533
- {
534
- "cell_type": "code",
535
- "execution_count": 11,
536
- "id": "ef415480-a980-47a1-8ad7-7555603ebcf3",
537
- "metadata": {},
538
- "outputs": [
539
- {
540
- "data": {
541
- "text/plain": [
542
- "['BTC/USDT:USDT',\n",
543
- " 'ETH/USDT:USDT',\n",
544
- " 'BCH/USDT:USDT',\n",
545
- " 'XRP/USDT:USDT',\n",
546
- " 'EOS/USDT:USDT',\n",
547
- " 'LTC/USDT:USDT',\n",
548
- " 'TRX/USDT:USDT',\n",
549
- " 'ETC/USDT:USDT',\n",
550
- " 'LINK/USDT:USDT',\n",
551
- " 'XLM/USDT:USDT',\n",
552
- " 'ADA/USDT:USDT',\n",
553
- " 'XMR/USDT:USDT',\n",
554
- " 'DASH/USDT:USDT',\n",
555
- " 'ZEC/USDT:USDT',\n",
556
- " 'XTZ/USDT:USDT',\n",
557
- " 'BNB/USDT:USDT',\n",
558
- " 'ATOM/USDT:USDT',\n",
559
- " 'ONT/USDT:USDT',\n",
560
- " 'IOTA/USDT:USDT',\n",
561
- " 'BAT/USDT:USDT',\n",
562
- " 'VET/USDT:USDT',\n",
563
- " 'NEO/USDT:USDT',\n",
564
- " 'QTUM/USDT:USDT',\n",
565
- " 'IOST/USDT:USDT',\n",
566
- " 'THETA/USDT:USDT',\n",
567
- " 'ALGO/USDT:USDT',\n",
568
- " 'ZIL/USDT:USDT',\n",
569
- " 'KNC/USDT:USDT',\n",
570
- " 'ZRX/USDT:USDT',\n",
571
- " 'COMP/USDT:USDT',\n",
572
- " 'OMG/USDT:USDT',\n",
573
- " 'DOGE/USDT:USDT',\n",
574
- " 'SXP/USDT:USDT',\n",
575
- " 'KAVA/USDT:USDT',\n",
576
- " 'BAND/USDT:USDT',\n",
577
- " 'RLC/USDT:USDT',\n",
578
- " 'WAVES/USDT:USDT',\n",
579
- " 'MKR/USDT:USDT',\n",
580
- " 'SNX/USDT:USDT',\n",
581
- " 'DOT/USDT:USDT',\n",
582
- " 'DEFI/USDT:USDT',\n",
583
- " 'YFI/USDT:USDT',\n",
584
- " 'BAL/USDT:USDT',\n",
585
- " 'CRV/USDT:USDT',\n",
586
- " 'TRB/USDT:USDT',\n",
587
- " 'RUNE/USDT:USDT',\n",
588
- " 'SUSHI/USDT:USDT',\n",
589
- " 'EGLD/USDT:USDT',\n",
590
- " 'SOL/USDT:USDT',\n",
591
- " 'ICX/USDT:USDT',\n",
592
- " 'STORJ/USDT:USDT',\n",
593
- " 'BLZ/USDT:USDT',\n",
594
- " 'UNI/USDT:USDT',\n",
595
- " 'AVAX/USDT:USDT',\n",
596
- " 'FTM/USDT:USDT',\n",
597
- " 'ENJ/USDT:USDT',\n",
598
- " 'FLM/USDT:USDT',\n",
599
- " 'REN/USDT:USDT',\n",
600
- " 'KSM/USDT:USDT',\n",
601
- " 'NEAR/USDT:USDT',\n",
602
- " 'AAVE/USDT:USDT',\n",
603
- " 'FIL/USDT:USDT',\n",
604
- " 'RSR/USDT:USDT',\n",
605
- " 'LRC/USDT:USDT',\n",
606
- " 'OCEAN/USDT:USDT',\n",
607
- " 'CVC/USDT:USDT',\n",
608
- " 'BEL/USDT:USDT',\n",
609
- " 'CTK/USDT:USDT',\n",
610
- " 'AXS/USDT:USDT',\n",
611
- " 'ALPHA/USDT:USDT',\n",
612
- " 'ZEN/USDT:USDT',\n",
613
- " 'SKL/USDT:USDT',\n",
614
- " 'GRT/USDT:USDT',\n",
615
- " '1INCH/USDT:USDT',\n",
616
- " 'CHZ/USDT:USDT',\n",
617
- " 'SAND/USDT:USDT',\n",
618
- " 'ANKR/USDT:USDT',\n",
619
- " 'LIT/USDT:USDT',\n",
620
- " 'UNFI/USDT:USDT',\n",
621
- " 'REEF/USDT:USDT',\n",
622
- " 'RVN/USDT:USDT',\n",
623
- " 'SFP/USDT:USDT',\n",
624
- " 'XEM/USDT:USDT',\n",
625
- " 'BTCST/USDT:USDT',\n",
626
- " 'COTI/USDT:USDT',\n",
627
- " 'CHR/USDT:USDT',\n",
628
- " 'MANA/USDT:USDT',\n",
629
- " 'ALICE/USDT:USDT',\n",
630
- " 'HBAR/USDT:USDT',\n",
631
- " 'ONE/USDT:USDT',\n",
632
- " 'LINA/USDT:USDT',\n",
633
- " 'STMX/USDT:USDT',\n",
634
- " 'DENT/USDT:USDT',\n",
635
- " 'CELR/USDT:USDT',\n",
636
- " 'HOT/USDT:USDT',\n",
637
- " 'MTL/USDT:USDT',\n",
638
- " 'OGN/USDT:USDT',\n",
639
- " 'NKN/USDT:USDT',\n",
640
- " 'SC/USDT:USDT',\n",
641
- " 'DGB/USDT:USDT',\n",
642
- " '1000SHIB/USDT:USDT',\n",
643
- " 'BAKE/USDT:USDT',\n",
644
- " 'GTC/USDT:USDT',\n",
645
- " 'BTCDOM/USDT:USDT',\n",
646
- " 'IOTX/USDT:USDT',\n",
647
- " 'RAY/USDT:USDT',\n",
648
- " 'C98/USDT:USDT',\n",
649
- " 'MASK/USDT:USDT',\n",
650
- " 'ATA/USDT:USDT',\n",
651
- " 'DYDX/USDT:USDT',\n",
652
- " '1000XEC/USDT:USDT',\n",
653
- " 'GALA/USDT:USDT',\n",
654
- " 'CELO/USDT:USDT',\n",
655
- " 'AR/USDT:USDT',\n",
656
- " 'KLAY/USDT:USDT',\n",
657
- " 'ARPA/USDT:USDT',\n",
658
- " 'CTSI/USDT:USDT',\n",
659
- " 'LPT/USDT:USDT',\n",
660
- " 'ENS/USDT:USDT',\n",
661
- " 'PEOPLE/USDT:USDT',\n",
662
- " 'ROSE/USDT:USDT',\n",
663
- " 'DUSK/USDT:USDT',\n",
664
- " 'FLOW/USDT:USDT',\n",
665
- " 'IMX/USDT:USDT',\n",
666
- " 'API3/USDT:USDT',\n",
667
- " 'GMT/USDT:USDT',\n",
668
- " 'APE/USDT:USDT',\n",
669
- " 'WOO/USDT:USDT',\n",
670
- " 'FTT/USDT:USDT',\n",
671
- " 'JASMY/USDT:USDT',\n",
672
- " 'DAR/USDT:USDT',\n",
673
- " 'OP/USDT:USDT',\n",
674
- " 'INJ/USDT:USDT',\n",
675
- " 'STG/USDT:USDT',\n",
676
- " 'SPELL/USDT:USDT',\n",
677
- " '1000LUNC/USDT:USDT',\n",
678
- " 'LUNA2/USDT:USDT',\n",
679
- " 'LDO/USDT:USDT',\n",
680
- " 'CVX/USDT:USDT',\n",
681
- " 'ICP/USDT:USDT',\n",
682
- " 'APT/USDT:USDT',\n",
683
- " 'QNT/USDT:USDT',\n",
684
- " 'FET/USDT:USDT',\n",
685
- " 'FXS/USDT:USDT',\n",
686
- " 'HOOK/USDT:USDT',\n",
687
- " 'MAGIC/USDT:USDT',\n",
688
- " 'T/USDT:USDT',\n",
689
- " 'HIGH/USDT:USDT',\n",
690
- " 'MINA/USDT:USDT',\n",
691
- " 'ASTR/USDT:USDT',\n",
692
- " 'AGIX/USDT:USDT',\n",
693
- " 'PHB/USDT:USDT',\n",
694
- " 'GMX/USDT:USDT',\n",
695
- " 'CFX/USDT:USDT',\n",
696
- " 'STX/USDT:USDT',\n",
697
- " 'BNX/USDT:USDT',\n",
698
- " 'ACH/USDT:USDT',\n",
699
- " 'SSV/USDT:USDT',\n",
700
- " 'CKB/USDT:USDT',\n",
701
- " 'PERP/USDT:USDT',\n",
702
- " 'TRU/USDT:USDT',\n",
703
- " 'LQTY/USDT:USDT',\n",
704
- " 'USDC/USDT:USDT',\n",
705
- " 'ID/USDT:USDT',\n",
706
- " 'ARB/USDT:USDT',\n",
707
- " 'JOE/USDT:USDT',\n",
708
- " 'TLM/USDT:USDT',\n",
709
- " 'AMB/USDT:USDT',\n",
710
- " 'LEVER/USDT:USDT',\n",
711
- " 'RDNT/USDT:USDT',\n",
712
- " 'HFT/USDT:USDT',\n",
713
- " 'XVS/USDT:USDT',\n",
714
- " 'ETH/BTC:BTC',\n",
715
- " 'BLUR/USDT:USDT',\n",
716
- " 'EDU/USDT:USDT',\n",
717
- " 'IDEX/USDT:USDT',\n",
718
- " 'SUI/USDT:USDT',\n",
719
- " '1000PEPE/USDT:USDT',\n",
720
- " '1000FLOKI/USDT:USDT',\n",
721
- " 'UMA/USDT:USDT',\n",
722
- " 'RAD/USDT:USDT',\n",
723
- " 'KEY/USDT:USDT',\n",
724
- " 'COMBO/USDT:USDT',\n",
725
- " 'NMR/USDT:USDT',\n",
726
- " 'MAV/USDT:USDT',\n",
727
- " 'MDT/USDT:USDT',\n",
728
- " 'XVG/USDT:USDT',\n",
729
- " 'WLD/USDT:USDT',\n",
730
- " 'PENDLE/USDT:USDT',\n",
731
- " 'ARKM/USDT:USDT',\n",
732
- " 'AGLD/USDT:USDT',\n",
733
- " 'YGG/USDT:USDT',\n",
734
- " 'DODOX/USDT:USDT',\n",
735
- " 'BNT/USDT:USDT',\n",
736
- " 'OXT/USDT:USDT',\n",
737
- " 'SEI/USDT:USDT',\n",
738
- " 'CYBER/USDT:USDT',\n",
739
- " 'HIFI/USDT:USDT',\n",
740
- " 'ARK/USDT:USDT',\n",
741
- " 'GLMR/USDT:USDT',\n",
742
- " 'BICO/USDT:USDT',\n",
743
- " 'STRAX/USDT:USDT',\n",
744
- " 'LOOM/USDT:USDT',\n",
745
- " 'BIGTIME/USDT:USDT',\n",
746
- " 'BOND/USDT:USDT',\n",
747
- " 'ORBS/USDT:USDT',\n",
748
- " 'STPT/USDT:USDT',\n",
749
- " 'WAXP/USDT:USDT',\n",
750
- " 'BSV/USDT:USDT',\n",
751
- " 'RIF/USDT:USDT',\n",
752
- " 'POLYX/USDT:USDT',\n",
753
- " 'GAS/USDT:USDT',\n",
754
- " 'POWR/USDT:USDT',\n",
755
- " 'SLP/USDT:USDT',\n",
756
- " 'TIA/USDT:USDT',\n",
757
- " 'SNT/USDT:USDT',\n",
758
- " 'CAKE/USDT:USDT',\n",
759
- " 'MEME/USDT:USDT',\n",
760
- " 'TWT/USDT:USDT',\n",
761
- " 'TOKEN/USDT:USDT',\n",
762
- " 'ORDI/USDT:USDT',\n",
763
- " 'STEEM/USDT:USDT',\n",
764
- " 'BADGER/USDT:USDT',\n",
765
- " 'ILV/USDT:USDT',\n",
766
- " 'NTRN/USDT:USDT',\n",
767
- " 'KAS/USDT:USDT',\n",
768
- " 'BEAMX/USDT:USDT',\n",
769
- " '1000BONK/USDT:USDT',\n",
770
- " 'PYTH/USDT:USDT',\n",
771
- " 'SUPER/USDT:USDT',\n",
772
- " 'USTC/USDT:USDT',\n",
773
- " 'ONG/USDT:USDT',\n",
774
- " 'ETHW/USDT:USDT',\n",
775
- " 'JTO/USDT:USDT',\n",
776
- " '1000SATS/USDT:USDT',\n",
777
- " 'AUCTION/USDT:USDT',\n",
778
- " '1000RATS/USDT:USDT',\n",
779
- " 'ACE/USDT:USDT',\n",
780
- " 'MOVR/USDT:USDT',\n",
781
- " 'NFP/USDT:USDT',\n",
782
- " 'BTC/USDC:USDC',\n",
783
- " 'ETH/USDC:USDC',\n",
784
- " 'BNB/USDC:USDC',\n",
785
- " 'SOL/USDC:USDC',\n",
786
- " 'XRP/USDC:USDC',\n",
787
- " 'AI/USDT:USDT',\n",
788
- " 'XAI/USDT:USDT',\n",
789
- " 'DOGE/USDC:USDC',\n",
790
- " 'WIF/USDT:USDT',\n",
791
- " 'MANTA/USDT:USDT',\n",
792
- " 'ONDO/USDT:USDT',\n",
793
- " 'LSK/USDT:USDT',\n",
794
- " 'ALT/USDT:USDT',\n",
795
- " 'JUP/USDT:USDT',\n",
796
- " 'ZETA/USDT:USDT',\n",
797
- " 'RONIN/USDT:USDT',\n",
798
- " 'DYM/USDT:USDT',\n",
799
- " 'SUI/USDC:USDC',\n",
800
- " 'OM/USDT:USDT',\n",
801
- " 'LINK/USDC:USDC',\n",
802
- " 'PIXEL/USDT:USDT',\n",
803
- " 'STRK/USDT:USDT',\n",
804
- " 'MAVIA/USDT:USDT',\n",
805
- " 'ORDI/USDC:USDC',\n",
806
- " 'GLM/USDT:USDT',\n",
807
- " 'PORTAL/USDT:USDT',\n",
808
- " 'TON/USDT:USDT',\n",
809
- " 'AXL/USDT:USDT',\n",
810
- " 'MYRO/USDT:USDT',\n",
811
- " '1000PEPE/USDC:USDC',\n",
812
- " 'METIS/USDT:USDT',\n",
813
- " 'AEVO/USDT:USDT',\n",
814
- " 'WLD/USDC:USDC',\n",
815
- " 'VANRY/USDT:USDT',\n",
816
- " 'BOME/USDT:USDT',\n",
817
- " 'ETHFI/USDT:USDT',\n",
818
- " 'AVAX/USDC:USDC',\n",
819
- " '1000SHIB/USDC:USDC',\n",
820
- " 'BTC/USDT:USDT-240927',\n",
821
- " 'ETH/USDT:USDT-240927',\n",
822
- " 'ENA/USDT:USDT',\n",
823
- " 'W/USDT:USDT',\n",
824
- " 'WIF/USDC:USDC',\n",
825
- " 'BCH/USDC:USDC',\n",
826
- " 'TNSR/USDT:USDT',\n",
827
- " 'SAGA/USDT:USDT',\n",
828
- " 'LTC/USDC:USDC',\n",
829
- " 'NEAR/USDC:USDC',\n",
830
- " 'TAO/USDT:USDT',\n",
831
- " 'OMNI/USDT:USDT',\n",
832
- " 'ARB/USDC:USDC',\n",
833
- " 'NEO/USDC:USDC',\n",
834
- " 'FIL/USDC:USDC',\n",
835
- " 'TIA/USDC:USDC',\n",
836
- " 'BOME/USDC:USDC',\n",
837
- " 'REZ/USDT:USDT',\n",
838
- " 'ENA/USDC:USDC',\n",
839
- " 'ETHFI/USDC:USDC',\n",
840
- " '1000BONK/USDC:USDC',\n",
841
- " 'BB/USDT:USDT',\n",
842
- " 'NOT/USDT:USDT',\n",
843
- " 'TURBO/USDT:USDT',\n",
844
- " 'IO/USDT:USDT',\n",
845
- " 'ZK/USDT:USDT',\n",
846
- " 'MEW/USDT:USDT',\n",
847
- " 'LISTA/USDT:USDT',\n",
848
- " 'ZRO/USDT:USDT',\n",
849
- " 'BTC/USDT:USDT-241227',\n",
850
- " 'ETH/USDT:USDT-241227',\n",
851
- " 'CRV/USDC:USDC',\n",
852
- " 'RENDER/USDT:USDT',\n",
853
- " 'BANANA/USDT:USDT',\n",
854
- " 'RARE/USDT:USDT',\n",
855
- " 'G/USDT:USDT',\n",
856
- " 'SYN/USDT:USDT',\n",
857
- " 'SYS/USDT:USDT',\n",
858
- " 'VOXEL/USDT:USDT',\n",
859
- " 'BRETT/USDT:USDT',\n",
860
- " 'ALPACA/USDT:USDT',\n",
861
- " 'POPCAT/USDT:USDT',\n",
862
- " 'SUN/USDT:USDT',\n",
863
- " 'VIDT/USDT:USDT',\n",
864
- " 'NULS/USDT:USDT',\n",
865
- " 'DOGS/USDT:USDT',\n",
866
- " 'MBOX/USDT:USDT',\n",
867
- " 'CHESS/USDT:USDT',\n",
868
- " 'FLUX/USDT:USDT',\n",
869
- " 'BSW/USDT:USDT',\n",
870
- " 'QUICK/USDT:USDT',\n",
871
- " 'NEIROETH/USDT:USDT',\n",
872
- " 'RPL/USDT:USDT',\n",
873
- " 'AERGO/USDT:USDT',\n",
874
- " 'POL/USDT:USDT',\n",
875
- " 'UXLINK/USDT:USDT',\n",
876
- " '1MBABYDOGE/USDT:USDT',\n",
877
- " 'NEIRO/USDT:USDT',\n",
878
- " 'KDA/USDT:USDT',\n",
879
- " 'FIDA/USDT:USDT',\n",
880
- " 'FIO/USDT:USDT',\n",
881
- " 'CATI/USDT:USDT',\n",
882
- " 'GHST/USDT:USDT']"
883
- ]
884
- },
885
- "execution_count": 11,
886
- "metadata": {},
887
- "output_type": "execute_result"
888
- }
889
- ],
890
- "source": [
891
- "binance_tickers"
892
- ]
893
- },
894
- {
895
- "cell_type": "code",
896
- "execution_count": 12,
897
- "id": "4ef7a85b",
898
- "metadata": {},
899
- "outputs": [
900
- {
901
- "data": {
902
- "text/plain": [
903
- "True"
904
- ]
905
- },
906
- "execution_count": 12,
907
- "metadata": {},
908
- "output_type": "execute_result"
909
- }
910
- ],
911
- "source": [
912
- "'BTCST/USDT:USDT' in binance_tickers"
913
- ]
914
- },
915
- {
916
- "cell_type": "code",
917
- "execution_count": 13,
918
- "id": "fe425163",
919
- "metadata": {},
920
- "outputs": [],
921
- "source": [
922
- "## # get cryptocompare tickers\n",
923
- "data_req = DataRequest(source='cryptocompare')\n",
924
- "cc_tickers = GetData(data_req).get_meta(method='get_assets_info', as_list=True)"
925
- ]
926
- },
927
- {
928
- "cell_type": "code",
929
- "execution_count": 14,
930
- "id": "9c63cd43",
931
- "metadata": {},
932
- "outputs": [
933
- {
934
- "data": {
935
- "text/plain": [
936
- "True"
937
- ]
938
- },
939
- "execution_count": 14,
940
- "metadata": {},
941
- "output_type": "execute_result"
942
- }
943
- ],
944
- "source": [
945
- "'BTCST' in cc_tickers"
946
- ]
947
- },
948
- {
949
- "cell_type": "code",
950
- "execution_count": 15,
951
- "id": "165053db",
952
- "metadata": {},
953
- "outputs": [],
954
- "source": [
955
- "# keep only USDT ticker\n",
956
- "bin_tickers = []\n",
957
- "for ticker in binance_tickers:\n",
958
- " if '/' in ticker and ticker.split('/')[1] == 'USDT:USDT':\n",
959
- " bin_tickers.append(ticker.split('/')[0])"
960
- ]
961
- },
962
- {
963
- "cell_type": "code",
964
- "execution_count": 16,
965
- "id": "ea69d661",
966
- "metadata": {},
967
- "outputs": [
968
- {
969
- "data": {
970
- "text/plain": [
971
- "310"
972
- ]
973
- },
974
- "execution_count": 16,
975
- "metadata": {},
976
- "output_type": "execute_result"
977
- }
978
- ],
979
- "source": [
980
- "len(bin_tickers)"
981
- ]
982
- },
983
- {
984
- "cell_type": "code",
985
- "execution_count": 17,
986
- "id": "c93e487a",
987
- "metadata": {},
988
- "outputs": [
989
- {
990
- "data": {
991
- "text/plain": [
992
- "True"
993
- ]
994
- },
995
- "execution_count": 17,
996
- "metadata": {},
997
- "output_type": "execute_result"
998
- }
999
- ],
1000
- "source": [
1001
- "'BTCST' in bin_tickers"
1002
- ]
1003
- },
1004
- {
1005
- "cell_type": "code",
1006
- "execution_count": 18,
1007
- "id": "3c8ce79e",
1008
- "metadata": {},
1009
- "outputs": [
1010
- {
1011
- "data": {
1012
- "text/plain": [
1013
- "['BTC',\n",
1014
- " 'ETH',\n",
1015
- " 'BCH',\n",
1016
- " 'XRP',\n",
1017
- " 'EOS',\n",
1018
- " 'LTC',\n",
1019
- " 'TRX',\n",
1020
- " 'ETC',\n",
1021
- " 'LINK',\n",
1022
- " 'XLM',\n",
1023
- " 'ADA',\n",
1024
- " 'XMR',\n",
1025
- " 'DASH',\n",
1026
- " 'ZEC',\n",
1027
- " 'XTZ',\n",
1028
- " 'BNB',\n",
1029
- " 'ATOM',\n",
1030
- " 'ONT',\n",
1031
- " 'IOTA',\n",
1032
- " 'BAT',\n",
1033
- " 'VET',\n",
1034
- " 'NEO',\n",
1035
- " 'QTUM',\n",
1036
- " 'IOST',\n",
1037
- " 'THETA',\n",
1038
- " 'ALGO',\n",
1039
- " 'ZIL',\n",
1040
- " 'KNC',\n",
1041
- " 'ZRX',\n",
1042
- " 'COMP',\n",
1043
- " 'OMG',\n",
1044
- " 'DOGE',\n",
1045
- " 'SXP',\n",
1046
- " 'KAVA',\n",
1047
- " 'BAND',\n",
1048
- " 'RLC',\n",
1049
- " 'WAVES',\n",
1050
- " 'MKR',\n",
1051
- " 'SNX',\n",
1052
- " 'DOT',\n",
1053
- " 'DEFI',\n",
1054
- " 'YFI',\n",
1055
- " 'BAL',\n",
1056
- " 'CRV',\n",
1057
- " 'TRB',\n",
1058
- " 'RUNE',\n",
1059
- " 'SUSHI',\n",
1060
- " 'EGLD',\n",
1061
- " 'SOL',\n",
1062
- " 'ICX',\n",
1063
- " 'STORJ',\n",
1064
- " 'BLZ',\n",
1065
- " 'UNI',\n",
1066
- " 'AVAX',\n",
1067
- " 'FTM',\n",
1068
- " 'ENJ',\n",
1069
- " 'FLM',\n",
1070
- " 'REN',\n",
1071
- " 'KSM',\n",
1072
- " 'NEAR',\n",
1073
- " 'AAVE',\n",
1074
- " 'FIL',\n",
1075
- " 'RSR',\n",
1076
- " 'LRC',\n",
1077
- " 'OCEAN',\n",
1078
- " 'CVC',\n",
1079
- " 'BEL',\n",
1080
- " 'CTK',\n",
1081
- " 'AXS',\n",
1082
- " 'ALPHA',\n",
1083
- " 'ZEN',\n",
1084
- " 'SKL',\n",
1085
- " 'GRT',\n",
1086
- " '1INCH',\n",
1087
- " 'CHZ',\n",
1088
- " 'SAND',\n",
1089
- " 'ANKR',\n",
1090
- " 'LIT',\n",
1091
- " 'UNFI',\n",
1092
- " 'REEF',\n",
1093
- " 'RVN',\n",
1094
- " 'SFP',\n",
1095
- " 'XEM',\n",
1096
- " 'BTCST',\n",
1097
- " 'COTI',\n",
1098
- " 'CHR',\n",
1099
- " 'MANA',\n",
1100
- " 'ALICE',\n",
1101
- " 'HBAR',\n",
1102
- " 'ONE',\n",
1103
- " 'LINA',\n",
1104
- " 'STMX',\n",
1105
- " 'DENT',\n",
1106
- " 'CELR',\n",
1107
- " 'HOT',\n",
1108
- " 'MTL',\n",
1109
- " 'OGN',\n",
1110
- " 'NKN',\n",
1111
- " 'SC',\n",
1112
- " 'DGB',\n",
1113
- " '1000SHIB',\n",
1114
- " 'BAKE',\n",
1115
- " 'GTC',\n",
1116
- " 'BTCDOM',\n",
1117
- " 'IOTX',\n",
1118
- " 'RAY',\n",
1119
- " 'C98',\n",
1120
- " 'MASK',\n",
1121
- " 'ATA',\n",
1122
- " 'DYDX',\n",
1123
- " '1000XEC',\n",
1124
- " 'GALA',\n",
1125
- " 'CELO',\n",
1126
- " 'AR',\n",
1127
- " 'KLAY',\n",
1128
- " 'ARPA',\n",
1129
- " 'CTSI',\n",
1130
- " 'LPT',\n",
1131
- " 'ENS',\n",
1132
- " 'PEOPLE',\n",
1133
- " 'ROSE',\n",
1134
- " 'DUSK',\n",
1135
- " 'FLOW',\n",
1136
- " 'IMX',\n",
1137
- " 'API3',\n",
1138
- " 'GMT',\n",
1139
- " 'APE',\n",
1140
- " 'WOO',\n",
1141
- " 'FTT',\n",
1142
- " 'JASMY',\n",
1143
- " 'DAR',\n",
1144
- " 'OP',\n",
1145
- " 'INJ',\n",
1146
- " 'STG',\n",
1147
- " 'SPELL',\n",
1148
- " '1000LUNC',\n",
1149
- " 'LUNA2',\n",
1150
- " 'LDO',\n",
1151
- " 'CVX',\n",
1152
- " 'ICP',\n",
1153
- " 'APT',\n",
1154
- " 'QNT',\n",
1155
- " 'FET',\n",
1156
- " 'FXS',\n",
1157
- " 'HOOK',\n",
1158
- " 'MAGIC',\n",
1159
- " 'T',\n",
1160
- " 'HIGH',\n",
1161
- " 'MINA',\n",
1162
- " 'ASTR',\n",
1163
- " 'AGIX',\n",
1164
- " 'PHB',\n",
1165
- " 'GMX',\n",
1166
- " 'CFX',\n",
1167
- " 'STX',\n",
1168
- " 'BNX',\n",
1169
- " 'ACH',\n",
1170
- " 'SSV',\n",
1171
- " 'CKB',\n",
1172
- " 'PERP',\n",
1173
- " 'TRU',\n",
1174
- " 'LQTY',\n",
1175
- " 'USDC',\n",
1176
- " 'ID',\n",
1177
- " 'ARB',\n",
1178
- " 'JOE',\n",
1179
- " 'TLM',\n",
1180
- " 'AMB',\n",
1181
- " 'LEVER',\n",
1182
- " 'RDNT',\n",
1183
- " 'HFT',\n",
1184
- " 'XVS',\n",
1185
- " 'BLUR',\n",
1186
- " 'EDU',\n",
1187
- " 'IDEX',\n",
1188
- " 'SUI',\n",
1189
- " '1000PEPE',\n",
1190
- " '1000FLOKI',\n",
1191
- " 'UMA',\n",
1192
- " 'RAD',\n",
1193
- " 'KEY',\n",
1194
- " 'COMBO',\n",
1195
- " 'NMR',\n",
1196
- " 'MAV',\n",
1197
- " 'MDT',\n",
1198
- " 'XVG',\n",
1199
- " 'WLD',\n",
1200
- " 'PENDLE',\n",
1201
- " 'ARKM',\n",
1202
- " 'AGLD',\n",
1203
- " 'YGG',\n",
1204
- " 'DODOX',\n",
1205
- " 'BNT',\n",
1206
- " 'OXT',\n",
1207
- " 'SEI',\n",
1208
- " 'CYBER',\n",
1209
- " 'HIFI',\n",
1210
- " 'ARK',\n",
1211
- " 'GLMR',\n",
1212
- " 'BICO',\n",
1213
- " 'STRAX',\n",
1214
- " 'LOOM',\n",
1215
- " 'BIGTIME',\n",
1216
- " 'BOND',\n",
1217
- " 'ORBS',\n",
1218
- " 'STPT',\n",
1219
- " 'WAXP',\n",
1220
- " 'BSV',\n",
1221
- " 'RIF',\n",
1222
- " 'POLYX',\n",
1223
- " 'GAS',\n",
1224
- " 'POWR',\n",
1225
- " 'SLP',\n",
1226
- " 'TIA',\n",
1227
- " 'SNT',\n",
1228
- " 'CAKE',\n",
1229
- " 'MEME',\n",
1230
- " 'TWT',\n",
1231
- " 'TOKEN',\n",
1232
- " 'ORDI',\n",
1233
- " 'STEEM',\n",
1234
- " 'BADGER',\n",
1235
- " 'ILV',\n",
1236
- " 'NTRN',\n",
1237
- " 'KAS',\n",
1238
- " 'BEAMX',\n",
1239
- " '1000BONK',\n",
1240
- " 'PYTH',\n",
1241
- " 'SUPER',\n",
1242
- " 'USTC',\n",
1243
- " 'ONG',\n",
1244
- " 'ETHW',\n",
1245
- " 'JTO',\n",
1246
- " '1000SATS',\n",
1247
- " 'AUCTION',\n",
1248
- " '1000RATS',\n",
1249
- " 'ACE',\n",
1250
- " 'MOVR',\n",
1251
- " 'NFP',\n",
1252
- " 'AI',\n",
1253
- " 'XAI',\n",
1254
- " 'WIF',\n",
1255
- " 'MANTA',\n",
1256
- " 'ONDO',\n",
1257
- " 'LSK',\n",
1258
- " 'ALT',\n",
1259
- " 'JUP',\n",
1260
- " 'ZETA',\n",
1261
- " 'RONIN',\n",
1262
- " 'DYM',\n",
1263
- " 'OM',\n",
1264
- " 'PIXEL',\n",
1265
- " 'STRK',\n",
1266
- " 'MAVIA',\n",
1267
- " 'GLM',\n",
1268
- " 'PORTAL',\n",
1269
- " 'TON',\n",
1270
- " 'AXL',\n",
1271
- " 'MYRO',\n",
1272
- " 'METIS',\n",
1273
- " 'AEVO',\n",
1274
- " 'VANRY',\n",
1275
- " 'BOME',\n",
1276
- " 'ETHFI',\n",
1277
- " 'ENA',\n",
1278
- " 'W',\n",
1279
- " 'TNSR',\n",
1280
- " 'SAGA',\n",
1281
- " 'TAO',\n",
1282
- " 'OMNI',\n",
1283
- " 'REZ',\n",
1284
- " 'BB',\n",
1285
- " 'NOT',\n",
1286
- " 'TURBO',\n",
1287
- " 'IO',\n",
1288
- " 'ZK',\n",
1289
- " 'MEW',\n",
1290
- " 'LISTA',\n",
1291
- " 'ZRO',\n",
1292
- " 'RENDER',\n",
1293
- " 'BANANA',\n",
1294
- " 'RARE',\n",
1295
- " 'G',\n",
1296
- " 'SYN',\n",
1297
- " 'SYS',\n",
1298
- " 'VOXEL',\n",
1299
- " 'BRETT',\n",
1300
- " 'ALPACA',\n",
1301
- " 'POPCAT',\n",
1302
- " 'SUN',\n",
1303
- " 'VIDT',\n",
1304
- " 'NULS',\n",
1305
- " 'DOGS',\n",
1306
- " 'MBOX',\n",
1307
- " 'CHESS',\n",
1308
- " 'FLUX',\n",
1309
- " 'BSW',\n",
1310
- " 'QUICK',\n",
1311
- " 'NEIROETH',\n",
1312
- " 'RPL',\n",
1313
- " 'AERGO',\n",
1314
- " 'POL',\n",
1315
- " 'UXLINK',\n",
1316
- " '1MBABYDOGE',\n",
1317
- " 'NEIRO',\n",
1318
- " 'KDA',\n",
1319
- " 'FIDA',\n",
1320
- " 'FIO',\n",
1321
- " 'CATI',\n",
1322
- " 'GHST']"
1323
- ]
1324
- },
1325
- "execution_count": 18,
1326
- "metadata": {},
1327
- "output_type": "execute_result"
1328
- }
1329
- ],
1330
- "source": [
1331
- "bin_tickers"
1332
- ]
1333
- },
1334
- {
1335
- "cell_type": "code",
1336
- "execution_count": 19,
1337
- "id": "d6cf8a4c",
1338
- "metadata": {},
1339
- "outputs": [],
1340
- "source": [
1341
- "# usdt tickers\n",
1342
- "usdt_tickers = [ticker.split('/')[0] for ticker in binance_tickers if '/'in ticker and ticker.split('/')[1] == 'USDT:USDT']"
1343
- ]
1344
- },
1345
- {
1346
- "cell_type": "code",
1347
- "execution_count": 20,
1348
- "id": "11ec0e6d",
1349
- "metadata": {},
1350
- "outputs": [
1351
- {
1352
- "data": {
1353
- "text/plain": [
1354
- "310"
1355
- ]
1356
- },
1357
- "execution_count": 20,
1358
- "metadata": {},
1359
- "output_type": "execute_result"
1360
- }
1361
- ],
1362
- "source": [
1363
- "len(usdt_tickers)"
1364
- ]
1365
- },
1366
- {
1367
- "cell_type": "code",
1368
- "execution_count": 21,
1369
- "id": "633f7a3e",
1370
- "metadata": {},
1371
- "outputs": [],
1372
- "source": [
1373
- "# intersecting tickers\n",
1374
- "tickers = [ticker for ticker in usdt_tickers if ticker in cc_tickers]"
1375
- ]
1376
- },
1377
- {
1378
- "cell_type": "code",
1379
- "execution_count": 22,
1380
- "id": "30337a71",
1381
- "metadata": {},
1382
- "outputs": [
1383
- {
1384
- "data": {
1385
- "text/plain": [
1386
- "297"
1387
- ]
1388
- },
1389
- "execution_count": 22,
1390
- "metadata": {},
1391
- "output_type": "execute_result"
1392
- }
1393
- ],
1394
- "source": [
1395
- "len(tickers)"
1396
- ]
1397
- },
1398
- {
1399
- "cell_type": "code",
1400
- "execution_count": 23,
1401
- "id": "7bb3b25f",
1402
- "metadata": {},
1403
- "outputs": [
1404
- {
1405
- "data": {
1406
- "text/plain": [
1407
- "True"
1408
- ]
1409
- },
1410
- "execution_count": 23,
1411
- "metadata": {},
1412
- "output_type": "execute_result"
1413
- }
1414
- ],
1415
- "source": [
1416
- "'USDC' in tickers"
1417
- ]
1418
- },
1419
- {
1420
- "cell_type": "code",
1421
- "execution_count": 24,
1422
- "id": "a8e7f96e-107c-4d13-bf2e-ad967e1cd498",
1423
- "metadata": {},
1424
- "outputs": [],
1425
- "source": [
1426
- "tickers.remove('USDC')"
1427
- ]
1428
- },
1429
- {
1430
- "cell_type": "code",
1431
- "execution_count": 25,
1432
- "id": "6fb552cc",
1433
- "metadata": {},
1434
- "outputs": [],
1435
- "source": [
1436
- "for tick in tickers:\n",
1437
- " if tick[:3] == 'USD':\n",
1438
- " print(tick)"
1439
- ]
1440
- },
1441
- {
1442
- "cell_type": "code",
1443
- "execution_count": 26,
1444
- "id": "4d353f30-2fb2-4e3f-ac8d-e74379622a7d",
1445
- "metadata": {},
1446
- "outputs": [
1447
- {
1448
- "data": {
1449
- "text/plain": [
1450
- "['BTC', 'ETH', 'BCH', 'XRP', 'EOS', 'LTC', 'TRX', 'ETC', 'LINK', 'XLM']"
1451
- ]
1452
- },
1453
- "execution_count": 26,
1454
- "metadata": {},
1455
- "output_type": "execute_result"
1456
- }
1457
- ],
1458
- "source": [
1459
- "tickers[:10]"
1460
- ]
1461
- },
1462
- {
1463
- "cell_type": "markdown",
1464
- "id": "f80eb97d",
1465
- "metadata": {},
1466
- "source": [
1467
- "### Binance Perp Futures"
1468
- ]
1469
- },
1470
- {
1471
- "cell_type": "code",
1472
- "execution_count": 54,
1473
- "id": "49b09508",
1474
- "metadata": {},
1475
- "outputs": [],
1476
- "source": [
1477
- "# pull daily OHLC and funding rates for perp futures on Binance USDM exchange\n",
1478
- "data_req = DataRequest(source='ccxt',\n",
1479
- " start_date='2024-09-20',\n",
1480
- " end_date='2024-09-21',\n",
1481
- " tickers=['btc', 'eth', 'sol'],\n",
1482
- " fields=['open', 'high', 'low', 'close', 'volume', 'funding_rate'], \n",
1483
- " mkt_type='perpetual_future', \n",
1484
- " freq='d')"
1485
- ]
1486
- },
1487
- {
1488
- "cell_type": "code",
1489
- "execution_count": 55,
1490
- "id": "6ac9365b",
1491
- "metadata": {},
1492
- "outputs": [
1493
- {
1494
- "name": "stderr",
1495
- "output_type": "stream",
1496
- "text": [
1497
- "WARNING:root:Missing recent funding rate data for BTC/USDT:USDT.\n",
1498
- "WARNING:root:Missing recent funding rate data for ETH/USDT:USDT.\n",
1499
- "WARNING:root:Missing recent funding rate data for SOL/USDT:USDT.\n"
1500
- ]
1501
- }
1502
- ],
1503
- "source": [
1504
- "df1 = GetData(data_req).get_series()"
1505
- ]
1506
- },
1507
- {
1508
- "cell_type": "code",
1509
- "execution_count": 56,
1510
- "id": "f76e0fc1-466c-4ab6-b1dc-d3f4c1fe0266",
1511
- "metadata": {},
1512
- "outputs": [
1513
- {
1514
- "data": {
1515
- "text/html": [
1516
- "<div>\n",
1517
- "<style scoped>\n",
1518
- " .dataframe tbody tr th:only-of-type {\n",
1519
- " vertical-align: middle;\n",
1520
- " }\n",
1521
- "\n",
1522
- " .dataframe tbody tr th {\n",
1523
- " vertical-align: top;\n",
1524
- " }\n",
1525
- "\n",
1526
- " .dataframe thead th {\n",
1527
- " text-align: right;\n",
1528
- " }\n",
1529
- "</style>\n",
1530
- "<table border=\"1\" class=\"dataframe\">\n",
1531
- " <thead>\n",
1532
- " <tr style=\"text-align: right;\">\n",
1533
- " <th></th>\n",
1534
- " <th></th>\n",
1535
- " <th>open</th>\n",
1536
- " <th>high</th>\n",
1537
- " <th>low</th>\n",
1538
- " <th>close</th>\n",
1539
- " <th>volume</th>\n",
1540
- " <th>funding_rate</th>\n",
1541
- " </tr>\n",
1542
- " <tr>\n",
1543
- " <th>date</th>\n",
1544
- " <th>ticker</th>\n",
1545
- " <th></th>\n",
1546
- " <th></th>\n",
1547
- " <th></th>\n",
1548
- " <th></th>\n",
1549
- " <th></th>\n",
1550
- " <th></th>\n",
1551
- " </tr>\n",
1552
- " </thead>\n",
1553
- " <tbody>\n",
1554
- " <tr>\n",
1555
- " <th rowspan=\"3\" valign=\"top\">2024-09-20</th>\n",
1556
- " <th>BTC</th>\n",
1557
- " <td>62926.9</td>\n",
1558
- " <td>64126.7</td>\n",
1559
- " <td>62320.0</td>\n",
1560
- " <td>63175.7</td>\n",
1561
- " <td>257172.835</td>\n",
1562
- " <td>0.000186</td>\n",
1563
- " </tr>\n",
1564
- " <tr>\n",
1565
- " <th>ETH</th>\n",
1566
- " <td>2464.55</td>\n",
1567
- " <td>2572.18</td>\n",
1568
- " <td>2436.11</td>\n",
1569
- " <td>2560.29</td>\n",
1570
- " <td>3062258.119</td>\n",
1571
- " <td>0.000397</td>\n",
1572
- " </tr>\n",
1573
- " <tr>\n",
1574
- " <th>SOL</th>\n",
1575
- " <td>142.819</td>\n",
1576
- " <td>152.5</td>\n",
1577
- " <td>141.131</td>\n",
1578
- " <td>146.627</td>\n",
1579
- " <td>24866257.0</td>\n",
1580
- " <td>0.0004</td>\n",
1581
- " </tr>\n",
1582
- " <tr>\n",
1583
- " <th rowspan=\"3\" valign=\"top\">2024-09-21</th>\n",
1584
- " <th>BTC</th>\n",
1585
- " <td>63175.8</td>\n",
1586
- " <td>63546.9</td>\n",
1587
- " <td>62714.2</td>\n",
1588
- " <td>63320.6</td>\n",
1589
- " <td>78248.362</td>\n",
1590
- " <td>&lt;NA&gt;</td>\n",
1591
- " </tr>\n",
1592
- " <tr>\n",
1593
- " <th>ETH</th>\n",
1594
- " <td>2560.3</td>\n",
1595
- " <td>2623.85</td>\n",
1596
- " <td>2527.69</td>\n",
1597
- " <td>2611.4</td>\n",
1598
- " <td>1505216.371</td>\n",
1599
- " <td>&lt;NA&gt;</td>\n",
1600
- " </tr>\n",
1601
- " <tr>\n",
1602
- " <th>SOL</th>\n",
1603
- " <td>146.626</td>\n",
1604
- " <td>149.775</td>\n",
1605
- " <td>144.54</td>\n",
1606
- " <td>149.372</td>\n",
1607
- " <td>9408301.0</td>\n",
1608
- " <td>&lt;NA&gt;</td>\n",
1609
- " </tr>\n",
1610
- " </tbody>\n",
1611
- "</table>\n",
1612
- "</div>"
1613
- ],
1614
- "text/plain": [
1615
- " open high low close volume \\\n",
1616
- "date ticker \n",
1617
- "2024-09-20 BTC 62926.9 64126.7 62320.0 63175.7 257172.835 \n",
1618
- " ETH 2464.55 2572.18 2436.11 2560.29 3062258.119 \n",
1619
- " SOL 142.819 152.5 141.131 146.627 24866257.0 \n",
1620
- "2024-09-21 BTC 63175.8 63546.9 62714.2 63320.6 78248.362 \n",
1621
- " ETH 2560.3 2623.85 2527.69 2611.4 1505216.371 \n",
1622
- " SOL 146.626 149.775 144.54 149.372 9408301.0 \n",
1623
- "\n",
1624
- " funding_rate \n",
1625
- "date ticker \n",
1626
- "2024-09-20 BTC 0.000186 \n",
1627
- " ETH 0.000397 \n",
1628
- " SOL 0.0004 \n",
1629
- "2024-09-21 BTC <NA> \n",
1630
- " ETH <NA> \n",
1631
- " SOL <NA> "
1632
- ]
1633
- },
1634
- "execution_count": 56,
1635
- "metadata": {},
1636
- "output_type": "execute_result"
1637
- }
1638
- ],
1639
- "source": [
1640
- "df1"
1641
- ]
1642
- },
1643
- {
1644
- "cell_type": "code",
1645
- "execution_count": null,
1646
- "id": "afea6653-5a1c-40fc-93f3-b6dbfc8314a8",
1647
- "metadata": {},
1648
- "outputs": [],
1649
- "source": []
1650
- },
1651
- {
1652
- "cell_type": "code",
1653
- "execution_count": null,
1654
- "id": "3fd4e919-8ade-4ead-995a-0217a2bedff3",
1655
- "metadata": {},
1656
- "outputs": [],
1657
- "source": []
1658
- },
1659
- {
1660
- "cell_type": "code",
1661
- "execution_count": null,
1662
- "id": "81efee63-3c0e-4d30-8573-b80b6019b014",
1663
- "metadata": {},
1664
- "outputs": [],
1665
- "source": []
1666
- },
1667
- {
1668
- "cell_type": "code",
1669
- "execution_count": null,
1670
- "id": "f736db5a-f9a4-4de8-ac1e-692005f19623",
1671
- "metadata": {},
1672
- "outputs": [],
1673
- "source": []
1674
- },
1675
- {
1676
- "cell_type": "code",
1677
- "execution_count": null,
1678
- "id": "dbb49934-8a6c-4b28-9b9b-66e31752948c",
1679
- "metadata": {},
1680
- "outputs": [],
1681
- "source": []
1682
- },
1683
- {
1684
- "cell_type": "code",
1685
- "execution_count": 29,
1686
- "id": "98a425b2",
1687
- "metadata": {},
1688
- "outputs": [],
1689
- "source": [
1690
- "# # df1.to_csv('binance_perp_futures.csv')\n",
1691
- "# df1 = pd.read_csv('../../../../factorlab/notebooks/binance_perp_futures.csv', index_col=['date', 'ticker'], parse_dates=['date'])"
1692
- ]
1693
- },
1694
- {
1695
- "cell_type": "code",
1696
- "execution_count": 30,
1697
- "id": "0e04da4a",
1698
- "metadata": {},
1699
- "outputs": [
1700
- {
1701
- "data": {
1702
- "text/html": [
1703
- "<div>\n",
1704
- "<style scoped>\n",
1705
- " .dataframe tbody tr th:only-of-type {\n",
1706
- " vertical-align: middle;\n",
1707
- " }\n",
1708
- "\n",
1709
- " .dataframe tbody tr th {\n",
1710
- " vertical-align: top;\n",
1711
- " }\n",
1712
- "\n",
1713
- " .dataframe thead th {\n",
1714
- " text-align: right;\n",
1715
- " }\n",
1716
- "</style>\n",
1717
- "<table border=\"1\" class=\"dataframe\">\n",
1718
- " <thead>\n",
1719
- " <tr style=\"text-align: right;\">\n",
1720
- " <th></th>\n",
1721
- " <th></th>\n",
1722
- " <th>open</th>\n",
1723
- " <th>high</th>\n",
1724
- " <th>low</th>\n",
1725
- " <th>close</th>\n",
1726
- " <th>volume</th>\n",
1727
- " <th>funding_rate</th>\n",
1728
- " </tr>\n",
1729
- " <tr>\n",
1730
- " <th>date</th>\n",
1731
- " <th>ticker</th>\n",
1732
- " <th></th>\n",
1733
- " <th></th>\n",
1734
- " <th></th>\n",
1735
- " <th></th>\n",
1736
- " <th></th>\n",
1737
- " <th></th>\n",
1738
- " </tr>\n",
1739
- " </thead>\n",
1740
- " <tbody>\n",
1741
- " <tr>\n",
1742
- " <th>2019-09-08</th>\n",
1743
- " <th>BTC</th>\n",
1744
- " <td>10000.0</td>\n",
1745
- " <td>10412.65</td>\n",
1746
- " <td>10000.0</td>\n",
1747
- " <td>10391.63</td>\n",
1748
- " <td>3096.291</td>\n",
1749
- " <td>&lt;NA&gt;</td>\n",
1750
- " </tr>\n",
1751
- " <tr>\n",
1752
- " <th>2019-09-09</th>\n",
1753
- " <th>BTC</th>\n",
1754
- " <td>10316.62</td>\n",
1755
- " <td>10475.54</td>\n",
1756
- " <td>10077.22</td>\n",
1757
- " <td>10307.0</td>\n",
1758
- " <td>14824.373</td>\n",
1759
- " <td>&lt;NA&gt;</td>\n",
1760
- " </tr>\n",
1761
- " <tr>\n",
1762
- " <th>2019-09-10</th>\n",
1763
- " <th>BTC</th>\n",
1764
- " <td>10307.0</td>\n",
1765
- " <td>10382.97</td>\n",
1766
- " <td>9940.87</td>\n",
1767
- " <td>10102.02</td>\n",
1768
- " <td>9068.955</td>\n",
1769
- " <td>0.0002</td>\n",
1770
- " </tr>\n",
1771
- " <tr>\n",
1772
- " <th>2019-09-11</th>\n",
1773
- " <th>BTC</th>\n",
1774
- " <td>10094.27</td>\n",
1775
- " <td>10293.11</td>\n",
1776
- " <td>9884.31</td>\n",
1777
- " <td>10159.55</td>\n",
1778
- " <td>10897.922</td>\n",
1779
- " <td>0.0003</td>\n",
1780
- " </tr>\n",
1781
- " <tr>\n",
1782
- " <th>2019-09-12</th>\n",
1783
- " <th>BTC</th>\n",
1784
- " <td>10163.06</td>\n",
1785
- " <td>10450.13</td>\n",
1786
- " <td>10042.12</td>\n",
1787
- " <td>10415.13</td>\n",
1788
- " <td>15609.634</td>\n",
1789
- " <td>0.0003</td>\n",
1790
- " </tr>\n",
1791
- " </tbody>\n",
1792
- "</table>\n",
1793
- "</div>"
1794
- ],
1795
- "text/plain": [
1796
- " open high low close volume \\\n",
1797
- "date ticker \n",
1798
- "2019-09-08 BTC 10000.0 10412.65 10000.0 10391.63 3096.291 \n",
1799
- "2019-09-09 BTC 10316.62 10475.54 10077.22 10307.0 14824.373 \n",
1800
- "2019-09-10 BTC 10307.0 10382.97 9940.87 10102.02 9068.955 \n",
1801
- "2019-09-11 BTC 10094.27 10293.11 9884.31 10159.55 10897.922 \n",
1802
- "2019-09-12 BTC 10163.06 10450.13 10042.12 10415.13 15609.634 \n",
1803
- "\n",
1804
- " funding_rate \n",
1805
- "date ticker \n",
1806
- "2019-09-08 BTC <NA> \n",
1807
- "2019-09-09 BTC <NA> \n",
1808
- "2019-09-10 BTC 0.0002 \n",
1809
- "2019-09-11 BTC 0.0003 \n",
1810
- "2019-09-12 BTC 0.0003 "
1811
- ]
1812
- },
1813
- "execution_count": 30,
1814
- "metadata": {},
1815
- "output_type": "execute_result"
1816
- }
1817
- ],
1818
- "source": [
1819
- "df1.head()"
1820
- ]
1821
- },
1822
- {
1823
- "cell_type": "code",
1824
- "execution_count": 32,
1825
- "id": "9bf4c202-f352-4bc8-9e22-5ce3b77fe72b",
1826
- "metadata": {},
1827
- "outputs": [
1828
- {
1829
- "data": {
1830
- "text/plain": [
1831
- "(288,)"
1832
- ]
1833
- },
1834
- "execution_count": 32,
1835
- "metadata": {},
1836
- "output_type": "execute_result"
1837
- }
1838
- ],
1839
- "source": [
1840
- "df1.index.get_level_values(1).unique().shape"
1841
- ]
1842
- },
1843
- {
1844
- "cell_type": "markdown",
1845
- "id": "32f15191",
1846
- "metadata": {},
1847
- "source": [
1848
- "### Binance Spot"
1849
- ]
1850
- },
1851
- {
1852
- "cell_type": "code",
1853
- "execution_count": 33,
1854
- "id": "83e9e466",
1855
- "metadata": {},
1856
- "outputs": [],
1857
- "source": [
1858
- "# pull OHLC from Binance\n",
1859
- "data_req = DataRequest(source='ccxt',\n",
1860
- " tickers=tickers, \n",
1861
- " fields=['open', 'high', 'low', 'close', 'volume'], \n",
1862
- " freq='d')"
1863
- ]
1864
- },
1865
- {
1866
- "cell_type": "code",
1867
- "execution_count": 34,
1868
- "id": "82d4bbc7",
1869
- "metadata": {},
1870
- "outputs": [
1871
- {
1872
- "name": "stderr",
1873
- "output_type": "stream",
1874
- "text": [
1875
- "WARNING:root:Missing recent OHLCV data for XMR/USDT.\n",
1876
- "WARNING:root:Missing recent OHLCV data for OMG/USDT.\n",
1877
- "WARNING:root:Missing recent OHLCV data for WAVES/USDT.\n",
1878
- "WARNING:root:Missing recent OHLCV data for OCEAN/USDT.\n",
1879
- "WARNING:root:Missing recent OHLCV data for REEF/USDT.\n",
1880
- "WARNING:root:Missing recent OHLCV data for XEM/USDT.\n",
1881
- "WARNING:root:Missing recent OHLCV data for BTCST/USDT.\n",
1882
- "WARNING:root:Missing recent OHLCV data for AGIX/USDT.\n",
1883
- "WARNING:root:Missing recent OHLCV data for FRONT/USDT.\n",
1884
- "WARNING:root:Missing recent OHLCV data for LOOM/USDT.\n",
1885
- "WARNING:root:Missing recent OHLCV data for BOND/USDT.\n",
1886
- "WARNING:root:Missing recent OHLCV data for BSV/USDT.\n"
1887
- ]
1888
- }
1889
- ],
1890
- "source": [
1891
- "df2 = GetData(data_req).get_series()"
1892
- ]
1893
- },
1894
- {
1895
- "cell_type": "code",
1896
- "execution_count": 35,
1897
- "id": "4f63eb21",
1898
- "metadata": {},
1899
- "outputs": [],
1900
- "source": [
1901
- "# # df2.to_csv('binance_spot.csv')\n",
1902
- "# df2 = pd.read_csv('../../../../factorlab/notebooks/binance_spot.csv', index_col=['date', 'ticker'], parse_dates=['date'])"
1903
- ]
1904
- },
1905
- {
1906
- "cell_type": "code",
1907
- "execution_count": 36,
1908
- "id": "ce8929c1",
1909
- "metadata": {},
1910
- "outputs": [
1911
- {
1912
- "data": {
1913
- "text/html": [
1914
- "<div>\n",
1915
- "<style scoped>\n",
1916
- " .dataframe tbody tr th:only-of-type {\n",
1917
- " vertical-align: middle;\n",
1918
- " }\n",
1919
- "\n",
1920
- " .dataframe tbody tr th {\n",
1921
- " vertical-align: top;\n",
1922
- " }\n",
1923
- "\n",
1924
- " .dataframe thead th {\n",
1925
- " text-align: right;\n",
1926
- " }\n",
1927
- "</style>\n",
1928
- "<table border=\"1\" class=\"dataframe\">\n",
1929
- " <thead>\n",
1930
- " <tr style=\"text-align: right;\">\n",
1931
- " <th></th>\n",
1932
- " <th></th>\n",
1933
- " <th>open</th>\n",
1934
- " <th>high</th>\n",
1935
- " <th>low</th>\n",
1936
- " <th>close</th>\n",
1937
- " <th>volume</th>\n",
1938
- " </tr>\n",
1939
- " <tr>\n",
1940
- " <th>date</th>\n",
1941
- " <th>ticker</th>\n",
1942
- " <th></th>\n",
1943
- " <th></th>\n",
1944
- " <th></th>\n",
1945
- " <th></th>\n",
1946
- " <th></th>\n",
1947
- " </tr>\n",
1948
- " </thead>\n",
1949
- " <tbody>\n",
1950
- " <tr>\n",
1951
- " <th rowspan=\"2\" valign=\"top\">2017-08-17</th>\n",
1952
- " <th>BTC</th>\n",
1953
- " <td>4261.48</td>\n",
1954
- " <td>4485.39</td>\n",
1955
- " <td>4200.74</td>\n",
1956
- " <td>4285.08</td>\n",
1957
- " <td>795.150377</td>\n",
1958
- " </tr>\n",
1959
- " <tr>\n",
1960
- " <th>ETH</th>\n",
1961
- " <td>301.13</td>\n",
1962
- " <td>312.18</td>\n",
1963
- " <td>298.0</td>\n",
1964
- " <td>302.0</td>\n",
1965
- " <td>7030.71034</td>\n",
1966
- " </tr>\n",
1967
- " <tr>\n",
1968
- " <th rowspan=\"2\" valign=\"top\">2017-08-18</th>\n",
1969
- " <th>BTC</th>\n",
1970
- " <td>4285.08</td>\n",
1971
- " <td>4371.52</td>\n",
1972
- " <td>3938.77</td>\n",
1973
- " <td>4108.37</td>\n",
1974
- " <td>1199.888264</td>\n",
1975
- " </tr>\n",
1976
- " <tr>\n",
1977
- " <th>ETH</th>\n",
1978
- " <td>302.0</td>\n",
1979
- " <td>311.79</td>\n",
1980
- " <td>283.94</td>\n",
1981
- " <td>293.96</td>\n",
1982
- " <td>9537.84646</td>\n",
1983
- " </tr>\n",
1984
- " <tr>\n",
1985
- " <th>2017-08-19</th>\n",
1986
- " <th>BTC</th>\n",
1987
- " <td>4108.37</td>\n",
1988
- " <td>4184.69</td>\n",
1989
- " <td>3850.0</td>\n",
1990
- " <td>4139.98</td>\n",
1991
- " <td>381.309763</td>\n",
1992
- " </tr>\n",
1993
- " </tbody>\n",
1994
- "</table>\n",
1995
- "</div>"
1996
- ],
1997
- "text/plain": [
1998
- " open high low close volume\n",
1999
- "date ticker \n",
2000
- "2017-08-17 BTC 4261.48 4485.39 4200.74 4285.08 795.150377\n",
2001
- " ETH 301.13 312.18 298.0 302.0 7030.71034\n",
2002
- "2017-08-18 BTC 4285.08 4371.52 3938.77 4108.37 1199.888264\n",
2003
- " ETH 302.0 311.79 283.94 293.96 9537.84646\n",
2004
- "2017-08-19 BTC 4108.37 4184.69 3850.0 4139.98 381.309763"
2005
- ]
2006
- },
2007
- "execution_count": 36,
2008
- "metadata": {},
2009
- "output_type": "execute_result"
2010
- }
2011
- ],
2012
- "source": [
2013
- "df2.head()"
2014
- ]
2015
- },
2016
- {
2017
- "cell_type": "code",
2018
- "execution_count": 37,
2019
- "id": "35b3d731-2a0f-4ec2-9444-f79d5cb7e680",
2020
- "metadata": {},
2021
- "outputs": [
2022
- {
2023
- "data": {
2024
- "text/plain": [
2025
- "(288,)"
2026
- ]
2027
- },
2028
- "execution_count": 37,
2029
- "metadata": {},
2030
- "output_type": "execute_result"
2031
- }
2032
- ],
2033
- "source": [
2034
- "df2.index.get_level_values(1).unique().shape"
2035
- ]
2036
- },
2037
- {
2038
- "cell_type": "markdown",
2039
- "id": "05f93b91",
2040
- "metadata": {},
2041
- "source": [
2042
- "### CryptoCompare - Historical Prices"
2043
- ]
2044
- },
2045
- {
2046
- "cell_type": "code",
2047
- "execution_count": 38,
2048
- "id": "7f14d874",
2049
- "metadata": {},
2050
- "outputs": [],
2051
- "source": [
2052
- "# pull OHLC from CryptoCompare\n",
2053
- "data_req = DataRequest(source='cryptocompare',\n",
2054
- " tickers=tickers, \n",
2055
- " fields=['open', 'high', 'low', 'close', 'volume'], \n",
2056
- " freq='d')"
2057
- ]
2058
- },
2059
- {
2060
- "cell_type": "code",
2061
- "execution_count": 39,
2062
- "id": "3a8708d3",
2063
- "metadata": {},
2064
- "outputs": [],
2065
- "source": [
2066
- "df3 = GetData(data_req).get_series()"
2067
- ]
2068
- },
2069
- {
2070
- "cell_type": "code",
2071
- "execution_count": 40,
2072
- "id": "aa265538",
2073
- "metadata": {},
2074
- "outputs": [],
2075
- "source": [
2076
- "# # df3.to_csv('cc_spot.csv')\n",
2077
- "# df3 = pd.read_csv('../../../../factorlab/notebooks/cc_spot.csv', index_col=['date', 'ticker'], parse_dates=['date'])"
2078
- ]
2079
- },
2080
- {
2081
- "cell_type": "code",
2082
- "execution_count": 41,
2083
- "id": "17274df7",
2084
- "metadata": {},
2085
- "outputs": [
2086
- {
2087
- "data": {
2088
- "text/html": [
2089
- "<div>\n",
2090
- "<style scoped>\n",
2091
- " .dataframe tbody tr th:only-of-type {\n",
2092
- " vertical-align: middle;\n",
2093
- " }\n",
2094
- "\n",
2095
- " .dataframe tbody tr th {\n",
2096
- " vertical-align: top;\n",
2097
- " }\n",
2098
- "\n",
2099
- " .dataframe thead th {\n",
2100
- " text-align: right;\n",
2101
- " }\n",
2102
- "</style>\n",
2103
- "<table border=\"1\" class=\"dataframe\">\n",
2104
- " <thead>\n",
2105
- " <tr style=\"text-align: right;\">\n",
2106
- " <th></th>\n",
2107
- " <th></th>\n",
2108
- " <th>open</th>\n",
2109
- " <th>high</th>\n",
2110
- " <th>low</th>\n",
2111
- " <th>close</th>\n",
2112
- " <th>volume</th>\n",
2113
- " </tr>\n",
2114
- " <tr>\n",
2115
- " <th>date</th>\n",
2116
- " <th>ticker</th>\n",
2117
- " <th></th>\n",
2118
- " <th></th>\n",
2119
- " <th></th>\n",
2120
- " <th></th>\n",
2121
- " <th></th>\n",
2122
- " </tr>\n",
2123
- " </thead>\n",
2124
- " <tbody>\n",
2125
- " <tr>\n",
2126
- " <th>2010-07-17</th>\n",
2127
- " <th>BTC</th>\n",
2128
- " <td>0.04951</td>\n",
2129
- " <td>0.04951</td>\n",
2130
- " <td>0.04951</td>\n",
2131
- " <td>0.04951</td>\n",
2132
- " <td>20.0</td>\n",
2133
- " </tr>\n",
2134
- " <tr>\n",
2135
- " <th>2010-07-18</th>\n",
2136
- " <th>BTC</th>\n",
2137
- " <td>0.04951</td>\n",
2138
- " <td>0.08585</td>\n",
2139
- " <td>0.04951</td>\n",
2140
- " <td>0.08584</td>\n",
2141
- " <td>75.01</td>\n",
2142
- " </tr>\n",
2143
- " <tr>\n",
2144
- " <th>2010-07-19</th>\n",
2145
- " <th>BTC</th>\n",
2146
- " <td>0.08584</td>\n",
2147
- " <td>0.09307</td>\n",
2148
- " <td>0.07723</td>\n",
2149
- " <td>0.0808</td>\n",
2150
- " <td>574.0</td>\n",
2151
- " </tr>\n",
2152
- " <tr>\n",
2153
- " <th>2010-07-20</th>\n",
2154
- " <th>BTC</th>\n",
2155
- " <td>0.0808</td>\n",
2156
- " <td>0.08181</td>\n",
2157
- " <td>0.07426</td>\n",
2158
- " <td>0.07474</td>\n",
2159
- " <td>262.0</td>\n",
2160
- " </tr>\n",
2161
- " <tr>\n",
2162
- " <th>2010-07-21</th>\n",
2163
- " <th>BTC</th>\n",
2164
- " <td>0.07474</td>\n",
2165
- " <td>0.07921</td>\n",
2166
- " <td>0.06634</td>\n",
2167
- " <td>0.07921</td>\n",
2168
- " <td>575.0</td>\n",
2169
- " </tr>\n",
2170
- " </tbody>\n",
2171
- "</table>\n",
2172
- "</div>"
2173
- ],
2174
- "text/plain": [
2175
- " open high low close volume\n",
2176
- "date ticker \n",
2177
- "2010-07-17 BTC 0.04951 0.04951 0.04951 0.04951 20.0\n",
2178
- "2010-07-18 BTC 0.04951 0.08585 0.04951 0.08584 75.01\n",
2179
- "2010-07-19 BTC 0.08584 0.09307 0.07723 0.0808 574.0\n",
2180
- "2010-07-20 BTC 0.0808 0.08181 0.07426 0.07474 262.0\n",
2181
- "2010-07-21 BTC 0.07474 0.07921 0.06634 0.07921 575.0"
2182
- ]
2183
- },
2184
- "execution_count": 41,
2185
- "metadata": {},
2186
- "output_type": "execute_result"
2187
- }
2188
- ],
2189
- "source": [
2190
- "df3.head()"
2191
- ]
2192
- },
2193
- {
2194
- "cell_type": "code",
2195
- "execution_count": 42,
2196
- "id": "4d8c7b38-4c3d-4c97-8f8d-34fb88c29229",
2197
- "metadata": {},
2198
- "outputs": [
2199
- {
2200
- "data": {
2201
- "text/plain": [
2202
- "(285,)"
2203
- ]
2204
- },
2205
- "execution_count": 42,
2206
- "metadata": {},
2207
- "output_type": "execute_result"
2208
- }
2209
- ],
2210
- "source": [
2211
- "df3.index.get_level_values(1).unique().shape"
2212
- ]
2213
- },
2214
- {
2215
- "cell_type": "markdown",
2216
- "id": "5664e968",
2217
- "metadata": {},
2218
- "source": [
2219
- "### Clean Data"
2220
- ]
2221
- },
2222
- {
2223
- "cell_type": "code",
2224
- "execution_count": 43,
2225
- "id": "f5ee4f6d",
2226
- "metadata": {},
2227
- "outputs": [],
2228
- "source": [
2229
- "df = stitch_dataframes([df1, df2, df3])\n",
2230
- "df.funding_rate = df.funding_rate.fillna(0)"
2231
- ]
2232
- },
2233
- {
2234
- "cell_type": "code",
2235
- "execution_count": 44,
2236
- "id": "0f41592e",
2237
- "metadata": {},
2238
- "outputs": [],
2239
- "source": [
2240
- "df.to_csv('../../../../factorlab/notebooks/crypto_historical_ohlcv_daily.csv')"
2241
- ]
2242
- },
2243
- {
2244
- "cell_type": "code",
2245
- "execution_count": 45,
2246
- "id": "723834e6-9895-4b03-9fd8-5db1b274b3b7",
2247
- "metadata": {},
2248
- "outputs": [
2249
- {
2250
- "data": {
2251
- "text/html": [
2252
- "<div>\n",
2253
- "<style scoped>\n",
2254
- " .dataframe tbody tr th:only-of-type {\n",
2255
- " vertical-align: middle;\n",
2256
- " }\n",
2257
- "\n",
2258
- " .dataframe tbody tr th {\n",
2259
- " vertical-align: top;\n",
2260
- " }\n",
2261
- "\n",
2262
- " .dataframe thead th {\n",
2263
- " text-align: right;\n",
2264
- " }\n",
2265
- "</style>\n",
2266
- "<table border=\"1\" class=\"dataframe\">\n",
2267
- " <thead>\n",
2268
- " <tr style=\"text-align: right;\">\n",
2269
- " <th></th>\n",
2270
- " <th></th>\n",
2271
- " <th>open</th>\n",
2272
- " <th>high</th>\n",
2273
- " <th>low</th>\n",
2274
- " <th>close</th>\n",
2275
- " <th>volume</th>\n",
2276
- " <th>funding_rate</th>\n",
2277
- " </tr>\n",
2278
- " <tr>\n",
2279
- " <th>date</th>\n",
2280
- " <th>ticker</th>\n",
2281
- " <th></th>\n",
2282
- " <th></th>\n",
2283
- " <th></th>\n",
2284
- " <th></th>\n",
2285
- " <th></th>\n",
2286
- " <th></th>\n",
2287
- " </tr>\n",
2288
- " </thead>\n",
2289
- " <tbody>\n",
2290
- " <tr>\n",
2291
- " <th>2010-07-17</th>\n",
2292
- " <th>BTC</th>\n",
2293
- " <td>0.04951</td>\n",
2294
- " <td>0.04951</td>\n",
2295
- " <td>0.04951</td>\n",
2296
- " <td>0.04951</td>\n",
2297
- " <td>20.0</td>\n",
2298
- " <td>0.0</td>\n",
2299
- " </tr>\n",
2300
- " <tr>\n",
2301
- " <th>2010-07-18</th>\n",
2302
- " <th>BTC</th>\n",
2303
- " <td>0.04951</td>\n",
2304
- " <td>0.08585</td>\n",
2305
- " <td>0.04951</td>\n",
2306
- " <td>0.08584</td>\n",
2307
- " <td>75.01</td>\n",
2308
- " <td>0.0</td>\n",
2309
- " </tr>\n",
2310
- " <tr>\n",
2311
- " <th>2010-07-19</th>\n",
2312
- " <th>BTC</th>\n",
2313
- " <td>0.08584</td>\n",
2314
- " <td>0.09307</td>\n",
2315
- " <td>0.07723</td>\n",
2316
- " <td>0.0808</td>\n",
2317
- " <td>574.0</td>\n",
2318
- " <td>0.0</td>\n",
2319
- " </tr>\n",
2320
- " <tr>\n",
2321
- " <th>2010-07-20</th>\n",
2322
- " <th>BTC</th>\n",
2323
- " <td>0.0808</td>\n",
2324
- " <td>0.08181</td>\n",
2325
- " <td>0.07426</td>\n",
2326
- " <td>0.07474</td>\n",
2327
- " <td>262.0</td>\n",
2328
- " <td>0.0</td>\n",
2329
- " </tr>\n",
2330
- " <tr>\n",
2331
- " <th>2010-07-21</th>\n",
2332
- " <th>BTC</th>\n",
2333
- " <td>0.07474</td>\n",
2334
- " <td>0.07921</td>\n",
2335
- " <td>0.06634</td>\n",
2336
- " <td>0.07921</td>\n",
2337
- " <td>575.0</td>\n",
2338
- " <td>0.0</td>\n",
2339
- " </tr>\n",
2340
- " <tr>\n",
2341
- " <th>...</th>\n",
2342
- " <th>...</th>\n",
2343
- " <td>...</td>\n",
2344
- " <td>...</td>\n",
2345
- " <td>...</td>\n",
2346
- " <td>...</td>\n",
2347
- " <td>...</td>\n",
2348
- " <td>...</td>\n",
2349
- " </tr>\n",
2350
- " <tr>\n",
2351
- " <th rowspan=\"5\" valign=\"top\">2024-09-06</th>\n",
2352
- " <th>ZETA</th>\n",
2353
- " <td>0.4343</td>\n",
2354
- " <td>0.4545</td>\n",
2355
- " <td>0.4269</td>\n",
2356
- " <td>0.4388</td>\n",
2357
- " <td>20690742.0</td>\n",
2358
- " <td>0.00025</td>\n",
2359
- " </tr>\n",
2360
- " <tr>\n",
2361
- " <th>ZIL</th>\n",
2362
- " <td>0.01299</td>\n",
2363
- " <td>0.01334</td>\n",
2364
- " <td>0.0127</td>\n",
2365
- " <td>0.01292</td>\n",
2366
- " <td>411662123.0</td>\n",
2367
- " <td>-0.000186</td>\n",
2368
- " </tr>\n",
2369
- " <tr>\n",
2370
- " <th>ZK</th>\n",
2371
- " <td>0.10044</td>\n",
2372
- " <td>0.10767</td>\n",
2373
- " <td>0.09803</td>\n",
2374
- " <td>0.10304</td>\n",
2375
- " <td>274057919.0</td>\n",
2376
- " <td>0.000216</td>\n",
2377
- " </tr>\n",
2378
- " <tr>\n",
2379
- " <th>ZRO</th>\n",
2380
- " <td>3.222</td>\n",
2381
- " <td>3.363</td>\n",
2382
- " <td>3.147</td>\n",
2383
- " <td>3.244</td>\n",
2384
- " <td>26496347.5</td>\n",
2385
- " <td>0.000067</td>\n",
2386
- " </tr>\n",
2387
- " <tr>\n",
2388
- " <th>ZRX</th>\n",
2389
- " <td>0.2714</td>\n",
2390
- " <td>0.2764</td>\n",
2391
- " <td>0.2639</td>\n",
2392
- " <td>0.2685</td>\n",
2393
- " <td>11356228.7</td>\n",
2394
- " <td>0.000016</td>\n",
2395
- " </tr>\n",
2396
- " </tbody>\n",
2397
- "</table>\n",
2398
- "<p>427203 rows × 6 columns</p>\n",
2399
- "</div>"
2400
- ],
2401
- "text/plain": [
2402
- " open high low close volume \\\n",
2403
- "date ticker \n",
2404
- "2010-07-17 BTC 0.04951 0.04951 0.04951 0.04951 20.0 \n",
2405
- "2010-07-18 BTC 0.04951 0.08585 0.04951 0.08584 75.01 \n",
2406
- "2010-07-19 BTC 0.08584 0.09307 0.07723 0.0808 574.0 \n",
2407
- "2010-07-20 BTC 0.0808 0.08181 0.07426 0.07474 262.0 \n",
2408
- "2010-07-21 BTC 0.07474 0.07921 0.06634 0.07921 575.0 \n",
2409
- "... ... ... ... ... ... \n",
2410
- "2024-09-06 ZETA 0.4343 0.4545 0.4269 0.4388 20690742.0 \n",
2411
- " ZIL 0.01299 0.01334 0.0127 0.01292 411662123.0 \n",
2412
- " ZK 0.10044 0.10767 0.09803 0.10304 274057919.0 \n",
2413
- " ZRO 3.222 3.363 3.147 3.244 26496347.5 \n",
2414
- " ZRX 0.2714 0.2764 0.2639 0.2685 11356228.7 \n",
2415
- "\n",
2416
- " funding_rate \n",
2417
- "date ticker \n",
2418
- "2010-07-17 BTC 0.0 \n",
2419
- "2010-07-18 BTC 0.0 \n",
2420
- "2010-07-19 BTC 0.0 \n",
2421
- "2010-07-20 BTC 0.0 \n",
2422
- "2010-07-21 BTC 0.0 \n",
2423
- "... ... \n",
2424
- "2024-09-06 ZETA 0.00025 \n",
2425
- " ZIL -0.000186 \n",
2426
- " ZK 0.000216 \n",
2427
- " ZRO 0.000067 \n",
2428
- " ZRX 0.000016 \n",
2429
- "\n",
2430
- "[427203 rows x 6 columns]"
2431
- ]
2432
- },
2433
- "execution_count": 45,
2434
- "metadata": {},
2435
- "output_type": "execute_result"
2436
- }
2437
- ],
2438
- "source": [
2439
- "df"
2440
- ]
2441
- },
2442
- {
2443
- "cell_type": "code",
2444
- "execution_count": 46,
2445
- "id": "dc40b220-11ae-4983-898d-8e4bd18ea87f",
2446
- "metadata": {},
2447
- "outputs": [
2448
- {
2449
- "data": {
2450
- "text/plain": [
2451
- "(288,)"
2452
- ]
2453
- },
2454
- "execution_count": 46,
2455
- "metadata": {},
2456
- "output_type": "execute_result"
2457
- }
2458
- ],
2459
- "source": [
2460
- "df.index.get_level_values(1).unique().shape"
2461
- ]
2462
- },
2463
- {
2464
- "cell_type": "code",
2465
- "execution_count": null,
2466
- "id": "8ff79a6a-7075-4a51-a4cd-34512351db8e",
2467
- "metadata": {},
2468
- "outputs": [],
2469
- "source": []
2470
- },
2471
- {
2472
- "cell_type": "code",
2473
- "execution_count": null,
2474
- "id": "d04bbb33",
2475
- "metadata": {},
2476
- "outputs": [],
2477
- "source": [
2478
- "df = pd.read_csv('../../../../factorlab/notebooks/binance_historical_ohlcv_daily.csv', \n",
2479
- " index_col=['date', 'ticker'],\n",
2480
- " parse_dates=['date']\n",
2481
- " )"
2482
- ]
2483
- },
2484
- {
2485
- "cell_type": "code",
2486
- "execution_count": null,
2487
- "id": "cbe07c91",
2488
- "metadata": {},
2489
- "outputs": [],
2490
- "source": [
2491
- "df.head()"
2492
- ]
2493
- },
2494
- {
2495
- "cell_type": "code",
2496
- "execution_count": null,
2497
- "id": "cef46007",
2498
- "metadata": {},
2499
- "outputs": [],
2500
- "source": [
2501
- "df.index.get_level_values(1).unique()"
2502
- ]
2503
- },
2504
- {
2505
- "cell_type": "code",
2506
- "execution_count": null,
2507
- "id": "9f8a899f",
2508
- "metadata": {},
2509
- "outputs": [],
2510
- "source": [
2511
- "clean = CleanData(df)"
2512
- ]
2513
- },
2514
- {
2515
- "cell_type": "code",
2516
- "execution_count": null,
2517
- "id": "29e1b955",
2518
- "metadata": {},
2519
- "outputs": [],
2520
- "source": [
2521
- "clean.filter_delisted_tickers()"
2522
- ]
2523
- },
2524
- {
2525
- "cell_type": "code",
2526
- "execution_count": null,
2527
- "id": "9315f178",
2528
- "metadata": {},
2529
- "outputs": [],
2530
- "source": [
2531
- "# clean.filter_tickers(['USDC'])"
2532
- ]
2533
- },
2534
- {
2535
- "cell_type": "code",
2536
- "execution_count": null,
2537
- "id": "88ee52ec",
2538
- "metadata": {},
2539
- "outputs": [],
2540
- "source": [
2541
- "clean.filtered_tickers"
2542
- ]
2543
- },
2544
- {
2545
- "cell_type": "code",
2546
- "execution_count": null,
2547
- "id": "e4693e52",
2548
- "metadata": {},
2549
- "outputs": [],
2550
- "source": [
2551
- "clean.filter_outliers(od_method='mad', excl_cols=['volume', 'funding_rate'], thresh_val=10)"
2552
- ]
2553
- },
2554
- {
2555
- "cell_type": "code",
2556
- "execution_count": null,
2557
- "id": "311ee6ed",
2558
- "metadata": {},
2559
- "outputs": [],
2560
- "source": [
2561
- "clean.df"
2562
- ]
2563
- },
2564
- {
2565
- "cell_type": "code",
2566
- "execution_count": null,
2567
- "id": "83caa2c6",
2568
- "metadata": {},
2569
- "outputs": [],
2570
- "source": [
2571
- "clean.repair_outliers(imp_method='fcst')"
2572
- ]
2573
- },
2574
- {
2575
- "cell_type": "code",
2576
- "execution_count": null,
2577
- "id": "f4c21352",
2578
- "metadata": {},
2579
- "outputs": [],
2580
- "source": [
2581
- "clean.df"
2582
- ]
2583
- },
2584
- {
2585
- "cell_type": "code",
2586
- "execution_count": null,
2587
- "id": "66b3d8d2",
2588
- "metadata": {},
2589
- "outputs": [],
2590
- "source": [
2591
- "clean.filter_avg_trading_val(thresh_val=500000)"
2592
- ]
2593
- },
2594
- {
2595
- "cell_type": "code",
2596
- "execution_count": null,
2597
- "id": "b7f23056",
2598
- "metadata": {},
2599
- "outputs": [],
2600
- "source": [
2601
- "clean.df"
2602
- ]
2603
- },
2604
- {
2605
- "cell_type": "code",
2606
- "execution_count": null,
2607
- "id": "b5ac345d",
2608
- "metadata": {},
2609
- "outputs": [],
2610
- "source": [
2611
- "clean.filtered_tickers"
2612
- ]
2613
- },
2614
- {
2615
- "cell_type": "code",
2616
- "execution_count": null,
2617
- "id": "6d36d4ce",
2618
- "metadata": {},
2619
- "outputs": [],
2620
- "source": [
2621
- "clean.filter_missing_vals_gaps(gap_window=7)"
2622
- ]
2623
- },
2624
- {
2625
- "cell_type": "code",
2626
- "execution_count": null,
2627
- "id": "7fe432d5",
2628
- "metadata": {},
2629
- "outputs": [],
2630
- "source": [
2631
- "clean.filtered_tickers"
2632
- ]
2633
- },
2634
- {
2635
- "cell_type": "code",
2636
- "execution_count": null,
2637
- "id": "f7cbdbae",
2638
- "metadata": {},
2639
- "outputs": [],
2640
- "source": [
2641
- "clean.filter_min_nobs(ts_obs=1000, cs_obs=5)"
2642
- ]
2643
- },
2644
- {
2645
- "cell_type": "code",
2646
- "execution_count": null,
2647
- "id": "0f5656f1",
2648
- "metadata": {},
2649
- "outputs": [],
2650
- "source": [
2651
- "len(clean.filtered_tickers)"
2652
- ]
2653
- },
2654
- {
2655
- "cell_type": "code",
2656
- "execution_count": null,
2657
- "id": "b747a897",
2658
- "metadata": {},
2659
- "outputs": [],
2660
- "source": [
2661
- "clean.filtered_tickers"
2662
- ]
2663
- },
2664
- {
2665
- "cell_type": "code",
2666
- "execution_count": null,
2667
- "id": "f13d9f1f",
2668
- "metadata": {},
2669
- "outputs": [],
2670
- "source": [
2671
- "clean.df"
2672
- ]
2673
- },
2674
- {
2675
- "cell_type": "code",
2676
- "execution_count": null,
2677
- "id": "edfe227e",
2678
- "metadata": {},
2679
- "outputs": [],
2680
- "source": [
2681
- "'TRX' in clean.df.index.get_level_values(1).unique()"
2682
- ]
2683
- },
2684
- {
2685
- "cell_type": "code",
2686
- "execution_count": null,
2687
- "id": "51134773",
2688
- "metadata": {},
2689
- "outputs": [],
2690
- "source": [
2691
- "clean.summary.close"
2692
- ]
2693
- },
2694
- {
2695
- "cell_type": "code",
2696
- "execution_count": null,
2697
- "id": "a8feb8b6",
2698
- "metadata": {},
2699
- "outputs": [],
2700
- "source": [
2701
- "clean.df.index.get_level_values(1).unique()"
2702
- ]
2703
- },
2704
- {
2705
- "cell_type": "code",
2706
- "execution_count": null,
2707
- "id": "54b818cd",
2708
- "metadata": {},
2709
- "outputs": [],
2710
- "source": [
2711
- "clean.df.dropna(how='all').to_csv('../../../../factorlab/notebooks/binance_historical_ohlcv_daily.csv')"
2712
- ]
2713
- },
2714
- {
2715
- "cell_type": "code",
2716
- "execution_count": null,
2717
- "id": "f6a79f46",
2718
- "metadata": {},
2719
- "outputs": [],
2720
- "source": []
2721
- },
2722
- {
2723
- "cell_type": "code",
2724
- "execution_count": null,
2725
- "id": "f7156f13",
2726
- "metadata": {},
2727
- "outputs": [],
2728
- "source": []
2729
- },
2730
- {
2731
- "cell_type": "code",
2732
- "execution_count": null,
2733
- "id": "29632aa4",
2734
- "metadata": {},
2735
- "outputs": [],
2736
- "source": []
2737
- },
2738
- {
2739
- "cell_type": "code",
2740
- "execution_count": null,
2741
- "id": "a9b1764c",
2742
- "metadata": {},
2743
- "outputs": [],
2744
- "source": [
2745
- "# # clean data\n",
2746
- "# clean_df = clean.filter_delisted_tickers().\\\n",
2747
- "# filter_outliers(od_method='mad', excl_cols=['volume', 'funding_rate'], thresh_val=10).\\\n",
2748
- "# repair_outliers(imp_method='fcst').\\\n",
2749
- "# filter_avg_trading_val(thresh_val=1000000).\\\n",
2750
- "# filter_missing_vals_gaps().\\\n",
2751
- "# filter_min_nobs(ts_obs=1500, cs_obs=10).\\\n",
2752
- "# get(attr='df').dropna(how='all')"
2753
- ]
2754
- },
2755
- {
2756
- "cell_type": "code",
2757
- "execution_count": null,
2758
- "id": "572d7a2e",
2759
- "metadata": {},
2760
- "outputs": [],
2761
- "source": []
2762
- },
2763
- {
2764
- "cell_type": "code",
2765
- "execution_count": null,
2766
- "id": "99857595",
2767
- "metadata": {},
2768
- "outputs": [],
2769
- "source": [
2770
- "clean.df.dropna(how='all').to_parquet('s3://factorlab-data/binance_historical_ohlcv_daily.parquet')"
2771
- ]
2772
- },
2773
- {
2774
- "cell_type": "code",
2775
- "execution_count": null,
2776
- "id": "8a962fa7",
2777
- "metadata": {},
2778
- "outputs": [],
2779
- "source": []
2780
- },
2781
- {
2782
- "cell_type": "code",
2783
- "execution_count": null,
2784
- "id": "b8fa525d",
2785
- "metadata": {},
2786
- "outputs": [],
2787
- "source": []
2788
- },
2789
- {
2790
- "cell_type": "code",
2791
- "execution_count": null,
2792
- "id": "da953cbf",
2793
- "metadata": {},
2794
- "outputs": [],
2795
- "source": []
2796
- }
2797
- ],
2798
- "metadata": {
2799
- "kernelspec": {
2800
- "display_name": "cryptodatapy",
2801
- "language": "python",
2802
- "name": "cryptodatapy"
2803
- },
2804
- "language_info": {
2805
- "codemirror_mode": {
2806
- "name": "ipython",
2807
- "version": 3
2808
- },
2809
- "file_extension": ".py",
2810
- "mimetype": "text/x-python",
2811
- "name": "python",
2812
- "nbconvert_exporter": "python",
2813
- "pygments_lexer": "ipython3",
2814
- "version": "3.9.12"
2815
- }
2816
- },
2817
- "nbformat": 4,
2818
- "nbformat_minor": 5
2819
- }