Returns as Events

In the previous section we began to look at returns by themselves.  Now we want to start thinking of returns not prices as the series of events.  We can always reconstruct a price series if we have a return series and one other piece of information, the price at a particular point in the series.  Since the return series is all relative information, a return series from one financial asset can be compared directly to another, even though the prices may all be of different magnitude.

Here's how easy it is to recover a series of prices from a series of log returns.

{log(((Subscript[p, 1])/(Subscript[p, 0]))),log(((Subscript[p, 2])/(Subscript[p, 1]))),log(((Subscript[p, 3])/(Subscript[p, 2]))),log(((Subscript[p, 4])/(Subscript[p, 3]))),log(((Subscript[p, 5])/(Subscript[p, 4])))}

First we take the cumulative sum of all the returns, starting with a zero term.

{0,log(((Subscript[p, 1])/(Subscript[p, 0]))),log(((Subscript[p, 1])/(Subscript[p, 0])))+log(((Subscript[p, 2])/(Subscript[p, 1]))),log(((Subscript[p, 1])/(Subscript[p, 0])))+log(((Subscript[p, 2])/(Subscript[p, 1])))+log(((Subscript[p, 3])/(Subscript[p, 2]))),log(((Subscript[p, 1])/(Subscript[p, 0])))+log(((Subscript[p, 2])/(Subscript[p, 1])))+log(((Subscript[p, 3])/(Subscript[p, 2])))+log(((Subscript[p, 4])/(Subscript[p, 3]))),log(((Subscript[p, 1])/(Subscript[p, 0])))+log(((Subscript[p, 2])/(Subscript[p, 1])))+log(((Subscript[p, 3])/(Subscript[p, 2])))+log(((Subscript[p, 4])/(Subscript[p, 3])))+log(((Subscript[p, 5])/(Subscript[p, 4])))}

When we take the exponent of each term in the above we get a series of price ratios starting with one.

{1,((Subscript[p, 1])/(Subscript[p, 0])),((Subscript[p, 2])/(Subscript[p, 0])),((Subscript[p, 3])/(Subscript[p, 0])),((Subscript[p, 4])/(Subscript[p, 0])),((Subscript[p, 5])/(Subscript[p, 0]))}

We multiply this by the first price in the series and recover the original price series.

{(Subscript[p, 0]),(Subscript[p, 1]),(Subscript[p, 2]),(Subscript[p, 3]),(Subscript[p, 4]),(Subscript[p, 5])}

So long as we know one of the prices and its location, we retain all the information in the series.  For instance if we knew only the last price, we could subtract the sum of all the returns from the log of the last price to get the log of the first price.

We now show the fit of a stable distribution density to the log return data from the previous page.  Clearly the fit is much better than to a normal distribution.  This fit is useful for many purposes, but it tends to overestimate the risk in the tails.  We will explore why when we get to the section of fitting market data.

data= FinancialData["SPY",All];
CellPrint[TextCell["Start ... "<>DateString[First[data][[1]],"Date"],"Text"]]
CellPrint[TextCell["End ... "<>DateString[Last[data][[1]],"Date"],"Text"]]
lp= Log[data[[All,2]]];
lr=Differences[lp];
Needs["Stable`"];
parm=StableMLFit[lr,1];
q1=Histogram[lr,Automatic,"ProbabilityDensity",PlotRange->All];
q2=Plot[StablePDF[x,parm,1],{x,Min[lr],Max[lr]},PlotStyle->{Red,Thickness[0.005]},PlotRange->All];
Show[q1,q2,Frame->True]

Start ... Friday 29 January 1993

End ... Thursday 31 December 2009

If all the return events were independent and belonged to the stable distribution, we would find stable distributions to be very useful for financial data.  Unfortunately life isn't that simple.  Next we explore some reasons why market returns might have fat-tails.

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}]],  "../r05/FatTails.html"], {0, -0.5}]];
t3 = Graphics[Text[Hyperlink[Framed[Style["Download Notebook", {txcolor, Bold, Larger}]], "../r04/ReturnEvents.nb"], {5, 0}]];
t4 = Graphics[Text[Hyperlink[Framed[Style["Previous", {txcolor, Bold, Larger}]], "../r03/ReturnDistribution.html"], {0, 0.5}]];

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

© Copyright 2010 mathestate    Mon 4 Jan 2010