# Volatility and resampling

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:

Daily;Weekly;Monthly

4.57;6.12;6.73

5.44;7.61;9.61

3.91;4.54;6.07

What's a good test for this?

Obviously smoothing the NAV will underestimate the annualized volatility if measured using daily data.

Kind regards Thomas