问答交流

数据怎么会差别很大

由bqnvfzc5创建,最终由bqnvfzc5 被浏览 9 用户

这是我在乐咕乐股 上显示的医药行业的历史市盈率


这是我用代码实现的历史市盈率,怎么会有这么大的差别,时间都是2019年9月到现在的数据。


代码如下

import dai
# import numpy as np  没有使用到numpy
import pandas as pd
import matplotlib.pyplot as plt

pd.set_option('display.max_rows', None)
sd = '2019-09-23'  # 开始日期——优化后的代码从很早的日期开始也游刃有余,这里改为2022年开始
ed = '2024-09-18'  # 结束日期

data_industry = dai.query("""
    SELECT date, instrument, industry_level1_code, industry_level1_name 
    FROM cn_stock_industry_component 
    WHERE industry='sw2021'
    """, 
    filters={'date': [sd, ed]}).df()  # 获取对应日期的股票行业数据
data_pe = dai.query("""
    SELECT date, instrument, pe_ttm 
    FROM cn_stock_valuation
    """, 
    filters={'date': [sd, ed]}).df()  # 获取股票历史pe数据

data_industry = data_industry[data_industry['industry_level1_name'] == '医药生物']  # 保留对应日期的银行股 钢铁 电子 家用电器 食品饮料	 医药生物	电力设备
data_pe_filtered = pd.merge(data_pe, data_industry, on=['date', 'instrument'], how='inner')  # 求银行股数据与pe数据的并集
history_pe = data_pe_filtered.groupby('date')['pe_ttm'].mean().reset_index(name='pe_ttm_mean')  # 计算对应日期的银行股pe均值

# 图像绘制
plt.figure(figsize=(20, 6))
plt.plot(history_pe['date'], history_pe['pe_ttm_mean'], color='b', linestyle='-')  # 删去了marker参数,图片更清晰
plt.grid(True)  # 打开参考线
plt.title('历史市盈率')  # 更改了图名
plt.show()

\

标签

市盈率数据分析
评论
  • 收到反馈,我们验证下
  • 因为计算规则问题,很多看盘软件会有很多极值处理。对pettm做极值处理后会得到一致的图片,想学习数据处理等关键技能欢迎报名训练营。。
  • 把data pe替换成。data_pe = dai.query("""
  • SELECT date, instrument, pe_ttm
  • FROM cn_stock_prefactors
  • WHERE
  • pe_ttm<300
  • AND
  • pe_ttm>-300
  • AND
  • list_days>365
  • """,
  • filters={'date': [sd, ed]}).df()
{link}