Yahoo duplicate identical data for some days

Does anyone know why I am getting identical price data when downloading from Yahoo. Please see the screenshot. This happens for stocks and indexes.

I doubt that Amiquote is the problem, but am also not sure how the time difference between Australia and Yahoo impacts data. I'd really appreciate any help with this as I am running out of ideas.

This happens for indexes too with the additional problem of data for non-trading day.
Please see this screenshot:

My EOD database config looks like this

What AmiQuote version are you using? And what is YOUR TIME ZONE?
If you are living in Australia your timezone is completely different than US and
you have to use UTC in script as explained:

or

JUST USE AmiQuote 4.17

as it already includes UTC script changes

Note that you might have got wrong timestamps already in the database and then importing new dates will not fix wrong ones, unless you DELETE wrong quotations. You can delete range of quotes from all symbols using Edit->Delete Range.

1 Like

Thank you very much Tomasz,
Yes I am Australian living in Sydney and I am using Amiquote 4.17

I just realised that I did not delete the wrong quotations previously, which then caused the issues with old incorrect data already in my databases.

But, for some reason, all stocks on Australian ASX exchange have the duplicate price data for the last trading day (Friday 15/11/2024) as it can be seen on the example screenshot here.

I deleted all data for CBA.AX stock previously and then downloaded historical data since 3/3/2005. Duplicate data are in green colour.

The same happens with all other 200 stocks from the ASX, but I only show CBA as an example.

Hope there is an easy explanation for this, but I don't know why this is happening.

Thank you kindly,

You need to check actual data downloaded (.AQU1 files in Downloads folder- these are TEXT files, open them with NOTEPAD).

Also just go to Yahoo Finance web site and check what their web site shows:
https://finance.yahoo.com/quote/CBA.AX/history/

Keep in mind that AmiQuote just gets data as they appear on YAHOO WEB SITE, so first thing to check, is NOT AmiBroker or AmiQuote, but YAHOO WEB SITE.

What I can see is a duplicate date ON THEIR WEB SITE:

Thanks again. I investigated this further and this is what I concluded:

  1. Amiquote is downloading exactly what is on Yahoo finance website except for the date.
  2. Yahoo shows the correct date on its website, but when Amiquote downloads data, the date is one day earlier. eg. Today is 18.11.24 in Sydney and yahoo shows that date.
  3. The CBA.aqu1 file has 17.11.24 as the date while on yahoo the date is 18.11.24 and the real date in Sydney right now is the 18th.

I am not sure what I need to change to be able to "shift" the date so it matches yahoo.

Here is the CBA.aqu1 file

And this is Yahoo screenshot

Screenshot of the Quotations editor in Amibroker.

Upon checking data for the previous weeks, I could see that all dates were one day earlier in Amibroker (and Amiquote aqu1files) but yahooo shows the correct date matching Australia's actual date.

Please note that the difference between prices and volume data is due to screenshots were taken at slightly different times, while I was typing this reply.

I hope all of the above makes sense, Thank you Tomasz..

I already explained it in:

You either use local time zone or UTC. Check the script and use whatever you want. Your local time (Australia) is shifted as compared to UTC (Universal time).
If script uses "UTC" functions then it will return UTC, if it uses functions without UTC it will use your local time.

1 Like

Thank you so kindly Tomasz,

It all works now.

I have created a copy of the Yahoo Finance Workaround script and removed the UTC from the copy to use for Australian stocks and ASX Exchange.

For USA and Europe I use the original workaround script that came with the Amiquote 4.17 with the UTC.

So this solution works for me and I thank you for your guidance and help.

Regards,
Ziza

FWIW: The whole issue is created by Yahoo, since they stopped using date as TEXT and started using date as Unix timestamp. Unix timestamp is number of seconds since January 1st, 1970. Problem is that conversion of Unix time to text involves time zone, and results are different depending on time zone used for conversion.