Bootstrap

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

实验要求:

  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 ( R i ) = R f + β i ( R m − R f ) E(R_i)=R_f+β_i(R_m-R_f) E(Ri)=Rf+βi(RmRf)
o r or or

;