在量化投资研究中,获取准确完整的股票代码与名称映射表是数据清洗的第一步,也是构建可靠研究基础的关键环节。许多初学者会手动整理这份基础数据,既耗时又容易出错。
本文将介绍如何利用免费的Baostock 数据接口,快速获取并构建股票代码与名称的映射表,让数据清洗工作变得高效而专业。
在量化分析中,几乎所有的数据获取、数据清洗和数据分析环节都需要准确的股票标识。股票代码与名称映射表相当于量化研究的"字典",它的重要性体现在:
- 数据关联基础:不同数据源可能使用不同的股票标识,映射表帮助我们在多个数据源间准确匹配数据。
- 自动化必备:在批量获取数据、结果展示和报告生成时,需要将代码转换为易于理解的股票名称。
- 数据校验依据:通过比对代码与名称的一致性,可以发现数据源中的异常情况。
以下是使用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)
# 获取证券基本资料
rs = bs.query_stock_basic(code="sh.600000")
# rs = bs.query_stock_basic(code_name="浦发银行")
print('query_stock_basic respond error_code:'+rs.error_code)
print('query_stock_basic 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:/stock_basic.csv", encoding="gbk", index=False)
print(result)
# 登出系统
bs.logout()

