机构调研到底靠不靠谱,我用Python量化告诉你

最近和朋友聊股票,他神秘兮兮地问我:"你觉得机构调研这事儿靠谱吗?他们真的是去挖掘潜力股,还是只是走个过场?"

我一听,来了兴趣。这问题咱不能光凭感觉瞎猜,得拿数据来说话!💡于是,我撸起袖子,打开 VS Code,准备用 Python 做一波深度分析,看看机构调研到底对股价有没有影响。


📊 机构调研对股价走势的影响分析

1. 机构调研到底是个啥?

简单来说,机构调研就是一些券商、基金、私募等大佬们,带着小本本去上市公司拜访,看看这家公司最近经营状况如何,有没有潜力。

问题是,机构调研后,股价是涨还是跌? 这是股民们最关心的事情,对吧?

常见的市场观点:

  • 有人说:"机构去调研,一般是看好才去的,股价大概率上涨!" 📈
  • 也有人说:"机构调研完,股价反而跌了,难道是出货信号?" 🤔

咱们不争论,直接用 Python 看数据!🚀


📥 2. 数据获取:用 AkShare 拿机构调研数据

💾 安装必要的库

首先,我们需要用 AkShare 获取机构调研的统计数据,同时用 Pandas 进行数据处理:

python 复制代码
# 安装依赖(如果没有安装的话)
pip install akshare pandas plotly

📡 获取机构调研数据

AkShare 是一个超强的金融数据接口库,可以直接获取机构调研数据,我们用它来看看最近哪些股票被机构调研了:

python 复制代码
import akshare as ak
import pandas as pd

# 获取最近机构调研数据
df = ak.stock_jgdy_tj_em(date="20200101")
# 把机构调研数据存放到csv文件方便后期分析
df.to_csv("jgdy.csv",index=False) 

# 查看数据结构
print(df.head())

stock_jgdy_tj_em获取机构调研数据比较慢,所以我们把获取的数据放入到csv文件,后面就直接从csv文件读取数据来分析了。

数据示例:

数据和东财官网的展示数据格式是一样的

看到这里,咱们已经成功拿到机构调研数据了!🎯 接下来,咱们看看这些股票在调研后的表现如何?


📈 3. 机构调研后,股价是涨是跌?

💹 获取股票历史数据

我们用 AkShare 获取股票历史行情数据:

python 复制代码
# 获取个股历史行情
stock_code = "000026"  # 以飞亚达行为例
stock_data = ak.stock_zh_a_hist(
    symbol=stock_code, 
    period="daily", 
    start_date="20200101", 
    end_date="20251201" ,
    adjust="qfq")

# 查看数据
print(stock_data.head())

📉 数据可视化

为了方便查看机构调研后股票到底是涨还是跌,我们用 Plotly 画个漂亮的折线图,并在机构调研的日期上标记:

python 复制代码
import akshare as ak
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
import datetime

stock_code = "000333"  # 以飞亚达行为例

# 获取最近机构调研数据
# df = ak.stock_jgdy_tj_em(date="20200101")
# 把机构调研数据存放到csv文件方便后期分析
# df.to_csv("jgdy.csv",index=False) 

# stock_jgdy_tj_em 比较慢,数据获取后存本地csv 然后从csv拿数据
df = pd.read_csv("jgdy.csv")
df = df.sort_values(by="公告日期", ascending=True)  # ascending=True表示升序

# 将股票代码转换成6位字符串
df["代码"] = df["代码"].astype(str).str.zfill(6)
#  把公告日期转换成日期格式方便查找
df["公告日期"] = pd.to_datetime(df["公告日期"])

# 获取机构调用的公告日期
df_find = df[df['代码']==stock_code]
research_dates = df_find['公告日期'].to_list()

start_date = datetime.datetime.strftime(research_dates[0],"%Y%m%d") 

# 获取从机构调研公告日期开始后的股票K线数据
stock_data = ak.stock_zh_a_hist(
    symbol=stock_code, 
    period="daily", 
    start_date=start_date, 
    end_date="20251201" ,
    adjust="qfq")

#  把日期转换成日期格式方便查找
stock_data["日期"] = pd.to_datetime(stock_data["日期"])

# 开始画图
fig = px.line(stock_data, x="日期", y="收盘", title=f"{stock_code} 机构调研后股价走势")

result = stock_data[stock_data['日期'].isin(research_dates)]

highlight_dates =  result['日期'].to_list()
highlight_values = result['收盘'].to_list()
# 添加标记点
fig.add_trace(go.Scatter(x=highlight_dates, y=highlight_values, 
                         mode='markers', name='机构调研公告日期',
                         marker=dict(size=10, color='red', symbol='circle')))
fig.write_html("jgdy.html")

🎨 这样,我们就可以直观地看到,机构调研后股价是涨还是跌!

根据上面的走势图,基本上可以分析出如果股价处于低位,机构调研后大概率是会涨,如果股价处于高位,机构调研并不会让股价上涨。


📺 4. 用 Streamlit 打造可视化 Web 应用

我们还可以用 Streamlit 做个交互式数据分析工具,让大家输入股票代码,看看机构调研后的表现:

先看看最终效果:

复制下面代码然后粘贴到app.py文件中运行streamlit run app.py来运行下面代码

python 复制代码
import streamlit as st
import akshare as ak
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
import datetime
import os

st.set_page_config(page_title="📈 机构调研后股价表现分析", layout="wide")
st.title("📈 机构调研后股价表现分析")
# 用户输入股票代码
stock_code = st.text_input("请输入股票代码(6位):", "000026")

jgdy_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "jgdy.csv")

if os.path.isfile(jgdy_file):
    print(f"机构调研文件存在")
else:
    with st.spinner("机构调研数据下载中,请稍候..."):
        # 获取最近机构调研数据
        df = ak.stock_jgdy_tj_em(date="20200101")
        # 把机构调研数据存放到csv文件方便后期分析
        df.to_csv(jgdy_file,index=False) 
    st.success()
    

# 读取机构调研数据
df = pd.read_csv(jgdy_file)
df = df.sort_values(by="公告日期", ascending=True)
df["代码"] = df["代码"].astype(str).str.zfill(6)
df["公告日期"] = pd.to_datetime(df["公告日期"])

# 过滤用户输入的股票代码数据
df_find = df[df['代码'] == stock_code]

if df_find.empty:
    st.warning("未找到该股票的机构调研数据,请尝试其他股票代码!")
else:
    research_dates = df_find['公告日期'].to_list()
    start_date = datetime.datetime.strftime(research_dates[0], "%Y%m%d")

    # 获取股票K线数据
    stock_data = ak.stock_zh_a_hist(
        symbol=stock_code, 
        period="daily", 
        start_date=start_date, 
        end_date=datetime.datetime.today().strftime("%Y%m%d"),
        adjust="qfq"
    )

    # 转换日期格式
    stock_data["日期"] = pd.to_datetime(stock_data["日期"])

    # 画图
    fig = px.line(stock_data, x="日期", y="收盘", title=f"{stock_code} 机构调研后股价走势")
    
    result = stock_data[stock_data['日期'].isin(research_dates)]
    highlight_dates =  result['日期'].to_list()
    highlight_values = result['收盘'].to_list()
    

    # 添加标记点
    fig.add_trace(go.Scatter(x=highlight_dates, y=highlight_values, 
                             mode='markers', name='机构调研公告日期',
                             marker=dict(size=10, color='red', symbol='circle')))

    st.plotly_chart(fig)

💡 这样,我们就可以在浏览器里,随时分析不同股票的调研影响了! 🎉


结论:机构调研到底靠不靠谱?

经过分析,我们会发现:

  • 有些股票调研后确实涨了,但有些却跌了
  • 机构调研 ≠ 必涨,但往往影响市场情绪,短期内可能有波动
  • 结合成交量、主力资金流向一起看,效果更好!

💡 机构调研数据可以作为参考,但不能作为唯一的投资依据! 🎯

如果觉得这篇文章有用,顺手点赞 + 在看,就是对花姐最大的支持! ❤️

相关推荐
郝学胜-神的一滴25 分钟前
Python 高级编程 026:内置数据结构之骈文纵论
开发语言·数据结构·python·程序人生·软件工程
DLYSB_7 小时前
存储运维实战:基于 Ceph Event 监听与 Python 适配器的分布式存储健康度物理声光响应架构
运维·ceph·python·报警灯
陈随易7 小时前
FFmpeg 9.0 发布,代号 Lei,音视频处理再升级
前端·后端·程序员
阿童木写作7 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
阿童木写作9 小时前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
就是一只白10 小时前
复制地理信息python版本
python
凌虚10 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
看浪的路人10 小时前
第1讲:Agent 到底是什么?和 Chatbot 有什么区别
python·ai
瓦学妹11 小时前
什么是网络索引?它是如何工作的?
大数据·网络·python·网络爬虫
IT_陈寒11 小时前
Vite静态资源引用这个坑我踩得有点疼
前端·人工智能·后端