python在金融领域的主要应用是什么?有哪些分类以及什么类型的金融公司会来应用?
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的话,我还是十分赞同 @邱赛高的回答的.