Commit 43955e6c authored by Dr.李's avatar Dr.李

update

parent fa4f0b67
......@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"id": "3604e08c-d849-4d0e-aa6d-384657b1b6c8",
"metadata": {},
"outputs": [],
......@@ -15,7 +15,7 @@
" fd_typeclass,\n",
" fd_hshkiport,\n",
" fd_assetportfolio,\n",
" fd_derieden,\n",
" fd_qtfdnav,\n",
" nearest_report_date\n",
")\n",
"import pandas as pd\n",
......@@ -34,7 +34,7 @@
},
{
"cell_type": "code",
"execution_count": 76,
"execution_count": 2,
"id": "35ca37b3-41d1-4c2d-a576-eef1cb9c1ec5",
"metadata": {},
"outputs": [],
......@@ -49,19 +49,19 @@
},
{
"cell_type": "code",
"execution_count": 79,
"execution_count": 3,
"id": "96a3611d-8f1e-4420-9b08-7ca5dd6443cd",
"metadata": {},
"outputs": [],
"source": [
"# 获取所有目标股票型基金(清算结束日期晚于当前日)\n",
"\n",
"security_ids = fd_alive_funds(current_date, 1)"
"security_ids = fd_alive_funds(current_date, 201)"
]
},
{
"cell_type": "code",
"execution_count": 80,
"execution_count": 4,
"id": "79115d35-0712-4432-a73c-29bd5262dda7",
"metadata": {},
"outputs": [],
......@@ -75,7 +75,7 @@
},
{
"cell_type": "code",
"execution_count": 81,
"execution_count": 5,
"id": "0c30cc50-a1c3-4774-84a8-5ab5faca8b67",
"metadata": {},
"outputs": [],
......@@ -92,7 +92,7 @@
},
{
"cell_type": "code",
"execution_count": 82,
"execution_count": 6,
"id": "c99e0fe3-7193-449e-b5ee-6cbd0b003035",
"metadata": {},
"outputs": [],
......@@ -109,7 +109,7 @@
},
{
"cell_type": "code",
"execution_count": 83,
"execution_count": 7,
"id": "a42b357e-6b87-424b-9ca9-4ce60904b66b",
"metadata": {},
"outputs": [
......@@ -170,71 +170,71 @@
" <tbody>\n",
" <tr>\n",
" <th>增强指数型基金</th>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>45</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>60</td>\n",
" <td>63</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>39</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>53</td>\n",
" <td>54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>普通股票型基金</th>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>59</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>204</td>\n",
" <td>205</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>57</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" </tr>\n",
" <tr>\n",
" <th>港股通股票型基金</th>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>8</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>9</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>被动指数型基金</th>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>202</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>315</td>\n",
" <td>328</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>160</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>168</td>\n",
" <td>177</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -243,27 +243,27 @@
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \\\n",
"股票型(子类) \n",
"增强指数型基金 63 63 45 63 63 63 \n",
"普通股票型基金 205 205 59 205 205 205 \n",
"港股通股票型基金 12 12 8 12 12 12 \n",
"被动指数型基金 328 328 202 328 328 328 \n",
"增强指数型基金 54 54 39 54 54 54 \n",
"普通股票型基金 199 199 57 199 199 199 \n",
"港股通股票型基金 13 13 9 13 13 13 \n",
"被动指数型基金 177 177 160 177 177 177 \n",
"\n",
" L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME EQUITYINVERTO \\\n",
"股票型(子类) \n",
"增强指数型基金 63 63 63 63 63 63 60 \n",
"普通股票型基金 205 205 205 205 205 205 204 \n",
"港股通股票型基金 12 12 12 12 12 12 12 \n",
"被动指数型基金 328 328 328 328 328 328 315 \n",
"增强指数型基金 54 54 54 54 54 54 53 \n",
"普通股票型基金 199 199 199 199 199 199 199 \n",
"港股通股票型基金 13 13 13 13 13 13 13 \n",
"被动指数型基金 177 177 177 177 177 177 168 \n",
"\n",
" ACCNETMKTCAP \n",
"股票型(子类) \n",
"增强指数型基金 63 \n",
"普通股票型基金 205 \n",
"港股通股票型基金 12 \n",
"被动指数型基金 328 "
"增强指数型基金 54 \n",
"普通股票型基金 199 \n",
"港股通股票型基金 13 \n",
"被动指数型基金 177 "
]
},
"execution_count": 83,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
......@@ -274,7 +274,7 @@
},
{
"cell_type": "code",
"execution_count": 84,
"execution_count": 8,
"id": "3a20a243-ebe0-4410-a3e8-3363e1e793e2",
"metadata": {},
"outputs": [
......@@ -319,6 +319,24 @@
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1030000009</td>\n",
" <td>华夏全球精选股票型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>000041</td>\n",
" <td>证券投资基金</td>\n",
" <td>积极成长型</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>85.839167</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1030000030</td>\n",
" <td>国泰沪深300指数证券投资基金</td>\n",
" <td>国泰沪深300指数</td>\n",
......@@ -336,7 +354,7 @@
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <td>1030000034</td>\n",
" <td>华安MSCI中国A股指数增强型证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -354,7 +372,7 @@
" <td>增强指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <td>1030000045</td>\n",
" <td>博时裕富沪深300指数证券投资基金</td>\n",
" <td>博时沪深300指数</td>\n",
......@@ -372,7 +390,7 @@
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <td>1030000096</td>\n",
" <td>易方达上证50指数增强型证券投资基金</td>\n",
" <td>易方达上证50增强</td>\n",
......@@ -390,7 +408,7 @@
" <td>增强指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>554</th>\n",
" <th>439</th>\n",
" <td>1030000136</td>\n",
" <td>融通深证100指数证券投资基金</td>\n",
" <td>融通深证100指数</td>\n",
......@@ -408,7 +426,7 @@
" <td>增强指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>580</th>\n",
" <th>451</th>\n",
" <td>1030000149</td>\n",
" <td>泰达宏利首选企业股票型证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -426,7 +444,7 @@
" <td>普通股票型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>564</th>\n",
" <th>443</th>\n",
" <td>1030000159</td>\n",
" <td>银华-道琼斯88精选证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -444,7 +462,25 @@
" <td>增强指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>577</th>\n",
" <th>419</th>\n",
" <td>1030000166</td>\n",
" <td>银华全球核心优选证券投资基金</td>\n",
" <td>None</td>\n",
" <td>183001</td>\n",
" <td>FOF</td>\n",
" <td>稳健成长型</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>14.047500</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>450</th>\n",
" <td>1030000168</td>\n",
" <td>长城久泰沪深300指数证券投资基金</td>\n",
" <td>长城久泰沪深300指数</td>\n",
......@@ -462,7 +498,25 @@
" <td>增强指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>720</th>\n",
" <th>417</th>\n",
" <td>1030000184</td>\n",
" <td>南方全球精选配置证券投资基金</td>\n",
" <td>None</td>\n",
" <td>202801</td>\n",
" <td>FOF</td>\n",
" <td>增值型</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>30.587500</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>494</th>\n",
" <td>1030000245</td>\n",
" <td>申万菱信沪深300指数增强型证券投资基金</td>\n",
" <td>申万菱信沪深300指数增强</td>\n",
......@@ -480,7 +534,7 @@
" <td>增强指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>649</th>\n",
" <th>473</th>\n",
" <td>1030000258</td>\n",
" <td>兴全全球视野股票型证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -498,7 +552,7 @@
" <td>普通股票型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>705</th>\n",
" <th>489</th>\n",
" <td>1030000264</td>\n",
" <td>光大保德信量化核心证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -516,7 +570,25 @@
" <td>普通股票型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>455</th>\n",
" <th>426</th>\n",
" <td>1030000317</td>\n",
" <td>工银瑞信中国机会全球配置股票型证券投资基金</td>\n",
" <td>工银全球股票(QDII)</td>\n",
" <td>486001</td>\n",
" <td>证券投资基金</td>\n",
" <td>积极成长型</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>93.107500</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>438</th>\n",
" <td>1030000340</td>\n",
" <td>长盛中证100指数证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -534,7 +606,7 @@
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>586</th>\n",
" <th>455</th>\n",
" <td>1030000342</td>\n",
" <td>万家180指数证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -552,7 +624,7 @@
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>443</th>\n",
" <th>437</th>\n",
" <td>1030000345</td>\n",
" <td>大成沪深300指数证券投资基金</td>\n",
" <td>大成沪深300指数</td>\n",
......@@ -570,186 +642,114 @@
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416</th>\n",
" <td>1030000429</td>\n",
" <td>上证50交易型开放式指数证券投资基金</td>\n",
" <td>None</td>\n",
" <td>510050</td>\n",
" <td>ETF</td>\n",
" <td>指数型</td>\n",
" <td>1</td>\n",
" <td>股票基金</td>\n",
" <td>1.2</td>\n",
" <td>指数股票型基金</td>\n",
" <td>1.2.1</td>\n",
" <td>标准指数股票型基金</td>\n",
" <td>99.823333</td>\n",
" <td>0.0</td>\n",
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>470</th>\n",
" <td>1030000430</td>\n",
" <td>上证180交易型开放式指数证券投资基金</td>\n",
" <td>None</td>\n",
" <td>510180</td>\n",
" <td>ETF</td>\n",
" <td>指数型</td>\n",
" <td>1</td>\n",
" <td>股票基金</td>\n",
" <td>1.2</td>\n",
" <td>指数股票型基金</td>\n",
" <td>1.2.1</td>\n",
" <td>标准指数股票型基金</td>\n",
" <td>99.770000</td>\n",
" <td>0.0</td>\n",
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>773</th>\n",
" <td>1030000431</td>\n",
" <td>上证红利交易型开放式指数证券投资基金</td>\n",
" <td>None</td>\n",
" <td>510880</td>\n",
" <td>ETF</td>\n",
" <td>指数型</td>\n",
" <td>1</td>\n",
" <td>股票基金</td>\n",
" <td>1.2</td>\n",
" <td>指数股票型基金</td>\n",
" <td>1.2.1</td>\n",
" <td>标准指数股票型基金</td>\n",
" <td>99.025833</td>\n",
" <td>0.0</td>\n",
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>469</th>\n",
" <td>1030000464</td>\n",
" <td>易方达深证100交易型开放式指数证券投资基金</td>\n",
" <td>None</td>\n",
" <td>159901</td>\n",
" <td>ETF</td>\n",
" <td>指数型</td>\n",
" <td>1</td>\n",
" <td>股票基金</td>\n",
" <td>1.2</td>\n",
" <td>指数股票型基金</td>\n",
" <td>1.2.1</td>\n",
" <td>标准指数股票型基金</td>\n",
" <td>99.598333</td>\n",
" <td>0.0</td>\n",
" <td>被动指数型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>410</th>\n",
" <td>1030000465</td>\n",
" <td>中小企业100交易型开放式指数基金</td>\n",
" <td>None</td>\n",
" <td>159902</td>\n",
" <td>ETF</td>\n",
" <th>430</th>\n",
" <td>1030000521</td>\n",
" <td>南方中证100指数证券投资基金</td>\n",
" <td>南方中证100指数</td>\n",
" <td>202211</td>\n",
" <td>证券投资基金</td>\n",
" <td>指数型</td>\n",
" <td>1</td>\n",
" <td>股票基金</td>\n",
" <td>1.2</td>\n",
" <td>指数股票型基金</td>\n",
" <td>1.2.1</td>\n",
" <td>标准指数股票型基金</td>\n",
" <td>99.563333</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.5</td>\n",
" <td>保本型基金</td>\n",
" <td>2.5.1</td>\n",
" <td>保本型基金</td>\n",
" <td>90.970833</td>\n",
" <td>0.0</td>\n",
" <td>被动指数型基金</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>411</th>\n",
" <td>1030000474</td>\n",
" <td>嘉实沪深300交易型开放式指数证券投资基金联接基金(LOF)</td>\n",
" <td>嘉实沪深300ETF联接(LOF)</td>\n",
" <td>160706</td>\n",
" <td>LOF</td>\n",
" <th>5</th>\n",
" <td>1030000540</td>\n",
" <td>富国中证红利指数增强型证券投资基金</td>\n",
" <td>富国中证红利指数增强</td>\n",
" <td>100032</td>\n",
" <td>证券投资基金</td>\n",
" <td>指数型</td>\n",
" <td>1</td>\n",
" <td>股票基金</td>\n",
" <td>1.2</td>\n",
" <td>指数股票型基金</td>\n",
" <td>1.2.3</td>\n",
" <td>ETF联接基金</td>\n",
" <td>0.902500</td>\n",
" <td>1.2.2</td>\n",
" <td>增强指数股票型基金</td>\n",
" <td>91.570833</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>增强指数型基金</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL \\\n",
"0 1030000030 国泰沪深300指数证券投资基金 国泰沪深300指数 020011 \n",
"1 1030000034 华安MSCI中国A股指数增强型证券投资基金 None 040002 \n",
"2 1030000045 博时裕富沪深300指数证券投资基金 博时沪深300指数 050002 \n",
"3 1030000096 易方达上证50指数增强型证券投资基金 易方达上证50增强 110003 \n",
"554 1030000136 融通深证100指数证券投资基金 融通深证100指数 161604 \n",
"580 1030000149 泰达宏利首选企业股票型证券投资基金 None 162208 \n",
"564 1030000159 银华-道琼斯88精选证券投资基金 None 180003 \n",
"577 1030000168 长城久泰沪深300指数证券投资基金 长城久泰沪深300指数 200002 \n",
"720 1030000245 申万菱信沪深300指数增强型证券投资基金 申万菱信沪深300指数增强 310318 \n",
"649 1030000258 兴全全球视野股票型证券投资基金 None 340006 \n",
"705 1030000264 光大保德信量化核心证券投资基金 None 360001 \n",
"455 1030000340 长盛中证100指数证券投资基金 None 519100 \n",
"586 1030000342 万家180指数证券投资基金 None 519180 \n",
"443 1030000345 大成沪深300指数证券投资基金 大成沪深300指数 519300 \n",
"416 1030000429 上证50交易型开放式指数证券投资基金 None 510050 \n",
"470 1030000430 上证180交易型开放式指数证券投资基金 None 510180 \n",
"773 1030000431 上证红利交易型开放式指数证券投资基金 None 510880 \n",
"469 1030000464 易方达深证100交易型开放式指数证券投资基金 None 159901 \n",
"410 1030000465 中小企业100交易型开放式指数基金 None 159902 \n",
"411 1030000474 嘉实沪深300交易型开放式指数证券投资基金联接基金(LOF) 嘉实沪深300ETF联接(LOF) 160706 \n",
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE \\\n",
"0 1030000009 华夏全球精选股票型证券投资基金 None 000041 证券投资基金 \n",
"1 1030000030 国泰沪深300指数证券投资基金 国泰沪深300指数 020011 证券投资基金 \n",
"2 1030000034 华安MSCI中国A股指数增强型证券投资基金 None 040002 证券投资基金 \n",
"3 1030000045 博时裕富沪深300指数证券投资基金 博时沪深300指数 050002 证券投资基金 \n",
"4 1030000096 易方达上证50指数增强型证券投资基金 易方达上证50增强 110003 证券投资基金 \n",
"439 1030000136 融通深证100指数证券投资基金 融通深证100指数 161604 证券投资基金 \n",
"451 1030000149 泰达宏利首选企业股票型证券投资基金 None 162208 证券投资基金 \n",
"443 1030000159 银华-道琼斯88精选证券投资基金 None 180003 证券投资基金 \n",
"419 1030000166 银华全球核心优选证券投资基金 None 183001 FOF \n",
"450 1030000168 长城久泰沪深300指数证券投资基金 长城久泰沪深300指数 200002 证券投资基金 \n",
"417 1030000184 南方全球精选配置证券投资基金 None 202801 FOF \n",
"494 1030000245 申万菱信沪深300指数增强型证券投资基金 申万菱信沪深300指数增强 310318 证券投资基金 \n",
"473 1030000258 兴全全球视野股票型证券投资基金 None 340006 证券投资基金 \n",
"489 1030000264 光大保德信量化核心证券投资基金 None 360001 证券投资基金 \n",
"426 1030000317 工银瑞信中国机会全球配置股票型证券投资基金 工银全球股票(QDII) 486001 证券投资基金 \n",
"438 1030000340 长盛中证100指数证券投资基金 None 519100 证券投资基金 \n",
"455 1030000342 万家180指数证券投资基金 None 519180 证券投资基金 \n",
"437 1030000345 大成沪深300指数证券投资基金 大成沪深300指数 519300 证券投资基金 \n",
"430 1030000521 南方中证100指数证券投资基金 南方中证100指数 202211 证券投资基金 \n",
"5 1030000540 富国中证红利指数增强型证券投资基金 富国中证红利指数增强 100032 证券投资基金 \n",
"\n",
" FDNATURE INVESTSTYLE L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME \\\n",
"0 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"1 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"2 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"3 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"554 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"580 证券投资基金 增值型 1 股票基金 1.1 标准股票型基金 1.1.1 标准股票型基金 \n",
"564 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"577 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"720 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"649 证券投资基金 成长型 1 股票基金 1.1 标准股票型基金 1.1.1 标准股票型基金 \n",
"705 证券投资基金 稳健成长型 1 股票基金 1.1 标准股票型基金 1.1.1 标准股票型基金 \n",
"455 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"586 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"443 证券投资基金 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"416 ETF 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"470 ETF 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"773 ETF 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"469 ETF 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"410 ETF 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"411 LOF 指数型 1 股票基金 1.2 指数股票型基金 1.2.3 ETF联接基金 \n",
" INVESTSTYLE L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME \\\n",
"0 积极成长型 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"1 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"2 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"3 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"4 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"439 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"451 增值型 1 股票基金 1.1 标准股票型基金 1.1.1 标准股票型基金 \n",
"443 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"419 稳健成长型 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"450 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"417 增值型 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"494 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"473 成长型 1 股票基金 1.1 标准股票型基金 1.1.1 标准股票型基金 \n",
"489 稳健成长型 1 股票基金 1.1 标准股票型基金 1.1.1 标准股票型基金 \n",
"426 积极成长型 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"438 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"455 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"437 指数型 1 股票基金 1.2 指数股票型基金 1.2.1 标准指数股票型基金 \n",
"430 指数型 2 混合基金 2.5 保本型基金 2.5.1 保本型基金 \n",
"5 指数型 1 股票基金 1.2 指数股票型基金 1.2.2 增强指数股票型基金 \n",
"\n",
" EQUITYINVERTO ACCNETMKTCAP 股票型(子类) \n",
"0 93.975000 0.0 被动指数型基金 \n",
"1 94.049167 0.0 增强指数型基金 \n",
"2 93.689167 0.0 被动指数型基金 \n",
"3 92.823333 0.0 增强指数型基金 \n",
"554 94.824167 0.0 增强指数型基金 \n",
"580 93.647500 0.0 普通股票型基金 \n",
"564 88.533333 0.0 增强指数型基金 \n",
"577 94.545000 0.0 增强指数型基金 \n",
"720 91.097500 0.0 增强指数型基金 \n",
"649 89.563333 0.0 普通股票型基金 \n",
"705 91.365833 0.0 普通股票型基金 \n",
"455 94.055000 0.0 被动指数型基金 \n",
"586 94.820833 0.0 被动指数型基金 \n",
"443 93.275000 0.0 被动指数型基金 \n",
"416 99.823333 0.0 被动指数型基金 \n",
"470 99.770000 0.0 被动指数型基金 \n",
"773 99.025833 0.0 被动指数型基金 \n",
"469 99.598333 0.0 被动指数型基金 \n",
"410 99.563333 0.0 被动指数型基金 \n",
"411 0.902500 0.0 NaN "
"0 85.839167 0.0 NaN \n",
"1 93.975000 0.0 被动指数型基金 \n",
"2 94.049167 0.0 增强指数型基金 \n",
"3 93.689167 0.0 被动指数型基金 \n",
"4 92.823333 0.0 增强指数型基金 \n",
"439 94.824167 0.0 增强指数型基金 \n",
"451 93.647500 0.0 普通股票型基金 \n",
"443 88.533333 0.0 增强指数型基金 \n",
"419 14.047500 0.0 NaN \n",
"450 94.545000 0.0 增强指数型基金 \n",
"417 30.587500 0.0 NaN \n",
"494 91.097500 0.0 增强指数型基金 \n",
"473 89.563333 0.0 普通股票型基金 \n",
"489 91.365833 0.0 普通股票型基金 \n",
"426 93.107500 0.0 NaN \n",
"438 94.055000 0.0 被动指数型基金 \n",
"455 94.820833 0.0 被动指数型基金 \n",
"437 93.275000 0.0 被动指数型基金 \n",
"430 90.970833 0.0 NaN \n",
"5 91.570833 0.0 增强指数型基金 "
]
},
"execution_count": 84,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
......@@ -768,7 +768,7 @@
},
{
"cell_type": "code",
"execution_count": 85,
"execution_count": 9,
"id": "c9c557cf-2b92-402a-8c57-9711f42de08b",
"metadata": {},
"outputs": [],
......@@ -779,7 +779,7 @@
" report_dates_begin = nearest_report_date(date_3yrs_ago.strftime(\"%Y%m%d\"))\n",
" current_date = trade_dt.strftime(\"%Y%m%d\")\n",
" \n",
" security_ids = fd_alive_funds(current_date, 1)\n",
" security_ids = fd_alive_funds(current_date, 201)\n",
" basic_info = fd_basicinfo(security_ids, current_date)\n",
" type_info = fd_typeclass(security_ids, current_date)\n",
" hkport_info = fd_hshkiport(security_ids, report_dates_begin, current_date)\n",
......@@ -806,7 +806,7 @@
},
{
"cell_type": "code",
"execution_count": 86,
"execution_count": 10,
"id": "e38ec99c-1674-41b2-a912-767b14b5795c",
"metadata": {},
"outputs": [
......@@ -814,7 +814,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 3.78 s\n"
"Wall time: 8.84 s\n"
]
},
{
......@@ -874,71 +874,71 @@
" <tbody>\n",
" <tr>\n",
" <th>增强指数型基金</th>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>45</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>60</td>\n",
" <td>63</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>39</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>54</td>\n",
" <td>53</td>\n",
" <td>54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>普通股票型基金</th>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>59</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>205</td>\n",
" <td>204</td>\n",
" <td>205</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>57</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" <td>199</td>\n",
" </tr>\n",
" <tr>\n",
" <th>港股通股票型基金</th>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>8</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>12</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>9</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>被动指数型基金</th>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>202</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>328</td>\n",
" <td>315</td>\n",
" <td>328</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>160</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>177</td>\n",
" <td>168</td>\n",
" <td>177</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -947,27 +947,27 @@
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \\\n",
"股票型(子类) \n",
"增强指数型基金 63 63 45 63 63 63 \n",
"普通股票型基金 205 205 59 205 205 205 \n",
"港股通股票型基金 12 12 8 12 12 12 \n",
"被动指数型基金 328 328 202 328 328 328 \n",
"增强指数型基金 54 54 39 54 54 54 \n",
"普通股票型基金 199 199 57 199 199 199 \n",
"港股通股票型基金 13 13 9 13 13 13 \n",
"被动指数型基金 177 177 160 177 177 177 \n",
"\n",
" L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME EQUITYINVERTO \\\n",
"股票型(子类) \n",
"增强指数型基金 63 63 63 63 63 63 60 \n",
"普通股票型基金 205 205 205 205 205 205 204 \n",
"港股通股票型基金 12 12 12 12 12 12 12 \n",
"被动指数型基金 328 328 328 328 328 328 315 \n",
"增强指数型基金 54 54 54 54 54 54 53 \n",
"普通股票型基金 199 199 199 199 199 199 199 \n",
"港股通股票型基金 13 13 13 13 13 13 13 \n",
"被动指数型基金 177 177 177 177 177 177 168 \n",
"\n",
" ACCNETMKTCAP \n",
"股票型(子类) \n",
"增强指数型基金 63 \n",
"普通股票型基金 205 \n",
"港股通股票型基金 12 \n",
"被动指数型基金 328 "
"增强指数型基金 54 \n",
"普通股票型基金 199 \n",
"港股通股票型基金 13 \n",
"被动指数型基金 177 "
]
},
"execution_count": 86,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
......@@ -989,7 +989,7 @@
},
{
"cell_type": "code",
"execution_count": 87,
"execution_count": 11,
"id": "cf8394c6-c0d2-4c28-a803-7597fbebadb2",
"metadata": {},
"outputs": [],
......@@ -1000,14 +1000,14 @@
"\n",
"start_dt = \"2015-01-31\"\n",
"final_trade_dt = \"2021-11-09\"\n",
"nav_type = \"REPAIRUNITNAV\"\n",
"nav_type = \"ACCUNITNAV\"\n",
"\n",
"rebalance_dates = [d.strftime(\"%Y%m%d\") for d in makeSchedule(start_dt, final_trade_dt, tenor=\"3M\", calendar=\"china.sse\", dateRule=BizDayConventions.ModifiedFollowing)]"
]
},
{
"cell_type": "code",
"execution_count": 88,
"execution_count": 12,
"id": "66cdd0ee-91e1-42eb-9b04-f958c9286ba7",
"metadata": {},
"outputs": [
......@@ -1053,8 +1053,8 @@
" pre_trade_dt = rebalance_dates[i]\n",
" print(pre_trade_dt, trade_dt)\n",
" fund_info = create_stk_fund_info(trade_dt)\n",
" pre_nav_info = fd_derieden(fund_info.SECURITYID.tolist(), pre_trade_dt).rename(columns={nav_type: \"PRE\" + nav_type})\n",
" nav_info = fd_derieden(fund_info.SECURITYID.tolist(), trade_dt)\n",
" pre_nav_info = fd_qtfdnav(fund_info.SECURITYID.tolist(), pre_trade_dt).rename(columns={nav_type: \"PRE\" + nav_type})\n",
" nav_info = fd_qtfdnav(fund_info.SECURITYID.tolist(), trade_dt)\n",
"\n",
" total_df = pd.merge(fund_info, nav_info, on=[\"SECURITYID\"])\n",
" total_df = pd.merge(total_df, pre_nav_info, on=[\"SECURITYID\"])\n",
......@@ -1065,7 +1065,7 @@
},
{
"cell_type": "code",
"execution_count": 89,
"execution_count": 13,
"id": "82b9db84-2b77-4311-a232-48bc03dd6d81",
"metadata": {},
"outputs": [],
......@@ -1076,7 +1076,7 @@
},
{
"cell_type": "code",
"execution_count": 90,
"execution_count": 14,
"id": "a6f34c58-5c01-4c27-b206-60efcf35302e",
"metadata": {},
"outputs": [
......@@ -1117,199 +1117,199 @@
" <tbody>\n",
" <tr>\n",
" <th>20150430</th>\n",
" <td>0.373081</td>\n",
" <td>0.445309</td>\n",
" <td>NaN</td>\n",
" <td>0.399033</td>\n",
" <td>0.326410</td>\n",
" <td>0.392626</td>\n",
" <td>0.120673</td>\n",
" <td>0.356425</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20150731</th>\n",
" <td>-0.150522</td>\n",
" <td>-0.127085</td>\n",
" <td>-0.125821</td>\n",
" <td>-0.115242</td>\n",
" <td>NaN</td>\n",
" <td>-0.159062</td>\n",
" <td>-0.127597</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20151030</th>\n",
" <td>-0.062868</td>\n",
" <td>0.000142</td>\n",
" <td>-0.054703</td>\n",
" <td>-0.000292</td>\n",
" <td>NaN</td>\n",
" <td>-0.064587</td>\n",
" <td>-0.052440</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160129</th>\n",
" <td>-0.154214</td>\n",
" <td>-0.172297</td>\n",
" <td>-0.132068</td>\n",
" <td>-0.169489</td>\n",
" <td>NaN</td>\n",
" <td>-0.177011</td>\n",
" <td>-0.157568</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160429</th>\n",
" <td>0.088368</td>\n",
" <td>0.101380</td>\n",
" <td>0.077514</td>\n",
" <td>0.099610</td>\n",
" <td>NaN</td>\n",
" <td>0.084537</td>\n",
" <td>0.077030</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160729</th>\n",
" <td>0.047092</td>\n",
" <td>0.055730</td>\n",
" <td>0.041355</td>\n",
" <td>0.054757</td>\n",
" <td>0.000000</td>\n",
" <td>0.037961</td>\n",
" <td>0.032574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20161031</th>\n",
" <td>0.041936</td>\n",
" <td>0.035465</td>\n",
" <td>0.037233</td>\n",
" <td>0.036699</td>\n",
" <td>0.033208</td>\n",
" <td>0.036679</td>\n",
" <td>0.032171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170126</th>\n",
" <td>0.000413</td>\n",
" <td>-0.035175</td>\n",
" <td>-0.000845</td>\n",
" <td>-0.034765</td>\n",
" <td>0.032578</td>\n",
" <td>-0.015172</td>\n",
" <td>-0.016280</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170428</th>\n",
" <td>0.017795</td>\n",
" <td>0.033252</td>\n",
" <td>0.016505</td>\n",
" <td>0.033313</td>\n",
" <td>0.079169</td>\n",
" <td>0.005582</td>\n",
" <td>0.002290</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170731</th>\n",
" <td>0.075612</td>\n",
" <td>0.048354</td>\n",
" <td>0.069742</td>\n",
" <td>0.047435</td>\n",
" <td>0.098230</td>\n",
" <td>0.049566</td>\n",
" <td>0.045168</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20171031</th>\n",
" <td>0.064314</td>\n",
" <td>0.087513</td>\n",
" <td>0.056767</td>\n",
" <td>0.086812</td>\n",
" <td>0.048476</td>\n",
" <td>0.059402</td>\n",
" <td>0.047590</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180131</th>\n",
" <td>0.035647</td>\n",
" <td>0.001016</td>\n",
" <td>0.066222</td>\n",
" <td>0.000188</td>\n",
" <td>0.033199</td>\n",
" <td>0.000486</td>\n",
" <td>0.066012</td>\n",
" <td>-0.003070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180427</th>\n",
" <td>-0.090244</td>\n",
" <td>-0.055925</td>\n",
" <td>-0.084825</td>\n",
" <td>-0.070153</td>\n",
" <td>-0.082644</td>\n",
" <td>-0.054609</td>\n",
" <td>-0.083867</td>\n",
" <td>-0.063916</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180731</th>\n",
" <td>-0.049883</td>\n",
" <td>-0.058483</td>\n",
" <td>-0.007869</td>\n",
" <td>-0.075832</td>\n",
" <td>-0.044194</td>\n",
" <td>-0.056960</td>\n",
" <td>-0.007577</td>\n",
" <td>-0.065339</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20181031</th>\n",
" <td>-0.125866</td>\n",
" <td>-0.154263</td>\n",
" <td>-0.143018</td>\n",
" <td>-0.127678</td>\n",
" <td>-0.110353</td>\n",
" <td>-0.149433</td>\n",
" <td>-0.139360</td>\n",
" <td>-0.105873</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190131</th>\n",
" <td>0.006905</td>\n",
" <td>0.017684</td>\n",
" <td>0.041734</td>\n",
" <td>-0.004245</td>\n",
" <td>0.006840</td>\n",
" <td>0.017157</td>\n",
" <td>0.041091</td>\n",
" <td>-0.001687</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190430</th>\n",
" <td>0.227508</td>\n",
" <td>0.234431</td>\n",
" <td>0.100768</td>\n",
" <td>0.232490</td>\n",
" <td>0.201311</td>\n",
" <td>0.225688</td>\n",
" <td>0.096962</td>\n",
" <td>0.190603</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190731</th>\n",
" <td>-0.002496</td>\n",
" <td>0.017587</td>\n",
" <td>-0.013597</td>\n",
" <td>-0.017734</td>\n",
" <td>-0.002981</td>\n",
" <td>0.016860</td>\n",
" <td>-0.013313</td>\n",
" <td>-0.012603</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20191031</th>\n",
" <td>0.027008</td>\n",
" <td>0.071754</td>\n",
" <td>0.030307</td>\n",
" <td>0.021154</td>\n",
" <td>0.020587</td>\n",
" <td>0.069805</td>\n",
" <td>0.029064</td>\n",
" <td>0.017692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200123</th>\n",
" <td>0.063628</td>\n",
" <td>0.122061</td>\n",
" <td>0.048563</td>\n",
" <td>0.072224</td>\n",
" <td>0.055195</td>\n",
" <td>0.119991</td>\n",
" <td>0.046086</td>\n",
" <td>0.065955</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200430</th>\n",
" <td>0.011756</td>\n",
" <td>0.039897</td>\n",
" <td>-0.044257</td>\n",
" <td>-0.003223</td>\n",
" <td>0.010377</td>\n",
" <td>0.038955</td>\n",
" <td>-0.044135</td>\n",
" <td>-0.003890</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200731</th>\n",
" <td>0.258409</td>\n",
" <td>0.332945</td>\n",
" <td>0.230487</td>\n",
" <td>0.252309</td>\n",
" <td>0.228676</td>\n",
" <td>0.323376</td>\n",
" <td>0.222455</td>\n",
" <td>0.205336</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20201030</th>\n",
" <td>-0.002921</td>\n",
" <td>0.012172</td>\n",
" <td>0.008833</td>\n",
" <td>-0.020099</td>\n",
" <td>-0.001362</td>\n",
" <td>0.012023</td>\n",
" <td>0.004707</td>\n",
" <td>-0.014052</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210129</th>\n",
" <td>0.116040</td>\n",
" <td>0.168308</td>\n",
" <td>0.190279</td>\n",
" <td>0.095697</td>\n",
" <td>0.101343</td>\n",
" <td>0.164106</td>\n",
" <td>0.181915</td>\n",
" <td>0.091726</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210430</th>\n",
" <td>-0.014573</td>\n",
" <td>-0.014868</td>\n",
" <td>-0.000492</td>\n",
" <td>-0.014275</td>\n",
" <td>-0.013017</td>\n",
" <td>-0.014452</td>\n",
" <td>0.001314</td>\n",
" <td>-0.017032</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210730</th>\n",
" <td>-0.002418</td>\n",
" <td>0.081573</td>\n",
" <td>-0.044329</td>\n",
" <td>0.012424</td>\n",
" <td>0.004944</td>\n",
" <td>0.082310</td>\n",
" <td>-0.046534</td>\n",
" <td>0.014650</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20211029</th>\n",
" <td>0.027797</td>\n",
" <td>0.009757</td>\n",
" <td>-0.033858</td>\n",
" <td>0.023799</td>\n",
" <td>0.026994</td>\n",
" <td>0.009639</td>\n",
" <td>-0.031550</td>\n",
" <td>0.017106</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20211109</th>\n",
" <td>-0.007915</td>\n",
" <td>0.003048</td>\n",
" <td>-0.012938</td>\n",
" <td>-0.001889</td>\n",
" <td>-0.006897</td>\n",
" <td>0.003223</td>\n",
" <td>-0.013295</td>\n",
" <td>-0.001614</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -1318,37 +1318,37 @@
"text/plain": [
"股票型(子类) 增强指数型基金 普通股票型基金 港股通股票型基金 被动指数型基金\n",
"level_0 \n",
"20150430 0.373081 0.445309 NaN 0.399033\n",
"20150731 -0.150522 -0.127085 NaN -0.159062\n",
"20151030 -0.062868 0.000142 NaN -0.064587\n",
"20160129 -0.154214 -0.172297 NaN -0.177011\n",
"20160429 0.088368 0.101380 NaN 0.084537\n",
"20160729 0.047092 0.055730 0.000000 0.037961\n",
"20161031 0.041936 0.035465 0.033208 0.036679\n",
"20170126 0.000413 -0.035175 0.032578 -0.015172\n",
"20170428 0.017795 0.033252 0.079169 0.005582\n",
"20170731 0.075612 0.048354 0.098230 0.049566\n",
"20171031 0.064314 0.087513 0.048476 0.059402\n",
"20180131 0.035647 0.001016 0.066222 0.000188\n",
"20180427 -0.090244 -0.055925 -0.084825 -0.070153\n",
"20180731 -0.049883 -0.058483 -0.007869 -0.075832\n",
"20181031 -0.125866 -0.154263 -0.143018 -0.127678\n",
"20190131 0.006905 0.017684 0.041734 -0.004245\n",
"20190430 0.227508 0.234431 0.100768 0.232490\n",
"20190731 -0.002496 0.017587 -0.013597 -0.017734\n",
"20191031 0.027008 0.071754 0.030307 0.021154\n",
"20200123 0.063628 0.122061 0.048563 0.072224\n",
"20200430 0.011756 0.039897 -0.044257 -0.003223\n",
"20200731 0.258409 0.332945 0.230487 0.252309\n",
"20201030 -0.002921 0.012172 0.008833 -0.020099\n",
"20210129 0.116040 0.168308 0.190279 0.095697\n",
"20210430 -0.014573 -0.014868 -0.000492 -0.014275\n",
"20210730 -0.002418 0.081573 -0.044329 0.012424\n",
"20211029 0.027797 0.009757 -0.033858 0.023799\n",
"20211109 -0.007915 0.003048 -0.012938 -0.001889"
"20150430 0.326410 0.392626 0.120673 0.356425\n",
"20150731 -0.125821 -0.115242 NaN -0.127597\n",
"20151030 -0.054703 -0.000292 NaN -0.052440\n",
"20160129 -0.132068 -0.169489 NaN -0.157568\n",
"20160429 0.077514 0.099610 NaN 0.077030\n",
"20160729 0.041355 0.054757 0.000000 0.032574\n",
"20161031 0.037233 0.036699 0.033208 0.032171\n",
"20170126 -0.000845 -0.034765 0.032578 -0.016280\n",
"20170428 0.016505 0.033313 0.079169 0.002290\n",
"20170731 0.069742 0.047435 0.098230 0.045168\n",
"20171031 0.056767 0.086812 0.048476 0.047590\n",
"20180131 0.033199 0.000486 0.066012 -0.003070\n",
"20180427 -0.082644 -0.054609 -0.083867 -0.063916\n",
"20180731 -0.044194 -0.056960 -0.007577 -0.065339\n",
"20181031 -0.110353 -0.149433 -0.139360 -0.105873\n",
"20190131 0.006840 0.017157 0.041091 -0.001687\n",
"20190430 0.201311 0.225688 0.096962 0.190603\n",
"20190731 -0.002981 0.016860 -0.013313 -0.012603\n",
"20191031 0.020587 0.069805 0.029064 0.017692\n",
"20200123 0.055195 0.119991 0.046086 0.065955\n",
"20200430 0.010377 0.038955 -0.044135 -0.003890\n",
"20200731 0.228676 0.323376 0.222455 0.205336\n",
"20201030 -0.001362 0.012023 0.004707 -0.014052\n",
"20210129 0.101343 0.164106 0.181915 0.091726\n",
"20210430 -0.013017 -0.014452 0.001314 -0.017032\n",
"20210730 0.004944 0.082310 -0.046534 0.014650\n",
"20211029 0.026994 0.009639 -0.031550 0.017106\n",
"20211109 -0.006897 0.003223 -0.013295 -0.001614"
]
},
"execution_count": 90,
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
......
......@@ -15,7 +15,7 @@
" fd_typeclass,\n",
" fd_hshkiport,\n",
" fd_assetportfolio,\n",
" fd_derieden,\n",
" fd_qtfdnav,\n",
" nearest_report_date\n",
")\n",
"import pandas as pd\n",
......@@ -57,7 +57,7 @@
"source": [
"# 获取所有目标混合型基金(清算结束日期晚于当前日)\n",
"\n",
"security_ids = fd_alive_funds(report_dates_begin, 2)"
"security_ids = fd_alive_funds(report_dates_begin, 202)"
]
},
{
......@@ -155,42 +155,6 @@
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1030000001</td>\n",
" <td>华夏复兴混合型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>000031</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.1</td>\n",
" <td>偏股型基金</td>\n",
" <td>2.1.1</td>\n",
" <td>偏股型基金(股票上限95%)</td>\n",
" <td>85.680000</td>\n",
" <td>0.0</td>\n",
" <td>高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1030000001</td>\n",
" <td>华夏复兴混合型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>000031</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.1</td>\n",
" <td>偏股型基金</td>\n",
" <td>2.1.3</td>\n",
" <td>偏股型基金(股票上下限60%-95%)</td>\n",
" <td>85.680000</td>\n",
" <td>0.0</td>\n",
" <td>高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1030000006</td>\n",
" <td>华夏成长证券投资基金</td>\n",
" <td>None</td>\n",
......@@ -208,7 +172,7 @@
" <td>中高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <th>1</th>\n",
" <td>1030000007</td>\n",
" <td>华夏大盘精选证券投资基金</td>\n",
" <td>华夏大盘精选混合</td>\n",
......@@ -226,20 +190,56 @@
" <td>高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1030000016</td>\n",
" <td>华夏回报证券投资基金</td>\n",
" <td>华夏回报混合</td>\n",
" <td>002001</td>\n",
" <td>证券投资基金</td>\n",
" <td>收益型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.9</td>\n",
" <td>特定策略混合型基金</td>\n",
" <td>2.9.1</td>\n",
" <td>特定策略混合型基金</td>\n",
" <td>56.847500</td>\n",
" <td>0.0</td>\n",
" <td>中高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1030000016</td>\n",
" <td>华夏回报证券投资基金</td>\n",
" <td>华夏回报混合</td>\n",
" <td>002001</td>\n",
" <td>证券投资基金</td>\n",
" <td>收益型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.6</td>\n",
" <td>绝对收益目标基金</td>\n",
" <td>2.6.3</td>\n",
" <td>灵活策略基金(A类)</td>\n",
" <td>56.847500</td>\n",
" <td>0.0</td>\n",
" <td>中高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1030000008</td>\n",
" <td>华夏优势增长混合型证券投资基金</td>\n",
" <td>1030000017</td>\n",
" <td>华夏红利混合型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>000021</td>\n",
" <td>002011</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>分红型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.1</td>\n",
" <td>偏股型基金</td>\n",
" <td>2.1.1</td>\n",
" <td>偏股型基金(股票上限95%)</td>\n",
" <td>79.129167</td>\n",
" <td>2.2</td>\n",
" <td>灵活配置型基金</td>\n",
" <td>2.2.3</td>\n",
" <td>灵活配置型基金(股票上限95%)(A类)</td>\n",
" <td>83.277500</td>\n",
" <td>0.0</td>\n",
" <td>高权益仓位混合型基金</td>\n",
" </tr>\n",
......@@ -262,141 +262,141 @@
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>255</th>\n",
" <td>1030000112</td>\n",
" <td>国投瑞银融华债券型证券投资基金</td>\n",
" <th>175</th>\n",
" <td>1030000302</td>\n",
" <td>华泰柏瑞积极成长混合型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>121001</td>\n",
" <td>460002</td>\n",
" <td>证券投资基金</td>\n",
" <td>收益型</td>\n",
" <td>积极成长型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.4</td>\n",
" <td>偏型基金</td>\n",
" <td>2.4.1</td>\n",
" <td>偏债型基金</td>\n",
" <td>38.870833</td>\n",
" <td>2.1</td>\n",
" <td>偏型基金</td>\n",
" <td>2.1.1</td>\n",
" <td>偏股型基金(股票上限95%)</td>\n",
" <td>84.670000</td>\n",
" <td>0.0</td>\n",
" <td>中权益仓位混合型基金</td>\n",
" <td>高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>176</th>\n",
" <td>1030000383</td>\n",
" <td>汇丰晋信动态策略混合型证券投资基金</td>\n",
" <td>汇丰晋信动态策略混合</td>\n",
" <td>540003</td>\n",
" <td>证券投资基金</td>\n",
" <td>增值型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.1</td>\n",
" <td>偏股型基金</td>\n",
" <td>2.1.1</td>\n",
" <td>偏股型基金(股票上限95%)</td>\n",
" <td>85.286667</td>\n",
" <td>0.0</td>\n",
" <td>高权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>256</th>\n",
" <td>1030001114</td>\n",
" <td>银河强化收益债券型证券投资基金</td>\n",
" <th>177</th>\n",
" <td>1030000384</td>\n",
" <td>汇丰晋信2026生命周期证券投资基金</td>\n",
" <td>None</td>\n",
" <td>519676</td>\n",
" <td>540004</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>3</td>\n",
" <td>债券基金</td>\n",
" <td>3.2</td>\n",
" <td>普通债券型基金</td>\n",
" <td>3.2.3</td>\n",
" <td>普通债券型基金(二级A类)</td>\n",
" <td>10.041667</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.10</td>\n",
" <td>其他混合型基金</td>\n",
" <td>2.10.1</td>\n",
" <td>其他混合型基金</td>\n",
" <td>80.030833</td>\n",
" <td>0.0</td>\n",
" <td>权益仓位混合型基金</td>\n",
" <td>权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>257</th>\n",
" <td>1030000124</td>\n",
" <td>银河收益证券投资基金</td>\n",
" <th>178</th>\n",
" <td>1030000256</td>\n",
" <td>兴全可转债混合型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>151002</td>\n",
" <td>340001</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>收益型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.4</td>\n",
" <td>偏债型基金</td>\n",
" <td>2.4.1</td>\n",
" <td>偏债型基金</td>\n",
" <td>5.093333</td>\n",
" <td>21.677500</td>\n",
" <td>0.0</td>\n",
" <td>低权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>258</th>\n",
" <td>1030000180</td>\n",
" <td>南方宝元债券型基金</td>\n",
" <td>南方宝元债券</td>\n",
" <td>202101</td>\n",
" <th>179</th>\n",
" <td>1030000147</td>\n",
" <td>泰达宏利风险预算混合型证券投资基金</td>\n",
" <td>None</td>\n",
" <td>162205</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>收益型</td>\n",
" <td>2</td>\n",
" <td>混合基金</td>\n",
" <td>2.4</td>\n",
" <td>偏债型基金</td>\n",
" <td>2.4.1</td>\n",
" <td>偏债型基金</td>\n",
" <td>30.825000</td>\n",
" <td>40.380000</td>\n",
" <td>0.0</td>\n",
" <td>中权益仓位混合型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>259</th>\n",
" <td>1030001010</td>\n",
" <td>汇添富双利债券型证券投资基金</td>\n",
" <td>汇添富双利债券</td>\n",
" <td>470018</td>\n",
" <td>证券投资基金</td>\n",
" <td>稳健成长型</td>\n",
" <td>3</td>\n",
" <td>债券基金</td>\n",
" <td>3.2</td>\n",
" <td>普通债券型基金</td>\n",
" <td>3.2.3</td>\n",
" <td>普通债券型基金(二级A类)</td>\n",
" <td>5.393333</td>\n",
" <td>0.0</td>\n",
" <td>低权益仓位混合型基金</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>260 rows × 15 columns</p>\n",
"<p>180 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \\\n",
"0 1030000001 华夏复兴混合型证券投资基金 None 000031 证券投资基金 稳健成长型 \n",
"1 1030000001 华夏复兴混合型证券投资基金 None 000031 证券投资基金 稳健成长型 \n",
"2 1030000006 华夏成长证券投资基金 None 000001 证券投资基金 成长型 \n",
"3 1030000007 华夏大盘精选证券投资基金 华夏大盘精选混合 000011 证券投资基金 增值型 \n",
"4 1030000008 华夏优势增长混合型证券投资基金 None 000021 证券投资基金 稳健成长型 \n",
"0 1030000006 华夏成长证券投资基金 None 000001 证券投资基金 成长型 \n",
"1 1030000007 华夏大盘精选证券投资基金 华夏大盘精选混合 000011 证券投资基金 增值型 \n",
"2 1030000016 华夏回报证券投资基金 华夏回报混合 002001 证券投资基金 收益型 \n",
"3 1030000016 华夏回报证券投资基金 华夏回报混合 002001 证券投资基金 收益型 \n",
"4 1030000017 华夏红利混合型证券投资基金 None 002011 证券投资基金 分红型 \n",
".. ... ... ... ... ... ... \n",
"255 1030000112 国投瑞银融华债券型证券投资基金 None 121001 证券投资基金 收益型 \n",
"256 1030001114 银河强化收益债券型证券投资基金 None 519676 证券投资基金 稳健成长型 \n",
"257 1030000124 银河收益证券投资基金 None 151002 证券投资基金 稳健成长型 \n",
"258 1030000180 南方宝元债券型基金 南方宝元债券 202101 证券投资基金 稳健成长型 \n",
"259 1030001010 汇添富双利债券型证券投资基金 汇添富双利债券 470018 证券投资基金 稳健成长型 \n",
"175 1030000302 华泰柏瑞积极成长混合型证券投资基金 None 460002 证券投资基金 积极成长型 \n",
"176 1030000383 汇丰晋信动态策略混合型证券投资基金 汇丰晋信动态策略混合 540003 证券投资基金 增值型 \n",
"177 1030000384 汇丰晋信2026生命周期证券投资基金 None 540004 证券投资基金 稳健成长型 \n",
"178 1030000256 兴全可转债混合型证券投资基金 None 340001 证券投资基金 收益型 \n",
"179 1030000147 泰达宏利风险预算混合型证券投资基金 None 162205 证券投资基金 收益型 \n",
"\n",
" L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME EQUITYINVERTO \\\n",
"0 2 混合基金 2.1 偏股型基金 2.1.1 偏股型基金(股票上限95%) 85.680000 \n",
"1 2 混合基金 2.1 偏股型基金 2.1.3 偏股型基金(股票上下限60%-95%) 85.680000 \n",
"2 2 混合基金 2.1 偏股型基金 2.1.2 偏股型基金(股票上限80%) 65.283333 \n",
"3 2 混合基金 2.1 偏股型基金 2.1.1 偏股型基金(股票上限95%) 82.620833 \n",
"4 2 混合基金 2.1 偏股型基金 2.1.1 偏股型基金(股票上限95%) 79.129167 \n",
".. ... ... ... ... ... ... ... \n",
"255 2 混合基金 2.4 偏债型基金 2.4.1 偏债型基金 38.870833 \n",
"256 3 债券基金 3.2 普通债券型基金 3.2.3 普通债券型基金(二级A类) 10.041667 \n",
"257 2 混合基金 2.4 偏债型基金 2.4.1 偏债型基金 5.093333 \n",
"258 2 混合基金 2.4 偏债型基金 2.4.1 偏债型基金 30.825000 \n",
"259 3 债券基金 3.2 普通债券型基金 3.2.3 普通债券型基金(二级A类) 5.393333 \n",
" L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME \\\n",
"0 2 混合基金 2.1 偏股型基金 2.1.2 偏股型基金(股票上限80%) \n",
"1 2 混合基金 2.1 偏股型基金 2.1.1 偏股型基金(股票上限95%) \n",
"2 2 混合基金 2.9 特定策略混合型基金 2.9.1 特定策略混合型基金 \n",
"3 2 混合基金 2.6 绝对收益目标基金 2.6.3 灵活策略基金(A类) \n",
"4 2 混合基金 2.2 灵活配置型基金 2.2.3 灵活配置型基金(股票上限95%)(A类) \n",
".. ... ... ... ... ... ... \n",
"175 2 混合基金 2.1 偏股型基金 2.1.1 偏股型基金(股票上限95%) \n",
"176 2 混合基金 2.1 偏股型基金 2.1.1 偏股型基金(股票上限95%) \n",
"177 2 混合基金 2.10 其他混合型基金 2.10.1 其他混合型基金 \n",
"178 2 混合基金 2.4 偏债型基金 2.4.1 偏债型基金 \n",
"179 2 混合基金 2.4 偏债型基金 2.4.1 偏债型基金 \n",
"\n",
" ACCNETMKTCAP 混合型(子类) \n",
"0 0.0 高权益仓位混合型基金 \n",
"1 0.0 高权益仓位混合型基金 \n",
"2 0.0 中高权益仓位混合型基金 \n",
"3 0.0 高权益仓位混合型基金 \n",
"4 0.0 高权益仓位混合型基金 \n",
".. ... ... \n",
"255 0.0 中权益仓位混合型基金 \n",
"256 0.0 低权益仓位混合型基金 \n",
"257 0.0 低权益仓位混合型基金 \n",
"258 0.0 中权益仓位混合型基金 \n",
"259 0.0 低权益仓位混合型基金 \n",
" EQUITYINVERTO ACCNETMKTCAP 混合型(子类) \n",
"0 65.283333 0.0 中高权益仓位混合型基金 \n",
"1 82.620833 0.0 高权益仓位混合型基金 \n",
"2 56.847500 0.0 中高权益仓位混合型基金 \n",
"3 56.847500 0.0 中高权益仓位混合型基金 \n",
"4 83.277500 0.0 高权益仓位混合型基金 \n",
".. ... ... ... \n",
"175 84.670000 0.0 高权益仓位混合型基金 \n",
"176 85.286667 0.0 高权益仓位混合型基金 \n",
"177 80.030833 0.0 高权益仓位混合型基金 \n",
"178 21.677500 0.0 低权益仓位混合型基金 \n",
"179 40.380000 0.0 中权益仓位混合型基金 \n",
"\n",
"[260 rows x 15 columns]"
"[180 rows x 15 columns]"
]
},
"execution_count": 7,
......@@ -418,7 +418,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 12,
"id": "5f31e54e-ab9d-48b8-a207-8841062ec4e1",
"metadata": {},
"outputs": [],
......@@ -429,7 +429,7 @@
" report_dates_begin = nearest_report_date(date_3yrs_ago.strftime(\"%Y%m%d\"))\n",
" current_date = trade_dt.strftime(\"%Y%m%d\")\n",
" \n",
" security_ids = fd_alive_funds(report_dates_begin, 2)\n",
" security_ids = fd_alive_funds(report_dates_begin, 202)\n",
" basic_info = fd_basicinfo(security_ids, current_date)\n",
" type_info = fd_typeclass(security_ids, current_date)\n",
" hkport_info = fd_hshkiport(security_ids, report_dates_begin, current_date)\n",
......@@ -456,7 +456,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 13,
"id": "8ef7a124-f9c5-4afc-b35f-44571dea387e",
"metadata": {},
"outputs": [
......@@ -464,7 +464,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 4.83 s\n"
"Wall time: 10.7 s\n"
]
},
{
......@@ -524,54 +524,54 @@
" <tbody>\n",
" <tr>\n",
" <th>中权益仓位混合型基金</th>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>103</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>143</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>102</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" <td>139</td>\n",
" </tr>\n",
" <tr>\n",
" <th>中高权益仓位混合型基金</th>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>103</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>100</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" <td>182</td>\n",
" </tr>\n",
" <tr>\n",
" <th>低权益仓位混合型基金</th>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>425</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>507</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>418</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" <td>489</td>\n",
" </tr>\n",
" <tr>\n",
" <th>港股通混合型基金</th>\n",
......@@ -592,20 +592,20 @@
" </tr>\n",
" <tr>\n",
" <th>高权益仓位混合型基金</th>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>411</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1190</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>405</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" <td>1147</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -614,30 +614,30 @@
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \\\n",
"混合型(子类) \n",
"中权益仓位混合型基金 143 143 103 143 143 143 \n",
"中高权益仓位混合型基金 196 196 103 196 196 196 \n",
"低权益仓位混合型基金 507 507 425 507 507 507 \n",
"中权益仓位混合型基金 139 139 102 139 139 139 \n",
"中高权益仓位混合型基金 182 182 100 182 182 182 \n",
"低权益仓位混合型基金 489 489 418 489 489 489 \n",
"港股通混合型基金 17 17 6 17 17 17 \n",
"高权益仓位混合型基金 1190 1190 411 1190 1190 1190 \n",
"高权益仓位混合型基金 1147 1147 405 1147 1147 1147 \n",
"\n",
" L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME EQUITYINVERTO \\\n",
"混合型(子类) \n",
"中权益仓位混合型基金 143 143 143 143 143 143 143 \n",
"中高权益仓位混合型基金 196 196 196 196 196 196 196 \n",
"低权益仓位混合型基金 507 507 507 507 507 507 507 \n",
"中权益仓位混合型基金 139 139 139 139 139 139 139 \n",
"中高权益仓位混合型基金 182 182 182 182 182 182 182 \n",
"低权益仓位混合型基金 489 489 489 489 489 489 489 \n",
"港股通混合型基金 17 17 17 17 17 17 17 \n",
"高权益仓位混合型基金 1190 1190 1190 1190 1190 1190 1190 \n",
"高权益仓位混合型基金 1147 1147 1147 1147 1147 1147 1147 \n",
"\n",
" ACCNETMKTCAP \n",
"混合型(子类) \n",
"中权益仓位混合型基金 143 \n",
"中高权益仓位混合型基金 196 \n",
"低权益仓位混合型基金 507 \n",
"中权益仓位混合型基金 139 \n",
"中高权益仓位混合型基金 182 \n",
"低权益仓位混合型基金 489 \n",
"港股通混合型基金 17 \n",
"高权益仓位混合型基金 1190 "
"高权益仓位混合型基金 1147 "
]
},
"execution_count": 9,
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
......@@ -659,7 +659,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 16,
"id": "e6eb55c1-8e3e-4acf-a788-90e30d26623c",
"metadata": {},
"outputs": [],
......@@ -670,14 +670,14 @@
"\n",
"start_dt = \"2015-01-31\"\n",
"final_trade_dt = \"2021-11-09\"\n",
"nav_type = \"REPAIRUNITNAV\"\n",
"nav_type = \"ACCUNITNAV\"\n",
"\n",
"rebalance_dates = [d.strftime(\"%Y%m%d\") for d in makeSchedule(start_dt, final_trade_dt, tenor=\"3M\", calendar=\"china.sse\", dateRule=BizDayConventions.ModifiedFollowing)]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 17,
"id": "2b724151-9978-4130-8103-4eae0485c3e9",
"metadata": {},
"outputs": [
......@@ -723,8 +723,8 @@
" pre_trade_dt = rebalance_dates[i]\n",
" print(pre_trade_dt, trade_dt)\n",
" fund_info = create_mutua_fund_info(trade_dt)\n",
" pre_nav_info = fd_derieden(fund_info.SECURITYID.tolist(), pre_trade_dt).rename(columns={nav_type: \"PRE\" + nav_type})\n",
" nav_info = fd_derieden(fund_info.SECURITYID.tolist(), trade_dt)\n",
" pre_nav_info = fd_qtfdnav(fund_info.SECURITYID.tolist(), pre_trade_dt).rename(columns={nav_type: \"PRE\" + nav_type})\n",
" nav_info = fd_qtfdnav(fund_info.SECURITYID.tolist(), trade_dt)\n",
"\n",
" total_df = pd.merge(fund_info, nav_info, on=[\"SECURITYID\"])\n",
" total_df = pd.merge(total_df, pre_nav_info, on=[\"SECURITYID\"])\n",
......@@ -735,7 +735,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 18,
"id": "7c174454-776a-4089-be7b-dc3a06f1a071",
"metadata": {},
"outputs": [],
......@@ -746,7 +746,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 19,
"id": "a8f023ed-d9ce-4d0d-9efc-a3f76c0c434e",
"metadata": {},
"outputs": [
......@@ -789,227 +789,227 @@
" <tbody>\n",
" <tr>\n",
" <th>20150430</th>\n",
" <td>0.158706</td>\n",
" <td>0.340919</td>\n",
" <td>0.104259</td>\n",
" <td>0.066698</td>\n",
" <td>0.214053</td>\n",
" <td>0.043608</td>\n",
" <td>NaN</td>\n",
" <td>0.404668</td>\n",
" <td>0.265505</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20150731</th>\n",
" <td>-0.035837</td>\n",
" <td>-0.068951</td>\n",
" <td>0.003793</td>\n",
" <td>-0.005351</td>\n",
" <td>-0.044305</td>\n",
" <td>-0.000181</td>\n",
" <td>NaN</td>\n",
" <td>-0.119720</td>\n",
" <td>-0.082734</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20151030</th>\n",
" <td>-0.000123</td>\n",
" <td>0.007219</td>\n",
" <td>0.001074</td>\n",
" <td>0.002833</td>\n",
" <td>0.010425</td>\n",
" <td>0.006977</td>\n",
" <td>NaN</td>\n",
" <td>-0.010361</td>\n",
" <td>-0.005585</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160129</th>\n",
" <td>-0.069494</td>\n",
" <td>-0.116434</td>\n",
" <td>-0.016718</td>\n",
" <td>-0.014604</td>\n",
" <td>-0.077349</td>\n",
" <td>-0.003181</td>\n",
" <td>NaN</td>\n",
" <td>-0.161958</td>\n",
" <td>-0.107363</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160429</th>\n",
" <td>0.049689</td>\n",
" <td>0.073769</td>\n",
" <td>0.013842</td>\n",
" <td>0.024989</td>\n",
" <td>0.048838</td>\n",
" <td>0.008376</td>\n",
" <td>NaN</td>\n",
" <td>0.084470</td>\n",
" <td>0.053057</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160729</th>\n",
" <td>0.028211</td>\n",
" <td>0.033609</td>\n",
" <td>0.016797</td>\n",
" <td>0.009016</td>\n",
" <td>0.024041</td>\n",
" <td>0.017015</td>\n",
" <td>NaN</td>\n",
" <td>0.037625</td>\n",
" <td>0.022839</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20161031</th>\n",
" <td>0.026168</td>\n",
" <td>0.022514</td>\n",
" <td>0.012184</td>\n",
" <td>0.011226</td>\n",
" <td>0.016295</td>\n",
" <td>0.007070</td>\n",
" <td>NaN</td>\n",
" <td>0.025027</td>\n",
" <td>0.014460</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170126</th>\n",
" <td>-0.027615</td>\n",
" <td>-0.026839</td>\n",
" <td>-0.007877</td>\n",
" <td>-0.011338</td>\n",
" <td>-0.017651</td>\n",
" <td>-0.005629</td>\n",
" <td>NaN</td>\n",
" <td>-0.041254</td>\n",
" <td>-0.032592</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170428</th>\n",
" <td>0.008647</td>\n",
" <td>0.033472</td>\n",
" <td>0.007420</td>\n",
" <td>0.001123</td>\n",
" <td>0.021778</td>\n",
" <td>0.011195</td>\n",
" <td>NaN</td>\n",
" <td>0.033349</td>\n",
" <td>0.018230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170731</th>\n",
" <td>0.031883</td>\n",
" <td>0.033564</td>\n",
" <td>0.021043</td>\n",
" <td>0.025774</td>\n",
" <td>0.026764</td>\n",
" <td>0.022740</td>\n",
" <td>NaN</td>\n",
" <td>0.034400</td>\n",
" <td>0.023230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20171031</th>\n",
" <td>0.048306</td>\n",
" <td>0.077241</td>\n",
" <td>0.024545</td>\n",
" <td>0.037152</td>\n",
" <td>0.056485</td>\n",
" <td>0.025287</td>\n",
" <td>NaN</td>\n",
" <td>0.083473</td>\n",
" <td>0.061019</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180131</th>\n",
" <td>0.021488</td>\n",
" <td>0.022060</td>\n",
" <td>0.017642</td>\n",
" <td>0.019102</td>\n",
" <td>0.016602</td>\n",
" <td>0.019774</td>\n",
" <td>NaN</td>\n",
" <td>0.000540</td>\n",
" <td>-0.001482</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180427</th>\n",
" <td>-0.056714</td>\n",
" <td>-0.055636</td>\n",
" <td>-0.019904</td>\n",
" <td>-0.076295</td>\n",
" <td>-0.060565</td>\n",
" <td>-0.047391</td>\n",
" <td>-0.041170</td>\n",
" <td>-0.021450</td>\n",
" <td>-0.068943</td>\n",
" <td>-0.046881</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180731</th>\n",
" <td>-0.030961</td>\n",
" <td>-0.038046</td>\n",
" <td>-0.004138</td>\n",
" <td>0.013507</td>\n",
" <td>-0.052843</td>\n",
" <td>-0.027117</td>\n",
" <td>-0.029010</td>\n",
" <td>-0.004158</td>\n",
" <td>-0.014433</td>\n",
" <td>-0.039495</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20181031</th>\n",
" <td>-0.090266</td>\n",
" <td>-0.115356</td>\n",
" <td>-0.022268</td>\n",
" <td>-0.107380</td>\n",
" <td>-0.146404</td>\n",
" <td>-0.077868</td>\n",
" <td>-0.090271</td>\n",
" <td>-0.019140</td>\n",
" <td>-0.095182</td>\n",
" <td>-0.118182</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190131</th>\n",
" <td>0.013078</td>\n",
" <td>0.010755</td>\n",
" <td>0.015465</td>\n",
" <td>0.022036</td>\n",
" <td>0.012297</td>\n",
" <td>0.012195</td>\n",
" <td>0.006405</td>\n",
" <td>0.014700</td>\n",
" <td>0.016898</td>\n",
" <td>0.009405</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190430</th>\n",
" <td>0.105636</td>\n",
" <td>0.178514</td>\n",
" <td>0.042897</td>\n",
" <td>0.149138</td>\n",
" <td>0.217983</td>\n",
" <td>0.088672</td>\n",
" <td>0.147439</td>\n",
" <td>0.035059</td>\n",
" <td>0.103145</td>\n",
" <td>0.169927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190731</th>\n",
" <td>0.017517</td>\n",
" <td>0.016684</td>\n",
" <td>0.023167</td>\n",
" <td>-0.020537</td>\n",
" <td>0.016632</td>\n",
" <td>0.019261</td>\n",
" <td>0.014150</td>\n",
" <td>0.022591</td>\n",
" <td>-0.016147</td>\n",
" <td>0.012684</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20191031</th>\n",
" <td>0.043256</td>\n",
" <td>0.049355</td>\n",
" <td>0.017903</td>\n",
" <td>0.039588</td>\n",
" <td>0.075795</td>\n",
" <td>0.036197</td>\n",
" <td>0.040109</td>\n",
" <td>0.015278</td>\n",
" <td>0.037622</td>\n",
" <td>0.063180</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200123</th>\n",
" <td>0.064860</td>\n",
" <td>0.083217</td>\n",
" <td>0.031383</td>\n",
" <td>0.051023</td>\n",
" <td>0.110758</td>\n",
" <td>0.051530</td>\n",
" <td>0.070894</td>\n",
" <td>0.027145</td>\n",
" <td>0.052834</td>\n",
" <td>0.092840</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200430</th>\n",
" <td>0.024767</td>\n",
" <td>0.034289</td>\n",
" <td>0.021946</td>\n",
" <td>0.004451</td>\n",
" <td>0.042561</td>\n",
" <td>0.022973</td>\n",
" <td>0.030265</td>\n",
" <td>0.020626</td>\n",
" <td>0.003993</td>\n",
" <td>0.034723</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200731</th>\n",
" <td>0.142981</td>\n",
" <td>0.237062</td>\n",
" <td>0.066755</td>\n",
" <td>0.229331</td>\n",
" <td>0.314872</td>\n",
" <td>0.112013</td>\n",
" <td>0.205354</td>\n",
" <td>0.059290</td>\n",
" <td>0.213703</td>\n",
" <td>0.267976</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20201030</th>\n",
" <td>0.010262</td>\n",
" <td>0.006345</td>\n",
" <td>0.014590</td>\n",
" <td>0.007205</td>\n",
" <td>0.001186</td>\n",
" <td>0.010524</td>\n",
" <td>0.008581</td>\n",
" <td>0.013794</td>\n",
" <td>0.006292</td>\n",
" <td>0.000836</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210129</th>\n",
" <td>0.072701</td>\n",
" <td>0.121873</td>\n",
" <td>0.038705</td>\n",
" <td>0.187807</td>\n",
" <td>0.155200</td>\n",
" <td>0.057368</td>\n",
" <td>0.106508</td>\n",
" <td>0.036475</td>\n",
" <td>0.175894</td>\n",
" <td>0.137706</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210430</th>\n",
" <td>-0.000810</td>\n",
" <td>-0.014574</td>\n",
" <td>0.007606</td>\n",
" <td>-0.019498</td>\n",
" <td>-0.017729</td>\n",
" <td>0.000727</td>\n",
" <td>-0.014148</td>\n",
" <td>0.007006</td>\n",
" <td>-0.019456</td>\n",
" <td>-0.015653</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210730</th>\n",
" <td>0.029281</td>\n",
" <td>0.049804</td>\n",
" <td>0.017636</td>\n",
" <td>-0.027494</td>\n",
" <td>0.085796</td>\n",
" <td>0.020952</td>\n",
" <td>0.042120</td>\n",
" <td>0.015316</td>\n",
" <td>-0.025816</td>\n",
" <td>0.076964</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20211029</th>\n",
" <td>0.016123</td>\n",
" <td>0.012236</td>\n",
" <td>0.015305</td>\n",
" <td>-0.016214</td>\n",
" <td>0.013323</td>\n",
" <td>0.014655</td>\n",
" <td>0.010647</td>\n",
" <td>0.013640</td>\n",
" <td>-0.015106</td>\n",
" <td>0.011272</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20211109</th>\n",
" <td>-0.000163</td>\n",
" <td>0.001466</td>\n",
" <td>0.001518</td>\n",
" <td>-0.017195</td>\n",
" <td>0.003296</td>\n",
" <td>0.000005</td>\n",
" <td>0.002604</td>\n",
" <td>0.001100</td>\n",
" <td>-0.016437</td>\n",
" <td>0.002684</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -1018,37 +1018,37 @@
"text/plain": [
"混合型(子类) 中权益仓位混合型基金 中高权益仓位混合型基金 低权益仓位混合型基金 港股通混合型基金 高权益仓位混合型基金\n",
"level_0 \n",
"20150430 0.158706 0.340919 0.104259 NaN 0.404668\n",
"20150731 -0.035837 -0.068951 0.003793 NaN -0.119720\n",
"20151030 -0.000123 0.007219 0.001074 NaN -0.010361\n",
"20160129 -0.069494 -0.116434 -0.016718 NaN -0.161958\n",
"20160429 0.049689 0.073769 0.013842 NaN 0.084470\n",
"20160729 0.028211 0.033609 0.016797 NaN 0.037625\n",
"20161031 0.026168 0.022514 0.012184 NaN 0.025027\n",
"20170126 -0.027615 -0.026839 -0.007877 NaN -0.041254\n",
"20170428 0.008647 0.033472 0.007420 NaN 0.033349\n",
"20170731 0.031883 0.033564 0.021043 NaN 0.034400\n",
"20171031 0.048306 0.077241 0.024545 NaN 0.083473\n",
"20180131 0.021488 0.022060 0.017642 NaN 0.000540\n",
"20180427 -0.056714 -0.055636 -0.019904 -0.076295 -0.060565\n",
"20180731 -0.030961 -0.038046 -0.004138 0.013507 -0.052843\n",
"20181031 -0.090266 -0.115356 -0.022268 -0.107380 -0.146404\n",
"20190131 0.013078 0.010755 0.015465 0.022036 0.012297\n",
"20190430 0.105636 0.178514 0.042897 0.149138 0.217983\n",
"20190731 0.017517 0.016684 0.023167 -0.020537 0.016632\n",
"20191031 0.043256 0.049355 0.017903 0.039588 0.075795\n",
"20200123 0.064860 0.083217 0.031383 0.051023 0.110758\n",
"20200430 0.024767 0.034289 0.021946 0.004451 0.042561\n",
"20200731 0.142981 0.237062 0.066755 0.229331 0.314872\n",
"20201030 0.010262 0.006345 0.014590 0.007205 0.001186\n",
"20210129 0.072701 0.121873 0.038705 0.187807 0.155200\n",
"20210430 -0.000810 -0.014574 0.007606 -0.019498 -0.017729\n",
"20210730 0.029281 0.049804 0.017636 -0.027494 0.085796\n",
"20211029 0.016123 0.012236 0.015305 -0.016214 0.013323\n",
"20211109 -0.000163 0.001466 0.001518 -0.017195 0.003296"
"20150430 0.066698 0.214053 0.043608 NaN 0.265505\n",
"20150731 -0.005351 -0.044305 -0.000181 NaN -0.082734\n",
"20151030 0.002833 0.010425 0.006977 NaN -0.005585\n",
"20160129 -0.014604 -0.077349 -0.003181 NaN -0.107363\n",
"20160429 0.024989 0.048838 0.008376 NaN 0.053057\n",
"20160729 0.009016 0.024041 0.017015 NaN 0.022839\n",
"20161031 0.011226 0.016295 0.007070 NaN 0.014460\n",
"20170126 -0.011338 -0.017651 -0.005629 NaN -0.032592\n",
"20170428 0.001123 0.021778 0.011195 NaN 0.018230\n",
"20170731 0.025774 0.026764 0.022740 NaN 0.023230\n",
"20171031 0.037152 0.056485 0.025287 NaN 0.061019\n",
"20180131 0.019102 0.016602 0.019774 NaN -0.001482\n",
"20180427 -0.047391 -0.041170 -0.021450 -0.068943 -0.046881\n",
"20180731 -0.027117 -0.029010 -0.004158 -0.014433 -0.039495\n",
"20181031 -0.077868 -0.090271 -0.019140 -0.095182 -0.118182\n",
"20190131 0.012195 0.006405 0.014700 0.016898 0.009405\n",
"20190430 0.088672 0.147439 0.035059 0.103145 0.169927\n",
"20190731 0.019261 0.014150 0.022591 -0.016147 0.012684\n",
"20191031 0.036197 0.040109 0.015278 0.037622 0.063180\n",
"20200123 0.051530 0.070894 0.027145 0.052834 0.092840\n",
"20200430 0.022973 0.030265 0.020626 0.003993 0.034723\n",
"20200731 0.112013 0.205354 0.059290 0.213703 0.267976\n",
"20201030 0.010524 0.008581 0.013794 0.006292 0.000836\n",
"20210129 0.057368 0.106508 0.036475 0.175894 0.137706\n",
"20210430 0.000727 -0.014148 0.007006 -0.019456 -0.015653\n",
"20210730 0.020952 0.042120 0.015316 -0.025816 0.076964\n",
"20211029 0.014655 0.010647 0.013640 -0.015106 0.011272\n",
"20211109 0.000005 0.002604 0.001100 -0.016437 0.002684"
]
},
"execution_count": 13,
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
......
......@@ -15,7 +15,7 @@
" fd_typeclass,\n",
" fd_hshkiport,\n",
" fd_assetportfolio,\n",
" fd_derieden,\n",
" fd_qtfdnav,\n",
" nearest_report_date\n",
")\n",
"import pandas as pd\n",
......@@ -40,1040 +40,19 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 7,
"id": "07275364-e308-433e-9c3a-fe78ad8e9daa",
"metadata": {},
"outputs": [],
"source": [
"# 获取所有目标债券型基金(清算结束日期晚于当前日)\n",
"\n",
"sec_codes = fd_alive_funds(report_dates_begin, 2, 203)"
"security_ids = fd_alive_funds(report_dates_begin, 203)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ff5fb125-2ae9-4cc9-a1fd-22f52c79ed38",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['1030000011',\n",
" '1030000012',\n",
" '1030000014',\n",
" '1030000015',\n",
" '1030000022',\n",
" '1030000031',\n",
" '1030000042',\n",
" '1030000043',\n",
" '1030000049',\n",
" '1030000054',\n",
" '1030000059',\n",
" '1030000063',\n",
" '1030000074',\n",
" '1030000080',\n",
" '1030000084',\n",
" '1030000086',\n",
" '1030000101',\n",
" '1030000102',\n",
" '1030000108',\n",
" '1030000109',\n",
" '1030000112',\n",
" '1030000118',\n",
" '1030000124',\n",
" '1030000126',\n",
" '1030000131',\n",
" '1030000133',\n",
" '1030000135',\n",
" '1030000141',\n",
" '1030000173',\n",
" '1030000180',\n",
" '1030000195',\n",
" '1030000198',\n",
" '1030000201',\n",
" '1030000205',\n",
" '1030000234',\n",
" '1030000238',\n",
" '1030000241',\n",
" '1030000253',\n",
" '1030000279',\n",
" '1030000291',\n",
" '1030000292',\n",
" '1030000295',\n",
" '1030000296',\n",
" '1030000303',\n",
" '1030000311',\n",
" '1030000312',\n",
" '1030000314',\n",
" '1030000316',\n",
" '1030000318',\n",
" '1030000354',\n",
" '1030000360',\n",
" '1030000361',\n",
" '1030000364',\n",
" '1030000365',\n",
" '1030000380',\n",
" '1030000391',\n",
" '1030000495',\n",
" '1030000496',\n",
" '1030000499',\n",
" '1030000500',\n",
" '1030000502',\n",
" '1030000503',\n",
" '1030000505',\n",
" '1030000511',\n",
" '1030000512',\n",
" '1030000515',\n",
" '1030000516',\n",
" '1030000522',\n",
" '1030000528',\n",
" '1030000529',\n",
" '1030000532',\n",
" '1030000533',\n",
" '1030000534',\n",
" '1030000537',\n",
" '1030000543',\n",
" '1030000547',\n",
" '1030000548',\n",
" '1030000551',\n",
" '1030000552',\n",
" '1030000554',\n",
" '1030000555',\n",
" '1030000559',\n",
" '1030000565',\n",
" '1030000566',\n",
" '1030000569',\n",
" '1030000570',\n",
" '1030000574',\n",
" '1030000575',\n",
" '1030000576',\n",
" '1030000587',\n",
" '1030000588',\n",
" '1030000590',\n",
" '1030000591',\n",
" '1030000594',\n",
" '1030000595',\n",
" '1030000597',\n",
" '1030000598',\n",
" '1030000610',\n",
" '1030000611',\n",
" '1030000618',\n",
" '1030000619',\n",
" '1030000622',\n",
" '1030000623',\n",
" '1030000631',\n",
" '1030000632',\n",
" '1030000638',\n",
" '1030000639',\n",
" '1030000641',\n",
" '1030000642',\n",
" '1030000645',\n",
" '1030000646',\n",
" '1030000649',\n",
" '1030000655',\n",
" '1030000656',\n",
" '1030000680',\n",
" '1030000681',\n",
" '1030000687',\n",
" '1030000688',\n",
" '1030000694',\n",
" '1030000695',\n",
" '1030000696',\n",
" '1030000697',\n",
" '1030000713',\n",
" '1030000782',\n",
" '1030000783',\n",
" '1030000798',\n",
" '1030000802',\n",
" '1030000815',\n",
" '1030000816',\n",
" '1030000821',\n",
" '1030000822',\n",
" '1030000826',\n",
" '1030000827',\n",
" '1030000833',\n",
" '1030000838',\n",
" '1030000839',\n",
" '1030000860',\n",
" '1030000865',\n",
" '1030000866',\n",
" '1030000874',\n",
" '1030000875',\n",
" '1030000878',\n",
" '1030000885',\n",
" '1030000886',\n",
" '1030000888',\n",
" '1030000889',\n",
" '1030000966',\n",
" '1030000967',\n",
" '1030000975',\n",
" '1030000983',\n",
" '1030000988',\n",
" '1030000989',\n",
" '1030001009',\n",
" '1030001010',\n",
" '1030001011',\n",
" '1030001032',\n",
" '1030001033',\n",
" '1030001039',\n",
" '1030001050',\n",
" '1030001055',\n",
" '1030001056',\n",
" '1030001061',\n",
" '1030001062',\n",
" '1030001069',\n",
" '1030001070',\n",
" '1030001077',\n",
" '1030001079',\n",
" '1030001097',\n",
" '1030001099',\n",
" '1030001100',\n",
" '1030001112',\n",
" '1030001113',\n",
" '1030001114',\n",
" '1030001126',\n",
" '1030001132',\n",
" '1030001133',\n",
" '1030001136',\n",
" '1030001139',\n",
" '1030001140',\n",
" '1030001143',\n",
" '1030001144',\n",
" '1030001148',\n",
" '1030001149',\n",
" '1030001156',\n",
" '1030001159',\n",
" '1030001160',\n",
" '1030001163',\n",
" '1030001164',\n",
" '1030001166',\n",
" '1030001168',\n",
" '1030001169',\n",
" '1030001178',\n",
" '1030001179',\n",
" '1030001190',\n",
" '1030001191',\n",
" '1030001198',\n",
" '1030001199',\n",
" '1030001217',\n",
" '1030001218',\n",
" '1030001229',\n",
" '1030001230',\n",
" '1030001254',\n",
" '1030001268',\n",
" '1030001271',\n",
" '1030001272',\n",
" '1030001274',\n",
" '1030001276',\n",
" '1030001280',\n",
" '1030001281',\n",
" '1030001296',\n",
" '1030001298',\n",
" '1030001304',\n",
" '1030001306',\n",
" '1030001310',\n",
" '1030001311',\n",
" '1030001313',\n",
" '1030001314',\n",
" '1030001337',\n",
" '1030001340',\n",
" '1030001342',\n",
" '1030001346',\n",
" '1030001347',\n",
" '1030001380',\n",
" '1030001381',\n",
" '1030001389',\n",
" '1030001390',\n",
" '1030001407',\n",
" '1030001414',\n",
" '1030001417',\n",
" '1030001418',\n",
" '1030001428',\n",
" '1030001432',\n",
" '1030001441',\n",
" '1030001442',\n",
" '1030001452',\n",
" '1030001455',\n",
" '1030001458',\n",
" '1030001459',\n",
" '1030001477',\n",
" '1030001481',\n",
" '1030001492',\n",
" '1030001493',\n",
" '1030001500',\n",
" '1030001501',\n",
" '1030001502',\n",
" '1030001503',\n",
" '1030001512',\n",
" '1030001519',\n",
" '1030001520',\n",
" '1030001524',\n",
" '1030001525',\n",
" '1030001533',\n",
" '1030001538',\n",
" '1030001539',\n",
" '1030001543',\n",
" '1030001545',\n",
" '1030001546',\n",
" '1030001547',\n",
" '1030001553',\n",
" '1030001554',\n",
" '1030001560',\n",
" '1030001564',\n",
" '1030001565',\n",
" '1030001576',\n",
" '1030001577',\n",
" '1030001580',\n",
" '1030001581',\n",
" '1030001588',\n",
" '1030001589',\n",
" '1030001600',\n",
" '1030001604',\n",
" '1030001610',\n",
" '1030001611',\n",
" '1030001614',\n",
" '1030001615',\n",
" '1030001626',\n",
" '1030001629',\n",
" '1030001630',\n",
" '1030001633',\n",
" '1030001634',\n",
" '1030001644',\n",
" '1030001645',\n",
" '1030001646',\n",
" '1030001648',\n",
" '1030001649',\n",
" '1030001658',\n",
" '1030001659',\n",
" '1030001662',\n",
" '1030001663',\n",
" '1030001664',\n",
" '1030001667',\n",
" '1030001668',\n",
" '1030001671',\n",
" '1030001672',\n",
" '1030001674',\n",
" '1030001675',\n",
" '1030001681',\n",
" '1030001682',\n",
" '1030001686',\n",
" '1030001687',\n",
" '1030001693',\n",
" '1030001696',\n",
" '1030001697',\n",
" '1030001699',\n",
" '1030001700',\n",
" '1030001701',\n",
" '1030001703',\n",
" '1030001704',\n",
" '1030001710',\n",
" '1030001711',\n",
" '1030001713',\n",
" '1030001714',\n",
" '1030001716',\n",
" '1030001717',\n",
" '1030001721',\n",
" '1030001723',\n",
" '1030001724',\n",
" '1030001726',\n",
" '1030001727',\n",
" '1030001730',\n",
" '1030001732',\n",
" '1030001733',\n",
" '1030001735',\n",
" '1030001736',\n",
" '1030001738',\n",
" '1030001739',\n",
" '1030001741',\n",
" '1030001742',\n",
" '1030001744',\n",
" '1030001745',\n",
" '1030001749',\n",
" '1030001750',\n",
" '1030001752',\n",
" '1030001753',\n",
" '1030001755',\n",
" '1030001756',\n",
" '1030001760',\n",
" '1030001761',\n",
" '1030001766',\n",
" '1030001768',\n",
" '1030001770',\n",
" '1030001772',\n",
" '1030001773',\n",
" '1030001775',\n",
" '1030001779',\n",
" '1030001780',\n",
" '1030001782',\n",
" '1030001783',\n",
" '1030001786',\n",
" '1030001787',\n",
" '1030001795',\n",
" '1030001798',\n",
" '1030001799',\n",
" '1030001801',\n",
" '1030001802',\n",
" '1030001804',\n",
" '1030001805',\n",
" '1030001806',\n",
" '1030001807',\n",
" '1030001808',\n",
" '1030001811',\n",
" '1030001812',\n",
" '1030001814',\n",
" '1030001815',\n",
" '1030001817',\n",
" '1030001818',\n",
" '1030001829',\n",
" '1030001830',\n",
" '1030001831',\n",
" '1030001834',\n",
" '1030001835',\n",
" '1030001836',\n",
" '1030001838',\n",
" '1030001839',\n",
" '1030001840',\n",
" '1030001843',\n",
" '1030001844',\n",
" '1030001845',\n",
" '1030001846',\n",
" '1030001851',\n",
" '1030001852',\n",
" '1030001863',\n",
" '1030001865',\n",
" '1030001866',\n",
" '1030001867',\n",
" '1030001872',\n",
" '1030001873',\n",
" '1030001875',\n",
" '1030001880',\n",
" '1030001881',\n",
" '1030001886',\n",
" '1030001887',\n",
" '1030001889',\n",
" '1030001890',\n",
" '1030001894',\n",
" '1030001896',\n",
" '1030001897',\n",
" '1030001903',\n",
" '1030001904',\n",
" '1030001906',\n",
" '1030001907',\n",
" '1030001909',\n",
" '1030001910',\n",
" '1030001912',\n",
" '1030001913',\n",
" '1030001916',\n",
" '1030001917',\n",
" '1030001919',\n",
" '1030001920',\n",
" '1030001921',\n",
" '1030001929',\n",
" '1030001930',\n",
" '1030001934',\n",
" '1030001936',\n",
" '1030001937',\n",
" '1030001939',\n",
" '1030001944',\n",
" '1030001946',\n",
" '1030001947',\n",
" '1030001952',\n",
" '1030001958',\n",
" '1030001959',\n",
" '1030001964',\n",
" '1030001965',\n",
" '1030001967',\n",
" '1030001968',\n",
" '1030001970',\n",
" '1030001971',\n",
" '1030001973',\n",
" '1030001974',\n",
" '1030001976',\n",
" '1030001977',\n",
" '1030001982',\n",
" '1030001988',\n",
" '1030001989',\n",
" '1030001990',\n",
" '1030001994',\n",
" '1030001995',\n",
" '1030001997',\n",
" '1030002003',\n",
" '1030002004',\n",
" '1030002007',\n",
" '1030002008',\n",
" '1030002009',\n",
" '1030002010',\n",
" '1030002016',\n",
" '1030002021',\n",
" '1030002022',\n",
" '1030002025',\n",
" '1030002028',\n",
" '1030002029',\n",
" '1030002047',\n",
" '1030002048',\n",
" '1030002051',\n",
" '1030002057',\n",
" '1030002058',\n",
" '1030002061',\n",
" '1030002062',\n",
" '1030002064',\n",
" '1030002066',\n",
" '1030002067',\n",
" '1030002068',\n",
" '1030002070',\n",
" '1030002074',\n",
" '1030002079',\n",
" '1030002080',\n",
" '1030002082',\n",
" '1030002083',\n",
" '1030002085',\n",
" '1030002089',\n",
" '1030002090',\n",
" '1030002098',\n",
" '1030002100',\n",
" '1030002106',\n",
" '1030002107',\n",
" '1030002109',\n",
" '1030002110',\n",
" '1030002116',\n",
" '1030002119',\n",
" '1030002127',\n",
" '1030002129',\n",
" '1030002130',\n",
" '1030002134',\n",
" '1030002135',\n",
" '1030002137',\n",
" '1030002138',\n",
" '1030002140',\n",
" '1030002145',\n",
" '1030002151',\n",
" '1030002152',\n",
" '1030002153',\n",
" '1030002156',\n",
" '1030002157',\n",
" '1030002162',\n",
" '1030002164',\n",
" '1030002165',\n",
" '1030002173',\n",
" '1030002174',\n",
" '1030002178',\n",
" '1030002179',\n",
" '1030002181',\n",
" '1030002182',\n",
" '1030002186',\n",
" '1030002189',\n",
" '1030002191',\n",
" '1030002193',\n",
" '1030002194',\n",
" '1030002195',\n",
" '1030002196',\n",
" '1030002197',\n",
" '1030002201',\n",
" '1030002202',\n",
" '1030002204',\n",
" '1030002205',\n",
" '1030002208',\n",
" '1030002209',\n",
" '1030002216',\n",
" '1030002217',\n",
" '1030002225',\n",
" '1030002226',\n",
" '1030002228',\n",
" '1030002229',\n",
" '1030002233',\n",
" '1030002234',\n",
" '1030002236',\n",
" '1030002237',\n",
" '1030002241',\n",
" '1030002242',\n",
" '1030002244',\n",
" '1030002245',\n",
" '1030002247',\n",
" '1030002248',\n",
" '1030002249',\n",
" '1030002253',\n",
" '1030002254',\n",
" '1030002256',\n",
" '1030002257',\n",
" '1030002259',\n",
" '1030002260',\n",
" '1030002262',\n",
" '1030002264',\n",
" '1030002266',\n",
" '1030002267',\n",
" '1030002269',\n",
" '1030002270',\n",
" '1030002279',\n",
" '1030002280',\n",
" '1030002295',\n",
" '1030002296',\n",
" '1030002298',\n",
" '1030002304',\n",
" '1030002305',\n",
" '1030002307',\n",
" '1030002308',\n",
" '1030002311',\n",
" '1030002312',\n",
" '1030002313',\n",
" '1030002315',\n",
" '1030002316',\n",
" '1030002322',\n",
" '1030002323',\n",
" '1030002325',\n",
" '1030002327',\n",
" '1030002328',\n",
" '1030002330',\n",
" '1030002332',\n",
" '1030002333',\n",
" '1030002334',\n",
" '1030002343',\n",
" '1030002344',\n",
" '1030002345',\n",
" '1030002352',\n",
" '1030002353',\n",
" '1030002360',\n",
" '1030002364',\n",
" '1030002371',\n",
" '1030002372',\n",
" '1030002377',\n",
" '1030002383',\n",
" '1030002384',\n",
" '1030002386',\n",
" '1030002387',\n",
" '1030002390',\n",
" '1030002391',\n",
" '1030002393',\n",
" '1030002394',\n",
" '1030002401',\n",
" '1030002402',\n",
" '1030002403',\n",
" '1030002411',\n",
" '1030002416',\n",
" '1030002417',\n",
" '1030002419',\n",
" '1030002420',\n",
" '1030002423',\n",
" '1030002424',\n",
" '1030002431',\n",
" '1030002433',\n",
" '1030002434',\n",
" '1030002436',\n",
" '1030002437',\n",
" '1030002441',\n",
" '1030002442',\n",
" '1030002448',\n",
" '1030002449',\n",
" '1030002450',\n",
" '1030002458',\n",
" '1030002459',\n",
" '1030002460',\n",
" '1030002463',\n",
" '1030002464',\n",
" '1030002465',\n",
" '1030002466',\n",
" '1030002469',\n",
" '1030002473',\n",
" '1030002474',\n",
" '1030002479',\n",
" '1030002482',\n",
" '1030002483',\n",
" '1030002485',\n",
" '1030002486',\n",
" '1030002488',\n",
" '1030002489',\n",
" '1030002495',\n",
" '1030002496',\n",
" '1030002498',\n",
" '1030002499',\n",
" '1030002504',\n",
" '1030002505',\n",
" '1030002506',\n",
" '1030002513',\n",
" '1030002514',\n",
" '1030002516',\n",
" '1030002517',\n",
" '1030002518',\n",
" '1030002519',\n",
" '1030002520',\n",
" '1030002523',\n",
" '1030002524',\n",
" '1030002526',\n",
" '1030002527',\n",
" '1030002530',\n",
" '1030002531',\n",
" '1030002541',\n",
" '1030002543',\n",
" '1030002544',\n",
" '1030002545',\n",
" '1030002546',\n",
" '1030002547',\n",
" '1030002548',\n",
" '1030002549',\n",
" '1030002550',\n",
" '1030002554',\n",
" '1030002557',\n",
" '1030002558',\n",
" '1030002559',\n",
" '1030002561',\n",
" '1030002564',\n",
" '1030002565',\n",
" '1030002566',\n",
" '1030002567',\n",
" '1030002568',\n",
" '1030002570',\n",
" '1030002571',\n",
" '1030002575',\n",
" '1030002576',\n",
" '1030002581',\n",
" '1030002582',\n",
" '1030002585',\n",
" '1030002586',\n",
" '1030002587',\n",
" '1030002588',\n",
" '1030002589',\n",
" '1030002593',\n",
" '1030002594',\n",
" '1030002597',\n",
" '1030002600',\n",
" '1030002605',\n",
" '1030002606',\n",
" '1030002608',\n",
" '1030002619',\n",
" '1030002620',\n",
" '1030002621',\n",
" '1030002622',\n",
" '1030002625',\n",
" '1030002626',\n",
" '1030002627',\n",
" '1030002628',\n",
" '1030002629',\n",
" '1030002639',\n",
" '1030002640',\n",
" '1030002645',\n",
" '1030002646',\n",
" '1030002648',\n",
" '1030002652',\n",
" '1030002653',\n",
" '1030002654',\n",
" '1030002658',\n",
" '1030002659',\n",
" '1030002661',\n",
" '1030002667',\n",
" '1030002668',\n",
" '1030002672',\n",
" '1030002674',\n",
" '1030002675',\n",
" '1030002682',\n",
" '1030002683',\n",
" '1030002685',\n",
" '1030002694',\n",
" '1030002695',\n",
" '1030002698',\n",
" '1030002699',\n",
" '1030002701',\n",
" '1030002702',\n",
" '1030002708',\n",
" '1030002714',\n",
" '1030002715',\n",
" '1030002716',\n",
" '1030002717',\n",
" '1030002718',\n",
" '1030002721',\n",
" '1030002722',\n",
" '1030002723',\n",
" '1030002725',\n",
" '1030002726',\n",
" '1030002728',\n",
" '1030002729',\n",
" '1030002738',\n",
" '1030002739',\n",
" '1030002770',\n",
" '1030002773',\n",
" '1030002784',\n",
" '1030002785',\n",
" '1030002786',\n",
" '1030002796',\n",
" '1030002798',\n",
" '1030002800',\n",
" '1030002810',\n",
" '1030002811',\n",
" '1030002813',\n",
" '1030002814',\n",
" '1030002823',\n",
" '1030002824',\n",
" '1030002838',\n",
" '1030002839',\n",
" '1030002842',\n",
" '1030002843',\n",
" '1030002861',\n",
" '1030002873',\n",
" '1030002882',\n",
" '1030002888',\n",
" '1030002889',\n",
" '1030002892',\n",
" '1030002893',\n",
" '1030002894',\n",
" '1030002895',\n",
" '1030002896',\n",
" '1030002897',\n",
" '1030002901',\n",
" '1030002911',\n",
" '1030002919',\n",
" '1030002931',\n",
" '1030002932',\n",
" '1030002933',\n",
" '1030002934',\n",
" '1030002942',\n",
" '1030002943',\n",
" '1030002961',\n",
" '1030002962',\n",
" '1030002963',\n",
" '1030002968',\n",
" '1030003614',\n",
" '1030003615',\n",
" '1030003858',\n",
" '1030003859',\n",
" '1030003865',\n",
" '1030003880',\n",
" '1030003882',\n",
" '1030003894',\n",
" '1030003897',\n",
" '1030003898',\n",
" '1030003905',\n",
" '1030003906',\n",
" '1030003918',\n",
" '1030003932',\n",
" '1030003933',\n",
" '1030003940',\n",
" '1030003942',\n",
" '1030003943',\n",
" '1030003948',\n",
" '1030003949',\n",
" '1030003956',\n",
" '1030003957',\n",
" '1030003965',\n",
" '1030003966',\n",
" '1030003968',\n",
" '1030003971',\n",
" '1030003984',\n",
" '1030003995',\n",
" '1030004001',\n",
" '1030004002',\n",
" '1030004003',\n",
" '1030004005',\n",
" '1030004006',\n",
" '1030004018',\n",
" '1030004019',\n",
" '1030004027',\n",
" '1030004028',\n",
" '1030004033',\n",
" '1030004034',\n",
" '1030004035',\n",
" '1030004036',\n",
" '1030004038',\n",
" '1030004041',\n",
" '1030004042',\n",
" '1030004050',\n",
" '1030004051',\n",
" '1030004075',\n",
" '1030004076',\n",
" '1030004084',\n",
" '1030004090',\n",
" '1030004091',\n",
" '1030004093',\n",
" '1030004094',\n",
" '1030004099',\n",
" '1030004100',\n",
" '1030004103',\n",
" '1030004105',\n",
" '1030004108',\n",
" '1030004109',\n",
" '1030004110',\n",
" '1030004111',\n",
" '1030004112',\n",
" '1030004113',\n",
" '1030004118',\n",
" '1030004119',\n",
" '1030004149',\n",
" '1030004150',\n",
" '1030004159',\n",
" '1030004160',\n",
" '1030004182',\n",
" '1030004183',\n",
" '1030004187',\n",
" '1030004188',\n",
" '1030004203',\n",
" '1030004205',\n",
" '1030004206',\n",
" '1030004213',\n",
" '1030004214',\n",
" '1030004235',\n",
" '1030004236',\n",
" '1030004245',\n",
" '1030004250',\n",
" '1030004251',\n",
" '1030004253',\n",
" '1030004254',\n",
" '1030004263',\n",
" '1030004270',\n",
" '1030004271',\n",
" '1030004273',\n",
" '1030004274',\n",
" '1030004275',\n",
" '1030004298',\n",
" '1030004299',\n",
" '1030004316',\n",
" '1030004325',\n",
" '1030004330',\n",
" '1030004331',\n",
" '1030004332',\n",
" '1030004344',\n",
" '1030004345',\n",
" '1030004346',\n",
" '1030004348',\n",
" '1030004368',\n",
" '1030004369',\n",
" '1030004370',\n",
" '1030004373',\n",
" '1030004383',\n",
" '1030004384',\n",
" '1030004408',\n",
" '1030004409',\n",
" '1030004421',\n",
" '1030004422',\n",
" '1030004441',\n",
" '1030004457',\n",
" '1030004504',\n",
" '1030004570',\n",
" '1030004573',\n",
" '1030004574',\n",
" '1030004632',\n",
" '1030004683',\n",
" '1030004684',\n",
" '1030004820',\n",
" '1030004821',\n",
" '1030004934',\n",
" '1030005006',\n",
" '1030005010',\n",
" '1030005058',\n",
" '1030005059',\n",
" '1030005060',\n",
" '1030005205',\n",
" '1030005206',\n",
" '1030005293',\n",
" '1030005345',\n",
" '1030005346',\n",
" '1030005384',\n",
" '1030005397',\n",
" '1030005443',\n",
" '1030005511',\n",
" '1030005512',\n",
" '1030005516',\n",
" '1030005517',\n",
" '1030005525',\n",
" '1030005528',\n",
" '1030005544',\n",
" '1030005567',\n",
" '1030005568',\n",
" '1030005579',\n",
" '1030005580',\n",
" '1030005581',\n",
" '1030005582',\n",
" '1030005585',\n",
" '1030005586',\n",
" '1030005588',\n",
" '1030005589',\n",
" '1030005597',\n",
" '1030005598',\n",
" '1030005601',\n",
" '1030005609',\n",
" '1030005612',\n",
" '1030005614',\n",
" '1030005624',\n",
" '1030005646',\n",
" '1030005654',\n",
" '1030005655',\n",
" '1030005657',\n",
" '1030005658',\n",
" '1030005660',\n",
" '1030005661',\n",
" '1030005667',\n",
" '1030005677',\n",
" '1030005690',\n",
" '1030005700',\n",
" '1030005703',\n",
" '1030005704',\n",
" '1030005710',\n",
" '1030005714',\n",
" '1030005715',\n",
" '1030005716',\n",
" '1030005720',\n",
" '1030005722',\n",
" '1030005727',\n",
" '1030005731',\n",
" '1030005732',\n",
" '1030005753',\n",
" '1030005755',\n",
" '1030005756',\n",
" '1030005757',\n",
" '1030005772',\n",
" '1030005775',\n",
" '1030005784',\n",
" '1030005785',\n",
" '1030005831',\n",
" '1030005832',\n",
" '1030005870',\n",
" '1030005877',\n",
" '1030005896',\n",
" '1030005930',\n",
" '1030005931',\n",
" '1030005933',\n",
" '1030005942',\n",
" '1030005944',\n",
" '1030005954',\n",
" '1030005959',\n",
" '1030005960',\n",
" '1030005966',\n",
" '1030005974',\n",
" '1030005979',\n",
" '1030005991',\n",
" '1030006004',\n",
" '1030006006',\n",
" '1030006012',\n",
" '1030006031',\n",
" '1030006032',\n",
" '1030006037',\n",
" '1030006052',\n",
" '1030006054',\n",
" '1030006055',\n",
" '1030006075',\n",
" '1030006076',\n",
" '1030006087',\n",
" '1030006093',\n",
" '1030006094',\n",
" '1030006098',\n",
" '1030006099',\n",
" '1030006108',\n",
" '1030006109',\n",
" '1030006126',\n",
" '1030006127',\n",
" '1030006129',\n",
" ...]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sec_codes"
]
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 8,
"id": "5049fc82-e1ee-476a-9fb6-79adedb6028e",
"metadata": {},
"outputs": [],
......@@ -1086,7 +65,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 9,
"id": "0c2416b1-4edb-45d9-a31a-11fb70344539",
"metadata": {},
"outputs": [],
......@@ -1098,7 +77,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 10,
"id": "7810ff27-b4b0-4b30-a77a-c3e6d531e1ae",
"metadata": {},
"outputs": [],
......@@ -1111,7 +90,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 11,
"id": "858a98ea-e17f-4b4b-be64-becb4ce0a9b9",
"metadata": {},
"outputs": [
......@@ -1119,14 +98,19 @@
"data": {
"text/plain": [
"array(['普通债券型基金(一级A类)', '普通债券型基金(一级B/C类)', '普通债券型基金(二级A类)',\n",
" '普通债券型基金(二级B/C类)', '中短期标准债券型基金', '普通债券型基金(可投转债A类)',\n",
" '普通债券型基金(可投转债B类)', '指数债券型基金(A类)', '长期标准债券型基金(A类)', '可转换债券型基金(A类)',\n",
" '可转换债券型基金(B/C类)', '债券型分级子基金(优先份额)', '债券型分级子基金(进取份额)',\n",
" '指数债券型基金(B/C类)', '长期标准债券型基金(B/C类)', '短期理财债券型基金(A类)',\n",
" '短期理财债券型基金(B/C类)'], dtype=object)"
" '普通债券型基金(二级B/C类)', '中短期标准债券型基金', '偏债型基金', '普通债券型基金(可投转债A类)',\n",
" '普通债券型基金(可投转债B类)', '指数债券型基金(A类)', '长期标准债券型基金(A类)', 'QDII债券基金',\n",
" '可转换债券型基金(A类)', '可转换债券型基金(B/C类)', '指数债券型基金(B/C类)',\n",
" '长期标准债券型基金(B/C类)', '封闭式普通债券型基金(可投转债)(B/C类)', '短期理财债券型基金(A类)',\n",
" '短期理财债券型基金(B/C类)', '封闭式长期标准债券型基金(A类)', '封闭式长期标准债券型基金(B/C类)',\n",
" '保本型基金', '封闭式普通债券型基金(可投转债)(A类)', '封闭式普通债券型基金(一级)(A类)',\n",
" '债券型分级子基金(优先份额)', '债券型分级子基金(进取份额)', '封闭式普通债券型基金(二级)(A类)',\n",
" '封闭式普通债券型基金(二级)(B/C类)', '封闭式普通债券型基金(二级)', '封闭式债券型分级子基金(优先份额)',\n",
" '封闭式债券型分级子基金(进取份额)', '灵活配置型基金(股票上限95%)(A类)',\n",
" '灵活配置型基金(股票上限95%)(B/C类)'], dtype=object)"
]
},
"execution_count": 7,
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
......@@ -1137,7 +121,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 12,
"id": "894e01ee-8f44-472f-b37a-1d23fc8c57c1",
"metadata": {},
"outputs": [],
......@@ -1153,7 +137,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 13,
"id": "0fddaf03-8e90-474d-9584-7a5b60c3a15d",
"metadata": {},
"outputs": [
......@@ -1216,111 +200,111 @@
" <tbody>\n",
" <tr>\n",
" <th>中长期纯债型基金</th>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>625</td>\n",
" <td>632</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>450</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>638</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>822</td>\n",
" <td>827</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>613</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" <td>838</td>\n",
" </tr>\n",
" <tr>\n",
" <th>可投股票型债券基金</th>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>321</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>370</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>318</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" </tr>\n",
" <tr>\n",
" <th>可投转债型债券基金</th>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>77</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>86</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>可转债基金</th>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>36</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>41</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>31</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>短期纯债型基金</th>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>54</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>54</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>46</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>被动指数型债券基金</th>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>11</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>10</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -1329,33 +313,33 @@
"text/plain": [
" SECURITYID BDRTO CONVBDRTO_TO_BDRTO EQUITYINVERTO L1CODE \\\n",
"债券型(子类) \n",
"中长期纯债型基金 638 638 625 632 638 \n",
"可投股票型债券基金 370 370 370 370 370 \n",
"可投转债型债券基金 87 87 87 87 87 \n",
"可转债基金 41 41 41 41 41 \n",
"短期纯债型基金 55 55 54 55 55 \n",
"被动指数型债券基金 17 17 17 17 17 \n",
"中长期纯债型基金 838 838 822 827 838 \n",
"可投股票型债券基金 365 365 365 365 365 \n",
"可投转债型债券基金 101 101 101 101 101 \n",
"可转债基金 36 36 36 36 36 \n",
"短期纯债型基金 47 47 47 47 47 \n",
"被动指数型债券基金 13 13 13 13 13 \n",
"\n",
" L1NAME L2CODE L2NAME L3CODE L3NAME FDNAME SNAMECOMP FSYMBOL \\\n",
"债券型(子类) \n",
"中长期纯债型基金 638 638 638 638 638 638 450 638 \n",
"可投股票型债券基金 370 370 370 370 370 370 321 370 \n",
"可投转债型债券基金 87 87 87 87 87 87 77 87 \n",
"可转债基金 41 41 41 41 41 41 36 41 \n",
"短期纯债型基金 55 55 55 55 55 55 54 55 \n",
"被动指数型债券基金 17 17 17 17 17 17 11 17 \n",
"中长期纯债型基金 838 838 838 838 838 838 613 838 \n",
"可投股票型债券基金 365 365 365 365 365 365 318 365 \n",
"可投转债型债券基金 101 101 101 101 101 101 86 101 \n",
"可转债基金 36 36 36 36 36 36 31 36 \n",
"短期纯债型基金 47 47 47 47 47 47 46 47 \n",
"被动指数型债券基金 13 13 13 13 13 13 10 13 \n",
"\n",
" FDNATURE INVESTSTYLE \n",
"债券型(子类) \n",
"中长期纯债型基金 638 638 \n",
"可投股票型债券基金 370 370 \n",
"可投转债型债券基金 87 87 \n",
"可转债基金 41 41 \n",
"短期纯债型基金 55 55 \n",
"被动指数型债券基金 17 17 "
"中长期纯债型基金 838 838 \n",
"可投股票型债券基金 365 365 \n",
"可投转债型债券基金 101 101 \n",
"可转债基金 36 36 \n",
"短期纯债型基金 47 47 \n",
"被动指数型债券基金 13 13 "
]
},
"execution_count": 9,
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
......@@ -1374,7 +358,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 15,
"id": "1985799f-9a72-4f53-a09b-e15c738f211f",
"metadata": {},
"outputs": [],
......@@ -1385,7 +369,7 @@
" report_dates_begin = nearest_report_date(date_3yrs_ago.strftime(\"%Y%m%d\"))\n",
" current_date = trade_dt.strftime(\"%Y%m%d\")\n",
" \n",
" security_ids = fd_alive_funds(report_dates_begin, 3)\n",
" security_ids = fd_alive_funds(report_dates_begin, 203)\n",
" basic_info = fd_basicinfo(security_ids, current_date)\n",
" type_info = fd_typeclass(security_ids, current_date)\n",
" asset_port = fd_assetportfolio(security_ids, report_dates_begin, current_date).fillna(0)\n",
......@@ -1411,7 +395,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 16,
"id": "992ce6ba-b2eb-4e11-b025-53bd78366ff0",
"metadata": {},
"outputs": [
......@@ -1419,7 +403,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 5.99 s\n"
"Wall time: 10.7 s\n"
]
}
],
......@@ -1431,7 +415,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 17,
"id": "514f4c0b-bd1e-430b-9c5a-721bec381dc0",
"metadata": {},
"outputs": [
......@@ -1439,8 +423,210 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 2.66 s\n"
"Wall time: 18.1 s\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>SECURITYID</th>\n",
" <th>FDNAME</th>\n",
" <th>SNAMECOMP</th>\n",
" <th>FSYMBOL</th>\n",
" <th>FDNATURE</th>\n",
" <th>INVESTSTYLE</th>\n",
" <th>L1CODE</th>\n",
" <th>L1NAME</th>\n",
" <th>L2CODE</th>\n",
" <th>L2NAME</th>\n",
" <th>L3CODE</th>\n",
" <th>L3NAME</th>\n",
" <th>BDRTO</th>\n",
" <th>EQUITYINVERTO</th>\n",
" <th>CONVBDRTO_TO_BDRTO</th>\n",
" </tr>\n",
" <tr>\n",
" <th>债券型(子类)</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>中长期纯债型基金</th>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>644</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>872</td>\n",
" <td>839</td>\n",
" <td>828</td>\n",
" <td>823</td>\n",
" </tr>\n",
" <tr>\n",
" <th>可投股票型债券基金</th>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>318</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" <td>365</td>\n",
" </tr>\n",
" <tr>\n",
" <th>可投转债型债券基金</th>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>86</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" <td>101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>可转债基金</th>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>31</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" <td>36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>短期纯债型基金</th>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>46</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>被动指数型债券基金</th>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>10</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \\\n",
"债券型(子类) \n",
"中长期纯债型基金 872 872 644 872 872 872 \n",
"可投股票型债券基金 365 365 318 365 365 365 \n",
"可投转债型债券基金 101 101 86 101 101 101 \n",
"可转债基金 36 36 31 36 36 36 \n",
"短期纯债型基金 47 47 46 47 47 47 \n",
"被动指数型债券基金 13 13 10 13 13 13 \n",
"\n",
" L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME BDRTO \\\n",
"债券型(子类) \n",
"中长期纯债型基金 872 872 872 872 872 872 839 \n",
"可投股票型债券基金 365 365 365 365 365 365 365 \n",
"可投转债型债券基金 101 101 101 101 101 101 101 \n",
"可转债基金 36 36 36 36 36 36 36 \n",
"短期纯债型基金 47 47 47 47 47 47 47 \n",
"被动指数型债券基金 13 13 13 13 13 13 13 \n",
"\n",
" EQUITYINVERTO CONVBDRTO_TO_BDRTO \n",
"债券型(子类) \n",
"中长期纯债型基金 828 823 \n",
"可投股票型债券基金 365 365 \n",
"可投转债型债券基金 101 101 \n",
"可转债基金 36 36 \n",
"短期纯债型基金 47 47 \n",
"被动指数型债券基金 13 13 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
......@@ -1451,7 +637,7 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 18,
"id": "13e11363-2e24-4a74-bd09-7b83669d4acd",
"metadata": {},
"outputs": [],
......@@ -1461,7 +647,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 19,
"id": "6c02fcff-7019-47f4-86e3-637939c9bb39",
"metadata": {},
"outputs": [
......@@ -1519,9 +705,9 @@
" <td>普通债券型基金</td>\n",
" <td>3.2.1</td>\n",
" <td>普通债券型基金(一级A类)</td>\n",
" <td>110.27</td>\n",
" <td>6.195000e+00</td>\n",
" <td>3.610785e+01</td>\n",
" <td>89.97</td>\n",
" <td>2.5125</td>\n",
" <td>2.636154e+01</td>\n",
" <td>可投股票型债券基金</td>\n",
" </tr>\n",
" <tr>\n",
......@@ -1538,9 +724,9 @@
" <td>普通债券型基金</td>\n",
" <td>3.2.2</td>\n",
" <td>普通债券型基金(一级B/C类)</td>\n",
" <td>90.79</td>\n",
" <td>6.250000e+00</td>\n",
" <td>3.012725e+01</td>\n",
" <td>113.82</td>\n",
" <td>2.0925</td>\n",
" <td>3.083827e+01</td>\n",
" <td>可投股票型债券基金</td>\n",
" </tr>\n",
" <tr>\n",
......@@ -1557,9 +743,9 @@
" <td>普通债券型基金</td>\n",
" <td>3.2.3</td>\n",
" <td>普通债券型基金(二级A类)</td>\n",
" <td>87.45</td>\n",
" <td>6.267500e+00</td>\n",
" <td>2.437650e+00</td>\n",
" <td>84.69</td>\n",
" <td>7.8500</td>\n",
" <td>9.399045e-01</td>\n",
" <td>可投股票型债券基金</td>\n",
" </tr>\n",
" <tr>\n",
......@@ -1576,9 +762,9 @@
" <td>普通债券型基金</td>\n",
" <td>3.2.4</td>\n",
" <td>普通债券型基金(二级B/C类)</td>\n",
" <td>84.83</td>\n",
" <td>1.151000e+01</td>\n",
" <td>1.630190e+00</td>\n",
" <td>94.13</td>\n",
" <td>6.4125</td>\n",
" <td>2.208407e+00</td>\n",
" <td>可投股票型债券基金</td>\n",
" </tr>\n",
" <tr>\n",
......@@ -1595,10 +781,10 @@
" <td>普通债券型基金</td>\n",
" <td>3.2.1</td>\n",
" <td>普通债券型基金(一级A类)</td>\n",
" <td>105.18</td>\n",
" <td>0.000000e+00</td>\n",
" <td>1.218145e+01</td>\n",
" <td>可投转债型债券基金</td>\n",
" <td>130.35</td>\n",
" <td>1.0475</td>\n",
" <td>1.173590e+01</td>\n",
" <td>可投股票型债券基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
......@@ -1620,7 +806,7 @@
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1220</th>\n",
" <th>1429</th>\n",
" <td>1030002083</td>\n",
" <td>交银施罗德理财60天债券型证券投资基金</td>\n",
" <td>交银理财60天债券</td>\n",
......@@ -1633,13 +819,13 @@
" <td>短期理财债券型基金</td>\n",
" <td>3.6.2</td>\n",
" <td>短期理财债券型基金(B/C类)</td>\n",
" <td>85.64</td>\n",
" <td>1.776357e-15</td>\n",
" <td>7.105427e-15</td>\n",
" <td>92.11</td>\n",
" <td>0.0000</td>\n",
" <td>2.131628e-14</td>\n",
" <td>短期纯债型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1221</th>\n",
" <th>1430</th>\n",
" <td>1030001814</td>\n",
" <td>易方达月月利理财债券型证券投资基金</td>\n",
" <td>易方达月月利理财债券</td>\n",
......@@ -1652,13 +838,13 @@
" <td>短期理财债券型基金</td>\n",
" <td>3.6.1</td>\n",
" <td>短期理财债券型基金(A类)</td>\n",
" <td>40.81</td>\n",
" <td>2.664535e-15</td>\n",
" <td>7.105427e-15</td>\n",
" <td>42.43</td>\n",
" <td>0.0000</td>\n",
" <td>2.131628e-14</td>\n",
" <td>中长期纯债型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1222</th>\n",
" <th>1431</th>\n",
" <td>1030001815</td>\n",
" <td>易方达月月利理财债券型证券投资基金</td>\n",
" <td>易方达月月利理财债券</td>\n",
......@@ -1671,13 +857,13 @@
" <td>短期理财债券型基金</td>\n",
" <td>3.6.2</td>\n",
" <td>短期理财债券型基金(B/C类)</td>\n",
" <td>49.96</td>\n",
" <td>2.664535e-15</td>\n",
" <td>7.105427e-15</td>\n",
" <td>40.81</td>\n",
" <td>0.0000</td>\n",
" <td>2.131628e-14</td>\n",
" <td>中长期纯债型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1223</th>\n",
" <th>1432</th>\n",
" <td>1030010003</td>\n",
" <td>易方达掌柜季季盈理财债券型证券投资基金</td>\n",
" <td>易方达掌柜季季盈理财债券</td>\n",
......@@ -1690,13 +876,13 @@
" <td>短期理财债券型基金</td>\n",
" <td>3.6.1</td>\n",
" <td>短期理财债券型基金(A类)</td>\n",
" <td>49.46</td>\n",
" <td>3.552714e-15</td>\n",
" <td>2.842171e-14</td>\n",
" <td>43.34</td>\n",
" <td>0.0000</td>\n",
" <td>1.421085e-14</td>\n",
" <td>中长期纯债型基金</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1224</th>\n",
" <th>1433</th>\n",
" <td>1030002674</td>\n",
" <td>农银汇理14天理财债券型证券投资基金</td>\n",
" <td>农银14天理财债券</td>\n",
......@@ -1709,14 +895,14 @@
" <td>短期理财债券型基金</td>\n",
" <td>3.6.1</td>\n",
" <td>短期理财债券型基金(A类)</td>\n",
" <td>86.78</td>\n",
" <td>3.552714e-15</td>\n",
" <td>1.776357e-14</td>\n",
" <td>91.56</td>\n",
" <td>0.0000</td>\n",
" <td>2.309264e-14</td>\n",
" <td>短期纯债型基金</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1225 rows × 16 columns</p>\n",
"<p>1434 rows × 16 columns</p>\n",
"</div>"
],
"text/plain": [
......@@ -1727,11 +913,11 @@
"3 1030000015 华夏希望债券型证券投资基金 华夏希望债券 001013 证券投资基金 \n",
"4 1030000022 国泰金龙债券证券投资基金 国泰金龙债券 020002 证券投资基金 \n",
"... ... ... ... ... ... \n",
"1220 1030002083 交银施罗德理财60天债券型证券投资基金 交银理财60天债券 519722 证券投资基金 \n",
"1221 1030001814 易方达月月利理财债券型证券投资基金 易方达月月利理财债券 110050 证券投资基金 \n",
"1222 1030001815 易方达月月利理财债券型证券投资基金 易方达月月利理财债券 110051 证券投资基金 \n",
"1223 1030010003 易方达掌柜季季盈理财债券型证券投资基金 易方达掌柜季季盈理财债券 000833 证券投资基金 \n",
"1224 1030002674 农银汇理14天理财债券型证券投资基金 农银14天理财债券 000322 证券投资基金 \n",
"1429 1030002083 交银施罗德理财60天债券型证券投资基金 交银理财60天债券 519722 证券投资基金 \n",
"1430 1030001814 易方达月月利理财债券型证券投资基金 易方达月月利理财债券 110050 证券投资基金 \n",
"1431 1030001815 易方达月月利理财债券型证券投资基金 易方达月月利理财债券 110051 证券投资基金 \n",
"1432 1030010003 易方达掌柜季季盈理财债券型证券投资基金 易方达掌柜季季盈理财债券 000833 证券投资基金 \n",
"1433 1030002674 农银汇理14天理财债券型证券投资基金 农银14天理财债券 000322 证券投资基金 \n",
"\n",
" INVESTSTYLE L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME \\\n",
"0 收益型 3 债券基金 3.2 普通债券型基金 3.2.1 普通债券型基金(一级A类) \n",
......@@ -1740,29 +926,29 @@
"3 收益型 3 债券基金 3.2 普通债券型基金 3.2.4 普通债券型基金(二级B/C类) \n",
"4 收益型 3 债券基金 3.2 普通债券型基金 3.2.1 普通债券型基金(一级A类) \n",
"... ... ... ... ... ... ... ... \n",
"1220 收益型 3 债券基金 3.6 短期理财债券型基金 3.6.2 短期理财债券型基金(B/C类) \n",
"1221 稳健成长型 3 债券基金 3.6 短期理财债券型基金 3.6.1 短期理财债券型基金(A类) \n",
"1222 稳健成长型 3 债券基金 3.6 短期理财债券型基金 3.6.2 短期理财债券型基金(B/C类) \n",
"1223 收益型 3 债券基金 3.6 短期理财债券型基金 3.6.1 短期理财债券型基金(A类) \n",
"1224 收益型 3 债券基金 3.6 短期理财债券型基金 3.6.1 短期理财债券型基金(A类) \n",
"1429 收益型 3 债券基金 3.6 短期理财债券型基金 3.6.2 短期理财债券型基金(B/C类) \n",
"1430 稳健成长型 3 债券基金 3.6 短期理财债券型基金 3.6.1 短期理财债券型基金(A类) \n",
"1431 稳健成长型 3 债券基金 3.6 短期理财债券型基金 3.6.2 短期理财债券型基金(B/C类) \n",
"1432 收益型 3 债券基金 3.6 短期理财债券型基金 3.6.1 短期理财债券型基金(A类) \n",
"1433 收益型 3 债券基金 3.6 短期理财债券型基金 3.6.1 短期理财债券型基金(A类) \n",
"\n",
" BDRTO EQUITYINVERTO CONVBDRTO_TO_BDRTO 债券型(子类) \n",
"0 110.27 6.195000e+00 3.610785e+01 可投股票型债券基金 \n",
"1 90.79 6.250000e+00 3.012725e+01 可投股票型债券基金 \n",
"2 87.45 6.267500e+00 2.437650e+00 可投股票型债券基金 \n",
"3 84.83 1.151000e+01 1.630190e+00 可投股票型债券基金 \n",
"4 105.18 0.000000e+00 1.218145e+01 可投转债型债券基金 \n",
"0 89.97 2.5125 2.636154e+01 可投股票型债券基金 \n",
"1 113.82 2.0925 3.083827e+01 可投股票型债券基金 \n",
"2 84.69 7.8500 9.399045e-01 可投股票型债券基金 \n",
"3 94.13 6.4125 2.208407e+00 可投股票型债券基金 \n",
"4 130.35 1.0475 1.173590e+01 可投股票型债券基金 \n",
"... ... ... ... ... \n",
"1220 85.64 1.776357e-15 7.105427e-15 短期纯债型基金 \n",
"1221 40.81 2.664535e-15 7.105427e-15 中长期纯债型基金 \n",
"1222 49.96 2.664535e-15 7.105427e-15 中长期纯债型基金 \n",
"1223 49.46 3.552714e-15 2.842171e-14 中长期纯债型基金 \n",
"1224 86.78 3.552714e-15 1.776357e-14 短期纯债型基金 \n",
"1429 92.11 0.0000 2.131628e-14 短期纯债型基金 \n",
"1430 42.43 0.0000 2.131628e-14 中长期纯债型基金 \n",
"1431 40.81 0.0000 2.131628e-14 中长期纯债型基金 \n",
"1432 43.34 0.0000 1.421085e-14 中长期纯债型基金 \n",
"1433 91.56 0.0000 2.309264e-14 短期纯债型基金 \n",
"\n",
"[1225 rows x 16 columns]"
"[1434 rows x 16 columns]"
]
},
"execution_count": 21,
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
......@@ -1782,7 +968,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 22,
"id": "bc46497a-3044-4455-b427-5e461acffc71",
"metadata": {},
"outputs": [],
......@@ -1793,14 +979,14 @@
"\n",
"start_dt = \"2015-01-31\"\n",
"final_trade_dt = \"2021-11-09\"\n",
"nav_type = \"REPAIRUNITNAV\"\n",
"nav_type = \"ACCUNITNAV\"\n",
"\n",
"rebalance_dates = [d.strftime(\"%Y%m%d\") for d in makeSchedule(start_dt, final_trade_dt, tenor=\"3M\", calendar=\"china.sse\", dateRule=BizDayConventions.ModifiedFollowing)]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 23,
"id": "4555a339-5ad5-4158-81a0-4011ab35d755",
"metadata": {},
"outputs": [
......@@ -1846,8 +1032,8 @@
" pre_trade_dt = rebalance_dates[i]\n",
" print(pre_trade_dt, trade_dt)\n",
" fund_info = create_bond_fund_info(trade_dt)\n",
" pre_nav_info = fd_derieden(fund_info.SECURITYID.tolist(), pre_trade_dt).rename(columns={nav_type: \"PRE\" + nav_type})\n",
" nav_info = fd_derieden(fund_info.SECURITYID.tolist(), trade_dt)\n",
" pre_nav_info = fd_qtfdnav(fund_info.SECURITYID.tolist(), pre_trade_dt).rename(columns={nav_type: \"PRE\" + nav_type})\n",
" nav_info = fd_qtfdnav(fund_info.SECURITYID.tolist(), trade_dt)\n",
"\n",
" total_df = pd.merge(fund_info, nav_info, on=[\"SECURITYID\"])\n",
" total_df = pd.merge(total_df, pre_nav_info, on=[\"SECURITYID\"])\n",
......@@ -1858,7 +1044,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 24,
"id": "f1f60b62-c7c8-4295-9b3c-4fbbc7bc26bd",
"metadata": {},
"outputs": [],
......@@ -1869,7 +1055,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 25,
"id": "0c53a5ad-430e-459a-b8cf-13ab69b5e3f4",
"metadata": {},
"outputs": [
......@@ -1914,255 +1100,255 @@
" <tbody>\n",
" <tr>\n",
" <th>20150430</th>\n",
" <td>0.035524</td>\n",
" <td>0.073317</td>\n",
" <td>0.046774</td>\n",
" <td>0.181991</td>\n",
" <td>0.034479</td>\n",
" <td>0.063696</td>\n",
" <td>0.032673</td>\n",
" <td>0.183849</td>\n",
" <td>NaN</td>\n",
" <td>0.018172</td>\n",
" <td>0.014805</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20150731</th>\n",
" <td>0.015343</td>\n",
" <td>0.003398</td>\n",
" <td>0.009793</td>\n",
" <td>-0.181767</td>\n",
" <td>0.019400</td>\n",
" <td>-0.001548</td>\n",
" <td>0.009070</td>\n",
" <td>-0.181313</td>\n",
" <td>NaN</td>\n",
" <td>0.001508</td>\n",
" <td>0.009040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20151030</th>\n",
" <td>0.019825</td>\n",
" <td>0.017772</td>\n",
" <td>0.022953</td>\n",
" <td>0.003363</td>\n",
" <td>0.020021</td>\n",
" <td>0.016197</td>\n",
" <td>0.016724</td>\n",
" <td>0.005966</td>\n",
" <td>NaN</td>\n",
" <td>0.023572</td>\n",
" <td>0.022635</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160129</th>\n",
" <td>0.007451</td>\n",
" <td>-0.011741</td>\n",
" <td>0.008906</td>\n",
" <td>-0.123049</td>\n",
" <td>0.007229</td>\n",
" <td>-0.010521</td>\n",
" <td>0.008773</td>\n",
" <td>-0.119380</td>\n",
" <td>NaN</td>\n",
" <td>0.016452</td>\n",
" <td>0.013658</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160429</th>\n",
" <td>0.000934</td>\n",
" <td>0.006463</td>\n",
" <td>0.001271</td>\n",
" <td>-0.014195</td>\n",
" <td>0.001324</td>\n",
" <td>0.004405</td>\n",
" <td>0.001468</td>\n",
" <td>-0.009268</td>\n",
" <td>NaN</td>\n",
" <td>-0.000176</td>\n",
" <td>-0.000637</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20160729</th>\n",
" <td>0.020894</td>\n",
" <td>0.021145</td>\n",
" <td>0.019743</td>\n",
" <td>-0.011719</td>\n",
" <td>0.022094</td>\n",
" <td>0.016901</td>\n",
" <td>0.018205</td>\n",
" <td>-0.006460</td>\n",
" <td>NaN</td>\n",
" <td>0.020802</td>\n",
" <td>0.020109</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20161031</th>\n",
" <td>0.011858</td>\n",
" <td>0.016069</td>\n",
" <td>0.015851</td>\n",
" <td>0.043448</td>\n",
" <td>0.011922</td>\n",
" <td>0.014196</td>\n",
" <td>0.012508</td>\n",
" <td>0.032989</td>\n",
" <td>NaN</td>\n",
" <td>0.010548</td>\n",
" <td>0.008745</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170126</th>\n",
" <td>-0.019690</td>\n",
" <td>-0.020954</td>\n",
" <td>-0.020338</td>\n",
" <td>-0.060613</td>\n",
" <td>-0.014330</td>\n",
" <td>-0.018991</td>\n",
" <td>-0.017139</td>\n",
" <td>-0.047551</td>\n",
" <td>NaN</td>\n",
" <td>-0.023250</td>\n",
" <td>-0.022332</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170428</th>\n",
" <td>-0.002897</td>\n",
" <td>-0.002623</td>\n",
" <td>-0.003590</td>\n",
" <td>-0.024449</td>\n",
" <td>-0.000164</td>\n",
" <td>-0.001997</td>\n",
" <td>-0.004151</td>\n",
" <td>-0.017770</td>\n",
" <td>NaN</td>\n",
" <td>-0.007383</td>\n",
" <td>-0.005754</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20170731</th>\n",
" <td>0.012685</td>\n",
" <td>0.019675</td>\n",
" <td>0.015882</td>\n",
" <td>0.057182</td>\n",
" <td>0.009207</td>\n",
" <td>0.016115</td>\n",
" <td>0.013353</td>\n",
" <td>0.052517</td>\n",
" <td>NaN</td>\n",
" <td>0.006517</td>\n",
" <td>0.008622</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20171031</th>\n",
" <td>0.002595</td>\n",
" <td>0.006664</td>\n",
" <td>0.001133</td>\n",
" <td>-0.025014</td>\n",
" <td>0.002973</td>\n",
" <td>0.005631</td>\n",
" <td>0.000693</td>\n",
" <td>-0.011472</td>\n",
" <td>NaN</td>\n",
" <td>-0.003102</td>\n",
" <td>-0.002618</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180131</th>\n",
" <td>0.005173</td>\n",
" <td>0.002649</td>\n",
" <td>0.002917</td>\n",
" <td>-0.021521</td>\n",
" <td>0.002856</td>\n",
" <td>0.002161</td>\n",
" <td>0.003578</td>\n",
" <td>-0.002312</td>\n",
" <td>NaN</td>\n",
" <td>-0.000095</td>\n",
" <td>-0.000959</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180427</th>\n",
" <td>0.012661</td>\n",
" <td>-0.003772</td>\n",
" <td>0.012321</td>\n",
" <td>-0.045589</td>\n",
" <td>0.010737</td>\n",
" <td>-0.003246</td>\n",
" <td>0.006862</td>\n",
" <td>-0.037163</td>\n",
" <td>NaN</td>\n",
" <td>0.021583</td>\n",
" <td>0.019114</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20180731</th>\n",
" <td>0.013688</td>\n",
" <td>0.000307</td>\n",
" <td>0.004361</td>\n",
" <td>-0.034723</td>\n",
" <td>0.012652</td>\n",
" <td>-0.001165</td>\n",
" <td>0.003819</td>\n",
" <td>-0.024569</td>\n",
" <td>NaN</td>\n",
" <td>0.013743</td>\n",
" <td>0.013552</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20181031</th>\n",
" <td>0.009671</td>\n",
" <td>-0.012920</td>\n",
" <td>0.003667</td>\n",
" <td>-0.037837</td>\n",
" <td>0.008132</td>\n",
" <td>-0.009180</td>\n",
" <td>0.002610</td>\n",
" <td>-0.036136</td>\n",
" <td>NaN</td>\n",
" <td>0.006395</td>\n",
" <td>0.005083</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190131</th>\n",
" <td>0.021116</td>\n",
" <td>0.019420</td>\n",
" <td>0.021947</td>\n",
" <td>0.030910</td>\n",
" <td>0.016633</td>\n",
" <td>0.015582</td>\n",
" <td>0.017705</td>\n",
" <td>0.023647</td>\n",
" <td>NaN</td>\n",
" <td>0.023644</td>\n",
" <td>0.023591</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190430</th>\n",
" <td>0.004728</td>\n",
" <td>0.028806</td>\n",
" <td>0.012569</td>\n",
" <td>0.089306</td>\n",
" <td>0.004107</td>\n",
" <td>0.024255</td>\n",
" <td>0.008872</td>\n",
" <td>0.077805</td>\n",
" <td>NaN</td>\n",
" <td>-0.001468</td>\n",
" <td>-0.002473</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20190731</th>\n",
" <td>0.014535</td>\n",
" <td>0.011524</td>\n",
" <td>0.013471</td>\n",
" <td>0.009133</td>\n",
" <td>0.013486</td>\n",
" <td>0.010240</td>\n",
" <td>0.011304</td>\n",
" <td>0.008921</td>\n",
" <td>NaN</td>\n",
" <td>0.018044</td>\n",
" <td>0.018150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20191031</th>\n",
" <td>0.006190</td>\n",
" <td>0.010110</td>\n",
" <td>0.007836</td>\n",
" <td>0.021186</td>\n",
" <td>0.006626</td>\n",
" <td>0.008738</td>\n",
" <td>0.004951</td>\n",
" <td>0.020864</td>\n",
" <td>0.004760</td>\n",
" <td>0.002782</td>\n",
" <td>0.000660</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200123</th>\n",
" <td>0.015694</td>\n",
" <td>0.033943</td>\n",
" <td>0.027278</td>\n",
" <td>0.085095</td>\n",
" <td>NaN</td>\n",
" <td>0.023261</td>\n",
" <td>0.013786</td>\n",
" <td>0.029069</td>\n",
" <td>0.019760</td>\n",
" <td>0.076251</td>\n",
" <td>0.006556</td>\n",
" <td>0.024796</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200430</th>\n",
" <td>0.027414</td>\n",
" <td>0.020150</td>\n",
" <td>0.025039</td>\n",
" <td>0.009367</td>\n",
" <td>0.017390</td>\n",
" <td>0.038860</td>\n",
" <td>0.023366</td>\n",
" <td>0.016964</td>\n",
" <td>0.021935</td>\n",
" <td>0.012439</td>\n",
" <td>0.009453</td>\n",
" <td>0.038346</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20200731</th>\n",
" <td>-0.013076</td>\n",
" <td>0.035987</td>\n",
" <td>0.001064</td>\n",
" <td>0.118315</td>\n",
" <td>-0.006233</td>\n",
" <td>-0.025995</td>\n",
" <td>-0.010189</td>\n",
" <td>0.031070</td>\n",
" <td>-0.003322</td>\n",
" <td>0.118942</td>\n",
" <td>-0.002586</td>\n",
" <td>-0.025098</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20201030</th>\n",
" <td>0.004666</td>\n",
" <td>-0.001726</td>\n",
" <td>0.004179</td>\n",
" <td>-0.021291</td>\n",
" <td>0.004986</td>\n",
" <td>-0.000690</td>\n",
" <td>0.003520</td>\n",
" <td>-0.001249</td>\n",
" <td>0.003896</td>\n",
" <td>-0.019060</td>\n",
" <td>0.005121</td>\n",
" <td>-0.000607</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210129</th>\n",
" <td>0.005061</td>\n",
" <td>0.025719</td>\n",
" <td>0.000119</td>\n",
" <td>0.029727</td>\n",
" <td>0.006205</td>\n",
" <td>0.007019</td>\n",
" <td>0.004356</td>\n",
" <td>0.022295</td>\n",
" <td>-0.000615</td>\n",
" <td>0.031268</td>\n",
" <td>0.005805</td>\n",
" <td>0.007023</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210430</th>\n",
" <td>0.009840</td>\n",
" <td>0.003407</td>\n",
" <td>0.011121</td>\n",
" <td>-0.008528</td>\n",
" <td>0.008141</td>\n",
" <td>0.010197</td>\n",
" <td>0.008612</td>\n",
" <td>0.003041</td>\n",
" <td>0.008605</td>\n",
" <td>-0.006812</td>\n",
" <td>0.007172</td>\n",
" <td>0.009691</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20210730</th>\n",
" <td>0.015933</td>\n",
" <td>0.027130</td>\n",
" <td>0.023906</td>\n",
" <td>0.093793</td>\n",
" <td>0.007866</td>\n",
" <td>0.021628</td>\n",
" <td>0.012645</td>\n",
" <td>0.024389</td>\n",
" <td>0.018007</td>\n",
" <td>0.086978</td>\n",
" <td>0.008632</td>\n",
" <td>0.019126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20211029</th>\n",
" <td>0.008476</td>\n",
" <td>0.011829</td>\n",
" <td>0.012587</td>\n",
" <td>0.031211</td>\n",
" <td>0.003506</td>\n",
" <td>0.005203</td>\n",
" <td>0.004715</td>\n",
" <td>0.010570</td>\n",
" <td>0.010486</td>\n",
" <td>0.028148</td>\n",
" <td>0.005253</td>\n",
" <td>0.005790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20211109</th>\n",
" <td>0.002107</td>\n",
" <td>0.004476</td>\n",
" <td>0.005760</td>\n",
" <td>0.019146</td>\n",
" <td>0.000679</td>\n",
" <td>0.004045</td>\n",
" <td>-0.000225</td>\n",
" <td>0.003994</td>\n",
" <td>0.004603</td>\n",
" <td>0.017187</td>\n",
" <td>0.000087</td>\n",
" <td>0.003661</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -2171,37 +1357,37 @@
"text/plain": [
"债券型(子类) 中长期纯债型基金 可投股票型债券基金 可投转债型债券基金 可转债基金 短期纯债型基金 被动指数型债券基金\n",
"level_0 \n",
"20150430 0.035524 0.073317 0.046774 0.181991 NaN 0.018172\n",
"20150731 0.015343 0.003398 0.009793 -0.181767 NaN 0.001508\n",
"20151030 0.019825 0.017772 0.022953 0.003363 NaN 0.023572\n",
"20160129 0.007451 -0.011741 0.008906 -0.123049 NaN 0.016452\n",
"20160429 0.000934 0.006463 0.001271 -0.014195 NaN -0.000176\n",
"20160729 0.020894 0.021145 0.019743 -0.011719 NaN 0.020802\n",
"20161031 0.011858 0.016069 0.015851 0.043448 NaN 0.010548\n",
"20170126 -0.019690 -0.020954 -0.020338 -0.060613 NaN -0.023250\n",
"20170428 -0.002897 -0.002623 -0.003590 -0.024449 NaN -0.007383\n",
"20170731 0.012685 0.019675 0.015882 0.057182 NaN 0.006517\n",
"20171031 0.002595 0.006664 0.001133 -0.025014 NaN -0.003102\n",
"20180131 0.005173 0.002649 0.002917 -0.021521 NaN -0.000095\n",
"20180427 0.012661 -0.003772 0.012321 -0.045589 NaN 0.021583\n",
"20180731 0.013688 0.000307 0.004361 -0.034723 NaN 0.013743\n",
"20181031 0.009671 -0.012920 0.003667 -0.037837 NaN 0.006395\n",
"20190131 0.021116 0.019420 0.021947 0.030910 NaN 0.023644\n",
"20190430 0.004728 0.028806 0.012569 0.089306 NaN -0.001468\n",
"20190731 0.014535 0.011524 0.013471 0.009133 NaN 0.018044\n",
"20191031 0.006190 0.010110 0.007836 0.021186 0.004760 0.002782\n",
"20200123 0.015694 0.033943 0.027278 0.085095 NaN 0.023261\n",
"20200430 0.027414 0.020150 0.025039 0.009367 0.017390 0.038860\n",
"20200731 -0.013076 0.035987 0.001064 0.118315 -0.006233 -0.025995\n",
"20201030 0.004666 -0.001726 0.004179 -0.021291 0.004986 -0.000690\n",
"20210129 0.005061 0.025719 0.000119 0.029727 0.006205 0.007019\n",
"20210430 0.009840 0.003407 0.011121 -0.008528 0.008141 0.010197\n",
"20210730 0.015933 0.027130 0.023906 0.093793 0.007866 0.021628\n",
"20211029 0.008476 0.011829 0.012587 0.031211 0.003506 0.005203\n",
"20211109 0.002107 0.004476 0.005760 0.019146 0.000679 0.004045"
"20150430 0.034479 0.063696 0.032673 0.183849 NaN 0.014805\n",
"20150731 0.019400 -0.001548 0.009070 -0.181313 NaN 0.009040\n",
"20151030 0.020021 0.016197 0.016724 0.005966 NaN 0.022635\n",
"20160129 0.007229 -0.010521 0.008773 -0.119380 NaN 0.013658\n",
"20160429 0.001324 0.004405 0.001468 -0.009268 NaN -0.000637\n",
"20160729 0.022094 0.016901 0.018205 -0.006460 NaN 0.020109\n",
"20161031 0.011922 0.014196 0.012508 0.032989 NaN 0.008745\n",
"20170126 -0.014330 -0.018991 -0.017139 -0.047551 NaN -0.022332\n",
"20170428 -0.000164 -0.001997 -0.004151 -0.017770 NaN -0.005754\n",
"20170731 0.009207 0.016115 0.013353 0.052517 NaN 0.008622\n",
"20171031 0.002973 0.005631 0.000693 -0.011472 NaN -0.002618\n",
"20180131 0.002856 0.002161 0.003578 -0.002312 NaN -0.000959\n",
"20180427 0.010737 -0.003246 0.006862 -0.037163 NaN 0.019114\n",
"20180731 0.012652 -0.001165 0.003819 -0.024569 NaN 0.013552\n",
"20181031 0.008132 -0.009180 0.002610 -0.036136 NaN 0.005083\n",
"20190131 0.016633 0.015582 0.017705 0.023647 NaN 0.023591\n",
"20190430 0.004107 0.024255 0.008872 0.077805 NaN -0.002473\n",
"20190731 0.013486 0.010240 0.011304 0.008921 NaN 0.018150\n",
"20191031 0.006626 0.008738 0.004951 0.020864 0.004760 0.000660\n",
"20200123 0.013786 0.029069 0.019760 0.076251 0.006556 0.024796\n",
"20200430 0.023366 0.016964 0.021935 0.012439 0.009453 0.038346\n",
"20200731 -0.010189 0.031070 -0.003322 0.118942 -0.002586 -0.025098\n",
"20201030 0.003520 -0.001249 0.003896 -0.019060 0.005121 -0.000607\n",
"20210129 0.004356 0.022295 -0.000615 0.031268 0.005805 0.007023\n",
"20210430 0.008612 0.003041 0.008605 -0.006812 0.007172 0.009691\n",
"20210730 0.012645 0.024389 0.018007 0.086978 0.008632 0.019126\n",
"20211029 0.004715 0.010570 0.010486 0.028148 0.005253 0.005790\n",
"20211109 -0.000225 0.003994 0.004603 0.017187 0.000087 0.003661"
]
},
"execution_count": 16,
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
......@@ -2217,11 +1403,19 @@
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "eb0476b9-cc31-4572-918a-6a7fa84f3404",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
......@@ -2235,7 +1429,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
"version": "3.8.12"
}
},
"nbformat": 4,
......
......@@ -2,14 +2,14 @@
"cells": [
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 1,
"id": "51382765-24b4-4e5e-a118-077b276e0774",
"metadata": {},
"outputs": [],
"source": [
"import datetime as dt\n",
"from utility import (\n",
" read_sql,\n",
" fd_alive_funds,\n",
" fd_basicinfo,\n",
" fd_typeclass,\n",
" nearest_report_date\n",
......@@ -19,7 +19,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 2,
"id": "47939edc-07d2-4c8e-b061-187806e124ea",
"metadata": {},
"outputs": [],
......@@ -31,26 +31,19 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 3,
"id": "9a596482-dd98-49dc-b717-c17177f2cd64",
"metadata": {},
"outputs": [],
"source": [
"# 获取所有目标货币型基金(清算结束日期晚于当前日)\n",
"\n",
"security_ids = read_sql(f\"\"\"\n",
"select SECURITYID from TQ_FD_TYPECLASS \n",
"WHERE\n",
" ISVALID = 1 AND\n",
" L1CODE = 5 AND\n",
" (ENDDATE>='{today}' or ENDDATE = '19000101') \n",
"ORDER BY SECURITYID;\n",
"\"\"\")[\"SECURITYID\"].unique().tolist()"
"security_ids = fd_alive_funds(today, 204)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 4,
"id": "7e1a0517-e3de-4ea7-ae3c-9c2292c63260",
"metadata": {},
"outputs": [],
......@@ -61,7 +54,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 5,
"id": "b0d0d48b-708b-447a-922b-500fbfb97600",
"metadata": {},
"outputs": [],
......@@ -71,7 +64,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 6,
"id": "5ccf2dc7-fea9-4d52-b15d-e8ff55fac3dc",
"metadata": {},
"outputs": [],
......@@ -83,7 +76,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 7,
"id": "9d34507e-9efd-479a-8b25-a095de5a552c",
"metadata": {},
"outputs": [
......@@ -113,6 +106,7 @@
" <th>SNAMECOMP</th>\n",
" <th>FSYMBOL</th>\n",
" <th>FDNATURE</th>\n",
" <th>INVESTSTYLE</th>\n",
" </tr>\n",
" <tr>\n",
" <th>货币型(子类)</th>\n",
......@@ -121,37 +115,40 @@
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>场内货币型基金</th>\n",
" <td>44</td>\n",
" <td>44</td>\n",
" <td>42</td>\n",
" <td>44</td>\n",
" <td>44</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>场外货币型基金</th>\n",
" <td>549</td>\n",
" <td>549</td>\n",
" <td>503</td>\n",
" <td>549</td>\n",
" <td>549</td>\n",
" <td>542</td>\n",
" <td>542</td>\n",
" <td>496</td>\n",
" <td>542</td>\n",
" <td>542</td>\n",
" <td>542</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE\n",
" SECURITYID FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE\n",
"货币型(子类) \n",
"场内货币型基金 44 44 42 44 44\n",
"场外货币型基金 549 549 503 549 549"
"场内货币型基金 19 19 19 19 19 19\n",
"场外货币型基金 542 542 496 542 542 542"
]
},
"execution_count": 15,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
......
......@@ -9,7 +9,7 @@
"source": [
"import datetime as dt\n",
"from utility import (\n",
" read_sql,\n",
" fd_alive_funds,\n",
" fd_basicinfo,\n",
" fd_typeclass,\n",
" nearest_report_date\n",
......@@ -31,20 +31,14 @@
},
{
"cell_type": "code",
"execution_count": 46,
"execution_count": 3,
"id": "72d3f785-aee7-44d9-a393-3abbdb4d60a4",
"metadata": {},
"outputs": [],
"source": [
"# 获取所有目标基金(清算结束日期晚于当前日)\n",
"\n",
"security_ids = read_sql(f\"\"\"\n",
"select SECURITYID from TQ_FD_TYPECLASS \n",
"WHERE\n",
" ISVALID = 1 AND\n",
" (ENDDATE>='{today}' or ENDDATE = '19000101') \n",
"ORDER BY SECURITYID;\n",
"\"\"\")[\"SECURITYID\"].unique().tolist()"
"security_ids = fd_alive_funds(today)"
]
},
{
......@@ -60,7 +54,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 5,
"id": "52607b95-9d62-4f68-8256-984827dd0bea",
"metadata": {},
"outputs": [],
......@@ -70,7 +64,7 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 6,
"id": "60fe66ee-a8d3-4a33-8c5a-555f68d9758c",
"metadata": {},
"outputs": [],
......@@ -82,7 +76,7 @@
},
{
"cell_type": "code",
"execution_count": 45,
"execution_count": 7,
"id": "1bb62bc7-2515-415a-8eec-087d2d1787b6",
"metadata": {},
"outputs": [
......@@ -139,18 +133,18 @@
" <tbody>\n",
" <tr>\n",
" <th>商品型基金</th>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>17</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>29</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>13</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>量化对冲基金</th>\n",
......@@ -162,7 +156,7 @@
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>9</td>\n",
" <td>10</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
......@@ -174,16 +168,16 @@
"text/plain": [
" SECURITYID L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME FDNAME \\\n",
"另类投资型(子类) \n",
"商品型基金 29 29 29 29 29 29 29 29 \n",
"商品型基金 15 15 15 15 15 15 15 15 \n",
"量化对冲基金 17 17 17 17 17 17 17 17 \n",
"\n",
" SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \n",
"另类投资型(子类) \n",
"商品型基金 17 29 29 29 \n",
"量化对冲基金 9 17 17 17 "
"商品型基金 13 15 15 15 \n",
"量化对冲基金 10 17 17 17 "
]
},
"execution_count": 45,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
......
......@@ -2,14 +2,14 @@
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"id": "b81e5b9e-b8f5-4198-b98c-2e26f025875c",
"metadata": {},
"outputs": [],
"source": [
"import datetime as dt\n",
"from utility import (\n",
" read_sql,\n",
" fd_alive_funds,\n",
" fd_basicinfo,\n",
" fd_typeclass,\n",
" nearest_report_date\n",
......@@ -19,7 +19,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 3,
"id": "8bf4331c-c1db-47b4-b72d-10d5ccb72657",
"metadata": {},
"outputs": [],
......@@ -31,26 +31,19 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 4,
"id": "d228ec88-a55b-4451-8a69-1a0e490b9161",
"metadata": {},
"outputs": [],
"source": [
"# 获取所有目标QDII基金(清算结束日期晚于当前日)\n",
"\n",
"security_ids = read_sql(f\"\"\"\n",
"select SECURITYID from TQ_FD_TYPECLASS \n",
"WHERE\n",
" ISVALID = 1 AND\n",
" L1CODE = 6 AND\n",
" (ENDDATE>='{today}' or ENDDATE = '19000101') \n",
"ORDER BY SECURITYID;\n",
"\"\"\")[\"SECURITYID\"].unique().tolist()"
"security_ids = fd_alive_funds(today, 601)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 5,
"id": "7763ee34-dbba-4297-b2d8-16fc98be8a3b",
"metadata": {},
"outputs": [],
......@@ -61,7 +54,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 6,
"id": "e12d8f3b-0570-40db-9ec3-d6804b78c686",
"metadata": {},
"outputs": [],
......@@ -71,18 +64,18 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 7,
"id": "b3f87023-d068-4014-975c-22db615c3273",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['QDII股票型基金', 'QDII混合基金', 'QDII全球股票型基金', 'QDII债券基金', 'QDII指数股票型基金',\n",
" 'QDII商品基金', 'QDII房地产信托基金', 'QDII分级子基金'], dtype=object)"
"array(['QDII股票型基金', 'QDII混合基金', 'QDII债券基金', 'QDII指数股票型基金', 'QDII商品基金',\n",
" 'QDII房地产信托基金', '灵活配置型基金(股票上限95%)(A类)'], dtype=object)"
]
},
"execution_count": 14,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
......@@ -93,7 +86,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 8,
"id": "0efd51eb-a03c-440b-b083-a36df52f9185",
"metadata": {},
"outputs": [],
......@@ -107,7 +100,7 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 9,
"id": "850b9707-8849-48b5-9b39-9111ab78ccc1",
"metadata": {},
"outputs": [
......@@ -164,63 +157,63 @@
" <tbody>\n",
" <tr>\n",
" <th>QDII债券型基金</th>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>38</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>37</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" <td>38</td>\n",
" </tr>\n",
" <tr>\n",
" <th>QDII另类投资基金</th>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>9</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>QDII混合型基金</th>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>13</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>31</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>10</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>QDII股票型基金</th>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>55</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>40</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
......@@ -229,20 +222,20 @@
"text/plain": [
" SECURITYID L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME \\\n",
"QDII型(子类) \n",
"QDII债券型基金 39 39 39 39 39 39 39 \n",
"QDII另类投资基金 19 19 19 19 19 19 19 \n",
"QDII混合型基金 31 31 31 31 31 31 31 \n",
"QDII股票型基金 87 87 87 87 87 87 87 \n",
"QDII债券型基金 38 38 38 38 38 38 38 \n",
"QDII另类投资基金 10 10 10 10 10 10 10 \n",
"QDII混合型基金 27 27 27 27 27 27 27 \n",
"QDII股票型基金 53 53 53 53 53 53 53 \n",
"\n",
" FDNAME SNAMECOMP FSYMBOL FDNATURE INVESTSTYLE \n",
"QDII型(子类) \n",
"QDII债券型基金 39 38 39 39 39 \n",
"QDII另类投资基金 19 9 19 19 19 \n",
"QDII混合型基金 31 13 31 31 31 \n",
"QDII股票型基金 87 55 87 87 87 "
"QDII债券型基金 38 37 38 38 38 \n",
"QDII另类投资基金 10 6 10 10 10 \n",
"QDII混合型基金 27 10 27 27 27 \n",
"QDII股票型基金 53 40 53 53 53 "
]
},
"execution_count": 19,
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
......
......@@ -9,7 +9,7 @@
"source": [
"import datetime as dt\n",
"from utility import (\n",
" read_sql,\n",
" fd_alive_funds,\n",
" fd_basicinfo,\n",
" fd_typeclass,\n",
" nearest_report_date\n",
......@@ -36,15 +36,9 @@
"metadata": {},
"outputs": [],
"source": [
"# 获取所有目标债券型基金(清算结束日期晚于当前日)\n",
"# 获取所有目标基金(清算结束日期晚于当前日)\n",
"\n",
"security_ids = read_sql(f\"\"\"\n",
"select SECURITYID from TQ_FD_TYPECLASS \n",
"WHERE\n",
" ISVALID = 1 AND\n",
" (ENDDATE>='{today}' or ENDDATE = '19000101') \n",
"ORDER BY SECURITYID;\n",
"\"\"\")[\"SECURITYID\"].unique().tolist()"
"security_ids = fd_alive_funds(today)"
]
},
{
......@@ -60,13 +54,13 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 7,
"id": "08bfc149-90e5-405d-a1f2-6ec750c26f9e",
"metadata": {},
"outputs": [],
"source": [
"df = pd.merge(type_info, basic_info, on=\"SECURITYID\")\n",
"# df = df[df.FDNATURE == 'FOF']"
"df = df[df.FDNATURE == 'FOF']"
]
},
{
......@@ -132,1023 +126,191 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 8,
"id": "fc897e0e-46f1-48a2-be9a-6381086c94bf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>SECURITYID</th>\n",
" <th>L1CODE</th>\n",
" <th>L1NAME</th>\n",
" <th>L2CODE</th>\n",
" <th>L2NAME</th>\n",
" <th>L3CODE</th>\n",
" <th>L3NAME</th>\n",
" <th>FDNAME</th>\n",
" <th>SNAMECOMP</th>\n",
" <th>FSYMBOL</th>\n",
" <th>FDNATURE</th>\n",
" <th>INVESTSTYLE</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>104</th>\n",
" <td>1030001076</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.4</td>\n",
" <td>其他QDII基金</td>\n",
" <td>6.4.1</td>\n",
" <td>QDII商品基金</td>\n",
" <td>博时抗通胀增强回报证券投资基金</td>\n",
" <td>None</td>\n",
" <td>050020</td>\n",
" <td>FOF</td>\n",
" <td>商品型</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2743</th>\n",
" <td>1030008222</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>上投摩根全球多元配置证券投资基金(QDII)</td>\n",
" <td>上投摩根全球多元配置(QDII-FOF)</td>\n",
" <td>003629</td>\n",
" <td>FOF</td>\n",
" <td>稳健成长型</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2744</th>\n",
" <td>1030008224</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>上投摩根全球多元配置证券投资基金(QDII)</td>\n",
" <td>上投摩根全球多元配置(QDII-FOF)</td>\n",
" <td>003631</td>\n",
" <td>FOF</td>\n",
" <td>稳健成长型</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3441</th>\n",
" <td>1030000166</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>银华全球核心优选证券投资基金</td>\n",
" <td>None</td>\n",
" <td>183001</td>\n",
" <td>FOF</td>\n",
" <td>稳健成长型</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3455</th>\n",
" <td>1030000184</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.1</td>\n",
" <td>QDII股票基金</td>\n",
" <td>6.1.8</td>\n",
" <td>QDII股票型基金</td>\n",
" <td>南方全球精选配置证券投资基金</td>\n",
" <td>None</td>\n",
" <td>202801</td>\n",
" <td>FOF</td>\n",
" <td>增值型</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3886</th>\n",
" <td>1030000995</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.4</td>\n",
" <td>其他QDII基金</td>\n",
" <td>6.4.1</td>\n",
" <td>QDII商品基金</td>\n",
" <td>诺安全球黄金证券投资基金</td>\n",
" <td>None</td>\n",
" <td>320013</td>\n",
" <td>FOF</td>\n",
" <td>商品型</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3902</th>\n",
" <td>1030001024</td>\n",
" <td>6</td>\n",
" <td>QDII基金</td>\n",
" <td>6.2</td>\n",
" <td>QDII混合基金</td>\n",
" <td>6.2.1</td>\n",
" <td>QDII混合基金</td>\n",
" <td>中银全球策略证券投资基金(FOF)</td>\n",
" <td>None</td>\n",
" <td>163813</td>\n",
" <td>FOF</td>\n",
" <td>稳健成长型</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"['000001',\n",
" '000003',\n",
" '000004',\n",
" '000005',\n",
" '000008',\n",
" '000009',\n",
" '000010',\n",
" '000011',\n",
" '000013',\n",
" '000014',\n",
" '000015',\n",
" '000016',\n",
" '000017',\n",
" '000020',\n",
" '000021',\n",
" '000024',\n",
" '000025',\n",
" '000028',\n",
" '000029',\n",
" '000030',\n",
" '000031',\n",
" '000032',\n",
" '000033',\n",
" '000037',\n",
" '000038',\n",
" '000039',\n",
" '000041',\n",
" '000042',\n",
" '000043',\n",
" '000044',\n",
" '000045',\n",
" '000046',\n",
" '000047',\n",
" '000048',\n",
" '000049',\n",
" '000051',\n",
" '000053',\n",
" '000054',\n",
" '000055',\n",
" '000056',\n",
" '000057',\n",
" '000058',\n",
" '000059',\n",
" '000061',\n",
" '000063',\n",
" '000064',\n",
" '000065',\n",
" '000066',\n",
" '000067',\n",
" '000068',\n",
" '000069',\n",
" '000070',\n",
" '000071',\n",
" '000072',\n",
" '000073',\n",
" '000074',\n",
" '000075',\n",
" '000077',\n",
" '000078',\n",
" '000079',\n",
" '000080',\n",
" '000081',\n",
" '000082',\n",
" '000083',\n",
" '000084',\n",
" '000085',\n",
" '000086',\n",
" '000087',\n",
" '000088',\n",
" '000089',\n",
" '000090',\n",
" '000103',\n",
" '000104',\n",
" '000105',\n",
" '000106',\n",
" '000107',\n",
" '000109',\n",
" '000110',\n",
" '000111',\n",
" '000112',\n",
" '000116',\n",
" '000117',\n",
" '000118',\n",
" '000119',\n",
" '000120',\n",
" '000121',\n",
" '000122',\n",
" '000123',\n",
" '000124',\n",
" '000126',\n",
" '000127',\n",
" '000128',\n",
" '000129',\n",
" '000130',\n",
" '000131',\n",
" '000134',\n",
" '000135',\n",
" '000136',\n",
" '000137',\n",
" '000138',\n",
" '000139',\n",
" '000141',\n",
" '000142',\n",
" '000143',\n",
" '000147',\n",
" '000148',\n",
" '000149',\n",
" '000150',\n",
" '000152',\n",
" '000153',\n",
" '000165',\n",
" '000166',\n",
" '000167',\n",
" '000171',\n",
" '000172',\n",
" '000173',\n",
" '000174',\n",
" '000175',\n",
" '000176',\n",
" '000179',\n",
" '000180',\n",
" '000181',\n",
" '000182',\n",
" '000183',\n",
" '000184',\n",
" '000185',\n",
" '000186',\n",
" '000187',\n",
" '000188',\n",
" '000189',\n",
" '000190',\n",
" '000191',\n",
" '000192',\n",
" '000194',\n",
" '000195',\n",
" '000196',\n",
" '000197',\n",
" '000198',\n",
" '000199',\n",
" '000200',\n",
" '000201',\n",
" '000203',\n",
" '000204',\n",
" '000205',\n",
" '000206',\n",
" '000207',\n",
" '000208',\n",
" '000209',\n",
" '000210',\n",
" '000211',\n",
" '000212',\n",
" '000213',\n",
" '000214',\n",
" '000215',\n",
" '000216',\n",
" '000217',\n",
" '000218',\n",
" '000219',\n",
" '000220',\n",
" '000221',\n",
" '000222',\n",
" '000227',\n",
" '000235',\n",
" '000236',\n",
" '000239',\n",
" '000240',\n",
" '000241',\n",
" '000242',\n",
" '000244',\n",
" '000245',\n",
" '000246',\n",
" '000248',\n",
" '000251',\n",
" '000252',\n",
" '000253',\n",
" '000254',\n",
" '000255',\n",
" '000259',\n",
" '000263',\n",
" '000264',\n",
" '000265',\n",
" '000266',\n",
" '000267',\n",
" '000268',\n",
" '000270',\n",
" '000271',\n",
" '000272',\n",
" '000273',\n",
" '000274',\n",
" '000275',\n",
" '000277',\n",
" '000279',\n",
" '000286',\n",
" '000289',\n",
" '000290',\n",
" '000292',\n",
" '000293',\n",
" '000294',\n",
" '000295',\n",
" '000296',\n",
" '000297',\n",
" '000298',\n",
" '000299',\n",
" '000300',\n",
" '000301',\n",
" '000305',\n",
" '000306',\n",
" '000307',\n",
" '000308',\n",
" '000309',\n",
" '000310',\n",
" '000311',\n",
" '000312',\n",
" '000313',\n",
" '000314',\n",
" '000317',\n",
" '000318',\n",
" '000319',\n",
" '000320',\n",
" '000322',\n",
" '000323',\n",
" '000324',\n",
" '000325',\n",
" '000326',\n",
" '000327',\n",
" '000328',\n",
" '000329',\n",
" '000330',\n",
" '000331',\n",
" '000332',\n",
" '000333',\n",
" '000334',\n",
" '000335',\n",
" '000336',\n",
" '000338',\n",
" '000339',\n",
" '000341',\n",
" '000342',\n",
" '000343',\n",
" '000345',\n",
" '000346',\n",
" '000347',\n",
" '000351',\n",
" '000352',\n",
" '000354',\n",
" '000355',\n",
" '000356',\n",
" '000359',\n",
" '000362',\n",
" '000363',\n",
" '000366',\n",
" '000367',\n",
" '000368',\n",
" '000369',\n",
" '000370',\n",
" '000371',\n",
" '000372',\n",
" '000373',\n",
" '000376',\n",
" '000377',\n",
" '000378',\n",
" '000379',\n",
" '000380',\n",
" '000381',\n",
" '000385',\n",
" '000386',\n",
" '000389',\n",
" '000390',\n",
" '000394',\n",
" '000395',\n",
" '000396',\n",
" '000397',\n",
" '000398',\n",
" '000402',\n",
" '000403',\n",
" '000404',\n",
" '000406',\n",
" '000407',\n",
" '000408',\n",
" '000409',\n",
" '000410',\n",
" '000411',\n",
" '000412',\n",
" '000413',\n",
" '000414',\n",
" '000415',\n",
" '000416',\n",
" '000417',\n",
" '000418',\n",
" '000419',\n",
" '000420',\n",
" '000423',\n",
" '000424',\n",
" '000425',\n",
" '000431',\n",
" '000432',\n",
" '000433',\n",
" '000434',\n",
" '000436',\n",
" '000439',\n",
" '000452',\n",
" '000457',\n",
" '000458',\n",
" '000462',\n",
" '000463',\n",
" '000464',\n",
" '000465',\n",
" '000466',\n",
" '000469',\n",
" '000471',\n",
" '000475',\n",
" '000476',\n",
" '000477',\n",
" '000478',\n",
" '000480',\n",
" '000481',\n",
" '000483',\n",
" '000484',\n",
" '000487',\n",
" '000489',\n",
" '000490',\n",
" '000493',\n",
" '000494',\n",
" '000495',\n",
" '000496',\n",
" '000497',\n",
" '000500',\n",
" '000501',\n",
" '000502',\n",
" '000503',\n",
" '000504',\n",
" '000505',\n",
" '000506',\n",
" '000507',\n",
" '000508',\n",
" '000509',\n",
" '000511',\n",
" '000512',\n",
" '000513',\n",
" '000520',\n",
" '000522',\n",
" '000523',\n",
" '000524',\n",
" '000526',\n",
" '000527',\n",
" '000528',\n",
" '000529',\n",
" '000530',\n",
" '000531',\n",
" '000532',\n",
" '000533',\n",
" '000534',\n",
" '000535',\n",
" '000536',\n",
" '000538',\n",
" '000539',\n",
" '000540',\n",
" '000541',\n",
" '000542',\n",
" '000543',\n",
" '000545',\n",
" '000546',\n",
" '000547',\n",
" '000548',\n",
" '000549',\n",
" '000550',\n",
" '000551',\n",
" '000552',\n",
" '000553',\n",
" '000554',\n",
" '000556',\n",
" '000557',\n",
" '000559',\n",
" '000560',\n",
" '000561',\n",
" '000562',\n",
" '000563',\n",
" '000564',\n",
" '000566',\n",
" '000567',\n",
" '000569',\n",
" '000572',\n",
" '000573',\n",
" '000574',\n",
" '000575',\n",
" '000576',\n",
" '000577',\n",
" '000578',\n",
" '000579',\n",
" '000580',\n",
" '000581',\n",
" '000583',\n",
" '000584',\n",
" '000585',\n",
" '000586',\n",
" '000587',\n",
" '000588',\n",
" '000589',\n",
" '000590',\n",
" '000591',\n",
" '000592',\n",
" '000593',\n",
" '000594',\n",
" '000595',\n",
" '000596',\n",
" '000597',\n",
" '000598',\n",
" '000599',\n",
" '000600',\n",
" '000601',\n",
" '000602',\n",
" '000603',\n",
" '000604',\n",
" '000605',\n",
" '000607',\n",
" '000609',\n",
" '000612',\n",
" '000613',\n",
" '000614',\n",
" '000615',\n",
" '000618',\n",
" '000619',\n",
" '000620',\n",
" '000621',\n",
" '000622',\n",
" '000623',\n",
" '000624',\n",
" '000625',\n",
" '000626',\n",
" '000627',\n",
" '000628',\n",
" '000631',\n",
" '000632',\n",
" '000633',\n",
" '000634',\n",
" '000638',\n",
" '000639',\n",
" '000640',\n",
" '000641',\n",
" '000642',\n",
" '000644',\n",
" '000645',\n",
" '000646',\n",
" '000647',\n",
" '000648',\n",
" '000649',\n",
" '000650',\n",
" '000651',\n",
" '000652',\n",
" '000654',\n",
" '000655',\n",
" '000656',\n",
" '000657',\n",
" '000658',\n",
" '000659',\n",
" '000660',\n",
" '000661',\n",
" '000662',\n",
" '000663',\n",
" '000664',\n",
" '000665',\n",
" '000667',\n",
" '000668',\n",
" '000669',\n",
" '000672',\n",
" '000674',\n",
" '000675',\n",
" '000676',\n",
" '000677',\n",
" '000678',\n",
" '000679',\n",
" '000681',\n",
" '000682',\n",
" '000683',\n",
" '000684',\n",
" '000686',\n",
" '000687',\n",
" '000688',\n",
" '000689',\n",
" '000690',\n",
" '000692',\n",
" '000693',\n",
" '000694',\n",
" '000696',\n",
" '000697',\n",
" '000698',\n",
" '000699',\n",
" '000700',\n",
" '000701',\n",
" '000704',\n",
" '000705',\n",
" '000706',\n",
" '000707',\n",
" '000708',\n",
" '000709',\n",
" '000710',\n",
" '000711',\n",
" '000712',\n",
" '000713',\n",
" '000714',\n",
" '000715',\n",
" '000716',\n",
" '000717',\n",
" '000719',\n",
" '000720',\n",
" '000721',\n",
" '000722',\n",
" '000724',\n",
" '000725',\n",
" '000726',\n",
" '000727',\n",
" '000728',\n",
" '000729',\n",
" '000730',\n",
" '000734',\n",
" '000735',\n",
" '000736',\n",
" '000737',\n",
" '000739',\n",
" '000740',\n",
" '000741',\n",
" '000742',\n",
" '000743',\n",
" '000744',\n",
" '000745',\n",
" '000746',\n",
" '000747',\n",
" '000748',\n",
" '000750',\n",
" '000751',\n",
" '000753',\n",
" '000754',\n",
" '000755',\n",
" '000756',\n",
" '000757',\n",
" '000758',\n",
" '000759',\n",
" '000760',\n",
" '000761',\n",
" '000762',\n",
" '000763',\n",
" '000764',\n",
" '000767',\n",
" '000769',\n",
" '000770',\n",
" '000771',\n",
" '000772',\n",
" '000773',\n",
" '000778',\n",
" '000779',\n",
" '000780',\n",
" '000783',\n",
" '000784',\n",
" '000785',\n",
" '000786',\n",
" '000787',\n",
" '000788',\n",
" '000789',\n",
" '000790',\n",
" '000791',\n",
" '000792',\n",
" '000793',\n",
" '000794',\n",
" '000796',\n",
" '000797',\n",
" '000800',\n",
" '000801',\n",
" '000802',\n",
" '000803',\n",
" '000804',\n",
" '000805',\n",
" '000808',\n",
" '000809',\n",
" '000810',\n",
" '000812',\n",
" '000813',\n",
" '000814',\n",
" '000815',\n",
" '000816',\n",
" '000817',\n",
" '000818',\n",
" '000822',\n",
" '000823',\n",
" '000824',\n",
" '000825',\n",
" '000826',\n",
" '000827',\n",
" '000828',\n",
" '000829',\n",
" '000830',\n",
" '000831',\n",
" '000832',\n",
" '000833',\n",
" '000834',\n",
" '000835',\n",
" '000836',\n",
" '000837',\n",
" '000839',\n",
" '000840',\n",
" '000841',\n",
" '000843',\n",
" '000844',\n",
" '000845',\n",
" '000846',\n",
" '000847',\n",
" '000848',\n",
" '000849',\n",
" '000850',\n",
" '000854',\n",
" '000855',\n",
" '000856',\n",
" '000857',\n",
" '000859',\n",
" '000860',\n",
" '000861',\n",
" '000862',\n",
" '000863',\n",
" '000866',\n",
" '000867',\n",
" '000868',\n",
" '000869',\n",
" '000870',\n",
" '000871',\n",
" '000872',\n",
" '000873',\n",
" '000874',\n",
" '000875',\n",
" '000876',\n",
" '000877',\n",
" '000878',\n",
" '000879',\n",
" '000880',\n",
" '000882',\n",
" '000883',\n",
" '000884',\n",
" '000887',\n",
" '000891',\n",
" '000892',\n",
" '000893',\n",
" '000895',\n",
" '000896',\n",
" '000897',\n",
" '000898',\n",
" '000899',\n",
" '000903',\n",
" '000904',\n",
" '000905',\n",
" '000906',\n",
" '000907',\n",
" '000908',\n",
" '000910',\n",
" '000911',\n",
" '000912',\n",
" '000913',\n",
" '000914',\n",
" '000916',\n",
" '000917',\n",
" '000918',\n",
" '000919',\n",
" '000920',\n",
" '000921',\n",
" '000922',\n",
" '000923',\n",
" '000924',\n",
" '000925',\n",
" '000926',\n",
" '000927',\n",
" '000928',\n",
" '000929',\n",
" '000930',\n",
" '000931',\n",
" '000932',\n",
" '000933',\n",
" '000934',\n",
" '000935',\n",
" '000936',\n",
" '000939',\n",
" '000940',\n",
" '000942',\n",
" '000943',\n",
" '000944',\n",
" '000945',\n",
" '000946',\n",
" '000948',\n",
" '000950',\n",
" '000951',\n",
" '000952',\n",
" '000953',\n",
" '000954',\n",
" '000955',\n",
" '000958',\n",
" '000959',\n",
" '000960',\n",
" '000961',\n",
" '000962',\n",
" '000963',\n",
" '000965',\n",
" '000966',\n",
" '000967',\n",
" '000968',\n",
" '000969',\n",
" '000971',\n",
" '000972',\n",
" '000973',\n",
" '000974',\n",
" '000975',\n",
" '000976',\n",
" '000977',\n",
" '000978',\n",
" '000979',\n",
" '000980',\n",
" '000981',\n",
" '000982',\n",
" '000985',\n",
" '000986',\n",
" '000988',\n",
" '000989',\n",
" '000991',\n",
" '000992',\n",
" '000993',\n",
" '000994',\n",
" '000995',\n",
" '000996',\n",
" '000997',\n",
" '000998',\n",
" '001000',\n",
" '001001',\n",
" '001003',\n",
" '001004',\n",
" '001006',\n",
" '001007',\n",
" '001008',\n",
" '001009',\n",
" '001010',\n",
" '001011',\n",
" '001013',\n",
" '001015',\n",
" '001016',\n",
" '001017',\n",
" '001018',\n",
" '001019',\n",
" '001021',\n",
" '001023',\n",
" '001026',\n",
" '001027',\n",
" '001028',\n",
" '001030',\n",
" '001031',\n",
" '001033',\n",
" '001035',\n",
" '001036',\n",
" '001037',\n",
" '001038',\n",
" '001039',\n",
" '001040',\n",
" '001041',\n",
" '001042',\n",
" '001043',\n",
" '001044',\n",
" '001045',\n",
" '001046',\n",
" '001047',\n",
" '001048',\n",
" '001050',\n",
" '001051',\n",
" '001052',\n",
" '001053',\n",
" '001054',\n",
" '001056',\n",
" '001057',\n",
" '001058',\n",
" '001059',\n",
" '001060',\n",
" '001061',\n",
" '001063',\n",
" '001064',\n",
" '001065',\n",
" '001067',\n",
" '001068',\n",
" '001069',\n",
" '001070',\n",
" '001071',\n",
" '001072',\n",
" '001073',\n",
" '001074',\n",
" '001075',\n",
" '001076',\n",
" '001077',\n",
" '001078',\n",
" '001086',\n",
" '001087',\n",
" '001088',\n",
" '001092',\n",
" '001093',\n",
" '001094',\n",
" '001095',\n",
" '001096',\n",
" '001097',\n",
" '001101',\n",
" '001102',\n",
" '001103',\n",
" '001104',\n",
" '001105',\n",
" '001106',\n",
" '001110',\n",
" '001111',\n",
" '001112',\n",
" '001113',\n",
" '001115',\n",
" '001116',\n",
" '001117',\n",
" '001118',\n",
" '001120',\n",
" '001121',\n",
" '001122',\n",
" '001123',\n",
" '001124',\n",
" '001125',\n",
" '001126',\n",
" '001127',\n",
" '001128',\n",
" '001133',\n",
" '001134',\n",
" '001135',\n",
" '001136',\n",
" '001139',\n",
" '001140',\n",
" '001141',\n",
" '001142',\n",
" '001143',\n",
" '001144',\n",
" '001146',\n",
" '001147',\n",
" '001148',\n",
" '001149',\n",
" '001150',\n",
" '001152',\n",
" '001154',\n",
" '001156',\n",
" '001157',\n",
" '001158',\n",
" '001162',\n",
" '001163',\n",
" '001164',\n",
" '001165',\n",
" '001166',\n",
" '001167',\n",
" '001170',\n",
" '001171',\n",
" '001172',\n",
" '001173',\n",
" '001174',\n",
" '001175',\n",
" '001176',\n",
" '001177',\n",
" '001178',\n",
" '001179',\n",
" '001180',\n",
" '001181',\n",
" '001182',\n",
" '001183',\n",
" '001184',\n",
" '001185',\n",
" '001186',\n",
" '001188',\n",
" '001189',\n",
" '001190',\n",
" '001191',\n",
" '001192',\n",
" '001193',\n",
" '001194',\n",
" '001195',\n",
" '001196',\n",
" '001197',\n",
" '001198',\n",
" '001199',\n",
" '001200',\n",
" '001201',\n",
" '001202',\n",
" '001203',\n",
" '001204',\n",
" '001208',\n",
" '001209',\n",
" '001210',\n",
" '001211',\n",
" '001212',\n",
" '001213',\n",
" '001214',\n",
" '001215',\n",
" '001216',\n",
" '001217',\n",
" '001218',\n",
" '001219',\n",
" '001220',\n",
" '001222',\n",
" '001223',\n",
" '001224',\n",
" '001225',\n",
" '001226',\n",
" '001227',\n",
" '001228',\n",
" '001229',\n",
" '001230',\n",
" '001231',\n",
" '001232',\n",
" '001233',\n",
" '001234',\n",
" '001235',\n",
" '001236',\n",
" '001237',\n",
" '001239',\n",
" '001240',\n",
" '001241',\n",
" '001242',\n",
" '001243',\n",
" '001244',\n",
" '001245',\n",
" '001246',\n",
" '001247',\n",
" '001249',\n",
" '001250',\n",
" '001251',\n",
" '001252',\n",
" '001254',\n",
" '001255',\n",
" '001256',\n",
" '001257',\n",
" '001258',\n",
" '001260',\n",
" '001261',\n",
" '001264',\n",
" '001265',\n",
" '001266',\n",
" '001267',\n",
" '001268',\n",
" '001270',\n",
" '001271',\n",
" '001272',\n",
" '001273',\n",
" '001275',\n",
" '001276',\n",
" '001277',\n",
" '001278',\n",
" '001279',\n",
" '001280',\n",
" '001281',\n",
" '001282',\n",
" '001283',\n",
" '001284',\n",
" '001285',\n",
" '001286',\n",
" '001287',\n",
" '001289',\n",
" '001291',\n",
" '001294',\n",
" '001296',\n",
" '001297',\n",
" '001298',\n",
" '001299',\n",
" '001300',\n",
" '001301',\n",
" '001302',\n",
" '001303',\n",
" '001304',\n",
" '001305',\n",
" '001306',\n",
" '001307',\n",
" '001308',\n",
" '001309',\n",
" '001311',\n",
" '001312',\n",
" '001313',\n",
" '001314',\n",
" '001315',\n",
" '001316',\n",
" '001318',\n",
" '001319',\n",
" '001320',\n",
" '001322',\n",
" '001323',\n",
" '001324',\n",
" '001325',\n",
" '001326',\n",
" '001327',\n",
" '001328',\n",
" '001329',\n",
" '001330',\n",
" '001331',\n",
" '001332',\n",
" '001334',\n",
" '001335',\n",
" '001336',\n",
" '001337',\n",
" '001338',\n",
" '001339',\n",
" '001342',\n",
" '001343',\n",
" '001345',\n",
" '001347',\n",
" '001349',\n",
" ...]"
" SECURITYID L1CODE L1NAME L2CODE L2NAME L3CODE L3NAME \\\n",
"104 1030001076 6 QDII基金 6.4 其他QDII基金 6.4.1 QDII商品基金 \n",
"2743 1030008222 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"2744 1030008224 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"3441 1030000166 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"3455 1030000184 6 QDII基金 6.1 QDII股票基金 6.1.8 QDII股票型基金 \n",
"3886 1030000995 6 QDII基金 6.4 其他QDII基金 6.4.1 QDII商品基金 \n",
"3902 1030001024 6 QDII基金 6.2 QDII混合基金 6.2.1 QDII混合基金 \n",
"\n",
" FDNAME SNAMECOMP FSYMBOL FDNATURE \\\n",
"104 博时抗通胀增强回报证券投资基金 None 050020 FOF \n",
"2743 上投摩根全球多元配置证券投资基金(QDII) 上投摩根全球多元配置(QDII-FOF) 003629 FOF \n",
"2744 上投摩根全球多元配置证券投资基金(QDII) 上投摩根全球多元配置(QDII-FOF) 003631 FOF \n",
"3441 银华全球核心优选证券投资基金 None 183001 FOF \n",
"3455 南方全球精选配置证券投资基金 None 202801 FOF \n",
"3886 诺安全球黄金证券投资基金 None 320013 FOF \n",
"3902 中银全球策略证券投资基金(FOF) None 163813 FOF \n",
"\n",
" INVESTSTYLE \n",
"104 商品型 \n",
"2743 稳健成长型 \n",
"2744 稳健成长型 \n",
"3441 稳健成长型 \n",
"3455 增值型 \n",
"3886 商品型 \n",
"3902 稳健成长型 "
]
},
"execution_count": 17,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sorted(df.FSYMBOL.unique().tolist())"
"df"
]
},
{
......
......@@ -24,17 +24,28 @@ def nearest_report_date(date):
return dt.date(last_year, q, last).strftime("%Y%m%d")
def fd_alive_funds(trade_dt, type_style, class_code):
sec_codes = read_sql(f"""
def fd_alive_funds(trade_dt, class_code=None):
if class_code:
query = f"""
select SECODE from TQ_FD_TYPE
WHERE
ISVALID = 1 AND
TYPESTYLE = '{type_style}' AND
TYPESTYLE = '{str(class_code)[0]}' AND
CLASSCODE = '{class_code}' AND
BEGINDATE <= '{trade_dt}' AND
(ENDDATE>='{trade_dt}' or ENDDATE = '19000101')
ORDER BY SECODE;
""")["SECODE"].unique().tolist()
"""
else:
query = f"""
select SECODE from TQ_FD_TYPE
WHERE
ISVALID = 1 AND
BEGINDATE <= '{trade_dt}' AND
(ENDDATE>='{trade_dt}' or ENDDATE = '19000101')
ORDER BY SECODE;
"""
sec_codes = read_sql(query)["SECODE"].unique().tolist()
return sec_codes
......@@ -53,15 +64,15 @@ def fd_basicinfo(security_ids=None, trade_dt=None):
if sec_id_strs:
query = f"""
select SECURITYID, FDNAME, SNAMECOMP, FSYMBOL, FDNATURE, INVESTSTYLE from TQ_FD_BASICINFO
select SECODE as SECURITYID, FDNAME, SNAMECOMP, FSYMBOL, FDNATURE, INVESTSTYLE from TQ_FD_BASICINFO
WHERE
ISVALID = 1 AND
SECURITYID in ({sec_id_strs}) AND
SECODE in ({sec_id_strs}) AND
(LIQUENDDATE >= '{trade_dt}' or LIQUENDDATE = '19000101')
"""
else:
query = f"""
select SECURITYID, FDNAME, SNAMECOMP, FSYMBOL, FDNATURE, INVESTSTYLE from TQ_FD_BASICINFO
select SECODE as SECURITYID, FDNAME, SNAMECOMP, FSYMBOL, FDNATURE, INVESTSTYLE from TQ_FD_BASICINFO
WHERE
ISVALID = 1 AND
(LIQUENDDATE >= '{trade_dt}' or LIQUENDDATE = '19000101')
......@@ -127,35 +138,35 @@ def fd_assetportfolio(security_ids, report_dates_begin, report_dates_end=None):
sec_id_strs = ",".join(["'" + s + "'" for s in security_ids])
if report_dates_end:
query = f"""
SELECT SECURITYID, REPORTDATE, BDRTO, CONVBDRTO, EQUITYINVERTO from TQ_FD_ASSETPORTFOLIO
SELECT SECODE as SECURITYID, REPORTDATE, BDRTO, CONVBDRTO, EQUITYINVERTO from TQ_FD_ASSETPORTFOLIO
WHERE
REPORTDATE >= '{report_dates_begin}' AND
REPORTDATE <= '{report_dates_end}' AND
ISVALID = 1 AND
SECURITYID in ({sec_id_strs})
SECODE in ({sec_id_strs})
"""
else:
query = f"""
SELECT SECURITYID, REPORTDATE, BDRTO, CONVBDRTO, EQUITYINVERTO from TQ_FD_ASSETPORTFOLIO
SELECT SECODE as SECURITYID, REPORTDATE, BDRTO, CONVBDRTO, EQUITYINVERTO from TQ_FD_ASSETPORTFOLIO
WHERE
REPORTDATE >= '{report_dates_begin}' AND
ISVALID = 1 AND
SECURITYID in ({sec_id_strs})
SECODE in ({sec_id_strs})
"""
return read_sql(query).sort_values("SECURITYID")
def fd_derieden(security_ids, trade_dt):
def fd_qtfdnav(security_ids, trade_dt):
if isinstance(security_ids, str):
sec_id_strs = security_ids
else:
sec_id_strs = ",".join(["'" + s + "'" for s in security_ids])
query = f"""
SELECT SECURITYID, UNITNAV, UNITACCNAV, REPAIRUNITNAV, NAVGRTD from TQ_FD_DERIVEDN
SELECT SECODE as SECURITYID, UNITNAV, ACCUNITNAV from TQ_QT_FDNAV
WHERE
ENDDATE = '{trade_dt}' AND
NAVDATE = '{trade_dt}' AND
ISVALID = 1 AND
SECURITYID in ({sec_id_strs})
SECODE in ({sec_id_strs})
"""
return read_sql(query).sort_values("SECURITYID")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment