最近做量化交易遇到的一道算法题, chatgpt 不同的问法给出的答案完全不一样,求证哪个是对的

2023-03-18 20:09:36 +08:00
 roker
问题是这样
用同一个策略做现货历史数据回测 ,共进行了 n 次交易,总收益率为 r.
假如每次交易收益率的序列为 x1 ,x2,x3,x4.....xn.总的收益率为 x1*x2*x3.....*xn=r
当然每次收益有赚有亏,总体是赚的
问题:
求证我用同样的策略做合约杠杆数据回测,操作的次数和点位一致,不考虑手续费损耗的前提下,我的总体收益率是大于 r 还是小于 r? 最终的结果和合约杠杆的大小是否有关系?默认永不爆仓的场景

做一下合约交易的科普

假如一次现货交易亏损 20%,2 倍合约杠杆就会亏损 40%,同理如果一次现货交易盈利 20%,换为合约就会盈利 40%


---
如下是 chatgpt 的答复,鄙人数学极差,无法判断真伪

m 就是合约杠杆的倍数

r 为总的收益率
n1. n2.n3 。。。nn 为每次交易的收益率


根据题意,已知 n 个数相乘等于 r ,有一个大于 1 的正整数 m ,需要证明哪个更大:r 还是 (n1 * m - m + 1) * (n2 * m - m + 1) * ... * (nn * m - m + 1)。

我们先考虑 (n1 * m - m + 1) * (n2 * m - m + 1) * ... * (nn * m - m + 1) 这个式子。我们可以对每个因子进行如下变形:

ni * m - m + 1 = m * (ni - 1) + 1

因此,

(n1 * m - m + 1) * (n2 * m - m + 1) * ... * (nn * m - m + 1) = (m * (n1 - 1) + 1) * (m * (n2 - 1) + 1) * ... * (m * (nn - 1) + 1)

我们可以将每个因子展开并合并同类项,得到:

(m^n) * (n1 * n2 * ... * nn) + (m^(n-1)) * (n1 * n2 * ... * nn * (n1 + n2 + ... + nn - n)) + ... + ((n1 - 1) * (n2 - 1) * ... * (nn - 1))

观察上式,我们可以看到第一项是 m^n 乘以原式中的 n 个数相乘等于 r ,即 r * m^n 。因为 m 大于 1 ,所以 r * m^n 大于 r 。

对于其他的项,它们都是 n 个数的某种组合,因此它们的乘积也一定小于等于 r ,因为这些组合中可能有与 r 相同的部分。

因此,我们得到:

(n1 * m - m + 1) * (n2 * m - m + 1) * ... * (nn * m - m + 1) > r

综上所述,原命题成立。




Regenerate response
545 次点击
所在节点    程序员
1 条回复
roker
2023-03-18 20:15:57 +08:00
呃但愿的我的帖子不要沉下去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/925147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX