Despite the fact that R-squared is a unitless statistic, there is no absolute
standard for what is a "good" value. A regression model fitted to non-stationary time
series data can have an R-squared of 99% and yet be inferior to a simple random walk
model. On the other hand, a regression model fitted to stationarized time series data
might have an R-squared of 10%-20% and be considered quite good. When working
with stationary stock return data, R-squared values as low as 5% might even be
considered significant--if they hold up out-of-sample!