oppure se vuoi adoperare la stessa query che hai scritto tu, potresti fare così (se funziona):
select sum(to_number(tabella.segno||tabella.quantita)),
sum(case when segno = '+' then 0 else quantita) as positivo,
sum(case when segno = '-' then 0 else quantita) as negativo
from tabella