Commit 2387388e authored by Dr.李's avatar Dr.李

added more api

parent c0494dcc
......@@ -94,52 +94,52 @@
" <tr>\n",
" <th>0</th>\n",
" <td>1030000006</td>\n",
" <td>2010000438</td>\n",
" <td>贵州茅台</td>\n",
" <td>1.363078e+08</td>\n",
" <td>66275.0</td>\n",
" <td>3.08</td>\n",
" <td>0.040273</td>\n",
" <td>2010000045</td>\n",
" <td>海信视像</td>\n",
" <td>71468410.00</td>\n",
" <td>4228900.0</td>\n",
" <td>1.61</td>\n",
" <td>0.021116</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>1030000006</td>\n",
" <td>2010034058</td>\n",
" <td>中红医疗</td>\n",
" <td>5.432439e+04</td>\n",
" <td>601.0</td>\n",
" <td>2010034181</td>\n",
" <td>宁波方正</td>\n",
" <td>4285.32</td>\n",
" <td>201.0</td>\n",
" <td>NaN</td>\n",
" <td>0.000016</td>\n",
" <td>0.000001</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84</th>\n",
" <td>1030000006</td>\n",
" <td>2010034057</td>\n",
" <td>苏文电能</td>\n",
" <td>1.435693e+04</td>\n",
" <td>317.0</td>\n",
" <td>2010034138</td>\n",
" <td>玉马遮阳</td>\n",
" <td>7908.90</td>\n",
" <td>410.0</td>\n",
" <td>NaN</td>\n",
" <td>0.000004</td>\n",
" <td>0.000002</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>1030000006</td>\n",
" <td>2010034045</td>\n",
" <td>华利集团</td>\n",
" <td>8.093750e+04</td>\n",
" <td>925.0</td>\n",
" <td>2010034132</td>\n",
" <td>泰福泵业</td>\n",
" <td>4064.00</td>\n",
" <td>200.0</td>\n",
" <td>NaN</td>\n",
" <td>0.000024</td>\n",
" <td>0.000001</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td>1030000006</td>\n",
" <td>2010034043</td>\n",
" <td>商络电子</td>\n",
" <td>6.410760e+03</td>\n",
" <td>492.0</td>\n",
" <td>2010034131</td>\n",
" <td>百川畅银</td>\n",
" <td>13285.02</td>\n",
" <td>329.0</td>\n",
" <td>NaN</td>\n",
" <td>0.000002</td>\n",
" <td>0.000004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
......@@ -154,49 +154,49 @@
" <tr>\n",
" <th>33</th>\n",
" <td>1030000006</td>\n",
" <td>2010009830</td>\n",
" <td>益丰药房</td>\n",
" <td>4.356965e+07</td>\n",
" <td>776781.0</td>\n",
" <td>0.98</td>\n",
" <td>0.012873</td>\n",
" <td>2010029637</td>\n",
" <td>科沃斯</td>\n",
" <td>85084787.84</td>\n",
" <td>373048.0</td>\n",
" <td>1.92</td>\n",
" <td>0.025139</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>1030000006</td>\n",
" <td>2010009541</td>\n",
" <td>芒果超媒</td>\n",
" <td>7.366405e+07</td>\n",
" <td>1073820.0</td>\n",
" <td>1.66</td>\n",
" <td>0.021765</td>\n",
" <td>2010028450</td>\n",
" <td>药石科技</td>\n",
" <td>83560757.67</td>\n",
" <td>525837.0</td>\n",
" <td>1.89</td>\n",
" <td>0.024689</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>1030000006</td>\n",
" <td>2010008723</td>\n",
" <td>九洲药业</td>\n",
" <td>1.447684e+07</td>\n",
" <td>298000.0</td>\n",
" <td>0.33</td>\n",
" <td>0.004277</td>\n",
" <td>2010027040</td>\n",
" <td>英科医疗</td>\n",
" <td>10458240.00</td>\n",
" <td>83800.0</td>\n",
" <td>0.24</td>\n",
" <td>0.003090</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>1030000006</td>\n",
" <td>2010029637</td>\n",
" <td>科沃斯</td>\n",
" <td>8.508479e+07</td>\n",
" <td>373048.0</td>\n",
" <td>1.92</td>\n",
" <td>0.025139</td>\n",
" <td>2010033620</td>\n",
" <td>江天化学</td>\n",
" <td>6531.70</td>\n",
" <td>217.0</td>\n",
" <td>NaN</td>\n",
" <td>0.000002</td>\n",
" </tr>\n",
" <tr>\n",
" <th>117</th>\n",
" <td>1030000006</td>\n",
" <td>2010034373</td>\n",
" <td>英科再生</td>\n",
" <td>5.421924e+04</td>\n",
" <td>54219.24</td>\n",
" <td>2469.0</td>\n",
" <td>NaN</td>\n",
" <td>0.000016</td>\n",
......@@ -207,18 +207,18 @@
"</div>"
],
"text/plain": [
" SECURITYID SKCODE SKNAME HOLDMKTCAP HOLDAMT NAVRTO pct\n",
"0 1030000006 2010000438 贵州茅台 1.363078e+08 66275.0 3.08 0.040273\n",
"85 1030000006 2010034058 中红医疗 5.432439e+04 601.0 NaN 0.000016\n",
"84 1030000006 2010034057 苏文电能 1.435693e+04 317.0 NaN 0.000004\n",
"83 1030000006 2010034045 华利集团 8.093750e+04 925.0 NaN 0.000024\n",
"82 1030000006 2010034043 商络电子 6.410760e+03 492.0 NaN 0.000002\n",
".. ... ... ... ... ... ... ...\n",
"33 1030000006 2010009830 益丰药房 4.356965e+07 776781.0 0.98 0.012873\n",
"32 1030000006 2010009541 芒果超媒 7.366405e+07 1073820.0 1.66 0.021765\n",
"31 1030000006 2010008723 九洲药业 1.447684e+07 298000.0 0.33 0.004277\n",
"43 1030000006 2010029637 科沃斯 8.508479e+07 373048.0 1.92 0.025139\n",
"117 1030000006 2010034373 英科再生 5.421924e+04 2469.0 NaN 0.000016\n",
" SECURITYID SKCODE SKNAME HOLDMKTCAP HOLDAMT NAVRTO pct\n",
"0 1030000006 2010000045 海信视像 71468410.00 4228900.0 1.61 0.021116\n",
"85 1030000006 2010034181 宁波方正 4285.32 201.0 NaN 0.000001\n",
"84 1030000006 2010034138 玉马遮阳 7908.90 410.0 NaN 0.000002\n",
"83 1030000006 2010034132 泰福泵业 4064.00 200.0 NaN 0.000001\n",
"82 1030000006 2010034131 百川畅银 13285.02 329.0 NaN 0.000004\n",
".. ... ... ... ... ... ... ...\n",
"33 1030000006 2010029637 科沃斯 85084787.84 373048.0 1.92 0.025139\n",
"32 1030000006 2010028450 药石科技 83560757.67 525837.0 1.89 0.024689\n",
"31 1030000006 2010027040 英科医疗 10458240.00 83800.0 0.24 0.003090\n",
"43 1030000006 2010033620 江天化学 6531.70 217.0 NaN 0.000002\n",
"117 1030000006 2010034373 英科再生 54219.24 2469.0 NaN 0.000016\n",
"\n",
"[118 rows x 7 columns]"
]
......@@ -398,9 +398,381 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 7,
"id": "90957b2b-fc4c-4e7f-b50b-b2189573f1d9",
"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>trade_date</th>\n",
" <th>security_code</th>\n",
" <th>BETA</th>\n",
" <th>MOMENTUM</th>\n",
" <th>SIZE</th>\n",
" <th>EARNYILD</th>\n",
" <th>RESVOL</th>\n",
" <th>GROWTH</th>\n",
" <th>BTOP</th>\n",
" <th>LEVERAGE</th>\n",
" <th>...</th>\n",
" <th>Utilities</th>\n",
" <th>Telecom</th>\n",
" <th>AgriForest</th>\n",
" <th>CHEM</th>\n",
" <th>Media</th>\n",
" <th>IronSteel</th>\n",
" <th>NonBankFinan</th>\n",
" <th>ELECEQP</th>\n",
" <th>AERODEF</th>\n",
" <th>Conglomerates</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000045</td>\n",
" <td>-0.017</td>\n",
" <td>-0.340</td>\n",
" <td>-0.841</td>\n",
" <td>-0.234</td>\n",
" <td>-0.041</td>\n",
" <td>-0.696</td>\n",
" <td>0.755</td>\n",
" <td>-0.586</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000121</td>\n",
" <td>-1.274</td>\n",
" <td>-0.758</td>\n",
" <td>-1.765</td>\n",
" <td>-0.103</td>\n",
" <td>-0.753</td>\n",
" <td>-0.247</td>\n",
" <td>1.087</td>\n",
" <td>0.589</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000171</td>\n",
" <td>0.465</td>\n",
" <td>1.300</td>\n",
" <td>0.996</td>\n",
" <td>-0.862</td>\n",
" <td>1.511</td>\n",
" <td>-0.020</td>\n",
" <td>-0.778</td>\n",
" <td>-0.133</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000377</td>\n",
" <td>2.436</td>\n",
" <td>1.730</td>\n",
" <td>1.325</td>\n",
" <td>-1.262</td>\n",
" <td>-0.079</td>\n",
" <td>0.305</td>\n",
" <td>-1.297</td>\n",
" <td>-1.375</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000438</td>\n",
" <td>1.073</td>\n",
" <td>0.593</td>\n",
" <td>2.359</td>\n",
" <td>-0.937</td>\n",
" <td>-0.886</td>\n",
" <td>0.100</td>\n",
" <td>-1.187</td>\n",
" <td>-1.485</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>104</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010034304</td>\n",
" <td>-1.512</td>\n",
" <td>-1.342</td>\n",
" <td>-2.006</td>\n",
" <td>-0.971</td>\n",
" <td>0.109</td>\n",
" <td>0.762</td>\n",
" <td>-1.077</td>\n",
" <td>-0.979</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>105</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010034305</td>\n",
" <td>-1.952</td>\n",
" <td>-1.374</td>\n",
" <td>-2.572</td>\n",
" <td>-0.499</td>\n",
" <td>0.242</td>\n",
" <td>-1.154</td>\n",
" <td>-0.990</td>\n",
" <td>-1.394</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>106</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010034317</td>\n",
" <td>-1.587</td>\n",
" <td>-1.935</td>\n",
" <td>-1.743</td>\n",
" <td>-0.416</td>\n",
" <td>0.616</td>\n",
" <td>-0.501</td>\n",
" <td>-0.691</td>\n",
" <td>-1.083</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>107</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010034318</td>\n",
" <td>-1.535</td>\n",
" <td>-1.314</td>\n",
" <td>-2.423</td>\n",
" <td>0.760</td>\n",
" <td>0.782</td>\n",
" <td>-0.533</td>\n",
" <td>-0.051</td>\n",
" <td>0.265</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>108</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010034324</td>\n",
" <td>-1.234</td>\n",
" <td>-0.869</td>\n",
" <td>-0.592</td>\n",
" <td>-0.728</td>\n",
" <td>0.346</td>\n",
" <td>0.457</td>\n",
" <td>-1.232</td>\n",
" <td>-0.630</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>109 rows × 40 columns</p>\n",
"</div>"
],
"text/plain": [
" trade_date security_code BETA MOMENTUM SIZE EARNYILD RESVOL \\\n",
"0 2021-06-30 2010000045 -0.017 -0.340 -0.841 -0.234 -0.041 \n",
"1 2021-06-30 2010000121 -1.274 -0.758 -1.765 -0.103 -0.753 \n",
"2 2021-06-30 2010000171 0.465 1.300 0.996 -0.862 1.511 \n",
"3 2021-06-30 2010000377 2.436 1.730 1.325 -1.262 -0.079 \n",
"4 2021-06-30 2010000438 1.073 0.593 2.359 -0.937 -0.886 \n",
".. ... ... ... ... ... ... ... \n",
"104 2021-06-30 2010034304 -1.512 -1.342 -2.006 -0.971 0.109 \n",
"105 2021-06-30 2010034305 -1.952 -1.374 -2.572 -0.499 0.242 \n",
"106 2021-06-30 2010034317 -1.587 -1.935 -1.743 -0.416 0.616 \n",
"107 2021-06-30 2010034318 -1.535 -1.314 -2.423 0.760 0.782 \n",
"108 2021-06-30 2010034324 -1.234 -0.869 -0.592 -0.728 0.346 \n",
"\n",
" GROWTH BTOP LEVERAGE ... Utilities Telecom AgriForest CHEM \\\n",
"0 -0.696 0.755 -0.586 ... 0 0 0 0 \n",
"1 -0.247 1.087 0.589 ... 0 0 0 0 \n",
"2 -0.020 -0.778 -0.133 ... 0 0 0 0 \n",
"3 0.305 -1.297 -1.375 ... 0 0 0 0 \n",
"4 0.100 -1.187 -1.485 ... 0 0 0 0 \n",
".. ... ... ... ... ... ... ... ... \n",
"104 0.762 -1.077 -0.979 ... 0 0 0 0 \n",
"105 -1.154 -0.990 -1.394 ... 0 0 0 0 \n",
"106 -0.501 -0.691 -1.083 ... 0 0 0 0 \n",
"107 -0.533 -0.051 0.265 ... 1 0 0 0 \n",
"108 0.457 -1.232 -0.630 ... 0 0 0 0 \n",
"\n",
" Media IronSteel NonBankFinan ELECEQP AERODEF Conglomerates \n",
"0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 \n",
".. ... ... ... ... ... ... \n",
"104 0 0 0 0 0 0 \n",
"105 0 0 0 0 0 0 \n",
"106 0 0 0 0 0 0 \n",
"107 0 0 0 0 0 0 \n",
"108 0 0 0 0 0 0 \n",
"\n",
"[109 rows x 40 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ddf"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fd64eb4b-489e-46be-ba48-7d7c3c12a32a",
"metadata": {},
"outputs": [],
"source": []
}
......
......@@ -2,10 +2,224 @@
"cells": [
{
"cell_type": "code",
"execution_count": null,
"execution_count": 1,
"id": "a1fbf6c8-e22a-4d0d-b3d8-c6c54d60bce1",
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"sys.path.append(\"../\")\n",
"from fof.utility import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "21a0b455-1eb3-47f0-8a9c-15533dd12939",
"metadata": {},
"outputs": [],
"source": [
"df = fd_skdetail(\"1030000006\", trade_dt=\"20210630\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "82ca3a10-45e2-4b49-8be1-1e77104a1a52",
"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>trade_date</th>\n",
" <th>security_code</th>\n",
" <th>sname</th>\n",
" <th>weighing</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>115</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000001</td>\n",
" <td>浦发银行</td>\n",
" <td>0.55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>116</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000010</td>\n",
" <td>上海机场</td>\n",
" <td>0.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>117</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000011</td>\n",
" <td>包钢股份</td>\n",
" <td>0.17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>118</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000012</td>\n",
" <td>华能国际</td>\n",
" <td>0.09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>119</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010000014</td>\n",
" <td>华夏银行</td>\n",
" <td>0.18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>296</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010032227</td>\n",
" <td>沪硅产业</td>\n",
" <td>0.07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>278</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010032240</td>\n",
" <td>万泰生物</td>\n",
" <td>0.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>191</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010032306</td>\n",
" <td>中泰证券</td>\n",
" <td>0.04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>270</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010032493</td>\n",
" <td>甘李药业</td>\n",
" <td>0.03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>267</th>\n",
" <td>2021-06-30</td>\n",
" <td>2010033291</td>\n",
" <td>中金公司</td>\n",
" <td>0.08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>300 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" trade_date security_code sname weighing\n",
"115 2021-06-30 2010000001 浦发银行 0.55\n",
"116 2021-06-30 2010000010 上海机场 0.22\n",
"117 2021-06-30 2010000011 包钢股份 0.17\n",
"118 2021-06-30 2010000012 华能国际 0.09\n",
"119 2021-06-30 2010000014 华夏银行 0.18\n",
".. ... ... ... ...\n",
"296 2021-06-30 2010032227 沪硅产业 0.07\n",
"278 2021-06-30 2010032240 万泰生物 0.08\n",
"191 2021-06-30 2010032306 中泰证券 0.04\n",
"270 2021-06-30 2010032493 甘李药业 0.03\n",
"267 2021-06-30 2010033291 中金公司 0.08\n",
"\n",
"[300 rows x 4 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"index_component(\"2070000060\", trade_dt=\"20210630\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "6d57d8f9-6c1c-4a41-ae64-87763648a22b",
"metadata": {},
"outputs": [],
"source": [
"res = sw_industry_daily(df.SKCODE, \"20210630\", 2)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "6883105d-9a59-4e08-847c-a9c056826fd1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"39"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(res.industry_name.unique())"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "fa17cc0d-61ad-4958-bf01-7cdc1c17230d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 44.6 s\n"
]
}
],
"source": [
"%%time\n",
"rtns = stk_return_range(df.SKCODE, \"20210630\", \"20211231\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7743d37c-eb35-4294-95ef-da1007e3c175",
"metadata": {},
"outputs": [],
"source": []
}
],
......
......@@ -256,7 +256,7 @@ def risk_exposure(security_ids, trade_dt):
sec_id_strs = ",".join(["'" + s + "'" for s in security_ids])
query = f"""
SELECT * FROM risk_exposure
SELECT trade_date, security_code, {','.join(RISK_STYLES)}, {','.join(INDUSTRY_STYLES)} FROM risk_exposure
WHERE
trade_date = '{_to_yyyy_mm_dd(trade_dt)}' AND
is_verify = 1 AND
......@@ -291,4 +291,57 @@ def special_risk(security_ids, trade_dt, model="short"):
flag = 1 AND
security_code IN ({sec_id_strs})
"""
return read_sql(query, source="mysql").sort_values("security_code")
\ No newline at end of file
return read_sql(query, source="mysql").sort_values("security_code")
def index_component(index_code, trade_dt):
query = f"""
SELECT index_component.trade_date, index_component.security_code, `index`.sname, `index`.weighing FROM `index`
JOIN index_component ON
`index`.trade_date = index_component.trade_date AND
`index`.isymbol = index_component.isymbol AND
`index`.symbol = index_component.symbol
WHERE
`index`.trade_date = '{_to_yyyy_mm_dd(trade_dt)}' AND
`index`.is_verify = 1 AND
`index`.flag = 1 AND
index_component.is_verify = 1 AND
index_component.flag = 1 AND
index_component.isecurity_code = '{index_code}';
"""
return read_sql(query, source="mysql").sort_values("security_code")
def sw_industry_daily(security_ids, trade_dt, level=1):
if isinstance(security_ids, str):
sec_id_strs = security_ids
else:
sec_id_strs = ",".join(["'" + s + "'" for s in security_ids])
query = f"""
SELECT trade_date, security_code, industry_code{level} as industry_code, industry_name{level} as industry_name FROM sw_industry_daily
WHERE
trade_date = '{_to_yyyy_mm_dd(trade_dt)}' AND
is_verify = 1 AND
flag = 1 AND
security_code IN ({sec_id_strs})
"""
return read_sql(query, source="mysql").sort_values("security_code")
def stk_return_range(security_ids, start_date, end_date):
if isinstance(security_ids, str):
sec_id_strs = security_ids
else:
sec_id_strs = ",".join(["'" + s + "'" for s in security_ids])
query = f"""
SELECT security_code, min(trade_date) as start_date, max(trade_date) as end_date, exp(sum(log(change_pct / 100.0 + 1.0))) - 1.0 as rtn FROM stk_daily_price_pro
WHERE
trade_date >= '{_to_yyyy_mm_dd(start_date)}' AND
trade_date <= '{_to_yyyy_mm_dd(end_date)}' AND
security_code IN ({sec_id_strs}) AND
flag = 1
GROUP BY security_code;
"""
return read_sql(query, source="mysql").sort_values("security_code")
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