首页 > 编程知识 正文

Python获取持仓数据

时间:2023-11-20 12:46:56 阅读:290007 作者:TJBD

本文将从多个方面详细讲解Python如何获取持仓数据。

一、tushare获取A股股票持仓数据

使用Python获取A股股票持仓数据,可以考虑使用tushare这个开源的Python量化交易库。

tushare提供了get_top_holdings()函数,可以获取某一只股票的前十大股东。

示例代码如下:

import tushare as ts

# 获取上证指数成分股
stock_list = ts.get_sz50s()
# 获取前十大股东持仓比例
for stock_code in stock_list['code']:
    df_holdings = ts.get_top_holdings(stock_code)
    print(df_holdings)

二、baostock获取A股股票持仓数据

除了tushare之外,还可以考虑使用baostock这个免费的开源量化交易平台。

baostock提供了bs.query_stock_holder_trade_detail()函数,可以获取某一只股票的股东、持股数量、持股比例等信息。

示例代码如下:

import baostock as bs

# 登录baostock
lg = bs.login()
# 获取上证指数成分股代码
rs = bs.query_sz50_stocks()
sz50_stocks = rs.get_data()
# 获取前十大股东持仓数据
for code in sz50_stocks['code']:
    rs = bs.query_stock_holder_trade_detail(code=code, start_date='2021-01-01', end_date='2021-03-31')
    data_list = []
    while (rs.error_code == '0') & rs.next():
        data_list.append(rs.get_row_data())
    result = pd.DataFrame(data_list, columns=rs.fields)
    print(result)
# 登出baostock
bs.logout()

三、新浪财经获取深市股票持仓数据

除了以上两种方式之外,还可以使用新浪财经的接口获取深市股票的持仓数据。

可以通过调用http://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CirculateStockHolder/stockid/600000/holdertype/1.phtml 这个链接,来获取股票持仓数据。

示例代码如下:

import requests
import re

url = 'http://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CirculateStockHolder/stockid/600000/holdertype/1.phtml'
r = requests.get(url)
r.encoding = r.apparent_encoding
html = r.text
# 使用正则表达式获取股东信息
p_re = re.compile(r'(.*?)')
result = p_re.findall(html)
print(result)

四、总结

通过以上三种方式,我们可以非常方便地使用Python获取A股股票的持仓数据。在实际的股票投资过程中,了解股票的持仓情况可以帮助我们更好地了解市场,做出更为明智的投资决策。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。