量化择时——平均K线图双均线策略(第1部分—策略效果测算)

2023-11-06

平均K线图概述

平均K线图是蜡烛图的一种分支,在日本,Heikin意味着“平均”,Ashi意味着“节奏”。相对于传统的K线图,平均K线图可以反映出趋势的变化及强烈程度,但是在平均K线图中,最高、最低、开盘、收盘,并不代表真实的盘面价格,而是加工后的数据结果。

OHLC的计算方式

平均K线图的开盘价Open,最高价High,最低价Low,收盘价Close,都是根据K线图来计算的

在基本的K线图中:

  • Open:当天的开盘价
  • Close:当天的收盘价
  • High:当天的最高价
  • Low:当天的最低价
  • Pre open:昨天的开盘价
  • Pre close:昨天的收盘价

平均K线图的第一根K线计算方式:

  • Heikin Ashi开盘价 = (open + close)/2
  • Heikin Ashi最高价 = high
  • Heikin Ashi最低价 = low
  • Heikin Ashi收盘价 = (open + high + low + close)/4

平均K线图之后的K线计算方式:

  • Heikin Ashi开盘价 = (pre open + pre close)/2
  • Heikin Ashi最高价 = Max(open, high, close)
  • Heikin Ashi最低价 = Min(open, low, close)
  • Heikin Ashi收盘价 = (open + high + low + close)/4

根据计算方式,我们可以看出平均K线图的特点:

  1. 平均K线图的开盘价是昨天实际K线的开盘与收盘的中间启动的,因此平均K线图的连贯性较强
  2. 平均K线图的最高价与最低价其实并没有变,因此昨日的价格波动的范围会被反映到图像上
  3. 平均K线图的收盘价是今日高开低收四个价位的均价,因此平均K线图是红是绿,取决于今日的高开低收的均价与昨日开盘与收盘的均价之间的差异,平均K线图自身的颜色能够表达

K线图走势对比

常见的的K线图准确地表示出了当天的情况:
在这里插入图片描述

而平均K线图的表示效果如下:
在这里插入图片描述

如果只看一个维度的价格会更加明显,比如:

开盘价:
在这里插入图片描述

收盘价:
在这里插入图片描述

平均K线图阴阳线交易策略

由于平均K线图表现出了“趋势”的含义,因此趋势本身就是一种交易信号

交易规则

  • 当平均K线图的开盘价 < 收盘价时,以当天真实的收盘价买入
  • 当平均K线图的开盘价 > 收盘价时,以当天真实的收盘价卖出

测算结论

指标 平均值
胜率 0.35
平均交易次数 128.25
年化收益率-均值 -2.34
年化收益率-方差 6.23
年化收益率-25% -4.11
年化收益率-75% 0.74
年化收益率-中位数 -1.05
交易持续天数-均值 5.94
交易持续天数-中位数 4.23

双均线策略测算

测算规则

这一部分,我们测算双均线策略对个股的影响,同时将时间段分为两个部分:

  • 测算:2015年1月1日至2020年1月1日
  • 回测:2020年1月1日至2022年11月1日

测算时,只挑选2015年1月1日至2020年1月1日这个时间段内,数据量大于200个交易日的股票,且历史上也没有被标ST的股票

按照双均线策略的交易策略,我们以【平均K线图收盘价】的5个交易日的均线作为短线,【平均K线图收盘价】的10个交易日的均线作为长线

  1. 当短线上穿长线,构成金叉,以实际的收盘价作为买入价格
  2. 当短线下穿长线,构成死叉,以实际的收盘价作为卖出价格

同时,这里我们统计每一次交易(从买点到卖点)的持续时间与收益率:

  1. 转化为年化收益率
  2. 以年化收益率>2%记为胜,胜率=胜的次数/总交易次数

测算结论

在这里插入图片描述

综合来看,单用平均K线图的胜率较低,但是从交易的持续天数可以看出,平均K线图对于趋势的把握相对准确。在实战时,可以将双均线策略结合其他指标给出综合的评估结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

量化择时——平均K线图双均线策略(第1部分—策略效果测算) 的相关文章

  • Pandas - 按每个可能的键组合聚合

    我有一个 DataFrame Pandas 我想通过 A B C 和 D 列的组合尽可能按数据进行分组 假设它具有以下形式 A B C D E F G 0 Y X Y Z 1 2 7 1 Y X Y Z 3 4 8 2 X Y U V 1
  • 使用 python 中的 java 库

    我有一个 python 应用程序和 java 应用程序 python 应用程序为 java 应用程序生成输入并在命令行上调用它 我确信一定有一个更优雅的解决方案 就像使用 JNI 从 Java 调用 C 代码一样 有什么指点吗 仅供参考 我
  • 计时器显示负的已用时间

    我正在使用一个非常简单的代码来计算每个循环的时间for陈述 它看起来像这样 import time for item in list of files Start timing this loop start time clock Do a
  • Pandas 过滤 - 非索引列上的 Between_time

    我需要过滤掉特定时间的数据 DataFrame 函数 Between time 似乎是执行此操作的正确方法 但是 它仅适用于数据帧的索引列 但我需要原始格式的数据 例如 数据透视表期望日期时间列具有正确的名称 而不是索引 这意味着每个过滤器
  • 使用 theano 进行多处理

    我正在尝试将 theano 与 cpu 多处理和神经网络库 Keras 结合使用 I use device gpu标记并加载 keras 模型 然后 为了提取超过一百万张图像的特征 我使用多处理池 该函数看起来像这样 from keras
  • 定义Python字典时,如何使用给定字段的值来计算其他字段?

    考虑代码 a 2 b 3 mylist a a b b product a b 这会生成一个包含三个字段的字典 其中第三个字段是使用第一个和第二个字段的值计算的 我正在寻找更紧凑的定义mylist 我已经尝试过 1 mylist a 2 b
  • 如何在Redis中从hmset()切换到hset()?

    我收到弃用警告 即 Redis hmset 已弃用 请改用 Redis hset 但是 hset 采用第三个参数 我不知道是什么name应该是 info users 10 timestamp datetime utcnow strftime
  • set() 可以在 Python 进程之间共享吗?

    我正在 Python 2 7 中使用多重处理来处理非常大的数据集 当每个进程运行时 它会将整数添加到共享的 mp Manager Queue 中 但前提是其他进程尚未添加相同的整数 由于您无法对队列进行 in 式成员资格测试 因此我这样做的
  • 使用 string.whitespace 删除 Python 中的空格

    Python 的 string whitespace 很棒 gt gt gt string whitespace t n x0b x0c r 如何在不手动输入 t n 等正则表达式的情况下将其与字符串一起使用 例如 它应该能够转动 请不要伤
  • 散景服务器获取鼠标位置

    我正在开发一个带有散景 0 12 2 的交互式应用程序 它根据特定的交互更新绘图 现在 我使用滑块来更改图中字形的位置 但实际上我想访问鼠标在特定图中的位置 数据集是一个多维矩阵 张量 密集数据 每个图在特定位置显示一个维度 如果我更改一个
  • 从 python 的单词列表中查找最长的常见单词序列

    我搜索了很多解决方案 确实发现了类似的问题 这个答案 https stackoverflow com questions 21930757 longest repeated substring返回可能不属于输入列表中所有字符串的最长字符序列
  • Seaborn 条形图条之间没有空格

    我使用下面的代码创建了一个 Seaborn 条形图 它来自https www machinelearningplus com plots top 50 matplotlib visualizations the master plots p
  • 为 pandas 数据框中的两列创建邻接矩阵

    我有一个以下形式的数据框 index Name A Name B 0 Adam Ben 1 Chris David 2 Adam Chris 3 Ben Chris 我想获得邻接矩阵Name A and Name B ie Adam Ben
  • Django:通过外键将两个表连接到第三个表?

    我有三个型号 class A Model class B Model id IntegerField a ForeignKey A class C Model id IntegerField a ForeignKey A 我想要得到 B i
  • 使用 Python gdata 和 oAuth 2 对日历进行身份验证

    我正在将一个 Python 应用程序从 oAuth 1 迁移到 oAuth 2 该应用程序读取用户的 Google 日历提要 使用 oAuth 1 如果用户可以使用他的 GMail 进行身份验证 我的应用程序将打开浏览器 帐户并授权访问 我
  • 鉴于我的代码是开源的并且我在服务器上运行,并且我接受近乎原始的代码,那么对我来说最糟糕的情况是什么?

    我正在研究几个案例 在这些案例中 接受近乎原始的代码会容易得多 所以 如果你不能使用 lambda 你能对表达式做的最糟糕的事情是什么 以及如何做 如果不能使用 import 那么对执行的代码最糟糕的情况是什么 如何使用 不能使用 X 扫描
  • 为什么 Python 布尔值占用超过一个字节?

    显然 Python 中整数占用 24 个字节 我可以理解 它这样做是因为代表无限数字的额外花哨 然而 布尔数据类型看起来也花费了高达 24 个字节 尽管它只能表示两个可能值之一 为什么 除了 1 位表示之外 还可能需要存储哪些额外数据Tru
  • Django ConnectionAbortedError:[WinError 10053]已建立的连接被主机中的软件中止

    我将 django 与 postgresql 一起使用 每当我尝试保存或删除任何内容时 都会发生此错误 Traceback most recent call last File c program files x86 python35 32
  • 使用 PyQt5 拖放 QLabels

    我正在尝试使用 PyQt5 将 Qlabel 拖放到另一个 Qlabel 上 from PyQt5 QtWidgets import QApplication QWidget QToolTip QPushButton QMessageBox
  • 按工作日分组的熊猫 (M/T/W/T/F/S/S)

    我有一个 pandas 数据框 其中包含 YYYY MM DD arrival date 形式的时间序列 作为索引 我想按每个工作日 周一到周日 进行分组 以便计算其他日期列是平均值 中位数 标准差等 我最终应该只有七行 到目前为止我只知道

随机推荐

  • 集中式日志存储架构

    Hello大家好 欢迎回来 我们今天的视频课程要讨论的内容是 AWS的集中式日志存储架构 包括集中式日志存储架构需要考虑的事项 以及使用了两个AWS账户对架构的实现做了个快速的演示 我们开始今天的内容 集中式日志存储架构 当前 在绝大多数组
  • 对话力码科技:保险科技应用有待深入,价值落地更重要

    保险行业的数字化时机已来 更加专业化的企业才能立于不败之地 数科星球原创 作者丨苑晶 编辑丨大兔 对于国内的大多数企业来说 2023年是个极为重要的年份 在软件行业 随着人工智能等新技术的日益成熟和普及 软件行业迎来黄金时代 在这种趋势下
  • 多点双向重发布

    实验题目 要求 1 两个协议间进行多点双向重发布 2 R7的环回没有宣告在OSPF协议中 而且是后期重发布进去 3 解决环路 所有路径选择最优 且存在备份 实验拓扑图 IP地址与ospf和rip的配置 R1 int g0 0 0 ip ad
  • 华为OD机试真题-计算网络信号 【2023.Q1】

    题目内容 网络信号经过传递会逐层衰减 且遇到阻隔物无法直接穿透 在此情况下需要计算某个位置的网络信号值 注意 网络信号可以绕过阻隔物 array m n 的二维数组代表网格地图 array i j 0代表i行j列是空旷位置 array i
  • 开源协议比较:BSD、Apache、GLP、LGLP、MIT

    BSD开源协议 original BSD license FreeBSD license Original BSD license BSD开源协议是一个给于使用者很大自由的协议 基本上使用者可以 为所欲为 可以自由的使用 修改源代码 也可以
  • Python报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte的最新解决办法2022-09-30

    合并txt文件内容时候 Python报错UnicodeDecodeError gbk codec can t decode byte 这个错误是做NLP的小伙伴常见的一个错误 报错原因是读取的文件中有中文 网上找到的解决办法 将 with
  • ProtocolBuffers-3.0.0 For Objective C 的快速集成指南

    一 前言 最近调研 Google的Protocol Buffer 在网上看了几篇相关博客 发现他们讲的都比较复杂 所以就想写一篇简单点的文章 配置环境 mac OS 10 11 5 Xcode7 3 二 Protocol Buffer简介
  • 汉诺塔(Tower of Hanoi)--------递归思路

    汉诺塔问题简介 有三根相邻的柱子 标号为A B C A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘 要把所有盘子一个一个移到柱子C上 并且每次移动 同一根柱子上都只能是大盘子在下 小盘子在上 请问至少需要多少次移动 汉诺塔问题分析 1
  • 剑指 Offer 57. 和为s的两个数字--双指针问题

    这道题有点像之前一道用hashmap做的乱序数组求两数之和等于指定数的问题 两数相加 时间复杂度小于 O n2 而今天这道题 用hashmap也可以做出 但是空间复杂度实在太大 又因为它是排序好的数组 所以二分法或者双指针法比较简单 双指针
  • DRF视图组件

    目录 视图 APIView APIView与View的不同之处 GenericAPIView 通用视图类 类属性 类方法 基于APIView写五个接口 基于GenericAPIVIew写5个接口 五个视图扩展类 ListModelMixin
  • c/c++位字段

    位字段 定义 位字段是C语言中一种存储结构 不同于一般结构体的是它在定义成员的时候需要指定成员所占的位数 所有基础的数据类型 最大的也不过 10 个字节 我们可以自定义的数据类型 struct 通过把若干类型组合在一起 让一种类型可以大很多
  • linux自动安装trojan客户端的shell脚本

    bin bash 安装Trojan客户端 echo 开始安装Trojan客户端 curl O https github com trojan gfw trojan releases download v1 17 0 trojan 1 17
  • Headless Browser Testing With Xvfb

    Jan 09 15 javascripttesting These days when the phrase headless browser is mentioned you immediately think of PhantomJS
  • 【Python基础】用Cython优化Python代码性能

    Cython是一个编程语言 它结合了Python的简洁性和C语言的性能 本文将深入探讨Cython的基本原理 如何将其应用于Python项目 以及如何使用Cython优化Python代码的性能 文章目录 1 Cython简介 2 Cytho
  • getopt使用样本/模板

    this is the sample of use of getopt funtion include
  • python可以进行软件开发吗,python可以做软件开发吗

    本篇文章给大家谈谈python可以进行软件开发吗 以及python可以做软件开发吗 希望对各位有所帮助 不要忘了收藏本站喔 1 python可以开发什么软件 主要可以做小程序 爬虫程序 用于系统编程等等还是很广泛的 Python的应用领域分
  • element-ui中el-table的错位问题解决,以及新的错位问题的出现(与el-tabs相关)

    element ui的表格错位问题 只出现在带有设置了fixed的列的el table中 这是一个渲染机制的问题 通过调用一遍doLayout方法就可以解决 但是套在el tabs里的el table 就是另一种情况了 简单错位 这是我瞎起
  • vr设备的服务器性能指标,让我们一起聊聊VR眼镜技术参数

    时下最炙手可热的数码产品无疑就是VR眼镜了 而作为影响VR体验的重要一部分 VR眼镜技术参数也成为了很多人讨论的焦点 目前市面上的VR设备良莠不齐 具体什么样的VR眼镜技术参数规格才是优秀的产品 而这些VR眼镜技术参数对用户们的体验来说 又
  • 同步代码块synchronized的使用与解析

    Java 同步块 synchronized block 用来标记方法或者代码块是同步的 Java同步块用来避免竞争 本文介绍以下内容 Java同步关键字 synchronzied 实例方法同步 静态方法同步 实例方法中同步块 静态方法中同步
  • 量化择时——平均K线图双均线策略(第1部分—策略效果测算)

    文章目录 平均K线图概述 OHLC的计算方式 K线图走势对比 平均K线图阴阳线交易策略 交易规则 测算结论 双均线策略测算 测算规则 测算结论 平均K线图概述 平均K线图是蜡烛图的一种分支 在日本 Heikin意味着 平均 Ashi意味着