發表文章

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

劉任昌PYTHON回溯測試過去60天

圖片
#資料檔 https://drive.google.com/file/d/1eB8BT2dLb-I8u7EQmoQ4O1TdRG7oLUKq/view?usp=drive_link import csv #輸入csv套件comma separated value file = open('SPY.csv','r') #打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.reader(file) #將檔案逐列讀入串列變數csvreader header, rows = [], [] #宣告空白串列(陣列,清單) header = next(csvreader) #串列header儲存檔案第一列 for row in csvreader: #檔案接續逐列附加append於rows串列 rows.append(row) file.close() #關閉檔案 header.extend(['MA20','部位','最大','獲利','最小','損失']) #第7至12欄 for i in range(19): rows[i].extend([rows[i][5],0]) #第7欄用收盤當20日平均,第8欄部位0 for i in range(19,len(rows)): sum20 = 0.0 #實數=浮點數 for j in range(i-19, i+1): sum20 += float(rows[j][5]) rows[i].extend([sum20/20, 0]) #第7欄20日平均,第8欄部位0 listx = [y/1000 for y in range (31)]#測試31個突破點0, 0.1%...3% for i in range(80,len(rows)): #目標是len(rows) listgain = [0.0 for y in range (31)]#儲存31個突破點的損益,預設0 list...

劉任昌import逗點分隔值CSV時間time套件

圖片
from tkinter import * #下載程式碼,從tkinter輸入所有函式 import time x = ['龍','👹','\U0001F4A9','\U0001F603','\U0001F604','屎','尿']#定義一個串列 y = [] #追蹤特定視窗用途,尚未使用,unicode字碼\U for i in range(7): window = Tk() #建構視窗,名為window建構一個房子 window.title('劉任昌python第%d視窗' % (i+1)) window.geometry('300x300+%d+%d' % (300*i,50*i)) b1=Label(window,text=x[i],font='Arial 280 bold').pack() time.sleep(0.05) #睡覺 window.update() y.append(window)#追蹤特定視窗用途,尚未使用 window.mainloop() 練習使用time的原因是,我們將要利用圖形表示模擬交易策略的資產價值動態走勢。

劉任昌VS Code編輯csv檔案append新欄位encoding=utf8

圖片
import csv #輸入csv套件comma separated value file = open('SPY.CSV','r') #打開下載的檔案SPY.CSV,模式是r讀取, csvreader = csv.reader(file) #將檔案逐列讀入串列變數csvreader header, rows = [], [] #宣告空白串列(陣列,清單) header = next(csvreader) #串列header儲存檔案第一列 for row in csvreader: #檔案接續逐列附加append於rows串列 rows.append(row) file.close() #關閉檔案 header.append('MA20') #第7欄,為header串列list新曾元素 header.append('部位') #第8欄 header.append('最大') #第9欄 header.append('獲利') #第10欄 header.append('最小') #第11欄 header.append('損失') #第12欄 for i in range(20): rows[i].append(rows[i][5]) for i in range(20,len(rows)): sum20 = 0.0 #實數=浮點數 for j in range(i-20, i): sum20 += float(rows[j][5]) rows[i].append(sum20/20) #第7欄20日平均 rows[i].append(0) #第8欄預設部位0 listx = [y/1000 for y in range (31)] #測試31個突破點0, 0.1%...3% print('測試用的參數\n',listx) '''for i in range(80...