我个人是从事量化研究和投资工作,日常主要需要写策略代码,原来在策略研究阶段,主要是用MATLAB来做,但是,这个速度太慢了,我受不了,后来,一直就想换一门语言工具,后来看到了Julia,感觉很不错,所以快快阅读了其相关的文档,大约15天后,我就把我的策略研究平台转到Julia上了!

如果有时间,我会对Julia和Matlab的速度进行更为详细的比较,这里只说说大体的比较。

从我策略代码的运行速度上看,Julia要比Matlab快10倍以上!我跑一个策略从2010年4月至2014年中的IF1分钟线CTA策略,matlab一般是30秒-5分钟或更多都可能,但julia写策略大部分在0.05秒到3秒之间。

需要说明一下,速度的比较基准是,matlab的数据操作对象是dataset(),不是double[],如果是double[],速度估计没有差这么多,这个没有实证数据。julia的数据主要是用Array{kbarData,1},和Dict()格式,其中kbarData是我自定义的数据类型。另外,matlab的优势在向量和矩阵运算,在这方面,因为我策略逻辑中,很多地方不能用到向量计算,所以matlab速度也会吃亏。

但,这并不是说,在某些函数上,julia每个都要快,这个并不是事实!在不少的地方,matlab还有做得不错的!包括save和load,当然,库本身的优势那是无可比拟的,特别是在神经网络等上面。另外,在向量或矩阵运算上,matlab至今可能是无人能敌,优化的功力非其它语言能比。只能说,Julia适用性好,综合能力强,在一些点上,和matlab仍有距离。

二者反映出的主要的问题在于:(个人认为)

(1),matlab没有List,dictionary 等数据结构,这个是致命伤. 本身在索引查询上就有效率低下的问题,dataset类型本身就比较慢,这速度太吃亏了。而julia主要是对Array{},Dict{}进行push!。matlab起初本身的设计不是语言专家来设计的,而更多的是考虑一些行业用法的需要。所以,这个设计上的大伤,很难改。这点有点象R呀。

(2)matlab的函数封装时,过于考虑适用性,比如,不仅要支持标量,还得支持向量,和矩阵等,这个可能也会影响部分性能。而matlab在用时,往往为用其内置函数,如果不是向量运算,其实效率并不高。

(3)编译器模式。Julia选择的是LLVM-based just-in-time (JIT) compiler,据说,这种编译器可以带来更好计算性能。

(4)面对对象特性。Julia相Matlab相比,虽然都是函数式语言,但Julia有更好的面对对象的元素,而matlab在这块则很差,则类等设计的简直无语!。

(5)静态特性。Matlab是纯动态语言,而Julia兼于动态和静态之间,在这方面,有利于减少函数的参数的前置检查,减少转换。所以更容易提高速度。

总之,julia的创始人吸取了matlab,R,python,perl等许多语言的优点,最核心是要速度。所以Julia总体性能上快于matlab那是很正常的事情。否则,谁用?

当然,Julia的问题是过于年轻,国内用的人极少,资料极少,国外的网站资料还要经常翻墙才能看到,郁闷,另外,社区和中文资料极少,库有一些,够用。比MATLAB差了好远。

仅管如此,我还是看好julia,因为它为快而生,当然它本身还在优化和发展!这正是我需要的,它更适合做量化策略研究,时间就是效率,时间就是收益!另外,是开源的,也是未来的发展方向!

总结,因为快,所以推荐julia做量化策略。

量化研究: Julia还是Matlab?相关推荐

  1. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

  2. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) <量化 ...

  3. xpress-mp优化实例精选_量化研究每周精选-20170711

    本周为大家精选了5项机器学习/深度学习在量化投资中的相关资源,机器学习/深度学习是偏实践性学科,只有不断实践才能有所收获,纸上得来终觉浅,绝知此事要躬行!BigQuant拥有海量的数据和主流开源框架, ...

  4. 异质化社群量化研究4丨RATE OF CHANGE WITH BANDS

    致力于量化策略开发,高质量社群,交易思路分享等相关内容 Rate Of Change With Bands 大家好,我是Le Chiffre.今天给大家带来的是第4期异质化社群的量化研究内容--ROC ...

  5. 【基金量化研究系列】基金绩效归因模型(三)——基于CAPM、T-M、H-M、C-L模型的基金绩效归因研究

    文章目录 1. 引言 2. 模型介绍 2.1 CAPM模型 2.2 T-M模型 2.3 H-M模型 2.4 C-L模型 2.5 H-M模型 V.S. C-L模型 3. 实证分析 3.1 数据选择 3. ...

  6. 什么是股票量化研究?

    谈到股票量化研究领域,肯定少不了有自动交易系统的支撑,像平时能将股票池中的数据挖掘出来也能熟能生巧的进行自助量化研究,包括数据接口系统的开发使用都是受到量化的影响,那么,如何看待股票量化研究? 像平时 ...

  7. 【基金量化研究系列】基金绩效归因模型——Brinson多期归因模型

    文章目录 1. 引言 2. Brinson单期归因模型 2.1 模型框架 2.2 公式推导 3. Brinson多期归因模型 3.1 模型框架 3.2 公式推导 4. Brinson模型的应用场景 4 ...

  8. 计算机体系结构:量化研究方法:第5版

    <计算机体系结构:量化研究方法:第5版> 基本信息 原书名:Computer Architecture:A Quantitative Approach,Fifth Edition 作者: ...

  9. 【基金量化研究系列】大类资产配置研究(二)——股债二八轮动策略

    文章目录 1. 引言 2. 股债二八轮动策略 3. 动态再平衡股债二八轮动策略 4. 基于python的策略实现 4.1 策略代码 4.2. 运行结果实证分析 5. 总结 写在最后 1. 引言 在上一 ...

  10. 《计算机体系结构:量化研究方法》5th 学习笔记

    本书的目的 权衡:成本-性能-功耗 新平台:个人移动设备和仓库级计算机 新体系结构:多核和GPU 关于第五版 两个极端:以移动电话和平板电脑到的个人移动设备PMD 为客户端,以提供云计算的仓库级计算机 ...

最新文章

  1. 什么是词向量?word2vec、Glove、FastText分别是什么?
  2. maven+eclipse编译常见问题
  3. javascript dom节点x
  4. Linux Kernel 0.01 的编译和运行
  5. 【Hibernate】Hibernate基本原理及概念详解
  6. SyntaxError: Non-UTF-8 code starting with ‘\xe2‘ 今天是小白上线的一天
  7. django Sometimes request.session.session_key is None
  8. Expression.Blend.4 Chapter 图片和视频的使用
  9. pyspark —— spark dataframe 从hdfs读写文件
  10. 【空间分析】6 空间关系
  11. P3698 [CQOI2017]小Q的棋盘
  12. Linux基础实操二
  13. 数据库系统工程师怎么备考?
  14. windows/Linux网络工具
  15. 关于分布式服务中的中间件技术入门概述
  16. 第三方登录微信登录流程
  17. Openstack 经典面试问题和解答
  18. 安卓Android公交查询系统app资源分享
  19. Nodejs+Koa2+云服务ECS 开发微信公众号(一)之环境配置
  20. css的nth选择器,CSS3 :nth-child() 选择器

热门文章

  1. ColorBlinder(我是色盲)
  2. nginx+Git 404 error 错误处理
  3. Quartz-第四篇 常规quartz的使用
  4. MySQL-快速入门(5)数据查询-常用关键字、分组查询、聚合函数
  5. hdoj-1046-Gridland(规律题)
  6. 仔细看看Javascript中的逻辑与()和逻辑或(||)
  7. Metro程序部署到Surface调试
  8. Login控件:用户登录失败的消息提示。
  9. 教程 | 如何使用Docker、TensorFlow目标检测API和OpenCV实现实时目标检测和视频处理
  10. Beginning Python chapter 1 Instant Hacking The Basics 2: Comments Strings