跳转至

股东数据

A 股上市公司股东数据获取指南。

前十大股东

import finvista as fv

# 获取最新前十大股东
df = fv.get_cn_top_shareholders("000001")

# 获取指定报告期
df = fv.get_cn_top_shareholders("000001", period="2023-12-31")

返回字段

字段 说明
rank 排名
holder_name 股东名称
hold_amount 持股数量(股)
hold_ratio 持股比例 (%)
holder_type 股东类型
change 变动数量
report_date 报告期

股权质押

df = fv.get_cn_stock_pledge("000001")

返回字段

字段 说明
pledge_date 质押日期
pledger 质押方
pledgee 质权人
pledge_amount 质押数量
pledge_ratio 质押比例
status 状态(质押中/解除)

限售解禁

# 获取一段时间内的解禁计划
df = fv.get_cn_stock_unlock_schedule("2024-01-01", "2024-01-31")

返回字段

字段 说明
unlock_date 解禁日期
symbol 股票代码
name 股票名称
unlock_amount 解禁数量
unlock_ratio 解禁比例 (%)
unlock_value 解禁市值

使用示例

分析股东变化

df = fv.get_cn_top_shareholders("000001")

# 计算前十大股东合计持股
total_ratio = df['hold_ratio'].sum()
print(f"前十大股东合计持股: {total_ratio:.2f}%")

# 找出增持股东
increase = df[df['change'] > 0]
print("增持股东:")
print(increase[['holder_name', 'change']])

筛选高质押风险股

# 获取股权质押
df = fv.get_cn_stock_pledge("000001")

# 计算质押比例
total_pledge = df[df['status'] == '质押中']['pledge_ratio'].sum()
print(f"当前质押比例: {total_pledge:.2f}%")

# 高风险标准:质押比例 > 50%
if total_pledge > 50:
    print("警告: 质押比例较高!")

解禁日历

import pandas as pd

# 获取本月解禁
df = fv.get_cn_stock_unlock_schedule("2024-01-01", "2024-01-31")

# 按解禁市值排序
df_sorted = df.sort_values('unlock_value', ascending=False)
print("本月解禁市值前 10:")
print(df_sorted.head(10)[['symbol', 'name', 'unlock_date', 'unlock_value']])

# 按日期汇总
daily_unlock = df.groupby('unlock_date')['unlock_value'].sum()
print("\\n每日解禁市值:")
print(daily_unlock)

机构持股分析

df = fv.get_cn_top_shareholders("000001")

# 筛选机构投资者
institutions = df[df['holder_type'].isin(['基金', '社保', 'QFII', '保险'])]
inst_ratio = institutions['hold_ratio'].sum()
print(f"机构持股比例: {inst_ratio:.2f}%")

股东集中度

df = fv.get_cn_top_shareholders("000001")

# 计算 CR5(前 5 大股东集中度)
cr5 = df.head(5)['hold_ratio'].sum()
print(f"CR5: {cr5:.2f}%")

# 计算 CR10
cr10 = df['hold_ratio'].sum()
print(f"CR10: {cr10:.2f}%")

# 第一大股东占比
first_holder_ratio = df.iloc[0]['hold_ratio']
print(f"第一大股东: {first_holder_ratio:.2f}%")

批量筛选解禁

# 获取下个月大额解禁股票
df = fv.get_cn_stock_unlock_schedule("2024-02-01", "2024-02-29")

# 筛选解禁比例 > 5% 的股票
large_unlock = df[df['unlock_ratio'] > 5]
print(f"大额解禁股票数: {len(large_unlock)}")
print(large_unlock[['symbol', 'name', 'unlock_date', 'unlock_ratio']])

数据说明

股东类型

类型 说明
个人 自然人股东
国有 国有法人/国资委
基金 公募基金
社保 社保基金
QFII 合格境外机构投资者
保险 保险资金
券商 证券公司

投资提示

  • 关注大股东减持公告
  • 高质押股票在市场下跌时风险较大
  • 解禁前后股价可能有波动