Skip to content

Black-Litterman investor views implementation #28

@GongJr0

Description

@GongJr0

Investor Views in Return Expectation

The Black-Litterman model uses predefined views of investors and the confidence they have in the views as inputs on return expectation. The views can be absolute or relative to other components of the investor portfolio or the market conditions. Handling an automatic generation of views without user input proves difficult with these conditions.

Absolute Views

Example of an absolute view can be:

"AAPL" will experience an increase of 5% within the investment period. (Confidence = 66%)

where a component of the predetermined portfolio is expected to have an increase in valuation with a confidence of 66%. (or $\frac{2}{3}$) The view in example is a direct altercation to the expected return predictions returned by the model, unless the view agrees with the model's prediction. However we can also use the fact that these views are clashing with model output to our advantage.

Absolute views on return using RandomForestRegressor

The current implementation of ReturnPred is designed exactly to be compatible with the above explained format of the absolute views. An individualised return expectation per each component of a portfolio is produced by the methodology:

  1. Retrieve price data for all portfolio components with one call to yf.downoad.
  2. Split the returned DataFrame to individual time series of each component.
  3. Introduced lagged variables to reformat the time series data to generate basic features without making API calls to retrieve financial information.
  4. Train a separate RandomForestRegressor for each component using basic hyperparameter tuning to reduce runtime.
  5. Use MSE to validate the success of the training session and use the model if the results are within the error threshold (fallback to EWMA if not)
  6. Run price predictions on the test set and calculate the MAPE (mean absolute percentage error) to get an absolute figure of model deviation.
  7. Use 4(1-MAPE)$ as the confidence value. If MAPE represents how 'off' the model is on average, $(1-MAPE)$ is a reasonable metric to use as a definition of how confident (on average) we should be on a models output.
  8. Pair the predicted returns and confidence to output a full return 'view' for each component.

In the current Markowitz implementation, the return expectations are directly calculated by the ReturnPred module, meaning the expected return will be identical to the investor views if no change is made in the Black-Litterman implementation. Instead, using fully historical return expectations with EWMA and implementing the future expectations of the model as views will likely be the better approach.

Relative Views

A relative view is created when the investor expects a change in one component relative to some element that is present in the optimisation process. (e.g. another portfolio component, or the market) Which in turn means that a clear direction of the changes expected by the investor is not outlined. Further explanation can be done using the example:

"AAPL" will experience a 5% larger increase compared to "MSFT" (Confidence = 50%)

In this example where the investor believes AAPL will be more successful compared to the "benchmark" of MSFT, there is no information being added in regards to the actual movements of the components. For example, if MSFT completed the period with an increase of -10% ($decrease = -increase$) and the investor view was accurate. We can expect apple to decrease by 5%. As defined by the investor, the gap in "increase" is 5% but as you can see, from an absolute value point of view, this fact renders useless the moment we identify both components will have negative returns.

Forming Relative Views

Using the relations between the absolute views generated for each component is an easy approach to attaining relative views. However, this approach will clearly have no added value to the Black-Litterman model as the information used to form these views will already be redundant. Relative views regarding the market can be formed by an analysis of the market returns but again, the market returns can be represented as absolute views once the returns are quantified within the model.

Knowing most of what can be generated without user input is absolute, an alternative approach is to not create any relative views and test the model performance. Black-Litterman only expects the investors to have some sort of views; not necessarily views of specific nature. Using this fact, a functional model can be developed and tested with a possibility of further consideration on implementing relative views if the model performance is waker than expected.

Metadata

Metadata

Assignees

Labels

featureNew feature being developed

Projects

Status

Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions