我是一个计算机相关专业、研究生转金融的妹子,以我的理解,想问做金融需要学习哪些CS工具,你需要思考三个问题。
学计算机的目的是什么?
总有人让从C语言学起的,你们是认真的吗?。。。你们的C语言都过关吗?拿C写个能跑的快排给姐看看!
这个问题的目的很明确。学计算机是有非常强的针对性的,说从C语言学起、从算法导论学起,这种说法完全是不负责任的也是不合适的。
在我看来作为一个金融学生,在研究和工作中,计算机主要帮助我们达到以下目的:
1. 写文字性的论文和报告
2. 统计分析数据
说什么“编程自己写交易系统”,那都是IT干的事儿。要说让学金融的写软件,你让学计算机的拿什么混饭吃,修电脑么?
为了达到以上目的,需要怎么学习计算机?
1. 为了满足写论文、写报告的要求,那基本上可以分成两类:文字处理和图形处理。
文字处理:
基础:word, ppt --> 进阶:latex
word方面,写个毕业论文之后,基本该会用的就都会了;
ppt一般公司有自己的模板,基本功能会了就可以了,设计方面不能强求,多看看好的ppt自然就慢慢悟了。
一般发表在外刊上的文章会要求用latex作为格式编辑,本质上是一种功能性的编程语言,有模板可套,自己改改就会了。
图形处理:
美图秀秀足以解决ppt里80%的图片修整问题。Visio能解决流程图的问题,是公司里画流程图十分常用的软件,这个软件非常简单,一用就会。。
2. 为了统计、分析数据,需要的软件和技能就有点多了,从基础到高深一个一个说。
基础:Excel --> 进阶:Excel VBA, Stata, Access --> 高级:SAS, R, matlab
Excel其实没什么,说什么投行男、投行女excel用得有多溜,那就是“我亦无他,惟手熟耳”。常用的几个函数无非就是vlookup, sumifs,再就是数据透视表。回归什么的就用linest,一般OLS就足以糊弄客户了。工作之后最常用的就是Excel,投行那边估值的模型一般也是用Excel做的。这方面可以看一下估值建模那本考试教材,那本书别的都没用,就怎么拿excel搭模型最有用:估值建模(实用投融资分析师考试教材)
但是这是简单的应用而已,如果想用点儿高级的,就得扯上VBA了。比如说我要根据我后台的数据库自动生成订单派送报告,或者根据数据自动生成并调整多个图表。对,就是把你弄得焦头烂额的这玩意儿,其实非常有用。
Access就是纯粹的数据库了,应用不多,但是也有人在用,主要优点是允许多人编辑。
Stata和SAS是做学术研究的两大神器,左手横截面右手时间序列,双剑合璧一统江湖。。但是SAS这玩意儿的语言实在是太繁琐了……干个小事儿就整出去半页的程序……matlab的语言就聪明多了。
皮埃斯:如何有效学习编程语言
其实学金融的和学计算机的一大不同就在于,在编程语言这件事情上,计算机的同学们学的是算法,是解决问题的方法;学金融的同学们呢,我们学的是命令。
还是拿快排举例,区别在于计算机的同学们需要明白快排算法的原理是啥,学金融的同学们只要知道qsort函数就可以了。
基于此,我推荐的方法就是抄代码,把书上的或者你在哪个旮旯搜到的代码拿到相应的环境去跑一遍,改几个参数,看看会出现什么结果。再读一读代码,只要你懂语法,一般都可以明白大概是怎么回事儿,下回再有这样事儿知道上哪儿找代码就行了。
学金融的童鞋们,我们的优势在于我们对于金融理论的知识、对于市场的了解,也就是说我们的优势在理论研究、在估值建模,不在明白快排的原理是啥,不在明白啥是动态规划,不在会java/php or whatever language。
计算机只是一个工具,不要舍本逐末。
扫码咨询泽稷老师,解读CFA®考试政策变动,海量CFA®学习资料免费领取,提供在线解答CFA®学习疑惑。