В DolphinDB у меня есть таблица A, в которой хранится информация о фьючерсном контракте, как эффективно извлекать непрерывные данные тиков, используя A? - PullRequest
0 голосов
/ 01 марта 2020

Существует сценарий применения: если у меня есть таблица A, которая является названием контракта, соответствующим различным датам. Теперь я хочу получить непрерывные данные тиков на основе этой таблицы (конкретный c контракт на разные даты определяется таблицей A). Если я использую ej (всю тиковую память, A, 'TradingDay`InstrumentID) для получения данных, левая таблица ej будет очень большой, она не будет очень эффективной. Есть ли какое-то решение для этого?

Указать c,

Для таблицы A каждый торговый день соответствует определенному контракту. Тиковый раздел - это комбинированный раздел, основанный на дне транзакции и первых двух буквах имени контракта (`IF) в качестве значения. Можно предположить, что структура таблицы имеет 4 поля: TradingDay, UpdateTime, InstrumentID, LastPrice и ProductID.

1 Ответ

0 голосов
/ 01 марта 2020

Чтобы получить непрерывные данные контракта, вы можете отправить запрос для каждой строки в таблице A и, наконец, использовать объединение для объединения

def getTickData(dict){
 curDate = dict.TradingDay
 curID = dict.InstrumentID
 curProductID = curID.left(2)
 return select TradingDay, UpdateTime, InstrumentID, LastPrice from loadTable("db", "table") where TradingDay = curDate, ProductId =curProductID, InstrumentID = curID
}

pl oop (getTicketData, A) .unionAll (false)

...