Current location | Thread information | |
![]() ![]() ![]() ![]() ![]() ![]() |
Last Activity 4/15/2019 7:43 PM 23 replies, 1914 viewings |
|
|
Printer friendly version |
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
This is a continuation of research analyzing the most effective entries for RTM trades. My original thread on RTM Entry Allocations is here; https://www.omnitrader.com/currentclients/omnivestforum/thread-view.asp?threadid=7843&posts=7 Goals of this tesing; Improve PPT by lowering the avg entry price. Improve CAR by allocating more equity to the trades with a higher PPT. These tests use the existing data for my FTM portfolio trades over 15 years to determine if using Limit Orders would’ve helped. I acknowledge that the data reflects the results of those particular trades, and is therefore a curve fit to the data… but I’ll also include additional results that may add support to the robustness of the proposal. There’s no way at the moment to submit a limit order in OV - but I’ve shared this “proof of concept” data with Nirvana and I’m hopeful that it will be implemented in some form.(?) To keep things simple the process uses two types of entry orders; 1) A MOO order that fills each day using a low allocation % 2) A Limit order with price equal to the previous day’s Close - 2% that uses a higher allocation % The Limit Order is filled on 2 events using historical OHLC data in my spreadsheet; A) Filled at the Open if the Open is <= the Limit. (Entry $ can be < the Limit $) B) When the Open is above the Limit, filled during the day if the Low for that day goes below the limit. (entry $ is then calculated using the weighted allocation of the MOO & Limit prices) If the Limit Order isn’t filled by the end of the entry day, the trade proceeds using only the MOO fill at its low allocation. Results; Blue statistics and Equity; Normal MOO Entry & MOO Exit using 1% Allocation … And When Triggered … Limit Entries (Prev Close - 2%) & MOO Exit using 10% Allocation Red statistics and Equity; Normal MOO Entry & MOO Exit using 4% Allocation **Note the improvement in all statistics when adding Limit Entries & adjusted allocations. I’ve used allocations that keep the Avg % Inv similar for both, and added a measure of efficiency in the last column. The ratio of CAR / Avg % Inv is a measure of ROI not affected by differences in Avg % Inv between portfolios. The data is as accurate as I can make it using Excel. The spreadsheet determines the equity available at the time of each trade, calculates the # of shares for each trade based on the allocation used, and subtracts commissions. Even so, the results are constrained to one set of trades. There’s a very legitimate objection that the results are positive only because those particular trades worked well and are a curve fit. I’ll try to address that problem as follows… Think of these results as a back test using “in sample” data. I ran identical tests with a set of trades that are completely “out of sample” in an attempt to validate the results. I used Nirvana’s excellent ARM4 portfolio at a low allocation to obtain another large set of historical RTM trades. Since ARM4 uses 12 RTMs and only 3 of those overlap with the 9 my FTM portfolio uses, that adds variety to the population of RTMs used. In addition, I cross-referenced all the trades produced by ARM4 and deleted the trades that were mirrored in my FTM portfolio. 15,800 trades remained that were unique & different from those in my FTM data - and I used those as an “out of sample” test of the theory. Results using the 15,800 unique / ARM4 “out of sample” trades; Blue statistics and Equity; Normal MOO Entry & MOO Exit using 1% Allocation … And When Triggered … Limit Entries (Prev Close - 2%) & MOO Exit using 10% Allocation Red statistics and Equity; Normal MOO Entry & MOO Exit using 4% Allocation **Also shows improvement in all statistics when adding Limit Entries & adjusted allocations. The results are consistent with those obtained using my FTM trades. I decided to press the limits of Excel and combined the 2 sets of trade data (~3.5 Million cells); Blue statistics and Equity; Normal MOO Entry & MOO Exit using 1% Allocation … And When Triggered … Limit Entries (Prev Close - 2%) & MOO Exit using 10% Allocation Red statistics and Equity; Normal MOO Entry & MOO Exit using 4% Allocation It’s rather obvious that using the same allocation levels with 25,164 trades produces results that are unrealistic as far as Avg % Invested and Equity. To make things more reasonable, I reduced all the allocations by half; Blue statistics and Equity; Normal MOO Entry & MOO Exit using 0.5% Allocation … And When Triggered … Limit Entries (Prev Close - 2%) & MOO Exit using 5% Allocation Red statistics and Equity; Normal MOO Entry & MOO Exit using 2% Allocation Again, the results are consistent with those obtained using my FTM trades. Below is a table showing the number and % of Limit trades taken at the Open and during the day; Every trade is taken MOO at a low 1% allocation. About 25% of those trades are then supplemented with Limit orders using a higher 10 % allocation. The % of trades filled as Limit Orders is comparable using either my “in sample” or “out of sample” set of trades. That uniformity is an indication that the results might be replicated using different portfolios. The consistent results with the “out of sample” trades also appear to validate that using this rather simple Day Limit Entry may be robust, and that adding a Limit Order capability to OV could potentially increase the profitability of an already great product. If implemented in OV with the ability to simulate historic results, we could probably find better settings for both the Limits and the Allocations. I suspect that using limits based on ATR may enhance it even more, but I don’t have that capability with Excel. Please share your experiences / thoughts on various types of Orders and how we might improve this “proof of concept” proposal. Thanks. And as always, good luck in your trading… Mark [Edited by Mark Holstius on 8/13/2017 7:41 PM] ![]() ![]() ![]() ![]() ![]() | ||
^ Top | |||
Buffalo Bill![]() Member ![]() Posts: 28 Joined: 1/2/2015 Location: Stafford, VA ![]() |
Nice work Mark - thank you. excellent idea One question - you wrote "I used Nirvana’s excellent ARM4 portfolio..." Which ARM4 portfolio do you mean? The custom one "arm strats"? [Edited by Buffalo Bill on 8/13/2017 7:44 PM] | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
As usual, excellent work! I think you've milked the rock as much as possible given the current status of OV. Now the ball is in N's court to provide limit order options. Correct me if wrong: your simulation potentially makes two entries for every trade - 1. MOO with relatively low percentage 2. Then once MOO is filled, a subsequent Limit order (same day?) kicks in which if filled uses a much higher allocation. If so, you're "scaling in" to the trade. GREAT idea. Maybe consider separating 1 & 2 by a day. Only submit the limit order if the first day is profitable. Net result would be a less-appealing limit entry price - but imho it might be more reliable when used with out of sample non-curvefit data. [Edited by Jim Dean on 8/13/2017 7:55 PM] | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Hi Buffalo, Here's the location on my OV; Thanks for the kind words, Mark [Edited by Mark Holstius on 8/13/2017 7:56 PM] ![]() | ||
^ Top | |||
Ed Downs![]() Elite ![]() ![]() ![]() Posts: 645 Joined: 2/7/2007 Location: Austin, Texas ![]() |
In response to Jim's post, we are definitely implementing order controls like this in the new trade plan code, as part of our iOmniVest development. | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
Thanks Ed. Since I'm still a bit confused about the level of availability of iOV to full OV subscribers - does your post mean that existing OV users will end up with Limit order options, without paying more? That request has been out there re OV for a very long time, so I hope the wait will soon be over. :-) | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Hi Jim, In response to your questions: Correct me if wrong: your simulation potentially makes two entries for every trade - 1. MOO with relatively low percentage 2. Then once MOO is filled, a subsequent Limit order (same day?) kicks in which if filled uses a much higher allocation. My excel analysis assumed that the MOO and Limit were placed together in time for the Open & the limit ran for the day. If the Open was lower than the Limit, then the trade was entered at the Open with both the Limit order and the MOO filled at the same price (a total of 11% allocation at the Open). If the Open was higher than the Limit, the MOO (1% allocation) filled at the Open and the Limit (10% allocation) would only fill if the Low for the day was below the limit. (Scaled in, with price adjusted according to the allocation at each price, Open & Limit) Maybe consider separating 1 & 2 by a day. Only submit the limit order if the first day is profitable. Waiting a day might be interesting, but there are a lot of RTM trades that close after one day. Nature of the beast. There's also the possibility of not having the equity available the next day - and the primary goal here is to get as much equity as possible into the trades with the highest potential profit / trade (at least according to the historical stats). Hope that helps, Mark [Edited by Mark Holstius on 8/14/2017 11:06 AM] | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Here are more PPT and HR statistics for the various groups based on entries; The 3 data sets: 1) FTM = 9,364 trades 2) ARM4 = 15,800 trades 3) The combination of 1 & 2 = 25,164 trades A = Original PPT and HR for each of the 3 sets of trades (brown) B = PPT and HR for trades filled at the Open (MOO and Limit) C = PPT and HR for trades filled MOO and then Limit hit during the day D = PPT and HR for all trades filled by MOO and Limits There’s an obvious improvement in both PPT and HR for B, C, & D vs A If this holds up, allocating more equity to Limit entries should definitely improve results. Mark [Edited by Mark Holstius on 8/14/2017 3:04 PM] ![]() | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
Great Job! | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Here’s another interesting idea using my combined FTM and ARM4 data containing 25,164 trades… What if we only took Limit Order trades, and NO MOO trades? It’s a curve fit, but I tried it with 2 Limit Order allocations using the same Limit price used in my other examples (Prev Close - 2%); At the Open, start with a Limit Order using an 8% allocation. If the Open is > the Limit $ (no entry at the Open), then lower the allocation to 6% for the rest of the day. If not filled during the day, abandon the trade (no entry). Here’s the result; Almost equal Avg % Inv (~40%), but fewer trades (6,191 vs 25,164). Also a higher Avg % / Trade (6.3% vs the 2% allocation in the “normal” OV MOO entry and exit). Notice the PPT is doubled (2.1% vs 1.0%) Might be worth investigating when we get the capability in OV since it eliminates the MOO entry problem… "I trust you’ll give me whatever price you think is appropriate". Mark [Edited by Mark Holstius on 8/14/2017 7:26 PM] ![]() | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
So glad you did this test! Fewer trades = lower commissions, and more avail equity for other purposes. It will be really interesting to see how this plays out in real life, if N make the limit orders available to existing OV subscribers! | ||
^ Top | |||
gbarber![]() Veteran ![]() ![]() ![]() ![]() ![]() Posts: 282 Joined: 12/30/2012 Location: Pearland, TX ![]() |
do you think it would be worth your while to set the limit to -1% of the previous close to see what happens. That would give you more trades when the open is less than the close. more commission but also more equity working. are you considering IB's commision when you calculate the equity curve? | ||
^ Top | |||
Steve2![]() Elite ![]() ![]() ![]() ![]() ![]() Posts: 750 Joined: 10/11/2012 Location: Annapolis, MD ![]() |
Hi Mark, I think getting away from MOO orders is good. Regarding only submitting limit orders, did you happen to do an experiment that did not reduce the allocation if the order didn't fill at the open? That is, just submit a day limit order at 8% allocation? It's a simpler approach that could be more accurately simulated than canceling and resubmitting orders. I'm wondering how much PPT is gained by reducing the allocation after open. Steve | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Great suggestion Gary, it leads right into a good discussion… and some more data to chew on. All of these variables affect the outcome; 1) Dataset (# Trades) 2) Allocation % (Size of trades) 3) Previous Close -X% Limit #1 And #2 obviously affect the % Inv, and the equity goes up as they’re increased. Unfortunately, equity available to invest each day is a fixed resource so we have to account for that and try to stick to something reasonable. When incorporated into OV we’ll be able to experiment more and let OV take care of what happens when we run out of capital to invest. With some major modifications, I could do it for the data I have - but excel is pretty much maxed out with my 3.5M cell spreadsheet. I’ll just wait for Nirvana to impose the correct limitations on trades taken… I know this is a bit of data overload, but here’s a table with all the pertinent stats for the various combinations; The columns are divided into 4 sets of % below the previous days close; 0%, -1%, -2%, and -3%. Each of those is subdivided to give # Trades, PPT, and HR They intersect with rows divided into my 3 sets of data: FTM, ARM4, and Both Each of those is subdivided into OV MOO, Limit filled @ Open, Limit Filled During The Day, and Both I chose to use -2% for my testing, so if you go down in that column to the FTM rows you can find all the pertinent stats for OV MOO and each of the Limits (Outlined in Yellow). If you pick a row and go across, you can see that as the Prev Close - X% goes from 0% to -3%, the # of trades decreases and the PPT increases. So, if we just change the Limit from -2% to -1%, we move between the boxes outlined in green. Just wanted to give some background behind the chart below that only changes the Limit to -1%; It may look great, but the number of trades has gone up considerably and the 73.3% Avg % Inv means that it’s “overinvested” on a number of days - something that I hope OV will be able to handle correctly at some point. You probably already knew that… but it’s interesting, so thanks for the question. We’ll have much better luck coming up with a robust solution in OV vs my spreadsheet, but the data shows that there’s definite potential. BTW - yes, my data includes IB commissions. Hope that helps, Mark [Edited by Mark Holstius on 8/15/2017 6:56 PM] ![]() ![]() | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Hi Steve... Thanks for the question. My post above to Gary explains a lot, but here's what happens if we just keep the allocation at 8% for the limit all day; Not as bad as the example above for Gary with Avg % Inv of 51%, but still overinvested on a number of days. PPT stays the same, it's just that we're allocating more money to the trades that hit the limit during the day in the spreadsheet (8% vs 6%). Ah, the limitations of testing in excel... looking forward to being able to do it better in OV. Mark [Edited by Mark Holstius on 8/15/2017 6:38 PM] ![]() | ||
^ Top | |||
gbarber![]() Veteran ![]() ![]() ![]() ![]() ![]() Posts: 282 Joined: 12/30/2012 Location: Pearland, TX ![]() |
Thanks Mark. As always, very comprehensive. You are a wizard with Excel. The results are kind of predictable as you change the variables. That is a good indicator that the calculations are correct and the theory is solidly based. Hopefully N will run with this data. | ||
^ Top | |||
Buffalo Bill![]() Member ![]() Posts: 28 Joined: 1/2/2015 Location: Stafford, VA ![]() |
Thinking out loud here, but given the overall very high HR in the FTMv6 portfolio if on day one, entry day, a stock falls (like today with NKE and CF) what happens if we buy more day 2 MOO lowering our average price? Double down if you will. Maybe a trigger loss level is needed, say >1% but less than X%, and we add 1/2 or even double our initial entry. [Edited by Buffalo Bill on 8/17/2017 6:04 PM] | ||
^ Top | |||
Mark Holstius![]() Elite ![]() ![]() ![]() ![]() Posts: 744 Joined: 10/11/2012 Location: Sleepy Hollow, IL ![]() |
Hmmmm - yup, the next few days could be painful. But, I thought that last Friday too. Interesting idea Buffalo - thanks, Mark [Edited by Mark Holstius on 8/17/2017 7:46 PM] | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
Keep in mind that when an RTM trade fails, is often fails by becoming a true reversal. So doubling down could be very dangerous. Especially when working with out of sample data. | ||
^ Top | |||
Buffalo Bill![]() Member ![]() Posts: 28 Joined: 1/2/2015 Location: Stafford, VA ![]() |
"Keep in mind that when an RTM trade fails, is often fails by becoming a true reversal. So doubling down could be very dangerous. Especially when working with out of sample data." Hi jim Yes, that is why I wondered if a larger day one loss is an indicator of a true reversal and should not be averaged down with more shares. Not sure what the data may reveal, but wondered if it is a valid tactic. Also since a day 1 loss of over X% may be the signal of a true reversal so not only do we not add on but we should exit immediately. | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
Good point. I didn't internalize your initial post completely - you mentioned an x% limit. Makes sense. Of course, I tend to prefer ATR multiples :-) | ||
^ Top | |||
Buffalo Bill![]() Member ![]() Posts: 28 Joined: 1/2/2015 Location: Stafford, VA ![]() |
Ha! I agree with ATR vs % but trying to think like OV. For example in the TP you can set a broker stop based on % but not ATR | ||
^ Top | |||
arby![]() Member Posts: 20 Joined: 10/11/2012 ![]() |
Not an OV question, But is it currently possible to write an OT trade plan that performs this two tier scaling-in for testing against Nirvana's new X-Suite? Arby | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
OT scaling-in (and out) is possible, but you've got to design the TP carefully ... it can get really complex if it allows for both! There is a longstanding Q/issue re implementation of OLang-driven Virtual Limit orders for Entry (or scaling in), so I'd advise careful/thorough testing of that before hanging your hat on it. Last time (several years ago) I tested and doc'd it, there were issues, and N has not yet addressed those to my knowledge. But afaik scaling in using any order type that doesn't have a predefined level should work fine ... and if the level is defined by the explicit dropdown-box options in the TP, I'm guessing even the Limit and SM virtual levels work OK. As to your specific Q, whether you can manually duplicate what XSuite is doing, I'd rather doubt that since the triggers for the entries are undoubtedly somewhat proprietary. PS: this Q (and answer :~) really should have been posted on the OT forum, not OV. None of what I've said applies to OV, since in OV you can't define custom tradeplans. [Edited by Jim Dean on 10/16/2017 1:21 PM] |
|
|
Legend | Action | Notification | |||
Administrator
Forum Moderator |
Registered User
Unregistered User |
![]() (un)/Freeze thread | |
Toggle e-mail notification |