Commit Graph

5 Commits

Author SHA1 Message Date
80c7fe0ba8 refactor(log): 优化回测日志输出格式
- strategy.py: 在数据获取前打印回测配置区间说明
- flask_api_source.py: 使用API返回的实际数据范围(date_range)
- 原问题: 日志显示请求参数的start_date,而非实际数据范围
- 修改后: 各标的显示实际数据时间周期(如创业板2010年开始)
2026-05-15 23:34:52 +08:00
d62763b0bd feat(flask): OHLCV 端点自动附加 ETF 净值和溢价率
flask_server.py:
- 当 asset_type 为 china_etf 时,自动调用 fetch_etf_with_nav
- 响应中添加 nav、premium_series、latest_premium、premium_stats

flask_api_source.py:
- 解析 ETF 数据中的净值和溢价率信息
- 将 nav_df、premium_series、premium_stats 存入 DataFrame.attrs
2026-05-14 00:57:37 +08:00
d4047d4cf4 fix(flask_api_source): 修复 fetch_etf_nav zstd 解压与溢价率解析
- 处理 zstd 响应的 JSON 解析问题
- 正确解析 Flask server 返回的净值数据结构
- 添加 premium_series、latest_premium、premium_stats 到 DataFrame attrs
2026-05-14 00:51:23 +08:00
4fe21a7cd4 fix(datasource): 修复 zstd 响应 JSON 解析问题
- flask_api_source.py: 添加 requests.exceptions.JSONDecodeError 捕获
- flask_server.py: 启用 flask-compress gzip 压缩
- requirements.txt: 添加 flask-compress>=1.14
- strategy.py: 修复 flask_api 配置读取方式

问题原因:Traefik Ingress 使用 zstd 压缩响应,
requests.response.json() 解析失败,但 json.loads(response.text) 成功
2026-05-14 00:27:30 +08:00
0a9795febb feat(strategy): rotation策略支持Flask API数据获取
- 新增 flask_api_source.py: Flask API远程数据源模块
- 修改 strategy.py: get_data() 支持通过Flask API获取数据

使用方式:
strategy.get_data(use_flask_api=True)  # 通过部署服务获取
strategy.get_data(use_flask_api=False) # 本地HybridDataSource

配置项:
flask_api_url: 可在config.yaml中指定API地址
2026-05-13 23:49:26 +08:00