Back to Community
Optimizing an algo to maximize contest score

I think I understand most of the ratios used to score contest entries. Here is a diagram of their relationships. (If needed, please correct me and I will update it.) UPDATE: I made an error when I said Sortino was replacing Sharpe. The real change is that Sortino will replace Calmar.

(1) "Annualized Return" is how much your portfolio value would likely grow (or shrink) in a year.

(2) "Annualized Volatility" is based on how much your portfolio value deviates from a straight line.

(3) "Stability of Return" is very similar to Volatility

(4) "Sharpe" is based on both Return and Volatility.

(5) "Max Drawdown" measures the biggest percentage of portfolio value lost during the period in question. (Peak to Bottom) Max Drawdown is related to Volatility. Low Volatility = Low Max Drawdown.

(6) "Calmar Ratio" is based on "Return" and "Max Drawdown" (which is based on volatility). Calmar is being replaced by Sortino which is very similar to Sharpe, except that Sortino only includes downward volatility in the score. This means that upward volatility will not lower your Sortino score.

(7) "Beta to SPY" is unique in that it doesn't relate to any other ranking metric.

This makes 5 rankings based on Volatility (2,3,4,5,6) and only 3 rankings based on Return (1,4,6). Since each ranking is currently equally weighted, there is a strong reward for algorithms that have low volatility. If someone creates an algo with high return and moderate volatility, they will almost always lose to an algo with low return and low volatility.

Here is my primary question: Can I convert my high return algo into the second type simply by lowering the leverage? For example, if I used 1/10 the leverage, my returns would be lowered which impacts 3 rankings, but more importantly, my volatility would be lowered which improves 5 rankings. How far does this go? Should I use 1/100 of my leverage? Is this what some of the leaders are doing?

10 responses

Tristan Rhodes .
You are absolutely right: there is a strong reward for algorithms that have low volatility.
You should add to yours diagram Green and Blue badges.
"Beta to SPY" is not unique .There is squared volatility inside.

UPDATE: I made an error when I said Sortino was replacing Sharpe. The real change is that Sortino will replace Calmar.

I also color-coded my diagram so it is easier to see the relationship between Volatility = Red, and Return = Blue. Ranking metrics that includes both components is colored Purple.

Vladimir, Thanks for sharing your insights, I agree with much of what you say. I see that your algorithm is currently in 5th place, congrats! Is this the algo you made to prove that the rankings are too heavily skewed towards stability? (Your backtest had annual returns of 0.05%)

Do you think that someone can convert a high-return algo into a low volatility algo simply by reducing the amount of leverage used? (For example, leverage = 0.10)

Nice diagram.
Beta= covariance/variance
variance= volatility*volatility

So it will be right to put it along with stability and paint it red.

Reducing leverage is the way to get higher score in Quantopian open now but there is the limitation.
Annualized return should be more then yield on 10 Year US treasury bond which Quantopian use as risk free rate.

Thanks for explaining Beta. Because Volatility is in the denominator, is it accurate to say that Beta is inverse to Volatility? Meaning, a high volatility would create a low Beta? If this is the case, should I update my conclusion such that 5 rankings are positively correlated to Volatility, and 1 (Beta) is inversely correlated to Volatility? The summation of these is that 4 rankings are positively correlated to Volatility and 3 are positively correlated to Return. (4, 3 is more balanced than 5,3)

Regarding adjusting leverage to optimize score, 5 of the top 6 scores have a backtest annualized return between 10% and 16% (your algo is the exception) . Perhaps that is the sweet spot? This means if my algo has an annualized return of 30%, I would improve my contest score by using leverage of 0.33.

Tristan ,
The relation betwine beta and volatility not as simple as you trying to implement.
Beta much more depend on correlation to market.
I would say lower absolute beta lower volatility and lower return in bull market.

@Tristan - You might want to add arrows, with X->Y meaning "X influences Y" or "Y is based on X".

Max Drawdown is related to Volatility. Low Volatility = Low Max Drawdown.

I disagree with both statements.

Imagine an asset whose price decays exponentially at a constant rate. Then, whether you look at it in continuous or discretized time, the returns are constant, and so the volatility is 0. But the drawdown can go as close to 100% as you want, if you wait long enough - and it need not be long, if the decay rate is high enough.

@Tristan - If you take your "primary question" to its logical extreme, you could lower your leverage to 0 and not trade at all. Then you would have 0 returns, 0 volatility, and a Sharpe ratio that says Sorry - something went wrong.

These parameters compete with each other making
you think

if cash = 100%:  
    you can win  

But there are other rules which will make things even further difficult.

  1. Algo must be hedge at all time
  2. It must be actively traded. (Coming soon-even if your Beta is low and returns are reasonable)

I just cloned an algo from the Q series "Art of not following the market"
and ran it over longer period and it became:
"Art of not following the market and
not making any money"

Clone Algorithm
Backtest from to with initial capital
Total Returns
Max Drawdown
Benchmark Returns
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
# Backtest ID: 55b84ab99956650c6ed47939
There was a runtime error.

Hi Folks,

Does the max drawdown have a trail or decay? One of my algos has had a drawdown of 4.5%.

Once that happens, it seems like it is permanently cursed in that ranking area - I could restart the algo to have that 4.5% go away, but that seems sort of silly - ultimately, I won't score well in that area regardless of the future.

Do the rankings have any decay/reset to the weighting of the max drawdown?