量化择时——均线策略及改进方法(第1部分—因子测算)

news2025/8/2 21:32:01

文章目录

  • 道氏理论
    • 个股股价走势阶段
    • 板块、行业股价走势
  • 均线策略交易逻辑
  • 均线策略效果测算
    • 改进一:设置策略信号偏移量
    • 改进二:生成止盈止损信号

道氏理论

使用盘面数据,根据计算出的一条或多条均线,判断入场与离场的时机,基本上就是技术面分析。而技术面分析的思想我们可以借鉴比较经典的“道氏理论”。

道氏理论是由创办了华尔街日报,创建了道琼斯公司的【查尔斯·亨利·道】发展起来的一种交易方法,同时在当时美国市场上上市公司以工业企业为主的环境下发明了道琼斯工业指数。在他去世后,由后人总结出来并予以命名“道氏理论”。

个股股价走势阶段

道氏理论以有效市场假说为基础,认为任何市场都会有这3种趋势,透过分辨不同的趋势可以找到投资机会。

  • 主要趋势:指长期趋势,持续一年及以上,大部分股票将随主要趋势上升或下跌,大致可以将市场分为牛市、熊市、盘整(横盘震荡)
  • 次要趋势:持续数周或数月,指与主要趋势相反的中期走势,常见于走到主要趋势的1/3或2/3部分时
  • 小型趋势:每日的波动,带有一定的随机性,难以分析

在上升趋势阶段,分为以下三个阶段:

  1. 筑底阶段:市场经过前期的大跌之后,此时普遍估值较低,盘面表现为持续震荡。市场看不到明天的太阳,不知道未来是震荡下跌还是震荡上涨,此时人们对未来的信心已经在逐渐恢复中
  2. 持续上涨:市场找到了上升动力,利好消息不断放出,买盘推动股价不断上涨。盘面表现是成交量随着股价的上涨不断增加。市场的向好也给予企业正反馈,企业与市场形成正向循环促进
  3. 探顶阶段:市场不断出现利好消息,参与者越来越分散,企业估值被不断推高,泡沫不断积累。此时的市场充斥着投机者,基于期待与希望支撑买方力量,但是预期已拉满,市场对于利空消息也逐渐敏感

在下跌趋势阶段,也分为以下三个阶段:

  1. 探顶阶段:紧接着上升阶段的尾巴,此时买方力量与卖方力量相互周旋,盘面表现为持续震荡,此时估值膨胀到买方力量难以支撑,卖方力量蠢蠢欲动
  2. 持续下跌:经济的恶化会导致高估值的企业因为未达预期,股价不断下跌,典型的持续下跌会表现在价格下跌的同时成交量逐渐减小,此时表明在卖方抛售的同时买方持续观望,对于估值的失望性抛售会不断拉低企业估值
  3. 探底阶段:此时市场虽然一片萧条,但是成交量逐渐恢复,企业估值整体偏低,买方蠢蠢欲动

板块、行业股价走势

我们通俗的理解牛市:行情好啊,啥啥都赚钱,熊市则是:经济完蛋了,啥啥都赔钱。同样还有一种情况,即一部分板块在大涨,而另一部分板块在暴跌,这就出现了板块之间的背离。使用道氏理论可以从宏观上佐证以下观点:

  • 牛市:板块普涨
  • 熊市:板块普跌
  • 盘整:过去相关性很高的板块,此时出现了背离,这通常是一个反转的信号。也可以佐证“行业轮动”的现象。打个比方,比如新发现了一座金矿,那么这个地区的铲子和矿泉水预期被大量需要,价格也应该会同步上升。但是,如果铲子的价格上涨,但是矿泉水的价格下降,则出现走势“背离”的现象。此时需要细致的分析。如果分析出这个地方金矿开采难度大成本高,那么铲子的价格会因为需求不及预期导致价格下跌,当时听风就是雨进去的就被坑了。

均线策略交易逻辑

我们常见的是如下的策略:

  1. 以过去10个交易日的收盘价作为快线
  2. 以过去25个交易日的收盘价作为慢线
  3. 当快线向上突破慢线,表示上涨趋势势不可挡,此时买入
  4. 当快线下穿突破慢线,表示下跌趋势不可遏制,此时卖出

这是一快一慢两个指标相互作用的策略,而均线策略通常只使用一个指标,即根据自身指标过去一段时间的走势完成择时。

均线策略思想如下:

  1. 记录过去的一个时间窗口的收盘价均值
  2. 使用滑动窗口将均值变为一条时间序列数据(均线)
  3. 股价突破极小值时买入,突破极大值时卖出

由于极小值、极大值是交替出现的,因此每一对【极小值(买点),极大值(卖点)】都可以构成一个完整的交易

比如我们以20个交易日的收盘价的均值作为参考值,20个交易日的收盘价的均值与收盘价走势图如下图所示:

在这里插入图片描述

上面的图比较典型,可以观测到:

  1. 均线相对更容易描述趋势的走势
  2. 均线相对于收盘价有一定的滞后性
  3. 均线在大方向上的变动不是特别频繁

均线策略效果测算

我们基于均线策略,构建如下策略流程:

  1. 以20个交易日为滑动窗口长度,计算每个交易日的收盘价的均值,作为均线策略的参考值
  2. 如果上一个交易日的股价是极小值点,则以当日收盘价买入
  3. 如果上一个交易日的股价是极大值点,则以当日收盘价卖出
    最后,统计每一次完整的交易,并把这期间的收益转换为年化收益率,以年化收益率>2%记为胜,胜率=胜的次数/总交易次数

买点、卖点如下图所示:
在这里插入图片描述

测算结果如下图所示:
在这里插入图片描述

但是,正如上图所示,因为当出现震荡行情时,极大值与极小值会交替出现。这时,极容易出现:

  • 第一天是极小值,买入
  • 第二天是极大值,卖出
  • 第三天是极小值,买入
  • 第四天是极大值,卖出

加上对交易日相关数据的统计:

在这里插入图片描述

可以发现,有25%的交易是在2天以内,即“今天买明天卖”,这会造成短期大量的换手,增加摩擦成本。为了避免短期频繁的交易,我们我们需要针对极大值、极小值的择时策略做一些优化。

改进一:设置策略信号偏移量

当极小值出现时,对比上一次极小值出现的时点,需要当前的极小值点相对上一个极小值点偏移n%,才会作为新的价格信号;极大值同理

这里我们定3%,因此原有测算的买点与卖点修改为:

  1. 如果上一个交易日的股价是极小值点,且相对于上次的极小值点价格偏移超过3%,则以当日收盘价买入
  2. 如果上一个交易日的股价是极大值点,且相对于上次的极大值点价格偏移超过3%,则以当日收盘价卖出

回测效果如下:

在这里插入图片描述

在这里插入图片描述

改进二:生成止盈止损信号

在买点生成的同时,同步生成止盈与止损信号:

  1. 如果上一个交易日的股价是极小值点,则以当日收盘价买入
  2. 以当日收盘价的正负6%,为止盈止损点。即涨超6%发出止盈信号,跌超6%发出止损信号
  3. 如果上一个交易日的股价是极大值点,或收盘价突破止盈止损点,则以止盈、止损点买入

回测效果如下:

在这里插入图片描述

在这里插入图片描述

及时的止盈与止损会导致交易天数明显缩短,对应的胜率也会下降,但是方差与原有策略相同。

有一点需要注意,有些改进是从以下两个角度出发:

  1. 改进思想1:买入后静默N天,再根据信号进行交易判断;(为了防止短期抖动)
  2. 改进思想2:第二次买入与上一次卖出至少相隔N天;(为了重置交易环境)

虽然上面两种方法的确可以降低交易频率,增加交易的持续时间。但是要注意,我们的目标不是为了【降低交易频率】,而是【降低频繁换手导致的摩擦成本】,只不过为了实现这个目标,“交易频率的降低”是一种可能得结果。

因此博主的建议是,如果我们是组合多种策略,上面两种思路是OK的,但我们在测算指标时,尽量在严格执行信号的情况下,引入外部的一些改进机制,而不是阉割掉原有的策略信号。

下一部分,我们将构建回测策略,对均线及其改进策略进行回测,并评估它的表现

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

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

相关文章

Redis学习(五):事务、持久化及使用Java操作Redis

事务 Redis事务本质:一组命令的集合。一个事务中的所有命令都会被序列化,在事务执行过程中,会按顺序执行。 一次性、顺序性、排他性!执行一系列的命令。 Redis单条命令保证原子性,但是事务不保证原子性! R…

MySQL面试题-日志

目录 1.MySQL 中常见的日志有哪些? 2.慢查询日志有什么用? 3.binlog 主要记录了什么? 4.Mysql的binlog有几种录入格式?分别有什么区别? 5.redo log 如何保证事务的持久性? 6.页修改之后为什么不直接刷…

Linux系统安装Docker

目录 Linux系统安装Docker 1、如果之前安装过旧版本的Docker,可以使用下面命令卸载 2、安装docker 3、启动docker 4、配置镜像加速 Linux系统安装Docker 前提:Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10&#xff0…

LearnDash Groups学习群组:您需要了解的一切

大约131k 网站使用 LearnDash。因此,毫无疑问,LearnDash是 WordPress 领域中最受欢迎的 LMS。而且,这是因为它具有强大的功能。但让它更受欢迎的是它与大多数第 3 方扩展很好地集成,并且比现有的任何其他 LMS 都更灵活。群组和群组…

扬帆优配|淡定的周期股走出慢牛,这些超跌大象股低估值

多只大市值股走势良好,超跌的绩优大盘股会否后发先至? 三一集团定下万亿市值方针 三一重工董事长许诺向金牌职工派发500万元巨额奖金刷屏网络,不过奖赏兑现的前提是三一集团的总市值要超越万亿元。 3月4日,在央视《对话》节目中…

同城外卖跑腿系统源码分析

外卖订餐已经成为很多“社畜”日常不可分割的一部分,足不出户,只需要一部电子设备即可在线订餐,并且可提供的选择非常多样化,与传统的电话订餐外卖模式相比也更便捷的多。 因此,同城外卖跑腿系统源码得以爆火&#xff…

微服务里的小问题

1.微服务为什么设置不同的namespace 为了实现三种服务三种情况下的隔离。 2.为什么要用nginx为naocos集群结点做负载均衡? 2.1 正向代理 就像我们访问外网需要一个代理。 2.2 反向代理 我们不需要访问真实的ip,只需要访问 这个服务的代理服务器即可&a…

【极致简洁】Python tkinter 实现下载工具,你想要的一键获取

嗨害大家好鸭!我是小熊猫~开发环境本次项目案例步骤成品效果【咱追求的就是一个简洁】界面如何开始?1.导入模块2.创建窗口【这步很重要】功能按键1.创建一个下拉列表2.设置下拉列表的值3.设置其在界面中出现的位置 column代表列 row 代表行4.设置下拉列表…

考研复试——计算机组成原理

文章目录计算机组成原理1. 计算机系统由哪两部分组成?计算机系统性能取决于什么?2. 冯诺依曼机的主要特点?3. 主存储器由什么组成,各部分有什么作用?4. 什么是存储单元、存储字、存储字长、存储体?5. 计算机…

【PyTorch】教程:torch.nn.Hardswish

torch.nn.Hardswish 原型 CLASS torch.nn.Hardswish(inplaceFalse) 参数 inplace (bool) – 内部运算,默认为 False 定义 Hardswish(x){0if x≤−3,xif x≥3,x⋅(x3)/6otherwise\text{Hardswish}(x) \begin{cases} 0 & \text{if~} x \le -3, \\ x & \te…

2.Elasticsearch入门

2.Elasticsearch入门[toc]1.Elasticsearch简介Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。 能够达到实时搜索,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Pyth…

win11下载配置CIC Flowmeter环境并提取流量特征

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、下载CIC Flowmeter二、安装java、maven、gradle和IDEA1.java 1.82.maven3.gradle4.IDEA三、CICFlowMeter-master使用四、流量特征1.含义2.获取前言 配了一整…

游戏场景编辑器和骨骼动画相关软件

游戏场景编辑器 一.Tiled(2D) Tiled 是帮助你开发游戏内容的 2D 地图编辑器。它的主要功能是可以编辑各种形式的瓦片地图,还支持通过用空图片这种强大的方式来标记额外信息给游戏使用。Tiled 关注的是总体灵活性,同时尽量保持直观性。 Tiled Map 不但…

获取Github仓库star、fork、watch数

Hi I’m Shendi https://sdpro.top/blog/html/article/1016.html 以下网址可以得到github的star,fork,watch数量图片 https://shields.io/category/social 获取仓库的 Star 则点击 Github Repo stars 填好选项后下方就会出现图标,点击CopyBa…

工程(十一)——NUC11+D435i+VINS-FUSION+ESDF建图(github代码)

博主的合并代码gitgithub.com:huashu996/VINS-FUSION-ESDFmap.git一、D435i深度相机配置1.1 SDKROS参考我之前的博客,步骤和所遇见的问题已经写的很详细了https://blog.csdn.net/HUASHUDEYANJING/article/details/129323834?spm1001.2014.3001.55011.2 相机标定参数…

解决新版QGIS找不到Georeferencer插件

目录1. 问题分析1.1 去 Raster 找,没找到1.2 去插件搜,未搜到1.3 插件库里也搜不到2. 解决办法在 QGIS 3.30中,按常规办法,找不到 Georeferencer插件,它并没有被安装,在库中也找不到它, 请问问题…

sheng的学习笔记Eureka Ribbon

Eureka-注册中心Eureka简介官方网址:https://spring.io/projects/spring-cloud-netflixEureka介绍Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper)。Zooleeper nacos.Eureka 采用了 C-S 的设计架构。Eureka Server 作为服…

【项目实战】IDEA中 90%的人都不后知后觉的小技巧汇总

一、 IDEA中如何设置左侧导航条跟代码保持同步? https://blog.csdn.net/Arry_Coding/article/details/102389149 二、IDEA中如何将Services调出并将启动类显示在Services中? https://blog.csdn.net/qq_38343402/article/details/106325154 三、IDEA中…

工业企业用电损耗和降损措施研究

来自用电设备和供配电系统的电能损耗。而供配电系统的电能损耗,包括企业变配电设备、控制设备企业在不断降低生产成本,追求经济效益的情况下,进一步降低供配电系统中的电能损耗,使电气设摘要:电网电能损耗是一个涉及面很广的综合性问题,主要包括管理损耗和技术损耗两部分…

频谱分析仪的工作原理

频谱分析仪架构犹如时域用途的示波器,外观如图 1.2 所示,面板上布建许多功能控制按键,作为系统功能之调整与控制,系统主要的功能是在频域里显示输入信号的频谱特性。频谱分析仪依信号处理方式的不同,一般有两种类型&am…