|
From: Thies <tg...@us...> - 2007-08-15 22:07:59
|
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); |