Why is my strategy having the order submitted on one day and then filled on the next day?  How can I make my strategy fill on the same day?

Also, what is the best way to access the current price of my security at any given time?  If the security is SPY, is it:

self.Securities["SPY"].Price

Or:

self.data["SPY"].Price

Or something else entirely...