Python下的宽客库如何?

Discussion in 'Python & Quantopian' started by okwh, Nov 1, 2013.

  1. Python完全门外汉,反正平时用不到也就没学。
    quantlib作为开源函数库有段历史了,06年开始关注,跟到08年底就没太关注了,刚开始主要是定价函数库和风险管理计量函数库,直接当成金融数学库也没问题,之后也有不断增加,但是还是侧重于经典金融以及风险度量改进,用于教学效果更好,因为里面的模型都是现在称为学院派的东西,一些衍生品定价和固定收益及固定收益衍生品的库一般个人用不到,机构用往往都已经整合到软件平台中了,而且对于非完全计算机出身的,fincad这样的用起来更方便,支持更全面,错误更少些。
    刚才看了一下功能列表:
    http://quantlib.org/reference/annotated.html
    跟以前比也就是拓展了一些,一些最新的还是没有的,毕竟开源维护。
    用处是计算机背景可以方便的调用,因为涉及的算法计算机背景的可能不懂,但是输入输出看结果应该会。另外学习期间,如金融工程的教学,或者学生研习,对函数库依赖比较严重。印象中MIT有一个高效算法库,效率比这个要高很多。
    R的库与其他开源库的问题一样,在算法的可靠程度上会存在问题,因为在debug方面,算法debug要比计算机代码debug难多了,很多人不明就里就拿来用,结果毁掉不少机构。次贷危机中被裁的金融工程的人员,大多数是这个情况。

    FYI
     
  2. python不懂,不过近两三年不少认识的人都学了python,在综合开发方面据说比较方便,但是我不是开发人员,所以侧重点不同。金融行业内除了开发人员外,的确python用得比较少。
    金融危机裁员的时候你还没毕业,所以有必要对其他看帖人提醒,正如你表达自己的看法一样,我也在表达我的看法,欢迎继续深入探讨,如果你上面的回复能展开详细说说相信会更好,没准儿我也能了解些更深入详细的情况。比如说各个函数的效率以及算法误差这类的问题。:)
     
  3. 我用是几年前的事情了:)
    而且对于专业人员,机构是不会允许开源模块作为实际应用的工具的,函数库有专门内部it算法专家开发,高性能的都是,所以当初是没具体了解和测试过上面信息的,我当时用是发现一些算法有bug,但是现在的应该有改进,而且看样子python环境下的你可能比我熟,所以你就多详细说说吧,谢谢。:)
     
  4. :)
     
  5. 搞错了, 这个库就是C库,enghoght正在开发python接口。
    似乎偏重学院教学。
    就是不知道怎么用才来问的。
     
  6. 哎,大家本不认识,谁有那么多心思挖掘对方是什么人?
    所以还是就事论事,论人毫无价值啊。我到是佩服swh的帖子真多啊,哪里都有你的“到此一游”,可惜大多都是被人忽略的。

    人都是从婴儿长大的,不知道谁是超人转世之身,小时候都没尿过床,还是年老时没过记忆衰退的痴呆?
    人生不过过客,转眼烟消云散,绵羊也好,鳄鱼也行,不过就是某些化学元素组合的生老病死而已。

    我刚安装python, 似乎这语言容易组合连接,适合重构调整,快速验证什么的,科学方面的库较多,常用于科研工程领域。
    我刚试图学习,但库太多,选择就够让人头疼了。
    当然比较正式的完整的开发,我会用c++/c#的,但验证阶段还是找个易于试验能快速评价的好。
    其实,这些工具很多了,R,matlab, 甚至maple, mathmatica都可计算,对统计类没碰过,我缺乏的还是金融方面的例子,因为我实在对金融认识不够。 
    年龄不饶人,我能做的已经不是编代码,而是规划、检查、验证、评价,也许只好先看些学院的例子,试自己的路。
     
  7. 刚看了
    http://quantlib.org/reference/annotated.html
    呵呵,不错,只是大部分名词,我都不认识啊。
    我还是换个学法吧。
     
  8. 快速验证的话,Python是可以的。

    库是挺多的,不过常用的也就那几个而已。Python在科学计算方面的生态圈大约是这样的:

    1. Python及其标准库: Python本身是门很不错的通用编程语言
    2. NumPy: 高性能数值计算库,提供矩阵向量化运算,其它科学计算库都要依赖它
    3. pandas: 提供高性能DataFrame数据结构,类似于R的DataFrame,某些方面更好
    4. SciPy: 一堆用于科学计算的程序,积分、微分方程、稀疏矩阵、傅立叶变换、统计、优化、信号处理等
    5. Scikit: 主要是机器学习和图像处理
    6. Matplotlib: 绘图库
    7. IPython: 这个不是库,而是一个交互式环境,很好用

    用于模型开发及验证的话,1、2、6、7是必须的,3接近于必须,4、5用不用看模型了。

    整个生态圈里,其实最核心的优势在于1,其它东西在Matlab或R里差不多也都有,没准有些还更好。由于1的存在,可以让交易模型从验证开发到最终实现并运行全部都在这个圈子里完成(高频模型除外,下单接口除外)。譬如说:隔壁帖子里不是有海友说“没那么大本事在matlab上写多线程的程序。。。”,这件事在Python圈子里就完全不是问题

    哦,对了,我说的这些东西和quantlib一点关系也没有:)
     
    hylt likes this.
  9. python的多线程比较差吧,脚本语言多线程好像就没听到过哪个好的
     
  10. 赞 Wenyan 的总结。

    另外补充:

    8. zipline 回测平台,不合用也可以参考一下
    9. 【小广告】本人开发的 datafeed 时序数据存储数据库,暂时专注股市数据;
    10. rpy2: python 内嵌 R 语言,RD的话R上库还是丰富一些。


    Links

    * https://github.com/quantopian/zipline
    * https://github.com/yinhm/datafeed
     
  11. 能不能具体谈一下差在哪里?
     
  12. 全局锁啊。操作系统对于多核的调度就没什么用了
     
  13. Matlab万岁:D
     
  14. GIL确实是个限制,不过即使存在GIL,实际运用中很多情况下还是能有效利用多核的。其关键在于GIL在以下两种情况下是会释放的:1) 等待IO;2) 调用C扩展。相应地:如果程序是IO-bound的话(譬如收tick数据、下单、等成交回报),那么GIL不是问题;如果程序中大部分计算任务都在C扩展中(譬如NumPy)完成的话,那么GIL也不是问题。
     
  15. quantlib作为交易策略的补充的话我觉得比较方便,毕竟是总结了的,但是如果是主攻的话我觉得不是很好的方向。
    因为通常涉及的交易市场是传统市场,股票,期货神马的,quantlib在衍生品市场,主要是需要定价类的辅助的市场,期权,固定收益衍生品神马的,以及传统市场中性策略方面可能用得稍多。
     
  16. 印象中Matlab 7出来的时候号称速度提高十倍,不过经过测试后,也就一般。:D
    即便是现在mex的matlab混合编程效率也是稍微差些的我觉得~
     
  17. 各人有各人的选择,我是因为我熟悉科学方面的事情,对金融是基本不懂,想看看金融方面的原代码,了解一下他们的思路做借鉴,特别是关于设计思路、评价方法方面的,不是直接就用。
    今天,多线程、速度、数据量一般不是大问题,计算机大部分时间其实是闲着的,何况我身边就有数百核的的小计算中心,借用也是没多大问题的。
    就我自己来说,我是倾向与自己开发的,其实数学方法 各家差别不大的
     
  18. 这不是做金融的,不知道有什么参考价值。
    我自己用的只是双E5 2650CPU 24G内存的win2008系统,计算能力大约200Gflops, 装有VS, matlab ,maple,mathematica,R,Python,altium designer.material studio......基本没有金融方面的东西,

    小计算中心是曙光集群,64X双E5, 64X4G内存,主要要用来进行材料方面的小分子的量子化学计算用的,gausian软件就不用说了,可不是我的,只是需要时我可以用而已。

    国家的或省级的计算中心也可以租用时间,只是我从来没用过,我还没遇到需要那个级别计算的问题。
     
  19. 这个是桌面计算工作站,独立用, 相当于计算中心的一个节点。 不是2650,好像是早期的E5650, 是几年前的,不是现在买的。当时仅这两个CPU都过万了,机箱电源千瓦,里面4个大风扇,我最满意的其实是电扇好,比普通PC声音都小。我自己用,有些奢侈了。

    那计算中心是刀片机架,在一个单独小屋。

    还没算过金融的东西,其实不管算什么,都是些矩阵翻来覆去的折腾