Загрузка только транспортных компаний из WRDS
Я пытаюсь загрузить данные из wrds, выполняющих SQL-запрос в моей R-студии. Однако я продолжаю получать ту же ошибку.
Я пытаюсь загрузить данные только для транспортных компаний (код NSDINX 6), но я получаю сообщения об ошибках. Этого не произошло при выборе индекса NASDAQ (HEXCD = 3)
res <- dbSendQuery(wrds, "select CUSIP, DATE, PERMNO, PERMCO, PRC, RET, RETX, VOL, HEXCD, NSDINX from CRSP.DSF WHERE DATE >= '2000-03-01' AND DATE < '2018-04-01' AND NSDINX = 6 AND HEXCD = 3")
Error in result_create(conn@ptr, statement) :
Failed to prepare query: ERROR: column "nsdinx" does not exist
LINE 1: ...IP, DATE, PERMNO, PERMCO, PRC, RET, RETX, VOL, HEXCD, NSDINX
1 ответ
Проблема в том, чтоnsdinx
находится на другом столе (crsp.dse
), поэтому необходимо объединить.
library(DBI)
library(dplyr, warn.conflicts = FALSE)
pg <- dbConnect(RPostgres::Postgres())
dbExecute(pg, "SET search_path TO crsp")
#> [1] 0
dsf <- tbl(pg, "dsf")
dse <- tbl(pg, "dse")
dsi <- tbl(pg, "dsi")
nasdin <-
dse |>
filter(!is.na(nsdinx)) |>
filter(nsdinx == 6) |>
select(permno, date, event, nsdinx, trtsendt) |>
rename(trtsdt = date)
dsi |>
select(date) |>
inner_join(nasdin, join_by(date >= trtsdt, date <= trtsendt)) |>
inner_join(dsf) |>
select(cusip, date, permno, permco, prc, ret, retx, vol, hexcd, nsdinx)
#> Joining with `by = join_by(date, permno)`
#> # Source: SQL [?? x 10]
#> # Database: postgres [igow@/tmp:5432/igow]
#> cusip date permno permco prc ret retx vol hexcd nsdinx
#> <chr> <date> <int> <int> <dbl> <dbl> <dbl> <int6> <int> <int6>
#> 1 69348J10 1986-03-03 10038 7986 -7 -0.00885 -0.00885 23400 3 6
#> 2 69348J10 1986-03-04 10038 7986 -6.88 -0.0179 -0.0179 83550 3 6
#> 3 69348J10 1986-03-05 10038 7986 -6.81 -0.00909 -0.00909 33875 3 6
#> 4 69348J10 1986-03-06 10038 7986 -6.94 0.0183 0.0183 33500 3 6
#> 5 69348J10 1986-03-07 10038 7986 -6.94 0 0 41735 3 6
#> 6 69348J10 1986-03-10 10038 7986 -7.62 0.0991 0.0991 143024 3 6
#> 7 69348J10 1986-03-11 10038 7986 -8.5 0.115 0.115 159917 3 6
#> 8 69348J10 1986-03-12 10038 7986 -8.75 0.0294 0.0294 156528 3 6
#> 9 69348J10 1986-03-13 10038 7986 -9.31 0.0643 0.0643 240000 3 6
#> 10 69348J10 1986-03-14 10038 7986 -9.69 0.0403 0.0403 204480 3 6
#> # ℹ more rows
Создано 15 мая 2023 г. с использованием reprex v2.0.2.