尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
-Tips:下載【市值風雲APP】,精彩內容搶先看—
作者 | 顧左右
流程編輯 | 白鶴芋
大將生來膽氣豪,腰橫秋水雁翎刀,
風吹鼉鼓山河動,電閃旌旗日月高。
天上麒麟原有種,穴中螻蟻豈能逃,
太平待詔歸來日,朕與將軍解戰袍。
一、再次寫在前面
在上篇量化策略系列的第一篇文章(《市值風雲量化策略(一):能在A股熊市里跑出三年12倍的量化模型,了解一下?》)發出後,風雲君收到了了許多讀者們的留言,風雲君在市值風雲自家的APP上也回答了各位的問題。
然鵝,風雲君發現大家對量化策略還存在著一些理解上的偏差,在這里再統一做一下說明。
有讀者說風雲君做的模型是削足適履,也有人認為整個調整參數的過程是根據已有的結果進行的。我認為這里需要說明兩點:
1、所有人類或者AI的決策過程都是基於歷史信息而制定的,也是基於近期的數據進行調整的,甚至連我們的想像都是基於現實的。你要非說這是削足適履我們確實也無話可說。
到目前為止風雲君知道的所有量化交易策略,都是要在運行的過程中根據市場的變化而不斷調整模型參數的。而大趨勢的變化在時間區間上往往都是年度級別的,在實戰中市場會留給我們修正模型的時間。
2、風雲君在製作策略的時候並沒有根據事後的板塊走勢來制定策略。也是可能是上篇文章寫的較為倉促,導致文章缺少了一些決策制定的細節,在本文中會多加入一些決策制定思考過程。
還是那句話,希望讀者們注意,文章中的各種收益率其實都是基於過往數據的一種統計結果,並不能代表日後的收益;也希望各位可以更多的把關注點放在相應的思路及啟示上,可以有自己的辯證思考。
大家對文章有什麼問題,或者好的模型思路,歡迎通過市值風雲APP和作者交流。
二、基於「事出反常必有妖」的樸素原理
書接正文。上回書中風雲君向大家介紹了一個「被動型分時交易策略」,這個策略屬於一個較為短線的策略,對於不會量化交易的讀者們的借鑒意義可能不大,畢竟大多數人也沒工夫每天操作十幾只股票。
上次文章過後,各位老鐵踴躍打賞,今天就來給大家分享一個較為中線的交易思路,而且部分數據在我們的每日復盤中也會有所披露,相對而言可借鑒學習的地方就多一點。
這是個基於向上跳空形態的策略。
如果我們觀察足夠多的K線圖我們會發現,一般而言,股價的變動基本會是連續的。但是偶爾我們也會觀察到相鄰兩根K線之間存在的價格缺口的情況,這種缺口就被稱作跳空缺口。當t+1日的最低價高於t日的最高價時,就會在k線圖上形成一個向上跳空的缺口。
正如上文中提到,出現跳空缺口並相對於連續價格走勢而言是相對少見的。老話說的好,「事出反常必有妖」。
在百度百科百科相關詞條下,度娘提到,「從技術分析的角度來看,跳空缺口一般是一種比較明顯的趨勢信號。如果股價向上跳空,則表示上漲趨勢可能來臨;若股價出現向下跳空,則可能預示調整或下跌」。
看到這里,代客泊車多年的風雲君不禁興奮了起來,有這麼明顯的趨勢信號相助,一個億的小目標豈不是變得唾手可得了?
說幹就幹,立即動起手來準備寫一套用跳空信號作為買賣信號的策略來進行一下回測。
三、從一個粗糙的模型開始
俗話說的好,萬事開頭難,所以在製作交易策略的時候我們可以從一個較為簡略的模型開始,然後逐步進行修改加工,再看看最終是否能收獲一個令自己滿意的結果。
既然這樣,那我們就先做一個簡單的策略,策略基本信息如下:
起始資金規模:10萬元。
交易費用:買賣時各交納萬三傭金+千分之一印花稅。
買入規則:剔除ST股和暫停交易的股票,上市滿100日,剔除漲停板和連板造成的跳空。將持有資金平均分配給持有個股,優先購買流通市值小的個股,最多持股十只,每只股票最多持有金額不超過兩萬元。
賣出規則:跳空缺口如果被回補則清倉止損,當個股收益達到8%時清倉止盈。
雖然本來對結果也並沒有報以太大的希望,畢竟只是初步結果,但是這個簡易策略表現實在是相當令人失望。
在2016年一年的測試區間內,這個策略的年化收益為-66.56%,整個收益曲線一步不回頭的向下走。風雲君不禁擦去額頭上的冷汗,心里暗嘆一聲,幸虧只是做回測,要是直接進行交易,恐怕很快連底褲都要輸光了。
然而在現實生活中,向上跳空好像還算是個較為有效的指標,但是為什麼在這里表現卻這麼差呢?那是什麼原因導致了策略如此令人髮指的表現呢?
風雲君默默的打開了回測後生成的交易記錄,來看看是什麼原因導致了低下的收益率。
四、讓子彈飛一會
通過觀察交易記錄發現,導致這套策略虧損的最主要原因還是在於:目前的買入條件設置的實在是過於草率。
事實證明單純的跳空缺口的出現並不能作為明顯的趨勢信號來使用,交易記錄中出現了非常多的向上跳空後幾日股價隨即拐頭向下並回踩缺口的情況。
其實這種情況風雲君早已在日常的交易中觀察到了,跳空缺口顯示的趨勢是否能最終確認是需要時間的,就像那句電影里的台詞「讓子彈飛一會」。所以在每日的復盤欄目中向大家提供的是出現跳空後13日無回踩的個股統計。
在此風雲君就借著回測數據給大家看一下「讓子彈飛一會」的必要性。
上面是不相同的不回踩天數下收益率的回測。通過觀察我們可以發現,不回補天數和收益率之間存在著疑似的正相關關係。
三日無回踩:
八日無回踩:
十三日無回踩:
0日,3日,8日,13日不回補缺口對應的收益率分別為-65.67%,-50.94%,-44.8% 和-30.44%。這種正相關關係存在著合理的解釋,即不回補時間越久說明股價向上的時間越久,表明上漲的趨勢越明顯。
但是未回踩天數的設置也不是越高越好,以下面的這張K線圖為例。2月18日出現跳空缺口,3月7日完成十三日未回踩的信號,3月8號買入的話就買在了最高點上。通過區間統計我們發現,在這13天內這只股票的累計漲幅已經達到了38.2%。
雖然長期來看可能還存在著交易機會,但是短期來說股價的安全邊際已經大打折扣。
較長的確認時間雖然在一定程度上增加了安全性,但是同時會讓我們失去一些交易機會。這就是有舍才有得的道理。
為了防止高位接盤局面的出現,我們再加入一條限制,限制買入前一段時間的漲幅。在這個模型中我們使用的是前20日漲幅不超過20%。
在加入了這個限制條件之後收益率再次小幅提升,現在策略的收益率已經從-65.67%一路上升到了-24.08%。
五、止盈止損的魔術
雖然到目前為止,我們通過設置未回踩時間已經將收益率提升了不少,但是至今為止收益率還是個負數,還是無法做到一個億的小目標。那我們還需要繼續改造這個策略。
繼續觀察新生成的交易明細,我們發現這次是粗糙的止盈止損策略造成了收益不佳的局面。
首先我們設置的原始止損指標是:股價回補完跳空缺口則認定股價趨勢發生反轉,需要清倉止損。這個思路源自於風雲君以往對跳空指標的認識,並未經過驗證。然而回測的實踐數據告訴我們這個思路並不靠譜。
通過觀察交易明細風雲君發現,只按照缺口被回補來進行止損會讓策略錯過很多盈利機會。比如下面兩張圖,都是向上缺口被回踩後依然在中線走出一波上漲行情。這樣的錯過在交易記錄中並不是孤立,而是反復的出現。
同樣,止盈策略設置為賺8個點就跑也過於簡單,浪費不少收益的機會。究其緣由,還是向上跳空在被確認後確實是一個比較強勢的形態。
在這種情況下,我們可以試著賦予模型更多的信心,適當的放寬止盈止損的條件,看看是否能給我帶來更好的收益曲線。
這時風雲君想起了在上個模型中使用過的成交量加權平均價格(VWAP)法。我們設定新的止損線為前一日收盤價小於【VWAP(5)-過去5日的標準差】即止損,止盈指標設置的稍微寬鬆一點,即前一日收盤價大於【VWAP(60)-過去60日的標準差】就進行止盈操作。
結果還是相當令人滿意的,策略的收益率終於成功轉正,在2016年達到了22.27%,當年的超額收益率更是達到了37.15%。
六、思考策略的核心
到目前為止雖然已經小有成就,但是風雲君依然在思考通過對確認區間參數和止盈止損方法的修改,風雲君對這個策略的理解已經加深了許多。
這個策略的核心意義是什麼?現在看來最主要的作用是對中長線上漲趨勢信號的一種確認。
如果能增加這種趨勢解讀的準確性和持續性,則策略的勝算就會大大加強。
如何才能再次加強策略解讀的準確性,盡量的去除噪聲?帶著這個問題風雲君再次翻開了交易明細。
通過交易的觀察,風雲君又觀察到了兩個現象:
1、有相當一部分的損失是股票在下跌過程中買入造成的。
股市里的老人們常說一句話,叫買漲不買跌。趨勢是有慣性的,在下跌的慣性沒有充分釋放之前,即使出現了向上跳空信號多半也是噪聲信號,或者觸及止損線,造成無效交易。所以可以考慮只買入中期趨勢向上的股票。在這里我選用了144日均線向上的具體指標。
2、相對於小盤股,如果大盤股出現了向上的中長線趨勢,其持續性要好於小盤股。
其實這還是慣性的原理,質量越大,慣性就越大。那我們就試一下是否只選擇流通市值大於250億的個股會收到更好的效果。
好了思路有了,那麼還是老規矩,是騾子是馬要拉出來溜溜——寫好限定條件之後再放到回測環境測試一下。
再次和改造前的策略對比,我們會發現兩者的紙面表現各有利弊。這個時候風雲君選擇了將測試時間拉長,讓策略們去更廣闊的天地中去搏擊一番,再看看是否會出現差別。這樣我們把時間拉長到2016年1月1日——2018年12月31日的更長的區間里去測試一下。
可能有讀者會問為什麼不一開始就放到一個較長的區間里去做測試呢?風雲君在這里解釋一下,目前網上平台的回測速度較慢,如果一開始在模型修改密集的時候就拿到長區間上去跑測試,可能半個月都寫不出一篇文了。
放到14-18年區間後我們發現,新策略的表現要大幅的好於舊策略。
舊策略的表現也不算太差,如果和大盤比較還是可以獲得17%的超額收益。但是舊策略在18年的表現實在是差強人意。
如果我們再次查看舊策略在18年的交易明細就可以發現,舊策略在18年虧損的最主要原因就是買入了一些趨勢向下的股票,這和18年整年的全線陰跌行情有著很大的關係。而新模型在這方面犯的錯誤明顯要少不少,因為新模型只選擇半年線企穩的公司,安全系數自然更大一些。
最後我們再把策略放到14年1月1日至18年12月31日五年的區間里最後檢查一下策略的長期穩定性。
首先在五年的區間內,兩個策略均跑贏大盤不少:新策略顯然在這個區間內擁有更高的回報率和穩定性;舊策略在市場不太差的時候表現還是不錯的,但是在熊市中抗損能力略有不足。
啟示
1、讀者朋友們在將自己對市場的觀察轉化為量化交易模型,可以先搭建一個較為簡易的模型。這個簡易模型在最初可能並不能產生令人滿意的收益曲線,但是我們不必過早的放棄,而是通過觀察交易細節來逐步改善交易模型。
2、止盈止損的設置對於模型非常重要,在結果非常不理想的時候可以直接變換一種止盈止損思路,而不僅限於調整參數。
3、正如在第一篇文章中提到的,量化策略給我們提供了寶貴的回測機會。有些我們從經驗中總結的規律是正確的,也有些是錯誤的。在製作策略的過程中我們要大膽假設,小心求證。
4、修改策略的過程中可以多思考策略的本質,抓住策略的核心要素。
5、策略的模塊化程度很高,可以根據不同的市場環境更換策略的模塊。
END
以上內容為市值風雲APP原創
未獲授權 轉載必究
郵箱:[email protected] / 微信:yangfeng562933
市值風雲APP
買股之前搜一搜!
看完文章就想走?
下載APP繼續撩……