python成为金融编程_想做金融矿工,会写Python和C++就够了吗?
“对 Quant 而言 Python 的需求高吗,除 C++ 外还有哪些流行的编程语言?”》》更多FRM 相关问题点我咨询
1. 高
2. 还有:Python, Java, Matlab, R, Q和一些公司内部自有语言(如高盛的自有语言)
但是我不希望敷衍了事,说说我心中重要的五类语言。这不仅仅是对于一个Quant必须的,而是一个丰满的程序员所必备的。在艺术中,艺永远比术重要;在Quant相关知识中,Intuition永远比纯Technique更加重要。
有五类语言构建了一个丰满的编程能力强的Quant的一切,它们分别是:
效率类语言(C、C++、Java等)
胶水类语言(Python、Ruby等)
科学类语言(Matlab、R、S等)
Alpha演算类语言(Lisp、Clojure等)
查询类语言(SQL、Q等)
这是基于我理解浅薄的分类,完全与计算机科学的规范化分类(如面对对象语言、函数类语言)不相容。持不同意见者大可付之一笑。
效率类语言
C、C++、Java等
老派的Quant很多都是C++高手,特别是80年代涌入华尔街的那帮MIT的高能物理博士们。在那个年代,可以选择的语言不多。要么就Fortan,要么就C/C++了。所以在当时基本上这些语言同时充当着基础架构(infrastructure)和数值计算(比如Monte Carlo)的双重目的。
现在各种胶水类语言、科学类语言多了起来,而且由于单机性能越发强悍,效率再也不是的诉求了,因此目前C++、Java大量应用于金融系统级的开发,和对于效率要求极高的实时定价等领域。
从一个Quant的角度来看,这类语言的特点是快,编程复杂度高,维护难,同时原生语言普遍不支持向量运算。
胶水类语言
Python、Ruby等
我必须承认,这些语言是新世代Quant的福音。在国内工作的时候我目睹并参与了一个将原有的C++框架全部用Python重写的项目,而现在JPMorgan这边利率类产品的定价软件也在从Java像Python转移。实现同样的代码,Python、Ruby的实现速度比效率类语言快很多。
这些语言的特点是比较快,编程复杂度高,维护相对简单,同时大量的包(比如Numpy+Scipy)可以轻松实现向量运算。
科学类语言
Matlab、R、S等
一般而言,科学类语言的特点是支持向量运算,同时各种附加数学、统计包极其丰富,但运算速度无法与前两类相比。在一个具体的投资/交易策略、模型投入实际使用前,你需要快速的去实现(Implement)和验证(Back-testing)你的想法。这个时候,科学类语言就有的优势。验证思路有效后,再用效率类语言或胶水类语言开发成系统级组件。你可以理解为科学类语言是用来造概念车的,而前两类语言是用来量产的。而在具体的职业角度,造概念车的这帮人一般是Pure Quant,而实现量产的很多是Quant Developer。当然也有两者合一的集大成者。
Alpha演算类语言
Lisp、Clojure等
我第一次对这类语言感兴趣,是12年冬天接触硅谷一家科技公司时(Prismatic,人工智能新闻App),发现他们在用Clojure,也极力向我推荐Clojure。Clojure是基于Java封装的语言,可以用Java虚拟机执行。但归根结底,Clojure是Lisp这类语言。 我个人感觉目前Quant界用这种语言偏少,但是不排除以后流行的可能。
查询类语言
SQL、Q等
SQL就不必说了,金融公司很多时候都是使用Oracle等关系型数据库,SQL是基础。而我之前几次面试也遇到了SQL的问题。Q是Morgan Stanley为了应对金融中的海量数据而采用的一种非关系型查询语言,特点是极快,有SQL的基础可以很快掌握。
全面的说:
如果你是做Pure Quant,整天与交易策略和模型睡觉,那么2、3是必须的;
如果你是开发为主,或者是Quant Developer,那么1、2、5是必须的;
如果你立志让编程不成为你做Quant的障碍,那么1-5全都是必须掌握或至少了解其思想的。
不管是作为Quant还是Coder,都不可拘泥于语言。语言只是其背后设计哲学的体现。这就等同一个数量金融从业者不可拘泥于产品一样。数量金融的根基永远是供给需求、金钱时间价值这些基本的经济学理论以及现金流的相关概率这些基本的统计学思想。如果拘泥于术而非艺,那路就会越走越窄。想要路变得越来越宽可以学FRM。
完善下表,48小时内查收全套FRM备考资料
FRM全球微信群入群方式:添加FRM小助手微信“FRM201605”即可邀您入群 ;
FRM官方交流群:392417118(
▎来源FRM考试网,更多内容请关注微信号金程FRM。原创文章,欢迎分享,若需引用或转载请保留此处信息。
python成为金融编程_想做金融矿工,会写Python和C++就够了吗?相关推荐
- python 架构师课程_想做架构师应该怎么学习?
阅读本文大概需要 5分钟. 昨天写的一篇,关于架构师是做什么的文章,之后就有读者在后台问起,说要想成为架构师要具备那些方面的知识,那今天就让我们一起来扒一扒. 曾经有这么个段子:甲:我已经应聘到一家中 ...
- python考试怎么过_想准备2021年三月份的Python考试,应该怎么准备呢?
Python作为编程语言,在近几年大火起来,18年便被列为计算机二级考试科目之一,在计算机二级考试上.很多同学应该会选择python程序设计进行报考,下面分享一下如何准备考试. 具体内容 一.试题类型 ...
- Python少儿创意编程_新年快乐音乐贺卡.py 作者:李兴球
"""Python少儿创意编程_新年快乐音乐贺卡.py 风火轮少儿编程就是原来的星空培训(萍乡星空少儿编程). 本程序使用python3.7,需要准备枕头模块 ...
- 代写python作业费用标准_代做159.272作业、代写Programming Paradigms作业、代做Python实验作业、代写Java/c++编程作业代写Database|代做R...
代做159.272作业.代写Programming Paradigms作业.代做Python实验作业.代写Java/c++编程作业代写Database|代做RComputational Thinkin ...
- python主要用于系统编程_一文带你了解python是什么?能做什么?为什么(附赠40G项目实战+绝版电子书)...
什么是 Python? Python 是一门流行的编程语言.它由 Guido van Rossum 创建,于 1991 年发布. 它用于:当然小编这里也准备一份适合你的学习资料爬虫 ,python学习 ...
- python学哪些东西_想要自学Python ,需要准备什么东西?
学习Python这门技术,你需要保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符.想要学习Python拿高薪,你要学习满足企业需要的技术,比如Python基础.Linux.Web全栈 ...
- python简单的编程_简单的Python2.7编程初学经验总结
如果你从来没有使用过Python,我强烈建议你阅读Python introduction,因为你需要知道基本的语法和类型. 包管理 Python世界最棒的地方之一,就是大量的第三方程序包.同样,管理这 ...
- python人工智能工程师要求_想跻身高薪的AI人工智能工程师,你需要符合哪些条件?...
很多人听说了人工智能,也想进入人工智能领域,不错,这确实是一个非常年轻的领域,从名词提出到现在也就60年左右的时间而已,相对其他科学都有上千年的发展,人工智能确实是非常年轻的科学,年轻就意味着:一切均 ...
- python怎么开始编程_如何开始第一个 Python 编程实践项目?
导语:上期我们谈了谈如何高效的入门 Python 编程,了解了 Python 的编程环境以及常用的包,如 Pandas.Matplotlib.Numpy 等.这次我们将以实践项目的形式,帮助大家快速的 ...
最新文章
- C#调用API向外部程序发送数据(转载)
- 你真的很熟分布式和事务吗?
- 07-01-安装-Exchange Server 2019 on Win 2019 Core
- 设计模式 之 工厂模式
- sqlyog怎么设置默认值_物联网卡三网APN设置
- HttpContext.Current.Cache和HttpRuntime.Cache的区别,以及System.Runtime.Caching
- c语言怎样得到函数内参数的值_MySQL之自定义函数
- 这行的压力还是比较大的
- tomcat发布web项目
- python开发自动化测试工具_Moler首页、文档和下载 - Python 编写真的自动化测试工具包 - OSCHINA - 中文开源技术交流社区...
- linux:nohup 不生成 nohup.out的方法
- 教你如何认识各种光纤接口类型
- html基本标记练习钱塘湖春行,《钱塘湖春行》练习题及答案
- 动手学深度学习 - 11.1. 数学符号 (notation)
- Java实现Telegram机器人
- Linux虚拟机在线添加GPT格式硬盘
- 水产品进口手续及报关清关注意事项2021-08-27
- w7计算机删除图标不见了怎么办,win7小电脑图标不见了怎么办
- Max22——导出FBX让windows默认3D查看器可见模型和贴图
- GTOP@全球CEO发展大会 燃焕全球科创力场