R:歷史數據回測(一)

1、從本地CSV文件導入數據code

文件形式以下: 輸入圖片說明orm

上圖是道瓊斯工業指數16年到當前的數據。包括開/高/低/收盤價的數據。圖片

library(PerformanceAnalytics)
library(quantmod)
library(xts)
stockdata<-as.xts(read.zoo("C:/Users/steph/Desktop/visual/US30.csv",sep=",",,header=T))
dim(stockdata)
[1] 372   4
head(stockdata,3)
            OPEN  HIGH   LOW CLOSE
2016-01-04 17436 17486 16945 17183
2016-01-05 17186 17244 17033 17159
2016-01-06 17161 17183 16811 16935
tail(stockdata,3)
              OPEN    HIGH     LOW   CLOSE
2017-06-08 21170.5 21267.5 21137.0 21198.1
2017-06-09 21141.5 21302.0 21130.5 21254.3
2017-06-12 21246.0 21261.0 21225.5 21242.0

2、交易策略it

close<-stockdata$CLOSE
mv5<-SMA(close,5)    #計算週期爲5的移動平均線
sig<-ifelse(close<mv5,1,0)    #收盤價大於mv5,則買入,標記爲1;不然標記爲0。
sig<-Lag(sig)    ##將該序列向「過去」延遲一天
roc<-ROC(type='discrete',close)
ret<-roc*sig

3、畫出策略收益圖form

charts.PerformanceSummary(ret)

# 最上面的板塊是積累收益,至關於對cumprod(1+ret)的繪圖;
# 第二個是日收益,至關於對ret原始收益數據的繪圖;
# 最下面的是下跌圖(又稱「水下圖」),將下跌成分獨立繪出,有助於咱們分析虧損情況和研究彌補措施。

輸入圖片說明

相關文章
相關標籤/搜索