Code Monkey home page Code Monkey logo

Comments (8)

Marigold avatar Marigold commented on September 25, 2024

Hey @shayandavoodii, to run CORN (or any other algorithm) you just call e.g.

S = ... dataframe with RAW prices
algo = CORN(window=10, rho=0.1)
result = algo.run(S)

print(result.summary())
result.plot(weights=False, assets=False, ucrp=True, logy=True);

the other methods like init_step or step_slow are internal (should have been prefixed with underscore) and you don't need need to know about them. What is interesting for analysis are methods and attributes of result from the code above.

from universal-portfolios.

shayandavoodii avatar shayandavoodii commented on September 25, 2024

Hey @shayandavoodii, to run CORN (or any other algorithm) you just call e.g.

S = ... dataframe with RAW prices
algo = CORN(window=10, rho=0.1)
result = algo.run(S)

print(result.summary())
result.plot(weights=False, assets=False, ucrp=True, logy=True);

the other methods like init_step or step_slow are internal (should have been prefixed with underscore) and you don't need need to know about them. What is interesting for analysis are methods and attributes of result from the code above.

Hi! Thanks for your response! I have two other questions:

  1. Does this approach work for the other algorithms?
    example:
algo=[ANOTHER_ALGORITHM]()
result=algo.run()
  1. Does the result variable in your code sample also contains optimal weights?

from universal-portfolios.

Marigold avatar Marigold commented on September 25, 2024
  1. Yes, all algorithms have consistent interface and it's enough to call run() on them
  2. I guess you mean algorithm weights by "optimal weights"? If yes, then it can be accessed as result.B. Check out result.__dict__ for a dictionary of available attributes

from universal-portfolios.

shayandavoodii avatar shayandavoodii commented on September 25, 2024
  1. Yes, all algorithms have consistent interface and it's enough to call run() on them
  2. I guess you mean algorithm weights by "optimal weights"? If yes, then it can be accessed as result.B. Check out result.__dict__ for a dictionary of available attributes

I meant the weight of each stock which should be the output of the algorithm. But, what are the result.weights then?

from universal-portfolios.

Marigold avatar Marigold commented on September 25, 2024

result.weights is a method that is run internally and returns B. What you're looking for is result.B.

algo.weights is a method that is run internally and returns B. It is then saved as result.B attribute which is identical to result.weights.

from universal-portfolios.

shayandavoodii avatar shayandavoodii commented on September 25, 2024

result.weights is a method that is run internally and returns B. What you're looking for is result.B.

Thanks!
Just in case of curiosity, Do you mean, result.weights returns the same thing as result.B?

from universal-portfolios.

Marigold avatar Marigold commented on September 25, 2024

Yes, it's exactly the same. Sorry, I thought you were talking about algo.weights(...) method. Updated my previous answer.

from universal-portfolios.

shayandavoodii avatar shayandavoodii commented on September 25, 2024

Yes, it's exactly the same. Sorry, I thought you were talking about algo.weights(...) method. Updated my previous answer.

Thanks a lot!

from universal-portfolios.

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.