交易策略的程序化
交易策略的程序化是指將交易策略轉化為精確的數學公式或電腦語言公式,使之成為電腦可識別并能進行檢驗的公式系統。
大多數投資者對自己的投資策略只能做出某種模糊的描述。比如我們常常在一些媒體上看到或聽到類似的描述:“某某合約放量上攻”、“某某合約受到某日均線的壓力”、“某某合約是小幅盤整”、“某某合約某日拉出一根大陽線”、“某某合約嚴重超買”或“超賣”,等等。這里的“放量”上攻,“壓力”,“大陽線”中的“大”、“小幅盤整”中的“小幅”,嚴重超買或超賣中的“嚴重”及“超買超賣”、都缺乏嚴格的定量及定性意義,也就是說缺乏教學語言的精確性及電腦語言的明確性,所以不能直接轉化成數學模型及進行相關檢驗。打個比方,假設投資者以“放量上攻”后跟進作為進場的交易策略,這里暫且不提出場規則的定義,單是進場規則就是不明確的,不客觀的,不能重復的,因而不可能進行統計檢驗。這里的“放量”缺乏定性和定量的標準。何為“放量”?“放量”是指絕對水平還是相對水平?假設是絕對水平,那么多少是放量?假設是相對水平,那么參考系是什么,參照標準又是什么呢?如果不能準確回答這些問題,就無法達到數學公式意義上的精確。再如,假設以某期貨合約“拉出一根大陽線”后跟進作為進場的策略思想,那么這個“大”應該如何定義呢?是與自身對比為大,還是與其他合約對比為大?大了多少又叫大?是絕對值還是相對值?等等,同樣,不能準確回答這些問題,同樣無法達到數學公式意義上的精確度。
投資者首先要把自己的交易策略轉化為精確的數學公式或電腦語言才可能客觀地利用計算機對大量的統計數據進行檢驗,進而需要評估其交易策略思想在統計意義上的準確度。
交易策略的程序化過程可參照以下基本步驟
1、定義交易規則:交易策略的定性化。定義交易規則,指將交易策略思想歸納成明確的交易規則。所以說定義交易規則的過程即是對交易策略思想定性的過程。以簡單的平均線交易系統為例,假設交易策略是以短期平均線向上穿越長期平均線為買入信號;以短期平均線向下穿越長期平均線為賣出信號。則該交易策略可以設計為以下交易規則:
規則1,當短期平均線向上穿越長期平均線時,買入。
規則2,在做空信號發生前,持倉。
規則3,當短期平均線向下穿越長期平均線時,平倉反手。
規則4,在做多信號發生前,持倉。
在這里需申明的一點是,這里列舉的簡單平均線交易系統,只是為了說明如何將交易策略思想轉為明確的公式系統。這種舉例不能說明任何作者對該系統的評價。
2、定義交易規則變量及參數:交易策略的定量化。在對交易策略思想進行歸納為明確的交易規則體系后,還必須進一步對其中包含的變量及參數作出明確規定。
仍以簡單平均線交易系統為例。
定義1:P=價格(定義價格)
定義2:t=今日(定義時間序列)
公式1:MA1(t)=(P1+P2+...PN1)/N1 {定義平均線1}
公式2:MA2(t)=(P1+P2+...PN2)/N2 {定義平均線2}
定義3:N2>N1(定義長期平均線)
定義4:若MA1(t)>MA2(t) 但 MA(t—1)<MA2(t—l)則買入(定義買入規則)
定義5:若MA1(I)<MA2(t) 但 MA(t—l)>MA2(t—1)則賣出(定義賣出規則)
當對交易系統所用變量及公式定義完成后,一套交易系統便從質和量上固定下來,系統設計者就可以研究系統參數在不同值域中變化而使交易系統在給定數據庫中的表現變化。
在該例中,引參數為P1、N1、N2,即設計者可以變換價格定義及均線長度定義。比如,設計者可不使用收盤價,而使用開盤價、或最高價、最低價、甚至某種加工過的價格。均線周期長短也可根據需要加以變化。
3 編寫電腦程序。當交易系統編寫為公式和定義系統后研究者需進一步將其編寫為電腦可直接使用的電腦語言或軟件語言,以使交易系統能夠直接在電腦上運算。比如,上述簡單平均線系統的定義及公式,編寫成某種電腦軟件語言后,便成如下形式:
根據以上述電腦軟件語言形式,電腦便可直接按交易系統的規則進行運算。如果編寫成電腦初級語言,如Basic,或高級語言,如C,則程序編寫可能要更復雜一些。在該電腦程序中,參數為價格、此處定義為Close(收盤價),及均線長度(Length1,Length2)可由系統設計者按需要變動。
(責任編輯:admin)
- 上一篇:雙均線交易系統交易的原則與應用
- 下一篇:交易系統的構建步驟
相關文章
-
沒有相關內容