by Tony

主要采用Java+Python+MySQL+Redis的方式建设,以满足前期数据量较小的场景下,实时分析预警的要求。使用JAVA搭建核心框架;Python用于数据采集应用、数据分析模型的实现;MySQL用于历史数据、日志等非实时数据存储;Redis用于当日实时行情的存储,如下图:

那问题来了,这么庞大的数据要怎么来呢?

证券实时行情数据主要是靠Tushare接口()采集数据。

关于接口:tushare.get_realtime_quotes(symbols=CodeList)

获取数据,CodeList可以是一个Data

Frame也可以是一个单独的字符串。

(Data Frame参数)

(单独的参数,既股票代码)

我们通过持续调用Tushare接口,就能获取实时行情数据,并其获取并存储至MySQL数据库中:

然后就是图表的绘制了,先使用pyechart绘制一个基本的K线图,一个K线图包括了开盘价、收盘价、最高价、最低价4个指标,维度主要是日期。我们先根据这个需要,进行数据提取:

使用get_k_data这个接口直接提取K线数据,这里我们提取2017年全年的数据:

(时间)

(即:[开盘值,

收盘值, 最低值, 最高值])

现在我们基本数据都有了,但只有简单一些数据。要做到对股票的分析,很重要的一个处理是日K线、MA5、MA10、MA20、MA30线,这些算法如下:

#

计算MACD指标

def

calculateMA(dataFrame=None, dayCount=0):

result = pd.DataFrame(columns=['date', 'ma'])

for

i in range(0,len(dataFrame)):

row = {'date': dataFrame['date'].loc[i], 'ma': 0}

if (i < dayCount):

result = result.append(row, ignore_index=True)

continue

sum = 0

for j in range(0, dayCount):

sum += dataFrame['close'].loc[i-j]

ma = sum / dayCount

row['ma'] = ma

result = result.append(row, ignore_index=True)

return result

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_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)

终于,我们得到了我们想要的效果图了:

如需沟通讨论,可联系QQ:2622487640,本文版权归智扬信达所有,转载请注明出处

python可用于数据抓取_基于PYTHON实现证券数据的抓取,以PYECHARTS实现证券数据实时分析...相关推荐

  1. python分布式爬虫开题报告范文_基于Python的豆瓣Top250排行榜影片数据爬取和分析开题报告...

    一.选题依据:(简述研究现状,说明该毕业设计的设计目的及意义) 研究现状 Python是一门很全面的语言,又随着大数据和人工智能的兴起,广受爬虫设计者们的青眯.设计者们运用Python语言的框架-Sc ...

  2. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  3. python爬虫数据分析项目 双十一_基于Python爬取京东双十一商品价格曲线

    一年一度的双十一就快到了,各种砍价.盖楼.挖现金的口令将在未来一个月内充斥朋友圈.微信群中.玩过多次双十一活动的小编表示一顿操作猛如虎,一看结果2毛5.浪费时间不说而且未必得到真正的优惠,双十一电商的 ...

  4. python实现数据可视化软件_基于Python实现交互式数据可视化的工具

    作者:Alark Joshi 翻译:陈雨琳 校对:吴金笛 本文2200字,建议阅读8分钟. 本文将介绍实现数据可视化的软件包. 这学期(2018学年春季学期)我教授了一门关于数据可视化的数据科学硕士课 ...

  5. python数据接口设计_基于python的接口测试框架设计(一)连接数据库

    基于python的接口测试框架设计(一)连接数据库 首先是连接数据库的操作,最好是单独写在一个模块里, 然后便于方便的调用,基于把connection连接放在__init__()方法里 然后分别定义D ...

  6. python实现空气质量提醒程序_基于Python实现空气质量指数可视化

    前面我们已经爬取了全国城市空气质量数据( 基于Python实现城市空气质量爬取 ),基于之前我们爬取的数据,本文将使用Python将空气质量最好的前20个城市以柱状图的形式展示出来,点击对应的柱状图能 ...

  7. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  8. python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现

    计算机软件技术的不断发展,推动了人机交互技术的长足进步.从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI ...

  9. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究

    2019 年第 07 期 20 世 纪 80 年代, 一 些 投 资 者 开 始 利用 计 算 机 研究金 融 数据 , 并 初显 成 效 . 20 世 纪 末 , 投 资 者 把 计 算 机 技术 ...

  10. python画二维数组散点图_基于python二维数组及画图的实例详解

    基于python二维数组及画图的实例详解 下面小编就为大家分享一篇基于python 二维数组及画图的实例详解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 1.二维数组取值 注:不管 ...

最新文章

  1. C# 线程同步之排它锁/Monitor监视器类
  2. 高等专科学校计算机,理工类计算机专业较好的高等专科学校
  3. NLB网路负载均衡管理器详解
  4. 前端学习(1964)vue之电商管理系统电商系统之渲染分类参数的tab页标签
  5. 一些常用的linux命令(2)
  6. sql注入***的各种注入方法
  7. webrtc 渲染_webRTC 中 timing 信息的使用
  8. MySQL从零到一解读增量同步数据到elasticsearch canal adapter方式(binlog)实现
  9. (81)FPGA复位激励(task)
  10. php.js 文件下载,使用JavaScript开始下载文件
  11. oracle jde开发,第一个JDE报表开发
  12. bios 微星click_微星主板CLICK BIOS II BIOS设置软件
  13. plsql developer 64位oracle,手把手教你Plsql developer连接64位Oracle
  14. 冒泡排序图解及代码实现
  15. 《微信公众平台入门到精通》Vol.1
  16. Linux-星星之火
  17. 我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知
  18. 大数据周周看:金融科技公司融360赴美IPO,小蓝单车人去楼空,用户押金退还困难
  19. 利用vim编辑器创建和编辑正文文件
  20. 非常有意思的网页版在线PS

热门文章

  1. MySQL百万级数据大分页查询优化
  2. OpenNI2 和 OpenCV 结合的程序实例
  3. WEB前端 新手开始学习 6.21
  4. 该主机cpu类型不支持虚拟化性能计数器,开启模块VPMC的操作失败,未能启动虚拟机。
  5. Flex写的一个工作流设计器原型
  6. position:absolute水平居中
  7. Amazon EC2和S3的学习笔记
  8. python访问类的方法_python如何调用类方法
  9. 主持暖场、会议、培训、晚会等可用的暖场小游戏
  10. 零伽壹链改研究:Facebook all in 元宇宙,一个全新的时代即将开启