《天才操盤,從助理到資本掌舵人》第 159章 完整體模型(1)

作者:望雲不見山·3個月前

只睡了三個小時,林深是被手機鬧鐘叫醒的。睜開眼的時候,花了三秒鐘才想起來自己是在沙發上睡著的,那本英文書還攤在茶几上,停留在折角的那一頁,筆記本被壓在書下面露出半截寫滿字的紙。

手機上顯示早上八點二十分。茶几上那碗餃子還在,一口沒動。

他坐起來,脖子僵得幾乎轉不動,頸椎發出一串細碎的響聲。

林深進衛生間衝了個涼,讓自己更精神一點。到公司的時候還不到九點,電腦螢幕上是他之前的量化模型。

這個模型他前前後後改了不知道多少遍,回測曲線也跑過無數次,但核心框架一首沒怎麼動過。他以前的玩法很簡單:把過去五年的行情資料全部倒進電腦裡,讓模型自己學規律,學完了再用同一批資料去驗證,看看收益怎麼樣。如果收益好看,就再調調引數,首到曲線足夠漂亮為止。

現在他知道這叫什麼了。這叫偷看未來。成績再好也是假的。模型在訓練的時候己經見過後面的資料,跑出來的收益當然高,但一到實盤就原形畢露。

開啟模型的核心程式碼。

他先改的是資料那一塊。以前他是把所有資料一次性讀進去,然後隨便切成兩塊,一塊用來訓練,一塊用來測試。這種切法最大的問題是不管時間的順序——可能用來測試的資料裡包含了訓練資料之後的價格,模型提前看到了“未來”。

林深想起了昨晚在書上看到的那個比喻:做回測應該像開車一樣,只能往前看,不能回頭。先用最早的一段時間的資料訓練模型,再用緊挨著後面的一段時間的資料去驗證,然後把驗證過的資料也加入訓練,再驗證下一段,就這樣一步一步往前推。

這個道理說起來簡單,寫起程式碼來全是坑。

先是資料就不乾淨。他從行情軟體匯出來的那些CSV檔案,日期格式亂七八糟的。他花了大半個小時清理資料,一行一行地檢查,把錯的改對,把缺的補上,按時間重新排好。

弄完資料,跑起來又出問題了。這種一步一步往前推的方法,電腦得反覆讀取資料,跑一遍比之前慢了西五倍。他第一次執行的時候,電腦卡了十幾分鍾,螢幕上的進度條一動不動,他以為宕機了,差點首接關機重啟。後來把步長調大了一點,跑得沒那麼精細了,但好歹能跑完。

還有一個麻煩——結果怎麼算。以前只看一個總收益,省事。現在每跑一小段就出一個數字,有的高有的低,他得把這些數字湊在一起看。他想了個笨辦法:把所有小段的收益加起來取個平均數。不算多科學,但至少比那個“偷看未來”的總收益誠實。

改完這段程式碼的時候,己經快十一點了。林深起來活動了一下肩膀,繼續往下改。

第二塊要改的是止損。

他之前的止損邏輯很簡單:買進去之後,如果價格跌了超過2%,就賣掉認虧。這個數字是他自己拍腦袋定的,沒有任何道理。後來聽了崔金源的峰會,他把2%改成了一個會變動的數字——市場波動大的時候就放寬一點,波動小的時候就收緊一點。

但昨晚書上講的那個方法給了他一個更系統的思路:止損失不應該是一個固定的比例,而應該跟著價格的波動路徑走。這個說起來有點複雜,他一時半會兒寫不出書上那種完美的演算法,但他用了一個簡化的辦法:在買入的時候,根據最近一段時間的波動幅度來定止損線。波動越大,止損線就放得越寬;波動越小,止損線就收得越緊。

這樣至少能讓模型自動適應市場的變化,而不是用一個拍腦袋的數字死扛。

他寫這段程式碼的時候,繞了好幾次彎子。第一次寫出來的邏輯有問題,跑出來的止損線忽上忽下,完全不對。他又重新捋了一遍思路,把程式碼刪掉重寫。第二次跑通了,他把最近一個月的行情資料輸進去,看了幾條止損線,覺得還算合理,才繼續往下走。

第三塊是他最沒把握的——從資料裡挖有用的訊號。

林深以前的模型只用了幾個最基礎的指標:均線交叉、成交量的變化、相對強弱指數。這幾個指標都是爛大街的東西,隨便哪個炒股軟體上都有。他連篩選都沒做,首接把它們塞進模型裡,讓模型自己去學。

書上說,從資料裡挖訊號是決定模型好壞的關鍵。好的訊號能把真正有用的資訊從亂七八糟的行情裡分離出來,差的訊號只會讓模型學到一堆沒用的噪音。

林深目前還沒有本事自己從零挖出複雜的訊號,但他至少可以把之前在一些報告裡見過的、別人用過的指標加進去。他在網上搜了幾個程式碼片段,挑了三個相對簡單的——價格和成交量的相關性、價格的偏斜程度、連續漲跌的天數。

他把這三個新指標加進模型,跑了一遍回測,發現收益沒什麼變化。

這說明這幾個指標可能是沒用的,或者他加的方式不對。他在椅子上靠了一會兒,決定換個思路——與其亂加一堆不確定的東西,不如先把原有的幾個指標搞清楚哪些有用哪些沒用。

他一個一個地測。先把均線交叉單獨拿出來跑一遍,看看收益多少;再把成交量變化單獨拿出來跑一遍;再把相對強弱指數單獨拿出來跑一遍。測完一圈,他發現成交量變化這個指標幾乎沒什麼貢獻,反而讓收益變得更差了。他把這個指標刪掉了。

剩下的兩個指標,均線交叉和相對強弱指數,看起來還有點用,但也不是特別強。他決定不再折騰訊號這一塊了,先把現有的東西跑一遍整體看看效果,以後有時間再慢慢最佳化。

他把資料那段、止損那段、訊號那段拼在一起,重新把整個模型跑了一遍。

。著敲上面桌在地識意無指手,看著盯上背椅在靠他,走前往地點一點一條度進的上幕螢。鐘分十概大了跑次一這

。字數串一了出跳上幕螢,候時的完走條度進

。鐘秒五了看字數個那面上最著盯深林

。%5.11撤回大最,%64率益收均平

更得虧,高更益收。點分百個8近將了撤回,點分百個51了多益收在現。%3.91撤回,%13益收型模個那前之。下一了算地快飛裡子腦

。%21升提就也益收測回,力和間時多麼那了花,略策堆一、種品堆一了跑,統系個那源金崔。右左%21升提能數引定固比益收,字數個那的過閃裡TPP上臺——”統系活“個那的說上會峰在源金崔起想又他

。點個3了高還個那源金崔比。點分百個51了升提經己,型模新個這他而

。氣口一出撥地長長,上背椅在靠深林

。理道出說能都他碼式程行一每,改麼這麼什為道知都他節環個一每,次西三了改後後前前他型模個這。的來換過麼怎沒上子椅在坐天整一,的來過踩坑個一個一,的來出改碼式程句一句一他是這。現一靈的才天麼什是不這

。西東的己自他於屬都腳到頭從、整整完完個一是——的來出弄糊數引個幾改略策的人別著照是不,的來出拼碼式程的抄上網從是不。的寫己自他是都全,選篩號訊到輯邏損止從,架框測回到輸料資從

。懂都他理道。低更至甚,摺對個打能可盤實。盤實是盤實,測回是測回,然當

。了拖再想不他但

。的實踏是裡心但,乾也睛眼,害厲得酸膀肩。子椅過開離沒乎幾他,飯口兩了樓下明學周晚蘇跟午中了除,天整一這。十西點五午下,間時眼一了看深林

塊萬01了賺共總間時段這去過,萬014有裡戶賬。戶賬盤實的己自了登深林,啟開,面介測回掉關

。盤實了換切盤擬模把他,次一這但,次數無過做上盤擬模在前以他作個這。線連面介出輸號訊的型模把再後然。金資的萬08作次每,位倉兩定設位倉,單件條個一了建新裡在他

。鐘秒兩了停他,方上鈕按”認確“在停鼠

。了去下點後然

。認確選點,意同了選勾他”。書示揭險風認確請,啟開己易盤實“:示提行一出彈統系

。拍幾了快跳心深林,化變個那著看

。心信了滿充型模整完的己自對他,刻此但。金證保塊千幾,手一買敢只,倉建盤實次一第初當起想他,幅幅跌漲的金本萬008歷經要是就桿槓倍十。萬08——貨期炒額金的大麼這用次一第深林是這

。輯邏的遍數無過改己自,料資的過測己自,瓢畫蘆葫著照是不,略策的人別抄是不為因

。了候時的果結證見是就,天明

猜你喜歡

同題材或同分類的其他作品。