实证研究的两个小问题 - Stata...实证研究的两个小问题 李春涛 爬虫俱乐部...

Preview:

Citation preview

实证研究的两个小问题

李春涛

爬虫俱乐部

武汉字符串数据科技有限公司

两个小问题

• 准备数据

– 不同来源的数据

– 不同格式的数据

– 不同的文件形式

– 网络上的海量数据

– 回归分析的中间结果

两个小问题

• 准备数据

– 数据要有特色

– 海盗与经济发展(NASA卫星图片)

– 兰小欢杀牛

– 法律保护与资产定价(解放前上海租界的证据)

– 自科基金的资助效率

– 淮河南北的寿命差5岁??

– 副部级官员与经济发展(NASA卫星图片)

• 宗教祠堂文化与企业委托代理矛盾

• 方言与代理成本

• 银行分布与企业创新

• 基金经理颜值与基金市场表现

• 百度指数与股票市场表现

• 年报披露的可读性与企业绩效

各种神奇数据的研究

数据获取

• 看似简单的数据,获得的过程并不容易

– 以年报的页数为例

– 手工劳动大约需要一年时间

– 寺庙数据

税务局、shopping mall 和上市公司

两个小问题

• 输出结果– 样本选择过程

– 变量定义过程

– 基本统计信息

– 分样本比较

– 回归分析结果

– 内生性结果

– 稳健性检验

– 异质性分析

– 机制分析

两个小问题

• 结果输出

– 所有表格一起输出

– 中文不要有乱码

– 格式要漂亮

– 与期刊要求一致

• cntrade 600900• cnar 000002• cnintraday 2, date(2011-12-02)• cnstock all• cntop10 600900

我们开发的命令

我们开发的命令

• chinagcode, baidukey(key) province(prov) city(city) district(dist) address(addr)

• chinaaddress• cntraveltime• Cnmapsearch

我们开发的命令

• sum2docx• t2docx• corr2docx• reg2docx

我们开发的命令

• subinfile

• Wordconvert

• psemail

• ttable2

• eventstudy

爬虫的原理

• http://vip.stock.finance.sina.com.cn/corp/go.php/vCB_AllBulletin/stockid/600900.phtml

截图

• http://vip.stock.finance.sina.com.cn/corp/view/vCB_AllBulletin.php?stockid=600900&Page=2

• http://vip.stock.finance.sina.com.cn/corp/view/vCB_AllBulletin.php?stockid=600900&Page=40

源代码

• copy “http://vip.stock.finance.sina.com.cn/corp/view/vCB_AllBulletin.php?stockid=600900&Page=2” d:/temp.txt,replace

• infix strL v 1-20000 using d:/temp.txt, clear• keep in 693

• 上市公司最新公告

• 中国土地市场网数据

• 赶集网二手房价格

• 瓜子二手车:你究竟虚报了多少车源??

读取源代码

• CNKI中国期刊网数据

– 中国大学经济管理学科灌水排行榜

源代码藏得很深

• 百度地图

– 中国茶馆、咖啡馆、肯德基、麦当劳、必胜客分布

– 樊纲指数、律师楼、海关地图

– 日本料理韩国料理分布

– 高速公路覆盖率

源代码藏得很深

结果输出

• 实证研究的最后一个噩梦– 复制粘贴– 四舍五入– 调整行距– 调整字体– 调整颜色– 调整边框– 表格合并– 文件合并

• 可是审稿人要我改一个变量的定义!• 以上的过程必须重复!

putdocx

• Stata可以直接向word书写

– 写文字

– 写表格

– 写图片

– 字体、字号、颜色随心所欲

– 表格、边框、底纹要啥来啥

– 所有的实证研究过程一个程序搞定

程序

汉字列表

汉字列表

模拟一篇文章

报告实证结果

• 任何结果都可以看多是一个矩阵

• 矩阵都可以通过putdocx写到word文档中

– 基本统计量表

– T-检验(t2docx)– 相关系数表 (corr2docx)– 各种回归分析 (reg2docx)

Summary statistics

Summary statistics

T-statistics

回归分析

IV 回归

合并结果

• The output • Mytable.docx

Putdocx 目前存在的不足

• 1. 命令格式繁琐,难记且不便书写

• 2. 事无巨细,选项需要逐一设置

• 3. 内容与报告样式混合,难以分离

• 4. 脚注等重要功能缺失

• 不可以编辑公式

命令格式繁琐,难记且不便书写

• 每次使用前都要以putdocx begin 开始,以putdocx save 结束。

• 输出文字putdocx text必须要先输出段落putdocx paragraph。• 每次换页以后还要pudocx paragraph• 即使前面已经指定过表格名称,每次输出表格putdocx

table也都要输一遍表格名称

• Markdown采用轻格式标记,除了用于注明文字类型的简单记号,没有其它多余记号。

选项太多难以设置

• Putdocx使用选项来调整文档格式,因此必然引入了繁多的子命令与选项。

• 为了调整word版面,无论难易美丑,都要在do文档中逐一设置

– 纸张大小,A4,B4, Letter, Legal– Portrait 还是landscape ?– 每一段的字体、大小、颜色、是否下换线、

– 下换线的线条形状、粗细、颜色

– 表格的边框形状、颜色、粗细

• putdocx就像肾上腺皮质激素,解决了旧的病症,却创造了新的病症。

选项太多难以设置

• 一个命令它能控制的东西越细,它就越权威、越底层,

• 但另一方面它就越难以推广,因为它太复杂了

• putdocx就是这样一个过于复杂的命令,它

能控制很多东西,但我们很多时候不需要它那么精细,我们也不想那么劳神

内容与报告样式混合

• putdocx命令将word文本内容与排版样式混合在一份do文档中

• 难于实现“不换内容,只换排版”的样式更迭需求。

内容与报告样式分离

• Markdown生成html的过程,只负责内容的

输出,具体的样式调整交由相应的层叠样式表处理。

• 即实现了内容与样式分离。如下图对比,putdocx将内容本身与样式规定混合在了一起,显得繁琐且不易修改,而markdown对内容与样式分离,如果想调整输出的样式,只需更换CSS层叠样式表(template)

From Stata to Markdown

Header.txt

层叠样式表

Swiss.cssshellout notepad markdown.css

替换层叠样式表

Footnote

• Putdocx缺乏脚注输出这一功能,当遇

到该类需求时,需要人力手工补全相应功能。

• Markdown原生语法支持非常轻便地脚注标注,且在html里面非常便于通过超链接浏览。

Footnote

Putdocx建议

• 添加读入docx 文档的功能

– 当前只能写入不能读出

– 读出的过程需要识别文档中的公式、图片、脚注尾注等

– 不能识别的部分可以当做图片??

– 读入文档允许可视化分词

Putdocx建议

• 尽量使内容与样式相分离,写内容的时候尽管写,调样式的时候自由调。

• 式样通过网站公布,用户自由选择

• 增加脚注等功能

• 增加公式功能

Putdocx 建议

• 插入图片格式为png• 能否允许更多的图片格式?

– JPEG?– BMP?

hyper Link:

• Image Hyperlink• Text hyperlink

Putdocx describe

• 只能describe 文档

• 不能describe 表格和段落

• 没有返回值

Describe

谢谢

Recommended