I do not think that fish even live bearing fish have menstrual periods. They do have breeding cycles though that they go through. Depending on the type of fish and the condition that they are kept in, the breeding cycle (a period of time where the parents can lay a new batch of eggs) can be as short as a day to as long as once a year. Angelfish can usually be in breeding cycles of from one week to two weeks if things are right, that means that once every week to two weeks the parents will lay and fertilise new eggs. This will go on for a few months and then they will take a break for a month or so before beginning to lay eggs again. Other fish have their own cycles.