library(readr)
## Warning: package 'readr' was built under R version 3.5.3
tw50_2017 = read_csv("2017Q4_code.csv", locale = locale(encoding= 'big5'))
## Parsed with column specification:
## cols(
##   code = col_double(),
##   name = col_character(),
##   share1 = col_character(),
##   industry = col_character(),
##   share2 = col_character()
## )
head(tw50_2017)
## # A tibble: 6 x 5
##    code name     share1 industry share2
##   <dbl> <chr>    <chr>  <chr>    <chr> 
## 1  1101 台泥     0.79%  水泥工業 1.19% 
## 2  1102 亞泥     0.40%  水泥工業 1.19% 
## 3  1216 統一     1.92%  食品工業 1.92% 
## 4  1301 台塑     2.92%  塑膠工業 7.73% 
## 5  1303 南亞塑膠 2.67%  塑膠工業 7.73% 
## 6  1326 台化     2.14%  塑膠工業 7.73%
tw50_2017_tej = read_csv("tw50.csv",locale = locale(encoding= 'big5'))
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   .default = col_character()
## )
## See spec(...) for full column specifications.
tw50_2017_tej = na.omit(tw50_2017_tej)
head(tw50_2017_tej)
## # A tibble: 6 x 49
##   X1    `1101 台泥` `1102 亞泥` `1216 統一` `1301 台塑` `1303 南亞`
##   <chr> <chr>       <chr>       <chr>       <chr>       <chr>      
## 1 年月日~ 收盤價(元)  收盤價(元)  收盤價(元)  收盤價(元)  收盤價(元) 
## 2 2016~ 31.67       26.22       53.19       76.59       57.94      
## 3 2016~ 31.88       26.32       53.82       77.23       58.11      
## 4 2016~ 31.92       25.94       54.81       77.04       58.29      
## 5 2016~ 31.5        25.89       54.54       76.68       57.58      
## 6 2016~ 30.57       25.61       54.45       76.32       57.23      
## # ... with 43 more variables: `1326 台化` <chr>, `1402 遠東新` <chr>,
## #   `2002 中鋼` <chr>, `2105 正新` <chr>, `2207 和泰車` <chr>, `2301
## #   光寶科` <chr>, `2303 聯電` <chr>, `2308 台達電` <chr>, `2317
## #   鴻海` <chr>, `2324 仁寶` <chr>, `2330 台積電` <chr>, `2354
## #   鴻準` <chr>, `2357 華碩` <chr>, `2382 廣達` <chr>, `2395 研華` <chr>,
## #   `2408 南亞科` <chr>, `2409 友達` <chr>, `2412 中華電` <chr>, `2454
## #   聯發科` <chr>, `2474 可成` <chr>, `2633 台灣高鐵` <chr>, `2801
## #   彰銀` <chr>, `2823 中壽` <chr>, `2880 華南金` <chr>, `2881
## #   富邦金` <chr>, `2882 國泰金` <chr>, `2883 開發金` <chr>, `2884
## #   玉山金` <chr>, `2885 元大金` <chr>, `2886 兆豐金` <chr>, `2887
## #   台新金` <chr>, `2890 永豐金` <chr>, `2891 中信金` <chr>, `2892
## #   第一金` <chr>, `2912 統一超` <chr>, `3008 大立光` <chr>, `3045
## #   台灣大` <chr>, `3481 群創` <chr>, `4904 遠傳` <chr>, `4938
## #   和碩` <chr>, `5880 合庫金` <chr>, `6505 台塑化` <chr>, `9904
## #   寶成` <chr>

台灣50(0050) 107年Q4成分股名單(TEJ)

library(readr) 執行才可跑程式

用read_csv將成分股名單及代碼(CSV檔)讀進去

head(tw50_2017) - 讀取前面tw50_2017的幾筆資料(預設為6筆資料)

將TEJ下載107年Q4過去2年除權調整後日收盤價的台灣50(0050)成分股名單(CSV檔)讀進去

na.omit中omit代表省略的意思

tw50_2017_tej = na.omit(tw50_2017_tej) - 將當中呈現沒有資料的部分消除

head-表投的意思

(2311和2325的股票在TEJ上查無資料)

因為下方的程式不知如何更改成正確的所以以文字檔打在下方

library(quantmod)

tickers = c(“1101.TW”,“1102.TW”,“1216.TW”,“1301.TW”,“1303.TW”,“1326.TW”,“1402.TW”,“2002.TW”,“2105.TW”,“2207.TW”,“2633.TW”,“2801.TW”,“2823.TW”,“2880.TW”,“2881.TW”,“2882.TW”,“2883.TW”,“2884.TW”,“2885.TW”,“2886.TW”,“2887.TW”,“2890.TW”,“2891.TW”,“2892.TW”,“5880.TW”,“2912.TW”,“9904.TW”,“6505.TW”,“2303.TW”,“2311.TW”,“2325.TW”,“2330.TW”,“2408.TW”,“2454.TW”,“2301.TW”,“2324.TW”,“2357.TW”,“2382.TW”,“2395.TW”,“4938.TW”,“2409.TW”,“3008.TW”,“3481.TW”,“2412.TW”,“3045.TW”,“4904.TW”,“2308.TW”,“2317.TW”,“2354.TW”,“2472.TW”)

getSymbols(tickers,from = ‘2016-01-01’,auto.assign = T)

tw1101 = Ad(1101.TW)

讀取股票的資料

library(quantmod) 執行才可跑程式

tickers股票代号

tickers = c() 是將50個股票但馬連接在一起

用getSymbols函數來取得股票資料

getSymbols(tickers,from = ‘2016-01-01’,auto.assign = T) - 讀取從2016/01/01開始到最近的股票資料

Ad=Adjust(調整)

tw1101 = Ad(1101.TW) - 讀取1101股票的調整後日收盤價

(2311和2325的股票在TEJ上查無資料,2311和2325在yahoo fiance上也找不到)

code50 = tw50_2017$code

code50.tw = paste(code50, “.TW”, sep = “”)

不用重複打.TW

$代表固定的意思

code50.tw = paste(code50, “.TW”, sep = “”) - .TW的部分可以省略不用一直重複打

data=new.env()

getSymbols(code50.tw, from= ‘2016-01-01’, env= data, auto.assign = T)

names(data)

data$‘1101.TW’

data = na.omit(data)

將資料進行彙整

data=new.env() getSymbols(code50.tw, from= ‘2016-01-01’, env= data, auto.assign = T) - 可以將所有的資料整合在一起

$代表固定的意思

na.omit代表省略的意思

data = na.omit(data) - 將當中呈現沒有資料的部分消除

(2311和2325的股票在TEJ上查無資料,2311和2325在yahoo fiance上也找不到)