Roger J Kerr says local importers should be topping-up hedging levels with current NZD/USD rates near the top end of the range

Short headline: 
US interest rate increase already priced into exchange rates

By Roger J Kerr

The overall value of the NZ dollar, the revised Trade Weighted Index (Chinese RMB now included on correctly weighted on trade flows) has returned to level above 79.

While the RBNZ assume a 75 TWI in their economic models and assumptions, as stated before they cannot hide from a highly performing and robust economy.

New Zealand remains an attractive investment destination for offshore players seeking return and diversification.

Outside random scares to our agricultural export industries in terms of climate, contamination and disease there seems to be little on the horizon that would send the NZ dollar down on its own account.

The currency forecasters who are currently predicting the NZD/USD rate to depreciate to below 0.7000 over the next six to 12 months must have expectations of the US dollar appreciating another 10% against the Euro from $1.0800 to 0.9800.

The alternative is that they see wholemilk powder prices collapsing again.

The debate surrounding the US dollar is whether the USD appreciation to date from $1.4000 to $1.0800 against the Euro over the last nine months has already priced in the US interest rate increase coming over the second half of 2015?

If the view is that the FX market has not yet fully priced the US interest rate increases then a EUR/USD rate below $1.0000 may still be on the cards. A week ago the EUR/USD rate was $1.0500, however the continually measured approach from Janet Yellen at the FOMC caused the markets to take profits on long USD position and the USD has weakened back to $1.0800.

My expectation is that the EUR/USD exchange rate will oscillate around the $1.0500 to $1.1200 range for several months as the divergence in monetary policy settings between the US and Euroland is fully known and factored in to the currency markets.

The chart below indicated that the EUR/USD rate at $1.0800 has well and truly caught up with the interest rate differential between the US and Europe. The US two-year swap interest rate already reflects several hikes in US short term interest rates by the Fed over 2015 and 2016.

Such a view leaves the Kiwi dollar in its now established 0.7200 to 0.7600 trading range.

Importers should be topping-up hedging levels with current NZD/USD rates near the top end of that range.

 

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

Email:   

 

 

Daily swap 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/interestrates/swap-1yr.csv”,” /charts-csv/chart_data/interestrates/swap-2yr.csv”,” /charts-csv/chart_data/interestrates/swap-3yr.csv”,” /charts-csv/chart_data/interestrates/swap-4yr.csv”,” /charts-csv/chart_data/interestrates/swap-5yr.csv”,” /charts-csv/chart_data/interestrates/swap-7yr.csv”,” /charts-csv/chart_data/interestrates/swap-10yr.csv”];
var chart_title_arr= [“Swap rate”,”Swap rate”,”Swap rate”,”Swap rate”,”Swap rate”,”Swap rate”,”Swap rate”];
var chart_subtitles_arr= [“Opening daily rate”,”Opening daily rate”,”Opening daily rate”,”Opening daily rate”,”Opening daily rate”,”Opening daily rate”,”Opening daily rate”];
var tab_titles_arr= [“1 year %”,”2 years %”,”3 years %”,”4 years %”,”5 years %”,”7 years %”,”10 years %”];
var source_arr= [“Westpac”,”Westpac”,”Westpac”,”Westpac”,”Westpac”,”Westpac”,”Westpac”];
var source_hyperlink_arr= [“http://www.westpac.co.nz”,”http://www.westpac.co.nz”,”http://www.westpac.co.nz”,”http://www.westpac.co.nz”,”http://www.westpac.co.nz”,”http://www.westpac.co.nz”,”http://www.westpac.co.nz”];
var tabswidth=”8″;
var decimal_arr= [“2″,”2″,”2″,”2″,”2″,”2″,”2”];

// 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);

These are start-of-day swap rates tracked and reported by a major bank.

Read full story

 

———————————————————–

Roger J Kerr is a partner at PwC. He specialises in fixed interest securities and is a commentator on economics and markets. More commentary and useful information on fixed interest investing can be found at rogeradvice.com