format w new black

This commit is contained in:
hjoaquim
2024-01-29 12:41:33 +00:00
parent 2d7c5c68fe
commit 74b9619cc6
47 changed files with 191 additions and 169 deletions

View File

@@ -27,9 +27,9 @@ class Preferences(BaseModel):
field_order: bool = (
False # Whether to display the field order by which the data was defined
)
output_type: Literal["OBBject", "dataframe", "polars", "numpy", "dict", "chart"] = (
Field(default="OBBject", description="Python default output type.")
)
output_type: Literal[
"OBBject", "dataframe", "polars", "numpy", "dict", "chart"
] = Field(default="OBBject", description="Python default output type.")
model_config = ConfigDict(validate_assignment=True)

View File

@@ -284,9 +284,9 @@ class Router:
if deprecation_message:
kwargs["summary"] = deprecation_message
else:
kwargs["summary"] = (
"This functionality will be deprecated in the future releases."
)
kwargs[
"summary"
] = "This functionality will be deprecated in the future releases."
api_router.add_api_route(**kwargs)

View File

@@ -16,11 +16,11 @@ class EUYieldCurveQueryParams(QueryParams):
date: Optional[dateType] = Field(
default=None, description=QUERY_DESCRIPTIONS.get("date", "")
)
yield_curve_type: Literal["spot_rate", "instantaneous_forward", "par_yield"] = (
Field(
default="spot_rate",
description="The yield curve type.",
)
yield_curve_type: Literal[
"spot_rate", "instantaneous_forward", "par_yield"
] = Field(
default="spot_rate",
description="The yield curve type.",
)

View File

@@ -16,9 +16,9 @@ from pydantic import Field, field_validator
class BiztocWorldNewsQueryParams(WorldNewsQueryParams):
"""Biztoc World News Query."""
filter: Literal["crypto", "hot", "latest", "main", "media", "source", "tag"] = (
Field(default="latest", description="Filter by type of news.")
)
filter: Literal[
"crypto", "hot", "latest", "main", "media", "source", "tag"
] = Field(default="latest", description="Filter by type of news.")
source: str = Field(
description="Filter by a specific publisher. Only valid when filter is set to source.",
default="bloomberg",

View File

@@ -137,9 +137,7 @@ class CboeIndexHistoricalFetcher(
)
url += f"{symbol.replace('^', '')}.json"
else:
base_url: str = (
f"https://cdn.cboe.com/api/global/delayed_quotes/charts/{interval_type}"
)
base_url: str = f"https://cdn.cboe.com/api/global/delayed_quotes/charts/{interval_type}"
url = (
base_url + f"/_{symbol.replace('^', '')}.json"
if symbol.replace("^", "") in TICKER_EXCEPTIONS

View File

@@ -28,9 +28,9 @@ class FMPCryptoHistoricalQueryParams(CryptoHistoricalQueryParams):
timeseries: Optional[NonNegativeInt] = Field(
default=None, description="Number of days to look back."
)
interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = (
Field(default="1day", description="Data granularity.")
)
interval: Literal[
"1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
] = Field(default="1day", description="Data granularity.")
class FMPCryptoHistoricalData(CryptoHistoricalData):

View File

@@ -22,9 +22,9 @@ class FMPCurrencyHistoricalQueryParams(CurrencyHistoricalQueryParams):
__alias_dict__ = {"start_date": "from", "end_date": "to"}
interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = (
Field(default="1day", description="Data granularity.")
)
interval: Literal[
"1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
] = Field(default="1day", description="Data granularity.")
class FMPCurrencyHistoricalData(CurrencyHistoricalData):

View File

@@ -15,11 +15,11 @@ from pydantic import Field
class FMPEtfSearchQueryParams(EtfSearchQueryParams):
"""FMP ETF Search Query."""
exchange: Optional[Literal["AMEX", "NYSE", "NASDAQ", "ETF", "TSX", "EURONEXT"]] = (
Field(
description="The exchange code the ETF trades on.",
default=None,
)
exchange: Optional[
Literal["AMEX", "NYSE", "NASDAQ", "ETF", "TSX", "EURONEXT"]
] = Field(
description="The exchange code the ETF trades on.",
default=None,
)
is_active: Optional[Literal[True, False]] = Field(
description="Whether the ETF is actively trading.",

View File

@@ -26,9 +26,9 @@ class FMPIndexHistoricalQueryParams(IndexHistoricalQueryParams):
timeseries: Optional[NonNegativeInt] = Field(
default=None, description="Number of days to look back."
)
interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = (
Field(default="1day", description="Data granularity.")
)
interval: Literal[
"1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
] = Field(default="1day", description="Data granularity.")
sort: Literal["asc", "desc"] = Field(
default="desc", description="Sort the data in ascending or descending order."
)

View File

@@ -26,9 +26,9 @@ class FMPMarketIndicesQueryParams(MarketIndicesQueryParams):
timeseries: Optional[NonNegativeInt] = Field(
default=None, description="Number of days to look back."
)
interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = (
Field(default="1day", description="Data granularity.")
)
interval: Literal[
"1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
] = Field(default="1day", description="Data granularity.")
sort: Literal["asc", "desc"] = Field(
default="desc", description="Sort the data in ascending or descending order."
)

View File

@@ -22,9 +22,9 @@ DWPCR_PARAMETER_TO_FRED_ID = {
class FREDDiscountWindowPrimaryCreditRateParams(DiscountWindowPrimaryCreditRateParams):
"""FRED Discount Window Primary Credit Rate Query."""
parameter: Literal["daily_excl_weekend", "monthly", "weekly", "daily", "annual"] = (
Field(default="daily_excl_weekend", description="FRED series ID of DWPCR data.")
)
parameter: Literal[
"daily_excl_weekend", "monthly", "weekly", "daily", "annual"
] = Field(default="daily_excl_weekend", description="FRED series ID of DWPCR data.")
class FREDDiscountWindowPrimaryCreditRateData(DiscountWindowPrimaryCreditRateData):

View File

@@ -78,10 +78,11 @@ class FredSeriesQueryParams(SeriesQueryParams):
eop = End of Period
""",
)
transform: Literal[None, "chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] = (
Field(
default=None,
description="""
transform: Literal[
None, "chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"
] = Field(
default=None,
description="""
Transformation type
None = No transformation
chg = Change
@@ -93,7 +94,6 @@ class FredSeriesQueryParams(SeriesQueryParams):
cca = Continuously Compounded Annual Rate of Change
log = Natural Log
""",
)
)
limit: int = Field(description=QUERY_DESCRIPTIONS.get("limit", ""), default=100000)

View File

@@ -49,9 +49,9 @@ class IntrinioEquityHistoricalQueryParams(EquityHistoricalQueryParams):
_interval_size: Literal["1m", "5m", "10m", "15m", "30m", "60m", "1h"] = PrivateAttr(
default=None
)
_frequency: Literal["daily", "weekly", "monthly", "quarterly", "yearly"] = (
PrivateAttr(default=None)
)
_frequency: Literal[
"daily", "weekly", "monthly", "quarterly", "yearly"
] = PrivateAttr(default=None)
# pylint: disable=protected-access
@model_validator(mode="after")

View File

@@ -226,11 +226,11 @@ class IntrinioIncomeStatementData(IncomeStatementData):
deposits_interest_expense: Optional[float] = Field(
default=None, description="Deposits interest expense"
)
federal_funds_purchased_and_securities_sold_interest_expense: Optional[float] = (
Field(
default=None,
description="Federal funds purchased and securities sold interest expense",
)
federal_funds_purchased_and_securities_sold_interest_expense: Optional[
float
] = Field(
default=None,
description="Federal funds purchased and securities sold interest expense",
)
other_interest_expense: Optional[float] = Field(
default=None, description="Other interest expense"

View File

@@ -15,11 +15,11 @@ from pydantic import Field
class NasdaqSP500MultiplesQueryParams(SP500MultiplesQueryParams):
"""Nasdaq SP500 Multiples Query."""
collapse: Optional[Literal["daily", "weekly", "monthly", "quarterly", "annual"]] = (
Field(
description="Collapse the frequency of the time series.",
default="monthly",
)
collapse: Optional[
Literal["daily", "weekly", "monthly", "quarterly", "annual"]
] = Field(
description="Collapse the frequency of the time series.",
default="monthly",
)
transform: Optional[Literal["diff", "rdiff", "cumul", "normalize"]] = Field(
description="The transformation of the time series.",

View File

@@ -23,9 +23,9 @@ class PolygonCryptoHistoricalQueryParams(CryptoHistoricalQueryParams):
multiplier: PositiveInt = Field(
default=1, description="Multiplier of the timespan."
)
timespan: Literal["minute", "hour", "day", "week", "month", "quarter", "year"] = (
Field(default="day", description="Timespan of the data.")
)
timespan: Literal[
"minute", "hour", "day", "week", "month", "quarter", "year"
] = Field(default="day", description="Timespan of the data.")
sort: Literal["asc", "desc"] = Field(
default="desc", description="Sort order of the data."
)

View File

@@ -23,9 +23,9 @@ class PolygonCurrencyHistoricalQueryParams(CurrencyHistoricalQueryParams):
multiplier: PositiveInt = Field(
default=1, description="Multiplier of the timespan."
)
timespan: Literal["minute", "hour", "day", "week", "month", "quarter", "year"] = (
Field(default="day", description="Timespan of the data.")
)
timespan: Literal[
"minute", "hour", "day", "week", "month", "quarter", "year"
] = Field(default="day", description="Timespan of the data.")
sort: Literal["asc", "desc"] = Field(
default="desc", description="Sort order of the data."
)

View File

@@ -219,11 +219,11 @@ class PolygonIncomeStatementData(IncomeStatementData):
default=None,
description="Participating Securities Distributed And Undistributed Earnings Loss Basic",
)
undistributed_earnings_allocated_to_participating_securities: Optional[float] = (
Field(
default=None,
description="Undistributed Earnings Allocated To Participating Securities",
)
undistributed_earnings_allocated_to_participating_securities: Optional[
float
] = Field(
default=None,
description="Undistributed Earnings Allocated To Participating Securities",
)
common_stock_dividends: Optional[float] = Field(
default=None, description="Common Stock Dividends"

View File

@@ -20,9 +20,9 @@ class PolygonIndexHistoricalQueryParams(IndexHistoricalQueryParams):
Source: https://polygon.io/docs/indices/getting-started
"""
timespan: Literal["minute", "hour", "day", "week", "month", "quarter", "year"] = (
Field(default="day", description="Timespan of the data.")
)
timespan: Literal[
"minute", "hour", "day", "week", "month", "quarter", "year"
] = Field(default="day", description="Timespan of the data.")
sort: Literal["asc", "desc"] = Field(
default="desc", description="Sort order of the data."
)

View File

@@ -20,9 +20,9 @@ class PolygonMarketIndicesQueryParams(MarketIndicesQueryParams):
Source: https://polygon.io/docs/indices/getting-started
"""
timespan: Literal["minute", "hour", "day", "week", "month", "quarter", "year"] = (
Field(default="day", description="Timespan of the data.")
)
timespan: Literal[
"minute", "hour", "day", "week", "month", "quarter", "year"
] = Field(default="day", description="Timespan of the data.")
sort: Literal["asc", "desc"] = Field(
default="desc", description="Sort order of the data."
)

View File

@@ -432,9 +432,9 @@ class SecEtfHoldingsFetcher(
option_swaption_warrant_deriv = derivative_info[
"optionSwaptionWarrantDeriv"
]
df.loc[i, "derivative_category"] = (
option_swaption_warrant_deriv.get("@derivCat")
)
df.loc[
i, "derivative_category"
] = option_swaption_warrant_deriv.get("@derivCat")
df.loc[i, "counterparty"] = option_swaption_warrant_deriv[
"counterparties"
].get("counterpartyName")
@@ -462,21 +462,21 @@ class SecEtfHoldingsFetcher(
df.loc[i, "option_type"] = option_swaption_warrant_deriv.get(
"putOrCall"
)
df.loc[i, "derivative_payoff"] = (
option_swaption_warrant_deriv.get("writtenOrPur")
)
df.loc[
i, "derivative_payoff"
] = option_swaption_warrant_deriv.get("writtenOrPur")
df.loc[i, "expiry_date"] = option_swaption_warrant_deriv.get(
"expDt"
)
df.loc[i, "exercise_price"] = option_swaption_warrant_deriv.get(
"exercisePrice"
)
df.loc[i, "exercise_currency"] = (
option_swaption_warrant_deriv.get("exercisePriceCurCd")
)
df.loc[i, "shares_per_contract"] = (
option_swaption_warrant_deriv.get("shareNo")
)
df.loc[
i, "exercise_currency"
] = option_swaption_warrant_deriv.get("exercisePriceCurCd")
df.loc[
i, "shares_per_contract"
] = option_swaption_warrant_deriv.get("shareNo")
if option_swaption_warrant_deriv.get("delta") != "XXXX":
df.loc[i, "delta"] = option_swaption_warrant_deriv.get(
"delta"

View File

@@ -26,9 +26,9 @@ class TiingoCryptoHistoricalQueryParams(CryptoHistoricalQueryParams):
"end_date": "endDate",
}
interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = (
Field(default="1day", description="Data granularity.", alias="resampleFreq")
)
interval: Literal[
"1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
] = Field(default="1day", description="Data granularity.", alias="resampleFreq")
exchanges: Optional[List[str]] = Field(
default=None,

View File

@@ -26,9 +26,9 @@ class TiingoCurrencyHistoricalQueryParams(CurrencyHistoricalQueryParams):
"end_date": "endDate",
}
interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = (
Field(default="1day", description="Data granularity.", alias="resampleFreq")
)
interval: Literal[
"1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
] = Field(default="1day", description="Data granularity.", alias="resampleFreq")
class TiingoCurrencyHistoricalData(CurrencyHistoricalData):

View File

@@ -28,9 +28,9 @@ class TiingoEquityHistoricalQueryParams(EquityHistoricalQueryParams):
interval: Literal["1d", "1W", "1M", "1Y"] = Field(
default="1d", description=QUERY_DESCRIPTIONS.get("interval", "")
)
_frequency: Literal["daily", "weekly", "monthly", "quarterly", "yearly"] = (
PrivateAttr(default=None)
)
_frequency: Literal[
"daily", "weekly", "monthly", "quarterly", "yearly"
] = PrivateAttr(default=None)
# pylint: disable=protected-access
@model_validator(mode="after") # type: ignore[arg-type]

View File

@@ -48,7 +48,9 @@ def clean_attr_desc(attr: Optional[Any] = None) -> Optional[str]:
return (
attr.__doc__.splitlines()[1].lstrip()
if not attr.__doc__.splitlines()[0]
else attr.__doc__.splitlines()[0].lstrip() if attr.__doc__ else ""
else attr.__doc__.splitlines()[0].lstrip()
if attr.__doc__
else ""
)

View File

@@ -158,7 +158,9 @@ def display_crypto_heatmap(
)
fig.add_trace(treemap["data"][0], row=1, col=1)
fig.data[0].texttemplate = (
fig.data[
0
].texttemplate = (
"<br> <br> <b>%{label}<br> %{customdata[0]:.2f}% <br> <br> <br><br><b>"
)
fig.data[0].insidetextfont = dict(

View File

@@ -382,9 +382,9 @@ class Handler:
for ticker in tickers:
if ticker not in st.session_state["indicators_dfs"]:
st.session_state["indicators_dfs"][ticker] = (
await self.load_ticker_data(ticker, interval, start, end, source)
)
st.session_state["indicators_dfs"][
ticker
] = await self.load_ticker_data(ticker, interval, start, end, source)
if st.session_state["indicators_dfs"][ticker].empty:
indicators_dfs = st.session_state["indicators_dfs"]
del indicators_dfs[ticker]

View File

@@ -1743,15 +1743,15 @@ class EconometricsController(BaseController):
self.regression[regression][
"independent"
] = independent_variables
self.regression[regression_name]["model"] = (
regression_view.display_panel(
regression_df[dependent_variable],
regression_df[independent_variables],
regression,
ns_parser.entity_effects,
ns_parser.time_effects,
ns_parser.export,
)
self.regression[regression_name][
"model"
] = regression_view.display_panel(
regression_df[dependent_variable],
regression_df[independent_variables],
regression,
ns_parser.entity_effects,
ns_parser.time_effects,
ns_parser.export,
)
else:
console.print(

View File

@@ -1436,9 +1436,9 @@ class EconomyController(BaseController):
if not df.empty:
for series_id, data in detail.items():
self.FRED_TITLES[series_id] = (
f"{data['title']} ({data['units']})"
)
self.FRED_TITLES[
series_id
] = f"{data['title']} ({data['units']})"
# Making data available at the class level
self.DATASETS["fred"][series_id] = df[series_id]

View File

@@ -374,10 +374,10 @@ def get_cpi(
for series_id, country_value, frequency_value, unit_value in series[
["series_id", "country", "frequency", "units"]
].values:
series_dictionary[f"{country_value}-{frequency_value}-{unit_value}"] = (
get_series_data(
series_id=series_id, start_date=start_date, end_date=end_date
)
series_dictionary[
f"{country_value}-{frequency_value}-{unit_value}"
] = get_series_data(
series_id=series_id, start_date=start_date, end_date=end_date
)
df = pd.DataFrame.from_dict(series_dictionary)

View File

@@ -265,7 +265,9 @@ def plot_cpi(
title += (
" Indices"
if len(df.columns) > 1
else f" Index for {country}" if country else ""
else f" Index for {country}"
if country
else ""
)
fig = OpenBBFigure(yaxis_title=ylabel_dict.get(units, "Index (2015=100)"))

View File

@@ -1245,7 +1245,9 @@ def plot_icebofa(
title = (
""
if df.empty
else "ICE BofA Bond Benchmark Indices" if len(df.columns) > 1 else df.columns[0]
else "ICE BofA Bond Benchmark Indices"
if len(df.columns) > 1
else df.columns[0]
)
fig = OpenBBFigure(yaxis_title="Yield (%)" if units == "percent" else "Index")

View File

@@ -83,7 +83,9 @@ def plot_treasuries(
term = (
"Short and Long"
if short_term and long_term
else "Long" if long_term else "Short"
else "Long"
if long_term
else "Short"
)
title = f"{term} Term Interest Rates {' with forecasts' if forecast else ''}"
fig.set_title(title)

View File

@@ -202,17 +202,17 @@ class TerminalStyle:
continue
if stf.name.endswith(".mplstyle"):
self.mpl_styles_available[stf.name.replace(".mplstyle", "")] = (
os.path.join(folder, stf)
)
self.mpl_styles_available[
stf.name.replace(".mplstyle", "")
] = os.path.join(folder, stf)
elif stf.name.endswith(".mplrc.json"):
self.mpl_rcparams_available[stf.name.replace(".mplrc.json", "")] = (
os.path.join(folder, stf)
)
self.mpl_rcparams_available[
stf.name.replace(".mplrc.json", "")
] = os.path.join(folder, stf)
elif stf.name.endswith(".mpfstyle.json"):
self.mpf_styles_available[stf.name.replace(".mpfstyle.json", "")] = (
os.path.join(folder, stf)
)
self.mpf_styles_available[
stf.name.replace(".mpfstyle.json", "")
] = os.path.join(folder, stf)
elif stf.name.endswith(".richstyle.json"):
self.console_styles_available[
stf.name.replace(".richstyle.json", "")

View File

@@ -1159,7 +1159,9 @@ def text_adjustment_justify(self, texts, max_len, mode="right"):
justify = (
str.ljust
if (mode == "left")
else str.rjust if (mode == "right") else str.center
else str.rjust
if (mode == "right")
else str.center
)
out = []
for s in texts:

View File

@@ -45,7 +45,9 @@ def transform(
lambda series: (
series
if skipPredicate is not None and skipPredicate(series)
else series * multiplier if isinstance(series, (float, int)) else series
else series * multiplier
if isinstance(series, (float, int))
else series
),
axis,
)

View File

@@ -383,16 +383,16 @@ def get_daily_sector_prices(start_date, end_date) -> dict:
sector_ticker,
) in sp500_tickers.items(): # iterate thru the sectors
# load the data required from yfinance
sp500_tickers_data[sector] = (
{ # builds a dictionary entry for the sector with adj close data
"sector_data": yf.download(
sector_ticker,
start=start_date,
end=end_date,
progress=False,
ignore_tz=True,
)["Adj Close"]
}
) # stores the data here
sp500_tickers_data[
sector
] = { # builds a dictionary entry for the sector with adj close data
"sector_data": yf.download(
sector_ticker,
start=start_date,
end=end_date,
progress=False,
ignore_tz=True,
)["Adj Close"]
} # stores the data here
return sp500_tickers_data

View File

@@ -261,11 +261,13 @@ class PortfolioController(BaseController):
categories["COUNTRY"][transaction["Ticker"]] = transaction[
"Country"
]
categories["CURRENT_INVESTED_AMOUNT"][transaction["Ticker"]] = (
transactions[
transactions["Ticker"] == transaction["Ticker"]
]["Investment"].sum()
)
categories["CURRENT_INVESTED_AMOUNT"][
transaction["Ticker"]
] = transactions[
transactions["Ticker"] == transaction["Ticker"]
][
"Investment"
].sum()
categories["CURRENCY"][transaction["Ticker"]] = transaction[
"Currency"
]

View File

@@ -1191,7 +1191,9 @@ def get_blacklitterman(
@log_start_end(log=logger)
def get_ef(portfolio_engine: Optional[PoEngine] = None, **kwargs) -> Tuple[
def get_ef(
portfolio_engine: Optional[PoEngine] = None, **kwargs
) -> Tuple[
pd.DataFrame,
pd.DataFrame,
pd.DataFrame,

View File

@@ -74,9 +74,9 @@ class ReportController(BaseController):
self.choices[report_name] = {}
for arg in self.PARAMETERS_DICT[report_name]:
if report_name in reports_model.REPORT_CHOICES:
self.choices[report_name]["--" + arg] = (
reports_model.REPORT_CHOICES[report_name]["--" + arg]
)
self.choices[report_name][
"--" + arg
] = reports_model.REPORT_CHOICES[report_name]["--" + arg]
self.choices["support"] = self.SUPPORT_CHOICES
self.choices["about"] = self.ABOUT_CHOICES

View File

@@ -50,9 +50,9 @@ def catching_diff_url_formats(ftd_urls: list) -> list:
ftd_url
== "https://www.sec.gov/files/data/fails-deliver-data/cnsfails201910a.zip"
):
ftd_urls[i] = (
"https://www.sec.gov/files/data/fails-deliver-data/cnsfails201910a_0.zip"
)
ftd_urls[
i
] = "https://www.sec.gov/files/data/fails-deliver-data/cnsfails201910a_0.zip"
return ftd_urls

View File

@@ -58,9 +58,9 @@ def get_high_short_interest() -> DataFrame:
shorted_stock_data = a_stock_txt.split("\n")
if len(shorted_stock_data) == 8:
df_high_short_interest.loc[len(df_high_short_interest.index)] = (
shorted_stock_data[:-1]
)
df_high_short_interest.loc[
len(df_high_short_interest.index)
] = shorted_stock_data[:-1]
shorted_stock_data = []

View File

@@ -81,7 +81,9 @@ def display_heatmap(
)
fig.add_trace(treemap["data"][0], row=1, col=1)
fig.data[0].texttemplate = (
fig.data[
0
].texttemplate = (
"<br> <br> <b>%{label}<br> %{customdata[0]:.2f}% <br> <br> <br><br><b>"
)
fig.data[0].insidetextfont = dict(family="Arial Black", size=20, color="white")

View File

@@ -95,10 +95,10 @@ def get_management(symbol: str) -> pd.DataFrame:
df_management = df_management.set_index("Name")
for s_name in df_management.index:
df_management.loc[s_name]["Info"] = (
f"http://www.google.com/search?q={s_name} {symbol.upper()}".replace(
" ", "%20"
)
df_management.loc[s_name][
"Info"
] = f"http://www.google.com/search?q={s_name} {symbol.upper()}".replace(
" ", "%20"
)
return df_management

View File

@@ -163,7 +163,9 @@ def display_price_target_from_analysts(
lambda x: (
theme.up_color
if x == "BUY"
else theme.down_color if x == "SELL" else "#b3a8a8"
else theme.down_color
if x == "SELL"
else "#b3a8a8"
)
)

View File

@@ -988,7 +988,9 @@ class CreateExcelFA:
df = (
self.df["IS"]
if title in self.df["IS"].index
else self.df["BS"] if title in self.df["BS"].index else self.df["CF"]
else self.df["BS"]
if title in self.df["BS"].index
else self.df["CF"]
)
ind = (
df.index.get_loc(title)

View File

@@ -213,20 +213,20 @@ def print_insider_filter(
new_df_insider["Trade Type"] == "S - Sale"
].apply(lambda_red_highlight)
if not new_df_insider[new_df_insider["Trade Type"] == "S - Sale+OE"].empty:
new_df_insider[new_df_insider["Trade Type"] == "S - Sale+OE"] = (
new_df_insider[new_df_insider["Trade Type"] == "S - Sale+OE"].apply(
lambda_yellow_highlight
)
new_df_insider[
new_df_insider["Trade Type"] == "S - Sale+OE"
] = new_df_insider[new_df_insider["Trade Type"] == "S - Sale+OE"].apply(
lambda_yellow_highlight
)
if not new_df_insider[new_df_insider["Trade Type"] == "F - Tax"].empty:
new_df_insider[new_df_insider["Trade Type"] == "F - Tax"] = new_df_insider[
new_df_insider["Trade Type"] == "F - Tax"
].apply(lambda_magenta_highlight)
if not new_df_insider[new_df_insider["Trade Type"] == "P - Purchase"].empty:
new_df_insider[new_df_insider["Trade Type"] == "P - Purchase"] = (
new_df_insider[new_df_insider["Trade Type"] == "P - Purchase"].apply(
lambda_green_highlight
)
new_df_insider[
new_df_insider["Trade Type"] == "P - Purchase"
] = new_df_insider[new_df_insider["Trade Type"] == "P - Purchase"].apply(
lambda_green_highlight
)
patch_pandas_text_adjustment()