저는 현재 quantstrat/blotter를 사용하여 전략을 수립하는 중입니다. 내가 사용하는 가격 데이터는 보안 식별자로 숫자를 사용하므로이 숫자는 열 이름뿐 아니라 financial instruments를 가져 오기 위해 stock()와 같은 함수에서 synbol 이름에 사용하는 것입니다. 그러나 아래의 재현 가능한 코드에서 볼 수 있듯이 매우 작은 부분의 데이터 집합을 사용하여 이러한 숫자 식별자에 stock (stockquant가 사용될 때마다 FinancialInstrument 패키지가 "X"를 추가하고 선행 숫자를 제거하여 이상한 방식으로 수정합니다 . 이를 기반으로 FinancialInstrument 패키지에서 사용할 심볼 이름에 대한 제한이 있습니까?R - FinancialInstrument 패키지 주식을 사용할 때 심볼 이름 변경
structure(c(9.17000007629395, 9.17000007629395, 9.17000007629395,
9.17000007629395, 9.17000007629395, 9.17000007629395, 41.0999984741211,
40.7599983215332, 40.4599990844727, 40.1500015258789, 40.5299987792969,
40.5299987792969, 41.9900016784668, 41.7449989318848, 42.0299987792969,
41.7200012207031, 42.25, 41.7000007629395, 29.3199996948242,
29.3199996948242, 29.3199996948242, 29.3199996948242, 29.3199996948242,
29.3199996948242), class = c("xts", "zoo"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC", index = structure(c(1403481600,
1403568000, 1403654400, 1403740800, 1403827200, 1404086400), tzone = "UTC", tclass = "Date"), .Dim = c(6L,
4L), .Dimnames = list(NULL, c("10078", "10104", "10107", "10108"
)))
colnames(x)
# "10078" "10104" "10107" "10108"
for(i in colnames(x)){
stock(i,currency="USD",multiplier=1)
}
ls_stocks()
# "X0078" "X0104" "X0107" "X0108"
를 추가하는 또 다른 방법은 이상 없습니다. 기호/개체 이름은 문자 또는 점과 문자로 시작해야합니다. 각 주식에 대해 다른 식별자를 사용하십시오. –
흠. 이 코드가'instrument()'에 있기 때문에 발생합니다 : if (substr (primary_id, 1, 1) == 1) primary_id <- substr (primary_id, 2, nchar (primary_id))', 그러나 기억이 안나요 왜 그곳에 가는지. Joshua가 말했듯이, 당신이 계좌를 더 잘 지명 할 수 있고, 숫자를 찾으면 getInstrument()가 여전히 그들을 찾을 수 있도록 식별자를 사용할 수 있습니다 : – GSee
:'' 주식 ("X1234", 통화 ("USD"), 식별자 = 목록 (num = "1234")); getInstrument ("1234")' – GSee