精华内容
下载资源
问答
  • 2021-05-06 01:44:57

    李成博 宓颖 衣国洋 黄小宇

    37ff3764d2d46eadb826e11d10b37dac.png

    4c7eb626c39b2bc0a2dc50ccfebcb915.png

    摘要:本文研究的是投资者在1年内,不考虑交易费的情况下,对市场资产(如股票、债券、……)进行选择,并优化所选投资,从而获得最优投资组合,以实现投资目标的问题。首先,运用马柯维茨均值-方差模型建立针对市场上n种资产的最优投资组合模型。其次,运用Excel对所给股票数据进行随机抽样,根据在问题1给出的最优投资组合模型,求解出投资组合的有效前沿。最后确定最优投资组合的投资项目数与风险的变化之间的关系。

    Abstract: This paper studies investors' choice of market assets (such as stocks, bonds, and so on) within one year without considering transaction fees, and optimizes the selected investments to obtain the optimal portfolio to achieve the investment objectives. First, the Markowitz mean-variance model is used to establish an optimal portfolio model for n assets on the market. Secondly, the Excel is used to randomly sample the stock data, according to the optimal portfolio model given in question 1, solve the effective frontier of the portfolio. Finally, the relationship between the number of investment projects in the optimal portfolio and the changes in risk is determined.

    关键词:资产组合;收益率;风险;有效前沿;最优解

    Key words: portfolio;rate of return;risk;effective frontier;optimal solution

    中图分类号:F224.3                                      文献标识码:A                                  文章编号:1006-4311(2019)28-0241-02

    0  引言

    投资者对市场上不同资产(如股票、债券、…)进行选择,并对所选资产进行投资组合优化,这样在降低投资风险同时,获得较高的投资收益,因而研究这类问题具有重大的实际意义。

    本文主要研究以下两个问题。

    問题1  在各资产的平均收益和风险已知的前提下建立最优投资组合模型。

    问题2  根据2013年资产数据求出投资组合的有效前沿,研究最优投资组合的投资项目数与风险的变化之间的关系。

    1  模型假设

    ①投资期间社会无政策较大变化,经济发展形势稳定。

    ②投资期限为1年,期间不撤资或追加投资。投资期间的交易费用不计。

    ③不考虑投资比率系数为负的问题,由于负的投资比例意味着卖空相应的证券,考虑不允许卖空的情况。

    2  模型的建立与求解

    2.1 问题1

    投资者期望在最大化期望收益率的同时,最小化由方差度量的风险,从而达到投资目的。投资组合优化选择问题是一个优化问题,建立优化模型求解。

    从图中可看到风险随着组合规模的扩大而降低。当组合规模由1个增至10个时,组合风险的减少程度最大。当组合中股票数由10个继续增加,组合风险的减少程度逐渐降低。这表明并不是投资数目越大,越能有效的规避风险。我们需要适当的选取投资数目,进而使得在获得较大收益率的同时,投资风险较小。从图像上看,投资数目在10个左右为宜。

    3  模型的分析与评价

    3.1 模型的优点

    ①本模型采用了数学工具,对模型的求解非常的严密,具有很高的科学性。

    ②本模型与实际联系较为紧密,因此具有很高的实用价值。

    ③模型中有详细的数据求解过程,各项数据真实可靠,可信度较高。

    3.2 模型的缺点

    模型中的股票选取随机性较大,和实际还存在偏差。

    参考文献:

    [1]杨红云.金融经济学[M].武汉:武汉大学出版社,2000.

    [2]蔡锁章.数学建模原理与方法[M].北京:海洋出版社,2000.

    [3]宋兆基,徐流美.MATLAB6.5在科学计算中的应用[M].北京:清华大学出版社,2004.

    [4]李伯德.最优投资组合的数学模型与案例分析[J].兰州商学院学报,2006,22(2):97-99.

    [5]徐立新,郭国雄,栾长福.股票组合的风险变动规律及最佳组合有效前沿—Markowitz理论在深圳证券市场的应用[J].华南理工大学学报(自然科学版),2001,29(9):5-8.

    更多相关内容
  • 私募产品的最优投资组合问题。 本文求解最优规划问题,对产品净值数据和同期大盘指数进行分析处理,根据投资者对于风险和收益的要求,建立约束条件,在MATLAB软件环境中作出相应的优化模型进行求解。 针对问题1,...
  • 投资组合问题主要研究如何将有限的资金合理地分配到不同的金融资产中,以实现收益最大化与风险最小化之间的均衡.然而,证券市场往往具有很强的不确定性,投资者对于证券的期望收益率和风险损失率难以用精确数值描述,...
  • 首先建立了风险资产投资组合的数学模型;然后应用随机模拟的方法分析讨论了资产投资组合的有效边界,同时通过把模型转化为线性规划求解,给出了计算有效边界的解析式;最后通过引入无差异曲线,给出了风险资产最优投资...
  • 针对资产数目和投资资金比例受约束的投资组合选择这一NP难问题, 基于混沌搜索、粒子群优化和引力搜索算法提出了一种新的混合元启发式搜索算法。该算法能很好地平衡开发能力和勘探能力, 有效抑制了算法早熟收敛现象。...
  • 粒子群算法(PSO)作为一种群智能算法,有效提高了投资组合模型的实用性,但存在搜索精度较低和易陷入局部最优的缺陷.为克服其缺点,本文提出基于天牛须搜索(BAS)的粒子群优化算法(简称BSO),并将其应用到包含...
  • 本文提出了证券投资组合的一个新模型。该模型综合考虑了证券的收益率、证券分红和证券价格的关系,并将证券分红和证券价格作为系统的随机参数处理,建立了证券投资组合的随机规划模型。利用机会约束规划方法,我们...
  • 投资组合问题

    万次阅读 多人点赞 2019-04-19 20:16:47
    基本的投资组合模型 存在无风险资产时的投资组合模型 考虑交易成本的投资组合模型 利用股票指数简化投资组合模型 其它目标下的投资组合模型 基本的投资组合模型 例5 美国某三种股票( A ,B , C)12年(1943-...

    目录

    基本的投资组合模型

    存在无风险资产时的投资组合模型 

    考虑交易成本的投资组合模型

    利用股票指数简化投资组合模型 

    其它目标下的投资组合模型


    基本的投资组合模型

    例5  美国某三种股票( A ,B , C)12年(1943-1954)的价格(已经包括了分红在内)每年的增长情况如表6所示(表中还给出了相应年份的500种股票的价格指数 的增长情况)。例如,表中第一个数据1.300的含义是股票 A在1943年的年末价值是 其年初价值的1.300倍,即收益为30%,其余数据的含义依此类推。假设你在1955年 时有一笔资金准备投资这三种股票,并期望年收益率至少达到15%,那么你应当如何 投资?当期望的年收益率变化时,投资组合和相应的风险如何变化? 

     

    (1)问题分析

    本例的问题称为投资组合(portfolio)问题,早在1952年Markowitz就给出了这个模型的基本框架,而且这个模型后来又得到了不断的研究和改进。一般来说,人 们投资股票时的收益是不确定的,因此是一个随机变量,所以除了考虑收益的期望值外, 还应当考虑风险。风险用什么衡量?Markowitz建议,风险可以用收益的方差(或标 准差)来进行衡量:方差越大,则认为风险越大;方差越小,则认为风险越小。在一定 的假设下,用收益的方差(或标准差)来衡量风险确实是合适的。为此,我们先对表6 中给出的数据计算出三种股票收益的均值和方差(包括协方差)备用。

    一种股票收益的均值衡量的是这种股票的平均收益状况,而收益的方差衡量的是这 种股票收益的波动幅度,方差越大则波动越大(收益越不稳定)。两种股票收益的协方 差表示的则是它们之间的相关程度:

    i)协方差为0时两者不相关。

    ii)协方差为正数表示两者正相关,协方差越大则正相关性越强(越有可能一赚 皆赚,一赔俱赔)。

    iii)协方差为负数表示两者负相关,绝对值越大则负相关性越强(越有可能一个 赚,另一个赔)。 

    记股票 A , B,C  每年的收益率分别为\tiny R_{1},R_{2},R_{3} (注意表中的数据减去1以后才是年收益率),则  \tiny R_{i},i=1,2,3  是一个随机变量。用E 和D分别表示随机变量的数学期望和方差算子,用cov表示两个随机变量的协方差(covariance),根据概率论的知 识和表6给出的数据,则可以计算出年收益率的数学期望为

    \tiny ER_{1} = 0.0890833,\tiny ER_{2} = 0.2136667,\tiny ER_{3} = 0.2345833        (1)
     
    同样,可以计算股票 A ,B ,C年收益率的协方差矩阵为 

    计算的LINGO程序如下:  

    MODEL: 
    Title 均值向量Mean与协方差矩阵COV; 
    SETS:    
        YEAR/1..12/;    
        STOCKS/ A,  B,  C/: Mean;    
        link(YEAR, STOCKS): R;    
        temp/1..5/;       
        tmatrix(YEAR,temp):tm;    
        STST(Stocks,stocks): COV; 
    ENDSETS 
    DATA:    
    tm = 
    1943           1.300          1.225           1.149           1.258997 
    1944           1.103          1.290           1.260           1.197526 
    1945           1.216          1.216           1.419           1.364361 
    1946           0.954          0.728           0.922           0.919287 
    1947           0.929          1.144           1.169           1.057080 
    1948           1.056          1.107           0.965           1.055012 
    1949           1.038          1.321           1.133           1.187925 
    1950           1.089          1.305           1.732           1.317130 
    1951           1.090          1.195           1.021           1.240164 
    1952           1.083          1.390           1.131           1.183675 
    1953           1.035          0.928           1.006           0.990108   
     1954           1.176          1.715           1.908           1.526236; 
    @text(data1.txt)=R; 
    @text(data2.txt)=Mean; 
    @text(data3.txt)=COV; 
    ENDDATA 
    CALC: !计算均值向量Mean与协方差矩阵COV; 
    @for(tmatrix(i,j)|j #ge#2 #and# j #le# 4:R(i,j-1)=tm(i,j)-1); 
    @for(stocks(i): Mean(i) = @sum(year(j): R(j,i)) / @size(year) );  
    @for(stst(i,j): COV(i,j) = @sum(year(k): (R(k,i)-mean(i))*(R(k,j)-mean(j))) / (@size(year)-1) ); 
    ENDCALC 
    END

          注意模型中计算协方差矩阵COV时,分母是样本数减去1,而不是样本数,这是常 用的计算方法,主要是为了保持这个估计的无偏性(当然,样本数较大时两者差别不太)。
     (2)模型建立 
             用决策变量 \tiny x_{1},x_{2},x_{3} 分别表示投资人投资股票 A ,B , C 的比例。假设市场上没有其它投资渠道,且手上资金(可以不妨假设只有1个单位的资金)必须全部用于投资这 三种股票,则 

       \tiny x_{1},x_{2},x_{3}\geq 0,\: x_{1}+x_{2}+x_{3}=1          ( 2  )

    年投资收益率 \tiny R=x_{1} R_{1}+x_{2} R_{2}+x_{3}R_{3}  也是一个随机变量。根据概率论的知识,投
    资的总期望收益为 \tiny ER=x_{1} ER_{1}+x_{2} ER_{2}+x_{3}ER_{3}         ( 3 )

       ( 4 )

    实际的投资者可能面临许多约束条件,这里只考虑题中要求的年收益率(的数学期 望)不低于15%,即 

    \tiny x_{1} ER_{1}+x_{2} ER_{2}+x_{3}ER_{3} \geqslant0.15             ( 5 )

    所以,最后的优化模型就是在约束(2)和(5)下极小化(4)。由于目标函数V 是决策变量的二次函数,而约束都是线性函数,所以这是一个二次规划问题。

    (3)用LINGO求解模型 

    编写LINGO程序如下

    MODEL: 
    SETS:    
        YEAR/1..12/;    
        STOCKS/ A,  B,  C/: Mean,X;    
        link(YEAR, STOCKS): R;    
        STST(Stocks,stocks): COV; 
    ENDSETS 
    DATA: 
    TARGET=0.15; 
    Mean=@file(data2.txt); 
    COV=@file(data3.txt); 
    ENDDATA 
    [OBJ] MIN = @sum(STST(i,j): COV(i,j)*x(i)*x(j)); 
    [ONE] @SUM(STOCKS: X) = 1; 
    [TWO] @SUM(stocks: mean*x) >= TARGET; 
    END

    求得投资三种股票的比例大致是: A占53%,B 占36%,C 占11%。风险(方 差)为0.02241378。

    (4)用MATLAB软件对模型进行参数分析

    对实际投资人来说,可能不仅希望知道指定的期望投资回报率下的风险(回报率的方差),可能更希望知道风险随着不同的投资回报率是如何变化的,然后作出后的投 资决策。这当然可以通过在上面的模型中不断修改约束中的参数(目前为0.15)来实 现,如将0.15改为0.2345,则表示投资回报率希望达到23.45%(这几乎是可能达到的最大值了,因为这几乎是三种股票中最大的投资回报率,即股票C 的回报率)。可 以想到,这时应主要投资在股票C 上。实际求解一下,可以知道最优解中投资股票C 的 份额大约是99.6%(剩余的大约0.4%投资在股票B 上)。 目前LINGO软件还没有二次规划灵敏度分析的功能。下面我们利用MATLAB软件进 行灵敏度分析,回报率的取值区间为[0.09,0.234],变化步长为0.002。

    编写程序 如下: 

    clc,clear 
    load data2.txt,load data3.txt 
    h=reshape(data3,[3,3]); 
    a=data2'; 
    solution=[]; 
    target=0.09; 
    hold on 
    while target<0.234     
        [x,y]=quadprog(2*h,[],-a,-target,ones(1,3),1,zeros(3,1));  
        plot(target,y,'*b');     
        solution=[solution [target;x;y]];     
        target=target+0.002;     
        end 
    solution 

             得到的投资回报率与风险之间的关系曲线如图3所示 。

    从图3可以看出,投资回报率从22%附近开始,风险迅速增大。 

     

    存在无风险资产时的投资组合模型 

    例6  假设除了例5中的三种股票外,投资人还有一种无风险的投资方式,如购买国库券。假设国 库券的年收益率为5%,如何考虑例5中的问题?

    (1)问题分析

    其实,无风险的投资方式(如国库券、银行存款等)是有风险的投资方式(如股票)的一种特例, 所以这就意味着例5中的模型仍然是适用的。只不过无风险的投资方式的收益是固定的,所以方差(包 括它与其它投资方式的收益的协方差)都是0。

    (2)问题求解

    假设国库券的投资方式记为D,则当希望回报率为15%时,对应的LINGO模型如下: 

    MODEL: 
    Title 含有国库券的投资组合模型; 
    SETS:    
        STOCKS1/ A,  B,  C/: mean1;    
        STST1(Stocks1,stocks1): COV1;    
        STOCKS/ A,  B,  C, D/: mean,X;    
        STST(Stocks,stocks): COV; 
    ENDSETS 
    DATA: 
    mean=0.05; 
    COV=0; 
    COV1=@file(data3.txt); 
    Mean1=@file(data2.txt);   
    TARGET = 0.15; ! 0.10; 
    ENDDATA 
    calc: 
    @for(STOCKS(i)|i #ne# 4: mean(i)=mean1(i)); 
    @for(STST(i,j)| i #ne# 4 #and# j #ne# 4:COV(i,j)=COV1(i,j));  
    endcalc
    [OBJ] MIN = @sum(STST(i,j): COV(i,j)*x(i)*x(j)); 
    [ONE] @SUM(STOCKS: X) = 1; 
    [TWO] @SUM(stocks: mean*x) >= TARGET; 
    END

    计算结果为,投资 A占8.7%,B 占42.9%,C 占14.3%, D (国库券)占34.1%,风险 (方差)为0.02080347。与例5中的风险(方差为0.02241378)比较,无风险资产的存 在可以使得投资风险减少。虽然国库券的收益率只有5%,比希望得到的收益率15%小很多, 但在国库券上的投资要占到34.1%,其原因就是为了减少风险。

    现在,我们把上面模型中的期望收益减少到10%,即把数据段中的语句“TARGET = 0.15”改为“TARGET = 0.10”,重新求解模型。计算结果如下:

    投资 A占4.3%,B 占21.4%,C 占7.2%, D (国库券)占67.1%,此时风险(方差为 0.0052)进一步下降。请特别注意:你能发现这个结果(这里不妨称为结果2)与刚才 “TARGET = 0.15”的结果(这里不妨称为结果1)有什么联系吗? 仔细观察这两个结果,可以发现:结果2中投资在有风险资产(股票 A ,B , C)上的比例大约都是结果1中相应的比例的一半。也就是说,无论你的期望收益和风险偏好如何,你 手上所持有的风险资产本身相互之间的比例居然是不变的!变化的只是投资于风险资产与 无风险资产之间的比例。有趣的是,这一现象在一般情况下也是成立的,一般称为“分离 定理”,即风险资产之间的投资比例与期望收益和风险偏好无关。1981年诺贝尔经济学奖 得主Tobin教授之所以获奖,很大一部分原因就是因为他发现了这个重要的规律。 也正是由于有这样一个重要结果,我们在下面各节的讨论中就不再考虑存在无风险资产 的情形了,而只考虑确定风险资产之间的投资比例。 

     

    考虑交易成本的投资组合模型

    例7  继续考虑例5(期望收益仍定为15%)。假设你目前持有的股票比例为:股票 A占 50%,B 占35%,C 占15%。这个比例与例5中得到的优解有所不同。实际股票市场上 每次股票买卖通常总有交易费,例如按交易额的1%收取交易费,这时你是否仍需要对所持 的股票进行买卖(换手),以便满足优解的要求?

    (1)建立模型 

    仍用决策变量 \tiny x_{1},x_{2},x_{3}  分别表示投资人应当投资股票 A 、B 、C 的比例,进一步假设购买股票 A 、B 、C 的比例为 2 \tiny y_{1},y_{2},y_{3},卖出股票 A 、B 、C 的比例为 \tiny z_{1},z_{2},z_{3} 。其中,\tiny y_{i}   和 \tiny z_{i}( i=1,2,3 )中显然多只能有一个严格取正数,且 

    \tiny x_{i},y_{i},z_{i}\geqslant 0 ,i=1,2,3                      ( 6 )

    由于交易费用的存在,这时约束\tiny x_{1} +x_{2} +x_{3} =1   不一定还成立(只有不进行股票买卖,即 \small y_{1} =y_{2} =y_{3} =z_{1} =z_{2} =z_{3} =0 时,这个约束才成立)。其实,这个关系式的本质是:当前持有的总资金是守恒的,在有交易成本(1%)的情况下,应当表示成如下形式:

     \small \sum_{i=1}^{3}x_{i}+0.01\sum_{i=1}^{3} \left (y_{i} +z_{i} \right ) =1             (  7 ) 

    另外,考虑到当前持有的各只股票的份额  \tiny c_{i},\: x_{i},\: y_{i},\: z_{i} ,i=1,2,3   之间也应该满足守恒关系式 

    \tiny x_{i}=c_{i}+y_{i}-z_{i} \: ,i=1,2,3                     (  8 )  

    (2)模型求解

    问题对应的LINGO程序如下:  

    MODEL: 
    Title 考虑交易费的投资组合模型; 
    SETS:    
        STOCKS/ A,  B,  C/: C,Mean,X,Y,Z;    
        STST(Stocks,stocks): COV; 
    ENDSETS 
    DATA: 
    ! 股票的初始份额; 
    c=0.5  0.35  0.15;   
    TARGET=0.15; 
    Mean=@file(data2.txt); 
    COV=@file(data3.txt); 
    ENDDATA 
    [OBJ] MIN = @sum(STST(i,j): COV(i,j)*x(i)*x(j)); 
    [ONE] @SUM(STOCKS: X+0.01*Y+0.01*Z) = 1; 
    [TWO] @SUM(stocks: mean*x) >= TARGET; 
    @FOR(stocks: [ADD] x = c + y - z); 
    END 

    在这个LINGO模型中,股票C是原始集合“STOCKS”的一个元素,不会因为与集 合的属性C同名而混淆。这是LINGO新版本比LINGO旧版本的一个改进之处。 

     

    利用股票指数简化投资组合模型 

    例8  继续考虑例5(期望收益率仍定为15%)。在实际的股票市场上,一般存在 成千上万的股票,这时计算两两之间的相关性(协方差矩阵)将是一件非常费事甚至不可能的事情。例如,1000只股票就需要计算 \tiny C_{1000}^{2} =499500  个协方差。能否通过一定方式避免协方差的计算,对模型进行简化呢?例如,例5中还给出了当时股票指数的信 息,但我们到此为止一直没有利用。我们这一节就考虑利用股票指数对前面的模型进行 修改和简化。

    (1)问题分析

    可以认为股票指数反映的是股票市场的大势信息,对具体每只股票的涨跌通常是有 显著影响的。我们这里简单地假设每只股票的收益与股票指数成线性关系,从而可以 通过线性回归方法找出这个线性关系。

    (2)线性回归

    具体地说,用M 表示股票指数(也是一个随机变量),其均值为 \tiny m_{0}=E\left ( M \right ) ,方差为 \tiny s_{0}^{2}=D\left ( M \right ) 。根据上面的线性关系的假定,对某只具体的股票i,其价值 \tiny R_{i}(随机变量)可以表示成 
                        \small R_{i}=u_{i}+b_{i}M+ e_{i}                                         (9)
     
    其中 \tiny u_{i} 和 \tiny b_{i} 需要根据所给数据经过回归计算得到, \tiny e_{i} 是一个随机误差项,其均值为\tiny E\left ( e_{i} \right )=0 ,方差为\tiny s_{i}^{2}=D\left ( e_{i} \right ) 。此外,假设随机误差项  \tiny e_{i}与其它股票 j( j ≠ i )和股票指数M 都是独立的,所以 \tiny E\left ( e_{i} e_{j}\right )=E\left ( e_{i}M \right )=0 。 

    先看看如何根据所给数据经过回归计算得到 \tiny u_{i} 和 \tiny b_{i} 。记所给的12年的数据为\tiny \left \{ M ^{\left ( k \right )},\: R_{i}^{\left ( k \right ) \right \},( k =1,2,..,12),线性回归实际上是要使误差的平方和小,即要解如下优化问题: 

                        (10)

    对这里给出的三种股票,可以编写如下LINGO程序求出线性回归的系数 \tiny u_{i} 和 \tiny b_{i}(同时也在计算(CALC)段计算M 的均值\tiny m_{0} 和方差 \tiny s_{0}^{2}  ,标准差 \tiny s_{0} 的值): 

    MODEL: 
    Title 线性回归模型; 
    SETS:    YEAR/1..12/:M;    
    STOCKS/A,  B,  C/: u, b, s2, s;    
    temp/1..5/;       
    tmatrix(YEAR,temp):tm;    
    link(YEAR, STOCKS): R, e; 
    ENDSETS 
    DATA:    
    num=?;    
    tm = 
    1943           1.300          1.225           1.149           1.258997 
    1944           1.103          1.290           1.260           1.197526 
    1945           1.216          1.216           1.419           1.364361 
    1946           0.954          0.728           0.922           0.919287 
    1947           0.929          1.144           1.169           1.057080 
    1948           1.056          1.107           0.965           1.055012 
    1949           1.038          1.321           1.133           1.187925
    1950           1.089          1.305           1.732           1.317130 
    1951           1.090          1.195           1.021           1.240164 
    1952           1.083          1.390           1.131           1.183675 
    1953           1.035          0.928           1.006           0.990108    
    1954           1.176          1.715           1.908           1.526236; 
    ENDDATA 
    CALC: 
    @for(tmatrix(i,j)|j #ge#2 #and# j #le# 4:R(i,j-1)=tm(i,j)); 
    @for(tmatrix(i,j)| j #eq# 5:M(i)=tm(i,j)); 
    mean0=@sum(year: M)/@size(year); 
    s20=@sum(year: @sqr(M-mean0)) / (@size(year)-1); 
    s0=@sqrt(s20); 
    ENDCALC 
    [OBJ] MIN = @sum(stocks(i)|i#eq#num: s2(i)); 
    @for(link(k,i)|i#eq#num: [ERROR] e(k,i) = R(k,i)-u(i)-b(i)*M(k)); @for(stocks(i)|i#eq#num:[VAR] s2(i)=(@sum(year(k): @sqr(e(k,i))) / (@size(year)-2)); [STD] s(i)=@sqrt(s2(i)) ); 
    @for(stocks: @free(u);@free(b) ); 
    @for(link: @free(e) ); 
    END 

    对上面的这个程序,请注意以下几点:

    i)在CALC段直接计算了M 的均值 \tiny m_{0} 和方差 \tiny s_{0}^{2} (为了使这个估计是无偏估计,分母是11而不是12)以及标准差 \tiny s_{0} 。 

    ii)程序中使用了两个常用的数学函数:平方函数@sqr和平方根函数@sqrt。

    iii)除了计算回归系数外,我们同时估计了回归误差的方差 \tiny s_{i}^{2} 和标准差 \tiny s_{i}  。为了使这个估计是无偏估计,计算  \tiny s_{i}^{2}时分母是10而不是11或12,这时因为此时估计了两个参数,自由度少了两个。

    iv)@free(u),@free(b),@free(e)三个语句一定不能少,因为这几个变量不一定是非负的

    v)DATA段定义了一个变量num,并用“num=?”语句表示其具体值需要由使用者在程序 运行时输入。变量num的作用是控制当前对哪只股票进行线性回归(num=1,2,3分别对应于股票 A , B, C)。 

    vi)其实,这个问题也可以对三只股票的回归不加区分,即放在同一个模型中同时优化(相应地,只需要去掉上面程序中的控制变量num和所有的过滤条件“i#eq#num”),不 过这样就会增加变量的个数,我们不建议大家那样做。也就是说,对于能够分解成小规模 问题的优化问题,好一个一个分开做,这样可以减少问题规模,有助于求到比较好的解。

    运行上述LINGO程序,得到的计算结果为:股票指数M 的均值 \tiny m_{0}= 1.191458  ,方差为 \tiny s_{0}^{2} =0.02873661  ,标准差为 \tiny s_{0}= 0.1695188  ;对股票 A,回归系数\tiny u_{1} = 0.5639761,\tiny b_{1} = 0.4407264 ,误差的方差 \tiny s_{1}^{2} = 0.00574832  ,误差的标准差 \tiny s_{1} = 0.07581767  。 

    同理(运行时输入num=2或3),可以得到:对股票B ,回归系数 \tiny u_{2}= - 0.2635028 ,\tiny b_{2} = 1.239799 ,误差的方差 \tiny s_{2}^{2} = 0.01564263  ,误差的标准差\tiny s_{2} =  0.1250705  。对股票C ,回归系数 \tiny u_{3} = - 0.5809592 3  ,\tiny b_{3} = 1.523798  ,误差的方差 \tiny s_{3}^{2}= 0.03025165 ,误差的标准差 \tiny s_{3} =0.17393  。 

    (3)优化模型   

    现在,仍用决策变量 \tiny x_{1},x_{2},x_{3} 分别表示投资人应当投资股票 A ,B ,C 的比例,其中

    \tiny x_{1},x_{2},x_{3}\geqslant 0,\: x_{1}+x_{2}+x_{3}=1              (11)

    此时,与第1节的讨论类似,对应的收益应该表示为 

    (4)模型求解

    为了数据传递方便,我们把三个回归模型同时计算。LINGO程序如下

    MODEL: 
    Title 线性回归模型; 
    SETS: 
        YEAR/1..12/:M;    
        STOCKS/A,  B,  C/: u, b, s2, s;    
        temp/1..5/;       
        tmatrix(YEAR,temp):tm;    
        link(YEAR, STOCKS): R, e; 
    ENDSETS 
    DATA: 
    tm = 
    1943           1.300          1.225           1.149           1.258997 
    1944           1.103          1.290           1.260           1.197526 
    1945           1.216          1.216           1.419           1.364361 
    1946           0.954          0.728           0.922           0.919287 
    1947           0.929          1.144           1.169           1.057080 
    1948           1.056          1.107           0.965           1.055012 
    1949           1.038          1.321           1.133           1.187925 
    1950           1.089          1.305           1.732           1.317130 
    1951           1.090          1.195           1.021           1.240164 
    1952           1.083          1.390           1.131           1.183675 
    1953           1.035          0.928           1.006           0.990108    
    1954           1.176          1.715           1.908           1.526236; @text('data4.txt')=s2; 
    @text('data5.txt')=u; 
    @text('data6.txt')=b; 
    ENDDATA 
    CALC: 
    @for(tmatrix(i,j)|j #ge#2 #and# j #le# 4:R(i,j-1)=tm(i,j)); 
    @for(tmatrix(i,j)| j #eq# 5:M(i)=tm(i,j)); 
    mean0=@sum(year: M)/@size(year); 
    s20=@sum(year: @sqr(M-mean0)) / (@size(year)-1); 
    s0=@sqrt(s20); 
    ENDCALC 
    [OBJ] MIN = @sum(stocks(i): s2(i)); 
    @for(link(k,i): [ERROR] e(k,i) = R(k,i)-u(i)-b(i)*M(k)); 
    @for(stocks(i):[VAR] s2(i)=(@sum(year(k): @sqr(e(k,i))) / (@size(year)-2)); 
    [STD] s(i)=@sqrt(s2(i)) ); 
    @for(stocks: @free(u);@free(b) ); 
    @for(link: @free(e) ); 
    END

    上述二次规划的LINGO程序如下: 

    MODEL: 
    Title 利用股票指数简化投资组合模型; 
    SETS:    
        STOCKS/A,  B,  C/: u, b, s2, x; 
    ENDSETS 
    DATA: 
    mean0=1.191458; 
    s20 = 0.02873661; 
    s2  =  @file(data4.txt); 
    u   =  @file(data5.txt); 
    b   =  @file(data6.txt); 
    ENDDATA 
    [OBJ] MIN = @sum(stocks: (@sqr(b)*s20+s2)*@sqr(x));  
    @sum(stocks: x)=1; 
    @sum(stocks: (u+b*mean0)*x)>1.15; 
    END 

    计算结果为,最后的持股情况是:A大约占初始时刻总资产的54%,B 占27%,C 占19%。这个结果与例5的结果是不同的。 

    其它目标下的投资组合模型

    前面介绍的模型中都是在可能获得的收益的数学期望满足一定低要求的前提下, 用可能获得的收益的方差来衡量投资风险,将其作为小化的目标。这种做法的合理性 通常至少需要有两个基本假设:

    (1)可能获得的收益的分布是对称的(如正态分布)。因为这时未来收益高于设 定的低要求和低于设定的低要求的数量和概率是一样的。可惜的是,实际中这个假设往往难以验证。

    (2)投资者对风险(或偏好)的效用函数是二次的,否则为什么值选择效益(随 机变量)的二阶矩(方差)来衡量风险使之小化,而不采用其它阶数的矩? 一般来说,投资者实际关心的通常是未来收益低于设定的低要求的数量(即低多 少)和概率,也就是说更关心的是下侧风险(downside risk)。所以,如果分布不 是对称的,则采用收益的方差来衡量投资风险就不一定合适。为了克服这个缺陷,可以 用收益低于低要求的数量的均值(一阶矩)作为下侧风险的衡量依据,即作为最小化 的目标。此外,也可以采用收益低于低要求的数量的二阶矩(即收益的半方差, semivariance)作为衡量投资风险的依据。其实,半方差计算与方差计算类似,只是只有当收益低于低要求的收益率时,才把两者之差的平方记入总风险,而对收益高于低要求的收益率时的数据忽略不计。这方面的具体模型这里就不再详细介绍了。 下面介绍一个与上面这些优化目标完全不同的投资组合模型,这个模型虽然很简单,但却会产生一些非常有趣的现象。

    例9  假设市场上只有两只股票 A, B可供某个投资者购买,且该投资者对未来一年的股票市场进行了仔细分析,认为市场只能出现两种可能的情况(1和2)。此外, 该投资者对每种情况出现的概率、每种情况出现时两只股票的增值情况都进行了预测和 分析(见表7,可以看出股票 B A、 的均值和方差都是一样的)。该投资者是一位非常 保守的投资人,其投资目标是使两种情况下小的收益最大化(也就是说,不管未来发生哪种情况,他都能至少获得这个收益)。如何建立模型和求解? 

      (1)优化模型与求解

    设年初投资股票A、 B 的比例分别为 \tiny x_{1},\: x_{2},决策变量\tiny x_{1},\: x_{2}显然应该满足 
         \tiny x_{1},x_{2}\geq 0,\: x_{1}+x_{2}=1          (12) 
    此外,使最小收益最大的“保守”目标实际上就是希望:


    引入一个辅助变量  

     

    这个模型就可以线性化为  


    编写LINGO程序如下:  

    model: 
    sets: 
    COL/1..2/:x; 
    ROW/1..2/; 
    link(ROW,COL):a; 
    endsets 
    data: 
    a=1 1.2 1.5 0.7; 
    enddata 
    max=y; 
    @sum(COL:x)=1; 
    @for(ROW(i):@sum(COL(j):a(i,j)*x(j))>y); 
    End 

    可见,此时应该投资 A、B 股票各50%,至少可以增值10%。

    (2)讨论

    现在,假设有一位绝对可靠的朋友告诉该投资者一条重要信息:如果情形1发生, 股票B 的增值将达到30%而不是表7中给出的20%。那么,一般人的想法应该是增加 对股票B 的持有份额。果真如此吗?这个投资人如果将上面模型中的1.2改为1.3计 算,将得到如下结果: \tiny x_{1} =0.5454545  ,\tiny x_{2} =  0.4545455  , y=1.136364 。

    也就是说,应该减少对股票B 的持有份额,增加对股票 A的持有份额。这真是叫 人大吃一惊!这相当于说:有人告诉你有某只股票涨幅要增加了,你赶紧说:那我马上 把这只股票再卖点吧。之所以出现如此奇怪的现象,就是由于这个例子中的目标的特殊 性引起的:我们可以看到新的解可以保证增值达到13.6364%,确实比原来的10%增 加了。

    最后需要指出:我们上面所有关于投资组合的这些讨论基本上只是纯技术面的讨 论,只利用历史数据来说话,认为历史数据中包含了引起股票涨跌的所有因素。在实际 股票市场上,影响股票涨跌的因素可能有很多(如政策变化、银行加息、能源短缺、技 术进步等),未来不长时间内可能发生的一些重大事件很可能以前没有发生过,因此也 不可能体现在历史数据中。所以,进行投资选择前,还应该进行基本面分析,需要对未 来的一些重要影响因素、重大事件发生的可能性及其对每种股票涨跌的影响进行预测和分析,最后综合利用历史数据和这些预测数据,决定投资组合。如何将这些预测数据与 历史数据一起使用,建立相应的投资组合模型,这里就不再更多地介绍了。这方面的模 型有很多,有兴趣的可以继续查阅相关的专业书籍和研究文献。

    习题:

    某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券及其信用等 级、到期年限、收益如表11所示。按照规定,市政证券的收益可以免税,其它证券的 收益需按50%的税率纳税。此外还有以下限制:

    i)政府及代办机构的证券总共至少要购进400万元;

    ii)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程度越高);

     iii)所购证券的平均到期年限不超过5年。 

     (1)若该经理有1000万元资金,应如何投资?

    (2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?

    (3)在1000万元资金情况下,若证券 A的税前收益增加为4.5%,投资应否改变? 若证券C 的税前收益减少为4.8%,投资应否改变? 

     

     

    展开全文
  • 把离散半方差模型投资组合问题,推广到连续时间情形.引进恰当的状态约束,将原问题转化为一个有约束的随机最优控制问题.利用经典Lagrange理论,将其进一步转化为无约束随机LQ(Li near Quadratic)最优控制问题.进而借助...
  • 论文研究-股票-债券投资组合问题的数学模型及算法.pdf, 针对股票-债券的最优投资组合策略问题, 定义了股票-债券的半绝对偏差风险函数, 建立了考虑不允许买空、不允许卖...
  • 基于MATLAB的最优投资组合问题.pdf
  • 一类投资组合问题的建模与分析.pdf数学建模
  • 利用动态规划方法解决带交易费用的均差模型,给出了有交易费用均差模型的解析解,所得结果应用方便,对投资者的实际投资交易有一定的指导意义。
  • 本文针对标的风险资产和波动率的随机跳跃波动率跳跃扩散 (SJVJD) 模型,处理连续时间消耗的风险规避最优投资组合问题。 新的发展是使用 SJVJD 模型与回报的对数截断双指数跳跃幅度分布和波动性指数跳跃幅度分布的...
  • 数学建模—投资组合问题

    万次阅读 多人点赞 2020-04-24 10:55:01
    数学建模1998国赛赛题A投资模型求解

    引言

     求解问题来之98年的数模赛题(一道比笔者还老的经典老题),在阅读了几篇相关文献的同时,结合建模课给出的ppt汇总成此文。

    上题

    在这里插入图片描述

    一段分析

     不难看出这是一道典型的组合优化题,根据题意,客户希望冒着最小的风险得到最大的收益,想要做这一点,就需要数学的帮助了。同时,问题1与问题2的求解模型是一样的,那么在给出模型的求解方案后,也需要有敏锐的观察力来分析出一些弦外之声,这可能需要结合当时的政策去做一些恰当的分析了(大胆yy)。

    模型建立

     此处笔者珍惜键盘,偷懒直接用笔者的实验报告的内容来做阐述。

    约定符号

    在这里插入图片描述

    多目标模型建立

     根据题意,利用金额M进行投资的过程中,主要需要满足的要求有以下两个:
    1、获得尽可能的大的的收益;
    2、承担尽可能小的风险损失。
    根据题目的两个要求,笔者建立了出对应双目标规划数学模型为:
    在这里插入图片描述

    单目标模型建立

     我们不妨假设客户可以承受的最大风险率为a,则上述的双目标规划模型可以简化成建立成的单目标规划模型为:
    在这里插入图片描述

    模型求解

     此处模型建立完成后,笔者利用求解工具为matlab中的linprog函数,将问题中的相关资产数据代入其中进行求解。

    问题1求解

     针对问题1,可得到对应单目标规划公式:
    在这里插入图片描述

    在求解过程中,笔者将的求解步长定为0.001,假设投资客户的理想承担风险在0-1之间,使用逐步迭代的方式,通过matlab工具实现求得如图1所示的与f的关系图像。
    在这里插入图片描述

     根据图1不难看出,当投资客户的承担风险率与投资的回报率成在前一段区间成单调增的关系,当承担风险率在a=40%或以上时,客户可以获得回报率将趋于平稳且为最优,因此笔者取通过matlab求得所对应的最优解值为:
    y =(0.0000 ,0.2400,0.4000 0.1091,0.2212);f=0.2019。即当在问题1条件下当客户的可承担风险率接近或大于40%时,所对应的投资组合为金额M中的24%投资资产1、40%用于投资资产2、10.91%用于投资资产3、22.1%用于投资资产4,可以得到最大为20.19%回报率。

    问题2求解

     针对问题2,可得到单目标规划公式:
    在这里插入图片描述

    这里求解方式与问题1相同,笔者不做赘述,根据问题的所给的投资资产数据,
    得到如图2所示的与f的关系图像。
    在这里插入图片描述

     根据图2,我们可以得到f关于的变化规律,当客户的可承担风险率接近或大于60%时,可以得到的最大的回报,因此笔者取=0.6,代入模型中通过matlab求解得到:
    y=(0.0000,0.0000,0.0000,0.9434,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000);
    f =0.4094;

     本文主要内容为建模过程的硬核求解部分,其余分析内容,笔者做出省略,请读者自行大胆yy,模型建立求解的过程的不足之处,望读者多加指正。其中代码笔者将分享至账号CSDN主页的资源与Github中,有进一步研究需求的读者可自行移步下载。

    参考文献

    [1]数模课程ppt
    [2]陈云贤,证券投资论,北京工业大学出版社,北京,1992.
    [3]程仕军,系统工程,极大化证券投资组合的投资收益率,1994.

    展开全文
  • 针对结束时间具有不确定性的投资问题,建立以区间风险值(PVaR)度量市场风险的收益最大化投资组合选择模型.PVaR计算的复杂性使得模型难以运用一般优化方法求解,因此提出并证明可以通过求解等效的混合整数规划模型来...
  • 在Markov调制的模式转换市场下研究含有期权的投资组合问题。采用最大化期望终时财富的效用为目标,考虑确定时间水平与不确定时间水平;应用动态规划原理与HJB模型进行求解,得到不同市场模式下的最优投资策略,并且投资...
  • 本文使用标的风险资产和波动率的随机波动率跳跃扩散 (SVJD) 模型来处理连续时间消耗的风险规避最优投资组合问题。 新的发展是使用具有双均匀跳跃幅度分布和时变市场参数的 SVJD 模型来解决最优投资组合问题。 尽管...
  • 基于MATLAB的最优投资组合问题
  • 本文得出了一种方法,该方法通过[1]量化了在具有不确定概率的预期效用下的不确定度(EUUP)。 在此,模糊性是指一阶概率(即自然状态的概率... 基于该度量,我们还通过比较静态讨论了歧义性对投资组合选择问题的影响。
  • 机会约束下的投资组合问题
  • 机会约束下的投资组合问题.pdf
  • 数学建模-一类投资组合问题的建模与分析.PDF
  • 大数据-算法-证券投资组合问题的模型及其有效算法.pdf
  • 大数据-算法-证券投资组合问题研究及改进仿生算法求解.pdf
  • 数学建模-一类投资组合问题的建模与分析.zip
  • 大数据-算法-投资组合问题建模与多目标进化算法的研究.pdf
  • 该算法应用到基于VaR的证券最优投资组合模型中,解决证券投资组合优化的问题,并以上证50指数中成分股于2012年上半年日收盘价格作为测试数据集进行计算,结果表明改进算法所得到的投资比例能够获得较好的收益率。
  • 采用HT∞(X)风险函数衡量组合风险,建立...该模型所反映的均衡关系,可作为投资者进行投资组合的依据。由于风险函数是不可微的,故传统的优化方法在此并不适用。利用非光滑优化方法可以很好地解决该问题并得出其有效前沿。
  • 投资组合问题的多目标综合学习细菌觅食优化

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,972
精华内容 21,988
关键字:

投资组合问题