动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思。

首先加载原始数据,我们用天的收盘价即可,按统一转为收益率。因为点位本身不重要,我们最后只关心变化率。

以沪深300数据为例,从2010-01-01到现在。

df['position'] = np.sign(df[code])

numpy.sign可以向量化的判断收益率为正或负。——其实收益率就是1天的动量。

下面我们做一个最简单的动量策略,就是昨天收益率(动量)为正当天持仓; 如果昨天为负,则当天空仓,一行代码就够了:

df['strategy'] = df['position'].shift(1) * df[code]

shift把position统一向上撤一行,否则就是未来函数。

这一句就把策略的收益直接算出来:

我们把策略收益画出来看下效果如何:

(df[[code, 'strategy']]+1).cumprod().plot(figsize=(10, 6))

cumsum()是连乘的意思,等于(1+rate).cumprod()。

这么一个最简单的策略,看出来,动量策略可能有正收益的。

稍微改造一下,N=13天的动量策略:

df = MongoDatafeed(start=datetime(2011, 1, 1)).get_dfs([code])

df['equity'] = (1+df[code]).cumprod()

N = 13

df['equity_{}'.format(N)] = df['equity'].shift(N)

df['momentum'] = df['equity']/df['equity_{}'.format(N)] - 1df['position'] = np.sign(df['momentum'])

df['strategy'] = df['position'].shift(1) * df[code]

当13天动量为正时持仓,反之平仓。

创业板指数的13天动量策略

年化15%,比指数本身年化10%高出5个点

以此为基础,就看大家的想象力了。

(公众号: 七年实现财富自由(ailabx),用数字说基金,用基金做投资组合,践行财富自由之路)

python量化投资代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...相关推荐

  1. python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...

    动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...

  2. python手势识别控制幻灯片_手把手教你如何实现Python手势识别与控制(含代码及动图)...

    Python手势识别与控制 概述 本文中的手势识别与控制功能主要采用 OpenCV 库实现, OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库, 可以运行在Linux, Windows ...

  3. js如何运行python代码_手把手教你如何使用Python执行js代码

    前言 各位小伙伴,大家好,这次咱们来说一下关于爬虫方向的一个知识,Python如何执行js,快来看看吧!!! 为什么要引出Python执行js这个问题? 都说术业有专攻,每个语言也都有自己的长处和短处 ...

  4. python实现人脸识别代码_手把手教你用1行代码实现人脸识别——Python Face_recogni...

    摘要: 1行代码实现人脸识别,1. 首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片.其中每个人一张图片,图片以人的名字命名.2. 接下来,你需要准备另一个文件夹,里面是你要识别的图片.3 ...

  5. 人脸识别的python实现代码_手把手教你用1行代码实现人脸识别 --Python Face_recognition...

    # filename : digital_makeup.py # -*- coding: utf-8 -*- # 导入pil模块 ,可用命令安装 apt-get install python-Imag ...

  6. 软件_手把手教vscode配置c++,python开发环境

    原创:软件_手把手教vscode配置c++,python开发环境 之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为 ...

  7. python如何编游戏_手把手教你用python写游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自 ...

  8. python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...

    原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...

  9. python自助电影售票机_手把手教你用python抢票回家过年(代码简单)

    首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就 ...

最新文章

  1. 三大深度学习生成模型:VAE、GAN及其变种
  2. Java的未来:百家争鸣的JVM
  3. 积分体系究竟是解药还是毒药?
  4. 亲身体验后,为你安利 3 个远程桌面控制软件~
  5. linux blender骨骼绑定,Linux下安装Blender
  6. android MPV架构快速实现,不是所有的MPV都叫GL8,一体化智能座舱体验来袭
  7. 通过Intel XDK编写跨平台app(一)
  8. 回顾自己三次失败的面试经历
  9. [BZOJ1477] 青蛙的约会|扩展欧几里得算法
  10. springboot13 页面国际化(i18n)
  11. hibernate----继承
  12. ribbon基于接口配置超时_Spring Cloud Ribbon配置详解
  13. TensorFlow实战minist数据集 softmax回归分类(一)
  14. 免费WEB打印控件(插件)——打天下
  15. OSX更新后JRE6被删除引发了问题
  16. SMB/CIFS--NetBOIS/Browser/NBNS 协议
  17. 传智播客python高级-2018年传智播客黑马python15期
  18. matlab按图像边缘抠图_PS抠图教程_PS抠图方法大全
  19. 梦开始的地方——VS2019调试技巧
  20. Android Studio生成二维码

热门文章

  1. 关于卷积神经网络的论文,卷积神经网络创始人
  2. 让你的高清监控摄像头,轻松实现在微信公众号直播
  3. 湖南农业大学企业邮箱申请
  4. SQLSERVER 添加一个不可为空的字段
  5. 能力成长模型(转自阿里梁飞老师博客)
  6. 前端加载动画/加载等待动画
  7. linux grep -r 查询相关名字的文件以及ps指令
  8. Unity2DRelative Joint 2D详解
  9. git + 码云 使用详解(入门)(mac+windows教程)
  10. Python开发环境搭建和配置