In the quantitative finance world the Single-Index Model (SIM) is commonly used to price assets by measuring both volatility and return of a stock. According to this model, the return of any stock can be decomposed into expected excess returns (the returns above those from a market index, for example ASX200) due to firm-specific factors and macroeconomic factors.
Luckily R has many useful applications for quantitative finance in libraries
PerformanceAnalytics which I have been using for the last 2 years to balance a portfolio of Exchange-Traded Funds (ETFs).
EDIT: I was forced to re-write the app using
tidyquant to get returns as the function
stockPortfolio::getReturns stopped working with Yahoo Finance data.