ben objektif fonksiyonuPortföy optimizasyonu
$$ dk Var (return_p-return'weight_ {bm en aza indirmek için çalışıyorum
R.
başka göre optimize edilmiştir bir portföy oluşturmaya çalışıyorum }) sınırlamaların$$ 1_n'w = 1 $$
$$ ağırlık ile
$$
> 005 $$$$ bir portföy döner; W ile .8 $$
< w. 10 tane menkul kıymet var, bu yüzden her biri .1'de benchmark ağırlıklarını ayarladım.
$$ Var (return_p-return'weight_ {bm}) = var (r) + var (r'w_ {bm}) - 2 * cov (r_p, r'w_ {bm}) = var (r'w) -2cov (r'w, r'w_ {bm}) = w'var (r) w-2cov (r'w, r'w_ {bm}) $$
$ $ = w'var (r) w-2cov (r ', r'w_bm) w $$
Son terim, ihtiyacım olan formdadır, bu yüzden çözelti, R ile çözülmeye çalıştım. Yine de bana bir sorun veriyorlar. Burada
alıyorum hatadır kodumtrackport <- array(rnorm(obs * assets, mean = .2, sd = .15), dim = c(obs,
assets)) #this is the portfolio which the assets are tracked against
wbm <- matrix(rep(1/assets, assets)) #random numbers for the weights
Aeq <- t(matrix(rep(1,assets), nrow=assets, ncol = 1)) #col of 1's to add
#the weights
Beq <- 1 # weights should sum to 1's
H = 2*cov(trackport) #times 2 because of the syntax
#multiplies the returns times coefficients to create a vector of returns for
#the benchmark
rbm = trackport %*% wbm
#covariance between the tracking portfolio and benchmark returns
eff <- cov(trackport, rbm)
#constraints
Amatrix <- t(matrix(c(Aeq, diag(assets), -diag(assets)), ncol = assets,
byrow = T))
Bvector <- matrix(c(1,rep(.005, assets), rep(.8, assets)))
#solve
solQP3 <- solve.QP(Dmat = H,
dvec = zeros, #reduces to min var portfolio for
#troubleshooting purposes
Amat = Amatrix,
bvec = Bvector,
meq = 1)
olan "kısıtlamaları, hiçbir çözüm tutarsız!" ama benim bir matris ile neyin yanlış olduğunu bulamıyorum
Benim (aktarılmış) Bir matris bu[1,1,...,1]
[1,0,...,0]
[0,1,...,0]
...
[0,0,...,1]
[-1,0,...,0]
[0,-1,...,0]
...
[0,0,...,-1]
ve benim $ b_0 $ gibi görünüyor
yüzden ben bu
[1]
[.005]
[.005]
...
[.005]
[.8]
[.8]
...
[.8]
benziyor Bir çözüm bulamadığından emin değil misiniz? Herkes bir göz atabilir mi?
yapmak benim fonksiyonu 0,005
@Joel Sinofsky, Evet! -x $ \ ge $ -.8 olacak. Bu, istediğiniz şey olan x $ \ le $ .8 ile eşdeğerdir. Elbette, zaten x $ \ ge $ .005 girmişsiniz. –