Heim  >  Artikel  >  Backend-Entwicklung  >  金融工程现在用python多吗?

金融工程现在用python多吗?

WBOY
WBOYOriginal
2016-06-06 16:22:152276Durchsuche

现在上有关numeric analysis的课时,都用Python,实际工作时候呢?

回复内容:

对于不同的quant岗位,使用的软件大不相同。
如果是做定价模型的,可能最经常用的是matlab,因为语言简单,扩展包优良。对于不需要对时间有要求的衍生品定价,最为适合。
如果是做高频交易,最常用的是C++,因为速度快。有很多的高频公司,都有自己写的底层包,并为此花了大量的人力和物力去维护。
如果是写盈利模型的,会更多的选择R。R里面有很多前沿的统计模型包。对于统计分析和时间序列处理非常强大。但是扩展包没有matlab的稳定。
对于Python 而言,更像是一种全能的编程需要。无论是网络抓包,统计分析,还是数值分析,都有还算不错的方案。但是,在专业领域方面,还是弱于上边提到的语言。
其实在不同的金融公司,有着不同的语言使用传统,有的喜欢C++,有的喜欢C#,有的喜欢Java。但是对于一个成熟的公司而言,需要对这些语言都提供良好的支持。毕竟一个好的trader是十分难得的,难道就因为使用语言的不同就拒绝能让他发财的人才么?
其实,软件只是一个载体,思想才是最核心的。我工作的地方,大家都用VBA。交易的时候,满屏的Excel。只要能完成工作,谁管你用什么语言。 先来结论:工具和语言不是重点。数学能力和市场理解才是。

本人去过几间国际大行,主流工具有

1. 公司自主平台上的C++
2. 公司自主平台的Python
3. Matlab
4. R

其中1和2之所以要强调自主平台 主要是因为其重要库和部分语法都是定制的,基本可以看作半个独立语言了。自己在外学习意义不大。公司内高级码农一大堆,一个quant的主要能力其实是数学能力,其他能写就可以了。

在大型基金也是一样。小型基金什么行什么上,vba都有。 先正面回答题主的问题,在金融工程领域,Python不但在用,用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测。

也有一些例外:
1、过去形成了其他语言为主的体系,比如平台以C++编写,API都是C++的,老人也熟练C++,那么他们以C++为主。
2、有些机构以研究为主,也许他们使用Matlab,R。
3、C++、JAVA、VB等各种语言的天才Coder,我只能远距离膜拜,你们用汇编也比我的效率高十倍,你们是我心目中的神。

再描述一下自己,按照知乎上的分类,我应该算一个Trader,一个会写程序的Trader。我的工作是分析数据、发现规律、制定和验证策略,然后交易,然后优化调整,往复循环。我们用自动交易,但高频交易不是我的范围。
我个人是从C/C++转向JAVA,然后又转向Python,原因无他,效率。人的精力有限,写程序的时间多,交易赚钱的时间就少,我的团队也非常认同我的想法。
我偏好Python的原因:
1、正确就是效率。越复杂、越低级的语言,出错率越高,BUG导致数据分析错误、交易策略程序崩溃,轻则错失交易机会,重则交易策略本身导致亏损,那种欲哭无泪的感觉...
2、Python重在开发效率,设想同一个交易策略,我已经完成回测,给老板打报告申请交易额度了,而你还在调试C++,老板不会认为你勤奋,老板会认为你是某种动物,再往远想想,比如年底咱俩的红包厚度...。
3、Python的性能不差,Python还是调用C库,再考虑PVM,其实和C的性能差别基本上可以忽略不计。确实在乎相差的微小性能,建议花2万块买个最新的MAC PRO,直接秒杀。你说什么?单位不给拨预算?为了快感,自费行不行?。
4、语言不是主要性能瓶颈,网络、设备等造成的影响更大,比如C++程序快了2us,而网络延迟就耗去了1ms。

我熟悉的同行,了解Python的,有能力的都在往Python转,也有一部分是程序员说了算,转不了的,你们懂的。

再扒一扒前面几个例外情况,这部分作为娱乐,不属于内容:
第一种,就是有历史积累的那种,说的好听是知识库,说的不好听那就是历史包袱。老平台上绝大多数策略都已经失效了,早都该推倒重来了。
第二种,那些卖分析报告的,那些用Matlab,R的,也许可能还是个实习生,甚至从来就没有交易过,他的报告可靠吗。再进一步,如果报告是可靠的,他为什么不自己交易,再造一个文艺复兴,为什么要告诉你呢,他是大傻?或者买报告的是大傻?


两天没来,关注的人多,澄清一下。发这贴的时候深夜刚加完班,在车上手机草草打的,言辞草率,对兄弟不敬,先道歉。
A股行情火爆,这几天都在加班,刚睡醒,说错了请包涵。今年执行策略有几个不错,如果大家有兴趣,我可以分享两个,当然还是讨论Python在金融工程的应用为主。
======================================================================
原来写的在这:
先说排名第一的,一看你就是个外行,人家问Python,你要是懂,就直接跟人说Python,不懂还要装逼,知乎上净是你这种货色。
还有那些说工具不重要的,你干脆别用计算机了,回去用纸笔行不行,只要半辈子就能跑一条策略了,你一辈子能跑两条呢,别着急,慢慢来。
作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测,早就是各大行的首选。

都什么年代了,一台PC的性能就远超过去的大型机,谁有功夫给你c和c++,就知道瞎bb。 看看5年前的文章
Python有望成为金融语言

infoq.com/cn/news/2010/

金融行业用Python,R做研究都比较常见。 Python 配合科学数据计算模块,能做很多事了。 如果从整个美国这边quant行业来看,quant们用python应用比例还是挺高的,三四种主流语言之一吧。引用一位数学博士姐姐的话,python is the second generation language 相对于C++。工程的孩子可能用matlab更多,而医学统计等则用SAS。事实上认真学,做项目,学起来很快 一个月熟悉,三个月熟练。

Programming语言 其实就是用英文 +符号+ 数学发明的一种针对计算机的语言。如果这三个你都掌握的不错,就直接开始学吧,不要纠结啦。。。 quant的核心能力就是有什么迅速学什么,迅速掌握就好了。加油!以上~ 先说排名第一的,一看你就是个外行,或许你涉及过一两个行业,但是就金融来讲,你就不要不懂装懂了,知乎上净是你这种货色。
不同的业务类型,不同的功能部分,不同的公司文化,不同的团队技能熟练度,决定着业务用什么语言开发,用什么硬件架构,选择何种数据库,选择何种开发模式。
python上手快,开发速度快,生产效率高,依然有其力所不能及的地方,不懂就别瞎bb了。 软件和工具不是重点,训练得多就能初步上手,关键还是数理基础和应用能力
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn