IndexComp: Index derivation for price and liquidity indices

Description Usage Arguments Details Value References Examples

Description

indexComp derives an Index from the given price and market capitalization or liquidity data. The number of constituents can be fixed or being chosen flexible based on the methodology from Trimborn and Haerdle (2018). This is the main function of the package. The derived index is meant for analysis purposes. For a continuous updating and display of an index on a website, please refer to the remaining functions.

Usage

1
2
3
4
indexComp(market, price, vol = NULL, weighting = "market", weighting.all = "market", 
ic = "AIC", eval.seq = c("sequential", "all.together"), 
optimum = c("local", "global"), start.const = 1, steps = 1, fixed.value = NULL, 
base.value = 1000, derivation.period = 1, derivation.period.ic = 3, days.line)

Arguments

market

An xts object with the market capitalization data. The default is NULL, an entry is necessary if weighting is set to "market".

price

An xts object with the price data. An entry is always required.

vol

An xts object with the trading volume (liquidity) data. The default is NULL, an entry is necessary if weighting is set to "volume".

weighting

The weighting scheme to be applied. "market" refers to weighting by market capitalization, "volume" refers to weighting by trading volume.

weighting.all

The weighting scheme to be applied to the full market index. "market" refers to weighting by market capitalization, "volume" refers to weighting by trading volume.

ic

Information Criterion to be used for the evaluation of the appropriate index to be used. Possible entries are "AIC", "GCV", "GFCV", "SH", "Cp" and "FPE".

eval.seq

Indicates how the evaluation of the candidate indices by the ic shall be performed. "all.together" evaluates all indices against each other, "sequential" evaluates always two consecutive indices against each other.

optimum

Define how to choose the optimal index. Either a "local" optimum is chosen, thus the derivation stops the first time the results become worse under the chosen ic, or a "global" optimum is chosen, thus all indices are derived and the best fitting one under the ic is chosen.

start.const

The number of constituents to start constructing the indices with. The default is 1.

steps

The step width for the number of constituents to construct the next index from. The default is 1.

fixed.value

In case no ic for the number of constituents for the index shall be applied, give the number of constituents the index shall contain. In that case, "ic", "eval.seq", "optimum", "start.const" and "steps" are inactive parameters. The default is NULL.

base.value

The starting value for the index. The default is 1000.

derivation.period

The number of month after which the weights of the index are reallocated. The default is 1.

derivation.period.ic

The number of month after which the composition of the index is derived again, thus the number of constituents is reevaluated. The default is 3.

days.line

The days of the month to perform the recalculation on. Can be calculated from switchDates.

Details

For more details, please see the methodology section of the paper Trimborn and Haerdle (2018).

Value

An object of the class IndexConstruction with the components

results

A list containing the results of the model fitting

inputs

A list containing the inputs for model fitting

weighting

The selected weighting scheme

weighting.all

The selected weighting.all scheme

ic

The selected ic

eval.seq

The selected eval.seq scheme

optimum

The selected optimization scheme

start.const

The selected number of starting constituents for the index

steps

The selected step size for the selection of the constituents for the index

derivation.period

The selected period for rederivation of the weights of the index constituents

derivation.period.ic

The selected period for rederivation of the number of index constituents

References

Trimborn, S. and Haerdle, W.K. (2018). CRIX an Index for cryptocurrencies, Journal of Empirical Finance 49, pp. 107-122. https://doi.org/10.1016/j.jempfin.2018.08.004

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
data(CryptoData)

price = price["2014-03-31::2015-01-31"]
market = market["2014-03-31::2015-01-31"]
vol = vol["2014-03-31::2015-01-31"]
days.line = switchDates(price, specificDate = "1")

indexComp(market = market, price = price, vol = vol, weighting = "market", 
weighting.all = "market", ic = "AIC", eval.seq = "sequential", optimum = "local", 
start.const = 5, steps = 5, days.line = days.line)

Example output

[1] "1 / 2"
[1] "2 / 2"
[1] "Call print() for index settings, plot() for plotting of indeces and weights() for displaying the weights of the index constituents. Please see the manual for the structure of the output."
Index constructed with the following characteristics:

weighting = market
weighting.all = market
IC = AIC
EvalSeq = sequential
optimum = local
start.const = 5
steps = 5
derivation.period = 1
derivation.period.ic = 3

IndexConstruction documentation built on July 1, 2020, 6:07 p.m.