1. 程式人生 > >爬蟲技術做到哪些很酷很有趣很有用的事情

爬蟲技術做到哪些很酷很有趣很有用的事情

這是我們跟某大資料公司的合作的一個研究...(由於暫時沒有徵求對方的同意,所以暫時不方便披露)並且程式碼和資料都可以在我們的雲端產品使用:【滾雪球】雪球滾起來吧,到底我們是否能靠輿情事件賺錢呢?

有一天聊到他們爬了很多很多的資料,而我們是專注在看二級市場的量化研究和交易,提供了回測和模擬交易,那麼爬下來的大資料如何可以在二級市場變現呢?我們不就是一個很好的合作嗎?拿到資料,理清思路,進行結構化將無規則的資料進行量化 - 規則化,提供易用的Python API,好,策略研究員們可以嘗試了 - 只需要證明收益、風險都相對客觀,經過模擬實盤、小部分投入資金驗證即可了。

廢話少說,開講故事...

最早是這家拿到了很多很多的亂七八糟的股票相關的輿情資料,那麼到底哪些是比較重要的呢?因為拿到的文字資料是非常非常大的...

一個符合邏輯的思路是:我們根據關注者資料進行每日選股,一方面考慮新增的關注者數量,同時也考慮關注者的增長率,即新增關注者與總關注者的比例,對這一數值進行排序,進行每日的選股調倉。然後測試這一次選出的10個股票,看看他們這一週的表現,結果比較一般,證明輿情資料對於當日表現的作用明顯,應當每日調倉。

因此從中構建了幾組資料,包括:

1. 某股票昨日新增評論

2. 某股票總評論

3. 某股票昨日新增關注者

4. 某股票總關注者數目

5. 某股票賣出行為(不太準優化中)

6. 某股票買入行為(不太準優化中)



那麼對於5,6的構建,我們考慮到興許應該只考慮大V效應,即社群前5%的大V的調倉記錄 - 剔除掉非大V使用者即剔除了更多的噪音。這也是雪球100 paper中的選擇標準:

<img src="https://pic4.zhimg.com/960bb95683f6d69d55bb65f66c6aaaf3_b.png" data-rawwidth="721" data-rawheight="286" class="origin_image zh-lightbox-thumb" width="721" data-original="https://pic4.zhimg.com/960bb95683f6d69d55bb65f66c6aaaf3_r.png">


OK,經過了一系列的洗洗刷刷以後資料clean ready,根據上面的邏輯思想進行嘗試執行策略。

-------------------最初的結果-----------------------


曾經我們以為我們在做的一個量化策略發現了真正的交易聖盃...

<img src="https://pic1.zhimg.com/48edb547d702b6a857ebba0ac2c841b4_b.png" data-rawwidth="797" data-rawheight="681" class="origin_image zh-lightbox-thumb" width="797" data-original="https://pic1.zhimg.com/48edb547d702b6a857ebba0ac2c841b4_r.png">


團隊非常開心:也不用在給大家發工資了,年初的時候給大家發第一個月的工資,然後這一年讓大家早上九點半開始交易半小時,根據我們這個策略的訊號機械執行就行了...然後就能獲得下圖的1500%的年化收益率,有著12的Sharpe的一個策略...這意味著什麼呢?如果年初我們給一個員工1萬的工資,年尾他這一萬塊就變成了15萬,比平均每個月工資還多,那我們就不發工資了唄...

<img src="https://pic3.zhimg.com/1e7a952b7e8745d9f343c1c39c301872_b.png" data-rawwidth="1601" data-rawheight="481" class="origin_image zh-lightbox-thumb" width="1601" data-original="https://pic3.zhimg.com/1e7a952b7e8745d9f343c1c39c301872_r.png">

初始的10萬資金在回測的結尾不到一年時間變成了118萬+

當時我們真的很開心,團隊大家都覺得“嗯,老闆你發一個月工資給我們+這個策略我們就可以今年不要工資啦!”

雪球就可以滾起來啦...


<img src="https://pic4.zhimg.com/ec17837cd7ae93c871c18f5b23e21b13_b.png" data-rawwidth="745" data-rawheight="591" class="origin_image zh-lightbox-thumb" width="745" data-original="https://pic4.zhimg.com/ec17837cd7ae93c871c18f5b23e21b13_r.png">
漲停、跌停的問題

雖然該策略沒有考慮到停牌股票的操作(Ricequant已經處理了),不過再深入研究以後我們發現,有些股票輿情熱門那麼往往也不容易買入、賣出啊 - 因為受到了漲、跌停影響,隨後我們改進了策略,剔除掉了這些漲跌停無法買入的股票,結果就變成了這樣...

<img src="https://pic2.zhimg.com/c8ce25908d6d49a94ce6369f22242965_b.png" data-rawwidth="1585" data-rawheight="537" class="origin_image zh-lightbox-thumb" width="1585" data-original="https://pic2.zhimg.com/c8ce25908d6d49a94ce6369f22242965_r.png">

這樣子“改良”之後,仔細驗證了落單的股票都不存在當天漲停、跌停或者交易量不夠的情況,但是收益急劇下降到了242%的年化收益率。不過至少還是有6.7的Sharpe,well,雖然不能財務自由了,但是投入點錢每年這麼賺還是能做高富帥的,想想也還開心。。。

未來資料?

接著有一天我們內部在討論,假如一個並不難的“大資料爬蟲”策略可以獲得如此顯著的Sharpe,那麼為什麼不會有很多基金base on輿情策略直接賺錢不就好了,來錢不是很容易嗎?我們也覺得想繼續深挖,那麼問題來了...

後來發現,我們在回測當天呼叫的股票輿情資料其實是第二天早上7點才生成的,那麼意味著在當天早上我們就知道了隨後這一整天的股票輿情走向了!

神馬?!∑q|゚Д゚|p 當時的表情是這樣的...莫非註定屌絲依然是屌絲了嗎!

戰戰兢兢地修改完程式碼,讓輿情資料呼叫的API只能呼叫到昨天的資料,結果出來了...


<img src="https://pic2.zhimg.com/dce81b191f0ba5333d2361d9809715b5_b.png" data-rawwidth="1316" data-rawheight="528" class="origin_image zh-lightbox-thumb" width="1316" data-original="https://pic2.zhimg.com/dce81b191f0ba5333d2361d9809715b5_r.png">

年化收益率現在變成了56.7%,伴隨著18%的最大回撤,只能說還行吧,雖然依然大幅度戰勝了大盤!

well...還是繼續回頭老老實實寫程式碼挖礦吧...可見一個聖盃不會這麼容易地出現的...


巴菲特你好,巴菲特再見!


資料是非常有意思的,從中可以發現的確輿情是和股票有正相關的,而讓我們設想資料爬取的速度如果達到了秒甚至毫秒級別一次更新,那麼會讓這個收益更加提高(我們測試了每天和幾天甚至一個月的調倉效果都會比較差),是的。。。爬蟲也需要更快更強


而我們想要做的更有趣的事情包括看京東、淘寶等銷售資料是提前於財報釋出的,並且更加真實,上面更有超過100家的上市公司在做生意,還有諸如好評的增加減少也是一個因子,敬請期待。


當大資料配合合適的工具,我們相信會有更有意思的事情發生,不過還是要提示:

股市有風險,入市需謹慎

股市有風險,入市需謹慎

股市有風險,入市需謹慎


重要的話說三遍...僅代表本人的測試看法,不代表Ricequant也不建議不理解的情況下跟隨投資。


也會時不時更新有趣的策略和想法