開放原始碼心路歷程 - TradingBot 程式交易機器人

從2007年開始發展的程式交易系統,經過四年多的不斷反覆測試驗證修改其演算法及公開即時交易資訊,並從2012年開始正式實際交易,每天記錄於Blog,終於在2013-07-11將整個系統的程式碼公開,放置到GitHub上。 因應開源討論需要,設置TradingBot討論區於 Coco-in 論壇中,有朋友提問為何要公開?不怕策略一經公開就漸漸失效? 認真思考為何做出公開的決定,雖跟本身信仰 Open Source 精神有關,但也是一種手段。整個完整回應如下:

zxcmnb大,基本上,這整個開放原始碼專案沒有文件、沒有註解,其實是故意的。一是小弟真的沒空又懶得寫,二來,恰好用來篩選有能力跟沒有能力修改這專案的人,避免掉無謂的干擾,若需要任何服務,都請小額捐款後才會提供,也讓沒有能力的人得以使用。 非常感謝您花時間看code,小弟感到非常欣慰,畢竟這策略也花了近四年摸索,一年半的實單交易。如果沒有人用心看,真的枉費小弟把它 open source出來。若您有使用上或建置上任何問題,都可在這討論區提出,小弟會用心回答並供其他人參閱,這也是申請這討論區的目的。 至於您最後的問題,關於下單跟策略的部分。這程式交易機器人,真正的價值還是在策略,下單只不過是去呼叫下單大師的API。當初在思考開放的授權選擇上,曾想過用GPL授權方式,只要是用到這code,之後的任何修改都要open出來,這跟多數人的價值觀是牴觸的,加上舉證不易,所以改用了Apache 2.0授權,可以自由修改使用,並自行決定是否將自己部分開放和轉授權。請參閱利用 Apache-2.0 程式所應遵守的義務規定。我是有兩個小孩的父親,TradingBot is My Boy,它比我大兒子還早出生,我不希望它只是我自己一個人使用的台指期當沖程式交易系統,我希望更多有能力的人可以持續發展下去,不要只侷限在我一個人有限的能力,也許不會任何發展,也許不會有人來看,但若我沒有公開,就永遠只有這樣,對很多事物的看法,如果把金錢的部分剝離,就可看得更透徹更徹底。看到zxcmnb大您用心的說明,我相信它會朝正面發展下去。 這是一場實驗,對人的實驗,對價值觀的實驗,對程式交易看法的實驗。實驗有沒有人會花時間仔細看程式碼,實驗有沒有人之後會公開他那修改過的程式碼,實驗有沒有人相信程式交易可以穩定獲利,實驗交易策略是否一經公開以後就會漸漸失效。我希望軟體開源精神可以影響到台灣程式交易領域上,正如現在開放硬體的興起(Arduino, Raspberry Pi等等)。期待有一天,有人會把這程式交易的策略完整說明出來,我相信已經開始了~

參與 R社群快一年,從中學習互助成長的重要,但先決條件是無私付出,在過程中就可獲得意想不到的經驗和收穫。這也是造成個人決定開放的因素之一。