-
Notifications
You must be signed in to change notification settings - Fork 0
/
EquityHistoricalDataConnector.java
67 lines (63 loc) · 2.03 KB
/
EquityHistoricalDataConnector.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
/**
* publish-only connector
* publish data to output files
* @author Wenting Yang, Sara Liu
*
*/
public class EquityHistoricalDataConnector extends Connector<PnL<Equity>> {
private static EquityHistoricalDataConnector instance = null;
private EquityHistoricalDataConnector() {}
/**
* singleton pattern public getInstance methods
* @return
*/
public static EquityHistoricalDataConnector getInstance() {
if(instance == null) {
instance = new EquityHistoricalDataConnector();
}
return instance;
}
/**
* publish data to output file
*/
@Override
public void Publish(PnL<Equity> data) {
// TODO Auto-generated method stub
try {
File fname = new File("output.csv");
if(!fname.exists()) {
fname.createNewFile();
FileWriter csvWriter = new FileWriter(fname);
csvWriter.append("Book");
csvWriter.append(",");
csvWriter.append("Ticker");
csvWriter.append(",");
csvWriter.append("PnL");
csvWriter.append("\n");
String[] values = new String[] {data.getBook(),data.getProduct().getTicker().toString(), Double.toString(Math.round((data.getPnl()*100.0))/100.0)};
csvWriter.append(String.join(",", values));
csvWriter.append("\n");
csvWriter.close();
}
else {
FileWriter csvWriter = new FileWriter(fname,true);
BufferedWriter bfWriter = new BufferedWriter(csvWriter);
String[] values = new String[] {data.getBook(),data.getProduct().getTicker().toString(), Double.toString(Math.round((data.getPnl()*100.0))/100.0)};
bfWriter.append(String.join(",", values));
bfWriter.append("\n");
bfWriter.close();
csvWriter.close();
}
}
catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("IOException Occured");
e.printStackTrace();
}
}
}