Strange market stream data

This never used to happen. Now the data is jumping around like crazy during the “on_quote” calls. Look at the bid and ask prices, 424.44 to 430 to 424.44to 430 over and over. ask price of 430 looks fake. So i have no idea what’s happening.

quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 424.44, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=545900476)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=546404066)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 424.44, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=701956495)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=702083405)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 424.4, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=703235422)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 424.39, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=703287267)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384617, nanoseconds=703662187)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 424.4, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384618, nanoseconds=689341254)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384618, nanoseconds=689376069)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 424.44, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384618, nanoseconds=689513545)}
quote {‘T’: ‘q’, ‘S’: ‘MSFT’, ‘bx’: ‘V’, ‘bp’: 310.0, ‘bs’: 1, ‘ax’: ‘V’, ‘ap’: 430.0, ‘as’: 1, ‘c’: [‘R’], ‘z’: ‘C’, ‘t’: Timestamp(seconds=1711384618, nanoseconds=689549680)}

@joew Notice the bid and ask exchanges are all “V”. That is the IEX exchange.. You must be streaming data from the wss://stream.data.alpaca.markets/v2/iex endpoint? That streams data only from the IEX exchange. The quotes therefore are not NBBO quotes and are the best open limit orders sitting on the IEX exchange and can vary substantially from full market SIP NBBO quotes. That is why you are seeing the large variances. The IEX data is really meant primarily for debugging ones algo and not for any live trading or strategy validation.

Thank you. I thought i was losing my mind. I’ll have a look at how i’ve got it set up, I appreciate the help!