股票买卖最佳时机leetcode
金融科技:用交易费买卖股票的最佳时机
使用动态编程(Python
实现)找到以交易费买卖股票的最佳时间。
算法
使用动态规划沿着给定的价格向量计算最佳动作序列。
DP
在每个时间
t
记录以下内容:
最佳货币价值,以及
股票的最佳价值,和
导致此最优值的先前操作
DP初始化:
货币
=
原始资本,以及
股票=用原始资本购买股票
DP递归:
计算最佳货币:
钱
=
持有昨天的钱,或
钱=今天卖掉你所有的股票
计算最优库存:
股票
=
持有昨天的股票,或
股票=今天用你所有的钱买股票
DP
追溯:
您必须在最后一天卖出以最大化利润
追踪导致这个最优值的前一个动作
动作平滑:
如果前一个动作与当前动作相同,则选择的动作是“保持”。
结果
测试,返回率为:212.88675299365727
用法:
默认情况下使用:
python3
optimal_stock_action.py
使用自定义数据集和交易费用值运行:
python3
optimal_stock_action.py
./data.csv
0.01
评论0
最新资源