金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 技术008

后台调用图表持仓输出的持仓不一致

[复制链接]

0

主题

20

帖子

20

积分

Rank: 4

等级: 专业版

注册:
2022-7-28
曾用名:
发表于 2025-7-1 15:32 | 显示全部楼层
我的目标是实现“多策略、多周期、多品种”的后台程序化交易,上次我也跟章位福老师确认过是可以的。
我们有4个策略模版,每个策略模版想配置81组参数,配置4个基础周期,所有品种都进行配置【我们资金量比较大 ,所以要配置很多策略】。您这边有代码示例或代码架构的话麻烦发出来一下,谢谢
回复

使用道具 举报

3

主题

833

帖子

874

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2025-7-1 15:58 | 显示全部楼层
106318 发表于 2025-7-1 15:32
我的目标是实现“多策略、多周期、多品种”的后台程序化交易,上次我也跟章位福老师确认过是可以的。
我们 ...

后台中混合使用图表策略信号只是一个方法。
这种方法的难点在于图表策略对数据量、运行机制的容错性,每个人对控制的要求力度不同罢了。

1. 图表策略被调用等于在一个静默的黑盒子中使用,它有自己独立的内存环境。和图表中看到的公式等于是两个策略副本。他们之间想保持一致,那么就必须保证以下因素:
1.黑盒子中的数据量和图表中的数据量保持一致(可控因素)
2.后台调用黑盒子的指标计算和图表的指标计算必须完全同步(不可控因素),受计算机并行、运行机制等影响。


关于8楼的问题中,应该使用stkindiex函数,它才能控制被调用的黑盒子中的数据量。

我们也灭有示例或者代码框架提供,因为每个人对于净持仓的处理逻辑的细节都不同。
原理上很简单,都是直接获取图表策略的执行结果。(只是部分使用者先入为主的认为图表中看到的结果才是对的,无法接受调用时的差异性存在。)
回复

使用道具 举报

0

主题

20

帖子

20

积分

Rank: 4

等级: 专业版

注册:
2022-7-28
曾用名:
发表于 2025-7-1 16:39 | 显示全部楼层
我使用了stkindiex函数,逻辑还是完全不对,见附件

后台程序使用STKINDIEX调用图标程序持仓问题.txt

25.8 KB, 下载次数: 267

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-7-1 17:18 | 显示全部楼层
1、你是在回测中对比的?回测中无法对比的,因为回测中stkindiex和stkindi是一样的,无法指定数据量,在数据量不一样的前提下,结果是不同的。
2、你这种后台引用图表的模式,只能在实际运行中,通过stkindiex指定指定数据量,图表上也严格控制数据量,这样在最新的K线上的结果,才会一致的。这种模式的回测结果和图表上的结果不一定能完全对上的。你这个图表策略,对数据量是很敏感的,不同的数据量计算出来的holding变化就很大,后台回测中的输出结果和图上对不上的,根本原因就是二者数据量的使用上无法做到精准一致。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

20

帖子

20

积分

Rank: 4

等级: 专业版

注册:
2022-7-28
曾用名:
发表于 2025-7-1 17:27 | 显示全部楼层
进行精细化历史测评,单个品种回测了一天时间(从09:00~15:00),STKINDIEX('','S1.ho',0,2,-1,20)使用的是5分钟周期(图表中数据限量也是20根),S1(策略一)是每2根K线下一手多单,应该是09:00~09:04持仓0手,09:05~09:09持仓1手,09:10~09:14持仓2手,,09:15~09:19持仓3手...

加粗的这部分是实际逻辑,但是与输出是不一致的,说明“精细化历史评测”是完全不能这么使用,我还想确认一下,实盘能不能这么调用
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-7-1 17:31 | 显示全部楼层
1、这个在后台回测中无法做到完全一致,根本原因就是上面介绍的,我们无法做到二者对数据量的使用上一致,因为stkindiex在回测中无效。
2、但是实盘交易中是可以这样使用的,如果你要在实盘交易中进行这种对比,那可以通过stkindiex严格控制数据量,只要数据量一致的前提下,才有比较的意义。另外我们想说的是,进行这种对比没有多大的意义,因为数据样本不同,计算的信号也会有差异的,所以只要保证策略所使用到的历史数据量是足够的前提下,结果都是对的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

20

帖子

20

积分

Rank: 4

等级: 专业版

注册:
2022-7-28
曾用名:
发表于 2025-7-1 17:45 | 显示全部楼层
感谢老师的解答,我也不是为了对比
1. 我原来以为stkindiex在精细化历史测评中有效,这样我对各策略净持仓进行加权,然后再做品种加权,去模拟整个账户的净值曲线【我们称做集成测试】;既然stkindiex在精细化历史测评中无效,那我们通过其他办法进行集成策略。
2. 实盘交易可以这样使用各策略的净持仓,那我还是想在实盘中使用

此外,我想做最近5年的多品种、多周期、多策略加权集成测试,在金字塔中如何实现,能不能给一些建议
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-7-2 08:59 | 显示全部楼层
倒没有特别的建议,你的这套交易思路,核心还是在于获取holding持仓后,在后台程序化上的那套交易逻辑,获取holding后,通过与实际持仓的比较,来判断开平仓,条件中还要判断好未成交单的状态,避免重复开平仓的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

20

帖子

20

积分

Rank: 4

等级: 专业版

注册:
2022-7-28
曾用名:
发表于 2025-7-2 11:20 | 显示全部楼层
我用模拟直接进行预警,居然出现 -1+(-1)=-1,我想确认两个问题
1. 14楼您说实盘可以,到底是真可以吗
2. -1+(-1)=-1 怎么理解

补充内容 (2025-7-2 11:21):
stkindiex只是测试不行,实盘没问题
截图202507021117203383.jpg
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-7-2 11:27 | 显示全部楼层
1、可以实盘
2、你这个输出的-1不是持仓,是一个无效值。你在stkindiex中只指定了1根数据量,那是计算不出来holding的啊,你试下把多指定点数据量,或者直接用stkindi。
截图202507021127304536.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 01:26 , Processed in 0.181455 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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