zwQuant學習筆記 (3) 分鐘級別交易
阿新 • • 發佈:2018-12-21
最近太忙了,進度很慢。要抓緊。
今天解決了一個小問題。因為外匯是分鐘級別居多,那麼,需要做到分鐘級別的交易測試。
經過研究發現yahoofeed,好像不能設定FrequencyMinutes的設定。於是用csvfeed.GenericBarFeed來做。
程式碼很粗糙,暫時先不管了。跑完再說。
from pyalgotrade.barfeed import csvfeed
feed = csvfeed.GenericBarFeed("Frequency.MINUTE", None, None)
這樣,就可以用分鐘線進行交易了。
我用的是5分鐘線。
一般從MT4下載資料以後,通過以下指令碼format一下。這樣,pyalgotrade就可以直接使用。
#Read CSV and format the code. import pandas as pd n_list=["Date","Time","Open","High","Low","Close","Volume"] fss=".\\tmp\XAUUSD5.csv" #原始檔案 data=pd.read_csv(fss, names=n_list) data["Date Time"]=data["Date"]+" "+ data["Time"] data["Date Time"]=pd.to_datetime(data["Date Time"],format='%Y-%m-%d %H:%M:%S') new_data=data[["Date Time","Open","High","Low","Close","Volume"]] new_data["Adj Close"]=data["Close"] tss=".\dat\XAUUSD.csv" #輸出檔案 new_data.tail(50).to_csv(tss);print(tss);