电竞比分网-中国电竞赛事及体育赛事平台

分享

股指期貨日內(nèi)交易:趨勢追蹤策略及實證研究

 停機保號 2012-07-25
趨勢追蹤日內(nèi)交易策略優(yōu)缺點優(yōu)點:大波段幾乎都能捕獲到,并且較早產(chǎn)生買賣點。
  優(yōu)點:獲利交易收益較大,虧損交易損失控制較好,并且通過設(shè)置止損點,還可進一步改進。
  缺點:大部分平倉操作由反向操作引發(fā),而不是由純粹的平倉策略產(chǎn)生,導(dǎo)致交易成本和沖擊成本吞噬很多收益。
  一、股指期貨的程序化日內(nèi)交易簡介1、日內(nèi)程序化交易簡介日內(nèi)交易是指由于某些證券品種(如股指期貨、商品期貨)具備T+0的機制,并且還可以賣空,從而允許投資者在一天之內(nèi)多次買多、賣空、平倉。日內(nèi)交易的一個特點是不留倉過夜,以規(guī)避下個交易日開盤時高開或者低開不確定性帶來的風(fēng)險。
  程序化交易是指將交易策略設(shè)計成計算機程序,通過計算機自動對行情價格序列進行判斷來下單,而不再由人肉眼觀察行情序列下單。程序化交易通常是用于日內(nèi)交易的,這是由于日內(nèi)交易數(shù)據(jù)頻率通常以秒為單位,如果由人來操作的話會比較辛苦,也很難保證準確率。
  程序化交易與人工交易相比具有以下一些優(yōu)勢:
  1程序化交易能避免人的貪婪、恐懼造成的非理性。長期來看,堅持某一個策略能獲得更高的收益,但是人的貪婪和恐懼很難避免,從而偏離原先的原則,而程序化交易則完美的執(zhí)行了既定策略,因為它就是機器。
  2程序化交易能更快的下單。相對于人的反應(yīng)來說,計算機判斷的時間可以認為是0。
  在股指期貨這樣的價格瞬間變動迅速的市場上下單速度十分重要。
  3程序化交易可以方便的應(yīng)用各種交易策略,也很容易檢測一些策略是否有效,對于篩選優(yōu)秀的交易策略是十分必要的。
  日內(nèi)程序化交易基本只看技術(shù)分析,雖然也可以引入一些價值層面的參數(shù)作為變量,但是絕大部分日內(nèi)程序化交易還是就使用一些圖線形態(tài)和技術(shù)指標。常用的圖形形態(tài)有頭肩頂?shù)住底、M頭、三角形整理;常用的技術(shù)指標有移動平均線(MA)、隨機指數(shù)(KD線)、相對強弱指數(shù)(RSI)、移動平均值背馳指標(MACD)。這些指標在市場被廣泛的應(yīng)用,而這反過來更加強了這些指標的作用。
  2、程序化交易在國外的現(xiàn)狀由于國外市場比較成熟,所以很多東西都可以作為我們國內(nèi)市場的參考。以高頻交易為例,統(tǒng)計顯示,高頻交易在紐交所交易量中占比一直穩(wěn)定在70%左右,它是作為一種國際市場常用的交易方式存在的。而高頻交易通常都會采用程序化的方式來進行,這是因為如果采用人為的盯盤,一方面人力有限,另外一方面,人的反應(yīng)速度、情緒也會影響交易結(jié)果。
  在國外,交易商可以向交易所支付較高的信息費用來獲取高頻率的tick行情信息,甚至如大投行高盛可以將其服務(wù)器直接與交易所主機對接,而在高頻交易中擁有提前數(shù)毫秒的優(yōu)勢。國外進行高頻交易時,微型指令的頻率上兆。交易指令的速度是毫秒級??蛻魪谋镜匕l(fā)出交易指令到高頻交易商,再轉(zhuǎn)發(fā)到交易所,延遲不超過30毫秒,為了保證這個速度,終端機一定要和交易所同位。
  從NYSE的統(tǒng)計數(shù)據(jù)以及CTA的數(shù)據(jù)顯示,一般推出股指期貨早期程序化交易策略以套利為主,后續(xù)會逐步過渡到股指期貨投機交易。
  另外一方面,各國交易所基本都針對股指期貨程序化交易有限制性條款,這是由于大量相似的自動化下單判定條件很有可能會因為某一個事件而被同時觸發(fā),從而導(dǎo)致市場的非理性上漲或者下跌。5月6日華爾街就上演了一出被懷疑是由程序化交易引發(fā)的"空中蹦極",短短幾分鐘道瓊斯指數(shù)就從10600點下跌至9869點,下跌幅度近10%。
  3、國內(nèi)股指期貨日內(nèi)交易機會從4月16日股指期貨上市以來,除了第一天走勢平緩之外,其余交易日波動都比較大,存在較多的日內(nèi)投機機會。以5月12日的6秒數(shù)據(jù)為例:
  圖1是一個典型的震蕩上漲的交易日,藍色的點A、E、I是較好買入點位置,但是我們可以看到在日內(nèi)仍有很多的賣空機會,比如像紅色的點C、G、H,其余黑色的點是比較理想的平倉的位置。股指期貨像這樣存在較大波動的交易日比較多,而像其他的單邊上漲或者單邊下跌的交易日就更加適合做日內(nèi)交易了,所以不管是震蕩行情還是單邊行情,只要有波動,都比較適合做日內(nèi)交易。
  二、交易策略邏輯1、數(shù)據(jù)的選擇首先是數(shù)據(jù)的選擇問題,這個主要是考慮以何種周期的數(shù)據(jù)作為分析對象。我們采用的是先提取某一日1秒數(shù)據(jù)到程序中存儲好,每隔6秒提取一個價格組成價格序列。之所以這樣做是為了能夠方便的修改時間周期,當(dāng)需要其他周期的價格序列的時候,可以非??斓膶崿F(xiàn)。另外一個考慮就是方便考察產(chǎn)生買賣點之后價格的波動情況,方便考察沖擊成本。至于具體的周期的選擇,這個有比較大的隨意性,但是這個對于交易策略的參數(shù)優(yōu)化影響很大,不同的周期需要不同的優(yōu)化參數(shù),所以周期應(yīng)該較早確定,不應(yīng)輕易改變。
  2、如何模擬實盤在對交易策略的研究中有一個需要重點關(guān)注的問題是不能利用未來的數(shù)據(jù)來研究。這是因為我們在事后擁有交易記錄之后很容易不自覺的利用所有的數(shù)據(jù)來研究交易策略,這樣得到的結(jié)果跟實盤中只能獲得歷史數(shù)據(jù)和當(dāng)前交易數(shù)據(jù)的情況差別很大。對于這個問題的處理主要有兩種方法:
  第一種是每次來了新的價格就將歷史價格和當(dāng)前價格送入價格預(yù)處理子程序和交易策略子程序重新運行一遍,然后判定當(dāng)前點是不是買賣點或者平倉點。
  第二種是將價格預(yù)處理子程序處理過的歷史數(shù)據(jù)數(shù)組保存起來,每次來了一個新的價格序列不需要重新處理歷史價格序列,而只需要由交易策略子程序?qū)Ρ忍幚磉^的歷史數(shù)據(jù)數(shù)組和當(dāng)前點,決定是否進行買賣平的操作,然后再將這個點加入處理過的歷史數(shù)據(jù)數(shù)組。
  第一種方法主要是實現(xiàn)簡單,邏輯清晰,但是當(dāng)歷史數(shù)據(jù)太多時運行時間會變長,而第二種方法主要是能節(jié)省程序運行時間,不過相對編碼容易出錯,在實盤中肯定需要用第二種方法,本文實驗采用的是第二種方法。
  1)均線化
  因為行情的日內(nèi)高頻價格序列波動比較劇烈,看起來也幾乎是雜亂無章的,所以我們?yōu)榱瞬蹲节厔菪枰^濾掉一些干擾的噪聲,均線是過濾微小擾動的一種常用的方式,而且也適合用于捕捉趨勢。我們將A個連續(xù)的數(shù)據(jù)取均值,形成MA(A),在本文所作測試中A取為10,下文都稱經(jīng)過均值化的數(shù)據(jù)位MA(10)。由于采用的原始價格序列是6秒高頻數(shù)據(jù),所以均線化后的數(shù)據(jù)類似于60秒價格均值。如圖4,以4月29日IF1005合約9點30分到9點40分10分鐘的價格序列來看,經(jīng)過均值化后的價格序列明顯平滑了很多,不再像之前6秒價格序列那樣波動劇烈。
  2)記錄極值點
  極值點是局部的高點或者低點,在極值點處股價出現(xiàn)了轉(zhuǎn)折,所以這些點是圖形分析的重要點位,它們包含了重要的信息。判斷極值點的方法也比較簡單:瀏覽經(jīng)過均值化的價格序列MA(10),如果股價上漲至此,接下來又下跌,那么這個點就是極高值點;如果股價下跌至此,接下來又出現(xiàn)上漲,那么這個點就是極低值點。這些點利用另外一個數(shù)組記錄下來,它們是股價變化的關(guān)鍵點,以備進一步制定策略。
  3)過濾極值附近微小波動
  均線用于追蹤趨勢效果比較好,在形成趨勢時能緊跟趨勢,雖然略有滯后,但是在于用高頻數(shù)據(jù)分析中,價格波動較多,均線也就搖擺不定,容易頻繁發(fā)出交易信號,如圖5第二個極值點的位置,雖然價格序列出現(xiàn)了轉(zhuǎn)折,但是并不改變大的下跌的趨勢。另外在高頻數(shù)據(jù)中,很容易出現(xiàn)很多極值點連續(xù)出現(xiàn)的情況,這對于分析也是很大的干擾。所以我們必須對極值附近的點進行濾波。我們?yōu)V波的方法是,當(dāng)股價形成一個極點E后,比如在接下來股價波動范圍在E點價位正負0005元以內(nèi),我們就認為股價過濾微小波動后的趨勢線和E點沒有區(qū)別,這樣我們就得到了過濾了極值點附近微小波動的均線趨勢線filtered。
  我們選取4月29日IF1005合約某一時段均線后序列作為示例:
  4)高低點標記
  將極值點附近微小擾動過濾掉之后,有部分極值點會被過濾掉,如圖中所示。這樣需要重新標記以前的極值點,而且這次可以直接將高低點的具體信息也標記進去。這次的標記高低點需要注意價格序列很可能會出現(xiàn)連續(xù)的一條直線,所以標記的時候需要記錄之前的趨勢才行。所謂高點,在這里指的是當(dāng)一個上升趨勢結(jié)束,轉(zhuǎn)為下降時的位置,同理所謂低點,指的是當(dāng)一個下降趨勢結(jié)束,轉(zhuǎn)為上升時的位置。
  4、具體策略分析
  1)高低點比較策略通常人們判斷趨勢處于上升的理由是,當(dāng)前低點比前一個低點要高,當(dāng)前高點也比前一個高點要高。判斷趨勢處于下跌的理由是,當(dāng)前低點比前一個低點要低,當(dāng)前高點也比前一個高點要低。如果僅僅以高低點的比較去判斷趨勢的漲跌,這樣的情況一天內(nèi)會發(fā)出上百次而導(dǎo)致交易過于頻繁。而且很多高低點之間的價格差距并不大,就是說,有時幾乎沒有上升,或者上升幅度很小卻被判斷為上升趨勢;或者有時幾乎沒有下跌或者下跌幅度很小,結(jié)果卻被判定為下跌趨勢。我們需要一個度量上升和下跌速度的方法。所以必須引入時間這個變量。
  引入時間這個因素是基于這樣的考慮:股價經(jīng)過很短時間就有明顯上漲和股價經(jīng)過較長時間才上漲同樣幅度,這顯然是不一樣的,時間短的上漲說明上升趨勢比同樣幅度上漲需要較長時間的更加明顯。所以我們設(shè)置一個根據(jù)時間變動的附加項drift,來對簡單的高低點策略進行完善。
  最后的策略分三種情況:
  建空倉策略:當(dāng)前高點低于前一個高點,并且低于前一個高點減去附加的漂移項,這個漂移項等于shift*Time。其中shift作為整個策略的參數(shù),可以進行優(yōu)化和人工設(shè)置,而Time則是兩個高點之間所經(jīng)過的時間,在本文中就是經(jīng)過了多少個6秒。
  建多倉策略:當(dāng)前低點高于前一個低點一定幅度,這個幅度等于shift*Time,為了測試方便,這里將建多倉的shift參數(shù)和建空倉的shift參數(shù)設(shè)定為相同。如果對于大勢走向比較明確,可以考慮將這個shift參數(shù)和建空倉的參數(shù)設(shè)置為不同,但是這樣對于優(yōu)化的工作量,會成倍增加。
  平倉策略:平倉分為多平和空平,但它們的策略都基本一致。以空平為例:如果當(dāng)前高點處于前一個高點兩條斜線之間則平倉,這兩條斜線是從前一個高點引出的加減drift項射線。多平也是同樣的思路。
  2)高低點突破策略
  行情中還容易出現(xiàn)另外一種典型的情況,以下跌為例,就是直接從一個最高點開始形成一個主跌段,但是并沒有出現(xiàn)連續(xù)的高點。如果只用高低點比較的策略,就無法捕捉到此次賣空機會。高低點突破策略具體如下:
  建空倉策略:如果濾波后均線往下突破了前一個低點減去漂移項drift_down的延伸線和濾波后均線的交叉點,那么則認為在突破位置出現(xiàn)了一個賣空點。其中drift_down=downshift*Time,Time和高低點比較策略里面的值一樣,dwonshift作為參數(shù)輸入,這個可以設(shè)置為和shift一樣,也可設(shè)置為不同。一般在下跌趨勢比較明顯的時候可以設(shè)為較小的值。
  建多倉策略:如果濾波后均線往上突破了前一個高點加上漂移項drift_up的延伸線和濾波后均線的交叉點,那么則認為在突破位置出現(xiàn)了一個買入點。其中drift_up=upshift*Time,Time和高低點比較策略里面值相同,upshift作為參數(shù)輸入,可設(shè)置為與shift和dwonshift不同的值。一般在上漲趨勢較明顯時可以設(shè)為較小的值。
  平倉策略:多平的條件是三個:一是之前是多倉,二是當(dāng)前趨勢是向下,三是價格突破前一個低點的上面一條斜線??掌降臈l件也是三個:一是之前是空倉,二是當(dāng)前趨勢是向上,三是價格突破前一個高點的下面一條斜線。另外的一種平倉情況是,當(dāng)持有多倉又直接遇到需要開空倉的條件,則先平倉再開空倉。持有空倉的情況類似。
  3)大波段保護
  如果股指期貨經(jīng)過了一個比較大的短期上漲或者下跌,那么有必要對其建立盈利保護機制,因為大漲大跌后容易出現(xiàn)大幅度的回調(diào),所以需要對盈利頭寸進行保護。這里采用的方法是利用高低點突破策略來保護盈利頭寸。比如當(dāng)前價格已經(jīng)比上次低點出現(xiàn)后已經(jīng)有05%的漲幅,并且出現(xiàn)了高點,也就是濾波后均線出現(xiàn)了拐點,那么就把低點上移到離高點一定幅度的位置,這樣由于低點的改變,當(dāng)下次進行判斷的時候就會利用高低點突破策略的平倉策略保護好盈利頭寸。
  三、實證檢驗與參數(shù)優(yōu)化結(jié)果
  1、檢驗設(shè)定與參數(shù)優(yōu)化檢驗假設(shè)每次買賣就買一手合約,這樣可以簡化沖擊成本的測算,因為隨著交易量的上升,沖擊成本會顯著上升。股指期貨合約交易保證金為15%,再加上一部分維持保證金,所以資金成本按照合約金額的25%來設(shè)定。
  參數(shù)優(yōu)化的樣本區(qū)間是4月19日到5月10日的IF1005合約的6秒價格序列,我們以夏普比率為目標函數(shù)來優(yōu)化參數(shù),優(yōu)化的參數(shù)包括如下:
  均線n濾波區(qū)間range普通漂移項shift上升漂移項upshift下降漂移項downshift大波段閥值wave大波段保護點wavecut下降漂移項經(jīng)過優(yōu)化比上升漂移項小一些,這是因為從4月19日到5月10日之間大市以下行為主,所以通過將下降漂移項設(shè)置的小一些來更容易觸發(fā)賣空點。不過經(jīng)過測試,其實將shift、upshift和downshift置為相同值,對測試結(jié)果也影響不大。
  2、交易成本與沖擊成本交易
  成本中金所規(guī)定為合約金額的萬分之05,期貨公司一般收取萬分之一,并且是雙向收取。在本文之中采用萬分之一,并且雙向收取,也就是開倉、平倉均收取合約金額的萬分之一。
  在交易策略的測試中,通常采用成交價格作為策略的買賣平倉點,但是在實盤交易中,由于并不一定能保證在理想價位成交,所以必須考慮沖擊成本。
  沖擊成本的估計比較復(fù)雜,詳細的估算方法請關(guān)注隨后即將推出的報告。本文中采用比較簡單但是嚴格的沖擊成本估算方法。通過對IF1005合約成交明細的分析,主要考慮買一價與成交價的差值,以及賣一價與成交價的差值,對差值取均值,發(fā)現(xiàn)一般來說成交價與這兩個價的差距為02個指數(shù)點,所以將沖擊成本設(shè)置為02個指數(shù)點,即不管建多倉、空倉還是平倉,均將成交價格往不利方向移動02個點位。舉例來說,如果我們交易策略提示我們在下一個價格周期建多倉,而下一個周期(本文設(shè)置為6秒)成交價格為3000點,則將買入一手IF1005合約的價位設(shè)置為30002點,建空倉和平倉時的處理類似。由于沒有考慮根據(jù)交易量來改變沖擊成本,所以這個處理比較簡單,但是有一定參考價值,具體的沖擊成本測算請關(guān)注隨后推出的專題報告。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多