什么是程序化交易
大到量化、程序化、高频交易、套利交易、主观投资这些基本的概念,小到网格交易、条件单、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下载编译器安装包 编译器的安装包分为两种一种是在线的一种是离线的,其区别的特点如下 在线安装(只是个下载器,打开后还要下载各种东西…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

Linux基础开发工具——vim工具
文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...

Tauri2学习笔记
教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...
「Java基本语法」变量的使用
变量定义 变量是程序中存储数据的容器,用于保存可变的数据值。在Java中,变量必须先声明后使用,声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例:声明与初始化 public class VariableDemo {publi…...
Git 命令全流程总结
以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结,按操作场景分类整理: 一、初始化与基础操作 操作命令初始化仓库git init添加所有文件到暂存区git add .提交到本地仓库git commit -m "提交描述"首次提交需配置身份git c…...