mirror of
https://github.com/Magnus167/msyrs.git
synced 2025-08-20 04:20:00 +00:00
wip
This commit is contained in:
parent
2b55b199d6
commit
1ea698a1e2
@ -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": [
|
||||
"<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>"USD"</td><td>"ADPEMPL_SA_P1M1ML1"</td><td>-0.173806</td><td>3.0</td><td>3</td><td>33</td></tr><tr><td>2010-03-04</td><td>"USD"</td><td>"ADPEMPL_SA_P1M1ML1"</td><td>-0.173806</td><td>3.0</td><td>4</td><td>34</td></tr><tr><td>2010-03-05</td><td>"USD"</td><td>"ADPEMPL_SA_P1M1ML1"</td><td>-0.173806</td><td>3.0</td><td>5</td><td>35</td></tr><tr><td>2010-03-08</td><td>"USD"</td><td>"ADPEMPL_SA_P1M1ML1"</td><td>-0.173806</td><td>3.0</td><td>8</td><td>38</td></tr><tr><td>2010-03-09</td><td>"USD"</td><td>"ADPEMPL_SA_P1M1ML1"</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"
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
"<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>f64</td><td>f64</td></tr></thead><tbody><tr><td>1990-04-26</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>26.0</td><td>223.0</td></tr><tr><td>1990-04-27</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>27.0</td><td>224.0</td></tr><tr><td>1990-04-30</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>30.0</td><td>227.0</td></tr><tr><td>1990-05-01</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>31.0</td><td>228.0</td></tr><tr><td>1990-05-02</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>32.0</td><td>229.0</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 ┆ 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": [
|
||||
"<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>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>26</td><td>223</td></tr><tr><td>1990-04-27</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>27</td><td>224</td></tr><tr><td>1990-04-30</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>30</td><td>227</td></tr><tr><td>1990-05-01</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</td><td>6.434599</td><td>2.0</td><td>31</td><td>228</td></tr><tr><td>1990-05-02</td><td>"AUD"</td><td>"CPIC_SA_P1M1ML12"</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"
|
||||
}
|
||||
],
|
||||
"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": [
|
||||
"<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: (20, 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>"AUD"</td><td>"EQXR_NSA"</td><td>0.329188</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"AUD"</td><td>"EQXR_NSA"</td><td>0.826346</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"CAD"</td><td>"EQXR_NSA"</td><td>0.199402</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"CAD"</td><td>"EQXR_NSA"</td><td>-0.696517</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"EUR"</td><td>"EQXR_NSA"</td><td>2.024889</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td></tr><tr><td>2024-11-15</td><td>"EUR"</td><td>"EQXR_VT10"</td><td>-0.477901</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"GBP"</td><td>"EQXR_VT10"</td><td>0.664208</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"GBP"</td><td>"EQXR_VT10"</td><td>-0.068778</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"USD"</td><td>"EQXR_VT10"</td><td>-0.549983</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"USD"</td><td>"EQXR_VT10"</td><td>-1.198544</td><td>1.0</td><td>0</td><td>0</td></tr></tbody></table></div>"
|
||||
],
|
||||
"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": [
|
||||
"<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>"AUD"</td><td>"EQXR_NSA"</td><td>0.329188</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"AUD"</td><td>"EQXR_NSA"</td><td>0.826346</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"CAD"</td><td>"EQXR_NSA"</td><td>0.199402</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"CAD"</td><td>"EQXR_NSA"</td><td>-0.696517</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"EUR"</td><td>"EQXR_NSA"</td><td>2.024889</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"EUR"</td><td>"EQXR_NSA"</td><td>-0.661567</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"GBP"</td><td>"EQXR_NSA"</td><td>0.596533</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"GBP"</td><td>"EQXR_NSA"</td><td>-0.06177</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"USD"</td><td>"EQXR_NSA"</td><td>-0.627493</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"USD"</td><td>"EQXR_NSA"</td><td>-1.367457</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-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": [
|
||||
"<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>"GBP"</td><td>"FXXR_NSA"</td><td>-0.067809</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"GBP"</td><td>"FXXR_NSA"</td><td>-0.430055</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"AUD"</td><td>"FXXR_VT10"</td><td>-0.4294</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"AUD"</td><td>"FXXR_VT10"</td><td>-0.452535</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"CAD"</td><td>"FXXR_VT10"</td><td>-1.132314</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"CAD"</td><td>"FXXR_VT10"</td><td>-1.755605</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"EUR"</td><td>"FXXR_VT10"</td><td>-0.292422</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"EUR"</td><td>"FXXR_VT10"</td><td>-0.855108</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-14</td><td>"GBP"</td><td>"FXXR_VT10"</td><td>-0.110526</td><td>1.0</td><td>0</td><td>0</td></tr><tr><td>2024-11-15</td><td>"GBP"</td><td>"FXXR_VT10"</td><td>-0.700977</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 ┆ 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,
|
||||
|
8
src/py/download.pyi
Normal file
8
src/py/download.pyi
Normal file
@ -0,0 +1,8 @@
|
||||
from polars import DataFrame
|
||||
|
||||
__all__ = [
|
||||
"download_jpmaqs_indicators_as_df",
|
||||
]
|
||||
|
||||
def download_jpmaqs_indicators_as_df(*args, **kwargs) -> DataFrame:
|
||||
...
|
8
src/py/msyrs.pyi
Normal file
8
src/py/msyrs.pyi
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
import .download # type: ignore
|
||||
import .qdf # type: ignore
|
||||
|
||||
__all__ = [
|
||||
"download",
|
||||
"qdf",
|
||||
]
|
24
src/py/qdf.pyi
Normal file
24
src/py/qdf.pyi
Normal file
@ -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:
|
||||
...
|
@ -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<String>,
|
||||
@ -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::<Vec<String>>();
|
||||
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<HashMap<String, DataFrame>, Box<dyn Error>> {
|
||||
check_quantamental_dataframe(df)?;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user