可转债的字段信息不全
https://www.joinquant.com/help/api/help#name:bond
这个网页里面有介绍:
可转债基本资料(CONBOND_BASIC_INFO)
表结构:
名称 类型 描述
code str 债券代码
short_name str 债券简称
full_name str 债券全称
list_status_id int 上市状态编码,见下表上市状态编码对照表
list_status str 上市状态
issuer str 发行人
company_code str 发行人股票代码(带后缀)
issue_start_date date 发行起始日
issue_end_date date 发行终止日
plan_raise_fund decimal(20,4) 计划发行总量(万元)
actual_raise_fund decimal(20,4) 实际发行总量(万元)
issue_par int 发行面值
issue_price decimal(10,3) 发行价格
is_guarantee int 是否有担保(1-是,0-否)
fund_raising_purposes varchar(200) 募资用途说明
list_date list_declare_date date 上市公告日期
convert_price_reason varchar(300) 初始转股价确定方式
convert_price decimal(10,3) 初始转股价格
convert_start_date start_date 转股开始日期
convert_end_date end_date 转股终止日期
convert_code varchar(10) 转股代码(不带后缀)
coupon decimal(10,3) 初始票面利率
exchange_code int 交易市场编码,见下表交易市场编码
exchange str 交易市场
currency_id str 货币代码。CNY-人民币
coupon_type_id int 计息方式编码,见下表计息方式编码
coupon_type str 计息方式
coupon_frequency int 付息频率,单位:月/次。按年付息是12月/次;半年付息是6月/次
payment_type_id int 兑付方式编码,见下表兑付方式编码表
payment_type str 兑付方式
par float 债券面值(元)
repayment_period int 偿还期限(月)
bond_type_id int 债券分类编码,见下表债券分类编码
bond_type str 债券分类
bond_form_id int 债券形式编码,见下表债券形式编码表
bond_form str 债券形式
list_date date 上市日期
delist_Date date 退市日期
interest_begin_date date 起息日
maturity_date date 到期日
interest_date str 付息日
last_cash_date date 最终兑付日
cash_comment str 兑付说明
我用代码验证一下
703013是可转换债券的类型代码
from jqdatasdk import *
aut(account,pass)
df = bond.run_query(query(bond.BOND_BASIC_INFO).filter(bond.BOND_BASIC_INFO.bond_type_id == '703013'))
df.columns
请看输出结果
Index(['id', 'code', 'short_name', 'full_name', 'list_status_id',
'list_status', 'issuer', 'company_code', 'exchange_code', 'exchange',
'currency_id', 'coupon_type_id', 'coupon_type', 'coupon_frequency',
'payment_type_id', 'payment_type', 'par', 'repayment_period',
'bond_type_id', 'bond_type', 'bond_form_id', 'bond_form', 'list_date',
'delist_Date', 'interest_begin_date', 'maturity_date', 'interest_date',
'last_cash_date', 'cash_comment'],
dtype='object')
许多重要的字段没有
比如:转股价格,convert_price
请答复一下,如何获得这个字段信息?
问题描述
解决方案
您好!您在查询时遇到的问题是因为使用了错误的数据库表。
在 JoinQuant 的债券数据库中,债券基本信息被分为了两张表:
bond.BOND_BASIC_INFO(债券基本资料):这张表包含所有种类债券(国债、企业债、可转债等)的通用基本信息,因此不包含可转债特有的字段(如转股价格、转股日期等)。bond.CONBOND_BASIC_INFO(可转债基本资料):这张表专门用于存储可转债的特有信息,您需要的convert_price(初始转股价格)、convert_start_date(转股开始日期)等字段都在这张表中。
解决方法
要获取可转债的转股价格等信息,您需要查询 bond.CONBOND_BASIC_INFO 表。以下是正确的代码示例:
from jqdatasdk import *
# 登录您的账号
auth('您的账号', '您的密码')
# 查询可转债基本资料表 (CONBOND_BASIC_INFO)
q = query(bond.CONBOND_BASIC_INFO).limit(10)
df = bond.run_query(q)
# 打印列名,您会看到 convert_price 等字段
print(df.columns)
# 查看具体数据
print(df[['code', 'short_name', 'convert_price', 'convert_start_date']])
如果您需要结合通用债券信息和可转债特有信息,可以通过 code 字段将 BOND_BASIC_INFO 和 CONBOND_BASIC_INFO 两张表的数据进行合并(Merge)处理。
希望这个解答能帮到您!