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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,747 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": 1,
6
- "id": "61dffe91-efa4-4f27-9b81-b349273678fb",
7
- "metadata": {},
8
- "outputs": [
9
- {
10
- "name": "stderr",
11
- "output_type": "stream",
12
- "text": [
13
- "fatal: bad revision 'HEAD'\n"
14
- ]
15
- }
16
- ],
17
- "source": [
18
- "import pandas as pd\n",
19
- "from cryptodatapy.extract.libraries.ccxt_api import CCXT\n",
20
- "from cryptodatapy.extract.datarequest import DataRequest\n",
21
- "from cryptodatapy.transform.convertparams import ConvertParams\n",
22
- "from cryptodatapy.extract.getdata import GetData"
23
- ]
24
- },
25
- {
26
- "cell_type": "code",
27
- "execution_count": 2,
28
- "id": "35541a56-30b9-4c62-9933-8c84e77db669",
29
- "metadata": {},
30
- "outputs": [],
31
- "source": [
32
- "cx = CCXT()"
33
- ]
34
- },
35
- {
36
- "cell_type": "code",
37
- "execution_count": 3,
38
- "id": "af738a24-f94d-4ab2-b309-36526f8b386a",
39
- "metadata": {},
40
- "outputs": [],
41
- "source": [
42
- "# get all Binance perp futures tickers\n",
43
- "data_req = DataRequest(source='ccxt')\n",
44
- "perp_tickers = GetData(data_req).get_meta(method='get_markets_info', \n",
45
- " quote_ccy='USDT',\n",
46
- " mkt_type='perpetual_future',\n",
47
- " exch='binanceusdm', \n",
48
- " as_list=True)"
49
- ]
50
- },
51
- {
52
- "cell_type": "code",
53
- "execution_count": 4,
54
- "id": "44a02d43-e561-4567-b991-7dbc7f1789c3",
55
- "metadata": {},
56
- "outputs": [
57
- {
58
- "data": {
59
- "text/plain": [
60
- "['BTC/USDT:USDT',\n",
61
- " 'ETH/USDT:USDT',\n",
62
- " 'BCH/USDT:USDT',\n",
63
- " 'XRP/USDT:USDT',\n",
64
- " 'EOS/USDT:USDT',\n",
65
- " 'LTC/USDT:USDT',\n",
66
- " 'TRX/USDT:USDT',\n",
67
- " 'ETC/USDT:USDT',\n",
68
- " 'LINK/USDT:USDT',\n",
69
- " 'XLM/USDT:USDT',\n",
70
- " 'ADA/USDT:USDT',\n",
71
- " 'XMR/USDT:USDT',\n",
72
- " 'DASH/USDT:USDT',\n",
73
- " 'ZEC/USDT:USDT',\n",
74
- " 'XTZ/USDT:USDT',\n",
75
- " 'BNB/USDT:USDT',\n",
76
- " 'ATOM/USDT:USDT',\n",
77
- " 'ONT/USDT:USDT',\n",
78
- " 'IOTA/USDT:USDT',\n",
79
- " 'BAT/USDT:USDT',\n",
80
- " 'VET/USDT:USDT',\n",
81
- " 'NEO/USDT:USDT',\n",
82
- " 'QTUM/USDT:USDT',\n",
83
- " 'IOST/USDT:USDT',\n",
84
- " 'THETA/USDT:USDT',\n",
85
- " 'ALGO/USDT:USDT',\n",
86
- " 'ZIL/USDT:USDT',\n",
87
- " 'KNC/USDT:USDT',\n",
88
- " 'ZRX/USDT:USDT',\n",
89
- " 'COMP/USDT:USDT',\n",
90
- " 'OMG/USDT:USDT',\n",
91
- " 'DOGE/USDT:USDT',\n",
92
- " 'SXP/USDT:USDT',\n",
93
- " 'KAVA/USDT:USDT',\n",
94
- " 'BAND/USDT:USDT',\n",
95
- " 'RLC/USDT:USDT',\n",
96
- " 'WAVES/USDT:USDT',\n",
97
- " 'MKR/USDT:USDT',\n",
98
- " 'SNX/USDT:USDT',\n",
99
- " 'DOT/USDT:USDT',\n",
100
- " 'DEFI/USDT:USDT',\n",
101
- " 'YFI/USDT:USDT',\n",
102
- " 'BAL/USDT:USDT',\n",
103
- " 'CRV/USDT:USDT',\n",
104
- " 'TRB/USDT:USDT',\n",
105
- " 'RUNE/USDT:USDT',\n",
106
- " 'SUSHI/USDT:USDT',\n",
107
- " 'EGLD/USDT:USDT',\n",
108
- " 'SOL/USDT:USDT',\n",
109
- " 'ICX/USDT:USDT',\n",
110
- " 'STORJ/USDT:USDT',\n",
111
- " 'BLZ/USDT:USDT',\n",
112
- " 'UNI/USDT:USDT',\n",
113
- " 'AVAX/USDT:USDT',\n",
114
- " 'FTM/USDT:USDT',\n",
115
- " 'ENJ/USDT:USDT',\n",
116
- " 'FLM/USDT:USDT',\n",
117
- " 'REN/USDT:USDT',\n",
118
- " 'KSM/USDT:USDT',\n",
119
- " 'NEAR/USDT:USDT',\n",
120
- " 'AAVE/USDT:USDT',\n",
121
- " 'FIL/USDT:USDT',\n",
122
- " 'RSR/USDT:USDT',\n",
123
- " 'LRC/USDT:USDT',\n",
124
- " 'OCEAN/USDT:USDT',\n",
125
- " 'CVC/USDT:USDT',\n",
126
- " 'BEL/USDT:USDT',\n",
127
- " 'CTK/USDT:USDT',\n",
128
- " 'AXS/USDT:USDT',\n",
129
- " 'ALPHA/USDT:USDT',\n",
130
- " 'ZEN/USDT:USDT',\n",
131
- " 'SKL/USDT:USDT',\n",
132
- " 'GRT/USDT:USDT',\n",
133
- " '1INCH/USDT:USDT',\n",
134
- " 'CHZ/USDT:USDT',\n",
135
- " 'SAND/USDT:USDT',\n",
136
- " 'ANKR/USDT:USDT',\n",
137
- " 'LIT/USDT:USDT',\n",
138
- " 'UNFI/USDT:USDT',\n",
139
- " 'REEF/USDT:USDT',\n",
140
- " 'RVN/USDT:USDT',\n",
141
- " 'SFP/USDT:USDT',\n",
142
- " 'XEM/USDT:USDT',\n",
143
- " 'BTCST/USDT:USDT',\n",
144
- " 'COTI/USDT:USDT',\n",
145
- " 'CHR/USDT:USDT',\n",
146
- " 'MANA/USDT:USDT',\n",
147
- " 'ALICE/USDT:USDT',\n",
148
- " 'HBAR/USDT:USDT',\n",
149
- " 'ONE/USDT:USDT',\n",
150
- " 'LINA/USDT:USDT',\n",
151
- " 'STMX/USDT:USDT',\n",
152
- " 'DENT/USDT:USDT',\n",
153
- " 'CELR/USDT:USDT',\n",
154
- " 'HOT/USDT:USDT',\n",
155
- " 'MTL/USDT:USDT',\n",
156
- " 'OGN/USDT:USDT',\n",
157
- " 'NKN/USDT:USDT',\n",
158
- " 'SC/USDT:USDT',\n",
159
- " 'DGB/USDT:USDT',\n",
160
- " '1000SHIB/USDT:USDT',\n",
161
- " 'BAKE/USDT:USDT',\n",
162
- " 'GTC/USDT:USDT',\n",
163
- " 'BTCDOM/USDT:USDT',\n",
164
- " 'IOTX/USDT:USDT',\n",
165
- " 'RAY/USDT:USDT',\n",
166
- " 'C98/USDT:USDT',\n",
167
- " 'MASK/USDT:USDT',\n",
168
- " 'ATA/USDT:USDT',\n",
169
- " 'DYDX/USDT:USDT',\n",
170
- " '1000XEC/USDT:USDT',\n",
171
- " 'GALA/USDT:USDT',\n",
172
- " 'CELO/USDT:USDT',\n",
173
- " 'AR/USDT:USDT',\n",
174
- " 'KLAY/USDT:USDT',\n",
175
- " 'ARPA/USDT:USDT',\n",
176
- " 'CTSI/USDT:USDT',\n",
177
- " 'LPT/USDT:USDT',\n",
178
- " 'ENS/USDT:USDT',\n",
179
- " 'PEOPLE/USDT:USDT',\n",
180
- " 'ROSE/USDT:USDT',\n",
181
- " 'DUSK/USDT:USDT',\n",
182
- " 'FLOW/USDT:USDT',\n",
183
- " 'IMX/USDT:USDT',\n",
184
- " 'API3/USDT:USDT',\n",
185
- " 'GMT/USDT:USDT',\n",
186
- " 'APE/USDT:USDT',\n",
187
- " 'WOO/USDT:USDT',\n",
188
- " 'FTT/USDT:USDT',\n",
189
- " 'JASMY/USDT:USDT',\n",
190
- " 'DAR/USDT:USDT',\n",
191
- " 'OP/USDT:USDT',\n",
192
- " 'INJ/USDT:USDT',\n",
193
- " 'STG/USDT:USDT',\n",
194
- " 'SPELL/USDT:USDT',\n",
195
- " '1000LUNC/USDT:USDT',\n",
196
- " 'LUNA2/USDT:USDT',\n",
197
- " 'LDO/USDT:USDT',\n",
198
- " 'CVX/USDT:USDT',\n",
199
- " 'ICP/USDT:USDT',\n",
200
- " 'APT/USDT:USDT',\n",
201
- " 'QNT/USDT:USDT',\n",
202
- " 'FET/USDT:USDT',\n",
203
- " 'FXS/USDT:USDT',\n",
204
- " 'HOOK/USDT:USDT',\n",
205
- " 'MAGIC/USDT:USDT',\n",
206
- " 'T/USDT:USDT',\n",
207
- " 'HIGH/USDT:USDT',\n",
208
- " 'MINA/USDT:USDT',\n",
209
- " 'ASTR/USDT:USDT',\n",
210
- " 'AGIX/USDT:USDT',\n",
211
- " 'PHB/USDT:USDT',\n",
212
- " 'GMX/USDT:USDT',\n",
213
- " 'CFX/USDT:USDT',\n",
214
- " 'STX/USDT:USDT',\n",
215
- " 'BNX/USDT:USDT',\n",
216
- " 'ACH/USDT:USDT',\n",
217
- " 'SSV/USDT:USDT',\n",
218
- " 'CKB/USDT:USDT',\n",
219
- " 'PERP/USDT:USDT',\n",
220
- " 'TRU/USDT:USDT',\n",
221
- " 'LQTY/USDT:USDT',\n",
222
- " 'USDC/USDT:USDT',\n",
223
- " 'ID/USDT:USDT',\n",
224
- " 'ARB/USDT:USDT',\n",
225
- " 'JOE/USDT:USDT',\n",
226
- " 'TLM/USDT:USDT',\n",
227
- " 'AMB/USDT:USDT',\n",
228
- " 'LEVER/USDT:USDT',\n",
229
- " 'RDNT/USDT:USDT',\n",
230
- " 'HFT/USDT:USDT',\n",
231
- " 'XVS/USDT:USDT',\n",
232
- " 'BLUR/USDT:USDT',\n",
233
- " 'EDU/USDT:USDT',\n",
234
- " 'IDEX/USDT:USDT',\n",
235
- " 'SUI/USDT:USDT',\n",
236
- " '1000PEPE/USDT:USDT',\n",
237
- " '1000FLOKI/USDT:USDT',\n",
238
- " 'UMA/USDT:USDT',\n",
239
- " 'RAD/USDT:USDT',\n",
240
- " 'KEY/USDT:USDT',\n",
241
- " 'COMBO/USDT:USDT',\n",
242
- " 'NMR/USDT:USDT',\n",
243
- " 'MAV/USDT:USDT',\n",
244
- " 'MDT/USDT:USDT',\n",
245
- " 'XVG/USDT:USDT',\n",
246
- " 'WLD/USDT:USDT',\n",
247
- " 'PENDLE/USDT:USDT',\n",
248
- " 'ARKM/USDT:USDT',\n",
249
- " 'AGLD/USDT:USDT',\n",
250
- " 'YGG/USDT:USDT',\n",
251
- " 'DODOX/USDT:USDT',\n",
252
- " 'BNT/USDT:USDT',\n",
253
- " 'OXT/USDT:USDT',\n",
254
- " 'SEI/USDT:USDT',\n",
255
- " 'CYBER/USDT:USDT',\n",
256
- " 'HIFI/USDT:USDT',\n",
257
- " 'ARK/USDT:USDT',\n",
258
- " 'GLMR/USDT:USDT',\n",
259
- " 'BICO/USDT:USDT',\n",
260
- " 'STRAX/USDT:USDT',\n",
261
- " 'LOOM/USDT:USDT',\n",
262
- " 'BIGTIME/USDT:USDT',\n",
263
- " 'BOND/USDT:USDT',\n",
264
- " 'ORBS/USDT:USDT',\n",
265
- " 'STPT/USDT:USDT',\n",
266
- " 'WAXP/USDT:USDT',\n",
267
- " 'BSV/USDT:USDT',\n",
268
- " 'RIF/USDT:USDT',\n",
269
- " 'POLYX/USDT:USDT',\n",
270
- " 'GAS/USDT:USDT',\n",
271
- " 'POWR/USDT:USDT',\n",
272
- " 'SLP/USDT:USDT',\n",
273
- " 'TIA/USDT:USDT',\n",
274
- " 'SNT/USDT:USDT',\n",
275
- " 'CAKE/USDT:USDT',\n",
276
- " 'MEME/USDT:USDT',\n",
277
- " 'TWT/USDT:USDT',\n",
278
- " 'TOKEN/USDT:USDT',\n",
279
- " 'ORDI/USDT:USDT',\n",
280
- " 'STEEM/USDT:USDT',\n",
281
- " 'BADGER/USDT:USDT',\n",
282
- " 'ILV/USDT:USDT',\n",
283
- " 'NTRN/USDT:USDT',\n",
284
- " 'KAS/USDT:USDT',\n",
285
- " 'BEAMX/USDT:USDT',\n",
286
- " '1000BONK/USDT:USDT',\n",
287
- " 'PYTH/USDT:USDT',\n",
288
- " 'SUPER/USDT:USDT',\n",
289
- " 'USTC/USDT:USDT',\n",
290
- " 'ONG/USDT:USDT',\n",
291
- " 'ETHW/USDT:USDT',\n",
292
- " 'JTO/USDT:USDT',\n",
293
- " '1000SATS/USDT:USDT',\n",
294
- " 'AUCTION/USDT:USDT',\n",
295
- " '1000RATS/USDT:USDT',\n",
296
- " 'ACE/USDT:USDT',\n",
297
- " 'MOVR/USDT:USDT',\n",
298
- " 'NFP/USDT:USDT',\n",
299
- " 'AI/USDT:USDT',\n",
300
- " 'XAI/USDT:USDT',\n",
301
- " 'WIF/USDT:USDT',\n",
302
- " 'MANTA/USDT:USDT',\n",
303
- " 'ONDO/USDT:USDT',\n",
304
- " 'LSK/USDT:USDT',\n",
305
- " 'ALT/USDT:USDT',\n",
306
- " 'JUP/USDT:USDT',\n",
307
- " 'ZETA/USDT:USDT',\n",
308
- " 'RONIN/USDT:USDT',\n",
309
- " 'DYM/USDT:USDT',\n",
310
- " 'OM/USDT:USDT',\n",
311
- " 'PIXEL/USDT:USDT',\n",
312
- " 'STRK/USDT:USDT',\n",
313
- " 'MAVIA/USDT:USDT',\n",
314
- " 'GLM/USDT:USDT',\n",
315
- " 'PORTAL/USDT:USDT',\n",
316
- " 'TON/USDT:USDT',\n",
317
- " 'AXL/USDT:USDT',\n",
318
- " 'MYRO/USDT:USDT',\n",
319
- " 'METIS/USDT:USDT',\n",
320
- " 'AEVO/USDT:USDT',\n",
321
- " 'VANRY/USDT:USDT',\n",
322
- " 'BOME/USDT:USDT',\n",
323
- " 'ETHFI/USDT:USDT',\n",
324
- " 'ENA/USDT:USDT',\n",
325
- " 'W/USDT:USDT',\n",
326
- " 'TNSR/USDT:USDT',\n",
327
- " 'SAGA/USDT:USDT',\n",
328
- " 'TAO/USDT:USDT',\n",
329
- " 'OMNI/USDT:USDT',\n",
330
- " 'REZ/USDT:USDT',\n",
331
- " 'BB/USDT:USDT',\n",
332
- " 'NOT/USDT:USDT',\n",
333
- " 'TURBO/USDT:USDT',\n",
334
- " 'IO/USDT:USDT',\n",
335
- " 'ZK/USDT:USDT',\n",
336
- " 'MEW/USDT:USDT',\n",
337
- " 'LISTA/USDT:USDT',\n",
338
- " 'ZRO/USDT:USDT',\n",
339
- " 'RENDER/USDT:USDT',\n",
340
- " 'BANANA/USDT:USDT',\n",
341
- " 'RARE/USDT:USDT',\n",
342
- " 'G/USDT:USDT',\n",
343
- " 'SYN/USDT:USDT',\n",
344
- " 'SYS/USDT:USDT',\n",
345
- " 'VOXEL/USDT:USDT',\n",
346
- " 'BRETT/USDT:USDT',\n",
347
- " 'ALPACA/USDT:USDT',\n",
348
- " 'POPCAT/USDT:USDT',\n",
349
- " 'SUN/USDT:USDT',\n",
350
- " 'VIDT/USDT:USDT',\n",
351
- " 'NULS/USDT:USDT',\n",
352
- " 'DOGS/USDT:USDT',\n",
353
- " 'MBOX/USDT:USDT',\n",
354
- " 'CHESS/USDT:USDT',\n",
355
- " 'FLUX/USDT:USDT',\n",
356
- " 'BSW/USDT:USDT',\n",
357
- " 'QUICK/USDT:USDT',\n",
358
- " 'NEIROETH/USDT:USDT',\n",
359
- " 'RPL/USDT:USDT',\n",
360
- " 'AERGO/USDT:USDT',\n",
361
- " 'POL/USDT:USDT',\n",
362
- " 'UXLINK/USDT:USDT',\n",
363
- " '1MBABYDOGE/USDT:USDT',\n",
364
- " 'NEIRO/USDT:USDT',\n",
365
- " 'KDA/USDT:USDT',\n",
366
- " 'FIDA/USDT:USDT',\n",
367
- " 'FIO/USDT:USDT',\n",
368
- " 'CATI/USDT:USDT',\n",
369
- " 'GHST/USDT:USDT',\n",
370
- " 'LOKA/USDT:USDT',\n",
371
- " 'HMSTR/USDT:USDT',\n",
372
- " 'REI/USDT:USDT']"
373
- ]
374
- },
375
- "execution_count": 4,
376
- "metadata": {},
377
- "output_type": "execute_result"
378
- }
379
- ],
380
- "source": [
381
- "perp_tickers"
382
- ]
383
- },
384
- {
385
- "cell_type": "code",
386
- "execution_count": 5,
387
- "id": "11815102-7944-4b9b-86ce-adb340cd169b",
388
- "metadata": {},
389
- "outputs": [],
390
- "source": [
391
- "start = pd.Timestamp.now()"
392
- ]
393
- },
394
- {
395
- "cell_type": "code",
396
- "execution_count": 6,
397
- "id": "ff4408bf-3b80-41a8-8f39-5b84f1a60f0a",
398
- "metadata": {
399
- "scrolled": true
400
- },
401
- "outputs": [],
402
- "source": [
403
- "data_req = DataRequest(source='ccxt',\n",
404
- " exch = 'binanceusdm',\n",
405
- " source_markets=perp_tickers,\n",
406
- " fields=['open', 'high', 'low', 'close', 'volume'],\n",
407
- " freq='1h',\n",
408
- " quote_ccy=None,\n",
409
- " mkt_type='perpetual_future',\n",
410
- " start_date=None,\n",
411
- " end_date=None,\n",
412
- " trials=3,\n",
413
- " pause=0.5\n",
414
- " ) "
415
- ]
416
- },
417
- {
418
- "cell_type": "code",
419
- "execution_count": 7,
420
- "id": "59491938-986f-434c-aa58-1ed02ba08543",
421
- "metadata": {},
422
- "outputs": [
423
- {
424
- "name": "stderr",
425
- "output_type": "stream",
426
- "text": [
427
- "Fetching OHLCV data: 27%|█████▊ | 83/313 [33:31<1:20:29, 21.00s/ticker]WARNING:root:Failed to get OHLCV data from binanceusdm for BTCST/USDT:USDT on attempt #1.\n",
428
- "WARNING:root:binanceusdm {\"code\":-1122,\"msg\":\"Invalid symbol status.\"}\n",
429
- "WARNING:root:Failed to get OHLCV data from binanceusdm for BTCST/USDT:USDT on attempt #2.\n",
430
- "WARNING:root:binanceusdm {\"code\":-1122,\"msg\":\"Invalid symbol status.\"}\n",
431
- "WARNING:root:Failed to get OHLCV data from binanceusdm for BTCST/USDT:USDT on attempt #3.\n",
432
- "WARNING:root:binanceusdm {\"code\":-1122,\"msg\":\"Invalid symbol status.\"}\n",
433
- "WARNING:root:Failed to get OHLCV data from binanceusdm for BTCST/USDT:USDT after 3 attempts.\n",
434
- "Fetching OHLCV data: 100%|█████████████████████| 313/313 [1:06:48<00:00, 12.81s/ticker]\n"
435
- ]
436
- }
437
- ],
438
- "source": [
439
- "df = await cx.get_data(data_req)"
440
- ]
441
- },
442
- {
443
- "cell_type": "code",
444
- "execution_count": 8,
445
- "id": "80ada1aa-495f-4bea-a4b4-547f9dd4c45f",
446
- "metadata": {},
447
- "outputs": [
448
- {
449
- "data": {
450
- "text/plain": [
451
- "Timedelta('0 days 01:07:44.569036')"
452
- ]
453
- },
454
- "execution_count": 8,
455
- "metadata": {},
456
- "output_type": "execute_result"
457
- }
458
- ],
459
- "source": [
460
- "pd.Timestamp.now() - start"
461
- ]
462
- },
463
- {
464
- "cell_type": "code",
465
- "execution_count": 9,
466
- "id": "7689e169-4d7c-4f1c-9c65-73d899b641d3",
467
- "metadata": {},
468
- "outputs": [
469
- {
470
- "data": {
471
- "text/html": [
472
- "<div>\n",
473
- "<style scoped>\n",
474
- " .dataframe tbody tr th:only-of-type {\n",
475
- " vertical-align: middle;\n",
476
- " }\n",
477
- "\n",
478
- " .dataframe tbody tr th {\n",
479
- " vertical-align: top;\n",
480
- " }\n",
481
- "\n",
482
- " .dataframe thead th {\n",
483
- " text-align: right;\n",
484
- " }\n",
485
- "</style>\n",
486
- "<table border=\"1\" class=\"dataframe\">\n",
487
- " <thead>\n",
488
- " <tr style=\"text-align: right;\">\n",
489
- " <th></th>\n",
490
- " <th></th>\n",
491
- " <th>open</th>\n",
492
- " <th>high</th>\n",
493
- " <th>low</th>\n",
494
- " <th>close</th>\n",
495
- " <th>volume</th>\n",
496
- " </tr>\n",
497
- " <tr>\n",
498
- " <th>date</th>\n",
499
- " <th>ticker</th>\n",
500
- " <th></th>\n",
501
- " <th></th>\n",
502
- " <th></th>\n",
503
- " <th></th>\n",
504
- " <th></th>\n",
505
- " </tr>\n",
506
- " </thead>\n",
507
- " <tbody>\n",
508
- " <tr>\n",
509
- " <th>2019-09-08 17:00:00</th>\n",
510
- " <th>BTC/USDT:USDT</th>\n",
511
- " <td>10000.0</td>\n",
512
- " <td>10000.0</td>\n",
513
- " <td>10000.0</td>\n",
514
- " <td>10000.0</td>\n",
515
- " <td>0.002</td>\n",
516
- " </tr>\n",
517
- " <tr>\n",
518
- " <th>2019-09-08 18:00:00</th>\n",
519
- " <th>BTC/USDT:USDT</th>\n",
520
- " <td>10000.0</td>\n",
521
- " <td>10000.0</td>\n",
522
- " <td>10000.0</td>\n",
523
- " <td>10000.0</td>\n",
524
- " <td>&lt;NA&gt;</td>\n",
525
- " </tr>\n",
526
- " <tr>\n",
527
- " <th>2019-09-08 19:00:00</th>\n",
528
- " <th>BTC/USDT:USDT</th>\n",
529
- " <td>10344.77</td>\n",
530
- " <td>10357.53</td>\n",
531
- " <td>10337.43</td>\n",
532
- " <td>10340.12</td>\n",
533
- " <td>471.659</td>\n",
534
- " </tr>\n",
535
- " <tr>\n",
536
- " <th>2019-09-08 20:00:00</th>\n",
537
- " <th>BTC/USDT:USDT</th>\n",
538
- " <td>10340.12</td>\n",
539
- " <td>10368.64</td>\n",
540
- " <td>10334.54</td>\n",
541
- " <td>10351.42</td>\n",
542
- " <td>583.271</td>\n",
543
- " </tr>\n",
544
- " <tr>\n",
545
- " <th>2019-09-08 21:00:00</th>\n",
546
- " <th>BTC/USDT:USDT</th>\n",
547
- " <td>10351.42</td>\n",
548
- " <td>10391.9</td>\n",
549
- " <td>10324.77</td>\n",
550
- " <td>10391.9</td>\n",
551
- " <td>689.759</td>\n",
552
- " </tr>\n",
553
- " <tr>\n",
554
- " <th>...</th>\n",
555
- " <th>...</th>\n",
556
- " <td>...</td>\n",
557
- " <td>...</td>\n",
558
- " <td>...</td>\n",
559
- " <td>...</td>\n",
560
- " <td>...</td>\n",
561
- " </tr>\n",
562
- " <tr>\n",
563
- " <th rowspan=\"5\" valign=\"top\">2024-09-30 00:00:00</th>\n",
564
- " <th>ZETA/USDT:USDT</th>\n",
565
- " <td>0.7161</td>\n",
566
- " <td>0.7179</td>\n",
567
- " <td>0.6878</td>\n",
568
- " <td>0.7026</td>\n",
569
- " <td>9282132.0</td>\n",
570
- " </tr>\n",
571
- " <tr>\n",
572
- " <th>ZIL/USDT:USDT</th>\n",
573
- " <td>0.01602</td>\n",
574
- " <td>0.01605</td>\n",
575
- " <td>0.01596</td>\n",
576
- " <td>0.01602</td>\n",
577
- " <td>5219176.0</td>\n",
578
- " </tr>\n",
579
- " <tr>\n",
580
- " <th>ZK/USDT:USDT</th>\n",
581
- " <td>0.14636</td>\n",
582
- " <td>0.14814</td>\n",
583
- " <td>0.14378</td>\n",
584
- " <td>0.14606</td>\n",
585
- " <td>22500668.0</td>\n",
586
- " </tr>\n",
587
- " <tr>\n",
588
- " <th>ZRO/USDT:USDT</th>\n",
589
- " <td>5.0065</td>\n",
590
- " <td>5.035</td>\n",
591
- " <td>4.905</td>\n",
592
- " <td>4.9879</td>\n",
593
- " <td>1302227.4</td>\n",
594
- " </tr>\n",
595
- " <tr>\n",
596
- " <th>ZRX/USDT:USDT</th>\n",
597
- " <td>0.3605</td>\n",
598
- " <td>0.3614</td>\n",
599
- " <td>0.3583</td>\n",
600
- " <td>0.3594</td>\n",
601
- " <td>432972.7</td>\n",
602
- " </tr>\n",
603
- " </tbody>\n",
604
- "</table>\n",
605
- "<p>5756566 rows × 5 columns</p>\n",
606
- "</div>"
607
- ],
608
- "text/plain": [
609
- " open high low close \\\n",
610
- "date ticker \n",
611
- "2019-09-08 17:00:00 BTC/USDT:USDT 10000.0 10000.0 10000.0 10000.0 \n",
612
- "2019-09-08 18:00:00 BTC/USDT:USDT 10000.0 10000.0 10000.0 10000.0 \n",
613
- "2019-09-08 19:00:00 BTC/USDT:USDT 10344.77 10357.53 10337.43 10340.12 \n",
614
- "2019-09-08 20:00:00 BTC/USDT:USDT 10340.12 10368.64 10334.54 10351.42 \n",
615
- "2019-09-08 21:00:00 BTC/USDT:USDT 10351.42 10391.9 10324.77 10391.9 \n",
616
- "... ... ... ... ... \n",
617
- "2024-09-30 00:00:00 ZETA/USDT:USDT 0.7161 0.7179 0.6878 0.7026 \n",
618
- " ZIL/USDT:USDT 0.01602 0.01605 0.01596 0.01602 \n",
619
- " ZK/USDT:USDT 0.14636 0.14814 0.14378 0.14606 \n",
620
- " ZRO/USDT:USDT 5.0065 5.035 4.905 4.9879 \n",
621
- " ZRX/USDT:USDT 0.3605 0.3614 0.3583 0.3594 \n",
622
- "\n",
623
- " volume \n",
624
- "date ticker \n",
625
- "2019-09-08 17:00:00 BTC/USDT:USDT 0.002 \n",
626
- "2019-09-08 18:00:00 BTC/USDT:USDT <NA> \n",
627
- "2019-09-08 19:00:00 BTC/USDT:USDT 471.659 \n",
628
- "2019-09-08 20:00:00 BTC/USDT:USDT 583.271 \n",
629
- "2019-09-08 21:00:00 BTC/USDT:USDT 689.759 \n",
630
- "... ... \n",
631
- "2024-09-30 00:00:00 ZETA/USDT:USDT 9282132.0 \n",
632
- " ZIL/USDT:USDT 5219176.0 \n",
633
- " ZK/USDT:USDT 22500668.0 \n",
634
- " ZRO/USDT:USDT 1302227.4 \n",
635
- " ZRX/USDT:USDT 432972.7 \n",
636
- "\n",
637
- "[5756566 rows x 5 columns]"
638
- ]
639
- },
640
- "execution_count": 9,
641
- "metadata": {},
642
- "output_type": "execute_result"
643
- }
644
- ],
645
- "source": [
646
- "df"
647
- ]
648
- },
649
- {
650
- "cell_type": "code",
651
- "execution_count": 10,
652
- "id": "fb772efb-9ed5-493b-9fe7-f2e0ce93da37",
653
- "metadata": {},
654
- "outputs": [],
655
- "source": [
656
- "df.to_parquet('s3://factorlab-data/binance_perps_ohlcv_hourly.parquet')"
657
- ]
658
- },
659
- {
660
- "cell_type": "code",
661
- "execution_count": null,
662
- "id": "9e78edb8-89b7-4572-bb61-0bd7f405e2a7",
663
- "metadata": {},
664
- "outputs": [],
665
- "source": [
666
- "# hist, d freq: ohlcv, funding rates, oi\n",
667
- "# hist, d freq, btc quote: ohlcv\n",
668
- "# hist, h freq: ohlcv, funding rates, oi\n",
669
- "# 1 day from today, h freq: ohlcv, funding rates, oi\n",
670
- "# 1 day, h freq, star-end date chg: ohlcv, funding rates"
671
- ]
672
- },
673
- {
674
- "cell_type": "code",
675
- "execution_count": null,
676
- "id": "10a2d056-4dbd-466e-89cb-74ba438a3e5b",
677
- "metadata": {},
678
- "outputs": [],
679
- "source": []
680
- },
681
- {
682
- "cell_type": "code",
683
- "execution_count": null,
684
- "id": "b5b59b00-cd16-48a6-93d7-245658bf7803",
685
- "metadata": {},
686
- "outputs": [],
687
- "source": []
688
- },
689
- {
690
- "cell_type": "code",
691
- "execution_count": null,
692
- "id": "fff0b3f5-0186-48da-97c3-ed60af830fb3",
693
- "metadata": {},
694
- "outputs": [],
695
- "source": []
696
- },
697
- {
698
- "cell_type": "code",
699
- "execution_count": null,
700
- "id": "b5e9f777-4720-4366-b4a0-6be539716317",
701
- "metadata": {},
702
- "outputs": [],
703
- "source": []
704
- },
705
- {
706
- "cell_type": "code",
707
- "execution_count": null,
708
- "id": "0fc5a543-34e7-4f45-923e-40c2c7baf80b",
709
- "metadata": {},
710
- "outputs": [],
711
- "source": [
712
- "# TODO load_markets() when instantiating the exchange in ccxt"
713
- ]
714
- },
715
- {
716
- "cell_type": "code",
717
- "execution_count": null,
718
- "id": "fc4645e9-055d-4035-93d1-b56980761c3e",
719
- "metadata": {},
720
- "outputs": [],
721
- "source": [
722
- "# exchange.has"
723
- ]
724
- }
725
- ],
726
- "metadata": {
727
- "kernelspec": {
728
- "display_name": "cryptodatapy",
729
- "language": "python",
730
- "name": "cryptodatapy"
731
- },
732
- "language_info": {
733
- "codemirror_mode": {
734
- "name": "ipython",
735
- "version": 3
736
- },
737
- "file_extension": ".py",
738
- "mimetype": "text/x-python",
739
- "name": "python",
740
- "nbconvert_exporter": "python",
741
- "pygments_lexer": "ipython3",
742
- "version": "3.9.12"
743
- }
744
- },
745
- "nbformat": 4,
746
- "nbformat_minor": 5
747
- }