|
From: Márcio V. d. S. <mv...@us...> - 2007-08-23 12:51:20
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13475/src/test/net/sf/tail/analysis/criteria Modified Files: VersusBuyAndHoldCriterionTest.java NumberOfTicksCriterionTest.java AverageProfitCriterionTest.java MaximumDrawDownCriterionTest.java RewardRiskRatioCriterionTest.java NumberOfTradesCriterionTest.java BuyAndHoldCriterionTest.java TotalProfitCriterionTest.java Log Message: Index: TotalProfitCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/TotalProfitCriterionTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** TotalProfitCriterionTest.java 26 Jul 2007 20:48:55 -0000 1.6 --- TotalProfitCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.7 *************** *** 57,60 **** assertEquals(1d, profit.calculate(series, trades)); } ! } --- 57,60 ---- assertEquals(1d, profit.calculate(series, trades)); } ! } Index: MaximumDrawDownCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/MaximumDrawDownCriterionTest.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MaximumDrawDownCriterionTest.java 18 Aug 2007 14:05:33 -0000 1.9 --- MaximumDrawDownCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.10 *************** *** 18,22 **** public class MaximumDrawDownCriterionTest { - @Test public void testCalculateWithNoTrades() { --- 18,21 ---- *************** *** 75,79 **** @Test public void testWithSimpleTrades() { ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 10, 5, 6, 1}); MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(); List<Trade> trades = new ArrayList<Trade>(); --- 74,78 ---- @Test public void testWithSimpleTrades() { ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 10, 5, 6, 1 }); MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(); List<Trade> trades = new ArrayList<Trade>(); *************** *** 83,112 **** trades.add(new Trade(new Operation(3, OperationType.BUY), new Operation(4, OperationType.SELL))); // TODO: should raise IndexOutOfBoundsException ! //trades.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); assertEquals(9d, mdd.calculate(series, trades)); } - @Test public void testSummarize() { 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); ! MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(); --- 82,111 ---- trades.add(new Trade(new Operation(3, OperationType.BUY), new Operation(4, OperationType.SELL))); // TODO: should raise IndexOutOfBoundsException ! // trades.add(new Trade(new Operation(4, OperationType.BUY), new ! // Operation(5, OperationType.SELL))); assertEquals(9d, mdd.calculate(series, trades)); } @Test public void testSummarize() { 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); ! MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(); Index: NumberOfTicksCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/NumberOfTicksCriterionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NumberOfTicksCriterionTest.java 9 Aug 2007 15:21:25 -0000 1.2 --- NumberOfTicksCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.3 *************** *** 23,27 **** SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Trade> trades = new ArrayList<Trade>(); ! AnalysisCriterion buyAndHold = new NumberOfTicksCriterion(); assertEquals(0d, buyAndHold.calculate(series, trades)); --- 23,27 ---- SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Trade> trades = new ArrayList<Trade>(); ! AnalysisCriterion buyAndHold = new NumberOfTicksCriterion(); assertEquals(0d, buyAndHold.calculate(series, trades)); *************** *** 38,42 **** assertEquals(4d, buyAndHold.calculate(series, trades)); } - @Test --- 38,41 ---- *************** *** 44,58 **** 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 NumberOfTicksCriterion(); assertEquals(4d, buyAndHold.summarize(series, decisions)); --- 43,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); ! AnalysisCriterion buyAndHold = new NumberOfTicksCriterion(); assertEquals(4d, buyAndHold.summarize(series, decisions)); Index: NumberOfTradesCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/NumberOfTradesCriterionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NumberOfTradesCriterionTest.java 9 Aug 2007 15:21:25 -0000 1.2 --- NumberOfTradesCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.3 *************** *** 23,27 **** SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Trade> trades = new ArrayList<Trade>(); ! AnalysisCriterion buyAndHold = new NumberOfTradesCriterion(); assertEquals(0d, buyAndHold.calculate(series, trades)); --- 23,27 ---- SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 110, 100, 95, 105 }); List<Trade> trades = new ArrayList<Trade>(); ! AnalysisCriterion buyAndHold = new NumberOfTradesCriterion(); assertEquals(0d, buyAndHold.calculate(series, trades)); *************** *** 38,59 **** assertEquals(2d, buyAndHold.calculate(series, trades)); } ! @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); ! AnalysisCriterion buyAndHold = new NumberOfTradesCriterion(); ! assertEquals(2d, buyAndHold.summarize(series, decisions),0.01); } } --- 38,59 ---- assertEquals(2d, buyAndHold.calculate(series, trades)); } ! @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); ! AnalysisCriterion buyAndHold = new NumberOfTradesCriterion(); ! assertEquals(2d, buyAndHold.summarize(series, decisions), 0.01); } } Index: VersusBuyAndHoldCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/VersusBuyAndHoldCriterionTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VersusBuyAndHoldCriterionTest.java 15 Aug 2007 22:07:53 -0000 1.3 --- VersusBuyAndHoldCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.4 *************** *** 34,43 **** 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))); --- 34,43 ---- 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))); *************** *** 45,51 **** decisions.add(dummy2); AnalysisCriterion buyAndHold = new VersusBuyAndHoldCriterion(); ! assertEquals(1.10 * 1.05 / 1.05, buyAndHold.summarize(series, decisions),0.01); } ! @Test public void testCalculateOnlyWithLossTrades() { --- 45,51 ---- decisions.add(dummy2); AnalysisCriterion buyAndHold = new VersusBuyAndHoldCriterion(); ! assertEquals(1.10 * 1.05 / 1.05, buyAndHold.summarize(series, decisions), 0.01); } ! @Test public void testCalculateOnlyWithLossTrades() { Index: AverageProfitCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/AverageProfitCriterionTest.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** AverageProfitCriterionTest.java 9 Aug 2007 15:21:25 -0000 1.9 --- AverageProfitCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.10 *************** *** 42,60 **** 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); ! AnalysisCriterion averageProfit = new AverageProfitCriterion(); ! assertEquals(1.03, averageProfit.summarize(series, decisions),0.01); } ! @Test public void testCalculateWithASimpleTrade() { --- 42,60 ---- 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); ! AnalysisCriterion averageProfit = new AverageProfitCriterion(); ! assertEquals(1.03, averageProfit.summarize(series, decisions), 0.01); } ! @Test public void testCalculateWithASimpleTrade() { *************** *** 66,70 **** } - @Test public void testCalculateOnlyWithLossTrades() { --- 66,69 ---- Index: RewardRiskRatioCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/RewardRiskRatioCriterionTest.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** RewardRiskRatioCriterionTest.java 9 Aug 2007 15:21:25 -0000 1.10 --- RewardRiskRatioCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.11 *************** *** 21,31 **** private RewardRiskRatioCriterion rrc; ! @Before ! public void setUp() ! { this.rrc = new RewardRiskRatioCriterion(); } ! @Test public void testRewardRiskRatioCriterion() { --- 21,30 ---- private RewardRiskRatioCriterion rrc; ! @Before ! public void setUp() { this.rrc = new RewardRiskRatioCriterion(); } ! @Test public void testRewardRiskRatioCriterion() { *************** *** 34,45 **** trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); trades.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); ! ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); ! ! ! assertEquals(((105d / 100) * (90d / 95d) * (120d / 95)) / (((105d / 100) * (100d / 95)) - (105d / 100 * 90d / 95 * 80d / 95)) , rrc.calculate(series, trades), 0.01); } - @Test --- 33,43 ---- trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); trades.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); ! SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); ! ! assertEquals(((105d / 100) * (90d / 95d) * (120d / 95)) ! / (((105d / 100) * (100d / 95)) - (105d / 100 * 90d / 95 * 80d / 95)), rrc.calculate(series, trades), ! 0.01); } @Test *************** *** 47,92 **** 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); ! ! assertEquals(((105d / 100) * (90d / 95d) * (120d / 95)) / (((105d / 100) * (100d / 95)) - (105d / 100 * 90d / 95 * 80d / 95)) , rrc.summarize(series, decisions),0.01); } ! @Test ! public void testRewardRiskRatioCriterionOnlyWithGain() ! { SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 2, 3, 6, 8, 20, 3 }); List<Trade> trades = new ArrayList<Trade>(); 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))); ! assertTrue(Double.isInfinite(rrc.calculate(series, trades))); ! } ! @Test ! public void testRewardRiskRatioCriterionWithNoTrades() ! { SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 2, 3, 6, 8, 20, 3 }); List<Trade> trades = new ArrayList<Trade>(); ! assertTrue(Double.isInfinite(rrc.calculate(series, trades))); - - } - } --- 45,88 ---- 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); ! ! assertEquals(((105d / 100) * (90d / 95d) * (120d / 95)) ! / (((105d / 100) * (100d / 95)) - (105d / 100 * 90d / 95 * 80d / 95)), ! rrc.summarize(series, decisions), 0.01); } ! @Test ! public void testRewardRiskRatioCriterionOnlyWithGain() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 2, 3, 6, 8, 20, 3 }); List<Trade> trades = new ArrayList<Trade>(); 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))); ! assertTrue(Double.isInfinite(rrc.calculate(series, trades))); ! } ! @Test ! public void testRewardRiskRatioCriterionWithNoTrades() { SampleTimeSeries series = new SampleTimeSeries(new double[] { 1, 2, 3, 6, 8, 20, 3 }); List<Trade> trades = new ArrayList<Trade>(); ! assertTrue(Double.isInfinite(rrc.calculate(series, trades))); + } } Index: BuyAndHoldCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/BuyAndHoldCriterionTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BuyAndHoldCriterionTest.java 9 Aug 2007 15:21:25 -0000 1.2 --- BuyAndHoldCriterionTest.java 23 Aug 2007 12:51:10 -0000 1.3 *************** *** 30,54 **** } - @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); ! AnalysisCriterion buyAndHold = new BuyAndHoldCriterion(); ! assertEquals(1.05, buyAndHold.summarize(series, decisions),0.01); } ! ! @Test public void testCalculateOnlyWithLossTrades() { --- 30,52 ---- } @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); ! AnalysisCriterion buyAndHold = new BuyAndHoldCriterion(); ! assertEquals(1.05, buyAndHold.summarize(series, decisions), 0.01); } ! @Test public void testCalculateOnlyWithLossTrades() { *************** *** 70,73 **** assertEquals(0.7, buyAndHold.calculate(series, trades)); } ! } --- 68,71 ---- assertEquals(0.7, buyAndHold.calculate(series, trades)); } ! } |