NokiMo
阿程量化交易
阿程量化交易

patreon


【預測唔準既最大原因 + long/short股票核心】

前幾日係屋企清理舊書,汁汁下搵到本以前大學非常推崇既 linear regression 書,名就唔多講了因為我睇完發覺中晒伏,但點解會咁蠢睇完先覺得中伏?

1. 原來有本更容易理解既 LR 書 (有興趣學 LR 想上手,可睇 Regression Modeling Strategies by Harrell Jr)

2. 我自己可能有bias,因為以前自己睇完本書,做埋啲題目後你覺得啲野易左,所以諗返點解啲野咁易都要花咁多時間睇。

3. LR 其實再熟都無咩大實戰用途,反而要睇多啲 quantile regression / ML書,實戰應用性高以倍計,因為做trade唔係一刀切,畫一條線對做trade作用不大

好喇返正題, 今日主要講 time series model 對比 cross sectional model。大家可能即刻諗到一定係 time series linear regression,即係你可能用百幾日既股票回報, regress on 一堆因子回報,從而得出個 Beta之類,而啲係 time series regression。

而 cross sectional regression / cross sectional model,其實唔係做而行既朋友未必知,好多 quant fund 設計股票 long/short 或只 long 策略個陣,好多時會傾向用橫截面(cross sectionall)模型,而唔係純粹依賴時間序列(time series)模型。而個分別可能就係好多retail trader 做左交易好多年,但係預測層面上都未必做得好好既原因。就咁聽落去,用邊種model好似只係一個模型選擇既問題,但實際上牽涉到唔少野,例如預測穩定性﹑交易成本、風險管理等問題,之後再講。

好多人用歷史價格數據作為基礎,用時間序列模型做預測,然後決定係買入定係賣出。但係如果你有幾年交易經驗既話,你會發現,特別係股票市場,公司既基本面突然變動、跨行業、概念輪動 (theme rotation) 等等唔同因素會令到單靠時間序列模型好易受到局限,亦容易產生參數不穩定、過度擬合等問題。點解? 因為你用幾十日什至百幾日之前既數據去做regression計Beta,其實可能10日之前既數據對預測Beta既作用已經唔高,更可況係幾十日之後。所以,不論係學術界定行內都會考慮用另一角度,就係橫截面模型去做預測。簡單講句,就係橫截面模型,以每日(或更短時間,如intraday level)唔同標的 (例如唔同股票) 當下既相對表現為基礎去做預測,令到交易策略更容易捕捉市場既斷面效應同相對優勢。同埋從某種程度上講,橫截面模型更加符合「相對價值交易」既理念,即係話就算我當個市場走勢不明朗,但總有某啲股票既表現比其他股票黎得強勢,所以只要Long/short 岩股票 或者 Long/Short 岩股票同指數期貨,其實都係會有肉食。 

先睇睇時間序列模型應用中有咩問題:

咁如果係用橫截面模型呢?:

橫截面模型將焦點由單一股票既歷史數據轉向股票之間既相對表現。具體黎講,佢會將同一時點所有股票既各項指標(例如近期回報、估值指標、波動率等唔同metrics)一齊拿出來做比較,再按照某一組合規則(例如排名、打分、因子值加權)生成一個「橫截面」既數據矩陣。

呢個矩陣之後就會用作生成交易信號:例如挑選回報排名最高前 10% 既股票做多,而將回報最低既 10% 股票做空。咁樣既可以做到捕捉市場相對差,亦可以直接達到市場中性,從而大幅降低系統性風險。

好處有:

因為市場information decay快,取短期大量數據比長期大量數據做預測更附合金融nature,所以做預測會更準確同robust。橫截面模型反映短期內各股票之間既表現差異,特別適合捕regime change / theme change 情況下,由機構調倉、消息效應或基本面變化帶來既短期波動。換句說話講,好多時以前用time series regression做既預測,因為 X variables 用左太遠以前既數據,本身無咩有用既 information contained,所以做regression後做的預測,好多時都唔準。但而家你做 cross sectional regression / cross sectional model (e.g. 排名) 係用緊岩岩過左既一兩日什至係一兩分鐘既大量數據去做預測,而唔係用緊一隻股票的大量過往(=無咩用)既數據去做預測。咁當唔同股票的某啲特性的值有轉變,令到Long/Short極端兩組股票的回報差異係可能去到mid single digit 什至low double digit annualized returns的話,咁你用而啲特性轉變去做預測就更有把握可extract alpha。

簡單講,而個係大量無用(long term) 既數據 (time series) V.S. 大量有用(short term)既數據(cross sectional) 既分別

橫截面模型可以每日統一根據最新數據重新排序,每隻股票既數據更新後就可立刻反映係交易信號上,對於實戰黎講,特別對PM/trader黎講係一個相當靈活既工具

黎到而度,今日最有價值個part,我舉個實際以前經歷做例子:

以前曾經管理過一個有 500 隻股票 Universe (唔係日日都有500隻股position當然),其中每日都會根據過去 20 個交易日回報率、波動率同成交量同埋由alternative data而建立一個打分系統。打分公式如下:

經過每日打分,從 500 隻股票中挑選出得分最高的前 30-50 隻做long,同時從得分最低的一組中篩選出 30-50 隻做short。

回測方法,大路野黎:

最核心想做好long/short既朋友留意,核心核心核心係,用得cross sectional方法,以我認為,必須要有捕捉長期effects,亦要有個dynamic系統去捉短期effects。

唔少人都知P/E的 90th 及 10th percentile long short 股票既長期 returns difference係明顯,但偏偏好多人唔識/唔考慮用佢做一個filter去選出一啲比較大機會會買/short岩方向的股票,而只專注係short term層面上。你諗下,點解咁多PM manage portfolio 個陣,交低個algo比條靚,叫佢每日開市前後要微調策略參數,或者肉眼見到有good risk adjusted returns opportunity時侯要人手去trade姐? 就係因為個市唔係日日都realize緊long term effects,有時係會short term effects in dominant。變相你想個portfolio更加robust,你必須要有個系統 (be it semi automatic because of 加入人手調整參數, 或者 fully automatic 情況下考慮好多種市況),去short term adpatively 應對個市況。

例如Trump突然話要加大對某行業支持力度,扔多啲錢落去,咁個system靜係考慮 P/E因子去做long/short 咪有可能會死/唔賺錢。而個時侯就係要short term effect dominant,long/short 岩個行業股票,而平時無咩short term effect dominant時就按long term effect 去long/short。而個先係 cross sectional long/short 既重點。

希望今日 high-level 的講解可以令大家轉一轉個研究方向,除左time series研究外,行內用的更多是 cross sectional 分析,而個做法可能令大家係做預測時更 accurate and precise。加油! 好快會出埋上一次 intraday trading 教學片,遲下見!

Cheers,

阿程

【預測唔準既最大原因 + long/short股票核心】

Comments

有冇人知道JS 印度D嘢?

Ron chan

對,其中一個核心,解決到而個問題通常會有大marginal benefits

SY

最難係ensure data consistency and being timely available, 講緊要咁多cross sectional data, 是但冇左1個都出唔到signal

surewin algo


Related Creators