Current location | Thread information | |
![]() ![]() ![]() ![]() ![]() ![]() |
Last Activity 12/24/2013 6:22 PM 7 replies, 1258 viewings |
|
|
Printer friendly version |
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
This post is in answer to a question by Ger on 10/16/12, 1:11am, here: http://www.omnitrader.com/currentclients/omnivestforum/thread-view.asp?forumid=20&threadid=4034 It contains a discussion of how to deal with short-term variances in Portfolio performance, and how to "automate" an optimization procedure for that, from within OmniVest ... AND AN ENHANCEMENT REQUEST (see the end please) ======================================= The answer is DEFINITELY ... you should adjust the strategies (or the Portfolios that contain them) to the MARKET CONDITIONS. Your post is a great illustration of the need for robust filtering in the strategies. The filters should recognize the diff between: Bull, Flat, Bear trendiness, AND Steady, Mixed, Wild volatility ... that is, NINE combined market states. I usually number them 1-9, where 1=BearWild, 5=FlatMixed and 9=BullSteady Almost any strategy has a "bias" to being more successful in some of those Market States than others. You need to identify what states a strategy is most successful IN, and build Filters to only let it fire during those times. No such filters are "perfect" ... and of course defining the Market State is sort of a holy grail. I've got a pretty good mechanism for doing so, but others do as well I'm sure. Inevitably using heavy filtering like that will make you miss some good trades, but if it's done properly, it will "keep you in cash" for a given strategy when the market is not appropriate for that strat. This needs to be done in the Filter Block of the Strategy for it to be back-testable. The only way that OVest allows us to write our own Filter Block logic is via the Elite Trader interface, afaik. ============== ANOTHER way to do this is to use OmniVest's allocation percentages along with a wide mixture of strat's to MANUALLY adjust the mix based on your perception of Market State, and the Strategy's pattern of operation. To do THAT ... you need to know for each Strategy how well it performs in each of the nine MS's ... and THAT requires that you drill down and do a lot of manual checking of historical performance over different (short) time frames. This is likely too time-consuming (and exasperating) a task for most people. ------------------ SO ... SUGGESTION to solve this dilemma. If OVest would allow us to input a SERIES OF discontinuous Date-Ranges, such as: Jan03-Jun03 + Oct04-Mar05 + Apr06-Feb08 + ... ... THEN we could "go to town" How? To what purpose? 1. Decide what historical date-ranges represent given market states (by eyeball or by a fancy indicator, it does not matter) 2. Create a list as above of the date ranges for a given state 3. Run OVest on a full set of strat's to find the ones that work best during that date-list, and record them or save them as a Portfolio with that Market State name 4. repeat 2-3 for nine Market States 5. For actual trading ... decide (by indicator or eyeball) what State the market is in NOW ... and adjust the allocation percentages appropriately to emphasize Portfolios that do well in that state. ================ NIRVANA ... can you please comment on the possibility of allowing us to input a string of short date-ranges as described above, for this purpose? Thanks. [Edited by Jim Dean on 11/16/2012 7:00 AM] | ||
^ Top | |||
Calvin Hunziker![]() Veteran ![]() Posts: 101 Joined: 10/11/2012 Location: Lake Tapps, WA ![]() |
Jim, Excellent presentation of not only the problem, but also a possible solution. I have not tweaked my portfolio for the present market conditions and am experiencing a strong reversal on a system that YTD had given me 39% profit. The ability to quickly "pick" a block to match market trend might enhance overall performance. Ed, is there anyway to test this out? If so, I think that it would be worth the time. Cal | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
I am willing to provide Nirvana the code, on a free but confidential basis, for determining the Nine Market States. There are a total of five adjustable parameters. So if Nivana will provide a way to "slot it in" to a Filter Block, OR to do backtesting over a series of designated ranges (manually extracted using the 9MS filter output), we would be good to go. [Edited by Jim Dean on 11/16/2012 11:37 AM] | ||
^ Top | |||
Ger![]() Regular ![]() ![]() Posts: 62 Joined: 10/11/2012 Location: Austin, TX ![]() |
Jim, That is very generous and I hope Nirvana takes you up on it. The next step would be to peg the strategy to the right (one of nine) market personalities. I hope this ball keeps rolling and picks up momentum. Gerry | ||
^ Top | |||
SteveJ![]() Veteran ![]() Posts: 105 Joined: 10/11/2012 Location: UK ![]() |
Jim, I also think that is a remarkably generous gesture. Even if Nirvana do not take you up on it, thank you. Steve | ||
^ Top | |||
John W![]() Elite ![]() ![]() ![]() ![]() Posts: 654 Joined: 10/11/2012 Location: Sydney, NSW, Australia ![]() |
Jim, you've done it again, come up with a brilliant solution that could make all of us materially wealthier! The ability to trade different strategies according to market type is as close as it gets to the best of what is available anywhere in the world. Thank you Jim, I also encourage Ed and his team to take you up on your generous offer! John | ||
^ Top | |||
Jim Dean![]() Elite ![]() ![]() ![]() Posts: 1059 Joined: 10/11/2012 Location: L'ville, GA ![]() |
Thanks for the encouragement, guys Caveat and Disclaimer ... ANY method of determining "Market State" is going to have "issues" since it does not have a crystal ball ... and since it's a highly subjective concept to begin with. What I've developed is a logical and mathematical approach ... no "hairy" math btw ... to identify these nine conditions in a REPEATABLE fashion. The idea is not to be "perfect" in the ID's, but rather to be "fairly close" so that backtesting can use the SAME rules as what you would feel OK about using at the Hard Right Edge. The tradeoff in the Nine Market State modelling is lag vs chatter. That is, if you bias the settings to be "reactive" (low lag) to market-state changes, then the states will change more quickly than otherwise. Actually it's sort of cool ... with one input you can "tune" the recognition of the market state to your own typical hold-time. Nuff said. |
|
|
Legend | Action | Notification | |||
Administrator
Forum Moderator |
Registered User
Unregistered User |
![]() (un)/Freeze thread | |
Toggle e-mail notification |