关于量化:模型推理量化实现分享一详解-minmax-对称量化算法实现

 欢送关注我的公众号 [极智视界],回复001获取Google编程标准 O_o >_<  o_O O_o ~_~ o_O 大家好,我是极智视界,本文分析一下 min-max 对称量化算法实现,以 Tengine 的实现为例。   Tengine 是 OpenAILab 开源的优良端侧深度学习推理框架,其外围次要由 C 语言实现,包裹的性能代码嵌套了 C++。量化是推理减速必不可少的优化环节,成熟的推理框架个别会把量化模块剥离进去造成独立的一套工具,如 Tengine、NCNN、昇腾、寒武纪都这么做,这次要是因为量化过程和硬件非强相干,解耦开来无能更多的事。   min-max 和 kl 量化算法是硬件厂商适配推理引擎的根底和标配, 其中 kl 量化深受用户青睐,如英伟达的 TensorRT 也正是采纳了 kl 量化策略;而这里要介绍的 min-max 的特点是逻辑简略、成果良好,作为量化实现分享系列的开篇比拟适合,这里带大家一起钻研一下 Tengine 中 minx-max 量化策略的具体实现。 1、量化应用   量化次要分为激活值(动静)量化、权值&偏置(动态)量化,而权值&偏置的量化是对精度影响比拟大的,激活值的量化对整体影响较小,但也须要量化,才有可能协同达到整体称心的成果。对于个别量化来说,权值&偏置的量化会采纳逐通道 perChannel 的形式,而激活值的量化个别是逐层 perLayer 的形式。解释一下为啥会这样,对于量化来说,卷积必定是大头,对于卷积来说,若激活值量化采纳逐通道形式,这和卷积核参数共享是相悖的,所以个别激活值就用逐层量化,以符合卷积参数共享。   这里次要看一下 Tengine 量化须要的传参: Input model:传入的 fp32 tmfile 模型文件;Output model:生成的 int8 tmfile 模型文件;Calib images:传入的激活值量化校准图片;Scale file:生成的校准表文件;Agorithm:量化算法,可选 MIN-MAX、KL、ACIQ、DFQ、EQ;Dims:输出校准图的 shape,这里传三维 c h w,n 在代码中写死 n = 1;Mean:图像预处理均值;Scale:图像预处理缩放尺度;BGR2RGB:通道转换;Center crop:图像预处理,裁剪;Letter box:图像预处理,放弃横纵比的前提下对图像做 resize;YOLOv5 focus:相似 yolov5 的预处理注意力机制;Thread num:量化多线程设置;2、min-max 量化 min-max 是最简略的量化算法,次要逻辑如下: ...

December 15, 2021 · 6 min · jiezi

关于量化:2021年量化大事件

1.量化基金规模头部效应显著 2021 年以来公募量化基金集中度晋升,截至2021年三季报,规模前30%的公募量化对冲基金规模集中度晋升至81.2%,公募中证500加强基金的规模集中度晋升至83.9%。百亿量化私募扩容,最新百亿级量化私募达到25家,其中明汯投资、幻方量化、九坤投资、灵均投资等私募规模靠前。 2.公募量化的“被动”转型 量化拥抱被动成为重要趋势,2018年以来,公募量化基金对于业绩超预期股票池的配置权重出现显著回升趋势。同时局部量化基金超配抱团股。 3.量化基金的两波回撤与抱团瓦解无关 量化基金2021年2-3月份以及9月份经验了两波回撤,格调切换和抱团瓦解是重要起因。量化基金两波回撤别离与茅指数和周期股的抱团瓦解无关。 4.市场交易构造变动:公募和私募交易活跃度晋升 公募基金等机构参加交易型行情比例减少,在不同市值股票分组内,机构专用参加龙虎榜交易比例均减少,均匀减少比例为3.2%。量化私募基金龙虎榜交易活跃度显著晋升,2020年以来,量化私募月度上榜次数和均匀上榜交易金额出现回升趋势。 5.量化成交奉献尚不足以撼动被动交易位置 依据情景假如下的剖析,量化私募成交占比约占全市场20%左右的量级。 6.量化私募监管政策与时俱进 在量化私募行业蓬勃发展的当下,监管政策亦在缓缓演进,以符合行业的倒退。从证监会主席易会满的会议讲话,到中基协和中证协对于量化私募交易数据上报的发文,监管政策的演进将有利于量化私募行业将来行稳致远。 7.公募FOF产品翻新提速 2021年以来,公募FOF产品一直减少新成员,从FOF-LOF到ETF-FOF,再到QDII-DOD-LOF,各种翻新产品的涌现,不仅是适应市场需求的后果,更是监管层大胆翻新的体系。 8.ETF赛道竞争白热化 ETF作为工具型产品,逐步受到投资者的宽泛欢送,存量规模亦显著晋升,各家基金公司纷纷入场布局。热门宽基指数、行业或主题ETF是各家基金公司布局的切入点,竞争激励。

December 14, 2021 · 1 min · jiezi

关于量化:如何用WonderTrader开发商品套利策略

前言 《WonderTrader架构详解》系列文章曾经写了四篇了,对于笔者这样的懒人来说,切实是一个大工程。这次先临时不介绍架构了,本文将给大家介绍一下如何在WonderTrader上编写一个跨种类套利策略,旨在给大家演示一下WonderTrader下多标的策略的个别写法,同时也介绍一下笔者在wtpy最新版本v0.6.3中最新公布的绩效剖析模块。 WonderTrader架构文章列表: WonderTrader架构详解之一——整体架构WonderTrader架构详解之二——从数据说起WonderTrader架构详解之三——信号与执行WonderTrader架构详解之四——浅谈平台对策略的反对套利策略简介 置信每一个做量化的人,都钻研过套利策略。套利策略以其逻辑的绝对简略、收益的绝对稳固而失去少数人的青眼。同时,套利策略和趋势策略有较强的互补性,这就意味着,如果配合切当,对平滑收益曲线,升高绩效的稳定,进步夏普有极大的促进作用。 套利策略的分类就十分多了,笔者曾在《WonderTrader架构详解之四——浅谈平台对策略的反对》文中援用了丁鹏博士的《量化投资——策略与技术》对于策略的分类,外面提到的套利的模式就有很多种,例如:期现套、跨期套、跨种类套、配对交易等等。 笔者为了开发该策略,查阅材料的时候,看到一个观点,深认为然:不论套利策略分类如许简约,套利策略的实质是在不同合约之间的价差稳定中寻找交易机会。 套利策略实现策略设计 鉴于笔者的量化策略的技能树,还没点亮,所以本文中的策略示例,是从互联网上学习到的,笔者在此由衷地感激此策略的分享者。该策略根本设计如下: 合约对抉择螺纹钢主力间断合约SHFE.rb.HOT和铁矿石主力间断合约DCE.i.HOT回测数据为主力间断数据,进行了复权解决,避免主力合约换月不同步的时候引起的价差变动基于1分钟数据,对过来N分钟两组收盘价序列进行线性回归,失去一个系数beta、一个常量c和一个残差序列对残差序列进行ADF测验,如果残差序列是一个安稳序列,则进入信号计算逻辑依据失去的系数beta和常量c,以及最新的价格计算新的残差当新的残差超出一个阈值,就触发入场信号,当价差再回归到阈值以内,就触发出场信号策略实现参数设计 依据上文的介绍,策略外围的参数如下: code1:套利合约1,本例设置为SHFE.rb.HOTcode2:套利合约2,本例设置为DCE.i.HOTperiod:数据周期,本例设置为m1,即一分钟线threshold:阈值,本例设置为0.9N:统计的K线条数,本例设置为360,即一个交易日的一分钟线bar_cnt:策略读取的K线条数,大于N,次要思考预留滚动计算的空间def __init__(self, name:str, code1:str, code2:str, bar_cnt:int, period:str, N:int, threshold:float=1): BaseCtaStrategy.__init__(self, name) self.__n__ = N self.__threshold__ = threshold self.__period__ = period self.__bar_cnt__ = bar_cnt self.__code_1__ = code1 self.__code_2__ = code2协整测验 策略外围的逻辑在于协整测验,只有协整测验通过了,能力进行信号触发。 # 协整检验函数def cointegration_check(series01, series02): # 对两个序列别离进行ADF测验 urt_1 = ts.adfuller(np.array(series01), 1)[1] urt_2 = ts.adfuller(np.array(series02), 1)[1] # 同时安稳或不安稳则差分再次测验 if (urt_1 > 0.1 and urt_2 > 0.1) or (urt_1 < 0.1 and urt_2 < 0.1): urt_diff_1 = ts.adfuller(np.diff(np.array(series01)), 1)[1] urt_diff_2 = ts.adfuller(np.diff(np.array(series02), 1))[1] # 同时差分安稳进行OLS回归的残差安稳测验 if urt_diff_1 < 0.1 and urt_diff_2 < 0.1: matrix = np.vstack([series02, np.ones(len(series02))]).T beta, c = np.linalg.lstsq(matrix, series01, rcond=None)[0] resid = series01 - beta * series02 - c # 最初对残差序列再进行ADF测验 if ts.adfuller(np.array(resid), 1)[1] > 0.1: result = False else: result = True return beta, c, resid, result else: result = False return 0.0, 0.0, 0.0, result else: result = False return 0.0, 0.0, 0.0, result信号收回 当残差超出上边界,阐明残差正向扩充,依据残差均值回归的个性,这时就须要做空价差;相同的,当残差超出下边界,阐明残差反向扩充,这时就须要做多价差;当加入在高低边界范畴之内,则清掉已有的头寸,期待下一次机会。 ...

May 9, 2021 · 2 min · jiezi

关于量化:WonderTrader架构详解之三信号与执行

前言 《WonderTrader架构详解》系列文章,上周介绍了WonderTrader的数据处理机制。当平台解决了策略的数据问题当前,就须要向策略提供稳固牢靠的信号执行机制,保障策略的信号被正确的执行,是每一个平台最根本的性能。因而,本文作为系列文章的第三篇,将次要介绍WonderTrader信号执行的解决机制。 往期文章列表: WonderTrader架构详解之一——整体架构WonderTrader架构详解之二——从数据说起1+N执行架构 WonderTrader设计了一种执行架构,该执行架构能够将一个策略组合的信号,散发到若干个执行通道执行,咱们称之为1+N执行架构。为什么会把信号执行设计成这样呢? 基于策略最简化的根本准则对于策略来说,最外围的工作是抓住赚钱的因子。然而交易的过程中,会波及到行情的接入和订单回报的解决。市面上有不少平台,抉择间接将这样的回报裸露给策略。在这类平台上,策略除了外围逻辑以外,还须要写很多反复的订单治理逻辑。有些平台甚至将底层接口的数据结构间接裸露给策略,这样做的后果是给策略引入了更多的复杂度,除了治理回报,还须要对不同的接口做数据的兼容解决。WonderTrader的一个设计指标就是是要给策略研发人员做减法,让他们将更多的精力放到策略自身,而不是如何和接口打交道。1+N执行架构,也正是基于这条根本准则。因为信号和执行彻底剥离,所以策略不须要关注任何回报,因为底层会将执行这块解决得很好,策略只须要关注本人的指标头寸和进出场的价格即可。这样就大大简化了策略的编写,只须要将信号计算的外围逻辑实现好就能够了。大规模产品治理的理论需要当咱们只有一个策略时,最简略的形式,就是把策略写成一个小型的平台,本人解决行情回报和交易回报,再针对特定的需要做一些性能扩大即可。而这种做法,容易把平台做成一个“玩具”,不具备治理大规模产品的根底,有很多量化交易框架都相似这种。对于大规模的产品治理,最根本的需要就是多个策略造成一个组合独特交易,而一个策略组合又同时在多个产品进行交易。而不同资金规模的产品,在收回交易指令的时候,所须要的执行算法也是不一样的。比方买入100手和买入1手某期货合约,显然就不能用齐全一样的形式下单。1+N执行架构很重要的一方面就是针对大规模产品治理的需要。雷同的策略组合,在不同的交易通道下,会依据产品的资金规模和危险偏好配置不同的交易数量放大倍数。而交易数量的不同,有须要针对不同的交易通道配置不同的执行算法,这样能力让各个产品都能取得更好的执行价格。策略逻辑和执行的重复衡量1+N执行架构下,须要把策略分为两类策略:重逻辑轻操作的策略和轻逻辑重操作的策略。大多数趋势类策略都属于前者,而简直所有的高频策略都属于后者。重逻辑轻操作的策略,最显著的特点就是信号呈现时必须要执行到位。这类策略,还体现出频率较低(绝对高频而言),对滑点敏感度低等特点。而这类策略就是1+N执行架构次要服务的策略,这类策略也很容易通过1+N执行架构扩大到更多的交易通道。绝对的,轻逻辑重操作的策略,最显著的特点就是信号呈现时,要看执行的状况,能力决定下一步如何应答。这类策略最常见的就是套利策略和高频策略,它们须要不停地挂单试探盘口的状况,能力做出更无利的决策。显然1+N执行架构无奈满足这类策略,所以WonderTrader专门针对这类策略提供了HFT引擎,该引擎将交易接口和交易回报间接裸露给策略,这样策略就能依据回报执行治理订单。投研人员的编码程度的考量在量化畛域中,对从业人员的成分划分,有一个很乏味的分类办法:P-Quant和Q-Quant。P-Quant的独特属性是这些从业人员根本都有软件开发的技术背景,领有绝对较好的编码能力。而Q-Quant则相同,个别没有技术背景,编码能力绝对较弱,然而在策略建模、金融工程方面绝对较强。因为两类从业人员的背景和能力树的不同,所以他们对于平台的需要也不大一样。P-Quant编码能力绝对较强,偏向于平台提供外围的根底性能即可,他们能够自行开发本人须要的各种性能,同时心愿平台可能尽可能低延时(P-Quant从事高频策略开发的比例更高);Q-quant编码能力绝对较弱,则偏向于平台提供更欠缺的基础设施和策略开发API,绝对的,他们对延时不那么敏感(当然如果平台可能做到更低延时,对他们同样无利),然而心愿平台反对的利用场景更丰盛一些(要满足不同类型的策略的回测、实盘等需要)。 鉴于以上提到的几个方面,WonderTrader最终决定针对CTA策略,基于信号和执行的剥离,采纳1+N执行架构进行实盘交易。而针对HFT策略,则抉择将交易接口间接裸露给策略(不同交易接口的差别被封装到交易模块中,策略解决的交易接口是无差别的),让策略自行治理订单,转而在数据需要上提供反对。这样就能兼顾不同类型的策略的不同的利用场景,让不同类型的策略都能在WonderTrader中能够更高效的治理起来。 如何同步信号 对于CTA引擎,既然采纳1+N执行架构,就意味着平台须要治理两套头寸,一套是策略的实践头寸,一套是交易通道的理论头寸。在实盘运行中,咱们须要对两套头寸别离进行治理。 实践头寸的治理实践头寸的治理,也分为两个层面。第一个是策略层面,即每个策略有本人的实践头寸,包含进出场的工夫、价格、方向、数量等。策略能够治理的也只能是本人的实践部位,每个策略都是相互隔离的。持有的头寸,再实时计算浮动盈亏,并核算最大潜在浮盈和最大潜在浮亏等数据。回测的时候,数据都在内存中,不须要实时保留。而实盘环境下,要思考策略重启等各种状况,所以数据须要实时保留到文件中。第二个是组合层面,即策略的指标头寸整合到一起当前,造成一个净头寸。这个净头寸实质上和策略的实践头寸是统一的,只不过是轧平过相同的头寸当前,归属于策略组合治理。策略组合也要实时计算浮动盈亏,同时依据预设的资金规模,计算资金危险指标,进行实时风控。实盘环境下,数据也要实时保留到文件中(回测引擎针对单策略,所以不存在策略组合的概念)。理论头寸的解决策略组合的头寸是最终散发到各个交易通道的根底指标头寸。每个交易通道,会依据所对应产品的资金规模和危险需要别离配置本人的放大倍数,根底为1倍,反对小数倍数,会主动做四舍五入的解决。每个执行通道确定了本人的理论指标头寸当前,跟本人以后理论持有的头寸进行比拟,将有差异的头寸,依据预设的执行算法(WonderTrader内置的是以最新价、最优价和对手价三个价格作为根底价格,再加上一个滑价跳数作为限价,基本上满足了绝大部分资金规模无限的策略需要)收回下单指令。并依据订单回报和成交回报实时更新持仓状态和订单状态。滑点如何解决正如后面所说,不同资金规模的策略,最终成交的价格是不同的,更何况不同的交易通道还是依赖雷同的信号进行交易的,并发执行的前提下,不同交易通道的订单最终也会在交易所进行竞争。这就造成一个主观的事实:雷同策略在不同产品中的实盘体现肯定是有差别的,而差别的起源就是滑点。回测的时候,咱们个别用小手数进行回测,所以个别状况下都不思考滑点。然而实盘环境下,滑点问题就不可避免。这也是咱们内置的执行算法,都是以限价单下单的根本原因。个别状况下,笔者倡议放大倍数大的交易通道,执行算法中预设的滑价能够绝对放大倍数小的交易通道设置得更大一些(最终要依据流动性判断)。这样即便产生滑点,也在能够承受的范畴之内。如果应用市价单收回下单指令,极其行情下,最终产生的滑点可能会压缩掉全副的利润。1+N执行架构的意义 后面根本介绍了1+N执行架构基本原理。从WonderTrader的角度来说,所谓的1+N其实也有两层意思:N个策略在1个组合中独特运行,而1个组合又同时在N个交易通道进行交易。所以一开始的时候笔者无意称之为N+1+N执行架构。显然,不论从哪方面来说,1+N执行架构的意义是不凡的: 策略和执行剥离,对研发人员更敌对,团队治理更高效投研人员的技术栈其实是策略coding的外围问题,咱们抉择一个平台的时候,应该尽量的缩小技术栈的引入。而个别交易接口都是异步回调的,如果强行要策略投研人员深刻理解这类纯技术技能,从团队治理的角度来说,是低效的。同时对于投研人员来说,花太多的精力到本身技能树的分支上,也不是一个聪慧的抉择,更何况技术自身也并不那么容易。所以策略和执行的剥离,对大部分投研人员,尤其是Q-Quants来说,是一种十分敌对的设计。这样的设计当然也不是WonderTrader独创的,笔者也从共事的理论需要中和其余的量化平台排汇了一些教训。净头寸执行,不存在自成交危险对于策略来说,风控是必不可少的,同样策略组合的风控也是平台的重点之一。风控中,除了资金风控以外,还有一个合规风控。绩效回撤了,能够再赚,然而如果合规风控过线了,可能会引起十分大的麻烦。其中最重要的合规风控点就是自成交。自成交次数过多,手数过大,很容易被认定为对敲操控市场,相应的处罚也是十分严格的。WonderTrader须要解决多策略在多产品经营的问题,首要思考的就是合规性的问题。如果两个策略同时收回相同的交易信号,并且散发到多个产品同时下单,自成交的危险就会被放大。所以WonderTrader通过在策略组合中轧平相同头寸,最终以净头寸的形式收回下单指令。除了人造防止自成交的问题,同时还能节俭佣金、缩小保证金的占用。策略组合外部,策略有本人的实践头寸,不受组合头寸的影响。同一个策略组合的多产品,能够保障信号的一致性笔者此前,常常会被投资人问:你们怎么保障各个产品绩效的一致性的?笔者没有太多去钻研别家是怎么解决的,然而对于WonderTrader的1+N执行架构来说,这样的问题就显得太简略了。即便两个规模一样的产品,用同一套策略交易,绩效也不可能齐全一样。因为即便同时下单,也受到交易通道速度的影响。然而不能保障绩效的齐全一致性,保障信号的齐全一致性却是没有问题的。满足大规模治理产品的需要业余投资机构对于交易平台的需要,和集体投资者还是有很大差异的。最外围的一点就是大规模的产品如何治理的问题。例如某些头部私募,发了数百只产品,假如只有一百只产品须要实际操作,而每只产品都须要交易股票、期货、期权等标的。如果不从架构上解决这样的需要,对于这些机构的IT来说,这基本上是一个劫难:在不同的服务器上部署策略运行环境,每天还要监控各台服务器在收盘前是否失常运行。甚至有些柜台要到收盘前才会启动,这就使得运维人员的查看工夫窗口只能限定在半个小时甚至更短的工夫范畴内。WonderTrader的需要就从大规模产品治理中来,一开始的设计指标也是要满足大规模产品治理的需要。而1+N执行架构正是针对这样的需要的外围机制。结束语 本文对WonderTrader的信号执行机制的介绍就到此结束了,置信通过本文,各位读者可能对WonderTrader的1+N执行架构有一个更深刻的理解,也心愿本文可能在各位读者在遇到相似问题的的时候,对大家有所启发。笔者程度无限,不免有错漏之处,还请各位朋友多多包涵斧正。下一篇,笔者将围绕平台如何兼容不同的策略,来介绍WonderTrader不同的策略引擎的底层逻辑,望各位读者届时多多捧场。 最初再安利一下WonderTrader WonderTrader旨在给各位量化从业人员提供更好的轮子,将技术相干的货色都封装在平台中,力求给策略研发带来更好的策略开发体验。 WonderTrader的github地址:https://github.com/wondertrad... WonderTrader官网地址:https://wondertrader.github.io wtpy的github地址:https://github.com/wondertrad... 市场有危险,投资需谨慎。以上陈说仅作为对于历史事件的回顾,不代表对将来的观点,同时不作为任何投资倡议。

March 29, 2021 · 1 min · jiezi

关于量化:WonderTrader新年寄语

WonderTrader现状2020年,能够说是WonderTrader的开源元年。WonderTrader正式开源是2020年4月开始的,现在进入2021年了,WonderTrader的开源历史也不过是8个月的工夫。平台在2020年中迭代并不是特地地快,一方面笔者还有本职工作要做,另外一方面平台也没有真正做过推广,目前关注的敌人都是天然增长的,所以需求面来得也并不充沛。不过无论是什么状况,笔者既然决定开源了,肯定会逐渐的欠缺WonderTrader,给更多的用户提供便当。 WonderTrader的倒退笔者在证券行业的从业经验,能够追溯到2009年。过后笔者刚到上海,有幸进到当今业内出名的股票极速柜台的负责人H总过后的技术团队,参加股票软件的开发,从而进入到证券行业。H总当初团队中,还有不少当年的小伙伴。笔者过后次要负责客户端的开发,技术栈为MFC。起初随着笔者参加的我的项目变多,缓缓积攒了不少开发教训,负责的工作也从客户端逐步拓展到其余方向,笔者也缓缓积攒了不少技术和业务方面的常识。笔者在量化平台方面的起步,源自于在H总团队期间参加的一位校友师兄的高频交易的技术框架搭建的我的项目,笔者一开始负责的工作也绝对比较简单。起初笔者来到H总团队当前,跟另外一位校友学姐来到从业生涯的第一家私募,从此正式开始了量化平台的搭建工作。最早的量化平台通过几年的打磨当前,逐步成熟起来,笔者也积攒了更多的教训。起初又追随学姐进入到另外一家量化私募基金(该量化私募现已是头部),在这家私募也失去了很多的机会和锤炼。起初笔者来到该私募跟敌人一起守业,次要做的是小型的交易所零碎(蕴含了撮合和柜台的一体化零碎)。守业尽管最终没有胜利,然而守业的经验也让笔者在量化交易平台的技术积攒夯实了很多。最初笔者来到守业公司,又回到私募基金,又彻底重构了原来的平台,从而有了当下的WonderTrader。笔者的从业经验,也是WonderTrader的倒退经验的由来。WonderTrader最早的雏形,是针对高频策略的,简略来说就是:间接对接交易接口和行情接口,其余的都由策略来管制。起初笔者在第一家私募的时候,公司次要采纳MC作为策略研发和交易平台,交易信号也是各个策略相互独立的。为了方便管理每个策略,笔者基于原来的开发教训,开始了整个平台的搭建。平台次要针对外部策略提供反对,包含数据服务、交易对接、零碎风控等性能。起初笔者来到某头部私募时,该私募并不应用MC。所以平台这时也经验了一次重要的重构,外围的内容就是针对策略逻辑提供框架反对,也就是说仿写一套类MC的策略API。然而因为平台之前始终采纳C/S构造提供服务,所以会引入不少网络提早,因而过后的版本其实并不适用于高频交易。当笔者最初从守业公司打磨几年当前,从新回到私募行业,开始从新反思原有平台的问题。重复斟酌思量当前,笔者决定彻底重构平台,而后才有了明天的WonderTrader。所以WonderTrader有成熟稳固的数据存储计划,也有高效欠缺的风控机制,还有简略易用的策略API接口,更有高速灵便的执行模块。总结起来,WonderTrader的倒退,共经验了出具雏形、针对MC面向策略的C/S架构、策略局部迁徙到Python、放弃C/S架构彻底重构等四个阶段。 WonderTrader的指标开源当前,曾经有不少人问过笔者为什么要开源了。不论WonderTrader推广的状况如何,平台的价值始终是有的:毕竟是经验过实盘测验,并且达到肯定资金规模的平台!而且WonderTrader因为采纳C++作为底层开发语言,执行效率上绝对更有保障一些。而且WonderTrader开源是十分彻底的,除了笔者不确定市面上是否能够通过公开渠道拿到的API,其余的全副都开源进去了。当然公司外部应用的某些功能模块也不在开源之列,然而笔者也提供了可用的繁难版本。WonderTrader的开源的初衷,能够从两个方面来说:一个比拟雅致,一个比拟有情怀!比拟雅致的一方面是,笔者这些年在WonderTrader也花了不少精力,笔者自认为WonderTrader还是很有价值的。然而国内一家私募基金的规模能有100人就算不错了,这其中还有市场和产品,投研人员最多也就占一半左右。即便全副的人都应用WonderTrader,需要还是十分无限的。笔者心愿WonderTrader可能被更多的人认可和应用,然而笔者毕竟精力有限,没方法像业余的平台公司一样,投入大量的人力物力做推广,更没方法7×24小时做技术支持,所以开源就成为了一个很好的计划。开源当前,一方面WonderTrader能够有机会给更多的人应用,排汇更多的需要一直地欠缺;另一方面笔者也有机会意识更多的同路人,对笔者来说也是一个能够学习更多常识的切入点。比拟有情怀的一方面是,笔者从业这么多年,待过几家私募基金,发现每家私募的技术计划都齐全不一样,有些甚至没有技术平台。而不少做量化技术开发的,简直都有本人从零搭建造轮子的经验。很多策略研发人员,还须要每天钻研技术细节,思考各种回报的解决细节,这是笔者最难以了解的。WonderTrader始终有一个指标,就是要将策略研发人员从技术细节中解放出来!WonderTrader的架构,简直都是围绕这个指标开展的!笔者始终有一个认知:一个好的量化平台,就应该让研发专一策略,让开发专一技术。WonderTrader采纳的低耦合的模块化架构、以及信号和执行的拆散的机制都是围绕该指标来做的。概括来说,WonderTrader开源的初衷和指标就是:一、让更多的人应用WonderTrader,让更多的人多有一个不错的抉择计划;二、让策略研发和技术开发各司其职,从侧面放慢策略的迭代速度,让这个市场更无效。 WonderTrader在2021年的打算WonderTrader经验了这么多年的倒退和迭代,其实曾经绝对比较稳定了。在2021年WonderTrader的大抵打算如下: 持续欠缺平台性能持续优化平台局部功能模块的性能欠缺应用文档底层外围优化,逐渐加强平台对高频策略的适应度提供更多易用性性能组件提供更多的demo结束语最初祝福大家在新的2021年,不论市场牛熊如何,策略都能大赚!最初再来一波广告WonderTrader的github地址:https://github.com/WonderTrad...WonderTrader官网地址:https://WonderTrader.github.iowtpy的github地址:https://github.com/WonderTrad...

January 1, 2021 · 1 min · jiezi