Update of /cvsroot/tail/Tail/src/test/net/sf/tail
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21977/src/test/net/sf/tail
Modified Files:
EMAWalkTest.java
Added Files:
EMACompleteTest.java
Log Message:
gerando o memorizedSlicer através de enum
--- NEW FILE: EMACompleteTest.java ---
package net.sf.tail;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import net.sf.tail.TimeSeriesSlicer.SlicerType;
import net.sf.tail.analysis.SlicerByTimePeriod;
import net.sf.tail.analysis.criteria.AverageProfitCriterion;
import net.sf.tail.analysis.criteria.NumberOfTicksCriterion;
import net.sf.tail.analysis.criteria.NumberOfTradesCriterion;
import net.sf.tail.analysis.criteria.TotalProfitCriterion;
import net.sf.tail.analysis.evaluator.BestStrategyEvaluator;
import net.sf.tail.analysis.walk.WalkForward;
import net.sf.tail.indicator.simple.ClosePriceIndicator;
import net.sf.tail.indicator.tracker.EMAIndicator;
import net.sf.tail.reader.CedroTimeSeriesLoader;
import net.sf.tail.report.Report;
import net.sf.tail.report.ReportGenerator;
import net.sf.tail.runner.HistoryRunner;
import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy;
import org.joda.time.Period;
public class EMACompleteTest {
public void testCompleteSMAGenerate() throws IOException {
CedroTimeSeriesLoader ctsl = new CedroTimeSeriesLoader();
TimeSeries timeSeries = null;
try {
timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), "AMBV4 IntraDAY");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Walker w = new WalkForward(new BestStrategyEvaluator(new HistoryRunner(OperationType.BUY)));
Set<Strategy> strategies = new HashSet<Strategy>();
for (int i = 4; i < 20; i++) {
Indicator<Double> close = new ClosePriceIndicator(timeSeries);
Indicator<Double> tracker = new EMAIndicator(close, i);
Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker);
strategies.add(strategy);
}
Report r = w.walk(strategies,new SlicerByTimePeriod(timeSeries,new Period().withDays(1), SlicerType.MEMORIZED),new TotalProfitCriterion());
List<AnalysisCriterion> criteria = new LinkedList<AnalysisCriterion>();
criteria.add(new NumberOfTradesCriterion());
criteria.add(new NumberOfTicksCriterion());
criteria.add(new AverageProfitCriterion());
StringBuffer html = new ReportGenerator().generate(r,criteria);
System.out.println(html);
}
public static void main(String[] args) {
EMACompleteTest emaTest = new EMACompleteTest();
try {
emaTest.testCompleteSMAGenerate();
} catch (IOException e) {
}
}
}
Index: EMAWalkTest.java
===================================================================
RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/EMAWalkTest.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** EMAWalkTest.java 13 Aug 2007 20:21:16 -0000 1.8
--- EMAWalkTest.java 15 Aug 2007 22:07:52 -0000 1.9
***************
*** 7,10 ****
--- 7,11 ----
import java.util.Set;
+ import net.sf.tail.TimeSeriesSlicer.SlicerType;
import net.sf.tail.analysis.SlicerByTimePeriod;
import net.sf.tail.analysis.criteria.AverageProfitCriterion;
***************
*** 45,49 ****
// slice the series by each year, since 1999
TimeSeriesSlicer slicer = new SlicerByTimePeriod(series, new Period().withYears(1), new DateTime()
! .withYear(1999));
// walks year by year, forgetting the past and generates the report in
--- 46,50 ----
// slice the series by each year, since 1999
TimeSeriesSlicer slicer = new SlicerByTimePeriod(series, new Period().withYears(1), new DateTime()
! .withYear(1999), SlicerType.MEMORIZED);
// walks year by year, forgetting the past and generates the report in
***************
*** 56,62 ****
List<AnalysisCriterion> criterions = new ArrayList<AnalysisCriterion>();
criterions.add(new AverageProfitCriterion());
criterions.add(new MaximumDrawDownCriterion());
! criterions.add(new RewardRiskRatioCriterion());
StringBuffer buffer = generator.generate(report,criterions);
--- 57,65 ----
List<AnalysisCriterion> criterions = new ArrayList<AnalysisCriterion>();
+
criterions.add(new AverageProfitCriterion());
criterions.add(new MaximumDrawDownCriterion());
! criterions.add(new RewardRiskRatioCriterion());
!
StringBuffer buffer = generator.generate(report,criterions);
|