FOMC delivers more dovish statement than expected and rules out April rate hike; US export growth weakened; median forecasts for interest rates lower

Short headline: 
USD trades lower on FOMC statement

By Raiko Shareef

The USD sold off ahead of this morning’s FOMC meeting, as those holding USD long positions continue to waver. This inclination was vindicated as the statement was released. The keyword ‘patient’ was dropped, but other parts of the policy missive were more dovish than the market had expected.

The Bloomberg Dollar Spot Index is 1.2% weaker for the day, having been 0.4% softer before the statement was released.

Most importantly, the FOMC wants to be “reasonably confident that inflation will move back to its 2 percent objective over the medium term” before lifting rates. It also effectively ruled out an early move in April. Elsewhere in the statement, there was acknowledgement in the US economic slowdown outside of employment: “economic growth has moderation somewhat.” In a nod toward the impact of USD strength, the Committee acknowledged that “export growth has weakened”.

In terms of the formal forecasts, the FOMC’s median expectations for interest rates have been lowered across the horizon. In 2015, it expects 0.625%, from 1.125 previously. In 2016, it expects 1.1875% from 2.500% previously. In the new 2017 projection, it sees 3.125%. The long-run view is unchanged at 3.75%. Inflation and growth forecasts were also lowered.

In all, this was a more cautious missive than the market had expected, and should see the excessive USD long positions, built over the past few weeks, pared even further. A June lift-off in rates certainly remains a possibility, but in the context of the series of a US data slowdown, it seems much more unlikely.

NZD/USD was an outperformer ahead of the FOMC, hovering near the top of the G10 leaderboard. The rally took NZD/USD just short of 0.7400 before fading. It is unclear why NZD should have bested its peers against the USD, aside from the fact it was the biggest loser the night before. Post-FOMC, it extended its gains to be up 2.0% for the session.

Today, the Q4 GDP report will likely be the last, serious event risk for NZD before the weekend. The market expects a 0.8% q/q gain. We are in the same ballpark, picking 0.7%. The question is whether the market will focus on the slowdown in quarterly growth (from 1.0%), or the rise in the annual pace (from 3.2% y/y to 3.3%). We would pick the former, but NZD is unlikely to suffer too much.

The aftermath of the FOMC will still be the dominant factor.

To subscribe to our free daily Currency Rate Sheet and News email, enter your email address here.

Email:   

Daily exchange rates

//var root_url=”http://www.interest.co.nz/”
var root_url=”http://www.interest.co.nz/charts-csv/” // left untouched for now
var tabs_count=”7″;
var csvfiles_loc= [“/charts-csv/chart_data/exchangerates/daily-usd.csv”,” /charts-csv/chart_data/exchangerates/daily-aud.csv”,” /charts-csv/chart_data/exchangerates/daily-twi.csv”,” /charts-csv/chart_data/exchangerates/daily-yen.csv”,” /charts-csv/chart_data/exchangerates/daily-yuan.csv”,” /charts-csv/chart_data/exchangerates/daily-eur.csv”,” /charts-csv/chart_data/exchangerates/daily-gbp.csv”];
var chart_title_arr= [“US dollar”,”Australian dollar”,”Trade weighted index”,”Japanese Yen”,”Chinese Yuan”,”Euro”,”British pound”];
var chart_subtitles_arr= [“Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”,”Daily benchmark rate”];
var tab_titles_arr= [“US$”,”AU$”,”TWI”,”u00a5en”,”u00a5uan”,”u20acuro”,”GBP”];
var source_arr= [“RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”,”RBNZ”];
var source_hyperlink_arr= [“http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”,”http://www.rbnz.govt.nz”];
var tabswidth=”8″;
var decimal_arr= [“4″,”4″,”4″,”2″,”2″,”4″,”4”];

// variable declaration
var xpad;
var padding_value=0;
var range_selector=0
var loc;
var updt;
var val_num;
var vi=0;
var max_val;
var x;

var finalAr = new Array();
for (var i = 0; i <= tabs_count; i++) {
finalAr[i] = new Array();
}
var flagAr = new Array();
for (var i = 0; i <= tabs_count; i++) {
flagAr[i] =[];
}
var yaxisAr = new Array();
for (var i = 0; i 536)
{
var b = arr.length – 536; // to get last 36 points
}
else if (arr.length < 536)
{
var b = 537 – arr.length;
}
else if(arr.length == 536)
{
var b=2;
}

// to generate the format for date representation in x axis

var timestamweek = 604800000;
var timestamday = 86400000;
var timestammonth30 = 2592000000;
var timestammonth31 = 2678400000;
var timestamyear = 31536000000;
var timestamquarterly = 7776000000;

for (var u=0;u<2;u++) {
arr[u] = parseLineCSV(arr[u]);
fomat= String(arr[u][0]);
var k=0;

//alert(fomat.charAt(k));
do {
k++;
} while(fomat.charAt(k)!="-")
var k1 =k;

do {
k++;
} while(fomat.charAt(k)!="-")
var k2=k;

do {
k++;
} while(k<fomat.length)
var k3=k;

var dd= fomat.substring(0,k1);
var mm = fomat.substring(k1+1,k2);
var yy = "20"+fomat.substring(k2+1,k3+1);
var yy1=fomat.substring(k2+1,k3+1);

// conversion of months into numerical form

//+++++++++++++++++++++++++++++++++++
if (mm == "Jan")
{
mm= "01";
}
else if (mm == "Feb")
{
mm= "02";
}

else if (mm == "Mar")
{
mm= "03";
}

else if (mm == "Apr")
{
mm= "04";
}

else if (mm == "May")
{
mm= "05";
}

else if (mm == "Jun")
{
mm= "06";
}

else if (mm == "Jul")
{
mm= "07";
}

else if (mm == " Aug")
{
mm= "08";
}

else if (mm == "Sep")
{
mm= "09";
}

else if (mm == "Oct")
{
mm= "10";
}

else if (mm == "Nov")
{
mm= "11";
}

else if (mm == "Dec")
{
mm= "12";
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++

var date2 = mm+"/"+dd+"/"+yy;

if (u==0)
{
var timestam1 = Date.parse(date2);
}
else if(u==1)
{
var timestam2 = Date.parse(date2);
}
}
var timestamvar = (timestam2- timestam1);
var flagAR_count=0;
for (var i=2;i<arr.length;i++) {
flagAR_count++;
var tempAr = new Array();
var tempAr1 = new Array();
arr[i] = parseLineCSV(arr[i]);
//alert("this is arr[i]="+arr[i]);
if (arr[i]!='')
{

fomat= String(arr[i][0]);
replic=String(arr[i][0]);
//alert("this is the value fomat first cond= "+ fomat);
var k=0;

do {
k++;
} while(fomat.charAt(k)!="-")
var k1 =k;

do {
k++;
} while(fomat.charAt(k)!="-")
var k2=k;

do {
k++;
} while(k<fomat.length)
var k3=k;

var dd= fomat.substring(0,k1);
var mm = fomat.substring(k1+1,k2);
var current_year=""+new Date().getFullYear();
var c_year=Number(current_year.substring(2,4));
var c_data=Number(''+fomat.substring(k2+1,k3+1));
if(c_data c_year)
{
var yy = “19”+fomat.substring(k2+1,k3+1);
}
else if(c_data == c_year)
{
var yy = “20”+fomat.substring(k2+1,k3+1);
}
// conversion of months into numerical form

//+++++++++++++++++++++++++++++++++++
if (mm == “Jan”)
{
mm= “01”;
}
else if (mm == “Feb”)
{
mm= “02”;
}

else if (mm == “Mar”)
{
mm= “03”;
}

else if (mm == “Apr”)
{
mm= “04”;
}

else if (mm == “May”)
{
mm= “05”;
}

else if (mm == “Jun”)
{
mm= “06”;
}

else if (mm == “Jul”)
{
mm= “07”;
}

else if (mm == “Aug”)
{
mm= “08”;
}

else if (mm == “Sep”)
{
mm= “09”;
}

else if (mm == “Oct”)
{
mm= “10”;
}

else if (mm == “Nov”)
{
mm= “11”;
}

else if (mm == “Dec”)
{
mm= “12”;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++

var date = mm+”/”+dd+”/”+yy;
//alert(date);

//alert(flagAr[csvgen_counter]);
//alert(“this is flagAr”+flagAr);

var timestam_1 = Date.parse(date);
var timestam= timestam_1+86400000; //86400000 added to get correct timezone output from Date.parse
var time4 = new Date(timestam);
var Weeko = time4.getDay();
var dd2 = time4.getDate();
var mm2 = time4.getMonth();
var flag_y=arr[i][1];
var ahref_title=”Click here for full story”;
// var url= arr[i][2];
//var url=”http://www.nzherald.co.nz”;
//var flag_date='{“x”: “Date.UTC(‘+yy+’,’+mm2+’,’+dd2+’)”, “y”:’flag_y’, “title”: “On series”}’;
//var flag_date='{“x”:”‘+timestam+'”, “title”:”A”}’;
if(arr[i][2])
{
var url=arr[i][2];
var flag_date='{“x”:’+timestam+’, “title”:”  “,”text”:”Click here for Story!“}’;

//var flag_date='{“x”:”‘+timestam+'”, “title”: “A“}’;
//var flag_date=”{x:Date.UTC(“+yy+”,”+mm2+”,”+dd2+”), title:’On series’}”;
flagAr[csvgen_counter].push(flag_date);
}
var yy2 = time4.getFullYear();
var yy3 = yy2+””;
var yy4= yy3.substring(2,4);
//++++++++++++++++++++++++this for days conversion++++++++++++++++++++++++++++
if (Weeko==1)
{
Weeko = “Mon”;
}

else if (Weeko==2)
{
Weeko = “Tue”;
}

else if (Weeko==3)
{
Weeko = “Wed”;
}

else if (Weeko==4)
{
Weeko = “Thu”;
}

else if (Weeko==5)
{
Weeko = “Fri”;
}

else if (Weeko==6)
{
Weeko = “Sat”;
}

else if (Weeko==0)
{
Weeko = “Sun”;
}

//+++++++++++++++++++++++this is for month conversion+++++

if (mm2==0)
{
mm2 = “Jan”;
}

else if (mm2==1)
{
mm2 = “Feb”;
}

else if (mm2==2)
{
mm2 = “Mar”;
}

else if (mm2==3)
{
mm2 = “Apr”;
}

else if (mm2==4)
{
mm2 = “May”;
}

else if (mm2==5)
{
mm2 = “Jun”;
}

else if (mm2==6)
{
mm2 = “Jul”;
}

else if (mm2==7)
{
mm2 = “Aug”;
}

else if (mm2==8)
{
mm2 = “Sep”;
}

else if (mm2==9)
{
mm2 = “Oct”;
}

else if (mm2==10)
{
mm2 = “Nov”;
}

else if (mm2==11)
{
mm2 = “Dec”;
}
//++++++++++++++++++++++++++++++++++++++++

//weekly
if ( timestamvar == timestamweek)
{
fomat2=dd2+”-“+mm2+”-“+yy4;
padding_value=timestamweek;
range_selector=2;
}

// Daily
else if ( timestamvar = timestamyear)
{
fomat2=mm2+”-“+yy4;
padding_value=timestamyear;
range_selector=3;
}

//monthly
else if ((timestamvar <= timestammonth30)&&(timestamvar = timestamquarterly)
{
fomat2=mm2+”-“+yy4;
padding_value=timestamquarterly;
range_selector=3;
}

else
{
fomat2=dd2+”-“+mm2+”-“+yy4;
padding_value=timestamday;
range_selector=3;
}

arr[i][0]= fomat2;
//alert(“this is arr[i][0]”+arr[i][0]);
var decpad;
decpad = parseFloat(arr[i][1]);
//arr[i][1] = roundVal(decpad);
arr[i][1] = decpad;

if(i==(arr.length-1))
{

// Functionality to get the last value

var xvalu=dd2+”-“+mm2+”-“+yy4;
var yvalu= String(arr[i][1]);
var xyvalu=”Latest value at “+xvalu+” is “+yvalu;
updt=”Updated on “+xvalu;
//alert(“this is updt= “+updt);
}

tempAr.push(timestam);
if(!arr[i][1])
{
arr[i][1]=null;
}
yaxisAr[csvgen_counter].push(arr[i][1]);
// tempAr1.push(timestam);
// tempAr2.push(tempAr1);
tempAr.push(arr[i][1]);
last_val=timestam;
finalAr[csvgen_counter].push(tempAr);
}
xpad=last_val+padding_value; //*****************to end up graph early//////
//alert(finalAr[csvgen_counter]);
if(arr[i]== “”)
{
vi=arr.length-i;
arr.length=arr.length-vi;
i=arr.length-1;
fomat = replic;

var k=0;

do {
k++;
} while(fomat.charAt(k)!=”-“)
var k1 =k;

do {
k++;
} while(fomat.charAt(k)!=”-“)
var k2=k;

do {
k++;
} while(k<fomat.length)
var k3=k;

var dd= fomat.substring(0,k1);
var mm = fomat.substring(k1+1,k2);
var yy = "20"+fomat.substring(k2+1,k3+1);

// conversion of months into numerical form

//+++++++++++++++++++++++++++++++++++
if (mm == "Jan")
{
mm= "01";
}
else if (mm == "Feb")
{
mm= "02";
}

else if (mm == "Mar")
{
mm= "03";
}

else if (mm == "Apr")
{
mm= "04";
}

else if (mm == "May")
{
mm= "05";
}

else if (mm == "Jun")
{
mm= "06";
}

else if (mm == "Jul")
{
mm= "07";
}

else if (mm == "Aug")
{
mm= "08";
}

else if (mm == "Sep")
{
mm= "09";
}

else if (mm == "Oct")
{
mm= "10";
}

else if (mm == "Nov")
{
mm= "11";
}

else if (mm == "Dec")
{
mm= "12";
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++

var date = mm+"/"+dd+"/"+yy;
//here flagAr may be
var timestam = Date.parse(date);
var time4 = new Date(timestam);
var Weeko = time4.getDay();
var dd2 = time4.getDate();
var mm2 = time4.getMonth();

var yy2 = time4.getFullYear();
var yy3 = yy2+"";
var yy4= yy3.substring(2,4);
//++++++++++++++++++++++++this for days conversion++++++++++++++++++++++++++++
if (Weeko==1)
{
Weeko = "Mon";
}

else if (Weeko==2)
{
Weeko = "Tue";
}

else if (Weeko==3)
{
Weeko = "Wed";
}

else if (Weeko==4)
{
Weeko = "Thu";
}

else if (Weeko==5)
{
Weeko = "Fri";
}

else if (Weeko==6)
{
Weeko = "Sat";
}

else if (Weeko==0)
{
Weeko = "Sun";
}

//+++++++++++++++++++++++this is for month conversion+++++

if (mm2==0)
{
mm2 = "Jan";
}

else if (mm2==1)
{
mm2 = "Feb";
}

else if (mm2==2)
{
mm2 = "Mar";
}

else if (mm2==3)
{
mm2 = "Apr";
}

else if (mm2==4)
{
mm2 = "May";
}

else if (mm2==5)
{
mm2 = "Jun";
}

else if (mm2==6)
{
mm2 = "Jul";
}

else if (mm2==7)
{
mm2 = "Aug";
}

else if (mm2==8)
{
mm2 = "Sep";
}

else if (mm2==9)
{
mm2 = "Oct";
}

else if (mm2==10)
{
mm2 = "Nov";
}

else if (mm2==11)
{
mm2 = "Dec";
}
//++++++++++++++++++++++++++++++++++++++++

//weekly
if ( timestamvar == timestamweek)
{
fomat2=dd2+"-"+mm2+"-"+yy4;
}

// Daily
else if ( timestamvar = timestamyear)
{
fomat2=mm2+”-“+yy4;
}

//monthly
else if ((timestamvar <= timestammonth30)&&(timestamvar = timestamquarterly)
{
fomat2=mm2+”-“+yy4;
}

arr[i][0]= fomat2;
var decpad;

decpad = parseFloat(arr[i][1]);
//arr[i][1] = roundVal(decpad);
arr[i][1] = decpad;
if(i==(arr.length-1))
{

var xvalu=dd2+”-“+mm2+”-“+yy4;
var yvalu= String(arr[i][1]);
var xyvalu=”Latest value at “+xvalu+” is “+yvalu;
updt=”Updated on “+xvalu;
//alert(“this is updt= “+updt);
}
}

}
//alert(finalAr[csvgen_counter]);
}

//other required functions

//chart configuration starts here

function getXMLHttpRequest(file) {

//var arrSignatures = [“MSXML2.XMLHTTP.5.0”, “MSXML2.XMLHTTP.4.0″,
//”MSXML2.XMLHTTP.3.0”, “MSXML2.XMLHTTP”,
//”Microsoft.XMLHTTP”];

//for (var i=0; i < arrSignatures.length; i++) {

try
{
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("POST",file,false);
return xmlhttp;
}
catch(e)
{
error=e.message;
}

//}
throw new Error("MSXML is not installed on your system.");
}

function readCSV(locfile) {
// load a whole csv file, and then split it line by line
var req = new getXMLHttpRequest(locfile);
//req.open("POST",locfile,false);
req.send("");
//alert(req.responseText.split(/n/g));
return req.responseText.split(/n/g);
}

function parseLineCSV(lineCSV) {
// parse csv line by line into array
var CSV = new Array();

lineCSV = lineCSV.replace(/,/g," ,");

lineCSV = lineCSV.split(/,/g);

// This is continuing of 'split' issue in IE
// remove all trailing space in each field
for (var i=0;i<lineCSV.length;i++) {
lineCSV[i] = lineCSV[i].replace(/s*$/g,"");
}

lineCSV[lineCSV.length-1]=lineCSV[lineCSV.length-1].replace(/^s*|s*$/g,"");
var fstart = -1;

for (var i=0;i=0) {
for (var j=fstart+1;j<=i;j++) {
lineCSV[fstart]=lineCSV[fstart]+","+lineCSV[j];
lineCSV[j]="-DELETED-";

}
fstart=-1;
}
}
fstart = (lineCSV[i].match(/^"/)) ? i : fstart;
}

var j=0;

for (var i=0;i<lineCSV.length;i++) {
if (lineCSV[i]!="-DELETED-") {
CSV[j] = lineCSV[i];
j++;
}

}

return CSV;
}

function roundVal(val_num){
var dec = 2;
var result = Math.round(val_num*Math.pow(10,dec))/Math.pow(10,dec);
return result;
}

function setdecimalpoints(deca)
{
var deca1= deca;
var deca2= parseInt(deca);
if((deca1-deca2)!=0)
{
return 2;
}
else
{
return 0;
}
}
for(i=0;i<tabs_count;i++)
{
var loc=csvfiles_loc[i];
csvgenerata(loc);
//alert(flagAr[csvgen_counter]);
// var flag_test="["+flagAr[csvgen_counter]+"]";
// alert(flag_test);
}

Charts loading…
Charts loading…
Charts loading…
Charts loading…
Charts loading…
Charts loading…
Charts loading…

jQuery.noConflict();
(function($) {

//alert(xpad);
$.getJSON(‘http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?’, function(data) {
var demo = $(“div#mySliderTabs”).sliderTabs({
transition: ‘fade’,
});
for (var i=1;i<=tabs_count;i++)
{
//alert(range_selector);
//alert(finalAr[i]);
var arr_size=finalAr[i].length;
var arr_midpos=Math.floor(arr_size / 2);
var arr_uppermedian_pos=Math.floor((arr_size + arr_midpos)/2);
//alert(arr_uppermedian_pos);
var arr_uppermedian_val=finalAr[i][arr_uppermedian_pos][0];
//alert(finalAr[i][arr_uppermedian_pos][0]);
var oneDay = 24*60*60*1000;
var window_selector=Math.floor((xpad-arr_uppermedian_val)/oneDay);
//alert(window_selector);
var j=i-1;
var flag_test=flagAr[i];
ymax_pad[i]=Math.max.apply(Math, yaxisAr[i]);
ymin_pad[i]=Math.min.apply(Math, yaxisAr[i]);
var margin_max=ymax_pad[i] * 0.1;
var margin_min=ymin_pad[i] * 0.1;
var y_max=ymax_pad[i] + margin_max;
var y_min=ymin_pad[i] – margin_min;

// var ymax=ymax_pad[i];
// var ymin=ymin_pad[i];
// var max_ticks=1000;
// var ticks_int=(ymax-ymin)/max_ticks;
// var ymax_padder=ymax_pad[i]+ticks_int;
// var ymin_padder=ymin_pad[i]-ticks_int;
//alert(ticks_int);
// alert("ymax_pad="+ymax_pad[i]);
// alert("ymax="+ymax);
// alert("ymin_pad="+ymin_pad[i]);
// alert("ymin="+ymin);
$('#container_'+i).highcharts('StockChart', {
chart: {
borderColor: '#000000',
height:363,
width:547,
marginLeft:-3,
marginTop:-43, //takes the chart area up
events: {
load: function() {
this.renderer.image('/sites/all/libraries/InterestHighcharts/images/Interest_logo.gif', 170, 75, 200, 80).add(); // add image(url, x, y, w, h)
}
},
zoomType:'x'
},

credits: {
itemStyle: {
cursor: 'pointer',
color: '#000000',
fontSize: '11px',
fontWeight:'bold'
},
position: {
align: 'right',
x:-50,
verticalAlign: 'bottom',
y:-35
},
text: 'Source:'+source_arr[j],
href: source_hyperlink_arr[j] },

exporting: {
enabled:false, //diables the print button
},

rangeSelector : {
selected : 0,
inputEnabled : false,
buttonTheme:{
display: 'none'
},
labelStyle:{
color: 'transparent'
},
buttons: [{
type: 'day',
count: window_selector,
}, {
type: 'week',
count: 3,
text: '3w'
}, {
type: 'month',
count: 6,
text: '6m'
}, {
type: 'ytd',
text: 'YTD'
}, {
type: 'year',
count: 1,
text: '1y'
}, {
type: 'all',
text: 'All'
}] },

navigator : {
adaptToUpdatedData: false,
xAxis:{
labels:{
enabled: false,
},
},
height: 50,
margin:-2,
series:{
lineColor:'#FF0000',
fillColor : '#FFFFFF'
}
},

title : {
text : chart_title_arr[j],
align: 'left',
x: 26,
verticalAlign: 'top',
//y: 50,
style: {
fontFamily:'Arial,Helvetica,sans-serif',
fontWeight:'bold'
}
},

subtitle : {
text : chart_subtitles_arr[j],
floating:true, //enable us to position the subtitle using 'x' and 'y'
align: 'center',
x:10,
y:15,
style: {
fontFamily:'Arial,Helvetica,sans-serif',
},
},

xAxis: {
type:'datetime',
lineWidth: 20,
// gridLineColor:'#FAFFFF',
// gridLineDashStyle:'Dot',
dateTimeLabelFormats: {
day: '%e-%b',
week: '%e-%b',
month: '%b-%y',
year: '%Y'
},
max:xpad,
events: {
setExtremes: function(e) {
if (e.trigger === "navigator") {
max=e.max+padding_value;
var x=this;
setTimeout(function(){
x.setExtremes(e.min,max); //chart xAxis
}, 4);
}
}
},
labels: {
style: {
color: 'black',
fontSize: '10px',
fontWeight:'bold',
fontFamily:'Arial,Helvetica,sans-serif'
},
y:3
}
},

yAxis: {
opposite: true,
startonTick: true,
endonTick: true,
labels: {
formatter: function() {
return Highcharts.numberFormat(this.value,setdecimalpoints(this.value));
},
style: {
color: 'black',
fontSize: '10px',
fontWeight:'normal'
},
y:-12
}
},

scrollbar: {
liveRedraw: false
},

series : [{
data : finalAr[i],
id: 'dataseries',
lineWidth:3,
pointPlacement: 'on',
zIndex:9999,
name : 'AAPL Stock Price',
shadow:{
width:3,
color:'#000000'
},
lineColor:'#FF0000',
type : 'area',
threshold : null,
tooltip : {
valueDecimals : decimal_arr[i],
useHTML: true,
headerFormat:'

{point.key}
‘,
pointFormat: ‘{point.y}
‘,
footerFormat:’

‘,
},
dataGrouping:{
dateTimeLabelFormats: {
hour:[‘%b-%e,%Y’, ‘%b-%e,%Y’, ”],
day: [‘%b-%e,%Y’, ‘%b-%e,%Y’, ‘-%b %e, %Y’],
week: [‘%e-%b,%Y’, ‘%e-%b,%Y’, ‘-%e %b, %Y’],
month:[‘%b-%y’, ‘%b-%y’, ‘-%b %y %Y’],
year: [‘%Y’, ‘%Y’, ‘-%Y’] }
},
fillColor: {
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},
stops: [
[0, ‘#FFD8D5’],
[1, ‘rgba(255,255,255,0)’] ] },
fillOpacity:.01
},
{
type: ‘flags’,
useHTML: true,
name: ‘Flags on series’,
data: JSON.parse(“[“+flag_test+”]”),
onSeries: ‘dataseries’,
shape: “url(/sites/all/libraries/InterestHighcharts/images/balloon.jpg)”,
width : 5,
y: -33 //this is for flag
}]

});
}
});
//$(‘.series’).animate({height: 600, width: 800});

})(jQuery);

We update this chart twice each day, from the same data the drives our 'live-rates' charts.

Read full story

All its research is available here.