什么是程序化交易
大到量化、程序化、高频交易、套利交易、主观投资这些基本的概念,小到网格交易、条件单、T+0、ETF套利、期现套利、算法拆单交易、打板策略等具体的投资方式。如果没有接触过这些,很容易混淆。
程序化交易:
指通过既定程序或特定软件,自动生成或执行交易指令的交易行为。通过程序化交易,使得软件下单代替了人工委托。
在这次监管及沪深交易所给出的程序化相关业务通知中对程序化交易的定义为:
指通过计算机程序自动生成或者下达交易指令在本所进行证券交易的行为,包括按照设定的策略自动选择特定的证券和时机进行交易的量化交易,或者按照设定的算法自动执行交易指令的算法交易以及其他符合程序化交易特征的行为。
沪深交易所认为交易符合以下条件之一的,应当履行报告义务:
(1)下单自动化程度高:证券代码、买卖方向、委托数量、委托价格等指令的核心要素以及指令的下达时间均由计算机自动决定的程序化交易投资者。
(2)申报速率快:1天出现10次以上1秒钟内10笔以上申报(含撤单申报)的程序化交易投资者。
(3)交易股票只数多、换手率高:最近30个交易日日均交易沪市股票不少于50只,且最近30个交易日年化换手率在30倍以上的程序化交易投资者。
(4)使用自主研发或其他定制软件的程序化交易投资者。
(5)交易所认定的其他需要报告的情形。
使用会员为客户提供的带有一定自动化功能的客户端软件进行交易的,且不符合上述条件的投资者,无需进行报告。
不管我们使用那种投资交易方式,我们始终在解决两个核心问题:选股、择时(什么时候如何交易)。
通过上面的基本概念可以看出程序化交易是相对人工交易而言,最大的特点就是:由计算机来自动生成订单并完成交易。
其中上述沪深交易所表述的一条“使用会员为客户提供的带有一定自动化功能的客户端软件进行交易的,且不符合上述条件的投资者,无需进行报告。”。
比如证券公司针对机构用户或证券公司认定高净值的合格投资者提供的QMT和Ptrade两个主流的PC交易客户端中,就包括了: 网格交易、条件单、套利交易(ETF、可转债、期现)等自动化交易功能,这一类功能主要是用户通过可视化界面人工操作方式,预先设置一些规则,在条件触发后,由软件生成订单并由系统自动报单完成交易,按照上面的定义可以看出完全符合:程序化交易定义。
同时,QMT和Ptrade等“专业投资工具”均提供了用户可以以python、Java,C++等代码方式来编写一段“代码”来完成自己的交易,这样的方式相比软件提供的“标准的人工操作界面”的功能,可以更加灵活的实现一些个人的交易思路,这里的代码我们常称为“策略”,比如要实现一个简单的策略:1)如果上一时间点价格高出五天平均价1%,则全仓买入;2)如果上一时间点价格低于五天平均价,则空仓卖出,则在Ptrade的代码示例如下:
-
def initialize(context): -
g.security = '600570.SS' -
set_universe(g.security) -
def handle_data(context, data): -
security = g.security -
sid = g.security -
# 取得过去五天的历史价格 -
df = get_history(5, '1d', 'close', security, fq=None, include=False) -
# 取得过去五天的平均价格 -
average_price = round(df['close'][-5:].mean(), 3) -
# 取得上一时间点价格 -
current_price = data[sid]['close'] -
# 取得当前的现金 -
cash = context.portfolio.cash -
# 如果上一时间点价格高出五天平均价1%, 则全仓买入 -
if current_price > 1.01*average_price: -
# 用所有 cash 买入股票 -
order_value(g.security, cash) -
log.info('buy %s' % g.security) -
# 如果上一时间点价格低于五天平均价, 则空仓卖出 -
elif current_price < average_price and get_position(security).amount > 0: -
# 卖出所有股票,使这只股票的最终持有量为0 -
order_target(g.security, 0) -
log.info('sell %s' % g.security)
![]()
由此可见,证券公司提供的PC交易端中提供了不同层面的“程序化”交易工具,丰富了投资者的交易方式,以前这些交易方式大多数可能是机构投资者独有,比如ETF套利、期现套利之前都是证券公司自营的主要投资方向,但随着技术的普及化以及日益增长的投资者交易诉求,这些机构化的投资工具都可以“降位”给符合条件的个人使用,使用这些能不能赚到钱先不展开,因为片面的说,从投资交易角度,比如抢涨停,假设全市场都是用同质化的标准软件,那交易必然会趋同,赚钱效应就会大大降低。在沪深交易所的表述也特别强调到了这点,如果使用这些标准的工具不需要报告,但如果符合了申报速率高、交易频率高、换手高,或者说即使人工操作或使用以上简单代码触发了:每秒300笔或每天20000笔的监控阀值,也需要报告。
除了PC交易终端软件外,证券公司已将上述的“高级投资工具”集成在了各自的移动交易APP终端,进一步惠普散户。比如这次量化风波中,被散户抨击最多的:T0为例,很多证券公司在APP端都提供了,只要符合条件就可申请使用,而且这里最大的点,如果是同一个证券公司的同一个T0策略,那么散户使用的T0策略和机构使用的策略逻辑是一样的。因为目前市场上卡方科技、非凸科技、跃然科技、启能达等第3方的算法交易软件供应商,一般都会提供标准的:T0策略,如果某证券公司采购了其中某家的T0策略,那不管是机构客户使用PB客户端,还是散户使用移动APP终端,使用的T0策略背后,都是同一个“服务器”。除非是有的机构针对具体的产品策略进行了合作定制。
相关文章:
什么是程序化交易
大到量化、程序化、高频交易、套利交易、主观投资这些基本的概念,小到网格交易、条件单、T0、ETF套利、期现套利、算法拆单交易、打板策略等具体的投资方式。如果没有接触过这些,很容易混淆。 程序化交易: 指通过既定程序或特定软件…...
企业如何安全跨国传输30T文件数据
对于一些对数据敏感性比较高的企业,如IT企业和国企等,跨国数据传输是当今企业面临的一个重要挑战,尤其是当数据量达到30T这样的规模时,如何保证数据的速度、安全和合规性,就成为了企业必须考虑的问题。本文将从以下几个…...
【Linux】centos安装配置及远程连接工具的使用
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《微信小程序开发实战》。🎯Ἲ…...
算法|每日一题|掷骰子等于目标和的方法数|动态规划
1155.掷骰子等于目标和的方法数 原题地址: 力扣每日一题:掷骰子等于目标和的方法数 这里有 n 个一样的骰子,每个骰子上都有 k 个面,分别标号为 1 到 k 。 给定三个整数 n , k 和 target ,返回可能的方式(从总共 kn 种…...
Java架构师软件工程全流程
目录 1 导学2 软件工程概述(原)3 能力成熟度模型4 软件过程模型5 逆向工程6 需求工程6.1 软件需求6.2 需求获取6.3 需求分析6.4 需求定义6.5 需求验证6.6 需求管理7 处理流程设计8 系统设计6.1 人机界面设计7 测试基础知识7.1 测试原则和方法7.2 测试阶段7.3 测试用例的设计7.4…...
深度学习中Transformer的简单理解
Transformer 网络结构 Transformer也是由编码器和解码器组成的。 每一层Encoder编码器都由很多层构成的,编码器内又是self-attention和前馈网络构成的。Self-attention是用来做加权平均,前馈网络用来组合。 但是decoder有点不同,多了一层En…...
Java架构师系统安全
目录 1 导学2 信息安全基础知识3 信息安全系统的组成框架4 信息安全技术4.1 加密技术4.2 对称加密技术4.3 非对称加密技术4.4 信息摘要4.5数字签名5 信息安全的抗攻击技术5.1 ARP欺骗的原理5.2 ARP欺骗的防范措施5.3 IP欺骗的原理和流程6 信息安全的保证体系和评估方法7 网络安…...
Stable Diffusion 图生图+ControlNet list index out of range
在webui1.5中用图生图ControlNet批量处理图片的时候报错: controlnet indexError: list index out of range 解决方法: 在controlNet的设置页中勾选不输出检测图即可。 参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issu…...
SylixOS BSP开发(七)
实现系统调试信息打印接口 当系统出错时或者使用内核日志时会输出一些打印信息,这最终都是调用到bspLib.c中的bspDebugMsg 这个接口来实现的,所以我们在开发BSP时,第一个要做的工作就是实现这个接口。 一般的调试信息都是通过串口来输出的&am…...
多媒体应用设计师 第15章 多媒体素材的制作和集成
口诀 思维导图 2020...
CentOS和Ubuntu命令行方式配置静态IP
CentOS和Ubuntu都是通过修改相关配置文件来配置静态IP,但是他们的配置文件有所不同 CentOS CentOS需要修改的配置文件:/etc/sysconfig/network-scripts/ifcfg-需要修改的网卡名字 [rootbloke ~]# cd /etc/sysconfig/network-scripts/ [rootbloke netw…...
服务器快速申请免费SSL证书_2023年10月29日可用
目的 在服务器端通过命令快速申请免费域名的SSL证书.--2023年10月29日可用环境 Centos拥有域名 假设该域名为:demo.com Ubuntu 同样适用 步骤 下载组件 前期准备 CentOS服务器 yum update yum install socatUbuntu服务器 apt update apt install socat下载acme…...
ChatGPT专业术语及有效使用方法概述
. 目录 一、摘要 二、ChatGPT基本介绍 三、ChatGPT技术原理 四、ChatGPT数据训练 五、ChatGPT微调方法 六、ChatGPT应用案例 七、有效使用ChatGPT的方法 八、结论 一、摘要 本文将详细介绍ChatGPT的专业术语及有效使用方法,包括对ChatGPT的基本介绍、技术原…...
ffmpeg 视频转图片 图片集转视频
可以使用FFmpeg将视频转换为图片序列,然后将图片序列合成为视频。 以下是一些基本的FFmpeg命令示例来执行这些操作: 1. 将视频转化为图片序列: ffmpeg -i input_video.mp4 -vf "fps30" output_images/image%04d.png 这个命令将…...
Zabbix安装与部署
前言 Zabbix是一个开源的网络监控和系统监控解决方案,用于监控服务器、网络设备、应用程序和服务。它基于客户端-服务器体系结构,使用多种监控选项来监控不同类型的设备和应用程序。Zabbix支持数据收集、处理和存储,以及报警和可视化等功能。…...
kafka代码示例
安装kafka: Windows安装kafka, 详情见:https://blog.csdn.net/sinat_32502451/article/details/133067851 Linux 安装kafka,详情见:https://blog.csdn.net/sinat_32502451/article/details/133080353 添加依赖包: &…...
文件夹批量改名:如何在文件夹名左边添加递增的自动编号
在文件管理的过程中,我们有时需要对文件夹进行重命名,使其更具区分度和可读性。为了实现这一目标,我们可以采用在文件夹名左边添加递增的自动编号的方法。本文将介绍云炫文件管理器如何进行文件夹批量改名,以在文件夹名左边添加递…...
Flash(Animate)和木疙瘩的元件学习和理解
元件就是讲一个图形或素材封装到一个容器里面!可以被任何舞台、页面通过从仓库中拖拽的方式无限重复使用,类似unity中的预制体! Flash(Animate)和木疙瘩中元件唯一区别:木疙瘩中一个元件A中不可以添加另一个元件B! 一…...
C#两个表多条件关联写法
文章目录 C#两个表多条件关联写法两个表实体类准备实体类数据初始化第一种 sql的左关联第二种相当于sql的 INNER JOIN写法一:FROM a FROM b where 多条件关联写法二: FROM JOIN INTO写法三: FROM JOIN 省略into C#两个表多条件关联写法 两个…...
VSCode-C/C++环境配置
0.下载VSCode VSCode官网 Visual Studio Code - Code Editing. Redefined 1.安装VSCode 2.编译器下载与配置 2.1下载编译器安装包 编译器的安装包分为两种一种是在线的一种是离线的,其区别的特点如下 在线安装(只是个下载器,打开后还要下载各种东西…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
