|
From: Thies <tg...@us...> - 2007-07-05 21:53:16
|
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)); } } |