干货分享 | 要想成为一名优秀的 Quant 需要什么样的编程水平?

大家好, 我是Lucy@FinTech社区。

今天这篇文章将和大家聊聊,要想成为一名优秀的 Quant ,需要什么样的编程水平

欢迎大家添加微信fintech12,或扫描底部微信,加入FinTech社区,提认知,攒人脉,求职招聘!

 

Quant本质上还是程序员。优秀的程序员的效率可以甩普通程序员几十条街,所以编程技能肯定是越强越好,很难有标准限定掌握到什么程度。

国内外圈内Quant普遍拥有数学或物理等学术背景,这是因为量化交易所需的核心技能是高级编程技能和数值算法实现,而这些技能是拥有物理等学科背景的人所必备的,在日积月累的科研熏陶中浑然天成的东西。

如果没有相似的学术背景,那么通过提升和掌握相关编程技能,成为一名优秀Quant也是可能的。结合相关的学习和从业经验,与大家分享自己的心得(如果你能从中再悟道,财富自由就在前面向你招手!)。
 

一、编程技能

首先,Quant是软件开发人员,几乎所有的决策都是基于编程。 在工作中经常需要从头开始开发优化交易原型或交易基础架构。 

优秀的Quant,必须学习掌握C++和Python。

 

成为一名优秀C++程序员的建议:

1. 通读Andrew Koenig所著《 Accelerated C ++》的全部内容。 这本书将让你全面了解C++语法,特别是里面详细介绍指针和内存管理, 这是许多程序员熟悉的领域。最好在电脑上实现书中所有示例,以练习掌握C++语法,而不只是阅读语法!Show Me The Code!

2. 反复地读Scott Meyers的《Effective C ++》。 虽然书中有很多难度极大的例子,有些要费很多精力去实现,但是掌握里面的所有内容之后,会让你内力大增,让你c++编程水平得到质的提升。这本书将带你从初学者C ++程序员变为中级程序员(哇哦)。

3. 除了上面两本书还应当读一读Scott Meyers的《More Effective C++》和《 Effective STL》,怎样写高效的代码。 当然还需要学习下Boost库,多线程编程和Linux基础知识等等,这些内容都是c++编程达到专家水平所必备的。

 

点击链接查收C++干货:

独家 | C++ 技术干货合集!
 

技术 | 必看!纳秒级的C++工具!
 

成为一名优秀Python程序员的建议:

1. 对于刚入门或者已经有相关编程经验的程序员,都推荐Mark Lutz的《Learning Python》,全面学习Python的相关知识。

2. Mark Lutz的《 Python编程》教你用Python构建应用程序。教你如何运用在《Learning Python》学的基础知识,构建应用程序。学完这本书你会对Python的掌握更上一层楼。

3. 对于入行的Quant,使用Python进行数据分析是绝对必需的。这里推荐Wes McKinney《Python for Data Analysis》,里面涵盖了很多的好用的库,例如SciPy和pandas等等优质数据分析库的使用,让你的Pythhon数据分析能力极大地提升。
 

二、软件工程

要成为一名优秀的Quant开发人员,必须了解如何编写大型软件项目。 对于现代软件开发,要懂得版本控制,持续集成和其他敏捷实践。下面是助你掌握软件工程相关知识的学习计划:

1. Steve McConnell的《Code Complete》和Robert Martin的《Clean Code》。这两本书都会引导你认真思考,学习从第一原理开始的软件设计方法。例如开工之前,要花多少时间在设计软件上?建议尽可能快地将书中的技巧应用在项目中,把不良的软件设计习惯消灭在萌芽中。

2. 如果不提《设计模式》(即“Gang Of Four”),就不配对软件设计进行全面的讨论。这本书用类C ++语言写的,尽管与Python之类的脚本语言无关, 但你会发现,你在代码中或多或少的使用了书中提到的设计理念。这本书可帮你确定何时以及在何处使用这些设计模式。当然对于学习而言,这本书很难读,但是建议尝试选择书中最常用的2、3种设计模式学习,例如Factory,Decorator或Singleton,然后再逐步展开学习其它的模式。

3. 当有多个团队成员进行大规模软件项目时,版本控制软件是必不可少的。因此必须掌握掌握SVN和Git。推荐一本免费学习Git的电子书Pro Git,建议迅速学习掌握, 这样可以在开发的时候节省时间。

 

三、数据库交互

Quant日常工作中的关键组成部分之一是与数据库进行交互。因此,要熟练掌握数据库相关知识。这需要学习数据库及SQL。常见的数据库包括 SQL Server,Oracle和MySQL。

 

1. 如果你对SQL不熟悉,这里推荐Alan Beaulieu的《Learning SQL》。这是一本很好的入门书(当然其它SQL书也可以,因为SQL并不是很难)。它涵盖了存储、访问和提供数据报告所需的所有初级和中级SQL。还介绍了数据库优化。这本书几乎包括了所有Quant日常操作数据库的相关内容。

2. 尽管Quant通常不是数据库管理员,但如果你希望了解有关数据库优化特别是MySQL高级优化的更多知识,推荐以下两本书:《High Performance MySQL》和《MySQL High Availability》

 

当然成为优秀的Quant需要掌握的编程技能包括但不限于以上,仅为一家之言。

如果你有更多知识想和大家分享,欢迎添加微信Fintech12,加入社群一起交流讨论!

 

近期热招: (点击标题,即可了解详情) 

招聘| 白鹭资管-上海/杭州
 

岗位直推 | 黑翼资产
 

兼职招聘 | 机器学习讲师
 

【招聘】概率量化投资-上海
 

招聘 | .Net开发高级工程师-上海