止損與價(jià)格突破與厚尾的相互關(guān)聯(lián)及程序化交易為什麼能獲利[程序化老手]
今天來(lái)談?wù)劄槭颤N我會(huì)認(rèn)為程式交易為什麼能獲利,還有停損、價(jià)格突破與厚尾之間的關(guān)聯(lián)。其中有些是我自已的想法,有些是從網(wǎng)路上看到的一些想法,有些地方可能不會(huì)很嚴(yán)謹(jǐn),但大家可以參考看看。
首先,我認(rèn)為市場(chǎng)不是完全的隨機(jī)市場(chǎng),裡面隱藏某種程度的不隨機(jī)性,若是市場(chǎng)是一個(gè)完全隨機(jī)市場(chǎng),像一個(gè)公平的硬幣如此隨機(jī),再怎麼利害的程式交易,也不可能長(zhǎng)期在這個(gè)市場(chǎng)獲利。
但市場(chǎng)的不隨機(jī)性在那裡? 不同的市場(chǎng)有不同的不隨機(jī)性,所以也可能發(fā)展出不同的策略,但目前我觀察的所有市場(chǎng),都有一種共通的不隨機(jī)性---「厚尾」。 什麼是厚尾? 若是以當(dāng)天的漲跌幅來(lái)看,也就是"當(dāng)天的收盤價(jià) - 當(dāng)天的開(kāi)盤價(jià)",有正有負(fù),有高有低,若是以大數(shù)法則來(lái)看,漲跌幅愈大,機(jī)率愈低,若是一個(gè)隨機(jī)市場(chǎng),整體應(yīng)該會(huì)呈常態(tài)分佈。 但實(shí)際上,市場(chǎng)總會(huì)有大漲或是大跌的時(shí)候,雖然機(jī)率不會(huì)很高,但仍比常態(tài)分佈的理論統(tǒng)計(jì)值高,也就是在兩端尾部會(huì)比較厚,也就是所謂的厚尾現(xiàn)象。
以下圖為例,市場(chǎng)為 @ES.D (mini S&P 500) 的當(dāng)天的漲跌幅分佈圖,柱狀圖是實(shí)際分佈,分佈在正負(fù)40點(diǎn)之間,若是大于正負(fù)40點(diǎn),以正負(fù)40點(diǎn)計(jì),而紫色則根據(jù)分代的標(biāo)準(zhǔn)差,算出來(lái)的常態(tài)分佈。我們可以在兩端,看出市場(chǎng)分佈明顯比常態(tài)分佈高一些。 這個(gè)現(xiàn)象在個(gè)個(gè)不同市場(chǎng)都很容易看到,目前我看的黃金、臺(tái)期指等都有,而且在不同的 time frame 也是有,day, hour 和 minute 的不同 time frame,像YI (小黃金) 的day、hour、minute frame 都可以看到厚尾現(xiàn)像。
為什麼會(huì)有厚尾,你可以說(shuō)是因?yàn)槭袌?chǎng)經(jīng)常會(huì)有恐慌性的賣壓、盲目的追高,媒體的推波助瀾,或是在真實(shí)世界上,有太多的突發(fā)事件,或是說(shuō)這是因?yàn)楹谔禊Z、混噸、蝴蝶效應(yīng),都可以,只要知道厚尾現(xiàn)象在真實(shí)的交易市場(chǎng)是存在的。
--------------------------------------------------------------------------------
說(shuō)明完厚尾,我們來(lái)看停損,停損在程式交易中的威力,可以用「死多頭、死空頭」來(lái)說(shuō),「死多頭、死空頭」的原始概念來(lái)自這篇文章「死多頭死空頭都獲利」(http://cctrading.blogspot.com/2004/06/ds1.html),原文的故事說(shuō)的比我精彩,若是有興趣,可以看看原文。
有兩個(gè)人,一個(gè)是「死多頭」,另一個(gè)是「死空頭」。 所謂「死多頭」就是不管怎樣開(kāi)盤就作多,并設(shè)停損,例如 USD $200,若是沒(méi)有觸動(dòng)停損,則在當(dāng)日收盤時(shí)平倉(cāng)。 以 TradeStation 與 ES.D 為例,程式如下:
代碼: 選擇全部
if (date>date[1]) then Buy ("LE") next bar at market;
if (Time=1500) then Sell ("LX") next bar at market;
SetStopLoss(200);
以過(guò)去 5 年ES.D, time frame = 15 min 為測(cè)試數(shù)據(jù),獲利 $4,625
所謂「死空頭」就是不管怎樣開(kāi)盤就作空,也是設(shè)停損,USD $200,若是沒(méi)有觸動(dòng)停損,則在當(dāng)日收盤時(shí)平倉(cāng)。 程式如下:
代碼: 選擇全部
if (date>date[1]) then SellShort ("SE") next bar at market;
if (Time=1500) then BuyToCover ("SX") next bar at market;
SetStopLoss(200);
以過(guò)去 5 年ES.D, time frame = 15 min 為測(cè)試數(shù)據(jù),獲利 $26,525。
這裡要注意的是,這裡的獲利是沒(méi)有計(jì)算手續(xù)費(fèi)、滑價(jià),主要是集中在市場(chǎng)特性與策略理論的探討,因此在真實(shí)交易中,這些策略需要用更嚴(yán)苛的條件作測(cè)試依據(jù)。
基本上,「死空頭」獲利比較多,但不管是多頭或是空頭,都是獲利的,基本上,這要?dú)w功于「停損」的威力。 但為什麼停損可以製造出更大的獲利空間呢? 我認(rèn)為是因?yàn)槭袌?chǎng)有某些程度的不隨機(jī)性。 若是一個(gè)完全隨機(jī)的市場(chǎng),如賭場(chǎng),你再用怎樣的停損策略,也很難在賭場(chǎng)創(chuàng)造獲利空間。
為什麼市場(chǎng)的不隨機(jī)性與停損可以創(chuàng)造獲利空間,我們先想像市場(chǎng)的漲跌幅分佈是左右對(duì)稱,但有厚尾現(xiàn)象,不管作多或是作空,都是一半猜對(duì)的機(jī)會(huì),假設(shè)是作多,市場(chǎng)也是多,則會(huì)賺錢,而市場(chǎng)是空時(shí),則是賠錢,而且若是在厚尾兩端,則是大賺大賠。
若是大數(shù)法則,最后應(yīng)該會(huì)不賺不賠(不考慮手續(xù)費(fèi)、滑價(jià)),但若是有停損下,大賺仍是不變,但避免了大賠的機(jī)會(huì),再?gòu)?qiáng)調(diào)一次,停損只會(huì)在不是完全隨機(jī)性的市場(chǎng)有用,若是完全隨機(jī)的市場(chǎng),什麼時(shí)候停損都是一樣的期望值。 舉例來(lái)說(shuō),若是你已經(jīng)賠了100元,若是完全隨機(jī)性的市場(chǎng),未來(lái)再賠100元 (全部賠200元),與未來(lái)賺回100元 (全部不賺不賠) 的機(jī)率是一樣的,因此不管你有沒(méi)有停損,最后獲利的期望值都是-100元。
但若是有厚尾現(xiàn)象的不完全隨機(jī)性的市場(chǎng),在已經(jīng)賠了100元的狀況下,未來(lái)賺回100元 (全部不賺不賠)的機(jī)率,可能會(huì)與未來(lái)再賠100元 (全部賠200元)與未來(lái)再大賠400元 (全部賠500元)的機(jī)率加總一樣。 若是停損,損失是100元,但若沒(méi)有停損,假設(shè) 0.5 機(jī)率賺回100元 ,0.45 機(jī)率再賠100元,0.05 機(jī)率是再大賠400元,如此全部的期望值是 -100 + 0.5 * (+100) + 0.45 * (-100) + 0.05 * (-400) = -115。 所以因?yàn)楹裎铂F(xiàn)象,在達(dá)到停損點(diǎn)時(shí),輸贏的期望值已經(jīng)不是對(duì)稱分佈了。
有些人作停損后,因?yàn)楸P面拉回,就后悔太早作停損,但其實(shí)在有些情況下,沒(méi)有作停損,會(huì)讓你陷入大賠的風(fēng)險(xiǎn)中。
簡(jiǎn)單的說(shuō),停損避免讓策略掉入賠錢的厚尾,保留賺錢的厚尾,因此可以創(chuàng)造出獲利的空間。
--------------------------------------------------------------------------------
再來(lái)說(shuō)「價(jià)格突破」與停損的關(guān)系。既然「死多頭」與「死空頭」都有可能賺錢,那可不可以一起作,在開(kāi)盤時(shí),同時(shí)作多與作空,并依開(kāi)盤價(jià)加減一個(gè)固定點(diǎn)數(shù)(如 4 點(diǎn),在 ES.D 每點(diǎn) $50,等于 $200),作為高點(diǎn)與低點(diǎn),當(dāng)價(jià)格漲過(guò)高點(diǎn),「死空頭」就平倉(cāng),當(dāng)價(jià)格低過(guò)低點(diǎn)「死多頭」就平倉(cāng),當(dāng)日收盤時(shí),若是手上還有倉(cāng)位,就平倉(cāng)。
這樣的「死多頭」與「死空頭」合作策略來(lái)看。 一開(kāi)始的倉(cāng)位是 0,也就是一開(kāi)始其實(shí)不用買賣。等到價(jià)格漲過(guò)高點(diǎn),因?yàn)椤杆揽疹^」已平倉(cāng),所以剩「死多頭」多頭的倉(cāng)位,因?yàn)橐婚_(kāi)始的倉(cāng)位是 0價(jià)格一漲過(guò)高點(diǎn),就要作多,買一口進(jìn)來(lái)。類似的,若是低過(guò)低點(diǎn),則是作空一口,當(dāng)日收盤時(shí),若是手上還有倉(cāng)位,就平倉(cāng)。
從這樣來(lái)看,「死多頭」與「死空頭」+停損的合作策略其實(shí)就是「價(jià)格突破」策略,開(kāi)盤價(jià)加減一個(gè)固定點(diǎn)數(shù),作為高點(diǎn)與低點(diǎn),當(dāng)價(jià)格漲過(guò)高點(diǎn),就作多,當(dāng)價(jià)格低過(guò)低點(diǎn),就作空。 以下是對(duì)應(yīng)的 TS 程式碼,基本上這個(gè)程式碼是可以反手的,等于為「死多頭」+「死空頭」的合作策略加上再進(jìn)場(chǎng)機(jī)制。
代碼: 選擇全部
var: OpenPrice(0);
if (date>date[1]) then begin
OpenPrice = Open;
end
else if (Time<1500) then begin
Buy ("LE") next bar at OpenPrice + 4 stop;
SellShort ("SE") next bar at OpenPrice - 4 stop;
end
else if (Time=1500) then begin
Sell ("LX") next bar at market;
BuyToCover ("SX") next bar at market;
end;
整體獲利是 $43,100,比「死多頭」+「死空頭」($4,625+$26,525 = $31,150),應(yīng)該是因?yàn)榭梢苑词值年P(guān)系,因?yàn)榭梢苑词郑?dāng)一邊避免賠錢的厚尾機(jī)率,另外一邊以反手增加賺錢的厚尾機(jī)率。
所以「價(jià)格突破」策略本身就有停損的機(jī)制,而「價(jià)格突破」比「死多頭」「死空頭」分別作、分別停損的策略好處如下:
1. 減少交易次數(shù):真實(shí)交易是需要手續(xù)費(fèi)的,若是我們同時(shí)有「死多頭」「死空頭」,則倉(cāng)位其實(shí)是0,我們并不需要買賣交易。
2. 增加獲利穩(wěn)建度:一般市場(chǎng)在某一段時(shí)間可能是偏多或是偏空,若是偏空,對(duì)「死多頭」則是比較不利,配合停損,可能只是降低損失,但可能無(wú)法獲利,但若是「價(jià)格突破」,則是兩個(gè)方向都考慮到,獲利當(dāng)然比較穩(wěn)建。
簡(jiǎn)單來(lái)說(shuō),「價(jià)格突破」策略,因?yàn)楹裎驳氖袌?chǎng)不隨機(jī)性,是一個(gè)具有停損,且有獲利潛力的策略。
--------------------------------------------------------------------------------
再來(lái)談?wù)劇附灰资ケ够蚴浅淌浇灰诪槭颤N能幫你賺錢,基本上,程式交易是希望能夠找到某些策略,依市場(chǎng)的不隨機(jī)性,找出最大的可能獲利性。 有些程式成功,有些程式失敗,有些程式很複雜,有些程式很簡(jiǎn)單,有些可以應(yīng)用在較多的市場(chǎng),有些只能應(yīng)用在某個(gè)特定市場(chǎng)。 無(wú)論如何,創(chuàng)造獲利空間 (trader edge)是我們追求的目標(biāo),其實(shí)trader edge不必要很高,但要很穩(wěn)建,就像賭場(chǎng)莊家一樣,每一次的 house edge 都不必很高,但經(jīng)過(guò)大數(shù)法則與資金的管理,讓賭場(chǎng)不止穩(wěn)賺不賠,而且是大賺其錢。 目前在市場(chǎng)的不隨機(jī)性,現(xiàn)象最一致的就是厚尾吧,而利用厚尾來(lái)創(chuàng)造獲利空間,我想「價(jià)格突破」只是其中的一種,但它也應(yīng)該是最簡(jiǎn)單一種,因?yàn)楹?jiǎn)單,正是大巧不工,可以適應(yīng)的市場(chǎng)與穩(wěn)建性也是相對(duì)的高。
若是能夠有一個(gè)穩(wěn)建的 trader edge,配合資金管理與市場(chǎng)風(fēng)險(xiǎn)分散,這樣就像賭場(chǎng)的莊家一樣,可以利用程式策略幫你穩(wěn)定的賺錢,若是能達(dá)到這個(gè)的管理與目標(biāo),應(yīng)該就是所謂的「交易圣杯」吧。
最后,在說(shuō)明一下,這裡的程式只是為了說(shuō)明停損、價(jià)格突破與厚尾的關(guān)系,說(shuō)明即使是一個(gè)簡(jiǎn)單的策略,只要能夠掌握到市場(chǎng)的不隨機(jī)性的優(yōu)勢(shì),就有可能獲利。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
- 上一篇:為什麼無(wú)法堅(jiān)守程式的買賣信號(hào)的討論?
- 下一篇:沒(méi)有了!
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容