《金融計算:基于Python》 課件 第8、9章 Python金融市場風險測度、Python最優(yōu)投資組合_第1頁
《金融計算:基于Python》 課件 第8、9章 Python金融市場風險測度、Python最優(yōu)投資組合_第2頁
《金融計算:基于Python》 課件 第8、9章 Python金融市場風險測度、Python最優(yōu)投資組合_第3頁
《金融計算:基于Python》 課件 第8、9章 Python金融市場風險測度、Python最優(yōu)投資組合_第4頁
《金融計算:基于Python》 課件 第8、9章 Python金融市場風險測度、Python最優(yōu)投資組合_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

金融計算:基于Python

第9章 Python最優(yōu)投資組合【教學目的與要求】通過本章學習,結(jié)合習近平新時代中國特色社會主義經(jīng)濟思想,講授Python的投資組合收益率和風險計算、最優(yōu)投資組合的計算?!局攸c和難點】Python的最優(yōu)投資組合的計算?!舅颊四繕恕繉⒘暯叫聲r代中國特色社會主義經(jīng)濟思想融入到Python的的投資組合收益率和風險計算、最優(yōu)投資組合的計算的學習中?!菊n程學習目標】掌握Python的投資組合收益率和風險計算、最優(yōu)投資組合的計算。金融計算:基于Python2主要內(nèi)容8.1.股票收益率計算8.2.樣本密度函數(shù)估計8.3.金融風險指標的計算8.4.股票收益率預(yù)測8.5.在險價值計算8.6.期望短缺8.7.回溯檢驗8.8.壓力測試金融計算:基于Python38.1.股票收益率計算

金融計算:基于Python4#方法一df2['平安銀行收益率']=df2['平安銀行'].pct_change()#方法二df2['平安銀行收益率2']=(df2['平安銀行']-df2['平安銀行'].shift(1))/df2['平安銀行'].shift(1)8.1.3. 連續(xù)復合收益率

金融計算:基于Python58.1.4. 收益率均值計算

金融計算:基于Python68.2.樣本密度函數(shù)估計8.2.1.收益率直方圖直方圖是數(shù)值數(shù)據(jù)分布的精確圖形表示,是一個連續(xù)變量的概率分布的估計。為了構(gòu)建直方圖,第一步是將值的范圍分段,即將整個值的范圍分成一系列間隔;第二步計算每個間隔中有多少值。這些值通常被指定為連續(xù)的,不重疊的變量間隔。間隔必須相鄰,并且通常是相等的大小。金融計算:基于Python7#讀取數(shù)據(jù)文件函數(shù)defextract_data(path):#將Excel數(shù)據(jù)表讀入Python中

table=pd.read_excel(path,header=None)#將數(shù)據(jù)表轉(zhuǎn)換為2D數(shù)列

data=table.values#剔除非數(shù)字數(shù)據(jù)并將一維數(shù)列轉(zhuǎn)換為二維數(shù)列

data=data[~np.isnan(data)]returndata#繪制直方圖函數(shù)defplot_histogram(data,bins='auto',title=''):fig,ax=plt.subplots()#直接使用plt.hist畫圖

freq,bins,patches=plt.hist(data,

bins=bins,

density=True,

edgecolor='black')#頻數(shù)分布直方圖的標簽位置

bin_centers=np.diff(bins)*0.5+bins[:-1][例8.2.1]繪制平安銀行收益率和世紀星源收益率的直方圖。8.2.2. 簡單核密度估計法

金融計算:基于Python8[例8.2.2]繪制平安銀行股價的簡單核密度圖。8.2.3. 核密度估計

金融計算:基于Python9[例8.2.3]繪制帶寬分別為0.2,0.4和0.8時,example_data=[-2.95,-2.5,-1.7,-1.65,-1.62,1.1,1.9,2.2,2.4]的核密度圖。[例8.2.4]用兩個分布為N(?1,0.75)和N(1,0.75)累加的分布產(chǎn)生1000個隨機數(shù)據(jù),累加起來的分布是一個雙峰分布,并根據(jù)不同的窗口長度繪制核密度圖。[例8.2.5]讀取平安銀行股價數(shù)據(jù),繪制不同帶寬的核密度圖。8.3.金融風險指標的計算一般地,用極差、四分位差、平均差、方差、標準差、離散系數(shù)、偏度、峰度等指標度量金融市場的風險,使用第三章金融數(shù)據(jù)基礎(chǔ)分析工具來實現(xiàn)。金融計算:基于Python108.3.1. 基本指標df2_returns_range=np.max(df2_returns)-np.min(df2_returns)df2_returns_interquartile_range=df2_returns.quantile(0.75)-df2_returns.quantile(0.25)df2_returns_var=np.var(df2_returns)df2_returns_std=np.std(df2_returns)df2_returns_coefficient=np.std(df2_returns)/np.mean(df2_returns)金融計算:基于Python118.3.2. 偏度

金融計算:基于Python128.3.3. 峰度

金融計算:基于Python138.3.4. 正態(tài)性檢驗

金融計算:基于Python148.3.5. 波動率計算股票的波動率衡量了股票在特定時間內(nèi)收益率的變化,即收益率的標準差,一般地,波動率越高,該股票的投資風險更大,導致人們選擇投資其他股票。通過計算股票百分比變化的移動窗口標準差得到波動率。vol=df2['平安銀行收益率'].rolling(min_periods).std()*np.sqrt(min_periods)金融計算:基于Python158.4.股票收益率預(yù)測8.4.1.預(yù)測方法蒙特卡羅(MonteCarlo)方法又稱隨機抽樣或統(tǒng)計試驗方法,是在上世紀四十年代中期為了適應(yīng)當時原子能事業(yè)的發(fā)展而發(fā)展起來的。傳統(tǒng)的經(jīng)驗方法由于不能逼近真實的物理過程,很難得到滿意的結(jié)果,而蒙特卡羅方法由于能夠真實地模擬實際物理過程,故解決問題與實際非常符合,可以得到很圓滿的結(jié)果。金融計算:基于Python168.4.2. 股票收益率的蒙特卡羅模擬

金融計算:基于Python178.5.在險價值計算8.5.1.在險價值基本概念在險價值是VaR(ValueatRisk)的字面解釋,指在一定概率水平(置信度)下,某一金融資產(chǎn)或證券組合價值在未來特定時期內(nèi)的最大可能損失。在(1-α)的置信度下,假設(shè)其為未來一天的VaR值,可以解釋為該金融資產(chǎn)或證券組合在未來一天內(nèi)的損失超過的概率為α,或者有(1-α)的把握判斷該金融資產(chǎn)或證券組合在未來—天內(nèi)的損失在VaR以內(nèi)。金融計算:基于Python188.2.3. 核密度估計

金融計算:基于Python19要確定一個金融機構(gòu)或資產(chǎn)組合的VaR值,必須確定三個因素:持有期是風險所在的時間區(qū)間,也是取得觀察數(shù)據(jù)的頻率,即所觀察數(shù)據(jù)是日收益率、周收益率、月收益率或年收益率。置信水平是指根據(jù)某種概率測算的結(jié)果的可信程度,它表示了承擔風險的主體對風險的偏好程度。收益分布是VaR計算方法重要的前提條件。如果認定收益分布服從一定的條件,則可以利用該條件分布的參數(shù)求得VaR。VaR方法的核心在于描述金融時間序列的統(tǒng)計分布或概率密度函數(shù)。通常以價格或指數(shù)的對數(shù)收益率序列為描述對象[例8.5.1]某投資組合的盈虧是服從標準正態(tài)分布,置信水平分別為90%、95%、99%,模擬其風險價值VaR。8.5.2. 方差-協(xié)方差法算法

金融計算:基于Python20[例8.5.2]以上海電力、山東鋼鐵、浙能電力、中遠海能、華電國際股票2016-01-04至2019-12-31的數(shù)據(jù)為例,通過Python實現(xiàn)VaR值的計算。第一步:導入數(shù)據(jù),并計算均值、方差、協(xié)方差。第二步,投資組合收益率的計算:第三步,計算VaR值8.5.3. 歷史模擬法歷史模擬法以歷史可以在未來重復為假設(shè)前提,直接根據(jù)風險因素收益的歷史數(shù)據(jù)來模擬風險因素收益的未來變化。VaR值來自于投資組合收益的歷史分布,組合收益的歷史分布又來自于組合中每一金融工具的盯市價值(MarktoMarketvalue)。第一步,為組合中的風險因素安排一個歷史的市場變化序列;第二步,計算每一歷史市場變化的資產(chǎn)組合的收益變化;第三步,推算出VaR值。金融計算:基于Python218.5.4. 蒙特卡羅模擬法

金融計算:基于Python228.6.期望短缺

金融計算:基于Python238.6.1.方差-協(xié)方差法

金融計算:基于Python248.6.2. 歷史模擬法

金融計算:基于Python258.6.3. 蒙特卡羅模擬法按照8.5.4部分介紹的方法,采用歷史模擬法同樣方式尋找分位數(shù),求解ES值。[例8.6.3]對例8.5.2投資組合,使用蒙特卡羅模擬法計算期望短缺。金融計算:基于Python268.7.回溯檢驗回溯檢驗是指將通過模型得到的VaR估算結(jié)果與實際發(fā)生的損益進行比較,以檢驗?zāi)P偷臏蚀_性。比如計算得到持有期1天、置信水平95%的風險價值是1000萬,假如觀測的交易日天數(shù)是1000,如果交易日的損失金額超出1000萬元的天數(shù)是控制在50天左右(大約占總天數(shù)的5%),可以認為計算風險價值的模型是合理的;相反模型可能就不合理,可以通過假設(shè)檢驗或置信區(qū)間法來進行。金融計算:基于Python27巴塞爾框架要求所有使用內(nèi)部模型法計量市場風險必須要進行回溯測試?;厮轀y試目的,一方面可以用來檢測風險度量模型的恰當性,包括參數(shù)設(shè)置合理性、數(shù)據(jù)完整性、計算模型合理性;另一方面,可以用來幫助確認升級風險衡量模型的必要性。對一些投資者而言,計算VaR的模型可能比較簡單,當進行新的資產(chǎn)類型和國家地區(qū)的投資時,原有模型可能無法覆蓋相應(yīng)的資產(chǎn)類型,或者沒有相應(yīng)的數(shù)據(jù),此時可以用回溯測試來檢驗當前模型的合理性,是否有必要升級定價模型和購買更多數(shù)據(jù)。8.8.壓力測試壓力測試就是采用以定量分析為主的風險分析方法,測算壓力情景下凈資本和流動性等風險控制指標、財務(wù)指標、金融機構(gòu)內(nèi)部風險限額及業(yè)務(wù)指標的變化情況,評估風險承受能力,并采取必要應(yīng)對措施的過程。壓力測試根據(jù)不同的壓力情景可采用敏感性分析和情景分析等方法。敏感性分析是指測試單個重要風險因素發(fā)生變化時的壓力情景對金融機構(gòu)的影響;情景分析是指測試多種風險因素同時變化時的壓力情景對金融機構(gòu)的影響。金融計算:基于Python28壓力風險價值從字面上看是指處于壓力下的風險價值(VaR),其內(nèi)涵通過與風險價值相比較或許能夠理解得更透徹。壓力風險價值與風險價值的相同之處:二者都是基于統(tǒng)計分析的風險度量值,具有相同的統(tǒng)計表述含義,即未來某一日目標交易組合對應(yīng)某一置信度下的損失值。二者的不同之處在于歷史數(shù)據(jù)區(qū)間的選擇:風險價值計量所用的歷史數(shù)據(jù)區(qū)間應(yīng)該是最能夠反映組合頭寸持有期內(nèi)風險狀況的,一般情況下選擇與計量日相鄰的250個交易日。而壓力風險價值所使用的歷史數(shù)據(jù)區(qū)間(以下簡稱為壓力區(qū)間)應(yīng)該是使風險價值“承壓”的,壓力區(qū)間內(nèi)的風險狀況是否與當前市場對于未來的預(yù)期相符則無須考慮。金融計算:基于Python29金融計算:基于Python

第1章 金融數(shù)據(jù)及Python環(huán)境【教學目的與要求】通過本章學習,結(jié)合習近平新時代中國特色社會主義經(jīng)濟思想,講授金融數(shù)據(jù)來源、類型,及金融計算Python語言及環(huán)境?!局攸c和難點】JupyterNotebook數(shù)據(jù)分析平臺【思政育人目標】將習近平新時代中國特色社會主義經(jīng)濟思想融入到JupyterNotebook數(shù)據(jù)分析平臺的學習中?!菊n程學習目標】了解金融數(shù)據(jù)來源、類型,熟悉掌握JupyterNotebook、Python語言及環(huán)境。金融計算:基于Python31主要內(nèi)容9.1. 投資組合收益率和風險計算9.2. 最優(yōu)投資組合金融計算:基于Python329.1.投資組合收益率和風險計算9.1.1.投資組合收益率的計算投資組合的收益率就是總收益除以初始投入資本,類似于加權(quán)平均值的計算,將每個金融產(chǎn)品的收益率乘以該產(chǎn)品的投資占比,并對結(jié)果求和即可。需要注意的是,這里計算的收益率是從頭到尾的收益率,如果我們要計算一個收益率序列,是不能使用這種方式的。因為在第一期的時候,我們的配置比例是固定的,但是在第一期之后,隨著不同產(chǎn)品的不同波動,它們占我們資產(chǎn)配置的比例已經(jīng)發(fā)生了變化,因此需要不斷迭代更新我們的比例參數(shù),直接使用原始比例是錯誤的。金融計算:基于Python339.1.1.1.給定權(quán)重的投資組合給定權(quán)重的投資組合即預(yù)先設(shè)置一組權(quán)重(所有股票權(quán)重的和為1),處理方法是將每支股票的收益率,乘上其對應(yīng)的權(quán)重,得到加權(quán)后的股票收益率。金融計算:基于Python349.1.1.2.等權(quán)重的投資組合等權(quán)重的投資組合是平均分配每支股票的權(quán)重,使它們都相等。這是最簡單的投資方法,可作為其他投資組合的參考基準。計算方法和上面一致,只需更改存儲權(quán)重的數(shù)組。金融計算:基于Python359.1.1.3.值加權(quán)的投資組合值加權(quán)的投資組合是考慮了股票的市值,按市值的占比來分配權(quán)重。因此市值高的股票對應(yīng)的權(quán)重就更大,當這些市值高的股票表現(xiàn)良好時,該投資組合的表現(xiàn)也更好。金融計算:基于Python369.1.2. 投資組合相關(guān)性分析9.1.2.1.投資組合的相關(guān)矩陣相關(guān)矩陣用于估算多支股票收益之間的線性關(guān)系,可使用pandas數(shù)據(jù)框內(nèi)建的.corr()方法來計算。為了便于分析,可以將數(shù)值的相關(guān)矩陣用熱圖的形式展現(xiàn)出來。可以采用seaborn包來繪制熱圖。金融計算:基于Python379.1.2.2.投資組合的協(xié)方差矩陣相關(guān)系數(shù)只反應(yīng)了股票之間的線性關(guān)系,而協(xié)方差矩陣反應(yīng)的是股票的波動情況。可使用pandas數(shù)據(jù)框內(nèi)建的.cov()方法來計算協(xié)方差矩陣。金融計算:基于Python389.1.2.3.投資組合的標準差

金融計算:基于Python399.2.最優(yōu)投資組合

金融計算:基于Python40

金融計算:基于Python419.2.1. 資產(chǎn)組合有效邊界的繪制已知數(shù)據(jù)證券1-4的預(yù)期收益率分別為8%、12%、6%、18%,標準差分別為32%、26%、45%、36%,協(xié)方差矩陣:金融計算:基于Python42

證券1證券2證券3證券4證券10.10240.0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論