@SuppressWarnings("unused") //Test private void exportQuotations(String filename, ArrayList<OHLCDataItem> data) { File export = new File(filename); SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); try { FileWriter fos = new FileWriter(export); fos.write("DATE,QUOTE\n"); for (int i = 0; i < data.size(); i++) { fos.write(df.format(data.get(i).getDate()) + "," + data.get(i).getClose() + "\n"); } fos.close(); } catch (IOException e) { LOGGER.error("", e); } }
private DefaultOHLCDataset createDataSetFromStockInfo(StockInfo[][] dataList) { int totalLength = 0; for (int index = 0; index < dataList.length; index++) { logger.log("running on datalist index " + index + " value is null? " + (dataList[index]==null) ); totalLength += dataList[index].length; } SimpleDateFormat dateFormat = new SimpleDateFormat(); dateFormat.applyPattern("dd/MM/YYYY"); OHLCDataItem[] ohlcData = new OHLCDataItem[totalLength]; int OHLCIndex = 0; for (int dataListIndex = 0; dataListIndex < dataList.length; dataListIndex++) { StockInfo[] data = dataList[dataListIndex]; for (int index = 0; index < data.length; index++) { logger.log("data in index " + index + " is null? " + (data[index] == null) ); ohlcData[OHLCIndex] = new OHLCDataItem(data[index].date, data[index].open, data[index].high, data[index].low, data[index].close, data[index].volume); logger.log("<R> stock chart " + dateFormat.format(data[index].date.getTime()) + " open: " + data[index].open + " high: " + data[index].high + " low: " + data[index].low + " close: " + data[index].close); OHLCIndex++; } } return new DefaultOHLCDataset("Stock", ohlcData); }
/** * A small test for the data range calculated on this dataset. */ public void testDataRange() { OHLCDataItem[] data = new OHLCDataItem[3]; data[0] = new OHLCDataItem(new Date(11L), 2.0, 4.0, 1.0, 3.0, 100.0); data[1] = new OHLCDataItem(new Date(22L), 4.0, 9.0, 2.0, 5.0, 120.0); data[2] = new OHLCDataItem(new Date(33L), 3.0, 7.0, 3.0, 6.0, 140.0); DefaultOHLCDataset d = new DefaultOHLCDataset("S1", data); Range r = DatasetUtilities.findRangeBounds(d, false); assertEquals(1.0, r.getLowerBound(), EPSILON); assertEquals(9.0, r.getUpperBound(), EPSILON); }
/** * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { OHLCDataItem i1 = new OHLCDataItem( new Date(1L), 1.0, 2.0, 3.0, 4.0, 5.0 ); OHLCDataItem i2 = new OHLCDataItem( new Date(1L), 1.0, 2.0, 3.0, 4.0, 5.0 ); assertTrue(i1.equals(i2)); assertTrue(i2.equals(i1)); }
/** * Instances of this class are immutable - cloning not required. */ public void testCloning() { OHLCDataItem i1 = new OHLCDataItem( new Date(1L), 1.0, 2.0, 3.0, 4.0, 5.0 ); assertFalse(i1 instanceof Cloneable); }
/** * A small test for the data range calculated on this dataset. */ public void testDataRange() { OHLCDataItem[] data = new OHLCDataItem[3]; data[0] = new OHLCDataItem(new Date(11L), 2.0, 4.0, 1.0, 3.0, 100.0); data[1] = new OHLCDataItem(new Date(22L), 4.0, 9.0, 2.0, 5.0, 120.0); data[2] = new OHLCDataItem(new Date(33L), 3.0, 7.0, 3.0, 6.0, 140.0); DefaultOHLCDataset d = new DefaultOHLCDataset("S1", data); Range r = DatasetUtilities.findRangeBounds(d, true); assertEquals(1.0, r.getLowerBound(), EPSILON); assertEquals(9.0, r.getUpperBound(), EPSILON); }
/** * Verify that this class implements {@link PublicCloneable}. */ public void testPublicCloneable() { DefaultOHLCDataset d1 = new DefaultOHLCDataset("Series 1", new OHLCDataItem[0]); assertTrue(d1 instanceof PublicCloneable); }
/** * Creates a new dataset. * * @param serieReference the series key. * @param data the data items. */ public SeriesOHLCDataset(Comparable<PortfolioShare> serieReference, ArrayList<OHLCDataItem> data) { this.key = serieReference; this.data = data; }
/** * Gets the data. * * @return the data */ public List<OHLCDataItem> getData() { return this.data; }