qlib+mongo实现转债金融时间序列数据查询

持续行动1期 39/100,“AI技术应用于量化投资研资”之可转债投资。

截至昨天,我们基本把可转债需要的基础数据,时间序列数据都入库mongo,并且生成qlib格式的数据库,并且整合的可转债的转股价,正股价。

现在我们可以来实现转债里有基础但有用的“双低”策略。

轮动的逻辑,就是永远持有目前“得分”最高的标的。”双低“意味着转债的股性和债性综合得分最高,也就是性价比最好。

01 qlib查询双低值

从qlib数据库里查询 转债价格$close,转股价$chg_price,正股价$stk_close,

转股溢价率:$close/(100/$chg_price*$stk_close)-1,

双低值:$close+ ($close/(100/$chg_price*$stk_close)-1)*100

fields = ['$close','$close+ ($close/(100/$chg_price*$stk_close)-1)*100', '$close/(100/$chg_price*$stk_close)-1']
data_loader_config = {
    "feature": (fields, ['转债价格', '双低值', '转股溢价率']),
    # "label": (labels, label_names)
}
data_loader = QlibDataLoader(config=data_loader_config, )
df = data_loader.load(instruments=instruments, start_time=start_date)
df = df['feature']
df.sort_values(by='双低值', ascending=True, inplace=True)
pprint(df)
return df

查询的数据如下:

与集思录里的数据做下对比,差不多(日期不同,我们的数据是09-05的)

接下来我们需要查询最新的日期里,按“双低”值从小到大排序

这里带出一个问题,qlib适合做模型训练和回测,比如当前这个数据集,直接把双低值当作pred_score就可以回测了。包括机器学习的模型训练,但作为数据呈现(当数据库使用)就会有诸多不便。

后续可以考虑调研一下其余的金融时间序列数据库。

02 目前看数据需求

一个列表页的查询功能,这些功能可以通过预计算。

主要是需要把正股的信息整合起来,还有涨跌幅度,双低值等。

列表的作用只能查询最新的数据,比如不方便(需要重新计算)“穿越”到历史上某一天。

把mongo基础表的信息整合起来,形成一上完整的列表:

df_basic = mongo_utils.get_db()['bond_basic'].find({'ts_code': {'$in': list(df['instrument'])}},
                                        {
                                            'bond_short_name': 1,
                                            'stk_short_name': 1,
                                            '_id': 0,
                                            'maturity_date': 1,
                                            'ts_code':1
                                        })
df_basic = pd.DataFrame(list(df_basic))
df_basic.index = df_basic['ts_code']

df = pd.concat([df, df_basic], axis=1)

结合mongo的basic表和qlib的时间序列表,后续财务数据都可以整合进来。

除了考虑时间序列数据库(暂时不考虑,会引入更多的技术复杂性)。

qlib后续回测有大用途,目前性能还有优化的空间,包括qlib启用缓存等等。

简言之——qlib的数据库作为高性能时间序列数据库的一个替代,是一个很好的选择!

小结:

把qlib当作时间序列数据是一个正确选择。

qlib+mongo足够处理海量的金融时间序列数据。(qlib数据结构就是为此而生的)。之前有朋友问我为何为自己写一个,客观讲很耗时,未必做得比人家好。

后续:(还需要继续优化性能,导入基本面数据,财务指标等,就可以指导可转债的投资了)

qlib格式的可转债数据:正股价,转股价的整合

飞狐,科技公司CTO,用AI技术做量化投资;以投资视角观历史,解时事;专注个人成长与财富自由。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值