Puedes usar esta consulta. Puede lograr resultados en un 75% menos de tiempo. Lo comprobé con más conjunto de datos. Las subconsultas requieren más tiempo.
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 enlace