转自微信公众号:量化小白上分记
作者:量化小白H
如果你经常用stata写论文,会了解stata有个outreg2的函数,可以把回归的结果输出成非常规范的论文格式,并且可以把多个回归结果并在一起,方便对比。例如下图 本文的目的是用python实现outreg2的效果,得到上面这样的结果,方便对比和分析。01
源码说明
其实也不用自己手动写,statsmodels模块里有一个 summary_col函数,可以实现以上的功能,不过效果没有stata那么好,毕竟python也不是专业的计量分析软件,但好在代码并不难,所以如果有一些个性化的需求,自己改一改也挺容易的。 先解释代码,再上例子。首先看看summary_col的说明: 一共有七个参数,一一解释(源码也不难,有兴趣可以自己看看)。results:回归模型的结果,statsmodel回归的结果,多个结果用list装在一起;
float_format:数据显示的格式,默认四位小数;
stars:是否有*,True为有;
model_names:模型的名称,用字符串装在list里就可以了,输出时的表头,也可以不设置;
info_dict:这个用来生成一些自己想加在格式化输出里的内容,dict格式;
regressor_order:用来设置自变量的显示顺序;
drop_omitted:是否包含没有包括在regressor_order中的变量。
01
OLS格式化输出
例子使用前文Fama-Macbeth中使用过的数据,首先取其中一期的数据做回归,这里主要是展示格式化输出的结果,所以不要太在意系数的符号和显著性。 读入数据price = pd.read_csv('price.csv',index_col = 0)