AlanRex commited on
Commit
46e0fa2
·
verified ·
1 Parent(s): 090a908

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -23
app.py CHANGED
@@ -136,6 +136,7 @@ def advanced_xgboost_predict(data, predict_days):
136
  # 1. 獲取外部市場數據
137
  start_date = data.index.min() - pd.Timedelta(days=5) # 提前幾天以確保數據填充
138
  end_date = data.index.max()
 
139
 
140
  external_symbols = {'DJI': '^DJI', 'NAS': '^IXIC', 'SOX': '^SOX', 'S&P_500': '^GSPC', 'TSM_ADR': 'TSM'}
141
 
@@ -155,8 +156,8 @@ def advanced_xgboost_predict(data, predict_days):
155
  input_df['NEWS'] = news_score if news_score is not None else 0
156
 
157
  # 【修改】: 獲取最新月份的單一數值
158
- input_df['business_climate'] = get_business_climate_data1()
159
- input_df['PMI'] = get_pmi_data1()
160
 
161
  # 5. 數據清洗與格式化
162
  # 向前填充所有缺失值 (例如假日)
@@ -299,27 +300,27 @@ def calculate_volume_profile(df, num_bins=50):
299
  print(f"Volume profile 計算錯誤: {e}")
300
  return None, None, None
301
 
302
- def get_business_climate_data1(get_latest_value=False):
303
- try:
304
- if not os.path.exists('business_climate.csv'): return None
305
- df = pd.read_csv('business_climate.csv', index_col='Date', parse_dates=True)
306
- if get_latest_value:
307
- return df['Index'].iloc[-1]
308
- return df
309
- except Exception as e:
310
- print(f"無法獲取景氣燈號資料: {str(e)}")
311
- return None if get_latest_value else pd.DataFrame()
312
-
313
- def get_pmi_data1(get_latest_value=False):
314
- try:
315
- if not os.path.exists('taiwan_pmi.csv'): return None
316
- df = pd.read_csv('taiwan_pmi.csv', index_col='Date', parse_dates=True)
317
- if get_latest_value:
318
- return df['Index'].iloc[-1]
319
- return df
320
- except Exception as e:
321
- print(f"無法獲取 PMI 資料: {str(e)}")
322
- return None if get_latest_value else pd.DataFrame()
323
 
324
 
325
  def generate_gemini_analysis(stock_name, stock_symbol, period, data):
 
136
  # 1. 獲取外部市場數據
137
  start_date = data.index.min() - pd.Timedelta(days=5) # 提前幾天以確保數據填充
138
  end_date = data.index.max()
139
+
140
 
141
  external_symbols = {'DJI': '^DJI', 'NAS': '^IXIC', 'SOX': '^SOX', 'S&P_500': '^GSPC', 'TSM_ADR': 'TSM'}
142
 
 
156
  input_df['NEWS'] = news_score if news_score is not None else 0
157
 
158
  # 【修改】: 獲取最新月份的單一數值
159
+ input_df['business_climate'] = 15
160
+ input_df['PMI'] = 46.7
161
 
162
  # 5. 數據清洗與格式化
163
  # 向前填充所有缺失值 (例如假日)
 
300
  print(f"Volume profile 計算錯誤: {e}")
301
  return None, None, None
302
 
303
+ # def get_business_climate_data1(get_latest_value=False):
304
+ # try:
305
+ # if not os.path.exists('business_climate.csv'): return None
306
+ # df = pd.read_csv('business_climate.csv', index_col='Date', parse_dates=True)
307
+ # if get_latest_value:
308
+ # return df['Index'].iloc[-1]
309
+ # return df
310
+ # except Exception as e:
311
+ # print(f"無法獲取景氣燈號資料: {str(e)}")
312
+ # return None if get_latest_value else pd.DataFrame()
313
+
314
+ # def get_pmi_data1(get_latest_value=False):
315
+ # try:
316
+ # if not os.path.exists('taiwan_pmi.csv'): return None
317
+ # df = pd.read_csv('taiwan_pmi.csv', index_col='Date', parse_dates=True)
318
+ # if get_latest_value:
319
+ # return df['Index'].iloc[-1]
320
+ # return df
321
+ # except Exception as e:
322
+ # print(f"無法獲取 PMI 資料: {str(e)}")
323
+ # return None if get_latest_value else pd.DataFrame()
324
 
325
 
326
  def generate_gemini_analysis(stock_name, stock_symbol, period, data):