Tuesday, September 21, 2010

Code for Stock Volatility

john hull stock volatility


// This pseudo-code function returns stock volatility given observed period
double getVolatility(double[] price)
{
// OBSERVATION = size of price[] plus zero position. Zero position is to calculate return on day 1
for (i = 0 ; i < OBSERVATION + 1 ; i++)
{
muy[i] = log(price[i+1]/price[i]);
meanmuy += muy[i];
}
meanmuy /= OBSERVATION;

for (i = 0 ; i < OBSERVATION ; i++)
{
summuy += (muy[i] - meanmuy)^2;
}

sigma = sqrt(1/(OBSERVATION-1) * summuy) / sqrt(TRADINGDAYSPERYEAR);

return sigma;
}

// Sample code to calculate rolling volatility using the function
for (i = 0 ; i < OBSERVATION - ROLL + 1 ; i++)
{
for (j = 0 ; j < ROLL ; j++)
{
priceSet[j] = price[j+i];
}
volatility[i] = getVolatility(priceSet);
}



Xem đầy đủ bài viết tại http://feedproxy.google.com/~r/TaiTran/~3/MTsbWeltJAw/code-for-stock-volatility.html

No comments:

Post a Comment

Popular Posts