1、策略更新
2、新增qmt
This commit is contained in:
5903
main/data/daily_data_none.ipynb
Normal file
5903
main/data/daily_data_none.ipynb
Normal file
File diff suppressed because it is too large
Load Diff
@@ -83,32 +83,32 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date close open high low \\\n",
|
||||
"0 000905.SH 20251010 7398.2241 7499.3917 7509.1161 7373.9841 \n",
|
||||
"1 000905.SH 20251009 7548.9226 7470.0474 7559.0920 7437.3242 \n",
|
||||
"2 000905.SH 20250930 7412.3684 7372.5240 7428.0307 7372.0634 \n",
|
||||
"3 000905.SH 20250929 7350.5599 7251.5221 7377.2217 7216.7357 \n",
|
||||
"4 000905.SH 20250926 7240.9114 7311.8433 7351.7931 7237.0459 \n",
|
||||
"0 000905.SH 20251121 6817.4103 6955.7485 6986.7784 6817.4103 \n",
|
||||
"1 000905.SH 20251120 7061.9497 7174.1046 7180.7320 7056.9003 \n",
|
||||
"2 000905.SH 20251119 7122.7465 7141.2641 7178.1495 7086.1232 \n",
|
||||
"3 000905.SH 20251118 7151.0176 7215.0302 7230.5416 7118.4085 \n",
|
||||
"4 000905.SH 20251117 7235.3512 7248.9216 7262.3306 7202.5932 \n",
|
||||
"... ... ... ... ... ... ... \n",
|
||||
"13810 399006.SZ 20100607 1069.4680 1005.0280 1075.2250 1001.7020 \n",
|
||||
"13811 399006.SZ 20100604 1027.6810 989.6810 1027.6810 986.5040 \n",
|
||||
"13812 399006.SZ 20100603 998.3940 1002.3550 1026.7020 997.7750 \n",
|
||||
"13813 399006.SZ 20100602 997.1190 967.6090 997.1190 952.6110 \n",
|
||||
"13814 399006.SZ 20100601 973.2330 986.0150 994.7930 948.1180 \n",
|
||||
"13900 399006.SZ 20100607 1069.4680 1005.0280 1075.2250 1001.7020 \n",
|
||||
"13901 399006.SZ 20100604 1027.6810 989.6810 1027.6810 986.5040 \n",
|
||||
"13902 399006.SZ 20100603 998.3940 1002.3550 1026.7020 997.7750 \n",
|
||||
"13903 399006.SZ 20100602 997.1190 967.6090 997.1190 952.6110 \n",
|
||||
"13904 399006.SZ 20100601 973.2330 986.0150 994.7930 948.1180 \n",
|
||||
"\n",
|
||||
" pre_close change pct_chg vol amount \n",
|
||||
"0 7548.9226 -150.6985 -1.9963 2.622566e+08 5.021274e+08 \n",
|
||||
"1 7412.3684 136.5542 1.8422 2.831308e+08 5.357568e+08 \n",
|
||||
"2 7350.5599 61.8085 0.8409 2.207075e+08 4.449564e+08 \n",
|
||||
"3 7240.9114 109.6485 1.5143 2.335394e+08 4.338645e+08 \n",
|
||||
"4 7341.3238 -100.4124 -1.3678 2.114441e+08 4.301976e+08 \n",
|
||||
"0 7061.9497 -244.5394 -3.4628 2.089334e+08 3.109687e+08 \n",
|
||||
"1 7122.7465 -60.7968 -0.8536 1.596187e+08 2.541582e+08 \n",
|
||||
"2 7151.0176 -28.2711 -0.3953 1.627866e+08 2.567551e+08 \n",
|
||||
"3 7235.3512 -84.3336 -1.1656 2.022141e+08 3.065400e+08 \n",
|
||||
"4 7235.4617 -0.1105 -0.0015 2.030506e+08 3.108232e+08 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"13810 1027.6810 41.7870 4.0661 2.655275e+06 9.106095e+06 \n",
|
||||
"13811 998.3940 29.2870 2.9334 1.500295e+06 5.269441e+06 \n",
|
||||
"13812 997.1190 1.2750 0.1279 1.616805e+06 6.240835e+06 \n",
|
||||
"13813 973.2330 23.8860 2.4543 1.074628e+06 4.001206e+06 \n",
|
||||
"13814 1000.0000 -26.7670 -2.6767 1.356285e+06 4.924177e+06 \n",
|
||||
"13900 1027.6810 41.7870 4.0661 2.655275e+06 9.106095e+06 \n",
|
||||
"13901 998.3940 29.2870 2.9334 1.500295e+06 5.269441e+06 \n",
|
||||
"13902 997.1190 1.2750 0.1279 1.616805e+06 6.240835e+06 \n",
|
||||
"13903 973.2330 23.8860 2.4543 1.074628e+06 4.001206e+06 \n",
|
||||
"13904 1000.0000 -26.7670 -2.6767 1.356285e+06 4.924177e+06 \n",
|
||||
"\n",
|
||||
"[13815 rows x 11 columns]\n"
|
||||
"[13905 rows x 11 columns]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
179
main/data/qlib.ipynb
Normal file
179
main/data/qlib.ipynb
Normal file
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "2d9eb12f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from operator import index\n",
|
||||
"\n",
|
||||
"import tushare as ts\n",
|
||||
"import pandas as pd\n",
|
||||
"import time\n",
|
||||
"\n",
|
||||
"ts.set_token('3a0741c702ee7e5e5f2bf1f0846bafaafe4e320833240b2a7e4a685f')\n",
|
||||
"pro = ts.pro_api()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "0c5a87ba",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date his_low his_high cost_5pct cost_15pct \\\n",
|
||||
"0 000001.SZ 20180104 0.2 12.3 7.2 8.7 \n",
|
||||
"1 000002.SZ 20180104 0.2 25.6 15.0 17.6 \n",
|
||||
"2 000004.SZ 20180104 0.8 53.2 21.6 22.0 \n",
|
||||
"3 000008.SZ 20180104 0.1 13.9 7.2 7.8 \n",
|
||||
"4 000009.SZ 20180104 0.3 15.0 5.8 5.9 \n",
|
||||
"... ... ... ... ... ... ... \n",
|
||||
"3095 603991.SH 20180104 12.0 67.8 26.4 27.0 \n",
|
||||
"3096 603993.SH 20180104 1.4 8.6 5.4 5.6 \n",
|
||||
"3097 603997.SH 20180104 5.4 31.5 9.9 10.2 \n",
|
||||
"3098 603998.SH 20180104 3.8 18.3 9.5 9.8 \n",
|
||||
"3099 603999.SH 20180104 3.6 30.6 6.9 6.9 \n",
|
||||
"\n",
|
||||
" cost_50pct cost_85pct cost_95pct weight_avg winner_rate \n",
|
||||
"0 10.8 11.8 12.1 10.39 44.59 \n",
|
||||
"1 22.2 24.4 24.8 21.31 97.14 \n",
|
||||
"2 23.6 27.6 29.6 24.71 45.41 \n",
|
||||
"3 8.6 9.2 10.5 8.64 47.04 \n",
|
||||
"4 6.6 7.6 7.8 6.74 38.85 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"3095 27.6 30.6 34.2 28.54 57.36 \n",
|
||||
"3096 6.1 6.9 7.3 6.15 72.78 \n",
|
||||
"3097 10.5 11.7 11.7 10.84 11.28 \n",
|
||||
"3098 11.5 13.0 15.2 11.72 18.44 \n",
|
||||
"3099 7.8 9.3 9.9 8.00 31.89 \n",
|
||||
"\n",
|
||||
"[3100 rows x 11 columns]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"df = pro.cyq_perf(trade_date='20180104')\n",
|
||||
"print(df)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "500292d5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"import time\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20250820')\n",
|
||||
"trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n",
|
||||
"trade_dates = trade_cal['cal_date'].tolist()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4ae3cb65",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"✅ 日历文件已保存至: /mnt/d/PyProject/NewStock/data/qlib/calendar/day.txt\n",
|
||||
"📅 共 2097 个交易日\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"\n",
|
||||
"calendar_dir = \"/mnt/d/PyProject/NewStock/data/qlib/calendars\"\n",
|
||||
"os.makedirs(calendar_dir, exist_ok=True) # 自动创建目录(包括父目录)\n",
|
||||
"\n",
|
||||
"# 排序为升序(Qlib 要求日历按时间升序)\n",
|
||||
"trade_dates_sorted = sorted(trade_dates)\n",
|
||||
"\n",
|
||||
"# 写入 day.txt\n",
|
||||
"day_txt_path = os.path.join(calendar_dir, \"day.txt\")\n",
|
||||
"with open(day_txt_path, \"w\") as f:\n",
|
||||
" for date_str in trade_dates_sorted:\n",
|
||||
" f.write(date_str + \"\\n\")\n",
|
||||
"\n",
|
||||
"print(f\"✅ 日历文件已保存至: {day_txt_path}\")\n",
|
||||
"print(f\"📅 共 {len(trade_dates_sorted)} 个交易日\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "7a6e529b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"✅ all.txt 已生成,共 5685 只股票\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"stocks_df = pd.read_csv('/mnt/d/PyProject/NewStock/stocks_list.csv', encoding='utf-8-sig')\n",
|
||||
"\n",
|
||||
"import os\n",
|
||||
"\n",
|
||||
"# 假设你有一个包含所有股票代码的列表(来自 stocks_df['ts_code'])\n",
|
||||
"# 例如:\n",
|
||||
"# instrument_list = ['600000.SH', '000001.SZ', '300001.SZ', ...]\n",
|
||||
"\n",
|
||||
"instrument_list = stocks_df['ts_code'].unique().tolist()\n",
|
||||
"\n",
|
||||
"# 获取你的数据时间范围(从 trade_dates)\n",
|
||||
"start_date = min(trade_dates) # e.g., '20201106'\n",
|
||||
"end_date = max(trade_dates) # e.g., '20210125'\n",
|
||||
"\n",
|
||||
"# 创建 instruments 目录\n",
|
||||
"instr_dir = \"/mnt/d/PyProject/NewStock/data/qlib/instruments\"\n",
|
||||
"os.makedirs(instr_dir, exist_ok=True)\n",
|
||||
"\n",
|
||||
"# 写入 all.txt\n",
|
||||
"with open(os.path.join(instr_dir, \"all.txt\"), \"w\") as f:\n",
|
||||
" for inst in instrument_list:\n",
|
||||
" f.write(f\"{inst}\\t{start_date}\\t{end_date}\\n\")\n",
|
||||
"\n",
|
||||
"print(f\"✅ all.txt 已生成,共 {len(instrument_list)} 只股票\")"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "stock",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.13.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
80
main/data/test.ipynb
Normal file
80
main/data/test.ipynb
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"id": "initial_id",
|
||||
"metadata": {
|
||||
"collapsed": true,
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-10-17T07:14:47.275Z",
|
||||
"start_time": "2025-10-17T07:14:46.966401Z"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"from operator import index\n",
|
||||
"\n",
|
||||
"import tushare as ts\n",
|
||||
"import pandas as pd\n",
|
||||
"import time\n",
|
||||
"\n",
|
||||
"ts.set_token('3a0741c702ee7e5e5f2bf1f0846bafaafe4e320833240b2a7e4a685f')\n",
|
||||
"pro = ts.pro_api()"
|
||||
],
|
||||
"outputs": [],
|
||||
"execution_count": 1
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-10-17T07:15:47.631705Z",
|
||||
"start_time": "2025-10-17T07:15:47.491485Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"pro = ts.pro_api()\n",
|
||||
"\n",
|
||||
"#获取单个股票数据\n",
|
||||
"df = pro.stk_limit(ts_code='603106.SH', start_date='20240924', end_date='20240928')\n",
|
||||
"\n",
|
||||
"print(df)"
|
||||
],
|
||||
"id": "72dcf1a049d09818",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" trade_date ts_code up_limit down_limit\n",
|
||||
"0 20240927 603106.SH 7.71 6.31\n",
|
||||
"1 20240926 603106.SH 7.01 5.73\n",
|
||||
"2 20240925 603106.SH 6.37 5.21\n",
|
||||
"3 20240924 603106.SH 5.79 4.73\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 6
|
||||
}
|
||||
],
|
||||
"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
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"execution_count": 3,
|
||||
"id": "f74ce078-f7e8-4733-a14c-14d8815a3626",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 4,
|
||||
"id": "44dd8d87-e60b-49e5-aed9-efaa7f92d4fe",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -39,15 +39,15 @@
|
||||
"3 000006.SZ 20250312\n",
|
||||
"4 000007.SZ 20250312\n",
|
||||
"... ... ...\n",
|
||||
"27111 920445.BJ 20250922\n",
|
||||
"27112 920489.BJ 20250922\n",
|
||||
"27113 920682.BJ 20250922\n",
|
||||
"27114 920799.BJ 20250922\n",
|
||||
"27115 920819.BJ 20250922\n",
|
||||
"21755 920978.BJ 20251117\n",
|
||||
"21756 920981.BJ 20251117\n",
|
||||
"21757 920982.BJ 20251117\n",
|
||||
"21758 920985.BJ 20251117\n",
|
||||
"21759 920992.BJ 20251117\n",
|
||||
"\n",
|
||||
"[8205543 rows x 2 columns]\n",
|
||||
"20250926\n",
|
||||
"start_date: 20250929\n"
|
||||
"[8385278 rows x 2 columns]\n",
|
||||
"20251120\n",
|
||||
"start_date: 20251121\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -64,7 +64,7 @@
|
||||
" max_date = df['trade_date'].max()\n",
|
||||
"\n",
|
||||
"print(max_date)\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251020')\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251220')\n",
|
||||
"trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n",
|
||||
"trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n",
|
||||
"start_date = min(trade_dates)\n",
|
||||
@@ -73,7 +73,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 5,
|
||||
"id": "747acc47-0884-4f76-90fb-276f6494e31d",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -86,16 +86,27 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"任务 20251020 完成\n",
|
||||
"任务 20251017 完成\n",
|
||||
"任务 20251016 完成\n",
|
||||
"任务 20251015 完成\n",
|
||||
"任务 20251014 完成\n",
|
||||
"任务 20251013 完成\n",
|
||||
"任务 20251010 完成\n",
|
||||
"任务 20251009 完成\n",
|
||||
"任务 20250930 完成\n",
|
||||
"任务 20250929 完成\n"
|
||||
"任务 20251219 完成\n",
|
||||
"任务 20251218 完成\n",
|
||||
"任务 20251216 完成\n",
|
||||
"任务 20251217 完成\n",
|
||||
"任务 20251215 完成\n",
|
||||
"任务 20251212 完成\n",
|
||||
"任务 20251211 完成\n",
|
||||
"任务 20251210 完成\n",
|
||||
"任务 20251209 完成\n",
|
||||
"任务 20251208 完成\n",
|
||||
"任务 20251205 完成\n",
|
||||
"任务 20251204 完成\n",
|
||||
"任务 20251203 完成\n",
|
||||
"任务 20251202 完成\n",
|
||||
"任务 20251201 完成\n",
|
||||
"任务 20251128 完成\n",
|
||||
"任务 20251127 完成\n",
|
||||
"任务 20251126 完成\n",
|
||||
"任务 20251125 完成\n",
|
||||
"任务 20251124 完成\n",
|
||||
"任务 20251121 完成\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -132,7 +143,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 6,
|
||||
"id": "c6765638-481f-40d8-a259-2e7b25362618",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -177,7 +188,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.13.2"
|
||||
"version": "3.12.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -32,22 +32,22 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date\n",
|
||||
"0 801001.SI 20250221\n",
|
||||
"1 801002.SI 20250221\n",
|
||||
"2 801003.SI 20250221\n",
|
||||
"3 801005.SI 20250221\n",
|
||||
"4 801010.SI 20250221\n",
|
||||
"... ... ...\n",
|
||||
"2190 859811.SI 20250922\n",
|
||||
"2191 859821.SI 20250922\n",
|
||||
"2192 859822.SI 20250922\n",
|
||||
"2193 859852.SI 20250922\n",
|
||||
"2194 859951.SI 20250922\n",
|
||||
" ts_code trade_date\n",
|
||||
"0 801001.SI 20250221\n",
|
||||
"1 801002.SI 20250221\n",
|
||||
"2 801003.SI 20250221\n",
|
||||
"3 801005.SI 20250221\n",
|
||||
"4 801010.SI 20250221\n",
|
||||
".. ... ...\n",
|
||||
"873 859811.SI 20251120\n",
|
||||
"874 859821.SI 20251120\n",
|
||||
"875 859822.SI 20251120\n",
|
||||
"876 859852.SI 20251120\n",
|
||||
"877 859951.SI 20251120\n",
|
||||
"\n",
|
||||
"[1110243 rows x 2 columns]\n",
|
||||
"20250926\n",
|
||||
"start_date: 20250929\n"
|
||||
"[1123852 rows x 2 columns]\n",
|
||||
"20251120\n",
|
||||
"start_date: 20251121\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -64,7 +64,7 @@
|
||||
" max_date = df['trade_date'].max()\n",
|
||||
"\n",
|
||||
"print(max_date)\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251020')\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251220')\n",
|
||||
"trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n",
|
||||
"trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n",
|
||||
"start_date = min(trade_dates)\n",
|
||||
@@ -86,16 +86,27 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"任务 20251020 完成\n",
|
||||
"任务 20251017 完成\n",
|
||||
"任务 20251016 完成\n",
|
||||
"任务 20251015 完成\n",
|
||||
"任务 20251014 完成\n",
|
||||
"任务 20251013 完成\n",
|
||||
"任务 20251010 完成\n",
|
||||
"任务 20251009 完成\n",
|
||||
"任务 20250930 完成\n",
|
||||
"任务 20250929 完成\n"
|
||||
"任务 20251218 完成\n",
|
||||
"任务 20251219 完成\n",
|
||||
"任务 20251217 完成\n",
|
||||
"任务 20251216 完成\n",
|
||||
"任务 20251215 完成\n",
|
||||
"任务 20251212 完成\n",
|
||||
"任务 20251211 完成\n",
|
||||
"任务 20251210 完成\n",
|
||||
"任务 20251209 完成\n",
|
||||
"任务 20251208 完成\n",
|
||||
"任务 20251204 完成\n",
|
||||
"任务 20251205 完成\n",
|
||||
"任务 20251202 完成\n",
|
||||
"任务 20251203 完成\n",
|
||||
"任务 20251201 完成\n",
|
||||
"任务 20251128 完成\n",
|
||||
"任务 20251127 完成\n",
|
||||
"任务 20251126 完成\n",
|
||||
"任务 20251125 完成\n",
|
||||
"任务 20251124 完成\n",
|
||||
"任务 20251121 完成\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
@@ -94,17 +94,17 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"<class 'pandas.core.frame.DataFrame'>\n",
|
||||
"Index: 9155905 entries, 0 to 27115\n",
|
||||
"Index: 9335158 entries, 0 to 21759\n",
|
||||
"Data columns (total 2 columns):\n",
|
||||
" # Column Dtype \n",
|
||||
"--- ------ ----- \n",
|
||||
" 0 ts_code object\n",
|
||||
" 1 trade_date object\n",
|
||||
"dtypes: object(2)\n",
|
||||
"memory usage: 209.6+ MB\n",
|
||||
"memory usage: 213.7+ MB\n",
|
||||
"None\n",
|
||||
"20250926\n",
|
||||
"20250929\n"
|
||||
"20251120\n",
|
||||
"20251121\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -121,7 +121,7 @@
|
||||
" max_date = df['trade_date'].max()\n",
|
||||
"\n",
|
||||
"print(max_date)\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251020')\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251220')\n",
|
||||
"trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n",
|
||||
"trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n",
|
||||
"start_date = min(trade_dates)\n",
|
||||
@@ -144,16 +144,27 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"任务 20251017 完成\n",
|
||||
"任务 20251020 完成\n",
|
||||
"任务 20251015 完成\n",
|
||||
"任务 20251016 完成\n",
|
||||
"任务 20251014 完成\n",
|
||||
"任务 20251013 完成\n",
|
||||
"任务 20251010 完成\n",
|
||||
"任务 20251009 完成\n",
|
||||
"任务 20250930 完成\n",
|
||||
"任务 20250929 完成\n"
|
||||
"任务 20251219 完成\n",
|
||||
"任务 20251218 完成\n",
|
||||
"任务 20251217 完成\n",
|
||||
"任务 20251216 完成\n",
|
||||
"任务 20251215 完成\n",
|
||||
"任务 20251212 完成\n",
|
||||
"任务 20251211 完成\n",
|
||||
"任务 20251210 完成\n",
|
||||
"任务 20251209 完成\n",
|
||||
"任务 20251208 完成\n",
|
||||
"任务 20251205 完成\n",
|
||||
"任务 20251204 完成\n",
|
||||
"任务 20251203 完成\n",
|
||||
"任务 20251202 完成\n",
|
||||
"任务 20251201 完成\n",
|
||||
"任务 20251128 完成\n",
|
||||
"任务 20251127 完成\n",
|
||||
"任务 20251126 完成\n",
|
||||
"任务 20251125 完成\n",
|
||||
"任务 20251124 完成\n",
|
||||
"任务 20251121 完成\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -223,59 +234,59 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date close turnover_rate turnover_rate_f \\\n",
|
||||
"0 600642.SH 20251010 8.03 0.4806 1.3835 \n",
|
||||
"1 600295.SH 20251010 10.76 0.8549 3.7056 \n",
|
||||
"2 600444.SH 20251010 19.00 9.6611 17.4605 \n",
|
||||
"3 605100.SH 20251010 28.72 3.4770 7.6902 \n",
|
||||
"4 301399.SZ 20251010 19.53 3.9562 4.6772 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"21679 600653.SH 20250929 2.13 2.1746 2.9589 \n",
|
||||
"21680 002344.SZ 20250929 4.49 1.7080 3.6338 \n",
|
||||
"21681 301162.SZ 20250929 60.30 2.8491 3.5744 \n",
|
||||
"21682 920077.BJ 20250929 14.43 1.1113 1.6410 \n",
|
||||
"21683 300283.SZ 20250929 7.04 4.8583 5.7018 \n",
|
||||
" ts_code trade_date close turnover_rate turnover_rate_f \\\n",
|
||||
"0 000559.SZ 20251121 11.64 4.8762 13.4563 \n",
|
||||
"1 002981.SZ 20251121 27.84 1.5833 4.5574 \n",
|
||||
"2 301053.SZ 20251121 32.50 1.0110 2.9907 \n",
|
||||
"3 603093.SH 20251121 18.29 0.7403 3.2151 \n",
|
||||
"4 600269.SH 20251121 5.25 0.8423 1.8459 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5439 600243.SH 20251121 4.78 1.7524 2.1078 \n",
|
||||
"5440 300759.SZ 20251121 28.39 1.0514 1.6405 \n",
|
||||
"5441 600054.SH 20251121 11.10 1.3130 3.1101 \n",
|
||||
"5442 603579.SH 20251121 23.85 2.2265 4.3412 \n",
|
||||
"5443 002528.SZ 20251121 3.03 1.9087 4.0726 \n",
|
||||
"\n",
|
||||
" volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio \\\n",
|
||||
"0 1.49 9.9635 10.2617 1.1073 1.3268 1.3600 4.9816 \n",
|
||||
"1 1.56 16.3053 16.4683 1.4839 1.0603 1.1230 7.4349 \n",
|
||||
"2 2.84 69.2746 55.7147 3.8398 3.6313 3.5392 0.5263 \n",
|
||||
"3 0.55 66.7896 123.2961 2.7276 5.3634 6.7180 2.0794 \n",
|
||||
"4 0.94 60.7990 75.8958 2.7675 6.8812 7.1828 1.2177 \n",
|
||||
"... ... ... ... ... ... ... ... \n",
|
||||
"21679 0.72 107.4073 227.6354 5.4498 0.9887 0.9724 0.0000 \n",
|
||||
"21680 0.70 64.8238 75.9239 0.6834 5.5516 5.5560 0.9577 \n",
|
||||
"21681 0.96 85.4251 76.2427 5.3380 14.5424 12.3677 0.5586 \n",
|
||||
"21682 0.51 90.3399 82.4861 3.3572 5.2895 4.1636 NaN \n",
|
||||
"21683 0.94 NaN NaN 3.2821 1.1161 0.9970 0.2499 \n",
|
||||
" volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio \\\n",
|
||||
"0 1.09 40.5790 38.2942 4.1055 2.9989 2.7785 1.2842 \n",
|
||||
"1 1.44 33.9003 28.1141 3.4000 2.2070 1.9328 0.9280 \n",
|
||||
"2 1.24 56.6010 98.7688 4.0251 4.4406 4.0870 0.2389 \n",
|
||||
"3 1.21 24.3641 24.7359 2.5390 1.9536 5.0927 0.3609 \n",
|
||||
"4 1.32 9.5849 6.9841 0.6165 2.0486 2.1055 3.0476 \n",
|
||||
"... ... ... ... ... ... ... ... \n",
|
||||
"5439 1.37 NaN NaN 3.3110 8.8659 8.4702 0.0000 \n",
|
||||
"5440 0.86 28.1501 33.3780 3.4547 4.1124 3.7273 0.7056 \n",
|
||||
"5441 1.53 25.7012 28.5474 1.6912 4.1924 3.9403 1.8829 \n",
|
||||
"5442 1.23 25.2677 30.2644 1.7649 3.0372 3.0683 3.8598 \n",
|
||||
"5443 0.61 NaN NaN 35.8962 3.8438 6.1411 0.0000 \n",
|
||||
"\n",
|
||||
" dv_ttm total_share float_share free_share total_mv \\\n",
|
||||
"0 5.6040 489407.9376 489381.3156 170006.8520 3.929946e+06 \n",
|
||||
"1 5.5762 279877.6254 197557.6254 45577.9458 3.011483e+06 \n",
|
||||
"2 0.5789 14642.1932 14642.1932 8101.7360 2.782017e+05 \n",
|
||||
"3 1.0446 17113.2000 16993.2000 7683.2000 4.914911e+05 \n",
|
||||
"4 1.0594 18502.0000 5468.3586 4625.5000 3.613441e+05 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"21679 NaN 194638.0317 194638.0317 143048.5612 4.145790e+05 \n",
|
||||
"21680 0.8463 128261.6960 128145.0092 60233.0025 5.758950e+05 \n",
|
||||
"21681 0.9704 13258.3724 8522.5548 6793.1764 7.994799e+05 \n",
|
||||
"21682 NaN 58768.1817 31695.6817 21464.7599 8.480249e+05 \n",
|
||||
"21683 NaN 49697.8222 36721.8502 31289.2680 3.498727e+05 \n",
|
||||
" dv_ttm total_share float_share free_share total_mv \\\n",
|
||||
"0 1.5410 331535.8444 331454.4214 120110.9588 3.859077e+06 \n",
|
||||
"1 0.9187 13748.6115 11941.3915 4148.6777 3.827613e+05 \n",
|
||||
"2 0.8961 8421.7803 7749.4689 2619.7738 2.737079e+05 \n",
|
||||
"3 0.4117 61006.5893 61006.5893 14046.4993 1.115811e+06 \n",
|
||||
"4 3.2381 233540.7014 233540.7014 106564.7107 1.226089e+06 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5439 NaN 43885.0000 43885.0000 36485.0000 2.097703e+05 \n",
|
||||
"5440 0.7045 177819.5525 141938.4613 90967.4278 5.048297e+06 \n",
|
||||
"5441 1.5495 72937.9440 51330.0000 21670.4250 8.096112e+05 \n",
|
||||
"5442 1.2636 20335.5564 20335.5564 10429.5044 4.850030e+05 \n",
|
||||
"5443 NaN 119867.5082 105021.9577 49219.1551 3.631985e+05 \n",
|
||||
"\n",
|
||||
" circ_mv is_st \n",
|
||||
"0 3.929732e+06 False \n",
|
||||
"1 2.125720e+06 False \n",
|
||||
"2 2.782017e+05 False \n",
|
||||
"3 4.880447e+05 False \n",
|
||||
"4 1.067970e+05 False \n",
|
||||
"... ... ... \n",
|
||||
"21679 4.145790e+05 False \n",
|
||||
"21680 5.753711e+05 False \n",
|
||||
"21681 5.139101e+05 False \n",
|
||||
"21682 4.573687e+05 False \n",
|
||||
"21683 2.585218e+05 False \n",
|
||||
" circ_mv is_st \n",
|
||||
"0 3.858129e+06 False \n",
|
||||
"1 3.324483e+05 False \n",
|
||||
"2 2.518577e+05 False \n",
|
||||
"3 1.115811e+06 False \n",
|
||||
"4 1.226089e+06 False \n",
|
||||
"... ... ... \n",
|
||||
"5439 2.097703e+05 True \n",
|
||||
"5440 4.029633e+06 False \n",
|
||||
"5441 5.697630e+05 False \n",
|
||||
"5442 4.850030e+05 False \n",
|
||||
"5443 3.182165e+05 True \n",
|
||||
"\n",
|
||||
"[21684 rows x 19 columns]\n"
|
||||
"[5444 rows x 19 columns]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -299,46 +310,59 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date close turnover_rate turnover_rate_f \\\n",
|
||||
"9 300313.SZ 20251010 8.84 3.1146 6.4625 \n",
|
||||
"20 603838.SH 20251010 7.80 0.5503 1.5146 \n",
|
||||
"29 603813.SH 20251010 24.06 1.5835 4.5173 \n",
|
||||
"48 002742.SZ 20251010 4.65 1.0473 1.2924 \n",
|
||||
"69 603559.SH 20251010 8.50 0.2072 0.2945 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"21466 603021.SH 20250929 4.62 1.3860 2.3418 \n",
|
||||
"21552 300020.SZ 20250929 3.58 1.5031 1.6828 \n",
|
||||
"21554 000506.SZ 20250929 10.88 10.5560 15.7565 \n",
|
||||
"21603 600636.SH 20250929 8.29 0.4693 0.7963 \n",
|
||||
"21661 603843.SH 20250929 5.17 0.3798 0.5364 \n",
|
||||
" ts_code trade_date close turnover_rate turnover_rate_f \\\n",
|
||||
"55 000909.SZ 20251121 5.63 0.5785 0.9877 \n",
|
||||
"62 002485.SZ 20251121 4.61 0.9593 3.9009 \n",
|
||||
"134 300096.SZ 20251121 7.31 1.6490 1.9675 \n",
|
||||
"154 300343.SZ 20251121 5.48 4.1298 4.7019 \n",
|
||||
"166 600525.SH 20251121 3.53 1.8869 2.7053 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5340 300368.SZ 20251121 14.86 7.3423 10.4878 \n",
|
||||
"5381 300020.SZ 20251121 3.63 1.9995 2.2386 \n",
|
||||
"5383 000506.SZ 20251121 11.55 2.5685 3.8339 \n",
|
||||
"5439 600243.SH 20251121 4.78 1.7524 2.1078 \n",
|
||||
"5443 002528.SZ 20251121 3.03 1.9087 4.0726 \n",
|
||||
"\n",
|
||||
" volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio dv_ttm \\\n",
|
||||
"9 1.30 NaN NaN NaN 20.1067 20.9731 0.0000 NaN \n",
|
||||
"20 0.57 NaN NaN 2.6121 8.7517 6.9304 0.0000 NaN \n",
|
||||
"29 1.88 NaN NaN 4.5222 8.4776 7.5124 1.0313 NaN \n",
|
||||
"48 1.28 NaN NaN NaN 1.6800 2.1226 0.0000 NaN \n",
|
||||
"69 0.60 NaN NaN 3.5043 9.5964 8.2315 0.0000 NaN \n",
|
||||
"... ... .. ... ... ... ... ... ... \n",
|
||||
"21466 0.80 NaN NaN NaN 3.5891 3.7851 0.0000 NaN \n",
|
||||
"21552 1.00 NaN NaN 0.9812 5.1924 18.4036 0.0000 NaN \n",
|
||||
"21554 3.17 NaN NaN 16.4257 30.3341 23.4860 0.0000 NaN \n",
|
||||
"21603 0.81 NaN NaN 1.7909 12.8512 11.0116 0.4825 0.6031 \n",
|
||||
"21661 0.05 NaN NaN 12.5612 2.6558 3.1369 0.0000 NaN \n",
|
||||
" volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio \\\n",
|
||||
"55 0.99 NaN NaN 2.4818 7.6504 7.4923 0.0 \n",
|
||||
"62 0.51 NaN NaN 2.1295 3.0458 3.2777 0.0 \n",
|
||||
"134 0.81 NaN 50.1694 8.9654 5.6290 6.2215 0.0 \n",
|
||||
"154 0.72 267.9489 106.2988 3.0411 6.7430 6.5207 0.0 \n",
|
||||
"166 0.72 NaN NaN 1.2373 0.5912 0.5968 0.0 \n",
|
||||
"... ... ... ... ... ... ... ... \n",
|
||||
"5340 0.94 NaN NaN 42.1875 42.9123 57.8502 0.0 \n",
|
||||
"5381 1.00 NaN NaN 1.0776 5.2649 21.5375 0.0 \n",
|
||||
"5383 0.78 NaN 239.4225 16.7572 32.2021 20.7023 0.0 \n",
|
||||
"5439 1.37 NaN NaN 3.3110 8.8659 8.4702 0.0 \n",
|
||||
"5443 0.61 NaN NaN 35.8962 3.8438 6.1411 0.0 \n",
|
||||
"\n",
|
||||
" total_share float_share free_share total_mv circ_mv is_st \n",
|
||||
"9 31297.7396 19735.2789 9511.5479 2.766720e+05 1.744599e+05 True \n",
|
||||
"20 32001.6000 32001.6000 11627.0468 2.496125e+05 2.496125e+05 True \n",
|
||||
"29 10501.5000 10501.5000 3681.2000 2.526661e+05 2.526661e+05 True \n",
|
||||
"48 43200.0000 43185.8082 34994.8239 2.008800e+05 2.008140e+05 True \n",
|
||||
"69 40127.6979 40127.6979 28231.9697 3.410854e+05 3.410854e+05 True \n",
|
||||
"... ... ... ... ... ... ... \n",
|
||||
"21466 31994.8070 31994.8070 18936.7934 1.478160e+05 1.478160e+05 True \n",
|
||||
"21552 79467.7974 76663.9584 68475.6577 2.844947e+05 2.744570e+05 True \n",
|
||||
"21554 92901.7761 92858.4361 62210.1427 1.010771e+06 1.010300e+06 True \n",
|
||||
"21603 43863.6802 43863.6802 25849.6552 3.636299e+05 3.636299e+05 True \n",
|
||||
"21661 69962.3237 69962.3237 49541.4702 3.617052e+05 3.617052e+05 True \n",
|
||||
" dv_ttm total_share float_share free_share total_mv \\\n",
|
||||
"55 NaN 43771.4245 43771.0570 25634.2299 2.464331e+05 \n",
|
||||
"62 NaN 54400.0000 54400.0000 13377.7333 2.507840e+05 \n",
|
||||
"134 NaN 43000.0000 43000.0000 36039.3251 3.143300e+05 \n",
|
||||
"154 NaN 106896.9119 106621.9389 93649.7579 5.857951e+05 \n",
|
||||
"166 NaN 131878.0152 131878.0152 91981.1744 4.655294e+05 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5340 NaN 52894.3475 52894.3475 37030.2475 7.860100e+05 \n",
|
||||
"5381 NaN 79467.7974 76663.9584 68475.6577 2.884681e+05 \n",
|
||||
"5383 NaN 92901.7761 92858.4361 62210.1427 1.073016e+06 \n",
|
||||
"5439 NaN 43885.0000 43885.0000 36485.0000 2.097703e+05 \n",
|
||||
"5443 NaN 119867.5082 105021.9577 49219.1551 3.631985e+05 \n",
|
||||
"\n",
|
||||
"[749 rows x 19 columns]\n"
|
||||
" circ_mv is_st \n",
|
||||
"55 2.464311e+05 True \n",
|
||||
"62 2.507840e+05 True \n",
|
||||
"134 3.143300e+05 True \n",
|
||||
"154 5.842882e+05 True \n",
|
||||
"166 4.655294e+05 True \n",
|
||||
"... ... ... \n",
|
||||
"5340 7.860100e+05 True \n",
|
||||
"5381 2.782902e+05 True \n",
|
||||
"5383 1.072515e+06 True \n",
|
||||
"5439 2.097703e+05 True \n",
|
||||
"5443 3.182165e+05 True \n",
|
||||
"\n",
|
||||
"[186 rows x 19 columns]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -388,7 +412,7 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"<class 'pandas.core.frame.DataFrame'>\n",
|
||||
"Index: 9177589 entries, 0 to 21683\n",
|
||||
"Index: 9340602 entries, 0 to 5443\n",
|
||||
"Data columns (total 3 columns):\n",
|
||||
" # Column Dtype \n",
|
||||
"--- ------ ----- \n",
|
||||
@@ -396,7 +420,7 @@
|
||||
" 1 trade_date object\n",
|
||||
" 2 is_st bool \n",
|
||||
"dtypes: bool(1), object(2)\n",
|
||||
"memory usage: 218.8+ MB\n",
|
||||
"memory usage: 222.7+ MB\n",
|
||||
"None\n"
|
||||
]
|
||||
}
|
||||
@@ -424,7 +448,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.13.2"
|
||||
"version": "3.12.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 1,
|
||||
"id": "17cc645336d4eb18",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -18,7 +18,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 2,
|
||||
"id": "48ae71ed02d61819",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -26,14 +26,27 @@
|
||||
"start_time": "2025-02-08T16:55:19.882313Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "FileNotFoundError",
|
||||
"evalue": "File ../../../data/daily_basic.h5 does not exist",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
||||
"\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)",
|
||||
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m daily_basic = \u001b[43mpd\u001b[49m\u001b[43m.\u001b[49m\u001b[43mread_hdf\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43m../../../data/daily_basic.h5\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43mdaily_basic\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/stock/lib/python3.12/site-packages/pandas/io/pytables.py:437\u001b[39m, in \u001b[36mread_hdf\u001b[39m\u001b[34m(path_or_buf, key, mode, errors, where, start, stop, columns, iterator, chunksize, **kwargs)\u001b[39m\n\u001b[32m 434\u001b[39m exists = \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[32m 436\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m exists:\n\u001b[32m--> \u001b[39m\u001b[32m437\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mFile \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpath_or_buf\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m does not exist\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 439\u001b[39m store = HDFStore(path_or_buf, mode=mode, errors=errors, **kwargs)\n\u001b[32m 440\u001b[39m \u001b[38;5;66;03m# can't auto open/close if we are using an iterator\u001b[39;00m\n\u001b[32m 441\u001b[39m \u001b[38;5;66;03m# so delegate to the iterator\u001b[39;00m\n",
|
||||
"\u001b[31mFileNotFoundError\u001b[39m: File ../../../data/daily_basic.h5 does not exist"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"daily_basic = pd.read_hdf('../../../data/daily_basic.h5', key='daily_basic')\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": null,
|
||||
"id": "e6606a96e5728b8",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -93,7 +106,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": null,
|
||||
"id": "41bc125d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
@@ -163,7 +176,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"execution_count": null,
|
||||
"id": "initial_id",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -209,7 +222,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "new_trader",
|
||||
"display_name": "stock",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -223,7 +236,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.11"
|
||||
"version": "3.13.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -34,17 +34,17 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"<class 'pandas.core.frame.DataFrame'>\n",
|
||||
"Index: 8964780 entries, 0 to 25739\n",
|
||||
"Index: 9134824 entries, 0 to 20632\n",
|
||||
"Data columns (total 2 columns):\n",
|
||||
" # Column Dtype \n",
|
||||
"--- ------ ----- \n",
|
||||
" 0 ts_code object\n",
|
||||
" 1 trade_date object\n",
|
||||
"dtypes: object(2)\n",
|
||||
"memory usage: 205.2+ MB\n",
|
||||
"memory usage: 209.1+ MB\n",
|
||||
"None\n",
|
||||
"20250926\n",
|
||||
"start_date: 20250929\n"
|
||||
"20251120\n",
|
||||
"start_date: 20251121\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -61,7 +61,7 @@
|
||||
" max_date = df['trade_date'].max()\n",
|
||||
"\n",
|
||||
"print(max_date)\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251020')\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251220')\n",
|
||||
"trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n",
|
||||
"trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n",
|
||||
"start_date = min(trade_dates)\n",
|
||||
@@ -84,16 +84,27 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"任务 20251020 完成\n",
|
||||
"任务 20251017 完成\n",
|
||||
"任务 20251016 完成\n",
|
||||
"任务 20251015 完成\n",
|
||||
"任务 20251014 完成\n",
|
||||
"任务 20251013 完成\n",
|
||||
"任务 20251009 完成\n",
|
||||
"任务 20251010 完成\n",
|
||||
"任务 20250929 完成\n",
|
||||
"任务 20250930 完成\n"
|
||||
"任务 20251218 完成\n",
|
||||
"任务 20251219 完成\n",
|
||||
"任务 20251217 完成\n",
|
||||
"任务 20251216 完成\n",
|
||||
"任务 20251215 完成\n",
|
||||
"任务 20251212 完成\n",
|
||||
"任务 20251211 完成\n",
|
||||
"任务 20251210 完成\n",
|
||||
"任务 20251209 完成\n",
|
||||
"任务 20251208 完成\n",
|
||||
"任务 20251205 完成\n",
|
||||
"任务 20251204 完成\n",
|
||||
"任务 20251203 完成\n",
|
||||
"任务 20251202 完成\n",
|
||||
"任务 20251201 完成\n",
|
||||
"任务 20251128 完成\n",
|
||||
"任务 20251127 完成\n",
|
||||
"任务 20251126 完成\n",
|
||||
"任务 20251125 完成\n",
|
||||
"任务 20251124 完成\n",
|
||||
"任务 20251121 完成\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -182,72 +193,59 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date buy_sm_vol buy_sm_amount sell_sm_vol \\\n",
|
||||
"0 603290.SH 20251009 45532 52028.67 42778 \n",
|
||||
"1 600936.SH 20251009 42537 1545.21 42382 \n",
|
||||
"2 300429.SZ 20251009 81914 11768.07 64063 \n",
|
||||
"3 300879.SZ 20251009 15330 5366.90 11651 \n",
|
||||
"4 300031.SZ 20251009 51381 12650.70 43869 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"20574 688083.SH 20250930 13247 10094.95 11236 \n",
|
||||
"20575 002939.SZ 20250930 372609 43083.12 232240 \n",
|
||||
"20576 688303.SH 20250930 62478 18094.19 55086 \n",
|
||||
"20577 300146.SZ 20250930 50078 5792.85 35214 \n",
|
||||
"20578 688351.SH 20250930 15096 3333.84 14017 \n",
|
||||
" ts_code trade_date buy_sm_vol buy_sm_amount sell_sm_vol \\\n",
|
||||
"0 002593.SZ 20251121 369428 21109.32 239444 \n",
|
||||
"1 300405.SZ 20251121 173424 11775.01 115988 \n",
|
||||
"2 001336.SZ 20251121 11378 2729.92 10423 \n",
|
||||
"3 002403.SZ 20251121 24219 3104.96 19841 \n",
|
||||
"4 688268.SH 20251121 12369 7423.62 12330 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5156 000881.SZ 20251121 146959 11936.56 155068 \n",
|
||||
"5157 300676.SZ 20251121 21428 9913.61 15092 \n",
|
||||
"5158 603138.SH 20251121 31243 4558.85 30559 \n",
|
||||
"5159 301526.SZ 20251121 172815 9552.38 105860 \n",
|
||||
"5160 300903.SZ 20251121 124772 20586.88 96098 \n",
|
||||
"\n",
|
||||
" sell_sm_amount buy_md_vol buy_md_amount sell_md_vol sell_md_amount \\\n",
|
||||
"0 48942.98 53824 61495.85 54076 61851.39 \n",
|
||||
"1 1538.97 24175 878.06 31948 1160.07 \n",
|
||||
"2 9211.49 88583 12730.36 88244 12682.05 \n",
|
||||
"3 4089.33 15591 5464.12 17057 5976.94 \n",
|
||||
"4 10822.65 56173 13836.60 49423 12190.63 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"20574 8561.02 10482 7994.12 9858 7514.37 \n",
|
||||
"20575 26867.01 279904 32371.96 324997 37595.57 \n",
|
||||
"20576 15952.67 55867 16177.83 53776 15573.61 \n",
|
||||
"20577 4076.10 46159 5337.00 39420 4560.91 \n",
|
||||
"20578 3095.89 6482 1430.69 6675 1474.59 \n",
|
||||
" sell_sm_amount buy_md_vol buy_md_amount sell_md_vol sell_md_amount \\\n",
|
||||
"0 13673.67 256325 14655.03 298786 17088.39 \n",
|
||||
"1 7859.14 154296 10473.88 176589 11973.97 \n",
|
||||
"2 2498.94 5274 1266.93 5893 1415.57 \n",
|
||||
"3 2546.44 17292 2218.64 18180 2333.03 \n",
|
||||
"4 7430.97 16104 9682.18 16670 10042.76 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5156 12623.78 107103 8717.66 97089 7896.18 \n",
|
||||
"5157 6975.73 17857 8249.34 16607 7679.15 \n",
|
||||
"5158 4458.47 15126 2208.57 11879 1733.73 \n",
|
||||
"5159 5855.69 155749 8607.76 160962 8892.48 \n",
|
||||
"5160 15867.99 92082 15223.39 105748 17449.56 \n",
|
||||
"\n",
|
||||
" buy_lg_vol buy_lg_amount sell_lg_vol sell_lg_amount buy_elg_vol \\\n",
|
||||
"0 36150 41253.53 36789 41932.43 10514 \n",
|
||||
"1 11158 405.04 9212 334.60 5672 \n",
|
||||
"2 64282 9239.06 72904 10475.38 8221 \n",
|
||||
"3 10167 3562.24 12327 4313.59 3221 \n",
|
||||
"4 40306 9938.01 41035 10103.23 6112 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"20574 6674 5082.80 8224 6273.43 3329 \n",
|
||||
"20575 204229 23631.31 285167 32986.98 132696 \n",
|
||||
"20576 33304 9638.04 34809 10074.64 5032 \n",
|
||||
"20577 47161 5454.07 36321 4202.88 8662 \n",
|
||||
"20578 2513 555.48 3398 749.54 0 \n",
|
||||
" buy_lg_vol buy_lg_amount sell_lg_vol sell_lg_amount buy_elg_vol \\\n",
|
||||
"0 125303 7153.65 190306 10868.03 13733 \n",
|
||||
"1 68396 4621.42 100633 6820.12 12166 \n",
|
||||
"2 326 77.32 662 159.66 0 \n",
|
||||
"3 7131 916.27 8891 1137.58 0 \n",
|
||||
"4 9155 5523.81 9780 5877.77 2793 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5156 63727 5186.84 54928 4460.74 8415 \n",
|
||||
"5157 12528 5781.44 16425 7596.83 3906 \n",
|
||||
"5158 5884 857.88 8048 1175.32 0 \n",
|
||||
"5159 63089 3481.66 115498 6376.52 13568 \n",
|
||||
"5160 58186 9624.92 77536 12811.46 25445 \n",
|
||||
"\n",
|
||||
" buy_elg_amount sell_elg_vol sell_elg_amount net_mf_vol \\\n",
|
||||
"0 12073.88 12377 14125.13 20027 \n",
|
||||
"1 205.33 0 0.00 -21182 \n",
|
||||
"2 1183.11 17790 2551.67 -840 \n",
|
||||
"3 1133.90 3275 1147.29 -4996 \n",
|
||||
"4 1507.28 19645 4816.08 1531 \n",
|
||||
"... ... ... ... ... \n",
|
||||
"20574 2538.01 4413 3361.05 7612 \n",
|
||||
"20575 15366.29 147033 17003.12 84949 \n",
|
||||
"20576 1459.24 13010 3768.39 15188 \n",
|
||||
"20577 1000.95 41105 4744.98 -16754 \n",
|
||||
"20578 0.00 0 0.00 3406 \n",
|
||||
" buy_elg_amount sell_elg_vol sell_elg_amount net_mf_vol net_mf_amount \n",
|
||||
"0 781.20 36253 2069.12 -103672 -5866.51 \n",
|
||||
"1 813.01 15071 1030.08 -34131 -2297.62 \n",
|
||||
"2 0.00 0 0.00 -1180 -271.00 \n",
|
||||
"3 0.00 1730 222.81 194 30.22 \n",
|
||||
"4 1708.30 1640 986.41 476 282.30 \n",
|
||||
"... ... ... ... ... ... \n",
|
||||
"5156 686.43 19119 1546.77 -50922 -4113.23 \n",
|
||||
"5157 1805.21 7595 3497.90 -4085 -1873.36 \n",
|
||||
"5158 0.00 1768 257.78 713 110.42 \n",
|
||||
"5159 744.87 22900 1261.99 -64224 -3539.76 \n",
|
||||
"5160 4179.40 21103 3485.60 -29335 -4855.38 \n",
|
||||
"\n",
|
||||
" net_mf_amount \n",
|
||||
"0 22734.35 \n",
|
||||
"1 -766.75 \n",
|
||||
"2 -90.83 \n",
|
||||
"3 -1741.72 \n",
|
||||
"4 385.00 \n",
|
||||
"... ... \n",
|
||||
"20574 5816.07 \n",
|
||||
"20575 9927.60 \n",
|
||||
"20576 4417.72 \n",
|
||||
"20577 -1928.39 \n",
|
||||
"20578 752.20 \n",
|
||||
"\n",
|
||||
"[20579 rows x 20 columns]\n"
|
||||
"[5161 rows x 20 columns]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -272,7 +270,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.13.2"
|
||||
"version": "3.12.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -34,23 +34,23 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" ts_code trade_date\n",
|
||||
"4872 600206.SH 20250926\n",
|
||||
"4873 600207.SH 20250926\n",
|
||||
"4874 600208.SH 20250926\n",
|
||||
"4876 600211.SH 20250926\n",
|
||||
"7280 920037.BJ 20250926\n",
|
||||
"4915 600221.SH 20251120\n",
|
||||
"4916 600222.SH 20251120\n",
|
||||
"4917 600223.SH 20251120\n",
|
||||
"4919 600227.SH 20251120\n",
|
||||
"3693 301448.SZ 20251120\n",
|
||||
"<class 'pandas.core.frame.DataFrame'>\n",
|
||||
"Index: 11170571 entries, 0 to 36462\n",
|
||||
"Index: 11412627 entries, 0 to 29456\n",
|
||||
"Data columns (total 2 columns):\n",
|
||||
" # Column Dtype \n",
|
||||
"--- ------ ----- \n",
|
||||
" 0 ts_code object\n",
|
||||
" 1 trade_date object\n",
|
||||
"dtypes: object(2)\n",
|
||||
"memory usage: 255.7+ MB\n",
|
||||
"memory usage: 261.2+ MB\n",
|
||||
"None\n",
|
||||
"20250926\n",
|
||||
"20250929\n"
|
||||
"20251120\n",
|
||||
"20251121\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -68,7 +68,7 @@
|
||||
" max_date = df['trade_date'].max()\n",
|
||||
"\n",
|
||||
"print(max_date)\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251020')\n",
|
||||
"trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20251220')\n",
|
||||
"trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n",
|
||||
"trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n",
|
||||
"start_date = min(trade_dates)\n",
|
||||
@@ -91,16 +91,27 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"任务 20251020 完成\n",
|
||||
"任务 20251017 完成\n",
|
||||
"任务 20251015 完成\n",
|
||||
"任务 20251016 完成\n",
|
||||
"任务 20251013 完成\n",
|
||||
"任务 20251014 完成\n",
|
||||
"任务 20251010 完成\n",
|
||||
"任务 20251009 完成\n",
|
||||
"任务 20250929 完成\n",
|
||||
"任务 20250930 完成\n"
|
||||
"任务 20251219 完成\n",
|
||||
"任务 20251218 完成\n",
|
||||
"任务 20251217 完成\n",
|
||||
"任务 20251216 完成\n",
|
||||
"任务 20251215 完成\n",
|
||||
"任务 20251212 完成\n",
|
||||
"任务 20251211 完成\n",
|
||||
"任务 20251210 完成\n",
|
||||
"任务 20251209 完成\n",
|
||||
"任务 20251208 完成\n",
|
||||
"任务 20251205 完成\n",
|
||||
"任务 20251204 完成\n",
|
||||
"任务 20251203 完成\n",
|
||||
"任务 20251202 完成\n",
|
||||
"任务 20251201 完成\n",
|
||||
"任务 20251128 完成\n",
|
||||
"任务 20251127 完成\n",
|
||||
"任务 20251126 完成\n",
|
||||
"任务 20251125 完成\n",
|
||||
"任务 20251124 完成\n",
|
||||
"任务 20251121 完成\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -152,58 +163,19 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[ trade_date ts_code up_limit down_limit\n",
|
||||
"0 20251010 000001.SZ 12.54 10.26\n",
|
||||
"1 20251010 000002.SZ 7.47 6.11\n",
|
||||
"2 20251010 000004.SZ 12.26 11.10\n",
|
||||
"3 20251010 000006.SZ 11.94 9.77\n",
|
||||
"4 20251010 000007.SZ 8.12 6.64\n",
|
||||
"0 20251121 000001.SZ 13.04 10.67\n",
|
||||
"1 20251121 000002.SZ 6.82 5.58\n",
|
||||
"2 20251121 000004.SZ 11.64 10.54\n",
|
||||
"3 20251121 000006.SZ 12.07 9.87\n",
|
||||
"4 20251121 000007.SZ 11.00 9.00\n",
|
||||
"... ... ... ... ...\n",
|
||||
"7309 20251010 920978.BJ 50.08 26.98\n",
|
||||
"7310 20251010 920981.BJ 48.04 25.88\n",
|
||||
"7311 20251010 920982.BJ 354.64 190.96\n",
|
||||
"7312 20251010 920985.BJ 11.86 6.40\n",
|
||||
"7313 20251010 920992.BJ 27.87 15.01\n",
|
||||
"7363 20251121 920978.BJ 49.06 26.42\n",
|
||||
"7364 20251121 920981.BJ 46.99 25.31\n",
|
||||
"7365 20251121 920982.BJ 300.67 161.91\n",
|
||||
"7366 20251121 920985.BJ 11.75 6.33\n",
|
||||
"7367 20251121 920992.BJ 24.06 12.96\n",
|
||||
"\n",
|
||||
"[7314 rows x 4 columns], trade_date ts_code up_limit down_limit\n",
|
||||
"0 20251009 000001.SZ 12.47 10.21\n",
|
||||
"1 20251009 000002.SZ 7.58 6.20\n",
|
||||
"2 20251009 000004.SZ 11.68 10.56\n",
|
||||
"3 20251009 000006.SZ 11.32 9.26\n",
|
||||
"4 20251009 000007.SZ 8.02 6.56\n",
|
||||
"... ... ... ... ...\n",
|
||||
"7306 20251009 920978.BJ 50.44 27.16\n",
|
||||
"7307 20251009 920981.BJ 48.11 25.91\n",
|
||||
"7308 20251009 920982.BJ 366.06 197.12\n",
|
||||
"7309 20251009 920985.BJ 12.01 6.47\n",
|
||||
"7310 20251009 920992.BJ 27.39 14.75\n",
|
||||
"\n",
|
||||
"[7311 rows x 4 columns], trade_date ts_code up_limit down_limit\n",
|
||||
"0 20250929 000001.SZ 12.54 10.26\n",
|
||||
"1 20250929 000002.SZ 7.48 6.12\n",
|
||||
"2 20250929 000004.SZ 11.00 9.96\n",
|
||||
"3 20250929 000006.SZ 10.46 8.56\n",
|
||||
"4 20250929 000007.SZ 7.63 6.25\n",
|
||||
"... ... ... ... ...\n",
|
||||
"7302 20250929 920445.BJ 14.37 7.75\n",
|
||||
"7303 20250929 920489.BJ 29.34 15.80\n",
|
||||
"7304 20250929 920682.BJ 13.10 7.06\n",
|
||||
"7305 20250929 920799.BJ 70.78 38.12\n",
|
||||
"7306 20250929 920819.BJ 5.52 2.98\n",
|
||||
"\n",
|
||||
"[7307 rows x 4 columns], trade_date ts_code up_limit down_limit\n",
|
||||
"0 20250930 000001.SZ 12.51 10.23\n",
|
||||
"1 20250930 000002.SZ 7.49 6.13\n",
|
||||
"2 20250930 000004.SZ 11.12 10.06\n",
|
||||
"3 20250930 000006.SZ 10.29 8.42\n",
|
||||
"4 20250930 000007.SZ 7.92 6.48\n",
|
||||
"... ... ... ... ...\n",
|
||||
"7305 20250930 920445.BJ 14.67 7.91\n",
|
||||
"7306 20250930 920489.BJ 29.26 15.76\n",
|
||||
"7307 20250930 920682.BJ 12.92 6.96\n",
|
||||
"7308 20250930 920799.BJ 73.19 39.41\n",
|
||||
"7309 20250930 920819.BJ 5.55 2.99\n",
|
||||
"\n",
|
||||
"[7310 rows x 4 columns]]\n"
|
||||
"[7368 rows x 4 columns]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -271,7 +243,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.13.2"
|
||||
"version": "3.12.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
Reference in New Issue
Block a user