接着研究QMT一些常用代码

之前介绍过QMT的安装,今天再接着研究一下。QMT没有带研究功能,我们只能将策略编写界面简单设置一下,做到点击完“回测”按钮,能很容易出现运行的结果。

首选我们新建一个策略文件,然后:

1、设置回测界面。

开始时间和结束时间,设置为最近的交易日即可。

接着研究QMT一些常用代码

代码保留这些即可

接着研究QMT一些常用代码

一会儿要运行的代码都写在”def handlebar”这个函数里,这个函数在默认的情况下,每个交易日运行一次。

2、查看Python和数据分析库版本

def handlebar(ContextInfo):
  print(sys.version)
  print('pandas版本:',pd.__version__)
  print('numpy:',np.__version__)
  print('matplotlib版本:',plt.__version__)

返回:

接着研究QMT一些常用代码

看起来Python和数据分析库的版本比ptrade高一些。

3、打印当前时间和K线时间

当前时间为实际时间,K线时间为回测时走到的某根K线所属的时间。

def handlebar(ContextInfo):
  now_time = dt.datetime.now().strftime('%Y%m%d %H:%M:%S')
  print('当前时间为:',now_time)


  index=ContextInfo.barpos
  td=timetag_to_datetime(ContextInfo.get_bar_timetag(index),'%Y%m%d %H:%M:%S')       #当前K线日期
  print("K线时间:",td)

返回:

接着研究QMT一些常用代码

4、查看是否是回测模式

这里用判断ContextInfo.is_last_bar函数的返回值是否为真来查看是否为回测,如果为返回值真,则说明当前K线是能获取的最后一根,就代表这是在模拟或实盘;如果返回值为假,说明当前K线不是最后一根,就代表这是在回测。

def handlebar(ContextInfo):
    if ContextInfo.is_last_bar():
        print("模拟或实盘模式")
    else :
        print("回测模式")

返回:

接着研究QMT一些常用代码

5、查看因子值或财务数据

QMT的因子是很多的,可在“行情”——“扩展数据”界面看一下有哪些因子

接着研究QMT一些常用代码

使用因子之前,要下载因子数据和股票K线数据,这些我已经提前下载过了,下面看一下能否获取到因子值

def handlebar(ContextInfo):
  factor = get_factor_value('主营收入', '600600.SH', 0, ContextInfo)
  print(factor)

返回:

接着研究QMT一些常用代码

没有数据啊,再去因子界面看一眼有没有因子值

接着研究QMT一些常用代码

也没有,去官网看看原因吧

接着研究QMT一些常用代码

原来券商版没有因子数据,投研专业版才有。

唉,因子是用不成了,那财务数据应该有吧?看一下所有A股的营业总收入吧。查看了一下,这个数据在利润表中。用了两个函数,get_stock_list_in_sector获取所有A股代码列表;
ContextInfo.get_financial_data获取营业总收入

def handlebar(ContextInfo):
  stock_list=get_stock_list_in_sector('沪深A股')
  f_data = ContextInfo.get_financial_data(['利润表.营业总收入'], stock_list, '20210101', '20210101', report_type = 'report_time')
  print(f_data)

返回:

接着研究QMT一些常用代码

接着研究QMT一些常用代码

4000多只,看起来支数不够啊,我看看是哪个函数返回的不够呢?

def handlebar(ContextInfo):
  stock_list=get_stock_list_in_sector('沪深A股')
  print(len(stock_list))

返回:

接着研究QMT一些常用代码

啊,原来get_stock_list_in_sector(‘沪深A股’)这儿已经少返回代码了,后面的获取财务数据函数应该没有问题。真相大白了。限于篇幅,今天不研究get_stock_list_in_sector(‘沪深A股’)为什么返回的少了,待哪天研究完了再发上来。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74862
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注