# Get Earnings Beat Rank

get_earnings_beat_rank(market, beat_type, count=None, term=None, filter_list=None, sort_field=None)

  • Description

    Get earnings beat rank, returning a list of stocks in a specified market where actual earnings exceeded estimates, including beat ratio, first-day price change after earnings, year-over-year growth rate, and other dimensional data.

  • Parameters

    Parameter Type Description
    market Market Market type (supports HK/US/SG/JP) (required)
    beat_type BeatType Beat type (required)
    count int Return count [1, 300], default 30
    term BeatTerm Earnings report period, default ALL
    filter_list list[EarningsBeatRankFilter] Filter condition list (multiple conditions are AND-combined)
    sort_field EarningsBeatSortField Sort field (fixed descending), default by market cap
  • Input Limits

    • filter_list Filter Conditions(EarningsBeatRankFilter):

      Construct filter conditions via EarningsBeatRankFilter, supporting range filter only:

      Constructor Parameter Description
      indicator_type Filter indicator type (EarningsBeatIndicatorType, required)
      interval_min Range minimum (closed interval)
      interval_max Range maximum (closed interval)

      When filter_list is not provided, default filter is applied: beat ratio > 0, release time within the last 30 days.

  • Return

    Parameter Type Description
    ret RET_CODE API call result
    data pd.DataFrame When ret == RET_OK, returns (all_count, DataFrame) tuple
    str When ret != RET_OK, returns error description
    • Data format:
      Field Type Description
      security str Stock code (e.g. 'US.AAPL')
      name str Stock name
      industry str Industry
      cur_price float Latest price
      last_close_price float Previous close price
      change_rate float Today's change rate (%)
      market_cap float Market cap
      pe_ttm float P/E ratio TTM
      dividends_ttm float Dividend yield TTM (%)
      released_date str Earnings release date (e.g. '2024-01-15')
      beat_ratio float Beat ratio (%)
      actual float Actual value
      estimate float Estimate value
      yoy float Year-over-year
      yoy_growth float YoY growth rate (%)
      earning_day_chg float First-day change after earnings (%)
      term str Earnings period (e.g. '2024/Q1')
      detail_post_period str Publish period (BEFORE=pre-market / AFTER=after-hours / REGULAR=intraday / INTRADAY_TRADING=intraday trading)
  • Example

from futu import *

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)

ret, data = quote_ctx.get_earnings_beat_rank(market=Market.US, beat_type=BeatType.EPS, count=2)
if ret == RET_OK:
    all_count, df = data
    print(f'Total count: {all_count}')
    print(df)
else:
    print('error:', data)

quote_ctx.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
  • Output
Total count: 1276
  security name industry  cur_price  last_close_price  change_rate    market_cap    pe_ttm  dividends_ttm released_date  beat_ratio  actual  estimate   yoy  yoy_growth  earning_day_chg     term detail_post_period
0  US.NVDA  英伟达      半导体     200.04            208.65       -4.126  4.840968e+12  30.63399          0.019    2026-05-20      37.253  2.3900    1.7413  0.76     214.473           -1.772  2027/Q1              AFTER
1  US.AAPL   苹果   消费电子产品     294.30            297.01       -0.912  4.322489e+12  35.62953          0.353    2026-04-30       3.373  2.0099    1.9444  1.65      21.818            3.239  2026/Q2              AFTER
1
2
3
4

API Limits

  • Maximum 60 requests within 30 seconds
  • Only the first page of paginated requests counts toward rate limiting