Closed matiasandina closed 4 years ago
I don't think anything's wrong with getQuote
. Yahoo returns the POSIX timestamp in UTC, so your transformation works if you specify the timezone.
yahoo_time <- function(x) { .POSIXct(x, tz = "UTC") }
msft <- getQuote("MSFT", what = what_metrics)
# don't have dplyr installed in my dev environment
within(msft, {
`Ex-Dividend Date` <- from_utc(`Ex-Dividend Date`)
`Earnings Timestamp` <- from_utc(`Earnings Timestamp`)
})
Regarding the Earnings Timestamp column, I can't fix that. getQuote
returns the data returned by the Yahoo Finance server.
I'm sorry, I might have not been clear, I don't think this is a problem of date calculation.
Ex Dividend Date >> Nov 20, 2019 and Dividend Pay Date >> Dec 12, 2019
Your code is also returning the Dividend Pay Date instead of the Ex-Dividend Date
I would also expect to be able to have access to both dates (I understand if yahoo API might not give that but the naming of the variable is confusing).
I didn't read your initial post carefully enough. Thanks for clarifying!
So getQuote
is returning the dividend pay date labelled as the ex-dividend date. I probably messed up that mapping when they switched from a CSV-based API to the JSON version. The JSON has dividendDate = 1576108800
, so I assumed that was the ex-dividend date.
I'll fix. Thanks for the report!
Thanks again for the report! This should be fixed now. Please let me know if I missed something.
Description
I'm trying to get the dividends dates (I see "Dividend Pay Date" is commented out in
getQuote()
source code). So I should probably not get the "Dividend Pay Date" but I should be getting the "Ex-Dividend Date".Produces
Expected behavior
https://finance.yahoo.com/quote/MSFT?p=MSFT https://www.nasdaq.com/market-activity/stocks/msft
Somewhat separate issue, the Earnings timestamp shows the past timestamp (not sure if this is correct behavior, given yahoo shows an estimate future earnings report)