Commit Graph

102 Commits

Author SHA1 Message Date
jmaslek
e437f29ae4 Mutual funds (#1106)
* Add mutual fund menu based primarily on investpy (investment.com)

* Add start/end date for loading + some bug fixes

* hugo

* poetry add investpy rich dnspython  then poetry update

* fix reset (need to load country) and dim yfinance commands when country not US

* Fix search and add better error handling

* Catch yfinance commands when country not US.  Improve loading to change country if symbol found but not in matching country.  Changed main menu printing.

* Fix poetry / reqs merge conflict

* review comments

* Once again update poetry

* Clean up poetry to match conda (numpy was culprit)

* cvxpy down

* Think i goofed on generating reqs full

* update poetry metadata

* cleanup after review 2

* move space

* another deps try

* bump pygmnets in yaml

* try something different

* rename console -> t_console (terminal_console) for mypy
2022-01-01 14:16:32 -05:00
Colin Delahunty
caa2c88c12 Stock Dashboard (#1018)
* Added notebook

* Massive refactoring

* Significant enhancements

* Error handling, variable renaming, refacotring

* Reformatted widgets

* Made rolling adjustable

* Fixed date bug

* Began transition to plotly

* Expanding dict

* Expanded analysis, formatted with black

* Added

* Replaced matplotlib with Plotly

* Slight updates

* Enhanced ability to format dashboard

* Fixed duplicate graph errors

* Fixed duplicate graph errors

* Found out which renderers work where

* removed unused code

* Final enhancements

* Updated requirements

* Added conda dependencies

* removing unneeded changes

* removing unneeded changes

* removing unneeded changes

* Updated git ignore

* Added notes

* removed unused code, added comma warning

* Allowed multi select

* Updated dependencies

* Simplified dependencies

* Fixed dependencies again...

* Added line endings

* Improved widgets and title

* Dider improvements

* Removed DS Store (sorry Nintendo)

* Updated requirements files

* Updated yml

* Updated yml

* Updated yaml

* Fixing change

* Allow for lab or Voila

* Updated toml

* Updated requirements.txt

* Update conda-3-8-env.yaml

* Update conda-3-8-env-full.yaml

* Updated

* A tragic forgetting

* Dependency reset (not ready to merge

* removed high entropy

* Another dependency update

* Added in my dependencies
2021-12-30 12:22:21 +00:00
Theodore Aptekarev
37d87c358d Bump dependencies and resolve dependabot warnings (#1092)
* Add pre-commit to dev dependencies

* Bump requirements

* Update charset-normalizer in conda env files

* Bump poetry and numpy in conda environments

* Explicitly add scipy to solve windows test error

* Revert "Explicitly add scipy to solve windows test error"

This reverts commit bb6b4d89bfb0c9d682930199e075af02a7885296.

* Explicitly add a windows supported version of numpy

* Explicitly specify numpy version in the lock file

* Specify supported numpy version in build files
2021-12-29 11:08:38 +00:00
Didier Rodrigues Lopes
60b39ca05f Sector and Industry Analysis Improvement (#1019)
* Improve menu with 2 more commands

* prepare for code improvement

* Improve sia filtering parameters

* fix minor bug

* implement cpis command

* consider excluding/including exchanges in stats

* Add cpcs command to sia

* add cpci command to sector and industry analysis

* optimize implementation of financials on sia

* Add a lot of additional commands to sia controller

* bump financedatabase to 1.0.2

* remove yield and dividend because always null and add forward PE

* Add sector and industry defaults to avoid a 8min loading for new users

* Improve controller for better user experience

* catch exception with exchanges on financedatabase

* from sam to sama

* allow to export all without limitation of companies

* add auto complete for industry sector and country

* Make chart title not leave the screen space by adding line breaks

* improve title further

* add auto complete for metrics

* fix small bug

* Fix pylint C0201 error that was blocking the pre-commit hook

* Fix ndarray division bug

* Add logic to handle missing values

* Split looooooooong company names to 2 lines in the chart

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2021-12-06 23:27:41 +00:00
Theodore Aptekarev
2db1a40c60 Update requirements-txt files to reflect latest dependency versions (#1011)
* Update requirements-txt files to reflect latest dependency versions

* Add latest version patches

* Upgrade charset-normalizer
2021-12-04 14:10:29 +03:00
Artem Veremey
8234ecbe27 Add optional discord dependencies and generate requirements.txt for DiscordBot (#984)
* Add mypy types to dev requirements

* Add optional discord dependencies and generate requirements.txt for DiscordBot
2021-11-24 21:52:58 -08:00
Artem Veremey
38c124373d Add mypy types to dev requirements (#983) 2021-11-24 21:16:44 -08:00
Chavithra
e8329bba72 Updating requirements : to prepare for tests improvements (#976)
* Updating : poetry dependencies

* Updating : requirements files

* Update : poetry fix coverage version

* Updating : poetry.lock

* Updating : workflows  "pip requirements"

* Update : fix pylint false positive (conda 3.8only)
2021-11-24 22:20:24 +01:00
Artem Veremey
5c65f7306d Major dependency updates including deprecation of python 3.7 (#970)
* Major dependency updates including deprecation of python 3.7

* Disabling unsubscriptable-object

* Updating pylint settings

* Updating conda env YAML
2021-11-23 08:25:46 -08:00
jmaslek
4c96535eeb Add short data by exchange (#940)
* Add short volume by exchange

* Add hugo

* Add pymongo to reqs

* Add error catching

Co-authored-by: James Maslek <james@Jamess-MacBook-Pro.local>
Co-authored-by: James Maslek <james@macbook-pro.myfiosgateway.com>
2021-11-17 14:57:00 +00:00
Theodore Aptekarev
f260f93cba Force usage of tensorflow 2.6.1 because 2.6.2 not available on windows (#935)
* Force usage of tensorflow 2.6.1 because 2.6.2 not available on windows

* Update pip requirements files
2021-11-10 12:01:29 +03:00
Theodore Aptekarev
f661f5ff31 Add analytics beacons to hugo and readthedocs (#917)
* Test integrating cloudflare analytics with readthedocs

* Harmonize tensorflow and keras versions

* Move beacon to the layout footer

* Add write permissions when opening the layout to patch beacon token

* Add cloudflare beacon to hugo website

* Test token injection during website build action

* WIP fix actions syntax

* Pass beacon token as env variable

* WIP debug variables in runner env

* Fix quotes for sed to work

* Clean up dev artifacts from gh-pages action
2021-11-09 21:48:26 +03:00
Artem Veremey
068f22d53b Fix spelling and add missing thepassiveinvestor (#925)
* Fix spelling and add missing thepassiveinvestor

* Updating strike and tickers
2021-11-06 09:17:32 -07:00
Artem Veremey
2b53b30380 Jupyter updates (#907)
* Jupyter updates

* Updating cvxpy and degiro-connector
2021-11-03 23:06:33 -07:00
Artem Veremey
06c37698c6 Removing Alpaca support for now. Will add back when Alpaca updates dependencies. (#897)
* Removing Alpaca support for now. Will add back when Alpaca updates dependencies.

* Updating dependencies and locks

* Downgrading jupyter-server. No 1.11.2 on conda
2021-11-01 18:38:41 -07:00
Theodore Aptekarev
2ea3006c07 Update readthedocs creation pipeline #859 (#895)
* Add built documentation to gitignore

* Add documentation creation readme and requirements

* Change manually generated code docs to automatic

* Move myst_parser documentation requirement to pyproject.toml

* Update poetry and requirements files for the readthedocs build to work

* Add prediction extras to requirements-full
2021-11-01 21:11:29 +00:00
Jeroen Bouma
b374e84e05 Small tweaks to DCF and add thepassiveinvestor to requirements (#894)
* Add the Finance Database to the ETF menu

* Add the Finance Database to the stocks/discovery menu

* Update website with Finance Database info

* Update website sections of the Finance Database

* Update Finance Database functions to match layout of controller modules

* Merge website links

* Add missing thepassiveinvestor dependency

* Fix website bug

* Name change

* Update website with include exchanges parameter

* Add include_exchanges, make searching less case sensitive, change market cap to millions and minor improvements

* Change help message a bit

* Adjust industry name if needed due to adjustments in the financedatabase creation

* Make export path more robust which otherwise breaks when you rename the GST folder

* Make path selection robust to also work when you run the terminal from a different directory

* Make finding the right folder more elegant
2021-11-01 16:39:41 +00:00
Artem Veremey
3bcb6d0292 Update holidays and a few other packages (#889)
* Update holidays and a few other packages

* Add dependencies label
2021-10-31 13:22:32 -07:00
Colin Delahunty
0b6c52187b Portfolio Dataframe (#838) 2021-10-30 12:52:03 -04:00
Jeroen Bouma
9e5b86086e Add the Finance Database to ETFs and Stocks section (#869)
* Add the Finance Database to the ETF menu

* Add the Finance Database to the stocks/discovery menu

* Update website with Finance Database info

* Update website sections of the Finance Database

* Update Finance Database functions to match layout of controller modules

* Merge website links

* Add missing thepassiveinvestor dependency

* Fix website bug

* Name change

* Update website with include exchanges parameter

* Add include_exchanges, make searching less case sensitive, change market cap to millions and minor improvements

* Change help message a bit
2021-10-29 16:57:24 +01:00
jmaslek
780001d95c fix financedatabase in poetry (#876)
* fix financedatabase in poetry

* reqs

Co-authored-by: James Maslek <james@Jamess-MacBook-Pro.local>
2021-10-28 16:13:50 +01:00
Colin Delahunty
97eaf65400 Enhanced ratios (#867)
* Initial function

* Added sister_data

* Added ratios for other companies

* Didier and Artem updates

* Didier and Artem updates

* Fixed lock file

Co-authored-by: Colin Delahunty <colindelahunty@Colins-MacBook-Air.local>
Co-authored-by: Colin Delahunty <colindelahunty@Colins-Air.indiana.edu>
2021-10-27 23:22:24 +01:00
Jeroen Bouma
3401f157e5 Add ETF Report functionality from The Passive Investor (#857)
* Add ETF report functionalty from The Passive Investor

* Add documentation about ETF Report

* Add thepassiveinvestor to the requirements

* Correct accidental typo

* Rename report to pir

* Change report to pir and some minor changes

* Update thepassiveinvestor to 1.0.9
2021-10-25 22:35:54 +01:00
jmaslek
bd776157be Update dependencies to fix fa bug and pmdarima bug (#809) 2021-10-13 14:18:30 -04:00
Artem Veremey
0fd1fe75b4 Updating black and related packages (#790) 2021-10-06 09:03:34 -04:00
Artem Veremey
ba98078366 Update python dependencies (#786)
* Update python dependencies

* Downgrade jsonschema version
2021-10-05 09:49:09 -07:00
jmaslek
eafd65199b Major brokers refactor into separate menus (#754)
* Major brokers refactor into separate menus

* Add portfolio export folder

* Added some extra commands from pyally

* Update coinbase account command

* poetry update + pin openpyxl to 3.0.7

* requirement files

* Update hugo server

* Clean hugo files

* Update _index.md

Add output to _index

* Update _index.md

* Update _index.md

add output

* Update _index.md

add output

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Fix alpaca bug

* Fix hugo server + add to main menu
2021-09-23 13:50:38 -04:00
Artem Veremey
4dcda6f8e3 Updating dependencies to address pillow security (#740) 2021-09-10 19:20:05 -07:00
Artem Veremey
d44cd16614 Updating dependencies and cleaning up (#730)
* Updating dependencies and cleaning up

* Tensorflow 2.6.0 update
2021-09-01 14:55:17 -07:00
Artem Veremey
d7dc83ffe8 Downgrading pywin32 to version 300 because version 301 is broken (#689) 2021-08-21 16:57:18 +01:00
jmaslek
4b5c465c7d Refactor Common/TechnicalAnalysis (#679)
* Ignore nft of the day test

* Refactor common-ta-overlap

* Refactor trend indicators

* Refactor volatility

* Volume refactored

* Custom functions

* Final momentum refactor

* Update crypto menu with same format

* Address review, update poetry

* Fix export path
2021-08-18 18:56:43 -04:00
Artem Veremey
a0360a3ba2 Update pygments version to fix Windows installation (#678) 2021-08-17 12:31:56 -07:00
colin99d
b9b640898c Excel Discounted Cash Flow (#667) 2021-08-14 15:23:18 -04:00
colin99d
81337b4fdd Improved Testing Framework (#665)
* Reduced test time by 85% using vcrpy

* Refactored tests with decorator

* Added vcrpy dependencies

* Fixed issues with tests

* Fixed tests not running in local

Co-authored-by: Colin Delahunty <colindelahunty@Colins-Air.attlocal.net>
2021-08-13 12:05:32 -04:00
DidierRLopes
ec07686aed Refactor Economy menu (#652)
* Allow to quit when DEFAULT_CONTEXT selected

* terminal imports inside context selection

* rework economy/events command

* Refactor fear greed CNN command

* refactor WSJ in economy

* import fred

* refactor fred commands in economy

* refactor disc commands into economy

* refactor disc commands into economy 2

* fix fred test

* fix fred test

* av pylint

* update quit from direct context

* fix av lint

* Add industry simply wallst to economy

* improve events display

* improv after review

* add mypy types

* tabulate raw series

* remove simply wallst
2021-08-08 21:36:24 +01:00
Artem Veremey
7bfb066a23 Downgrading packaging per pip conflict with poetry (#578) 2021-07-29 21:33:45 -07:00
Artem Veremey
6ad25442ee Update poetry to 1.1.7 (#577)
* Updating poetry to 1.1.7 and updating dependencies

* Downgrading pywin32

* Updating snok/install-poetry version
2021-07-29 16:07:27 -07:00
Timothy Langer
06957c27f3 Add Sentiment Investor API integration (#562)
* Add SentimentInvestor core and social metrics

* Added `metrics` and `social` commands to behaviour analysis menu
* `metrics` fetches the core metrics for a given ticker from
  SentimentInvestor: AHI, RHI, SGP and sentiment score.
* `social` fetches the aggregated data from several social media
  networks, i.e. the number of mentions and the sentiment score
  associated with a specific ticker on each network

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Format code to conform to PEP8 style guide

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Use `argparse` to handle command-line arguments

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Use `multiprocessing` to reduce wait time

* Reduce `metrics` from 7.2s to 2.9s
* Reduce `social` from 13.5s to 5.6s
* NB: These times could be reduced further but that would require
  changes to `sentipy` itself

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add `historical` command to plot past week of data

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add three new commands to discovery mode

* `popular` for stocks with the highest AHI
* `emerging` for stocks with the highest RHI
* `positive` for stocks with the highest sentiment scores

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Aggregate data for past week when showing table

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Fix `-t` flag not working for `social` command

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Handle lacking or incomplete historical data

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Improve error handling for unsupported stocks

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Remove `positive` command

* Sorting SentimentInvestor data by sentiment does not provide much
  value, seeing as it simply returns stocks that have very few comments,
  giving it a sentiment score of 1.0, which is inaccurate and misleading

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Reformat code per project guidelines

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Remove `positive` from list of valid commands

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* `poetry add sentiment-investor`

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add SentimentInvestor to "About us" section

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Use `typing.List` annotation instead of `builtins.list`

* This is to support Python versions older than 3.9

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add `sentiment-investor` to `requirements-full.txt`

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add SentimentInvestor API key check

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Show correct program name in help message

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add README documentation for newly added commands

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Make changes as requested by code review

* Coloring applied to the whole row in `metrics` and `social` commands
* Convert `--ticker` flag into an optional positional argument for
  single-argument commands such as `metrics` and `social`
* Make help menus and command descriptions far more detailed
* Explain what AHI, RHI, SGP and sentiment score are and how they are
  calculated by Sentiment.
* `historical` command is now sorted with the most recent date first
* `historical` command output table can be sorted using new `--sort` and
  `--direction` arguments
* Non-fatal warning and error messages have been suppressed

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Wrap command methods in try-except

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Add SentimentInvestor API key help

* Add to the top-level README
* Adjust environment variable name to conform with standard set by
  others, start it with GT_

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>

* Comment `coinpaprika` erroring line

* https://github.com/GamestonkTerminal/GamestonkTerminal/pull/562#issuecomment-887842888

Signed-off-by: Timothy Langer <zeevox.dev@gmail.com>
2021-07-28 23:00:20 +01:00
Artem Veremey
64c8fd10fc Adding charset-normalizer explicit version setting and adding Sphinx to dev dependencies (#551) 2021-07-16 19:07:14 +01:00
Artem Veremey
206aa282b1 Updating dependencies to pull Sphinx 4.1.0 (#545) 2021-07-14 09:38:20 -07:00
jmaslek
a57be3b9cc Update view plot (#541) 2021-07-12 21:19:25 -04:00
DidierRLopes
07fc037441 Allow to load data from IEX (#536)
* Allow to load data from IEX

* update poetry lock

* add intraday iex data

* Allow to print raw dataframe loaded data

* Move export flag to view command

* fix -h for load function

* more refactoring

* Update README.md

* fix view help

* FTD command improved

* Update README.md

* forgot this one

* fix issue
2021-07-12 20:46:34 +01:00
DidierRLopes
d7bb5a9456 Add Fear And Greed Index command to Economy menu (#509)
* Add CNN feargreed to economy menu

* Update README.md

* Update README.md

* Update ROADMAP.md

* Update README.md
2021-06-23 20:56:10 +01:00
Artem Veremey
b49c4f09be Removing last mentions of fbprophet and updating dependencies (#508)
* Removing last mentions of fbprophet and updating dependencies

* Adding pytest.ini

* Updating requirements.txt
2021-06-19 13:41:33 -07:00
DidierRLopes
3c438fd84b Improve-UX (#506)
* Add about us to main commands

* Add git hash to terminal welcome message to pin gst version down

* missed pylint

* Update poetry with gitpython

* Update ROADMAP.md

* Add partnerships to about us
2021-06-18 19:35:47 +01:00
jmaslek
6a1be6bcb7 Changing NLP from Flair to VADER (#491) 2021-06-10 19:14:25 -04:00
Chavithra
7477699514 Feature/degiro integration (#489)
* degiro integration : set degiro-connector = 1.0.0

* apply migration script

* degiro integration : enable degiro menu

* degiro integration : enable degiro menu

* degiro integration : update requirements
2021-06-07 03:17:45 +02:00
Artem Veremey
030bec00e5 Dependency on black is fixed in pyproject.toml. Mirroring the setting in conda configs (#483) 2021-06-01 17:00:23 -07:00
Artem Veremey
fe443f1426 Pin jupyter_client==6.1.12 (#482) 2021-06-01 16:00:20 -07:00
Artem Veremey
c8ccc5cb46 Adding a check to skip duplicate builds on pull_request/push, updating dependencies and fixing file permissions 2021-05-31 21:22:09 -07:00