Learn R Programming

uncorbets (version 0.1.2)

max_effective_bets: Risk-Diversification powered by the Minimum Torsion Algorithm

Description

Finds the allocation that maximizes the effective_bets.

Usage

max_effective_bets(x0, sigma, t, tol = 1e-20, maxeval = 5000L, maxiter = 5000L)

Value

A list with the following components:

  • weights: the optimal allocation policy

  • enb: the optimal effective number of bets

  • counts: the number of iterations of the objective and the gradient

  • lambda_lb: the lower bound Lagrange multipliers

  • lambda_ub: the upper bound Lagrange multipliers

  • lambda_eq: the equality Lagrange multipliers

  • gradient: the gradient of the objective function at the optimum

  • hessian: hessian of the objective function at the optimum

Arguments

x0

A numeric vector for the search starting point. Usually the "one over n" allocation.

sigma

A n x n covariance matrix.

t

A n x n torsion matrix.

tol

An interger with the convergence tolerance.

maxeval

An integer with the maximum number of evaluations of the objective function.

maxiter

An integer with the maximum number of iterations.

See Also

solnl

Examples

Run this code
# extract the invariants from the data
set.seed(123)
log_ret <- matrix(stats::rnorm(400), ncol = 4) / 10

# compute the covariance matrix
sigma <- stats::cov(log_ret)

# torsion
torsion_cov <- torsion(sigma = sigma, model = 'minimum-torsion', method = 'exact')

# 1/N reference
b <- rep(1 / ncol(log_ret), ncol(log_ret))

max_effective_bets(x0 = b, sigma = sigma, t = torsion_cov)

Run the code above in your browser using DataLab