股票价、量走势图绘制

在证券投资分析领域中价、量走势分布图是投资者常用的一个参考方面。本案例主要介绍股票每日收盘价格、成交量的走势图以及月交易量分布饼图的绘制技能,并进一步介绍了子图的绘制方法

今有股票代码600000行情交易数据表(trd.xlsx),其表结构如表7-7所示。数据来源于国泰安CSMAR数据库

问题如下:

1)绘制股票代码600000,日期为2017-01-032017-01-20日的收盘价格走势图.

2)绘制股票代码600000,日期为2017-01-032017-01-24日的交易量柱状图.

3)计算股票代码60000020171月至11月的交易量,并绘制其饼图。

4)将以上的价格走势图、柱状图、饼图在同一个figure上以子图的形式绘制出来。

本节主要计算获得绘图所需的横轴和纵轴指标数据,包括股票代码600000的2017-01-03至2017-01-20日的收盘价格数据,2017-01-03至2017-01-24日的交易量数据和2017年1月至11月的交易量统计数据D,这里主要涉及数据的筛选及简单循环计算的编程技能。示例代码如下:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

data=pd.read_excel('trd.xlsx')

dt=data.loc[data['股票代码']==600000,['交易日期','收盘价','交易量']]

I1=dt['交易日期'].values>='2017-01-03'

I2=dt['交易日期'].values<='2017-01-20

dta=dt.iloc[I1&I2,:]

y1=dta['收盘价']

x1=range(len(y1))

I3=dt['交易日期'].values>='2017-01-03'

I4=dt['交易日期'].values<='2017-01-24'

dta=dt.iloc[I3&I4,:]

y2=dta['交易量']

x2=range(len(y2))

D=np.zeros((11))

list1=list()

for m in range(11):

    m=m+1

    if m<10:

        m1='2017-0'+str(m)+'-01'

        m2='2017-0'+str(m)+'-31'

        mon='0'+str(m)

    else:

        m1='2017-'+str(m)+'-01'

        m2='2017-'+str(m)+'-31'

        mon=str(m)

    I1=dt['交易日期'].values>=m1

    I2=dt['交易日期'].values<=m2

    D[m-1]=dt.iloc[I1&I2,[2]].sum()[0]

    list1.append(mon)

plt.figure(1)

plt.plot(x1,y1)

plt.xlabel(u'日期',fontproperties='SimHei')

plt.ylabel(u'收盘价',fontproperties='SimHei')

plt.title(u'收盘价走势图',fontproperties='SimHei')

plt.savefig('1')

plt.figure(1)

plt.plot(x1,y1)

plt.xlabel(u'日期',fontproperties='SimHei')

plt.ylabel(u'收盘价',fontproperties='SimHei')

plt.title(u'收盘价走势图',fontproperties='SimHei')

plt.savefig('1')

plt.figure(2)

plt.bar(x2,y2)

plt.xlabel(u'日期',fontproperties='SimHei')

plt.ylabel(u'交易量 ',fontproperties='SimHei')

plt.title(u'交易量趋势图',fontproperties='SimHei')

plt.savefig('2')

plt.figure(3)

plt.pie(D,labels=list1,autopct='%1.2f%%') #保留小数点后两位

plt.title(u'月交易量分布图',fontproperties='SimHei')

plt.savefig('3')

plt.figure(4)

plt.figure(figsize=(14,6))

plt.subplot(1,3,1)

plt.plot(x1,y1)

plt.xlabel(u'日期',fontproperties='SimHei')

plt.ylabel(u'收盘价',fontproperties='SimHei')

plt.title(u'收盘价走势图',fontproperties='SimHei')

plt.subplot(1,3,2)

plt.bar(x2,y2)

plt.xlabel(u'日期',fontproperties='SimHei')

plt.ylabel(u'交易量',fontproperties='SimHei')

plt.title(u'交易量趋势图',fontproperties='SimHei')

plt.subplot(1,3,3)

plt.pie(D,labels=list1,autopct='%1.2f%%') #保留小数点后两位

plt.title(u'月交易量分布图',fontproperties='SimHei')

plt.savefig('4')

股票价、量走势图绘制_第1张图片

 

你可能感兴趣的:(数据挖掘与分析,数据挖掘)