Python 实现 CHO 指标计算(济坚指数):股票技术分析的利器系列(12)

news2025/7/16 11:58:02

Python 实现 CHO 指标计算(济坚指数):股票技术分析的利器系列(12)

    • 介绍
      • 算法公式
    • 代码
      • rolling函数介绍
      • 核心代码
        • 计算 CHO
    • 完整代码


介绍

CHO(济坚指数)是一种在金融领域中用于衡量市场波动性和风险的指数

先看看官方介绍:

CHO (济坚指数)
用法
1.CHO 曲线产生急促的「凸起」时,代表行情即将向上或向下反转;
2.股价>90 天平均线,CHO由负转正时,买进;
3.股价<90 天平均线,CHO由正转负时,卖出;
4.本指标也可设参考线,自定超买超卖的界限值;
5.本指标须配合OBOS、ENVELOPE同时使用。

算法公式

MID:=SUM(VOL*(2*CLOSE-HIGH-LOW)/(HIGH+LOW),0);
CHO:MA(MID,N1)-MA(MID,N2);
MACHO:MA(CHO,M);
优势劣势
1. 提供反转信号1. 存在滞后性
CHQ 曲线的急促凸起可提供市场反转信号包含滚动平均值可能导致不能及时捕捉市场变化
2. 结合价格趋势2. 可能产生假信号
结合股价与90天平均线关系,准确判断买卖时机可能导致错误交易决策
3. 设定参考线3. 参数选择需要根据市场特点调整
可根据需求设定超买超卖的界限值,提高适用性参数选择不当可能影响指标准确性和适用性
4. 配合其他指标4. 单一性
可与其他指标如 OBOS、ENVELOPE 结合使用无法完全反映市场复杂情况,需要综合判断

代码

rolling函数介绍

rolling 函数通常与其他函数(如 meansumstd 等)一起使用,以计算滚动统计量,例如滚动均值、滚动总和等。

以下是 rolling 函数的基本语法:

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)
  • window: 用于计算统计量的窗口大小。
  • min_periods: 每个窗口最少需要的非空观测值数量。
  • center: 确定窗口是否居中,默认为 False
  • win_type: 窗口类型,例如 Noneboxcartriang 等,默认为 None
  • on: 在数据帧中执行滚动操作的列,默认为 None,表示对整个数据帧执行操作。
  • axis: 执行滚动操作的轴,默认为 0,表示按列执行操作。
  • closed: 确定窗口的哪一端是闭合的,默认为 None

核心代码

计算 CHO
    # 计算 MID
    MID = df.apply(lambda row: row['VOL'] * (2 * row['CLOSE'] - row['HIGH'] - row['LOW']) / (row['HIGH'] + row['LOW']),
                   axis=1)
    # 计算 CHO
    CHO = MID.rolling(window=N1).mean() - MID.rolling(window=N2).mean()
  1. 计算 MID(Money Flow Index Distribution):

    • 首先,对于数据框(DataFrame)中的每一行,根据特定的公式计算 MID 值。
    • 公式中涉及了该行的 ‘VOL’(成交量)、‘CLOSE’(收盘价)、‘HIGH’(最高价)和 ‘LOW’(最低价)等数据。
    • 计算 MID 的目的是衡量资金流向的情况,通过成交量和价格的关系来反映资金的流入流出情况。
  2. 计算 CHO(Chande Momentum Oscillator):

    • 首先,对 MID 序列分别进行两个滚动平均计算,窗口大小分别为 N1 和 N2。
    • 然后,用 N1 天的滚动平均值减去 N2 天的滚动平均值,得到 CHO 值。
    • CHO 的计算实际上是通过比较两个不同期间的资金流向指标的变化情况来衡量市场动量的指标,可用于辅助判断价格趋势的变化。

完整代码

import pandas as pd

import a_get_data

data = {
    'CLOSE': 填每日收盘的数据,
    'HIGH': 填每日最高的数据,
    'LOW': 填每日最低的数据
    'OPEN': 填每日开盘的数据
    'VOL': 填每日交易量的数据
}

df = pd.DataFrame(data)


# 计算 CHO
def calculate_CHO(df, N1, N2, M):
    # 计算 MID
    MID = df.apply(lambda row: row['VOL'] * (2 * row['CLOSE'] - row['HIGH'] - row['LOW']) / (row['HIGH'] + row['LOW']),
                   axis=1)
    # 计算 CHO
    CHO = MID.rolling(window=N1).mean() - MID.rolling(window=N2).mean()
    # 计算 MACHO
    MACHO = CHO.rolling(window=M).mean()

    return CHO, MACHO


N1 = 10
N2 = 20
M = 6

CHO, MACHO = calculate_CHO(df, N1, N2, M)

df['CHO'] = CHO
df['MACHO'] = MACHO
 
print(df)

在这里插入图片描述

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

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

相关文章

WebFilter【通过过滤器实现登录判断】

WebFilter【通过过滤器实现登录判断】 /*** 检查用户是否已经完成登录*/ WebFilter(filterName "loginCheckFilter",urlPatterns "/*") Slf4j public class LoginCheckFilter implements Filter{//路径匹配器&#xff0c;支持通配符public static final …

Linux系统---nginx(1)服务

目录 一.Nginx概述 1.定义 2.Nginx模块作用 &#xff08;1&#xff09;main模块 &#xff08;2&#xff09;stream服务模块 &#xff08;3&#xff09;邮件服务模块 &#xff08;4&#xff09;第三方模块 &#xff08;5&#xff09;events模块 &#xff08;6&#xff0…

前端路由与后端路由的区别

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

开源免费的源码阅读神器 Sourcetrail,高效阅读python,pytorch等深度学习框架代码

开源免费的源码阅读神器 Sourcetrail 目前支持 C、C、Python 和 Java 语言&#xff0c;同时提供了相关 SDK 用于拓展支持其它语言&#xff0c;相信在未来会提供更多语言的支持。 官网地址&#xff1a; https://www.sourcetrail.com/ 目前已经开源&#xff1a; https://gith…

【计算机网络】DNS/ICMP协议/NAT技术

文章目录 一、DNS(Domain Name System)1.DNS背景2.域名3.浏览器中输入url后,发生的事情 二、ICMP协议1.什么是ICMP协议2.ICM功能3.ICMP的报文格式4.ping命令5.traceroute命令 三、NAT技术1.NAT技术背景2.NAT IP转换过程3.NAPT4.NAT技术的缺陷5.NAT和代理服务器 四、TCP/IP五层模…

面试经典150题——最长连续序列

"The only limit to our realization of tomorrow will be our doubts of today." - Franklin D. Roosevelt ​ 1. 题目描述 2. 题目分析与解析 2.1 思路一 题目要求我们使用时间复杂度为O(n)的解决方案&#xff0c;那么肯定就不能排序了。因为排序算法不可能达到…

【Web】CTFSHOW XXE刷题记录(全)

目录 web373 web374 web375 web376 web377 web378 前置知识先看这篇文章&#xff1a;XXE漏洞学习 用的多的就是外部实体声明和参数实体声明 web373 有回显的xxe <!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///flag"> ]> <z3r4y> <ct…

Jupyterlab 和 JupyternoteBook 修改默认路径

Jupyterlab 和 JupyternoteBook 修改默认路径 在使用 JupyterLab 或 Jupyter Notebook 进行数据分析、机器学习项目时&#xff0c;经常会遇到需要修改默认工作目录的需求。默认情况下&#xff0c;JupyterLab 和 Jupyter Notebook 会在启动时打开你的用户目录&#xff08;例如&…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Seg)

上篇文章介绍了深度Depth&#xff0c;这篇文章介绍下seg&#xff08;Segmentation&#xff09; 意思为语义分割, 通俗理解就是把图中的不同物体元素按类别不同&#xff0c;标为不同的颜色&#xff0c;不同的颜色代表不同的元素类别&#xff0c;如下图&#xff0c;左边为原图&a…

Springboot 多级缓存设计与实现

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…

夯实数据管理基础,激活数据资产价值—数据资产运营解决方案介绍

“数据是企业的核心战略资产”已然成为共识。然而金融行业数据资产运营目前普遍存在“锚不定”&#xff0c;缺少企业级数据战略&#xff0c;业数融合不足&#xff1b;“驱不动”&#xff0c;缺少业务和运营思维&#xff0c;以技术为驱动的推进模式&#xff0c;缺乏升级活力&…

web安全学习笔记【17】——信息打点(7)

信息打点-APP资产&知识产权&应用监控&静态提取&动态抓包&动态调试 #知识点&#xff1a; 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CMS指…

电子病历系统

电子病历系统 获取源码——》公主号&#xff1a;计算机专业毕设大全

面试官: 反射了解么?

目录 反射 什么是反射 ? 获取Class对象的四种方式 反射相关API 类对象常用API Filed常用API Method常用API Constructors常用API 反射的使用场景? 反射的实现原理 ?(todo) 反射为什么这么慢 ? 反射的优缺点 反射中&#xff0c;Class.forName和ClassLoader的区别…

基于JAVA的就医保险管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…

LZO无损数据解压缩IP,高性能版本

LZOAccel-D LZO Data Decompression Core/无损数据解压缩IP Core LZOAccel-D是一个无损数据解压缩引擎的FPGA硬件实现&#xff0c;兼容LZO 2.10标准。 Core接收压缩的输入数据块&#xff0c;产生解压缩后的数据块。Core分析数据块的头和尾&#xff0c;检查输入数据块的错误&…

第十一届上海国际蒸发结晶展将于12月11-13日上海举办

展会介绍&#xff1a; 蒸发结晶展是我司2013年创办。通过这几年我司不断努力&#xff0c;得到行业逐步认可&#xff0c;受到行业和企业的一致肯定和积极评价&#xff0c;具有较高的知名度和行业影响力&#xff0c;也具有一定国际知名度的蒸发结晶专业会展活动之一。蒸发结晶技…

网络安全与IP安全网络安全

网络安全与IP安全网络安全 网络安全 是指网络系统的硬件&#xff0c;软件以及系统中的数据收到的保护。 保护的基本属性为&#xff1a;机密性&#xff0c;身份认证&#xff0c;完整性和可用性&#xff1b; 基本特征&#xff1a;相对性&#xff0c;时效性&#xff0c;相关性…

springboot自写插件封包

在Spring Boot中自写插件或封包&#xff08;通常指的是创建自定义的starter&#xff09;是一种常见的做法&#xff0c;用于将一系列相关的配置和组件打包成一个独立的模块&#xff0c;从而简化依赖管理和配置过程。以下是一个简单的步骤&#xff0c;指导你如何创建一个自定义的…

2024牛客寒假算法基础集训营2

目录 A.Tokitsukaze and Bracelet B.Tokitsukaze and Cats C.Tokitsukaze and Min-Max XOR D.Tokitsukaze and Slash Draw E and F.Tokitsukaze and Eliminate (easy)(hard) G.Tokitsukaze and Power Battle (easy) 暂无 I.Tokitsukaze and Short Path (plus) J.Tokits…