上周末参加了R会议广州会场,干货没有期待的那么多,尤其是感兴趣的量化方面。有感于一些内容,这里也分享一下自己对量化的工具集的看法。

Languages

首先是关于编程语言选择的。这里不考虑诸如Easy Language等“语言”。

在我看来,语言的选择无非是效率问题。而效率分两方面,一方面是programmer的开发效率,另一方面是代码的执行效率,这对应于两个稀缺资源--开发时间和机器时间。我认为,当条件允许时,机器时间应该总是让步给开发时间,开发效率应该总是优先于执行效率。原因很简单--机器时间成本很低,(优秀的)开发时间成本很高甚至无法购买。当然这么说很笼统,有些环境下对代码执行效率要求非常非常高,但是我认为应该持有的基本认识是:quant不是programming;珍贵的是人类时间,不是机器时间。

至于具体语言,其实自己也不会在任何情况下都使用一种语言,比如偏数学问题会考虑matlab,但是个人最看好的是Python,其次是R。在数据领域最不看好的是SAS,尤其是这次参加R会议听到药界人士说FDA只承认SAS并不是现在的情况。我宁愿相信Lisp会统治世界。

Python

Python这里就不介绍了,按照国外科学领域的流行程度和发展趋势,国内应该也会逐渐流行起来。对于效率敏感的用户,可以用C实现计算密集的部分。至于用python如何搭建一个量化环境,几乎每个优秀的package都值得写一堆intro,所以这里只列几个关键的名字,诸如scipy这种都知道的就不包括了。以后有时间再回来补充。

  • IPython
  • pandas
  • Cython
  • seaborn
  • scikit-learn
  • zipline
  • pymc
  • ...

其中zipline是Quantopian.com使用的回测引擎,值得一试。