2018年11月19日月曜日

CLI - Composite Leading Indicator - OECD


REFER THIS ENTRY , INSTEAD.

# download csv from oecd(https://data.oecd.org/leadind/composite-leading-indicator-cli.htm) to "~/Downloads"
# use file name "CLI3.csv".
# this file contains multiple regions data. you have to specify its name.
# extract USA only entries
# execute commands below at "~/Download".
#
sed -n '/USA/p' CLI3.csv |awk -F, '{print $6"-01,"$7}'  |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > usa.csv
# extract OECD entries and exclude OECDE
sed -n '/OECD[^E]/p' CLI3.csv |awk -F, '{print $6"-01,"$7}'  |sed 's/\"//g' |awk 'BEGIN{print "DATE,DATA"}{print $0}' > oecd.csv
#
#sample #1 for usa
#
cli_xts <- merge(as.xts(read.zoo(read.csv("~/Downloads/oecd.csv"))),as.xts(read.zoo(read.csv("~/Downloads/usa.csv"))),suffixes = c("oecd","usa"))

plot.default((cli_xts$usa["2014-07::2018-09"]   / as.vector(cli_xts$usa["2014-01::2018-03"])-1)*100,cli_xts$usa["2014-07::2018-09"])
tmp <- par('usr')
# plot.default((cli_xts$usa["2012-07::2018-09"] / as.vector(cli_xts$usa["2012-01::2018-02"])-1)*100,cli_xts$usa["2012-07::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]))
plot.default((cli_xts$usa["2014-07::2018-09"] / as.vector(cli_xts$usa["2014-01::2018-03"])-1)*100,cli_xts$usa["2014-07::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]))
par(new=T)
plot.default((cli_xts$usa["2018-01::2018-09"] / as.vector(cli_xts$usa["2017-07::2018-03"])-1)*100,cli_xts$usa["2018-01::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=2,lwd=2)
par(new=T)
plot.default((cli_xts$usa["2017-01::2017-12"] / as.vector(cli_xts$usa["2016-07::2017-06"])-1)*100,cli_xts$usa["2017-01::2017-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=3)
par(new=T)
plot.default((cli_xts$usa["2016-01::2016-12"] / as.vector(cli_xts$usa["2015-07::2016-06"])-1)*100,cli_xts$usa["2016-01::2016-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=4)

#sample #2 for oecd all
plot.default((cli_xts$oecd["2014-07::2018-09"]   / as.vector(cli_xts$oecd["2014-01::2018-03"])-1)*100,cli_xts$oecd["2014-07::2018-09"])
tmp <- par('usr')
# plot.default((cli_xts$oecd["2012-07::2018-09"] / as.vector(cli_xts$oecd["2012-01::2018-02"])-1)*100,cli_xts$oecd["2012-07::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]))
plot.default((cli_xts$oecd["2014-07::2018-09"] / as.vector(cli_xts$oecd["2014-01::2018-03"])-1)*100,cli_xts$oecd["2014-07::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]))
par(new=T)
plot.default((cli_xts$oecd["2018-01::2018-09"] / as.vector(cli_xts$oecd["2017-07::2018-03"])-1)*100,cli_xts$oecd["2018-01::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=2,lwd=2)
par(new=T)
plot.default((cli_xts$oecd["2017-01::2017-12"] / as.vector(cli_xts$oecd["2016-07::2017-06"])-1)*100,cli_xts$oecd["2017-01::2017-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=3)
par(new=T)
plot.default((cli_xts$oecd["2016-01::2016-12"] / as.vector(cli_xts$oecd["2015-07::2016-06"])-1)*100,cli_xts$oecd["2016-01::2016-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=4)
#
# sample #3 for oecd with the extended period.
#
#
#
plot.default((cli_xts$oecd["2014-07::2018-09"]   / as.vector(cli_xts$oecd["2014-01::2018-03"])-1)*100,cli_xts$oecd["2014-07::2018-09"])
tmp <- par('usr')
# plot.default((cli_xts$oecd["2012-07::2018-09"] / as.vector(cli_xts$oecd["2012-01::2018-02"])-1)*100,cli_xts$oecd["2012-07::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]))
plot.default((cli_xts$oecd["2014-07::2018-09"] / as.vector(cli_xts$oecd["2014-01::2018-03"])-1)*100,cli_xts$oecd["2014-07::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),type='b')
par(new=T)
plot.default((cli_xts$oecd["2018-01::2018-09"] / as.vector(cli_xts$oecd["2017-07::2018-03"])-1)*100,cli_xts$oecd["2018-01::2018-09"] ,xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=2,lwd=2)
par(new=T)
plot.default((cli_xts$oecd["2017-01::2017-12"] / as.vector(cli_xts$oecd["2016-07::2017-06"])-1)*100,cli_xts$oecd["2017-01::2017-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=3)
par(new=T)
plot.default((cli_xts$oecd["2016-01::2016-12"] / as.vector(cli_xts$oecd["2015-07::2016-06"])-1)*100,cli_xts$oecd["2016-01::2016-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=4)
par(new=T)
plot.default((cli_xts$oecd["2015-01::2015-12"] / as.vector(cli_xts$oecd["2014-07::2015-06"])-1)*100,cli_xts$oecd["2015-01::2015-12"], xlim=c( tmp[1],tmp[2]), ylim=c(tmp[3], tmp[4]),col=
5)
abli
ne(h=100)

abline(v=0)

The below is OECD.




0 件のコメント: