private Map<String, List<String>> loadHistoSectors(String sectorFile) { FileReader input; Map<String, List<String>> sectors = new HashMap<String, List<String>>(); try { input = new FileReader(sectorFile); BufferedReader bufRead = new BufferedReader(input); String line; int i = 1; while ((line = bufRead.readLine()) != null) { Bin sectorRecord = Utils.readBin(line); List<String> stockList = sectorRecord.symbols; String startEnd = formatter.format(sectorRecord.end); String key = intgerFormaterr.format(i) + ":" + startEnd; sectors.put(key, stockList); for (String s : stockList) { invertedSectors.put(s, key); } i++; } } catch (IOException e) { throw new RuntimeException("Failed to load sector file", e); } return sectors; }
private void init() { permNoToSymbol = Utils.loadMapping(originalStockFile); Map<String, Integer> symbolToPerm = new HashMap<String, Integer>(); for (Map.Entry<Integer, String> entry : permNoToSymbol.entrySet()) { symbolToPerm.put(entry.getValue(), entry.getKey()); } }
// load symbols for each point in file private List<String> loadSymbols(String vectorFile) { System.out.println("Loading symbols from vector file: " + vectorFile); File vf = new File(vectorFile); List<VectorPoint> vectorPoints = Utils.readVectors(vf, 0, 7000); List<String> symbols = new ArrayList<String>(); for (int i = 0; i < vectorPoints.size(); i++) { VectorPoint v = vectorPoints.get(i); String symbol = permNoToSymbol.get(v.getKey()); symbols.add(symbol); } System.out.println("No of symbols for point: " + symbols.size()); return symbols; }
private void applyLabel(String inPointsFile, String outPointsFile, List<String> symbols) { System.out.println("Applying labels for points file: " + inPointsFile); FileReader input; BufferedWriter bufWriter = null; try { FileOutputStream fos = new FileOutputStream(outPointsFile); bufWriter = new BufferedWriter(new OutputStreamWriter(fos)); File inFile = new File(inPointsFile); if (!inFile.exists()) { System.out.println("ERROR: In file doens't exist"); return; } input = new FileReader(inPointsFile); BufferedReader bufRead = new BufferedReader(input); String inputLine; int index = 0; while ((inputLine = bufRead.readLine()) != null && index < symbols.size()) { Point p = Utils.readPoint(inputLine); String symbol = symbols.get(index); int clazz = 0; if (this.invertedFixedClases.containsKey(symbol)) { clazz = this.invertedFixedClases.get(symbol); } else { // get the corresponding symbol // get the class for this one String sector = invertedSectors.get(symbol); if (sector != null) { clazz = sectorToClazz.get(sector); } else { // System.out.println("No sector: " + symbol); } } p.setClazz(clazz); String s = p.serialize(); bufWriter.write(s); bufWriter.newLine(); index++; } System.out.println("Read lines: " + index); } catch (Exception e) { throw new RuntimeException("Failed to read/write file", e); } finally { if (bufWriter != null) { try { bufWriter.close(); } catch (IOException ignore) { } } } }
private Map<String, List<String>> loadStockSectors(String sectorFile) { FileReader input; Map<String, List<String>> sectors = new HashMap<String, List<String>>(); try { input = new FileReader(sectorFile); BufferedReader bufRead = new BufferedReader(input); String line; while ((line = bufRead.readLine()) != null) { SectorRecord sectorRecord = Utils.readSectorRecord(line); List<String> stockList = sectors.get(sectorRecord.getSector()); if (stockList == null) { stockList = new ArrayList<String>(); sectors.put(sectorRecord.getSector(), stockList); } stockList.add(sectorRecord.getSymbol()); invertedSectors.put(sectorRecord.getSymbol(), sectorRecord.getSector()); } } catch (IOException e) { throw new RuntimeException("Failed to load sector file", e); } return sectors; }