量化交易:日内网格交易策略.md

哈喽,大家好,我是木头左!

本文将详细介绍日内网格交易策略的原理,并结合Python代码示例,展示如何在掘金平台上实现这一策略。

策略原理

日内网格交易策略的核心思想是在一天的交易时间内,通过设置多个买卖点(即网格),在价格达到这些点时自动执行交易。这种策略的优势在于能够充分利用市场的波动性,通过频繁的买卖操作来获取收益。同时,由于是在一天内完成买卖,因此避免了隔夜风险。

在金融和财经的角度看,日内网格交易策略是一种典型的技术分析方法,它依赖于对市场短期价格波动的观察和预测。这种策略适用于波动性较大的市场环境,因为只有当价格波动足够大时,网格交易才能捕捉到足够的交易机会。

在平台运行Python代码

在掘金平台上实现日内网格交易策略,主要分为三个核心步骤:选股、择时和策略交易。以下是这三个步骤的Python代码实现:

选股

选股是策略的第一步,需要选择适合网格交易的股票或可转债。在本策略中,选择了可转债作为交易对象,代码如下:

context.bond_symbol = 'SZSE.000001'
context.grid_size = 0.2  # 网格大小,即价格变动0.2元执行一次买卖
context.grid_count = 5  # 网格数量
context.upGridRate = 0.1/100  # 上涨0.1%卖出一格
context.downGridRate = 0.5/100  # 下跌0.5%买入一格
择时

择时是根据市场行情和价格波动来确定买卖时机。在本策略中,设置了网格大小、网格数量、上涨卖出率和下跌买入率等参数,代码如下:

 # 获取当前可转债的最新价格curPrice = bars[0].closeif context.plan_completed:log.info('计划完成!')return  #首次自动买入持仓if context.first_buy_flag == 1:    # 首次买入股数                context.firstBuyAmount = context.oneGridAmount * context.firstBuyGridsorder_target_value(context.bond_symbol, context.firstBuyAmount,order_type=OrderType_Limit,position_side=PositionSide_Long)      #下单买入log.info('首次买入股数:' + str(context.firstBuyAmount))context.basePrice = curPrice                              #下次对比的基准价格context.downPrice = curPrice * (1 - context.downGridRate * 1)   #下限价格向下预留一格context.plan_position_amount = context.firstBuyAmountcontext.first_buy_flag = 0
策略交易

策略交易是根据择时的结果来执行买卖操作。在本策略中,通过计算当前价格与基准价格的增长率,来决定是否执行买卖操作。代码如下:

# 计算增长率curGainRate = (curPrice - context.basePrice)/context.basePricelog.info('当前增长率:' + str(round(curGainRate*100,2)) +'%')# 增长大于上涨粒度,卖出一份 if curGainRate >= context.upGridRate:order_target_value(context.bond_symbol, - context.oneGridAmount, order_type=OrderType_Limit,position_side=PositionSide_Long)     #下单卖出一份log.info('卖出数量:' + str(context.oneGridAmount) + '/' + str(context.plan_position_amount))context.basePrice = curPricecontext.plan_position_amount = context.plan_position_amount - context.oneGridAmountif  context.plan_position_amount <= 0:    #持仓全部卖出,则计划完成context.plan_completed = Truelog.info('卖完了,数数去')                                 # 跌幅大于下跌幅度,买入一份if curGainRate < -context.downGridRate:     order_target_value(context.bond_symbol, context.oneGridAmount, order_type=OrderType_Limit,position_side=PositionSide_Long)  #下单买入一份log.info('买入数量:' + str(context.oneGridAmount))context.basePrice = curPricecontext.plan_position_amount = context.plan_position_amount + context.oneGridAmount

回测效果

为了评估日内网格交易策略的效果,进行了回测。回测结果显示,策略在一段时间内取得了正收益,但收益波动较大。以下是回测效果图:

在这里插入图片描述

这表明日内网格交易策略的效果受市场波动性的影响较大。

策略的缺点

尽管日内网格交易策略具有一定的优势,但也存在一些缺点:

  1. 市场行情限制:该策略更适用于波动性较大的市场环境,而在波动性较小的市场环境下,可能难以获得理想的收益。

  2. 策略限制性:日内网格交易策略主要依赖于价格波动,对于其他市场因素(如公司基本面、宏观经济等)的考虑较少。

市场有风险,交易需谨慎。
感兴趣的朋友,可以在下方公号内回复:002,即可获取源码,共同交流!

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【谷粒商城】02安装和配置git

1.下载和安装git 地址&#xff1a;https://git-scm.com/download/win 傻瓜式安装 2.配置git DELLLJL MINGW64 ~/Desktop $ git config --global user.name "yufuabu"DELLLJL MINGW64 ~/Desktop $ git config --global user.email "463999534qq.com"DELL…

详解循环队列——链表与数组双版本

前言&#xff1a;本节内容主要是讲解循环队列。 在本篇中会讲到两个版本——数组版本、链表版本。本篇内容适合正在学习数据结构队列章节或者已经学过队列但对循环队列感觉模糊的友友们 。 首先先来看一下什么是循环队列 什么是循环队列 因为是刚开始讲解&#xff0c; 所以我们…

git知识总结

要知道 本地回退后&#xff0c;反悔了&#xff0c;可以恢复。前提是已经提交了&#xff0c;提交了就丢不了。 git reflog git reset --hard commitId 以前git push不让推&#xff0c;就是没有对应关系。第一次推要setxxx参数。 前奏 设置用户名和邮箱&#xff0c;设置错…

回溯之组合总和II

上一篇文章使用回溯解决了组合总和I&#xff0c;这次使用回溯解决组合总和II&#xff0c;下面先给出回溯的模板代码。 private void backtracking(参数1,参数2,...){if(递归终止条件){收集结果;return;}for(遍历集合){处理;backtracking(参数1,参数2,...); // 递归;回溯;} }组…

5. FactoryTalk View SE -- 模拟量趋势记录

step1&#xff1a; 在项目列表下找到数据记录–数据记录模型–新建。 step2&#xff1a;更改描述、文件标识符、存储格式。 step3&#xff1a;更改文件缓存路径。 step4&#xff1a;更改缓存文件保存的周期。 step5&#xff1a;5s保存一次数据。 step6&#xff1a;添加标…

从零开始搭建Springboot项目脚手架2:配置文件、返回值、日志等

1、多个环境与配置文件 2、统一返回值 返回值包括两种场景&#xff1a;正常controller的返回、异常发生之后返回 正常controller的返回&#xff1a;通过在controller的默认返回Response实现 异常发生之后返回&#xff1a;通过全局异常处理统一捕获返回 首先创建类StatusCode…

[Spring Cloud] (7)gateway防重放拦截器

文章目录 简述本文涉及代码已开源Fir Cloud 完整项目防重放防重放必要性&#xff1a;防重放机制作用&#xff1a; 整体效果后端进行处理 后端增加防重放开关配置签名密钥 工具类防重放拦截器 前端被防重放拦截增加防重放开关配置请求头增加防重放签名处理防重放验证处理函数bas…

打造清洁宜居家园保护自然生态环境,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建自然生态场景下违规违法垃圾倾倒检测识别系统

自然生态环境&#xff0c;作为我们人类赖以生存的家园&#xff0c;其健康与否直接关系到我们的生活质量。然而&#xff0c;近年来&#xff0c;一些不法分子为了个人私利&#xff0c;在河边、路边等公共区域肆意倾倒垃圾&#xff0c;严重破坏了环境的健康与平衡。这种行为不仅损…

18.04版本的ubuntu没有连接网络的图标(坑人版)

以下更新内核别看&#xff0c;因为后面安装驱动报一堆错误!!! 不升级内核成功方法跳转连接&#xff1a;https://blog.csdn.net/weixin_53765004/article/details/138771613?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2213877…

单调栈问题

原理 单调栈的核心原理是&#xff1a;在栈内保持元素的单调性&#xff08;递增或递减&#xff09; 单调递增栈&#xff1a; 用于处理“下一个更小的元素”问题。当新元素比栈顶元素小或等于时&#xff0c;直接入栈&#xff1b;否则&#xff0c;一直从栈顶弹出元素&#xff0c…

OBS直播二次开发_OBS直播软件介绍

OBS工作室版 免费且开源的用于视频录制以及直播串流的软件。 下载以在Windows, Mac以及Linux上简单且快速的开始串流。 功能 实时高性能的视频/音频捕捉与混合,以及无限的场景模式使您可以通过自定义实现无缝转换。为视频源设计的滤镜例如图片蒙版,色彩校正,色度/色彩键控…

软件体系结构风格

目录 一、定义 二、.经典软件体系结构风格&#xff1a; 1.管道和过滤器 2.数据抽象和面向对象系统 3.基于事件系统&#xff08;隐式调用&#xff09; 4.分层系统 5.仓库 6.C2风格 7.C/S 8.三层C/S 9.B/S 题&#xff1a; 一、定义 软件体系机构风格是描述某一特定应用…

通过内网穿透实现远程访问个人电脑资源详细过程(免费)(NatApp + Tomcat)

目录 1. 什么是内网穿透 2. 内网穿透软件 3. NatApp配置 4. 启动NatApp 5. 通过内网穿透免费部署我们的springboot项目 通过内网穿透可以实现远程通过网络访问电脑的资源&#xff0c;本文主要讲述通过内网穿透实现远程访问个人电脑静态资源的访问&#xff0c;下一章节将讲…

C语言/数据解构——(随即链表的复制)

一.前言 嗨嗨嗨&#xff0c;大家好久不见。已经有好几天没更新了。今天我们就分享一道链表题吧——随即链表的复制https://leetcode.cn/problems/copy-list-with-random-pointer废话不多说&#xff0c;让我们直接开始今天的题目分享吧。 二.正文 1.1题目描述 他和单链表不同…

华为OD机试 - 求幸存数之和(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

机器学习面试篇

如何理解机器学习数据集的概念 数据集是机器学习的基础&#xff0c;它包括了用于训练和测试模型所需的数据。数据集通常以矩阵的形式存在&#xff0c;其中每一行代表一个样本&#xff08;或实例&#xff09;&#xff0c;每一列代表一个特征&#xff08;或属性&#xff09;。…

JVM从1%到99%【精选】-类加载子系统

目录 1.类的生命周期 1.加载 2.连接 3.初始化 2.类的加载器 1.类加载器的分类 2.双亲委派机制 3.面试题&#xff1a;类的双亲委派机制是什么&#xff1f; 4.打破双亲委派机制 1.类的生命周期 类加载过程&#xff1a;加载、链接&#xff08;验证、准备、解析&a…

数据与结构--堆

堆 堆的概念 堆&#xff1a;如果有一个关键码的集合K{k0,k1,k2,…,kn-1}&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并满足ki<k2i1且ki<k2i2&#xff08;或满足ki>k2i1且ki>k2i2&#xff09;&#xff0c;其中i0,1,2,…

深度缓冲技术在AI去衣中的神奇作用

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;其在图形处理和视觉领域的应用日益增多。AI去衣技术便是其中一个颇具争议但又技术上引人入胜的话题。今天&#xff0c;我们将深入探讨一项关键技术——深度缓冲&#xff08;Depth Buffering&#xff09;&#xff0c;它…

SpringAI 技术解析

1. 发展历史 SpringAI 的发展历史可以追溯到对 Spring 框架的扩展和改进&#xff0c;以支持人工智能相关的功能。随着人工智能技术的快速发展&#xff0c;SpringAI 逐渐成为 Spring 生态系统中的一个重要组成部分&#xff0c;为开发者提供了便捷、灵活的解决方案。 项目的灵感来…