I have the following Core Data model, in which ProFormaPeriod is a subclass of the abstract entity FiscalPeriod. In my fetch request, I would like to traverse from CalendarPeriod to IBEstType.
How can I do this as fiscalPeriod is the only relationship I get offered in code completion and not ProformaPeriod.
Would I need to model an additional direct relationship from CalendarPeriod to ProformaPeriod?

One way is to fetch
FiscalPeriodand traverse the result to check for the right class and filter out the correct IBEstType(s). It should still be quite efficient as opposed to a direct key path in the predicate, depending on the size of your data.Otherwise, yes, you would have to make the child entity a direct relationship.
To check for the class: