本文说明使用TA-Lib函式库计算OBV指标。
OBV能量潮指标(On Balance Volume)简称为OBV,由葛兰碧(Joseph Granville)提出,是一种依据行情的涨跌,来累计或删去市场的成交量值,而以此累算值作为市场行情动能变化趋势的指标。同时它也是一种将一根一根起起伏伏不易观察的成交量图,转变而成较易观看分析的连续线图的一种指标。
OBV指标在算法上相当简单,只要依照行情的涨跌来累计市场上每日的成交量值即可。亦即是将上涨日的成交量值视为买进的正值累加,而下跌日的成交量值则视为卖出的负值减去,依此而得出涨势与跌势双方动能消长的变化。
OBVt = OBVsub>t-1 + Volume 若 Close t > Close t-1
OBVt = OBVsub>t-1 - Volume 若Close t < Close t-1
import numpy as np
import pandas as pd
import talib
import datetime as dt
import yfinance as yf
import matplotlib.pyplot as plt
# 开始时间
start=dt.datetime.today()-dt.timedelta(14)
# 结束时间
end=dt.datetime.today()
# 下载台股长荣(2603)历史交易资料
df = pd.DataFrame(yf.download("2603.TW", start=start, end=end))
obv = talib.OBV(df.Close, df.Volume)
#df_obv = pd.DataFrame(obv)
df_obv =pd.DataFrame(obv, index=df.index, columns=['OBV'])
print("OBV:\n" ,df_obv)
df_obv.loc['2021-09-27':'2021-10-08'].plot(figsize=(16, 6))
plt.savefig("OBV.png")
使用yfinance函式字取得个股历史资料及利用TA-Lib函式库计算OBV指标。
<<: Day 29【Deploy NFT - Deploy on Mainnet】你看,出来了
前言 前天我们写好了 create_app,但是还没有人呼叫他,今天我们就要来呼叫他 (当然还不能用...
本系列文章经过重新编排和扩充,已出书为ECMAScript关键30天。原始文章因当时准备时程紧迫,...
今天就来谈谈字串吧。 相信以下这段程序是大家学Java第一天就会写的: class HelloWor...
Why Profiler ? Profiler 可以用来测量 React app render 的次...
安安 过了一周我又来了 首先需要先为自己与同学鼓掌撑过第一周✌️ 第二周开始就是介面地狱 每周第一天...