Python 实现 OSC 指标计算 (变动速率线):股票技术分析的利器系列(14)

Python 实现 OSC 指标计算 (变动速率线):股票技术分析的利器系列(14)

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


介绍

OSC(变动速率线)是一种技术指标,通过计算价格的变动速率来衡量市场的动量,通常用于帮助分析价格趋势的强度和方向。

先看看官方介绍:

OSC(变动速率线)
用法
1.OSC 以100 为中轴线,OSC>100 为多头市场;OSC<100 为空头市场;
2.OSC 向上交叉其平均线时,买进;OSC 向下交叉其平均线时卖出;
3.OSC 在高水平或低水平与股价产生背离时,应注意股价随时有反转的可能;
4.OSC 的超买超卖界限值随个股不同而不同,使用者应自行调整。

算法公式

OSC:100*(CLOSE-MA(CLOSE,N));
MAOSC:EXPMEMA(OSC,M);
优势劣势
反映价格变动速率,有助于捕捉市场动量可能存在滞后性
简单易懂,适用于新手和经验者对突发事件的反应相对较慢
可以结合其他指标使用,增强分析效果对参数的选择较为敏感
在特定市场环境下具有较好的表现与价格走势有时会出现背离现象

代码

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

核心代码

计算OSC
# 计算OSC
def calculate_OSC(df, N):df['MA_CLOSE'] = df['CLOSE'].rolling(window=N).mean()  # 计算收盘价的移动平均df['OSC'] = 100 * (df['CLOSE'] - df['MA_CLOSE'])return df
  1. df['MA_CLOSE'] = df['CLOSE'].rolling(window=N).mean()

    • 该行代码计算了收盘价的移动平均,首先选取了DataFrame df 中的 ‘CLOSE’ 列(收盘价数据),然后使用 rolling(window=N).mean() 方法计算了这个收盘价的滚动窗口移动平均值。
    • rolling(window=N) 表示使用窗口大小为 N 的滚动窗口,即取最近 N 个数据进行移动平均计算。
    • .mean() 表示对滚动窗口内的数据取平均值。
    • 最后,将计算得到的移动平均值存储到一个新的列 ‘MA_CLOSE’ 中。
  2. df['OSC'] = 100 * (df['CLOSE'] - df['MA_CLOSE'])

    • 该行代码计算了OSC指标。首先从DataFrame df 中取出 ‘CLOSE’ 列(收盘价数据)和刚刚计算得到的移动平均 ‘MA_CLOSE’ 列。
    • 然后,计算了收盘价与移动平均之间的差值,并乘以100,得到OSC的数值。
    • 最后,将计算得到的OSC数值存储到一个新的列 ‘OSC’ 中。

完整代码

import pandas as pddata = {'CLOSE': 填每日收盘的数据,'HIGH': 填每日最高的数据,'LOW': 填每日最低的数据'OPEN': 填每日开盘的数据'VOL': 填每日交易量的数据
}
df = pd.DataFrame(data)# 计算OSC
def calculate_OSC(df, N):df['MA_CLOSE'] = df['CLOSE'].rolling(window=N).mean()  # 计算收盘价的移动平均df['OSC'] = 100 * (df['CLOSE'] - df['MA_CLOSE'])return df# 计算MAOSC
def calculate_MAOSC(df, M):df['MAOSC'] = df['OSC'].ewm(span=M, min_periods=M).mean()  # 使用指数移动平均计算MAOSCreturn dfN = 20
M = 6# 计算OSC
df = calculate_OSC(df, N)# 计算MAOSC
df = calculate_MAOSC(df, M)# 打印结果
print(df)

在这里插入图片描述

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

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

相关文章

git submodule 模块化管理

Git Submodule 是 Git 版本控制系统中的一项功能&#xff0c;它允许你将一个 Git 仓库嵌套在另一个仓库中。通过使用 Submodule&#xff0c;你可以在一个仓库中引入其他仓库的特定版本&#xff0c;同时保留这些子模块的独立性。 1、添加并初始化 Submodule a、添加 Submodule…

飞行员还是电话接线员?软件开发人员消亡的预测是荒谬的

Stability AI 首席执行官 Emad Mostaque最近因其大胆的预测“五年内将不再有程序员”而成为头条新闻。虽然此类声明在社交媒体上很受欢迎&#xff0c;但它们并不能准确反映创造力在复杂软件开发中的作用的现实。是的&#xff0c;人工智能将深刻改变软件工程行业&#xff0c;但这…

Spring的定时任务不生效、不触发,一些可能的原因,和具体的解决方法。

1 . 未在启动类上加 EnableScheduling 注解 原因&#xff1a;未在Spring Boot应用主类上添加EnableScheduling注解或未在XML配置文件中配置定时任务的启用。解决方法&#xff1a;确保在应用的配置类上添加EnableScheduling注解&#xff0c;启用定时任务。 2 . cron 表达式书写…

R语言使用dietaryindex包计算NHANES数据多种健康饮食指数 (HEI等)(1)

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法&#xff0c;将饮食摄入数据标准化为基于指数的饮食模式&#xff0c;从而能够评估流行病学和临床研究中对这些模式的遵守情况&#xff0c;从而促进精准营养。 该软件…

自动从金蝶取数,做BI报表的工具,快来长见识!

技术越进步&#xff0c;分析工具越智能&#xff0c;如今做数据分析、数据可视化&#xff0c;不仅能连接金蝶系统&#xff0c;更能直接从金蝶ERP中取数做分析&#xff0c;自动输出BI数据可视化分析报表。这就是奥威-金蝶BI方案。 是骡子是马&#xff0c;牵出来遛遛就知道&#…

Redis与数据库如何同步?

使用数据库的触发器&#xff08;Triggers&#xff09;&#xff1a;在数据库中设置触发器&#xff0c;当数据库中的数据发生变化时&#xff0c;触发器将通知Redis更新对应的数据。这通常需要在数据库中编写自定义逻辑以处理触发事件&#xff0c;并确保同步的正确性。 缺点&#…

【C++】拿下! C++中的内存管理

内存管理 1 C 的内存分布2 C语言的内存管理3 C的内存管理3.1 内置类型操作3.2 自定义类型操作 4 operator new与operator delete函数&#xff08;重点&#xff09;5 new和delete的实现原理5.1 内置类型5.2 自定义类型new的原理delete的原理new T[ N ] 的原理lete[]的原理 6 总结…

day02_前后端环境搭建(前端工程搭建,登录功能说明,后端项目搭建)

文章目录 1. 软件开发介绍1.1 软件开发流程1.2 角色分工1.3 软件环境1.4 系统的分类 2. 尚品甄选项目介绍2.1 电商基本概念2.1.1 电商简介2.1.2 电商模式B2BB2CB2B2CC2BC2CO2O 2.2 业务功能介绍2.3 系统架构介绍2.4 前后端分离开发 3. 前端工程搭建3.1 Element-Admin简介3.2 El…

idea打包报错,clean、package报错

一、idea在打包时&#xff0c;点击clean或package报错如下&#xff1a; Error running ie [clean]: No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system. 示例图&#xf…

深入理解分库、分表、分库分表

前言 分库分表&#xff0c;是企业里面比较常见的针对高并发、数据量大的场景下的一种技术优化方案&#xff0c;所谓"分库分表"&#xff0c;根本就不是一件事儿&#xff0c;而是三件事儿&#xff0c;他们要解决的问题也都不一样&#xff0c;这三个事儿分别是"只…

C语言:字符函数 字符串函数 内存函数

C语言&#xff1a;字符函数 & 字符串函数 & 内存函数 字符函数字符分类函数字符转换函数tolowertoupper 字符串函数strlenstrcpystrcatstrcmpstrstrstrtok 内存函数memcpymemmovememsetmemcmp 字符函数 顾名思义&#xff0c;字符函数就是作用于字符的函数&#xff0c;…

uniapp中获取位置信息处理

在微信小程序中&#xff0c;获取定位&#xff0c;是需要用户授权的&#xff0c;那么当用户拒绝授权后&#xff0c;需要重新获取定位时&#xff0c;是不会再调起授权界面&#xff0c;这时需要用户主动打开设置界面&#xff0c;才可以重新开启授权权限&#xff1b; 那么&#xf…

【MySQL | 第一篇】undo log、redo log、bin log三者之间的区分?

undo log、redo log、bin log三者之间的区分&#xff1f; 从 产生的时间点、日志内容、用途 三方面展开论述即可 1.undo log——撤销日志 时间点&#xff1a;事务开始之前产生&#xff0c;根据当前版本的数据生成一个undo log&#xff0c;也保存在事务开始之前 作用&#xf…

PHP学习笔记2——前后端,mysql增删改查

php是一种适用于后端与前端的编程语言 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>index</t…

【亚马逊云新春特辑②】构生成式 AI 文生图工具之借助ControlNet进行AI绘画创作【生成艺术二维码】

文章目录 1.1 生成艺术二维码1&#xff09;制作基础二维码2&#xff09;确定艺术风格3&#xff09;生成艺术二维码4&#xff09;结果优化 AIGC 的可控性是它进入实际生产最关键的一环。在此之前&#xff0c;许多用户希望 AI 生成的结果尽可能符合要求&#xff0c;但都不尽如人意…

961. 最大获利(网络流,最小割,最大权闭合图)

活动 - AcWing 新的技术正冲击着手机通讯市场&#xff0c;对于各大运营商来说&#xff0c;这既是机遇&#xff0c;更是挑战。 THU 集团旗下的 CS&T 通讯公司在新一代通讯技术血战的前夜&#xff0c;需要做太多的准备工作&#xff0c;仅就站址选择一项&#xff0c;就需要完…

linux centos7.9改dns和ip

vi /etc/sysconfig/network-scripts/ifcfg-ens32 &#xff1a;wq后 重启网络服务 systemctl restart network —————————————————————————— 篇外话题 软件下载 xshell可以从腾讯软件中心下载

基于Rust语言,和WebAssembly技术,与JavaScript结合,的具体应用场景

基于Rust语言与WebAssembly&#xff08;Wasm&#xff09;技术并与JavaScript结合&#xff0c;可以应用于多个场景&#xff0c;特别是在需要高性能和/或低级系统访问的情况下。下面是一些具体的应用场景&#xff1a; 性能密集型任务: Rust加上Wasm适合执行计算密集型任务&#x…

笔记电商人工智能客服

天猫-店小蜜 标准模式 全自动接待&#xff1a;机器接待。若答不出&#xff0c;转人工引导语&#xff0c;顾客手动转人工。 智能辅助接待&#xff1a;机器人将辅助客服接待&#xff0c;在客服接待过程中提供话术推荐&#xff0c;并自动回复客服尚未接起的买家咨询。 混合接待…

在达梦DM8数据库的运行日志中出现大量 Failure occurs in data_recv_inet_once 警告信息

【问题描述】&#xff1a; 在 DM 达梦数据库的运行日志中出现大量 Failure occurs in data_recv_inet_once 警告信息&#xff0c;如下图&#xff1a; [WARNING] database P0000005986 T0000000000000022168 Failure occurs in data_recv_inet_once, code(13) len(32576, 0) [W…