为什么几乎所有的量化交易都用Python?

头像
2021年10月14日 1,353 浏览 状态问题有人回答啦,大家来学习一下吧~
首页 问答 为什么几乎所有的量化交易都用Python?
问题详情

使用Python带来了哪些优势?有什么其他差不多的语言吗?

版权:言论仅代表个人观点,不代表官方立场。转载请注明出处:http://www.muanyun.com/question/497.html

发表评论
2 条评论
2021年10月14日 下午10:40 回复

就像潘石屹曾经说过,我个人也非常赞同的,在一众编程软件中,Python整体编辑逻辑是最接近人的日常语言,是“进化最好”的,可读性最强。

首先看看Python的整体优势

在量化策略的开发和实现上,用Matlab、C、C++的也不是没有,但在这个需要跨界互抢饭碗的时代,Python应该是最容易入门的,对比起其他编程语言,Python是更简洁,更简单易学,很多程序员都认为它应该算是最简单代码的开始。往往执行同一个任务,其他编程软件需要4-5行代码,而Python只需要短短1句。

同时,Python它的兼容性比较好,它在编程界被称为“胶水语言”,因为它可以将其他语言制作的模块(尤其是C/C++)联结起来。对于小白用户来说,它具有强大且丰富的库,封装后可以轻松调用。而且现在大家都尝试跨界找工作,对于跨界党来说,金融人需要懂一点编程,Python语言的可读性很强;而技术需要懂一点金融原理,Python有各种包和库可以直接调用,自然而然Python也就成为了他们的首选。

因此在TIBOE编程语言排行榜里Python在近几年排位一直都在上升,从2013的第8位,到2018上升到第3位(9月第一次冲上第3,10月微弱劣势排在第4),而排在前三的是Java、C、C++。

再者,也就是由于Python本身的简单易学,让其在市面上广为流行,随便一搜,轻轻松松便也可以从不同地方获得了几十G的资料包,从编程到算法一应俱全,只要愿意学,自然而然Python也就成为大家眼中的网红语言,资料确实很多,不过建议感兴趣的还是从基础还是打起,配合实际操作来锻炼。

2021年10月14日 下午10:46 回复

我在学一门叫Python的语言”。“什么是Python,没听说过啊,为什么不学C++啊”。这是发生在2014年,上海的一家量化基金,量化研究员和老板之间的对话。

“我想问一下关于Python的课程,什么时候能开班”。“Python啊,学的人特别少,满XX人才能开班,可能要等好几个月,C++考虑吗,JAVA和PHP呢,这几门语言的课程,报名了立即就能开班”。这也是发生在2014年,上海的一家IT培训机构,学员和客服之间的对话。

如今的2021年,哪家量化基金公司的老板,要是没听说过Python,可能会被人怀疑,是否还属于人类这个物种。而在IT培训机构,Python已成为最火爆的课程,没有之一。

Python为什么发展这么快

Python,由程序员Guido van Rossum,于1989年圣诞假期着手开发,在1991年,初代版本面世。从1991年到2014年,Python名不见经传,却在2014年之后爆发式发展,大器晚成。Python的火爆很大程度上是由于移动互联网的发展,信息量和数据量大幅增加,从而带动了对大数据的处理需求,并推动了人工智能技术的发展,而Python则搭上了大数据和人工智能的快车。

但同样是大数据和人工智能的爆发,为什么搭上这趟快车的是Python,而不是其他语言,这就要从Python的核心优势讲起。

Python的核心优势

早在2014年之前,量化行业是被C++、Matlab所垄断。量化策略研究员,往往计算机能力有限,需要使用简单的编程工具,像Matlab这样,对编程能力要求不高,又可以运用大量数学模型的工具,就成为量化策略研究员的首选。但是Matlab最大的问题是,它并非独立的语言,量化策略研究员做出的策略,并不能直接实盘,还需要程序员将Matlab代码转化成C++代码来执行交易。这就使得从策略研究到实盘的流程非常繁琐。

并且2014年后,知识产权的保护越来越严,免费的Matlab越来越难拿到,量化基金公司不得不每年花费大量的金钱购买正版Matlab,按照每个量化策略研究员至少有一个正版Matlab的基本配置,每年光软件费就要花费几十万甚至上百万。

而这个时候,Python随着大数据和人工智能的爆发,已经在计算机行业,从一个小众语言,发展成为主流语言。量化基金苦于Matlab的痛点,一直在寻找可以替代Matlab的软件或语言。而Python几乎完美解决了这些痛点。

第一,Python是一门完整性的计算机语言,而不仅仅是依附于某一个商业软件的编程工具,这就使得Python具有很强的可拓展性,量化策略研究员用Python写出策略后,可以直接实盘运行,不再需要程序员帮忙转成C++。这也间接造成量化公司的一部分C++程序员失业,不过他们出路还不错,有些回到了计算机行业,普遍有涨薪。

第二,Python是开源语言,并且在大数据处理和人工智能方面有更丰富的库可供调用,完全免费。Matlab能实现的功能,Python都可以实现。Matlab不能实现的功能,Python也可以实现。量化基金公司纷纷转向Python,直接省下了每年几十万元的软件费用。

第三,Python是所有完整的计算机语言中最简单的。这点是Python的核心优势。同样的功能,用C++可能需要1000行代码,用JAVA需要300行代码,而用Python最多50行搞定。对于量化公司,Python满足了策略快速迭代的需求,毕竟商业世界,时间就是金钱。

Python简洁的设计理念,正如Python大神Bruce Eckel的原话“Life is short, I need Python”(人生苦短,我用Python)。这句话也被印在Python创始人Guido van Rossum常穿的T恤上。

Python的替代品

Python是世界上最简单易学的完整计算机语言,没有之一。有句话说,Python不一定是计算机从业者的第一语言,但一定是非计算机从业者的第一语言。单从语言的维度看,在量化交易领域,Python已成为绝对主流,具有压倒性优势,很难被其他语言代替。

不过,如果把视野拓展到商业金融软件自带的编程工具,而不仅仅是完整的计算机语言,在量化的世界,Python还是有替代者的。以下按编程难度从难道易排序。

一是以TradeStation、Multicharts、TradeBlazer为代表的专业期货量化软件。量化交易历史悠久,海外最广泛运用的量化平台是TradeStation。FuturesTruth每年评选的前十大期货策略,大部分就是在TradeStation软件上开发的。Multicharts、TradeBlazer基于TradeStation的逻辑,但在编程工具上做了优化,使量化策略研究员能够更快上手。虽然Python已经是世界上最简单易学的计算机语言,但在TradeStation、Multicharts、TradeBlazer这3个软件上编程的难度,仍远小于Python。

二是以文华财经、同花顺、通达信为代表的常规期货与股票软件。这3个软件自带的编程工具非常类似,简称“麦语言”。文华财经可实现期货自动交易,同花顺和通达信仅可用于量化选股。在这3个软件上编程的难度,又远小于TradeStation、Multicharts、TradeBlaze。

三是东财choice与Wind的条件选股。这块量化非常简单,连代码都不用写,直接按照中文的模块生成条件组合即可。

四是同花顺的AI中文识别量化,这可能是最简单的量化了,连中文模块都省了,直接打中文告诉电脑要选什么股,就像和人打中文字交流一样。

总之,针对交易者既不懂编程也学不会编程,但又想做量化的痛点,现在的金融软件,已经做到了:即使一个人完全不懂编程,不会写代码,只要他会打中文字,也可以做量化。

最后,如果想更多、更系统地了解量化,答主作为曾从事过量化工作的CFA持证人,认为比较好的阅读材料,就是CFA里的Fintech内容。戳以下链接可以免费获得相关材料。

扫描二维码

手机访问本站