test(phase2): 端到端冒烟通过(result_store+因子+API+data_adapter 真实 A 股 117 bars)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
"""Phase 2 端到端冒烟:result_store + 因子 registry + API + data_adapter(真实数据)。"""
|
||||
import sys
|
||||
sys.path.insert(0, "/app")
|
||||
sys.path.insert(0, "/app/vnpy_v4.4.0")
|
||||
|
||||
|
||||
def main():
|
||||
print("=== Phase 2 E2E Smoke ===")
|
||||
import pandas as pd
|
||||
|
||||
# 1. result_store 增删查
|
||||
from sanguo_backtest.result_store import save_result, load_result, BacktestResult
|
||||
r = BacktestResult("smoke", "cta", "done", "Test", "600000", {"n": 5},
|
||||
"2024-01-01", "2024-06-30", {"return": 0.1},
|
||||
pd.DataFrame({"e": [1.0]}), pd.DataFrame(), None)
|
||||
rid = save_result(r, db_path="/tmp/smoke.db", file_dir="/tmp")
|
||||
print(f" result_store: id={rid}, strategy={load_result(rid, '/tmp/smoke.db').strategy}")
|
||||
|
||||
# 2. 因子 registry
|
||||
import sanguo_factor.library
|
||||
from sanguo_factor.registry import list_factors
|
||||
print(f" factors: {len(list_factors())} total, {len(list_factors('builtin'))} builtin")
|
||||
|
||||
# 3. API 启动
|
||||
from sanguo_api.app import create_app
|
||||
app = create_app(db_path="/tmp/smoke.db", file_dir="/tmp")
|
||||
routes = [r.path for r in app.routes if hasattr(r, "path")]
|
||||
print(f" API routes: {len(routes)} loaded")
|
||||
|
||||
# 4. data_adapter(真实 A 股数据)
|
||||
from sanguo_data.datareader import read_db_daily
|
||||
from sanguo_data.config import load_config
|
||||
from sanguo_factor.data_adapter import convert_bars_to_alpha_df
|
||||
cfg = load_config("/app/config/data_platform.yaml")
|
||||
bars = read_db_daily("600000", "2024-01-01", "2024-06-30", cfg)
|
||||
df = convert_bars_to_alpha_df(bars)
|
||||
print(f" data_adapter: {len(bars)} bars -> df height={df.height}, cols={df.columns[:5]}...")
|
||||
|
||||
print("=== Phase 2 Smoke DONE ===")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user