个人认为学会了怎么用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的交互—在债券中的应用相关推荐

  1. Mac用户Excel里Wind插件相关问题

    Mac用户Excel里Wind插件相关问题 Wind的帮助真的相当于亲妈式教学了- 大部分问题参看如下网址的一系列说明⬇️ 链接: [link(http://114.80.154.45/UnitedW ...

  2. link函数 matlab,安装Excel link插件,实现Excel与Matlab的互联

    本文介绍Excel link插件的安装,实现Excel与Matlab的互联. Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的 ...

  3. Excel催化剂插件安装过程升级,离线版全网公开下载!

    Exce催化剂推出近2年,之前一直在推崇在线版的安装方式,但因安装步骤较多,可能吓退了一部分初级用户,此轮重新梳理,让安装方式更简单,也公开了离线版的安装文件,若部分用户不想使用在线版,亦可转到离线版 ...

  4. python合并word单元格_python之DataFrame实现excel合并单元格_python

    这篇文章主要为大家详细介绍了python之DataFrame实现excel合并单元格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元 ...

  5. excel电子表格插件_电子表格的美好时光

    excel电子表格插件 A couple of things happened this week that reminded me of the good old days of spreadshe ...

  6. 2款实用的Excel可视化插件,建议收藏!

    来源丨一张大千 大家好,我是小F- 这次给大家介绍2款实用的Excel可视化插件,分别是: 地图可视化-PowerMap.图表可视化-Data Chart 1.三维地图可视化插件:PowerMap 这 ...

  7. 【Excel统计分析插件】上海道宁为您提供统计分析、数据可视化和建模软件——Analyse-it

    Analyse-it是Microsoft Excel中的 统计分析插件 它为Microsoft Excel带来了 易于使用的统计软件 Analyse-it在软件中 引入了一些新的创新统计分析 Anal ...

  8. EXCEL插件-下载-Excel地图插件简介

    我们的目标是打造专业 稳定 易用的应用软件 1 软件概述 EXCEL地图插件 - 一款基于Excel表格进行地理数据挖掘.坐标转换.地图绘制.地图图表等操作的工具类应用软件.具有易用.高效.稳定的特点 ...

  9. Excel文件管理插件——方便好用的Excel小帮手

    Excel文件管理插件是一款注册后即可使用,卸载方便的Excel插件 Excel文件管理插件,注册后即可使用,卸载方便,有以下功能: 1. 界面为任务窗格模式,分上下两部分,上部分为excel文件资源 ...

  10. Matlab和excel联合,安装Excel link插件,实现Excel与Matlab的互联

    本文介绍Excel link插件的安装,实现Excel与Matlab的互联. Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的 ...

最新文章

  1. 成都2018年GDP超1.5万亿元 比上年增长8.0%
  2. 输入法快捷键_[秒杀必备]搜狗输入法自定义短语快捷键设置
  3. Activity去Title的几种方式
  4. iwrite提交不了作业_痛点!为什么开发了那么多软件,还是解决不了教学问题!...
  5. 2021-3测试通过:eclipse安装svn插件
  6. axios的this指向_vue使用axios时this指向哪里
  7. c语言通讯录程序设计个人感言,C语言学习感悟(1)
  8. Cathy学Java——数据库
  9. librdkafka------C kafka Client
  10. 如何使用Python给Excel写入数据
  11. VMware vSphere7 with Tanzu 安装方案
  12. python画多边形太阳花
  13. 特斯拉阀:被遗忘的天才之阀
  14. Android如何应对不同分辨率手机匹配问题
  15. 【S-CMS企业建站系统 v5.0 】闪灵CMS+含小程序+响应式布局+支持手机版网站+支持QQ旺旺客服
  16. 大数据助力普惠金融发展
  17. 【论文笔记(2)】图卷积网络介绍 Understanding Convolutions on Graphs
  18. Python抓取网易云音乐热搜榜热评
  19. JavaWeb09_Cookie Session
  20. windows7彻底删除流氓软件的操作方法

热门文章

  1. 【老生谈算法】matlab特定人语音识别算法——语音识别算法
  2. 数据结构之求二叉树叶子结点个数
  3. 【编译】GCC与CMAKE的关系 MinGW32 和 MinGW-w64的关系
  4. 3天学会MaxScript教程之(第一天:开始编写我们的第一个MaxScript)
  5. ORACLE错误编码大全
  6. 进销存管理系统是什么?能给企业带来哪些好处?
  7. 类似熊猫金花挖词的SEO查询工具包
  8. 物品领用 系统 php,EXCEL物品管理系统V1.0(开放源码)
  9. Java 案例一 商场库存清单案例
  10. python就业班2017_2017黑马Python就业班视频教程