雪球殺豬榜里的趨勢突破策略
文章來自RQ用戶畢華瑞,非授權請勿轉載
代碼:https://www.ricequant.com/community/topic/1951
1前言
自己對量化很感興趣,第一次使用rq這個平台編寫策略,希望把自己對交易的一點點心得轉化為代碼來看看策略是否真的存在alpha,希望和大家一起探討出能穩定盈利的策略。
2 策略思路
待選股票池為市值小且公司熱度高 並且處於上漲勢頭之中,網格建倉(即分批次買入)。假設股票同實體物質一樣擁有質量,則股票市值代表了該股票的質量大小,如果一隻股票市值越小則越可能被推動,同時質量越小慣性越小,當趨勢結束時因快速平倉出場。推動力以市場關注度為標準,使用了雪球輿論的新增關注人數排名前5的股票,如果同時在市場中市值排名靠後,策略中取了最小的200隻股票,則選擇到股票池之中。
(我們有地表難得的雪球熱度數據喲~)
但是光是市場關注焦點不足以成為上漲動能,所以用樞紐突破來確股票池中的股票在上漲趨勢之中。 樞軸突破的本質是一種短線趨勢策略,結合了趨勢跟蹤和反轉趨勢的交易 思想:根據前一個交易日的最高價、最低價和收盤價來計算交易日當天的六個 觸發價位,即上觀察價、下觀察價、突破買入價、突破賣出價、反轉買入價和 反轉賣出價。具體操作為,在空倉情況下,若盤中價格超過買入突破價,則認為出現上升趨勢,開倉做多。當日內最低價跌破下觀察價後,盤中價格出現反彈,且進一步超過反轉買入價 構成的阻力線時,即在該點位(反手、開倉)做多。在上升趨勢中,若盤中價格低於持倉期間的最高價*(1-止損比率),平多倉,由於小盤股容易形成控盤,所以一旦趨勢結束可能主力就獲利了結,趨勢就難以延續,即使再出現趨勢也很有可能是誘多,所以一段時間內不再買入。相反的,可以構造做空的趨勢突破,但由於A股限制,只能在股指期貨上採用,所以本策略去掉了做空部分。
其中,t 為交易日日變數。 f 1 、 f 2、 f 3 是控制幾個觸發價位之間的區間間隔的三個參數。上下觀察價的設定體現了天跨度上趨勢跟蹤的理念:可以看到上 觀察價是前一天的最高價加上收盤價與最低價差值的一個比例,這樣的話,首 先今天的價格至少要超過前一天最高價一定程度,策略才開始上樞軸觀察,決 定是突破阻力(上升趨勢延續)還是跌破支撐(反轉下行趨勢);其次,前一 天的收盤價離最高價越近(上升趨勢越顯著),則今天越容易突破上樞軸,反 之則需要今天有更大的動量才能確認趨勢。對於下觀察線,也是基本相同的思 路。
原本想設置一個時間長度為5日的滾動的每日熱度股票池 但是雪球的熱度榜也是在不斷的變動 如果一段時間都處於熱度榜上就說明關注度很強,加之使用趨勢建倉,也就使得追蹤了市場的上漲熱點 。
3.結果分析
當熱度的條件設的較為苛刻時待選股票池中的股票就會變少,所做的操作也會變少,同時要注意雪球輿論榜的數據存在缺失,所以要設置跳過當天選股。同時,小盤股股票很可能存在漲跌停情況,去掉了漲跌停以及無法賣出的情況,避免與現實的偏差,所以交易次數變得更少了。從一年的回測期間來看每筆交易的獲勝概率還是較高而且存在買入後漲停的情況,由此看來的確受到關注的小市值股票擁有良好的上漲動能。
4.可能存在的bug
在時間長度以及end_date的選取上變換更改了多次變得很複雜,可能這會存在一定的bug。
5.後續優化
只篩選了雪球的輿論榜中排名前5的股票 所以待選股票池變少了,而且雪球的輿論信息不一定完全代表了市場上的關注熱點,後續想加入自己寫的爬取股吧和研報內容來篩選市場熱點。
趨勢突破的趨勢跟蹤效果不一定理想,想優化這個時間序列指標。
歡迎來向作者提問:https://www.ricequant.com/community/topic/1951
推薦閱讀:
※哈工大智能薦股靠譜嗎?你怎麼看?
※Python入門到精通視頻課程(11)
※【翻譯搬運】Matplotlib - 用Python繪製2D和3D圖像
※『事件驅動』指數成份股調整帶來的投資機會
※『毀研報系列』廣發凸組合優化的雙均線策略