前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5倍提升,加速CPython!Quant如何看?

5倍提升,加速CPython!Quant如何看?

作者头像
量化投资与机器学习微信公众号
发布2021-07-07 16:01:40
1.1K0
发布2021-07-07 16:01:40
举报

今天既有正经推文,也有量化八卦~

去年11月,Python 之父Guido van Rossum宣布了他已经加入微软的消息:

在微软的日子里,他获得了选择项目的自由,并决定让CPython变得更快。微软将资助一个由Guido van Rossum、Mark Shannon(加速计划的提出者,精通 Python 性能研究)、Eric Snow(Python 核心开发者之一、微软高级工程师)等多人组成的小团队来加速CPython。

团队将需要在一些约束条件下工作。比如:他们需要保持代码的可维护性,不破坏稳定的ABI兼容性,不破坏有限的API兼容性,不破坏或降低极端情况的速度,比如在eval堆栈上增加100万个用例。

加速CPython!

在今年2021 Python语言峰会上,Guido Van Rossum在表示:他打算在2022年10月发布3.11版本时将快CPython的速度提高1倍。在接下来的四年里,他的目标是将CPython的速度提高到原来的5倍。

相关阅读

最新!想学CPython,Python之父Guido亲上阵

整个计划被称为“香农计划”(即“Shannon Plan”,得名于提出者),期望花 4 年时间把 Python 提速 5 倍,即每年 1.5 倍。现在短期的计划是在 Python 3.11 版本中实现至少提速 1 倍。

按照官方的发布周期,今年 10 月会发布 3.10 版本,而 3.11 版本将在 2022 年 10 月发布。

对于3.11版本的短期目标,Guido还是在ppt中给自己兜了个底:

根据Guido的分享,第一项优化工作是“适应性的、专门的字节码解释器”,相关的设想已经起草到 PEP-659 中:

其它的优化内容还有:

  • 优化帧堆栈,更快的调用,调整分配(optimize frame stack, faster calls, tweak allocation)。
  • 2开销”异常处理(“Zero overhead” exception handling)。

以及这些工作:

这些优化工作都要在不破坏接口兼容性的前提下实现,同时还要保持代码的可维护性。

谁将从中受益?

1、运行CPU密集型纯Python代码的人

2、内置Python的网站的用户

对哪些人群效果甚微?

1、对于已经用 C 语言编写的代码(如 NumPy 和 TensorFlow)

2、I/O-bound 代码

3、多线程代码

4、及算法效率低下的代码

同时,团队还创建了一个GitHub org,包含几个 repos:

https://GitHub.com/faster-cpython/

Van Rossum说道,基于Python工具的用户可以从这些变化中受益。从理论上讲,这可能包括像小摩(JPMorgan)、美国银行这样的投行,它们在风险定价系统中大量使用Python语言(尽管小摩在Python2向Python3方面切换已经很晚了)。同时,还包括使用Python进行数据分析的金融公司。

Van Rossum没有评论这些变化对Python金融用户可能产生的影响。然而,考虑到C++比Python快100倍以上,它不太可能让Python在短期内适用于交易系统。

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/gpp-python3.html

量化圈内人评价

Citadel的前量化分析师Jeffrey Ryan评价道,Python的速度提高2-5倍在金融领域不会产生多大影响

Python中使用的大部分繁重的计算代码已经在内部使用了C(或c++ /Fortran),比如blas/lapack/numpy/tensorflow等。你可能会像这些库一样,用C++编写一次,然后像这些库那一用Python封装它。

Jeffrey Ryan还说:即使Python在2022年及以后确实变得更快了,今日领域的用户可能会慢慢接受它的新迭代。对于大多数人来说。从2. x到3. x的变化太痛苦了,不想再经历一次。如果非要有什么不同的话,Jeffrey Ryan建议到:“我认为这可以让人们重新考虑使用Python,并转向更有意义的新语言,比如Julia或Golang。”

量化八卦时间

说起Jeffrey Ryan,公众号给大家多扯一扯

Citadel,每个人都想为之工作的对冲基金,但其竞业协议也是很苛刻!

2009年,Citadel向其高频交易公司前负责人Mikhail Malyshev支付了每月3万美元的补偿费,但当Mikhail Malyshev试图在竞业禁止期间成立自己的公司,Citadel将他告上了法庭。

2011年,Yi Zhang在卡内基梅隆大学获得机器学习博士学位,并在IBM的Watson研究中心担任研究实习生后加入Citadel。在接下来的6年里,他成为Citadel芝加哥办公室的量化研究员,从事统计套利和高频交易"Alpha Generation”的研究。2017年,Yi Zhang离开了Citadel。因为他有2年的竞业协议!

虽然严格,但是这还是不能阻止所有人对头部对冲基金的热情!

同样,2019年6月,Jeffrey Ryan离开了Citadel,但是竞业协议让他一段时间内不能在同行工作了。对于Quant来说,这是一件大事,因为Ryan不是一位普通的量化专家,他很特别!

如果你是R语言的一名爱好者的话。他组织了广受欢迎的R/Finance会议(现在已经是第11个年头了):

他编写了流行的xtx工具,用于处理在R语言中不同的基于时间的数据类:

他还编写了quantmod(Quantitative Financial Modelling Framework),该框架已被下载数百万次,用户可以构建、交易和分析量化金融交易策略:

今年,Jeffrey Ryan结束竞业期,他并没有去外界传闻的Point72,而是成立了一家量化咨询公司,名为:Quant at Large。其主要工作是帮助独立投资者和基金管理者掌握量化交易的所有相关知识,从软件、算法到数据pipelines、分析工具、Alpha研究、计算资源、风险和性能工具等,啥都有!

目前还不清楚Jeffrey Ryan是否会承担Quant at Large的所有工作,但目前看来他是唯一的员工。正如Jeffrey Ryan在他简历中写的,他在量化金融领域工作了20年。他于2013年加入Citadel量化策略部门,当时该基金刚刚起步。在此期间,他帮助团队构建了围绕“数据处理、Alpha验证、风险管理和高性能计算”等工具。

所以他做这个信手拈来啊~

量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业20W+关注者,连续2年被腾讯云+社区评选为“年度最佳作者”。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 谁将从中受益?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档