Spaces:
Running
Running
Update pages/portfolio_tracker.py
Browse files- pages/portfolio_tracker.py +41 -40
pages/portfolio_tracker.py
CHANGED
|
@@ -88,56 +88,57 @@ for i in range(len(comp_info)-1):
|
|
| 88 |
with st.form(key="selecting columns"):
|
| 89 |
symbols = st.multiselect(label='Select Tickers:', options=list_of_tickers)
|
| 90 |
submit_button = st.form_submit_button(label='Evaluate')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
hash_map = {}
|
| 97 |
-
|
| 98 |
-
for ticker in symbols:
|
| 99 |
-
# make all the API calls and capture return json
|
| 100 |
-
basic_info = get_industry(ticker)
|
| 101 |
-
metric_data, annual_series_data, quarterly_series_data = get_company_metrics(ticker)
|
| 102 |
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
|
| 115 |
-
|
| 116 |
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
|
| 131 |
-
|
| 132 |
-
|
| 133 |
|
| 134 |
-
|
| 135 |
-
|
| 136 |
|
| 137 |
-
|
| 138 |
|
| 139 |
-
|
| 140 |
|
| 141 |
-
|
| 142 |
|
| 143 |
-
|
|
|
|
| 88 |
with st.form(key="selecting columns"):
|
| 89 |
symbols = st.multiselect(label='Select Tickers:', options=list_of_tickers)
|
| 90 |
submit_button = st.form_submit_button(label='Evaluate')
|
| 91 |
+
|
| 92 |
+
st.write(symbols)
|
| 93 |
+
|
| 94 |
+
# if submit_button and symbols:
|
| 95 |
+
# beta_dfs = []
|
| 96 |
+
# gains_data = {}
|
| 97 |
+
# hash_map = {}
|
| 98 |
|
| 99 |
+
# for ticker in symbols:
|
| 100 |
+
# # make all the API calls and capture return json
|
| 101 |
+
# basic_info = get_industry(ticker)
|
| 102 |
+
# metric_data, annual_series_data, quarterly_series_data = get_company_metrics(ticker)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
|
| 104 |
+
# # reformat all JSON returns to be flattened dictionaries
|
| 105 |
+
# roe_dict = {'roe': annual_series_data['roe'][0]['v']}
|
| 106 |
+
# totalDebtToTotalCapital_y_dict = {'totalDebtToTotalCapital_y' : annual_series_data['totalDebtToTotalCapital'][0]['v']}
|
| 107 |
+
# totalDebtToEquity_y_dict = {'totalDebtToEquity_y' : annual_series_data['totalDebtToEquity'][0]['v']}
|
| 108 |
+
# eps_dict = {'eps' : annual_series_data['eps'][0]['v']}
|
| 109 |
+
# totalDebtToTotalCapital_q_dict = {'totalDebtToTotalCapital_q' : quarterly_series_data['totalDebtToTotalCapital'][0]['v']}
|
| 110 |
+
# totalDebtToEquity_q_dict = {'totalDebtToEquity_q' : quarterly_series_data['totalDebtToEquity'][0]['v']}
|
| 111 |
|
| 112 |
+
# # merge all dictionary keys per ticker
|
| 113 |
+
# combined_info = basic_info.copy() # Make a copy of the basic info
|
| 114 |
+
# combined_info = combined_info | metric_data | roe_dict | totalDebtToTotalCapital_y_dict | totalDebtToEquity_q_dict |totalDebtToEquity_y_dict | eps_dict | totalDebtToTotalCapital_q_dict
|
| 115 |
|
| 116 |
+
# hash_map[ticker] = combined_info
|
| 117 |
|
| 118 |
+
# # beta calculations
|
| 119 |
+
# df_b = calc_beta(ticker)
|
| 120 |
+
# beta_dfs.append(df_b)
|
| 121 |
|
| 122 |
+
# # equity gains
|
| 123 |
+
# _, div = get_equity_gains(ticker=ticker, period=1810)
|
| 124 |
+
# gains_data[ticker] = div
|
| 125 |
|
| 126 |
+
# # Now, create a DataFrame from the hash_map
|
| 127 |
+
# df_1 = pd.DataFrame.from_dict(hash_map, orient='index')[['finnhubIndustry','eps','roe','dividendGrowthRate5Y','epsGrowth5Y','payoutRatioAnnual','payoutRatioTTM','roeTTM','totalDebtToEquity_y','totalDebtToEquity_q', 'totalDebtToTotalCapital_y','totalDebtToTotalCapital_q']]
|
| 128 |
+
# # Create beta df
|
| 129 |
+
# beta_df = pd.concat(beta_dfs)
|
| 130 |
+
# df_2 = pd.DataFrame(list(gains_data.items()), columns=['symbol', 'recent_dividend']).set_index('symbol')
|
| 131 |
|
| 132 |
+
# df_apis = df_1.join(beta_df)
|
| 133 |
+
# df_final = df_apis.join(df_2)
|
| 134 |
|
| 135 |
+
# # calculate additional columns
|
| 136 |
+
# df_final['5Y_SP500_growth'], _ = get_equity_gains(ticker= '^GSPC', period=1810)
|
| 137 |
|
| 138 |
+
# df_final['90_day_tbill'] = 4.06
|
| 139 |
|
| 140 |
+
# df_final['CAPM'] = df_final['90_day_tbill']/100 + df_final['Beta']*(df_final['5Y_SP500_growth'] - df_final['90_day_tbill']/100)
|
| 141 |
|
| 142 |
+
# df_final['DDM'] = (df_final['recent_dividend'] * (1+df_final['dividendGrowthRate5Y']/100)) / (df_final['CAPM'] - df_final['dividendGrowthRate5Y']/100)
|
| 143 |
|
| 144 |
+
# st.write(df_final)
|