|
From: Márcio V. d. S. <mv...@us...> - 2007-11-21 21:55:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7865/src/test/net/sf/tail/analysis/criteria Modified Files: NumberOfTicksCriterionTest.java VersusBuyAndHoldCriterionTest.java AverageProfitCriterionTest.java MaximumDrawDownCriterionTest.java BrazilianTotalProfitCriterionTest.java AverageProfitableTradesCriterionTest.java BrazilianTransactionCostsCriterionTest.java RewardRiskRatioCriterionTest.java NumberOfTradesCriterionTest.java BrazilianRewardRiskRatioCriterionTest.java BuyAndHoldCriterionTest.java Log Message: Mega refatoração, Runner não está mais vendendo no final de cada slice Index: MaximumDrawDownCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/MaximumDrawDownCriterionTest.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MaximumDrawDownCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.13 --- MaximumDrawDownCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.14 *************** *** 12,20 **** --- 12,23 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Test; *************** *** 95,112 **** SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 2, 3, 6, 5, 20, 3 }); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(4, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); List<Trade> tradesToDummy3 = new LinkedList<Trade>(); tradesToDummy3.add(new Trade(new Operation(5, OperationType.BUY), new Operation(6, OperationType.SELL))); ! Decision dummy3 = new DummyDecision(tradesToDummy3); decisions.add(dummy3); --- 98,116 ---- SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 2, 3, 6, 5, 20, 3 }); List<Decision> decisions = new LinkedList<Decision>(); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(4, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); List<Trade> tradesToDummy3 = new LinkedList<Trade>(); tradesToDummy3.add(new Trade(new Operation(5, OperationType.BUY), new Operation(6, OperationType.SELL))); ! Decision dummy3 = new DummyDecision(tradesToDummy3, slicer); decisions.add(dummy3); Index: AverageProfitableTradesCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/AverageProfitableTradesCriterionTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AverageProfitableTradesCriterionTest.java 31 Oct 2007 18:52:41 -0000 1.1 --- AverageProfitableTradesCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.2 *************** *** 9,17 **** --- 9,20 ---- import net.sf.tail.OperationType; import net.sf.tail.TimeSeries; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Test; import static org.junit.Assert.assertEquals; *************** *** 51,55 **** --- 54,60 ---- @Test public void testSummarize() { + TimeSeries series = new SampleTimeSeries(100d, 105d, 110d, 100d, 95d, 105d); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Decision> decisions = new LinkedList<Decision>(); *************** *** 57,66 **** trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(3, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(trades); decisions.add(dummy1); List<Trade> trades2 = new LinkedList<Trade>(); trades2.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(trades2); decisions.add(dummy2); --- 62,71 ---- trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(3, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(trades, slicer); decisions.add(dummy1); List<Trade> trades2 = new LinkedList<Trade>(); trades2.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(trades2, slicer); decisions.add(dummy2); Index: NumberOfTicksCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/NumberOfTicksCriterionTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** NumberOfTicksCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.6 --- NumberOfTicksCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.7 *************** *** 12,20 **** --- 12,23 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Test; *************** *** 45,57 **** SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Decision> decisions = new LinkedList<Decision>(); ! List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); --- 48,60 ---- SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Decision> decisions = new LinkedList<Decision>(); ! TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); Index: BrazilianTotalProfitCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/BrazilianTotalProfitCriterionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BrazilianTotalProfitCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.2 --- BrazilianTotalProfitCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.3 *************** *** 14,18 **** --- 14,21 ---- import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.DateTime; + import org.joda.time.Period; import org.junit.Test; *************** *** 64,68 **** public void testSummarize() { ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }); List<Trade> trades = new ArrayList<Trade>(); List<Decision> decisions = new ArrayList<Decision>(); --- 67,72 ---- public void testSummarize() { ! DateTime date = new DateTime(); ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }, new DateTime[]{date, date, date, date, date, date}); List<Trade> trades = new ArrayList<Trade>(); List<Decision> decisions = new ArrayList<Decision>(); *************** *** 70,74 **** trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(5, OperationType.SELL))); ! decisions.add(new Decision(null, null, null, trades, null)); --- 74,78 ---- trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(5, OperationType.SELL))); ! decisions.add(new Decision(null, new RegularSlicer(series, new Period().withYears(2000)),0, null, trades, null)); *************** *** 80,84 **** double value1 = ((100 * 0.99965d) / (95d * 1.00035d)) * ((100 * 0.99965d) / (70 * 1.00035d)); double value2 = ((95 * 0.99965d) / (100 * 1.00035d)) * ((70 * 0.99965d) / (100 * 1.00035d)); ! decisions.add(new Decision(null, null, null, trades, null)); assertEquals(value1 * value2, profit.summarize(series, decisions)); --- 84,88 ---- double value1 = ((100 * 0.99965d) / (95d * 1.00035d)) * ((100 * 0.99965d) / (70 * 1.00035d)); double value2 = ((95 * 0.99965d) / (100 * 1.00035d)) * ((70 * 0.99965d) / (100 * 1.00035d)); ! decisions.add(new Decision(null, new RegularSlicer(series, new Period().withYears(2000)),0, null, trades, null)); assertEquals(value1 * value2, profit.summarize(series, decisions)); Index: NumberOfTradesCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/NumberOfTradesCriterionTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NumberOfTradesCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.5 --- NumberOfTradesCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.6 *************** *** 12,20 **** --- 12,23 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Test; *************** *** 43,57 **** @Test public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); --- 46,62 ---- @Test public void testSummarize() { + //TODO Dummy Decision must turn MockDecision SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Decision> decisions = new LinkedList<Decision>(); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); Index: BrazilianRewardRiskRatioCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/BrazilianRewardRiskRatioCriterionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BrazilianRewardRiskRatioCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.2 --- BrazilianRewardRiskRatioCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.3 *************** *** 11,19 **** --- 11,22 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Before; import org.junit.Test; *************** *** 48,66 **** public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); List<Trade> tradesToDummy3 = new LinkedList<Trade>(); tradesToDummy3.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); ! Decision dummy3 = new DummyDecision(tradesToDummy3); decisions.add(dummy3); --- 51,70 ---- public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); List<Trade> tradesToDummy3 = new LinkedList<Trade>(); tradesToDummy3.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); ! Decision dummy3 = new DummyDecision(tradesToDummy3, slicer); decisions.add(dummy3); Index: VersusBuyAndHoldCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/VersusBuyAndHoldCriterionTest.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** VersusBuyAndHoldCriterionTest.java 31 Oct 2007 19:53:07 -0000 1.8 --- VersusBuyAndHoldCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.9 *************** *** 12,20 **** --- 12,23 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Test; *************** *** 35,48 **** public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); AnalysisCriterion buyAndHold = new VersusBuyAndHoldCriterion(new TotalProfitCriterion()); --- 38,52 ---- public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); AnalysisCriterion buyAndHold = new VersusBuyAndHoldCriterion(new TotalProfitCriterion()); Index: AverageProfitCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/AverageProfitCriterionTest.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** AverageProfitCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.14 --- AverageProfitCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.15 *************** *** 12,20 **** --- 12,23 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Before; import org.junit.Test; *************** *** 44,56 **** series = new SampleTimeSeries(100d, 105d, 110d, 100d, 95d, 105d); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); --- 47,60 ---- series = new SampleTimeSeries(100d, 105d, 110d, 100d, 95d, 105d); List<Decision> decisions = new LinkedList<Decision>(); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); *************** *** 79,87 **** @Test ! public void testCalculateWithNoTicksShouldReturnNan() { series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }); trades.clear(); AnalysisCriterion averageProfit = new AverageProfitCriterion(); ! assertEquals(Double.NaN, averageProfit.calculate(series, trades)); } @Test --- 83,91 ---- @Test ! public void testCalculateWithNoTicksShouldReturn1() { series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }); trades.clear(); AnalysisCriterion averageProfit = new AverageProfitCriterion(); ! assertEquals(1d, averageProfit.calculate(series, trades)); } @Test Index: RewardRiskRatioCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/RewardRiskRatioCriterionTest.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** RewardRiskRatioCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.14 --- RewardRiskRatioCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.15 *************** *** 11,19 **** --- 11,22 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Before; import org.junit.Test; *************** *** 49,66 **** SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); List<Trade> tradesToDummy3 = new LinkedList<Trade>(); tradesToDummy3.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); ! Decision dummy3 = new DummyDecision(tradesToDummy3); decisions.add(dummy3); --- 52,70 ---- SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); List<Decision> decisions = new LinkedList<Decision>(); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); List<Trade> tradesToDummy3 = new LinkedList<Trade>(); tradesToDummy3.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); ! Decision dummy3 = new DummyDecision(tradesToDummy3, slicer); decisions.add(dummy3); Index: BrazilianTransactionCostsCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/BrazilianTransactionCostsCriterionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BrazilianTransactionCostsCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.2 --- BrazilianTransactionCostsCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.3 *************** *** 14,18 **** --- 14,21 ---- import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.DateTime; + import org.joda.time.Period; import org.junit.Test; *************** *** 47,56 **** @Test public void testSummarize() { ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }); List<Trade> trades = new ArrayList<Trade>(); List<Decision> decisions = new ArrayList<Decision>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! decisions.add(new Decision(null, null, null, trades, null)); trades = new ArrayList<Trade>(); --- 50,61 ---- @Test public void testSummarize() { ! DateTime date = new DateTime(); ! ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }, new DateTime[]{date, date, date, date, date, date}); List<Trade> trades = new ArrayList<Trade>(); List<Decision> decisions = new ArrayList<Decision>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); ! decisions.add(new Decision(null, new RegularSlicer(series, new Period().withYears(2000)), 0,null, trades, null)); trades = new ArrayList<Trade>(); *************** *** 58,63 **** trades.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); ! decisions.add(new Decision(null, null, null, trades, null)); ! decisions.add(new Decision(null, null, null, trades, null)); AnalysisCriterion brazilianCosts = new BrazilianTransactionCostsCriterion(); --- 63,68 ---- trades.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); ! decisions.add(new Decision(null, new RegularSlicer(series, new Period().withYears(2000)),0, null, trades, null)); ! decisions.add(new Decision(null, new RegularSlicer(series, new Period().withYears(2000)),0, null, trades, null)); AnalysisCriterion brazilianCosts = new BrazilianTransactionCostsCriterion(); Index: BuyAndHoldCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/BuyAndHoldCriterionTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BuyAndHoldCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.5 --- BuyAndHoldCriterionTest.java 21 Nov 2007 21:55:20 -0000 1.6 *************** *** 12,20 **** --- 12,23 ---- import net.sf.tail.Operation; import net.sf.tail.OperationType; + import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; + import net.sf.tail.series.RegularSlicer; + import org.joda.time.Period; import org.junit.Test; *************** *** 35,48 **** public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2); decisions.add(dummy2); --- 38,52 ---- public void testSummarize() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); + TimeSeriesSlicer slicer = new RegularSlicer(series, new Period().withYears(2000)); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> tradesToDummy1 = new LinkedList<Trade>(); tradesToDummy1.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); ! Decision dummy1 = new DummyDecision(tradesToDummy1, slicer); decisions.add(dummy1); List<Trade> tradesToDummy2 = new LinkedList<Trade>(); tradesToDummy2.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); ! Decision dummy2 = new DummyDecision(tradesToDummy2, slicer); decisions.add(dummy2); |