Some funds publish a new NAV value once a day. Theoretically a fund could smooth its returns by posting smaller gains and smaller losses. This practice is both dodgy and forbidden.
However, this may pop up in a computation of the annualized volatility. I could use daily data, weekly data and monthly data
def volatility(nav): # given daily data, compute the annualized volatility return 100*np.sqrt(260)*nav.pct_change().std() def volatility_week(nav): return 100*np.sqrt(52)*nav.resample("W").last().pct_change().std() def volatility_month(nav): return 100*np.sqrt(12)*nav.resample("M").last().pct_change().std()
Obviously it's unlikely that all those volatility estimates "agree". However, how much deviation shall we accept.
Here're some examples. I tested like 10 funds. 3 funds flag up:
What's a good test for this?
Obviously smoothing the NAV will underestimate the annualized volatility if measured using daily data.
Kind regards Thomas