Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
In his Book, Trading Strategies That Work, Thomas Stridsman recommends Ratio-Adjusted Data (RAD) for Commodity Futures. I can see where it may be important, especially in commodities that have appreciated over time and when using data from many years back. I am starting to work some of my own examples to investigate his methods.
His formula is:
cinew = ciold * (1 + (C – c)/C)
where:
cinew = The new price i bars ago
ciold = The old price i bars ago
C = The close of the new contract on the day of the roll
c = The close of the old contract on the day of the roll
Unless I am doing something wrong, I was expecting the adjusted new closing price to coincide with the old closing price. Otherwise there will be an inherent discontinuity, albeit a small one.
Why would I not just use:
cinew = ciold * C/c
?
Also, are the OPEN, HIGH, and LOW also adjusted using the CLOSE rather than their respective New OPEN, HIGH, and LOW values?
Can you help answer these questions from other members on NexusFi?
c = close of the old contract
C = close of the new contract gap = C - c
The idea of both backadjusted and ratio-adjusted data is to eliminate the gap by adjusting the old contract to the level of the new contract. As you have correctly noticed this is not achieved with the formula put forward in the book by Thomas Stridsman.
I think that it is a simple typo, because if you replace the denominator "C" (upper case) with "c" (lower case), the formula becomes
cinew = ciold * (1 + (C – c)/c) = ciold * (C / c)
which would be correct and match your suggestion.
For open, high and low the same ratio is used. Otherwise you would create artificial gaps on your chart between two consecutive bars.
Ratio-adjusted data is very unusual. I have never used it. Also I would prefer a perpetual contract to ratio adjusted data, as the ratio adjusting does not solve the major problem of backadjusted contracts, which is that they diverge from real price, if you go far back in the future. Moreover ratio adjusted data cannot be used for backtesting, whereas simple backadjusted data is fit for this purpose.
Thank-you for your response. I am sure you are right about the typo. I did look for an errata from McGraw-Hill but could not find one. It helps to have confirmation.
I am glad you responded with the above also. I believe I have read one of your previous posts stating Ratio-adjusted data could not be used for backtesting. While I am not the authority, Stridsman argues that Point-adjusted data is okay for backtesting if you want to see how much you would have gained (lost) trading you system in the past. However, if you want to see how you system would fare in today's dollars, systems should be tested using percentages and multiplied by today's dollar value. He argues correcting to today's dollars is more appropriate.
However, as I write this I think the same thing can be accomplished by outputting in percentages (without proportioning) then converting to today's dollars for especially for contracts that have had considerable appreciation. (NT7 has that option). The sum of the gaps will be minimal compared to say the upward bias of an index over the years.
Thanks again, and I would appreciate any more of your thoughts.
Ratioadjusted and perpetual contracts falsify the outcome of individual trades. This cannot be corrected afterwards, therefore you will never obtain an accurate backtest.
Standard backadjusted data does not modify the outcome of any single trade and takes into account the rollover gain / loss without the spread. Non-adjusted data is best for backtesting, but you need to close out every position on rollover date and reenter a position for the new front month.
If you make an analysis of historical trades in terms of returns and not in terms of absolute gains, then those results can be applied to today's markets.
I use ratio-adjusted because I am interested in knowing the average % gain/loss of my trades and translating them into today's dollars. With a RAD backtest the profit factor, average trade % gain/loss, and other ratios are accurate. I could care less about the dollars made, because as Stridsman points out the sequence of trades will not occur in the same order as in the back test again.
You cannot calculate the exact average gain/loss from ratio-adjusted data. All ratios are more or less inaccurate. The reason is that returns are either skewed to the upside or downside with ratio-adjusted data.
Which data ist best used depends on the time frame. As a short term trader, it is best to use backadjusted or non-adjsuted data (the latter needs separate accounting for rollover gaps). As a long term investor perpetual contract data is best.
I do not see how ratio-adjusted data can improve the backtest, as all results are distorted.
I'm sorry I don't understand what you mean when you say "You cannot calculate the exact average gain/loss from ratio-adjusted data. All ratios are more or less inaccurate". Why not? I thought that is the whole point of RAD contracts? They maintain the percent difference between the contracts at rollover, not the point differences.
To be clear I'm talking about the RAD contracts from Pinnacle Data.
@whipsaw: Then let us calculate your ratios with both standard backadjusted and ratio-adjusted data and discuss the outcome! It is enough to perform the calculation for a single trade that covers several contracts.
-> Would you have a sample trade that we can discuss?