October 1987 crash in the coming months?

/October 1987 crash in the coming months?

October 1987 crash in the coming months?

By | 2017-08-18T16:59:46+00:00 July 29th, 2013|Uncategorized|7 Comments

The chart looks scary…

Green : 11/01/2012 to 7/29/2013 (despite the fact the chart says 8/29/2013–technical detail to get the chart to match up on ’87 crash timeline)
White : 01/01/1987 – 10/29/1987


  • The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Alpha Architect, its affiliates or its employees. Our full disclosures are available here. Definitions of common statistics used in our analysis are available here (towards the bottom).
  • Join thousands of other readers and subscribe to our blog.
  • This site provides NO information on our value ETFs or our momentum ETFs. Please refer to this site.

Print Friendly, PDF & Email

About the Author:

Wes Gray
After serving as a Captain in the United States Marine Corps, Dr. Gray earned a PhD, and worked as a finance professor at Drexel University. Dr. Gray’s interest in bridging the research gap between academia and industry led him to found Alpha Architect, an asset management that delivers affordable active exposures for tax-sensitive investors. Dr. Gray has published four books and a number of academic articles. Wes is a regular contributor to multiple industry outlets, to include the following: Wall Street Journal, Forbes, ETF.com, and the CFA Institute. Dr. Gray earned an MBA and a PhD in finance from the University of Chicago and graduated magna cum laude with a BS from The Wharton School of the University of Pennsylvania.


  1. blaine July 30, 2013 at 9:11 am

    I’m curious Wesley, why do you think this data mining is relevant? I’m sure you could also find a chart that goes up and to the right followed by a parabolic bull run… I find this a strange post from your normally reasoned research.

    • Wes Gray
      Wes Gray July 30, 2013 at 1:49 pm

      Hi Blaine,
      I agree 100%. This is more a curiosity in the data and the chart pattern. Not claiming this has any sort of empirical merit, obviously.

  2. Riccardo Ronco July 30, 2013 at 12:53 pm

    I would add to this comparison the trend in interest rates. Using the T-Note yield would bring a much more convincing argument IMHO.

  3. Richard Thomas July 31, 2013 at 8:29 am

    I am amazed that you have price information through the end of August, and it’s still July! How did you do that? I’ll pay top dollar for your methods.

    • Wes Gray
      Wes Gray July 31, 2013 at 9:05 am

      $100/hr for advanced lessons. In order to get the chart to work you have to match the length of the time period for the 87 crash. Bberg spits out data through 7/30, even though it says 8/29.

  4. Kenneth July 31, 2013 at 2:13 pm

    ## Here’s a quick and dirty open source version with a similar chart of a spurious correlation 🙂 Brace yourselves.. the future is coming…
    ## I hope the R Statistics code isn’t messed up in this comment!

    ## load required libraries (if you need to install the libraries
    ## then uncomment the line below).
    ## install.packages(pkgs=c(“quantmod”, “ggplot2”, “lubridate”))

    ## download data
    sp500 <- getSymbols("^GSPC", auto.assign = FALSE, from="1987-01-01" )[, 4]

    ## split data on years
    sp500_87 <- sp500["1987-01-01/1987-10-29"]
    sp500_13 <- sp500["2012-11-01/2013-07-29"]

    ## calculate returns
    return_87 <- ROC(x=sp500_87)
    return_13 <- ROC(x=sp500_13)

    ## replace the first return value (which is NA) with 0
    return_87[is.na(x=return_87) == TRUE] <- 0
    return_13[is.na(x=return_13) == TRUE] <- 0

    ## cummulative returns
    cumsum_ret_87 <- exp(cumsum(x=return_87))
    cumsum_ret_13 <- exp(cumsum(x=return_13))

    ## convert to data.frame
    index_87 <- data.frame(date=index(cumsum_ret_87), coredata(cumsum_ret_87))
    index_13 <- data.frame(date=index(cumsum_ret_13), coredata(cumsum_ret_13))

    ## make index date and add the index up to jan and onwards for 2012/2013 data
    index_87$index_val <- 1:nrow(index_87)
    index_13$index_val <- 1:nrow(index_13)

    ## map data to year
    index_87$year <- 1987
    index_13$year <- 2013

    ## replace name
    names(index_87)[2] <- "close"
    names(index_13)[2] <- "close"

    ## make data long by combining the two datasets
    index_both <- rbind(index_87, index_13)

    ## plot the index
    plot <- ggplot(data=index_both, mapping=aes(x=index_val, y=close))
    plot <- plot + geom_line(aes(color=factor(year)))

Leave A Comment