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-08-27 22:47:38
|
Update of /cvsroot/tail/Tail/src/templates/total In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32709/src/templates/total Modified Files: report.ftl Log Message: Mudancas no Report Index: report.ftl =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/total/report.ftl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** report.ftl 25 Aug 2007 18:33:59 -0000 1.1 --- report.ftl 27 Aug 2007 22:47:38 -0000 1.2 *************** *** 2,6 **** <#include "chart.ftl"> ! <table align="left"> <tr> <th>Period</th> --- 2,6 ---- <#include "chart.ftl"> ! <table align="center"> <tr> <th>Period</th> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:47:38
|
Update of /cvsroot/tail/Tail/src/templates/slice In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32709/src/templates/slice Modified Files: sliceReport.ftl chart.ftl Log Message: Mudancas no Report Index: sliceReport.ftl =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/slice/sliceReport.ftl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** sliceReport.ftl 25 Aug 2007 18:33:42 -0000 1.1 --- sliceReport.ftl 27 Aug 2007 22:47:38 -0000 1.2 *************** *** 1,4 **** <#include "header.ftl"> ! <table align="left"> <tr> <th>Trade</th> --- 1,5 ---- <#include "header.ftl"> ! <#include "chart.ftl"> ! <table align="center"> <tr> <th>Trade</th> *************** *** 21,27 **** </#if> <td>${x}</td> ! <td class="date">${decision.series.getTick(trade.entry.index).date}</td> <td class="date">${decision.series.getTick(trade.entry.index).closePrice}</td> ! <td class="date">${decision.series.getTick(trade.exit.index).date}</td> <td class="date">${decision.series.getTick(trade.exit.index).closePrice}</td> <#list criteria as criterion> --- 22,28 ---- </#if> <td>${x}</td> ! <td class="date">${decision.series.getTick(trade.entry.index).getDateName()}</td> <td class="date">${decision.series.getTick(trade.entry.index).closePrice}</td> ! <td class="date">${decision.series.getTick(trade.exit.index).getDateName()}</td> <td class="date">${decision.series.getTick(trade.exit.index).closePrice}</td> <#list criteria as criterion> *************** *** 35,41 **** <tr class="total"> <td>TOTAL</td> ! <td>${decision.series.getTick(decision.trades.get(0).entry.index).date}</td> <td>-</td> ! <td>${decision.series.getTick(decision.trades.get(decision.trades.size() - 1).exit.index).date}</td> <td>-</td> <#list criteria as criterion> --- 36,42 ---- <tr class="total"> <td>TOTAL</td> ! <td>${decision.series.getTick(decision.trades.get(0).entry.index).getDateName()}</td> <td>-</td> ! <td>${decision.series.getTick(decision.trades.get(decision.trades.size() - 1).exit.index).getDateName()}</td> <td>-</td> <#list criteria as criterion> Index: chart.ftl =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/slice/chart.ftl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** chart.ftl 25 Aug 2007 18:31:37 -0000 1.1 --- chart.ftl 27 Aug 2007 22:47:38 -0000 1.2 *************** *** 1,5 **** <table align="left"> <tr> ! <img src="ambev.png"> </tr> </table> --- 1,5 ---- <table align="left"> <tr> ! <img src=${image}> </tr> </table> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:58
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/test/net/sf/tail/graphics Modified Files: StockAndCashFlowChartTest.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: StockAndCashFlowChartTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/StockAndCashFlowChartTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** StockAndCashFlowChartTest.java 25 Aug 2007 18:32:39 -0000 1.4 --- StockAndCashFlowChartTest.java 27 Aug 2007 22:46:29 -0000 1.5 *************** *** 25,28 **** --- 25,29 ---- import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; + import org.joda.time.Period; public class StockAndCashFlowChartTest extends ApplicationFrame { *************** *** 67,73 **** List<Trade> trades = new HistoryRunner(OperationType.BUY).run(new IndicatorCrossedIndicatorStrategy(indicator, sma), timeSeries.getBegin(), timeSeries.getEnd()); ! cashFlow = new CashFlow(timeSeries, trades, indicator.getValue(0).doubleValue()); ! seriesDataset = new StockAndCashFlowDataset(timeSeries, indicator, cashFlow); StockAndCashFlowChart seriesAndFlowChart = new StockAndCashFlowChart(seriesDataset, false); --- 68,74 ---- List<Trade> trades = new HistoryRunner(OperationType.BUY).run(new IndicatorCrossedIndicatorStrategy(indicator, sma), timeSeries.getBegin(), timeSeries.getEnd()); ! cashFlow = new CashFlow(timeSeries, trades); ! seriesDataset = new StockAndCashFlowDataset(timeSeries, indicator, cashFlow, new Period().withMonths(6)); StockAndCashFlowChart seriesAndFlowChart = new StockAndCashFlowChart(seriesDataset, false); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:58
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/java/net/sf/tail Modified Files: Tick.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: Tick.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Tick.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** Tick.java 25 Aug 2007 12:30:01 -0000 1.18 --- Tick.java 27 Aug 2007 22:46:29 -0000 1.19 *************** *** 138,141 **** --- 138,144 ---- .toGregorianCalendar(), closePrice); } + public String getDateName() { + return this.date.toString("hh:mm dd/MM/yyyy"); + } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/java/net/sf/tail/graphics Modified Files: StockAndCashFlowChart.java StockAndCashFlowDataset.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: StockAndCashFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowChart.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** StockAndCashFlowChart.java 27 Aug 2007 20:00:48 -0000 1.6 --- StockAndCashFlowChart.java 27 Aug 2007 22:46:29 -0000 1.7 *************** *** 80,90 **** lineAndShapeRenderer.setSeriesShapesVisible(0, false); lineAndShapeRenderer.setSeriesShapesVisible(1, false); ! plot.setRenderer(lineAndShapeRenderer); for (Integer index : dataSet.getValueMarkers()) { CategoryMarker marker = new CategoryMarker(dataSet.getColumnKey(index)); marker.setPaint(Color.LIGHT_GRAY); ! //plot.addDomainMarker(marker); } } } --- 80,92 ---- lineAndShapeRenderer.setSeriesShapesVisible(0, false); lineAndShapeRenderer.setSeriesShapesVisible(1, false); ! for (Integer index : dataSet.getValueMarkers()) { CategoryMarker marker = new CategoryMarker(dataSet.getColumnKey(index)); marker.setPaint(Color.LIGHT_GRAY); ! ! plot.addDomainMarker(marker); } } + plot.setRenderer(lineAndShapeRenderer); } Index: StockAndCashFlowDataset.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowDataset.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** StockAndCashFlowDataset.java 27 Aug 2007 20:00:48 -0000 1.4 --- StockAndCashFlowDataset.java 27 Aug 2007 22:46:29 -0000 1.5 *************** *** 5,9 **** --- 5,11 ---- import net.sf.tail.Indicator; + import net.sf.tail.Operation; import net.sf.tail.TimeSeries; + import net.sf.tail.Trade; import net.sf.tail.flow.CashFlow; *************** *** 35,38 **** --- 37,42 ---- private List<Integer> valueMarkers; + private List<Trade> trades; + public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, int firstIndex, int lastIndex, Period period) { *************** *** 59,62 **** --- 63,74 ---- } + + public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, + List<Trade> trades) { + this(series, closePrice, cashFlow, series.getBegin(), series.getEnd()); + this.trades = trades; + loadTrade(series.getBegin(), series.getEnd()); + + } public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow) { *************** *** 65,68 **** --- 77,94 ---- } + private void loadTrade(int firstIndex, int lastIndex) { + for (Trade trade : trades) { + + Operation buy = trade.getEntry(); + if (buy.getIndex() >= firstIndex && buy.getIndex() <= lastIndex) + data.addValue(series.getTick(buy.getIndex()).getClosePrice(), "Buy", series.getTick(buy.getIndex()) + .getDate().toString("hh:mm d/M/yyyy")); + Operation sell = trade.getExit(); + if (sell.getIndex() >= firstIndex && sell.getIndex() <= lastIndex) + data.addValue(series.getTick(sell.getIndex()).getClosePrice(), "Sell", series.getTick(sell.getIndex()) + .getDate().toString("hh:mm d/M/yyyy")); + } + } + private void loadValues() { data = new DefaultKeyedValues2D(); *************** *** 72,86 **** .getDate().toString("hh:mm d/M/yyyy")); data.addValue(cashFlow.getValue(i), "Money Amount", series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); } ! // if (period != null) { ! // DateTime nextDateTime = series.getTick(series.getBegin()).getDate().plus(period); ! // for (int i = firstIndex; i <= lastIndex; i++) { ! // if (series.getTick(i).getDate().equals(nextDateTime)) { ! // valueMarkers.add(i); ! // nextDateTime = nextDateTime.plus(period); ! // } ! // } ! // } } --- 98,114 ---- .getDate().toString("hh:mm d/M/yyyy")); data.addValue(cashFlow.getValue(i), "Money Amount", series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); + } ! if (period != null) { ! DateTime nextDateTime = series.getTick(series.getBegin()).getDate().plus(period); ! for (int i = firstIndex; i <= lastIndex; i++) { ! ! if (series.getTick(i).getDate().compareTo(nextDateTime) >= 0) { ! valueMarkers.add(i); ! nextDateTime = nextDateTime.plus(period); ! } ! } ! } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/java/net/sf/tail/flow Modified Files: CashFlow.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: CashFlow.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/flow/CashFlow.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CashFlow.java 25 Aug 2007 19:18:26 -0000 1.11 --- CashFlow.java 27 Aug 2007 22:46:31 -0000 1.12 *************** *** 25,36 **** } ! public CashFlow(TimeSeries timeSeries, List<Trade> trades, double initialValue) { ! this.timeSeries = timeSeries; ! this.trades = trades; ! values = new ArrayList<Double>(); ! values.add(initialValue); ! calculate(); ! } ! private void calculate() { --- 25,29 ---- } ! private void calculate() { |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/test/net/sf/tail/report Modified Files: SliceReportGeneratorTest.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: SliceReportGeneratorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/SliceReportGeneratorTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SliceReportGeneratorTest.java 25 Aug 2007 18:32:38 -0000 1.1 --- SliceReportGeneratorTest.java 27 Aug 2007 22:46:31 -0000 1.2 *************** *** 3,11 **** --- 3,17 ---- import static org.junit.Assert.assertTrue; + import java.io.BufferedOutputStream; + import java.io.File; + import java.io.FileOutputStream; import java.io.IOException; + import java.io.OutputStream; + import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import net.sf.tail.AnalysisCriterion; + import net.sf.tail.Indicator; import net.sf.tail.Operation; import net.sf.tail.OperationType; *************** *** 14,21 **** --- 20,34 ---- import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.Decision; + import net.sf.tail.flow.CashFlow; + import net.sf.tail.graphics.StockAndCashFlowChart; + import net.sf.tail.graphics.StockAndCashFlowDataset; + import net.sf.tail.indicator.simple.ClosePriceIndicator; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.strategy.FakeStrategy; + import org.jfree.chart.ChartUtilities; + import org.jfree.chart.JFreeChart; + import org.joda.time.DateTime; import org.junit.Before; import org.junit.Test; *************** *** 26,34 **** private List<AnalysisCriterion> criteria; @Before public void setUp() throws Exception { ! SampleTimeSeries series = new SampleTimeSeries(); ! List<Trade> trades = new ArrayList<Trade>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); trades.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); --- 39,49 ---- private List<AnalysisCriterion> criteria; + private List<Trade> trades; @Before public void setUp() throws Exception { ! SampleTimeSeries series = new SampleTimeSeries(new DateTime().withDayOfMonth(1), new DateTime().withDayOfMonth(2), new DateTime().withDayOfMonth(3) ! , new DateTime().withDayOfMonth(4), new DateTime().withDayOfMonth(5), new DateTime().withDayOfMonth(6)); ! trades = new ArrayList<Trade>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); trades.add(new Trade(new Operation(3, OperationType.BUY), new Operation(5, OperationType.SELL))); *************** *** 44,50 **** @Test public void testSMAGenerate() throws IOException { ! StringBuffer html = new SliceReportGenerator().generate(decision, criteria); ! System.out.println(html); assertTrue(html.toString().contains("TotalProfitCriterion")); --- 59,79 ---- @Test public void testSMAGenerate() throws IOException { + String fileName = "ambev.png"; + + Indicator<Double> close = new ClosePriceIndicator(decision.getSeries()); + + CashFlow cashflow = new CashFlow(decision.getSeries(), decision.getTrades()); + StockAndCashFlowDataset stockData = new StockAndCashFlowDataset(decision.getSeries(), close, cashflow,this.trades); + StockAndCashFlowChart stockChart = new StockAndCashFlowChart(stockData, true); + JFreeChart jfreechart = stockChart.createChart(""); ! ChartUtilities.saveChartAsPNG(new File("src/templates/slice/" + fileName), jfreechart, 800, 300); ! ! StringBuffer html = new SliceReportGenerator().generate(decision, criteria, fileName); ! File reportHtml = new File("src/templates/slice/report.html"); ! OutputStream out = new BufferedOutputStream(new FileOutputStream(reportHtml)); ! PrintWriter write = new PrintWriter(out); ! write.print(html); ! write.close(); assertTrue(html.toString().contains("TotalProfitCriterion")); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/test/net/sf/tail Modified Files: EMACompleteTest.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: EMACompleteTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/EMACompleteTest.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** EMACompleteTest.java 25 Aug 2007 18:32:39 -0000 1.10 --- EMACompleteTest.java 27 Aug 2007 22:46:31 -0000 1.11 *************** *** 70,75 **** criteria.add(new RewardRiskRatioCriterion()); ! CashFlow cashflow = new CashFlow(timeSeries, r.getAllTrades(), timeSeries.getTick(0).getClosePrice()); ! StockAndCashFlowDataset stockData = new StockAndCashFlowDataset(timeSeries, close, cashflow); StockAndCashFlowChart stockChart = new StockAndCashFlowChart(stockData, false); JFreeChart jfreechart = stockChart.createChart(""); --- 70,75 ---- criteria.add(new RewardRiskRatioCriterion()); ! CashFlow cashflow = new CashFlow(timeSeries, r.getAllTrades()); ! StockAndCashFlowDataset stockData = new StockAndCashFlowDataset(timeSeries, close, cashflow, new Period().withMonths(1)); StockAndCashFlowChart stockChart = new StockAndCashFlowChart(stockData, false); JFreeChart jfreechart = stockChart.createChart(""); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/sample In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/test/net/sf/tail/sample Modified Files: SampleTimeSeries.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: SampleTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/sample/SampleTimeSeries.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** SampleTimeSeries.java 23 Aug 2007 12:51:11 -0000 1.12 --- SampleTimeSeries.java 27 Aug 2007 22:46:31 -0000 1.13 *************** *** 36,40 **** public SampleTimeSeries(DateTime... dates) { ticks = new ArrayList<Tick>(); ! int i = 0; for (DateTime date : dates) { ticks.add(new Tick(date, i++)); --- 36,40 ---- public SampleTimeSeries(DateTime... dates) { ticks = new ArrayList<Tick>(); ! int i = 1; for (DateTime date : dates) { ticks.add(new Tick(date, i++)); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/test/net/sf/tail/flow Modified Files: CashFlowTest.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: CashFlowTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/flow/CashFlowTest.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CashFlowTest.java 23 Aug 2007 12:51:08 -0000 1.9 --- CashFlowTest.java 27 Aug 2007 22:46:31 -0000 1.10 *************** *** 59,81 **** } - @Test - public void testCashFlowWithInitialValue() { - TimeSeries sampleTimeSeries = new SampleTimeSeries(2, 1, 3, 5, 6, 3, 20); - - List<Trade> trades = new ArrayList<Trade>(); - trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); - trades.add(new Trade(new Operation(3, OperationType.BUY), new Operation(4, OperationType.SELL))); - trades.add(new Trade(new Operation(5, OperationType.SELL), new Operation(6, OperationType.BUY))); - - CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades, 100); - - assertEquals(100d, cashFlow.getValue(0), 0.0001); - assertEquals(50d, cashFlow.getValue(1), 0.0001); - assertEquals(50d, cashFlow.getValue(2), 0.0001); - assertEquals(50d, cashFlow.getValue(3), 0.0001); - assertEquals(60d, cashFlow.getValue(4), 0.0001); - assertEquals(60d, cashFlow.getValue(5), 0.0001); - assertEquals(9d, cashFlow.getValue(6), 0.0001); - } @Test --- 59,62 ---- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 22:46:31
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32175/src/java/net/sf/tail/report Modified Files: SliceReportGenerator.java Log Message: Normalizacao do cashflow com o valor da acao, retas no grafico quando muda o slice do timeSeries, finalizacao do report de um slice Index: SliceReportGenerator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/SliceReportGenerator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SliceReportGenerator.java 25 Aug 2007 18:32:38 -0000 1.1 --- SliceReportGenerator.java 27 Aug 2007 22:46:31 -0000 1.2 *************** *** 18,25 **** public StringBuffer generate(Decision decision) throws IOException { ! return generate(decision, Collections.<AnalysisCriterion> emptyList()); } ! public StringBuffer generate(Decision decision, List<AnalysisCriterion> criteria) throws IOException { Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File(FM_TEMPLATE_DIR)); --- 18,25 ---- public StringBuffer generate(Decision decision) throws IOException { ! return generate(decision, Collections.<AnalysisCriterion> emptyList(), ""); } ! public StringBuffer generate(Decision decision, List<AnalysisCriterion> criteria, String imagePath) throws IOException { Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File(FM_TEMPLATE_DIR)); *************** *** 31,34 **** --- 31,35 ---- map.put("decision", decision); map.put("criteria", criteria); + map.put("image" , imagePath); FreemarkerProcessor processor = new FreemarkerProcessor(cfg); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:58
|
Update of /cvsroot/tail/TailS In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24577 Modified Files: .project .classpath Log Message: Hello World Index: .project =================================================================== RCS file: /cvsroot/tail/TailS/.project,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .project 25 Aug 2007 18:42:18 -0000 1.1 --- .project 27 Aug 2007 21:12:59 -0000 1.2 *************** *** 11,17 **** --- 11,23 ---- </arguments> </buildCommand> + <buildCommand> + <name>javafx.eclipse.f3editor.builder.F3Builder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> + <nature>javafx.eclipse.f3editor.builder.F3Nature</nature> </natures> </projectDescription> Index: .classpath =================================================================== RCS file: /cvsroot/tail/TailS/.classpath,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .classpath 25 Aug 2007 18:42:18 -0000 1.1 --- .classpath 27 Aug 2007 21:12:59 -0000 1.2 *************** *** 1,6 **** <?xml version="1.0" encoding="UTF-8"?> <classpath> ! <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="output" path="bin"/> </classpath> --- 1,7 ---- <?xml version="1.0" encoding="UTF-8"?> <classpath> ! <classpathentry kind="src" path="src/java"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JavaFX"/> <classpathentry kind="output" path="bin"/> </classpath> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:58
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/app In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24577/src/java/net/sf/tails/app Added Files: TailSApp.fx Log Message: Hello World --- NEW FILE: TailSApp.fx --- import javafx.ui.*; import java.lang.System; import javafxdemoapplication.*; class ButtonClickModel { attribute numClicks: Number; } var newAnalysis = Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "oi" } visible: true }; var model = new ButtonClickModel(); var exitItem = MenuItem { text: "Exit" mnemonic: X accelerator: { modifier: ALT keyStroke: F4 } action: operation() { System.exit(0); } }; var newStockAnalysisItem = MenuItem { text: "New Stock Analisys" mnemonic: A action: operation() { return newAnalysis; } }; var openStockAnalysisItem = MenuItem { text: "Open Stock Analisys" mnemonic: O action: operation() { } }; Frame { width: 800 menubar: MenuBar { menus: Menu { text: "File" mnemonic: F items: [newStockAnalysisItem,openStockAnalysisItem,exitItem ] } } content: GridPanel { border: EmptyBorder { top: 30 left: 30 bottom: 30 right: 30 } rows: 2 columns: 1 vgap: 10 cells: [Button { text: "I'm a button!" mnemonic: I action: operation() { model.numClicks++; } }, Label { text: bind "Number of button clicks: {model.numClicks}" }] } visible: true } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:50
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/app In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24533/src/java/net/sf/tails/app Log Message: Directory /cvsroot/tail/TailS/src/java/net/sf/tails/app added to the repository |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:50
|
Update of /cvsroot/tail/TailS/src/java/net In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24533/src/java/net Log Message: Directory /cvsroot/tail/TailS/src/java/net added to the repository |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:50
|
Update of /cvsroot/tail/TailS/src/java/net/sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24533/src/java/net/sf Log Message: Directory /cvsroot/tail/TailS/src/java/net/sf added to the repository |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:50
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24533/src/java/net/sf/tails Log Message: Directory /cvsroot/tail/TailS/src/java/net/sf/tails added to the repository |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 21:12:50
|
Update of /cvsroot/tail/TailS/src/java In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24533/src/java Log Message: Directory /cvsroot/tail/TailS/src/java added to the repository |
|
From: Thies <tg...@us...> - 2007-08-27 20:00:49
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20346/src/java/net/sf/tail/graphics Modified Files: StockAndCashFlowDataset.java StockAndCashFlowChart.java Log Message: Preparando gráfico para separar os slices Index: StockAndCashFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowChart.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** StockAndCashFlowChart.java 25 Aug 2007 18:32:39 -0000 1.5 --- StockAndCashFlowChart.java 27 Aug 2007 20:00:48 -0000 1.6 *************** *** 10,17 **** import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.LineAndShapeRenderer; - import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetChangeEvent; import org.jfree.data.general.DatasetChangeListener; --- 10,17 ---- import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.NumberAxis; + import org.jfree.chart.plot.CategoryMarker; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.data.general.DatasetChangeEvent; import org.jfree.data.general.DatasetChangeListener; *************** *** 19,23 **** public class StockAndCashFlowChart implements DatasetChangeListener { ! private CategoryDataset dataSet; private CategoryPlot plot; --- 19,23 ---- public class StockAndCashFlowChart implements DatasetChangeListener { ! private StockAndCashFlowDataset dataSet; private CategoryPlot plot; *************** *** 27,31 **** private boolean drawShapes; ! public StockAndCashFlowChart(CategoryDataset dataSet, boolean drawShapes) { this.dataSet = dataSet; this.dataSet.addChangeListener(this); --- 27,32 ---- private boolean drawShapes; ! ! public StockAndCashFlowChart(StockAndCashFlowDataset dataSet, boolean drawShapes) { this.dataSet = dataSet; this.dataSet.addChangeListener(this); *************** *** 40,44 **** plot = (CategoryPlot) jfreechart.getPlot(); plot.setBackgroundPaint(Color.WHITE); ! // Setando labels em 90 graus CategoryAxis categoryAxis = plot.getDomainAxis(); --- 41,45 ---- plot = (CategoryPlot) jfreechart.getPlot(); plot.setBackgroundPaint(Color.WHITE); ! // Setando labels em 90 graus CategoryAxis categoryAxis = plot.getDomainAxis(); *************** *** 80,83 **** --- 81,89 ---- lineAndShapeRenderer.setSeriesShapesVisible(1, false); plot.setRenderer(lineAndShapeRenderer); + for (Integer index : dataSet.getValueMarkers()) { + CategoryMarker marker = new CategoryMarker(dataSet.getColumnKey(index)); + marker.setPaint(Color.LIGHT_GRAY); + //plot.addDomainMarker(marker); + } } } Index: StockAndCashFlowDataset.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowDataset.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StockAndCashFlowDataset.java 25 Aug 2007 12:30:01 -0000 1.3 --- StockAndCashFlowDataset.java 27 Aug 2007 20:00:48 -0000 1.4 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.graphics; + import java.util.ArrayList; import java.util.List; *************** *** 10,13 **** --- 11,16 ---- import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.AbstractDataset; + import org.joda.time.DateTime; + import org.joda.time.Period; @SuppressWarnings("unchecked") *************** *** 28,33 **** private TimeSeries series; public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, ! int firstIndex, int lastIndex) { this.data = new DefaultKeyedValues2D(); this.closePrice = closePrice; --- 31,40 ---- private TimeSeries series; + private Period period; + + private List<Integer> valueMarkers; + public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, ! int firstIndex, int lastIndex, Period period) { this.data = new DefaultKeyedValues2D(); this.closePrice = closePrice; *************** *** 36,63 **** this.lastIndex = lastIndex; this.series = series; loadValues(); } public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow) { ! this.data = new DefaultKeyedValues2D(); ! this.closePrice = closePrice; ! this.cashFlow = cashFlow; ! this.firstIndex = series.getBegin(); ! this.lastIndex = series.getEnd(); ! this.series = series; - loadValues(); } private void loadValues() { data = new DefaultKeyedValues2D(); for (int i = firstIndex; i <= lastIndex; i++) { ! data.addValue(closePrice.getValue(i), closePrice.getName(), series.getTick(i).getDate().toString( ! "hh:mm d/M/yyyy")); ! } ! for (int i = firstIndex; i <= lastIndex; i++) { data.addValue(cashFlow.getValue(i), "Money Amount", series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); } } --- 43,87 ---- this.lastIndex = lastIndex; this.series = series; + this.period = period; + this.valueMarkers = new ArrayList<Integer>(); loadValues(); } + public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, + int firstIndex, int lastIndex) { + this(series, closePrice, cashFlow, firstIndex, lastIndex, null); + } + + public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, + Period period) { + this(series, closePrice, cashFlow, series.getBegin(), series.getEnd(), period); + + } + public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow) { ! this(series, closePrice, cashFlow, series.getBegin(), series.getEnd(), null); } private void loadValues() { data = new DefaultKeyedValues2D(); + double firstValue = closePrice.getValue(0).doubleValue(); for (int i = firstIndex; i <= lastIndex; i++) { ! data.addValue(closePrice.getValue(i).doubleValue() / firstValue, closePrice.getName(), series.getTick(i) ! .getDate().toString("hh:mm d/M/yyyy")); data.addValue(cashFlow.getValue(i), "Money Amount", series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); } + + // if (period != null) { + // DateTime nextDateTime = series.getTick(series.getBegin()).getDate().plus(period); + // for (int i = firstIndex; i <= lastIndex; i++) { + // if (series.getTick(i).getDate().equals(nextDateTime)) { + // valueMarkers.add(i); + // nextDateTime = nextDateTime.plus(period); + // } + // } + // } + } *************** *** 101,103 **** --- 125,131 ---- return this.data.getValue(row, column); } + + public List<Integer> getValueMarkers() { + return valueMarkers; + } } |
|
From: Thies <tg...@us...> - 2007-08-27 17:34:26
|
Update of /cvsroot/tail/Tail/src/templates/slice In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv2208/src/templates/slice Added Files: report.html Log Message: SliceReport --- NEW FILE: report.html --- <html> <head> <title>Walk Forward Report</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body> <h1>Slice Report</h1> <h2>Stock: <span class="titleHeader">SampleTimeSeries</span></h2> <h3> <span class="settingsFixed">Strategy: </span> <span class="settings">FakeStrategy</span> <span class="settingsFixed">Criteria: </span> <span class="settings">TotalProfitCriterion</span></h3> <table align="left"> <tr> <th>Trade</th> <th>Buy Date</th> <th>Buy Price</th> <th>Sell Date</th> <th>Sell Price</th> <th> NumberOfTicksCriterion </th> <th> TotalProfitCriterion </th> </tr> <tr class="row2"> <td>1</td> <td class="date">2007-08-25T15:23:15.966-03:00</td> <td class="date">1</td> <td class="date">2007-08-25T15:23:16.212-03:00</td> <td class="date">3</td> <td> 2</td> <td> 3</td> <tr class="row1"> <td>2</td> <td class="date">2007-08-25T15:23:16.212-03:00</td> <td class="date">4</td> <td class="date">2007-08-25T15:23:16.213-03:00</td> <td class="date">6</td> <td> 2</td> <td> 1.5</td> </tr> <tr class="total"> <td>TOTAL</td> <td>2007-08-25T15:23:15.966-03:00</td> <td>-</td> <td>2007-08-25T15:23:16.213-03:00</td> <td>-</td> <td>4 </td> <td>4.5 </td> </tr> </table> </body> </html> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 17:26:19
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/io/reader In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/io/reader Modified Files: CedroTimeSeriesLoader.java Log Message: problemas com o cvs Index: CedroTimeSeriesLoader.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/io/reader/CedroTimeSeriesLoader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CedroTimeSeriesLoader.java 20 Aug 2007 21:31:20 -0000 1.1 --- CedroTimeSeriesLoader.java 25 Aug 2007 12:30:02 -0000 1.2 *************** *** 37,41 **** else simpleDate = new SimpleDateFormat("dd/M/yyyy"); ! Date dateUtil; try { --- 37,41 ---- else simpleDate = new SimpleDateFormat("dd/M/yyyy"); ! Date dateUtil; try { *************** *** 44,50 **** throw new RuntimeException(e); } ! DateTime date = new DateTime(dateUtil.getTime()); ! double open = java.lang.Double.parseDouble(reader.get(1)); double close = java.lang.Double.parseDouble(reader.get(2)); --- 44,50 ---- throw new RuntimeException(e); } ! DateTime date = new DateTime(dateUtil.getTime()); ! double open = java.lang.Double.parseDouble(reader.get(1)); double close = java.lang.Double.parseDouble(reader.get(2)); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 17:26:02
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/oscilator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/indicator/oscilator Modified Files: StochasticOscilatorK.java StochasticOscilatorD.java Log Message: problemas com o cvs Index: StochasticOscilatorD.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/oscilator/StochasticOscilatorD.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** StochasticOscilatorD.java 21 Jul 2007 15:13:46 -0000 1.4 --- StochasticOscilatorD.java 25 Aug 2007 12:30:01 -0000 1.5 *************** *** 6,28 **** /** * ! * Receive StochasticOscilatorK and returns his SMA(3) * * @author tgthies ! * */ ! public class StochasticOscilatorD implements Indicator<Double>{ ! private Indicator<? extends Number> indicator; ! ! public StochasticOscilatorD(StochasticOscilatorK k) ! { indicator = new SMAIndicator(k, 3); } ! public StochasticOscilatorD(Indicator<? extends Number> indicator) ! { this.indicator = indicator; ! } ! public Double getValue(int index) { --- 6,26 ---- /** * ! * Receive StochasticOscilatorK and returns his SMA(3) * * @author tgthies ! * */ ! public class StochasticOscilatorD implements Indicator<Double> { ! private Indicator<? extends Number> indicator; ! ! public StochasticOscilatorD(StochasticOscilatorK k) { indicator = new SMAIndicator(k, 3); } ! public StochasticOscilatorD(Indicator<? extends Number> indicator) { this.indicator = indicator; ! } ! public Double getValue(int index) { *************** *** 30,36 **** } - public String getName() { ! return getClass().getSimpleName()+" "+indicator.getName(); } } --- 28,33 ---- } public String getName() { ! return getClass().getSimpleName() + " " + indicator.getName(); } } Index: StochasticOscilatorK.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/oscilator/StochasticOscilatorK.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** StochasticOscilatorK.java 26 Jul 2007 22:23:34 -0000 1.5 --- StochasticOscilatorK.java 25 Aug 2007 12:30:01 -0000 1.6 *************** *** 10,20 **** /** ! * ! * Receives timeSeries and timeFrame and calculates the StochasticOscilatorK over ClosePriceIndicator, or ! * receives an indicator, MaxPriceIndicator and MinPriceIndicator and returns StochasticOsiclatorK over this indicator. * @author tgthies ! * */ ! public class StochasticOscilatorK implements Indicator<Double> { private final Indicator<? extends Number> indicator; --- 10,22 ---- /** ! * ! * Receives timeSeries and timeFrame and calculates the StochasticOscilatorK ! * over ClosePriceIndicator, or receives an indicator, MaxPriceIndicator and ! * MinPriceIndicator and returns StochasticOsiclatorK over this indicator. ! * * @author tgthies ! * */ ! public class StochasticOscilatorK implements Indicator<Double> { private final Indicator<? extends Number> indicator; *************** *** 24,30 **** private MinPriceIndicator minPriceIndicator; ! ! ! public StochasticOscilatorK(TimeSeries timeSeries, int timeFrame) { this(new ClosePriceIndicator(timeSeries), timeFrame, new MaxPriceIndicator(timeSeries), new MinPriceIndicator( --- 26,30 ---- private MinPriceIndicator minPriceIndicator; ! public StochasticOscilatorK(TimeSeries timeSeries, int timeFrame) { this(new ClosePriceIndicator(timeSeries), timeFrame, new MaxPriceIndicator(timeSeries), new MinPriceIndicator( *************** *** 51,55 **** public String getName() { ! return getClass().getSimpleName()+" timeFrame: "+timeFrame; } } --- 51,55 ---- public String getName() { ! return getClass().getSimpleName() + " timeFrame: " + timeFrame; } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 17:25:27
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/indicator/tracker Modified Files: EMAIndicator.java SMAIndicator.java RSIIndicator.java WilliamsRIndicator.java Log Message: problemas com o cvs Index: WilliamsRIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/WilliamsRIndicator.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** WilliamsRIndicator.java 21 Jul 2007 15:13:46 -0000 1.10 --- WilliamsRIndicator.java 25 Aug 2007 12:30:00 -0000 1.11 *************** *** 18,22 **** private MinPriceIndicator minPriceIndicator; ! public WilliamsRIndicator(TimeSeries timeSeries, int timeFrame) { this(new ClosePriceIndicator(timeSeries), timeFrame, new MaxPriceIndicator(timeSeries), new MinPriceIndicator( --- 18,22 ---- private MinPriceIndicator minPriceIndicator; ! public WilliamsRIndicator(TimeSeries timeSeries, int timeFrame) { this(new ClosePriceIndicator(timeSeries), timeFrame, new MaxPriceIndicator(timeSeries), new MinPriceIndicator( Index: RSIIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/RSIIndicator.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** RSIIndicator.java 26 Jul 2007 22:23:34 -0000 1.14 --- RSIIndicator.java 25 Aug 2007 12:30:00 -0000 1.15 *************** *** 21,25 **** private Double relativeStrength(int index) { ! if(index == 0) return 0d; AverageGainIndicator averageGain = new AverageGainIndicator(indicator, timeFrame); --- 21,25 ---- private Double relativeStrength(int index) { ! if (index == 0) return 0d; AverageGainIndicator averageGain = new AverageGainIndicator(indicator, timeFrame); *************** *** 27,34 **** return averageGain.getValue(index) / averageLoss.getValue(index); } - public String getName() { ! return getClass().getName()+" timeFrame: "+timeFrame; } } --- 27,33 ---- return averageGain.getValue(index) / averageLoss.getValue(index); } public String getName() { ! return getClass().getName() + " timeFrame: " + timeFrame; } } Index: SMAIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/SMAIndicator.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** SMAIndicator.java 8 Aug 2007 18:34:33 -0000 1.12 --- SMAIndicator.java 25 Aug 2007 12:30:00 -0000 1.13 *************** *** 23,29 **** return sum / Math.min(timeFrame, index + 1); } ! public String getName() { ! return getClass().getSimpleName()+ " timeFrame: "+timeFrame; } --- 23,29 ---- return sum / Math.min(timeFrame, index + 1); } ! public String getName() { ! return getClass().getSimpleName() + " timeFrame: " + timeFrame; } Index: EMAIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/EMAIndicator.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** EMAIndicator.java 8 Aug 2007 18:34:33 -0000 1.17 --- EMAIndicator.java 25 Aug 2007 12:30:00 -0000 1.18 *************** *** 23,34 **** if (index + 1 < timeFrame) return new SMAIndicator(indicator, timeFrame).getValue(index); ! double emaPrev = getValue(index - 1).doubleValue(); return ((indicator.getValue(index).doubleValue() - emaPrev) * multiplier()) + emaPrev; } - public String getName() { ! return getClass().getSimpleName()+" timeFrame: "+timeFrame; } } --- 23,33 ---- if (index + 1 < timeFrame) return new SMAIndicator(indicator, timeFrame).getValue(index); ! double emaPrev = getValue(index - 1).doubleValue(); return ((indicator.getValue(index).doubleValue() - emaPrev) * multiplier()) + emaPrev; } public String getName() { ! return getClass().getSimpleName() + " timeFrame: " + timeFrame; } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 16:34:51
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail Modified Files: TimeSeriesSlicer.java TimeSeriesLoader.java Indicator.java Evaluator.java Walker.java AnalysisCriterion.java Tick.java TimeSeries.java ConstrainedTimeSeries.java Trade.java Runner.java Log Message: problemas com o cvs Index: Runner.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Runner.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Runner.java 5 Jul 2007 17:26:05 -0000 1.1 --- Runner.java 25 Aug 2007 12:30:01 -0000 1.2 *************** *** 3,7 **** import java.util.List; - public interface Runner { --- 3,6 ---- Index: AnalysisCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/AnalysisCriterion.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** AnalysisCriterion.java 9 Aug 2007 15:21:25 -0000 1.6 --- AnalysisCriterion.java 25 Aug 2007 12:30:01 -0000 1.7 *************** *** 5,14 **** import net.sf.tail.analysis.evaluator.Decision; - - public interface AnalysisCriterion { ! double calculate(TimeSeries series, List<Trade> trades); ! ! double summarize(TimeSeries series,List<Decision> decisions); } --- 5,12 ---- import net.sf.tail.analysis.evaluator.Decision; public interface AnalysisCriterion { ! double calculate(TimeSeries series, List<Trade> trades); ! ! double summarize(TimeSeries series, List<Decision> decisions); } Index: Walker.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Walker.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Walker.java 7 Aug 2007 17:34:44 -0000 1.9 --- Walker.java 25 Aug 2007 12:30:01 -0000 1.10 *************** *** 7,11 **** public interface Walker { ! Report walk(Set<Strategy> strategies, TimeSeriesSlicer splittedSeries, AnalysisCriterion criterion) ; } \ No newline at end of file --- 7,11 ---- public interface Walker { ! Report walk(Set<Strategy> strategies, TimeSeriesSlicer splittedSeries, AnalysisCriterion criterion); } \ No newline at end of file Index: TimeSeriesLoader.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/TimeSeriesLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TimeSeriesLoader.java 7 Aug 2007 17:34:44 -0000 1.2 --- TimeSeriesLoader.java 25 Aug 2007 12:30:01 -0000 1.3 *************** *** 4,8 **** import java.io.InputStream; - public interface TimeSeriesLoader { TimeSeries load(InputStream stream, String seriesName) throws IOException; --- 4,7 ---- Index: Indicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Indicator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Indicator.java 20 Aug 2007 18:03:58 -0000 1.6 --- Indicator.java 25 Aug 2007 12:30:01 -0000 1.7 *************** *** 11,16 **** * @param <T> */ ! public interface Indicator<T>{ public T getValue(int index); public String getName(); } --- 11,17 ---- * @param <T> */ ! public interface Indicator<T> { public T getValue(int index); + public String getName(); } Index: Tick.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Tick.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Tick.java 5 Aug 2007 12:43:15 -0000 1.17 --- Tick.java 25 Aug 2007 12:30:01 -0000 1.18 *************** *** 36,41 **** this.closePrice = closePrice; } ! ! public Tick(DateTime data,double closePrice) { super(); this.closePrice = closePrice; --- 36,41 ---- this.closePrice = closePrice; } ! ! public Tick(DateTime data, double closePrice) { super(); this.closePrice = closePrice; *************** *** 99,107 **** if (obj instanceof Tick) { Tick tick = (Tick) obj; ! return (hashCode() == tick.hashCode() ! && (variation == tick.getVariation()) && (closePrice == tick.getClosePrice())) ! && (date.equals(tick.getDate())) && (maxPrice == tick.getMaxPrice()) ! && (minPrice == tick.getMinPrice()) && (openPrice == tick.getOpenPrice()) ! && (previousPrice == getPreviousPrice()) && (trades == tick.getTrades()) && (amount == tick.getAmount()) && (volume == tick.getVolume()); } --- 99,110 ---- if (obj instanceof Tick) { Tick tick = (Tick) obj; ! return (hashCode() == tick.hashCode() && (variation == tick.getVariation()) && (closePrice == tick ! .getClosePrice())) ! && (date.equals(tick.getDate())) ! && (maxPrice == tick.getMaxPrice()) ! && (minPrice == tick.getMinPrice()) ! && (openPrice == tick.getOpenPrice()) ! && (previousPrice == getPreviousPrice()) ! && (trades == tick.getTrades()) && (amount == tick.getAmount()) && (volume == tick.getVolume()); } Index: TimeSeriesSlicer.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/TimeSeriesSlicer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TimeSeriesSlicer.java 15 Aug 2007 22:07:53 -0000 1.4 --- TimeSeriesSlicer.java 25 Aug 2007 12:30:01 -0000 1.5 *************** *** 1,20 **** package net.sf.tail; - - public interface TimeSeriesSlicer { TimeSeries getSlice(int position); int getSlices(); TimeSeries getSeries(); TimeSeries getBiggerSlice(int position, int numberOfPeriodsOfTheSlice); String getName(); ! //String getPeriod(); SlicerType getSlicerType(); TimeSeriesSlicer applyForType(SlicerType type); ! public enum SlicerType { ! MEMORIZED, ! REGULAR } } \ No newline at end of file --- 1,23 ---- package net.sf.tail; public interface TimeSeriesSlicer { TimeSeries getSlice(int position); + int getSlices(); + TimeSeries getSeries(); + TimeSeries getBiggerSlice(int position, int numberOfPeriodsOfTheSlice); + String getName(); ! ! // String getPeriod(); SlicerType getSlicerType(); + TimeSeriesSlicer applyForType(SlicerType type); ! public enum SlicerType { ! MEMORIZED, REGULAR } } \ No newline at end of file Index: ConstrainedTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/ConstrainedTimeSeries.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ConstrainedTimeSeries.java 8 Aug 2007 22:03:27 -0000 1.6 --- ConstrainedTimeSeries.java 25 Aug 2007 12:30:01 -0000 1.7 *************** *** 10,14 **** public ConstrainedTimeSeries(TimeSeries series, int begin, int end) { ! if (end < begin - 1) { throw new IllegalArgumentException("end cannot be < than begin - 1"); } --- 10,14 ---- public ConstrainedTimeSeries(TimeSeries series, int begin, int end) { ! if (end < begin - 1) { throw new IllegalArgumentException("end cannot be < than begin - 1"); } *************** *** 44,50 **** return "Constrained for: " + series.getName(); } ! public String getPeriod() { ! return series.getTick(begin).getDate().toString("hh:mm dd/MM/yyyy - ") + series.getTick(end).getDate().toString("hh:mm dd/MM/yyyy"); } } --- 44,51 ---- return "Constrained for: " + series.getName(); } ! public String getPeriod() { ! return series.getTick(begin).getDate().toString("hh:mm dd/MM/yyyy - ") ! + series.getTick(end).getDate().toString("hh:mm dd/MM/yyyy"); } } Index: Evaluator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Evaluator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Evaluator.java 2 Aug 2007 21:34:52 -0000 1.3 --- Evaluator.java 25 Aug 2007 12:30:01 -0000 1.4 *************** *** 5,9 **** import net.sf.tail.analysis.evaluator.Decision; - public interface Evaluator { --- 5,8 ---- Index: Trade.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Trade.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Trade.java 23 Aug 2007 12:41:52 -0000 1.10 --- Trade.java 25 Aug 2007 12:30:01 -0000 1.11 *************** *** 5,9 **** * * @author Marcio ! * */ public class Trade { --- 5,9 ---- * * @author Marcio ! * */ public class Trade { *************** *** 20,34 **** public Trade(OperationType startingType) { ! if(startingType != null) this.startingType = startingType; else throw new NullPointerException(); } ! public Trade(Operation entry, Operation exit) { this.entry = entry; this.exit = exit; } ! public Operation getEntry() { return this.entry; --- 20,34 ---- public Trade(OperationType startingType) { ! if (startingType != null) this.startingType = startingType; else throw new NullPointerException(); } ! public Trade(Operation entry, Operation exit) { this.entry = entry; this.exit = exit; } ! public Operation getEntry() { return this.entry; *************** *** 41,52 **** @Override public boolean equals(Object obj) { ! if(obj instanceof Trade){ ! Trade t = (Trade)obj; ! return entry.equals(t.getEntry()) && ! exit.equals(t.getExit()); } return false; } ! @Override public int hashCode() { --- 41,51 ---- @Override public boolean equals(Object obj) { ! if (obj instanceof Trade) { ! Trade t = (Trade) obj; ! return entry.equals(t.getEntry()) && exit.equals(t.getExit()); } return false; } ! @Override public int hashCode() { *************** *** 54,64 **** } - public void operate(int i) { if (this.isNew()) { this.entry = new Operation(i, this.startingType); ! } ! else if (this.isOpened()) { ! if (i < this.entry.getIndex()) throw new IllegalStateException("The index i is less than the entryOperation index"); this.exit = new Operation(i, this.startingType.complementType()); --- 53,61 ---- } public void operate(int i) { if (this.isNew()) { this.entry = new Operation(i, this.startingType); ! } else if (this.isOpened()) { ! if (i < this.entry.getIndex()) throw new IllegalStateException("The index i is less than the entryOperation index"); this.exit = new Operation(i, this.startingType.complementType()); *************** *** 77,81 **** return this.entry == null && this.exit == null; } ! @Override public String toString() { --- 74,78 ---- return this.entry == null && this.exit == null; } ! @Override public String toString() { Index: TimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/TimeSeries.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TimeSeries.java 8 Aug 2007 22:03:27 -0000 1.8 --- TimeSeries.java 25 Aug 2007 12:30:01 -0000 1.9 *************** *** 2,9 **** /** ! * Time Series é um conjunto de {@link Tick} ordenados por um determinado perÃodo temporal. * * @author Marcio ! * */ public interface TimeSeries { --- 2,10 ---- /** ! * Time Series é um conjunto de {@link Tick} ordenados por um determinado ! * perÃodo temporal. * * @author Marcio ! * */ public interface TimeSeries { *************** *** 16,22 **** int getEnd(); ! String getName(); ! String getPeriod(); } --- 17,23 ---- int getEnd(); ! String getName(); ! String getPeriod(); } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 16:34:42
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/runner In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/runner Modified Files: HistoryRunner.java Log Message: problemas com o cvs Index: HistoryRunner.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/runner/HistoryRunner.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** HistoryRunner.java 23 Aug 2007 12:47:26 -0000 1.15 --- HistoryRunner.java 25 Aug 2007 12:30:01 -0000 1.16 *************** *** 16,22 **** private static final Logger LOG = Logger.getLogger(HistoryRunner.class); ! public HistoryRunner(OperationType type) { ! if(type == null) throw new NullPointerException(); this.operationType = type; --- 16,22 ---- private static final Logger LOG = Logger.getLogger(HistoryRunner.class); ! public HistoryRunner(OperationType type) { ! if (type == null) throw new NullPointerException(); this.operationType = type; *************** *** 28,32 **** throw new IndexOutOfBoundsException(); ! if(start > end) throw new IllegalArgumentException(); --- 28,32 ---- throw new IndexOutOfBoundsException(); ! if (start > end) throw new IllegalArgumentException(); *************** *** 37,41 **** if (strategy.shouldOperate(lastTrade, i)) { lastTrade.operate(i); ! if(lastTrade.isClosed()){ trades.add(lastTrade); LOG.debug("new trade: " + lastTrade); --- 37,41 ---- if (strategy.shouldOperate(lastTrade, i)) { lastTrade.operate(i); ! if (lastTrade.isClosed()) { trades.add(lastTrade); LOG.debug("new trade: " + lastTrade); *************** *** 46,50 **** if (lastTrade.isOpened()) { lastTrade.operate(end); ! LOG.debug("new trade for closing time: " + lastTrade);; trades.add(lastTrade); } --- 46,51 ---- if (lastTrade.isOpened()) { lastTrade.operate(end); ! LOG.debug("new trade for closing time: " + lastTrade); ! ; trades.add(lastTrade); } |