wnstnb commited on
Commit
e892479
ยท
1 Parent(s): 7c4ffbe

progress bar

Browse files
Files changed (1) hide show
  1. app.py +135 -133
app.py CHANGED
@@ -114,143 +114,145 @@ with st.form("choose_model"):
114
  st.info('No model selected.')
115
 
116
  if submitted:
 
 
117
 
118
  fname=f'performance_for_{option}_model.csv'
119
 
120
- with st.status(f"Running model for {option}..."):
121
-
122
- if option == '06:30':
123
-
124
- from model_day import *
125
-
126
- fname='performance_for_open_model.csv'
127
-
128
- st.write('Loading data...')
129
- data, df_final, final_row = get_data()
130
- # st.success("โœ… Historical data")
131
-
132
- st.write("Training models...")
133
- def train_models():
134
- res1, xgbr, seq2 = walk_forward_validation_seq(df_final.dropna(), 'Target_clf', 'Target', 200, 1)
135
- return res1, xgbr, seq2
136
- res1, xgbr, seq2 = train_models()
137
- # st.success("โœ… Models trained")
138
-
139
- st.write("Getting new prediction...")
140
-
141
- # Get last row
142
- new_pred = data.loc[final_row, model_cols]
143
-
144
- new_pred = pd.DataFrame(new_pred).T
145
- # new_pred_show = pd.DataFrame(index=[new_pred.columns], columns=[new_pred.index], data=[[v] for v in new_pred.values])
146
- # last_date = datetime.datetime.strptime(data.loc[final_row], '%Y-%m-%d')
147
- curr_date = final_row + BDay(1)
148
- curr_date = curr_date.strftime('%Y-%m-%d')
149
-
150
- new_pred['BigNewsDay'] = new_pred['BigNewsDay'].astype(float)
151
- new_pred['Quarter'] = new_pred['Quarter'].astype(int)
152
- new_pred['Perf5Day'] = new_pred['Perf5Day'].astype(bool)
153
- new_pred['Perf5Day_n1'] = new_pred['Perf5Day_n1'].astype(bool)
154
- new_pred['DaysGreen'] = new_pred['DaysGreen'].astype(float)
155
- new_pred['DaysRed'] = new_pred['DaysRed'].astype(float)
156
- new_pred['CurrentGap'] = new_pred['CurrentGap'].astype(float)
157
- new_pred['RangePct'] = new_pred['RangePct'].astype(float)
158
- new_pred['RangePct_n1'] = new_pred['RangePct_n1'].astype(float)
159
- new_pred['RangePct_n2'] = new_pred['RangePct_n2'].astype(float)
160
- new_pred['OHLC4_VIX'] = new_pred['OHLC4_VIX'].astype(float)
161
- new_pred['OHLC4_VIX_n1'] = new_pred['OHLC4_VIX_n1'].astype(float)
162
- new_pred['OHLC4_VIX_n2'] = new_pred['OHLC4_VIX_n2'].astype(float)
163
- # new_pred['OHLC4_Current_Trend'] = new_pred['OHLC4_Current_Trend'].astype(bool)
164
- # new_pred['OHLC4_Trend'] = new_pred['OHLC4_Trend'].astype(bool)
165
- new_pred['OpenL1'] = new_pred['OpenL1'].astype(float)
166
- new_pred['OpenL2'] = new_pred['OpenL2'].astype(float)
167
- new_pred['OpenH1'] = new_pred['OpenH1'].astype(float)
168
- new_pred['OpenH2'] = new_pred['OpenH2'].astype(float)
169
- new_pred['L1TouchPct'] = new_pred['L1TouchPct'].astype(float)
170
- new_pred['L2TouchPct'] = new_pred['L2TouchPct'].astype(float)
171
- new_pred['H1TouchPct'] = new_pred['H1TouchPct'].astype(float)
172
- new_pred['H2TouchPct'] = new_pred['H2TouchPct'].astype(float)
173
- new_pred['L1BreakPct'] = new_pred['L1BreakPct'].astype(float)
174
- new_pred['L2BreakPct'] = new_pred['L2BreakPct'].astype(float)
175
- new_pred['H1BreakPct'] = new_pred['H1BreakPct'].astype(float)
176
- new_pred['H2BreakPct'] = new_pred['H2BreakPct'].astype(float)
177
- new_pred['H1BreakTouchPct'] = new_pred['H1BreakTouchPct'].astype(float)
178
- new_pred['H2BreakTouchPct'] = new_pred['H2BreakTouchPct'].astype(float)
179
- new_pred['L1BreakTouchPct'] = new_pred['L1BreakTouchPct'].astype(float)
180
- new_pred['L2BreakTouchPct'] = new_pred['L2BreakTouchPct'].astype(float)
181
-
182
- seq_proba = seq_predict_proba(new_pred, xgbr, seq2)
183
-
184
- else:
185
 
186
- from model_intra import *
187
- idx = times_list.index(option)
188
-
189
- st.write('Loading data...')
190
- data, df_final, final_row = get_data(idx)
191
- # st.success("โœ… Historical data")
192
-
193
- st.write("Training models...")
194
- def train_models():
195
- res1, xgbr = walk_forward_validation(df_final.dropna(), 'Target_clf', 120, 1)
196
- return res1, xgbr
197
- res1, xgbr = train_models()
198
- # st.success("โœ… Models trained")
199
-
200
- st.write("Getting new prediction...")
201
-
202
- # Get last row
203
- new_pred = data.loc[final_row, model_cols]
204
-
205
- new_pred = pd.DataFrame(new_pred).T
206
- # new_pred_show = pd.DataFrame(index=[new_pred.columns], columns=[new_pred.index], data=[[v] for v in new_pred.values])
207
- # last_date = datetime.datetime.strptime(data.loc[final_row], '%Y-%m-%d')
208
- curr_date = final_row + BDay(1)
209
- curr_date = curr_date.strftime('%Y-%m-%d')
210
-
211
- new_pred['BigNewsDay'] = new_pred['BigNewsDay'].astype(float)
212
- new_pred['Quarter'] = new_pred['Quarter'].astype(int)
213
- new_pred['Perf5Day'] = new_pred['Perf5Day'].astype(bool)
214
- new_pred['Perf5Day_n1'] = new_pred['Perf5Day_n1'].astype(bool)
215
- new_pred['DaysGreen'] = new_pred['DaysGreen'].astype(float)
216
- new_pred['DaysRed'] = new_pred['DaysRed'].astype(float)
217
- new_pred['CurrentHigh30toClose'] = new_pred['CurrentHigh30toClose'].astype(float)
218
- new_pred['CurrentLow30toClose'] = new_pred['CurrentLow30toClose'].astype(float)
219
- new_pred['CurrentClose30toClose'] = new_pred['CurrentClose30toClose'].astype(float)
220
- new_pred['CurrentRange30'] = new_pred['CurrentRange30'].astype(float)
221
- new_pred['GapFill30'] = new_pred['GapFill30'].astype(float)
222
- new_pred['CurrentGap'] = new_pred['CurrentGap'].astype(float)
223
- new_pred['RangePct'] = new_pred['RangePct'].astype(float)
224
- new_pred['RangePct_n1'] = new_pred['RangePct_n1'].astype(float)
225
- new_pred['RangePct_n2'] = new_pred['RangePct_n2'].astype(float)
226
- new_pred['OHLC4_VIX'] = new_pred['OHLC4_VIX'].astype(float)
227
- new_pred['OHLC4_VIX_n1'] = new_pred['OHLC4_VIX_n1'].astype(float)
228
- new_pred['OHLC4_VIX_n2'] = new_pred['OHLC4_VIX_n2'].astype(float)
229
- # new_pred['OpenL1'] = new_pred['OpenL1'].astype(float)
230
- # new_pred['OpenL2'] = new_pred['OpenL2'].astype(float)
231
- # new_pred['OpenH1'] = new_pred['OpenH1'].astype(float)
232
- # new_pred['OpenH2'] = new_pred['OpenH2'].astype(float)
233
- new_pred['L1TouchPct'] = new_pred['L1TouchPct'].astype(float)
234
- new_pred['L2TouchPct'] = new_pred['L2TouchPct'].astype(float)
235
- new_pred['H1TouchPct'] = new_pred['H1TouchPct'].astype(float)
236
- new_pred['H2TouchPct'] = new_pred['H2TouchPct'].astype(float)
237
- new_pred['L1BreakPct'] = new_pred['L1BreakPct'].astype(float)
238
- new_pred['L2BreakPct'] = new_pred['L2BreakPct'].astype(float)
239
- new_pred['H1BreakPct'] = new_pred['H1BreakPct'].astype(float)
240
- new_pred['H2BreakPct'] = new_pred['H2BreakPct'].astype(float)
241
- new_pred['H1BreakTouchPct'] = new_pred['H1BreakTouchPct'].astype(float)
242
- new_pred['H2BreakTouchPct'] = new_pred['H2BreakTouchPct'].astype(float)
243
- new_pred['L1BreakTouchPct'] = new_pred['L1BreakTouchPct'].astype(float)
244
- new_pred['L2BreakTouchPct'] = new_pred['L2BreakTouchPct'].astype(float)
245
- new_pred['H1BreakH2TouchPct'] = new_pred['H1BreakH2TouchPct'].astype(float)
246
- new_pred['L1BreakL2TouchPct'] = new_pred['L1BreakL2TouchPct'].astype(float)
247
- new_pred['GreenProbas'] = new_pred['GreenProbas'].astype(float)
248
- new_pred['OHLC4_Current_Trend'] = new_pred['OHLC4_Current_Trend'].astype(bool)
249
- new_pred['OHLC4_Trend'] = new_pred['OHLC4_Trend'].astype(bool)
250
- new_pred['H1TouchGreenPct'] = new_pred['H1TouchGreenPct'].astype(float)
251
- new_pred['L1TouchRedPct'] = new_pred['L1TouchRedPct'].astype(float)
252
-
253
- seq_proba = seq_predict_proba(new_pred, xgbr)
 
 
254
 
255
  st.info(f'as of {option} on {curr_date} ๐Ÿ‘‡๐Ÿฝ', icon="๐Ÿ”ฎ")
256
 
 
114
  st.info('No model selected.')
115
 
116
  if submitted:
117
+
118
+ my_bar = st.progress(0)
119
 
120
  fname=f'performance_for_{option}_model.csv'
121
 
122
+ if option == '06:30':
123
+
124
+ from model_day import *
125
+
126
+ fname='performance_for_open_model.csv'
127
+
128
+ my_bar.progress(0.33, 'Loading data...')
129
+ data, df_final, final_row = get_data()
130
+ # st.success("โœ… Historical data")
131
+
132
+ my_bar.progress(0.66, "Training models...")
133
+ def train_models():
134
+ res1, xgbr, seq2 = walk_forward_validation_seq(df_final.dropna(), 'Target_clf', 'Target', 200, 1)
135
+ return res1, xgbr, seq2
136
+ res1, xgbr, seq2 = train_models()
137
+ # st.success("โœ… Models trained")
138
+
139
+ my_bar.progress(0.99, "Getting new prediction...")
140
+
141
+ # Get last row
142
+ new_pred = data.loc[final_row, model_cols]
143
+
144
+ new_pred = pd.DataFrame(new_pred).T
145
+ # new_pred_show = pd.DataFrame(index=[new_pred.columns], columns=[new_pred.index], data=[[v] for v in new_pred.values])
146
+ # last_date = datetime.datetime.strptime(data.loc[final_row], '%Y-%m-%d')
147
+ curr_date = final_row + BDay(1)
148
+ curr_date = curr_date.strftime('%Y-%m-%d')
149
+
150
+ new_pred['BigNewsDay'] = new_pred['BigNewsDay'].astype(float)
151
+ new_pred['Quarter'] = new_pred['Quarter'].astype(int)
152
+ new_pred['Perf5Day'] = new_pred['Perf5Day'].astype(bool)
153
+ new_pred['Perf5Day_n1'] = new_pred['Perf5Day_n1'].astype(bool)
154
+ new_pred['DaysGreen'] = new_pred['DaysGreen'].astype(float)
155
+ new_pred['DaysRed'] = new_pred['DaysRed'].astype(float)
156
+ new_pred['CurrentGap'] = new_pred['CurrentGap'].astype(float)
157
+ new_pred['RangePct'] = new_pred['RangePct'].astype(float)
158
+ new_pred['RangePct_n1'] = new_pred['RangePct_n1'].astype(float)
159
+ new_pred['RangePct_n2'] = new_pred['RangePct_n2'].astype(float)
160
+ new_pred['OHLC4_VIX'] = new_pred['OHLC4_VIX'].astype(float)
161
+ new_pred['OHLC4_VIX_n1'] = new_pred['OHLC4_VIX_n1'].astype(float)
162
+ new_pred['OHLC4_VIX_n2'] = new_pred['OHLC4_VIX_n2'].astype(float)
163
+ # new_pred['OHLC4_Current_Trend'] = new_pred['OHLC4_Current_Trend'].astype(bool)
164
+ # new_pred['OHLC4_Trend'] = new_pred['OHLC4_Trend'].astype(bool)
165
+ new_pred['OpenL1'] = new_pred['OpenL1'].astype(float)
166
+ new_pred['OpenL2'] = new_pred['OpenL2'].astype(float)
167
+ new_pred['OpenH1'] = new_pred['OpenH1'].astype(float)
168
+ new_pred['OpenH2'] = new_pred['OpenH2'].astype(float)
169
+ new_pred['L1TouchPct'] = new_pred['L1TouchPct'].astype(float)
170
+ new_pred['L2TouchPct'] = new_pred['L2TouchPct'].astype(float)
171
+ new_pred['H1TouchPct'] = new_pred['H1TouchPct'].astype(float)
172
+ new_pred['H2TouchPct'] = new_pred['H2TouchPct'].astype(float)
173
+ new_pred['L1BreakPct'] = new_pred['L1BreakPct'].astype(float)
174
+ new_pred['L2BreakPct'] = new_pred['L2BreakPct'].astype(float)
175
+ new_pred['H1BreakPct'] = new_pred['H1BreakPct'].astype(float)
176
+ new_pred['H2BreakPct'] = new_pred['H2BreakPct'].astype(float)
177
+ new_pred['H1BreakTouchPct'] = new_pred['H1BreakTouchPct'].astype(float)
178
+ new_pred['H2BreakTouchPct'] = new_pred['H2BreakTouchPct'].astype(float)
179
+ new_pred['L1BreakTouchPct'] = new_pred['L1BreakTouchPct'].astype(float)
180
+ new_pred['L2BreakTouchPct'] = new_pred['L2BreakTouchPct'].astype(float)
181
+
182
+ seq_proba = seq_predict_proba(new_pred, xgbr, seq2)
183
+
184
+ else:
 
 
185
 
186
+ from model_intra import *
187
+ idx = times_list.index(option)
188
+
189
+ my_bar.progress(0.33, 'Loading data...')
190
+ data, df_final, final_row = get_data(idx)
191
+ # st.success("โœ… Historical data")
192
+
193
+ my_bar.progress(0.66, "Training models...")
194
+ def train_models():
195
+ res1, xgbr = walk_forward_validation(df_final.dropna(), 'Target_clf', 120, 1)
196
+ return res1, xgbr
197
+ res1, xgbr = train_models()
198
+ # st.success("โœ… Models trained")
199
+
200
+ my_bar.progress(0.99, "Getting new prediction...")
201
+
202
+ my_bar.empty()
203
+
204
+ # Get last row
205
+ new_pred = data.loc[final_row, model_cols]
206
+
207
+ new_pred = pd.DataFrame(new_pred).T
208
+ # new_pred_show = pd.DataFrame(index=[new_pred.columns], columns=[new_pred.index], data=[[v] for v in new_pred.values])
209
+ # last_date = datetime.datetime.strptime(data.loc[final_row], '%Y-%m-%d')
210
+ curr_date = final_row + BDay(1)
211
+ curr_date = curr_date.strftime('%Y-%m-%d')
212
+
213
+ new_pred['BigNewsDay'] = new_pred['BigNewsDay'].astype(float)
214
+ new_pred['Quarter'] = new_pred['Quarter'].astype(int)
215
+ new_pred['Perf5Day'] = new_pred['Perf5Day'].astype(bool)
216
+ new_pred['Perf5Day_n1'] = new_pred['Perf5Day_n1'].astype(bool)
217
+ new_pred['DaysGreen'] = new_pred['DaysGreen'].astype(float)
218
+ new_pred['DaysRed'] = new_pred['DaysRed'].astype(float)
219
+ new_pred['CurrentHigh30toClose'] = new_pred['CurrentHigh30toClose'].astype(float)
220
+ new_pred['CurrentLow30toClose'] = new_pred['CurrentLow30toClose'].astype(float)
221
+ new_pred['CurrentClose30toClose'] = new_pred['CurrentClose30toClose'].astype(float)
222
+ new_pred['CurrentRange30'] = new_pred['CurrentRange30'].astype(float)
223
+ new_pred['GapFill30'] = new_pred['GapFill30'].astype(float)
224
+ new_pred['CurrentGap'] = new_pred['CurrentGap'].astype(float)
225
+ new_pred['RangePct'] = new_pred['RangePct'].astype(float)
226
+ new_pred['RangePct_n1'] = new_pred['RangePct_n1'].astype(float)
227
+ new_pred['RangePct_n2'] = new_pred['RangePct_n2'].astype(float)
228
+ new_pred['OHLC4_VIX'] = new_pred['OHLC4_VIX'].astype(float)
229
+ new_pred['OHLC4_VIX_n1'] = new_pred['OHLC4_VIX_n1'].astype(float)
230
+ new_pred['OHLC4_VIX_n2'] = new_pred['OHLC4_VIX_n2'].astype(float)
231
+ # new_pred['OpenL1'] = new_pred['OpenL1'].astype(float)
232
+ # new_pred['OpenL2'] = new_pred['OpenL2'].astype(float)
233
+ # new_pred['OpenH1'] = new_pred['OpenH1'].astype(float)
234
+ # new_pred['OpenH2'] = new_pred['OpenH2'].astype(float)
235
+ new_pred['L1TouchPct'] = new_pred['L1TouchPct'].astype(float)
236
+ new_pred['L2TouchPct'] = new_pred['L2TouchPct'].astype(float)
237
+ new_pred['H1TouchPct'] = new_pred['H1TouchPct'].astype(float)
238
+ new_pred['H2TouchPct'] = new_pred['H2TouchPct'].astype(float)
239
+ new_pred['L1BreakPct'] = new_pred['L1BreakPct'].astype(float)
240
+ new_pred['L2BreakPct'] = new_pred['L2BreakPct'].astype(float)
241
+ new_pred['H1BreakPct'] = new_pred['H1BreakPct'].astype(float)
242
+ new_pred['H2BreakPct'] = new_pred['H2BreakPct'].astype(float)
243
+ new_pred['H1BreakTouchPct'] = new_pred['H1BreakTouchPct'].astype(float)
244
+ new_pred['H2BreakTouchPct'] = new_pred['H2BreakTouchPct'].astype(float)
245
+ new_pred['L1BreakTouchPct'] = new_pred['L1BreakTouchPct'].astype(float)
246
+ new_pred['L2BreakTouchPct'] = new_pred['L2BreakTouchPct'].astype(float)
247
+ new_pred['H1BreakH2TouchPct'] = new_pred['H1BreakH2TouchPct'].astype(float)
248
+ new_pred['L1BreakL2TouchPct'] = new_pred['L1BreakL2TouchPct'].astype(float)
249
+ new_pred['GreenProbas'] = new_pred['GreenProbas'].astype(float)
250
+ new_pred['OHLC4_Current_Trend'] = new_pred['OHLC4_Current_Trend'].astype(bool)
251
+ new_pred['OHLC4_Trend'] = new_pred['OHLC4_Trend'].astype(bool)
252
+ new_pred['H1TouchGreenPct'] = new_pred['H1TouchGreenPct'].astype(float)
253
+ new_pred['L1TouchRedPct'] = new_pred['L1TouchRedPct'].astype(float)
254
+
255
+ seq_proba = seq_predict_proba(new_pred, xgbr)
256
 
257
  st.info(f'as of {option} on {curr_date} ๐Ÿ‘‡๐Ÿฝ', icon="๐Ÿ”ฎ")
258