目录

概述

前提准备

编码



概述

有些板块的涨跌可能会有周期性,比如某个时间段某个板块大概率会上涨,为了研究这个内容,我们需要去查询某段时间间隔的板块平均涨跌幅,这里我单独计算涨幅和跌幅。

但是这个数据不能通过行情软件查询,所以可以使用tushare提供的数据接口进行处理。

备注:因为权限问题,所以调用这个封装接口后,调用需要花费的时间很多,需要暂停一分钟调用五个板块的数据。

同时笔者并不擅长使用python,所以代码会写得很简单,同时有详细的注解,方便大家参考,感谢支持。

前提准备

需要去https://waditu.com/注册账号,申请专用的appkey,才能进行调用哦,

这里主要调用了两个接口

同花顺板块指数:用来获取板块指数代码

同花顺板块指数行情:通过上面的指数代码获取板块数据。

编码

首先导入模块

import tushare as ts #导入模块
from flask import Flask,render_template,request #导入模块
import time
import jsonts.set_token('你的key')
pro = ts.pro_api()

然后这里调用同花顺板块指数接口,获取板块代码和名称封装到字典中

#板块列表
block_list = pro.ths_index()#概念板块列表
block_list_code={} #key:代码 val:板块名称
#最终数据
list_obj = []#获取行
for i in range(0,len(block_list)):if block_list.loc[i,'exchange']=='A':#查询A股block_list_code[block_list.loc[i,'ts_code']]=block_list.loc[i,'name']dic_keys = list(block_list_code.keys()) #板块代码
dic_vals = list(block_list_code.values()) #板块名称

然后用上面的数据获取数据,同时处理计算平均涨跌幅

#权限限制,每分钟查询五个板块的涨跌信息
for i in range(0,len(block_list_code)):up_sum = 0 #单个板块的总涨幅down_sum = 0 #单个板块的总跌幅up_ave = 0 #单个板块的平均涨幅down_ave = 0 #单个板块的平均跌幅count = 0 #涨的个数#查询板块行情df_daily = pro.ths_daily(ts_code=dic_keys[i], start_date=start_date, end_date=end_date, fields='ts_code,trade_date,open,close,high,low,pct_change')#求平均涨幅和跌幅for x in range(0,len(df_daily)):#判断有涨跌幅,不然会出错,None和Int不能运算if df_daily.loc[x,'pct_change'] != None:if df_daily.loc[x,'pct_change']>0:#上涨up_sum += df_daily.loc[x,'pct_change'] #累加涨幅count += 1else:down_sum += df_daily.loc[x,'pct_change']#累加跌幅#求平均涨幅if count==0:up_ave=0else:up_ave = round(up_sum/count,4) #求平均跌幅if (len(df_daily)-count)==0:down_ave=0else:down_ave = round(down_sum/(len(df_daily)-count),4) #为了省事用字典代替对象保存我们需要的数据obj_dic = {'name':dic_vals[i],'code':dic_keys[i],'up_ave':str(up_ave)+"%",'down_ave':str(down_ave)+"%"}list_obj.append(obj_dic)#取模暂停if (i+1)%5 == 0:time.sleep(62) #暂停62秒
#根据涨幅排序
list_obj2 = sorted(list_obj,key = lambda e:e.__getitem__('up_ave'),reverse=True)

最后我是封装到了flask中,然后可以查询一下2019-2-11到2019-2-28日,也就是2019年春节过后哪些板块涨得比较好。

@app.route("/get_plate_ave",methods = ["GET"])
def get_plate_ave():start_date = request.args.get("start_date")end_date = request.args.get("end_date")#板块列表block_list = pro.ths_index()#概念板块列表block_list_code={} #key:代码 val:板块名称#最终数据list_obj = []#获取行for i in range(0,len(block_list)):if block_list.loc[i,'exchange']=='A':#查询A股block_list_code[block_list.loc[i,'ts_code']]=block_list.loc[i,'name']dic_keys = list(block_list_code.keys()) #板块代码dic_vals = list(block_list_code.values()) #板块名称#权限限制,每分钟查询五个板块的涨跌信息for i in range(0,len(block_list_code)):up_sum = 0 #单个板块的总涨幅down_sum = 0 #单个板块的总跌幅up_ave = 0 #单个板块的平均涨幅down_ave = 0 #单个板块的平均跌幅count = 0 #涨的个数#查询板块行情df_daily = pro.ths_daily(ts_code=dic_keys[i], start_date=start_date, end_date=end_date, fields='ts_code,trade_date,open,close,high,low,pct_change')#求平均涨幅和跌幅for x in range(0,len(df_daily)):#判断有涨跌幅,不然会出错,None和Int不能运算if df_daily.loc[x,'pct_change'] != None:if df_daily.loc[x,'pct_change']>0:#上涨up_sum += df_daily.loc[x,'pct_change'] #累加涨幅count += 1else:down_sum += df_daily.loc[x,'pct_change']#累加跌幅#求平均涨幅if count==0:up_ave=0else:up_ave = round(up_sum/count,4) #求平均跌幅if (len(df_daily)-count)==0:down_ave=0else:down_ave = round(down_sum/(len(df_daily)-count),4) #为了省事用字典代替对象保存我们需要的数据obj_dic = {'name':dic_vals[i],'code':dic_keys[i],'up_ave':str(up_ave)+"%",'down_ave':str(down_ave)+"%"}list_obj.append(obj_dic)#取模暂停if (i+1)%5 == 0:time.sleep(62) #暂停62秒#根据涨幅排序list_obj2 = sorted(list_obj,key = lambda e:e.__getitem__('up_ave'),reverse=True)return json.dumps(list_obj2,ensure_ascii=False)

使用tushare获取股票数据并计算历史概念板块的平均涨跌幅相关推荐

  1. python tushare获取股票数据_Python 金融: TuShare API 获取股票数据 (1)

    多多教Python 金融 是我为金融同行,自由职业投资人 做的一个专栏.这里包含了我自己作为量化交易员,在做研究时所用到的Python技巧和实用案例.这个栏目专业性会比较强:本人29岁,量化工作5年的 ...

  2. 树莓派上安装tushare获取股票数据

    建立虚拟环境 通过命令 python3 -m venv tushare 安装一个虚拟环境,然后通过命令 source bin/activate 来切换到tushare虚拟环境 首先安装lxml 因为t ...

  3. Python量化入门系列:获取数据-Tushare获取股票数据(1)

    做量化用到的数据一般包括二级市场各种数据.宏观经济各种数据以及一些特殊需求的网页数据,需要有通过python获取数据.常见的获取数据方式有三种: 一是通过SQL语言从数据库获取数据,适用于二级市场和宏 ...

  4. python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  5. python tushare获取股票数据并可视化_使用Python获取股票数据Tushare

    最近不是在炒股吗,挣点儿零花钱,权当学习金融知识了,前几天了解到转债,T+0,这个东西有点儿刺激啊,哈哈,就是老去看手机,实在有点儿耽误事儿,就想着,用python把股票价格拉下来,如果有上下的变动, ...

  6. R语言 | 利用tushare获取股票数据实例

    作者的tushare ID:456548 自学深度学习模型,因为本人热爱在支付宝上买基金,于是突发奇想,用深度学习预测涨跌. 首要要获取基金的数据,但是基金数据不好获取,就获取对应的行业指数数据用于分 ...

  7. python tushare获取股票数据并可视化_Python股票数据获取及其可视化——基于tushare库...

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  8. 利用tushare获取股票数据

    编写函数,实现从tushare获取任一股票的周收盘价,以及对相应股票收益率的修正.将任一股票2016-01-01至2018-03-31期间,周收益率低于-4%的股票修正为1%,并将原股票收盘价格以及修 ...

  9. python tushare获取股票数据_python调用tushare获取沪股通、深股通成份股数据

    接口:hs_const 描述:获取沪股通.深股通成分数据 注:tushare库下载和初始化教程,请查阅我之前的文章 输入参数 名称      |      类型      |      必选      ...

最新文章

  1. ​吐血整理:手拿几个大厂offer的秘密武器!
  2. Edit Control读取与写入踩坑实例与使用方法
  3. 编写OD插件将IDA中分析出来的函数名导入到OD中
  4. python常用模块大全总结-python常用模块整理
  5. 4.1.9 文件系统的层次结构
  6. 数据结构 非线性结构 树 介绍及存储方法
  7. java 微信自定义菜单开发_微信公众号开发之设置自定义菜单实例代码【java版】...
  8. 计算机专业英语在线测试9,《计算机专业英语》第9章在线测试【DOC精选】.doc
  9. 【Elasticsearch】Elasticsearch如何实现 SQL语句中 Group By 和 Limit 的功能
  10. Solidworks二次开发环境搭建(Net)
  11. 对计算机科学的总体认识,浅谈对计算机科学与技术的认识
  12. Tensorflow-gpu运行时报错Non-OK-status: GpuLaunchKernel
  13. Mac火爆游戏---英雄联盟LOL
  14. 大学计算机基础教程第11章计算机网络与应用总结
  15. 英语听力下载《走遍美国》
  16. 利用Crimestat(犯罪统计)软件进行空间分析
  17. ajax前端分页实现
  18. 计算机专业发展基金申报书,计算机科学与技术学院大学生科技创新基金项目申报书.doc...
  19. 【零基础】极星9.3下单详解
  20. 硬件设备PS/2指的是什么?都有什么用途?

热门文章

  1. 淘宝商品比价定向爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授
  2. EDEM-fluent耦合时出现的问题及摸索出的解决办法及DPM颗粒信息导出
  3. phpstudy本地配置教程You don't have permission to access解决
  4. 使用Flexible实现手淘H5页面的终端适配
  5. google 趣事面试题
  6. 举个栗子!Tableau 技巧(90):让你的图表背景变透明
  7. 语音识别—实现百度语音识别
  8. iOS开发除了XCode还需要掌握的8个重要工具,让您开发更容易
  9. Python 机器学习实战 —— 监督学习(上)
  10. arcgis api 动态显示鼠标位置经纬度