Python 量化投资实战教程(7) — 孕线真的有用吗?

2023-11-26 05:30

本文主要是介绍Python 量化投资实战教程(7) — 孕线真的有用吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如上图就是所谓的孕线(harami)形态,也叫作子线跟随母线。两线长度差异越大,信号越强烈。

从技术指标层面来讲,在综合了其他指标(如20日均线、macd等)的情况下,孕线是比较可靠的反转信号。

从上图可以知道,孕线看涨信号主要由以下指标组成:

1.前一根K线的实体完全覆盖第二根K线
2.价格处于底部位置

今天我们就来试试用上述指标回测603186这只股票,看看效果如何。

为了简化问题,卖出信号由买入股票后涨10%或跌10%决定。

本文全部代码,请在Python实用宝典后台回复:量化投资7 进行下载。或到Github获取:
https://github.com/Ckend/pythondict-quant

1.基础版

该策略最大的难点在于如何判断价格处于底部位置。

我们第一版策略可以根据前三天的股价来判断是否处于底部位置。

如果股价连续三天下跌,第四天出现孕线上涨信号,则视为可买入信号。

对此股票使用该策略进行回测,时间是2010年1月1日至2020年8月15日,效果如下:

部分代码如下:

盈利9次,亏损10次,平均收益率1.3%,效果比较一般。

从中的买入点可以看到,该策略并没有准确地找到价格底部位置,许多买入点都在高点买入了。

2.优化版

为了解决高点买入的问题,我们需要合理的判断价格是否处于底部。

【连续多日下跌】这样的指标是无法判断价格所处的位置的。

相比之下,X日价格平均线却有一定的参考意义,如果价格低于20日平均线,可以认为该股票正处于近期的价格低谷中,此时出现的孕线才有价值。

因此,我们将【连续三日下跌】的指标更换为【价格低于20日均线】,重新进行回测

效果如下:

上述部分代码修改为:

平均收益率4.7%,盈利8次,亏损6次。不错,相比于基础版已经有非常大的改进。

但是,从图像上看还是有可以改进的地方。

3.加强版

事实上,第二版中有些孕线的当日最高价或当日最低价已经超过了前一日的K线实体,最标准的孕线应该是整根K线都在前一日的K线的实体内。

因此harami的计算方法依然需要改进,但是,这种孕线一整根都在前一日的K线实体内的情况,在这只股票10年的发展里只出现过4次,当然,这4次里3次都盈利了:

部分代码如下:

平均收益率6.5%,但这种最标准的孕线出现次数实在太少了,其实并不具备参考价值。

因此整体来看,孕线是一个不可强求的指标。

如果你是一个传统的投资者,可能很久很久才能在你的股票池里遇到一次标准的孕线。

如果你是一个量化投资者,即便你通过回测的方法找到了今天A股中所有符合孕线标准的股票,由于历史数据较少,并不足以构成投资参考价值,毕竟抛五次硬币,四次朝上的可能性挺大的。

总的而言,不推荐将孕线作为投资参考指标。不过,本文的研究仅仅局限于一只股票,下篇量化投资实战文章,我们将围绕整个A股,对孕线的可用性进行探讨。

类似于孕线这样的传统投资技术,在《日本蜡烛图技术》这本书中介绍了很多,这是一本用于了解传统投资技术的优秀书籍。


有任何问题,可以在公众号后台回复:加群,回答相应验证信息,进入互助群询问。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

这篇关于Python 量化投资实战教程(7) — 孕线真的有用吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/425188

相关文章

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、