149 lines
5.1 KiB
Plaintext
149 lines
5.1 KiB
Plaintext
|
|
{
|
||
|
|
"cells": [
|
||
|
|
{
|
||
|
|
"cell_type": "code",
|
||
|
|
"id": "initial_id",
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2025-03-30T16:42:23.864275Z",
|
||
|
|
"start_time": "2025-03-30T16:42:22.963221Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"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
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"cell_type": "code",
|
||
|
|
"id": "f448da220816bf98",
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2025-03-30T16:42:25.559047Z",
|
||
|
|
"start_time": "2025-03-30T16:42:23.868783Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"source": [
|
||
|
|
"# 定义四个指数\n",
|
||
|
|
"index_list = ['399300.SH', '000905.SH', '000852.SH', '399006.SZ']\n",
|
||
|
|
"\n",
|
||
|
|
"# 获取并存储数据\n",
|
||
|
|
"all_data = []\n",
|
||
|
|
"\n",
|
||
|
|
"for ts_code in index_list:\n",
|
||
|
|
" df = pro.index_daily(ts_code=ts_code) # 可根据需要设置日期\n",
|
||
|
|
" df['ts_code'] = ts_code # 添加ts_code列来区分数据\n",
|
||
|
|
" all_data.append(df)\n",
|
||
|
|
"\n",
|
||
|
|
"# 合并所有数据\n",
|
||
|
|
"final_df = pd.concat(all_data, ignore_index=True)\n",
|
||
|
|
"\n",
|
||
|
|
"# 存储到H5文件\n",
|
||
|
|
"final_df.to_hdf('../../data/index_data.h5', key='index_data', mode='w')\n",
|
||
|
|
"\n",
|
||
|
|
"print(\"数据已经成功存储到index_data.h5文件中\")"
|
||
|
|
],
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"数据已经成功存储到index_data.h5文件中\n"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "stderr",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"C:\\Users\\liaozhaorun\\AppData\\Local\\Temp\\ipykernel_6192\\3209233630.py:13: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
||
|
|
" final_df = pd.concat(all_data, ignore_index=True)\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"cell_type": "code",
|
||
|
|
"id": "907f732d3c397bf",
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2025-03-30T16:42:25.802535Z",
|
||
|
|
"start_time": "2025-03-30T16:42:25.766399Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"source": [
|
||
|
|
"h5_filename = '../../data/index_data.h5'\n",
|
||
|
|
"key = '/index_data'\n",
|
||
|
|
"with pd.HDFStore(h5_filename, mode='r') as store:\n",
|
||
|
|
" df = store[key]\n",
|
||
|
|
" print(df)\n"
|
||
|
|
],
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
" ts_code trade_date close open high low \\\n",
|
||
|
|
"0 000905.SH 20250328 5916.0314 5954.7297 5973.8015 5904.9159 \n",
|
||
|
|
"1 000905.SH 20250327 5957.6017 5932.5165 6000.6615 5891.7664 \n",
|
||
|
|
"2 000905.SH 20250326 5948.4986 5935.8537 5983.4739 5935.8537 \n",
|
||
|
|
"3 000905.SH 20250325 5946.9510 5969.4164 5993.9312 5929.6734 \n",
|
||
|
|
"4 000905.SH 20250324 5969.0789 5973.0466 5987.0606 5882.8780 \n",
|
||
|
|
"... ... ... ... ... ... ... \n",
|
||
|
|
"13423 399006.SZ 20100607 1069.4680 1005.0280 1075.2250 1001.7020 \n",
|
||
|
|
"13424 399006.SZ 20100604 1027.6810 989.6810 1027.6810 986.5040 \n",
|
||
|
|
"13425 399006.SZ 20100603 998.3940 1002.3550 1026.7020 997.7750 \n",
|
||
|
|
"13426 399006.SZ 20100602 997.1190 967.6090 997.1190 952.6110 \n",
|
||
|
|
"13427 399006.SZ 20100601 973.2330 986.0150 994.7930 948.1180 \n",
|
||
|
|
"\n",
|
||
|
|
" pre_close change pct_chg vol amount \n",
|
||
|
|
"0 5957.6017 -41.5703 -0.6978 1.342619e+08 1.688995e+08 \n",
|
||
|
|
"1 5948.4986 9.1031 0.1530 1.347089e+08 1.765905e+08 \n",
|
||
|
|
"2 5946.9510 1.5476 0.0260 1.367021e+08 1.716958e+08 \n",
|
||
|
|
"3 5969.0789 -22.1279 -0.3707 1.474839e+08 1.922270e+08 \n",
|
||
|
|
"4 5971.9302 -2.8513 -0.0477 1.691924e+08 2.200943e+08 \n",
|
||
|
|
"... ... ... ... ... ... \n",
|
||
|
|
"13423 1027.6810 41.7870 4.0661 2.655275e+06 9.106095e+06 \n",
|
||
|
|
"13424 998.3940 29.2870 2.9334 1.500295e+06 5.269441e+06 \n",
|
||
|
|
"13425 997.1190 1.2750 0.1279 1.616805e+06 6.240835e+06 \n",
|
||
|
|
"13426 973.2330 23.8860 2.4543 1.074628e+06 4.001206e+06 \n",
|
||
|
|
"13427 1000.0000 -26.7670 -2.6767 1.356285e+06 4.924177e+06 \n",
|
||
|
|
"\n",
|
||
|
|
"[13428 rows x 11 columns]\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 3
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"metadata": {
|
||
|
|
"kernelspec": {
|
||
|
|
"display_name": "Python 3 (ipykernel)",
|
||
|
|
"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.11.11"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"nbformat": 4,
|
||
|
|
"nbformat_minor": 5
|
||
|
|
}
|