# tidyquant

The tidyquant package integrates the best resources for collecting and analyzing financial data, zoo, xts, quantmod, TTR, and PerformanceAnalytics, with the tidy data infrastructure of the tidyverse allowing for seamless interaction between each. You can now perform complete financial analyses in the tidyverse.

# timetk

The timetk package enables the user to more easily work with time series objects in R. The package has tools for inspecting, analyzing and manipulating the time-based index and converting time-based objects to and from the many time series classes. The package is well-suited for time series data mining and time series machine learning using the time series signature.

# sweep

The sweep package enables broom-style "tidying" of ARIMA, ETS, BATS, and other models and forecast objects used in the forecast package. The output is a "tidy" data frame that fits into the data science workflow of the tidyverse.

# tibbletime

Built on top of the tidyverse, tibbletime is an extension that allows for the creation of time aware tibbles through the setting of a time index.

### Introducing the tibbletime functions

1. filter_time() - Succinctly filter a tbl_time object by date.

2. as_period() - Convert a tbl_time object from daily to monthly, from minute data to hourly, and more. This allows the user to easily aggregate data to a less granular level.

3. collapse_by() - Take an tbl_time object, and collapse the index so that all observations in an interval share the same date. The most common use of this is to then group on this column with dplyr::group_by() and perform time-based calculations with summarise(), mutate(), or any other dplyr function.

4. collapse_index() - A lower level version of collapse_by() that directly modifies the index column and not the entire tbl_time object. It allows the user more flexibility when collapsing, like the ability to assign the resulting collapsed index to a new column.

5. rollify() - Modify a function so that it calculates a value (or a set of values) at specific time intervals. This can be used for rolling averages and other rolling calculations inside the tidyverse framework.

6. create_series() - Use shorthand notation to quickly initialize a tbl_time object containing a regularly spaced index column of class Date, POSIXct, yearmon, yearqtr, or hms

# anomalize

Built on top of the tibbletime, anomalize enables a "tidy" workflow for detecting anomalies in time series data. The main functions are time_decompose(), anomalize(), and time_recompose().

### Introducing the annomalize functions

1. time_decompose() - Separates the time series into seasonal, trend, and remainder components.

2. anomalize() - Applies anomaly detection methods to the remainder component.

3. time_recompose() - Calculates limits that separate the “normal” data from the anomalies.