❶ python实现资产配置(2)--Blacklitterman 模型
在 python实现资产配置(1)----Markowitz 投资组合模型 中, 我们已经见过如何使用Markowitz求得最优资产配比. 这是一种在已知未来各资产的概率分布,然后再求解的方法.
Markowitz模型输入参数包括历史数据法和情景分析法两种方法,情景分析法的缺点是主观因素,随意性太强,因此使用历史数据法, 将资产的均值和协方差输入模型是比较常见的作法. 不过, 不足之处很明显: 未来的资产收益率分布不一定与过去相同. 此外, Markowitz 模型结果对输入参数过于敏感.
Black-Litterman模型就是基于此的改进. 其核心思想是将投资者对大类资产的观点 (主观观点) 与市场均衡收益率 (先验预期收益率)相结合,从而形成新的预期收益率(后验预期收益率). 这里的先验预期收益率的分布可以是贝叶斯推断中的先验概率密度函数的多元正态分布形式,投资者的主观观点就是贝叶斯推断中的似然函数(可以看作新的信息, 因为做出主观判断必然是从外界获取得到了这些资产的收益率变化信息), 而相应的, 后验预期收益率也可以从后验概率密度函数中得到. 具体的推导可以看我的这篇文章: 从贝叶斯定理到贝叶斯推断 .
BL模型的求解步骤包括下面几步:
(1) 使用历史数据估计预期收益率的协方差矩阵作为先验概率密度函数的协方差.
(2) 确定市场预期之收益率向量, 也就是先验预期收益之期望值. 作为先验概率密度函数的均值. 或者使用现有的期望值和方差来反推市场隐含的均衡收益率(Implied Equilibrium Return Vector), 不过在使用这种方法时, 需要知道无风险收益率 的大小.
(3) 融合投资人的个人观点,即根据历史数据(看法变量的方差)和个人看法(看法向量的均值)
(4) 修正后验收益.
是均衡收益率协方差的调整系数,可以根据信心水平来判断. 是历史资产收益率的协方差矩阵, P是投资者的观点矩阵, 是似然函数(即投资者观点函数)中的协方差矩阵,其值为 的对角阵, 是先验收益率的期望值.
(5) 投资组合优化: 将修正后的期望值与协方差矩阵即 重新代入Markowitz投资组合模型求解.
(1)定义求解函数,输入为投资者观点P,Q以及目前资产的市场收益率矩阵,输出为后验的市场收益率和协方差矩阵.
(2) 实列分析
我们继续研究 python实现资产配置(1)----Markowitz 投资组合模型 中的五支股票: 白云机场, 福建高速, 华夏银行, 生益科技和浙能电力. 假设现在分析师的观点为:
获取股票数据, 并且获得后验的均值和方差:
这时候,已经可以使用Markowitz模型进行资产的配置. 定义新的函数blminVar以求解资产配置权重. 该函数的输入变量为blacklitterman函数的输出结果, 以及投资人的目标收益率goalRet.假设目标收益率为年化70%,则goalRet = 0.7:
输出结果为:
0-5分别对应上面的五只股票.
❷ 根据马科维茨的证券投资组合理论,投资者应如何决定其最优的资产组合
1.根据马科维茨模型定义,我们得到最小风险组合中各组成资产的精确权重,如下图所示。在这个投资组合中,10 只股票样本中的资产仍然存在比重分配差异。值得注意的是,收益率最高的贵州茅台和恒瑞医药的分配比例并不高,分别占总投资组合的 0.64% 和 8.91%。获得最大权重分配的是中国银行和农业银行,分别占 28.67% 和 23.84%,其收益率分别是 -0.27% 和 -6.69%。最小风险组合的平均收益为 2.95%,风险水平为 13% 。该投资组合的夏普比率为 0.211。
2.资产配置“太祖”:马科维茨平均方差模型(1990年诺贝尔经济学奖)最早的模型只考虑了三个维度的变量:资产的预期收益,预期波动率,以及资产之间的相关性。我们知道,一个理性的投资者总是希望资产的回报越高越好,风险越小越好。也就是说,我们总是希望在风险确定的情况下使预期收益率最大化,或者在预期收益率确定的情况下使风险最小化。基于这一思想,马科维茨和威廉·夏普分别获得了诺贝尔经济学奖。事实上,这种逻辑很容易在数学上实现。我们用资产回报率除以风险的比率来衡量资产的表现。Sharp ratio, treno ratio和sotino ratio都采用了这种方法。对于一篮子股票或一篮子大型资产,我们只需要给这些资产赋予不同的权重,建立一个资产组合,计算资产组合的收益、风险和收益风险比指数,然后重复前面的步骤(例如10000次),给资产赋予不同的权重,计算资产组合的回报风险比,最后,我们比较这10000次的回报风险比的大小,其中回报风险比最大的资产组合就是我们寻找的最优组合。
3.例如,经典的股票债券模型就是由此衍生出来的60%股票+ 40%债券的经典组合。虽然这种组合分散了一些风险,但由于资产只有两种类型,降低风险是远远不够的。特别是随着炫目的金融投资产品的发展,传统的股票债券模式已经不够好。
❸ python实现资产配置(1)----Markowitz 投资组合模型
现假设有A, B, C, D, E五只股票的收益率数据((第二日收盘价-第一日收盘价)/第一日收盘价)), 如果投资人的目标是达到20%的年收益率,那么该如何进行资产配置,才能使得投资的风险最低?
更一般的问题,假设现有x 1 ,x 2 ,...,x n , n支风险资产,且收益率已知,如果投资人的预期收益为goalRet,那么该如何进行资产配置,才能使得投资的风险最低?
1952年,芝加哥大学的Markowitz提出现代资产组合理论(Modern Portfolio Theory,简称MPT),为现代西方证券投资理论奠定了基础。其基本思想是,证券投资的风险在于证券投资收益的不确定性。如果将收益率视为一个数学上的随机变量的话,证券的期望收益是该随机变量的数学期望(均值),而风险可以用该随机变量的方差来表示。
对于投资组合而言,如何分配各种证券上的投资比例,从而使风险最小而收益最大?
答案是将投资比例设定为变量,通过数学规划,对每一固定收益率求最小方差,对每一个固定的方差求最大收益率,这个多元方程的解可以决定一条曲线,这条曲线上的每一个点都对应着最优投资组合,即在给定风险水平下,收益率最大,这条曲线称作“有效前沿” (Efficient Frontier)。
对投资者而言,不存在比有效前沿更优的投资组合,只需要根据自己的风险偏好在有效前沿上寻找最优策略。
简化后的公式为:
其中 p 为投资人的投资目标,即投资人期待的投资组合的期望值. 目标函数说明投资人资产分配的原则是在达成投资目标 p 的前提下,要将资产组合的风险最小化,这个公式就是Markowitz在1952年发表的'Portfolio Selection'一文的精髓,该文奠定了现代投资组合理论的基础,也为Markowitz赢得了1990年的诺贝尔经济学奖. 公式(1)中的决策变量为w i , i = 1,...,N, 整个数学形式是二次规划(Quadratic Programming)问题,在允许卖空的情况下(即w i 可以为负,只有等式约束)时,可以用拉格朗日(Lagrange)方法求解。
有效前缘曲线如下图:
我们考虑如下的二次规划问题
运用拉格朗日方法求解,可以得到
再看公式(1),则将目标函数由 min W T W 调整为 min 1/2(W T W), 两问题等价,写出的求解矩阵为:
工具包: CVXOPT python凸优化包
函数原型: CVXOPT.solvers.qp(P,q,G,h,A,b)
求解时,将对应的P,q,G,h,A,b写出,带入求解函数即可.值得注意的是输入的矩阵必须使用CVXOPT 中的matrix函数转化,输出的结果要使用 print(CVXOPT.solvers.qp(P,q,G,h,A,b)['x']) 函数才能输出。
这里选取五支股票2014-01-01到2015-01-01的收益率数据进行分析.
选取的五支股票分别为: 白云机场, 华夏银行, 浙能电力, 福建高速, 生益科技
先大体了解一下五支股票的收益率情况:
看来,20%的预期收益是达不到了。
接下来,我们来看五支股票的相关系数矩阵:
可以看出,白云机场和福建高速的相关性较高,因为二者同属于交通版块。在资产配置时,不利于降低非系统性风险。
接下来编写一个MeanVariance类,对于传入的收益率数据,可以进行给定预期收益的最佳持仓配比求解以及有效前缘曲线的绘制。
绘制的有效前缘曲线为:
将数据分为训练集和测试集,并将随机模拟的资产配比求得的累计收益与测试集的数据进行对比,得到:
可以看出,在前半段大部分时间用Markowitz模型计算出的收益率要高于随机模拟的组合,然而在后半段却不如随机模拟的数据,可能是训练的数据不够或者没有动态调仓造成的,在后面写策略的时候,我会加入动态调仓的部分。
股票分析部分:
Markowitz 投资组合模型求解
蔡立专:量化投资——以python为工具. 电子工业出版社
❹ 股市具有几种经典理论
所谓股票投资理论( Stock Investment Theory),就是指以有效规避股市风险和获取最大收益为研究视角,以股价形成机理和股市运行规律为研究内容,以股市波动方向与空间为研究对象,以多种学科知识为研究方法和手段,以投资机会和风险评估为研究框架的认识论与方法论体系的总和。
有代表性的股票投资理论包括:随机漫步理论、现代资产组合理论、有效市场假说、行为金融学、演化证券学等。
温馨提示:以上内容,仅供参考。
应答时间:2021-08-02,最新业务变化请以平安银行官网公布为准。
[平安银行我知道]想要知道更多?快来看“平安银行我知道”吧~
https://b.pingan.com.cn/paim/iknow/index.html