• Posts tagged "量化投资"

Blog Archives

图书出版《R的极客理想-量化投资篇》

R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。

要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥到各个领域。让我们一起动起来吧,开始R的极客理想。

关于作者:

  • 张丹(Conan), 程序员Java,R,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/r-book3/

前言

终于等到R的极客理想系列,第三本《R的极客理想-量化投资篇》一书出版了。写书不仅是一个漫长的过程,更是知识的浓缩和再精华的过程;写书不仅把自己会的东西记录下来,还要站在读者的角度,让其他人也能看得懂;写书不同于写博客,不仅要保证超过5遍以上的审阅,还要遵守出版的各种规则,包括格式、文字、目录、图片,公式,代码,引用….

写书不是一件容易的事情,这是R的极客理想系列最后一本图书。希望更多的朋友都能静心下来,写本自己的书。尊重知识,就是尊重你的未来。

目录

  1. 写书体验
  2. 为什么要写这本书
  3. 读者对象
  4. 如何阅读本书
  5. 致谢

1. 写书体验

本书是我写的“R的极客理想”系列丛书的第三本,是R语言与金融量化投资领域结合的一本书,本书的主要写作目标就是把R语言的技术和实际的金融量化案例结合起来,让读者能切身的体会把知识变成真正的生产力。

本书撰写花了很长的时间才得以完成,因本书涉猎广泛,包括了大量地跨学科的知识,用通俗易懂的语言描述出来,并让读者更容易地理解并非易事,以致于我自己在写作过程中,有过数次想放弃的冲动。这本书最终完成,都源于每次看到读者在我博客中的留言,看到大家的对于知识的期待和对于我本人的鼓励,这些都是我把这项艰苦的事业完成,源源不断的动力和鞭策。有的同学开玩笑地留言说,“集齐全套图书,就可以召唤神龙了”。我真的非常感谢读者,对于图书的高度肯定和对我不断的支持。

在本书的写作过程中,我经历了一次创业的洗礼,体验了人生的大起和大落,这段特殊的经历也让我有了新目标和方向。每当我回忆整个的创业过程,都觉得自己太年轻了。光有满腔的热情和技术,只能让我把事情做起来,但是经验和阅历的不足,不能支撑我成为一个成功的创业者。天时,地利,人和,缺一不可。

图书介绍的网站http://fens.me/book,介绍了本书的基本情况,包括序、前方、目录、勘误、代码、试读、封面、交流等几个方面内容,读者有任何问题,都可以在网站中留言,并得到我的回复。同时,可以加QQ群:383275651,和更多的网友进行交流。网站还有视频专区(http://fens.me/video),提供我录制的各种视频课程,包括 R, Nodejs, Hadoop, 金融量化投资 等,视频收入仅用于网站的运营成本。

前两本上市后不仅再国内取得了不俗的成绩,获得了良好的口碑,而且英文版被美国知名的出版集团CRC引进,在北美市场也获得了读者的热捧,本书的英文版和繁体版随后也会在美国和中国台湾发行。

最后附上购买链接,各大网站都能买到,建议先去比比价:互动出版社京东当当亚马逊

当然,如果你需要一本签名的书,可以联系我订购,但是成本有点高,图书原价+货到付款;也可以带着书,到各种我参加的分享会来找我,我每年有不少的分享活动

2. 为什么要写这本书

本书撰写的一个主要思路是从IT人的角度,通过技术来切入金融市场,进行量化投资。发挥IT人的专注学习、乐于分享的精神,借助互联网快速传播知识,打破传统的金融壁垒。发挥“极客”的创造力,让知识变成生产力,让更多的有理想的IT人,能够有机会进入金融行业,推动金融行业的改革和创新。

但这不是一本简单易懂的书,因为量化投资是跨学科的领域。你需要有多学科的知识储备,才能胜任量化投资的工作。而本书所涉及的相关的内容,可能需要多本书籍的相关知识支撑才能描述完成。

阅读本书,不但需要你有R语言的使用经验,更需要有对金融市场知识的理解。本书主要介绍了三部分内容,涵盖金融市场,统计知识和IT技术。

  • 金融市场,包括了中国的金融二级市场环境的介绍、交易工具的使用、金融产品的交易规则、国内机构投研思路、策略和回测、基金会计等金融行业的基础知识。
  • 统计知识,包括了时间序列、一元线性回归、多元线性回归、自回归等统计和计量的模型算法。
  • IT技术,就是R语言相关的编程技术,金融量化程序包的使用,金融数据处理,金融数据模型的构建,量化策略的实现思路,R语言代码的编写等。

同时,本书使用了很多的真实案例,以中国实际的金融市场为背景,你会感觉到市场所带来的波动,国家宏观政策对于市场的影响,散户思维与专业投资者的差异,量化思路与主观思路对于市场的不同理解。

本书是我在实际投资研究中的总结,从金融理论模型,到市场特征检验,再到数学公式,R语言建模,再到历史数据回测,会计资产核算,最后进行实盘交易。通过R语言,可以很简单地实现我们脑子中的一个投资想法。类似的投资想法其实谁都有,利用IT人的技术优势,可以真正地与实际操作结合起来。

本书所涉及的金融产品,包括了股票、期货、债券、基金、现金管理等,跨越多个金融市场多种金融标的物。交易模型和交易策略,有基于市场技术指标的量价策略,有基于统计理论的套利策略,有基于金融产品规则的事件性策略;有针对全市场扫描的选股策略,也有高频交易的择时策略。相信本书,会另你感受到金融市场的魅力,以及技术优势能给我们带来的价值。

要想深入理解本书的每一篇的内容,可能你需要像我一样,不仅有技术的积累,还要真正地去金融市场做做交易,多和行业内的人进行沟通,不断地学习和思考。

让IT技术,提高金融的效率。

传统的交易员,都是凭借多年的交易训练,人工的每日盯盘,观察市场的变化。一个好的交易员,可以同时观测几个金融市场的几十个交易品种。随着金融产品的发展,股票市场已经达到3000多只股票,债券市场达到3000多只债券,公墓基金市场达到了6000多只基金,还有多种的金融衍生品,大量金融产品的发展,已经不是能依靠个人之力去消化和分析了。

通过计算机在全市场进行扫面,发现不合理的定价和交易机会,可以极大的提高交易员效率。一种理想化的设计,让程序来为我们交易赚钱,我们就可以去做自己喜欢的事情了。让技术变现,解放我们的生活。

本书中的原创观点和方法,都是基于理论研究在实践中的经验所得。实际上,长久以来我也在找这样的一本书,能够把书本上的理论模型与实际业务相结合,但并没有找到,或者并没有符合中国市场的实际案例应用,所以只能自己动手写一本。本书也有点像是自己的笔记,我也会经常翻翻,让自己的头脑始终保持清晰思路。

3. 读者对象

本书适合以下所有R语言工作者:

  • R语言的学习者和使用者(必读)
  • 金融宽客(Quant)(必读)
  • 计算机背景的金融量化爱好者(必读)
  • 数据分析背景的金融方向数据科学家(必读)
  • 统计背景的金融科研工作者
  • 金融行业从业者,券商研究员、分析师、基金经理
  • 回归中国市场的海外金融量化从业人员
  • 金融、统计、数据科学专业的学生

4. 如何阅读本书

本书分为三个部分,六个章节,每一个章节都是一块大的知识体系。

  • 第一部分是金融市场与金融理论(第1~2章),从了解金融开始,建立对金融认识的基本思路。
  • 第二部分是R语言数据处理与高性能计算(第3~4章),详细介绍了R语言进行数据处理的必备工具和使用方法。
  • 第三部分是金融策略实战(第5~6章),结合R语言技术和金融知识,解决金融量化领域的实际问题。

第一章,金融市场概述,为全书开篇,主要介绍了如何R语言做量化投资的思路和方法。量化投资是跨学科知识结合的一个方向,包括了R语言的技术层面的知识,基础学科的应用和金融市场的情况。R语言社区提供丰富的金融工具包,可以让我们快速构建量化投资的体系结构。本章内容以我个人的从业体会,从数据的角度观察中国的金融市场,发现机会,找到风口。

第二章,金融理论,主要介绍了金融经典理论模型和R语言的实现方法。用R语言深度解读,投资学理论和统计学理论在实际金融市场中的应用,包括4个基础理论模型,资本资产定价模型、一元回归性线模型、多元回归线性模型、自回归模型,希望这些基础理论模型可以帮助读者,找到理解金融市场的方法。

第三章,R语言数据处理。以R语言数据处理技术为核心,介绍了如何用R语言进行各种类型数据的处理方法,包括标准的结构化数据集的处理和字符数据集的处理,同时深入浅出地介绍了R语言数据处理方式,包括循环、分组、合并、管道、分词等的常用数据处理操作。

第四章,R语言高性能计算。R语言的性能问题一直是被大家所关心的,R本身有很多解决方案来提高性能,但由于R语言内核的单线程设计,让R本身的解决方案有飞跃式的性能提升是困难的。本章将介绍通过3种外部技术,来让R语言的性能达到生产环境的要求。

第五章,债券和回购。金融市场很大,不仅有股票,更大市场是债券。本章重点介绍了如何用R语言去进行债券分析,做一些债券投资和套利。低风险的债券投资,说不定是我们投资理财更好的选择。

第六章,量化投资策略案例。本章全部是综合的案例,从金融市场开始研究,到数学公式,R语言建模,历史数据回测,最后找到投资机会,是一套完整的从理论到实践的学习方法。祝大家在金融市场中玩的开心!

本书有很多综合运用的知识,在您阅读本书的时候,建议读者顺序阅读全部的章节。本书的一些技术实现,用到了我前两本书介绍的知识点,《R的极客理想-高级开发篇》和《R的极客理想-工具篇》,建议读者一起阅读。

5. 致谢

感谢在我最失意的时候,帮助我度过难关的朋友,北京千庄智金科技有限责任公司总经理张颂,量子金服CEO刘亚非,民生银行同事许斌。 感谢所有R语言的读者,以及社区的各位朋友,让我们通过R语言认识,并一起把知识进行传播。 感谢天善智能社区CEO梁勇,为本书提供赞助和推广。同时,感谢台湾銓智金融科技合伙人陈琪龙博士,复旦大学黄达教授,为本书写推荐序。感谢机械工业出版社华章公司的主编 杨福川 和编辑 李艺,帮助我审阅全部章节,让本书得以出版。

特别感谢我的爱人一直在鼓励我,最终让我走出了失意的阴影。感谢我的爸爸、妈妈,感谢你们对我工作上的支持和生活上的照顾!小宝宝,也在今年出生。

谨以此书献给我最亲爱的家人以及众多R语言爱好者们!祝大家阅读愉快,欢迎交流。

转载请注明出处:
http://blog.fens.me/r-book3/

打赏作者

2017微软技术暨生态大会:R语言搭建多因子体系

跨界知识聚会系列文章,“知识是用来分享和传承的”,各种会议、论坛、沙龙都是分享知识的绝佳场所。我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果。从听众到演讲感觉是不一样的,把知识分享出来,你才能收获更多。

关于作者

  • 张丹, 程序员R,Nodejs,Java
  • weibo:@Conan_Z
  • blog:http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/meeting-ms-20171103

前言

微软的技术大会,够规模,够档次,更切身地感受到,微软已经变得开放了!同时,微软股价创造了历史新高,比尔盖茨来华访问。

在本次大会上,我主要介绍的是开源技术R语言,在金融量化投资领域的应用。本次分享,仅仅从传播知识的角度,用IT人能够理解的语言,说出基金经理在做的事情

目录

  1. 我的演讲主题:R语言搭建多因子体系
  2. 会议体验和照片分享

1. 我的演讲主题:R语言搭建多因子体系

感谢微软对于MVP获得者的邀请,让MVP有展示个人能力的机会。我本次分享的主题为:R语言搭建多因子体系,主要内容来自我的一篇博文:R语言搭建多因子体系(未发布)。

分享主题的目录大纲如下:

  1. 故事开始
  2. 金融理论
  3. 多因子体系
  4. R语言建模
  5. 实例应用

本此分析主要是从金融的角度切入,介绍多因子的体系,进行选股,并通过R语言进行实现的。多因子方法选股,是目前主流的主动型基金的选股操作方法。本次分享,从一个故事引入,让没有金融背景的朋友,也能快速进入场景。用IT人能够理解的语言,说出基金经理在做的事情。

同时,我也在致力于推动R语言在中国金融领域的发展,让R可以给更多的用户使用,培养出更多的数据分析师。也希望让我们中国人的技术能够走出去到世界的舞台。希望多能认识志同道合的朋友,一起做一些事情。

2. 会议体验和照片分享

会议的主页:https://www.microsoft.com/china/techsummit/2017/

本次微软大会由百个主题组成,主要是微软的产品技术介绍。我被安装在11月03月下午的分享。让我没想到的是R语言相关的主题有3个,只不过大家的兴趣点似乎并不在数据分析或R语言。作为小众的R语言,还要有很长的路要走啊!

我的介绍和照片分享。

2.2 会议相关照片

本次的场地在 北京国际饭店会议中心,展位上也有各种新技术,和新厂商。

xbox和VR

金融解决方案

现代化工作模式

大学师弟,看起来比我压力还大。

本次大会办出世界企业的水平,希望明年有机会去微软总部西雅图,参加2018 MVP Global大会。我要赶紧准备签证去!

转载请注明出处:
http://blog.fens.me/meeting-ms-20171103

打赏作者

技术大牛如何寻找下一个风口

架构师的信仰系列文章,主要介绍我对系统架构的理解,从我的视角描述各种软件应用系统的架构设计思想和实现思路。

从程序员开始,到架构师一路走来,经历过太多的系统和应用。做过手机游戏,写过编程工具;做过大型Web应用系统,写过公司内部CRM;做过SOA的系统集成,写过基于Hadoop的大数据工具;做过外包,做过电商,做过团购,做过支付,做过SNS,也做过移动SNS。以前只用Java,然后学了PHP,现在用R和Javascript。最后跳出IT圈,进入金融圈,研发量化交易软件。

架构设计就是定义一套完整的程序规范,坚持架构师的信仰,做自己想做的东西。

关于作者:

  • 张丹(Conan), 程序员R,Nodejs,Java
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/architect-next

前言

从大学毕业到现在,我做了10年IT编程的工作,从程序员到架构师,一路走来感触颇多,但我一直坚持着用程序改变世界的想法。自己对于编程的理解,有一定的深度,但是随着年龄的增长,越来越觉得自己力不从心。从早期的Java编程,1天写5000行的代码,还精神头十足,到现在用于R语言,1周写500行代码,更多地变成了思考。代码量越来越少了,但让知识得以积累。

不知不觉地就过了30岁,也经历过一些事,开过公司,拉过风投,出了几本书,在大学里教过课,带过自己的团队,也在家里做过饭。创业最后失败了,但失败的点并不在于技术,而是对一个领域的认知和对于“人性”的理解。

目录

  1. 大起大落
  2. 互联网已经在并购阶段
  3. 寻找好的行业风口
  4. Gartner技术成熟曲线
  5. FinTech金融领域的风口

1. 大起大落

寻找下一个风口,是每一个不甘于现状、想要拼搏的年轻人追逐的目标。从2013年开始,我就在准备创业,在家技术储备将近2年的时间。我把创业目标定位在量化投资,从技术上把R, Nodejs, Java, Hadoop一路打通;从知识上,补充数学、统计、金融、计量等基础学科理论;从业务上,开通所有交易账户,用真钱去交易,个人能接触到的交易市场,我基本都玩过。

随着中国股市从2014年底开始一路牛气冲天,仅8个月就从2300点一路冲到了5100点多点。我也算是赶着潮流处在了风口浪尖之上,顺利地拿到了第一笔投资。这就是风口效应,你只要站在风口上,就会获得极大的机会。

可是好景不长,2015年下半年股票市场开始崩盘,经历股灾1.0和2.0后,2016年初全球经济危机突然就来了,2次熔断造就了股灾3.0的沉痛打击,让股民再也不敢进入这个市场了。股民大都是惨淡收场,私募也在各种监管下越来越难,市场泡沫迅速地被打爆了,创业就这么失败了。

下图为上证综指在股灾期间的日K线走势情况。

站在风口时,你会被吹上天。一旦风向变了,而你还没做好准备,你会掉下来摔得很惨,我就是那个摔下来的人。

近年来由资本推动的互联网行业,带来各种商业模式的蓬勃发展。互联网风口一直在轮动,牛人财务自由的一大把。从2011年兴起的社交网络,代表公司为人人网,开心网,新浪微博;再到后面的团购,经历百团大战洗礼之后,活下来的并不多,代表公司为美团,大众点评团,百度糯米等;紧接着互联网金融P2P如雨后春笋般出来,而1年后又数千家跑路;继团购之后O2O继续炒作,也没能度过资本的寒冬相继死掉;进行入2016年VR、直播、人工智能、共享单车等,一波接一波继续被资本推动。

2. 互联网已经在并购阶段

2016年整个互联网和移动互联经营惨淡,除了每天看到新闻负面报道,就是朋友圈看到一大串的关门公司名单。不仅停止了互联网式的疯狂扩张,连电梯的广告都没有了创业公司的身影。从中证移动互联指数(399970),能够清楚的看出国内互联网行业的市场状况,对比2014年底到2015年的一路冲天的大牛市,2016年简直是惨不忍睹。

上图为中证移动互联指数(399970)周K线截图,红色区域为2016的指数走势。

从2015年下半年开始,就明显感觉投资在减少,转而是面对寒冬进行的并购和重组。美团和大众点评,58同城与赶集,滴滴快的和Uber中国,携程和去哪儿,世纪佳缘和百合网,蘑菇街和美丽说,据统计2016上半年中国互联网行业完成260起并购交易。这些并购的一些事件,标志着整个互联网行业在洗牌,移动互联,O2O,移动游戏,移动视频,都已经进入成熟期。

3. 寻找好的行业风口

有很多大牛在互联网洗牌的时候,都已经获得了财务自由,那么我们应该如何抓住下一个风口呢!

所有面向C端用户的互联网通道都已经被大佬(BAT)所封死了,创业公司很难再有突破。那么形成的几大格局,包括原有的BAT阵营,外加小米和乐视。依托于互联网的创业已经越来越难,创业的方向已经不能再像原来的单打独斗的模式,你要依靠大的平台,为平台提供个性化的服务。未来是越来越生态化,也就是各行各业都术业有专攻。

央视财经《对话》节目上,各位互联网界的大佬给出了,下一个风口是?

刘强东说:“风口可能不是在互联网,而是在传统行业”。

李彦宏说:“互联网即将迎来发展的下一幕,而推动其发展的动力不是大数据,也不是云计算,而是人工智能”。

马云说:“数据将会是未来创新社会最重要的生产资料,人类将会离不开数据,我们必须在数据技术的投入和发展上,不惜一切投入发展”。

而在本周《对话》,马化腾一口气给出了一个长长的,不加标点符号的回答:

马化腾:我可以用一句话把他们全部串起来——未来是传统行业利用互联网技术在云端用人工智能的方式处理大数据。

所有大佬都在说人工智能,人工智能就是下一个风口!

4. Gartner技术成熟曲线

技术成熟度曲线,又称光环曲线,炒作周期,指的是企业用来评估新科技的可见度,利用时间轴与市面上的可见度决定要不要采用新科技的一种工具。技术成熟度曲线分成几个阶段,包括科技诞生的促动期,过高期望的峰值,泡沫化的底谷期,稳步爬升的光明期,实质生产的高峰期五个阶段。

2016年7月,Gartner公司发布了年度新兴技术成熟度曲线。根据Gartner技术成熟曲线,有三个趋势非常突出:一是感知智能机器时代来临;二是透明的身临其境的体验更加优化;三是平台革命正在酝酿。

感知智能机器,是处理大数据的计算能力和智能算法的高效整合技术,使企业能够充分利用数据,面对复杂的需求,解决前人无法解决问题。这个领域了包括了,智能微尘、机器学习、虚拟个人助理、认知专家顾问、智能数据挖掘、智能工作空间、会话用户界面、智能机器人、商业无人机、自动驾驶汽车、自然语言问答、个人分析、企业分类法及自然管理、数据经纪人PaaS和语境经纪等方向。

5. FinTech金融领域的风口

那么接下来以金融行业来举例,FinTech=金融+科技。在互联网金融的创新阶段,单一的技术驱动型公司或金融驱动型公司,在无法提高创新驱动力的时候,金融与科技的结合变成为新的方向。一时间,大家都开始喊转型,有人是做交易,有人做投研,有人做跟单,有的做配资,有人做是牛人直播,有人做投资组合,有人做舆情监控等。

虽然,2016年整个大环境不好,但是从心态上大家都在积累内功,坚持把寒冬抗过去,更理性的定位需求,做技术的积累,提高人员的认知能力,特别是让技术人员去理解金融。理解金融非常重要,这不是“互联网+金融”,而是“金融+互联网”,用互联网的技术提高金融的效率,用互联网的连接打通与向客户的沟通,从而加速金融的创新。

从人工智能如何辅助量化交易到智能投资顾问,FinTech已经深入金融领域。

传统投资顾问服务,是以人工方式进行的,要雇佣大量理财经理,付出很高的人力成本,从而提高了进入门槛,只面向高净值人士开设,像银行中私人银行的业务就是这样。

智能投资顾问,则是用人工智能算法来为用户提供投资建议,以最少人工干涉的方式进行投资组合管理,由于成本降低,不再是高净值人士的专属服务。智能投顾,用机器学习方法进行建模,运用人工智能的技术对大量客户进行财富画像,为每一位客户提供量身定制的资产管理投资方案。2016年12月,招商银行推出了“摩羯智投”应用,打响了银行间在人工智能领域竞争的序幕。

不仅是银行,蚂蚁金服、京东、腾讯、百度,还有更多的互联网创业公司都在往这个方向挤。对于创业的风口来说,当大的机构进入时,创业公司根本没有拼的能力。如果我们换一个思路,当大的机构都在抢一个方向时,toB业务就是创业公司的机会。

有句老生常谈的话,“你是想做淘金的,还是买水的?”看准备机会,认清自己,找到目标,努力一把,我们还年轻,还有机会。

转载请注明出处:
http://blog.fens.me/architect-next

打赏作者

算法,如何改变命运

架构师的信仰系列文章,主要介绍我对系统架构的理解,从我的视角描述各种软件应用系统的架构设计思想和实现思路。

从程序员开始,到架构师一路走来,经历过太多的系统和应用。做过手机游戏,写过编程工具;做过大型Web应用系统,写过公司内部CRM;做过SOA的系统集成,写过基于Hadoop的大数据工具;做过外包,做过电商,做过团购,做过支付,做过SNS,也做过移动SNS。以前只用Java,然后学了PHP,现在用R和Javascript。最后跳出IT圈,进入金融圈,研发量化交易软件。

架构设计就是定义一套完整的程序规范,坚持架构师的信仰,做自己想做的东西。

关于作者:

  • 张丹(Conan), 程序员R,Nodejs,Java
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/architect-algorithm/

前言

近年来,随着大数据的飞跃式的发展,已经越来越深地开始影响到我们的生活,社交有腾讯大数据,购物有阿里大数据,搜索有百度大数据,出行有滴滴大数据等等。当数据越来越多地被积累,就需要算法来挖掘出数据的价值。特别是进入到大数据时代,算法显得越来越重要。

让死的数据变得有价值,就是算法的力量。进入到全民大数据的时代后,数据已经不再是门槛儿,最重要的是算法,算法才是真正能够创造生产力的地方。算法工程师的价值也会越来越大,但是你们真的发掘出来你们的价值了吗?

目录

  1. 算法在各个行业的应用
  2. 投身于哪个行业好?
  3. 金融最靠谱

1. 算法在各个行业的应用

大数据的兴起冲击着各行各业,带来机遇也带来挑战,没有数据你就没有核心价值。当有了数据作为基础,你要继续需要思考如何让数据变的有价值。过去的2016年的投资市场很惨淡,唯有人工智能大火了一把。从深度挖掘(Deep Learning)技术在图像识别领域的精确识别,迭代决策树(GBDT)在数据挖掘算法比赛中频繁获奖,到AlphaGo在围棋领域打败在人类选手,百度小度机器人在最强大脑的舞台上挑战人类脑王等等,这些事件都是算法领域的突破。

算法,真的已经应用到了各行各业,在慢慢地改变着人们的生活和习惯,比如说图像识别,自动驾驶,用户行为,金融征信,量化投资等领域,都在发生着变化。

图像识别领域,深度学习算法异军突起,不仅可以进行准确的人脸识别、指纹识别,还可以进行复杂的图像对比。我深刻记得,2016年参加的光谷人工智能大会上,听西安电子科技大学公茂果教授分享的“深度神经网络稀疏特征学习与空时影像变化检测”主题,利用图像识别技术,对比汶川地震前后的卫星照片和光感照片,准确地找到了受到地震影响最严重的区域,即震前和震后地貌发生变化最大的区域,快速地为救援队定位到最需要帮助的地点,解救伤者,投放救援物资。

自动驾驶领域,可以通过识别路面的状况来实现自动驾驶、自动停车。Uber无人驾驶汽车已经在匹兹堡上路测试,自动驾驶汽车配备了各式传感器,包括雷达、激光扫描仪以及高分辨率摄像头,以便绘制周边环境的细节。自动驾驶汽车有望改善人类的生活质量,也可挽救数百万人的性命,为人们提供更多的出行方便。5年前,我在听Andrew Ng的斯坦福大学机器学习公开课的时候,就被当时的自动驾驶视频介绍所震撼,科幻电影中的世界就快变成现实了。

用户行为分析,人类有各种各样的行为和需求。衣食住行,吃喝玩乐,都是人的最基本的行为。大多数人的行为是共性的,商家可以收集这些行为数据,通过数据挖掘算法来找到人们行为共性的规律。根据用户的购物行为,商家可以为用户推荐喜欢的商品,这样就有了推荐系统; 根据用户对信息的查询行为,可以发现用户对信息的需求,这样就有了搜索引擎;根据用户位置的变化,可以发现用户的出行需求,这样就有了地图应用;针对用户个性化的行为,可以给用户打上标签,用来标注用户的特征或身份,这样就有了用户画像。用户行为分析,让商家了解用户习惯,同时也让用户了解自己,有巨大的商业价值。

在金融领域也有很多,算法应用的场景。

金融征信领域,传统信贷业务都是银行核心业务,但由于中国人数众多且小客户居多,银行无法负担为小客户服务的高成本,导致民间信贷的兴起。2014年底互联网金融P2P的开始爆发,贷款需求被满足的同时,却暴露出了违约风险。征信体系缺失,导致很多P2P公司坏账率很高,到2016年底P2P跑路的多达数千家。征信需求,变得非常迫切。比如,某个人想买车但现金不够,这时就需要进行贷款。商家给用户进行贷款时,通过信用风险的评级就能判断出这个用户的还款能力,从而来决定给他贷多少钱,以什么周期还款,减少违约风险。支付宝的芝麻信用分,是目前被市场一致认可的信用评分模型。

量化投资领域,我认为这个领域最复杂的,最有挑战性的,同时也是最有意思的。可以通过量化算法模型实现赚钱,是最容易变现的一种方法。在金融投资领域中,有各式各样的数据,反应的各种金融市场的规则,有宏观数据,经济数据,股票数据,债券数据,期货数据,还有新闻数据,情绪数据等等,金融宽客(Quant)通过分析各种各样的数据,判断出国家的经济形势和个股的走势,进行投资组合算法,实现投资的盈利。

看到这里,我想问问大家,你们脑子里那些聪明的想法,有没有被金融行业的魅力撩出些许的荷尔蒙?

2. 投身于哪个行业好?

从上面各个行业的算法应用来说,都有很广阔的应用前景。作为一个算法的研究者,那我们究竟投身到哪个行业更好呢?

这个其实要从多个方面进行考虑,我们的目标是个人价值最大化。那么,你要选择一个自己能够接触到的、完全竞争的、短流程的渠道,利用你的算法技术和对业务的理解实现变现的过程。

其实,满足个人可变现的渠道其实非常有限,你很难通过一个图像识别的算法,直接面向市场进行收钱,你需要有一个承载的产品,而产品研发的过程是非常漫长的。同样地,自动驾驶算法需要汽车生产场商的实验。用户行为分析算法,需要电子商务平台的以用户购买行为进行验证。

量化投资,可以用个人账号在中国二级投资交易市场,完成交易过程。这种方式没有很多的中间环节,你获得交易所的数据,自己编写算法模型,然后用自己的钱去交易,完全自己把握。只要算法有稳定的收益率,你就可以赚到钱。这种变现方法,其实就是量化投资,从金融的角度才是最靠谱的一种变现方法。

3. 金融最靠谱

作为IT人,我们懂编程,懂算法,只要再了解金融市场的规则,就能去金融市场抢钱了。中国的金融二级投资交易市场,是一个不成熟的市场,同时又是情绪化的市场。市场中,每天都存在着大量的交易机会,每天都会有“乌龙指”。量化投资的技术,可以帮助我们发现这些由于信息不对称出现的机会,赚取超额的收益。

那么到底怎么做量化投资呢?。

下面举个例子,一个私募基金,募集了1亿资金准备杀入金融市场。基金经理决定按照投资组合的建模思路,对各类金融资产进行组合配置。下图就反应了各类资产,以均值-方差的标准来创建投资组合,符合资本资产定价模型(CAPM)的原理。关于资本资产定价模型详细介绍,请参考文章R语言解读资本资产定价模型CAPM

图中,x轴为收益率的标准差,y轴为收益率的均值,图中的点构建了可投资区域,每个点代表一个可投资产品,每条虚线连接的点的集合,就是一个有效的投资组合。

对于,图中近百个点来说,假设每次要配置5种资产做投资组合,那么就是75287520种组合方法;如果配置10种资产,可选方案就是一个非常大的数字了。

我可以用R语言来计算一下,投资组合的数量。


# 100个选5个,做组合
> choose(100,5) 
[1] 75287520

# 100个选10个,做组合
> choose(100,10) 
[1] 1.731031e+13

对于金融市场来说,有非常多的金融资产可供我们来选择。中国A股股票有3000多只,基金2000多支, 债券3000多支,期货100多支,还有大综商品,货币市场产品,汇率产品,海外投资市场等。如果把这个多种的资产进行组合,将有无限多的投资组合可以进行选择,是一个无限大的计算量。我们需要利用算法进行组合优化,从而找到市场上最优的投资组合。算法本身,才是最能体现价值的部分。

那么传统的基金是如何进行投资组合的?大多都是靠投资经理的主观投资经验来完成的。在金融市场里,每支基金都配置了不同的资产做组合,我们随便找支基金看看,它的投资组合是如何配置的。比如,华夏成长(000001.OF)基金,它是股债混合型的。数据来源于万得, 2017年2月8日的数据。

从业绩表现来看,这支基金最辉煌的时代在2006-2007年,连续6个月回报101.49%,那么最低1年表现就比较差,为仅落后于沪深300指数,整体排名也都在后面。今年以来收益率0.58%,同类排名144/507;1年收益率-1.45%,同类排名400/487;3年收益11.67%,同类排名378/426;5年收益39.96%,同类排名290/352。

我们再来看一下,这支基金的组合成分,主要是股票和债券。

债券占比 :

证券名称 占净值比 近3月涨跌
12石化01 2.34%↑ -0.49%
116国泰君安CP008 2.12%↑ -0.03%
116农发01 1.91%↑ -0.08%
110营口港 1.70%↑ -1.59%
109常高新 1.62%↑ -0.65%

股票占比:

证券名称 占净值比 近3月涨跌
中工国际 4.09%↑ -0.95%
中国医药 3.85%↑ 0.34%
神雾环保 3.81%↑ 2.56%
东方网络 2.89%↑ -13.00%
立讯精密 1.52%↑ -1.82%
高能环境 1.42%↑ -14.96%
上汽集团 1.38%↑ 7.88%
田中精机 1.31%↑ -12.28%
上海医药 1.25%↑ 5.39%
中牧股份 1.21%↑ -4.25%

从市场上几千支的股票和债券中进行选择,并配置不同的权重,之前都是基金经理干的活,那么我们用算法一样也可以干,说不定用算法模型构建的组合业绩会更好。如果我们用算法模型,取代了年薪几百万的基金经理,那么你就能够获得这个收益。最终实现个人价值,从而用算法改变命运。所以,通过金融变现才是最靠谱的。

转载请注明出处:
http://blog.fens.me/architect-algorithm/

打赏作者

R语言量化投资常用包总结

用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/

quant-packages

前言

总是被很多的人问,为什么用R语言做量化投资,R、Python、Matlab比起来哪个更好?其实,答案很简单,你哪个用的熟就用哪个,工具是用来提升效率的,结果才是你会得到的。认准一门语言,坚持把它做好你就会成长。

每个领域,每种编程语言都用推动它前进的人,跟上牛人的脚步,你慢慢地也会变牛。

目录

  1. 为什么用R语言做量化投资?
  2. 常用量化投资工具包

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标签。

task

金融领域涉及范围是非常广的,包括银行业、保险业、信托业、证券业、租赁业等。金融行业都具有指标性、垄断性、高风险性、效益依赖性和高负债经营性的特点。量化投资是证券投资的一个很细分的专业领域,涉及到的金融工具包其实并不是太多。我们其实能把这些工具包研究好了,就可以方便地做量化的模型和交易了。

如果我们想用R构建自己的量化交易系统,你需要用到5方面的R语言工具包:数据管理、指标计算、回测交易、投资组合、风险管理。

quant-lib

  • 数据管理:包括数据集抓取、存储、读取、时间序列、数据处理等,涉及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系财务分析), fExoticOptions(Rmetrics系期权计算), fGarch(Rmetrics系Garch模型), fNonlinear(Rmetrics系非线模型), fOptions(Rmetrics系期权定价), fRegression(Rmetrics系回归分析), fUnitRoots(Rmetrics系单位根检验) 等。
  • 回测交易:包括金融数据建模,并验证用历史数据验证模型的可靠性,涉及R包有 FinancialInstrument(金融产品), quantstrat(策略模型和回测), blotter(账户管理), fTrading(Rmetrics系交易分析)等。
  • 投资组合:对多策略或多模型进行管理和优化,涉及R包有 PortfolioAnalytics(组合分析和优化), stockPortfolio(股票组合管理), fAssets(Rmetrics系组合管理)等
  • 风险管理:对持仓进行风险指标的计算和风险提示,涉及R包有 PerformanceAnalytics(风险分析),fPortfolio(Rmetrics系组合优化), fExtremes(Rmetrics系数据处理)等。

基于上文中列出的R包,我们可以选择使用独立地第三方R包来构建我们的量化交易的系统,也可以选用完整的Rmetrics体系来构建量化交易的系统。这两类R包也可以混合使用,如果在混用时,由于他们基于的时间序列的底层对象是不一样的,那么类型转换的时候,可以你需要花点功夫处理一下。

上文中列出的R语言,并不是所有的R语言量化投资的R包,仅仅我关注的一些包。还有很多其他的,比如用于配对交易的包PairTrading;在Github上发布的,我并没有发现的R包等。

对于我自己来说,倾向于用独立地第三方R包来做量化交易系统,会用到其中的几个独立的R包。这样选择的主要原因有2个,一是中国市场比较特别,很多规则并不完全符合世界的标准。比如,股票T+1交易就是全球唯一的。另外一点是第三方的开源包,有一些可能有错误,所以你不应该把程序完全依赖于第三方包,要有独立的思考和判断,第三方包只是给我们提供了便利性。

那么常用的第三方R包的组合为:zoo, xts, TTR, quantmod, FinancialInstrument, quantstrat, blotter, PortfolioAnalytics, PerformanceAnalytics。这其中的任何一个包,都可以被替换或自己实现,从而保证自己量化交易系统的独特性。引用国外量化的教材上的一张图,国外用R来研究量化交易已经体系。

quantitative-analysis

图片摘自Introduction to Trading Systems,作者Guy Yollin。

本系列文章,稍后将对整个量化体系的金融R包进行全面的介绍,并加上我自己的理解。量化相关R包介绍的相关文章列表,持续更新中。。。

数据管理

策略模型

量化交易一条程序员可以利用技术优势,突破自己过上幸福生活的一条路,很艰难也很兴奋。我会一直坚持,希望路上的朋友一起加油!

转载请注明出处:
http://blog.fens.me/r-quant-packages/

打赏作者