Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/walk
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv3848/src/test/net/sf/tail/analysis/walk
Added Files:
WalkForwardTest.java
Log Message:
Primeiro passo para a implementação do WalkForward
--- NEW FILE: WalkForwardTest.java ---
package net.sf.tail.analysis.walk;
import static org.junit.Assert.assertEquals;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.sf.tail.AnalysisCriterion;
import net.sf.tail.Evaluator;
import net.sf.tail.Operation;
import net.sf.tail.OperationType;
import net.sf.tail.Strategy;
import net.sf.tail.TimeSeries;
import net.sf.tail.analysis.criteria.TotalProfitCriterion;
import net.sf.tail.analysis.evaluator.BestStrategyEvaluator;
import net.sf.tail.sample.SampleTimeSeries;
import net.sf.tail.strategy.FakeStrategy;
import org.junit.Before;
import org.junit.Test;
public class WalkForwardTest {
private Set<Strategy> strategies;
private AnalysisCriterion criteria;
private TimeSeries series;
private Evaluator evaluator;
private Operation[] enter;
private Operation[] exit;
@Before
public void setUp()
{
double[] data = new double[] {5d, 1d, 8d, 3d, 12d, 20d, 4d, 3d, 30d, 20d, 15d, 32d, 18d, 15d };
this.strategies = new HashSet<Strategy>();
this.criteria = new TotalProfitCriterion();
this.series = new SampleTimeSeries(data);
this.evaluator = new BestStrategyEvaluator();
enter = new Operation[] { new Operation(0, OperationType.BUY),
null,
null,
null,
null,
null,
new Operation(6, OperationType.BUY),
null,
null,
null,
null,
new Operation(11, OperationType.BUY),
null,
null
};
exit = new Operation[] { null,
null,
null,
new Operation(3, OperationType.SELL),
null,
null,
null,
null,
new Operation(8, OperationType.SELL),
null,
null,
null,
null,
null
};
strategies.add(new FakeStrategy(enter, exit));
enter = new Operation[] { new Operation(0, OperationType.BUY),
null,
null,
null,
null,
null,
null,
null,
new Operation(8, OperationType.BUY),
null,
new Operation(10, OperationType.BUY),
null,
null,
null
};
exit = new Operation[] { null,
null,
new Operation(2, OperationType.SELL),
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
};
strategies.add(new FakeStrategy(enter, exit));
}
@Test
public void test1()
{
Walker walk = new Walker(evaluator);
List<Double> values = walk.walk(strategies, series, 5, criteria);
assertEquals(20d/30, values.get(0));
assertEquals(15d/32, values.get(1));
}
}
|