【发布时间】:2018-11-09 15:19:45
【问题描述】:
我正在两个对象数组中跟踪我的交易组合。
特定交易货币的卖出和买入如下:
var sell {
sold_amount: sold,
bought_amount: bought,
price : price
}
var buy {
sold_amount: sold,
bought_amount: bought,
price : price
}
我正在尝试以下操作:
以LIFO 的方式计算我的输赢百分比。这意味着我想从最近一次卖出的价格中减去最近一次买入的价格/金额,然后向后移动。
如果我的卖出量足够大,这意味着我不仅需要查看之前的购买,还需要搜索未知数量的之前的购买,直到我的所有卖出金额都用完,以便我可以计算我的赢/输。
我的困难在于,由于买卖是按不同的数量/价格进行的,所以我很难计算结果。
这意味着例如:
I bought 20 units of $javascript paying 32 units of $c++ ,
I bought 17 units of $javascript paying 29 units of $c++ ,
I sold 57 units of $c++ paying 31 units of $javascript,
I bought 22 units of $javascript paying 22 units of c++,
I sold 12 units of c++ paing 11 units of $javascript,
这意味着在每次卖出时,我都需要向后看,递归地查看我买入的价格,并根据卖出/买入的数量计算赢/输。
我不是在寻找解决方案,只是一些指导或建议。
【问题讨论】:
-
也许我理解错了,但为什么不尝试将它们全部转换为他们共享的共同价值——比如金钱?这不是让计算更简单吗?此外,您并没有真正为一只股票与另一只股票一起支付 - 这本身似乎是对模型的一种扭曲。
-
能给一些测试用例吗?所以我的意思是一些有效的 javascript 输入以及您希望代码返回什么?
-
你的卖或买对象中没有单位,也许放一个你的js数据的例子
-
是的,至少 5-10 个测试用例可以帮助我们找到解决问题的方法。
-
'c++'!=='$c++'?还是错字?
标签: javascript algorithm trading