cryptodatapy 0.2.5__py3-none-any.whl → 0.2.7__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.
Files changed (42) hide show
  1. cryptodatapy/conf/fields.csv +1 -1
  2. cryptodatapy/conf/tickers.csv +0 -1
  3. cryptodatapy/extract/data_vendors/CoinMetrics.ipynb +747 -0
  4. cryptodatapy/extract/data_vendors/coinmetrics_api.py +279 -209
  5. cryptodatapy/extract/data_vendors/cryptocompare_api.py +3 -5
  6. cryptodatapy/extract/data_vendors/datavendor.py +32 -12
  7. cryptodatapy/extract/data_vendors/glassnode_api.py +3 -2
  8. cryptodatapy/extract/data_vendors/tiingo_api.py +3 -2
  9. cryptodatapy/extract/datarequest.py +197 -36
  10. cryptodatapy/extract/libraries/Untitled.ipynb +33 -0
  11. cryptodatapy/extract/libraries/ccxt.ipynb +628 -754
  12. cryptodatapy/extract/libraries/ccxt_api.py +630 -346
  13. cryptodatapy/extract/libraries/pandasdr_api.py +13 -12
  14. cryptodatapy/extract/libraries/yfinance_api.py +511 -0
  15. cryptodatapy/transform/cc_onchain_data.csv +118423 -0
  16. cryptodatapy/transform/clean.py +17 -15
  17. cryptodatapy/transform/clean_onchain_data.ipynb +4750 -0
  18. cryptodatapy/transform/clean_perp_futures_ohlcv.ipynb +1712 -1097
  19. cryptodatapy/transform/cmdty_data.ipynb +402 -0
  20. cryptodatapy/transform/convertparams.py +139 -181
  21. cryptodatapy/transform/credit_data.ipynb +291 -0
  22. cryptodatapy/transform/eqty_data.ipynb +836 -0
  23. cryptodatapy/transform/filter.py +13 -10
  24. cryptodatapy/transform/global_credit_data_daily.parquet +0 -0
  25. cryptodatapy/transform/od.py +1 -0
  26. cryptodatapy/transform/rates_data.ipynb +465 -0
  27. cryptodatapy/transform/us_rates_daily.csv +227752 -0
  28. cryptodatapy/transform/wrangle.py +109 -20
  29. cryptodatapy/util/datacredentials.py +28 -7
  30. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/METADATA +10 -7
  31. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/RECORD +33 -31
  32. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/WHEEL +1 -1
  33. cryptodatapy/.DS_Store +0 -0
  34. cryptodatapy/.idea/.gitignore +0 -3
  35. cryptodatapy/.idea/cryptodatapy.iml +0 -12
  36. cryptodatapy/.idea/csv-plugin.xml +0 -16
  37. cryptodatapy/.idea/inspectionProfiles/Project_Default.xml +0 -6
  38. cryptodatapy/.idea/inspectionProfiles/profiles_settings.xml +0 -6
  39. cryptodatapy/.idea/misc.xml +0 -4
  40. cryptodatapy/.idea/modules.xml +0 -8
  41. cryptodatapy/.idea/vcs.xml +0 -6
  42. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/LICENSE +0 -0
@@ -49,7 +49,7 @@
49
49
  {
50
50
  "data": {
51
51
  "text/plain": [
52
- "314"
52
+ "341"
53
53
  ]
54
54
  },
55
55
  "execution_count": 3,
@@ -64,6 +64,367 @@
64
64
  {
65
65
  "cell_type": "code",
66
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,
67
428
  "id": "5e796745",
68
429
  "metadata": {},
69
430
  "outputs": [
@@ -73,7 +434,7 @@
73
434
  "True"
74
435
  ]
75
436
  },
76
- "execution_count": 4,
437
+ "execution_count": 5,
77
438
  "metadata": {},
78
439
  "output_type": "execute_result"
79
440
  }
@@ -84,7 +445,7 @@
84
445
  },
85
446
  {
86
447
  "cell_type": "code",
87
- "execution_count": 5,
448
+ "execution_count": 6,
88
449
  "id": "fcb74458",
89
450
  "metadata": {},
90
451
  "outputs": [],
@@ -96,7 +457,28 @@
96
457
  },
97
458
  {
98
459
  "cell_type": "code",
99
- "execution_count": 6,
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,
100
482
  "id": "4b86fa0d",
101
483
  "metadata": {},
102
484
  "outputs": [
@@ -106,7 +488,7 @@
106
488
  "True"
107
489
  ]
108
490
  },
109
- "execution_count": 6,
491
+ "execution_count": 8,
110
492
  "metadata": {},
111
493
  "output_type": "execute_result"
112
494
  }
@@ -117,7 +499,7 @@
117
499
  },
118
500
  {
119
501
  "cell_type": "code",
120
- "execution_count": 7,
502
+ "execution_count": 9,
121
503
  "id": "7962f7e5",
122
504
  "metadata": {},
123
505
  "outputs": [],
@@ -128,17 +510,17 @@
128
510
  },
129
511
  {
130
512
  "cell_type": "code",
131
- "execution_count": 8,
513
+ "execution_count": 10,
132
514
  "id": "877811c1",
133
515
  "metadata": {},
134
516
  "outputs": [
135
517
  {
136
518
  "data": {
137
519
  "text/plain": [
138
- "314"
520
+ "341"
139
521
  ]
140
522
  },
141
- "execution_count": 8,
523
+ "execution_count": 10,
142
524
  "metadata": {},
143
525
  "output_type": "execute_result"
144
526
  }
@@ -150,7 +532,368 @@
150
532
  },
151
533
  {
152
534
  "cell_type": "code",
153
- "execution_count": 9,
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,
154
897
  "id": "4ef7a85b",
155
898
  "metadata": {},
156
899
  "outputs": [
@@ -160,7 +903,7 @@
160
903
  "True"
161
904
  ]
162
905
  },
163
- "execution_count": 9,
906
+ "execution_count": 12,
164
907
  "metadata": {},
165
908
  "output_type": "execute_result"
166
909
  }
@@ -171,7 +914,7 @@
171
914
  },
172
915
  {
173
916
  "cell_type": "code",
174
- "execution_count": 10,
917
+ "execution_count": 13,
175
918
  "id": "fe425163",
176
919
  "metadata": {},
177
920
  "outputs": [],
@@ -183,7 +926,7 @@
183
926
  },
184
927
  {
185
928
  "cell_type": "code",
186
- "execution_count": 11,
929
+ "execution_count": 14,
187
930
  "id": "9c63cd43",
188
931
  "metadata": {},
189
932
  "outputs": [
@@ -193,7 +936,7 @@
193
936
  "True"
194
937
  ]
195
938
  },
196
- "execution_count": 11,
939
+ "execution_count": 14,
197
940
  "metadata": {},
198
941
  "output_type": "execute_result"
199
942
  }
@@ -204,7 +947,7 @@
204
947
  },
205
948
  {
206
949
  "cell_type": "code",
207
- "execution_count": 12,
950
+ "execution_count": 15,
208
951
  "id": "165053db",
209
952
  "metadata": {},
210
953
  "outputs": [],
@@ -218,7 +961,28 @@
218
961
  },
219
962
  {
220
963
  "cell_type": "code",
221
- "execution_count": 13,
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,
222
986
  "id": "c93e487a",
223
987
  "metadata": {},
224
988
  "outputs": [
@@ -228,7 +992,7 @@
228
992
  "True"
229
993
  ]
230
994
  },
231
- "execution_count": 13,
995
+ "execution_count": 17,
232
996
  "metadata": {},
233
997
  "output_type": "execute_result"
234
998
  }
@@ -239,7 +1003,337 @@
239
1003
  },
240
1004
  {
241
1005
  "cell_type": "code",
242
- "execution_count": 14,
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,
243
1337
  "id": "d6cf8a4c",
244
1338
  "metadata": {},
245
1339
  "outputs": [],
@@ -250,17 +1344,17 @@
250
1344
  },
251
1345
  {
252
1346
  "cell_type": "code",
253
- "execution_count": 15,
1347
+ "execution_count": 20,
254
1348
  "id": "11ec0e6d",
255
1349
  "metadata": {},
256
1350
  "outputs": [
257
1351
  {
258
1352
  "data": {
259
1353
  "text/plain": [
260
- "282"
1354
+ "310"
261
1355
  ]
262
1356
  },
263
- "execution_count": 15,
1357
+ "execution_count": 20,
264
1358
  "metadata": {},
265
1359
  "output_type": "execute_result"
266
1360
  }
@@ -271,7 +1365,7 @@
271
1365
  },
272
1366
  {
273
1367
  "cell_type": "code",
274
- "execution_count": 16,
1368
+ "execution_count": 21,
275
1369
  "id": "633f7a3e",
276
1370
  "metadata": {},
277
1371
  "outputs": [],
@@ -282,17 +1376,17 @@
282
1376
  },
283
1377
  {
284
1378
  "cell_type": "code",
285
- "execution_count": 17,
1379
+ "execution_count": 22,
286
1380
  "id": "30337a71",
287
1381
  "metadata": {},
288
1382
  "outputs": [
289
1383
  {
290
1384
  "data": {
291
1385
  "text/plain": [
292
- "270"
1386
+ "297"
293
1387
  ]
294
1388
  },
295
- "execution_count": 17,
1389
+ "execution_count": 22,
296
1390
  "metadata": {},
297
1391
  "output_type": "execute_result"
298
1392
  }
@@ -303,7 +1397,7 @@
303
1397
  },
304
1398
  {
305
1399
  "cell_type": "code",
306
- "execution_count": 18,
1400
+ "execution_count": 23,
307
1401
  "id": "7bb3b25f",
308
1402
  "metadata": {},
309
1403
  "outputs": [
@@ -313,13 +1407,56 @@
313
1407
  "True"
314
1408
  ]
315
1409
  },
316
- "execution_count": 18,
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,
317
1454
  "metadata": {},
318
1455
  "output_type": "execute_result"
319
1456
  }
320
1457
  ],
321
1458
  "source": [
322
- "'BTCST' in tickers"
1459
+ "tickers[:10]"
323
1460
  ]
324
1461
  },
325
1462
  {
@@ -332,14 +1469,16 @@
332
1469
  },
333
1470
  {
334
1471
  "cell_type": "code",
335
- "execution_count": 20,
1472
+ "execution_count": 54,
336
1473
  "id": "49b09508",
337
1474
  "metadata": {},
338
1475
  "outputs": [],
339
1476
  "source": [
340
1477
  "# pull daily OHLC and funding rates for perp futures on Binance USDM exchange\n",
341
1478
  "data_req = DataRequest(source='ccxt',\n",
342
- " tickers=tickers, \n",
1479
+ " start_date='2024-09-20',\n",
1480
+ " end_date='2024-09-21',\n",
1481
+ " tickers=['btc', 'eth', 'sol'],\n",
343
1482
  " fields=['open', 'high', 'low', 'close', 'volume', 'funding_rate'], \n",
344
1483
  " mkt_type='perpetual_future', \n",
345
1484
  " freq='d')"
@@ -347,7 +1486,7 @@
347
1486
  },
348
1487
  {
349
1488
  "cell_type": "code",
350
- "execution_count": 21,
1489
+ "execution_count": 55,
351
1490
  "id": "6ac9365b",
352
1491
  "metadata": {},
353
1492
  "outputs": [
@@ -355,16 +1494,9 @@
355
1494
  "name": "stderr",
356
1495
  "output_type": "stream",
357
1496
  "text": [
358
- "WARNING:root:Failed to get ohlcv data for BTCST/USDT.\n",
359
- "WARNING:root:binanceusdm {\"code\":-1122,\"msg\":\"Invalid symbol status.\"}\n",
360
- "WARNING:root:Failed to pull data on attempt #1.\n",
361
- "WARNING:root:Failed to get ohlcv data for BTCST/USDT.\n",
362
- "WARNING:root:binanceusdm {\"code\":-1122,\"msg\":\"Invalid symbol status.\"}\n",
363
- "WARNING:root:Failed to pull data on attempt #2.\n",
364
- "WARNING:root:Failed to get ohlcv data for BTCST/USDT.\n",
365
- "WARNING:root:binanceusdm {\"code\":-1122,\"msg\":\"Invalid symbol status.\"}\n",
366
- "WARNING:root:Failed to pull data on attempt #3.\n",
367
- "WARNING:root:Failed to get OHLCV data from binanceusdm for BTCST/USDT after many attempts.\n"
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"
368
1500
  ]
369
1501
  }
370
1502
  ],
@@ -374,8 +1506,8 @@
374
1506
  },
375
1507
  {
376
1508
  "cell_type": "code",
377
- "execution_count": 22,
378
- "id": "364bb46e",
1509
+ "execution_count": 56,
1510
+ "id": "f76e0fc1-466c-4ab6-b1dc-d3f4c1fe0266",
379
1511
  "metadata": {},
380
1512
  "outputs": [
381
1513
  {
@@ -420,149 +1552,86 @@
420
1552
  " </thead>\n",
421
1553
  " <tbody>\n",
422
1554
  " <tr>\n",
423
- " <th>2019-09-08</th>\n",
424
- " <th>BTC</th>\n",
425
- " <td>10000.0</td>\n",
426
- " <td>10412.65</td>\n",
427
- " <td>10000.0</td>\n",
428
- " <td>10391.63</td>\n",
429
- " <td>3096.291</td>\n",
430
- " <td>&lt;NA&gt;</td>\n",
431
- " </tr>\n",
432
- " <tr>\n",
433
- " <th>2019-09-09</th>\n",
1555
+ " <th rowspan=\"3\" valign=\"top\">2024-09-20</th>\n",
434
1556
  " <th>BTC</th>\n",
435
- " <td>10316.62</td>\n",
436
- " <td>10475.54</td>\n",
437
- " <td>10077.22</td>\n",
438
- " <td>10307.0</td>\n",
439
- " <td>14824.373</td>\n",
440
- " <td>&lt;NA&gt;</td>\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",
441
1563
  " </tr>\n",
442
1564
  " <tr>\n",
443
- " <th>2019-09-10</th>\n",
444
- " <th>BTC</th>\n",
445
- " <td>10307.0</td>\n",
446
- " <td>10382.97</td>\n",
447
- " <td>9940.87</td>\n",
448
- " <td>10102.02</td>\n",
449
- " <td>9068.955</td>\n",
450
- " <td>0.0002</td>\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",
451
1572
  " </tr>\n",
452
1573
  " <tr>\n",
453
- " <th>2019-09-11</th>\n",
454
- " <th>BTC</th>\n",
455
- " <td>10094.27</td>\n",
456
- " <td>10293.11</td>\n",
457
- " <td>9884.31</td>\n",
458
- " <td>10159.55</td>\n",
459
- " <td>10897.922</td>\n",
460
- " <td>0.0003</td>\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",
461
1581
  " </tr>\n",
462
1582
  " <tr>\n",
463
- " <th>2019-09-12</th>\n",
1583
+ " <th rowspan=\"3\" valign=\"top\">2024-09-21</th>\n",
464
1584
  " <th>BTC</th>\n",
465
- " <td>10163.06</td>\n",
466
- " <td>10450.13</td>\n",
467
- " <td>10042.12</td>\n",
468
- " <td>10415.13</td>\n",
469
- " <td>15609.634</td>\n",
470
- " <td>0.0003</td>\n",
471
- " </tr>\n",
472
- " <tr>\n",
473
- " <th>...</th>\n",
474
- " <th>...</th>\n",
475
- " <td>...</td>\n",
476
- " <td>...</td>\n",
477
- " <td>...</td>\n",
478
- " <td>...</td>\n",
479
- " <td>...</td>\n",
480
- " <td>...</td>\n",
481
- " </tr>\n",
482
- " <tr>\n",
483
- " <th rowspan=\"5\" valign=\"top\">2024-08-13</th>\n",
484
- " <th>ZETA</th>\n",
485
- " <td>0.6558</td>\n",
486
- " <td>0.7099</td>\n",
487
- " <td>0.6143</td>\n",
488
- " <td>0.6556</td>\n",
489
- " <td>290931468.0</td>\n",
490
- " <td>-0.001465</td>\n",
491
- " </tr>\n",
492
- " <tr>\n",
493
- " <th>ZIL</th>\n",
494
- " <td>0.01394</td>\n",
495
- " <td>0.01397</td>\n",
496
- " <td>0.01348</td>\n",
497
- " <td>0.01372</td>\n",
498
- " <td>211016383.0</td>\n",
499
- " <td>0.0002</td>\n",
500
- " </tr>\n",
501
- " <tr>\n",
502
- " <th>ZK</th>\n",
503
- " <td>0.11683</td>\n",
504
- " <td>0.11895</td>\n",
505
- " <td>0.11223</td>\n",
506
- " <td>0.11713</td>\n",
507
- " <td>180118593.0</td>\n",
508
- " <td>0.0002</td>\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",
509
1591
  " </tr>\n",
510
1592
  " <tr>\n",
511
- " <th>ZRO</th>\n",
512
- " <td>3.509</td>\n",
513
- " <td>3.533</td>\n",
514
- " <td>3.349</td>\n",
515
- " <td>3.459</td>\n",
516
- " <td>10802271.5</td>\n",
517
- " <td>0.000173</td>\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",
518
1600
  " </tr>\n",
519
1601
  " <tr>\n",
520
- " <th>ZRX</th>\n",
521
- " <td>0.3102</td>\n",
522
- " <td>0.3126</td>\n",
523
- " <td>0.3</td>\n",
524
- " <td>0.3083</td>\n",
525
- " <td>18072404.9</td>\n",
526
- " <td>-0.000044</td>\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",
527
1609
  " </tr>\n",
528
1610
  " </tbody>\n",
529
1611
  "</table>\n",
530
- "<p>222221 rows × 6 columns</p>\n",
531
1612
  "</div>"
532
1613
  ],
533
1614
  "text/plain": [
534
- " open high low close volume \\\n",
535
- "date ticker \n",
536
- "2019-09-08 BTC 10000.0 10412.65 10000.0 10391.63 3096.291 \n",
537
- "2019-09-09 BTC 10316.62 10475.54 10077.22 10307.0 14824.373 \n",
538
- "2019-09-10 BTC 10307.0 10382.97 9940.87 10102.02 9068.955 \n",
539
- "2019-09-11 BTC 10094.27 10293.11 9884.31 10159.55 10897.922 \n",
540
- "2019-09-12 BTC 10163.06 10450.13 10042.12 10415.13 15609.634 \n",
541
- "... ... ... ... ... ... \n",
542
- "2024-08-13 ZETA 0.6558 0.7099 0.6143 0.6556 290931468.0 \n",
543
- " ZIL 0.01394 0.01397 0.01348 0.01372 211016383.0 \n",
544
- " ZK 0.11683 0.11895 0.11223 0.11713 180118593.0 \n",
545
- " ZRO 3.509 3.533 3.349 3.459 10802271.5 \n",
546
- " ZRX 0.3102 0.3126 0.3 0.3083 18072404.9 \n",
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",
547
1623
  "\n",
548
1624
  " funding_rate \n",
549
1625
  "date ticker \n",
550
- "2019-09-08 BTC <NA> \n",
551
- "2019-09-09 BTC <NA> \n",
552
- "2019-09-10 BTC 0.0002 \n",
553
- "2019-09-11 BTC 0.0003 \n",
554
- "2019-09-12 BTC 0.0003 \n",
555
- "... ... \n",
556
- "2024-08-13 ZETA -0.001465 \n",
557
- " ZIL 0.0002 \n",
558
- " ZK 0.0002 \n",
559
- " ZRO 0.000173 \n",
560
- " ZRX -0.000044 \n",
561
- "\n",
562
- "[222221 rows x 6 columns]"
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> "
563
1632
  ]
564
1633
  },
565
- "execution_count": 22,
1634
+ "execution_count": 56,
566
1635
  "metadata": {},
567
1636
  "output_type": "execute_result"
568
1637
  }
@@ -573,18 +1642,58 @@
573
1642
  },
574
1643
  {
575
1644
  "cell_type": "code",
576
- "execution_count": 23,
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,
577
1686
  "id": "98a425b2",
578
1687
  "metadata": {},
579
1688
  "outputs": [],
580
1689
  "source": [
581
- "# df1.to_csv('binance_perp_futures.csv')\n",
582
- "df1 = pd.read_csv('../../../../factorlab/notebooks/binance_perp_futures.csv', index_col=['date', 'ticker'], parse_dates=['date'])"
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'])"
583
1692
  ]
584
1693
  },
585
1694
  {
586
1695
  "cell_type": "code",
587
- "execution_count": 24,
1696
+ "execution_count": 30,
588
1697
  "id": "0e04da4a",
589
1698
  "metadata": {},
590
1699
  "outputs": [
@@ -632,12 +1741,12 @@
632
1741
  " <tr>\n",
633
1742
  " <th>2019-09-08</th>\n",
634
1743
  " <th>BTC</th>\n",
635
- " <td>10000.00</td>\n",
1744
+ " <td>10000.0</td>\n",
636
1745
  " <td>10412.65</td>\n",
637
- " <td>10000.00</td>\n",
1746
+ " <td>10000.0</td>\n",
638
1747
  " <td>10391.63</td>\n",
639
1748
  " <td>3096.291</td>\n",
640
- " <td>NaN</td>\n",
1749
+ " <td>&lt;NA&gt;</td>\n",
641
1750
  " </tr>\n",
642
1751
  " <tr>\n",
643
1752
  " <th>2019-09-09</th>\n",
@@ -645,14 +1754,14 @@
645
1754
  " <td>10316.62</td>\n",
646
1755
  " <td>10475.54</td>\n",
647
1756
  " <td>10077.22</td>\n",
648
- " <td>10307.00</td>\n",
1757
+ " <td>10307.0</td>\n",
649
1758
  " <td>14824.373</td>\n",
650
- " <td>NaN</td>\n",
1759
+ " <td>&lt;NA&gt;</td>\n",
651
1760
  " </tr>\n",
652
1761
  " <tr>\n",
653
1762
  " <th>2019-09-10</th>\n",
654
1763
  " <th>BTC</th>\n",
655
- " <td>10307.00</td>\n",
1764
+ " <td>10307.0</td>\n",
656
1765
  " <td>10382.97</td>\n",
657
1766
  " <td>9940.87</td>\n",
658
1767
  " <td>10102.02</td>\n",
@@ -686,22 +1795,22 @@
686
1795
  "text/plain": [
687
1796
  " open high low close volume \\\n",
688
1797
  "date ticker \n",
689
- "2019-09-08 BTC 10000.00 10412.65 10000.00 10391.63 3096.291 \n",
690
- "2019-09-09 BTC 10316.62 10475.54 10077.22 10307.00 14824.373 \n",
691
- "2019-09-10 BTC 10307.00 10382.97 9940.87 10102.02 9068.955 \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",
692
1801
  "2019-09-11 BTC 10094.27 10293.11 9884.31 10159.55 10897.922 \n",
693
1802
  "2019-09-12 BTC 10163.06 10450.13 10042.12 10415.13 15609.634 \n",
694
1803
  "\n",
695
1804
  " funding_rate \n",
696
1805
  "date ticker \n",
697
- "2019-09-08 BTC NaN \n",
698
- "2019-09-09 BTC NaN \n",
1806
+ "2019-09-08 BTC <NA> \n",
1807
+ "2019-09-09 BTC <NA> \n",
699
1808
  "2019-09-10 BTC 0.0002 \n",
700
1809
  "2019-09-11 BTC 0.0003 \n",
701
1810
  "2019-09-12 BTC 0.0003 "
702
1811
  ]
703
1812
  },
704
- "execution_count": 24,
1813
+ "execution_count": 30,
705
1814
  "metadata": {},
706
1815
  "output_type": "execute_result"
707
1816
  }
@@ -710,6 +1819,27 @@
710
1819
  "df1.head()"
711
1820
  ]
712
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
+ },
713
1843
  {
714
1844
  "cell_type": "markdown",
715
1845
  "id": "32f15191",
@@ -720,7 +1850,7 @@
720
1850
  },
721
1851
  {
722
1852
  "cell_type": "code",
723
- "execution_count": 25,
1853
+ "execution_count": 33,
724
1854
  "id": "83e9e466",
725
1855
  "metadata": {},
726
1856
  "outputs": [],
@@ -734,7 +1864,7 @@
734
1864
  },
735
1865
  {
736
1866
  "cell_type": "code",
737
- "execution_count": 26,
1867
+ "execution_count": 34,
738
1868
  "id": "82d4bbc7",
739
1869
  "metadata": {},
740
1870
  "outputs": [
@@ -746,9 +1876,12 @@
746
1876
  "WARNING:root:Missing recent OHLCV data for OMG/USDT.\n",
747
1877
  "WARNING:root:Missing recent OHLCV data for WAVES/USDT.\n",
748
1878
  "WARNING:root:Missing recent OHLCV data for OCEAN/USDT.\n",
1879
+ "WARNING:root:Missing recent OHLCV data for REEF/USDT.\n",
749
1880
  "WARNING:root:Missing recent OHLCV data for XEM/USDT.\n",
750
1881
  "WARNING:root:Missing recent OHLCV data for BTCST/USDT.\n",
751
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",
752
1885
  "WARNING:root:Missing recent OHLCV data for BOND/USDT.\n",
753
1886
  "WARNING:root:Missing recent OHLCV data for BSV/USDT.\n"
754
1887
  ]
@@ -760,18 +1893,18 @@
760
1893
  },
761
1894
  {
762
1895
  "cell_type": "code",
763
- "execution_count": 27,
1896
+ "execution_count": 35,
764
1897
  "id": "4f63eb21",
765
1898
  "metadata": {},
766
1899
  "outputs": [],
767
1900
  "source": [
768
- "# df2.to_csv('binance_spot.csv')\n",
769
- "df2 = pd.read_csv('../../../../factorlab/notebooks/binance_spot.csv', index_col=['date', 'ticker'], parse_dates=['date'])"
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'])"
770
1903
  ]
771
1904
  },
772
1905
  {
773
1906
  "cell_type": "code",
774
- "execution_count": 28,
1907
+ "execution_count": 36,
775
1908
  "id": "ce8929c1",
776
1909
  "metadata": {},
777
1910
  "outputs": [
@@ -827,9 +1960,9 @@
827
1960
  " <th>ETH</th>\n",
828
1961
  " <td>301.13</td>\n",
829
1962
  " <td>312.18</td>\n",
830
- " <td>298.00</td>\n",
831
- " <td>302.00</td>\n",
832
- " <td>7030.710340</td>\n",
1963
+ " <td>298.0</td>\n",
1964
+ " <td>302.0</td>\n",
1965
+ " <td>7030.71034</td>\n",
833
1966
  " </tr>\n",
834
1967
  " <tr>\n",
835
1968
  " <th rowspan=\"2\" valign=\"top\">2017-08-18</th>\n",
@@ -842,18 +1975,18 @@
842
1975
  " </tr>\n",
843
1976
  " <tr>\n",
844
1977
  " <th>ETH</th>\n",
845
- " <td>302.00</td>\n",
1978
+ " <td>302.0</td>\n",
846
1979
  " <td>311.79</td>\n",
847
1980
  " <td>283.94</td>\n",
848
1981
  " <td>293.96</td>\n",
849
- " <td>9537.846460</td>\n",
1982
+ " <td>9537.84646</td>\n",
850
1983
  " </tr>\n",
851
1984
  " <tr>\n",
852
1985
  " <th>2017-08-19</th>\n",
853
1986
  " <th>BTC</th>\n",
854
1987
  " <td>4108.37</td>\n",
855
1988
  " <td>4184.69</td>\n",
856
- " <td>3850.00</td>\n",
1989
+ " <td>3850.0</td>\n",
857
1990
  " <td>4139.98</td>\n",
858
1991
  " <td>381.309763</td>\n",
859
1992
  " </tr>\n",
@@ -865,13 +1998,13 @@
865
1998
  " open high low close volume\n",
866
1999
  "date ticker \n",
867
2000
  "2017-08-17 BTC 4261.48 4485.39 4200.74 4285.08 795.150377\n",
868
- " ETH 301.13 312.18 298.00 302.00 7030.710340\n",
2001
+ " ETH 301.13 312.18 298.0 302.0 7030.71034\n",
869
2002
  "2017-08-18 BTC 4285.08 4371.52 3938.77 4108.37 1199.888264\n",
870
- " ETH 302.00 311.79 283.94 293.96 9537.846460\n",
871
- "2017-08-19 BTC 4108.37 4184.69 3850.00 4139.98 381.309763"
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"
872
2005
  ]
873
2006
  },
874
- "execution_count": 28,
2007
+ "execution_count": 36,
875
2008
  "metadata": {},
876
2009
  "output_type": "execute_result"
877
2010
  }
@@ -880,6 +2013,27 @@
880
2013
  "df2.head()"
881
2014
  ]
882
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
+ },
883
2037
  {
884
2038
  "cell_type": "markdown",
885
2039
  "id": "05f93b91",
@@ -890,7 +2044,7 @@
890
2044
  },
891
2045
  {
892
2046
  "cell_type": "code",
893
- "execution_count": 29,
2047
+ "execution_count": 38,
894
2048
  "id": "7f14d874",
895
2049
  "metadata": {},
896
2050
  "outputs": [],
@@ -904,7 +2058,7 @@
904
2058
  },
905
2059
  {
906
2060
  "cell_type": "code",
907
- "execution_count": 30,
2061
+ "execution_count": 39,
908
2062
  "id": "3a8708d3",
909
2063
  "metadata": {},
910
2064
  "outputs": [],
@@ -914,38 +2068,19 @@
914
2068
  },
915
2069
  {
916
2070
  "cell_type": "code",
917
- "execution_count": 31,
2071
+ "execution_count": 40,
918
2072
  "id": "aa265538",
919
2073
  "metadata": {},
920
2074
  "outputs": [],
921
2075
  "source": [
922
- "# df3.to_csv('cc_spot.csv')\n",
923
- "df3 = pd.read_csv('../../../../factorlab/notebooks/cc_spot.csv', index_col=['date', 'ticker'], parse_dates=['date'])"
924
- ]
925
- },
926
- {
927
- "cell_type": "markdown",
928
- "id": "5664e968",
929
- "metadata": {},
930
- "source": [
931
- "### Clean Data"
932
- ]
933
- },
934
- {
935
- "cell_type": "code",
936
- "execution_count": 32,
937
- "id": "f5ee4f6d",
938
- "metadata": {},
939
- "outputs": [],
940
- "source": [
941
- "df = stitch_dataframes([df1, df2, df3])\n",
942
- "df.funding_rate = df.funding_rate.fillna(0)"
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'])"
943
2078
  ]
944
2079
  },
945
2080
  {
946
2081
  "cell_type": "code",
947
- "execution_count": 33,
948
- "id": "cbe07c91",
2082
+ "execution_count": 41,
2083
+ "id": "17274df7",
949
2084
  "metadata": {},
950
2085
  "outputs": [
951
2086
  {
@@ -975,7 +2110,6 @@
975
2110
  " <th>low</th>\n",
976
2111
  " <th>close</th>\n",
977
2112
  " <th>volume</th>\n",
978
- " <th>funding_rate</th>\n",
979
2113
  " </tr>\n",
980
2114
  " <tr>\n",
981
2115
  " <th>date</th>\n",
@@ -985,7 +2119,6 @@
985
2119
  " <th></th>\n",
986
2120
  " <th></th>\n",
987
2121
  " <th></th>\n",
988
- " <th></th>\n",
989
2122
  " </tr>\n",
990
2123
  " </thead>\n",
991
2124
  " <tbody>\n",
@@ -996,8 +2129,7 @@
996
2129
  " <td>0.04951</td>\n",
997
2130
  " <td>0.04951</td>\n",
998
2131
  " <td>0.04951</td>\n",
999
- " <td>20.00</td>\n",
1000
- " <td>0.0</td>\n",
2132
+ " <td>20.0</td>\n",
1001
2133
  " </tr>\n",
1002
2134
  " <tr>\n",
1003
2135
  " <th>2010-07-18</th>\n",
@@ -1007,7 +2139,6 @@
1007
2139
  " <td>0.04951</td>\n",
1008
2140
  " <td>0.08584</td>\n",
1009
2141
  " <td>75.01</td>\n",
1010
- " <td>0.0</td>\n",
1011
2142
  " </tr>\n",
1012
2143
  " <tr>\n",
1013
2144
  " <th>2010-07-19</th>\n",
@@ -1015,19 +2146,17 @@
1015
2146
  " <td>0.08584</td>\n",
1016
2147
  " <td>0.09307</td>\n",
1017
2148
  " <td>0.07723</td>\n",
1018
- " <td>0.08080</td>\n",
1019
- " <td>574.00</td>\n",
1020
- " <td>0.0</td>\n",
2149
+ " <td>0.0808</td>\n",
2150
+ " <td>574.0</td>\n",
1021
2151
  " </tr>\n",
1022
2152
  " <tr>\n",
1023
2153
  " <th>2010-07-20</th>\n",
1024
2154
  " <th>BTC</th>\n",
1025
- " <td>0.08080</td>\n",
2155
+ " <td>0.0808</td>\n",
1026
2156
  " <td>0.08181</td>\n",
1027
2157
  " <td>0.07426</td>\n",
1028
2158
  " <td>0.07474</td>\n",
1029
- " <td>262.00</td>\n",
1030
- " <td>0.0</td>\n",
2159
+ " <td>262.0</td>\n",
1031
2160
  " </tr>\n",
1032
2161
  " <tr>\n",
1033
2162
  " <th>2010-07-21</th>\n",
@@ -1036,162 +2165,85 @@
1036
2165
  " <td>0.07921</td>\n",
1037
2166
  " <td>0.06634</td>\n",
1038
2167
  " <td>0.07921</td>\n",
1039
- " <td>575.00</td>\n",
1040
- " <td>0.0</td>\n",
2168
+ " <td>575.0</td>\n",
1041
2169
  " </tr>\n",
1042
2170
  " </tbody>\n",
1043
2171
  "</table>\n",
1044
2172
  "</div>"
1045
2173
  ],
1046
2174
  "text/plain": [
1047
- " open high low close volume funding_rate\n",
1048
- "date ticker \n",
1049
- "2010-07-17 BTC 0.04951 0.04951 0.04951 0.04951 20.00 0.0\n",
1050
- "2010-07-18 BTC 0.04951 0.08585 0.04951 0.08584 75.01 0.0\n",
1051
- "2010-07-19 BTC 0.08584 0.09307 0.07723 0.08080 574.00 0.0\n",
1052
- "2010-07-20 BTC 0.08080 0.08181 0.07426 0.07474 262.00 0.0\n",
1053
- "2010-07-21 BTC 0.07474 0.07921 0.06634 0.07921 575.00 0.0"
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"
1054
2182
  ]
1055
2183
  },
1056
- "execution_count": 33,
2184
+ "execution_count": 41,
1057
2185
  "metadata": {},
1058
2186
  "output_type": "execute_result"
1059
2187
  }
1060
2188
  ],
1061
2189
  "source": [
1062
- "df.head()"
2190
+ "df3.head()"
1063
2191
  ]
1064
2192
  },
1065
2193
  {
1066
2194
  "cell_type": "code",
1067
- "execution_count": 34,
1068
- "id": "cef46007",
2195
+ "execution_count": 42,
2196
+ "id": "4d8c7b38-4c3d-4c97-8f8d-34fb88c29229",
1069
2197
  "metadata": {},
1070
2198
  "outputs": [
1071
2199
  {
1072
2200
  "data": {
1073
2201
  "text/plain": [
1074
- "Index(['BTC', 'LTC', 'DOGE', 'DASH', 'XLM', 'XMR', 'XRP', 'KEY', 'DGB', 'XEM',\n",
1075
- " ...\n",
1076
- " 'TNSR', 'SAGA', 'REZ', 'BB', 'NOT', 'IO', 'ZK', 'LISTA', 'ZRO',\n",
1077
- " 'RENDER'],\n",
1078
- " dtype='object', name='ticker', length=256)"
2202
+ "(285,)"
1079
2203
  ]
1080
2204
  },
1081
- "execution_count": 34,
2205
+ "execution_count": 42,
1082
2206
  "metadata": {},
1083
2207
  "output_type": "execute_result"
1084
2208
  }
1085
2209
  ],
1086
2210
  "source": [
1087
- "df.index.get_level_values(1).unique()"
2211
+ "df3.index.get_level_values(1).unique().shape"
1088
2212
  ]
1089
2213
  },
1090
2214
  {
1091
- "cell_type": "code",
1092
- "execution_count": null,
1093
- "id": "d4c497d1",
2215
+ "cell_type": "markdown",
2216
+ "id": "5664e968",
1094
2217
  "metadata": {},
1095
- "outputs": [],
1096
2218
  "source": [
1097
- "delisted_tickers = ['AGIX', 'CTK', 'CVC', 'CVX', 'DGB', 'FTT', 'GLMR', 'IDEX', 'MDT',\n",
1098
- " 'OCEAN', 'RAD', 'RAY', 'SC', 'SLP', 'SNT', 'STPT', 'STRAX', 'WAVES']"
2219
+ "### Clean Data"
1099
2220
  ]
1100
2221
  },
1101
2222
  {
1102
2223
  "cell_type": "code",
1103
- "execution_count": 35,
1104
- "id": "9f8a899f",
2224
+ "execution_count": 43,
2225
+ "id": "f5ee4f6d",
1105
2226
  "metadata": {},
1106
2227
  "outputs": [],
1107
2228
  "source": [
1108
- "clean = CleanData(df)"
1109
- ]
1110
- },
1111
- {
1112
- "cell_type": "code",
1113
- "execution_count": 36,
1114
- "id": "29e1b955",
1115
- "metadata": {},
1116
- "outputs": [
1117
- {
1118
- "data": {
1119
- "text/plain": [
1120
- "<cryptodatapy.transform.clean.CleanData at 0x7fb888103af0>"
1121
- ]
1122
- },
1123
- "execution_count": 36,
1124
- "metadata": {},
1125
- "output_type": "execute_result"
1126
- }
1127
- ],
1128
- "source": [
1129
- "clean.filter_delisted_tickers()"
1130
- ]
1131
- },
1132
- {
1133
- "cell_type": "code",
1134
- "execution_count": 37,
1135
- "id": "9315f178",
1136
- "metadata": {},
1137
- "outputs": [
1138
- {
1139
- "data": {
1140
- "text/plain": [
1141
- "['CVC',\n",
1142
- " 'CTK',\n",
1143
- " 'STRAX',\n",
1144
- " 'STPT',\n",
1145
- " 'DGB',\n",
1146
- " 'CVX',\n",
1147
- " 'FTT',\n",
1148
- " 'GLMR',\n",
1149
- " 'OCEAN',\n",
1150
- " 'SLP',\n",
1151
- " 'AGIX',\n",
1152
- " 'RAY',\n",
1153
- " 'MDT',\n",
1154
- " 'SC',\n",
1155
- " 'SNT',\n",
1156
- " 'IDEX',\n",
1157
- " 'RAD',\n",
1158
- " 'WAVES']"
1159
- ]
1160
- },
1161
- "execution_count": 37,
1162
- "metadata": {},
1163
- "output_type": "execute_result"
1164
- }
1165
- ],
1166
- "source": [
1167
- "clean.filtered_tickers"
2229
+ "df = stitch_dataframes([df1, df2, df3])\n",
2230
+ "df.funding_rate = df.funding_rate.fillna(0)"
1168
2231
  ]
1169
2232
  },
1170
2233
  {
1171
2234
  "cell_type": "code",
1172
- "execution_count": 38,
1173
- "id": "e4693e52",
2235
+ "execution_count": 44,
2236
+ "id": "0f41592e",
1174
2237
  "metadata": {},
1175
- "outputs": [
1176
- {
1177
- "data": {
1178
- "text/plain": [
1179
- "<cryptodatapy.transform.clean.CleanData at 0x7fb888103af0>"
1180
- ]
1181
- },
1182
- "execution_count": 38,
1183
- "metadata": {},
1184
- "output_type": "execute_result"
1185
- }
1186
- ],
2238
+ "outputs": [],
1187
2239
  "source": [
1188
- "clean.filter_outliers(od_method='mad', excl_cols=['volume', 'funding_rate'], thresh_val=10)"
2240
+ "df.to_csv('../../../../factorlab/notebooks/crypto_historical_ohlcv_daily.csv')"
1189
2241
  ]
1190
2242
  },
1191
2243
  {
1192
2244
  "cell_type": "code",
1193
- "execution_count": 39,
1194
- "id": "311ee6ed",
2245
+ "execution_count": 45,
2246
+ "id": "723834e6-9895-4b03-9fd8-5db1b274b3b7",
1195
2247
  "metadata": {},
1196
2248
  "outputs": [
1197
2249
  {
@@ -1220,6 +2272,8 @@
1220
2272
  " <th>high</th>\n",
1221
2273
  " <th>low</th>\n",
1222
2274
  " <th>close</th>\n",
2275
+ " <th>volume</th>\n",
2276
+ " <th>funding_rate</th>\n",
1223
2277
  " </tr>\n",
1224
2278
  " <tr>\n",
1225
2279
  " <th>date</th>\n",
@@ -1228,48 +2282,60 @@
1228
2282
  " <th></th>\n",
1229
2283
  " <th></th>\n",
1230
2284
  " <th></th>\n",
2285
+ " <th></th>\n",
2286
+ " <th></th>\n",
1231
2287
  " </tr>\n",
1232
2288
  " </thead>\n",
1233
2289
  " <tbody>\n",
1234
2290
  " <tr>\n",
1235
2291
  " <th>2010-07-17</th>\n",
1236
2292
  " <th>BTC</th>\n",
1237
- " <td>&lt;NA&gt;</td>\n",
1238
- " <td>&lt;NA&gt;</td>\n",
1239
- " <td>&lt;NA&gt;</td>\n",
1240
- " <td>&lt;NA&gt;</td>\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",
1241
2299
  " </tr>\n",
1242
2300
  " <tr>\n",
1243
2301
  " <th>2010-07-18</th>\n",
1244
2302
  " <th>BTC</th>\n",
1245
- " <td>&lt;NA&gt;</td>\n",
1246
- " <td>&lt;NA&gt;</td>\n",
1247
- " <td>&lt;NA&gt;</td>\n",
1248
- " <td>&lt;NA&gt;</td>\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",
1249
2309
  " </tr>\n",
1250
2310
  " <tr>\n",
1251
2311
  " <th>2010-07-19</th>\n",
1252
2312
  " <th>BTC</th>\n",
1253
- " <td>&lt;NA&gt;</td>\n",
1254
- " <td>&lt;NA&gt;</td>\n",
1255
- " <td>&lt;NA&gt;</td>\n",
1256
- " <td>&lt;NA&gt;</td>\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",
1257
2319
  " </tr>\n",
1258
2320
  " <tr>\n",
1259
2321
  " <th>2010-07-20</th>\n",
1260
2322
  " <th>BTC</th>\n",
1261
- " <td>&lt;NA&gt;</td>\n",
1262
- " <td>&lt;NA&gt;</td>\n",
1263
- " <td>&lt;NA&gt;</td>\n",
1264
- " <td>&lt;NA&gt;</td>\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",
1265
2329
  " </tr>\n",
1266
2330
  " <tr>\n",
1267
2331
  " <th>2010-07-21</th>\n",
1268
2332
  " <th>BTC</th>\n",
1269
- " <td>&lt;NA&gt;</td>\n",
1270
- " <td>&lt;NA&gt;</td>\n",
1271
- " <td>&lt;NA&gt;</td>\n",
1272
- " <td>&lt;NA&gt;</td>\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",
1273
2339
  " </tr>\n",
1274
2340
  " <tr>\n",
1275
2341
  " <th>...</th>\n",
@@ -1278,891 +2344,440 @@
1278
2344
  " <td>...</td>\n",
1279
2345
  " <td>...</td>\n",
1280
2346
  " <td>...</td>\n",
2347
+ " <td>...</td>\n",
2348
+ " <td>...</td>\n",
1281
2349
  " </tr>\n",
1282
2350
  " <tr>\n",
1283
- " <th rowspan=\"5\" valign=\"top\">2024-08-04</th>\n",
1284
- " <th>ZEN</th>\n",
1285
- " <td>&lt;NA&gt;</td>\n",
1286
- " <td>9.112</td>\n",
1287
- " <td>8.285</td>\n",
1288
- " <td>8.462</td>\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",
1289
2359
  " </tr>\n",
1290
2360
  " <tr>\n",
1291
2361
  " <th>ZIL</th>\n",
1292
- " <td>0.01422</td>\n",
1293
- " <td>0.01441</td>\n",
1294
- " <td>0.01392</td>\n",
1295
- " <td>0.01396</td>\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",
1296
2368
  " </tr>\n",
1297
2369
  " <tr>\n",
1298
2370
  " <th>ZK</th>\n",
1299
- " <td>0.11451</td>\n",
1300
- " <td>0.11673</td>\n",
1301
- " <td>0.10857</td>\n",
1302
- " <td>0.10874</td>\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",
1303
2377
  " </tr>\n",
1304
2378
  " <tr>\n",
1305
2379
  " <th>ZRO</th>\n",
1306
- " <td>3.631</td>\n",
1307
- " <td>3.648</td>\n",
1308
- " <td>3.362</td>\n",
1309
- " <td>3.367</td>\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",
1310
2386
  " </tr>\n",
1311
2387
  " <tr>\n",
1312
2388
  " <th>ZRX</th>\n",
1313
- " <td>0.3055</td>\n",
1314
- " <td>0.3121</td>\n",
1315
- " <td>0.2983</td>\n",
1316
- " <td>0.2988</td>\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",
1317
2395
  " </tr>\n",
1318
2396
  " </tbody>\n",
1319
2397
  "</table>\n",
1320
- "<p>357696 rows × 4 columns</p>\n",
2398
+ "<p>427203 rows × 6 columns</p>\n",
1321
2399
  "</div>"
1322
2400
  ],
1323
2401
  "text/plain": [
1324
- " open high low close\n",
1325
- "date ticker \n",
1326
- "2010-07-17 BTC <NA> <NA> <NA> <NA>\n",
1327
- "2010-07-18 BTC <NA> <NA> <NA> <NA>\n",
1328
- "2010-07-19 BTC <NA> <NA> <NA> <NA>\n",
1329
- "2010-07-20 BTC <NA> <NA> <NA> <NA>\n",
1330
- "2010-07-21 BTC <NA> <NA> <NA> <NA>\n",
1331
- "... ... ... ... ...\n",
1332
- "2024-08-04 ZEN <NA> 9.112 8.285 8.462\n",
1333
- " ZIL 0.01422 0.01441 0.01392 0.01396\n",
1334
- " ZK 0.11451 0.11673 0.10857 0.10874\n",
1335
- " ZRO 3.631 3.648 3.362 3.367\n",
1336
- " ZRX 0.3055 0.3121 0.2983 0.2988\n",
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",
1337
2429
  "\n",
1338
- "[357696 rows x 4 columns]"
2430
+ "[427203 rows x 6 columns]"
1339
2431
  ]
1340
2432
  },
1341
- "execution_count": 39,
2433
+ "execution_count": 45,
1342
2434
  "metadata": {},
1343
2435
  "output_type": "execute_result"
1344
2436
  }
1345
2437
  ],
1346
2438
  "source": [
1347
- "clean.df"
2439
+ "df"
1348
2440
  ]
1349
2441
  },
1350
2442
  {
1351
2443
  "cell_type": "code",
1352
- "execution_count": 40,
1353
- "id": "83caa2c6",
2444
+ "execution_count": 46,
2445
+ "id": "dc40b220-11ae-4983-898d-8e4bd18ea87f",
1354
2446
  "metadata": {},
1355
2447
  "outputs": [
1356
2448
  {
1357
2449
  "data": {
1358
2450
  "text/plain": [
1359
- "<cryptodatapy.transform.clean.CleanData at 0x7fb888103af0>"
2451
+ "(288,)"
1360
2452
  ]
1361
2453
  },
1362
- "execution_count": 40,
2454
+ "execution_count": 46,
1363
2455
  "metadata": {},
1364
2456
  "output_type": "execute_result"
1365
2457
  }
1366
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": [],
1367
2570
  "source": [
1368
2571
  "clean.repair_outliers(imp_method='fcst')"
1369
2572
  ]
1370
2573
  },
1371
2574
  {
1372
2575
  "cell_type": "code",
1373
- "execution_count": 41,
2576
+ "execution_count": null,
1374
2577
  "id": "f4c21352",
1375
2578
  "metadata": {},
1376
- "outputs": [
1377
- {
1378
- "data": {
1379
- "text/html": [
1380
- "<div>\n",
1381
- "<style scoped>\n",
1382
- " .dataframe tbody tr th:only-of-type {\n",
1383
- " vertical-align: middle;\n",
1384
- " }\n",
1385
- "\n",
1386
- " .dataframe tbody tr th {\n",
1387
- " vertical-align: top;\n",
1388
- " }\n",
1389
- "\n",
1390
- " .dataframe thead th {\n",
1391
- " text-align: right;\n",
1392
- " }\n",
1393
- "</style>\n",
1394
- "<table border=\"1\" class=\"dataframe\">\n",
1395
- " <thead>\n",
1396
- " <tr style=\"text-align: right;\">\n",
1397
- " <th></th>\n",
1398
- " <th></th>\n",
1399
- " <th>open</th>\n",
1400
- " <th>high</th>\n",
1401
- " <th>low</th>\n",
1402
- " <th>close</th>\n",
1403
- " <th>volume</th>\n",
1404
- " <th>funding_rate</th>\n",
1405
- " </tr>\n",
1406
- " <tr>\n",
1407
- " <th>date</th>\n",
1408
- " <th>ticker</th>\n",
1409
- " <th></th>\n",
1410
- " <th></th>\n",
1411
- " <th></th>\n",
1412
- " <th></th>\n",
1413
- " <th></th>\n",
1414
- " <th></th>\n",
1415
- " </tr>\n",
1416
- " </thead>\n",
1417
- " <tbody>\n",
1418
- " <tr>\n",
1419
- " <th>2010-07-17</th>\n",
1420
- " <th>BTC</th>\n",
1421
- " <td>42.99</td>\n",
1422
- " <td>43.76</td>\n",
1423
- " <td>40.99</td>\n",
1424
- " <td>41.01</td>\n",
1425
- " <td>2.000000e+01</td>\n",
1426
- " <td>0.000000</td>\n",
1427
- " </tr>\n",
1428
- " <tr>\n",
1429
- " <th>2010-07-18</th>\n",
1430
- " <th>BTC</th>\n",
1431
- " <td>0.07921</td>\n",
1432
- " <td>0.08181</td>\n",
1433
- " <td>0.06634</td>\n",
1434
- " <td>0.07921</td>\n",
1435
- " <td>7.501000e+01</td>\n",
1436
- " <td>0.000000</td>\n",
1437
- " </tr>\n",
1438
- " <tr>\n",
1439
- " <th>2010-07-19</th>\n",
1440
- " <th>BTC</th>\n",
1441
- " <td>0.07474</td>\n",
1442
- " <td>0.07921</td>\n",
1443
- " <td>0.0505</td>\n",
1444
- " <td>0.06262</td>\n",
1445
- " <td>5.740000e+02</td>\n",
1446
- " <td>0.000000</td>\n",
1447
- " </tr>\n",
1448
- " <tr>\n",
1449
- " <th>2010-07-20</th>\n",
1450
- " <th>BTC</th>\n",
1451
- " <td>0.06868</td>\n",
1452
- " <td>0.07344</td>\n",
1453
- " <td>0.0505</td>\n",
1454
- " <td>0.06052</td>\n",
1455
- " <td>2.620000e+02</td>\n",
1456
- " <td>0.000000</td>\n",
1457
- " </tr>\n",
1458
- " <tr>\n",
1459
- " <th>2010-07-21</th>\n",
1460
- " <th>BTC</th>\n",
1461
- " <td>0.06262</td>\n",
1462
- " <td>0.06767</td>\n",
1463
- " <td>0.0505</td>\n",
1464
- " <td>0.05842</td>\n",
1465
- " <td>5.750000e+02</td>\n",
1466
- " <td>0.000000</td>\n",
1467
- " </tr>\n",
1468
- " <tr>\n",
1469
- " <th>...</th>\n",
1470
- " <th>...</th>\n",
1471
- " <td>...</td>\n",
1472
- " <td>...</td>\n",
1473
- " <td>...</td>\n",
1474
- " <td>...</td>\n",
1475
- " <td>...</td>\n",
1476
- " <td>...</td>\n",
1477
- " </tr>\n",
1478
- " <tr>\n",
1479
- " <th rowspan=\"5\" valign=\"top\">2024-08-04</th>\n",
1480
- " <th>ZEN</th>\n",
1481
- " <td>9.657</td>\n",
1482
- " <td>9.112</td>\n",
1483
- " <td>8.285</td>\n",
1484
- " <td>8.462</td>\n",
1485
- " <td>2.071124e+06</td>\n",
1486
- " <td>0.000194</td>\n",
1487
- " </tr>\n",
1488
- " <tr>\n",
1489
- " <th>ZIL</th>\n",
1490
- " <td>0.01422</td>\n",
1491
- " <td>0.01441</td>\n",
1492
- " <td>0.01392</td>\n",
1493
- " <td>0.01396</td>\n",
1494
- " <td>2.048626e+08</td>\n",
1495
- " <td>-0.000031</td>\n",
1496
- " </tr>\n",
1497
- " <tr>\n",
1498
- " <th>ZK</th>\n",
1499
- " <td>0.11451</td>\n",
1500
- " <td>0.11673</td>\n",
1501
- " <td>0.10857</td>\n",
1502
- " <td>0.10874</td>\n",
1503
- " <td>3.833253e+08</td>\n",
1504
- " <td>0.000200</td>\n",
1505
- " </tr>\n",
1506
- " <tr>\n",
1507
- " <th>ZRO</th>\n",
1508
- " <td>3.631</td>\n",
1509
- " <td>3.648</td>\n",
1510
- " <td>3.362</td>\n",
1511
- " <td>3.367</td>\n",
1512
- " <td>7.049472e+07</td>\n",
1513
- " <td>0.000184</td>\n",
1514
- " </tr>\n",
1515
- " <tr>\n",
1516
- " <th>ZRX</th>\n",
1517
- " <td>0.3055</td>\n",
1518
- " <td>0.3121</td>\n",
1519
- " <td>0.2983</td>\n",
1520
- " <td>0.2988</td>\n",
1521
- " <td>9.810764e+06</td>\n",
1522
- " <td>0.000186</td>\n",
1523
- " </tr>\n",
1524
- " </tbody>\n",
1525
- "</table>\n",
1526
- "<p>357696 rows × 6 columns</p>\n",
1527
- "</div>"
1528
- ],
1529
- "text/plain": [
1530
- " open high low close volume \\\n",
1531
- "date ticker \n",
1532
- "2010-07-17 BTC 42.99 43.76 40.99 41.01 2.000000e+01 \n",
1533
- "2010-07-18 BTC 0.07921 0.08181 0.06634 0.07921 7.501000e+01 \n",
1534
- "2010-07-19 BTC 0.07474 0.07921 0.0505 0.06262 5.740000e+02 \n",
1535
- "2010-07-20 BTC 0.06868 0.07344 0.0505 0.06052 2.620000e+02 \n",
1536
- "2010-07-21 BTC 0.06262 0.06767 0.0505 0.05842 5.750000e+02 \n",
1537
- "... ... ... ... ... ... \n",
1538
- "2024-08-04 ZEN 9.657 9.112 8.285 8.462 2.071124e+06 \n",
1539
- " ZIL 0.01422 0.01441 0.01392 0.01396 2.048626e+08 \n",
1540
- " ZK 0.11451 0.11673 0.10857 0.10874 3.833253e+08 \n",
1541
- " ZRO 3.631 3.648 3.362 3.367 7.049472e+07 \n",
1542
- " ZRX 0.3055 0.3121 0.2983 0.2988 9.810764e+06 \n",
1543
- "\n",
1544
- " funding_rate \n",
1545
- "date ticker \n",
1546
- "2010-07-17 BTC 0.000000 \n",
1547
- "2010-07-18 BTC 0.000000 \n",
1548
- "2010-07-19 BTC 0.000000 \n",
1549
- "2010-07-20 BTC 0.000000 \n",
1550
- "2010-07-21 BTC 0.000000 \n",
1551
- "... ... \n",
1552
- "2024-08-04 ZEN 0.000194 \n",
1553
- " ZIL -0.000031 \n",
1554
- " ZK 0.000200 \n",
1555
- " ZRO 0.000184 \n",
1556
- " ZRX 0.000186 \n",
1557
- "\n",
1558
- "[357696 rows x 6 columns]"
1559
- ]
1560
- },
1561
- "execution_count": 41,
1562
- "metadata": {},
1563
- "output_type": "execute_result"
1564
- }
1565
- ],
2579
+ "outputs": [],
1566
2580
  "source": [
1567
2581
  "clean.df"
1568
2582
  ]
1569
2583
  },
1570
2584
  {
1571
2585
  "cell_type": "code",
1572
- "execution_count": 42,
2586
+ "execution_count": null,
1573
2587
  "id": "66b3d8d2",
1574
2588
  "metadata": {},
1575
- "outputs": [
1576
- {
1577
- "data": {
1578
- "text/plain": [
1579
- "<cryptodatapy.transform.clean.CleanData at 0x7fb888103af0>"
1580
- ]
1581
- },
1582
- "execution_count": 42,
1583
- "metadata": {},
1584
- "output_type": "execute_result"
1585
- }
1586
- ],
2589
+ "outputs": [],
1587
2590
  "source": [
1588
- "clean.filter_avg_trading_val(thresh_val=1000000)"
2591
+ "clean.filter_avg_trading_val(thresh_val=500000)"
1589
2592
  ]
1590
2593
  },
1591
2594
  {
1592
2595
  "cell_type": "code",
1593
- "execution_count": 43,
2596
+ "execution_count": null,
1594
2597
  "id": "b7f23056",
1595
2598
  "metadata": {},
1596
- "outputs": [
1597
- {
1598
- "data": {
1599
- "text/html": [
1600
- "<div>\n",
1601
- "<style scoped>\n",
1602
- " .dataframe tbody tr th:only-of-type {\n",
1603
- " vertical-align: middle;\n",
1604
- " }\n",
1605
- "\n",
1606
- " .dataframe tbody tr th {\n",
1607
- " vertical-align: top;\n",
1608
- " }\n",
1609
- "\n",
1610
- " .dataframe thead th {\n",
1611
- " text-align: right;\n",
1612
- " }\n",
1613
- "</style>\n",
1614
- "<table border=\"1\" class=\"dataframe\">\n",
1615
- " <thead>\n",
1616
- " <tr style=\"text-align: right;\">\n",
1617
- " <th></th>\n",
1618
- " <th></th>\n",
1619
- " <th>open</th>\n",
1620
- " <th>high</th>\n",
1621
- " <th>low</th>\n",
1622
- " <th>close</th>\n",
1623
- " <th>volume</th>\n",
1624
- " <th>funding_rate</th>\n",
1625
- " </tr>\n",
1626
- " <tr>\n",
1627
- " <th>date</th>\n",
1628
- " <th>ticker</th>\n",
1629
- " <th></th>\n",
1630
- " <th></th>\n",
1631
- " <th></th>\n",
1632
- " <th></th>\n",
1633
- " <th></th>\n",
1634
- " <th></th>\n",
1635
- " </tr>\n",
1636
- " </thead>\n",
1637
- " <tbody>\n",
1638
- " <tr>\n",
1639
- " <th>2010-07-17</th>\n",
1640
- " <th>BTC</th>\n",
1641
- " <td>&lt;NA&gt;</td>\n",
1642
- " <td>&lt;NA&gt;</td>\n",
1643
- " <td>&lt;NA&gt;</td>\n",
1644
- " <td>&lt;NA&gt;</td>\n",
1645
- " <td>NaN</td>\n",
1646
- " <td>NaN</td>\n",
1647
- " </tr>\n",
1648
- " <tr>\n",
1649
- " <th>2010-07-18</th>\n",
1650
- " <th>BTC</th>\n",
1651
- " <td>&lt;NA&gt;</td>\n",
1652
- " <td>&lt;NA&gt;</td>\n",
1653
- " <td>&lt;NA&gt;</td>\n",
1654
- " <td>&lt;NA&gt;</td>\n",
1655
- " <td>NaN</td>\n",
1656
- " <td>NaN</td>\n",
1657
- " </tr>\n",
1658
- " <tr>\n",
1659
- " <th>2010-07-19</th>\n",
1660
- " <th>BTC</th>\n",
1661
- " <td>&lt;NA&gt;</td>\n",
1662
- " <td>&lt;NA&gt;</td>\n",
1663
- " <td>&lt;NA&gt;</td>\n",
1664
- " <td>&lt;NA&gt;</td>\n",
1665
- " <td>NaN</td>\n",
1666
- " <td>NaN</td>\n",
1667
- " </tr>\n",
1668
- " <tr>\n",
1669
- " <th>2010-07-20</th>\n",
1670
- " <th>BTC</th>\n",
1671
- " <td>&lt;NA&gt;</td>\n",
1672
- " <td>&lt;NA&gt;</td>\n",
1673
- " <td>&lt;NA&gt;</td>\n",
1674
- " <td>&lt;NA&gt;</td>\n",
1675
- " <td>NaN</td>\n",
1676
- " <td>NaN</td>\n",
1677
- " </tr>\n",
1678
- " <tr>\n",
1679
- " <th>2010-07-21</th>\n",
1680
- " <th>BTC</th>\n",
1681
- " <td>&lt;NA&gt;</td>\n",
1682
- " <td>&lt;NA&gt;</td>\n",
1683
- " <td>&lt;NA&gt;</td>\n",
1684
- " <td>&lt;NA&gt;</td>\n",
1685
- " <td>NaN</td>\n",
1686
- " <td>NaN</td>\n",
1687
- " </tr>\n",
1688
- " <tr>\n",
1689
- " <th>...</th>\n",
1690
- " <th>...</th>\n",
1691
- " <td>...</td>\n",
1692
- " <td>...</td>\n",
1693
- " <td>...</td>\n",
1694
- " <td>...</td>\n",
1695
- " <td>...</td>\n",
1696
- " <td>...</td>\n",
1697
- " </tr>\n",
1698
- " <tr>\n",
1699
- " <th rowspan=\"5\" valign=\"top\">2024-08-04</th>\n",
1700
- " <th>ZEN</th>\n",
1701
- " <td>9.657</td>\n",
1702
- " <td>9.112</td>\n",
1703
- " <td>8.285</td>\n",
1704
- " <td>8.462</td>\n",
1705
- " <td>2071124.0</td>\n",
1706
- " <td>0.000194</td>\n",
1707
- " </tr>\n",
1708
- " <tr>\n",
1709
- " <th>ZIL</th>\n",
1710
- " <td>0.01422</td>\n",
1711
- " <td>0.01441</td>\n",
1712
- " <td>0.01392</td>\n",
1713
- " <td>0.01396</td>\n",
1714
- " <td>204862627.0</td>\n",
1715
- " <td>-0.000031</td>\n",
1716
- " </tr>\n",
1717
- " <tr>\n",
1718
- " <th>ZK</th>\n",
1719
- " <td>0.11451</td>\n",
1720
- " <td>0.11673</td>\n",
1721
- " <td>0.10857</td>\n",
1722
- " <td>0.10874</td>\n",
1723
- " <td>383325323.0</td>\n",
1724
- " <td>0.000200</td>\n",
1725
- " </tr>\n",
1726
- " <tr>\n",
1727
- " <th>ZRO</th>\n",
1728
- " <td>3.631</td>\n",
1729
- " <td>3.648</td>\n",
1730
- " <td>3.362</td>\n",
1731
- " <td>3.367</td>\n",
1732
- " <td>70494717.0</td>\n",
1733
- " <td>0.000184</td>\n",
1734
- " </tr>\n",
1735
- " <tr>\n",
1736
- " <th>ZRX</th>\n",
1737
- " <td>0.3055</td>\n",
1738
- " <td>0.3121</td>\n",
1739
- " <td>0.2983</td>\n",
1740
- " <td>0.2988</td>\n",
1741
- " <td>9810764.1</td>\n",
1742
- " <td>0.000186</td>\n",
1743
- " </tr>\n",
1744
- " </tbody>\n",
1745
- "</table>\n",
1746
- "<p>357696 rows × 6 columns</p>\n",
1747
- "</div>"
1748
- ],
1749
- "text/plain": [
1750
- " open high low close volume \\\n",
1751
- "date ticker \n",
1752
- "2010-07-17 BTC <NA> <NA> <NA> <NA> NaN \n",
1753
- "2010-07-18 BTC <NA> <NA> <NA> <NA> NaN \n",
1754
- "2010-07-19 BTC <NA> <NA> <NA> <NA> NaN \n",
1755
- "2010-07-20 BTC <NA> <NA> <NA> <NA> NaN \n",
1756
- "2010-07-21 BTC <NA> <NA> <NA> <NA> NaN \n",
1757
- "... ... ... ... ... ... \n",
1758
- "2024-08-04 ZEN 9.657 9.112 8.285 8.462 2071124.0 \n",
1759
- " ZIL 0.01422 0.01441 0.01392 0.01396 204862627.0 \n",
1760
- " ZK 0.11451 0.11673 0.10857 0.10874 383325323.0 \n",
1761
- " ZRO 3.631 3.648 3.362 3.367 70494717.0 \n",
1762
- " ZRX 0.3055 0.3121 0.2983 0.2988 9810764.1 \n",
1763
- "\n",
1764
- " funding_rate \n",
1765
- "date ticker \n",
1766
- "2010-07-17 BTC NaN \n",
1767
- "2010-07-18 BTC NaN \n",
1768
- "2010-07-19 BTC NaN \n",
1769
- "2010-07-20 BTC NaN \n",
1770
- "2010-07-21 BTC NaN \n",
1771
- "... ... \n",
1772
- "2024-08-04 ZEN 0.000194 \n",
1773
- " ZIL -0.000031 \n",
1774
- " ZK 0.000200 \n",
1775
- " ZRO 0.000184 \n",
1776
- " ZRX 0.000186 \n",
1777
- "\n",
1778
- "[357696 rows x 6 columns]"
1779
- ]
1780
- },
1781
- "execution_count": 43,
1782
- "metadata": {},
1783
- "output_type": "execute_result"
1784
- }
1785
- ],
2599
+ "outputs": [],
1786
2600
  "source": [
1787
2601
  "clean.df"
1788
2602
  ]
1789
2603
  },
1790
- {
1791
- "cell_type": "code",
1792
- "execution_count": 44,
1793
- "id": "b5ac345d",
1794
- "metadata": {},
1795
- "outputs": [
1796
- {
1797
- "data": {
1798
- "text/plain": [
1799
- "['CVC',\n",
1800
- " 'CTK',\n",
1801
- " 'STRAX',\n",
1802
- " 'STPT',\n",
1803
- " 'DGB',\n",
1804
- " 'CVX',\n",
1805
- " 'FTT',\n",
1806
- " 'GLMR',\n",
1807
- " 'OCEAN',\n",
1808
- " 'SLP',\n",
1809
- " 'AGIX',\n",
1810
- " 'RAY',\n",
1811
- " 'MDT',\n",
1812
- " 'SC',\n",
1813
- " 'SNT',\n",
1814
- " 'IDEX',\n",
1815
- " 'RAD',\n",
1816
- " 'WAVES']"
1817
- ]
1818
- },
1819
- "execution_count": 44,
1820
- "metadata": {},
1821
- "output_type": "execute_result"
1822
- }
1823
- ],
2604
+ {
2605
+ "cell_type": "code",
2606
+ "execution_count": null,
2607
+ "id": "b5ac345d",
2608
+ "metadata": {},
2609
+ "outputs": [],
1824
2610
  "source": [
1825
2611
  "clean.filtered_tickers"
1826
2612
  ]
1827
2613
  },
1828
2614
  {
1829
2615
  "cell_type": "code",
1830
- "execution_count": 45,
2616
+ "execution_count": null,
1831
2617
  "id": "6d36d4ce",
1832
2618
  "metadata": {},
1833
- "outputs": [
1834
- {
1835
- "data": {
1836
- "text/plain": [
1837
- "<cryptodatapy.transform.clean.CleanData at 0x7fb888103af0>"
1838
- ]
1839
- },
1840
- "execution_count": 45,
1841
- "metadata": {},
1842
- "output_type": "execute_result"
1843
- }
1844
- ],
2619
+ "outputs": [],
1845
2620
  "source": [
1846
- "clean.filter_missing_vals_gaps()"
2621
+ "clean.filter_missing_vals_gaps(gap_window=7)"
1847
2622
  ]
1848
2623
  },
1849
2624
  {
1850
2625
  "cell_type": "code",
1851
- "execution_count": 47,
2626
+ "execution_count": null,
1852
2627
  "id": "7fe432d5",
1853
2628
  "metadata": {},
1854
- "outputs": [
1855
- {
1856
- "data": {
1857
- "text/plain": [
1858
- "['CVC',\n",
1859
- " 'CTK',\n",
1860
- " 'STRAX',\n",
1861
- " 'STPT',\n",
1862
- " 'DGB',\n",
1863
- " 'CVX',\n",
1864
- " 'FTT',\n",
1865
- " 'GLMR',\n",
1866
- " 'OCEAN',\n",
1867
- " 'SLP',\n",
1868
- " 'AGIX',\n",
1869
- " 'RAY',\n",
1870
- " 'MDT',\n",
1871
- " 'SC',\n",
1872
- " 'SNT',\n",
1873
- " 'IDEX',\n",
1874
- " 'RAD',\n",
1875
- " 'WAVES']"
1876
- ]
1877
- },
1878
- "execution_count": 47,
1879
- "metadata": {},
1880
- "output_type": "execute_result"
1881
- }
1882
- ],
2629
+ "outputs": [],
1883
2630
  "source": [
1884
2631
  "clean.filtered_tickers"
1885
2632
  ]
1886
2633
  },
1887
2634
  {
1888
2635
  "cell_type": "code",
1889
- "execution_count": 48,
2636
+ "execution_count": null,
1890
2637
  "id": "f7cbdbae",
1891
2638
  "metadata": {},
1892
- "outputs": [
1893
- {
1894
- "data": {
1895
- "text/plain": [
1896
- "<cryptodatapy.transform.clean.CleanData at 0x7fb888103af0>"
1897
- ]
1898
- },
1899
- "execution_count": 48,
1900
- "metadata": {},
1901
- "output_type": "execute_result"
1902
- }
1903
- ],
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": [],
1904
2660
  "source": [
1905
- "clean.filter_min_nobs(ts_obs=1400, cs_obs=5)"
2661
+ "clean.filtered_tickers"
1906
2662
  ]
1907
2663
  },
1908
2664
  {
1909
2665
  "cell_type": "code",
1910
- "execution_count": 49,
2666
+ "execution_count": null,
1911
2667
  "id": "f13d9f1f",
1912
2668
  "metadata": {},
1913
- "outputs": [
1914
- {
1915
- "data": {
1916
- "text/html": [
1917
- "<div>\n",
1918
- "<style scoped>\n",
1919
- " .dataframe tbody tr th:only-of-type {\n",
1920
- " vertical-align: middle;\n",
1921
- " }\n",
1922
- "\n",
1923
- " .dataframe tbody tr th {\n",
1924
- " vertical-align: top;\n",
1925
- " }\n",
1926
- "\n",
1927
- " .dataframe thead th {\n",
1928
- " text-align: right;\n",
1929
- " }\n",
1930
- "</style>\n",
1931
- "<table border=\"1\" class=\"dataframe\">\n",
1932
- " <thead>\n",
1933
- " <tr style=\"text-align: right;\">\n",
1934
- " <th></th>\n",
1935
- " <th></th>\n",
1936
- " <th>open</th>\n",
1937
- " <th>high</th>\n",
1938
- " <th>low</th>\n",
1939
- " <th>close</th>\n",
1940
- " <th>volume</th>\n",
1941
- " <th>funding_rate</th>\n",
1942
- " </tr>\n",
1943
- " <tr>\n",
1944
- " <th>date</th>\n",
1945
- " <th>ticker</th>\n",
1946
- " <th></th>\n",
1947
- " <th></th>\n",
1948
- " <th></th>\n",
1949
- " <th></th>\n",
1950
- " <th></th>\n",
1951
- " <th></th>\n",
1952
- " </tr>\n",
1953
- " </thead>\n",
1954
- " <tbody>\n",
1955
- " <tr>\n",
1956
- " <th rowspan=\"5\" valign=\"top\">2017-06-18</th>\n",
1957
- " <th>BAT</th>\n",
1958
- " <td>&lt;NA&gt;</td>\n",
1959
- " <td>&lt;NA&gt;</td>\n",
1960
- " <td>&lt;NA&gt;</td>\n",
1961
- " <td>&lt;NA&gt;</td>\n",
1962
- " <td>NaN</td>\n",
1963
- " <td>NaN</td>\n",
1964
- " </tr>\n",
1965
- " <tr>\n",
1966
- " <th>BTC</th>\n",
1967
- " <td>2655.1</td>\n",
1968
- " <td>2676.04</td>\n",
1969
- " <td>2488.59</td>\n",
1970
- " <td>2539.56</td>\n",
1971
- " <td>9.200422e+04</td>\n",
1972
- " <td>0.000000</td>\n",
1973
- " </tr>\n",
1974
- " <tr>\n",
1975
- " <th>DASH</th>\n",
1976
- " <td>&lt;NA&gt;</td>\n",
1977
- " <td>&lt;NA&gt;</td>\n",
1978
- " <td>&lt;NA&gt;</td>\n",
1979
- " <td>&lt;NA&gt;</td>\n",
1980
- " <td>NaN</td>\n",
1981
- " <td>NaN</td>\n",
1982
- " </tr>\n",
1983
- " <tr>\n",
1984
- " <th>DOGE</th>\n",
1985
- " <td>&lt;NA&gt;</td>\n",
1986
- " <td>&lt;NA&gt;</td>\n",
1987
- " <td>&lt;NA&gt;</td>\n",
1988
- " <td>&lt;NA&gt;</td>\n",
1989
- " <td>NaN</td>\n",
1990
- " <td>NaN</td>\n",
1991
- " </tr>\n",
1992
- " <tr>\n",
1993
- " <th>ETC</th>\n",
1994
- " <td>21.98</td>\n",
1995
- " <td>23.8</td>\n",
1996
- " <td>19.5</td>\n",
1997
- " <td>20.27</td>\n",
1998
- " <td>1.306320e+06</td>\n",
1999
- " <td>0.000000</td>\n",
2000
- " </tr>\n",
2001
- " <tr>\n",
2002
- " <th>...</th>\n",
2003
- " <th>...</th>\n",
2004
- " <td>...</td>\n",
2005
- " <td>...</td>\n",
2006
- " <td>...</td>\n",
2007
- " <td>...</td>\n",
2008
- " <td>...</td>\n",
2009
- " <td>...</td>\n",
2010
- " </tr>\n",
2011
- " <tr>\n",
2012
- " <th rowspan=\"5\" valign=\"top\">2024-08-04</th>\n",
2013
- " <th>XTZ</th>\n",
2014
- " <td>0.685</td>\n",
2015
- " <td>0.693</td>\n",
2016
- " <td>0.677</td>\n",
2017
- " <td>0.679</td>\n",
2018
- " <td>5.373374e+06</td>\n",
2019
- " <td>0.000200</td>\n",
2020
- " </tr>\n",
2021
- " <tr>\n",
2022
- " <th>YFI</th>\n",
2023
- " <td>5341.0</td>\n",
2024
- " <td>5341.0</td>\n",
2025
- " <td>5196.0</td>\n",
2026
- " <td>5198.0</td>\n",
2027
- " <td>4.281050e+02</td>\n",
2028
- " <td>0.000169</td>\n",
2029
- " </tr>\n",
2030
- " <tr>\n",
2031
- " <th>ZEC</th>\n",
2032
- " <td>31.76</td>\n",
2033
- " <td>34.44</td>\n",
2034
- " <td>31.28</td>\n",
2035
- " <td>31.55</td>\n",
2036
- " <td>1.348085e+06</td>\n",
2037
- " <td>0.000191</td>\n",
2038
- " </tr>\n",
2039
- " <tr>\n",
2040
- " <th>ZIL</th>\n",
2041
- " <td>0.01422</td>\n",
2042
- " <td>0.01441</td>\n",
2043
- " <td>0.01392</td>\n",
2044
- " <td>0.01396</td>\n",
2045
- " <td>2.048626e+08</td>\n",
2046
- " <td>-0.000031</td>\n",
2047
- " </tr>\n",
2048
- " <tr>\n",
2049
- " <th>ZRX</th>\n",
2050
- " <td>0.3055</td>\n",
2051
- " <td>0.3121</td>\n",
2052
- " <td>0.2983</td>\n",
2053
- " <td>0.2988</td>\n",
2054
- " <td>9.810764e+06</td>\n",
2055
- " <td>0.000186</td>\n",
2056
- " </tr>\n",
2057
- " </tbody>\n",
2058
- "</table>\n",
2059
- "<p>136630 rows × 6 columns</p>\n",
2060
- "</div>"
2061
- ],
2062
- "text/plain": [
2063
- " open high low close volume \\\n",
2064
- "date ticker \n",
2065
- "2017-06-18 BAT <NA> <NA> <NA> <NA> NaN \n",
2066
- " BTC 2655.1 2676.04 2488.59 2539.56 9.200422e+04 \n",
2067
- " DASH <NA> <NA> <NA> <NA> NaN \n",
2068
- " DOGE <NA> <NA> <NA> <NA> NaN \n",
2069
- " ETC 21.98 23.8 19.5 20.27 1.306320e+06 \n",
2070
- "... ... ... ... ... ... \n",
2071
- "2024-08-04 XTZ 0.685 0.693 0.677 0.679 5.373374e+06 \n",
2072
- " YFI 5341.0 5341.0 5196.0 5198.0 4.281050e+02 \n",
2073
- " ZEC 31.76 34.44 31.28 31.55 1.348085e+06 \n",
2074
- " ZIL 0.01422 0.01441 0.01392 0.01396 2.048626e+08 \n",
2075
- " ZRX 0.3055 0.3121 0.2983 0.2988 9.810764e+06 \n",
2076
- "\n",
2077
- " funding_rate \n",
2078
- "date ticker \n",
2079
- "2017-06-18 BAT NaN \n",
2080
- " BTC 0.000000 \n",
2081
- " DASH NaN \n",
2082
- " DOGE NaN \n",
2083
- " ETC 0.000000 \n",
2084
- "... ... \n",
2085
- "2024-08-04 XTZ 0.000200 \n",
2086
- " YFI 0.000169 \n",
2087
- " ZEC 0.000191 \n",
2088
- " ZIL -0.000031 \n",
2089
- " ZRX 0.000186 \n",
2090
- "\n",
2091
- "[136630 rows x 6 columns]"
2092
- ]
2093
- },
2094
- "execution_count": 49,
2095
- "metadata": {},
2096
- "output_type": "execute_result"
2097
- }
2098
- ],
2669
+ "outputs": [],
2099
2670
  "source": [
2100
2671
  "clean.df"
2101
2672
  ]
2102
2673
  },
2103
2674
  {
2104
2675
  "cell_type": "code",
2105
- "execution_count": 50,
2106
- "id": "a9b1764c",
2676
+ "execution_count": null,
2677
+ "id": "edfe227e",
2107
2678
  "metadata": {},
2108
2679
  "outputs": [],
2109
2680
  "source": [
2110
- "# # clean data\n",
2111
- "# clean_df = clean.filter_delisted_tickers().\\\n",
2112
- "# filter_outliers(od_method='mad', excl_cols=['volume', 'funding_rate'], thresh_val=10).\\\n",
2113
- "# repair_outliers(imp_method='fcst').\\\n",
2114
- "# filter_avg_trading_val(thresh_val=1000000).\\\n",
2115
- "# filter_missing_vals_gaps().\\\n",
2116
- "# filter_min_nobs(ts_obs=1500, cs_obs=10).\\\n",
2117
- "# get(attr='df').dropna(how='all')"
2681
+ "'TRX' in clean.df.index.get_level_values(1).unique()"
2118
2682
  ]
2119
2683
  },
2120
2684
  {
2121
2685
  "cell_type": "code",
2122
2686
  "execution_count": null,
2123
- "id": "572d7a2e",
2687
+ "id": "51134773",
2124
2688
  "metadata": {},
2125
2689
  "outputs": [],
2126
- "source": []
2690
+ "source": [
2691
+ "clean.summary.close"
2692
+ ]
2127
2693
  },
2128
2694
  {
2129
2695
  "cell_type": "code",
2130
- "execution_count": 53,
2131
- "id": "99857595",
2696
+ "execution_count": null,
2697
+ "id": "a8feb8b6",
2132
2698
  "metadata": {},
2133
2699
  "outputs": [],
2134
2700
  "source": [
2135
- "df.to_parquet('s3://factorlab-data/binance_historical_ohlcv_daily.parquet')"
2701
+ "clean.df.index.get_level_values(1).unique()"
2136
2702
  ]
2137
2703
  },
2138
2704
  {
2139
2705
  "cell_type": "code",
2140
- "execution_count": 54,
2141
- "id": "15e66225",
2706
+ "execution_count": null,
2707
+ "id": "54b818cd",
2142
2708
  "metadata": {},
2143
2709
  "outputs": [],
2144
2710
  "source": [
2145
- "clean.df.dropna(how='all').to_parquet('../../../../factorlab/notebooks/binance_historical_ohlcv_daily.parquet')"
2711
+ "clean.df.dropna(how='all').to_csv('../../../../factorlab/notebooks/binance_historical_ohlcv_daily.csv')"
2146
2712
  ]
2147
2713
  },
2148
2714
  {
2149
2715
  "cell_type": "code",
2150
2716
  "execution_count": null,
2151
- "id": "8a962fa7",
2717
+ "id": "f6a79f46",
2152
2718
  "metadata": {},
2153
2719
  "outputs": [],
2154
2720
  "source": []
2155
2721
  },
2156
2722
  {
2157
2723
  "cell_type": "code",
2158
- "execution_count": 55,
2159
- "id": "54b818cd",
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",
2160
2742
  "metadata": {},
2161
2743
  "outputs": [],
2162
2744
  "source": [
2163
- "clean.df.dropna(how='all').to_csv('../../../../factorlab/notebooks/binance_historical_ohlcv_daily.csv')"
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')"
2164
2771
  ]
2165
2772
  },
2773
+ {
2774
+ "cell_type": "code",
2775
+ "execution_count": null,
2776
+ "id": "8a962fa7",
2777
+ "metadata": {},
2778
+ "outputs": [],
2779
+ "source": []
2780
+ },
2166
2781
  {
2167
2782
  "cell_type": "code",
2168
2783
  "execution_count": null,