Back to Community
Looking For Low Max Drawdown, Traded Monthly, With Stock Market Like Returns

Dear Quantopians,

I'm trying to obtain these goals:

Goals:

  1. Trade monthly or quarterly
  2. Keep long term max drawdown as low as possible (under 16%, closer to 10% would be preferred)
  3. Long only
  4. Stock market like returns
  5. Low calendar year losses

If anyone would be so kind as to share one of your algorithms, or provide a post link, that would be very much appreciated.

-- Max

4 responses

Try a 50/50 fixed ratio split of TLT/SPY re-balanced annually. There is no guarantee that the negative correlation at times of stock market crisis will also hold and of course at some stage we will face rising interest rates.

The combination may remain a good one however since despite the lack of yield investors run to strong sovereign bonds at times of crisis.

As to rising interest rates, provided such rises are not too steep, sudden and frequent, you can expect the coupon to make up over time for a diminution in price. You can see this mathematically. provided of course the only influence on price is the interest rate rather than some other factor such as war or politics.

@Zenothestoic

Here is the last 5yrs of TLT/SPY rebalanced annually. Unfortunately, this does not meet my goals.

  1. Negative calendar returns in 2015 and 2018.
  2. 60% (TLT/SPY) vs 73% (SPY) returns since 1/1/2015.

A more complex approach will be needed.

Clone Algorithm
1
Loading...
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Max Drawdown
--
Benchmark Returns
--
Volatility
--
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
import pandas as pd
import numpy as np

def initialize(context):
    
    #set_benchmark(sid(33652))
    
    schedule_function(
        reallocate,
        date_rules.month_start(days_offset=0),
        time_rules.market_open(minutes=4)
    )
    
    schedule_function(
        rebalance,
        date_rules.month_start(days_offset=0),
        time_rules.market_open(minutes=5)
    )
            
def reallocate(context, data):
    
    today = get_datetime('US/Eastern')
    
    if today.month == 1:                
        order_target_percent(sid(8554), 0.5)  
        order_target_percent(sid(23921), 0.5)
    
    
def rebalance(context, data):
    pass
            
def handle_data(context, data):
    record(lev=context.account.leverage)
    pass
There was a runtime error.

You perhaps might think about the comparison of absolute return to relative returns. You may find that putting the two series on to a footing of equal volatility will paint a very different picture. A more complex approach; well you can certainly try. Bear in mind however that very very good brains worked on the Quantopian Home Team, even if they did not have a lot of experience of investing at the coal face.

Their rather complex long short market neutral algorithm failed - or so we must assume since they returned investors money.

It is a very noticeable tendency for scientists, in particular applied scientists, to believe they can "solve" the market. Many years later they discover that they can not. Consider the fate of many hedge funds.

My own attitude would be extreme caution. I am not advocating any particular portfolio, let alone SPY/TLT. But my long experience as well as gut feel is that "investors" will be better off in the long term by simply accepting what the market gives.

Unless....unless of course they can use some form of edge which does not involve prediction. Front running is one such edge, practiced by HFT as I understand it. IPOs in the glory days of the 1990s were another example. Insider dealing and pump and dump schemes are other (illegal) examples.

Some form of arbitrage may do the trick for you but there is no risk free arb in modern markets. Or at least none that I have found. Such arb as there is tends to require very high leverage to make it worthwhile, razor thin spreads and huge volume.

Unless you can find some such structural edge, in my opinion in the long term you will almost certainly fail to beat simple long market returns from a well balanced portfolio of stocks and bonds.

Many are called, as they say. And few (if any) are chosen!

Have a look at some of these all-weather portfolios https://www.quantopian.com/posts/best-performing-algorithms-so-far