美文网首页
基于Python的指数基金量化投资 ——A股所有个股名称和证券代

基于Python的指数基金量化投资 ——A股所有个股名称和证券代

作者: 小将前行 | 来源:发表于2021-11-21 20:01 被阅读0次

前面介绍过怎么获取A股个股的数据《基于Python的指数基金量化投资 - 股票数据源baostock》,里面包含了个股的各种历史数据,包含:股价、市盈率、市净率、成交量、换手率等等。

但是要获得这些个股的数据有个前提,就是要知道个股的名称和对应的证券代码,例如招商银行上市的名称就叫招商银行,对应的证券代码是sh.600036,如果该个股是上交所的股票(包含科创板),则就类似招商银行的证券代码,在数字前加上sh.的前缀,如果该个股是深交所的股票(包含创业板),则在证券代码前加上sz.的前缀,例如海康威视对应的证券代码是sz.002415。

哪怎么获取这些个股的名称和对应的证券代码,baostock没有直接提供获取上市公司名称列表的接口,但可以通过另外一个接口来获得相应的数据,行业分类:query_stock_industry()。

数据返回的的参数如下,包含了更新日期(updateDate)、证券代码(code)、证券名称(code_name)、所属行业(industry)和所属行业类别(industryClassification)。

其中证券代码(code)和证券名称(code_name)就是我们需要的数据,具体格式如下:

query_stock_industry()返回的是一个.csv文件,数据都包含在该.csv文件中。

源码

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)

# 获取行业分类数据

rs = bs.query_stock_industry()

# rs = bs.query_stock_basic(code_name="浦发银行")

print('query_stock_industry error_code:'+rs.error_code)

print('query_stock_industry respond  error_msg:'+rs.error_msg)

# 打印结果集

industry_list = []

while (rs.error_code == '0') & rs.next():

    # 获取一条记录,将记录合并在一起

    industry_list.append(rs.get_row_data())

result = pd.DataFrame(industry_list, columns=rs.fields)

# 结果集输出到csv文件

result.to_csv("D:/stock_industry.csv", encoding="gbk", index=False)

print(result)

# 登出系统

bs.logout()

如需代码里面用到的指数估值数据或者有疑问,大家可以留言,欢迎交流^_^

课程参考:网易云课堂  基于Python的量化指数基金投资

相关文章

网友评论

      本文标题:基于Python的指数基金量化投资 ——A股所有个股名称和证券代

      本文链接:https://www.haomeiwen.com/subject/jaymtrtx.html