投資部門別売買動向

zoo,xts,gdata パッケージ

「年金基金は信託銀行などを通じて株式運用を行っており、投資部門別売買動向調査では信託銀行に年金基金の動向が現れる。」 とのことなのでグラフにしてみる。

(参考)
2015年の需給を読む

(データ)
投資部門別売買状況

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
library("gdata")
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/e61oi3000000d0ut-att/stock_val_1_y14.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
##単位千円 -> 億円
売買状況<-data.frame(na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000)
names(売買状況)<-"2014"
売買状況$投資部門<-c("法人","個人","海外投資家","証券会社","投資信託","事業法人",
"その他法人等","金融機関","生保・損保","都銀・地銀等","信託銀行","その他金融機関")
売買状況$内訳<-c(rep("委託内訳",4),rep("法人内訳",4),rep("金融機関内訳",4))
#png("doukou01.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(t(売買状況[,1])),names.arg =rev(売買状況$投資部門),horiz = T ,las=1,col=c(rep("gray",4),rep("lightblue",4),rep("pink",4)))
abline(v=0,lty=1,col="gray25")
title("2014年 投資部門別売買動向(東京、名古屋証券取引所1・2部等合計)単位:億円")
#dev.off()

  • 委託内訳・・・”法人”,”個人”,”海外投資家”,”証券会社”
  • 法人内訳・・・”投資信託”,”事業法人”,”その他法人等”,”金融機関”
  • 金融機関内訳・・・”生保・損保”,”都銀・地銀等”,”信託銀行”,”その他金融機関”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#2014年
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1401.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d14_1506<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
#rm(data.url);rm(data)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1402.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1403.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1404.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1405.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1406.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1407.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1408.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1409.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1410.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1411.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/files/tse/market/data/sector/equities_m/2014/stock_val_1_m1412.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
#2015年
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu00000039tz-att/stock_val_1_m1501.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000hlek-att/stock_val_1_m1502.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000ukiy-att/stock_val_1_m1503.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000xecb-att/stock_val_1_m1504.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000ziuo-att/stock_val_1_m1505.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu0000011pw4-att/stock_val_1_m1506.xls"
data <- read.xls(data.url,sheet=5,skip=19,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:38,7])))[1:12]/100000
d14_1506<-rbind(d14_1506,d)
doukou<-data.frame(d14_1506)
names(doukou)<-c("法人","個人","海外投資家","証券会社","投資信託","事業法人","その他法人等","金融機関","生保・損保","都銀・地銀等","信託銀行","その他金融機関")
save("doukou", file="doukou.RData")

作成したデータdoukou.RData

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
load(url("http://statrstart.github.io/data/doukou.RData"))
#osによっては文字化けする
names(doukou)<-c("法人","個人","海外投資家","証券会社","投資信託","事業法人","その他法人等","金融機関","生保・損保","都銀・地銀等","信託銀行","その他金融機関")
doukou.ts<-ts(doukou,start=2014,freq=12)
library(xts)
doukou.xts<-as.xts(doukou.ts)
#2014年1月〜2015年6月
#mgp は,プロットの周縁から文字列何行分離れたことろに軸のタイトル,数字などのラベル, そして軸(線)を描くか
#mar は,四方の余白(margin)を文字列何行分とるか
#png("doukou02.png", width=1000, height=800)
par(mfrow=c(1,3),mgp=c(3,1,0),mar=c(6,4.5,4,1))
plot.zoo(doukou.xts[,1:4], col = c("red", "blue","green","orange"), plot.type = "single",las=1,xlab="",ylab="")
abline(h=0,lty=3,col="gray")
legend("topleft",names(doukou.xts[,1:4]), col= c("red", "blue","green","orange"),lty=1)
title("","委託内訳")
plot.zoo(doukou.xts[,5:8], col = c("red", "blue","green","orange"), plot.type = "single",las=1,xlab="",ylab="")
abline(h=0,lty=3,col="gray")
legend("topleft",names(doukou.xts[,5:8]), col= c("red", "blue","green","orange"),lty=1)
title("投資部門別売買動向推移(2014/1〜2015/6 :億円)","法人内訳")
plot.zoo(doukou.xts[,9:12], col = c("red", "blue","green","orange"), plot.type = "single",las=1,xlab="",ylab="")
abline(h=0,lty=3,col="gray")
legend("topleft",names(doukou.xts[,9:12]), col= c("red", "blue","green","orange"),lty=1)
title("","金融機関内訳")
par(mfrow=c(1,1))
#dev.off()

colSumsを使うと上記の「2014年 投資部門別売買動向」のグラフは

1
2
3
4
par(mar=c(6,8,5,5))
barplot(rev(colSums(doukou[1:12,])),names.arg =rev(colnames(doukou)),horiz = T ,las=1,col=c(rep("gray",4),rep("lightblue",4),rep("pink",4)))
abline(v=0,lty=1,col="gray25")
title("2014年 投資部門別売買動向(東京、名古屋証券取引所1・2部等合計)単位:億円")

2015年上半期 投資部門別売買動向のグラフは

1
2
3
4
5
6
#png("doukou03.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(colSums(doukou[13:18,])),names.arg =rev(colnames(doukou)),horiz = T ,las=1,col=c(rep("gray",4),rep("lightblue",4),rep("pink",4)))
abline(v=0,lty=1,col="gray25")
title("2015年上半期 投資部門別売買動向(東京、名古屋証券取引所1・2部等合計)単位:億円")
#dev.off()

2014年 投資部門別売買動向(ETF)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
library("gdata")
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu0000003a9h-att/etf_y14.xls"
data <- read.xls(data.url,sheet=2,skip=19,method="tab",fileEncoding="UTF-8")
##単位千円 -> 億円
売買状況<-data.frame(na.omit(as.numeric(gsub(",","",data[1:35,7])))[1:11]/100000)
names(売買状況)<-"2014"
売買状況$投資部門<-c("法人","個人","海外投資家","証券会社","投資信託","事業法人",
"その他法人等","金融機関","生保・損保","銀行","その他金融機関")
売買状況$内訳<-c(rep("委託内訳",4),rep("法人内訳",4),rep("金融機関内訳",3))
#png("doukou04.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(t(売買状況[,1])),names.arg =rev(売買状況$投資部門),horiz = T ,las=1,col=c(rep("gray",3),rep("lightblue",4),rep("pink",4)))
abline(v=0,lty=1,col="gray25")
title("2014年 投資部門別売買動向(ETF)単位:億円")
#dev.off()

日銀がETFを買っているのになぜこんなグラフになるの?
と思ってググってみると下の記事を見つけました。
焦点:ETF増額に期待、日銀がユニクロ「大株主化」の副作用も
この記事によると「日銀のETF買い入れの一連の取引はほとんどが市場外取引で行われ、東証が公表している投資主体別売買動向などには、反映されないとみられている。」とのこと

2014年 投資部門別売買動向(J-REIT)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
library("gdata")
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu0000003asn-att/reit_y14.xls"
data <- read.xls(data.url,sheet=2,skip=19,method="tab",fileEncoding="UTF-8")
##単位千円 -> 億円
売買状況<-data.frame(na.omit(as.numeric(gsub(",","",data[1:35,7])))[1:11]/100000)
names(売買状況)<-"2014"
売買状況$投資部門<-c("法人","個人","海外投資家","証券会社","投資信託","事業法人",
"その他法人等","金融機関","生保・損保","銀行","その他金融機関")
売買状況$内訳<-c(rep("委託内訳",4),rep("法人内訳",4),rep("金融機関内訳",3))
#png("doukou05.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(t(売買状況[,1])),names.arg =rev(売買状況$投資部門),horiz = T ,las=1,col=c(rep("gray",3),rep("lightblue",4),rep("pink",4)))
abline(v=0,lty=1,col="gray25")
title("2014年 投資部門別売買動向(J-REIT)単位:億円")
#dev.off()

海外投資家地域別株券売買状況 2013

1
2
3
4
5
6
7
8
9
10
11
12
13
library("gdata")
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/tvdivq000001fdru-att/region_1_y13.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
##単位千円 -> 億円
売買状況<-data.frame(na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000)
names(売買状況)<-"2014"
売買状況$地域<-c("北米","欧州","アジア","その他地域","合計")
#png("doukou06.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(t(売買状況[,1])),names.arg =rev(売買状況$地域),horiz = T ,las=1,col=rev(c(rep("lightblue",4),"pink")))
abline(v=0,lty=1,col="gray25")
title("2013年 海外投資家地域別株券売買状況 単位:億円")
#dev.off()

海外投資家地域別株券売買状況 2014

1
2
3
4
5
6
7
8
9
10
11
12
13
library("gdata")
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu0000003bar-att/region_1_y14.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
##単位千円 -> 億円
売買状況<-data.frame(na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000)
names(売買状況)<-"2014"
売買状況$地域<-c("北米","欧州","アジア","その他地域","合計")
#png("doukou07.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(t(売買状況[,1])),names.arg =rev(売買状況$地域),horiz = T ,las=1,col=rev(c(rep("lightblue",4),"pink")))
abline(v=0,lty=1,col="gray25")
title("2014年 海外投資家地域別株券売買状況 単位:億円")
#dev.off()

2015年1月〜5月 海外投資家地域別株券売買状況

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
library("gdata")
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu0000006djz-att/region_1_m1501.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
d15<-na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000
#rm(data.url);rm(data)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000qng2-att/region_1_m1502.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000
d15<-rbind(d15,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000vnvx-att/region_1_m1503.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000
d15<-rbind(d15,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu000000yakk-att/region_1_m1504.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000
d15<-rbind(d15,d)
data.url <- "http://www.jpx.co.jp/markets/statistics-equities/investor-type/nlsgeu0000010ky7-att/region_1_m1505.xls"
data <- read.xls(data.url,sheet=1,skip=4,method="tab",fileEncoding="UTF-8")
d<-na.omit(as.numeric(gsub(",","",data[1:15,11])))[1:5]/100000
d15<-rbind(d15,d)
chiiki<-data.frame(d15)
names(chiiki)<-c("北米","欧州","アジア","その他地域","合計")
#png("doukou08.png", width=1000, height=800)
par(mar=c(6,8,5,5))
barplot(rev(colSums(chiiki)),names.arg =rev(colnames(chiiki)),horiz = T ,las=1,col=rev(c(rep("lightblue",4),"pink")))
abline(v=0,lty=1,col="gray25")
title("2015年1月〜5月 海外投資家地域別株券売買状況 単位:億円")
#dev.off()