金融大数据分析-Jupyter-Python3-资产定价模型-CAPM
一、如何做资产定价模型CAPM?
任务1. 建立CAPM模型,并做回归分析,对阿发值和贝塔值进行解释和分析(无风险收益率为国债的年化收益(3.6%))
任务2. 对Beta系数和贝塔值进行解释和分析(到网上阅读CAPM模型介绍,然后进行详细分析)
任务3. 预测:估计预期收益率并与实际收益率进行比较
二、代码步骤
1.全部代码
代码如下(示例):
import pandas as pd
import matplotlib.pyplot as plt
import tushare as ts
%matplotlib inline
ticker = ‘sh’
#获取上证综指的历史交易数据
Market = ts.get_hist_data(ticker,‘2022-01-01’,‘2022-03-23’)
Market.head()
Market.index=pd.to_datetime(Market.index)
Market.sort_values(by=“date”,inplace=True)
retM=(Market.close-Market.close.shift(1))/Market.close.shift(1)
#给序列取名字
retM.name=‘Mret’
retM.dropna(inplace=True)
retM.head()
#获取中国联通的数据
#获取个股历史交易数据
Xin_an=ts.get_hist_data(“600050”,‘2022-01-01’,‘2022-03-23’)
Xin_an.head()
Xin_an.index=pd.to_datetime(Xin_an.index)
Xin_an.sort_values(by=“date”,inplace=True)
retS=(Xin_an.close-Xin_an.close.shift(1))/Xin_an.close.shift(1)
retS.name=‘Sret’
retS.dropna(inplace=True)
retS.head()
Ret=pd.merge(pd.DataFrame(retS),pd.DataFrame(retM),left_index=True,right_index=True,how=‘inner’)
Ret.head()
Ret.tail()
#计算日无风险收益率
rf=(1+0.036)**(1/360)-1
rf
#计算股票超额收益率和市场风险溢酬
Ret.head()
Eret=Ret-rf
Eret.columns=[“LSret”,“RMret”]
Eret.head()
#中国联通和上阵综指收益之间的关系散点图
plt.scatter(Eret.LSret,Eret.RMret)
plt.title(‘XinAnGuFen return and market return’)
#构建CAPM模型 并进行拟合运算,基于公式的
import statsmodels.formula.api as smf
model1 = smf.ols(‘LSret~RMret’,data=Eret)
result1 =model1.fit()
result1.summary()
#基于数组的
import statsmodels.api as sm#导入统计模型
model=sm.OLS(Eret.LSret[:],sm.add_constant(Eret.RMret[:]))
result2=model.fit()
result2.summary()
#绘制拟合图
y=Eret.LSret
x=Eret.RMret
fig,ax =plt.subplots(figsize=(8,6))
ax.plot(x,y,‘o’,label=“data”)
ax.plot(x,result1.fittedvalues,‘r–’,label=“OLS”)
ax.legend(loc=“best”)
#第一步 获取2022年4月上证指数收益率
ticker =‘sh’
Market2022 = ts.get_hist_data(ticker,‘2022-03-24’,‘2022-04-23’)
Market2022.head()
Market2022.index=pd.to_datetime(Market2022.index)
Market2022.sort_values(by=“date”,inplace=True)
retM1=(Market2022.close-Market2022.close.shift(1))/Market2022.close.shift(1)
retM1.name=‘Mret1’#给序列取名字
retM1.dropna(inplace=True)
retM1.head()
#计算2022年4月上证综指指数风险溢酬
Emktret2022=(retM1-rf)
Emktret2022.name=‘Emktret2022’
Emktret2022.head()
#用result模型进行预测
prediction2022=result1.predict(sm.add_constant(Emktret2022),transform=False)
prediction2022.name=“pre2022”
prediction2022.head()
plt.figure(figsize=(8,5))
plt.plot(prediction2022)
plt.xticks(rotation=45)
#获取中国联通2022年4月股票数据
ticker=‘600050’
BC2022=ts.get_hist_data(ticker,‘2022-03-24’,‘2022-04-23’)
BC2022.head()
BC2022.index=pd.to_datetime(BC2022.index)
BC2022.sort_values(by=“date”,inplace=True)
Simpleret=(BC2022.close-BC2022.close.shift(1))/BC2022.close.shift(1)
Simpleret.name=‘BC2022’
Simpleret.head()
EBC2022=Simpleret-rf
EBC2022.name=‘EBC2022’
EBC2022.dropna(inplace=True)
EBC2022.head()
EBC2022.plot()
#合并数据,通过图形进行拟合分析
Pred2022=pd.merge(pd.DataFrame(EBC2022),pd.DataFrame(prediction2022),left_index=True,right_index=True,how=‘inner’)
Pred2022=Pred2022.sort_index(ascending=True)
Pred2022.head()
Pred2022.plot()
喜欢点个赞吧~
金融大数据分析-Jupyter-Python3-资产定价模型-CAPM相关推荐
- 金融科技、算法交易、量化金融必读书:Python金融大数据分析第2版
银行本质上是技术公司. --胡戈•班齐格 近来,Python无疑是金融业的重要策略性技术平台之一.到2018年底,这已经不再是个问题:全世界的金融机构现在都尽最大努力利用Python及其强大的数据分析 ...
- python金融大数据分析视频_Python金融大数据分析 PDF 全书超清版
给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python金融.大数据分析方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小47.8 MB,希尔皮斯科编写,目前豆瓣.亚马逊. ...
- python与金融数据分析论文_python 金融大数据分析 pdf
python 金融大数据分析 pdf相关的博客 查看更多 写博客 作者: skin778 966人浏览 评论数:0 6个月前 ![5_6_3](https://yqfile.alicdn.com/b5 ...
- python金融大数据分析笔记----第十章 2(风险测量)
10.4 风险测量 VaR CVaR 10.4.1. 风险价值(Var) VaR(Value at Risk,风险价值或风险溢价)是度量一项投资或投资组合可能产生的下跌风险的方法,它描述的是在一定的概 ...
- 基于IDSS和Machine Learning的零售金融大数据分析(二)
基于IDSS和Machine Learning的零售金融大数据分析(二) 接上一篇简要分析了Fintech的发展对银行业的影响,金融大数据诞生背后原因,本篇将继续讨论下面话题: 1. 金融 ...
- 计算机编程书籍-Python金融大数据分析
Python金融大数据分析 [德] 伊夫·希尔皮斯科(Yves Hilpisch) 著,姚军 译 ISBN:9787115521330 包装:平装 开本:16开 正文语种:中文 出版社:人民邮电出版社 ...
- python金融数据分析电子版_python 金融大数据分析 pdf
书籍:Python金融大数据分析 Python for Finance_ Mastering Data-Driven Finance 2nd - 2019.pdf 简介 金融业最近以极高的速度采用了P ...
- python for finance pdf_python金融大数据分析 pdf
书籍:Python金融大数据分析 Python for Finance_ Mastering Data-Driven Finance 2nd - 2019.pdf 简介 金融业最近以极高的速度采用了P ...
- Python金融大数据分析:用pandas处理金融时间序列数据的基础知识
时间是阻止所有事情同时发生的力量.--雷•卡明斯 本节使用的是以CSV文件形式在本地存储的金融数据集形式为本地存储的CSV文件.从技术上讲,CSV文件是包含数据行结构的文本文件,其特征是以逗号分隔单个 ...
最新文章
- SpringBoot 2.0 系列001 -- 入门介绍以及相关概念
- Unity学习笔记 - Assets, Objects and Serialization
- 史上最全Redis面试题及答案。
- log4net在winform中release后不工作的原因
- c/c++ / printf 实现
- OpenCV计算时刻calculate moments的实例(附完整代码)
- 用幻灯片做完整的“一站到底”抢答器
- Spring MVC和Spring Boot的概念以及比较
- 进程间通信程序设计1
- qt qml fuzzyPanel 毛玻璃效果
- oracle行列互换sql,Oracle实现行列转换的方法分析
- 广数25i系统倒刀回刀m代码_史上最全数控系统代码信息!错过没有了!
- php 车架号校验规则,JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
- ruoyi-cloud代码生成(跨数据库)
- Zabbix-agent在Windows下安装报[8576]:ERROR:cannot connect to Service Manager:[0x00000005]错误的解决...
- 一元二次方程abc决定什么_二次函数中的a,b,c各决定什么?
- scons构建mdk工程
- 苹果报告问题_苹果或因5G价格阉割iPhone 12电池规格,续航堪忧
- 小米手机 adbinterface_啥?消息称小米正在研发1.5亿像素镜头手机
- Exception in thread main java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()L