Time Series Transformation in R

We will now learn about how we can perform the mathematical transformations in R in order to make a non-stationary series stationary.

We have the daily stock prices of an imaginary stock exhibiting rapid growth stored in a csv file. You can download the csv file and follow along this tutorial to perform the transformations in your R console. There are two hundred observations starting from 1st Jan , 2016.

Downloads

We have placed the csv file in our working directory as shown below:

> setwd("C:/Users/Manish/Dropbox/Finance Train/Courses/Data")
> getwd()
[1] "C:/Users/Manish/Dropbox/Finance Train/Courses/Data"
> list.files()
 [1] "stock_daily.csv"

As you can see, the file stock_daily.csv in available in our working directory.

Load Data in R

We will read this csv file in R using read.csv() function and store the dataset in a variable called sp. The data will be stored as a dataframe.

> sp <- read.csv("stock_daily.csv", header=FALSE)
>
> str(sp)
'data.frame':    200 obs. of  1 variable:
 $ V1: num  254 229 277 262 264 ...
>

Convert dataframe to time series using ts() function

Now that we have the data in a dataframe, we can convert it into a time series object using the ts() function as shown below:

> sp_ts <- ts(sp, start=2016, frequency=365)

Plot the series

Let's now plot the time series using the plot.ts() function.

> plot.ts(sp_ts,col=4, main="Daily Stock Prices", ylab="Price")

We can observe two things here:

  1. There is a clearly visible upward trend in the data
  2. The variability in the data is increasing over time.

Let's now look at how we can remove both these patterns to stationarize the series.

Related Downloads

Finance Train Premium
Accelerate your finance career with cutting-edge data skills.
Join Finance Train Premium for unlimited access to a growing library of ebooks, projects and code examples covering financial modeling, data analysis, data science, machine learning, algorithmic trading strategies, and more applied to real-world finance scenarios.
I WANT TO JOIN
JOIN 30,000 DATA PROFESSIONALS

Free Guides - Getting Started with R and Python

Enter your name and email address below and we will email you the guides for R programming and Python.

Saylient AI Logo

Accelerate your finance career with cutting-edge data skills.

Join Finance Train Premium for unlimited access to a growing library of ebooks, projects and code examples covering financial modeling, data analysis, data science, machine learning, algorithmic trading strategies, and more applied to real-world finance scenarios.