量化投資主要基礎(chǔ)知識
正如前文所說,量化投資是以金融學(xué)昵骤、數(shù)學(xué)、計算機科學(xué)為基礎(chǔ)的科學(xué)肯适,其知識結(jié)構(gòu)可以用下圖所示:
整個量化投資的過程变秦,是一個包含策略生成與優(yōu)化、策略回溯框舔、選股與擇時蹦玫、自動交易執(zhí)行、交易數(shù)據(jù)再分析刘绣、策略再優(yōu)化等多個過程樱溉,不斷循環(huán)、不斷自我優(yōu)化的過程纬凤。
量化投資產(chǎn)品的基本流程框架
經(jīng)濟&金融基礎(chǔ)知識
貨幣的時間價值
貨幣時間價值是指貨幣經(jīng)歷一定時間的投資和再投資所增加的價值福贞,也稱資金的時間價值。
例如停士,今天的100元和一年后的100元是不等值的挖帘。今天將100元存入銀行,在銀行利息率10%的情況下恋技,一年以后會得到110元拇舀,多出的10元利息就是100元經(jīng)過一年時間的投資所增加了的價值,即貨幣的時間價值猖任。
由于不同時間的資金價值不同你稚,所以,在進行價值大小對比時,必須將不同時間的資金折算為同一時間后才能進行大小的比較刁赖。
這里還涉及到 回報率 搁痛、折現(xiàn)率、機會成本 等概念宇弛,這里就不再展開介紹鸡典,有興趣的朋友可以自行百度。
復(fù)利的優(yōu)勢
單利和復(fù)利都是計息的方式枪芒,單利是前一期的利息不參與之后的計息彻况,復(fù)利是前一期的利息參與之后的計息。在本節(jié)最后舅踪,我們會以復(fù)利的計算作為我們第一個程序纽甘,在這里我們會看到復(fù)利的神奇。
資產(chǎn)收益率和風(fēng)險
在投資的過程中抽碌,資產(chǎn)收益和風(fēng)險都是可度量的悍赢。
資產(chǎn)收益率 = 投資收益 ÷ 投資成本,具體的還分為:期間收益率货徙、期間凈收益率左权、單期收益率、多期收益率痴颊、年化收益率等赏迟。
資產(chǎn)風(fēng)險的來源包括:市場風(fēng)險、利率風(fēng)險蠢棱、匯率風(fēng)險锌杀、流動性風(fēng)險、信用風(fēng)險裳扯、通貨膨脹風(fēng)險抛丽、運營風(fēng)險等。而資產(chǎn)風(fēng)險的度量可通過方差分析進行計算饰豺,這就是方差風(fēng)險度量亿鲜,以次來描述風(fēng)險的不確定性。
此外冤吨,還有下行偏差度量蒿柳、風(fēng)險價值度量、期望虧空漩蟆、最大回撤 等度量指標(biāo)垒探,以后在實際程序功能實現(xiàn)時,我們都會逐一展開怠李。
投資組合理論
投資都希望獲取更多的收益圾叼,盡可能的避免風(fēng)險蛤克,資產(chǎn)配置是解決這一問題的有效途徑。這里也在次說明夷蚊,量化投資是在概率上保證好的收益构挤,而不是絕對的保證一直股票、一次投資收益惕鼓。
后面我們會通過Python語言實現(xiàn) 均值-方差模型筋现、Black-Litterman模型 的投資組合分析。
資本資產(chǎn)定價模型(CAPM)
資本資產(chǎn)定價模型(CAPM)是在資產(chǎn)組合理論和資本市場理論的基礎(chǔ)上發(fā)展起來的箱歧,主要研究證券市場中資產(chǎn)的預(yù)期收益率與風(fēng)險資產(chǎn)之間的關(guān)系矾飞,以及均衡價格是如何形成的,是現(xiàn)代金融市場價格理論的支柱呀邢。CAPM中有兩個最主要的假設(shè):第一洒沦,投資者是理性的;第二驼鹅,資本市場是完全有效的市場微谓,其模型公式如下:
E(ri)=rf+βim(E(rm)-rf)
其中:
- E(ri) :是資產(chǎn)i 的預(yù)期回報率
- rf :是無風(fēng)險利率
- βim: 是[Beta系數(shù)],即資產(chǎn)i 的系統(tǒng)性風(fēng)險
- E(rm) :是市場m的預(yù)期市場回報率
- E(rm)-rf :是市場風(fēng)險溢價(marketrisk premium)输钩,即預(yù)期市場回報率與無風(fēng)險回報率之差。
關(guān)于資本資產(chǎn)定價模型(CAPM)的具體程序計算與實際應(yīng)用仲智,我們會在以后的文章中有詳細(xì)介紹买乃。
三因子模型
在資產(chǎn)定價模型(CAPM)的實際中,發(fā)現(xiàn)CAPM模型并不足以充分解釋資產(chǎn)的收益率钓辆,此后 Fama 和 French 仿照 CAPM 模型提出了三因子模型剪验,三因子包括:市場資產(chǎn)組合(Rm? Rf)、市值因子(SMB)前联、賬面市值比因子(HML)功戚,其公式為:
E(Rit) ?Rft= βi[E(Rmt?Rft)] +siE(SMBt) +hiE(HMIt)
其中:
- Rft:時間 t 的無風(fēng)險收益率
- Rmt: 時間 t 的市場收益率
- Rit:資產(chǎn) i 在時間 t 的收益率
- SMBt: E(Rmt?Rft): 市場風(fēng)險溢價
- HMIt:時間t的賬面市值比因子的模擬組合收益率時間t的市值(Size)因子的模擬組合收益率
- β、si和hi分別是三個因子的系數(shù)似嗤。
回歸模型表示如下:
Rit? Rft= ai+ βi(Rmt? Rft) + SiSMBt+ hiHMIt+ εit
主要的量化分析方法分類
對于量化投資策略數(shù)量龐大啸臀,個人認(rèn)為可以分下幾個大類
- 基本面量化(價值量化):價值量化主要是依靠基本面數(shù)據(jù)、價值模型等進行價值分析與選股的策略烁落,如上所提到的 CAPM 就屬于這里一類乘粒;
- 動量策略:動量策略主要是預(yù)先對股票收益和交易量等參數(shù)設(shè)定過濾條件,當(dāng)參數(shù)達到過濾條件是伤塌,提示進行買入或賣出操作灯萍;
- 均值回歸策略:均值回歸主要指股票價格如論高低,都會以很高的概率像均值回歸每聪,均值回歸策略就是根據(jù)價格與價值的差值作為判斷依據(jù)的量化策略旦棉;
- 其它新興策略:隨著人工智能齿风、機器學(xué)習(xí)、自然語言處理绑洛、大數(shù)據(jù)分析等技術(shù)的發(fā)展救斑,涌現(xiàn)出的一些新的量化策略。
主要常見的量化工具包
- Zipline:是一個自動化交易回測框架
- TA-Lib:作為一套被業(yè)界廣泛應(yīng)用的開源技術(shù)分析庫(包含技術(shù)指標(biāo)計算和K線模式識別等)诊笤,TA-Lib自1999年發(fā)布以來已經(jīng)有了十多年的歷史系谐,其中包括200多項指標(biāo),如ADX讨跟,MACD纪他,RSI,Stochastic晾匠,Bollinger Bands等.. 茶袒,燭線圖模式識別,并提供了C/C++凉馆, Java薪寓, Perl, Python 和 .NET等各種語言接口澜共;
- vnpy:提供了交易和數(shù)據(jù)的接口向叉,基本覆蓋了國內(nèi)外常規(guī)交易品種(證券、期貨嗦董、期權(quán)母谎、外匯、CFD)京革,在量化系統(tǒng)中奇唤,作為實盤自動化交易的框架。
- PyAlgoTrade:簡稱 PAT匹摇,是開源的Python 量化交易平臺咬扇,支持策略回測和實盤交易
主要量化投資平臺
- MindGo量化交易平臺:同花順下的MINDGO量化在線平臺我感覺還不錯,依靠同花順強大的數(shù)據(jù)庫支撐廊勃,平臺經(jīng)過一段時間的發(fā)展懈贺,數(shù)據(jù)方面優(yōu)勢非常明顯。
- 米筐科技Ricequant :www.ricequant.com
- 聚寬:www.joinquant.com供搀∮缇樱基本上參考的 Quantopian;
- 果仁網(wǎng) 可以的葛虐,網(wǎng)站上的量化研究工具和回測體驗都很不錯
- BigQuant:采取了Quantopian比較成熟開放的zipline回測引擎胎源。
- Uqer優(yōu)礦 :www.uqer.io,是通聯(lián)數(shù)據(jù)旗下的量化平臺
第一個量化程序
前面講了這么多屿脐,而投資中最基本也是最神奇的概念涕蚤,應(yīng)該就是復(fù)利的概念宪卿。這一概念告訴我們最重要的一點就是投資不可急功近利,在這里寫下自己的投資三原則万栅,以時刻提醒自己:
第一條:不要幻想自己比別人聰明幸運
第二條:先保證本金安全佑钾,再考慮投資,絕不可為了交易而交易
第三條:只爭取自己合理收益烦粒,也就是說掙自己該掙得休溶,不要管別人掙多少
復(fù)利的魅力
下面我們用python程序簡單驗證下復(fù)利的魅力,也算是 量化投資程序開發(fā)的正式開端扰她。
在這里兽掰,我們對比在 40 年的時間里,每年投入 1 萬元徒役,年利率分別為:5%孽尽、10% 、15%忧勿、20% 的情況下杉女,最終的收益率。Python程序如下:
import numpy as np
import scipy as sp
import pandas as pd
import matplotlib as mpl
import matplotlib.pylab as plt
def fuli(k, nyear, xd):
d2 = np.fv(k, nyear, -xd, -xd)
d2 = round(d2)
return d2
dx05 = [fuli(0.05, x, 1) for x in range(0,40)]
dx10 = [fuli(0.10, x, 1) for x in range(0,40)]
dx15 = [fuli(0.15, x, 1) for x in range(0,40)]
dx20 = [fuli(0.20, x, 1) for x in range(0,40)]
df = pd.DataFrame(columns=['5%','10%','15%','20%'])
df['5%'] = dx05
df['10%'] = dx10
df['15%'] = dx15
df['20%'] = dx20
print(df.tail())
df.plot()
plt.show()
最終結(jié)果如下圖所示:
具體數(shù)據(jù)對比如下:
5% 10% 15% 20%
35 96.0 299.0 1014.0 3539.0
36 102.0 330.0 1167.0 4248.0
37 108.0 364.0 1344.0 5098.0
38 114.0 401.0 1546.0 6119.0
39 121.0 443.0 1779.0 7344.0
可以看到鸳吸,每年投入僅僅 1 萬元熏挎,堅持投資 40年,在年利率 5% 的情況下晌砾,最終受益 121萬元婆瓜,而在年利率 20% 的情況下,最終受益驚人的高達 7344 萬元贡羔。
真的是投資不可急功近利,下面等待我們開始一步一步的實現(xiàn)我們自己的量化框架吧个初!