There are a number of significant errors that can lead to incorrect feedback to the user:
The highest price shown on HSBC is 10 cents lower than it actually was............
1. see enclosed example of HSBC 04-AUG-2010
1. what the program shows
2. program does not even agree with itself
3. actual data taken from a service
4. far more detail
This sort of bug should not present, it is far to easy to check and remove such errors, by cross referencing against a number of different services.