Pyth price can become negative or erratic
Avantis treats the price as an unsigned quantity, but according to the Pyth documentation, the price is actually signed:
struct Price {
// Price
int64 price;
// Confidence interval around the price
uint64 conf;
// Price exponent
int32 expo;
// Unix timestamp describing when the price was published
uint publishTime;
}
The price of real-world equities is sometimes negative (for example, this happened to the price of oil in 2021). In the event this actually happens, when cast to an unsigned quantity, Avantis will instead assume it is very large, causing longs to win when shorts should have won.
Additionally, when a stock split happens, such as the TSLA stock split in 2022, the Pyth price feed changes to reflect the new price after off-chain notifications and announcements. If this happens and the Avantis governance does not notice and step in, many traders will suffer incorrect gains/losses due to the sudden predictable discontinuity in price.