通常行业指数指的是全市场内相同行业的全部股票按照一定的权重进行加权和,并且以某一个交易日为基准计算出来的数值。这个数值反映了整个行业的走向和趋势,能反映行业的周期性和整体趋势,对于分析行业以及行业内的个股都有很重要的参考意义。。例如sh.000037上证医药和sz.399383国证1000工业
之所以要研究行业指数,是因为研究行业指数最主要的目的是增加投资机会。有时候单看沪深300、上证50可能估值较高或普普通通,但实际上其中某些行业处于低估水平,投资这些低估行业也可能获利,给我们提供了更多的投资机会。
可以通过BaoStock获取历史的指数数据,包括价格和成交量信息,以此来分析行业的整体表现。获取指数数据的方式和获取个股的数据方式一样,使用同一个函数接口。
import baostock as bs
import pandas as pd
#### 登陆系统####
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond error_msg:'+lg.error_msg)
#### 获取指数(综合指数、规模指数、一级行业指数、二级行业指数、策略指数、成长指数、价值指数、主题指数)K线数据 ####
##一级行业指数,例如:sh.000037 上证医药,sz.399433 国证交运 等;
##二级行业指数,例如:sh.000952 300地产,sz.399951 300银行 等;
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data("sh.600000",
"date,code,open,high,low,close,preclose,volume,amount,pctChg",
start_date='2017-01-01', end_date='2017-06-30',
frequency="d", adjustflag="3")
print('query_history_k_data responderror_code:'+rs.error_code)
print('query_history_k_data respond error_msg:'+rs.error_msg)
#### 打印结果集 ####
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("D:\\history_Index_k_data.csv",index=False)
print(result)
#### 登出系统####
bs.logout()