999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Zigzag的K線趨勢拐點識別算法設計與實現

2018-01-18 15:45:23蔣慧敏
計算技術與自動化 2017年4期

蔣慧敏

摘 要:使用Zigzag指標預測期貨價格的走勢是構造期貨程序化交易系統中K線特征趨勢算法交易模型的關鍵技術之一。針對期貨程序化交易系統中Zigzag指標函數的實際開發需要,提出了一種基于Zigzag的K線趨勢中的高點、低點和拐點的識別算法。為了提高K線特征趨勢交易模型的收益率,借助該算法對特定的期貨時間序列進行K線模式識別,并對其Zigzag的深度、偏差和后退等參數進行優化。實驗結果表明:該算法識別精度高,穩定性好,能很好地滿足期貨程序化交易系統的K線趨勢拐點快速識別的需要。

關鍵詞:拐點;識別算法;Zigzag指標;K線;期貨

中圖分類號: TP319 文獻標志碼:A

Design and Implementation of the K-line Trend Inflection Point Recognition Algorithm Based on Zigzag

JIANG Hui-min

(Department of Information Engineering,Hefei University of Technology,Xuanchen,Anhui 242000,China)

Abstract:Applying Zigzag index to predict the trend of futures prices is one of the concerns of building algorithm trading model for K-line trend features in future program trading system.According to the actual development of Zigzag index function in a futures program trading system, the recognition algorithm of the high, low and inflection points for K-line trend based on Zigzag is proposed.In order to improve the return rate on the K-line trend trading model, the above algorithm in specific K-line pattern recognition of futures time series is employed, and the deep, deviation and back parameters of Zigzag are optimized.The experimental results show that the algorithm with high identification accuracy and good stability can meet the needs of rapid recognition of K-line trend inflection point in the futures program trading system.

Key words:inflection;recognition algorithm;Zigzag index;K-line;futures

1 引 言

期貨程序化交易(program trading)是應用計算機和網絡系統,預先設置好交易模型,并在模型條件被觸發時,由計算機瞬間完成組合交易指令、實現自動下單的一種新興電子交易手段。期貨程序化交易的核心價值體現在支持投資者交易策略的算法交易(algorithmic trading)模型的快速構建、測評和自動化執行[1-2]。而在高速大規模期貨時間數據流下,設計和實現期貨時間序列K線趨勢特征模式的快速識別算法,是構建期貨價格趨勢技術分析算法交易模型的核心技術和難點之一。

目前,研究人員提出了不少有效的基于曲線圖模式的技術分析方法用于預測期貨價格的走勢。比如,head and shoulder、cup and handle等基于形狀的模式。此外,存在許多技術指標(technical indictor)用于估計期貨價格的反轉點,例如,Zigzag、Moving Average、Relative strength index(RSI)[6]。本文針對某期貨程序化交易平臺中Zigzag指標函數開發的實際需求,提出了一種基于Zigzag的K線趨勢中的高點、低點和拐點的識別算法,然后應用于該平臺系統中的Zigzag指標函數。Zigzag[4]指標函數主要用途是來標識過去價格中的相對高低點(inflection point,拐點),并以這些點之間的連線來表示這段價格變動的趨勢,如圖1所示。最后,使用Zigzag指標函數對特定的期貨時間序列模式進行K線模式識別,并對其Zigzag參數進行優化。

2 識別框架

期貨時間序列(time series)數據是期貨交易系統中按照時間順序觀察收集得到開盤價、最高價、收盤價、最低價等一系列價格數據。期貨時間序列的本質包括:高維度和經常更新,數值性,連續性。為了減少原始數據的維度(數據點的數量),文獻[7]使用了最簡單的收集樣品數據,但是,這種方法會受抽樣率限制,如果抽樣率太低就會扭曲時間序列特征。文獻[8]提出了MSM(Multi-scaled Segment Mean)時間序列表述方法,并在此基礎上提出了一種新的多步過濾機制。

K線(K-line)[3]是根據期貨每天走勢所形成的四個價位(包括開盤價,收盤價,最高價,最低價)繪制而成。通過K線圖,我們即可以看到期貨價格的基本趨勢,因此,K線圖在各種技術分析手段中被廣泛運用。根據K線的計算周期,可以分為分K線,日線,月K線以及年K線等。圖2給出了一種基于K線圖表示的期貨時間序列拐點識別一般框架示意圖。本文是針對某期貨程序化交易系統中Zigzag指標函數的實際開發需要,設計和實現了一種基于Zigzag的K線趨勢中的高點、低點和拐點的識別算法;然后通過在大量歷史期貨數據集上的實驗對比,對算法參數優化,從而都能夠在某種程度上提升重要點識別的準確率,尤其是對于相對較大規模的數據集;最后應用于期貨程序化交易系統中的Zigzag函數,并使用Zigzag函數對特定的期貨時間序列趨勢K線模式進行模式識別,為期貨市場投資者預測反轉點等決策提供技術支持。endprint

3 Zigzag識別算法設計

期貨程序化交易系統中的K線圖是以每個分析周期中期貨合約成交的開盤價、最高價、最低價和收盤價格等數據繪制而成,而Zigzag指標主要用途是在K線圖中標識所選定的期貨合約歷史成交價格中的相對高低點,并以這些點之間的連線來表示該期貨合約過去價格變動的趨勢。

感知重要點PIP(Perceptually Important Points)識別過程是在文獻[9]中首先提出來的,常用在金融應用中完成技術模式的匹配。文獻[10]提出了基于PIP的ZIP(Zigzag based perceptually Important Points)識別重要點方法和ZM-Tree(ZIP-based Multi-way search Tree)索引結構。然而在實際的基于Zigzag的K線趨勢中的高點、低點和拐點的識別算法中,一方面,要求參與計算的K線數據值是根據趨勢拐點來動態確定是使用K線的最高價還是最低價;另一方面,識別的趨勢拐點往往是與參與計算的K線深度、偏差、后退等參數有關,甚至還要借助交易策略設計人員的經驗。已有的文獻中算法顯然已不能滿足實際要求,也不能滿足實際中期貨程序化交易系統的交易性能優化,從而需要我們設計新的算法。

1.Zigzag指標識別參數

使用Zigzag指標在識別K線特征趨勢的高低點過程中,設置了以下3個參數(類型為整型):深度、偏差、后退,并分別記作Depth、Deviation 、Backstep。其中:

(1)Depth是設置K線圖中的高低點是相對過去多少個K線(Bars),缺省值是12。

(2)Deviation是設置重新計算高低點時,同前一高低點的相對點差,缺省值是5。也就是說,如果當前高點的值大于前一個高點和Deviation 之和,或者當前低點值小于后一個低點和Deviation之差的情況下,則會對之前計算過的Backstep個K線的高低點進行重新計算。

(3)Backstep是設置回退計算的K線個數,缺省值是3。

2.Zigzag指標識別算法

在啟動Zigzag識別算法之前,要先選擇好準備計算的期貨合約、分析周期、分析范圍,以及識別參數。Zigzag識別算法的具體步驟如下:

步驟1 對計算位置等進行初期化。

步驟1.1 判斷是否是第一次進行高低點計算,如果是,則設定計算位置為除去Depth個K線最初的部分。

步驟1.2 如果之前已經計算過,找到最近已知的三個拐點(高點或低點),將計算位置設置為倒數第三個拐點之后,重新計算最后的拐點。

步驟 2 從步驟1已經設置好的計算位置開始,將對用于存儲高低點的變量進行初始化,準備計算高低點。

步驟2.1 計算Depth區間內的低點,如果該低點是當前低點,則進行步驟2.2的計算,并將其記錄成一個低點。

步驟2.2 如果當前低點比上一個低點值小于相對點差Deviation,就不進行回歸處理;否則找到了一個新的低點,將之前Backstep個K線的記錄中,高于當前低點的值清空。

步驟2.3 高點的計算如同步驟2.1和步驟2.2。

步驟3 從步驟1已經設置好的計算位置開始,定義指標高點和低點。

步驟3.1 如果開始位置為高點,則接下來尋找低點,在找到低點之后,將下一個尋找目標定義為高點;如果開始位置為低點,則接下來尋找高點,在找到高點之后,將下一個尋找目標定義為低點。

步驟3.1 如果開始位置為低點,則與步驟3.1反之。

假設分析區間的K線個數為N,該Zigzag識別算法復雜度為O(N)。另外,Zigzag識別算法的深度、偏差、后退3個參數值的設置對算法的性能也有影響。

4 算法測試與參數優化

為了驗證所提算法的有效性,我們開發了一個可繪制K線圖以及Zigzag識別高低點的測試平臺,如圖3所示。該平臺是在Windows 7 系統上用Microsoft Visual C++ 2010開發實現的[5]。實驗時用到了使用程序化交易平臺收集到的各個分析周期K線歷史行情數據供測試和繪制K線圖。其中,歷史行情數據使用Oracle 11g存儲,期貨時間序列使用UTP協議仿真發送。

借助該平臺可幫助我們可視化地觀察不同參數的拐點識別情況。考慮到設置不同的參數值,會得到K線特征趨勢交易的不同拐點。如何設置好上述3個參數值,將有助于提高K線特征趨勢交易模型的收益率和改善算法的開銷。傳統上是根據經驗設置上述3個參數值,或通過手動方式改變這3個參數的值來不斷測試K線高低點識別的效果,進而仿真得到合適的參數值。本文編程實現了3個參數自動優化。例如,以大連商品交易所的豆一1511合約為例測試如下:分析周期設置為1日線,開始日期為2015-01-01,結束日期為2015-12-01,3個參數使用缺省值。通過該平臺計算可等到拐點數是6,高點數是5,低點是8。假定K線特征趨勢交易的測試策略:在開倉和平倉傭金費率是萬分之五,下單手數為1手的情況下,交易方式是若拐點是低點,賣出平倉,買入開倉;若拐點是高點,買入平倉,賣出開倉,且優化目標是收益最大化。

若使用缺省參數,使用該平臺仿真交易后凈盈利為18033.2元。若使用下面優化的參數:深度是5,偏差是2,后退是3,在計算拐點后,再使用應用測試,如圖4所示。

不難發現,此時拐點數是23,仿真交易后凈盈利為147292元,比使用缺省參數的收益率大大提高。在實際使用過程中,對不同的開倉合約和分析周期進行自動優化,會得到不同的優化參數。基于Zigzag指標的K線特征趨勢交易模型在正式加載時,要先根據具體情況采用本系統生成優化的參數,然后作為加載交易模型的缺省參數值。endprint

5 結束語

針對期貨程序化交易系統中Zigzag指標函數的實際開發需要,設計和實現了一種基于Zigzag的K線趨勢中的高點、低點和拐點的識別算法。為了提高K線特征趨勢交易模型的收益率,借助該算法對特定的期貨時間序列進行K線模式識別,并對其Zigzag的深度、偏差和后退等參數進行優化。實驗結果表明了該算法識別精度高,穩定性好,能很好地滿足期貨程序化交易系統的K線趨勢拐點快速識別的需要。本文討論的Zigzag指標函數現已經運用到了期貨程序化交易軟件的實際交易中。在后續的工作中,還需要對該算法使用更多的歷史數據和實時數據進行聯合測試,并進一步優化其計算性能[11-12]。

參考文獻

[1] TRELEAVEN P, GALAS M, LALCHAND V.Algorithmic trading review[J].Communications of the ACM, 2013, 56(11):76-85.

[2] NUTI G, MIRGHAEMI M, TRELEAVEN P, et al.Algorithmic trading[J].IEEE Computer, 2011, 44(11):61-69.

[3] 范曉平,方陽.VC++.NET圖形編程——繪K線圖和條形圖[J].電腦編程技巧與維護,2009,(5):5-13.

[4] PHETKING C, SAP M N M, SELAMAT A.Identifying zigzag based perceptually important points for indexing financial time series[A].Proceedings of the 2009 8th IEEE International Conference on Cognitive Informatics (ICCI 2009)[C].New York, NY, USA: IEEE Computer Society Press, 2009.295-301.

[5] 三揚科技.Visual C++開發入行真功夫[M].北京:電子工業出版社, 2009.

[6] 張丹.基于模糊K線的金融時間序列反轉模式挖掘研究[D].長沙:湖南大學,2012.

[7] ASTROM K J.On the choice of sampling rates in parametric identification of time series[J].Information Sciences,1969, 1 (3):273-278.

[8] LIAN X, CHEN L, YU J X, et al.Similarity match over high speed time-series streams[A].Proceedings of the 23rd IEEE International Conference on Data Engineering[C].Istanbul:ICDE,2007.1086-1095.

[9] CHUNG F L, FU T C, LUK R, et al.Stock time series visualization based on data point importance[J].Engineering Applications of Artificial Intelligence.2008,21:1217-1232.

[10] CHAWALSAK P, ALI S, AMJAD R, et al.Index financial time series based on zigzag-perceptually important points[J].Journal of Computer Science.2010,6 (12): 1389-1395.

[11] SHI L, KANG C.A stochastic dominance test for the efficiency of program trading algorithm[J].RISTI-Revista Iberica de Sistemas e Tecnologias de Informacao, 2016, 2016(E9):119-132.

[12] 葉笑天.期貨高頻交易系統設計的研究與改進[D].上海:上海交通大學,2014.endprint

主站蜘蛛池模板: 伊人色综合久久天天| 一本久道久综合久久鬼色| 国产亚洲欧美在线专区| 免费jjzz在在线播放国产| 日韩黄色在线| 亚洲无线视频| 国产自在线拍| 国产国产人免费视频成18| 亚洲av日韩av制服丝袜| 丁香婷婷综合激情| 欧美激情,国产精品| 国产精品一老牛影视频| 伊人91视频| 国产你懂得| 欧美精品不卡| 久久免费成人| 国产精品国产三级国产专业不| 欧美国产日韩一区二区三区精品影视| 国产亚洲高清在线精品99| AV熟女乱| 亚洲成人播放| 青青草原国产精品啪啪视频| 日日拍夜夜操| 毛片久久久| 男女性午夜福利网站| 在线看AV天堂| 亚洲天堂视频在线播放| 亚洲美女视频一区| 国产精品3p视频| 青青操视频免费观看| 国产欧美日韩va另类在线播放| 国产日本欧美在线观看| 日韩国产精品无码一区二区三区| 日韩成人高清无码| 波多野结衣视频网站| 精品亚洲麻豆1区2区3区| 国产精品女人呻吟在线观看| 人人爽人人爽人人片| 亚洲人成网7777777国产| 粉嫩国产白浆在线观看| 成人一区在线| 亚洲日韩Av中文字幕无码| 久久免费观看视频| 国产精品999在线| 亚洲精品无码日韩国产不卡| 18禁色诱爆乳网站| 亚洲精品国产自在现线最新| 91网站国产| 精品91自产拍在线| 在线精品欧美日韩| 日韩av无码精品专区| 刘亦菲一区二区在线观看| 91www在线观看| 亚洲第一网站男人都懂| 伊人网址在线| 亚洲黄网在线| 伊人久久影视| 国产手机在线ΑⅤ片无码观看| 精品福利视频导航| 特级aaaaaaaaa毛片免费视频 | 波多野结衣亚洲一区| 午夜日韩久久影院| 亚洲AV无码一区二区三区牲色| 麻豆精品在线视频| 福利一区三区| av尤物免费在线观看| 欧美精品啪啪一区二区三区| 又粗又大又爽又紧免费视频| 黄色网页在线观看| 国产成人福利在线| 国产麻豆福利av在线播放| 九九久久精品国产av片囯产区| 久久人与动人物A级毛片| 国产va在线观看免费| 亚洲 欧美 日韩综合一区| 亚洲专区一区二区在线观看| 国产成人亚洲毛片| 国产精品尤物在线| 国产精品手机在线播放| 夜夜操狠狠操| 亚洲中文无码h在线观看| 婷婷开心中文字幕|