假设5个行业板块,统计2010年至2021年,每年行业涨幅前3名的板块
# 获取5个指数收盘价数据
names = ['半导体及元件', '电力', '传媒', '中药', '银行']
def get_pct(lists):
pct = pd.DataFrame()
for name in lists:
# 从接口获取数据
tmp = ak.stock_board_industry_index_ths(symbol=name).set_index('日期').loc[:, ['收盘价']]
tmp.index = pd.to_datetime(tmp.index) # 将日期数据格式改datetime类型,一遍resample处理
tmp = tmp.loc['2010-01-01':'2021-09-08', :]
tmp['收盘价'] = tmp['收盘价'].astype(float) # 将收盘价格式设置为浮点型,以便计算
tmp = tmp.resample('Y').agg(['first', 'last']) # 对数据进行重新采样
# 每年最后一个交易日的收盘价和每年第一个交易日的收盘价进行计算年涨幅
tmp[name] = ((tmp['收盘价']['last'] - tmp['收盘价']['first']) / tmp['收盘价']['first'] * 100).round(2)
pct = pct.join(tmp[name