I have to maximize the sharpe ratio, but my weights are given by an equation. I am not knowing how to connect that with fmincon
function [y] = w2(a) %function for weight
global avrcc avrco avroc avroo avrrvp avrtvl rcc rco roc roo tvl rvp i j ny = a(1)*(rcc(i-1,j)-avrcc(i-1))./n... + a(2)*(roo(i,j)-avroo(i))./n... + a(3)*(roc(i-1,j)-avroc(i-1))./n ... + a(4)*(rco(i,j)-avrco(i))./n... + a(5)*(tvl(i-1,j)/avrtvl(i-1,j))*(rcc(i-1,j)-avrcc(i-1))./n... + a(6)*(tvl(i-1,j)/avrtvl(i-1, j))*(roo(i,j)-avroo(i))./n... + a(7)*(tvl(i-1,j)/avrtvl(i-1,j))*(roc(i,j)-avroc(i-1))./n... + a(8)*(tvl(i-1,j)/avrtvl(i-1,j))*(rco(i,j)-avrco(i))./n... + a(9)*(rvp(i-1,j)/avrrvp(i-1,j))*(rcc(i-1,j)-avrcc(i-1))./n... + a(10)*(rvp(i-1,j)/avrrvp(i-1,j))*(roo(i,j)-avroo(i))./n... + a(11)*(rvp(i-1,j)/avrrvp(i-1,j))*(roc(i-1,j)-avroc(i-1))./n... + a(12)*(rvp(i-1,j)/avrrvp(i-1,j))*(rco(i,j)-avrco(i))./n;end
My function for sharpe ratio is as follows
function [y] = msharper(mu,Q,rf)y = mu-rf/sqrt(w2(a)'*Q*w2(a));end
I do not know how to apply fmincon such a way that I find the values of a vector.
Best Answer