|
From: xanaot <xa...@us...> - 2007-10-01 23:47:09
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report/xls In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6542/src/test/net/sf/tail/report/xls Modified Files: CompleteXlsGeneratorExecutor.java Log Message: Refatoracao no Generate xls Index: CompleteXlsGeneratorExecutor.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/xls/CompleteXlsGeneratorExecutor.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CompleteXlsGeneratorExecutor.java 26 Sep 2007 20:51:44 -0000 1.2 --- CompleteXlsGeneratorExecutor.java 1 Oct 2007 23:47:04 -0000 1.3 *************** *** 3,10 **** --- 3,14 ---- import java.io.FileInputStream; import java.io.FileNotFoundException; + import java.io.FileOutputStream; import java.io.IOException; + import java.util.ArrayList; import java.util.HashSet; + import java.util.List; import java.util.Set; + import net.sf.tail.AnalysisCriterion; import net.sf.tail.Indicator; import net.sf.tail.OperationType; *************** *** 13,21 **** 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.walk.WalkForward; import net.sf.tail.indicator.simple.ClosePriceIndicator; ! import net.sf.tail.indicator.tracker.EMAIndicator; import net.sf.tail.io.reader.CedroTimeSeriesLoader; import net.sf.tail.report.Report; --- 17,31 ---- import net.sf.tail.TimeSeries; import net.sf.tail.Walker; + import net.sf.tail.analysis.criteria.AverageProfitCriterion; + import net.sf.tail.analysis.criteria.BuyAndHoldCriterion; + import net.sf.tail.analysis.criteria.NumberOfTicksCriterion; + import net.sf.tail.analysis.criteria.RewardRiskRatioCriterion; import net.sf.tail.analysis.criteria.TotalProfitCriterion; + import net.sf.tail.analysis.criteria.VersusBuyAndHoldCriterion; 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.ParabolicSarIndicator; ! import net.sf.tail.indicator.tracker.SMAIndicator; import net.sf.tail.io.reader.CedroTimeSeriesLoader; import net.sf.tail.report.Report; *************** *** 23,27 **** --- 33,39 ---- import net.sf.tail.series.SlicerByTimePeriod; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; + import net.sf.tail.strategy.IndicatorOverIndicatorStrategy; + import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.joda.time.Period; *************** *** 34,38 **** try { ! timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), "Ambev (ambv4)"); } catch (FileNotFoundException e) { e.printStackTrace(); --- 46,50 ---- try { ! timeSeries = ctsl.load(new FileInputStream("BaseBovespa/diario/petr4Dia.csv"), "Ambev (ambv4)"); } catch (FileNotFoundException e) { e.printStackTrace(); *************** *** 45,59 **** for (int i = 4; i < 20; i++) { ! 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().withMonths(1), SlicerType.MEMORIZED), new TotalProfitCriterion()); CompleteXlsGenerator xls = new CompleteXlsGenerator(); ! xls.generate(r, new Period().withMonths(1)); } --- 57,95 ---- + // for (int i = 4; i < 60; i++) { + // Indicator<Double> tracker = new EMAIndicator(close, i); + // Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); + // strategies.add(strategy); + // } + for (int i = 4; i < 20; i++) { ! Indicator<Double> tracker = new SMAIndicator(close, i); ! Strategy strategy = new IndicatorOverIndicatorStrategy(close, tracker); strategies.add(strategy); } + Indicator<Double> tracker = new ParabolicSarIndicator(timeSeries); + Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); + strategies.add(strategy); + + ! Report r = w.walk(strategies, new SlicerByTimePeriod(timeSeries, new Period().withMonths(10), SlicerType.MEMORIZED), new TotalProfitCriterion()); CompleteXlsGenerator xls = new CompleteXlsGenerator(); ! HSSFWorkbook workbook = new HSSFWorkbook(); ! ! List<AnalysisCriterion> criteria = new ArrayList<AnalysisCriterion>(); ! criteria.add(new BuyAndHoldCriterion()); ! criteria.add(new RewardRiskRatioCriterion()); ! criteria.add(new AverageProfitCriterion()); ! criteria.add(new NumberOfTicksCriterion()); ! criteria.add(new VersusBuyAndHoldCriterion()); ! ! workbook = xls.generate(r, criteria, new Period().withMonths(10)); ! ! FileOutputStream fileOut = new FileOutputStream("report.xls"); ! workbook.write(fileOut); ! fileOut.close(); } |