Вариант цепной параллельной обработки
Есть ли способ скачать цены опционов с помощью параллельной обработки?
Я пытаюсь получить все опционные контракты (~188 в цикле данных 2) в цикле для ASX200 (XJO), который занимает много времени.
FnGetOptionPx <- function(ID,symbol,securitytype,exchange,expiry,
strike,currency,right,multiplier){
print(ID)
TWSContract <- twsContract(0,
symbol=as.character(symbol),
sectype=as.character(securitytype),
exch=as.character(exchange),
primary="",
expiry= as.character(expiry,"%Y%m%d"),
strike=as.character(strike),
currency=as.character(currency),
right=as.character(right),
local="",
multiplier = as.character(multiplier),
combo_legs_desc = "",
comboleg = "",
include_expired = "",
secIdType = "",
secId = "")
Query <- reqMktData(tws,TWSContract,snapshot = TRUE)
MidPx <-ifelse(Query$bidPrice>0 & Query$askPrice>0,
#bid and ask both exist
(Query$bidPrice+Query$askPrice)/2,
#no bids so use ask with a min of 1
Query$askPrice/2)
return(MidPx)
}
Chain.3 <- Chain.2 %>%
#top_n(20) %>%
#need to call IB row by row therefore use rowwise
rowwise() %>%
mutate(MidPx=FnGetOptionPx(ID,symbol,sectype,exch,expiry,
strike,currency,right,multiplier))