用IT技术玩金融系列文章,将介绍如何使用IT技术,处理金融大数据。在互联网混迹多年,已经熟练掌握一些IT技术。单纯地在互联网做开发,总觉得使劲的方式不对。要想靠技术养活自己,就要把技术变现。通过“跨界”可以寻找新的机会,创造技术的壁垒。 金融是离钱最近的市场,也是变现的好渠道!今天就开始踏上“用IT技术玩金融”之旅! 关于作者: 张丹(Conan), 程序员Java,R,Nodejs weibo:@Conan_Z blog: http://blog.fens.me email: bsspirit@gmail.com 转载请注明出处: http://blog.fens.me/r-quant-packages/ 前言 总是被很多的人问,为什么用R语言做量化投资,R、Python、Matlab比起来哪个更好?其实,答案很简单,你哪个用的熟就用哪个,工具是用来提升效率的,结果才是你会得到的。认准一门语言,坚持把它做好你就会成长。 每个领域,每种编程语言都用推动它前进的人,跟上牛人的脚步,你慢慢地也会变牛。 目录 为什么用R语言做量化投资? 常用量化投资工具包 1. 为什么用R语言做量化投资? R做量化投资到底有哪些优势呢?最主要的一点,就是R语言有很多第三方包的支持。通常编程语言的设计,都是为了解决软件开发和程序实现的问题。但R语言在开始时,就被设计为主要解决数据的问题。量化投资就是对数据进行各种数据处理、数据分析,从而找到数据的规律。所以,有很多从事量化投资的人,把R语言用来构建量化交易的模型,进行回测,风险管理等,最后把研究成果开源并贡献给R语言的社区,为后面的人提供了非常大的帮助。 相比Python来说也有很多的第三方包的支持,这些第三方大部分提供是Web开发,数据爬虫,系统管理,数据库调用,数学计算等,这些都是属于通用的软件需求,而非某个行业的数据需求。当某个Python大神,开始关注量化投资领域,并用Python实现了一套量化的程序库,后面的人就会进入这个领域,只是沿着大神的路线走,等待下一个大神的出现。所以本质上,Python是面向程序设计的语言,而R是面向数据的语言。 R语言在量化投资领域,已经有很多年的积累,很多的算法已经成型。从投资研究到交易分析,再到风险管理,有着完整的体系结构。我们同样可以沿着前人走出来的路,快速学习,快速搭建出量化投资的系统来。对于有IT但背景缺乏金融知识的人来说,有很多的部分知识上手比较困难,同时看不太懂各种统计指标,对学习造成了很大的阻力。这其实是你深入到具体地某个行业后,都会面临的问题。行业知识和数学知识才是最难的,只有突破了,你才能打开认知新领域的方法。 R语言让我们更接近数据,同时提供了各种数学统计的工具,又有大量由第三方贡献的行业知识库,所以我会选择R语言,我会把R语言作为最好的工具,进行量化投资的分析。 2. 常用量化投资工具包 R语言在金融领域提供了很多的金融计算框架和工具,当你具备金融理论知识和市场经验,你可以利用这些第三方提供的技术框架来构建自己的金融模型。我们可以从CRAN上找到各种的金融项目,访问R的官方网站 (https://cran.r-project.org/),找到Task Views 菜单里的 Finance标签。 金融领域涉及范围是非常广的,包括银行业、保险业、信托业、证券业、租赁业等。金融行业都具有指标性、垄断性、高风险性、效益依赖性和高负债经营性的特点。量化投资是证券投资的一个很细分的专业领域,涉及到的金融工具包其实并不是太多。我们其实能把这些工具包研究好了,就可以方便地做量化的模型和交易了。 如果我们想用R构建自己的量化交易系统,你需要用到5方面的R语言工具包:数据管理、指标计算、回测交易、投资组合、风险管理。 数据管理:包括数据集抓取、存储、读取、时间序列、数据处理等,涉及R包有 zoo(时间序列对象), xts(时间序列处理), timeSeries(Rmetrics系时间序列对象) timeDate(Rmetrics系时间序列处理), data.table(数据处理), quantmod(数据下载和图形可视化), RQuantLib(QuantLib数据接口), WindR(Wind数据接口), RJDBC(数据库访问接口), rhadoop(Hadoop访问接口), rhive(Hive访问接口), rredis(Redis访问接口), rmongodb(MongoDB访问接口), SparkR(Spark访问接口),fImport(Rmetrics系数据访问接口)等。 指标计算:包括金融市场的技术指标的各种计算方法,涉及R包有 TTR(技术指标), TSA(时间序列计算), urca(单位根检验), fArma(Rmetrics系ARMA计算), fAsianOptions(Rmetrics系亚洲期权定价), fBasics(Rmetrics系计算工具), fCopulae(Rmetrics系财务分析), …
Read more →