Ejemplo n.º 1
0
def test_tol_memory(d, tol_memory):
    fracdiff = Fracdiff(d, window=None, tol_memory=tol_memory)
    try:
        fracdiff.transform(X)
        window = fracdiff.window_

        if d > 1:
            d -= floor(d)
        assert abs(lost_memory(d, window)) < abs(tol_memory)
    except RuntimeWarning:  # saturation
        pass
Ejemplo n.º 2
0
def test_tol_coef(d, tol_coef):
    fracdiff = Fracdiff(d, window=None, tol_coef=tol_coef)
    try:
        fracdiff.transform(X)
        window = fracdiff.window_

        if d.is_integer():
            assert window == d + 1
        else:
            if d > 1:
                d -= floor(d)
            assert abs(last_coef(d, window)) < abs(tol_coef)
    except RuntimeWarning:  # saturation
        pass
Ejemplo n.º 3
0
def test_change_d(d, window, n_blanks_1, n_blanks_2, n_terms, n_series):
    """
    Test the correctness of coefficients.
    """
    X = make_X(window, n_blanks_1, n_blanks_2, n_terms, n_series)

    fracdiff = Fracdiff(0.42, window=window)
    _ = fracdiff.transform(X)

    fracdiff.d = d

    Xd = fracdiff.transform(X)
    Xd_expected = Fracdiff(d, window=window).transform(X)

    assert np.allclose(Xd, Xd_expected, equal_nan=True)
Ejemplo n.º 4
0
def howto_spx():
    spx = fetch_price('^GSPC')

    window = 100

    fracdiff = Fracdiff(0.5, window=window)
    spx_diff = fracdiff.transform(spx.values.reshape(-1, 1))
    spxd = pd.Series(spx_diff[:, 0], index=spx.index)

    plot_spx(spx[window:], spxd[window:])
Ejemplo n.º 5
0
def test_transform_twice(d, window, n_blanks_1, n_blanks_2, n_terms, n_series):
    """
    Test the correctness of coefficients.
    """
    X = make_X(window, n_blanks_1, n_blanks_2, n_terms, n_series)

    fracdiff = Fracdiff(d, window=window)
    Xd1 = fracdiff.transform(X)
    Xd2 = fracdiff.transform(X)

    assert np.allclose(Xd1, Xd2, equal_nan=True)
Ejemplo n.º 6
0
def test_coef(d, window, n_blanks_1, n_blanks_2, n_terms, n_series):
    """
    Test the correctness of coefficients.
    """
    X = make_X(window, n_blanks_1, n_blanks_2, n_terms, n_series)

    fracdiff = Fracdiff(d, window=window)
    Xd = fracdiff.transform(X)

    coef_expected = fracdiff.coef_

    for i in range(n_series):
        coef = Xd[window + n_blanks_1:, i][:n_terms]
        assert np.allclose(coef, coef_expected)
Ejemplo n.º 7
0
def test_small_n_samples():
    fracdiff = Fracdiff(window=100)

    with pytest.raises(ValueError):
        fracdiff.transform(np.zeros((10, 2)))
Ejemplo n.º 8
0
def test_saturation():
    small_tolerance = 2**(-20)
    fracdiff = Fracdiff(0.5, window=None, tol_memory=small_tolerance)

    with pytest.raises(RuntimeWarning):
        fracdiff.transform(X)
Ejemplo n.º 9
0
def test_fracdiff_tol_coef(tol_coef):
    with pytest.raises(ValueError):
        fracdiff = Fracdiff(tol_coef=tol_coef)
        fracdiff.transform(X)
Ejemplo n.º 10
0
def test_fracdiff_tol_memory(tol_memory):
    with pytest.raises(ValueError):
        fracdiff = Fracdiff(tol_memory=tol_memory)
        fracdiff.transform(X)
Ejemplo n.º 11
0
def test_fracdiff_noparams():
    with pytest.raises(ValueError):
        fracdiff = Fracdiff(window=None, tol_coef=None, tol_memory=None)
        fracdiff.transform(X)