量化交易为什么独宠Python

“我在学一门叫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中文识别量化,这可能是最简单的量化了,连中文模块都省了,直接打中文告诉电脑要选什么股,就像和人打中文字交流一样。例如以下界面:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/553493.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构-栈和队列刷题集(长期更新)

文章目录 万能计算器的实现以及源码分析1. leetcode 150 逆波兰表达式求值 万能计算器的实现以及源码分析 /*** 我们尝试写一个完整版的计算器,由于计算机不能很好的识别括号,所以一般要转换为逆波兰表达式求解* 思路解析 :* 1. 输入一个 中缀表达式* 2. 中缀表达式转化为list…

Python 数据结构和算法实用指南(一)

原文:zh.annas-archive.org/md5/66ae3d5970b9b38c5ad770b42fec806d 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 数据结构和算法是信息技术和计算机科学工程学习中最重要的核心学科之一。本书旨在提供数据结构和算法的深入知识,以及编程…

28岁转行嵌入式适合转嵌入式吗?

转行到嵌入式领域是一个很好的选择,特别是如果你对电子技术、嵌入式系统和软硬件交互感兴趣的话。我这里有一套嵌入式入门教程,不仅包含了详细的视频 讲解,项目实战。如果你渴望学习嵌入式,不妨点个关注,给个评论222&a…

信息系统项目管理师0054:运维和服务(4信息系统管理—4.1管理方法—4.1.4运维和服务)

点击查看专栏目录 文章目录 4.1.4运维和服务1.运行管理和控制2.IT服务管理3.运行与监控4.终端侧管理5.程序库管理6.安全管理7.介质控制8.数据管理4.1.4运维和服务 信息系统的运维和服务应从信息系统运行的视角进行整合性的统筹规划,包括对信息系统、应用程序和基础设施的日常控…

C语言的OJ判题机设计与实现

1. 接收判题入参 判题需要作答代码、测试输入和期望输出、编译器名称、时空限制。对于支持special judge的还需要传入是否为sj和sj代码。推荐使用消息队列,应对高并发的比赛情况会比较好。 但是消息队列是异步的,我为了快点实现能提交后在当前页面获得判…

Elasticsearch:(一)ES简介

搜索引擎是什么?在不少开发者眼中,ES似乎就是搜索引擎的代名词,然而这实际上是一种误解。搜索引擎是一种专门用于从互联网中检索信息的技术工具,它主要可以划分为元搜索引擎、全文搜索引擎和垂直搜索引擎几大类。其中,…

AIGC算法1:Layer normalization

1. Layer Normalization μ E ( X ) ← 1 H ∑ i 1 n x i σ ← Var ⁡ ( x ) 1 H ∑ i 1 H ( x i − μ ) 2 ϵ y x − E ( x ) Var ⁡ ( X ) ϵ ⋅ γ β \begin{gathered}\muE(X) \leftarrow \frac{1}{H} \sum_{i1}^n x_i \\ \sigma \leftarrow \operatorname{Var}(…

【中级软件设计师】上午题08-UML(下):序列图、通信图、状态图、活动图、构件图、部署图

上午题08-UML 1 序列图2 通信图3 状态图3.1 状态和活动3.2 转换和事件 4 活动图5 构件图(组件图)6 部署图 【中级软件设计师】上午题08-UML(上):类图、对象图、用例图 UML图总和 静态建模:类图、对象图、用例图 动态建模&#xff…

【简单介绍下PostCSS】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

仿真测试的应用领域

仿真测试在各种领域中都有广泛的应用,以下是一些应用最广泛的场景: 工业制造:通过模拟制造过程,可以预测产品的质量和性能,优化生产流程,降低成本。航空航天:飞机、导弹、航天器等的设计和研发…

AWS Key disabler:AWS IAM用户访问密钥安全保护工具

关于AWS Key disabler AWS Key disabler是一款功能强大的AWS IAM用户访问密钥安全保护工具,该工具可以通过设置一个时间定量来禁用AWS IAM用户访问密钥,以此来降低旧访问密钥所带来的安全风险。 工具运行流程 AWS Key disabler本质上是一个Lambda函数&…

如何访问内网?

在互联网万维网上,我们可以轻松访问各种网站和资源。但是,有时我们需要访问局域网内的资源,例如公司内部的文件共享、打印机等。本文将介绍几种方法,帮助您实现访问内网的需求。 内网穿透技术 内网穿透技术是一种通过互联网将局域…

SQL表连接详解:JOIN与逗号(,)的使用及其性能影响

省流版 在这个详细的解释中,我们将深入探讨SQL中表连接的概念,特别是JOIN和逗号(,)在连接表时的不同用法及其对查询性能的影响。通过实际示例和背后的逻辑分析,我们将揭示在不同场景下选择哪种连接方式更为合适。 1.…

Mysql查询表的结构信息 把列名 数据类型 等变成列数据(适用于生成数据库表结构文档) (二)

书接上文 Mysql查询表的结构信息 把列名 数据类型 等变成列数据(适用于生成数据库表结构文档) (一) 好,怎么生成文档呢?很简单 用navicat 或者sqlyog navicat操作如下 举个例子 如下查询结果 全选查询结果,右键,复制为指标…

什么是神经网络和机器学习?【云驻共创】

什么是神经网络和机器学习? 一.背景 在当今数字化浪潮中,神经网络和机器学习已成为科技领域的中流砥柱。它们作为人工智能的支柱,推动了自动化、智能化和数据驱动决策的进步。然而,对于初学者和专业人士来说,理解神经…

使用CCS软件查看PID曲线

在刚开始学习PID的时候,都需要借助PID的曲线来理解比例,积分,微分这三个参数的具体作用。但是这些曲线生成一般都需要借助上位机软件或者在网页上才能实现。如果是在单片机上调试程序的话,想要看曲线,一般就是通过串口…

[Algorithm][滑动窗口][长度最小的子数组] + 滑动窗口原理

目录 0.滑动窗口原理讲解1.长度最小的子数组1.题目链接2.算法原理讲解3.代码实现 0.滑动窗口原理讲解 滑动窗口:“同向双指针”滑动窗口可处理「⼀段连续的区间」问题如何使用? left 0, right 0进窗口判断 是否出窗口 更新结果 -> 视情况而定 可能…

使用Canal同步MySQL 8到ES中小白配置教程

🚀 使用Canal同步MySQL 8到ES中小白配置教程 🚀 文章目录 🚀 使用Canal同步MySQL 8到ES中小白配置教程 🚀**摘要****引言****正文**📘 第1章:初识Canal1.1 Canal概述1.2 工作原理解析 📘 第2章&…

数据赋能(60)——要求:数据服务部门能力

“要求:数据服务部门实施数据赋能影响因素”是作为标准的参考内容编写的。 在实施数据赋能中,数据服务部门的能力体现在多个方面,关键能力如下图所示。 在实施数据赋能的过程中,数据服务部门应具备的关键能力如下。 业务理解和沟…

C++:文件内容完全读入

在上一篇文章中我留下了一点小坑:使用>> 运算符,这个运算符默认将空格作为分隔符,所以在文件内容读取的时候发现在读到空格时就会停止读取,导致读取内容不完整,这显然不符合日常的使用用能,那么今天就…