HPM09 <- cso_get_data("HPM09")
HPM09_long <- HPM09 %>%
pivot_longer(!1:2, names_to = "year_month")
rm(HPM09)
HPM09 <- HPM09_long
rm(HPM09_long)
HPM09$Month <- as.Date(paste(HPM09$year_month, "01", sep = "-"), "%YM%m-%d")
HPM09$Year <- year(HPM09$Month)
HPM04 <- cso_get_data("HPM04")
HPM04_long <- HPM04 %>%
pivot_longer(!1:5, names_to = "year_month")
rm(HPM04)
HPM04 <- HPM04_long
rm(HPM04_long)
### Date transformation
HPM04$Year <-substr(HPM04$year_month,1,4)
HPM04$Month <- sub(".* ", "", HPM04$year_month)
HPM04$Month_NR <- as.integer(factor(HPM04$Month, levels=month.name))
HPM04$Date <- as.yearmon(paste(HPM04$Year, HPM04$Month_NR), "%Y %m")
HPM04_join <- full_join(HPM04, GEO_Merge, by = "Eircode.Output")
HPM04 <- HPM04_join
rm(HPM04_join)
HPM09$month <- months(as.Date(HPM09$Month))
HPM09_1 <- HPM09 %>%
filter(Statistic == "Residential Property Price Index")%>%
filter(Type.of.Residential.Property == "National - all residential properties")
HPM09_2 <- HPM09 %>%
filter(Statistic == "Percentage Change over 12 months for Residential Property Price Index")%>%
filter(Type.of.Residential.Property == "National - all residential properties")
RPPI_tail_2 <- tail(HPM09_2,1)
RPPI_tail_2_lag <-head(tail(HPM09_2,2),1)
RRPI_Line_1 <- ggplot(data=HPM09_1, aes(x=Month, y=value, group = Type.of.Residential.Property))+
geom_line(linejoin="mitre",size = 1.25, linetype = 1,alpha = 0.5, colour="#1b5545")+
labs(title = "Residential Property Price Index" ,
y="2015 = 100",
x="Month")+
geom_text_repel(aes(label=value),data = HPM09_1, size = 3)+
theme(legend.position = "bottom")
RRPI_Line_1
HPM09_1_T12 <- tail(HPM09_1,12)
RRPI_Line_2 <- ggplot(data=HPM09_1_T12, aes(x=Month, y=value, group = Type.of.Residential.Property))+
geom_line(linejoin="mitre",size = 1.25, linetype = 1,alpha = 0.5, colour="#1b5545")+
labs(title = "Residential Property Price Index" ,
subtitle = "12 Month Series",
y="2015 = 100",
x="Month")+
geom_text(aes(label=value),vjust= 1.5, hjust = 0, size=3)+
theme(legend.position = "bottom")
RRPI_Line_2
HPM09_2_T24 <- tail(HPM09_2,24)
colour <- ifelse(HPM09_2_T24$value < 0,"#CC0000","#1b5545")
RPPI_Bar_2 <- ggplot(data=HPM09_2_T24, aes(x=Month, y=value, group = Type.of.Residential.Property))+
geom_col(alpha = 0.5, colour="#373634", fill = colour)+
labs(title = "Year on Year Percentage Change for Residential Property Price Index" ,
subtitle = "24 Month Series",
y="Percentage change",
x="Month")+
geom_text(aes(label=value),vjust= 1.5, size=3)+
theme(legend.position = "bottom")
rm(HPM09)
The national house price inflation for June is 14.1%. This represents a -0.3 change from May which was 14.4%.
HPM04_1A <- HPM04 %>%
filter(Statistic == "Mean Sale Price")%>%
filter(Dwelling.Status == "All Dwelling Statuses") %>%
filter(Stamp.Duty.Event == "Executions") %>%
filter(Type.of.Buyer == "All Buyer Types") %>%
filter(Eircode.Output == "All")
HPM04_1B <- HPM04 %>%
filter(Statistic == "Mean Sale Price")%>%
filter(Dwelling.Status == "All Dwelling Statuses") %>%
filter(Stamp.Duty.Event == "Executions") %>%
filter(Type.of.Buyer == "All Buyer Types") %>%
filter(Eircode.Output != "All")
HPM04_1B_Map <- na.omit(HPM04_1B)
HPM04_1B_Map<- HPM04_1B_Map %>%
group_by(Seat_Tag, Date)%>% # change to/from County / Constituency
summarise(Average_Value = mean(value))
HPM04_1B_Map$lagvalue_12mth <- Lag(HPM04_1B_Map$Average_Value,12)
HPM04_1B_Map$Diff <- HPM04_1B_Map$Average_Value - HPM04_1B_Map$lagvalue_12mth
HPM04_1B_Map$Diffpc <- HPM04_1B_Map$Diff / HPM04_1B_Map$lagvalue_12mth
HPM04_1B_Map$Diffpc<-percent(HPM04_1B_Map$Diffpc,2)
HPM04_1B_Map_June2022 <- HPM04_1B_Map%>%
filter(Date == "June 2022") # change month
shpHPM <- merge(shp,HPM04_1B_Map_June2022, by.x = "CON_SEAT_", by.y="Seat_Tag")
HPM04_1B_Map_June2022_Dub <- HPM04_1B_Map_June2022 %>%
filter(grepl('Dublin|Laoghaire', Seat_Tag))
shpHPMDub <- merge(shp,HPM04_1B_Map_June2022_Dub, by.x = "CON_SEAT_", by.y="Seat_Tag")
Map2_DiffpcAll <- shpHPM %>%
ggplot()+
geom_sf(aes(fill = Diffpc))+
scale_fill_stepsn(n.breaks = 10,
colors=c("#F92306","#FFFFFF","#0C4F00"),
limits = c(-1,1),
name = "% change")+
ggtitle('Year on Year Change by Constituency - HPM04')+
theme_void()+
theme(legend.title = element_text(size = 10),
legend.text = element_text(size = 8))+
theme(legend.position = "left")+
theme(plot.title = element_text(hjust = 1))
Map2_DiffpcDub <- shpHPMDub %>%
ggplot()+
geom_sf(aes(fill = Diffpc))+
scale_fill_stepsn(n.breaks = 10,
colors=c("#F92306","#FFFFFF","#0C4F00"),
limits = c(-1,1),
name = "% change")+
theme_void()+
theme(legend.position = "none")
Map2_Diffpc <- Map2_DiffpcAll + Map2_DiffpcDub +
plot_layout(widths = c(2,1))
Map2_Diffpc
Average percentage change year on year is 8.38%. This was 2.24% in the Dublin constituencies.
These averages the mean value of the below:
HPM04_1B_Map_June2022%>%
kbl(caption = "Year on Year ")%>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = T)%>%
scroll_box(width = "600px", height = "300px")
Seat_Tag | Date | Average_Value | lagvalue_12mth | Diff | Diffpc |
---|---|---|---|---|---|
Carlow-Kilkenny (5) | Jun 2022 | 290148.0 | 230619.7 | 59528.333 | 25.81% |
Cavan-Monaghan (5) | Jun 2022 | 156998.9 | 184512.3 | -27513.476 | -14.91% |
Clare (4) | Jun 2022 | 208611.7 | 183509.7 | 25102.000 | 13.68% |
Cork East (4) | Jun 2022 | 288422.0 | 216923.7 | 71498.286 | 32.96% |
Cork North-Central (4) | Jun 2022 | 349381.0 | 333970.7 | 15410.333 | 4.61% |
Cork North-West (3) | Jun 2022 | 262542.7 | 256189.8 | 6352.867 | 2.48% |
Cork South-Central (4) | Jun 2022 | 356091.0 | 363660.0 | -7569.000 | -2.08% |
Cork South-West (3) | Jun 2022 | 304938.3 | 304216.3 | 722.000 | 0.24% |
Donegal (5) | Jun 2022 | 186309.7 | 152709.3 | 33600.333 | 22.00% |
Dublin Bay North (5) | Jun 2022 | 527835.0 | 508511.0 | 19324.000 | 3.80% |
Dublin Bay South (4) | Jun 2022 | 880223.0 | 690948.3 | 189274.667 | 27.39% |
Dublin Central (4) | Jun 2022 | 325367.0 | 358731.0 | -33364.000 | -9.30% |
Dublin Fingal (5) | Jun 2022 | 414737.0 | 414875.2 | -138.200 | -0.03% |
Dublin Mid-West (4) | Jun 2022 | 360225.5 | 356383.5 | 3842.000 | 1.08% |
Dublin North-West (3) | Jun 2022 | 493080.0 | 448469.0 | 44611.000 | 9.95% |
Dublin Rathdown (3) | Jun 2022 | 607667.0 | 598791.0 | 8876.000 | 1.48% |
Dublin South-West (5) | Jun 2022 | 551231.3 | 518392.7 | 32838.667 | 6.33% |
Dublin South Central (4) | Jun 2022 | 416659.2 | 413275.2 | 3384.000 | 0.82% |
Dublin West (4) | Jun 2022 | 394520.5 | 404034.0 | -9513.500 | -2.35% |
Dun Laoghaire (4) | Jun 2022 | 762657.0 | 892525.5 | -129868.500 | -14.55% |
Galway East (3) | Jun 2022 | 237002.3 | 218774.3 | 18228.000 | 8.33% |
Galway West (5) | Jun 2022 | 257253.0 | 270855.5 | -13602.500 | -5.02% |
Kerry (5) | Jun 2022 | 250008.2 | 200931.0 | 49077.250 | 24.42% |
Kildare North (4) | Jun 2022 | 423639.5 | 397063.0 | 26576.500 | 6.69% |
Kildare South (4) | Jun 2022 | 319098.4 | 290461.4 | 28637.000 | 9.86% |
Laois-Offaly (5) | Jun 2022 | 232208.0 | 178397.0 | 53811.000 | 30.16% |
Limerick City (4) | Jun 2022 | 261204.0 | 254983.0 | 6221.000 | 2.44% |
Limerick County (3) | Jun 2022 | 198018.0 | 175311.0 | 22707.000 | 12.95% |
Longford-Westmeath (4) | Jun 2022 | 220917.3 | 193130.0 | 27787.333 | 14.39% |
Louth (5) | Jun 2022 | 278667.0 | 278551.0 | 116.000 | 0.04% |
Mayo (4) | Jun 2022 | 199769.3 | 163979.8 | 35789.500 | 21.83% |
Meath East (3) | Jun 2022 | 331878.4 | 333675.0 | -1796.600 | -0.54% |
Meath West (3) | Jun 2022 | 314856.0 | 299195.0 | 15661.000 | 5.23% |
Roscommon-Galway (3) | Jun 2022 | 152232.7 | 138395.7 | 13837.000 | 10.00% |
Sligo-Leitrim (4) | Jun 2022 | 192613.5 | 153848.2 | 38765.250 | 25.20% |
Tipperary (5) | Jun 2022 | 202336.5 | 167959.6 | 34376.875 | 20.47% |
Waterford (4) | Jun 2022 | 230525.7 | 198129.7 | 32396.000 | 16.35% |
Wexford (5) | Jun 2022 | 257212.8 | 222413.2 | 34799.500 | 15.65% |
Wicklow (5) | Jun 2022 | 409492.5 | 414499.2 | -5006.750 | -1.21% |
#Load
CPM01 <- cso_get_data("CPM01") # Selected Sub Indices
CPM03 <- cso_get_data("CPM03") # Selected Sub Indices
CPM11 <- cso_get_data("CPM11") # Contributions to changes in the Consumer Price Index
CPM15 <- cso_get_data("CPM15") # Harmonised Index of Consumer Prices
#Long
CPM01_long <- CPM01 %>%
pivot_longer(!1:2, names_to = "year_month")
CPM01<- CPM01_long
rm(CPM01_long)
CPM01$Year <-substr(CPM01$year_month,1,4)
CPM01$Month <- sub(".* ", "", CPM01$year_month)
CPM01$Month_NR <- as.integer(factor(CPM01$Month, levels=month.name))
CPM01$Date <- as.yearmon(paste(CPM01$Year, CPM01$Month_NR), "%Y %m")
CPM03_long <- CPM03 %>%
pivot_longer(!1:2, names_to = "year_month")
CPM03<- CPM03_long
rm(CPM03_long)
CPM03$Year <-substr(CPM03$year_month,1,4)
CPM03$Month <- sub(".* ", "", CPM03$year_month)
CPM03$Month_NR <- as.integer(factor(CPM03$Month, levels=month.name))
CPM03$Date <- as.yearmon(paste(CPM03$Year, CPM03$Month_NR), "%Y %m")
CPM11_long <- CPM11 %>%
pivot_longer(!1:2, names_to = "year_month")
CPM11<- CPM11_long
rm(CPM11_long)
CPM11$Year <-substr(CPM11$year_month,1,4)
CPM11$Month <- sub(".* ", "", CPM11$year_month)
CPM11$Month_NR <- as.integer(factor(CPM11$Month, levels=month.name))
CPM11$Date <- as.yearmon(paste(CPM11$Year, CPM11$Month_NR), "%Y %m")
CPM15_long <- CPM15 %>%
pivot_longer(!1:2, names_to = "year_month")
CPM15<- CPM15_long
rm(CPM15_long)
CPM15$Year <-substr(CPM15$year_month,1,4)
CPM15$Month <- sub(".* ", "", CPM15$year_month)
CPM15$Month_NR <- as.integer(factor(CPM15$Month, levels=month.name))
CPM15$Date <- as.yearmon(paste(CPM15$Year, CPM15$Month_NR), "%Y %m")
# Translate/Merge Files
COICOP<- read_excel("/Users/charten/OneDrive - Glenveagh Properties/Research & Development/1. Analysis/COICOP.xlsx")
COICOPDIV <- COICOP %>%
filter(`Level 1` == "1")
COICOP <- COICOPDIV
rm(COICOPDIV)
# Subset for Analysis
## CPM01_1 = All Items, Percentage Change over 12 months for Consumer Price Index (%)
CPM01_1 <- CPM01%>%
filter(Statistic == "Percentage Change over 12 months for Consumer Price Index (%)")%>%
filter(Commodity.Group == "All items")
## CPM01_1A = All Items, Percentage Change over 12 months for Consumer Price Index (%)
CPM01_1A <- CPM01%>%
filter(Statistic == "Percentage Change over 12 months for Consumer Price Index (%)")%>%
filter(Commodity.Group == "All items")%>%
filter(Year >= 2016)
## CPM01_1B = All Items, Consumer Price Index (Base Dec 2016=100)
CPM01_1B <- CPM01%>%
filter(Statistic == "Percentage Change over 12 months for Consumer Price Index (%)")%>%
filter(Commodity.Group == "All items")%>%
filter(Year >= 2020)
## CPM01_2 = All Items, Consumer Price Index (Base Dec 2016=100)
CPM01_2 <- CPM01%>%
filter(Statistic == "Consumer Price Index (Base Dec 2016=100)")%>%
filter(Commodity.Group == "All items")%>%
filter(Year >= 1997)
## CPM01_2A = All Items, Consumer Price Index (Base Dec 2016=100)
CPM01_2A <- CPM01%>%
filter(Statistic == "Consumer Price Index (Base Dec 2016=100)")%>%
filter(Commodity.Group == "All items")%>%
filter(Year >= 2020)
## CPM03_1 = Percentage Change over 12 months for Consumer Price Index (%)
CPM03_1 <- CPM03%>%
filter(Statistic == "Percentage Change over 12 months for Consumer Price Index (%)")%>%
filter(Selected.Sub.Indices == "Energy Products" |Selected.Sub.Indices == "CPI excluding Energy Products" |Selected.Sub.Indices == "Mortgage Interest")
## CPM03_2 = Consumer Price Index (Base Dec 2016=100) >= 2016
CPM03_2 <- CPM03%>%
filter(Statistic == "Percentage Change over 12 months for Consumer Price Index (%)")%>%
filter(Selected.Sub.Indices == "Energy Products" |Selected.Sub.Indices == "CPI excluding Energy Products" |Selected.Sub.Indices == "Mortgage Interest")%>%
filter(Year >= 2016)
CPM01_tail_2 <- tail(CPM01_1,1)
CPM01_tail_2_lag <-head(tail(CPM01_1,2),1)
The headline inflation for July is 9.1%. This represents a 0 percentage change from June which was 9.1%.
CPM01_trim <- subset(CPM01_1, select = -c(Statistic, year_month, Month, Year, Month_NR))
CPM01_tail1 <- kable(tail(CPM01_trim), caption = "Percentage Change over 12 months")
CPM01_tail1 %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F) %>%
row_spec(6, bold = T)%>%
pack_rows("Latest Period", 6, 6, color="#1b5545")
Commodity.Group | value | Date |
---|---|---|
All items | 5.6 | Feb 2022 |
All items | 6.7 | Mar 2022 |
All items | 7.0 | Apr 2022 |
All items | 7.8 | May 2022 |
All items | 9.1 | Jun 2022 |
Latest Period | ||
All items | 9.1 | Jul 2022 |
rm(CPM01_trim)
colour_set <- ifelse(CPM01_1B$value < 0,"#CC0000","#007589")
FigCPM01_1B <- ggplot(data=CPM01_1B,aes(x=Date,y=value))+
geom_col(fill= colour_set, alpha = 0.5)+
labs(title = "CPI - CSO: CPM01", subtitle = "2020 to Date")+
xlab("Year-Month")+
ylab("Percentage Change over 12 months")+
theme(panel.border = element_rect(linetype = 1, fill = NA))+
geom_text(data=CPM01_1B,aes(label = value,
vjust= ifelse(value >=0,0.25,0.5),
hjust= ifelse(value >=0,-0.25,1)),
size = 2,
angle = 90)
FigCPM01_1B
FigCPM01_2A<- ggplot(data=CPM01_2A,aes(x=Date,y=value))+
geom_line(size = 1.15, linetype=1, alpha = 0.6, colour = "#946627")+
geom_hline(aes(yintercept=100),
colour= "#404040",
linetype = 1)+
labs(title = "CPI - CSO: CPM01", subtitle = "1997 to Date")+
xlab("Year-Month")+
ylab("Consumer Price Index (Base Dec 2016=100)")+
theme(panel.border = element_rect(linetype = 1, fill = NA))
FigCPM01_2A
FigCPM01_2 <- ggplot(data=CPM01_2,aes(x=Date,y=value))+
geom_line(size = 1.15, linetype=1, alpha = 0.6, colour = "#946627")+
geom_hline(aes(yintercept=100),
colour= "#404040",
linetype = 1)+
labs(title = "CPI - CSO: CPM01", subtitle = "2016 to Date")+
xlab("Year-Month")+
ylab("Consumer Price Index (Base Dec 2016=100)")+
theme(panel.border = element_rect(linetype = 1, fill = NA))
FigCPM01_2
FigCPM03_2 <- ggplot(data=CPM03_2, aes(x=Date, y=value, group=Selected.Sub.Indices, colour=Selected.Sub.Indices))+
scale_colour_manual(values=c("#0389bb", "#0c122f", "#88b66c"))+
labs(title = "CPI - CSO: CPM03", subtitle = "2016 to Date, selected sub indicies")+
xlab("Year-Month")+
ylab("Consumer Price Index (Base Dec 2016=100)")+
geom_line(size = 1.05, linetype=1, alpha = 0.85)+
geom_hline(aes(yintercept=0),
colour= "#404040",
linetype = 1)+
theme(axis.text.x = element_text(angle=0))+
theme(legend.position="bottom")+
theme(axis.text = element_text(size = rel(1)))+
theme(plot.title=(element_text(vjust =2)))+
theme(panel.border = element_rect(linetype = 1, fill = NA))
FigCPM03_2
FigCPM03_1 <- ggplot(data=CPM03_1, aes(x=Date, y=value, group=Selected.Sub.Indices, colour=Selected.Sub.Indices))+
scale_colour_manual(values=c("#0389bb", "#0c122f", "#88b66c"))+
labs(title = "CPI - CSO: CPM03", subtitle = "Historical Series, selected sub indicies")+
xlab("Year-Month")+
ylab("Percentage change year on year")+
geom_line(size = 1.05, linetype=1, alpha = 0.85)+
geom_hline(aes(yintercept=0),
colour= "#404040",
linetype = 1)+
theme(axis.text.x = element_text(angle=0))+
theme(legend.position="bottom")+
theme(axis.text = element_text(size = rel(1)))+
theme(plot.title=(element_text(vjust =2)))+
theme(panel.border = element_rect(linetype = 1, fill = NA))
FigCPM03_1
Data as of 2022-06-01, the ECB rate hike was on the 12th July. That considered the move to June was significant in the Euro Area.
Fig.COB.H1 <- ggplot(data=COB.H,aes(x=obstime, y=obsvalue,group=ref_area))+
geom_line(aes(colour=ref_area))+
scale_color_manual(values=c("darkgreen", "blue"))+
geom_text_repel(aes(label=obsvalue),data = COB.H, size = 3)+
theme_bw()+
theme(legend.position = "bottom")+
ggtitle("Household Cost of Borrowing")+
labs(subtitle = "Monetary Financial Institutions (MFIs) - Interest Rates",
caption = "Data Source: ECB - U2: Euro Area")+
ylab("interest rate %")+
xlab(NULL)
Fig.COB.H2 <- ggplot(data=COB.H,aes(x=obstime, y=Diff,group=ref_area))+
geom_col(aes(fill=ref_area),alpha=0.5)+
scale_fill_manual(values=c("darkgreen", "blue"))+
geom_hline(yintercept = 0, linetype='dotted')+
geom_text_repel(aes(label=round(Diff,digits=2)),data = COB.H, size = 3)+
theme_bw()+
theme(legend.position = "bottom")+
ylab("monthly change percentage points")+
xlab(NULL)
Facet1<- Fig.COB.H2+ facet_wrap(~ref_area, nrow = 2)
Fig.COB.H1 + Facet1 + plot_layout(ncol=2,widths = c(2,1))
The standard deviation of the Irish households series is 0.12 percentage points. Where as the standard deviation of the Euro Area households is 0.07 percentage points
Fig.COB.C1 <- ggplot(data=COB.C,aes(x=obstime, y=obsvalue,group=ref_area))+
geom_line(aes(colour=ref_area))+
scale_color_manual(values=c("darkgreen", "blue"))+
geom_text_repel(aes(label=obsvalue),data = COB.C, size = 3)+
theme_bw()+
theme(legend.position = "bottom")+
ggtitle("Corporation Cost of Borrowing")+
labs(subtitle = "Monetary Financial Institutions (MFIs) - Interest Rates",
caption = "Data Source: ECB - U2: Euro Area")+
ylab("interest rate %")+
xlab(NULL)
Fig.COB.C2 <- ggplot(data=COB.C,aes(x=obstime, y=Diff,group=ref_area))+
geom_col(aes(fill=ref_area),alpha=0.5)+
scale_fill_manual(values=c("darkgreen", "blue"))+
geom_hline(yintercept = 0, linetype='dotted')+
geom_text_repel(aes(label=round(Diff,digits=2)),data = COB.C, size = 3)+
theme_bw()+
theme(legend.position = "bottom")+
ylab("monthly change percentage points")+
xlab(NULL)
Facet2<- Fig.COB.C2+ facet_wrap(~ref_area, nrow = 2)
Fig.COB.C1 + Facet2 + plot_layout(ncol=2,widths = c(2,1))