發表文章

目前顯示的是 5月, 2026的文章

蕭瑜「python讀入csv檔案計算黃金交叉和死亡交叉」

圖片
pandas as pd#蕭瑜GOOGLE搜尋AI模式COPY貼上 import pandas as pd import matplotlib.pyplot as plt # 1. 讀取 CSV 檔案 # 假設 CSV 檔案有 Date 和 Close 欄位 df = pd.read_csv('stock_data.csv') # 確保日期格式正確,並設為索引 df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) # 2. 計算移動平均線 (MA) short_window = 50 # 短期均線 (例如 50 日) long_window = 200 # 長期均線 (例如 200 日) df['Short_MA'] = df['Close'].rolling(window=short_window, min_periods=1).mean() df['Long_MA'] = df['Close'].rolling(window=long_window, min_periods=1).mean() # 3. 計算交叉訊號 # 當短期均線 > 長期均線,設為 1 (買入訊號/持有),否則為 0 df['Signal'] = 0.0 df['Signal'][short_window:] = \ (df['Short_MA'][short_window:] > df['Long_MA'][short_window:]).astype(float) # 4. 找出黃金交叉和死亡交叉點 # 計算訊號的差值:+1 表示從 0 變 1(黃金交叉),-1 表示從 1 變 0(死亡交叉) df['Position'] = df['Signal'].diff() # 5. 輸出結果 gold_cross = df[df['Position'] == 1] death_cross = df[df['Posit...