構建一個(gè)技術分(fēn)析策略需要考慮哪些因素?
發布時(shí)間:2018-01-11 | 來(lái)源: 川總寫量化(huà)
作者:石川
摘要:構建一個(gè)技術分(fēn)析策略大(dà)緻需要考慮基礎、風控和(hé)微調三大(dà)部分(fēn)。随著(zhe)時(shí)代的(de)發展,傳統技術分(fēn)析的(de)光(guāng)環逐漸褪去。
1 引言
技術分(fēn)析(technical analysis)是量化(huà)投資的(de)一個(gè)重要組成部分(fēn)。技術分(fēn)析通(tōng)過研究投資品曆史量價信息來(lái)預測價格走勢、決定投資策略。技術分(fēn)析隻考慮市場(chǎng)的(de)價格行爲,認爲“曆史會不斷重演”、試圖借由大(dà)量的(de)統計資料來(lái)預測行情走勢。技術分(fēn)析的(de)發展長(cháng)河(hé)已有百年曆史,在這(zhè)其中出現了(le)很多(duō)“大(dà)神”、也(yě)誕生了(le)很多(duō)家喻戶曉的(de)技術指标,比如人(rén)們耳熟能詳的(de) MACD、KDJ 以及布林(lín)帶(Bollinger bands)等。與基本面投資不同,技術分(fēn)析完全不考慮投資品(比如股票(piào)或者商品期貨)的(de)基本面信息,僅僅根據量價的(de)特征來(lái)産生開倉、平倉信号,捕捉交易機會。因此,與基本面投資相比,技術分(fēn)析對(duì)投資者的(de)要求更低,更容易被普通(tōng)投資者掌握。此外,作爲技術分(fēn)析代表的(de)海龜交易法在上世紀七、八十年代的(de)大(dà)獲成功更是讓人(rén)躍躍欲試。
毫無疑問,技術分(fēn)析是任何量化(huà)投資的(de)踐行者必須掌握的(de)一項技能。那麽,使用(yòng)技術分(fēn)析手段來(lái)構建投資策略都需要注意些什(shén)麽呢(ne)?本文抛磚引玉,談一些我們的(de)理(lǐ)解。構建一個(gè)技術分(fēn)析策略大(dà)緻需要考慮以下(xià)六點、歸類爲三大(dà)部分(fēn):基礎、風控和(hé)微調。
接下(xià)來(lái)的(de)二、三、四小節會使用(yòng)國内商品期貨數據構建策略對(duì)這(zhè)三部分(fēn)進行說明(míng)。我們從一個(gè)“基礎版”技術分(fēn)析策略出發,随著(zhe)文章(zhāng)的(de)深入,把上述不同組成部分(fēn)逐漸添加到該策略中,說明(míng)這(zhè)些組件在構建一個(gè)成功的(de)技術分(fēn)析策略時(shí)發揮的(de)作用(yòng)。最後,本文會探討(tǎo)以下(xià)在當下(xià)技術分(fēn)析是否還(hái)能“大(dà)展拳腳”。
2 基礎篇:确定市場(chǎng)形态 & 選擇技術指标
在技術分(fēn)析中,首先要考慮的(de)是希望交易的(de)市場(chǎng)形态。市場(chǎng)形态可(kě)以從多(duō)個(gè)角度解讀,比如從市場(chǎng)趨勢可(kě)以把策略分(fēn)爲趨勢追蹤和(hé)均值回歸策略;從交易的(de)頻(pín)率可(kě)以把策略分(fēn)爲以日頻(pín)(或周頻(pín))數據爲主的(de)中低頻(pín)策略、和(hé)以分(fēn)鐘(zhōng)及小時(shí)數據爲主的(de)日内中高(gāo)頻(pín)數據。假設我們選擇以日線數據構建一個(gè)趨勢追蹤類的(de)技術分(fēn)析策略。
在确定了(le)要交易的(de)市場(chǎng)形态後,緊接著(zhe)就是選擇适合自己的(de)技術指标了(le)。任何技術指标,都是根據曆史量價數據計算(suàn)而來(lái)。技術指标僅僅是對(duì)量價數據的(de)一個(gè)高(gāo)度提煉、降噪的(de)過程,以期捕捉到一些更泛化(huà)的(de)信息;它們并不能提供任何量價以外的(de)信息。同一類的(de)技術指标多(duō)少都有一些大(dà)同小異。
以趨勢追蹤策略爲例,我們在《趨勢追蹤:均線 vs 通(tōng)道突破》比較了(le)兩大(dà)類趨勢技術指标 —— 均線和(hé)通(tōng)道突破,通(tōng)過實證解釋了(le)它們在風險收益特征上的(de)差異(下(xià)圖)。投資者需要根據自己的(de)風險偏好選擇适合自己的(de)技術指标。對(duì)于不同的(de)技術交易指标和(hé)系統,Kaufman (2013) 是一本很不錯的(de)參考書(shū)。作者本人(rén)也(yě)是技術分(fēn)析大(dà)牛,這(zhè)本書(shū)寫的(de)非常清楚。
針對(duì)日頻(pín)趨勢追蹤策略這(zhè)個(gè)目标,我們采用(yòng)唐奇安通(tōng)道(Donchian channel)突破作爲技術指标,構建我們的(de)“基礎版”策略。唐奇安通(tōng)道由期貨交易大(dà)師 Richard Donchian 發明(míng)、是海龜交易法的(de)重要部分(fēn)。它利用(yòng)一段時(shí)間窗(chuāng)口的(de)最高(gāo)價和(hé)最低價作爲通(tōng)道,以價格突破通(tōng)道上、下(xià)限作爲多(duō)、空的(de)開倉信号。具體的(de),我們的(de)“基礎版”策略如下(xià):
在沒有任何頭寸時(shí)的(de)開倉信号:
如果當日的(de)收盤價高(gāo)于前 50 日的(de)最高(gāo)價,則按下(xià)一日開盤價做(zuò)多(duō);如果當日的(de)收盤價低于前 50 日的(de)最低價,則按下(xià)一日開盤價做(zuò)空。
平倉信号:
當持有多(duō)頭頭寸時(shí),如果當日收盤價低于前 10 日的(de)最低價時(shí),則在下(xià)一日開盤時(shí)平掉多(duō)頭倉位;當持有空頭頭寸時(shí),如果當日收盤價高(gāo)于前 10 日的(de)最高(gāo)價時(shí),則在下(xià)一日開盤時(shí)平掉空頭倉位。
倉位計算(suàn):
在計算(suàn)每次開倉的(de)倉位時(shí),我們以分(fēn)配的(de)資金對(duì)于目标交易商品收益暴露爲 1 這(zhè)個(gè)原則(即如果目标商品收益率變化(huà) 1%,我們的(de)淨值也(yě)變化(huà) 1%)。
交易成本:
交易成本方面,假設每筆交易(包括開多(duō)、開空、平多(duō)、平空)的(de)手續費和(hé)滑點一共爲千分(fēn)之一。
爲了(le)測試這(zhè)個(gè)交易策略,我們使用(yòng)下(xià)列來(lái)自國内商品交易所的(de)商品的(de)合成指數作爲投資标的(de)。回測期爲 2011 年 1 月(yuè) 1 日到 2017 年 6 月(yuè) 23 日。
該“基礎版”策略在回測期内的(de)淨值和(hé)最大(dà)回撤曲線如下(xià)圖所示。它雖然取得(de)了(le)驚人(rén)的(de)年化(huà) 71.01% 的(de)收益率,夏普比率爲 1.07,但是它的(de)最大(dà)回撤卻高(gāo)達 -71.14%。
這(zhè)樣的(de)結果說明(míng)以下(xià)兩點:
1. 以唐奇安通(tōng)道作爲技術指标的(de)趨勢追蹤策略在收益端非常有效;
2. 該“基礎版”策略有著(zhe)不當的(de)風險收益特性;它的(de)風險過大(dà),在風險端的(de)控制非常失敗。
下(xià)面我們就來(lái)看看如何在風險端改進上述策略。
3 風控篇:倉位控制 & 跟蹤止損
在風控方面,技術分(fēn)析策略的(de)兩大(dà)利器是“倉位控制”和(hé)“跟蹤止損”。倉位控制相當于在交易前就有針對(duì)性的(de)計算(suàn)好每筆交易的(de)最大(dà)可(kě)能虧損,以此來(lái)确定倉位。跟蹤止損則相當于在交易後随著(zhe)價格走勢是否有利于交易的(de)方向來(lái)決定是否及時(shí)平倉、退出該交易。爲了(le)解釋“倉位控制”和(hé)“跟蹤止損”,就不得(de)不先說另外一個(gè)指标 —— ATR(average true range,真實波動幅度均值)。它通(tōng)過過去一段時(shí)間的(de)最高(gāo)價、最低價和(hé)收盤價計算(suàn)出投資品的(de)波動範圍。比如一個(gè)投資品現在的(de)價格是 500,而它的(de) ATR 是 20,這(zhè)意味著(zhe)它最近一段時(shí)間的(de)交易區(qū)間在 500 上下(xià) 20 左右。ATR 有助于幫助我們判斷某商品的(de)價格在未來(lái)一段時(shí)間的(de)波動範圍。這(zhè)對(duì)于風控至關重要。
在進行倉位控制時(shí),常見的(de)目标是“計算(suàn)倉位以使得(de)每次交易的(de)最大(dà)虧損不超過給定上限”。具體實施上面,假設每筆交易的(de)給定損失是 2% 的(de)資金量,使用(yòng)一定倍數的(de) ATR 計算(suàn)倉位(比如 4 倍)。舉個(gè)例子,假如通(tōng)道上限被突破,我們選擇做(zuò)多(duō)。但在建倉後,投資品的(de)價格開始下(xià)跌。那麽,當價格下(xià)跌到達 4ATR 時(shí)(一個(gè)非常差的(de)情況,即投資品的(de)跌幅較我們的(de)開倉價來(lái)說是 4ATR / 開倉價 × 100%),我們要求本次的(de)交易僅僅虧損資金量的(de) 2%,以此反推計算(suàn)出倉位。加入了(le)上述倉位控制後,策略的(de)風險較“基礎版”得(de)到了(le)明(míng)顯的(de)控制,雖然犧牲了(le)很多(duō)收益,但是夏普率卻較“基礎版”有了(le)顯著提高(gāo),說明(míng)“基礎版 + 倉位控制”策略有著(zhe)更好的(de)收益風險比。該策略的(de)年化(huà)收益率爲 33.45%,夏普比率提升至 1.25,最大(dà)回撤 -24.25%;淨值和(hé)最大(dà)回撤曲線如下(xià)。
上面我們僅僅考慮了(le)開倉前的(de)倉位控制。在風控方面,開倉之後的(de)止損也(yě)至關重要。具體的(de),止損有兩個(gè)目的(de):
1. 當價格走勢和(hé)我們的(de)開倉信号相左時(shí),我們的(de)開倉量并不能夠保證虧損不超過限制。這(zhè)是因爲如果技術指标沒有發出平倉信号,那麽哪怕是投資品價格下(xià)跌已經超過我們的(de)資金量所願意承受的(de)虧損時(shí),我們仍然不會平倉,而是會繼續等待平倉信号。這(zhè)時(shí),如果策略中存在止損線,那麽就可(kě)以在此時(shí)強行止損。
2. 當價格走勢和(hé)我們的(de)開倉信号相同時(shí),如果趨勢不強,那麽在趨勢結束時(shí)平倉信号給出的(de)交易價格不一定優于我們的(de)開倉價格。換句話(huà)說,在趨勢弱的(de)時(shí)候,我們雖然會在持倉過程中有浮盈,但是最終還(hái)會“竹籃打水(shuǐ)一場(chǎng)空”。針對(duì)這(zhè)種情況,一般采用(yòng)動态改變止損線(稱爲跟蹤止損),這(zhè)有助于策略鎖住一部分(fēn)利潤。比如當我們做(zuò)多(duō)時(shí),随著(zhe)價格的(de)上升,我們的(de)止損線也(yě)相應上移。當價格回調時(shí),如果它觸及了(le)上移後的(de)止損線,策略就會平倉,鎖定那部分(fēn)利潤。
假設我們用(yòng)每天的(de)收盤價 ± 2ATR 作爲相應的(de)空、多(duō)單的(de)止損線,并根據最新的(de)收盤價進行跟蹤止損。把這(zhè)個(gè)想法加入到上述“基礎版 + 倉位控制”策略之上,得(de)到新的(de)“基礎版 + 倉位控制 + 跟蹤止損”策略。該策略的(de)年化(huà)收益率爲 28.09%,夏普率 1.20,最大(dà)回撤 -22.66%;淨值和(hé)最大(dà)回撤曲線如下(xià)。該策略的(de)夏普率雖然略遜于不帶跟蹤止損的(de)版本,但它進一步降低了(le)最大(dà)回撤。
“止損”是一把雙刃劍。它确實能夠規避價格繼續向不利于交易的(de)方向發展的(de)風險,但同時(shí)以犧牲“價格在到達止損線之後發生反轉從而減小虧損甚至産生收益”爲代價。不當的(de)止損線更是會大(dà)大(dà)降低策略的(de)表現。但是從控制風險的(de)角度,止損無疑是技術分(fēn)析策略中的(de)重要一環。
4 微調篇:多(duō)指标确認 & 波動率過濾
清晰的(de)技術指标加上合理(lǐ)的(de)止損,我們的(de)趨勢策略已經有了(le)不錯的(de)基礎。本節就來(lái)看看常見的(de)微調(fine tuning)手段。這(zhè)主要包括多(duō)指标确認和(hé)使用(yòng)波動率對(duì)投資品進行過濾。對(duì)于圍繞任何技術指标構建的(de)策略,勝率和(hé)盈虧比都是魚和(hé)熊掌不可(kě)兼得(de)的(de)一對(duì)矛盾。一個(gè)系統的(de)勝率越高(gāo),它的(de)盈虧比通(tōng)常越低,反之亦然。爲了(le)提高(gāo)勝率,技術分(fēn)析領域常見的(de)做(zuò)法時(shí)同時(shí)使用(yòng)多(duō)個(gè)技術指标,當這(zhè)些指标均發出開倉信号時(shí)才交易。
在實證中,我們給唐奇安通(tōng)道加入一個(gè)新的(de)動量指标,用(yòng)來(lái)描述趨勢的(de)強弱。該指标是 Stochastic oscillator(随機波動指标),也(yě)是根據過去一段時(shí)間的(de)最高(gāo)、最低和(hé)收盤價計算(suàn)得(de)來(lái)。它的(de)取值範圍是 0 到 100 之間,越高(gāo)說明(míng)買入的(de)動量越強;越低說明(míng)賣出的(de)趨勢越強。有人(rén)使用(yòng)它作爲超買超賣的(de)指标,但大(dà)量實證顯示,它被當作動量指标使用(yòng)效果更好。将它和(hé)唐奇安通(tōng)道突破結合,我們的(de)開、平倉規則改爲:
在沒有任何頭寸時(shí)的(de)開倉信号:
如果當日的(de)收盤價高(gāo)于前 50 日的(de)最高(gāo)價且當日随機波動指标大(dà)于 70,則按下(xià)一日開盤價做(zuò)多(duō);如果當日的(de)收盤價低于前 50 日的(de)最低價且當日随機波動指标小于 30,則按下(xià)一日開盤價做(zuò)空。
平倉信号:
當持有多(duō)頭頭寸時(shí),如果當日收盤價低于前 10 日的(de)最低價或當日随機波動指标小于 50,則在下(xià)一日開盤時(shí)平掉多(duō)頭倉位;當持有空頭頭寸時(shí),如果當日收盤價高(gāo)于前 10 日的(de)最高(gāo)價或當日随機波動指标大(dà)于 50,則在下(xià)一日開盤時(shí)平掉空頭倉位。
此外,同樣考慮倉位控制以及跟蹤止損,由此得(de)到新的(de)“基礎版 + 倉位控制 + 跟蹤止損 + 複合指标确認”策略。該策略的(de)年化(huà)收益率爲 27.02%,夏普率 1.27,最大(dà)回撤 -17.26%;淨值和(hé)最大(dà)回撤曲線如下(xià)。較之前的(de)版本,該策略将系統的(de)勝率從 43% 左右提高(gāo)至 48% 左右,且獲得(de)了(le)更高(gāo)的(de)夏普率和(hé)更小的(de)最大(dà)回撤。
由于同類型技術指标之間的(de)高(gāo)相似性,基于單一指标的(de)策略的(de)相關性非常高(gāo)。構建策略時(shí)切記不宜使用(yòng)過多(duō)的(de)指标。使用(yòng)的(de)指标越多(duō),樣本内拟合的(de)越精準,策略在樣本外的(de)普适性就越低。一般來(lái)說,使用(yòng)兩個(gè)技術指标來(lái)确認交易信号足以。
最後再來(lái)看看另一種微調思路,即使用(yòng)波動率來(lái)過濾投資品。對(duì)于趨勢追蹤策略,實際上就是“做(zuò)多(duō)波動率”。隻有大(dà)起大(dà)落的(de)投資品才能産生明(míng)顯的(de)趨勢,那些死氣沉沉、價格在買一賣一之間來(lái)回扭的(de)投資品則沒有趨勢交易一展身手的(de)空間。從這(zhè)個(gè)觀點出發,我們可(kě)以給策略加一個(gè)波動率過濾器,動态的(de)過濾掉在當前波動率不足的(de)投資品,而僅僅交易那些波動率高(gāo)的(de)品種。具體的(de),利用(yòng)過去 60 天的(de)收益率計算(suàn)其标準差作爲波動率的(de)代理(lǐ)指标。每當某品種産生交易信号時(shí),如果它的(de)波動率在所有投資品中處于後 20% 則放棄該信号,不進行交易。如此,我們得(de)到最終的(de)“基礎版 + 倉位控制 + 跟蹤止損 + 複合指标确認 + 波動率過濾”策略。該策略的(de)年化(huà)收益率爲 23.41%,夏普率 1.21,最大(dà)回撤 -15.97%;淨值和(hé)最大(dà)回撤曲線如下(xià)。
由于交易的(de)品種減少,該策略更有效的(de)控制了(le)回撤,但是夏普率卻不及前者。此外,由于我們是根據曆史波動率來(lái)判斷投資品未來(lái)的(de)波動程度、決定這(zhè)個(gè)投資品是否交易,這(zhè)相當于變相擇時(shí),也(yě)注定加入了(le)不确定性。
5 廉頗老矣,尚能飯否?
本文從一個(gè)基本的(de)趨勢追蹤策略出發,依次加入了(le)構建技術分(fēn)析策略的(de)重要組成部分(fēn):倉位控制、跟蹤止損、多(duō)指标确認、以及波動率過濾。希望通(tōng)過本文的(de)介紹讓小夥伴們看到,在開發一個(gè)技術分(fēn)析策略時(shí),哪些因素是必須考慮的(de),以及它們之間是如何取舍的(de)。這(zhè)五個(gè)策略的(de)表現彙總于下(xià)表。從風險控制的(de)角度來(lái)說,每一個(gè)因素的(de)加入都有效降低了(le)最大(dà)回撤。但是,這(zhè)個(gè)市場(chǎng)上從來(lái)就沒有“聖杯”,因此每一個(gè)因素的(de)加入有都會改變策略本身的(de)風險收益特征,需要我們根據自己的(de)風險偏好來(lái)取舍。
技術分(fēn)析的(de)最大(dà)價值在于它能由計算(suàn)機産生明(míng)确的(de)交易信号;一個(gè)全自動化(huà)的(de)交易系統更能夠代替人(rén)來(lái)自動進行交易,從而完全摒除在面對(duì)交易時(shí)人(rén)性的(de)弱點。正如我們在《海龜交易法則:逆人(rén)性投資》和(hé)《追求卓越,但接受交易中的(de)不完美(měi)》闡釋的(de)那樣,人(rén)性的(de)弱點永遠(yuǎn)是交易中的(de)最大(dà)障礙。如果交易者不能夠嚴格按照(zhào)技術指标給出的(de)信号進行買、賣,而是摻雜(zá)了(le)大(dà)量的(de)主觀操作,再好的(de)策略也(yě)無能爲力。
技術分(fēn)析已經發展了(le)百年,大(dà)多(duō)數現在被廣泛使用(yòng)的(de)指标都是幾十年前的(de)東西。當時(shí)計算(suàn)機尚未普及,絕大(dà)多(duō)數人(rén)還(hái)在看蠟燭線甚至是單一的(de)收盤價交易。在當時(shí),技術指标較蠟燭線和(hé)收盤價來(lái)說絕對(duì)有它的(de)先進性;使用(yòng)技術分(fēn)析交易的(de)人(rén)也(yě)絕對(duì)比那些眼兒(ér)瞪看線的(de)人(rén)有信息優勢。這(zhè)些優勢讓技術分(fēn)析的(de)佼佼者在那個(gè)時(shí)代脫穎而出,成爲一代傳奇。而如今,随便一個(gè)看盤軟件都能畫(huà)出各種技術指标,像樣一點的(de)交易終端都可(kě)以通(tōng)過簡單的(de)設定便能根據技術指标來(lái)交易。
随著(zhe)使用(yòng)技術指标的(de)門檻大(dà)大(dà)降低,使用(yòng)的(de)人(rén)也(yě)越來(lái)越多(duō)。任何指标能夠賺錢都是在利用(yòng)了(le)市場(chǎng)在某方面的(de)非有效性,當越來(lái)越多(duō)的(de)人(rén)使用(yòng)它,這(zhè)個(gè)非有效性就會降低,直至該指标失效。這(zhè)就是爲什(shén)麽我們觀察到在當下(xià),技術分(fēn)析策略越來(lái)越褪去神奇的(de)光(guāng)環。技術分(fēn)析中對(duì)倉位和(hé)風險控制值得(de)借鑒,但僅僅使用(yòng)傳統的(de)技術分(fēn)析就想取得(de)非凡的(de)投資收益的(de)日子是一去不複返了(le)。市場(chǎng)在發展,量化(huà)投資的(de)踐行者唯有不斷學習(xí)新的(de)知識和(hé)技術,才能跟上時(shí)代的(de)步伐。
參考文獻
Kaufman, P. J. (2013). Trading systems and methods + website (5th ed). John Wiley & Sons, Inc., Hoboken, NJ.
免責聲明(míng):入市有風險,投資需謹慎。在任何情況下(xià),本文的(de)内容、信息及數據或所表述的(de)意見并不構成對(duì)任何人(rén)的(de)投資建議(yì)。在任何情況下(xià),本文作者及所屬機構不對(duì)任何人(rén)因使用(yòng)本文的(de)任何内容所引緻的(de)任何損失負任何責任。除特别說明(míng)外,文中圖表均直接或間接來(lái)自于相應論文,僅爲介紹之用(yòng),版權歸原作者和(hé)期刊所有。