mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-25 03:13:25 +03:00
cli: if abs(return on investment)<0.01% display it as zero
This commit is contained in:
parent
ad424e0381
commit
56553ede69
@ -117,14 +117,15 @@ roi CliOpts{rawopts_=rawopts, reportopts_=ropts} j = do
|
||||
irr <- internalRateOfReturn showCashFlow prettyTables thisSpan
|
||||
twr <- timeWeightedReturn showCashFlow prettyTables investmentsQuery trans thisSpan
|
||||
let cashFlowAmt = negate $ sum $ map snd cashFlow
|
||||
let smallIsZero x = if abs x < 0.01 then 0.0 else x
|
||||
return [ showDate spanBegin
|
||||
, showDate (addDays (-1) spanEnd)
|
||||
, show valueBefore
|
||||
, show cashFlowAmt
|
||||
, show valueAfter
|
||||
, show (valueAfter - (valueBefore + cashFlowAmt))
|
||||
, printf "%0.2f%%" irr
|
||||
, printf "%0.2f%%" twr ]
|
||||
, printf "%0.2f%%" $ smallIsZero irr
|
||||
, printf "%0.2f%%" $ smallIsZero twr ]
|
||||
|
||||
let table = Table
|
||||
(Tbl.Group NoLine (map (Header . show) (take (length tableBody) [1..])))
|
||||
|
@ -147,39 +147,38 @@ hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Y
|
||||
>>>=0
|
||||
|
||||
# 6. Check that deposits/withdrawals and profit/loss are reflected in the right periods
|
||||
# XXX https://github.com/simonmichael/hledger/issues/937, "-0.00%"
|
||||
# hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Q
|
||||
# <<<
|
||||
# 2017-01-01 investment
|
||||
# assets:cash -$100
|
||||
# investment
|
||||
hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Q
|
||||
<<<
|
||||
2017-01-01 investment
|
||||
assets:cash -$100
|
||||
investment
|
||||
|
||||
# 2017-06-30 investment valuation
|
||||
# investment = $110
|
||||
# pnl
|
||||
2017-06-30 investment valuation
|
||||
investment = $110
|
||||
pnl
|
||||
|
||||
# 2017-07-01 investment
|
||||
# assets:cash -$100
|
||||
# investment
|
||||
2017-07-01 investment
|
||||
assets:cash -$100
|
||||
investment
|
||||
|
||||
# 2017-10-01 withdrawal
|
||||
# assets:cash $50
|
||||
# investment
|
||||
2017-10-01 withdrawal
|
||||
assets:cash $50
|
||||
investment
|
||||
|
||||
# 2017-12-31 investment valuation
|
||||
# investment = $155
|
||||
# pnl
|
||||
# >>>
|
||||
# +---++------------+------------++---------------+----------+-------------+-----++---------+---------+
|
||||
# | || Begin | End || Value (begin) | Cashflow | Value (end) | PnL || IRR | TWR |
|
||||
# +===++============+============++===============+==========+=============+=====++=========+=========+
|
||||
# | 1 || 2017/01/01 | 2017/03/31 || 0 | 100 | 100 | 0 || 0.00% | 0.00% |
|
||||
# | 2 || 2017/04/01 | 2017/06/30 || 100 | 0 | 110 | 10 || 46.56% | 46.56% |
|
||||
# | 3 || 2017/07/01 | 2017/09/30 || 110 | 100 | 210 | 0 || 0.00% | 0.00% |
|
||||
# | 4 || 2017/10/01 | 2017/12/31 || 210 | -50 | 155 | -5 || -11.83% | -11.82% |
|
||||
# +---++------------+------------++---------------+----------+-------------+-----++---------+---------+
|
||||
2017-12-31 investment valuation
|
||||
investment = $155
|
||||
pnl
|
||||
>>>
|
||||
+---++------------+------------++---------------+----------+-------------+-----++---------+---------+
|
||||
| || Begin | End || Value (begin) | Cashflow | Value (end) | PnL || IRR | TWR |
|
||||
+===++============+============++===============+==========+=============+=====++=========+=========+
|
||||
| 1 || 2017/01/01 | 2017/03/31 || 0 | 100 | 100 | 0 || 0.00% | 0.00% |
|
||||
| 2 || 2017/04/01 | 2017/06/30 || 100 | 0 | 110 | 10 || 46.56% | 46.56% |
|
||||
| 3 || 2017/07/01 | 2017/09/30 || 110 | 100 | 210 | 0 || 0.00% | 0.00% |
|
||||
| 4 || 2017/10/01 | 2017/12/31 || 210 | -50 | 155 | -5 || -11.83% | -11.82% |
|
||||
+---++------------+------------++---------------+----------+-------------+-----++---------+---------+
|
||||
|
||||
# >>>=0
|
||||
>>>=0
|
||||
|
||||
# 7. Check that reporting for the part of the total history of investment works
|
||||
hledger -f- roi --inv investment --pnl pnl -b 2017-06 -e 2018
|
||||
|
Loading…
Reference in New Issue
Block a user