2026-01-26 08:19:19,093 - bond_project.task.w - INFO - [进度更新] 失败:未能加载债券列表
2026-01-26 08:19:19,092 - bond_project.task.w - ERROR - 未能加载债券列表,周度任务终止。
2026-01-26 08:19:19,090 - bond_project.task.w - ERROR - 找不到债券列表文件,请先运行日度任务(d.py)。
2026-01-26 08:19:19,087 - bond_project.task.w - INFO - 目录 /www/wwwroot/bond/data/workspace/volatility 已清空。
2026-01-26 08:19:19,075 - bond_project.task.w - INFO - 开始清空目录: /www/wwwroot/bond/data/workspace/volatility
2026-01-26 08:19:19,074 - bond_project.task.w - INFO - [进度更新] 步骤1/3: 清理旧工作区...
2026-01-26 08:19:19,073 - bond_project.task.w - INFO - [进度更新] 任务开始,正在初始化...
2026-01-26 08:19:19,071 - bond_project.task.w - INFO - ===== [w.py] 周度任务开始 =====
2026-01-25 19:20:30,813 - bond_project.task.w - INFO -  -> 正在计算 301036 (stock) 的历史波动率...
2026-01-25 19:20:30,813 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(541/763) - 正股 301036
2026-01-25 19:20:27,606 - bond_project.task.w - INFO -  -> 正在计算 127093 (bond) 的历史波动率...
2026-01-25 19:20:27,605 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(540/763) - 转债 127093
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-01-25 19:20:24,602 - bond_project.task.w - ERROR -  -> 计算 002598 (stock) 波动率失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-01-25 19:20:23,282 - bond_project.task.w - INFO -  -> 正在计算 002598 (stock) 的历史波动率...
2026-01-25 19:20:23,282 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(539/763) - 正股 002598
2026-01-25 19:20:19,719 - bond_project.task.w - INFO -  -> 正在计算 128108 (bond) 的历史波动率...
2026-01-25 19:20:19,718 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(538/763) - 转债 128108
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-01-25 19:20:16,715 - bond_project.task.w - ERROR -  -> 计算 002382 (stock) 波动率失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-01-25 19:20:16,450 - bond_project.task.w - INFO -  -> 正在计算 002382 (stock) 的历史波动率...
2026-01-25 19:20:16,450 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(537/763) - 正股 002382
2026-01-25 19:20:13,301 - bond_project.task.w - INFO -  -> 正在计算 118061 (bond) 的历史波动率...
2026-01-25 19:20:13,301 - bond_project.task.w - INFO - [进度更新] 步骤2/3: 采集中...(536/763) - 转债 118061
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