Multi-Strategy Trading Utilizing Market Regimes

author: Subramanian Ramamoorthy, School of Informatics, University of Edinburgh
published: Aug. 21, 2009,   recorded: July 2009,   views: 8535


Related Open Educational Resources

Related content

Report a problem or upload files

If you have found a problem with this lecture or would like to send us extra material, articles, exercises, etc., please use our ticket system to describe your request and upload the data.
Enter your e-mail into the 'Cc' field, and we will keep you updated with your request's status.
Lecture popularity: You need to login to cast your vote.


This video considers the problem of dynamically allocating capital to a portfolio of trading strategies. The allocation should be robust, and the capital allocated to a trading strategy should reflect the confidence in the expected profit that the strategy will make in current market conditions. Good trading strategies exploit recurring market dynamics that can be more prevalent in some time periods than in others. Indeed, the concept of regimes is fundamental to financial markets, and much research has focused on the detection of regime shifts. In this paper, we consider a regime as defined by a set of trading strategies that exhibit similar performance in a given time period. We consider different parameterizations of the same strategy as distinct in our ground set of strategies. The trading problem is to pick a distribution over the ground set that will achieve good performance in the current time period. That we typically choose a distribution of support greater than one reflects uncertainty on many levels, and allows diversification of risk and return drivers. We provide a simple algorithm that empirically picks distributions that often approximate the performance of an oracle that picks the best trading strategy in each period from the ground set. To this end, we explicitly define regimes as subsets of strategies. An initial phase is to rule out a large number of regimes as irrelevant to counter the combinatorial explosion of dealing with subsets. In the training phase of our algorithm, we pick random time windows and learn two functions: the first, classifyMarket, is for (probabilistic) regime classification and takes as input the market data and produces a distribution over regimes; the second, stFuncDist, produces for each regime a distribution over strategies, where strategies believed to be good in that regime are assigned higher probability. The main tools we use are Monte Carlo permutation tests and incremental re-weighting of probabilities. In the trading phase we use a standard “walk-forward” approach. In the in-sample period we use the trading results for regime classification, and in the out-of-sample period we allocate capital according to the combination classifyMarket determined from the in-sample period and the current stFuncDist. This is a simple algorithm, but an empirically successful one - an indication of which we report. The approach bears some similarity to Sequential Monte Carlo methods [3] in that it sequentially re-weights hypotheses (in our case, regarding suitability of strategies). In the final section, we discuss an approach to modelling the time evolution of strategy fitnesses with a view towards characterizing regimes. This could be used to guide our choice of in-sample of out-of-sample periods in the existing setup. We present preliminary results in this direction. In current work, we are trying to extend the basic algorithm in such a way that we can more directly make use of the Sequential Monte Carlo method, such as particle filter based estimation of strategy fitness that might parsimoniously accomplish what is done above with permutation tests.

See Also:

Download slides icon Download slides: amlcf09_ramamoorthy_mstumr_01.pdf (344.8 KB)

Help icon Streaming Video Help

Link this page

Would you like to put a link to this lecture on your homepage?
Go ahead! Copy the HTML snippet !

Write your own review or comment:

make sure you have javascript enabled or clear this field: