volatility computation

Discussion in 'Technical Analysis' started by saminny, Jun 15, 2008.

  1. saminny

    saminny

    Hello,

    I am computing daily volatility as the standard deviation of the returns/movements at the top of the order book for a symbol.

    that is,

    midpoint = bid+ask/2
    return = new_midpoint+old_midpoint / old_midpoint
    volatility = std_dev (return..)

    What do you think about this? Is there some source where I can backtest my computation?

    For aggregate volatility numbers, I simply maintain a 20-day moving average the daily volatility numbers.

    Any suggestions are most welcome.

    thanks,
    Sam
     
  2. I'm confused about your midpoint. Is this tick-by tick? Bid and ask at the close on a given day? Also, it is more common to use the natural log of the relative return. If you still want to use your midpoint idea:

    return relative = ( midpoint / midpoint [last period] )

    ln of return relative = ln( return relative )

    volatility = standard deviation ( ln of return relative )
     
  3. saminny

    saminny

    Thanks for your reply.

    Yes, I am computing tick by tick returns and then their standard deviation to get the daily volatility.

    2 follow-up questions:

    why is "logarithm" of the return required in this case?

    Do you think simply averaging daily volatilities to get aggregate volatility over a certain period (say 20 days) recommended? I am thinking we need to do something special to get the monthly o or 20-day average.

    thanks,
    Sam
     
  4. panzerman

    panzerman

    Volatility = stddev(ln of return relative)*sqrt(365) or sqrt(252) if you prefer trading days over calendar days. Also, your standard dev. is calculated over a period of time, such as 20 days for monthly volatility, or 5 days for weekly volatility.