附录C 用三角回归模式计算相应周期
下面的计算机程序和实例解决的是第11章中出现的周期问题。
C.1 单频三角回归模式
FORTRAN程序TRIG1和子程序LINREG可以被用于查找铜期货循环周期的单频值。该程序所输出的结果被明确的划分为如下信息:
(1)输入数据,其中每个时间段对应的是一个季度的现货价格均值;
(2)线性回归的求解方法给出了一条去趋势线,其中b=0.267,它表明每季度的通胀乖离因子值为+0.267美分;
(3)从原始数据(1)中减去直线数值(2),从而得到去趋势化的数据;
(4)确定α、ω和T的中间值;
(5)求解单频问题方程的常数值a和b;
(6)由去趋势化的数据生成相应的周期。
(7)最后的周期再把趋势因子加回。
测试结果显示铜期货的循环周期约为8.4个季度或略高于两年半。
在1964~1983年,我们对玉米现货的月际价格进行了一次额外的测试,查看季节性周期是否处于非趋势模式,而用于剔除趋势的线性回归方程计算如下:
尽管1973年和1980~1981年存在牛市行情,但是价格的月际增长率为1美分/蒲式耳且相关周期为21.4个月,1983年8月出现了周期内的最后一个高点,而1982年9月则出现了周期内的最后一个低点,这显然不是一个季节性的模型,其必然是下列模式之一:
(1)以其他供需特征为主导,如股票;
(2)1973年和1980年的非季节性因素的竞合作用扭曲了原有的季节规律,所以相应行情每次都要花费三年的时间才能回归至传统的季节性格局,其相应的编辑语言如下。
C.2 双频三角回归模式
FORTRAN程序TRIG2和子程序LINREG(见第C.1节)以及MTX被用来发现铜期货循环周期模式所相关的双频算法,其程序输出分成以下步骤:
(1)输入数据——每个时间序列对应的都是一个日历季度的现货价格的均值;
(2)线性回归的解给出了趋势分离线;
(3)从原始数据(1)中减去直线数值(2),得到去趋势化的数据;
(4)确定α1 、α2 、ω1 、ω2 的中间值;
(5)a1 、b1 、a2 和b2 都是应用高斯消元法而得到的矩阵的解;
(6)由趋势分离数据生成相应的周期;
(7)最后的周期再把趋势因子加回。
相应编辑语言如下。