天道社区

 找回密码
 立即注册
查看: 5|回复: 0

六、算法交易运行池

[复制链接]

2493

主题

2493

帖子

7669

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7669
发表于 昨天 13:02 | 显示全部楼层 |阅读模式
(一)整理思路,编写模型

1、宽语言模型构建方法

库安算法交易软件使用宽语言编程,类C语言语法,支持各类复杂策略的开发,支持个性化的信号管理和精细化下单方案。公式属于编译型,编译后直接运行可执行文件,大大提高了公式的执行效率。

(1)基于K线数据的公式结构

“基于K线数据”类型,指根据K线图表数据构建趋势策略,写入算法交易接管信号对下单精细化管理的模型。

公式由定义数据区、定义环境设置、设置跨合约跨周期引用关键字、定义参数、定义变量和主程序构成,如下图所示。除主程序外,其余部分可针对具体思路缺省。



(2)独立算法交易模型的公式结构

“独立的算法交易模型”类型,指不调用K线图表数据,仅以盘口和账户数据构建的算法模型。

公式由调用数据区Data、定义变量Vars和主函数Begin—End三部分组成,如下图所示:



(3)编写公式:

如下图,点击软件右上方角菜单【量化】->【编写公式】进行编写。



(4)编写规则:

① 宽语言编程语法:https://www.wenhua.com.cn/guide/myQuant_zjyfhs2.htm

② 常见编写和机制说明:https://www.wenhua.com.cn/guide/myquant_zjyfhs6.htm

③ 账户函数取交易账户的数据,不需要在Data区定义;

④ 独立的算法交易模型不支持定义参数。

2、查找函数

(1)系统函数

Wh9支持丰富的WFC开源函数类库,提供近200个开源函数,共700余个系统函数,支持金融统计类函数、循环执行函数、基本面函数、头寸类函数、手动下单辅助函数、期权类函数等交易建模所需的各类函数,支持用户自由实现各类量化交易思路。

如下图所示,在量化菜单下点击【函数列表】,可查看函数的具体分类和使用说明。



编写时,在编写平台上双击蓝色的系统函数,单击鼠标右键【查找函数说明】可查看函数具体使用方法。



(2)自定义函数

如果要在模型中调用比较复杂的计算,而现有的函数又无法满足需要,则可以通过创建自定义函数来实现。熟练的使用自定义函数可以简化代码,减少出错的可能,提高编写效率。

①自定义函数的结构:

自定义函数由参数定义、变量定义、主程序三部分构成,如下图所示:



②编写自定义函数:

如下图所示,是如何编写用户自定义函数。



③ 编写规则:

· 自定义函数语法介绍:https://www.wenhua.com.cn/guide/myQuant_zjyfhs2.htm

· 自定义函数不能直接加载在图表上,只能在其他自定义函数或公式应用中调用;

· 未经过编译保存的自定义函数不能在其他公式中被引用;

3、信号指令下单委托函数

(1)六种信号指令:BK、SK、SP、BP、BPK、SPK

· 信号指令根据K线图表数据计算信号,可显示信号图标并对信号做历史回测,不支持下单委托;

· 可用于基于图表数据计算的K线图公式,不可用于独立的算法模型;

· 常见思路:通过函数获取信号的价位、距离、信号到目前的高低点等;

· 信号指令如下表,具体使用方法请在“公式编写平台”->【帮助】->“指令说明”中查看:

指令

指令图标

指令函数

建立多头持仓

BK(N,Price,IsCancel);

建立空头持仓

SK(N,Price,IsCancel);

平多头持仓

SP(N,Price,IsCancel);

平空头持仓

BP(N,Price,IsCancel);

买平后买开新仓

BPK(N,Price,IsCancel);

卖平后卖开新仓

SPK(N,Price,IsCancel);

(2)下单委托函数:A_SendOrder

· 不计算信号,根据条件直接发委托单,只能用于实时行情,不能历史回测;

· 可用于K线图公式/独立算法交易模型;

· 常见思路:获取账户信息、盘口高频数据等实现精细化下单;

· 函数用法如下,更多使用方法请在软件右上方菜单【量化】->“函数列表”中查看:

注:

1、两种指令可同时用于一个公式中,多用于量化策略结合算法交易实现精细化下单;

2、公式中只写信号指令不写下单函数A_SendOrder,只能在图表上显示信号标识,不能进行下单交易;

3、套利交易不支持反手指令,BPK、SPK信号在套利上相当于BK、SK,需用SP、BP平仓。

(二)模型测试和优化

1、测试模型在历史K线上的效果(查看信号回测报告)

模型写好后,我们通常是不敢马上实盘交易的,因为我们不了解模型,不知道它与我们的思路是否相符,盈利率是多少、胜率是多少、多久出一次信号等。只有先了解模型,才能信任并在实盘中放心的应用,因此在实盘交易前要先检验模型在历史K线上的效果,了解模型的效果和局限性。

套利量化模型的测试方式和单合约测试方法相同,如下图,将模型加载到K线图,在K线图上点击鼠标右键->【模型回测报告】,即可查看详细的分析报告,投资者可根据分析报告中的参考指标360度检验模型的好坏。



在K线上点击鼠标右键,勾选【显示权益曲线】,可直观的看到资金曲线的变化情况,检查模型的效果是否符合我们的预期要求。



2、了解模型(查看模型信号明细)

资金最大回撤发生在哪一根K线?资金最大回撤时的几笔交易盈亏分别是多少?模型测试的每笔交易的时间和价格具体是多少?这一系列问题都可在“信号明细”中找到答案。

如下图,加载模型回测后,在K线图上点击鼠标右键->【信号明细】,可查看详细的效果测试成交明细。



3、优化模型参数

我们会发现在一段时间内表现很好的模型,过了一段时间就好像失效了一样,这可能是由于模型参数不再适应当前市场行情引起的,这时便需要统计筛选新的最优参数,庞大的计算量单凭人工计算几乎是不可能的,利用“参数优化”功能,可在指定的范围内让计算机筛选出最适合当前行情的参数。

如下图,加载模型回测后,在K线图右键菜单选择【参数优化】,可通过①【枚举】按钮,进行大范围海选抽样;通过②【遗传】按钮,在已经筛选的优质参数附近寻找更优的参数。



常见问题解答:

1、在wh9里面套利的合约可以回测收益吗,怎样回测?

答:可以。在设置套利合约后,套利价差/价比合约可以和一般的合约一样对待的,回测的方法和单合约测试方法一样;

(三)运行模型自动交易

通过历史回测和参数优化,模型的执行效果得到了大幅提升。但是仅有模型是不能自动交易的,还需要借助量化交易平台运行,自动下单。针对不同的策略思路,软件提供不同的运行方案。

1、套利运行池后台运行

以K线图表数据为基础的K线图公式,需要在套利运行池加载:在套利K线图上加载策略,通过右键菜单【装入到运行池,后台运行】,将策略加载到运行池,在后台自动运行。如下图,是如何运行套利量化策略。



软件提供三种信号作用方式,供投资者灵活选择:

显示信号不下单:只显示信号标识,不执行信号指令,即使模型含有算法交易模型也不进行下单。

弹出下单提示:出信号时弹出手动下单提示框,可由投资者根据经验手动下单。

出信号算法交易接管下单:出信号时由算法交易模型接管信号并自动执行下单。

2、独立算法交易模型运行池

独立的算法交易模型,需要在算法交易运行池中运行。如下图,点击【量化】-> 【算法交易运行池】,选择套利交易策略执行,可在后台自动运行下单。



常见问题解答:

1、wh9平台上,怎么运行套利量化策略?

答:wh9有专门的套利量化运行平台,设置方法:

第一步:在软件右上角菜单->【套利】->【自设套利合约】配置好套利对,在【自设套利合约报价列表】中可查看自设套利合约;

第二步:在K线图上加载模型,回测、优化模型后,右键->“装入到运行池,后台运行”;

第三步:点击左侧Tab条【套利池】,或在右上角菜单【套利】->【套利模型运行池】,可以看到其运行效果;

2、自设套利K线图提示“套利K线图现在无法查看,后台正在制作中”

答:设置套利配对后,后台需要根据多年的逐笔成交数据生成套利对的各个周期的k线数据,通常需要半小时左右,若套利对合约数据量较大或同时请求的套利对数量较多,则制作时间相应加长。

3、wh9的套利交易策略,能不能同时加载到多个账户里?

答:可以。需要购买多账号一带多下单授权才可以使用(点击了解一带多授权)。

登录多账号交易,在套利下单算法模型中使用A_SendOrder函数指定好具体的交易账号,当满足下单条件时会对所指定的交易账号同时下单。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|天道社区 ( 蜀ICP备06024898号-1 )

GMT+8, 2025-8-30 16:11 , Processed in 0.089138 second(s), 23 queries .

Powered by 网站地图 X3.4

!copyright!