Trading a large number of systems without a large account

Discussions about the testing and simulation of mechanical trading systems using historical data and other methods. Trading Blox Customers should post Trading Blox specific questions in the Customer Support forum.
Post Reply
sluggo
Roundtable Knight
Roundtable Knight
Posts: 2986
Joined: Fri Jun 11, 2004 2:50 pm

Trading a large number of systems without a large account

Post by sluggo » Fri May 13, 2011 7:24 am

Use a simple and obvious idea which has been around a long time. Art Collins discusses it & uses it in his book "Beating the Financial Futures Market" (p.31). Steve Hunter automates it in his stock market trading system software "Ultra" (Link). Newsletter authors have been publishing it for decades (example).

The idea is so simplistic that it's easy to overlook; easy to dismiss. But you may find it is also powerfully liberating:
  • Don't give each trading system an allocation of money. Give each trading system a VOTE
Here's how it works. Temporarily (for this paragraph only), assume there is only one market in the portfolio ("asparagus") and there are N=60 trading systems which each trade this one market portfolio.
  • Step 1. Run the software code of each of the N=60 trading systems. Count up how many systems are long today (#L) and how many are short today (#S)
    Step 2. Calculate the Consensus Oscillator, CO = (#L - #S) / N
    Step 3. If (not long) and CO > thresh1, enter long. If (not short) and CO < thresh2, enter short.
    Step 4. If long and CO < thresh3, exit long. If short and CO > thresh4, exit short.
    Step 5. Profit!
Although you're running N=60 trading systems and letting each of them vote, you've only got one position: Long, Short, or Out. So you don't need 60 times the account equity to trade 60 systems. Champagne on a beer budget!

Extending the idea to portfolio trading with M>1 markets is pretty simple. For each market in the portfolio, calculate the Consensus Oscillator (by counting up the positions of each of the N systems). Then, for each market, go long or short or flat as dictated by that market's Consensus Oscillator reading. Easy.

Many people will want their Short trading rules to be perfect mirror images their Long trading rules; so they will choose thresh2 = (minus thresh1) and thresh4 = (minus thresh3). For example:
  • Enter Long if CO > +5%
    Enter Short if CO < -5%
    Exit Long if CO < -1%
    Exit Short if CO > +1%
If you're the nervous type who can't sleep without a stop-order always in the market, then by all means, add one. Maybe even add two stops: an initial stop at something like 2xATR away, plus a Chandelier stop that trails at 3xATR (or whatever values help you sleep better). Now you must create additional trading rules that tell you what to do when the Consensus Oscillator still has a position, but you don't -- because you were stopped out. (actions have consequences).

Art Collins and Steve Hunter suggest that you add up, not the systems' positions as of todays Close, but rather (what the systems' positions WILL BE, 5 seconds after tomorrows Open). If a system is flat tonight but will enter short on tomorrow's open, don't count it as "flat"; instead, count it as "will be short" and increment #S. Makes sense.

This idea is especially useful for money managers who want to trade in an extremely diversified fashion, but at the same time, offer a small minimum account size. In a $250K account, they could trade 200 systems on 40 markets and get quite a lot of diversification. Lovely.

Your programmer will probably have an easy time implementing this concept in Trading Blox. She will probably use a Global Suite System as a mechanism for implementing a master/slave arrangement between the individual trading systems and the Consensus Oscillator. Test scoped Instrument Permanent Variables will cumulate the #L, #S, and CO values. Boom, done, wallah.

She can even implement a randomization / subset concept to perform Monte Carlo simulation experiments upon your ensemble of trading systems: What if you have N=200 total systems, but you only count the votes of a randomly chosen subset of 100 systems? How much does performance improve or degrade? (link to inspiration) What is the variance of performance when you choose large numbers of random subsets?

It will be interesting to see whether this idea begins to leak into the blogosphere, with or without attribution, and if so, how soon.
Last edited by sluggo on Fri May 13, 2011 12:04 pm, edited 3 times in total.

TK
Roundtable Knight
Roundtable Knight
Posts: 167
Joined: Tue Apr 15, 2003 5:45 pm

Post by TK » Fri May 13, 2011 7:53 am


rabidric
Roundtable Knight
Roundtable Knight
Posts: 243
Joined: Mon Jan 09, 2006 7:45 am

Post by rabidric » Fri May 13, 2011 7:57 am

I looked into this idea a few years ago actually. The conclusion I came to was that digital position(1,0,-1) derived from aggregated votes was noticeably inferior to a analogue position of their cumulative position. In the long run.

I accept that it is a way of hedging multiple inputs into a single position of limited granularity. Even then you would do well to modify it from a "Franklin's Rule" to a more heterogenous weighting of cues(votes) derived by whatever method you see as best.

I posted a recommendation a while back in the book section. Look up "Simple Heuristics that make us smart". It is one of my favourites and it contains much which is relevant to this kind of idea. There is a lot of additional trading related goodness throughout the book if you know how to read between the lines.

For me personally I don't like the philosophy of aggregating too many different cues in a complex decision scheme. I value clarity of decision and a simple audit trail of reasoning over minor gains in accuracy at the cost of more obtuse logic. Concise battlefield reasoning beats extended academic reasoning in a fluid fight(which for us is a fight for money).

LeviF
Roundtable Knight
Roundtable Knight
Posts: 1428
Joined: Mon Dec 22, 2003 12:24 pm
Location: Des Moines, IA
Contact:

Post by LeviF » Fri May 13, 2011 8:09 am

Yeah, I trade 3 systems and just add up long quantity, subtract short quantity and viola, that is my net position. I do this by hand with 3 systems, but I suppose I could have Blox do it if I was trading 200 systems.

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Fri May 13, 2011 8:21 am

LeviF wrote:Yeah, I trade 3 systems and just add up long quantity, subtract short quantity and viola, that is my net position. I do this by hand with 3 systems, but I suppose I could have Blox do it if I was trading 200 systems.
Exactly. This is a much more extreme version of the usual "trading multiple systems" approach. Am I right in think Jake Carriker published some thoughts along these lines a short while ago? And that they actually employ this method at their shop (Fall River)?

Edit:
But yes, I can see how it could lead to greater diversification for smaller accounts. What I was meaning to say earlier is that the "cancelling out" is a more complex (and maybe better?) version of the usual less ambitious "trading multiple systems" approach. I like the idea that a vote must be reached before a decision is taken. I must certainly put it in my "to be researched " box.

trending3029
Full Member
Full Member
Posts: 16
Joined: Tue Sep 27, 2011 12:27 am

Post by trending3029 » Sat Aug 24, 2013 1:09 am

Each trading system that you look at has specific characteristics which are unique.
Some characteristics being namely:
1. Money Management
1. Entry tactic
2. Filters
3. Trailing stops
4. Exit tactic

If you were to take the approach of the consensus oscillator how would you know which system you would apply or rather you'd need to ensure that your money management is uniform across systems that you test, also you'd need to ensure that your exit strategy is unified across systems. Otherwise I suppose your testing of individual systems would be void as your system tested Vs what would happen in reality would vary.

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Sat Aug 24, 2013 3:49 am

The more complex a system or concept, the more random the outcome seems to become.

trending3029
Full Member
Full Member
Posts: 16
Joined: Tue Sep 27, 2011 12:27 am

Re AFJ: The more complex a system or concept, the more rando

Post by trending3029 » Sun Aug 25, 2013 11:31 pm

I really see this as a very generalized statement, and I don't know what you are attempting to imply.

sluggo
Roundtable Knight
Roundtable Knight
Posts: 2986
Joined: Fri Jun 11, 2004 2:50 pm

Post by sluggo » Mon Aug 26, 2013 10:48 pm

The consensus oscillator is an indicator. It tells you whether the majority of "experts" (your ensemble of systems-to-be-monitored) are long (or short), and by how much. You trade this indicator using the simplest possible system:
  • if((not currently long) AND (CO > +5%)) then go long
    if(currently long) AND (CO < -1%)) then exit long and go flat

    if((not currently short) AND (CO < -5%)) then go short
    if((currently short) AND (CO > +1%)) then exit short and go flat
Position sizing is irrelevant for calculating the consensus oscillator. Rather, you apply position sizing to the above "trading system in 4 lines of code".

Naturally you can substitute your own favorite parameter values instead of the two that I used above: entry_thresh= 5% beyond balanced; exit_thresh = -1% beyond balanced. It is quite likely that +5 and -1 will not turn out to be "optimum" when you test the system, your way.
Last edited by sluggo on Tue Aug 27, 2013 6:11 pm, edited 1 time in total.

babelproofreader
Roundtable Knight
Roundtable Knight
Posts: 138
Joined: Wed Nov 10, 2004 4:36 pm

Post by babelproofreader » Tue Aug 27, 2013 8:04 am

Combining "experts" in this way is known as Linear Opinion Pools. Googling this term brings up several links to academic papers, such as those linked in my answer to my own question on this forum.

Post Reply