基于PTrade平台,从进入初始化,盘前,盘中,到盘后整体量化交易框架介绍!
发布时间:2024-7-23 15:54阅读:159
前言:
从全球范围来看,量化交易早已成为主流。根据研究数据,2020年境外成熟市场的程序化交易占比已经超过了50%。而在我国,尽管起步较晚,但随着信息技术的飞速发展和市场国际化进程的加速,量化交易的应用也日益广泛。据统计,我国证券市场的程序化交易比例已从2020年的20%增长到如今的约30%,其中高频交易的比重更是从10%攀升到了近20%。
那么,量化交易为何能在短时间内迅速崛起呢?原因在于其独特的优势。首先,量化交易能够显著提高交易效率。由于其自动化操作的特性,相较于传统的手动交易,量化交易的速度更快,准确性更高,从而降低了交易成本并增加了收益机会。其次,量化交易还能有效提升市场活跃度,改善市场流动性。通过大量的数据分析和智能算法,量化交易能够精准把握市场趋势,引导资金流动,从而促进市场的健康发展。
量化交易和普通交易是一样的主要也是要分为盘前盘中盘后三个部分,但是在做量化开发的时候。
模块1:初始化
引擎框架有一个初始化的就是每一次我们开发完的策略去做运行,去跑回撤或者跑交易的话。它都会有一个初始化的动作,那这个初始化动作,它只会在某个策略执行的。执行开始的时候就初始的时候就执行一次初始化模块,这个模块叫做initialize。这个模块主要是用于去设计,去初始化一些我们在策略代码中需要用的一些全局的一些变量。这些变量就是我在一开始的时候去设定,后面就只是去用作更新。另外有一些,比如说回撤的一些回撤的参数设置,比如说我去。设置一些。佣金或者设置一些交易划点这些。单独用作于回撤的。另外,交易里面一些特殊的个性化的一些设置的一些配置项,那也是在初始化里面去,在这个模块里面去编写,然后他会读一下,然后就放在缓存里面了。
模块2:盘前
盘前模块叫做before trading start。那这个模块,它就是我每一个交易日它都会运行。一般我们默认设置在每个交易日的9点。它会进行一个运行,它的主要作用就是每个交易日。所需要的一些变量,它进行初始化更新,比如说我盘前需要。获取一下,当前全市场的。股票,那我就在这个变量的这个模块下面我去取一下,然后另外,比如说我要把全市场股票的历史,截至上个交易日收盘的一些所有的信息我都要把它获取一把,然后在盘中的时候我可能会用到,那我也在这个模块去用。
模块3:盘中
它的策略运行分为几个级别,一个是日线级别,也就是说,每个交易日运行一次。每个交易运行一次。在回撤场景,我们默认是设在15点整就收盘的那一刻,我们会对所有的我们会运行那个handle data这个模块。然后对所有的数据进行提取,然后去计算它一些技术指标,去运行一些仓位的调仓‘
第二个就是分钟级别就是每分钟会运行一次。我们用的也是hand data模块函数。那就是从9:30开始,然后每分钟我们回撤的话是9:31开始的交易的话,是一开盘9:30就开始,然后隔一分钟运行一次。去拿到每分钟更新的数据,然后去对行情进行监控,去做一个交易的判断。
第三个级别,Tick级别,三秒钟的级别。这个级别为什么会设成最小3秒,因为我们的交易所发布的行情它是三秒钟。进行一次更新。那我们做交易判断其实主要就是因为行情的数据变化了,所以要去做交易判断,每三秒钟去更新,去实现一次逻辑,实现一次我们的一个主逻辑。那每三秒拿着一个更新的数据以后我们去做逻辑判断。这里我们提供了两个API,一个叫做tick data模块,一个是run interval,这两个其实是可以互相替代的,只是大家。也可以选择其中一个就可以了。
最后一个就是主推回报模块。我们的委托报到柜台以后,柜台那边接收到我们的委托信息,就会对我们的委托信息进行一个回报的主推到策略里面,也就是说。on order response这边有一个,然后另外一个是on trade response。 on order response就是委托的主持人,那柜台接到了你的委托,然后回报给你一个信息,就告诉你,你已经报了柜台了。
另外,response就是成交的主推。当我们的委托的这笔订单已经有撮合了,那比如说我委托了一万股,因为委托的数量比较大,那可能分成十笔,每一笔都是1000股去成交,那成交1000股每一次成交1000股都会有一个成交主推的一个回报,然后会推到我们的那个策略里面。我们就会在on trade response模块。我们就会接到主推它就回调这个函数,我们就可以在里面去写一些我们的逻辑了。比如说我接到了1000股,然后价格如果出现了比较大的偏差,比如已经超过了我想要的一个买入的价格,那我可能剩下的9000股我不想成交了,那我就可以在第一时间在这里,这个模块里面,我去做撤单的处理。
模块4:盘后
盘后的话主要就是一个after trading end这个模块,那盘后可能也看投资者是否需要用到它应用场景可能并不是必须的,可能有的需要在盘后做一些信息的总结,比如持仓的更新之类,那需要用这个on trade response。
模块5:定时器
最后一个就是定时器,就是在盘前盘中盘后我们都是按照一定的规则,比如跟我们设定的一些时间间隔去触发的。那这个run daily就是我可以设定任意的一个时间点,设置一个函数,然后让这个函数在某个时间点去运行。run daily模块必须在。Initialize模块里面去进行一个设置。设置完了以后,它会设置需要设置几个要素,一个是时间跟一个需要执行的一个函数。名称设置完了之后,那假如我设置到十点钟,我要去运行一个买入的函数,那就会在那个买入函数就会在十点整。他就会被定时执行,触发执行。
以上就是基于PTrade交易终端执行的整体模块介绍,当然这只是一个初步模块讲解流程,我们还需要学会应用PTrade构建专业的,符合我们想法的交易策略,让终端执行我们的策略,才能最终实现量化交易的过程,达到我们想要的股票交易结果。
温馨提示:投资有风险,选择需谨慎。