threading objects and urlrequests
It is difficult to make the program faster because time is mostly expended in IO and url connections. It would help for checking changes if you could provide the csv stock files.

On the other hand the code could be greatly simplified. The following code has not been tested (no csv files available) but gives you the idea:

from urllib.request import urlopen
from csv import reader
from threading import Thread


class StockQuote():
    """gets stock data from Yahoo Finance"""

    names = dict(lastPrice='l1', volume='v0', yearrange='w0', PEratio='r0',
                  bookValue='b4', EBITDA='j4', PEGRatio='r5', ticker='s0')

    def __init__(self, quote):
        self.quote = quote
        self.url = 'http://finance.yahoo.com/d/quotes.csv?s={ticker}&amp;f={par}'

    def __getattr__(self, name):
        url = self.url.format(ticker=self.quote, par=StockQuote.names[name])
        return bytes.decode((urlopen(url).read().strip()))


class StockData(Thread):

    def __init__(self, stk, fileobj):
        Thread.__init__(self)
        self.stk = stk
        self.fileobj = fileobj

    def run(self):
        stkdata = {}
        stkObj = StockQuote(self.stk)
        for prprty in StockQuote.names:
            try:
                func = getattr(stkObj, prprty)
                stkdata[prprty] = func()
            except Exception:
                pass

        self.fileobj.write(str(stkdata))


def openSP500file():
    SP500 = reader(open(r'C:\Users\test\Desktop\SP500.csv', 'r'), delimiter=',')
    printlist = open(r'C:\Users\test\Desktop\SP500prices.txt', 'w')
    for x in SP500:
        indStk = x[0]
        t1 = StockData(indStk, printlist)
        t1.start()


def main():
    openSP500file()


if __name__ == '__main__':
    main()