Diwali is always in October or November. It is based on the Indian calendar, which is based on both the sun and the moon.
On Diwali . . .
http://www.diwalifestival.org/Diwali Festival in India is celebrated on the auspicious 15th day of the dark fortnight in the Hindu month of Kartik (October-November). Diwali falls 20 days after the festival of Dussehra on the amavasya or the no moon day. Celebrated to mark the victory of good over evil Divali commemorates the day when Lord Ram was coronated as the King of Ayodhya on his return with wife Site and brother Laxman after 14 years of exile and slaying of the demon King Ravana.
On Indian calendar . . .
http://www.swaminarayan.org/calendar/The Indian calender is ingeniously based on both the sun and the moon; it uses a solar year but divides it into 12 lunar months. A lunar month is precisely 29 days 12 hours 44 minutes and 3 seconds long. Twelve such months constitute a lunar year of 354 days 8 hours 48 minutes and 36 seconds. To help the lunar months coincide with the solar year, the practice of inserting an intercalary (extra) month arose. So 60 solar months = 62 lunar months. Hence an extra month, called the Adhik Mas, is inserted every 30 months i.e. every 2 ½ years.