数据可视化(一)A股三大指数10年涨跌幅比较:数据爬取和整理
闲来无事,做一张A股三大指数10年涨跌对比图。首先爬取数据:
工具:
baostock
pandas
用baostock可以轻松的获取股票交易数据,这里我主要爬取过去十年A股三大指数的K线数据。
基本思路:
- 登录系统
- 利用内置函数获取历史k线数据
- 打印结果
- 输出结果到csv文件,方便后续处理
- 登出系统
代码如下:
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指数
思路:
- 读取之前获得的K线数据
- 获得2010.11.10日收盘指数以及每日收盘指数
- 遍历每日指数,计算得到累计涨跌,获得每日累计涨跌幅数据
- 将三大指数的累计涨跌数据统计到一个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年涨跌幅比较:数据爬取和整理相关推荐
- 企业数据可视化大屏的三大优势
数据可视化屏幕是自主分析系统的解决方案,为企业提供直接表现结果,使业务人员和企业决策者直观面对数据背后的信息.市场上销售的自助分析工具是为企业提供的分析工具. 数据可视化是指通过图表.图形.地图等视觉 ...
- 互联网晚报 | 3月3日 星期三 | 淘特宣布上线淘特10元店、淘特100;A股三大指数集体收涨,多只地产股涨停...
A股三大指数集体收涨,多只地产股涨停 A股三大指数集体收涨,沪指涨0.34%,深成指涨0.73%,创业板指涨1.03%:房地产.CRO.通信.风电板块领涨,阳光城.信达地产.荣安地产等多只地产股涨停, ...
- 互联网晚报 | 4月12日 星期二 | A股三大指数集体收涨;国产游戏版号时隔8月重启核发;央行开展200亿元7天期逆回购操作...
A股三大指数集体收涨 餐饮旅游板块掀涨停潮,中国中免.张家界.凯撒旅业等十余股涨停:白酒.航空领涨,房地产.化肥农药跌幅居前:沪指涨1.46%,深成指涨2.05%,创业板指涨2.5%:北向资金净买 ...
- 申宝策略-A股三大指数纷纷高开
2021年最后一个交易日,A股三大指数纷纷高开,早盘市场表现分化,沪指小幅走高后横盘,创业板指震荡走弱翻绿:午后市场延续震荡态势,交投相对低迷,假期氛围浓厚.沪深两市成交额10602.3亿元,北向资金 ...
- 《恒盛策略》早盘A股三大指数涨跌不一 逾17亿元大单涌入文化传媒
4月13日早盘,A股三大指数涨跌不一,沪指微涨,深证成指和创业板指下跌.到上午11:30,上证指数涨0.05%,报3328.83点:深证成指和创业板指跌幅分别为0.56%和0.19%:沪深两市成交额算 ...
- 互联网晚报 | 4月21日 星期四 | A股三大指数集体跌超2%;以岭药业已成功注册多个连花商标;天津市房协召集多家房企开会...
A股三大指数集体跌超2% A股三大指数集体跌超2%. 以岭药业已成功注册多个连花商标 4月21日消息,据了解,石家庄以岭药业股份有限公司已注册100多个"以岭"商标,涵盖45个国际 ...
- 第二波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业
第二波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业. HTML+CSS+JS数据可视化大屏平台模板实例11-设备监控 HTML+CSS+JS数据可视化 ...
- 第一波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业
HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板.欢迎关注: HTML+CSS+JS数据可视化大屏平台模板实例1 HTML+CSS+JS数据可视化大屏平台模板实例2-视频 ...
- 申宝证券-A股三大指数单边下跌
周五A股三大指数单边下跌,指数跌得不多,但个股绿肥红瘦,多数个股下跌幅度远超指数:仅煤炭板块涨3%.尽管旅游板块涨了1.6%,但极不靠谱,下周会补跌甚至.因为旅游板块在2021年里,持续受疫情影响,预 ...
最新文章
- 在Jetson Xavier NX安装中文输入法(googlepinyin中文输入法)
- mac 卸载 eclipse_Mac 新手准备工具集合
- javapanel根据内部组件_java gui中怎么用jpanel实现组件的绝对定位
- Win7,Win8下多实例运行Excel2010
- 只卖了2000辆,竟扬言吊打特斯拉!贾跃亭昔日偶像,还在忽悠?
- 封装一个类似jquery的ajax方法
- Windows使用tensorboard的一点小心得
- Intel HM55 AHCI 驱动 安装指南
- 完结!视频课程:CMOS模拟集成电路设计
- java swing 图片gif_Java swing显示gif
- win系统cpu温度获取
- 三线制电阻内引线阻值测量
- 视觉麦克风:从视频中还原语音
- 计算机主机内部主要由哪些硬件构成,计算机硬件由哪几部分组成?各部分的作用是什么?...
- 爱普生(EPSON)喷墨打印机清零工具SSC Service Utility V4.3中文版使用说明(转载)
- BaoDing University热身赛 2020-1-31 13:50 3 hours
- 阿里云服务器搭建私人云盘seafile
- 频繁跳槽者收,简历就该这样写!
- 从Lintel平台到Sun CoolThreads系统迁移时用的一些工具
- HTML基础篇(2)
热门文章
- 【java】Eclipse使用
- 多用途DF无线数据收发模块
- 【企业网盘】公有云和私有云的9大差异 | 燕麦企业云盘(OATOS企业网盘)
- 独立钻石C语言Mac,C Code Develop for Mac-C Code Develop Mac版下载 V1.0-PC6苹果网
- 存储过程与函数-创建存储过程
- The Rust Programming Language - 第13章 Rust语言中的函数式语言功能:迭代器与闭包 - 13.1 可以捕获其环境的匿名函数
- 一行一行读取文件的两种方式
- delphi ord()
- MAC地址,IP地址和ARP协议
- 【前沿解读】斯坦福研究员论文-以太坊可逆交易标准ERC20/721R的机制、创新与局限