Skip to content

Commit 396bd53

Browse files
committed
Implement main metrics in Balance Sheet tab
1 parent 673ff92 commit 396bd53

File tree

2 files changed

+83
-10
lines changed

2 files changed

+83
-10
lines changed

src/infra/yahoo.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,6 @@ def get_balance_sheet(
5959
"Stockholders Equity",
6060
]
6161

62-
balance_sheet.loc["Debt to Equity"] = (
63-
balance_sheet.loc["Total Liabilities Net Minority Interest"]
64-
/ balance_sheet.loc["Stockholders Equity"]
65-
)
66-
balance_sheet.loc["Current Ratio"] = (
67-
balance_sheet.loc["Current Assets"]
68-
/ balance_sheet.loc["Current Liabilities"]
69-
)
70-
7162
df_balance_sheet = balance_sheet.transpose()
7263
df_balance_sheet = df_balance_sheet.reindex(columns=fields, fill_value=0)
7364

src/ui/layout.py

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,93 @@ def render_overview(financial_data):
169169
)
170170

171171

172+
def calculate_diff(current_value, previous_value):
173+
return current_value - previous_value
174+
175+
172176
def render_balance_sheet(financial_data):
173177
balance_sheet = financial_data.get_balance_sheet(
174178
st.session_state["ticker"], frequency="quarterly"
175179
)
176-
st.dataframe(balance_sheet)
180+
181+
with st.container():
182+
col1, col2, col3 = st.columns(3)
183+
184+
current_total_assets = int(balance_sheet["Total Assets"][0])
185+
previous_total_assets = int(balance_sheet["Total Assets"][1])
186+
total_assets_diff = calculate_diff(current_total_assets, previous_total_assets)
187+
col1.metric(
188+
label="Total Assets",
189+
value=f"{current_total_assets:,}",
190+
delta=f"{total_assets_diff:,}",
191+
)
192+
193+
current_total_liabilities = int(
194+
balance_sheet["Total Liabilities Net Minority Interest"][0]
195+
)
196+
previous_total_liabilities = int(
197+
balance_sheet["Total Liabilities Net Minority Interest"][1]
198+
)
199+
total_liabilities_diff = calculate_diff(
200+
current_total_liabilities, previous_total_liabilities
201+
)
202+
col2.metric(
203+
label="Total Liabilities",
204+
value=f"{current_total_liabilities:,}",
205+
delta=f"{total_liabilities_diff:,}",
206+
delta_color="inverse",
207+
)
208+
209+
current_working_capital = int(balance_sheet["Working Capital"][0])
210+
previous_working_capital = int(balance_sheet["Working Capital"][1])
211+
working_capital_diff = calculate_diff(
212+
current_working_capital, previous_working_capital
213+
)
214+
col3.metric(
215+
label="Working Capital",
216+
value=f"{current_working_capital:,}",
217+
delta=f"{working_capital_diff:,}",
218+
)
219+
220+
with st.container():
221+
col1, col2, col3 = st.columns(3)
222+
223+
current_debt = int(balance_sheet["Total Debt"][0])
224+
previous_debt = int(balance_sheet["Total Debt"][1])
225+
total_debt_diff = calculate_diff(current_debt, previous_debt)
226+
col1.metric(
227+
label="Total Debt",
228+
value=f"{current_debt:,}",
229+
delta=f"{total_debt_diff:,}",
230+
delta_color="inverse",
231+
)
232+
233+
current_debt_equity = float(
234+
balance_sheet["Total Liabilities Net Minority Interest"][0]
235+
) / float(balance_sheet["Stockholders Equity"][0])
236+
previous_debt_equity = float(
237+
balance_sheet["Total Liabilities Net Minority Interest"][1]
238+
) / float(balance_sheet["Stockholders Equity"][1])
239+
debt_equity_diff = calculate_diff(current_debt_equity, previous_debt_equity)
240+
col2.metric(
241+
label="Debt to Equity",
242+
value=f"{current_debt_equity:.3}",
243+
delta=f"{debt_equity_diff:.2}",
244+
delta_color="inverse",
245+
)
246+
247+
current_ratio = float(balance_sheet["Current Assets"][0]) / float(
248+
balance_sheet["Current Liabilities"][1]
249+
)
250+
previous_ratio = float(balance_sheet["Current Assets"][1]) / float(
251+
balance_sheet["Current Liabilities"][1]
252+
)
253+
current_ration_diff = calculate_diff(current_ratio, previous_ratio)
254+
col3.metric(
255+
label="Current Ratio",
256+
value=f"{current_ratio:.3}",
257+
delta=f"{current_ration_diff:.3}",
258+
)
177259

178260

179261
def render_income_stmt(financial_data):

0 commit comments

Comments
 (0)