I added caching, and added a try/except to return nothing if the symbol passed is invalid. I know this isn't the best way of error handling, but it is clean.