数值及统计计算软件包对比

Discussion in 'Julia / MATLAB / SAS' started by tom_sh, Jul 13, 2008.

  1. 请ITFIN或其他朋友点评对比一下visual numerics的IMSL和numerical algorithms group的数值和统计计算C类库软件包,从功能/性能对比上谈一些看法,我关注的是它们在金融计算领域的应用,正在考虑买一个类似的函数库。我的开发模式是在自己的程序环境(QD)中调用一些统计和数学函数库,实时性能很重要,也不打算转换到类似MATLAB这样的专用平台上做这类工作,有外接函数库是最好的方法。
    另外有一个问题,从平台升级选择的角度来说,可以用KDB+Q做直接做我的交易应用(如果内生支持数理统计计算),这也许是一个值得考虑的学习投入和方向,各位意见如何?
     
    Last edited by a moderator: Jul 13, 2008
  2. 这两种商用计算库我都没用过,大家一起讨论吧.最好是有实际使用经验的朋友发表意见.
    1.只有IMSL有C#版本,如果在.NET下用,可能IMSL更合适.按这里的说法,IMSL强在统计,NAG强在优化.另外IMSL的用户友好性要好些,NAG的函数命名缺乏意义.
    2.如果考虑调用C库,还可以考虑使用gsl-win32(开源)或Intel MKL(Linux下非商用免费),Intel在这里比较了MKL/IMSL/NAG的统计功能,还举了个期权定价的算例.
    3.多cpu/多核并发计算的考虑:是使用多线程库方式(用户透明),还是使用多进程/多机器的并行计算库(用户要使用MPI编程接口做一些调度工作),是否需要支持跨平台.前者应该是Intel自己的东西会优化得更好一些.
    4.应用自身的目标和瓶颈:
    4.1数据量:TB级海量历史数据/GB级当日tick数据?
    4.2计算复杂度:衍生品定价和风险模型?组合优化?统计套利?选股选时?是以矩阵运算为主还是复杂数据结构处理为主?主要是统计/优化/AI?
    4.3实时性能要求:同时监控多少品种?行情刷新频率?实时只监控交易计划的触发还是要做实时统计更新交易计划本身?
    5.KDB+Q目前的demo版本有2G内存和2小时超时的限制,做实时应用不太现实,做盘后数据的储存和处理应该没什么问题。自己写一些计算函数也很简单,例如这里(需要用用户名anonymous和密码anonymous登陆),也可以调用C库函数.我觉得如果要保存和处理海量数据,这种架构还是比较方便.
    6.花旗股票衍生品部的这个招聘宣传提到了一些相关的东西.他们用kdb+,也用intel MKL;有多线程计算,也有网格计算.同时对50万个权证进行定价,在50毫秒以内做出反应.
     

  3. 好专业。itfin和tomsh是棋逢敌手啊。
    上面提到的一些数据库东西我之前没听过。光顾着盯Oracle这类了