💻专业版获取可转债数据
今天将展示如何使用Python和QMT来获取可转债的实时数据和财务数据。
🔬 获取可转债基本信息
迅投的券商版和基础版都不支持可转债行情,投研专业版才支持,一年大概5000元。免费的券商版可参考QMT量化入门
投研专业版才有权限调用download_cb_data()方法:
# coding:gbk
# @author : 木头左
# @date : 2024/06/03 22:18:26
# @description :
from xtquant import xtdata
import random
bond_code = ''
# 下载转债信息
xtdata.download_cb_data()
# 获取转债信息
res= xtdata.get_cb_info(bond_code)
print(res)
如果无权限,则会报错RuntimeError:
📊 下载可转债基本信息
如果没开通投研专业版,也没关系,可以从集思录下载。需要安装akshare,并登录集思录。f12后可以看到自己的cookie。
# 安装QMT库
# pip install akshare
import akshare as ak
bond_df = ak.bond_cb_jsl(cookie="")
bond_df.to_csv('可转债20240601.csv', index=False, encoding='utf-8-sig')
这里需要下载akracer-0.0.13 akshare-1.13.96 html5lib-1.1 jsonpath-0.82.2 py-mini-racer-0.6.0 xlrd-2.0.1等,大概几十M,可能出错:
可以指定阿里或清华的源:
pip install akshare --index-url https://mirrors.aliyun.com/pypi/simple/
可以看到已经下载的csv:
注意这里的cookie,如果未登录只能获取到30条,目前正常应该是有500多支可转债。
📊 获取可转债行情数据
虽然券商版本没开放可转债信息查询接口,但是行情数据仍然是开放的。
xtdata.download_history_data2(stock_list=[bond_code], period='1d',start_time="20240601")
res = xtdata.get_market_data(field_list=['time','open','high','low','close','volume','amount'],
stock_list=[bond_code],period='1d',count=10,dividend_type='none', fill_data=True)
quote_df1=pd.DataFrame(columns=['time','open','high','low','close','volume','amount'])
print(res)
调用download_history_data2
函数下载历史数据:
stock_list=[bond_code]
:指定要下载数据的列表,这里只包含一个元素,即bond_code
,bond_code
代表可转债的代码。period='1d'
:指定数据的时间周期,这里是'1d'
,表示日数据。start_time="20240601"
:指定下载数据的起始时间,格式为'YYYYMMDD'
,这里指定的是2024年6月1日。
调用get_market_data
函数,获取市场数据:
field_list=['time','open','high','low','close','volume','amount']
:指定要获取的市场数据字段列表,包括时间、开盘价、最高价、最低价、收盘价、成交量和成交金额。stock_list=[bond_code]
:与第一行代码相同,指定要获取数据的债券代码。period='1d'
:同样指定数据的时间周期为日数据。count=10
:指定要获取的数据条数,这里是10条。dividend_type='none'
:指定股息处理方式,'none'
表示不考虑股息调整。fill_data=True
:指定是否填充缺失的数据,True
表示会尝试填充。
结果如下:
如果这篇文章能够对您量化之路有所帮助,希望您点赞、分享和关注哦!👍🔄👀