Skip to content

[data] yfinance fetch_ticker raise_errors=False 把网络错误与真无数据混为同一 ValueError #74

Description

@mirror29

来源:PR #72 review 第三轮(medium);半 pre-existing(原 fast_info 路径同样吞错)。

现状

yfinance_conn.py_fetch_ticker_synchistory(..., raise_errors=False):网络故障 / Yahoo 429 限流与"真正退市 / 无 1m 数据"都返回空 DataFrame → 上层统一抛 ValueError('no 1m bars (delisted / OTC?)')

危害

  • 上层(/ticker → paper live runner)无法区分"暂时拉不到(该重试)"与"真没有(该放弃)"
  • 429 高发时段会被误判为标的无数据,错误提示误导排查方向

修向

  • raise_errors=True + 在 connector 层分类异常(网络/限流 → 可重试错误码;空数据 → 维持 ValueError),与 paper 侧 _classify_build_error 的 retryable 语义对齐
  • 同族检查:fetch_barsexcept Exception: return [](:120-127)也有同样的"失败与无数据不可区分"问题,与 [data] web_search 失败与「无结果」不可区分 —— 超时/异常都返 [] #64(web_search 失败返 [])同模式,可一起收

关联

#64 · PR #72

Metadata

Metadata

Assignees

No one assigned

    Labels

    dataservices/data 数据服务enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions