algorithm - 给定数组中的一系列股票价格。选择何时买入和何时卖出以获得最大利润

标签 algorithm pseudocode

给定数组中的一系列股票价格。选择何时买入和何时卖出以获得最大利润。 从一个网站我得到了这样的东西-ef maxprofit(prices):

buydate, selldate = 0, 0

maxprof = 0 minprice = prices[0] mindate = 0

for d, p in enumerate(prices[1:]): if p < minprice: minprice = p mindate = d + 1 continue

prof = p - minprice

if prof > maxprof: maxprof = prof buydate, selldate = mindate, d + 1

return (buydate, selldate), maxprof

但我认为..我们也应该考虑负价格..不是吗?欢迎任何其他解决方案或意见

最佳答案

由于您有历史记录并且交易似乎没有惩罚,只需对价格求导并在 d/dx 从负变为正时买入,在从正变为负时卖出。

这样您就可以在每次获利前买入,在每次亏损前卖出。

关于algorithm - 给定数组中的一系列股票价格。选择何时买入和何时卖出以获得最大利润,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666776/

相关文章:

perl - 一种估计程序运行时间的算法

algorithm - 如何将一个词拆分成不同的方式,使其成为另外两个词的串联

javascript - 通过更改此伪代码也可以返回移动

c++ - 如果 `n`是 `2019`的倍数并且不在 `(a, b)`间隔中,则找到一个逻辑表达式,该表达式为true

c++ - 适合矩形的字符串

java - 使用埃拉托色尼筛法生成 k 个素数

java - 邻接矩阵 : premature ending of search, 上的广度优先算法返回大小为 1 的队列?

algorithm - 使用 shell 脚本编写算法简介是个好主意吗

python - 用虚拟值编写伪代码

recursion - 使用 Lua 对象进行递归搜索