兰叶春葳蕤,桂华秋皎洁。
1 前言
在前文中,作者已经分析了股票、基金的相关分析和计算,在本文中将继续分享A股市场成交量的计算,数据导出以及数据展示,主要是为了分享 pandas
数据处理的方法和思路,在本文中将涉及到 pandas
的数据合并以及 pandas
的数据导出。
2 数据准备
在之前的文章matplotlib 绘制上证指数图形 中,已经介绍了获取上证指数数据的方法,在本文中将使用同样的方法获取k线数据(数据来源为 eastmoney
)。目前A股市场的总成交额包括上证指数和深证指数,因此需要综合计算两大指数的数据,即可获取最终的结果。上证指数代码 000001
和深证指数代码 399106
。获取指数数据的代码如下所示: 通过方法会得到截止到当天的交易数据,可以通过 print 函数来输出指数的交易历史数据,包括交易日期,指数点位,成交金额,成交量以及换手率等信息。
3 数据计算
在准备好交易历史数据后,就可以进行数据的合并计算。A 股市场的成交金额是两大市场的总和,在 pandas
中,我们需要先将数据进行提取并进行重命名,我们需要计算两个指数的交易总额,首先需要使用 pandas merge
方法进行数据合并,数据合并使用日期进行关联,这个类似于 sql 语法的关联查询。同时需要将交易金额进行格式化处理,毕竟都是跟着好几位零的数据。
在 pandas
中,进行数据的计算十分简单,类似于四则运算即可生成一个新的数据列,两市的换手率计算比较复杂,需要根据成交总额除以两市总市值即可。接下来需要对日期进行格式化处理,提取出日期和年份数据,以方便图形化展示。
由于历史数据是从20年开始抓取的,在图形展示时会形成较多的数据线,这里只需要展示22年以来的数据即可,在进行数据截取时,需要将 pandas 的 index 进行重置,否则截取的数据还是保留原来的索引,在后续计算中会导致计算错误。即使采用了近两年的数据,也会导致数据图形的 x 坐标密集化展示,因此需要使用 xticks 对坐标进行处理,该项处理在图形化展示中至关重要。
4 数据导出
在上节中已经进行了数据的图形化处理,在本节中将把之前的数据进行导出,以便进行查看和接下来的处理。这里的数据导出采用两种方式,一种是简单的,一种是可以定制化的,以便设置单元格样式。
导出的结果如下所示:
3 总结
综上,本文使用了 pandas 进行数据计算和导出,主要介绍了数据计算的思路和方式,以及数据分析的一些技巧。相关代码已经上传至 github, 欢迎大家 star, 项目地址 fund_python。