R

分形指標 (Bill Williams) R Quantstrat

  • July 4, 2015

嗨,有人見過或知道如何在 quantstrat 中創建分形指標嗎?

分形解釋 http://forex-indicators.net/bill-williams/fractals

範常式式碼(只對類型 1 分形感興趣) http://forexsb.com/forum/topic/68/fractals/

大多數技術指標必須包含在 TTR 包中。但是,如果它們不是,那麼您可以編寫一個自定義指標以在 quantstrat 中使用,如下所示。

fractalindicator.up <- function(x) {

 High <- Hi(x); Bars <- nrow(x)
 afFrUp <- rep(NA, Bars)

 for(iBar in seq(8,Bars-2))
 {
   if(High[iBar-1]<High[iBar-2] && High[iBar]<High[iBar-2])
   {
     #Fractal type 1
     if( High[iBar-4]<High[iBar-2] &&
         High[iBar-3]<High[iBar-2] )
         afFrUp[iBar+1]=High[iBar-2];
   }
 }

 names(afFrDn) <- "F.Up"
}

fractalindicator.dn <- function(x) {

 Low <- Lo(x); Bars <- nrow(x)
 afFrDn <- rep(NA, Bars)

 for(iBar in seq(8,Bars-2))
 {
   if(Low[iBar-1]>Low[iBar-2] && Low[iBar]>Low[iBar-2])
   {
     #Fractal type 1
     if( Low[iBar-4]>Low[iBar-2] && 
       Low[iBar-3]>Low[iBar-2] )
       afFrDn[iBar+1]=Low[iBar-2];
   }
 }

 names(afFrDn) <- "F.Down"
}

#Add indicators
add.indicator(strategy = "fractal", name = "fractalindicator.up",
         arguments = list(x = quote(mktdata)), label="fractalup")

#Add indicators
add.indicator(strategy = "fractal", name = "fractalindicator.dn",
         arguments = list(x = quote(mktdata)), label="fractaldn")

我在這裡定義了兩個,fractalindicator.up 和 fractalindicator.dn。您可以像在正常 quantstrat 策略中一樣使用這些。我在建構指標時可能是錯誤的,因此請檢查邏輯。也可以通過附加參數將這兩個函式組合為一個。

此外,最好在 r-sig-finance 郵件列表上詢問與 quantstrat 相關的問題。quantstrat 的作者和更多的 R 愛好者在該郵件列表中非常活躍。

引用自:https://quant.stackexchange.com/questions/18634