Exemple #1
0
def test_run_daily():
    target = mock.MagicMock()

    dts = pd.date_range('2010-01-01', periods=35)
    data = pd.DataFrame(index=dts, columns=['c1', 'c2'], data=100)

    target.data = data

    algo = algos.RunDaily()

    target.now = None
    assert not algo(target)

    # run on first date
    target.now = dts[0]
    assert algo(target)

    target.now = dts[1]
    assert algo(target)

    # run on last date
    target.now = dts[len(dts) - 1]
    assert not algo(target)

    algo = algos.RunDaily(run_on_first_date=False,
                          run_on_end_of_period=True,
                          run_on_last_date=True)

    # run on first date
    target.now = dts[0]
    assert not algo(target)

    target.now = dts[1]
    assert algo(target)

    # run on last date
    target.now = dts[len(dts) - 1]
    assert algo(target)

    # date not in index
    target.now = datetime(2009, 2, 15)
    assert not algo(target)
Exemple #2
0
def test_run_daily():
    target = mock.MagicMock()

    dts = pd.date_range('2010-01-01', periods=35)
    data = pd.DataFrame(index=dts, columns=['c1', 'c2'], data=100)

    algo = algos.RunDaily()

    # adds the initial day
    backtest = bt.Backtest(bt.Strategy('', [algo]), data)
    target.data = backtest.data

    target.now = dts[1]
    assert algo(target)