pandas.rolling.apply skips calling function if window contains any NaN
This issue has been raised several times, but I do not think has been adequately addressed. 

The solution given is always min_periods, but that only includes the obvious issue where the NaN is at the beginning of the series. If there is any NaN then .apply will not call the function.

There should be a skipna=True option that works. Despite this question being asked in a dozen places, it has not been fixed. 

I see that @jreback has closed this issue multiple times with a reference to min_periods. Again... this is NOT an adequate answer. (See the followup here https://github.com/pandas-dev/pandas/issues/19218 that was ignored once the issue was marked closed.)

There should simply be a skipna=True flag in the rolling window function. As-is, it will not call the function in .apply() if there are ANY NaNs at any point in the window.