Portofolio 在金融中的任何領(lǐng)域都是非常重要的一環(huán)。從最直接的金融投資領(lǐng)域來看廷支,如何構(gòu)造最優(yōu)的投資組合使得 risk 在人們的可接受范圍之內(nèi),又能夠獲得可觀的expected value 是一個(gè)一直都在被研究的問題。從金融風(fēng)險(xiǎn)管理的角度出發(fā)森爽,通過已有的金融資產(chǎn)組合來計(jì)算對(duì)應(yīng)的risk,如計(jì)算對(duì)應(yīng)的 VAR(在險(xiǎn)價(jià)值)和 尾部相關(guān)系數(shù)嚣镜,來判斷這部分金融資產(chǎn)在未來的穩(wěn)定性爬迟,從而決定是否對(duì)金融資產(chǎn)進(jìn)行調(diào)整。從金融工程的領(lǐng)域來看菊匿,如何在眾多的金融衍生工具中付呕,構(gòu)造出滿足客戶需求的金融產(chǎn)品,也是Portfolio的一部分捧请。
下面我們之間進(jìn)入正題凡涩,在投資組合數(shù)學(xué)模型中,我們用期望(Expected value)做為收益率的估計(jì)疹蛉,用方差(Variance)來衡量資產(chǎn)的風(fēng)險(xiǎn)活箕,用Co-variance來衡量?jī)蓚€(gè)或者多個(gè)資產(chǎn)間的相互影響。
我們先從最簡(jiǎn)單的線性系統(tǒng)出發(fā):
假設(shè)工廠中生產(chǎn)A,B 兩種產(chǎn)品可款,每個(gè)產(chǎn)品的消耗和利潤(rùn)和工廠的生產(chǎn)能力如下表所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Product A? ? ? ? ? ?Product B? ? ? ? Constraint
Labor? ? ? ? ? ? ? ? ? ? ? ? ? 9? ? ? ? ? ? ? ? ? ? ? ? 4? ? ? ? ? ? ? ? ? ? ?360
Equipment? ? ? ? ? ? ? ? ? 4? ? ? ? ? ? ? ? ? ? ? ? 5? ? ? ? ? ? ? ? ? ? ?200
Raw material? ? ? ? ? ? ? 3? ? ? ? ? ? ? ? ? ? ? ? 10? ? ? ? ? ? ? ? ? ?300
profit? ? ? ? ? ? ? ? ? ? ? ? ? 70? ? ? ? ? ? ? ? ? ? ? ?120
現(xiàn)在我們通過matlab育韩,來構(gòu)造出最優(yōu)組合使得工廠的利潤(rùn)最大化。
Matlab 在計(jì)算線性系統(tǒng)時(shí)闺鲸,它的邏輯思路如下圖所示:
Min f(x) 指所求函數(shù)的極值筋讨,下面三者都為線性系統(tǒng)的限制條件。
在此案例中摸恍,max ???????????? = 70??1 + 120??2
限制條件為:9??1 + 4??2 ≤ 360
? ? ? ? ? ? ? ? ? ? ? 4??1 + 5??2 ≤ 200
? ? ? ? ? ? ? ? ? ? ? 3??1 + 10??2 ≤ 300
? ? ? ? ? ? ? ? ? ? ? ???1 ≥ 0, ??2≥ 0
轉(zhuǎn)化為matlab 算法可知:
C=[-70; -120]悉罕,因?yàn)槲覀冃枰髉rofit的最大值,而matlab只能求最小值立镶,所以我們轉(zhuǎn)化為負(fù)號(hào)壁袄,求出最小值之后再取絕對(duì)值。
Ax≤b 的條件中可知媚媒,A=[ 9 4;4 5;3 10], b=[360; 200; 300]
lb表示x1嗜逻,x2的最小取值,up表示x1 x2 的最大值缭召,該案例中只需要x1 x2 大于0即可
所以令lb=[0; 0].
因?yàn)椴淮嬖趯?duì)于Aeq*x=Beq的限制栈顷,所以令A(yù)eq和Beq 為空 [ ].
實(shí)際操作的Code 如圖所示:
得出結(jié)果[x1, x2]=[20,24];? fval=-4280, 最大profit 即為4280.
通過畫圖我們可知:
黑色線條在經(jīng)濟(jì)學(xué)中被稱為可行性邊界逆日,灰色陰影區(qū)域?yàn)榭尚行詤^(qū)域。紅圈即為我們所求的[x1,x2]的組合萄凤。通常最優(yōu)的投資組合就是在可行性邊界上選取的室抽,因?yàn)榭尚行赃吔绲狞c(diǎn)比擁有相同的收益率的點(diǎn)具有更小的風(fēng)險(xiǎn),比具有相同風(fēng)險(xiǎn)的點(diǎn)擁有更大的收益率蛙卤。具體大家可以看看投資學(xué)相關(guān)的書籍狠半。
Orz, 到現(xiàn)在為止颤难,只是最最最初步介紹關(guān)于matlab對(duì)線性系統(tǒng)的計(jì)算方法和舉了一個(gè)小例子神年,但作者已經(jīng)寫不動(dòng)了,等過兩天將分章節(jié)對(duì)matlab中的portofolio函數(shù)進(jìn)行介紹行嗤。