学经济学需要熟悉哪些编程语言?
1)谭友亚瑟_2006
您可以使用excel处理和分析数据。Excel是最基础的。如果你很好地使用VBA,它会有很大的帮助。如果要分析数据,比如建模,SAS还是不错的,但是很难掌握。如果你没有语言基础,还有很多其他软件可以做到。很多银行、证券、期货公司用的都是oracle或者DB2,还有一些小企业可能用的是SQL,所以要想在这方面发展,必须掌握数据库的知识。毕竟既懂金融又懂计算机的人才还是比较稀缺的,国内很多行业都在用这些大数据库,比如电信、医疗航空等。不会分析金融数据,恐怕不能称之为金融专家。至于你的分析是否准确,那就要看你对金融知识的掌握程度了,尤其是投资生有必要学习一些这方面的知识。很多都是应用金融专业,没必要在CFA和ACCA上花太多精力,工作上大概也用不上。金融数学、金融工程、精算专业的学生有必要花点时间学习一下。总之,这首先取决于你。
2)编程爱好者任坤
想跟上国际学术界,最好学R,至少据我所知,美国统计学界被R占领的趋势很明显。
如果只是做一个简单的回归,随便解读,选一个傻逼软件就好了。如果只用现成的、成熟的计量经济模型做实证研究,那么傻瓜软件一般就够了。如果你想把统计学和计量学作为你的研究领域或者专业领域,那么编程是必不可少的。即使你做的是实证研究,涉及到复杂的数据结构,懂编程也能帮你大大提高生产力。另外,R的社区比较活跃,能跟得上前沿。
如果涉及到处理大数据,一种方法是使用SAS。如果不想用SAS,可以学习一些关于数据库的知识,比如把数据放在SQLite数据库中,用{RSQLite}访问数据库,或者在SQL操作环境下用{sqldf}传递数据帧。
如果觉得执行一个任务R的速度慢,可以用{parallel}或者{parallelMap}进行并行计算,也可以用云计算处理数据。
如果其他社区相关的东西没有在R社区实现,比如Java,可以用{rJava}调用Java对象,但是速度有点慢。
更好的办法是我考虑从事数据分析工作。学什么软件或者语言最好?提到的F#函数式编程语言可以用RProvider直接调用R,用JavaProvider直接调用Jar打包的Java程序,用PythonProvider(即将发布)直接调用Python程序等等。,而且很容易整合各大社区的资源。
目前我在GitHub上建立了一个Repo: Renkun-Ken/Learner,通过r学习统计学、计量学、非参数、数据可视化、数据库,虽然目前什么都没有,但是可以跟踪。
以上都是经济学相关的统计和计量所需要的编程。事实上,统计和测量所需的“编程”相对简单,基本上就是处理数据和应用提供的测量模型。需要更多的编程:第一,如果涉及到更高级的度量模型,可能需要自己实现;第二,一些蒙特卡罗模拟需要一些编程。
从经济学相关的一些新领域来说,计算经济学、计算统计学、计算计量经济学需要很强的编程能力,包括算法实现、算法分析等等。比如计算经济学目前在做的一个研究是基于Agent的计算金融,就是建立一个模拟的金融市场,市场中有几个资产,每个资产的基本面都是由随机分红决定的,有很多遵循各种逻辑的投资者。投资者对分红的信念不同,因此各自逻辑引发的交易行为也不同。在一个双向拍卖交易市场中,什么样的投资者构成或行为,什么样的记忆长度,才能最大程度地再现我们在现实金融市场中观察到的资产价格或资产收益率的规律,比如资产收益率的肥尾和不对称。这个时候,研究人员需要扎实的金融知识来设计一个不太简单也不太复杂的模拟金融市场,还需要相应的编程能力来用编程语言编写模型。会设计很多编程技术,比如数据库(有时会跟踪很多变量,比如投资者的现金流和财富分布)、并行计算(CPU多核并行、多进程并行、集群并行甚至GPU计算)等等。这方面的研究始于1990年代。
3)知乎网友思
计量经济学也有很多小类,请大家对号入座。比较用的软件有很多,STATA,MATLAB,R,SAS等。
如果是做应用测量(尤其是横截面数据和面板数据),Stata是最好的选择,因为管理数据或者运行回归非常方便。目前主流期刊应用微计量的文章中几乎都有可以使用的型号stata,而且大部分都是stata制作的。而且最大的好处就是简单!
如果做应用的时间序列,Eviews似乎是个不错的选择。但我一般不这么做,也没什么发言权。
如果做理论测量的话,stata eviews没有现成的包,即使stata可以编程,其可编程性也很差,不健壮。所以知道R和Matlab就很方便了。当然,你也可以使用Python,萨金特最近写了一本关于用Python进行测量的书。还有Julia,是这三种语言的混合体,但是速度快很多。缺点是太小了。
如果对速度要求很高,尤其是金融计量,可以考虑C、Fortran等语言。c和Fortran绝对是最快的。还有一种叫黄牛,速度很快,但是也很小。但是这些语言的缺点是学习难度高,开发时间慢。Julia据说和C一样快,语法也特别像Matlab和Python(意思是很好学),但是处于初级阶段,用的人太少。
如果是在财务计量领域,强烈建议学习SAS。SAS是最权威最快速的。当然,最大的问题是价格贵,可编程性也没那么好。但是金融的数据量非常非常大,一般软件瘫痪的时候SAS就派上用场了。
和我自己一样,我做应用的时候都是用stata整理数据,不用其他软件也能坚决用stata。但是因为有时候我们做一些理论上的测量工作,matlab也是必不可少的。我也在研究Julia,因为matlab的速度太慢了。我平时不怎么用Python做科学计算,用的人不多,速度慢。它通常用于捕获数据。
最后补充一点,我为什么推荐matlab而不是其他软件是有道理的。很多模型,比如空间计量经济学,贝叶斯估计,宏观测量中的DSGE模型和SVAR,在stata和Eviews中都没有,但是matlab提供了丰富的软件包,比如基于Matlab的Dynare,以及LeSage的空间测量软件包等。,也是基于matlab的。所以在matlab中你想用的几乎任何模型都可以找到代码,然后直接使用。就算不会,你自己用matlab写也不难。
最后,我想起一句话。这些软件的选择(stata除外,因为stata在应用计量领域的地位几乎不可替代)可以用两句话来概括:如果你自己的时间比计算机的时间更宝贵,那么学习matlab、R,甚至Python、Julia都是最合适的;如果计算机的时间比你宝贵,那么学习C和Fortran是很有必要的。当然,除非你的工作非常特殊(比如一些大型结构模型的估算),一般来说,你的时间是比较宝贵的。
综上所述,用一个软件做应用和理论是不可能的,建议根据自己的方向选择。我觉得推荐stata和matlab,一个方便,一个灵活,两个都很厉害,学起来也不难,而且很多人用,交流起来还是挺方便的。
4)网友张真真
数据,简单的excel,直观方便。更复杂...…excel最多可以有6万多行。你确定需要从这么大量的数据中“学习经济学”吗?
复杂的使用R,各种模型,算法,实现,基本上R都有相应的软件包,可以下载直接用,多读文档多练,半年左右不用excel就可以直接用R实战了。我博士论文所有的回归和输出都是用R,我现在写的论文都用它。替代品是Stata。那也不错,但是如果你和我一样从零开始,那么强烈推荐R。
R的一个缺点是不能做符号运算。这个免费的解决方案包括带scipy numpy的python等包,但我建议你用mathematica,它的符号计算功能最强大,输出格式最好。可以找一个雅可比矩阵做符号运算,比较结果。
Python,在熟悉R之后,发现有些功能是R无法实现的。有实际需求的时候,再学也不迟。不是马上就需要。
另外,所有的经济学研究(我指的是经验论,你懂的)都要用latex,可以看作是一种编程语言。在word里整理数学公式,用不了多久你就会疯掉。Ggplot2可以在R中用来绘图,输出到tex。用xtable包将普通数据表导出到tex,用stargazer将回归结果导出到tex,非常方便。
5)网友贝叶斯
首先要说的是R,这绝对是目前国外学术界的主流。统计系除了R基本没啥,R作为与统计学相关的方向,也在逐渐渗透。所以建议学习。
对了,R的学习曲线比较陡,所以我不建议零基础的人从R开始,否则挫败感会更强。Python稍微好一点,所以我建议从python开始。
Python不是一个专门用于统计或测量的软件,而是一种非常流行的通用编程语言。经过多年的发展,图书馆也很齐全了。我试过numpy,scipy,pandas等库。相对于其他通用编程语言,还是挺好用的,但我个人感觉还是不如R,比如画图。
Ggplot2确实是神一样的存在,但是python的库还是略逊一筹。但是,除了数据处理,python能做的事情太多了,也很牛逼。我们主要用它,比如从网页中收集数据,需要正则表达式,解析网页等等。Python在这些方面比R有很多优势。
当然,从趋势来看,未来python似乎比R更胜一筹。r是一群编程的统计学家,python是一群试图做数据处理的计算机专家。看来python的基础更扎实了。个人观点,仅供参考。
Stata是除了R之外最好的测量软件,两个我都用了好几年了,还是觉得R更好用,整理处理数据更方便。所以即使是楼上你说的微测量领域,我还是更喜欢r。
另外,spss,或者eviews等。,多被感官管理专业的学生使用,功能有限,不推荐使用。这里就不赘述了。上述软件的另一个问题是它们都是收费的。考虑到未来的知识产权保护,还是用免费的比较靠谱。
r有两个主要缺点:
1在大数据面前弱爆了。Sas在这方面确实有优势,但是不得不说sas的语法太反人类了,完全不能接受。面对这个问题,我想说的是,你要看到问题有多大。以我的经验来看,经济中的数据量似乎不足以超过r的上限,可能金融的高频数据会比较大,我个人没有经验。如果遇到,我会补充。我试过10g数据。最简单的方法不是学sas,而是买16g内存。:)以现在的内存价格,我觉得32g以下问题不大。
2,性能不足。Python在这方面也有同样的问题。最好的解决方案是混合c/c++,但这是一个无底洞,耗费大量时间,也不一定能学好。建议的方法是买五金件,这是最简单的。:)当然,使用并行包也是解决方案之一。我在机房尝试过几次多机集群,都不是很成功。向某人寻求建议。
上面你也提到了几个软件,我也稍微说一下我知道的几个软件:
Matlab:一个好东西的关键是性能,这个也可以用c/c++来解决。但是我不喜欢大软件。为了求均值方差,需要5分钟开始。。。
Julia:目前X2这个好东西还是被关注的,可能比较年轻,导致支持库数量略少。不过对未来的发展还是比较乐观的,主要是吸收了matlab,python,c/c++的优点,写的快,算的也快,以后密切关注。
最后,函数式编程是个好东西,但是对于纯函数式编程的未来并不看好。它体现了一种相当先进的编程思想,但在实际工作中,往往会出现较大的性能问题。解决这个问题,还是混合函数式编程和其他方式,不过这是python,R等软件已经实现的方式,似乎不需要学习其他函数式编程。
6)上海财经大学荣建新博士
Stata广泛应用于微测量,主要是直接输入命令回归,需要编程的地方不多。
至于编程,推荐R和Python。
R是一个非常好的统计分析软件,在计量经济学中的应用可以在R中的计量经济学,R中的应用计量经济学时间序列分析与应用等书籍中找到。
Python非常擅长捕捉数据,数学计算包SciPy可以部分替代Matlab等科学计算功能。
7)知乎网友justin
本科经济统计,由于学校的课程设置很精彩,我们用过:
EViews:计量经济学,时间序列和多元统计。
Stata:计量经济学。
SPSS:一个特殊的课程,这个巨汗,值得统计复习。
Excel:用于大一统计学入门课程。这也是一个巨大的坑,就是简单函数的使用,这根本不涉及VBA。
Matlab:这门课没有专门的课程。它是我完成C语言编程后的副产品。后来接触R和Mathematica基本就弃用了。
R/S-Plus:我在回归分析的时候用过S-Plus,但是当时已经用R语言很久了,S-Plus基本兼容,所以一直没用过S-Plus。
Minitab:用于质量控制课程,基础统计学加上一些实验设计。
SAS:我在实验室自学过几次,直接被它奇妙的语法打动了。据说我们学校研究生有专门的SAS课程(类似于本科的SPSS课程),呵呵~
我们系的学姐雪芝(巴)曾经抱怨她用的软件太多了,让她觉得自己彻底疯了,给我们亲爱的院长提了建议。作为学生,这个问题我也问过院长。她的意思是不同的软件在处理不同的数据时各有所长,而你的课程也挺容易的,多学学吧。另外,不同的老师使用软件的爱好不同,上课使用不同的软件是不可避免的。
学经济学的同学,Excel和SPSS,EViews(或者Stata)都挺好的,Stata和EViews可以写一些程序,SPSS的界面操作也很友好。我用的是R,在各种课堂上学习了那些软件之后也会用R(其实大部分时候R已经有现成的包了,我大多是直接用的)。r还是很不错的,推荐。
很多前辈也提出,经济类学生学编程学够了就好,否则就是一条不归路,面临彻底转行的危险,我就是一个反面例子(泪~)。所以不要碰Python,C++和Julia。