1️⃣ 範例資料
2️⃣ 條件篩選賦值
假設規則:
-
當 MA5 > MA20 → Signal = 1(買入)
-
當 MA5 < MA20 → Signal = -1(賣出)
3️⃣ 輸出結果
🔹 解說
-
data.loc[條件, '欄位'] = 值
→ 先用條件篩選出符合的列,再把指定欄位賦值。 -
可以多次使用
loc針對不同條件賦不同值。 -
這是 Pandas 常用的策略訊號生成方法。
import pandas as pd
data = pd.DataFrame({
'Close': [100, 102, 101, 105, 107],
'MA5': [None, None, 101, 103, 104],
'MA20': [None, None, 100, 102, 103]
})
data['Signal'] = 0 # 先給初值
# MA5 > MA20 → 買入
data.loc[data['MA5'] > data['MA20'], 'Signal'] = 1
# MA5 < MA20 → 賣出
data.loc[data['MA5'] < data['MA20'], 'Signal'] = -1
print(data)
沒有留言:
張貼留言