[第22天]理财达人Mx. Ada-MACD 指标

前言

本文说明MACD技术指标。

MACD 指标

MACD指标(Moving Average Convergence & Divergence)为平滑异同移动平均线指标, 股票技术分析,会用这个指标来判断股价走势,确定波段涨幅并找到买卖点, 最常用的值为12天、26天、9天,也称为MACD(12,26,9)。
MACD指标快线:DIF,慢线:MACD两条线组成,以慢线:MACD移动平均线来作为大趋势基准,并以快线:DIF移动平均线作为趋势变化的判定。
快线DIF向上突破慢线MACD →红柱,买进讯号
快线DIF向下跌破慢线MACD →绿柱,卖出讯号
MACD指标多会使用柱状图观察 (柱线 = 快线DIF–慢线MACD) 当柱线接近0时,即短线买进或卖出讯号。

程序实作

安装yfinance 函式库:可下载股票数据

pip install yfinance

安装matplotlib函式库:绘图、图表呈现及数据

pip install matplotlib

程序

import pandas as pd 
import yfinance as yf
import matplotlib.pyplot as plt
import datetime as dt

# 计算MACD及绘图
def macd(DF,a,b,c):
  df=DF.copy()
  df['MA Fast']=df['Adj Close'].ewm(span=a, min_periods=a).mean()
  df['MA Slow']=df['Adj Close'].ewm(span=b, min_periods=b).mean()
  df["MACD"]=df['MA Fast']-df['MA Slow']
  df['Signal']=df.MACD.ewm(span=c, min_periods=c).mean()
  df["Histrogram"]=df.MACD-df.Signal
  df=df.dropna()
  df.iloc[:,[4,8,9,10]].plot()
  plt.savefig("MACD.png")
  return df

# 开始时间
start=dt.datetime.today()-dt.timedelta(160)
# 结束时间
end=dt.datetime.today()
# 台股 2603(长荣)及2609(阳明)
clprice=pd.DataFrame(yf.download("2603.TW 2609.TW", start=start, end=end))
clprice=clprice.dropna()
print("clprice:",clprice)
# 计算2603(长荣) macd 及绘图
macd(clprice.xs('2603.TW', level=1, axis=1), 12,26,9)

程序执行成果

㧓取2603(长荣)及2609(阳明)历史股价资讯

https://ithelp.ithome.com.tw/upload/images/20211007/20107143DrGtFCBlBT.png

macd趋势图

https://ithelp.ithome.com.tw/upload/images/20211007/20107143tliieLFNQm.png

小结

使用yfinance及matplotlib函式库,进行MACD计算及呈现。


<<:  Day22 探讨Templates

>>:  Day 25 : XGBoost

[区块链&DAPP介绍 Day4] 第一个智能合约

今天我们来实作第一个智能合约看看 首先,要发布智能合约一定就要就要有区块链,我们也不可能直接就真金白...

新新新手阅读 Angular 文件 - ngIf - Day18

本文内容 学习怎麽使用 Angular 的 *ngIf 语法。 ngIf 的作用 让你可以有条件地去...

【Day29】修改 Proxy 的方法

今天要来分享之前实习开发 QA Bot, LUIS Bot 设定 proxy 的地方。 QnA Ma...

30天学会Python: Day 26-一心多用

同步执行 目前写的程序都是一行接着一行一行执行,这种执行的方式叫做 同步执行 print("...

Day8-安装Kind要在docker之後

从上一章了解各种K8s的特点,在这章将会教学如何安装Kind。 由於其利用docker的特性,会比使...