python量化投资代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...
动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思。
首先加载原始数据,我们用天的收盘价即可,按统一转为收益率。因为点位本身不重要,我们最后只关心变化率。
以沪深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 代码做一个动量策略「量化投资系列」...相关推荐
- python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...
动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...
- python手势识别控制幻灯片_手把手教你如何实现Python手势识别与控制(含代码及动图)...
Python手势识别与控制 概述 本文中的手势识别与控制功能主要采用 OpenCV 库实现, OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库, 可以运行在Linux, Windows ...
- js如何运行python代码_手把手教你如何使用Python执行js代码
前言 各位小伙伴,大家好,这次咱们来说一下关于爬虫方向的一个知识,Python如何执行js,快来看看吧!!! 为什么要引出Python执行js这个问题? 都说术业有专攻,每个语言也都有自己的长处和短处 ...
- python实现人脸识别代码_手把手教你用1行代码实现人脸识别——Python Face_recogni...
摘要: 1行代码实现人脸识别,1. 首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片.其中每个人一张图片,图片以人的名字命名.2. 接下来,你需要准备另一个文件夹,里面是你要识别的图片.3 ...
- 人脸识别的python实现代码_手把手教你用1行代码实现人脸识别 --Python Face_recognition...
# filename : digital_makeup.py # -*- coding: utf-8 -*- # 导入pil模块 ,可用命令安装 apt-get install python-Imag ...
- 软件_手把手教vscode配置c++,python开发环境
原创:软件_手把手教vscode配置c++,python开发环境 之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为 ...
- python如何编游戏_手把手教你用python写游戏
引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自 ...
- python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...
原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...
- python自助电影售票机_手把手教你用python抢票回家过年(代码简单)
首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就 ...
最新文章
- 三大深度学习生成模型:VAE、GAN及其变种
- Java的未来:百家争鸣的JVM
- 积分体系究竟是解药还是毒药?
- 亲身体验后,为你安利 3 个远程桌面控制软件~
- linux blender骨骼绑定,Linux下安装Blender
- android MPV架构快速实现,不是所有的MPV都叫GL8,一体化智能座舱体验来袭
- 通过Intel XDK编写跨平台app(一)
- 回顾自己三次失败的面试经历
- [BZOJ1477] 青蛙的约会|扩展欧几里得算法
- springboot13 页面国际化(i18n)
- hibernate----继承
- ribbon基于接口配置超时_Spring Cloud Ribbon配置详解
- TensorFlow实战minist数据集 softmax回归分类(一)
- 免费WEB打印控件(插件)——打天下
- OSX更新后JRE6被删除引发了问题
- SMB/CIFS--NetBOIS/Browser/NBNS 协议
- 传智播客python高级-2018年传智播客黑马python15期
- matlab按图像边缘抠图_PS抠图教程_PS抠图方法大全
- 梦开始的地方——VS2019调试技巧
- Android Studio生成二维码