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 stockPortfolio
and 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.