Current location | Thread information | |
![]() ![]() ![]() ![]() ![]() ![]() |
Last Activity 2/23/2025 4:01 AM 27 replies, 4047 viewings |
|
Printer friendly version |
^ Top | |||
mholstius![]() Regular ![]() ![]() ![]() Posts: 76 Joined: 6/15/2011 ![]() |
I’ve been experimenting with the new ATS capabilities in OT2018, and I’m thoroughly impressed. I hope the following info will allow you to duplicate my results and see for yourself how much ATS improves things… How I did it... Load in Nirvana’s Large Cap Stocks list, use only the VBX3 strategy, run the To Do list to update everything, and save the data for use in Port Sim; Running the To Do list will take a while, but when it’s done go to Port Sim and choose Large Cap Stocks for the Focus List; I used $100,000 and 2X Leverage for my example; It’s important that the parameters are the same for both the original and ATS runs, so I set both to use 5% per trade allocation; At the bottom left of Port Sim, click on ATS settings, click on these 3 choices, and then Close; In the top middle of the Port Sim, click on % of Equity and make sure the default settings are correct (you can modify them in the boxes if necessary); Click on Reversal and make sure those are correct (you can modify them in the boxes if necessary) Notice that the first 5 should be the same as the first 5 in % of Equity (so we’re comparing Apples to Apples) The last 2 have to do with ATS settings; Click on Run Analysis. It takes a while, but below are my results using BT 1/1/00-1/1/07 and FT 1/1/07-1/1/17, VBX3, and Large Cap Stocks; (Sorry, the image is a bit wide in order to make all the info visible) To see how ATS improves the results, click on the Reversal tab; The improvement is quite obvious. You can also click on the Summary tab to see both overlaid; I wasn’t in on the development of this new capability, but I’m certainly impressed. I was dubious after seeing such good results, so I exported the trades for both the original run and the ATS run and put them into excel for analysis. I can confirm the following; The original took 15,813 VBX3 trades. The ATS run took 9,182 of those trades and did not take 6,631 of the original trades. ATS didn’t add any trades, it just selected a much better subgroup of the original set. I want to learn more about how ATS works... I don’t know any more than you at this point, but these are truly impressive results, just by using the default settings published by Nirvana Maybe we can do even better...??? BTW - I intentionally left 2017 out of these tests, and plan to post those results in the near future. Hope this helps, Mark [Edited by mholstius on 12/4/2017 4:47 PM] ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | ||
^ Top | |||
Eric S.![]() Member Posts: 5 Joined: 12/2/2017 ![]() |
Thanks Mark!, This is great... will test ASAP. Definitely want to try this on some already good OT Portfolios/Strategies I have. Also want to learn more about ATS. >> Wondering ahead if this (ATS) will port to OV (when included in an OT Portfolio). ...Or if Nirvana can build an equivalent feature in OV. | ||
^ Top | |||
THOMAS HELGET![]() Elite ![]() ![]() Posts: 610 Joined: 3/22/2006 Location: BALDWINSVILLE, NEW YORK ![]() |
Mark: I agree that the comparison results are truly amazing! But my concern is how the two ranking parameters in the Reversal ATS Method - RSI(3) (LONGS) and ADX(10) (SHORTS) for Rank 1 and TRII(60,40) for both LONGS and SHORTS for Rank 2 and then their subsequent weighting of 100 for Rank 1 and 10 for Rank2 could have ever been even conceived of initially. That is, have you tried to create your own ATS method? If so could you create one for, say, breakout stocks (we only have Reversal and Trend Reversal Methods currently)? What indicators and parameters would you suggest? What would be your weighting of those indicators? Just some thoughts - to my mind a little too "black boxy" (or maybe a lucky guess), especially with the weighting factor. Tom Helget [Edited by THOMAS HELGET on 12/4/2017 8:55 PM] | ||
^ Top | |||
Eric S.![]() Member Posts: 5 Joined: 12/2/2017 ![]() |
Hi Mark re: your comment: The ATS run took 9,182 of those trades and did not take 6,631 of the original trades. Does it tell us that (the actual # ATS took) anywhere (i.e. in Port Sim)? Thanks Eric | ||
^ Top | |||
Mel![]() Veteran ![]() ![]() ![]() Posts: 235 Joined: 3/18/2006 ![]() |
Tom, For breakouts try something like a volatility squeeze, i.e. ( BOL_UPPER(20,2)-KLT_UPPER(20))/KLT_UPPER(20) I notice that z-score works better than all the stuff showed so far for rtm, by a significant margin. Mel | ||
^ Top | |||
THOMAS HELGET![]() Elite ![]() ![]() Posts: 610 Joined: 3/22/2006 Location: BALDWINSVILLE, NEW YORK ![]() |
Mel: Thanks! Can you maybe elaborate on the z-score for Return to Mean with some sort of mathematical formula, please? Tom Helget | ||
^ Top | |||
Mel![]() Veteran ![]() ![]() ![]() Posts: 235 Joined: 3/18/2006 ![]() |
Here is a z-score indicator. Sort descending for long, ascending for short. ![]() | ||
^ Top | |||
THOMAS HELGET![]() Elite ![]() ![]() Posts: 610 Joined: 3/22/2006 Location: BALDWINSVILLE, NEW YORK ![]() |
Mel: Thanks very much and Happy Holidays! Tom Helget | ||
^ Top | |||
Mel![]() Veteran ![]() ![]() ![]() Posts: 235 Joined: 3/18/2006 ![]() |
I think in general we will do better with unbounded oscillators and indicators, since they offer more values to be used to ranks trades. CCI, MACD, z-score, etc. | ||
^ Top | |||
THOMAS HELGET![]() Elite ![]() ![]() Posts: 610 Joined: 3/22/2006 Location: BALDWINSVILLE, NEW YORK ![]() |
Mel: Yes, good reasoning there! Tom Helget | ||
^ Top | |||
THOMAS HELGET![]() Elite ![]() ![]() Posts: 610 Joined: 3/22/2006 Location: BALDWINSVILLE, NEW YORK ![]() |
Mark: One of your comments at the end of your post didn't make sense to me. You commented that: I can confirm the following; The original took 15,813 VBX3 trades. The ATS run took 9,182 of those trades and did not take 6,631 of the original trades. ATS didn’t add any trades, it just selected a much better subgroup of the original set. Yet your screen shots clearly show each Method (% of Equity and Reversal) taking around 15,000 trades each. And that makes sense to me as the VBX3 Strategy throws off a large number of possible trades on the huge Large Cap Stock list (2362 issues strong on today's OmniScan). As a matter of fact 46 possible Long and Short trades were available for the taking today alone. Certainly more than enough to choose from to get a full 20 trades at 5% allocation per trade even if no other Symbols were currently in trade. So, I would posit that what the ATS Reversal Method was doing was selecting the very best of those scadzillion trades whereas the % of Equity Method was just taking the trades alphabetically. And, on that matter, One thing you did not describe in your write-up is how your Trade Selection was done - I would assume you just left it the standard Symbol Ascending order. Now I always hated that since, what if, the "Z" symbols were the hot pistols currently? So I like to use something a bit more ranking in it's own right - Advisor Descending: Now when I did that I got roughly the same results you achieved with the Reversal Method but a bit better Equity Curve for the % of Equity Method: Now to me this would show that the ATS Reversal Method is selecting it's trades solely on the Ranking in the Method whereas the % of Equity Method could be bettered a bit by using the Advisor Descending sort in place of the customary Symbol Ascending order. Tom Helget [Edited by THOMAS HELGET on 12/6/2017 7:04 PM] ![]() ![]() | ||
^ Top | |||
mholstius![]() Regular ![]() ![]() ![]() Posts: 76 Joined: 6/15/2011 ![]() |
Good observations Tom... And thanks for the detailed snags - I always like those. Unfortunately, I'm quite busy with some family things this week and won't be able to give this the attention it deserves right now. Just wanted to let you know I'm not ignoring you. I also don't like Alphabetic - and ranking by Advisor looks like a nice improvement. Thanks for your understanding, Mark | ||
^ Top | |||
Mel![]() Veteran ![]() ![]() ![]() Posts: 235 Joined: 3/18/2006 ![]() |
I ran a 3000 bar backtest on one of my own rtm systems, a $50000 account, no margin. Report: Generated 19,490 trades, 51.28% hit rate, ppt .02 (combined long and short trades.) % of Equity PortSim: lost $5200 in 3000 bars, taking 15257 trades, 50.2% hit rate, .99 profit factor. z-score ATS sort on % of equity allocation: made a profit of $60,932,464. Took 15274 trades, 61.5 % hit rate, profit factor 2.02. Seem to good to be true. ![]() | ||
^ Top | |||
THOMAS HELGET![]() Elite ![]() ![]() Posts: 610 Joined: 3/22/2006 Location: BALDWINSVILLE, NEW YORK ![]() |
Mel: Yes, it does since it is a bit like using a filter to an already established system. Of course you can't weight multiple filters and so in that right the ATS is certainly superior. Tom Helget | ||
^ Top | |||
Vinay![]() Regular ![]() ![]() Posts: 70 Joined: 1/18/2012 Location: Planet Earth ![]() |
Originally written by Mel on 12/8/2017 10:20 AM Seem to good to be true. In the past I also got "too good to be true" results which turned out to be OT bugs. Here are the links for those cases: 1. https://www.omnitrader.com/currentclients/otforum/thread-view.asp?threadid=8864 2. https://www.omnitrader.com/currentclients/otforum/thread-view.asp?threadid=11223 After these "too good to be true" experiences, I never had complete faith in the results shown by OT. This may also turn out to be one of those cases. Who knows? BTW both the bugs mentioned above were reported several years ago still remain unfixed. [Edited by Vinay on 12/8/2017 8:31 AM] | ||
^ Top | |||
LSJ![]() Veteran ![]() ![]() ![]() ![]() Posts: 190 Joined: 7/23/2012 Location: Citrus Springs, FL ![]() |
I have been using Williams%R with iZones and just added the zscore for comparison. Interesting that they are almost identical and probably could be used interchangeably. zscore in red and will%r in orange. [Edited by LSJ on 12/8/2017 2:24 PM] ![]() | ||
^ Top | |||
Mel![]() Veteran ![]() ![]() ![]() Posts: 235 Joined: 3/18/2006 ![]() |
For best results, you need a ranking measurement that is different from the basis of the underlying system. z-score improved the VBX result some, but z-score is a lot like the underlying Bollinger Bands in VBX. When I used it on an RTM system that had nothing to do with the band-like stretch from a MA, it made dramatic improvements. So I would expect a momentum indicator to improve a non-momentum system more that another momentum indicator would. I would expect unbounded indicators to do a better job of sorting than bounded ones (that can get pinned at 100) for example, and fail to make meaningful distinctions among the better trades. It takes a lot of trades to see the effects of ATS indicators clearly. But once we know the effects, we can choose the right ones for different kinds of systems, even those that do not generate lots of trades. Potential ATS indicators include, momentum, z-score, linreg slope, candle patterns, distance form last pivot, volatility changes, relative money flow, relative volume, implied volatility, distance to support/resistance, signal to noise ratio, trading range, and tradeability. My advice is to understand what you system is doing, at its root, widen your filters to let more trades through, and try those indicators that do something different from your system in your ATS experiments. Mel [Edited by Mel on 12/9/2017 8:22 AM] | ||
^ Top | |||
Mel![]() Veteran ![]() ![]() ![]() Posts: 235 Joined: 3/18/2006 ![]() |
Tried an experiment. Ran a strategy with z-score as the system, opened wider to generate more bad signals, and used z-score as one of the ATS rankers to see what improvement one gets. The idea was to let ATS select the best signals, rather than acting as a filter. Helped some, but I was better off tightening the system parameters instead. Reinforces the idea that you are better off using ATS as an adaptive filter on something not related to the system. Mel | ||
^ Top | |||
mgerber![]() Regular ![]() ![]() Posts: 61 Joined: 3/30/2006 Location: Issaquah, WA ![]() |
Thanks, Mel, for your very interesting and insightful thinking on how to approach ATS ranking indicators. I'll begin with z-score to see if I can get something to work in ATS. --Mark G. | ||
^ Top | |||
mgerber![]() Regular ![]() ![]() Posts: 61 Joined: 3/30/2006 Location: Issaquah, WA ![]() |
BTW, I talked with staff yesterday right after the new OT update came out, and confirmed that a major bug with ATS was not detected until well after the brochures and Ed Downs Webinar. Ed is purportedly working on an updated and expanded webinar explaining that and the new features. Initial testing shows that the corrected ATS results are vastly different from the suspicious pie-in-the-sky results that have been quite properly viewed with a jaundiced eye. --Mark G. | ||
^ Top | |||
mgerber![]() Regular ![]() ![]() Posts: 61 Joined: 3/30/2006 Location: Issaquah, WA ![]() |
Well . . . digging into ATS coding I encountered a couple of interesting situations. I began by trying my hand at making a zScore ranking formulation, but have failed at every attempt. Parsing Mel's OLang code for the zScore indicator, I thought that it would be something like this: ((C - SMA(4)) / STD(4)) But I get multiple character invalid compile errors. Any thoughts as to how this is properly done? Thanks, Mark G. | ||
^ Top | |||
Jim Dean![]() Sage ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3433 Joined: 3/13/2006 Location: L'ville, GA ![]() |
When dividing by a function it's often necessary to check if it is zero, beforehand. dim X, Y as single X = Std(4) if X > 0 then Y = (C-sma(4)) / X Else Y =0 End if | ||
^ Top | |||
mgerber![]() Regular ![]() ![]() Posts: 61 Joined: 3/30/2006 Location: Issaquah, WA ![]() |
Also, when I began to dig into ATS coding, I discovered that Nirvana has essentially completely changed the coding for Reversal. Reversal used to be based on RSI(3), as depicted in Ed's webinar. NOW, it is based on VTY_PRICE(14,5) instead! Interesting. I replicated the RSI(3) coding, and it seems to perform nearly the same (and sometimes slightly under performs) the straight equity results. Even more interesting. This is all seemingly the probable result and reason for the "bug error" correction made in the Friday OT2018 update? We will not know for sure, of course, until/if/when Nirvana makes official comment. --Mark G. [Edited by mgerber on 12/10/2017 1:58 PM] | ||
^ Top | |||
mgerber![]() Regular ![]() ![]() Posts: 61 Joined: 3/30/2006 Location: Issaquah, WA ![]() |
Hi, Jim. Thanks for the comment. But what straight formula can I insert into ATS? I tried everything I could think of to massage what I deciphered from Mel's coding, and could not get anything to work without compile errors. Did I improperly decipher the code? #Indicator #param "Zlength", 4 #param "buylevel",-1.6 #param "shortLevel",1.6 dim av,st,zs as single if Bar>Zlength*2 then av = SMA(C,Zlength) st = STD(C,Zlength) zs = (c-av)/st plot("zScore",zs) plot("buyLevel",buyLevel,black) plot("shortLevel",shortLevel,black) end if Return zs ' Return the value calculated by the indicator --Mark G. [Edited by mgerber on 12/10/2017 2:03 PM] | ||
^ Top | |||
Jim Dean![]() Sage ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3433 Joined: 3/13/2006 Location: L'ville, GA ![]() |
I haven't gotten into ats yet- waiting for it to settle down. But anything looking for a script in OT can use a function call of an OLang indicator, which the code I showed could be a part of - just put #indicator at the top and return Y at the bottom. In theory, iif() could be used but sometimes I've found it to be problematic: Iif(std(4)=0,0,(C-sma(4))/std(4)) |
|
Legend | Action | Notification | |||
Administrator
Forum Moderator |
Registered User
Unregistered User |
![]() |
Toggle e-mail notification |