本文1千字
行動課上,給自己訂立的目標是,60天內學會用python編寫10套完整的交易策略模型。
根據自己訂立的詳細行動計劃,依照MVP最小可行性原則。在6月22日進行了第一版的程序編寫。當時的計劃如下:
萬事開頭難,思路不夠清晰,編程能力又弱。這時候,首先運用《成功,目標與動機》中給出的一個方法,在面對復雜困難的事情時,多想“是什么”,用最具體的行動來指導自己。第一步:是獲得數據,在平安證券上,找到下載數據的地方,下載了1只股票的數據,選擇txt格式。第二步:是用python代碼在終端里讀取并顯示所有的數據。之后的每一步,我都不斷的告訴自己,只要實現最小可行性的目標即可,只要功能可以實現,就繼續往下進行。
出乎意料的是,我想象中需要用一周才能完成的任務,只用了1天多的時間就完成了。總共的代碼量只有154行,真的是非常簡潔的實現了6個功能目標。
這時候,積極性來了,由于有第一版打基礎,腦子里產生了很多思路,需要完善的東西越來越多。于是,第二版內容誕生了。
思路豐富是一回事,用代碼實現又是另一回事。由于前面的效率比我預想的要好,所以這次我給自己的預期是2天完成。可惜現實能力差距較大,加上我中間有一天時間心情不好,幾乎沒有任何進展。所以整整用了5天時間才完成第二版的內容。其中標黃的部分,是沒有完成的,原因包括數據部分不支持;數學計算公式無法確定,故代碼無法編寫。這次代碼寫了將近500行,并做出了圖像展示,但效果真的是慘不忍睹。
通過第二版的編寫,我發現很多需要注意的問題。
第一點:代碼的可復用性,兼容性非常的重要,這樣可以給后期的開發大大節省時間成本和維護成本
第二點:代碼邏輯和代碼編寫的簡潔也非常重要,復雜冗長的代碼,確認bug的時候非常麻煩,不僅開發成本高,維護成本更高
第三點:是注釋的重要性,多寫注釋,跟代碼一樣多都不要緊,因為我自己寫的代碼,寫了400多行,回頭再去找前面模塊的邏輯,我都已經暈頭轉向的了。
考慮到后面增加的功能會越來越難,前面的代碼結構是非常重要的。接下來第三版的思路已經確定,我將面臨更多的挑戰。
到這里,我需要明確一件事,我在搭建整個交易系統,學習所有這些步驟:數據的抽取清理,指標的編寫,結果的展示等等。其實并不是最重要的事情,這只是我需要了解整個系統必經的路。最重要的事情只有一件,做出穩定賺錢的策略。只會寫交易系統,那就只是一個程序員,我一定要結合自己的優勢——交易經驗,設計出很多可以穩定賺錢的策略,這才是我真正的核心競爭力,是別人一時半會學不走的東西。所以,下一階段,第三版的改進我會慢慢推進。更多的精力要投入到嘗試各種方法去設計出更多更賺錢的交易策略。
大家有任何建議都可以提,我非常需要反饋,因為做正確的事太重要了,如果方向錯了,越努力越遙遠。