基于PYTHON实现证券数据的抓取,以PYECHARTS实现证券数据实时分析
(2018-12-22 22:49:45)
标签:
pythonpyechartsit |
分类: 数据挖掘-概念/理论/算法 |
by Tony
主要采用Java+Python+MySQL+Redis的方式建设,以满足前期数据量较小的场景下,实时分析预警的要求。使用JAVA搭建核心框架;Python用于数据采集应用、数据分析模型的实现;MySQL用于历史数据、日志等非实时数据存储;Redis用于当日实时行情的存储,如下图:
http://s15/mw690/002F0G9Jzy7qb8i4l8q1e&690
那问题来了,这么庞大的数据要怎么来呢?
证券实时行情数据主要是靠Tushare接口(http://tushare.org/)采集数据。
(Data Frame参数)
(单独的参数,既股票代码)
使用get_k_data这个接口直接提取K线数据,这里我们提取2017年全年的数据:
(即:[开盘值, 收盘值, 最低值, 最高值])
现在我们基本数据都有了,但只有简单一些数据。要做到对股票的分析,很重要的一个处理是日K线、MA5、MA10、MA20、MA30线,这些算法如下:
# 计算MACD指标
def calculateMA(dataFrame=None, dayCount=0):
df = ts.get_k_data(code='000001', start='2017-01-01', end='2017-12-31', index=False, retry_count=3, pause=0.001)
# 公共x轴,日期
xaxis = np.array(df[['date']])
# K线图
k_yaxis = np.array(df[['open', 'close', 'low', 'high']])
kline = Kline(title="K线图", subtitle="000001")
kline.add("日K线", x_axis=xaxis, y_axis=k_yaxis, is_datazoom_show=True)
df_ma5 = calculateMA(df, 5)
ma5_y = np.array(df_ma5['ma'])
line5 = Line()
line5.add("MA5", xaxis, ma5_y,is_datazoom_show=True)
# MACD 10日
df_ma10 = calculateMA(df, 10)
ma10_y = np.array(df_ma10['ma'])
line10 = Line()
line10.add("MA10", xaxis, ma10_y,is_datazoom_show=True)
# MACD 20日
df_ma20 = calculateMA(df, 20)
ma20_y = np.array(df_ma20['ma'])
line20 = Line()
line20.add("MA20", xaxis, ma20_y,is_datazoom_show=True)
# MACD 30日
df_ma30 = calculateMA(df, 30)
ma30_y = np.array(df_ma30['ma'])
line30 = Line()
line30.add("MA30", xaxis, ma30_y,is_datazoom_show=True)
http://s14/mw690/002F0G9Jzy7qb8j3bqZ8d&690
如需沟通讨论,可联系QQ:2622487640,本文版权归智扬信达所有,转载请注明出处