在Python股票气泡图(一) - 知乎专栏介绍了股票成交by每天by每价格的画图,它能够给你一个直观的每天成交价格、成交量的分布。
在Python股票成交价格分布图(二) - 知乎专栏介绍了股票成交额-价格的分布,有助于判断当前股票所在的价格位置和风险程度。
今天,我们看看在不同价格上,买进(买盘)和卖出(卖盘)以及中性盘的成交情况。
还是按照前文所讲的,我已经把成交交易的明细整理成HDF5格式,以股票代码做为Key,方便查询。
code = 'sz000507'
files =['trade03.h5','trade04.h5','trade05.h5']
period = 60
start = datetime.now()-(period+1)*BDay()
a=pd.DataFrame(data=None,index=None,columns=None)
for file in files:
try:
t=pd.read_hdf(file, key=code)
a=a.append(t)
except:
continue
if a.empty:
return 0
a=a[~a.index.duplicated(keep='last')]接下来,我们要分析60天内的数据。
t =a[pd.to_datetime(a['date']) > start]
grp = t.groupby(['price','type'])
b = grp['amount'].sum()
b = b.reset_index('type')
b = b.reset_index('price')通过对60天数按价格、成交性质统计后,会得到不同价格成交情况。
接下来导入bokeh库,画图。
from bokeh.charts import Line,show,output_file
line = Line(b,x='price',y='amount',dash='type',legend='top_left',color='type',plot_width=900,tooltips=[('price', '@price'),('amount', '@amount'), ('type','@type')],title=name+' '+code)
show(line)得到的图形如下:
左上角的图例:S代表卖出,B代表买进,N代表中性盘。中性盘一般都比较小。
蓝色卖出最高的几个价格,都是涨停的时候,涨停的成交都是归在卖出里。
最后一条红线很高价格约在11.38,那是在4月14日,连续3个涨停之后,开盘成交金额,当天最高成交11.44元,也是这轮行情的最高点。之后就掉头向下了。
一叶知秋,从混乱中发现交易的意图,您有什么奇思妙想,欢迎回复。