劉庭妤「python讀入csv檔案計算黃金交叉和死亡交叉」
import pandas as pd#劉庭妤GOOGLE搜尋AI模式COPY貼上 # 1. 讀入 CSV 檔案 # 建議將 Date 設為索引並轉換成 datetime 格式 df = pd.read_csv('stock_data.csv') df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) # 2. 計算移動平均線 (SMA) # 以 5 日與 20 日為例 df['SMA5'] = df['Close'].rolling(window=5).mean() df['SMA20'] = df['Close'].rolling(window=20).mean() # 3. 判斷交叉訊號 # 我們利用今天的均線差值與昨天的差值進行比較 # sign 為正代表 短期 > 長期 df['Signal'] = 0.0 df.loc[df['SMA5'] > df['SMA20'], 'Signal'] = 1.0 # 計算 Signal 的差值:1.0 表示黃金交叉,-1.0 表示死亡交叉 df['Position'] = df['Signal'].diff() # 4. 篩選出交叉日期 golden_cross = df[df['Position'] == 1] death_cross = df[df['Position'] == -1] print("--- 黃金交叉日期 ---") print(golden_cross[['Close', 'SMA5', 'SMA20']].tail()) print("\n--- 死亡交叉日期 ---") print(death_cross[['Close', 'SMA5', 'SMA20']].tail()) 目前台...