Update of /cvsroot/tail/Tail/src/test/net/sf/tail/flow
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21249/src/test/net/sf/tail/flow
Modified Files:
CashFlowTest.java
Log Message:
refatorado CashFlow e MaximumDrawDown
Index: CashFlowTest.java
===================================================================
RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/flow/CashFlowTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** CashFlowTest.java 16 Aug 2007 21:09:11 -0000 1.6
--- CashFlowTest.java 18 Aug 2007 14:05:34 -0000 1.7
***************
*** 28,32 ****
@Test
! public void testCashFlowValueWithOnlyOneTrade() {
TimeSeries sampleTimeSeries = new SampleTimeSeries(new double[] { 1d, 2d});
--- 28,32 ----
@Test
! public void testCashFlowBuyWithOnlyOneTrade() {
TimeSeries sampleTimeSeries = new SampleTimeSeries(new double[] { 1d, 2d});
***************
*** 39,43 ****
--- 39,99 ----
assertEquals(2d, cashFlow.getValue(1), 0.0001);
}
+
+ @Test
+ public void testCashFlowWithSellAndBuyOperations() {
+ TimeSeries sampleTimeSeries = new SampleTimeSeries( 2, 1, 3, 5, 6, 3, 20);
+
+ 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(3, OperationType.BUY), new Operation(4, OperationType.SELL)));
+ trades.add(new Trade(new Operation(5, OperationType.SELL), new Operation(6, OperationType.BUY)));
+
+ CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades);
+
+ assertEquals(1d , cashFlow.getValue(0), 0.0001);
+ assertEquals(.5 , cashFlow.getValue(1), 0.0001);
+ assertEquals(.5 , cashFlow.getValue(2), 0.0001);
+ assertEquals(.5 , cashFlow.getValue(3), 0.0001);
+ assertEquals(.6 , cashFlow.getValue(4), 0.0001);
+ assertEquals(.6 , cashFlow.getValue(5), 0.0001);
+ assertEquals(.09, cashFlow.getValue(6), 0.0001);
+ }
+
+ @Test
+ public void testCashFlowSell() {
+ TimeSeries sampleTimeSeries = new SampleTimeSeries(1 , 2 , 4 , 8 , 16 , 32);
+
+ List<Trade> trades = new ArrayList<Trade>();
+ trades.add(new Trade(new Operation(2, OperationType.SELL), new Operation(3, OperationType.BUY)));
+
+ CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades);
+
+ assertEquals(1d, cashFlow.getValue(0), 0.0001);
+ assertEquals(1d, cashFlow.getValue(1), 0.0001);
+ assertEquals(1d, cashFlow.getValue(2), 0.0001);
+ assertEquals(.5, cashFlow.getValue(3), 0.0001);
+ assertEquals(.5, cashFlow.getValue(4), 0.0001);
+ assertEquals(.5, cashFlow.getValue(5), 0.0001);
+ }
+
+ @Test
+ public void testCashFlowShortSell() {
+ TimeSeries sampleTimeSeries = new SampleTimeSeries(1 , 2 , 4 , 8 , 16 , 32);
+ List<Trade> trades = new ArrayList<Trade>();
+ trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL)));
+ trades.add(new Trade(new Operation(2, OperationType.SELL), new Operation(4, OperationType.BUY)));
+ trades.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL)));
+
+ CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades);
+
+ assertEquals(1d, cashFlow.getValue(0), 0.0001);
+ assertEquals(2d, cashFlow.getValue(1), 0.0001);
+ assertEquals(4d, cashFlow.getValue(2), 0.0001);
+ assertEquals(2d, cashFlow.getValue(3), 0.0001);
+ assertEquals(1d, cashFlow.getValue(4), 0.0001);
+ assertEquals(2d, cashFlow.getValue(5), 0.0001);
+ }
+
@Test
public void testCashFlowValueWithOnlyOneTradeAndAGapBefore() {
|