金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5353|回复: 3

金字塔上实现程序化交易的2种基本方式

[复制链接]

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-9-9 14:07 | 显示全部楼层 |阅读模式
本帖最后由 技术009 于 2021-12-6 09:38 编辑

金字塔上实现程序化交易,有2种基本模式可供用户选择:图表程序化和后台程序化。这2种模式主要在对用户代码编写能力的要求,实现复杂思路的能力,模型运行的直观程度,运行的效率等方面有一定差异性。初级用户可以从图表程序化开始使用,有一定编程基础的客户可以尝试使用后台程序化。以下简单说明下图表程序化和后台程序化的运行机制和运行特点,以及金字塔的信号选择机制,希望能让客户对在金字塔上实现程序化交易有一个初步的了解。

1.图表程序化
2.后台程序化
3.金字塔信号选择机制

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
 楼主| 发表于 2021-9-9 14:11 | 显示全部楼层
本帖最后由 技术009 于 2021-12-6 09:42 编辑

图表程序化

图表程序化运行机制

       图表程序化是一个基于一个虚拟模型的程序化交易方式。模型的逻辑在代码中实现。这个模型有自己的一个虚拟资金,它根据K线数据,根据代码中设计好的交易逻辑,计算出开平信号,并在K线图上进行显示。也就是说图表程序化模拟或者说是回测了一段历史交易的完整过程 并将结果展示在K线图上。在实际交易中程序追踪这个模型在最新K上计算出的信号来进行下单。
截图202110111004333741.png

    这里可以举个通俗易懂的例子来进一步说明图表程序化的运行原理。 图表程序化交易就相当于你跟随 股神巴菲特进行交易,你跟随他选择相同的时机,相同的方向进行交易,完全执行巴菲特的操作方式。但是这个交易过程,你是处于一个跟随位置,你无法反向影响巴菲特的交易逻辑(在这里就相当于指标里写好的交易逻辑,本地的实际资金账户的情况影响不了图表上信号逻辑),并且他的交易逻辑一定程度上是和他之前的全部交易过程相关的(相当于图表模型的历史交易信号),你模仿他的时候其实是相当于半途参与其中的(实际资金账户执行的信号是从最新K上开始的,而历史信号不执行)。  

      所以图表程序化和用户的实际资金账户是完全单向的关系,你本地资金可能开不了那么多仓位,但是图表逻辑上只要虚拟资金足够,那么它就正常出信号,正常拥有持仓的,你实际账户情况是无法反向影响图表模型的逻辑。如果某个平仓条件是从历史K某个位置一直持续满足到当前最新K,图表模型在历史K出过平仓信号后,此时图表上的虚拟持仓已经是0了,如果这时候你才开启程序化交易且实际账户有持仓,程序化是不会给你平仓的,因为模型已经是没有仓位的状态了,是发不了平仓信号的。图表模型信号的发生完全取决于图表模型的内部逻辑当前的执行进度,而和你当前实际资金账户情况无关。  当然这只是图表程序化最基础的原理,并非就只能受限于这些基本原理,金字塔提供了辅助交易功能来处理这些图表模型和实际资金账户不一致的情况,比如将模型的下单量按比例缩放到实际账户可以下单的程度,或者是启用持仓同步功能将虚拟持仓和实际持仓进行同步等等。

图表程序化的特点

1.交易模型之间相互独立
    每个加载在k线图上的图表指标模型都是相互独立的。相同的指标加载在相同品种的2个窗口上他们之间是相互独立的。一个K线图上叠加的2个指标也是相互独立的。
2.图表信号和实际账户之间是单向关系
     实际账户只是单向的接受经过筛选机制筛选后的 图表模型信号并进行执行,但是执行结果不会反过来影响图表模型的逻辑(参考前面的“图表程序化运行机制”部分的详细说明)。 所以通常图表模型无法在代码里处理判断成交,处理追撤单等和实际成交回报有关的问题。不过用户可以使用系统提供的一些辅助交易功能进行额外的处理(如追撤单功能)。
3.图表模型内部不能锁仓。
     图表模型任意时刻,只会拥有一个方向的虚拟持仓。反应在实际交易中就是同一个窗口上加载的某个模型不会出了开多信号后又出开空信号,它必然需要出一次平多(全平)信号才能出开空的信号,反之同理。这是不是意味着不能在实际账户上锁仓呢?并不是,按照图表模型的特点1和2,每个加载的模型之间是相互独立的,而实际账户持仓情况又是不影响图表模型的。所以不同窗口上下的单子多空之间互不干扰,实际账户上是完全可以锁仓的。
4.图表模型在历史K上的信号是回测信号
  历史K位置的信号,是按照这个K最后时刻的数据计算出来的。历史K部分的信号相当于是一个历史回测的展示,并非记录了你实盘中交易信号,而是按照回测的方式复现了K线结束时候的信号。



更多相关内容参考:图表程序化操作说明

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
 楼主| 发表于 2021-9-23 14:48 | 显示全部楼层
本帖最后由 技术009 于 2021-12-6 09:45 编辑


后台程序化

相比于图表程序化,后台程序化是直接操作用户的实际资金账户,不再是基于虚拟模型进行跟随交易的方式了。

后台程序化的特点

1.程序在后台静默运行
后台程序化的运算是在后台进行的,用户不必打开这个品种的K线图,也不用加载指标在K线图上。
2.和实际资金账户直接交互
可直接操作实际资金账户,代码中可直接指定品种指定账户 进行下单/撤单,读取账户的字段数据,获取品种的订单成交状态等等。因此能在代码层面实现更加准确精细更加个性化的仓位和资金管理需求。
3.多品种多周期多策略交易更便捷
不需要将策略加载在需要交易的品种K线图上,免去了窗口设置步骤,相比图表交易在设置上更方便快捷。此外后台不仅可以监控固定的品种还可以动态监控版块品种和账户持仓品种。
4.运行更加高效
后台程序运行资源占有更少,运行更有效。


更多相关内容参考:后台程序化操作说明
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
 楼主| 发表于 2021-10-9 10:02 | 显示全部楼层
本帖最后由 技术009 于 2021-12-10 15:02 编辑

金字塔的信号选择机制


因为行情数据的变化,模型计算出来的信号是可能会反复发生变化的,所以就需要一种对信号进行选择的机制,来实现最终的下单。信号选择的机制和模型的运行是相对独立的,
指标模型的运行产生信号,信号筛选机制则负责对这些信号进行选择,用户的资金账户则是执行最终的下单。这三个部分的关系: 交易模型运行-->信号选择-->实际资金账户执行下单 。选择怎样的信号选择方式会对模型的最终运行效果产生直接的影响。


金字塔的信号选择机制是在时间维度上进行选择的方式。分为以下2种:
1.固定时间间隔。
顾名思义就是按照设置的时间间隔周期性的去检测信号(注意这里是检测信号而不是去执行代码,代码运行是行情驱动的,固定时间间隔模式下,行情来一笔计算一次)。每次轮询时候检测到有信号则进行捕捉并下单。

2.走完一根K线
图表程序化:走完这个k的瞬间,检测走完的这个K上是否有需要执行的信号。如果有则进行捕捉并下单。
后台程序化:走完这个K的瞬间,触发一次指标的运算,如果计算出有信号,则进行相应的下单操作。

信号闪烁问题:在图表交易模型上可能会出现下单信号和图表上显示的信号不一致的情况,这也是用户常遇到的一个问题。常见的可能存在的导致信号闪烁的情况:
1.使用固定时间间隔模式,并且信号逻辑不够稳健。

图表上历史K上显示的都是这个K线最后时刻的信号情况(可能有信号也可能是没有信号的情况)。在这个K线走完之前,它的信号情况是可能处于变化中的。比如:如果恰好有信号被固定时间间隔检测到,然后K线结束时候信号又不满足条件了或者是有信号但是因为处在固定时间间隔时间内导致没被检测到信号,这2种情况都会导致图表信号和实际下单不一致的情况。 这就是一个信号闪烁现象,直接原因是历史K看到的信号都是这个K最后时刻的信号,而固定轮训捕捉的则是盘中的信号,从代码逻辑上来说则是因为交易信号的逻辑不够稳健导致的。
这种情况下建议客户完善开平仓的条件,使得信号逻辑更加稳健。 或者使用持仓同步功能进行辅助交易。

2.使用了跨周期调用中的小周期调用大周期。

跨周期调用因为采用的是时间对齐的方式,这导致小周期调用大周期上可能会出现未来逻辑。从而导致历史信号发生变动。因为历史小周期上调用大周期,大周期所覆盖的多个小周期,调用到的都是同一个大周期的数据。这对靠历史方向的几个K而已,就是一个未来逻辑了。

3.使用了常数函数。
默些函数值只有最新值,比如动态盘口的数值。都是只有最新的值。这意味的如果你在代码中调用时候,历史K和最新K都是调用到的是一个值。这显然也是一种变相的未来逻辑了。

4.图表设置了固定数据量。当设置固定数据量时候,每次生成新的K,第一个K的位置是会更新的。而图表程序化交易是受历史信号影响的,因此这种情况下是可能会因为第一个K位置的变动造成历史信号变动进而影响当前的信号。通常对数据起点位置较为敏感的指标计算容易受到这种情况的影响。





金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-17 00:28 , Processed in 0.274074 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表