上证50 指数是根据科学客观的方法,挑选上海证券市场规模大、流动性好的最具代表性的50 只股票组成样本股,以便综合反映上海证券市场最具市场影响力的一批龙头企业的整体状况。上证50指数自2004 年1 月2 日起正式发布。其目标是建立一个成交活跃、规模较大、主要作为衍生金融工具基础的投资指数。
首先你需要安装BaoStock,参见往期教程:
如何使用Python安装BaoStock?
然后复制以下代码:
import baostock as bsimport pandas as pd# 登陆系统lg = bs.login()# 显示登陆返回信息print('login respond error_code:'+lg.error_code)print('login respond error_msg:'+lg.error_msg)# 获取上证50成分股rs = bs.query_sz50_stocks()print('query_sz50 error_code:'+rs.error_code)print('query_sz50 error_msg:'+rs.error_msg)# 打印结果集sz50_stocks = []while (rs.error_code == '0') & rs.next(): # 获取一条记录,将记录合并在一起 sz50_stocks.append(rs.get_row_data())result = pd.DataFrame(sz50_stocks, columns=rs.fields)# 结果集输出到csv文件result.to_csv("C:\\PY\\sz50_stocks.csv", encoding="gbk", index=False)print(result)# 登出系统bs.logout()
新建一个文件,命名为SH50.py,并将上述代码粘贴到你的文件中。
修改代码中的红色部分为你需要的输出路径:
打开命令提示行,输入python C:\PY\SH50.py:
输入回车运行脚本,得到如下结果,说明拉取是成功,否则请检查程序的安装问题,以及网络:
另外在指定目录中生成了CSV的文件,这个文件很容易被Python,Matlab和各种程序解析:
返回数据说明
参数名称 | 参数描述 |
updateDate | 更新日期 |
code | 证券代码 |
code_name | 证券名称 |