Commit Graph

17 Commits

Author SHA1 Message Date
Colin Delahunty
141dd68e68 Removed prints (#5367)
* Removed prints

* FIxed typing

* FIxed typing

* Fixed typing

* Fixed typing

* Fixed typing

* Fixed typing

* Fixed typing

* Fix

* Reverted stuff
2023-08-23 18:40:31 +00:00
Danglewood
f1eee44cab Feature/options_views: Add a Variety of Views/Charts to Extend the OptionsChains Class (#5222)
* add options_chains_view

* vsurf charts

* skew for strike vs contract

* doc string

* add chart_volatility

* linting

* codespell

* mypy

* types

* tmx mypy

* update test file

* add synthetic long/short to strategies

* updates test_options_chains_model.py

* updates some docstrings

* update documentation

* actually commit the documentation page

* update documentation screenshots

* try catch for 403 error

* add tests for options_chains_view

* int64

* SPX error handling

* add cboe options dashboard for terminal

* codespell

* enable mouse scroll wheel zoom for charts

* declare key values for all widgets

* add some more streamlit charts and tables

* fix test_yfinance_view.py

* conflict resolution

* test

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-08-03 20:58:47 +00:00
Danglewood
a7edda330d Feature/options - OpenBB Options Enhancement Proposal (Part 1 - SDK) (#5079)
* add model file for Montreal Options Exchange

* mypy fixes

* define attributes under __init__

* type error fix

* another pylint fix

* adds tests for tmx_model

* black

* mypy

* adds expirations test and re-records

* black

* capture error message in test

* mypy

* add __docformat__ line

* improves get_all_ticker_symbols

* removes python magic command for new cell

* adds TMX as source for SDK chains

* starts on a new method for loading options data returning a standardized object

* add load_options as SDK endpoint

* intrinio response - not complete

* adds tradier to load_options

* add source attribute to options object

* restore legacy nasdaq last price function

* yFinance underlying_price fixes

* yFinance model fix

* adds cboe to sdk options load

* table fix

* creates options_chains_model.py and updates SDK map

* docstrings added for the class.

* updates tmx_model tests

* fix options_controller test

* adds cboe_model tests

* spelling in docstring

* ruff - unused import

* mypy fixes

* more mypy fixes

* pylint

* attempt to manually resolve merge conflict.

* nasdaq_model fix

* adds test coverage for options/nasdaq_model

* docstrings update for nasdaq_model

* mypy fix

* adds unit testing for options_chains_model

* adds additional tests for intrinio_model

* unused import fix

* fix for .TO symbol and TMX EOD chains

* make CBOE Pydantic

* cboe update

* adds switch for pydantic output from all sources

* black

* index options error handling for Intrinio

* add warning message for index options from Intrinio

* tmx_model enhancements

* cleans up get_ticker_iv() in cboe_model

* fix ticker info for index symbols from cboe

* typo in comments

* adds test for tradier_model.load_options

* cboe optionType as lower case

* add function for calculating chains stats

* black

* trailmap for calculate_chains_stats

* adds test for calculate_stats()

* more details to nasdaq.underlying_price

* typo in docstrings

* mypy - options_chains_model.py

* black - options_chains_model.py

* pylint options_chains_model.py

* standardize response from intrinio underlying price

* add function to validate input of function

* missed type hint

* additional error handling for stats

* adds DTE as column for all sources

* adds strategies function and input validation

* add yFinance test for load_options()

* add Nasdaq test for load_options()

* tests for new functions in options_chains_model

* update sdk trailmap

* rewrite tests

* fixes for tests

* fix tmx_model test

* more pytest

* pytest..

* add vertical call spread function

* some cleanup

* update nasdaq tests

* more cleanup

* black

* pylint

* black

* ruff

* black

* pylint

* black

* pylint..

* tests rewrite

* more pytest

* recapture tests

* Different tests were collected between gw1 and gw0

* adds vertical spreads

* vertical_put_spread

* improve calculate_stats

* mypy

* edge cases

* black

* update tmx,yfinance tests

* new cboe tests

* new tmx_model tests

* fix nasdaq test

* test updates

* fix nasdaq tests

* add test_options_chains_model

* refactor data sources

* black

* pylint

* fixing stuff

* forgot a file..

* codespell

* linting

* mypy...

* refactor OptionsChains class

* pylint

* reconfigure SDK entry point

* fix error handling when data request fails

* ruff

* pylint

* pylint

* Add inheritance and a repr string

* add method for skew

* add method for skew

* fix nasdaq test

* add skew to tests

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-06-19 13:11:16 +00:00
James Maslek
da7fb3a831 Improve options menu slightly + close some bugs (#4793)
* platform to logs

* dte not /365 and delete code i never got to

* 4 decimals on chains

* Change options default load to the defaut source

* mypy

* Less polluting of logs

* #4420

* #4811

* Fix test

* Remove unnecessary log decs

* Save us money

* whoops
2023-04-18 12:54:44 +00:00
hjoaquim
e43c549c34 Patch Equity Report 2023-02-24 12:29:08 +00:00
James Maslek
06d737f4be Adding intrinio and cleaning up options a bit more (#4127)
* Add intrinio load functions into stocks and options.  First try at options sdk with intrinio

* Add a new eodchain function + add intrinio model test

* Unit tests for intrinio options

* dont add eodchain yet -- wait for other PR

* Make null handling better + add intrinio sdk to reqs

* mock dates

* update test

* fix ruff

* black and gitignore

* Clean up and make options load class

* Clean up clean up

* Fix intrinio stock load

* Get requirements even

* sort intrinio chain and fix

* Dont rename the candle input argument

* Fix bug #4060

* Historical option prices

* Add grhist from intrinio and isort

* Fix things for presentation

* Fix tradier chain printing

* YahooFInance chain cleanup

* standardize nasdaq

* Format intrinio

* Cleanup SDK

* Fix tests

* mypy

* Clean up trail map and edit docs

* Fix mapping of info on sdk

* Add intrinio to deps

* Add a rich progress bar to expirations :)

* controller test

* Silly error + tests

* Required arg

* bad assert statememts

* Mutable default

* Keys and switch another tqdm

* BizIns Tests

* tests

* Last Test
2023-02-10 16:54:05 +00:00
Colin Delahunty
ee34a1f278 Feature/add isort linter (#4114)
* Fixed isort

* Fixed issues

* FIxed linters

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-02-04 21:24:47 -05:00
Henrique Joaquim
a37d9032e3 Hotfix/fix black (#4101)
* Fix plot look when using eval and add query to choices (#3881)

* convert index to datetime and update choices

* uncomment economy integration test

* fix treasury concat bug

* fix datasets concat on duplciates

* Lock ruff version so that new lints dont break our CI (#3905)

* Lock ruff version so that new lints dont break our CI

* Bumped pre-commit ruff version

* returning always a dataframe

* Revert "returning always a dataframe"

This reverts commit d5dbf3132f.

* black everything

---------
2023-02-01 12:33:15 +00:00
James Maslek
eb2c11060d Refactor requests throughout (#4033)
* bump

* Initial function write

* Delete this line from yaml

* Changed all the main things - Need help on tests

* pylint errors

* Tests v0

* Tests v1

* Tests v2

---------

Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2023-01-27 14:01:07 -05:00
Henrique Joaquim
cc2fa38cd9 Refactor stocks/options/voi,vol,oi,chains (#4017) 2023-01-26 08:53:31 -05:00
teh_coderer
59d8b36bb0 [IMPROVE] Fix Docstring formatting/Fix missing, incomplete type hints (#3412)
* Fixes

* Update stocks_helper.py

* update git-actions set-output to new format

* Update stocks_helper.py

* Update terminal_helper.py

* removed LineAnnotateDrawer from qa_view

* lint

* few changes

* updates

* sdk auto gen modules done

* Update stocks_helper.py

* updates to changed imports, and remove first sdk_modules

* Update generate_sdk.py

* Update generate_sdk.py

* pylint

* revert stocks_helper

* Update generate_sdk.py

* Update sdk.py

* Update generate_sdk.py

* full auto generation, added sdk.py/controllers creation

* missed enable forecasting

* added running black in subprocess after sdk files generation completes

* removed deleted sdk_arg_logger

* comment out tests

* property doc fix

* clean up

* Update generate_sdk.py

* make trailmap classes useable for doc generation

* Update generate_sdk.py

* added lineon to trailmap class for linking to func in markdown

* changed lineon to dict

* added full_path to trailmap for linking in docs

* updated portfolio

* feat: initial files

* feat: added meta head

* feat: added funcdef

* added func_def to trailmap attributes for markdown in docs, added missing type hints to covid functions

* feat: added view and merged with jaun

* Update generate_sdk.py

* Update generate_sdk.py

* Update generate_sdk.py

* Update generate_sdk.py

* init

* fix returns

* fix: random stuff

* fix: random

* fixed encoding issue on windows

* fix: generate tabs

* update

* Update generate_sdk_markdown.py

* Create .pydocstyle.ini

* added type hint classes for views

* fixes

* alt, ba

* alt-economy

* Update finviz_compare_model.py

* fixs

* Update substack_model.py

* Update generate_sdk.py

* last of my section

* porfolio

* po

* Update optimizer_model.py

* fixing more things

* few more

* keys done

* update

* fixes

* Update generate_sdk_markdown.py

* Update generate_sdk_markdown.py

* mypy forecast fix

* Update generate_sdk_markdown.py

* Update generate_sdk_markdown.py

* Update generate_sdk_markdown.py

* fixes

* forecast fixes

* one more fix

* Update coinbase_model.py

* Update generate_sdk_markdown.py

Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2022-11-15 16:37:49 -05:00
James Maslek
8bf8201690 Refactor option chain for sdk (#3414)
* Refactor option chain for sdk

* Lint

* Executive decision about chains function

* Allow chains to specify an expiry

* Fix docstring +fix test + isort

* trail map merge

* Remove some unnecessary trails

* Fixes #3325

* Faster expirations

* This is why we dont skip pre commit
2022-11-15 15:06:35 +01:00
Colin Delahunty
6dea3a931a Stock Integrated Tests (#3353)
* Fixes

* Added better handling

* Adds more handling

* Adds more handling

* Added screener handling

* Added fixes

* Added fixes
2022-11-09 11:31:24 -05:00
Henrique Joaquim
b5e807b188 Fix stocks bugs (#3039)
* fix conversion error str to float by replacing commas in numeric columns

* fix conversion error str to float by replacing commas in numeric columns

* adds -d as default arg if a date is provided

* fixe order of parameters

* fixed the check on the emptiness of the trading view recommendation

* added more screeners

* changed if in order to avoid result used before assignment exception

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2022-10-26 13:36:55 +01:00
Colin Delahunty
8731fbd692 Auto Generate API Documentation (#2360)
* Started auto doc generation

* Created a markdown document

* Added test changed to md

* Created working version of new documentation

* Made requested changes

* Generate docs for all

Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
2022-09-20 19:15:54 +01:00
James Maslek
92991fc4e3 Get rid of option expirations in the past for Nasdaq + bugs (#2498)
* Get rid of option expirations in the past for Nasdaq + clean up bug

* Add in currency for yfinance financials

* Added fixes

Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
2022-09-06 09:05:07 +01:00
James Maslek
cf9b5ad832 Add nasdaq as an options source (#2397)
* Get all nasdaq chains

* Get all expirations

* Add chain by expiry and clean up columns

* add nasdaq to load and exp

* Add OI plot for nasdaq

* add volume plot

* Update vol + oi to have nasdaq + raw flag

* Add VOI functionality with nasdaq

* Add nasdaq chains function

* Run isort

* doesnt

* Change menu for sources and edit yfinance to expiration instead of expiry

* lint

* oops

* unused imports

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
2022-08-23 09:35:18 +01:00