可转债网格交易策略回测

news2024/12/25 23:51:31

什么是网格交易策略:基于股票波动高抛低吸策略,自动化反复买卖赚取差价。投资者借助条件单,把资金分成多份,从基准价开始,每跌x%就自动买入一份,每涨y%就自动卖掉一份。股价越波动高抛低吸的机会越多

什么是交易策略回测:设定了交易策略后,基于历史已经发生过的真实行情数据,从历史上某一个时间点开始,严格按照设定的交易策略对指定证券标的进行买入、卖出等操作,得出一个时间段内的盈利、最大回撤等数据,帮助投资者判断该策略的盈利能力、稳定性、波动性等指标

本回测策略基于华宝证券的网格条件单(条件所限只有以日为单位的数据,所以仅对每日开盘价进行计算,粒度较实际情况粗糙),条件单参数说明如下:

  • 证券标的:股票、ETF、可转债等的代码
  • 最低价(元):条件单运行价格区间的最低点,网格下沿
  • 最高价(元):条件单运行价格区间的最高点,网格上沿
  • 触发基准价(元):第一次策略运行的参照起始价,通常选最高价;第二次开始以当前触发价为基准价
  • 上涨/下跌幅度:从基准价算起,所需执行卖出的上涨、下跌幅度,通常二者相等,则有:

网格数 = (最高价 - 最低价) / 幅度

从基准价开始,当价格达到上涨/下跌幅度时,触发卖出/买入操作、之后将触发价作为新的基准价(此时整个网格的上下沿会相应变化);上涨/下跌幅度可以是百分比或金额

  • 委托数量:对网格每一格下单的数量

实例:标的为华钰转债 (SH113027) ,时间区间为2022-01-04 ~ 2022-12-23

网格条件单 (简化版)
条件单

最低价

(元)

最高价

(元)

触发基准价

(元)

上涨/下跌

(元)

委托数量

(张)

1130271251651651030
条件单对应的网格
网格序号价格元)委托股数累计股数网格资金(元)成本(元)
0165
115580801240012400
2145801601160024000
3135802401080034800
4125803201000044800

预设网格交易条件单,在价格区间165元-125元以内,首先以最高价(网格上沿)165为基准,此时仓位为0,当价格低于155,触发买入80张,设基准价155,当价格低于145元时,再触发买入80张,设基准价145,以此类推,直到价格低于125元(网格下沿),触发买入80张,设基准价125,此时达到最大持仓320张,如价格继续下降,称为向下破网,条件单进入休眠状态;反之,当价格上升时,比如从125升到高于135,触发卖出80张,设基准价135,当价格高于145,再触发卖出80张,设基准价145…直到价格高于165,再触发卖出80张,设基准价165,此时持仓为0,如价格继续上升,称为向上破网,条件单进入休眠状态

实际运行结果

          date  opt    price  volume  index     value      cost    profit
0   2022-01-04    1  143.050     160      2  22888.00  22888.00      0.00
1   2022-01-10    1  134.010      80      3  32162.40  33608.80  -1446.40
2   2022-02-22   -1  146.300      80      2  23408.00  21904.80   1503.20
3   2022-02-25   -1  157.000      80      1  12560.00   9344.80   3215.20
4   2022-03-08   -1  169.200      80      0      0.00  -4191.20   4191.20
5   2022-03-10    1  148.050      80      1  11844.00   7652.80   4191.20
6   2022-03-31   -1  166.400      80      0      0.00  -5659.20   5659.20
7   2022-04-26    1  147.000      80      1  11760.00   6100.80   5659.20
8   2022-05-12    1  145.000      80      2  23200.00  17700.80   5499.20
9   2022-05-17   -1  171.000     160      0      0.00  -9659.20   9659.20
10  2022-08-03    1  153.652      80      1  12292.16   2632.96   9659.20
11  2022-08-26    1  143.589      80      2  22974.24  14120.08   8854.16
12  2022-11-09   -1  155.931      80      1  12474.48   1645.60  10828.88
13  2022-11-18    1  143.999      80      2  23039.84  13165.52   9874.32
2022-01-04~2022-12-23 index(2), benchmark(145.00), value(21920.00), cost(13165.52), profit(8754.48)

2022-01-04 开盘价143.05元,143.05 < 145,买入80 * 2 = 160 张

2022-01-10 开盘价134.01元,134.01 < 135,买入80张

2022-02-22 开盘价146.3元,146.3 > 145,卖出80张

2022-02-22 开盘价157元,157 > 155,卖出80张

...

截止2022-12-23日,网格内还剩2格160张,市值21920元,成本13165.52元,盈利8754.48元

结果图

 

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

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

相关文章

Java项目:springboot基于java+mysql+springboot的社区养老医疗综合服务平台

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为管理员、医生、病人三种角色&#xff0c; 管理员的功能包含如下&#xff1a; 个人信息&#xff1a;个人资料、修改密码 系统管理&…

Python入门学习之字符串与比较运算符

Python字符串 字符串或串(String)是由数字、字母、下划线组成的一串字符。 一般记为 : 1 s"a1a2an"(n>0) 它是编程语言中表示文本的数据类型。 python的字串列表有2种取值顺序: 从左到右索引默认0开始的&#xff0c;最大范围是字符串长度少1从右到左索引默认-1开…

【C++】各种排序涉及到的选择小题合集(每日小细节009)

昨天更新完各种排序之后今天来检验一下是否真的全部掌握了呢&#xff1f; 今天的合集里面包括各种排序的综合选择题和一些解题技巧 花一两分钟看一下真的很有帮助哦 &#xff08;最好能先认真复习一下各种排序&#xff09; 1. 冒泡排序就是相邻元素的两两比较所以依次写出来就…

Java项目:Springboot体育器材管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 体育器材管理系统主要包含以下功能&#xff1a; 登录注册&#xff1b; 体育器材管理&#xff1a;显示器材表、显示价目表、显示供应商表&#x…

通达信逐笔接口怎么查询下单明细?

通达信逐笔接口一般会根据实盘交易系统的模式来开发&#xff0c;然后股票量化交易接口端也能很快的获取用户数据&#xff0c;也就是你的账户下单的数据信息&#xff0c;在市场交易期间能实时与多家证券公司对接&#xff0c;实现委托买入卖出操作。那么&#xff0c;像这么方便的…

IO流Properties配置文件

目录 输入流和输出流 File文件增删 常用IO流类及其分类 FileInputStream/FileOutputStream ObjectInputStream/ObjectOutputStream BufferedInputStream/BufferedOutputStream FileReader/FileWriter BufferedReader/BufferedWriter InputStreamReader/InputStreamWri…

为啥devc++程序运行正确返回不为0?而返回了一个特别大的数,详解。

例如运行以下程序: #include #include typedef char ElemType; typedef struct BiTNode{ char data; struct BiTNode *lchild; struct BiTNode *rchild; int DescNum;}BiTNode ,*BiTree; void CreateBiTree(BiTree *T) { char ch; scanf("%c",&ch); if(ch ){…

时序预测 | MATLAB实现IWOA-LSTM和LSTM时间序列预测(改进的鲸鱼算法优化长短期记忆神经网络)

时序预测 | MATLAB实现IWOA-LSTM和LSTM时间序列预测(改进的鲸鱼算法优化长短期记忆神经网络) 目录时序预测 | MATLAB实现IWOA-LSTM和LSTM时间序列预测(改进的鲸鱼算法优化长短期记忆神经网络)预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现IWOA-LSTM和…

使用React做一个音乐播放器

目录介绍先决条件和设置环境依赖关系播放器.js进口播放和暂停音频使用音频的当前时间和持续时间添加音频时间线输出附加的功能结论介绍 任何正在学习 React 并想使用 React 构建项目的人。有各种博客和文章可以为开发人员指导此类项目。我确实浏览过这些文章&#xff0c;但其中…

Java集合框架【三Map接口、Iterator送代器、Collections工具类】

文章目录双例模式一 Map接口简介1.1 常用方法1.2 演示二 HashMap的存储结构简介三 TreeMap容器类3.1 TreeMap的比较规则3.2 元素自身实现比较规则3.3 通过比较器实现比较规则四 Iterator迭代器4.1 Iterator送代器接口介绍4.2 栗子五 Collections工具类5.1 Collections工具类简介…

关于node代码如何丝滑执行多条命令行这件事

最近写脚本比较多&#xff0c;然后经常写命令行相关的代码&#xff0c;记录一下以备万一。 首先&#xff0c;node使用命令行依赖于child_process&#xff0c;这个是node原生支持的,我用的最多就是exec。 按顺序执行多个命令 因为写脚本需要执行多个语句&#xff0c;所以写了…

[Python图像识别] 五十一.水书图像识别之利用数据增强扩充图像数据集

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 上一篇文章…

五、传输层(三)TCP

目录 3.0 TCP特点补充 3.1 TCP报文段首部格式 3.2 TCP连接管理 3.2.1 三报文握手 3.2.2 四报文挥手 3.3 TCP的流量控制和可靠传输 3.4 TCP拥塞控制 3.4.1 接收窗口、拥塞窗口、发送窗口关系 3.4.2 慢开始和拥塞避免 3.4.3 快重传和快恢复 3.0 TCP特点补…

Java项目:springboot超市订单管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 该超市订单管理毕业设计基于jdk8版本开发&#xff0c;在部署时需要使用jdk8以上的版本。使用了目前流行的框架组合springbootmybatis的框架技术…

DispatcherServlet初始化过程源码分析 | SpringMVC源码分析

一、继承或实现关系 public class DispatcherServlet extends FrameworkServlet public abstract class FrameworkServlet extends HttpServletBean implements ApplicationContextAware public abstract class HttpServletBean extends HttpServlet implements Environment…

聊聊Go语言并发之道

写在前面 2007年&#xff0c;Go语言诞生于Google公司&#xff0c;2009年开源&#xff0c;2012年推出1.0版本&#xff0c;曾两次获得TIOBE年度语言。2012年起&#xff0c;全球大量的开源项目开始使用Go语言开发&#xff0c;目前Go语言已成为云计算领域事实上的标准语言&#xff…

深度学习常见概念字典(感知机、全连接层、激活函数、损失函数、反向传播、过拟合等)

这一章的所有内容均是为了进入深度学习具体的某某网络而准备的&#xff0c;简单但是非常有必要。 1. 神经网络&#xff08;neural networks&#xff09;的基本组成 1.1 神经元&#xff08;neuron&#xff09; 神经元&#xff08;neuron&#xff09; 是神经网络&#xff08;n…

slf4j常用配置文件读取

slf4j常用配置文件读取 log4j2读取配置文件 日志现在一般都是使用slf4j作为接口、底层实现一般是用log4j2或者logback。 我们先看下log4j2是如何读取配置文件的。 implementation org.apache.logging.log4j:log4j-slf4j-impl:2.19.0如果使用gradle的话。上面的代码就会导入sl…

VS coda C++、python运行与Dbug配置

首先新建终端 一次性使用C方法 检查C编译器是否存在 which g可见位置存在于&#xff1a;/usr/bin/g 一次性命令格式&#xff1a; 使用json配置文件 运行C方法&#xff08;推荐&#xff09;&#xff1a; 根据你查找的g的位置来决定 使用配置好的tasks.json&#xff08;C的…

QT入门-UI-信号槽

目录 一、QWidget类&#xff08;重点&#xff09; 二、子组件&#xff08;掌握&#xff09; 三、样式表&#xff08;熟悉&#xff09; 一、什么是信号槽&#xff1f; 二、信号槽的连接方式 2.1 自带信号→自带槽 2.2 自带信号→自定义槽 2.3 自定义信号 三、传参方式 3.1 成员变…