mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-07 18:01:10 +00:00
Made fa/pt more accurate (#4503)
* Got things working * Got things working * Got things working
This commit is contained in:
@@ -5,8 +5,10 @@ import logging
|
||||
import os
|
||||
import textwrap
|
||||
from datetime import datetime, timedelta
|
||||
from functools import partial
|
||||
from typing import Optional, Union
|
||||
|
||||
import pandas as pd
|
||||
from pandas.core.frame import DataFrame
|
||||
|
||||
from openbb_terminal import OpenBBFigure, theme
|
||||
@@ -17,7 +19,10 @@ from openbb_terminal.helper_funcs import (
|
||||
print_rich_table,
|
||||
)
|
||||
from openbb_terminal.rich_config import console
|
||||
from openbb_terminal.stocks.fundamental_analysis import business_insider_model
|
||||
from openbb_terminal.stocks.fundamental_analysis import (
|
||||
business_insider_model,
|
||||
yahoo_finance_model,
|
||||
)
|
||||
from openbb_terminal.stocks.stocks_helper import load
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -61,6 +66,7 @@ def display_management(symbol: str, export: str = "", sheet_name: Optional[str]
|
||||
logger.error("Data not available")
|
||||
|
||||
|
||||
# pylint: disable=R0913
|
||||
@log_start_end(log=logger)
|
||||
def price_target_from_analysts(
|
||||
symbol: str,
|
||||
@@ -71,6 +77,7 @@ def price_target_from_analysts(
|
||||
export: str = "",
|
||||
sheet_name: Optional[str] = None,
|
||||
external_axes: bool = False,
|
||||
adjust_for_splits: bool = True,
|
||||
) -> Union[OpenBBFigure, None]:
|
||||
"""Display analysts' price targets for a given stock. [Source: Business Insider]
|
||||
|
||||
@@ -92,6 +99,8 @@ def price_target_from_analysts(
|
||||
Export dataframe data to csv,json,xlsx file
|
||||
external_axes: bool, optional
|
||||
Whether to return the figure object or not, by default False
|
||||
adjust_for_splits: bool
|
||||
Whether to adjust analyst price targets for stock splits, by default True
|
||||
|
||||
Examples
|
||||
--------
|
||||
@@ -99,6 +108,13 @@ def price_target_from_analysts(
|
||||
>>> openbb.stocks.fa.pt_chart(symbol="AAPL")
|
||||
"""
|
||||
|
||||
def adjust_splits(row, splits: pd.DataFrame):
|
||||
original_value = row["Price Target"]
|
||||
for index, sub_row in splits.iterrows():
|
||||
if row.name < index:
|
||||
original_value = original_value / sub_row["Stock Splits"]
|
||||
return round(original_value, 2)
|
||||
|
||||
if start_date is None:
|
||||
start_date = (datetime.now() - timedelta(days=1100)).strftime("%Y-%m-%d")
|
||||
|
||||
@@ -108,6 +124,11 @@ def price_target_from_analysts(
|
||||
df_analyst_data = business_insider_model.get_price_target_from_analysts(symbol)
|
||||
if df_analyst_data.empty:
|
||||
return console.print("[red]Could not get data for ticker.[/red]\n")
|
||||
if adjust_for_splits:
|
||||
df_splits = yahoo_finance_model.get_splits(symbol)
|
||||
df_splits.index = df_splits.index.tz_convert(None)
|
||||
adjusted_splits = partial(adjust_splits, splits=df_splits)
|
||||
df_analyst_data["Price Target"] = df_analyst_data.apply(adjusted_splits, axis=1)
|
||||
|
||||
fig = OpenBBFigure(yaxis_title="Share Price").set_title(
|
||||
f"{symbol} (Time Series) and Price Target"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,98 +1,96 @@
|
||||
Loading Daily data for TSLA with starting period 2020-02-10.
|
||||
Loading Daily data for TSLA with starting period 2020-03-12.
|
||||
Company Rating Price Target
|
||||
Date
|
||||
2023-02-06 Wedbush Morgan Securities Inc. BUY 225.000000
|
||||
2023-01-30 Berenberg BUY 200.000000
|
||||
2023-01-26 Bank of America Merrill Lynch HOLD 155.000000
|
||||
2023-01-26 Wolfe Research BUY 185.000000
|
||||
2023-01-26 Wells Fargo & Co HOLD 150.000000
|
||||
2023-01-26 Cowen and Company, LLC HOLD 140.000000
|
||||
2023-01-26 Wedbush Morgan Securities Inc. BUY 200.000000
|
||||
2023-01-26 Citigroup Corp. HOLD 146.000000
|
||||
2023-01-25 Morgan Stanley BUY 220.000000
|
||||
2023-01-25 J.P. Morgan SELL 120.000000
|
||||
2023-01-19 Piper Sandler BUY 300.000000
|
||||
2023-01-17 Bank of America Merrill Lynch HOLD 130.000000
|
||||
2023-01-13 Citigroup Corp. HOLD 140.000000
|
||||
2023-01-13 Wells Fargo & Co HOLD 130.000000
|
||||
2023-01-05 Mizuho BUY 250.000000
|
||||
2023-01-03 Goldman Sachs BUY 205.000000
|
||||
2022-12-29 Morgan Stanley BUY 250.000000
|
||||
2022-12-28 Baird Patrick & Co BUY 252.000000
|
||||
2022-12-23 Wedbush Morgan Securities Inc. BUY 175.000000
|
||||
2022-12-22 Capital Depesche BUY 275.000000
|
||||
2022-12-21 Deutsche Bank BUY 270.000000
|
||||
2022-12-20 Evercore HOLD 200.000000
|
||||
2022-12-20 Daiwa Securities BUY 177.000000
|
||||
2022-12-20 Mizuho BUY 285.000000
|
||||
2022-12-14 Goldman Sachs BUY 235.000000
|
||||
2022-11-23 Citigroup Corp. HOLD 176.000000
|
||||
2022-10-25 Morgan Stanley BUY 330.000000
|
||||
2022-10-20 Mizuho BUY 330.000000
|
||||
2022-10-20 RBC Capital Markets BUY 325.000000
|
||||
2022-10-20 Wedbush Morgan Securities Inc. BUY 300.000000
|
||||
2022-10-20 Deutsche Bank BUY 355.000000
|
||||
2022-10-14 Wells Fargo & Co HOLD 230.000000
|
||||
2022-10-10 Morgan Stanley BUY 350.000000
|
||||
2022-10-06 Mizuho BUY 370.000000
|
||||
2022-10-04 Goldman Sachs BUY 333.000000
|
||||
2022-09-29 Piper Sandler BUY 340.000000
|
||||
2022-09-16 Deutsche Bank BUY 400.000000
|
||||
2022-09-06 Wolfe Research BUY 360.000000
|
||||
2022-08-29 Deutsche Bank BUY 375.000000
|
||||
2022-08-25 Berenberg HOLD 290.000000
|
||||
2022-08-25 Morgan Stanley BUY 383.329987
|
||||
2022-08-25 Wedbush Morgan Securities Inc. BUY 360.000000
|
||||
2022-08-02 Citigroup Corp. SELL 424.000000
|
||||
2022-07-21 Berenberg HOLD 850.000000
|
||||
2022-07-21 Wells Fargo & Co HOLD 830.000000
|
||||
2022-07-21 Mizuho BUY 1175.000000
|
||||
2022-07-21 Bank of America Merrill Lynch HOLD 950.000000
|
||||
2022-07-21 Capital Depesche BUY 815.000000
|
||||
2022-07-21 Cowen and Company, LLC HOLD 733.000000
|
||||
2022-07-19 Credit Suisse BUY 1000.000000
|
||||
2022-07-18 Barclays Capital SELL 380.000000
|
||||
2022-07-14 Morgan Stanley BUY 1150.000000
|
||||
2022-07-13 Capital Depesche BUY 801.000000
|
||||
2022-07-11 Wells Fargo & Co HOLD 820.000000
|
||||
2022-07-05 J.P. Morgan SELL 385.000000
|
||||
2022-06-28 Deutsche Bank BUY 1125.000000
|
||||
2022-06-27 Mizuho BUY 1150.000000
|
||||
2022-06-24 Credit Suisse BUY 1000.000000
|
||||
2022-06-09 UBS BUY 1100.000000
|
||||
2022-06-03 Cowen and Company, LLC HOLD 700.000000
|
||||
2022-06-01 Goldman Sachs BUY 1000.000000
|
||||
2022-05-24 Daiwa Securities BUY 800.000000
|
||||
2022-05-19 Wedbush Morgan Securities Inc. BUY 1000.000000
|
||||
2022-05-18 Piper Sandler BUY 1035.000000
|
||||
2022-05-12 Wells Fargo & Co HOLD 900.000000
|
||||
2022-05-10 Berenberg HOLD 900.000000
|
||||
2022-04-22 Deutsche Bank BUY 1250.000000
|
||||
2022-04-21 Citigroup Corp. SELL 375.000000
|
||||
2022-04-21 Oppenheimer & Co. Inc. BUY 1291.000000
|
||||
2022-04-21 Wells Fargo & Co HOLD 960.000000
|
||||
2022-04-21 J.P. Morgan SELL 395.000000
|
||||
2022-04-19 Credit Suisse BUY 1125.000000
|
||||
2022-04-18 Piper Sandler BUY 1260.000000
|
||||
2022-04-04 UBS HOLD 1100.000000
|
||||
2022-04-04 Cowen and Company, LLC HOLD 790.000000
|
||||
2022-04-04 J.P. Morgan SELL 335.000000
|
||||
2022-02-25 Daiwa Securities BUY 900.000000
|
||||
2022-02-14 Piper Sandler BUY 1350.000000
|
||||
2022-01-31 Credit Suisse BUY 1025.000000
|
||||
2022-01-27 Wells Fargo & Co HOLD 910.000000
|
||||
2022-01-27 Citigroup Corp. SELL 313.000000
|
||||
2022-01-27 J.P. Morgan SELL 325.000000
|
||||
2022-01-18 Credit Suisse HOLD 1025.000000
|
||||
2022-01-05 Mizuho BUY 1300.000000
|
||||
2022-01-03 J.P. Morgan SELL 295.000000
|
||||
2022-01-03 Deutsche Bank BUY 1200.000000
|
||||
2021-12-31 Deutsche Bank BUY 1200.000000
|
||||
2021-12-28 Argus Research Company BUY 1313.000000
|
||||
2021-12-08 New Street Research BUY 1580.000000
|
||||
2021-12-07 UBS HOLD 1000.000000
|
||||
2021-11-19 Wedbush Morgan Securities Inc. BUY 1400.000000
|
||||
2021-10-28 Piper Sandler BUY 1300.000000
|
||||
2021-10-27 Goldman Sachs BUY 1125.000000
|
||||
2021-10-21 ROTH Capital Partners, LLC HOLD 250.000000
|
||||
2021-10-21 Capital Depesche BUY 1040.000000
|
||||
2023-03-08 Berenberg HOLD 210.00
|
||||
2023-03-03 Daiwa Securities BUY 218.00
|
||||
2023-03-02 Wedbush Morgan Securities Inc. BUY 225.00
|
||||
2023-02-24 Wells Fargo & Co HOLD 190.00
|
||||
2023-02-15 Barclays Capital BUY 275.00
|
||||
2023-02-06 Wedbush Morgan Securities Inc. BUY 225.00
|
||||
2023-01-30 Berenberg BUY 200.00
|
||||
2023-01-26 Wells Fargo & Co HOLD 150.00
|
||||
2023-01-26 Citigroup Corp. HOLD 146.00
|
||||
2023-01-26 Wedbush Morgan Securities Inc. BUY 200.00
|
||||
2023-01-26 Cowen and Company, LLC HOLD 140.00
|
||||
2023-01-26 Wolfe Research BUY 185.00
|
||||
2023-01-26 Bank of America Merrill Lynch HOLD 155.00
|
||||
2023-01-25 J.P. Morgan SELL 120.00
|
||||
2023-01-25 Morgan Stanley BUY 220.00
|
||||
2023-01-19 Piper Sandler BUY 300.00
|
||||
2023-01-17 Bank of America Merrill Lynch HOLD 130.00
|
||||
2023-01-13 Citigroup Corp. HOLD 140.00
|
||||
2023-01-13 Wells Fargo & Co HOLD 130.00
|
||||
2023-01-05 Mizuho BUY 250.00
|
||||
2023-01-03 Goldman Sachs BUY 205.00
|
||||
2022-12-29 Morgan Stanley BUY 250.00
|
||||
2022-12-28 Baird Patrick & Co BUY 252.00
|
||||
2022-12-23 Wedbush Morgan Securities Inc. BUY 175.00
|
||||
2022-12-22 Capital Depesche BUY 275.00
|
||||
2022-12-21 Deutsche Bank BUY 270.00
|
||||
2022-12-20 Mizuho BUY 285.00
|
||||
2022-12-20 Daiwa Securities BUY 177.00
|
||||
2022-12-20 Evercore HOLD 200.00
|
||||
2022-12-14 Goldman Sachs BUY 235.00
|
||||
2022-11-23 Citigroup Corp. HOLD 176.00
|
||||
2022-10-25 Morgan Stanley BUY 330.00
|
||||
2022-10-20 RBC Capital Markets BUY 325.00
|
||||
2022-10-20 Wedbush Morgan Securities Inc. BUY 300.00
|
||||
2022-10-20 Deutsche Bank BUY 355.00
|
||||
2022-10-20 Mizuho BUY 330.00
|
||||
2022-10-14 Wells Fargo & Co HOLD 230.00
|
||||
2022-10-10 Morgan Stanley BUY 350.00
|
||||
2022-10-06 Mizuho BUY 370.00
|
||||
2022-10-04 Goldman Sachs BUY 333.00
|
||||
2022-09-29 Piper Sandler BUY 340.00
|
||||
2022-09-16 Deutsche Bank BUY 400.00
|
||||
2022-09-06 Wolfe Research BUY 360.00
|
||||
2022-08-29 Deutsche Bank BUY 375.00
|
||||
2022-08-25 Morgan Stanley BUY 127.78
|
||||
2022-08-25 Berenberg HOLD 96.67
|
||||
2022-08-25 Wedbush Morgan Securities Inc. BUY 120.00
|
||||
2022-08-02 Citigroup Corp. SELL 141.33
|
||||
2022-07-21 Mizuho BUY 391.67
|
||||
2022-07-21 Berenberg HOLD 283.33
|
||||
2022-07-21 Bank of America Merrill Lynch HOLD 316.67
|
||||
2022-07-21 Wells Fargo & Co HOLD 276.67
|
||||
2022-07-21 Capital Depesche BUY 271.67
|
||||
2022-07-21 Cowen and Company, LLC HOLD 244.33
|
||||
2022-07-19 Credit Suisse BUY 333.33
|
||||
2022-07-18 Barclays Capital SELL 126.67
|
||||
2022-07-14 Morgan Stanley BUY 383.33
|
||||
2022-07-13 Capital Depesche BUY 267.00
|
||||
2022-07-11 Wells Fargo & Co HOLD 273.33
|
||||
2022-07-05 J.P. Morgan SELL 128.33
|
||||
2022-06-28 Deutsche Bank BUY 375.00
|
||||
2022-06-27 Mizuho BUY 383.33
|
||||
2022-06-24 Credit Suisse BUY 333.33
|
||||
2022-06-09 UBS BUY 366.67
|
||||
2022-06-03 Cowen and Company, LLC HOLD 233.33
|
||||
2022-06-01 Goldman Sachs BUY 333.33
|
||||
2022-05-24 Daiwa Securities BUY 266.67
|
||||
2022-05-19 Wedbush Morgan Securities Inc. BUY 333.33
|
||||
2022-05-18 Piper Sandler BUY 345.00
|
||||
2022-05-12 Wells Fargo & Co HOLD 300.00
|
||||
2022-05-10 Berenberg HOLD 300.00
|
||||
2022-04-22 Deutsche Bank BUY 416.67
|
||||
2022-04-21 J.P. Morgan SELL 131.67
|
||||
2022-04-21 Citigroup Corp. SELL 125.00
|
||||
2022-04-21 Wells Fargo & Co HOLD 320.00
|
||||
2022-04-21 Oppenheimer & Co. Inc. BUY 430.33
|
||||
2022-04-19 Credit Suisse BUY 375.00
|
||||
2022-04-18 Piper Sandler BUY 420.00
|
||||
2022-04-04 Cowen and Company, LLC HOLD 263.33
|
||||
2022-04-04 J.P. Morgan SELL 111.67
|
||||
2022-04-04 UBS HOLD 366.67
|
||||
2022-02-25 Daiwa Securities BUY 300.00
|
||||
2022-02-14 Piper Sandler BUY 450.00
|
||||
2022-01-31 Credit Suisse BUY 341.67
|
||||
2022-01-27 J.P. Morgan SELL 108.33
|
||||
2022-01-27 Wells Fargo & Co HOLD 303.33
|
||||
2022-01-27 Citigroup Corp. SELL 104.33
|
||||
2022-01-18 Credit Suisse HOLD 341.67
|
||||
2022-01-05 Mizuho BUY 433.33
|
||||
2022-01-03 Deutsche Bank BUY 400.00
|
||||
2022-01-03 J.P. Morgan SELL 98.33
|
||||
2021-12-31 Deutsche Bank BUY 400.00
|
||||
2021-12-28 Argus Research Company BUY 437.67
|
||||
|
||||
Reference in New Issue
Block a user