發表文章

林逸民「python讀入csv檔案計算黃金交叉和死亡交叉」 5月 07, 2026

圖片
 import pandas as pd import numpy as np # 1. 讀取 CSV 檔案 (假設日期欄位為 Date,並將其設為索引) df = pd.read_csv('stock_data.csv', parse_dates=['Date'], index_col='Date') # 2. 設定短天期與長天期的移動平均線 (例如:短期 5日, 長期 20日) short_window = 5 long_window = 20 # 計算均線 df['Short_MA'] = df['Close'].rolling(window=short_window).mean() df['Long_MA'] = df['Close'].rolling(window=long_window).mean() # 3. 標示黃金交叉與死亡交叉 # 黃金交叉:短期均線向上突破長期均線 # 死亡交叉:短期均線向下跌破長期均線 df['Signal'] = 0.0 df['Signal'][short_window:] = np.where(df['Short_MA'][short_window:] > df['Long_MA'][short_window:], 1.0, 0.0) # 計算訊號的變化 (找出交叉點) df['Position'] = df['Signal'].diff() # 4. 篩選出交叉的日期 # Position == 1.0 代表黃金交叉,Position == -1.0 代表死亡交叉 golden_crosses = df[df['Position'] == 1.0] death_crosses = df[df['Position'] == -1.0] print("--- 黃金交叉日期 ---") print(golden_crosses.index.strftime('%Y-%m-%d')) print("\n--- 死亡交叉日期 ---...

林逸民蒙地卡羅模擬,遊戲驛站軋空事件

林逸民蒙地卡羅模擬資產價格 切割期數 0 1 2 3 4 500 1000 心得 複習/CSS=cascading style sheets=階層樣式列表 P=段落,PARAGRAPH段落,SCRIPT腳本,JAVASCRIPT區塊 程式設計是一門結合理性與創造力的學習過程。從一開始接觸語法時的困惑,到逐漸能夠理解邏輯與結構,過程雖然充滿挑戰,但也帶來成就感。撰寫程式不只是讓電腦執行指令,更是一種解決問題的思維訓練。當遇到錯誤時,需要耐心除錯與分析,培養細心與邏輯能力。同時,透過不斷練習與查詢資料,也提升自學能力。程式設計讓我學會將複雜問題拆解,逐步完成目標,這種能力也能應用在生活各方面,是一項值得持續精進的技能。 影片 蒙地卡羅模擬 遊戲驛站軋空事件

林逸民PRE STYLE='BORDER: PINK 10PX SOLID' 4月 09, 2026

圖片
 

林逸民蒙地卡羅證券價格模擬

林逸民蒙地卡羅模擬資產價格 切割期數 0 1 2 3 4 5 6 7 8 9 10 20 30 40 50 100

EXCEL繪製投資效率前緣

圖片

林逸民程式交易085馬可維茲效率前緣

圖片
  import csv #輸入import輸出export,輸入csv套件 import math #輸入math套件 from tkinter import * #或者import tkinter as tk Dim = 10 def draw_circle(x, y, label): canvas.create_oval(100+x-5, 700-y-5, 100+x+5, 700-y+5, fill="black") canvas.create_text(100+x+20, 700-y, text = label, anchor='w', font=('微軟正黑體',20)) file = open('台灣.csv','r',encoding='utf-8') read = csv.reader(file) header, rows = [], [] header = next(read) for item in read: rows.append(item) file.close() num = len(rows) #資料表長度 print(header) mean = [0 for i in range(Dim)]; mean50 = 0; vari50=0 meanTemp = [0 for i in range(Dim)] vari = [[0 for i in range(Dim)] for j in range(Dim)] for k in range(num): for i in range(Dim): meanTemp[i]=float(rows[k][i+1])/100 #轉換為小數 mean[i] += meanTemp[i] for j in range(i+1): vari[i][j] += meanTemp[i]*meanTemp[j] meanTemp50 = float(rows[k][33])/100; mean50...

林逸民衍生性金融商品

canvas繪圖套件繪製選擇權到期日損益圖 選擇權價差交易策略 清空 賣權put空頭價差 買權call多頭價差 賣權put多頭價差 買權call空頭價差