Commit Graph

116 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
Theodore Aptekarev
a616764601 Update jupyter dependencies to mitigate the vulnerabilities (#997)
* Update jupyter dependencies to mitigate the vulnerabilities

* Upgrade JupyterLab version

* Upgrade jupyterlab dependencies

* Update the package.json with the up-to-date jupyterlab version

* Explicitly resolve the latest version of the json-schema module

* Upgrade extension lock files

* Upgrade playwright and it's dependencies
2021-12-01 22:25:55 +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
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
ff8f75f5f5 Add bandit to dev requirements (#904) 2021-11-03 09:18:48 +03: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
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
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
DidierRLopes
d4cf431e02 Fix financedatabase import (#871)
* Fix financedatabase import

* poetry with financedatabase

* update financedatabase in lockfile

* update poetry

* fix test
2021-10-28 01:55:18 +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
ecbff24cd2 Updating poetry to 1.1.11 (#789)
* Update python dependencies

* Downgrade jsonschema version

* Updating poetry to 1.1.11
2021-10-05 18:13:08 -07: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
colin99d
4d2239d386 Refactored Tests (#640)
* Added basic openpyxl

* Add screener checks to confirm that preset is correct (#580)

* refactor screener finviz_view to view and model

* Add checks for defined screener preset

* Feature/fraud indicators (#581)

* Fixed glitch reading AlphaVantage API key

* Bug fix

* Added mscore metric

* Refactored code, added error handling

* Updated reademe.md

* Figuring out pre-commit

* Figuring out pre-commit

* Improved formating and code

* Added Zscore

* Formatted code

Co-authored-by: Colin Delahunty <colindelahunty@Colins-Air.attlocal.net>

* Reformated tests and started writing FA

* Removed excel analytics

* Figured out testing with input and print

* Figured out testing with input and print

* Added av_view tests

* Added av_view tests

* Added main_helper tests

* Fixed Poetry

* Added main helper tests

* Expanded pycoingecko_view

* Fixed ETF model

* Added coinpaprika view tests

* Added optimizer view tests

* Updated tests

Co-authored-by: Colin Delahunty <colindelahunty@Colins-Air.attlocal.net>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Colin Delahunty <colindelahunty@Colins-MacBook-Air.local>
2021-08-07 00:34:25 +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
jmaslek
1092cefa82 Add market overview - type data form WSJ (#548)
* Add wsj scraping functions.  Add top movers from wsj to etf menu

* Add wsj functions to econ menu (seems like a rational place)

* update readme files

* etf readme

* Refactor for bossman :)

* OS path cleanup

* revert changes

* poetry lock still had charset 2.0.3
2021-07-16 14:40:39 -04: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
jp
099ca7cd1d Coingecko feature branch (#521)
* Added pycoingecko_helpers.py and pycoingecko_model.py, added some methods that scrapes the data from coingecko and some helper methods that handles mostly dataframe operations.

* More methods added for CoinGecko

* Started adding views, and adding them into controller.

* Add stablecoins, yield_farms, recently_added views

* Add more views for Coingecko, + add them to Controller

* remove retry from dependencies, and gecko model

* Add more views for coingecko, seperate coin menu from overview menu, fix imports

* Add some description for coin methods

* Add TA into seperate coin gecko controller

* fix mock path in coingecko tests

* Now if ta is sperate mode, and load doesn't return data frame, change test in the way that ta with Coin object returns data frame

* add seperate ta controller for crypto

* update readme

* small fix in REDME

* Add screenshots for coingecko menu

* fix ta menu for gecko

* Update Gecko Coin menu readme, add screenshots

* Update README with screenshots pt2

* Finish updating readme with screenshots

* remove not needed print statement from gecko view

* Typo

* fix ta crypto controller

* refactor some of views, remove url, add additional argparser params, remove columns which in most cases doesn't bring any value to end user

* Add additional parameters like sortby, descend, top, links for most of coingecko methods. Improve description of commands

* Split cmc, and binance into seperate menus

* add readme for cmc and binance

* Update REDME

* Update README pt2

* Fix news issue with sorting by rank, fix issue with period time parameter for top gainers and top losers view (changed from 1d - 24h)

* Add check for binance menu. If coin is not loaded, do not fail with candles and books commands. Remove new line in candle view. Update print help in crypto menu
2021-07-04 07:03:32 +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
c0248a5b08 Add Stockgrid io source (#496)
* poetry add new mypy and merge recent main updates

* add shortdata command and dark short interest data

* reformat black

* Update Readme

* Add stockgrid dd command and update readme info

* Update Roadmao
2021-06-12 13:26:58 -04:00