Feature Request: Backtests with daily rebalance for a fee

I have a sim that I would like to backtest with daily rebalance, daily update of ranks and daily updates of consensus earnings estimates.

I’m not sure backtesting with daily updates of consensus earning estimates is even possible. I do not know if this information is saved on the servers. But I think daily rebalancing in general has not been made available due to concerns about using too many resources (too much computer time).

Concerns about using too much computer time could be addressed by charging a fee to avoid overuse and to make the extra work profitable for P123. This could be put into a batch and run during off hours once a week or once a month.

I’m guessing my port might return an extra 20% annualized which would return the price of any fee quickly.

Thanks. I know P123 is already working on this and will arrive at a good solution. This is just one idea until the perfect supercomputer arrives.
View the feature request here.

Certain factors will be very hard to do daily. For example estimate Up/Down revisions. The only way to do these daily is with detailed estimate data, meaning each analyst opinion, which we do not have. We could purchase this expensive data, but the project to create aggregates is a big one. Other factors will never be daily, like short interest since it’s reported twice a month from exchanges. Or insider/institutional which is 90 days I think. But many can be daily. All financial based data like PE for example.

At the moment a daily simulation has the following limitations:

  • Ranks from the ranking system are weekly
  • Fundamentals in buy/sell rules are weekly
  • Technical signals like SMA crossovers are daily

A live port, rebalanced manually daily by the user uses the latest data & ranks (except for those weekly only factors) and cannot be reproduced in a simulation. I will add a sentence in the docs to all factors that are weekly to make it clear.

So at the moment daily sims are a bit of a hodge-podge that was added to accommodate users that understand the limitations. The goal for daily simulations is to be able to replicate what happens if you manually rebalance a portfolio manually every day. In other words automatically rebalancing a port daily should be reproducible with a simulation. It will require some re-architecture but I don’t think it’s a huge project. As far as additional costs we will make that determination when we get a sense on how much strain it will put on the system (it’s basically 5x more) and if it impacts other users that do not need daily ranks.

It’s an important project since it will allow daily R2G’s for example.

Thanks

Marco,

Thank you for your thorough reply.

BTW, I, personally, do not use any of the factors that you mentioned as potential hurdles. For example while I use earnings estimates, I do not use up/down revisions. Likewise, I do not use short interest, insider buying or institutional buying. They just don’t help in combination with the other factors I tend to use.

I already run each of my ports on every day of the week but they are rebalanced weekly. So I have 3 Monday ports, 3 Tuesday port, 3 Wednesday ports etc. This is to increase my total positions as Tuesday will have some new stocks that Monday didn’t and it reduces the slippage even when the same stock is recommended as it is bought over several days (but only if it remains highly ranked).

The above approach should work from the physics property of symmetry. This is perhaps why Oliver is an advocate of doing this with the R2Go ports. While only Monday rebalance can be tested symmetry assumes Thursday rebalance will have about the same results. Daily rebalance might have higher slippage but it should also have higher returns.

What I am finding is that once a stock slips in rank it probably becomes dead money. If I delay selling a stock in my sim (controllable to some extent using weekday = x), that stock tends to stay the same price over a several day period. So earlier selling using daily rebalancing will move my money from a stock that is no longer performing to one that that is higher ranked and still performing. It is likely that my “Avg Return” will be about the same but the average days held will be about 20% less.

Again thanks and some of the hurdles you mentioned (eg up/down revisions) would not even be noticed by me.

I would love that Feature!
Especially for daily r2gs!

[quote]

  • Fundamentals in buy/sell rules are weekly

    [/quote]Marco, what about the “P” in “PE”, is it daily or weekly?

Hi.

I, for one, would not be willing to pay extra to back test using daily fundamental data.

Most of my sims do worse with daily rebalance compared to weekly. In part this is due to the market timing element that does more whipsaws when done daily.

Also I’m not interested in rebalancing my real money portfolios every day. I’ve got other things to do. So doing daily rebalancing for sim has virtually no appeal for me. If it were no extra cost, I’d likely check it out just for curiosity, but not if it were to cost more.

Regards,
Brian

Brian,

Whipsaws are a real potential concern. I traded daily back with Stockscreen123. Those analyst can be up one day and down the next too. The whipsaw problem is not limited to market timing. Decided I wanted to see backtested results before putting real money to work.

Still want to know one way or the other.

If there isn’t a large additional fee, I might try RankPos > 5 and NoBars >= 5 in the sell rules to mitigate the worse problems with whipsaws: if there is a problem. I really don’t know what might work without trying it.

There are a lot of things that should work that just don’t. Most of the time when I tell myself that I knew something was going to work ahead of time, it is just hindsight bias.

Marco:

   I rebalance daily for changes in the technical indicators that can change rapidly.  I don't want to pay any additional fees. My $0.02.

   Bill

I don’t think that adding daily fundamental and analyst data to Sims will make much of a difference (I am trading 3 daily Ports). My thinking is that since fundamental data is updated quarterly by the company, on average, there will be a very small number of stocks in an average Portfolio that would have an update during the week that is timely enough to have a significant affect over weekend updates.

Let’s assume that we are interested in Stocks above ADT > $100K, and they all release their quarterly reports spread throughout the month after the end of a quarter (Many will trade in the next months, but for simplicity I will assume they all trade in the following month). Then there are 4200 stocks to consider, and that is 4200/30 = 140 stocks reporting per day or 3%/day. Now many of those are updated just as timely for the weekend P123 download. So that would reduce the number that would be of value during weekdays.

Let’s also assume that you hold a Portfolio of 30 stocks. Then, on average, you hold 0.7% of the 4200 stocks. So the probability of holding one of the 140 stocks that trade/day is 0.00023, or 0.0012 for the 5 weekly days. Now lets us consider analyst’s input. Of the 4200 stocks, many of them are not followed at all by analysts. So the probability that you hold a stock that had an analyst update is even lower especially if you are trading MicroCaps.

Now let’s assume that you trade from a universe of 1000 large stocks, like the R1000. So there would be on average 33 stocks announcing / day the month after the reports come out, or 3.3% /day. A 30 stock Portfolio is 3% of the 1000. So the probability is 0.001 that a stock that is held by the Port is updated on any given day of the 30 after the quarterly report. Now all of these will have analyst followings so that probability is similar to the quarterly report probability.

The above only considers the first month after the end of a quarter. Although many stocks will report in the following 2 quarters, the number is far less that in the first month, and there would be many weeks that there are no fundamental or analyst activities for the 30 stocks in the Portfolio.

But independently of all the above, most of the stock price change that is affected by quarterly reporting or analysts updates occurs on the day after an evening report or analysts update. However, there will not be any data available to P123 until after Compustat analyses the data and P123 downloads it, a few days later for LargeCaps, and sometimes a week or more later on MicroCaps. By then, most of the price change has already taken effect.

So what is it worth?
Denny :sunglasses:

Denny, most of the useful fundamentals are ratios that have price in the equation and therefore change daily: PE, Price2Sales, Yield.

Also, a lot of technicals are placed in ranking systems. These change only weekly at the moment.

Denny,

Great post. I was trying to think what information would either support or weigh against what you say. I went to AAII and looked at their performance history since 1998. The best performing screen was Piotroski: High F-score. The second best performer was Est. Rev. Up 5% with 28.6% annualized return.

I don’t like Zacks very much so the fact that they use earnings estimates so much may argue in your favor.

“The Handbook of Equity Market Anomalies” has a chapters about both analysts and earnings revisions. An argument could perhaps be made that this information is a little dated. I found it interesting that according to this book analyst recommendations have to be acted on very quickly but with regard to revisions they quote: “Chamberlin, and Daniel (1984) provide corroborating evidence of the slow investor reaction.” This might support your argument. Perhaps (and I would agree with this) we probably cannot react fast enough to analyst recommendations at P123. Also (I don’t know on this one) it may be that rebalancing once a week is plenty when ranking earnings estimate revisions.

I can’t wait to read the discussions if and when people get to try daily rebalance.

Yes, but I was discussing fundamentals and analyst daily updates. There is no problem with adding the technicals (price & volume) to daily ranking and Sims/Ports. You already have that data. It is just a matter of daily calculating the fundamentals that use that info. That’s a big project up front, but once it is done it doesn’t change. That is well worth doing, and you already have the engine developed to calculate your own ratios. My point in the post above is that I don’t think that it is worth paying for and downloading historic and future daily fundamental data.

Jim,

I think that very good Sims can be created that employ quarterly reporting data and analysts revisions. My point is that the Pros review the Quarterly reports and analyst revisions the day they are posted by the company or analyst and immediately trade on that data which causes the majority of any price movement in a stock that may occur as a result.

By the time P123 can get the daily data and we can rebalance Ports that use the data it is already old enough that most of the price movement has already occurred (if there was any to begin with). Combining that with how seldom a stock you are holding will be affected or one that might move up high enough in the ranks to be recommended, I don’t think the cost to acquire that data is worth it.

We can get the data daily from the news, and manually trade on it, but not using our ports and ranking systems. Until P123 can teach their computers to read the news and add the data, we are stuck with the delays. However, adding technical date using price & volume to daily ranking systems is worth it since we already have the data and those factors and functions do change daily.

Denny :sunglasses:

Denny,

I agree 100% on analysts recommendations. Indeed, maybe it has changed, but it has been well documented that stocks prices actually start to move before the analysts recommendations are made public: insider trading. I have not been able to make much use of this factor. I have gotten some marginal improvement using analyst recommendations on the S&P 500 universe.

With regards to factors such as CurQEPSMean Marco already makes those available: updated daily for the screener and ports. Marco’s post did not give me the impression that there would be any addition cost from the data provider to make this available for daily backtesting. My request makes it clear that I understand that there would be a cost with regard to computer resources.

Earning estimates revisions work for AAII when rebalanced monthly. Zacks claims the information moves stock prices for 60 days. I admit that I do not know if daily is better than weekly: that’s why I want to backtest it.