自动化交易的学习之路--SZK

自动化交易的学习之路–SZK

1.了解自动化交易

一、数量金融理论的发展
很多量化投资的理论、方法和技术都来源于数理金融学。数理金融学的理论是量化投资策略的基础。

1,1950年代至1960年代
Markowitz 在1952年建立了以均值方差模型为基础的现代资产组合管理理论(PMT)。资产组合管理理论确立了金融学收益风险均衡的分析范式,标志着现代金融学的诞生。
Sharpe,Litner,Mossin随后研究了资产价格的均衡结构,于1964、1965、1966年分别独立地导出了资本资产定价模型(CAPM)。CAPM成为了度量金融投资绩效的理论基础。
Samuelson 和 Famma在1965年提出了有效市场假说(EMH)。有效市场假说是对市场进行描述和理解的基础性理论,具有重要而深远的影响。

2,1970年代至1980年代
Black,Sholes 和 Morton 于1973年建立了期权定价模型(OPM),为衍生品定价问题确立了分析范式。期权定价模型被迅速运用于金融实践,金融市场创新得到了空前的发展。
Ross在1976年建立了无套利定价理论(APT)。无套利定价理论也叫多因素理论。多因素理论对资本资产定价模型做了一般化推广,是量化选股的基础理论。

3,1990年代至今
1992年,Famma与其同事French提出了Fama-French三因子模型。三因子模型通过对美股实证研究发现,股票的收益率除了受Beta系数影响,还会受到股票市值和估值的影响,小盘价值股具有显著超额正收益。

1993年G30集团提出了VAR(在险价值)风险管理方法,VAR方法由于其简洁直观、标准统一的特点,成为了现代风险管理的最重要方法。

从1990年代以来,以Shiller为代表的金融学者发展了和有效市场理论相对应的行为金融学(BF)理论。行为金融学以人的有限理性和市场有限套利为基础,提供了描述和理解市场的新范式。

二、海外量化投资基金的发展历程
1,量化投资的产生(60年代)

1969年,爱德华·索普利用他发明的"科学股票市场系统"(实际上是一种股票权证定价模型),和里根合伙成立了第一个量化投资基金——可转换对冲合伙基金,后改名为普林斯顿-纽波特合伙基金,主要从事可转换债券的套利。该基金成立后连续11年内没有出现年内和季度亏损且持续跑赢标普指数。爱德华·索普被誉为量化投资的鼻祖,宽客之父。

2,量化投资的兴起(70至80年代)

1973年美国芝加哥期权交易所成立,以金融衍生品创新和估值的量化投资革命拉开了序幕。
1983年,时任摩根斯坦利大宗交易部门的程序员格里·班伯格发现了统计套利策略。统计套利策略是一种非常强大的策略,不管市场运动方向如何都能够盈利,许多基金竞相仿照采用。
1988年,曾为数学家和密码学家的詹姆斯·西蒙斯成立了大奖章基金,从事高频交易和多策略交易。基金成立20多年来收益达到年化70%左右,除去报酬后达到40%以上。西蒙斯因此被称为"量化对冲之王"。

3,量化投资的繁荣(90年代)

1991年,彼得·穆勒发明了alpha系统策略。

1992年,克里夫·阿斯内斯发明了价值和动量策略(OAS)。

1994年,约翰·梅里威瑟成立长期资本管理有限公司(LTCM),创立期权定价模型(OPM)并获得了诺贝尔经济学奖的斯科尔斯和莫顿加入。该公司专长相对价值交易,搜寻价格偏离理论均衡水平的证券,并利用超高杠杆放大收益。

1998年,由于采用了过高的杠杆并遭遇小概率事件,长期资本管理有限公司破产。

4,量化投资在危机中前行(21世纪以来)

2000年,互联网泡沫破灭,更多资金进入量化对冲基金。

2008年,由美国次级贷款引发的金融危机使得许多量化对冲基金受到重创,价值缩水,量化投资基金的发展受到抑制。

2011年,量化投资基金管理的总资产再次暴涨,超过2万4千万亿美元。

作者:Python与算法之美
链接:https://www.jianshu.com/p/5fe70c97a315
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.自动化交易的优点

量化投资通常指的是采用一定的数学模型并利用计算机技术去践行投资理念的投资方法。和传统主动型投资一样,量化投资也是一种主动性投资策略,建立在市场并不完全有效的假设上。
和传统主动投资相比,量化投资具有以下优点。
1,纪律性:计算机没有恐惧和贪婪。
2,系统性:多层次多维度多角度分析海量数据。
3,及时性:及时跟踪市场发现新的交易机会。
4,准确性:模型算法不允许模棱两可。
5,分散化:量化投资组合管理。
量化投资的主要领域包括:量化选股、量化择时、统计套利、期货套利、期权套利、ETF/LOF/分级基金套利、事件驱动套利、算法交易、高频交易等。
量化投资的一般流程分为:
模型实现——样本内测试——样本外跟踪——实盘——归因分析
作者:Python与算法之美
链接:https://www.jianshu.com/p/5fe70c97a315
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
笔者的理解:
1.现在美国70%以上的和香港50%以上的交易都是用计算机完成交易的,注:不是人在计算机发送指令进行交易的,而是计算机根据人设定的程序来发出交易信号的
2.计算机交易的优点:
(1).节省大量的精力,不用整天去盯着市场.让计算机代替你完成这一项工作.
(2)可以作为理财产品,这是完全由自己设计的理财产品(当然也可以自己去买交易策略),笔者比较喜欢自己设计的策略,因为当一个行之有效的策略被广泛传播时就是它失效的时候.而且市场上流行的策略价格往往是不便宜的

3.如何学习自动化交易

(1)金融和投资理论(35%)
现在投资市场有很多板块,可以选择自己比较熟悉的和有操作经验的板块来做(期货,期权,股票,外汇,基金等)如果不熟悉的小伙伴建议到b站多了解一下自己的喜欢的方面.
(2)数学理论知识(45%)
现在很流行的是用深度学习机器学习去做自动化交易的程序,所以学好数理化走遍天下都不怕是很有道理的,因为深度学习机器学习就是以高等数学为基础的,所以感觉在自动化交易这方面是最重要的,当然不用深度学习机器学习去做可以吗?答案是肯定可以的,甚至很多很优秀的策略都是没有用到机器学习的,笔者也是没有用到深度学习机器学习这方面去做,而是用统计学理论去做自动化交易程序
(3)编程知识(20%)
虽然笔者认为它是最不重要的,但是它却是最基础的,没有编程知识我们就无从谈起自动化了,推荐学习python,入门简单,安装包比较全面,比如计算数据的pandas,numpy,金融包tailb,可以说python存在的一半意义就是做自动化交易

4.自动化交易通用模型的分析

不要把交易模型想得太复杂,自动交易就是模仿我们手工交易的我们把她人工交易拆分一下
1.买入2.卖出 其实比较好的策略就是模仿优秀的操作员进行交易
所以无论多复杂的模型都是围绕二个基本要素去分析:
(1)买入点 (2)卖出点
如果我们没有操作经验怎么办,我们可以去同花顺模拟炒股或者实盘炒建议
是实盘,因为实盘得出来的经验要比模拟更贴合市场,虽然实盘可能会亏

买入点,卖出点

自动化交易的学习之路--SZK
其实所有的模型都在尽可能的接近最佳点的这个区间避开最差点,没有哪一个模型能够100%预测到那个最佳点,只能尽可能的压缩最佳点所在的那个区域,同理也没有哪个模型能够完美的避开那个最差点.

我们最常用的就是对在股票上涨前的前几天的某些特征进行统计和提取,这样我们赢的概率就能尽可能的高,当然要做到这件事并不是那么的容易的
同理我们也可以对股票大跌前的前几天进行特征提取和统计,我们就可以尽可能的避开输的概率

但是,就算我们这样去做可能还是并不理想的(也有可能效果是很好的),因为市场是收到无穷因素影响的(理论状态下)所以我们可能要考虑到市场情绪的问题,我们可能就要调查市场对这个股票的看法或情绪,方法:对各大知名网站进行数据爬取并对其中的关键字进行分析,看看市场这只股票的看法(这可能要更难,但赚钱本来就不是一件很容易的事情)

5.笔者自动化学习路线(业余)

(1)初步认识自动化框架

链接: 自动化框架的搭建:https://www.bilibili.com/video/BV1SW411A7Ab?t=17.
首先我们先了解一下自动化交易是有哪些要素是如何一步步实现这个过程的,这位b站清华博主就讲的好,虽然讲的技术编程要求有一点高,但是思路简单明了.

(2)学习python

链接: python的初步学习:https://www.bilibili.com/video/BV1M741177ph?p=1.

由于我们对前面这个课程有一点了解,为了实现我们的策略,所以我们需要一个工具,python显然是一个很好的选择,笔者推荐的这个入门编程讲的很细,如果是学习能力比较的强,建议开1.5~2倍速观看视频,有编程基础的可以跳着看,觉得学习python最重要的就是python各种包的安装和使用,学习python的过程其实就是对各种包的学习和使用,建议看免费部分就可以了

(3)数据的操作

数据的操作本来就在程序当中,为什么笔者要单纯把它列出来,因为我们的一个策略就是对数据的操作
用历史去预测未来,用已知去预测未知.

获取数据

baostock:链接: 股票历史数据的获取:http://baostock.com/baostock/index.php.
这是一个专门免费提供历史股票数据的接口,网站里面有非常详细的记录数据是如何获取的
tushare:链接: 股票历史数据的获取:https://tushare.pro/.
这是拥有一个比较全面的数据网站,(股票.期货.基金,债券,外汇,大数据等等)
不过在使用前注册账号,不像前面那个很方便,而且使用也是有限制的,如果想要不限制就要花钱,以笔者的性格肯定是使用前面一个简单又免费,推荐第一个

处理数据

这里就是自动化策略的关键了,看你有什么idea,但是总是免不了几个通用的步骤,一是对数据的特征进行提取(可以用深度学习进行学习预测,笔者是没有这样做的)二是对数据进行统计归类等分析,python是几个数据处理包可以帮助我们节省大量的运算的,1是pandas,从网站下载的数据大部分都是pandas格式下的dataframe类,这就要求我们会使用pandas,2是numpy,这是python下一个最常用的数据处理的包,3是tailb,这是一个专门的金融包,里面的大量关于股票指标的计算MACD,SAR等,可以节约我们的大量时间,建议去b站看一下这几个包是如何操作的

(4)买入卖出的接口

由于笔者是一名学生所以没有好的资源接口,要么是券商要求30的长城,或是要求50w的恒泰好像是
笔者不满足这个要求,还有就是同花顺的python在线接口笔者也是没有申请过了,
最后笔者用python下的easytrader,模拟点击买入卖出,问题多多,而且每一台电脑遇到的问题都是不一样的
只能多调试一下忍着用了,还有获取实时行情的可以用python下的easyquotation, python就是插件包多好用

(5)模型的回测https://www.joinquant.com/view/user/floor?type=mainFloor

推荐用聚宽.的回测系统,如果你连模型都会搭建了,那搭建回测是很简单的,百度聚宽就能找到了
有什么问题可以加小编微信交流: ShiZhenKun1837603518 互相学习讨论
自动化交易的学习之路--SZK