Sample Data - Begin
ioi,analysis_date,closing_minutes,trade_time,window,price_channel,trade_quantity,LongShort
No,11/18/2010,No,08:22.0,08:24:00,0.92,50,Long,
No,11/18/2010,No,08:34.0,08:36:00,0.92,44,Long,
No,11/18/2010,No,08:38.0,08:40:00,0.92,13,Long,
No,11/18/2010,No,08:50.0,08:52:00,0.92,14,Long,
No,11/18/2010,No,08:53.0,08:54:00,0.92,23,Long,
No,11/18/2010,No,09:02.0,09:04:00,0.92,23,Long,
No,11/18/2010,No,09:10.0,09:12:00,0.92,39,Long,
Yes,12/01/2010,Yes,12:58.0,13:00:00,0.97,100,Long,
Yes,12/01/2010,Yes,12:58.0,13:00:00,0.97,125,Long,
Yes,12/01/2010,Yes,12:59.0,13:00:00,0.97,150,Long,
Yes,12/01/2010,Yes,12:59.0,13:00:00,0.97,200,Long,
No,02/24/2011,Yes,12:58.0,13:00:00,0.07,150,Short,
No,02/24/2011,Yes,12:58.0,13:00:00,0.07,200,Short,
No,02/24/2011,Yes,12:59.0,13:00:00,0.07,200,Short,
No,02/24/2011,Yes,12:59.0,13:00:00,0.07,100,Short,
END
NO or YES is start of new line
CODE BEGIN
var analysis_date_dimension;
var dimension_trade_qty;
var dim_time_of_day;
d3.csv("formatted_client_data.csv", function (error, response) {
var min_trade_quantity = 0
var max_trade_quantity = 310;
response.forEach(function (d, i) {
d.index = i;
d.analysis_date = d3.time.format("%m/%d/%Y").parse(d.analysis_date);
d.trade_time = d3.time.format("%I:%M").parse(d.trade_time.split('.')[0]);
d.date_time = getDateTime(d.analysis_date, d.trade_time);
});
function getDateTime(date, time) {
var dd = date.getDate();
var mm = date.getMonth() + 1;
var yy = date.getFullYear();
var hh = time.getHours();
var ms = time.getMinutes();
var x = yy + ',' + mm + ',' + dd + ' ' + hh + ':' + ms;
return new Date(x);
}
var responseData = crossfilter(response);
//Main Chart
analysis_date_dimension = responseData.dimension(
function (d) { return d.analysis_date; });
var day_total = analysis_date_dimension.group().reduceSum(
function (d) { return d.trade_quantity; });
//Trade Quantity Chart
dimension_trade_qty = responseData.dimension(
function (d) { return d.trade_quantity; });
var group_trade_qty = dimension_trade_qty.group().reduceCount(
function (d) { return d.trade_quantity; });
var day_chart = dc.barChart("#charts");
var trad_qty_chart = dc.barChart("#chart_trade_qty");
//Days chart
day_chart
.width(1024).height(340)
.dimension(analysis_date_dimension)
.group(day_total)
.brushOn(true)
.x(d3.time.scale().domain(d3.extent(response, function (d) { return d.analysis_date; })))
.yAxis().tickFormat(d3.format("d"));
//Trade Quantity Chart
trad_qty_chart
.width(600).height(200)
.dimension(dimension_trade_qty)
.group(group_trade_qty)
.brushOn(true)
.x(d3.scale.linear().domain([min_trade_quantity, max_trade_quantity + 10]))
.yAxis().ticks()
;
dc.renderAll();
});
CODE END