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_datecidxcatvaluegradingeop_lagmop_lag
datestrstrf64f64i64i64
2010-03-03"USD""ADPEMPL_SA_P1M1ML1"-0.1738063.0333
2010-03-04"USD""ADPEMPL_SA_P1M1ML1"-0.1738063.0434
2010-03-05"USD""ADPEMPL_SA_P1M1ML1"-0.1738063.0535
2010-03-08"USD""ADPEMPL_SA_P1M1ML1"-0.1738063.0838
2010-03-09"USD""ADPEMPL_SA_P1M1ML1"-0.1738063.0939
" - ], - "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_datecidxcatvaluegradingeop_lagmop_lag
datestrstrf64f64f64f64
1990-04-26"AUD""CPIC_SA_P1M1ML12"6.4345992.026.0223.0
1990-04-27"AUD""CPIC_SA_P1M1ML12"6.4345992.027.0224.0
1990-04-30"AUD""CPIC_SA_P1M1ML12"6.4345992.030.0227.0
1990-05-01"AUD""CPIC_SA_P1M1ML12"6.4345992.031.0228.0
1990-05-02"AUD""CPIC_SA_P1M1ML12"6.4345992.032.0229.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_datecidxcatvaluegradingeop_lagmop_lag
datestrstrf64f64i64i64
1990-04-26"AUD""CPIC_SA_P1M1ML12"6.4345992.026223
1990-04-27"AUD""CPIC_SA_P1M1ML12"6.4345992.027224
1990-04-30"AUD""CPIC_SA_P1M1ML12"6.4345992.030227
1990-05-01"AUD""CPIC_SA_P1M1ML12"6.4345992.031228
1990-05-02"AUD""CPIC_SA_P1M1ML12"6.4345992.032229
" - ], - "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_datecidxcatvaluegradingeop_lagmop_lag
datestrstrf64f64i64i64
2024-11-14"AUD""EQXR_NSA"0.3291881.000
2024-11-15"AUD""EQXR_NSA"0.8263461.000
2024-11-14"CAD""EQXR_NSA"0.1994021.000
2024-11-15"CAD""EQXR_NSA"-0.6965171.000
2024-11-14"EUR""EQXR_NSA"2.0248891.000
2024-11-15"EUR""EQXR_VT10"-0.4779011.000
2024-11-14"GBP""EQXR_VT10"0.6642081.000
2024-11-15"GBP""EQXR_VT10"-0.0687781.000
2024-11-14"USD""EQXR_VT10"-0.5499831.000
2024-11-15"USD""EQXR_VT10"-1.1985441.000
" - ], - "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_datecidxcatvaluegradingeop_lagmop_lag
datestrstrf64f64i64i64
2024-11-14"AUD""EQXR_NSA"0.3291881.000
2024-11-15"AUD""EQXR_NSA"0.8263461.000
2024-11-14"CAD""EQXR_NSA"0.1994021.000
2024-11-15"CAD""EQXR_NSA"-0.6965171.000
2024-11-14"EUR""EQXR_NSA"2.0248891.000
2024-11-15"EUR""EQXR_NSA"-0.6615671.000
2024-11-14"GBP""EQXR_NSA"0.5965331.000
2024-11-15"GBP""EQXR_NSA"-0.061771.000
2024-11-14"USD""EQXR_NSA"-0.6274931.000
2024-11-15"USD""EQXR_NSA"-1.3674571.000
" - ], - "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_datecidxcatvaluegradingeop_lagmop_lag
datestrstrf64f64i64i64
2024-11-14"GBP""FXXR_NSA"-0.0678091.000
2024-11-15"GBP""FXXR_NSA"-0.4300551.000
2024-11-14"AUD""FXXR_VT10"-0.42941.000
2024-11-15"AUD""FXXR_VT10"-0.4525351.000
2024-11-14"CAD""FXXR_VT10"-1.1323141.000
2024-11-15"CAD""FXXR_VT10"-1.7556051.000
2024-11-14"EUR""FXXR_VT10"-0.2924221.000
2024-11-15"EUR""FXXR_VT10"-0.8551081.000
2024-11-14"GBP""FXXR_VT10"-0.1105261.000
2024-11-15"GBP""FXXR_VT10"-0.7009771.000
" - ], - "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)?;