量化交易是指借助现代统计学和数学的方法,利用计算机技术来进行交易的证券投资方式,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下,作出非理性的投资决策。”
即为根据一系列交易条件,智能化辅助决策体系,将丰富的从业经验与交易条件相结合,在交易过程管理好风险控制。
如果想学习量化交易,编程就是一个基础性的工作了。
就目前的情况看,量化交易员的大致选择有:
低级语言:C、C++
高级语言:java、C#
专用统计计算语言:R、Matlab
功能强大的office:excel。
近几年风靡全球的脚本语言:python
今天我们就将这些编程语言做个对比。
01
C、C++
C、C++ 速度最快,适用于追求极致高频交易,但学起来有点痛苦,对于新生代程序员来说成本较高。
C语言的理念是充分相信程序员自身的能力,语言自身既没有语法糖,也没有严格的编译检查。
几乎所有现代编程语言都脱胎于C语言,因此了解了C,就了解了关于编程语言的一切,有利于快速掌握其他各类语言;几乎所有操作系统都支持C语言,跨平台性好。
不过,C语言也有一定的学习难度,如果你不能熟练掌握,那么它就不会给你输出更多的生产力。尽管C语言体型小巧,可最常使用的C++规模可观且拥有大量极为复杂的功能交互方式,容易造成资源浪费。
C++学习曲线过长,里边不少艰深的概念,比如指针、虚函数、模板等让初学者一头雾水,即使是科班出身的专业人士也时常面临挑战。
很可能投资者在真正能够着手用C++设计策略前,需要学习大量与策略毫无关系的计算机理论。在这个过程中的各种挫折可能就让投资者打了退堂鼓。
02
Java、C#
Java、C# 编程简单,但接口少,很多函数需自己完成。
Java语言不仅吸收了C语言的优点,还摒弃了C语言中难以理解的多继承、指针等概念。
另外,由于垃圾回收器GC的存在,令人头疼的指令问题与内存泄漏在Java的世界上基本不存在了。
在JVM虚拟机的加持下,Java语言的下限通常较高,即使是初级程序员也能通过Java实现比较高的生产力,甚至比中级程序员使用C的生产力还高,但Java的上限不如C和Rust高。以及Java占用较大内存,启动时间较长等不足。
所以,Java在学习难度、生产力、性能、内存消耗等方面,目前相较于其他语言来说,比较均衡。在量化上面没有C++和Python那么受欢迎。
Excel 对于大量的数据来说,会力不从心,面对GB级别的数据无能为力,这里直接排除。
03
R、Matlab
R、Matlab早期的数据分析统计使用,功能强大,学习曲线陡峭,内置功能多,多用于发paper,做分析,实际开发有大量代码的工程时有一定难度。
从事物理、数学通信等专业研究的在做工程仿真、算法建模时首选就是matlab,写起来方便。
R语言里有不少量化投资相关的包如quantmod、quantstrat、blotter、ttr,在学术界和统计界实际使用的不少。
04
Python
Python 功能强大、入门简单、接口丰富,可以进行采集、自动化程序处理、网站开发等,并且现在已经成了业内的主流了。
Python是世界上最简单易学的完整计算机语言,没有之一。
有句话说,Python不一定是计算机从业者的第一语言,但一定是非计算机从业者的第一语言。单从语言的维度看,在量化交易领域,Python已成为绝对主流,具有压倒性优势,很难被其他语言代替。
在量化策略的开发和实现上,Python应该是最容易入门的,对比起其他编程语言,Python是更简洁,更简单易学,很多程序员都认为它应该算是最简单代码的开始。
往往执行同一个任务,其他编程软件需要4-5行代码,而Python只需要短短1句。
ps:喵喵准备了Python入门的视频教程,有需要的可以来领取哦。
同时,Python它的兼容性比较好,它在编程界被称为“胶水语言”,因为它可以将其他语言制作的模块(尤其是C/C++)联结起来。对于小白用户来说,它具有强大且丰富的库,封装后可以轻松调用。
而且现在大家都尝试跨界找工作,对于跨界党来说,金融人需要懂一点编程,Python语言的可读性很强;而技术需要懂一点金融原理,Python有各种包和库可以直接调用,自然而然Python也就成为了量化者的首选。
最后,喵喵给大家准备了一些量化学习的资料,大家可以在文章末尾加我好友领取哦~~~
所以做量化交易可以用的编程语言有很多,主要切合的自身的情况,以及交易状况来定。
看完别忘了点个赞哈~biubiu~
-END-
* 本文内容为原创文章,转载可在后台留言申请开白名单,凡不按照要求转载一律视为侵权,违者必究。本文内容仅为作者个人观点,仅供参考,如包含投资建议,请慎重决定。投资有风险,入市需谨慎。



