Other responses should not contain at least one record per stock_id per day. The following should do what you want.
DELETE FROM StockQuotes WHERE id NOT IN ( SELECT MAX(id) FROM StockQuotes GROUP BY stock_id, DATE(`date`) )
Assuming id is a field with a sequential automatic number, and date is a datetime field that at least contains a date but also contains an hour, minute, second, etc.
source share