《金融計(jì)算:基于Python》 課件 第3-5章 Python金融計(jì)算基礎(chǔ)、Python債券價(jià)值計(jì)算、Python股票價(jià)值計(jì)算_第1頁
《金融計(jì)算:基于Python》 課件 第3-5章 Python金融計(jì)算基礎(chǔ)、Python債券價(jià)值計(jì)算、Python股票價(jià)值計(jì)算_第2頁
《金融計(jì)算:基于Python》 課件 第3-5章 Python金融計(jì)算基礎(chǔ)、Python債券價(jià)值計(jì)算、Python股票價(jià)值計(jì)算_第3頁
《金融計(jì)算:基于Python》 課件 第3-5章 Python金融計(jì)算基礎(chǔ)、Python債券價(jià)值計(jì)算、Python股票價(jià)值計(jì)算_第4頁
《金融計(jì)算:基于Python》 課件 第3-5章 Python金融計(jì)算基礎(chǔ)、Python債券價(jià)值計(jì)算、Python股票價(jià)值計(jì)算_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

金融計(jì)算:基于Python

第3章 Python金融計(jì)算基礎(chǔ)【教學(xué)目的與要求】通過本章學(xué)習(xí),結(jié)合習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義經(jīng)濟(jì)思想,講授Python金融數(shù)據(jù)的基本計(jì)算命令,描述性統(tǒng)計(jì),常見概率分布,數(shù)據(jù)可視化,python-scipy模塊及數(shù)據(jù)下載平臺(tái)。【重點(diǎn)和難點(diǎn)】Python金融數(shù)據(jù)的基本計(jì)算命令,描述性統(tǒng)計(jì),常見概率分布,數(shù)據(jù)可視化,python-scipy模塊?!舅颊四繕?biāo)】將習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義經(jīng)濟(jì)思想融入到Python金融數(shù)據(jù)計(jì)算的基礎(chǔ)知識(shí)與命令的學(xué)習(xí)中?!菊n程學(xué)習(xí)目標(biāo)】了解Python金融數(shù)據(jù)的基本計(jì)算命令,描述性統(tǒng)計(jì),常見概率分布,掌握數(shù)據(jù)可視化,python-scipy模塊及數(shù)據(jù)下載平臺(tái)。金融計(jì)算:基于Python2主要內(nèi)容3.1.數(shù)據(jù)的基本計(jì)算3.2.描述性統(tǒng)計(jì)3.3.常見概率分布3.4.數(shù)據(jù)的可視化3.5.python-scipy模塊3.6.Baostock數(shù)據(jù)平臺(tái)3.7.數(shù)據(jù)爬取3.8.AKShare數(shù)據(jù)平臺(tái)3.9.Efinance數(shù)據(jù)平臺(tái)金融計(jì)算:基于Python33.1. 數(shù)據(jù)的基本計(jì)算3.1.1.算術(shù)運(yùn)算.序列運(yùn)算序列運(yùn)算是根據(jù)行列索引,對(duì)齊后運(yùn)算,運(yùn)算默認(rèn)產(chǎn)生浮點(diǎn)數(shù),對(duì)齊時(shí)缺項(xiàng)填充NaN(空值)。自動(dòng)的數(shù)據(jù)對(duì)齊在索引處引入NAN值,缺失值在運(yùn)算過程中傳播。.DdtaFrame運(yùn)算除了用+、-、*、/,還可以用Series和DataFrame的算術(shù)方法,因?yàn)?c'和'e'列均不在兩個(gè)DataFrame對(duì)象中,在結(jié)果中以缺省值呈現(xiàn),行也是同樣,沒有共用的列或行標(biāo)簽,結(jié)果都會(huì)是空。金融計(jì)算:基于Python4.運(yùn)算中值填充在對(duì)不同索引的對(duì)象算術(shù)運(yùn)算時(shí),希望當(dāng)一個(gè)對(duì)象中某個(gè)軸標(biāo)簽在另一個(gè)對(duì)象中找不到時(shí)填充一個(gè)特殊值。如使用df1的add(sub)方法,實(shí)現(xiàn)數(shù)據(jù)的加法(減法)。.DataFrame和序列之間運(yùn)算從一個(gè)矩陣減去一個(gè)行序列時(shí),每一行都會(huì)執(zhí)行這一個(gè)操作。.函數(shù)的應(yīng)用元素級(jí)數(shù)組方法也可用于操作pandas對(duì)象;函數(shù)也可應(yīng)用到由各列或行所形成的一維數(shù)組上。如建立一個(gè)函數(shù)f,計(jì)算一個(gè)Series的最大值和最小值的差,在frame的每列都執(zhí)行一次。金融計(jì)算:基于Python53.1.2. 排序和排名.數(shù)據(jù)集排序根據(jù)條件可以對(duì)數(shù)據(jù)集進(jìn)行排序運(yùn)算,使用sort_index方法可以對(duì)行或列索引進(jìn)行排序(按字典順序),它將返回一個(gè)已排序的新對(duì)象:.DataFrame排序可以根據(jù)DataFrame任意一個(gè)軸上的索引進(jìn)行排序。.序列數(shù)據(jù)值的排序sort_values方法可以實(shí)現(xiàn)按值對(duì)Series進(jìn)行排序。任何缺失值默認(rèn)都會(huì)被放到Series的末尾。.DataFrame數(shù)據(jù)值的排序sort_values可以實(shí)現(xiàn)DataFrame一個(gè)或多個(gè)列中的值進(jìn)行排序。金融計(jì)算:基于Python63.2. 描述性統(tǒng)計(jì)Pandas可以實(shí)現(xiàn)常用的數(shù)學(xué)和統(tǒng)計(jì)功能,主要用于從Series中提取單個(gè)值(如sum或mean)或從DataFrame的行或列中提取一個(gè)Series。3.2.1.數(shù)據(jù)匯總統(tǒng)計(jì).數(shù)據(jù)求和Sum可以實(shí)現(xiàn)數(shù)據(jù)的匯總功能,返回一個(gè)含有列的和的序列。.間接統(tǒng)計(jì)Idxmin或idxmax可以實(shí)現(xiàn)一些間接統(tǒng)計(jì),返回達(dá)到最小值或最大值的索引。金融計(jì)算:基于Python73.2.2. 相關(guān)系數(shù)與協(xié)方差相關(guān)系數(shù)和協(xié)方差是通過參數(shù)對(duì)計(jì)算出來的,corr方法用于計(jì)算兩個(gè)序列中重疊的、非NA的、按索引對(duì)齊的值的相關(guān)系數(shù);cov方法用于計(jì)算協(xié)方差。corrwith方法,可以計(jì)算DataFrame其列或行跟另一個(gè)Series或DataFrame之間的相關(guān)系數(shù)。傳入一個(gè)Series將會(huì)返回一個(gè)相關(guān)系數(shù)值Series(針對(duì)各列進(jìn)行計(jì)算)。金融計(jì)算:基于Python83.2.3. 其它統(tǒng)計(jì).唯一值unique函數(shù)可以得到Series中的唯一值數(shù)組。.值的頻率統(tǒng)計(jì)value_counts可以計(jì)算一個(gè)Series中各值按值頻率降序排列。.資格統(tǒng)計(jì)isin是用于判斷矢量化集合的成員資格,一般用于過濾Series中或DataFrame列中數(shù)據(jù)的子集。金融計(jì)算:基于Python93.3. 常見概率分布3.3.1.連續(xù)型隨機(jī)變量的常見分布.均勻分布均勻分布指的是一類在定義域內(nèi)概率密度函數(shù)處處相等的統(tǒng)計(jì)分布。.正態(tài)分布正態(tài)分布也叫高斯分布.指數(shù)分布指數(shù)分布通常被廣泛用在描述一個(gè)特定事件發(fā)生所需要的時(shí)間,在指數(shù)分布隨機(jī)變量的分布中,有著很少的大數(shù)值和非常多的小數(shù)值.金融計(jì)算:基于Python103.3.2. 連續(xù)型隨機(jī)變量的常見分布.伯努利分布伯努利分布描述的是離散型變量且發(fā)生1次的概率分布,且X取值只有2個(gè),要么是0,要么是1..二項(xiàng)分布二項(xiàng)分布可以認(rèn)為是一種只有兩種結(jié)果(成功/失敗)的單次試驗(yàn)重復(fù)多次后成功次數(shù)的分布概率。.泊松分布假設(shè)已知事件在單位時(shí)間(或者單位面積)內(nèi)發(fā)生的平均次數(shù)為λ,則泊松分布描述了事件在單位時(shí)間(或者單位面積)內(nèi)發(fā)生的具體次數(shù)為k的概率。金融計(jì)算:基于Python113.4. 數(shù)據(jù)的可視化3.4.1.常用的繪圖函數(shù)matplotlib是Python用于創(chuàng)建圖表的繪圖包,提供了一整套繪圖命令,繪制中文圖形時(shí),必須進(jìn)行基本的設(shè)置。importmatplotlib.pyplotasplt #基本繪圖包plt.rcParams['font.sans-serif']=['KaiTi'] #黑體plt.rcParams['axes.unicode_minus']=False #正常顯示圖中負(fù)號(hào)plt.figure(figsize=(5,4))#圖形大小金融計(jì)算:基于Python12.基本統(tǒng)計(jì)圖bar()命令是繪制條形圖。pie()是繪制餅圖的命令。plot()是繪制拆線圖的命令。hist()用于表示連續(xù)型變量的頻數(shù)分布,實(shí)際應(yīng)用中常用于考察變量的分布是否服從某種分類類型。scatter()是繪制散點(diǎn)圖的命令。金融計(jì)算:基于Python13.圖形參數(shù)設(shè)置繪制圖形過程中,標(biāo)題、標(biāo)簽、顏色、線形等參數(shù)設(shè)置命令及說明。金融計(jì)算:基于Python14命令說明plt.title標(biāo)題,可以指定名稱、位置、顏色、字體大小等參數(shù)。plt.xlim設(shè)置橫坐標(biāo)范圍,可以指定名稱、位置、顏色、字體大小等參數(shù)。plt.ylim設(shè)置縱坐標(biāo)范圍,可以指定名稱、位置、顏色、字體大小等參數(shù)。plt.xlabel設(shè)置橫坐標(biāo)名稱,可以指定名稱、位置、顏色、字體大小等參數(shù)。plt.ylabel設(shè)置縱坐標(biāo)名稱,可以指定名稱、位置、顏色、字體大小等參數(shù)。plt.xticks設(shè)置橫坐標(biāo)刻度,可以指定名稱、位置、顏色、字體大小等參數(shù)。plt.yticks設(shè)置縱坐標(biāo)刻度,可以指定名稱、位置、顏色、字體大小等參數(shù)。colors或c控制圖形的顏色,'r':設(shè)置為紅色,'b':設(shè)置為藍(lán)色,'g':設(shè)置為綠色,'c':設(shè)置為青色,'m':設(shè)置為品紅色,'y':設(shè)置為黃色,'k':設(shè)置為黑色,'w':設(shè)置為白色linestyle控制連線的線形(‘-’:實(shí)線,‘--’:虛線,'-.'點(diǎn)劃線,':'虛線)linewidth或lw線寬,(字符串格式)可以輸入浮點(diǎn)數(shù)。marker控制符號(hào)的類型,詳見表3-3plt.axvline在縱坐標(biāo)y處畫垂直線plt.axhline在橫坐標(biāo)x處畫垂直線text(x,y,labels,...)在(x,y)處添加用labels指定的文字legend為圖形加圖例,可以指定圖例的大小、位置、標(biāo)簽。grid添加網(wǎng)格??梢灾付ňW(wǎng)格的方向、線類型、線寬、顏色。標(biāo)記符說明'.'點(diǎn)','像素點(diǎn)'o'循環(huán)'*'星號(hào)'v'下三角'^'上三角'<'左三角'>'右三角'1'向下微調(diào)'2'向上微調(diào)'3'向左微調(diào)'4'向右微調(diào)'s'正方形'p'五邊形'h'六邊形1'H'六邊形2'+'加號(hào)'P'加滿'x'x'X'X滿'D'鉆石'd'鉆石瘦'_'水平線‘|’排.多圖繪制可以通過add_subplot創(chuàng)建多個(gè)圖。金融計(jì)算:基于Python153.4.2. 基于pandas的繪圖在pandas中的數(shù)據(jù)包含多列、多行的數(shù)據(jù),還有行和列標(biāo)簽,自身內(nèi)置的方法可以簡(jiǎn)化從DataFrame和Series繪制圖形,修改默認(rèn)的顏色方案和繪圖類型,提高可讀性和美觀度。Plot()可以實(shí)現(xiàn)Series和DataFrame的繪制圖表的功能,默認(rèn)生成的是線型圖。DataFrame.plot(kind='line')將所有列繪制的圖到一張圖片中,用不同線條顏色及不同的圖例標(biāo)簽來表示。其中,kind是圖類型:line(缺省)是拆線圖;bar是垂直條圖;barh是水平條圖;hist是直方圖;box是箱線圖;kde是核密度估計(jì)圖,對(duì)柱狀圖添加概率密度線,與density功能一樣;area是面積圖;pie是餅圖;scatter是散點(diǎn)圖。金融計(jì)算:基于Python163.4.3. 特殊統(tǒng)計(jì)圖.數(shù)學(xué)函數(shù)圖.氣泡圖金融計(jì)算:基于Python173.5. python-scipy模塊scipy模塊依賴于numpy模塊,能方便的給出很多數(shù)學(xué)操作?;咀幽K及功能如表3-3。金融計(jì)算:基于Python18子模塊名稱功能說明scipy.special:特殊函數(shù)模塊里面有各種特殊的數(shù)學(xué)函數(shù),可以直接調(diào)用,如貝塞爾函數(shù).egrate:積分模塊??梢郧蠖嘀胤e分,高斯積分,解常微分方程scipyoptimize.優(yōu)化模塊里面有各種優(yōu)化算法,包括用來求有/無約束的多元標(biāo)量函數(shù)最小值算法,最小二乘法,求有/無約束的單變量函數(shù)最小值算法,還有解各種復(fù)雜方程的算法erpolation:插值模塊提供各種一維、二維、N維插值算法,包括B樣條插值、徑向基函數(shù)插值等.scipy.fftpack:FFT(快速傅里葉變換)模塊??梢赃M(jìn)行FFT/DCT/DSTsipsgnak:信號(hào)處理模塊包括樣條插值,卷積,差分等濾波方法,還有FIR/IR濾波,中值、排序、維納、希爾伯特等濾波器,各種譜分析算法scipy.linalg:線代模塊提供各種線性代數(shù)中的常規(guī)操作scipy.sparse:稀疏矩陣模塊提供了大型稀疏矩陣計(jì)算中的各種算法scipy.spatial:空間結(jié)構(gòu)模塊提供了一些空間相關(guān)的數(shù)據(jù)結(jié)構(gòu)和算法,如elaunay三角剖分,共面點(diǎn),凸包維諾圖,Kd樹等scipy.stats:統(tǒng)計(jì)模塊提供一些統(tǒng)計(jì)學(xué)上常用的函數(shù)scipy.ndimage:多維圖像處理模塊提供一些多維圖像處理上的常用算法scipy.io:lO模塊提供與其他文件的接口,如matlab文件、IDL文件、Wav(音頻)文件、ARFF文件3.5.1. 求積分integrate子模塊是積分函數(shù):quad()是自適應(yīng)求積分;fixed_quad()是固定高斯求積分;quadrature()是自適應(yīng)高斯求積;romberg()是自適應(yīng)龍貝格求積分。金融計(jì)算:基于Python193.5.2. 插值計(jì)算利率曲線的擬合等金融領(lǐng)域經(jīng)常會(huì)用到插值法計(jì)算,可以使用interpolate模塊下的interp1d(x,y,kind)函數(shù):nearest是最近鄰插值;zero是階梯插值法;slinear是線性插值法;quadratic是2階樣條插值;cubic:3是階樣條插值。金融計(jì)算:基于Python203.5.3. 方程組求解方程組求解可使用solve函數(shù)、fsolve函數(shù)實(shí)現(xiàn)。金融計(jì)算:基于Python213.5.4. 優(yōu)化問題

金融計(jì)算:基于Python223.6. Baostock數(shù)據(jù)平臺(tái)3.6.1.平臺(tái)說明證券寶是一個(gè)免費(fèi)、開源的證券數(shù)據(jù)平臺(tái)(無需注冊(cè))。提供大量準(zhǔn)確、完整的證券歷史行情數(shù)據(jù)、上市公司財(cái)務(wù)數(shù)據(jù)等。返回的數(shù)據(jù)格式:pandasDataFrame類型,以便于用pandas/NumPy/Matplotlib進(jìn)行數(shù)據(jù)分析和可視化。同時(shí)支持通過BaoStock的數(shù)據(jù)存儲(chǔ)功能,將數(shù)據(jù)全部保存到本地后進(jìn)行分析。支持語言:目前版本BaoS目前只支持Python3.5及以上(暫不支持python2.x)。金融計(jì)算:基于Python23數(shù)據(jù)說明時(shí)間范圍股票數(shù)據(jù)日、周、月K線數(shù)據(jù),時(shí)間范圍:1990-12-19至今;5、15、30、60分鐘K線數(shù)據(jù)1999-07-26至今指數(shù)數(shù)據(jù)日、周、月K線已經(jīng)包含指數(shù):綜合指數(shù),規(guī)模指數(shù),一級(jí)行業(yè)指數(shù),二級(jí)行業(yè)指數(shù),策略指數(shù),成長(zhǎng)指數(shù),價(jià)值指數(shù),主題指數(shù),基金指數(shù),債券指數(shù)。2006-01-01至今季頻財(cái)務(wù)數(shù)據(jù)已經(jīng)包含的財(cái)務(wù)數(shù)據(jù):部分上市公司資產(chǎn)負(fù)債信息、上市公司現(xiàn)金流量信息、上市公司利潤(rùn)信息、上市公司杜邦指標(biāo)信息。2007年至今季頻公司報(bào)告上市公司業(yè)績(jī)預(yù)告信息;上市公司業(yè)績(jī)快報(bào)信息2003年至今;2006年至今.login()函數(shù)登錄系統(tǒng)。建立與服務(wù)器的連接,無需注冊(cè)即可登錄。需要說明的是,登錄后超過一段時(shí)間沒有操作再調(diào)用api請(qǐng)求時(shí)會(huì)超時(shí),需要重新登錄才能繼續(xù)下載數(shù)據(jù)不需要使用的時(shí)候可以主動(dòng)調(diào)用bs.logout()函數(shù)斷開與服務(wù)器的連接。.logout()函數(shù)不需要使用數(shù)據(jù)的時(shí)候可以主動(dòng)調(diào)用bs.logout()函數(shù)斷開與服務(wù)器的連接。金融計(jì)算:基于Python24.query_history_k_data_plus()函數(shù)通過API接口獲取A股歷史交易數(shù)據(jù),可以通過參數(shù)設(shè)置獲取日k線、周k線、月k線,以及5分鐘、15分鐘、30分鐘和60分鐘k線數(shù)據(jù),適合搭配均線數(shù)據(jù)進(jìn)行選股和分析。返回類型:pandas的DataFrame類型;樣本:1990-12-19至當(dāng)前時(shí)間的數(shù)據(jù);數(shù)據(jù)種類:不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán)數(shù)據(jù)。金融計(jì)算:基于Python253.6.3. 季頻數(shù)據(jù)獲取函數(shù).query_profit_data()函數(shù)通過API接口獲取季頻盈利能力信息,可以通過參數(shù)設(shè)置獲取對(duì)應(yīng)年份、季度數(shù)據(jù),提供2007年至今數(shù)據(jù)。返回類型:pandas的DataFrame類型。.query_operation_data()函數(shù)通過API接口獲取季頻營(yíng)運(yùn)能力信息,可以通過參數(shù)設(shè)置獲取對(duì)應(yīng)年份、季度數(shù)據(jù),提供2007年至今數(shù)據(jù)。返回類型:pandas的DataFrame類型。金融計(jì)算:基于Python263.6.4.板塊數(shù)據(jù)獲取函數(shù).query_stock_industry()函數(shù)通過API接口獲取行業(yè)分類信息,更新頻率:每周一更新。返回類型:pandas的DataFrame類型。金融計(jì)算:基于Python273.6.5.宏觀經(jīng)濟(jì)數(shù)據(jù)獲取函數(shù).query_deposit_rate_data()函數(shù)通過API接口獲取存款利率,可以通過參數(shù)設(shè)置獲取對(duì)應(yīng)起止日期的數(shù)據(jù)。返回類型:pandas的DataFrame類型。金融計(jì)算:基于Python283.6.6.指定數(shù)據(jù)導(dǎo)入.獲取指定日期全部股票的日K線數(shù)據(jù).獲取指定時(shí)間區(qū)域部分股票的日K線數(shù)據(jù)金融計(jì)算:基于Python293.7. 數(shù)據(jù)爬取在大數(shù)據(jù)時(shí)代,互聯(lián)網(wǎng)成為獲取金融數(shù)據(jù)的重要途徑之一,因此,掌握一些Python、Web前端與爬蟲的相關(guān)知識(shí)是非常必要的。3.7.1.網(wǎng)頁結(jié)構(gòu)任意打開一個(gè)網(wǎng)頁(/),單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“檢查”選項(xiàng),即可查看該網(wǎng)頁結(jié)構(gòu)的相應(yīng)代碼,如圖3-1所示。分析圖3-1,該圖左半部分為HTML文件,右半部分為CSS樣式,用<script></script>標(biāo)簽的就是JavaScript代碼。用戶瀏覽的網(wǎng)頁就是瀏覽器染后的結(jié)果,瀏覽器就是把HTML、CSS和JavaScript進(jìn)行翻譯得到用戶使用的網(wǎng)頁界面。金融計(jì)算:基于Python303.7.2. Python與爬蟲.爬蟲基本原理網(wǎng)頁請(qǐng)求和響應(yīng)的過程:Request(請(qǐng)求)。每一個(gè)用戶打開的網(wǎng)頁都必須在最開始由用戶向服務(wù)器發(fā)送訪問的請(qǐng)求。Response(響應(yīng))。服務(wù)器在接收到用戶的請(qǐng)求后,會(huì)驗(yàn)證請(qǐng)求的有效性,然后向用戶發(fā)送相應(yīng)的內(nèi)容。客戶端接收到服務(wù)器的相應(yīng)內(nèi)容后,再將此內(nèi)容展示出來,以供用戶瀏覽。網(wǎng)頁請(qǐng)求的方式一般分為GET和POST兩種:GET是最常見的請(qǐng)求方式,一般用于獲取或者查詢資源信息,也是大多數(shù)網(wǎng)站使用的方式。POST與GET相比,多了以表單形式上傳參數(shù)的功能,因此除了查詢信息外,還可以修改信息。金融計(jì)算:基于Python31基礎(chǔ)爬蟲主要包括爬蟲調(diào)度器、URL管理器、HTML下載器、HTML解析器和數(shù)據(jù)存儲(chǔ)器等五大模塊,功能如下: 爬蟲調(diào)度器統(tǒng)籌其他4個(gè)模塊的協(xié)調(diào)工作;

URL管理器管理URL鏈接,維護(hù)已經(jīng)爬取的URL集合和未爬取的URL集合,提供獲取新URL鏈接的接口;

HTML下載器用于從URL管理器中獲取未爬取的URL鏈接,并下載HTML網(wǎng)頁;

HTML解析器用于從HTML下載器中獲取已經(jīng)下載的HTML網(wǎng)頁,并從中解析出新的URL鏈接交給URL管理器,解析出有效數(shù)據(jù)交給數(shù)據(jù)存儲(chǔ)器; 數(shù)據(jù)存儲(chǔ)器用于將HTML解析器解析出來的數(shù)據(jù)通過文件或者數(shù)據(jù)庫的形式存儲(chǔ)起來。.urllib模塊使用Python編寫爬蟲代碼,要解決的第一個(gè)問題是Python如何訪問互聯(lián)網(wǎng),為此Python專門準(zhǔn)備了urllib模塊。urllib是URL和lib兩個(gè)單詞共同構(gòu)成的,URL就是網(wǎng)頁的地址,lib是library(庫)的縮寫。URL的一般格式為(帶方括號(hào)[]的為可選項(xiàng)):protocol://hostname[port]/path/[parameters][?query]#fragment.URL由以下三部分組成:協(xié)議:常見的有HTTP、HTTPS、FTP、FILE(訪問本地文件夾)、ED2K(電驢的專用鏈接)等。存放資源的服務(wù)器的域名系統(tǒng)(DNS)主機(jī)名或IP地址(有時(shí)候要包含端口號(hào),各種傳輸協(xié)議都有默認(rèn)的端口號(hào),如HTTP的默認(rèn)端口為80)主機(jī)資源的具體地址,如目錄和文件名等。金融計(jì)算:基于Python32[例3.7.1]使用urllib訪問目標(biāo)網(wǎng)頁在urllib模塊中可以使用urllib.request.urlopen()函數(shù)訪問網(wǎng)頁,urllib.request.urlopen()函數(shù)的參數(shù)為:urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)金融計(jì)算:基于Python33[例3.7.2]使用urllib獲取響應(yīng)信息通過response.getcode()、response.geturl()及response.getheaders()獲取各種響應(yīng)信息。金融計(jì)算:基于Python34.Requests庫Requests庫是用Python語言編寫的,基于urllib,采用Apache2Licensed開源協(xié)議的HTTP庫,它比urllib更方便,可以節(jié)約開發(fā)者的工作量,完全滿足HTTP測(cè)試求。Requests實(shí)現(xiàn)了HTTP協(xié)議中的地大部分功能,它提供的功能包括Keep-Alive、連接池、Cookie持久化、內(nèi)容自動(dòng)解壓、HTTP代理、SSL認(rèn)證、連接超時(shí)、Session等很多特性,更重要的是它同時(shí)兼客Python2和Python3。導(dǎo)入importrequests,使用requests庫模擬發(fā)送并且獲取響應(yīng)對(duì)象賦給變量res格式為:res=requests.請(qǐng)求方式(url,相關(guān)參數(shù))金融計(jì)算:基于Python35參數(shù)功能res.encoding查看響應(yīng)正文的編碼格式res.text查看響應(yīng)正文的文本內(nèi)容返回的是一個(gè)字符串格式res.content查看響應(yīng)正文的文本內(nèi)容返回的是一個(gè)字節(jié)格式如果獲取圖片數(shù)據(jù)或者音視頻數(shù)據(jù)通過它直接獲取二進(jìn)制數(shù)據(jù)并進(jìn)行保存res.status_code查看響應(yīng)的狀態(tài)碼res.headers查看響應(yīng)的響應(yīng)頭res.url查看響應(yīng)的URLres.request.headers查看請(qǐng)求頭信息res.request.body查看請(qǐng)求正文res.request.url查看請(qǐng)求urlres.request.method查看請(qǐng)求方式res.cookies獲取響應(yīng)中的cookie得到的是一個(gè)RequestsCookieJar對(duì)象[例3.7.3]自定義請(qǐng)求響應(yīng)頭先定義一個(gè)字典格式:h={"請(qǐng)求頭鍵":"對(duì)應(yīng)的值","請(qǐng)求頭鍵2":"對(duì)應(yīng)的值",...};然后讓定義的字典與請(qǐng)求產(chǎn)生關(guān)聯(lián)res=requests.請(qǐng)求方式(url,headers=h)。金融計(jì)算:基于Python36[例3.7.4]發(fā)送攜帶查詢字符串參數(shù)的GET請(qǐng)求方法1:參數(shù)直接寫在url中,res=requests.get("/s?wd=河北經(jīng)貿(mào)大學(xué)方法2:先定義一個(gè)字典,p={"查詢參數(shù)1":"對(duì)應(yīng)的值","查詢參數(shù)2":"對(duì)應(yīng)的值",...}(查詢參數(shù)就是值查詢字符串參數(shù)URL中?后面接的就是查詢字符串參數(shù));然后讓定義的字典與請(qǐng)求產(chǎn)生關(guān)聯(lián),res=requests.get(url,params=p)金融計(jì)算:基于Python37[例3.7.5]使用GET方式抓取網(wǎng)頁數(shù)據(jù)輸入:#導(dǎo)入requests庫importrequests#訪問目標(biāo)網(wǎng)頁url=""#將獲取的數(shù)據(jù)保存到strhtml變量中strhtml=requests.get(url)#打印網(wǎng)頁源代碼print(strhtml.text)金融計(jì)算:基于Python38[例3.7.6]使用GET方式抓取網(wǎng)頁數(shù)據(jù),并設(shè)置超時(shí)反應(yīng)輸入:#導(dǎo)入requests庫importrequests#訪問目標(biāo)網(wǎng)頁url1=""r=requests.get(url1,timeout=3)#打印網(wǎng)頁源代碼print(r.status_code)金融計(jì)算:基于Python39[例3.7.7]使用GET方式抓取網(wǎng)頁圖片輸入:importrequests#訪問目標(biāo)網(wǎng)頁url1="/it/u=3287115334,1498982333&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281"r1=requests.get(url1)withopen('ls1.png','wb')asf:f.write(r1.content)importmatplotlib.pyplotaspltfromPILimportImageimg=Image.open('ls1.png')img=np.array(img)plt.imshow(img)plt.show()金融計(jì)算:基于Python403.7.3. 爬取網(wǎng)頁內(nèi)容一般地,按照爬取網(wǎng)頁、解析數(shù)據(jù)、保存網(wǎng)頁的思路爬取所需要的網(wǎng)頁內(nèi)容。防止亂碼,設(shè)置編碼為utf-8。[例3.7.9]爬取/top250?start=網(wǎng)頁的電影詳情鏈接、圖片鏈接、影片中文名、影片外國(guó)名、評(píng)分、評(píng)價(jià)數(shù)、概況、相關(guān)信息,將評(píng)分前100的信息保存到excel文件中。第一步,數(shù)據(jù)庫導(dǎo)入第二步,設(shè)置正則表達(dá)式第三步,設(shè)置爬取網(wǎng)頁的函數(shù)第四步,設(shè)置變量存儲(chǔ)爬取的網(wǎng)頁信息的函數(shù)第五步,設(shè)置得到指定一個(gè)URL的網(wǎng)頁內(nèi)容的函數(shù)第六步,設(shè)置保存數(shù)據(jù)到表格的函數(shù)第七步,調(diào)用函數(shù)的程序金融計(jì)算:基于Python413.8. AKShare數(shù)據(jù)平臺(tái)AKShare是基于Python的財(cái)經(jīng)數(shù)據(jù)接口庫,目的是實(shí)現(xiàn)對(duì)股票、期貨、期權(quán)、基金、外匯、債券、指數(shù)、加密貨幣等金融產(chǎn)品的基本面數(shù)據(jù)、實(shí)時(shí)和歷史行情數(shù)據(jù)、衍生數(shù)據(jù)從數(shù)據(jù)采集、數(shù)據(jù)清洗到數(shù)據(jù)落地的一套工具,主要用于學(xué)術(shù)研究目的。AKShare的特點(diǎn)是獲取的是相對(duì)權(quán)威的財(cái)經(jīng)數(shù)據(jù)網(wǎng)站公布的原始數(shù)據(jù),通過利用原始數(shù)據(jù)進(jìn)行各數(shù)據(jù)源之間的交叉驗(yàn)證,進(jìn)而再加工,從而得出科學(xué)的結(jié)論。金融計(jì)算:基于Python423.8.1. 安裝目前AKShare僅支持64位版本的操作系統(tǒng)安裝和使用,支持Python3.8(64位)及以上版本。AKShare推薦安裝最新版本的Anaconda(64位),可以解決大部分環(huán)境配置問題。安裝命令:pipinstallakshare--upgrade注意:--upgrade代表更新到最新版,初次安裝不加也可以,估計(jì)是這個(gè)包更新頻率比較高,直接加上比較方便。金融計(jì)算:基于Python433.8.2.AKShare數(shù)據(jù)接囗一覽.貨幣市場(chǎng)數(shù)據(jù).資本市場(chǎng)數(shù)據(jù).外匯市場(chǎng)數(shù)據(jù).金融衍生品數(shù)據(jù).商品數(shù)據(jù).宏觀數(shù)據(jù).環(huán)境數(shù)據(jù).COVID-19數(shù)據(jù)金融計(jì)算:基于Python443.8.3. 案例[例3.8.1]東方財(cái)富-數(shù)據(jù)中心-中國(guó)油價(jià)-汽柴油歷史調(diào)價(jià)信息,接口:energy_oil_hist,目標(biāo)地址:/cjsj/oil_default.html,獲得此數(shù)據(jù)。輸入:importakshareasakenergy_oil_hist_df=ak.energy_oil_hist()energy_oil_hist_df.head()金融計(jì)算:基于Python453.9. Efinance數(shù)據(jù)平臺(tái)efinance是由個(gè)人打造的用于獲取股票、基金、期貨數(shù)據(jù)的免費(fèi)開源Python庫,其主要基于東方財(cái)富網(wǎng)的api獲取數(shù)據(jù)。雖然本身并沒有提供數(shù)據(jù)服務(wù),但其提供的功能已經(jīng)比較多了,包括同時(shí)支持多股票請(qǐng)求,支持日k、周k、月k、60分鐘、30分鐘、15分鐘、5分鐘、1分鐘k線數(shù)據(jù)等。金融計(jì)算:基于Python463.9.1. 安裝庫的安裝方法是:打開cmd(命令提示符或者其他終端工具),輸入以下代碼pipinstallefinance如果需要更新,則在cmd(命令提示符或者其他終端工具)運(yùn)行下面的代碼pipinstallefinance--upgrade金融計(jì)算:基于Python473.9.2.獲取股票歷史日K線數(shù)據(jù)輸入:importefinanceasef#股票代碼stock_code='600519'stock_k=ef.stock.get_quote_history(stock_code)stock_k.head()金融計(jì)算:基于Python483.9.3.獲取基金數(shù)據(jù)輸入:#獲取基金歷史凈值信息ef.fund.get_quote_history('161725')金融計(jì)算:基于Python493.9.4.可轉(zhuǎn)債數(shù)據(jù)輸入:#全部可轉(zhuǎn)債信息bondq=ef.bond.get_all_base_info()bondq.head()金融計(jì)算:基于Python503.9.5.期貨數(shù)據(jù)輸入:#獲取交易所期貨基本信息futures=ef.futures.get_futures_base_info()futures.head()金融計(jì)算:基于Python51金融計(jì)算:基于Python52金融計(jì)算:基于Python

第4章 Python債券價(jià)值計(jì)算【教學(xué)目的與要求】通過本章學(xué)習(xí),結(jié)合習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義經(jīng)濟(jì)思想,講授Python資金的時(shí)間價(jià)值、債券定價(jià)、久期、凸度、免疫的計(jì)算?!局攸c(diǎn)和難點(diǎn)】久期、凸度、免疫的計(jì)算【思政育人目標(biāo)】將習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義經(jīng)濟(jì)思想融入到Python資金的時(shí)間價(jià)值、債券定價(jià)、久期、凸度、免疫的學(xué)習(xí)中?!菊n程學(xué)習(xí)目標(biāo)】了解Python資金的時(shí)間價(jià)值,掌握Python債券定價(jià)、久期、凸度、免疫的計(jì)算。金融計(jì)算:基于Python54主要內(nèi)容4.1.資金的時(shí)間價(jià)值4.2.債券定價(jià)4.3.久期計(jì)算4.4.凸度計(jì)算4.5.免疫計(jì)算金融計(jì)算:基于Python554.1. 資金的時(shí)間價(jià)值資金的時(shí)間價(jià)值即貨幣的時(shí)間價(jià)值,就是指當(dāng)前所持有的一定量貨幣比未來獲得的等量貨幣具有更高的價(jià)值。計(jì)算貨幣時(shí)間價(jià)值量時(shí),要引入現(xiàn)值和終值兩個(gè)概念來表示不同時(shí)期的貨幣時(shí)間價(jià)值?,F(xiàn)值(PV)是指未來某一時(shí)點(diǎn)上的一定量現(xiàn)金折合到現(xiàn)在的價(jià)值,通常記作P;終值(FV)是指資金經(jīng)過若干時(shí)期后包括本金和時(shí)間價(jià)值在內(nèi)的未來價(jià)值,通常記作F;利率是指一定時(shí)期內(nèi)利息額與借貸資金額(本金)的比率,通常記作r。如果單位本金在t后的價(jià)值是a(t),則當(dāng)t變動(dòng)時(shí),a(t)稱為累積函數(shù)。金融計(jì)算:基于Python564.1.1. 單利計(jì)息定義函數(shù)如下輸入:

defdl(r,t):dt=1+r*treturndt金融計(jì)算:基于Python574.1.2. 復(fù)利計(jì)息deffl(r,t):ft=(1+r)**treturnft[例4.1.1]假設(shè)本金100萬元,計(jì)算期是5年,年利率是5%,每年計(jì)息兩次,比較單利和復(fù)利計(jì)息的本息和。金融計(jì)算:基于Python584.1.3. 貼現(xiàn)函數(shù)deftxdl(r,n):dn=(1+t*r)**(-1)returndndeftxfl(r,n):fn=(1+r)**(-t)returnfn[例4.1.2]假設(shè)年利率是5%,求未來10年末資金100萬元的現(xiàn)值。金融計(jì)算:基于Python594.1.4. 利率計(jì)息次數(shù)defsjll(r,n):r1=(1+r/n)**n-1returnr1[例4.1.3]方案一:年利率8%,每半年付息一次;方案二:年利率8%,每季度付息一次。應(yīng)選擇哪個(gè)方案進(jìn)行投資?金融計(jì)算:基于Python604.1.5. 連續(xù)復(fù)利deflxfl(r,m):at=np.exp(r*m)returnat[例4.1.4]年利率8%,投資10年,連續(xù)復(fù)利率是多少?金融計(jì)算:基于Python614.1.6. 多期復(fù)利終值輸入:defdqflzz(ct,r,t):ct1=ct*(1+r)**tfv=sum(ct1)returnfv[例4.1.5]假設(shè)某公司在一年后投資100萬元,兩年后投資200萬元,三年后投資300萬元,四年后投資400萬元,如果投資的收益率為10%,那么5年后投資收益是多少?金融計(jì)算:基于Python624.1.7. 多期復(fù)利現(xiàn)值defdqflxz(ct,r,t):ct1=ct*(1+r)**(-t)pv=sum(ct1)returnpv[例4.1.6]假設(shè)某公司未來五年的投資額分別為100萬元、200萬元、300萬元、、400萬元、500萬元,如果貼現(xiàn)率為10%,投資的現(xiàn)值是多少?金融計(jì)算:基于Python634.2. 債券定價(jià)4.2.1.直接債券定價(jià)defbpd(ct,F(xiàn),y,t,n):a=ct/(1+y)**tb=F/(1+y)**np=sum(a)+sum(b)returnp[例4.2.1]假設(shè)新發(fā)行的3年期的債券面值為1000元,以后每半年支付利息50元,市場(chǎng)年收益為10%,那么債券的現(xiàn)值為多少?金融計(jì)算:基于Python644.2.2. 零息債券定價(jià)deflxbpd(F,y,n):b=F/(1+y)**nreturnb[例4.2.2]假設(shè)8年期的債券面值為1000元,市場(chǎng)年收益為8%,每半年付息一次的零息債券,那么債券的現(xiàn)值為多少?金融計(jì)算:基于Python654.2.3. 到期收益率計(jì)算importscipy.optimizeassoimportnumpyasnpdefYTM(P,C,k,M,T):defff(y):coupon=[]foriinnp.arange(0,T*k):coupon.append((C/k)/pow(1+y,i+1))returnnp.sum(coupon)+M/pow(1+y,T*k)-Preturnso.fsolve(ff,0.1)[例4.2.3]5年期的債券面值為100元,以后每半年支付利息2.5元,現(xiàn)在債券的價(jià)格是110元,求該債券的到期收益率。金融計(jì)算:基于Python664.2.4. 債券的贖回收益率計(jì)算defshbpd(ct,cp,y,t,n2):a=ct/(1+y)**tb=cp/(1+y)**n2p=sum(a)+sum(b)returnp[例4.2.4]有效期為18年的債券面值為100元,年票面利率是6%,每半年支付利息一次的可贖回債券,贖回年收益率為15.2%。假設(shè)這個(gè)債券最早可以在5年后以103元的價(jià)格贖回,求債券的市場(chǎng)價(jià)格。金融計(jì)算:基于Python674.3. 久期計(jì)算4.3.1.馬考勒久期defdur(ct,F(xiàn),y,n):a=ct/(1+y)**tb=F/(1+y)**np=sum(a)+sum(b)c=t*ct/(1+y)**tc1=n*F/(1+y)**np1=sum(c)+sum(c1)D=p1/preturnD[例4.3.1]票面面值100元,息票率為8%的三年期的債券,半年付息一次,到期年收益率為10%,求該三年期債券的麥考利久期。金融計(jì)算:基于Python684.3.2. 影響債券價(jià)格的要素deffxzq(y,i,n):a=(1+y)/yb=1+y+n*(i-y)c=i*((1+y)**n-1)+ydur=a-b/creturndurdeffxzq1(y,n):dur=(1+y)/y-(1+y)/(y*(1+y)**n)returndur金融計(jì)算:基于Python694.3.3. 資產(chǎn)組合久期[例4.3.2]一個(gè)債券組合由三種半年付息的債券構(gòu)成,債券A面值100元,票面利率6%,到期時(shí)間6年,市場(chǎng)價(jià)格951.68元,到期年收益率7%,債券B面值2萬元,票面利率5.5%,到期時(shí)間5年,市場(chǎng)價(jià)格2萬元,到期年收益率5.5%,債券C面值1萬元,票面利率7.5%,到期時(shí)間4年,市場(chǎng)價(jià)格9831.68元,到期年收益率8%,求該債券組合的久期。金融計(jì)算:基于Python704.4. 凸度計(jì)算4.4.1.凸度defconv(ct,F(xiàn),y,n):a=ct/(1+y)**tb=F/(1+y)**np=sum(a)+sum(b)c=(t**2+t)*ct/(1+y)**tc1=(n**2+n)*F/(1+y)**np1=sum(c)+sum(c1)con=p1/p*(1+y)**(-2)returncon[例4.4.1]票面面值100元,息票率8%的三年期的債券,半年付息一次,到期年收益率10%,求該債券的凸度。金融計(jì)算:基于Python714.4.2. 凸度與價(jià)格波動(dòng)的關(guān)系[例4.4.2]在[例4.4.1]中,修正久期是2.65,年凸度為8.337,如果預(yù)期未來收益將為11%,計(jì)算凸度與價(jià)格波動(dòng)的關(guān)系。輸入:dp=-2.65*0.01+0.5*8.337*0.01**2print(dp)金融計(jì)算:基于Python724.5. 免疫計(jì)算債券組合的主要風(fēng)險(xiǎn)來自利率變化,就是期限結(jié)構(gòu)的改變。免疫是保護(hù)債券組合避免利率風(fēng)險(xiǎn)的一種策略。管理者選擇久期等于他們負(fù)債的到期期限的債券組合,利用價(jià)格風(fēng)險(xiǎn)和再投資率風(fēng)儉互相抵消的特點(diǎn),保證管理者不受損失。金融計(jì)算:基于Python734.5.1. 再投資的收益分析[例4.5.1]如果債券管理者為投資者管理一個(gè)面值為100元,息票率是8%,息票再投資率是8%的5年期債券,分析當(dāng)利率發(fā)生變化時(shí)投資的收益情況。***由于利率的下降導(dǎo)致債券的收益率下降。使用免疫策略可以避免這種結(jié)果,即不使復(fù)利率下降。金融計(jì)算:基于Python744.5.2. 利率變化對(duì)債券價(jià)格的影響當(dāng)利率變化時(shí),在給定到期期限上如何影響債券的價(jià)格,對(duì)收益率的影響如何呢?[例4.5.2]一個(gè)6年期面值為100元息票每畝和再投資率都是8%,計(jì)算其久期,分析利率上升至9%和下降至6%的債券價(jià)格及收益率。金融計(jì)算:基于Python754.5.3. 免疫策略設(shè)計(jì)與實(shí)現(xiàn)由上述分析可以得出利率發(fā)生變化時(shí),影響債券價(jià)格的變化:利率下降、再投資收入減少,而債券價(jià)格上升;利率上升,再投資收入增加,而債券價(jià)格下降。免疫是利用再投資收入和債券價(jià)格相反交動(dòng)、互相抵消來消除利率風(fēng)險(xiǎn)的。免疫策略廣泛用于減少利率風(fēng)險(xiǎn),不僅可以應(yīng)用于個(gè)別債券,而且可以應(yīng)用于債券組合。這時(shí)債券組合的久期是包含各個(gè)債券久期的加權(quán)平均和。金融計(jì)算:基于Python76金融計(jì)算:基于Python77金融計(jì)算:基于Python

第5章 Python股票價(jià)值計(jì)算【教學(xué)目的與要求】通過本章學(xué)習(xí),結(jié)合習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義經(jīng)濟(jì)思想,講授Python的股息貼現(xiàn)模型計(jì)算、市盈率模型計(jì)算、負(fù)債情況下的自由現(xiàn)金流分析?!局攸c(diǎn)和難點(diǎn)】Python的股息貼現(xiàn)模型計(jì)算、市盈率模型計(jì)算、負(fù)債情況下的自由現(xiàn)金流分析?!舅颊四繕?biāo)】將習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義經(jīng)濟(jì)思想融入到Python的股息貼現(xiàn)模型計(jì)算、市盈率模型計(jì)算、負(fù)債情況下的自由現(xiàn)金流分析的學(xué)習(xí)中?!菊n程學(xué)習(xí)目標(biāo)】了解股息貼現(xiàn)模型計(jì)算、市盈率模型計(jì)算、負(fù)債情況下的自由現(xiàn)金流分析的基本理論,掌握其Python的計(jì)算方法。金融計(jì)算:基于Python79主要內(nèi)容5.1. 股息貼現(xiàn)模型5.2. 市盈率模型5.3. 負(fù)債情況下的自由現(xiàn)金流分析法金融計(jì)算:基于Python805.1. 股息貼現(xiàn)模型5.1.1. 零增長(zhǎng)模型零增長(zhǎng)模型(zero-growthmodel)是股息貼現(xiàn)模型的一種特殊形式,它假定股息是固定不變的。[例5.1.1]假定投資者預(yù)期某公司每期支付的股息將永久性地固定為1.15元/每股,并且貼現(xiàn)率定為13.4%,那么,該公司股票的內(nèi)在價(jià)值等于多少?金融計(jì)算:基于Python815.1.2. 不變?cè)鲩L(zhǎng)模型(戈登模型)[例5.1.2]如果X公司股票的股利增長(zhǎng)率為0.03,第0期支付的股利為2元/股,市場(chǎng)資本率為12%,求其內(nèi)在價(jià)值?金融計(jì)算:基于Python825.1.3. 三階段增長(zhǎng)模型及H模型. 三階段增長(zhǎng)模型三階段增長(zhǎng)模型(three-stage-growthmodel)是股息貼現(xiàn)模型的第三種特殊形式,最早是由莫洛多斯基(N.Molodovsky,1965)提出,現(xiàn)在仍然被許多投資銀行廣泛使用。金融計(jì)算:基于Python83股息增長(zhǎng)的三個(gè)不同階段:第一階段(期限為A):股息的增長(zhǎng)率為一個(gè)常數(shù)(ga)第二階段(A+1到B-1):股息增長(zhǎng)率以線性的方式從ga變化為gn,gn是第三階段的股息增長(zhǎng)率。第三階段(B到永遠(yuǎn)):股息的增長(zhǎng)率也是一個(gè)常數(shù)(gn),該增長(zhǎng)率是公司長(zhǎng)期的正常的增長(zhǎng)率。即戈登增長(zhǎng)模型股息的增長(zhǎng)率為一個(gè)常數(shù)(ga)股息增長(zhǎng)率以線性的方式從ga

變化為gn

張瑞鋒-金融市場(chǎng)學(xué)-普通股價(jià)值分析

張亦春《金融市場(chǎng)學(xué)》觀點(diǎn):defsfun(d0,ga,gn,y,t1,t2,A,B):#第一階段v1a1=((1+ga)/(1+y))**t1v1=d0*sum(a1)#第二階段v2gt1=ga-(ga-gn)*(t2[0]-A)/(B-A)dt1=d0*(1+ga)**A*(1+gt1)a21=dt1/(1+y)**t2[0]gt2=ga-(ga-gn)*(t2[1]-A)/(B-A)dt2=dt1*(1+gt2)a22=dt2/(1+y)**t2[1]gt3=ga-(ga-gn)*(t2[2]-A)/(B-A)dt3=dt2*(1+gt3)a23=dt3/(1+y)**t2[2]v2=a21+a22+a23#第三階段v3v3=dt3*(1+gn)/((y-gn)*(1+y)**(B-1))v=v1+v2+v3returnv金融計(jì)算:基于Python85劉紅忠《金融市場(chǎng)學(xué)》觀點(diǎn)defsfun(d0,ga,gn,y,t1,t2,A,B):#第一階段v1a1=((1+ga)/(1+y))**t1v1=d0*sum(a1)#第二階段v2gt1=ga-(ga-gn)*(t2[0]-A)/(B-A)dt1=d0*(1+ga)**A*(1+gt1)a21=dt1/(1+y)**t2[0]gt2=ga-(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論