發表文章

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

謝庭維野村投信全球航運龍頭00960分散風險效果

圖片
謝庭維野村投信全球航運龍頭00960分散風險 程式碼 import csv #輸入import輸出export,輸入csv套件 import math #輸入math套件 from tkinter import * #或者import tkinter as tk scale = 2000 # 放大倍率 base = 600 # 圖形中心高度 def transposeMatrix(m): #自訂轉置transpose函數 N = [] for j in range(len(m[0])): row = [] for i in range(len(m)): row.append(m[i][j]) N.append(row) return N def getMatrixMinor(m,i,j): return [row[:j] + row[j+1:] for row in (m[:i]+m[i+1:])] def getMatrixDeternminant(m): #base case for 2x2 matrix if len(m) == 2: return m[0][0]*m[1][1]-m[0][1]*m[1][0] determinant = 0 for c in range(len(m)): determinant += ((-1)**c)*m[0][c]*getMatrixDeternminant(getMatrixMinor(m,0,c)) return determinant def getMatrixInverse(m): determinant = getMatrixDeternminant(m) if len(m) == 2: #處理2x2方陣 return [[m[1][1]/determinant, -1*m[0][1]/determinant], [-1*m[1][0]/determinant,...

謝庭維「python讀入csv檔案計算黃金交叉和死亡交叉」

圖片
  謝庭維「python讀入csv檔案計算黃金交叉和死亡交叉」 5月 07, 2026 # 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. 計算移動平均線 (例如 5日短均線 與 20日長均線) df['SMA5'] = df['Close'].rolling(window=5).mean() df['SMA20'] = df['Close'].rolling(window=20).mean() # 3. 判斷交叉信號 # 前一天的狀態 df['prev_SMA5'] = df['SMA5'].shift(1) df['prev_SMA20'] = df['SMA20'].shift(1) # 黃金交叉:昨日短<長 且 今日短>長 df['Golden_Cross'] = (df['prev_SMA5'] < df['prev_SMA20']) & (df['SMA5'] > df['SMA20']) # 死亡交叉:昨日短>長 且 今日短<長 df['Death_Cross'] = (df['prev_SMA5'] > df['prev_SMA20']) & (df['SMA5'] < df['SMA20']) # 4. 輸出結果 (過濾出有信號的日期) signals = df[df['Golden_Cross'] | df['Death_Cross']] print(signals[['Close',...