楼主: 拂去尘缘
787 1

[问答] 优化求解 [推广有奖]

  • 0关注
  • 3粉丝

已卖:492份资源

副教授

65%

还不是VIP/贵宾

-

威望
0
论坛币
8949 个
通用积分
78.3884
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
14147 点
帖子
387
精华
0
在线时间
1213 小时
注册时间
2016-4-16
最后登录
2025-12-5

楼主
拂去尘缘 发表于 2017-8-23 09:21:48 |AI写论文
5论坛币
目标函数如下:
  1. Min[mean(r*w)-sqrt(w'*cov(r)*w)*norminv(0.01)]
复制代码

其中,r为60*4的矩阵;w是4*1的矩阵也是待求解参数
约束条件为:
  1. sum(w)=1
复制代码

求坛友和老师 赐教,不胜感激!
数据如下:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(raudusd reurusd rgbpusd rnzdusd)
  4.    .004860108   -.004793873    .003344894  -.0008669268
  5.    .008826426    .008040629   -.007003286    .007488514
  6.    .007523461    .011187072   -.007760123    .008002329
  7.   -.005055001   -.007095919    .010685765    -.00943808
  8.    .007233058    .003979916    .010143236    .008013781
  9.    .001901916  -.0018932228  -.0011503699   -.003712699
  10.     .00985895   .0026495096  -.0029520316   .0092560295
  11.     .00576216   .0029252204   .0041846214    .005653725
  12.    .002402243    .002822734  -.0016431158    .005061166
  13. -.0033380096  -.0039540627    .011143786   -.003934247
  14.    .011965046     .01050962     -.0300092    .015644962
  15.   -.008227223   -.007777765    .012401375   -.012833207
  16.    .007433991   .0031933906   -.006584587    .009362186
  17. -.0007938609    .003650493  -.0026702285   -.002785517
  18.    .003831169    .005776055   -.012846423    .008748233
  19. -.00026374785   -.003163382    .001197366   .0019337023
  20. -.0013197837    .001582942   -.009064226    .007149762
  21.   -.004898401   -.006159609    .002932902   -.007425777
  22.   .0021211728   .0015901972    .003339698   .0019305025
  23.   .0005295909  -.0003739366    .005510976    .003575361
  24.    .003963017     .00958459    -.00742074   .0036993944
  25. .00013183047  -.0026892954   -.006339668   -.004385972
  26.     .00944641  -.0009290227     .01048211   .0010982978
  27.    .002868694   .0022282063   .0034384904   .0036978745
  28. -.0026075635   -.003065065   .0012022604   .0008198962
  29.   -.004186296   -.006252062   -.003202821   -.002735606
  30.   .0022261518    .001403115  -.0025548916   -.004805391
  31.   -.002619517  -.0040275427   .0035146615   -.010932095
  32.    .006405669  -.0011268664   .0004802305   .0004173332
  33. -.0044403886   -.004237095   -.002798099    -.00208841
  34.    .003005949  -.0018889314    .004641122  -.0008365868
  35.    .006114636   .0021719637  .00056159496    .007504204
  36. -.0020773832    .006862542    -.00224449  -.0018014278
  37. -.0039067636   -.005448581     .00618451  -.0038910555
  38.    .003126631 -.00018841262   -.004100508   .0011132759
  39. -.0016923782    -.00737592  -.0008020533   -.004041536
  40.     .00364157    .002085902   .0018456852    .003902444
  41.   .0015566224   .0022705782   -.008478016    .005686956
  42.   -.005067908  -.0017971157    .007514625   -.002770085
  43. -.00039090496   .0022695046    .001606168   -.002082611
  44.   -.002087411  -.0010395503    .004995579  -.0004170432
  45.    .002608584   -.002745824    .007052273   -.006696454
  46.   -.013771612   -.003799758   .0021172646   -.011402953
  47.   .0031645596     .01088562  -.0019545571  -.0045409473
  48. -.0022405281  -.0037728776    .004484861   -.005276305
  49.   .0011867873  -.0015131457   .0029464746   -.005735605
  50. -.0079386495  -.0023688835    .002626397   -.005624068
  51.   -.002926702    .003409417   .0002465787  -.0020266364
  52.    .004784698    .009035355 -.00016439256    .003182873
  53.     .00383776  -.0018756452  -.0042647487  .00014443562
  54. -.0015862528  -.0046102544    .005416065  -.0007223868
  55.     .01964957    .012184985   -.011291235    .018046895
  56.   -.004029381    .002976746   -.005598165   -.008266866
  57.    .003380578   -.002604168   -.002908388    .004284497
  58.    .003498546  .00009312288   .0030702134    .005400809
  59.   -.005187406     .00668216   -.009663467  -.0018443646
  60. -.0016917175  -.0012958165 -.00056083006  .00028396992
  61.   -.006664514   -.001297498   -.002879311  -.0021317424
  62. -.0005245902    .001390112   .0038409266 -.00014227787
  63.   -.000656125    .006093639   -.006871232    .002415975
  64. end
复制代码



关键词:Norm mean 不胜感激 约束条件 目标函数

沙发
拂去尘缘 发表于 2017-8-23 14:07:49
  1. http://matlab.cheme.cmu.edu/2011/12/24/using-lagrange-multipliers-in-optimization/
复制代码

本人根据上边的网站上的内容作出如下形式的代码:
  1. function gamma = func(X)
  2. w=[]
  3. w(1,:)=X(1)
  4. w(2,:)=X(2)
  5. w(3,:)=X(3)
  6. w(4,:)=X(4)
  7. w(5,:)=X(5)
  8. w(6,:)=X(6)
  9. lambda=X(7)
  10. gamma=[mean(r*w)-sqrt(w'*cov(r)*w)*norminv(0.01)]+lambda*(sum(w)-1)
  11. end

  12. function dLambda=dfunc(X)
  13. dLambda=nan(size(X))
  14. h=1e-3
  15. for i=1:numel(X)
  16.     dX=zeros(size(X))
  17.     dX(i)=h
  18.     dLambda(i)=(func(X+dX)-FUNC(X-dX))/(2*h)
  19. end
  20. end
复制代码

不知道对不对,也不知道该如何修改,请广大坛友指教!多谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 08:02