We can now forecast the cashflows to December 2025 and calculate the present value.
Analysis scripts are saved in the
src folder. These are not automatically run when a project is opened, so it is helpful to load the project at the top of each script so it can be run as a standalone piece of analysis.
Create a new R script called
analysis.R in the
src folder with the following code and run it by clicking
# Load project library("ProjectTemplate") load.project() # Model cashflows as a ARIMA(2,1,0) time series cashflow_model = arima(cashflows, order=c(2,1,0)) # Create an 12 month forecast forecast = forecast(cashflow_model, 12, level=c(80, 90, 95, 99)) # Plot the forecast cf_plot = autoplot(forecast) + xlab("Year") + ylab("Cashflow") + ggtitle("12 month cashflow projection") # Hold cashflow forecasts in a data frame forecasts = data.frame(lower=c(cashflows, forecast$lower[,3]), central=c(cashflows, forecast$mean), upper=c(cashflows, forecast$upper[,3])) # Set discount rate disc = 0.03 # Discount cashflows pv_lower = discount(forecasts[["lower"]], disc, 12) pv_central = discount(forecasts[["central"]], disc, 12) pv_upper = discount(forecasts[["upper"]], disc, 12)
This code models the cashflows as a time series using the
arima() function and forecasts them over the following 12 months. A plot of the forecast is created using
ggplot2 and stored as a variable. The cashflows are held in a data frame and the
discount() helper function is used to discount them.
The results can be viewed by running the following code in the console.
> pv_lower  8695840 > pv_central  8851433 > pv_upper  9007027
> cf_plot will display a graph of the cashflows in the plots plane.
ggplot2 is a system for creating graphics in R. The cheat sheet here and the data visualisation chapter of R for Data Science covers how to use
ggplot2 in detail.
You can use these resources to improve the plot, for example by formatting the axis and legend.