金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 51|回复: 4

测试盈亏结果计算有差异

[复制链接]

33

主题

92

帖子

102

积分

Rank: 6Rank: 6

等级: 机构版

注册:
2021-5-20
曾用名:
发表于 2025-3-27 20:51 | 显示全部楼层 |阅读模式
老师您好,请问测试结果为什么盈亏的计算总有少许差异呢 ?(开仓-平仓)*手数*吨  应该是一个整数啊。可是测试里面的结果有时候不精确,有些差异。 我这里设置的手续费和滑点都是0 ,测试结果里面也显示是0,可是计算依然不对。
请问怎么回事?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-3-28 09:18 | 显示全部楼层
本帖最后由 资深技术05 于 2025-3-28 09:50 编辑

一般会有一些浮点误差(计算机底层二进制无法完全精确表示十进制数)。但是一般初始误差都是在小数点后位置上出现一些很小的偏差。只是如果有后续的计算,有可能会根据数据情况出现放大的现象。例如价格上有误差,乘上一个较大的手数,会放大这个误差的。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

33

主题

92

帖子

102

积分

Rank: 6Rank: 6

等级: 机构版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-3-28 12:58 | 显示全部楼层
浮点误差我能理解。浮点误差是在计算有很大的情况下有及其微小的误差。但是这个应该不是浮点误差吧。我给你的图1 :(81830-79530)*2*5=23000   可是计算结果是22998.83     
图2:(3747-3819)*17*10=-12240  可计算结果是-12147.57  这些难道是浮点误差吗? 如果计算这点数都有浮点误差。那计算机就什么都别干了。
烦请找到真正原因,我估计是内部计算方式的原因,请帮助找到,并解决。  这个统计资料对使用这很重要,你们的软件不能这么粗糙。
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-3-28 13:36 | 显示全部楼层
本帖最后由 资深技术05 于 2025-3-28 13:42 编辑

浮动误差是会在后续计算中放大的。初始的误差一般都是很小的


(81830-79530)*2*5=23000

浮点误差如果来源是 81830-79530 这个环节,你后续的计算是直接放大十倍了。

不是说算到最后才产生误差:

例如你第一个品种的价差是:2299.889...
这种就是正常浮点误差,如果这一步没有额外处理,乘上10 误差就放大了。同理沥青那个 你是放大了170倍了。

这个误差放大的问题,我们会反馈下给开发尝试提前做个舍入操作 来降低偏差。另外如果价格用复权一般误差会大点,因为复权数据应用到K数据上会有一个二次计算过程,导致复权后的K数据自带一定的浮动偏差 后续再做各种计算 就比不复权的情况要大。
回复

使用道具 举报

4

主题

163

帖子

174

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2025-3-28 15:34 | 显示全部楼层
如果你是启用了复权测试的话,那么复权后的价格就是带小数的,只是显示的时候按照合约规则没有显示出来
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-4 03:49 , Processed in 0.187139 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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