|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/test/net/sf/tail/graphics Modified Files: FasterDatasetTest.java Added Files: FasterCriteriaDatasetTest.java Log Message: Mais testes, ajustes de testes e etc. Index: FasterDatasetTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/FasterDatasetTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FasterDatasetTest.java 24 Oct 2007 20:31:29 -0000 1.2 --- FasterDatasetTest.java 31 Oct 2007 19:53:07 -0000 1.3 *************** *** 31,34 **** --- 31,52 ---- assertEquals(6, dataset.getColumnCount()); } + + @Test + public void testFasterDatasetWithoutDoFast() + { + List<Tick> ticks = new ArrayList<Tick>(); + ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); + ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); + ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); + ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); + ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); + ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); + ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); + ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); + SampleTimeSeries series = new SampleTimeSeries(ticks); + FasterDataset dataset = new FasterDataset(series); + assertEquals(8, dataset.getColumnCount()); + } + @Test public void testFasterDatasetOnlyWithGains() --- NEW FILE: FasterCriteriaDatasetTest.java --- package net.sf.tail.graphics; import static junit.framework.Assert.assertEquals; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import net.sf.tail.AnalysisCriterion; import net.sf.tail.OperationType; import net.sf.tail.Strategy; import net.sf.tail.Tick; import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.HigherValueEvaluator; import net.sf.tail.analysis.walk.WalkForward; import net.sf.tail.report.Report; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.sample.SampleIndicator; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.series.RegularSlicer; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; import net.sf.tail.strategy.IndicatorOverIndicatorStrategy; import org.joda.time.DateTime; import org.joda.time.Period; import org.junit.Test; public class FasterCriteriaDatasetTest { @Test public void testFasterCriteriaDatasetWithoutDoFast() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports); assertEquals(8, dataset.getColumnCount()); } @Test public void testFasterCriteriaDatasetDoFast() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports, true); assertEquals(4, dataset.getColumnCount()); } @Test public void testFasterCriteriaDatasetOnlyWithGains() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 7d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 8d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports, true); assertEquals(4, dataset.getColumnCount()); } @Test public void testFasterCriteriaDatasetNotSoFast() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports, true); assertEquals(4, dataset.getColumnCount()); } } |