Explaining Return Anomalies with a Two-Factor ICAPM Model