赫茲股票量化交易軟件:開發(fā)交易算法的科學(xué)方法
在金融市場中不使用適當(dāng)?shù)慕灰紫到y(tǒng)來交易,很可能會讓交易者的資金灰飛煙滅。無論選擇哪個市場,對于一個缺乏經(jīng)驗的交易者來說,長期結(jié)果都是一樣的。獲取利潤是需要一個交易系統(tǒng)或算法的。
有很多不同的交易系統(tǒng)和算法,包括一類特定的數(shù)學(xué)上的盈利算法,如套利策略,高頻交易,期權(quán)策略和現(xiàn)貨符號交易衍生品。然而,所有已知的算法都有其缺點(diǎn)。它們要么盈利能力低,要么對流動性和訂單執(zhí)行速度要求很高。這就是為什么交易者試圖根據(jù)獨(dú)特的邏輯開發(fā)自己的算法。
通常,大多數(shù)交易算法都利用資產(chǎn)價格分析來預(yù)測未來的價格。其他算法不僅使用價格分析,還使用外部數(shù)據(jù),以及考慮基本面和新聞背景,包括對謠言的分析。
問題是很少有人確切地了解如何尋找模式,哪些是有效的,哪些不是,以及為什么。為什么,在一張圖表上附加了標(biāo)準(zhǔn)指標(biāo)或任何其他找到的指標(biāo),他們就不能得到一個有利可圖的算法。他們試圖在優(yōu)化器中優(yōu)化策略參數(shù)以獲得利潤,但實際上他們只是將策略參數(shù)調(diào)整到歷史的一小部分,然后在未來一段時間內(nèi)蒙受損失。優(yōu)化器是一個必要且有用的工具,但它應(yīng)該被用來為一個有利可圖的算法尋找最佳參數(shù),而不是試圖通過調(diào)整歷史數(shù)據(jù)上的參數(shù)來使一個有利可圖的系統(tǒng)從一個虧損的系統(tǒng)中脫穎而出。
與其他領(lǐng)域不同,由于競爭激烈,市場交易的發(fā)展很差。有利可圖和破壞性的想法通常是保密的,不會在網(wǎng)上討論。而無利可圖的想法或不產(chǎn)生利潤的想法傳播得很快。這是因為,如果一個人或一群人開發(fā)了一些真正有價值的東西,他們不需要與其他人分享他們的開發(fā)成果——他們靠自己的知識賺錢。如果他們公布了自己的基本思路,這將產(chǎn)生競爭對手,他們也將試圖攫取流動性,而流動性遠(yuǎn)不是無限的。因此,每個人誰來到算法交易必須收集任何信息從頭開始,并獲得自己的經(jīng)驗。而理解基本規(guī)則可能需要幾年的時間。
由于所有這些因素,交易中的迷信比實際操作規(guī)則要多。當(dāng)談到科學(xué)方法時,它在所有領(lǐng)域都是相同的,允許您在開發(fā)有利可圖的算法時進(jìn)步更快。因此,讓我們來探討在開發(fā)交易算法的過程中,如何堅持科學(xué)的方法,避免迷信。我們將以一個簡單的交易系統(tǒng)為例來探討本文中的一些想法。
搜索價格模式
一個交易算法的開發(fā)應(yīng)該從一個價格模式的搜索開始,這個價格模式將在交易期間提供一個正的利潤數(shù)學(xué)預(yù)期。這種模式可能源于先前提出的價格假設(shè),也可能是偶然發(fā)現(xiàn)的。這兩種可能性在科學(xué)中經(jīng)常發(fā)生:一些發(fā)明是偶然的,而另一些是長期研究的產(chǎn)物。在之前的文章"價格序列離散化、隨機(jī)分量與噪聲"中,探討了區(qū)塊圖的使用方法,并說明了其使用的原因。所以,我將使用區(qū)塊圖,而不是燭形圖。
在我之前的叫做"什么是趨勢?市場結(jié)構(gòu)是基于趨勢還是橫盤?"的文章中,我為趨勢的概念制定了一個定義,并研究了市場結(jié)構(gòu)是基于趨勢還是橫盤。我建議你閱讀這篇文章,這樣你就能理解更多的思路。赫茲股票量化交易軟件
分析表明,大多數(shù)市場都有趨勢結(jié)構(gòu),這意味著趨勢延續(xù)的概率高于反轉(zhuǎn)的概率。這是因為價格序列的N步增量分布密度比每一步反轉(zhuǎn)概率為50%的過程的N步增量分布密度更寬、更低。圖1顯示了一個示例。

編輯切換為居中
圖 1.
在該圖中,紅色表示40步過程中增量概率密度的參考分布,其中下一步的反轉(zhuǎn)概率等于50%。這里使用了5000個樣本。白色柱狀圖顯示了AMD股票40步的測量值(同樣,5000個樣本)。計算了5000次測量的垂直步數(shù)和通過40步價格的次數(shù);結(jié)果顯示為直方圖。
換言之,使用40步的5000段來計算每個段垂直通過的步數(shù),結(jié)果顯示為直方圖。如果我們以AMD股票(40步)為例,價格通過0個垂直步390倍;作為參考,價格必須通過626.85倍。
這張圖表顯示,市場價格在40個步驟中通過零垂直步驟的頻率遠(yuǎn)低于下一步反轉(zhuǎn)概率為50%的過程。因此,分析圖表的趨勢延續(xù)概率在50%以上,因此該股有可能延續(xù)趨勢。換言之,在超過10點(diǎn)之后,價格更可能向同一方向再移動10點(diǎn),而不是反轉(zhuǎn)。

編輯切換為居中
圖 2.
圖2顯示了如何計算垂直步數(shù)的示例。在這里,我們計算這40個區(qū)塊(步驟)的價格垂直傳遞了多少區(qū)塊。在上圖中,價格在40步中通過了7個垂直步長。然后我們分析了另外4999個樣本,每個樣品40步,并測量了它們的垂直運(yùn)動。測量結(jié)果顯示為直方圖,其中X軸顯示振幅,Y軸顯示振幅命中數(shù)。
對發(fā)現(xiàn)的模式進(jìn)行分析
一旦發(fā)現(xiàn)一種模式,就需要對其進(jìn)行分析。采用其他交易品種和區(qū)塊大小尺度,以了解發(fā)現(xiàn)的模式是否僅適用于具有特定交易工具,還是否適用于任何尺度的所有交易工具。在這個例子中,我分析了30種貨幣對,在俄羅斯和美國市場交易的大量股票,十幾種主要的加密貨幣和商品交易品種。每個交易品種都使用從一個點(diǎn)到數(shù)千個點(diǎn)的塊大小的所有尺度。根據(jù)分析結(jié)論,所有交易工具在任何尺度下都傾向于具有趨勢性結(jié)構(gòu),但趨勢性隨著尺度的增大而減弱。
我們發(fā)現(xiàn)了以下模式:市場可能在任何尺度上都有趨勢,但在更高尺度上趨勢強(qiáng)度減弱。這意味著,在垂直通過N個點(diǎn)后,價格向同一方向移動相同距離的概率超過50%。這種模式的優(yōu)點(diǎn)是,它允許使用簡單的趨勢策略進(jìn)行交易,即在每個向上步驟后可以打開買入頭寸,在每個向下步驟后打開賣出頭寸。
在此基礎(chǔ)上,對所采用的方法進(jìn)行了分析。也許這不是我們發(fā)現(xiàn)的模式,而是市場結(jié)構(gòu)分析方法中的一個錯誤。在這種情況下,市場沒有趨勢,我們無法從上述假設(shè)中產(chǎn)生利潤。我們需要從基礎(chǔ)開始,了解我們發(fā)現(xiàn)趨勢的區(qū)塊是如何構(gòu)建的。您可以使用在之前文章 "什么是趨勢,行情結(jié)構(gòu)是基于趨勢還是橫盤?" 中所提供的區(qū)塊指標(biāo),在這種情況下,價格序列是按照每N個點(diǎn)的方式分配("切片")的。每當(dāng)價格從之前的參考點(diǎn)通過了N個點(diǎn)后,就生成一個大小為N個點(diǎn)的新區(qū)塊。如果區(qū)塊的大小是10個點(diǎn),價格的變化達(dá)到10個點(diǎn)的時候,就生成一個含有開盤價和收盤價的區(qū)塊。然后再等待價格在一個方向上移動另外10個點(diǎn),以此類推。乍一看,這似乎很簡單,但區(qū)塊是用1分鐘燭形的收盤價建造的——這在以后會很重要。

編輯
圖 3.
進(jìn)一步分析后會發(fā)現(xiàn)兩個問題:
燭形收盤價和區(qū)塊收盤價之間的差距。圖3展示了一種情形,即一個下跌區(qū)塊的收盤價高于下跌燭形的收盤價時,區(qū)塊收盤價與燭形收盤價之間的差距抹去了我們所計劃的、跟隨趨勢來獲取的利潤。原因與我們打算使用一個簡單的算法有關(guān):在每一個增長塊之后開倉買入,在每一個下跌塊之后開倉賣出。由于塊是在燭形關(guān)閉時形成的,因此形成的塊的信號將僅在燭形關(guān)閉后生成。因此,該倉位將以更壞的價格開啟,這個差距可以吃掉所有的利潤,預(yù)期收益將為零。
傭金和點(diǎn)差也許市場趨勢只能夠抵消傭金和點(diǎn)差。在這種情況下,如果我們按市場價開倉/平倉,以更壞的價格開倉的損失和傭金將大于使用這種模式所能產(chǎn)生的所有利潤。嗯,我們可以在赫茲股票量化交易軟件市場上用限價單來消除價差,但我們還是要付傭金。此外,限價令并不能消除赫茲股票量化交易軟件市場的點(diǎn)差。
因此,已經(jīng)確定了兩個問題,這會阻止您從檢測到的模式中產(chǎn)生利潤。以下內(nèi)容有助于理解問題對最終利潤的影響:
在大樣本上測量特定工具趨勢延續(xù)的概率-這允許獲得計算預(yù)期收益的準(zhǔn)確概率值。
收集區(qū)塊收盤價和預(yù)期持倉開盤價之間的差值的點(diǎn)統(tǒng)計數(shù)據(jù),并找出平均值。
在處理市場訂單或交易赫茲股票量化交易軟件符號時,找出平均價差并添加傭金。
從得到的預(yù)期收益中減去以存款貨幣計算的所有間接費(fèi)用,并得到系統(tǒng)實際預(yù)期收益的預(yù)測。
如果得到的預(yù)期收益保持在零以上,我們可以繼續(xù)下一步。
執(zhí)行上述所有步驟是正確的,但一個更有趣的解決方案是編寫一個簡單的交易機(jī)器人并在實踐中檢查這一點(diǎn)。至少,在本文中查看現(xiàn)成算法的運(yùn)算結(jié)果會更有趣。我們還可能遺漏了其他一些特定的功能?,F(xiàn)在,假設(shè)我們已經(jīng)計算了一切,得到了一個正面的結(jié)果,并希望創(chuàng)建一個基于此模式的交易算法。所以,讓我們進(jìn)入下一步。
開發(fā)一個假說來解釋這種模式的存在
在沒有解釋其本質(zhì)的假設(shè)的情況下使用發(fā)現(xiàn)的模式是危險的。我們?nèi)匀徊恢肋@種模式為什么存在,是否穩(wěn)定。我們不知道它什么時候會消失,什么時候又會出現(xiàn)。當(dāng)投資真正的資金進(jìn)行交易時,必須能夠跟蹤某個模式的存在,并了解存款何時從最大值長期下降并很快恢復(fù),以及模式何時消失,是時候停止機(jī)器人了。這正是把盈利機(jī)器人和虧損機(jī)器人區(qū)分開來的時刻。這就是為什么有必要提出一個假說來解釋這種模式的存在。這一假設(shè)可以進(jìn)一步轉(zhuǎn)化為理論,用于調(diào)整算法的運(yùn)行模式。
這種模式存在于所有被分析的工具和所有的尺度中,但在更大的尺度上趨勢性降低。也許,上面提到的兩個因素(價差和傭金)確實影響了這種模式。因此,我們提出兩個論點(diǎn):
塊大小越大,塊關(guān)閉時的相對增量越小,打開/關(guān)閉倉位時的誤差越小。這是因為所有的區(qū)塊都是以1分鐘燭形收盤價為基礎(chǔ)的,它們的尺寸在一定范圍內(nèi)相當(dāng)穩(wěn)定。因此,塊大小越大,增量越小,工具的趨勢就越小。從而減小了趨勢確定方法中的誤差。
區(qū)塊大小越大,價差和傭金對市場特征的影響就越小,因為價差和傭金規(guī)模相對于價格變化變得越小。由于市場是相當(dāng)有效的,它可能會對這一事實作出反應(yīng),按比例減少趨勢。
這里有一個小提示:即使我們在小范圍內(nèi)消除了價格誤差,市場確實是趨勢性的,但它們的趨勢只足以補(bǔ)償價差和傭金。剝頭皮算法的開發(fā)人員經(jīng)常犯錯誤,因為他們不知道這個事實。他們的想法是:“我需要找一個傭金較低的經(jīng)紀(jì)商,我的剝頭皮機(jī)器人就會開始產(chǎn)生利潤。如果我能減少差價和傭金的話,會有很好的效果?!钡聦嵅⒎侨绱耍驗樾∫?guī)模的市場趨勢只能涵蓋差價和傭金。如果價差和傭金較小,那么其他市場參與者就已經(jīng)使用了這種模式,并將其摧毀。這并不是指所有的剝頭皮算法-我只是指簡單的交易機(jī)器人,不使用前端運(yùn)行,市場深度和成交量分析和其他工作技術(shù)。
假設(shè)不僅分析了市場,而且所有其他市場都基于趨勢。但為什么所有的市場都基于趨勢呢?
讓我們從一個簡單的問題開始:金融市場交易的利潤來自哪里?由于參與者之間互相交易(即使你在場外交易赫茲股票量化交易軟件),你賺的錢和損失的錢加上經(jīng)紀(jì)人的傭金是一樣的。交易參與者相互買賣資產(chǎn),每個人都在尋求利益。這意味著買賣雙方都試圖從交易中獲得最大的利益。同時,買方認(rèn)為買是有利可圖的,賣方認(rèn)為賣是有利可圖的。其中一個明顯錯了嗎?當(dāng)買方將資產(chǎn)出售給第三方時,這兩個機(jī)構(gòu)都可以因此獲利,但遲早會有一個交易對手虧損。因此,交易是基于這樣一種想法,即一個交易對手在確定利潤時會犯錯誤。
如果您不了解赫茲股票量化交易軟件市場的定價,我建議您首先閱讀一篇題為 "莫斯科交易所衍生品市場的赫茲股票量化交易軟件定價原則"的文章。如果你知道基本知識,你就更容易理解這個想法。實際上,你在哪個市場交易, 如交易所、加密貨幣或并不重要。定價的基本原理在任何地方都是一樣的。但是,交易條件和分析可能性可能不同。
為了簡單起見,讓我們考慮價格序列形狀的邊界選項。價格圖可能有兩種相反的情況:線性無限趨勢和正弦曲線。正弦曲線很方便,因為每個人都知道何時買賣資產(chǎn)。一個線性上升的圖表也很方便:很明顯,你需要不斷購買才能產(chǎn)生利潤。但這樣的圖表形式是不可能的,因為高點(diǎn)不會有買家,低點(diǎn)也不會有賣家。圖1顯示了一個當(dāng)價格圖表是正弦曲線,并且有適當(dāng)?shù)氖袌錾疃葧r的一個假定的例子。

編輯切換為居中
圖 4.
因此,如果價格圖表是正弦曲線,那么就不會有人愿意在市場深度較低時出售資產(chǎn),因為大家都知道價格不會走低。相反,每個人都會希望以最低價格購買這樣的資產(chǎn)。由于沒有人愿意出售該資產(chǎn),因此不會執(zhí)行任何交易,而且價格也無法沿著這樣的軌跡移動。市場將開始尋找一個均衡價格,這將是適合買方購買和賣方出售。
線性上升的圖表也會出現(xiàn)類似的情況。既然大家都知道資產(chǎn)價格一直在上漲,就沒人會賣,如果沒人賣資產(chǎn),那就沒人能買了。這意味著這樣的價格圖也是不可能的。所以,買家必須買,賣家必須賣,才能有一張價格表。一定有人在確定收益時犯了錯誤。然而,由于每個參與者都尋求利潤最大化,并且不想犯錯誤,所以圖表應(yīng)該比正弦圖更復(fù)雜,比線性升序圖更復(fù)雜。
有效市場中的價格圖應(yīng)該在線性圖和正弦圖之間的中間位置。它的結(jié)構(gòu)必須足夠復(fù)雜,這樣買賣雙方的利潤就不明顯了。正弦圖和線性圖的特點(diǎn)是低熵。熵必須更大,以提供執(zhí)行交易的可能性。市場參與者越多,他們越“聰明”,價格圖表就越傾向于最大熵。赫茲股票量化交易軟件
如果你考慮香農(nóng)熵,那么它在均勻分布上取最大值。市場過程不是一成不變的,而是更像一個正常的過程。然而,正態(tài)分布可以從均勻分布得到,反之亦然。此外,我們使用具有固定步長的區(qū)塊。換句話說,最大熵是一個沒有規(guī)律的過程的特征,在這個過程中,下一個運(yùn)動的方向變化概率為50%。但我們的分析表明,市場圖的方向變化概率不同于50%,這意味著存在記憶,熵不是最大值。赫茲股票量化交易軟件
市場將爭取最大熵,但只有當(dāng)參與者數(shù)量無限(流動性非常高)或參與者無限“聰明”時,才會達(dá)到這種狀態(tài)。這里的“聰明”指的是確定復(fù)雜模式的能力?!案斆鳌钡膮⑴c者可以識別更復(fù)雜和不太明顯的模式。一個無限“聰明”的參與者可以識別和利用絕對所有的模式。使用該條件(無限多個參與者或無限聰明的參與者)是因為無限多的參與者將具有無限的計算能力,并且他們將能夠使用暴力識別所有模式,即使他們不是非?!奥斆鳌薄?/p>
這個假設(shè)解釋了為什么金融工具價格圖表變得越來越復(fù)雜。在20世紀(jì)初,人們可以通過簡單地使用MA獲利?,F(xiàn)在,隨著算法交易的發(fā)展,參與者變得更加“聰明”,模式變得更加復(fù)雜,熵增加,在市場上賺錢變得更加困難?!白兊酶斆鳌笔鞘裁匆馑迹克麄冇懈鼜?qiáng)大的計算能力,更快的決策能力,更快更準(zhǔn)確地確定他們的利益的能力,以及發(fā)現(xiàn)更復(fù)雜模式的能力。赫茲股票量化交易軟件
但我們發(fā)現(xiàn)了一個非常簡單的模式。這可以用資本不斷流入市場來解釋。市場參與者并沒有獲得全部利潤,出現(xiàn)了一個趨勢成分。資本流入與貨幣創(chuàng)造有關(guān)。各國不斷發(fā)行本國貨幣,保持一定的通貨膨脹水平。這種貨幣發(fā)行可能創(chuàng)造了趨勢成分。
從解釋這種模式的假設(shè)可以得出以下結(jié)論:
貨幣的不斷涌出使市場成為趨勢。在這種情況下,積極開發(fā)的具有高投資吸引力的資產(chǎn)應(yīng)該比不開發(fā)的資產(chǎn)和投資吸引力較弱的市場具有更強(qiáng)的趨勢結(jié)構(gòu)。
交易品種的趨勢強(qiáng)度將隨著時間的推移而降低,因為參與者的數(shù)量增加,參與者變得“更聰明”,資產(chǎn)不能無限期地發(fā)展。資產(chǎn)的發(fā)展率和吸引力隨著時間的推移而下降,盡管每種資產(chǎn)都是不同的。
發(fā)達(dá)貨幣對(如EURUSD)的趨勢強(qiáng)度應(yīng)低于新興股票,因為受歡迎的貨幣對吸引更多參與者進(jìn)行更多交易,從而增加熵。此外,貨幣由銀行進(jìn)行交易,這些銀行必須進(jìn)行赫茲股票量化交易軟件業(yè)務(wù),并擁有大量資源來創(chuàng)建“智能”交易算法,以產(chǎn)生額外利潤。此外,EURUSD等貨幣對具有非常高的流動性,高流動性導(dǎo)致趨勢性下降。
假設(shè)檢驗
在上一節(jié)“發(fā)展一個解釋這種模式存在的假設(shè)”中,我們提出一個假設(shè)只是為了解釋一種模式的存在。假設(shè)并非100%正確,可能包含不準(zhǔn)確的地方,因為這只是算法開發(fā)過程中的一個步驟。這是一個如何在解釋模式時發(fā)展邏輯推理的例子。這種做法是為了盡量避免市場迷信。例如,如果我們有這樣一個模式:“如果RSI(隨機(jī)振蕩/MACD/Elliott波/你的變型)進(jìn)入超買區(qū)域并形成一個模式,然后賣出”,那么你應(yīng)該問自己:“為什么這會起作用?”以及“這起作用的根本原因是什么?”
我們將粗略地檢驗假設(shè),而不深入細(xì)節(jié),同時我們需要了解結(jié)論是否與實際數(shù)據(jù)相關(guān)。我們可以比較不同交易工具的趨勢性程度。根據(jù)這一假設(shè),積極發(fā)展的、具有投資吸引力的交易工具應(yīng)比發(fā)達(dá)國家或投資吸引力較弱的交易工具具有更強(qiáng)的趨勢性。根據(jù)第二個假設(shè),交易一項資產(chǎn)的參與者越多,流動性就越高,趨勢性就越差。讓我們簡單地檢查一下這個假設(shè)。赫茲股票量化交易軟件
在文章“什么是趨勢?市場結(jié)構(gòu)是基于趨勢還是橫盤?”的結(jié)尾,我們比較了幾種資產(chǎn)的趨勢程度,包括EURUSD、AMD、AAPL等。讓我們以4個交易品種為例進(jìn)行類似的比較:
EURUSD 貨幣對作為一種資產(chǎn)吸引了最多的參與者,因此具有較低的投資吸引力和較高的流動性。貨幣的投資吸引力很低,因為存在通貨膨脹:貨幣總是貶值,長期投資于貨幣無利可圖。
蘋果公司的股票(AAPL)作為最具吸引力和最具發(fā)展?jié)摿Φ耐顿Y工具,被大量的個人投資者交易。該股流動性高,但明顯低于EURUSD。赫茲股票量化交易軟件
Sberbank(SBER)股票的流動性明顯低于APPL,在全球范圍內(nèi)的投資吸引力也明顯低于APPL,參與者數(shù)量也相應(yīng)減少。
AMEZ 股票. 它們的投資吸引力很低,流動性也很低。赫茲股票量化交易軟件

編輯切換為居中
圖 5a.

編輯切換為居中
圖 5b.

編輯切換為居中
圖 5c.

編輯切換為居中
圖 5d.
從圖5可以看出,歐元兌美元的趨勢性程度較低=1.068,Appl股票的趨勢性程度較高=1.3,Sberbank的趨勢性程度為1.168,即低于Appl,但高于EURUSD。AMEZ 股票是橫盤結(jié)構(gòu),它們的趨勢性程度低于 1.
可以得出以下結(jié)論:高投資吸引力增加趨勢性程度,高流動性和大量參與者降低交易程度的假設(shè)與實驗數(shù)據(jù)并不矛盾,這意味著該假設(shè)可以在未來使用。赫茲股票量化交易軟件
開發(fā)交易算法
讓我們?yōu)檎业降哪J介_發(fā)一個交易算法。模式很簡單,因此交易算法也很簡單。交易將以區(qū)塊為基礎(chǔ),這意味著M1燭形圖應(yīng)轉(zhuǎn)換為每塊N點(diǎn)的區(qū)塊圖。區(qū)塊構(gòu)建算法將集成到交易機(jī)器人中。交易算法將直接遵循確定預(yù)期收益的公式:
m=(P(tp)*tp)-(P(sl)*sl)
其中:
m — 計算預(yù)期收益,
P(tp) — 盈利交易的概率,
P(sl) — 虧損交易的概率,
tp — 平均獲利交易大小,
sl — 平均虧損交易大小.
其工作原理如下:
在另一個下降或增長的塊關(guān)閉后打開一個倉位;
如果該區(qū)塊正在下跌,則打開賣出頭寸;
如果該區(qū)塊正在上漲,則開倉買入;
打開倉位后,等待關(guān)閉信號。
當(dāng)形成相反方向的區(qū)塊時關(guān)閉該倉位。如果買入倉位打開,等待下跌的區(qū)塊形成并平倉。在下跌的區(qū)塊上平倉后,可以打開賣出頭寸。因此,市場上只有一個頭寸。赫茲股票量化交易軟件
圖3顯示了當(dāng)一個燭形和一個區(qū)塊以不同的價格關(guān)閉并形成價格差的情況。這與區(qū)塊生成算法的具體特點(diǎn)有關(guān)。所以,我們需要控制價格,以避免開啟倉位時出現(xiàn)不利的價格。我們再加一個條件:如果燭形收盤價和區(qū)塊收盤價之間的差值大于某個值,就不應(yīng)該開倉——等待價格回到區(qū)塊收盤價,然后開倉。赫茲股票量化交易軟件
加上獲利和止損位。如果燭形的大小明顯大于區(qū)塊的大小,就需要它們。因此,獲利/虧損的頭寸不僅在區(qū)塊關(guān)閉時關(guān)閉,而且在大峰值時關(guān)閉;
止損(SL)價格的計算如下:區(qū)塊大?。˙S)乘以設(shè)置的系數(shù)(ksl);對于賣出頭寸:將結(jié)果SL=Bclose(op)+BS*ksl添加到生成開倉信號的區(qū)塊的收盤價(Bclose(op))。對于買入頭寸:從區(qū)塊收盤價中減去Sl=Bclose(op)-BS*ksl;
TP價格計算如下:區(qū)塊大小(BS)乘以設(shè)定值(ktp)的系數(shù);對于賣出頭寸:從最后一個區(qū)塊的收盤價(Bclose(0))中減去結(jié)果TP=Bclose(0)-BS*ktp。對于買入頭寸:將Tp=Bclose(0)+BS*ktp添加到最后一個區(qū)塊收盤價。與止損相比,這里我們使用每個新區(qū)塊的收盤價,并在每個新區(qū)塊收盤后重新計算獲利。這將有助于賺取額外的利潤時,燭形明顯大于區(qū)塊大小出現(xiàn)。
手?jǐn)?shù)管理函數(shù)。除了標(biāo)準(zhǔn)的手?jǐn)?shù)管理函數(shù)外,讓我們添加一個函數(shù),該功能將根據(jù)當(dāng)前區(qū)塊大小更改手?jǐn)?shù)大小。這將允許在區(qū)塊規(guī)模增長時保持穩(wěn)定的風(fēng)險水平和利潤。讓我們介紹最小塊大?。╩inimum BS)的概念,相對于最小塊大小,手?jǐn)?shù)大小將進(jìn)行調(diào)整。開啟倉位的手?jǐn)?shù)是設(shè)置中的手?jǐn)?shù)除以當(dāng)前塊大小與設(shè)置中最小大小的比率:lot=lot(set)/(BS/minimum BS)。赫茲股票量化交易軟件
確定區(qū)塊大小。這個函數(shù)對于算法的穩(wěn)定運(yùn)行非常重要。有幾種可能的選擇:
在價格格式的設(shè)置中指定的固定塊大小,例如0.02;
自動塊大小,即把它關(guān)聯(lián)到當(dāng)前工作時間框架內(nèi)燭形的大小。燭形尺寸可從ATR指標(biāo)獲得。然后將當(dāng)前ATR值乘以系數(shù),得到塊大小。例如,我們想根據(jù) 5*ATR 大小的區(qū)塊來交易。因此,隨著波動性的增加,區(qū)塊大小將增長,系統(tǒng)將適應(yīng)不斷變化的市場參數(shù)。如果您想進(jìn)行實驗,可以從當(dāng)前工作時間段或更高時間段使用ATR。赫茲股票量化交易軟件
允許開立買入/賣出頭寸。讓我們添加一個函數(shù),允許分別打開買入和賣出頭寸。這將使買賣信號的單獨(dú)分析成為可能。
由此產(chǎn)生的機(jī)器人附在下面。這個機(jī)器人有更多的功能,但我們不會在本文中探討它。 赫茲股票量化交易軟件
測試交易算法
算法的操作將在我們分析的那些資產(chǎn)上進(jìn)行測試。之前,我們預(yù)測了算法應(yīng)該在哪些資產(chǎn)上盈利?,F(xiàn)在,讓我們檢查算法如何在這些資產(chǎn)上工作,以檢查假設(shè)的正確性。
讓我們用 EURUSD 進(jìn)行測試。這個交易品種有一個微弱的趨勢,也許,這可能不足以涵蓋傭金和價差。最后的算法操作如圖6a和6b所示。

編輯切換為居中
圖 6a.

編輯
圖 6b.
測試時間為2018年1月1日至2020年7月28日,在M1時間段內(nèi),使用真實點(diǎn)模式進(jìn)行。參數(shù)沒有得到優(yōu)化,因為我想說明的是,沒有必要為每個貨幣對優(yōu)化一個完全準(zhǔn)備好的算法。我們將改變塊大小,最小塊大小和手?jǐn)?shù),努力使利潤大大超過傭金。赫茲股票量化交易軟件

編輯切換為居中

編輯切換為居中
圖7.
對于EURUSD,正如預(yù)期的那樣,點(diǎn)差和價差拿走了我們本應(yīng)從資產(chǎn)趨勢中獲得的所有利潤。因此,預(yù)期收益為每筆交易-1.67美元。根據(jù)區(qū)塊大小,手?jǐn)?shù)動態(tài)變化,平均手?jǐn)?shù)為0.078。讓我們試著了解損失從何而來。機(jī)器人記錄有關(guān)點(diǎn)差的信息。開盤和收盤時的平均點(diǎn)差為0.00008。我們支付了 $159.76 的隔夜息, 開啟了 614 個倉位。所以,平均每個倉位的隔夜息是 159.76/614=$0.2602.赫茲股票量化交易軟件
如果平均點(diǎn)差是 0.00008 而平均手?jǐn)?shù)是 0.078, 1 EURUSD pip 手?jǐn)?shù)為 0.078 就等于 $0.078, 所以點(diǎn)差使我們花費(fèi)了 0.078*8=$0.624. 傭金的總計就等于 $0.624+$0.2602=$1.104。如果我們在每筆交易中都損失了傭金,那么預(yù)期的回報將是-1.104美元,但它是1.67美元,比原來多了0.566美元。在設(shè)置中,最小塊大小被設(shè)置為0.002,因此平均每手0.078可以賺15.6美元。如果余額圖是一個隨機(jī)游走,而區(qū)塊大小總是最小的,那么讓我們粗略估計余額的減少。算式是 15,6*(614^0.5)=386.55$. 現(xiàn)在,將每筆交易的平均傭金乘以交易數(shù)量。1.104*614+386.55=$1064.406.赫茲股票量化交易軟件
該值等于1064.406美元,這意味著如果頭寸在正確方向打開的概率為50%,并且每個打開的頭寸都支付傭金,余額圖的平均回撤。實際上,我們得到了1027.45美元的虧損,接近這個價值。我們可以得出這樣的結(jié)論,我們是虧損得,因為我們的算法的預(yù)期收益對于EURUSD是零。 赫茲股票量化交易軟件