相关文章推荐
冲动的八宝粥  ·  市人民政府办公厅关于印发武汉市都市工业园区产 ...·  2 月前    · 
读研的作业本  ·  宁波蛟川书院好不好难考吗?蛟川中学和镇海中学 ...·  9 月前    · 
帅气的猴子  ·  木村拓哉之所以被称为大神,可不只是带火匡威和 ...·  1 年前    · 
八块腹肌的小蝌蚪  ·  citra吧-百度贴吧--全球首款可运行3D ...·  1 年前    · 
飘逸的豆芽  ·  yml语法学习 ...·  1 年前    · 
Code  ›  Python金融应用之提取交易日+合并截面数据 NO.1602020.07.15工欲善其事,必先利其器//- 前言 - ◆ ◆ ◆ ◆今天,小咖来讲讲如何利用Pytho... - 雪球
投资 截面数据
https://xueqiu.com/9877481013/154130315
大气的香槟
2 年前
首页
行情
行情中心 筛选器 新股上市 买什么
交易
A股交易 基金交易 私募中心
下载App
扫一扫,下载
 登录/注册
西瓜财经资讯
西瓜财经资讯 ()
发布于2020-07-15 22:55 来自雪球
 关注

Python金融应用之提取交易日+合并截面数据

来源:雪球App,作者: 西瓜财经资讯,(https://xueqiu.com/9877481013/154130315)

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金融应用之提取交易日+合并截面数据

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

   
 
推荐文章
冲动的八宝粥  ·  市人民政府办公厅关于印发武汉市都市工业园区产业发展规划纲要(2008—2011年)的通知 - 武汉市人民政府门户网站
2 月前
读研的作业本  ·  宁波蛟川书院好不好难考吗?蛟川中学和镇海中学什么关系区别在哪
9 月前
帅气的猴子  ·  木村拓哉之所以被称为大神,可不只是带火匡威和Bape那么简单!_百科TA说
1 年前
八块腹肌的小蝌蚪  ·  citra吧-百度贴吧--全球首款可运行3DS游戏的模拟器--未来可以再更多平台上体验3DS游戏的模拟器,开发速度堪比PPSSPP,但是作者非常低调,甚至没有模拟器专属论坛,但这贴吧就是这模拟器最好的
1 年前
飘逸的豆芽  ·  yml语法学习 SpringBoot配置文件自动装配 yml文件有提示读取配置文件-天翼云
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号