Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -828,16 +828,16 @@ def calculate_new_features(df):
|
|
| 828 |
df['close'] = df['Close']
|
| 829 |
|
| 830 |
# 2. return_t-1 — 前一日報酬率 (***FIXED: Corrected to use hyphen to match the model***)
|
| 831 |
-
df['
|
| 832 |
|
| 833 |
# 3. return_t-5 — 過去 5 日累積報酬率 (***FIXED: Corrected to use hyphen to match the model***)
|
| 834 |
-
df['
|
| 835 |
|
| 836 |
# 4. MA5_close — 5 日移動平均價
|
| 837 |
df['MA5_close'] = df['Close'].rolling(window=5).mean()
|
| 838 |
|
| 839 |
# 5. volatility_5d — 5 日報酬標準差(短期波動)
|
| 840 |
-
df['volatility_5d'] = df['
|
| 841 |
|
| 842 |
# 6. volume_ratio_5d — 今日成交量 ÷ 5 日均量
|
| 843 |
df['volume_5d_avg'] = df['Volume'].rolling(window=5).mean()
|
|
@@ -851,10 +851,10 @@ def calculate_new_features(df):
|
|
| 851 |
df['MACD_diff'] = macd_line - signal_line
|
| 852 |
|
| 853 |
# 8. dji_return_t-1 — 前一日道瓊指數報酬率(預設為0,需外部數據)
|
| 854 |
-
df['
|
| 855 |
|
| 856 |
# 9. sox_return_t-1 — 前一日費半指數報酬率(預設為0,需外部數據)
|
| 857 |
-
df['
|
| 858 |
|
| 859 |
# 10. NEWS — 新聞情緒分數(預設為0,需外部數據)
|
| 860 |
df['NEWS'] = 0.0
|
|
@@ -890,7 +890,7 @@ def calculate_new_features(df):
|
|
| 890 |
df['ADX'] = 25.0
|
| 891 |
|
| 892 |
# 14. volume_weighted_return — 成交量加權報酬率
|
| 893 |
-
df['volume_weighted_return'] = np.abs(df['
|
| 894 |
|
| 895 |
# 移除輔助欄位
|
| 896 |
auxiliary_columns = ['volume_5d_avg', 'up_move', 'down_move', '+DM', '-DM', 'TR', '+DI', '-DI', 'DX']
|
|
|
|
| 828 |
df['close'] = df['Close']
|
| 829 |
|
| 830 |
# 2. return_t-1 — 前一日報酬率 (***FIXED: Corrected to use hyphen to match the model***)
|
| 831 |
+
df['return_t-1'] = df['Close'].pct_change()
|
| 832 |
|
| 833 |
# 3. return_t-5 — 過去 5 日累積報酬率 (***FIXED: Corrected to use hyphen to match the model***)
|
| 834 |
+
df['return_t-5'] = (df['Close'] / df['Close'].shift(5) - 1)
|
| 835 |
|
| 836 |
# 4. MA5_close — 5 日移動平均價
|
| 837 |
df['MA5_close'] = df['Close'].rolling(window=5).mean()
|
| 838 |
|
| 839 |
# 5. volatility_5d — 5 日報酬標準差(短期波動)
|
| 840 |
+
df['volatility_5d'] = df['return_t-1'].rolling(window=5).std()
|
| 841 |
|
| 842 |
# 6. volume_ratio_5d — 今日成交量 ÷ 5 日均量
|
| 843 |
df['volume_5d_avg'] = df['Volume'].rolling(window=5).mean()
|
|
|
|
| 851 |
df['MACD_diff'] = macd_line - signal_line
|
| 852 |
|
| 853 |
# 8. dji_return_t-1 — 前一日道瓊指數報酬率(預設為0,需外部數據)
|
| 854 |
+
df['dji_return_t-1'] = 0.0
|
| 855 |
|
| 856 |
# 9. sox_return_t-1 — 前一日費半指數報酬率(預設為0,需外部數據)
|
| 857 |
+
df['sox_return_t-1'] = 0.0
|
| 858 |
|
| 859 |
# 10. NEWS — 新聞情緒分數(預設為0,需外部數據)
|
| 860 |
df['NEWS'] = 0.0
|
|
|
|
| 890 |
df['ADX'] = 25.0
|
| 891 |
|
| 892 |
# 14. volume_weighted_return — 成交量加權報酬率
|
| 893 |
+
df['volume_weighted_return'] = np.abs(df['return_t-1']) * df['Volume']
|
| 894 |
|
| 895 |
# 移除輔助欄位
|
| 896 |
auxiliary_columns = ['volume_5d_avg', 'up_move', 'down_move', '+DM', '-DM', 'TR', '+DI', '-DI', 'DX']
|