So easy! 5分钟快速实现你的量化交易策略

(欢迎关注微信公众号:一量学院)

过去三个月,我们带大家走过了基础的Python数据类型与控制结构入门、介绍了常用的金融数据科学库,以及常见的经典交易策略原理,还有机器学习原理的应用。


量化投资必备技能一:NumPy数据处理

量化投资必备技能二:Pandas数据处理

量化投资必备技能三:Python可视化工具

量化投资必备技能四:SciPy计算库

量化投资必备技能五:Scikit-learn机器学习基础

量化投资必备技能六:大数据时代如何进行机器学习

一量小课堂 | 经典量化策略 No.1:量化择时

一量小课堂 | 经典量化策略 No.2:动量和反转策略

一量小课堂 | 经典量化策略 No.3:基金结构套利

一量小课堂 | 经典量化策略 No.4:宏观择时与行业轮动

一量小课堂 | 经典量化策略 No.5:对冲基金策略概述

一量小课堂 | 经典量化策略 No.6:多因子价值策略

一量小课堂 | 经典量化策略 No.7:商品期货CTA策略

一量小课堂 | 经典量化策略 No.8:CTA趋势策略

一量小课堂 | 经典量化策略 No.9:CTA套利策略


今天,我们就综合运用所学的知识,花5分钟的时间,来实战一下,用Python来快速实现一个机器学习量化交易策略。

1

获取金融数据

关于金融数据,一般分为结构化数据和非结构化数据。我们可以通过读取本地文件、网络爬虫或是通过一些金融数据库与统计网站的API来获取。我们在一量学院的课程中介绍过如何读取csv文件、Quandl、Yahoo、Tushare的数据(详见一量学院量化交易培训课程)。

今天,我们介绍一下导入万得wind数据,导入原理和步骤都一致。

1. 安装所需的Python库

2. 通过对应接口调取数据

3. 设置索引和列名

导入wind接口包WindPy,并启动接口

接下来就可以通过指定股票代码,来调用指定时间区间的交易数据啦。

2

数据预处理

我们实际处理数据的时候常常会遇到不能批量获得数据、存在异常和缺失值、量纲不一致、维度太多等问题。因此,我们需要数据预处理。数据预处理包括将数据整合、标准化、缺失值填补、异常值、特征工程等。

运用concat函数来整合数据

标准化、缺失值、异常值处理



3

编写策略

量化交易策略有很多,比如均线、动量、反转的技术面策略,也有构造财务分析指标来进行打分选股的基本面策略;


更有一些交叉学科的策略,比如金融和统计学交叉,通过统计分析来套利,比如配对交易、布林带等;

以及金融和计算机科学交叉,通过机器学习和深度学习来获利,如通过SVM、逻辑回归、Bagging和Boosting的一些集成算法来预测股市涨跌。

如果利用支持向量机SVM,基于股票历史交易的最高价、最低价、开盘价、收盘价这些基础特征,就可以来预测下一日股市价格:


4

获取结果和优化

得到结果之后,我们可以看看策略获得的收益率。假设我们执行了机器学习SVM的策略,我们可以通过predict函数,将预测的测试集的股价添加到DataFrame中,如果预测的比第二天开盘高,那么我们就设置为买入信号。

1. 通过np.where函数找出买入信号,并计算收益率

2. 通过np.cumprod累乘函数计算策略的累计收益率

3. 比较策略选股和对标股票池的收益率


关于策略的优化,需要根据所选的方法进行。总体而言,可以分为三类:一是结合多指标加强信号和指标有效性,二是增添约束条件,过滤一些数据噪声,三是运用学习曲线、网格搜索等方法来进行调参。


5

可视化分析

可视化可以让纷繁复杂的数据更加清晰直观,便于分析。我们可以通过Pandas自带的plot函数绘制效果曲线图,也可以通过常用的matplotlib来绘制。我们以常用的Matplotlib库来实现可视化:

如图,蓝色是股票收益,橙色是策略收益,绿色是优化后的策略收益。可以观察出,策略在市场下跌的时候会有更好的表现,在震荡期可以选择别的策略来进一步优化策略等等。还不错吧,轻松实现了一个完整的机器学习量化交易策略,就这么简单。

欢迎关注微信公众号:一量学院,更多量化课程等你来。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容