modify: cleanup project structure and docs

This commit is contained in:
2025-11-02 08:40:28 +08:00
parent a5e3c4c1da
commit 5825cf81b7
19 changed files with 1903 additions and 1125 deletions

View File

@@ -0,0 +1,50 @@
from __future__ import annotations
import os
import pandas as pd
import streamlit as st
from services.strategy import generate_output_and_recommendations
def render_strategy_eval(base: pd.DataFrame, all_strategy_types: list[str], region_sel: str):
st.info(f"📌 检测到的策略类型:{', '.join(all_strategy_types) or '(数据中没有策略)'}")
if not all_strategy_types:
st.warning("数据中没有检测到策略。")
return
with st.form(key="strategy_eval_form"):
horizon_eval = st.slider("评估窗口(天)", 7, 60, 14, step=1)
submit_strat_eval = st.form_submit_button("应用评估参数")
if not submit_strat_eval:
st.info("请设置评估窗口并点击“应用评估参数”按钮。")
return
results, recommendation = generate_output_and_recommendations(
base,
all_strategy_types,
region=region_sel if region_sel != '全市' else '全市',
horizon=horizon_eval,
)
if not results:
st.warning("⚠️ 未能完成策略评估。请尝试缩短评估窗口或扩大日期范围。")
return
st.subheader("各策略指标")
df_res = pd.DataFrame(results).T
st.dataframe(df_res, use_container_width=True)
st.success(f"⭐ 推荐:{recommendation}")
st.download_button(
"下载策略评估 CSV",
data=df_res.to_csv().encode('utf-8-sig'),
file_name="strategy_evaluation_results.csv",
mime="text/csv",
)
if os.path.exists('recommendation.txt'):
with open('recommendation.txt','r',encoding='utf-8') as f:
st.download_button("下载推荐文本", data=f.read().encode('utf-8'), file_name="recommendation.txt")