Shared Market Data Between Different Tickers

Hi,

I found a few cases where some tickers have exactly the same historic market data. I assume that happened because of the ticker names changes or company split offs and Alpaca’s resolve mechanism got confused a bit.

For example: if I request 1 minute data for ADEA and XPER from 2016-01-01 till now (Adjustment Raw, asof = null, sip) then I get exactly the same numbers for the period from 2017-02-23 till 2022-10-03 but different numbers before and after.

Below is a full list of tickers that share common history (at list partially) that I found:

ADEA == XPER
AIIO == ESSC
GLBL == ALTI
APXT == AVPT
CRML == SZZL
PDSB == EDGE
IMRA == ELVN
FACT == SPWR
GLOW == TWAV
GSX == GOTU
MRNO == HCMA
SMX == LION
MSTX == SVRA
SNPX == TAOX
STRN == SWAG

FLAG == CLDI
EYEG == KPRX
SMAP == MSAI
SPGC == NWTG

Could you investigate this, pls? Thanks.

@Intetics As you noted “I assume that happened because of the ticker names changes or company split offs”. You are correct. There are a number of corporate actions which cause data from two different symbols to effectively refer to the same entity.

In the case of ADEA and XPER, Adeia (ADEA) was spun off from Xperi Holding Corporation (XPER) effective 2022-10-03. See the press release here. Before that date they were the same company (or probably more technically, Adeia did not exist) and after that date they were two separate companies. That is why they share the same data before 2022-10-03.

The other symbol pairs in your list are similar, but maybe with different corporate actions. One can typically find the specific reasons by simply doing a Google search. For example “are ADEA and XPER the same stock?”

Hope that helps.

@Dan_Whitnable_Alpaca thank you, but if we look at TradingView, Yahoo Finance, Google charts they all show the start of historical data for XPER as Oct 2022 - the moment it separated as a different unit. Litereally any other data provider shows this. Why did Alpaca decide to take a different route and duplicate data among tickers?

@Intetics Alpaca provides the functionality to either show the data before a corporate event such as this or not. Simply use the asof parameter. Something like this

https://data.alpaca.markets/v2/stocks/bars?symbols=ADEA&timeframe=1Day&start=2021-12-15&end=2022-12-15&adjustment=raw&asof=2022-10-01

That will look up the data associated with the symbol as of a specific date. In this case since ADEA did not exist on 2022-10-01 then it returns no data before when it existed as the symbol ADEA. If you really do not want data before any symbol changes, and you only want data for exactly the symbol as it is (in this case ADEA), then put an asof date before the symbol existed. For instance asof=2000-10-01. This approach provides the flexibility to either follow a progression of symbol changes or not.

Ok, but how can I find these dates automatically? Does Alpaca provide the master table of the corporate events? There are 5000 tickers on the main exchanges, how do I know which ones changed when?

@Intetics There is a corporate action end point which lists all the corporate actions for all symbols. Take a look here.

However what is your use case? What is it that you are trying to accomplish?

Thanks Dan. I’m just trying to backtest a trading strategy on all active tickers. I thought that if I just request all data for all active today symbols I’d get a uniq set of historic data. But then when I looked through the actual trades I noticed that there were quite a few duplicate trades with exactly the same entry and exit but for different tickers. I strated digging and found the duplicate market data. It really skews the backtest results because I get double wins or losses on specific tickers (mentioned above).

How can I achive my goal?