第四次更新。发现把程序放在附件里面不是很方便。从今天开始,我会把关键SAS代码直接贴在正文里面,完整的代码也会贴在附件里面,以供查阅。本次更新继续用描述分析来观察数据,并且做一个简单的回归分析。
之前一直使用的是上证指数和华侨城从上市到现在的数据。上证指数有二十多年,华侨城有十几年。这样做好处是数据比较多,但是缺点也很明显。原因就是过去十几年中,国内股市经历过几次大的政策变化,上证指数的成份股也发生很多变化。数据前后跨度太大,一致性就受影响。本次更新了一下数据处理程序,加入了时间选择能力,可以自由决定选择多长时间的数据进行分析。
%let datapath="D:\quant\data";
%let stock = hqc; /*the name of the index to be analysed*/
%let index = sh; /*the name of the index*/
%let rundate = '22AUG2014'd; ;/*the cut off time */
%let backdays = 1000; /*how many days back to the past*/
libname quant &datapath;
/*calculate stock return*/
data stock_return;
set quant.&stock;
if date gt (&rundate - &backdays);
format return d6.5;
return = (close - open)/open;
run;
/*calculate index return*/
data index_return;
set quant.&index;
if date gt (&rundate - &backdays);
format return d6.5;
return = (close - open)/open;
run;
通过设置一下两个变量(rundate,backdays)来控制时间区间,这里我选择2014年8月22日往前推1000天开始到2014年8月22日。你也可以根据你的需要修改这两个时间。
然后在看一下上证指数和华侨城在价格上有没有相关性。
[td]
Pearson 相关系数, N = 663
Prob > |r| under H0: Rho=0 |
| | stock_close | index_close |
| | |
| | |
可以看到,相比之前使用完整的数据,他们两者之间的相关性降低了,但是相关性还是显著的。
有了这个结论,我们希望用上证指数去估计华侨城的价格,这里我们建立一个线性模型。
proc reg data=corr_price;
model stock_close=index_close;
run;
quit;
以下是分析结果。
[td]
| 方差分析 |
| 源 | 自由度 | 平方和 | 均方 | F 值 | Pr > F |
| 模型 | 1 | 58.87574 | 58.87574 | 193.14 | <.0001 |
| 误差 | 661 | 201.49083 | 0.30483 | | |
| 校正合计 | 662 | 260.36657 | | | |
| 均方根误差 | 0.55211 | R 方 | 0.2261 |
| 因变量均值 | 5.53979 | 调整 R 方 | 0.2250 |
| 变异系数 | 9.96629 | | |
[td]
| 参数估计 |
| 变量 | 标签 | 自由度 | 参数
估计 | 标准
误差 | t 值 | Pr > |t| |
| Intercept | Intercept | 1 | 0.41154 | 0.36962 | 1.11 | 0.2659 |
| index_close | close | 1 | 0.00236 | 0.00016957 | 13.90 | <.0001 |
大家能看出来这些图都表示什么意思么?我们的模型做的怎么样?欢迎抢答,明天给大家分析。睡觉去了。