refactor(log): 优化回测日志输出格式

- strategy.py: 在数据获取前打印回测配置区间说明
- flask_api_source.py: 使用API返回的实际数据范围(date_range)
- 原问题: 日志显示请求参数的start_date,而非实际数据范围
- 修改后: 各标的显示实际数据时间周期(如创业板2010年开始)
This commit is contained in:
2026-05-15 23:34:52 +08:00
parent cbd60894b9
commit 80c7fe0ba8
2 changed files with 10 additions and 1 deletions

View File

@@ -138,6 +138,11 @@ class FlaskAPIDataSource:
# 确保列名标准化
df = df[['open', 'high', 'low', 'close', 'volume']]
# 使用 API 返回的实际数据范围(而非请求参数)
actual_start = data.get('date_range', {}).get('start', start_date)
actual_end = data.get('date_range', {}).get('end', end_date)
actual_count = data.get('count', len(df))
# 缓存 info 信息(如果有)
if 'info' in data:
df.attrs['info'] = data['info']
@@ -166,7 +171,7 @@ class FlaskAPIDataSource:
if 'premium_stats' in data:
df.attrs['premium_stats'] = data['premium_stats']
print(f"{code}: {len(df)} 条数据 ({start_date} ~ {end_date})")
print(f"{code}: {actual_count} 条数据 ({actual_start} ~ {actual_end})")
return df
except requests.exceptions.Timeout:

View File

@@ -157,6 +157,10 @@ class RotationStrategy(StrategyBase):
else:
print(f"✓ Flask API 服务正常 (SSH: {health.get('ssh_configured', False)})")
# 打印回测时间区间说明
print(f"\n回测配置区间: {self.start_date} ~ {self.end_date}")
print("注: 各标的实际数据范围可能因上市时间/数据源限制而不同")
# 获取指数代码列表
index_codes = list(code_list_config.keys())