I'm using the version of quantmod (0.3-17) on R-Forge,
when I try to get data that includes the dates you mention I get the
following warning.
> getSymbols("BAC",from='1970-01-01',src='google')
[1] "BAC"
Warning message:
In getSymbols.google(Symbols = "BAC", env = <environment>, verbose = FALSE,
 :
  google duplicate bug - missing Dec 28,29,30 of 2003

I think your question still exists if we look at different dates that are
before 2004-08-30.
(2004-08-30 being the last split date)
> getSplits("BAC",from='1970-01-01')
           BAC.spl
1986-11-21     0.5
1997-02-28     0.5
2004-08-30     0.5

Google does not adjust for dividends.  If you want to make the Google data
match the Yahoo data, you need to adjust it for dividends (but not splits,
because Google does that for you).

>
> #From 2004-08-30 forward the unadjusted yahoo data match the google data.
> BAC.g <-
getSymbols("BAC",src='google',from='2004-08-25',to='2011-09-11',auto.assign=FALSE)
> BAC.y <-
getSymbols("BAC",src='yahoo',from='2004-08-25',to='2011-09-11',auto.assign=FALSE)
> head(BAC.g['2004-08-25::'])
           BAC.Open BAC.High BAC.Low BAC.Close BAC.Volume
2004-08-25    44.26    44.38   44.15     44.34    9635800
2004-08-26    44.29    44.47   44.10     44.10    8740600
2004-08-27    44.18    44.64   44.12     44.50    6852800
2004-08-30    44.79    44.87   44.53     44.57    6314300
2004-08-31    44.75    44.99   44.54     44.98    9670500
2004-09-01    44.45    44.61   43.45     43.65   14245200
> head(BAC.y['2004-08-25::'])
           BAC.Open BAC.High BAC.Low BAC.Close BAC.Volume BAC.Adjusted
2004-08-25    88.52    88.75   88.30     88.68    9729000        34.80
2004-08-26    88.58    88.94   88.20     88.20    8829400        34.62
2004-08-27    88.35    89.29   88.23     89.01    6883400        34.93
2004-08-30    44.79    44.87   44.53     44.57    6437700        34.98
2004-08-31    44.75    44.99   44.54     44.98   10125800        35.31
2004-09-01    44.45    44.61   43.45     43.65   14293900        34.61
>
> getSymbols("BAC",src='google',from='2004-08-25')
[1] "BAC"
> BAC.g <- adjustOHLC(BAC,adjust='dividend')
> BAC.y <- getSymbols("BAC",src='yahoo',adjust=TRUE,from='2004-08-25',
to='2011-09-11', auto.assign=FALSE)
> head(BAC.g)
           BAC.Open BAC.High  BAC.Low BAC.Close BAC.Volume
2004-08-25 34.74149 34.83568 34.65514  34.80428    9635800
2004-08-26 34.76503 34.90632 34.61590  34.61590    8740600
2004-08-27 34.67869 35.03976 34.63159  34.92987    6852800
2004-08-30 35.15751 35.22030 34.95342  34.98482    6314300
2004-08-31 35.12611 35.31449 34.96127  35.30664    9670500
2004-09-01 35.24321 35.37007 34.45034  34.60892   14245200
> head(BAC.y)
           BAC.Open BAC.High  BAC.Low BAC.Close BAC.Volume BAC.Adjusted
2004-08-25 34.74149 34.83175 34.65514  34.80428   12394563        34.80
2004-08-26 34.76503 34.90632 34.61590  34.61590   11248489        34.62
2004-08-27 34.67477 35.04369 34.62767  34.93380    8769322        34.93
2004-08-30 35.15751 35.22030 34.95342  34.98482    8201509        34.98
2004-08-31 35.12611 35.31449 34.96127  35.30664   12900079        35.31
2004-09-01 35.24321 35.37007 34.45034  34.60892   18027977        34.61


I can get close using your dates
> getSymbols("BAC",from='1970-01-01',to='2011-09-11',src='google')
[1] "BAC"
Warning message:
In getSymbols.google(Symbols = "BAC", env = <environment>, verbose = FALSE,
 :
  google duplicate bug - missing Dec 28,29,30 of 2003
> BAC <- adjustOHLC(BAC,adjust='dividend')
> BAC['2003-12-29']
           BAC.Open BAC.High  BAC.Low BAC.Close BAC.Volume
2003-12-29 30.64736  30.9091 30.63966   30.9091    8512800

> getSymbols("BAC",from='1970-01-01',to='2011-09-11',src='yahoo',
adjust=TRUE)
[1] "BAC"
> BAC['2003-12-29']
           BAC.Open BAC.High  BAC.Low BAC.Close BAC.Volume BAC.Adjusted
2003-12-29 31.05603 31.21151 30.94331  31.21151   11320185        30.91

I'm not sure if that difference is related to the warning message, or if it
is rounding error.

HTH,
Garrett

On Sun, Sep 11, 2011 at 6:45 PM, tim sebastin <tia35007@gmail.com> wrote:

> Hi,
>
> I am using the quantmod package to get EOD stock data. My understanding is
> that Yahoo's data is not adjusted for splits and dividends whereas google's
> data is adjusted for splits.
>
> How ever, when I get yahoo data with adjust=True parameter, it does not
> agree with Google's data. Any ideas why?
>
> > getSymbols("BAC", from='1970-01-01', to='2011-09-11')
> [1] "BAC"
>
> > BAC["2003-12-29"]
>           BAC.Open BAC.High BAC.Low BAC.Close BAC.Volume BAC.Adjusted
> 2003-12-29     79.9     80.3   79.61      80.3 8800000        30.91
>
> > getSymbols("BAC", from='1970-01-01', to='2011-09-11', src='google')[1]
> "BAC"
>
> > BAC["2003-12-29"]
>           BAC.Open BAC.High BAC.Low BAC.Close BAC.Volume
> 2003-12-29    39.81    40.15    39.8     40.15    8512800
>
> > getSymbols("BAC", from='1970-01-01', to='2011-09-11', adjust=TRUE)
> [1] "BAC"
>
> > BAC["2003-12-29"]
>           BAC.Open BAC.High  BAC.Low BAC.Close BAC.Volume BAC.Adjusted
> 2003-12-29 31.05603 31.21151 30.94331  31.21151   11320185        30.91
>
> The BAC.Close value is 31.21 where as from google, it is 40.15
>
> Regards
> Tim
>
>        [[alternative HTML version deleted]]
>
> _______________________________________________
> R-SIG-Finance@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions
> should go.
>

	[[alternative HTML version deleted]]

