I am using non-negative lasso(sklearn) on a dataset with 1.5MM data points and 120 features. It is a low R2 environment (working with noisy financial data), so $R^2$ is about 10%. What I am more worried though, is that the standard deviation of the predictions is about $\frac{1}{4}$ of the standard deviation of the target variable. Similarly, mean(abs(target)) / mean(abs(predicted)) is about $\frac{1}{4}$.
How can I get that ratio to be closer to 1? I am willing to sacrifice some $R^2$ to achieve this. Do I need to do different type of regression, transform my features in some way, or is there anything else that can be done? In other words, the predictions are too smooth for my application.
If possible, I would like a suggestion how to get results (predictions) that are similar size to target, while still having similar (now much lower) $R^2$.
Maybe I should use different objective function rather than min. sum of squares?