Files
OpenBB/openbb_terminal/reports
James Maslek a3419d0844 deps update (#3800) (#3801)
* deps update (#3800)

* statsmodels

* delete very old files

* Lots o tests

* etf tests

* OPtions tests

* Pin psutil for m1 build

* stocks rewrite expected

* pyproject comments + portfolio test

* disc/ark view test

* dcf coe

* dcf view

* stocks screener

* dcf model

* etf controller

* insider views

* dps view

* ca menu

* stocks/qa

* skip bt tests

* get rid of pymongo from .spec

* One last skip

* Allow finviz to be 1.4.4

* oops forgot to get rid of my debugging

* remove bson from spec because no more pymongo

* make requirments txt and requirements be finviz 1 4 4

* try hidden import

* Gray sweatpants

* Add files to spec

* Revert "Allow finviz to be 1.4.4"

This reverts commit 9581993b4f.

* Revert "Pin psutil for m1 build"

This reverts commit 07fa2d1be0.

* Revert "statsmodels"

This reverts commit 2e431b5d34.

* Revert "deps update (#3800)"

This reverts commit d9fb8a288c.

* Re-solve dependencies

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-12-20 23:45:29 +01:00
..
2022-12-20 23:45:29 +01:00

REPORTS

This menu has a different concept from remaining menus. It has 2 main goals:

  • Generate a personalised report.
  • Allow the user to write notes on that notebook (report), as if it was his personal investment diary.

How to create your own personal report

  1. Copy one of the existing notebook reports as a template, e.g. dark_pool.ipynb.

  2. Rename that notebook with a name that reflects what you want this notebook to contain, even including your name.

  3. One of the notebook cells will have a parameters tag, that's where the papermill will parametrize the notebook. Thus, your variables should be declared there.

  4. Remove the function calls that you don't care about to build your own report.

  5. When building your template notebook, there are 2 type of possible things you can do:

    • Create a markdown cell, where you can add a title or a description. E.g.
    ## Analyst Targets
    
    • Create a code cell, where you should both: import a module, and call a function to display a chart or print data. E.g.
    from openbb_terminal.stocks.due_diligence import finviz_view
    
    finviz_view.analyst(ticker=ticker, export='')
    

Note: In order to find the name of the function you want, you should either crawl through the codebase (and ask help in discord) or look into our readthedocs (#TODO).

How to run the report

  1. In config_terminal you may need to change your PAPERMILL_NOTEBOOK_REPORT_PORT from 8888. If the notebook generation fails, it is likely that the port selected is not the correct one.

  2. Start the terminal with python terminal.py

  3. Select reports context, and choose from the options selected - which are derived from the .ipynb jupyter notebook files on the reports folder.

  4. This should prompt you with a filled notebook with name: <date time>_<report name>_<args>.ipynb. E.g. 20210725_193517_dark_pool_AMC.ipynb

  5. Due to the last cell of the notebook, the report is saved by default as .html. E.g. 20210725_193517_dark_pool_AMC.html

    folder = "notebooks/reports/"
    extension = ".ipynb"
    !jupyter nbconvert {report_name} --to html --no-input
    
  6. You can now write your own personal notes on the notebook. By doing:

    • Click on the notebook cell that you are interested in writing your notes
    • On the toolbar click on "+" to add a new cell
    • On the toolbar click on "Cell" -> "Cell Type" -> "Markdown"
    • You're now ready to write your own notes
  7. Once you're happy with your report, you can either:

    • Re-run the last cell, potentially changing output from .html:
    • Or, on the toolbar click on "File" -> "Download as" -> Select your preferred option (e.g. HTML)