【发布时间】:2023-03-15 11:05:01
【问题描述】:
我尝试从 Java 中的一组简单交易订单中总结百分比。
假设“订单”由仓位(买入/卖出)、价格和数量组成。 如果我有:
时间 |职位 |数量 |价格
第 1 天:10 美元买 1 件
第 2 天:以 12 美元卖出 1 个
我已经赚了 20%,而且很容易编程。 但是......再举一个例子,我不够聪明,无法找到获得总百分比的正确方法:
时间 |职位 |数量 |市场价格
第 1 天:10 美元买 1 件
第 2 天:以 12 美元卖出 1 -> (20%)
第 3 天:以 10 美元购买 2 件 -> (0%)
第 4 天:以 13 美元卖出 1 -> (30%)
DAY5:以 14 美元卖出 1 -> (40%)
所以总共有 90%。
第一个问题,这些百分比可以总结吗? (数学上正确吗?)
其次,你将如何在 java 中做到这一点?
这是一个仅适用于第一个示例的示例方法:
public static double getTotalPercent(List<MarketOrder> orders) {
double percent = 0;
MarketOrder previousOrder = orders.get(0);
for (int i = 1; i < orders.size(); i++) {
MarketOrder order = orders.get(i);
percent += getPercent(previousOrder, order);
previousOrder = order;
}
return percent;
}
【问题讨论】:
-
我不关注,你能“卖你没有的东西”吗?好像你买了1次,卖了3次。另外,这里的 2 有什么影响?你花了 10 美元买了它,却没有从这项投资中看到任何回报,难道不应该以某种方式考虑吗?
-
您要计算交易的收益/损失百分比吗?例如,在您的第二个示例中,总共以 30 美元的价格购买了 n 个单位,以 39 美元的价格出售了 n 个单位,因此收益为 30% -
-
把销售收入加起来。将购买的总金额加起来。根据这两个计算百分比增益,就像您在更简单的示例中所做的那样。正如@jdphenix 指出的那样,在这个例子中是 30%,而不是 90%。
-
“我不够聪明”-是的,你是,不要侮辱自己:)
-
@amit:是的,我可以卖掉我没有的东西。 2是数量。我编辑帖子
标签: java percentage trading