Você pode usar esta consulta. Você pode obter resultados em 75% menos tempo. Eu verifiquei com mais conjunto de dados. Subconsultas leva mais tempo.
SELECT p1.id,
p1.security,
p1.buy_date
FROM positions p1
left join
positions p2
on p1.security = p2.security
and p1.buy_date < p2.buy_date
where
p2.id is null;
SQL-Fiddle link