AlanRex commited on
Commit
80b5e37
·
verified ·
1 Parent(s): e336287

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -2
app.py CHANGED
@@ -868,8 +868,6 @@ def calculate_new_features(df):
868
  # 3. MA5_close – 5 日移動平均價
869
  df['MA5_close'] = df['Close'].rolling(window=5).mean()
870
 
871
- # 4. MA20_close – 20 日移動平均價
872
- df['MA20_close'] = df['Close'].rolling(window=20).mean()
873
 
874
  # 5. volatility_5d – 5 日報酬標準差(短期波動)
875
  df['volatility_5d'] = df['return_t-1'].rolling(window=5).std()
@@ -891,6 +889,27 @@ def calculate_new_features(df):
891
  macd_line = exp1 - exp2
892
  signal_line = macd_line.ewm(span=9).mean()
893
  df['MACD_diff'] = macd_line - signal_line
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
894
 
895
  # 移除輔助欄位
896
  if 'volume_5d_avg' in df.columns:
@@ -943,6 +962,11 @@ def advanced_xgboost_predict(predict_days=5):
943
  'volatility_5d',
944
  'volume_ratio_5d',
945
  'MACD_diff',
 
 
 
 
 
946
  ]
947
 
948
  # 獲取美股報酬率
 
868
  # 3. MA5_close – 5 日移動平均價
869
  df['MA5_close'] = df['Close'].rolling(window=5).mean()
870
 
 
 
871
 
872
  # 5. volatility_5d – 5 日報酬標準差(短期波動)
873
  df['volatility_5d'] = df['return_t-1'].rolling(window=5).std()
 
889
  macd_line = exp1 - exp2
890
  signal_line = macd_line.ewm(span=9).mean()
891
  df['MACD_diff'] = macd_line - signal_line
892
+
893
+ # 9. MACDvol
894
+ df['MACDvol'] = df['MACDvol']
895
+
896
+ # 10. RSI_14 – 14 日 RSI 指標 (如果原資料沒有RSI,需要計算)
897
+ if 'RSI' in df.columns:
898
+ df['RSI_14'] = df['RSI'] # 使用現有的RSI
899
+ else:
900
+ # 計算 RSI
901
+ delta = df['close'].diff()
902
+ gain = (delta.where(delta > 0, 0)).rolling(window=14).mean()
903
+ loss = (-delta.where(delta < 0, 0)).rolling(window=14).mean()
904
+ rs = gain / loss
905
+ df['RSI_14'] = 100 - (100 / (1 + rs))
906
+
907
+ # 14. ADX
908
+ df['ADX'] = df['ADX']
909
+
910
+
911
+ # 15. 當日報酬率絕對值 × 當日成交量 (成交量加權報酬率)
912
+ df['volume_weighted_return'] = abs(df['return_t-1']) * df['volume']
913
 
914
  # 移除輔助欄位
915
  if 'volume_5d_avg' in df.columns:
 
962
  'volatility_5d',
963
  'volume_ratio_5d',
964
  'MACD_diff',
965
+ 'MACDvol',
966
+ 'RSI_14',
967
+ 'ADX',
968
+ 'volume_weighted_return'
969
+
970
  ]
971
 
972
  # 獲取美股報酬率