: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

平淡策略,堅持十年,也能大賺!(這才是程序化的魅力)

平淡策略,堅持十年,也能大賺!(這才是程序化的魅力)

11月27日,在【TB十周年巡迴公益分享會】首場-程序化VS主觀交易思路分享會上,交易開拓者公司的陳四建做了題為【程序化交易系統設計與實戰心得】的主題演講。以下是七禾網對陳四建演講的整理。



2006年起記錄的個人實盤單賬戶盈虧曲線圖

精彩觀點:

程序化交易其實只是一個工具,並不是很神奇的印鈔機。

模型沒有你想像中的那麼重要,倉位管理更重要。

有了程序化交易,有了幾個模型就可以天天數錢了,這完全是一種錯覺,絕對是錯誤的。

程序化交易已經佔到整個市場交易量的50%以上。

零軸之上的時候,金叉我就做多,死叉我就平多;零軸之下的時候死叉我就做空,金叉我就平空。

測試的時候我用的是固定資金測試,也就是說每一次開倉點都是等同對待的,任意一個品種、任意一個時間點都是等同對待的,我不是用固定手數來測試,也不是用固定資金比例來測試,我用的是固定資金來測試,這一點大家要注意。

RSI的數值超過一定值我就做多,低於一定值我就做空,回到50我就把原有的倉位平掉。

對於一個趨勢跟蹤系統來說,勝率50%已經非常高了。

隔夜倉位不超過兩到三倍槓桿,為什麼我們用槓桿不用風險度?因為用風險度沒有意義。

市場的隨機性真的是很強,沒有辦法預測明天的漲跌。

我們目前在做的大概是30個品種,3個股指仍然都在做,多周期我們比較小的一分鐘開始做,一分鐘、三分鐘、五分鐘、十五分鐘,更大一點的半小時、一小時都在做,最長的是一小時,沒有做更大的周期。

我們的策略勝率大概40%多,日勝率我們都沒有到50%。

有人也經常會問我你們虧錢的時候怎麼辦?我說虧錢的時候也沒有太多好的辦法,說實話沒有那麼多秘訣。

任何的交易策略,早晚有失效的那一天,任何的交易方法,也都有失效的那一天。

如果確信你自己的能力比你的策略更好,你當然可以去干預,但是一般人是沒有這個能力的,所以說對一般人來說沒必要去手工干預。

我們全自動交易中必須要有人來監控這些服務器。

一個策略如果一測試效果非常棒,我不會認為我找到聖杯了,我首先要考慮的是,我是不是寫得有問題,是不是哪些條件我設錯了,因為天上掉的往往不是餡餅,而是鐵餅。

演講全文

陳四建:大家好,我是開拓者公司的陳四建,今天跟大家交流的內容是程序化交易系統設計與實戰心得。我主要介紹的內容有四部分:第一部分是模型的研究;第二部分是倉位的管理,當你自己親手寫程序化交易模型,比如寫成百上千個以後,你就會意識到,模型沒有你想像中的那麼重要,倉位管理更重要;第三部分是組合投資,當你倉位管理研究到一定程度,你就會發現你不得不做組合投資,也就是組合交易;第四部分是實盤交易中的一些注意事項。



在這裏先給大家看一幅圖,這是理髮館前面的那條帶子。你只看上面那幅圖,你感覺它是向下滑動的,如果你通過一個小孔看,你感覺它是向右下角滑動的,說明什麼呢——管中難窺全豹。我所講的內容也僅僅是我個人對市場和交易的一些理解,也不一定正確,也許你的想法比我的更高超、更高妙。

我們先講第一部分,模型的研究。首先大家要知道什麼叫程序化交易,程序化交易說白了就是首先腦子裏有一些交易的想法,你認為按照這種想法能賺錢,那你把這種想法寫成代碼,讓計算機自動地買與賣,同時可以多個賬戶交易,這就是程序化交易。程序化交易其實只是一個工具,並不是很神奇的印鈔機。有了程序化交易,有了幾個模型就可以天天數錢了,這完全是一種錯覺,絕對是錯誤的。如果有人跟你這樣講,那麼這個人肯定是一個騙子,他想騙你去參加他的培訓班,他想騙你買他的軟件,諸如此類。總之,天下沒有這種好事,賺錢永遠都是一個比較難的事情,即便我現在親手寫了這麼多模型,還有很多模型在我們的10個億資金上實盤在交易,但是我還經常去上沈總的七禾網,因為它裏面有一些高手訪談錄,裏面訪問過陳劍靈陳總,也訪問過我,也有其他人的一些心得,你看一百篇裏面能找到幾條有用的,就很有價值了,並不是說每一個都對你有價值,那也不可能,因為每個人的操盤手法不一樣,有一個對你有啟發,那就足夠了。所以我經常上七禾網瞅一瞅,主要看裏面的排行,看看那些高手做的業績怎麼樣,以及看看那個高手訪談錄,我覺得那個欄目真的是很好,我已經看了好幾年了。

做程序化交易要了解一下國內外的情況,國外金融市場發展得比較早也比較成熟,那麼它現在的樣子有可能就是我們將來的樣子。



2006年國外不論股票還是期貨,絕大部分的交易量已經是全自動程序化做出來的了,已經不是人工在做的了,國內始終沒有一個大家公認的數據,但是去年剛好趕上股災,然後中金所成了一個背黑鍋的,它在官方微博上發了一個微博說程序化交易已經佔到整個市場交易量的50%以上,這應該是一個比較權威的信息。不論你現在是做主觀交易還是程序化交易,至少要知道,你的競爭對手所做的量有50%以上。那我平時是怎麼樣研究一個模型的?其實真的很簡單,比如說MACD這個交易系統。



總之一句話:零軸之上的時候,金叉我就做多,死叉我就平多;零軸之下的時候死叉我就做空,金叉我就平空。但是大家注意一點,我測試的時候有兩個條件,第一點我喜歡用默認的參數——12、26、9,另外一點我選了8個品種,這8個品種不是我現在選的,不是因為這幾個品種行情好,我今天把它們選出來的,這是當時我在做這個PPT的時候,在2013年年中的時候就選出來了,待會我會告訴大家怎麼樣選擇、為什麼選擇這幾個品種。選了8個品種,選了半小時、一小時、日線三個時間周期同時應用這套方法,另外測試的時候我用的是固定資金測試,也就是說每一次開倉點都是等同對待的,任意一個品種、任意一個時間點都是等同對待的,我不是用固定手數來測試,也不是用固定資金比例來測試,我用的是固定資金來測試,這一點大家要注意。另外一點,手續費設的是萬分之5雙邊。我們看一下它大概的測試結果。



這個截圖是截止到11月21號的,整體來看還是向上的,在雙十一晚上的時候有一個回撤。使用一套默認參數,通過2013年選出來的品種,做出來的結果大概是這樣的,我相信比絕大部分的投資者的實盤業績是要好的。心理學上講人人都是自大狂,我們覺得自己很聰明,自己的辦法很好,但是如果你嚴格使用一套並不複雜的方法,也有可能比你做的事情更好。我們再看一個更簡單的系統——雙均線交易系統。



這個系統就不用多講了,我使用的默認參數是20、60,一個短期均線、一個長期均線,還是同樣的測試方法,結果也不錯,大家看這個結果。



還有很多這種類似的系統、這種指標,我再講一個——RSI,大家對RSI比較熟悉,應該有很多人用RSI試圖在股票上抄底和摸頂,RSI到了70、80了已經超買了,就考慮賣掉,跌到20、30了,就考慮衝進去抄底,很多人都是這樣做的。但是我不是這樣做的,我是順勢做的,大家對這個指標熟悉,還是因為埃爾德寫了很多指標,同時寫了很多經典的技術分析的書籍,比如說《走進我的交易室》,很多人看過這些書,所以對這些指標會比較熟悉。我用的是順勢的做法。



大概來說就是RSI的數值超過一定值我就做多,低於一定值我就做空,回到50我就把原有的倉位平掉。國內RSI經常會弄上兩三條線,看它的交叉去做交易,而不看它的數值。但是我是按照順勢來做的,國外軟件默認數值一般用14,我也用14,我們看一下測試結果。



測試結果也還可以,今年還是創了新高,也是正期望的,我們再看一下最典型的逆勢做法。



比如說到了70我就去做空,到了30我就去抄底做多,會怎麼樣呢?中間也沒有加任何止損,只是用了最樸素的方法,我們看一下。



是一路向下的,我只想說明一個事實:你覺得你有一個想法,這個想法很好很棒,甚至你拿它交易了幾個月,賺到了錢,但它仍然不一定是一個好的方法。就是說如果你有了思路,你就把它寫成一段代碼,你不用我們的交易開拓者軟件也無所謂,用別的軟件都可以,寫成一段代碼,做一下測試,測試的時候你按照我上面說的這些方法,你不能只看到某一個品種很好,你就認為這個方法是好的,如果在大多數品種上都有一個普適性,在大多數周期上也都是正期望的,那麼它就有可能是一個很好的系統的毛坯,你把它進一步完善,就可以去實盤。這樣可以大大節省你的進步的時間,也節省了你的金錢的消耗。

做一個簡單的總結。最開始我們做交易的時候,往往很隨意地畫一條線,比如大盤上3000點我就看多,下了2500我就看空,那你憑什麼指定3000、2500,為什麼不是3500、2000呢?你是很主觀地指定的,你後來會發現自己這種主觀的成分太大,真正的交易效果也不好,你要考慮怎麼樣把你的主觀思維更客觀化。大家常用的就是單均線,取了最近一段時間的收盤價加起來做一個算術平均,這樣就相對客觀化了,但是單均線做一下模型測試以後你會發現K線經常可能會在均線上上躥下跳,這個時候的成本損耗其實是非常大的,那我就考慮能不能加一個空間過濾。比如說單均線突破了以後再漲3%我再考慮做多,或者說向下突破再跌3%我才考慮做空,它效果確實是比較好,比原來好了很多。有人又講了,我每次固定地使用一個3%是不是也不合理呢?因為波動有時候很大,比如說黑色最近波動就非常大,還是用3%是不是不合理呢?波動小的時候我也用3%感覺也不對,有些人說那我就在均線上加的不是一個固定百分比了,是一個真實波幅,這就是典型的肯特納通道系統。還有人說我要把統計學的想法也加進來,比如說布林線,以及雙均線、四周規則,不僅僅要考慮收盤價,還要考慮最高、最低價,我認為最高、最低價比收盤價更合理,它代表當時市場交易的極端情緒,典型的就是四周規則,四周規則來源於海龜交易系統,這都是很優秀的交易系統。總之一句話,它們都是趨勢型指標,用來建立趨勢跟蹤型系統,我們自己現在做了10個億的資金,客觀告訴大家,除了那幾個套利對沖的做法以外,所有的其他系統都是趨勢跟蹤型系統,都是順勢的。另外有一些比較典型的震盪型指標,比如RSI、KDJ、威廉指標等,這種指標你用來建立一些震盪系統的話,你如果強行在歷史上進行優化,進行擬合,是可以把資金曲線做成穩定增長的,但是實際去交易,一般都是賺不到什麼錢的。但是反過來,你順勢去用,在大的時間周期上一般情況下還是可以盈利的。我這裏做了個簡單對比,還是剛才的那幾個品種,那幾個周期,我做了一個測試,比如我用單均線來做的話,組合後的勝率只有21%左右,收益風險比只有0.5,收益風險比就是年化收益率除以歷史最大回撤。但是如果我在60周期的均線,上面加了個2.5%,下面減了一個2.5%的話,勝率就能夠提高一倍,收益風險比提高了一倍以上,說明這種空間過濾還是有價值的,這就是一個模型完善的過程。當然除了空間過濾我們還可以考慮時間過濾,比如說價格如果在17周期均線之上兩天沒有跌下來,我就考慮做多,這是一個時間過濾。還有指數過濾,就是我在指數上加載策略,信號發出之後我再去做指數的成分裏面的比如說龍頭股,這就是指數過濾,我們軟件裏面也支持這種指數型的過濾。這是我們自己交易常用的做法,可以有效地過濾掉單個合約的長上影或者長下影的毛刺導致的擾動。當你親手寫模型,寫了若干個之後 ,你就會意識到倉位管理的重要性。

這裏舉一個例子,比如說我有一百塊本金,勝率是50%,對於一個趨勢跟蹤系統來說,勝率50%已經非常高了。我經常會在一些群里、一些論壇里看到有人講他是做趨勢跟蹤的,但是他的勝率有80%,我覺得這個人真的是好厲害,我非常佩服,至少我沒有親眼見過一個這樣的人,只是在網上看到有人經常這樣講。我們自己的趨勢跟蹤型系統勝率組合下來以後大概也就40%多,如果是50%的話勝率已經是很高了。它需要的是什麼呢?需要的是高的盈虧比,賺錢的時候賺得多,虧錢的時候虧得少,100次交易雖然平均下來虧錢的次數還是比較多,但賺錢的時候投入1塊錢就賺2塊錢,虧錢的時候投入1塊錢就只虧1塊錢。



我這個舉的是特例,為什麼說是特例呢,因為它是盈虧交替出現的,這個勝率是50%,賺錢賺得多,虧錢虧得少。我用10%的資金試試,每次都是10%的資金,那就是這條黑顏色的線,它在增長,但是增長得比較緩慢。當你膽子很大,使用50%的資金的時候,它就變成藍顏色的線,它長期來看都不賺錢,所以說經常會有一個常見的說法,有些老的交易員帶徒弟的時候也會講:同樣的行情,我教你同樣的做法,但是有可能我就賺到錢了你就賺不到。為什麼?往往一旦賺了錢這些徒弟他手中的倉位會迅速增加,他自信心會膨脹,他會覺得這些老師傅是不是太保守了,現在用七八倍槓桿賺得比他多多了。但是真正行情反轉的時候,那些徒弟可能就爆倉了,而老師傅他有多年的交易經驗,他清楚他的系統適合多大的倉位,他就可以長期比較穩定地賺錢。對於這個例子來說,使用25%能夠使它的資金增長速度更快,低於這個值也不行,高於這個值也不行,這裏有個簡化版的凱利公式,就是根據上面的特例得出來的。



總之一句話:對應的一套系統,都有一個較佳的倉位,並不是說倉位越輕越好,也不是越大越好。這裏我再舉一個例子,因為剛才是一個特例,是理想化的例子,這個例子是和訊有個網友,他11萬本金一路虧虧賺賺變成了6萬塊,他說他花了這麼大的力氣選擇做哪個交易標的、選擇交易的時間截點、交易方向,最後虧得這麼慘。其實仔細分析一下,只需要做一件事情,就能夠讓他變成盈利,就是讓他每次下單的時候,把倉位減半,然後一路下來,還是做原來的品種,還是在原來的點位進,方向跟原來也是一樣的,唯一不同的是每次把倉位減半,到最後變成盈利的了,盈利不多只有5600,但他從一個嚴重虧損的人變成盈利的人,就做了一件改變而已,所以說倉位管理非常重要。同樣的行情同樣的做法,倉位不一樣,最終結果可能完全不一樣,有的人是爆倉,有的人是小賺,有的人可能就是大賺。那我是怎樣明白了這個道理呢?我不需要像那些老交易員一樣,通過多年的幾次爆倉經歷以後最後才發現原來資金管理如此的重要,然後根據經驗得出來一個較佳的倉位。我不是這樣做的,我是計算機專業畢業的,我寫一段代碼,當時寫了一個簡單的雙均線交易模型,我在PTA日線上做測試,我就考慮PTA日線上雙均線可以賺錢,但是我每次做1手好還是做2手好?我是30%的倉位好還是80%的倉位好?我是不知道的,那怎麼辦?我把它做成一個參數,從1%到100%跑一遍就是了,參數優化不是件神秘的事情,無非給它一個初始值、一個最大值,中間給它一個步長,讓它都跑一遍,把整個表列出來,根據自己的過濾條件選出想要的東西來就好了。跑一遍你會發現每次使用資金比例小的話最後賺得少,但是隨着資金增加,凈利潤也在增加,但是增加到一定程度,反而可能會變成虧損。我當時就是寫一個模型,我就明白這個道理了。那我們實盤中是怎麼做的呢?其實我們實盤中做得更簡單,我們實盤中倉位控制是由歷史最大回撤以及可以接受的風險逆推的倉位,舉個最簡單的例子,我有100萬的本金,我只有一個系統,這是最簡單的情況,比如我這個系統只做橡膠,這個系統每次我假定歷史測試的時候只用1手,歷史最大回撤是10萬塊,軟件上很輕鬆就能顯示出這個值,比如說我現在能夠接受的虧損是30%,那就做3手就可以了,就是這樣逆推出來的。同時我們還有一個原則,隔夜倉位不超過兩到三倍槓桿,為什麼我們用槓桿不用風險度?因為用風險度沒有意義,同樣一個品種交易所隨時會調保證金,期貨公司收你的保證金是10%,收他的保證金是20%,那你們倆都使用20%的資金做,同樣的品種,風險當然不一樣,而且差得很遠。所以我們用槓桿來衡量,槓桿就是持有的品種價值除以本金,我們不超過兩到三倍槓桿,如果我用了兩倍槓桿去做橡膠,橡膠因為某種原因反向跳空2%,那我立馬知道我虧了4%,我很清楚我的風險。如果只說風險度沒有意義,比如我做橡膠,我50%的倉位殺進去做多,同樣的價位我50%的倉位做空,我風險度是100%,所有資金都佔滿了,那我有風險嗎?價格隨便波動對我沒有影響了,所以用風險度是不合理的,用槓桿的話這時候我的凈槓桿為零,所以是沒有風險的,用槓桿衡量會更合理。當你研究倉位管理到一定程度,你會發現如果做單策略、單品種你的資金效率太低了,你只能使用一點點資金做交易,這帶來的問題是剩餘資金會閒置和浪費,那有沒有辦法在不增加風險的情況之下提高我的收益呢?還是有辦法的,那就是做組合投資。



大家看這條線,這條價格線它既不是期貨的走勢,也不是股票的走勢,它是我隨機產生的一些數據,大家看上面,我在上一個數的基礎上隨機決定漲還是跌,漲多少跌多少。隨機產生的一些數據就很像一個股票或者期貨的走勢,我只是說明市場的隨機性很強,所以我從來沒有親眼見過有人可以精確地預測明天的漲跌。我曾經在期貨公司工作過,期貨公司的研究員因為領導的要求必須要寫比如銅明天要漲還是跌,上漲力度是三星還是五星,那他怎麼辦?只能隨便寫,優秀的研究員不管,我指的是不優秀的,甚至說有些研究員,銅明明是看漲的,寫的是月報,月末最後幾天月報要出來的時候,銅突然連續幾根大陰線殺下來了,那怎麼辦呢?趕緊改文章啊,改成看空啊。所以如果要跟蹤,要跟蹤比較優秀的分析員,所以市場的隨機性真的是很強,沒有辦法預測明天的漲跌,我們自己也做不到,也沒有見過這樣的人,但是網上這種人很多,總是聲稱自己能做得到。我這裏列舉一個例子,比如我有一個趨勢跟蹤型系統,勝率是40%,這是一個比較典型的趨勢跟蹤系統的勝率,賺錢的時候能賺20,虧錢的時候虧10塊,盈虧比是2比1,也是很典型的,理論上來說我做100次交易,平均下來我應該能賺200塊錢,平均一次交易能賺兩塊,而實際情況呢?



它有比較大的概率會變成虧損,就是做100次交易會虧損,這種情況下怎麼辦呢?因為市場並不是很均勻地盈虧出現的,有可能會出現連虧,那怎麼辦呢?那我就不做100次交易了,我做1000次交易、10000次交易,那當然沒問題,整體資金曲線就會圍繞2000塊錢波動。但是人的交易時間畢竟是有限度的,我不可能某個方法做10年才知道這是個好方法,萬一是個不好的方法我就虧大了,那怎麼辦呢?我可以做組合,我拿10個相關性為零的策略去組合,或者10個相關性為零的品種去組合,這是一種理想情況,實際上是不可能的,這些商品之間都是有相關性的,做了組合之後,做100次交易,資金曲線也是圍繞2000塊錢波動的,所以說我們要做組合。做組合你的最終收益是累加的,但是你的風險部分抵扣掉了,可能這個品種在虧的時候其他品種在賺。比如PTA把我洗得很慘,但是黑色我可能賺了不少,但是我永遠也不知道是不是PTA馬上要出行情了,黑色要開始反覆洗了,這是我不知道的事情,那我就做組合。我們自己實盤做的商品大概有30個,股指雖然現在的成交量很小,但是我們仍然在做,對於這種盤口流動性明顯不足的品種,你只能使用算法下單,算法下單說得直白一點就是不要一下把所有單子都下進去,要通過某種算法慢慢地下進去,這就是算法下單。我記得曾經有一次股指從漲2%左右突然一下殺到跌停,那一次如果不使用算法下單,我們的幾個賬戶可能隨便就虧個幾百萬,但是使用算法下單,就只虧了一點點,所以下單下得慢也不一定就是壞事,要看什麼情況。組合之後收益累加了,風險部分抵扣掉了,其實說白了就是你的收益風險比提高了,這種情況下如果你還冒着原來風險去逆推倉位的話,你就可以使用更大的倉位,你的資金效率就更高了。這裏面就對我們有很多啟發,我們要選擇什麼樣的交易標的來做呢?交易要活躍的,波動要大的,比如說你最近幾個月做的是黑色,那你就比做PTA賺錢賺得多,理論上來說是這樣的。還有為什麼要交易活躍的品種呢?如果有一個品種,裏面有一萬個人在交易,你的交易能力在裏面能排前一百,那你是賺錢的。但是交易所把手續費提高十倍,那很多人就不賺錢了,他不賺錢了就不做這個品種了,他去做別的了,那最後只有一百個人在做交易了,當你不知道誰是傻瓜的時候你就是傻瓜,那你就要虧錢了。所以我們對這些品種經常會做一些排序,我這裏做了一個排序,按成交額排序,有日排序用來看短期的,周排序用來看中期的,月排序用來看長期的。



這是之前股指還活躍的時候的數據,但是我現在還是在做這個排序。也就是說哪一個成交額最大,我優先去做那一個,可能給它分配的倉位也會更大。這裏面要注意一點,我買1手你賣1手這個成交量在中金所來看是1,但是其他幾個交易所這樣的成交量算是2,所以你要把它放在一起比較成交量、成交額的時候,你要把它歸一化來處理,否則就差了一倍,得注意這個細節。我就用這種辦法在2013年的時候選了我要做的8個品種,就是剛才測試的8個品種,始終沒有變過,如果始終變化的話,假定說每周變化一次的話,實際效果會比上面我測試的更好。另外一個需要多少個交易標的呢,我認為還是需要8個及其以上來做組合,越多越好,我們現在監控了股票,準備明年大規模地做股票,因為股票做的話就很方便,一做就是幾百隻,組合可以做得更多。我們實際在交易的時候用了幾十套實盤策略,一些策略不是做完了以後就不動了,這些策略每年從核心思想上來說不會有太大的變動,但是每年都會有一定程度的完善,差不多每個季度都會調整一下參數。不可能說做出來以後就永遠去數錢了。另外一個是多品種,我們目前在做的大概是30個品種,3個股指仍然都在做,多周期我們比較小的一分鐘開始做,一分鐘、三分鐘、五分鐘、十五分鐘,更大一點的半小時、一小時都在做,最長的是一小時,沒有做更大的周期。另外如果你模型間、品種間搞不清應該怎樣分配頭寸,我們軟件不但有組合測試功能,還有頭寸優化功能,這個都可以給你提供一定的幫助。另外我們公司現有的軟件有這麼幾款:一款是TB旗艦版,就是已經發展了十幾年的軟件;另外一個比較新的軟件是TB極速版,TB極速版放進去了很多新功能,比如可以自動選參數、有直連行情,行情速度也會快一些,還有一個批量優化功能,我剛才講過一個季度調整一遍所有模型、所有組合的參數,為什麼是一個季度?其實我們希望能夠更快,但是我們調整一遍參數差不多要花一個多月時間,所以說比較耗時、耗力,但是有了自動選參數功能,我把選參數的規則做一段小代碼,讓它自動來選,同時可以批量選,比如說把任務都添加好,等晚上睡覺的時候讓電腦自己跑,人可以歇着了,然後電腦還在那自動幫你優化,第二天就給你看結果。所以說差不多幾天時間參數就能調整一遍,比原來快很多。我們實際交易的時候,目前的情況是這樣的,後面我們正在做的一個功能是無圖表交易功能,就是後面不用打開K線圖了。



現有的情況是多個工作區,每個工作區里有多個小的窗口,每一個窗口可能是一個到多個品種,比如說我插入10個品種,通過某種算法,選出最強的去做多,最弱的去做空。然後每一個窗口可以插入多個策略,策略之間彼此是沒有干擾的,有了信號就會自動發單,無圖表交易會類似於下面這種情況。



這個只是我們初步的版本,還沒有進一步地完善。最新版我們還在內測,還沒完全做完。總之一句話,那個時候就不需要打開K線圖了,但是你需要的情況下可以隨時切換到K線圖,也比較省資源,也比較方便。這個就是我剛才講到的8個品種、3個周期、3個策略——雙均線、MACD、RSI組合後的測試結果。



都使用了默認參數,今年還是創了新高,還是不錯的。我再講一個小例子,美國有個博士叫帕隆多,他有一個著名的理論叫帕隆多悖論,簡單來說,就是他有兩個遊戲,第一個遊戲,投1塊錢,賺錢就賺1塊,虧錢就虧掉1塊,勝率只有49.5%,那麼長期來看肯定是個虧錢的遊戲;第二個遊戲要看資金能不能被3整除,然後走了兩個分支,對應的有一個勝率,它長期來看也是要虧錢的。但是好玩的是通過某種方法可以讓它變成賺錢。他的論文還是蠻複雜的,我看起來都有點頭大,但是我是學計算機的,我寫段代碼就好了,我在EXCEL裏面寫一段簡單代碼試一下。我給他3萬本金,單獨去玩A遊戲試一下,穩定虧損;單獨去玩B,也是穩定虧損。但是我按照AABBAABB的順序反覆去玩會怎麼樣呢?穩定盈利了。最有意思的是,我按照50%的概率隨機選擇去玩A遊戲還是B遊戲,也是穩定盈利的。所以它違背人的直覺,我用它來說明什麼呢?就是我們自己做組合的這些品種、這些策略、這些組合點你都是經過自己詳細的優化、完善以後的,每一個點可以說都是正期望的,你的組合結果一般會更好。他能夠把兩個都是虧錢的組合成盈利的,更不要說我們。有人說理解不了,理解不了我們用一個很簡單的例子,但這個例子差別就比較大了,只是說明這個問題。策略一每次都是滿倉殺入,勝率50%,盈利的時候盈利70%,虧損的時候虧50%;策略二勝率是50%,盈利的時候盈利30%,虧損的時候虧40%。它是特例,一個是盈虧盈虧,勝率是50%;另外一個是虧盈虧盈,勝率也是50%,會怎麼樣呢?第一個穩定虧損,第二個穩定虧損,但是我把兩個策略結合在一起,我每次把本金一分為二,50%給策略一,50%給策略二,組合下來會怎麼樣呢?變成穩定盈利,大家可以自己思考一下。總之一句話,我們就是通過這種組合化的交易實現了比較高的收益風險比,同時我們還做一些套利型的交易、一些日內的交易,為了更好地利用資金,最終是想要一個比較高的收益風險比。

這裏講一下實盤中的一些注意事項。這裏有3個賬戶,3個賬戶都是我們自己做的賬戶,這裏不是來募集資金的,我們期貨上10個億做程序化交易盤口量都有點不足了,隨隨便便如果不使用算法下單的話,某個品種價格被我們打出百分之二三都很正常,所以說不是來募集資金的,只是講一下我們實盤賬戶的情況。



這個賬戶一直在做,最近又是創新高,這是我們自己記錄以來時間最長的賬戶,因為之前的記錄已經找不到了,這是從2006年1月份就開始記錄的,這是它的盈虧曲線圖,我截到了6月13號,最近又是創新高的,最近我沒更新。



這是個小賬戶,這個小賬戶在中央電視台孟一的節目上展示過一段時間,因為它比較小,它能夠做的組合也比較少,使用的策略也會比較少,所以大家看它的波動其實還是比較大的,但最後也是從48萬做到了200多萬結束的。



這個賬戶是在某個期貨公司做的,最開始投入可能是200萬左右,現在裏面有幾千萬在做,這個凈值應該是做到了15、16左右,是從2010年7月份開始做的,這是截止到6月13號的累計盈虧曲線圖。

程序化交易並沒有追求每年的暴利,有人說今年我要賺3倍、5倍,能賺到當然很好,但是這個東西是可遇而不可求的。我們的希望是每年盈利複利增長,我有若干朋友,他們都在我們自己的實盤群里,也有很多溝通,有一些人從自己的幾十萬開始慢慢做,因為做得好有資金會找他,到現在一般都管理了少則一兩千萬,多的可能更多,他們都做得蠻好的。也就是全自動慢慢做,做得規模大了,整體對個人來說收益就上去了。我這裏不是強調這些賬戶做得多好,我強調的是什麼呢?比如第一個賬戶,因為它的時間最久,每年都有長時間不賺錢的日子,我說過了,我們的策略勝率大概40%多,日勝率我們都沒有到50%,說明大部分的日子我都是很鬱悶的,都是在虧錢的,只是我賺錢的時候賺得比較多,虧錢的時候我虧得比較少。我們看到2007年有134個交易日不賺錢,一年就200多個交易日,差不多大半年都不賺錢,這是很鬱悶的,有人也經常會問我你們虧錢的時候怎麼辦?我說虧錢的時候也沒有太多好的辦法,說實話沒有那麼多秘訣,我有那麼好的辦法我就不會讓它虧這麼長時間了。但是還是有些辦法,第一是看看你的策略,你可以給自己的策略定一些下架的標準,比如說你有某個策略,它達到了歷史最大回撤的兩倍,可能就要考慮這一個策略把它停止掉,因為你有很多組合,所以你停只停一部分。這相當於什麼呢?就是虧損的時候我要減倉,盈利的時候才會考慮加倉,其實最簡單的方法就是虧損減倉,但是你可以通過一些規則,而不是很主觀地去減倉。比如說策略回撤達到了歷史最大回撤的兩倍,或者你在策略上面給它畫個布林通道,下跌了兩倍的標準差等等。總之你有一套規則才可以。

在投資中我們會遇到各種各樣的問題,各種各樣的風險,系統性風險比如美國大選或者智利銅礦爆炸、地震等等,有可能會導致這些品種突然的反向跳空,如果是正向跳空就很爽,我們做順勢交易是賺錢的,反向跳空可能就會虧得很慘,如果是自有資金我能容忍30%、40%的虧損,我還是繼續堅持,但是如果是募集來的資金,做的產品它會有嚴格的槓桿規定以及回撤的規定,那你可能隨便虧個5%就很難做了。所以說一定是長、中、短去結合嚴格的資金管理,尤其是嚴格的隔夜的槓桿管理。還有流動性風險,那怎麼辦呢?剛才我也講過了,可以配合算法下單,配合更多的組合,比如說可以做7分鐘、11分鐘、17分鐘這種比較少見的時間周期交易,變相地提高盤口的流動性。另外市場會不斷地進化,市場為什麼會進化?因為參與者在不斷地成熟,在不斷地進化,我剛進入這一行的時候是2009年,那時候說實話我感覺好多都是年紀比較大的人在做期貨,年輕人都很少。隨着時間過去,好多國外回來的剛畢業的碩士、博士都在參與這一行,並且學習、進步能力都非常強,所以參與者水平越來越高,錢只會越來越難賺,肯定是這樣子的。馬雲當時成功了,也是特殊的歷史的機會,如果讓他現在重新做這個事情,他可能就很難做。但是我還強調一點,任何的交易策略,早晚有失效的那一天,任何的交易方法,也都有失效的那一天,但是你不能因為程序化可能越來越難賺錢,那我是不是就不做了。我想告訴你的是,有很多事情賺錢一開始都是有超額利潤的,後來慢慢越來越難賺,但是不能因此你什麼都不做了,你在家裏坐着哪來的錢?我就在它失效之前先把錢賺到,比如說實現你的第一個小目標,然後你再去做其他事情。所以市場在進化,你自己也要不斷地提高、不斷地進步,我說的都是實在話,我不說假話。沈良總那邊的網站,我每隔幾天就跑過去看看高手訪談錄,看看有沒有可以值得借鑑的思路。還有一些非理性的因素,如果你手工交易持有倉位了,你持有多單,你不自覺地就會關注那些看多的言論;如果你持有空單,你就不自覺地關注那些看空的言論,你會覺得那些言論有道理,這是非理性情緒。只有程序化交易才能摒棄這些人性的弱點,計算機冷冰冰的,信號出來了該多就多,該空就空,但是你手工去干預的話,往往結果都會很不妙。為什麼這樣講呢?我有若干朋友現在也都做得不錯,也都管理了幾千萬,他們跟我說,每一次手動干預之後,都想剁手。我說得直接一點,就是因為你沒有手工交易穩定盈利的能力,所以你手工去干預就不如用計算機全自動去執行。你如果確信你自己的能力比你的策略更好,你當然可以去干預,但是一般人是沒有這個能力的,所以說對一般人來說沒必要去手工干預,你不需要追求那個暴利,你只要每年穩定地盈利,然後把你的規模做大就可以了,原來你是個人在做,後面你就可以幫朋友搞做,再後面你就可以開投資公司,就可以了,整體規模做個十億二十億上去不就是了,幹嘛非要追求一年十倍、二十倍,你如果追求的是一年十倍、二十倍,一定蘊含着巨大的風險,你中間很多賬戶或者很多時候很可能就要爆倉的。

其次你會遇到軟硬件的各種故障,我實話實說,無論我們的軟件還是其他的軟件,還是期貨公司的櫃枱,我沒有遇到過一款從來沒有出過問題的軟件。微軟厲害不厲害,差不多每個人都用微軟的系統,它的系統是不是也在不斷地出問題?你不能因為它有問題你就不用了,你就用一個能夠滿足你需要的方法做下去,遇到問題想辦法解決就是了。我們是全自動交易,我們託管了若干台服務器,都在電信的骨幹機房,因為這樣交易速度會比較快,但是我們有交易員始終在盯着這些服務器,一旦出了一些意外情況,比如計算機再聰明也處理不了斷電、斷網這些問題,那我有人迅速切換到其他計算機上來就行了。所以我們全自動交易中必須要有人來監控這些服務器。總之一句話,就是要順勢而為,敵人槍林彈雨打得很猛烈,你一個勁地往前沖,那你只能做烈士,你應該找個坑趴下來,等敵人潰敗的時候衝進去抓俘虜,你可以享受勝利的果實。對於有效的倉位管理,倉位太輕了可能賺一點點,太重了有可能就會爆倉,逆推法是一個比較好的辦法,可以不會讓你虧得非常難受,不會讓你堅持不下去,你最終能夠獲利;另外一個就是做組合投資,東方不亮西方亮,誰也不敢保證這一套方法做這一個品種永遠盈利,那我通過不斷完善的多套策略,最終讓整體資金曲線平穩增長就可以了。另外要注意的就是比如說過度擬合、考慮一下滑點、是否使用了未來數據,我輕鬆可以寫出勝率100%的策略來,但是沒有意義,所以說我發現寫的一個策略如果一測試效果非常棒,我不會認為我找到聖杯了,我首先要考慮的是,我是不是寫得有問題,是不是哪些條件我設錯了,因為天上掉的往往不是餡餅,而是鐵餅。我剛才舉的例子,我在一個品種上使用雙均線交易,然後我去優化它的頭寸,看看多大的資金比例比較合適,大概20%、30%左右會達到一個極值,但是如果我做組合,我拿了一堆品種,一堆時間周期,把雙均線加載上去,再去做批量的優化,會怎麼樣呢?不考慮風險只考慮收益的情況下,你會發現你使用的倉位越大越好,所以說很多想法也許是天馬行空的,也許是根本沒有任何道理的,但是你把它寫出來,做一下測試,歷史上如果能賺到錢,那實際中才有可能賺到錢,如果歷史上都虧得很慘,那你就不用浪費時間了,所以說程序化交易還是很有價值的。



這個是什麼呢,手續費萬分之5雙邊的測試,剛才的3個策略、8個品種、3個時間周期做的組合,結果是這樣子的。



那我現在改了一下測試條件,手續費萬分之1雙邊,立馬比原來好了很多。所以我前面講了,要考慮到滑點和交易成本。所以測試的時候一定要儘量地嚴格,不要為了自己心裏舒服而測試條件用得很寬鬆。



這個是我自己的一個股指策略,當時測試周期用的是2011年到2013年,測試下來的結果是這樣的。這是我的股指策略,我實盤跑了以後大概是什麼樣?



這是實盤跑的情況,比原來差了好多,但是它也是在不斷地創新高的,我已經很滿意了,為什麼?因為無論你怎麼做,怎麼樣調整你的參數,你都是對歷史的某種程度的擬合,比如說我要學習馬雲,我不是要學習他曾經賣花,曾經開翻譯公司,我要學習的是他更大的一些東西,比如他的思維。所以歷史是相似的,是在不斷重複的,但是不是簡單的重複,所以說無論怎麼折騰也是對歷史的一種擬合,所以歷史測試一定要儘量地嚴格,未來你期待得不能太高,這個樣子我就已經很滿足了。

我們這個軟件,他自帶了很多公式,還帶了幾十套可以實盤用的策略,原始碼都開放的,你可以自己去學習,有幫助文件,有開發指南,是一本電子書。我們還有自己的一本書,網上都能買得到,有論壇,有很多人提出的問題客服也做過解答,如果有疑問的話可以去搜一下。另外我們有一個網校,我們這個網校有很多視頻,有我講的,有何一豪講的,還有我們蔡總講的,你在軟件下載的地方就能看到這些視頻,完全免費,可以隨意學。當然了,我想強調一點,你光看這個是不會有太大進步的,重要的是你得自己親手寫模型,親手做測試才可以。這是我們有一個活動叫共學程序化,你可以加入群,我們有同事,每周有佈置的任務,需要給你發視頻,你可以免費學10周,學會怎麼樣用這個軟件,沒有任何費用。另外我們跟七禾網還有其他的合作,他們網站上你可以看到最新版TB smart的連結,通過他們網站的連結註冊我們軟件的話,可以免費使用三個月,大家都可以去七禾網看一下。今天就跟大家交流到這裏,謝謝大家。


论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表