Order filled price at opg is different from the published open price

Last week my script executed some orders at the open. The prices Alpaca filled these orders are different than the published open price at yahoo and fidelity. Unfortunately, the discrepancy is always to my disadvantage:

CLSC July 6 Alpaca bought opg at 21.32 – published open at 21.24
CLSC July 7 Alpaca bought opg at 21.30 – published open at 21.23
CLSC July 8 Alpaca bought opg at 21.22 – published open at 21.19

I am paying more than the quoted open price to buy.

OXLC July 7 Alpaca sold opg at 5.66 — published open 5.70
OXLC July 6 Alpaca sold opg at 5.71 — published open 5.73

I am selling at a cheaper price than the quoted open price.

Can anyone shed some light into the discrepancy?