how to run optimisation problem

2 ビュー (過去 30 日間)
DAN TURMACU
DAN TURMACU 2019 年 3 月 20 日
コメント済み: DAN TURMACU 2019 年 3 月 21 日
Hello!
How can I run such kind of optimization :
max Q subject to x = x1,..., xn, where = Rp / σp
and constraints :
Rp = R' * x
σp^2 =x' * Σ * x
sum(x) = 1
Can someone help me about how to write down my objective function ...and the rest of the constraints. What type of sover I need to use ?
Best regards,
  2 件のコメント
Walter Roberson
Walter Roberson 2019 年 3 月 21 日
I think part of the equations got lost?
What is Q?
You say "where = " but what needs to equal that?
Why do you say "subject to" and list variable names?
In Rp / op is that matrix division (least squared fitting) or is it element-by-element division ?
DAN TURMACU
DAN TURMACU 2019 年 3 月 21 日
編集済み: DAN TURMACU 2019 年 3 月 21 日
yes.
Q = Rp / σp
Rp - Return of portfolio it is a number
σp - Risk of portfolio it is a number
but R' , Σ are matrix
The constraint is sum(x) = 1.

サインインしてコメントする。

採用された回答

DAN TURMACU
DAN TURMACU 2019 年 3 月 21 日
Dear Torsten,
I have another unexpected problem.
When I run x = fmincon(fun,x0,A,b,Aeq,beq) in Command Window, I receive the error message:
Undefined function or variable 'returns'.
Error in @(x)-(x'*returns)/sqrt(x'*sigma*x)
Error in fmincon (line 564)
initVals.f = feval(funfcn{3},X,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. FMINCON
cannot continue.
I do not understand. I provided with returns and sigma matrixes in Workspace Window.
Thank you.
  2 件のコメント
Torsten
Torsten 2019 年 3 月 21 日
編集済み: Torsten 2019 年 3 月 21 日
Write a .m file and load it into matlab.
BTW: "returns" must be a vector of the same length as x, not a matrix.
DAN TURMACU
DAN TURMACU 2019 年 3 月 21 日
Now it is ok. I have to run fun script first.
Many thanks,
Dan

サインインしてコメントする。

その他の回答 (1 件)

Torsten
Torsten 2019 年 3 月 21 日
編集済み: Torsten 2019 年 3 月 21 日
Use fmincon with objective function
f = @(x)(R'*x)/sqrt(x'*sigma*x)
and linear constraint
Aeq = ones(size(x))
beq = 1
Best wishes
Torsten.
  6 件のコメント
Torsten
Torsten 2019 年 3 月 21 日
f = @(x)-(R'*x)/sqrt(x'*sigma*x)
DAN TURMACU
DAN TURMACU 2019 年 3 月 21 日
Thanks.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with Optimization Toolbox についてさらに検索

タグ

製品


リリース

R2008a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by