RobertCastagna commited on
Commit
4824d53
·
verified ·
1 Parent(s): 4387353

Update pages/portfolio_tracker.py

Browse files
Files changed (1) hide show
  1. 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
- if submit_button and symbols:
93
- st.write(symbols)
94
- beta_dfs = []
95
- gains_data = {}
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
- # reformat all JSON returns to be flattened dictionaries
104
- roe_dict = {'roe': annual_series_data['roe'][0]['v']}
105
- totalDebtToTotalCapital_y_dict = {'totalDebtToTotalCapital_y' : annual_series_data['totalDebtToTotalCapital'][0]['v']}
106
- totalDebtToEquity_y_dict = {'totalDebtToEquity_y' : annual_series_data['totalDebtToEquity'][0]['v']}
107
- eps_dict = {'eps' : annual_series_data['eps'][0]['v']}
108
- totalDebtToTotalCapital_q_dict = {'totalDebtToTotalCapital_q' : quarterly_series_data['totalDebtToTotalCapital'][0]['v']}
109
- totalDebtToEquity_q_dict = {'totalDebtToEquity_q' : quarterly_series_data['totalDebtToEquity'][0]['v']}
110
 
111
- # merge all dictionary keys per ticker
112
- combined_info = basic_info.copy() # Make a copy of the basic info
113
- combined_info = combined_info | metric_data | roe_dict | totalDebtToTotalCapital_y_dict | totalDebtToEquity_q_dict |totalDebtToEquity_y_dict | eps_dict | totalDebtToTotalCapital_q_dict
114
 
115
- hash_map[ticker] = combined_info
116
 
117
- # beta calculations
118
- df_b = calc_beta(ticker)
119
- beta_dfs.append(df_b)
120
 
121
- # equity gains
122
- _, div = get_equity_gains(ticker=ticker, period=1810)
123
- gains_data[ticker] = div
124
 
125
- # Now, create a DataFrame from the hash_map
126
- 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']]
127
- # Create beta df
128
- beta_df = pd.concat(beta_dfs)
129
- df_2 = pd.DataFrame(list(gains_data.items()), columns=['symbol', 'recent_dividend']).set_index('symbol')
130
 
131
- df_apis = df_1.join(beta_df)
132
- df_final = df_apis.join(df_2)
133
 
134
- # calculate additional columns
135
- df_final['5Y_SP500_growth'], _ = get_equity_gains(ticker= '^GSPC', period=1810)
136
 
137
- df_final['90_day_tbill'] = 4.06
138
 
139
- df_final['CAPM'] = df_final['90_day_tbill']/100 + df_final['Beta']*(df_final['5Y_SP500_growth'] - df_final['90_day_tbill']/100)
140
 
141
- df_final['DDM'] = (df_final['recent_dividend'] * (1+df_final['dividendGrowthRate5Y']/100)) / (df_final['CAPM'] - df_final['dividendGrowthRate5Y']/100)
142
 
143
- st.write(df_final)
 
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)