实验要求:

  1. 选择5只在上交所上市交易的股票的月度收益率(近10年);
  2. 对每只股票估计CAPM模型和Fama-French五因子模型,解释估计量的金融含义;
  3. 从两个模型的估计结果,你能得到哪些结论?

step1:获得实验数据

method1:通过url下载(网易财经提供的数据)
浦发银行

http://quotes.money.163.com/service/chddata.html?code=0600000&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

中国人寿

http://quotes.money.163.com/service/chddata.html?code=0601628&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

中国银行

http://quotes.money.163.com/service/chddata.html?code=0601988&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

工商银行

http://quotes.money.163.com/service/chddata.html?code=0601398&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

广电网络

http://quotes.money.163.com/service/chddata.html?code=0600831&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

沪深300(作为市场基准

http://quotes.money.163.com/service/chddata.html?code=0000300&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

XD东方证(国债股票,作为无风险资产

http://quotes.money.163.com/service/chddata.html?code=0600958&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

PS:如果想得到其他股票的数据,直接对以上url进行修改即可

举例:

http://quotes.money.163.com/service/chddata.html?code=0601398&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

  • 第一个高亮的地方换成你想要的股票代码;
  • 第二个高亮指的是要获得什么时间之前的数据;
  • 最后的那些大写单词fields为你想要获得该只股票的哪些数据(即对应获得哪些表头,如开盘价,闭盘价,涨跌幅等)

PS in PS:如果需要收集多支股票的数据,可自行设计爬虫,下面给出参考(拼接字符串,然后get,get和handle res的方式每种语言不一样,自行设计):

var url = "";
var urlHead = "http://quotes.money.163.com/service/chddata.html?code=0";
var urlBody = "&end=";
var urlTail = "&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP";var dataCode = 600000;
// for example: nums == 10, date == 20201231
var nums = 10;
const date = 20201231;
for (var i = 0, i <= nums, i++) {dataCode ++;url = "" + urlHead + datatCode + url + urlBody + date + urlTail;// TODO:// get urls you have just spliced and save the result as csv format
}

method2:使用stata中的第三方命令获取数据(比较方便)

在stata命令窗口依次输入如下命令:

  • 安装cntrade命令:
ssc install cntrade, replace
  • 通过股票代码download数据(如下载工商银行的数据):
cntrade 601398

处理数据:

// TODO:
// your command here to process the data you have just downloaded

效果:

上述两个命令运行完成后,再打开数据编辑器,可以看到数据已经拉下来了:


Step2:CAPM模型介绍

CAPM formula:
E(Ri)=Rf+βi(Rm−Rf)E(R_i)=R_f+β_i(R_m-R_f)E(Ri​)=Rf​+βi​(Rm​−Rf​)
ororor
E(Ri)−Rf=βi(Rm−Rf)E(R_i)-R_f=β_i(R_m-R_f)E(Ri​)−Rf​=βi​(Rm​−Rf​)
Formula specification:

  • Rm :市场投资组合的收益率,他的作用是作为一个基准,在本实验中,选用沪深300;
  • Rf :代表无风险资产收益率,如国债,本实验选用XD东方证(我不是金融专业,所以不知道这个XD是不是国债,反正百度上说是,如果不是,换成是国债的就行了);
  • βi单项(或投资组合,以下"单项"都也可以是投资组合,看你是拿一只股票分析还是拿一个组合了)的Beta值,大于1代表该单项资产的风险收益率高于市场组合(大盘)平均风险收益率,小于1即单项小于大盘,等于1即单项与大盘呈同比例变化,如果为负,说明单项与大盘波动方向相反,这应该就是本实验要估计的那个值
  • Ri - Rf :是单项比无风险资产高出的期望收益率,称作风险溢酬

在本次实验中各参数的对应(!note:我这里就直接用日收益率了,实验要求的是月收益率):

  • Rm :沪深300的日收益率;
  • Rf :XD东方证的日收益率;
  • E(Ri) :选的是吉比特的股票,股票代码603444,Click here:数据url

Step3:数据处理(by CAPM模型)

感觉国债那个选的不对,XD这个名字就感觉不靠谱,换成了000012(国债指数),url如下:

http://quotes.money.163.com/service/chddata.html?code=0000012&end=20201231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

需要三个数据文件(从左→右依次为:吉比特数据[作为RiR_iRi​],沪深300数据[作为RmR_mRm​],国债指数数据[作为RfR_fRf​]):

打开一个文件(下图为工行的数据,真实的实验中用的是吉比特的数据),应该要的是日期数据和第10列数据[PCHG](日收益率,实验要求是月,感觉道理一样,从这个表里也可以算出月收益率,没搞,就用日收益率了),英语环境OS所以中文表头乱码了:

图省事,这里我就直接用Excel把这个三个文件中的这列数据提取出来了,搞成这样,4个表头对应Stata中的4个Variables —— date,ri,rm 和 rf(下图的ri列是工行的数据,实验中换成吉比特的数据了):

导入数据到Stata,发现date的数据是红色,证明格式不对,引用此blog中的方法成功解决:


solution to date format:

命令窗口中输入命令(以原date变量为source,新建变量b):

gen d=date(date,"YMD")

之后编辑变量b的格式:

选择日期格式:

新建的变量d表示的日期不红了:

可以把之前的变量date干掉了,再把新变量d重命名为date:

drop date
rename d date

将数据格式设置为时间序列:

tsset date

CAPM formula recall: E(Ri)−Rf=βi(Rm−Rf)E(R_i)-R_f=β_i(R_m-R_f)E(Ri​)−Rf​=βi​(Rm​−Rf​)

新建一个变量 rirf 存放 ri 与 rf 的差值:

gen rirf = ri - rf

再新建一个变量 rmrf 存放 rm 与 rf 的差值:

gen rmrf = rm - rf

针对这两个变量做回归,拟合出β系数:

reg rirf rmrf

查看结果,拟合出的β约等于0.889:


也就是说,在这个股票中:
E(Ri)−Rf≈0.889(Rm−Rf)E(R_i)-R_f≈0.889(R_m-R_f)E(Ri​)−Rf​≈0.889(Rm​−Rf​)
ororor
E(Ri)≈Rf+0.889(Rm−Rf)E(R_i)≈R_f+0.889(R_m-R_f)E(Ri​)≈Rf​+0.889(Rm​−Rf​)
结论:
在其它条件不变的情况下,市场超额收益(即rm-rf)变动1单位,吉比特超额收益(即ri-rf)变动0.889个单位

PS:
数据类型问题:第一次用stata,一开始导入数据的时候,踩了几个坑,都是数据格式的问题,对于string类型变量,int类型变量和float类型变量之间的转换需要注意
missing values generated 问题:(onging…)

Attached:
附上述过程的全部命令log:


Step4:Fama-French五因子模型介绍

引自blog:利用Fama-French五因子模型的alpha进行行业轮动
Fama和French(2015)将先前的三因子模型扩展到五因子模型,认为新的五因子模型可以更好地描述横截面上的收益率。他们在市场风险溢价规模(SMB)和价值(HML)因子的基础上添加了两个新因子,即盈利能力(RMW)和投资(CMA)

Fama-French formula:
Rit−rft=αit+βim∗(Rmt−rft)+βiSMB∗SMBt+βiHML∗HMLt+βiRMW∗RMWt+βiCMA∗CMAt+εitR_{it}-r_{ft}=α_{it}+β_{im}*(R_{mt}-r_{ft})+β_{iSMB}*SMB_t+β_{iHML}*HML_t+β_{iRMW}*RMW_t+β_{iCMA}*CMA_t+ε_{it}Rit​−rft​=αit​+βim​∗(Rmt​−rft​)+βiSMB​∗SMBt​+βiHML​∗HMLt​+βiRMW​∗RMWt​+βiCMA​∗CMAt​+εit​
Formula specification:

  • Rit−rftR_{it}-r_{ft}Rit​−rft​是行业i超过无风险收益率的超额收益,就是CAPM里的那个"风险溢酬";
  • Rmt−rftR_{mt}-r_{ft}Rmt​−rft​是市场风险溢价,可以理解为大盘减去国债的值(就是大盘减去无风险收益率,在上面的CAPM模型中也有这一项);
  • SMB是小型公司与大型公司之间的收益率差异,它模仿了规模风险;
  • HML是高账面市值比与的账面市值比公司之间的收益率差异,它模仿了价值风险;
  • RMW是盈利因子,它是盈利能力最强的公司与盈利能力最弱的公司的收益率差异;
  • CMA是投资因子,是投资保守的公司的收益率减去积极投资的公司的收益率;
  • α表示投资者获得的高于考虑了以上这些因子的期望收益率的超额收益

Step5:数据处理(by Fama-French五因子模型)

typing…
learning…
and focusing…


Thanks to:

  • reference 1:线性回归计算个股β值
  • reference 2:python量化选股入门
  • reference 3:Stata实验-计算"上海机场"的CAPM模型的β值
  • reference 4:CFHW数据实操
  • reference 5:利用Fama-French五因子模型的alpha进行行业轮动
  • reference 6:Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

计算个股CAPM模型和Fama-French五因子模型(by Stata16MP)相关推荐

  1. Fama—French五因子模型在中国股票市场适用吗?

    资产定价历来是金融经济学研究的核心问题.自Sharpe,Lintner,Treynor等于1964年提出资本资产定价模型(CAPM)以来,通过单一风险因素确定资产收益率受到理论和市场等多方面的挑战.为 ...

  2. 用Python对CAPM和Fama French Three Factor model的初步学习

    用Python对CAPM和Fama French Three Factor model的初步学习 概述 介绍 建模与分析 CAPM Fama French Three-Factor Model 总结 ...

  3. 【金融数量分析之:马科维茨均值方差模型和CAPM定价模型的代码实现】

    [金融数量分析之:马科维茨均值方差模型和CAPM定价模型的代码实现] 马科维茨均值方差模型开启了量化投资的大门,其意义固然十分重要 因此个人便手动实现了一个完整的从获取股票数据到选股,到确定投资比列的 ...

  4. python根据词向量计算相似度_如何使用gensim的word2vec模型和python计算句子相似度...

    如何使用gensim的word2vec模型和python计算句子相似度 根据Gensim Word2Vec,我可以使用gensim包中的word2vec模型来计算2个单词之间的相似度. 例如 trai ...

  5. 五种IO模型和nginx的web模块

    IO模型和nginx模块 IO模型 前言 消息通知 IO模型 nginx nginx模块 安装nginx nginx.conf的配置 main段相关指令 HTTP模块配置 与套接字相关的配置 与路径相 ...

  6. lr模型和dnn模型_建立ML或DNN模型的技巧

    lr模型和dnn模型 机器学习 (Machine Learning) Everyone can fit data into any model machine learning or deep lea ...

  7. 【隐私计算笔谈】MPC系列专题(五):Beaver三元组和BMR协议

    [隐私计算笔谈]MPC系列专题(五):Beaver三元组和BMR协议 文章目录 [隐私计算笔谈]MPC系列专题(五):Beaver三元组和BMR协议 Beaver三元组 BMR协议 推荐阅读 [隐私计 ...

  8. 【Visual C++】游戏开发笔记四十四 浅墨DirectX教程十二 网格模型和X文件使用面面观

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8586540 作者:毛星云(浅墨 ...

  9. 李奎元:说说那些征信模型(Z计分模型、巴萨利模型和A值模型)

    李奎元称:根据企业信用管理理论,5C原则是指考察客户信用价值的5个因素,即品行(character).能力(capacity).资本(capital).担保品(collateral)和环境状况(con ...

  10. 【Visual C++】游戏开发笔记四十四 浅墨DirectX教程十二 网格模型和X文件使用面面观...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8586540 作者:毛星云(浅墨) ...

最新文章

  1. 集成学习--百面机器学习
  2. 关于target=标签
  3. 偏最小二乘 非线性 matlab,求助:Matlab偏最小二乘程序哪错了
  4. linux安装icc步骤,怎麼安装不到 icc?
  5. kaggle共享单车数据分析及预测(随机森林)
  6. dudu: 图片显示错误问题,望更正
  7. html密码框输入内容隐藏,密码框显示提示文字的功能实现
  8. PHP+MySQL存储数据出现中文乱码的问题
  9. 一个学习Python的好链接
  10. 项目学子商城(加密,异常,拦截器SpringBoot没有xml配置文件,附常见配置错误)
  11. 数据结构实验报告——线性表
  12. Windows10中IE11浏览器的修复之路
  13. Guthrie QA-CAD2019(CAD绘图修订管理工具)A.04中文版
  14. 推荐一些程序猿学习的网站
  15. css实现文本溢出时显示省略号(单行)
  16. python图像缺陷检测_python OpenCV 实现缺陷检测
  17. 电脑win7蓝屏没有修复计算机,手把手教你win7蓝屏如何修复
  18. 没有金三银四,又要迎接所谓的金九银十,今年大环境这么差,Java岗必备面试题及答案学习还是得学
  19. 如何去掉图片上的水印而不损图片
  20. PAT(乙级)2019年春季考试 7-5 校庆

热门文章

  1. 汇编语言学习篇2——MASM的环境搭建(win10与Ubuntu1604下的配置)【有问题,待更正】
  2. windows使用备忘录
  3. 2018年10月Top 10机器学习开源项目
  4. jzoj 4813. 【NOIP2016提高A组五校联考2】running
  5. K64 计算 UART波特率
  6. Git的诞生_繁星漫天_新浪博客
  7. SQL注入-waf绕过
  8. memcmp的用法 详讲
  9. JPopupButton
  10. shning friends---歌词