This commit is contained in:
Palash Tyagi 2024-11-19 17:27:18 +00:00
parent 1ea698a1e2
commit 7ea8aa6dd8
3 changed files with 254 additions and 35 deletions

View File

@ -42,7 +42,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 1,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -62,7 +62,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 2,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -71,21 +71,53 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 3,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"DATA_FOLDER_PATH = \"E:/Work/jpmaqs-data\"\n", "# DATA_FOLDER_PATH = \"E:/Work/jpmaqs-data\"\n",
"# DATA_FOLDER_PATH = \"C:/Users/PalashTyagi/Code/go-dataquery/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_ID = os.getenv(\"DQ_CLIENT_ID\")\n",
"DQ_CLIENT_SECRET = os.getenv(\"DQ_CLIENT_SECRET\")" "DQ_CLIENT_SECRET = os.getenv(\"DQ_CLIENT_SECRET\")"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 4,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (5, 7)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>real_date</th><th>cid</th><th>xcat</th><th>value</th><th>grading</th><th>eop_lag</th><th>mop_lag</th></tr><tr><td>date</td><td>str</td><td>str</td><td>f64</td><td>f64</td><td>i64</td><td>i64</td></tr></thead><tbody><tr><td>2010-03-03</td><td>&quot;USD&quot;</td><td>&quot;ADPEMPL_SA_P1M1ML1&quot;</td><td>-0.173806</td><td>3.0</td><td>3</td><td>33</td></tr><tr><td>2010-03-04</td><td>&quot;USD&quot;</td><td>&quot;ADPEMPL_SA_P1M1ML1&quot;</td><td>-0.173806</td><td>3.0</td><td>4</td><td>34</td></tr><tr><td>2010-03-05</td><td>&quot;USD&quot;</td><td>&quot;ADPEMPL_SA_P1M1ML1&quot;</td><td>-0.173806</td><td>3.0</td><td>5</td><td>35</td></tr><tr><td>2010-03-08</td><td>&quot;USD&quot;</td><td>&quot;ADPEMPL_SA_P1M1ML1&quot;</td><td>-0.173806</td><td>3.0</td><td>8</td><td>38</td></tr><tr><td>2010-03-09</td><td>&quot;USD&quot;</td><td>&quot;ADPEMPL_SA_P1M1ML1&quot;</td><td>-0.173806</td><td>3.0</td><td>9</td><td>39</td></tr></tbody></table></div>"
],
"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"
}
],
"source": [ "source": [
"dfpath = f\"{DATA_FOLDER_PATH}/data/ADPEMPL_SA_P1M1ML1/USD_ADPEMPL_SA_P1M1ML1.csv\"\n", "dfpath = f\"{DATA_FOLDER_PATH}/data/ADPEMPL_SA_P1M1ML1/USD_ADPEMPL_SA_P1M1ML1.csv\"\n",
"\n", "\n",
@ -96,7 +128,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 5,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -119,53 +151,118 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 6,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"downloaded_df: pl.DataFrame = msyrs.download.download_jpmaqs_indicators_as_df(\n", "# downloaded_df: pl.DataFrame = msyrs.download.download_jpmaqs_indicators_as_df(\n",
" client_id=DQ_CLIENT_ID,\n", "# client_id=DQ_CLIENT_ID,\n",
" client_secret=DQ_CLIENT_SECRET,\n", "# client_secret=DQ_CLIENT_SECRET,\n",
" tickers=tickers,\n", "# tickers=tickers,\n",
")\n", "# )\n",
"downloaded_df.head(5)" "# downloaded_df.head(5)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 7,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (5, 7)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>real_date</th><th>cid</th><th>xcat</th><th>value</th><th>grading</th><th>eop_lag</th><th>mop_lag</th></tr><tr><td>date</td><td>str</td><td>str</td><td>f64</td><td>f64</td><td>i64</td><td>i64</td></tr></thead><tbody><tr><td>1990-04-26</td><td>&quot;AUD&quot;</td><td>&quot;CPIC_SA_P1M1ML12&quot;</td><td>6.434599</td><td>2.0</td><td>26</td><td>223</td></tr><tr><td>1990-04-27</td><td>&quot;AUD&quot;</td><td>&quot;CPIC_SA_P1M1ML12&quot;</td><td>6.434599</td><td>2.0</td><td>27</td><td>224</td></tr><tr><td>1990-04-30</td><td>&quot;AUD&quot;</td><td>&quot;CPIC_SA_P1M1ML12&quot;</td><td>6.434599</td><td>2.0</td><td>30</td><td>227</td></tr><tr><td>1990-05-01</td><td>&quot;AUD&quot;</td><td>&quot;CPIC_SA_P1M1ML12&quot;</td><td>6.434599</td><td>2.0</td><td>31</td><td>228</td></tr><tr><td>1990-05-02</td><td>&quot;AUD&quot;</td><td>&quot;CPIC_SA_P1M1ML12&quot;</td><td>6.434599</td><td>2.0</td><td>32</td><td>229</td></tr></tbody></table></div>"
],
"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"
}
],
"source": [ "source": [
"big_df: pl.DataFrame = msyrs.qdf.load_qdf_from_download_bank(\n", "big_df: pl.DataFrame = msyrs.qdf.load_qdf_from_download_bank(\n",
" folder_path=DATA_FOLDER_PATH, tickers=tickers\n", " folder_path=DATA_FOLDER_PATH, xcats=xcats\n",
")\n", ")\n",
"big_df.head(5)" "big_df.head(5)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 8,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/plain": [
"275.7717933654785"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"big_df.estimated_size(\"mb\")" "big_df.estimated_size(\"mb\")"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 9,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/plain": [
"870.6678009033203"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"big_df.to_pandas().memory_usage(deep=True).sum() / 1024**2" "big_df.to_pandas().memory_usage(deep=True).sum() / 1024**2"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 10,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/plain": [
"211.74823188781738"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"macrosynergy.management.types.QuantamentalDataFrame(big_df.to_pandas()).memory_usage(\n", "macrosynergy.management.types.QuantamentalDataFrame(big_df.to_pandas()).memory_usage(\n",
" deep=True\n", " deep=True\n",
@ -174,7 +271,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 11,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -184,9 +281,47 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 12,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (30, 7)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>real_date</th><th>cid</th><th>xcat</th><th>value</th><th>grading</th><th>eop_lag</th><th>mop_lag</th></tr><tr><td>date</td><td>str</td><td>str</td><td>f64</td><td>f64</td><td>i64</td><td>i64</td></tr></thead><tbody><tr><td>2024-11-14</td><td>&quot;AUD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.329188</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;AUD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.826346</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;AUD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.156683</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;CAD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.199402</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;CAD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>-0.696517</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td></tr><tr><td>2024-11-15</td><td>&quot;GBP&quot;</td><td>&quot;EQXR_VT10&quot;</td><td>-0.068778</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;GBP&quot;</td><td>&quot;EQXR_VT10&quot;</td><td>0.488626</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;USD&quot;</td><td>&quot;EQXR_VT10&quot;</td><td>-0.549983</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;USD&quot;</td><td>&quot;EQXR_VT10&quot;</td><td>-1.198544</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;USD&quot;</td><td>&quot;EQXR_VT10&quot;</td><td>0.349312</td><td>1.0</td><td>0</td><td>0</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (30, 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-18 ┆ AUD ┆ EQXR_NSA ┆ 0.156683 ┆ 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",
"│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n",
"│ 2024-11-15 ┆ GBP ┆ EQXR_VT10 ┆ -0.068778 ┆ 1.0 ┆ 0 ┆ 0 │\n",
"│ 2024-11-18 ┆ GBP ┆ EQXR_VT10 ┆ 0.488626 ┆ 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",
"│ 2024-11-18 ┆ USD ┆ EQXR_VT10 ┆ 0.349312 ┆ 1.0 ┆ 0 ┆ 0 │\n",
"└────────────┴─────┴───────────┴───────────┴─────────┴─────────┴─────────┘"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"eq_df = msyrs.qdf.reduce_dataframe(\n", "eq_df = msyrs.qdf.reduce_dataframe(\n",
" df=big_df,\n", " df=big_df,\n",
@ -199,7 +334,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 13,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -211,9 +346,46 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 14,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (10, 7)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>real_date</th><th>cid</th><th>xcat</th><th>value</th><th>grading</th><th>eop_lag</th><th>mop_lag</th></tr><tr><td>date</td><td>str</td><td>str</td><td>f64</td><td>f64</td><td>i64</td><td>i64</td></tr></thead><tbody><tr><td>2024-11-14</td><td>&quot;AUD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.329188</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;AUD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.826346</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;AUD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.156683</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;CAD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.199402</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;CAD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>-0.696517</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;CAD&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.146961</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;EUR&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>2.024889</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;EUR&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>-0.661567</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;EUR&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>-0.145682</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;GBP&quot;</td><td>&quot;EQXR_NSA&quot;</td><td>0.596533</td><td>1.0</td><td>0</td><td>0</td></tr></tbody></table></div>"
],
"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-18 ┆ AUD ┆ EQXR_NSA ┆ 0.156683 ┆ 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-18 ┆ CAD ┆ EQXR_NSA ┆ 0.146961 ┆ 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-18 ┆ EUR ┆ EQXR_NSA ┆ -0.145682 ┆ 1.0 ┆ 0 ┆ 0 │\n",
"│ 2024-11-14 ┆ GBP ┆ EQXR_NSA ┆ 0.596533 ┆ 1.0 ┆ 0 ┆ 0 │\n",
"└────────────┴─────┴──────────┴───────────┴─────────┴─────────┴─────────┘"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"new_df: pl.DataFrame = msyrs.qdf.update_dataframe(df=eq_df, df_add=fx_df)\n", "new_df: pl.DataFrame = msyrs.qdf.update_dataframe(df=eq_df, df_add=fx_df)\n",
"\n", "\n",
@ -222,9 +394,46 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 15,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (10, 7)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>real_date</th><th>cid</th><th>xcat</th><th>value</th><th>grading</th><th>eop_lag</th><th>mop_lag</th></tr><tr><td>date</td><td>str</td><td>str</td><td>f64</td><td>f64</td><td>i64</td><td>i64</td></tr></thead><tbody><tr><td>2024-11-18</td><td>&quot;AUD&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>0.518501</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;CAD&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-1.132314</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;CAD&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-1.755605</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;CAD&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>0.751675</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;EUR&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-0.292422</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;EUR&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-0.855108</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;EUR&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>0.791866</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>&quot;GBP&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-0.110526</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>&quot;GBP&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-0.700977</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-18</td><td>&quot;GBP&quot;</td><td>&quot;FXXR_VT10&quot;</td><td>-0.140805</td><td>1.0</td><td>0</td><td>0</td></tr></tbody></table></div>"
],
"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-18 ┆ AUD ┆ FXXR_VT10 ┆ 0.518501 ┆ 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-18 ┆ CAD ┆ FXXR_VT10 ┆ 0.751675 ┆ 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-18 ┆ EUR ┆ FXXR_VT10 ┆ 0.791866 ┆ 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",
"│ 2024-11-18 ┆ GBP ┆ FXXR_VT10 ┆ -0.140805 ┆ 1.0 ┆ 0 ┆ 0 │\n",
"└────────────┴─────┴───────────┴───────────┴─────────┴─────────┴─────────┘"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"new_df.tail(10)" "new_df.tail(10)"
] ]
@ -232,7 +441,7 @@
], ],
"metadata": { "metadata": {
"kernelspec": { "kernelspec": {
"display_name": ".venv", "display_name": "Python 3 (ipykernel)",
"language": "python", "language": "python",
"name": "python3" "name": "python3"
}, },
@ -246,9 +455,9 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.12.7" "version": "3.11.0"
} }
}, },
"nbformat": 4, "nbformat": 4,
"nbformat_minor": 2 "nbformat_minor": 4
} }

View File

@ -3,6 +3,7 @@ pub mod update_df;
pub mod load; pub mod load;
pub mod reduce_df; pub mod reduce_df;
pub mod pivots; pub mod pivots;
// Re-export submodules for easier access // Re-export submodules for easier access
pub use core::*; pub use core::*;
pub use update_df::*; pub use update_df::*;

View File

@ -79,3 +79,12 @@ fn split_df_by_tickers(df: &DataFrame) -> Result<HashMap<String, DataFrame>, Box
Ok(df_outs) Ok(df_outs)
} }
fn single_ticker_qdf_to_timeseries(df: &DataFrame) -> Result<Vec<DataFrame>, Box<dyn Error>> {
let mut df_vec = Vec::new();
// copy the date col
// let date_col =
Ok(vec![df.to_owned()])
}