cryptodatapy 0.2.5__py3-none-any.whl → 0.2.6__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 (36) hide show
  1. cryptodatapy/conf/tickers.csv +0 -1
  2. cryptodatapy/extract/data_vendors/CoinMetrics.ipynb +747 -0
  3. cryptodatapy/extract/data_vendors/coinmetrics_api.py +279 -209
  4. cryptodatapy/extract/data_vendors/cryptocompare_api.py +3 -5
  5. cryptodatapy/extract/data_vendors/datavendor.py +32 -12
  6. cryptodatapy/extract/data_vendors/glassnode_api.py +3 -2
  7. cryptodatapy/extract/data_vendors/tiingo_api.py +3 -2
  8. cryptodatapy/extract/datarequest.py +55 -9
  9. cryptodatapy/extract/libraries/ccxt_api.py +13 -2
  10. cryptodatapy/transform/cc_onchain_data.csv +118423 -0
  11. cryptodatapy/transform/clean.py +17 -15
  12. cryptodatapy/transform/clean_onchain_data.ipynb +4750 -0
  13. cryptodatapy/transform/clean_perp_futures_ohlcv.ipynb +1597 -1178
  14. cryptodatapy/transform/convertparams.py +28 -18
  15. cryptodatapy/transform/credit_data.ipynb +291 -0
  16. cryptodatapy/transform/eqty_data.ipynb +809 -0
  17. cryptodatapy/transform/filter.py +13 -10
  18. cryptodatapy/transform/global_credit_data_daily.parquet +0 -0
  19. cryptodatapy/transform/od.py +1 -0
  20. cryptodatapy/transform/rates_data.ipynb +465 -0
  21. cryptodatapy/transform/us_rates_daily.csv +227752 -0
  22. cryptodatapy/util/datacredentials.py +28 -7
  23. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.6.dist-info}/METADATA +2 -2
  24. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.6.dist-info}/RECORD +26 -28
  25. cryptodatapy/.DS_Store +0 -0
  26. cryptodatapy/.idea/.gitignore +0 -3
  27. cryptodatapy/.idea/cryptodatapy.iml +0 -12
  28. cryptodatapy/.idea/csv-plugin.xml +0 -16
  29. cryptodatapy/.idea/inspectionProfiles/Project_Default.xml +0 -6
  30. cryptodatapy/.idea/inspectionProfiles/profiles_settings.xml +0 -6
  31. cryptodatapy/.idea/misc.xml +0 -4
  32. cryptodatapy/.idea/modules.xml +0 -8
  33. cryptodatapy/.idea/vcs.xml +0 -6
  34. cryptodatapy/extract/libraries/ccxt.ipynb +0 -873
  35. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.6.dist-info}/LICENSE +0 -0
  36. {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,809 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 44,
6
+ "id": "9fea9fae",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import pandas as pd\n",
11
+ "import numpy as np\n",
12
+ "\n",
13
+ "from cryptodatapy.extract.datarequest import DataRequest\n",
14
+ "from cryptodatapy.util.datacatalog import DataCatalog \n",
15
+ "from cryptodatapy.extract.getdata import GetData\n",
16
+ "from cryptodatapy.transform.od import OutlierDetection\n",
17
+ "from cryptodatapy.transform.impute import Impute\n",
18
+ "from cryptodatapy.transform.filter import Filter\n",
19
+ "from cryptodatapy.transform.clean import CleanData, stitch_dataframes\n",
20
+ "from cryptodatapy.transform.impute import Impute"
21
+ ]
22
+ },
23
+ {
24
+ "cell_type": "markdown",
25
+ "id": "fc533553-649e-4479-8a4b-b3db5cb77d76",
26
+ "metadata": {},
27
+ "source": [
28
+ "# Data"
29
+ ]
30
+ },
31
+ {
32
+ "cell_type": "code",
33
+ "execution_count": 45,
34
+ "id": "2ad72bc7-5fdd-4ae5-8d9e-e90118efcc26",
35
+ "metadata": {},
36
+ "outputs": [],
37
+ "source": [
38
+ "dc = DataCatalog()"
39
+ ]
40
+ },
41
+ {
42
+ "cell_type": "code",
43
+ "execution_count": 46,
44
+ "id": "0342bab7-a792-4be3-8d4d-44c4343d0e6a",
45
+ "metadata": {},
46
+ "outputs": [
47
+ {
48
+ "data": {
49
+ "text/plain": [
50
+ "ticker\n",
51
+ "AR_Eqty_Idx ^MERV\n",
52
+ "AU_Eqty_Idx ^AXJO\n",
53
+ "BE_Eqty_Idx ^BFX\n",
54
+ "BR_Eqty_Idx ^BVSP\n",
55
+ "CA_Eqty_Idx ^GSPTSE\n",
56
+ "CL_Eqty_Idx ^IPSA\n",
57
+ "CN_Eqty_Idx 000001.SS\n",
58
+ "DE_Eqty_Idx ^GDAXI\n",
59
+ "EZ_Eqty_Idx ^STOXX50E\n",
60
+ "FR_Eqty_Idx ^FCHI\n",
61
+ "GB_Eqty_Idx ^FTSE\n",
62
+ "HK_Eqty_Idx ^HIS\n",
63
+ "ID_Eqty_Idx ^JKSE\n",
64
+ "IL_Eqty_Idx ^TA125.TA\n",
65
+ "JP_Eqty_Idx ^N225\n",
66
+ "MX_Eqty_Idx ^MXX\n",
67
+ "MY_Eqty_Idx ^KLSE\n",
68
+ "NZ_Eqty_Idx ^NZ50\n",
69
+ "RU_Eqty_Idx IMOEX.ME\n",
70
+ "SG_Eqty_Idx ^STI\n",
71
+ "KR_Eqty_Idx ^KS11\n",
72
+ "TW_Eqty_Idx ^TWII\n",
73
+ "US_Eqty_Idx ^GSPC\n",
74
+ "ZA_Eqty_Idx ^JN0U.JO\n",
75
+ "US_Eqty_Vol_Idx ^VIX\n",
76
+ "Name: yahoo_id, dtype: object"
77
+ ]
78
+ },
79
+ "execution_count": 46,
80
+ "metadata": {},
81
+ "output_type": "execute_result"
82
+ }
83
+ ],
84
+ "source": [
85
+ "dc.get_tickers_metadata(cat='eqty').loc[:, 'yahoo_id'].dropna()"
86
+ ]
87
+ },
88
+ {
89
+ "cell_type": "code",
90
+ "execution_count": null,
91
+ "id": "12de559e-ddff-45c8-a185-0652e3743733",
92
+ "metadata": {},
93
+ "outputs": [],
94
+ "source": []
95
+ },
96
+ {
97
+ "cell_type": "code",
98
+ "execution_count": 47,
99
+ "id": "d875cd96-a29c-4e22-9806-a1b1c2513564",
100
+ "metadata": {},
101
+ "outputs": [],
102
+ "source": [
103
+ "msci_etf_tickers = dc.get_tickers_metadata(cat='eqty').loc[:, 'tiingo_id'].dropna().values.tolist()"
104
+ ]
105
+ },
106
+ {
107
+ "cell_type": "code",
108
+ "execution_count": 48,
109
+ "id": "1bf0af0d-7ed7-4e07-9da1-5625b1f32bce",
110
+ "metadata": {},
111
+ "outputs": [
112
+ {
113
+ "data": {
114
+ "text/plain": [
115
+ "['SPY',\n",
116
+ " 'ARGT',\n",
117
+ " 'UAE',\n",
118
+ " 'EWA',\n",
119
+ " 'EWO',\n",
120
+ " 'EWK',\n",
121
+ " 'EWZ',\n",
122
+ " 'EWC',\n",
123
+ " 'EWL',\n",
124
+ " 'ECH',\n",
125
+ " 'MCHI',\n",
126
+ " 'ICOL',\n",
127
+ " 'EWG',\n",
128
+ " 'URTH',\n",
129
+ " 'EGPT',\n",
130
+ " 'EEM',\n",
131
+ " 'EWP',\n",
132
+ " 'EZU',\n",
133
+ " 'EWQ',\n",
134
+ " 'EFNL',\n",
135
+ " 'EWU',\n",
136
+ " 'EWH',\n",
137
+ " 'EIDO',\n",
138
+ " 'INDA',\n",
139
+ " 'EIRL',\n",
140
+ " 'EIS',\n",
141
+ " 'EWI',\n",
142
+ " 'EWJ',\n",
143
+ " 'EWW',\n",
144
+ " 'EWM',\n",
145
+ " 'NGE',\n",
146
+ " 'EWN',\n",
147
+ " 'ENOR',\n",
148
+ " 'ENZL',\n",
149
+ " 'PAK',\n",
150
+ " 'EPU',\n",
151
+ " 'EPHE',\n",
152
+ " 'EPOL',\n",
153
+ " 'PGAL',\n",
154
+ " 'QAT',\n",
155
+ " 'ERUS',\n",
156
+ " 'KSA',\n",
157
+ " 'EWS',\n",
158
+ " 'EWD',\n",
159
+ " 'EWY',\n",
160
+ " 'EWT',\n",
161
+ " 'THD',\n",
162
+ " 'TUR',\n",
163
+ " 'EUSA',\n",
164
+ " 'ACWI',\n",
165
+ " 'EZA',\n",
166
+ " 'VXX',\n",
167
+ " 'IYR',\n",
168
+ " 'REET']"
169
+ ]
170
+ },
171
+ "execution_count": 48,
172
+ "metadata": {},
173
+ "output_type": "execute_result"
174
+ }
175
+ ],
176
+ "source": [
177
+ "msci_etf_tickers"
178
+ ]
179
+ },
180
+ {
181
+ "cell_type": "code",
182
+ "execution_count": 49,
183
+ "id": "0b1bc395-40dd-44c0-bac1-dd1e00f8a5c4",
184
+ "metadata": {},
185
+ "outputs": [],
186
+ "source": [
187
+ "data_req = DataRequest(source='yahoo', source_tickers=msci_etf_tickers, cat='eqty')"
188
+ ]
189
+ },
190
+ {
191
+ "cell_type": "code",
192
+ "execution_count": 50,
193
+ "id": "2674260a-56c7-40a4-9708-0eb335fa075d",
194
+ "metadata": {},
195
+ "outputs": [
196
+ {
197
+ "name": "stdout",
198
+ "output_type": "stream",
199
+ "text": [
200
+ "[*********************100%***********************] 54 of 54 completed\n"
201
+ ]
202
+ }
203
+ ],
204
+ "source": [
205
+ "msci_etf_df = GetData(data_req).get_series()"
206
+ ]
207
+ },
208
+ {
209
+ "cell_type": "code",
210
+ "execution_count": 56,
211
+ "id": "ee0523a8-c6ee-42b9-9410-36b26906f2de",
212
+ "metadata": {},
213
+ "outputs": [
214
+ {
215
+ "data": {
216
+ "text/html": [
217
+ "<div>\n",
218
+ "<style scoped>\n",
219
+ " .dataframe tbody tr th:only-of-type {\n",
220
+ " vertical-align: middle;\n",
221
+ " }\n",
222
+ "\n",
223
+ " .dataframe tbody tr th {\n",
224
+ " vertical-align: top;\n",
225
+ " }\n",
226
+ "\n",
227
+ " .dataframe thead th {\n",
228
+ " text-align: right;\n",
229
+ " }\n",
230
+ "</style>\n",
231
+ "<table border=\"1\" class=\"dataframe\">\n",
232
+ " <thead>\n",
233
+ " <tr style=\"text-align: right;\">\n",
234
+ " <th>ticker</th>\n",
235
+ " <th>ACWI</th>\n",
236
+ " <th>ARGT</th>\n",
237
+ " <th>ECH</th>\n",
238
+ " <th>EEM</th>\n",
239
+ " <th>EFNL</th>\n",
240
+ " <th>EGPT</th>\n",
241
+ " <th>EIDO</th>\n",
242
+ " <th>EIRL</th>\n",
243
+ " <th>EIS</th>\n",
244
+ " <th>ENOR</th>\n",
245
+ " <th>...</th>\n",
246
+ " <th>PAK</th>\n",
247
+ " <th>PGAL</th>\n",
248
+ " <th>QAT</th>\n",
249
+ " <th>REET</th>\n",
250
+ " <th>SPY</th>\n",
251
+ " <th>THD</th>\n",
252
+ " <th>TUR</th>\n",
253
+ " <th>UAE</th>\n",
254
+ " <th>URTH</th>\n",
255
+ " <th>VXX</th>\n",
256
+ " </tr>\n",
257
+ " <tr>\n",
258
+ " <th>date</th>\n",
259
+ " <th></th>\n",
260
+ " <th></th>\n",
261
+ " <th></th>\n",
262
+ " <th></th>\n",
263
+ " <th></th>\n",
264
+ " <th></th>\n",
265
+ " <th></th>\n",
266
+ " <th></th>\n",
267
+ " <th></th>\n",
268
+ " <th></th>\n",
269
+ " <th></th>\n",
270
+ " <th></th>\n",
271
+ " <th></th>\n",
272
+ " <th></th>\n",
273
+ " <th></th>\n",
274
+ " <th></th>\n",
275
+ " <th></th>\n",
276
+ " <th></th>\n",
277
+ " <th></th>\n",
278
+ " <th></th>\n",
279
+ " <th></th>\n",
280
+ " </tr>\n",
281
+ " </thead>\n",
282
+ " <tbody>\n",
283
+ " <tr>\n",
284
+ " <th>1993-01-29</th>\n",
285
+ " <td>&lt;NA&gt;</td>\n",
286
+ " <td>&lt;NA&gt;</td>\n",
287
+ " <td>&lt;NA&gt;</td>\n",
288
+ " <td>&lt;NA&gt;</td>\n",
289
+ " <td>&lt;NA&gt;</td>\n",
290
+ " <td>&lt;NA&gt;</td>\n",
291
+ " <td>&lt;NA&gt;</td>\n",
292
+ " <td>&lt;NA&gt;</td>\n",
293
+ " <td>&lt;NA&gt;</td>\n",
294
+ " <td>&lt;NA&gt;</td>\n",
295
+ " <td>...</td>\n",
296
+ " <td>&lt;NA&gt;</td>\n",
297
+ " <td>&lt;NA&gt;</td>\n",
298
+ " <td>&lt;NA&gt;</td>\n",
299
+ " <td>&lt;NA&gt;</td>\n",
300
+ " <td>&lt;NA&gt;</td>\n",
301
+ " <td>&lt;NA&gt;</td>\n",
302
+ " <td>&lt;NA&gt;</td>\n",
303
+ " <td>&lt;NA&gt;</td>\n",
304
+ " <td>&lt;NA&gt;</td>\n",
305
+ " <td>&lt;NA&gt;</td>\n",
306
+ " </tr>\n",
307
+ " <tr>\n",
308
+ " <th>1993-02-01</th>\n",
309
+ " <td>&lt;NA&gt;</td>\n",
310
+ " <td>&lt;NA&gt;</td>\n",
311
+ " <td>&lt;NA&gt;</td>\n",
312
+ " <td>&lt;NA&gt;</td>\n",
313
+ " <td>&lt;NA&gt;</td>\n",
314
+ " <td>&lt;NA&gt;</td>\n",
315
+ " <td>&lt;NA&gt;</td>\n",
316
+ " <td>&lt;NA&gt;</td>\n",
317
+ " <td>&lt;NA&gt;</td>\n",
318
+ " <td>&lt;NA&gt;</td>\n",
319
+ " <td>...</td>\n",
320
+ " <td>&lt;NA&gt;</td>\n",
321
+ " <td>&lt;NA&gt;</td>\n",
322
+ " <td>&lt;NA&gt;</td>\n",
323
+ " <td>&lt;NA&gt;</td>\n",
324
+ " <td>&lt;NA&gt;</td>\n",
325
+ " <td>&lt;NA&gt;</td>\n",
326
+ " <td>&lt;NA&gt;</td>\n",
327
+ " <td>&lt;NA&gt;</td>\n",
328
+ " <td>&lt;NA&gt;</td>\n",
329
+ " <td>&lt;NA&gt;</td>\n",
330
+ " </tr>\n",
331
+ " <tr>\n",
332
+ " <th>1993-02-02</th>\n",
333
+ " <td>&lt;NA&gt;</td>\n",
334
+ " <td>&lt;NA&gt;</td>\n",
335
+ " <td>&lt;NA&gt;</td>\n",
336
+ " <td>&lt;NA&gt;</td>\n",
337
+ " <td>&lt;NA&gt;</td>\n",
338
+ " <td>&lt;NA&gt;</td>\n",
339
+ " <td>&lt;NA&gt;</td>\n",
340
+ " <td>&lt;NA&gt;</td>\n",
341
+ " <td>&lt;NA&gt;</td>\n",
342
+ " <td>&lt;NA&gt;</td>\n",
343
+ " <td>...</td>\n",
344
+ " <td>&lt;NA&gt;</td>\n",
345
+ " <td>&lt;NA&gt;</td>\n",
346
+ " <td>&lt;NA&gt;</td>\n",
347
+ " <td>&lt;NA&gt;</td>\n",
348
+ " <td>&lt;NA&gt;</td>\n",
349
+ " <td>&lt;NA&gt;</td>\n",
350
+ " <td>&lt;NA&gt;</td>\n",
351
+ " <td>&lt;NA&gt;</td>\n",
352
+ " <td>&lt;NA&gt;</td>\n",
353
+ " <td>&lt;NA&gt;</td>\n",
354
+ " </tr>\n",
355
+ " <tr>\n",
356
+ " <th>1993-02-03</th>\n",
357
+ " <td>&lt;NA&gt;</td>\n",
358
+ " <td>&lt;NA&gt;</td>\n",
359
+ " <td>&lt;NA&gt;</td>\n",
360
+ " <td>&lt;NA&gt;</td>\n",
361
+ " <td>&lt;NA&gt;</td>\n",
362
+ " <td>&lt;NA&gt;</td>\n",
363
+ " <td>&lt;NA&gt;</td>\n",
364
+ " <td>&lt;NA&gt;</td>\n",
365
+ " <td>&lt;NA&gt;</td>\n",
366
+ " <td>&lt;NA&gt;</td>\n",
367
+ " <td>...</td>\n",
368
+ " <td>&lt;NA&gt;</td>\n",
369
+ " <td>&lt;NA&gt;</td>\n",
370
+ " <td>&lt;NA&gt;</td>\n",
371
+ " <td>&lt;NA&gt;</td>\n",
372
+ " <td>&lt;NA&gt;</td>\n",
373
+ " <td>&lt;NA&gt;</td>\n",
374
+ " <td>&lt;NA&gt;</td>\n",
375
+ " <td>&lt;NA&gt;</td>\n",
376
+ " <td>&lt;NA&gt;</td>\n",
377
+ " <td>&lt;NA&gt;</td>\n",
378
+ " </tr>\n",
379
+ " <tr>\n",
380
+ " <th>1993-02-04</th>\n",
381
+ " <td>&lt;NA&gt;</td>\n",
382
+ " <td>&lt;NA&gt;</td>\n",
383
+ " <td>&lt;NA&gt;</td>\n",
384
+ " <td>&lt;NA&gt;</td>\n",
385
+ " <td>&lt;NA&gt;</td>\n",
386
+ " <td>&lt;NA&gt;</td>\n",
387
+ " <td>&lt;NA&gt;</td>\n",
388
+ " <td>&lt;NA&gt;</td>\n",
389
+ " <td>&lt;NA&gt;</td>\n",
390
+ " <td>&lt;NA&gt;</td>\n",
391
+ " <td>...</td>\n",
392
+ " <td>&lt;NA&gt;</td>\n",
393
+ " <td>&lt;NA&gt;</td>\n",
394
+ " <td>&lt;NA&gt;</td>\n",
395
+ " <td>&lt;NA&gt;</td>\n",
396
+ " <td>&lt;NA&gt;</td>\n",
397
+ " <td>&lt;NA&gt;</td>\n",
398
+ " <td>&lt;NA&gt;</td>\n",
399
+ " <td>&lt;NA&gt;</td>\n",
400
+ " <td>&lt;NA&gt;</td>\n",
401
+ " <td>&lt;NA&gt;</td>\n",
402
+ " </tr>\n",
403
+ " <tr>\n",
404
+ " <th>...</th>\n",
405
+ " <td>...</td>\n",
406
+ " <td>...</td>\n",
407
+ " <td>...</td>\n",
408
+ " <td>...</td>\n",
409
+ " <td>...</td>\n",
410
+ " <td>...</td>\n",
411
+ " <td>...</td>\n",
412
+ " <td>...</td>\n",
413
+ " <td>...</td>\n",
414
+ " <td>...</td>\n",
415
+ " <td>...</td>\n",
416
+ " <td>...</td>\n",
417
+ " <td>...</td>\n",
418
+ " <td>...</td>\n",
419
+ " <td>...</td>\n",
420
+ " <td>...</td>\n",
421
+ " <td>...</td>\n",
422
+ " <td>...</td>\n",
423
+ " <td>...</td>\n",
424
+ " <td>...</td>\n",
425
+ " <td>...</td>\n",
426
+ " </tr>\n",
427
+ " <tr>\n",
428
+ " <th>2024-09-11</th>\n",
429
+ " <td>64.93</td>\n",
430
+ " <td>66.199997</td>\n",
431
+ " <td>23.629999</td>\n",
432
+ " <td>92.019997</td>\n",
433
+ " <td>31.809999</td>\n",
434
+ " <td>8.06</td>\n",
435
+ " <td>69.559998</td>\n",
436
+ " <td>50.709999</td>\n",
437
+ " <td>25.52</td>\n",
438
+ " <td>36.630001</td>\n",
439
+ " <td>...</td>\n",
440
+ " <td>61.66</td>\n",
441
+ " <td>&lt;NA&gt;</td>\n",
442
+ " <td>57.130001</td>\n",
443
+ " <td>49.330002</td>\n",
444
+ " <td>114.629997</td>\n",
445
+ " <td>17.67</td>\n",
446
+ " <td>26.59</td>\n",
447
+ " <td>25.309999</td>\n",
448
+ " <td>39.07</td>\n",
449
+ " <td>15.0</td>\n",
450
+ " </tr>\n",
451
+ " <tr>\n",
452
+ " <th>2024-09-12</th>\n",
453
+ " <td>65.75</td>\n",
454
+ " <td>67.93</td>\n",
455
+ " <td>23.870001</td>\n",
456
+ " <td>92.519997</td>\n",
457
+ " <td>32.130001</td>\n",
458
+ " <td>8.06</td>\n",
459
+ " <td>70.25</td>\n",
460
+ " <td>51.07</td>\n",
461
+ " <td>25.450001</td>\n",
462
+ " <td>36.790001</td>\n",
463
+ " <td>...</td>\n",
464
+ " <td>62.509998</td>\n",
465
+ " <td>&lt;NA&gt;</td>\n",
466
+ " <td>57.759998</td>\n",
467
+ " <td>48.939999</td>\n",
468
+ " <td>115.629997</td>\n",
469
+ " <td>18.1</td>\n",
470
+ " <td>26.780001</td>\n",
471
+ " <td>25.85</td>\n",
472
+ " <td>39.950001</td>\n",
473
+ " <td>14.96</td>\n",
474
+ " </tr>\n",
475
+ " <tr>\n",
476
+ " <th>2024-09-13</th>\n",
477
+ " <td>66.139999</td>\n",
478
+ " <td>68.529999</td>\n",
479
+ " <td>24.120001</td>\n",
480
+ " <td>93.5</td>\n",
481
+ " <td>32.400002</td>\n",
482
+ " <td>8.06</td>\n",
483
+ " <td>69.870003</td>\n",
484
+ " <td>51.389999</td>\n",
485
+ " <td>25.93</td>\n",
486
+ " <td>36.900002</td>\n",
487
+ " <td>...</td>\n",
488
+ " <td>63.299999</td>\n",
489
+ " <td>&lt;NA&gt;</td>\n",
490
+ " <td>57.849998</td>\n",
491
+ " <td>48.790001</td>\n",
492
+ " <td>116.209999</td>\n",
493
+ " <td>18.139999</td>\n",
494
+ " <td>27.01</td>\n",
495
+ " <td>25.950001</td>\n",
496
+ " <td>40.549999</td>\n",
497
+ " <td>15.11</td>\n",
498
+ " </tr>\n",
499
+ " <tr>\n",
500
+ " <th>2024-09-16</th>\n",
501
+ " <td>66.760002</td>\n",
502
+ " <td>68.5</td>\n",
503
+ " <td>24.48</td>\n",
504
+ " <td>94.160004</td>\n",
505
+ " <td>32.599998</td>\n",
506
+ " <td>8.06</td>\n",
507
+ " <td>70.540001</td>\n",
508
+ " <td>51.580002</td>\n",
509
+ " <td>26.049999</td>\n",
510
+ " <td>37.299999</td>\n",
511
+ " <td>...</td>\n",
512
+ " <td>63.52</td>\n",
513
+ " <td>&lt;NA&gt;</td>\n",
514
+ " <td>58.130001</td>\n",
515
+ " <td>49.240002</td>\n",
516
+ " <td>116.610001</td>\n",
517
+ " <td>18.200001</td>\n",
518
+ " <td>27.17</td>\n",
519
+ " <td>26.07</td>\n",
520
+ " <td>40.66</td>\n",
521
+ " <td>15.09</td>\n",
522
+ " </tr>\n",
523
+ " <tr>\n",
524
+ " <th>2024-09-17</th>\n",
525
+ " <td>66.43</td>\n",
526
+ " <td>68.260002</td>\n",
527
+ " <td>24.15</td>\n",
528
+ " <td>94.330002</td>\n",
529
+ " <td>32.549999</td>\n",
530
+ " <td>8.06</td>\n",
531
+ " <td>69.709999</td>\n",
532
+ " <td>51.400002</td>\n",
533
+ " <td>26.34</td>\n",
534
+ " <td>37.029999</td>\n",
535
+ " <td>...</td>\n",
536
+ " <td>63.220001</td>\n",
537
+ " <td>&lt;NA&gt;</td>\n",
538
+ " <td>57.959999</td>\n",
539
+ " <td>50.299999</td>\n",
540
+ " <td>116.489998</td>\n",
541
+ " <td>18.049999</td>\n",
542
+ " <td>26.969999</td>\n",
543
+ " <td>25.82</td>\n",
544
+ " <td>40.439999</td>\n",
545
+ " <td>15.19</td>\n",
546
+ " </tr>\n",
547
+ " </tbody>\n",
548
+ "</table>\n",
549
+ "<p>7965 rows × 54 columns</p>\n",
550
+ "</div>"
551
+ ],
552
+ "text/plain": [
553
+ "ticker ACWI ARGT ECH EEM EFNL EGPT \\\n",
554
+ "date \n",
555
+ "1993-01-29 <NA> <NA> <NA> <NA> <NA> <NA> \n",
556
+ "1993-02-01 <NA> <NA> <NA> <NA> <NA> <NA> \n",
557
+ "1993-02-02 <NA> <NA> <NA> <NA> <NA> <NA> \n",
558
+ "1993-02-03 <NA> <NA> <NA> <NA> <NA> <NA> \n",
559
+ "1993-02-04 <NA> <NA> <NA> <NA> <NA> <NA> \n",
560
+ "... ... ... ... ... ... ... \n",
561
+ "2024-09-11 64.93 66.199997 23.629999 92.019997 31.809999 8.06 \n",
562
+ "2024-09-12 65.75 67.93 23.870001 92.519997 32.130001 8.06 \n",
563
+ "2024-09-13 66.139999 68.529999 24.120001 93.5 32.400002 8.06 \n",
564
+ "2024-09-16 66.760002 68.5 24.48 94.160004 32.599998 8.06 \n",
565
+ "2024-09-17 66.43 68.260002 24.15 94.330002 32.549999 8.06 \n",
566
+ "\n",
567
+ "ticker EIDO EIRL EIS ENOR ... PAK PGAL \\\n",
568
+ "date ... \n",
569
+ "1993-01-29 <NA> <NA> <NA> <NA> ... <NA> <NA> \n",
570
+ "1993-02-01 <NA> <NA> <NA> <NA> ... <NA> <NA> \n",
571
+ "1993-02-02 <NA> <NA> <NA> <NA> ... <NA> <NA> \n",
572
+ "1993-02-03 <NA> <NA> <NA> <NA> ... <NA> <NA> \n",
573
+ "1993-02-04 <NA> <NA> <NA> <NA> ... <NA> <NA> \n",
574
+ "... ... ... ... ... ... ... ... \n",
575
+ "2024-09-11 69.559998 50.709999 25.52 36.630001 ... 61.66 <NA> \n",
576
+ "2024-09-12 70.25 51.07 25.450001 36.790001 ... 62.509998 <NA> \n",
577
+ "2024-09-13 69.870003 51.389999 25.93 36.900002 ... 63.299999 <NA> \n",
578
+ "2024-09-16 70.540001 51.580002 26.049999 37.299999 ... 63.52 <NA> \n",
579
+ "2024-09-17 69.709999 51.400002 26.34 37.029999 ... 63.220001 <NA> \n",
580
+ "\n",
581
+ "ticker QAT REET SPY THD TUR UAE \\\n",
582
+ "date \n",
583
+ "1993-01-29 <NA> <NA> <NA> <NA> <NA> <NA> \n",
584
+ "1993-02-01 <NA> <NA> <NA> <NA> <NA> <NA> \n",
585
+ "1993-02-02 <NA> <NA> <NA> <NA> <NA> <NA> \n",
586
+ "1993-02-03 <NA> <NA> <NA> <NA> <NA> <NA> \n",
587
+ "1993-02-04 <NA> <NA> <NA> <NA> <NA> <NA> \n",
588
+ "... ... ... ... ... ... ... \n",
589
+ "2024-09-11 57.130001 49.330002 114.629997 17.67 26.59 25.309999 \n",
590
+ "2024-09-12 57.759998 48.939999 115.629997 18.1 26.780001 25.85 \n",
591
+ "2024-09-13 57.849998 48.790001 116.209999 18.139999 27.01 25.950001 \n",
592
+ "2024-09-16 58.130001 49.240002 116.610001 18.200001 27.17 26.07 \n",
593
+ "2024-09-17 57.959999 50.299999 116.489998 18.049999 26.969999 25.82 \n",
594
+ "\n",
595
+ "ticker URTH VXX \n",
596
+ "date \n",
597
+ "1993-01-29 <NA> <NA> \n",
598
+ "1993-02-01 <NA> <NA> \n",
599
+ "1993-02-02 <NA> <NA> \n",
600
+ "1993-02-03 <NA> <NA> \n",
601
+ "1993-02-04 <NA> <NA> \n",
602
+ "... ... ... \n",
603
+ "2024-09-11 39.07 15.0 \n",
604
+ "2024-09-12 39.950001 14.96 \n",
605
+ "2024-09-13 40.549999 15.11 \n",
606
+ "2024-09-16 40.66 15.09 \n",
607
+ "2024-09-17 40.439999 15.19 \n",
608
+ "\n",
609
+ "[7965 rows x 54 columns]"
610
+ ]
611
+ },
612
+ "execution_count": 56,
613
+ "metadata": {},
614
+ "output_type": "execute_result"
615
+ }
616
+ ],
617
+ "source": [
618
+ "msci_etf_df.close.unstack()"
619
+ ]
620
+ },
621
+ {
622
+ "cell_type": "code",
623
+ "execution_count": null,
624
+ "id": "83f30ee7-b686-4ee8-8c5f-9333d2be31c8",
625
+ "metadata": {},
626
+ "outputs": [],
627
+ "source": []
628
+ },
629
+ {
630
+ "cell_type": "code",
631
+ "execution_count": 53,
632
+ "id": "9b958699-5d8b-48bb-81e2-9d6baa301be0",
633
+ "metadata": {},
634
+ "outputs": [],
635
+ "source": [
636
+ "msci_etf_df.to_csv('../../../../research_notebooks/msci_etf_df.csv')"
637
+ ]
638
+ },
639
+ {
640
+ "cell_type": "code",
641
+ "execution_count": null,
642
+ "id": "8e25221e-1c63-4939-ba5e-136f607b3b66",
643
+ "metadata": {},
644
+ "outputs": [],
645
+ "source": []
646
+ },
647
+ {
648
+ "cell_type": "code",
649
+ "execution_count": 42,
650
+ "id": "555d1bcc-2d79-46fd-8297-426a3c9fb3f9",
651
+ "metadata": {},
652
+ "outputs": [],
653
+ "source": [
654
+ "eqty_df.to_csv('../../../../research_notebooks/eqty_df.csv')"
655
+ ]
656
+ },
657
+ {
658
+ "cell_type": "code",
659
+ "execution_count": null,
660
+ "id": "e2e90a05-6b20-4fad-83c2-710e0735a427",
661
+ "metadata": {},
662
+ "outputs": [],
663
+ "source": []
664
+ },
665
+ {
666
+ "cell_type": "code",
667
+ "execution_count": 18,
668
+ "id": "752820be-c23a-4343-b48a-690086327b2c",
669
+ "metadata": {},
670
+ "outputs": [
671
+ {
672
+ "name": "stdout",
673
+ "output_type": "stream",
674
+ "text": [
675
+ "[*********************100%***********************] 1 of 1 completed\n"
676
+ ]
677
+ }
678
+ ],
679
+ "source": [
680
+ "vix_df = GetData(data_req).get_series()"
681
+ ]
682
+ },
683
+ {
684
+ "cell_type": "code",
685
+ "execution_count": 26,
686
+ "id": "1f193d00-704c-4d71-80ae-df1eb16da177",
687
+ "metadata": {},
688
+ "outputs": [],
689
+ "source": [
690
+ "vix_df = vix_df.unstack().close.rename(columns={'^VIX': 'US_Eqty_Vol_Idx'}).stack().to_frame('close')"
691
+ ]
692
+ },
693
+ {
694
+ "cell_type": "code",
695
+ "execution_count": 27,
696
+ "id": "e38b1248-088f-4b4c-8f07-4a5245a5f433",
697
+ "metadata": {},
698
+ "outputs": [],
699
+ "source": [
700
+ "wld_eqty_df = pd.read_parquet('s3://factorlab-data/global_eqty_data_daily.parquet')"
701
+ ]
702
+ },
703
+ {
704
+ "cell_type": "code",
705
+ "execution_count": 31,
706
+ "id": "ffc83529-9d3c-4b09-b0d7-15c7c606acfc",
707
+ "metadata": {},
708
+ "outputs": [],
709
+ "source": [
710
+ "eqty_df = pd.concat([wld_eqty_df, vix_df]).sort_index()"
711
+ ]
712
+ },
713
+ {
714
+ "cell_type": "code",
715
+ "execution_count": 40,
716
+ "id": "1f7e18c1-cf62-4afb-92f1-41c630e84142",
717
+ "metadata": {},
718
+ "outputs": [],
719
+ "source": [
720
+ "eqty_df.to_csv('../../../../research_notebooks/eqty_df.csv')"
721
+ ]
722
+ },
723
+ {
724
+ "cell_type": "code",
725
+ "execution_count": null,
726
+ "id": "d58ea41b-5193-4e34-b5a6-b59b686e53ca",
727
+ "metadata": {},
728
+ "outputs": [],
729
+ "source": []
730
+ },
731
+ {
732
+ "cell_type": "code",
733
+ "execution_count": null,
734
+ "id": "243eca1e-c809-4c0d-a256-15ef85218c26",
735
+ "metadata": {},
736
+ "outputs": [],
737
+ "source": []
738
+ },
739
+ {
740
+ "cell_type": "code",
741
+ "execution_count": null,
742
+ "id": "ddd77033-9785-481e-ae32-020ce23a188d",
743
+ "metadata": {},
744
+ "outputs": [],
745
+ "source": [
746
+ "clean = CleanData(fx_df1)"
747
+ ]
748
+ },
749
+ {
750
+ "cell_type": "code",
751
+ "execution_count": null,
752
+ "id": "0dd143fb-a5ca-40c6-860d-4846ad171586",
753
+ "metadata": {},
754
+ "outputs": [],
755
+ "source": [
756
+ "clean.filter_outliers(od_method='mad', thresh_val=10)"
757
+ ]
758
+ },
759
+ {
760
+ "cell_type": "code",
761
+ "execution_count": null,
762
+ "id": "2bde3b51-aac3-488a-95b8-2bd75bf654f5",
763
+ "metadata": {},
764
+ "outputs": [],
765
+ "source": [
766
+ "clean.repair_outliers(imp_method='fcst')"
767
+ ]
768
+ },
769
+ {
770
+ "cell_type": "code",
771
+ "execution_count": null,
772
+ "id": "a61a27b5-c03b-4091-8f1e-4659e301ec7b",
773
+ "metadata": {},
774
+ "outputs": [],
775
+ "source": [
776
+ "clean.df.unstack().close.plot(subplots=True, figsize=(15,100))"
777
+ ]
778
+ },
779
+ {
780
+ "cell_type": "code",
781
+ "execution_count": null,
782
+ "id": "10ecb5cb-83c2-474f-acc1-b6d2f1e08a50",
783
+ "metadata": {},
784
+ "outputs": [],
785
+ "source": []
786
+ }
787
+ ],
788
+ "metadata": {
789
+ "kernelspec": {
790
+ "display_name": "cryptodatapy",
791
+ "language": "python",
792
+ "name": "cryptodatapy"
793
+ },
794
+ "language_info": {
795
+ "codemirror_mode": {
796
+ "name": "ipython",
797
+ "version": 3
798
+ },
799
+ "file_extension": ".py",
800
+ "mimetype": "text/x-python",
801
+ "name": "python",
802
+ "nbconvert_exporter": "python",
803
+ "pygments_lexer": "ipython3",
804
+ "version": "3.9.12"
805
+ }
806
+ },
807
+ "nbformat": 4,
808
+ "nbformat_minor": 5
809
+ }