程序化交易思路
時間:2023-03-17 08:52:02 | 來源:電子商務(wù)
時間:2023-03-17 08:52:02 來源:電子商務(wù)
大家好,我是股票屆的小學(xué)生,漢口葉榮添。之前零零碎碎的在本站發(fā)了一些文章,提到了一些我在真實交易中采取的策略。這些策略有些跑了1年多,小賺一點。有些跑了半年左右,還有些虧損??傮w來說,這些策略的收益是在以滬深300為基準(zhǔn)的收益之上的,這個過程沒有巨量的超額收益,也沒有大幅度的回撤,總體上還算平穩(wěn),但缺點是超額收益也不算太高。所以想暴富的同志們可以不用往下看了,下面我將系統(tǒng)性的介紹我的交易思想以及如何通過技術(shù)來打造交易系統(tǒng),交易系統(tǒng)的具體實現(xiàn)邏輯和代碼我都會一一公布到本站,交易系統(tǒng)的一部分我會發(fā)布到網(wǎng)絡(luò)上供感興趣的朋友使用,希望能為他們帶來幫助。所以,如果你對技術(shù)分析以及程序化交易感興趣,可以關(guān)注下我哈。
交易思想交易的基礎(chǔ)是框架,也就是說我們需要基于一定的規(guī)則來做交易。這個道理很簡單,講的通俗一點,如果我今天按K線形態(tài)來買、明天按ROE指標(biāo)來買、后天又跟著北向資金來抄底,那我的交易系統(tǒng)就是一個混亂的、無法度量的系統(tǒng),如果這套系統(tǒng)賺錢了,我不清楚它是靠什么賺的錢,是均線起了作用呢還是ROE起了作用呢?誰起到的作用更大呢?誰起的正向作用,誰又起的負(fù)作用呢?如果這套系統(tǒng)虧錢了,以上的幾個問題我們?nèi)匀粺o法解答。所以,如果沒有一個框架做支撐,那么無論盈虧,都是認(rèn)知以外的錢。相反,如果是基于一定的規(guī)則來做交易,是不是以上這些問題就很容易解答了。比如以5日均線上穿15日均線為信號點買入,股票池定在滬深300指數(shù)成分股,然后以正負(fù)10%的收益為界進(jìn)行止盈止損。這就是一個具體的策略了,這條策略能否盈利,我們可以通過在歷史上不同階段做回測來有一個大致的了解,同時也可以通過跑模擬來看它目前的表現(xiàn)。一條具體的策略是由若干條規(guī)則定義的,這若干條規(guī)則是基于整體框架來設(shè)定的。所以如果把策略比作一條魚,那么框架就是魚骨,規(guī)則就是魚肉。策略=框架+規(guī)則。
交易框架交易分為幾個部分:
1、資金,沒有錢做不了交易。
2、股票池,股票池的引入是為了限制滿足設(shè)定規(guī)則的股票個數(shù),A股目前有近5000支股票,如果制定了一條策略,可能某一個交易日有近3000支股票滿足策略的規(guī)則,那么我們有足夠的資金一起買入這3000支股票么?顯然是不可能的,所以引入了股票池,股票池可以是自己熟悉的股票組成的,也可以是指數(shù)成分股,或者是滿足某一條件的股票,比如最近一次財報公布的利潤率大于40%的股票。
3、買入頻率,買入頻率也是由于資金限制引入的。舉個例子,比如我手上有1萬的資金,如果我每次交易使用5000塊,那么我只能連續(xù)進(jìn)行2次交易就沒錢了,如果第三個交易日又出現(xiàn)了買入信號,那么就無法交易,執(zhí)行不了策略。那么為了能一直執(zhí)行策略,我必須在買入之后第二個交易日就賣掉,這樣資金才周轉(zhuǎn)的過來。
4、買入信號,什么時候買。
5、賣出信號,什么時候賣。
這五個部分組成了交易整體,設(shè)計框架的目的就是為了能很好的處理這五個部分的相互制約關(guān)系,使得交易能按策略順利的執(zhí)行下去。
上圖是在交易框架的管理下,交易策略的執(zhí)行過程。菱形的地方就是策略執(zhí)行需要滿足的規(guī)則,買入/賣出信號里的規(guī)則設(shè)定需要想象力、靈感以及耐心。賣出信號的規(guī)則與交易頻率的規(guī)則、資金的規(guī)則相互制約。股票池的規(guī)則根據(jù)自定義的方式確認(rèn)。資金的規(guī)則設(shè)定相對容易,理論上每次交易使用相同的資金,這樣可以量化出策略的穩(wěn)定性及盈利能力。交易頻率的規(guī)則定義為一個交易日的買入次數(shù),舉個例子,如果交易頻率定位一個交易日買入小于或等于1次,那么當(dāng)某個交易日有10只股票發(fā)出了買入信號,那么久只能選其中1只股票買入,如何選也是交易頻率的規(guī)則之一。所以交易頻率規(guī)則里面有兩條子規(guī)則需要設(shè)定,一是1個交易日的買入次數(shù),二是排序。下表給出了不同模塊下規(guī)則的制約關(guān)系,可以看出,賣出信號、資金和交易頻率三者是相互制約的。這里舉一個較為完備的例子來闡述為什么它們?nèi)哂邢嗷ブ萍s關(guān)系。
是否有制約關(guān)系 | 買入信號 | 賣出信號 | 資金 | 交易頻率 |
買入信號 | 無 | 無 | 無 | 無 |
賣出信號 | 無 | 無 | 有 | 有 |
資金 | 無 | 有 | 無 | 有 |
交易頻率 | 無 | 有 | 有 | 無 |
賣出信號、資金和交易頻率三者的制約關(guān)系假定我現(xiàn)在的資金有1萬塊,我對資金設(shè)定了一個規(guī)則,那就是每次拿2000塊來買入,可能有時1500,有時2500(由于不同股票股價導(dǎo)致的偏差),保證平均下來每次2000塊的投入即可。我的交易頻率設(shè)定為一個交易日最多交易5次。我的賣出信號制定的規(guī)則是買入后的第2個交易日賣出。
當(dāng)前的場景是這樣的:在第1個交易日里,有6只股票發(fā)出了買入信號,在第2個交易日里,有10只股票發(fā)出了買入信號,在第3個交易日里,有7只股票發(fā)出了買入信號。那么在第1個交易日里,我在6只股票里選了5只股票買入,消耗了1萬塊。在第2個交易日里,我就沒錢了,因為我的賣出規(guī)則是第三個交易日賣出,因此第2個交易日里這10只股票,我一只也買不了,違背了策略的可執(zhí)行性原則。在第3個交易日里,我賣出了第1個交易日買入的所有股票,回款8千到1萬2左右的資金,因此可以繼續(xù)買入第三個交易日里的其中5只股票。可以想下,如果我改變了交易頻率,1個交易日最多交易1次,那么我就可以順利完成整個策略了,或者改變賣出規(guī)則,當(dāng)日買,次日賣,也可以順利完成整個策略。又或者我的資金由1萬增加到2萬,也可以順利完成整個策略。由此就證明了賣出信號、資金和交易頻率三者是相互制約的關(guān)系。
所以,其實我們可以很好的去制定資金規(guī)則,交易頻率規(guī)則和賣出規(guī)則,當(dāng)然賣出規(guī)則不僅僅是硬性的指定多少個交易日后賣出,這只是一個邊界規(guī)則。下面讓我們抽象一點,假如我們有S資金,我們每次使用O資金做交易,那么我們的極限交易次數(shù)就是int(S/0)次,S是實力,無需假設(shè),O是基礎(chǔ)參數(shù),需要手動設(shè)置。交易頻率假設(shè)為N,賣出規(guī)則為M,那么必須要保證int(int(S/0)/N) >= M才行。
框架的局限性分散交易一方面規(guī)避了巨幅虧損的風(fēng)險,另一方面也限制了收益。一個很簡單的道理,比如一只股票在10個交易日內(nèi)上漲了30%,如果我在這只股票上投入了10萬,那么我的收益就是3萬。如果我總共就10萬塊,可能我只能在這只股票上投入1萬,那么收益就只有3千而已,這也就是我開頭說的不能暴富的原因。如果想獲取5倍,10倍以上的收益,請把你的所有資金全部賭在1到2只股票上,這樣是最切實際的做法。