版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9章股票數(shù)據(jù)量化分析
本章內(nèi)容9.1股票數(shù)據(jù)量化分析背景與功能9.2程序設(shè)計(jì)思路9.3程序設(shè)計(jì)的步驟9.1股票數(shù)據(jù)量化分析背景與功能股票市場在金融投資領(lǐng)域占據(jù)越來越重要的地位。隨著人工智能及大數(shù)據(jù)時(shí)代的到來,利用先進(jìn)的計(jì)算機(jī)技術(shù)編寫程序創(chuàng)建合適的數(shù)學(xué)模型快速準(zhǔn)確地處理與分析大規(guī)模股票市場數(shù)據(jù),從數(shù)據(jù)中洞悉更多事件,減少投資者情緒波動(dòng)影響,判斷市場走勢、風(fēng)險(xiǎn)和盈利,從而盡可能作出理性的投資決策。本案例基于Tushare平臺利用Python語言對股票市場上證指數(shù)及個(gè)股進(jìn)行數(shù)據(jù)分析、進(jìn)行盈利率計(jì)算,利用Matplotlib及seaborn庫對股票數(shù)據(jù)、走勢等進(jìn)行可視化展示,以消除量化投資技術(shù)障礙,更有效專注于市場本身。9.2程序設(shè)計(jì)思路步驟1:數(shù)據(jù)獲取
本程序數(shù)據(jù)來源于Tushare大數(shù)據(jù)開放平臺。Tushare是一個(gè)開放的,免費(fèi)的平臺。其提供的數(shù)據(jù)內(nèi)容包含股票、基金、期貨、債券、外匯、行業(yè)大數(shù)據(jù),同時(shí)包括了數(shù)字貨幣行情等區(qū)塊鏈數(shù)據(jù)的全數(shù)據(jù)品類的金融大數(shù)據(jù)平臺。Tushare返回的數(shù)據(jù)格式絕大部分都是pandas的DataFrame類型,非常便于使用Pandas、NumPy、Matplotlib、seaborn等進(jìn)行數(shù)據(jù)分析和可視化。步驟2:大盤指數(shù)分析
本案例使用seaborn庫對上證指數(shù)及深證指數(shù)數(shù)據(jù)進(jìn)行可視化展示,直觀了解大盤“收盤價(jià)”和“成交量”走勢。步驟3:個(gè)股分析本案例選擇了“中國電信”“建業(yè)股份”“新華聯(lián)”及“南山鋁業(yè)”4支股票對其進(jìn)行收益計(jì)算、風(fēng)險(xiǎn)評估,并對各數(shù)據(jù)進(jìn)行可視化展示。9.3程序設(shè)計(jì)的步驟1.安裝tushare庫tushare庫為第三方庫,使用前必須先安裝此第三方庫,可使用pipinstalltushare命令進(jìn)行安裝。2.導(dǎo)入所需第三方庫導(dǎo)入本案例所需第三方數(shù)據(jù)庫,包括Pandas,Numpy,Matplotlib的pyplot庫,seaborn庫,日期時(shí)間datetime庫以及tushare庫,并為后續(xù)統(tǒng)計(jì)圖中能夠正確顯示中文及符號進(jìn)行相關(guān)設(shè)置。9.3程序設(shè)計(jì)的步驟3.獲取上證及深證指數(shù)數(shù)據(jù)(1)get_k_data接口本案例使用Tushare的get_k_data接口,獲取上交所及深交所自1990年開市日至2021年底的所有指數(shù)數(shù)據(jù)、展示數(shù)據(jù)、了解數(shù)據(jù)屬性。get_k_data,是一個(gè)統(tǒng)一的行情數(shù)據(jù)接口,是tushare最常用的接口之一,目的是為了獲取k線數(shù)據(jù)。get_k_data(code=None,start='',end='',ktype='D',autype='qfq',index=False,retry_count=3,pause=0.001)其常用參數(shù)說明如表9-1所示。9.3程序設(shè)計(jì)的步驟9.3程序設(shè)計(jì)的步驟3.獲取上證及深證指數(shù)數(shù)據(jù)獲取數(shù)據(jù)說明:4.保存數(shù)據(jù)集至csv文件5.大盤指數(shù)數(shù)據(jù)預(yù)處理(1)讀取數(shù)據(jù)集并查看簡要信息(2)轉(zhuǎn)換數(shù)據(jù)類型9.3程序設(shè)計(jì)的步驟9.3程序設(shè)計(jì)的步驟6.大盤指數(shù)總體分析fig=plt.figure(figsize=(12,5))#創(chuàng)建畫布,尺寸為12*5axes1=fig.add_subplot(1,2,1)#添加子圖axes1axes2=fig.add_subplot(1,2,2)#添加子圖axes2axes1.set_title('1990-2021上證-深證指數(shù)每日收盤價(jià)走勢圖')sns.lineplot(x=data.date,y=data.close,hue=data.code,ax=axes1)axes2.set_title('1990-2021上證-深證每日成交量走勢圖')sns.lineplot(x=data.date,y=data.volume,hue=data.code,ax=axes2)plt.show()9.3程序設(shè)計(jì)的步驟9.3程序設(shè)計(jì)的步驟9.3程序設(shè)計(jì)的步驟sh_2015=data[(data.date.dt.year==2015)&(data.code=='sh')]#提取2015年上證數(shù)據(jù)sh_2015.set_index(sh_2015.date,inplace=True)#將“交易日期”設(shè)為索引#對2015年數(shù)據(jù)按“月”重采樣,并對個(gè)數(shù)據(jù)進(jìn)行相應(yīng)聚合統(tǒng)計(jì)sh_2015_M=sh_2015.resample('M').agg({'open':np.mean,'close':np.mean,'high':np.max,'low':np.min,'volume':np.sum})sns.lineplot(data=sh_2015_M['volume'])#繪制2015上證月成交量走勢圖plt.title('2015年上證指數(shù)月成交量走勢圖')plt.show()sns.lineplot(data=sh_2015_M[['open','close','high','low']])#繪制2015上證其余指數(shù)走勢圖plt.title('2015年上證指數(shù)開盤價(jià)、收盤價(jià)、最高價(jià)、最低價(jià)走勢圖')plt.show()9.3程序設(shè)計(jì)的步驟7.個(gè)股分析(1)獲取股票數(shù)據(jù)stocks={'中國電信':'601728','建業(yè)股份':'603948','新華聯(lián)':'000620','南山鋁業(yè)':'600219'}df=pd.DataFrame()#創(chuàng)建DataFrame用以存儲股票數(shù)據(jù)forstock_codeinstocks.values():df_stock=ts.get_k_data(code=stock_code,start='2021-01-01')#讀取單支股票數(shù)據(jù)(2021年至代碼運(yùn)行時(shí))df=df.append(df_stock,ignore_index=True)#將獲取的數(shù)據(jù)“追加”至dfdf.to_csv('stocks.csv')#保存股票數(shù)據(jù)至csv文件df.head()9.3程序設(shè)計(jì)的步驟(2)日收益率計(jì)算股票收益率是反映股票收益水平的指標(biāo)。股票收益率分為算術(shù)收益率和對數(shù)收益率兩種,其中算術(shù)收益率計(jì)算公式為:R=其中,Pt為t時(shí)刻的股票收盤價(jià),Pt-1為t-1時(shí)刻的收盤價(jià)。即某股票的日收益率(算術(shù))為其相鄰兩天的價(jià)格差除以其中前一天的價(jià)格。而在金融領(lǐng)域的實(shí)際應(yīng)用中,經(jīng)常使用對數(shù)收益率來計(jì)算收益率。其計(jì)算公式為:R=即某股票的日收益率(對數(shù))為其相鄰兩天的價(jià)格比的對數(shù)。9.3程序設(shè)計(jì)的步驟(3)累積日收益率、平均年化收益率計(jì)算累積日收益率有助于定期確定投資價(jià)值。其計(jì)算公式為:使用每日收益率+1,并計(jì)算其累乘積。平均年化收益率可由日收益率轉(zhuǎn)化而來,(一般)假設(shè)一年有252個(gè)交易日,則平均年化收益率=(1+平均年化收益率)^252-1。9.3程序設(shè)計(jì)的步驟9.3程序設(shè)計(jì)的步驟(4)個(gè)股風(fēng)險(xiǎn)分析現(xiàn)代投資理論創(chuàng)始人Markowitz假定投資風(fēng)險(xiǎn)可視為投資收益的不確定性,這種不確定性可用統(tǒng)計(jì)學(xué)中的方差或標(biāo)準(zhǔn)差來度量,也可以通過平均差、極差、四分位差、離散系數(shù)、偏度和峰度等統(tǒng)計(jì)量來衡量。其中:平均差:是表示各個(gè)變量值之間差異程度的數(shù)值之一。指各個(gè)變量值同平均數(shù)的離差絕對值的算術(shù)平均數(shù)。平均差異大,表明各標(biāo)志值與算術(shù)平均數(shù)的差異程度越大,說明數(shù)據(jù)離散程度越大;反之,離散程度越小。極差:最大值與最小值之差,計(jì)算公式為:M=Max-Min它是標(biāo)志值變動(dòng)的最大范圍,是最基本的衡量數(shù)據(jù)離散程度的方式,受極值影響較大。四分位差:是上四分位數(shù)(Q3,75%分位)與下四分位數(shù)(Q1,25%分位)的差。計(jì)算公式為:Q=Q3-Q1。四分位差反映了中間50%數(shù)據(jù)的離散程度,其數(shù)值越小,說明中間的數(shù)據(jù)越集中;其數(shù)值越大,說明中間的數(shù)據(jù)越分散。四分位差不受極值的影響。離散系數(shù):即變異系數(shù),為一組數(shù)據(jù)的標(biāo)準(zhǔn)差與平均數(shù)之比。計(jì)算公式為:C=std/mean。離散系數(shù)主要用于比較不同樣本數(shù)據(jù)的離散程度。離散系數(shù)大,說明數(shù)據(jù)的離散程度也大;離散系數(shù)小,說明數(shù)據(jù)的離散程度也小。9.3程序設(shè)計(jì)的步驟defMeanDeviation(series):'''平均差計(jì)算'''d=np.abs(series-series.mean()).mean()returnddefMaxMinDeviation(series):'''極差計(jì)算'''d=series.max()-series.min()returnddefQuantileDeviation(series):'''四分位差計(jì)算'''d=series.quantile(0.75)-series.quantile(0.25)returnddefVariationCoef(series):'''離散系數(shù)計(jì)算'''d=series.std()/series.mean()returnddefSkewness(series):'''偏度系數(shù)計(jì)算'''returnseries.skew()defKurtosis(series):'''峰度系數(shù)計(jì)算'''returnseries.kurt()df.groupby('code')[['log_return_daily']].agg([np.mean,np.std,np.var,MeanDeviation,MaxMinDeviation,QuantileDeviation,Skewness,Kurtosis])9.3程序設(shè)計(jì)的步驟偏態(tài)(Skew)分布相對于“正態(tài)分布”,偏態(tài)系數(shù)一般可理解為均值相對于中位數(shù)、眾數(shù)的偏離程度,如圖9-15所示,偏態(tài)系數(shù)>0,正偏,或稱為右偏;偏態(tài)系數(shù)<0,負(fù)偏,或稱為左偏。在金融領(lǐng)域,人們更傾向于正的偏度,因?yàn)檫@意味著高盈利的概率更大,如上圖9-14運(yùn)行結(jié)果中的Skewness,“601728”負(fù)偏較大,意味著虧損的概率較大;“000620”相對于“600219”有更高概率的盈利可能。圖9-15偏態(tài)分布示意圖峰態(tài)系數(shù)/峰度(kurtosis),表征概率密度分布曲線在平均值處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年天津市北辰區(qū)衛(wèi)健系統(tǒng)公共衛(wèi)生及基層醫(yī)療單位公開招聘事業(yè)單位工作人員備考題庫及答案詳解參考
- 2026年廣汽埃安新能源汽車股份有限公司長沙分公司招聘備考題庫附答案詳解
- 2026年南京大學(xué)法學(xué)院特任助理研究員招聘備考題庫含答案詳解
- 2026年宜賓臨港投資建設(shè)集團(tuán)有限公司下屬子公司項(xiàng)目制員工公開招聘的備考題庫及一套答案詳解
- 2026年北醫(yī)三院婦產(chǎn)科婦科門診醫(yī)師招聘備考題庫及1套完整答案詳解
- 2025年東營市總工會(huì)公開招聘工會(huì)社會(huì)工作者備考題庫及一套答案詳解
- 2026年中儲糧油脂工業(yè)盤錦有限公司招聘備考題庫及完整答案詳解1套
- 2026年廣西西林縣句町咖啡發(fā)展貿(mào)易有限公司冬季公開招聘工作人員的備考題庫參考答案詳解
- 2026年內(nèi)蒙古大板發(fā)電有限責(zé)任公司招聘備考題庫含答案詳解
- 2026年廣州市五中東曉學(xué)校備考題庫技術(shù)臨聘教師招聘備考題庫有答案詳解
- 2025年大學(xué)第一學(xué)年(食品營養(yǎng)與健康)營養(yǎng)學(xué)基礎(chǔ)測試題及答案
- 2025-2030烏干達(dá)基于咖啡的種植行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2026年共青團(tuán)中央所屬單位招聘66人備考題庫及答案詳解一套
- 人民警察法培訓(xùn)課件
- 小糖人課件:糖尿病患者兒童糖尿病的護(hù)理
- 2026年哈爾濱職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫參考答案詳解
- 2025云南昆明巫家壩建設(shè)發(fā)展有限責(zé)任公司及下屬公司第四季度社會(huì)招聘31人歷年真題匯編帶答案解析
- 輸尿管切開取石課件
- 66kV及以下架空電力線路設(shè)計(jì)標(biāo)準(zhǔn)
- 2025年浙江乍浦經(jīng)濟(jì)開發(fā)區(qū)(嘉興港區(qū))區(qū)屬國有公司公開招聘28人筆試考試備考試題及答案解析
- 全國園林綠化養(yǎng)護(hù)概算定額(2018版)
評論
0/150
提交評論