Files
OpenBB/openbb_terminal/reports
martinb-bb 7fd72d9ee1 Forecasting Menu [Work in Progress] (#1933)
* Gave forecasting memory

* Fixed scripts, refactored

* FIxed poetry lock

* edge case check for forecast target

* Improved combine and load functionality

* Cleaned up translations

* Fixed issue with covariates

* Fixed issue checking covariates

* Another covariates check fix

* Ignored regr and linregr warnings

* Fixed covariate issues

* switched from forecasting to forecast

* Finished transition to forecast

* Can add entire dataset with one command

* Improved combine description

* Removed naming covariates

* Created new installation

* typo

* Make plot show dates if available

* Added better handling or users without the menu

* Removed unused file

* Fix

* Better handling for nontraditional datasets

* Fixed black and pylint

* Fixed tests

* Added darts install to main tests

* Working on darts with CI

* Added back test file

* Made large tables print better

* naive baseline

* typo

* Finished naive

* no dollar on prediction

* fixed positive MAPE bug

* quick refactoring

* Fixed two different args for same thing

* added extra patience

* linreg mape fix

* info fix

* Refactored API, bumped to Darts 0.21.0

* Added fixes

* Increased verbosity for wrong column

* Updated dependencies

* Hid warnings

* Fixed importing

* Fixed tests

* Fixed ugly seasonal plotting

* Fixed forecast line color

* Switched chart output to blue

* Simplified lambda_price_prediction_color

* fixed residuals

* Chnage

* Removed darts from CI per Chavi

* Added fixes to tests

* Added knnfix

* Fixed issue where n!= o

* Added changes

* Added changes

* Imrpoved forecast dash

* Added Theo notebook

* Added enhancements to dash

* Added notebook

* Added fix for jupyter lab

* Added debug stuff

* Change

* Updated docs

* Fixed formatting

* Fixed formatting

* Removed prints

* Filtered some info

* Added button to run model

* Improved api

* Added secret feautr (no peeking Martin)

* Cleaned code

* Fixed tests

* Added test fixes

* Added fixes

* Fixes

* FIxes for pres

* Remove bad tests

* Removed knn

* Fixed issues with removing mc

* doc for conda

* Added forecast improvements

* Added streamlit support

* Fixed issues

* fix expo with streamlit due to quantile()

* fixed performance issues with streamlit for now..

* clean up historical forecast with new trainer

* quick fix for regression trainer params

* Added fixes

* quick fix for other fix for regression trainer params

* table formatting for timestamp

* potential fix for inf in feature engineered datasets

* Basic working in new format

* dw

* Trying

* Fixed issues

* Improved graphing

* fixing trainer for LR and formatting

* doge and linting

* page break

* automatic cleaning of datasets

* automatic cleaning of datasets- fix

* Fixed forecast dates

* Made dashboard prettier

* Added fixes

* Added fixes

* Added options

* Fixed error

* remove caching

* adding in spinner

* Added vairable n_predict in streamlit

* Added mypy fix

* renaming and range change

* new index for n predict

* check positive float for window size

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* renaming

* reorg files

* Update _index.md

* hidden which command for versions

* Update _index.md

* Update _index.md

* which: ns parser

* hugo for: which

* hugo for: forecasting fix

* formatting black

* update stock controller test

* Lay groundwork for better residual plotting

* improved delete to allow for periods in title

* improved automatic cleaning of inf

* Added new API

* Added new API

* Added new API

* formatting for black

* Updated our testing CI

* Reverted changes

* Added forecast docs

* Fixed mypy issues

* Fixes tests

* Did some refactoring, added a report

* new api in streamlit

* Added integrated tests

* Update _index.md

* improved loading in custom dataset

* menu spacing

* installer fixes

* Added docs fixes

* Adding comments to test if commit working

* Fixed report

* naming conventions

* formatting

* removing unused var

* Made last report imporvements

* Update README.md

* Added fix

* Switched to warning

* Added fixes

* Added fixes

* Added fixes

* Added fixes

* Update economy av view test

* Remove forgotten print statement

* Update depencencies

* Added verbosity to pytest

* Added fixes

* Fixed pylint

* Fixed actions checkout

* Added fixes

Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Simmons <simmonsj330@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-10-08 14:54:43 +02:00
..
2022-09-23 14:30:23 +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)