1
0

增加金字塔选股规则

This commit is contained in:
2025-01-09 18:05:06 +08:00
parent db713cb3b3
commit 0dccacc0e2
3 changed files with 5870 additions and 5385 deletions

View File

@@ -0,0 +1,247 @@
{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-01-09T06:12:53.680561Z",
"start_time": "2025-01-09T06:12:52.994179Z"
}
},
"source": [
"import tushare as ts\n",
"\n",
"ts_pro = ts.pro_api(token=\"64ebff4fa679167600b905ee45dd88e76f3963c0ff39157f3f085f0e\")"
],
"outputs": [],
"execution_count": 2
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-01-09T06:28:32.524630Z",
"start_time": "2025-01-09T06:27:15.688831Z"
}
},
"cell_type": "code",
"source": [
"# 从1989年开始循环年份\n",
"for year in range(2000, 2024):\n",
" # ts_pro.balancesheet_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/资产负债表/{year}.csv\")\n",
" # ts_pro.cashflow_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/现金流量表/{year}.csv\")\n",
" # ts_pro.income_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/利润表/{year}.csv\")\n",
" ts_pro.fina_indicator_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/财务指标/{year}.csv\")\n",
" # ts_pro.fina_audit(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/审计意见/{year}.csv\")"
],
"id": "b03b118c70b21315",
"outputs": [],
"execution_count": 15
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-01-09T06:21:41.656501Z",
"start_time": "2025-01-09T06:21:41.620154Z"
}
},
"cell_type": "code",
"source": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv('../temp/财务报表/利润表/2000.csv')\n",
"# 移除第一列\n",
"df = df.iloc[:, 1:]\n",
"df.set_index('ts_code', inplace=True)\n",
"df = df[[\"total_revenue\", \"revenue\", \"total_cogs\",\"oper_exp\",\"rd_exp\"]]\n",
"df"
],
"id": "7e3783e99491ba52",
"outputs": [
{
"data": {
"text/plain": [
" total_revenue revenue total_cogs oper_exp rd_exp\n",
"ts_code \n",
"688183.SH 6.282300e+08 6.282300e+08 NaN NaN NaN\n",
"601939.SH 5.349400e+10 5.349400e+10 4.329800e+10 4.329800e+10 NaN\n",
"600074.SH 4.957749e+08 4.957749e+08 4.287281e+08 NaN NaN\n",
"600699.SH 2.276245e+08 2.276245e+08 1.765832e+08 NaN NaN\n",
"600779.SH 1.280558e+09 1.280558e+09 1.080933e+09 NaN NaN\n",
"... ... ... ... ... ...\n",
"600438.SH 3.533686e+08 3.533686e+08 3.194762e+08 NaN NaN\n",
"600493.SH 1.421895e+08 1.421895e+08 1.250877e+08 NaN NaN\n",
"600572.SH 1.944064e+08 1.944064e+08 1.459411e+08 NaN NaN\n",
"600986.SH 2.563444e+08 2.563444e+08 2.089118e+08 NaN NaN\n",
"600982.SH 8.646501e+07 8.646501e+07 6.824224e+07 NaN NaN\n",
"\n",
"[1264 rows x 5 columns]"
],
"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>total_revenue</th>\n",
" <th>revenue</th>\n",
" <th>total_cogs</th>\n",
" <th>oper_exp</th>\n",
" <th>rd_exp</th>\n",
" </tr>\n",
" <tr>\n",
" <th>ts_code</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>688183.SH</th>\n",
" <td>6.282300e+08</td>\n",
" <td>6.282300e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>601939.SH</th>\n",
" <td>5.349400e+10</td>\n",
" <td>5.349400e+10</td>\n",
" <td>4.329800e+10</td>\n",
" <td>4.329800e+10</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600074.SH</th>\n",
" <td>4.957749e+08</td>\n",
" <td>4.957749e+08</td>\n",
" <td>4.287281e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600699.SH</th>\n",
" <td>2.276245e+08</td>\n",
" <td>2.276245e+08</td>\n",
" <td>1.765832e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600779.SH</th>\n",
" <td>1.280558e+09</td>\n",
" <td>1.280558e+09</td>\n",
" <td>1.080933e+09</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600438.SH</th>\n",
" <td>3.533686e+08</td>\n",
" <td>3.533686e+08</td>\n",
" <td>3.194762e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600493.SH</th>\n",
" <td>1.421895e+08</td>\n",
" <td>1.421895e+08</td>\n",
" <td>1.250877e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600572.SH</th>\n",
" <td>1.944064e+08</td>\n",
" <td>1.944064e+08</td>\n",
" <td>1.459411e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600986.SH</th>\n",
" <td>2.563444e+08</td>\n",
" <td>2.563444e+08</td>\n",
" <td>2.089118e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600982.SH</th>\n",
" <td>8.646501e+07</td>\n",
" <td>8.646501e+07</td>\n",
" <td>6.824224e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1264 rows × 5 columns</p>\n",
"</div>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 12
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "575590399bf15e70"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}