quantlab.backtest.config.CrossSectionBacktestConfig#
- class quantlab.backtest.config.CrossSectionBacktestConfig(*, price_dataset, start_date, end_date, rebalance_periods, output_dir, model=None, model_mode=None, checkpoint=None, cv_project_dir=None, fees=0.0005, slippage=0.0005, init_cash=1000000.0, sizing_basis='fill', benchmark_dataset=None, risk_model=None, tracker=<factory>, name=None, constructor)[source]#
Bases:
BacktestConfigConfig of a cross-sectional backtest: a predictor’s scores turned into weights.
On every rebalance bar
constructor, a portfolio construction rule, turns the predictions of that bar into the weights to hold after it.Examples
>>> cfg = CrossSectionBacktestConfig( ... price_dataset=price_dataset, ... model=model, ... model_mode="load", ... checkpoint="/data/models/xgb/best.joblib", ... start_date="2023-01-01", ... end_date="2023-12-31", ... output_dir="/data/backtests", ... rebalance_periods=5, ... constructor=TopNConstructor(TopNConfig(direction="long_short", top_n=20)), ... ) >>> cfg.constructor TopNConstructor(direction='long_short', top_n=20, score_label=None)
- constructor#
The portfolio construction rule (a
PortfolioConstructor, such asquantlab.portfolio.predefined.top_n.TopNConstructor) that turns each rebalance bar’s predictions into target weights.