From 1ea698a1e2c41fe070809eb428000a7783a9bb56 Mon Sep 17 00:00:00 2001
From: Palash Tyagi <23239946+Magnus167@users.noreply.github.com>
Date: Tue, 19 Nov 2024 01:15:52 +0000
Subject: [PATCH] wip
---
notebooks/python-notebook.ipynb | 289 +++-----------------------------
src/py/download.pyi | 8 +
src/py/msyrs.pyi | 8 +
src/py/qdf.pyi | 24 +++
src/utils/qdf/pivots.rs | 14 +-
5 files changed, 75 insertions(+), 268 deletions(-)
create mode 100644 src/py/download.pyi
create mode 100644 src/py/msyrs.pyi
create mode 100644 src/py/qdf.pyi
diff --git a/notebooks/python-notebook.ipynb b/notebooks/python-notebook.ipynb
index d6e7334..7311e77 100644
--- a/notebooks/python-notebook.ipynb
+++ b/notebooks/python-notebook.ipynb
@@ -42,7 +42,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -62,7 +62,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -71,53 +71,21 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "# DATA_FOLDER_PATH = \"E:/Work/jpmaqs-data\"\n",
- "DATA_FOLDER_PATH = \"C:/Users/PalashTyagi/Code/go-dataquery/jpmaqs-data\"\n",
+ "DATA_FOLDER_PATH = \"E:/Work/jpmaqs-data\"\n",
+ "# DATA_FOLDER_PATH = \"C:/Users/PalashTyagi/Code/go-dataquery/jpmaqs-data\"\n",
"DQ_CLIENT_ID = os.getenv(\"DQ_CLIENT_ID\")\n",
"DQ_CLIENT_SECRET = os.getenv(\"DQ_CLIENT_SECRET\")"
]
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "
shape: (5, 7)real_date | cid | xcat | value | grading | eop_lag | mop_lag |
---|
date | str | str | f64 | f64 | i64 | i64 |
2010-03-03 | "USD" | "ADPEMPL_SA_P1M1ML1" | -0.173806 | 3.0 | 3 | 33 |
2010-03-04 | "USD" | "ADPEMPL_SA_P1M1ML1" | -0.173806 | 3.0 | 4 | 34 |
2010-03-05 | "USD" | "ADPEMPL_SA_P1M1ML1" | -0.173806 | 3.0 | 5 | 35 |
2010-03-08 | "USD" | "ADPEMPL_SA_P1M1ML1" | -0.173806 | 3.0 | 8 | 38 |
2010-03-09 | "USD" | "ADPEMPL_SA_P1M1ML1" | -0.173806 | 3.0 | 9 | 39 |
"
- ],
- "text/plain": [
- "shape: (5, 7)\n",
- "┌────────────┬─────┬────────────────────┬───────────┬─────────┬─────────┬─────────┐\n",
- "│ real_date ┆ cid ┆ xcat ┆ value ┆ grading ┆ eop_lag ┆ mop_lag │\n",
- "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
- "│ date ┆ str ┆ str ┆ f64 ┆ f64 ┆ i64 ┆ i64 │\n",
- "╞════════════╪═════╪════════════════════╪═══════════╪═════════╪═════════╪═════════╡\n",
- "│ 2010-03-03 ┆ USD ┆ ADPEMPL_SA_P1M1ML1 ┆ -0.173806 ┆ 3.0 ┆ 3 ┆ 33 │\n",
- "│ 2010-03-04 ┆ USD ┆ ADPEMPL_SA_P1M1ML1 ┆ -0.173806 ┆ 3.0 ┆ 4 ┆ 34 │\n",
- "│ 2010-03-05 ┆ USD ┆ ADPEMPL_SA_P1M1ML1 ┆ -0.173806 ┆ 3.0 ┆ 5 ┆ 35 │\n",
- "│ 2010-03-08 ┆ USD ┆ ADPEMPL_SA_P1M1ML1 ┆ -0.173806 ┆ 3.0 ┆ 8 ┆ 38 │\n",
- "│ 2010-03-09 ┆ USD ┆ ADPEMPL_SA_P1M1ML1 ┆ -0.173806 ┆ 3.0 ┆ 9 ┆ 39 │\n",
- "└────────────┴─────┴────────────────────┴───────────┴─────────┴─────────┴─────────┘"
- ]
- },
- "execution_count": 4,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"dfpath = f\"{DATA_FOLDER_PATH}/data/ADPEMPL_SA_P1M1ML1/USD_ADPEMPL_SA_P1M1ML1.csv\"\n",
"\n",
@@ -128,7 +96,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -151,41 +119,9 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "
shape: (5, 7)real_date | cid | xcat | value | grading | eop_lag | mop_lag |
---|
date | str | str | f64 | f64 | f64 | f64 |
1990-04-26 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 26.0 | 223.0 |
1990-04-27 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 27.0 | 224.0 |
1990-04-30 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 30.0 | 227.0 |
1990-05-01 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 31.0 | 228.0 |
1990-05-02 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 32.0 | 229.0 |
"
- ],
- "text/plain": [
- "shape: (5, 7)\n",
- "┌────────────┬─────┬──────────────────┬──────────┬─────────┬─────────┬─────────┐\n",
- "│ real_date ┆ cid ┆ xcat ┆ value ┆ grading ┆ eop_lag ┆ mop_lag │\n",
- "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
- "│ date ┆ str ┆ str ┆ f64 ┆ f64 ┆ f64 ┆ f64 │\n",
- "╞════════════╪═════╪══════════════════╪══════════╪═════════╪═════════╪═════════╡\n",
- "│ 1990-04-26 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 26.0 ┆ 223.0 │\n",
- "│ 1990-04-27 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 27.0 ┆ 224.0 │\n",
- "│ 1990-04-30 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 30.0 ┆ 227.0 │\n",
- "│ 1990-05-01 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 31.0 ┆ 228.0 │\n",
- "│ 1990-05-02 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 32.0 ┆ 229.0 │\n",
- "└────────────┴─────┴──────────────────┴──────────┴─────────┴─────────┴─────────┘"
- ]
- },
- "execution_count": 6,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"downloaded_df: pl.DataFrame = msyrs.download.download_jpmaqs_indicators_as_df(\n",
" client_id=DQ_CLIENT_ID,\n",
@@ -197,41 +133,9 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "
shape: (5, 7)real_date | cid | xcat | value | grading | eop_lag | mop_lag |
---|
date | str | str | f64 | f64 | i64 | i64 |
1990-04-26 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 26 | 223 |
1990-04-27 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 27 | 224 |
1990-04-30 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 30 | 227 |
1990-05-01 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 31 | 228 |
1990-05-02 | "AUD" | "CPIC_SA_P1M1ML12" | 6.434599 | 2.0 | 32 | 229 |
"
- ],
- "text/plain": [
- "shape: (5, 7)\n",
- "┌────────────┬─────┬──────────────────┬──────────┬─────────┬─────────┬─────────┐\n",
- "│ real_date ┆ cid ┆ xcat ┆ value ┆ grading ┆ eop_lag ┆ mop_lag │\n",
- "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
- "│ date ┆ str ┆ str ┆ f64 ┆ f64 ┆ i64 ┆ i64 │\n",
- "╞════════════╪═════╪══════════════════╪══════════╪═════════╪═════════╪═════════╡\n",
- "│ 1990-04-26 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 26 ┆ 223 │\n",
- "│ 1990-04-27 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 27 ┆ 224 │\n",
- "│ 1990-04-30 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 30 ┆ 227 │\n",
- "│ 1990-05-01 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 31 ┆ 228 │\n",
- "│ 1990-05-02 ┆ AUD ┆ CPIC_SA_P1M1ML12 ┆ 6.434599 ┆ 2.0 ┆ 32 ┆ 229 │\n",
- "└────────────┴─────┴──────────────────┴──────────┴─────────┴─────────┴─────────┘"
- ]
- },
- "execution_count": 7,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"big_df: pl.DataFrame = msyrs.qdf.load_qdf_from_download_bank(\n",
" folder_path=DATA_FOLDER_PATH, tickers=tickers\n",
@@ -243,18 +147,7 @@
"cell_type": "code",
"execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "241.2352533340454"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"big_df.estimated_size(\"mb\")"
]
@@ -263,18 +156,7 @@
"cell_type": "code",
"execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "625.9191436767578"
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"big_df.to_pandas().memory_usage(deep=True).sum() / 1024**2"
]
@@ -283,18 +165,7 @@
"cell_type": "code",
"execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "152.3249340057373"
- ]
- },
- "execution_count": 19,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"macrosynergy.management.types.QuantamentalDataFrame(big_df.to_pandas()).memory_usage(\n",
" deep=True\n",
@@ -303,7 +174,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -313,47 +184,9 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "
shape: (20, 7)real_date | cid | xcat | value | grading | eop_lag | mop_lag |
---|
date | str | str | f64 | f64 | i64 | i64 |
2024-11-14 | "AUD" | "EQXR_NSA" | 0.329188 | 1.0 | 0 | 0 |
2024-11-15 | "AUD" | "EQXR_NSA" | 0.826346 | 1.0 | 0 | 0 |
2024-11-14 | "CAD" | "EQXR_NSA" | 0.199402 | 1.0 | 0 | 0 |
2024-11-15 | "CAD" | "EQXR_NSA" | -0.696517 | 1.0 | 0 | 0 |
2024-11-14 | "EUR" | "EQXR_NSA" | 2.024889 | 1.0 | 0 | 0 |
… | … | … | … | … | … | … |
2024-11-15 | "EUR" | "EQXR_VT10" | -0.477901 | 1.0 | 0 | 0 |
2024-11-14 | "GBP" | "EQXR_VT10" | 0.664208 | 1.0 | 0 | 0 |
2024-11-15 | "GBP" | "EQXR_VT10" | -0.068778 | 1.0 | 0 | 0 |
2024-11-14 | "USD" | "EQXR_VT10" | -0.549983 | 1.0 | 0 | 0 |
2024-11-15 | "USD" | "EQXR_VT10" | -1.198544 | 1.0 | 0 | 0 |
"
- ],
- "text/plain": [
- "shape: (20, 7)\n",
- "┌────────────┬─────┬───────────┬───────────┬─────────┬─────────┬─────────┐\n",
- "│ real_date ┆ cid ┆ xcat ┆ value ┆ grading ┆ eop_lag ┆ mop_lag │\n",
- "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
- "│ date ┆ str ┆ str ┆ f64 ┆ f64 ┆ i64 ┆ i64 │\n",
- "╞════════════╪═════╪═══════════╪═══════════╪═════════╪═════════╪═════════╡\n",
- "│ 2024-11-14 ┆ AUD ┆ EQXR_NSA ┆ 0.329188 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ AUD ┆ EQXR_NSA ┆ 0.826346 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ CAD ┆ EQXR_NSA ┆ 0.199402 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ CAD ┆ EQXR_NSA ┆ -0.696517 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ EUR ┆ EQXR_NSA ┆ 2.024889 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n",
- "│ 2024-11-15 ┆ EUR ┆ EQXR_VT10 ┆ -0.477901 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ GBP ┆ EQXR_VT10 ┆ 0.664208 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ GBP ┆ EQXR_VT10 ┆ -0.068778 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ USD ┆ EQXR_VT10 ┆ -0.549983 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ USD ┆ EQXR_VT10 ┆ -1.198544 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "└────────────┴─────┴───────────┴───────────┴─────────┴─────────┴─────────┘"
- ]
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"eq_df = msyrs.qdf.reduce_dataframe(\n",
" df=big_df,\n",
@@ -366,7 +199,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -378,46 +211,9 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "
shape: (10, 7)real_date | cid | xcat | value | grading | eop_lag | mop_lag |
---|
date | str | str | f64 | f64 | i64 | i64 |
2024-11-14 | "AUD" | "EQXR_NSA" | 0.329188 | 1.0 | 0 | 0 |
2024-11-15 | "AUD" | "EQXR_NSA" | 0.826346 | 1.0 | 0 | 0 |
2024-11-14 | "CAD" | "EQXR_NSA" | 0.199402 | 1.0 | 0 | 0 |
2024-11-15 | "CAD" | "EQXR_NSA" | -0.696517 | 1.0 | 0 | 0 |
2024-11-14 | "EUR" | "EQXR_NSA" | 2.024889 | 1.0 | 0 | 0 |
2024-11-15 | "EUR" | "EQXR_NSA" | -0.661567 | 1.0 | 0 | 0 |
2024-11-14 | "GBP" | "EQXR_NSA" | 0.596533 | 1.0 | 0 | 0 |
2024-11-15 | "GBP" | "EQXR_NSA" | -0.06177 | 1.0 | 0 | 0 |
2024-11-14 | "USD" | "EQXR_NSA" | -0.627493 | 1.0 | 0 | 0 |
2024-11-15 | "USD" | "EQXR_NSA" | -1.367457 | 1.0 | 0 | 0 |
"
- ],
- "text/plain": [
- "shape: (10, 7)\n",
- "┌────────────┬─────┬──────────┬───────────┬─────────┬─────────┬─────────┐\n",
- "│ real_date ┆ cid ┆ xcat ┆ value ┆ grading ┆ eop_lag ┆ mop_lag │\n",
- "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
- "│ date ┆ str ┆ str ┆ f64 ┆ f64 ┆ i64 ┆ i64 │\n",
- "╞════════════╪═════╪══════════╪═══════════╪═════════╪═════════╪═════════╡\n",
- "│ 2024-11-14 ┆ AUD ┆ EQXR_NSA ┆ 0.329188 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ AUD ┆ EQXR_NSA ┆ 0.826346 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ CAD ┆ EQXR_NSA ┆ 0.199402 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ CAD ┆ EQXR_NSA ┆ -0.696517 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ EUR ┆ EQXR_NSA ┆ 2.024889 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ EUR ┆ EQXR_NSA ┆ -0.661567 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ GBP ┆ EQXR_NSA ┆ 0.596533 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ GBP ┆ EQXR_NSA ┆ -0.06177 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ USD ┆ EQXR_NSA ┆ -0.627493 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ USD ┆ EQXR_NSA ┆ -1.367457 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "└────────────┴─────┴──────────┴───────────┴─────────┴─────────┴─────────┘"
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"new_df: pl.DataFrame = msyrs.qdf.update_dataframe(df=eq_df, df_add=fx_df)\n",
"\n",
@@ -426,46 +222,9 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "
shape: (10, 7)real_date | cid | xcat | value | grading | eop_lag | mop_lag |
---|
date | str | str | f64 | f64 | i64 | i64 |
2024-11-14 | "GBP" | "FXXR_NSA" | -0.067809 | 1.0 | 0 | 0 |
2024-11-15 | "GBP" | "FXXR_NSA" | -0.430055 | 1.0 | 0 | 0 |
2024-11-14 | "AUD" | "FXXR_VT10" | -0.4294 | 1.0 | 0 | 0 |
2024-11-15 | "AUD" | "FXXR_VT10" | -0.452535 | 1.0 | 0 | 0 |
2024-11-14 | "CAD" | "FXXR_VT10" | -1.132314 | 1.0 | 0 | 0 |
2024-11-15 | "CAD" | "FXXR_VT10" | -1.755605 | 1.0 | 0 | 0 |
2024-11-14 | "EUR" | "FXXR_VT10" | -0.292422 | 1.0 | 0 | 0 |
2024-11-15 | "EUR" | "FXXR_VT10" | -0.855108 | 1.0 | 0 | 0 |
2024-11-14 | "GBP" | "FXXR_VT10" | -0.110526 | 1.0 | 0 | 0 |
2024-11-15 | "GBP" | "FXXR_VT10" | -0.700977 | 1.0 | 0 | 0 |
"
- ],
- "text/plain": [
- "shape: (10, 7)\n",
- "┌────────────┬─────┬───────────┬───────────┬─────────┬─────────┬─────────┐\n",
- "│ real_date ┆ cid ┆ xcat ┆ value ┆ grading ┆ eop_lag ┆ mop_lag │\n",
- "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
- "│ date ┆ str ┆ str ┆ f64 ┆ f64 ┆ i64 ┆ i64 │\n",
- "╞════════════╪═════╪═══════════╪═══════════╪═════════╪═════════╪═════════╡\n",
- "│ 2024-11-14 ┆ GBP ┆ FXXR_NSA ┆ -0.067809 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ GBP ┆ FXXR_NSA ┆ -0.430055 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ AUD ┆ FXXR_VT10 ┆ -0.4294 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ AUD ┆ FXXR_VT10 ┆ -0.452535 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ CAD ┆ FXXR_VT10 ┆ -1.132314 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ CAD ┆ FXXR_VT10 ┆ -1.755605 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ EUR ┆ FXXR_VT10 ┆ -0.292422 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ EUR ┆ FXXR_VT10 ┆ -0.855108 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-14 ┆ GBP ┆ FXXR_VT10 ┆ -0.110526 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "│ 2024-11-15 ┆ GBP ┆ FXXR_VT10 ┆ -0.700977 ┆ 1.0 ┆ 0 ┆ 0 │\n",
- "└────────────┴─────┴───────────┴───────────┴─────────┴─────────┴─────────┘"
- ]
- },
- "execution_count": 12,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"new_df.tail(10)"
]
@@ -487,7 +246,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.0"
+ "version": "3.12.7"
}
},
"nbformat": 4,
diff --git a/src/py/download.pyi b/src/py/download.pyi
new file mode 100644
index 0000000..11d7be1
--- /dev/null
+++ b/src/py/download.pyi
@@ -0,0 +1,8 @@
+from polars import DataFrame
+
+__all__ = [
+ "download_jpmaqs_indicators_as_df",
+]
+
+def download_jpmaqs_indicators_as_df(*args, **kwargs) -> DataFrame:
+ ...
diff --git a/src/py/msyrs.pyi b/src/py/msyrs.pyi
new file mode 100644
index 0000000..19a2412
--- /dev/null
+++ b/src/py/msyrs.pyi
@@ -0,0 +1,8 @@
+
+import .download # type: ignore
+import .qdf # type: ignore
+
+__all__ = [
+ "download",
+ "qdf",
+]
\ No newline at end of file
diff --git a/src/py/qdf.pyi b/src/py/qdf.pyi
new file mode 100644
index 0000000..3030965
--- /dev/null
+++ b/src/py/qdf.pyi
@@ -0,0 +1,24 @@
+from polars import DataFrame
+
+__all__ = [
+ "load_qdf",
+ "load_qdf_from_download_bank",
+ "reduce_dataframe",
+ "update_dataframe",
+]
+
+# qdf/load_qdf.pyi
+def load_qdf(*args, **kwargs) -> DataFrame:
+ ...
+
+# qdf/load_qdf_from_download_bank.pyi
+def load_qdf_from_download_bank(*args, **kwargs) -> DataFrame:
+ ...
+
+# qdf/reduce_dataframe.pyi
+def reduce_dataframe(*args, **kwargs) -> DataFrame:
+ ...
+
+# qdf/update_dataframe.pyi
+def update_dataframe(*args, **kwargs) -> DataFrame:
+ ...
diff --git a/src/utils/qdf/pivots.rs b/src/utils/qdf/pivots.rs
index fe148c2..197b097 100644
--- a/src/utils/qdf/pivots.rs
+++ b/src/utils/qdf/pivots.rs
@@ -4,10 +4,14 @@ use polars::prelude::*;
use std::collections::HashMap;
use std::error::Error;
+#[allow(unused_imports)]
+use std::f32::consts::E;
+
/// The required columns for a Quantamental DataFrame.
const QDF_INDEX_COLUMNS: [&str; 3] = ["real_date", "cid", "xcat"];
/// Pivots a dataframe to a format where each ticker a column.
+#[allow(dead_code)]
pub fn pivot_dataframe_by_ticker(
df: DataFrame,
metric: Option,
@@ -24,7 +28,7 @@ pub fn pivot_dataframe_by_ticker(
metric = df.get_column_names()[3].to_string();
}
- let mut new_df = df.clone();
+ // let mut new_df = df.clone();
// keep only the index columns and the metric column
let mut keep_cols = QDF_INDEX_COLUMNS
.to_vec()
@@ -33,7 +37,9 @@ pub fn pivot_dataframe_by_ticker(
.collect::>();
keep_cols.push(metric.clone());
- new_df = new_df.select(keep_cols)?;
+ return Err("Not implemented".into());
+
+ // new_df = new_df.select(keep_cols)?;
// let ticker_col = get_ticker_column_for_quantamental_dataframe(&new_df)?;
// new_df.with_column(ticker_col)?;
@@ -42,9 +48,11 @@ pub fn pivot_dataframe_by_ticker(
// let dates_col = df.column("real_date")?;
- Ok(df)
+ // Ok(df)
}
+/// Splits a dataframe by ticker.
+#[allow(dead_code)]
fn split_df_by_tickers(df: &DataFrame) -> Result, Box> {
check_quantamental_dataframe(df)?;