UP | HOME |

Yahoo finanzas proporciona la última cotización de acciones bursátiles con R

Yahoo finanzas proporciona la última cotización de acciones bursátiles con R

Yahoo finanzas ofrece la posibilidad de seguir la cotización de las acciones bursátiles, ya sea de la última cotización disponible, ya sea del histórico de cotizaciones. Detallamos aquí la forma de conseguir la última cotización bursátil.

La Anunciación, El Greco (Domenikos Theotokópoulos)

Aquí se detallan las principales funcionalidades de la forma de obtener la información de Yahoo. En los siguientes apartados nos centramos en la cotización bursátil más reciente.

La API de Yahoo con R

Con unas pocas líneas de código en R, se accede la web de Yahoo y se descarga la información en un fichero JSON. Extraemos el contenido de ese fichero a una base de datos. Por último, transformamos la variable regularMarketTime en una variable de tiempo legible para los humanos.

library(jsonlite)

conseguirultimacotizacion <- function(tickers){
    Symbols <- paste(unique(tickers),collapse=",")
    tmp <- tempfile()
    download.file(paste0("https://query1.finance.yahoo.com/v7/finance/quote?symbols=",
                         Symbols), destfile = tmp, quiet = TRUE)
    response <- jsonlite::fromJSON(tmp)
    dt <- response$quoteResponse$result
    dt$regularMarketTime  <- .POSIXct(dt$regularMarketTime)
    dt
}

Necesitamos disponer de los tickers o acrónimos de las empresas o índices que deseamos descargar. Basta con consultar la página de Yahoo para ir anotando los que sean de interés.

En el siguiente ejemplo se han seleccionado cuatro empresas. Por defecto se recopilan setenta y cuatro variables de interés. Por ejemplo, el regularMarketPrice recoge la última cotización disponible, que corresponde al instante detallado en regularMarketTime.

tickers <- c("CEIX","SLB","TK","TGP") 

conseguirultimacotizacion(tickers)
  language region quoteType typeDisp        quoteSourceName triggerable
1    en-US     US    EQUITY   Equity Nasdaq Real Time Price        TRUE
2    en-US     US    EQUITY   Equity          Delayed Quote        TRUE
3    en-US     US    EQUITY   Equity Nasdaq Real Time Price        TRUE
4    en-US     US      NONE     <
                  <
      FALSE
  customPriceAlertConfidence marketState regularMarketChangePercent
1                       HIGH      PREPRE                 -1.0042555
2                       HIGH      PREPRE                 -0.9252406
3                       HIGH      PREPRE                  1.2799988
4                       NONE        <
                        NA
  regularMarketPrice  messageBoardId exchangeTimezoneName
1              58.16 finmb_530135269     America/New_York
2              53.54    finmb_301966     America/New_York
3               6.33    finmb_329438     America/New_York
4                 NA            <
                <NA>
  exchangeTimezoneShortName gmtOffSetMilliseconds    market esgPopulated
1                       EST             -18000000 us_market        FALSE
2                       EST             -18000000 us_market        FALSE
3                       EST             -18000000 us_market        FALSE
4                      <
                   NA      <
       FALSE
  exchange          shortName             longName currency
1      NYQ CONSOL Energy Inc.   CONSOL Energy Inc.      USD
2      NYQ  Schlumberger N.V. Schlumberger Limited      USD
3      NYQ Teekay Corporation   Teekay Corporation      USD
4     <
              <
                <
    <NA>
  firstTradeDateMilliseconds priceHint postMarketChangePercent postMarketTime
1                1.51067e+12         2              -0.0171911     1678321189
2                3.78657e+11         2              -0.2614856     1678322487
3                8.06247e+11         2              -2.0537100     1678315847
4                         NA        NA                      NA             NA
  postMarketPrice postMarketChange regularMarketChange   regularMarketTime
1           58.15      -0.00999832         -0.59000015 2023-03-08 22:00:02
2           53.40      -0.13999939         -0.50000000 2023-03-08 22:00:01
3            6.20      -0.13000000          0.07999992 2023-03-08 22:00:01
4              NA               NA                  NA                <NA>
  regularMarketDayHigh regularMarketDayRange regularMarketDayLow
1                59.27         57.11 - 59.27              57.110
2                54.26        52.315 - 54.26              52.315
3                 6.36            6.2 - 6.36               6.200
4                   NA                  <
                 NA
  regularMarketVolume regularMarketPreviousClose bid ask bidSize askSize
1              602135                      58.75   0   0       9      10
2             7438903                      54.04   0   0       9       9
3             1259287                       6.25   0   0      30      10
4                  NA                         NA  NA  NA      NA      NA
  fullExchangeName financialCurrency regularMarketOpen averageDailyVolume3Month
1             NYSE               USD             58.88                   941258
2             NYSE               USD             53.71                  9097559
3             NYSE               USD              6.30                  1065752
4             <
             <
               NA                       NA
  averageDailyVolume10Day fiftyTwoWeekLowChange fiftyTwoWeekLowChangePercent
1                 1248230                 29.10                     1.001376
2                 7184360                 22.89                     0.746819
3                 2074230                  3.79                     1.492126
4                      NA                    NA                           NA
  fiftyTwoWeekRange fiftyTwoWeekHighChange fiftyTwoWeekHighChangePercent
1     29.06 - 79.17           -21.00999800                   -0.26537830
2     30.65 - 59.45            -5.91000000                   -0.09941126
3       2.54 - 6.43            -0.09999991                   -0.01555209
4              <
                    NA                            NA
  fiftyTwoWeekLow fiftyTwoWeekHigh dividendDate earningsTimestamp
1           29.06            79.17   1677542400        1675782000
2           30.65            59.45   1680739200        1674225000
3            2.54             6.43   1550102400        1677168000
4              NA               NA           NA                NA
  earningsTimestampStart earningsTimestampEnd trailingAnnualDividendRate
1             1682944200           1683289800                       2.15
2             1681988400           1682334000                       0.65
3             1683721800           1684153800                       0.00
4                     NA                   NA                         NA
  trailingPE trailingAnnualDividendYield epsTrailingTwelveMonths epsForward
1   4.449885                  0.03659575                   13.07      20.06
2  22.401672                  0.01202813                    2.39       3.72
3  17.108109                  0.00000000                    0.37       0.43
4         NA                          NA                      NA         NA
  epsCurrentYear priceEpsCurrentYear sharesOutstanding bookValue
1          21.24             2.73823          34746900    33.552
2           3.02            17.72848        1427600000    12.453
3             NA                  NA          98318400     6.341
4             NA                  NA                NA        NA
  fiftyDayAverage fiftyDayAverageChange fiftyDayAverageChangePercent
1         58.9584            -0.7984009                  -0.01354177
2         54.9444            -1.4043999                  -0.02556038
3          5.0340             1.2960000                   0.25744936
4              NA                    NA                           NA
  twoHundredDayAverage twoHundredDayAverageChange
1              61.7829                  -3.622902
2              45.6561                   7.883900
3               3.9711                   2.358900
4                   NA                         NA
  twoHundredDayAverageChangePercent   marketCap forwardPE priceToBook
1                       -0.05863923  2020879744  2.899302   1.7334288
2                        0.17268010 76433702912 14.392473   4.2993655
3                        0.59401673   622355456 14.720930   0.9982652
4                                NA          NA        NA          NA
  sourceInterval exchangeDataDelayedBy averageAnalystRating tradeable
1             15                     0            2.0 - Buy     FALSE
2             15                     0            1.9 - Buy     FALSE
3             15                     0           3.0 - Hold     FALSE
4             NA                    NA                 <
    FALSE
  cryptoTradeable   displayName symbol
1           FALSE CONSOL Energy   CEIX
2           FALSE  Schlumberger    SLB
3           FALSE        Teekay     TK
4           FALSE          <
   TGP