-
Notifications
You must be signed in to change notification settings - Fork 4
/
trust_Vol_accumulate.R
57 lines (49 loc) · 1.81 KB
/
trust_Vol_accumulate.R
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
library(data.table)
library(magrittr)
library(httr)
library(rvest)
library(quantmod)
library(purrr)
library(googleVis)
# 搜尋證券交易所的投信買賣超彙總表
url = 'http://www.twse.com.tw/en/trading/fund/TWT44U/TWT44U.php'
stock="1452"
stock_data=paste0(stock,'.TW') %>%
getSymbols(auto.assign = FALSE)
stock_data=stock_data[Vo(stock_data)>0]
date=index(stock_data) %>%
as.Date() %>%
format("%Y/%m/%d")
trust_Vol_dif=sapply(1:length(date),function(x){
res=POST(url,
add_headers(
`Content-Type`= "application/x-www-form-urlencoded"
),
body = paste0('download=html&qdate=',date[x],'&sorting=by_issue'))
tables=content(res,encoding = 'utf8') %>%
html_table(fill = T) %>%
.[[1]] %>%
as.data.table()
tables=setkey(tables,X2)[.(stock)] %>%
.[,c("X5"),with=F]
})
trust_Vol_dif=as.numeric(gsub(',','',trust_Vol_dif))
trust_Vol_dif[is.na(trust_Vol_dif)]=0
df=data.frame(date=date,
Cl(stock_data),
trust_accumu=accumulate(trust_Vol_dif,`+`))
names(df)[2]="Close"
Dashed <- gvisLineChart(df, xvar="date", yvar=c("Close","trust_accumu"),
options=list(
title=paste(stock,'投信買賣超累計'),
titleTextStyle="{fontName:'Courier',fontSize:32}",
width=1200,
height=600,
series="[{color:'green', targetAxisIndex: 0,
lineWidth: 2},
{color: 'blue',targetAxisIndex: 1,
lineWidth: 2, lineDashStyle: [4, 1]}]",
vAxes="[{title:'Close'}, {title:'投信買賣超累計'}]"
))
plot(Dashed)
cat(Dashed$html$chart, file="trust_volume_accumulate.html")