ezyquant.reader.SETDataReader.get_rights_benefit#

SETDataReader.get_rights_benefit(symbol_list: List[str] | None = None, start_date: str | None = None, end_date: str | None = None, ca_type_list: List[str] | None = None) DataFrame#

Data from table RIGHTS_BENEFIT. Not include Cancelled (F_CANCEL!=’C’) sign_date and pay_date can be null.

Parameters:
  • symbol_list (Optional[List[str]] = None) – N_SECURITY in symbol_list (must be unique).

  • start_date (Optional[str] = None) – start of sign_date (D_SIGN).

  • end_date (Optional[str] = None) – end of sign_date (D_SIGN).

  • ca_type_list (Optional[List[str]] = None) –

    Corporate action type (N_CA_TYPE).
    • CD - Cash dividend

    • SD - Stock dividend

    • XR - Excluding Right

    • XM - Excluding Meetings

    • XI - Excluding Interest

    • XE - Excluding Exercise

    • ND - No dividend

    • XC - Exclude Conversion

    • CR - Capital Reduction

    • PP - Private Placement

    • PO - Public Offering

    • CA - Capital Announce

    • XN - Excluding Capital Return

    • XB - Excluding Other Benefit

Returns:

dividend dataframe contain columns:
  • symbol: str - SECURITY.N_SECURITY

  • sign_date: date - D_SIGN

  • pay_date: date - D_BEG_PAID

  • ca_type: str - N_CA_TYPE

  • dps: int - Z_RIGHTS

Return type:

pd.DataFrame

Examples

>>> from ezyquant import SETDataReader
>>> sdr = SETDataReader()
>>> sdr.get_rights_benefit(["M"])
   symbol  sign_date   pay_date ca_type  dps
0       M        NaT        NaT      CA  NaN
1       M        NaT        NaT      CR  NaN
2       M 2014-03-13        NaT      XM  NaN
3       M 2014-05-06 2014-05-21      CD  1.6
4       M 2014-08-20 2014-09-04      CD  0.8
5       M 2015-03-10        NaT      XM  NaN
6       M 2015-04-30 2015-05-21      CD  1.0
7       M 2015-08-24 2015-09-08      CD  0.9
8       M 2016-03-08        NaT      XM  NaN
9       M 2016-04-28 2016-05-19      CD  1.0
10      M 2016-08-23 2016-09-08      CD  1.0
11      M 2017-03-08        NaT      XM  NaN
12      M 2017-05-04 2017-05-23      CD  1.1
13      M 2017-08-22 2017-09-08      CD  1.1
14      M 2018-03-09        NaT      XM  NaN
15      M 2018-05-07 2018-05-23      CD  1.2
16      M 2018-08-22 2018-09-07      CD  1.2
17      M 2019-03-11        NaT      XM  NaN
18      M 2019-05-07 2019-05-23      CD  1.3
19      M 2019-08-26 2019-09-11      CD  1.3
20      M 2020-04-22 2020-05-08      CD  1.3
21      M 2020-06-22        NaT      XM  NaN
22      M 2020-08-24 2020-09-10      CD  0.5
23      M 2021-03-09        NaT      XM  NaN
24      M 2021-05-10 2021-05-25      CD  0.5
25      M 2022-03-09        NaT      XM  NaN
26      M 2022-05-10 2022-05-25      CD  0.8
27      M 2022-08-23 2022-09-08      CD  0.5
>>> sdr.get_rights_benefit(["M"], start_date="2020-07-28", end_date="2022-05-11")
  symbol  sign_date   pay_date ca_type  dps
0      M 2020-08-24 2020-09-10      CD  0.5
1      M 2021-03-09        NaT      XM  NaN
2      M 2021-05-10 2021-05-25      CD  0.5
3      M 2022-03-09        NaT      XM  NaN
4      M 2022-05-10 2022-05-25      CD  0.8