I made some changes to your statement... your error is either on the way you handle the dates or in the way you handle the delta...
update Table tt1
left outer JOIN Table tt2
on tt1.name = tt2.name
and tt1.date = date_sub(tt2.date, interval 1 day)
set tt1.delta = case when tt2.amount is not null then tt1.amount - tt2.amount else -1 end;