Minimal criteria for capital allocation
Before allocating real capital to a trading strategy there are three minimum criteria that must be met.
- Non-negative Sharpe ratio. The system won’t consistently lose money.
- Small controlled risk. The size of the possible returns are highly unlikely to exceed some arbitrarily set level.
- Executable. It is feasible to trade the simulated system in a real trading environment.
Given just these three criteria you should be comfortable allocating a small amount of total risk to a collection of such systems with carefully backtested Sharpe ratios of zero. Personally I’d be comfortable allocating a 5% total annualised risk level to a portfolio of zero Sharpe ratio systems over a three year period.
Non-negative Sharpe ratio
Careful Sharpe ratio assessment
Correctly assessing the first criterion of having a non-negative Sharpe ratio is easy to get wrong.
A series of posts detailing this assessment will be published and the corresponding links updated below:
- An unlikely outcome from a sequence of random events
- The rule not the exception
- Past performance is indicative of future returns
This three-part series is briefly summarised here. First we gather evidence that a performance as good or better than the one obtained would have been highly unlikely had it been chosen randomly. Secondly, we verify that the various inputs, parameters and components of the system can be chosen randomly within constraints without significantly impacting performance. Finally we question whether the system will continue to work in the future by probing at why it works, testing extreme circumstances and examining the process through which the system was created.
Resource limitations
Another conflicting mistake is to spend too much time carefully measuring the Sharpe ratio of a system. Given the limited resources of an independent trader it’s critical that you reject as many ideas as possible without testing and focus on those that require the least effort to test and implement. Granted this may be easier said than done when you don’t yet have the experience to gauge any particular system. Michael Halls-Moore at QuantStart offers some ideas on how to identify algorithmic trading strategies.
Although it’s intuitively pleasing to sequentially check: (1) the performance is better than a random choice; (2) the system was chosen somewhat at random (within constraints) and (3) outperformance will continue in the future; it may not always make sense to verify in that order because a failure of any one will fail the non-negative Sharpe ratio criterion.
Recall that an executable trading system with a Sharpe ratio of zero and a small controlled risk is sufficient to take live. Therefore, given prior beliefs about the positivity of a system’s Sharpe ratio, it isn’t necessary to verify the integrity of it’s backtest performance with absolute certainty.
Small controlled risk
Given a diversified set of instruments and signals, attaining a small controlled level of risk should be relatively straightforward.
Basic models for predicting out-of-sample covariances work fairly well. Attaining an arbitrary pre-specified level of risk on average then simply requires adjusting position sizes according to next period total expected risk predicted by the model. The skew and kurtosis of the return distribution should be considered when setting the desired level of average risk. What is sufficiently small and controlled is a matter of personal preference. When setting my initial risk preference I like to assume the true Sharpe ratio is zero and consider the drawdown percentage I would suffer if I was unlucky.
Complications can arise when the realities of fractional contracts are confronted or there are only a limited number of trading opportunities. The easiest solution is usually to allocate more capital to the system and across a wider universe of assets; unfortunately this isn’t practical when you have a relatively small trading account size and want to incrementally increase your risk allocation. Viable solutions may require system logic changes as a consequence.
Executable
Without already having traded the system live, establishing whether the backtest performance was achievable in practice can be tricky.
Data integrity is a crucial component that needs to be checked; if the input data doesn’t accurately represent the past then the backtest performance cannot be expected to do so either. Examples of common issues include unsynchronised timestamps, unrepresentative trade prices, underestimated transaction costs and more subtle issues such as survivorship bias or lookahead bias. To reduce the amount of effort required to verify a backtest’s integrity it’s useful to design the system such that it is insensitive to common issues.
For larger traders obtaining accurate market impact predictions may require actual market impact measurements in a live environment.