Combine IB Real Time Data with Yahoo Historical Data

I am using IB real time data to get 60 stock data but it have data loss due to the backfill limitations.
So i would like to use Yahoo Historical data to merge with IB real time data after market close.

Their symbol for same product are different.
e.g. Yahoo: 0388.HK / IB: 388-SEHK-STK-HKD
Beside using the function of "Symbol Merge" the IB and Yahoo Historical stock data one by one,
Any other ways that can directly overwrite the IB data with Yahoo downloaded data in batch?

Thanks!

The AB documentation says that this feature was designed to be used where both the EOD and intraday data are from the same data vendor, because each vendor can report different data... and this could make your bars meaningless I think.

But here is how you could do it:

You can use the Symbol field for the Yahoo symbol, and then use the IBDictionary.txt file to map the Yahoo symbol to the IB symbol. You have to close AB, edit the file, and then reopen AB, and the IB data should come in.

Also "Allow mixed EOD/Intraday data" must be checked in the database settings.

You have to be very careful about the time zone settings when you do this because the bars may not align.

There could be other risks that I'm unaware of so let's see if anyone else weighs in on this.

1 Like

Yes, always use the same data source!

Also note, you will find differences in RT data and settled data even with the same data source. I was having a lot of issues with this and it ultimately lead to my abandoning strategies under 15m.

See this thread for more information. There is a work around, but it has not been implemented. I do not know if the work around is still on the drawing boards for Tomasz or not.

Hello Pinecone,

i can confirm it works stable with mixed data. As PeterD reports correct i also set the "Allow mixed EOD/Intraday data". Please remember to import Yahoo EOD into the RT database you need to stop the RT data plugin during your EOD import and turn on the plugin after importing your EOD data.

Also remember to backup your database path before experimenting with EOD import :wink:

I do my EOD import via OLE and an individual "import.format".

Sample for Export:

https://www.amibroker.com/kb/2006/03/04/how-to-export-quotations-from-amibroker-to-csv-file/
https://forum.amibroker.com/t/export-quotation-data-to-csv/22831

Good idea is to export first your RT data, second import EOD data and reimport RT data.
Also set timestamp for EOD equal last timestamp of your RT data. Now you have a current/synced RT database to expand via RT data plugin in the future, this is working for me the last years ... Don't forget new timeframe for Analysis will be "Daily" to explore your mixed data now from beginning.

Best regards,
Peter

Ability to mix the data was not in question. You running any kind of backtests on mixed data is not recommended, but to each their own.

1 Like

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.