Package 'sparseIndexTracking'

Title: Design of Portfolio of Stocks to Track an Index
Description: Computation of sparse portfolios for financial index tracking, i.e., joint selection of a subset of the assets that compose the index and computation of their relative weights (capital allocation). The level of sparsity of the portfolios, i.e., the number of selected assets, is controlled through a regularization parameter. Different tracking measures are available, namely, the empirical tracking error (ETE), downside risk (DR), Huber empirical tracking error (HETE), and Huber downside risk (HDR). See vignette for a detailed documentation and comparison, with several illustrative examples. The package is based on the paper: K. Benidis, Y. Feng, and D. P. Palomar, "Sparse Portfolios for High-Dimensional Financial Index Tracking," IEEE Trans. on Signal Processing, vol. 66, no. 1, pp. 155-170, Jan. 2018. <doi:10.1109/TSP.2017.2762286>.
Authors: Konstantinos Benidis [aut], Daniel P. Palomar [cre, aut]
Maintainer: Daniel P. Palomar <[email protected]>
License: GPL-3 | file LICENSE
Version: 0.1.1.9000
Built: 2024-11-19 04:55:28 UTC
Source: https://github.com/dppalomar/sparseindextracking

Help Index


sparseIndexTracking: Design of Portfolio of Stocks to Track an Index

Description

Computation of sparse portfolios for financial index tracking, i.e., joint selection of a subset of the assets that compose the index and computation of their relative weights (capital allocation). The level of sparsity of the portfolios, i.e., the number of selected assets, is controlled through a regularization parameter. Different tracking measures are available, namely, the empirical tracking error (ETE), downside risk (DR), Huber empirical tracking error (HETE), and Huber downside risk (HDR). See vignette for a detailed documentation and comparison, with several illustrative examples.

Functions

spIndexTrack

Help

For a quick help see the README file: CRAN-README and GitHub-README.

For more details see the vignette: CRAN-html-vignette, CRAN-pdf-vignette, GitHub-html-vignette, and GitHub-pdf-vignette.

Author(s)

Konstantinos Benidis and Daniel P. Palomar

References

K. Benidis, Y. Feng, and D. P. Palomar, "Sparse Portfolios for High-Dimensional Financial Index Tracking," IEEE Transactions on Signal Processing, vol. 66, no. 1, pp. 155-170, Jan. 2018.


Database of the net returns of the index S&P 500 and its underlying assets during the year 2010

Description

Database of the net returns of the index S&P 500 and its underlying assets during the year 2010. Only the assets that were in the index during the whole period are included.

Usage

data(INDEX_2010)

Format

A list of two xts objects, namely, X and SP500, corresponding to the net returns of the assets and the index, respectively.

Source

Yahoo! Finance


Sparse Index Tracking

Description

Computes the weights of assets (relative capital allocation) for a sparse approximation of a financial index.

Usage

spIndexTrack(
  X,
  r,
  lambda,
  u = 1,
  measure = c("ete", "dr", "hete", "hdr"),
  hub = NULL,
  w0 = NULL,
  p_neg_exp = 7,
  max_iter = 1000,
  thres = 1e-09
)

Arguments

X

m-by-n matrix of net returns (m samples, n assets).

r

m dimensional vector of the net returns of the index.

lambda

sparsity weight factor. Any nonnegative number (suggested range [10^{-8},10^{-6}]).

u

upper bound of the weights.Default value u <- 1, i.e., no effective upper bound.

measure

performance measure. Possible values 'ete' (empirical tracking error - default), 'dr' (downside risk), 'hete' (Huber empirical tracking error), and 'hdr' (Huber downside risk).

hub

Huber parameter. Required if measure = 'hete' or measure = 'hdr'.

w0

initial point. If NULL a uniform allocation is used, i.e., w0 <- rep(1/N, N).

p_neg_exp

final negative exponent of p, so p = exp(-p_neg_exp) (default is 7).

max_iter

maximum number of iterations (default is 1000).

thres

threshold value. All the weights less or equal to thres are set to 0. The default value is 1e-9.

Value

An n-dimensional vector with allocation weights on the assets.

Author(s)

Konstantinos Benidis and Daniel P. Palomar

References

K. Benidis, Y. Feng, D. P. Palomar, "Sparse Portfolios for High-Dimensional Financial Index Tracking," IEEE Transactions on Signal Processing, vol. 66, no. 1, pp. 155-170, Jan. 2018.

Examples

library(sparseIndexTracking)
library(xts)

# load data
data(INDEX_2010)

# fit portfolio under error measure ETE (Empirical Tracking Error)
w_ete <- spIndexTrack(INDEX_2010$X, INDEX_2010$SP500, lambda = 1e-7, u = 0.5, measure = 'ete')

# show cardinality achieved
cat("Number of assets used:", sum(w_ete > 1e-6))