There is more than way to compute these exponents. First of all, you should decide which algorithm to use. As far as I know calculations do not require complex computations. Although it will be more difficult to write such syntax in EViews compared to other code driven software, you can still effectively program the steps of any algorithm in EViews.
In order to give you an idea, I've written the EViews program code below. It is actually a subroutine and all you have to do is enter the name of your series in the first line (i.e. call hurst(your_series)). The result is stored in coefficient named exponent. Original version of the code was previously written by somebody else in another programming language, and had no guarantee that it would work accurately. I tried to convert it into an EViews programming code. So try to build one of your own or use it at your own risk:
Code: Select all
call hurst(your_series)
subroutine hurst(series z)
!n = @obs(z)
stom(z,yh)
coef(1) exponent
vector yaxis = @filledvector(!n,0)
vector xaxis = @filledvector(!n,0)
vector y2 = @filledvector(!n,0)
!value = 0
!bin = 1
while !n>4
!std = @stdev(yh)
!value = !value+1
yaxis(!value) = !std*!bin
xaxis(!value) = !bin
!n = @floor(!n/2)
!bin = 2*!bin
for !j =1 to !n
y2(!j) = 0.5*(yh(2*!j)+yh((2*!j)-1))
next
delete yh
vector(!n) yh
for !k =1 to !n
yh(!k) = y2(!k)
next
wend
vector yaxis2 = @subextract(yaxis,1,1,!value,1)
vector xaxis2 = @subextract(xaxis,1,1,!value,1)
mtos(yaxis2,yseries)
mtos(xaxis2,xseries)
equation fiteq.ls log(yseries) c log(xseries)
exponent(1) = fiteq.@coef(2)
delete y* x*
endsub