"""
Python 获取公司前十大股东数据
"""
import time
import datetime
import tushare as ts
#注册获取token
ts.set_token('your token')
pro = ts.pro_api()
def get_data_top10_holders(ts_code='', start_date='', end_date='', retry_count=3, pause=2):
for g in range(retry_count):
try:
df = pro.top10_holders(ts_code=ts_code, start_date=start_date, end_date=end_date)
except Exception as err:
time.sleep(pause)
else:
return df
def date_func(days=0):
try:
time_temp = datetime.datetime.now() - datetime.timedelta(days=days)
dt = time_temp.strftime('%Y%m%d')
return dt
except Exception as err:
print('end_dt is err', err)
if __name__ == '__main__':
# 日期格式为 YYYYMMDD 如 20221209
# 行情终止日期
end_dt = date_func(days=3)
start_dt = date_func(days=365*5)
print('start_dt,end_dt:', start_dt, end_dt)
code = '600837.SH' #以海通证券为例
#获取公司前十大股东数据
df_wm = get_data_top10_holders(ts_code=code, start_date=start_dt, end_date=end_dt, retry_count=3, pause=2)
print('1:', df_wm.head(8))
"""运行结果
start_dt,end_dt: 20171214 20221210
1: ts_code ann_date end_date holder_name hold_amount hold_ratio
0 600837.SH 20221029 20220930 光明食品(集团)有限公司 480275000.0 3.68
1 600837.SH 20221029 20220930 上海百联集团股份有限公司 214471652.0 1.64
2 600837.SH 20221029 20220930 上海电气控股集团有限公司 341875218.0 2.62
3 600837.SH 20221029 20220930 上海国盛(集团)有限公司 862489059.0 6.60
4 600837.SH 20221029 20220930 上海国盛集团资产有限公司 238382008.0 1.82
5 600837.SH 20221029 20220930 上海海烟投资管理有限公司 635084623.0 4.86
6 600837.SH 20221029 20220930 上海久事(集团)有限公司 234813280.0 1.80
7 600837.SH 20221029 20220930 申能(集团)有限公司 322162086.0 2.47
Process finished with exit code 0
""""""
Pgabc 2022000054
更多函数,安装工具包
pip install pgabc
pgabc@sohu.com
www.wmdbsoft.com
"""