Market Crashes

We now apply our volatility method to the study of market crashes.  We choose the Dow Jones Industrial Average as a long time series that contains several significant market crashes.  The Mathematica data base for the series starts in October 1928, and misses some of the rise in volatility preceding the 1929 crash.  Below are plots of the daily log returns and the 30 trading day estimate for stable γ.  One can easily see that the volatility during the 1929 crash has not yet been exceeded in magnitude; it is also interesting that the sustained volatility leading up to the 2000 bear market was greater and longer than any other market collapse for the preceding 50 years.  The current volatility spike is higher than anything seen since the 1930s, we do not expect that it will disappear quickly.

dji=FinancialData["^DJI",All];
lrdj=Differences[Log[dji[[All,2]]]];
absecf0=Compile[{t,{s,_Real,1}},Abs[Mean[Exp[I t s]]]-1/E];
ABSECF0[t_?NumericQ,s_]:=absecf0[t,s];
SScale[s_]:=Module[{cc,c0,c1},
c1=MeanDeviation[s];
(*generally this loop should not be entered*)
While[absecf0[1/c1,s]<0,c1=2c1;Print["Upper Bound Loop"]];
c0=c1;
While[absecf0[1/c0,s]>0,c1=c0;c0=0.8 c0];(*bracket solution from above*)
cc/.FindRoot[ABSECF0[1/cc,s],{cc,  c0,c1},Method->"Brent"]
];
scl=Quiet[Table[SScale[Take[lrdj,{i-29,i}]],{i,30,Length[lrdj]}]];
dp3=DateListPlot[Transpose[{dji[[31;;,1]],lrdj[[30;;]]}],Joined->True,PlotLabel->"LogReturn",Frame->True,PlotRange->All];
dp4=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->All];
Show[GraphicsColumn[{dp3,dp4}]]

We will state our hypothesis: rising market volatility causes market crashes.  Rising volatility generally precedes a market peak and volatility peaks near the market price bottom.  During a market rise following a bear market, volatility falls.  Without getting into the causes for volatility to rise, there is some logic to our statement when we consider volatility to be measured as the scale factor of a stable distribution.  The stable distributions already have heavy tails and the scale factor multiplies extreme events.  From the graph above it can be seen that the scale factor rose to more than four times the baseline level during the 1929 crash and to three times baseline after 2000.  In October 2008, the volatility spike was the worst seen since the Great Depression.  If market returns are largely random events arising from a statistical distribution, then extreme events are going to be more common as the scale factor increases.  Looking at the causes, high volatility is generally the definition of lack of liquidity in the market place.  Unless some outside event can increase liquidity, an extreme event becomes ever more likely as volatility rises.  After an extreme panic event, fear becomes generalized and liquidity decreases further.  Prices fall.  At some point prices fall to very low levels and interest in buying equities returns.  As money (liquidity) flows into the market, volatility falls and the market tends to rise with the fall in volatility.  We have one further idea, which is that market crashes may be the only way that volatility can fall after a sustained rise.

Needs["Stable`"];
absecf0=Compile[{t,{s,_Real,1}},Abs[Mean[Exp[I t s]]]-1/E];
ABSECF0[t_?NumericQ,s_]:=absecf0[t,s];
Clear[SScale];
SScale[s_]:=Module[{cc,c0,c1},
c1=MeanDeviation[s];
(*generally this loop should not be entered*)
While[absecf0[1/c1,s]<0,c1=2c1;Print["Upper Bound Loop"]];
c0=c1;
While[absecf0[1/c0,s]>0,c1=c0;c0= c0/2];(*bracket solution from above*)
cc/.FindRoot[ABSECF0[1/cc,s],{cc,  c0,c1},Method->"Brent"]
];
sclall=SScale[lrdj];
djfit=StableMLFit[lrdj];
sfit=StableMLFit[Drop[lrdj,29]/scl];
TableForm[{djfit,sfit,{"","",sclall,""}},TableHeadings-> {{"ML Fit","Scaled Data","γ Fit"},{"α","β","γ","δ"}},TableSpacing-> {1,5}]

Above is the maximum likelihood fit to the whole data set of logarithmic returns.  When the returns are scaled by the 30 day moving γ estimate, α is significantly higher as we have seen before.  On the last row is the estimate of γ at the single point on the characteristic function and it is close to the maximum likelihood fit to the whole data set.  We show that last point on the graphs below as a red line, which might be considered an average volatility for the Dow Jones Industrial Average over the data time frame.

dp5=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->All,GridLines-> {Automatic,{0,{sclall,{RGBColor[1,0,0],Thickness[0.003]}}}}];
dp6=DateListPlot[{#1,Log[#2]}&@@@dji[[31;;]],PlotLabel->"Log Price DJIA",Joined->True];
GraphicsColumn[{dp5,dp6}]

To more clearly observe the phenomena associated with market collapses we break the time series into shorter intervals.  After the 1929 crash, the market did not reach its previous high until late in 1954.  Once the volatility settled below the red line there was a sustained rise in price back to the old high.

dp5=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->{{{1928,10,1},{1955,1,1}},All},GridLines-> {Automatic,{0,{sclall,{RGBColor[1,0,0],Thickness[0.003]}}}}];
dp6=DateListPlot[{#1,Log[#2]}&@@@dji[[31;;]],PlotLabel->"Log Price DJIA",Joined->True,PlotRange->{{{1928,10,1},{1955,1,1}},{3.5,6.5}}];
GraphicsColumn[{dp5,dp6}]

Taking the next interval from 1955 to 1980 the market continued to rise through the 1960s except for some small scale drops associated with brief volatility blips.  The market decline in 1970 was not preceded by a rise in volatility, but the more significant drop in 1974 was preceded by rising volatility for more than a year.

dp5=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->{{{1955,1,1},{1980,1,1}},All},GridLines-> {Automatic,{0,{sclall,{RGBColor[1,0,0],Thickness[0.003]}}}}];
dp6=DateListPlot[{#1,Log[#2]}&@@@dji[[31;;]],PlotLabel->"Log Price DJIA",Joined->True,PlotRange->{{{1955,1,1},{1980,1,1}},{5.5,7.5}}];
GraphicsColumn[{dp5,dp6}]

The 1987 market crash was led by a slightly higher than average volatility, with a slow rise beginning in 1985.

dp5=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->{{{1980,1,1},{1993,1,1}},All},GridLines-> {Automatic,{0,{sclall,{RGBColor[1,0,0],Thickness[0.003]}}}}];
dp6=DateListPlot[{#1,Log[#2]}&@@@dji[[31;;]],PlotLabel->"Log Price DJIA",Joined->True,PlotRange->{{{1980,1,1},{1993,1,1}},{6.5,8.5}}];
GraphicsColumn[{dp5,dp6}]

The market collapse in 2000 was preceded by a several year sustained elevation in volatility that peaked before the market price bottom.

dp5=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->{{{1993,1,1},{2004,12,31}},All},GridLines-> {Automatic,{0,{sclall,{RGBColor[1,0,0],Thickness[0.003]}}}}];
dp6=DateListPlot[{#1,Log[#2]}&@@@dji[[31;;]],PlotLabel->"Log Price DJIA",Joined->True,PlotRange->{{{1993,1,1},{2004,12,31}},{8.0,10}}];
GraphicsColumn[{dp5,dp6}]

Volatility fell to very low levels for more than two years, before it started to rise in 2007.  The recent spike in volatility began in September 2008; quickly rising to levels not seen for 75 years.  We expect that the decay of volatility from this level may take a long time; additional spikes would not be surpirsing.

dp5=DateListPlot[Transpose[{dji[[31;;,1]],scl}],Joined->True,PlotLabel->"Stable γ",Frame->True,PlotRange->{{{2005,1,1},Last[dji][[1]]},All},GridLines-> {Automatic,{0,{sclall,{RGBColor[1,0,0],Thickness[0.003]}}}}];
dp6=DateListPlot[{#1,Log[#2]}&@@@dji[[31;;]],PlotLabel->"Log Price DJIA",Joined->True,PlotRange->{{{2005,1,1},Last[dji][[1]]},{8.5,9.6}}];
GraphicsColumn[{dp5,dp6}]

We have shown that market crashes are associated with higher than usual volatility, that often precedes a bear market.  After market price bottoms there is usually a period of lower than average volatility that is associated with rising market prices.

txcolor=RGBColor[181/255,18/255,27/255];
t1 = Graphics[Text[Hyperlink[Framed[Style["Financial Home", {txcolor, Bold, Larger}]], "../map/Overview.html"], {-5, 0}]];
t2 = Graphics[Text[Hyperlink[Framed[Style["Next", {txcolor, Bold, Larger}]],  "../r09/Extremes.html"], {5, 0}]];

t4 = Graphics[Text[Hyperlink[Framed[Style["Previous", {txcolor, Bold, Larger}]],  "../r07c/VolatilityModel.html"], {0,0}]];

Show[ t1, t2,t4, ImageSize -> 500]
CellPrint[TextCell["\n\n© Copyright " <>ToString[DateList[][[1]]]<>" mathestate    "<>DateString[DateList[],"DateShort"], "Text"]]

© Copyright 2011 mathestate    Sun 14 Aug 2011