Totally understand your frustration. After you've spent time and effort on something for someone, it's irritating when they don't spend any time or effort on you at all.
Is he the type that might surprise you? Could he have had some cash that he used that wouldn't show up on the bank statement? Is he the type that might have made something for you? Is he enough of a planner that he might already have something he bought months ago? If the answer is no, please don't get your hopes up dreaming about the wonderful things he could have done. I've hurt myself that way, fantasizing about what someone might do only to be let down again.
I was ranting to a friend about my Christmas gift debacles the other day. After I got all done (it was a long rant) my friend says to me, "So, what you're saying is that gift giving is not your love language." Funny, but a real a-ha moment for me. Does he usually have a difficult time picking out gifts for you? This might just be the way he is.
Have you mentioned anything to him? "I'd really like a surprise on Christmas. It would mean a lot to me if you picked out something for me that I didn't buy for myself. I know I can be hard to buy for, so here's a couple ideas if you need them..." Don't hint around.