이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
exit flag -2
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi, I have the following code which returns exit flag -2. I've tried using different algorithms and different initial starting values. But I'm not sure what to do next. Thanks!
for iPt = 1:nFrontierPts %This is only looping over the FX overlay - I'm adding the exogenous portfolio at the final step
%Max iter and funevals small while debugging - need to increase to deal with exit flag 0
%Currency Specific Frontier
options = optimoptions(@fmincon,'Algorithm','interior-point','MaxIter',1000,'MaxFunEvals',10000);
targetVar_cs = minVar_cs + (iPt-1)*VarIncr_cs;
[tempWts_cs,FVAL_cs,EXITFLAG_cs,OUTPUT_cs] =fmincon(@(w) ERObjective(w,ExpFXret_cs_t),w0_cs,[],[],[],[],LB_cs,UB_cs, @(w) nonlcon2(w,targetVar_cs,teCap,AssetReturns(t-59:t,1),csAssetReturns(t-59:t,2:7),equRet(t-59:t),covCap),options);
% [tempWts_cs,FVAL_cs,EXITFLAG_cs,OUTPUT_cs] =fmincon(@(w) ERObjective(w,ExpFXret_cs_t),w0_cs,[],[],[],[],LB_cs,UB_cs, @(w) nonlcon2(w,targetVar_cs,100,AssetReturns(t-59:t,1),csAssetReturns(t-59:t,2:7),equRet(t-59:t),100),options);
if EXITFLAG_cs ==-2
w0_cs = UB_cs';
options = optimoptions(@fmincon,'Algorithm','sqp','MaxIter',1000,'MaxFunEvals',10000);
[tempWts_cs,FVAL_cs,EXITFLAG_cs,OUTPUT_cs] =fmincon(@(w) ERObjective(w,ExpFXret_cs_t),w0_cs,[],[],[],[],LB_cs,UB_cs, @(w) nonlcon2(w,targetVar_cs,teCap,AssetReturns(t-59:t,1),csAssetReturns(t-59:t,2:7),equRet(t-59:t),covCap),options);
if EXITFLAG_cs==-2
options = optimoptions(@fmincon,'Algorithm','active-set','MaxIter',1000,'MaxFunEvals',10000);
[tempWts_cs,FVAL_cs,EXITFLAG_cs,OUTPUT_cs] =fmincon(@(w) ERObjective(w,ExpFXret_cs_t),w0_cs,[],[],[],[],LB_cs,UB_cs, @(w) nonlcon2(w,targetVar_cs,teCap,AssetReturns(t-59:t,1),csAssetReturns(t-59:t,2:7),equRet(t-59:t),covCap),options);
end
if EXITFLAG_cs==-2
for ct = 1:10
w0_cs = UB_cs'*rand(1);
options = optimoptions(@fmincon,'Algorithm','active-set','MaxIter',1000,'MaxFunEvals',10000);
[tempWts_cs,FVAL_cs,EXITFLAG_cs,OUTPUT_cs] =fmincon(@(w) ERObjective(w,ExpFXret_cs_t),w0_cs,[],[],[],[],LB_cs,UB_cs, @(w) nonlcon2(w,targetVar_cs,teCap,AssetReturns(t-59:t,1),csAssetReturns(t-59:t,2:7),equRet(t-59:t),covCap),options);
if EXITFLAG_cs ~= -2
break;
end
end
end
end
end
I'm not sure what else to do next. Thanks!
댓글 수: 21
Walter Roberson
2018년 10월 15일
(exit flag 2 is "No feasible point was found.")
Probably your non-linear constraints are difficult to satisfy.
It is not easy for us to give more advice without the initial values and code for ERObjective and nonlcon2
DrLoz
2018년 10월 15일
편집: DrLoz
2018년 10월 15일
Hi Walter, does this help?
function [c, ceq] = nonlcon2(w,volcap,teCap,Aud6040ret,FXret,equRet,covCap)
% nonlcon1: add TE constraint
% nonlcon2: add equity beta/correlation constraint
ret_w = Aud6040ret+FXret*w;
covMat=cov(equRet,FXret*w)*12;
%Inequality Constraints (Less than zero)
c(1) = std(ret_w)*sqrt(12) - volcap; %Vol to be less than 60/40 with country specific hedging strategy
c(2) = std(FXret*w)*sqrt(12) - teCap; %Tracking error to exogenous 60/40 asset allocation constraint
c(3) = covMat(1,2) - covCap; %Covariance of FX overlay to be less than covariance of FX exposure resulting from benchmark hedging strategy
% c = [];
%Equality Constraint
ceq = [];
% ceq = std(ret_w)*sqrt(12) - volcap;
%ceq(1) = (BondRisk-EqRisk)*PctRisk;
end
function [fval] = ERObjective(w,ExpRet)
fval = -ExpRet*w;
Walter Roberson
2018년 10월 15일
So for initial values I should use
nFrontierPts = 1;
minVar_cs = rand();
VarIncr_cs = rand();
w0_cs = rand(6,1); %60x6 array * w must be size 60x1
ExpFXret_cs_t = rand(1, 6); %ExpRet * w must be scalar, and w is 6 x 1 so this must be 1 x 6
LB_cs = randn(1, 6);
UB_cs = abs(LB_cs) + rand(1, 6);
targetVar_cs = rand();
teCap = rand();
max_ass = 70;
t = randi([60 max_ass-1]);
AssetReturns = rand(max_ass, 7);
csAssetReturns = rand(max_ass, 7);
equRet = rand(1, max_ass);
covCap = rand();
?
DrLoz
2018년 10월 15일
THese are my initial values and bounds:
nFrontierPts =
20
minVar_cs =
7.4804e-07
VarIncr_cs =
-3.9370e-08
w0_cs =
1.0e-05 *
0.4445
0.1251
0.2048
0.5538
0.1801
0.1973
ExpFXret_cs_t =
-0.0180 -0.0639 -0.0391 -0.0144 -0.0444 -0.0405
LB_cs =
0 0 0 0 0 0
UB_cs =
0.2743 0.0897 0.0599 0.0316 0.0162 0.0104
targetVar_cs =
7.4804e-07
teCap =
0.0239
covCap =
-0.0021
Walter Roberson
2018년 10월 15일
.. That's a question. You said nothing about the sizes or ranges of the various arrays, so I had to analyze the code to figure out what the sizes should be, but I have no information about the ranges. And I don't really expect random values to correlate well.
Walter Roberson
2018년 10월 15일
Your tolerances are really tight, and it is doubtful that they can be reached.
By substituting symbolic values for w in your nonlinear constraint, you get the constraints (approximated)
3.464101615137755*(0.01694915254237288*abs(0.02886816362771872*W1 - 0.03919406352959544*W2 - 0.01471540136021817*W3 + 0.001764295435917194*W4 + 0.02169337934246846*W5 + 0.003808776033319812*W6 - 0.007810693788828932)^2 + 0.01694915254237288*abs(0.02855036042080595*W1 + 0.05246672670654582*W2 + 0.01344316226620105*W3 + 0.05689676429094718*W4 + 0.02513266972362289*W5 + 0.01493600721644268*W6 + 0.006573339283632679)^2 + 0.01694915254237288*abs(0.1008818933232127*W1 + 0.03363397981747138*W2 + 0.09193710929326652*W3 + 0.06260122318826636*W4 + 0.0314784317932701*W5 - 0.01638339436670971*W6 - 0.0362581320732622)^2 + 0.01694915254237288*abs(0.009944527705669346*W1 + 0.004801202173645304*W2 + 0.03746771896868998*W3 + 0.04024934172509101*W4 - 0.009168549520271511*W5 + 0.07719767506189507*W6 - 0.01752969683179822)^2 + 0.01694915254237288*abs(0.001443991565420401*W1 + 0.009336049413569379*W2 + 0.01642127430543069*W3 - 0.01760146926307485*W4 + 0.06357473155100584*W5 + 0.02317444687843411*W6 - 0.009756550245816604)^2 + 0.01694915254237288*abs(0.06386285687709857*W1 + 0.03216806993093482*W2 + 0.03733988696681619*W3 + 0.05808236721427315*W4 + 0.03579942317781597*W5 - 0.004628231701378556*W6 - 0.02568921578155649)^2 + 0.01694915254237288*abs(0.1637096021144607*W1 + 0.06431269847065455*W2 + 0.232211118801498*W3 + 0.06894874064470538*W4 + 0.0386202329205308*W5 + 0.1252409436547383*W6 - 0.09657637505125539)^2 + 0.01694915254237288*abs(0.070467758765154*W1 + 0.005039429448805956*W2 + 0.08544372221730149*W3 + 0.02197201985753841*W4 + 0.0259575410724639*W5 + 0.0005507631252086938*W6 - 0.03480264849756702)^2 + 0.01694915254237288*abs(0.00009767920594915454*W1 - 0.002344294880547639*W2 + 0.03711707855930765*W3 + 0.00483001928496737*W4 - 0.004560979806947093*W5 + 0.0007797227047124304*W6 - 0.004590387658694567)^2 + 0.01694915254237288*abs(0.01069903165890184*W1 - 0.01591310058623983*W2 + 0.03116878745387571*W3 + 0.02216149003455678*W4 + 0.01005456699799805*W5 + 0.004097689286192633*W6 + 0.002063401415436799)^2 + 0.01694915254237288*abs(0.001360938054981699*W2 - 0.004697382636704596*W1 + 0.00796215864036113*W3 - 0.02769392943175905*W4 - 0.02065530264663334*W5 + 0.00009188255972420641*W6 + 0.03210173899669516)^2 + 0.01694915254237288*abs(0.02147919509426887*W1 + 0.04967523403587983*W2 + 0.004574993153138882*W3 + 0.02089555764946435*W4 + 0.008364072833520079*W5 + 0.05465864399232639*W6 - 0.0173887004394178)^2 + 0.01694915254237288*abs(0.01053879537020961*W2 - 0.01335690571895142*W1 + 0.02128161380304675*W3 + 0.009715067362178451*W4 - 0.00409195917243104*W5 - 0.01744772201190397*W6 + 0.0125760864740233)^2 + 0.01694915254237288*abs(0.004613012626886746*W1 + 0.01279167251159617*W2 - 0.02261524565034841*W3 + 0.004714555441240696*W4 - 0.01146464856401379*W5 + 0.009068086926069481*W6 + 0.005816171087468841)^2 + 0.01694915254237288*abs(0.008714953183499454*W1 + 0.02467649678914332*W2 - 0.002113740479597927*W3 + 0.05293642609160639*W4 - 0.008093406863126714*W5 + 0.02478805726830163*W6 - 0.01200860133889904)^2 + 0.01694915254237288*abs(0.009356529420095148*W2 - 0.01842066629845896*W1 - 0.04097180554439187*W3 + 0.0008109601687445696*W4 + 0.01593669157010873*W5 - 0.03990493268042156*W6 + 0.007767448121098935)^2 + 0.01694915254237288*abs(0.03675987811621339*W1 + 0.0267677261170123*W2 + 0.03299204879710223*W3 + 0.02015164250031051*W4 + 0.01844290288900468*W5 + 0.02171165920971024*W6 - 0.02863963427756737)^2 + 0.01694915254237288*abs(0.01970217439079637*W1 - 0.01153316632893588*W2 + 0.04586317454692194*W3 + 0.01086909741888479*W4 + 0.002600131096182242*W5 - 0.008331068828564873*W6 - 0.02599386882117953)^2 + 0.01694915254237288*abs(0.01738464430445396*W1 + 0.008138446520113994*W2 + 0.01841051171356863*W3 - 0.0003549281839545818*W4 - 0.01241626814822922*W5 + 0.005290320568326172*W6 - 0.01532518460600704)^2 + 0.01694915254237288*abs(0.0007080707274939128*W1 + 0.01571896844807583*W2 - 0.01164908599804523*W3 + 0.01034580887364392*W4 - 0.02739758150760346*W5 + 0.01741575509731348*W6 - 0.04891144590277257)^2 + 0.01694915254237288*abs(0.02413262620627333*W1 - 0.02064897381491306*W2 - 0.05103433808968146*W3 + 0.01026435982902011*W4 + 0.02607308067454012*W5 - 0.008873788536872977*W6 + 0.01768482292562261)^2 + 0.01694915254237288*abs(0.06651952597416343*W1 - 0.03541481294911939*W2 + 0.018732931926384*W3 + 0.1152631439344755*W4 + 0.05049041486163024*W5 - 0.06304357864392114*W6 - 0.007451690392748649)^2 + 0.01694915254237288*abs(0.02153799254550616*W1 + 0.04422940792410311*W2 + 0.01373271323502815*W3 + 0.03590135205744508*W4 + 0.03824231158959929*W5 + 0.03943289428943315*W6 + 0.01259271173448739)^2 + 0.01694915254237288*abs(0.0717409791567266*W1 + 0.004668159722943009*W2 + 0.05347797804619644*W3 + 0.0195776598052941*W4 + 0.03936132432209754*W5 + 0.04133345983698927*W6 - 0.03090593363542517)^2 + 0.01694915254237288*abs(0.09657826715945107*W1 + 0.01571544797081934*W2 + 0.100432340144781*W3 + 0.09617273145565445*W4 + 0.08725383366515311*W5 + 0.01209452300468334*W6 - 0.03844215465488828)^2 + 0.01694915254237288*abs(0.008205755614250419*W1 + 0.02451384853872283*W2 - 0.04554785127616386*W3 + 0.02571331112252121*W4 + 0.01012366048490227*W5 + 0.01770004250771912*W6 + 0.01405875797119326)^2 + 0.01694915254237288*abs(0.04730605195656722*W1 + 0.02231075431262044*W2 + 0.07019703195027168*W3 + 0.0251992351735952*W4 + 0.03169533687847153*W5 + 0.02766700002858129*W6 - 0.01179722528059325)^2 + 0.01694915254237288*abs(0.01990904417022955*W1 + 0.01257948064757184*W2 - 0.001553445057516832*W3 + 0.02060348454891173*W4 + 0.01637651213666353*W5 - 0.009213775962750019*W6 - 0.01531287918276451)^2 + 0.01694915254237288*abs(0.07675846419670106*W1 + 0.02997639671899546*W2 + 0.09506455291229428*W3 + 0.07392825387771304*W4 + 0.06492076833202558*W5 + 0.055292815255988*W6 - 0.04147173977469168)^2 + 0.01694915254237288*abs(0.04445628667505274*W1 + 0.0451927398822294*W2 + 0.04536829115820803*W3 + 0.009528929502412544*W4 - 0.01117507648879752*W5 + 0.04994402302580141*W6 - 0.04582373592017678)^2 + 0.01694915254237288*abs(0.03511086104418825*W1 + 0.01222483262253007*W2 + 0.01519705758928299*W3 + 0.03005925775667203*W4 + 0.02017964095510976*W5 + 0.0009838003227123286*W6 + 0.009305891398178395)^2 + 0.01694915254237288*abs(0.03167144235429219*W1 + 0.01501248308608252*W2 + 0.01854407487268968*W3 + 0.01379518151441924*W4 - 0.04571970230315487*W5 + 0.01967977718481455*W6 - 0.04516663450600488)^2 + 0.01694915254237288*abs(0.02062678364226011*W1 + 0.0287471584998519*W2 + 0.07316802271921027*W3 + 0.02157885454130878*W4 - 0.01425129164017187*W5 + 0.00614409706634094*W6 - 0.033947254887092)^2 + 0.01694915254237288*abs(0.09291853992042099*W1 + 0.03564336641889741*W2 + 0.07895923204055603*W3 + 0.01542179478356823*W4 + 0.05557052912962496*W5 + 0.03951972740886073*W6 + 0.02060317154796509)^2 + 0.01694915254237288*abs(0.03068083387529287*W1 + 0.004481926838663865*W2 + 0.02259161346734443*W3 + 0.01795008279303581*W4 + 0.006191976388562455*W5 + 0.03983644146444127*W6 - 0.006569421445265661)^2 + 0.01694915254237288*abs(0.05852351269317634*W1 + 0.01141742941119108*W2 + 0.03895911804021065*W3 + 0.0134632636713636*W4 + 0.03190474502824164*W5 + 0.0005404305666641333*W6 - 0.007143288844499157)^2 + 0.01694915254237288*abs(0.007351466116568027*W2 - 0.002744092368167093*W1 + 0.08070136826717774*W3 + 0.009656192658019171*W4 + 0.0344816366307748*W5 + 0.007520494113197044*W6 + 0.04505940766613334)^2 + 0.01694915254237288*abs(0.01774539921618855*W1 - 0.001038117044324529*W2 - 0.02430172683174207*W3 + 0.01339682855518195*W4 + 0.02356065275932056*W5 - 0.02453008372812855*W6 + 0.05433962935367405)^2 + 0.01694915254237288*abs(0.01422999148685899*W1 + 0.00811154474464739*W2 + 0.0229023186701592*W3 - 0.01773257107535245*W4 + 0.02939326454724505*W5 + 0.008614005424517005*W6 + 0.01455559199487116)^2 + 0.01694915254237288*abs(0.07988302531680714*W1 + 0.04255412700524384*W2 + 0.09958224847621659*W3 + 0.06213093505626047*W4 + 0.07864722184644252*W5 + 0.05701718833217712*W6 - 0.06581721877353225)^2 + 0.01694915254237288*abs(0.03976964395545513*W1 + 0.04171074031032727*W2 + 0.0147283638633409*W3 + 0.04806033319211359*W4 + 0.03062828804891377*W5 + 0.03767065691454358*W6 + 0.009119733703566463)^2 + 0.01694915254237288*abs(0.02187649009169988*W2 - 0.0008708627629635442*W1 + 0.000645029398526988*W3 + 0.02056945797945245*W4 + 0.001368802453779746*W5 + 0.01084112710461711*W6 + 0.01390151494002642)^2 + 0.01694915254237288*abs(0.09883784473949696*W1 + 0.02786747463804919*W2 + 0.06881421102385962*W3 + 0.001787444081364078*W4 + 0.007431345470142618*W5 + 0.03417390687223425*W6 - 0.01753818715216062)^2 + 0.01694915254237288*abs(0.01269965081111655*W2 - 0.006372856437174658*W1 - 0.07083798506604063*W3 + 0.006174279909978018*W4 + 0.006098107686905393*W5 + 0.006811474495690591*W6 + 0.01906262378045479)^2 + 0.01694915254237288*abs(0.0300307654600832*W1 + 0.03881263854402153*W2 + 0.07651566535041584*W3 + 0.0238818035595951*W4 + 0.01322822667289574*W5 + 0.0741498722542096*W6 - 0.02885959161555577)^2 + 0.01694915254237288*abs(0.08663745146844481*W1 + 0.0505143870948255*W2 + 0.1057912237691433*W3 + 0.05169978521196713*W4 + 0.03744007910851359*W5 + 0.0555552505902806*W6 - 0.04380691989679501)^2 + 0.01694915254237288*abs(0.02272880768513409*W1 + 0.06446656714912356*W2 + 0.05734536362869006*W3 + 0.02440153079080457*W4 - 0.0143362593885688*W5 + 0.06683179101301179*W6 - 0.01522531603641933)^2 + 0.01694915254237288*abs(0.04106554194433897*W1 + 0.01902369380630933*W2 + 0.007176824787647549*W3 + 0.05742440613446706*W4 + 0.01940767541003335*W5 + 0.02330414834268506*W6 - 0.02823965936763612)^2 + 0.01694915254237288*abs(0.02303682116615236*W1 + 0.02216294830708219*W2 + 0.04887160656807747*W3 - 0.01615221673861241*W4 + 0.0004364875809205822*W5 - 0.02722208829187605*W6 - 0.02757853653765512)^2 + 0.01694915254237288*abs(0.02186690145853986*W1 + 0.02747736010074244*W2 - 0.02344962372301732*W3 - 0.004106753612478174*W4 + 0.01352986107272541*W5 - 0.04394316612113153*W6 + 0.01519501356801259)^2 + 0.01694915254237288*abs(0.003658019308915174*W1 + 0.0189640407344436*W2 + 0.01201269451553751*W3 - 0.004828204757109798*W4 + 0.007224338524628275*W5 + 0.02979886464320074*W6 + 0.002367141739534034)^2 + 0.01694915254237288*abs(0.02714227056037189*W1 - 0.001580288180818921*W2 + 0.02966903457573703*W3 + 0.00598819109032903*W4 + 0.01050571944190854*W5 - 0.01679695803207653*W6 - 0.01320834443851661)^2 + 0.01694915254237288*abs(0.009647696036338184*W1 + 0.01201657592918461*W2 + 0.03078168790750854*W3 + 0.00752507913211772*W4 - 0.004219437441703785*W5 + 0.02148067402142711*W6 - 0.006982495025288621)^2 + 0.01694915254237288*abs(0.006643264589449395*W2 - 0.01356666494521429*W1 + 0.02495696052099853*W3 - 0.01181219581776135*W4 + 0.01237951066004357*W5 + 0.003231539612815922*W6 + 0.01786206023749115)^2 + 0.01694915254237288*abs(0.08865234512085652*W1 + 0.01492985268638401*W2 + 0.1126044951091742*W3 + 0.04295748112475387*W4 + 0.06207727202256225*W5 + 0.01742142085389659*W6 - 0.04395458372847656)^2 + 0.01694915254237288*abs(0.007427875772974859*W2 - 0.001373830505684394*W1 + 0.006405223055394406*W3 - 0.02262951055810488*W4 + 0.003719920206690049*W5 + 0.01074196001641798*W6 - 0.0111897654915931)^2 + 0.01694915254237288*abs(0.01080930116484092*W1 - 0.02488816117353245*W2 + 0.015239595777126*W3 + 0.003206867420322533*W4 + 0.006785536461568272*W5 - 0.02048685150945678*W6 + 0.0007355850513886606)^2 + 0.01694915254237288*abs(0.02905721305567356*W1 + 0.02841750527579865*W2 + 0.02591283182092389*W3 + 0.02102079191746823*W4 + 0.005657597731049853*W5 - 0.0008183338529095733*W6 - 0.02206339253037922)^2 + 0.01694915254237288*abs(0.08246047322210136*W1 + 0.006477885181060537*W2 + 0.07855880497071929*W3 + 0.05590772703907129*W4 + 0.04766182200749685*W5 + 0.05344205647378235*W6 - 0.03084950438817905)^2 + 0.01694915254237288*abs(0.02981846512621948*W3 - 0.01129701039935573*W2 - 0.004078084838608044*W1 + 0.01259153543717576*W4 + 0.007142905549828057*W5 - 0.01381147224345163*W6 + 0.00182754627427228)^2)^(1/2) - 0.00000074804 <= 0
3.464101615137755*(0.01694915254237288*abs(0.0717409791567266*W1 + 0.004668159722943009*W2 + 0.05347797804619644*W3 + 0.0195776598052941*W4 + 0.03936132432209754*W5 + 0.04133345983698927*W6)^2 + 0.01694915254237288*abs(0.070467758765154*W1 + 0.005039429448805956*W2 + 0.08544372221730149*W3 + 0.02197201985753841*W4 + 0.0259575410724639*W5 + 0.0005507631252086938*W6)^2 + 0.01694915254237288*abs(0.00009767920594915454*W1 - 0.002344294880547639*W2 + 0.03711707855930765*W3 + 0.00483001928496737*W4 - 0.004560979806947093*W5 + 0.0007797227047124304*W6)^2 + 0.01694915254237288*abs(0.01970217439079637*W1 - 0.01153316632893588*W2 + 0.04586317454692194*W3 + 0.01086909741888479*W4 + 0.002600131096182242*W5 - 0.008331068828564873*W6)^2 + 0.01694915254237288*abs(0.01990904417022955*W1 + 0.01257948064757184*W2 - 0.001553445057516832*W3 + 0.02060348454891173*W4 + 0.01637651213666353*W5 - 0.009213775962750019*W6)^2 + 0.01694915254237288*abs(0.008714953183499454*W1 + 0.02467649678914332*W2 - 0.002113740479597927*W3 + 0.05293642609160639*W4 - 0.008093406863126714*W5 + 0.02478805726830163*W6)^2 + 0.01694915254237288*abs(0.004613012626886746*W1 + 0.01279167251159617*W2 - 0.02261524565034841*W3 + 0.004714555441240696*W4 - 0.01146464856401379*W5 + 0.009068086926069481*W6)^2 + 0.01694915254237288*abs(0.01069903165890184*W1 - 0.01591310058623983*W2 + 0.03116878745387571*W3 + 0.02216149003455678*W4 + 0.01005456699799805*W5 + 0.004097689286192633*W6)^2 + 0.01694915254237288*abs(0.0007080707274939128*W1 + 0.01571896844807583*W2 - 0.01164908599804523*W3 + 0.01034580887364392*W4 - 0.02739758150760346*W5 + 0.01741575509731348*W6)^2 + 0.01694915254237288*abs(0.008205755614250419*W1 + 0.02451384853872283*W2 - 0.04554785127616386*W3 + 0.02571331112252121*W4 + 0.01012366048490227*W5 + 0.01770004250771912*W6)^2 + 0.01694915254237288*abs(0.02153799254550616*W1 + 0.04422940792410311*W2 + 0.01373271323502815*W3 + 0.03590135205744508*W4 + 0.03824231158959929*W5 + 0.03943289428943315*W6)^2 + 0.01694915254237288*abs(0.001360938054981699*W2 - 0.004697382636704596*W1 + 0.00796215864036113*W3 - 0.02769392943175905*W4 - 0.02065530264663334*W5 + 0.00009188255972420641*W6)^2 + 0.01694915254237288*abs(0.02147919509426887*W1 + 0.04967523403587983*W2 + 0.004574993153138882*W3 + 0.02089555764946435*W4 + 0.008364072833520079*W5 + 0.05465864399232639*W6)^2 + 0.01694915254237288*abs(0.05852351269317634*W1 + 0.01141742941119108*W2 + 0.03895911804021065*W3 + 0.0134632636713636*W4 + 0.03190474502824164*W5 + 0.0005404305666641333*W6)^2 + 0.01694915254237288*abs(0.01422999148685899*W1 + 0.00811154474464739*W2 + 0.0229023186701592*W3 - 0.01773257107535245*W4 + 0.02939326454724505*W5 + 0.008614005424517005*W6)^2 + 0.01694915254237288*abs(0.04730605195656722*W1 + 0.02231075431262044*W2 + 0.07019703195027168*W3 + 0.0251992351735952*W4 + 0.03169533687847153*W5 + 0.02766700002858129*W6)^2 + 0.01694915254237288*abs(0.001038117044324529*W2 - 0.01774539921618855*W1 + 0.02430172683174207*W3 - 0.01339682855518195*W4 - 0.02356065275932056*W5 + 0.02453008372812855*W6)^2 + 0.01694915254237288*abs(0.03068083387529287*W1 + 0.004481926838663865*W2 + 0.02259161346734443*W3 + 0.01795008279303581*W4 + 0.006191976388562455*W5 + 0.03983644146444127*W6)^2 + 0.01694915254237288*abs(0.04445628667505274*W1 + 0.0451927398822294*W2 + 0.04536829115820803*W3 + 0.009528929502412544*W4 - 0.01117507648879752*W5 + 0.04994402302580141*W6)^2 + 0.01694915254237288*abs(0.03167144235429219*W1 + 0.01501248308608252*W2 + 0.01854407487268968*W3 + 0.01379518151441924*W4 - 0.04571970230315487*W5 + 0.01967977718481455*W6)^2 + 0.01694915254237288*abs(0.02187649009169988*W2 - 0.0008708627629635442*W1 + 0.000645029398526988*W3 + 0.02056945797945245*W4 + 0.001368802453779746*W5 + 0.01084112710461711*W6)^2 + 0.01694915254237288*abs(0.02413262620627333*W1 - 0.02064897381491306*W2 - 0.05103433808968146*W3 + 0.01026435982902011*W4 + 0.02607308067454012*W5 - 0.008873788536872977*W6)^2 + 0.01694915254237288*abs(0.09657826715945107*W1 + 0.01571544797081934*W2 + 0.100432340144781*W3 + 0.09617273145565445*W4 + 0.08725383366515311*W5 + 0.01209452300468334*W6)^2 + 0.01694915254237288*abs(0.07675846419670106*W1 + 0.02997639671899546*W2 + 0.09506455291229428*W3 + 0.07392825387771304*W4 + 0.06492076833202558*W5 + 0.055292815255988*W6)^2 + 0.01694915254237288*abs(0.02272880768513409*W1 + 0.06446656714912356*W2 + 0.05734536362869006*W3 + 0.02440153079080457*W4 - 0.0143362593885688*W5 + 0.06683179101301179*W6)^2 + 0.01694915254237288*abs(0.0300307654600832*W1 + 0.03881263854402153*W2 + 0.07651566535041584*W3 + 0.0238818035595951*W4 + 0.01322822667289574*W5 + 0.0741498722542096*W6)^2 + 0.01694915254237288*abs(0.007351466116568027*W2 - 0.002744092368167093*W1 + 0.08070136826717774*W3 + 0.009656192658019171*W4 + 0.0344816366307748*W5 + 0.007520494113197044*W6)^2 + 0.01694915254237288*abs(0.02344962372301732*W3 - 0.02747736010074244*W2 - 0.02186690145853986*W1 + 0.004106753612478174*W4 - 0.01352986107272541*W5 + 0.04394316612113153*W6)^2 + 0.01694915254237288*abs(0.03511086104418825*W1 + 0.01222483262253007*W2 + 0.01519705758928299*W3 + 0.03005925775667203*W4 + 0.02017964095510976*W5 + 0.0009838003227123286*W6)^2 + 0.01694915254237288*abs(0.09291853992042099*W1 + 0.03564336641889741*W2 + 0.07895923204055603*W3 + 0.01542179478356823*W4 + 0.05557052912962496*W5 + 0.03951972740886073*W6)^2 + 0.01694915254237288*abs(0.04106554194433897*W1 + 0.01902369380630933*W2 + 0.007176824787647549*W3 + 0.05742440613446706*W4 + 0.01940767541003335*W5 + 0.02330414834268506*W6)^2 + 0.01694915254237288*abs(0.02303682116615236*W1 + 0.02216294830708219*W2 + 0.04887160656807747*W3 - 0.01615221673861241*W4 + 0.0004364875809205822*W5 - 0.02722208829187605*W6)^2 + 0.01694915254237288*abs(0.02062678364226011*W1 + 0.0287471584998519*W2 + 0.07316802271921027*W3 + 0.02157885454130878*W4 - 0.01425129164017187*W5 + 0.00614409706634094*W6)^2 + 0.01694915254237288*abs(0.009647696036338184*W1 + 0.01201657592918461*W2 + 0.03078168790750854*W3 + 0.00752507913211772*W4 - 0.004219437441703785*W5 + 0.02148067402142711*W6)^2 + 0.01694915254237288*abs(0.03976964395545513*W1 + 0.04171074031032727*W2 + 0.0147283638633409*W3 + 0.04806033319211359*W4 + 0.03062828804891377*W5 + 0.03767065691454358*W6)^2 + 0.01694915254237288*abs(0.02714227056037189*W1 - 0.001580288180818921*W2 + 0.02966903457573703*W3 + 0.00598819109032903*W4 + 0.01050571944190854*W5 - 0.01679695803207653*W6)^2 + 0.01694915254237288*abs(0.08246047322210136*W1 + 0.006477885181060537*W2 + 0.07855880497071929*W3 + 0.05590772703907129*W4 + 0.04766182200749685*W5 + 0.05344205647378235*W6)^2 + 0.01694915254237288*abs(0.01269965081111655*W2 - 0.006372856437174658*W1 - 0.07083798506604063*W3 + 0.006174279909978018*W4 + 0.006098107686905393*W5 + 0.006811474495690591*W6)^2 + 0.01694915254237288*abs(0.09883784473949696*W1 + 0.02786747463804919*W2 + 0.06881421102385962*W3 + 0.001787444081364078*W4 + 0.007431345470142618*W5 + 0.03417390687223425*W6)^2 + 0.01694915254237288*abs(0.07988302531680714*W1 + 0.04255412700524384*W2 + 0.09958224847621659*W3 + 0.06213093505626047*W4 + 0.07864722184644252*W5 + 0.05701718833217712*W6)^2 + 0.01694915254237288*abs(0.08663745146844481*W1 + 0.0505143870948255*W2 + 0.1057912237691433*W3 + 0.05169978521196713*W4 + 0.03744007910851359*W5 + 0.0555552505902806*W6)^2 + 0.01694915254237288*abs(0.004078084838608044*W1 + 0.01129701039935573*W2 - 0.02981846512621948*W3 - 0.01259153543717576*W4 - 0.007142905549828057*W5 + 0.01381147224345163*W6)^2 + 0.01694915254237288*abs(0.08865234512085652*W1 + 0.01492985268638401*W2 + 0.1126044951091742*W3 + 0.04295748112475387*W4 + 0.06207727202256225*W5 + 0.01742142085389659*W6)^2 + 0.01694915254237288*abs(0.003658019308915174*W1 + 0.0189640407344436*W2 + 0.01201269451553751*W3 - 0.004828204757109798*W4 + 0.007224338524628275*W5 + 0.02979886464320074*W6)^2 + 0.01694915254237288*abs(0.01080930116484092*W1 - 0.02488816117353245*W2 + 0.015239595777126*W3 + 0.003206867420322533*W4 + 0.006785536461568272*W5 - 0.02048685150945678*W6)^2 + 0.01694915254237288*abs(0.007427875772974859*W2 - 0.001373830505684394*W1 + 0.006405223055394406*W3 - 0.02262951055810488*W4 + 0.003719920206690049*W5 + 0.01074196001641798*W6)^2 + 0.01694915254237288*abs(0.006643264589449395*W2 - 0.01356666494521429*W1 + 0.02495696052099853*W3 - 0.01181219581776135*W4 + 0.01237951066004357*W5 + 0.003231539612815922*W6)^2 + 0.01694915254237288*abs(0.02905721305567356*W1 + 0.02841750527579865*W2 + 0.02591283182092389*W3 + 0.02102079191746823*W4 + 0.005657597731049853*W5 - 0.0008183338529095733*W6)^2 + 0.01694915254237288*abs(0.02886816362771872*W1 - 0.03919406352959544*W2 - 0.01471540136021817*W3 + 0.001764295435917194*W4 + 0.02169337934246846*W5 + 0.003808776033319812*W6)^2 + 0.01694915254237288*abs(0.02855036042080595*W1 + 0.05246672670654582*W2 + 0.01344316226620105*W3 + 0.05689676429094718*W4 + 0.02513266972362289*W5 + 0.01493600721644268*W6)^2 + 0.01694915254237288*abs(0.1008818933232127*W1 + 0.03363397981747138*W2 + 0.09193710929326652*W3 + 0.06260122318826636*W4 + 0.0314784317932701*W5 - 0.01638339436670971*W6)^2 + 0.01694915254237288*abs(0.001443991565420401*W1 + 0.009336049413569379*W2 + 0.01642127430543069*W3 - 0.01760146926307485*W4 + 0.06357473155100584*W5 + 0.02317444687843411*W6)^2 + 0.01694915254237288*abs(0.009944527705669346*W1 + 0.004801202173645304*W2 + 0.03746771896868998*W3 + 0.04024934172509101*W4 - 0.009168549520271511*W5 + 0.07719767506189507*W6)^2 + 0.01694915254237288*abs(0.06386285687709857*W1 + 0.03216806993093482*W2 + 0.03733988696681619*W3 + 0.05808236721427315*W4 + 0.03579942317781597*W5 - 0.004628231701378556*W6)^2 + 0.01694915254237288*abs(0.1637096021144607*W1 + 0.06431269847065455*W2 + 0.232211118801498*W3 + 0.06894874064470538*W4 + 0.0386202329205308*W5 + 0.1252409436547383*W6)^2 + 0.01694915254237288*abs(0.009356529420095148*W2 - 0.01842066629845896*W1 - 0.04097180554439187*W3 + 0.0008109601687445696*W4 + 0.01593669157010873*W5 - 0.03990493268042156*W6)^2 + 0.01694915254237288*abs(0.01738464430445396*W1 + 0.008138446520113994*W2 + 0.01841051171356863*W3 - 0.0003549281839545818*W4 - 0.01241626814822922*W5 + 0.005290320568326172*W6)^2 + 0.01694915254237288*abs(0.03675987811621339*W1 + 0.0267677261170123*W2 + 0.03299204879710223*W3 + 0.02015164250031051*W4 + 0.01844290288900468*W5 + 0.02171165920971024*W6)^2 + 0.01694915254237288*abs(0.01053879537020961*W2 - 0.01335690571895142*W1 + 0.02128161380304675*W3 + 0.009715067362178451*W4 - 0.00409195917243104*W5 - 0.01744772201190397*W6)^2 + 0.01694915254237288*abs(0.06651952597416343*W1 - 0.03541481294911939*W2 + 0.018732931926384*W3 + 0.1152631439344755*W4 + 0.05049041486163024*W5 - 0.06304357864392114*W6)^2)^(1/2) - 0.0239 <= 0
0.0021 - 0.009297155142165595*W2 - 0.02916361600811235*W3 - 0.01287926224525597*W4 - 0.006723535156931461*W5 - 0.0138267870327616*W6 - 0.02357251266548311*W1 <= 0
In the first and second of those, you are adding a number of non-negative terms -- terms forced to be non-negative by the various abs() and ^2 . Then at the end you subtract 0.00000074804 from the first (which is your targetVar_cs) and 0.0239 from the second (which is your teCap). The first of those is going to be difficult to satisfy.
The third constraint puts some lower bounds on variables. If you make it the equality, you can solve for W1, and substitute into the first constraint. Once done, you can use repeated solving of the derivatives for 0 to find a set of values that (hopefully) minimizes the first constraint. If my calculations are correct, then about 0.08-ish is the minima -- but I need to cross-check that. If that is correct, then it is not possible to satisfy the constraint -- though possibly you could do better than 0.08-ish. I need to keep testing.
DrLoz
2018년 10월 15일
Thanks so much Walter! It will take me a little while to understand what you've written!!!
Walter Roberson
2018년 10월 15일
편집: Walter Roberson
2018년 10월 15일
With further testing, I find that within the bounds you have established, it is difficult for c(1) of your nonlinear bounds to be smaller than about 0.06960, but for nonlinear constraints, all of the c values must be <= 0.
At the moment the smallest c(1) in my tests is found at [0.27095896530759056, 0.0879588055366868626, 0.0567802973620968668, 0.0280586544904970411, 0.0012036650345792555, 0.00935621223782138849] where it has a value of 0.0696019946898777109 . This is about 10^5 times larger than the cutoff you are asking for.
Walter Roberson
2018년 10월 15일
If you leave the lower bound at 0 but remove the upper bound, then you can do a bit better. I am not sure yet how much better you can do.
Walter Roberson
2018년 10월 15일
Not a lot better. The c(1) value still does not get below about 0.0662 (needs to be negative or 0).
I guess negative porfolio ratings are not acceptable? I think you can reach the constraints with negative portfolios ;-)
Walter Roberson
2018년 10월 15일
Ah, when I permit negatives as well, I still can't get c(1) below about 0.06065 in the range I tried (out to -10000). It is looking as if there might simply be no position at all that satisfies c(1) .
DrLoz
2018년 10월 15일
ok thanks for all your help Walter. I will have to try something else! You've saved me loads of time though. I really appreciate the help. :o)
Walter Roberson
2018년 10월 16일
Okay, I will look at it when I am able. I have some dental work when in the morning, so I am not sure whether I will feel up to doing anything for a couple of days.
답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
아시아 태평양
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)