p = [('AAPL', 50), ('AAPL', -50), ('RY', 100), ('RY', -43)]
d = {x: (0) for x, _ in p}
for name, num in p:
    d[name] += num
Result = map(tuple, list(d.items()))
Result
How do I sum tuples in a list where the first value is the same?