EViews: @isobject関数を利用する

ある分析の中で、約1000の時系列データに対して、それぞれHPフィルターをかける必要に迫られました。今回は EViews を利用してこの作業を行いました。

各系列は"t"+ 証券コード という名前のオブジェクトとして保存されています。たとえば、極洋だと t1301 という名前のオブジェクトになります。

ちょっと厄介だったのは、証券コードが必ずしも連続していないことです。たとえば、 分析対象時系列においては、証券コード1301の次が1331であるため、単純に for を利用するわけには行きません。今回は @isobject 関数を利用することによってこの問題を回避することができました。@isobject 関数は、引数に与えられたオブジェクトが存在すれば 1 を返す関数です。


for !i = 1301 to 9999
  %code = "t" + @str(!i)
  !flag = @isobject(%code)
  if (!flag = 1) then
    {%code}.hpf hp{%code}
  endif
next