Classify2

This commit is contained in:
liaozhaorun
2025-05-06 23:42:40 +08:00
parent 721e72c599
commit b783a6f968
19 changed files with 9390 additions and 2774 deletions

View File

@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "94412ea8-aad7-47fb-8597-d80adef21a8b",
"metadata": {
"ExecuteTime": {
@@ -9,70 +10,24 @@
"start_time": "2025-03-01T09:19:23.930364Z"
}
},
"outputs": [],
"source": [
"import tushare as ts\n",
"ts.set_token('3a0741c702ee7e5e5f2bf1f0846bafaafe4e320833240b2a7e4a685f')\n",
"pro = ts.pro_api()"
],
"outputs": [],
"execution_count": 1
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9067006f-6352-4fe6-9295-22208f40f235",
"metadata": {
"scrolled": true,
"ExecuteTime": {
"end_time": "2025-03-01T09:56:42.369757Z",
"start_time": "2025-03-01T09:19:24.709524Z"
}
},
"scrolled": true
},
"source": [
"from tqdm import tqdm\n",
"import pandas as pd\n",
"import time\n",
"\n",
"# 读取本地保存的股票列表 CSV 文件(假设文件名为 stocks_data.csv\n",
"stocks_df = pd.read_csv('../../stocks_list.csv', encoding='utf-8-sig')\n",
"\n",
"# 用于存放所有股票的日线数据(每次获取的 DataFrame\n",
"name_change_data_list = []\n",
"\n",
"# API 调用计数和时间控制变量\n",
"api_call_count = 0\n",
"batch_start_time = time.time()\n",
"\n",
"# 循环遍历每个股票代码并获取数据\n",
"for idx, row in stocks_df.iterrows():\n",
" ts_code = row['ts_code'] # 假设股票代码列名为 ts_code\n",
" try:\n",
" # 调用 tushare 接口获取该股票自 2017 年以来的日线数据\n",
" name_change_data = pro.namechange(ts_code=ts_code, fields='ts_code,name,start_date,end_date,change_reason')\n",
" # 如果返回数据不为空,则添加一列标识股票代码\n",
" if not name_change_data.empty:\n",
" name_change_data_list.append(name_change_data)\n",
" print(f\"成功获取 {ts_code} 的数据\")\n",
" except Exception as e:\n",
" print(f\"获取 {ts_code} 数据时出错: {e}\")\n",
"\n",
" # 计数一次 API 调用\n",
" api_call_count += 1\n",
"\n",
" # 每调用300次检查时间是否少于1分钟如果少于则等待剩余时间\n",
" if api_call_count % 150 == 0:\n",
" elapsed = time.time() - batch_start_time\n",
" if elapsed < 60:\n",
" sleep_time = 60 - elapsed\n",
" print(f\"已调用300次API等待 {sleep_time:.2f} 秒以满足速率限制...\")\n",
" time.sleep(sleep_time)\n",
" # 重置批次起始时间\n",
" batch_start_time = time.time()\n",
"\n",
"name_change_df = pd.concat(name_change_data_list, ignore_index=True)\n",
"# 输出部分结果\n",
"print(name_change_df.head())\n",
"print(f\"名称变化记录总数: {len(name_change_df)}\")\n"
],
"outputs": [
{
"name": "stdout",
@@ -228,7 +183,7 @@
"成功获取 000572.SZ 的数据\n",
"成功获取 000573.SZ 的数据\n",
"成功获取 000576.SZ 的数据\n",
"已调用300次API等待 41.14 秒以满足速率限制...\n",
"已调用300次API等待 38.79 秒以满足速率限制...\n",
"成功获取 000581.SZ 的数据\n",
"成功获取 000582.SZ 的数据\n",
"成功获取 000584.SZ 的数据\n",
@@ -379,7 +334,7 @@
"成功获取 000811.SZ 的数据\n",
"成功获取 000812.SZ 的数据\n",
"成功获取 000813.SZ 的数据\n",
"已调用300次API等待 40.78 秒以满足速率限制...\n",
"已调用300次API等待 38.14 秒以满足速率限制...\n",
"成功获取 000815.SZ 的数据\n",
"成功获取 000816.SZ 的数据\n",
"成功获取 000818.SZ 的数据\n",
@@ -530,7 +485,7 @@
"成功获取 001238.SZ 的数据\n",
"成功获取 001239.SZ 的数据\n",
"成功获取 001255.SZ 的数据\n",
"已调用300次API等待 40.77 秒以满足速率限制...\n",
"已调用300次API等待 38.70 秒以满足速率限制...\n",
"成功获取 001256.SZ 的数据\n",
"成功获取 001258.SZ 的数据\n",
"成功获取 001259.SZ 的数据\n",
@@ -681,7 +636,7 @@
"成功获取 002085.SZ 的数据\n",
"成功获取 002086.SZ 的数据\n",
"成功获取 002088.SZ 的数据\n",
"已调用300次API等待 40.70 秒以满足速率限制...\n",
"已调用300次API等待 38.23 秒以满足速率限制...\n",
"成功获取 002090.SZ 的数据\n",
"成功获取 002091.SZ 的数据\n",
"成功获取 002092.SZ 的数据\n",
@@ -832,7 +787,7 @@
"成功获取 002242.SZ 的数据\n",
"成功获取 002243.SZ 的数据\n",
"成功获取 002244.SZ 的数据\n",
"已调用300次API等待 40.20 秒以满足速率限制...\n",
"已调用300次API等待 38.48 秒以满足速率限制...\n",
"成功获取 002245.SZ 的数据\n",
"成功获取 002246.SZ 的数据\n",
"成功获取 002247.SZ 的数据\n",
@@ -983,7 +938,7 @@
"成功获取 002400.SZ 的数据\n",
"成功获取 002401.SZ 的数据\n",
"成功获取 002402.SZ 的数据\n",
"已调用300次API等待 40.84 秒以满足速率限制...\n",
"已调用300次API等待 38.28 秒以满足速率限制...\n",
"成功获取 002403.SZ 的数据\n",
"成功获取 002404.SZ 的数据\n",
"成功获取 002405.SZ 的数据\n",
@@ -1134,7 +1089,7 @@
"成功获取 002566.SZ 的数据\n",
"成功获取 002567.SZ 的数据\n",
"成功获取 002568.SZ 的数据\n",
"已调用300次API等待 41.66 秒以满足速率限制...\n",
"已调用300次API等待 38.10 秒以满足速率限制...\n",
"成功获取 002569.SZ 的数据\n",
"成功获取 002570.SZ 的数据\n",
"成功获取 002571.SZ 的数据\n",
@@ -1285,7 +1240,7 @@
"成功获取 002729.SZ 的数据\n",
"成功获取 002730.SZ 的数据\n",
"成功获取 002731.SZ 的数据\n",
"已调用300次API等待 40.74 秒以满足速率限制...\n",
"已调用300次API等待 39.07 秒以满足速率限制...\n",
"成功获取 002732.SZ 的数据\n",
"成功获取 002733.SZ 的数据\n",
"成功获取 002734.SZ 的数据\n",
@@ -1436,7 +1391,7 @@
"成功获取 002896.SZ 的数据\n",
"成功获取 002897.SZ 的数据\n",
"成功获取 002898.SZ 的数据\n",
"已调用300次API等待 41.14 秒以满足速率限制...\n",
"已调用300次API等待 38.58 秒以满足速率限制...\n",
"成功获取 002899.SZ 的数据\n",
"成功获取 002900.SZ 的数据\n",
"成功获取 002901.SZ 的数据\n",
@@ -1587,7 +1542,7 @@
"成功获取 300014.SZ 的数据\n",
"成功获取 300015.SZ 的数据\n",
"成功获取 300016.SZ 的数据\n",
"已调用300次API等待 40.57 秒以满足速率限制...\n",
"已调用300次API等待 39.18 秒以满足速率限制...\n",
"成功获取 300017.SZ 的数据\n",
"成功获取 300018.SZ 的数据\n",
"成功获取 300019.SZ 的数据\n",
@@ -1738,7 +1693,7 @@
"成功获取 300174.SZ 的数据\n",
"成功获取 300175.SZ 的数据\n",
"成功获取 300176.SZ 的数据\n",
"已调用300次API等待 41.05 秒以满足速率限制...\n",
"已调用300次API等待 38.05 秒以满足速率限制...\n",
"成功获取 300177.SZ 的数据\n",
"成功获取 300179.SZ 的数据\n",
"成功获取 300180.SZ 的数据\n",
@@ -1889,7 +1844,7 @@
"成功获取 300337.SZ 的数据\n",
"成功获取 300338.SZ 的数据\n",
"成功获取 300339.SZ 的数据\n",
"已调用300次API等待 40.69 秒以满足速率限制...\n",
"已调用300次API等待 38.83 秒以满足速率限制...\n",
"成功获取 300340.SZ 的数据\n",
"成功获取 300341.SZ 的数据\n",
"成功获取 300342.SZ 的数据\n",
@@ -2040,7 +1995,7 @@
"成功获取 300494.SZ 的数据\n",
"成功获取 300496.SZ 的数据\n",
"成功获取 300497.SZ 的数据\n",
"已调用300次API等待 40.51 秒以满足速率限制...\n",
"已调用300次API等待 38.36 秒以满足速率限制...\n",
"成功获取 300498.SZ 的数据\n",
"成功获取 300499.SZ 的数据\n",
"成功获取 300500.SZ 的数据\n",
@@ -2191,7 +2146,7 @@
"成功获取 300650.SZ 的数据\n",
"成功获取 300651.SZ 的数据\n",
"成功获取 300652.SZ 的数据\n",
"已调用300次API等待 39.15 秒以满足速率限制...\n",
"已调用300次API等待 39.00 秒以满足速率限制...\n",
"成功获取 300653.SZ 的数据\n",
"成功获取 300654.SZ 的数据\n",
"成功获取 300655.SZ 的数据\n",
@@ -2342,7 +2297,7 @@
"成功获取 300810.SZ 的数据\n",
"成功获取 300811.SZ 的数据\n",
"成功获取 300812.SZ 的数据\n",
"已调用300次API等待 38.87 秒以满足速率限制...\n",
"已调用300次API等待 39.10 秒以满足速率限制...\n",
"成功获取 300813.SZ 的数据\n",
"成功获取 300814.SZ 的数据\n",
"成功获取 300815.SZ 的数据\n",
@@ -2493,7 +2448,7 @@
"成功获取 300966.SZ 的数据\n",
"成功获取 300967.SZ 的数据\n",
"成功获取 300968.SZ 的数据\n",
"已调用300次API等待 40.54 秒以满足速率限制...\n",
"已调用300次API等待 38.14 秒以满足速率限制...\n",
"成功获取 300969.SZ 的数据\n",
"成功获取 300970.SZ 的数据\n",
"成功获取 300971.SZ 的数据\n",
@@ -2644,7 +2599,7 @@
"成功获取 301128.SZ 的数据\n",
"成功获取 301129.SZ 的数据\n",
"成功获取 301130.SZ 的数据\n",
"已调用300次API等待 41.03 秒以满足速率限制...\n",
"已调用300次API等待 38.08 秒以满足速率限制...\n",
"成功获取 301131.SZ 的数据\n",
"成功获取 301132.SZ 的数据\n",
"成功获取 301133.SZ 的数据\n",
@@ -2795,7 +2750,7 @@
"成功获取 301313.SZ 的数据\n",
"成功获取 301314.SZ 的数据\n",
"成功获取 301315.SZ 的数据\n",
"已调用300次API等待 40.99 秒以满足速率限制...\n",
"已调用300次API等待 38.67 秒以满足速率限制...\n",
"成功获取 301316.SZ 的数据\n",
"成功获取 301317.SZ 的数据\n",
"成功获取 301318.SZ 的数据\n",
@@ -2946,7 +2901,7 @@
"成功获取 301618.SZ 的数据\n",
"成功获取 301622.SZ 的数据\n",
"成功获取 301626.SZ 的数据\n",
"已调用300次API等待 41.17 秒以满足速率限制...\n",
"已调用300次API等待 39.59 秒以满足速率限制...\n",
"成功获取 301628.SZ 的数据\n",
"成功获取 301631.SZ 的数据\n",
"成功获取 301633.SZ 的数据\n",
@@ -3097,7 +3052,7 @@
"成功获取 600170.SH 的数据\n",
"成功获取 600171.SH 的数据\n",
"成功获取 600172.SH 的数据\n",
"已调用300次API等待 40.74 秒以满足速率限制...\n",
"已调用300次API等待 38.63 秒以满足速率限制...\n",
"成功获取 600173.SH 的数据\n",
"成功获取 600176.SH 的数据\n",
"成功获取 600177.SH 的数据\n",
@@ -3248,7 +3203,7 @@
"成功获取 600366.SH 的数据\n",
"成功获取 600367.SH 的数据\n",
"成功获取 600368.SH 的数据\n",
"已调用300次API等待 41.16 秒以满足速率限制...\n",
"已调用300次API等待 38.00 秒以满足速率限制...\n",
"成功获取 600369.SH 的数据\n",
"成功获取 600370.SH 的数据\n",
"成功获取 600371.SH 的数据\n",
@@ -3399,7 +3354,7 @@
"成功获取 600572.SH 的数据\n",
"成功获取 600573.SH 的数据\n",
"成功获取 600575.SH 的数据\n",
"已调用300次API等待 40.45 秒以满足速率限制...\n",
"已调用300次API等待 36.61 秒以满足速率限制...\n",
"成功获取 600576.SH 的数据\n",
"成功获取 600577.SH 的数据\n",
"成功获取 600578.SH 的数据\n",
@@ -3550,7 +3505,7 @@
"成功获取 600748.SH 的数据\n",
"成功获取 600749.SH 的数据\n",
"成功获取 600750.SH 的数据\n",
"已调用300次API等待 41.00 秒以满足速率限制...\n",
"已调用300次API等待 38.88 秒以满足速率限制...\n",
"成功获取 600751.SH 的数据\n",
"成功获取 600753.SH 的数据\n",
"成功获取 600754.SH 的数据\n",
@@ -3701,7 +3656,7 @@
"成功获取 600956.SH 的数据\n",
"成功获取 600958.SH 的数据\n",
"成功获取 600959.SH 的数据\n",
"已调用300次API等待 41.08 秒以满足速率限制...\n",
"已调用300次API等待 38.49 秒以满足速率限制...\n",
"成功获取 600960.SH 的数据\n",
"成功获取 600961.SH 的数据\n",
"成功获取 600962.SH 的数据\n",
@@ -3852,7 +3807,7 @@
"成功获取 601519.SH 的数据\n",
"成功获取 601528.SH 的数据\n",
"成功获取 601555.SH 的数据\n",
"已调用300次API等待 41.02 秒以满足速率限制...\n",
"已调用300次API等待 38.62 秒以满足速率限制...\n",
"成功获取 601566.SH 的数据\n",
"成功获取 601567.SH 的数据\n",
"成功获取 601568.SH 的数据\n",
@@ -4003,7 +3958,7 @@
"成功获取 603041.SH 的数据\n",
"成功获取 603042.SH 的数据\n",
"成功获取 603043.SH 的数据\n",
"已调用300次API等待 40.67 秒以满足速率限制...\n",
"已调用300次API等待 38.79 秒以满足速率限制...\n",
"成功获取 603045.SH 的数据\n",
"成功获取 603048.SH 的数据\n",
"成功获取 603050.SH 的数据\n",
@@ -4154,7 +4109,7 @@
"成功获取 603228.SH 的数据\n",
"成功获取 603229.SH 的数据\n",
"成功获取 603230.SH 的数据\n",
"已调用300次API等待 41.24 秒以满足速率限制...\n",
"已调用300次API等待 39.75 秒以满足速率限制...\n",
"成功获取 603231.SH 的数据\n",
"成功获取 603232.SH 的数据\n",
"成功获取 603233.SH 的数据\n",
@@ -4305,7 +4260,7 @@
"成功获取 603530.SH 的数据\n",
"成功获取 603533.SH 的数据\n",
"成功获取 603535.SH 的数据\n",
"已调用300次API等待 40.73 秒以满足速率限制...\n",
"已调用300次API等待 38.97 秒以满足速率限制...\n",
"成功获取 603536.SH 的数据\n",
"成功获取 603538.SH 的数据\n",
"成功获取 603551.SH 的数据\n",
@@ -4456,7 +4411,7 @@
"成功获取 603819.SH 的数据\n",
"成功获取 603822.SH 的数据\n",
"成功获取 603823.SH 的数据\n",
"已调用300次API等待 41.30 秒以满足速率限制...\n",
"已调用300次API等待 39.13 秒以满足速率限制...\n",
"成功获取 603825.SH 的数据\n",
"成功获取 603826.SH 的数据\n",
"成功获取 603828.SH 的数据\n",
@@ -4607,7 +4562,7 @@
"成功获取 605167.SH 的数据\n",
"成功获取 605168.SH 的数据\n",
"成功获取 605169.SH 的数据\n",
"已调用300次API等待 40.75 秒以满足速率限制...\n",
"已调用300次API等待 39.25 秒以满足速率限制...\n",
"成功获取 605177.SH 的数据\n",
"成功获取 605178.SH 的数据\n",
"成功获取 605179.SH 的数据\n",
@@ -4758,7 +4713,7 @@
"成功获取 688097.SH 的数据\n",
"成功获取 688098.SH 的数据\n",
"成功获取 688099.SH 的数据\n",
"已调用300次API等待 41.17 秒以满足速率限制...\n",
"已调用300次API等待 38.88 秒以满足速率限制...\n",
"成功获取 688100.SH 的数据\n",
"成功获取 688101.SH 的数据\n",
"成功获取 688102.SH 的数据\n",
@@ -4909,7 +4864,7 @@
"成功获取 688271.SH 的数据\n",
"成功获取 688272.SH 的数据\n",
"成功获取 688273.SH 的数据\n",
"已调用300次API等待 41.28 秒以满足速率限制...\n",
"已调用300次API等待 35.24 秒以满足速率限制...\n",
"成功获取 688275.SH 的数据\n",
"成功获取 688276.SH 的数据\n",
"成功获取 688277.SH 的数据\n",
@@ -5060,7 +5015,7 @@
"成功获取 688486.SH 的数据\n",
"成功获取 688488.SH 的数据\n",
"成功获取 688489.SH 的数据\n",
"已调用300次API等待 41.23 秒以满足速率限制...\n",
"已调用300次API等待 37.62 秒以满足速率限制...\n",
"成功获取 688496.SH 的数据\n",
"成功获取 688498.SH 的数据\n",
"成功获取 688499.SH 的数据\n",
@@ -5211,7 +5166,7 @@
"成功获取 688689.SH 的数据\n",
"成功获取 688690.SH 的数据\n",
"成功获取 688691.SH 的数据\n",
"已调用300次API等待 40.17 秒以满足速率限制...\n",
"已调用300次API等待 39.35 秒以满足速率限制...\n",
"成功获取 688692.SH 的数据\n",
"成功获取 688693.SH 的数据\n",
"成功获取 688695.SH 的数据\n",
@@ -5362,7 +5317,7 @@
"成功获取 835184.BJ 的数据\n",
"成功获取 835185.BJ 的数据\n",
"成功获取 835207.BJ 的数据\n",
"已调用300次API等待 41.36 秒以满足速率限制...\n",
"已调用300次API等待 39.39 秒以满足速率限制...\n",
"成功获取 835237.BJ 的数据\n",
"成功获取 835305.BJ 的数据\n",
"成功获取 835368.BJ 的数据\n",
@@ -5513,7 +5468,7 @@
"成功获取 000005.SZ 的数据\n",
"成功获取 000013.SZ 的数据\n",
"成功获取 000015.SZ 的数据\n",
"已调用300次API等待 40.98 秒以满足速率限制...\n",
"已调用300次API等待 38.64 秒以满足速率限制...\n",
"成功获取 000018.SZ 的数据\n",
"成功获取 000023.SZ 的数据\n",
"成功获取 000024.SZ 的数据\n",
@@ -5664,7 +5619,7 @@
"成功获取 300309.SZ 的数据\n",
"成功获取 300312.SZ 的数据\n",
"成功获取 300325.SZ 的数据\n",
"已调用300次API等待 40.90 秒以满足速率限制...\n",
"已调用300次API等待 39.83 秒以满足速率限制...\n",
"成功获取 300330.SZ 的数据\n",
"成功获取 300336.SZ 的数据\n",
"成功获取 300356.SZ 的数据\n",
@@ -5806,14 +5761,60 @@
"2 000001.SZ 深发展A 20070620 20120801 完成股改\n",
"3 000001.SZ 深发展A 20070620 20120801 完成股改\n",
"4 000001.SZ S深发展A 20061009 20070619 未股改加S\n",
"名称变化记录总数: 31934\n"
"名称变化记录总数: 32258\n"
]
}
],
"execution_count": 2
"source": [
"from tqdm import tqdm\n",
"import pandas as pd\n",
"import time\n",
"\n",
"# 读取本地保存的股票列表 CSV 文件(假设文件名为 stocks_data.csv\n",
"stocks_df = pd.read_csv('../../stocks_list.csv', encoding='utf-8-sig')\n",
"\n",
"# 用于存放所有股票的日线数据(每次获取的 DataFrame\n",
"name_change_data_list = []\n",
"\n",
"# API 调用计数和时间控制变量\n",
"api_call_count = 0\n",
"batch_start_time = time.time()\n",
"\n",
"# 循环遍历每个股票代码并获取数据\n",
"for idx, row in stocks_df.iterrows():\n",
" ts_code = row['ts_code'] # 假设股票代码列名为 ts_code\n",
" try:\n",
" # 调用 tushare 接口获取该股票自 2017 年以来的日线数据\n",
" name_change_data = pro.namechange(ts_code=ts_code, fields='ts_code,name,start_date,end_date,change_reason')\n",
" # 如果返回数据不为空,则添加一列标识股票代码\n",
" if not name_change_data.empty:\n",
" name_change_data_list.append(name_change_data)\n",
" print(f\"成功获取 {ts_code} 的数据\")\n",
" except Exception as e:\n",
" print(f\"获取 {ts_code} 数据时出错: {e}\")\n",
"\n",
" # 计数一次 API 调用\n",
" api_call_count += 1\n",
"\n",
" # 每调用300次检查时间是否少于1分钟如果少于则等待剩余时间\n",
" if api_call_count % 150 == 0:\n",
" elapsed = time.time() - batch_start_time\n",
" if elapsed < 60:\n",
" sleep_time = 60 - elapsed\n",
" print(f\"已调用300次API等待 {sleep_time:.2f} 秒以满足速率限制...\")\n",
" time.sleep(sleep_time)\n",
" # 重置批次起始时间\n",
" batch_start_time = time.time()\n",
"\n",
"name_change_df = pd.concat(name_change_data_list, ignore_index=True)\n",
"# 输出部分结果\n",
"print(name_change_df.head())\n",
"print(f\"名称变化记录总数: {len(name_change_df)}\")\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "4d5524b8-2a90-44bb-b5ef-e59cfa232ff0",
"metadata": {
"ExecuteTime": {
@@ -5821,14 +5822,6 @@
"start_time": "2025-03-01T09:56:42.431891Z"
}
},
"source": [
"# 合并所有获取到的日线数据\n",
"if True:\n",
" name_change_df.to_hdf('../../data/name_change.h5', key='name_change', mode='w', format='table')\n",
" print(\"所有日线数据已保存到 daily_data.h5\")\n",
"else:\n",
" print(\"未获取到任何日线数据。\")"
],
"outputs": [
{
"name": "stdout",
@@ -5838,10 +5831,18 @@
]
}
],
"execution_count": 3
"source": [
"# 合并所有获取到的日线数据\n",
"if True:\n",
" name_change_df.to_hdf('../../data/name_change.h5', key='name_change', mode='w', format='table')\n",
" print(\"所有日线数据已保存到 daily_data.h5\")\n",
"else:\n",
" print(\"未获取到任何日线数据。\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "1e920791-e8de-4a51-a39b-283f54132b44",
"metadata": {
"ExecuteTime": {
@@ -5849,9 +5850,6 @@
"start_time": "2025-03-01T09:56:42.545392Z"
}
},
"source": [
"print(name_change_df.head())"
],
"outputs": [
{
"name": "stdout",
@@ -5866,10 +5864,13 @@
]
}
],
"execution_count": 4
"source": [
"print(name_change_df.head())"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4f5651f7-0910-4df5-9c3f-79d6ce033d53",
"metadata": {
"ExecuteTime": {
@@ -5877,14 +5878,13 @@
"start_time": "2025-03-01T09:56:42.569013Z"
}
},
"source": [],
"outputs": [],
"execution_count": null
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "new_trader",
"language": "python",
"name": "python3"
},
@@ -5898,7 +5898,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.19"
"version": "3.11.11"
}
},
"nbformat": 4,