【Python课堂】使用Akshare高效获得A股可转债的重要信息

文章目录

  • 前言
  • 一、准备
  • 二、获取基本信息
    • 1.引入库
    • 2.读入数据
    • 3.获取行情数据
    • 4.可转债比价表
  • 总结


前言

Akshare是一个非常好用的开源A股数据获取模块,它是基于 Python 的财经数据接口库,目的是实现对A股、美股、期货等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具,主要用于学术研究目的。

今天我们就来学习用它获取可转债的相关数据。


提示:以下是本篇文章正文内容,下面案例可供参考

一、准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。

请选择以下任一种方式输入命令安装依赖:

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
    pip install akshare --upgrade

二、获取基本信息

1.引入库

获取沪深可转债的基本信息,基本信息中包括债券代码、债券简称、申购日期、申购代码、申购上限、正股代码、正股简称、正股价、转股价、转股价值、债现价、转股溢价率、发行规模、中签号发布日、中签率、上市时间等信息。:

import akshare as ak

bond_zh_cov_df = ak.bond_zh_cov()
print(bond_zh_cov_df)

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。

在这里插入图片描述

一个使用小示例:如果你想要将可转债代码和正股代码对应起来:

import akshare as ak

bond_zh_cov_df = ak.bond_zh_cov()
code_map = bond_zh_cov_df.set_index("债券代码")
code_map = code_map.to_dict()
cb_stock_code = code_map["正股代码"]
print(cb_stock_code)

效果如下:
{‘113652’: ‘603568’, ‘118015’: ‘688595’, ‘127067’: ‘000703’, ‘123153’: ‘300956’, ‘123152’: ‘300727’, ‘113651’: ‘603992’, ‘118014’: ‘688556’, ‘113061’: ‘601689’, ‘118013’: ‘688208’, ‘127066’: ‘002850’, ‘118012’: ‘688321’, ‘118011’: ‘688689’, ‘113650’: ‘603916’, ‘123151’: ‘300869’, ‘123150’: ‘300406’, ‘118010’: ‘688026’, ‘113649’: ‘603810’, ‘118009’: ‘688059’, …}

在code_map.to_dict()后的变量里,我们可以获取可转债代码与其任意字段的map字典, 比如转股溢价率:

import akshare as ak

bond_zh_cov_df = ak.bond_zh_cov()
code_map = bond_zh_cov_df.set_index("债券代码")
code_map = code_map.to_dict()
cb_stock_code = code_map["正股代码"]
temp_data = code_map["转股溢价率"]
print(temp_data)
# {'113652': 4.55, '118015': 7.98, '127067': 12.66, '123153': 7.61, '123152': -4.81, '113651': 3.24, '118014': 1.19, '113061': -17.82, '118013': 10.36, '127066': 0.6, '118012': 2.55, '118011': 9.79, '113650': 19.75, '123151': 34.24, '123150': 26.08, '118010': 15.41, '113649': 34.8, '118009': 41.44, '111005': 15.72, '118008': 42.31, '110087': 31.92 ......


3.获取行情数据


3.获取行情数据

获取可转债的日线行情:

import akshare as ak
bond_zh_hs_cov_daily_df = ak.bond_zh_hs_cov_daily(symbol="sh113542")
print(bond_zh_hs_cov_daily_df)
# date open high low close volume
# 4 2019-08-29 108.68 108.99 108.56 108.71 69900
# .. ... ... ... ... ... ...
# 705 2022-07-22 110.03 110.86 110.03 110.40 50830
# [706 rows x 6 columns]

在这里插入图片描述
获取可转债分钟级行情数据:

import akshare as ak

bond_zh_hs_cov_min_df = ak.bond_zh_hs_cov_min(symbol="sz123124", period='1', adjust='', start_date="1979-09-01 09:32:00", end_date="2222-01-01 09:32:00")
print(bond_zh_hs_cov_min_df)
# 时间 开盘 收盘 ... 成交量 成交额 最新价
# 0 2022-07-22 09:30:00 116.200 116.200 ... 67 77854.0 116.2000
# .. ... ... ... ... ... ... ...
# 239 2022-07-22 14:59:00 116.000 116.000 ... 0 0.0 115.7802
# 240 2022-07-22 15:00:00 116.000 116.000 ... 97 112520.0 115.7819

在这里插入图片描述
bond_zh_hs_cov_min 支持以下参数:symbol(转债代码)、period(分钟级数据周期)、adjust(复权类型)、start_date(起始时间)、end_date(终止时间)。

其中 period 支持 ‘1’, ‘5’, ‘15’, ‘30’, ‘60’ 分钟级数据。

adjust 支持前复权(“qfq”), 后复权(“hfq”), 或不复权(空值 “”)。

4.可转债比价表

可转债比价表中有转股溢价率、纯债溢价率以及赎回强赎的触发价,有时候也是我们参考的重要指标:

import akshare as ak

bond_cov_comparison_df = ak.bond_cov_comparison()
print(bond_cov_comparison_df)

# 序号 转债代码 转债名称 转债最新价 ... 纯债价值 开始转股日 上市日期 申购日期
# 0 1 113652 伟22转债 - ... - 20230130 - 20220722
# 1 2 127067 恒逸转2 - ... 88.8369 20230127 - 20220721
# 2 3 123153 英力转债 - ... 95.5621 20230130 - 20220721

总结

除了这些数据以外,akshare中还有可转债价值分析、溢价率分析数据,以及集思录相关数据,大家有兴趣可以访问akshare文档查看:

https://www.akshare.xyz/data/bond/bond.html

我们的文章到此就结束啦,如果你喜欢今天的量化投资内容,请持续关注徐浪老师大讲堂。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/4344.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【干货】交换机管理

实验目的 熟悉掌握交换机的管理,包括:密码恢复,IOS升级和备份,IOS恢复 掌握实际工程中控制线的操作 交换机管理(一) 交换机密码恢复(以下实验都需要在真机上操作) 控制线和电脑的连…

oracle语句查询时间范围

oracle语句查询时间范围 参考网址 : https://blog.csdn.net/weixin_36436373/article/details/116541220?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167930069316800188562500%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%25…

Web自动化测试入门

1.Web自动化测试的价值(为什么要做web自动化测试) 我们可以使用脚本语言代替人来进行测试 2.Web自动化测试相关技术: Selenium:支持多语言,行业内最火最主流Pytest/JUnit5:最好用最全面的单元测试框架Allure:测试报告3.Web自动化…

多线程应用:定时器

一. 定时器 定时器(定时任务) 定时器是一种控制任务延时调用,或者周期调用的技术。作用:闹钟、定时邮件发送。 定时器的实现方式 方式一:Timer方式二:ScheduledExecutorService 二. Timer定时器 TimerTask继承了Runnable&#…

APT、对称加密、非对称加密、SSL工作过程技术的介绍

1. APT的简单介绍APT全称:Advanced Persistent Threat 高级可持续威胁攻击。指的是某组织对特定对象展开持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质,供应链和社会工程学等手段,实施先…

【Vue全家桶】细说slot

【Vue全家桶】细说slot 文章目录【Vue全家桶】细说slot前言一、认识插槽Slot1.1 插槽的基本使用二、插槽的使用2.1 默认内容2.2 剧名插槽2.3 作用域插槽前言 我们已经了解到组件能够接收任意类型的 JavaScript 值作为 props,但组件要如何接收模板内容呢?…

【翻译】使用Go生成一个随机字符串(密码)

来源: Generate a random string (password) YourBasic Go https://yourbasic.org/golang/generate-random-string/ Random string 随机字符串 This code generates a random string of numbers and characters from the Swedish alphabet (which includes the non…

Linux内核查询

使用uname命令查找Linux内核 uname是用于获取系统信息的Linux命令。您也可以使用它来确定您使用的是32位还是64位系统。 打开一个终端并使用以下命令: [linuxmilinux:~/www.xxx.com]$ uname -r 输出将类似于以下内容: 5.3.0-28-generic 这意味着您正在…

【CocosCreator入门】CocosCreator组件学习 | Sprite(精灵)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中 Sprite 组件是最常用的之一。Sprite 组件用于渲染 2D 图像,并提供了许多可配置的选项,如图像纹理、尺寸、位置、旋转等。在本文中,我们将深入探讨 …

如何成为一个优秀的产品经理?

通过本文您可以清楚地了解产品经理的角色和职责,教您如何摇身一变成为优秀的产品经理的技巧等。 一、什么是产品经理? 产品经理主要的职责在于确定客户需求、将产品或功能实现商业目标的最大化、将产品打造成最终成功的样子,并召集团队将这…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。  一般来说,测试接…

【Qt】Qt单元测试详解(一):通过QtCreator创建测试工程

1、简述 Qt程序支持多种测试框架,其中QtCreator可以协助创建4种测试框架,分别是: Boost的测试框架——Boost.Test Google测试框架——GTest Qt测试框架——QTest Qt Quick测试框架——QtQuickTest其他框架需要自行创建:Catch2、CTest 2、QtCreator创建测试工程 2.1 创建…

jenkins+sonarqube+自动部署服务

一、jenkins 配置Pipeline 二、新建共享库执行脚本 共享库可以是一个普通的gitlab项目,目录结构如下 三、添加到共享库 Jenkins Dashboard–>系统管理–>系统配置–>Global Pipeline Libraries Name: 共享库名称,自定义即可; Defa…

从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类

我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。随着小卫星星座的普及,对地观测已具备多次以上的全球覆盖…

输出数组的长度-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第3章-课后作业)

【案例3-5】输出数组的长度 一、案例描述 考核知识点 length()方法 练习目标 掌握length()方法获取数组长度。掌握数组的遍历。 需求分析 数组中保存五个学生的数学成绩,遍历数组分别获取每一个学生的数学成绩分数,用length()函数获取数组的长度。 案…

帝国CMS7.2/7.5火车头配置说明以及使用教程

一淘模板 56admin.com给大家写一个帝国cms火车头采集器配置的教程,由于录视频太麻烦,所以直接打字上图了,希望能帮助到小伙伴! 火车头简要来讲分为 3 个部分的配置:1、发布地址配置;2、文件保存地址与图片…

数据结构|AOE网活动的最早、最迟发生时间及关键路径问题

一些知识点: 整个活动的完成时间是AOE图中从始点到终点的最长路径的长度,这条路径称为关键路径。关键路径上的活动称作关键活动。 注意:关键路径不一定只有一条。 1.最早发生时间:从前往后,前驱结点到当前结点所需时…

SpringBoot使用详解

概念 Spring Boot的启动器实际上就是一个依赖。这个依赖中包含了整个这个技术的相关jar包,还包含了这个技术的自动配置,以前绝大多数XML配置都不需要配置了。 如果是Spring自己封装的启动器的artifact id名字满足:spring-boot-starter-xxxx&…

Java分布式锁面试题

1.为什么需要分布式锁? public synchronized void test() {System.out.println("获取到锁"); } public void test2() {synchronized (Test.class) {System.out.println("获取到锁");} }假设我们把上述代码部署到多台服务器上,这个互斥锁还能生…

BPI-R3开发板 - atf编译

一. 获取源码 https://github.com/mtk-openwrt/arm-trusted-firmware 二. 编译步骤 和编译uboot一样,编译环境为ubuntu 18.04。交叉编译工具链我用的是openwrt编译生成的工具链,并设置到环境变量,如下: export PATH$PATH:/root/mt…