1、学习目标
谈到金融量化分析,可能大多数人想到的肯定就是海量的股票数据,交叉错乱的股票数据图表,让从未接触过金融的人无法入手,就会想这种东西我怎么可能学的会。但是在我们有着扎实的Python编程基础就完全不需要担心这些东西了,我们只需要通过编程的方式编写出对应的策略就能通过计算机帮我们进行自动化交易。
从本文的标题当中就可以看到,我们的目标就是金融量化分析,在前面已经简单介绍过金融了,所以说我们就直接来看量化,量化这个词在当前这个时代已经越来越常见了,它主要就是可以通过一些策略获取一个投资的方案,而分析就是我们常说的数据分析了,数据分析也是与我们的生活息息相关,本文主要是针对金融方面的数据进行分析,但是如果你从事其他行业,这些技术完全适用。
2、金融量化简介
2.1、什么是金融量化
金融量化主要是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据当中选出能够带来超额收益的多种“大概率”事件以此来指定策略。主要就是以下几步:
1、发现的一种能够赚钱的规律
2、将规律分解成可操作的步骤(策略)
3、编写程序,让机器去执行这个策略
4、机器返回结果,或者说是让机器直接实现自动化交易
2.2、金融量化能干什么
相信大家都经常会使用百度、谷歌等之类的搜索引擎搜索我们想了解的问题,但是你要是直接去问它,我到底该买哪一支股票?什么股票可以挣钱?这样的问题会有答案吗,肯定是不会的,所以说金融量化的任务就是类似于这些搜索引擎的功能,只不过它只会通知你今天应该买什么,今天应该买什么。
1、可以帮你在几千只A股当中选择符合要求条件的股票
2、选择买、卖、平仓的时机
3、管理仓位风险
4、不会受到个人情绪影响
2.3、为什么将Python用于金融
其实在之前大多数金融投资都是投资者根据个人经验或者偏好来完成的,但是这样的方式会受到很多因素的影响。但是我们将大量的历史数据通过计算机强大的运算能力进行分析、测试,然后再进行投资,就可以利用历史规律,在其基础上发现概率优势,形成良好的投机基础。
量化投资目前主要是以R和Python为工具,早些年可能R语言占据了绝对的地位,但是随着Numpy、Pandas、Matplotlib、Scipy、Sckikiy-Learn等Python开源工具的发展,目前Python已经在这一方向大放异彩,加上它强大的调试能力以及工程能力,让我们分析的结果和需要执行的任务可以无缝结合,使得维护变得非常方便。
3、数据分析简介
3.1、数据分析是什么
对比互联网各个岗位的裁员程度可以发现,数据分析相关岗位正在不断的扩招,已经成为了这波逆流中的黑马,什么原因导致的数据分析人才如此紧缺?
因为数据分析是大势所趋,未来的发展空间会大有可为。随着5G网络即将商用,企业每天将会产生海量的数据,BAT日均数据更是达到了PB的级别,数据分析相关岗位才会存在着巨大的需求缺口。
长此以往,企业要用尽可能少的人才,来满足尽可能多岗位的诉求,可以这么说,数据分析将会是每个程序员个人能力最重要的补充,也是BAT这类大公司急招人才的必备技能。
但是一提数据分析,很多人就觉得无从下手,知识点零散总是抓不住重点,学习起来相当吃力。
在我们如今这个时代,相信大多数人都能明白数据的重要性,数据就是信息,而数据分析就是可以让我们发挥这些信息功能的重要手段。
3.2、数据分析能干什么
对于数据分析能干什么其实我们可以简单的举几个例子:
- 1、淘宝可以观察用户的购买记录、搜索记录以及人们在社交媒体上发布的内容选择商品推荐
- 2、股票可以根据相应的数据选择买进卖出
- 3、今日头条可以将数据分析应用到新闻推送排行算法当中
- 4、爱奇艺可以为用户提供个性化电影推荐服务
其实数据分析不仅可以完成像以上这样的推荐系统,在制药行业也可运用数据分析来预测什么样的化合物更有可能制成高效药物等。所以说数据分析绝对是未来所有公司不可或缺的岗位,目前社会上获取数据方式太多了,这么多的数据,只要我们拥有数据分析的技能,绝对可以应付任何岗位上的工作。
3.3、为什么利用Python进行数据分析
- 1、Python的代码语法简单易学
- 2、Python可以很容易的整合C、C++等语言的代码
- 3、Python有大量用于科学计算的库
- 4、Python不仅可以用于研究和原型构建,同时也适用于构建生产系统
4、常用库简介
Numpy
NumPy是用于科学计算的一个开源Python扩充程序库,它为Python提供了高性能的数组与矩阵运算处理能力.NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都支持向量化运算,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。
Pandas
Pandas使我们进行数据分析的一个主要工具。它所包含的数据结构和数据处理工具的设计使得Python中进行数据清洗和分析非常快捷。pandas一般也是和其他数值计算工具一起使用的,支持大部分Numpy语言风格的数组计算。pandas和numpy最大的区别就是pandas是用来处理表格型或者异质性数据的,而Numpy则刚好相反,它更适合处理同质型的数值类数组数据
matplotlib
matplotlib是最流行的用于绘制数据图表的python库。它基本也是可视化这一区域的标杆,在许多情况下,它都是 一个可靠、健壮的可视化工具。对于一些标准的绘图工作,它比较容易理解,进行复杂的绘图还有自定义,它也很灵活。此外,它还与Numpy以及其提供的数据结构紧密集成。
Scipy
Scipy是科学计算领域针对不同标准问题域的包集合。提供了强大的科学计算方法(矩阵分析、信号分析、数理分析等)
IPython和Juypyter notebook
IPython是一个加强版的Python解释器,Juypyter notebook是一种基于Web的代码笔记本,最初也是源于IPython项目。
5、小结
本文主要带大家一块认识金融、量化投资、数据分析等多方面知识,从数据入手,结合金融行业的大量数据完成数据分析的一些常用操作,最终通过所学的所有知识完成一个简易量化系统。
来源:http://www.cnblogs.com/Yang-Sen/p/11396221.html