漲和跌,在國內是用紅色和綠色表示,在國際則是剛好相反。這對同時參與國內外金融市場的玩家來說是一項困擾,本文就用R來介紹解決方法。
原本的做法是如下:
# the initial method
require(quantmod)
stkID='1476.TW'
stk <- get(getSymbols(stkID))
chartSeries(stk)
#
要求quantmod套件提供getSymbols函數來幫我們從yahoo下載股票代碼(stkID)為1476的每日股價,其中的開高低收四種價格就存放在stk裡。“=”和“<-”的左邊是我們可以自由命名的物件,右邊則是指定在物件內放入字串或套用函數。最後用chartSeries畫出K線圖。
K棒間的區別不容易看出,是因為資料太多了,所以,若是只想看最新的100筆資料,可執行下面程式碼:
# Zoom in shorter period
N=100
Today <- Sys.Date()
StartDate <- Today-N
stk_sub <- window(stk,start = StartDate)
chartSeries(stk_sub)
#
其中,Sys.Date()可以找出今天,window()可以切割部分的資料出來。結果如下,K棒就明顯可見了。
Ps. 中間資料有點錯誤,是yahoo那幾天的開高低價格功能出錯,全部為單一價。改天再來介紹如何由證期商提供的下單軟體來讀取出資料,就沒這個問題了。
是不是感覺暗暗的,不舒服?我們可以改成白色的主題(theme),上漲(up.col)以空心的K棒,下跌(dn.col)以實心的K棒來顯示。空心讓人感覺輕盈,容易聯想到上升;實心讓人感覺比較重,會聯想到下跌。
最後順便附上常用的Bollinger Band(addBBands())和MACD(addMACD()),讓大家體會一下R的實用性,非常方便讓人看技術指標來發想交易策略。
程式碼如下:
# Tailored
chartSeries(stk_sub,theme='white', up.col = 'white', dn.col = 'green')
plot(addBBands())
plot(addMACD())
#
結果是這樣:
看起來還不錯,但是,因為這項功能下單軟體也有,那麼學習R不就只是自娛娛人而已嗎?所以,本部下一篇將介紹用R來執行在Journal of Finance出現過的交易策略,以及用市場交易的資料來驗證策略有效性。
留言列表