AJAY KASU commited on
Commit
e3682e7
·
1 Parent(s): b3f495e

Fix: Guaranteed synthetic fallback on ANY data failure

Browse files
Files changed (1) hide show
  1. data/data_manager.py +9 -4
data/data_manager.py CHANGED
@@ -155,18 +155,23 @@ class MarketDataEngine:
155
  try:
156
  df_close = data['Close']
157
  except:
158
- try:
159
  df_close = data.xs('Close', level=1, axis=1)
160
  except:
161
- return pd.DataFrame()
162
 
163
  # Drop columns with all NaNs
164
  df_close.dropna(axis=1, how='all', inplace=True)
 
 
 
 
 
165
  return df_close
166
 
167
  except Exception as e:
168
- logger.error(f"Error processing market data: {e}")
169
- return pd.DataFrame()
170
 
171
  def _clean_data(self, df: pd.DataFrame) -> pd.DataFrame:
172
  """
 
155
  try:
156
  df_close = data['Close']
157
  except:
158
+ try:
159
  df_close = data.xs('Close', level=1, axis=1)
160
  except:
161
+ pass
162
 
163
  # Drop columns with all NaNs
164
  df_close.dropna(axis=1, how='all', inplace=True)
165
+
166
+ if df_close.empty:
167
+ logger.warning("Extraction resulted in empty DataFrame. Switching to SYNTHETIC data.")
168
+ return self._generate_synthetic_data(valid_tickers, start_date)
169
+
170
  return df_close
171
 
172
  except Exception as e:
173
+ logger.error(f"Error processing market data: {e}. Switching to SYNTHETIC data.")
174
+ return self._generate_synthetic_data(valid_tickers, start_date)
175
 
176
  def _clean_data(self, df: pd.DataFrame) -> pd.DataFrame:
177
  """