import pandas as pd import plotly.graph_objects as go from jinja2 import Template import json import datetime # === CONFIGURATION === SUMMARY_FILE = "user_data/backtest_results/result.json" # chemin vers ton JSON BALANCE_HISTORY_FILE = "user_data/backtest_results/backtest_result.json" # ou fichier contenant le portefeuille # === CHARGEMENT DES DONNÉES === with open(SUMMARY_FILE, "r") as f: summary = json.load(f) df_summary = pd.DataFrame([summary]) start = summary.get("backtest_start", "") end = summary.get("backtest_end", "") final_balance = summary.get("final_balance", 0) # === AFFICHAGE DES ÉVOLUTIONS DE BALANCE === result = pd.read_json(BALANCE_HISTORY_FILE) result["date"] = pd.to_datetime(result["date"]) balance_trace = go.Scatter( x=result["date"], y=result["balance"], mode="lines", name="Balance", line=dict(color="green") ) layout = go.Layout( title="Évolution du portefeuille", xaxis_title="Date", yaxis_title="Balance (USDT)", template="plotly_white" ) fig = go.Figure(data=[balance_trace], layout=layout) fig.write_html("balance_plot.html", include_plotlyjs="cdn") # === GÉNÉRATION DU RAPPORT HTML === template_str = """
| Métrique | Valeur |
|---|---|
| {{ key }} | {{ value }} |