5

私は在庫管理アプリケーションに取り組んでいます。シナリオは次のとおりです。

-ユーザーは、購入したアイテムに次の情報を入力します (アイテムの ID、購入した数量、購入価格、風の最低価格、購入日)

各操作で、ユーザーは次の情報 (アイテムの ID、販売数量、風の最終価格、取引日) を使用して販売されたアイテムを入力し、各操作で最終価格が以下の場合はユーザーに警告しました風の最低価格

各操作、風取引の利益を記録しました (最終価格風 - 購入価格)

問題は、同じ製品を別の時期に別の価格で購入できるということです。その場合、共通の利益を計算できます。

たとえば、次のケースがある場合

購入したアイテム (T シャツ), 10, £ 20, £ 23, 10/08/2012 購入したアイテム (T シャツ), 10, £ 22, £ 25, 19/08/2012

この場合、正しい購入価格で記事を回収し、利益を計算し、販売テーブルに適切な情報を記録するには、風の操作を行う必要がありますか?

4

1 に答える 1

6

財務では、利益/損失の計算は常に(ほとんどの場合)FIFOルールを使用して行われます。

つまり、10ドルで20ドル、5ドルで22ドル、5ドルで21ドル、10ドルで23ドル、次のように記録する必要があります。

BUY 10 for $20 date1
BUY 5 for $21 date3

とは別に

SELL 5 @ $22 date2
SELL 10 @ $23 date4

ここで、FIFOルールに従ってこれらをペアリングし、中間ポートフォリオをデータベースに書き込む必要があります。

portfolios AFTER date
date1  10  profit/loss $0     avg-open $20
date2  5   profit/loss +$10   avg-open $20
date3  10  protit/loss +$10   avg-open $20.50
date4  0   profit/loss +$35   avg-open $0

オペレーションを1つずつ:date1平均オープン価格20ドルで購入した後。からdate1date2私たちは株式の半分を売り、利益を上げ、5 * ($22 - $20 <- avg-open) = $10その取引の、平均オープン価格が$20の5つの証券が残っています。

から5証券date2までdate3の在庫があり、利益/損失は同じままですが、平均始値は$ 20.50($20の場合は5+ $ 21の場合は5)になります。

10 * ($23 - $20.50) = $25そして最後に、あなたはそれらすべてを以前からのプラス10ドルの利益率で販売します。それはあなたに35ドルを与えます。

要約すると、これをまとめると、単一のトランザクション(BUY/ SELL)を記録してから、ポートフォリオ、平均始値、およびその場での損益を計算できます。

または、これまでの利益/損失および増分更新された平均始値とともにポートフォリオを保存できます。

(デバッグ目的を除いて)両方を実行することはお勧めしません。データレベルで不整合が発生する可能性があり、これは厄介です。その場合は、表現の1つをマスターとして選択し、矛盾がある場合はもう1つを(再)計算します。

ただの提案。

于 2012-08-20T08:28:33.527 に答える