技術交流

除了資料分析外,R 還能幫我們做什麼?

陳正暉 陳正暉
Tags:大數據R 語言高頻交易

從最近的熱門新聞詞彙:大數據(big data)可知,在臺灣有越來越多的企業與學校開始擁抱大數據,同時更帶動相應課程設計與應用主題的熱烈討論。如以分析工具的角度來看,R 於資料研究與數據分析所扮演的角色越來越重要。另從 TIOBE Index 針對眾多程式語言受關注程度的統計排名觀察,在大數據的推波助瀾驅使下,R 語言在過去一年內排名從 45 名竄升至 20 名,其受矚目與歡迎的程度更是不言可喻。

受關注程度
來源:https://www.tiobe.com/tiobe-index/

R 為 GNU 的一個開源工具,源自1970年代由 John Chamberm 於貝爾實驗室所開發的 S 語言,擁有統計分析的優良血統。R 內建多種數據處理及計量分析功能,具備較其他程式語言更多的統計建模與數學運算專用函數,除「免費」之外,具物件導向,強調向量化運算、含強大的繪圖功能、支援平行運算與複雜的數據可視化、易於資料轉換與導入,含文字檔、各式資料庫系統與其他統計軟體資料格式等。同時可加載各式的 GUI 工具,透過功能表單點擊即可輕鬆完成任務。

除資料分析外,R 語言於其他領域的運用亦愈發蓬勃。以數量財務領域為例,R 語言亦有相關套件(package)可提供支援: quantmod 提供財務建模、資料擷取與財務繪圖等函數。fArma、fAsianOptions、fAssets、fBasics、 fBonds、timeDate、fCopulae、fExoticOptions、fExtremes、fGarch、fImport、fNonlinear、fOptions、fPortfolio、fRegression、timeSeries、fTrading 與 fUnitRoots 等套件提供各種適用於財務時間序列、財務模型建構、衍生性金融商品評價與投資組合分析等功能。 OptionPricing 套件於幾何布朗運動架構下提供蒙地卡羅模擬法,完成亞式選擇權與其他衍生性金融商品相關評價與敏感度分析功能。另外,在技術分析中常用之技術指標等,可由 TTR 套件中取得。甚至於國外金融市場已相當流行的高頻交易,highfrequency 套件更提供相關函數功能,讓交易員更易於市場資訊管理、財務建模及迅速完成複雜之高頻交易。關於財務風險管理:frmqa 套件提供許多財務風險管理與量化分析之模組。於極值理論架構下,evd、evdbayes、evir、extRemes、ismev 等套件亦提供不少函數供我們方便運用,大大降低模型開發時間。

  • 澳盛銀行(ANZ):用於信用風險分析
  • Bank of American(BOA):用 R 處理報告資料
  • Morgan 在精算領域的應用:用以估計長壽風險,並利用 R 語言提供不少函數功能。後來更轉變為非營利組織 Life & Longevity Markets Association
  • 加拿大皇家銀行:用於股票量化交易策略開發
  • 德意志銀行:用於外匯交易策略開發
  • 蘇格蘭皇家銀行:用於建置風險模型

除此之外,國外許多知名人力資源仲介公司,如 Eka Finance 與 Analytic Recruiting Inc. 等,亦公佈不少需要用到 R 語言之財務工程人員職缺,顯示了國外大型金融機構對於具備 R 語言能力之人才需求。每年於國外已持續舉行六屆的 R/Finance 研討會參與者年年持續成長,再次證明了 R 語言的魅力所在與關注程度。而於 2015 年 1 月,微軟宣布收購統計語言 R 的商業方案提供商 ─ Revolution Analytics,更讓人們對 R 語言未來的潛力充滿想像空間。當然,對於其他商用統計分析軟體,如 SPSS、SAS 與 Matlab 而言,將造成不小威脅。

雖然目前國內銀行業運用 R 語言於財務建模的程度尚未普及,但其免費且為開源,及與其他程式語言(如 C、C++ 或 Python)串接容易等特性,未來受歡迎的程度將可預見。再加上從今年開始金管會將致力推動金融業數據應用與金融資料開放,能同時適用於資料探勘並建立財務模型估計與模擬的 R 語言,其適用性與未來性將值得期待。