tests: return on investment
This commit is contained in:
		
							parent
							
								
									3397ccdd4c
								
							
						
					
					
						commit
						743098034b
					
				
							
								
								
									
										212
									
								
								tests/misc/roi.test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								tests/misc/roi.test
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,212 @@ | ||||
| # 1. investment that does not grow has no return | ||||
| hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Y | ||||
| <<< | ||||
| 2017-01-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-06-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| >>> | ||||
| +---++------------+------------++---------------+----------+-------------+-----++-------+-------+ | ||||
| |   ||      Begin |        End || Value (begin) | Cashflow | Value (end) | PnL ||   IRR |   TWR | | ||||
| +===++============+============++===============+==========+=============+=====++=======+=======+ | ||||
| | 1 || 2017/01/01 | 2017/12/31 ||             0 |      200 |         200 |   0 || 0.00% | 0.00% | | ||||
| +---++------------+------------++---------------+----------+-------------+-----++-------+-------+ | ||||
| 
 | ||||
| >>>=0 | ||||
| 
 | ||||
| # 2. Growth by 12% from single investment transaction should show 12% IRR and 12% TWR | ||||
| hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Y | ||||
| <<< | ||||
| 2017-01-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-12-31 investment valuation | ||||
|    investment  = $112 | ||||
|    pnl | ||||
| >>> | ||||
| +---++------------+------------++---------------+----------+-------------+-----++--------+--------+ | ||||
| |   ||      Begin |        End || Value (begin) | Cashflow | Value (end) | PnL ||    IRR |    TWR | | ||||
| +===++============+============++===============+==========+=============+=====++========+========+ | ||||
| | 1 || 2017/01/01 | 2017/12/31 ||             0 |      100 |         112 |  12 || 12.00% | 12.00% | | ||||
| +---++------------+------------++---------------+----------+-------------+-----++--------+--------+ | ||||
| 
 | ||||
| >>>=0 | ||||
| 
 | ||||
| # 3. Same as (2), but grow by 1% per month | ||||
| hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Y | ||||
| <<< | ||||
| 2017-01-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-01-31 investment valuation | ||||
|    investment  = $101 | ||||
|    pnl | ||||
| 
 | ||||
| 2017-02-28 investment valuation | ||||
|    investment  = $102 | ||||
|    pnl | ||||
| 
 | ||||
| 2017-03-31 investment valuation | ||||
|    investment  = $103 | ||||
|    pnl | ||||
| 
 | ||||
| 2017-04-30 investment valuation | ||||
|    investment  = $104 | ||||
|    pnl | ||||
| 
 | ||||
| 2017-05-31 investment valuation | ||||
|    investment  = $105 | ||||
|    pnl | ||||
|     | ||||
| 2017-06-30 investment valuation | ||||
|    investment  = $106 | ||||
|    pnl | ||||
|     | ||||
| 2017-07-31 investment valuation | ||||
|    investment  = $107 | ||||
|    pnl | ||||
|     | ||||
| 2017-08-31 investment valuation | ||||
|    investment  = $108 | ||||
|    pnl | ||||
|     | ||||
| 2017-09-30 investment valuation | ||||
|    investment  = $109 | ||||
|    pnl | ||||
|     | ||||
| 2017-10-31 investment valuation | ||||
|    investment  = $110 | ||||
|    pnl | ||||
|     | ||||
| 2017-11-30 investment valuation | ||||
|    investment  = $111 | ||||
|    pnl | ||||
|     | ||||
| 2017-12-31 investment valuation | ||||
|    investment  = $112 | ||||
|    pnl | ||||
| 
 | ||||
| >>> | ||||
| +---++------------+------------++---------------+----------+-------------+-----++--------+--------+ | ||||
| |   ||      Begin |        End || Value (begin) | Cashflow | Value (end) | PnL ||    IRR |    TWR | | ||||
| +===++============+============++===============+==========+=============+=====++========+========+ | ||||
| | 1 || 2017/01/01 | 2017/12/31 ||             0 |      100 |         112 |  12 || 12.00% | 12.00% | | ||||
| +---++------------+------------++---------------+----------+-------------+-----++--------+--------+ | ||||
| 
 | ||||
| >>>=0 | ||||
| 
 | ||||
| # 4. When $100 invested over 12 month + $100 invested over 6 month yield $220, that's 10% TWR, but 12.73% IRR | ||||
| hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Y | ||||
| <<< | ||||
| 2017-01-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-06-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-12-31 investment valuation | ||||
|    investment  = $220 | ||||
|    pnl | ||||
| >>> | ||||
| +---++------------+------------++---------------+----------+-------------+-----++--------+--------+ | ||||
| |   ||      Begin |        End || Value (begin) | Cashflow | Value (end) | PnL ||    IRR |    TWR | | ||||
| +===++============+============++===============+==========+=============+=====++========+========+ | ||||
| | 1 || 2017/01/01 | 2017/12/31 ||             0 |      200 |         220 |  20 || 12.73% | 10.00% | | ||||
| +---++------------+------------++---------------+----------+-------------+-----++--------+--------+ | ||||
| 
 | ||||
| >>>=0 | ||||
| 
 | ||||
| # 5. When $100 invested over 12 month + $100 invested over 6 month yield $20, that's -90% TWR, but -95.73% IRR | ||||
| hledger -f- roi --inv investment --pnl pnl -b 2017 -e 2018 -Y | ||||
| <<< | ||||
| 2017-01-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-06-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-12-31 investment valuation | ||||
|    investment  = $20 | ||||
|    pnl | ||||
| >>> | ||||
| +---++------------+------------++---------------+----------+-------------+------++---------+---------+ | ||||
| |   ||      Begin |        End || Value (begin) | Cashflow | Value (end) |  PnL ||     IRR |     TWR | | ||||
| +===++============+============++===============+==========+=============+======++=========+=========+ | ||||
| | 1 || 2017/01/01 | 2017/12/31 ||             0 |      200 |          20 | -180 || -95.73% | -90.00% | | ||||
| +---++------------+------------++---------------+----------+-------------+------++---------+---------+ | ||||
| 
 | ||||
| >>>=0 | ||||
| 
 | ||||
| # 6. Check that deposits/withdrawals and profit/loss are reflected in the right periods | ||||
| 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-07-01 investment | ||||
|    assets:cash  -$100 | ||||
|    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% | | ||||
| +---++------------+------------++---------------+----------+-------------+-----++---------+---------+ | ||||
| 
 | ||||
| >>>=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 | ||||
| <<< | ||||
| 2017-01-01 investment | ||||
|    assets:cash  -$100 | ||||
|    investment | ||||
| 
 | ||||
| 2017-06-30 investment valuation | ||||
|    investment  = $110 | ||||
|    pnl | ||||
| 
 | ||||
| 2017-07-01 investment | ||||
|    assets:cash  -$100 | ||||
|    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/06/01 | 2017/12/31 ||           100 |       50 |         155 |   5 || 5.24% | 11.45% | | ||||
| +---++------------+------------++---------------+----------+-------------+-----++-------+--------+ | ||||
| 
 | ||||
| >>>=0 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user