python收取wss数据_Python金融应用之提取交易日+合并截面数据

NO.160

2020.07.15

ee1aaa37f1206c1dbde84df9d3087980.png

工欲善其事,必先利其器

//

- 前言 -

◆ ◆ ◆ ◆

今天,小咖来讲讲如何利用Python提取最近交易日、前一周交易日、前一月交易日、前一季度交易日等,并提取各个交易日的PE截面数据然后合并成单一表格,最终将导出以下结果。

fda9948771cb36d6d2d1bb085f71e8ca.png

资料来源:西瓜财经资讯

- 利用python进行金融处理 -

◆ ◆ ◆ ◆

为了实现以上功能需要进行以下完整步骤:

第一步:安装各种包

03bce97a4e90f810ba485614d5b979ac.png

资料来源:西瓜财经资讯

第二步:提取交易日数据

56b36b34eb1a161c907434d2155e0269.png

资料来源:西瓜财经资讯

(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)

befb1a851503155d5f8095de3f4fe378.png

资料来源:西瓜财经资讯

(6)设置timedelta这一空list,然后利用循环从表格中提取日期要素。frame1.Data[i][t]可以直接提取数据,i从0开始代表列数,t从0开始代表行数。由于frame1为升序排列,所以frame1.Data[0][-1]即代表第一列+倒数第二行,即前一交易日的日期数据。然后根据append将提取出的各个交易日合并至timedelta中。

67daecd520338a45593445af74d4193f.png

资料来源:西瓜财经资讯

第三步:提取科创板成分上述交易日的PE数据

793b2cd63be47d8839e90df470088c54.png

资料来源:西瓜财经资讯

(1)根据wset函数获取科创板成分,不用生成dateframe可以直接提取科创板代码,原理同上面的frame1。code的结果如下:

35b8745a7a4593667539eee0a3bc704d.png

资料来源:西瓜财经资讯

(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)

96b7cc929d881d9fbc49192007851de2.png

资料来源:西瓜财经资讯

(3)根据剩下交易日生成各个日期的PE截面数据并直接在循环中合并。

b8d3c678eb6a6610217127c5a7983673.png

资料来源:西瓜财经资讯

第四步:导出自动命名的表格

(1)excel表格名称设置为——科创板动态市盈率'+today+',即可以得到动态命名的表格。

9acf8be31dc5db2c32d212460985f47e.png

资料来源:西瓜财经资讯

5be06f2de41f446d54bfca7f0478f0bf.png

资料来源:西瓜财经资讯

fda9948771cb36d6d2d1bb085f71e8ca.png

资料来源:西瓜财经资讯

- 后言 -

◆ ◆ ◆ ◆

想要获取源代码的小伙伴关注公众号,后台回复“Python金融应用之提取交易日+合并截面数据”即可。注意,源代码可以直接粘贴使用,而且是带文字说明的哦。

end

公众号:西瓜财经资讯

撰稿人:安静的金融美女子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值