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-10-31 21:34:48
|
Update of /cvsroot/tail/TailS/Data/Scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv31436/Data/Scripts Added Files: EMAStrategies3.rb Log Message: --- NEW FILE: EMAStrategies3.rb --- "Gera 50 strategies" (1..50).collect{|numero| strategies.add(cross( close, ema(numero))) } |
|
From: Thies <tg...@us...> - 2007-10-31 21:18:09
|
Update of /cvsroot/tail/TailS/Data/Scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24461/Data/Scripts Added Files: NotSoFastStochasticStrategy.rb StochasticStrategy.rb Log Message: Novos alias e algumas estrategias escritas em dsl --- NEW FILE: NotSoFastStochasticStrategy.rb --- (4..60).collect{|numero| $strategies.add(notSoFast(pipeEnter(constantIndicator(80), constantIndicator(20), stochastic(numero)), 3)) } --- NEW FILE: StochasticStrategy.rb --- (4..60).collect{|numero| $strategies.add(pipeEnter(constantIndicator(80), constantIndicator(20), stochastic(numero))) } |
|
From: Thies <tg...@us...> - 2007-10-31 21:18:09
|
Update of /cvsroot/tail/TailS/dsl In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24461/dsl Modified Files: rubyDSLutils.rb Log Message: Novos alias e algumas estrategias escritas em dsl Index: rubyDSLutils.rb =================================================================== RCS file: /cvsroot/tail/TailS/dsl/rubyDSLutils.rb,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** rubyDSLutils.rb 31 Oct 2007 19:53:01 -0000 1.5 --- rubyDSLutils.rb 31 Oct 2007 21:18:09 -0000 1.6 *************** *** 7,10 **** --- 7,11 ---- include_package 'net.sf.tail.indicator.tracker' include_package 'net.sf.tail.indicator.simple' + include_package 'net.sf.tail.indicator.oscilator' include_package 'net.sf.tail.strategy' include_package 'net.sf.tail.series' *************** *** 67,74 **** end - def strategies - $strategies - end - def amount Tail::AmountIndicator.new($series) --- 68,71 ---- *************** *** 108,111 **** def pipeEnter(indicatorUpper, indicatorLower, indicatorValue) ! Tail::PipeEnterStrategy(indicatorUpper, indicatorLower, indicatorValue) end --- 105,120 ---- def pipeEnter(indicatorUpper, indicatorLower, indicatorValue) ! Tail::PipeEnterStrategy.new(indicatorUpper, indicatorLower, indicatorValue) ! end ! ! def stochastic(timeFrame) ! Tail::StochasticOscilatorK.new($series,timeFrame) ! end ! ! def constantIndicator(value) ! Tail::ConstantIndicator.new(value) ! end ! ! def notSoFast(strategy, ticks) ! Tail::NotSoFastStrategy.new(strategy, ticks) end |
|
From: Thies <tg...@us...> - 2007-10-31 21:17:24
|
Update of /cvsroot/tail/TailS/Data/Scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24107/Data/Scripts Log Message: Directory /cvsroot/tail/TailS/Data/Scripts added to the repository |
|
From: Thies <tg...@us...> - 2007-10-31 21:15:30
|
Update of /cvsroot/tail/Tail/dsl In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23268/dsl Modified Files: rubyDSLutils.rb Log Message: Novos alias Index: rubyDSLutils.rb =================================================================== RCS file: /cvsroot/tail/Tail/dsl/rubyDSLutils.rb,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** rubyDSLutils.rb 29 Oct 2007 21:11:35 -0000 1.8 --- rubyDSLutils.rb 31 Oct 2007 21:15:27 -0000 1.9 *************** *** 7,10 **** --- 7,11 ---- include_package 'net.sf.tail.indicator.tracker' include_package 'net.sf.tail.indicator.simple' + include_package 'net.sf.tail.indicator.oscilator' include_package 'net.sf.tail.strategy' include_package 'net.sf.tail.series' *************** *** 104,107 **** def pipeEnter(indicatorUpper, indicatorLower, indicatorValue) ! Tail::PipeEnterStrategy(indicatorUpper, indicatorLower, indicatorValue) end --- 105,120 ---- def pipeEnter(indicatorUpper, indicatorLower, indicatorValue) ! Tail::PipeEnterStrategy.new(indicatorUpper, indicatorLower, indicatorValue) ! end ! ! def stochastic(timeFrame) ! Tail::StochasticOscilatorK.new($series,timeFrame) ! end ! ! def constantIndicator(value) ! Tail::ConstantIndicator.new(value) ! end ! ! def notSoFast(strategy, ticks) ! Tail::NotSoFastStrategy.new(strategy, ticks) end |
|
From: Carlos <ma...@us...> - 2007-10-31 21:04:04
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18205/src/java/net/sf/tails/swing/frame Modified Files: Index.java Log Message: Adicionado ampulheta em pontos que demoram no programa. Index: Index.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/Index.java,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** Index.java 29 Oct 2007 18:47:22 -0000 1.43 --- Index.java 31 Oct 2007 21:04:07 -0000 1.44 *************** *** 13,16 **** --- 13,17 ---- import java.awt.Color; + import java.awt.Cursor; import java.awt.Dimension; import java.awt.Toolkit; *************** *** 737,740 **** --- 738,745 ---- new Thread(new Runnable() { public void run() { + Cursor cursor = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ); + setCursor( cursor ); + completeGraphButton.setEnabled(false); + JFrame graph = new JFrame("Complete Graphic"); JTabbedPane charts = new JTabbedPane(); *************** *** 758,761 **** --- 763,770 ---- graph.setLocationByPlatform(true); graph.setVisible(true); + + completeGraphButton.setEnabled(true); + cursor = Cursor.getDefaultCursor(); + setCursor( cursor ); }}).start(); } *************** *** 836,839 **** --- 845,850 ---- StockAnalysisSerializer serializer = new StockAnalysisSerializer(); try { + Cursor cursor = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ); + setCursor( cursor ); String stringAnalysis = helper.readFile(filePath); StockAnalysis analysis = serializer.fromXML(stringAnalysis); *************** *** 841,845 **** this.setTitle(directoryFileChooser.getSelectedFile().getName() + " - " + messageBundle.getString("DEFAULT_TITLE")); this.appendConsoleArea("Stock Analysis " + directoryFileChooser.getSelectedFile().getName() + " loaded succesfully."); ! } catch (Exception e) { e.printStackTrace(); --- 852,857 ---- this.setTitle(directoryFileChooser.getSelectedFile().getName() + " - " + messageBundle.getString("DEFAULT_TITLE")); this.appendConsoleArea("Stock Analysis " + directoryFileChooser.getSelectedFile().getName() + " loaded succesfully."); ! cursor = Cursor.getDefaultCursor(); ! setCursor( cursor ); } catch (Exception e) { e.printStackTrace(); |
|
From: Carlos <ma...@us...> - 2007-10-31 21:04:04
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18205/src/java/net/sf/tails/swing/frame/stockAnalysis Modified Files: NewStockAnalysis3.java Log Message: Adicionado ampulheta em pontos que demoram no programa. Index: NewStockAnalysis3.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis/NewStockAnalysis3.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** NewStockAnalysis3.java 31 Oct 2007 16:25:30 -0000 1.13 --- NewStockAnalysis3.java 31 Oct 2007 21:04:06 -0000 1.14 *************** *** 8,11 **** --- 8,12 ---- package net.sf.tails.swing.frame.stockAnalysis; + import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; *************** *** 322,326 **** private void finishButtonActionPerformed(ActionEvent evt) { ! DateTime startDate; try { --- 323,329 ---- private void finishButtonActionPerformed(ActionEvent evt) { ! Cursor cursor = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ); ! setCursor( cursor ); ! DateTime startDate; try { *************** *** 415,418 **** --- 418,424 ---- this.dispose(); + + cursor = Cursor.getDefaultCursor(); + setCursor( cursor ); } } |
|
From: Carlos <ma...@us...> - 2007-10-31 21:04:04
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18205/src/java/net/sf/tails/swing/frame/report Modified Files: NewReportFrame.java Log Message: Adicionado ampulheta em pontos que demoram no programa. Index: NewReportFrame.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/report/NewReportFrame.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** NewReportFrame.java 29 Oct 2007 23:02:54 -0000 1.33 --- NewReportFrame.java 31 Oct 2007 21:04:06 -0000 1.34 *************** *** 2,5 **** --- 2,6 ---- import java.awt.Component; + import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; *************** *** 381,384 **** --- 382,388 ---- private void defaultPanelCreateButtonActionPerformed(ActionEvent evt) { + Cursor cursor = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ); + setCursor( cursor ); + if (reportNameField.getText().equals("")) { JOptionPane.showMessageDialog(null, messageBundle.getString("EMPTY_REPORT_NAME"), "Error", 2); *************** *** 400,403 **** --- 404,410 ---- index.appendConsoleArea("Report " + reportNameField.getText() + " added succesfully."); this.dispose(); + + cursor = Cursor.getDefaultCursor(); + setCursor( cursor ); } *************** *** 407,410 **** --- 414,420 ---- private void customStrategyCreateButtonActionPerformed(ActionEvent evt) { + Cursor cursor = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ); + setCursor( cursor ); + if (reportNameField.getText().equals("")) { JOptionPane.showMessageDialog(null, messageBundle.getString("EMPTY_REPORT_NAME"), "Error", 2); *************** *** 429,432 **** --- 439,445 ---- } } + + cursor = Cursor.getDefaultCursor(); + setCursor( cursor ); } |
|
From: Thies <tg...@us...> - 2007-10-31 20:11:32
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27803/src/test/net/sf/tail/graphics Modified Files: CriteriaDatasetTest.java Log Message: Acerto no teste Index: CriteriaDatasetTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/CriteriaDatasetTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CriteriaDatasetTest.java 31 Oct 2007 17:51:54 -0000 1.4 --- CriteriaDatasetTest.java 31 Oct 2007 20:11:35 -0000 1.5 *************** *** 23,27 **** import net.sf.tail.series.RegularSlicer; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; - import net.sf.tail.strategy.IndicatorOverIndicatorStrategy; import org.joda.time.DateTime; --- 23,26 ---- *************** *** 74,80 **** strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); ! strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); ! strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); ! WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); --- 73,78 ---- strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); ! ! WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/test/net/sf/tail/analysis Modified Files: StockAnalysisTest.java Log Message: Mais testes, ajustes de testes e etc. Index: StockAnalysisTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/StockAnalysisTest.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** StockAnalysisTest.java 17 Oct 2007 16:51:43 -0000 1.9 --- StockAnalysisTest.java 31 Oct 2007 19:53:07 -0000 1.10 *************** *** 2,5 **** --- 2,7 ---- import static org.junit.Assert.assertEquals; + import static org.junit.Assert.assertFalse; + import static org.junit.Assert.assertTrue; import java.util.ArrayList; *************** *** 124,126 **** --- 126,157 ---- assertEquals(walker.getClass(), stockAnalysis.getWalker().getClass()); } + + @Test + public void testEquals() + { + StockAnalysis analysis = new StockAnalysis(stock, applyedCriterion, slicer, evaluator); + assertTrue(analysis.equals(analysis)); + assertTrue(analysis.equals(new StockAnalysis(stock, applyedCriterion, slicer, evaluator))); + assertFalse(analysis.equals(new TotalProfitCriterion())); + + assertFalse(analysis.equals(new StockAnalysis(stock, null, slicer, evaluator))); + assertFalse((new StockAnalysis(stock, null, slicer, evaluator).equals(analysis))); + assertFalse(analysis.equals(new StockAnalysis(stock, applyedCriterion, slicer, null))); + assertFalse((new StockAnalysis(stock, applyedCriterion, slicer, null).equals(analysis))); + assertFalse(analysis.equals(new StockAnalysis(stock, applyedCriterion, null, evaluator))); + assertFalse((new StockAnalysis(stock, applyedCriterion, null, evaluator).equals(analysis))); + assertFalse(analysis.equals(new StockAnalysis(null, applyedCriterion, slicer, evaluator))); + assertFalse((new StockAnalysis(null, applyedCriterion, slicer, evaluator).equals(analysis))); + + analysis.addReport("Teste", strategies); + StockAnalysis analysis2 = new StockAnalysis(stock, applyedCriterion, slicer, evaluator); + StockAnalysis analysis3 = new StockAnalysis(null, null, null, null); + assertFalse(analysis.equals(analysis2)); + assertFalse(analysis2.equals(analysis)); + assertFalse(analysis.hashCode() == analysis2.hashCode()); + assertFalse(analysis.hashCode() == analysis3.hashCode()); + + assertFalse(analysis.equals(5d)); + assertFalse(analysis.equals(null)); + } } |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/test/net/sf/tail/analysis/criteria Modified Files: VersusBuyAndHoldCriterionTest.java Log Message: Mais testes, ajustes de testes e etc. Index: VersusBuyAndHoldCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/VersusBuyAndHoldCriterionTest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** VersusBuyAndHoldCriterionTest.java 29 Oct 2007 22:47:22 -0000 1.7 --- VersusBuyAndHoldCriterionTest.java 31 Oct 2007 19:53:07 -0000 1.8 *************** *** 60,63 **** --- 60,72 ---- assertEquals(0.95 * 0.7 / 0.7, buyAndHold.calculate(series, trades)); } + + @Test + public void testCalculateWithOnlyOneTrade() { + SampleTimeSeries series = new SampleTimeSeries(new double[] { 100, 95, 100, 80, 85, 70 }); + Trade trade = new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL)); + + AnalysisCriterion buyAndHold = new VersusBuyAndHoldCriterion(new TotalProfitCriterion()); + assertEquals((100d / 70) / (100d / 95), buyAndHold.calculate(series, trade)); + } @Test |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/java/net/sf/tail/analysis Modified Files: StockAnalysis.java Log Message: Mais testes, ajustes de testes e etc. Index: StockAnalysis.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/StockAnalysis.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** StockAnalysis.java 17 Oct 2007 16:51:43 -0000 1.13 --- StockAnalysis.java 31 Oct 2007 19:53:07 -0000 1.14 *************** *** 119,123 **** result = prime * result + ((applyedCriterion == null) ? 0 : applyedCriterion.hashCode()); result = prime * result + ((evaluator == null) ? 0 : evaluator.hashCode()); ! result = prime * result + ((reports == null) ? 0 : reports.hashCode()); result = prime * result + ((slicer == null) ? 0 : slicer.hashCode()); result = prime * result + ((stock == null) ? 0 : stock.hashCode()); --- 119,123 ---- result = prime * result + ((applyedCriterion == null) ? 0 : applyedCriterion.hashCode()); result = prime * result + ((evaluator == null) ? 0 : evaluator.hashCode()); ! result = prime * result + (reports.hashCode()); result = prime * result + ((slicer == null) ? 0 : slicer.hashCode()); result = prime * result + ((stock == null) ? 0 : stock.hashCode()); *************** *** 144,151 **** } else if (!evaluator.equals(other.evaluator)) return false; ! if (reports == null) { ! if (other.reports != null) ! return false; ! } else if (!reports.equals(other.reports)) return false; if (slicer == null) { --- 144,148 ---- } else if (!evaluator.equals(other.evaluator)) return false; ! if (!reports.equals(other.reports)) return false; if (slicer == null) { |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/test/net/sf/tail/report Modified Files: ReportTest.java Log Message: Mais testes, ajustes de testes e etc. Index: ReportTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/ReportTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ReportTest.java 15 Oct 2007 20:23:23 -0000 1.5 --- ReportTest.java 31 Oct 2007 19:53:07 -0000 1.6 *************** *** 7,14 **** --- 7,16 ---- import java.util.List; + import net.sf.tail.AnalysisCriterion; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; + import net.sf.tail.analysis.criteria.BuyAndHoldCriterion; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.Decision; *************** *** 57,59 **** --- 59,91 ---- assertEquals(4.5, report.getCriterionValue()); } + + @Test + public void testGetSlicePeriodName() throws IOException { + + Report report = new Report(null, new TotalProfitCriterion(), slicer, decisions); + assertEquals("Constrained for: SampleTimeSeries: 09:00 31/12/1969 - 09:00 31/12/1969", report.getSlicePeriodName()); + } + + @Test + public void testGetFileName() throws IOException { + + Report report = new Report(null, new TotalProfitCriterion(), slicer, decisions); + assertEquals("Report090031121969", report.getFileName()); + } + + @Test + public void testGetAdditionalCriteria() throws IOException { + + Report report = new Report(null, new TotalProfitCriterion(), slicer, decisions); + assertEquals(new ArrayList<AnalysisCriterion>(), report.getAdditionalCriteria()); + } + + @Test + public void testGetValue() throws IOException { + + Report report = new Report(null, new TotalProfitCriterion(), slicer, decisions); + assertEquals((new TotalProfitCriterion()).summarize(slicer.getSeries(), decisions), report.getValue(report.getApplyedCriterion())); + report.addSummarizedCriteria(new BuyAndHoldCriterion()); + assertEquals((new BuyAndHoldCriterion()).summarize(slicer.getSeries(), decisions), report.getValue(report.getAdditionalCriteria().get(0))); + } } |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/java/net/sf/tail/graphics Modified Files: FasterCriteriaDataset.java Log Message: Mais testes, ajustes de testes e etc. Index: FasterCriteriaDataset.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/FasterCriteriaDataset.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FasterCriteriaDataset.java 29 Oct 2007 21:11:10 -0000 1.3 --- FasterCriteriaDataset.java 31 Oct 2007 19:53:07 -0000 1.4 *************** *** 37,40 **** --- 37,52 ---- loadValues(series.getBegin(), series.getEnd()); } + + public FasterCriteriaDataset(TimeSeries series, List<Report> reports, boolean doFast) { + this.data = new DefaultKeyedValues2D(); + this.reports = reports; + this.series = series; + this.totalProfit = new TotalProfitCriterion(); + + if(doFast) + loadValuesFaster(series.getBegin(), series.getEnd()); + else + loadValues(series.getBegin(), series.getEnd()); + } private void loadValues(int firstIndex, int lastIndex) { |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:07
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/test/net/sf/tail/graphics Modified Files: FasterDatasetTest.java Added Files: FasterCriteriaDatasetTest.java Log Message: Mais testes, ajustes de testes e etc. Index: FasterDatasetTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/FasterDatasetTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FasterDatasetTest.java 24 Oct 2007 20:31:29 -0000 1.2 --- FasterDatasetTest.java 31 Oct 2007 19:53:07 -0000 1.3 *************** *** 31,34 **** --- 31,52 ---- assertEquals(6, dataset.getColumnCount()); } + + @Test + public void testFasterDatasetWithoutDoFast() + { + List<Tick> ticks = new ArrayList<Tick>(); + ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); + ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); + ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); + ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); + ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); + ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); + ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); + ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); + SampleTimeSeries series = new SampleTimeSeries(ticks); + FasterDataset dataset = new FasterDataset(series); + assertEquals(8, dataset.getColumnCount()); + } + @Test public void testFasterDatasetOnlyWithGains() --- NEW FILE: FasterCriteriaDatasetTest.java --- package net.sf.tail.graphics; import static junit.framework.Assert.assertEquals; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import net.sf.tail.AnalysisCriterion; import net.sf.tail.OperationType; import net.sf.tail.Strategy; import net.sf.tail.Tick; import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.HigherValueEvaluator; import net.sf.tail.analysis.walk.WalkForward; import net.sf.tail.report.Report; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.sample.SampleIndicator; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.series.RegularSlicer; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; import net.sf.tail.strategy.IndicatorOverIndicatorStrategy; import org.joda.time.DateTime; import org.joda.time.Period; import org.junit.Test; public class FasterCriteriaDatasetTest { @Test public void testFasterCriteriaDatasetWithoutDoFast() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports); assertEquals(8, dataset.getColumnCount()); } @Test public void testFasterCriteriaDatasetDoFast() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports, true); assertEquals(4, dataset.getColumnCount()); } @Test public void testFasterCriteriaDatasetOnlyWithGains() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 7d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 8d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports, true); assertEquals(4, dataset.getColumnCount()); } @Test public void testFasterCriteriaDatasetNotSoFast() { List<Tick> ticks = new ArrayList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007, 5, 6), 1d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 7), 2d)); ticks.add(new Tick(new DateTime().withDate(2007, 7, 8), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 8, 9), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 9, 10), 5d)); ticks.add(new Tick(new DateTime().withDate(2007, 10, 11), 3d)); ticks.add(new Tick(new DateTime().withDate(2007, 11, 12), 6d)); ticks.add(new Tick(new DateTime().withDate(2007, 12, 13), 7d)); SampleTimeSeries series = new SampleTimeSeries(ticks); LinkedList<Report> reports; SampleIndicator indicator1; SampleIndicator indicator2; HashSet<Strategy> strategies; HashSet<Strategy> strategies2; reports = new LinkedList<Report>(); indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); strategies2 = new HashSet<Strategy>(); strategies.add(new IndicatorCrossedIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorCrossedIndicatorStrategy(indicator2, indicator1)); strategies.add(new IndicatorOverIndicatorStrategy(indicator1, indicator2)); strategies2.add(new IndicatorOverIndicatorStrategy(indicator2, indicator1)); WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); TimeSeriesSlicer slice = new RegularSlicer(series, new Period().withDays(2)); AnalysisCriterion criterion = new TotalProfitCriterion(); Report report1 = walk.walk(strategies, slice, criterion); report1.setName("rep1"); Report report2 = walk.walk(strategies2, slice, criterion); report2.setName("rep2"); reports.add(report1); reports.add(report2); FasterCriteriaDataset dataset = new FasterCriteriaDataset(series, reports, true); assertEquals(4, dataset.getColumnCount()); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-10-31 19:53:06
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/i18n In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18814/src/java/net/sf/tails/i18n Modified Files: DSL_IDE.properties Log Message: Index: DSL_IDE.properties =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/i18n/DSL_IDE.properties,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DSL_IDE.properties 29 Oct 2007 21:13:03 -0000 1.4 --- DSL_IDE.properties 31 Oct 2007 19:53:01 -0000 1.5 *************** *** 1,4 **** ! RUBY_KEYWORDS= alias and begin break case catch class def do elsif else fail ensure for end if in module next not or raise redo rescue retry return then throw super unless undef until when while yield TAIL_INDICATORS_KEYWORDS= def averageGain(timeFrame) averageGain averageLoss(timeFrame) averageLoss max(indicator) min(indicator) averageDirectionalMovement(timeFrame) directionalMovement(timeFrame) onBalanceVolume standartDeviation(indicator,timeFrame) ema(timeFrame) parabolicSAR rsi(timeFrame) close amount maxPrice minPrice openPrice volume sma(timeFrame) williamsR(timeFrame) wma(timeFrame) ! TAIL_STRATEGIES_KEYWORDS= cross(indicator1,indicator2) pipeEnter(indicatorUpper,indicatorLower,indicatorValue) \ No newline at end of file --- 1,6 ---- ! RUBY_KEYWORDS= alias and add begin break case catch class collect def do elsif else fail ensure for end if in module next not or raise redo rescue retry return then throw super unless undef until when while yield TAIL_INDICATORS_KEYWORDS= def averageGain(timeFrame) averageGain averageLoss(timeFrame) averageLoss max(indicator) min(indicator) averageDirectionalMovement(timeFrame) directionalMovement(timeFrame) onBalanceVolume standartDeviation(indicator,timeFrame) ema(timeFrame) parabolicSAR rsi(timeFrame) close amount maxPrice minPrice openPrice volume sma(timeFrame) williamsR(timeFrame) wma(timeFrame) ! TAIL_STRATEGIES_KEYWORDS= strategies cross(indicator1,indicator2) pipeEnter(indicatorUpper,indicatorLower,indicatorValue) ! TAIL_INDICATORS_HIGHLIGHT= def averageGain averageGain averageLoss averageLoss max min averageDirectionalMovement directionalMovement onBalanceVolume standartDeviation ema parabolicSAR rsi close amount maxPrice minPrice openPrice volume sma williamsR wma ! TAIL_STRATEGIES_HIGHLIGHT= strategies cross pipeEnter |
|
From: Márcio V. d. S. <mv...@us...> - 2007-10-31 19:53:06
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/dsl In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18814/src/java/net/sf/tails/dsl Modified Files: TailSTokenMarker.java Log Message: Index: TailSTokenMarker.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/dsl/TailSTokenMarker.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TailSTokenMarker.java 10 Oct 2007 22:00:49 -0000 1.3 --- TailSTokenMarker.java 31 Oct 2007 19:53:01 -0000 1.4 *************** *** 18,23 **** ResourceBundle bundle = ResourceBundle.getBundle("net.sf.tails.i18n.DSL_IDE"); rubyKeyWords = bundle.getString("RUBY_KEYWORDS").split(" "); ! tailIndicatorsKeyWords = bundle.getString("TAIL_INDICATORS_KEYWORDS").split(" "); ! tailStrategiesKeyWords = bundle.getString("TAIL_STRATEGIES_KEYWORDS").split(" "); } --- 18,23 ---- ResourceBundle bundle = ResourceBundle.getBundle("net.sf.tails.i18n.DSL_IDE"); rubyKeyWords = bundle.getString("RUBY_KEYWORDS").split(" "); ! tailIndicatorsKeyWords = bundle.getString("TAIL_INDICATORS_HIGHLIGHT").split(" "); ! tailStrategiesKeyWords = bundle.getString("TAIL_STRATEGIES_HIGHLIGHT").split(" "); } *************** *** 33,43 **** TailSKeywords = new KeywordMap(false); for (String key : rubyKeyWords) { ! TailSKeywords.add(key, Token.LABEL); } for (String key : tailIndicatorsKeyWords) { ! TailSKeywords.add(key, Token.LITERAL1); } for (String key : tailStrategiesKeyWords) { ! TailSKeywords.add(key, Token.LITERAL2); } } --- 33,46 ---- TailSKeywords = new KeywordMap(false); for (String key : rubyKeyWords) { ! TailSKeywords.add(key, Token.KEYWORD1); } for (String key : tailIndicatorsKeyWords) { ! TailSKeywords.add(key, Token.KEYWORD2); } for (String key : tailStrategiesKeyWords) { ! TailSKeywords.add(key, Token.KEYWORD3); ! } ! for (int i = 0; i < 100;i++) { ! TailSKeywords.add(""+i, Token.COMMENT2); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-10-31 19:53:06
|
Update of /cvsroot/tail/TailS/src/java/org/gjt/sp/jedit/syntax In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18814/src/java/org/gjt/sp/jedit/syntax Modified Files: SyntaxUtilities.java Log Message: Index: SyntaxUtilities.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/org/gjt/sp/jedit/syntax/SyntaxUtilities.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SyntaxUtilities.java 10 Oct 2007 22:00:45 -0000 1.1 --- SyntaxUtilities.java 31 Oct 2007 19:53:01 -0000 1.2 *************** *** 96,105 **** styles[Token.COMMENT1] = new SyntaxStyle(Color.black,true,false); ! styles[Token.COMMENT2] = new SyntaxStyle(new Color(0x990033),true,false); styles[Token.KEYWORD1] = new SyntaxStyle(Color.black,false,true); ! styles[Token.KEYWORD2] = new SyntaxStyle(Color.magenta,false,false); ! styles[Token.KEYWORD3] = new SyntaxStyle(new Color(0x009600),false,false); ! styles[Token.LITERAL1] = new SyntaxStyle(new Color(0x650099),false,false); ! styles[Token.LITERAL2] = new SyntaxStyle(new Color(0x650099),false,true); styles[Token.LABEL] = new SyntaxStyle(new Color(0x990033),false,true); styles[Token.OPERATOR] = new SyntaxStyle(Color.black,false,true); --- 96,105 ---- styles[Token.COMMENT1] = new SyntaxStyle(Color.black,true,false); ! styles[Token.COMMENT2] = new SyntaxStyle(new Color(54100139),false,false); styles[Token.KEYWORD1] = new SyntaxStyle(Color.black,false,true); ! styles[Token.KEYWORD2] = new SyntaxStyle(new Color(205, 0, 0),false,true); ! styles[Token.KEYWORD3] = new SyntaxStyle(new Color(3964139),false,true); ! styles[Token.LITERAL1] = new SyntaxStyle(new Color(67205128),false,false); ! styles[Token.LITERAL2] = new SyntaxStyle(Color.yellow,false,true); styles[Token.LABEL] = new SyntaxStyle(new Color(0x990033),false,true); styles[Token.OPERATOR] = new SyntaxStyle(Color.black,false,true); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-10-31 19:53:06
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/help In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18814/src/java/net/sf/tails/swing/help Modified Files: HelpFrame.java Log Message: Index: HelpFrame.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/help/HelpFrame.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** HelpFrame.java 29 Oct 2007 16:48:36 -0000 1.3 --- HelpFrame.java 31 Oct 2007 19:53:01 -0000 1.4 *************** *** 9,12 **** --- 9,13 ---- import java.awt.Toolkit; import java.io.File; + import java.net.URL; import java.util.ResourceBundle; *************** *** 36,40 **** try{ File file = new File(bundle.getString("HELP_FILE")); ! jEditorPane1.setPage("file:////"+file.getAbsolutePath()); }catch(Exception e){ e.printStackTrace(); --- 37,42 ---- try{ File file = new File(bundle.getString("HELP_FILE")); ! //jEditorPane1.setPage("file:////"+file.getAbsolutePath()); ! jEditorPane1.setPage(new URL("http://tail.cvs.sourceforge.net/*checkout*/tail/TailS/Data/Help/TailSHelp.html?revision=1.1#Runner")); }catch(Exception e){ e.printStackTrace(); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-10-31 19:53:06
|
Update of /cvsroot/tail/TailS/dsl In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18814/dsl Modified Files: rubyDSLutils.rb Log Message: Index: rubyDSLutils.rb =================================================================== RCS file: /cvsroot/tail/TailS/dsl/rubyDSLutils.rb,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rubyDSLutils.rb 29 Oct 2007 21:13:23 -0000 1.4 --- rubyDSLutils.rb 31 Oct 2007 19:53:01 -0000 1.5 *************** *** 67,70 **** --- 67,74 ---- end + def strategies + $strategies + end + def amount Tail::AmountIndicator.new($series) |
|
From: Carlos <ma...@us...> - 2007-10-31 19:53:06
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/sample In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19116/src/test/net/sf/tail/sample Modified Files: SampleTimeSeries.java Log Message: Mais testes, ajustes de testes e etc. Index: SampleTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/sample/SampleTimeSeries.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** SampleTimeSeries.java 17 Oct 2007 23:23:36 -0000 1.14 --- SampleTimeSeries.java 31 Oct 2007 19:53:07 -0000 1.15 *************** *** 46,50 **** 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); } --- 46,50 ---- ticks = new ArrayList<Tick>(); for (double i = 0d; i < 10; i++) { ! Tick tick = new Tick(new DateTime(0), i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, i + 7, (int) (i + 8)); ticks.add(tick); } |
|
From: Thies <tg...@us...> - 2007-10-31 18:57:17
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/i18n In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv26458/src/java/net/sf/tails/i18n Modified Files: Classes.properties Log Message: Novo criteria Index: Classes.properties =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/i18n/Classes.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Classes.properties 29 Oct 2007 22:50:16 -0000 1.5 --- Classes.properties 31 Oct 2007 18:57:20 -0000 1.6 *************** *** 1,3 **** ! ANALYSIS_CRITERIA =AverageProfitCriterion;BuyAndHoldCriterion;MaximumDrawDownCriterion;NumberOfTicksCriterion;NumberOfTradesCriterion;RewardRiskRatioCriterion;TotalProfitCriterion;BrazilianTotalProfitCriterion;BrazilianTransactionCostsCriterion;BrazilianRewardRiskRatioCriterion GENERIC_CRITERIA =VersusBuyAndHoldCriterion DEFAULT_CRITERIA =Total Profit --- 1,3 ---- ! ANALYSIS_CRITERIA =AverageProfitCriterion;BuyAndHoldCriterion;MaximumDrawDownCriterion;NumberOfTicksCriterion;NumberOfTradesCriterion;RewardRiskRatioCriterion;TotalProfitCriterion;BrazilianTotalProfitCriterion;BrazilianTransactionCostsCriterion;BrazilianRewardRiskRatioCriterion;AverageProfitableTradesCriterion GENERIC_CRITERIA =VersusBuyAndHoldCriterion DEFAULT_CRITERIA =Total Profit |
|
From: Thies <tg...@us...> - 2007-10-31 18:52:38
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24229/src/java/net/sf/tail/analysis/criteria Added Files: AverageProfitableTradesCriterion.java Log Message: Novo criterio --- NEW FILE: AverageProfitableTradesCriterion.java --- package net.sf.tail.analysis.criteria; import java.util.LinkedList; import java.util.List; import net.sf.tail.AnalysisCriterion; import net.sf.tail.OperationType; import net.sf.tail.TimeSeries; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; public class AverageProfitableTradesCriterion implements AnalysisCriterion { public double calculate(TimeSeries series, Trade trade) { if(trade.getEntry().getType() == OperationType.BUY) return (series.getTick(trade.getExit().getIndex()).getClosePrice() / series.getTick(trade.getEntry().getIndex()).getClosePrice()) > 1d? 1d : 0d; else return (series.getTick(trade.getEntry().getIndex()).getClosePrice() / series.getTick(trade.getExit().getIndex()).getClosePrice()) > 1d? 1d : 0d; } public double calculate(TimeSeries series, List<Trade> trades) { int numberOfProfitable = 0; for (Trade trade : trades) { if(trade.getEntry().getType() == OperationType.BUY) { if(series.getTick(trade.getExit().getIndex()).getClosePrice() / series.getTick(trade.getEntry().getIndex()).getClosePrice() > 1d) numberOfProfitable++; } else if(series.getTick(trade.getEntry().getIndex()).getClosePrice() / series.getTick(trade.getExit().getIndex()).getClosePrice() > 1d) numberOfProfitable++; } return (double)numberOfProfitable / trades.size(); } public String getName() { return "Average Profitable Trades"; } public double summarize(TimeSeries series, List<Decision> decisions) { List<Trade> trades = new LinkedList<Trade>(); for (Decision decision : decisions) { trades.addAll(decision.getTrades()); } return calculate(series, trades); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (this.getClass().hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; return true; } } |
|
From: Thies <tg...@us...> - 2007-10-31 18:52:38
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24229/src/test/net/sf/tail/analysis/criteria Added Files: AverageProfitableTradesCriterionTest.java Log Message: Novo criterio --- NEW FILE: AverageProfitableTradesCriterionTest.java --- package net.sf.tail.analysis.criteria; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import net.sf.tail.AnalysisCriterion; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.TimeSeries; import net.sf.tail.Trade; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.analysis.evaluator.DummyDecision; import net.sf.tail.sample.SampleTimeSeries; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class AverageProfitableTradesCriterionTest { @Test public void testCalculate() { TimeSeries series = new SampleTimeSeries(new double[]{100d, 95d, 102d, 105d, 97d, 113d}); List<Trade> trades = new ArrayList<Trade>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.BUY))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(3, OperationType.BUY))); trades.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.BUY))); AverageProfitableTradesCriterion average = new AverageProfitableTradesCriterion(); assertEquals(2d/3, average.calculate(series, trades)); } @Test public void testCalculateWithOneTrade() { TimeSeries series = new SampleTimeSeries(new double[]{100d, 95d, 102d, 105d, 97d, 113d}); Trade trade = new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.BUY)); AverageProfitableTradesCriterion average = new AverageProfitableTradesCriterion(); assertEquals(0d, average.calculate(series, trade)); trade = new Trade(new Operation(1, OperationType.BUY), new Operation(2, OperationType.BUY)); assertEquals(1d, average.calculate(series, trade)); } @Test public void testSummarize() { TimeSeries series = new SampleTimeSeries(100d, 105d, 110d, 100d, 95d, 105d); List<Decision> decisions = new LinkedList<Decision>(); List<Trade> trades = new LinkedList<Trade>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(3, OperationType.SELL))); Decision dummy1 = new DummyDecision(trades); decisions.add(dummy1); List<Trade> trades2 = new LinkedList<Trade>(); trades2.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); Decision dummy2 = new DummyDecision(trades2); decisions.add(dummy2); AnalysisCriterion averateProfitable = new AverageProfitableTradesCriterion(); assertEquals(2d/3, averateProfitable.summarize(series, decisions), 0.01); } @Test public void testEquals() { AverageProfitableTradesCriterion criterion = new AverageProfitableTradesCriterion(); assertTrue(criterion.equals(criterion)); assertTrue(criterion.equals(new AverageProfitableTradesCriterion())); assertFalse(criterion.equals(new TotalProfitCriterion())); assertFalse(criterion.equals(5d)); assertFalse(criterion.equals(null)); } } |
|
From: Carlos <ma...@us...> - 2007-10-31 17:51:56
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30529/src/test/net/sf/tail/graphics Modified Files: CriteriaDatasetTest.java Log Message: Ajustes no teste e na classe criteria dataset. Index: CriteriaDatasetTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/CriteriaDatasetTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CriteriaDatasetTest.java 22 Oct 2007 22:36:31 -0000 1.3 --- CriteriaDatasetTest.java 31 Oct 2007 17:51:54 -0000 1.4 *************** *** 3,7 **** import static junit.framework.Assert.assertEquals; - import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedList; --- 3,6 ---- *************** *** 59,72 **** ticks.add(new Tick(new DateTime().withDate(2007, 6, 12), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 13), 6d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 12), 4d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 13), 6d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 14), 7d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 15), 8d)); series = new DefaultTimeSeries(ticks); reports = new LinkedList<Report>(); ! indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d , 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); ! indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d , 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); --- 58,71 ---- ticks.add(new Tick(new DateTime().withDate(2007, 6, 12), 4d)); ticks.add(new Tick(new DateTime().withDate(2007, 6, 13), 6d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 14), 4d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 15), 6d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 16), 7d)); ! ticks.add(new Tick(new DateTime().withDate(2007, 6, 17), 8d)); series = new DefaultTimeSeries(ticks); reports = new LinkedList<Report>(); ! indicator1 = new SampleIndicator(new double[] { 2d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d, 5d, 3d, 4d}); ! indicator2 = new SampleIndicator(new double[] { 5d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d, 2d, 4d, 3d}); strategies = new HashSet<Strategy>(); *************** *** 99,106 **** @Test public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing() { ! CriteriaDataset dataset = new CriteriaDataset(reports, series, 4); dataset.moveRight(1); assertEquals(reports.size(), dataset.getRowCount()); ! assertEquals(4, dataset.getColumnCount()); assertEquals(1d, dataset.getValue(1, 0)); } --- 98,105 ---- @Test public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing() { ! CriteriaDataset dataset = new CriteriaDataset(reports, series, 12); dataset.moveRight(1); assertEquals(reports.size(), dataset.getRowCount()); ! assertEquals(12, dataset.getColumnCount()); assertEquals(1d, dataset.getValue(1, 0)); } *************** *** 117,183 **** @Test public void testMoveRight() { ! List<Tick> ticks2 = ticks; ! SampleIndicator sindicator1 = indicator1; ! SampleIndicator sindicator2 = indicator2; ! sindicator1.addValue(5d); ! sindicator2.addValue(6d); ! Set<Strategy> strategies3 = new HashSet<Strategy>(); ! Set<Strategy> strategies4 = new HashSet<Strategy>(); ! strategies3.add(new IndicatorCrossedIndicatorStrategy(sindicator1, sindicator2)); ! strategies4.add(new IndicatorCrossedIndicatorStrategy(sindicator2, sindicator1)); ! strategies3.add(new IndicatorOverIndicatorStrategy(sindicator1, sindicator2)); ! strategies4.add(new IndicatorOverIndicatorStrategy(sindicator2, sindicator1)); ! ticks2.add(new Tick(new DateTime().withDate(2007, 6, 10), 4d)); ! TimeSeries series2 = new DefaultTimeSeries(ticks2); ! WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); ! TimeSeriesSlicer slice = new RegularSlicer(series2, new Period().withDays(2)); ! AnalysisCriterion criterion = new TotalProfitCriterion(); ! List<Report> reports2 = new ArrayList<Report>(); ! Report report3 = walk.walk(strategies3, slice, criterion); ! report3.setName("rep3"); ! Report report4 = walk.walk(strategies4, slice, criterion); ! report4.setName("rep4"); ! reports2.add(report3); ! reports2.add(report4); ! CriteriaDataset dataset = new CriteriaDataset(reports2, series2, 12); ! dataset.moveRight(1); ! assertEquals(reports2.size(), dataset.getRowCount()); ! assertEquals(10, dataset.getColumnCount()); ! assertEquals(3d, dataset.getValue(1, 9)); } @Test public void testMoveLeft() { ! List<Tick> ticks2 = ticks; ! SampleIndicator sindicator1 = indicator1; ! SampleIndicator sindicator2 = indicator2; ! sindicator1.addValue(5d); ! sindicator2.addValue(6d); ! Set<Strategy> strategies3 = new HashSet<Strategy>(); ! Set<Strategy> strategies4 = new HashSet<Strategy>(); ! strategies3.add(new IndicatorCrossedIndicatorStrategy(sindicator1, sindicator2)); ! strategies4.add(new IndicatorCrossedIndicatorStrategy(sindicator2, sindicator1)); ! strategies3.add(new IndicatorOverIndicatorStrategy(sindicator1, sindicator2)); ! strategies4.add(new IndicatorOverIndicatorStrategy(sindicator2, sindicator1)); ! ticks2.add(new Tick(new DateTime().withDate(2007, 6, 10), 4d)); ! TimeSeries series2 = new DefaultTimeSeries(ticks2); ! WalkForward walk = new WalkForward(new HigherValueEvaluator(new HistoryRunner(OperationType.BUY))); ! TimeSeriesSlicer slice = new RegularSlicer(series2, new Period().withDays(2)); ! AnalysisCriterion criterion = new TotalProfitCriterion(); ! List<Report> reports2 = new ArrayList<Report>(); ! Report report3 = walk.walk(strategies3, slice, criterion); ! report3.setName("rep3"); ! Report report4 = walk.walk(strategies4, slice, criterion); ! report4.setName("rep4"); ! reports2.add(report3); ! reports2.add(report4); ! CriteriaDataset dataset = new CriteriaDataset(reports2, series2, 12); dataset.moveRight(1); dataset.moveLeft(1); ! assertEquals(reports2.size(), dataset.getRowCount()); ! assertEquals(10, dataset.getColumnCount()); ! assertEquals(2d, dataset.getValue(1, 6)); } } --- 116,190 ---- @Test public void testMoveRight() { ! CriteriaDataset dataset = new CriteriaDataset(reports, series, 11); ! ! assertEquals(reports.size(), dataset.getRowCount()); ! assertEquals(11, dataset.getColumnCount()); ! ! assertEquals(1d, dataset.getValue(1, 0)); ! assertEquals(1d, dataset.getValue(1, 1)); ! assertEquals(1d, dataset.getValue(1, 2)); ! assertEquals(4d/3, dataset.getValue(1, 3)); ! assertEquals(4d/3, dataset.getValue(1, 4)); ! assertEquals(4d/3, dataset.getValue(1, 5)); ! assertEquals(4d/3, dataset.getValue(1, 6)); ! assertEquals(4d/3, dataset.getValue(1, 7)); ! assertEquals(4d/3, dataset.getValue(1, 8)); ! assertEquals(2d, dataset.getValue(1, 9)); ! assertEquals(2d, dataset.getValue(1, 10)); ! dataset.moveRight(1); ! ! assertEquals(reports.size(), dataset.getRowCount()); ! assertEquals(11, dataset.getColumnCount()); ! ! assertEquals(1d, dataset.getValue(1, 0)); ! assertEquals(1d, dataset.getValue(1, 1)); ! assertEquals(4d/3, dataset.getValue(1, 2)); ! assertEquals(4d/3, dataset.getValue(1, 3)); ! assertEquals(4d/3, dataset.getValue(1, 4)); ! assertEquals(4d/3, dataset.getValue(1, 5)); ! assertEquals(4d/3, dataset.getValue(1, 6)); ! assertEquals(4d/3, dataset.getValue(1, 7)); ! assertEquals(2d, dataset.getValue(1, 8)); ! assertEquals(2d, dataset.getValue(1, 9)); ! assertEquals(2d, dataset.getValue(1, 10)); } @Test public void testMoveLeft() { ! CriteriaDataset dataset = new CriteriaDataset(reports, series, 11); + assertEquals(reports.size(), dataset.getRowCount()); + assertEquals(11, dataset.getColumnCount()); + + assertEquals(1d, dataset.getValue(1, 0)); + assertEquals(1d, dataset.getValue(1, 1)); + assertEquals(1d, dataset.getValue(1, 2)); + assertEquals(4d/3, dataset.getValue(1, 3)); + assertEquals(4d/3, dataset.getValue(1, 4)); + assertEquals(4d/3, dataset.getValue(1, 5)); + assertEquals(4d/3, dataset.getValue(1, 6)); + assertEquals(4d/3, dataset.getValue(1, 7)); + assertEquals(4d/3, dataset.getValue(1, 8)); + assertEquals(2d, dataset.getValue(1, 9)); + assertEquals(2d, dataset.getValue(1, 10)); + dataset.moveRight(1); dataset.moveLeft(1); ! ! assertEquals(reports.size(), dataset.getRowCount()); ! assertEquals(11, dataset.getColumnCount()); ! ! assertEquals(1d, dataset.getValue(1, 0)); ! assertEquals(1d, dataset.getValue(1, 1)); ! assertEquals(1d, dataset.getValue(1, 2)); ! assertEquals(4d/3, dataset.getValue(1, 3)); ! assertEquals(4d/3, dataset.getValue(1, 4)); ! assertEquals(4d/3, dataset.getValue(1, 5)); ! assertEquals(4d/3, dataset.getValue(1, 6)); ! assertEquals(4d/3, dataset.getValue(1, 7)); ! assertEquals(4d/3, dataset.getValue(1, 8)); ! assertEquals(2d, dataset.getValue(1, 9)); ! assertEquals(2d, dataset.getValue(1, 10)); } } |