ISmJohansenTest.MissingData

Fore Syntax

MissingData: IMissingData;

Fore.NET Syntax

MissingData: Prognoz.Platform.Interop.Stat.IMissingData;

Description

The MissingData property determines missing data treatment method.

Comments

By default missing data is not treated.

Fore Example

Add a link to the Stat system assembly.

Sub UserProc;
Var
    Jtest: SmJohansenTest;
    Dl, Rl, D: Array[17Of Double;
    ARO: Array[1Of Integer;
    Eqs: IJohansenTestEquations;
    Eq: IJohansenTestEquation;
    i, j, res: Integer;
    d0, d1, d2, d3: Double;
    CEV: Array Of Double;
Begin
    Jtest := New SmJohansenTest.Create;
    //values Dl, Rl, D
    Dl[00] := -9999.99;     Rl[00] := -9999.99;     D[00] := -9999.99;
    Dl[01] := -0.011060947; Rl[01] := -9999.99;     D[01] := -9999.99;
    Dl[02] := 0.088021988;  Rl[02] := -9999.99;     D[02] := -9999.99;
    Dl[03] := Double.Nan;   Rl[03] := -9999.99;     D[03] := -9999.99;
    Dl[04] := -0.174221365; Rl[04] := 0.104287003;  D[04] := -9999.99;
    Dl[05] := 0.027131344;  Rl[05] := 0.026467205;  D[05] := -0.01;
    Dl[06] := 0.054179916;  Rl[06] := 0.047706589;  D[06] := 0.25;
    Dl[07] := Double.Nan;   Rl[07] := 0.01704113;   D[07] := 0.13;
    Dl[08] := -0.092249734; Rl[08] := -0.105077669; D[08] := 0.02;
    Dl[09] := -0.006322466; Rl[09] := -0.110288178; D[09] := -0.01;
    Dl[10] := 0.027113235;  Rl[10] := -0.011793876; D[10] := -0.06;
    Dl[11] := 0.057958277;  Rl[11] := 0.031454854;  D[11] := 0.04;
    Dl[12] := -0.048741622; Rl[12] := -0.032034153; D[12] := 0.05;
    Dl[13] := -0.00306279;  Rl[13] := -0.053657954; D[13] := -0.01;
    Dl[14] := 0.03120535;   Rl[14] := -0.025958191; D[14] := 0.015;
    Dl[15] := 0.104368944;  Rl[15] := 0.074380868;  D[15] := 0.025;
    Dl[16] := -0.135574294; Rl[16] := -0.064428893; D[16] := 0.02;
    ARO[0] := 1;
    Eqs := Jtest.Equations;
    Eq := Eqs.Add;
    Eq.Serie.Value := Dl;
    Eq.AutoRegressionOrder := ARO;
    Eq := Eqs.Add;
    Eq.Serie.Value := Rl;
    Eq.AutoRegressionOrder := ARO;
    Eq := Eqs.Add;
    Eq.Serie.Value := D;
    Eq.AutoRegressionOrder := ARO;
    // Sample period:
    Jtest.ModelPeriod.FirstPoint := 1;
    Jtest.ModelPeriod.LastPoint := 17;
    // Missing data treatment:
    Jtest.MissingData.Method := MissingDataMethod.LinTrend;
    // Error correction model type:
    Jtest.ModelType := ECMType.NoTrendNoIntercept;
    // Calculate model:
    res := Jtest.Execute;
    If res <> 0 Then
        Debug.WriteLine(Jtest.Errors);
        Else
            Debug.WriteLine("Own value LikelihoodRatio 5% critical value 1% critical value");
            For i := 0 To Jtest.Equations.Count-1 Do
                Eq := Jtest.Equations.Item(i);
                Debug.Write("Relations " + i.ToString + ": ");
                d0 := Eq.Report.EigenValue;
                d1 := Eq.Report.LikelihoodRatio;
                d2 := Eq.Report.OnePercentCriticalValue;
                d3 := Eq.Report.FivePercentCriticalValue;
                Debug.WriteLine(" " + d0.ToString + ", " + d1.ToString + ", " + d2.ToString +", " + d3.ToString );
            End For;
            Debug.WriteLine("Cointegration equations");
            For i := 0 To Jtest.CointegralEquations.Count - 1 Do
                CEV := Jtest.CointegralEquations.Item(i).Value;
                Debug.WriteLine("== Equation: " + (i + 1).ToString + " ==");
                For j := 0 To CEV.Length - 1 Do
                    d0 := CEV[j];
                    Debug.WriteLine('(' + i.ToString + ", " + j.ToString + "): " + d0.ToString);
                End For;
            End For;
    End If;
End Sub UserProc;

After executing the example the console window displays calculation results for the test, and cointegration equations.

Fore.NET Example

The requirements and result of the Fore.NET example execution match with those in the Fore example.

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    Jtest: SmJohansenTest;
    Dl, Rl, D: Array[17Of double;
    ARO: Array[1Of integer;
    Eqs: IJohansenTestEquations;
    Eq: IJohansenTestEquation;
    i, j, res: integer;
    d0, d1, d2, d3: double;
    CEV: System.Array;
Begin
    Jtest := New SmJohansenTest.Create();
    //values Dl, Rl, D
    Dl[00] := -9999.99;     Rl[00] := -9999.99;     D[00] := -9999.99;
    Dl[01] := -0.011060947; Rl[01] := -9999.99;     D[01] := -9999.99;
    Dl[02] := 0.088021988;  Rl[02] := -9999.99;     D[02] := -9999.99;
    Dl[03] := Double.Nan;   Rl[03] := -9999.99;     D[03] := -9999.99;
    Dl[04] := -0.174221365; Rl[04] := 0.104287003;  D[04] := -9999.99;
    Dl[05] := 0.027131344;  Rl[05] := 0.026467205;  D[05] := -0.01;
    Dl[06] := 0.054179916;  Rl[06] := 0.047706589;  D[06] := 0.25;
    Dl[07] := Double.Nan;   Rl[07] := 0.01704113;   D[07] := 0.13;
    Dl[08] := -0.092249734; Rl[08] := -0.105077669; D[08] := 0.02;
    Dl[09] := -0.006322466; Rl[09] := -0.110288178; D[09] := -0.01;
    Dl[10] := 0.027113235;  Rl[10] := -0.011793876; D[10] := -0.06;
    Dl[11] := 0.057958277;  Rl[11] := 0.031454854;  D[11] := 0.04;
    Dl[12] := -0.048741622; Rl[12] := -0.032034153; D[12] := 0.05;
    Dl[13] := -0.00306279;  Rl[13] := -0.053657954; D[13] := -0.01;
    Dl[14] := 0.03120535;   Rl[14] := -0.025958191; D[14] := 0.015;
    Dl[15] := 0.104368944;  Rl[15] := 0.074380868;  D[15] := 0.025;
    Dl[16] := -0.135574294; Rl[16] := -0.064428893; D[16] := 0.02;
    ARO[0] := 1;
    Eqs := Jtest.Equations;
    Eq := Eqs.Add();
    Eq.Serie.Value := Dl;
    Eq.AutoRegressionOrder := ARO;
    Eq := Eqs.Add();
    Eq.Serie.Value := Rl;
    Eq.AutoRegressionOrder := ARO;
    Eq := Eqs.Add();
    Eq.Serie.Value := D;
    Eq.AutoRegressionOrder := ARO;
    // Sample period:
    Jtest.ModelPeriod.FirstPoint := 1;
    Jtest.ModelPeriod.LastPoint := 17;
    // Missing data treatment:
    Jtest.MissingData.Method := MissingDataMethod.mdmLinTrend;
    // Error correction model type:
    Jtest.ModelType := ECMType.ecmtNoTrendNoIntercept;
    // Calculate model:
    res := Jtest.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.WriteLine(Jtest.Errors);
        Else
            System.Diagnostics.Debug.WriteLine("Own value LikelihoodRatio 5% critical value 1% critical value");
            For i := 0 To Jtest.Equations.Count-1 Do
                Eq := Jtest.Equations.Item[i];
                System.Diagnostics.Debug.Write("Relations " + i.ToString() + ": ");
                d0 := Eq.Report.EigenValue;
                d1 := Eq.Report.LikelihoodRatio;
                d2 := Eq.Report.OnePercentCriticalValue;
                d3 := Eq.Report.FivePercentCriticalValue;
                System.Diagnostics.Debug.WriteLine(" " + d0.ToString() + ", " + d1.ToString() + ", " + d2.ToString() +", " + d3.ToString() );
            End For;
            System.Diagnostics.Debug.WriteLine("Cointegration equations");
            For i := 0 To Jtest.CointegralEquations.Count - 1 Do
                CEV := Jtest.CointegralEquations.Item[i].Value;
                System.Diagnostics.Debug.WriteLine("== Equation: " + (i + 1).ToString() + " ==");
                For j := 0 To CEV.Length - 1 Do
                    d0 := CEV[j] As double;
                    System.Diagnostics.Debug.WriteLine('(' + i.ToString() + ", " + j.ToString() + "): " + d0.ToString());
                End For;
            End For;
    End If;
End Sub;

See also:

ISmJohansenTest