dppalomar / sparseIndexTracking

Design of Portfolio of Stocks to Track an Index
https://CRAN.R-project.org/package=sparseIndexTracking
GNU General Public License v3.0
50 stars 14 forks source link

To do list for next release #1

Open dppalomar opened 6 years ago

dppalomar commented 6 years ago

List of things to implement: (@dppalomar, @mirca)

  1. Compare our method with the nonlinear solver optim() in the vignette.

  2. Try using the QP solver solve.QP() after the first majorization and compare with the currently implemented method that performs a second majorization to get the "closed-form" solution.

  3. Implement a function that returns the path of solutions over a grid of lambdas (e.g., see glasso package with the function glassopath).

  4. Implement additional constraints/penalizations that can be found in the monograph:

    K. Benidis, Y. Feng, and D. P. Palomar, Optimization methods for financial index tracking: From theory to practice. Foundations and Trends in Optimization, Now Publishers, 2018.

For example, the turnover constraint. See page 35 and Section 4.6 on pages 63-65.

  1. Consider including a function that helps in selecting the sparsity level by using AIC or similar methods for order selection.
mirca commented 5 years ago

as mentioned by @dppalomar, we should carefully handle the outputs types such that they remain consistent with input data types, a practice called ducktyping.

mirca commented 4 years ago

As mentioned in class by @dppalomar, any tracking error that can be majorized by the ETE could be added to the function. One trivial extension would be to add support for an L1-type tracking error (trivially majorized by the L2-norm error), which could possibly handle outliers better.