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

为什么几乎所有的量化交易都用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恤上。

v2-c4fdd3b9801ea0d478b63e326002f352_1440w.webp
居中为Python的发明者Guido van Rossum

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的条件选股。这块量化非常简单,连代码都不用写,直接按照中文的模块生成条件组合即可。例如以下界面:

v2-633845da2b2ca5ca5c11bd5da9023694_1440w.webp
Choice软件的条件选股界面

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

v2-6cfb1739b7f5ce31ecc324dc2390400a_1440w.webp
同花顺软件的动态选股界面

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

原文链接:https://www.quant.bsiot.cn/?p=2150,转载请注明出处。
0
分享海报

评论0

请先
显示验证码
展开