Better pre-commit (#1185)

* Added jupyter black?

* Improved debug_mode

* Updated requirements.txt

* Added black[jupyter] to linting

* Reformatted jupyter notebooks

* Fixed black

* Updated requirements
This commit is contained in:
Colin Delahunty
2022-01-14 22:35:10 -05:00
committed by GitHub
parent 82747072c5
commit 5d96f2959e
12 changed files with 485 additions and 237 deletions

View File

@@ -26,7 +26,7 @@ jobs:
key: ${{ runner.os }}-linting
restore-keys: ${{ runner.os }}-linting
- run: pip install bandit black codespell flake8 mypy pyupgrade safety pylint==2.12.2
- run: pip install bandit black codespell flake8 mypy pyupgrade safety pylint==2.12.2 black[jupyter]
- run: pip install types-pytz types-requests types-termcolor types-tabulate types-PyYAML types-python-dateutil
- run: bandit -x ./tests -r . || true
- run: black --check .

View File

@@ -7,26 +7,29 @@ from typing import List
def search(lst: List[str], search_item: str):
for _, val in enumerate(lst):
for i, val in enumerate(lst):
if search_item in val:
return val
return i, val
return None
def main():
path = os.path.join(
os.path.dirname(os.path.dirname(__file__)),
"gamestonk_terminal",
"config_terminal.py",
)
base = os.path.dirname(os.path.dirname(__file__))
path = os.path.join(base, "gamestonk_terminal", "config_terminal.py")
with open(path) as file:
lines = file.readlines()
lines = [line.rstrip() for line in lines]
debug_line = search(lines, "DEBUG_MODE")
debug_line, debug_val = search(lines, "DEBUG_MODE")
if debug_line == "DEBUG_MODE = False":
if debug_val == "DEBUG_MODE = False":
sys.exit(0)
lines[debug_line] = "DEBUG_MODE = False"
with open(path, "w") as file:
for element in lines:
file.write(element + "\n")
sys.exit(1)

View File

@@ -7,41 +7,41 @@ appdirs==1.4.4; python_full_version >= "3.6.2" and python_version >= "3.6"
appnope==0.1.2; platform_system == "Darwin" and python_version >= "3.7" and sys_platform == "darwin"
argon2-cffi-bindings==21.2.0; python_version >= "3.6"
argon2-cffi==21.3.0; python_version >= "3.6"
astroid==2.9.0; python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.6.2"
astroid==2.9.2; python_full_version >= "3.6.2"
async-timeout==3.0.1; python_full_version >= "3.5.3" and python_version >= "3.6"
atomicwrites==1.4.0; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.4.0"
attrs==21.2.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_full_version >= "3.5.0" and python_version >= "3.6" and python_version < "4.0"
attrs==21.4.0; python_full_version >= "3.6.1" and python_version >= "3.6" and python_version < "4.0"
babel==2.9.1; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6")
backcall==0.2.0; python_version >= "3.7"
backports.entry-points-selectable==1.1.1; python_version >= "2.7" and python_full_version >= "3.6.1"
backports.zoneinfo==0.2.1; python_version < "3.9" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
bandit==1.7.1; python_version >= "3.5"
beartype==0.7.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
beautifulsoup4==4.10.0; python_full_version > "3.0.0" and python_version >= "3.5"
beautifulsoup4==4.10.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.5"
black==21.7b0; python_full_version >= "3.6.2"
bleach==4.1.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
bleach==4.1.0; python_version >= "3.7"
bs4==0.0.1
bt==0.2.9; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
certifi==2021.10.8; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
cffi==1.15.0; implementation_name == "pypy" and python_version >= "3.6"
certifi==2021.10.8; python_full_version >= "3.7.1" and python_version >= "3.6" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0") and (python_version >= "3" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3")
cffi==1.15.0; implementation_name == "pypy" and python_version >= "3.7" and python_full_version >= "3.6.1"
cfgv==3.3.1; python_full_version >= "3.6.1"
chardet==4.0.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
charset-normalizer==2.0.9; python_full_version >= "3.6.0" and python_version >= "3"
charset-normalizer==2.0.10; python_full_version >= "3.7.1" and python_version >= "3.6" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0") and (python_version >= "3" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3")
click==8.0.3; python_full_version >= "3.6.2" and python_version >= "3.6"
codespell==2.1.0; python_version >= "3.5"
colorama==0.4.4; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
commonmark==0.9.1; python_full_version >= "3.6.2" and python_full_version < "4.0.0"
convertdate==2.3.2; python_version >= "3.6"
coverage==6.2; python_version >= "3.6"
cryptography==36.0.1; python_version >= "3.6"
cssselect==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
cvxpy==1.1.17; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
cycler==0.11.0; python_version >= "3.7"
cvxpy==1.1.18; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
cycler==0.11.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
cython==0.29.26; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and sys_platform == "darwin" and python_version >= "3.6"
dateparser==1.1.0; python_version >= "3.5"
datetime==4.3; python_version >= "3.5"
debugpy==1.5.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
decorator==5.1.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
defusedxml==0.7.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
decorator==5.1.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
degiro-connector==2.0.13; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
deprecation==2.1.0
detecta==0.0.5; python_version >= "3.6"
@@ -49,10 +49,12 @@ discord-components==2.1.2; python_version >= "3.6"
discord.py==1.7.3; python_full_version >= "3.5.3" and python_version >= "3.6"
discord==1.7.3
distlib==0.3.4; python_full_version >= "3.6.1"
dnspython==2.1.0; python_version >= "3.6"
docutils==0.16; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
ecos==2.0.8; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
entrypoints==0.3; python_full_version >= "3.6.1" and python_version >= "3.6"
ecos==2.0.10; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
entrypoints==0.3; python_full_version >= "3.6.1" and python_version >= "3.7"
et-xmlfile==1.1.0; python_version >= "3.6"
exchange-calendars==3.5; python_version >= "3.7" and python_full_version >= "3.7.0"
fear-greed-index==0.1.3; python_full_version >= "3.6.8" and python_full_version < "4.0.0"
ffn==0.3.6; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
filelock==3.4.2; python_version >= "3.7" and python_full_version >= "3.6.1"
@@ -60,80 +62,83 @@ financedatabase==1.0.2
finviz==1.4.3
finvizfinance==0.9.10; python_version >= "3.5"
flake8==3.9.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
fonttools==4.28.5; python_version >= "3.7"
fonttools==4.28.5; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
fred==3.1
fredapi==0.4.3
frozendict==2.1.3; python_version >= "3.6"
fundamentalanalysis==0.2.12
future==0.18.2; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
gitdb==4.0.9; python_version >= "3.7"
gitpython==3.1.24; python_version >= "3.7"
gitpython==3.1.25; python_version >= "3.7"
grpcio==1.43.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.6"
hijri-converter==2.2.2; python_version >= "3.6"
holidays==0.11.3.1; python_version >= "3.6"
identify==2.4.0; python_full_version >= "3.6.1"
idna==3.3; python_full_version >= "3.6.2" and python_version >= "3.6"
identify==2.4.2; python_full_version >= "3.6.1"
idna==3.3; python_full_version >= "3.7.1" and python_version >= "3.6" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0") and (python_version >= "3" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3")
imagesize==1.3.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6"
inflection==0.5.1; python_version >= "3.6"
iniconfig==1.1.1; python_version >= "3.6"
ipykernel==6.6.0; python_version >= "3.7"
ipympl==0.8.4
ipython-genutils==0.2.0; python_version >= "3.6"
ipython==7.30.1; python_version >= "3.7"
investpy==1.0.7; python_version >= "3"
ipykernel==6.6.1; python_version >= "3.7"
ipympl==0.8.5
ipython-genutils==0.2.0; python_full_version >= "3.6.1" and python_version >= "3.6"
ipython==7.31.0; python_version >= "3.7"
ipywidgets==7.6.5
iso8601==0.1.16
isort==5.10.1; python_full_version >= "3.6.2" and python_version < "4.0"
jedi==0.18.1; python_version >= "3.7"
jinja2==3.0.3; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
joblib==1.1.0; python_version >= "3.7"
jinja2==3.0.3; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
joblib==1.1.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
json5==0.9.6; python_version >= "3.6"
jsonschema==3.2.0
jupyter-client==7.1.0; python_full_version >= "3.6.1" and python_version >= "3.7"
jupyter-console==6.4.0; python_version >= "3.6"
jupyter-core==4.9.1; python_full_version >= "3.6.1" and python_version >= "3.6"
jupyter-core==4.9.1; python_full_version >= "3.6.1" and python_version >= "3.7"
jupyter-server==1.13.1; python_version >= "3.6"
jupyter==1.0.0
jupyterlab-server==2.10.1; python_version >= "3.6"
jupyterlab-pygments==0.1.2; python_version >= "3.7"
jupyterlab-server==2.10.3; python_version >= "3.6"
jupyterlab-widgets==1.0.2; python_version >= "3.6"
jupyterlab==3.2.5; python_version >= "3.6"
kiwisolver==1.3.2; python_version >= "3.7"
korean-lunar-calendar==0.2.1; python_version >= "3.6"
lazy-object-proxy==1.7.1; python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.6.2"
lxml==4.7.1; python_full_version >= "3.6.8" and python_version >= "3.5" and python_full_version < "4.0.0" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
jupyterlab==3.2.6; python_version >= "3.6"
kiwisolver==1.3.2; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
korean-lunar-calendar==0.2.1; python_version >= "3.7" and python_full_version >= "3.7.0"
lazy-object-proxy==1.7.1; python_version >= "3.6" and python_full_version >= "3.6.2"
lxml==4.7.1; python_full_version >= "3.6.8" and python_version >= "3.5" and python_full_version < "4.0.0" and (python_version >= "3" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
m2r2==0.2.8; python_full_version >= "3.6.8" and python_full_version < "4.0.0"
markdown-it-py==1.1.0; python_version >= "3.6" and python_version < "4.0"
markupsafe==2.0.1; python_version >= "3.6"
markupsafe==2.0.1; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
matplotlib-inline==0.1.3; python_version >= "3.7"
matplotlib==3.5.1; python_version >= "3.7"
mccabe==0.6.1; python_full_version >= "3.6.2"
mdit-py-plugins==0.2.8; python_version >= "3.6" and python_version < "4.0"
mistune==2.0.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0"
mistune==0.8.4; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
mock==4.0.3; python_version >= "3.6"
more-itertools==8.12.0; python_version >= "3.6"
mplfinance==0.12.8b6
multidict==5.2.0; python_version >= "3.6"
multitasking==0.0.10
mypy-extensions==0.4.3; python_full_version >= "3.6.2" and python_version >= "3.6"
mypy==0.901; python_version >= "3.5"
mypy==0.930; python_version >= "3.6"
myst-parser==0.15.2; python_version >= "3.6"
nbclassic==0.3.4; python_version >= "3.6"
nbclient==0.5.9; python_full_version >= "3.6.1" and python_version >= "3.6"
nbconvert==5.5.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
nbformat==5.1.3; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5")
nest-asyncio==1.5.4; python_full_version >= "3.6.1" and python_version >= "3.6"
nbclient==0.5.9; python_full_version >= "3.6.1" and python_version >= "3.7"
nbconvert==6.4.0; python_version >= "3.7"
nbformat==5.1.3; python_full_version >= "3.6.1" and python_version >= "3.7"
nest-asyncio==1.5.4; python_full_version >= "3.6.1" and python_version >= "3.7"
nodeenv==1.6.0; python_full_version >= "3.6.1"
notebook==6.4.6; python_version >= "3.6"
numpy==1.21.2
numpy==1.21.2; python_version >= "3.7" and python_version < "3.11"
oandapyv20==0.6.3
oauthlib==3.1.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
onetimepass==1.0.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
openpyxl==3.0.9; python_version >= "3.6"
osqp==0.6.2.post0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
packaging==21.3; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
osqp==0.6.2.post5; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
packaging==21.3; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
pandas-datareader==0.10.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pandas-market-calendars==3.2; python_full_version >= "3.7.0"
pandas-ta==0.3.14b
pandas==1.3.5; python_full_version >= "3.7.1"
pandocfilters==1.5.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pandocfilters==1.5.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
papermill==2.3.3; python_version >= "3.6"
parso==0.8.3; python_version >= "3.7"
pathspec==0.9.0; python_full_version >= "3.6.2" and python_version >= "3.6"
@@ -154,22 +159,23 @@ prompt-toolkit==3.0.24; python_full_version >= "3.6.2"
protobuf==3.19.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.5"
psaw==0.0.12; python_version >= "3"
ptyprocess==0.7.0; os_name != "nt" and python_version >= "3.7" and sys_platform != "win32"
py==1.11.0; python_version >= "3.6" and python_full_version < "3.0.0" and implementation_name == "pypy" or python_full_version >= "3.5.0" and python_version >= "3.6" and implementation_name == "pypy"
py==1.11.0; python_full_version >= "3.6.1" and python_version >= "3.7" and implementation_name == "pypy"
pyally==1.1.2
pycodestyle==2.7.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pycoingecko==2.2.0
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
pycparser==2.21; implementation_name == "pypy" and python_version >= "3.7" and python_full_version >= "3.6.1"
pyex==0.5.0
pyflakes==2.3.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pygments==2.10.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5")
pygments==2.11.2; python_version >= "3.5"
pyimgur==0.6.0
pylint==2.12.2; python_full_version >= "3.6.2"
pyluach==1.3.0; python_version >= "3.7" and python_full_version >= "3.7.0"
pymeeus==0.5.11; python_version >= "3.6"
pymongo==3.11.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0")
pyobjc-core==8.1; python_version >= "3.6" and sys_platform == "darwin"
pyobjc-framework-cocoa==8.1; python_version >= "3.6" and sys_platform == "darwin"
pyotp==2.6.0; python_version >= "3"
pyparsing==3.0.6; python_version >= "3.7"
pyparsing==3.0.6; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
pyportfolioopt==1.5.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0"
pyprind==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
pyrsistent==0.18.0; python_version >= "3.6"
@@ -178,36 +184,37 @@ pytest-recording==0.12.0; python_version >= "3.5"
pytest==6.2.5; python_version >= "3.6"
python-binance==1.0.15
python-coinmarketcap==0.2
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5")
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.7" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5")
python-dotenv==0.19.2; python_version >= "3.5"
pytrends==4.7.3
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pytz==2021.3; python_full_version >= "3.7.1" and python_version >= "3.6" and python_full_version < "4.0.0"
pyupgrade==2.29.1; python_full_version >= "3.6.1"
pywin32==303; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.6"
pytz==2021.3; python_full_version >= "3.7.1" and python_version >= "3.7" and python_full_version < "4.0.0" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6")
pyupgrade==2.31.0; python_full_version >= "3.6.1"
pywin32==303; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.7" and python_full_version >= "3.6.1"
pywinpty==1.1.6; os_name == "nt" and python_version >= "3.6"
pyyaml==6.0; python_version >= "3.6" and python_full_version >= "3.6.1"
pyzmq==22.3.0; python_full_version >= "3.6.1" and python_version >= "3.6"
pyzmq==22.3.0; python_full_version >= "3.6.1" and python_version >= "3.7"
qdldl==0.1.5.post0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
qtconsole==5.2.2; python_version >= "3.6"
qtpy==2.0.0; python_version >= "3.6"
quandl==3.7.0; python_version >= "3.6"
rapidfuzz==1.9.1; python_version >= "2.7"
regex==2021.11.10; python_full_version >= "3.6.2" and python_version >= "3.6"
reportlab==3.6.3; python_version >= "3.6" and python_version < "4"
reportlab==3.6.5; python_version >= "3.6" and python_version < "4"
requests-oauthlib==1.3.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
requests==2.26.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
requests==2.27.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
rich==10.16.2; python_full_version >= "3.6.2" and python_full_version < "4.0.0"
robin-stocks==2.1.0; python_version >= "3"
scikit-learn==1.0.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
scipy==1.7.3; python_version >= "3.7" and python_version < "3.11" and python_full_version >= "3.6.1" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0")
scipy==1.7.3; python_version >= "3.7" and python_version < "3.11" and python_full_version >= "3.6.1" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7")
screeninfo==0.6.7
scs==3.0.0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
scs==3.0.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
seaborn==0.11.2; python_version >= "3.6"
selenium==3.141.0
send2trash==1.8.0; python_version >= "3.6"
sentiment-investor==2.1.0; python_version >= "3.8" and python_version < "4.0"
setuptools-scm==6.3.2; python_version >= "3.7"
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.6" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
setuptools-scm==6.3.2; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.7" and python_full_version < "4.0.0" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7")
smmap==5.0.0; python_version >= "3.7"
sniffio==1.2.0; python_full_version >= "3.6.2" and python_version >= "3.6"
snowballstemmer==2.2.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6"
@@ -229,40 +236,44 @@ temporal-cache==0.1.4
tenacity==8.0.1; python_version >= "3.6"
termcolor==1.1.0
terminado==0.12.1; python_version >= "3.6"
testpath==0.5.0; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5"
testpath==0.5.0; python_version >= "3.7"
textwrap3==0.9.2; python_version >= "3.6"
thepassiveinvestor==1.0.10
threadpoolctl==3.0.0; python_version >= "3.7"
threadpoolctl==3.0.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
tokenize-rt==4.2.1; python_full_version >= "3.6.1"
toml==0.10.2; python_full_version >= "3.6.2" and python_version >= "3.6" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6")
toml==0.10.2; python_full_version >= "3.6.2" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6")
tomli==1.2.3; python_full_version >= "3.6.2" and python_version >= "3.7"
toolz==0.11.2; python_version >= "3.7" and python_full_version >= "3.7.0"
tornado==6.1; python_full_version >= "3.6.1" and python_version >= "3.7"
tqdm==4.62.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
tradingview-ta==3.2.10; python_version >= "3.6"
traitlets==5.1.1; python_full_version >= "3.6.1" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7")
types-python-dateutil==2.8.4
types-pytz==2021.3.3
types-pyyaml==6.0.1
types-requests==2.26.2
types-tabulate==0.8.3
types-termcolor==1.1.2
typing-extensions==4.0.1; python_version < "3.10" and python_version >= "3.7" and python_full_version >= "3.6.2"
traitlets==5.1.1; python_full_version >= "3.6.1" and python_version >= "3.7"
types-python-dateutil==2.8.5
types-pytz==2021.3.4
types-pyyaml==6.0.3
types-requests==2.27.3
types-tabulate==0.8.5
types-termcolor==1.1.3
types-urllib3==1.26.1
typing-extensions==4.0.1; python_version < "3.10" and python_full_version >= "3.6.2" and python_version >= "3.6"
tzdata==2021.5; platform_system == "Windows" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
tzlocal==4.1; python_version >= "3.6"
ujson==5.1.0; python_version >= "3.7"
unidecode==1.3.2; python_version >= "3.5"
update-checker==0.18.0; python_version >= "3.6" and python_version < "4.0"
urllib3==1.26.7; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
urllib3==1.26.8; python_full_version >= "3.7.1" and python_version < "4" and python_version >= "3.6" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0") and (python_version >= "3" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3")
user-agent==0.1.10
vadersentiment==3.3.2
valinvest==0.0.2; python_version >= "3.6"
vcrpy==4.1.1; python_version >= "3.5"
virtualenv==20.10.0; python_full_version >= "3.6.1"
wcwidth==0.2.5; python_version >= "3.6" and python_full_version >= "3.6.2"
webencodings==0.5.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
virtualenv==20.13.0; python_full_version >= "3.6.1"
voila==0.3.0; python_version >= "3.6"
wcwidth==0.2.5; python_version >= "3.7" and python_full_version >= "3.6.2"
webencodings==0.5.1; python_version >= "3.7"
websocket-client==1.2.3; python_version >= "3.8" and python_version < "4.0"
websockets==9.1; python_full_version >= "3.6.1"
websockets==9.1; python_full_version >= "3.6.1" and python_version >= "3.6"
widgetsnbextension==3.5.2
wrapt==1.13.3; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5") and python_version >= "3.6" and python_version < "4.0"
wrapt==1.13.3; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5")
yarl==1.7.2; python_version >= "3.6"
yfinance==0.1.67
yfinance==0.1.68
zope.interface==5.4.0; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5"

View File

@@ -15,6 +15,7 @@
"import pandas as pd\n",
"import numpy as np\n",
"from IPython.display import display\n",
"\n",
"last_tickers = \"\"\n",
"last_interval = \"id\""
]
@@ -109,11 +110,15 @@
"\n",
"w_auto = widgets.Layout(width=\"auto\")\n",
"data_opts = [\"Open\", \"Close\", \"High\", \"Low\", \"Volume\"]\n",
"data_widget = widgets.Dropdown(options=data_opts, value=\"Close\", layout=w_auto, description=\"Data\")\n",
"data_widget = widgets.Dropdown(\n",
" options=data_opts, value=\"Close\", layout=w_auto, description=\"Data\"\n",
")\n",
"\n",
"base_date = (datetime.today() - timedelta(days=365)).date()\n",
"start_widget = widgets.DatePicker(value=base_date, layout=w_auto, description=\"Start\")\n",
"end_widget = widgets.DatePicker(value=datetime.today().date(), layout=w_auto, description=\"End\")\n",
"end_widget = widgets.DatePicker(\n",
" value=datetime.today().date(), layout=w_auto, description=\"End\"\n",
")\n",
"interval_opts = [\n",
" \"1m\",\n",
" \"2m\",\n",
@@ -129,7 +134,9 @@
" \"1mo\",\n",
" \"3mo\",\n",
"]\n",
"interval_widget = widgets.Dropdown(options=interval_opts, value=\"1d\", layout=w_auto, description=\"Interval\")\n",
"interval_widget = widgets.Dropdown(\n",
" options=interval_opts, value=\"1d\", layout=w_auto, description=\"Interval\"\n",
")\n",
"tickers_widget = widgets.Textarea(value=\"TSLA,AAPL,\", layout=w_auto)\n",
"\n",
"data_box = widgets.VBox([tickers_widget, data_widget])\n",

View File

@@ -33,11 +33,12 @@
" / (x.rolling(y).mean()),\n",
"}\n",
"\n",
"\n",
"def format_plotly(fig, calc, data, start, end):\n",
" fig.update_yaxes(title=None)\n",
" fig.update_xaxes(title=None)\n",
" start_t = start.strftime('%Y/%m/%d')\n",
" end_t = end.strftime('%Y/%m/%d')\n",
" start_t = start.strftime(\"%Y/%m/%d\")\n",
" end_t = end.strftime(\"%Y/%m/%d\")\n",
" if calc:\n",
" if len(calc) == 1:\n",
" fig_title = f\"{calc[0]} of {data} from {start_t} to {end_t}\"\n",
@@ -58,7 +59,7 @@
"\n",
"\n",
"last_tickers = \"\"\n",
"last_interval = \"id\"\n"
"last_interval = \"id\""
]
},
{
@@ -134,12 +135,18 @@
")\n",
"\n",
"data_opts = [\"Open\", \"Close\", \"High\", \"Low\", \"Volume\"]\n",
"data_widget = widgets.Dropdown(options=data_opts, value=\"Close\", layout=w_auto, description=\"Data\")\n",
"rolling_widget = widgets.Dropdown(options=list(range(2, 101)), value=60, layout=w_auto, description=\"Rolling\")\n",
"data_widget = widgets.Dropdown(\n",
" options=data_opts, value=\"Close\", layout=w_auto, description=\"Data\"\n",
")\n",
"rolling_widget = widgets.Dropdown(\n",
" options=list(range(2, 101)), value=60, layout=w_auto, description=\"Rolling\"\n",
")\n",
"\n",
"base_date = (datetime.today() - timedelta(days=365)).date()\n",
"start_widget = widgets.DatePicker(value=base_date, layout=w_auto, description=\"Start\")\n",
"end_widget = widgets.DatePicker(value=datetime.today().date(), layout=w_auto, description=\"End\")\n",
"end_widget = widgets.DatePicker(\n",
" value=datetime.today().date(), layout=w_auto, description=\"End\"\n",
")\n",
"interval_opts = [\n",
" \"1m\",\n",
" \"2m\",\n",
@@ -155,12 +162,17 @@
" \"1mo\",\n",
" \"3mo\",\n",
"]\n",
"interval_widget = widgets.Dropdown(options=interval_opts, value=\"1d\", layout=w_auto, description=\"Interval\")\n",
"tickers_widget = widgets.Textarea(value=\"TSLA,\", layout=widgets.Layout(width=\"auto\",height=\"100%\"))\n",
"interval_widget = widgets.Dropdown(\n",
" options=interval_opts, value=\"1d\", layout=w_auto, description=\"Interval\"\n",
")\n",
"tickers_widget = widgets.Textarea(\n",
" value=\"TSLA,\", layout=widgets.Layout(width=\"auto\", height=\"100%\")\n",
")\n",
"data_box = widgets.VBox([data_widget, rolling_widget])\n",
"date_box = widgets.VBox([start_widget, end_widget, interval_widget])\n",
"controls = widgets.HBox(\n",
" [tickers_widget, calc_widget, date_box, data_box], layout=widgets.Layout(width=\"90%\")\n",
" [tickers_widget, calc_widget, date_box, data_box],\n",
" layout=widgets.Layout(width=\"90%\"),\n",
")\n",
"\n",
"stocks_view = widgets.interactive_output(\n",
@@ -187,7 +199,7 @@
" stocks_view,\n",
"]\n",
"app = widgets.VBox(app_contents)\n",
"display(app)\n"
"display(app)"
]
},
{

View File

@@ -16,8 +16,9 @@
"import pandas as pd\n",
"from IPython.display import display, Markdown\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"module_path = os.path.abspath(os.path.join('../..'))\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"module_path = os.path.abspath(os.path.join(\"../..\"))\n",
"\n",
"if module_path not in sys.path:\n",
" sys.path.append(module_path)"
@@ -34,7 +35,7 @@
},
"outputs": [],
"source": [
"report_name=f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_crypto_market\""
"report_name = f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_crypto_market\""
]
},
{
@@ -62,9 +63,11 @@
"metadata": {},
"outputs": [],
"source": [
"from gamestonk_terminal.cryptocurrency import cryptocurrency_helpers \n",
"from gamestonk_terminal.cryptocurrency import cryptocurrency_helpers\n",
"\n",
"cryptocurrency_helpers.plot_chart(coin=\"btc-bitcoin\", source=\"cp\", currency=\"USD\", days=60)"
"cryptocurrency_helpers.plot_chart(\n",
" coin=\"btc-bitcoin\", source=\"cp\", currency=\"USD\", days=60\n",
")"
]
},
{
@@ -104,7 +107,9 @@
"source": [
"from gamestonk_terminal.cryptocurrency.overview import pycoingecko_view\n",
"\n",
"pycoingecko_view.display_news(top=10, sortby=\"Posted\", descend=True, links=False, export=\"\")"
"pycoingecko_view.display_news(\n",
" top=10, sortby=\"Posted\", descend=True, links=False, export=\"\"\n",
")"
]
},
{
@@ -124,7 +129,9 @@
"source": [
"from gamestonk_terminal.cryptocurrency.overview import coinpaprika_view\n",
"\n",
"coinpaprika_view.display_all_coins_market_info(currency=\"USD\", sortby=\"volume_24h\", descend=True, top=10, export=\"\")"
"coinpaprika_view.display_all_coins_market_info(\n",
" currency=\"USD\", sortby=\"volume_24h\", descend=True, top=10, export=\"\"\n",
")"
]
},
{
@@ -144,7 +151,9 @@
"source": [
"from gamestonk_terminal.cryptocurrency.discovery import pycoingecko_view\n",
"\n",
"pycoingecko_view.display_gainers(period=\"24h\", top=10, sortby=\"%Change_24h\", descend=False, links=False, export=\"\")"
"pycoingecko_view.display_gainers(\n",
" period=\"24h\", top=10, sortby=\"%Change_24h\", descend=False, links=False, export=\"\"\n",
")"
]
},
{
@@ -164,7 +173,9 @@
"source": [
"from gamestonk_terminal.cryptocurrency.discovery import pycoingecko_view\n",
"\n",
"pycoingecko_view.display_losers(period=\"24h\", top=10, sortby=\"%Change_24h\", descend=True, links=False, export=\"\")"
"pycoingecko_view.display_losers(\n",
" period=\"24h\", top=10, sortby=\"%Change_24h\", descend=True, links=False, export=\"\"\n",
")"
]
},
{
@@ -184,7 +195,14 @@
"source": [
"from gamestonk_terminal.cryptocurrency.discovery import pycoingecko_view\n",
"\n",
"pycoingecko_view.display_discover(category='positive_sentiment', top=10, sortby=\"Price_USD\", descend=False, links=False, export=\"\")"
"pycoingecko_view.display_discover(\n",
" category=\"positive_sentiment\",\n",
" top=10,\n",
" sortby=\"Price_USD\",\n",
" descend=False,\n",
" links=False,\n",
" export=\"\",\n",
")"
]
},
{
@@ -226,7 +244,9 @@
"source": [
"from gamestonk_terminal.cryptocurrency.discovery import pycoingecko_view\n",
"\n",
"pycoingecko_view.display_top_defi_coins(top=10, sortby=\"Change_24h\", descend=False, links=False, export=\"\")"
"pycoingecko_view.display_top_defi_coins(\n",
" top=10, sortby=\"Change_24h\", descend=False, links=False, export=\"\"\n",
")"
]
},
{
@@ -266,7 +286,9 @@
"source": [
"from gamestonk_terminal.cryptocurrency.discovery import pycoingecko_view\n",
"\n",
"pycoingecko_view.display_yieldfarms(top=10, sortby=\"Value_Locked\", descend=False, export=\"\")"
"pycoingecko_view.display_yieldfarms(\n",
" top=10, sortby=\"Value_Locked\", descend=False, export=\"\"\n",
")"
]
},
{
@@ -283,9 +305,9 @@
"metadata": {
"celltoolbar": "Tags",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "",
"language": "python",
"name": "python3"
"name": ""
},
"language_info": {
"codemirror_mode": {

View File

@@ -16,8 +16,9 @@
"import pandas as pd\n",
"from IPython.display import display, Markdown\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"module_path = os.path.abspath(os.path.join('../..'))\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"module_path = os.path.abspath(os.path.join(\"../..\"))\n",
"\n",
"if module_path not in sys.path:\n",
" sys.path.append(module_path)"
@@ -35,9 +36,9 @@
"outputs": [],
"source": [
"# Parameters that will be replaced when calling this notebook\n",
"ticker=\"AMC\"\n",
"ticker = \"AMC\"\n",
"\n",
"report_name=f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_dark_pool_{ticker.upper()}\""
"report_name = f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_dark_pool_{ticker.upper()}\""
]
},
{
@@ -47,7 +48,11 @@
"metadata": {},
"outputs": [],
"source": [
"display(Markdown(f\"# {ticker.upper()} - Dark Pool - {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}\"))"
"display(\n",
" Markdown(\n",
" f\"# {ticker.upper()} - Dark Pool - {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}\"\n",
" )\n",
")"
]
},
{
@@ -66,10 +71,10 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.dark_pool_shorts import stockgrid_view\n",
"stockgrid_view.dark_pool_short_positions(num=10, \n",
" sort_field=\"dpp_dollar\", \n",
" ascending=True, \n",
" export=\"\")"
"\n",
"stockgrid_view.dark_pool_short_positions(\n",
" num=10, sort_field=\"dpp_dollar\", ascending=True, export=\"\"\n",
")"
]
},
{
@@ -88,8 +93,8 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.dark_pool_shorts import shortinterest_view\n",
"shortinterest_view.high_short_interest(num=10,\n",
" export=\"\")"
"\n",
"shortinterest_view.high_short_interest(num=10, export=\"\")"
]
},
{
@@ -108,15 +113,10 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.dark_pool_shorts import stockgrid_view\n",
"stockgrid_view.net_short_position(ticker=ticker.upper(), \n",
" num=60,\n",
" raw=False,\n",
" export=\"\")\n",
"\n",
"stockgrid_view.net_short_position(ticker=ticker.upper(), \n",
" num=10,\n",
" raw=True,\n",
" export=\"\")"
"stockgrid_view.net_short_position(ticker=ticker.upper(), num=60, raw=False, export=\"\")\n",
"\n",
"stockgrid_view.net_short_position(ticker=ticker.upper(), num=10, raw=True, export=\"\")"
]
},
{
@@ -127,15 +127,12 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.dark_pool_shorts import stockgrid_view\n",
"stockgrid_view.short_interest_volume(ticker=ticker.upper(), \n",
" num=60,\n",
" raw=False,\n",
" export=\"\")\n",
"\n",
"stockgrid_view.short_interest_volume(ticker=ticker.upper(), \n",
" num=10,\n",
" raw=True,\n",
" export=\"\")"
"stockgrid_view.short_interest_volume(\n",
" ticker=ticker.upper(), num=60, raw=False, export=\"\"\n",
")\n",
"\n",
"stockgrid_view.short_interest_volume(ticker=ticker.upper(), num=10, raw=True, export=\"\")"
]
},
{
@@ -154,8 +151,8 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.options import barchart_view\n",
"barchart_view.print_options_data(ticker=ticker.upper(), \n",
" export=\"\")"
"\n",
"barchart_view.print_options_data(ticker=ticker.upper(), export=\"\")"
]
},
{
@@ -178,13 +175,15 @@
"selected_date = yfinance_model.option_expirations(ticker)[0]\n",
"options = yfinance_model.get_option_chain(ticker, selected_date)\n",
"\n",
"yfinance_view.plot_oi(ticker=ticker,\n",
" expiry=selected_date,\n",
" min_sp=-1,\n",
" max_sp=-1,\n",
" calls_only=False,\n",
" puts_only=False,\n",
" export=\"\")"
"yfinance_view.plot_oi(\n",
" ticker=ticker,\n",
" expiry=selected_date,\n",
" min_sp=-1,\n",
" max_sp=-1,\n",
" calls_only=False,\n",
" puts_only=False,\n",
" export=\"\",\n",
")"
]
},
{
@@ -204,17 +203,17 @@
"source": [
"from gamestonk_terminal.stocks import stocks_helper\n",
"from gamestonk_terminal.stocks.dark_pool_shorts import sec_view\n",
" \n",
"\n",
"stock = stocks_helper.load(ticker)\n",
"\n",
"sec_view.fails_to_deliver(\n",
" ticker=ticker.upper(), \n",
" ticker=ticker.upper(),\n",
" stock=stock,\n",
" start=datetime.now() - timedelta(days=60),\n",
" end=datetime.now(),\n",
" num=0,\n",
" raw=False,\n",
" export=\"\"\n",
" export=\"\",\n",
")"
]
},
@@ -232,9 +231,9 @@
"metadata": {
"celltoolbar": "Tags",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "",
"language": "python",
"name": "python3"
"name": ""
},
"language_info": {
"codemirror_mode": {

View File

@@ -16,8 +16,9 @@
"import pandas as pd\n",
"from IPython.display import display, Markdown\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"module_path = os.path.abspath(os.path.join('../..'))\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"module_path = os.path.abspath(os.path.join(\"../..\"))\n",
"\n",
"if module_path not in sys.path:\n",
" sys.path.append(module_path)"
@@ -35,9 +36,11 @@
"outputs": [],
"source": [
"# Parameters that will be replaced when calling this notebook\n",
"ticker=\"GME\"\n",
"ticker = \"GME\"\n",
"\n",
"report_name=f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_due_diligence_{ticker.upper()}\""
"report_name = (\n",
" f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_due_diligence_{ticker.upper()}\"\n",
")"
]
},
{
@@ -47,7 +50,11 @@
"metadata": {},
"outputs": [],
"source": [
"display(Markdown(f\"# {ticker.upper()} - Due Diligence - {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}\"))"
"display(\n",
" Markdown(\n",
" f\"# {ticker.upper()} - Due Diligence - {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}\"\n",
" )\n",
")"
]
},
{
@@ -57,13 +64,13 @@
"metadata": {},
"outputs": [],
"source": [
"base_path=os.path.abspath(os.path.join('.'))\n",
"base_path = os.path.abspath(os.path.join(\".\"))\n",
"report_cache_dir = pathlib.Path(base_path, \"gamestonk_terminal\", \"reports\", \"stored\")\n",
" \n",
"\n",
"if not os.path.isdir(report_cache_dir):\n",
" print(\"Reports data directory not found.\")\n",
" print(f\"Creating {report_cache_dir}\")\n",
" os.mkdir(report_cache_dir);\n",
" os.mkdir(report_cache_dir)\n",
"else:\n",
" print(f\"Found reports directory {report_cache_dir}\")"
]
@@ -91,7 +98,9 @@
" df_stock = pd.read_pickle(df_stock_cache)\n",
"else:\n",
" print(\"Cache file not found. Getting data.\")\n",
" df_stock = stocks_helper.load_ticker(ticker, (datetime.now() - timedelta(days=180)).strftime(\"%Y-%m-%d\"))\n",
" df_stock = stocks_helper.load_ticker(\n",
" ticker, (datetime.now() - timedelta(days=180)).strftime(\"%Y-%m-%d\")\n",
" )\n",
" df_stock = stocks_helper.find_trendline(df_stock, \"OC_High\", \"high\")\n",
" df_stock = stocks_helper.find_trendline(df_stock, \"OC_Low\", \"low\")\n",
" print(f\"Saving cache file {ticker}_stock_data.pkl\")\n",
@@ -107,12 +116,10 @@
"source": [
"import mplfinance as mpf\n",
"\n",
"mc = mpf.make_marketcolors(up='green',down='red',\n",
" edge='black',\n",
" wick='black',\n",
" volume='in',\n",
" ohlc='i')\n",
"s = mpf.make_mpf_style(marketcolors=mc, gridstyle=\":\", y_on_right=True)\n",
"mc = mpf.make_marketcolors(\n",
" up=\"green\", down=\"red\", edge=\"black\", wick=\"black\", volume=\"in\", ohlc=\"i\"\n",
")\n",
"s = mpf.make_mpf_style(marketcolors=mc, gridstyle=\":\", y_on_right=True)\n",
"\n",
"ap0 = []\n",
"\n",
@@ -125,10 +132,21 @@
" ap0.append(\n",
" mpf.make_addplot(df_stock[\"OC_Low_trend\"], color=\"b\"),\n",
" )\n",
" \n",
"mpf.plot(df_stock,type='candle',mav=(20,50,200),volume=True, addplot=ap0,\n",
" xrotation=0, style=s, figratio=(10,7), figscale=2.00, \n",
" update_width_config=dict(candle_linewidth=1.0,candle_width=0.8, volume_linewidth=1.0))"
"\n",
"mpf.plot(\n",
" df_stock,\n",
" type=\"candle\",\n",
" mav=(20, 50, 200),\n",
" volume=True,\n",
" addplot=ap0,\n",
" xrotation=0,\n",
" style=s,\n",
" figratio=(10, 7),\n",
" figscale=2.00,\n",
" update_width_config=dict(\n",
" candle_linewidth=1.0, candle_width=0.8, volume_linewidth=1.0\n",
" ),\n",
")"
]
},
{
@@ -151,7 +169,7 @@
"from gamestonk_terminal.stocks.due_diligence import finviz_view\n",
"\n",
"try:\n",
" finviz_view.analyst(ticker=ticker, export='')\n",
" finviz_view.analyst(ticker=ticker, export=\"\")\n",
"except Exception as e:\n",
" print(e)"
]
@@ -220,6 +238,7 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.fundamental_analysis import av_view\n",
"\n",
"av_view.display_balance_sheet(ticker, limit=1)"
]
},
@@ -239,6 +258,7 @@
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.fundamental_analysis import av_view\n",
"\n",
"av_view.display_cash_flow(ticker, limit=1)"
]
},
@@ -256,9 +276,9 @@
"metadata": {
"celltoolbar": "Tags",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "",
"language": "python",
"name": "python3"
"name": ""
},
"language_info": {
"codemirror_mode": {

View File

@@ -15,8 +15,9 @@
"from datetime import datetime\n",
"from IPython.display import display, Markdown\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"module_path = os.path.abspath(os.path.join('../..'))\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"module_path = os.path.abspath(os.path.join(\"../..\"))\n",
"\n",
"if module_path not in sys.path:\n",
" sys.path.append(module_path)"
@@ -33,7 +34,7 @@
},
"outputs": [],
"source": [
"report_name=f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_econ_data\""
"report_name = f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_econ_data\""
]
},
{
@@ -63,7 +64,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^DJI\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^DJI\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -83,7 +92,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^DJI\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=360, low_trend=True)"
"econ_data_helper.draw_graph(\n",
" \"^DJI\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=360,\n",
" low_trend=True,\n",
")"
]
},
{
@@ -103,7 +120,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^GSPC\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^GSPC\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -123,7 +148,16 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^VIX\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=False, time_delta=720, high_trend=False, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^VIX\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=False,\n",
" time_delta=720,\n",
" high_trend=False,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -143,7 +177,16 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^VIX\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=False, time_delta=360, high_trend=False, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^VIX\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=False,\n",
" time_delta=360,\n",
" high_trend=False,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -163,7 +206,16 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^FVX\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=False, time_delta=720, low_trend=False, high_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^FVX\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=False,\n",
" time_delta=720,\n",
" low_trend=False,\n",
" high_trend=False,\n",
")"
]
},
{
@@ -183,7 +235,16 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^TNX\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=False, time_delta=720, low_trend=False, high_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^TNX\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=False,\n",
" time_delta=720,\n",
" low_trend=False,\n",
" high_trend=False,\n",
")"
]
},
{
@@ -203,7 +264,16 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"^TYX\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=False, time_delta=720, low_trend=False, high_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"^TYX\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=False,\n",
" time_delta=720,\n",
" low_trend=False,\n",
" high_trend=False,\n",
")"
]
},
{
@@ -223,7 +293,14 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"GLD\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720)"
"econ_data_helper.draw_graph(\n",
" \"GLD\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
")"
]
},
{
@@ -243,7 +320,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"SLV\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"SLV\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -263,7 +348,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"FXE\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=True)"
"econ_data_helper.draw_graph(\n",
" \"FXE\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=True,\n",
")"
]
},
{
@@ -283,7 +376,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"FXY\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=True)"
"econ_data_helper.draw_graph(\n",
" \"FXY\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=True,\n",
")"
]
},
{
@@ -303,7 +404,14 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"XLE\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720)"
"econ_data_helper.draw_graph(\n",
" \"XLE\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
")"
]
},
{
@@ -325,7 +433,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"CL=F\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"CL=F\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -345,7 +461,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"XLRE\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"XLRE\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -365,7 +489,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"VNQ\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=360, low_trend=True)"
"econ_data_helper.draw_graph(\n",
" \"VNQ\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=360,\n",
" low_trend=True,\n",
")"
]
},
{
@@ -385,7 +517,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"XLF\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"XLF\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -405,7 +545,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"XLF\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=360, low_trend=True)"
"econ_data_helper.draw_graph(\n",
" \"XLF\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=360,\n",
" low_trend=True,\n",
")"
]
},
{
@@ -425,7 +573,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"XLB\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=720, low_trend=False)"
"econ_data_helper.draw_graph(\n",
" \"XLB\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=720,\n",
" low_trend=False,\n",
")"
]
},
{
@@ -445,7 +601,15 @@
"source": [
"from gamestonk_terminal.economy import econ_data_helper\n",
"\n",
"econ_data_helper.draw_graph(\"XLB\", \"\", line_type=\"line\", draw_mas=(20,50,200), draw_volume=True, time_delta=360, low_trend=True)"
"econ_data_helper.draw_graph(\n",
" \"XLB\",\n",
" \"\",\n",
" line_type=\"line\",\n",
" draw_mas=(20, 50, 200),\n",
" draw_volume=True,\n",
" time_delta=360,\n",
" low_trend=True,\n",
")"
]
},
{
@@ -462,9 +626,9 @@
"metadata": {
"celltoolbar": "Tags",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "",
"language": "python",
"name": "python3"
"name": ""
},
"language_info": {
"codemirror_mode": {

View File

@@ -16,8 +16,9 @@
"import pandas as pd\n",
"from IPython.display import display, Markdown\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"module_path = os.path.abspath(os.path.join('../..'))\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"module_path = os.path.abspath(os.path.join(\"../..\"))\n",
"\n",
"if module_path not in sys.path:\n",
" sys.path.append(module_path)"
@@ -35,9 +36,9 @@
"outputs": [],
"source": [
"# Parameters that will be replaced when calling this notebook\n",
"ticker=\"TSLA\"\n",
"ticker = \"TSLA\"\n",
"\n",
"report_name=f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_comparison_{ticker.upper()}\""
"report_name = f\"{datetime.now().strftime('%Y%m%d_%H%M%S')}_comparison_{ticker.upper()}\""
]
},
{
@@ -47,7 +48,11 @@
"metadata": {},
"outputs": [],
"source": [
"display(Markdown(f\"# {ticker.upper()} - Comparison - {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}\"))"
"display(\n",
" Markdown(\n",
" f\"# {ticker.upper()} - Comparison - {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}\"\n",
" )\n",
")"
]
},
{
@@ -57,10 +62,15 @@
"metadata": {},
"outputs": [],
"source": [
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_model, yahoo_finance_model\n",
"from gamestonk_terminal.stocks.comparison_analysis import (\n",
" finviz_compare_model,\n",
" yahoo_finance_model,\n",
")\n",
"\n",
"ticker = ticker.upper()\n",
"finviz_similar = finviz_compare_model.get_similar_companies(ticker, [\"Sector\", \"Industry\", \"Country\"])[0]"
"finviz_similar = finviz_compare_model.get_similar_companies(\n",
" ticker, [\"Sector\", \"Industry\", \"Country\"]\n",
")[0]"
]
},
{
@@ -85,18 +95,18 @@
" summary = df_info.loc[\"Long business summary\"].values[0]\n",
"if \"Website\" in df_info.index:\n",
" website = df_info.loc[\"Website\"].values[0]\n",
" \n",
"\n",
"if finviz_similar:\n",
" print(f\"{ticker}: {website}\")\n",
" print(summary)\n",
" \n",
"\n",
" for symbol in finviz_similar:\n",
" df_info = yahoo_finance_model.get_info(symbol)\n",
" if \"Long business summary\" in df_info.index:\n",
" summary = df_info.loc[\"Long business summary\"].values[0]\n",
" if \"Website\" in df_info.index:\n",
" website = df_info.loc[\"Website\"].values[0]\n",
" \n",
"\n",
" print(\"\")\n",
" print(f\"{symbol}: {website}\")\n",
" print(summary)"
@@ -122,9 +132,9 @@
"import math\n",
"from gamestonk_terminal.stocks.comparison_analysis import yahoo_finance_view\n",
"\n",
"for i in range(math.ceil(len(finviz_similar)/4)):\n",
"for i in range(math.ceil(len(finviz_similar) / 4)):\n",
" yahoo_finance_view.display_historical(\n",
" similar_tickers=finviz_similar[4*(i):4*(i+1)],\n",
" similar_tickers=finviz_similar[4 * (i) : 4 * (i + 1)],\n",
" )"
]
},
@@ -145,10 +155,10 @@
"source": [
"from matplotlib import pyplot as plt\n",
"\n",
"plt.figure(figsize=(25,10))\n",
"plt.figure(figsize=(25, 10))\n",
"yahoo_finance_view.display_correlation(\n",
" similar_tickers=finviz_similar,\n",
" )"
" similar_tickers=finviz_similar,\n",
")"
]
},
{
@@ -168,9 +178,9 @@
"metadata": {},
"outputs": [],
"source": [
"for i in range(math.ceil(len(finviz_similar)/4)):\n",
"for i in range(math.ceil(len(finviz_similar) / 4)):\n",
" yahoo_finance_view.display_volume(\n",
" similar_tickers=finviz_similar[4*(i):4*(i+1)],\n",
" similar_tickers=finviz_similar[4 * (i) : 4 * (i + 1)],\n",
" )"
]
},
@@ -194,9 +204,9 @@
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_view\n",
"\n",
"finviz_compare_view.screener(\n",
" similar=finviz_similar,\n",
" data_type=\"overview\",\n",
" )"
" similar=finviz_similar,\n",
" data_type=\"overview\",\n",
")"
]
},
{
@@ -219,9 +229,9 @@
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_view\n",
"\n",
"finviz_compare_view.screener(\n",
" similar=finviz_similar,\n",
" data_type=\"valuation\",\n",
" )"
" similar=finviz_similar,\n",
" data_type=\"valuation\",\n",
")"
]
},
{
@@ -244,9 +254,9 @@
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_view\n",
"\n",
"finviz_compare_view.screener(\n",
" similar=finviz_similar,\n",
" data_type=\"financial\",\n",
" )"
" similar=finviz_similar,\n",
" data_type=\"financial\",\n",
")"
]
},
{
@@ -269,9 +279,9 @@
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_view\n",
"\n",
"finviz_compare_view.screener(\n",
" similar=finviz_similar,\n",
" data_type=\"ownership\",\n",
" )"
" similar=finviz_similar,\n",
" data_type=\"ownership\",\n",
")"
]
},
{
@@ -294,9 +304,9 @@
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_view\n",
"\n",
"finviz_compare_view.screener(\n",
" similar=finviz_similar,\n",
" data_type=\"performance\",\n",
" )"
" similar=finviz_similar,\n",
" data_type=\"performance\",\n",
")"
]
},
{
@@ -319,9 +329,9 @@
"from gamestonk_terminal.stocks.comparison_analysis import finviz_compare_view\n",
"\n",
"finviz_compare_view.screener(\n",
" similar=finviz_similar,\n",
" data_type=\"technical\",\n",
" )"
" similar=finviz_similar,\n",
" data_type=\"technical\",\n",
")"
]
},
{

2
poetry.lock generated vendored
View File

@@ -3774,7 +3774,7 @@ prediction = ["tensorflow"]
[metadata]
lock-version = "1.1"
python-versions = "^3.8,<3.10"
content-hash = "6481960741aeb5ea869912bd6903d2f80d58416be6b0006c2b9ce3f737b84a86"
content-hash = "fddd8f4b3e979228f2ed560d82db5e542d38b7e474faec6b80d3f4f1c72efccd"
[metadata.files]
absl-py = [

2
pyproject.toml vendored
View File

@@ -95,7 +95,7 @@ codespell = "^2.0.0"
pyupgrade = "^2.11.0"
sphinx = "4.1.1"
myst-parser = "^0.15.2"
black = "21.7b0"
black = {extras = ["jupyter"], version = "21.7b0"}
bandit = "^1.7.0"
coverage = ">=5.5"
vcrpy = "^4.1.1"