描述
內容簡介
★國內金控現職量化交易研究人員傳授從量化分析到真實交易系統建置,一本書全學會
☆量化統計專家 + 程式交易員共同帶你使用 Python 攻略台股量化分析及自動交易 ★問 ChatGPT 也無法得知的秘辛!量化交易研究人員帶你少走冤枉的量化交易研究之路
投資是一門藝術,有時候做正確的事情不一定會賺錢,做錯誤的事情也未必會賠錢,只有長期投資績效才見的到真章,但如果等到長期交易最終賠錢才發現自己在做錯誤的事情,那就失去了時間又賠了金錢,得不償失。 剛入量化投資這一行的人,很容易被高績效迷惑了,而忽略了自己的交易策略是否合理。我們作為相對的未來人,使用歷史數據來建構策略,很容易有意無意窺探到了未來資料,或者是過度擬合數據以及未盡詳盡的統計分析,導致我們誤以為尋找到了長期穩定可以產生超額報酬的交易策略。綜合上面所述,本書在技術上說明如何做量化分析、建構策略、AI 訓練市場數據及將一個策略架設排程每天去真實自動交易,另一大重點是,我們會在統計分析及建構策略的過程中,不斷向讀者說明如何避開建構出回測一條龍,上線一條蟲的策略。結合我們多年的量化研究及真實交易的經驗,透過一些特徵,我們可以避開錯誤的方式去建構策略,期待讀者在研究交易的路可以少走一點彎路。 我們在學習量化分析及真實交易的過程中,很有可能在前面幾年處處碰壁,甚至難以贏過大盤,但是我們深信有金融知識以及數學量化的基礎支持,不斷的學習,小心控制風險,終究有一天會研究有成,在長期績效中贏過大盤,我們透過本書,期望可以與讀者共同成長,並且我們留下了可以供讀者發問的地方,隨時可以共同探討量化及投資相關的議題。 |
作者簡介
|
目錄
第1章 股票財報的量化分析與研究
1.1 認識財報因子 ►解析三大重要財報1 ►取得財報因子資料 ►常見的六大重要財報因子 1.2 透過Alphalens 評估因子 ►如何使用 Alphalens ►解析 Alphalens 報表中五大分析結果 1.3 建立財報因子選股模型來挑選績優股 ►建立單因子選股模型 ►建立多因子選股模型 ►靜態 / 動態選股模型 1.4 財報因子選股模型回測績效 ►Backtrader 介紹 ►Pyfolio 介紹 ►Backtrader 因子模型回測結果 ►Backtrader 因子模型回測結果 - 未交易的問題
第2章 股票價量的量化分析與研究 2.1 認識價量因子 ►什麼是價量數據 ►創建價量因子的常見手法 ►四大類價量因子 2.2 快速產生多種價量因子 ►TALIB 使用介紹 ►開源的 Alphas-WorldQuant 101 ►開源的 Alphas- 國泰君安 191 2.3 WorldQuant 101 Alphas 因子分析 2.4 台股操作更傾向反轉還是動能?
第3章 台指期的價量研究 3.1 台指期的資料處理- 分K 轉換 3.2 台指期在回測系統中如何設定? 3.3 台指期的策略研究 3.4 台股與台指期的結合- 對沖股票部位
第4章 AI 模型好用嗎? 4.1 前言 ►任務目標的類型 ►切分資料集 ►低度擬合 vs 過度擬合 ►AI 模型預測的任務五大步驟 4.2 機器學習在股價預測上的應用 ►線性迴歸模型(Linear Regression Model) ►邏輯迴歸模型(Logistic Regression Model) ►決策樹模型(Decision Tree Model) ►隨機森林模型(Random Forest Model) ►XGBoost 4.3 深度學習在股價預測上的應用 ►隨機種子(Random Seed) 設定 ►數據載入和批量(Batch) 處理 ►損失函式(Loss Function) 選擇 ►優化器(Optimizer) 設定 ►模型(Model) 架設 ►訓練函式 ►評估函式 4.4 強化學習在股價預測上的應用 ►Environment 設置實作 ►模型訓練實作 ►模型推論實作 ►多資產交易範例
第5章 該如何進行交易? 5.1 透過Backtrader 獲取交易訊號及串接下單API– 以股票為例 5.2 透過Backtrader 獲取交易訊號及串接下單API– 以期貨為例 5.3 Line Message API 進行交易推播 5.4 自建Airflow 排程環境 ►Docker 簡介 ►Airflow 簡介 ►將股票策略加入 Airflow 排程中 ►將期貨策略加入 Airflow 排程中 5.5 結語– 交易前請看 |
序
前言
這世界上有各式各樣的投資流派,每個流派也都有佼佼者獲利驚人,例如說有人做統計套利,包括股票、期貨、可轉債之間的價值計算,或者是整股零股之間的套利,也有台指期不同合約之間的套利,套利手法之多,數不勝數。更有人做大家熟知的價值投資,透過分析財報去選股,然後以籌碼、價量去擇時。 所謂江湖一點訣,其實有些在投資領域的專有名詞或是手法,聽起來非常高深,但實際上概念不難理解,但往往執行時又困難重重,我們舉個例子,例如說大家常常聽到的套利,有一個最基礎的是我們同時觀測大小微台的價格,因為他們背後的指數都是同一邏輯,所以理論上價格應要相當接近,當我們看到了例如說10 點以上的價差,可能是有某一個台指產品被超買或超賣了,所以我們就做多超賣的一邊,做空超買的一邊,即可鎖住獲利,聽起來概念很簡單,實作也很簡單對吧?就是觀測價差,看到價差進去一多一空,甚至簡單的加減法就可以。但問題是,我們看到了10 點價再進去搶,99% 搶不到,早就被市場的高頻交易商搶光,我們下單後會發現價差完全不存在,而產生手續費的損失。在微台剛出的時候,我們也搶進去執行套利,但一個月後我們就搶不到任何價差了。上述例子可以傳達,我們一開始可能覺得「套利」這個詞高大上,很困難,但如果有人舉了一個例子,我們會發現他的概念很簡單,但自己真的要去做的時候,又會發現簡單的策略執行起來高深莫測。 還有一個剛加入量化投資領域,剛剛研發出第一個策略的人常常做錯的事情─ 就是為了績效而沒有去考量合理性,過度的去擬合參數,或者是偷看到未來數據。坦白說,我們作為歷史數據的未來人,要用過去的數據建構出回測賺錢的策略,絕不是困難的事情,在量化交易的競賽中,我們提交了50 多個台美中股,夏普比率>1.5 以上,並符合各項檢測的交易策略,甚至有些策略的夏普> 4 以上,但我們深知很多策略在未來一定會失效,只是競賽使用罷了。我們透過擬合參數,絕對可以做出賺錢的策略,而且超級賺錢,但這些策略在未來一定非常淒慘。 因此在本書中,我們除了傳授技術,無論是量化分析技術還是工程技術,我們都希望在過程中不斷向讀者提醒,以避免做出未來一定會很淒慘的那種策略,另外因為書本的篇幅有限,而且有些套件例如說券商的下單shioaji 及資料源yfinance 可能會因為更新了新版,而與書本教的方式使用方法不同,所以我們在github 中提供了程式碼以及issue 供讀者發問討論,如果套件使用方法有變,我們也會在上面做即時的更新,讀者在開始之前可以先去 github 搜尋ZJHuang915 找到本書的程式碼 PythonQuantTrading,害羞提issue 的同學也可以找到我們的個人信箱,隨時寄信給我們,我們都會盡快做回覆。 |