runtime optimizations

now uses a dictionary for stock prices. there should also be no more
cursor redundancy.