應用統計期末報告子組題 (A)

Ya-Ju Hsieh

2023-10-03

0.1 介紹 布林通道 Bollinger Bands

  • What is Bollinger Bands

  • 可以想成統計的95%信賴區間可以調整SMA預設的n=20和standard deviation=2

  • 思路

    • 加上TTR套件 把技術股標算出填到表格內的然後畫圖出來 r ttr quantmod 95%信賴區間 Bollinger Bands (別種技術指標需注意單位)

0.2 程式碼解釋

  • 抓資料
rm(list=ls(all=TRUE))
#清除全部

library(quantmod)
library(dygraphs)
library(plotly)
devtools::install_github("joshuaulrich/TTR")
#載入套件

ticker = "2330.TW"
start = "2020-01-01"
end = Sys.Date()
# end = as.character(Sys.Date())

data = quantmod::getSymbols(ticker,
                            from=start,
                            to=end, 
                            src="yahoo",
                            auto.assign=FALSE) 
colnames(data) = c("Open", "High", "Low", "Close", "Volume", "Adjusted")
  • OHLC = c(“Open”, “High”, “Low”, “Close”)
    • 變數多於第四個會變成畫線,單位需要和y有強烈關係(一樣)
  • df=data[,OHLCA]
    • 第四個測試為 eval=FALSE:不執行此 chunk,但顯示程式碼。
bbands = TTR::BBands(data[,c("Close")])   
  • 這個套件只用收盤價做計算
    • ,n=20,sd=2 是預設值,除非想換條件
  • bbands <- BBands(data[,c(“High”,“Low”,“Close”)]
    • 信賴區間概念不一樣,算出來的會有問題
data <- cbind(data,bbands) 

-合併bbands至data這個dataframe 裡

OHLCB = c("Open", "High", "Low", "Close" ,"dn","mavg","up")
  • OHLCB = c(“Open”,“High”,“Low”,“Close”,“dn”,“mavg”,“up”,“pctB”)
    • 最後一個不用畫出來
    • “dn”,“mavg”,“up”分別是
      • lower band,
      • Simple Moving Average(SMA)簡單移動平均線,
      • upper band
  • 畫圖加線 加 range selector
fig1 = dygraph(data[,OHLCB]) %>%
  dyCandlestick() %>%
  dySeries("dn", color="orange") %>%
  dySeries("mavg", color="blue") %>%
  dySeries("up", color="orange") %>%
  dyRangeSelector()
fig1

0.3 成果展示

library(quantmod)
library(dygraphs)
devtools::install_github("joshuaulrich/TTR")
ticker = "2330.TW"
start = "2020-01-01"
end = Sys.Date()

data = quantmod::getSymbols(ticker,
                            from=start,
                            to=end, 
                            src="yahoo",
                            auto.assign=FALSE) 

colnames(data) = c("Open", "High", "Low", "Close", "Volume", "Adjusted")

bbands = TTR::BBands(data[,c("Close")])   

data <- cbind(data,bbands) 

OHLCB = c("Open", "High", "Low", "Close" ,"dn","mavg","up")

fig1 = dygraph(data[,OHLCB]) %>%
  dyCandlestick() %>%
  dySeries("dn", color="orange") %>%
  dySeries("mavg", color="blue") %>%
  dySeries("up", color="orange") %>%
  dyRangeSelector()
fig1

0.4 結碖

  • 參考網址:https://www.schwab.com/learn/story/bollinger-bands-what-they-are-and-how-to-use-them
  • Bollinger Bands 不是一種去判斷股價的進出場時機的訊號, 是根據他是否超過upper or lower band 來等待並觀察之後是否有出現
  • double bottom, classic M top, or three pushes to high formation之後再做進一步的操作,
  • 做多和買空也能利用upper or lower band訂定初始停利停損值,
  • 長線和短線設定的初始值要相反,長配lower band ,短配upper band