竹本無情的投資筆記

2003年開始接觸股票投資,2009年底參與期貨交易,2010年實現(xiàn)了期貨程序化自動交易。2010年收益率85%,2011年收益率54.8%,2012年收益67%左右,期間最大回撤13.8%。

圖:不同時期,程序化策略的改變

做期貨,我一開始就選擇了自動化,因為主要是有實驗,覺得做期貨風(fēng)險很大,最后就選擇做自動化。從09年年底開始接觸,股指期貨一上市就開始做,一直做到現(xiàn)在,這是一個保存數(shù)據(jù)最長的一個賬戶的曲線。將近三年多的時間里,曲線是走出來了。我覺得我這條曲線走出來真的經(jīng)歷了很多,不像有些人,開始就有很多經(jīng)驗,我是一步步摸出來的。

第一個階段,一開始我是簡單學(xué)了五天的程序化交易,之后拿了一套很簡單的策略回去。我膽子比較大,股指期貨一上來我就開始做,那時的思路就是單策略、單品種、重倉交易。當(dāng)時我用一個非常簡單的突破策略,就這樣搞起來了,搞到這個階段的時候發(fā)現(xiàn)一周時間,資金回撤了13.8%,給我?guī)砹松钏?,就覺得好像不行。

第二階段,我就開始做一些變化,開始改變,多策略單品種,還采用了一個盈利加碼。因為當(dāng)初這里我只用了二十萬資金,進去試水,到了這個位置我又加了二十萬,到了這個位置資金開始有一百多萬在做。但是如果一百多萬還是按前面做,我回撤會非常大,我就想到用不同的策略來做。策略里面分第一次進場,第二次進場,但我的原則就是盈利加碼,然后順勢交易。但我最關(guān)注的就是盈利和回撤的關(guān)系,不是說我賺了多少錢,而是關(guān)注我最大回撤是多少。

第三個階段我又做了改變,就是多策略多品種和盈利加倉。還有一個就是策略分類互補,順勢交易。這個位置我就開始做商品,大概全市場挑了十個商品,就用一套簡單的策略。一套簡單的策略在一個商品上的曲線很難看,沒想到放到十個商品里面組合,發(fā)現(xiàn)組合曲線還過得去,就這樣上了。后來做一個策略分類互補,就是我把這個策略分成一個進攻型,中性和防守型。當(dāng)我進攻型進去之后,我可能防守型就沒在場,當(dāng)我三個在場的時候,一定出大行情,那我回撤就控制住了。

第四個階段,我又開始做一個調(diào)整,多策略多品種,盈利加碼改良,對市場的理解不一樣后,加倉的手法開始做一些改變,還有一個就是盈利減倉,加倉和減倉都加進去了,還有就是對市場沖擊的完善。以前我感覺沒碰到這個問題,后來發(fā)現(xiàn)資金稍微大一點,滑點也變得很大,歷史的曲線和我跑出來的完全不一樣,原因就是我們進去的時候干擾到市場了,這對我的感觸很大,所以我針對這個做了一個完善。

第五個階段,就是現(xiàn)在,今年我再做了一個完善,多策略多品種加減倉,這些都是引用前面的,我現(xiàn)在做的就是進出點的精細化控制。可能做程序化的感觸會比較大,就是面臨滑點始終是一個很頭痛的問題,我用了一個進出場點精細化控制之后,讓我的滑點大概減少了50%,就是因為考慮了這個東西。逆勢的策略,對沖交易,不再以順勢作為唯一的交易理念。前面這一段我都認為是順著大趨勢去交易,到這個位置為什么會是這樣,因為前面這一段太痛苦了,趨勢一出來它就開始反轉(zhuǎn)向下。我就考慮增加一些震蕩的策略,應(yīng)該說這個逆勢策略對我的整體表現(xiàn)功不可沒。這些曲線如果我沒有震蕩思路,這個曲線一定不是這樣的,應(yīng)該是往下的,在這邊盤整,不是創(chuàng)新高。這個給我?guī)淼挠^念就是不以順勢作為唯一的交易理念,我現(xiàn)在的交易理念是以某個品種的常規(guī)走勢,比如說這個走勢不再像以前那么單純了,不再傻乎乎的上漲或者下跌,那種可能順勢會比較容易做,但是現(xiàn)在經(jīng)常是上去震蕩一下又往下殺,那我就會采用一種抄底摸底的思路,結(jié)合趨勢來做。

總結(jié)了一下,我自己就像爬樓梯一樣,經(jīng)過了5個階段,還有一個我的交易信條,這是我一開始做這個數(shù)據(jù)的時候,把它寫下來的,五點:第一正期望交易系統(tǒng),第二交易規(guī)則精簡化,第三同策略組合交易,第四穩(wěn)健的資金管理,第四完全機械化執(zhí)行。

除此之外,他認為:

做期貨不是靠你有多努力(當(dāng)然努力很重要),而是要找對方法。

我商品主要有做10個品種,上海的有銅、橡膠、鋅、螺紋鋼,鄭州的有白糖、PTA,大連的是豆油、塑料、棕櫚油、焦炭。

我股指是做日內(nèi),因為股指是當(dāng)前市場上日內(nèi)波動性最大的一個品種。商品我是博取它在日間的波動。

我是加減倉的,一般情況下倉位只有10%,但我會根據(jù)行情而變動,如果行情對我有利,最大倉位會達到70%。

第一,利用頭寸來控制隔夜風(fēng)險。第二,利用品種來控制隔夜風(fēng)險。第三,是用策略的差異化來控制隔夜風(fēng)險。

見價成交最大的好處就是它能夠應(yīng)對突發(fā)的行情,而收盤價成交它有比較好的過濾,并且滑點偏小。

滑點是我們做交易中最大的敵人之一,如果說沒有滑點的話,我們隨便寫個模型,表現(xiàn)都會非常漂亮(這也是為何許多日內(nèi)模型測試的曲線非常漂亮,收益率很高,但實際中慘不忍睹,因為滑點,短線越短,滑點越重要)。

在策略上我認為控制回撤最好的一個手段就是在震蕩行情中少參與,在趨勢行情中開足倉

在這個金融市場上唯一的“免費午餐”就是多策略、多品種、多周期的組合。我認為多品種是最重要的,第二個是多策略,第三個是多周期。

去尋找一個歷史擬合的數(shù)值做調(diào)整,往往會給人帶來不歸路,很有可能你會不斷陷入一個優(yōu)化的漩渦里,發(fā)現(xiàn)歷史很漂亮,未來很可怕。

投資是這樣子的,我之前是做股票的,那做股票是就是很業(yè)余的在做,就是買進去不看了,買了一支中國平安,從116塊錢一直開始買,買到60幾塊錢還在買,均價在68塊錢,最后一路跟下來跟到19塊8,是這么一個情況。后來就接觸到了程序化,是在09年的時候接觸到程序化。

自從有了程序化,我的人生命運就改變了。接下來我們從09年講起,這是我在做的一個貼子,這個是第一個帳戶,入金了5萬塊錢,第一天就干到了35000,第一天的數(shù)據(jù)沒有,所以從35000開始做記錄,一天就虧掉了15000塊錢,為什么呢?就是因為文華的那個,用文華做的我開始滿倉,因為文華有一個指令叫測試,一測試任何一個模型進去,都是一條曲線,好直啊,覺得是找到了圣杯,就開始猛倉干,第一天就虧掉了,虧完了之后開始反省總結(jié)。最后去學(xué)習(xí)。之后就開始用手工來做,那個時候還不會用程序,總結(jié)下來做到最大虧損是22%,那我就覺得好像不行啊,我就總結(jié)了一下:虧錢我覺得主要的原因是什么呢?第一個是滿倉交易,倉位很重,那時候3萬多塊錢我做螺紋鋼基本上是滿倉,那個時候我在論壇上面寫的是說,大概還有兩個月時間我就寫目標(biāo)了,我說我的目標(biāo)是過年春節(jié)前收益30%。所以太盲目了,完了以后覺得自己是有一個圣杯放在手上,勝率都很高,反正就是都能賺錢,那其實現(xiàn)在反過來看,這是很錯誤的一個想法;第二個就是品種單一,那個時候是只做螺紋鋼的;第三個就是手工交易,因為那個時候程序自動化還真不會寫,那怎么辦呢?那就開始劃線,達到這個條件以后,我就開始買入,但是在極端的行情過程中,根本是來不及做開平倉的。你看到價格以后你再去掛單、填單、買入,真正掛進去的時候如果在極端的過程中,你是掛不進去的。掛進去價格已經(jīng)早遠離了,你再撤再掛那就離的很遠了。所以這個其實是很有錯誤的;還有第四個是沒有可靠的歷史數(shù)據(jù),只做手工統(tǒng)計,后期才知道誤差非常大,那個時候激情是蠻好的,用手工在做,厚厚的一個本子,基本上都統(tǒng)計完了。從上證300開始統(tǒng)計,之后再開始統(tǒng)計期貨,那個時候我印象很深的是什么?就是期貨還沒接觸就做股票,那股票就是有這樣的一個想法,上漲5%我就給它買進去,當(dāng)它采用的跟蹤止損,跌了5%我就把它賣掉,這個想法讓我走到了程序化這條路上來,那個時候就是我找我的外甥,我計算他記,從1992年開始算,一直算過來,感覺收益挺好,那后來才知道這里面還沒有加誤差,就是滑點沒加,手續(xù)費沒加,還有一個就是日內(nèi)波動這塊的高低點沒加,相當(dāng)于就是程序里面的未來函數(shù)。所以我總結(jié)的這四點對我第二個交易帳戶幫助蠻大的,脫離了之前的那種很盲目樂觀,滿倉心理的交易了。有這個經(jīng)歷我覺得蠻好,虧錢不是壞事,只要正確面對它能夠總結(jié)出經(jīng)驗來,那一定是好事。

這條曲線不是很漂亮,是從2010年5月份到現(xiàn)在的數(shù)據(jù)??梢钥吹竭@一段做的非常不好,但是我保持了一個真實性,今天在這里不是帶多少方法給各位,我覺得還有我的總結(jié)的一個失敗的經(jīng)驗??傮w來說還是有利潤的,我總結(jié)了一下賺錢的主要原因,第一個就是資金管理,我覺得如果說一個帳戶我們要想把帳戶做到贏利,我覺得資金管理是應(yīng)該排在第一位的;第二個就是順勢交易;第三個是多品種、多策略、多周期的一個組合;第四個就是執(zhí)行。從開始到這個過程中我認為賺錢的主要的因素。那什么是資金管理?就是在我的交易里面我只看兩點,第一個就是最大回撤,第二個是總贏利除以總虧損,作為兩個重要的考量指標(biāo)。最大回撤可以看到在這一段最大回撤是多少,就是從這個位置到這個位置,最大回撤是22%,剛剛達到在這個位置。第二個就是趨勢交易,那現(xiàn)在在做的話就是相當(dāng)于趨勢發(fā)生的必經(jīng)之路,我通常用的是周期突破,均線交叉,波動性特征這些作為一個程序的一個主要的思路。第三個的話是多品種、多策略、多周期的一個組合,那它主要的作用是能平滑資金曲線,提高資金的一個使用率。第四個就是百分之百的執(zhí)行,我認為只有堅定的執(zhí)行策略才能完美的運行。很多人就是在執(zhí)行的過程中容易出現(xiàn)一個問題就是今天不執(zhí)行了,明天不執(zhí)行,這種容易出現(xiàn)一個問題是什么呢?可能是說一虧錢你覺得就產(chǎn)生恐懼,你可能停一天,當(dāng)你停了一天以后,你覺得確定那一天確實讓你少虧了。但是經(jīng)常發(fā)生這種事情,容易出現(xiàn)一個什么情況?就是大行情也未必能抓得到。雖然事后你看到這個信號是發(fā)出來了,但是好像跟你真實帳戶是沒有關(guān)系的。

在我執(zhí)行的過程中,我從這邊到這里有一個例子,就相當(dāng)于在這個位置,前期大概我只有兩到三次是沒有100%執(zhí)行,后面都是100%執(zhí)行。就是盤中我從來不去干預(yù)它,為什么呢?因為印象很深的有一次在這個前面這個位置,那個時候股指還是蠻好做的。開進去以后,開始波動,波動很大,往上漲,那我是做多的,看到賺錢了,那個時候盯著盈虧數(shù)據(jù)心會跳的。往上上去以后,一會又下來了,打到哪里呢?打到我的成本價,迅速又往下,打到哪里了?打到虧的比較多。差一點點打到止損,那個時候我在想,還好,還好沒打到止損,上去了,上去以后賺了一點點,我成本價上賺了一點點。那時候我心里就很糾結(jié)了,我在想要不要平,如果下去了我現(xiàn)在平我就賺了。那個時候就一狠心就平掉了,平了以后后來的事情就發(fā)生了。發(fā)生了什么?就是價格波動了兩下,還好,下來了,后來“咻”一下子一個大漲,就相當(dāng)于造成了一個什么?看程序那天是賺了很多錢,其實那天我并沒賺錢。那次給我重大的反省就是我再也不能干這種蠢事了。那個時候我有個習(xí)慣就是每天都貼圖,貼在哪里呢?那我就在那個論壇帖子上發(fā)誓就是從今以后我再也不犯類似的蠢事,因為有了那個發(fā)誓,我接下來基本上沒有碰到過手工干預(yù),但是這是第一次教訓(xùn)。

第二次,也有個手工干預(yù),大概在這個位置,當(dāng)然那個手工干預(yù)原因我覺得很正常,就是我給自己定了一個目標(biāo),我說等我的帳戶有贏利了,這個大帳戶有贏利了400萬的時候,給我自己一個小獎勵。完了以后那天剛剛好,達到了400萬的贏利,那個時候我就想,要不要平呢?不平就沒了,那個獎勵沒了,后來就糾結(jié)了半天,我說好,那今天就平吧,我就找我那個助理說,平掉,一平少賺了幾十萬,又沒了,那次少賺幾十萬我覺得沒有什么糾結(jié)的,因為這個屬于一種比較平淡的一種過程,但如果說像前面這種的,我認為是很不正常的。

很看中贏虧的時候,程序賺了一點的時候就心里會跳的,虧了一點心里會跳,那么我覺得做程序化可能未必是好事,所以我們最終必須要做到一個是百分百執(zhí)行策略。只有你堅定執(zhí)行,那我們這樣的策略,你的歷史測試才算數(shù),就是說你的信號才能夠成為你真正的帳戶里面的錢。還有一個我覺得就是行情配合,我覺得從2010年5月份到現(xiàn)在的贏利,我認為不是說我的策略有多好,最關(guān)鍵的就是可能我的運氣比較好一點,選擇了做這個品種,換句話說,這個品種它還是有一定的行情。那么這種情況,我們只能說是有行情我們就賺錢,沒行情那我們就認虧唄,是這么一個理解。

我們在做程序化最大的一個敵人,我認為很多人都會知道就是“滑點”。“滑點”這一塊,那我在找什么,我在找如何改良“滑點”,那可能是說誰的速度快,誰就占優(yōu)勢。這是一個因素,那么就把我們的交易放到張江去,還有一個是什么呢?其實我總結(jié)了這么長時間,今年可以說沒有什么收獲,唯一的收獲就是“滑點”收獲?!盎c”現(xiàn)在我們的實盤是按什么來測試的,各位做股指的可能應(yīng)該都知道,通常如果說測試的話,大家認為多少比較合理?萬分之一手續(xù)費,可能有的人都擋不住,對不對,那我現(xiàn)在實盤的話是按照萬分之零點零五。而且其中一個帳戶每天都有正滑點,就相當(dāng)于萬分之零點五的手續(xù)費來測,我每天還比測試報告上的贏虧還要多賺一點。我覺得這個是今年最大的收獲,其他的沒啥收獲,當(dāng)然也有失敗的經(jīng)驗總結(jié)。所以市場沖擊成敗我覺得是有可能實現(xiàn)的。

這個階段是什么呢?回撤達到了15%,就是我的這個主要帳戶回撤達到15%,那我只能干嗎?只能將這個帳戶最高的倉位就是48手股指減到原來的20手,這個階段的20手,那沒辦法,因為在我的資金管理里面是如果資金回撤了15%,我一定要采取保守的方法來做。第二個我總結(jié)一個回撤的原因,那回撤的主要的一個原因就是增加了一個逆勢交易,而且倉位是逐步增加的。盈利的時候,加倉是沒錯,但是失效過快。趨勢策略它應(yīng)對這個行情的特性會比較的持久一點。而逆勢的策略的話它應(yīng)對的這種東西會比較容易失效,還有一個是在市時間會偏長,那么這種就是導(dǎo)致了一個最大的回撤。第三個,采用了一個大道至簡的策略,那主策略是什么呢?就是只有兩句話,我現(xiàn)在在做的只有兩句話來做主策略。

我很遵循一句話,叫做利潤是被動的,是靠行情給的,但虧損我們是可以主動的,我們可以控制的。所以在這里必須得做這個動作,減倉。第二個將原來十個商品減到六個,并且在200元的變動單位減至100元。這個是什么概念,大家可能不是很清楚,相當(dāng)于減了多少倉位呢?10個品種我現(xiàn)在只做6個,就減掉4個,還有把兩百塊錢的變動價位,因為我做倉位我不是按照說多少保證金,因為保證金是不算數(shù)的,我是按照變動價位,什么意思呢?比如說銅,它一跳是50塊錢,那200塊呢?那我們應(yīng)該配4手銅。如果說焦炭200塊,那我們這邊只配兩手焦炭,是按變動價位的,那如果說我們在加波動性特征的話,可能會更均勻一點,目的是讓這個比重,讓它們平均化,這樣有一個更好的對沖效果。

增加過濾機制,為什么增加過濾機制呢?因為目前的帳戶是虧損了22.5%,所以必須要減少在市的時間,這是我現(xiàn)在在采取的一個動作。資金回撤我的最大容忍范圍是30%,如果虧掉了30%我這個主帳戶必須停半年不交易,這是我的原則,

程序交易者的必備條件:我認為自己必須編寫程序。為什么這樣講呢?因為很多不會的人,經(jīng)常有QQ的網(wǎng)友我說,你會編程嗎?會程序化?你那套程序能不能賣給我?他希望什么?他希望一個程序為它賺錢。這種容易出現(xiàn)一個問題是什么?容易出現(xiàn)就是你根本不知道原理,你怎么可能讓它在你的賬戶上做呢?在我觀念里面,我虧錢也要虧的明明白白,在什么樣的情況下我虧錢,在什么樣的情況下我賺錢,那程序它只不過是什么,只是替我執(zhí)行我的思想而已。那為什么要自己精通呢?因為比如說你旁邊有一個朋友,他能精通,你把你的思路交給他來寫,那有的人覺得你自己是圣杯,我的邏輯那是不可泄密的,這是一個原因之一。第二個原因是什么?在你編寫的過程中,它沒有辦法百分百的去理解你的邏輯,理解你的程序,而且你的程序是有,我寫程序都是這樣的,A程序1.0,A程序2.0,A程序3.0,是分代數(shù)的,就相當(dāng)對那個金字塔軟件一樣的。那是有幾點零系統(tǒng)的,是什么版本什么版本,因為我們需要去在這個階段完善它去更新它,那我們得自己去根據(jù)行情變化,得自己去加以改良。所以這是我覺得做程序交易員的一個必須要做的事情。

那我寫程度是前期是怎么寫的,我是全都用復(fù)制,復(fù)制粘貼復(fù)制粘貼,你讓我現(xiàn)在把電腦關(guān)掉,在黑板上寫一行代碼,我真不會寫,可以說平常的語句我都不會寫。關(guān)鍵是什么,關(guān)鍵就是邏輯,邏輯通了,其實語句就是計算機代碼的函數(shù),很簡單的,我現(xiàn)在是覺得蠻簡單的,關(guān)鍵就是你通了就行。

還有編寫程序最重要的一個就是要有興趣。沒有興趣的話,你覺得面對那個枯燥的代碼是受不了的,你要感覺到跟它談戀愛,半夜三更還在想它,做夢的時候還能夠在想它,我覺得這個很重要,這個就像我在前期一樣的,經(jīng)常半夜三更陪我老婆睡覺的時候,我就爬起來,干嘛?電腦打開,寫程序。一個想法想到了,早上5點鐘衣服也不穿就跑到電腦面前去寫一下,一寫,這個方法,測試一下,不行,睡覺,就這樣的一個過程。

所以這個是必須要自己精通的,不然的話,讓別人永遠寫不出你自己想要的,或者說找不到你自己的靈魂。

編程的這幾個要領(lǐng),第一個我認為是邏輯性,就是你的邏輯性,這點很重要,就是我為什么要開,我在什么樣的情況下平,我是怎么做的,先要有你這個想法,才能產(chǎn)生所謂的信號,如果說你亂扭一通,你說就出現(xiàn)一個圣杯,那這個圣杯一定是中看不中用的,所以有的朋友給我打電話說,我現(xiàn)在研究有一個很好的策略,你要不要試一下,一年大概有80萬的贏利,要不要試一下?我說,算了,不試了。為什么?因為我不知道你的思路,我不知道我自己是怎么死的,或者是怎么活的,我虧錢我要虧的有原因,因為我知道原因了就懂得怎么去改良它,如果我不知道原因,那我只能愣虧。第二個,溝通語句是否對稱,之前我也參加過一些模型對換、模型交換,模型交換就是把別人的模型,比如說20個人,一人出一個模型,我也出一個模型,這20個模型就共享了,那這種情況,我其實就看到有一個曲線非常漂亮,有未來嗎?沒未來。信號散嗎?也不散。那為什么它那么漂亮呢?源碼打開一看,它是做空條件,很松,很容易達到;做多條件很緊,過濾很多,不容易達到。那有人問,為什么曲線好呢?是因為從2010年到2012年的時候它一路下跌,對不對?一路下跌所以它做空條件多的話,松的話它肯定曲線要少一點,那萬一2013年開始就走牛市呢?那肯定是虧的。所以我驗證模型一定是要用金字塔里的K線反轉(zhuǎn),轉(zhuǎn)一下,它就原來開多的條件,就變成開空的了,原來開空的條件變開多的了。我這樣對換一看,反轉(zhuǎn)了也有收益,正的也有收益,曲線相關(guān)不大,那代表它是多空對稱編寫的,它不是那種不對稱的,或者說是根據(jù)歷史的數(shù)據(jù)去研發(fā)的,那容易出現(xiàn)問題。

還有一個是參數(shù)的適應(yīng)性,參數(shù)適應(yīng)性我個人認為是盡量的少寫參數(shù),在我的程序里面我盡量是把參數(shù)鑲在里面,是什么意思呢?我不寫在那個參數(shù)表里面,為什么任何一個程序化里面的它都有一個參數(shù)表,這個參數(shù)表是干嘛的呢。它是做優(yōu)化用的,我最終定完型的模型我都不給它寫在參數(shù)表里面,因為我認為這個東西我盡量的讓它保持它的適應(yīng)性。

第四個我認為在寫程序的過程中一定是化繁為簡,就是盡量的簡化,能夠用一句話表達的,那我們就用一句話,能少用一個條件就少用一個條件。盡量的簡化,能夠用同一種指標(biāo)去做一些過濾或優(yōu)化那就用一種指標(biāo),不要用第二種指標(biāo)。因為你條件用的越多,那你的語句就越復(fù)雜,越復(fù)雜就代表未來行情的適應(yīng)性就會越差一點,相對來說會差一點。

第五個精細化控制,細節(jié)化、精細化,那前面講的就是化繁為簡,要簡單應(yīng)用要精細,這是不是有矛盾呢?在我的理解里就是沒有矛盾的。就是你的邏輯是簡單的,是精簡的,但是你控制的語句一定是精細的,在什么點位進去,或者要怎么進去,或者考慮到當(dāng)前市場的一個反映狀態(tài)。這些我覺得就很重要,我之所以能做到剛才說的萬分之零點五的滑點,還有就是其中有一個帳戶還是算下來它基本上不用手續(xù)費,可以賺手續(xù)費,那之所以原因就在這里,精細化控制,要考慮當(dāng)前的市場。

我們先看一下程序化優(yōu)勢:

第一:它的客觀優(yōu)勢,它跟手工不一樣,就相對來說,它比較客觀,它能夠在執(zhí)行的過程中可以避開人性的貪婪和恐懼,我覺得這兩點真的是做手工的也好,程序的也好,都很重要。不能說虧錢就怕,賺錢就喜或者賺錢覺得這個期貨市場真好,這輩子我一定要賺多少多少錢,虧錢的時候不敢做,停掉,容易出現(xiàn)這種情況。

第二個就是交易速度的優(yōu)勢,什么叫做交易速度的優(yōu)勢?我們從信號到成交回報,都是在一百毫秒以內(nèi)完成的,也就是說我要到一千點買進去,價格真的到一千點了,這個時候人的肉眼是看到一千點,手去找鼠標(biāo)去找賬號去掛單在這個執(zhí)行過程中,最快的也要以秒計算,在程序里面它就“咯噠”成交搞定。

第三個就是交易組合的優(yōu)勢,交易組合的優(yōu)勢是什么呢?就是策略可以針對不同品種、不同周期、不同市場同時運行,也就是說我一個策略可以在全市場運行?;蛘哒f不僅在期貨市場運行,我可以在股票市場運行,人工就容易出現(xiàn)一個問題,你最多只能做兩個品種,三個品種,五個品種,如果你做日內(nèi)高頻,你只能做一個品種,而且做完以后是兩眼花花。如果程序就不是了,它可以同時操作N個品種,進行毫秒級的運算、監(jiān)控、成交。這個就是我認為程序化交易的好處。那為什么要組合呢?因為組合是我們現(xiàn)在程序化里面公認的就是做到最后必須要組合,到后面就是多品種、多周期、多策略進行組合。為什么這樣子?因為我們最終得出到一個是什么呢?投資組合的一個最大優(yōu)勢是贏利是相加的,虧損是相互抵消的。就相當(dāng)于比如我做一百個的組合,我每個組合賺一塊錢,那我肯定是賺100塊,但是如果我100個組合每個組合虧1塊錢,那我絕對不是最大回撤絕對不是100塊。我可能就60塊,為什么,因為A賺錢的過程中,B可能在虧錢,所以它會相互抵消,那你的回撤就會控制下來,這就是我們組合就是現(xiàn)在公認的一個邏輯,所以我們一直在用組合。

第四個就是交易連續(xù)性的優(yōu)勢,如果說用程序來做,那它始終就這樣監(jiān)控著,不管是一分鐘也好,還是要日線級別也好,一天交易十次也好,還是一年交易十次也好,它都是始終能完美的運行,可持續(xù)的關(guān)注,這我認為這人工跟這個就是不一樣的。當(dāng)然人工也有人工的優(yōu)勢。

第五個是交易策略的回測性,可分析策略在歷史行情中的表現(xiàn),這我認為做程序的一個重要的一大原因。人工在做的就是我感覺這思路好,那我就開始用實盤,因為你不知道這個東西到底好不好?但是做程序它是這樣的,我感覺這個東西好,我先能寫出來,寫出來以后,我再用歷史的N年的數(shù)據(jù)來測試一下。在測試的過程中,它確實是賺錢的,那我覺得就推算未來賺錢的可能性就會比較高一點,如果說你這個策略感覺比較好,寫出來曲線是曲直向下的,那代表什么?代表就是你賺錢的可能性也會比較低。所以我覺得測試報告也比較重要,我在編寫實盤的一個策略步驟過程中:第一個是想問題,先想,先問自己,我想捕捉市場哪些行情特征?就是我想做什么,我要什么?這是我第一個要問自己的問題,那也就是說我到底是要哪一段行情的,是震蕩的,還是趨勢的?如果是趨勢的我想吃哪一段?是起點的位置,還是中間部分?那任何一個方法都是雙刃劍,有利必有敝,也就是說如果我從起點開始,做進去。我要吃,從起點開始吃一直吃到底的這種行情,那勢必你試錯的成本就要高很多,如果你只吃中間部分,那你的過濾這塊要注意了。所以就是要問自己想捕捉什么行情。第二個我的開平倉條件是什么?我要吃這些行情那我要利用什么樣的一個計算機語言來做呢?如果我用MACD可不可以,我用均線可不可以,我用波動率可不可以,我用突破可不可以,都可以,那它也沒有說絕對MACD好,均線好,沒有,它也是雙刃劍,有利必有敝。第三個,就是策略的原碼編寫,我們在執(zhí)行過程中,我們在編寫的過程中的步驟,第一步干嘛,第二步干嘛,第三步干嘛,都給它一一的規(guī)劃。

第四,假設(shè)這一步,我們實現(xiàn)了,那接下來是什么呢?一定要做件事情,就是核對信號與思路是否一致,什么意思?我現(xiàn)在信號出來了,跟我這個思路是不是一致的?還有一個叫無未來,什么叫無未來,就是說沒有欺騙自己的東西。如果說用一個未來函數(shù)那你的曲線會非常的漂亮,但那種是中看不中用的。

第六步,第六個就是增加過濾條件或優(yōu)化策略

第七,就是實盤模板的導(dǎo)入和或者是模擬測試或者是少量的實盤。我直接上實盤。那上實盤的過程中我們就很少,先一手,做做做做,兩手,再做做做,三手、五手這樣子,是這樣一個過程。

那我們看,在編寫過程中,大家可以看到這個像什么?MACD是不是,有點像MACD那我們就認為是MACD。那么我在下面這里畫了一條線,這條線比較粗,是綠色的,在上面畫的一條紅線,這條線,是紅線和綠線,這樣看的話,你是根本不知道它是怎么組成的,或者怎么寫出來的,那我們來看一下源碼,源碼很簡單,第一行數(shù)字就是設(shè)定了一個參數(shù),在編寫的過程中,一定是要有參數(shù)的,其實這個程序只有一行代碼,就是這條多分線,我把它定義成多分線,它的運算方式是什么呢?運算方式是50減100乘以前期最高,這個是什么前期最高?是35天的前期最高,再減去它當(dāng)前的一個收盤價,除以最高價前35天的最高減去前35天的最低,那它就會得出一條多空線,這條多空線我用柱狀圖把它畫出來,那它出來就是這個。就是這個很像MACD,那這個思路是怎么走來的?

就是我在想MACD,如果用MACD容易出現(xiàn)一個問題,我們都知道MACD是由均線組成的,那么均線的話容易出現(xiàn)一個問題,MACD經(jīng)常出現(xiàn)背離,像這種行情,上漲的行情中,它反而是跌的,原因在于它這一段短期均線上穿長期均線,所以它就會反而是這樣走的。那我認為這就容易出現(xiàn)一個捕捉不到該有的行情,那我們就給它用了一個用價格來畫一條類似MACD。這是我們的第一個步驟。

接下來我們在這做了一個極值,極值就是上面這條線和下面這條線,做多線和做空線永遠就是45,因為它的這條多空線,它永遠是在最高值是在50,最低值是就是負50。那我做多線就是45,做空線就是負45,我們先不評論這個指標(biāo)好壞,我們再繼續(xù)。接下來我們開始構(gòu)建開平倉,構(gòu)建開平倉很簡單,當(dāng)我們的收盤價收完以后,這個做多線在45以上,我們就開多,在負45以下,就平多,翻空,就這么簡單。那我們看一下,現(xiàn)在信號出來了。

接下來在我們再做一件事情就是檢查,就核對信號是不是我想象的,做多的那我們來看一下,這個剛好,可以看到這個是做空線,就是開空,是不是,這最下面的多空線是48,負48那就是小于負45了,那我就應(yīng)該開空,之后這邊的話大于45,那我們就開多,如果真的是在寫模型過程中我們是要從有效數(shù)據(jù)中開始一個一個的去檢查。我通常是寫完以后就開始,這樣子開始推,一直推,推到哪里?這里,好像有一個小于極值的,那這里有沒有出一個信號,沒有的話,那就有問題了。那接下來我們再看一下,這里面實現(xiàn)的源碼的全過程。

首先我們還是一樣的設(shè)定參數(shù),為什么要設(shè)定參數(shù),是因為我們在編寫的過程中最終還要有一個優(yōu)化的過程,就是還要讓計算機把所有的參數(shù)去跑一遍,看看出現(xiàn)什么情況,那我寫程序的過程中,通常我會先在前面加中文,這個就是注釋,參數(shù)模塊,這個板塊。接下來看一下中間的變量,中間的變量其實就是一條語句,就是多空線,還有45的話就是一個極值,就這條多空線最重要,就這一條,完了以后我們遵循的就是計算機運算方式就是先平倉后開倉的原則。

測試報告:第一個我要它從我有效交易日以來,我總共交易了多少次,我要知道這個交易次數(shù),第二個我要知道上一次的開倉價格或者平倉價格;第三個,我要知道我從歷史以來我的最大回撤是多少。第四個,我要知道總盈利除以總虧損是多少,還有我要知道它的平均單筆利潤是多少,因為我除以它總交易數(shù),而且是減掉100萬,那么當(dāng)天贏虧也要寫進去,凈利也要寫進去,這個就是測試報告。接下來我們在這里可以看一下,我們的測試,因為是收盤價模式,我們用萬分之一的測試法,如果說按我現(xiàn)在用的模板它是用萬分之零點零五的來測的,那我們用萬分之一來測。。

應(yīng)用上去以后它的曲線就出來了,這曲線一般,紅色這條就是資金曲線,還有紅色這條很細的就是我們的最大回撤,信號出來以后大家可以看到,總的從這個位置到這個位置我們的交易次數(shù)是535次。最近一次的信號價是2404點,最大回撤是16萬9,贏虧比只有1.17,平均利潤只有1000塊錢,當(dāng)天贏虧上周五賺了一千塊錢,不算好,需要下一步的修正。

接下來,我們就開始增加過濾條件,如果這種正反手模型寫進去,肯定容易出現(xiàn)一個問題是什么?因為你是永遠在實施策略,出現(xiàn)這種的問題必不可免,就是這種曲線一直虧一直虧的這種。為什么,因為任何策略都有不適應(yīng)的時候,在你不適應(yīng)的時候你虧的是非??斓?,那我們?yōu)榱私鉀Q這個問題就要讓它增加過濾條件,也就是我不要讓它永遠在試,我要讓它有休息的時間。原則還是這樣子的,那我們怎么做呢?假設(shè)我們增加的過濾條件是什么?這里寫了一個參數(shù),叫做過濾參數(shù),上面的還是沒有變,我做了一個在10個周期里面,多空線小于做空線,是有兩次應(yīng)該做出過濾參數(shù)是兩次,那么我就開始平,否則我不平,就是這么一個簡單的過濾機制。當(dāng)然我們在實盤中可能會增加更多,那下面的測試報告還是會繼續(xù)保留。

第四步我們進行應(yīng)用??梢钥吹?,又出來了不一樣的曲線,因為被過濾過了,那還是一樣的,出現(xiàn)的問題是有峰谷而且會疾速下跌。這個疾速下跌是什么?我們再看看,從這個位置做進去,一直到這里才平,有人說這里理論來說還多了。原因就是被我過濾掉了,這里沒有開多,因為它的10個周期里面只發(fā)生一次,那在這里它為什么開呢?因為在10個周期里發(fā)生了第二次,所以才開。

在接下來,這樣曲線好像還不行,回撤過大,由原來的16萬變成26萬,接下來我們在增加一個止損,就是在原來的這個邏輯里面我們給它增加止損。這個止損是一個跟蹤止損,我們跟蹤止損是用百分比來算的,用一個非常簡單的一個數(shù)字就是1%,跟蹤止損的一個1%。那我們進入第四步,加了一個1%的跟蹤止損,出現(xiàn)的數(shù)字是總交易數(shù)是497次,信號價這個不重要,最大回撤6萬1,贏虧比由原來的1.1增加到1.5,平均利潤1800,而且可以看到,這個贏虧比發(fā)生了很大的變化,還有次數(shù)也發(fā)生了減少,大家可以看到第三步的時候我們就是一個裸的思路,很裸的一個思路,非多即空,第四步增加了這個條件以后,從500多次的交易次數(shù),減少到300多。那就相當(dāng)于交易量在減少,但是它的贏虧比很少,單筆利潤提高了一點點。

那我們再看,如果說增加了呢?這贏虧比,因為我們說贏虧比是最重要的,還有一個最大回撤,由剛才的最大一個虧損,最大回撤是26萬,現(xiàn)在減到6萬,贏虧比由之前的1.1增加到1.5,平均利潤由1000增加到1800,交易次數(shù)反而比剛才過濾的更多了,原因是什么?原因是我們平倉更松了,平倉的多了,所以開倉也容易多,但是它在場的時間是減少了。

大家認為這樣的曲線怎么樣?不錯是吧,就一句話,那有人說一句話真的能寫出模型嗎?實踐起來畫了75行,這75行都是廢話或者都是執(zhí)行或者都是你要實踐這句話的過程用了75行。而且大家可以看到,我們這個是沒有未來函數(shù)的,不可能有未來函數(shù)的,我可以直接實盤的,為什么這樣子呢?你看到這一點,我就把它改掉了,用O價,有人會說O價不是未來函數(shù)嗎?大家看到前面有個ref,它不可能會少,就相當(dāng)于前一根周期實現(xiàn)了我在下一根K線的開盤價格,我為什么要這樣做?因為我有一個跟蹤止損,我的跟蹤止損一定是動態(tài)的,每一秒鐘掃描一次,不是走完K線,因為走完K線容易出現(xiàn)一個問題,就是被秒,光大事件那種,如果一分鐘它可以漲50個點,里面有幾十手的話,那就完蛋了。那我們就必須采用指令價模式,用指令價我們下面也必須用指令價,那我們就得用O價,那下面就是測試報告,認為這種不錯啊,那這種失效概率有多少?不知道,是吧?但是你讓它長期做,會大虧嗎?我認為也不怎么會大虧。

接下來我們再看測試反轉(zhuǎn)一下,K線反轉(zhuǎn)。這條線,紅色線,它是向上的,再接下來,我們再來一次多周期的進行,

主觀交易就像中醫(yī),需要很多年的經(jīng)驗,需要交很多學(xué)費摸索,最后找到一個非常好的模式。量化非常像西醫(yī),可能很多新手,比如我們做期貨是非常新的,去年剛開始做,但利用過去的很多經(jīng)驗,做研究,可以說沒有賠錢,馬上找到一條非常穩(wěn)定的盈利措施。它的好處就非?,F(xiàn)成,有很多指標(biāo),通過這些指標(biāo),機器學(xué)習(xí)人工智能,經(jīng)過大量計算機的計算以后,迅速找到盈利模式,可能不用付什么學(xué)費我們就可以獲得一個很好的回報。但是這兩種投資方式不能說誰優(yōu)誰劣,完全是符合不同人的背景,不同人的操作方法。

我在做程序化的時候發(fā)現(xiàn),很多程序的回撤如果都加全杠桿的話肯定是很大的。在這個過程當(dāng)中,我覺得自己做的都很平穩(wěn),我這個做下來,按總資金回撤,從來沒有超過20%,15%都沒有超過,就是這樣子很平穩(wěn)。因為我覺得我能駕馭得住,就是我們控制得住它,剛才空余時間我也總結(jié)了幾點,第一點剛才講過,自身比較堅決,然后把利潤放大,也就是說在提高勝率的同時,把你的盈虧比放大。我在帶隊人這個過程當(dāng)中,經(jīng)常有學(xué)生對我說,不是他們沒賺錢,或者怎么樣,而是他們沒有在趨勢出來之后,確定性比較大的時候放重倉位,我覺得在這個時候放重倉位,勝率又高,這個時候按百分比來說,可以達到百分之六七十的勝率,再加上你盈虧比如果能達到1比5、1比6以上的話,這時候風(fēng)險都比較小。這時當(dāng)然應(yīng)該重倉,賺一大截的錢,而不應(yīng)該在可能會漲可能會跌模棱兩可的時候瞎交易,我覺得這個是一點。

另外我自己總結(jié)出來,其實在一些資金的管理上,我覺得自己無非就是在盈利的時候加倉,虧損的時候減倉,這其實也很符合我們的心態(tài),做亂的時候不容易掰回來,會越做越亂,但是做順起來的時候,你反正是用盈利的錢賺更大的錢,這個我覺得應(yīng)該是更好一些。其實大家都聽過一句話,會買的是徒弟,會賣的是師傅,會空倉的是祖師爺,這才是最重要的。在主觀交易上來說,很多情況下是看不了的。其實一路走來,經(jīng)常會碰到各種各樣的問題,心態(tài)的問題,技術(shù)的問題,資金容量的問題。

我覺得做到最后,我覺得我們大家討論來討論去,沒有說哪個技術(shù)一出來,放眼四海皆準(zhǔn),都是特別對的,我覺得沒有存在這種技術(shù)。最重要的,打比方mcd最常用的指標(biāo)來說,什么時候是背離成立,什么時候是背離失效,那最重要的就是盤感。打進去對的,主力的對決,確實向那個方向發(fā)展,你覺得有那種盤感加進去的時候,成功率就會變大,失效就更少。任何一套指標(biāo),測算下來,它的成功失敗,沒有說哪一個指標(biāo)一定占百分之七八十,百分之五十幾的指標(biāo)都很少,關(guān)鍵是要加?xùn)|西進去,那你就能使他的成功率更高。

在這個過程當(dāng)中,正如我所說,不斷的碰到各種問題,以前我看過一部電影《神辮》我小時候看的,但印象很深。說是他祖上是練鐵頭功的,到清朝的時候必須留辮子,沒辦法,他祖上鐵頭功很厲害,到他這一代就會了辮子功,很厲害,怎么樣使都行,算是一絕,后來參加了太平天國,在戰(zhàn)火中,辮子被燒沒了,他蘇醒的時候,辮子都沒有了,他痛不欲生。但是幾年后,我們看到了一個神槍手。在這個市場當(dāng)中,市場是不斷在變的,要做的就是隨著市場不斷地改變我們自己,最重要在這個改變當(dāng)中,它不是說今天市場是這樣的風(fēng)格,明天又是另外一個樣子,后天又換一個樣子,它是有一個過程的,這個過程最重要的就是找到我們的平衡點,也就是我剛才所說的,既想要高收益,又想要低回撤,兩個沖突點當(dāng)中找一個平衡點。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最強大的文案策略,內(nèi)部資料,嚴(yán)禁外傳! 你的廣告是在為讀者們創(chuàng)造機會,使他們得以從平時枯燥的生活中抽離出一會兒,可...
    碼農(nóng)不器閱讀 7,864評論 1 34
  • 電影中的經(jīng)典臺詞 總有一天你會發(fā)現(xiàn):土地是世上唯一值得你為它奉獻、值得為它奮斗、犧牲的事物,因為它是唯一永存的東西...
    大兵日記閱讀 439評論 0 0
  • 例子:主機A的用戶A 給 主機B的用戶B 發(fā)送郵件 1、7層通信 (物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表...
    Missmiss懵閱讀 1,164評論 0 0
  • 在臨睡前,放上一池精油香氛泡浴,全身心的放松自己!此刻,很想對自己說些什么…… 學(xué)習(xí)、踐行成了你生活的一部分!而心...
    Linda江南閱讀 485評論 0 3
  • 這個月是第三期愛蜜基礎(chǔ)課程,但是比較忙,沒多少時間用于畫畫。只完成了兩個作業(yè)很慚愧鳳尾花到現(xiàn)在都還沒有完...
    明日之月閱讀 304評論 0 2

友情鏈接更多精彩內(nèi)容