I am using the algorithm framework to backtest custom rebalancing periods on a portfolio that will have assigned weights using the InsightWeightingPortfolioConstructionModel. Ideally, I would configure the rebalancing period from the SetPortfolioConstruction line of code, but the self.DateRules is limited to every day, day of week, weekly, and monthly rebalancing periods. I have tried to use self.DateRules.Every(timedelta(90)) but this results in an error.

self.SetPortfolioConstruction(MyInsightWeightingPortfolioConstructionModel(self.DateRules.MonthEnd()))

I would like to modify the code to backtest quarterly rebalancing or biweekly rebalancing. I was thinking of modifying the InsightWeightingPortfolioConstructionModel by creating a condition to check if 3 months/2 weeks has passed within the ShouldCreateTargetForInsight method.

Would appreciate any solutions to solve this.

Author