|
From: Danilo S. <dt...@us...> - 2007-07-05 16:12:17
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/evaluator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20260/src/java/net/sf/tail/analysis/evaluator Added Files: BestStrategyEvaluator.java Log Message: Refatorao do Walker para Evaluator e criao dos testes. --- NEW FILE: BestStrategyEvaluator.java --- package net.sf.tail.analysis.evaluator; import java.util.List; import java.util.Set; import net.sf.tail.AnalysisCriterion; import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.Evaluator; import net.sf.tail.OperationType; import net.sf.tail.Strategy; import net.sf.tail.Trade; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.runner.Runner; public class BestStrategyEvaluator implements Evaluator { public Strategy evaluate(Set<Strategy> strategies, ConstrainedTimeSeries series, AnalysisCriterion criterion) { Runner runner = new HistoryRunner(OperationType.BUY); double bestStrategyValue = Double.MIN_VALUE; Strategy bestStrategy = strategies.iterator().next(); for (Strategy strategy : strategies) { List<Trade> trades = runner.run(strategy, series.getBegin(), series.getSize()); double value = criterion.calculate(series, trades); if (value > bestStrategyValue) { bestStrategy = strategy; bestStrategyValue = value; } } return bestStrategy; } } |