[量化投资-学习笔记006]Python+TDengine从零开始搭建量化分析平台-MACD

news2025/2/25 21:41:02

在上一章节介绍了 EMA 均线的计算,本节主要介绍均线的进化形态之一:MACD

MACD (Moving Average Convergence / Divergence) 指数平滑移动平均线。MACD 是通过计算不同时间的 EMA 的差值俩判断价格趋势。

MACD 包括 3 个值:
长短期 EMA 差值:DIF = EMA(close,12)-EMA(close,26) (计算 12 日和 26 日 EMA 均线差值)
信号线: DEA = EMA(DIF,9) (计算差值的 EMA 均线)
柱状图: OSC = DIF - DEA

通过以上公式,可以看出 MACD 可反应如下信息:

  1. DIF>0 价格上涨,DIF<0 价格下跌
  2. DEA>0 价格加速上涨,DEA<0 价格加速下跌
  3. OSC 绝对值越大,说明价格变化越剧烈

1. 从数据库获取收盘价

上一节,对数据进行了清洗,可以直接查询每天的收盘价,不用再使用 interval 聚合函数。

st = '2022-06-01'
et = '2022-10-01'
sql = 'select tdate,close from trade_data_c.tdata where fcode="000001" and tdate>="'+st+'" and tdate<="'+et+'"'

rt = fun.request_post(tdurl,sql,username,password)

2. 使用 pandas 直接计算EMA

这里 MACD 的周期设置为(12,26,9)。

df = request_get_d(rt)
df['DIF'] = pd.DataFrame.ewm(df['close'],span=12).mean() - pd.DataFrame.ewm(df['close'],span=26).mean()
df['DEA'] = pd.DataFrame.ewm(df['DIF'],span=9).mean()
df['OSC'] = df['DIF'] - df['DEA']

3. 绘制图形

plt.title("MACD")
plt.plot(df['DIF'],'r',linewidth=1.0,label='DIF')
plt.plot(df['DEA'],'y',linewidth=1.0,label='DEA')
plt.bar(df.index,df['OSC']*3,label='OSC')
plt.legend()
plt.grid()
plt.show()

为了让图片更美观,将 OSC 进行了优化。

在这里插入图片描述

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

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

相关文章

信号上的串联电阻是如何改善信号质量的

一般我们在进行PCB设计时可能会留意到有些信号会串联一个电阻&#xff0c;那么大家是否有想过所串联的电阻是有什么作用呢&#xff1f; 大家可以看一下下面图示的案例&#xff0c;信号是从CPU处出来再接到DDR颗粒的&#xff0c;每一个DDR数据线都有串联一个电阻&#xff0c;其…

高速串行协议——Aurora

Aurora简介 Aurora 协议是一个用于在点对点串行链路间移动数据的轻量级链路层协议&#xff0c;并为物理层提供透明接口&#xff0c;让专有协议或业界标准协议上层能方便地使用高速收发器。 Aurora通信模型 在发送端&#xff0c;用户端应用程序可以通过AXI总线接口实现与Aurora…

虹科示波器 | 汽车免拆检测 | 2017款长安福特翼虎车发动机故障灯异常点亮

一、故障现象 一辆2017款长安福特翼虎车&#xff0c;搭载CAF488WQ9发动机&#xff0c;累计行驶里程约为8.9万km。该车因发动机故障灯异常点亮在其他维修厂检修&#xff0c;维修人员用故障检测仪检测&#xff0c;提示气缸3失火&#xff0c;调换火花塞、点火线圈及喷油器&#xf…

Sandcastle生成文档

下载: https://github.com/EWSoftware/SHFB/releases 使用Sandcastle生成Api文档需要使用对应程序集的注释xml 程序集dll作为数据源&#xff0c;通过对xml dll数据解析生成文档&#xff1b;所以主体步骤如下&#xff1a; 程序集资源生成创建配置.shfbproj项目编译构建文档 …

累计概率分布、概率分布函数(概率质量函数、概率密度函数)、度量空间、负采样(Negative Sampling)

这里写自定义目录标题 机器学习的基础知识累计概率分布概率分布函数度量空间负采样&#xff08;Negative Sampling&#xff09;基于分布的负采样&#xff08;Distribution-based Negative Sampling&#xff09;&#xff1a;基于近邻的负采样&#xff08;Neighbor-based Negativ…

【Linux进程】进程地址空间

目录 程序地址空间回顾 进程地址空间 宏观理解 谈细节 1、进程地址空间究竟是什么&#xff1f; 2、管理地址空间 3、页表 总结几个问题&#xff1a; 1、为什么要有进程地址空间&#xff1f; 2、进程切换 3、进程具有独立性&#xff0c;怎么做到的&#xff1f; 程序地…

C++程序崩溃时,使用Windbg静态分析dump文件

Window环境下的C程序如果发生异常崩溃&#xff0c;首先会和客户联系&#xff0c;让帮忙取特定目录下的dump文件和log文件来分析崩溃的原因。不过发生崩溃的话&#xff0c;从log一般分析不出特定原因&#xff0c;这时候dump文件就起作用了。可以通过Visual Studio和WinDbg来静态…

看看顶级外贸业务员是如何跟进客户的?

许多外贸业务员&#xff0c;都碰到过客户跟进上的困难。那到底外贸业务员如何跟进客户&#xff0c;才能越跟越近&#xff0c;最终成交呢&#xff1f;本篇文章设定了几个客户回复的场景&#xff0c;看看顶尖销售都是怎么应对的吧&#xff1f; 一 客户说暂时没有需求 1.问清楚客…

京东app地推拉新和京喜大赢家网推app拉新申请渠道 附全套攻略

京东app地推拉新和京喜大赢家网推拉新可以通过“聚量推客”申请 聚量推客是什么呢&#xff1f;一手官签服务商直营app拉新平台 京东app地推拉新项目和京喜大赢家网推拉新项目有什么区别呢&#xff1f; 京东app只能地推作业&#xff0c;京喜大赢家推广支持网推推广操作也更简…

【C语法学习】18 - fread()函数

文章目录 1 函数原型2 参数3 返回值4 示例 1 函数原型 fread()&#xff1a;从与指定流stream相关联的二进制文件中读取数据块储存在str指向的内存空间中&#xff0c;函数原型如下&#xff1a; size_t fread(const void *ptr, size_t size, size_t count, FILE *stream)2 参数…

为什么大家都想找运营类的工作?

为什么大家都想找运营类的工作&#xff1f; 一、入门门槛 随着需求的持续增长&#xff0c;市场上的人员素质难以迅速匹配。在高校中&#xff0c;也难以培养出对口的应届毕业生。因此&#xff0c;许多企业在招聘运营人员时&#xff0c;更倾向于自行培养。对于新人的要求相对较低…

酒水展示预约小程序的效果如何

酒的需求度非常高&#xff0c;各种品牌、海量经销商组成了庞大市场&#xff0c;而在实际经营中&#xff0c;酒水品牌、经销商、门店经营者等环节往往也面临着品牌传播拓客引流难、产品展示预约订购难、营销难、销售渠道单一等痛点。 那么商家们应该怎样解决呢&#xff1f; 可以…

MTK RILD 无法启动问题分析

1、问题背景 Modem识别卡&#xff0c;但是UI无法识别卡&#xff0c;抓取问题机开机Log&#xff0c;发现RILJ一直在找寻RILD&#xff0c;但是无法获取相关服务&#xff0c;因此可以确认RILD Crash或出现异常。 但是在异常Log中搜索RILD&#xff0c;也未见相关关键字Log 2、对比实…

Springboot+vue的导师双选管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的导师双选管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的导师双选管理系统&#xff0c;采用M&#xff08;model&a…

享搭低代码平台:加速费用报销管理系统应用构建的利器

低代码平台的概念与优势 低代码平台是一种应用开发工具&#xff0c;它通过图形化界面和少量编码&#xff0c;使开发人员能够快速构建应用程序。它的优势包括提高开发效率、降低技术门槛、加强协作和灵活性等。 享搭低代码平台实现快速构建费用报销管理系统应用 在享搭低代码…

Web3.0的测试题

任务&#xff1a; 在前端开发一个查询UI&#xff0c;查询当前用户账户的ETH余额和指定ERC20合约中的余额 目标&#xff1a; UI框架指定使用 MUI (https://mui.com)需要查询到当前账户的ETH余额并展示在UI界面上需要输入ERC20合约地址后&#xff0c;查询到到当前账户在此ERC20…

【GEE】6、在 Google 地球引擎中构建各种遥感指数

1简介 在本模块中&#xff0c;我们将讨论以下概念&#xff1a; 如何在 GEE 中重命名图像的波段。如何使用已有的遥感指数。如何使用波段数学生成自己的遥感指数。 一个田地已经灌溉的年数的卫星图像。灌溉水最可能的来源是奥加拉拉含水层。图片来自科罗拉多州霍利奥克附近。资料…

测试开发路线大纲与总结

一、什么是测试开发&#xff1f; 测试开发&#xff08;Test Development&#xff09;是一种结合软件测试和软件开发的角色和实践。测试开发人员负责设计、开发和维护自动化测试工具、测试框架和测试脚本&#xff0c;以支持测试流程的自动化和优化。他们与开发团队和质量保证&a…

云尘靶场 Medium_Socnet 内网为docker 无站代理 不存在gcc的提权方式 解决ldd过高无法执行exp 指定so文件

首先我们可以通过 arp-scan 扫描当前内网中的存活 但是不知道为什么扫不出来 然后我们使用fscan可以获取存活 这里大致扫描只开了22端口 所以我们使用nmap进行信息收集扫描 nmap -sS -sV -A -p- 172.25.0.13通过tcp 进行 版本服务扫描 并且检测系统版本 全端口 这里我们可以…

VUE多语言i18n配置

1、i18n官网 格式化 | Vue I18n 2、安装i18n 8---指版本号 // vue2必须安装8版本的i18n包&#xff0c;vue3必须安装9版本的i18n包。 npm i vue-i18n8 3、卸载i18n npm uninstall vue-i18n 4、安装 js-cookie npm install vue-cookies --save 5、代码 5.1 main.js /…