分类标签归档:QMT

实盘量化QMT踩坑记录(四)


这几天把回测代码改成了实盘,发现还是有几个区别的。同样的策略,聚宽选出来的股票和QMT选出来的股票存在较大的差异,5只里面有4只不一样。由于对QMT的回测功能和数据质量存疑。干脆用聚宽的模拟盘将信号写入云数据库,然后QMT只负责读取选股结果。

1.如果你采用handle_bar 的形式,那么需要加上下面的代码

    #跳过历史k线
    if not C.is_last_bar():
        return

如果不加这段代码,那么就算是实盘,他会从历史K线开始运行。

2.实盘可以通过如下代码设置账号

    g.acct = account
    ContextInfo....

Read more

实盘量化QMT踩坑记录(三)


对之前的小市值策略修正了几个Bug,并增加了RSRS-MV择时。同时最近又发现了QMT的如下几个问题:

  1. 有时候会出现pandas库找不到等问题,重启一下QMT即可。

  2. 似乎对于get_market_data_ex()等函数,即便事先不先下载数据,也会先自动去下载,所以不下载数据也能跑。

  3. QMT似乎不适合做回测。上篇,已经提到过,QMT在回测的时候,一些函数不会动态地修改“今天”,因此,如果某个函数有end_time参数,默认的话都是返回当前的时间节点,并不会在回测模式下动态的进行一个调整。因此,在回测时候,凡是有end_time参数的,我都要根据ContextInfo.barp...

Read more

实盘量化QMT踩坑记录(二)


最近有时间把一些聚宽上面的策略重现成QMT代码。主要是增加了一些择时(如RSRS择时),还有一些因子选择方面的内容。总结起来,基本上熟悉以下几个函数就差不多了。

  1. get_trade_detail_data(),主要用该函数获得账户信息(如可用资金)和持仓信息。这里有别于聚宽代码,聚宽是通过访问context全局变量里面的portfolio对象获得相关信息。

  2. get_market_data_ex(),获得股票对应的价格信息,对应于聚宽里面的get_price(),history() 和attribute_history()函数。

  3. get_financial_data(), 获得...

Read more

实盘量化QMT踩坑记录(一)


聚宽马上要关停其实盘量化接口,我虽然没有用聚宽的实盘,但却是其回测和研究环境的重度用户。由于我目前的策略换仓频率不是很频繁,所以我都是先在聚宽研究环境里面跑,然后手动下单。虽然聚宽实盘关停对我影响不大,但是觉得万一哪天回测,研究环境啥的也给砍了咋办。所以还是得提前想好对策。

目前市面上比较主流的可以支持个人用户做量化的系统就是QMT和Ptrade,QMT所有数据和策略保存在本地,运行策略的时候需要电脑保持实时开机状态。Ptrade在云端运行,需要上传策略。QMT更加面向机构和专业投资者,两者的区别不再赘述,感兴趣的朋友可以自己查找相关资料。目前QMT和Ptrade的开户门槛都有所下降。 ...

Read more