2008年12月27日 星期六

好文共享:程式系統的產生,程式系統的意義,程式系統的問題


這篇文章由「X5Super」所著。原文出處:http://blog.xuite.net/x5super/studyroom/16810628#11551969

我略加排版後,張貼於此,希望有朋友一起讀後,做一些交流討論。

PS.文中所提的TS是一個軟體的名字:Trade Station



--------------原 文 開 始----------------

Parkson文中提到:
"有許多狀況在T.S.裏瞧跟真正上場交易是完全的兩碼事"
"許多感覺不起眼的交易雜訊,在旁邊看熱鬧的我們覺得還好,可是很可能你真的在交易遇上它就會覺得令人痛不欲生了"
"還有一些設計上訂定的瀟灑特大號停損,特別在跟隨一筆漂亮的紙上獲利之後,我們會失去客觀的認同"



這些情形,我都遇過,想必這條路上的人都不寂寞。看Parkson文字的情緒,這該應已經是陳年往事了,也有了後來的成功模式。不過,遺憾的是,他努力在這樣的工具上,得到的結果是差強人意,只用來當輔助。而我,仍在繼續努力,也希望給這條路上的人,除了提醒還要打氣。

 我在半導體與液晶顯示器製造廠工作過快10年,這個行業,需要投資大量的錢在硬體上,除了精密的製造設備外,還有取代生產人力不足或缺陷的自動化操作或搬運設備。這樣的一個投資規劃,往往出現了很大的討論,當我們要投資數百萬,數千萬在不知道穩定度的無人搬運車時,是不是可以考量找來專職的搬運工,或許給他的薪水,只要那台無人搬運車的維護費,省下的投資費用,足夠做一些輔助的搬運工具。這樣的一個建議案,似乎讓投資無人搬運車這個案子,變成傻瓜,但其實不然。專職搬運工,會有工作分派平等問題,也會有未來隨著晶圓或面板越來越大,作業員遇到的極限挑戰問題,既然,自動化是個趨勢,就得提早做下去。雖然,當時某家面板製造公司用無人搬運車,上線時也沿路當機,最後派人來支援無人搬運車,但技術遇到問題,相對就是提升的機會。

 這樣的故事,似乎還不足以說明交易系統完全程式自動化的必要性,因為在工具輔助下,規則確定下,由人產生訊號來交易,並非是做不到,過去的金融怪傑常常被拿出來舉證。但我還是有不同看法。

 每個人的天份有差異性,有人優勢在左腦,有人在右腦。雖然,今日的市場變化比過去複雜許多,相信仍有人可以遊刃有餘。如果你是像股市作手回憶錄作者這樣的人,你真的可以不用花功夫去研究程式交易,不過,他也曾破產過,你得有明確的資金管理做後盾。但如果你不是這樣的人,或者,也是容易被市場拐走紀律的人,或者,在你還沒有足夠財富與保險可以安心的面對生活對生命與健康造成威脅的意外以前,專職的交易者,把你的大腦資產化,把你的交易系統自動化,也就能事業化,進而有了保障。

 程式交易,對交易者目前不是一個必然的選擇,但可以是個選擇。當你選擇它以後,別想它很快的變成你,而是你要變成它,要去了解它什麼,還要始終記得你為什麼選擇它。這裡面有許多自動化專業的技術問題,通常不是一個人可以同時具有的能力,所以,也是程式交易一直無法成功的原因。台積電是個極優的公司,從半導體製造公司的股價差異就可以看出來,知道為什麼嗎?他投資了最優的人,分工去做該做也是很多人做不到的事。自動化需要三種能力:提出使用者需求,將需求制定規格(也就是合理化與標準化)以及將規格實現成自動化。一般的使用者有經驗但需求通常是沒有系統的,沒有輕重緩急的架構,需要有人幫他整理與確認,這就是合理化,這些需要制定成標準規格,以便讓開發人員能夠按圖索驥。不過,通常MIS部門,不是用技術導向來開發系統,做成了難以使用的怪獸,就是被使用者無盡的需求給弄得團團轉。

 了解了程式交易的意義,賦予階段性的任務後,才能正確的來開始建立系統,並面對問題。問題是針對目標的,與目標不相干的問題,你大可不必去理會。

 T.S.的世界本來與實際交易是不一樣的,問題是,你會不會在意這個不一樣?需不需要在意這個不一樣?當你心中有了一個實戰的獲利系統,你一定會在意的,因為T.S.無法依照你的做法,你會擔心多了幾筆虧損,少了一筆獲利,但如果真的有能力跟下去,結果如何?就取決於T.S.的期望績效與程式潛在bug有多大,不了解這些,不管T.S.的績效比自己的好或差,最好都不要跟。期望績效統計上是用交易勝率與賺賠金額比來估計的,這個統計在T.S.是來自模擬的結果,而模擬來自輸入的程式法則。法則有沒有效,不是看模擬的結果,那樣會有匹配的問題,要看法則的制定是不是來自合理的市場行為分析,以及足夠的統計,來淬練策略的扎實。即便如此,還是不夠,因為諸如T.S.之類的模擬工具,往往會有料想不到的bugs,所以需要測試。測試分為兩種,一種是邏輯上的測試(verify),比如輸入1+1應該等於2,若不是,問題可能來自程式把1+1打錯了,也可能是T.S.引擎的錯誤,後者很可怕,卻也存在;另一種是效果的測試(validate),比如你有一個實戰的系統,經驗勝率在50%,T.S.結果只有30%,顯然你的程式有著與實際上的差異。

 假如這個差異是不好的,你一定想去除錯,但往往費時又有挫折感。"如果你的系統已經伴你多年南征北討的獲利無數,你也已經建立不可撼動的交易規則並遵守,你難道非得T.S.來幫你加持與證明你的正確嗎?"。Parkson提出這樣的問題,其實也點出了答案,除了之前我提到的交易事業化的保險意義外,一點都不需要。不過,有個問題是,如果你是這樣的人,為何正在看這樣的文章?想必,多數人的實戰績效並不是很穩定,所以試圖要找些方法來克服。每一種方法都需要投入資源,足夠的了解是評估的依據,這也是我這篇文章的用意,希望整理出程式交易的意義與問題,並對產生程式系統的依據與方向提出概述,以後有機會,再將我的實際開發經驗與技術做分享。

 還有一個程式系統的問題需要繼續討論,假如經過嚴謹的測試後,發現程式系統雖然不如實戰的,但仍然有獲利,也就是validate之後還有問題,該不該跟?今天你撘的飛機是第一次就做出來的嗎?你當初有做過螺旋槳飛機嗎?舊時代龐大電腦看來笨重,輸入還要先打磁帶,你現在一定不想用,可是當初卻好用的很。通常偉大的工程,都是設定階段性目標,用時間陸續來完成的,就看這樣的規劃是不是你可以選擇中較好的方案。至於其他跟隨系統的心理問題,不單單只有程式系統有,實戰系統也是,都需要想辦法去克服,重點是在你選擇了一個系統時,清不清楚伴隨系統上演的會有哪些故事?你該關心的是哪些績效指標?淨獲利?勝率?賺賠金額比?連續虧損次數?最大淨值下滑金額?坦白說,如果對系統測試有信心,該關心的真只有淨獲利一項。但事實上,我們要的更多,但最多兩個就足夠了,或許我在風險控管與加碼中會再提到。

--------------原 文 結 束----------------

我在讀過這篇文之後,深深感覺到X5Super寫下的不只是程式交易的範疇,應該說很大部份是從事交易之前的心理建設與態度建立了。不管交易的方式是隨心所意的直覺或是看圖說故事價量研究,又或是指標顯示訊息但是各自表述的雞毛令箭法,基本的道理都一樣,要去承擔帳戶損益的人,在真的下手之前,到底該有怎樣的準備?

熱門文章