解密大数据

第五次作业--股票数据分析javascript:void(nul

2017-04-08  本文已影响195人  mudu86

名词解释

开盘价:指某种证券在证券交易所每个营业日的第一笔交易,第一笔交易的成交价即为当日开盘价。

最高价:某种证券在每个交易日从开市到收市的过程中所产生的最高价格

收盘价:以当日该证券最后一笔交易前一分钟所有交易的成交量加权平均价

最低价:某种证券在每个交易日从开市到收市的过程中所产生的最低价格

成交量:指当日成交的股价总手数。(1手=100股)

价格变动:当日股票开盘价与收盘价之间的差值,计算公式:价格变动 = 收盘价 - 开盘价 Price Change

涨跌幅:是对涨跌值的描述,用%表示,涨跌幅 = 涨跌值 / 昨收盘 *100%。当前交易日最新成交价与前一天收盘价相比较产生的数值,这个数字一般用百分比表示。

5日均价:5天股票成交价格或指数的平均值

10日均价:10天股票成交价格或指数的平均值

20日均价:20天股票成交价格或指数的平均值

5日均量:5日股票成交量的平均线

10日均量:10日股票成交量的平均线

20日均量:20日股票成交量的平均线

换手率:指一定时间内市场中股票转手买卖的频率,是反应股票流通性强弱的指标之一。

计算公式:换手率 = 某一段时间内的成交量 / 发行总股本 *100%

在中国:成交量/流通股本*100%

股票数据分析

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib

%matplotlib inline
%config InlineBackend.figure_format = 'retina'
def estimate_domain(mean,std):
    result_min = mean - 1.96 * std
    result_max = mean + 1.96 * std 
    return [result_min,result_max]
stockdata = pd.read_table('stockData.txt')
stockdata.columns
Index(['date', '    open', 'high', 'close', 'low', 'volume', 'price_change',
       'p_change', 'ma5', 'ma10', 'ma20', 'v_ma5', 'v_ma10', 'v_ma20',
       'turnover', 'Unnamed: 15', 'Unnamed: 16', 'Unnamed: 17', 'Unnamed: 18',
       'Unnamed: 19', 'Unnamed: 20', 'Unnamed: 21', 'Unnamed: 22',
       'Unnamed: 23', 'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26',
       'Unnamed: 27', 'Unnamed: 28'],
      dtype='object')
stockdata = stockdata.iloc[:,0:15]
stockdata
![Uploading 图像 2_912297.jpg . . .]
stockdata.describe()
图像 2.jpg 图像 3.jpg

分析1

对原始数据进行分析

  1. 该股票20日开盘价均值为11.58,收盘价均值为11.673;
  2. 该股票20日最高价均价为11.893,最低价均价为11.393;
  3. 该股票ma5均值11.553,最小值11.014,最大值12.43;
  4. 该股票ma10均值11.41,最小值11.155,最大值12.058;
  5. 该股票ma20均值11.453,最小值11.173,最大值11.682;
  6. 该股票20日换手率平均值2.294%,最小值0.62%,最大值4.85%,该股票的换手率不高。
  7. 从原始数据stockdata中open列可以观察到,该股票第一日的开盘价为11.16,第20日的开盘价为12.4,上升幅度为11%;
  8. 从原始数据stockdata中close列可以观察到,该股票第一日的收盘价为11.26,第20日的收盘价为12.06,上升幅度为7.1%;
  9. 如果从20日开盘价均值11.58买入该股票,一直持有到第20日收盘价12.06,可以获利0.48,获利幅度4.1%;
  10. 从ma5/ma10/ma20的平均值走势先下降然后上升,可以知道在ma10的平均值11.41处,买入股票一直持有到第20天可以获利0.65,获利比例5.7%;
  11. 能够获得的最大利润是在股价的最低点10.55买入,然后在股价的最该点13.08卖出,可以获利2.53,获利比例23.98%.
  12. 能够获得的超出平均的利润是在ma5的均值11.55买入,然后在最高点13.08卖出,可以获利1.53,获利比例13.25%。
  13. 如果无法在最高点13.08卖出,当股价大于ma5最大值12.43处卖出,可以获利0.88(12.43-11.55),获利比例7.62%;在股价大于ma10最大值12.05卖出可以获利0.5(12.05-11.55),获利比例4.33%;在在股价大于ma20最大值11.68卖出可以获利0.13(11.68-11.55),获利比例1.13%

分析2

  1. 该股票日成交量均值67000手,最低成交量18112手,最高成交量141809手;
  2. 该股票5日成交均量平均值63678手,最小值25864手,最大值121715手;
  3. 该股票10日成交均量平均值58927手,最小值38070手,最大值91672手;
  4. 该股票20日成交均量平均值75589手,最小值50735手,最大值109282手;

结论

  1. 以股票某一个均值的平均值买入,并且在大于ma5时卖出,这样可以获得不菲的利润(见分析1第13条),以本股票为例,可以获得7.62%利润。以稍长的均值(MA10/MA20)作为股票的买入条件,然后以短期均值(MA5)作为股票的卖出条件。
  2. 以MA10/MA20作为买入股票条件,并且长期持有,不仅能够减低成本,一般能够获利,但是获利比例与时间长短有段。
  3. 该股票v_ma5平均值、v_ma10平均值小于日成交量均值,v_ma20平均值大于日成交量均值,短期来看,看好该股票的人较少,但是从长期来看,看好该股票的人较多。

补充

stockdata.sort_index(ascending = False)
图像 4.jpg
from datetime import datetime
from dateutil.parser import parse
date = stockdata['date']
date = pd.to_datetime(date)
high = stockdata['high'].values
low = stockdata['low'].values
open = stockdata['    open'].values
close = stockdata['close'].values
ma5 = stockdata['ma5'].values
ma10 = stockdata['ma10'].values
ma20 = stockdata['ma20'].values
plt.figure(figsize = (15,5))
plt.plot(date,high,label='high')
plt.plot(date,low,label = 'low')
plt.plot(date,open,label = 'open')
plt.plot(date,close,label = 'close')
plt.plot(date,ma5,label = 'ma5')
plt.plot(date,ma10,label = 'ma10')
plt.plot(date,ma20,label = 'ma20')
plt.title('stockdata')
plt.legend(loc='upper left')
plt.xlabel('date')
plt.ylabel('values')
plt.grid(True)
plt.show()
output_9_0.png

分析3

  1. 从上图可知,在1.21日,最低价与ma5/ma10/ma20相交,此时分别用当日的ma5、ma10、ma20价格11.28、11.22、11.23买入股票并持有到最后,分别可以获利0.78、0.84、0.83。
  2. 从上图可知,仍然在1.21日买入,但是在收盘价与ma5相交时(1.27)卖出,可以获利1.03(12.31-11.28),获利比例9.13%。

结论

  1. 在最低价与多条均线相交时买入,在收盘价与ma5相交时卖出,可以获利不菲。
  2. 在最低价与多条均线相交时买入并一直持有,可以获利。
volume = stockdata['volume'].values
v_ma5 = stockdata['v_ma5'].values
v_ma10 = stockdata['v_ma10'].values
v_ma20 = stockdata['v_ma20'].values
plt.figure(figsize = (15,5))
plt.plot(date,volume,label='volumn')
plt.plot(date,v_ma5,label='v_ma5')
plt.plot(date,v_ma10,label='v_ma10')
plt.plot(date,v_ma20,label='v_ma20')
plt.title('volumn')
plt.legend(loc='upper left')
plt.xlabel('date')
plt.ylabel('values')
plt.grid(True)
plt.show()
output_11_0.png

分析4

  1. 1.21日,日成交量大于v_ma5、v_ma10、v_ma20。再次验证了分析3 在1.21日购入股票的结论。
  2. 1.26日,成交量小于v_ma5,此时可以考虑卖出股票,能够获得利润1.29(12.57-11.28),获利比例11.44%

结论

  1. 在日成交量大于v_ma5、v_ma10、v_ma2时买入,并在日成交量小于v_ma5时卖出,可以获利不菲

总结:

  1. 以股价与ma5,ma10,ma20相交时买入股票并且一直持有,以时间换取收益,最终可以获得收益。
  2. 以股价与ma5,ma10,ma20相交时买入股票并且在收盘价与ma5再次相交时卖出,可以获利不菲。
  3. 以日成交量大于v_ma5、v_ma10、v_ma2时买入,并在日成交量小于v_ma5时卖出,可以获利不菲。
  4. 结合第二条和第三条,选取一个适当的值,最终可以获利不菲。

** 画图代码参考万能滴小笼包**

上一篇 下一篇

猜你喜欢

热点阅读