sistemato salvataggio plot

This commit is contained in:
fredmaloggia
2025-12-01 17:37:51 +01:00
parent dd35465c65
commit a181436e71

View File

@@ -18,7 +18,7 @@ from __future__ import annotations
from pathlib import Path from pathlib import Path
import pandas as pd import pandas as pd
import numpy as np import numpy as np
import os import shutil
from shared_utils import ( from shared_utils import (
detect_column, detect_column,
@@ -50,6 +50,24 @@ OUT_DEBUG_CSV = OUTPUT_DIR / "debug_daily_by_strategy.csv"
PLOT_EQUITY = PLOT_DIR / "equity_by_strategy.png" PLOT_EQUITY = PLOT_DIR / "equity_by_strategy.png"
PLOT_DD = PLOT_DIR / "drawdown_by_strategy.png" PLOT_DD = PLOT_DIR / "drawdown_by_strategy.png"
DROPBOX_EXPORT_DIR = Path(r"C:\Users\Admin\Dropbox\Condivisa Lavoro\Segnali di trading su ETF")
def copy_to_dropbox(src: Path, dst_dir: Path = DROPBOX_EXPORT_DIR) -> bool:
if not src or not dst_dir:
return False
if not src.exists():
print(f"[WARN] file non trovato per copia Dropbox: {src}")
return False
try:
dst_dir.mkdir(parents=True, exist_ok=True)
dst = dst_dir / src.name
shutil.copy2(src, dst)
print(f"[DROPBOX] Copiato {src.name} in {dst_dir}")
return True
except Exception as exc:
print(f"[WARN] impossibile copiare {src} su {dst_dir}: {exc}")
return False
# Stored procedure # Stored procedure
SP_NAME_DEFAULT = "opt_RendimentoGiornaliero1_ALL" SP_NAME_DEFAULT = "opt_RendimentoGiornaliero1_ALL"
SP_N_DEFAULT = 1260 SP_N_DEFAULT = 1260
@@ -65,8 +83,7 @@ else:
SP_N_DEFAULT = int(DB_CONFIG.get("n_bars", SP_N_DEFAULT)) SP_N_DEFAULT = int(DB_CONFIG.get("n_bars", SP_N_DEFAULT))
PTF_CURR_DEFAULT = str(DB_CONFIG.get("ptf_curr", PTF_CURR_DEFAULT)) PTF_CURR_DEFAULT = str(DB_CONFIG.get("ptf_curr", PTF_CURR_DEFAULT))
# Strategie valide (tutto il resto viene ignorato)
# "Aggressiva_Crypto" ? stata rimossa perch? non deve pi? essere processata
DEFAULT_STRATEGIES = ["Equal_Weight", "Risk_Parity"] DEFAULT_STRATEGIES = ["Equal_Weight", "Risk_Parity"]
VALID_STRATEGIES = DEFAULT_STRATEGIES VALID_STRATEGIES = DEFAULT_STRATEGIES
@@ -300,6 +317,7 @@ def main():
plt.tight_layout() plt.tight_layout()
plt.savefig(str(PLOT_EQUITY), dpi=150) plt.savefig(str(PLOT_EQUITY), dpi=150)
plt.close() plt.close()
copy_to_dropbox(PLOT_EQUITY)
# Drawdown # Drawdown
dd = equity / equity.cummax() - 1.0 dd = equity / equity.cummax() - 1.0
@@ -312,6 +330,7 @@ def main():
plt.tight_layout() plt.tight_layout()
plt.savefig(str(PLOT_DD), dpi=150) plt.savefig(str(PLOT_DD), dpi=150)
plt.close() plt.close()
copy_to_dropbox(PLOT_DD)
print("Salvati:") print("Salvati:")
print(" -", OUT_DAILY_CSV) print(" -", OUT_DAILY_CSV)
@@ -319,6 +338,8 @@ def main():
print(" -", OUT_DEBUG_CSV) print(" -", OUT_DEBUG_CSV)
print(" -", PLOT_EQUITY) print(" -", PLOT_EQUITY)
print(" -", PLOT_DD) print(" -", PLOT_DD)
print(" -", DROPBOX_EXPORT_DIR / PLOT_EQUITY.name)
print(" -", DROPBOX_EXPORT_DIR / PLOT_DD.name)
if __name__ == "__main__": if __name__ == "__main__":