开放式基金投资最优决策

这是暑假在学校实验室做的第一道建模题,我负责编程。所有程序都是用lingo实现的,因为太久都没碰lingo了,格式什么的几乎都忘了。

这是我们论文的一部分,程序在后面。如果有人看到,有问题欢迎留言。

 

开放式基金投资最优决策

 

某开放式基金现有总额为15亿元的资金可用于投资,目前共有8个项目可供管理人选择,每个项目可重复投资。根据专家经验,对每个项目投资总额不能太高,应有上限。这些项目所需要的投资额已知,一般情况下投资一年后各项目所得利润也可估算出来,如表1所示。

表1                       单位:万元

项目编号

A1

A2

A3

A4

A5

A6

A7

A8

投资额

6700

6600

4850

5500

5800

4200

4600

4500

年利润

1139

1056

727.5

1265

1160

714

1840

1575

上  限

34000

27000

30000

22000

30000

23000

25000

23000

 

请帮该公司解决以下问题:

(1)就表1提供的数据,应该投资哪些项目,使得第一年所得利润最高?

(2)在具体投资这些项目时,实际还会出现项目之间互相影响的情况。公司咨询有关专家后,得到以下可靠信息:同时投资项目A1,A3,它们的年利润分别是1005万元,1018.5万元;同时投资项目A4,A5,它们的年利润分别是1045万元,1276万元;同时投资项目A2,A6,A7,A8,它们的年利润分别是1353万元,840万元,1610万元,1350万元,该基金应如何投资?

(3)如果考虑投资风险,则应如何投资,使收益尽可能大,而风险尽可能小。投资项目总体风险可用投资项目中最大的一个风险来衡量。专家预测出各项目的风险率,如表2所示。

表2 各项目的风险率

项目编号

A1

A2

A3

A4

A5

A6

A7

A8

风险率(%)

32

15.5

23

31

35

6.5

42

35

 

(4)开放式基金一般要保留适当的现金,降低客户无法兑现的风险。在这种情况下,将专家的信息都考虑进来,基金该如何决策,使得尽可能降低风险,而一年后所得利润尽可能多?

(5)这个项目投资,是必须资金全部到位才有利润,还是只要第一期资金到位启动后就可以随便投资,然后利润率按第一期利润和投资之比来计算?

 

 

 

某开放式基金现有总额为15亿元的资金可用于投资,目前共有8个项目可供选择,每个项目可重复投资且有各自的投资上限。本文要解决的是在考虑不同因素情况下的最优投资方案,需建立规划模型。

针对问题一:建立线性规划模型,将最高利润作为目标函数,以各项目投资份数作为变量,将各项目投资额上限以及总资金上限等作为约束条件,运用软件,则可得到利润最高为36798万元时的项目投资方案。

针对问题二:因某些项目组合投资后会改变年利润,为判断是否同时投资,则以每个项目的投资份数作为变量,并引入0-1变量,仍以最高利润作为目标函数,以各项目投资额上限、变量之间的约束、总资金上限等作为约束条件,建立整数线性规划模型,运用软件进行编程,则可得到利润最高为37607万元时的项目投资方案。

针对问题三:要考虑两个目标的规划:利润尽可能大、风险尽可能小。求解投资方案总年利润的表达式与上一问相同,将项目投资额与风险率的乘积取大值后,可得到最小风险评估指标的表达式,取其作为目标函数,并将利润限制在一定的范围内,转化为新的约束条件,建立多目标非线性规划模型,运用软件编写程序求得。

针对问题四:本题要考虑保留适当现金,利润尽可能大,风险尽可能小这三个目标的规划。在问题三模型基础上改为以最高总年利润作为目标函数,仍以0-1变量、投资份数作为变量,新增两个约束:投资者可接纳的最高风险评估指标值以及最高总投资额,将三目标规划问题转化为单目标规划问题进行求解。

关键词:线性规划模型;0-1整数规划;多目标规划模型;主要目标函数法;软件

 

 

 

一 问题重述

 问题背景

某开放式基金现有总额为15亿元的资金可用于投资,目前共有8个项目可供管理人选择,每个项目可重复投资。根据专家经验,对每个项目投资总额不能太高,应有上限。这些项目所需要的投资额已知,一般情况下投资一年后各项目所得利润也可估算出来。

 问题的提出

问题一:通过已知的投资额、年利润等数据(见附件一表1)求出如何投资项目使得第一年所得利润最高。

问题二:在具体投资这些项目时,实际还会出现项目之间互相影响的情况。公司咨询有关专家后,得到以下可靠信息:同时投资项目它们的年利润分别是1005万元,1018.5万元;同时投资项目它们的年利润分别是1045万元,1276万元;同时投资项目它们的年利润分别是1353万元,840万元,1610万元,1350万元,求利润最高的投资方案。

问题三:如果考虑投资风险,则应如何投资才能使收益尽可能大、风险尽可能小。投资项目总体风险可用投资项目中最大的一个风险来衡量。根据专家预测出的各项目风险率(见附件一表2)给出投资方案。

问题四:开放式基金一般要保留适当的现金,降低客户无法兑现的风险,还要考虑组合投资时年利润的改变,以及各项目的风险率,此时基金该如何决策,使得尽可能降低风险,而一年后所得利润尽可能多。

 

求解问题一利润最高时各项目投资份数的程序

 

model:

title  开放式基金投资;

!定义集合及变量;

sets:

project/1..8/:x,b,c,d;

endsets

!对已知变量赋值;

data:

b=6700,6600,4850,5500,5800,4200,4600,4500;

c=1139,1056,727.5,1265,1160,714,1840,1575;

d=34000,27000,30000,22000,30000,23000,25000,23000;

Enddata

max=@sum(project(i):x(i)*c(i));

@for(project(i):x(i)*b(i)<d(i));

@sum(project(i):x(i)*b(i))<150000;

@for(project(i):@gin(x(i)));

End

 

求解问题二利润最高时各项目投资方案的程序

model:

title 开放式3;

sets:

project/1..8/:x,b,d;

yi/1..2/:;

ye/1..3/:m;

profit(yi,project):c;

Endsets

 

!对已知变量赋值;

data:

b=6700,6600,4850,5500,5800,4200,4600,4500;

c=1139,1056,727.5,1265,1160,714,1840,1575,

  1005,1353,1018.5,1045,1276,840,1610,1350;

d=34000,27000,30000,22000,30000,23000,25000,23000;

Enddata

 

max=m1*(c(2,1)*x(1)+c(2,3)*x(3))+m2*(c(2,4)*x(4)+c(2,5)*x(5))+m3*(c(2,2)*x(2)+c(2,6)*x(6)+c(2,7)*x(7)+c(2,8)*x(8))+(c(1,1)*x(1)+c(1,3)*x(3))*(1-m1)+(1-m2)*(c(1,4)*x(4)+c(1,5)*x(5))+(1-m3)*(c(1,2)*x(2)+c(1,6)*x(6)+c(1,7)*x(7)+c(1,8)*x(8));

@for(project(i):x(i)*b(i)<d(i));

@sum(project(i):x(i)*b(i))<150000;

x(1)*x(3)>m1;x(1)*x(3)<1000*m1;

x(4)*x(5)>m2;x(4)*x(5)<1000*m2;

x(2)*x(6)*x(7)*x(8)>m3;x(2)*x(6)*x(7)*x(8)<1000*m3;

@for(project(i):@gin(x(i)));

@bin(m1);@bin(m2);@bin(m3);

End

 

附件四:求解问题三利润大风险小的项目投资方案的程序

model:

title  开放式基金投资4;

sets:

project/1..8/:x,b,d,e;

yi/1..2/:;

profit(yi,project):c;

endsets

 

!对已知变量赋值;

data:

b=6700,6600,4850,5500,5800,4200,4600,4500;

c=1139,1056,727.5,1265,1160,714,1840,1575,

  1005,1353,1018.5,1045,1276,840,1610,1350;

d=34000,27000,30000,22000,30000,23000,25000,23000;

e=0.32,0.155,0.23,0.31,0.35,0.065,0.42,0.35;

enddata

min=@max(project(i):x(i)*b(i)*e(i));

m1*(c(2,1)*x(1)+c(2,3)*x(3))+m2*(c(2,4)*x(4)+c(2,5)*x(5))+m3*(c(2,2)*x(2)+c(2,6)*x(6)+c(2,7)*x(7)+c(2,8)*x(8))

+(c(1,1)*x(1)+c(1,3)*x(3))*(1-m1)+(1-m2)*(c(1,4)*x(4)+c(1,5)*x(5))+(1-m3)*(c(1,2)*x(2)+c(1,6)*x(6)+c(1,7)*x(7)+c(1,8)*x(8))>37000;

@for(project(i):x(i)*b(i)<d(i));

@sum(project(i):x(i)*b(i))<150000;

m1=@if(x(1)*x(3)#eq#0,0,1);

m2=@if(x(4)*x(5)#eq#0,0,1);

m3=@if(x(2)*x(6)*x(7)*x(8)#eq#0,0,1);

@for(project(i):@gin(x(i)));

@bin(m1);@bin(m2);@bin(m3);

End

 

求解问题四保留现金且利润大风险小的项目投资方案的程序

model:

title  开放式基金投资5;

sets:

project/1..8/:x,b,d,e;

yi/1..2/:;

profit(yi,project):c;

endsets

!对已知变量赋值;

data:

b=6700,6600,4850,5500,5800,4200,4600,4500;

c=1139,1056,727.5,1265,1160,714,1840,1575,

  1005,1353,1018.5,1045,1276,840,1610,1350;

d=34000,27000,30000,22000,30000,23000,25000,23000;

e=0.32,0.155,0.23,0.31,0.35,0.065,0.42,0.35;

enddata

 

max=m1*(c(2,1)*x(1)+c(2,3)*x(3))+m2*(c(2,4)*x(4)+c(2,5)*x(5))+m3*(c(2,2)*x(2)+c(2,6)*x(6)+c(2,7)*x(7)+c(2,8)*x(8))

+(c(1,1)*x(1)+c(1,3)*x(3))*(1-m1)+(1-m2)*(c(1,4)*x(4)+c(1,5)*x(5))+(1-m3)*(c(1,2)*x(2)+c(1,6)*x(6)+c(1,7)*x(7)+c(1,8)*x(8));

f=@max(project(i):x(i)*b(i)*e(i));

f<8120;

@sum(project(i):x(i)*b(i))<149100;

@for(project(i):x(i)*b(i)<d(i));

m1=@if(x(1)*x(3)#eq#0,0,1);

m2=@if(x(4)*x(5)#eq#0,0,1);

m3=@if(x(2)*x(6)*x(7)*x(8)#eq#0,0,1);

@for(project(i):@gin(x(i)));

@bin(m1);@bin(m2);@bin(m3);

end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值