I've found that Google Finance and Yahoo Finance have different formula for calculating stock return over a period.
Yahoo Finance uses the closing price of the periods involved and Google Finance uses the opening price of the period start and closing price of period end.
I think Google engineers are smarter than Yahoo engineers. But I'm very confused why Google chose this.