作者x9060000456 (你好)
看板R_Language
標題[問題] 關於類似choose挑選變數
時間Tue Apr 4 01:11:17 2017
請簡略描述你所要做的事情,或是這個程式的目的
各位前輩大大大家好,
小弟寫R資歷尚淺,
最近在研究關於股市分析的quantstrat這個套件,
以下為問題求解, 假如加入指標策略如下,
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("K", "D"), relationship = "gt"),
label = "KD1")
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("rsi", "thr20"), relationship = "gt"),
label = "KD2")
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("sma20", "sma5"), relationship = "gt"),
label = "KD3")
.
.
.
.
.
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("D", "K"), relationship = "lt"),
label = "KD20")
假設小弟現有20個下判斷的決策, 名稱為KD1到KD20,
因此接下來是希望以上這20個指標判斷"某些"同時成立的情況下才enter,
如下:
add.signal(strategy.st, name = "sigAND",
arguments = list(columns = c("atrX", "KD1", "KD2"),
cross = TRUE), label = "Entry1")
因此想請問在上面這個code中的下面這行
arguments = list(columns = c("atrX", "KD1", "KD2"),
我該如何做到所有排列組合都做到, 如下
arguments = list(columns = c("atrX", "KD1"),
和
arguments = list(columns = c("atrX", "KD2"),
.
.
.
arguments = list(columns = c("atrX", "KD20"),
共有choose(20, 1)種可能,
arguments = list(columns = c("atrX", "KD1", "KD2"),
arguments = list(columns = c("atrX", "KD1", "KD3"),
.
.
.
arguments = list(columns = c("atrX", "KD19", "KD20"),
共有choose(20, 2)種可能
依此類推, 一值做到choose(20, 19)種排列組合,
亦即想把所有納入一到二十個指標的所有排列組合都想得到結果,
目前沒有想到比較聰明的寫法, 希望各位大大能提供一寫想法~
如表達不清, 請見諒, 謝謝大家!
題外話:記得年前看到報導, 國內某劵商砸重金提升硬體設備,
據說開發R的下單系統, 希望能像國外IBrokers進行交易~_~"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.206.26
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1491239480.A.4F5.html
→ x88776544pc: 最陽春 sapply(1:20,function(i)t(combn(x,i)))[-20] 04/04 02:19
→ x9060000456: 謝謝x大, 用這個方法已完成! 04/04 12:05