问题域/PD-226

数据源路由与抽象

Data Source Routing & Abstraction

统一多数据源接口,支持配置驱动的路由和自动 fallback

子问题

1.多数据源统一接口

2.配置优先级(工具级>类别级)

3.Rate limit 触发的自动降级

4.数据缓存策略

5.供应商 API 响应格式差异的统一适配(CSV vs JSON)

6.限流信号检测(HTTP 429 vs 响应体内嵌错误信息)

各项目的解法1 solutions

Signals

横向对比

维度TradingAgents
路由架构VENDOR_METHODS 函数指针矩阵 + route_to_vendor 单入口路由
配置粒度双层优先级:tool_vendors(工具级) > data_vendors(类别级)
降级策略仅 AlphaVantageRateLimitError 触发 fallback,其他异常直接抛出
供应商扩展在 VENDOR_METHODS 中添加新 vendor 键值对即可,无需改路由逻辑
缓存机制yfinance 侧 CSV 文件缓存 15 年历史数据,Alpha Vantage 侧无缓存

最佳实践

1.VENDOR_METHODS 映射表 + route_to_vendor 路由函数,仅特定错误触发 fallback

2.函数指针矩阵替代字符串反射,模块加载时绑定实现

3.逗号分隔配置值支持用户显式指定 fallback 顺序

4.config.get_config() 返回 copy 防止外部修改污染全局状态