Python 数据分析--Numpy 常用函数介绍(6)--Numpy 中与股票成交量有关的计算
成交量(volume)是投资中一个非常重要的变量,它是指在某一时段内具体的交易数,
可以在分时图中绘制,包括日线图、周线图、月线图甚至是 5 分钟、30 分钟、60 分钟图中
绘制。
股票市场成交量的变化反映了资金进出市场的情况,成交量是判断市场走势的重要指
标。一般情况下,成交量大且价格上涨的股票,趋势向好。成交量持续低迷时,一般出现在
熊市或股票整理阶段,市场交易不活跃。成交量是判断股票走势的重要依据,对分析主力行
为提供了重要的依据。投资者对成交量异常波动的股票应当密切关注。
OBV(On-Balance Volume,净额成交量或叫能量潮指标)是最简单的股价指标之一,
它可以由当日收盘价、前一天的收盘价以及当日成交量计算得出。以前一日为基期计算当日
的 OBV 值(可以认为基期的 OBV 值为 0)。若当日收盘价高于前一日收盘价,则本日 OBV
等于基期 OBV 加上日成交量。若当日收盘价低于前一日收盘价,则本日 OBV 等于基期
OBV 减去当日成交量。若当日收盘价相比前一日没有变化,则当日成交量以 0 计算。
一、OBV 计算
鉴于上述计算方法,需要在成交量前面乘上一个由收盘价变化决定的正负号(收盘价
低于前一交易日收盘价,负号,收盘价高于前一交易日收盘价,正号)。在本篇中,学习该
问题的两种解决方法,一种是使用 NumPy 中的 sign 函数,另一种是使用 NumPy 的 piecewise
函数。
1)把数据分别加载到收盘价和成交量的数组中:
close,vol = np.loadtxt(‘data036.csv’,delimiter=‘,’,
usecols=(5,6),converters={1:datestr2num},unpack=True)
data036.csv 中的第 6 列和第 7 列分别为收盘价和当日成交量。
前篇介绍过 numpy.diff()可以计算相邻的差(即上述收盘价 close 的差值),并利用这个差
值,用 sign 函数计算正负号
changes = np.diff(close)
signs = np.sign(changes)
print (“Signs”, signs)
运行结果:
Signs [-1. -1. -1. -1. 1. 1. 1. -1. 1. 1. 1. -1. 1. -1. -1. -1. -1. 1.
评论0
最新资源