function [b,tstat,significance_real]=adftest_my(y1,y2,type);
% Таблица критических значений теста Дики-Фуллера. По строкам - обем
% выборки (значения в переменной DFRows), по столбцам (наверное) уровень значимости (значения в переменной DFCols). 
DFTable=[-4.38	-3.95	-3.6	-3.24	-1.14	-0.8	-0.5	-0.15;-4.15	-3.8	-3.5	-3.18	-1.19	-0.87	-0.58	-0.24;-4.04	-3.73	-3.45	-3.15	-1.22	-0.9	-0.62	-0.28;-3.99	-3.69	-3.43	-3.13	-1.23	-0.92	-0.64	-0.31;-3.98	-3.68	-3.42	-3.13	-1.24	-0.93	-0.65	-0.32;-3.96	-3.66	-3.41	-3.12	-1.25	-0.94	-0.66	-0.33];

DFRows=[25;50;100;250;500;10000];
DFCols=[0.01	0.025	0.05	0.1	0.9	0.95	0.975	0.99];

if(1)%(type==1)
    %Находим регрессию значений предыдущих и прибыльностей (абсолютных)
    y_regr=y2-y1;
    x_regr=y1;
    if (size(y_regr,2)>1)
        y_regr=transpose(y_regr);
        x_regr=transpose(x_regr);
    end
    [coeffs,s,mu]=polyfit(x_regr,y_regr,1);
    b=coeffs(2);
    X=[ones(size(y_regr)),y_regr]; % формируем матрицу Х (дописываем слева единички)
    err=y_regr-X*transpose(coeffs); % массив остатков (отклонений теоретических и эмпирических уровней)
    sqerr=transpose(err)*err; %Сумма квадратов отклонений
    sigma2=sqerr/length(y_regr); % Средний квадрат отклонения - дисперсия.
    invxx=inv(X'*X); % Матрица нормальной системы уравнений
    covmatr=invxx*sigma2; % ковариационная матрица
    tstat=coeffs(2)./sqrt(covmatr(2,2)); % значения т-критерия  Стьюдента для коефициентов регрессии.
    %После этого, в таблице находится строка, ближайшая к кол-ву н, точнее
    %две соседние строки. Значения этих соседних столбцов интерполируются
    %линейно и пропорционально отклонению длины выборки, выбирается среднее
    % значение критического коэфициента.
    % Не буду заниматься интерполяцией, всего лишь найду нужное значение.
    n=length(y1);
    nmin=min(find(DFRows<n));
    if (isempty(nmin))
        nmin=1;
    end
    
    % После этого, это же делается с строкой. Только ищется в самой таблице 
    % уровень т-критерия, а на выход выдается уровень значимости (подпись
    % столбика). Если полученный уровень значимости меньше, чем требуемый
    % (задается экзогенно), то гипотеза подтверждается.
    % Не буду заниматься интерполяцией, всего лишь найду нужное значение.
    pmin=min(find(DFTable(nmin,:)<tstat));
    significance_real=DFCols(pmin);
    
else
    
end



