以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 金字塔软件问题提交 (http://222.73.7.161/bbs/list.asp?boardid=2) ---- 关于后台交易速度的3个问题 咨询版主 (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=159601) |
-- 作者:忘记密码 -- 发布时间:2017/11/16 14:20:17 -- 关于后台交易速度的3个问题 咨询版主 关于后台交易速度的3个问题 咨询版主 1 第一个速度 从模型运算完毕到发出委托的速度. 模型是2个挨着的语句发出开多开空的2单 之前用的3.8版本,第一单大约60ms 第二单等第一单发出之后又过了60ms才发出. 导致套利老是单腿 亏钱. 好在4.3版本速度有较大的提升. 第一单3ms发出 第二单又等3ms才发出. 那么: 既然是一个模型 挨着的2条语句. 后面的第二条委托 能不能一起 都在第一个3ms内发出呢? 2017-11-16 13:57:45.501 【后台】PB01 TSellShort 第 155 行出现信号 2017-11-16 13:57:45.501 【后台】PB12 TSellShort 已成功触发下单操作 价格:18470.000000 数量:5 类型:0 账户:620717 品种:PB12 2017-11-16 13:57:45.501 【后台】多账户及策略系数 委托账户或者组: 620717 2017-11-16 13:57:45.502 【后台】CTP登录账户 0 个 2017-11-16 13:57:45.502 【后台】金仕达登录账户 0 个 2017-11-16 13:57:45.502 【后台】恒生登录账户 0 个 2017-11-16 13:57:45.502 【后台】子账户 登录账户 0 个 2017-11-16 13:57:45.503 【后台】扩展接口 登录账户 1 个 2017-11-16 13:57:45.503 【后台】 帐户 620717 下单 2017-11-16 13:57:45.503 【后台】账户 620717 下单系数为1.000000 2017-11-16 13:57:45.503 【后台】账户 620717 下单,系数调整后下单量:5 2017-11-16 13:57:45.503 【后台】实际账户 620717 持仓 25 2017-11-16 13:57:45.504 【后台】下单已发送 ////////第一条委托 2017-11-16 13:57:45.504 【后台】PB01 TSell 第 156 行出现信号 2017-11-16 13:57:45.505 【后台】PB01 TSell 已成功触发下单操作 价格:18465.000000 数量:5 类型:0 账户:620717 品种:PB01 2017-11-16 13:57:45.505 【后台】多账户及策略系数 委托账户或者组: 620717 2017-11-16 13:57:45.505 【后台】CTP登录账户 0 个 2017-11-16 13:57:45.505 【后台】金仕达登录账户 0 个 2017-11-16 13:57:45.505 【后台】恒生登录账户 0 个 2017-11-16 13:57:45.506 【后台】子账户 登录账户 0 个 2017-11-16 13:57:45.506 【后台】扩展接口 登录账户 1 个 2017-11-16 13:57:45.506 【后台】 帐户 620717 下单 2017-11-16 13:57:45.506 【后台】账户 620717 下单系数为1.000000 2017-11-16 13:57:45.507 【后台】账户 620717 下单,系数调整后下单量:5 2017-11-16 13:57:45.507 【后台】实际账户 620717 持仓 25 2017-11-16 13:57:45.507 【后台】下单已发送 ///////////第二条委托 2 第二个速度 模型的运算速度 勾选了不间断监控 1ms 从日志看,几百行的模型在15 16毫秒内运算完毕 . 但是我做了一个极简单的测试模型,就1-2句. 按道理可以在3毫秒以内运算完毕. 然而但是并没有,还是15-16毫秒才运算完毕. 那么 应该是金字塔封印了模型的运算速度. 没道理几百行15毫秒,一句话也要15毫秒. 能不能解除封印呢? 让电脑以最大速度最快的刷新率去运行. 简单模型 估计3毫秒就能刷一次.然后就可以发单了. 如果这样,从收到行情开始 3毫秒算完 3毫秒2个单子发出去. 能大大的减少滑点.毕竟比别的软件快就是一大优势. 路上走多长时间,这个就由不得我们了. 3 第三个速度 勾选日志 对发单速度到底有多大的影响. 或者说 当前勾选 1收到行情运算完毕16毫秒,发单6毫秒. 总计22ms 如果不勾选, 你们估计 这个22ms能缩减吗,大概缩减到了多少? 谢谢!! 期待能优化第一个 和第二个速度. (毕竟发单速度 从3.8版本的120ms 变戏法一样的4.3版本变成了6ms, 相信你们的能力) |
-- 作者:忘记密码 -- 发布时间:2017/11/16 14:46:35 -- 如果把第二个模型预算速度接触封印,谁再说金字塔慢,就可以拿个几句话的模型怼他. 你看2毫秒算完了 3毫秒就发出单子了 慢是因为模型复杂了,自己改策略去!! 从收到行情到发出单子 5毫秒以内,大家都没话说了!!
[此贴子已经被作者于2017/11/16 14:48:00编辑过]
|
-- 作者:gxx978 -- 发布时间:2017/11/16 14:59:25 -- 这就涉及到软件底层设计算法和资源利用的问题了,任何软件都会有一个运行的极限值的,只有在不断优化运行计算算法,提高硬件资源的利用率,才会突破这个壁垒。随着硬件的提升,客户的需求,对这块的需求我们也会更加重视,这需要一个过程,也是我们努力的方向。 |
-- 作者:忘记密码 -- 发布时间:2017/11/16 15:05:59 -- 谢谢版主的重视 软件都会有一个运行的极限值的,只有在不断优化运行计算算法,提高硬件资源的利用率,才会突破这个壁垒 现在这第二个速度 比较复杂和极简单的模型 都要16ms运算完, 应该是你们基于某种考虑封印了这个速度. 如果能解除这个封印,让简单的模型快点算完把单子发出去,再进行下一次扫描. 那就最好不过了. 争取做到发单子有多块 只看模型和电脑. 期待中!!
|
-- 作者:无为剑 -- 发布时间:2017/11/16 15:06:27 -- 日志记录也需要时间的,这3ms主要是记录日志消耗的 |
-- 作者:忘记密码 -- 发布时间:2017/11/16 15:13:32 -- 不会吧大哥? 意外惊喜? 你是说第二单和第一单之间间隔的3毫秒 是记录日志消耗的? 那第一单和出现信号之间的3毫秒呢? 不会也是记录日志消耗的吧? 回到第二个速度,模型不管大小 运行都要16毫秒的情况, 其中大概有多少是记录日志消耗的? 当然 除掉记录日志消耗的, 简单模型也应该能速度更快才对. |
-- 作者:无为剑 -- 发布时间:2017/11/16 15:44:43 -- 日志消耗大约1-2毫秒。 另外如果你对交易速度计较到毫秒的程度,那么PEL是不适合你的,建议你用处理更高效的VBA交易 |
-- 作者:忘记密码 -- 发布时间:2017/11/16 17:05:36 -- 易用性和速度 是一个两难的取舍 当然 如果两者都好 那就更好了. 金字塔可以尽量让PEL压榨硬件, 同时让客户易用. 我感觉你们完全有能力缩短简单模型的运算时间间隔的. 实在没有解决方案了,再来压榨脑袋去搞VBA. 因为你知道的,大部分策略,即使我们辛辛苦苦用VBA搞出来,花费大量的精力,然而结论是该策略并没有什么大的卵用. 又去搞新的想法. 如何减少这种对生命的浪费呢? 就靠你们了,尽最大的力 让PEL兼顾速度和易用性. |
-- 作者:无为剑 -- 发布时间:2017/11/16 23:07:20 -- PEL确实是主要考虑易用性,对于速度而言也不是完全不行,主要还是要考虑编程者的编程能力是否处理高效。 我们新手教学区有个专门介绍提高编程效率的帖子,建议你学习一下 |
-- 作者:忘记密码 -- 发布时间:2017/11/16 23:30:30 -- 金字塔的PEL跟其他的几家比起来算是很快的了,这也是我们转到金字塔的原因之一. 原来从出信号到发出2单委托 要120毫秒,现在被你们轻松的加速到6毫秒,提升了20倍了. 后来后台加入了不间断监控功能,可以1毫秒刷一下, 我现在疑惑的是 不论复杂还是极其简单的模型,日志里面记录的刷新间隔都在15毫秒左右. 同时CPU占用并不高, 也就是说 你们在这个不间断监控的地方 还有压榨速度的空间. 期待你们在以后的版本里面再压榨一下. 另外再请教一下版主: 用vba 的话 一个简单的套利模型,尽可能快的去监控行情(委托价 委托量)的变化,比如也间隔1毫秒就去监控, 从发现行情变化 到委托单从我电脑上发出,大概要几毫秒? 比PEL大概快多大比例?
|