Add divs chart to sdk (#3529)

* add divs chart to sdk

* add examples

* fix tests

* fix tests

* fix test

Co-authored-by: James Maslek <jmaslek11@gmail.com>
This commit is contained in:
montezdesousa
2022-11-23 19:53:46 +00:00
committed by GitHub
parent e0a08aaf04
commit 246fdacc90
6 changed files with 101 additions and 100 deletions

View File

@@ -433,7 +433,7 @@ stocks.fa.quote,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_quote,
stocks.fa.score,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_score,
stocks.fa.data,openbb_terminal.stocks.fundamental_analysis.finviz_model.get_data,
stocks.fa.cal,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_calendar_earnings,
stocks.fa.divs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_dividends,
stocks.fa.divs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_dividends,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_dividends
stocks.fa.hq,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_hq,
stocks.fa.info,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_info,
stocks.fa.mktcap,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_mktcap,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_mktcap
1 trail model view
433 stocks.fa.score openbb_terminal.stocks.fundamental_analysis.fmp_model.get_score
434 stocks.fa.data openbb_terminal.stocks.fundamental_analysis.finviz_model.get_data
435 stocks.fa.cal openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_calendar_earnings
436 stocks.fa.divs openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_dividends openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_dividends
437 stocks.fa.hq openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_hq
438 stocks.fa.info openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_info
439 stocks.fa.mktcap openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_mktcap openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_mktcap

View File

@@ -265,8 +265,22 @@ def get_dividends(symbol: str) -> pd.DataFrame:
-------
pd.DataFrame
Dataframe of dividends and dates
Examples
--------
>>> from openbb_terminal.sdk import openbb
>>> openbb.fa.divs("AAPL")
"""
return pd.DataFrame(yf.Ticker(symbol).dividends)
df = pd.DataFrame(yf.Ticker(symbol).dividends)
if df.empty:
console.print("No dividends found.\n")
return pd.DataFrame()
df["Change"] = df.diff()
df = df[::-1]
return df
@log_start_end(log=logger)

View File

@@ -185,11 +185,12 @@ def display_calendar_earnings(symbol: str, export: str = ""):
def display_dividends(
symbol: str,
limit: int = 12,
plot: bool = False,
plot: bool = True,
export: str = "",
external_axes: Optional[List[plt.Axes]] = None,
):
"""Display historical dividends
Parameters
----------
symbol: str
@@ -202,15 +203,17 @@ def display_dividends(
Format to export data
external_axes : Optional[List[plt.Axes]], optional
External axes (1 axis is expected in the list), by default None
Examples
--------
>>> from openbb_terminal.sdk import openbb
>>> openbb.fa.divs_chart("AAPL")
"""
div_history = yahoo_finance_model.get_dividends(symbol)
if div_history.empty:
console.print("No dividends found.\n")
return
div_history["Dif"] = div_history.diff()
div_history = div_history[::-1]
if plot:
if plot:
# This plot has 1 axis
if not external_axes:
_, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
@@ -231,7 +234,7 @@ def display_dividends(
alpha=1,
label="Dividends Payout",
)
ax.set_ylabel("Amount ($)")
ax.set_ylabel("Amount Paid ($)")
ax.set_title(f"Dividend History for {symbol}")
ax.set_xlim(div_history.index[-1], div_history.index[0])
ax.legend()

View File

@@ -1,76 +1,76 @@
Date,Dividends
1987-05-11,0.000536
1987-08-10,0.000536
1987-11-17,0.000714
1988-02-12,0.000714
1988-05-16,0.000714
1988-08-15,0.000714
1988-11-21,0.000893
1989-02-17,0.000893
1989-05-22,0.000893
1989-08-21,0.000893
1989-11-17,0.000982
1990-02-16,0.000982
1990-05-21,0.000982
1990-08-20,0.000982
1990-11-16,0.001071
1991-02-15,0.001071
1991-05-20,0.001071
1991-08-19,0.001071
1991-11-18,0.001071
1992-02-14,0.001071
1992-06-01,0.001071
1992-08-17,0.001071
1992-11-30,0.001071
1993-02-12,0.001071
1993-05-28,0.001071
1993-08-16,0.001071
1993-11-19,0.001071
1994-02-07,0.001071
1994-05-27,0.001071
1994-08-15,0.001071
1994-11-18,0.001071
1995-02-13,0.001071
1995-05-26,0.001071
1995-08-16,0.001071
1995-11-21,0.001071
2012-08-09,0.094643
2012-11-07,0.094643
2013-02-07,0.094643
2013-05-09,0.108929
2013-08-08,0.108929
2013-11-06,0.108929
2014-02-06,0.108929
2014-05-08,0.1175
2014-08-07,0.1175
2014-11-06,0.1175
2015-02-05,0.1175
2015-05-07,0.13
2015-08-06,0.13
2015-11-05,0.13
2016-02-04,0.13
2016-05-05,0.1425
2016-08-04,0.1425
2016-11-03,0.1425
2017-02-09,0.1425
2017-05-11,0.1575
2017-08-10,0.1575
2017-11-10,0.1575
2018-02-09,0.1575
2018-05-11,0.1825
2018-08-10,0.1825
2018-11-08,0.1825
2019-02-08,0.1825
2019-05-10,0.1925
2019-08-09,0.1925
2019-11-07,0.1925
2020-02-07,0.1925
2020-05-08,0.205
2020-08-07,0.205
2020-11-06,0.205
2021-02-05,0.205
2021-05-07,0.22
2021-08-06,0.22
2021-11-05,0.22
2022-02-04,0.22
2022-05-06,0.23
Date,Dividends,Change
2022-05-06,0.23,0.010000000000000009
2022-02-04,0.22,0.0
2021-11-05,0.22,0.0
2021-08-06,0.22,0.0
2021-05-07,0.22,0.015000000000000013
2021-02-05,0.205,0.0
2020-11-06,0.205,0.0
2020-08-07,0.205,0.0
2020-05-08,0.205,0.012499999999999983
2020-02-07,0.1925,0.0
2019-11-07,0.1925,0.0
2019-08-09,0.1925,0.0
2019-05-10,0.1925,0.010000000000000009
2019-02-08,0.1825,0.0
2018-11-08,0.1825,0.0
2018-08-10,0.1825,0.0
2018-05-11,0.1825,0.024999999999999994
2018-02-09,0.1575,0.0
2017-11-10,0.1575,0.0
2017-08-10,0.1575,0.0
2017-05-11,0.1575,0.015000000000000013
2017-02-09,0.1425,0.0
2016-11-03,0.1425,0.0
2016-08-04,0.1425,0.0
2016-05-05,0.1425,0.012499999999999983
2016-02-04,0.13,0.0
2015-11-05,0.13,0.0
2015-08-06,0.13,0.0
2015-05-07,0.13,0.012500000000000011
2015-02-05,0.1175,0.0
2014-11-06,0.1175,0.0
2014-08-07,0.1175,0.0
2014-05-08,0.1175,0.008570999999999995
2014-02-06,0.108929,0.0
2013-11-06,0.108929,0.0
2013-08-08,0.108929,0.0
2013-05-09,0.108929,0.014285999999999993
2013-02-07,0.094643,0.0
2012-11-07,0.094643,0.0
2012-08-09,0.094643,0.093572
1995-11-21,0.001071,0.0
1995-08-16,0.001071,0.0
1995-05-26,0.001071,0.0
1995-02-13,0.001071,0.0
1994-11-18,0.001071,0.0
1994-08-15,0.001071,0.0
1994-05-27,0.001071,0.0
1994-02-07,0.001071,0.0
1993-11-19,0.001071,0.0
1993-08-16,0.001071,0.0
1993-05-28,0.001071,0.0
1993-02-12,0.001071,0.0
1992-11-30,0.001071,0.0
1992-08-17,0.001071,0.0
1992-06-01,0.001071,0.0
1992-02-14,0.001071,0.0
1991-11-18,0.001071,0.0
1991-08-19,0.001071,0.0
1991-05-20,0.001071,0.0
1991-02-15,0.001071,0.0
1990-11-16,0.001071,8.899999999999989e-05
1990-08-20,0.000982,0.0
1990-05-21,0.000982,0.0
1990-02-16,0.000982,0.0
1989-11-17,0.000982,8.9e-05
1989-08-21,0.000893,0.0
1989-05-22,0.000893,0.0
1989-02-17,0.000893,0.0
1988-11-21,0.000893,0.00017900000000000001
1988-08-15,0.000714,0.0
1988-05-16,0.000714,0.0
1988-02-12,0.000714,0.0
1987-11-17,0.000714,0.000178
1987-08-10,0.000536,0.0
1987-05-11,0.000536,
1 Date Dividends Change
2 1987-05-11 2022-05-06 0.000536 0.23 0.010000000000000009
3 1987-08-10 2022-02-04 0.000536 0.22 0.0
4 1987-11-17 2021-11-05 0.000714 0.22 0.0
5 1988-02-12 2021-08-06 0.000714 0.22 0.0
6 1988-05-16 2021-05-07 0.000714 0.22 0.015000000000000013
7 1988-08-15 2021-02-05 0.000714 0.205 0.0
8 1988-11-21 2020-11-06 0.000893 0.205 0.0
9 1989-02-17 2020-08-07 0.000893 0.205 0.0
10 1989-05-22 2020-05-08 0.000893 0.205 0.012499999999999983
11 1989-08-21 2020-02-07 0.000893 0.1925 0.0
12 1989-11-17 2019-11-07 0.000982 0.1925 0.0
13 1990-02-16 2019-08-09 0.000982 0.1925 0.0
14 1990-05-21 2019-05-10 0.000982 0.1925 0.010000000000000009
15 1990-08-20 2019-02-08 0.000982 0.1825 0.0
16 1990-11-16 2018-11-08 0.001071 0.1825 0.0
17 1991-02-15 2018-08-10 0.001071 0.1825 0.0
18 1991-05-20 2018-05-11 0.001071 0.1825 0.024999999999999994
19 1991-08-19 2018-02-09 0.001071 0.1575 0.0
20 1991-11-18 2017-11-10 0.001071 0.1575 0.0
21 1992-02-14 2017-08-10 0.001071 0.1575 0.0
22 1992-06-01 2017-05-11 0.001071 0.1575 0.015000000000000013
23 1992-08-17 2017-02-09 0.001071 0.1425 0.0
24 1992-11-30 2016-11-03 0.001071 0.1425 0.0
25 1993-02-12 2016-08-04 0.001071 0.1425 0.0
26 1993-05-28 2016-05-05 0.001071 0.1425 0.012499999999999983
27 1993-08-16 2016-02-04 0.001071 0.13 0.0
28 1993-11-19 2015-11-05 0.001071 0.13 0.0
29 1994-02-07 2015-08-06 0.001071 0.13 0.0
30 1994-05-27 2015-05-07 0.001071 0.13 0.012500000000000011
31 1994-08-15 2015-02-05 0.001071 0.1175 0.0
32 1994-11-18 2014-11-06 0.001071 0.1175 0.0
33 1995-02-13 2014-08-07 0.001071 0.1175 0.0
34 1995-05-26 2014-05-08 0.001071 0.1175 0.008570999999999995
35 1995-08-16 2014-02-06 0.001071 0.108929 0.0
36 1995-11-21 2013-11-06 0.001071 0.108929 0.0
37 2012-08-09 2013-08-08 0.094643 0.108929 0.0
38 2012-11-07 2013-05-09 0.094643 0.108929 0.014285999999999993
39 2013-02-07 0.094643 0.0
40 2013-05-09 2012-11-07 0.108929 0.094643 0.0
41 2013-08-08 2012-08-09 0.108929 0.094643 0.093572
42 2013-11-06 1995-11-21 0.108929 0.001071 0.0
43 2014-02-06 1995-08-16 0.108929 0.001071 0.0
44 2014-05-08 1995-05-26 0.1175 0.001071 0.0
45 2014-08-07 1995-02-13 0.1175 0.001071 0.0
46 2014-11-06 1994-11-18 0.1175 0.001071 0.0
47 2015-02-05 1994-08-15 0.1175 0.001071 0.0
48 2015-05-07 1994-05-27 0.13 0.001071 0.0
49 2015-08-06 1994-02-07 0.13 0.001071 0.0
50 2015-11-05 1993-11-19 0.13 0.001071 0.0
51 2016-02-04 1993-08-16 0.13 0.001071 0.0
52 2016-05-05 1993-05-28 0.1425 0.001071 0.0
53 2016-08-04 1993-02-12 0.1425 0.001071 0.0
54 2016-11-03 1992-11-30 0.1425 0.001071 0.0
55 2017-02-09 1992-08-17 0.1425 0.001071 0.0
56 2017-05-11 1992-06-01 0.1575 0.001071 0.0
57 2017-08-10 1992-02-14 0.1575 0.001071 0.0
58 2017-11-10 1991-11-18 0.1575 0.001071 0.0
59 2018-02-09 1991-08-19 0.1575 0.001071 0.0
60 2018-05-11 1991-05-20 0.1825 0.001071 0.0
61 2018-08-10 1991-02-15 0.1825 0.001071 0.0
62 2018-11-08 1990-11-16 0.1825 0.001071 8.899999999999989e-05
63 2019-02-08 1990-08-20 0.1825 0.000982 0.0
64 2019-05-10 1990-05-21 0.1925 0.000982 0.0
65 2019-08-09 1990-02-16 0.1925 0.000982 0.0
66 2019-11-07 1989-11-17 0.1925 0.000982 8.9e-05
67 2020-02-07 1989-08-21 0.1925 0.000893 0.0
68 2020-05-08 1989-05-22 0.205 0.000893 0.0
69 2020-08-07 1989-02-17 0.205 0.000893 0.0
70 2020-11-06 1988-11-21 0.205 0.000893 0.00017900000000000001
71 2021-02-05 1988-08-15 0.205 0.000714 0.0
72 2021-05-07 1988-05-16 0.22 0.000714 0.0
73 2021-08-06 1988-02-12 0.22 0.000714 0.0
74 2021-11-05 1987-11-17 0.22 0.000714 0.000178
75 2022-02-04 1987-08-10 0.22 0.000536 0.0
76 2022-05-06 1987-05-11 0.23 0.000536

View File

@@ -1,14 +0,0 @@
Dividends Dif
Date
2022-06-30 1.25 0.00
2022-03-23 1.25 0.00
2021-12-22 1.25 0.00
2021-09-28 1.25 0.05
2021-06-24 1.20 0.00
2021-03-19 1.20 0.00
2020-12-22 1.20 0.00
2020-09-23 1.20 0.03
2020-06-19 1.17 0.00
2020-03-20 1.17 0.00
2019-12-18 1.17 0.00
2019-09-24 1.17 0.03