机构参与度及其Python数据获取示例
文章目录
- 机构参与度及其Python数据获取示例
- 一、机构参与度的定义与价值
- 二、使用AKShare获取机构参与度数据
- 三、使用Matplotlib绘制机构参与度趋势图
- 四、关键注意事项
机构参与度及其Python数据获取示例
一、机构参与度的定义与价值
-
基本概念
- 机构参与度:衡量机构投资者(如基金、保险公司)在个股交易中的活跃程度和持仓比例,数值范围0-100%。例如,数值30%表示该股票30%的流通股被机构持有。
- 计算依据:通过主力资金交易数据、持仓变动等综合分析得出,数值越大表明机构控盘可能性越高。
-
核心价值
- 市场风向标:高机构参与度通常反映专业资金看好该股长期价值,可能推动股价上涨。
- 风险提示:熊市中机构集中抛售可能导致股价剧烈波动(如参与度骤降20%以上)。
- 投资决策辅助:结合基本面分析(如市盈率、主力成本)可识别主力动向,减少散户跟风风险。
二、使用AKShare获取机构参与度数据
通过接口 stock_comment_detail_zlkp_jgcyd_em
获取指定股票的历史机构参与度数据,以下以股票代码 603195
(公牛集团)为例:
三、使用Matplotlib绘制机构参与度趋势图
import akshare as ak
import matplotlib.pyplot as plt
import pandas as pd# 获取机构参与度数据(示例股票:603195)
symbol = "603195"
df = ak.stock_comment_detail_zlkp_jgcyd_em(symbol=symbol)# 数据清洗与转换
df["交易日"] = pd.to_datetime(df["交易日"]) # 转换日期格式
df.sort_values("交易日", inplace=True) # 按日期排序
print(df.head()) # 查看前5行数据
交易日 机构参与度
0 2025-05-15 23.67412
1 2025-05-16 19.91556
2 2025-05-19 16.62272
3 2025-05-20 17.78532
4 2025-05-21 18.41088
# 绘制折线图
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示
plt.figure(figsize=(12, 6))
plt.plot(df["交易日"], df["机构参与度"], marker='o', linestyle='-', color='#1f77b4')# 设置图表标题和坐标轴标签
plt.title(f"股票 {symbol} 机构参与度趋势", fontsize=14)
plt.xlabel("日期", fontsize=12)
plt.ylabel("机构参与度 (%)", fontsize=12)
plt.grid(True, linestyle='--', alpha=0.7)# 标记关键点位(如最高/最低值)
max_val = df["机构参与度"].max()
min_val = df["机构参与度"].min()
max_date = df.loc[df["机构参与度"] == max_val, "交易日"].iloc[0]
min_date = df.loc[df["机构参与度"] == min_val, "交易日"].iloc[0]
plt.scatter(max_date, max_val, color='red', s=80, label=f'峰值: {max_val}%')
plt.scatter(min_date, min_val, color='green', s=80, label=f'谷值: {min_val}%')
plt.legend()plt.xticks(rotation=45) # 旋转日期标签
plt.tight_layout()
plt.show()
四、关键注意事项
-
数据时效性
- AKShare数据源来自东方财富网,需关注接口更新(如AKTools部署方案见)。
- 首次计算需至少10个交易日数据。
-
指标局限性
- 非绝对信号:需结合主力成本、市场情绪综合判断(如高参与度+股价破位=风险)。
- 行业差异:金融股30%参与度可能已达高位,科技股40%仍属中等。
-
扩展应用
- 对比多只股票:叠加折线图分析板块资金偏好。
- 结合成交量:验证机构参与度的有效性(如放量突破+参与度升→买入信号)。
提示:完整代码依赖库
akshare>=1.15.73
,pandas
,matplotlib
。若接口报错,可尝试AKTools的HTTP API替代方案。