什么是量化投资?
量化投资实际上是把投资者在市场中总结的经验,转变成计算机能够理解的语言。利用计算机的计算优势,帮你发现符合设定条件的个股,帮你发现最佳的入场时机。这就是通常说的“择股、择时”。
资深的投资者都应该使用过炒股软件提供的“条件选股器”,并被它深深地吸引。但条件选股器和量化投资工具相比,就像计算器与计算机的关系。所以对于投资者而言,掌握这项技术,你将在投资领域如虎添翼。
量化投资历史
量化投资的历史比较悠久。推动量化投资走向应用的第一人叫约翰·麦奎恩。麦奎恩利用美国富国银行的信托投资平台建立了第一个定量投资系统,并于1971年发行了世界上第一支被动管理的指数基金。这一平台经不断改进,演变成为今天世界上第二大投资管理公司——巴克莱国际投资管理公司(Barclays Global Investors)。
量化投资之王
把量化投资推向巅峰的是詹姆斯·西蒙斯。自1988成立以来,文艺复兴科技公司的旗舰基金——大奖章基金取得平均每年34%的回报。收益远超巴菲特、索罗斯。而其创始人、现年82岁高寿的詹姆斯·西蒙斯(James Simons)也被誉为“量化投资之王”。
数据的垄断
前几年,散户为什么不做量化投资?
最主要的原因就是“巧妇难为无米之炊”。没有股票交易数据,没有上市公司历年财务数据,如何做分析?
在资本市场,长期以来机构和券商研究所一直垄断着数据分析的制高点。投资者只能通过发布的文章来获取二手信息,获取信息的渠道也是非常有限的。三大证券报、炒股软件的F10、《股市红周刊》是散户获取上市公司的三大主要来源。
股票交易的K线数据也是加密存储在电脑硬盘上的。虽然炒股软件设计了手工导出个股K线数据的功能,但是无法批量操作,只能一个一个导出。所以数据的缺乏是散户进行数据分析最大的障碍。
科技创新
随着时代的发展,数据分析技术和开源软件都得到了空前的发展。促进了量化分析工具的成熟。以Python语言为代表的开源解释型计算机语言,受到像谷歌等全球大公司的资助和扶持,也受到华尔街分析师的青睐。目前已成为世界第三大计算机语言。
世界第三大编程语言
随着数据分析Pandas库以及爬虫技术的不断成熟,Python+Pandas+Matplotlib的组合逐渐成为开源数据分析领域的首选。量化交易全面进入“平民时代”。
因为Python语言是一个全能型的编程语言,凭借大量的第三方库,Python几乎变得无所不能。但是投资者要尽量避免走入歧途。集中精力按照下面介绍的内容进行学习,才能尽快进入量化投资的殿堂。
掌握Python
这是学习量化分析的第一步。Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言 (Google的第三大开发语言,Youtube等美国高科技公司都在用Python做核心业务)。Python也是国内外基金公司和金融机构首选的量化投资分析语言。美国大的投资银行甚至把Python语言指定为分析师必须掌握的计算机语言。可见Python在金融行业的地位。
Python编程界面
幸运的是,Python语言的书写方式非常接近自然语言,所以非常容易学习。在全球范围内,Python语言已经成为儿童学习编程的首选语言。儿童都能学会的语言,成年人学习还会有太多障碍吗?
掌握Numpy和Pandas:
这是学习量化分析的第二步。这两个Python库集成了大量科学计算和统计分析的功能。学会了这两个库。股票的统计、排序、过滤都可以轻松完成。这两个库还有一个非常大的优点,它们是由C语言编写,运行速度极快。
数据多维切片分析
A股3000多只股票,我们执行筛选、排序等常见操作只需几秒就可以完成。炒股软件的条件选股速度是望尘莫及的。当执行批量的复杂计算时,优势就更加的明显。
数据可视化
这是学习量化分析的第三步。掌握Python的Matplotlib库、plotly库进行绘图。数据分析结果的可视化,让我们更直观的了解市场的状态,板块指数的涨跌对比关系,个股的相关性分析等。
也可以通过绘图直观了解企业财务状况的同比、环比情况、近年来的发展趋势,拐点的产生时间等等。
学会爬虫技术:
这是学习量化的最后一步。使用requests库、scrapy库可以实现。数据是一切分析的基础。在学习的前期,我们可以使用量化网站给我们提供的免费数据(Tushare库、JoinQuant)和收费数据进行量化分析。
当你的爬虫技术过关后,各大财经网站、基金公司网站、交易所网站、上市公司网站等都是数据获取的来源。python爬虫就可以帮我们实现数据获取的工作。把这些数据获取回来,再进行数据分析,就可以提前获得独家“内幕信息”了。可以让我们在投资领域,总算与机构处于同一起跑线上。
数据入库:
如果希望把数据进行更有效的组织和管理,数据库技术是必须技能,但数据库有自己的数据处理语言,需要额外学习和掌握。对此,我们可以使用Python的pymysql库和sqlAlchemy库在无需了解数据库语言的基础上使用ORM模型对数据库进行增、删、改、查、的操作。
编写量化投资系统:
掌握了上面的知识,你就打下了量化投资的良好基础。下一步,就是把你多年领悟的投资经验用Python代码写成模型。通过历史数据的回测,验证模型的有效性。也可以通过回测,找到模型的缺陷,进行有针对性的改进。
当你把优良的模型用于选股和择时操作时,你就拥有了自己的量化投资系统,真正步入了量化分析的殿堂。