ISmCensus2.Holday

Syntax

Holday: Census2HolidayAdjType;

Description

The Holiday property determines whether holiday adjustment should be made during calculation.

Comments

By default, the holiday adjustment is not applied, that is, Holday = Census2HolidayAdjType.C2hatNone.

Example

Add a link to the Stat system assembly.

Sub UserProc;
Var
    Census2: SmCensus2;
    res, i: Integer;
    s: Array[108Of Double;
    w: Array[7Of Double;
Begin
    Census2 := New SmCensus2.Create;

    // Set explained series values
    s[0] := 670.2000183;    s[27] := Double.Nan;    s[54] := 826.6160466;   s[81] := 826.6160466;
    s[1] := 576.0680563;    s[28] := 642.418544;    s[55] := Double.Nan;    s[82] := 1011.846431;
    s[2] := 1008.30908;     s[29] := 1099.626392;   s[56] := 995.4496292;   s[83] := 1108.36628;
    s[3] := 1189.16892;     s[30] := 1064.742231;   s[57] := 1072.77175;    s[84] := 1092.343791;
    s[4] := 1033.324656;    s[31] := 1019.18752;    s[58] := 1087.503861;   s[85] := 780.8584552;
    s[5] := 895.560672;     s[32] := 971.6522721;   s[59] := 717.6484268;   s[86] := Double.Nan;
    s[6] := 931.5707266;    s[33] := 856.9105808;   s[60] := Double.Nan;    s[87] := 1026.666524;   
    s[7] := 885.4609516;    s[34] := 884.504279;    s[61] := Double.Nan;    s[88] := 1011.846431;
    s[8] := 1008.30908;     s[35] := 1099.626392;   s[62] := 955.4496292;   s[89] := 1108.36628;
    s[9] := 1189.16892;     s[36] := 1064.742231;   s[63] := 1072.77175;    s[90] := 1092.34791;
    s[10] := 1063.324656;   s[37] := 1019.18752;    s[64] := 1087.503861;   s[91] := 780.8584552;
    s[11] := 835.560672;    s[38] := 971.6522721;   s[65] := 657.503313;    s[92] := 811.036101;
    s[12] := 886.2502823;   s[39] := 654.547579;    s[66] := 756.617764;    s[93] := 789.632225;
    s[13] := 857.9145808;   s[40] := Double.Nan;    s[67] := 1026.666524;   s[94] := 885.4609516;
    s[14] := 884.504279;    s[41] := Double.Nan;    s[68] := 1011.846431;   s[95] := 1008.30908;
    s[15] := 1299.628392;   s[42] := 995.4496292;   s[69] := 1108.36628;    s[96] := 1189.166892;
    s[16] := 1034.742231;   s[43] := 1072.77175;    s[70] := 1092.343791;   s[97] := 1033.324656;
    s[17] := 1019.18342;    s[44] := 1087.503861;   s[71] := 1043.324656;   s[98] := 1019.18752;
    s[18] := 1087.503861;   s[45] := 780.8584552;   s[72] := 895.560672;    s[99] := 971.652721;
    s[19] := 719.6483268;   s[46] := Double.Nan;    s[73] := 931.5707266;   s[100] := 856.915808;
    s[20] := 885.4609516;   s[47] := 884.504279;    s[74] := Double.Nan;    s[101] := 1011.846431;
    s[21] := 1108.30908;    s[48] := 1099.626392;   s[75] := 995.4496292;   s[102] := 1108.3628;
    s[22] := 1149.16892;    s[49] := 1064.742231;   s[76] := 1072.77175;    s[103] := 1092.343791;
    s[23] := 1183.324656;   s[50] := 1019.18752;    s[77] := 1087.503861;   s[104] := 781.858552;
    s[24] := 835.560692;    s[51] := 971.6522721;   s[78] := 657.503313;    s[105] := 811.036101;
    s[25] := 816.2504823;   s[52] := 654.547579;    s[79] := 756.617764;    s[106] := 811.036101;
    s[26] := 859.9135808;   s[53] := Double.Nan;    s[80] := 1026.666524;   s[107] := 781.858552;
    Census2.Serie.Value := s;

    // Determine sample period parameters
    Census2.ModelPeriod.FirstPoint := 1;
    Census2.ModelPeriod.LastPoint := 108;
     // Set missing data treatment method
    Census2.MissingData.Method := MissingDataMethod.LinTrend;
    // Define parameters of seasonal component and seasonality type
    Census2.SeasonalComponent.Mode := SeasonalityType.Multiplicative;
    Census2.SeasonalComponentCycleType := SeasonalityCycleType.Month;
    // Set moving average values   
    W[0] := 1.00;   W[4] := 0.90;
    W[1] := 1.00;   W[5] := 0.98;
    W[2] := 1.02;   W[6] := 1.00;
    W[3] := 1.10;
    Census2.DailyWeights := W;
    // Define working days adjustments
    Census2.TraidingDaysAdjustment := TraidingDaysAdj.Auto;
    // Define parameters for period start
    Census2.StartPeriod.Year := 1;
    Census2.StartPeriod.MonthOrQuarter := 1;
    // Define holiday adjustments
    Census2.Holday := Census2HolidayAdjType.C2hatEaster;
    Census2.SSAnalysis := True;
    res := Census2.Execute;
    // Calculate method
    res := Census2.Execute;
    If res <> 0 Then
        Debug.WriteLine(census2.Errors);
        Else
            Debug.WriteLine("=== Prior adjusted series ===");
            Debug.Indent;
            For i := 0 To Census2.Results.B1.Length - 1 Do
                Debug.WriteLine(Census2.Results.B1[i]);
            End For;
            Debug.Unindent;
            Debug.WriteLine("=== Seasonal component ===");
            Debug.Indent;
            For i := 0 To Census2.Results.D10.Length - 1 Do
                Debug.WriteLine(Census2.Results.D10[i]);
            End For;
            Debug.Unindent;
        End If;
End Sub UserProc;

After executing the example the console window displays calculation results for the X11 method. Moving intervals and holiday adjustment (Easter) are applied during the calculation.

See also:

ISmCensus2