2026-03-16 11:29:30,787 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-03-16 11:29:30,786 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-03-16 11:29:30,782 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-03-16 11:29:30,782 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-03-16 11:29:30,769 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-03-16 11:29:30,769 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-03-16 11:29:30,766 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-03-16 11:29:30,766 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-03-15 13:00:55,853 - bond_project.task.w - INFO - [进度更新] 任务完成
2026-03-15 13:00:55,852 - bond_project.task.w - INFO - ===== [w.py] 周度任务执行完毕 =====
2026-03-15 13:00:55,852 - bond_project.task.w - INFO - 步骤3/3: 周度汇总文件已生成: /www/wwwroot/bond/data/archive/weekly_summary.pkl
2026-03-15 13:00:55,680 - bond_project.task.w - INFO - [进度更新] 步骤3/3: 数据整合中...
2026-03-15 13:00:55,680 - bond_project.task.w - INFO - 步骤2/3: 波动率数据采集完成。
2026-03-15 13:00:52,150 - bond_project.task.w - INFO -  -> 正在计算 128101 (bond) 的历史波动率...
2026-03-15 13:00:52,149 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(734/731) - 转债 128101
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-03-15 13:00:49,147 - bond_project.task.w - ERROR -  -> 计算 002036 (stock) 波动率失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-03-15 13:00:48,404 - bond_project.task.w - INFO -  -> 正在计算 002036 (stock) 的历史波动率...
2026-03-15 13:00:48,404 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(733/731) - 正股 002036
2026-03-15 13:00:45,197 - bond_project.task.w - INFO -  -> 正在计算 128137 (bond) 的历史波动率...
2026-03-15 13:00:45,197 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(732/731) - 转债 128137
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-03-15 13:00:42,192 - bond_project.task.w - ERROR -  -> 计算 002859 (stock) 波动率失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-03-15 13:00:42,029 - bond_project.task.w - INFO -  -> 正在计算 002859 (stock) 的历史波动率...
2026-03-15 13:00:42,028 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(731/731) - 正股 002859
2026-03-15 13:00:38,797 - bond_project.task.w - INFO -  -> 正在计算 127033 (bond) 的历史波动率...
2026-03-15 13:00:38,796 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(730/731) - 转债 127033
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: