Parsing option symbols
It looks like you can simplify it to the single regex:

    matcher = re.compile(r'^(.+)([0-9]{6})([PC])([0-9]+)$')
    groups = matcher.search(option)


Then symbol, expiry, type and price are in groups[0], groups[1], groups[2] and groups[3] respectively. The expiry is guaranteed to be in yymmdd format, hence the {6} qualifier. You may want to add a {8} length qualifier to the price.