Differences between data sources
Why do prices for the same asset rarely match exactly between venues or vendors?
In plain words
Every price is a price on one venue at one moment. Different venues match different orders at slightly different times, and vendors may sample different venues or cut the same day at different hours, so their opens, highs, lows and closes differ by small amounts.
Why it matters
Returns, volatility, drawdowns and any threshold line drawn on a chart all inherit the source's choices. Two honest datasets can disagree about whether a price level was touched or whether a move was the largest of a period, which changes backtests and risk limits.
In a real week: BTC, week of 21 May 2018
In the week of 21 May 2018, on the Binance spot venue, BTC opened at 8526.97 and closed at 7338.99, a weekly return of -13.93%. The high of 8595.31 was at 06:00 UTC on Monday and the low of 7231.11 at 00:00 UTC on Sunday, giving an 18.87% range. A vendor sampling other venues or cutting the week differently could print a slightly different high or low. Dollar volume was 1.47 billion, 0.68 times its prior 12-week average.
A common mistake
Assuming one published price is the price. Checking that two sources agree can simply reveal they sample different venues, different hours, or different definitions of a day.