excel wind插件使用_Python和wind的交互—在债券中的应用
个人认为学会了怎么用python和wind交互以及怎么用python处理Excel数据,就基本能替换日常很多琐碎的债券工作,还不用担心Excel某个值改变了导致整个报表都毁了。
事实上在python调用wind函数和在Excel中调用函数一样简单,只要会基本的操作就够了。下面详细的介绍如何用python和wind进行交互。
首先安装好python+pycharm+wind。因为python自带的编写代码软件写代码不够方便,推荐最常用的Pycharm。
一、安装wind模块
要想用万得中的功能,需要安装wind的模块,安装方法和用pycharm安装其他的模块如numpy、pandas是一样的。
打开pycharm,依次进入,File下拉框下的settings,进入setting里的project下的projectinterpreter,点击下图右方的+号,在弹出的界面搜索框里输入wind,点击左下方的install package,等待安装完成就行了。
现在就可以像导入其他模块一样导入wind模块了,在python console里输:from WindPy import *(W和P一定要大写),这个时候会报错,ModuleNotFoundError: No module named 'WindPy'。因为还没将python安装路径添加到wind里,进入第二步。
二、添加python路径到wind里
还是进入file下面的settings, 进入setting里的project下的project interpreter,红框里的路径,将其:
C:\Users\baoyx\AppData\Local\Programs\Python\Python37 复制出来。
关闭pycharm,一定要关闭。打开wind,依次进入“我的”》“插件修复”》“修复python接口”,点击下图中的添加路径,将上面复制出的:
C:\Users\baoyx\AppData\Local\Programs\Python\Python37
添加进去即可。
三、如何使用wind导出数据以及处理异常问题
现在再次在python console里输:from WindPy import *,再输入w.start()。安装好之后就可以开始使用wind里的功能了,和在Excel一样,可以自动生成对应的wind函数,在wind里按下CG,可进入代码生成器,选择python语言,再从相应版块选择所要实现的功能。
Wind函数有自身的数据格式,我们输入进去的变量也会被要求成特定格式,因此这块需要特别注意,下面以日常债券工作中最常见的wss和wset函数展示如何提取数据,变量如何调整为wind指定格式输入,以及对可能的报错给出解决方法。
1、wss函数
Wss板块可以提取多维数据,是以代码作为搜索参数,和Excel中的wind函数一样,只不过Excel一个函数只能输出一个结果,wss板块可以输出一个矩阵。
先从CG命令进入wss,按照提示的流程进行操作,第一步是选择债券代码,可以在里面按照wind自己的分类进行选择(如选择所有的中期票据、待发行的债券等),第二步就是选择你想要查询的数据,比如想查询债券简称、债券类型、票面利率、估值等,wind里有非常丰富的要素可以选择。再进入下一步确定即可,在CG里就会生成一句代码,
w.wss("101353003.IB,101353010.IB","couponrate,issuer_rating")
我这里是选择了两只中票,并查询他们的票面利率和发行时的评级,第一个引号里放的是债券代码,第二个引号里放的是所要查询的要素,将生成的代码复制到pycharm里,并赋值给bond
bond= w.wss("101353003.IB,101353010.IB","couponrate,issuer_rating")
wind数据格式转换
由于wind函数取出的数据并不是我们想要的格式,我一般会在后面加上.Data,如
bond= w.wss("101353003.IB,101353010.IB","couponrate,issuer_rating").Data
这样bond的格式就是list类型,如果想转成dataframe格式,直接pd.Dataframe(bond),如果只想取某列数据,可以bond[0]、bond[1]等。
这样看还体现不出python的强大,看起来用Excel也可以实现,仔细观察wss中的参数,第一个参数放的是债券代码,我是指定了两个代码,实际上上面的那个参数可以改为一个变量,比如该变量存储了我所关注的债券,尤其注意该参数一定要为list格式,如果用python从Excel读取数据时,一定要将dataframe格式转换成list格式。比如我要读取我的文件名为cxz的Excel,用pd.read_excel函数即可,里面写上自己的文件路径
cxz=pd.read_excel(r"C:\估值研究\cxz.xlsx"),在pycharm里查看cxz变量,发现Excel的数据就被读入到pycharm里了,格式也非常好,然后用一句code=list(cxz[‘代码‘]),就可以将第一列的代码全面转换为list格式,如此上面的wss命令可以改作为:
w.wss(code,"couponrate,issuer_rating")
2、wset函数
Wind函数还提供板块查询,比如每日更新所有存续信用债代码,今日上市债券代码等,用wss板块只能取固定的代码,比如每日存续的债券代码都会更新,用wset板块就可以自动实现更新,不用每天都去wss板块去查询。
进入wset板块,在下图的编辑按钮里点击修改,比如选择信用债,就可以生成每日的存续信用债
w.wset("sectorconstituent","date=2020-03-06;sectorid=1000031875000000"),这里的日期可以设置为变量,从而实现每日自动生成。由于wind对格式有要求,第四部分第2小节讲解如何设置时间格式
四、常见的格式错误
1、数据超标
Wind函数第一个参数是债券代码,但是代码数量不能超过5000个,如果超过5000个,就需要写循环。
2、时间参数设置
比如下面这句话想把date改为变量,即每日的日期
w.wset("sectorconstituent","date=2020-03-06;sectorid=1000031875000000")
首先上面的格式可以拆开为
w.wset("sectorconstituent","date=2020-03-06“,”sectorid=1000031875000000"),wind函数中对有分号的可以拆开为两个独立的参数,效果是一样的。
然后要往函数中输入一个完整的字符串"date=2020-03-06“:
是用字符串的组合方式“date=”+” 2020-03-06“
再把2020-03-06替换成变量
比如产生今天的日期,就用date.today(),但是这date函数输出的结果是datetime.date(2020, 3, 6),我们需要把它变成指定的格式,运用date.isoformat(date.today())即可,最终表达式:
"date="+date.isoformat(date.today()),将这句话放入wss函数即可。
如果要生成前若干个交易日,可以用CG中的日期函数那块,还可以按照银行间和交易所生成各自的交易日期。
3、代码重复问题
w.wss("101353003.IB,101353003.IB","couponrate,issuer_rating").Data
如果我们第一个参数中代码出现重复,将会报错
[['CWSSService: repeated windcodes.']]
当处理的数据非常大时,难免会出现有重复的代码,wind函数不支持对重复的代码取数据,因此需要对其去重。
excel wind插件使用_Python和wind的交互—在债券中的应用相关推荐
- Mac用户Excel里Wind插件相关问题
Mac用户Excel里Wind插件相关问题 Wind的帮助真的相当于亲妈式教学了- 大部分问题参看如下网址的一系列说明⬇️ 链接: [link(http://114.80.154.45/UnitedW ...
- link函数 matlab,安装Excel link插件,实现Excel与Matlab的互联
本文介绍Excel link插件的安装,实现Excel与Matlab的互联. Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的 ...
- Excel催化剂插件安装过程升级,离线版全网公开下载!
Exce催化剂推出近2年,之前一直在推崇在线版的安装方式,但因安装步骤较多,可能吓退了一部分初级用户,此轮重新梳理,让安装方式更简单,也公开了离线版的安装文件,若部分用户不想使用在线版,亦可转到离线版 ...
- python合并word单元格_python之DataFrame实现excel合并单元格_python
这篇文章主要为大家详细介绍了python之DataFrame实现excel合并单元格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元 ...
- excel电子表格插件_电子表格的美好时光
excel电子表格插件 A couple of things happened this week that reminded me of the good old days of spreadshe ...
- 2款实用的Excel可视化插件,建议收藏!
来源丨一张大千 大家好,我是小F- 这次给大家介绍2款实用的Excel可视化插件,分别是: 地图可视化-PowerMap.图表可视化-Data Chart 1.三维地图可视化插件:PowerMap 这 ...
- 【Excel统计分析插件】上海道宁为您提供统计分析、数据可视化和建模软件——Analyse-it
Analyse-it是Microsoft Excel中的 统计分析插件 它为Microsoft Excel带来了 易于使用的统计软件 Analyse-it在软件中 引入了一些新的创新统计分析 Anal ...
- EXCEL插件-下载-Excel地图插件简介
我们的目标是打造专业 稳定 易用的应用软件 1 软件概述 EXCEL地图插件 - 一款基于Excel表格进行地理数据挖掘.坐标转换.地图绘制.地图图表等操作的工具类应用软件.具有易用.高效.稳定的特点 ...
- Excel文件管理插件——方便好用的Excel小帮手
Excel文件管理插件是一款注册后即可使用,卸载方便的Excel插件 Excel文件管理插件,注册后即可使用,卸载方便,有以下功能: 1. 界面为任务窗格模式,分上下两部分,上部分为excel文件资源 ...
- Matlab和excel联合,安装Excel link插件,实现Excel与Matlab的互联
本文介绍Excel link插件的安装,实现Excel与Matlab的互联. Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的 ...
最新文章
- 成都2018年GDP超1.5万亿元 比上年增长8.0%
- 输入法快捷键_[秒杀必备]搜狗输入法自定义短语快捷键设置
- Activity去Title的几种方式
- iwrite提交不了作业_痛点!为什么开发了那么多软件,还是解决不了教学问题!...
- 2021-3测试通过:eclipse安装svn插件
- axios的this指向_vue使用axios时this指向哪里
- c语言通讯录程序设计个人感言,C语言学习感悟(1)
- Cathy学Java——数据库
- librdkafka------C kafka Client
- 如何使用Python给Excel写入数据
- VMware vSphere7 with Tanzu 安装方案
- python画多边形太阳花
- 特斯拉阀:被遗忘的天才之阀
- Android如何应对不同分辨率手机匹配问题
- 【S-CMS企业建站系统 v5.0 】闪灵CMS+含小程序+响应式布局+支持手机版网站+支持QQ旺旺客服
- 大数据助力普惠金融发展
- 【论文笔记(2)】图卷积网络介绍 Understanding Convolutions on Graphs
- Python抓取网易云音乐热搜榜热评
- JavaWeb09_Cookie Session
- windows7彻底删除流氓软件的操作方法