2017-05-14 27 views
2

我想使用ADX功能(TTR包)。 我使用以下語法,但我不確定當前日期價格是否是公式的一部分。如果他們那麼我不能使用此函數進行預測。是否有辦法避免ADX當前日價格。 這裏是代碼行我使用:我該如何避免在ADX功能中包含當天的HLC價格

AMZN$ADX14<-ADX(HLC(AMZN),n = 14, maType="EMA", wilder=TRUE, na.rm=TRUE) 

回答

3

查看源代碼,是的收盤價在給定的時間戳記運行ADX前用於計算該時間戳上相應的ADX值。

根據您的描述,好像你要使用的ADX,你能做到這一點的方式(對於n = 6爲簡單起見)的lag 1的值:

AMZN$ADX6 <- ADX(HLC(AMZN),n = 6, maType="EMA", wilder=TRUE, na.rm=TRUE) 
AMZN$ADX6lag1 <- lag.xts(ADX(HLC(AMZN),n = 6, maType="EMA", wilder=TRUE, na.rm=TRUE)) 

head(AMZN, 13) 
      AMZN.Open AMZN.High AMZN.Low AMZN.Close AMZN.Volume AMZN.Adjusted  DIp  DIn  DX  ADX6 DIp.1 DIn.1  DX.1 ADX6lag1 
2007-01-03  38.68  39.06 38.05  38.70 12405100   38.70  NA  NA  NA  NA  NA  NA  NA  NA 
2007-01-04  38.59  39.14 38.26  38.90  6318400   38.90  NA  NA  NA  NA  NA  NA  NA  NA 
2007-01-05  38.72  38.79 37.60  38.37  6619700   38.37  NA  NA  NA  NA  NA  NA  NA  NA 
2007-01-08  38.22  38.31 37.17  37.50  6783000   37.50  NA  NA  NA  NA  NA  NA  NA  NA 
2007-01-09  37.60  38.06 37.34  37.78  5703000   37.78  NA  NA  NA  NA  NA  NA  NA  NA 
2007-01-10  37.49  37.70 37.07  37.15  6527500   37.15  NA  NA  NA  NA  NA  NA  NA  NA 
2007-01-11  37.17  38.00 37.17  37.40  6465600   37.40 7.54711 23.32760 51.111380  NA  NA  NA  NA  NA 
2007-01-12  37.36  38.21 37.27  38.20  4466400   38.20 10.33458 18.93201 29.376237  NA 7.54711 23.32760 51.111380  NA 
2007-01-16  38.40  38.89 37.97  38.66  5643700   38.66 21.85520 15.50147 17.008279  NA 10.33458 18.93201 29.376237  NA 
2007-01-17  38.70  39.00 37.78  37.88  5026800   37.88 16.96372 15.51769 4.451876  NA 21.85520 15.50147 17.008279  NA 
2007-01-18  37.50  37.65 36.72  36.98  9105000   36.98 13.51296 30.94944 39.216234  NA 16.96372 15.51769 4.451876  NA 
2007-01-19  36.69  37.48 36.60  37.02  6095900   37.02 11.40158 28.24434 42.482962 30.60783 13.51296 30.94944 39.216234  NA 
2007-01-22  37.65  37.90 36.80  36.95  8317000   36.95 16.48641 22.88154 16.244505 28.21394 11.40158 28.24434 42.482962 30.60783 

時間戳2007-01-22,你可以使用ADX6lag1 = 30.60783(這實際上是對2007-01-19計算來預測36.95該欄上的接近。

0

可以過濾掉當前的日期通過使用 getSymbols("AMZN",to=Sys.Date()-1)

+0

這不會解決問題...... – mql4beginner

+0

爲什麼會不是解決這一問題? –

+0

因爲它會採取一切每日數據有一天回來,但所有的計算將是al所以有一天我們會再次獲得與目標日期相同的HLC數據。 HLC的收盤價仍然是目標日期的收盤價,因此它將成爲我們在預測模型中無法獲得的未來價值。 – mql4beginner