The Second Annual Summary of Forex Automaton Research Progress, April 2010 - Modular development approach: the capital allocation component

User Rating: / 6
PoorBest 
Written by Forex Automaton   
Friday, 02 April 2010 12:06
Article Index
The Second Annual Summary of Forex Automaton Research Progress, April 2010
Brute force approach: parametric optimization via simulated trading
Modular development approach: the forecasting component
Modular development approach: the trigger component
Modular development approach: the capital allocation component
Summary and outlook
All Pages

We chose to base the capital allocation (money management) component of the system on Kelly Criterion.

In 1956, J. L. Kelly Jr introduced what is now known as Kelly Criterion in a journal publication "A New Interpretation of Information Rate". The work was done in the context of C. Shannon's theory of communication and the title reflected this fact. In that context, a stream of financial forecasts such as those generated by ForexAutomaton prediction engine, or a stream of parimutuel insider tips a gambler receives in the examples considered by Kelly, is considered to be a noisy communication channel. "Noisy" means that the information gambler or trader receives is in general not perfect. Shannon's mutual information (channel capacity) is the measure of quality of betting tips the gambler receives. Because the chance of losing is non-negligible, the gambler can not bet all of her capital on every game, but because the value of insider data she receives is non-negligible either, her optimal betting ratio is non-zero.

Kelly demonstrated that the optimal betting ratio in the simple case of two symmetric outcomes equals the difference between the win and loss probabilities if the tip is followed. In case of multiple outcomes the math becomes more involved. The main result is: the rate of capital growth is maximized by having the allocation of capital to outcomes, given the forecast, match the probability distribution of those outcomes, given the forecast. The Kelly allocation is the fraction of one's trading capital one is willing to lose on a trade, which should be distinguished from margin.

The maximum expected logarithmic rate of growth of trading capital (per trade) turns out to be Shannon's mutual information of the abstract communication channel, with true information as the input and prediction as the output.

What is extremely important here is the independent source of adaptability coming into the system through the capital allocation component: according to Kelly, in order to allocate capital, one needs to know the probability distribution of past outcomes having this forecast. This provides, figuratively speaking, an emergency circuit-breaker for the system: an unsuccessful system will only trade as long as it takes the Kelly component to figure out that the conditional distribution, conditioned on the forecast, is not biased in our favor. At that point the Kelly allocation will become indistinguishable from zero. Though unlike a real circuit-breaker, Kelly would terminate trading gracefully by progressively lowering the allocation. Fig.** which shows very preliminary results on the Kelly capital allocation weights for EUR/USD trading with our demo system, Danica, will help you understand the point.

Evolution of Kelly weight for GBP/JPY with time

Fig.9. Evolution of Kelly weight for GBP/JPY, currently Danica's most reliably predicted pair, on a day scale with time. Very preliminary. Point sets of different color correspond to different signal strength (forecast move magnitude). Positive Kelly weight indicates that the component advices trading in the direction of the forecast. Negative Kelly weight indicates a disagreement between capital allocator and the forecast engine, such that the capital allocator does not "buy" the forecast and would rather do the opposite, based on the past experience with the forecast move of this magnitude from this forecaster. One may take this as a higher-level trigger veto and not trade the pair at all on the day this happens.

The present version of the algorithm histograms forecasts of logarithmic returns. On the basis of this distribution, forecasts are classified according to the percentile rank of the distribution they belong to. Currently, the distribution is split into four quartiles. These are assigned "signal strength" as 2,1,-1, and -2, and the data sets in Fig.9 are labeled accordingly.

After a period of initial violent fluctuations caused by lack of data, Kelly weight converges to more reasonable levels -- or perhaps will keep moving lower towards the optimal level of risk. For the signal magnitude of -1 (moderate "sell", red in the figure), 1 (moderate "buy", blue), or 2 (strong "buy", magenta) the advised level of risk allocation is currently around 5% while for the signal magnitude of -2 (strong "sell", black) the recommended allocation appears negative, reflecting the preference of the system to buy under these circumstances. The signal strength from -2 to 2 is defined in such a manner that the population of each strength bin is equal, in other words, these form quartiles of the distribution of the predicted move. Thus, in 25% of cases the Kelly system would rather not trade GBP/JPY, in 50% of cases it would buy GBP/JPY, and in 25% it would sell it, provided that the rest of triggers used are uncorrelated with Kelly logic.

Had the nature of the market data been such as to render forecasting impossible (as would have been the case for the hypothetical efficient markets), the Kelly algorithm would, after a sufficiently long period of observation, have arrived at the conclusion to have zero allocation, since for such a market, it would have been impossible to construct a condition such as to systematically bias future outcome in either direction. Note that the "sufficient period of observation" may be short enough to save a good chunk of the operator's money, given the gradual convergence of trading allocation to zero which takes place under this scenario.



Last Updated ( Monday, 04 April 2011 07:38 )