gpt4 book ai didi

algorithm - 最大化给定股票报价和交易量的利润

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:05:21 24 4
gpt4 key购买 nike

给定一组按时间顺序排列的股票报价 Q[0], ..., Q[n-1] 和相应的交易量 V[0], ..., V[n-1] 作为股票数量,当您的交易量分别受 V[0]、...、V[n-1] 限制时,您如何才能找到最佳的买卖时间和交易量?

最佳答案

我假设您希望开始和结束时每只股票都持有 0 股,并且您拥有无限的资本。

问题可以归结为以最低价买入并以最高价卖出,附带条件是必须在卖出前买入股票。

我会按时间顺序处理数据并添加购买,只要将来有更高价格的可用数量(对于每次购买,您需要使用最高的 future 可用价格勾选与出售的相同数量的股票).

只要 future 有盈利的时间卖出,就继续及时加加买。如果有过剩的成交量,但 future 没有可用的盈利卖点,则需要回头看看当前的价格是否低于已经购买的任何价格。在这种情况下,将过去最昂贵的股票换成更便宜的股票,但前提是 future 有卖点。还要检查报废的采购订单是否有任何有利可图的卖点。

示例:

Day  Price    Volume
1 100 1000
2 80 1000
3 110 1000
4 70 1000
5 120 2000

第 1 天:以每股 100 的价格购买 1000。第 4 天以 120 的价格卖出 1000。

第 2 天:以每股 80 元的价格购买 1000 股。第 4 天以 120 的价格卖出 1000。

第 3 天:没有可用的获利卖出机会,因为所有价格高于 70 的 future 股票都已被预订!回头看看你有没有在110以上的价格购买过。你没有,所以没有购买。

第 4 天:没有可用的获利机会,因为价格高于 70 的所有 future 数量都已预订!回头看看你有没有在70以上的价格购买过。将第 1 天购买 1000 股替换为第 4 天第 70 天购买 1000 股。重新检查第一天的股票并检查是否有任何其他有利可图的销售(您只需要考虑到第 4 天的时间线)。有,所以以每股 100 的价格买入 1000 股 1,以每股 110 的价格卖出 3。

最终的订单簿是:

Day Price Volume Order type   shares owned
1 100 1000 Buy 1000
2 80 1000 Buy 2000
3 110 1000 Sell 1000
4 70 1000 Buy 2000
5 120 2000 Sell 0

Total profit: 10000

关于algorithm - 最大化给定股票报价和交易量的利润,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25181290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com