Validity of daily rebalances?

So I have a model here that originally functioned on a weekly rebalance, but recently I tweaked it to rebalance daily with most positions being held for 3-4 days. I’m wanting to transfer this system over to my own Python code and test it using hourly data I currently have. But I’m a bit hesitant to do so, since it would be quite a bit of work. Does anyone have experience using daily data to trade on a daily rebalance schedule? I’m mainly concerned about slippage that I may not be accounting for. I currently have it set at 0 since a majority of the trades involve Mid-Cap+ with liquidity. I also did some comparisons between “Next Open” and “Next Average of Hi and Low”, with very little variation in performance. I attached a screenshot of some of the statistics and metrics below, hoping someone could point out any red flags.

Thanks


What timing rules are you using?

Hi! You should test it with “variable” slippage. If the results are good, it should also work live. My live results are always better than the simulated results, especially if you work with algos and limits. On the otherhand, testing with 0 slippage is completely misleading for high-turnover strategies.

Your turnover of 6600% means 132 transactions per position per year. If you take an optimistic 0.1% to model the average spread, slippage and brokerage fees, an approximate evaluation of your annual trading costs would be 1-(0.999^132)=12.4%. At 0.2%, it would almost equal your theoretical annual return at 23.3%. Unless you can trade for free with no slippage, it looks like a bad idea.

You may really have something but you need to pay close attention to costs for sure. Did you look in the Trading and Stats section? How much average return per trade and how many days on average does it say there? Can you look under the realized trades and post us the last 10 or 20 trades?

I have tried to develop high turn systems in both P123 and ClariFI. The major issue we had was basing our data on the open price. The ranking system in both instances looked for stocks trading down from yesterday’s close followed by a quick snap back upwards. But it was false. The ‘low open price’ was some anomalous trade of 100 shares that wasn’t legit. And once you tracked it - it never happened again. We used VWAP prices 15 minutes after the open as our data feed instead of the first trade print of the day - and the returns were gone.

Feel free to contact me at kurtishemmerling@gmail.com if you want me to have a closer look or sign and NDA to examine more closely or something. Modeling a product to be held only days might be better with another platform (as you said quantopian) or something like Ninja trader. I assume it is mostly technical analysis since fundamentals only update weekly in simulations

I figured this simulation was unrealistic, especially with the data limitations. I’m working on coding something similar utilizing my own data, or on Quantopian, but I’m still skeptical about the results I’ll get. I attached the backtest from what I originally based this on, and I’m still in the process of refining it. Once I get the main formula down, I’m certain I can significantly raise my returns, lower my drawdown and increase my sharpe. This simulation includes variable slippage, flat commission of $1 and no stops.

If you’re interested in taking a closer look at the backtest I just posted, I can shoot you an email. I realized a few days ago that some of the formulas from my original backtest I posted were a bit screwed up, so I’m not sure much can be taken away from it.


Yes, please shoot me an email. And Quantopian is a good way to go for a higher turn system.