分布式高频量化交易系统架构讲解(企业版,期货ctp,股票xtp,数字货币,附全部源码)(值得收藏)

目录

1.量化交易系统简介

1.1行情数据

1.2交易策略

1.3交易

2.    分布式高频量化交易系统

2.1.    架构图

2.1.1量化交易系统教程地址

2.1.2量化交易系统教程中讲解的期货ctp知识点

2.2.    交易系统功能介绍

2.3.    账户系统介绍

2.3.1.    交易员账户

2.3.2.    管理员账户

2.4.    图中模块功能介绍

2.4.1.    行情数据端

2.4.2.    管理员客户端

2.4.3.    策略客户端

2.4.4.    交易服务端

2.5.    图中模块之间的交互

2.5.1.    策略客户端订阅行情

2.5.2.    策略客户端委托下单

2.5.3.    管理员客户端增加交易员资金

2.6.    高频设计要点

2.6.1.    Linux共享内存

2.6.2.    专用线程

2.6.3.    高速内存池



1.量化交易系统简介

1.1行情数据

交易所发布行情数据。

1.2交易策略

策略研究员以数学模型为交易思维,以历史行情数据为基础,以数学建模、统计学分析、编程设计为工具,利用计算机技术从庞大的历史数据中海选出能带来超额收益的多种大概率获利事件以制定交易策略。

1.3交易

交易策略接收实时行情数据,产生委托报单信号,交易api根据委托报单信号,组建委托报单报文,发送委托报单请求到交易所。

2.    分布式高频量化交易系统

2.1.    架构图

 

2.1.1量化交易系统教程中讲解的期货ctp知识点

期货ctp穿透式监管
期货ctp报单和回报
期货ctp撤单
期货ctp保证金手续费费率查询
期货ctp保证金的计算
期货ctp手续费的计算
期货ctp持仓查询与更新
期货ctp持仓盈亏的计算
期货ctp平仓盈亏的计算

2.2.    交易系统功能介绍

1)行情数据端,策略客户端,管理员客户端,交易服务端是独立的程序。各程序之间用tcp或者共享内存通讯。
2)每个策略是一个单独的程序,程序名称为策略客户端。
3)如果要增加新的策略,只要增加一个策略客户端就可以了,不需要改动其它程序的代码。非常方便维护。
4)每个策略客户端分配1个交易员账户,每个交易员账户有独立的资金管理,可以统计每个策略的盈亏情况。

2.3.    账户系统介绍

账户分为交易员账户和管理员账户。

2.3.1.    交易员账户

1)由于私募基金或个人在证券公司的柜台的注册的账户只有1个,但我们有多个交易策略。这样很难计算每个交易策略的交易情况,持仓情况。所以,我们创建了多个交易员账户,为每个策略分配1个交易员账户。
2)交易员账户的委托,成交,持仓都是独立统计的。
3)交易员账户有独立的资金管理。

2.3.2.    管理员账户

管理员账户用于管理各个交易员账户,为交易员账户增加资金。

2.4.    图中模块功能介绍

2.4.1.    行情数据端

1)    连接交易所行情,订阅行情,接收行情数据。
2)    通过共享内存推送行情数据给策略客户端。
3)    收集行情数据,存储为本地文件,作为策略研究的数据。

2.4.2.    管理员客户端

1)    管理员查询证券公司注册账户的资金,委托,成交,持仓等交易情况。
2)    管理员为盘中策略表现比较好的交易员账户增加资金。

2.4.3.    策略客户端

1)    策略客户端订阅行情数据端的行情,通过共享内存接收行情数据。
2)    通过行情数据,策略产生买卖信号,通过共享内存发送委托请求到交易服务端。

2.4.4.    交易服务端

1)    连接证券公司交易柜台。
2)    接收策略客户端发送的委托请求,发送到交易所。
3)    为每个策略分配1个交易员账户,每个账户有独立的资金管理,有独立的委托成交持仓管理。
4)    为每个交易员账户计算持仓盈亏,平仓盈亏,计算期货保证金,计算手续费。
5)    对委托下单等进行检查资金,检查持仓,检查自成交等风控。
6)    每天对交易员账户进行结算。

2.5.    图中模块之间的交互

2.5.1.    策略客户端订阅行情

1)行情数据端通过tcp连接交易所行情,订阅行情,接收交易所行情数据。
2)策略客户端通过tcp连接到行情数据端,订阅行情。
3)行情数据端收到订阅请求后,和策略客户端建立共享内存通讯。
4)行情数据端通过共享内存把行情数据推送到策略客户端。

2.5.2.    策略客户端委托下单

1)交易服务端通过tcp连接证券公司柜台。
2)交易服务端登录证券公司柜台。

3)策略客户端通过tcp连接交易服务端。
4)策略客户端使用交易员账户登录交易服务端。
5)策略客户端发送增加通讯的消息队列的请求,交易服务端创建和策略客户端通讯的共享内存队列。

6)通过行情数据,策略产生买卖信号,策略客户端通过共享内存发送委托报单请求给交易服务端。
7)交易服务端收到报单请求后,计算保证金和手续费,发送委托报单请求给证券公司柜台。
8)交易服务端收到委托回报,计算保证金和手续费,发送委托回报给策略客户端。
9)交易服务端收到成交回报,计算保证金和手续费,发送成交回报给策略客户端。

2.5.3.    管理员客户端增加交易员资金

1) 管理员客户端通过tcp连接交易服务端。
2) 管理员客户端使用管理员账户登录交易服务端。
3) 管理员客户端发送增减资金请求给交易服务端。
4) 交易服务端根据增减资金请求报文中的交易员账户,为这个交易员账户增加或者减少资金。

2.6.    高频设计要点

2.6.1.    Linux共享内存

1)    行情服务端和策略客户端之间的行情数据使用共享内存通讯。
2)    策略客户端和交易服务端的委托撤单使用共享内存通讯。
3)    共享内存通讯的速度远远高于tcp通讯。

2.6.2.    专用线程

交易服务端使用2个线程处理客户端的请求报文:
线程A:处理非交易的请求,例如登录,查询等。
线程B:处理交易请求,例如委托下单,撤单。
通过线程B专门处理交易请求,提高处理交易请求的速度。

2.6.3.    高速内存池

交易服务端使用高速内存池,减少new和delete申请释放内存时的时间消耗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26144.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记中科院ChatGPT 学术版部署时出现:ModuleNotFoundError: No module named ‘gradio‘

出现此问题的原因是因为gradio版本和目前某些软件包出现版本不兼容的问题,我试了两次安装全部的包然后运行项目均会出现如下报错ModuleNotFoundError: No module named gradio,于是先用requirements.txt文件把其他包都给装上,再使用pip直接安…

Python + ChatGPT,简直太好用了!

前言 近来chatGPT挺火的,也试玩了一下,确实挺有意思。这里记录一下在Python中如何去使用chatGPT。 知识点📖📖 pip install openai看看 chatGPT的表现: 使用python编写一段发送网络请求的代码 python如何md5 也有抽…

Java初级程序员与ChatGPT(文心一言)使用感受

前言: 随着23年三月初开始ChatGPT迅速发展,爆红网络。也有不少人说这个东西会顶替程序员。刚好身边同事有一个需要是读取word文档中的内容,保存到数据库。 我们就用百度的文心一言试下吧。 交互开始: 总的来说从提问到问题的反馈…

让资深猎头-GPT帮你修改简历,Get 心动的offer

正文共 1391 字,阅读大约需要 4 分钟 求职者必备技巧,您将在4分钟后获得以下超能力: 根据JD修改简历 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片来源…

一位大佬的亲身经历总结:告诉大家写简历和面试的技巧

点击上方 "code小生" ,关注公众号 8点40分,在看真爱 来自:hsm_computer | 责编:乐乐 链接:cnblogs.com/JavaArchitect/p/10720897.html 00 前言 在18年底到19年3月,陆续面试了几家公司&#xf…

教你写出会说话的【数据分析岗】简历

秋招来势汹汹,有些学弟学妹私下问了我很多简历相关的问题。 总结来看,他们碰到的情况如下: ▶ 明明专业学历过关,实习经验丰富,有些大厂的简历关都未能通过? ▶ 身边的同学明明经历和经验不如自己&#xff…

安卓面试中高级安卓开发工程师总结之——如何写一份让HR主动邀请你面试的简历

简历是用人单位做人事筛选的评判标准。如何让自己的简历被更多公司HR看到,并且通过技术部简历初步审核呢? 博主这次跳槽,只投过一次8个公司(小公司)的简历。然后就再也没有主动投递过简历,仅仅把自己的简历…

最近去TalentOrg投简历,接到了面试内容跟大家分享一下

TalentOrg,一个远程办公雇佣中介,通过国内协调x国外雇佣的方式达成目标 背景介绍第一轮:海选来源筛选 第二轮:笔试上传简历远程办公测试代码挑战技术栈测试我的选择关于违规测试结果 个人资料 第三轮:面试通知面试面试…

chatgpt赋能python:Python编程游戏

Python编程游戏 Python是一种简单易学的编程语言,非常适合初学者和有经验的开发人员制作游戏。在这篇文章中,我们将介绍如何使用Python编写游戏,并为搜索引擎优化做出努力。 简介 Python是一种高级编程语言,具有易于阅读的语法…

个人简历制作时的自我评价应该怎么写?

在进行简历表格制作的时候,大部分简历模板上都有一项是自我评价,其实在实际的投递简历招聘的过程中,如果应聘者的自我评价写的比较好,可以起到加分的作用,但是如果写的没有特色,只是从网上找的一些套话放在…

个人自我评价格式范文五篇

★个人自我评价1 工作已经进行两周多了,突然发现自己似乎又重蹈覆辙了,再一次一次的不经意中和某些人的就距离却是越来越来大,总是想偷一下懒,总是想着马马虎虎过去算了,没有那么精打细算过。结果不经意有些人人开始脱…

简历中满分的自我评价是啥样?

人事经理在浏览简历时,自我评价是关注的重点之一。自我评价优缺点应该简明扼要地说明你最大的优势,才能让你从众多竞争对手中脱颖而出。 误区 很多人的自我评价写的跟学生一样,也就是假大空。比如“工作认真负责”、“学习能力强”、“合作能…

个人简历特长及自我评价怎么写?

虽然说在个人简历模板中特长爱好的作用不大,并不是HR最关心的地方,但是兴趣爱好也是做为招聘方对求职者一个全面综合的评估,特长爱好是你简历的加分项,写好了锦上添花,我们在制作个人简历表的时候该如何表述特长爱好和…

简历中的自我评价怎么写?

简历中自我评价怎么写呢?今天七分简历(简历制作_简历模板_简历下载-七分简历编辑器)就和大家来谈一谈如何写好自我评价。要写好自我评价首先要认清自己,知道自己想要什么,才会使自己更加有自信。对于刚毕业或是还没毕业…

简历中的“自我评价“怎么写?记录一个满分模板

你的自我评价还在这样写吗? 给我一个机会,还你一份惊喜 工作认真负责,学习能力强 不介意加班,肯吃苦 简历当中的“自我评价”到底该怎么写? 四个点 核 心 经 验 \color{#FF7D00}{核心经验} 核心经验 - 最重要的“岗…

如何成为一名合格的软件架构师

目录 一、架构师的分类 技术型 综合型 业务型 理论型 二、架构师的工作 业务沟通 技术设计 实施推广 四、招聘与应聘 招聘架构师 需要了解业务真相 了解雇员 被神话了的T职级 如何应聘架构师 五、修行 在一个信息爆炸却多半无用的世界,清晰的见解就…

期刊论文科普大锅炖5

前言 这个破系列终于更完了,最近也是超级忙,后面会更新python相关练习,看时间吧…… 目录 7.1 查找期刊 重要内容选刊工具7.2 准备论文7.3 提交和修改 投稿网站7.4 跟踪您的论文 审稿相关跟踪论文7.5 分享和推广论文8.1 课程8.2 提高效率的软…

最近颁发的“吴文俊奖”,见证了中国AI走向产业之路

“任何足够先进的技术,初看起来都与魔法无异”——这是著名科幻作家克拉克总结的第三定律。 今年以来ChatGPT掀起的智能交互变革,大语言模型的智能涌现能力,在很多人眼里,真的就像魔法一样。 当然,大家心知肚明&#x…

送你一个礼物——让学习科研工作从难题变乐趣

告诉你一个好消息,我的新书《学术写作五步法 —— 如何从零完成高质量论文》已于近期由人民邮电出版社出版上市。你可以在 京东 和 当当 等平台下单购买。 需求 科研新手往往会低估科研写作的难度,望文生义觉得科研成果无非就是「码字儿」而已。科研成果…

基于百度paddle的抽烟打电话识别

基于百度paddle的抽烟打电话识别 难点:基于网络摄像头的各种违规行为、危险行为等目标检测识别,到现在为止我发觉就抽烟、打电话、临边比较难搞而且极容易出问题,下边我将实现思路进行了整理,希望能帮到大家。 取流 有些同学可…