ISmGARCH.AsymmetryParam

Синтаксис

AsymmetryParam: Double;

Описание

Свойство AsymmetryParam определяет параметр асимметрии.

Комментарии

Свойство устарело.

На входе свойство задает его начальное приближение, на выходе возвращает найденную оценку для него. По умолчанию в качестве начального приближения используется ноль.

Параметр асимметрии используется только для моделей «Тип1» и «»Тип2» (GARCHModelType).

Пример

Sub Main;

Var

GARCH: ISmGARCH;

x,y1,y2: Array Of Double;

Res: Integer;

d: Double;

Sub Print(Data: Array Of Double);

Var

i: Integer;

CI: ICultureInfo;

Begin

CI := CultureInfo.Current;

Debug.WriteLine("---Begin---");

For i := 0 To Data.Length - 1 Do

If Double.IsNan(Data[i]) Then

Debug.WriteLine("---empty---");

Else

Debug.WriteLine(i.ToString + ", " + CI.FormatDoublePrec(Data[i], 4));

End If;

End For;

Debug.WriteLine("---End---");

End Sub Print;

Begin

x := New Double[11];

y1 := New Double[16];

y2 := New Double[16];

//значения x, y1, y2

x[0] := 100; y1[0] := 120; y2[0] := 122;

x[1] := 111; y1[1] := 125; y2[1] := 127;

x[2] := 123; y1[2] := 124; y2[2] := 130;

x[3] := 113; y1[3] := 130; y2[3] := 135;

x[4] := 119; y1[4] := 133; y2[4] := 140;

x[5] := 121; y1[5] := 129; y2[5] := 149;

x[6] := 125; y1[6] := 139; y2[6] := 150;

x[7] := 131; y1[7] := 140; y2[7] := 155;

x[8] := 131; y1[8] := 140; y2[8] := 155;

x[9] := 131; y1[9] := 140; y2[9] := 155;

x[10] := 142; y1[10] := 129; y2[10] := 149;

y1[11] := 139; y2[11] := 150;

y1[12] := 140; y2[12] := 155;

y1[13] := 134; y2[13] := 145;

y1[14] := 140; y2[14] := 165;

y1[15] := 129; y2[15] := 149;

GARCH := New SmGARCH.Create;

GARCH.Explained.Value := x;

GARCH.Explanatories.Add.Value := y1;

GARCH.Explanatories.Add.Value := y2;

GARCH.ModelPeriod.FirstPoint := 1;

GARCH.ModelPeriod.LastPoint := 11;

GARCH.Forecast.LastPoint := 15;

GARCH.Intercept.Mode := InterceptMode.AutoEstimate;

GARCH.ModelType := GARCHModelType.TypeI;

GARCH.AutoRegressionOrder := 3;

GARCH.MovingAverageOrder := 2;

GARCH.StationarityCondition := False;

GARCH.MaxIteration := 150;

GARCH.Tolerance := 0.03;

GARCH.AsymmetryParam := 2;

res := GARCH.Execute;

If res <> 0 Then

Debug.WriteLine(GARCH.Errors);

Else

d := GARCH.LikelihoodFunctionValue;

Debug.WriteLine("Оптимальное значение функции правдоподобия: " + d.ToString);

d := GARCH.AsymmetryParam;

Debug.WriteLine("Параметр асимметрии: " + d.ToString);

Debug.WriteLine("== Сглаженный ряд ==");

Print(GARCH.Fitted);

End If;

End Sub Main;

После выполнения примера в окно консоли будет выведен оптимальное значение функции правдоподобия, оцененный параметр асимметрии и сглаженный ряд:

Module execution started

Оптимальное значение функции правдоподобия: -24.862257501360023

Параметр асимметрии: 1.9562210630771983

== Сглаженный ряд ==

---Begin---

0, 107.2166

1, 109.3737

2, 113.5574

3, 114.9921

4, 118.5938

5, 131.8673

6, 125.7974

7, 130.8439

8, 130.8439

9, 130.8439

10, 131.8673

---End---

Module execution finished

См. также:

ISmGARCH