暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

外汇行情最优价实时锁定,把握最佳交易机会

255
在外汇交易中,存在多个价源,多个价源之间,同一时刻的报价可能存在差异。在多个价源之间实时选取最优价格显得尤为重要。它有助于投资者获得更有利的交易执行价,从而更合理地执行交易策略、降低交易成本、优化流动性、分散交易风险。此外,通过比较不同价源的价格,投资者还能够更好地了解市场的趋势和波动性,进而做出更明智的投资决策
由于最优价的选取需要实时关联多个价源,并且数据清洗规则复杂多变,如果用传统方法实现实时流计算架构、定义数据处理规则,需要专业的人员进行大量的开发、调试和优化工作,会耗费大量的人力和时间。DolphinDB 则能够帮助用户在这类复杂实时流计算场景中轻松实现数据价值
今天我们就以实时选取外汇行情多价源最优价为例,一起来看看 DolphinDB 提供了怎样一套低码高效的解决方案~

异常数据处理规则

DolphinDB 内置的流数据框架能够实现高效的关联计算、实时触发规则和内存管理机制,运行高效、使用便捷。结合流批一体的函数定义,业务或开发人员即可通过简单的引擎参数配置,快速实现复杂的实时计算需求

通过 DolphinDB 的数据回放功能,我们仿真了 CFETS (中国外汇交易中心) 和 HKFEMT (香港外汇市场) 两个市场的一天的买方报价 (bid) 数据,其中异常数据的处理规则为:
  • 为每个货币对的买方报价 (bid) 设定一个阈值,超过阈值的价格被视为异常报价

  • 如果两个市场的买方报价 (bid) 都没超过该货币对的阈值,选取较大的买方报价 (bid) 作为最优价

  • 如果有一个市场的买方报价 (bid) 超过了该货币对的阈值,选取另一个买方报价 (bid) 作为最优价

  • 如果两个市场的买方报价 (bid) 都超过了该货币对的阈值,返回该货币对前一时刻的最优价

业务实现流程

借助 DolphinDB 的流数据处理框架,我们能够实现不同价源之间的最优价选取,整体数据处理过程如下:

  1. 清理环境后,首先创建三个共享的异步持久化流数据表,分别用于接收和发布 HKFEMT 的实时行情数据、CFETS 的实时行情数据、以及最终得到的最优价结果;

  2. 当 HKFEMT 和 CFETS 这两个市场的 Tick 数据通过流数据表分别进入等值连接引擎时,等值连接引擎会根据货币对选取同一时刻的不超过阈值的最优价和最优价市场,如果两个市场的价格都是大于阈值的异常值,那么等值连接引擎会把此时刻的最优价和最优价市场设置为空值;

  3. 接下来,等值连接引擎的结果输入到响应式状态引擎,响应式状态引擎将对最优价和最优价市场使用向前填充的方法处理空值

  4. 最终,结果会实时输出到存储计算结果的流数据表中;

  5. 用户可通过 Excel、Python API、Grafana 等订阅结果流数据表,实时获取最优价,用于指导交易、风险控制。以 Grafana 为例,在其面板上编写查询脚本、订阅流数据表,即可实现多价源最优价的可视化👇

性能表现

以延时为统计对象,我们记录了从等值连接引擎收到数据,至响应式状态引擎输出结果所经历的时间。测试发现,在单线程的情况下,最大延时的场景是 29 个货币对同时到达引擎,耗时0.1185ms,而最小延时的场景是只有 1 货币对到达引擎,仅耗时0.0841ms,表现比较出色,能够帮助交易者在瞬息万变的外汇市场中快速做出决策。

以上就是基于 DolphinDB 流数据处理框架,对外汇行情多价源最优价进行实时选取的方案全过程,旨在帮助大家提高开发效率、降低开发难度,详细方案&示例代码,请点击阅读原文查看。如果你还想了解 DolphinDB 为其他量化场景量身打造的解决方案,欢迎联系小助手微信(dolphindb1),我们期待听到你的声音~

Explore More



扫描二维码,添加 DolphinDB 小助手

点击阅读原文,了解完整解决方案及脚本

文章转载自DolphinDB智臾科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论