I see. But the Kelly criterion accounts for this very case. ie.
Betting on two (or any number of) assets.
Let's say you believe you have information (in the information theory
sense of the word) on two assets. I'll use your two strategies A and
B. If the kelly fraction for A is 30, and for B is 60, then in order
to determine how to size your bet you would need to know how
correlated the returns are between A and B are during your backtests.
If A and B are perfectly correlated (corr = 1), then the math comes
out where you'd reduce each bet for A and B by half, since the
correlation between the strategies implies A and B are the same bet.
If A and B are perfectly anti-correlated, then the math comes out that
you'd bet *more* than 30x and 60x since the correlation between
strategies implies a reduction of variance due to the fact the two
returns of the two strategies are anti-correlated.
If A and B are perfectly non-correlated (corr = 0), then the math
comes out that you'd in fact bet 30x and 60x for A and B respectively.
In all cases, you need to know a) the correlation between strategies
of A and B, and b) the size of your bankroll in order to determine the
size of your trades in order to maximize growth given the information
you believe you have for A and B.
In the continuous case for a single asset, the kelly fraction is =
mean(returns)/variance(returns)
In the continuous case for multiple assets, the kelly fractions are =
covarianceMatrix^-1 * meanReturnsVector, where ^-1 means matrix
inverse, and the returns are the returns generated in your backtests.
mean(returns) would be the average single-bet return gained using some
strategy, and variance(returns) is the variance of those single-bet
returns. So if you're using 1min ticks, then the return over 1min
would be a single bet. If you're using 1hr, then that 1hr would be
considered a single bet, and so on..
In either case, calculating the kelly fraction, and *not* using it to
determine bet/position size is a pointless calculation.
So I guess there are no plans to create something like, AccountManager
to execute queries to return liquidation value of the account's
portfolio?