【目标】-获取当前已上市公司的基本信息,包括股票代码、公司名称、所属板块等。
最直接的办法就是在万得和同花顺中直接下载。但如果没有相关金融类终端账号,那么可以:
上海证券交易所数据官网:
http://www.sse.com.cn/assortment/stock/list/share/
点击下载按钮,下载批量数据。但是此操作仅为图示展示的六个字段,不含公司全称、板块以及行业。
深圳证券交易所:
http://www.szse.cn/market/stock/indicator/index.html
由于是官方信息,数据准确、及时。
Tushare最传统最有历史的数据服务项目,tushare库免费提供各类数据 , 助力行业和量化研究,这里我们只使用最基础的股票基本信息下载功能。
基本信息下载需要调用tushare api接口,而连接接口需要注册一下tushare会员。
当然,如果想在jupyter自己写,也可以:
# 导入tushare
import tushare as ts
# 初始化pro接口
pro = ts.pro_api('注意:用户在tushare官网-个人主页获取')
# 拉取数据
df = pro.stock_basic(**{
"ts_code": "",
"name": "",
"exchange": "",
"market": "",
"is_hs": "",
"list_status": "",
"limit": "",
"offset": ""
}, fields=[
"ts_code",
"symbol",
"name",
"area",
"industry",
"market",
"list_date"
])
df
得到结果:*注意这里的行业是申万行业,非国标行业,这是因为tushare提供的行业属性是申万行业。
作为金融数据库包,tushare的功能十分强大,这里做一个简单的收益计算:
【背景】
小明同学从2020年1月开始,每月第一个交易日买入一手宇宙茅的股票,并于当月最后一个交易日卖出,周而复始。那么从2020年1月到2022年4月,查看小明同学的收益情况。
PS. tushare的股价数据是前复权数据,这里只是介绍用法,不做具体深究。
# 导包
import pandas as pd
import numpy as np
import tushare as ts
df = ts.get_k_data('600519',start = '2020-01-01')
将文件索引列格式改好。
df.to_csv('600519.csv')
df = pd.read_csv('600519.csv',index_col='date',parse_dates=['date'])[['open','close','high','low']]
计算收益情况,哈哈,小明亏了8万块,股市有风险,入市需谨慎。
# 每月的第一个交易日
start = df.resample('M').first()
# 每月的最后一个交易日
end = df.resample('M').last()
# 当月收益
test = start - end
test.open.sum()*100