欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Python 在金融领域的主要应用是什么?有哪些分类以及什么类型的金融公司会来应用?

程序员文章站 2022-06-15 20:52:08
...

回复内容:

python是一种动态编程语言,语法很简洁,某种程度上类似于matlab和SAS,结合python的几种强大的科学计算类库:NumPy(主要是数学基础方面的)、SciPy(数值计算上很强大,包含NumPy)、SymPy(符号运算库)、matplotlib(绘图库)、Traits(程序界面库)等,可以近似地替代matlab、C++和SAS三者。原因在于:

第一,python首先是一种完整的动态编程语言,虽然执行效率比不上C++,但是开发效率远远高于C++,学习成本较小,对于金融工程这种专业来讲比C++更加合适,毕竟我们自己做模型的时候更在乎的是如何快速实现模型,而不是模型运行快几秒钟,当然对于金融方面的大规模产品,还是用C++更加合适,这就是程序员的事情了,我们一般不会去编写几万行代码的程序。从这个方面来讲,python可以代替C++。

第二,python利用NumPy、SciPy、SymPy、matplotlib等类库,可以完成matlab 90%以上的功能,欠缺的只是极特殊的函数。而且这些都是免费的,中国现在虽然盗版很严重,但是明显正在向正版化的方向发展,以后谁保证能得到免费的matlab?这些类库也在一直发展中,超过matlab只是时间问题。不仅如此,python利用它的界面库做程序界面是非常方便的,用的VB的都还记得可视化编程的爽快,python也可以实现,而且可以实现的更好,这是matlab远远不足的地方。利用这个功能,我们可以用python做好程序后发布给其他人使用,就像使用word这种程序一样,这种方便程度是目前matlab远远不及的。再比如我们要抓取网上的一些数据,利用matlab就比较麻烦,而利用python就极为简单。python可以大大加快我们研究的自动化程度和简单程度,需要的只是好好学习一段时间python而已。

第三,python代替SAS。这个方面其实python没有明显的优势,在统计功能上比不过SAS,但是利用python的好处在于:我们不需要再次学习SAS语言,特别是对于金融工程专业来讲,没有那么多时间和必要性去学习SAS,我们又不是搞专业数据统计的。SAS的大部分功能python都可以实现,不过实现起来比SAS困难一些,对于金融工程专业的人来说,选择SAS还不如选择python+Eviews的组合,Eviews是非常简单,几乎不需要学习。python的学习比较简单,也非常值得。

选择python的最大好处在于可以节省学习的时间,而且弹性较强,可以适应未来多变的需求。剩下的时间不如去好好研究下怎么在金融工程理论与应用方面创新,就不需要浪费时间在学习工具上了。

另外如果需要写爬虫抓取金融数据的话python也是首选,推荐scrapy框架。 首先语言只是一个工具, 对于一个从业人员来说重要的是你掌握一种新的语言需要多少时间, 现在的街上如果你去Goldman你需要搞Slang(基本就是Python语法),去JPMorgan, BoA不管你是做core strategist(desk quant)还是中台后台都是用Python, 当然library quant还是在老老实实写C++ 至少在国际投行里面至少有一到两家在前中后台用python统一了生产环境的大多数系统(比如JPM的Athena)。虽说python可能速度不快,但是对于银行和证券公司业务里面,只有很少的组python的速度成为瓶颈,好处是可以很快产生代码投入使用,并且也可以较容易的与已有的系统链接,这样可以逐步升级。
当然还有些银行在一些项目里使用python 非常同意前面的回答,只是对SAS作一点补充:SAS并不是其他软件简单意义上的统计功能强大,其数据清理,数据管理能力是所以其他软件不能比拟的 这一点估计python加eviews难以匹敌。 我只能表示通过题主给的标签来看,Python并不合适。

对面目前主流HFT来说,我还真没见到过用Python的,应该仍以纯C为主。
具体原因可以参考来自THU的HFT大神 @董可人 的回答:
Python 做高频交易系统适合哪个级别的延迟? - 董可人的回答

如果不考虑HFT的话,我还是十分赞同 @邱赛高的回答的。