琴子 [R 語言] 程式設計教學:介紹

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

前言

這裡不急著寫 R 程式。先對 R 做一些簡短的介紹。

誔生

R 語言是 S 語言的開放源碼版本,兩者皆是用於統計運算 (statistical computing) 的程式語言。現在前者遠比後者受歡迎,就不用再去學 S 語言了。

版本 (Version)

在多多撰寫這篇文章時,R 語言的版本是 4.2.1。由於 R 語言是免費且開源的,隨時可從網路上取得,除非有特殊考量,不需要刻意守在舊版本。

發行版 (Distribution)

沒有特殊考量的話,請用官方發行版。幾乎所有的 R 套件都會相容於官方發行版,但不一定會相容於其他發行版。

在財經程式設計的應用

R 語言在財經程式設計 (financial programming) 的用途如下:

  • 數字運算 (numerical computation)
  • 收集資料 (data collection)
  • 處理資料 (data manipulation)
  • 資料視覺化 (data visualization)
  • 技術分析 (technological analysis)
  • 交易策略 (trading strategy)
  • 回測 (backtesting)

這個網站的重點仍然是投資,而非程式設計。在財經網站就可以輕易取得的圖表,我們不會花太多時間重造輪子。本系列文章的重點在於學會基本的 R 語言語法和相關套件的使用,做為決策的輔助。

這系列文章會學習 R 語言,但不是所有的任務都要用 R 語言來做。像是實作網路爬蟲 (web crawler) 常用的語言是 PythonJavaScript,而非 R 語言。

和 Python 比較

Python 是近年來最流行的資料科學 (data science) 語言。不過,比起 Python,R 語言仍然有一些優勢。向量、表格等資料型態在 R 語言是內建的,在 Python 要使用社群套件。R 內建的交互式環境就可以直接使用,Python 需要社群套件補足原生交互式環境的不足。R 在資料視覺化仍然比 Python 簡單。

做為通用型語言的話,Python 比 R 用途廣泛,在語法上也比較直觀。由於兩者在功能上有諸多重疊,這裡就不再繼續比較下去,請選擇自己喜歡的工具。

關於作者 琴子喜歡觀察市場邏輯,也喜歡沉靜地彈鋼琴。旅行時總習慣記錄風景背後的脈絡,投資時則偏好慢慢思考而非追高殺低。

現實中關注全球經濟與資產配置,虛擬世界則熱衷於在《黑色沙漠》裡操作漁業與貿易鏈,研究市場機制與角色配置的效率極限。

「理性投資」是琴子整理思緒、檢視決策的地方。不是為了給建議,而是希望留下清楚的腳印,提醒自己:判斷永遠比預測重要。