Monte Carlo

Foreword

How much money can you spend every year, if you want your money to last 30 years?

Does this change if you invest 100% in stocks? 100% in bonds? 60/40 in stocks/bonds?

Do you even know what the historical returns of stocks are?

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

Raw data

Here is the annual total return (1) of the S&P500 index since 1926, taken from https://www.slickcharts.com/sp500/returns. I haven’t verified the data, but a quick glance suggests it’s probably close enough for our purposes. I’ve excluded 2021 because the year hasn’t ended yet. All numbers are in percentage terms.

  18.40,  # 2020
  31.49,  # 2019
  -4.38,  # 2018
  21.83,  # 2017
  11.96,  # 2016
  1.38,  # 2015
  13.69,  # 2014
  32.39,  # 2013
  16.00,  # 2012
  2.11,  # 2011
  15.06,  # 2010
  26.46,  # 2009
  -37.00,  # 2008
  5.49,  # 2007
  15.79,  # 2006
  4.91,  # 2005
  10.88,  # 2004
  28.68,  # 2003
  -22.10,  # 2002
  -11.89,  # 2001
  -9.10,  # 2000
  21.04,  # 1999
  28.58,  # 1998
  33.36,  # 1997
  22.96,  # 1996
  37.58,  # 1995
  1.32,  # 1994
  10.08,  # 1993
  7.62,  # 1992
  30.47,  # 1991
  -3.10,  # 1990
  31.69,  # 1989
  16.61,  # 1988
  5.25,  # 1987
  18.67,  # 1986
  31.73,  # 1985
  6.27,  # 1984
  22.56,  # 1983
  21.55,  # 1982
  -4.91,  # 1981
  32.42,  # 1980
  18.44,  # 1979
  6.56,  # 1978
  -7.18,  # 1977
  23.84,  # 1976
  37.20,  # 1975
  -26.47,  # 1974
  -14.66,  # 1973
  18.98,  # 1972
  14.31,  # 1971
  4.01,  # 1970
  -8.50,  # 1969
  11.06,  # 1968
  23.98,  # 1967
  -10.06,  # 1966
  12.45,  # 1965
  16.48,  # 1964
  22.80,  # 1963
  -8.73,  # 1962
  26.89,  # 1961
  0.47,  # 1960
  11.96,  # 1959
  43.36,  # 1958
  -10.78,  # 1957
  6.56,  # 1956
  31.56,  # 1955
  52.62,  # 1954
  -0.99,  # 1953
  18.37,  # 1952
  24.02,  # 1951
  31.71,  # 1950
  18.79,  # 1949
  5.50,  # 1948
  5.71,  # 1947
  -8.07,  # 1946
  36.44,  # 1945
  19.75,  # 1944
  25.90,  # 1943
  20.34,  # 1942
  -11.59,  # 1941
  -9.78,  # 1940
  -0.41,  # 1939
  31.12,  # 1938
  -35.03,  # 1937
  33.92,  # 1936
  47.67,  # 1935
  -1.44,  # 1934
  53.99,  # 1933
  -8.19,  # 1932
  -43.34,  # 1931
  -24.90,  # 1930
  -8.42,  # 1929
  43.61,  # 1928
  37.49,  # 1927
  11.62,  # 1926

Pop quiz 1

You can refer to the numbers above, but don’t use a calculator or anything, just try to estimate the answers:

  1. What do you think is the average annual return over the period covered?
  2. What do you think is the median annual return over the period covered?
  3. What do you think is the CAGR(2) over the period covered?
  4. Which of the following 3 numbers above should you use, if you want to estimate how much returns you’ll get over the next 10 years?

The answers are:

  1. 12.2%
  2. 14.3%
  3. 10.3%
  4. CAGR, because total returns over a period of time compounds multiplicatively. Average and median are non-compounding measures.

Are those numbers surprising? Most people find it surprising that the CAGR is so much lower than the other 2 measures, because they generally hear about the average/median returns thrown around in the media, but CAGR is a number that’s less frequently used, even though it’s more important. Some people, especially those who started investing since 2010, may find it surprising that the numbers are so low, because they are used to 15+% returns, in most years since 2010. However, because returns compound multiplicatively, a down year dramatically skews the CAGR, which is why we see these numbers.

Pop quiz 2

Now, let’s say we have some amount of money, $R, to retire on, and assume inflation rate of 3% (3), which is to say, if you need $X in year one, you’ll need $(1.03 * X) in year 2, and $(1.03^2 * X) in year 3, and so on.

The ratio X/R is your withdrawal rate in the first year. The safe withdrawal rate (or SWR) is the ratio X/R, such that you have a high probability of not running out of money within your retirement — in our case, 30 years.

Assuming we used $R to buy the S&P 500 index on day 1 of our retirement, and ignoring transaction costs, taxes, etc.,

  1. What do you think is the SWR if you want a 90% probability of not running out of money in 30 years?
  2. What about if we want a 95% probability?
  3. 99% probability?

Now, if you are like most people, you’ll probably do something like take average/median/CAGR of stocks return, subtract the inflation rate, and that’s your SWR. That’ll give you a number that is either 9.2%, 11.3% or 7.3%, depending on which measure of stocks return you used.

And all 3 answers are wrong. The correct answers are:

  1. 3.8%
  2. 3.1%
  3. 1.9%

Hopefully, you are surprised (4).

Whadafuqjuzhappened!?

The reason the numbers are so small, is because of volatility. Stocks don’t go up in a straight line, they often take little detours where the annual total returns is the wrong shade of green (5). During the years where stocks are down, you are actually spending a much larger percentage of your assets to maintain your lifestyle — since your spending strictly goes up due to inflation, X/R (or your withdrawal rate) goes up if X goes up and R goes down.

So, if you want to maintain the same lifestyle over time, you’ll need to start off by just withdrawing a smaller portion of your portfolio in the first year, i.e.: a lower SWR, to compensate for these episodic underperformance of stocks.

This is sometimes called “sequencing risk”.

I am never gonna retire

Well, maybe don’t despair yet — it’s not as bad as it sounds. Recall that you don’t have to invest (just) in stocks. You can also invest in bonds! Or real estate! Or fine art! Or in this blog! I take donations! (6)

Now, as we know, bonds have, in recent history, really low yields. At the time of this writing, the 30y US Treasury is yielding only 1.93%. Can bonds really help?

Pop quiz 3

Let’s say you use your entire retirement fund of $R to buy a 30y US Treasury yielding 2% (7). So, what do you think your SWR is for

  1. 90% probability of not running out of money in 30 years?
  2. 95% probability?
  3. 99% probability?

And the answers are… 2.9%. For all 3. Note that we are assuming US Treasuries won’t default, and you’ll always get your money back, on top of all the other assumptions above.

So yea, for 90/95%, it’s not as good as stocks, but the stability of bonds help in the 99% case.

What’s going on here?

Recall that I said the main reason why SWR for stocks is so low, is because of volatility and sequencing risk — you need money every year to survive, even if the stock market is being uncooperative. But bonds, being so helpfully stable (at least in our made up model world with semi-unrealistic assumptions), means that even at 99% (and 100%!) percentile levels, we can have the same SWR of 2.9%, higher, in fact, than their CAGR (which is 2%)!

To hammer home this point, I ran simulations of various scenarios, and the results are summarized below:

PortfolioAverage returnMedian returnCAGRSWR 90%SWR 95%SWR 99%
Sampled stocks12.14%13.91%10.32%3.75%3.00%1.83%
Normalized stocks12.17%12.14%10.43%4.01%3.25%2.07%
Low vol stocks12.14%12.14%11.72%6.49%6.00%5.18%
Low vol, low return stocks6.06%6.08%5.62%3.25%2.90%2.36%
High vol, high return stocks24.34%24.42%14.30%2.77%1.17%Impossible
2% bonds2.00%2.00%2.00%2.88%2.88%2.88%
6% bonds6.00%6.00%6.00%4.90%4.90%4.90%
10% bonds10.00%10.00%10.00%7.39%7.39%7.39%
60/40 stocks, 2% bonds8.05%8.07%7.42%3.79%3.35%2.66%
55/35/10 stocks, 2% bonds, cash7.35%7.36%6.82%3.66%3.24%2.62%
60/40 stocks, 2% bonds, 1.5x 1% margin11.62%11.65%10.22%4.25%3.54%2.49%
60/40 stocks, 2% bonds, 1.5x 6% margin9.11%9.05%7.67%3.08%2.51%1.61%

“Sampled stocks” is stocks using actual historical returns, uniformly sampled for each simulation year.

“Normalized stocks” is stocks using a random returns sampled from a normal distribution with 12.16% mean and 19.66% standard deviation (which is the mean/standard deviation of our historical data above). As you can see, these numbers are fairly similar. Because it’s easier to model different scenarios using a normal distribution, all other simulations involving stocks use variations of “normalized stocks”.

“Low vol stocks” is stocks where we simply halved the standard deviation for modeling purposes. “Low vol, low return stocks” is stocks where we halved both the standard deviation and the mean. “High vol, high return stocks” is stocks where we doubled both standard deviation and mean.

“2/6/10% bonds” are bonds where the yield is 2%, 6% or 10%. (8)

The remaining rows show composite portfolios where we have some percentage of assets in stocks, bonds or cash, and where we may apply leverage (buying 50% of the portfolio’s value on margin) at different margin interest rates.

Observations

If you go through the data carefully, you’ll quickly see that:

  1. Expected returns (either via average, median or CAGR) is not a good predictor of SWR at all, especially at the higher confidences.
  2. Instead, volatility, or lack thereof, is a much better predictor of SWR, again, especially at the higher confidences.
  3. So, you can sacrifice some expected returns, and get a higher SWR 99% rate, by swapping out some stocks for bonds, or even cash!
  4. If you can get cheap leverage, then some mild application of leverage on a balanced portfolio (for example, 60/40 1.5x leverage with 1% margin) can yield even better results.
  5. But using leverage without first tamping down volatility is a recipe for disaster (not shown here, but the high vol, high return stocks scenario is a good approximate).

Wrapping up

For a very long time, people have been asking me why I’m “leaving money on the table” by not being more aggressive in stocks, or why I’m not levering 100% into stocks, etc. Some have even suggested a portfolio of 100% UPRO (which is a 3x daily balanced SPY product).

But think of it this way — when you retire, you’ll depend essentially 100% on your portfolio for cashflow to survive. And as we discussed in “net worth“, net worth is only useful if it can be used somehow to generate cash flow. Because, say it with me now, you cannot eat net worth. Therefore, “expected net worth”, based on whatever modeling of expected returns from a risky portfolio, is only useful if I can depend on it, at retirement, to generate cash flow. It doesn’t matter if the expected value of my portfolio is $1B at retirement, if there’s a 50% probability I’d go bankrupt — What? Am I supposed to eat caviar on my mega yacht off Monaco 50% of the time and then jump off a building the other 50%? (9)

What about levering up now and then selling everything at retirement to buy safer assets? Sure, if you happen to retire when the stock markets are at a high. But I’m not inclined to time my retirement based on the whims of the stock market. Also, since I don’t have a crystal ball, that means I’ll have to go with a more conservative strategy.

Which is to say, in general, as you approach retirement, it is a good idea to reduce volatility in your portfolio, so that you can smooth out market madness and thus achieve a higher level of stable cash flow (higher SWR) from your portfolio. (10)

Monte Carlo

By now, you’re probably wondering why this post is titled “Monte Carlo”. That’s simply the name of the methodology I used to run the simulation for the numbers above. The code for the simulation is attached, feel free to play with the assumptions yourself to see what comes up.

Note that for all the stocks based portfolios, the inputs are random (which is why we need Monte Carlo in the first place), so your numbers may differ slightly. But I’ve found that the differences are relatively minor, typically in the 5-10bps range.

#!/usr/bin/python3.8

import numpy


# Number of times to run each simulation.
TOTAL_ITERATIONS = 10000
# Ratio of runs where we must end up with more than $0, before we consider the test a success.
THRESHOLDS = [0.9, 0.95, 0.99, 1]

# Number of years to run for in each simulation.
NUM_YEARS = 30
# Inflation rate of cash withdrawal.
INFLATION = 0.03

# This should be mostly irrelevant.  Just use a large number.
START_CASH = 1000000

# Data from https://www.slickcharts.com/sp500/returns
HISTORICAL_RETURNS = numpy.array([
  18.40,  # 2020
  31.49,  # 2019
  -4.38,  # 2018
  21.83,  # 2017
  11.96,  # 2016
  1.38,  # 2015
  13.69,  # 2014
  32.39,  # 2013
  16.00,  # 2012
  2.11,  # 2011
  15.06,  # 2010
  26.46,  # 2009
  -37.00,  # 2008
  5.49,  # 2007
  15.79,  # 2006
  4.91,  # 2005
  10.88,  # 2004
  28.68,  # 2003
  -22.10,  # 2002
  -11.89,  # 2001
  -9.10,  # 2000
  21.04,  # 1999
  28.58,  # 1998
  33.36,  # 1997
  22.96,  # 1996
  37.58,  # 1995
  1.32,  # 1994
  10.08,  # 1993
  7.62,  # 1992
  30.47,  # 1991
  -3.10,  # 1990
  31.69,  # 1989
  16.61,  # 1988
  5.25,  # 1987
  18.67,  # 1986
  31.73,  # 1985
  6.27,  # 1984
  22.56,  # 1983
  21.55,  # 1982
  -4.91,  # 1981
  32.42,  # 1980
  18.44,  # 1979
  6.56,  # 1978
  -7.18,  # 1977
  23.84,  # 1976
  37.20,  # 1975
  -26.47,  # 1974
  -14.66,  # 1973
  18.98,  # 1972
  14.31,  # 1971
  4.01,  # 1970
  -8.50,  # 1969
  11.06,  # 1968
  23.98,  # 1967
  -10.06,  # 1966
  12.45,  # 1965
  16.48,  # 1964
  22.80,  # 1963
  -8.73,  # 1962
  26.89,  # 1961
  0.47,  # 1960
  11.96,  # 1959
  43.36,  # 1958
  -10.78,  # 1957
  6.56,  # 1956
  31.56,  # 1955
  52.62,  # 1954
  -0.99,  # 1953
  18.37,  # 1952
  24.02,  # 1951
  31.71,  # 1950
  18.79,  # 1949
  5.50,  # 1948
  5.71,  # 1947
  -8.07,  # 1946
  36.44,  # 1945
  19.75,  # 1944
  25.90,  # 1943
  20.34,  # 1942
  -11.59,  # 1941
  -9.78,  # 1940
  -0.41,  # 1939
  31.12,  # 1938
  -35.03,  # 1937
  33.92,  # 1936
  47.67,  # 1935
  -1.44,  # 1934
  53.99,  # 1933
  -8.19,  # 1932
  -43.34,  # 1931
  -24.90,  # 1930
  -8.42,  # 1929
  43.61,  # 1928
  37.49,  # 1927
  11.62,  # 1926
])
HISTORICAL_RETURNS /= 100

# Uncomment to print average, median and CAGR of HISTORICAL_RETURNS.
#print(numpy.mean(HISTORICAL_RETURNS) * 100)
#print(numpy.median(HISTORICAL_RETURNS) * 100)
#print((numpy.prod(HISTORICAL_RETURNS + 1) ** (1 / len(HISTORICAL_RETURNS)) - 1) * 100)


class Sim():
  def __init__(self, label):
    self.__label = label

  def Name(self):
    return self.__label


class FixedRate(Sim):
  def __init__(self, label, interest_rate):
    Sim.__init__(self, label)
    self.__interest_rate = interest_rate

  def Return(self):
    return self.__interest_rate


class NormalDistribution(Sim):
  def __init__(self, label, mean, std_dev):
    Sim.__init__(self, label)
    self.__mean = mean
    self.__std_dev = std_dev

  def Return(self):
    return max(-1, numpy.random.normal(self.__mean, self.__std_dev))


class UniformSampling(Sim):
  def __init__(self, label, data):
    Sim.__init__(self, label)
    self.__data = data

  def Return(self):
    return numpy.random.choice(self.__data)


class Cash(FixedRate):
  def __init__(self, label):
    FixedRate.__init__(self, label, 0)


class FullLoss(FixedRate):
  def __init__(self, label):
    FixedRate.__init__(self, label, -1)


class Composite(Sim):
  def __init__(self, label, *args):
    Sim.__init__(self, label)
    self.__args = args

  def Return(self):
    result = 0
    for asset, ratio in self.__args:
      result += asset.Return() * ratio
    return result


def RunOneIteration(model, rate, returns):
  value = START_CASH
  required_cash = START_CASH * rate
  for i in range(NUM_YEARS):
    if value < required_cash:
      return False
    value -= required_cash
    value *= 1 + returns[i]
    required_cash *= (1 + INFLATION)
  return True


def RunSim(threshold, model, rate, returns):
  num_pass_required = TOTAL_ITERATIONS * threshold
  for i in range(TOTAL_ITERATIONS):
    if RunOneIteration(model, rate, returns[i]):
      num_pass_required -= 1
      if num_pass_required <= 0:
        return True
  return False


def GenerateReturns(model):
  output = numpy.empty([TOTAL_ITERATIONS, NUM_YEARS])

  for i in range(TOTAL_ITERATIONS):
    curr_results = output[i]
    for j in range(NUM_YEARS):
      curr_results[j] = model.Return()

  return output


def Report(model, output):
  print("{}:".format(model.Name()))

  while output:
    prefix = output[:5]
    output = output[5:]
    print("  " + "  ".join(["{:>8s}: {:<7s}".format(metric, "{:.2f}%".format(result * 100)) for (metric, result) in prefix]))
  print()



def MonteCarlo(model):
  returns = GenerateReturns(model)

  highest_rate = {}
  for threshold in THRESHOLDS:
    highest_rate[threshold] = float("nan")
    min_rate = 0
    max_rate = 1
    while round(min_rate, 4) < round(max_rate, 4):
      rate = (min_rate + max_rate) / 2
      if RunSim(threshold, model, rate, returns):
        min_rate = rate
        highest_rate[threshold] = rate
      else:
        max_rate = rate

  output = [
    ("Average", numpy.mean(numpy.mean(returns, axis=1))),
    ("Median", numpy.mean(numpy.median(returns, axis=1))),
    ("CAGR", numpy.mean(numpy.prod(returns + 1, axis=1) ** (1 / NUM_YEARS) - 1)),
  ]

  for threshold, rate in highest_rate.items():
    output.append(("SWR-{}%".format(int(threshold * 100)), rate))

  Report(model, output)


def MakeLabelParams(label, *params):
  full_label = label
  first = True
  for param in params:
    if first:
      first = False
      full_label += " {:.2f}".format(param * 100)
    else:
      full_label += "/{:.2f}".format(param * 100)

  return full_label, *params


def Main():
  cash = Cash("Cash")
  margin = FullLoss("MarginCost")

  bonds2 = FixedRate("2% Bonds", 0.02)
  MonteCarlo(bonds2)

  bonds6 = FixedRate("6% Bonds", 0.06)
  MonteCarlo(bonds6)

  bonds10 = FixedRate("10% Bonds", 0.1)
  MonteCarlo(bonds10)

  sampled_stocks = UniformSampling("SampledStocks", HISTORICAL_RETURNS)
  MonteCarlo(sampled_stocks)

  stocks_mean = numpy.mean(HISTORICAL_RETURNS)
  stocks_stdev = numpy.std(HISTORICAL_RETURNS, ddof=1)
  stocks = NormalDistribution(*MakeLabelParams("Stocks", stocks_mean, stocks_stdev))
  MonteCarlo(stocks)

  low_vol = NormalDistribution(*MakeLabelParams("Stocks[LoVol]", stocks_mean, stocks_stdev * 0.5))
  MonteCarlo(low_vol)

  low_vol_mean = NormalDistribution(*MakeLabelParams("Stocks[LoVolMean]", stocks_mean * 0.5, stocks_stdev * 0.5))
  MonteCarlo(low_vol_mean)

  high_vol_mean = NormalDistribution(*MakeLabelParams("Stocks[HiVolMean]", stocks_mean * 2, stocks_stdev * 2))
  MonteCarlo(high_vol_mean)

  stocks60_bonds240 = Composite("60/40", (stocks, 0.6), (bonds2, 0.4))
  MonteCarlo(stocks60_bonds240)

  stocks55_bonds235_cash10 = Composite("55/35/10", (stocks, 0.55), (bonds2, 0.35), (cash, 0.1))
  MonteCarlo(stocks55_bonds235_cash10)

  # 50% margin loan, at 1% rate = 0.05% interest payments per year.
  stocks60_bonds240_x15 = Composite("60/40 x1.5", (stocks, 0.9), (bonds2, 0.6), (margin, 0.005))
  MonteCarlo(stocks60_bonds240_x15)

  # 50% margin loan, at 6% rate = 3% interest payments per year.
  stocks60_bonds240_x15 = Composite("60/40 x1.5", (stocks, 0.9), (bonds2, 0.6), (margin, 0.03))
  MonteCarlo(stocks60_bonds240_x15)


if __name__ == "__main__":
  Main()

Footnotes

  1. Total return is equal to dividends + gains in asset price.
  2. CAGR is “compounded annual growth rate”, which is, loosely speaking, the geometric mean of the returns, expressed in percentage terms.
  3. I’ve been using 3% for modeling inflation for a while now. People used to laugh at me for this, especially during the 2009-2019 period. After 2020, they are still laughing at me. But for very different reasons. For those who are more conservative, feel free to jack up the value to 5% (or more!) in the simulation to see how that affects the numbers.
  4. Look, buddy. I worked really hard to build up the suspense and everything. At least act surprised.
  5. Also known as “red”.
  6. I’m kidding, I don’t take donations.
  7. I’m using 2% because it’s easier to type than 1.93%. Also, US Treasuries have some tax advantages, so it’s probably not THAT crazy an assumption. Finally, there are other “safe’ish” assets that can yield as high as 5-6% “safely”.
  8. Yes, 6% and 10% bonds sound crazy in today’s low interest rates world. But there are assets (mostly for accredited investors) which can indeed yield up to 12%. They have varying degrees of risk, and certainly aren’t risk free like this modeling suggests. But they behave very similarly to bonds.
  9. Interestingly, someone made the argument to me recently that if there’s an asset with a 25% probability of 10x, and 75% probability of going to 0, the expected value is still 2.5x, which means (paraphrased) “you almost have an obligation to buy that asset”. Hopefully this post and the discussion have shown that the question (and thus answer) is not so simple, and that there are a lot of other considerations other than “expected return”.
  10. There are other withdrawal strategies that try to mitigate the sequencing risk issue. Most of them revolve around reducing your cash flow in bad market years (e.g.: keeping your withdrawal rate the same, or even reducing it). Some of them may work, but in general, I’m not really inclined to eat lobster one year and starve the next, just because the stock market decides to tank. I’d rather just have my daily, stable supply of ramen noodle.

Components of a trading strategy

Foreword

Contrary to the perception of many people, a lot of things go into a good trading strategy.

It is not simply just “a good idea”, but really, the orchestration of many different disciplines towards a common goal.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

Investing vs Speculating

Before we begin, let’s address the elephant in the room. Are we talking about investing or speculating?

Both. While most associate “trading” with speculation, in this particular post, I’m using the word in a more mechanical way — a “trade” is just a transaction, an exchange, in this case, of cash for some asset.

In the world of speculation, a “successful trade” is actually 2 (or more) separate trades — one or more to get into the “position”, and one or more to get out of it, sometimes also called a “roundtrip”. A speculative trade is never a success until you close out the position.

In the world of investing, most “successful trades” are also “roundtrips”. However, there is a separate class of trade which are perpetual, or near perpetual, where a “successful trade” is simply how you edge into a long term advantageous position. Recall that when investing, you are hoping to profit off the productive capacity of the asset. Therefore, a successful long term trade could simply just be getting into a long position with an asset that is productive and stable, at a good price — in such a trade, you are not looking to sell, instead, you are looking to hold the asset for an indefinite amount of time and let the productive capacity accrue profits.

There is an old trader’s adage which goes roughly, “An investment is a trade gone pear shaped”. And therein lies the difference as explained above, albeit with a tragicomedy twist.

Components of a trading strategy

So what are the components of a trading strategy? In broad terms, a good trading strategy should always have these 3 main components:

  • Base thesis
    • Why are we even considering this trade?
    • What is the catalyst, or driver for this trade to perform well?
    • Examples:
      • Inflation trade, e.g.: we believe inflation is going up/down over the next N months/years
      • Macro trade, e.g.: we believe this country/industry/sector will go up/down over the next N months/years because of <reason>
  • Execution
    • How would we translate the base thesis, from a purely analytical state, to one or more trades?
    • Embedded in this, are considerations such as:
      • Time horizon – How long are we holding the position in each roundtrip?
      • Instrument – What asset are we going to trade to express the base thesis?
      • Price – At what price are we looking to trade?
      • Trading – Are we going to edge into the position slowly? Or buy everything at once?
    • Example:
      • Base thesis: We believe that inflation will go up slightly in the next 2-3 years
      • Time horizon: 2-3 years
      • Instruments:
        • Short short/medium term Treasuries
        • Long stocks of businesses with fixed input costs and variable output prices
      • Price: At the market based on trading strategy.
      • Trading: Form a basket of the instruments with some ratio, rebalance every 3 months
  • Risk management
    • How would we know that our base thesis/execution strategy was wrong?
    • And if one (or both) was wrong, what are we going to do to salvage the situation?
    • Example (follow up on the above):
      • We’ll know our inflation thesis is wrong if inflation does not go up at least 0.1% on a year over year basis every month for the next 6 months.
      • If our thesis is wrong, immediately close out the short Treasuries leg of the position, keep the long stock leg as long as it is still performing at or near broad market performance, and slowly close it out over 2-3 quarters.
      • We’ll know our execution strategy is wrong if inflation does go up as described, but out position does not appreciate faster than broad market performance over a 1 month moving window, sampled daily.
      • If our execution strategy is wrong, immediately close out all positions and rethink.

Case study – Inflation in the 1970s

Base thesis

We are currently in 1971, we predict inflation is going to be much higher for the rest of the decade into 1980.

Execution strategy

Buy near month exchange traded gold futures, and continually roll the contracts forward until expiration of thesis. We believe market pricing is currently fair, so we’ll trade at the market.

We’ll leverage our position by 3x of equity, rebalanced yearly.

Case study result

Anyone who predicted (in 1971) that high inflation will be a problem that decade would have been absolutely correct — inflation went from around 5% in 1971 to 12% in 1975, and finally around 14% in 1980.

However, this simple summary is misleading. Inflation actually fell after 1971 to a low of around 3% in mid 1972, before its enormous rise to 12% in 1975. After that, it again fell to around 5% in 1977, before another huge surge, before ending at around 14% in 1980.

So while the base thesis was, on the whole, correct, the sampling period and how we decide we were correct or wrong (risk management) may have led to us conclude that high inflation was over in 1972 or 1977!

The execution strategy, on the other hand, likely would have given us a roller coaster ride. From 1971 to 1975, gold prices raised from around $260 per ounce to $929 in early 1975. At 3x leverage balanced yearly, we’d have suffered a devastating 91% loss in 1976, ending up with a value worse than if we had simply just bought gold outright without leverage:

YearGold price in JanAnnual % change3x leverage annual % change3x leverage value
1971261.07261.07
1972305.3417.0%50.9%393.95
1973419.4437.4%112.1%835.57
1974762.3081.7%245.3%2885.22
1975929.3821.9%65.8%4783.69
1976647.59-30.3%-91.0%430.53
1977619.89-4.3%-12.8%375.42
1978760.8322.7%68.2%631.46
1979912.9620.0%60.0%1010.34
19802390.52161.8%485.5%5915.54
Gold prices in 1971-1980 and effects of leverage

If we had closed our position then, however, we’d have lost out on a magnificent rise in value till 1980. True, it’s quite a bit less than 3x what the underlying did, but it was still pretty decent!

The astute reader will notice that in the case study, a section on risk management was left out. This is intentional, because since we are looking at the data in hindsight, any risk management strategy can be crafted to make any arbitrary point. That said, a good risk management strategy would hopefully have gotten us out of the trade either in 1972 (because the base thesis, at that point in time, looked like it might have been wrong), or in mid 1975, because gold prices and inflation were both turning down, or (albeit a very risky strategy) it could have given us the courage to held on to our convictions till 1980.

Why bother?

The reason why a good trading strategy plans out the base thesis, execution strategy and risk management way before even entering a trade, is so that these decisions can be made with a level head. Imagine if you were the portfolio manager of the strategy above. Would you have the conviction to hold in 1972, after a very decent (almost double) gain, but with inflation lower than expected? What about in 1976, after a devastating 91% drawdown? Or would you have folded, expecting gold prices to go even lower (as it did the next year by 1977, by another 12.8%)?

Laying out your strategies, and putting them to paper while you still have a clear head helps to eliminate emotional biases that creep in in the heat of the moment. This gives you a chance to at least think clearly about the issues, and decide what your risk tolerances are.

September 30, 2021: Slow down show down

Foreword

This is a quick note, which tends to be just off the cuff thoughts/ideas that look at current market situations, and to try to encourage some discussions.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

China

The recent news out of China have been mostly pretty terrible:

United Kingdom

Not to be outdone, the UK has its own troubles:

United States

And of course, the USA cannot possibly be left out:

Globally

And all of these, during one of the worst global supply chain problem ever.

Where to from here?

Normally, the days just before the end of a quarter will see some rather dramatic fireworks in the stock markets because large funds sometimes need to rebalance their portfolios, and/or window dress their holdings for the quarterly reports. At the same time, certain systemic strategies need to buy (or sell) in large quantities based on how different assets have performed over the quarter.

All these are compounded by the expiry of the quarterly options on September 30th, as well as the quad expiry (index futures, index options, single name options and single name futures) on September 17th, which too tend to drive volatility up.

Also usually, the volatility tends to mellow out a bit once the new month/quarter starts — there is only so much excitement traders can take!

But as I sit here, at around 10pm Eastern looking at the futures market, the price action doesn’t strike me as “mellowing” — around 8.45pm, it appears someone important sneezed, because S&P 500 futures just took a ~80bps nosedive in about 30minutes. Yea, yea, overnight futures markets have low volume, sometimes little things make big noises, this could be nothing, etc.

Let’s hope tomorrow’s markets won’t be the wrong shade of green…. again.

September 24, 2021: Crypto regulation

Foreword

This is a quick note, which tends to be just off the cuff thoughts/ideas that look at current market situations, and to try to encourage some discussions.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

USA

Yesterday, an article came out of the New York Times, discussing potentially upcoming regulations in the USA. The article highlighted the facts that

  • Regulators in the USA have mostly ignored cryptocurrencies before as they were mostly little threat to the financial system
  • But as cryptocurrencies grew in value and popularity, they are now becoming impossible to ignore
  • Both the Treasury and the SEC have come out rather strongly for bringing cryptocurrencies under the existing regulatory fold
  • With a particular focus on stablecoins, as they appear to fall pretty clearly within the bounds of what a security means — they look and smell almost identically to “money market funds”, which have clearly been ruled as securities by the Supreme Court

It is currently unclear to what extent the Treasury and the SEC will pursue this. Fully complying with securities rules mean providing a bunch of disclosures and statements that are somewhere between “damn bloody hard” to “impossible” — just as an example, how would most coins, nominally marketed as semi-anonymous, be able to do KYC checks? Yes, various brokers might be able to do KYC checks at the broker level, but KYC checks at the coin level seems daunting — who would even be responsible for such a task?

China

I hadn’t really wanted to write about this topic, since the USA side of the story is still developing and not really concrete. But today, China drop a bombshell, by declaring all activities related to digital coins as “illegal”.

Prior to the crackdown on mining in China, a large fraction of cryptocurrency holders are Chinese nationals. After the crackdown on mining, since the coins were themselves legal still, I’m guessing a majority of Chinese holders did not divest. And now, it appears they might not be able to, at least not legally.

Currently there are many crypto exchanges based in China, naming just the big/famous ones:

  • OKCoin
  • BTCC
  • Huobi
  • FTX

It’s not clear what’s going to happen to them, though likely those with a substantial presence still in China will be forced to close down, essentially a much more dramatic action compared to techedu a while back.

More importantly, and more interestingly there is the question of Binance (and by extension, those other crypto exchanges started/based nominally in China but have since moved out a majority of their operations). Binance is the largest crypto exchange in the world, by a very long shot. While it is technically operating out of the Cayman Islands, and its CEO is adamant that Binance is a “global company” with no real national ties, that has never really been tested.

So what’s going to happen, when the Unstoppable Force of China hits the Immovable Object of Binance?

Some potentials, in increasing order of “bad”:

  • Binance moves all operations completely out of China, and continues to operate normally. Chinese citizens use Binance to skirt the local laws. Nothing really changes.
  • Binance moves all operations completely out of China, loses a large market, but not much else.
  • China somehow gets a hold of a key person of Binance, and forces the company to shut off all Chinese operations and pay a huge fine. Maybe some employees are jailed.
  • China somehow gets a hold of a key person of Binance, and leverages that into obtaining control over the company and forces it to shutdown completely.

It is the last possibility, albeit currently remote, that is concerning. What happens to the assets on a crypto exchange’s balance sheet if it is deemed illegal?

Precedence generally has been that the assets of illegal companies are confiscated and then become state property. But Binance doesn’t really own its assets — Binance has matching liabilities for most of its assets because it is holding those assets for clients. Again, precedence suggests that counterparties of liabilities on illegal companies’ balance sheets are just out of luck. Would China really do that, though? A large number of Binance’s clients are outside of China, both in terms of citizenship, as well as physically, and technically outside of its jurisdiction.

If nothing else, this seems like it’s going to be an interesting space for that much longer.

Underwriting risks

Foreword

When you enter a financial position, either by buying or shorting an asset, you are, very literally, underwriting the risks associated with that position, whether you care to or not, and whether you know/understand the risks or not.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

Matt Levine

One of my favorite financial journalist, Matt Levine, wrote today about Evergrande. That’s kinda related, but it’s really the after effects, when it is way too late. What’s really important, I feel, is captured by this paragraph from Levine:

But another lesson, one that I think about a lot around here, is that the way to reduce systemic risk and potential bailouts is for everyone to know how much risk they are taking, for risks to come with clear warnings and accurate labels, and for the risks to be taken by people who can handle them. If you must have big interconnected companies, it is good to know in advance whose claims are senior and safe and who is taking a big gamble in the hope of a high return. It is fine for a company to fund itself by selling speculative investments to retail gamblers, and it is fine for a company to fund itself by selling safe-as-houses investments to retail retirement savers, but either way it is important for people to know which one they’re buying. Much post-Lehman financial regulation is about this sort of labeling: The way to prevent after-the-fact government bailouts is by making sure that risk is borne by people who bear it knowingly and can afford to. When companies fail, people will lose money, and you want to be able to say to whoever loses money, “well, you knew what you were getting into.”

Matt Levine, Bloomberg. https://www.bloomberg.com/opinion/articles/2021-09-21/evergrande-borrowed-from-everyone

In short: Know what you are getting into.

Subtext: And no, your BFF probably isn’t the best person to listen to about this. (1)

Risks

Very literally, every financial position has some sort of risk. Some of these risks are big and obvious — like buying far out the money calls expiring today at 4pm Eastern. Yes, you may 10x your money in 1 day! Or, you know, you may not.

Some of the risks are hidden. Like buying financial assets that are unsecured, and only backed by the balance sheet of some entity that is based in another jurisdiction. Yes, maybe they pay 4% or 6% or even 12% interest rates, but how confident are you that they’ll continue to pay long enough for you to even get back your capital? And if they decide to stop paying, then what? It’s really hard to sue a company in another jurisdiction — maybe what they are doing is totally legal where they are based! Maybe starting a new Ponzi scheme is just what everyone in that jurisdiction does after breakfast — it’s a ritual, a national sport, a traditional passed down from parent to child since time immemorial! You probably don’t know, and in many cases, you probably don’t want to be in a situation where you need to know.

Some of the risks are due to fraud. Like you bought a bond backed by commodities in a warehouse… that doesn’t exist. Oops! Easy mistake to make, Schrödinger and all that — how do you prove that the commodities don’t exist, if you can’t find the warehouse to observe it?

Some of the risks are due to technical issues. Like you invest in a company that is going to disrupt finance by introducing a new type of checking/savings account combo! But they don’t have a banking license. They can try to tweak things a bit so it’s not technically a banking product, but what if the SEC then comes and tell them the product is a security, and, you know, has the bad manners not to give them the secret cheat code to make it not a security. I mean, why wouldn’t a regulator teach just anyone the secret ways of avoiding regulations. The world will never know.

Some of the risks are due to just bad execution. Like the CEO decides to publicly blog about their misadventures when potentially (almost) breaking the law. Oops! Too late to claim plausible deniability now.

No matter the exact nature of the risk, know that there will always be risk. And if you think the only risk is “the price moves against me”, then you are probably underthinking it.

Investing as underwriting risk

When you enter into a long term financial position, e.g.: investing, you should take some time to understand the risks involved in that position. Just looking at their financial statements and fancy projections is not enough — if nothing else, there are the risks that the projections are too rosy, the financial statements are inflated (either legally or not), or an asteroid drops out of the sky and obliterates the company’s headquarters. Crazier things have happened.

Only when you have a good understanding of the major risks involved with a position, can you honestly say that you are making an informed decision to invest in something; It is almost a truism in finance, that there is never return without risk. So just because there are risks, doesn’t mean you should turn away. Instead, seek to know the risks, understand the risks, and be able to honestly say to yourself that you are willingly taking on the risks, in exchange for the potential returns (2).

A non-obvious corollary of this, is that if someone comes to you with a potential risk in your investment, and your first reaction is “FUD!” or “he’s a hater!”, then maybe you are getting too emotionally tied to that asset, and maybe that is clouding your judgement.

Footnotes

  1. Unless you happen to be BFF with someone really financially savvy. No, that Rolex does not prove that they are; Some may make the case that that Rolex proves they are not.
  2. Because returns are never guaranteed. The return may be highly probable, but if anyone tells you that something has a “guaranteed return”, they are probably scamming you and/or doing something illegal.

August 30, 2021: Inflation update

Foreword

This is a quick note, which tends to be just off the cuff thoughts/ideas that look at current market situations, and to try to encourage some discussions.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

Burry

About 2 quarters ago, Michael Burry (of “Big Short” fame) started shorting long term Treasuries quite aggressively. Basically, it seems like he was betting that long term interest rates would be going up in the nearish future — it didn’t (and hasn’t). That didn’t seem to deter him — he modified his bets somewhat, but he is still, essentially, short long term Treasuries.

Over the weekend, Youtube recommended this video to me, which does a reasonably good job of discussing Burry’s bets, and what they really mean. Essentially, it seems like Burry is betting that inflation will rise, and the Fed will raise rates to counter that inflation.

If you look at Burry’s portfolio, you’ll also notice that he’s very heavily in things that I suggested in the June 6 inflation post may be good inflation hedges — consumer staples, real estate (housing), healthcare, utilities(-like) companies that have fixed costs and floating prices.

So, it seems like Burry’s betting heavily on inflation.

Fed

Last Friday, on August 27, Jerome Powell, the current head of the Federal Reserve, gave a speech at Jackson Hole which can simply be summed up as, “Inflation is high, but probably transitory; QE is probably ending soon; Rates may not rise quite as soon”.

Which is to say, Burry’s bet on interest rates rising are probably not doing well right now, and Powell appears to disagree with his inflation bets as well.

Clarifications

And finally, some clarifications on the June 6 inflation post. In various forums which discussed that post, some people brought up some points which seem to misunderstand the post. So to clarify:

  • I believe the Fed will do something to counter high inflation, if it happens. In particular (and as noted in the prior post), I’m expecting the first rate hike to happen sometime in the 2022 – 2023 period.
  • I had previously thought the Fed would act earlier (in 2021), but Yellen’s speech (see prior post for link) made me change my mind to the new 2022 – 2023 time frame.
  • I expect the Fed will be able to counter inflation. It may require drastic actions (see 1970’s and Volcker’s policies), but it seems like they have the necessary tools. Which is also why I don’t expect elevated inflation (i.e.: more than 2.5%) to last more than ~2 years (starting from the June post).
  • Inflation is the rate of change of prices — not actual prices. And no, I do not expect deflation in the near/medium term (say 2-5 years). Which is to say, I expect the increase in (average consumer) prices to remain. But the higher rate of increase of prices (i.e.: higher inflation) to be transitory.
  • So yes, this “up to 2 years of elevated inflation” would be painful, especially for those who are most financially vulnerable.

Efficient Market Hypothesis

Foreword

The Efficient Market Hypothesis (EMH) is often cited, or at least alluded to, as the reason why everyone should just buy a basket of all stocks in the market, and then hold them passively. (1)

However, while I believe that the general advice is reasonable (2), the premise is, I believe, flawed.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

EMH, eh?

The EMH is generally attributed to Eugene Fama, in his seminal work “Efficient Capital Markets: A Review of Theory and Empirical Work”, though as the name suggests, many of the core ideas of the EMH did not come from Fama, but from others before him.

The gist of EMH is best summarized by a quote from the very first paragraph of that paper:

A market in which prices always “fully reflect” available information is called “efficient”.

Fama, E. (1970). Efficient Capital Markets: A Review of Theory and Empirical Work. The Journal of Finance, 25(2), 383-417. doi:10.2307/2325486

Note the key words: “always”, “fully reflect”, “available information”.

In other words, the EMH proposes that any public information is instantaneously (i.e.: always + fully reflected) incorporated into the prices of any securities affected by that information.

Models, models everywhere and not a single forecast to trade on

There are 2 main reasons why I believe the EMH is wrong — one is a technical reason, and the other is based on empirical observations.

Technically speaking…

The EMH is not really a hypothesis, so much as it is a model. It is a model of how financial instruments are supposed to behave, and the idea is that using that model, you can then make reasonable deductions about financial assets (or more accurately, their prices).

By definition, a model is a simulacrum of the original — models abstract away certain details of the original, to achieve a simplified representation.

Therefore, models are, by definition, wrong — when you remove certain aspects of the original in order to achieve the model, you are, in effect, creating something that is not a perfect reflection of the original, and thus it will never predict every single nuance of the original.

However, this doesn’t mean all models are useless! Within the assumptions on the parameters used to create the model, the model could very well be very predictive. For example, a simple model of the Sun is that it rises in the East and sets in the West. This is a model of how the Sun operates, but with the implicit assumption that you are observing the Sun on Earth, in a spot a little bit removed from the absolute North and South poles. If, say, you are observing the Sun from Mars, then this may not hold true any more. So, while this model is useful, because everyone I know is on Earth and none are on Mars, it is actually wrong — it implies the Sun revolves around the Earth in a prescribed path, instead of the other way around.

Ergo, all models are wrong, but some models are selectively useful.

EMH? This. Is. Empirical!

Going back to definition of EMH, note that it explicitly states that publicly available information are instantaneously reflected in the prices of security. Well, how often do you hear market moving information about stocks? Maybe once a day? Once an hour? Every few minutes?

But how often do stock prices move? If you have access to tick level information on stock prices, you’ll notice that they literally move every few microseconds. Microseconds. Are there really “publicly available price moving news” every few microseconds? If not, then why are the stock prices moving if they supposedly “always ‘fully reflect’ available information”? (3)

At a more high level, there exists easily observed price discrepancies in the stock markets. Take, for example, the stock symbols GOOG and GOOGL. Both are stocks of Alphabet Inc., the parent company of Google. GOOG represent class C shares which have exactly the same financial/economic interests as GOOGL, the class A shares. However, GOOGL, the class A shares, have voting rights on top of the financial/economic interests, while GOOG, the class C shares, only have the financial/economic interests.

Given that GOOGL = GOOG + “voting rights”, and voting is optional — you can choose to vote or you can choose to abstain, which means voting rights have a value strictly above 0, we should arrive at the conclusions that GOOGL should always trade at least as high as GOOG, and possibly a little bit higher. Right?

GOOG vs GOOGL stock prices in the past ~5 months in 2021, courtesy of Interactive Broker’s Trader Workstation.

Well, would you look at that…

There are some who claim that prior to Q3 2021, because Alphabet Inc. does buybacks primarily via GOOG, therefore GOOG tends to trade at a higher price compared to GOOGL. I have no idea if that’s accurate, but on the face of it, it seems accurate enough — in Q3 Alphabet Inc. announced that they’ll also buyback GOOGL and the gap closed significantly.

Before the EMH crowd screams “Eureka!”… think about it. A stock buyback is essentially the company taking $N of cash and exchanging it for $N of its own stock. It is a financially and economically neutral move, i.e.: stock buybacks, according to the EMH, should not impact the company’s stock price at all.

Hypothetically speaking…

This is where I’ll admit that I was being a little misleading. If you read Fama’s paper in full, you’ll realize that he didn’t actually say that EMH is correct. In fact, he fully admits the hypothesis is wrong:

We shall conclude that, with but a few exceptions, the efficient markets model stands up well.

Fama, E. (1970). Efficient Capital Markets: A Review of Theory and Empirical Work. The Journal of Finance, 25(2), 383-417. doi:10.2307/2325486

Note that he clearly stated there are “exceptions”, and that the “model” isn’t correct, but that it “stands up well”. More importantly, he doesn’t even call it a hypothesis, but a model.

Because a hypothesis is a proposition of what reality is, and as all budding scientists know, “no amount of experimentation can ever prove me right; a single experiment can prove me wrong”, i.e.: just a single counter example, or exception, can prove a hypothesis is wrong. And we have “a few exceptions” here.

Which is to say, it appears that Fama is fully aware that EMM(odel) is a model, with all that implies about a model. It is close enough to reality that it is a useful model in some cases, but it is wrong to assume that the model is always right.

Practically speaking…

In practice, the EMH is useful essentially when you are unable or unwilling (4) to delve deeper into the data. By abstracting away a lot of the complexities of modern financial system, the EMH provides a useful simplification of what happens in the markets, and allows us to ignore those parts of the markets which we don’t care to care about.

For example, when you are developing a trading algorithm for SPY, the number of things the perfect such algorithm will need to know about is basically limitless — interest rates, consensus interest rates predictions, possible Fed initiatives, major events happening around the world, etc. The list is, quite literally, endless.

To make a perfect trading algorithm for SPY is thus impossible. But that doesn’t mean that a profitable SPY trading algorithm cannot exist! The EMH suggests that for the most part, you can assume away most of the details, and focus only on those bits that you have an edge on. For example, maybe you really understand how interest rates and SPY interact. Well, then you can build a model and an algo off that model, which assumes everything else is priced in (5), and just trade based off your simplistic model. Maybe it works, maybe it doesn’t — the point is, the EMH does not predestine it to not work.

In other words — the EMH is useful if there are some things you simply don’t care to worry about right now. Maybe v2 of your model/algo will take those into account. But right now, you have money to make.

Passive investing

Coming back to “passive investing” (1) — if you are unable or unwilling (4) to delve deeper into the data/details, and you simply want a carefree, easy way of investing your money, passive investing is a reasonable answer (2). This is a corollary of “the EMH is useful if there are some things you simply don’t care to worry about right now” — in this case, you simply don’t care to worry about any of those things.

But understand that it is reasonable, only because you are willingly looking at the problem from 10’000 feet away, and thus missing a lot of the nuances and detail that others who are more attentive may see.

Footnotes

  1. I intentionally avoided using “passive investing” in the foreword, because that term is often overloaded — some people mean “buy and hold” (i.e.: don’t trade too much), some people mean “buy baskets of stocks reflecting the total market” (i.e.: don’t do active stock selection), and some people mean both. For the sake of this article, I’m going with “both”.
  2. It is “reasonable”, in that for most people, it is pretty good advice — most people are unlikely to do much better than simply passive investing (as defined in (1) above), though this is not always true in every case. Remember that financial planning isn’t about maximizing your returns, it is the reverse — it is about finding an acceptable level of return, then figuring out the least risky way of attaining that return. Therefore, in some cases, it may be reasonable to adjust your holdings. For example, if you work in tech and your company pays much of your salary in stock, it may make sense to hedge against a general tech stocks decline by overweighting non-tech stocks in your investing portfolio.
  3. There are some who claim that the stock prices themselves are “publicly available information”, and thus, the “current” price move is just a reflection of the “prior” price move, i.e.: the stock price is moving because the stock price moved and generated new information. This is mostly circular reasoning that falls apart upon even cursory examination — as noted, the information must be “fully reflected” in the price “always”, which implies the information must be priced in instantaneously. There is simply no “prior” or “current” in an instant.
  4. Unable here means, well, unable. It doesn’t necessarily mean “too stupid to”. Similarly, unwilling here means unwilling — it doesn’t necessarily mean “too lazy to”.
  5. By the powers vested in me by the EMH, I pronounced all those factors I don’t care about “priced in”.

Net worth

Foreword

Nowadays, it seems everybody is chasing net worth — trying to be the next millionaire, billionaire, trillionaire, etc. I’ve talked to multiple people, all of whom look only at the balance of their portfolios, completely disregarding things like risk, liquidity, etc.

Thinking like that really only works when you have an infinite capacity to take on risk (which generally means you intend to live forever, amongst other things). Otherwise, it is important to remember that not all net worth are created equal.

Are you really rich, if you have $100m on paper, but are not allowed to spend a single cent of it?

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

Fatal flaw

I was talking to a financial products sales person today, trying to sell me on a variable universal life insurance. Essentially, money put in is invested in some stocks of my choice, and grows completely tax free. Withdrawals are tax free, and on top of everything, there is a life insurance component.

They made a really good case — on paper, the product outperforms a traditional brokerage account, assuming you hold the same stocks in both, due to the tax advantage, which generally out shadows the insurance premiums. However, it has a (literally) fatal flaw — in order to completely withdraw everything from the account tax free, I’ll need to die.

Wait… what?!

My understanding is that the insurance component of the product is what keeps the withdrawals tax free. If I take out all the money before I die (i.e.: cancel the life insurance), then all the gains are immediately taxable. So, while on paper, after 8 years of contributing $100k per year, I can withdraw up to $4m from the policy after 30 years, with a $7.1m death benefit, in practice, I can really only take out $3.2m — taking out any more will risk leaving too little to fund the insurance premiums, which then triggers taxes on the withdrawn amount.

Now, if I had just dumped that same amount of cash into SPY, and held for the same 30 years, I’d have $4.9m before taxes. Selling everything and paying taxes, will leave me with about $3.5m. Cash.

So, while on paper, my net worth is $4m/7.1m (depending on whether I live), in practice, I can really only access $3.2m, which is quite a bit less than just buying SPY.

You cannot eat net worth

The thing most people get confused by, is the number on their “balance sheet” indicating their net worth. But net worth isn’t the whole story. To put it bluntly, you cannot eat net worth. Having a net worth of $100m is completely useless unless you can liquidate that net worth to get actual cash, with which to actually buy stuff.

And that’s where it gets complicated — not all net worth are created equal. As we discussed in Zero sum game, it is very easy to manipulate numbers to make your net worth essentially say whatever you want. Heck, if you want, I will give you $10m — I have a piece of paper here, on which I’ll write “So-and-so has $10m… as long as they agree never to ever withdraw that money”. Congrats on being a multi-millionaire.

Another case where not all net worth are equal is taxes. Let’s say Alex bought 1,000 shares of a company that pays no dividend 20 years ago at $1 per share. That stock is now worth $1,000, so on paper, Alex has $1m. Compared to Blair who, literally, just has $1m sitting in the bank. Some may think that both Alex and Blair are equally rich. But are they really?

If Alex wants to buy anything, they will have to liquidate some of the shares, which then triggers capital gains taxes. Taking out the capital gains taxes will leave Alex with quite a bit less than $1m. Blair, on the other hand, has $1m completely free and clear.

Net worth is useless?

Not quite. Net worth is still useful, as long as you can liquidate it easily. What you are doing when you liquidate your assets (i.e.: net worth) is literally to create cash flow. Cash flow which can then be used to buy stuff you actually do need, like, you know, food.

So while net worth is weird and funky in all sorts of unintuitive ways, cash flow, particularly after tax cash flow, is fairly simple to understand — if you have $1,000 in after tax cash flow, spending more than $1,000 means you’ll become poorer, and spending less than $1,000 means you’ll become richer, over time. Simple as.

Like the story in Zero sum game, we need to always keep in mind the distinction between stock and flow. Net worth, being a stock metric, is always subject to the whims of the market. If the market decides that your assets are worth $500 instead of $1,000 today, well, you just lost half your net worth. But flow is stable — a dollar is a dollar is a dollar (1).

So, given a choice, I’d rather have a guaranteed $500k of cash flow every year (indexed to inflation), than $10m of assets that I cannot sell (also indexed to inflation) — If you have $500k of cash flow every year, you pretty much can ignore your net worth and still live a very comfortable life. But having a, say, unsellable diamond worth $10m is really only useful if you eat diamonds for breakfast. Or something.

Net worth vs cash flow

In reality, net worth and cash flow are tied. (Hopefully) nobody is dumb enough to put all their money into illiquid assets with no cash flow. Instead, most people invest in either liquid assets (stocks, bonds, etc.) or illiquid assets with cash flow (real estate, private businesses, etc.). So in most cases, having a higher net worth means a higher cash flow, and vice versa.

The thing to keep in mind is, again, “you cannot eat net worth”. It’s all fine and well to have a high net worth, but if you like eating, or having a roof over your head (2), you need to figure out the cash flow picture.

And then what?

All these tie back to 3 words I ask a lot when someone shows me their latest highly levered bets on various speculative assets — and then what?

In all of these cases, the person has money in some levered asset that, for whatever reasons, has done well recently. On paper, they are doing pretty well.

That’s great! But unless you think that asset will continue to do well (or at least maintain its value) up until the point you need cash in the future (20, 30, 40 years from now when you retire?), the thing you need to ask yourself is… and then what?

Are you going to sell and buy something with a stable cash flow?

Are you going to keep the money in that asset and pray that it’s not just a temporary spike and everything will just disappear tomorrow?

Are you going to sell and keep everything in cash?

Recall that speculation is a zero sum game. At some point, somebody will have to eat a loss if somebody else made a gain. Which of the 2 somebodies are you gonna be in the future?

Footnotes

  1. OK, not quite. Dollars (and all fiat currencies) tend to depreciate over time due to inflation. But that’s more of a long term thing compared to the short term issues we are discussing here.
  2. Admittedly this is anecdotal — I like to eat on a regular basis and have a roof over my head. You are, of course, free to pursue your own preferences.

Genius level stock trader

Foreword

I’ve been receiving a bunch of correspondences from various folks boasting about their (or their acquaintances’) trading prowess. In almost every case, these are folks who haven’t really been trading that long, or at least, their success hasn’t really materialized until the last few trades.

That concerns me, because the first thing you learn in quantitative finance (i.e.: quant trading), is that you need to be able to separate skill from luck. Lying to yourself rarely ends well.

FWIW, I believe that it is possible for individuals to do well (risk adjusted) in the market, and consistently.  But it’s hard enough that for the most part, most people shouldn’t try.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

It’s good to be great, it’s better to be lucky

Most people don’t seem to realize that it is extremely easy to be lucky.

Quite a few of my friends know this(1) — my best trade was a ~40x return in about 3 days.  It was my first ever options trade, I had no clue what I was doing, but I turned ~$200 into ~$8,000 before the end of the week.

That doesn’t mean I’m smart, successful or even had any clue what I was doing.  It just meant I was lucky.

But nobody (other than my wife) knows this next part: My next few trades were also winners.  None got close to the 40x in 3 days metric, but most of them did pretty well (30-50% gains in a few hours/days). In all the trades, I correctly called for gold/silver to go up, and I was just trading in and out of short term calls on GLD and SLV — the 40x was a 7DTE call on SLV.

All these mean nothing.  This entire episode happened during April of 2011 — I thought gold/silver would go up, because I read an article that said gold/silver would go up.  And like an idiot, I believed it without question.  That’s all.

I didn’t know it at the time, but the author of the article had been writing about gold/silver going up for years.  They would go on to continue writing about gold/silver going up pretty much all the way up to today. Other than for that ~2 weeks when I started reading their work, they were basically always wrong.

Yet I made a ton of money (percentage-wise) in a very short period of time.  Ergo, not genius, just pure, dumb luck.

Winning consistently vs winning big

Another thing that people don’t think very much about is consistency vs absolute magnitude.

The absolute return you make from a few trades means almost nothing in terms of how good you are. For reference, see the 40x gains I had above.

Instead, it is the ability to consistently do well that is a hallmark of those who really and truly know what they are doing.

Given that market/business cycles take around 8-12 years, at a minimum, if you want to prove that you are “good”, you’ll need to at least be outperforming the market by around a decade or more. This shows that you can outperform in any stage of a cycle, and not just be good at buying levered products (SSO, UPRO, etc.) during a bull market.

Finally, mathematically, ~10 years is also a decent measure — assuming any active trader has a 50/50 chance of outperforming the market, then being able to outperform over a 10 years period means they are 1 in a thousand (2), which gives some confidence and credibility towards their claim of greatness.

Diamond in the rough

So, if you come to me showing the latest 30% gain you make in a single trade, know that:

  1. I am happy for you. Really. The curt tone is probably just because I’m jealous.
  2. I can’t tell if you are good or just lucky, and given that most people fall in the latter bucket, I’m just gonna stick with the default option.

This doesn’t necessarily mean you’re not good. It just means you haven’t earned it yet.

Footnotes

  1. I typically use the story above as a way to warn others when they seem to be overly sure of their prowess.
  2. More accurately, 1 in 1,024.

July 20, 2021: Return of the Vol

Foreword

This is a quick note, which tends to be just off the cuff thoughts/ideas that look at current market situations, and to try to encourage some discussions.

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training, and by trade. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

Covid-19 strikes back

Since around early July, stocks have been trading mostly sideways with a slight downward bias in the previous week. Yesterday (7/19), stocks took a ~1.5% dive, while volatility, as measured by the VIX, peaked at over 24 from a sleepy sub-18 print last Friday. This decidedly reddish hue of green caused a bit of a stir, especially since it is hitting in the middle of summer, a period traditionally marked by quiet markets as traders are busy with their vacations.

The financial news media is abuzz with suggestions that a rise in Covid-19 cases, this time by the delta variant, is to blame. Multiple countries are seeing an uptick in Covid-19 cases, with the UK especially apparent — cases in the UK are at 70% of all time highs (around 48k cases/day, compared to around 68k/day at the highs), and appears on track to take out the highs in a week or two. UK health officials and media are flirting with the idea of lockdown again, though Boris Johnson did not relent, with Freedom Day finally arriving yesterday.

The rise of the vaccinated

Despite the seemingly grim news, there is a ray of hope. While cases have been rising, death toll from Covid-19 has been surprisingly muted:

UK daily Covid-19 cases and deaths, courtesy of Google.

Some have speculated that this is due to the high rate of vaccination in the UK (at 70% of the population having at least one dose, it’s one of the highest in the world), while others have suggested that better treatments available, now that doctors and researchers have had more time and experience. Regardless, based only on the UK’s numbers in the past 7 days, the current death rate (1) for Covid-19 is lower than that for the flu (2).

A few random countries I picked show similar trends (cases up but deaths down) or better (cases and deaths both down). None of the 10 or so countries I randomly tried saw increasing death rate (as a ratio of case count).

So, unless that death rate suddenly spikes dramatically (3), it seems like the market may be overreacting slightly, assuming their only concern is the rise of Covid-19.

The cyber menace

If only that was the only thing we need to worry about. Over the weekend, a report came out suggesting that some of the major cyber attacks on US soil (4) in recent memory had links to China. President Biden made it official yesterday in an official White House press release, and the statement was backed by a few American allies.

Perhaps I’m still suffering from PTSD (5) due to the trade war of 2018, but this has undertones of a time when I’d rather not revisit, especially in light of the recent tensions due to big tech regulations, human rights, etc.

Hopefully a peaceful diplomatic solution can be found, but at least in the short term, it’s another thing to think about.

The last meme

Something that I’ve prognosticated on since last July (6), was the return of normalcy. The thesis being that with everyone cooped up at home, there is a natural draw towards more retail trading, but with reopening (7), “other stuff” will naturally take up our time, which should reduce retail trading volumes. And if retail traders were mainly the culprits bidding up markets (specifically meme stocks), then a lack thereof of such may portend dark tidings.

So far, this is sort of happening — meme stocks hit a crescendo in February/March and have been mostly leaking lower ever since.

Finally, with the end of fiscal support, especially the eviction/foreclosure moratorium, around the end of July, the impetus is there for more folks to hunt just a little bit harder for their next job, and recent joblessness numbers are reflecting that.

And well, it’s just harder to day trade meme stock options when you’re working, y’know?

Attack of the karma

Of course, now that I’ve typed this all out (despite the tone and date of the post, I’m actually typing this on the evening of July 19), you can bet that the markets will open (7/20) green and make new all time highs before lunch (8).

Because. Just because.

Footnotes

  1. This is not a perfect measure — deaths are strictly a “lagging” indicator, while a non-trivial number of people are probably misclassified either way (died from Covid-19 labelled as died from other causes and vice versa). At the same time, there’s probably a good number of people who are infected but are not captured by official statistics for various reasons.
  2. According to https://www.goodrx.com/blog/flu-vs-coronavirus-mortality-and-death-rates-by-year/, death rate for flu is around 61k/45m = 0.14%. Based on the UK’s last 7 days average numbers, death rate for Covid-19 in the UK, in the past 7 days, is around 40/44671 = 0.1%.
  3. It might! Again, deaths necessarily lag infections.
  4. Can you actually say a cyber attack is on “US soil”? Seems kinda weird?
  5. I happen to be trading FX algorithmically in 2018, and well, you always trade FX with leverage. Huge amounts of leverage. Makes for very unpleasant blood pressure graphs whenever ex-President Trump tweets anything about the trade war.
  6. If your predictions don’t come true, try, try again. Eventually they will come true. Or everyone will have died of old age and nobody will remember anyway.
  7. Remember folks predicting that we’d be reopening in July… 2020?
  8. Absolutely not investment advice. Though if you do bet on it and made money, you’re welcome. 🙂