applicate rifiniture in output
This commit is contained in:
@@ -398,8 +398,8 @@ RUN_CONFIG = CONFIG.get("run", {})
|
|||||||
SIGNALS_CONFIG = CONFIG.get("signals", {})
|
SIGNALS_CONFIG = CONFIG.get("signals", {})
|
||||||
PRICES_CONFIG = CONFIG.get("prices", {})
|
PRICES_CONFIG = CONFIG.get("prices", {})
|
||||||
|
|
||||||
OUTPUT_DIR = Path(PATHS_CONFIG.get("output_dir", "output_etf"))
|
OUTPUT_DIR = Path(PATHS_CONFIG.get("output_dir", "out_etf"))
|
||||||
PLOT_DIR = Path(PATHS_CONFIG.get("plot_dir", "plot"))
|
PLOT_DIR = Path(PATHS_CONFIG.get("plot_dir", "plot_etf"))
|
||||||
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
PLOT_DIR.mkdir(parents=True, exist_ok=True)
|
PLOT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
|||||||
@@ -153,8 +153,10 @@ DENOISE_THRESHOLD_MODE = "soft"
|
|||||||
|
|
||||||
DAYS_PER_YEAR = 252
|
DAYS_PER_YEAR = 252
|
||||||
|
|
||||||
OUT_DIR = Path("./out_shared_utils_url_forex")
|
OUT_DIR = Path("./out_forex")
|
||||||
|
PLOT_DIR = Path("./plot_forex")
|
||||||
OUT_DIR.mkdir(parents=True, exist_ok=True)
|
OUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
PLOT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
@@ -812,17 +814,20 @@ def main():
|
|||||||
plt.figure(figsize=(10, 5))
|
plt.figure(figsize=(10, 5))
|
||||||
plt.plot(eq_eq, label=f"Equal Weight (Top{TOP_N}, fee {FEE_BPS}bp)")
|
plt.plot(eq_eq, label=f"Equal Weight (Top{TOP_N}, fee {FEE_BPS}bp)")
|
||||||
plt.plot(eq_rp, label=f"Risk Parity (Top{TOP_N}, cap {RP_MAX_WEIGHT:.4f}, fee {FEE_BPS}bp)")
|
plt.plot(eq_rp, label=f"Risk Parity (Top{TOP_N}, cap {RP_MAX_WEIGHT:.4f}, fee {FEE_BPS}bp)")
|
||||||
plt.title(f"Equity line portafogli FX (base 100) – Top{TOP_N} (shared_utils + URL)")
|
plt.title(f"Equity line portafogli FX (base 100) - Top{TOP_N} (shared_utils + URL)")
|
||||||
plt.grid(True)
|
plt.grid(True)
|
||||||
plt.legend()
|
plt.legend()
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
plt.show()
|
plt.savefig(PLOT_DIR / "equity_line.png", dpi=150)
|
||||||
|
plt.close()
|
||||||
|
|
||||||
plot_heatmap_monthly(ret_eq, f"Heatmap mensile – Equal Weight FX (Top{TOP_N})")
|
fig_eq = plot_heatmap_monthly(ret_eq, f"Heatmap mensile - Equal Weight FX (Top{TOP_N})")
|
||||||
plt.show()
|
fig_eq.savefig(PLOT_DIR / "heatmap_eqw.png", dpi=150)
|
||||||
|
plt.close(fig_eq)
|
||||||
|
|
||||||
plot_heatmap_monthly(ret_rp, f"Heatmap mensile – Risk Parity FX (Top{TOP_N})")
|
fig_rp = plot_heatmap_monthly(ret_rp, f"Heatmap mensile - Risk Parity FX (Top{TOP_N})")
|
||||||
plt.show()
|
fig_rp.savefig(PLOT_DIR / "heatmap_rp.png", dpi=150)
|
||||||
|
plt.close(fig_rp)
|
||||||
|
|
||||||
# 7) Export
|
# 7) Export
|
||||||
hurst_df.to_csv(OUT_DIR / "hurst.csv", index=False)
|
hurst_df.to_csv(OUT_DIR / "hurst.csv", index=False)
|
||||||
|
|||||||
@@ -131,7 +131,9 @@ RP_LOOKBACK = 60
|
|||||||
DAYS_PER_YEAR = 252
|
DAYS_PER_YEAR = 252
|
||||||
|
|
||||||
OUT_DIR = Path("./out_stocks_eu")
|
OUT_DIR = Path("./out_stocks_eu")
|
||||||
|
PLOT_DIR = Path("./plot_stocks_eu")
|
||||||
OUT_DIR.mkdir(parents=True, exist_ok=True)
|
OUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
PLOT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
@@ -975,12 +977,15 @@ def main():
|
|||||||
plt.grid(True)
|
plt.grid(True)
|
||||||
plt.legend()
|
plt.legend()
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
|
plt.savefig(PLOT_DIR / "equity_line.png", dpi=150)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
plot_heatmap_monthly(ret_eq, f"Heatmap mensile – Equal Weight (Top{TOP_N})")
|
plot_heatmap_monthly(ret_eq, f"Heatmap mensile – Equal Weight (Top{TOP_N})")
|
||||||
|
plt.savefig(PLOT_DIR / "heatmap_eqw.png", dpi=150)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
plot_heatmap_monthly(ret_rp, f"Heatmap mensile - Risk Parity (Top{TOP_N})")
|
plot_heatmap_monthly(ret_rp, f"Heatmap mensile – Risk Parity (Top{TOP_N})")
|
||||||
|
plt.savefig(PLOT_DIR / "heatmap_rp.png", dpi=150)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
# 6) Save outputs
|
# 6) Save outputs
|
||||||
|
|||||||
@@ -130,7 +130,9 @@ RP_LOOKBACK = 60
|
|||||||
DAYS_PER_YEAR = 252
|
DAYS_PER_YEAR = 252
|
||||||
|
|
||||||
OUT_DIR = Path("./out_stocks_usa")
|
OUT_DIR = Path("./out_stocks_usa")
|
||||||
|
PLOT_DIR = Path("./plot_stocks_usa")
|
||||||
OUT_DIR.mkdir(parents=True, exist_ok=True)
|
OUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
PLOT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
@@ -964,12 +966,15 @@ def main():
|
|||||||
plt.grid(True)
|
plt.grid(True)
|
||||||
plt.legend()
|
plt.legend()
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
|
plt.savefig(PLOT_DIR / "equity_line.png", dpi=150)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
plot_heatmap_monthly(ret_eq, f"Heatmap mensile – Equal Weight (Top{TOP_N})")
|
plot_heatmap_monthly(ret_eq, f"Heatmap mensile – Equal Weight (Top{TOP_N})")
|
||||||
|
plt.savefig(PLOT_DIR / "heatmap_eqw.png", dpi=150)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
plot_heatmap_monthly(ret_rp, f"Heatmap mensile – Risk Parity (Top{TOP_N})")
|
plot_heatmap_monthly(ret_rp, f"Heatmap mensile – Risk Parity (Top{TOP_N})")
|
||||||
|
plt.savefig(PLOT_DIR / "heatmap_rp.png", dpi=150)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
# 6) Save outputs
|
# 6) Save outputs
|
||||||
|
|||||||
@@ -55,10 +55,10 @@
|
|||||||
"base_dir": ".",
|
"base_dir": ".",
|
||||||
"input_universe": "Input/Universo per Trading System.xlsx",
|
"input_universe": "Input/Universo per Trading System.xlsx",
|
||||||
"connection_txt": "connection.txt",
|
"connection_txt": "connection.txt",
|
||||||
"output_dir": "output",
|
"output_dir": "out_etf",
|
||||||
"plot_dir": "plot",
|
"plot_dir": "plot_etf",
|
||||||
"open_trades_dir": "open_trades",
|
"open_trades_dir": "open_trades",
|
||||||
"audit_log_csv": "output/trades_audit_log.csv"
|
"audit_log_csv": "out_etf/trades_audit_log.csv"
|
||||||
},
|
},
|
||||||
"hurst": {
|
"hurst": {
|
||||||
"lookback": null,
|
"lookback": null,
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
"max_retry": 3,
|
"max_retry": 3,
|
||||||
"sleep_sec": 0.1,
|
"sleep_sec": 0.1,
|
||||||
"timeout": 10,
|
"timeout": 10,
|
||||||
"cache_dir": "output/price_cache",
|
"cache_dir": "out_etf/price_cache",
|
||||||
"recompute_portfolio_open": false
|
"recompute_portfolio_open": false
|
||||||
},
|
},
|
||||||
"run": {
|
"run": {
|
||||||
|
|||||||
Reference in New Issue
Block a user