大QMT自动可转债申购
参考 https://quantkt.com/forumDetail?id=201084
视频讲解 https://quantkt.com/courseDetail?id=1078
今天讲一下大QMT的自动转债打新
核心是通过get_ipo_data(“BOND”)获取当日的新债
可以获取新债的代号和可以申请的数量,之后走和申请新股一样的逻辑即可
直接用passorder(23)进行申购即可
# encoding:gbkimport datetime
import requests
import jsoneps = 0.0000001
is_tradeday = False
accID = ''#你的资金账号def init(ContextInfo):print('start')ContextInfo.run_time("myHandlebar", "3nSecond", "2023-06-20 13:20:00")ContextInfo.already_ipo = Falseprint("init finished")def myHandlebar(ContextInfo):nowDate = timetag_to_datetime(ContextInfo.get_bar_timetag(ContextInfo.barpos), '%Y-%m-%d %H:%M:%S')print(nowDate)now = datetime.datetime.now()isoweekday = datetime.datetime.now().isoweekday()if isoweekday > 5:print('是周末', isoweekday)returnprint('当前时间', now.strftime('%H:%M:%S'))ipo_bond = get_ipo_data("BOND") print('当日新债', ipo_bond) bond_vol = {i: ipo_bond[i]['maxPurchaseNum'] for i in ipo_bond}bond_price = {i: ipo_bond[i]['issuePrice'] for i in ipo_bond} print('新债可申情况', bond_vol) for bond in bond_vol: passorder(23, 1101, accID, bond, 11, bond_price[bond], bond_vol[bond], '新债申购', 2, bond, ContextInfo) print(f"新债申购 {bond} {bond_vol[bond]}张")
def handlebar(ContextInfo):return
加入实盘或者模拟信号,效果如下。
可在实盘运行代码中选择特定时间将申购新债和申购新股一起申购,解放人力,也可避免忘记申请的隐患。