You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`ibctl transaction list`| List all transactions (buys, sells, dividends, interest, WHT, etc.) chronologically |
63
63
|`ibctl realized-sale list`| List realized security sales with FIFO lot matching for tax reporting |
64
64
65
-
All commands accept `--dir` to specify the ibctl directory (defaults to `.`). All holding and transaction commands accept `--base-currency` (default `USD`) to convert values to a different currency. Holding commands accept `--realtime` to fetch current stock prices and FX rates from Yahoo Finance on-demand. For international symbols where IBKR and Yahoo symbols differ, add mappings to `realtime_symbols` in `ibctl.yaml`. Holding commands accept `--securities-on-date YYYYMMDD` to reconstruct securities positions as of a historical date by replaying trades and fetching historical close prices from Yahoo Finance. The `--securities-on-date` flag is mutually exclusive with `--realtime` and `--download`. Use `--help` on any command for detailed documentation.
65
+
All commands accept `--dir` to specify the ibctl directory (defaults to `.`). All holding and transaction commands accept `--base-currency` (default `USD`) to convert values to a different currency. Holding commands accept `--realtime` to fetch current stock prices and FX rates from Yahoo Finance on-demand. For international symbols where IBKR and Yahoo symbols differ, add mappings to `realtime_symbols` in `ibctl.yaml`. Use `--help` on any command for detailed documentation.
Aggregates holdings by geographic classification and displays each geo's market value, percentage of net liquidation value, and capital gains breakdown.
@@ -39,6 +39,5 @@ Use `--category` to filter holdings to a single category before aggregating by g
39
39
|`--format`|`table`| Output format: `table`, `csv`, or `json`|
40
40
|`--download`|`false`| Download fresh data before displaying |
41
41
|`--realtime`|`false`| Fetch real-time stock quotes and FX rates from Yahoo Finance |
42
-
|`--securities-on-date`| (today) | Show securities positions as of this date (YYYYMMDD format, excludes cash and unpriced securities) |
43
42
|`--category`| (all) | Filter by category before aggregating (e.g., `EQUITY`, `FIXED_INCOME`) |
44
43
|`--base-currency`|`USD`| Base currency for value conversion (case-insensitive, e.g., `USD`, `CAD`) |
Shows combined positions across all accounts. Positions are computed via FIFO tax lot matching with weighted average cost basis, then verified against IBKR-reported positions.
@@ -68,21 +68,6 @@ Use `--realtime` to fetch current market prices and FX rates from Yahoo Finance
68
68
69
69
For international symbols where IBKR and Yahoo Finance symbols differ (e.g., Canadian equities), add symbol mappings to the `realtime_symbols` section of your config. Real-time data is not cached — each run fetches fresh prices from Yahoo Finance.
70
70
71
-
## Historical portfolio reconstruction
72
-
73
-
Use `--securities-on-date YYYYMMDD` to reconstruct securities positions as of a historical date. Positions are rebuilt by replaying all trades up to that date using FIFO lot computation. Historical close prices are fetched from Yahoo Finance; FX rates use cached historical data.
74
-
75
-
The flag is mutually exclusive with `--realtime` and `--download`.
76
-
77
-
**Limitations:**
78
-
79
-
-**Cash excluded.** Trade history does not track deposits, withdrawals, or FX conversions. Cash positions (USD, CAD) and config cash adjustments are omitted from the output.
80
-
-**Bonds and other Yahoo-unresolvable securities excluded.** Yahoo Finance does not quote individual corporate bonds. Any security that Yahoo cannot price is excluded with a warning. No config fallback prices or cost basis estimates are used — every price in the output is a real historical market price.
81
-
-**International tickers require `realtime_symbols` mapping.** Tickers where IBKR and Yahoo symbols differ (e.g., HK-listed stocks) must be mapped in `ibctl.yaml` under `realtime_symbols`, the same mapping used by `--realtime`.
82
-
-**Addition prices are not date-aware.** Config additions (like HOUSE) that Yahoo cannot price are excluded. The config `last_price` is a static current estimate, not a historical value.
83
-
-**FX rates depend on cache.** Historical FX rates come from the frankfurter.dev/Bank of Canada cache. Dates before the first `ibctl download` may have missing rates.
84
-
-**Position verification suppressed.** The normal FIFO-vs-IBKR verification is not meaningful for reconstructed positions and may produce spurious warnings.
85
-
86
71
## Flags
87
72
88
73
| Flag | Default | Description |
@@ -91,5 +76,4 @@ The flag is mutually exclusive with `--realtime` and `--download`.
91
76
|`--format`|`table`| Output format: `table`, `csv`, or `json`|
92
77
|`--download`|`false`| Download fresh data before displaying |
93
78
|`--realtime`|`false`| Fetch real-time stock quotes and FX rates from Yahoo Finance |
94
-
|`--securities-on-date`| (today) | Show securities positions as of this date (YYYYMMDD format, excludes cash and unpriced securities) |
95
79
|`--base-currency`|`USD`| Base currency for value conversion (case-insensitive, e.g., `USD`, `CAD`) |
Copy file name to clipboardExpand all lines: book/src/commands/lot-list.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# lot list
2
2
3
3
```
4
-
ibctl lot list [--dir DIR] [--format FORMAT] [--download] [--realtime] [--securities-on-date DATE] [--symbol SYMBOL] [--base-currency CURRENCY]
4
+
ibctl lot list [--dir DIR] [--format FORMAT] [--download] [--realtime] [--symbol SYMBOL] [--base-currency CURRENCY]
5
5
```
6
6
7
7
Lists individual FIFO tax lots. Unlike `holding list`, which aggregates positions by symbol, this command shows each tax lot separately with its own open date, quantity, and cost basis.
@@ -52,6 +52,5 @@ The table output includes a totals row summing P&L {BASE}, STCG {BASE}, LTCG {BA
52
52
|`--format`|`table`| Output format: `table`, `csv`, or `json`|
53
53
|`--download`|`false`| Download fresh data before displaying |
54
54
|`--realtime`|`false`| Fetch real-time stock quotes and FX rates from Yahoo Finance |
55
-
|`--securities-on-date`| (today) | Show securities positions as of this date (YYYYMMDD format, excludes cash and unpriced securities) |
56
55
|`--symbol`| (all) | Filter to a specific symbol. Omit to show all symbols. |
57
56
|`--base-currency`|`USD`| Base currency for value conversion (case-insensitive, e.g., `USD`, `CAD`) |
Copy file name to clipboardExpand all lines: book/src/commands/overview.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,5 +59,4 @@ Several flags appear across multiple commands:
59
59
|`--dir`|`.`| The ibctl directory containing `ibctl.yaml`|
60
60
|`--download`|`false`| Download fresh data before displaying results |
61
61
|`--format`|`table`| Output format: `table`, `csv`, or `json`|
62
-
|`--securities-on-date`| (today) | Show securities positions as of this date (YYYYMMDD format, excludes cash and unpriced securities). Available on holding commands (`holding list`, `lot list`, `category list`, `geo list`, `possible-sale list`, `value`). Mutually exclusive with `--realtime` and `--download`. |
63
62
|`--base-currency`|`USD`| Base currency for value/P&L conversion (case-insensitive, e.g., `USD`, `CAD`). Available on all holding and transaction commands. |
0 commit comments