Learn R Programming

fBasics (version 4021.93)

ScalingLawPlot: Scaling law behaviour

Description

Evaluates the scaling exponent of a financial return series and plots the scaling law.

Usage

scalinglawPlot(x, span = ceiling(log(length(x)/252)/log(2)), doplot = TRUE, 
    labels = TRUE, trace = TRUE, ...)

Value

a list with the following components:

Interceptintercept,

Exponentthe scaling exponent,

InverseExponentthe inverse of the scaling component.

Arguments

doplot

a logical value. Should a plot be displayed?

labels

a logical value. Whether or not x- and y-axes should be automatically labeled and a default main title should be added to the plot. By default TRUE.

span

an integer value, determines for the qqgaussPlot the plot range, by default 5, and for the scalingPlot a reasonable number of of points for the scaling range, by default daily data with 252 business days per year are assumed.

trace

a logical value. Should the computation be traced?

x

an uni- or multivariate return series of class timeSeries or any other object which can be transformed by the function as.timeSeries() into an object of class timeSeries.

...

arguments to be passed.

Author

Diethelm Wuertz for the Rmetrics R-port.

Details

Scaling Behavior:

The function scalingPlot plots the scaling law of financial time series under aggregation and returns an estimate for the scaling exponent. The scaling behavior is a very striking effect of the foreign exchange market and also other markets expressing a regular structure for the volatility. Considering the average absolute return over individual data periods one finds a scaling power law which relates the mean volatility over given time intervals to the size of these intervals. The power law is in many cases valid over several orders of magnitude in time. Its exponent usually deviates significantly from a Gaussian random walk model which implies 1/2.

References

Taylor S.J. (1986); Modeling Financial Time Series, John Wiley and Sons, Chichester.

Examples

Run this code
## data - 
   data(LPP2005REC, package = "timeSeries")
   SPI <- LPP2005REC[, "SPI"]
   plot(SPI, type = "l", col = "steelblue", main = "SP500")
   abline(h = 0, col = "grey")

## teffectPlot -
   # Scaling Law Effect:
   scalinglawPlot(SPI)

Run the code above in your browser using DataLab