I will give you an answer that I believe will solve your problem, but someone else may have a more efficient method.
Select MAX(t1.calendar_date)
From sys_calendar.calendar t1,
(select t2.quarter_of_calendar
from sys_calendar.calendar t2
where t2.calendar_date = somedate)find(qtr)
Where t1.quarter_of_calendar =
find.qtr -1