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