mirror of
https://github.com/manifoldbt/manifoldbt.git
synced 2026-08-24 14:38:04 +00:00
release: v0.14.0
This commit is contained in:
@@ -72,4 +72,4 @@ if __name__ == "__main__":
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {perf_counter() - t0:.2f}s")
|
||||
|
||||
mbt.plot.tearsheet(result, show=True)
|
||||
mbt.plot.tearsheet(result)
|
||||
|
||||
@@ -75,4 +75,4 @@ if __name__ == "__main__":
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
|
||||
# Plot
|
||||
mbt.plot.summary(result, show=True)
|
||||
mbt.plot.summary(result)
|
||||
|
||||
@@ -63,4 +63,4 @@ if __name__ == "__main__":
|
||||
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
mbt.plot.summary(result, show=True)
|
||||
mbt.plot.summary(result)
|
||||
|
||||
@@ -70,4 +70,4 @@ if __name__ == "__main__":
|
||||
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
mbt.plot.summary(result, show=True)
|
||||
mbt.plot.summary(result)
|
||||
|
||||
@@ -101,4 +101,4 @@ if __name__ == "__main__":
|
||||
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
mbt.plot.summary(result, show=True)
|
||||
mbt.plot.summary(result)
|
||||
|
||||
@@ -71,4 +71,4 @@ if __name__ == "__main__":
|
||||
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
mbt.plot.summary(result, show=True)
|
||||
mbt.plot.summary(result)
|
||||
|
||||
@@ -92,7 +92,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
|
||||
# -- 3. Summary 3-panel ---------------------------------------------------
|
||||
mbt.plot.summary(result, show=True)
|
||||
mbt.plot.summary(result)
|
||||
|
||||
# -- 4. Candlestick chart (first symbol in universe) --------------------
|
||||
mbt.plot.chart(
|
||||
@@ -101,18 +101,17 @@ if __name__ == "__main__":
|
||||
smas=[50],
|
||||
n_bars=120,
|
||||
interactive=False,
|
||||
show=True,
|
||||
)
|
||||
|
||||
# -- 5. Individual charts -------------------------------------------------
|
||||
mbt.plot.equity(result, show=True)
|
||||
mbt.plot.drawdown(result, show=True)
|
||||
mbt.plot.monthly_returns(result, show=True)
|
||||
mbt.plot.annual_returns(result, show=True)
|
||||
mbt.plot.returns_histogram(result, show=True)
|
||||
mbt.plot.var_chart(result, show=True)
|
||||
mbt.plot.rolling_sharpe(result, show=True)
|
||||
mbt.plot.rolling_volatility(result, show=True)
|
||||
mbt.plot.equity(result)
|
||||
mbt.plot.drawdown(result)
|
||||
mbt.plot.monthly_returns(result)
|
||||
mbt.plot.annual_returns(result)
|
||||
mbt.plot.returns_histogram(result)
|
||||
mbt.plot.var_chart(result)
|
||||
mbt.plot.rolling_sharpe(result)
|
||||
mbt.plot.rolling_volatility(result)
|
||||
|
||||
# -- 6. Sweep heatmap 2D -------------------------------------------------
|
||||
# Sweep over RSI period and oversold threshold
|
||||
@@ -160,7 +159,7 @@ if __name__ == "__main__":
|
||||
"metric_grid": metric_grid,
|
||||
}
|
||||
print(f"Sweep done in {time.perf_counter() - t0:.1f}s")
|
||||
mbt.plot.heatmap_2d(sweep_result, show=True)
|
||||
mbt.plot.heatmap_2d(sweep_result)
|
||||
|
||||
# -- 7. Walk-forward validation -------------------------------------------
|
||||
print("\nRunning walk-forward (manual folds)...")
|
||||
@@ -201,11 +200,11 @@ if __name__ == "__main__":
|
||||
"folds": wf_folds,
|
||||
}
|
||||
print(f"Walk-forward done in {time.perf_counter() - t0:.1f}s")
|
||||
mbt.plot.walk_forward(wf_result, show=True)
|
||||
mbt.plot.walk_forward(wf_result)
|
||||
|
||||
# -- 8. Monte Carlo -------------------------------------------------------
|
||||
print("\nRunning Monte Carlo (1000 paths)...")
|
||||
mbt.plot.monte_carlo(result, n_simulations=1000, seed=42, show=True)
|
||||
mbt.plot.monte_carlo(result, n_simulations=1000, seed=42)
|
||||
|
||||
# -- 9. Parameter stability -----------------------------------------------
|
||||
print("\nRunning stability analysis (RSI period)...")
|
||||
@@ -241,7 +240,7 @@ if __name__ == "__main__":
|
||||
"stability_score": 1.0 - (std_m / abs(mean_m)) if mean_m != 0 else 0.0,
|
||||
}
|
||||
print(f"Stability done in {time.perf_counter() - t0:.1f}s")
|
||||
mbt.plot.stability(stab_result, show=True)
|
||||
mbt.plot.stability(stab_result)
|
||||
|
||||
# -- 10. Research report (composite) --------------------------------------
|
||||
print("\nGenerating research report...")
|
||||
|
||||
@@ -93,4 +93,4 @@ if __name__ == "__main__":
|
||||
print(f"\n{len(folds)} folds in {elapsed:.2f}s")
|
||||
|
||||
if folds:
|
||||
mbt.plot.walk_forward({"optimize_metric": metric, "folds": folds}, show=True)
|
||||
mbt.plot.walk_forward({"optimize_metric": metric, "folds": folds})
|
||||
|
||||
@@ -87,4 +87,4 @@ if __name__ == "__main__":
|
||||
"y_values": slow_values,
|
||||
"metric": "t-stat(alpha)",
|
||||
"metric_grid": metric_grid,
|
||||
}, show=True)
|
||||
})
|
||||
|
||||
@@ -84,4 +84,4 @@ if __name__ == "__main__":
|
||||
"y_values": slow_values,
|
||||
"metric": "t-stat(alpha)",
|
||||
"metric_grid": metric_grid,
|
||||
}, show=True)
|
||||
})
|
||||
|
||||
@@ -66,4 +66,4 @@ if __name__ == "__main__":
|
||||
print(f"Elapsed: {time.perf_counter() - t0:.3f}s\n")
|
||||
|
||||
# 2. Monte Carlo fan chart
|
||||
mbt.plot.monte_carlo(result, n_simulations=10000, seed=42, show=True)
|
||||
mbt.plot.monte_carlo(result, n_simulations=10000, seed=42)
|
||||
|
||||
@@ -72,4 +72,4 @@ if __name__ == "__main__":
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
|
||||
mbt.plot.tearsheet(result, show=True)
|
||||
mbt.plot.tearsheet(result)
|
||||
|
||||
@@ -141,5 +141,4 @@ if __name__ == "__main__":
|
||||
mbt.plot.stochastic_paths(
|
||||
result,
|
||||
title=f"Mean-reverting model (S0=80, target=100, {N_PLOT:,} paths)",
|
||||
show=True,
|
||||
)
|
||||
|
||||
@@ -83,4 +83,4 @@ if __name__ == "__main__":
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
|
||||
mbt.plot.equity(result, show=True)
|
||||
mbt.plot.equity(result)
|
||||
|
||||
@@ -105,4 +105,4 @@ if __name__ == "__main__":
|
||||
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
result.plot_equity(show=True)
|
||||
result.plot_equity()
|
||||
|
||||
@@ -211,4 +211,4 @@ if __name__ == "__main__":
|
||||
|
||||
print(result.summary())
|
||||
print(f"\nElapsed: {elapsed:.3f}s")
|
||||
result.plot_equity(show=True)
|
||||
result.plot_equity()
|
||||
|
||||
Reference in New Issue
Block a user