好久没写文章了,因为最近正在努力的汲取知识,但是其实还是总结成自己的体系更加容易记得住吧。

首先,我们给定投资者的一个效用函数(投资者追求效用最大化,这个应该容易理解)

,其中,A是个人的风险厌恶系数,可以通过问卷得分的方式得出,

是一个约定的值,也可以换成其它的。

分别表示投资组合的收益率。因此,我们本质上就是要使得

最大化。

接下来,我们假设投资组合包括风险资产(股票等)和无风险资产(国库券、短期银行存款等),其中,我们将自己资产的y投资于风险资产,而将(1-y)部分投资于无风险资产,显然:投资组合的期望收益率和标准差分别为:

,其中

是风险资产投资组合的收益率,而

是无风险利率。也就是无风险资产的收益率。

那么到这一步,我们可以发现,如果我们可以知道,如果要使得效用最大化,U对y的偏导要为0,那么,我们易得:

,整理得:

到了这一步,假如

知道,我们就可以求出投资者最佳的在风险资产组合和无风险资产上的配置比例。所以,现在问题的关键是如何求风险资产组合的收益率和方差。

这里,就要用到马科维茨的投资组合理论了,这个理论假设我们知道每种资产的预期收益率(可以用历史数据估算)、方差以及两两资产之间的协方差,那么我们就可以利用马科维茨的投资组合理论计算出来一个有效边际,并且给出最佳风险资产投资组合的收益率、方差、以及每一种风险资产在总的风险投资组合中所占的比重。(这里可以用股票的历史收益率作为数据源,再结合R软件或者Excel软件计算得出),下面是利用excel得出的一个简单的例子:

在我们得出了

之后,最佳的风险资产的无风险资产的比例也很容易知道,从而投资者获得了让自己效用最大化的投资组合。如果有需要R源码或者excel文件模板的可以

私信我(这只是具体实际操作部分了,learning by doing),欢迎一起交流。

但是我感觉这个模型的一些实践上的局限:1、预期收益率其实计算方法不一,而且准确性方面存疑。2、数据一直都在变化,所以可能需要不断调整资产比例,这时候,手续费就成了一个问题。当然,基于这个模型现在肯定已经有了更多的发展,不过我感觉从理论上认识还是很有必要的。

欢迎指正!

利用python构建马科维茨_利用马科维茨投资组合理论构建自己的投资组合相关推荐

  1. 利用python进行数据分析_利用python进行数据分析复现(1)

    一直以来,都想学习python数据分析相关的知识,总是拖拖拉拉,包括这次这个分享也是.<利用python进行数据分析 第2版>是一次无意之间在简书上看到的一个分享,我决定将很详细.一直都 ...

  2. 利用python画曲线_利用python画出AUC曲线的实例

    以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码.1XS免费资源网 直接上代码:1XS免费资源网 from sklearn.datasets import loa ...

  3. 利用python制作拼图_利用python制作拼图小游戏的全过程

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 关注公众号:Python学习指南,回复"拼图"即可获取源码 环境搭建 安装P ...

  4. 利用python画曲线_利用Python绘制血药浓度-时间曲线——口服吸收一室模型

    血药浓度-时间曲线一般是通过拟合所测定的血药浓度点而画出来的,但是在某些时候,如阅读文献时,我们需要根据别人报道的PK参数来画出药时曲线.Python语法简单,拥有丰富的开源库,下面尝试通过Pytho ...

  5. 利用python实现冒泡排序_利用python实现冒泡排序

    1.先生存一个随机数组成的list 2.然后进行排序,把大的元素放在后面,小的元素放在前面,最终实现从小到大排列 首先生存一个随机数组成的list import random # print(sys. ...

  6. python 词云_利用Python生成词云

    利用Python生成词云 一.第三方库的安装与介绍 1.1  Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...

  7. 利用python编写祝福_手把手|教你用Python换个姿势,送狗年祝福语

    春节既是一个阖家团圆的节日,也是一个集中问候亲朋好友.了解近况的机会.但是也有很多人过年也不能聚在一起,所以就会会选择发短信这一方式来表达自己的祝福.其中大多人都是复制转发,让人一眼就看穿,显得自己在 ...

  8. python提醒事件_利用python实现短信和电话提醒功能的例子

    有时候,我们需要程序帮我们自动检测某些事件的发生 这个需求是广泛存在的 因此,这里整理了利用python实现短信和电话提醒功能的方法 主要需要完成以下4个步骤: - 安装核心库:twilio - 注册 ...

  9. 利用python进行数据分析_从删库到跑路

    目录 前言 一 numpy模块 1.numpy的数据结构:多维数组ndarray 数组转置和轴对换 矩阵内积 通用函数 利用数组进行数据处理(矢量化) 将条件逻辑表述为数组运算 数组和统计法方法 约简 ...

  10. 怎么用python编写记事本_利用Python开发实现简单的记事本

    利用Python开发实现简单的记事本 最近想对 python 加深学习一下,同时也是想试着做一些东西,所以使用 python, 结合 Tkinter 来做一个简单的跨平台记事本.最终实现的记事本如下, ...

最新文章

  1. ASP.NET的简单与面向对象开发
  2. JS转换HTML转义符
  3. MySQL连接方式:长连接或者短连接
  4. 【线上分享】高性能视频推理引擎优化
  5. 2种IO并发开发中的设计模式:Reactor and Proactor
  6. oracle 建分区索引_Oracle分区表及分区索引-创建list分区
  7. fail-fast与fail-safe工作机制
  8. 未来的计算机作文 800字,未来科技作文800字
  9. apache配置文件详解
  10. 9W人脸清洗的问题--20170208
  11. Gsoap在QT工程里如何调用
  12. java动态数组储存敌机_如何使用参数通过graphql将动态数组字符串存储为neo4j中的节点属性?...
  13. session 拦截器中获取不到session值_拦截器实现登陆验证
  14. maven安装的详细步骤
  15. jquery升级到新版本报错[jQuery] Cannot read property ‘msie’ of undefined错误的解决方法...
  16. 电子商务数据运营的五大应用
  17. 编程 常用3500汉字 常用字符
  18. 了解并使用Xposed 框架神器
  19. 人脸检测实战终极:使用 OpenCV 和 Python 进行人脸对齐
  20. iPhone没有收到iOS16最新版的推送,如何升级系统?

热门文章

  1. 计算机无法连接网络打印机,网络打印机无法连接的解决方法是什么
  2. 跟『我的2017』做个了结
  3. maltab datenum函数与正则表达式巧用:逐日数据转为逐月数据、日序转月序
  4. idea git 各种颜色代表的含义
  5. 《行为设计学》听后感及听书笔记
  6. 第三阶段应用层——1.7 数码相册—电子书(1)—实现
  7. ASIC 芯片 PVT
  8. 动态规划——01背包——精卫填海
  9. html css js实现快递单打印_Node.js开发RPA自动抓取网页的文字内容
  10. [2019/12]饮水姑苏,止于至善