股东通常就是公司的老板或高管,通过提取相关的股票的股东有助于对股票进行详细分析研究
Tushare金融大数据开放社区(免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资)
先在下面的链接里注册账号一个账号
https://tushare.pro/register?reg=323095
第一步获取股票代码列表
```python
import pandas as pd
import tushare as ts
ts.set_token('79d165xxxx')#设置token,只需设置一次
#ts.set_token括号中的内容需要先注册个人账号,再在个人账号的个人主页下面的接口token,选择显示并复制相关的信息即可
pro = ts.pro_api()
#下面提取股票代码:
all_code = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
#下面把提取到股票代码保存文件
all_code.to_excel('stock-code.xls',encoding="utf_8_sig")
第二步获取个股的股东
```python
下面是获取单个股票的股东:
pro = ts.pro_api()
df = pro.top10_holders(ts_code='600000.SH', start_date='20170101', end_date='20171231')
或者
df = pro.query('top10_holders', ts_code='600000.SH', start_date='20170101', end_date='20171231')
也可以使用以下的代码一次性获取所有股票的10股东:
for i in all_code['ts_code']:
try:
df=pro.daily(ts_code=i,start='20191101',end=time.strftime("%Y/%m/%d"))
df['code']=i
df.to_excel('%s.xls'%(i+'股票'),encoding="utf_8_sig")
except Exception as e:
print(e)
第三步根据需要查看个股的10大股东或合并所有股票的股东
要查看个股的10大股东直接在上面的文件保存目录查看即可
下面为把所有股票的10股东情况合并到一个文件中,这样查看更方便
import os
os.chdir(r'D:\python\01\stock_data') # 改变当前目录
SaveFile_Path=r'D:\python\01\stock_data'
file_list=os.listdir()
print('共发现%s个文件'%len(file_list))
all_data = []
for i in file_list:
all_data.append(pd.read_excel(SaveFile_Path + '\\'+ i,encoding='utf_8_sig'))
#原来保持文件时编码选择encoding='utf_8_sig',现在读取文件时编码也要选择相同的,encoding='utf_8_sig'
all_data = pd.concat(all_data)#合并文件
all_data.to_csv('stock-all02.csv',encoding="utf_8_sig")#文件行数比较大时保存为excel最多只能有100多万行,所以建议保存为csv格式