自己正在學習 程式交易中 …
以下的文章 的確都碰觸到我所遇到的迷失,
將此文章也推薦給想進入到 程式交易這塊領域的朋友同好們~
====================================
轉載請註明自 http://www.yassersoft.com
作者 : 優雅平衡
http://www.yassersoft.com/?fid=4&menu=CFORUM_VIEW_ARTICLE&sid=204
序
才提筆就發現,所需要的前置知識還不少,至少你需要先懂
* 英文,至少閱讀沒問題
* 技術分析知識
* 程式設計基礎 - HTS / TradeStation 語法(及永豐E-leader)
沒有這些也不用怕,只要你有* 當下的邏輯清晰
開始
首先,是名詞定義,何謂程式交易 ?
程式交易在中文也有其他同義詞,例如系統交易,英文則是 System Trading 廣義的說,就是將自己的金融操作方式,用很明確的方式去定義和描述,且遵守紀律的按照所設定的規則去執行交易。
舉一個簡單的例子
假設價格突破五日以來的高點就作多,若跌破五日的最低點,放空
這條規則很單純,也很簡單,一行就描述完畢,這算是程式交易嗎 ? 是的,因為他已經很清楚的描繪出操作的方法,而且是確實可以執行的,也許他還欠缺停損,停利,濾網,資金控管等等,績效也尚未驗證和評估,然而,他是一種程式交易沒錯,若確實執行的話。紀律執行是程式交易不可分割的一部分,失去有紀律的執行,就不是程式交易。程式交易是一種交易的概念,只要訂出交易規則,而且遵守紀律的執行,即使沒有把規則寫成程式,也算是程式交易,把策略化為程式碼不是程式交易的必要條件。
若依照以上規則,那麼以KD指標論,KD死亡交叉放空,黃金交叉作多,也算程式交易嗎?是的,也算,只是這樣紀律操作的績效未必能讓人滿意
分類
我們把程式交易定義好了,然而,似乎定義的太過於寬廣,已經有數以千計的交易方法被發明出來,我們大略分類如下
* 順勢系統
o 趨勢跟隨(Trend Following) 例如均線
o 突破系統(BreakOut) 例如一開始舉的例子
* 逆勢系統
o 震盪式交易(Swing) 例如 KD / RSI ...
o 週期預測(Cycling) 例如艾略特波浪 / Delta phenomenon
o K 線判讀 <-- 歸類在逆勢不一定正確
什麼呀 ? 好像我都聽過呢 ? 若是這樣的反應,Good ,你是最佳讀者之一,回顧定義,從上述分類來推,你會發現,系統交易其實可以更明確的描述成
把所有已知的東西,更深入的思考,並且將結果化為規則,紀律的執行
同樣的技術指標,大家這樣用,有沒有新的用法?能不能最後把這些指標都丟掉?或者,取捨之後,瞭解到不可能把所有的東西全部量化,於是做了某些程度的取和捨,其實,不管任何時候,我們都在做選擇,人生本來就是一場冒險,或說,賭博,隨著個人能力的不同,能達到的境界也不等,把均線,KD,價格突破這類邏輯寫成程式,只需要簡單的幾行,然而有許多缺失,需要去體會和修正,甚至不一定能找到有效的解決方法,使用濾網只是一種 Trade-Off 下的考量,圖靈的自動機理論,像幽靈一樣跟你說,有一得必有一失。
行文至此,才發現,有太多東西想寫出來,可是,寫的太深,不但把自己累死,也不一定有什麼好處,所以,真的要挖寶,而且是有能力挖寶的人,自己到 www.wealth-lab.com/ 探索,相信能獲得的多。
若你已經學習眾多技術指標,那麼這一系列的文章,可以統統當作是心法,目的是啟發思考的方向,不管作什麼,都會有遇到瓶頸的時候,若所探討的觀念能夠幫助您突破,寫這文章的目的就達到了。
方向
艾略特波浪,Delta 週期等,或是主觀認定的 W 底,M頭,趨勢線等,因為難以用程式寫出,或說,即使寫出,參數過於複雜,因此在純粹的程式交易中,被小弟放棄,但我相信也許真的有人能應用的很好。
許多技術分析的書後來不想看,因為多半只是對於指標的制式描述,傳統用法,對於指標的缺失的應對,少有探討,最讓技術分析的人困擾的莫過於,指標一堆,結果每個指標顯示的結果都不太一樣,該聽那一個?最糟糕的是,選擇交易方向和自己主觀認定一樣的指標,然後催眠自己說,看,我有紀律操作,若這樣,那這些指標其實只是主觀交易時的精神自慰而已,無法發揮功能。
有一些文章是屬於完全心法的,光是以順勢操作,資金控管,停損,為主題的文章,多如牛毛,看久了往往流於口號,而無實質幫助,我想寫的內容,不想描述太多細節,又不想過於空泛,所以都會沾上一點邊,若要一以貫之,其實都只是在談取捨兩個字。若你連順勢操作,資金控管,停損等應該早已是信仰的概念都尚未接觸,那麼你的準備還不夠,只能勸您先多充實知識,馬步要先站穩。
這一系列的文章,其實是寫給已經鑽研程式交易一段時間,卻一直遇到瓶頸的人看的,不過也別抱著看完就會有多大的進步,最可能的結果是,就和看其他書一樣,你花了一堆時間,卻難以找到有用的幾句話。
KD,RSI 之我見
先說明,這些指標都沒有在我的程式用到,因為我的程式根本沒有指標,理由容後再述
KD ,RSI 這兩種擺盪示(Swing)指標應該是最廣為人知的技術指標了,KD,80 以上為超買,20以下為超賣,一般用法是在 80 以上死亡交叉時做空,20以下黃金交叉時作多,然而,若你實際將KD或RSI寫成程式,並且用歷史績效去回測,其結果恐怕會讓人大失所望,長期這樣做的結果,能夠不要賠,就已經是萬幸。
仔細觀察,會發現,在趨勢出現時,往往見高不是高,KD明明已經90還死叉了,隔天又繼續飆上去,把空單嘎滿手。當出現明確的空頭市場時,明明都已經破 20 而且黃金交叉了,過幾天卻繼續破底,教科書會跟你說,所以要搭配均線,價量,型態等等做綜合判斷。
然後,你就發現一堆指標的方向總是相反,讓你不知道要選擇那一個。
讓我們回到 觀念 吧,請跟我複習 順勢交易 + 資金控管 + 紀律操作 = 比較不容易被抬出去。
所以,讓我們從順勢交易為出發點去思考吧,何謂順勢交易 ? 簡單說就是不要去猜頭摸底,當個牆頭草,看到大盤上漲就去追多,看到大盤下跌就去放空,更了當的說,就是追高殺低。例如一開始的過五日高點作多,破五日低點放空,就是這樣的邏輯。用程式跑跑看,你會發現這樣做的結果,在有大趨勢出現時,不論是牛市或熊市,都可獲利,然而當陷入盤整時,例如 2005 年的台指,就很容易買在最高點,賣在最低點,多空被來回雙巴了。
當趨勢出現時,只是比賺的多和賺的少而已,我們關心的是,如何在遇到盤整時,減少資金的損失,以便等到趨勢來臨時,還有子彈(資金)可用。盤整,很遺憾的,到目前為止沒有能夠精確界定盤整和趨勢的方式,往往發現是盤整時,盤整也差不多要結束了。Williams Wilder 發明了 DMI 指標,他用裡面的 ADX 來做參考,一般用法是,大於 30~40 以上表示趨勢盤,小於20 表示盤整盤,那麼實際應用效果如何呢 ? 一個簡單的想法是,我們可以先區分盤勢,當界定出在盤整的時候,就把平常的操作反過來,原本放空就作多,作多改成放空。
問題來了,而且是所有系統交易者都會碰到的問題,該用哪個參數 ? 從來沒有人去規定這些數字,KD一定要超過 80 才算超買 ? ADX 一定要大於多少才算趨勢 ? 你手邊的 TradeStation , Wealth-lab , HTS , 都有參數最佳化的功能,然而,用過去歷史資料跑出來的最佳參數,用於未知的未來,表現會一樣好嗎 ? Of Course NOT ! 而且效果通常不好,別陷入曲線擬合(Curve Fitting)的陷阱。
你可能得做個取捨,放棄精確抓趨勢和盤整的概念,取而代之的是,想辦法減少在盤整受傷的機會。
也就是說,根據順勢操作的思考架構,你的系統至少要包含一個順勢指標,例如均線,而 KD , RSI 則是用來幫助你決定何時使用追蹤停利(Trailing Stop)的機制,當出現 KD 超買訊號時,我們可以啟動 Trailing Stop ,鎖住獲利。
Trailing Stop 指的是,假設你現在的部位是多單,且目前價位來到7800,於是我們設定多單出場點為 7750 ,若價格持續上漲到7900,我們可在 7850 重新設定多單出場點,出場點會隨著價格越來越高,直到多單出場為止。至於Range,建議不要寫死成固定點數,可用百分比替代,例如收盤價的百分之一。
會買是徒弟,會賣才是師父
綜觀目前可見的數百種指標,技術分析方式,若以順勢系統而論之,不管以何種方式推測趨勢,都是以漲還會續漲,跌還會再跌的基本邏輯,方法多半是以價格的突破,型態的破壞作為訊號之確認,因此,不管是何種順勢系統,套用在市場上時,進場的位置,相差不多,這一點你可以從雅X上的績效評比得到驗證,大家彼此不認識,進場卻是默契十足。
每當趨勢告一段落,你也會觀察到,雅X的績效評比,會呈現許多系統方向彼此相反的狀態,而這意見的分歧,就是決定績效好壞的關鍵時刻。
有些系統總能出場在比較好的位置,有些則是抱上又抱下,太慢出場,往往侵蝕獲利,甚至轉而虧損。
還有一種狀況,趨勢尚未正式開始,大盤陷入盤整,此時會出現許多假突破,若沒有一套好的過濾機制,將陷入連續虧損的窘境,盤整,才是考驗一套系統好壞的時刻,你的系統在盤整若能比別人少虧 30%,即使趨勢來臨時比別人少賺 30% ,你的系統還是會有更優異的表現,因為,根據統計,盤整佔了市場約 2/3 的時間,趨勢只佔 1/3 。
懂得停損,會讓你在大趨勢來臨時,至少不會凹單直接畢業,懂得當牆頭草,會讓你在趨勢中乘風破浪,不斷獲利,可是,不懂的獲利出場,會讓你在盤整中永遠陣亡,喔,這裡有個但書,若資金控管的好,不一定如此,永遠記得操作策略只是整個交易體系的三分之一,還有資金控管,紀律操作。
然而,停利也有個取捨,你若在某一點停利,將來若繼續創新高,新低,你該如何處理 ? 再追 ? 或者就行注目禮 ? 再追怕買於相對高點,不追又可惜,金融操作者在此時段之心理,最是煎熬,交易,是在面對未知的情況,對於當下做出取捨和判斷,當下追在高點又如何 ? 行注目禮又如何 ? 即使你針對此一情況另外做了一個再進場的條件篩選,無論如何,已經決定的事情,就再也沒機會反悔,若行情不如預期,系統必須儘早做出反應,是要出場還是反作。
心態告一段落,現在我們來實際思考相關的應對
首先是,進場的濾網
這濾網主要是針對均線使用者而言,因為當價格在均線上下來回穿梭,訊號難以確認,可以使用一個上下 Range ,例如突破均線價格的 1.005 倍才作多,或是跌破 0.995 倍才放空。對於單純使用價格高低突破者,本身就已經有濾網的作用了。使用均線,不一定突破價格就要做反應,這樣做會使得在一個長期趨勢的回檔時,容易被洗出去,既然均線有助漲助跌的效果,有時即使價格貫穿均線,若均線的方向一致,則仍可考慮保持原本方向。
這要如何程式化呢 ?
這是對於價格區間的濾網範例
Params : Len(25),Filter(0.005)
Value1 = MA(Len,close) ;
Buy Value1 * (1 + Filter) Stop ;
Sell Value1 * (1 - Filter) Stop ;
對於均線的方向,可和昨日對照,例如
If TrendLine > TrendLine[1] and Close > TrendLine Then
// 做多的條件寫在此
end if
以此取代單純的 Cross Over 。
出場的濾網
出場濾網,Traing Stop 是其中之一,若用的是均線,可考慮配合乖離率(Bias),利用乖離的收斂或反轉當作是出場的濾網,然而不管濾網如何設計,當出場後發現趨勢尚未結束時,此時條件應該設定的比一般還要更嚴格,例如原本是過五日高低點進場,此時應以過十日高低點甚至更嚴格的條件應對,以減少賣在最低,買在最高之機率。
程式上得寫作,你可能需要一個 Flag 來紀錄目前是屬於那個狀態 (一般狀態 or 已經出場的狀態)
例如
Variables : Mode("")
if 原作多條件 and Mode <> "多單已經出場" then 進場作多 , Mode = "" // Reset Mode
if 原放空條件 and Mode <> "空單已經出場" then 進場放空, Mode = "" // Reset Mode
if 多單出場條件 then 多單出場且 Mode = "多單已經出場"
if 空單出場條件 then 空單出場且 Mode = "空單已經出場"
類似此類架構的程式。
目前國際上交易系統排名之評析
(S & P 500)排名前十的交易系統 www.futurestruth.com/top10sincereleasedate.htm
還有其他如 Aberration , I-master , CheckMate, ReadySetToGo , Cyclone , DT 等等...
雖然排名前面,然而大多是屬於已知的技術分析之組合,例如 Price BreakOut, MA Cross Over , Boolen Band , Pivot Point 。用於台指績效為正,可維持一定獲利水準,但不是最好,這裡值得一提的是,簡單的均線 Cross Over 對於半強式效率市場已經沒有作用了,自公元2000 以後,單純使用均線交叉無法在美國,英國市場獲得超額報酬,在台灣還有用(因為很多人信這個 ?),關於這一點,學者很喜歡討論,主要是針對效率市場假說的爭辯。
優雅平衡想說的是,這些論文能夠告訴你,在某些市場,簡單的技術分析方法早已經失靈,然而那不代表其他方式的失靈,存在太多方式,有些可以量化,有些很難量化,甚至根本無法量化,最近優雅平衡正在關注 R-mesa 系統,這就是所謂高科技的了,若你為理工科系背景,而且學過工程數學,那優雅平衡相信你應該曾經有把股價資料丟給快速傅立葉轉換(FFT)處理,以找出其中的相關性,然而這個 MESA (Maximum Entropy Spectral Analysis) 宣稱他的作法才是真的可以有效找出頻譜分析的 Peak ,而且否定了FFT,最神的是,自1978 年作者提出Mesa以來,在FuturesTruth 網站的績效排名一直維持在很前面,看他網站的介紹,他認為市場週期是隨時在變動的,週期可能在幾個 cycle 後就會改變,這等於是對 Jim Sloman的Delta Phenomenon(也是週期推算的方式)的徹底否定。
說起 Jim Sloman , 就不得不提到他的亞當理論(Adam Theory),後來的 Delta Phenomenon 以及最近的 Ocean ,他和 Williams Wilder(RSI,DMI,Parabolic SAR指標的發明者)齊名,當時年輕的Sloman找上Wider,並且說服他Delta理論。最近的 Ocean ,他發明一種自然均線,此均線可自動調整參數,並宣稱適用於任何市場,無須再調整參數。
電腦科學界則利用類神經網路 , 基因演算法 , 模糊理論等方式用於股市預測,而且做成了套裝軟體,你可以輸入 input 和 output , 讓電腦根據設計好的演算法做最佳化,最佳化的主要方式,類神經網路是用每個神經元閥值的調校(有多種調校函數),基因演算法則是利用不同參數的雜交,天擇逐漸讓答案收斂,逼近最佳解。優雅平衡把他理解成一種比較高級的參數最佳化方式,然而,優雅平衡認為,參數最佳化的手段,不是真正提昇獲利的方式,不管如何做最佳化,還是比不上對於交易策略的創新,而且,利用過去資料最佳化,亦難以保證未來表現會一樣好。
最近幾天,看到 RC System ,這是個華人創造的系統,而且目前在績效排名是名列前茅,一堂課要價 150,000 USD ,也宣稱他的方法和目前傳統技術指標完全不同(沒用到 MA Cross Over , BreakOut, Boolean Band,Pivot Point等等方式)。
交易環境
目前市場的主流為幾大券商和軟體的對抗,包含 TradeStation , Wealth-lab , 以及專做外匯的 VTTrader ,TradeStation 已經成立自己的券商,Wealth-lab 則是被富達投信買下,這三種軟體都擁有開發程式交易策略,甚至自動下單的能力 (TradeStation 本身也是 Security ,不但賺軟體錢還賺手續費
國內自營部主要是和創世技買 TradeStation ,而資料源多半來自精業,以 DDE 方式先弄到 Excel ,用 MetaServer 轉給 Global Server ,最後才是給 TradeStation ,不然就是直接和創世技買資料源(來源是香港 TQT)。
最後就是 HTS 和奇狐(及永豐E-leader)了,後者是台灣散戶和投顧老師的最愛,HTS(及永豐E-leader) 因為不用錢所以深受優雅平衡的喜愛,雖然功能比 TradeStation 差一些,還是很強大,只要注意避開 This Bar 的陷阱的話。奇狐的歷史績效統計是有問題的,其公式若沒有仔細於盤中測試檢驗,比HTS更容易落入This bar 訊號出現反覆之問題。
世界何其大
學,然後知不足,優雅平衡目前的方式是,對於如波浪理論,K線型態,價量等較於主觀或較難以量化的技術,暫時僅限於個人主觀思考的參考,實際的交易應用,儘量以能夠用程式表達的為主。以目前台股市場而言,幸運的是還沒有有效到多數技術指標統統無效,短期內是這樣,應暫時不需用到如 Mesa , RC System 。也體會到數學的重要,然而多學不知其用則為瞎學,感謝 Google,讓優雅平衡至少有起頭的方向。
台股近期特性個人感想
優雅平衡覺得,台股在 2006 年的走勢,已經是市場結構改變的象徵,象徵台指已經逐漸邁入強式效率市場,過去,不管是多頭還是空頭,在一個趨勢要反轉的時候,往往會有將近一到兩個禮拜的盤整震盪期,然而,從 2006 開始,你會發現,島狀反轉越來越多了,一個利空出現,一兩天內跌個五百點,可是第三天,新的利多出現,馬上又急拉300點,比起以往,速度快多了。
跟的上這樣的節奏,那當然賺錢的速度和效率會比以前快,跟不上,那就是賠錢了,以往的簡單均線交叉,你會發現在台指可能再也不管用,而停利,這種過去會侵蝕獲利的作法,在今後的台指,將會是賺錢的真正方法,因為台指將會越來越有效率,走勢也將越來越快速,過去的超大趨勢,將會逐步的縮減。
優雅平衡想表達的是,台指不再是過去散戶70%,法人30%,而是倒過來,法人70%,散戶剩下30%,不同結構的市場,自然要有不同應對的方式。
那麼簡單均線交叉不能用了嗎 ? 其實還是可以,例如最近才剛剛開始的泰國指數期貨,用均線,綽綽有餘啦。
責難無以成大事,我們都在做取捨
不管做什麼事,失敗的方式很多,然而成功的卻少之又少,以操作期貨而言,我們都知道,紀律操作,嚴設停損是比較容易存活的基本,然而重點還是在於策略的好壞,畢竟,沒有好的策略,資金控管和紀律操作只是減慢畢業的速度,依舊是慢慢在失血。
然而,策略的設計,在書本上相當難找到。賣得好的書大多是故事很多,主軸單純的,例如富爸爸,窮爸爸。當然,他會告訴你大綱,例如現金流的基本概念(超級重要),至少你可以明白只要每個月現金流只要為正,借錢反而是借越多賺越多,炒房地產以銀行作為財務槓桿,操作期貨則是以商品合約為槓桿。
至於細節.....
你不可能在書上找到的。一開始我們什麼都沒有,只好跟別人買武器,剛開始會進步不少,然而總會有瓶頸,永遠差人一截。好家在,此時應已累積不少經驗,漸漸有發展自己武器的能力了。
所以,一直看優雅平衡的文章,當然不可能變成絕頂高手。文章是這樣,作者可以根據自身的經歷,給予建議的前進方向,可是每個人的路都不同,甚至,有時還看不懂作者在說些什麼,有時,必須具備一些親身體驗或是基礎知識,才能繼續前進。
網路上的文章,之所以大多是廢物,要麼太淺,要麼太深,要麼無病呻吟,或者,即使剛好認同,因為時空背景,經驗種種不同,大多數的經驗你很難去複製,比如說,除非你是郭董的兒子之類的,不然把虎與狐看一千變,你變成郭董的機率還是很低。
時間寶貴,太多的責難文實在沒空去看,成功是屬於給真正肯挽起袖子實際下海操作的人,那些評論無名小站,Google 等等一切褒貶,都只是放馬後炮,放一放你也不會變成主角,故事看一下,看有沒有可以學習的,能不能複製,有沒有可利用之處 ? 有就取,沒有就別再陷入。
優雅平衡最近操作並不順遂,當然經驗有所成長,但那是血淋淋的教訓
台股連續出現兩次島狀反轉,優雅平衡認為,台股多頭已經徹底結束,該是空頭市場來臨了。
期貨鍊金術
量化你的邏輯
最近接了好幾個代工把交易邏輯寫成程式的Case,發現大家都會遇到 旦書過多 的問題
也就是,一個主要邏輯程式化之後,對照走勢圖,常常會出現,"喔,在這種情況下,必須要怎樣怎樣才這樣..."
然後,程式碼就開始爆增,到最後,程式變得又大又複雜,條件一大堆,有些甚至彼此還會互相衝突。
另一種常見的情況則是,這個邏輯在最近幾個月表現不錯,但若用長期的歷史資料回測,績效表現並不如預期的好,然而,委託人本身用這個邏輯操盤很強呀,怎麼寫出來不好呢 ? 原因如前所述,因為人多少會參雜主觀意見做單,不太可能完全呆板的Follow一個指標,為了要能把委託人完整的交易邏輯程式化,此時,交易日誌成為重要的手段
每次進場,每次出場,都要詳細的紀錄當時進出的理由,是因為哪些技術指標出現了什麼訊號,或是走勢出現什麼型態 ? 或是價量關係出現了異常等等,紀錄一陣子,才赫然發現,喔,原來我所參考的東西原來高達數十個,那麼,能不能簡化,能不能取得平衡 ? 很多人在紀錄之後,也意識到,其實自己還有很多概念或是條件的定義,是相當含糊不清的。
這就是程式交易發揮能力的時刻,將所有想過的邏輯寫成程式,並且用歷史績效去驗證,可能我腦袋中有五十個操盤條件,驗證後剩下二十個比較有用,然後,從剩下的去重新組合,配出一套新的交易系統,整個過程,,就是對自己交易體系的反省。
這也是我們所期望的,因為,若一個人連自己的交易邏輯都無法很明確的描述出來,那麼,又怎能期待他能夠遵守紀律呢?
使用程式寫價量關係
對照一篇網路上探討價量關係的文章,附上個人心得,我個人認為,像是價量、波浪理論,很難完全的程式化當中多少保留許多彈性,有些人用的恰到好處,有些則是屢屢不順,不論如何,今日我們會聽到這些東西,多少代表他們還有一定的價值,可以探討一下
以下粗體字為引用文章
原文 http://blog.blueshop.com.tw/sun19750522/archive/2006/02/28/18322.aspx
(A)量增------價漲
1.價漲量增是良好的價量配合關係,通常是代表多頭的訊號出現。
2.在多頭行情之中,成交量亦隨之適當增加時,可以視為「換手量」,有利於多頭市場的持續。
3.不論是型態或是趨勢線,有效的向上突破,必須要成交量增加的配合才是。
4.在空頭走勢中出現價漲量增的K線時,極有可能是止跌訊號,但仍須確認。
5.在多頭行情的末升段中,價漲量增有時會是高點已至的訊號。尤其是成交量異常放大而且後繼無力之時。
這類判斷要寫成程式,必須要嚴格定義一些現象,例如,價漲可以用突破N日K棒高點,或是量突破N日內新高
何謂多頭 ? 可用例如價格站上 K 日均線,或是 K 日均線方向向上(向上的定義,今日均線大於昨日均線),K至少
取18日以上,也許以 60 日為上限(若認為太過長的均線沒有意義,只是最佳化的結果),對於空頭則是反之亦
然‧
定義多頭行情的末升段,也許可定義為,若標準差大於 +2 ,或是N日高點減去N日低點大於Close的某個百分比則視為多頭的末升段 ? 主要以波動程度作為判斷,由於波浪理論的程式相當複雜難寫,這裡此用比較簡單一點的定義。
(B)量增------價跌
1.是價量背離的訊號,後市以偏空為主,但仍待確認。
2.在跌勢末期時,量增代表低檔買盤進入轉趨積極,距離指數低檔應不遠。
3.在漲勢初期或低檔盤整階段,可能是多頭力道正在醞釀,若配合期指未平倉量的增加,未來行情上漲機會甚大。
4.在漲勢末期則為多頭獲利了結心態濃厚,未來反轉下跌可能性大增。
5.若盤勢處於跌勢初期則未來盤勢會持續下跌。
要怎樣定義背離呢 ? 若以價格而言,可以對取 V = Close - MA(Close,Length) , 即 V = 收盤價 - 長度為Length的均線,然後對 V 取和前 S 根K棒的值的差,例如 B = V - V[5] , 若發現連 F 日 B 值持續擴大或是持續縮小,則視為短期價格方向的確立,如此,可以分別取得價格和成交量的短期方向,用以計算和定義背離‧
那麼,該如何去定義何謂多頭或是空頭的初期,中期,末期 ?
我必須承認,這用電腦相當難以做到(人腦在複雜的圖像辨識這一塊,比電腦高明多了)‧
對於電腦來講,在"簡單的程式語法"(即不使用類神經網路,圖形辨識等剛高等演算法的狀態)
的架構下,一般技術指標只能表達"相對"難以表達"絕對"
(C)量增------價平
1.多為持續原來行情的走勢,但仍須確認。
2.處於末跌段或初升段時,應是多頭力道仍在持續醞釀,未來上漲機會很大。
3.多頭走勢或空頭走勢的整理期間,則為多頭或空頭力道重新醞釀的時機,在未來盤勢朝原來趨勢發生突破時,原來的趨勢將持續發展。
4.若指數處於末升段,極有可能是多頭力道逐漸衰退的跡象。
如何判斷持續發展 ? 例如,爆量不漲,則要定義,創新高量以後,N日內沒有再創新高(作為確認)視為爆量
這裡的"平",指的是人的肉眼,然而對電腦而言,你必須設定一個K%,去定義小於K%的波動為所謂的"平"
(D)量縮-------價漲
1.屬價量背離現象,未來走勢一般以偏空因應。
2.處於初升段或盤整階段時,應採取觀望態度。
3.若為漲停鎖死,則後勢仍以續漲視之。
4.處於末升段時,則可能因為多頭追漲意願不高,指數反轉而下機率大增。
這裡再次顯現出,人腦和眼睛對於辨識圖形的優勢,只要受過訓練,人可以快速辨識出一個走勢是剛剛突破
支撐或是壓力的開始,或是已經漲一大段,對於電腦而言,要寫出對等能力的程式,也許得不償失,反而大
幅增加程式的複雜度,最後難以維護‧
不過,這也許說明了,為何同樣的技術指標,有些人用績效好,有些人用不好,即時採用相同的邏輯。
也就是所謂經驗的無可取代性。文章所指,是經過長期觀察後所歸納的抽象原則。
(E)量縮-------價跌
1.若處於初跌段或主跌段時,代表多方接手意願不高,仍視為賣出訊號。
2.若為末跌段時,則為空頭力量衰竭,應注意買進時機。
3.若在上漲趨勢中,通常代表持股者惜售,未來應可續漲。
(F)量縮-------價平
1.亦屬於背離現象,但不確定性較強。
2.若處於末升段則代表離高點不遠,應注意賣出時機。
3.若處於盤整階段,則對於盤勢較無影響力。
(G)量平------價漲
1.若處於多頭走勢中則有可能是處於換手過程中。若後續成交量無法擴大,則應密切留意賣出訊號。
2.在空頭趨勢中極可能是短暫技術的反彈,後市仍然偏空。
3.若處於整理階段,則較無特殊意義。
(H)量平------價跌
1.若處於多頭走勢中則有可能是處於換手過程中。若後續成交量無法擴大,則應密切留意賣出訊號。
2.在空頭趨勢中則是空頭力道仍在持續,後市仍然偏空。3.若處於整理階段,則較無特殊意義。
(I) 量平-------價平
價平量平顯示觀望氣氛濃厚,指數未來仍以原來趨勢發展居多。
N日高 - N日低的幅度比收盤價 * 0.14 少,表示N日內漲跌幅小於 14% , 認為是盤整‧
講到這裡,相信已經有人快要受不了我的火星語了,不過,從這篇文章,至少你能夠了解目前電腦對於視覺
上辨識的限制,雖然,透過一些複雜的演算法確實可以辨識一些結構,可惜,這些複雜的程式往往讓整個交
易系統變的又大又難以維護,陷入所謂的維度地獄(參數過多,總是陷入曲線擬合,使得歷史回測結果不具任
何意義),這個Trade-off恐怕永遠無解,形成程式交易的死結,最後,簡化,變成無奈又不可或缺的產物,例
如將順勢系統簡化為單純的均線方向,將支撐或是壓力,W底,M頭等化簡成N日高點或是低點等都是。
也就是說,所謂設計交易系統,其實是將眾多交易方法去蕪存菁的簡化過程,而且是動態的,可以演化的。
設計交易系統,必須在兩者中取得平衡,系統必須兼顧到屬於這個市場的一些特性,以及保有基本原則(順勢而為)但是又不能過於複雜,真正簡單又好的交易系統,寫起來應該不會超過 500 行EasyLanguage‧
在這篇引用文章裡面所提到的一些圖表現象所對應到的程式明確定義,大多屬於實驗性質,沒有正式用在我的系統,這裡提出來,就當作是拋磚引玉吧。
有人說,新手看價,老手看量,高手看籌碼
人之所以寶貴,在於能夠自己取尋找不同技術指標,乃至於量,籌碼等等關係,而且不斷的推論出自己的交易規則以籌碼論之,究竟台指前十大法人淨部位該站多少權重 ? 國際走勢呢 ? 我假設讀者手上沒有高等類神經網路軟體,那麼,重要性呢?
我個人猜想,對於台指而言,國際股市 > 台股特有的政治因素或是特別法案 > 主要法人籌碼 > 技術分析
這種排序,量化難度更高,每人心中都有一把尺,請自己拿捏吧
一些針對程式交易的類神經網路,基因演算法等軟體的用法,就是希望藉由可自我回饋式網路,基因篩選等觀念,能夠將上述這些影響台股的因素所該佔的最佳權重做運算,知名軟體如 SirTrade的Safir,要價歐元 29,500。
有必要把交易搞那麼複雜嗎?
Well, 這見人見智,複雜的東西未必是好,然而,即使是簡化,也是無奈的妥協,朝著複雜演進,似乎是無可避免‧
這一篇算是目前我寫過最技術性的文章了,寫完自己的腦袋也快暈了
這一系列文章,結構相當鬆散,將來想必要重新做一番整理
職業道德
所謂操盤手的職業道德,我覺得和魔術師差不多,魔術師彼此間會做一些技巧的意見交流,而不成文的規定就是,不能夠對外行洩密,操盤手其實也差不多,在網路上的文章,或是說書籍上的文章,也許會做一些交易系統設計原理的交流和探討,可是,不可能會去隨便公佈人家辛苦研究的參數,或是詳細的指標用法,若看的懂門道的,自己必然有所收穫,實在不必再去擋人財路。
開站半年,包括優雅平衡自己蒐集,研究的,以及幫人代工研發的,零零總總我手上的交易系統大概也快破千套了吧,然而,我不可能去公佈這些東西的參數,詳細程式碼,這是對原作者著作權的尊重,也是誠信原則,若有人想對於這些神兵利器有垂涎,若原創者仍在世,則優雅平衡必定得介紹有意者給原創人,原創人自行決定是否願意傳承,此尊師重道矣。
華人對此概念似乎仍有待加強,看到最近一些出版的股市技術分析書籍,文章內容東拼西湊,然而卻不見引言,或是揭露原創者姓名,好像所有東西都是自己發明的一樣,這已經是在剽竊他人智慧,此實為不可取。
最近有幸聽到瀛海老師的免費技術分析課程,聽完後深有所感,也讓優雅平衡警惕,必時時戰戰兢兢,遵守職業道德。
變是根本
價格是隨時在變動的,行情進行速度的快慢,也是隨時在變,因此,發展程式交易時,應該脫離不斷做參數最佳化的思維,取而代之的是,儘量讓程式的參數能夠隨著市況自動調整。不同的價格變動速率,應有不等的處理方式,甚至是針對波動率,動態調整該參考的時間尺度,同樣是漲,漲多快 ? 漲的預期幅度 ?回檔的處理,何時算回檔 ? 何時才算真跌破 ? 回檔和真跌破若無法清楚定義,恐怕這是大多數人真正不敢進場的原因,不同的市況,應有不同的程式可以去應對。
至於怎麼應對,那就是秘密嚕
1. 在2007台指期貨能獲利者,至少都會有 Trailing Stop 甚至是逆勢系統的成分,來補足原本順勢系統對盤勢反應過慢的問題,而且,至 少存在一個過濾機制,防止順勢的訊號和逆勢的訊號打架,決定何時逆勢,何時順勢。
2. www.traderstech.net 網站,是 Checkmate 的作者,年度十大交易系統之一,除了交易系統排名世界前端之外,最特別的是 Dynamic Profolio ,可以達到市場不固定 且 交易系統不固定 且 倉位大小也不固定。
台灣研究程式交易者一般只專注於台指期貨,想開發出台指期貨的聖杯,使用TS的可能會想嘗試其他市場,但是對於如何組出好的投資組合也很少見到討論,即使有投資組合,每個標的所佔權重也是固定的,無法動態改變,至於進場之後的部位大小也是固定,頂多固定進行加碼,少有可隨投資組合相關度作動態風險配置。
如果你覺得研究交易策略碰到瓶頸,也許研究投資組合是個新路徑。
如果 Rina System 也無法滿足你的需求時,表示你的投資組合策略出師了。
超短高手的經典談! http://www.yongbulao.com/read.php?tid=16293
要想在交易中賺錢,只要做到遵守紀律,能在適當時戰勝自己的個性弱點和人性的共性弱點就可以了。
交易時,他更像一個運動員,他的買賣皆是出於本能的反應而不是思考,技巧上身時,心就忘了它。
對於真正的超短線交易者來說,交易不是一個零和遊戲,這裏遍地是金子,到處皆有發財的機會,對於手續費用低廉的交易者來說,他們從事著世界上最好的職業,他們在風險更低的情況下,賺著其他行業的人做夢也不敢想的利潤。
他認為,在市場允許的情況下,交易量越大越好,交易時間越短越好,只有這樣,才能在更少的時間,更低風險的情況下,賺更多的金錢。
努力做一個獲取微利的交易者,按賺取微利的原則行事。
本質上而言,查理的交易策略就是:
用最短的時間,來把握任何一個可以獲取微利的機會。
有一類操盤手一直在賺錢,他們是賺錢薄利差價的超短線操盤手。他們一次賺一點,一點一點地賺,積少成多,最後將財富彙聚成了金錢的海洋。
只要你在壓力下仍能做出正確的行為就行。
盡可能保住你的位置,只要你還在市場中,你就總有賺錢的機會。
面對損失,要像一個真正的男人一樣面對它,而不是逃避,這是另一層面上的勇氣。 對於一個超短線交易者,賺錢了,他要走,不賺,他也要走,賠了,他更要走。
永不持有任何虧損的倉位,永遠在賺錢的倉位上加碼,這在一定意義上說,是交易的全部真諦。
交易者是講意志力的,就像一個鋼性物體,無論在多大的壓力下也不會變形。
查理是做差價交易的,他在市場的兩個方向同時做交易
低買然後高賣,高賣然後低買,只要有一個點的差價,他就能在市場中買進賣出。
他能從開市交易到收市,其間總是持有倉位,又總是空倉等著時機。
做期貨成功第一秘訣—獨具一格,超凡脫俗。
什麼叫盤感呢?就是你一眼看上去,對盤面走勢的一種直覺。它是一種從觀察盤面即時走勢時,在心理上所做出的第一反應。
要做好短線,則直覺的效果,功不可沒。
當然,盤感不能代表一切,但是,做短線若擁有好的盤感,則可能會擁有一切。
我可以先假設:市場是上漲或者下跌,然後我再一步步地去驗證。
如果市場正如我所預料的那樣運行,則加碼。
如果不是按我所事先預料的那樣運行,則止損!
我不能被動地等待市場證明我是對的,才去追開頭寸,此時開倉已利潤較小,我也沒有成本等待市場證明我是錯誤的才去平倉,此時再平倉已損失較大。
如果非要等到市場運行到盤面和各個指標發生錯誤時,我才去止損,則:此時已損失慘重,為時已晚。
所以,也只有這樣,才能使我對正確的思想和行動,不斷作正確的強化。
開倉不一定非要等到市場證明我正確的時候,
平倉也不一定非要等到市場證明我錯了的時候,
打出提前量,做錯的時候也可以是獲利的。
短線盤感是一手一手練出來的,單子一進去10秒內就有抬轎子的說明基本入門了
短線盤感是靠1手1手練出來的,所謂熟能生巧。我之所以強調模擬盤就是因為只有認真做模擬與實際走勢進行對比才可以清楚地發現哪種行情適合你,哪種你把握不了,也就是入市前準備工作要充分。
炒單時忘掉心中的分析,不對行情有先入為主的判斷,我是炒手就只賺屬於自己的小波動,拒絕大局觀拒絕暴利。
突破行情發生時要敢於追進,盤子一停就跑,一段一段地做,持倉時間短相對安全,所以不能指望暴利
炒短線意外的虧損是不可避免的,千萬不可以跟盤子賭氣,感覺不對的單子儘快做好砍的準備,不要等真的不對時再砍,那樣會誤事,忘掉心中的分析,不對行情有先入為主的判斷
如果你下單後不知虧錢為何物,帳戶的銀子嘩嘩亂漲,那麼恭喜你,你是期貨天才,它為你而生。
期貨上預期越大失望越大,反倒是踏踏實實賺點小錢,怕字當頭說不定還能發點小財。做人不求頂尖,只要混得比大多數好就行了,做期貨也是如此。
炒短線基本不看技術指標,心態一定要平和,不能情緒化,慢盤炒來回,快盤一般只做一個方向。
即使一擊不中也要全身而退,大多數人都要過戰勝自己這一關,能儘快意識到自己的弱點才有可能少走彎路。
期貨就是賭博,玩的就是心態,贏時要放膽,輸時要捨得放棄。
看對行情賺到錢沒什麼了不起,看對行情輸了錢還能不受影響地接著下單才厲害。
僅僅簡單地套用成功模式是沒用的,如何克服想贏怕輸的心態比較重要。
做期貨錢少不怕,怕的是自己沒有自信患得患失,那也就只有剩下往裏慣性投入了。 炒手的功夫體現在他不持倉的時候,沒單子不等於不思考,將進未進才是最緊張的,單子一但進了場,對錯一目了然,該怎麼處理都很隨便。
只做自己有把握的行情,做單不用想得那麼複雜,簡單有效就行了。
其實短線比長線更注重的是入市時機,好價位有時比正確的方向更重要,這一陣盤子快,價位上下亂掃,等圖表給出信號會經常滯後,變成幫人抬轎了。
下單一定要逼自己領先圖表預先判斷,對的時候單子儘量持有,感覺不好的時候早點處理,止損並不是機械地設好點位。
在靠近當日低點或高點時會觀察雙頭或雙底形態是否成立,覺得形成就吃點逆向單,所謂富貴險中求,是真突破就跳下幾個價位往下追,隨大流湊個熱鬧,平時就不用動腦子亂炒單。
盤感就是你對盤面價格跳動的預測,一切短線只憑盤感+經驗來做。
所謂炒單是力氣活是辛苦錢,是一份高薪的工作,每天就是抱著拿工資的態度去炒單
只有一條線的”不敗”操作法 http://www.wearn.com/bbs/topic.asp?topic_id=117328&forum_id=5136&cat_id=19
我做極短線的台指期操作,搶的是以”秒計時”的”快速,
我做股票是只做一支?而是以”年”為基數的”長抱”,
為何這兩者相差這麼遠?
因為”台指期”的極短線操作賺的是”投機錢”!
而”長抱”的股票賺的是”投資”財,
投機需要”技巧”?而投資需要”耐心”兩者共通的是”紀律”
但有很多人是用”投機”的心理想去賺”投資”的報酬?
這失敗率可能就會大了一點?
很多人都知道”股票”操作要”順勢”?但卻不知道”順勢”的定義?
其實”順勢”的定義很簡單,就是”右邊交易”,
只要您每筆單子都能做到”右邊交易”?相信要輸也難?
而何為”右邊交易”?
就是您在所有的轉折點都畫上一條”垂直線”
只要是在”垂直線”右邊所做的交易就叫”右邊交易”,無論進場?出場?都一樣!
簡單吧???
哈!這簡單的東西您可能要花上”幾年的時間”去熟悉它,習慣它?
但是一但您已習慣它了?您的操作就是想輸也難了???
真的???去試試看?就知道了!!!
您準備做多長的單子?這條垂直線要畫在多長的時序上!
做當沖的單子可能就要畫在5分線上?
做隔日沖的可能就要畫在15分線上?
而準備做一週~一個月的單子可能就要畫在日線圖上?
而準備做一季~半年的單子就要畫在”周線圖上?
而是想做一年以上的單子就要畫在”月線圖上?
(以上的用法是個大概,每個人還要根據自己的做單的”特性”去尋找最佳的時序,)
(有時股票的特性不同?也會出現差異的)
有耐心的等待”機會的到來”是成功的”入門票”!
找到進場點進場了之後?通常那個畫垂直線的”轉折點”就是當然的停損點?
因為如果股價跌破這個轉折點時?””右邊交易”就已宣告失敗,必須立刻停損出場,
在場外等待下一次進場的機會!
這一條垂直線我們加如要稱它為”不敗的一條線”絕不為過?
有心人就去試試吧!
這兩篇是我認為對於順勢交易解釋最好的兩篇文章,前篇是對岸的文章,後篇是聚財網的 lcy9547
一位極短線當沖強者所寫。
在適當的時間尺度下,逆勢單也是順勢單的,不管是"追高殺低"或是"低買高賣",並無不同
關鍵在於當轉折發生時,當下的進退是否有據,以此為思考方向和研究架構,會有很大的收穫。
值得一提的是,這兩篇文章的進退依據,都不是依據技術指標
程式交易初學者一開始的做法,大概是把系統內建的一些指標拼拼湊湊,看能否拼裝出一個堪用的東西
或者四處求指標,系統。然後摻在一起做撒尿牛丸參數最佳化之類的事情。不然就是看到K線圖,發現
某一段走勢會虧的特別慘,於是在程式裡面又加了一大堆的 If .... Then 的語法想改善績效,通常結果是
落入邏輯最佳化的問題,有時比參數最佳化更慘。
這種過程有點像是,在牛頓發現萬有引力,並且發現宇宙是真空的以前,人們假定宇宙間存在"乙太"的假設性介質,然後又發展了一堆修正理論,使得乙太模型能夠解釋一些物理現象。可是,因為對於原本原理不了解,而只是不斷的對一個假設模型做理論修正,使得離真正的原理越來越遠了。CAPM(效率市場假說)認為股價常態分布的假設就像乙太,然後市場又出現一堆理論去修正CAPM,結果當然不好。建議看 股價,尼羅河與棉花糖 這本書,用碎形幾何模型描述是比較正確的。
參數最佳化,只有在基本架構比較正確(沒有絕對正確這回事,即使看起來幾乎正確,還是會有測不準的情況發生,詳見(薛丁格的貓實驗)時有用,量子理論即使無法正確的預測電子的位置,只能統計出電子出現的機率分布,還是比傳統理論更能解釋物理原理(雖然愛因斯坦無法接受這種"不確定,無法真正終極精確"的東西)。
當切出一個看起來還算可以的架構時,接下來要對該架構切成N塊,並且對每一塊各自去跑最佳解,N可以很大,之後會發現有幾塊因為解答差不多,所以可以合併成一塊,這是一個先發散後收斂的過程,例如一塊蛋糕我先大略切個三塊,然後對每一塊再切割幾百塊,切幾百塊之後發現,有幾塊長的很像可以合併在一起,一直合併的結果,也許最後剩下十塊,而之前大略切了三塊,所以總共是三十塊左右。
沒人規定你該怎麼切,或者要切成幾塊,或者最後要剩下幾塊,重點在於切的過程中,每切一次都在做取捨,最後切出來的就是你的型(Type)和風格(Style)。同樣是圍棋九段高手,不同人有不同棋風,不過無所謂,因為他們切的蛋糕(所見過的棋譜)大小都很大,切(對應方式)的方式不同沒關係,反正都吃得很飽。可是,如果你的蛋糕本來就很小(業餘棋手),再怎麼切的好,能吃的總量還是比較少,此時不應追求最好的切法,而是想辦法搞到更大的蛋糕才對。
一般程式交易者會認為,參數越精簡越好,我同意,但是一開始參數就很少,那就不對了,你必須先發散後收斂,一開始參數可能數百,數千個,然後在不斷的修正,淘汰中,只留下最後有用的幾個,這樣的精簡化參數才有意義,如果你一開始的參數就那一個,那只是說明您的系統結構太過簡單,還有很多盲點是沒有考慮到的,美其名曰參數少且沒有最佳化過,其實只是在替自己思考界線的狹小找藉口。職業棋手腦袋中平均存二十萬個棋型,難道他只看了二十萬個棋型嗎?那可能是看了兩百萬個之後精煉萃取的結果。
到底是誰在買,誰在賣呀?
為什麼技術線型說 : 一支股票成交量增加,股價也站上月線,且之前最好是橫盤整理很久或是有個W 底之類的,可以買進做多 ?
股價從一買一賣的成交而來,既然書上這樣寫,表示出現這種狀況時,大家都看好所以買進嚕 ? 可是要有人賣,大家才買的到呀,那到底是誰那麼蠢,這樣的多頭狀態還賣呢?
恩,也許是看KD的人認為指標已經上80過熱所以要賣,或者一些人已經套牢很久所以解套,主力再拉抬初期希望大家抬轎,大概也不是主力在賣,恩,可是如果這樣想賣的人很少,那會變成無量上漲而非價量齊昂耶。恩,也許是發利多消息,頓時很多人知道了這個股票,有的人看好有的人看衰,所以成交量才會放大,然後主力又在搧風點火努力買,所以才會價量齊昂....
那,高檔爆量長黑之後通常走長空頭呢 ? 可能消息比較靈通的人(主力或是法人)提早知道利空所以趕快賣,一方面又結合媒體努力大放利多,於是散戶通通跳進來買,使得成交量爆量,法人出貨完畢後還倒踢兩腳形成長黑K,使得散戶恐慌形成多殺多,最後走長空走勢,可是通常散戶都不停損會等斷頭,所以爆大量之後的跌停,成交量通常還有一些,甚至越來越大(散戶進場攤平)而大人則一直放空?
不對喔,平盤以下不能放空,所以只是多殺多順勢踢幾腳,然後,等到有一天散戶融資追繳了(所以通常在跌了30%),當天又爆大量,可能拉下影線,表示散戶斷頭被迫賣掉手上多單,可是居然爆大量,那是誰買的呢 ? 當然是未來的主力買的嚕。
漲了一段之後量縮回檔呢 ? 可能因為突發的利空或是大盤回檔修正所以價跌,但是因為大家都看好所以不想賣,產生惜售心理,會賣的人只是調節性的獲利出場,所以量縮價跌,之後若回檔止跌且不破,且再出量則又有一波漲勢....
那急殺破撐反彈再破撐呢 ? 下殺到之前起漲的價位,主力的持股成本價格時,可能會想護盤,使得跌勢減緩,但是之後若有更大利空或是大盤持續探底則繼續破撐 ...
好了,好了,再講下去就是闡述無止盡了,要是你每次做股票都還要這樣慢慢想,價格可能早就不知飛到哪去了,技術分析目的在於將這些觀察到的理由,簡化成一個型態(partten),且統計出現此型態之後通常往哪個方向走機率會比較高。你認識的型態越多,當下反應就越快,而且要能夠克服自我矛盾(其實買進或是放空的理由是同時存在的,所以才有成交量呀),你就比較不會陷入自我矛盾的窘境了。
最忌諱的是把技術分析當作精神自慰的工具,其實心中早有定見,只是隨便抓幾個指標出來支持自己的想法喔。
SQL-SSIS發佈注意事項