發表文章

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

廖秀穎 野村投信全球航運龍頭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, m[0][0]/determin...

廖秀穎python的AI模式,pandas dataframe

圖片
  GOOGLE AI模式在撰寫模式貼上 Pandas DataFrame 是 Python 中最核心的雙維度表格型資料結構 ,類似於 Excel 試算表或 SQL 資料表 。它包含有序的欄位(Columns)與橫列(Rows),且每欄可以儲存不同的資料型態(如整數、字串、浮點數)。 [ 1 , 2 , 3 ] 1. 建立 DataFrame [ 1 , 2 ] 開發者通常透過 W3Schools Pandas 課程 學習基礎建置,最常見的方法是傳入 Python 字典或讀取外部檔案: [ 1 , 2 , 3 , 4 ] python import pandas as pd # 方法 A:使用字典建立(Key 為欄位名,Value 為資料列表) data = { " Name " : [ " Mike " , " Sherry " , " Cindy " ], " Age " : [ 20 , 21 , 19 ] } df = pd.DataFrame(data) # 方法 B:讀取 CSV 檔案 # df = pd.read_csv('data.csv') 請謹慎使用程式碼。 2. 核心屬性與檢視方法 建立物件後,可利用 Pandas 官方 API 說明 提供的屬性快速掌握資料輪廓: [ 1 , 2 , 3 , 4 ] df.shape :傳回資料列數與欄數的元組(Tuple)。 df.columns :列出所有欄位名稱。 df.index :列出列索引標籤。 df.info() :顯示資料型態、記憶體用量與非空值計數。 df.head(n) :預覽前 n 筆資料(預設為 5 筆)。 df.describe() :輸出數值欄位的統計資訊(如平均值、標準差)。 [ 1 , 2 , 3 , 4 , 5 ] 3. 資料篩選與選取 根據 Pandas 索引指南 ,主要選取方式分為標籤定位與位置定位: [ 1 , 2 , 3 ] 選取特定欄位 : df['Name'] (傳回單維度的 Pandas Series )。 標籤選取(.loc) : df.loc[0] 根據行或列的名稱/標籤提取資料。 座...

廖秀穎「python讀入csv檔案計算黃金交叉和死亡交叉」

圖片
  import pandas as pd #劉任昌GOOGLE搜尋AI模式COPY貼上 # 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'...