Я пытаюсь получить доступ и загрузить некоторые данные с веб-сайта с подключением API.Проблема в том, что инструмент, который я хочу отследить, - это будущее с обычным соглашением (то есть каждый месяц соответствует букве, за которой следует год).Корневое имя инструмента - JKM, структура - JKMMYY (M для месяца, Y для года).Имейте в виду, что месяц представлен буквой. Так, например, контракт на 19 января будет JKMF19 (потому что F представляет январь).Пока все хорошо .. Я применил следующую логику:
monthsymbol <- c("F", "G", "H", "J", "K", "M", "N", "Q", "U", "V", "X", "Z")
, а затем применил
monthsymbol[month(Sys.Date())+1])
Это работает хорошо, если я не в декабре, где мне нужно применить первый месяцследующего года.Я не совсем уверен, каков наилучший способ реализовать это, может быть, предложение if?Любые входные данные приветствуются!
Я добавляю приведенный ниже код, чтобы вы поняли ...
Большое спасибо заранее!
library("lubridate")
library("jsonlite")
library("dplyr")
library("xts")
library("dygraphs")
library("rvest")
##########################
#JKM historical data ####
apikey <- "a35e82bda46a34f21xxxxxxxxxxxxxxxxxxx"
current_year <- unlist(strsplit(x = as.character(year(Sys.Date())),split = "0"))[2]
todays_date <- gsub(x = as.character(Sys.Date()), pattern = "-", replacement = "")
#api in json format
json_file <- paste0("https://marketdata.websol.barchart.com/getHistory.json?apikey=",apikey,paste0("&symbol=JKM", monthsymbol[month(Sys.Date())+1]),current_year,"&type=daily&startDate=20160901&endDate=",todays_date,"&maxRecords=750")