VXX (-1.6%) was down moderately today in a move that may look abnormal considering the moves in spot VIX (+1.2%) and SPY (-0.07%). However it's not unusual at this point in the VIX futures cycle and today I'll explain the mechanics behind this move.
First, remember that VIX futures are a measure of the expected 30-day implied volatility on the expiration date for a given month and that spot VIX is the current 30-day measure of volatility, as explained here. Since January VIX futures expire tomorrow you can expect these two values to converge as we approach expiration day.
As of Friday the January futures were nearly 6% higher that spot VIX. What we saw today was the convergence of these two points. Falling front month futures drove VXX down and XIV up. By the end of most VIX futures expiration days you can expect front month futures and spot VIX to be within 2-3% of each other (at the close today that gap was down to 4%).
There is, of course, no guarantee that VXX will go lower in the days before expiration. Consider the scenario of a sharper rise in VIX. Front month futures still need to converge toward spot VIX at expiration but since front month futures start with a 6% buffer above spot VIX (in this case) you can expect any upward move in VXX to be muted.
Disclosure: Short VXX; Long XIV