Şu anda portföy seçimi ve optimizasyonu yapmak zorunda olduğumuz bir grup projesinde yer alıyorum. başvuruluyor kağıt burada verilir: (özellikle sayfa 5 ve 6, denklemler 7-10)Güçlü portföy optimizasyonu için wrt 2 değişkenini en aza indirmeye çalışın. Bunu fmincon ile nasıl yapabilirim?
http://faculty.london.edu/avmiguel/DeMiguel-Nogales-OR.pdf
Biz
dk aşağıda verilen sorun M-portfolyoun kullanarak optimizasyon problemi yaratır (yaşıyorsanız wt w, m) (1/T) * sum_ (rho) * (w '* r_t - m) (Üzgünüz, çalışmayı biçimlendiremedim)
st w'e = 1 (sadece bir koşul tüm ağırlıklar 1 olarak eklemek söyleyerek)
Şimdiye kadar, bu Gerçekleştirmeye çalıştığımız da budur:
sorun teta için Tanımlarımıza başlarfunction optPortfolio = portfoliofminconM(returns,theta)
% Compute the inputs of the mean-variance model
mu = mean(returns)';
sigma = cov(returns);
% Inputs for the fmincon function
T = 120;
n = length(mu);
w = theta(1:n);
m = theta((n+1):(2*n));
c = 0.01*ones(1,n);
Aeq = ones(1,(2*n));
beq = 1;
lb = zeros(2,n);
ub = ones(2,n);
x0 = ones(n,2)/n; % Start with the equally-weighted portfolio
options = optimset('Algorithm', 'interior-point', ...
'MaxIter', 1E10, 'MaxFunEvals', 1E10);
% Nested function which is used as the objective function
function objValue = objfunction(w,m)
cRp = (w'*(returns - (ones(T,1)*m'))';
objValue = 0;
for i = 1:T
if abs(cRp(i)) <= c;
objValue = objValue + (((cRp(i))^2)/2);
else
objValue = objValue + (c*(abs(cRp(i))-(c/2)));
end
end
bir olarak kullanılıyor w ve m vektörüdür. Fmincon'un objektif fonksiyonda 2 değişken ile nasıl kullanılacağını bilmiyoruz. Ayrıca, objektif fonksiyonun değeri başka bir değere (kâğıtta gösterildiği gibi) bağlıdır ve bu, toplam 264 aylık bir süre için 120 aylık bir haddeleme süresi penceresi üzerinden yapılmalıdır. if-else)
Daha fazla bilgi gerekirse, memnuniyetle temin ederim!
Benzer bir sorunla ilgilenen bir örnek de sağlayabilirseniz, lütfen bize bağlantı kurabilirsiniz.
Önceden teşekkür ederiz.
Evet, bu bana yardımcı oldu! Ancak x (1) üzerinde bir kısıtlama var, ancak x (2) 'de değil, bu yüzden Aeq, beq kısıtlamalarını uygularken ağırlıklar toplamının bire eşit olduğunu, x (2)' de de uyguladıklarını görürüz. , olmamalıydı. Aeq ve beq kısıtlamalarının yalnızca x cinsinden ilk vektör sütununa uygulanabilmesi için nasıl kısıtlarım? Umarım bu mantıklıdır. Teşekkür ederim! – rahulk92