Some Tips for Rookie Empirical Researchers

image 最近大家都开始做毕业论文了。鉴于现在国内外的学术潮流,大家都开始做实证了。哎,说实话,我们80后这一代可真是累,穿衣服、吃饭、看书什么都要赶时髦,甚至连现在这“人人得而诛之”的毕业论文都开始给我们找麻烦。您说洋洋洒洒数万字的规范研究有什么不好,既可以天马行空,也可以写的很潇洒。若有哪位牛人从小熟读唐诗宋词、楚辞汉赋,此时论文写作便是该君最为得意的时候。可惜,古人云,天有不测风云,今人曰,研究有风险,如今实证研究大行其道,不做点实证研究,毕业论文不放几个表格,不放几张统计图,不去写上一些数学模型,如何能一讨恩师的“芳心”?

正所谓闻道有先后,术业有专攻。由于本人恩师在实证研究上的痴迷,我也就比较早的感受到了实证研究的痛苦与残酷,而自然在如何避免“踩地雷”方面有了自己的一点心得,这里就大家最常见的一些问题来给出一些个人的见解,以求抛砖引玉。

  1. 我们一般做研究的数据可以从哪里取到?数据一般使用什么格式?

    一般我们的数据都不需要手工搜集。我们学校(中南财经政法大学)已经购买的数据库可以搞定大部分的财务报告数据和公司治理等方面的数据。而CSMAR则可以找到股票回报率方面的数据(我们学校没有高频数据)。如果觉得数据还是不够用,则有两种处理方法:

    1. 手工搜集:我们可以通过巨潮网取得所有上市公司公开发布的报告,包括定期公告和临时公告。
    2. 请求外援:我们可以通过其他学校的朋友来帮忙。比如Wind的数据质量很高,但是我们学校没有购买。于是我们可以通过自己的人脉去那些购买此数据库的学校和机构来求助。

    数据格式可以有各种各样,比如常用的Excel格式,数据库DBF格式,以及各种统计软件的格式等。具体使用什么格式,可以根据自己的情况来定。Junjun早期比较喜欢Excel格式,因为其处理灵活,但是现在更倾向于DBF,因为它能够具有更好的后期处理接口,同时格式定义更规范。

  2. 我的数据应该如何来合并?异常值和空值如何处理?

    一般来说,我们做研究的数据来源非常广泛,有手工搜集,有来自于不同的数据库,甚至还有部分数据来自于网站。那么,如何把这些数据进行合并是个非常要命的问题。这个问题也曾让Junjun郁闷了很久,想必也是大多数初级选手的绊脚石。大多数情况下,我们可以有三种方式来进行数据文件的合并:

    1. 利用Excel进行合并

      这是最简单,但是也是最容易出错的一种合并方式,尤其是当你对Excel的各种函数并不是很熟悉的时候。常用的函数有Vlookup,Hlookup等。其实Excel不仅仅可以用来合并,同时它也是数据处理不错的工具。Junjun早期的数据处理也是基于Excel做的。只是Excel的运算效率有点低。Junjun曾有一项最高纪录:一句复杂条件匹配函数在笔记本上计算了20个小时。

    2. 利用Access类进行合并

      这是一种比较常用的方式。简言之,就是使用Access等自带的SQL(结构化查询语言)来进行处理。SQL具有远比Excel更优秀的算法,效率非常高。但是Access也有缺点,那就是数据库对格式要求远没有Excel灵活,这就导致了一些情况下数据类型不匹配问题的发生。

    3. 利用专业软件包进行合并

      这也是一种高效率方法,但是Junjun在这里并不推荐给新手,除非你准备未来投身于学术界。通过专业软件包的一些关键语句可以很好的合并,效率绝对不逊于Access,但是需要Hand Coding。对于没有Programming的童鞋而言,这可能就是一种杯具了。

    对于空值和异常值的处理,最简单的方法就是剔除。当然,也有一些备选方法,比如对于异常值采用Winsorize方法,对于空值通过EM算法来填充等等。只是这些方法需要更好的技巧和Programming的技术,此处就不赘述了。

  3. 我应该使用什么统计模型来分析呢?

    不得不说,这个问题非常高深。高深到Junjun现在还是深受其害。按照统计学的说法,我们应该根据不同的数据样本来选择不同的估计方法。什么?听着像废话。那就说点实用的,但是却是没有科学根据的。一般情况下,如果你跟Junjun一样,怕瞎弄闹笑话,那就假定自己的数据服从正态分布(Normal Distribution),采用OLS。而如果你的被解释变量是两分类的虚拟变量,请考虑使用Logistic回归,如果是多分类,可以使用Logit。而如果数据有存在很大的偏倚,则请考虑Tobit。具体的方法,可参考相关计量经济学和统计学教材。

  4. 我应该使用什么统计软件?或者说,什么统计软件好用?

    这也是一个新手容易问到的问题。这个问题看起来幼稚,事实上却并不简单。其实在Package的选择上,完全遵循着咸菜萝卜各有所好的道理。以工作平台为例,Junjun非常喜欢在Linux下运行计算软件、利用Latex进行论文写作等。而更多的同学可能更觉得Windows+Word平台比较合适等等。

    Junjun也曾试用过很多统计软件,如EviewsSPSSStataSASR。就我个人感觉而言,SPSS无疑是最容易上手的。Junjun最早的一篇论文就是使用SPSS完成了所有的工作。但是,SPSS的低效率也实在让Junjun难以忍受。但是不可否认,SPSS最容易找到中文教程, 毕竟这是最早进入中国市场的统计软件包。目前最新的版本是17.0(不知道最近更新了没~)。

    Stata则是统计软件中的新秀。该软件的特点是短小精悍。定制很灵活,可扩展性强,适合中高级用户。由于这个软件的高扩展性,某些任务在此软件下会非常容易。但是,需要说明的是,大多数关于此软件的教程和说明皆为E文。国内尽管也出版了几本教材,但是在人大论坛上却是恶评如潮。愿意使用此软件的童鞋,请作好阅读大量英文的准备。

    SAS则是统计软件中的大哥大,价格昂贵。但是速度很快,支持并行处理。但是语法严格,必须要求正则表达。

    R是一款开源软件,通俗来讲,是不要钱的。风格介于SAS和Stata之间。该软件在Linux下效率很高。

  5. 我的结果不显著怎么办?是不是可以改数据(结果)?

    这是Junjun今天打算回答的一个最重要问题。其实这个问题也是让Junjun最烦的。其实实证结果不显著很好解释:那就是您所假设的关系并不存在。而解决这个问题,也不是那么简单了。除了技术层面的问题,这个问题的解决也涉及到了研究思想方面。在这个问题的理解上,Junjun要感谢他的老板,香港中大的TJ WongJoseph Fan教授,夏威夷大学的Shirley J. Daniel教授,台湾大学的李书行教授以及财大的诸多教授。

    就Junjun个人的观点,结果不显著可以遵循以下几个方面来进行解决:

    1. 我的研究思路有问题否?

      这是最基础的问题,但是也是最容易被忽视的。长久以来,我们总是有一种错误的观点。那就是我们先把实证结果做出来,然后再来考虑如何进行解释。殊不知,这种做法就如同当年大跃进一般的盲目。Junjun也曾是这种说法的坚定拥护者,但是在去年的培训中,被范博宏教授给狠K了。其实大多数情况下,我们的结果不显著,或者没法解释,都是因为研究思路的问题。

      作为一篇实证论文,最为核心的就是研究假设。所有的步骤,包括引言、文献回顾、研究设计都是基于此。一个合乎逻辑的假设应该有着完备的理论背景和坚实的现实基础。如果说,君的论文假设是拍脑袋想出来的(垃圾文章上的假设也归于此类),那么,君就得好好想下,您论文的假设是否符合逻辑。最简单的方法,您可以使用常见的基础理论,比如产权理论、交易成本理论来尝试从理论基础来推导,看假设基础是否坚实?同时,作为中国市场上的实证研究,我们同时要关注,这个命题是否具有现实性?相关的法规是怎么说的?制度背景是非常重要的。

      如果上述仍然不足以解决问题,您可以试着去阅读一些相关文献。尽可能去阅读国际顶级期刊文献,如TAR,JAR,JAE,RAS,JF,CAR等等。相比国内的文献,这些文献做的更严格。同时,关注下TJ Wong和Joseph Fan等人的研究。他们对中国的研究对我们具有很好的启发作用。

    2. 我的研究样本是否有问题?

      这个问题其实与上述的现实性基础具有异曲同工之妙。作为研究样本,最容易被人攻击,而事实上也最容易出问题的就是样本具有Bias。而Bias的种类和产生都千差万别,最常见的就是Selection Bias。发现此类问题的最好方法就是进行描述性统计分析。同时,我们需要注意我们的研究样本与制度背景的匹配。如:在全流通环境下去研究非流通股股东显然是不合时宜的。

    3. 我的数据处理是否出错?

      Junjun最喜欢说一句话,统计学是一门数学,而数学是严谨的。当数据处理出现错误的时候,最后数据分析的结果也会忠实的告诉您:这种关系不存在!或许您会认为这个问题非常幼稚,而事实上,Junjun曾也就此犯过错。这里有个真实的例子:Junjun曾在2008年做过一篇论文,由于当时技术尚不熟练,出了很多未知错误,导致结果非常牵强。在从美国开会回来对此文章进行大量重新修正的时候,Junjun仔细严格的重做了所有的数据,但是没有变更统计学模型和估计方法。而修改后的文章的结果显著性和预期吻合非常好。这就说明,在思路没有错误的时候,技术也是很重要的。

      常见的错误有区间配比错误,数据匹配错误等。还记得我前面提到的数据合并问题否?合并的错误可是很容易导致严重后果的哦~~

    4. 跟导师沟通

      这是最后一招,也是Junjun用的比较多的一招。导师总是站的比我们高,看得比我们远的。Junjun曾因为论文数次骚扰了我敬爱的老板,甚至让老板亲自帮忙审阅了好几次英文论文稿。大家应该知道阅读英文论文的感受~~,更何况还是Junjun的Chinglish。

  6. 我是不是可以改数据(结果)?

    这是今天的最后一个问题。其实这个问题不用Junjun回答大家都知道答案。大家都应该知道什么叫道德,什么叫做学术道德。如果一位科研工作者不能恪守学术道德的话,那他恐怕就没有资格再做这项工作了。目前中国的学术造假已经不少了,都已经驰名中外了,我们就不要再为此添砖加瓦了吧,哈哈,毕竟这可不是什么好事儿是吧?

写在最后:上述这几个问题是最近同学们问Junjun回答的最多的。但是Junjun在准备博士入学考试,所以没有大量的时间来回复。但是Junjun非常乐意就自己知道的来帮助大家。然而,Junjun跟大家一样,也只是一个在读的硕士研究生,眼界、知识难免有局限。这里所作的回答也只是基于Junjun个人的理解和感悟。不对的地方,还请大家一定要指出。

大家如果有新的问题,可以在下面写评论。第一次在我博客评论的同学可能会遇到评论审核。请大家不用着急,我会在第一时间来审核并回答的。谢谢大家的支持!

15 thoughts on “Some Tips for Rookie Empirical Researchers”

  1. 呵呵,学习了啊,不懂的挺多的,早就想问了,就怕你忙啊,可惜我不是一个搞学术的,弄得差不多就行了,实在不行,那只能使出绝招了,前几天刚混了一篇实证的毕业论文,忽悠一下不懂的人还是行的,碰到像你这样的专家,那我就惨喽。

    1. 今天太忙了,刚看到了你的Reply。呵呵,事实上,研究思路是很重要的。而有了研究思路,就需要足够的理论来支撑。我最近在看罗斯的公司财务,发现我不懂的真的太多了。
      至于结果是否一定这样,那个真不好说,因为有时候,alternatives很难排除掉的。

  2. 你好,我是无意之中溜达到你的网页上的,很有收获,尤其是实证会计这一块。我现在在做一篇实证论文,其中要用到融资成本变量,想用CAPM模型,但是,不清楚市场收益率怎么得到,或者到哪能查到。还有,如果市场收益率为负数,则融资成本也为负,这该怎么处理?如果能得到你的帮助将来胜感激。

    1. 不好意思,刚刚看到你的评论。我其实没有做过Capital Cost方面的研究,所以也没法给出具体意见。就我做过的使用CAPM的研究而言,也仅仅限于事件研究法。而事件研究发想必您也知道,就是使用估计窗口来进行收益率调整,不知道这种调整对您的研究有多大参考价值。
      本人才疏学浅,还请多多见谅啊。

  3. 只是隔很少的时间没看论文……怎么感觉这样的生活正在以越来越快的速度离我远去,割舍,很难过

  4. 您好,我最近在为实证论文的某些小问题而烦恼,看到您的文章对我非常有帮助。谢谢您~不知道能不能请教一个问题。我从数据库下载的报表数据有许多空值,直接删除空值样本的话会造成样本量大量减少。我想问,空值可以设置为0吗?比如“应付股利”,可能公司当年就没有支付股利,所以自然为空,这样不也相当于0吗?期望得到您的解答,谢谢!

    1. 对不起,我刚看到。有些变量可以设置为0,有些则不行。空值和0是完全不同的概念。具体请参看计算机基础教材。

Leave a Reply to Junjun Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.