本益比分析

本文重点概要

  • 文章难度:★☆☆☆☆
  • 利用河流图观察股价波动及本益比

前言

本益比是最常用来判断股价是否合理的指标之一,其公式为本益比=每股股价/每股盈余。若本益比太高代表目前的股价高估、偏离合理的价格,当前获利状况不足以支撑如此高的股价,未来股价修正、下跌的机会高;反之,若本益比太低代表目前股价低估、偏离合理的价格,股价并未充分反映目前获利状况,未来股价回升、上涨的机会高。

早在1970及80年代,Ball(1978)及Basu(1983)就证明在美国市场本益比能有效的解释股票报酬率,而陈俊佑(2011)利用台湾市场资料实证亦显示本益比的投资绩效表现佳。故从理论或实证上,本益比很适合做为投资参考的依据。

在投资的世界中,「买低、卖高」是经典不败的投资法则,而如何买低、卖高,可以从横断面及时间序列两种面向来操作:

  • 横断面操作的方式:买入低本益比的股票组合,卖出(放空)高本益比的投资组合,既可以利用投资组合分散风险又可以获得良好的投资绩效,是最稳妥「买低、卖高」的投资方式,然而对一般投资人而言,建立投资组合有资金是否足够的问题、放空时会易受到放空的限制(如使用融券放空时,不一定有券可以放空),实务操作上并不容易;
  • 时间序列的操作方式:在个股本益比历史相对低点的时候买入股票,在本益比相对高的时候将股票卖出,虽然没有风险分散的效果,但对一般投资人而言,却是相对好操作「买低、卖高」的方式。在进行此操作时,一般会搭配本益比河流图来判断目前股所处的相对位置,以便进行「买低、卖高」的操作。本益比河流图如下图所示,将不同倍数本益比在K线图上绘制出来,即可很轻易的判断该股票目前的价位处于几倍本益比附近,相对于过去一段时间是高或是低。

综合上述,本益比河流图是一好用的投资工具,本文重点是介绍如何利用TEJ API 和视觉化套件将本益比河流图绘制出来,作为投资操作的参考依据。

编辑环境与模组需求

本文使用 MacOS 作业系统以及 VScode 作为编辑器

输入相关参数,透过TEJ API取得计算本益比相关的股价资讯、财务资讯,资料处理步骤如下:

导入需要用到的套件(tejapi、matplotlib)

import tejapi
import matplotlib.pyplot as plt

资料库使用

资料导入

利用tejapi设定要查询的证券码及起(gte)、迄日(lte)参数,还有每股盈余的栏位。选用栏位包括证券代码(coid)、财务资料日(mdate)、每股盈余(ac_3990)。

company = '2330'
price_data = tejapi.get('TWN/EWIFINQ', # tej 财务资料库
                coid = company,
                mdate={
                    # 起始日期    
                    'gte':'2022-01-01', 
                    # 结束日期
                    'lte':'2022-12-31'}, 
                opts={'columns': ['coid','mdate','ac_3990']}, 
                paginate=True
            )

利用tejapi函数代入3个参数:设定要查询的证券码及起日(gte)、迄日(lte)、收盘价(close_d)参数。

company_data = tejapi.get(
        'TWN/EWPRCD',  # 资料库
        coid=company,  # 股票代码
        mdate={
                    # 起始日期    
                    'gte':'2018-01-01', 
                    # 结束日期
                    'lte':'2018-12-31'}, 
        paginate=True,  
        opts={'columns': ['mdate', 'close_d']},
    )

建构本益比河流图与实证分析

计算本益比,利用每天的收盘股价去除以当季每股盈余,得到当天本益比。前一节已利用tejapi.get()函数取得财务相关资料(df),此节利用matplotlib.pyplot里面的plot函数来绘制本益比河流图,并且进一步进行实证分析。以下为操作步骤:

  1. 印出每股盈余和收盘价资料来观查资料型态和数量。
print(price_data['ac_3990'])
print(company_data['close_d'])

我们可以看到一年内四季的每股盈余资料(四笔)和一整年的收盘资料(247笔)。

2. 将每一季开盘天数存入quarter参数当中,在回圈内做该天收盘价除以对应的每股盈余。

close = company_data['close_d']
Price_to_Earnings_Ratio = []
quarter = [60,63,63,61]
quarter_count = 0
season_days = 0
init_day = 0


while quarter_count<4:
    season_days = quarter[quarter_count] # 每季有几天
    print(init_day+season_days)
    for i in range(init_day, int(init_day+season_days)):
        Price_to_Earnings_Ratio.append(round(company_data['close_d'][i]/price_data['ac_3990'][quarter_count]))
    init_day = init_day + season_days
    quarter_count += 1

3. 设定要画出本益比的倍数。

x = [x for x in range(0, len(close))]
Price_to_Earnings_Ratio_30 = [ratio * 30 for ratio in Price_to_Earnings_Ratio]
Price_to_Earnings_Ratio_35 = [ratio * 35 for ratio in Price_to_Earnings_Ratio]
Price_to_Earnings_Ratio_40 = [ratio * 40 for ratio in Price_to_Earnings_Ratio]
Price_to_Earnings_Ratio_45 = [ratio * 35 for ratio in Price_to_Earnings_Ratio]
Price_to_Earnings_Ratio_50 = [ratio * 50 for ratio in Price_to_Earnings_Ratio]

4. 画出本益比河流图。

plt.plot(x, Price_to_Earnings_Ratio_30, label='Ratio=30', color='blue') 
plt.plot(x, Price_to_Earnings_Ratio_35, label='Ratio=35', color='blue') 
plt.plot(x, Price_to_Earnings_Ratio_40, label='Ratio=40', color='yellow')
plt.plot(x, Price_to_Earnings_Ratio_45, label='Ratio=45', color='brown')
plt.plot(x, Price_to_Earnings_Ratio_50, label='Ratio=50', color='purple')


plt.plot(x, close.tolist(), label='K line', color='red') # 画出收盘价曲线
plt.title('Price_to_Earnings_Ratio')  # 设定图形标题
plt.xlabel('Days')  # 设定X轴标签

plt.ylabel('Ratio')  # 设定Y轴标签
plt.legend()  # 添加图例
plt.show()
本益比河流图
本益比河流图
  • 如图上图台积电(2330)本益比河流图所示:2018年Q3本益比超过40倍后,台积电大部分时间本益比都维持在40倍以上,资料显示40倍以上本益比已是近期市场投资人给台积电合理股价的评价基准。Q3后上涨到到250元附近,便维持在40倍以上。基于这些资讯,我们可以得出市场投资者对于台积电的股价给予了相对较高的估值,认为其具有较高的盈利潜力和投资价值。这也反映了市场对台积电作为一家知名晶片制造商的信心和看好态度。
  • 由台积电的例子可看出,本益比河流图是判断目前股价所处的相对位置,进行「买低、卖高」操作很好用的投资工具。需特别注意的是本益比计算上有其限制,股价反映投资人对未来的预期,但本益比最常被取用的是公司最新的盈余(已经发生),导致有时候本益比高估并非股价偏离合理价格,而是目前股价反应公司未来盈余成长的预期。因此投资人使用本益比河流图作为工具时,需把对公司未来的预期考虑进去或改用预期的每股盈余计算本益比,才能更合理的评估目前股价是否有偏离合理价格。

结论

本篇介绍如何利用TEJ API将本益比河流图利用视觉化套件呈现,投资人就可借由观察个股的本益比河流图,判断目前该股所处的相对位置、进行「买低、卖高」操作。以本文台积电的本益比河流图为例,使用者可以轻易的观察市场投资人给台积电合理的本益比大约在那个区间,判断目前台积电股价是否合理。若想要更精确的利用本益比河流图判断合理股价,则需要把对公司未来的预期考虑进来或改用预期的每股盈余计算本益比。

温馨提醒,本次介绍与标的仅供参考,不代表任何商品或投资上的建议。之后也会介绍使用TEJ资料库来建构各式选择权模型,所以欢迎对选择权交易有兴趣的读者,选购TEJ E-Shop的相关方案,用高品质的资料库,建构出适合自己的订价模型。

原始码

延伸阅读

相关连结

返回总览页