close

 

漲和跌,在國內是用紅色和綠色表示,在國際則是剛好相反。這對同時參與國內外金融市場的玩家來說是一項困擾,本文就用R來介紹解決方法。

原本的做法是如下:

# the initial method

require(quantmod)

stkID='1476.TW'

stk <- get(getSymbols(stkID))

chartSeries(stk)

#

要求quantmod套件提供getSymbols函數來幫我們從yahoo下載股票代碼(stkID)為1476的每日股價,其中的開高低收四種價格就存放在stk裡。“=”“<-”的左邊是我們可以自由命名的物件,右邊則是指定在物件內放入字串或套用函數。最後用chartSeries畫出K線圖。

kLine.bmp

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棒就明顯可見了。

 

kLine1.png

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())
#

結果是這樣:

 

kLine2.png

看起來還不錯,但是,因為這項功能下單軟體也有,那麼學習R不就只是自娛娛人而已嗎?所以,本部下一篇將介紹用R來執行在Journal of Finance出現過的交易策略,以及用市場交易的資料來驗證策略有效性。

 

 

arrow
arrow
    創作者介紹
    創作者 輝哥 的頭像
    輝哥

    輝哥的財金解析

    輝哥 發表在 痞客邦 留言(0) 人氣()