背景
今天是2022年#高考#的第一天,无数学子踏入考场,为自己美好的明天做最后的冲刺,真心祝福他们能够在如花似玉的年纪迈入自己心仪的学府继续深造,实现人生的跨越。
但遗憾的是,可能很多陪考家长是我所买股票的大户,由于他们无心恋战,导致鄙人血亏。。。
于是乎,心血来潮,就想看看近十年高考期间,我大A的表现如何,希望能够为以后的股票交易提供数据支持。
废话不多说,就用咱们之前介绍过的pandas操练起来,有需要的朋友可查看前情提要,熟悉熟悉基本操作。
Python数据分析之Pandas第一练:十分钟学会创建、查看和选择数据
Python数据分析之Pandas第二练:十分钟掌握DataFrame运算
数据获取
本文所需的上证指数基础数据源于券商交易客户端的数据下载,如下图所示。
另外有一份历年高考日期的时间表,简便起见,统一指定为6月7日和8日两天。最终获取到的数据文件如下图所示。
数据处理
本部分包括库包加载、数据导入、数据处理等步骤,源码如下:
import pandas as pd
# 导入上证指数数据
szzs = pd.read_csv('SH#999999.csv', sep=';', index_col='日期')
# 查看数据描述
szzs.info()
# 查看样例数据
szzs.head()
# 导入高考日期数据
gaokaoinfo = pd.read_excel('gaokaodate.xlsx', index_col='日期')
gaokaoinfo
# 关联得到高考日期的上证指数数据
gaokaoindex = pd.merge(gaokaoinfo, szzs, on='日期')
gaokaoindex
gaokaoindex['涨幅'] = round(gaokaoindex['收盘'] / gaokaoindex['开盘'] - 1, 4) * 100
gaokaoindex
gaokaoindex_unique = gaokaoindex.groupby('日期').first()
gaokaoindex_unique
gaokaozhangfu = pd.DataFrame(gaokaoindex_unique['涨幅'], index=gaokaoindex_unique.index)
gaokaozhangfu
统计结论
得到上述结果数据后,最后就是统计下高考交易日的上涨比率。
risingratio = round(len(gaokaozhangfu[gaokaozhangfu['涨幅'] > 0]) / len(gaokaozhangfu), 4)
print('近十年高考交易日上证指数上涨比率为:%.2f%%。' % (risingratio * 100))
最终的统计结果显示,只有不到3成的比率是上涨的,所以高考交易日期间还是要慎重操作~~~
一起练习吧
好了,我的交易血泪史就写到这儿了,快用你自己的例子操练pandas吧~~~#如何成为数据科学家#