国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python語(yǔ)言的量化股票投資策略研究

2019-10-16 08:14吳梅
新財(cái)經(jīng) 2019年15期
關(guān)鍵詞:Python語(yǔ)言

[摘 要]在大數(shù)據(jù)快速發(fā)展的背景下,將程序算法與股票投資相結(jié)合是創(chuàng)新股票投資方式并實(shí)現(xiàn)投資收益率提升的關(guān)鍵。文章在量化投資理念的基礎(chǔ)上,運(yùn)用Python語(yǔ)言對(duì)A股市場(chǎng)的一些歷史指數(shù)和個(gè)股數(shù)據(jù)進(jìn)行梳理分析,針對(duì)Python量化投資項(xiàng)目進(jìn)行初始性設(shè)計(jì),基于Python語(yǔ)言制定量化股票投資策略,并對(duì)策略進(jìn)行收益回測(cè),進(jìn)而提出量化股票投資的保障措施。

[關(guān)鍵詞]Python語(yǔ)言;量化投資策略;BOLL指標(biāo);格雷厄姆成長(zhǎng)股

[中圖分類號(hào)]F832

1 前 言

20世紀(jì)80年代,一些投資者開(kāi)始利用計(jì)算機(jī)研究金融數(shù)據(jù),并初顯成效。20世紀(jì)末,投資者把計(jì)算機(jī)技術(shù)進(jìn)一步應(yīng)用在金融數(shù)據(jù)分析上,進(jìn)行模型設(shè)計(jì),構(gòu)建股票投資組合。這時(shí),金融數(shù)據(jù)趨于規(guī)范化,在日漸復(fù)雜的數(shù)據(jù)分析過(guò)程中,產(chǎn)生了更多類型的因子和更多樣化的投資策略。量化投資是借助量化金融分析方法進(jìn)行資產(chǎn)管理,量化金融分析方法是結(jié)合金融數(shù)據(jù)、個(gè)人經(jīng)驗(yàn)、數(shù)學(xué)模型和計(jì)算機(jī)技術(shù)的一種復(fù)雜金融建模的分析方法[1]。實(shí)現(xiàn)量化投資的方法多達(dá)數(shù)十種,Python、Matlab、SPSS、Eviews、Excel、SAS、R在量化界都是非常好用的工具,尤其是在數(shù)據(jù)分析方面。除Python外,其余幾個(gè)工具的優(yōu)勢(shì)都體現(xiàn)在數(shù)據(jù)分析方面,而量化投資是一個(gè)系統(tǒng)性工程,數(shù)據(jù)分析只是其中的一部分,不是全部。根據(jù)GitHub官網(wǎng)統(tǒng)計(jì),量化交易開(kāi)源項(xiàng)目共145個(gè),其中使用Python以外的技術(shù)進(jìn)行開(kāi)發(fā)的項(xiàng)目共70個(gè),應(yīng)用Python語(yǔ)言進(jìn)行開(kāi)發(fā)的多達(dá)75個(gè)。Python的開(kāi)源性促使開(kāi)發(fā)者開(kāi)發(fā)了大量的庫(kù)和模塊,而這些庫(kù)和模塊又使很多外行人能夠輕松入手,反過(guò)來(lái)又促進(jìn)了Python在該領(lǐng)域的發(fā)展。應(yīng)用Python語(yǔ)言爬取數(shù)據(jù),進(jìn)行數(shù)據(jù)挖掘和深度案例分析,能夠使量化投資基本實(shí)現(xiàn)從技術(shù)分析到金融設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)性掌控。因此,采用Python驅(qū)動(dòng)量化股票投資,對(duì)優(yōu)化股票投資策略和規(guī)避投資風(fēng)險(xiǎn)具有十分重要的意義。

2 基于Python的股票量化投資交易程序

2.1 基于Python的股票量化投資步驟

將Python要應(yīng)用到量化投資交易中,其步驟如圖1所示。

第一階段是數(shù)據(jù)收集。數(shù)據(jù)收集是很多券商機(jī)構(gòu)在做的業(yè)務(wù),有影響力的模塊庫(kù)有Tushare和Windpy,其中Windpy是Wind公司開(kāi)發(fā)的一個(gè)開(kāi)源接口。國(guó)內(nèi)的金融終端一般是Wind、iFind和Choice終端,這些終端軟件就是把企業(yè)和行業(yè)的數(shù)據(jù)收集到數(shù)據(jù)庫(kù),進(jìn)行深度分析,并稍加整理成表格,然后上傳到服務(wù)器中,方便客戶進(jìn)行相關(guān)的數(shù)據(jù)分析,一般情況下客戶都需要付費(fèi)來(lái)獲得數(shù)據(jù)。

第二階段是數(shù)據(jù)分析。NumPy用來(lái)存儲(chǔ)和處理多維數(shù)組和大型矩陣,搭配SciPy進(jìn)行計(jì)算;Pandas解決時(shí)間序列;用Matplotlib進(jìn)行2D繪圖從而實(shí)現(xiàn)數(shù)據(jù)可視化。Wind終端和Choice終端也有相關(guān)的業(yè)務(wù)在平臺(tái)上銷售,而該服務(wù)的購(gòu)買者通常是一些尚未具備分析能力和資格的小型機(jī)構(gòu)或行外人。

第三階段是策略研究。IPython是一個(gè)Python的交互式shell,能進(jìn)行變量的自動(dòng)補(bǔ)全和縮進(jìn),支持bash shell命令,內(nèi)置了一系列有用的功能和函數(shù);Jupyter可以對(duì)數(shù)據(jù)進(jìn)行清理和轉(zhuǎn)換,進(jìn)行數(shù)值模擬和統(tǒng)計(jì)建模等,是比較方便的策略研究工具;Zipline(國(guó)內(nèi)公司開(kāi)發(fā)的是RQalpha回測(cè)引擎)對(duì)真實(shí)交易系統(tǒng)的運(yùn)轉(zhuǎn)進(jìn)行模擬,利用歷史數(shù)據(jù)對(duì)投資策略進(jìn)行回測(cè)檢驗(yàn);具體的策略便可以理解為Python代碼的執(zhí)行。

第四階段是實(shí)盤交易。vn.py是基于Python的開(kāi)源交易平臺(tái)開(kāi)發(fā)框架;easytrader也是開(kāi)源模塊庫(kù),比較適合個(gè)人投資者。通俗來(lái)說(shuō),狹義的量化投資的應(yīng)用意義到第三階段為止,關(guān)于第四步的實(shí)盤交易還是需要經(jīng)過(guò)投資者參考過(guò)量化投資的模型后作出的決定。因?yàn)楣ぞ咧皇峭顿Y者進(jìn)行決策的輔助,人才是真實(shí)交易的決定者。

需要說(shuō)明的是,數(shù)據(jù)收集及案例中的模型,直接采用第三方平臺(tái)供應(yīng)的API數(shù)據(jù)源;數(shù)據(jù)分析因避免代碼繁冗多雜,直接采用第三方平臺(tái)的庫(kù)和框架進(jìn)行Python編程,其中BOLL指標(biāo)案例的策略使用到了Signal框架。利用第三方平臺(tái)的意義及其最終達(dá)到的回測(cè)效果與純自建量化交易策略項(xiàng)目無(wú)異,也非常適合個(gè)人投資者入手。文章選取A股市場(chǎng)進(jìn)行研究,選取樣本的原因是A股市場(chǎng)的數(shù)據(jù)有利于簡(jiǎn)化代碼量。比如,在A股市場(chǎng)上進(jìn)行交易,1手即為100股,而在港股市場(chǎng)上,不同的股票1手的股數(shù)不盡相同,有的1手是交易50股,有的1手是交易200股,這樣的數(shù)據(jù)可以簡(jiǎn)化很多代碼量。

2.2 基于Python的股票量化投資流程

雖然Python實(shí)現(xiàn)股票量化交易分為4個(gè)階段,但具體操作起來(lái),為了更貼合實(shí)際,通??梢越馕鰹?個(gè)流程,即獲取數(shù)據(jù)、數(shù)據(jù)分析挖掘、構(gòu)建信號(hào)、構(gòu)建策略、回測(cè)、策略分析、模擬交易和實(shí)盤交易。如圖2所示。

一是獲取數(shù)據(jù)。包括獲取公司新聞數(shù)據(jù)、關(guān)聯(lián)數(shù)據(jù),產(chǎn)業(yè)上下游、主營(yíng)業(yè)務(wù)、所屬行業(yè)主題等數(shù)據(jù),基本行情數(shù)據(jù),高頻數(shù)據(jù),股票 Level-1數(shù)據(jù),股票Level-2數(shù)據(jù)、期貨 Level-1數(shù)據(jù)等。

二是數(shù)據(jù)分析。數(shù)據(jù)分析挖掘采用傳統(tǒng)分析方法、新興大數(shù)據(jù)、機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘方法[2]。

三是構(gòu)建信號(hào)。在構(gòu)建信號(hào)前進(jìn)行數(shù)據(jù)處理、標(biāo)準(zhǔn)化、去極值、中性化,基礎(chǔ)信號(hào)的研究、分組回測(cè)、衰減、行業(yè)分布,將基礎(chǔ)信號(hào)合成復(fù)雜信號(hào)。

四是構(gòu)建策略。構(gòu)建策略模板要兼容不同標(biāo)的指標(biāo)函數(shù)和參數(shù)的策略,適用于股票、基金、期貨等金融資產(chǎn),兼容日線、分鐘線的策略,方便好用的策略函數(shù),獲取歷史行情、歷史持倉(cāng)信息、調(diào)倉(cāng)記錄等,支持各種訂單類型:止盈止損單、限價(jià)單、市價(jià)單。

五是回測(cè)測(cè)試?;販y(cè)要符合歷史的真實(shí)行情,并相應(yīng)的進(jìn)行股票分紅送轉(zhuǎn)、除權(quán)除息處理,股票漲跌停處理,股票停復(fù)牌處理,市場(chǎng)沖擊,交易滑點(diǎn)、手續(xù)費(fèi)、期貨保證金交易,大單分筆成交處理等。

六是策略分析。包括策略歸因、風(fēng)險(xiǎn)歸因、實(shí)時(shí)監(jiān)控,訂單分析、成交分析、持倉(cāng)分析、交易行為分析,多策略分析。

七是模擬交易。模擬交易需要接入實(shí)時(shí)行情、實(shí)時(shí)獲取成交回報(bào),籃子交易、算法交易,支持撤單處理,實(shí)時(shí)監(jiān)控、實(shí)時(shí)歸因分析。

八是實(shí)盤交易,即接入真實(shí)券商賬戶,緊緊跟隨市場(chǎng)行情,實(shí)時(shí)進(jìn)行下單,同時(shí)實(shí)時(shí)獲取訂單收益回報(bào)。

3 構(gòu)建基于Python的量化股票投資策略

3.1? BOLL指標(biāo)策略

利用BOLL指標(biāo)進(jìn)行模擬回測(cè),構(gòu)造一個(gè)BOLL指標(biāo)買賣策略,根據(jù)個(gè)人投資者的賬戶情況,設(shè)置賬戶初始資金為10萬(wàn)元,策略背景與規(guī)則如下。

(1)如果收盤價(jià)上穿BOLL上軌,買入;如果收盤價(jià)下穿BOLL下軌,則開(kāi)盤賣掉。

(2)回測(cè)策略時(shí)間區(qū)間設(shè)定為2018年全年,股票池為“滬深300”,參考指標(biāo)為“滬深300”。

(3)資金賬戶初始資金10萬(wàn),類型為股票賬戶。

(4)每次每只股票買20 000元左右,出現(xiàn)重復(fù)信號(hào)時(shí)不重復(fù)買入。

(5)當(dāng)買入信號(hào)的股票數(shù)量比資金多時(shí),隨機(jī)挑選買入,每個(gè)交易日全倉(cāng)操作。

(6)策略需導(dǎo)入第三方庫(kù)Pandas,框架為Signal。

利用Python語(yǔ)言編輯策略代碼并運(yùn)行回測(cè),得到BOLL指標(biāo)買賣策略收益回測(cè)結(jié)果,如圖3所示。

策略回測(cè)結(jié)果顯示,2018年全年,滬深300指數(shù)漲幅為-25.9%,依據(jù)滬深300制定的BOLL策略收益率僅為-6.9%,BOLL指標(biāo)買賣策略的模擬收益曲線較平緩,波動(dòng)幅度明顯小于滬深300的收益率波動(dòng)幅度,收益率相對(duì)穩(wěn)定,在2018年的熊市環(huán)境下,規(guī)避降低風(fēng)險(xiǎn)的效果顯著??梢?jiàn),構(gòu)建最簡(jiǎn)單的量化交易策略仍然是可行的,大環(huán)境熊市的影響,暫時(shí)不對(duì)策略的好壞進(jìn)行評(píng)價(jià)。這次對(duì)策略的可行性進(jìn)行檢測(cè),策略收益率已遠(yuǎn)勝于滬深300指數(shù)。

3.2 格雷厄姆成長(zhǎng)股內(nèi)在價(jià)值投資法

以格雷厄姆的成長(zhǎng)股內(nèi)在價(jià)值投資法[3]來(lái)制定策略與BOLL指標(biāo)策略不同,價(jià)值投資需要長(zhǎng)時(shí)間的驗(yàn)證,因此用最近3年為宜?!皟r(jià)值投資之父”格雷厄姆在《聰明的投資者》中給出了一個(gè)對(duì)成長(zhǎng)股內(nèi)在價(jià)值進(jìn)行估值的簡(jiǎn)單公式:

價(jià)值=當(dāng)期(正常)利潤(rùn)×(8.5+兩倍的預(yù)期年增長(zhǎng)率)

策略將以這條公式作為交易規(guī)則,策略的背景與規(guī)則如下。

(1)價(jià)值=當(dāng)期(正常)利潤(rùn)×(8.5 + 兩倍的預(yù)期年增長(zhǎng)率)。

(2)如果股票價(jià)格低于價(jià)值,則買入;如果股票價(jià)格高于價(jià)值,則賣出。

(3)回測(cè)策略時(shí)間選取2016年1月1日至2019年1月1日,股票池為“滬深300”,參考指標(biāo)為“滬深300”。

(4)資金賬戶初始資金10萬(wàn),類型為股票賬戶。

(5)倉(cāng)位以每支個(gè)股的持倉(cāng)權(quán)重為標(biāo)準(zhǔn)買入,每支個(gè)股持倉(cāng)最高不超過(guò)10%,出現(xiàn)重復(fù)信號(hào)時(shí)不重復(fù)買入。

(6)當(dāng)買入信號(hào)的股票數(shù)量比資金多時(shí),隨機(jī)挑選買入,每個(gè)月第1個(gè)交易日全倉(cāng)進(jìn)行調(diào)倉(cāng)操作。

(7)用了因子庫(kù)中的“EGRO”因子,5年收益增長(zhǎng)率來(lái)代表預(yù)期年增長(zhǎng)率。篩選出低估值,即股票市值小于其格雷厄姆估值的股票。

利用Python語(yǔ)言編輯策略代碼并運(yùn)行回測(cè),得到格雷厄姆成長(zhǎng)股內(nèi)在價(jià)值投資法策略收益回測(cè)結(jié)果,如圖4所示。

策略回測(cè)結(jié)果顯示,滬深300指數(shù)三年間的基準(zhǔn)年化收益率為-7.1%,而策略線的年化收益率是4.0%,格雷厄姆成長(zhǎng)股價(jià)值投資法策略的模擬收益曲線較平緩,波動(dòng)幅度明顯小于滬深300的收益率波動(dòng)幅度,收益率相對(duì)穩(wěn)定,降低了部分投資風(fēng)險(xiǎn),利用格雷厄姆的投資法制定的策略也是可行的。

綜上所述,兩個(gè)策略案例都證明了Python驅(qū)動(dòng)的量化股票投資方案在提高收益率和規(guī)避風(fēng)險(xiǎn)方面的有效性,同時(shí)Python量化投資還可以通過(guò)回測(cè)指標(biāo)分析進(jìn)行個(gè)股篩選,對(duì)于個(gè)人投資者來(lái)說(shuō),是行之有效的投資工具。如果投資者能夠深入研究,調(diào)整參數(shù)指標(biāo),將更會(huì)適應(yīng)中國(guó)市場(chǎng),獲得更理想的收益。

3.3 Python驅(qū)動(dòng)的數(shù)據(jù)庫(kù)

從表面上看,一串代碼實(shí)現(xiàn)了提高股票組合的收益率和模擬收益曲線,其實(shí)事情遠(yuǎn)不止這么簡(jiǎn)單,Python真正驅(qū)動(dòng)的是背后龐大的數(shù)據(jù)源,這也是利用第三方平臺(tái)對(duì)策略回測(cè)的原因。搭建數(shù)據(jù)庫(kù)需要一整套龐大的設(shè)備,其中不乏價(jià)格高昂的服務(wù)器和硬盤,耗資巨大,普通投資者不會(huì)在這些設(shè)備方面投入資金。在量化投資領(lǐng)域中常用的一個(gè)詞“因子”,因子就是經(jīng)過(guò)人為的采集、編譯并存儲(chǔ)到數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)集合。不同的公司或數(shù)據(jù)庫(kù)搭建者都會(huì)根據(jù)自己的偏好對(duì)因子進(jìn)行命名,存儲(chǔ)在數(shù)據(jù)庫(kù)中,等到策略運(yùn)行的時(shí)候再調(diào)用出來(lái)。隨著量化投資的發(fā)展,股票市場(chǎng)中很多數(shù)據(jù)都是可以被量化的,尤其是報(bào)表指標(biāo)和技術(shù)指標(biāo),這些指標(biāo)被制作成兩種因子:價(jià)值派指標(biāo)因子和技術(shù)派指標(biāo)因子。價(jià)值派指標(biāo)因子系列的分支有:股指市值型因子、償債能力型因子、收益型因子、盈利能力型因子、運(yùn)營(yíng)能力型因子等。技術(shù)派指標(biāo)因子系列下也派生出很多的分支,比如:成交量型因子、趨勢(shì)型因子、能量型因子、超買超賣型因子、均線型因子等[4]。另外,很多當(dāng)初被認(rèn)為不能進(jìn)行量化的數(shù)據(jù)也被實(shí)現(xiàn)了量化,比如分析師預(yù)期型因子,還有股民熱度型因子。其中股民熱度型因子在其他地區(qū)的股票市場(chǎng)上是發(fā)展不了的,比如美股市場(chǎng)上的投資者就不會(huì)像A股投資者一樣,在論壇上每天都討論得熱火朝天。A股投資者能對(duì)市場(chǎng)產(chǎn)生較大的影響,同時(shí)又很喜歡到股吧論壇上討論自己看空看多,因此這些數(shù)據(jù)在A股市場(chǎng)上獨(dú)樹(shù)一幟地發(fā)展了起來(lái),數(shù)據(jù)量足夠的龐大,不少機(jī)構(gòu)便把它做成了股民熱度型因子。

3.4 Python對(duì)量化股票投資的影響

量化投資界的重量級(jí)人物數(shù)學(xué)家詹姆斯·西蒙斯(James Simons),創(chuàng)造了“用公式打敗市場(chǎng)”的傳奇。由他在1989年創(chuàng)辦的基金成立至今已有30年時(shí)間,該基金年均35%的凈回報(bào)率,遠(yuǎn)遠(yuǎn)超過(guò)了年均回報(bào)率20%左右的股神巴菲特。如果每位個(gè)人投資者都做到他的一半,也就是利用量化投資創(chuàng)造年均17.5%的凈回報(bào)率,都很了不起了。很多傳統(tǒng)投資者認(rèn)為美國(guó)與中國(guó)的投資環(huán)境和制度不同,量化投資不一定能為投資者帶來(lái)可觀的收益。其實(shí)學(xué)習(xí)了量化投資的知識(shí)便會(huì)發(fā)現(xiàn),只需要在Python編程的時(shí)候引入不同的因子便可以了。的確,在美股中的量化策略不適用于A股,但參數(shù)是可調(diào)的,在A股市場(chǎng)中制作量化策略,可以引入股民熱度型因子,再設(shè)置適當(dāng)?shù)臋?quán)重。如果半數(shù)以上的個(gè)人投資者能夠熟練運(yùn)用Python進(jìn)行量化股票組合投資,不僅能避過(guò)2018年跌跌不休的熊市,做得好的更能收獲可觀的收益。

4 Python驅(qū)動(dòng)的量化股票投資的保障措施

Python驅(qū)動(dòng)的股票量化投資模型中的各指標(biāo)參數(shù)的選取是關(guān)鍵,需要龐大的數(shù)據(jù)資料,對(duì)參數(shù)反復(fù)修正,才會(huì)獲得更接近實(shí)際情況的參數(shù)。根據(jù)各種參數(shù)創(chuàng)建的子模型只有通過(guò)實(shí)踐數(shù)據(jù)和時(shí)間的檢驗(yàn)才是成功的。如何使模型具有普遍的可理解性,簡(jiǎn)化投資者操作使用,還需要反復(fù)驗(yàn)證、修正、提煉、升華與定型。

4.1 加強(qiáng)數(shù)據(jù)庫(kù)的規(guī)范化管理

大部分投資者運(yùn)用量化投資自制策略時(shí),都是在第三方平臺(tái)上創(chuàng)建量化交易策略的,Python編寫(xiě)的策略代碼也存放在第三方平臺(tái)處。不論是某個(gè)商業(yè)平臺(tái)還是某個(gè)開(kāi)源平臺(tái),這都會(huì)使投資者的數(shù)據(jù)文件面臨泄露威脅等一系列數(shù)據(jù)信息安全性問(wèn)題。然而,在量化投資的后期,隨著資金池不斷發(fā)展壯大,安全性就越來(lái)越受到重視,特別是對(duì)相關(guān)的策略代碼進(jìn)行保護(hù)。投資者若想規(guī)避這種數(shù)據(jù)的安全性風(fēng)險(xiǎn),需要自掏腰包創(chuàng)建數(shù)據(jù)庫(kù),置辦機(jī)房、服務(wù)器等,這樣就會(huì)大幅度提高投資成本,需要更高的技術(shù)水平和管理水平。如果是發(fā)展到這個(gè)階段,可以對(duì)數(shù)據(jù)及其安全性進(jìn)行規(guī)范化管理了。目前加密算法也有很多,最著名的是Hash算法。Hash算法普遍應(yīng)用于世界各地,同時(shí)安全性能相當(dāng)高,各大互聯(lián)網(wǎng)公司、銀行、區(qū)塊鏈等都在用。在Python中運(yùn)用更是簡(jiǎn)單易上手,直接導(dǎo)入Hashlib模塊即可,在設(shè)置訪問(wèn)數(shù)據(jù)庫(kù)時(shí)添加Hash函數(shù)即可。

4.2 考慮策略執(zhí)行結(jié)果的風(fēng)險(xiǎn)

取得的上市公司財(cái)務(wù)數(shù)據(jù)具有滯后性,對(duì)數(shù)據(jù)的修正容易造成很難察覺(jué)的微小錯(cuò)誤,終值又很難確定,只能使用初始值進(jìn)行修正分析,這種基于初始財(cái)務(wù)數(shù)據(jù)的調(diào)整修正會(huì)對(duì)量化投資策略產(chǎn)生影響,進(jìn)而影響選股結(jié)果。另外,量化投資策略的第四個(gè)階段是實(shí)盤交易,實(shí)盤交易時(shí)由于市場(chǎng)上不乏“灰犀牛”和“黑天鵝”,因此,要根據(jù)不同的市場(chǎng)外在因素,不斷地調(diào)整策略參數(shù),維護(hù)成本比較高[5]。

4.3 剔除量化投資的主觀色彩

做量化交易的投資者必須具備很強(qiáng)的編程能力和數(shù)學(xué)基礎(chǔ),在開(kāi)發(fā)策略時(shí)需要分析大量數(shù)據(jù),不斷進(jìn)行回測(cè),從而優(yōu)化模型。需要投資者具備經(jīng)濟(jì)學(xué)知識(shí)和思維,同時(shí)對(duì)金融市場(chǎng)有著獨(dú)特的見(jiàn)解作為理論支撐,而這些見(jiàn)解往往都是帶有主觀色彩的。因此,投資者在做出決策前,內(nèi)心都有一個(gè)既定的主觀判斷腳本,在做決策時(shí)往往希望找到相關(guān)的數(shù)據(jù)支持。所以在制作量化投資決策時(shí),應(yīng)盡量剔除投資者主觀因素的影響。

4.4 不斷優(yōu)化量化投資的算法

Python編寫(xiě)的代碼具有“簡(jiǎn)單易上手”的特點(diǎn)。然而,簡(jiǎn)潔性暴露了缺點(diǎn),即不嚴(yán)謹(jǐn)。不嚴(yán)謹(jǐn)?shù)恼Z(yǔ)法在應(yīng)用到現(xiàn)實(shí)生活中的時(shí)候,往往會(huì)出現(xiàn)一點(diǎn)點(diǎn)小問(wèn)題。沒(méi)有人知道會(huì)出現(xiàn)什么問(wèn)題,也許就是忽然某一天出現(xiàn)的這一點(diǎn)兒?jiǎn)栴}虧損了投資人的部分資金。算法上需要優(yōu)化的便是速度,因?yàn)镻ython并不是底層技術(shù),它是上層的解析性語(yǔ)言,執(zhí)行起來(lái)比較慢。如果某只小市值股票的莊家A發(fā)現(xiàn)有個(gè)投資者B在利用量化投資做自家的股票,這個(gè)莊家A便利用他的資金優(yōu)勢(shì)和硬件優(yōu)勢(shì),開(kāi)啟機(jī)械式掛單,直接斷崖式拉低股價(jià),以極小的速度差搶在B的前面下了賣單。由于B的量化程序的速度不夠快,所以股票未賣出,而價(jià)格又達(dá)到了策略設(shè)置好的割肉價(jià)格。于是,B的量化程序便無(wú)奈地掛出更低的賣價(jià)掛單,此時(shí)莊家便可以掛買單收獲籌碼了。解決這兩個(gè)問(wèn)題有效的途徑就是算法上的優(yōu)化,因此,投資者需要終身學(xué)習(xí),學(xué)習(xí)一些相關(guān)的編程語(yǔ)言,比如匯編語(yǔ)言:C語(yǔ)言。利用Python進(jìn)行量化程序的大部分策略定制工作,同時(shí)利用C語(yǔ)言進(jìn)行執(zhí)行決策,這樣,雙劍合璧,更能高效快速地運(yùn)行,以彌補(bǔ)Python在算法上的缺點(diǎn)。

5 結(jié) 論

股票投資是有風(fēng)險(xiǎn)的,量化并不能降低風(fēng)險(xiǎn),但卻能通過(guò)數(shù)學(xué)的方式體現(xiàn)出來(lái)。通過(guò)研究,文章首先闡明了目前股市環(huán)境中運(yùn)用量化投資的意義。其次,論述了基于Python的股票量化投資交易的程序。再次,構(gòu)建了基于Python的量化股票投資策略,其中,設(shè)計(jì)的兩個(gè)策略分別是根據(jù)經(jīng)典的BOLL指標(biāo)和格雷厄姆的成長(zhǎng)股選股法進(jìn)行設(shè)計(jì)的,雖然進(jìn)行了策略回測(cè),但因?yàn)槲磥?lái)的市場(chǎng)環(huán)境具有不確定性,得出的結(jié)論仍需要通過(guò)后續(xù)的實(shí)盤操作來(lái)檢驗(yàn)。最后,根據(jù)實(shí)際情況和未來(lái)可能發(fā)生的操作風(fēng)險(xiǎn)提出了運(yùn)用Python量化股票投資的保障措施,包括加強(qiáng)數(shù)據(jù)庫(kù)的規(guī)范化管理、考慮策略執(zhí)行結(jié)果的風(fēng)險(xiǎn)、剔除量化投資的主觀色彩和不斷優(yōu)化量化投資的算法,充分證明了個(gè)人投資者運(yùn)用Python語(yǔ)言進(jìn)行量化股票組合投資是可行的。尤其為在熊市下虧損嚴(yán)重的個(gè)人投資者,提供了更科學(xué)的投資方式及應(yīng)用工具,對(duì)改變A股的投資環(huán)境也是十分有益的。

參考文獻(xiàn):

[1]方浩文.量化投資發(fā)展趨勢(shì)及其對(duì)中國(guó)的啟示[J].管理現(xiàn)代化,2012(5):3-5.

[2]Daniel T.數(shù)據(jù)挖掘與預(yù)測(cè)分析[M].王念濱,宋敏,裴大茗,譯.北京:清華大學(xué)出版社,2017.

[3]陳瑤瑜.本杰明·格雷厄姆成長(zhǎng)股價(jià)值投資策略實(shí)證分析[J].時(shí)代金融,2016(12): 323-324,326.

[4]黃凱倫. 基于AdaBoost算法的動(dòng)態(tài)多因子選股模型[D]. 北京:對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué),2017.

[5]駱曉強(qiáng),梁權(quán)琦,楊曉光. 當(dāng)前中國(guó)經(jīng)濟(jì)的“灰犀?!焙汀昂谔禊Z”[J]. 中國(guó)科學(xué)院院刊,2017(12): 1356-1370.

[作者簡(jiǎn)介]吳梅(1973—),女,漢族,黑龍江阿城人,高級(jí)會(huì)計(jì)師,研究方向:投資策略研究。

猜你喜歡
Python語(yǔ)言
關(guān)于面向非計(jì)算機(jī)專業(yè)開(kāi)設(shè)Python語(yǔ)言的幾點(diǎn)思考
計(jì)算思維培養(yǎng)視域下《Python程序設(shè)計(jì)》課程的教學(xué)改革實(shí)踐
在高中信息技術(shù)課中培養(yǎng)學(xué)生計(jì)算思維的有效方法探討
基于KNN算法的手寫(xiě)數(shù)字識(shí)別
Python語(yǔ)言教學(xué)中問(wèn)題解決能力和創(chuàng)新能力的培養(yǎng)實(shí)踐
Python語(yǔ)言程序設(shè)計(jì)教學(xué)體系建設(shè)
面向計(jì)算生態(tài)的Python語(yǔ)言入門課程教學(xué)方案
基于Python語(yǔ)言和支持向量機(jī)的字符驗(yàn)證碼識(shí)別
論P(yáng)ython程序設(shè)計(jì)語(yǔ)言
基于Python語(yǔ)言的面向?qū)ο笳n程實(shí)踐教學(xué)探討
新乡县| 历史| 山东| 岳普湖县| 巴马| 兴安县| 鄂伦春自治旗| 沭阳县| 岑溪市| 皋兰县| 南召县| 共和县| 深水埗区| 英超| 青铜峡市| 龙游县| 山东省| 金乡县| 三台县| 红安县| 济宁市| 东丰县| 莫力| 莱西市| 连山| 江门市| 印江| 荔波县| 甘南县| 温泉县| 汕头市| 辽中县| 平江县| 海淀区| 昌邑市| 凌云县| 武隆县| 广河县| 纳雍县| 湘阴县| 辽宁省|