The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
tq_fund_holdings()
: Retrieves the fund holdings and
compositions for a fund and source combination. Example:
tq_fund_holdings("SPY", source = "SSGA")
#250“Packages which use Internet resources should fail gracefully with an informative message if the resource is not available or has changed (and not give a check warning nor error).”
tq_index("SP500")
: Fixed broken API call (#246)tq_exchange("NASDAQ")
: Fixed broken API call (#226,
#248)tidyquant no longer loads lubridate. (@olivroy, #237)
If you use tidyquant with tidyverse, there is no change for you.
tidyquant no longer loads many packages on load.
size
argument to linewidth
for
ggplot2 3.4.0linewidth
to geom_ma()
Quandl
, riingo
, and
alphavantager
to Suggests. tidyquant will not explicitly
install those, but you can install them from CRAN.FANG
geom_bbands()
, geom_candlestick()
, and
geom_barchart()
no longer emit dropped aesthetics warnings.
(@olivroy, #235)tidyverse
from suggest to imports to pass cran
testsspread_()
functionreadxl
to imports. #222sp_index()
to convert symbols from “BRK.B”
to “BRK-B” to work with Yahoo FinanceCRAN requested fixes:
janitor
to suggestsOther changes:
tq_exchange()
: Switch to new NASDAQ website.tq_exchange()
: Fix issue with NASDAQ changes to
website.theme_tq()
: Fix issues with %+replace%
,
theme_gray
, and rel
not found.tq_get()
- Add "dividends"
and
"splits"
get options, which have been fixed in
quantmod
0.4-16. Issue 150.rstudioapi::getThemeInfo()
returns NULL
.pivot_table
- Fix issues with tidyverse
functions not being found.summarise_by_time()
- This function has moved to
timetk::summarise_by_time()
This is the “R for Excel Users” release. My aim is to build functionality that helps users coming from an Excel Background (background I came from). It’s important to have these users feel at home. I have a full suite of functionality to accomplish your Excel-to-R transition.
-Matt
Excel Functions
tidyverse
and “tidy- finance / business analysis”
in R.pivot_table()
- A tidyverse-style function to
perform data summarizations just like the popular Excel Pivot
Table. Enables stacking calculations using a tidy-esque syntax:
.rows = ~ YEAR(order_date)
.VLOOKUP()
- Performs the classic
Excel VLOOKUP. Excel user’s: rejoice.SUM_IFS()
, COUNT_IFS()
,
AVERAGE_IFS()
CREATE_IFS()
to make your own by supplying a summarization
function.SUM()
,
AVERAGE()
, COUNT()
, and friends.CHANGE()
,
PCT_CHANGE()
, LAG()
,
CUMULATIVE_SUM()
, and friends.lubridate()
(e.g. AS_DATE()
, YEAR()
)timeDate
(e.g. HOLIDAY_SEQUENCE()
, HOLIDAY_LIST()
)NET_WORKDAYS()
,
EOMONTH()
NPV()
,
IRR()
, FV()
, PV()
,
PMT()
, RATE()
NEW tidyverse Functionality
summarise_by_time()
- This is a new time-based variant
of summarise()
that allows collapsing the time-series by
“day”, “week”, “month”, “quarter”, “year”, and more.summarise_at_by_time()
,
summarise_all_by_time()
, and
summarise_if_by_time()
after the release of
dplyr
v1.0.0.NEW API Integrations
riingo
package.Bug Fixes & Improvements
theme_tq()
- Fix issues with collisions with
dials::margin()
and ggplot2::margin()
. Similar
potential ggplot2
collisions have been fixed.theme_tq()
- Increased default top/bottom text margin
on facet stripsDeprecation & Breaking Changes
tq_get("AAPL")
returns
symbol = “AAPL” for the 1st column).tq_get("AAPL", get = c("stock.prices", "stock.prices.japan"))
)
is no longer available. Solution: Split these up into
two calls to tq_get()
.tq_get()
- Temporarily adjust tests for
tq_get(get = "dividends")
and
tq_get(get = "splits")
until API is stabilizes. Yahoo!
Dividends and Splits intermittently returns errors.tq_stocklist
to
?tq_index
.tq_index()
tq_index()
download issue. Note that
“RUSSEL1000”, “RUSSELL2000”, “RUSSELL3000”, and “SP1000” are no longer
available due to changes from www.us.spdrs.com.tq_index()
- Fix naming issue with stock index data
downloaded from www.us.spdrs.com.Stock Index & Exchanges
tq_exchange()
- Fix NASDAQ URL change Issue #138.Visualizations & Color Palettes
geom_candlestick
and geom_barchart
- Issue
#112.theme_tq
palettes
(palette_light
, palette_dark
, and
palette_green
) for easier identification.Compatibility with tidyr
v1.0.0
tidyr
v1.0.0[Potential Breaking Change] Move tidyverse
to
suggests
tidyverse
in your scripts) - if you do not load
tidyverse
, then you will now need to do so. Previously
tidyquant
loaded tidyverse
behind the
scenes.Morningstar Key Ratios: The tq_get()
argument
get = "key.ratios"
has been deprecated due to a change in
Morningstar’s website. (Help Wanted - Ref. Issue #125)
Remove dependency on XLConnect
. Replace with
readxl
. Issue #119.
Bux fix
tq_get()
get = "financials"
now returns
a warning and NA
as Google Finance no longer provides data.
We are actively looking for alternative data sources.
tq_get()
get = "stock.prices.google"
now returns a warning and NA
as Google Finance no longer
provides data. Use get = "stock.prices"
instead to use
Yahoo Finance, or use the riingo
package to download from
Tiingo.
Catch duplicate names in col_rename
when you are
renaming more than 1 column. Duplicate names are not allowed and return
an error.
Fix duplicate name collision issue when the original name already
includes a .
. Duplicate names now get a ..1
,
..2
, etc. as opposed to .1
,
.2
.
alphavantager
, a lightweight API to the Alpha Vantage financial data
provider.Rblpapi
, R interface to “Bloomberg”. You must
have a Bloomberg account to use this.tq_get(get = "stock.prices.google")
tq_get(get = "key.stats")
.
Yahoo Finance no longer supports the Key Statistics CSV API.tidyquant::as_tibble()
and
tidyquant::as_xts()
. Use timetk::tk_tbl()
and
timetk::tk_xts()
instead.tibbletime
support was added so that all
tidyquant
functions play nicely with tbl_time
objects.XLConnect
was removed. This should
ease the use of the package, especially for Mac users.testthat
2.0. They have been
updated.purrr
v0.2.3.timetk
coercion functions.
Deprecated tidyquant::as_xts()
and
tidyquant::as_tibble()
. Use timetk::tk_xts()
and timetk::tk_tbl()
instead.tq_index()
no longer pulls from marketvolume. Instead,
9 indices are available from SPDR. These indices are more reliable, and
include weights for each stock in the index.tq_get(get = "stock.prices")
were 1 or 2 rows off of what
the tests expected. This likely has to do with the new yahoo finance
API.pkgdown
integration.quantmod
version 0.4-8 to fix Oanda and
Yahoo bugs.tq_get()
data, it now returns oldest to newest.tq_portfolio()
where
weights = NULL
would not execute an equal weighting
scheme.tq_get(get = "quandl")
is a wrapper for
Quandl::Quandl()
that pulls multiple Quandl Codes in a
“tidy” fashion.tq_get(get = "quandl.datatable")
is a wrapper for
Quandl::Quandl.datable()
that pulls Quandl datatables.quandl_api_key()
is a wrapper for
Quandl::Quandl.api_key()
.quandl_search
is a wrapper for
Quandl::Quandl.search()
.tq_get(get = "stock.prices.japan")
is a wrapper for
quantmod::getSymbols(src = "yahooj")
that enables getting
stocks from Yahoo Finance Japan.tq_mutate()
and tq_transmute()
now accept
non-OHLC data through the select
argument. They also now
work with rollapply
.tq_mutate()
and tq_transmute()
now accept
PerformanceAnalytics
functions that work to clean and
transform asset returns.ohlc_fun
argument to instead use
select
in tq_mutate()
and
tq_transmute
.Deprecated
-> .Defunct
for
tq_transform()
and tq_transform_xy()
. Use
tq_transmute()
and tq_transmute_xy()
. Move the
sign post functions to deprecated.Rtransform_fun
from tq_transmute()
. Use
mutate_fun
instead.tq_mutate
returning rows incorrectly
sortedtq_get
returning data frames as
nestedtq_get
error to return full error when issues are
present.tq_transmute()
replaces tq_transform()
for
consistency with dplyr
.tq_performance()
which integrates the performance
analysis functions of PerformanceAnalytics
.tq_portfolio()
which enables aggregating portfolios
from individual stock returns.tq_tranform()
: Added the NA-handling functions from
zoo
to the list of compatible, which provide a number of
useful methods for handling NA
values in data sets. Added
Return.calculate
and Return.excess
for
calculating returns and returns in excess of the risk-free rate,
respectively.tq_mutate()
and tq_transmute()
help pages
have been combined.tidyquant
users!tq_exchange()
gets the stock list for NASDAQ, NYSE, and
AMEX exchanges. Use tq_exchange_options()
to exchange
options.FANG
data setggplot2
:
palette_()
functions used to create scales are
exported.theme_tq()
creates light, dark, and green themes for
tidyquant visualizations.scale_color_tq()
and scale_fill_tq()
add
color/fill scales for the data used in tidyquant visualizations.transform_fun
argument of
tq_transmute()
has been replaced with
mutate_fun
for consistency with
tq_mutate()
.get = key.ratios
failing with HTTP 500 error on download.
Use httr RETRY in case of failure.get = "key.ratios"
where stocks listed
on AMEX exchange were not able to return key ratios.get = "key.stats"
where NA’s
in multiple x
(e.g. c("AAPL", "GOOG")
) cause
call to fail during coercion.tq_get("AAPL", get = c("stock.prices", "financials"))
).tq_index()
function to return
a stock index. tq_get(get = "stock.index")
is deprecated
and will be removed during the next version after 0.4.0. Use
tq_index_options()
for index options.dttm
.tq_get
option get = "key.stats"
, which
retrieves the current key statistics (55 total) from
www.finance.yahoo.com/. These include various current data such as Ask,
Bid, Day’s High, Day’s Low, Last Trade Price, current P/E Ratio, EPS,
Current Market Cap, EPS Projected Current Year, EPS Projected Next Year
and many more. Example:
tq_get("AAPL", get = "key.stats")
.ggplot2
:
geom_barchart
) and candlestick
charts (geom_candlestick
) can be quickly created with the
new geoms.geom_ma
. The geom wraps the
TTR::SMA
functions.geom_bbands
. The
same seven moving averages are compatible with the geom.coord_x_date
and coord_x_datetime
) were added
to enable zooming into chart sections using dates with no out-of-bounds
data loss (e.g. out-of-bounds data loss with the scale_x_
functions).tq_get
can now accept character vectors and
data frames for the x
arg, in addition to a single
character input. This streamlines the getting of data for multiple
inputs (e.g. stock symbols, stock indexes, etc).col_rename
arg to
tq_mutate
and tq_transform
, which enables fast
and easy renaming during the operation.dplyr::group_by()
with
tq_mutate()
and tq_transform()
. The transform
and mutate functions now work properly with grouped data frames.tq_get()
,
get = "key.ratios"
, where key ratios for stocks from the
NYSE returned NA
.x_fun
,
.x
, and .y
in the respective transform and
mutate functions.get = "key.ratios"
option for
tq_get()
, which retrieves 10-years of key performance
ratios (89 total) from www.morningstar.com. These include various
historical measures of financial performance including profitability,
growth, cash flow, financial health, efficiency, and valuation ratios.
Example: tq_get("AAPL", get = "key.ratios")
.zoo
rollapply()
functions to list of
compatible / integrated functions used with tq_transform()
and tq_mutate()
. See
tq_transform_fun_options()
for the full list.tq_mutate()
, tq_transform()
,
tq_mutate_xy()
and tq_transform_xy()
arguments
to be more obvious:
x_fun
is now ohlc_fun
for
tq_mutate()
and tq_transform()
.x
is now x
and .y
is now
y
for tq_mutate_xy()
and
tq_transform_xy()
tq_mutate
.
Names are now sequentially indexed with duplicate names starting at
.1
suffix.tidyquant
, for seamless quantitative
financial analysis (xts
, quantmod
,
TTR
) package integration with the
tidyverse
.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.