refactor(log): 优化回测日志输出格式
- strategy.py: 在数据获取前打印回测配置区间说明 - flask_api_source.py: 使用API返回的实际数据范围(date_range) - 原问题: 日志显示请求参数的start_date,而非实际数据范围 - 修改后: 各标的显示实际数据时间周期(如创业板2010年开始)
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user