金融交易算法单介绍

news/2025/3/27 11:25:53/

0.背景

股票交易时,常见的订单类型有基础订单条件订单

基础订单

  • 市价单
  • 限价单
  • 碎股单
  • 等等

条件订单

  • 止损市价单
  • 止损限价单
  • 触及市价单(止盈)
  • 触及限价单(止盈)
  • 跟踪止损市价单
  • 跟踪止损限价单
  • 等等

除了基础订单和条件订单,有必要了解一下算法单。

1.什么是算法单?

算法交易基于一组预定义的 (算法) 的计算机程序来进行交易。定义的算法可以是基于时间、价格、数量或任何模型。计算机程序将自动监控股票价格并在满足定义的条件时下达买卖订单指令。

常见的算法单有:

  • TWAP
  • VWAP
  • POV

这三种算法都属于冲击驱动型算法,目的是最小化市场冲击来平稳执行大额交易,从而实现以合理的价格买入或卖出。

当然,还有很多不同的交易算法:来自 IB 官网。
在这里插入图片描述

2.TWAP

TWAP(Time Weighted Average Price)为时间加权平均价格,指定时间内使总执行价格尽可能接近时间加权平均价格。

T W A P = ∑ i = 1 n p r i c e i n TWAP=\frac{\sum_{i=1}^n price_i}{n} TWAP=ni=1npricei

TWAP 策略的核心思想是将交易量均匀地分散在一段时间内进行交易,以平滑交易对市场的影响。

TWAP 就是将订单等量拆成小单按时间均匀下单。

在这里插入图片描述

TWAP 订单的入参:

参数含义
start_time开始时间戳
end_time结束时间戳

注意,有一些券商(如 IB,JPMorgan)是实现 TWAP 策略时,而不是简单等时间等量下单,也会考虑用户的 urgency 程度(risk adversion程度),目的是综合考虑算法订单的冲击成本及时间风险,寻找最优的执行模式,使得总的冲击成本及时间风险最小化。

然而,此策略也存在一些缺点,如无法适应市场快速变化的情况,以及无法适应特定事件或新闻对市场的影响。总的来说,TWAP策略适用于需要在一段时间内完成大量交易的情况,可以帮助投资者平滑交易对市场的影响,提高交易效率。

3.VWAP

VWAP(Volume Weighted Average Price,成交量加权平均价格)指定时间内使总执行价格尽可能接近成交量加权平均价格。
在这里插入图片描述
VWAP 策略是一种拆分大额委托单,在约定时间段内分批执行,以期使得最终买入或卖出成交均价尽量接近这段时间内整个市场成交均价的交易策略。

VWAP 就是将订单拆分成小单按过去一段时间的成交量分布等比例下单。

在这里插入图片描述
VWAP 参数:

参数含义
start_time开始时间戳
end_time结束时间戳
participation_rate市场参与度:子单数量比例

4.POV

POV(Percent of Volume,成交量百分比)指定时间内使成交量与市场总成交量的比例尽可能接近用户设定的比例。

POV 订单的目标是在一定时间内按照预设的市场成交量百分比来执行大宗交易,从而最小化对市场价格的影响。

POV 参数:

参数含义
start_time开始时间戳(微秒)
end_time结束时间戳(微秒)
percent_of_volume跟随比例

5.小结

在金融交易中,使用不同的算法交易策略可以帮助投资者优化入市时机、控制交易成本和减少市场冲击。

上面三种算法单策略各有优势和局限,选择哪种策略取决于交易目标、市场条件和流动性需求。

TWAP 更适合较为稳定的市场环境,VWAP 考虑了交易量,更适合大量交易,而 POV 则提供了与市场流动性同步的灵活性。理解这些策略的基本原理和适用场景可以帮助投资者更有效地管理其交易执行过程,降低成本,优化性能。


参考文献

客户可使用100多种定单类型和算法 - Interactive Brokers
量化交易常用的算法分类 - 雪球


http://www.ppmy.cn/news/1573063.html

相关文章

rustdesk编译修改名字

最近,我用Rust重写了一个2W行C代码的linux内核模块。在此记录一点经验。我此前没写过内核模块,认识比较疏浅,有错误欢迎指正。 为什么要重写? 这个模块2W行代码量看起来不多,却在线上时常故障,永远改不完。…

Qt中基于开源库QRencode生成二维码(附工程源码链接)

目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库,专门用于生成二维码&…

论文阅读_用于低频隔振的高负刚度新型阵列磁性弹簧的分析与设计_3

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

C# SpinLock 类 使用详解

总目录 前言 SpinLock 是 C# 中一种轻量级的自旋锁,属于 System.Threading 命名空间,专为极短时间锁竞争的高性能场景设计。它通过忙等待(自旋)而非阻塞线程来减少上下文切换开销,适用于锁持有时间极短(如…

申论对策建议类【2022江苏B卷第一题“如何开展网络直播”】

材料: 近年来,公安交管部门通过网络直播,将执法过程和执法细节以视频形式呈现在公众面前,吸引“围观”、组织点评,让执法过程变成一堂生动的法治公开课。 “各位网友,大家好!这里是‘全国交通…

JavaScript设计模式 -- 迭代器模式

在软件开发中,我们经常需要遍历集合、数组、链表、树等数据结构。传统上,这些数据结构往往需要暴露内部实现细节,或者写大量重复的遍历代码。**迭代器模式(Iterator Pattern)**提供了一种统一的方式来访问集合内的元素…

STM32单片机芯片与内部88 CAN USB SD卡硬件选择 电路设计 IO分配

目录 一、CAN 1、硬件选择 2、电路设计 3、IO分配 二、USB 1、硬件选择 2、电路设计 3、IO分配 三、SD 1、硬件选择 2、电路设计 3、IO分配 一、CAN 1、硬件选择 一般都是TJA芯片,一般是最大速率、应用场景、抗干扰等方面的区别。 2、电路设计 3、IO分…

如何学BI大数据

职业规划建议 1. 短期目标(1-2年) 积累经验:通过实习或初级岗位(如数据分析师、商业分析师)积累经验。 提升技能:深入学习SQL、Python、BI工具,掌握数据分析和可视化技能。 建立作品集&…