Очистка фьючерсных данных с помощью R - PullRequest
0 голосов
/ 28 апреля 2020

Я работаю над извлечением данных об энергетических фьючерсах из ICE, и мне нужна помощь с js.

Я работаю над данными ICE Futures и, в частности, хочу чтобы получить доступ к NGX FIN FF, FP для 7A, (CA / GJ), расчет контракта AB-NIT. Итак, я хочу, чтобы их выпадающее меню выглядело следующим образом, а затем нажмите «Отправить» и прочитайте данные на фрейме данных в R. drop down menu configuration

Я застрял в «Мне нужно использовать Rselenium для этого? " этап проблемы.

Я просмотрел devtools, чтобы посмотреть, смогу ли я разобрать выполнение, но мой JS слаб, поэтому я надеюсь, что один из вас может указать мне правильное направление.

Кнопка выполняет jquery .min. js, но это все, что я могу сделать на данный момент.

К сожалению, я пробовал много примеров фрагментов кода Rselenium, но пока не удалось заставить его работать без ошибок. Все еще работаю над этим, но если у кого-то есть быстрый ответ, который поможет, это будет высоко ценится. Будет обновляться как я go, если я получу дальше.

Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2020

Мне кажется, я понял это, спасибо другу:

library(httr)
library(tidyverse)
library(lubridate)
library(rvest)
library(janitor)


ngx_read<-function(series_id,settlement)
{
query = list(
  htmlReport="",
  reportId=254,
  criteria.group="Natural Gas",
  criteria.selectedMarket=series_id,
  criteria.selectedTimePeriod=settlement,
  rcMode=2
  )
#Settlement can be:
  #"Current Settlement"
  #Previous Day Settlement
  #Day-2 Settlement
  #Day-3 Settlement
  #Day-4 Settlement

html_doc<-read_html(POST("https://www.theice.com/marketdata/reports/ngx/DailySettlementPrices.shtml", body = query))

html_nodes(html_doc, "table")[[1]]%>%html_table(fill = TRUE) %>% clean_names()%>%
  mutate(begin_date=ymd(begin_date),end_date=ymd(end_date),net_oi=as.numeric(gsub(",","",net_oi)),
         settle=settlement,date=Sys.Date())
}

ngx_data<-ngx_read("NGX Fin FF, FP for 7A, (CA/GJ), AB-NIT","Previous Day Settlement")
...