網路上資訊很多,大家也都樂於分享自己的研究心得。現在研究程式交易的人越來越多,用程式交易做回測的分享文章也很多。我只想提醒大家,看文的時候保持懷疑的態度,不輕易相信別人下的結論。如果是他的結論和你所認知的知識相左時 更需要進一步實際去自我驗證。  如果只是看了別人的假設、看了別人的回測結果,就接受別人的結論,這是有危險的。   因為錯誤可能發生在


一、不知道自己程式邏輯寫錯


        這是比較常見的錯誤,但我們無法輕易看到他人的程式碼所以無從判斷對錯,因為我教過程式交易,知道這是普遍的錯誤,發生在沒有程式撰寫經驗的人身上,也會發生在自己研究沒有與人討論的人身上,可能錯很久自己不知道,就算以寫程式為職的軟體工程師也都可能寫出漏洞百出的程式,更不用說一般人。寫程式最怕碰到邏輯寫錯自己不知道。寫的程式和白紙黑字寫得中文字敘述很可能內容不一樣。如果程式邏輯錯了,怎麼回測意義都不大。


建立測試的觀念


因為寫程式難免會有疏忽的地方造成bug,所以測試的工作非常重要。一個程式使用之前都會經過多方面的測試,而且自己測試有盲點,最好是給別人測。而跨入程式交易領域的人多半本身工作並非程式設計師,很可能沒有測試的觀念,寫完程式就急著去回測歷史k棒 看看績效是賺錢還是賠錢,這樣做極有可能在錯誤程式邏輯的情況下,去測試績效。這感覺好像是 反覆按檯燈的開關,然後診斷說檯燈壞掉,結果是沒插電。


自我驗證方法 : 把k線圖秀出來觀察訊號發生點是否和想的一樣,並且大量觀察圖形反覆驗證,如果不一致,程式要改。


但是網路上的文章  比較多的是直接張貼交易邏輯和測試結果然後下結論。程式到底有沒有寫對 ? 不知道。


 


二、回測的標的和回測時間本身不具代表性


       例如拿成交量很小的股票做回測,這種無量、本小的股票 不用遵守技術分析。


 


三、技術分析邏輯錯誤


    如果程式交易回測的結果、奇怪的參數設定 或是 不符合技術分析邏輯的  交易邏輯可以賺錢,這種程式十之八九是垃圾。


 


四、最佳化迷思


最佳化只是特定標的、特定時間回測得來的最佳參數,這種結論極為危險。回測賺錢開始使用就賠錢。比較安全的作法是 測試多樣商品,用同一個邏輯和參數都賺錢。這才算是【通用】法則。另外,如果把程式【最差化】都可以賺錢,那大概就是會賺錢的程式。系統通常都只提供最佳化,但是我們自己撰寫時可以最差化。


 


 


 


 

arrow
arrow
    全站熱搜

    獨孤求敗 發表在 痞客邦 留言(5) 人氣()