python收取wss数据_Python金融应用之提取交易日+合并截面数据
NO.160
2020.07.15
工欲善其事,必先利其器
//
- 前言 -
◆ ◆ ◆ ◆
今天,小咖來(lái)講講如何利用Python提取最近交易日、前一周交易日、前一月交易日、前一季度交易日等,并提取各個(gè)交易日的PE截面數(shù)據(jù)然后合并成單一表格,最終將導(dǎo)出以下結(jié)果。
資料來(lái)源:西瓜財(cái)經(jīng)資訊
- 利用python進(jìn)行金融處理 -
◆ ◆ ◆ ◆
為了實(shí)現(xiàn)以上功能需要進(jìn)行以下完整步驟:
第一步:安裝各種包
資料來(lái)源:西瓜財(cái)經(jīng)資訊
第二步:提取交易日數(shù)據(jù)
資料來(lái)源:西瓜財(cái)經(jīng)資訊
(1)首次使用Python的wind接口時(shí),需要進(jìn)行如下操作:wind客戶端——量化——修復(fù)插件——修復(fù)Python接口。
(2)在導(dǎo)入“包”時(shí)已經(jīng)導(dǎo)入了Windpy,并設(shè)置為w,之后的語(yǔ)句直接使用w即可。
(3)語(yǔ)句需要以w.start() 開始,否則所有與wind相關(guān)的程序都無(wú)法運(yùn)行,但只要運(yùn)行一次后不用重復(fù)運(yùn)行。
(4)通常我們需要根據(jù)當(dāng)天日期來(lái)查找最近交易日,為了實(shí)現(xiàn)python運(yùn)行的自動(dòng)化,先確定當(dāng)天日期,主要使用today1=datetime.today() ,并利用datetime.strftime將其轉(zhuǎn)為str。
(5)以當(dāng)天日期為要素,然后根據(jù)wind的wsd函數(shù)得到滬深300最近365個(gè)交易日收盤價(jià),這里為了便利不再將其轉(zhuǎn)化為dateframe。注意得到的frame1為升序排列,因此最近交易日在最后一行,且一共有兩列,第一列為日期。(為了下圖的可視化小咖還是進(jìn)行了dateframe轉(zhuǎn)換的操作,但是如果單純根據(jù)本文語(yǔ)句則無(wú)法顯示如下dateframe)
資料來(lái)源:西瓜財(cái)經(jīng)資訊
(6)設(shè)置timedelta這一空l(shuí)ist,然后利用循環(huán)從表格中提取日期要素。frame1.Data[i][t]可以直接提取數(shù)據(jù),i從0開始代表列數(shù),t從0開始代表行數(shù)。由于frame1為升序排列,所以frame1.Data[0][-1]即代表第一列+倒數(shù)第二行,即前一交易日的日期數(shù)據(jù)。然后根據(jù)append將提取出的各個(gè)交易日合并至timedelta中。
資料來(lái)源:西瓜財(cái)經(jīng)資訊
第三步:提取科創(chuàng)板成分上述交易日的PE數(shù)據(jù)
資料來(lái)源:西瓜財(cái)經(jīng)資訊
(1)根據(jù)wset函數(shù)獲取科創(chuàng)板成分,不用生成dateframe可以直接提取科創(chuàng)板代碼,原理同上面的frame1。code的結(jié)果如下:
資料來(lái)源:西瓜財(cái)經(jīng)資訊
(2)先用timedelta[0]即最近交易日得到一個(gè)有證券名稱和和最近交易日PE的基礎(chǔ)表。之前我們往往通過(guò)以下語(yǔ)句得到dateframe:
date1=w.wss(code,"sec_name,pe_ttm","tradeDate="+timedelta[0])
data1frame=pd.DataFrame(data=np.mat(date1.Data).T,index=date1.Codes)
但是經(jīng)過(guò)對(duì)wind的探索,發(fā)現(xiàn)通過(guò)增加"error,"和“usedf=True”可以直接生成dateframe,語(yǔ)句如下:
error,data1=w.wss(code,"sec_name,pe_ttm","tradeDate="+timedelta[0],usedf=True)
資料來(lái)源:西瓜財(cái)經(jīng)資訊
(3)根據(jù)剩下交易日生成各個(gè)日期的PE截面數(shù)據(jù)并直接在循環(huán)中合并。
資料來(lái)源:西瓜財(cái)經(jīng)資訊
第四步:導(dǎo)出自動(dòng)命名的表格
(1)excel表格名稱設(shè)置為——科創(chuàng)板動(dòng)態(tài)市盈率'+today+',即可以得到動(dòng)態(tài)命名的表格。
資料來(lái)源:西瓜財(cái)經(jīng)資訊
資料來(lái)源:西瓜財(cái)經(jīng)資訊
資料來(lái)源:西瓜財(cái)經(jīng)資訊
- 后言 -
◆ ◆ ◆ ◆
想要獲取源代碼的小伙伴關(guān)注公眾號(hào),后臺(tái)回復(fù)“Python金融應(yīng)用之提取交易日+合并截面數(shù)據(jù)”即可。注意,源代碼可以直接粘貼使用,而且是帶文字說(shuō)明的哦。
end
公眾號(hào):西瓜財(cái)經(jīng)資訊
撰稿人:安靜的金融美女子
總結(jié)
以上是生活随笔為你收集整理的python收取wss数据_Python金融应用之提取交易日+合并截面数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是基金定投
- 下一篇: python trim函数_python