Commit Graph

51 Commits

Author SHA1 Message Date
Danglewood
5c4ac285b0 hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907)
* update income statement fields

* another polygon field

* ratio -> margin

* black

* explicit fmp fields

* add reported_currency for standardized intrinio

* # pylint: disable=unused-argument

* another unused-argument

* black..

* patch tests

* polygon income: eps -> basic earnings per share

* re-capture terminal portfolio menu test

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-03 16:21:10 +00:00
Colin Delahunty
1ca7fd9beb Improves the settings/userdata command, and upgrade ruff (#5359)
* Began the fax

* Bumped ruff

* Fixed a BUNCH of ruff errors

* Fixed a lot of ruff errors

* Simplify if statements

* Fixed black

* Updated some stuff

* Updated some stuff

* A lot more ruff fixes

* Added a fix

* Added a fix

* Fixed mypy

* Fixed some stuff

* Reverted one thing

* Small fix

* Small fix

* Small fix

* Added fix

* Added fix

* Update requirements
2023-08-22 20:11:48 +00:00
montezdesousa
d6bc45d046 add public routines flag (#5236)
* add public routines flag

* Spelling

* mypy

* Tests

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-07-21 16:26:31 +00:00
Igor Radovanovic
9a8bc77633 Re-record unit tests (#4656) 2023-04-01 18:19:30 +00:00
montezdesousa
475ebb5acd [WIP] Migrate user, feature flags and configurations to dataclass (#4309)
* implement user and change is guest

* replace User methods

* move remaining functions to user

* fix bug

* portfolio test

* fix tests

* fix tests

* uncomment skip

* ruff

* start credentials model implementation

* change deault structure

* refacto quandl

* change default struct and file names

* bug

* start using global user

* add comments

* move update flair

* change cfg references in keys model

* reddit & fmp

* refactore additional keys

* remaing config keys

* remove unsude imports and fix hub keys

* ruff

* fix line too long

* unblock unittests

* fix keys model tests

* remove os patch

* fix account controller tests

* fix account controller tests

* fix account model

* account fixed

* fix user tests

* User Model

* User Model

* User Model

* Move session folder

* User Model : grouping the models

* User Model : fix bugs

* Config Plot + bug fix

* User Model : Refactoring plots

* Feature flags

* Remove dup

* clean comments a fix some vars

* fix feature flags controller

* refactor obbff from settings controller

* refactor a bunch of obbff variables

* fix bug blocking terminal

* fix integration tests

* refactor controllers with obbff

* refactor remaining ffs

* remove comments

* log not started

* mispelled variable

* set current user on local model

* User Model : moving files + updating

* User Preferences

* User : Refactor is_guest function + bug fix

* User : refactor is_guest function

* Fix conftest.py

* remove lost obbffs

* typo on fileoverwrite

* Plot config: move variables and start plot dpi

* User : tests

* refactor plot dpi references

* remove plot dpi imports

* refactor some config terminal leftover

* /account/sync : fix bug

* remove configs reload

* start path refactor

* installation paths vs user paths

* remove cfg_plot

* Tests : User Refactoring

* user prefix only for preferences

* user prefix only for preferences

* move user paths

* remove comment

* update apply remote configs

* fix tz not updating

* save some copys

* small fix

* create interface for credentials and preferences

* wrong docstrings fixed

* ruff core

* fix some pref setting

* login is better

* ruff

* ruff

* remove Literal

* add small comment

* Tests : User Refactoring

* Credentials Model : add DataBento

* Fix helper_funcs

* Fixing code

* Tests : fixing

* User Model : freezing the models

* Fixed Income + Databento

* Tests : fixing keys

* black

* ruff

* Tests : user model

* Tests : user model

* Fix linting

* Fix linting

* Linting

* Linting

* Fixing code and tests

* Fix tests

* mypy

* SDK

* Clean ruff cache

* Fix syntax issue

* Update fred_view

* Black

* Linting

* Update code

* Update tests

* Linting

* Linting

* Tests

* Black

* Linting

* Linting

* Mock os.listdir to avoid looking for file that doesnt exist

* Mock options paths

* lint

* Tests : fix

* Code : update

* Tests + Linting

* Tests

* Ruff

* Code : update

* Tests

* Code : update

* Fix workflow

* Code : update

---------

Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: luqazino@gmail.com <luqazino@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-03-05 00:37:19 +01:00
Jeroen Bouma
d67a7da69d Delete everything related to the Sector and Industry Analysis menu (#4374)
* Get rid of sia

* Remove Portfolio Analysis menu that was not being used

* Remove Portfolio Analysis menu that was not being used

* That comment about GitHub datasets failing to load included sia, removed that

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-03-02 09:40:07 -05:00
James Maslek
9af4dc00e5 Hotfix for SIA menu (#4294)
* Make sia function

* Wording

* Fix attrib

* Linting

* port test

---------

Co-authored-by: jeroen <jer.bouma@gmail.com>
2023-02-20 12:20:06 -05:00
Jeroen Bouma
6421be3d8e Cleanse functionality from relying on yfinance (#4176)
* Cleanse PO from Yahoo Finance

* I removed equal but then moved it back in

* Update tests

* Get rid of sust command

* Get rid of quote since broken

* Added in export capability for quote

* Remove pir and summary, fix news and change source for weights

* Update stuff

* Add sources

* Update portfolio to not be dependend on Yahoo Finance

* Update all tests

* Update SDK

* Details

* Fix integration scripts

* I think I had to rewrite these

* Update more tests

* oopsie

* Fix 1

* Fix Sort

* and fix test

---------

Co-authored-by: james <jmaslek11@gmail.com>
2023-02-09 16:57:26 -05:00
Theodore Aptekarev
4b7cfd1699 Feature/dependency grooming (#4166)
* Updating poetry to v1.3.2 and dependencies

* Fixing conda pip syntax

* Updating poetry.lock

* Updating requirements

* Updating Windows10 build

* Windows10 build updates

* Windows10 build update

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating M1 MacOS Build

* Lets get M1 working

* Lets get M1 working

* Permission Issue on tests / New setup.nsis

* Merging the latest changes and picking integration tests to run

* Adding Mac requirements

* Fixing spelling

* Limiting integration tests on builds

* commenting out MessageBox prints on win installer

* update pinned lightgbm version

* fix tests

* ignore lightning logs for tests

* Unify dependencies across platforms

* Add pyinstaller to requirements full

* Remove pyupgrade from top level dependencies

* Use conda poetry on env file

* Pin lightgbm to be installed form conda-forge

* Pin latest supported version of lightgbm for intel macs

* Use same requirements across all platforms

* Pin tenacity to avoid pip resolution conflict due to finviz 1.4.5 package bug

* Remove torch dylibs from signing because 1.13 doesn't have those

* Identify pinned lightgbm as a part of the prediction extra

* rewrite ov cassettes (#4171)

* Update some tests

* Fix typo in Windows build test launch command

* Add torch dylibs back to from signing

This reverts commit 4a1aabb1fe.

* Fix torch dylibs path typo

* Package torch into the pyinstaller bundle

* Package torch dylibs as binaries

* Pin torch back to 11

This reverts commit 4a1aabb1fe.

* Refactor code signing paths

* Revert "Refactor code signing paths"

This reverts commit 1c948b3f50.

* Fix typos in yaml files

* Update test

* Update tests expected ouput

* Tests : fix cassettes

* Fix merge conflict

* Try to fix test_yahoo_finance_view.py fail in CI

* Tests : update cassette + txt

* Tests : cassette

* Build : update lightgbm version

* Tests : update cassette + txt

---------

Co-authored-by: Artem Veremey <artem@veremey.net>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Artem Veremey <aia@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: martinb-bb <105685594+martinb-bb@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
2023-02-09 22:35:26 +01:00
jeroen
a8c5e9bb7d Update tests 2023-02-06 22:00:43 +01:00
Colin Delahunty
ee34a1f278 Feature/add isort linter (#4114)
* Fixed isort

* Fixed issues

* FIxed linters

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-02-04 21:24:47 -05:00
Jeroen Bouma
49641bd9e8 Update the routine, portfolio and screener files and adjust the documentation (#4021)
* Remove undesired example files

* Update the documentation for routines

* Add in video

* Add some additional text

* Add in a routines example that can be activated with --example

* Remove default old examples

* Add portfolio example holdings file

* Add portfolio optimization example allocation file

* Add example files for the portfolio menus

* Remove code that unintentionaly prints the home menu on every routine

* Add home instead of /

* Remove requirement to add file if you have an example

* Ensure portfolio/po/params also talks about docs correctly

* Move all routine, portfolio and screener presets to the correct folder

* Remove presets since they are moved

* Remove presets since they are moved

* Same implementation as for file in po

* Adjust code so it works with new folder

* Adjust code so it works with new folder

* Adjust code a little since I changed folder

* Update screener documentation to include how to create a screener

* Remove old readme

* Update documentation to better reflect where to find the files

* Also update SDK notes

* Update exe with auto complete and more info

* Add images

* Update images and the last script

* Update text to make it more apparent that it has an example attached

* Add section for routine scripts on home menu

* Make call_about more robust and add record and stop

* Update the routine markdown with info about record/stop including video

* Update scripts

* Update portfolio report

* Update tests and report

* fix small load bug

* rewrite help test

* last fix was buggy

* example by default

* fix po integration test

* keep example on arg

* adapt integration test

* fix portfolio integration test

* fix more portfolio integration tests

* pa is not an option anymore

* portfolio report choices only holdings

* update integration test for portfolio report

* Small formatting improvements

* Remove sleep and fix inconsistent return

* Some spelling

* oops

* Fix tests

---------

Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
2023-01-30 13:22:32 -05:00
James Maslek
f4bd3964c6 Bumping yfinance to 0.2.9 and updating ruff (#4059) 2023-01-28 21:14:54 -05:00
James Maslek
e367530d44 Feature/excel sheets (#4023)
* bump

* Add sheet name to export for base load function

* Disable pylint due to known issue with pylint and pandas

* Add robust option if file already exists

* Abstract the sheet name argument into the export data helper

* Feature flag for auto overwrite

* add to featflag menu

* Add featflag to builds

* Remove safety check

* Fix test
2023-01-21 09:17:20 -05:00
Henrique Joaquim
306d0ec9bd Fix issue on loading stock (#3860)
* fix the issue for inexistant ytd dataframe

* fixing tests
2023-01-03 09:15:12 -05:00
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
Henrique Joaquim
cca3b31856 Fix dashboards (#3577)
* updating dependencies

* poetry export

* removed breakline from input

* Export dependencies

* Workflow

* Tests

* Workflow

* Dependencies update

* Linting

* Tests readme

* Dependencies update

* Workflow update

* Linting

* Workflow update

* Fix import

* Tests

* Linting

* Workflow update

* Re-solve the dependencies with poetry 1.1.13

* Workflow update

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-11-28 12:13:22 -05:00
DidierRLopes
0c89ee639b One text was missing from en.yml (#3568)
* smallest fix in the world

* fixes test

Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2022-11-26 11:41:10 +00:00
montezdesousa
7480c5efe0 Fix portfolio optimization SDK bugs (#3582)
* Small improvement to text handling

* fix plot and engine

* change msg

* fix po engine

* fix rc

* fix error

* opt pytest

* bug fix

Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-11-25 18:10:48 -05:00
montezdesousa
1d3e468cb9 Portfolio optimization - plot, show and load endpoints (#3443)
* minor changes

* add spaces to print help

* start _show refactoring

* partial refactor po

* fix ef view

* refactor plot

* remove some unused stuff

* refactor charts

* forgot this

* validate input type

* change func name

* rename some endpoints

* move statics

* turn some args to kwargs

* rewrite equal docstring

* equal docstring again

* add docstrings and move some statics

* fix maxsharpe terminal bug

* refactor show

* fix ef

* add integration tests

* fix category bug

* fill some examples

* add more examples and fix nco

* add more examples

* add one more example

* add examples file

* add examples to load

* add detail to example

* add integration tests

* fix doc

* fix teste

* black

* flake

* pylint

* Linting

* Fix return

* Trying to fix display_plot

* display_rc_chart -> display_rc

Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
2022-11-18 20:56:16 +00:00
montezdesousa
570e579067 Portfolio docstring example fixes and some bugs (#3431)
* fix doctest

* fix some type hints

* reorganize portfolio folders

* fix rfr

* fix vol bug

* fix more docs

* fix failing test

* doc typo

* numpy fix

* pydocstyle

* regenerate website docs
2022-11-18 19:30:55 +00:00
Sammac-dev
aed683f440 Feature/attribution toolkit (#3156)
* add attribution toolkit

* add attrib to test script for portfolio

* removes yahooquery dependency and early rounding

* Update _index.md

* update feature to include raw and type flags, graph always shows, table output optional, one type of output at a time

* Linting

* Update index

* Update index 2

* Update tests

* changes argument descriptions

* Small fix

* Formatting Black

Co-authored-by: S3908818 <S3908818@student.rmit.edu.au>
Co-authored-by: Louise Platts (S3908818) <88080425+s3908818@users.noreply.github.com>
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Louise Amy <74476622+louiseamy4@users.noreply.github.com>
Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
2022-11-11 10:28:05 +01:00
montezdesousa
f9086d6f38 Portfolio menu bug fixes (#3204)
* normalized way moving average is treated and prevent huge exception prompt

* changed descriptions on docs

* change to check_positive_float

* add integration tests

* fix linting

* add more integration tests

* add more integration tests

* fix linting

* add some po integration tests

* fix flag without prompt

* change orderbook to transactions

* limit warning to portfolio

* change print help

* format portfolio var

* reformat controller

* reformat es

* remove autocompletion

* change print help

* add percentage symbol to summary

* fix holp holv

* fix scripts

* update website doc

* add tqdm progress bars

* fix table spacing

* identify mret tables

* remove positive float from rfr

* flake8

* pylint

* fix reports

* revert to old menu help

* revert to old menu help

* Update test_portfolio.openbb

* quick change on empty lines

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-11-09 10:46:42 +00:00
Colin Delahunty
86f2e5622a Fix Various portfolio/po issues (#3286)
* Allow for loading without -f flag

* Massive upgrade to params file read/write

* Better handling empty dfs and none in prompt toolkit

* Fix tr typing and handle none error

* Added options

* Fixed tests

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-11-04 15:10:50 -04:00
Colin Delahunty
7f1b3db5ad Rename sdk to SDK (#2968)
* Rename sdk to SDK

* Added README

* Fixed test
2022-10-21 10:11:03 +02:00
hjoaquim
37c39c3191 Degiro fix (#2747)
* little refactor for degiro company news

* fixed message always showing even on login fail

* added if there is a session before trying to retrieve holds

* minor fix to reset the session id

* added a creds reset on logout

* added credentials verification

* adds a test for degiro key

* added 2fa to the test

* added verification for topnews

* fixing pylint

* fixing tests

* fixing import order

* fixing keys tests
2022-10-14 12:13:35 +02:00
Theodore Aptekarev
63cc084b98 Clean up old api files (#2752)
* Clean up old api files

* Remove unused imports

Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2022-10-10 00:27:55 +03:00
Colin Delahunty
83377868b2 PO_controller refactoring and tests (#2725)
* Adding tests

* Added tests to po_controller

* Refactored po controller

* fix custom_resets

* fix load

* add disable timeout

* pylint

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: montezdesousa <montezdesousa@gmail.com>
2022-10-09 17:25:57 +02:00
Colin Delahunty
87fac96b7c Improved sorting capabilities in the news function (#2682)
* Added sorting to news command

* Separate PRs

* Added fixes

* Added fixes

* Forgot to remove item from api

* Test fixes
2022-10-03 11:44:06 +02:00
Chavithra
72b0a9f1ee Next release : reports on steroids (#2349)
* fix gov tests

* refactor insider

* new virtual path extraction

* removed some symbol default params as they're considered critical

* little adjustments

* portfolio refactor

* merge API factory

* add helpers, stocks, crypto, forex

* minor forex changes

* include forex api paths

* add 2 missing forex funcs

* portfolio brokers refactor

* display help on api func call

* add econometrics virtual paths to api

* add api unit test

* fixed report for the new api

* minor portfolio refactorings

* added gdapps

* anchor_yield path

* some more crypto path fixes

* small change

* fixed wrong param

* minor fixes

* wip - inital commit for forex report

* add bw as a model, we'll get better solution afterwards

* added ema with dummy model as it adds great functionality to the report

* minor fixes

* wip - added functions to forex report

* add feedparser news path

* add new virtual paths to api

* adding commands to equity report

* revert to old paths, new ones were breaking

* Add in very basic ETF report

* Add candle chart to ETF report

* add etf load

* allow use of candle without data

* add raw to candle

* added forex report

* ongoing equity report

* equity report change

* fix some portfolio bugs and add docstrings

* include portfolio paths and coin class

* add crypto paths

* change event dates to str

* starting economy report

* window for limit

* equity report and refactor newsapi

* add helper to api

* update on economy report

* equity report

* update economy report

* refactor some docstrings

* change maturities helper

* refactor newsapi

* refactor futures command

* add some sauce to ycrv plot

* black

* update report

* refactor alphavantage

* refactor wsj

* update economy report

* ycrv tenor

* map avaiable_indices

* map economy helpers

* fix econdb docstring

* add plots on economy report

* minor fixes

* wip - crypto report

* update economy report

* added same default args as view

* added view to explicity use chart=True when suing the api

* adjustments - removed rich tables to use only df

* final version economy report

* change report name

* equity report for review

* linting

* add etf symbols endpoint

* incorporate feedback economy report

* fix reports launch by adding tag to economy report

* fix equity bug

* remove analyst name

* fix

* fix news

* make links hyperlinks for equity

* click links

* fixed arg name

* improved news

* small improves

* Fix light terminal stylesheet that would prevent using it in notebooks (#2473)

* improved report

* run reports in installer

* fix #2209

* minor ycrv refactoring

* refactor portfolio/holdv virtual path

* refactor benchmark trades

* fix events args

* adapt economy report to changes

* fix portfolio controller bug

* holdv refactor

* refactor perf command

* start portfolio report

* remove perf view

* refactor holp

* add textwrap3 to poetry (doesn't solve the error)

* fix equity after merge

* add some rolling commands

* fix equity after save button

* improved crypto report, plus minor fixes

* minor fixes on the reports

* add maxdd and distr

* refactor qa

* var command

* refactor qa expected shortfall

* add es command

* add es command

* fix qa percentile bug

* fix economy rendering

* refactor qa omega

* add om command

* add summary command

* add dret command

* add mret command

* add yret command

* add metrics

* add allocs to report

* remove bro and po commands, add later

* fixed some tests

* adjustments to crypto report

* Fix docstring for VSCode

Added a note about installing Jupyter PowerToys extension for optimal API usage in Jupyter VSCode, in the API_README.md.

* minor adjustment

* remove nft calendar model virtual paths

* Add in Portfolio report

* fix external axes portfolio view

* Update portfolio report with rolling plots

* Details for ETF and Portfolio

* fix economy report

* change analyst to openbb

* floppy

* fixed unmatched axis in reports

* Speed up tests

* fix file and load on po

* get_news output

* add some po paths

* Add integration tests for Reports menu

* refactor maxsharpe

* open maxsharpe

* open minrisk

* open maxutil

* open maxret

* Added fixes

* black

* remove useless views

* Fixed small issue

* refactor ef

* open ef api

* portfolio optimization report

* Added fixes

* unblock api loading

* add more endpoints

* update po report

* unblock api loading

* update po report

* expose herc

* expose property endpoint

* Added fixes

* More api fixes

* flake8

* Fixed some mypy

* news api model

* flake8

* mypy fix

* mypy

* black

* pylint

* fix tests

* markdown

* markdown

* Added fixes

* fix economy report

* merge

* fix economy report

* remove empty notebook

* expose nco

* remove jupyter notebook

* expose plot endpoint

* remove po report, just used for tests

* api v paths plot

* remove api_old

* change loading msg

Co-authored-by: montezdesousa <montezdesousa@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Om Gupta <guptagom@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: JerBouma <jer.bouma@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Om Gupta <85685255+soggyomelette@users.noreply.github.com>
Co-authored-by: Diogo Sousa <diogosousa@Diogos-MBP.lan>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: northern-64bit <75195383+northern-64bit@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: Minh Hoang <nminh.hoang1023@gmail.com>
2022-09-20 15:07:58 +01:00
Colin Delahunty
7494059fc1 Futures Dashboard (#2188)
* Added futures dashboard

* Got a semi working prototype

* Updated csv

* Improved UI and data gathering

* Got a working prototype

* Updated title

* Added description for futures

* Fixed tests
2022-08-02 08:46:18 -04:00
northern-64bit
9034055c6f Fix portfolio metrics (#2116)
* Fix portfolio metrics

* Linting

* Fix beta calculation and thus jensens alpha

* Fix tests

* Fix linting

* Final linting

* Linting

* Add in table with info about the metrics

* Spelling

* Fixes everything mentioned

* Linting

* Final linting

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-07-26 15:05:01 +02:00
montezdesousa
82b6411cab remove cumulative returns functionalities (#2103)
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-07-18 18:50:59 +03:00
montezdesousa
0f6852cf0c Fixes error message on portfolio menu help (#2088)
* fix message display on help

* rewrite expected on print help

* fix linting
2022-07-15 10:21:02 +01:00
ghbcode
51b6c6ca76 Corrected wording (#2080) 2022-07-13 09:15:12 -04:00
Chavithra
0dfd53f28a Portoflio : add pa export command for Degiro (#2065)
* Portoflio : add pa export command for Degiro

* Update controller + tests

* Tests

* Degiro : update pa export format

* Fixing Premium

* Black

* Show index
2022-07-12 19:38:34 +02:00
montezdesousa
dfd6d49056 Fixes portfolio_model.py tests (#2071)
* fix portfolio tests

* run black on test file

* remove unused argument
2022-07-12 11:41:59 +02:00
James Maslek
72e2e78ad2 Get rid of datetime and market open closes in default stock load (#2067)
* Get rid of datetime and market open closes in default stock load

* fix portfolio tests
2022-07-11 15:55:26 -04:00
montezdesousa
2c3e10a128 Overhaul Portfolio class (#2021)
* adds pythonic portfolio class

* start calculate trades refactoring

* adds comments to portfolio model - delete afterwards

* finish calculate trades refactoring

* restore original portfolio_model.py

* implement calculate_allocations

* adapt and test controller load, show, bench, alloc and perf

* add old code that was ok

* adapt controller

* adapt portfolio_view

* run black on pythonic_portfolio.py

* fix crypto bug

* change column name in example datasets

* substitute portfolio_model.py

* update show command

* push cumulative returns calculation to model

* fix last change in cumulative returns

* add comments on possibly unused code

* run black on changes

* bring metrics from helper to model

* push rolling metrics from view to model

* Details and linting

* Fix tests

* remove empty attribute and rename class

* fix view and controller rf

* change returns calculation method

* remove CASH from code

* remove cash from tickers_list

* run black on changes

* change function name

* adapt to PortfolioModel

* fix tests

* fix tests on help

* fix linting

* call metrics from PortfolioModel

* call drawdown from model

* fix some mypy issues

* fix remaining mypy issues

* fix test

* Fix linting

* Remove unused function

* Small fixes

* Remove old code and adjust summary to simply work

* Update the Excel since CASH is no longer a thing

* Fix tests

* Update the csvs

* Updates to usage of full_shares and more details

* Fix -t flag for perf

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-07-08 17:59:09 +02:00
DidierRLopes
0276784b35 Update defaults.ini (#2035)
* update defaults.ini

* fix arg

* Make arg more robust when you use ini file

* Fix tests

Co-authored-by: JerBouma <jer.bouma@gmail.com>
2022-07-07 13:39:29 +02:00
northern-64bit
89297fadc4 Adding new portfolio metrics (#2029)
* Making pa active + pa minor features

Makes pa actice and adds country to the df. The groupby command also gets percents of holding allocation. It also fixes warnings and prepares for a later pr that I'm currently working on.

* Fix linting

* black linter

* Fixes

Should fix everything

* Linting

* Making pa controller to base class standard

* Fix linting

* first metrics

* Adding calmar ratio

* Adding metrics to controller

* Linting

* Linting

* Test fixes

* Test fixes

* Adding tests

* Linting

* Restructuring added tests

* Linting

* Updating hugo website and fixing help

* Fixing commands

* Fix kelly criterion command

* Fixing tests

* Linting

* More linting

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-07-07 10:14:16 +02:00
montezdesousa
57b61d1b2a Display the help menu whenever users move to a different menu (#1968)
* switch auto print_help on exits

* display help when home called from home directory

* change in test to expect help cmd

* change in test to expect help cmd

* sets autoexithelp flag on conftest

* supress help string print on quit

* adapt tests to expect help

* adds help on 3 tests missing

* run black

* respect literal bool type

* second attemp to respect literal bool

Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
2022-06-22 13:45:48 +01:00
didierlopes.eth
707fd8f506 Terminal supporting controller with multiple languages (#1730)
* initial implementation of terminal supporting multiple languages

* improve quote command

* stocks controller with english translation pattern

* add language to settings

* update reqs to have python-i18n

* find languages automatically

* add to documentation how to support another language

* markdown

* fix no member issue

* fix test

* refactor code with translations

* translate for options and options/scr

* solve translation for all submenus within options controller

* fix stocks controller tests

* translate disc and th

* dps and sia menus

* scr and ins

* add gov controller

* fix tests for new controllers

* stocks/ba and stocks/ca menus

* add stocks/fa

* res controller

* stocks/dd

* stocks/bt

* qa and pred

* crypto and crypto/disc

* overview and onchain menus

* defi

* nft and tools

* crpyto/dd

* stocks and crypto TA

* finish crypto menu

* finish ETF controller

* finish economy menu

* forex

* alternative and mutual funds

* refactor source for translated version

* econometrics and portfolio and brokers

* portfolio

* fix tests

* finish language implementation

* refactor code for cmds

* improve keys

* refactor name funcs and add docstrings

* fix minor stuff

* fix tests

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Chavithra <chavithra@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-05-24 21:56:16 +01:00
didierlopes.eth
2cb229f35e Fix a bunch (#1852)
* spacing before and after rich tables

* fix menus to have standard UI

* fix tests

* fix tests

* fix tests
2022-05-21 16:57:39 +01:00
didierlopes.eth
0e3b62e143 Portfolio improvements (#1818)
* improve portfolio controller

* improve menu ux with disabling command when port or bench are not loaded

* allow custom reset with benchmark and portfolio loaded

* bench needs portfolio loaded to use start date, reflect that

* fix tests

* allow to see sum of a portfolio holdings

* add r-square to portfolio

* add skewness of data

* add kurtosis

* add stats

* allow perf command to select a period

* add yearly returns to cumulative return plot

* add individual rolling volatility

* add individual rolling sharpe

* add individual rolling sortino

* add individual rolling beta

* add period to cumulative returns

* clean up on aisle 5

* minor fix

* add volatility, sharpe ratio, sortino ratio and maximum drawdown ratio

* remove duplicated metrics

* check for portfolio and benchmark more modular

* fix tests

* remove sqrt(N) and N from sharpe and sortino calculations

* allow hold to export raw data from tail

* automatically add space before and after table

* add portfolio holdings in percentage

* fix relative dates to be more accurate

* refactor metric command to allow to select a metric of interest and check different periods

* fix cumulative return and implement new yearly return command

* add daily returns graph

* add distribution of daily returns command

* add monthly returns command

* add summary command with multiple metrics for a specific period

* calculate yearly (out)performance

* fix show

* rbeta with benchmark of 1

* improve mret style

* improve title of distribution

* improve volatility

* minor improvement in doc

* improve mret and yret

* tests

* update portfolio content on hugo docs

* fix ycrv hugo docs

* 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

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* fix issue

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
2022-05-19 14:26:37 +01:00
Jeroen Bouma
7e37ed0444 Add comparisons between the portfolio and benchmark including an orderbook sheet (#1773)
* Add in Portfolio Holdings for Attribution functionality

* Update a whole bunch

* Small bugfix and linting

* Remove print statements

* Update Excel to match Yahoo Finance categorization

* Make sure portfolio and benchmark are aligned

* Add in benchmarks, robustness and bugfixing

* Improve the spreadsheet

* Add in allocation model and improve portfolio features

* Bugfixing and more equities in the template

* Bugfix

* Bugfixing

* Add tests and website stuff

* WORK

* Clean up the code

* Add back in terminal changes

* Missing an enter imo

* Documentation fix

* Small fix

* Change code because tests cant handle formatting

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-05-14 12:42:01 +01:00
didierlopes.eth
30d657b50d Improves PO controller from UX perspective (#1760)
* improve portfolio optimization UX

* fix custom_reset and styling color and rmv add/rmv commands

* fix tests

* allow -h in load and file
2022-05-04 10:53:19 +01:00
Riskfolio
34bc290dde New portfolio optimization menu (#1642)
* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* Update _index.md

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* configure portfolio optimization parameters ini

* minor improvement

* Revert "New-Portfolio-Optimization-Menu"

This reverts commit b4b7169cfb.

* Add in Excel functionality and improve the capabilities

* Add Excel load function

* Tidying up the functions

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* Re-add my code

* Some spacing and details

* Add folder structure for portfolio

* Update terminal file loading

* New-Portfolio-Optimization-Menu

* Make it possible to move from params to po with loaded file

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* Making the connection between the parameters file and the functions

* Add in allocation and new params files

* Improve params default settings

* New-Portfolio-Optimization-Menu

* Update Portfolios and Params sheets

* Update sheets

* Update command to load in correct sheet

* Adjust function to only read specific columns

* Update portfolio

* Small correction

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* Patched up show error

* Add Equity portfolio

* Make functions more robust

* New-Portfolio-Optimization-Menu

* New-Portfolio-Optimization-Menu

* Add in Params documentation

* Fixing Linting

* Add in Requirements and Poetry Updates

* Update website

* linting

* Update tests

* Minor fix

* remove unneccesary READMEs

* Remove expected variable type

* Improve documentation

* Clean up the code

* Refractoring

* Adjust names to make it OS friendly

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: jmaslek <jmaslek11@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
2022-05-03 13:54:01 +02:00
Marcelo Litovsky
f0911fa75f Tests for Coinbase broker functions (#1696)
* Added check for valid Coinbase product, including delisted checking (such as XRP)

* Added check for valid Coinbase product, including delisted checking (such as XRP)

* Pytests for coinbase broker functions

* Pytests for coinbase broker functions

* Pytests for coinbase broker functions

* Update test_coinbase_model.py

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2022-04-16 21:07:39 -04:00
northern-64bit
fd2839c913 Adding everything from Risk Metrics PR based on new main branch (#1666) 2022-04-15 11:38:37 +01:00