2026-08-10 08:30:00,525 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-10 08:30:00,521 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-10 08:30:00,518 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-10 08:30:00,518 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-10 08:30:00,517 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-10 08:30:00,517 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-10 08:30:00,515 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-10 08:30:00,514 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-10 08:28:20,006 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-10 08:28:20,003 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-10 08:28:19,999 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-10 08:28:19,998 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-10 08:28:19,997 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-10 08:28:19,997 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-10 08:28:19,995 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-10 08:28:19,991 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-10 08:27:17,941 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-10 08:27:17,939 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-10 08:27:17,936 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-10 08:27:17,936 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-10 08:27:17,935 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-10 08:27:17,934 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-10 08:27:17,932 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-10 08:27:17,929 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-10 08:25:06,694 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-10 08:25:06,693 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-10 08:25:06,691 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-10 08:25:06,691 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-10 08:25:06,690 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-10 08:25:06,690 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-10 08:25:06,688 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-10 08:25:06,687 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-10 08:24:29,421 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-10 08:24:29,420 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-10 08:24:29,417 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-10 08:24:29,417 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-10 08:24:29,416 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-10 08:24:29,416 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-10 08:24:29,414 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-10 08:24:29,413 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-09 05:00:51,759 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-09 05:00:51,758 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-09 05:00:51,756 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-09 05:00:51,756 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-09 05:00:51,755 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-09 05:00:51,755 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-09 05:00:51,754 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-09 05:00:51,753 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-08 06:06:22,987 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-08 06:06:22,987 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-08 06:06:22,986 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-08 06:06:22,985 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-08 06:06:22,985 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-08 06:06:22,985 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-08 06:06:22,983 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-08 06:06:22,983 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-07 10:36:33,323 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-07 10:36:33,322 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-07 10:36:33,319 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-07 10:36:33,319 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-07 10:36:33,315 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-07 10:36:33,314 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-07 10:36:33,313 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-07 10:36:33,310 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-07 04:04:40,047 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-08-07 04:04:40,046 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-08-07 04:04:40,041 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-08-07 04:04:40,040 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-08-07 04:04:40,018 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-08-07 04:04:40,017 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-08-07 04:04:40,016 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-08-07 04:04:40,015 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-08-06 08:15:14,972 - bond_project.task.w - INFO - [进度更新] 任务完成
2026-08-06 08:15:14,971 - bond_project.task.w - INFO - ===== [w.py] 周度任务执行完毕 =====
2026-08-06 08:15:14,971 - bond_project.task.w - INFO - 步骤3/3: 周度汇总文件已生成: /www/wwwroot/bond/data/archive/weekly_summary.pkl
2026-08-06 08:15:14,957 - bond_project.task.w - INFO - [进度更新] 步骤3/3: 数据整合中...
2026-08-06 08:15:14,956 - bond_project.task.w - INFO - 步骤2/3: 波动率数据采集完成。
KeyError: 'date'
    raise KeyError(key)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/pandas/core/indexes/range.py", line 417, in get_loc
              ^^^^^^^^^^^^^^^^^^^^^^^^^
    indexer = self.columns.get_loc(key)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/pandas/core/frame.py", line 4107, in __getitem__
                                     ~~~~~~~^^^^^^^^
    data_df["date"] = pd.to_datetime(data_df["date"]).dt.date
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/akshare/bond/bond_zh_cov.py", line 85, in bond_zh_hs_cov_daily
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    hist_df = ak.bond_zh_hs_cov_daily(symbol=f"{prefix}{code}")
  File "/www/wwwroot/bond/tasks/w.py", line 23, in get_volatility
Traceback (most recent call last):
2026-08-06 08:15:11,955 - bond_project.task.w - ERROR -  -> 计算 118501 (bond) 波动率失败: 'date'
2026-08-06 08:15:11,837 - bond_project.task.w - INFO -  -> 正在计算 118501 (bond) 的历史波动率...
2026-08-06 08:15:11,837 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(642/639) - 转债 118501
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    raise ConnectionError(err, request=request)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/adapters.py", line 682, in send
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    r = adapter.send(request, **kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    resp = self.send(prep, **send_kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    return session.request(method=method, url=url, **kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/api.py", line 59, in request
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    return request("get", url, params=params, **kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/api.py", line 73, in get
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    r = requests.get(url, params=params, timeout=timeout)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/akshare/stock_feature/stock_hist_em.py", line 990, in stock_zh_a_hist
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    hist_df = ak.stock_zh_a_hist(symbol=code, period="daily", adjust="qfq")
  File "/www/wwwroot/bond/tasks/w.py", line 19, in get_volatility
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    raise RemoteDisconnected("Remote end closed connection without"
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/http/client.py", line 294, in _read_status
                              ^^^^^^^^^^^^^^^^^^^
    version, status, reason = self._read_status()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/http/client.py", line 325, in begin
    response.begin()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/http/client.py", line 1390, in getresponse
                       ^^^^^^^^^^^^^^^^^^^^^
    httplib_response = super().getresponse()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connection.py", line 565, in getresponse
               ^^^^^^^^^^^^^^^^^^
    response = conn.getresponse()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connectionpool.py", line 534, in _make_request
               ^^^^^^^^^^^^^^^^^^^
    response = self._make_request(
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    raise value.with_traceback(tb)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/util/util.py", line 38, in reraise
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    raise reraise(type(error), error, _stacktrace)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/util/retry.py", line 474, in increment
              ^^^^^^^^^^^^^^^^^^
    retries = retries.increment(
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connectionpool.py", line 841, in urlopen
           ^^^^^^^^^^^^^
    resp = conn.urlopen(
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

http.client.RemoteDisconnected: Remote end closed connection without response
    raise RemoteDisconnected("Remote end closed connection without"
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/http/client.py", line 294, in _read_status
                              ^^^^^^^^^^^^^^^^^^^
    version, status, reason = self._read_status()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/http/client.py", line 325, in begin
    response.begin()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/http/client.py", line 1390, in getresponse
                       ^^^^^^^^^^^^^^^^^^^^^
    httplib_response = super().getresponse()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connection.py", line 565, in getresponse
               ^^^^^^^^^^^^^^^^^^
    response = conn.getresponse()
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connectionpool.py", line 534, in _make_request
               ^^^^^^^^^^^^^^^^^^^
    response = self._make_request(
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/urllib3/connectionpool.py", line 787, in urlopen
Traceback (most recent call last):
2026-08-06 08:15:08,834 - bond_project.task.w - ERROR -  -> 计算 -00000 (stock) 波动率失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-08-06 08:15:08,375 - bond_project.task.w - INFO -  -> 正在计算 -00000 (stock) 的历史波动率...
2026-08-06 08:15:08,374 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(641/639) - 正股 -00000
2026-08-06 08:15:05,154 - bond_project.task.w - INFO -  -> 正在计算 123065 (bond) 的历史波动率...
2026-08-06 08:15:05,153 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(640/639) - 转债 123065
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    raise ConnectionError(err, request=request)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/adapters.py", line 682, in send
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    r = adapter.send(request, **kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    resp = self.send(prep, **send_kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    return session.request(method=method, url=url, **kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/api.py", line 59, in request
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    return request("get", url, params=params, **kwargs)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/requests/api.py", line 73, in get
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    r = requests.get(url, params=params, timeout=timeout)
  File "/www/server/pyporject_evn/versions/3.11.8/lib/python3.11/site-packages/akshare/stock_feature/stock_hist_em.py", line 990, in stock_zh_a_hist
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    hist_df = ak.stock_zh_a_hist(symbol=code, period="daily", adjust="qfq")
  File "/www/wwwroot/bond/tasks/w.py", line 19, in get_volatility
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    raise RemoteDisconnected("Remote end closed connection without"