Periodic Extended Internal Rate of Return (XIRR)

Wrapper for the Extended Internal Rate of Return (XIRR) component


This version allows for the XIRR component to be supplied with a table of portfolio transactions, containing periodic valuations. The Valuation information is separated out and used as the basis for providing XIRR returns at each of the valuation dates.

@takbb Brian Bates 12/12/2023


The following is copied from the XIRR component that this wraps:
(https://hub.knime.com/-/spaces/-/~mTw4LaivNmdlrLk3/current-state/)

DISCLAIMER: To adopt this library the component downloads on its first execution in a new workflow from search.maven.org. Make sure your KNIME has internet access when executing the component in a new workflow for the first time.

DISCLAIMER: The adopted library does not perform well with multiple negative cash flows.

The component calculates the internal rate of return for a schedule of cash flows that is not necessarily periodic. It starts from a series of cash flows and their date to approximate the value of XIRR for each of the defined portfolio/project that the cash flows are grouped by. Make sure that you have at least one column for the dates of the transactions in a date format, one column for the cash flows (for each portfolio/project the first transaction needs to be negative), and one column for the project/portfolio by which you want the transactions to be grouped by.

Microsoft Excel Docs: support.microsoft.com/en-us/office/xirr-function-de1242ec-6477-445b-b11b-a303ad9adc9d

Google Sheets Docs: support.google.com/docs/answer/3093266

Options

Perform Extra Search:
This setting adds additional search when no value was found with the base search. Adding extra iterations might provide better results, but it also requires more computation time.
Portfolio Grouping Columns
Specify one or more column which rogether provide a unique name/ID of the project or portfolio corresponding to each transaction. If you have only one project to analyze, make sure you still provide a value column with a project name.
Date of of Transactions:
Specify a Zoned/Local Date (Time) column which represents the date of each transaction.
Value of Transactions:
Specify a Double or Integer column which represents a series of cash flows that corresponds to a schedule of payments in dates. Make sure that for each project, there is at least one negative and one positive value.
Transaction Type:
Specify a String column that indicates the type of transaction. Those rows that are used to indicate the valuation dates and values should have a transaction type of "Valuation". %%00010%%00010All other transactions will be considered to represent "cost" amounts. Valuations will be separated out such that the set of non-valuation transactions up to and including each Valuation date will be used to derive the XIRR at the Valuation.
Guess Value:
Specify a double value which represents the starting “guess value” for the XIRR over all projects. The value is used as a starting point to cycle through the calculation until it arrives at the result.

Input Ports

Icon
No description for this port available.

Output Ports

Icon
No description for this port available.

Nodes

Extensions

Links