MATLAB金融工具箱投资组合函数的调用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ConSet
线性规划求解
• 利用x=linprog(f,A,b,Aeq,beq,lb,ub)对方程进行规 划求解。 • 题目:3个资产权重分别为a,b,c,收益率分 别为0.1,0.2,0.15,a+c≤b求整个资产组合的 最大收益? • 分析:本题本质是求方程f=0.1a+0.2*b+0.15*c 的最大值。约束条件有: a+c≤b,隐含条件: a+b+c=1(权重之和为1),abc均是小于等于1 的整数。
[ExpReturn, ExpCovariance, NumEffObs] = ewstats(RetSeries, DecayFactor, WindowLength)
• RetSeries %收益率序列。NUMOBS*NASSETS。 • DecayFactor %(Optional)被加权后的每一次观察 少于它发生器的控制数量,第k次观察的权重 是DecayFactor^k。DecayFactor的范围是(0,1 ] , 默认值=1,表示等权重的线性移动平均模型 (BIS) • Default = 1, the equally weighted linear moving average model (BIS). • WindowLength %(Optional)计算时最近的观察 数量。默认值=NUMOBS,其中NUMOBS表示观 察的数量。
AssetMin (required)资产的最小分配AssetMax (required)资产的最大分配NumAssets (optional) Groups (required)NGROUPS*NASSETS 矩阵表示 属于每一组的资产。GroupMin (required)每一 组最小分配。GroupMax (required)每一组最大 分配
[RiskyRisk, RiskyReturn, RiskyWts, RiskyFraction, OverallRisk, OverallReturn] = portalloc(PortRisk,
PortReturn, PortWts, RisklessRate, BorrowRate,
RiskAversion)
• PortRisk %有效前沿上每一风险资产的标准差, (投资组合的个数)NPORTS* 1的向量。 • PortReturn %有效前沿上每一风险资产的预期回报, NPORTS* 1的向量。 • PortWts %有效前沿上每一资产的权重分配 % NPORTS*NASSETS矩阵 • RisklessRate %无风险贷款利率。小数形式。 • BorrowRate %(Optional)借款利率,小数形式。默认 为没有借贷NaN。 • RiskAversion %(Optional)投资者的风险厌恶系数,大 多数投资者的风险厌恶系数在2~4之间,默认值为3。
求有效前沿(有效边缘线)
• [PortRisk,PortReturn,PortWts]=portopt(ExpRetur n,ExpCovariance,NumPorts,PortReturn,
ConSe
t,varargin)
• 返回值 • 单独输入 portopt(ExpReturn,ExpCovariance,NumPorts,Port Return, ,varargin) • 返回图形
[PortRisk, PortReturn] = portstats(ExpReturn, ExpCovariance, PortWts)
• ExpReturn %1*NASSETS(资产数量)的向 量,表示资产期望收益。 • ExpCovariance % NASSETS*NASSETS 资产收 益协方差矩阵 • PortWts %(Optional Number of portfolios) NPORTS by NASSETS资产权重矩阵。每一行 表示一个不同的权重组合。NPORTS表示投 资组合的数量,默认值=1/ NPORTS(即权重 相等)
Matlab 投资组合函数调用 函数注解
同济matlab兴趣小组2011年11月 2011TJ jinzhuan
• • • • •
一:相关系数矩阵与协方差矩阵相互转化 如何计算有效边界?如下(二~八) 二:收益率序列和价格序列之间的转化 三:计算预期收益和协ቤተ መጻሕፍቲ ባይዱ差 四:投资组合的预期收益率和标准差
• • • •
单个资产含约束条件矩阵
• 调用函数:[A,b] = pcalims(AssetMin, AssetMax, NumAssets) • 参数解释: • AssetMin %每一资产的最小分配,没有限制为 NaN。如标量NaN或向量[m n NaN] • AssetMax %每一资产的最大分配,没有限制为 NaN。如标量NaN或向量[m n NaN] • NumAssets %(Optional) 资产数量,默认为 AssetMin或AssetMax的长度。 • A*PortWts’<=b
• RetSeries %收益率序列 • StartPrice %起始价格,默认值为1 • RetIntervals %收益率序列的时间间隔,默认值 为1 • StartTime %开始时间,默认值0 StartTime=datenum(’06-Mar-2007’) =733107 • datestr(733107)= 06-Mar-2007 • Method % Method='Simple'(默认),表示简单 加减收益率. If Method='Continuous', 表示复合 收益率,Pt+1=Pt*e^(rt+1)
Custom
限制条件A*PortWts' <= b.
A (required). NCONSTRAINTS*NASSETS矩阵,不等 式中资产的权重。 b (required). Vector of length NCONSTRAINTS不 等式的右边,其中NCONSTRAINTS表示约束条 件的个数。
资产分配的最大最小值
资产组的最大最小分配
GroupComparison
组与组的比较约束
GroupA (required). NGROUPS-by-NASSETS 表示 比较中的第一组 AtoBmin (required)组A与组B分配资产的最小比 率。 AtoBmax (required). 组A与组B分配资产的最大 比率。 GroupB (required). NGROUPS*NASSETS 第二组。
带有约束条件的资产组合
• ConSet = portcons('PortValue', PVal, NumAssets,'AssetLims',AssetMin, AssetMax, NumAssets, 'GroupComparison',GroupA, NaN,AtoBmax, GroupB)
[RetSeries, RetIntervals] = tick2ret(TickSeries, TickTimes, Method)
• TickSeries %价格序列矩阵,可以是多个资 产价格序列,最后一行为最新的时间观察 价,依次往上。 • TickTimes %(Optional)时间,若是空的,则 按1,2,3,4…排序。 • Method %(Optional)Method='Simple'(默 认), tick2ret表示简单加减收益率. If Method='Continuous', 表示复合收益率
五:投资组合的有效前沿(CAL efficient frontier) 六.单个资产含约束条件矩阵 七:有效前沿投资组合的最优资产分配 八.带有约束条件的资产组合
• 其他: • 九.线性规划求资产组合问题
[TickSeries, TickTimes] = ret2tick(RetSeries, StartPrice, RetIntervals, StartTime, Method)
解:依次输入
>> f=[-0.1 -0.2 -0.15] % 目标函数0.1a+0.2b+0.15c 求投资组合的最大收益 >> A=[1 -1 -1] >> b=0 %设定约束条件:A+c<=b >> Aeq=[1 1 1] >> beq=1 %设定约束:A+b+c=1 >> lb=[0 0 0] %设定下边界,lb=[0 0 0]为下边界。 >> ub=[1 1 1] %设定上边界,ub为上边界。 >>x=linprog(f,A,b,Aeq,beq,lb,ub) 得到结果。
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn, ExpCovariance, NumPorts, PortReturn, AssetBounds, Groups, GroupBounds, varargin)
• NumPorts %(optional)有效前沿上的点的个数,默认值=10 • PortReturn %(optional)有效前沿上,每个点的回报。默认为, 最大最小做平均得到值。 • AssetBounds %(Optional)投资组合分配到每一种资产上的权重 的最小和最大值,是2*NASSETS矩阵。所有资产下界的默认值 =0(没有卖空),商界的默认值=1(表示该资产构成整个投资 组合) • Groups %(Optional)NGROUPS(资产组的个数)*NASSETS矩 阵,表示NGROUPS个资产组和资产类。每一行表示一组。 Group(i,j)=1,表示第j个资产属于第i组,Group(i,j)=0, 表示第j个资产不属于第i组。 • GroupBounds %(Optional) NGROUPS*2 矩阵,表示每一组的权 重约束区间,下界默认值=0,上界默认值=1。
Constraint Type
Description
Values
Default PortValue AssetLims GroupLims
所有资产权重>= 0; 禁止卖空。权 重之和为1 投资组合的总值固定为PVal
NumAssets (required)
PVal (required). 投资组合总值 NumAssets (required). 组合资产数