Clean up FA menu printing (#1383)

This commit is contained in:
jmaslek
2022-02-16 12:14:37 -05:00
committed by GitHub
parent a16db8a6f1
commit 4e84bd2557
4 changed files with 63 additions and 42 deletions

View File

@@ -30,15 +30,16 @@ def display_management(ticker: str, export: str = ""):
lambda x: "\n".join(textwrap.wrap(x, width=30)) if isinstance(x, str) else x
)
names = ["Name"] + list(df_new.columns)
if not df_new.empty:
print_rich_table(
df_new,
title="Company Managers",
headers=names,
headers=list(df_new.columns),
show_index=True,
index_name="Name",
)
console.print("")
console.print()
export_data(
export, os.path.dirname(os.path.abspath(__file__)), "mgmt", df_management
)

View File

@@ -29,7 +29,7 @@ def valinvest_score(ticker: str):
"""
score = fmp_model.get_score(ticker)
console.print(f"Score: {score:.2f}".rstrip("0").rstrip(".") + " %")
console.print("")
console.print()
@log_start_end(log=logger)
@@ -48,8 +48,9 @@ def display_profile(ticker: str):
if not profile.empty:
print_rich_table(
profile.drop(index=["description", "image"]),
headers=[],
title="Ticker Profile",
headers=[""],
title=f"{ticker.upper()} Profile",
show_index=True,
)
console.print(f"\nImage: {profile.loc['image'][0]}")
@@ -57,7 +58,7 @@ def display_profile(ticker: str):
else:
console.print("[red]Unable to get data[/red]")
console.print("")
console.print()
@log_start_end(log=logger)
@@ -71,8 +72,8 @@ def display_quote(ticker: str):
"""
quote = fmp_model.get_quote(ticker)
print_rich_table(quote, headers=[], title=f"{ticker} Quote")
console.print("")
print_rich_table(quote, headers=[""], title=f"{ticker} Quote", show_index=True)
console.print()
@log_start_end(log=logger)
@@ -94,8 +95,13 @@ def display_enterprise(
"""
df_fa = fmp_model.get_enterprise(ticker, number, quarterly)
df_fa = df_fa[df_fa.columns[::-1]]
print_rich_table(df_fa, headers=list(df_fa.columns), title=f"{ticker} Enterprise")
console.print("")
print_rich_table(
df_fa,
headers=list(df_fa.columns),
title=f"{ticker} Enterprise",
show_index=True,
)
console.print()
export_data(export, os.path.dirname(os.path.abspath(__file__)), "enterprise", df_fa)
@@ -118,9 +124,9 @@ def display_discounted_cash_flow(
"""
dcf = fmp_model.get_dcf(ticker, number, quarterly)
dcf = dcf[dcf.columns[::-1]]
print_rich_table(dcf, headers=[], title="Discounted Cash Flow")
print_rich_table(dcf, headers=[""], title="Discounted Cash Flow", show_index=True)
console.print("")
console.print()
export_data(export, os.path.dirname(os.path.abspath(__file__)), "dcf", dcf)
@@ -148,16 +154,16 @@ def display_income_statement(
print_rich_table(
income.drop(index=["Final link", "Link"]),
headers=list(income.columns),
title="Ticker Income Statement",
title=f"{ticker.upper()} Income Statement",
show_index=True,
)
pd.set_option("display.max_colwidth", None)
console.print("")
console.print()
console.print(income.loc["Final link"].to_frame().to_string())
console.print("")
console.print()
console.print(income.loc["Link"].to_frame().to_string())
console.print("")
console.print()
export_data(
export, os.path.dirname(os.path.abspath(__file__)), "income", income
)
@@ -189,16 +195,16 @@ def display_balance_sheet(
print_rich_table(
balance.drop(index=["Final link", "Link"]),
headers=list(balance.columns),
title="Ticker Balance Sheet",
title=f"{ticker.upper()} Balance Sheet",
show_index=True,
)
pd.set_option("display.max_colwidth", None)
console.print("")
console.print()
console.print(balance.loc["Final link"].to_frame().to_string())
console.print("")
console.print()
console.print(balance.loc["Link"].to_frame().to_string())
console.print("")
console.print()
export_data(
export, os.path.dirname(os.path.abspath(__file__)), "balance", balance
)
@@ -230,16 +236,16 @@ def display_cash_flow(
print_rich_table(
cash.drop(index=["Final link", "Link"]),
headers=list(cash.columns),
title="Ticker Cash Flow",
title=f"{ticker.upper()} Cash Flow",
show_index=True,
)
pd.set_option("display.max_colwidth", None)
console.print("")
console.print()
console.print(cash.loc["Final link"].to_frame().to_string())
console.print("")
console.print()
console.print(cash.loc["Link"].to_frame().to_string())
console.print("")
console.print()
export_data(export, os.path.dirname(os.path.abspath(__file__)), "cash", cash)
else:
console.print("[red]Could not get data[/red]\n")
@@ -269,10 +275,10 @@ def display_key_metrics(
print_rich_table(
key_metrics,
headers=list(key_metrics.columns),
title="Ticker Key Metrics",
title=f"{ticker.upper()} Key Metrics",
show_index=True,
)
console.print("")
console.print()
export_data(
export, os.path.dirname(os.path.abspath(__file__)), "metrics", key_metrics
)
@@ -304,10 +310,10 @@ def display_financial_ratios(
print_rich_table(
ratios,
headers=list(ratios.columns),
title="Ticker Ratios",
title=f"{ticker.upper()} Ratios",
show_index=True,
)
console.print("")
console.print()
export_data(
export, os.path.dirname(os.path.abspath(__file__)), "grratiosowth", ratios
)
@@ -337,9 +343,12 @@ def display_financial_statement_growth(
if not growth.empty:
growth = growth[growth.columns[::-1]]
print_rich_table(
growth, headers=list(growth.columns), title="Ticker Growth", show_index=True
growth,
headers=list(growth.columns),
title=f"{ticker.upper()} Growth",
show_index=True,
)
console.print("")
console.print()
export_data(
export, os.path.dirname(os.path.abspath(__file__)), "growth", growth
)

View File

@@ -63,7 +63,10 @@ def display_info(ticker: str):
if not df_info.empty:
print_rich_table(
df_info, headers=list(df_info.columns), show_index=True, title="Ticker Info"
df_info,
headers=list(df_info.columns),
show_index=True,
title=f"{ticker.upper()} Info",
)
else:
console.print("[red]Invalid data[/red]\n")
@@ -87,16 +90,24 @@ def display_shareholders(ticker: str):
df_institutional_shareholders,
df_mutualfund_shareholders,
) = yahoo_finance_model.get_shareholders(ticker)
df_major_holders.columns = ["", ""]
dfs = [df_major_holders, df_institutional_shareholders, df_mutualfund_shareholders]
titles = ["Major Holders:\n", "Institutuinal Holders:\n", "Mutual Fund Holders:\n"]
console.print("")
titles = ["Major Holders:\n", "Institutional Holders:\n", "Mutual Fund Holders:\n"]
console.print()
for df, title in zip(dfs, titles):
console.print(title)
if "Date Reported" in df.columns:
df["Date Reported"] = df["Date Reported"].apply(
lambda x: x.strftime("%Y-%m-%d")
)
print_rich_table(
df, headers=list(df.columns), show_index=False, title="Ticker Shareholders"
df,
headers=list(df.columns),
show_index=False,
title=f"{ticker.upper()} Shareholders",
)
console.print("")
console.print()
@log_start_end(log=logger)
@@ -120,7 +131,7 @@ def display_sustainability(ticker: str):
print_rich_table(
df_sustainability,
headers=list(df_sustainability),
title="Ticker Sustainability",
title=f"{ticker.upper()} Sustainability",
show_index=True,
)
console.print("")
@@ -144,7 +155,7 @@ def display_calendar_earnings(ticker: str):
df_calendar,
show_index=False,
headers=list(df_calendar.columns),
title="Ticker Calendar Earnings",
title=f"{ticker.upper()} Calendar Earnings",
)
console.print("")
@@ -216,7 +227,7 @@ def display_dividends(
print_rich_table(
div_history.head(limit),
headers=["Amount Paid ($)", "Change"],
title="Ticker Historical Dividends",
title=f"{ticker.upper()} Historical Dividends",
)
console.print("")
export_data(export, os.path.dirname(os.path.abspath(__file__)), "divs", div_history)

View File

@@ -1,13 +1,13 @@
Major Holders:
0 1
0 0.19% Percentage of Shares Held by All Insider
1 76.24% Percentage of Shares Held by Institutions
2 76.39% Percentage of Float Held by Institutions
3 2322 Number of Institutions Holding Shares
Institutuinal Holders:
Institutional Holders:
Holder Shares Date Reported Stake Value
0 Vanguard Group, Inc. (The) 125.443 M 2021-09-29 8.06 % 11.891 B