GithubHelp home page GithubHelp logo

Create function/method which combines investment-funnel modules to future-test for different life cycle and risk appetite/preference about investment-funnel HOT 3 CLOSED

VanekPetr avatar VanekPetr commented on June 24, 2024
Create function/method which combines investment-funnel modules to future-test for different life cycle and risk appetite/preference

from investment-funnel.

Comments (3)

mikkelbechmogensen avatar mikkelbechmogensen commented on June 24, 2024 1

The 5 steps has been done. Right now, however, the future testing is done on 1000 scenarios, which is done in a cvxpy enviroment, that seeks to minimize costs of rebalancing. The issue with this approach is that it takes approximately 10 minutes to run the future analysis test for each risk level, which is very time consuming, and doesn't work well, if it has to be implemented in the investment funnel page for dynamic use.

from investment-funnel.

tschm avatar tschm commented on June 24, 2024

I don't understand why you would need 10 years of data to estimate a covariance matrix. This should be done in a moving manner, e.g. as discussed in the paper by Johanson, Boyd et al. Please don't estimate a matrix over an interval and then use it to run portfolio optimization over the same interval. Your results will look amazing but you have a forward looking bias

from investment-funnel.

VanekPetr avatar VanekPetr commented on June 24, 2024

Hi @tschm, thank you for your comment. You are right, that estimating a matrix over an interval and then use it to run portfolio optimization over the same interval would be bad idea. The idea here is different, I just described it poorly.

The idea is to estimate covariance matrix based on 10 years of data (but should be configurable over frontend) and then just test sensitivity of the (optimal, for different levels of risk targets) portfolios to different possible future returns.

The second step (more advanced and not in the scope yet) then would be to estimate the covariance matrix on the test dataset and backtest it for different (out of the train sample) dataset. For "lifecycle" backtest, where we would like to change risk levels over time periods, we would wish to have much more data and therefore also task "Solve our survivorship bias" is in the backlog.

Let's discuss it @mikkelbechmogensen.

from investment-funnel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.