登录 注册 返回主站
推荐产品 炒股必读

量化交易里面如何创建一个 Python 策略?

  • 作者:证券股票开户(V:13453121755)
  • 2023-08-03 15:58:11
  • 分享:

量化交易里面如何创建一个 Python 策略

想使用量化交易的你蠢蠢欲试,但是不知道如何创建Python策略,那么今天讲一下,这样你上手就非常明白了。

首先在量化平台打开一个简单的 Python 策略

在量化平台上用 Python 写一个输出 hello world 的模型。图中的模型实现了一个 Python 模型 必须实现 的两个接口:** init()** 与 handlebar() 。输出窗口展示了这个模型的运行输出。平台首先调用 init() 方法输出了 hello init,随后在每根 K 线上调用一次 handlebar() ,输出一次 hello handlebar。

新建一个 Python 策略

模型创建方法有三种:

方法一,在【策略开发】界面,使用平台预置的各种示例模型,点击后方“编辑”按钮,并在弹出的【策略编辑器】中以此示例模型代码为基础进行编写。

我的主页-编辑模型

方法二,在【策略开发】界面,点击新建模型,选择 Python 模型,在弹出的【策略编辑器】中从头到尾编写一个用户自己的量化模型。

策略开发-新建模型

方法三,在模型管理面板右键,选择新建模型,并选择 Python 模型。

模型管理-新建模型

如何策略编写呢?

【策略编辑器】是专门为模型开发者设计的,集成了模型列表、函数列表、函数帮助、模型基本信息、参数设置、回测参数等多个部分,拥有代码高亮、自动补全等特色功能于一体的便捷的模型编辑、开发环境。

模型编辑页面 右侧可选择策略默认的周期、品种

编写 Python 策略需在开始时定义编码格式,如 gbk。

之后可选择导入第三方库,所选第三方库要在相应管理端白名单内才可运行。

Init 方法和 handlebar 方法的定义是必须的。Init 方法会在策略运行开始时调用一次,用以初始化所需对象(包裹在 ContextInfo 对象中传递),设定股票池等。

Handlebar 方法会在历史 K 线上逐 K 线调用,平台会保存函数所做更改。

在盘中交易时间,handlebar 函数会随行情推送(tick 数据)被调用,当一个 tick 数据为所在 K 线最后一个 tick 时,此 tick 调用的 handlebar 所做的更改会被平台保存,如有交易指令,会在下一根K 线的第一个 tick 到来时发送;其他 tick 可以打印运行结果,但 handlebar 所做更改不会被保存,也不会发送交易信号。

编写创建完模型后,对应模型的基本信息和回测参数进行设置。

点击优化,评测结果弹窗显示不同参数变量组合下的回测结果,根据结果选择最优参数组合。可点击所需指标进行排序。需要注意的是,在测评之前,需要针对所选品种和周期补充数据。

补充数据

在创建用户的模型之前,用户应使用客户端提供的“数据管理”功能,选择并补充模型所需的相应市场、品种以及对应周期的历史数据。

如何策略运行呢?

策略编写完毕后,点击编译,可保存策略。编译按钮在 Python 策略中只起保存功能,不会检查语法与引用的正误。之后点击运行可以看到策略运行效果(如有错误,会在日志输出的位置报错)。

策略编辑器-运行

如当前平台所处界面为“行情”界面或“交易”界面,点击运行之前,需在行情中手动设置好 K 线品种和周期,点击运行后,策略即可运行。

接下来经历了策略调试,策略回测,反复了运行之后就得到一个可以试用的Python 策略。

给你推荐一个量化交易平台实用性较高:

(1)Python API 是绑定在此平台中的,底层是 C++,保证了该 Python API 对行情数据,财务数据等的高访问速度。

(2)支持跨资产类别的量化交易策略的回测、模拟交易功能。依照提供的的策略模板,可以编程出各种独特的投资策略,进行单一市场或跨市场交易。

(3)可以便捷的对投资策略进行日频率、分钟频率的历史回测,了解策略在市场中的历史表现,比较不同策略的优劣;也可以对策略进行模拟交易,了解策略在市场中的真实表现,更加准确的对策略进行评估。

(4)采用的是所见即所得的策略运行机制,完美展示策略运行结果。

有需要随时联系!


温馨提醒:用户在赢家聊吧发表的所有资料、言论等仅代表个人观点,与本网站立场无关,不对您构成任何投资建议。本文中出现任何联系方式与本站无关,谨防个人信息,财产资金安全。
点赞1
发表评论
输入昵称或选择经常@的人
聊吧群聊

添加群

请输入验证信息:

你的加群请求已发送,请等候群主/管理员验证。

本吧详情
吧 主:

江恩笑笑

会 员:

212人关注了该股票

功 能: