- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定一组按时间顺序排列的股票报价 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/
我正在尝试使用开放的彭博 API 来收集特定日期和特定时间范围内的 VWAP 交易量。例如,如何获取 8 月 27 日上午 11 点到 11:15 之间的 VWAP_VOLUME? 使用Excel,我
我是一名优秀的程序员,十分优秀!