闲来无事,做一张A股三大指数10年涨跌对比图。首先爬取数据:

工具:
baostock
pandas

用baostock可以轻松的获取股票交易数据,这里我主要爬取过去十年A股三大指数的K线数据。

基本思路:

  1. 登录系统
  2. 利用内置函数获取历史k线数据
  3. 打印结果
  4. 输出结果到csv文件,方便后续处理
  5. 登出系统

代码如下:

import baostock as bs
import pandas as pddef get_stockdata(stock_code, stock_name, start_time):# 登陆系统lg = bs.login()# 获取沪深A股历史K线数据rs = bs.query_history_k_data_plus(stock_code, "date,open,high,low,close,preclose,pctChg",start_date=start_time,frequency="d", adjustflag="2")# adjustflag 默认前复权(1),后复权(2),不复权(3)# 打印结果集data_list = []while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)# 结果集输出到csv文件result.to_csv("/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/" + stock_code + stock_name + ".csv", index=False)print(result)# 登出系统bs.logout()if __name__ == '__main__':get_stockdata(stock_code='sz.399006', stock_name='创业板指', start_time='2010-11-11')get_stockdata(stock_code='sh.000001', stock_name='上证综指', start_time='2010-11-11')get_stockdata(stock_code='sz.399001', stock_name='深圳成指', start_time='2010-11-11')

数据展示:

下面,处理数据获得每日相对于2010年11月10日的累计涨跌数据:
累计涨跌 = (当日指数-2010.11.10指数)/ 2010.11.10指数

思路:

  1. 读取之前获得的K线数据
  2. 获得2010.11.10日收盘指数以及每日收盘指数
  3. 遍历每日指数,计算得到累计涨跌,获得每日累计涨跌幅数据
  4. 将三大指数的累计涨跌数据统计到一个csv文件中

代码如下:

def get_data(stock_code, stock_name):# 加载数据filename = '/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/' + stock_code + stock_name + '.csv'# 读取csv文件,转换为dataframe格式data = pd.read_csv(filename)# 创建列表,存放每日收盘价,相对于第一天的涨跌幅pct_to_firsts = []# 读取每日收盘价close = data.iloc[0:, 3]# 读取基准日收盘价,我们以2010年11月11日开始,所以该收盘价为2010.11.10日的收盘价first_price = data.iloc[0, 4]# 遍历每日收盘价, 计算相对于第一天的涨跌幅,并将其存放在pct_to_firsts列表中for price in close:pct_to_first = round(((price-first_price)*100 / first_price), 2)pct_to_firsts.append(pct_to_first)# 将涨跌幅这一列数据加到data中data['pct_to_first'] = pct_to_firsts# 重新保存为csv文件,方便后续分析data.to_csv("/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/" + stock_code + stock_name + "2" + ".csv", index=False)def data_process(stock1, stock2, stock3):# 加载数据filename1 = '/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/' + stock1 + '.csv'filename2 = '/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/' + stock2 + '.csv'filename3 = '/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/' + stock3 + '.csv'# 读取csv文件,转换为dataframe格式data1 = pd.read_csv(filename1)data2 = pd.read_csv(filename2)data3 = pd.read_csv(filename3)# 分别获取三大指数的累计涨跌数据pct_to_first1 = data1.iloc[0:, 7]pct_to_first2 = data2.iloc[0:, 7]pct_to_first3 = data3.iloc[0:, 7]# 将上述数据添加到data1中data1['上证综指'] = pct_to_first1data1['深圳成指'] = pct_to_first2data1['创业板指'] = pct_to_first3# 去掉data1中多余的列data1.drop(['open', 'high', 'low', 'close', 'preclose', 'pctChg', 'pct_to_first'], axis=1, inplace=True)# 保存为csv文件data1.to_csv("/home/cdd/Desktop/Scraping/stocks/stock_analysis_2/stock_data1/" + "三大指数累积涨幅对比" + ".csv", index=False)if __name__ == '__main__':data_process('sh.000001上证综指2', 'sz.399001深圳成指2', 'sz.399006创业板指2')

数据展示:

下一步,数据可视化。

数据可视化(一)A股三大指数10年涨跌幅比较:数据爬取和整理相关推荐

  1. 企业数据可视化大屏的三大优势

    数据可视化屏幕是自主分析系统的解决方案,为企业提供直接表现结果,使业务人员和企业决策者直观面对数据背后的信息.市场上销售的自助分析工具是为企业提供的分析工具. 数据可视化是指通过图表.图形.地图等视觉 ...

  2. 互联网晚报 | 3月3日 星期三 |​ 淘特宣布上线淘特10元店、淘特100;​A股三大指数集体收涨,多只地产股涨停...

    A股三大指数集体收涨,多只地产股涨停 A股三大指数集体收涨,沪指涨0.34%,深成指涨0.73%,创业板指涨1.03%:房地产.CRO.通信.风电板块领涨,阳光城.信达地产.荣安地产等多只地产股涨停, ...

  3. 互联网晚报 | 4月12日 星期二 | ​A股三大指数集体收涨;国产游戏版号时隔8月重启核发;央行开展200亿元7天期逆回购操作...

    ‍ A股三大指数集体收涨 餐饮旅游板块掀涨停潮,中国中免.张家界.凯撒旅业等十余股涨停:白酒.航空领涨,房地产.化肥农药跌幅居前:沪指涨1.46%,深成指涨2.05%,创业板指涨2.5%:北向资金净买 ...

  4. 申宝策略-A股三大指数纷纷高开

    2021年最后一个交易日,A股三大指数纷纷高开,早盘市场表现分化,沪指小幅走高后横盘,创业板指震荡走弱翻绿:午后市场延续震荡态势,交投相对低迷,假期氛围浓厚.沪深两市成交额10602.3亿元,北向资金 ...

  5. 《恒盛策略》早盘A股三大指数涨跌不一 逾17亿元大单涌入文化传媒

    4月13日早盘,A股三大指数涨跌不一,沪指微涨,深证成指和创业板指下跌.到上午11:30,上证指数涨0.05%,报3328.83点:深证成指和创业板指跌幅分别为0.56%和0.19%:沪深两市成交额算 ...

  6. 互联网晚报 | 4月21日 星期四 | A股三大指数集体跌超2%;以岭药业已成功注册多个连花商标;天津市房协召集多家房企开会...

    A股三大指数集体跌超2% A股三大指数集体跌超2%. 以岭药业已成功注册多个连花商标 4月21日消息,据了解,石家庄以岭药业股份有限公司已注册100多个"以岭"商标,涵盖45个国际 ...

  7. 第二波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业

    第二波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业. HTML+CSS+JS数据可视化大屏平台模板实例11-设备监控 HTML+CSS+JS数据可视化 ...

  8. 第一波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业

    HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板.欢迎关注: HTML+CSS+JS数据可视化大屏平台模板实例1 HTML+CSS+JS数据可视化大屏平台模板实例2-视频 ...

  9. 申宝证券-A股三大指数单边下跌

    周五A股三大指数单边下跌,指数跌得不多,但个股绿肥红瘦,多数个股下跌幅度远超指数:仅煤炭板块涨3%.尽管旅游板块涨了1.6%,但极不靠谱,下周会补跌甚至.因为旅游板块在2021年里,持续受疫情影响,预 ...

最新文章

  1. 在Jetson Xavier NX安装中文输入法(googlepinyin中文输入法)
  2. mac 卸载 eclipse_Mac 新手准备工具集合
  3. javapanel根据内部组件_java gui中怎么用jpanel实现组件的绝对定位
  4. Win7,Win8下多实例运行Excel2010
  5. 只卖了2000辆,竟扬言吊打特斯拉!贾跃亭昔日偶像,还在忽悠?
  6. 封装一个类似jquery的ajax方法
  7. Windows使用tensorboard的一点小心得
  8. Intel HM55 AHCI 驱动 安装指南
  9. 完结!视频课程:CMOS模拟集成电路设计
  10. java swing 图片gif_Java swing显示gif
  11. win系统cpu温度获取
  12. 三线制电阻内引线阻值测量
  13. 视觉麦克风:从视频中还原语音
  14. 计算机主机内部主要由哪些硬件构成,计算机硬件由哪几部分组成?各部分的作用是什么?...
  15. 爱普生(EPSON)喷墨打印机清零工具SSC Service Utility V4.3中文版使用说明(转载)
  16. BaoDing University热身赛 2020-1-31 13:50 3 hours
  17. 阿里云服务器搭建私人云盘seafile
  18. 频繁跳槽者收,简历就该这样写!
  19. 从Lintel平台到Sun CoolThreads系统迁移时用的一些工具
  20. HTML基础篇(2)

热门文章

  1. 【java】Eclipse使用
  2. 多用途DF无线数据收发模块
  3. 【企业网盘】公有云和私有云的9大差异 | 燕麦企业云盘(OATOS企业网盘)
  4. 独立钻石C语言Mac,C Code Develo‪p for Mac-C Code Develo‪p Mac版下载 V1.0-PC6苹果网
  5. 存储过程与函数-创建存储过程
  6. The Rust Programming Language - 第13章 Rust语言中的函数式语言功能:迭代器与闭包 - 13.1 可以捕获其环境的匿名函数
  7. 一行一行读取文件的两种方式
  8. delphi ord()
  9. MAC地址,IP地址和ARP协议
  10. 【前沿解读】斯坦福研究员论文-以太坊可逆交易标准ERC20/721R的机制、创新与局限