想做程序化交易前要做的準(zhǔn)備
admin
金融理論與量化分析知識(shí)
程序化交易以金融資產(chǎn)定價(jià)和量化分析的理論和方法為基礎(chǔ)。所有的程序化交易策略的交易思想都是根據(jù)相關(guān)的金融資產(chǎn)定價(jià)理論、金融市場(chǎng)行為理論以及相關(guān)的量化分析方法為基礎(chǔ)制定的。我們對(duì)金融資產(chǎn)的價(jià)格決定、金融市場(chǎng)參與者的行為決定及其影響沒(méi)有一個(gè)比較深刻的理解,我們制定的交易策略可能就是片面的,隱含極大風(fēng)險(xiǎn)的。程序化交易只能根據(jù)過(guò)去和現(xiàn)在的信息進(jìn)行決策,是一種事前決策。一旦下單,要想獲得收益或回避風(fēng)險(xiǎn),就必須交易方向與未來(lái)價(jià)格走勢(shì)一致。未來(lái)是不確定的,怎樣根據(jù)過(guò)去和現(xiàn)在較為準(zhǔn)確的預(yù)測(cè)未來(lái)?這就需要相關(guān)的理論和方法的指導(dǎo)。程序化交易需要把交易策略思想變?yōu)橛?jì)算機(jī)可以分析、決策和執(zhí)行的指令,因此,交易策略必須是可以清晰量化的,而非模糊的定性。比如,在“高拋低吸,波段操作”中,何為高,何為低,這必須有一個(gè)準(zhǔn)確的數(shù)量界定的方法,特別是波峰低谷在事后雖然是明晰的,在事前卻是未知的。因此,總結(jié)歷史規(guī)律的量化分析方法為我們制定程序化交易策略提供了基本的方法論指導(dǎo)。
簡(jiǎn)單而實(shí)用的證券市場(chǎng)量化分析方法就是價(jià)格變動(dòng)的技術(shù)分析法,包括趨勢(shì)分析、支撐阻力線分析、技術(shù)指標(biāo)分析、波動(dòng)分析等。其中,為了程序化交易需要重點(diǎn)掌握技術(shù)指標(biāo)分析法。多種多樣的技術(shù)分析指標(biāo)可以為開發(fā)交易策略提供構(gòu)想并在決定入市和離市時(shí)間點(diǎn)上也會(huì)提供幫助。如果只利用價(jià)格開發(fā)交易策略的話,因表現(xiàn)力不足很難再繼續(xù)制定新的交易策略。相反,如果充分利用價(jià)格波動(dòng)的技術(shù)分析指標(biāo)的話,將更加容易地開發(fā)出新的交易策略。
在利用技術(shù)分析指標(biāo)方面,尤為重要的是不能因?yàn)槭墙?jīng)常使用的指標(biāo)而忽略它。許多人認(rèn)為現(xiàn)在廣為使用的技術(shù)分析指標(biāo)不準(zhǔn)確。那么,它們對(duì)于程序化交易是否有用呢?長(zhǎng)時(shí)間一直被使用的指標(biāo)可以認(rèn)為是得到交易員的廣泛認(rèn)可的,也反映是最為有用的。每個(gè)技術(shù)分析指標(biāo)都具有自己的特點(diǎn)。現(xiàn)階段我們知道的指標(biāo)就多達(dá)數(shù)百個(gè),因此在眾多的指標(biāo)里先分析哪些指標(biāo)就是一個(gè)非常頭疼的問(wèn)題。但是,技術(shù)分析指標(biāo)大致可以分為幾種類型,其中我們只要重點(diǎn)掌握經(jīng)常使用的移動(dòng)平均線、MACD、RSI、隨機(jī)指標(biāo)、DMI、ADX等幾種指標(biāo),其他的指標(biāo)也可以迅速掌握。只要先著重掌握經(jīng)常使用的技術(shù)分析指標(biāo),然后可以逐漸向新的指標(biāo)領(lǐng)域擴(kuò)展。學(xué)習(xí)技術(shù)分析指標(biāo)的過(guò)程中最為重要的不是背誦計(jì)算公式,而是理解指標(biāo)的構(gòu)成原理和背景。通過(guò)上述方法掌握的技術(shù)分析指標(biāo)相關(guān)內(nèi)容,會(huì)成為開發(fā)交易策略的原動(dòng)力。
除了常用的技術(shù)分析指標(biāo)外,較為復(fù)雜的量化分析方法是設(shè)計(jì)較為復(fù)雜的程序化交易策略的理論基礎(chǔ)。常用的方法包括統(tǒng)計(jì)分析中的回歸分析、方差分析、波動(dòng)率分析;資本資產(chǎn)定價(jià)模型、資產(chǎn)組合模型、期權(quán)定價(jià)模型、期貨定價(jià)模型、組合套利模型、價(jià)差套利模型等。
計(jì)算機(jī)編程能力
程序化交易是利用計(jì)算機(jī)把所有的交易用系統(tǒng)化的規(guī)則自動(dòng)處理的過(guò)程,因此需要把自己勾勒出來(lái)的交易策略用計(jì)算機(jī)程序?qū)崿F(xiàn)出來(lái)。這是把交易策略轉(zhuǎn)換為計(jì)算機(jī)能夠理解的語(yǔ)言的過(guò)程,因此需要掌握一定的計(jì)算機(jī)編程能力。利用計(jì)算機(jī)語(yǔ)言對(duì)交易策略編程的過(guò)程對(duì)于剛剛接觸到程序化交易的人來(lái)說(shuō)是最為困難的事情。不僅需要一定的計(jì)算機(jī)編程能力,而且必須熟悉該交易系統(tǒng)的計(jì)算機(jī)編程語(yǔ)言。雖然大多數(shù)的程序化交易平臺(tái)系統(tǒng)的編程語(yǔ)言的基本語(yǔ)法結(jié)構(gòu)是相通的,但畢竟各個(gè)系統(tǒng)平臺(tái)的編程語(yǔ)言的語(yǔ)法和函數(shù)還是存在一定的差異。因此,在進(jìn)行程序化交易策略的編程之前,我們必須先學(xué)習(xí)其編程語(yǔ)言。當(dāng)我們將在一種交易平臺(tái)系統(tǒng)上使用的交易策略移植到另一種交易平臺(tái)系統(tǒng)上使用時(shí),我們需要了解兩種編程語(yǔ)言的語(yǔ)法和函數(shù)差異,將舊的語(yǔ)法和函數(shù)轉(zhuǎn)換為新的語(yǔ)法和函數(shù)。對(duì)于沒(méi)有計(jì)算機(jī)編程基礎(chǔ)的人來(lái)說(shuō),熟練掌握交易系統(tǒng)的計(jì)算機(jī)語(yǔ)言是比較困難的,但更為困難的是把交易策略客觀地編輯為計(jì)算機(jī)程序的過(guò)程。第一次開發(fā)交易策略的交易員為了交易策略編程通常會(huì)使用圖表或技術(shù)指標(biāo)分析、趨勢(shì)線分析、前高點(diǎn)/前低點(diǎn)分析、支撐阻力線分析、背離(Divergence)分析等等。上述方法具有的致命弱點(diǎn)就是主觀性。比如,對(duì)出現(xiàn)雙重底時(shí)入市的規(guī)則編程中,需要明確第一次見(jiàn)底和第二次見(jiàn)底的幅度并且要明確雙重底的間隔和高度等等。上述方法可以依據(jù)分析師的主觀判斷而出現(xiàn)諸多不同之處,很難用客觀的數(shù)據(jù)來(lái)定型。因此,在第一次使用計(jì)算機(jī)語(yǔ)言編輯交易策略時(shí),選擇主觀性較強(qiáng)的分析方法不如利用技術(shù)分析指標(biāo)等客觀性較強(qiáng)的分析方法來(lái)編輯基本的交易規(guī)則更為容易。
程序化交易平臺(tái)
進(jìn)行程序化交易必須擁有一個(gè)與經(jīng)紀(jì)商主機(jī)連接,能夠?qū)崟r(shí)接收行情信息、編輯交易策略、評(píng)估策略效果、運(yùn)行交易策略、下達(dá)交易指令并可以進(jìn)行人工檢測(cè)和干預(yù)的程序化交易平臺(tái)。通過(guò)該平臺(tái),投資者可以開發(fā)、評(píng)估和運(yùn)行自己的程序化交易策略系統(tǒng),實(shí)現(xiàn)其程序化交易。目前有許多計(jì)算機(jī)證券期貨行情系統(tǒng)和交易系統(tǒng),雖然可以實(shí)時(shí)顯示行情、分析行情和人工下單交易,但它們不能夠運(yùn)行交易策略系統(tǒng)執(zhí)行程序化交易。另外一些能夠進(jìn)行復(fù)雜的量化分析和決策的計(jì)算機(jī)系統(tǒng)(如Eviews,Matlab等計(jì)量分析軟件)卻因?yàn)椴荒芙邮軐?shí)時(shí)行情信息或不能直接向經(jīng)紀(jì)商的交易系統(tǒng)下達(dá)交易指令,因而不是合格的程序化交易平臺(tái)。作為大型的機(jī)構(gòu)投資者,他們往往會(huì)有專門的計(jì)算機(jī)編程人員開發(fā)專門的程序化交易平臺(tái)和交易策略系統(tǒng)。作為普通的個(gè)人投資者和小的機(jī)構(gòu)投資者,則只能夠選擇一些公用的并可與經(jīng)紀(jì)商交易系統(tǒng)連接的程序化交易平臺(tái)來(lái)開發(fā)和運(yùn)行交易策略,實(shí)施程序化交易。程序化交易平臺(tái)系統(tǒng)的基本功能模塊如圖2-3所示。只有具有這些基本功能的平臺(tái)系統(tǒng)才是程序化交易可以使用的平臺(tái)系統(tǒng)。

圖2-3 程序化交易平臺(tái)系統(tǒng)的基本功能模塊