How can I speed up this query?
Because your WHERE clasue referencing timestamp has the column wrapped in a function, it is not going to be able to use an index efficiently to may currently be scanning the whole table.

An index on region may help, but not a lot unless that column is quite selective (or at all if the majority of the rows are from the region you are looking at).

As you are applying the same functions to the column and the value you are searching through it with, you can just drop that: the inequality 

UNIX_TIMESTAMP(CONVERT_TZ(timestamp, '+00:00', 'SYSTEM')) &gt; UNIX_TIMESTAMP(CONVERT_TZ(DATE_SUB(NOW(), INTERVAL 1000 DAY), '+00:00', 'SYSTEM'))


is exactly equivelant to just 

timestamp &gt; DATE_SUB(NOW(), INTERVAL 1000 DAY)


and that will allow in index on timestamp to be useful.

With that change in place, a combined index on both timestamp and region is likely to be most helpful here. Perhaps also adding price to the end then the query running will not need separate lookups to find that column after filtering by the others (though this will increase the size of the index so you are trading space for perhaps only a small amount of speed).