You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(148) |
Jun
(48) |
Jul
(107) |
Aug
(292) |
Sep
(301) |
Oct
(530) |
Nov
(142) |
Dec
(37) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
|
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:45
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/java/net/sf/tail Modified Files: Walker.java Log Message: refatoração de código e conserto de alguns testes Index: Walker.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Walker.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Walker.java 4 Aug 2007 06:53:45 -0000 1.6 --- Walker.java 4 Aug 2007 17:07:16 -0000 1.7 *************** *** 4,9 **** import java.util.Set; import net.sf.tail.analysis.evaluator.Decision; - import net.sf.tail.analysis.splitter.EnumSplitter; public interface Walker { --- 4,9 ---- import java.util.Set; + import net.sf.tail.analysis.SplittedTimeSeries; import net.sf.tail.analysis.evaluator.Decision; public interface Walker { *************** *** 11,15 **** // precisa receber SplittedTimeSeries em vez de TimeSeries+EnumSplitter // legal eh devolver Report em vez de List Decision (assinado paulo) ! List<Decision> walk(Set<Strategy> strategies, TimeSeries series,EnumSplitter enumSplitter, AnalysisCriterion criterion) ; } \ No newline at end of file --- 11,15 ---- // precisa receber SplittedTimeSeries em vez de TimeSeries+EnumSplitter // legal eh devolver Report em vez de List Decision (assinado paulo) ! List<Decision> walk(Set<Strategy> strategies, SplittedTimeSeries splittedSeries, AnalysisCriterion criterion) ; } \ No newline at end of file |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:44
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/walk In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/java/net/sf/tail/analysis/walk Modified Files: WalkForward.java Log Message: refatoração de código e conserto de alguns testes Index: WalkForward.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/walk/WalkForward.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** WalkForward.java 4 Aug 2007 02:34:19 -0000 1.13 --- WalkForward.java 4 Aug 2007 17:07:15 -0000 1.14 *************** *** 6,16 **** import net.sf.tail.AnalysisCriterion; - import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.Evaluator; import net.sf.tail.Strategy; import net.sf.tail.TimeSeries; import net.sf.tail.Walker; import net.sf.tail.analysis.evaluator.Decision; - import net.sf.tail.analysis.splitter.EnumSplitter; import org.apache.log4j.Logger; --- 6,15 ---- import net.sf.tail.AnalysisCriterion; import net.sf.tail.Evaluator; import net.sf.tail.Strategy; import net.sf.tail.TimeSeries; import net.sf.tail.Walker; + import net.sf.tail.analysis.SplittedTimeSeries; import net.sf.tail.analysis.evaluator.Decision; import org.apache.log4j.Logger; *************** *** 26,41 **** } ! public List<Decision> walk(Set<Strategy> strategies, TimeSeries series,EnumSplitter enumSplitter, AnalysisCriterion criterion) { LOG.info("Running strategies " + strategies); List<Decision> decisions = new LinkedList<Decision>(); ! List<ConstrainedTimeSeries> constrainedSeries = enumSplitter.split(series); ! ! Decision lastDecision = evaluator.evaluate(strategies, constrainedSeries.get(0), criterion); LOG.info("First best decision calculated: " + lastDecision); ! for (int i = 1; i < constrainedSeries.size(); i++) { ! TimeSeries currentSeries = constrainedSeries.get(i); decisions.add(lastDecision.applyFor(currentSeries)); lastDecision = evaluator.evaluate(strategies, currentSeries, criterion); --- 25,39 ---- } ! public List<Decision> walk(Set<Strategy> strategies, SplittedTimeSeries splittedSeries, AnalysisCriterion criterion) { LOG.info("Running strategies " + strategies); List<Decision> decisions = new LinkedList<Decision>(); ! Decision lastDecision = evaluator.evaluate(strategies, splittedSeries.getSlice(0), criterion); ! LOG.info("First best decision calculated: " + lastDecision); ! for (int i = 1; i < splittedSeries.getSlices(); i++) { ! TimeSeries currentSeries = splittedSeries.getSlice(i); decisions.add(lastDecision.applyFor(currentSeries)); lastDecision = evaluator.evaluate(strategies, currentSeries, criterion); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:44
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/test/net/sf/tail/analysis Modified Files: SplittedTimeSeriesTest.java Log Message: refatoração de código e conserto de alguns testes Index: SplittedTimeSeriesTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/SplittedTimeSeriesTest.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** SplittedTimeSeriesTest.java 4 Aug 2007 13:51:35 -0000 1.12 --- SplittedTimeSeriesTest.java 4 Aug 2007 17:07:15 -0000 1.13 *************** *** 20,27 **** } - private static DateTime time(int hour, int minute, int second) { - return new DateTime(1979, 10, 31, hour, minute, second, 0); - } - @Test public void testSplitByYearOneDatePerYear() { --- 20,23 ---- *************** *** 46,52 **** } - - - @Test public void testSplitByYear() { --- 42,45 ---- *************** *** 84,88 **** date.withDate(2000,1,1), date.withDate(2000,2,1), date.withDate(2000,3,1), date.withDate(2001,1,1), date.withDate(2001,2,1), date.withDate(2001,12,12), ! date.withDate(2002,1,1), date.withDate(2002,2,1), date.withDate(2002,3,1), date.withDate(2000,5,1), date.withDate(2003,3,1) ); --- 77,81 ---- date.withDate(2000,1,1), date.withDate(2000,2,1), date.withDate(2000,3,1), date.withDate(2001,1,1), date.withDate(2001,2,1), date.withDate(2001,12,12), ! date.withDate(2002,1,1), date.withDate(2002,2,1), date.withDate(2002,3,1), date.withDate(2002,5,1), date.withDate(2003,3,1) ); *************** *** 198,205 **** } - - - - @Test public void testSplitByHour() { --- 191,194 ---- *************** *** 215,226 **** openTime.plusHours(10).plusMinutes(5), openTime.plusHours(10).plusMinutes(10), openTime.plusHours(10).plusMinutes(20), openTime.plusHours(10).plusMinutes(30) ); - - // series = new SampleTimeSeries( time(10, 1, 0), time(10, 1, 1), - // time(10, 1, 2), time(10, 1, 59), time(10, 2, 15), time(10, 10, 5), time(11, 10, 14), time(12, 15, 20), - // time(17, 1, 3), time(20, 10, 5), time(20, 10, 30), time(20, 10, 40), time(20, 10, 50) ); - SplittedTimeSeries split = new SplittedTimeSeries(series, period); ! //assertEquals(5, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); --- 204,210 ---- openTime.plusHours(10).plusMinutes(5), openTime.plusHours(10).plusMinutes(10), openTime.plusHours(10).plusMinutes(20), openTime.plusHours(10).plusMinutes(30) ); SplittedTimeSeries split = new SplittedTimeSeries(series, period); ! assertEquals(5, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); *************** *** 237,245 **** assertEquals(9, split.getSlice(4).getBegin()); ! assertEquals(10, split.getSlice(4).getEnd()); - //this.intradaySeries = new SampleTimeSeries(new DateTime[] { time(10, 1, 0), time(10, 1, 0), - //time(10, 1, 1), time(10, 1, 59), time(10, 2, 15), time(10, 10, 5), time(11, 10, 14), time(12, 15, 20), - //time(15, 1, 3), time(16, 10, 5), time(16, 10, 30) }); } } --- 221,226 ---- assertEquals(9, split.getSlice(4).getBegin()); ! assertEquals(12, split.getSlice(4).getEnd()); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:17
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/java/net/sf/tail/analysis Modified Files: SplittedTimeSeries.java Log Message: refatoração de código e conserto de alguns testes Index: SplittedTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/SplittedTimeSeries.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SplittedTimeSeries.java 4 Aug 2007 13:51:35 -0000 1.11 --- SplittedTimeSeries.java 4 Aug 2007 17:07:19 -0000 1.12 *************** *** 18,22 **** private Period period; ! private List<TimeSeries> splitted; private DateTime periodBegin; --- 18,22 ---- private Period period; ! private List<TimeSeries> splittedSeries; private DateTime periodBegin; *************** *** 25,28 **** --- 25,29 ---- public SplittedTimeSeries(TimeSeries series, Period period, DateTime begin) { + splittedSeries = new ArrayList<TimeSeries>(); this.series = series; this.period = period; *************** *** 37,41 **** private void split() { LOG.debug(String.format("Spliting %s ", series)); - splitted = new ArrayList<TimeSeries>(); DateTime begin = periodBegin; --- 38,41 ---- *************** *** 43,70 **** Interval interval = new Interval(begin, end); ! int i = series.getBegin(); ! while (series.getTick(i).getDate().isBefore(begin)) ! i++; ! int sliceBeginIndex = i; - for (i = series.getBegin(); i <= series.getEnd(); i++) { - DateTime candidate = series.getTick(i).getDate(); ! while (!interval.isBefore(series.getTick(i).getDate())) { ! i++; ! } ! ! LOG.debug(String.format("Interval %s before %s ", interval, candidate)); ! ! if(!interval.isBefore(series.getTick(i-1).getDate())){ ! createSlice(sliceBeginIndex, i - 1); ! sliceBeginIndex = i; } ! begin = end; ! end = begin.plus(period); ! interval = new Interval(begin, end); } createSlice(sliceBeginIndex, series.getEnd()); --- 43,77 ---- Interval interval = new Interval(begin, end); + int sliceBeginIndex = 0; + int index = 0; ! while(series.getTick(index).getDate().isBefore( interval.getStart()) ) ! index++; ! sliceBeginIndex = index; ! while (index <= series.getEnd()) { ! ! if(interval.contains(series.getTick(index).getDate())){ ! index++; } ! else if(end.plus(period).isAfter(series.getTick(index).getDate())) ! { ! createSlice(sliceBeginIndex, index - 1); ! ! LOG.debug(String.format("Interval %s before %s ", interval, series.getTick(index).getDate())); ! ! sliceBeginIndex = index; + begin = end; + end = begin.plus(period); + interval = new Interval(begin, end); + index++; + }else{ + begin = end; + end = begin.plus(period); + interval = new Interval(begin, end); + } } createSlice(sliceBeginIndex, series.getEnd()); *************** *** 76,80 **** .getDate())); ConstrainedTimeSeries slice = new ConstrainedTimeSeries(series, begin, end); ! splitted.add(slice); } --- 83,87 ---- .getDate())); ConstrainedTimeSeries slice = new ConstrainedTimeSeries(series, begin, end); ! splittedSeries.add(slice); } *************** *** 87,96 **** throw new IllegalArgumentException(); } ! return new ConstrainedTimeSeries(series, splitted.get(position).getBegin(), splitted.get( ! Math.min( position + numberOfPeriodsOfTheSlice - 1, splitted.size() - 1) ).getEnd()); } public int getSlices() { ! return splitted.size(); } } --- 94,103 ---- throw new IllegalArgumentException(); } ! return new ConstrainedTimeSeries(series, splittedSeries.get(position).getBegin(), splittedSeries.get( ! Math.min( position + numberOfPeriodsOfTheSlice - 1, splittedSeries.size() - 1) ).getEnd()); } public int getSlices() { ! return splittedSeries.size(); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:17
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/splitter In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/test/net/sf/tail/analysis/splitter Removed Files: EnumSplitterTest.java Log Message: refatoração de código e conserto de alguns testes --- EnumSplitterTest.java DELETED --- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:16
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/walk In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/test/net/sf/tail/analysis/walk Modified Files: WalkForwardTest.java Log Message: refatoração de código e conserto de alguns testes Index: WalkForwardTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/walk/WalkForwardTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** WalkForwardTest.java 4 Aug 2007 02:34:18 -0000 1.5 --- WalkForwardTest.java 4 Aug 2007 17:07:16 -0000 1.6 *************** *** 14,24 **** import net.sf.tail.TimeSeries; import net.sf.tail.Walker; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.BestStrategyEvaluator; import net.sf.tail.analysis.evaluator.Decision; - import net.sf.tail.analysis.splitter.EnumSplitter; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.strategy.FakeStrategy; import org.junit.Before; import org.junit.Test; --- 14,26 ---- import net.sf.tail.TimeSeries; import net.sf.tail.Walker; + import net.sf.tail.analysis.SplittedTimeSeries; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.BestStrategyEvaluator; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.strategy.FakeStrategy; + import org.joda.time.DateTime; + import org.joda.time.Period; import org.junit.Before; import org.junit.Test; *************** *** 39,45 **** { 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(); --- 41,53 ---- { double[] data = new double[] {5d, 1d, 8d, 3d, 12d, 20d, 4d, 3d, 30d, 20d, 15d, 32d, 18d, 15d }; + + DateTime date = new DateTime(0); + DateTime[] dates = new DateTime[] { + date.withYear(2000),date.withYear(2000),date.withYear(2000),date.withYear(2000),date.withYear(2000), + date.withYear(2001),date.withYear(2001),date.withYear(2001),date.withYear(2001),date.withYear(2001), + date.withYear(2002),date.withYear(2002),date.withYear(2002),date.withYear(2002)}; this.strategies = new HashSet<Strategy>(); this.criteria = new TotalProfitCriterion(); ! this.series = new SampleTimeSeries(data,dates); this.evaluator = new BestStrategyEvaluator(); *************** *** 116,120 **** { Walker walk = new WalkForward(evaluator); ! List<Decision> values = walk.walk(strategies, series, EnumSplitter.BY_YEAR_MEMORIZED/*5*/, criteria); assertEquals(20d/30, values.get(0).evaluateCriterion()); assertEquals(15d/32, values.get(1).evaluateCriterion()); --- 124,131 ---- { Walker walk = new WalkForward(evaluator); ! Period period = new Period().withYears(1); ! SplittedTimeSeries splittedSeries = new SplittedTimeSeries(series,period); ! ! List<Decision> values = walk.walk(strategies, splittedSeries, criteria); assertEquals(20d/30, values.get(0).evaluateCriterion()); assertEquals(15d/32, values.get(1).evaluateCriterion()); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 17:07:15
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/splitter In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23296/src/java/net/sf/tail/analysis/splitter Removed Files: EnumSplitter.java Log Message: refatoração de código e conserto de alguns testes --- EnumSplitter.java DELETED --- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 13:51:36
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7147/src/java/net/sf/tail/analysis Modified Files: SplittedTimeSeries.java Log Message: refatorando teste Index: SplittedTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/SplittedTimeSeries.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SplittedTimeSeries.java 4 Aug 2007 02:34:19 -0000 1.10 --- SplittedTimeSeries.java 4 Aug 2007 13:51:35 -0000 1.11 *************** *** 57,65 **** } ! LOG.debug(String.format("Inteval %s before %s ", interval, candidate)); ! createSlice(sliceBeginIndex, i - 1); ! sliceBeginIndex = i; ! begin = end; end = begin.plus(period); --- 57,66 ---- } ! LOG.debug(String.format("Interval %s before %s ", interval, candidate)); ! if(!interval.isBefore(series.getTick(i-1).getDate())){ ! createSlice(sliceBeginIndex, i - 1); ! sliceBeginIndex = i; ! } begin = end; end = begin.plus(period); *************** *** 87,91 **** } return new ConstrainedTimeSeries(series, splitted.get(position).getBegin(), splitted.get( ! position + numberOfPeriodsOfTheSlice - 1).getEnd()); } --- 88,92 ---- } return new ConstrainedTimeSeries(series, splitted.get(position).getBegin(), splitted.get( ! Math.min( position + numberOfPeriodsOfTheSlice - 1, splitted.size() - 1) ).getEnd()); } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 13:51:36
|
Update of /cvsroot/tail/Tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7147 Modified Files: .classpath Log Message: refatorando teste Index: .classpath =================================================================== RCS file: /cvsroot/tail/Tail/.classpath,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** .classpath 2 Aug 2007 15:44:46 -0000 1.10 --- .classpath 4 Aug 2007 13:51:35 -0000 1.11 *************** *** 12,16 **** <classpathentry kind="lib" path="lib/xstream-1.2.2.jar"/> <classpathentry kind="lib" path="lib/freemarker.jar"/> ! <classpathentry kind="lib" path="lib/joda-time-1.4.jar"/> <classpathentry kind="output" path="bin"/> </classpath> --- 12,16 ---- <classpathentry kind="lib" path="lib/xstream-1.2.2.jar"/> <classpathentry kind="lib" path="lib/freemarker.jar"/> ! <classpathentry kind="lib" path="lib/joda-time-1.4.jar" sourcepath="lib/joda-time-1.4-src-ide.zip"/> <classpathentry kind="output" path="bin"/> </classpath> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 13:51:35
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7147/src/test/net/sf/tail/analysis Modified Files: SplittedTimeSeriesTest.java Log Message: refatorando teste Index: SplittedTimeSeriesTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/SplittedTimeSeriesTest.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SplittedTimeSeriesTest.java 4 Aug 2007 02:34:19 -0000 1.11 --- SplittedTimeSeriesTest.java 4 Aug 2007 13:51:35 -0000 1.12 *************** *** 11,47 **** public class SplittedTimeSeriesTest { ! private SampleTimeSeries yearSeries; ! ! private SampleTimeSeries yearSeriesBeginingInJuly; ! ! private SampleTimeSeries intradaySeries; ! ! private SampleTimeSeries yearSeriesWithHole; ! private SampleTimeSeries oneDatePerYearSeries; @Before public void setUp() throws Exception { ! this.oneDatePerYearSeries = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2001, 2, 1), dt(2002, 3, 15), ! dt(2003, 1, 1), dt(2004, 1, 3) }); ! this.yearSeries = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), ! dt(2001, 1, 1), dt(2001, 1, 3), dt(2001, 12, 31), dt(2002, 1, 1), dt(2002, 1, 2), dt(2002, 1, 3), ! dt(2002, 5, 5), dt(2003, 3, 3) }); ! this.yearSeriesWithHole = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), ! dt(2001, 1, 1), dt(2001, 1, 3), dt(2001, 12, 31), dt(2002, 1, 1), dt(2002, 1, 2), dt(2002, 1, 3), ! dt(2002, 5, 5), dt(2005, 3, 3), dt(2005, 3, 4) }); ! this.yearSeriesBeginingInJuly = new SampleTimeSeries(new DateTime[] { dt(2000, 7, 1), dt(2000, 8, 1), ! dt(2000, 9, 15), dt(2001, 1, 1), dt(2001, 1, 3), dt(2001, 12, 31), dt(2002, 1, 1), dt(2002, 1, 2), ! dt(2002, 1, 3), dt(2002, 5, 5), dt(2003, 3, 3) }); ! this.intradaySeries = new SampleTimeSeries(new DateTime[] { time(10, 1, 0), time(10, 1, 1), ! time(10, 1, 2), time(10, 1, 59), time(10, 2, 15), time(10, 10, 5), time(11, 10, 14), time(12, 15, 20), ! time(17, 1, 3), time(20, 10, 5), time(20, 10, 30), time(20, 10, 40), time(20, 10, 50) }); ! } ! ! private static DateTime dt(int year, int month, int day) { ! return new DateTime(year, month, day, 0, 0, 0, 0); } - private static DateTime time(int hour, int minute, int second) { return new DateTime(1979, 10, 31, hour, minute, second, 0); --- 11,23 ---- public class SplittedTimeSeriesTest { ! private SampleTimeSeries series; ! private DateTime date; @Before public void setUp() throws Exception { ! this.date = new DateTime(0); } private static DateTime time(int hour, int minute, int second) { return new DateTime(1979, 10, 31, hour, minute, second, 0); *************** *** 50,56 **** @Test public void testSplitByYearOneDatePerYear() { Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(this.oneDatePerYearSeries, period); assertEquals(5, split.getSlices()); --- 26,34 ---- @Test public void testSplitByYearOneDatePerYear() { + + series = new SampleTimeSeries(date.withYear(2000),date.withYear(2001), date.withYear(2002),date.withYear(2003), date.withYear(2004)); Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period); assertEquals(5, split.getSlices()); *************** *** 69,79 **** ! @Test public void testSplitByYear() { Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period); assertEquals(4, split.getSlices()); --- 47,63 ---- ! @Test public void testSplitByYear() { + + series = new SampleTimeSeries( date.withYear(2000), date.withYear(2000), date.withYear(2000), + date.withYear(2001), date.withYear(2001), date.withYear(2001), + date.withYear(2002), date.withYear(2002), date.withYear(2002),date.withYear(2002), + date.withYear(2003) ); + Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period); assertEquals(4, split.getSlices()); *************** *** 97,105 **** Period period = new Period().withYears(1); ! this.yearSeries = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), ! dt(2001, 1, 1), dt(2001, 1, 3), dt(2001, 12, 31), dt(2002, 1, 1), dt(2002, 1, 2), dt(2002, 1, 3), ! dt(2002, 5, 5), dt(2003, 3, 3) }); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period, dt(2000, 7, 1)); assertEquals(3, split.getSlices()); --- 81,91 ---- Period period = new Period().withYears(1); ! series = new SampleTimeSeries( ! date.withDate(2000,1,1), date.withDate(2000,2,1), date.withDate(2000,3,1), ! date.withDate(2001,1,1), date.withDate(2001,2,1), date.withDate(2001,12,12), ! date.withDate(2002,1,1), date.withDate(2002,2,1), date.withDate(2002,3,1), date.withDate(2000,5,1), ! date.withDate(2003,3,1) ); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period, date.withYear(2000).withMonthOfYear(7)); assertEquals(3, split.getSlices()); *************** *** 115,133 **** } - - public static void main(String[] args) throws Exception { - SplittedTimeSeriesTest x = new SplittedTimeSeriesTest(); - x.setUp(); - x.testSplitByYearOneDatePerYear(); - } @Test public void testSplitByYearWithHolesBetweenSlices() { ! ! //this.yearSeriesWithHole = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), ! // dt(2001, 1, 1), dt(2001, 1, 3), dt(2001, 12, 31), dt(2002, 1, 1), dt(2002, 1, 2), dt(2002, 1, 3), ! // dt(2002, 5, 5), dt(2005, 3, 3), dt(2005, 3, 4) }); ! Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesWithHole, period); assertEquals(4, split.getSlices()); --- 101,114 ---- } @Test public void testSplitByYearWithHolesBetweenSlices() { ! ! series = new SampleTimeSeries(date.withYear(2000), date.withYear(2000), date.withYear(2000), ! date.withYear(2001), date.withYear(2001), date.withYear(2001), ! date.withYear(2002), date.withYear(2002), date.withYear(2002), date.withYear(2002), ! date.withYear(2005), date.withYear(2005)); ! Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period); assertEquals(4, split.getSlices()); *************** *** 144,154 **** assertEquals(10, split.getSlice(3).getBegin()); assertEquals(11, split.getSlice(3).getEnd()); } @Test public void testSplitByYearWithBiggerSlices() { Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period); assertEquals(4, split.getSlices()); --- 125,141 ---- assertEquals(10, split.getSlice(3).getBegin()); assertEquals(11, split.getSlice(3).getEnd()); + } @Test public void testSplitByYearWithBiggerSlices() { + + series = new SampleTimeSeries( date.withDate(2000, 1, 1), date.withDate(2000, 2, 1), date.withDate(2000, 3, 15), + date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), date.withDate(2001, 12, 31), + date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), + date.withDate(2003, 3, 3) ); Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period); assertEquals(4, split.getSlices()); *************** *** 168,172 **** Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesBeginingInJuly, period); assertEquals(3, split.getSlices()); --- 155,163 ---- Period period = new Period().withYears(1); ! series = new SampleTimeSeries( ! date.withDate(2000, 7, 1), date.withDate(2000, 8, 1),date.withDate(2000, 9, 15), date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), ! date.withDate(2001, 12, 31), date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), ! date.withDate(2003, 3, 3) ); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period); assertEquals(3, split.getSlices()); *************** *** 186,190 **** Period period = new Period().withYears(1); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesBeginingInJuly, period, dt(2000, 1, 1)); assertEquals(4, split.getSlices()); --- 177,185 ---- Period period = new Period().withYears(1); ! series = new SampleTimeSeries( ! date.withDate(2000, 7, 1), date.withDate(2000, 8, 1),date.withDate(2000, 9, 15), date.withDate(2001, 1, 1), date.withDate(2001, 1, 3), ! date.withDate(2001, 12, 31), date.withDate(2002, 1, 1), date.withDate(2002, 1, 2), date.withDate(2002, 1, 3), date.withDate(2002, 5, 5), ! date.withDate(2003, 3, 3) ); ! SplittedTimeSeries split = new SplittedTimeSeries(series, period, date.withDate(2000, 1, 1)); assertEquals(4, split.getSlices()); *************** *** 203,217 **** } ! ! ! ! @Test public void testSplitByHour() { Period period = new Period().withHours(1); ! SplittedTimeSeries split = new SplittedTimeSeries(this.intradaySeries, period); ! assertEquals(5, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); --- 198,226 ---- } ! ! ! ! @Test public void testSplitByHour() { Period period = new Period().withHours(1); + + DateTime openTime = new DateTime(0).withTime(10, 0, 0, 0); ! series = new SampleTimeSeries( ! openTime, openTime.plusMinutes(1) , openTime.plusMinutes(2), openTime.plusMinutes(10), openTime.plusMinutes(15), openTime.plusMinutes(25), ! openTime.plusHours(1), ! openTime.plusHours(2), ! openTime.plusHours(7), ! openTime.plusHours(10).plusMinutes(5), openTime.plusHours(10).plusMinutes(10), openTime.plusHours(10).plusMinutes(20), openTime.plusHours(10).plusMinutes(30) ); ! ! ! // series = new SampleTimeSeries( time(10, 1, 0), time(10, 1, 1), ! // time(10, 1, 2), time(10, 1, 59), time(10, 2, 15), time(10, 10, 5), time(11, 10, 14), time(12, 15, 20), ! // time(17, 1, 3), time(20, 10, 5), time(20, 10, 30), time(20, 10, 40), time(20, 10, 50) ); ! ! SplittedTimeSeries split = new SplittedTimeSeries(series, period); ! //assertEquals(5, split.getSlices()); assertEquals(0, split.getSlice(0).getBegin()); *************** *** 231,236 **** //this.intradaySeries = new SampleTimeSeries(new DateTime[] { time(10, 1, 0), time(10, 1, 0), ! //time(10, 1, 1), time(10, 1, 59), time(10, 2, 15), time(10, 10, 5), time(11, 10, 14), time(12, 15, 20), ! //time(15, 1, 3), time(16, 10, 5), time(16, 10, 30) }); } } --- 240,245 ---- //this.intradaySeries = new SampleTimeSeries(new DateTime[] { time(10, 1, 0), time(10, 1, 0), ! //time(10, 1, 1), time(10, 1, 59), time(10, 2, 15), time(10, 10, 5), time(11, 10, 14), time(12, 15, 20), ! //time(15, 1, 3), time(16, 10, 5), time(16, 10, 30) }); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:27
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/reader In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/java/net/sf/tail/reader Modified Files: CedroTimeSeriesLoader.java Log Message: mega merge erefatoração de código e correção de testes Index: CedroTimeSeriesLoader.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/reader/CedroTimeSeriesLoader.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CedroTimeSeriesLoader.java 2 Aug 2007 15:44:47 -0000 1.10 --- CedroTimeSeriesLoader.java 4 Aug 2007 02:34:19 -0000 1.11 *************** *** 4,12 **** import java.io.InputStream; import java.nio.charset.Charset; - import java.text.ParseException; - import java.text.SimpleDateFormat; import java.util.ArrayList; - import java.util.Calendar; - import java.util.Date; import java.util.List; --- 4,8 ---- *************** *** 18,21 **** --- 14,19 ---- import org.apache.log4j.Logger; import org.joda.time.DateTime; + import org.joda.time.format.DateTimeFormat; + import org.joda.time.format.DateTimeFormatter; import com.csvreader.CsvReader; *************** *** 33,53 **** while (reader.readRecord()) { ! SimpleDateFormat simpleDate; if (reader.get(0).length() > 10) ! simpleDate = new SimpleDateFormat("dd/M/yyyy HH:mm:ss"); else ! simpleDate = new SimpleDateFormat("dd/M/yyyy"); ! ! Date date = null; ! try { ! date = simpleDate.parse(reader.get(0)); ! } catch (ParseException e) { ! throw new RuntimeException(e); ! } ! Calendar calendar = Calendar.getInstance(); ! calendar.setTime(date); double open = java.lang.Double.parseDouble(reader.get(1)); --- 31,44 ---- while (reader.readRecord()) { ! DateTimeFormatter dateTimeFormart; if (reader.get(0).length() > 10) ! dateTimeFormart = DateTimeFormat.forPattern("dd/M/yyyy HH:mm:ss"); else ! dateTimeFormart = DateTimeFormat.forPattern("dd/M/yyyy"); ! DateTime date = null; ! date = dateTimeFormart.parseDateTime(reader.get(0)); double open = java.lang.Double.parseDouble(reader.get(1)); *************** *** 61,65 **** double quantity = java.lang.Double.parseDouble(reader.get(9)); ! Tick tick = new Tick(new DateTime(calendar), open, close, high, low, change, previous, volumeAmount, volumeFinancier, (int) quantity); ticks.add(0, tick); --- 52,56 ---- double quantity = java.lang.Double.parseDouble(reader.get(9)); ! Tick tick = new Tick(date, open, close, high, low, change, previous, volumeAmount, volumeFinancier, (int) quantity); ticks.add(0, tick); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:27
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/cache In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/indicator/cache Modified Files: CachedIndicatorTest.java Log Message: mega merge erefatoração de código e correção de testes Index: CachedIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/cache/CachedIndicatorTest.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CachedIndicatorTest.java 2 Aug 2007 18:32:54 -0000 1.8 --- CachedIndicatorTest.java 4 Aug 2007 02:34:19 -0000 1.9 *************** *** 56,65 **** cache.getValue(13); } - @Test ! public void testGetName() { SMAIndicator quoteSMA = new SMAIndicator(new ClosePriceIndicator(data), 3); CachedIndicator cache = new CachedIndicator(quoteSMA); assertEquals("SMAIndicator timeFrame: 3", cache.getName()); } } --- 56,66 ---- cache.getValue(13); } @Test ! public void testGetName() ! { SMAIndicator quoteSMA = new SMAIndicator(new ClosePriceIndicator(data), 3); CachedIndicator cache = new CachedIndicator(quoteSMA); assertEquals("SMAIndicator timeFrame: 3", cache.getName()); + } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:26
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/java/net/sf/tail/analysis Modified Files: SplittedTimeSeries.java Log Message: mega merge erefatoração de código e correção de testes Index: SplittedTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/SplittedTimeSeries.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** SplittedTimeSeries.java 3 Aug 2007 23:15:55 -0000 1.9 --- SplittedTimeSeries.java 4 Aug 2007 02:34:19 -0000 1.10 *************** *** 32,36 **** public SplittedTimeSeries(TimeSeries series, Period period) { ! this(series, period, series.getTick(0).getTime()); } --- 32,36 ---- public SplittedTimeSeries(TimeSeries series, Period period) { ! this(series, period, series.getTick(0).getDate()); } *************** *** 45,49 **** int i = series.getBegin(); ! while (series.getTick(i).getTime().isBefore(begin)) i++; --- 45,49 ---- int i = series.getBegin(); ! while (series.getTick(i).getDate().isBefore(begin)) i++; *************** *** 51,61 **** for (i = series.getBegin(); i <= series.getEnd(); i++) { ! DateTime candidate = series.getTick(i).getTime(); ! while (!interval.isBefore(series.getTick(i).getTime())) { i++; } LOG.debug(String.format("Inteval %s before %s ", interval, candidate)); createSlice(sliceBeginIndex, i - 1); sliceBeginIndex = i; --- 51,62 ---- for (i = series.getBegin(); i <= series.getEnd(); i++) { ! DateTime candidate = series.getTick(i).getDate(); ! while (!interval.isBefore(series.getTick(i).getDate())) { i++; } LOG.debug(String.format("Inteval %s before %s ", interval, candidate)); + createSlice(sliceBeginIndex, i - 1); sliceBeginIndex = i; *************** *** 71,76 **** private void createSlice(int begin, int end) { LOG.debug(String.format("New series from %d to %d ", begin, end)); ! LOG.debug(String.format("New series from %s to %s ", series.getTick(begin).getTime(), series.getTick(end) ! .getTime())); ConstrainedTimeSeries slice = new ConstrainedTimeSeries(series, begin, end); splitted.add(slice); --- 72,77 ---- private void createSlice(int begin, int end) { LOG.debug(String.format("New series from %d to %d ", begin, end)); ! LOG.debug(String.format("New series from %s to %s ", series.getTick(begin).getDate(), series.getTick(end) ! .getDate())); ConstrainedTimeSeries slice = new ConstrainedTimeSeries(series, begin, end); splitted.add(slice); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:22
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/analysis Modified Files: SplittedTimeSeriesTest.java Log Message: mega merge erefatoração de código e correção de testes Index: SplittedTimeSeriesTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/SplittedTimeSeriesTest.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SplittedTimeSeriesTest.java 3 Aug 2007 23:15:55 -0000 1.10 --- SplittedTimeSeriesTest.java 4 Aug 2007 02:34:19 -0000 1.11 *************** *** 6,10 **** import org.joda.time.DateTime; import org.joda.time.Period; - import org.joda.time.PeriodType; import org.junit.Before; import org.junit.Test; --- 6,9 ---- *************** *** 51,56 **** @Test public void testSplitByYearOneDatePerYear() { ! // TODO: como criar um periodo de um ano de maneira mais bonita? ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); SplittedTimeSeries split = new SplittedTimeSeries(this.oneDatePerYearSeries, period); --- 50,54 ---- @Test public void testSplitByYearOneDatePerYear() { ! Period period = new Period().withYears(1); SplittedTimeSeries split = new SplittedTimeSeries(this.oneDatePerYearSeries, period); *************** *** 75,80 **** @Test public void testSplitByYear() { ! // TODO: como criar um periodo de um ano de maneira mais bonita? ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period); --- 73,77 ---- @Test public void testSplitByYear() { ! Period period = new Period().withYears(1); SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period); *************** *** 98,103 **** @Test public void testSplitByYearForcingJuly() { ! // TODO: como criar um periodo de um ano de maneira mais bonita? ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); this.yearSeries = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), --- 95,99 ---- @Test public void testSplitByYearForcingJuly() { ! Period period = new Period().withYears(1); this.yearSeries = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), *************** *** 127,135 **** @Test public void testSplitByYearWithHolesBetweenSlices() { - // TODO: como criar um periodo de um ano de maneira mais bonita? ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); ! SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesWithHole, period); --- 123,132 ---- @Test public void testSplitByYearWithHolesBetweenSlices() { + //this.yearSeriesWithHole = new SampleTimeSeries(new DateTime[] { dt(2000, 1, 1), dt(2000, 2, 1), dt(2000, 3, 15), + // dt(2001, 1, 1), dt(2001, 1, 3), dt(2001, 12, 31), dt(2002, 1, 1), dt(2002, 1, 2), dt(2002, 1, 3), + // dt(2002, 5, 5), dt(2005, 3, 3), dt(2005, 3, 4) }); ! Period period = new Period().withYears(1); SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesWithHole, period); *************** *** 151,155 **** @Test public void testSplitByYearWithBiggerSlices() { ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period); --- 148,152 ---- @Test public void testSplitByYearWithBiggerSlices() { ! Period period = new Period().withYears(1); SplittedTimeSeries split = new SplittedTimeSeries(yearSeries, period); *************** *** 169,173 **** @Test public void testSplitByYearBeginningInJuly() { ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesBeginingInJuly, period); --- 166,170 ---- @Test public void testSplitByYearBeginningInJuly() { ! Period period = new Period().withYears(1); SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesBeginingInJuly, period); *************** *** 187,192 **** @Test public void testSplitByYearBeginingInJulyOverridingPeriodBeginTo1of1of2000() { ! // TODO: como criar um periodo de um ano de maneira mais bonita? ! Period period = new Period(367l * 24 * 60 * 60 * 1000, PeriodType.years()); SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesBeginingInJuly, period, dt(2000, 1, 1)); --- 184,188 ---- @Test public void testSplitByYearBeginingInJulyOverridingPeriodBeginTo1of1of2000() { ! Period period = new Period().withYears(1); SplittedTimeSeries split = new SplittedTimeSeries(yearSeriesBeginingInJuly, period, dt(2000, 1, 1)); *************** *** 213,218 **** @Test public void testSplitByHour() { ! // TODO: como criar um periodo de um ano de maneira mais bonita? ! Period period = new Period(60 * 60 * 1000, PeriodType.hours()); SplittedTimeSeries split = new SplittedTimeSeries(this.intradaySeries, period); --- 209,213 ---- @Test public void testSplitByHour() { ! Period period = new Period().withHours(1); SplittedTimeSeries split = new SplittedTimeSeries(this.intradaySeries, period); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:22
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/splitter In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/java/net/sf/tail/analysis/splitter Added Files: EnumSplitter.java Log Message: mega merge erefatoração de código e correção de testes --- NEW FILE: EnumSplitter.java --- package net.sf.tail.analysis.splitter; import java.util.ArrayList; import java.util.List; import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.TimeSeries; public enum EnumSplitter { BY_YEAR_MEMORIZED() { public List<ConstrainedTimeSeries> split(TimeSeries series) { List<ConstrainedTimeSeries> constrainedSeries = new ArrayList<ConstrainedTimeSeries>(); int lastYear = series.getTick(0).getDate().getYear(); for (int i = 1; i < series.getSize(); i++) { if (lastYear != series.getTick(i).getDate().getYear()) { lastYear = series.getTick(i).getDate().getYear(); ConstrainedTimeSeries constrainedTimeSerie = new ConstrainedTimeSeries(series, 0, i-1); constrainedSeries.add(constrainedTimeSerie); } } constrainedSeries.add(new ConstrainedTimeSeries(series, 0, series.getSize()-1)); return constrainedSeries; } }, // TODO Fazer BY_SEMESTER_MEMORIZED() { //TODO Fazer public List<ConstrainedTimeSeries> split(TimeSeries series) { // List<ConstrainedTimeSeries> constrainedSeries = new ArrayList<ConstrainedTimeSeries>(); // // int month = series.getTick(0).getDate().getMonthOfYear(); // // for (int i = 1; i < series.getSize(); i++) { // if (month <= series.getTick(i).getDate().getMonthOfYear() - 6 ) { // month = series.getTick(i).getDate().getMonthOfYear(); // ConstrainedTimeSeries constrainedTimeSerie = new ConstrainedTimeSeries(series, 0, Math.min(i, // series.getSize())); // constrainedSeries.add(constrainedTimeSerie); // } // } // constrainedSeries.add(new ConstrainedTimeSeries(series, 0, series.getSize())); // return constrainedSeries; return null; } }, BY_YEAR_REGULAR() { public List<ConstrainedTimeSeries> split(TimeSeries series) { List<ConstrainedTimeSeries> constrainedSeries = new ArrayList<ConstrainedTimeSeries>(); int lastYear = series.getTick(0).getDate().getYear(); int beginIndex =0; for (int i = 1; i < series.getSize(); i++) { if (lastYear != series.getTick(i).getDate().getYear()) { lastYear = series.getTick(i).getDate().getYear(); ConstrainedTimeSeries constrainedTimeSerie = new ConstrainedTimeSeries(series,beginIndex, i - beginIndex); constrainedSeries.add(constrainedTimeSerie); beginIndex = i; } } constrainedSeries.add(new ConstrainedTimeSeries(series, beginIndex, series.getSize() - beginIndex)); return constrainedSeries; } }; public abstract List<ConstrainedTimeSeries> split(TimeSeries series); } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:22
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/walk In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/java/net/sf/tail/analysis/walk Modified Files: WalkForward.java Log Message: mega merge erefatoração de código e correção de testes Index: WalkForward.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/walk/WalkForward.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** WalkForward.java 2 Aug 2007 23:40:25 -0000 1.12 --- WalkForward.java 4 Aug 2007 02:34:19 -0000 1.13 *************** *** 8,16 **** import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.Evaluator; - import net.sf.tail.Splitter; import net.sf.tail.Strategy; import net.sf.tail.TimeSeries; import net.sf.tail.Walker; import net.sf.tail.analysis.evaluator.Decision; import org.apache.log4j.Logger; --- 8,16 ---- import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.Evaluator; import net.sf.tail.Strategy; import net.sf.tail.TimeSeries; import net.sf.tail.Walker; import net.sf.tail.analysis.evaluator.Decision; + import net.sf.tail.analysis.splitter.EnumSplitter; import org.apache.log4j.Logger; *************** *** 26,36 **** } ! public List<Decision> walk(Set<Strategy> strategies, TimeSeries series, int interval, AnalysisCriterion criterion) { LOG.info("Running strategies " + strategies); List<Decision> decisions = new LinkedList<Decision>(); ! Splitter splitter = new RegularSplitter(); ! List<ConstrainedTimeSeries> constrainedSeries = splitter.split(series, interval); Decision lastDecision = evaluator.evaluate(strategies, constrainedSeries.get(0), criterion); --- 26,35 ---- } ! public List<Decision> walk(Set<Strategy> strategies, TimeSeries series,EnumSplitter enumSplitter, AnalysisCriterion criterion) { LOG.info("Running strategies " + strategies); List<Decision> decisions = new LinkedList<Decision>(); ! List<ConstrainedTimeSeries> constrainedSeries = enumSplitter.split(series); Decision lastDecision = evaluator.evaluate(strategies, constrainedSeries.get(0), criterion); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:20
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/java/net/sf/tail Modified Files: Walker.java Tick.java Log Message: mega merge erefatoração de código e correção de testes Index: Tick.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Tick.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Tick.java 2 Aug 2007 23:40:23 -0000 1.15 --- Tick.java 4 Aug 2007 02:34:18 -0000 1.16 *************** *** 12,16 **** public class Tick { ! private DateTime time; private double openPrice; --- 12,16 ---- public class Tick { ! private DateTime date; private double openPrice; *************** *** 36,44 **** this.closePrice = closePrice; } ! ! public Tick(DateTime data, double closePrice) { super(); this.closePrice = closePrice; ! this.time = data; } --- 36,44 ---- this.closePrice = closePrice; } ! ! public Tick(DateTime data,double closePrice) { super(); this.closePrice = closePrice; ! this.date = data; } *************** *** 46,50 **** double previousPrice, double amount, double volume, int trades) { super(); ! this.time = data; this.openPrice = openPrice; this.closePrice = closePrice; --- 46,50 ---- double previousPrice, double amount, double volume, int trades) { super(); ! this.date = data; this.openPrice = openPrice; this.closePrice = closePrice; *************** *** 59,62 **** --- 59,63 ---- public Tick(double openPrice, double closePrice, double maxPrice, double minPrice) { + super(); this.openPrice = openPrice; this.closePrice = closePrice; *************** *** 65,75 **** } ! public Tick(double closePrice, DateTime time) { ! this.closePrice = closePrice; ! this.time = time; ! } ! ! public Tick(DateTime time) { ! this.time = time; } --- 66,72 ---- } ! public Tick(double d, DateTime dateTime) { ! this.closePrice = d; ! this.date = dateTime; } *************** *** 103,107 **** Tick tick = (Tick) obj; return (variation == tick.getVariation()) && (closePrice == tick.getClosePrice()) ! && (time.equals(tick.getTime())) && (maxPrice == tick.getMaxPrice()) && (minPrice == tick.getMinPrice()) && (openPrice == tick.getOpenPrice()) && (previousPrice == getPreviousPrice()) && (trades == tick.getTrades()) --- 100,104 ---- Tick tick = (Tick) obj; return (variation == tick.getVariation()) && (closePrice == tick.getClosePrice()) ! && (date.equals(tick.getDate())) && (maxPrice == tick.getMaxPrice()) && (minPrice == tick.getMinPrice()) && (openPrice == tick.getOpenPrice()) && (previousPrice == getPreviousPrice()) && (trades == tick.getTrades()) *************** *** 113,117 **** @Override public int hashCode() { ! return 7 * time.hashCode(); } --- 110,114 ---- @Override public int hashCode() { ! return 7 * date.hashCode(); } *************** *** 128,138 **** } ! public DateTime getTime() { ! return time; } @Override public String toString() { ! return String.format("[time: %1$td/%1$tm/%1$tY %1$tH:%1$tM:%1$tS, close price: %2$f]", time .toGregorianCalendar(), closePrice); } --- 125,135 ---- } ! public DateTime getDate() { ! return date; } @Override public String toString() { ! return String.format("[time: %1$td/%1$tm/%1$tY %1$tH:%1$tM:%1$tS, close price: %2$f]", date .toGregorianCalendar(), closePrice); } Index: Walker.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Walker.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Walker.java 26 Jul 2007 21:43:50 -0000 1.4 --- Walker.java 4 Aug 2007 02:34:18 -0000 1.5 *************** *** 5,12 **** import net.sf.tail.analysis.evaluator.Decision; public interface Walker { ! List<Decision> walk(Set<Strategy> strategies, TimeSeries series, int interval, AnalysisCriterion criterion); } \ No newline at end of file --- 5,13 ---- import net.sf.tail.analysis.evaluator.Decision; + import net.sf.tail.analysis.splitter.EnumSplitter; public interface Walker { ! List<Decision> walk(Set<Strategy> strategies, TimeSeries series,EnumSplitter enumSplitter, AnalysisCriterion criterion) ; } \ No newline at end of file |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:20
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/sample In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/sample Modified Files: SampleTimeSeries.java SampleIndicator.java Log Message: mega merge erefatoração de código e correção de testes Index: SampleTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/sample/SampleTimeSeries.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SampleTimeSeries.java 2 Aug 2007 23:40:25 -0000 1.5 --- SampleTimeSeries.java 4 Aug 2007 02:34:18 -0000 1.6 *************** *** 2,13 **** import java.util.ArrayList; - import java.util.Calendar; import java.util.List; - import org.joda.time.DateTime; - import net.sf.tail.Tick; import net.sf.tail.TimeSeries; public class SampleTimeSeries implements TimeSeries { --- 2,12 ---- import java.util.ArrayList; import java.util.List; import net.sf.tail.Tick; import net.sf.tail.TimeSeries; + import org.joda.time.DateTime; + public class SampleTimeSeries implements TimeSeries { *************** *** 21,31 **** } - public SampleTimeSeries(DateTime[] times) { - ticks = new ArrayList<Tick>(); - for (int i = 0; i < times.length; i++) { - ticks.add(new Tick(times[i])); - } - } - public SampleTimeSeries(double[] data, DateTime[] times) { if(data.length != times.length) { --- 20,23 ---- *************** *** 38,46 **** } public SampleTimeSeries() { ticks = new ArrayList<Tick>(); for (double i = 0d; i < 10; i++) { ! Tick tick = new Tick(new DateTime(Calendar.getInstance()), i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, ! i + 7, (int) (i + 8)); ticks.add(tick); } --- 30,46 ---- } + public SampleTimeSeries(DateTime ... dates) { + ticks = new ArrayList<Tick>(); + int i = 0; + for (DateTime date : dates) { + ticks.add(new Tick(date,i++)); + } + } + public SampleTimeSeries() { ticks = new ArrayList<Tick>(); for (double i = 0d; i < 10; i++) { ! Tick tick = new Tick(new DateTime(), i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, i + 7, ! (int) (i + 8)); ticks.add(tick); } Index: SampleIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/sample/SampleIndicator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SampleIndicator.java 2 Aug 2007 15:44:46 -0000 1.3 --- SampleIndicator.java 4 Aug 2007 02:34:18 -0000 1.4 *************** *** 2,6 **** import java.util.ArrayList; - import java.util.Arrays; import java.util.List; --- 2,5 ---- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:20
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/report Modified Files: ReportGeneratorTest.java Log Message: mega merge erefatoração de código e correção de testes Index: ReportGeneratorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/ReportGeneratorTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ReportGeneratorTest.java 2 Aug 2007 05:56:09 -0000 1.1 --- ReportGeneratorTest.java 4 Aug 2007 02:34:18 -0000 1.2 *************** *** 1,5 **** package net.sf.tail.report; ! import static org.junit.Assert.*; import java.io.IOException; --- 1,5 ---- package net.sf.tail.report; ! import static org.junit.Assert.assertTrue; import java.io.IOException; |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/reader In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/reader Modified Files: CedroTimeSeriesLoaderTest.java Log Message: mega merge erefatoração de código e correção de testes Index: CedroTimeSeriesLoaderTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/reader/CedroTimeSeriesLoaderTest.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** CedroTimeSeriesLoaderTest.java 2 Aug 2007 17:21:01 -0000 1.14 --- CedroTimeSeriesLoaderTest.java 4 Aug 2007 02:34:18 -0000 1.15 *************** *** 4,8 **** import java.io.FileInputStream; - import java.util.Calendar; import junit.framework.JUnit4TestAdapter; --- 4,7 ---- *************** *** 19,24 **** --- 18,26 ---- private TimeSeries ts; + private DateTime date; + @Before public void setUp() throws Exception { + date = new DateTime(); ctsl = new CedroTimeSeriesLoader(); // TODO: isso deveria ser um InputStream harcoded, e nao um *************** *** 28,64 **** } - private Calendar getCalendar(int year, int month, int day) { - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.YEAR, year); - calendar.set(Calendar.MONTH, month - 1); - calendar.set(Calendar.DAY_OF_MONTH, day); - calendar.set(Calendar.HOUR_OF_DAY, 0); - - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - - return calendar; - } - - - @Test - public void testBeginAndEnd() throws Exception { - assertEquals(3, ts.getSize()); - } - @Test public void testLine3() throws Exception { ! Calendar timestamp = getCalendar(2007, 5, 2); ! Tick tick = new Tick(new DateTime(timestamp), 71.70, 72.06, 72.75, 71.70, 0.99, 72.81, 108200.00, 7854215.00, ! 152); assertEquals(tick, ts.getTick(2)); } - @Test public void testLine2() throws Exception { ! Calendar calendar = getCalendar(2007, 4, 30); ! Tick tick = new Tick(new DateTime(calendar), 73.09, 72.81, 73.10, 72.20, 1.00, 73.09, 83200.00, 6045660.00, 103); assertEquals(tick, ts.getTick(1)); } --- 30,44 ---- } @Test public void testLine3() throws Exception { ! date = date.withDate(2007, 5, 2).withTime(0, 0, 0, 0); ! Tick tick = new Tick(date, 71.70, 72.06, 72.75, 71.70, 0.99, 72.81, 108200.00, 7854215.00, 152); assertEquals(tick, ts.getTick(2)); } @Test public void testLine2() throws Exception { ! date = date.withDate(2007, 4, 30).withTime(0, 0, 0, 0); ! Tick tick = new Tick(date, 73.09, 72.81, 73.10, 72.20, 1.00, 73.09, 83200.00, 6045660.00, 103); assertEquals(tick, ts.getTick(1)); } *************** *** 66,72 **** @Test public void testLine1() throws Exception { ! ! Calendar calendar = getCalendar(2007, 4, 27); ! Tick tick = new Tick(new DateTime(calendar), 71.00, 73.09, 73.29, 68.76, 1.02, 71.40, 59100.00, 4180018.00, 141); assertEquals(tick, ts.getTick(0)); --- 46,51 ---- @Test public void testLine1() throws Exception { ! date = date.withDate(2007, 4, 27).withTime(0, 0, 0, 0); ! Tick tick = new Tick(date, 71.00, 73.09, 73.29, 68.76, 1.02, 71.40, 59100.00, 4180018.00, 141); assertEquals(tick, ts.getTick(0)); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/evaluator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/analysis/evaluator Added Files: SampleDecision.java Log Message: mega merge erefatoração de código e correção de testes --- NEW FILE: SampleDecision.java --- package net.sf.tail.analysis.evaluator; public class SampleDecision extends Decision { private double value; public SampleDecision(double value) { super(null, null, null, null); this.value = value; } @Override public double evaluateCriterion() { return this.value; } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/walk In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/analysis/walk Added Files: WalkForwardTest.java Removed Files: WalkerTest.java Log Message: mega merge erefatoração de código e correção de testes --- WalkerTest.java DELETED --- --- 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.Walker; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.BestStrategyEvaluator; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.splitter.EnumSplitter; 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 testWalk() { Walker walk = new WalkForward(evaluator); List<Decision> values = walk.walk(strategies, series, EnumSplitter.BY_YEAR_MEMORIZED/*5*/, criteria); assertEquals(20d/30, values.get(0).evaluateCriterion()); assertEquals(15d/32, values.get(1).evaluateCriterion()); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/graphics Modified Files: ChartTest.java SeriesDatasetTest.java Log Message: mega merge erefatoração de código e correção de testes Index: ChartTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/ChartTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ChartTest.java 7 Jul 2007 18:45:24 -0000 1.1 --- ChartTest.java 4 Aug 2007 02:34:18 -0000 1.2 *************** *** 111,115 **** indicators.add(sma); ! List<Trade> trades = new HistoryRunner(OperationType.BUY).run(new IndicatorCrossedIndicatorStrategy(sma,close), 0, 100); seriesDataset = new SeriesDataset(timeSeries, indicators,0,seriesEndIndex,trades); --- 111,115 ---- indicators.add(sma); ! List<Trade> trades = new HistoryRunner(OperationType.BUY).run(new IndicatorCrossedIndicatorStrategy(close,sma), 0, 100); seriesDataset = new SeriesDataset(timeSeries, indicators,0,seriesEndIndex,trades); Index: SeriesDatasetTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/SeriesDatasetTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SeriesDatasetTest.java 2 Aug 2007 15:44:47 -0000 1.2 --- SeriesDatasetTest.java 4 Aug 2007 02:34:18 -0000 1.3 *************** *** 1,7 **** package net.sf.tail.graphics; import static junit.framework.Assert.assertEquals; - import java.util.GregorianCalendar; import java.util.LinkedList; import java.util.List; --- 1,7 ---- package net.sf.tail.graphics; + import static junit.framework.Assert.assertEquals; import java.util.LinkedList; import java.util.List; *************** *** 22,77 **** public class SeriesDatasetTest { ! TimeSeries series; ! List<Indicator<? extends Number>> indicators; - List<Trade> trades; - List<Tick> ticks; - private SampleIndicator indicator1; - private SampleIndicator indicator2; ! @Before public void setUp() throws Exception { ticks = new LinkedList<Tick>(); ! ticks.add(new Tick(new DateTime(new GregorianCalendar(2007, 6, 6)), 1d)); ! ticks.add(new Tick(new DateTime(new GregorianCalendar(2007, 6, 7)), 2d)); ! ticks.add(new Tick(new DateTime(new GregorianCalendar(2007, 6, 8)), 3d)); ! ticks.add(new Tick(new DateTime(new GregorianCalendar(2007, 6, 9)), 4d)); ! series = new DefaultTimeSeries(ticks); indicators = new LinkedList<Indicator<? extends Number>>(); trades = new LinkedList<Trade>(); ! ! indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d }); ! indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d }); ! indicators.add(indicator1); indicators.add(indicator2); ! ! Operation entry = new Operation(0, OperationType.BUY); ! Operation exit = new Operation(1, OperationType.SELL); ! trades.add(new Trade(entry, exit)); ! ! entry = new Operation(2, OperationType.BUY); ! exit = new Operation(3, OperationType.SELL); ! trades.add(new Trade(entry, exit)); } @Test ! public void testDefaultConstructor() { ! SeriesDataset dataset = new SeriesDataset(series, indicators, 0, 3); assertEquals(indicators.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); } ! @Test ! public void testTradesConstructor() { ! SeriesDataset dataset = new SeriesDataset(series, indicators, 0, 3, trades); ! assertEquals(indicators.size() + trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); --- 22,73 ---- public class SeriesDatasetTest { ! TimeSeries series; List<Indicator<? extends Number>> indicators; List<Trade> trades; List<Tick> ticks; private SampleIndicator indicator1; private SampleIndicator indicator2; ! @Before public void setUp() throws Exception { ticks = new LinkedList<Tick>(); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 6),1d)); ! ticks.add(new Tick(new DateTime().withDate(2007,6,7),2d)); ! ticks.add(new Tick(new DateTime().withDate(2007,6,8),3d)); ! ticks.add(new Tick(new DateTime().withDate(2007,6,9),4d)); ! ! series = new DefaultTimeSeries(ticks); indicators = new LinkedList<Indicator<? extends Number>>(); trades = new LinkedList<Trade>(); ! ! indicator1 = new SampleIndicator(new double[]{2d,3d,4d,5d}); ! indicator2 = new SampleIndicator(new double[]{5d,4d,3d,2d}); ! indicators.add(indicator1); indicators.add(indicator2); ! ! Operation entry = new Operation(0,OperationType.BUY); ! Operation exit = new Operation(1,OperationType.SELL); ! trades.add(new Trade(entry,exit)); ! ! entry = new Operation(2,OperationType.BUY); ! exit = new Operation(3,OperationType.SELL); ! trades.add(new Trade(entry,exit)); } @Test ! public void testDefaultConstructor(){ ! SeriesDataset dataset = new SeriesDataset(series,indicators,0,3); assertEquals(indicators.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); } ! @Test ! public void testTradesConstructor(){ ! SeriesDataset dataset = new SeriesDataset(series,indicators,0,3,trades); ! assertEquals(indicators.size()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); *************** *** 79,86 **** @Test ! public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing() { ! SeriesDataset dataset = new SeriesDataset(series, indicators, 0, 3, trades); dataset.moveRight(); ! assertEquals(indicators.size() + trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); --- 75,82 ---- @Test ! public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){ ! SeriesDataset dataset = new SeriesDataset(series,indicators,0,3,trades); dataset.moveRight(); ! assertEquals(indicators.size()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); *************** *** 88,122 **** @Test ! public void testMoveLeftWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing() { ! SeriesDataset dataset = new SeriesDataset(series, indicators, 0, 3, trades); dataset.moveLeft(); ! assertEquals(indicators.size() + trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); } ! @Test ! public void testMoveRight() { ! SeriesDataset dataset = new SeriesDataset(series, indicators, 0, 3, trades); ! ticks.add(new Tick(new DateTime(new GregorianCalendar(2007, 6, 10)), 4d)); indicator1.addValue(15d); indicator2.addValue(30d); ! dataset.moveRight(); ! assertEquals(indicators.size() + trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(3d, dataset.getValue(1, 1)); } ! @Test ! public void testMoveLeft() { ! SeriesDataset dataset = new SeriesDataset(series, indicators, 0, 3, trades); ! ticks.add(new Tick(new DateTime(new GregorianCalendar(2007, 6, 10)), 4d)); indicator1.addValue(15d); indicator2.addValue(30d); ! dataset.moveRight(); dataset.moveLeft(); ! assertEquals(indicators.size() + trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); --- 84,118 ---- @Test ! public void testMoveLeftWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){ ! SeriesDataset dataset = new SeriesDataset(series,indicators,0,3,trades); dataset.moveLeft(); ! assertEquals(indicators.size()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); } ! @Test ! public void testMoveRight(){ ! SeriesDataset dataset = new SeriesDataset(series,indicators,0,3,trades); ! ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d)); indicator1.addValue(15d); indicator2.addValue(30d); ! dataset.moveRight(); ! assertEquals(indicators.size()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(3d, dataset.getValue(1, 1)); } ! @Test ! public void testMoveLeft(){ ! SeriesDataset dataset = new SeriesDataset(series,indicators,0,3,trades); ! ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d)); indicator1.addValue(15d); indicator2.addValue(30d); ! dataset.moveRight(); dataset.moveLeft(); ! assertEquals(indicators.size()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/splitter In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/src/test/net/sf/tail/analysis/splitter Added Files: EnumSplitterTest.java Removed Files: RegularSplitterTest.java Log Message: mega merge erefatoração de código e correção de testes --- RegularSplitterTest.java DELETED --- --- NEW FILE: EnumSplitterTest.java --- package net.sf.tail.analysis.splitter; import static org.junit.Assert.assertEquals; import java.util.List; import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.sample.SampleTimeSeries; import org.joda.time.DateTime; import org.junit.Before; import org.junit.Test; public class EnumSplitterTest { private SampleTimeSeries series; private EnumSplitter splitter; private List<ConstrainedTimeSeries> constrainedSeries; private DateTime date; @Before public void setUp() throws Exception { date = new DateTime(); } @Test public void testMemorizedSplitter() { this.series = new SampleTimeSeries(date.withYear(2000),date.withYear(2000),date.withYear(2003),date.withYear(2007)); this.splitter = EnumSplitter.BY_YEAR_MEMORIZED; constrainedSeries = splitter.split(series); assertEquals(0, constrainedSeries.get(0).getBegin()); assertEquals(1, constrainedSeries.get(0).getEnd()); assertEquals(0, constrainedSeries.get(1).getBegin()); assertEquals(2, constrainedSeries.get(1).getEnd()); assertEquals(0, constrainedSeries.get(2).getBegin()); assertEquals(3, constrainedSeries.get(2).getEnd()); } @Test public void testSemesterMemorizedSplitter() { this.series = new SampleTimeSeries(date.withMonthOfYear(1),date.withMonthOfYear(4),date.withYear(7),date.withYear(16)); this.splitter = EnumSplitter.BY_SEMESTER_MEMORIZED; constrainedSeries = splitter.split(series); assertEquals(0, constrainedSeries.get(0).getBegin()); assertEquals(1, constrainedSeries.get(0).getEnd()); assertEquals(0, constrainedSeries.get(1).getBegin()); assertEquals(2, constrainedSeries.get(1).getEnd()); assertEquals(0, constrainedSeries.get(2).getBegin()); assertEquals(3, constrainedSeries.get(2).getEnd()); } // @Test // public void testSemesterMemorizedSplitterSho() { // this.series = new SampleTimeSeries(date.withMonthOfYear(1),date.withMonthOfYear(1),date.withYear(1),date.withYear(1)); // this.splitter = EnumSplitter.BY_YEAR_MEMORIZED; // constrainedSeries = splitter.split(series); // // assertEquals(0, constrainedSeries.get(0).getBegin()); // assertEquals(3, constrainedSeries.get(0).getEnd()); // } @Test public void testYearSplitter() { this.series = new SampleTimeSeries(date.withYear(2000),date.withYear(2000),date.withYear(2003),date.withYear(2007)); this.splitter = EnumSplitter.BY_YEAR_REGULAR; constrainedSeries = splitter.split(series); assertEquals(0, constrainedSeries.get(0).getBegin()); assertEquals(1, constrainedSeries.get(0).getEnd()); assertEquals(2, constrainedSeries.get(1).getBegin()); assertEquals(2, constrainedSeries.get(1).getEnd()); assertEquals(3, constrainedSeries.get(2).getBegin()); assertEquals(3, constrainedSeries.get(2).getEnd()); } @Test public void testTimeSerieWithSameDates() { this.series = new SampleTimeSeries(date.withYear(2000),date.withYear(2000),date.withYear(2000),date.withYear(2000)); this.splitter = EnumSplitter.BY_YEAR_MEMORIZED; constrainedSeries = splitter.split(series); assertEquals(1, constrainedSeries.size()); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-04 02:34:19
|
Update of /cvsroot/tail/Tail/lib In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30946/lib Added Files: joda-time-1.4-src-ide.zip Log Message: mega merge erefatoração de código e correção de testes --- NEW FILE: joda-time-1.4-src-ide.zip --- (This appears to be a binary file; contents omitted.) |