实验要求:
- 选择5只在上交所上市交易的股票的月度收益率(近10年);
- 对每只股票估计CAPM模型和Fama-French五因子模型,解释估计量的金融含义;
- 从两个模型的估计结果,你能得到哪些结论?
step1:获得实验数据
method1:通过url下载(网易财经提供的数据)
浦发银行
中国人寿
中国银行
工商银行
广电网络
沪深300(作为市场基准)
XD东方证(国债股票,作为无风险资产)
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(Rm−Rf)
o r or or