用Python怎么做量化投资

车岳鸿 2019-12-21 23:51:00

推荐回答

Python是非常适合做quant类工作的语言,本身就是科学计算方面的统治级语言,现在加入了IPython,pandas等重量级神器,为Quant类工作量身定做,而且仍在飞速发展中,以后会越来越重要。关于其他语言,首先介绍一下我自己最喜欢的一个比较小众的组合,Mathematica+Java/Scala。Mathematica的优点在于:本身提供函数式的编程语言,表达能力非常强大,比如Map/Reduce是标配,很多时候不需要去做烦人的for循环或下标控制,排版经常可以直接照数学公式原样输入,即直观又不容易写错;代码和输出混排的排版方式使得建模时的演算和推理过程非常流畅,甚至还可以直接生成动画,对于找直观理解非常有帮助。他们也可以快速学习掌握一种像C++,Java这样的语言,实现很多必要的功能。但是一方面这些语言陡峭的学习曲线和繁琐的开发步骤会给他们真正要做的工作增加不必要的负担,另一方面一旦涉及到性能敏感的情景,他们对计算机体系结构缺乏理解的缺点就容易暴露,比如说很可能他们没有计算复杂度,内存碎片,cachemiss,甚至多线程等概念,导致写出的程序存在相当大的隐患。即使是计算机功底扎实,如果每天的工作需要在C++,Python,R/Matlab,甚至一众脚本语言之前来回切换,思维负担也会非常重,人的精力是有限的,很难同时兼顾数学建模和底层代码调试这种差距巨大的工作。长期发展下去最可能的结果就是要么远离建模,专心做生产环境开发,要么远离生产环境,专心建模。这种局面显然不论对个人还是团队都是有很大弊端的。如果深入思考这个问题,相信不难得出结论,对于Quant来说,C++这种相当面向机器的语言肯定不是最佳选择。的确在历史上,它比更面向机器的C已经友好了很多,但是在计算机技术飞速发展的今天,如果还需要Quant大量使用C++做建模类的工作显然是很遗憾的事情。设想一下你拿到一份股票数据,不论你是想分析价格走势,成交量分布,还是波动性,第一件要做的事一定是画出图来看看,有一个直观认识。如果你的工具是C++,肯定有很多时间花在编译,调试,再编译的过程上,好容易能解析文件了,接下来怎么算移动平均?怎么算波动性?全都要自己写代码。再然后怎么画图?这整个工作流简直惨不忍睹,这些问题浪费掉你大部分精力,而他们全部和你真正感兴趣的工作毫无关系。所以如果你是一个数理金融等背景的新人打算开始Quant生涯,在决定是否要投资到这项重量级技术上时需要慎重,即便它目前的市场定价可能仍在峰值。相比之下我认为Python会是更理想的选择,即能很好的完成建模工作,也可以训练一定的编程技巧,使你在必要时也能胜任一些简单的C++工作。最后同意@袁浩瀚,不要拘泥于语言,不论学习那一种,对其他的语言还是要抱有开放的心态。另外世界变化很快,你会发现单一的语言分类方式其实是没有意义的,每一门语言在发展过程中都会逐渐吸收其他语言的特性,比如Python本身就既有C/C++/Java那样命令式的特点,也有函数式的特点,像pandas甚至还提供类似SQL的使用方式,在其他语言或系统里也都或多或少包含了不同的特点,可以在学习过程里慢慢体会。
赵高凤2019-12-22 00:18:27

提示您:回答为网友贡献,仅供参考。

其他回答

  • 掘金量化社区就有很多宽客互动交流学习,再说掘金有很多针对新手入门的指引,可以让您从0到1一步步成为一个合格的quant。
    齐改红2019-12-22 00:36:19
  • python和matlab的共同点都是各种库十分丰富。python是给懒人用的。matlab是给数学好的人用的。比起python,matlab的大小简直不能忍。python是免费的,我用上了Windows正版,AdobeFlash和DW的正版,但是仍然买不起matlab的正。
    齐明德2019-12-22 00:06:04
  • python作为一门编程语言,简单说它在量化投资主要是进行量化策略模型的编译。
    贺黎黎2019-12-21 23:54:36

相关问答

在投资目标上,是追求每年超越大盘10%的相对收益,还是不管大盘涨跌每年有10%的绝对收益?近期由于大盘震荡,投资者的投资收益比较波动,大众证券报读者群里常有朋友这样感慨:“涨起来不容易,跌起来怎么那么快,这一个月赚的钱几天就又吐回来了?”于是关于绝对收益VS相对收益,更倾向哪一个的讨论又再次引起热议。两种收益目标的背后,对应的是不同的投资理念、交易策略、资产配置方案。在网友“无风的季节”看来,相对收益是指只要比大盘跑得好就可以了,牛市的时候多赚点,熊市的时候少亏点;但容易在市场大幅下跌的情况下,回吐不少利润。绝对收益是指,无论大盘涨跌,也要用各种办法实现正收益。好处是不怎么亏,但牛市的时候则有可能比较难过。目的是理财的话,一定是绝对收益了,毕竟落袋为安。能做到每年10%的绝对收益,已经远远跑赢通货膨胀了,当然也就达到了理财的目的。关键是哪里有这样的投资渠道?”网友“云飞扬”问到,追求每年超越大盘10%,是很多投资的期望,但是作为普通投资者,保证本金的安全才是最重要的,要想做到每年超越大盘的10%比每年有10%的绝对收益来说更难。市场所说在上涨但是每年的波动不一样,要想做到每年超越大盘的10%是很难办到的,但是要想做到每年有10%的收益来说,努力努力还是有点希望。绝对收益才是真钱。无视大盘,炒股每年平均15%就非常好了;我自己每年8-10%就非常满意了,其实超过5就胜过了银行很多理财产品了。网友“不吃草的兔纸”说。个人觉得,熊市主要采取绝对收益策略,牛市要采取相对收益策略。在网友“牛短熊长”理解的相对收益是随企业不断成长相对取得的收益和牛市高估卖出的收益组合。而绝对收益则是不论牛熊以追求绝对正收益为目的投资方式。鉴于两者的目的不一致,因而投资人选择的投资理念,交易策略均不相同。他自己更看重企业自身的盈利能力,成长能力,可持续发展的能力,希望投资的收益伴随企业发展而增加,所持股票跟随企业成长而增值。收益应该是动态的,两个收益应根据风险的偏好不同有不同的选择。网友“无心于事”觉得不看好后面市场的投资者,那么就应该追求绝对收益,绝对收益适合相对稳健,保守,无法接受太大浮亏的投资者。而看好后面市场,那么应该考虑相对收益,相对收益则适合追求高收益,追求超越市场收益的,同时又能接受较大亏损的投资者。就他个人而言,他追求相对收益,能跑赢沪深300就行。自己的闲钱投资,要更看重相对收益,因为只要时间足够长,肯定是赚的;用的不是闲钱或者有使用成本的钱,则必须要更看重绝对收益,绝对收益率必须能够稳定的覆盖资金成本,否则就赔啦。网友“不怕鬼敲门”总结得简单明了。记者李忠官方电话官方网站向TA提问。