浅谈python量化 双均线策略(金叉死叉)


Posted in Python onJune 03, 2020

#小策略,策略逻辑是在金叉时候买进,死叉时候卖出,所谓金叉死叉是两条均线的交叉,当短期均线上穿长期均线为金叉,反之为死叉

浅谈python量化 双均线策略(金叉死叉)

#下面是策略代码及结构

# 导入函数库
from jqdata import *
# 初始化函数
def initialize(context):
  # 设定沪深300作为基准
 set_benchmark('000300.XSHG')
 # True为开启动态复权模式,使用真实价格交易
 set_option('use_real_price', True) 
 # 股票类交易手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣5块钱
 set_order_cost(OrderCost(open_tax=0, close_tax=0.001, \
        open_commission=0.0003, close_commission=0.0003,\
        close_today_commission=0, min_commission=5), type='stock')
 #华谊股票     
 g.security='300027.XSHE'
 #设置每天运行
 run_daily(handle)
 
def handle(context):
 security=g.security
 n5=5
 n20=20 
 # 获取股票的收盘价
 close_data = attribute_history(security, n20, '1d',"close",df=False)
 print(close_data)
 # 取得过去 ma_n1 天的平均价格
 ma_n5 = close_data['close'][-n5:].mean()
 # 取得过去 ma_n2 天的平均价格
 ma_n20 = close_data['close'][-n20:].mean()
 print(ma_n5,ma_n20)
 # 取得当前的现金
 cash = context.portfolio.available_cash
 
 # 如果当前有余额
 if ma_n5 > ma_n20:
  # 用所有 cash 买入股票,order_value是买卖价值
  order_value(security, cash)
  # 记录这次买入
  log.info("Buying %s" % security)

 # 如果n5日均线小于n20日均线,并且目前有头寸
 elif ma_n5 < ma_n20 and context.portfolio.positions[security].closeable_amount > 0:
  # 全部卖出,order_target是买卖数量
  order_target(security, 0)
  # 记录这次卖出
  log.info("Selling %s" % (security))

 # 绘制n5日均线价格
 record(ma_n5=ma_n5)
 # 绘制n20日均线价格
 record(ma_n20=ma_n20)

浅谈python量化 双均线策略(金叉死叉)

#整体结果在12-16年回测测试结果效益不错,阿尔法贝塔最大回撤也还行,难点是在策略和框架的使用和调用,这就是这次的双均线策略记录

补充知识:(多头、空头、金叉、死叉、卖出信号、买出信号)的python处理

1.指标概念

均值性指标:以平均数据作为参考的指标

随机性指标:以最高价最低价等为参考的指标

2.多头、空头、金叉、死叉、卖出信号、买出信号

多头:短期均线在长期均线上方

空头:短期均线在长期均线下方

金叉:短期均线向上穿越长期均线

死叉:短期均线向下穿越长期均线

买出信号:金叉 + 一定的条件

卖出出信号:死叉 + 一定的条件

3.Python实现:以KDJ为例

浅谈python量化 双均线策略(金叉死叉)

浅谈python量化 双均线策略(金叉死叉)

浅谈python量化 双均线策略(金叉死叉)

4.测试:筛选沪深股票中卖出信号的股票

浅谈python量化 双均线策略(金叉死叉)

以上这篇浅谈python量化 双均线策略(金叉死叉)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
详解python中的线程
Feb 10 Python
Python中的引用知识点总结
May 20 Python
Django model select的多种用法详解
Jul 16 Python
python getpass模块用法及实例详解
Oct 07 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
Django如何在不停机的情况下创建索引
Aug 02 Python
python 生成正态分布数据,并绘图和解析
Dec 21 Python
python 统计代码耗时的几种方法分享
Apr 02 Python
Python中的 Set 与 dict
Mar 13 Python
Django用户登录与注册系统的实现示例
Jun 03 #Python
python 瀑布线指标编写实例
Jun 03 #Python
Django微信小程序后台开发教程的实现
Jun 03 #Python
python判断正负数方式
Jun 03 #Python
Python绘制动态水球图过程详解
Jun 03 #Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 #Python
Django DRF路由与扩展功能的实现
Jun 03 #Python
You might like
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
php 进度条实现代码
2009/03/10 PHP
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
浅谈PHP的反射机制
2016/12/15 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
AngularJS快速入门
2015/04/02 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Pycharm安装python库的方法
2020/11/24 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
C++面试题目
2013/06/25 面试题
平面设计岗位职责
2013/12/14 职场文书
农村婚礼证婚词
2014/01/08 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
工作分析计划书
2014/04/30 职场文书
思想政治表现评语
2015/01/04 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
汶川大地震感悟
2015/08/10 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
MySQL派生表联表查询实战过程
2022/03/20 MySQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL