From 2392a8a9e2e8a55923b56e83ad4bd334fced4c36 Mon Sep 17 00:00:00 2001 From: Henrique Joaquim Date: Wed, 19 Jun 2024 13:18:35 +0100 Subject: [PATCH] Release/4.2.3 (#6517) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Release] 4.1.5 to `develop` (#6192) * Release/3.2.4 (#5696) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * 3.2.3->3.2.4 * Changelogs * new changelog --------- Co-authored-by: Henrique Joaquim Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> * Release/4.0.1 (#5840) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * Release/3.2.4 (#5704) * 3.2.3->3.2.4 * Changelogs * new changelog * OpenBB Platform v4 (#5225) * change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit 3736c311cb6aa9e653dcb5db733798408b72a82e. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit 8a30a44555d97132f6bddcbc4a4facdd97ecc591. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commit bd2170e2adf82fed3a35d34fad6a2e3ba3ae1d49. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commit fb82ff7bd9af92ed676d8f8047c31e74daf7b8b2. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim Co-authored-by: Sandip Saha Co-authored-by: James Maslek Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Theodore Aptekarev * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim Co-authored-by: Theodore Aptekarev * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: tehcoderer Co-authored-by: DidierRLopes Co-authored-by: andrewkenreich Co-authored-by: Sandip Saha Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Adi Sai * Hotfix/pypi openbb terminal (#5719) * renaming the project * documentation changes * Finishing touches to the publishing procedure (#5728) * finishing touches to the publishing procedure * grammar improvements * Run tests on develop (#5725) * Run tests on develop * Add a check that files changes in platform * Seprate Intrinio financials data tags into a different command (#5723) * add `ebit` field in income statement standard model * only add required data tags * remove calculations data * use `name` key instead of `tag` key * set `period` as required in data * remove `period` and `cik` from provider models * add `equity/fundamental/search_financial_attributes` with tests * clean descriptions file * add `equity/fundamental/financial_attributes` with tests * set `value` as `Optional` * Fix threadpool test error (#5734) * Remove ultima from deps (#5736) * remove ultima from deps * skip ultima test * black * change skip location * try except statement to avoid error on the ci * new currency reference rates pr (#5724) * point files to linters (#5739) * remove news from equity (#5741) * Add tiingo provider (#5740) * first commit * things * Add news endpoints * CryptoHistorical * Add currency and trailing dividend yield * things working * deps * fix pre commit things * tests? * black on the tests * pratty told me to add it * integration tests * added helpers * crypto revamped * currency revamped * trailing dividend yield revamped * equity historical revamped * company news overhauled * global news overhauled * remove `tags` param from news models * crypto correct `exchanges` description * james smh * re-recorded fetcher tests * fixed integration tests * econometrics smh * james smh again --------- Co-authored-by: Pratyush Shukla * Add `derivatives` extension for `futures` and `options` (#5742) * removed options and futures * add derivatives extension * cleanup * bug #5649 (#5722) * bug #5649 * fixing --a upmom, downmom --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Rename the fmp search -> screener (#5744) * Rename the fmp search -> screener * misses some * i cant copy paste * docs/fix-urls: Updates the Terminal About URLs to match `/develop` (#5720) * update Terminal about URLs and some other broken links * ruff * intro * changing the heading levels * dependency management sections * structure * developer guides * structure * contributor guides * keywords and descriptions * broken urls * cool cards * Cool cards (#5727) * tidy up terminal/content * some more tidy up * fix styling for platform that was missing * more tidy up * improve color for dark and light mode * create new reference card for more basic cards * rename back to menus * implement all index.md for terminal, except reference * improve bot title * more refactoring * fix remaining index * header styling * more styling * heheheheheheeh * Revert "heheheheheheeh" This reverts commit 7d095fcfd258efb7e82b75b4663b5360785195f3. * Ccards (#5733) * links * more links * improved styling and chevron aligned to title * fix index.mdx urls for Terminal * update package.json * update index.mdx * fix generation * spelling * toolkit_extensions * update data extensions * couple of links * add tiingo to data extensions list --------- Co-authored-by: hjoaquim Co-authored-by: andrewkenreich Co-authored-by: DidierRLopes Co-authored-by: James Maslek * Stock leftover cleanup (#5745) * change to equity in `.md` files * `HistoricalStockSplits`->`HistoricalSplits` * `StockInsiderTrading`->`InsiderTrading` * sorry fmp * `EquityHistorical` cleanup * `EquityNBBO` cleanup * .md leftover * the last of stocks * Hotfix/urllib to dev group (#5732) * use the urllib3 dependency on the dev group instead * adapt the version script for the nightlies - if it's a nightly the package distribution name will have a different name * add dev dependencies to the dev installation bc of the ci * updating the import on validate_call according to: https://docs.pydantic.dev/latest/concepts/validation_decorator/ the way we were importing it breaks if pydantic=2.5 @montezdesousa * loosing urllib3 version specification on the provider and adding it to platform dev deps * rmeoving urllib from top level deps; and removing --with dev flag * changing to ^ instead * Revert "changing to ^ instead" This reverts commit 7300904e9f3adba372b106d381b70ae06e28795a. * unnecessary dep --------- Co-authored-by: Theodore Aptekarev Co-authored-by: James Maslek * feature/v4-bop - Add ECB Balance of Payments (Replaces #5716) (#5726) * add ecb balance of payments * missing __init__.py files * Nasdaq calendar earnings and fix FMP calendar earnings (#5718) Co-authored-by: James Maslek * feature/us-treasury-auctions: Adds Treasury Auctions endpoint and provider for US Government Data. (#5746) * add government_us provider and treasury auctions endpoint * black * add param for cusip * move logic for setting default start/end date * Update hub<>platform credentials map (#5749) * update hub<>platform credentials map * typo * Add API settings schema to system settings (#5743) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Skip checking creds (#5737) * skip checking creds * fix bug * ok mypy * add comment * rename required_credentials * fix * fix top_retail bug * don't require creds in some nasdaq fetchers * black * this was not here before * fix tests * update fetcher test * update contributing guidelines * Fix Quote (#5752) * Fix Quote * fixed return type and model validation --------- Co-authored-by: Pratyush Shukla * Wrap up renaming global news to world news on a model level (#5750) * Wrap up renaming global news to world news on a model level * cleanup --------- Co-authored-by: Pratyush Shukla * Remove eod from docstrings (#5751) * Wrap up renaming global news to world news on a model level * Remove "end of day" from historical price model docstrings --------- Co-authored-by: Pratyush Shukla * Massive docstring cleanup (#5755) * sec router remove command * standard models cleanup * fmp cleanup * av cleanup * benzinga cleanup * biztoc cleanup * cboe cleanup * ecb cleanup * finra cleanup * fred cleanup * us cleanup * intrinio cleanup * nasdaq cleanup * oecd cleanup * polygon cleanup * sec cleanup * seeking alpha cleanup * stockgrid cleanup * tiingo cleanup * tradingeconomics cleanup * ultima cleanup * wsj cleanup * yfinance cleanup * sec router lint * fix date query param description * Updates system and api settings (#5753) * remove uncessary import on rest api * remove FrozenField and add api.version * allow setup from json * remove id tag * computed field is better * formatting --------- Co-authored-by: Theodore Aptekarev * Squeeze build time (#5756) * squeeze build time * bug fix * fix test * typo? * rebuild * keep tradingeconomics * docs/working-docs: Working V4 Docs PR (#5747) * post-install clarification, fix links * more links * change word * toolkit cleanup * rename 'contributing' to 'development' * update extensions * some urls * Update sdk-platform and v4-develop in urls (#5730) * Update sdk-platform and v4-develop in urls * Seprate Intrinio financials data tags into a different command (#5723) * add `ebit` field in income statement standard model * only add required data tags * remove calculations data * use `name` key instead of `tag` key * set `period` as required in data * remove `period` and `cik` from provider models * add `equity/fundamental/search_financial_attributes` with tests * clean descriptions file * add `equity/fundamental/financial_attributes` with tests * set `value` as `Optional` * Fix threadpool test error (#5734) * Remove ultima from deps (#5736) * remove ultima from deps * skip ultima test * black… * [Bugfix] Update `PUBLISH.md` file (#6193) * publish doc updated * add info * Remove charting extension preference from user settings (#6194) * [Bugfix] - Small update on PUBLISH.md (#6196) * small update on publish.md * minor fix * updated with more details --------- Co-authored-by: Pratyush Shukla * [Feature] Hotfix develop main sync (#6200) * Release/3.2.4 (#5696) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * 3.2.3->3.2.4 * Changelogs * new changelog --------- Co-authored-by: Henrique Joaquim Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> * Release/4.0.1 (#5840) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * Release/3.2.4 (#5704) * 3.2.3->3.2.4 * Changelogs * new changelog * OpenBB Platform v4 (#5225) * change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit 3736c311cb6aa9e653dcb5db733798408b72a82e. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit 8a30a44555d97132f6bddcbc4a4facdd97ecc591. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commit bd2170e2adf82fed3a35d34fad6a2e3ba3ae1d49. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commit fb82ff7bd9af92ed676d8f8047c31e74daf7b8b2. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim Co-authored-by: Sandip Saha Co-authored-by: James Maslek Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Theodore Aptekarev * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim Co-authored-by: Theodore Aptekarev * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: tehcoderer Co-authored-by: DidierRLopes Co-authored-by: andrewkenreich Co-authored-by: Sandip Saha Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Adi Sai * Hotfix/pypi openbb terminal (#5719) * renaming the project * documentation changes * Finishing touches to the publishing procedure (#5728) * finishing touches to the publishing procedure * grammar improvements * Run tests on develop (#5725) * Run tests on develop * Add a check that files changes in platform * Seprate Intrinio financials data tags into a different command (#5723) * add `ebit` field in income statement standard model * only add required data tags * remove calculations data * use `name` key instead of `tag` key * set `period` as required in data * remove `period` and `cik` from provider models * add `equity/fundamental/search_financial_attributes` with tests * clean descriptions file * add `equity/fundamental/financial_attributes` with tests * set `value` as `Optional` * Fix threadpool test error (#5734) * Remove ultima from deps (#5736) * remove ultima from deps * skip ultima test * black * change skip location * try except statement to avoid error on the ci * new currency reference rates pr (#5724) * point files to linters (#5739) * remove news from equity (#5741) * Add tiingo provider (#5740) * first commit * things * Add news endpoints * CryptoHistorical * Add currency and trailing dividend yield * things working * deps * fix pre commit things * tests? * black on the tests * pratty told me to add it * integration tests * added helpers * crypto revamped * currency revamped * trailing dividend yield revamped * equity historical revamped * company news overhauled * global news overhauled * remove `tags` param from news models * crypto correct `exchanges` description * james smh * re-recorded fetcher tests * fixed integration tests * econometrics smh * james smh again --------- Co-authored-by: Pratyush Shukla * Add `derivatives` extension for `futures` and `options` (#5742) * removed options and futures * add derivatives extension * cleanup * bug #5649 (#5722) * bug #5649 * fixing --a upmom, downmom --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Rename the fmp search -> screener (#5744) * Rename the fmp search -> screener * misses some * i cant copy paste * docs/fix-urls: Updates the Terminal About URLs to match `/develop` (#5720) * update Terminal about URLs and some other broken links * ruff * intro * changing the heading levels * dependency management sections * structure * developer guides * structure * contributor guides * keywords and descriptions * broken urls * cool cards * Cool cards (#5727) * tidy up terminal/content * some more tidy up * fix styling for platform that was missing * more tidy up * improve color for dark and light mode * create new reference card for more basic cards * rename back to menus * implement all index.md for terminal, except reference * improve bot title * more refactoring * fix remaining index * header styling * more styling * heheheheheheeh * Revert "heheheheheheeh" This reverts commit 7d095fcfd258efb7e82b75b4663b5360785195f3. * Ccards (#5733) * links * more links * improved styling and chevron aligned to title * fix index.mdx urls for Terminal * update package.json * update index.mdx * fix generation * spelling * toolkit_extensions * update data extensions * couple of links * add tiingo to data extensions list --------- Co-authored-by: hjoaquim Co-authored-by: andrewkenreich Co-authored-by: DidierRLopes Co-authored-by: James Maslek * Stock leftover cleanup (#5745) * change to equity in `.md` files * `HistoricalStockSplits`->`HistoricalSplits` * `StockInsiderTrading`->`InsiderTrading` * sorry fmp * `EquityHistorical` cleanup * `EquityNBBO` cleanup * .md leftover * the last of stocks * Hotfix/urllib to dev group (#5732) * use the urllib3 dependency on the dev group instead * adapt the version script for the nightlies - if it's a nightly the package distribution name will have a different name * add dev dependencies to the dev installation bc of the ci * updating the import on validate_call according to: https://docs.pydantic.dev/latest/concepts/validation_decorator/ the way we were importing it breaks if pydantic=2.5 @montezdesousa * loosing urllib3 version specification on the provider and adding it to platform dev deps * rmeoving urllib from top level deps; and removing --with dev flag * changing to ^ instead * Revert "changing to ^ instead" This reverts commit 7300904e9f3adba372b106d381b70ae06e28795a. * unnecessary dep --------- Co-authored-by: Theodore Aptekarev Co-authored-by: James Maslek * feature/v4-bop - Add ECB Balance of Payments (Replaces #5716) (#5726) * add ecb balance of payments * missing __init__.py files * Nasdaq calendar earnings and fix FMP calendar earnings (#5718) Co-authored-by: James Maslek * feature/us-treasury-auctions: Adds Treasury Auctions endpoint and provider for US Government Data. (#5746) * add government_us provider and treasury auctions endpoint * black * add param for cusip * move logic for setting default start/end date * Update hub<>platform credentials map (#5749) * update hub<>platform credentials map * typo * Add API settings schema to system settings (#5743) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Skip checking creds (#5737) * skip checking creds * fix bug * ok mypy * add comment * rename required_credentials * fix * fix top_retail bug * don't require creds in some nasdaq fetchers * black * this was not here before * fix tests * update fetcher test * update contributing guidelines * Fix Quote (#5752) * Fix Quote * fixed return type and model validation --------- Co-authored-by: Pratyush Shukla * Wrap up renaming global news to world news on a model level (#5750) * Wrap up renaming global news to world news on a model level * cleanup --------- Co-authored-by: Pratyush Shukla * Remove eod from docstrings (#5751) * Wrap up renaming global news to world news on a model level * Remove "end of day" from historical price model docstrings --------- Co-authored-by: Pratyush Shukla * Massive docstring cleanup (#5755) * sec router remove command * standard models cleanup * fmp cleanup * av cleanup * benzinga cleanup * biztoc cleanup * cboe cleanup * ecb cleanup * finra cleanup * fred cleanup * us cleanup * intrinio cleanup * nasdaq cleanup * oecd cleanup * polygon cleanup * sec cleanup * seeking alpha cleanup * stockgrid cleanup * tiingo cleanup * tradingeconomics cleanup * ultima cleanup * wsj cleanup * yfinance cleanup * sec router lint * fix date query param description * Updates system and api settings (#5753) * remove uncessary import on rest api * remove FrozenField and add api.version * allow setup from json * remove id tag * computed field is better * formatting --------- Co-authored-by: Theodore Aptekarev * Squeeze build time (#5756) * squeeze build time * bug fix * fix test * typo? * rebuild * keep tradingeconomics * docs/working-docs: Working V4 Docs PR (#5747) * post-install clarification, fix links * more links * change word * toolkit cleanup * rename 'contributing' to 'development' * update extensions * some urls * Update sdk-platform and v4-develop in urls (#5730) * Update sdk-platform and v4-develop in urls * Seprate Intrinio financials data tags into a different command (#5723) * add `ebit` field in income statement standard model * only add required data tags * remove calculations data * use `name` key instead of `tag` key * set `period` as required in data * remove `period` and `cik` from provider models * add `equity/fundamental/search_financial_attributes` with tests * clean descriptions file * add `equity/fundamental/financial_attributes` with tests * set `value` as `Optional` * Fix threadpool test error (#5734) * Remove ultima from deps (#5736) * remove ultima from deps * skip ultima test * black… * Improve the example test (#6203) * Improve fetcher test error messages (#6204) * [Feature] Add Intrinio ETF Info/Search (#6198) * add intrinio etf info * black * should have been "x-unit_measurement" * field order thing * another field order * review things * [Enhancement] `ReferenceGenerator` class in `package_builder.py` (#6179) * fix docstrings in quantitative,technical,econometrics routers * add reference generator class to create reference.json file in openbb/assets folder * modify platform markdown generator script to not generate the reference.json file * get properly formatted examples for the website * modify get_field_type function * remove TODO comment * path change / to . * remove extra '-' below 'Args' in function docstring * get obbject extensions in extension_map.json * skew in stats_router had extra . rip * black * extra space (sigh) * modify get_provider_parameter_info func to use model_provider from provider interface * update lock files * black * Revert "update lock files" This reverts commit 13e7d8b280a910acd19959ae2ffac3cdab5a2818. * add function to check all extensions are installed before the markdow generator runs * better comment * fix docstring fix mypy obbject description function * black * 'static * remove duplicate standard params & data from reference data add standard params & data fields while generating markdown files * Final v3 touches (#6205) * remove ultima + althub * move twitter keys * Remove reports * Launch Message * Actual launch message * Correct leaving message * Update version * [BugFix] Fix empty docstring in data processing functions (#6206) * update etf static file update reference.json with changes * data processing docstrings can be empty use self._write func to create reference.json file * Add unit tests (#6213) * Update build-release.yml (#6215) * [Hotfix] - docs workflow (#6216) * [Critical] Sync `main` with `develop` (#6202) * feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863) * intrinio equity search * integration tests * test --------- Co-authored-by: James Maslek * feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845) * yfinance multi-ticker support * multi-ticker support for market indices * crypto multi-ticker support * recapture tests * yfinance cache and tests * currency historical multi-ticker support * style things * black * missed a values --------- Co-authored-by: James Maslek * Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776) * add treasury prices endpoint to fixed income router * adds tests * black * ruff * import statements * standard model imports * black * some cleanup * black * async router * make async * str outpuot * bytes object not string * docstring typo * multi-line f-string * encoding * duplicated conditional * black --------- Co-authored-by: James Maslek * feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757) * add ETF holdings from SEC provider * black * helper function params * edge cases * ruff * add validator in company filings * remove xml field * update import * cleanup parsing * missing datetime import in company_filings * black * unused import * add missing py.typed files * feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790) * add nasdaq to equity search * black * unused import * make async --------- Co-authored-by: James Maslek * Excel docs (#5870) * first test * remove old reference * bring this file back * generate sidebar and write empty mds * generate index.mdx * get description from cmd_lib * fix reference card error * rename file * generate markdown * regen * add last+hist * update pages with seo metadata * format types * small fix * css sux * add usage placeholder * set hidden by default * nah * add cmds and menus to reference * lint * fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py * format mds * remove space * fix commands heading * redo folder structure * add back cmd description * move card to var * different main folder * clean * move vars * refer to editor * rename var * done * recreate folder structure * add section: syntax + minor adjustments * remove return type * remove return type * rename api to library * minor fix * remove api folder * remove api folder * formatting * improve basics * basics * fetch functions.json from website * complete basic * change syntax to use semi-colon * basics * basics * remove space in sig * remove sections * add metadata * Update formula builder * add tabs * Update index.md * complete basics and formula_builder * Update index.md * add windows screenshots * restructure folders * regenerate with latest add-in version * move Excel sidebar * rename function and add comment * now it's working * logic * rename folder * Update formula_builder.md * fix * hide excel for now * some explicit typing --------- Co-authored-by: tehcoderer * Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822) * init * Update helpers.py * filter URL on raise * polygon, fmp done, update cassettes * updates * cleanup * revert tests for now * Update discovery_filings.py * Update helpers.py * add `async` overload to `Fetcher.extract_data` * update merged fred models * tests, improve fred series * Update insider_trading.py * insider * tests * intrinio * Update equity_historical.py * implement abstract async extract on Fetcher, with simple switch * cleanup * Update helpers.py * Update helpers.py * fix fmp historical deprecated urls * Revert "fix fmp historical deprecated urls" This reverts commit 1a760a24737ed3d1439472bdb4c47aa778bcce8b. * fix fmp `index.market` 1day url missing query params * Update test_fmp_market_indices_fetcher.yaml * field fixes * `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request` * `async_requests` -> `amake_requests` * Update company_news.py * add sort to index `integration` params * add `client.py` tests * Update equity_search.py * Add lost v in platform api version string * Resolve linter errors here and there --------- Co-authored-by: Theodore Aptekarev * Allow this to be run in parallel (#5872) * Limit mypy v3 linting to only the diff of the PR (#5878) * Use custom parametrize from news menu tests (#5873) * Use custom parametrize from news menu tests * Update Ultima unit test cassettes * Command Schema (#5874) * POC * Filter by provider * pass base_app as parameter * add typing + TODO * fix some typing * Fix unit tests --------- Co-authored-by: Diogo Sousa * Parameterize `obbject.to_df` with `index` and `sort_by` (#5877) * Parameterize obbject.to_df with index and sort_by * unit tests for obbject * keep using the date as default to use on basemode_to_df() --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Changes to the `obb.fixedincome.corporate.hqm()` output (#5876) * changes to the hqm output * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Refactor method in RegistryMap (#5879) * refactor extract_info * add comment --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove Literal from providers in OBBject (#5882) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix version (#5883) * Fix version * Fix linter on terminal * Refactor package builder (#5880) * breakdown builder + remove black * rebuild * rebuild * rebuild * rename method * format built code without black * we still lint if it's available * fix existing tests * add linter tests * add black to dev deps * auto_build as instance method * reorder methods * typing --------- Co-authored-by: Henrique Joaquim * small refactor for simplification (#5886) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix bug. Add router test. (#5888) * Fix bug. Add router test. * Simplify * separate pylint between platform + terminal (#5892) * separate pylint b/w platform + terminal * Explicitly set pylint check scope to files in the diff --------- Co-authored-by: Theodore Aptekarev * sync descriptions (#5893) * Add REST API docs page with advanced settings configuration (#5890) * Don't mention docker in a list of python envs * Create a REST API page * Update docs to get api keys from the hub * Update installation instructions * Mention requirement of poetry and toml in source installation section * move rest page up to the top. and add url to google colab example notebook --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix a v3 syntax example (#5891) * Adds federal reserve data points (#5885) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * Check if outdated (#5898) * Add econometrics API tests (#5899) * Docs/excel update (#5889) * update xl docs * update syntax line * update again * Fix pylint scope (#5895) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring * Debug pylint * Adjust the fetch depth --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix `from openbb import obb` asyncio lock in python REPL (#5896) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/financials - PR for working on structure of financial statements. (#5794) * balance sheet draft * balance_sheet draft * cash_flow draft * income_statement draft * intrinio financials * description * period field * ruff * income statement * field * label - gross profit ratio * cash flow statement * investing order * add option for caching to cashflow * add caching to balance and income * typos and update order for financial institutions * replace 0 values with None * add financial ratios from intrinio * black * missing test params * balance cassette * query param description * symbol list warning * black * handle BRK-A and symbols with a dash for Intrinio * fix typo error * add free cash flow to bottom of cash flow statement * amortization_expense * dev_install.py * undo dev_install.. wrong branch * cash flow order things * standardized cash flow * fields * integration tests * cash flow model validator * more polygon cash * black * black * Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py wrong file * balance sheet * some cleanup * ruff * income statement * black * test params * financial ratios async update * recapture fmp and polygon tests * yFinance financials * yfinance tests * delete financial_statements standard model * intrinio balance sheet order * fiscal year standard param * remove file accidentally committed * add reported_financials end point * fiscal_year param for reported_financials * fix url * fmp test cassette * add safe-guard with warning for fiscal year before 2008 * periods can only be annual and quarter * url in docstring correction * add fiscal_year param to intrinio standardized financials and ratios * fix fmp ratios * black * rename fields as per Minh * rogue field * black * Fix typo in a docstring * Resolve linting errors * type ignore * disable=unused-argument * changing the arg name cc @minhhoang1023 --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904) * add warning at top of page - instructions are for installing the Terminal app * pip install openbb-nightly * hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907) * update income statement fields * another polygon field * ratio -> margin * black * explicit fmp fields * add reported_currency for standardized intrinio * # pylint: disable=unused-argument * another unused-argument * black.. * patch tests * polygon income: eps -> basic earnings per share * re-capture terminal portfolio menu test --------- Co-authored-by: hjoaquim * Fix test (#5916) * Fix test * Skip ultima integration tests --------- Co-authored-by: Pratyush Shukla * hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918) * replace zeros with none and normalize percents * pylint unused argument * Update index.md (#5906) * Release/4.1.0 (#5901) * Hotfix/terminal tests (#5919) * skip supressed arguments * silent way of customly load on quote * specify source for call_load * docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914) * platform vs sdk faq page * add data and data providers faq section and some style cards * typo * makes changes as per reviews * openbb-nightly as a way to install everything * jupyter-lab instead of jupyter --------- Co-authored-by: Henrique Joaquim * hotfix/backend - Initialize OpenBBFigure (#5912) * create backend * openbb_figure * black * pylint * pylint again --------- Co-authored-by: Henrique Joaquim * hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923) * multi-ticker support for yfinance futures historical * raise-missing-from * integration test params * equity_historical adjusted kwargs * pylint unused argument * Docs/excel examples (#5920) * regen excel md * add syntax + basic example * fix example * create json with docs map * update docs to latest functions.json + remove tiingo * remove space from examples * minor fix * remove spaces * remove spaces * bug fix: remove folder before generating * fix typo * add link to appsource * fix * Update templates.md * regenerate content * change docs colors * fix light mode * add back tiingo * update functions.json * templates go later * remove Library from reference * Make the excel markdown being generated at runtime * fix reference cards having commands under menu * remove excel/reference folder since this is built at runtime by gh-pages action * black formatting * improve title * add excel to the main page * add excel image bg * make excel sidebar show up next to pro * improve main page * small fix for platform page title * update basics page * add tip to autocomplete --------- Co-authored-by: DidierRLopes * Re-record tests and fix symbol bug (#5924) * Re-record tests and fix symbol bug * nordvpn us ftw * @IgorWounds says "SPY >> IOO" --------- Co-authored-by: Pratyush Shukla * Docs/bug fix (#5926) * fix pro link * fix wrong example * Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925) * introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint * add default args to test * Add json_schema_extra to openapi.json (#5930) Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * feature/standardize-quote: Proposal to Standardize EquityQuote (#5922) * standardize EquityQuote * intrinio reference * rogue comma * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921) * add fiscal_period to revenue by geography and business line * data description and unused imports * update test cassette * Allow multiple symbols `equity.profile` (#5929) * allow multiple symbols * pylint * pylint ignore position * change callback to helper func --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * Add filtering to AV historical price (#5928) * add filtering to av historical price * lints --------- Co-authored-by: Pratyush Shukla * Fix vwap FMP error (#5936) * Fix vwap FMP error * Linting * Painlint * Add date filter + symbols to comp (#5931) * add date filter + symbols to comp * make sure year is in d * tests fix * Improving Platform's import time (#5894) * missing decorator * missing optional statements * us-gov to optional and right position * removing redundant call * lazy load mappings * docstrings * introducing the extension loader class * misleading docstring * using the extension loader on the router * using the extension loader on the credentials * docstrings * lazy load of entry points * checkout dev_install * using the extension loader to get the entry points instead of recalling the function * improved auth service and charting service * using the extension loader on the registry * typos * adding properties to extension loader for easy access * using the extension loader on the package builder * avoiding circular imports by using forward references * fix charting service tests * test for the extension loader * Update openbb_platform/core/openbb_core/app/model/credentials.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/app/router.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/provider/registry.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * adjustments --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Disable auto_build on test run (#5937) * Disable auto_build on test run * Move to conftest * Update excel docs (#5940) * update basics * update reference generator * Categorize release notes based on labels for OpenBB Platform (#5943) * Categorize release notes based on labels for OpenBB Platform * Add environment variable for GitHub token in labels-PR.yml * Update labeler.yml to use "enhancement" label for feature branches --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Custom deprecation message in API endpoints and Python commands (#5942) * add custom deprecation message feature in routers * add custom deprecation message feature in package builder * using an actual DeprecationWarning instead * fix tests --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * Hotfix/remove unused workflow (#5945) * Disable auto_build on test run * Remove unused workflow * Revert * Hotfix/fix typo (#5948) * Disable auto_build on test run * Fix typo * Revert * docs/data-models-url: Fix URLs on Development Page (#5944) * fix url to the standard models * github links * `equity.fundamental.dividends`: allow filter by date (#5932) * allow filter by date * ruff * pylint * fix tests --------- Co-authored-by: Pratyush Shukla * Create Excel templates page (#5947) * create templates page * Update index.mdx * fix description * update card * remove clsx * Update index.mdx * Update index.mdx * Update index.mdx * Update index.mdx * min height * min height * improve excel docs and point towards hub --------- Co-authored-by: DidierRLopes * hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951) * fix limit param * pylint unused argument, recapture test cassette --------- Co-authored-by: Pratyush Shukla * Docs/remove core refs (#5957) * remove references to core: PathHandler + ProviderInterface * remove unused function * add comment * regenerate * fix a few examples * add comment * rename file * Excel tutorials on the docs (#5956) * update workflows name to tutorial * update title * get barebones to bring in Excel videos * tutorial excel videos in * hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961) * convert intrinio balance sheet values to float type * unused import * typo in alias dict * Update to OpenBB Add-in for Excel (#5965) * Log custom headers (#5966) * add custom headers * fix: send on startup and defaults * pylint * unittests * move government-us to community in dev_install (#5963) * fix: adds logic to check whther user is logged in on hub (#5941) Co-authored-by: Luqman * hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909) * Fixes too many mandatory fields. * black * black again --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: James Maslek * `equity.estimates.price_target` - Integrate with Benzinga (#5946) * deprecation message * fix lints * adding equity.estimates.ratings and fmp as its provider * unit tests for fmp * removing unused file * typos * add benzinga to AnalystRatings * revert changes to estimates router * moving it to price target instead * reverting changes * fmp support for multiple ticker * benzinga price target * ruffy * unused argument * fix type hints * tests for the new fetcher * new integration tests * fixing tests * missing std arg --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962) * deprecate index.market and add index.price.historical * add index.historical standard model * add index.historical provider models * index extension tests * provider tests * linting * bug fix (#5969) * Uppercase excel reference (#5958) * uppercase reference * fix name header * add tab title * remove reference excel folder * add to gitignore excel reference files --------- Co-authored-by: DidierRLopes * move templates (#5970) * Release 4.1.1. (#5964) * update dev_install * fix effr test * Update dev_install.py * fix fundamental balance test * fix equity price historical test * fix price target model * black * rebuild static files * update publish.md * fixed dev_install * update publishing doc * updated `openbb-core` to 1.1.1 * updated extensions * updated providers * updated `openbb` package * updated static extension map * updated publishing doc * fixed toml for `openbb-finra` * @jmaslek yfinance IS DEFAULT * updated static --------- Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim * Fix link to discord channel (#5910) Co-authored-by: James Maslek * Fixing Posthog handler for thread safety (#5968) * fixing posthog handler for thread safety * removing loggging init from the global scope - per sensei juan --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update labeler.yml and labels-PR.yml (#5974) * hotfix/ allow multiple `identify` calls (#5976) * allow multiple `identify` calls * Update posthog_handler.py * regex out any invisible control character from sales_conditions field (#5977) * docs/http-requests: Contributor Guide For Building HTTP Requests (#5973) * contributor guide for http requests * add a docstring * add section on get_querystring * extra space * add note for people installing PyPI in a zsh terminal shell --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/add-yfinance-functions: Add equity.profile for yFinance (#5978) * equity profile for yFinance * pylint * equity quote * unused imports * remove yfinance from extras in toml (#5982) * Release OpenBB Platform v`4.1.3` (#5983) * fixing pyproject.toml * adding pandas-ta to technical package for publishing * bumping technical * test for pyproject toml * feature/cboe-async: Refactor Cboe for Async (#5900) * refactor cboe for async * codespell * unused imports * pylint * more pylint * platform metadata * classmethod decorator * test params * intrinio quote * test param names * date in test needs to be a datetime.date not string * make fmp unix timestamp tz-aware and normalize percent change * different way of parsing datetime string * recapture cboe equity historical test * unused import * index snapshot update * black * extension map * pylint * cboe pyproject.toml * proposal to standardize equity_quote * one more file * removing changes on static assets * index_historical * index_historical again * last_time -> last_timestamp * obsolete router path * fix tests * test param * restore market index deprecation that I forgot about * fixing tests --------- Co-authored-by: hjoaquim * Fix typo in website/README.md (#5980) * Fix typo in website/README.md * Update linting.yml * Update linting.yml * Update linting.yml * Change ref conditions * Update linting.yml --------- Co-authored-by: Luqman Co-authored-by: Luqman * Hotfix/th etfs (#5959) * added etf trading hours * black formatter --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Luqman * feature/finviz-provider: Adds Community Finviz Provider Extension (#5952) * add finviz provider * recapture tests * recapture tests again? * invalid test param * static packages * units_measurement -> unit_measurement * static packages as core only * openbb_core version bump in pyproject.toml * try adding user-agent to test response * fix tests * linting * provider model cosmetic changes * fix install script and typo in openbb toml * static * fix: re-record unittests * empty data error * definitions as a file --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: Diogo Sousa * Add support for multiple symbols on `obb.equity.price.historical` (#5984) * av - support for multiple symbols * tiingo - support for multiple symbols * include symbol only if necessary * update extension descriptions page (#5985) * remove useless file (#5991) * added symbol to headers (#5981) Co-authored-by: Pratyush Shukla * Fixing Docs Typos (#5955) * fixed typo * fixed stocka typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: DidierRLopes * fix nasdaq test cassettes (#5989) * don't include `custom_headers` in openapi schema (#5994) * hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987) * drop None rows from intrinio historical indexes * add empty data error * static assets * hotfix/insider-trading: Fix #5988 (#5990) * fix validation errors * empty strings * validator --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: teh_coderer * CI listing quick fix (#6002) * BIGGGG LINTING * fixing lints * fixing lints * black * very ruff * no export * fix hedge_view again * lints * platform lints * lints * black * black it @hjoaquim * fix some more linting --------- Co-authored-by: hjoaquim * Release `openbb-finviz` `1.0.0` to the public (#6000) * set version to `1.0.0` * Set correct dep version in main package * Add `finviz` to table * Auto Labelling for OpenBB Excel Docs Changes (#5998) * Update pull request labels * Update labeler.yml with new label for Excel files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Support for custom examples in router commands (#5993) * Disable auto_build on test run * Add support for custom router examples * Revert odd file change * Fix API pollution * Refactor examples with @montezdesousa * Check if model is inside the PI * Fix * feat: add & fix examples (#6001) * feat: add & fix examples * fix: ruff + comment * feat: read parameter pool from file * feat: typing + unit test * Disable auto_build on test run * Add field order to OBBject * Revert * lint and revert * fix test --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Diogo Sousa * hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997) * fix compare between str and datetime * unused argument * get_weekday * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Field order added to the OBBject extra as preference (#5999) * Disable auto_build on test run * Add field order to OBBject * Improvements * Remove noxfile * Disable auto_build on test run * Add field order to OBBject * Revert * lint * Add docs * Not sure how this happened * lint * Update `openbb-devtools` (#6008) * update deps * unpinned package versions from gh linting action * codespell * updated black dependency * linting * linting * linting * pin codespell version * black * black again * install devtools in linting action * format w new black (#6009) * format w new black * format w new black * black again * black the terminal * ignoring unused arguments --------- Co-authored-by: Pratyush Shukla * remove reviewpad (#6010) * Remove Ultima provider (#6012) * Add OECD unemployment (+more) + data cache idea (#5917) * Add OECD unemployment + data cache idea * Docstring edits * Tests * Add composite leading indicator * i truested ruff --fix too much * Add short + long term interest rates * pylint * pylint2 * was not committing. my b * add csv cache + make it default. remove pyarrow from poetry * Clean up * Didnt run on this file. My bad * Why was this ignored /shrug * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/improved pr template (#6018) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * better pr templates * developer template * [Feature] - Custom deprecation (#6005) * custom deprecation * custom deprecation * using the new deprecation * custom deprecation on the package builder * remove comment * ruff * black * static assets * tests * using parametrization instead * test for deprecated endpoints (#6014) * Deprecation warning on the reference docs (#6015) * typo/fix * bring back methods needed for markdown generation * add deprecation warning to docs * contributor docs for deprecating endpoints - tks @deeleeramone * small changes on publishing procedure per @the-praxs * moving the deprecation summary class to deprecation file instead * explanation on class variables * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update openbb_platform/openbb/package/index.py Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * deprecating on 4.3 instead @the-praxs --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla * [BugFix] Fix package builder (#6022) * fix: remove specific imports * adjustments for correct deprecation * static assets --------- Co-authored-by: hjoaquim * [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013) * historical attributes standard model - * add support multiple tags * add `tag` field in data * add support for multiple tags in historical attributes * set correct return type in `callback` function * latest attributes standard model - * add support for multiple tags * add `tag` field in data * add support for multiple tags in latest attributes * add test params for the attributes endpoints * add support for multiple `symbol` and add `symbol` field in the data * modified code to fetch data from multiple symbols and throw warning as per @deeleeramone * add params for testing multiple symbols * linting * fix test params * fixed condition to check if its a `Dict` type * updated intrinio fetcher tests for the statements * updated static * [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011) * fmp overview to equity profile * deprecation warning * urls * wrangle fields * black * pylint unused argument * insert additional securityID fields to standard model * custom deprecation using OpenBBDeprecationWarning * typo - need to have the deprecated=True flag * static assets * fix non related test * minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] - Remove duplicate code (#6025) Co-authored-by: Pratyush Shukla * remove `SectorNews` from router and standard models (#6026) * feature/more-yfinance: Adds some more to openbb-yfinance (#5979) * equity profile for yFinance * pylint * equity quote * unused imports * price target consensus * add currency field * add share_statistics * don't append empty result to results * key executives * missing definition in key_executives * pylint * key metrics * add currency to key metrics * add etf_info * rename trailing_annual_dividend -> dividend_rate_ttm * add institutions count to share_statistics * add historical dividends * add logic for start-end dates to historical_dividends * recapture the test..? * funny test * filter on tests? * record test with clean cache..? * year_price_change -> price_return_1y in key_metrics * black * make descriptions clear for beta and dividend_yield fields * add description field to standard model * updated static * clear description of shares_implied_outstanding field * updated static for equity * clean descriptions --------- Co-authored-by: Pratyush Shukla * feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760) * add commodity extension and add lbma fixing endpoint * dev_install.py * readme url * renovate the standard model * makes a query_params model for nasdaq data link * literal not optional * unused imports * missing test params * test cassette * DataLink query param description * test file import * actually fix import * from openbb_core.provider..... * ruff * another import statement * black * async router * move query_params * update version * version numbers * extension_map * satisfy pylint? * pylint * Update pyproject.toml * black * poetry lock * Update extension_map.json * Update __extensions__.py * Update module_map.json * clean descriptions --------- Co-authored-by: Pratyush Shukla * Improve UX for `obb.news` (#5986) * adding date,start_date and end_date to std params * add date to special params which should've another type * change types to dateType * change helper to accomadate changes in types * date filtering * using the date filtering for all providers * date params on the std model instead * adding the right type * filtering dates on world news * integration tests * fix descriptions * static assets * black * Revert "black" This reverts commit 7288b59f87e1b0816733a96ce77fb96e13dcf0e3. * lint * addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing * tests accordingly * static assets * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Improve Standardization - `IndexHistorical` (#6030) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * fix tests * keep the skip * fix test * [Feature] - Refactor Response Model (#6024) * Start refactor with @montezdesousa * feat: add response model inside openapi_extra * feat: find+replace return types * fix: ruff * Feature/api response by provider (#6029) * init * Update router.py * Update registry_map.py * check dicts * lint * exclude provider on data model for package build * `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data` --------- Co-authored-by: Diogo Sousa Co-authored-by: teh_coderer * [BugFix] - Improve Standardization - `CotSearch` (#6031) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * keep the skip * fix test * adding missing param * fix tests accordingly * Docs/byod (#5996) * add byod to reference * fix: rename add-in name * feat: add data conectors page * fix: additional notes * tiny tweaks * update functions.json and openapi.json * fix: fix bug in hedge controller * fix: another bug hedgecontroller * black --------- Co-authored-by: DidierRLopes * Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006) * date -> ex_dividend_date * nasdaq historical dividends * black * pylint * intrinio alias_dict * dividend_currency -> currency * yfinance field name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023) * fix: remove specific imports * make polygon historical tz-aware * undo including that commit * that PR wasn't supposed to be there. * pylint unused argument * fix polygon crypto historical intervals * pylint * new cassette * fix the rest of the polygon historical price query params * black * pylint.. * integration test param * appease daylight savings handling * paginate for crypto currency and index * black * raise EmptyDataError when no results instead of returning an empty list * ruff --------- Co-authored-by: Diogo Sousa * Hotfix/wrong pydantic validator (#6037) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * Use field_validator instead * fix openapi schema fields `to_snake` (#6036) * Fix data connectors link typo (#6038) * [BugFix] - Improve Standardization - `EquitySearch` (#6033) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * use_cache as std * adjust tests * keep the skip * re-record test * black * Docs / only display results for current platform (#6017) * Update index.js * Update index.js * yfinance * tzcache no longer exists * fixxy * ruff --------- Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek Co-authored-by: Andrew * Improve the docstrings (#6040) * Improve the docstrings (#6041) Co-authored-by: Henrique Joaquim * dont run base tests with v4 label (#6046) * Sync excel reference (#6039) * sync excel reference * fix: change delimiter to comma * feat: update data connectors * test skipping wf * Update unit-test.yml * Update unit-test.yml * test skipping wf * watch label changes * Update unit-test.yml * [Enhancement] - Improve `news` router docs and examples (#6047) * better docs * static assets * Feature/platform standardization notebook (#6049) * Add platform standardization overview notebook to examples * Add py.typed marker to openbb-fred * [Enhancement] - Improve `currency` router docs and examples (#6045) * currency search * reference rates * historical price * static assets --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * display warnings based on preference (#6051) * [Enhancement] - Improve `crypto` router docs and examples (#6048) * crypto search add validation for '-'-separated pairs * set default query value to None * improve /crypto description with custom examples * improve /crypto/price/historical description with custom examples * updated static for crypto menu * ignore line too long * linting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Final Implementation of Changelog V2 (#6050) * Updated the release drafter to process the released changelog for OpenBB Platform * Update release drafter configuration * Add OpenBB Documentation Changes and Create Release * Update process_changelog.py path in draft-release.yml * Update release-drafter version and save changelog * Copy changelog with python * Update draft-release.yml to save Changelog * Update draft-release.yml * Encode and save Changelog to Base64 * Update Changelog saving method * Update Changelog format * Update CHANGELOG.md with release notes * Fix draft release workflow * Add cat command to print CHANGELOG.md * Add platform-drafter.yml and update release-drafter.yml and draft-release.yml * Commented out config-name in release-drafter step * Update branch name validation and process_changelog.py * Refactor process_changelog.py to improve readability and maintainability * Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * improve discriminator logic, fix package return type docs (#6052) * improve discriminator logic, fix package return type docs * Update registry_map.py * build package * Update registry_map.py * defaults * Update registry_map.py --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add LLM tools example notebook (#6053) * Add LLM tools example notebook * Update README, rename example notebook --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove the preference (#6055) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Standardise multiple symbols input (#6056) * feat: remove list of str * fix: update cpi * package builder + cpi * build * fix: update unittests * fix: check_item * fix: unittests * Improve the docstrings (#6057) * update economy router docstrings (#6058) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix OECD Long Term Interest Rate (#6060) * fix long term interest rate * pylint unused argument * [Bugfix] - Fix economic calendar country (#6059) * fix economic calendar country * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063) * sp500 multiples cleanup * remove dict from standard model * static pacakge * pylint * [Feature] FMP Current Holdings (#6043) * add fmp current holdings to etf holdings * pylint unused argument --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Replace symbols in company/news (#6061) * feat: replace symbols in /news * fix: integration tests * fix: integration tests api * fix: typo * Update test_intrinio_fetchers.py * [Enhancement] Add function examples to router. (#6042) * options router * fixedincome router * futures router * missing comma * static assets * futures router --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] Add function examples to Regulators Router (#6054) * options router * fixedincome router * futures router * missing comma * static assets * futures router * sec router * cftc router * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix World News (#6064) * fix fmp * fix intrinio * fix biztoc * actually commit intrinio fix * fix tiingo * unused import * fix tests * black * ruff * benzinga empty strings * codespell * fix test? * more empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - remove unused validators from standard models (#6067) * update standard models * lint * Update USD Liquidity Example Notebook for V4 (#5902) * Update USD Liquidity Example Notebook for V4 * delete some v3 text in the copperToGold * Update README.md * findSymbols preview image * Google Colab preview image * financialStatements preview * content tsx file * ### title * convert tsx to json * indent size * double quote keys.json * trailing commas * Update content.json * patch --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix QA Examples (#6072) * [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073) * bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs * Update branch naming guidelines link --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/charting obbject (#5938) * fix circular import issues on the obbject extension framework * settings available on the obbject * extension init * charting assets and code * introduce to_chart functionality * removes the to_chart method from obbject in detriment of the one from the obbject extension * Update openbb_platform/obbject_extensions/charting/charting/__init__.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix on the show method * adding the example to the to_chart docstring * copying the exsting README from charting extension - needs to be revamped * moving to openbb_charting instead * update the pyproject.toml file * pydocstyle * versions * better docstrings * making accessors public * removing unnecessary credentials variable cc @montezdesousa * removing access to extra/metadata and use designated private attrs instead * Fixes linting for the logging service (#5992) * lints * typing.Type instead * deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it * tests for the obbject charting extension * removing charting service from command runner * filter functions not implemented in the module * remove charting service tests * removing charting service on the tests for int tests * charting integration tests * removing charting service file * removing old charting extension code * revamp builder * fix obbject tests * fix command_runner tests * removing openbb_figure_table * better website docs * reviewed readme * unsetting api key for posthog (pywry) windows * added debug_mode to the system settings * removing api key * update nightly script * fix tests * black * black * Revert "black" This reverts commit 21d76ad689087b4ad38cec55667186263363c89f. * Revert "black" This reverts commit 0904653fd73518c0d345a82f91f4cb06cfa84cb6. * black for henrique * returning a list instead * better docstrings * removing unnecessary indicators docstring * typo * black * intentional access to protected member * changes to publish script * filtering deleted files * black * adding render argument * fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named * adding the hability to add you own data to to_chart method * tests * black * disable protected access * accept kwargs to eg. save image * adjustment cc Igor * add if statement for protection * remove unused return typing * fix technical charting views * better error message cc @IgorWounds * better structure and fix test * Revert "better structure and fix test" This reverts commit 612ea6117ce064d5e41f74e72e171646be614408. * Revert "better error message cc @IgorWounds" This reverts commit 3d7ee53878b7742d187e83f7e5d4c27438aa40ef. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix CAPM example (#6075) * Start removing dead v3 commands for deprecation (#6070) * Yeet tokenterminal * Yeet crypto/onchain/hr and gwei * yeet luna * yeet coinglass * yeet dps/ctb * yeet reddit * yeet covid * actually not yeeting hide yfinance future warning * yeet options/hedge * not yeeting. i18n words * something happened on accident * still fixing * git reset/git checkout -f 2516cfbc72d23a7656715314ea94cc34d4c994ee website/content * still not sure whats going on * Edit workflow to not look at deleted files + change bootup message * Dont pin the workflow to my branch always lol * Remove askobb * [Feature] - Comma separated string and list inputs (#6062) * feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim * [Feature] Add Regional Data Endpoint from FRED (#6071) * add regional data endpoint from FRED * codespell * ruff * sort imports * add provder='fred' to integration test * thought I already sorted those imports.. * pylint.. * more test params.... * even more test params... * even more test params.... * static assets * reconfigure params * ruff * alias dict * recapture cassette * router doctstring --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix most integration tests (#6082) * Fix most integration tests * Lint * Fix price_target column for Benzinga (#6083) * Release/4.1.4 (#6081) * static assets * patch version increase * core update * bumping versions * bump finviz version * bump versions * bump versions on package.extension --------- Co-authored-by: James Maslek * Add dates to /quantitative as needed. (#6078) * Add dates to /quantitative as needed. Run new black * Fix tests * Pycharm is weird sometimes * uncommit * Add default window + error handling + mistake --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079) * add etf.equity_exposure from FMP * empty data error * recapture cassette * pylint unused argument * Fix router example typo * fix test...? * static file to fix test? * fix test..? * __json_schema_extra__ * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [BugFix] Fix Equity Integration Tests (#6086) * fix equity integration tests * black * pylint * black * black * move df_apply to helpers * unused import * remove file that shouldn't have been added * oops. didn't remove a couple lines * [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088) * standardize price_target * add analyst search * black * more black * ruff * linter, test parmas * last missing param * get rid of convert to upper * ruff * pylint * [BugFix] - Fix POST docstring examples (#6095) * Fix POST docstring examples. * Move router examples to command decorator * [BugFix] Fix `treasury_rates()` (#6092) * fix treasury_rates * drop rows with no data --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * clean up the remains from my yeeting (#6089) * clean up the remains from my yeeting * was not careful * Add ETF examples (#6102) Co-authored-by: Pratyush Shukla * [BugFix] Fix integration tests (#6100) * fix int tests * fix obbject int tests * fix quant tests * fix index tests * use python 3.10 instead * remove cache * end_date < start_date * [Enhancement]: Add TMX data provider extension. (#5913) * dev install * add TMX provider extension * normalize ytm and coupopn_rate values * black * codespell * ruff * black again * pylint * ftw * undo what Pylint thinks is best * more black * renovate insider_trading standard model * fix tests * typo * tests * empty string * pylint unused argument * nans for some reason * black * static files * static files with openbb-tmx installed this time * yfinance TypeError..? * NA -> N/A * update for version bump * list exchange-calendars as tmx dependency * eod chains date -> eod_date * new line * not that file * more black * one more black * fix weird merge thing * ruff * index constituents params * insider trading * fixing things * black * black AGAIN * news integration params * the other missing param * ruff * historical dividends field update * add json_schema_extra * gainers * symbols -> symbol * company news symbol * unit test param * review items * wrangle a rogue field * index router example * company news thing - symbols -> symbol * field name map --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek * [Feature] - OBB.GET (#6097) * create OBB.GET and data slicer page * remove quotes * format description * wording * functions.json * sidebar position * remove if stamente * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exceptio… * [BugFix] - Json schema extra broken in standard models (#6212) * Separate standard models in registry map * fix --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Enhancement] Sync `reference.json` and Platform function docstring (#6211) * obbject params stored as a list of dict platform markdown generator processes obbject returns into a string * process field types further * process field type correctly * fixed models * mypy suggestion was sus * updated assets and packages --------- Co-authored-by: Henrique Joaquim Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Release/3.2.5 (#6218) * remove ultima + althub * move twitter keys * [Critical] Sync `main` with `develop` (#6202) * feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863) * intrinio equity search * integration tests * test --------- Co-authored-by: James Maslek * feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845) * yfinance multi-ticker support * multi-ticker support for market indices * crypto multi-ticker support * recapture tests * yfinance cache and tests * currency historical multi-ticker support * style things * black * missed a values --------- Co-authored-by: James Maslek * Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776) * add treasury prices endpoint to fixed income router * adds tests * black * ruff * import statements * standard model imports * black * some cleanup * black * async router * make async * str outpuot * bytes object not string * docstring typo * multi-line f-string * encoding * duplicated conditional * black --------- Co-authored-by: James Maslek * feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757) * add ETF holdings from SEC provider * black * helper function params * edge cases * ruff * add validator in company filings * remove xml field * update import * cleanup parsing * missing datetime import in company_filings * black * unused import * add missing py.typed files * feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790) * add nasdaq to equity search * black * unused import * make async --------- Co-authored-by: James Maslek * Excel docs (#5870) * first test * remove old reference * bring this file back * generate sidebar and write empty mds * generate index.mdx * get description from cmd_lib * fix reference card error * rename file * generate markdown * regen * add last+hist * update pages with seo metadata * format types * small fix * css sux * add usage placeholder * set hidden by default * nah * add cmds and menus to reference * lint * fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py * format mds * remove space * fix commands heading * redo folder structure * add back cmd description * move card to var * different main folder * clean * move vars * refer to editor * rename var * done * recreate folder structure * add section: syntax + minor adjustments * remove return type * remove return type * rename api to library * minor fix * remove api folder * remove api folder * formatting * improve basics * basics * fetch functions.json from website * complete basic * change syntax to use semi-colon * basics * basics * remove space in sig * remove sections * add metadata * Update formula builder * add tabs * Update index.md * complete basics and formula_builder * Update index.md * add windows screenshots * restructure folders * regenerate with latest add-in version * move Excel sidebar * rename function and add comment * now it's working * logic * rename folder * Update formula_builder.md * fix * hide excel for now * some explicit typing --------- Co-authored-by: tehcoderer * Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822) * init * Update helpers.py * filter URL on raise * polygon, fmp done, update cassettes * updates * cleanup * revert tests for now * Update discovery_filings.py * Update helpers.py * add `async` overload to `Fetcher.extract_data` * update merged fred models * tests, improve fred series * Update insider_trading.py * insider * tests * intrinio * Update equity_historical.py * implement abstract async extract on Fetcher, with simple switch * cleanup * Update helpers.py * Update helpers.py * fix fmp historical deprecated urls * Revert "fix fmp historical deprecated urls" This reverts commit 1a760a24737ed3d1439472bdb4c47aa778bcce8b. * fix fmp `index.market` 1day url missing query params * Update test_fmp_market_indices_fetcher.yaml * field fixes * `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request` * `async_requests` -> `amake_requests` * Update company_news.py * add sort to index `integration` params * add `client.py` tests * Update equity_search.py * Add lost v in platform api version string * Resolve linter errors here and there --------- Co-authored-by: Theodore Aptekarev * Allow this to be run in parallel (#5872) * Limit mypy v3 linting to only the diff of the PR (#5878) * Use custom parametrize from news menu tests (#5873) * Use custom parametrize from news menu tests * Update Ultima unit test cassettes * Command Schema (#5874) * POC * Filter by provider * pass base_app as parameter * add typing + TODO * fix some typing * Fix unit tests --------- Co-authored-by: Diogo Sousa * Parameterize `obbject.to_df` with `index` and `sort_by` (#5877) * Parameterize obbject.to_df with index and sort_by * unit tests for obbject * keep using the date as default to use on basemode_to_df() --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Changes to the `obb.fixedincome.corporate.hqm()` output (#5876) * changes to the hqm output * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Refactor method in RegistryMap (#5879) * refactor extract_info * add comment --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove Literal from providers in OBBject (#5882) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix version (#5883) * Fix version * Fix linter on terminal * Refactor package builder (#5880) * breakdown builder + remove black * rebuild * rebuild * rebuild * rename method * format built code without black * we still lint if it's available * fix existing tests * add linter tests * add black to dev deps * auto_build as instance method * reorder methods * typing --------- Co-authored-by: Henrique Joaquim * small refactor for simplification (#5886) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix bug. Add router test. (#5888) * Fix bug. Add router test. * Simplify * separate pylint between platform + terminal (#5892) * separate pylint b/w platform + terminal * Explicitly set pylint check scope to files in the diff --------- Co-authored-by: Theodore Aptekarev * sync descriptions (#5893) * Add REST API docs page with advanced settings configuration (#5890) * Don't mention docker in a list of python envs * Create a REST API page * Update docs to get api keys from the hub * Update installation instructions * Mention requirement of poetry and toml in source installation section * move rest page up to the top. and add url to google colab example notebook --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix a v3 syntax example (#5891) * Adds federal reserve data points (#5885) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * Check if outdated (#5898) * Add econometrics API tests (#5899) * Docs/excel update (#5889) * update xl docs * update syntax line * update again * Fix pylint scope (#5895) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring * Debug pylint * Adjust the fetch depth --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix `from openbb import obb` asyncio lock in python REPL (#5896) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/financials - PR for working on structure of financial statements. (#5794) * balance sheet draft * balance_sheet draft * cash_flow draft * income_statement draft * intrinio financials * description * period field * ruff * income statement * field * label - gross profit ratio * cash flow statement * investing order * add option for caching to cashflow * add caching to balance and income * typos and update order for financial institutions * replace 0 values with None * add financial ratios from intrinio * black * missing test params * balance cassette * query param description * symbol list warning * black * handle BRK-A and symbols with a dash for Intrinio * fix typo error * add free cash flow to bottom of cash flow statement * amortization_expense * dev_install.py * undo dev_install.. wrong branch * cash flow order things * standardized cash flow * fields * integration tests * cash flow model validator * more polygon cash * black * black * Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py wrong file * balance sheet * some cleanup * ruff * income statement * black * test params * financial ratios async update * recapture fmp and polygon tests * yFinance financials * yfinance tests * delete financial_statements standard model * intrinio balance sheet order * fiscal year standard param * remove file accidentally committed * add reported_financials end point * fiscal_year param for reported_financials * fix url * fmp test cassette * add safe-guard with warning for fiscal year before 2008 * periods can only be annual and quarter * url in docstring correction * add fiscal_year param to intrinio standardized financials and ratios * fix fmp ratios * black * rename fields as per Minh * rogue field * black * Fix typo in a docstring * Resolve linting errors * type ignore * disable=unused-argument * changing the arg name cc @minhhoang1023 --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904) * add warning at top of page - instructions are for installing the Terminal app * pip install openbb-nightly * hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907) * update income statement fields * another polygon field * ratio -> margin * black * explicit fmp fields * add reported_currency for standardized intrinio * # pylint: disable=unused-argument * another unused-argument * black.. * patch tests * polygon income: eps -> basic earnings per share * re-capture terminal portfolio menu test --------- Co-authored-by: hjoaquim * Fix test (#5916) * Fix test * Skip ultima integration tests --------- Co-authored-by: Pratyush Shukla * hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918) * replace zeros with none and normalize percents * pylint unused argument * Update index.md (#5906) * Release/4.1.0 (#5901) * Hotfix/terminal tests (#5919) * skip supressed arguments * silent way of customly load on quote * specify source for call_load * docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914) * platform vs sdk faq page * add data and data providers faq section and some style cards * typo * makes changes as per reviews * openbb-nightly as a way to install everything * jupyter-lab instead of jupyter --------- Co-authored-by: Henrique Joaquim * hotfix/backend - Initialize OpenBBFigure (#5912) * create backend * openbb_figure * black * pylint * pylint again --------- Co-authored-by: Henrique Joaquim * hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923) * multi-ticker support for yfinance futures historical * raise-missing-from * integration test params * equity_historical adjusted kwargs * pylint unused argument * Docs/excel examples (#5920) * regen excel md * add syntax + basic example * fix example * create json with docs map * update docs to latest functions.json + remove tiingo * remove space from examples * minor fix * remove spaces * remove spaces * bug fix: remove folder before generating * fix typo * add link to appsource * fix * Update templates.md * regenerate content * change docs colors * fix light mode * add back tiingo * update functions.json * templates go later * remove Library from reference * Make the excel markdown being generated at runtime * fix reference cards having commands under menu * remove excel/reference folder since this is built at runtime by gh-pages action * black formatting * improve title * add excel to the main page * add excel image bg * make excel sidebar show up next to pro * improve main page * small fix for platform page title * update basics page * add tip to autocomplete --------- Co-authored-by: DidierRLopes * Re-record tests and fix symbol bug (#5924) * Re-record tests and fix symbol bug * nordvpn us ftw * @IgorWounds says "SPY >> IOO" --------- Co-authored-by: Pratyush Shukla * Docs/bug fix (#5926) * fix pro link * fix wrong example * Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925) * introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint * add default args to test * Add json_schema_extra to openapi.json (#5930) Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * feature/standardize-quote: Proposal to Standardize EquityQuote (#5922) * standardize EquityQuote * intrinio reference * rogue comma * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921) * add fiscal_period to revenue by geography and business line * data description and unused imports * update test cassette * Allow multiple symbols `equity.profile` (#5929) * allow multiple symbols * pylint * pylint ignore position * change callback to helper func --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * Add filtering to AV historical price (#5928) * add filtering to av historical price * lints --------- Co-authored-by: Pratyush Shukla * Fix vwap FMP error (#5936) * Fix vwap FMP error * Linting * Painlint * Add date filter + symbols to comp (#5931) * add date filter + symbols to comp * make sure year is in d * tests fix * Improving Platform's import time (#5894) * missing decorator * missing optional statements * us-gov to optional and right position * removing redundant call * lazy load mappings * docstrings * introducing the extension loader class * misleading docstring * using the extension loader on the router * using the extension loader on the credentials * docstrings * lazy load of entry points * checkout dev_install * using the extension loader to get the entry points instead of recalling the function * improved auth service and charting service * using the extension loader on the registry * typos * adding properties to extension loader for easy access * using the extension loader on the package builder * avoiding circular imports by using forward references * fix charting service tests * test for the extension loader * Update openbb_platform/core/openbb_core/app/model/credentials.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/app/router.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/provider/registry.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * adjustments --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Disable auto_build on test run (#5937) * Disable auto_build on test run * Move to conftest * Update excel docs (#5940) * update basics * update reference generator * Categorize release notes based on labels for OpenBB Platform (#5943) * Categorize release notes based on labels for OpenBB Platform * Add environment variable for GitHub token in labels-PR.yml * Update labeler.yml to use "enhancement" label for feature branches --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Custom deprecation message in API endpoints and Python commands (#5942) * add custom deprecation message feature in routers * add custom deprecation message feature in package builder * using an actual DeprecationWarning instead * fix tests --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * Hotfix/remove unused workflow (#5945) * Disable auto_build on test run * Remove unused workflow * Revert * Hotfix/fix typo (#5948) * Disable auto_build on test run * Fix typo * Revert * docs/data-models-url: Fix URLs on Development Page (#5944) * fix url to the standard models * github links * `equity.fundamental.dividends`: allow filter by date (#5932) * allow filter by date * ruff * pylint * fix tests --------- Co-authored-by: Pratyush Shukla * Create Excel templates page (#5947) * create templates page * Update index.mdx * fix description * update card * remove clsx * Update index.mdx * Update index.mdx * Update index.mdx * Update index.mdx * min height * min height * improve excel docs and point towards hub --------- Co-authored-by: DidierRLopes * hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951) * fix limit param * pylint unused argument, recapture test cassette --------- Co-authored-by: Pratyush Shukla * Docs/remove core refs (#5957) * remove references to core: PathHandler + ProviderInterface * remove unused function * add comment * regenerate * fix a few examples * add comment * rename file * Excel tutorials on the docs (#5956) * update workflows name to tutorial * update title * get barebones to bring in Excel videos * tutorial excel videos in * hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961) * convert intrinio balance sheet values to float type * unused import * typo in alias dict * Update to OpenBB Add-in for Excel (#5965) * Log custom headers (#5966) * add custom headers * fix: send on startup and defaults * pylint * unittests * move government-us to community in dev_install (#5963) * fix: adds logic to check whther user is logged in on hub (#5941) Co-authored-by: Luqman * hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909) * Fixes too many mandatory fields. * black * black again --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: James Maslek * `equity.estimates.price_target` - Integrate with Benzinga (#5946) * deprecation message * fix lints * adding equity.estimates.ratings and fmp as its provider * unit tests for fmp * removing unused file * typos * add benzinga to AnalystRatings * revert changes to estimates router * moving it to price target instead * reverting changes * fmp support for multiple ticker * benzinga price target * ruffy * unused argument * fix type hints * tests for the new fetcher * new integration tests * fixing tests * missing std arg --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962) * deprecate index.market and add index.price.historical * add index.historical standard model * add index.historical provider models * index extension tests * provider tests * linting * bug fix (#5969) * Uppercase excel reference (#5958) * uppercase reference * fix name header * add tab title * remove reference excel folder * add to gitignore excel reference files --------- Co-authored-by: DidierRLopes * move templates (#5970) * Release 4.1.1. (#5964) * update dev_install * fix effr test * Update dev_install.py * fix fundamental balance test * fix equity price historical test * fix price target model * black * rebuild static files * update publish.md * fixed dev_install * update publishing doc * updated `openbb-core` to 1.1.1 * updated extensions * updated providers * updated `openbb` package * updated static extension map * updated publishing doc * fixed toml for `openbb-finra` * @jmaslek yfinance IS DEFAULT * updated static --------- Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim * Fix link to discord channel (#5910) Co-authored-by: James Maslek * Fixing Posthog handler for thread safety (#5968) * fixing posthog handler for thread safety * removing loggging init from the global scope - per sensei juan --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update labeler.yml and labels-PR.yml (#5974) * hotfix/ allow multiple `identify` calls (#5976) * allow multiple `identify` calls * Update posthog_handler.py * regex out any invisible control character from sales_conditions field (#5977) * docs/http-requests: Contributor Guide For Building HTTP Requests (#5973) * contributor guide for http requests * add a docstring * add section on get_querystring * extra space * add note for people installing PyPI in a zsh terminal shell --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/add-yfinance-functions: Add equity.profile for yFinance (#5978) * equity profile for yFinance * pylint * equity quote * unused imports * remove yfinance from extras in toml (#5982) * Release OpenBB Platform v`4.1.3` (#5983) * fixing pyproject.toml * adding pandas-ta to technical package for publishing * bumping technical * test for pyproject toml * feature/cboe-async: Refactor Cboe for Async (#5900) * refactor cboe for async * codespell * unused imports * pylint * more pylint * platform metadata * classmethod decorator * test params * intrinio quote * test param names * date in test needs to be a datetime.date not string * make fmp unix timestamp tz-aware and normalize percent change * different way of parsing datetime string * recapture cboe equity historical test * unused import * index snapshot update * black * extension map * pylint * cboe pyproject.toml * proposal to standardize equity_quote * one more file * removing changes on static assets * index_historical * index_historical again * last_time -> last_timestamp * obsolete router path * fix tests * test param * restore market index deprecation that I forgot about * fixing tests --------- Co-authored-by: hjoaquim * Fix typo in website/README.md (#5980) * Fix typo in website/README.md * Update linting.yml * Update linting.yml * Update linting.yml * Change ref conditions * Update linting.yml --------- Co-authored-by: Luqman Co-authored-by: Luqman * Hotfix/th etfs (#5959) * added etf trading hours * black formatter --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Luqman * feature/finviz-provider: Adds Community Finviz Provider Extension (#5952) * add finviz provider * recapture tests * recapture tests again? * invalid test param * static packages * units_measurement -> unit_measurement * static packages as core only * openbb_core version bump in pyproject.toml * try adding user-agent to test response * fix tests * linting * provider model cosmetic changes * fix install script and typo in openbb toml * static * fix: re-record unittests * empty data error * definitions as a file --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: Diogo Sousa * Add support for multiple symbols on `obb.equity.price.historical` (#5984) * av - support for multiple symbols * tiingo - support for multiple symbols * include symbol only if necessary * update extension descriptions page (#5985) * remove useless file (#5991) * added symbol to headers (#5981) Co-authored-by: Pratyush Shukla * Fixing Docs Typos (#5955) * fixed typo * fixed stocka typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: DidierRLopes * fix nasdaq test cassettes (#5989) * don't include `custom_headers` in openapi schema (#5994) * hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987) * drop None rows from intrinio historical indexes * add empty data error * static assets * hotfix/insider-trading: Fix #5988 (#5990) * fix validation errors * empty strings * validator --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: teh_coderer * CI listing quick fix (#6002) * BIGGGG LINTING * fixing lints * fixing lints * black * very ruff * no export * fix hedge_view again * lints * platform lints * lints * black * black it @hjoaquim * fix some more linting --------- Co-authored-by: hjoaquim * Release `openbb-finviz` `1.0.0` to the public (#6000) * set version to `1.0.0` * Set correct dep version in main package * Add `finviz` to table * Auto Labelling for OpenBB Excel Docs Changes (#5998) * Update pull request labels * Update labeler.yml with new label for Excel files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Support for custom examples in router commands (#5993) * Disable auto_build on test run * Add support for custom router examples * Revert odd file change * Fix API pollution * Refactor examples with @montezdesousa * Check if model is inside the PI * Fix * feat: add & fix examples (#6001) * feat: add & fix examples * fix: ruff + comment * feat: read parameter pool from file * feat: typing + unit test * Disable auto_build on test run * Add field order to OBBject * Revert * lint and revert * fix test --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Diogo Sousa * hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997) * fix compare between str and datetime * unused argument * get_weekday * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Field order added to the OBBject extra as preference (#5999) * Disable auto_build on test run * Add field order to OBBject * Improvements * Remove noxfile * Disable auto_build on test run * Add field order to OBBject * Revert * lint * Add docs * Not sure how this happened * lint * Update `openbb-devtools` (#6008) * update deps * unpinned package versions from gh linting action * codespell * updated black dependency * linting * linting * linting * pin codespell version * black * black again * install devtools in linting action * format w new black (#6009) * format w new black * format w new black * black again * black the terminal * ignoring unused arguments --------- Co-authored-by: Pratyush Shukla * remove reviewpad (#6010) * Remove Ultima provider (#6012) * Add OECD unemployment (+more) + data cache idea (#5917) * Add OECD unemployment + data cache idea * Docstring edits * Tests * Add composite leading indicator * i truested ruff --fix too much * Add short + long term interest rates * pylint * pylint2 * was not committing. my b * add csv cache + make it default. remove pyarrow from poetry * Clean up * Didnt run on this file. My bad * Why was this ignored /shrug * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/improved pr template (#6018) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * better pr templates * developer template * [Feature] - Custom deprecation (#6005) * custom deprecation * custom deprecation * using the new deprecation * custom deprecation on the package builder * remove comment * ruff * black * static assets * tests * using parametrization instead * test for deprecated endpoints (#6014) * Deprecation warning on the reference docs (#6015) * typo/fix * bring back methods needed for markdown generation * add deprecation warning to docs * contributor docs for deprecating endpoints - tks @deeleeramone * small changes on publishing procedure per @the-praxs * moving the deprecation summary class to deprecation file instead * explanation on class variables * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update openbb_platform/openbb/package/index.py Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * deprecating on 4.3 instead @the-praxs --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla * [BugFix] Fix package builder (#6022) * fix: remove specific imports * adjustments for correct deprecation * static assets --------- Co-authored-by: hjoaquim * [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013) * historical attributes standard model - * add support multiple tags * add `tag` field in data * add support for multiple tags in historical attributes * set correct return type in `callback` function * latest attributes standard model - * add support for multiple tags * add `tag` field in data * add support for multiple tags in latest attributes * add test params for the attributes endpoints * add support for multiple `symbol` and add `symbol` field in the data * modified code to fetch data from multiple symbols and throw warning as per @deeleeramone * add params for testing multiple symbols * linting * fix test params * fixed condition to check if its a `Dict` type * updated intrinio fetcher tests for the statements * updated static * [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011) * fmp overview to equity profile * deprecation warning * urls * wrangle fields * black * pylint unused argument * insert additional securityID fields to standard model * custom deprecation using OpenBBDeprecationWarning * typo - need to have the deprecated=True flag * static assets * fix non related test * minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] - Remove duplicate code (#6025) Co-authored-by: Pratyush Shukla * remove `SectorNews` from router and standard models (#6026) * feature/more-yfinance: Adds some more to openbb-yfinance (#5979) * equity profile for yFinance * pylint * equity quote * unused imports * price target consensus * add currency field * add share_statistics * don't append empty result to results * key executives * missing definition in key_executives * pylint * key metrics * add currency to key metrics * add etf_info * rename trailing_annual_dividend -> dividend_rate_ttm * add institutions count to share_statistics * add historical dividends * add logic for start-end dates to historical_dividends * recapture the test..? * funny test * filter on tests? * record test with clean cache..? * year_price_change -> price_return_1y in key_metrics * black * make descriptions clear for beta and dividend_yield fields * add description field to standard model * updated static * clear description of shares_implied_outstanding field * updated static for equity * clean descriptions --------- Co-authored-by: Pratyush Shukla * feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760) * add commodity extension and add lbma fixing endpoint * dev_install.py * readme url * renovate the standard model * makes a query_params model for nasdaq data link * literal not optional * unused imports * missing test params * test cassette * DataLink query param description * test file import * actually fix import * from openbb_core.provider..... * ruff * another import statement * black * async router * move query_params * update version * version numbers * extension_map * satisfy pylint? * pylint * Update pyproject.toml * black * poetry lock * Update extension_map.json * Update __extensions__.py * Update module_map.json * clean descriptions --------- Co-authored-by: Pratyush Shukla * Improve UX for `obb.news` (#5986) * adding date,start_date and end_date to std params * add date to special params which should've another type * change types to dateType * change helper to accomadate changes in types * date filtering * using the date filtering for all providers * date params on the std model instead * adding the right type * filtering dates on world news * integration tests * fix descriptions * static assets * black * Revert "black" This reverts commit 7288b59f87e1b0816733a96ce77fb96e13dcf0e3. * lint * addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing * tests accordingly * static assets * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Improve Standardization - `IndexHistorical` (#6030) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * fix tests * keep the skip * fix test * [Feature] - Refactor Response Model (#6024) * Start refactor with @montezdesousa * feat: add response model inside openapi_extra * feat: find+replace return types * fix: ruff * Feature/api response by provider (#6029) * init * Update router.py * Update registry_map.py * check dicts * lint * exclude provider on data model for package build * `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data` --------- Co-authored-by: Diogo Sousa Co-authored-by: teh_coderer * [BugFix] - Improve Standardization - `CotSearch` (#6031) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * keep the skip * fix test * adding missing param * fix tests accordingly * Docs/byod (#5996) * add byod to reference * fix: rename add-in name * feat: add data conectors page * fix: additional notes * tiny tweaks * update functions.json and openapi.json * fix: fix bug in hedge controller * fix: another bug hedgecontroller * black --------- Co-authored-by: DidierRLopes * Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006) * date -> ex_dividend_date * nasdaq historical dividends * black * pylint * intrinio alias_dict * dividend_currency -> currency * yfinance field name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023) * fix: remove specific imports * make polygon historical tz-aware * undo including that commit * that PR wasn't supposed to be there. * pylint unused argument * fix polygon crypto historical intervals * pylint * new cassette * fix the rest of the polygon historical price query params * black * pylint.. * integration test param * appease daylight savings handling * paginate for crypto currency and index * black * raise EmptyDataError when no results instead of returning an empty list * ruff --------- Co-authored-by: Diogo Sousa * Hotfix/wrong pydantic validator (#6037) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * Use field_validator instead * fix openapi schema fields `to_snake` (#6036) * Fix data connectors link typo (#6038) * [BugFix] - Improve Standardization - `EquitySearch` (#6033) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * use_cache as std * adjust tests * keep the skip * re-record test * black * Docs / only display results for current platform (#6017) * Update index.js * Update index.js * yfinance * tzcache no longer exists * fixxy * ruff --------- Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek Co-authored-by: Andrew * Improve the docstrings (#6040) * Improve the docstrings (#6041) Co-authored-by: Henrique Joaquim * dont run base tests with v4 label (#6046) * Sync excel reference (#6039) * sync excel reference * fix: change delimiter to comma * feat: update data connectors * test skipping wf * Update unit-test.yml * Update unit-test.yml * test skipping wf * watch label changes * Update unit-test.yml * [Enhancement] - Improve `news` router docs and examples (#6047) * better docs * static assets * Feature/platform standardization notebook (#6049) * Add platform standardization overview notebook to examples * Add py.typed marker to openbb-fred * [Enhancement] - Improve `currency` router docs and examples (#6045) * currency search * reference rates * historical price * static assets --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * display warnings based on preference (#6051) * [Enhancement] - Improve `crypto` router docs and examples (#6048) * crypto search add validation for '-'-separated pairs * set default query value to None * improve /crypto description with custom examples * improve /crypto/price/historical description with custom examples * updated static for crypto menu * ignore line too long * linting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Final Implementation of Changelog V2 (#6050) * Updated the release drafter to process the released changelog for OpenBB Platform * Update release drafter configuration * Add OpenBB Documentation Changes and Create Release * Update process_changelog.py path in draft-release.yml * Update release-drafter version and save changelog * Copy changelog with python * Update draft-release.yml to save Changelog * Update draft-release.yml * Encode and save Changelog to Base64 * Update Changelog saving method * Update Changelog format * Update CHANGELOG.md with release notes * Fix draft release workflow * Add cat command to print CHANGELOG.md * Add platform-drafter.yml and update release-drafter.yml and draft-release.yml * Commented out config-name in release-drafter step * Update branch name validation and process_changelog.py * Refactor process_changelog.py to improve readability and maintainability * Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * improve discriminator logic, fix package return type docs (#6052) * improve discriminator logic, fix package return type docs * Update registry_map.py * build package * Update registry_map.py * defaults * Update registry_map.py --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add LLM tools example notebook (#6053) * Add LLM tools example notebook * Update README, rename example notebook --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove the preference (#6055) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Standardise multiple symbols input (#6056) * feat: remove list of str * fix: update cpi * package builder + cpi * build * fix: update unittests * fix: check_item * fix: unittests * Improve the docstrings (#6057) * update economy router docstrings (#6058) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix OECD Long Term Interest Rate (#6060) * fix long term interest rate * pylint unused argument * [Bugfix] - Fix economic calendar country (#6059) * fix economic calendar country * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063) * sp500 multiples cleanup * remove dict from standard model * static pacakge * pylint * [Feature] FMP Current Holdings (#6043) * add fmp current holdings to etf holdings * pylint unused argument --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Replace symbols in company/news (#6061) * feat: replace symbols in /news * fix: integration tests * fix: integration tests api * fix: typo * Update test_intrinio_fetchers.py * [Enhancement] Add function examples to router. (#6042) * options router * fixedincome router * futures router * missing comma * static assets * futures router --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] Add function examples to Regulators Router (#6054) * options router * fixedincome router * futures router * missing comma * static assets * futures router * sec router * cftc router * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix World News (#6064) * fix fmp * fix intrinio * fix biztoc * actually commit intrinio fix * fix tiingo * unused import * fix tests * black * ruff * benzinga empty strings * codespell * fix test? * more empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - remove unused validators from standard models (#6067) * update standard models * lint * Update USD Liquidity Example Notebook for V4 (#5902) * Update USD Liquidity Example Notebook for V4 * delete some v3 text in the copperToGold * Update README.md * findSymbols preview image * Google Colab preview image * financialStatements preview * content tsx file * ### title * convert tsx to json * indent size * double quote keys.json * trailing commas * Update content.json * patch --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix QA Examples (#6072) * [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073) * bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs * Update branch naming guidelines link --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/charting obbject (#5938) * fix circular import issues on the obbject extension framework * settings available on the obbject * extension init * charting assets and code * introduce to_chart functionality * removes the to_chart method from obbject in detriment of the one from the obbject extension * Update openbb_platform/obbject_extensions/charting/charting/__init__.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix on the show method * adding the example to the to_chart docstring * copying the exsting README from charting extension - needs to be revamped * moving to openbb_charting instead * update the pyproject.toml file * pydocstyle * versions * better docstrings * making accessors public * removing unnecessary credentials variable cc @montezdesousa * removing access to extra/metadata and use designated private attrs instead * Fixes linting for the logging service (#5992) * lints * typing.Type instead * deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it * tests for the obbject charting extension * removing charting service from command runner * filter functions not implemented in the module * remove charting service tests * removing charting service on the tests for int tests * charting integration tests * removing charting service file * removing old charting extension code * revamp builder * fix obbject tests * fix command_runner tests * removing openbb_figure_table * better website docs * reviewed readme * unsetting api key for posthog (pywry) windows * added debug_mode to the system settings * removing api key * update nightly script * fix tests * black * black * Revert "black" This reverts commit 21d76ad689087b4ad38cec55667186263363c89f. * Revert "black" This reverts commit 0904653fd73518c0d345a82f91f4cb06cfa84cb6. * black for henrique * returning a list instead * better docstrings * removing unnecessary indicators docstring * typo * black * intentional access to protected member * changes to publish script * filtering deleted files * black * adding render argument * fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named * adding the hability to add you own data to to_chart method * tests * black * disable protected access * accept kwargs to eg. save image * adjustment cc Igor * add if statement for protection * remove unused return typing * fix technical charting views * better error message cc @IgorWounds * better structure and fix test * Revert "better structure and fix test" This reverts commit 612ea6117ce064d5e41f74e72e171646be614408. * Revert "better error message cc @IgorWounds" This reverts commit 3d7ee53878b7742d187e83f7e5d4c27438aa40ef. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix CAPM example (#6075) * Start removing dead v3 commands for deprecation (#6070) * Yeet tokenterminal * Yeet crypto/onchain/hr and gwei * yeet luna * yeet coinglass * yeet dps/ctb * yeet reddit * yeet covid * actually not yeeting hide yfinance future warning * yeet options/hedge * not yeeting. i18n words * something happened on accident * still fixing * git reset/git checkout -f 2516cfbc72d23a7656715314ea94cc34d4c994ee website/content * still not sure whats going on * Edit workflow to not look at deleted files + change bootup message * Dont pin the workflow to my branch always lol * Remove askobb * [Feature] - Comma separated string and list inputs (#6062) * feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim * [Feature] Add Regional Data Endpoint from FRED (#6071) * add regional data endpoint from FRED * codespell * ruff * sort imports * add provder='fred' to integration test * thought I already sorted those imports.. * pylint.. * more test params.... * even more test params... * even more test params.... * static assets * reconfigure params * ruff * alias dict * recapture cassette * router doctstring --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix most integration tests (#6082) * Fix most integration tests * Lint * Fix price_target column for Benzinga (#6083) * Release/4.1.4 (#6081) * static assets * patch version increase * core update * bumping versions * bump finviz version * bump versions * bump versions on package.extension --------- Co-authored-by: James Maslek * Add dates to /quantitative as needed. (#6078) * Add dates to /quantitative as needed. Run new black * Fix tests * Pycharm is weird sometimes * uncommit * Add default window + error handling + mistake --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079) * add etf.equity_exposure from FMP * empty data error * recapture cassette * pylint unused argument * Fix router example typo * fix test...? * static file to fix test? * fix test..? * __json_schema_extra__ * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [BugFix] Fix Equity Integration Tests (#6086) * fix equity integration tests * black * pylint * black * black * move df_apply to helpers * unused import * remove file that shouldn't have been added * oops. didn't remove a couple lines * [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088) * standardize price_target * add analyst search * black * more black * ruff * linter, test parmas * last missing param * get rid of convert to upper * ruff * pylint * [BugFix] - Fix POST docstring examples (#6095) * Fix POST docstring examples. * Move router examples to command decorator * [BugFix] Fix `treasury_rates()` (#6092) * fix treasury_rates * drop rows with no data --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * clean up the remains from my yeeting (#6089) * clean up the remains from my yeeting * was not careful * Add ETF examples (#6102) Co-authored-by: Pratyush Shukla * [BugFix] Fix integration tests (#6100) * fix int tests * fix obbject int tests * fix quant tests * fix index tests * use python 3.10 instead * remove cache * end_date < start_date * [Enhancement]: Add TMX data provider extension. (#5913) * dev install * add TMX provider extension * normalize ytm and coupopn_rate values * black * codespell * ruff * black again * pylint * ftw * undo what Pylint thinks is best * more black * renovate insider_trading standard model * fix tests * typo * tests * empty string * pylint unused argument * nans for some reason * black * static files * static files with openbb-tmx installed this time * yfinance TypeError..? * NA -> N/A * update for version bump * list exchange-calendars as tmx dependency * eod chains date -> eod_date * new line * not that file * more black * one more black * fix weird merge thing * ruff * index constituents params * insider trading * fixing things * black * black AGAIN * news integration params * the other missing param * ruff * historical dividends field update * add json_schema_extra * gainers * symbols -> symbol * company news symbol * unit test param * review items * wrangle a rogue field * index router example * company news thing - symbols -> symbol * field name map --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek * [Feature] - OBB.GET (#6097) * create OBB.GET and data slicer page * remove quotes * format description * wording * functions.json * sidebar position * remove if stamente * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github… * [Docs] - Update BYOD page (#6217) * [Critical] Sync `main` with `develop` (#6202) * feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863) * intrinio equity search * integration tests * test --------- Co-authored-by: James Maslek * feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845) * yfinance multi-ticker support * multi-ticker support for market indices * crypto multi-ticker support * recapture tests * yfinance cache and tests * currency historical multi-ticker support * style things * black * missed a values --------- Co-authored-by: James Maslek * Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776) * add treasury prices endpoint to fixed income router * adds tests * black * ruff * import statements * standard model imports * black * some cleanup * black * async router * make async * str outpuot * bytes object not string * docstring typo * multi-line f-string * encoding * duplicated conditional * black --------- Co-authored-by: James Maslek * feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757) * add ETF holdings from SEC provider * black * helper function params * edge cases * ruff * add validator in company filings * remove xml field * update import * cleanup parsing * missing datetime import in company_filings * black * unused import * add missing py.typed files * feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790) * add nasdaq to equity search * black * unused import * make async --------- Co-authored-by: James Maslek * Excel docs (#5870) * first test * remove old reference * bring this file back * generate sidebar and write empty mds * generate index.mdx * get description from cmd_lib * fix reference card error * rename file * generate markdown * regen * add last+hist * update pages with seo metadata * format types * small fix * css sux * add usage placeholder * set hidden by default * nah * add cmds and menus to reference * lint * fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py * format mds * remove space * fix commands heading * redo folder structure * add back cmd description * move card to var * different main folder * clean * move vars * refer to editor * rename var * done * recreate folder structure * add section: syntax + minor adjustments * remove return type * remove return type * rename api to library * minor fix * remove api folder * remove api folder * formatting * improve basics * basics * fetch functions.json from website * complete basic * change syntax to use semi-colon * basics * basics * remove space in sig * remove sections * add metadata * Update formula builder * add tabs * Update index.md * complete basics and formula_builder * Update index.md * add windows screenshots * restructure folders * regenerate with latest add-in version * move Excel sidebar * rename function and add comment * now it's working * logic * rename folder * Update formula_builder.md * fix * hide excel for now * some explicit typing --------- Co-authored-by: tehcoderer * Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822) * init * Update helpers.py * filter URL on raise * polygon, fmp done, update cassettes * updates * cleanup * revert tests for now * Update discovery_filings.py * Update helpers.py * add `async` overload to `Fetcher.extract_data` * update merged fred models * tests, improve fred series * Update insider_trading.py * insider * tests * intrinio * Update equity_historical.py * implement abstract async extract on Fetcher, with simple switch * cleanup * Update helpers.py * Update helpers.py * fix fmp historical deprecated urls * Revert "fix fmp historical deprecated urls" This reverts commit 1a760a24737ed3d1439472bdb4c47aa778bcce8b. * fix fmp `index.market` 1day url missing query params * Update test_fmp_market_indices_fetcher.yaml * field fixes * `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request` * `async_requests` -> `amake_requests` * Update company_news.py * add sort to index `integration` params * add `client.py` tests * Update equity_search.py * Add lost v in platform api version string * Resolve linter errors here and there --------- Co-authored-by: Theodore Aptekarev * Allow this to be run in parallel (#5872) * Limit mypy v3 linting to only the diff of the PR (#5878) * Use custom parametrize from news menu tests (#5873) * Use custom parametrize from news menu tests * Update Ultima unit test cassettes * Command Schema (#5874) * POC * Filter by provider * pass base_app as parameter * add typing + TODO * fix some typing * Fix unit tests --------- Co-authored-by: Diogo Sousa * Parameterize `obbject.to_df` with `index` and `sort_by` (#5877) * Parameterize obbject.to_df with index and sort_by * unit tests for obbject * keep using the date as default to use on basemode_to_df() --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Changes to the `obb.fixedincome.corporate.hqm()` output (#5876) * changes to the hqm output * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Refactor method in RegistryMap (#5879) * refactor extract_info * add comment --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove Literal from providers in OBBject (#5882) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix version (#5883) * Fix version * Fix linter on terminal * Refactor package builder (#5880) * breakdown builder + remove black * rebuild * rebuild * rebuild * rename method * format built code without black * we still lint if it's available * fix existing tests * add linter tests * add black to dev deps * auto_build as instance method * reorder methods * typing --------- Co-authored-by: Henrique Joaquim * small refactor for simplification (#5886) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix bug. Add router test. (#5888) * Fix bug. Add router test. * Simplify * separate pylint between platform + terminal (#5892) * separate pylint b/w platform + terminal * Explicitly set pylint check scope to files in the diff --------- Co-authored-by: Theodore Aptekarev * sync descriptions (#5893) * Add REST API docs page with advanced settings configuration (#5890) * Don't mention docker in a list of python envs * Create a REST API page * Update docs to get api keys from the hub * Update installation instructions * Mention requirement of poetry and toml in source installation section * move rest page up to the top. and add url to google colab example notebook --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix a v3 syntax example (#5891) * Adds federal reserve data points (#5885) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * Check if outdated (#5898) * Add econometrics API tests (#5899) * Docs/excel update (#5889) * update xl docs * update syntax line * update again * Fix pylint scope (#5895) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring * Debug pylint * Adjust the fetch depth --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix `from openbb import obb` asyncio lock in python REPL (#5896) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/financials - PR for working on structure of financial statements. (#5794) * balance sheet draft * balance_sheet draft * cash_flow draft * income_statement draft * intrinio financials * description * period field * ruff * income statement * field * label - gross profit ratio * cash flow statement * investing order * add option for caching to cashflow * add caching to balance and income * typos and update order for financial institutions * replace 0 values with None * add financial ratios from intrinio * black * missing test params * balance cassette * query param description * symbol list warning * black * handle BRK-A and symbols with a dash for Intrinio * fix typo error * add free cash flow to bottom of cash flow statement * amortization_expense * dev_install.py * undo dev_install.. wrong branch * cash flow order things * standardized cash flow * fields * integration tests * cash flow model validator * more polygon cash * black * black * Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py wrong file * balance sheet * some cleanup * ruff * income statement * black * test params * financial ratios async update * recapture fmp and polygon tests * yFinance financials * yfinance tests * delete financial_statements standard model * intrinio balance sheet order * fiscal year standard param * remove file accidentally committed * add reported_financials end point * fiscal_year param for reported_financials * fix url * fmp test cassette * add safe-guard with warning for fiscal year before 2008 * periods can only be annual and quarter * url in docstring correction * add fiscal_year param to intrinio standardized financials and ratios * fix fmp ratios * black * rename fields as per Minh * rogue field * black * Fix typo in a docstring * Resolve linting errors * type ignore * disable=unused-argument * changing the arg name cc @minhhoang1023 --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904) * add warning at top of page - instructions are for installing the Terminal app * pip install openbb-nightly * hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907) * update income statement fields * another polygon field * ratio -> margin * black * explicit fmp fields * add reported_currency for standardized intrinio * # pylint: disable=unused-argument * another unused-argument * black.. * patch tests * polygon income: eps -> basic earnings per share * re-capture terminal portfolio menu test --------- Co-authored-by: hjoaquim * Fix test (#5916) * Fix test * Skip ultima integration tests --------- Co-authored-by: Pratyush Shukla * hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918) * replace zeros with none and normalize percents * pylint unused argument * Update index.md (#5906) * Release/4.1.0 (#5901) * Hotfix/terminal tests (#5919) * skip supressed arguments * silent way of customly load on quote * specify source for call_load * docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914) * platform vs sdk faq page * add data and data providers faq section and some style cards * typo * makes changes as per reviews * openbb-nightly as a way to install everything * jupyter-lab instead of jupyter --------- Co-authored-by: Henrique Joaquim * hotfix/backend - Initialize OpenBBFigure (#5912) * create backend * openbb_figure * black * pylint * pylint again --------- Co-authored-by: Henrique Joaquim * hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923) * multi-ticker support for yfinance futures historical * raise-missing-from * integration test params * equity_historical adjusted kwargs * pylint unused argument * Docs/excel examples (#5920) * regen excel md * add syntax + basic example * fix example * create json with docs map * update docs to latest functions.json + remove tiingo * remove space from examples * minor fix * remove spaces * remove spaces * bug fix: remove folder before generating * fix typo * add link to appsource * fix * Update templates.md * regenerate content * change docs colors * fix light mode * add back tiingo * update functions.json * templates go later * remove Library from reference * Make the excel markdown being generated at runtime * fix reference cards having commands under menu * remove excel/reference folder since this is built at runtime by gh-pages action * black formatting * improve title * add excel to the main page * add excel image bg * make excel sidebar show up next to pro * improve main page * small fix for platform page title * update basics page * add tip to autocomplete --------- Co-authored-by: DidierRLopes * Re-record tests and fix symbol bug (#5924) * Re-record tests and fix symbol bug * nordvpn us ftw * @IgorWounds says "SPY >> IOO" --------- Co-authored-by: Pratyush Shukla * Docs/bug fix (#5926) * fix pro link * fix wrong example * Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925) * introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint * add default args to test * Add json_schema_extra to openapi.json (#5930) Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * feature/standardize-quote: Proposal to Standardize EquityQuote (#5922) * standardize EquityQuote * intrinio reference * rogue comma * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921) * add fiscal_period to revenue by geography and business line * data description and unused imports * update test cassette * Allow multiple symbols `equity.profile` (#5929) * allow multiple symbols * pylint * pylint ignore position * change callback to helper func --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * Add filtering to AV historical price (#5928) * add filtering to av historical price * lints --------- Co-authored-by: Pratyush Shukla * Fix vwap FMP error (#5936) * Fix vwap FMP error * Linting * Painlint * Add date filter + symbols to comp (#5931) * add date filter + symbols to comp * make sure year is in d * tests fix * Improving Platform's import time (#5894) * missing decorator * missing optional statements * us-gov to optional and right position * removing redundant call * lazy load mappings * docstrings * introducing the extension loader class * misleading docstring * using the extension loader on the router * using the extension loader on the credentials * docstrings * lazy load of entry points * checkout dev_install * using the extension loader to get the entry points instead of recalling the function * improved auth service and charting service * using the extension loader on the registry * typos * adding properties to extension loader for easy access * using the extension loader on the package builder * avoiding circular imports by using forward references * fix charting service tests * test for the extension loader * Update openbb_platform/core/openbb_core/app/model/credentials.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/app/router.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/provider/registry.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * adjustments --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Disable auto_build on test run (#5937) * Disable auto_build on test run * Move to conftest * Update excel docs (#5940) * update basics * update reference generator * Categorize release notes based on labels for OpenBB Platform (#5943) * Categorize release notes based on labels for OpenBB Platform * Add environment variable for GitHub token in labels-PR.yml * Update labeler.yml to use "enhancement" label for feature branches --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Custom deprecation message in API endpoints and Python commands (#5942) * add custom deprecation message feature in routers * add custom deprecation message feature in package builder * using an actual DeprecationWarning instead * fix tests --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * Hotfix/remove unused workflow (#5945) * Disable auto_build on test run * Remove unused workflow * Revert * Hotfix/fix typo (#5948) * Disable auto_build on test run * Fix typo * Revert * docs/data-models-url: Fix URLs on Development Page (#5944) * fix url to the standard models * github links * `equity.fundamental.dividends`: allow filter by date (#5932) * allow filter by date * ruff * pylint * fix tests --------- Co-authored-by: Pratyush Shukla * Create Excel templates page (#5947) * create templates page * Update index.mdx * fix description * update card * remove clsx * Update index.mdx * Update index.mdx * Update index.mdx * Update index.mdx * min height * min height * improve excel docs and point towards hub --------- Co-authored-by: DidierRLopes * hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951) * fix limit param * pylint unused argument, recapture test cassette --------- Co-authored-by: Pratyush Shukla * Docs/remove core refs (#5957) * remove references to core: PathHandler + ProviderInterface * remove unused function * add comment * regenerate * fix a few examples * add comment * rename file * Excel tutorials on the docs (#5956) * update workflows name to tutorial * update title * get barebones to bring in Excel videos * tutorial excel videos in * hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961) * convert intrinio balance sheet values to float type * unused import * typo in alias dict * Update to OpenBB Add-in for Excel (#5965) * Log custom headers (#5966) * add custom headers * fix: send on startup and defaults * pylint * unittests * move government-us to community in dev_install (#5963) * fix: adds logic to check whther user is logged in on hub (#5941) Co-authored-by: Luqman * hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909) * Fixes too many mandatory fields. * black * black again --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: James Maslek * `equity.estimates.price_target` - Integrate with Benzinga (#5946) * deprecation message * fix lints * adding equity.estimates.ratings and fmp as its provider * unit tests for fmp * removing unused file * typos * add benzinga to AnalystRatings * revert changes to estimates router * moving it to price target instead * reverting changes * fmp support for multiple ticker * benzinga price target * ruffy * unused argument * fix type hints * tests for the new fetcher * new integration tests * fixing tests * missing std arg --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962) * deprecate index.market and add index.price.historical * add index.historical standard model * add index.historical provider models * index extension tests * provider tests * linting * bug fix (#5969) * Uppercase excel reference (#5958) * uppercase reference * fix name header * add tab title * remove reference excel folder * add to gitignore excel reference files --------- Co-authored-by: DidierRLopes * move templates (#5970) * Release 4.1.1. (#5964) * update dev_install * fix effr test * Update dev_install.py * fix fundamental balance test * fix equity price historical test * fix price target model * black * rebuild static files * update publish.md * fixed dev_install * update publishing doc * updated `openbb-core` to 1.1.1 * updated extensions * updated providers * updated `openbb` package * updated static extension map * updated publishing doc * fixed toml for `openbb-finra` * @jmaslek yfinance IS DEFAULT * updated static --------- Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim * Fix link to discord channel (#5910) Co-authored-by: James Maslek * Fixing Posthog handler for thread safety (#5968) * fixing posthog handler for thread safety * removing loggging init from the global scope - per sensei juan --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update labeler.yml and labels-PR.yml (#5974) * hotfix/ allow multiple `identify` calls (#5976) * allow multiple `identify` calls * Update posthog_handler.py * regex out any invisible control character from sales_conditions field (#5977) * docs/http-requests: Contributor Guide For Building HTTP Requests (#5973) * contributor guide for http requests * add a docstring * add section on get_querystring * extra space * add note for people installing PyPI in a zsh terminal shell --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/add-yfinance-functions: Add equity.profile for yFinance (#5978) * equity profile for yFinance * pylint * equity quote * unused imports * remove yfinance from extras in toml (#5982) * Release OpenBB Platform v`4.1.3` (#5983) * fixing pyproject.toml * adding pandas-ta to technical package for publishing * bumping technical * test for pyproject toml * feature/cboe-async: Refactor Cboe for Async (#5900) * refactor cboe for async * codespell * unused imports * pylint * more pylint * platform metadata * classmethod decorator * test params * intrinio quote * test param names * date in test needs to be a datetime.date not string * make fmp unix timestamp tz-aware and normalize percent change * different way of parsing datetime string * recapture cboe equity historical test * unused import * index snapshot update * black * extension map * pylint * cboe pyproject.toml * proposal to standardize equity_quote * one more file * removing changes on static assets * index_historical * index_historical again * last_time -> last_timestamp * obsolete router path * fix tests * test param * restore market index deprecation that I forgot about * fixing tests --------- Co-authored-by: hjoaquim * Fix typo in website/README.md (#5980) * Fix typo in website/README.md * Update linting.yml * Update linting.yml * Update linting.yml * Change ref conditions * Update linting.yml --------- Co-authored-by: Luqman Co-authored-by: Luqman * Hotfix/th etfs (#5959) * added etf trading hours * black formatter --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Luqman * feature/finviz-provider: Adds Community Finviz Provider Extension (#5952) * add finviz provider * recapture tests * recapture tests again? * invalid test param * static packages * units_measurement -> unit_measurement * static packages as core only * openbb_core version bump in pyproject.toml * try adding user-agent to test response * fix tests * linting * provider model cosmetic changes * fix install script and typo in openbb toml * static * fix: re-record unittests * empty data error * definitions as a file --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: Diogo Sousa * Add support for multiple symbols on `obb.equity.price.historical` (#5984) * av - support for multiple symbols * tiingo - support for multiple symbols * include symbol only if necessary * update extension descriptions page (#5985) * remove useless file (#5991) * added symbol to headers (#5981) Co-authored-by: Pratyush Shukla * Fixing Docs Typos (#5955) * fixed typo * fixed stocka typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: DidierRLopes * fix nasdaq test cassettes (#5989) * don't include `custom_headers` in openapi schema (#5994) * hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987) * drop None rows from intrinio historical indexes * add empty data error * static assets * hotfix/insider-trading: Fix #5988 (#5990) * fix validation errors * empty strings * validator --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: teh_coderer * CI listing quick fix (#6002) * BIGGGG LINTING * fixing lints * fixing lints * black * very ruff * no export * fix hedge_view again * lints * platform lints * lints * black * black it @hjoaquim * fix some more linting --------- Co-authored-by: hjoaquim * Release `openbb-finviz` `1.0.0` to the public (#6000) * set version to `1.0.0` * Set correct dep version in main package * Add `finviz` to table * Auto Labelling for OpenBB Excel Docs Changes (#5998) * Update pull request labels * Update labeler.yml with new label for Excel files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Support for custom examples in router commands (#5993) * Disable auto_build on test run * Add support for custom router examples * Revert odd file change * Fix API pollution * Refactor examples with @montezdesousa * Check if model is inside the PI * Fix * feat: add & fix examples (#6001) * feat: add & fix examples * fix: ruff + comment * feat: read parameter pool from file * feat: typing + unit test * Disable auto_build on test run * Add field order to OBBject * Revert * lint and revert * fix test --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Diogo Sousa * hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997) * fix compare between str and datetime * unused argument * get_weekday * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Field order added to the OBBject extra as preference (#5999) * Disable auto_build on test run * Add field order to OBBject * Improvements * Remove noxfile * Disable auto_build on test run * Add field order to OBBject * Revert * lint * Add docs * Not sure how this happened * lint * Update `openbb-devtools` (#6008) * update deps * unpinned package versions from gh linting action * codespell * updated black dependency * linting * linting * linting * pin codespell version * black * black again * install devtools in linting action * format w new black (#6009) * format w new black * format w new black * black again * black the terminal * ignoring unused arguments --------- Co-authored-by: Pratyush Shukla * remove reviewpad (#6010) * Remove Ultima provider (#6012) * Add OECD unemployment (+more) + data cache idea (#5917) * Add OECD unemployment + data cache idea * Docstring edits * Tests * Add composite leading indicator * i truested ruff --fix too much * Add short + long term interest rates * pylint * pylint2 * was not committing. my b * add csv cache + make it default. remove pyarrow from poetry * Clean up * Didnt run on this file. My bad * Why was this ignored /shrug * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/improved pr template (#6018) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * better pr templates * developer template * [Feature] - Custom deprecation (#6005) * custom deprecation * custom deprecation * using the new deprecation * custom deprecation on the package builder * remove comment * ruff * black * static assets * tests * using parametrization instead * test for deprecated endpoints (#6014) * Deprecation warning on the reference docs (#6015) * typo/fix * bring back methods needed for markdown generation * add deprecation warning to docs * contributor docs for deprecating endpoints - tks @deeleeramone * small changes on publishing procedure per @the-praxs * moving the deprecation summary class to deprecation file instead * explanation on class variables * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update openbb_platform/openbb/package/index.py Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * deprecating on 4.3 instead @the-praxs --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla * [BugFix] Fix package builder (#6022) * fix: remove specific imports * adjustments for correct deprecation * static assets --------- Co-authored-by: hjoaquim * [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013) * historical attributes standard model - * add support multiple tags * add `tag` field in data * add support for multiple tags in historical attributes * set correct return type in `callback` function * latest attributes standard model - * add support for multiple tags * add `tag` field in data * add support for multiple tags in latest attributes * add test params for the attributes endpoints * add support for multiple `symbol` and add `symbol` field in the data * modified code to fetch data from multiple symbols and throw warning as per @deeleeramone * add params for testing multiple symbols * linting * fix test params * fixed condition to check if its a `Dict` type * updated intrinio fetcher tests for the statements * updated static * [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011) * fmp overview to equity profile * deprecation warning * urls * wrangle fields * black * pylint unused argument * insert additional securityID fields to standard model * custom deprecation using OpenBBDeprecationWarning * typo - need to have the deprecated=True flag * static assets * fix non related test * minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] - Remove duplicate code (#6025) Co-authored-by: Pratyush Shukla * remove `SectorNews` from router and standard models (#6026) * feature/more-yfinance: Adds some more to openbb-yfinance (#5979) * equity profile for yFinance * pylint * equity quote * unused imports * price target consensus * add currency field * add share_statistics * don't append empty result to results * key executives * missing definition in key_executives * pylint * key metrics * add currency to key metrics * add etf_info * rename trailing_annual_dividend -> dividend_rate_ttm * add institutions count to share_statistics * add historical dividends * add logic for start-end dates to historical_dividends * recapture the test..? * funny test * filter on tests? * record test with clean cache..? * year_price_change -> price_return_1y in key_metrics * black * make descriptions clear for beta and dividend_yield fields * add description field to standard model * updated static * clear description of shares_implied_outstanding field * updated static for equity * clean descriptions --------- Co-authored-by: Pratyush Shukla * feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760) * add commodity extension and add lbma fixing endpoint * dev_install.py * readme url * renovate the standard model * makes a query_params model for nasdaq data link * literal not optional * unused imports * missing test params * test cassette * DataLink query param description * test file import * actually fix import * from openbb_core.provider..... * ruff * another import statement * black * async router * move query_params * update version * version numbers * extension_map * satisfy pylint? * pylint * Update pyproject.toml * black * poetry lock * Update extension_map.json * Update __extensions__.py * Update module_map.json * clean descriptions --------- Co-authored-by: Pratyush Shukla * Improve UX for `obb.news` (#5986) * adding date,start_date and end_date to std params * add date to special params which should've another type * change types to dateType * change helper to accomadate changes in types * date filtering * using the date filtering for all providers * date params on the std model instead * adding the right type * filtering dates on world news * integration tests * fix descriptions * static assets * black * Revert "black" This reverts commit 7288b59f87e1b0816733a96ce77fb96e13dcf0e3. * lint * addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing * tests accordingly * static assets * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Improve Standardization - `IndexHistorical` (#6030) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * fix tests * keep the skip * fix test * [Feature] - Refactor Response Model (#6024) * Start refactor with @montezdesousa * feat: add response model inside openapi_extra * feat: find+replace return types * fix: ruff * Feature/api response by provider (#6029) * init * Update router.py * Update registry_map.py * check dicts * lint * exclude provider on data model for package build * `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data` --------- Co-authored-by: Diogo Sousa Co-authored-by: teh_coderer * [BugFix] - Improve Standardization - `CotSearch` (#6031) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * keep the skip * fix test * adding missing param * fix tests accordingly * Docs/byod (#5996) * add byod to reference * fix: rename add-in name * feat: add data conectors page * fix: additional notes * tiny tweaks * update functions.json and openapi.json * fix: fix bug in hedge controller * fix: another bug hedgecontroller * black --------- Co-authored-by: DidierRLopes * Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006) * date -> ex_dividend_date * nasdaq historical dividends * black * pylint * intrinio alias_dict * dividend_currency -> currency * yfinance field name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023) * fix: remove specific imports * make polygon historical tz-aware * undo including that commit * that PR wasn't supposed to be there. * pylint unused argument * fix polygon crypto historical intervals * pylint * new cassette * fix the rest of the polygon historical price query params * black * pylint.. * integration test param * appease daylight savings handling * paginate for crypto currency and index * black * raise EmptyDataError when no results instead of returning an empty list * ruff --------- Co-authored-by: Diogo Sousa * Hotfix/wrong pydantic validator (#6037) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * Use field_validator instead * fix openapi schema fields `to_snake` (#6036) * Fix data connectors link typo (#6038) * [BugFix] - Improve Standardization - `EquitySearch` (#6033) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * use_cache as std * adjust tests * keep the skip * re-record test * black * Docs / only display results for current platform (#6017) * Update index.js * Update index.js * yfinance * tzcache no longer exists * fixxy * ruff --------- Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek Co-authored-by: Andrew * Improve the docstrings (#6040) * Improve the docstrings (#6041) Co-authored-by: Henrique Joaquim * dont run base tests with v4 label (#6046) * Sync excel reference (#6039) * sync excel reference * fix: change delimiter to comma * feat: update data connectors * test skipping wf * Update unit-test.yml * Update unit-test.yml * test skipping wf * watch label changes * Update unit-test.yml * [Enhancement] - Improve `news` router docs and examples (#6047) * better docs * static assets * Feature/platform standardization notebook (#6049) * Add platform standardization overview notebook to examples * Add py.typed marker to openbb-fred * [Enhancement] - Improve `currency` router docs and examples (#6045) * currency search * reference rates * historical price * static assets --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * display warnings based on preference (#6051) * [Enhancement] - Improve `crypto` router docs and examples (#6048) * crypto search add validation for '-'-separated pairs * set default query value to None * improve /crypto description with custom examples * improve /crypto/price/historical description with custom examples * updated static for crypto menu * ignore line too long * linting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Final Implementation of Changelog V2 (#6050) * Updated the release drafter to process the released changelog for OpenBB Platform * Update release drafter configuration * Add OpenBB Documentation Changes and Create Release * Update process_changelog.py path in draft-release.yml * Update release-drafter version and save changelog * Copy changelog with python * Update draft-release.yml to save Changelog * Update draft-release.yml * Encode and save Changelog to Base64 * Update Changelog saving method * Update Changelog format * Update CHANGELOG.md with release notes * Fix draft release workflow * Add cat command to print CHANGELOG.md * Add platform-drafter.yml and update release-drafter.yml and draft-release.yml * Commented out config-name in release-drafter step * Update branch name validation and process_changelog.py * Refactor process_changelog.py to improve readability and maintainability * Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * improve discriminator logic, fix package return type docs (#6052) * improve discriminator logic, fix package return type docs * Update registry_map.py * build package * Update registry_map.py * defaults * Update registry_map.py --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add LLM tools example notebook (#6053) * Add LLM tools example notebook * Update README, rename example notebook --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove the preference (#6055) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Standardise multiple symbols input (#6056) * feat: remove list of str * fix: update cpi * package builder + cpi * build * fix: update unittests * fix: check_item * fix: unittests * Improve the docstrings (#6057) * update economy router docstrings (#6058) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix OECD Long Term Interest Rate (#6060) * fix long term interest rate * pylint unused argument * [Bugfix] - Fix economic calendar country (#6059) * fix economic calendar country * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063) * sp500 multiples cleanup * remove dict from standard model * static pacakge * pylint * [Feature] FMP Current Holdings (#6043) * add fmp current holdings to etf holdings * pylint unused argument --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Replace symbols in company/news (#6061) * feat: replace symbols in /news * fix: integration tests * fix: integration tests api * fix: typo * Update test_intrinio_fetchers.py * [Enhancement] Add function examples to router. (#6042) * options router * fixedincome router * futures router * missing comma * static assets * futures router --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] Add function examples to Regulators Router (#6054) * options router * fixedincome router * futures router * missing comma * static assets * futures router * sec router * cftc router * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix World News (#6064) * fix fmp * fix intrinio * fix biztoc * actually commit intrinio fix * fix tiingo * unused import * fix tests * black * ruff * benzinga empty strings * codespell * fix test? * more empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - remove unused validators from standard models (#6067) * update standard models * lint * Update USD Liquidity Example Notebook for V4 (#5902) * Update USD Liquidity Example Notebook for V4 * delete some v3 text in the copperToGold * Update README.md * findSymbols preview image * Google Colab preview image * financialStatements preview * content tsx file * ### title * convert tsx to json * indent size * double quote keys.json * trailing commas * Update content.json * patch --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix QA Examples (#6072) * [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073) * bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs * Update branch naming guidelines link --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/charting obbject (#5938) * fix circular import issues on the obbject extension framework * settings available on the obbject * extension init * charting assets and code * introduce to_chart functionality * removes the to_chart method from obbject in detriment of the one from the obbject extension * Update openbb_platform/obbject_extensions/charting/charting/__init__.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix on the show method * adding the example to the to_chart docstring * copying the exsting README from charting extension - needs to be revamped * moving to openbb_charting instead * update the pyproject.toml file * pydocstyle * versions * better docstrings * making accessors public * removing unnecessary credentials variable cc @montezdesousa * removing access to extra/metadata and use designated private attrs instead * Fixes linting for the logging service (#5992) * lints * typing.Type instead * deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it * tests for the obbject charting extension * removing charting service from command runner * filter functions not implemented in the module * remove charting service tests * removing charting service on the tests for int tests * charting integration tests * removing charting service file * removing old charting extension code * revamp builder * fix obbject tests * fix command_runner tests * removing openbb_figure_table * better website docs * reviewed readme * unsetting api key for posthog (pywry) windows * added debug_mode to the system settings * removing api key * update nightly script * fix tests * black * black * Revert "black" This reverts commit 21d76ad689087b4ad38cec55667186263363c89f. * Revert "black" This reverts commit 0904653fd73518c0d345a82f91f4cb06cfa84cb6. * black for henrique * returning a list instead * better docstrings * removing unnecessary indicators docstring * typo * black * intentional access to protected member * changes to publish script * filtering deleted files * black * adding render argument * fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named * adding the hability to add you own data to to_chart method * tests * black * disable protected access * accept kwargs to eg. save image * adjustment cc Igor * add if statement for protection * remove unused return typing * fix technical charting views * better error message cc @IgorWounds * better structure and fix test * Revert "better structure and fix test" This reverts commit 612ea6117ce064d5e41f74e72e171646be614408. * Revert "better error message cc @IgorWounds" This reverts commit 3d7ee53878b7742d187e83f7e5d4c27438aa40ef. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix CAPM example (#6075) * Start removing dead v3 commands for deprecation (#6070) * Yeet tokenterminal * Yeet crypto/onchain/hr and gwei * yeet luna * yeet coinglass * yeet dps/ctb * yeet reddit * yeet covid * actually not yeeting hide yfinance future warning * yeet options/hedge * not yeeting. i18n words * something happened on accident * still fixing * git reset/git checkout -f 2516cfbc72d23a7656715314ea94cc34d4c994ee website/content * still not sure whats going on * Edit workflow to not look at deleted files + change bootup message * Dont pin the workflow to my branch always lol * Remove askobb * [Feature] - Comma separated string and list inputs (#6062) * feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim * [Feature] Add Regional Data Endpoint from FRED (#6071) * add regional data endpoint from FRED * codespell * ruff * sort imports * add provder='fred' to integration test * thought I already sorted those imports.. * pylint.. * more test params.... * even more test params... * even more test params.... * static assets * reconfigure params * ruff * alias dict * recapture cassette * router doctstring --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix most integration tests (#6082) * Fix most integration tests * Lint * Fix price_target column for Benzinga (#6083) * Release/4.1.4 (#6081) * static assets * patch version increase * core update * bumping versions * bump finviz version * bump versions * bump versions on package.extension --------- Co-authored-by: James Maslek * Add dates to /quantitative as needed. (#6078) * Add dates to /quantitative as needed. Run new black * Fix tests * Pycharm is weird sometimes * uncommit * Add default window + error handling + mistake --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079) * add etf.equity_exposure from FMP * empty data error * recapture cassette * pylint unused argument * Fix router example typo * fix test...? * static file to fix test? * fix test..? * __json_schema_extra__ * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [BugFix] Fix Equity Integration Tests (#6086) * fix equity integration tests * black * pylint * black * black * move df_apply to helpers * unused import * remove file that shouldn't have been added * oops. didn't remove a couple lines * [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088) * standardize price_target * add analyst search * black * more black * ruff * linter, test parmas * last missing param * get rid of convert to upper * ruff * pylint * [BugFix] - Fix POST docstring examples (#6095) * Fix POST docstring examples. * Move router examples to command decorator * [BugFix] Fix `treasury_rates()` (#6092) * fix treasury_rates * drop rows with no data --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * clean up the remains from my yeeting (#6089) * clean up the remains from my yeeting * was not careful * Add ETF examples (#6102) Co-authored-by: Pratyush Shukla * [BugFix] Fix integration tests (#6100) * fix int tests * fix obbject int tests * fix quant tests * fix index tests * use python 3.10 instead * remove cache * end_date < start_date * [Enhancement]: Add TMX data provider extension. (#5913) * dev install * add TMX provider extension * normalize ytm and coupopn_rate values * black * codespell * ruff * black again * pylint * ftw * undo what Pylint thinks is best * more black * renovate insider_trading standard model * fix tests * typo * tests * empty string * pylint unused argument * nans for some reason * black * static files * static files with openbb-tmx installed this time * yfinance TypeError..? * NA -> N/A * update for version bump * list exchange-calendars as tmx dependency * eod chains date -> eod_date * new line * not that file * more black * one more black * fix weird merge thing * ruff * index constituents params * insider trading * fixing things * black * black AGAIN * news integration params * the other missing param * ruff * historical dividends field update * add json_schema_extra * gainers * symbols -> symbol * company news symbol * unit test param * review items * wrangle a rogue field * index router example * company news thing - symbols -> symbol * field name map --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek * [Feature] - OBB.GET (#6097) * create OBB.GET and data slicer page * remove quotes * format description * wording * functions.json * sidebar position * remove if stamente * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `except… * Remove terminal CI actions (#6221) * remove ultima + althub * move twitter keys * Build + remove v3 docs * Delete terminal lints * Remove builds + remove terminal nightly * more builds + website gen * more terminal actions * [Feature] Intrinio ETF Price Performance (#6220) * remap to etf router * add the intrinio files this time * update standard model * the rest of the changes * static files * black * pylint * test thing * black * fix test? * try another way? * ruff * maybe? * new cassette? * Remove old tests (#6222) * remove ultima + althub * move twitter keys * Remove old tests * add Intrinio ETF Holdings (#6208) * Update the main README (#6225) * remove ultima + althub * move twitter keys * README update * html was overkill * [Enhancement] Adding an interface to read the reference (#6224) * unused constant * reference loader class * making the reference loader available through the coverage * adding unit tests * using the setup and teardown --------- Co-authored-by: Pratyush Shukla Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Volatility Cones Chart (#6226) * add volatility cones to charting extension * test params * [Docs] Refactor Contributing Section Of Docs (#6173) * development index * refactor development section of documentation * codespell * add template zip file * fixing * update changed syntax * dependency thing * fix sentence * review edits, add_toolkit_extension * Add ZIp file * headtitle * couple more things * codespell * fix sentence * url fix * review updates * forgot one file in the commit * syntax updates * json file * more syntax things --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [Docs] Add Streamlit News Dashboard To Examples (#6158) * add streamlit news dashboard example * black * ruff * now black again * import block? * ruff puts it back to exactly how it was before * try running linters again * noqa it is --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [Feature] Add Charts For FRED Series (#6234) * add fred_series charts * pylint * [Feature] Add Intrinio to `obb.equity.market_snapshots()` (#6232) * add intrinio to equity market snapshots * field definitions * map date * static files * black * date check * test cassette * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Merge Fix FMP Intraday (#6229) From Main (#6235) * [Critical] Sync `main` with `develop` (#6202) * feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863) * intrinio equity search * integration tests * test --------- Co-authored-by: James Maslek * feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845) * yfinance multi-ticker support * multi-ticker support for market indices * crypto multi-ticker support * recapture tests * yfinance cache and tests * currency historical multi-ticker support * style things * black * missed a values --------- Co-authored-by: James Maslek * Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776) * add treasury prices endpoint to fixed income router * adds tests * black * ruff * import statements * standard model imports * black * some cleanup * black * async router * make async * str outpuot * bytes object not string * docstring typo * multi-line f-string * encoding * duplicated conditional * black --------- Co-authored-by: James Maslek * feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757) * add ETF holdings from SEC provider * black * helper function params * edge cases * ruff * add validator in company filings * remove xml field * update import * cleanup parsing * missing datetime import in company_filings * black * unused import * add missing py.typed files * feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790) * add nasdaq to equity search * black * unused import * make async --------- Co-authored-by: James Maslek * Excel docs (#5870) * first test * remove old reference * bring this file back * generate sidebar and write empty mds * generate index.mdx * get description from cmd_lib * fix reference card error * rename file * generate markdown * regen * add last+hist * update pages with seo metadata * format types * small fix * css sux * add usage placeholder * set hidden by default * nah * add cmds and menus to reference * lint * fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py * format mds * remove space * fix commands heading * redo folder structure * add back cmd description * move card to var * different main folder * clean * move vars * refer to editor * rename var * done * recreate folder structure * add section: syntax + minor adjustments * remove return type * remove return type * rename api to library * minor fix * remove api folder * remove api folder * formatting * improve basics * basics * fetch functions.json from website * complete basic * change syntax to use semi-colon * basics * basics * remove space in sig * remove sections * add metadata * Update formula builder * add tabs * Update index.md * complete basics and formula_builder * Update index.md * add windows screenshots * restructure folders * regenerate with latest add-in version * move Excel sidebar * rename function and add comment * now it's working * logic * rename folder * Update formula_builder.md * fix * hide excel for now * some explicit typing --------- Co-authored-by: tehcoderer * Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822) * init * Update helpers.py * filter URL on raise * polygon, fmp done, update cassettes * updates * cleanup * revert tests for now * Update discovery_filings.py * Update helpers.py * add `async` overload to `Fetcher.extract_data` * update merged fred models * tests, improve fred series * Update insider_trading.py * insider * tests * intrinio * Update equity_historical.py * implement abstract async extract on Fetcher, with simple switch * cleanup * Update helpers.py * Update helpers.py * fix fmp historical deprecated urls * Revert "fix fmp historical deprecated urls" This reverts commit 1a760a24737ed3d1439472bdb4c47aa778bcce8b. * fix fmp `index.market` 1day url missing query params * Update test_fmp_market_indices_fetcher.yaml * field fixes * `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request` * `async_requests` -> `amake_requests` * Update company_news.py * add sort to index `integration` params * add `client.py` tests * Update equity_search.py * Add lost v in platform api version string * Resolve linter errors here and there --------- Co-authored-by: Theodore Aptekarev * Allow this to be run in parallel (#5872) * Limit mypy v3 linting to only the diff of the PR (#5878) * Use custom parametrize from news menu tests (#5873) * Use custom parametrize from news menu tests * Update Ultima unit test cassettes * Command Schema (#5874) * POC * Filter by provider * pass base_app as parameter * add typing + TODO * fix some typing * Fix unit tests --------- Co-authored-by: Diogo Sousa * Parameterize `obbject.to_df` with `index` and `sort_by` (#5877) * Parameterize obbject.to_df with index and sort_by * unit tests for obbject * keep using the date as default to use on basemode_to_df() --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Changes to the `obb.fixedincome.corporate.hqm()` output (#5876) * changes to the hqm output * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Refactor method in RegistryMap (#5879) * refactor extract_info * add comment --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove Literal from providers in OBBject (#5882) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix version (#5883) * Fix version * Fix linter on terminal * Refactor package builder (#5880) * breakdown builder + remove black * rebuild * rebuild * rebuild * rename method * format built code without black * we still lint if it's available * fix existing tests * add linter tests * add black to dev deps * auto_build as instance method * reorder methods * typing --------- Co-authored-by: Henrique Joaquim * small refactor for simplification (#5886) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix bug. Add router test. (#5888) * Fix bug. Add router test. * Simplify * separate pylint between platform + terminal (#5892) * separate pylint b/w platform + terminal * Explicitly set pylint check scope to files in the diff --------- Co-authored-by: Theodore Aptekarev * sync descriptions (#5893) * Add REST API docs page with advanced settings configuration (#5890) * Don't mention docker in a list of python envs * Create a REST API page * Update docs to get api keys from the hub * Update installation instructions * Mention requirement of poetry and toml in source installation section * move rest page up to the top. and add url to google colab example notebook --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix a v3 syntax example (#5891) * Adds federal reserve data points (#5885) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * Check if outdated (#5898) * Add econometrics API tests (#5899) * Docs/excel update (#5889) * update xl docs * update syntax line * update again * Fix pylint scope (#5895) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring * Debug pylint * Adjust the fetch depth --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix `from openbb import obb` asyncio lock in python REPL (#5896) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/financials - PR for working on structure of financial statements. (#5794) * balance sheet draft * balance_sheet draft * cash_flow draft * income_statement draft * intrinio financials * description * period field * ruff * income statement * field * label - gross profit ratio * cash flow statement * investing order * add option for caching to cashflow * add caching to balance and income * typos and update order for financial institutions * replace 0 values with None * add financial ratios from intrinio * black * missing test params * balance cassette * query param description * symbol list warning * black * handle BRK-A and symbols with a dash for Intrinio * fix typo error * add free cash flow to bottom of cash flow statement * amortization_expense * dev_install.py * undo dev_install.. wrong branch * cash flow order things * standardized cash flow * fields * integration tests * cash flow model validator * more polygon cash * black * black * Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py wrong file * balance sheet * some cleanup * ruff * income statement * black * test params * financial ratios async update * recapture fmp and polygon tests * yFinance financials * yfinance tests * delete financial_statements standard model * intrinio balance sheet order * fiscal year standard param * remove file accidentally committed * add reported_financials end point * fiscal_year param for reported_financials * fix url * fmp test cassette * add safe-guard with warning for fiscal year before 2008 * periods can only be annual and quarter * url in docstring correction * add fiscal_year param to intrinio standardized financials and ratios * fix fmp ratios * black * rename fields as per Minh * rogue field * black * Fix typo in a docstring * Resolve linting errors * type ignore * disable=unused-argument * changing the arg name cc @minhhoang1023 --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904) * add warning at top of page - instructions are for installing the Terminal app * pip install openbb-nightly * hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907) * update income statement fields * another polygon field * ratio -> margin * black * explicit fmp fields * add reported_currency for standardized intrinio * # pylint: disable=unused-argument * another unused-argument * black.. * patch tests * polygon income: eps -> basic earnings per share * re-capture terminal portfolio menu test --------- Co-authored-by: hjoaquim * Fix test (#5916) * Fix test * Skip ultima integration tests --------- Co-authored-by: Pratyush Shukla * hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918) * replace zeros with none and normalize percents * pylint unused argument * Update index.md (#5906) * Release/4.1.0 (#5901) * Hotfix/terminal tests (#5919) * skip supressed arguments * silent way of customly load on quote * specify source for call_load * docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914) * platform vs sdk faq page * add data and data providers faq section and some style cards * typo * makes changes as per reviews * openbb-nightly as a way to install everything * jupyter-lab instead of jupyter --------- Co-authored-by: Henrique Joaquim * hotfix/backend - Initialize OpenBBFigure (#5912) * create backend * openbb_figure * black * pylint * pylint again --------- Co-authored-by: Henrique Joaquim * hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923) * multi-ticker support for yfinance futures historical * raise-missing-from * integration test params * equity_historical adjusted kwargs * pylint unused argument * Docs/excel examples (#5920) * regen excel md * add syntax + basic example * fix example * create json with docs map * update docs to latest functions.json + remove tiingo * remove space from examples * minor fix * remove spaces * remove spaces * bug fix: remove folder before generating * fix typo * add link to appsource * fix * Update templates.md * regenerate content * change docs colors * fix light mode * add back tiingo * update functions.json * templates go later * remove Library from reference * Make the excel markdown being generated at runtime * fix reference cards having commands under menu * remove excel/reference folder since this is built at runtime by gh-pages action * black formatting * improve title * add excel to the main page * add excel image bg * make excel sidebar show up next to pro * improve main page * small fix for platform page title * update basics page * add tip to autocomplete --------- Co-authored-by: DidierRLopes * Re-record tests and fix symbol bug (#5924) * Re-record tests and fix symbol bug * nordvpn us ftw * @IgorWounds says "SPY >> IOO" --------- Co-authored-by: Pratyush Shukla * Docs/bug fix (#5926) * fix pro link * fix wrong example * Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925) * introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint * add default args to test * Add json_schema_extra to openapi.json (#5930) Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * feature/standardize-quote: Proposal to Standardize EquityQuote (#5922) * standardize EquityQuote * intrinio reference * rogue comma * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921) * add fiscal_period to revenue by geography and business line * data description and unused imports * update test cassette * Allow multiple symbols `equity.profile` (#5929) * allow multiple symbols * pylint * pylint ignore position * change callback to helper func --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * Add filtering to AV historical price (#5928) * add filtering to av historical price * lints --------- Co-authored-by: Pratyush Shukla * Fix vwap FMP error (#5936) * Fix vwap FMP error * Linting * Painlint * Add date filter + symbols to comp (#5931) * add date filter + symbols to comp * make sure year is in d * tests fix * Improving Platform's import time (#5894) * missing decorator * missing optional statements * us-gov to optional and right position * removing redundant call * lazy load mappings * docstrings * introducing the extension loader class * misleading docstring * using the extension loader on the router * using the extension loader on the credentials * docstrings * lazy load of entry points * checkout dev_install * using the extension loader to get the entry points instead of recalling the function * improved auth service and charting service * using the extension loader on the registry * typos * adding properties to extension loader for easy access * using the extension loader on the package builder * avoiding circular imports by using forward references * fix charting service tests * test for the extension loader * Update openbb_platform/core/openbb_core/app/model/credentials.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/app/router.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/provider/registry.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * adjustments --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Disable auto_build on test run (#5937) * Disable auto_build on test run * Move to conftest * Update excel docs (#5940) * update basics * update reference generator * Categorize release notes based on labels for OpenBB Platform (#5943) * Categorize release notes based on labels for OpenBB Platform * Add environment variable for GitHub token in labels-PR.yml * Update labeler.yml to use "enhancement" label for feature branches --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Custom deprecation message in API endpoints and Python commands (#5942) * add custom deprecation message feature in routers * add custom deprecation message feature in package builder * using an actual DeprecationWarning instead * fix tests --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * Hotfix/remove unused workflow (#5945) * Disable auto_build on test run * Remove unused workflow * Revert * Hotfix/fix typo (#5948) * Disable auto_build on test run * Fix typo * Revert * docs/data-models-url: Fix URLs on Development Page (#5944) * fix url to the standard models * github links * `equity.fundamental.dividends`: allow filter by date (#5932) * allow filter by date * ruff * pylint * fix tests --------- Co-authored-by: Pratyush Shukla * Create Excel templates page (#5947) * create templates page * Update index.mdx * fix description * update card * remove clsx * Update index.mdx * Update index.mdx * Update index.mdx * Update index.mdx * min height * min height * improve excel docs and point towards hub --------- Co-authored-by: DidierRLopes * hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951) * fix limit param * pylint unused argument, recapture test cassette --------- Co-authored-by: Pratyush Shukla * Docs/remove core refs (#5957) * remove references to core: PathHandler + ProviderInterface * remove unused function * add comment * regenerate * fix a few examples * add comment * rename file * Excel tutorials on the docs (#5956) * update workflows name to tutorial * update title * get barebones to bring in Excel videos * tutorial excel videos in * hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961) * convert intrinio balance sheet values to float type * unused import * typo in alias dict * Update to OpenBB Add-in for Excel (#5965) * Log custom headers (#5966) * add custom headers * fix: send on startup and defaults * pylint * unittests * move government-us to community in dev_install (#5963) * fix: adds logic to check whther user is logged in on hub (#5941) Co-authored-by: Luqman * hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909) * Fixes too many mandatory fields. * black * black again --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: James Maslek * `equity.estimates.price_target` - Integrate with Benzinga (#5946) * deprecation message * fix lints * adding equity.estimates.ratings and fmp as its provider * unit tests for fmp * removing unused file * typos * add benzinga to AnalystRatings * revert changes to estimates router * moving it to price target instead * reverting changes * fmp support for multiple ticker * benzinga price target * ruffy * unused argument * fix type hints * tests for the new fetcher * new integration tests * fixing tests * missing std arg --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962) * deprecate index.market and add index.price.historical * add index.historical standard model * add index.historical provider models * index extension tests * provider tests * linting * bug fix (#5969) * Uppercase excel reference (#5958) * uppercase reference * fix name header * add tab title * remove reference excel folder * add to gitignore excel reference files --------- Co-authored-by: DidierRLopes * move templates (#5970) * Release 4.1.1. (#5964) * update dev_install * fix effr test * Update dev_install.py * fix fundamental balance test * fix equity price historical test * fix price target model * black * rebuild static files * update publish.md * fixed dev_install * update publishing doc * updated `openbb-core` to 1.1.1 * updated extensions * updated providers * updated `openbb` package * updated static extension map * updated publishing doc * fixed toml for `openbb-finra` * @jmaslek yfinance IS DEFAULT * updated static --------- Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim * Fix link to discord channel (#5910) Co-authored-by: James Maslek * Fixing Posthog handler for thread safety (#5968) * fixing posthog handler for thread safety * removing loggging init from the global scope - per sensei juan --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update labeler.yml and labels-PR.yml (#5974) * hotfix/ allow multiple `identify` calls (#5976) * allow multiple `identify` calls * Update posthog_handler.py * regex out any invisible control character from sales_conditions field (#5977) * docs/http-requests: Contributor Guide For Building HTTP Requests (#5973) * contributor guide for http requests * add a docstring * add section on get_querystring * extra space * add note for people installing PyPI in a zsh terminal shell --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/add-yfinance-functions: Add equity.profile for yFinance (#5978) * equity profile for yFinance * pylint * equity quote * unused imports * remove yfinance from extras in toml (#5982) * Release OpenBB Platform v`4.1.3` (#5983) * fixing pyproject.toml * adding pandas-ta to technical package for publishing * bumping technical * test for pyproject toml * feature/cboe-async: Refactor Cboe for Async (#5900) * refactor cboe for async * codespell * unused imports * pylint * more pylint * platform metadata * classmethod decorator * test params * intrinio quote * test param names * date in test needs to be a datetime.date not string * make fmp unix timestamp tz-aware and normalize percent change * different way of parsing datetime string * recapture cboe equity historical test * unused import * index snapshot update * black * extension map * pylint * cboe pyproject.toml * proposal to standardize equity_quote * one more file * removing changes on static assets * index_historical * index_historical again * last_time -> last_timestamp * obsolete router path * fix tests * test param * restore market index deprecation that I forgot about * fixing tests --------- Co-authored-by: hjoaquim * Fix typo in website/README.md (#5980) * Fix typo in website/README.md * Update linting.yml * Update linting.yml * Update linting.yml * Change ref conditions * Update linting.yml --------- Co-authored-by: Luqman Co-authored-by: Luqman * Hotfix/th etfs (#5959) * added etf trading hours * black formatter --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Luqman * feature/finviz-provider: Adds Community Finviz Provider Extension (#5952) * add finviz provider * recapture tests * recapture tests again? * invalid test param * static packages * units_measurement -> unit_measurement * static packages as core only * openbb_core version bump in pyproject.toml * try adding user-agent to test response * fix tests * linting * provider model cosmetic changes * fix install script and typo in openbb toml * static * fix: re-record unittests * empty data error * definitions as a file --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: Diogo Sousa * Add support for multiple symbols on `obb.equity.price.historical` (#5984) * av - support for multiple symbols * tiingo - support for multiple symbols * include symbol only if necessary * update extension descriptions page (#5985) * remove useless file (#5991) * added symbol to headers (#5981) Co-authored-by: Pratyush Shukla * Fixing Docs Typos (#5955) * fixed typo * fixed stocka typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: DidierRLopes * fix nasdaq test cassettes (#5989) * don't include `custom_headers` in openapi schema (#5994) * hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987) * drop None rows from intrinio historical indexes * add empty data error * static assets * hotfix/insider-trading: Fix #5988 (#5990) * fix validation errors * empty strings * validator --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: teh_coderer * CI listing quick fix (#6002) * BIGGGG LINTING * fixing lints * fixing lints * black * very ruff * no export * fix hedge_view again * lints * platform lints * lints * black * black it @hjoaquim * fix some more linting --------- Co-authored-by: hjoaquim * Release `openbb-finviz` `1.0.0` to the public (#6000) * set version to `1.0.0` * Set correct dep version in main package * Add `finviz` to table * Auto Labelling for OpenBB Excel Docs Changes (#5998) * Update pull request labels * Update labeler.yml with new label for Excel files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Support for custom examples in router commands (#5993) * Disable auto_build on test run * Add support for custom router examples * Revert odd file change * Fix API pollution * Refactor examples with @montezdesousa * Check if model is inside the PI * Fix * feat: add & fix examples (#6001) * feat: add & fix examples * fix: ruff + comment * feat: read parameter pool from file * feat: typing + unit test * Disable auto_build on test run * Add field order to OBBject * Revert * lint and revert * fix test --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Diogo Sousa * hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997) * fix compare between str and datetime * unused argument * get_weekday * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Field order added to the OBBject extra as preference (#5999) * Disable auto_build on test run * Add field order to OBBject * Improvements * Remove noxfile * Disable auto_build on test run * Add field order to OBBject * Revert * lint * Add docs * Not sure how this happened * lint * Update `openbb-devtools` (#6008) * update deps * unpinned package versions from gh linting action * codespell * updated black dependency * linting * linting * linting * pin codespell version * black * black again * install devtools in linting action * format w new black (#6009) * format w new black * format w new black * black again * black the terminal * ignoring unused arguments --------- Co-authored-by: Pratyush Shukla * remove reviewpad (#6010) * Remove Ultima provider (#6012) * Add OECD unemployment (+more) + data cache idea (#5917) * Add OECD unemployment + data cache idea * Docstring edits * Tests * Add composite leading indicator * i truested ruff --fix too much * Add short + long term interest rates * pylint * pylint2 * was not committing. my b * add csv cache + make it default. remove pyarrow from poetry * Clean up * Didnt run on this file. My bad * Why was this ignored /shrug * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/improved pr template (#6018) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * better pr templates * developer template * [Feature] - Custom deprecation (#6005) * custom deprecation * custom deprecation * using the new deprecation * custom deprecation on the package builder * remove comment * ruff * black * static assets * tests * using parametrization instead * test for deprecated endpoints (#6014) * Deprecation warning on the reference docs (#6015) * typo/fix * bring back methods needed for markdown generation * add deprecation warning to docs * contributor docs for deprecating endpoints - tks @deeleeramone * small changes on publishing procedure per @the-praxs * moving the deprecation summary class to deprecation file instead * explanation on class variables * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update openbb_platform/openbb/package/index.py Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * deprecating on 4.3 instead @the-praxs --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla * [BugFix] Fix package builder (#6022) * fix: remove specific imports * adjustments for correct deprecation * static assets --------- Co-authored-by: hjoaquim * [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013) * historical attributes standard model - * add support multiple tags * add `tag` field in data * add support for multiple tags in historical attributes * set correct return type in `callback` function * latest attributes standard model - * add support for multiple tags * add `tag` field in data * add support for multiple tags in latest attributes * add test params for the attributes endpoints * add support for multiple `symbol` and add `symbol` field in the data * modified code to fetch data from multiple symbols and throw warning as per @deeleeramone * add params for testing multiple symbols * linting * fix test params * fixed condition to check if its a `Dict` type * updated intrinio fetcher tests for the statements * updated static * [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011) * fmp overview to equity profile * deprecation warning * urls * wrangle fields * black * pylint unused argument * insert additional securityID fields to standard model * custom deprecation using OpenBBDeprecationWarning * typo - need to have the deprecated=True flag * static assets * fix non related test * minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] - Remove duplicate code (#6025) Co-authored-by: Pratyush Shukla * remove `SectorNews` from router and standard models (#6026) * feature/more-yfinance: Adds some more to openbb-yfinance (#5979) * equity profile for yFinance * pylint * equity quote * unused imports * price target consensus * add currency field * add share_statistics * don't append empty result to results * key executives * missing definition in key_executives * pylint * key metrics * add currency to key metrics * add etf_info * rename trailing_annual_dividend -> dividend_rate_ttm * add institutions count to share_statistics * add historical dividends * add logic for start-end dates to historical_dividends * recapture the test..? * funny test * filter on tests? * record test with clean cache..? * year_price_change -> price_return_1y in key_metrics * black * make descriptions clear for beta and dividend_yield fields * add description field to standard model * updated static * clear description of shares_implied_outstanding field * updated static for equity * clean descriptions --------- Co-authored-by: Pratyush Shukla * feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760) * add commodity extension and add lbma fixing endpoint * dev_install.py * readme url * renovate the standard model * makes a query_params model for nasdaq data link * literal not optional * unused imports * missing test params * test cassette * DataLink query param description * test file import * actually fix import * from openbb_core.provider..... * ruff * another import statement * black * async router * move query_params * update version * version numbers * extension_map * satisfy pylint? * pylint * Update pyproject.toml * black * poetry lock * Update extension_map.json * Update __extensions__.py * Update module_map.json * clean descriptions --------- Co-authored-by: Pratyush Shukla * Improve UX for `obb.news` (#5986) * adding date,start_date and end_date to std params * add date to special params which should've another type * change types to dateType * change helper to accomadate changes in types * date filtering * using the date filtering for all providers * date params on the std model instead * adding the right type * filtering dates on world news * integration tests * fix descriptions * static assets * black * Revert "black" This reverts commit 7288b59f87e1b0816733a96ce77fb96e13dcf0e3. * lint * addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing * tests accordingly * static assets * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Improve Standardization - `IndexHistorical` (#6030) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * fix tests * keep the skip * fix test * [Feature] - Refactor Response Model (#6024) * Start refactor with @montezdesousa * feat: add response model inside openapi_extra * feat: find+replace return types * fix: ruff * Feature/api response by provider (#6029) * init * Update router.py * Update registry_map.py * check dicts * lint * exclude provider on data model for package build * `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data` --------- Co-authored-by: Diogo Sousa Co-authored-by: teh_coderer * [BugFix] - Improve Standardization - `CotSearch` (#6031) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * keep the skip * fix test * adding missing param * fix tests accordingly * Docs/byod (#5996) * add byod to reference * fix: rename add-in name * feat: add data conectors page * fix: additional notes * tiny tweaks * update functions.json and openapi.json * fix: fix bug in hedge controller * fix: another bug hedgecontroller * black --------- Co-authored-by: DidierRLopes * Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006) * date -> ex_dividend_date * nasdaq historical dividends * black * pylint * intrinio alias_dict * dividend_currency -> currency * yfinance field name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023) * fix: remove specific imports * make polygon historical tz-aware * undo including that commit * that PR wasn't supposed to be there. * pylint unused argument * fix polygon crypto historical intervals * pylint * new cassette * fix the rest of the polygon historical price query params * black * pylint.. * integration test param * appease daylight savings handling * paginate for crypto currency and index * black * raise EmptyDataError when no results instead of returning an empty list * ruff --------- Co-authored-by: Diogo Sousa * Hotfix/wrong pydantic validator (#6037) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * Use field_validator instead * fix openapi schema fields `to_snake` (#6036) * Fix data connectors link typo (#6038) * [BugFix] - Improve Standardization - `EquitySearch` (#6033) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * use_cache as std * adjust tests * keep the skip * re-record test * black * Docs / only display results for current platform (#6017) * Update index.js * Update index.js * yfinance * tzcache no longer exists * fixxy * ruff --------- Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek Co-authored-by: Andrew * Improve the docstrings (#6040) * Improve the docstrings (#6041) Co-authored-by: Henrique Joaquim * dont run base tests with v4 label (#6046) * Sync excel reference (#6039) * sync excel reference * fix: change delimiter to comma * feat: update data connectors * test skipping wf * Update unit-test.yml * Update unit-test.yml * test skipping wf * watch label changes * Update unit-test.yml * [Enhancement] - Improve `news` router docs and examples (#6047) * better docs * static assets * Feature/platform standardization notebook (#6049) * Add platform standardization overview notebook to examples * Add py.typed marker to openbb-fred * [Enhancement] - Improve `currency` router docs and examples (#6045) * currency search * reference rates * historical price * static assets --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * display warnings based on preference (#6051) * [Enhancement] - Improve `crypto` router docs and examples (#6048) * crypto search add validation for '-'-separated pairs * set default query value to None * improve /crypto description with custom examples * improve /crypto/price/historical description with custom examples * updated static for crypto menu * ignore line too long * linting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Final Implementation of Changelog V2 (#6050) * Updated the release drafter to process the released changelog for OpenBB Platform * Update release drafter configuration * Add OpenBB Documentation Changes and Create Release * Update process_changelog.py path in draft-release.yml * Update release-drafter version and save changelog * Copy changelog with python * Update draft-release.yml to save Changelog * Update draft-release.yml * Encode and save Changelog to Base64 * Update Changelog saving method * Update Changelog format * Update CHANGELOG.md with release notes * Fix draft release workflow * Add cat command to print CHANGELOG.md * Add platform-drafter.yml and update release-drafter.yml and draft-release.yml * Commented out config-name in release-drafter step * Update branch name validation and process_changelog.py * Refactor process_changelog.py to improve readability and maintainability * Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * improve discriminator logic, fix package return type docs (#6052) * improve discriminator logic, fix package return type docs * Update registry_map.py * build package * Update registry_map.py * defaults * Update registry_map.py --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add LLM tools example notebook (#6053) * Add LLM tools example notebook * Update README, rename example notebook --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove the preference (#6055) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Standardise multiple symbols input (#6056) * feat: remove list of str * fix: update cpi * package builder + cpi * build * fix: update unittests * fix: check_item * fix: unittests * Improve the docstrings (#6057) * update economy router docstrings (#6058) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix OECD Long Term Interest Rate (#6060) * fix long term interest rate * pylint unused argument * [Bugfix] - Fix economic calendar country (#6059) * fix economic calendar country * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063) * sp500 multiples cleanup * remove dict from standard model * static pacakge * pylint * [Feature] FMP Current Holdings (#6043) * add fmp current holdings to etf holdings * pylint unused argument --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Replace symbols in company/news (#6061) * feat: replace symbols in /news * fix: integration tests * fix: integration tests api * fix: typo * Update test_intrinio_fetchers.py * [Enhancement] Add function examples to router. (#6042) * options router * fixedincome router * futures router * missing comma * static assets * futures router --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] Add function examples to Regulators Router (#6054) * options router * fixedincome router * futures router * missing comma * static assets * futures router * sec router * cftc router * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix World News (#6064) * fix fmp * fix intrinio * fix biztoc * actually commit intrinio fix * fix tiingo * unused import * fix tests * black * ruff * benzinga empty strings * codespell * fix test? * more empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - remove unused validators from standard models (#6067) * update standard models * lint * Update USD Liquidity Example Notebook for V4 (#5902) * Update USD Liquidity Example Notebook for V4 * delete some v3 text in the copperToGold * Update README.md * findSymbols preview image * Google Colab preview image * financialStatements preview * content tsx file * ### title * convert tsx to json * indent size * double quote keys.json * trailing commas * Update content.json * patch --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix QA Examples (#6072) * [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073) * bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs * Update branch naming guidelines link --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/charting obbject (#5938) * fix circular import issues on the obbject extension framework * settings available on the obbject * extension init * charting assets and code * introduce to_chart functionality * removes the to_chart method from obbject in detriment of the one from the obbject extension * Update openbb_platform/obbject_extensions/charting/charting/__init__.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix on the show method * adding the example to the to_chart docstring * copying the exsting README from charting extension - needs to be revamped * moving to openbb_charting instead * update the pyproject.toml file * pydocstyle * versions * better docstrings * making accessors public * removing unnecessary credentials variable cc @montezdesousa * removing access to extra/metadata and use designated private attrs instead * Fixes linting for the logging service (#5992) * lints * typing.Type instead * deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it * tests for the obbject charting extension * removing charting service from command runner * filter functions not implemented in the module * remove charting service tests * removing charting service on the tests for int tests * charting integration tests * removing charting service file * removing old charting extension code * revamp builder * fix obbject tests * fix command_runner tests * removing openbb_figure_table * better website docs * reviewed readme * unsetting api key for posthog (pywry) windows * added debug_mode to the system settings * removing api key * update nightly script * fix tests * black * black * Revert "black" This reverts commit 21d76ad689087b4ad38cec55667186263363c89f. * Revert "black" This reverts commit 0904653fd73518c0d345a82f91f4cb06cfa84cb6. * black for henrique * returning a list instead * better docstrings * removing unnecessary indicators docstring * typo * black * intentional access to protected member * changes to publish script * filtering deleted files * black * adding render argument * fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named * adding the hability to add you own data to to_chart method * tests * black * disable protected access * accept kwargs to eg. save image * adjustment cc Igor * add if statement for protection * remove unused return typing * fix technical charting views * better error message cc @IgorWounds * better structure and fix test * Revert "better structure and fix test" This reverts commit 612ea6117ce064d5e41f74e72e171646be614408. * Revert "better error message cc @IgorWounds" This reverts commit 3d7ee53878b7742d187e83f7e5d4c27438aa40ef. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix CAPM example (#6075) * Start removing dead v3 commands for deprecation (#6070) * Yeet tokenterminal * Yeet crypto/onchain/hr and gwei * yeet luna * yeet coinglass * yeet dps/ctb * yeet reddit * yeet covid * actually not yeeting hide yfinance future warning * yeet options/hedge * not yeeting. i18n words * something happened on accident * still fixing * git reset/git checkout -f 2516cfbc72d23a7656715314ea94cc34d4c994ee website/content * still not sure whats going on * Edit workflow to not look at deleted files + change bootup message * Dont pin the workflow to my branch always lol * Remove askobb * [Feature] - Comma separated string and list inputs (#6062) * feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim * [Feature] Add Regional Data Endpoint from FRED (#6071) * add regional data endpoint from FRED * codespell * ruff * sort imports * add provder='fred' to integration test * thought I already sorted those imports.. * pylint.. * more test params.... * even more test params... * even more test params.... * static assets * reconfigure params * ruff * alias dict * recapture cassette * router doctstring --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix most integration tests (#6082) * Fix most integration tests * Lint * Fix price_target column for Benzinga (#6083) * Release/4.1.4 (#6081) * static assets * patch version increase * core update * bumping versions * bump finviz version * bump versions * bump versions on package.extension --------- Co-authored-by: James Maslek * Add dates to /quantitative as needed. (#6078) * Add dates to /quantitative as needed. Run new black * Fix tests * Pycharm is weird sometimes * uncommit * Add default window + error handling + mistake --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079) * add etf.equity_exposure from FMP * empty data error * recapture cassette * pylint unused argument * Fix router example typo * fix test...? * static file to fix test? * fix test..? * __json_schema_extra__ * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [BugFix] Fix Equity Integration Tests (#6086) * fix equity integration tests * black * pylint * black * black * move df_apply to helpers * unused import * remove file that shouldn't have been added * oops. didn't remove a couple lines * [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088) * standardize price_target * add analyst search * black * more black * ruff * linter, test parmas * last missing param * get rid of convert to upper * ruff * pylint * [BugFix] - Fix POST docstring examples (#6095) * Fix POST docstring examples. * Move router examples to command decorator * [BugFix] Fix `treasury_rates()` (#6092) * fix treasury_rates * drop rows with no data --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * clean up the remains from my yeeting (#6089) * clean up the remains from my yeeting * was not careful * Add ETF examples (#6102) Co-authored-by: Pratyush Shukla * [BugFix] Fix integration tests (#6100) * fix int tests * fix obbject int tests * fix quant tests * fix index tests * use python 3.10 instead * remove cache * end_date < start_date * [Enhancement]: Add TMX data provider extension. (#5913) * dev install * add TMX provider extension * normalize ytm and coupopn_rate values * black * codespell * ruff * black again * pylint * ftw * undo what Pylint thinks is best * more black * renovate insider_trading standard model * fix tests * typo * tests * empty string * pylint unused argument * nans for some reason * black * static files * static files with openbb-tmx installed this time * yfinance TypeError..? * NA -> N/A * update for version bump * list exchange-calendars as tmx dependency * eod chains date -> eod_date * new line * not that file * more black * one more black * fix weird merge thing * ruff * index constituents params * insider trading * fixing things * black * black AGAIN * news integration params * the other missing param * ruff * historical dividends field update * add json_schema_extra * gainers * symbols -> symbol * company news symbol * unit test param * review items * wrangle a rogue field * index router example * company news thing - symbols -> symbol * field name map --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek * [Feature] - OBB.GET (#6097) * create OBB.GET and data slicer page * remove quotes * format description * wording * functions.json * sidebar position * remove if stamente * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * … * fix: broken signature typing (#6238) * [Feature] - Warn if inexistent kwargs (#6236) * feat: warn if wrong kwargs * fix: remove query test * fix: add tests and fix bug --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Allow kwargs on POST endpoints (#6240) * [BugFix] Return FMP Error Messages (#6237) * response callback and equity quote * merge branch develop * fix some more * static files * test param * executive comp * some more fetchers * test cassette * black * another one * some more * etf equity exposure * price_performance * black * ruff * test params * more test params --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] No event loop when exporting images (#6249) * duplicated warning * if the event loop was closed - create a new one to process the image * [BugFix] - Bring back mypy (#6242) * first batch * another * another * another batch unyped defs * final untyped defs * update yml * pylint * remove unecessary __init__.py files * Revert "remove unecessary __init__.py files" This reverts commit 5977eccfee7e2f536d7f2d039ba7a753d4c66695. * fix company_news typing * rename func * fix tests * tests * [BugFix] - Fix integration tests workflow file (#6251) * update wf file * Update platform-api-integration-test.yml * [BugFix] - Untyped variadic keyword arguments break during execution (#6250) * fix: ensure var_kw args come last in signatures * remove package builder change * Update package_builder.py * fix: warn only when ExtraParams * track VAR_KEYWORD * minor fix * type Any if no type provided * minor fix * fix test * fix: _as_dict * ruff * update reorder_params unit test * update func default and tests * typing * update comment * update comment * rename var * Update command_runner.py --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * update website to remove the main menu from pro level (#6244) Co-authored-by: Andrew * [Enhancement] - Cleanup docs (#6254) * Delete reference and data_models contents * Update gitignore * update contributing section (#6255) * Build the static assets before generating markdown files (#6257) * [Docs] Break Out Usage Section In Docs Pages (#6258) * break out the Usage section in docs pages * codespell * fix: move extra_params warning to query.py (#6259) * [BugFix] - multiple items allowed in provider parameters (#6256) * fix extra multiple items in extra parameters * fix: integration test + parametrized typing * rebuild * fix charting tests (#6262) * [Bugfix] - Test parametrize skips charting tests (#6264) * don't skipt charting tests * multiples does not have a charting implementation * fix list index out of range * mypy * mypy * mypy ta class + base * indicators mypy * sync precommit with ci * sync ci with precommit * revert * revert * mypy indicators * fix mypy * fix hastype * type ignore * mypy * mypy * mypy * does this work? * remove post inits * this * this * and this --------- Co-authored-by: hjoaquim * [Bugfix] Removes Charting Integration Test For Chart That Doesn't Exist (#6265) * Remove a test for a chart that doesn't exist. * black * [BugFix] yFinance ETF Info: Try Different Field When Missing fundInceptionDate (#6260) * try different field when missing the inceptionDate * wrap that in try-except * pylint * make Excel templates downloadable from docs (#6270) * [Release] 4.1.6 (#6266) * fixing integration tests * adding reference to the docstring * fix: docstring examples test + mypy * remove spaces * parse Volume column to float do avoid sorting issues * rebuild * release changes * lock openbb * remove unused script * fix broken links --------- Co-authored-by: Diogo Sousa * [Git] - Sync main dev (#6276) * [Critical] Sync `main` with `develop` (#6202) * feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863) * intrinio equity search * integration tests * test --------- Co-authored-by: James Maslek * feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845) * yfinance multi-ticker support * multi-ticker support for market indices * crypto multi-ticker support * recapture tests * yfinance cache and tests * currency historical multi-ticker support * style things * black * missed a values --------- Co-authored-by: James Maslek * Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776) * add treasury prices endpoint to fixed income router * adds tests * black * ruff * import statements * standard model imports * black * some cleanup * black * async router * make async * str outpuot * bytes object not string * docstring typo * multi-line f-string * encoding * duplicated conditional * black --------- Co-authored-by: James Maslek * feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757) * add ETF holdings from SEC provider * black * helper function params * edge cases * ruff * add validator in company filings * remove xml field * update import * cleanup parsing * missing datetime import in company_filings * black * unused import * add missing py.typed files * feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790) * add nasdaq to equity search * black * unused import * make async --------- Co-authored-by: James Maslek * Excel docs (#5870) * first test * remove old reference * bring this file back * generate sidebar and write empty mds * generate index.mdx * get description from cmd_lib * fix reference card error * rename file * generate markdown * regen * add last+hist * update pages with seo metadata * format types * small fix * css sux * add usage placeholder * set hidden by default * nah * add cmds and menus to reference * lint * fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py * format mds * remove space * fix commands heading * redo folder structure * add back cmd description * move card to var * different main folder * clean * move vars * refer to editor * rename var * done * recreate folder structure * add section: syntax + minor adjustments * remove return type * remove return type * rename api to library * minor fix * remove api folder * remove api folder * formatting * improve basics * basics * fetch functions.json from website * complete basic * change syntax to use semi-colon * basics * basics * remove space in sig * remove sections * add metadata * Update formula builder * add tabs * Update index.md * complete basics and formula_builder * Update index.md * add windows screenshots * restructure folders * regenerate with latest add-in version * move Excel sidebar * rename function and add comment * now it's working * logic * rename folder * Update formula_builder.md * fix * hide excel for now * some explicit typing --------- Co-authored-by: tehcoderer * Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822) * init * Update helpers.py * filter URL on raise * polygon, fmp done, update cassettes * updates * cleanup * revert tests for now * Update discovery_filings.py * Update helpers.py * add `async` overload to `Fetcher.extract_data` * update merged fred models * tests, improve fred series * Update insider_trading.py * insider * tests * intrinio * Update equity_historical.py * implement abstract async extract on Fetcher, with simple switch * cleanup * Update helpers.py * Update helpers.py * fix fmp historical deprecated urls * Revert "fix fmp historical deprecated urls" This reverts commit 1a760a24737ed3d1439472bdb4c47aa778bcce8b. * fix fmp `index.market` 1day url missing query params * Update test_fmp_market_indices_fetcher.yaml * field fixes * `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request` * `async_requests` -> `amake_requests` * Update company_news.py * add sort to index `integration` params * add `client.py` tests * Update equity_search.py * Add lost v in platform api version string * Resolve linter errors here and there --------- Co-authored-by: Theodore Aptekarev * Allow this to be run in parallel (#5872) * Limit mypy v3 linting to only the diff of the PR (#5878) * Use custom parametrize from news menu tests (#5873) * Use custom parametrize from news menu tests * Update Ultima unit test cassettes * Command Schema (#5874) * POC * Filter by provider * pass base_app as parameter * add typing + TODO * fix some typing * Fix unit tests --------- Co-authored-by: Diogo Sousa * Parameterize `obbject.to_df` with `index` and `sort_by` (#5877) * Parameterize obbject.to_df with index and sort_by * unit tests for obbject * keep using the date as default to use on basemode_to_df() --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Changes to the `obb.fixedincome.corporate.hqm()` output (#5876) * changes to the hqm output * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Refactor method in RegistryMap (#5879) * refactor extract_info * add comment --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove Literal from providers in OBBject (#5882) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix version (#5883) * Fix version * Fix linter on terminal * Refactor package builder (#5880) * breakdown builder + remove black * rebuild * rebuild * rebuild * rename method * format built code without black * we still lint if it's available * fix existing tests * add linter tests * add black to dev deps * auto_build as instance method * reorder methods * typing --------- Co-authored-by: Henrique Joaquim * small refactor for simplification (#5886) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix bug. Add router test. (#5888) * Fix bug. Add router test. * Simplify * separate pylint between platform + terminal (#5892) * separate pylint b/w platform + terminal * Explicitly set pylint check scope to files in the diff --------- Co-authored-by: Theodore Aptekarev * sync descriptions (#5893) * Add REST API docs page with advanced settings configuration (#5890) * Don't mention docker in a list of python envs * Create a REST API page * Update docs to get api keys from the hub * Update installation instructions * Mention requirement of poetry and toml in source installation section * move rest page up to the top. and add url to google colab example notebook --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix a v3 syntax example (#5891) * Adds federal reserve data points (#5885) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * Check if outdated (#5898) * Add econometrics API tests (#5899) * Docs/excel update (#5889) * update xl docs * update syntax line * update again * Fix pylint scope (#5895) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring * Debug pylint * Adjust the fetch depth --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix `from openbb import obb` asyncio lock in python REPL (#5896) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/financials - PR for working on structure of financial statements. (#5794) * balance sheet draft * balance_sheet draft * cash_flow draft * income_statement draft * intrinio financials * description * period field * ruff * income statement * field * label - gross profit ratio * cash flow statement * investing order * add option for caching to cashflow * add caching to balance and income * typos and update order for financial institutions * replace 0 values with None * add financial ratios from intrinio * black * missing test params * balance cassette * query param description * symbol list warning * black * handle BRK-A and symbols with a dash for Intrinio * fix typo error * add free cash flow to bottom of cash flow statement * amortization_expense * dev_install.py * undo dev_install.. wrong branch * cash flow order things * standardized cash flow * fields * integration tests * cash flow model validator * more polygon cash * black * black * Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py wrong file * balance sheet * some cleanup * ruff * income statement * black * test params * financial ratios async update * recapture fmp and polygon tests * yFinance financials * yfinance tests * delete financial_statements standard model * intrinio balance sheet order * fiscal year standard param * remove file accidentally committed * add reported_financials end point * fiscal_year param for reported_financials * fix url * fmp test cassette * add safe-guard with warning for fiscal year before 2008 * periods can only be annual and quarter * url in docstring correction * add fiscal_year param to intrinio standardized financials and ratios * fix fmp ratios * black * rename fields as per Minh * rogue field * black * Fix typo in a docstring * Resolve linting errors * type ignore * disable=unused-argument * changing the arg name cc @minhhoang1023 --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904) * add warning at top of page - instructions are for installing the Terminal app * pip install openbb-nightly * hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907) * update income statement fields * another polygon field * ratio -> margin * black * explicit fmp fields * add reported_currency for standardized intrinio * # pylint: disable=unused-argument * another unused-argument * black.. * patch tests * polygon income: eps -> basic earnings per share * re-capture terminal portfolio menu test --------- Co-authored-by: hjoaquim * Fix test (#5916) * Fix test * Skip ultima integration tests --------- Co-authored-by: Pratyush Shukla * hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918) * replace zeros with none and normalize percents * pylint unused argument * Update index.md (#5906) * Release/4.1.0 (#5901) * Hotfix/terminal tests (#5919) * skip supressed arguments * silent way of customly load on quote * specify source for call_load * docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914) * platform vs sdk faq page * add data and data providers faq section and some style cards * typo * makes changes as per reviews * openbb-nightly as a way to install everything * jupyter-lab instead of jupyter --------- Co-authored-by: Henrique Joaquim * hotfix/backend - Initialize OpenBBFigure (#5912) * create backend * openbb_figure * black * pylint * pylint again --------- Co-authored-by: Henrique Joaquim * hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923) * multi-ticker support for yfinance futures historical * raise-missing-from * integration test params * equity_historical adjusted kwargs * pylint unused argument * Docs/excel examples (#5920) * regen excel md * add syntax + basic example * fix example * create json with docs map * update docs to latest functions.json + remove tiingo * remove space from examples * minor fix * remove spaces * remove spaces * bug fix: remove folder before generating * fix typo * add link to appsource * fix * Update templates.md * regenerate content * change docs colors * fix light mode * add back tiingo * update functions.json * templates go later * remove Library from reference * Make the excel markdown being generated at runtime * fix reference cards having commands under menu * remove excel/reference folder since this is built at runtime by gh-pages action * black formatting * improve title * add excel to the main page * add excel image bg * make excel sidebar show up next to pro * improve main page * small fix for platform page title * update basics page * add tip to autocomplete --------- Co-authored-by: DidierRLopes * Re-record tests and fix symbol bug (#5924) * Re-record tests and fix symbol bug * nordvpn us ftw * @IgorWounds says "SPY >> IOO" --------- Co-authored-by: Pratyush Shukla * Docs/bug fix (#5926) * fix pro link * fix wrong example * Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925) * introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint * add default args to test * Add json_schema_extra to openapi.json (#5930) Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * feature/standardize-quote: Proposal to Standardize EquityQuote (#5922) * standardize EquityQuote * intrinio reference * rogue comma * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921) * add fiscal_period to revenue by geography and business line * data description and unused imports * update test cassette * Allow multiple symbols `equity.profile` (#5929) * allow multiple symbols * pylint * pylint ignore position * change callback to helper func --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * Add filtering to AV historical price (#5928) * add filtering to av historical price * lints --------- Co-authored-by: Pratyush Shukla * Fix vwap FMP error (#5936) * Fix vwap FMP error * Linting * Painlint * Add date filter + symbols to comp (#5931) * add date filter + symbols to comp * make sure year is in d * tests fix * Improving Platform's import time (#5894) * missing decorator * missing optional statements * us-gov to optional and right position * removing redundant call * lazy load mappings * docstrings * introducing the extension loader class * misleading docstring * using the extension loader on the router * using the extension loader on the credentials * docstrings * lazy load of entry points * checkout dev_install * using the extension loader to get the entry points instead of recalling the function * improved auth service and charting service * using the extension loader on the registry * typos * adding properties to extension loader for easy access * using the extension loader on the package builder * avoiding circular imports by using forward references * fix charting service tests * test for the extension loader * Update openbb_platform/core/openbb_core/app/model/credentials.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/app/router.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/provider/registry.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * adjustments --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Disable auto_build on test run (#5937) * Disable auto_build on test run * Move to conftest * Update excel docs (#5940) * update basics * update reference generator * Categorize release notes based on labels for OpenBB Platform (#5943) * Categorize release notes based on labels for OpenBB Platform * Add environment variable for GitHub token in labels-PR.yml * Update labeler.yml to use "enhancement" label for feature branches --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Custom deprecation message in API endpoints and Python commands (#5942) * add custom deprecation message feature in routers * add custom deprecation message feature in package builder * using an actual DeprecationWarning instead * fix tests --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * Hotfix/remove unused workflow (#5945) * Disable auto_build on test run * Remove unused workflow * Revert * Hotfix/fix typo (#5948) * Disable auto_build on test run * Fix typo * Revert * docs/data-models-url: Fix URLs on Development Page (#5944) * fix url to the standard models * github links * `equity.fundamental.dividends`: allow filter by date (#5932) * allow filter by date * ruff * pylint * fix tests --------- Co-authored-by: Pratyush Shukla * Create Excel templates page (#5947) * create templates page * Update index.mdx * fix description * update card * remove clsx * Update index.mdx * Update index.mdx * Update index.mdx * Update index.mdx * min height * min height * improve excel docs and point towards hub --------- Co-authored-by: DidierRLopes * hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951) * fix limit param * pylint unused argument, recapture test cassette --------- Co-authored-by: Pratyush Shukla * Docs/remove core refs (#5957) * remove references to core: PathHandler + ProviderInterface * remove unused function * add comment * regenerate * fix a few examples * add comment * rename file * Excel tutorials on the docs (#5956) * update workflows name to tutorial * update title * get barebones to bring in Excel videos * tutorial excel videos in * hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961) * convert intrinio balance sheet values to float type * unused import * typo in alias dict * Update to OpenBB Add-in for Excel (#5965) * Log custom headers (#5966) * add custom headers * fix: send on startup and defaults * pylint * unittests * move government-us to community in dev_install (#5963) * fix: adds logic to check whther user is logged in on hub (#5941) Co-authored-by: Luqman * hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909) * Fixes too many mandatory fields. * black * black again --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: James Maslek * `equity.estimates.price_target` - Integrate with Benzinga (#5946) * deprecation message * fix lints * adding equity.estimates.ratings and fmp as its provider * unit tests for fmp * removing unused file * typos * add benzinga to AnalystRatings * revert changes to estimates router * moving it to price target instead * reverting changes * fmp support for multiple ticker * benzinga price target * ruffy * unused argument * fix type hints * tests for the new fetcher * new integration tests * fixing tests * missing std arg --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962) * deprecate index.market and add index.price.historical * add index.historical standard model * add index.historical provider models * index extension tests * provider tests * linting * bug fix (#5969) * Uppercase excel reference (#5958) * uppercase reference * fix name header * add tab title * remove reference excel folder * add to gitignore excel reference files --------- Co-authored-by: DidierRLopes * move templates (#5970) * Release 4.1.1. (#5964) * update dev_install * fix effr test * Update dev_install.py * fix fundamental balance test * fix equity price historical test * fix price target model * black * rebuild static files * update publish.md * fixed dev_install * update publishing doc * updated `openbb-core` to 1.1.1 * updated extensions * updated providers * updated `openbb` package * updated static extension map * updated publishing doc * fixed toml for `openbb-finra` * @jmaslek yfinance IS DEFAULT * updated static --------- Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim * Fix link to discord channel (#5910) Co-authored-by: James Maslek * Fixing Posthog handler for thread safety (#5968) * fixing posthog handler for thread safety * removing loggging init from the global scope - per sensei juan --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update labeler.yml and labels-PR.yml (#5974) * hotfix/ allow multiple `identify` calls (#5976) * allow multiple `identify` calls * Update posthog_handler.py * regex out any invisible control character from sales_conditions field (#5977) * docs/http-requests: Contributor Guide For Building HTTP Requests (#5973) * contributor guide for http requests * add a docstring * add section on get_querystring * extra space * add note for people installing PyPI in a zsh terminal shell --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/add-yfinance-functions: Add equity.profile for yFinance (#5978) * equity profile for yFinance * pylint * equity quote * unused imports * remove yfinance from extras in toml (#5982) * Release OpenBB Platform v`4.1.3` (#5983) * fixing pyproject.toml * adding pandas-ta to technical package for publishing * bumping technical * test for pyproject toml * feature/cboe-async: Refactor Cboe for Async (#5900) * refactor cboe for async * codespell * unused imports * pylint * more pylint * platform metadata * classmethod decorator * test params * intrinio quote * test param names * date in test needs to be a datetime.date not string * make fmp unix timestamp tz-aware and normalize percent change * different way of parsing datetime string * recapture cboe equity historical test * unused import * index snapshot update * black * extension map * pylint * cboe pyproject.toml * proposal to standardize equity_quote * one more file * removing changes on static assets * index_historical * index_historical again * last_time -> last_timestamp * obsolete router path * fix tests * test param * restore market index deprecation that I forgot about * fixing tests --------- Co-authored-by: hjoaquim * Fix typo in website/README.md (#5980) * Fix typo in website/README.md * Update linting.yml * Update linting.yml * Update linting.yml * Change ref conditions * Update linting.yml --------- Co-authored-by: Luqman Co-authored-by: Luqman * Hotfix/th etfs (#5959) * added etf trading hours * black formatter --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Luqman * feature/finviz-provider: Adds Community Finviz Provider Extension (#5952) * add finviz provider * recapture tests * recapture tests again? * invalid test param * static packages * units_measurement -> unit_measurement * static packages as core only * openbb_core version bump in pyproject.toml * try adding user-agent to test response * fix tests * linting * provider model cosmetic changes * fix install script and typo in openbb toml * static * fix: re-record unittests * empty data error * definitions as a file --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: Diogo Sousa * Add support for multiple symbols on `obb.equity.price.historical` (#5984) * av - support for multiple symbols * tiingo - support for multiple symbols * include symbol only if necessary * update extension descriptions page (#5985) * remove useless file (#5991) * added symbol to headers (#5981) Co-authored-by: Pratyush Shukla * Fixing Docs Typos (#5955) * fixed typo * fixed stocka typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: DidierRLopes * fix nasdaq test cassettes (#5989) * don't include `custom_headers` in openapi schema (#5994) * hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987) * drop None rows from intrinio historical indexes * add empty data error * static assets * hotfix/insider-trading: Fix #5988 (#5990) * fix validation errors * empty strings * validator --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: teh_coderer * CI listing quick fix (#6002) * BIGGGG LINTING * fixing lints * fixing lints * black * very ruff * no export * fix hedge_view again * lints * platform lints * lints * black * black it @hjoaquim * fix some more linting --------- Co-authored-by: hjoaquim * Release `openbb-finviz` `1.0.0` to the public (#6000) * set version to `1.0.0` * Set correct dep version in main package * Add `finviz` to table * Auto Labelling for OpenBB Excel Docs Changes (#5998) * Update pull request labels * Update labeler.yml with new label for Excel files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Support for custom examples in router commands (#5993) * Disable auto_build on test run * Add support for custom router examples * Revert odd file change * Fix API pollution * Refactor examples with @montezdesousa * Check if model is inside the PI * Fix * feat: add & fix examples (#6001) * feat: add & fix examples * fix: ruff + comment * feat: read parameter pool from file * feat: typing + unit test * Disable auto_build on test run * Add field order to OBBject * Revert * lint and revert * fix test --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Diogo Sousa * hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997) * fix compare between str and datetime * unused argument * get_weekday * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Field order added to the OBBject extra as preference (#5999) * Disable auto_build on test run * Add field order to OBBject * Improvements * Remove noxfile * Disable auto_build on test run * Add field order to OBBject * Revert * lint * Add docs * Not sure how this happened * lint * Update `openbb-devtools` (#6008) * update deps * unpinned package versions from gh linting action * codespell * updated black dependency * linting * linting * linting * pin codespell version * black * black again * install devtools in linting action * format w new black (#6009) * format w new black * format w new black * black again * black the terminal * ignoring unused arguments --------- Co-authored-by: Pratyush Shukla * remove reviewpad (#6010) * Remove Ultima provider (#6012) * Add OECD unemployment (+more) + data cache idea (#5917) * Add OECD unemployment + data cache idea * Docstring edits * Tests * Add composite leading indicator * i truested ruff --fix too much * Add short + long term interest rates * pylint * pylint2 * was not committing. my b * add csv cache + make it default. remove pyarrow from poetry * Clean up * Didnt run on this file. My bad * Why was this ignored /shrug * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/improved pr template (#6018) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * better pr templates * developer template * [Feature] - Custom deprecation (#6005) * custom deprecation * custom deprecation * using the new deprecation * custom deprecation on the package builder * remove comment * ruff * black * static assets * tests * using parametrization instead * test for deprecated endpoints (#6014) * Deprecation warning on the reference docs (#6015) * typo/fix * bring back methods needed for markdown generation * add deprecation warning to docs * contributor docs for deprecating endpoints - tks @deeleeramone * small changes on publishing procedure per @the-praxs * moving the deprecation summary class to deprecation file instead * explanation on class variables * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update openbb_platform/openbb/package/index.py Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * deprecating on 4.3 instead @the-praxs --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla * [BugFix] Fix package builder (#6022) * fix: remove specific imports * adjustments for correct deprecation * static assets --------- Co-authored-by: hjoaquim * [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013) * historical attributes standard model - * add support multiple tags * add `tag` field in data * add support for multiple tags in historical attributes * set correct return type in `callback` function * latest attributes standard model - * add support for multiple tags * add `tag` field in data * add support for multiple tags in latest attributes * add test params for the attributes endpoints * add support for multiple `symbol` and add `symbol` field in the data * modified code to fetch data from multiple symbols and throw warning as per @deeleeramone * add params for testing multiple symbols * linting * fix test params * fixed condition to check if its a `Dict` type * updated intrinio fetcher tests for the statements * updated static * [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011) * fmp overview to equity profile * deprecation warning * urls * wrangle fields * black * pylint unused argument * insert additional securityID fields to standard model * custom deprecation using OpenBBDeprecationWarning * typo - need to have the deprecated=True flag * static assets * fix non related test * minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] - Remove duplicate code (#6025) Co-authored-by: Pratyush Shukla * remove `SectorNews` from router and standard models (#6026) * feature/more-yfinance: Adds some more to openbb-yfinance (#5979) * equity profile for yFinance * pylint * equity quote * unused imports * price target consensus * add currency field * add share_statistics * don't append empty result to results * key executives * missing definition in key_executives * pylint * key metrics * add currency to key metrics * add etf_info * rename trailing_annual_dividend -> dividend_rate_ttm * add institutions count to share_statistics * add historical dividends * add logic for start-end dates to historical_dividends * recapture the test..? * funny test * filter on tests? * record test with clean cache..? * year_price_change -> price_return_1y in key_metrics * black * make descriptions clear for beta and dividend_yield fields * add description field to standard model * updated static * clear description of shares_implied_outstanding field * updated static for equity * clean descriptions --------- Co-authored-by: Pratyush Shukla * feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760) * add commodity extension and add lbma fixing endpoint * dev_install.py * readme url * renovate the standard model * makes a query_params model for nasdaq data link * literal not optional * unused imports * missing test params * test cassette * DataLink query param description * test file import * actually fix import * from openbb_core.provider..... * ruff * another import statement * black * async router * move query_params * update version * version numbers * extension_map * satisfy pylint? * pylint * Update pyproject.toml * black * poetry lock * Update extension_map.json * Update __extensions__.py * Update module_map.json * clean descriptions --------- Co-authored-by: Pratyush Shukla * Improve UX for `obb.news` (#5986) * adding date,start_date and end_date to std params * add date to special params which should've another type * change types to dateType * change helper to accomadate changes in types * date filtering * using the date filtering for all providers * date params on the std model instead * adding the right type * filtering dates on world news * integration tests * fix descriptions * static assets * black * Revert "black" This reverts commit 7288b59f87e1b0816733a96ce77fb96e13dcf0e3. * lint * addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing * tests accordingly * static assets * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Improve Standardization - `IndexHistorical` (#6030) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * fix tests * keep the skip * fix test * [Feature] - Refactor Response Model (#6024) * Start refactor with @montezdesousa * feat: add response model inside openapi_extra * feat: find+replace return types * fix: ruff * Feature/api response by provider (#6029) * init * Update router.py * Update registry_map.py * check dicts * lint * exclude provider on data model for package build * `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data` --------- Co-authored-by: Diogo Sousa Co-authored-by: teh_coderer * [BugFix] - Improve Standardization - `CotSearch` (#6031) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * keep the skip * fix test * adding missing param * fix tests accordingly * Docs/byod (#5996) * add byod to reference * fix: rename add-in name * feat: add data conectors page * fix: additional notes * tiny tweaks * update functions.json and openapi.json * fix: fix bug in hedge controller * fix: another bug hedgecontroller * black --------- Co-authored-by: DidierRLopes * Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006) * date -> ex_dividend_date * nasdaq historical dividends * black * pylint * intrinio alias_dict * dividend_currency -> currency * yfinance field name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023) * fix: remove specific imports * make polygon historical tz-aware * undo including that commit * that PR wasn't supposed to be there. * pylint unused argument * fix polygon crypto historical intervals * pylint * new cassette * fix the rest of the polygon historical price query params * black * pylint.. * integration test param * appease daylight savings handling * paginate for crypto currency and index * black * raise EmptyDataError when no results instead of returning an empty list * ruff --------- Co-authored-by: Diogo Sousa * Hotfix/wrong pydantic validator (#6037) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * Use field_validator instead * fix openapi schema fields `to_snake` (#6036) * Fix data connectors link typo (#6038) * [BugFix] - Improve Standardization - `EquitySearch` (#6033) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * use_cache as std * adjust tests * keep the skip * re-record test * black * Docs / only display results for current platform (#6017) * Update index.js * Update index.js * yfinance * tzcache no longer exists * fixxy * ruff --------- Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek Co-authored-by: Andrew * Improve the docstrings (#6040) * Improve the docstrings (#6041) Co-authored-by: Henrique Joaquim * dont run base tests with v4 label (#6046) * Sync excel reference (#6039) * sync excel reference * fix: change delimiter to comma * feat: update data connectors * test skipping wf * Update unit-test.yml * Update unit-test.yml * test skipping wf * watch label changes * Update unit-test.yml * [Enhancement] - Improve `news` router docs and examples (#6047) * better docs * static assets * Feature/platform standardization notebook (#6049) * Add platform standardization overview notebook to examples * Add py.typed marker to openbb-fred * [Enhancement] - Improve `currency` router docs and examples (#6045) * currency search * reference rates * historical price * static assets --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * display warnings based on preference (#6051) * [Enhancement] - Improve `crypto` router docs and examples (#6048) * crypto search add validation for '-'-separated pairs * set default query value to None * improve /crypto description with custom examples * improve /crypto/price/historical description with custom examples * updated static for crypto menu * ignore line too long * linting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Final Implementation of Changelog V2 (#6050) * Updated the release drafter to process the released changelog for OpenBB Platform * Update release drafter configuration * Add OpenBB Documentation Changes and Create Release * Update process_changelog.py path in draft-release.yml * Update release-drafter version and save changelog * Copy changelog with python * Update draft-release.yml to save Changelog * Update draft-release.yml * Encode and save Changelog to Base64 * Update Changelog saving method * Update Changelog format * Update CHANGELOG.md with release notes * Fix draft release workflow * Add cat command to print CHANGELOG.md * Add platform-drafter.yml and update release-drafter.yml and draft-release.yml * Commented out config-name in release-drafter step * Update branch name validation and process_changelog.py * Refactor process_changelog.py to improve readability and maintainability * Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * improve discriminator logic, fix package return type docs (#6052) * improve discriminator logic, fix package return type docs * Update registry_map.py * build package * Update registry_map.py * defaults * Update registry_map.py --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add LLM tools example notebook (#6053) * Add LLM tools example notebook * Update README, rename example notebook --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove the preference (#6055) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Standardise multiple symbols input (#6056) * feat: remove list of str * fix: update cpi * package builder + cpi * build * fix: update unittests * fix: check_item * fix: unittests * Improve the docstrings (#6057) * update economy router docstrings (#6058) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix OECD Long Term Interest Rate (#6060) * fix long term interest rate * pylint unused argument * [Bugfix] - Fix economic calendar country (#6059) * fix economic calendar country * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063) * sp500 multiples cleanup * remove dict from standard model * static pacakge * pylint * [Feature] FMP Current Holdings (#6043) * add fmp current holdings to etf holdings * pylint unused argument --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Replace symbols in company/news (#6061) * feat: replace symbols in /news * fix: integration tests * fix: integration tests api * fix: typo * Update test_intrinio_fetchers.py * [Enhancement] Add function examples to router. (#6042) * options router * fixedincome router * futures router * missing comma * static assets * futures router --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] Add function examples to Regulators Router (#6054) * options router * fixedincome router * futures router * missing comma * static assets * futures router * sec router * cftc router * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix World News (#6064) * fix fmp * fix intrinio * fix biztoc * actually commit intrinio fix * fix tiingo * unused import * fix tests * black * ruff * benzinga empty strings * codespell * fix test? * more empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - remove unused validators from standard models (#6067) * update standard models * lint * Update USD Liquidity Example Notebook for V4 (#5902) * Update USD Liquidity Example Notebook for V4 * delete some v3 text in the copperToGold * Update README.md * findSymbols preview image * Google Colab preview image * financialStatements preview * content tsx file * ### title * convert tsx to json * indent size * double quote keys.json * trailing commas * Update content.json * patch --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix QA Examples (#6072) * [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073) * bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs * Update branch naming guidelines link --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/charting obbject (#5938) * fix circular import issues on the obbject extension framework * settings available on the obbject * extension init * charting assets and code * introduce to_chart functionality * removes the to_chart method from obbject in detriment of the one from the obbject extension * Update openbb_platform/obbject_extensions/charting/charting/__init__.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix on the show method * adding the example to the to_chart docstring * copying the exsting README from charting extension - needs to be revamped * moving to openbb_charting instead * update the pyproject.toml file * pydocstyle * versions * better docstrings * making accessors public * removing unnecessary credentials variable cc @montezdesousa * removing access to extra/metadata and use designated private attrs instead * Fixes linting for the logging service (#5992) * lints * typing.Type instead * deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it * tests for the obbject charting extension * removing charting service from command runner * filter functions not implemented in the module * remove charting service tests * removing charting service on the tests for int tests * charting integration tests * removing charting service file * removing old charting extension code * revamp builder * fix obbject tests * fix command_runner tests * removing openbb_figure_table * better website docs * reviewed readme * unsetting api key for posthog (pywry) windows * added debug_mode to the system settings * removing api key * update nightly script * fix tests * black * black * Revert "black" This reverts commit 21d76ad689087b4ad38cec55667186263363c89f. * Revert "black" This reverts commit 0904653fd73518c0d345a82f91f4cb06cfa84cb6. * black for henrique * returning a list instead * better docstrings * removing unnecessary indicators docstring * typo * black * intentional access to protected member * changes to publish script * filtering deleted files * black * adding render argument * fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named * adding the hability to add you own data to to_chart method * tests * black * disable protected access * accept kwargs to eg. save image * adjustment cc Igor * add if statement for protection * remove unused return typing * fix technical charting views * better error message cc @IgorWounds * better structure and fix test * Revert "better structure and fix test" This reverts commit 612ea6117ce064d5e41f74e72e171646be614408. * Revert "better error message cc @IgorWounds" This reverts commit 3d7ee53878b7742d187e83f7e5d4c27438aa40ef. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix CAPM example (#6075) * Start removing dead v3 commands for deprecation (#6070) * Yeet tokenterminal * Yeet crypto/onchain/hr and gwei * yeet luna * yeet coinglass * yeet dps/ctb * yeet reddit * yeet covid * actually not yeeting hide yfinance future warning * yeet options/hedge * not yeeting. i18n words * something happened on accident * still fixing * git reset/git checkout -f 2516cfbc72d23a7656715314ea94cc34d4c994ee website/content * still not sure whats going on * Edit workflow to not look at deleted files + change bootup message * Dont pin the workflow to my branch always lol * Remove askobb * [Feature] - Comma separated string and list inputs (#6062) * feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim * [Feature] Add Regional Data Endpoint from FRED (#6071) * add regional data endpoint from FRED * codespell * ruff * sort imports * add provder='fred' to integration test * thought I already sorted those imports.. * pylint.. * more test params.... * even more test params... * even more test params.... * static assets * reconfigure params * ruff * alias dict * recapture cassette * router doctstring --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix most integration tests (#6082) * Fix most integration tests * Lint * Fix price_target column for Benzinga (#6083) * Release/4.1.4 (#6081) * static assets * patch version increase * core update * bumping versions * bump finviz version * bump versions * bump versions on package.extension --------- Co-authored-by: James Maslek * Add dates to /quantitative as needed. (#6078) * Add dates to /quantitative as needed. Run new black * Fix tests * Pycharm is weird sometimes * uncommit * Add default window + error handling + mistake --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079) * add etf.equity_exposure from FMP * empty data error * recapture cassette * pylint unused argument * Fix router example typo * fix test...? * static file to fix test? * fix test..? * __json_schema_extra__ * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [BugFix] Fix Equity Integration Tests (#6086) * fix equity integration tests * black * pylint * black * black * move df_apply to helpers * unused import * remove file that shouldn't have been added * oops. didn't remove a couple lines * [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088) * standardize price_target * add analyst search * black * more black * ruff * linter, test parmas * last missing param * get rid of convert to upper * ruff * pylint * [BugFix] - Fix POST docstring examples (#6095) * Fix POST docstring examples. * Move router examples to command decorator * [BugFix] Fix `treasury_rates()` (#6092) * fix treasury_rates * drop rows with no data --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * clean up the remains from my yeeting (#6089) * clean up the remains from my yeeting * was not careful * Add ETF examples (#6102) Co-authored-by: Pratyush Shukla * [BugFix] Fix integration tests (#6100) * fix int tests * fix obbject int tests * fix quant tests * fix index tests * use python 3.10 instead * remove cache * end_date < start_date * [Enhancement]: Add TMX data provider extension. (#5913) * dev install * add TMX provider extension * normalize ytm and coupopn_rate values * black * codespell * ruff * black again * pylint * ftw * undo what Pylint thinks is best * more black * renovate insider_trading standard model * fix tests * typo * tests * empty string * pylint unused argument * nans for some reason * black * static files * static files with openbb-tmx installed this time * yfinance TypeError..? * NA -> N/A * update for version bump * list exchange-calendars as tmx dependency * eod chains date -> eod_date * new line * not that file * more black * one more black * fix weird merge thing * ruff * index constituents params * insider trading * fixing things * black * black AGAIN * news integration params * the other missing param * ruff * historical dividends field update * add json_schema_extra * gainers * symbols -> symbol * company news symbol * unit test param * review items * wrangle a rogue field * index router example * company news thing - symbols -> symbol * field name map --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek * [Feature] - OBB.GET (#6097) * create OBB.GET and data slicer page * remove quotes * format description * wording * functions.json * sidebar position * remove if stamente * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exception_h… * [Feature] - Auto-build test (#6271) * Auto-build test * Mark * [BugFix] Typo on `openbb-quantitative` readme (#6272) * typo on qa readme * typo on qa readme --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add pull_request trigger for release branches in API Integration Tests workflow (#6278) * fix: serialize response before fastapi (#6279) * [Feature] - Annotated results (#6282) * feat: pass metadata through AnnotatedData * fix: typing * fix: rename AnnotatedData to AnnotatedResult * fix: mypy * [Feature] - Merge reference.json and extension_map.json, plus documentation generator fixes (#6268) * Merge reference.json and extension_map.json * feat: check all packages are built and installed * rebuild * fix * small fix * Update package_builder.py * move core into info * move extensions into info * fix test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * update example notebook syntax for metadata change (#6287) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add Forward Sales and EPS Estimates (#6269) * add intrinio forward estimates * decorators * mypy * better sentence for descriptions * black * mypy * review things * update field --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Router descriptions (#6288) * First try * add routers to reference.json * fix apploader * add some router descriptions * rebuild * remove pydocstyle fixes * minor fix * docstring * new descriptions * undo sub routers --------- Co-authored-by: Henrique Joaquim * Updated docs again (#6289) * [BugFix] - Fix nested router descriptions (#6292) * fix: get_routers * keep previous structure * rebuild * opt * rename var * simpler * ^ * [Feature] Adding interactive tables (#6290) * fix table html for charting extension * handling tables * fixes and maing linting happy * reset index and route as default title * drop "index" column and temp workaround for "provider" column that breaks charts. * text overload * only drop range index * better to do it on table.html --------- Co-authored-by: hjoaquim Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix the multiple items check (#6294) * check for multiple items when no info * check for , and ; only if it's a str --------- Co-authored-by: hjoaquim * [HotFix] Add ETF holdings data param to Intrinio (#6293) * add etf holdings date param * static files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] - PyDocstyle Compliant (#6284) * PyDocstyle Compliant batch 1 * Batch 2 * Batch 3 * Batch 4 * Batch 5 * Batch 6 * Batch 7 * Linting * MyPy * mypy things * black * more mypy * black * fix that * black again * undo that * Fix error message * pylint --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Handling negative timestamps on Windows (#6298) * safe fromtimestamp * sage timestamp convertion on equity profile --------- Co-authored-by: hjoaquim * [Enhancement] Improve Charting Extension Plots and Indicators (#6243) * improve historical prices charts * ruff * correction in docstring. * forgot crypto in the router * pylint * that one shouldn't have changed. * pylint again * and black * add flag for heikin_ashi * better kwarg * ruff * tests * update warnings catch * ruff * pylint * don't cast warning when parameter is 'chart_params' * chart params * start backend only when the chart is about the be created * get_params * add generic line chart method for unsupported endpoints and external data * return None when render * query params * don't add volume to candle legend * better moving averages * commit some updates * add the __init__ file.. * exception handling * generic charts style * forgot to remove that print statement * codespell * generic bar charts * group bar charts * don't raise params warning when 'chart_params' in extra_params * price performance chart * black * ruff * typing things * etf price performance chart * don't warn when 'chart_params' exists * black * pylint * pylint * pylint * mypy * black * etf holdings chart * mypy * bar charts for fred * pylint * some review things * codespell * pylint * apply metadata update * unused import * typing things * ruff * weird title thing * docstring * backend syntax * black * pylint * duplicated imports outside of top level * start backend in constructor * more linters * now black * more linter * update warning ignore line * Charting class doctstring * indicator edge case * pylint * that was annoying * forgot macd indicators query params * kc default setting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] `json_schema_extra` getting overridden (#6300) * fix json_schema_extra getting overriden * keeping it as it was --------- Co-authored-by: hjoaquim Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * undocumented benzinga fields in response (#6304) * [BugFix] Fix yFinance end_date filter when not intraday. (#6302) * fix filtering by date * timedelta as minutes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix metadata creation (#6306) * fix metadata creation * fix metadata creation * adapt tests * adapt tests * adapt tests --------- Co-authored-by: hjoaquim * [BugFix] - Provider is added to every response item (#6305) * Exclude provider and don't model_dump * still missing docstrings * undo package changes * minor fix * mypy * minor fix * cleaner * private var * docstring * docstrings * add package builder tests * ruff * rename * rename * update tests * minor fix * fix test * handle docstring edge cases * test * [BugFix] Fixes the API (#6309) * stops the API from breaking. * black * whitespace. * [Feature] - Update credential filters to v4 (#5949) * update cred filters to v4 * ignore v3 key if v4 is there already * add comment + unit test * update hub state instead of replacing * remove unused file * fix unittests * ruff * add comment * remove lc * black * comment * comment * comment * comment * send warning if v3 keys found * tradier v3 * keep v3 intact * better * unit test + minor fixes * cleaner * comment * sorted * remove unecessary class * remove ultima from v3tov4 map * unit test v3tov4 map * unit test v3tov4 map * unit test v3tov4 map * providers.json * ^ --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add single widgets public endpoints examples (#6312) * Add single widgets public endpoints examples * add couple more examples * imrpove documentation * update with video * [BugFix] Charts: Fix Legend & Title Crowding in Jupyter (#6316) * better jupyter legend * add that to the commit * [BugFix] Chunk FMP Price Performance URL For Large Lists (#6317) * chunk price performance url * black * recapture fmp tests * fix tests * type * remove terminal related artifacts from build folder (#6307) Co-authored-by: hjoaquim Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Replace Platform Docker File. (#6321) * api.dockerfile * move Rust install * add rust to PATH * Install dev tools * no -e * Fix build failing for router-only extensions with no standard models (#6324) * [BugFix] Add Missing require_credentials=False In Nasdaq Fetchers (#6320) * missing require_credentials=False * pylint disable unused argument --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Adding safe timestamp conversion everywhere (#6299) * safe fromtimestamp * sage timestamp convertion on equity profile * safe fromtimestamp * fix imports * Lint * Force UTC Currency Snapshots * Add that to market_snapshots too. * black * ignoring some typing * ignoring some typing * typing * typing * typing --------- Co-authored-by: hjoaquim Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Docs] Charting Documentation (#6303) * start to charting docs * Add images to landing page * Add images to indicators * codespell * add some examples * Add screenshots * codespell * missing image * [Feature] - LLM mode (#6308) * LLM mode * Docstring truncation * Preferences * Output type * use settings instead? (#6314) * Refactor with @montezdesousa * fix test * fix: max length type * field descriptions * try with FieldInfo * ugly... * partial * override FieldInfo __repr__ * typing * separate model_config * rename OpenBBCustomParameter to OpenBBField * lint * pydocstyle * don't include choices if no choices --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Diogo Sousa * [Feature] Add Relative Rotation To `openbb-technical` and `openbb-charting` (#6277) * add relative rotation * router examples * docstring * test params * black * name of test functions * router example description * fix NoneType is not iterable * clear print * linting * black * revert that one place, it can stay None * forgot that file in the commit * some cleanup * improving the get_type_name funciton a bit * query_params types * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: hjoaquim * [Release] 4.1.7 (#6325) * [Critical] Sync `main` with `develop` (#6202) * feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863) * intrinio equity search * integration tests * test --------- Co-authored-by: James Maslek * feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845) * yfinance multi-ticker support * multi-ticker support for market indices * crypto multi-ticker support * recapture tests * yfinance cache and tests * currency historical multi-ticker support * style things * black * missed a values --------- Co-authored-by: James Maslek * Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776) * add treasury prices endpoint to fixed income router * adds tests * black * ruff * import statements * standard model imports * black * some cleanup * black * async router * make async * str outpuot * bytes object not string * docstring typo * multi-line f-string * encoding * duplicated conditional * black --------- Co-authored-by: James Maslek * feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757) * add ETF holdings from SEC provider * black * helper function params * edge cases * ruff * add validator in company filings * remove xml field * update import * cleanup parsing * missing datetime import in company_filings * black * unused import * add missing py.typed files * feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790) * add nasdaq to equity search * black * unused import * make async --------- Co-authored-by: James Maslek * Excel docs (#5870) * first test * remove old reference * bring this file back * generate sidebar and write empty mds * generate index.mdx * get description from cmd_lib * fix reference card error * rename file * generate markdown * regen * add last+hist * update pages with seo metadata * format types * small fix * css sux * add usage placeholder * set hidden by default * nah * add cmds and menus to reference * lint * fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py * format mds * remove space * fix commands heading * redo folder structure * add back cmd description * move card to var * different main folder * clean * move vars * refer to editor * rename var * done * recreate folder structure * add section: syntax + minor adjustments * remove return type * remove return type * rename api to library * minor fix * remove api folder * remove api folder * formatting * improve basics * basics * fetch functions.json from website * complete basic * change syntax to use semi-colon * basics * basics * remove space in sig * remove sections * add metadata * Update formula builder * add tabs * Update index.md * complete basics and formula_builder * Update index.md * add windows screenshots * restructure folders * regenerate with latest add-in version * move Excel sidebar * rename function and add comment * now it's working * logic * rename folder * Update formula_builder.md * fix * hide excel for now * some explicit typing --------- Co-authored-by: tehcoderer * Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822) * init * Update helpers.py * filter URL on raise * polygon, fmp done, update cassettes * updates * cleanup * revert tests for now * Update discovery_filings.py * Update helpers.py * add `async` overload to `Fetcher.extract_data` * update merged fred models * tests, improve fred series * Update insider_trading.py * insider * tests * intrinio * Update equity_historical.py * implement abstract async extract on Fetcher, with simple switch * cleanup * Update helpers.py * Update helpers.py * fix fmp historical deprecated urls * Revert "fix fmp historical deprecated urls" This reverts commit 1a760a24737ed3d1439472bdb4c47aa778bcce8b. * fix fmp `index.market` 1day url missing query params * Update test_fmp_market_indices_fetcher.yaml * field fixes * `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request` * `async_requests` -> `amake_requests` * Update company_news.py * add sort to index `integration` params * add `client.py` tests * Update equity_search.py * Add lost v in platform api version string * Resolve linter errors here and there --------- Co-authored-by: Theodore Aptekarev * Allow this to be run in parallel (#5872) * Limit mypy v3 linting to only the diff of the PR (#5878) * Use custom parametrize from news menu tests (#5873) * Use custom parametrize from news menu tests * Update Ultima unit test cassettes * Command Schema (#5874) * POC * Filter by provider * pass base_app as parameter * add typing + TODO * fix some typing * Fix unit tests --------- Co-authored-by: Diogo Sousa * Parameterize `obbject.to_df` with `index` and `sort_by` (#5877) * Parameterize obbject.to_df with index and sort_by * unit tests for obbject * keep using the date as default to use on basemode_to_df() --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Changes to the `obb.fixedincome.corporate.hqm()` output (#5876) * changes to the hqm output * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Refactor method in RegistryMap (#5879) * refactor extract_info * add comment --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove Literal from providers in OBBject (#5882) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix version (#5883) * Fix version * Fix linter on terminal * Refactor package builder (#5880) * breakdown builder + remove black * rebuild * rebuild * rebuild * rename method * format built code without black * we still lint if it's available * fix existing tests * add linter tests * add black to dev deps * auto_build as instance method * reorder methods * typing --------- Co-authored-by: Henrique Joaquim * small refactor for simplification (#5886) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix bug. Add router test. (#5888) * Fix bug. Add router test. * Simplify * separate pylint between platform + terminal (#5892) * separate pylint b/w platform + terminal * Explicitly set pylint check scope to files in the diff --------- Co-authored-by: Theodore Aptekarev * sync descriptions (#5893) * Add REST API docs page with advanced settings configuration (#5890) * Don't mention docker in a list of python envs * Create a REST API page * Update docs to get api keys from the hub * Update installation instructions * Mention requirement of poetry and toml in source installation section * move rest page up to the top. and add url to google colab example notebook --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix a v3 syntax example (#5891) * Adds federal reserve data points (#5885) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * Check if outdated (#5898) * Add econometrics API tests (#5899) * Docs/excel update (#5889) * update xl docs * update syntax line * update again * Fix pylint scope (#5895) * Allow optional input for 2-month treasury rates and add FederalReserve rates model The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher. * Add Money Measures models and commands This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data. * Add Federal Reserve Money Measures test file This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server. * Cleanup * Sneaky unformatted integration tests * its a dawg life for me ...... ruff * add the fed funds rate * didnt mean to commmit this * black * this is why we should pre commit kids * change install name * add providers to int tests * review comments + commit static * replace nan with None * fix float on None * get rid of nans for nulls for json handling * change `_` to `-` in readme pip install. * Update __init__.py docstring * Debug pylint * Adjust the fetch depth --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * fix `from openbb import obb` asyncio lock in python REPL (#5896) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/financials - PR for working on structure of financial statements. (#5794) * balance sheet draft * balance_sheet draft * cash_flow draft * income_statement draft * intrinio financials * description * period field * ruff * income statement * field * label - gross profit ratio * cash flow statement * investing order * add option for caching to cashflow * add caching to balance and income * typos and update order for financial institutions * replace 0 values with None * add financial ratios from intrinio * black * missing test params * balance cassette * query param description * symbol list warning * black * handle BRK-A and symbols with a dash for Intrinio * fix typo error * add free cash flow to bottom of cash flow statement * amortization_expense * dev_install.py * undo dev_install.. wrong branch * cash flow order things * standardized cash flow * fields * integration tests * cash flow model validator * more polygon cash * black * black * Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py wrong file * balance sheet * some cleanup * ruff * income statement * black * test params * financial ratios async update * recapture fmp and polygon tests * yFinance financials * yfinance tests * delete financial_statements standard model * intrinio balance sheet order * fiscal year standard param * remove file accidentally committed * add reported_financials end point * fiscal_year param for reported_financials * fix url * fmp test cassette * add safe-guard with warning for fiscal year before 2008 * periods can only be annual and quarter * url in docstring correction * add fiscal_year param to intrinio standardized financials and ratios * fix fmp ratios * black * rename fields as per Minh * rogue field * black * Fix typo in a docstring * Resolve linting errors * type ignore * disable=unused-argument * changing the arg name cc @minhhoang1023 --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904) * add warning at top of page - instructions are for installing the Terminal app * pip install openbb-nightly * hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907) * update income statement fields * another polygon field * ratio -> margin * black * explicit fmp fields * add reported_currency for standardized intrinio * # pylint: disable=unused-argument * another unused-argument * black.. * patch tests * polygon income: eps -> basic earnings per share * re-capture terminal portfolio menu test --------- Co-authored-by: hjoaquim * Fix test (#5916) * Fix test * Skip ultima integration tests --------- Co-authored-by: Pratyush Shukla * hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918) * replace zeros with none and normalize percents * pylint unused argument * Update index.md (#5906) * Release/4.1.0 (#5901) * Hotfix/terminal tests (#5919) * skip supressed arguments * silent way of customly load on quote * specify source for call_load * docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914) * platform vs sdk faq page * add data and data providers faq section and some style cards * typo * makes changes as per reviews * openbb-nightly as a way to install everything * jupyter-lab instead of jupyter --------- Co-authored-by: Henrique Joaquim * hotfix/backend - Initialize OpenBBFigure (#5912) * create backend * openbb_figure * black * pylint * pylint again --------- Co-authored-by: Henrique Joaquim * hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923) * multi-ticker support for yfinance futures historical * raise-missing-from * integration test params * equity_historical adjusted kwargs * pylint unused argument * Docs/excel examples (#5920) * regen excel md * add syntax + basic example * fix example * create json with docs map * update docs to latest functions.json + remove tiingo * remove space from examples * minor fix * remove spaces * remove spaces * bug fix: remove folder before generating * fix typo * add link to appsource * fix * Update templates.md * regenerate content * change docs colors * fix light mode * add back tiingo * update functions.json * templates go later * remove Library from reference * Make the excel markdown being generated at runtime * fix reference cards having commands under menu * remove excel/reference folder since this is built at runtime by gh-pages action * black formatting * improve title * add excel to the main page * add excel image bg * make excel sidebar show up next to pro * improve main page * small fix for platform page title * update basics page * add tip to autocomplete --------- Co-authored-by: DidierRLopes * Re-record tests and fix symbol bug (#5924) * Re-record tests and fix symbol bug * nordvpn us ftw * @IgorWounds says "SPY >> IOO" --------- Co-authored-by: Pratyush Shukla * Docs/bug fix (#5926) * fix pro link * fix wrong example * Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925) * introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint * add default args to test * Add json_schema_extra to openapi.json (#5930) Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * feature/standardize-quote: Proposal to Standardize EquityQuote (#5922) * standardize EquityQuote * intrinio reference * rogue comma * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921) * add fiscal_period to revenue by geography and business line * data description and unused imports * update test cassette * Allow multiple symbols `equity.profile` (#5929) * allow multiple symbols * pylint * pylint ignore position * change callback to helper func --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * Add filtering to AV historical price (#5928) * add filtering to av historical price * lints --------- Co-authored-by: Pratyush Shukla * Fix vwap FMP error (#5936) * Fix vwap FMP error * Linting * Painlint * Add date filter + symbols to comp (#5931) * add date filter + symbols to comp * make sure year is in d * tests fix * Improving Platform's import time (#5894) * missing decorator * missing optional statements * us-gov to optional and right position * removing redundant call * lazy load mappings * docstrings * introducing the extension loader class * misleading docstring * using the extension loader on the router * using the extension loader on the credentials * docstrings * lazy load of entry points * checkout dev_install * using the extension loader to get the entry points instead of recalling the function * improved auth service and charting service * using the extension loader on the registry * typos * adding properties to extension loader for easy access * using the extension loader on the package builder * avoiding circular imports by using forward references * fix charting service tests * test for the extension loader * Update openbb_platform/core/openbb_core/app/model/credentials.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/app/router.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Update openbb_platform/core/openbb_core/provider/registry.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * adjustments --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Disable auto_build on test run (#5937) * Disable auto_build on test run * Move to conftest * Update excel docs (#5940) * update basics * update reference generator * Categorize release notes based on labels for OpenBB Platform (#5943) * Categorize release notes based on labels for OpenBB Platform * Add environment variable for GitHub token in labels-PR.yml * Update labeler.yml to use "enhancement" label for feature branches --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Custom deprecation message in API endpoints and Python commands (#5942) * add custom deprecation message feature in routers * add custom deprecation message feature in package builder * using an actual DeprecationWarning instead * fix tests --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * Hotfix/remove unused workflow (#5945) * Disable auto_build on test run * Remove unused workflow * Revert * Hotfix/fix typo (#5948) * Disable auto_build on test run * Fix typo * Revert * docs/data-models-url: Fix URLs on Development Page (#5944) * fix url to the standard models * github links * `equity.fundamental.dividends`: allow filter by date (#5932) * allow filter by date * ruff * pylint * fix tests --------- Co-authored-by: Pratyush Shukla * Create Excel templates page (#5947) * create templates page * Update index.mdx * fix description * update card * remove clsx * Update index.mdx * Update index.mdx * Update index.mdx * Update index.mdx * min height * min height * improve excel docs and point towards hub --------- Co-authored-by: DidierRLopes * hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951) * fix limit param * pylint unused argument, recapture test cassette --------- Co-authored-by: Pratyush Shukla * Docs/remove core refs (#5957) * remove references to core: PathHandler + ProviderInterface * remove unused function * add comment * regenerate * fix a few examples * add comment * rename file * Excel tutorials on the docs (#5956) * update workflows name to tutorial * update title * get barebones to bring in Excel videos * tutorial excel videos in * hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961) * convert intrinio balance sheet values to float type * unused import * typo in alias dict * Update to OpenBB Add-in for Excel (#5965) * Log custom headers (#5966) * add custom headers * fix: send on startup and defaults * pylint * unittests * move government-us to community in dev_install (#5963) * fix: adds logic to check whther user is logged in on hub (#5941) Co-authored-by: Luqman * hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909) * Fixes too many mandatory fields. * black * black again --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: James Maslek * `equity.estimates.price_target` - Integrate with Benzinga (#5946) * deprecation message * fix lints * adding equity.estimates.ratings and fmp as its provider * unit tests for fmp * removing unused file * typos * add benzinga to AnalystRatings * revert changes to estimates router * moving it to price target instead * reverting changes * fmp support for multiple ticker * benzinga price target * ruffy * unused argument * fix type hints * tests for the new fetcher * new integration tests * fixing tests * missing std arg --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962) * deprecate index.market and add index.price.historical * add index.historical standard model * add index.historical provider models * index extension tests * provider tests * linting * bug fix (#5969) * Uppercase excel reference (#5958) * uppercase reference * fix name header * add tab title * remove reference excel folder * add to gitignore excel reference files --------- Co-authored-by: DidierRLopes * move templates (#5970) * Release 4.1.1. (#5964) * update dev_install * fix effr test * Update dev_install.py * fix fundamental balance test * fix equity price historical test * fix price target model * black * rebuild static files * update publish.md * fixed dev_install * update publishing doc * updated `openbb-core` to 1.1.1 * updated extensions * updated providers * updated `openbb` package * updated static extension map * updated publishing doc * fixed toml for `openbb-finra` * @jmaslek yfinance IS DEFAULT * updated static --------- Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim * Fix link to discord channel (#5910) Co-authored-by: James Maslek * Fixing Posthog handler for thread safety (#5968) * fixing posthog handler for thread safety * removing loggging init from the global scope - per sensei juan --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update labeler.yml and labels-PR.yml (#5974) * hotfix/ allow multiple `identify` calls (#5976) * allow multiple `identify` calls * Update posthog_handler.py * regex out any invisible control character from sales_conditions field (#5977) * docs/http-requests: Contributor Guide For Building HTTP Requests (#5973) * contributor guide for http requests * add a docstring * add section on get_querystring * extra space * add note for people installing PyPI in a zsh terminal shell --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * feature/add-yfinance-functions: Add equity.profile for yFinance (#5978) * equity profile for yFinance * pylint * equity quote * unused imports * remove yfinance from extras in toml (#5982) * Release OpenBB Platform v`4.1.3` (#5983) * fixing pyproject.toml * adding pandas-ta to technical package for publishing * bumping technical * test for pyproject toml * feature/cboe-async: Refactor Cboe for Async (#5900) * refactor cboe for async * codespell * unused imports * pylint * more pylint * platform metadata * classmethod decorator * test params * intrinio quote * test param names * date in test needs to be a datetime.date not string * make fmp unix timestamp tz-aware and normalize percent change * different way of parsing datetime string * recapture cboe equity historical test * unused import * index snapshot update * black * extension map * pylint * cboe pyproject.toml * proposal to standardize equity_quote * one more file * removing changes on static assets * index_historical * index_historical again * last_time -> last_timestamp * obsolete router path * fix tests * test param * restore market index deprecation that I forgot about * fixing tests --------- Co-authored-by: hjoaquim * Fix typo in website/README.md (#5980) * Fix typo in website/README.md * Update linting.yml * Update linting.yml * Update linting.yml * Change ref conditions * Update linting.yml --------- Co-authored-by: Luqman Co-authored-by: Luqman * Hotfix/th etfs (#5959) * added etf trading hours * black formatter --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: Luqman * feature/finviz-provider: Adds Community Finviz Provider Extension (#5952) * add finviz provider * recapture tests * recapture tests again? * invalid test param * static packages * units_measurement -> unit_measurement * static packages as core only * openbb_core version bump in pyproject.toml * try adding user-agent to test response * fix tests * linting * provider model cosmetic changes * fix install script and typo in openbb toml * static * fix: re-record unittests * empty data error * definitions as a file --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: Diogo Sousa * Add support for multiple symbols on `obb.equity.price.historical` (#5984) * av - support for multiple symbols * tiingo - support for multiple symbols * include symbol only if necessary * update extension descriptions page (#5985) * remove useless file (#5991) * added symbol to headers (#5981) Co-authored-by: Pratyush Shukla * Fixing Docs Typos (#5955) * fixed typo * fixed stocka typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: DidierRLopes * fix nasdaq test cassettes (#5989) * don't include `custom_headers` in openapi schema (#5994) * hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987) * drop None rows from intrinio historical indexes * add empty data error * static assets * hotfix/insider-trading: Fix #5988 (#5990) * fix validation errors * empty strings * validator --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: teh_coderer * CI listing quick fix (#6002) * BIGGGG LINTING * fixing lints * fixing lints * black * very ruff * no export * fix hedge_view again * lints * platform lints * lints * black * black it @hjoaquim * fix some more linting --------- Co-authored-by: hjoaquim * Release `openbb-finviz` `1.0.0` to the public (#6000) * set version to `1.0.0` * Set correct dep version in main package * Add `finviz` to table * Auto Labelling for OpenBB Excel Docs Changes (#5998) * Update pull request labels * Update labeler.yml with new label for Excel files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Support for custom examples in router commands (#5993) * Disable auto_build on test run * Add support for custom router examples * Revert odd file change * Fix API pollution * Refactor examples with @montezdesousa * Check if model is inside the PI * Fix * feat: add & fix examples (#6001) * feat: add & fix examples * fix: ruff + comment * feat: read parameter pool from file * feat: typing + unit test * Disable auto_build on test run * Add field order to OBBject * Revert * lint and revert * fix test --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Diogo Sousa * hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997) * fix compare between str and datetime * unused argument * get_weekday * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Field order added to the OBBject extra as preference (#5999) * Disable auto_build on test run * Add field order to OBBject * Improvements * Remove noxfile * Disable auto_build on test run * Add field order to OBBject * Revert * lint * Add docs * Not sure how this happened * lint * Update `openbb-devtools` (#6008) * update deps * unpinned package versions from gh linting action * codespell * updated black dependency * linting * linting * linting * pin codespell version * black * black again * install devtools in linting action * format w new black (#6009) * format w new black * format w new black * black again * black the terminal * ignoring unused arguments --------- Co-authored-by: Pratyush Shukla * remove reviewpad (#6010) * Remove Ultima provider (#6012) * Add OECD unemployment (+more) + data cache idea (#5917) * Add OECD unemployment + data cache idea * Docstring edits * Tests * Add composite leading indicator * i truested ruff --fix too much * Add short + long term interest rates * pylint * pylint2 * was not committing. my b * add csv cache + make it default. remove pyarrow from poetry * Clean up * Didnt run on this file. My bad * Why was this ignored /shrug * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/improved pr template (#6018) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * better pr templates * developer template * [Feature] - Custom deprecation (#6005) * custom deprecation * custom deprecation * using the new deprecation * custom deprecation on the package builder * remove comment * ruff * black * static assets * tests * using parametrization instead * test for deprecated endpoints (#6014) * Deprecation warning on the reference docs (#6015) * typo/fix * bring back methods needed for markdown generation * add deprecation warning to docs * contributor docs for deprecating endpoints - tks @deeleeramone * small changes on publishing procedure per @the-praxs * moving the deprecation summary class to deprecation file instead * explanation on class variables * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update openbb_platform/openbb/package/index.py Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md Co-authored-by: Pratyush Shukla * deprecating on 4.3 instead @the-praxs --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Pratyush Shukla * [BugFix] Fix package builder (#6022) * fix: remove specific imports * adjustments for correct deprecation * static assets --------- Co-authored-by: hjoaquim * [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013) * historical attributes standard model - * add support multiple tags * add `tag` field in data * add support for multiple tags in historical attributes * set correct return type in `callback` function * latest attributes standard model - * add support for multiple tags * add `tag` field in data * add support for multiple tags in latest attributes * add test params for the attributes endpoints * add support for multiple `symbol` and add `symbol` field in the data * modified code to fetch data from multiple symbols and throw warning as per @deeleeramone * add params for testing multiple symbols * linting * fix test params * fixed condition to check if its a `Dict` type * updated intrinio fetcher tests for the statements * updated static * [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011) * fmp overview to equity profile * deprecation warning * urls * wrangle fields * black * pylint unused argument * insert additional securityID fields to standard model * custom deprecation using OpenBBDeprecationWarning * typo - need to have the deprecated=True flag * static assets * fix non related test * minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [BugFix] - Remove duplicate code (#6025) Co-authored-by: Pratyush Shukla * remove `SectorNews` from router and standard models (#6026) * feature/more-yfinance: Adds some more to openbb-yfinance (#5979) * equity profile for yFinance * pylint * equity quote * unused imports * price target consensus * add currency field * add share_statistics * don't append empty result to results * key executives * missing definition in key_executives * pylint * key metrics * add currency to key metrics * add etf_info * rename trailing_annual_dividend -> dividend_rate_ttm * add institutions count to share_statistics * add historical dividends * add logic for start-end dates to historical_dividends * recapture the test..? * funny test * filter on tests? * record test with clean cache..? * year_price_change -> price_return_1y in key_metrics * black * make descriptions clear for beta and dividend_yield fields * add description field to standard model * updated static * clear description of shares_implied_outstanding field * updated static for equity * clean descriptions --------- Co-authored-by: Pratyush Shukla * feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760) * add commodity extension and add lbma fixing endpoint * dev_install.py * readme url * renovate the standard model * makes a query_params model for nasdaq data link * literal not optional * unused imports * missing test params * test cassette * DataLink query param description * test file import * actually fix import * from openbb_core.provider..... * ruff * another import statement * black * async router * move query_params * update version * version numbers * extension_map * satisfy pylint? * pylint * Update pyproject.toml * black * poetry lock * Update extension_map.json * Update __extensions__.py * Update module_map.json * clean descriptions --------- Co-authored-by: Pratyush Shukla * Improve UX for `obb.news` (#5986) * adding date,start_date and end_date to std params * add date to special params which should've another type * change types to dateType * change helper to accomadate changes in types * date filtering * using the date filtering for all providers * date params on the std model instead * adding the right type * filtering dates on world news * integration tests * fix descriptions * static assets * black * Revert "black" This reverts commit 7288b59f87e1b0816733a96ce77fb96e13dcf0e3. * lint * addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing * tests accordingly * static assets * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Improve Standardization - `IndexHistorical` (#6030) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * fix tests * keep the skip * fix test * [Feature] - Refactor Response Model (#6024) * Start refactor with @montezdesousa * feat: add response model inside openapi_extra * feat: find+replace return types * fix: ruff * Feature/api response by provider (#6029) * init * Update router.py * Update registry_map.py * check dicts * lint * exclude provider on data model for package build * `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data` --------- Co-authored-by: Diogo Sousa Co-authored-by: teh_coderer * [BugFix] - Improve Standardization - `CotSearch` (#6031) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * keep the skip * fix test * adding missing param * fix tests accordingly * Docs/byod (#5996) * add byod to reference * fix: rename add-in name * feat: add data conectors page * fix: additional notes * tiny tweaks * update functions.json and openapi.json * fix: fix bug in hedge controller * fix: another bug hedgecontroller * black --------- Co-authored-by: DidierRLopes * Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006) * date -> ex_dividend_date * nasdaq historical dividends * black * pylint * intrinio alias_dict * dividend_currency -> currency * yfinance field name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023) * fix: remove specific imports * make polygon historical tz-aware * undo including that commit * that PR wasn't supposed to be there. * pylint unused argument * fix polygon crypto historical intervals * pylint * new cassette * fix the rest of the polygon historical price query params * black * pylint.. * integration test param * appease daylight savings handling * paginate for crypto currency and index * black * raise EmptyDataError when no results instead of returning an empty list * ruff --------- Co-authored-by: Diogo Sousa * Hotfix/wrong pydantic validator (#6037) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * Use field_validator instead * fix openapi schema fields `to_snake` (#6036) * Fix data connectors link typo (#6038) * [BugFix] - Improve Standardization - `EquitySearch` (#6033) * format w new black * Revert "format w new black" This reverts commit 74b9619cc6b565f85aef1e89fc01900b86c8b991. * small adjustment on the test * index historical * adjust tests accordingly * keep the test skipped * match tests w python * use cache as std field * fix tests * fix tests * use_cache as std * adjust tests * keep the skip * re-record test * black * Docs / only display results for current platform (#6017) * Update index.js * Update index.js * yfinance * tzcache no longer exists * fixxy * ruff --------- Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek Co-authored-by: Andrew * Improve the docstrings (#6040) * Improve the docstrings (#6041) Co-authored-by: Henrique Joaquim * dont run base tests with v4 label (#6046) * Sync excel reference (#6039) * sync excel reference * fix: change delimiter to comma * feat: update data connectors * test skipping wf * Update unit-test.yml * Update unit-test.yml * test skipping wf * watch label changes * Update unit-test.yml * [Enhancement] - Improve `news` router docs and examples (#6047) * better docs * static assets * Feature/platform standardization notebook (#6049) * Add platform standardization overview notebook to examples * Add py.typed marker to openbb-fred * [Enhancement] - Improve `currency` router docs and examples (#6045) * currency search * reference rates * historical price * static assets --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * display warnings based on preference (#6051) * [Enhancement] - Improve `crypto` router docs and examples (#6048) * crypto search add validation for '-'-separated pairs * set default query value to None * improve /crypto description with custom examples * improve /crypto/price/historical description with custom examples * updated static for crypto menu * ignore line too long * linting --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Final Implementation of Changelog V2 (#6050) * Updated the release drafter to process the released changelog for OpenBB Platform * Update release drafter configuration * Add OpenBB Documentation Changes and Create Release * Update process_changelog.py path in draft-release.yml * Update release-drafter version and save changelog * Copy changelog with python * Update draft-release.yml to save Changelog * Update draft-release.yml * Encode and save Changelog to Base64 * Update Changelog saving method * Update Changelog format * Update CHANGELOG.md with release notes * Fix draft release workflow * Add cat command to print CHANGELOG.md * Add platform-drafter.yml and update release-drafter.yml and draft-release.yml * Commented out config-name in release-drafter step * Update branch name validation and process_changelog.py * Refactor process_changelog.py to improve readability and maintainability * Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * improve discriminator logic, fix package return type docs (#6052) * improve discriminator logic, fix package return type docs * Update registry_map.py * build package * Update registry_map.py * defaults * Update registry_map.py --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Add LLM tools example notebook (#6053) * Add LLM tools example notebook * Update README, rename example notebook --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove the preference (#6055) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Standardise multiple symbols input (#6056) * feat: remove list of str * fix: update cpi * package builder + cpi * build * fix: update unittests * fix: check_item * fix: unittests * Improve the docstrings (#6057) * update economy router docstrings (#6058) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix OECD Long Term Interest Rate (#6060) * fix long term interest rate * pylint unused argument * [Bugfix] - Fix economic calendar country (#6059) * fix economic calendar country * lint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063) * sp500 multiples cleanup * remove dict from standard model * static pacakge * pylint * [Feature] FMP Current Holdings (#6043) * add fmp current holdings to etf holdings * pylint unused argument --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Replace symbols in company/news (#6061) * feat: replace symbols in /news * fix: integration tests * fix: integration tests api * fix: typo * Update test_intrinio_fetchers.py * [Enhancement] Add function examples to router. (#6042) * options router * fixedincome router * futures router * missing comma * static assets * futures router --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Enhancement] Add function examples to Regulators Router (#6054) * options router * fixedincome router * futures router * missing comma * static assets * futures router * sec router * cftc router * black --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fix World News (#6064) * fix fmp * fix intrinio * fix biztoc * actually commit intrinio fix * fix tiingo * unused import * fix tests * black * ruff * benzinga empty strings * codespell * fix test? * more empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - remove unused validators from standard models (#6067) * update standard models * lint * Update USD Liquidity Example Notebook for V4 (#5902) * Update USD Liquidity Example Notebook for V4 * delete some v3 text in the copperToGold * Update README.md * findSymbols preview image * Google Colab preview image * financialStatements preview * content tsx file * ### title * convert tsx to json * indent size * double quote keys.json * trailing commas * Update content.json * patch --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix QA Examples (#6072) * [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073) * bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs * Update branch naming guidelines link --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Feature/charting obbject (#5938) * fix circular import issues on the obbject extension framework * settings available on the obbject * extension init * charting assets and code * introduce to_chart functionality * removes the to_chart method from obbject in detriment of the one from the obbject extension * Update openbb_platform/obbject_extensions/charting/charting/__init__.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix on the show method * adding the example to the to_chart docstring * copying the exsting README from charting extension - needs to be revamped * moving to openbb_charting instead * update the pyproject.toml file * pydocstyle * versions * better docstrings * making accessors public * removing unnecessary credentials variable cc @montezdesousa * removing access to extra/metadata and use designated private attrs instead * Fixes linting for the logging service (#5992) * lints * typing.Type instead * deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it * tests for the obbject charting extension * removing charting service from command runner * filter functions not implemented in the module * remove charting service tests * removing charting service on the tests for int tests * charting integration tests * removing charting service file * removing old charting extension code * revamp builder * fix obbject tests * fix command_runner tests * removing openbb_figure_table * better website docs * reviewed readme * unsetting api key for posthog (pywry) windows * added debug_mode to the system settings * removing api key * update nightly script * fix tests * black * black * Revert "black" This reverts commit 21d76ad689087b4ad38cec55667186263363c89f. * Revert "black" This reverts commit 0904653fd73518c0d345a82f91f4cb06cfa84cb6. * black for henrique * returning a list instead * better docstrings * removing unnecessary indicators docstring * typo * black * intentional access to protected member * changes to publish script * filtering deleted files * black * adding render argument * fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named * adding the hability to add you own data to to_chart method * tests * black * disable protected access * accept kwargs to eg. save image * adjustment cc Igor * add if statement for protection * remove unused return typing * fix technical charting views * better error message cc @IgorWounds * better structure and fix test * Revert "better structure and fix test" This reverts commit 612ea6117ce064d5e41f74e72e171646be614408. * Revert "better error message cc @IgorWounds" This reverts commit 3d7ee53878b7742d187e83f7e5d4c27438aa40ef. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * Fix CAPM example (#6075) * Start removing dead v3 commands for deprecation (#6070) * Yeet tokenterminal * Yeet crypto/onchain/hr and gwei * yeet luna * yeet coinglass * yeet dps/ctb * yeet reddit * yeet covid * actually not yeeting hide yfinance future warning * yeet options/hedge * not yeeting. i18n words * something happened on accident * still fixing * git reset/git checkout -f 2516cfbc72d23a7656715314ea94cc34d4c994ee website/content * still not sure whats going on * Edit workflow to not look at deleted files + change bootup message * Dont pin the workflow to my branch always lol * Remove askobb * [Feature] - Comma separated string and list inputs (#6062) * feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim * [Feature] Add Regional Data Endpoint from FRED (#6071) * add regional data endpoint from FRED * codespell * ruff * sort imports * add provder='fred' to integration test * thought I already sorted those imports.. * pylint.. * more test params.... * even more test params... * even more test params.... * static assets * reconfigure params * ruff * alias dict * recapture cassette * router doctstring --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix most integration tests (#6082) * Fix most integration tests * Lint * Fix price_target column for Benzinga (#6083) * Release/4.1.4 (#6081) * static assets * patch version increase * core update * bumping versions * bump finviz version * bump versions * bump versions on package.extension --------- Co-authored-by: James Maslek * Add dates to /quantitative as needed. (#6078) * Add dates to /quantitative as needed. Run new black * Fix tests * Pycharm is weird sometimes * uncommit * Add default window + error handling + mistake --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079) * add etf.equity_exposure from FMP * empty data error * recapture cassette * pylint unused argument * Fix router example typo * fix test...? * static file to fix test? * fix test..? * __json_schema_extra__ * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * [BugFix] Fix Equity Integration Tests (#6086) * fix equity integration tests * black * pylint * black * black * move df_apply to helpers * unused import * remove file that shouldn't have been added * oops. didn't remove a couple lines * [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088) * standardize price_target * add analyst search * black * more black * ruff * linter, test parmas * last missing param * get rid of convert to upper * ruff * pylint * [BugFix] - Fix POST docstring examples (#6095) * Fix POST docstring examples. * Move router examples to command decorator * [BugFix] Fix `treasury_rates()` (#6092) * fix treasury_rates * drop rows with no data --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * clean up the remains from my yeeting (#6089) * clean up the remains from my yeeting * was not careful * Add ETF examples (#6102) Co-authored-by: Pratyush Shukla * [BugFix] Fix integration tests (#6100) * fix int tests * fix obbject int tests * fix quant tests * fix index tests * use python 3.10 instead * remove cache * end_date < start_date * [Enhancement]: Add TMX data provider extension. (#5913) * dev install * add TMX provider extension * normalize ytm and coupopn_rate values * black * codespell * ruff * black again * pylint * ftw * undo what Pylint thinks is best * more black * renovate insider_trading standard model * fix tests * typo * tests * empty string * pylint unused argument * nans for some reason * black * static files * static files with openbb-tmx installed this time * yfinance TypeError..? * NA -> N/A * update for version bump * list exchange-calendars as tmx dependency * eod chains date -> eod_date * new line * not that file * more black * one more black * fix weird merge thing * ruff * index constituents params * insider trading * fixing things * black * black AGAIN * news integration params * the other missing param * ruff * historical dividends field update * add json_schema_extra * gainers * symbols -> symbol * company news symbol * unit test param * review items * wrangle a rogue field * index router example * company news thing - symbols -> symbol * field name map --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Henrique Joaquim Co-authored-by: James Maslek * [Feature] - OBB.GET (#6097) * create OBB.GET and data slicer page * remove quotes * format description * wording * functions.json * sidebar position * remove if stamente * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exception_handler… * Re update excel docs (#6329) * [Feature] EconDB Provider Extension With New Economy Endpoints. (#6313) * economy router * router endpoints * update available_indicators * add econdb provider extension * black * fetcher test * country description * recapture tests and router examples * black * codespell * codespell skip * codespell skip...? * use . instead of * in codespell.skip? * this is supposed to skip the file from codespell * try another thing for codespell * unused import * pylint * doc page example - df.filter needs axis * unused argument * more pylint * mypy * insert image to doc page * recapture test * description * mypy * Update .codespell.skip * black * linting.. * more linters * black * init docstring * static files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Sync ruff in dev_tool with openbb_core (#6331) * add currency snapshots from polygon (#6333) * [Feature] Async SEC (#6319) * async sec * linters * pylint * annotated results etf holdings * black * pylint doesn't always know best * form_type * unused import * test things * black * ruff * more test params * ? * think this does it * json schema extra --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Warn limit number of countries in TE request (#6334) * limit number of countries in TE request * const * disable=unused-argument * warn and info when countries above 28 --------- Co-authored-by: hjoaquim Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Intrinio News (#6336) * add default=None * patch intrinio news * pylint * mypy * no need to assign articles var before len * more pylint * other assignment * Summarize Changelog (#6335) * rename the summarize changelog file (#6338) * Add pip install requests openai to the workflow file (#6341) * [BugFix] Intrinio Balance Sheet Period (#6343) * fix period * remove validator because pytest doesn't know what to do * Move files used in gh actions from root (#6346) * Move files used in gh actions from root * keep this * pydocstyle * ^ * fix: relative path, os independent * use relative root path * ^ * move noxfile.py to .github/scripts * remove flag * [Feature] OpenBB Platform CLI (#5302) * rename sdk_token to pat to follow hub convention * black * move OpenBBError class to error model * add OBBject class docstring * pylint * add futures to app docstring * Linting * Fix chart-related mypy errors. Co-Author: ’hjoaquim’ * Fix more mypy warnings * Build static * MyPy improvements * move get_branch request to logging_settings (#5348) * move get_branch request to logging_settings * black * add todo * Revert "add todo" This reverts commit 7e3af83e3d17fda63280a3bf5a68206f722c7ee7. * add todo * Update logging_settings.py * mac/linux install script python output suppressed * rename .settings to .user for consistency * update readme * update readme * Linting * Linting and improvements * Regenerate static files * Snake_case, mypy, typing, improvements. | Co-Author: montezdesousa * Rebuild * Revert Fetcher * better cpi * Snake case * fixes: major_indices_eod for intraday, optional company_overview atrs * Feature/remove unncessary stuff (#5346) * removing the journal service from the command_runner * remove the journal service and fix tests * removing journal from the command_runner * removing journal entry references and adding optional metadata * rebuilding static assets * removing all references to journal entry * removing all references to journal and journal repository * removing journal query references * restructuring the command runner * fix argument mismatch and settings to user mismatch * dropping command runner session * re generation of static assets * ruff n black * removing introduced bug * removing duplicate reference due to merging * 3.8 compatible static assets * changing the way we deal with erros - removing the Error model * removing unncessary filters * fixing tests * regenerating static assets * remving mongodb references from user service * remving mongodb references * updating dependencies with removed pymongo * updating dependencies with removed pymongo * removing useless call * fix typo * ruff * fixing tests * ruff * removing leftovers * making registry map 3.8 compatible * static assets * ruff * Hotfix/squeeze import (#5358) * remove commit_hash and branch references * lazy load stats, scipy, pandas_ta * black & ruff * adding commithash back to log prefix * fix test --------- Co-authored-by: hjoaquim * .user got lost in merge * improve __repr__ for sdk classes * changing posthog project key (#5362) * Linting and improvements * Rebuild QA * fix py38 + metadata ref in docstrings * doc ident * restore qa * update readme: remove journal * doc detail * disable black in App docstring * update readme: command execution * ruff * remove run_in_isolation: cannot pickle nested classes * remove outdated dir openbb_sdk * outdated workflow * update ruff * dependency related changes * using model validator instead * adjustments to the system model * minor adjustments * revert all changes on stocks controller * working historical price * controller_builder file * process class recursivly * adding translators prop * poc with platform as a menu and as command * paths feature * adding subcontrollers * offline access * menu text as obj variable * adjustments * move help to base class; print tables using rich table (for now); clear the choices for better autocompletion * introducing the platform controller factory * remove unnecessary file * revert changes to files * dinamically generate platform menus * generated platform commands * poetry lock * fix for literals and choices * adjustments - recursive iteration only if it's a class * router name should be lower() to match the class processor * deps * better output * handling base models * comment call_news * Feature/v4 deprecate everything (#6113) * comment call_news * remove news * remove keys controller * remove settings controller * remove ta forex * remove qa economy * remove ta stocks * remove qa stocks * remove fa stocks * remove ins stocks * remove gov stocks * remove dps stocks * remove ba stocks * remove bt stocks * remove stocks * remove stocks base controller class * ruff * remove qa forex * remove oanda * remove forex * remove forex * remove forex * remove mention to fx_tickers * remove ta crypto * remove qa crypto * remove dd crypto * remove crypto controller * remove crypto references * remove economy controller * remove economy folder * remoe etf controller * remove reports controller * remove dashboards controller * remove alt controller * rmeove etf files * remove alt files * remove custom reports * remove dashboard files * remove econometrics controller * remove forecast controller * remove reports files * remove forecast files * remove econometrics files * remove portfolio * remove futures * remove fixedincome * remove funds * remove sdk and common * remove all from init * remove reference to ipykernel * remove reference to ta_helpers * remove reference to ta_helpers * cleanup * adjustments to choices * remove old sdk generator * remove mention to dashboards * ruff * cleanup * remove logging infra * remove decorators * remove sdk audit * remove tought of the day * remove tought of the day * fix commands andmenus choices * fixing lints * ruffs * remove old tests * deps trim * using container as condition for recursion * remove unnecessary dependencies * move dep to better section * python versions * poetry lock * better custmo annotations * handling properties * handling edge cases: no func_doc and when signarute doesn't match type hints (self) * reverting treating models as props * provider groups * comment debug stuff * Revert "comment debug stuff" This reverts commit f0a86f04a809d5feef45beb6546443dbb6620eeb. * comment debug stuff * little adjustment for annotated types * injecting the reference to make the custom argument groups available * comments * custom model_dump to drop choices * deprecated * remove update option * remove update * remove translations * remove account controller * command descriptions * menu descriptions * removing interactive tables * limit the number of columns and rows * menu descriptions * show indexes * More cleanups (#6245) * renames * remove .init files * remove unused files * remove session stuff * remove session and sources stuff * remove unused models * remove sdk session * remove charting infra * remove charting stuff but allow console style * updates in models * raise directly * call terminal directly and remove artifacts * remove reference to sources * remove reference to source arg * remove reference to source arg * remove unused stuff * remove screenshot and raise directly * remove unnecessary helper classes * update the config file * remove references to old charting infra * call terminal directly * update deps * make user always local for now * rename to CLI * ruff * export options * export functionality * update rich * update example routine * fix issues with queue * temporary workaround for username * deprecate main menu commands * deprecate commands and remove unused stuff * deprecate commands and remove unused stuff * deprecate commands and remove unused stuff * adjustments and cleanups * routines syncing w hub * small adjustments to point to the right instance * whoami * custom terminal style * adjustments related to preferences * deprecate stuff * rename terminal style * deprecate more things * more deprecation * more adjustments * current settings - deprecating preferences, user and system * terminal settings * revmap custom terminal settings * cli version * ruff * black * linting fixes * happy mypy * ruff * remove old terminal build files * remove devcontainer * update dependencies * trim commands and its descriptions * better warnings * remove commands and menus str and show warnings if dev mode * get command descriptions from the translators instead * Add username in brackets if logged in * fix buggy command descriptions * [Feature] Bug fixing the Platform CLI (#6291) * fix buggy command descriptions * new reference structure * Seggregate data commands from others (settings etc) * fix table html for charting extension * number of rows and columns as a setting * interactive tables * adding menu descriptions --------- Co-authored-by: hjoaquim * fix the way reference was being passed * fix choices parsing for providers * loosen to get instead * obbject registry class * obbject registry class * using the obbject registry to show available options * link obbject results to data processing commands data argument * small improvements to correctly get the standard args * intersecting data processing commands and matching the obbject trough its id * poetry lock * use openbb field * safe json conversion and trimming * better at finding nargs when union * improved obbject registry using a stack * data processing section * Update argparse_translator/argparse_class_processor.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * fix: remove unused function * fix: terminal.py -> openbb_terminal/cli.py * fix: move local model function to utils & delete module * fix: rename hub_model.py to hub_service.py * fix: delete paths_helper.py, not used * fix: circular import console * fix: move terminal_style.py from plots/ to config, delete plots/ * fix: delele base_helpers.py, function moved to env_handler.py * fix: move custom_prompt_toolkit.py to core/completer * fix: delete requirements.txt, we can export them later if needed * fix: move routines stuff to routines/ * fix: move rich_config.py to core/config * fix: rename parent_classes.py to base_controller.py * Danger: create controllers/ and move stuff * fix: move custom_prompt_toolkit.py to config and delete completer/ * fix: rename custom_prompt_toolkit.py to completer.py * fix: move rouines stuff to folder * ^ oops * Edits * fix: settings import * fix: openbb command * Fix routine record when local user * Lint * Remove quickexit * Fix timezone change * fix data processing commands: not allowing multiple items + need to allow 0 (which evalutes as false) * split comma separated strings into a list so that the cli can consume them * Feature/move terminal files (#6344) * Move terminal files into openbb_terminal * move routines * Create session to handle console, user, settings, etc. * Reset... * Bring back frontend-components * Move frontend-components to openbb_terminal * rename vars * remove doc * rename method * rename method * fix routines * read settings from .env * rename methods * ^ * ^ * better * bug * ^ * move frontend-components back to root level * revert changes * type checking only * docstring * fix: settings autocomplete * comment * use openbb_core singleton * rename src to fix openbb command * fix poetry build * readme --------- Co-authored-by: hjoaquim --------- Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Pratyush Shukla Co-authored-by: tehcoderer Co-authored-by: Theodore Aptekarev * Clean gitignore (#6347) * provider parameters were being removed bc not in signature (#6348) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * ensure everything on the dataframe is a string (#6351) * move linting rules from pyproject.toml to ruff.toml (#6350) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Empty views on `econometrics` and `quantitative` (#6353) * ensure everything on the dataframe is a string * stringify columns of dataframe * [Feature] - Rename terminal folder (#6349) * rename terminal folder * docstring * Rename to openbb_cli * rename constant * rename .his file * pyproject.toml * Update pre-commit and remove docker-build.yml * Remove OpenBB Terminal from docs page (#6354) * create a title out of the route being used to use it as table title (#6356) * [BugFix] Intrinio EquityPriceHistorical - Return Error Message When Invalid Key (#6357) * return error message when invalid request * mypy * [Feature] - Display command providers (#6355) * fix: avoid calling Session() multiple times * rename session refs * fix: cmd text * fix: avoid Session() * fix: add providers by cmd * fix: timezones --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * avoid range index as it breaks interactive tables (#6360) * [Enhancement] - Sanitize sensitive data from `.cli.his` (#6361) * Sanitize sensitive data from .cli.his * fix long command providers --------- Co-authored-by: Diogo Sousa * [BugFix] - Remove multiple .envs (#6363) * Remove .envs * Clean menu_text.py * Remove TODO * [BugFix] SEC ETF Holdings - Try Catch for RemoteDisconnect Error (#6359) * try catch for RemoteDisconnect error * await sleep * remove not implemented helper --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] Improve `OBBject` Registry (#6364) * registry belongs to the session instead * help message on results * abstract the update_completer a bit and also force the re-link of newly created obbjects so they're immidiatly available * new settings to control the obbject registry * new method to remove a certain index from the stack * using the new flags to control messages on the registyr * fix: add spaces to results --help * Update cli/openbb_cli/controllers/feature_flags_controller.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * rename to settings_controller * typo wrong attr * better messages and actually removing the oldest obbject --------- Co-authored-by: Diogo Sousa Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [BugFix] Remove `Literal[None,...]` (#6371) * remove Literal[None,...] * pylint: disable=unused-argument * change to Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 3257224 3044 3254180 1% /run /dev/nvme0n1p5 491732848 290872352 175808336 63% / tmpfs 16286112 81500 16204612 1% /dev/shm tmpfs 5120 8 5112 1% /run/lock efivarfs 246 66 176 28% /sys/firmware/efi/efivars tmpfs 16286112 0 16286112 0% /run/qemu /dev/nvme0n1p1 262144 60008 202136 23% /boot/efi tmpfs 3257220 15056 3242164 1% /run/user/1000 to avoid misleading linting attr errors * [BugFix] Set Chart Style Before Output (#6367) * set chart style before output * docstring * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] - Fix lowercase symbols (#6342) * Fix lowercase symbols * fix decorator for to_upper * add annotated results with underlying symbol info * ? * Improvements --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * [Feature] Handle repeated non standard arguments (#6366) * remove about message * handle repeated arguments * accomodate all the choices from different providers --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Sync main and develop (#6373) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] - Fix tests for release (#6372) * Fix user service * fix module import * proper Chart(...) mock * Fix SEC rss * improve test on to_chart() method * Fix form 13F example filing * remove broken example * Add lxml dep to SEC * fix default * fix: treasury_prices default date, last business dayĀ“ * fix: linting * fix: rebuild * ^ --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * [Feature] EconDB Main Indicators (#6365) * add main indicators to economy.indicators * static assets * ruff * Adapt and add unit test * record test cassette * polygon test cassette * currency pairs * recapture test * mypy --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Ad 'x-' to json_schema_extra in Fields with unit_measurement (#6376) * add 'x-' to json_schema_extra - unit_measurement * mypy * more mypy * fix pandas warnings (#6375) * [BugFix] Fix Currency Search (#6380) * fix currency search * test artifact * static files * [BugFix] Update SEC pyproject.toml (#6379) * update sec toml * dash not underscore * [Feature] - Redefined standard fields & multiple_items_allowed property changes (#6377) * feat: add field annotation and replace multiple items by dict * comments & details * fix: fix api & update docs website * ^ * remove empty info * descriptions * descriptions * fix reference.json * remove debug code * remove debug code * docstring * docstring * fix: standard fields propagate to providers * comment * better * better * better * better * better * mypy fixes * mypy fixes * reference * cli fix: if the argument is required (aka standard) it means we don't want to touch it, unless choices need to be added * cli fix: touch the help message (with the available providers) only if it's not on the signature (aka standard field) --------- Co-authored-by: hjoaquim Co-authored-by: hjoaquim * fix fmp (#6383) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Update chart creation so it doesn't break the command execution (#6382) * chart execution to not break the whole call * pylint: disable=broad-exception-caught --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Docs] Upgrade Docusaurus to v3 (#6386) * da3: minor updates * da3: upgrade react 18 * da3: fix md content * da3: upgrade docusaurus 3, fix math in tables * da3: fix DocSearch * put search back * da3: fix details / summary --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] Misc improvements on the Platform CLI (#6370) * section description * remove comment * show msg only if it's an OBBject * ommit coverage from menus * styling: no new lines after settings * Bugfix/cli max rows (#6374) * fix: cli max rows * fix: settings menu --------- Co-authored-by: Henrique Joaquim * add a new line only to separate menus and commands * if there's no menu description on reference.json, use the commands of that menu to create a pseudo description * use the PATH instead in the top of the menu help * default name len to 23 * keep command on the obbject so it can be shown on the results * left spacing regardless description * display cached results on every platform menu's help * display info instead of sections and display cached results * prepend OBB to use on the --data * config to set number of cached results to display * correct hub link * Save routines locally if not logged in. * Change the exit message * Point to new docs on first launch. * proper checking of max_obbjects_exceeded * fix global flag on local routines * Remove language from settings as it is not supported. * Remove rcontext flag * export to account multiple formats * Revert "Remove rcontext flag" This reverts commit 8a1f64b71c109217ce48a76a4c8e448157a5675f. * Remove * leftover * properly match provider being used with provider arguments so that kwargs are correctly filtered --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek * fallback to to_df() method when results are a string (#6388) * [Feature] - Create repo assets directory (#6384) * feat: create scripts to generate repo assets * move script * publish.md * deletes unmaintained .md files * ruff * pylint * fix: website urls * fix: website urls * rename script * renames * create folder * mypy * PyDocstyle * fix: descriptions & websites * camelCase * change json structure * logo url * reprName * finra * logos * logo * logo * logo * logo * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Security updates (#6387) * Bump aiohttp to a patched version * Bump python-multipart to a patched version * Bump urllib3 to the latest patched version * Bump aiohttp-client-cache and aiosqlite to latest versions * Bump plotly.js and third level deps in frontend components * [Feature] Remove i18n (#6390) * remove i18n * poetry lock --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] Update CLI dependencies (#6389) * update dependencies * poetry lock --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [BugFix] - Remove unused old code (#6395) * Remove unused old code * Remvove from settings choices * Fix CLI exit when FileNotFound error on routine --------- Co-authored-by: Henrique Joaquim * remove hold command and its references (#6399) * remove hold command and its references * remove --local flag as we don't use it anymore @IgorWounds * reset package folder * reset reference * unnecessary line break removed * fix: alias credentials with uppercase (#6400) * Fix Excel Data Slicer page. (#6396) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [BugFix] - Remove logos (#6404) * fix: remove logos * fix: remove from provider * feat: add extra field * rename * [Feature] CLI README (#6402) * cli readme * Update README.md * suggestions @IgorWounds * [BugFix] - Explicit error message when return type is not an OBBject (#6394) * Send an explicit message when return type isn't an OBBject * Update package_builder.py Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * lint --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [BugFix] Fix broken `--sheet-name` argument (#6401) * remove hold command and its references * remove --local flag as we don't use it anymore @IgorWounds * reset package folder * reset reference * unnecessary line break removed * better handling of obbjects before printing/table/chart also fixes the sheet_name issue when writing to excel * fix linting; also, dataframe creation in the right place * proper handling of sheet name * orient to columns instead --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * expose error message on request fail (#6406) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Make `paper_bgcolor` transparent in PyWry backend (#6385) * make paper_bgcolor transparent in PyWry backend * black --------- Co-authored-by: Henrique Joaquim * [BugFix] Econ Calendar (#6392) * fix econ calendar * black * more black * pylint * add 1 to n_urls * set default dates in transform query * missing decorator * add None to literal * literals --------- Co-authored-by: Henrique Joaquim Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add Forward PE Estimates (#6398) * forward_pe * ruff * merge branch develop * mypy * typo --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] Custom Provider choices available on the `reference.json` (#6409) * change package builder and argparse translator to account for custom chocies defined in providers * default reference * [BugFix] - Replace python-jose by PyJWT (#6407) * fix: replace python-jose by PyJWT * add unit test * add unit test --------- Co-authored-by: Theodore Aptekarev * [Feature] Styling adjustments (#6408) * styling adjustments * auto completion for main menu commands; cached results style * move platform settings above * don't check if obbject.results - we want to have the error message if smt goes wrong with the to_df() * register only if there are results * minor style change --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * add platform imgs (#6410) * [Feature] Main README (#6403) * main readme * lints * mention platform cli * test platform imgs * Update README.md platform imgs * break line * Update to Platform images * remove old images --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - OpenBB Platform CLI Unit tests (#6397) * Unit test batch 1 * CLI controller * Test batch 3 * Test batch 4 * Test batch 5 * clean some workflows and setup actions * test * rename wfs * rename * update action * Skip * fix cli tests --------- Co-authored-by: Henrique Joaquim Co-authored-by: Diogo Sousa Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] CLI docs (#6362) * cli docs website * changes * remove unused feat flags * typo * yeet stuff that can't be used * some progress * Add home screenshot * screenshots.md * fix links * new cards for cli pages * start config page * more updates * Add screenshots * flatten some things. * fix link * some more updates * some routine stuff * codespell * cli color * results in the global commands * increase codeBlock line-height * remove platform warning, obb is a class * minor change, danger warning * typo? * Data processing commands --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Diogo Sousa * add linux stuff to pre-requisites (#6411) * Improve web security (#6405) * Bump aiohttp to a patched version * Bump python-multipart to a patched version * Bump urllib3 to the latest patched version * Bump aiohttp-client-cache and aiosqlite to latest versions * Bump plotly.js and third level deps in frontend components * Bump fastapi to a patched version * Update lock file after the python-jose removal * Update the license of the code in this repo to AGPL (#6415) * Change license to AGPL * Add licensing FAQ to the platform docs * missed unit_measurements (#6416) * [BugFix] - Update GitHub workflows (#6418) * Fix technical example * Remove blocking wf command * rename wf file * rename wf file * fix: gh pages wf * gh pages * pip install toml * toml * activate venv? * activate venv? * simpler? * ^ * install toml in venv * install the full project first * Update poetry after venv * setuptools & venvs * install requests instead * package-lock.json -> yarn.lock * wf name --------- Co-authored-by: Henrique Joaquim * [Release] 4.2.0 (#6420) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. * remove nest_asyncio.apply() * fix: sort tradingeconomics country choices * fix lint * fix: clean _callback function * assign to empty dict * feat: add licence to .toml files * fix: readmes * fix: add CLA url * release: 4.20 % dependencies * Skip deprecation test * lint * Sync with main (#6421) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * pylint disable possibly-used-before-assignment * Update CLI toml --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Diogo Sousa Co-authored-by: Theodore Aptekarev * [BugFix] - `dev_install.py` updates (#6424) * fix: use tomlkit instead of toml & add --cli * fix: remove cli option, poetry groups ignored by pip * fix: redirect unittest patch * adding --cli to the dev install --------- Co-authored-by: hjoaquim * [BugFix] Clear Linting Items (#6423) * fix some linting items * pylint stuff * black * index_snapshots * ruff * forgot to add this file to commit * black * [BugFix] Do Intrinio News TO-DOs -> Remove workaround because they fixed it. (#6427) * TO-DOs done * recapture test cassettes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Small CLI docs style improvements (#6429) * use platform cli everywhere * cli w same color as platform * same colors as platform * fix tests * fmp key metrics (#6428) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] OpenBB Platform DevContainer (#6426) * devcontainer and its docs * typo * remove file * remove comments from json * [BugFix] FMP Screener - Convert sector param choices to lower_snake_case (#6432) * sectors as lower_snake_case * pylint disable unused-argument * fix tests * workaround for pytest * benzinga alias * sec form types with spaces * fmp insider trading * pylint disable unused argument * [Feature] Balance Of Payments For FRED (#6431) * add balance of payments to FRED provider * gotta commit the init file * unused import * mypy --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Improve Exception handlers (#6430) * feat: modify error handlers * fix: clean python errors * fix: return error kind * fix: clean decorator * fix: query validation error kind * fix: no kind, API * fix: no kind, python * fix: rename error * lint * update docs * comment * typo * rename handler * rename base handler --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * use shlex for spliting the user input (#6436) * fix: only update credentials on login (#6437) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove space from literals (#6438) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Deprecate `etf.holdings_performance` endpoint (#6441) * ignore the env created on the dev container (which lives inside the project folder) * broken urls * remove endpoint * empty file * deprecate * ruff * [Feature] Forward EBITDA (#6433) * forward ebitda * codespell * sort intrinio output * get * list instead of dict --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Compare Company Facts (SEC) (#6444) * stashing * more stashing * add tests * black * test params * mypy * more mypy * grammar police * grammar police * add bs4 to sec pyproject.toml (#6440) * [BugFix] Bump anyio & sync pre-commit, openbb-devtools and GitHub workflows (#6443) * fix: update anyio & ruff * fix: ruff updates * remove TODO * lock cli * bump black * fix: lock sec * fix: sec test * fix: replace toml with tomlkit in test * Remove xlsx export from CLI's interactive tables (#6439) * Remove excel export from cli interactive tables code * Remove vulnerable dependency * Remove posthog from interactive table html template * Incorporate additional styles to the index.css * Update the deploy command * Update the built static file and deploy script --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Remove PDF export capabilities (#6442) * Bump black in devtools and pre-commit * Remove pdf export functionality from cli and charting extensions * print message only if the file was actually created * Update css to use fonts from google * Bump bundled plotly js version * Bump dependencies * Update static html of the charting extension to use the new plotly * Update lock file hashes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim * fix: add back api.dockerfile (#6449) * Update requests and idna to patched versions (#6448) * Remove dev dependencies section from cli * Remove anyio pin as it's brought in by others * Bump idna to patched version * Bump requests to latest * [Feature] Government Yield Curves + Chart (#6417) * stashing * ecb yield curve * field_description * federal reserve yield curve * econdb yield curve * countries literal for python 3.9 * list date * fmp yield curve * fred yield curve * integration tests * chart integration tests * static assets * black * ruff * pylint * more pylint * more pylint * now black * country not a standard param * mypy * merge branch develop * add more countries * econdb date filter * mypy * future linting * make to_chart work * plot_bgcolor should be 'rbga(255,255,255,0)' * push deprecation * push deprecation --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: hjoaquim * [BugFix] Revamp the usage of list syntax on routines (#6450) * using list syntax on routines * black * ruff * simplify * black * fix: move api.dockerfile (#6454) * [Docs] Refactor Docs Pages For Diataxis (#6315) * This change creates a PR * start moving stuff around * data_models/_category_.json * reference/_category_.json * moving some stuff around * Introduction * Documentation updates * few broken links, clean up sidebar titles for how-to * codespell * quickstart - new provider extension * add a comment * map provider interface * quickstart for new router extension * [Docs] diataxis refactor refactor (#6425) * Start refactor * Edits * [DOCS] Reorganize and edit. Fix sidebar navigation (#6445) * Reorganize and edit. Fix sidebar navigation * Fix broken linkages * Edit --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix links --------- Co-authored-by: Theodore Aptekarev * Fix broken links * Reword CLA part in the Licensing FAQ * change titles and order suggestion - cc @IgorWounds @piiq --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: James Maslek Co-authored-by: Theodore Aptekarev Co-authored-by: hjoaquim * [Release] 4.2.1 (#6453) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. * [Release] 4.2.0 (#6422) * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exception_handler` decorator to static (#6112) * add exception handler decorator * add exception handler decorator code * updated static * rebuild to fix docstring indentation --------- Co-authored-by: Diogo Sousa * update extensions list (#6114) * add missing field descriptions to yfinance equity price historical (#6116) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove charting extension env var (#6118) * [BugFix] Fix Company News (#6111) * fix company news * update tests * multiple symbols for polygon * don't include pageSize in Benzinga querystring, fixed as 100 * remove extra space * black * unused imports * make benzinga test cassette smaller * missing params * clear empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Allow Multiple Symbols in `equity.fundamental.metrics()` from `yfinance` (#6124) * allow multiple symbols in key_metrics from yfinance * field order thing * remove unnecessary function (#6125) * [Docs] Update OpenBB Copilot docs (#6106) * WIP: Tweak description. * WIP: Experimenting with react-player * WIP: Add copilot docs. * fixes videos width/height * WIP: Refine videos and copy. * WIP: Add last videos and sections. * Add bring-your-own-copilot section. * Tweak grammar. * Add copilot link. * Fix typos. --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * [Enhancement] Add Previous Close to DATA_DESCRIPTIONS (#6120) * add data description for previous close * ..just the one * update the model tripped by this change --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * added australia as a country also (#6131) * [Bug fix] - Fix regulator cik map standard model (#6129) * Fix regulator cik map standard model * fix description * Update cik_map.py * increase timeout to 30 (#6115) Co-authored-by: James Maslek * clean up some v3 deps (#6105) * clean up some v3 deps * forgot we need to do the requirements txt files * not sure it matters, but run ruff + black * am addicted to bug fixes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Bug fix] - explicit multiple items docstring (#6127) * explicit multiple items docstring * rebuiild * rebuild again --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] Pretty Pydantic `ValidationError` exceptions (#6130) * fix validator in fmp IndexHistorical model * make ValidationError pretty * modify arg error * linting fmp IndexHistorical * black * remove unused code * tmx etf info (#6132) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Platform V4 Markdown Generator V2 (#6094) * add recent `openapi.json` * fix data types in models * removed `openapi.json` * set default date value as None in PolygonCurrencyPairs class * add function to generate reference.json file * reworked function to improve readability * reword function to add seo metadata * add functions for creating markdown sections * add code to extract data card markdown title * add additional functions for generating index and data models file * extract first sentence of the description for cards * code cleanup and documentation * linting * linting polygon models * add openbb import statement in create_reference_markdown_examples function * add POST method functions * cleanup; reworked generate_reference_index_files function * moved development section to 7th position in the sidebar * fix POST function params default value add standard flag to QueryParams and Data fields cleanup * add type expansion from package_builder.MethodDefinition * sort data models cards alphabetically make printing less verbose * make MAX_CARDS global display less content in cards in Commannds section * cleanup * Remove '_' from the cards under Commands section * " to ' in econometrics/causality * replace ' with " in ReferenceCard for reference dir index files * remove extra . from the quantile function description * shoutout to @deeleeramone for finding POST method description bug! * set correct value for standard field * handle BaseModel types in provider data fields * unit tests for the platform markdown generator v2 * yeet 'Default' and 'Optional' columns in the 'Data' section * last minute bug fix * add info for multiple symbols * make multiple items info same as platform static * organize sections properly * sort reference sub-directories alphabetically * extra space in 'OBBject extra' description * add type expansion for fields with multiple items POST method cleanup --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Docs] Adds Example Notebook for the Implied Earnings Move (#6128) * adds example notebook for the implied earnings move * remove commented out line --------- Co-authored-by: James Maslek * [Feature] - Sync with new openapi.json (#6137) * feat: create data tabs * fix: uncomment * fix: remove unecessary comment * sort side bar * comment * uncomment * use .dev functions.json + clean traverse * fix futures example * fix example * point to .co * Fix the v3 markdown generation workflow (#6138) * fix workflow * debug time * see if the docs generate at least * ahhhh i found it * getting there * put the test first * some keys cleanup * small change to error message * update functions.json (#6140) * fix intraday check in charting ta_class (#6119) Co-authored-by: Henrique Joaquim * [BugFix] Display EconDB as source for macro (#6143) * [BugFix] Disable Intrinio `InstitutionalOwnership` model (#6142) * disable fetcher in init and fetcher tests * disable provider test params from equity python and api tests * updated static * add more examples into findSymbols (#6139) Co-authored-by: James Maslek * [BugFix] Fix SEC ETF Holdings Parsing Exception (#6121) * fix etf holdings * linting * black --------- Co-authored-by: James Maslek * Docs/update xl docs (#6145) * remove print * update obb.get docs * example * md lint * fix get reference (#6147) * [BugFix] Filter OECD data using `start_date` and `end_date` parameters (#6144) * move constant dicts to constants.py filter by start_date and end_date * black * black again again * Merge 'main' into 'develop' (#6151) * Release/3.2.4 (#5696) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * 3.2.3->3.2.4 * Changelogs * new changelog --------- Co-authored-by: Henrique Joaquim Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> * Release/4.0.1 (#5840) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * Release/3.2.4 (#5704) * 3.2.3->3.2.4 * Changelogs * new changelog * OpenBB Platform v4 (#5225) * change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit 3736c311cb6aa9e653dcb5db733798408b72a82e. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit 8a30a44555d97132f6bddcbc4a4facdd97ecc591. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commit bd2170e2adf82fed3a35d34fad6a2e3ba3ae1d49. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commit fb82ff7bd9af92ed676d8f8047c31e74daf7b8b2. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim Co-authored-by: Sandip Saha Co-authored-by: James Maslek Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Theodore Aptekarev * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim Co-authored-by: Theodore Aptekarev * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <74266147+Igor… * Run linters on changed files only (#6458) * run linters on changed files only * update pre-commit ruff * include cli directory in the diff files to be checked * update msg * fix the ruff issue * [BugFix] Fix Codespell Linting Errors (#6464) * codespell * skip terminal crypto onchain * [BugFix] Fix Seeking Alpha (#6461) * fix seeking alpha * try again sequence * prevent key error * move value check up the sequence * filter test cassette more --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Add `json_schema_extra` With Choices To Provider 'period' Field (#6451) * add json_schema_extra choices to provider 'period' field * black * unused imports * mypy * pytest --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * default API settings (#6466) * [Feature] Options Chains From YFinance (#6468) * add yfinance to options chains * Explicit None --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * fix Q4 label sub (#6465) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * fix empty build fail (#6462) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * make same PR as the one to main (#6472) * [Feature] Set provider fallback based on credentials (#6446) * feat: allow provider fallback based on credentials * fix: rename prop and raise error * fix: raise if all providers fail * fix: remove dead line * fix: rename defaults field to commands * rename key and update docs * fix: rename some stuff * fix bug * fix: mypy * fix: unittests * docstring * fix: provider field description * fix: error messages * fix: msg * feat: update defaults class * feat: update defaults class * unit tests * fix test * msg * fix: add website documentation * fix: detailed error message * update core ruff version * fix test * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Add Central Bank Holdings (Federal Reserve) (#6469) * add central bank holdings * codespell * actually commit the standard model --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Adding OECD Endpoints (CPI + Share Price Index) (#6157) * remove ultima + althub * move twitter keys * Enhance caching + more specific urls * Update urls for stir * LTIR * cli * one v3 file to fix * Typing edits + gdp dates + gdp all countries * Tests * lint * not sure why those didnt record * handle the fact that we artifically add some start dates and end dates * fix dates with actual solution not weird patch * lint * Add CPI from OECD * coment * Add Share Price endpoint * Clean up the CPI oecd model with the choices and allow expensitures to be "all" * commit this change * remove "share prices" * Correctly handle country "choices" and let oecd do multiple countries * some fixes * standard model fields * unit test * frequency in standard model * empty fred * format oecd dates as period beginning * fred -> when frequency is annual, the transform needs to be same period one year ago * test thing * add share price index * test params * better parsing with CSV response * update test cassette --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] More OECD - House Price Index, Immediate Interest Rate (#6473) * add house price index * static files * unemployment cleanup * EA20 * test params * add immediate interest rates * [Feature] Add Retail Prices to Economy (#6474) * add retail prices * static files * recapture test * import lib path instead of file..? * add missing init file * need a docstring * no tea * [Bugfix] Remove svg export (#6476) * lint * fix version * add url functionality to the charting extension * small adjustments and removing unused function * remove svg * remove unused function * better messages * version can't be asserted bc will change * [Feature] Optional choices (#6463) * using the custom argument to leverage validation * restructure * better handling of variables and props * optional choices * utilities module * proper handling of optional choices attr * setattr --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Pre release fixes (#6478) * fix: tests * fix: rebuild * fix: hub test * Merge branch 'main' into develop (#6479) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. * [Release] 4.2.0 (#6422) * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exception_handler` decorator to static (#6112) * add exception handler decorator * add exception handler decorator code * updated static * rebuild to fix docstring indentation --------- Co-authored-by: Diogo Sousa * update extensions list (#6114) * add missing field descriptions to yfinance equity price historical (#6116) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove charting extension env var (#6118) * [BugFix] Fix Company News (#6111) * fix company news * update tests * multiple symbols for polygon * don't include pageSize in Benzinga querystring, fixed as 100 * remove extra space * black * unused imports * make benzinga test cassette smaller * missing params * clear empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Allow Multiple Symbols in `equity.fundamental.metrics()` from `yfinance` (#6124) * allow multiple symbols in key_metrics from yfinance * field order thing * remove unnecessary function (#6125) * [Docs] Update OpenBB Copilot docs (#6106) * WIP: Tweak description. * WIP: Experimenting with react-player * WIP: Add copilot docs. * fixes videos width/height * WIP: Refine videos and copy. * WIP: Add last videos and sections. * Add bring-your-own-copilot section. * Tweak grammar. * Add copilot link. * Fix typos. --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * [Enhancement] Add Previous Close to DATA_DESCRIPTIONS (#6120) * add data description for previous close * ..just the one * update the model tripped by this change --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * added australia as a country also (#6131) * [Bug fix] - Fix regulator cik map standard model (#6129) * Fix regulator cik map standard model * fix description * Update cik_map.py * increase timeout to 30 (#6115) Co-authored-by: James Maslek * clean up some v3 deps (#6105) * clean up some v3 deps * forgot we need to do the requirements txt files * not sure it matters, but run ruff + black * am addicted to bug fixes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Bug fix] - explicit multiple items docstring (#6127) * explicit multiple items docstring * rebuiild * rebuild again --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] Pretty Pydantic `ValidationError` exceptions (#6130) * fix validator in fmp IndexHistorical model * make ValidationError pretty * modify arg error * linting fmp IndexHistorical * black * remove unused code * tmx etf info (#6132) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Platform V4 Markdown Generator V2 (#6094) * add recent `openapi.json` * fix data types in models * removed `openapi.json` * set default date value as None in PolygonCurrencyPairs class * add function to generate reference.json file * reworked function to improve readability * reword function to add seo metadata * add functions for creating markdown sections * add code to extract data card markdown title * add additional functions for generating index and data models file * extract first sentence of the description for cards * code cleanup and documentation * linting * linting polygon models * add openbb import statement in create_reference_markdown_examples function * add POST method functions * cleanup; reworked generate_reference_index_files function * moved development section to 7th position in the sidebar * fix POST function params default value add standard flag to QueryParams and Data fields cleanup * add type expansion from package_builder.MethodDefinition * sort data models cards alphabetically make printing less verbose * make MAX_CARDS global display less content in cards in Commannds section * cleanup * Remove '_' from the cards under Commands section * " to ' in econometrics/causality * replace ' with " in ReferenceCard for reference dir index files * remove extra . from the quantile function description * shoutout to @deeleeramone for finding POST method description bug! * set correct value for standard field * handle BaseModel types in provider data fields * unit tests for the platform markdown generator v2 * yeet 'Default' and 'Optional' columns in the 'Data' section * last minute bug fix * add info for multiple symbols * make multiple items info same as platform static * organize sections properly * sort reference sub-directories alphabetically * extra space in 'OBBject extra' description * add type expansion for fields with multiple items POST method cleanup --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Docs] Adds Example Notebook for the Implied Earnings Move (#6128) * adds example notebook for the implied earnings move * remove commented out line --------- Co-authored-by: James Maslek * [Feature] - Sync with new openapi.json (#6137) * feat: create data tabs * fix: uncomment * fix: remove unecessary comment * sort side bar * comment * uncomment * use .dev functions.json + clean traverse * fix futures example * fix example * point to .co * Fix the v3 markdown generation workflow (#6138) * fix workflow * debug time * see if the docs generate at least * ahhhh i found it * getting there * put the test first * some keys cleanup * small change to error message * update functions.json (#6140) * fix intraday check in charting ta_class (#6119) Co-authored-by: Henrique Joaquim * [BugFix] Display EconDB as source for macro (#6143) * [BugFix] Disable Intrinio `InstitutionalOwnership` model (#6142) * disable fetcher in init and fetcher tests * disable provider test params from equity python and api tests * updated static * add more examples into findSymbols (#6139) Co-authored-by: James Maslek * [BugFix] Fix SEC ETF Holdings Parsing Exception (#6121) * fix etf holdings * linting * black --------- Co-authored-by: James Maslek * Docs/update xl docs (#6145) * remove print * update obb.get docs * example * md lint * fix get reference (#6147) * [BugFix] Filter OECD data using `start_date` and `end_date` parameters (#6144) * move constant dicts to constants.py filter by start_date and end_date * black * black again again * Merge 'main' into 'develop' (#6151) * Release/3.2.4 (#5696) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * 3.2.3->3.2.4 * Changelogs * new changelog --------- Co-authored-by: Henrique Joaquim Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> * Release/4.0.1 (#5840) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * Release/3.2.4 (#5704) * 3.2.3->3.2.4 * Changelogs * new changelog * OpenBB Platform v4 (#5225) * change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit 3736c311cb6aa9e653dcb5db733798408b72a82e. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit 8a30a44555d97132f6bddcbc4a4facdd97ecc591. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commit bd2170e2adf82fed3a35d34fad6a2e3ba3ae1d49. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commit fb82ff7bd9af92ed676d8f8047c31e74daf7b8b2. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim Co-authored-by: Sandip Saha Co-authored-by: James Maslek Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Theodore Aptekarev * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim Co-authored-by: Theodore Aptekarev * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanov… * [Release] 4.2.2 (#6481) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. * [Release] 4.2.0 (#6422) * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exception_handler` decorator to static (#6112) * add exception handler decorator * add exception handler decorator code * updated static * rebuild to fix docstring indentation --------- Co-authored-by: Diogo Sousa * update extensions list (#6114) * add missing field descriptions to yfinance equity price historical (#6116) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove charting extension env var (#6118) * [BugFix] Fix Company News (#6111) * fix company news * update tests * multiple symbols for polygon * don't include pageSize in Benzinga querystring, fixed as 100 * remove extra space * black * unused imports * make benzinga test cassette smaller * missing params * clear empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Allow Multiple Symbols in `equity.fundamental.metrics()` from `yfinance` (#6124) * allow multiple symbols in key_metrics from yfinance * field order thing * remove unnecessary function (#6125) * [Docs] Update OpenBB Copilot docs (#6106) * WIP: Tweak description. * WIP: Experimenting with react-player * WIP: Add copilot docs. * fixes videos width/height * WIP: Refine videos and copy. * WIP: Add last videos and sections. * Add bring-your-own-copilot section. * Tweak grammar. * Add copilot link. * Fix typos. --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * [Enhancement] Add Previous Close to DATA_DESCRIPTIONS (#6120) * add data description for previous close * ..just the one * update the model tripped by this change --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * added australia as a country also (#6131) * [Bug fix] - Fix regulator cik map standard model (#6129) * Fix regulator cik map standard model * fix description * Update cik_map.py * increase timeout to 30 (#6115) Co-authored-by: James Maslek * clean up some v3 deps (#6105) * clean up some v3 deps * forgot we need to do the requirements txt files * not sure it matters, but run ruff + black * am addicted to bug fixes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Bug fix] - explicit multiple items docstring (#6127) * explicit multiple items docstring * rebuiild * rebuild again --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] Pretty Pydantic `ValidationError` exceptions (#6130) * fix validator in fmp IndexHistorical model * make ValidationError pretty * modify arg error * linting fmp IndexHistorical * black * remove unused code * tmx etf info (#6132) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Platform V4 Markdown Generator V2 (#6094) * add recent `openapi.json` * fix data types in models * removed `openapi.json` * set default date value as None in PolygonCurrencyPairs class * add function to generate reference.json file * reworked function to improve readability * reword function to add seo metadata * add functions for creating markdown sections * add code to extract data card markdown title * add additional functions for generating index and data models file * extract first sentence of the description for cards * code cleanup and documentation * linting * linting polygon models * add openbb import statement in create_reference_markdown_examples function * add POST method functions * cleanup; reworked generate_reference_index_files function * moved development section to 7th position in the sidebar * fix POST function params default value add standard flag to QueryParams and Data fields cleanup * add type expansion from package_builder.MethodDefinition * sort data models cards alphabetically make printing less verbose * make MAX_CARDS global display less content in cards in Commannds section * cleanup * Remove '_' from the cards under Commands section * " to ' in econometrics/causality * replace ' with " in ReferenceCard for reference dir index files * remove extra . from the quantile function description * shoutout to @deeleeramone for finding POST method description bug! * set correct value for standard field * handle BaseModel types in provider data fields * unit tests for the platform markdown generator v2 * yeet 'Default' and 'Optional' columns in the 'Data' section * last minute bug fix * add info for multiple symbols * make multiple items info same as platform static * organize sections properly * sort reference sub-directories alphabetically * extra space in 'OBBject extra' description * add type expansion for fields with multiple items POST method cleanup --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Docs] Adds Example Notebook for the Implied Earnings Move (#6128) * adds example notebook for the implied earnings move * remove commented out line --------- Co-authored-by: James Maslek * [Feature] - Sync with new openapi.json (#6137) * feat: create data tabs * fix: uncomment * fix: remove unecessary comment * sort side bar * comment * uncomment * use .dev functions.json + clean traverse * fix futures example * fix example * point to .co * Fix the v3 markdown generation workflow (#6138) * fix workflow * debug time * see if the docs generate at least * ahhhh i found it * getting there * put the test first * some keys cleanup * small change to error message * update functions.json (#6140) * fix intraday check in charting ta_class (#6119) Co-authored-by: Henrique Joaquim * [BugFix] Display EconDB as source for macro (#6143) * [BugFix] Disable Intrinio `InstitutionalOwnership` model (#6142) * disable fetcher in init and fetcher tests * disable provider test params from equity python and api tests * updated static * add more examples into findSymbols (#6139) Co-authored-by: James Maslek * [BugFix] Fix SEC ETF Holdings Parsing Exception (#6121) * fix etf holdings * linting * black --------- Co-authored-by: James Maslek * Docs/update xl docs (#6145) * remove print * update obb.get docs * example * md lint * fix get reference (#6147) * [BugFix] Filter OECD data using `start_date` and `end_date` parameters (#6144) * move constant dicts to constants.py filter by start_date and end_date * black * black again again * Merge 'main' into 'develop' (#6151) * Release/3.2.4 (#5696) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * 3.2.3->3.2.4 * Changelogs * new changelog --------- Co-authored-by: Henrique Joaquim Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> * Release/4.0.1 (#5840) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * Release/3.2.4 (#5704) * 3.2.3->3.2.4 * Changelogs * new changelog * OpenBB Platform v4 (#5225) * change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit 3736c311cb6aa9e653dcb5db733798408b72a82e. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit 8a30a44555d97132f6bddcbc4a4facdd97ecc591. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commit bd2170e2adf82fed3a35d34fad6a2e3ba3ae1d49. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commit fb82ff7bd9af92ed676d8f8047c31e74daf7b8b2. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim Co-authored-by: Sandip Saha Co-authored-by: James Maslek Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Theodore Aptekarev * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim Co-authored-by: Theodore Aptekarev * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <74266147+Igor… * [BugFix] - Fix pylint possibly-used-before-assignment (#6484) * fix: comply w/ possibly used before assignment * remove disabe from .pylintrc * remove reset test * remove reset test * fix: update missing keys message * [Feature] ICE BofAML Bond Indices (FRED) (#6486) * fred bond indices * maturity dict * review items * [Feature] CLI logging (#6487) * remove old logging references * cli as logging subapp option * changing the subapp to the cli on init * [Feature] Generate settings menu from pydantic model (#6489) * Generate settings menu from pydantic model * fix tests * fix test * undo changes --------- Co-authored-by: Henrique Joaquim * [Feature] Create openbb-cli .dockerfile and update docs (#6485) * feat: create cli dockerfile and update docs * remove port mapping * Remove cli image and docs * remove remember contexts setting (#6496) * no prints when exporting (#6497) * [Enhancement] Convert Params Models To Dictionary Before Assigning As Private Attribute In OBBject. (#6492) * convert params models to dict * update cli test * fix test_static_command_runner_chart * mock_obbject results * minor linting adjustments * review changes * charting test mock obbject --------- Co-authored-by: Henrique Joaquim * chore: fix interval bug in the pynb (#6435) * chore: fix interval bug in the pynb * fix index to datetime conversion --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Fix issue in earnings transcript not allowing FY 2025 to be retrieved (#6500) * remove ultima + althub * move twitter keys * Add one to date validator to allow FY diff. * Typo in spelling * multiple items allowed * static assets --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * add mortgage indices (#6501) * [Feature] Intrinio Delayed Options (#6505) * stashing * intrinio delayed options * stuff and things * test cassettes and static assets * options snapshots * description * commit intrinio files --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Replace some base exceptions by OpenBBError (#6502) * fix: replace base exceptions by openbberrors * Update yield_curve.py * fix typo --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] Adds Router Path For Economic Surveys (#6498) * add router path for economic surveys * chicago economic conditions * reference.json * add manufacturing outlook survey for texas * test file name --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Charting Modularity (#6477) * add accessors to the charting extension * equity views * get charting functions from the extensions/accessors * use the private variable instead * etf views * index views * crypto and currency views * technical views * economy views * fixedincome views * right description for price historical * unused * adjust test and deprecate the charting router * import views only with charting installed * adding views throught dependencies instead * removing unnecessary infra and adding entry point to charting extension * fixed income toml * removing accessor * typo * typo * adding extra params to obbject * remove things from init * rename utils to charts instead * updated readme --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Improved cached results (#6506) * flag to store cached results, or not * using keys to reference obbjects in the registry and data processing commands * out of bonds check * controlling results, by index or key and displaying charts * autocompletion * deps * forward ref --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] Store defaults in hub account (#6491) * feat: store defaults in hub account * fix: rename var * feat: v3Credentials -> deprecatedCredentials * feat: allow unmapped deprecations * fix: account.save() * fix: unit tests * fix: update fallback message * ref to docs.openbb.co * [Enhancement] Fixed Income Enhancements (#6490) * improve effr and move sofr to fixedincome.rate * federal_reserve default start date * fred cassette * commercial paper * cp series map * update sofr and add federal_reserve to endpoint * examples * update ameribor * maturity_dict * add overnight bank funding rate * add federal reserve to obfr * pop footnoteId * central bank holdings descriptions * move moody's bond indices to the bond_indices endpoint * add it to the INDEX_CHOICES * improve hqm * handle none * add treasury minus fed funds to yield curve * static assets * estr * description * missed file in commit * second return statement * lint * better exception handling * fix examples * revert changes in package dir * revert changes in reference.json * minor adjustment to the publish.md * Merge `main` with `develop` (#6515) * add snowflake integration video (#6339) * [HotFix] Fix broken URLs in docs page. (#6368) * Fix broken URLs * use full URL to other docs pages. * [Release] 4.2.0 (#6422) * [Docs] Remove Reference to `to_chart` in OBBject. (#6096) * remove reference to to_chart in OBBject. * put chart description back in OBBject properties * [Feature] - Create openbb assets folder (#6101) * create openbb assets folder * fix unittest * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099) * allow mixed utc offset in a tz-aware date column * enforce ascending from all providers for price.historical * fix tests * add comments and apply treatment to basemodel_from_df before JSON output * yfinance consistency * add unit test * add unit test * better test * ruff --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Update the quantitative extension to make more sense (#6087) * Split out a rolling submenu for the rolling functions * Make a performance and a stats submenu. * Test the statistics functions * lint * lint * dupe test * pylint * ruff * Try tests quick * black magic signature funcs * fix my custom tests * Fix the existing imports/urls * push the api update * okay I figured out whats going on * this should be all of them * Correct docstringing examples --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [BugFix] Fix ECB Yield Curve (#6108) * fix ecb yield curve * standard model update * Update unit-test workflow to check for changes to openbb_platform (#6109) * [Bug fix] - Fix package mypy (#6110) * fix: package mypy * types * black * [Feature] - Equity router descriptions & examples (#6103) * feat: equity/calendar * feat: compare router * fix descriptions * darkpool + discovery * fix paragraph issues * fix descriptions * fundamental part 1 * fundamental part2 * transcipts * ownership * fix * price * shorts * Update darkpool_router.py * minor fix * shorts examples * examples * ruff * black --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Feature] - Add `exception_handler` decorator to static (#6112) * add exception handler decorator * add exception handler decorator code * updated static * rebuild to fix docstring indentation --------- Co-authored-by: Diogo Sousa * update extensions list (#6114) * add missing field descriptions to yfinance equity price historical (#6116) Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * remove charting extension env var (#6118) * [BugFix] Fix Company News (#6111) * fix company news * update tests * multiple symbols for polygon * don't include pageSize in Benzinga querystring, fixed as 100 * remove extra space * black * unused imports * make benzinga test cassette smaller * missing params * clear empty strings --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [BugFix] Allow Multiple Symbols in `equity.fundamental.metrics()` from `yfinance` (#6124) * allow multiple symbols in key_metrics from yfinance * field order thing * remove unnecessary function (#6125) * [Docs] Update OpenBB Copilot docs (#6106) * WIP: Tweak description. * WIP: Experimenting with react-player * WIP: Add copilot docs. * fixes videos width/height * WIP: Refine videos and copy. * WIP: Add last videos and sections. * Add bring-your-own-copilot section. * Tweak grammar. * Add copilot link. * Fix typos. --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * [Enhancement] Add Previous Close to DATA_DESCRIPTIONS (#6120) * add data description for previous close * ..just the one * update the model tripped by this change --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * added australia as a country also (#6131) * [Bug fix] - Fix regulator cik map standard model (#6129) * Fix regulator cik map standard model * fix description * Update cik_map.py * increase timeout to 30 (#6115) Co-authored-by: James Maslek * clean up some v3 deps (#6105) * clean up some v3 deps * forgot we need to do the requirements txt files * not sure it matters, but run ruff + black * am addicted to bug fixes --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Bug fix] - explicit multiple items docstring (#6127) * explicit multiple items docstring * rebuiild * rebuild again --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * [Feature] Pretty Pydantic `ValidationError` exceptions (#6130) * fix validator in fmp IndexHistorical model * make ValidationError pretty * modify arg error * linting fmp IndexHistorical * black * remove unused code * tmx etf info (#6132) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * [Feature] - Platform V4 Markdown Generator V2 (#6094) * add recent `openapi.json` * fix data types in models * removed `openapi.json` * set default date value as None in PolygonCurrencyPairs class * add function to generate reference.json file * reworked function to improve readability * reword function to add seo metadata * add functions for creating markdown sections * add code to extract data card markdown title * add additional functions for generating index and data models file * extract first sentence of the description for cards * code cleanup and documentation * linting * linting polygon models * add openbb import statement in create_reference_markdown_examples function * add POST method functions * cleanup; reworked generate_reference_index_files function * moved development section to 7th position in the sidebar * fix POST function params default value add standard flag to QueryParams and Data fields cleanup * add type expansion from package_builder.MethodDefinition * sort data models cards alphabetically make printing less verbose * make MAX_CARDS global display less content in cards in Commannds section * cleanup * Remove '_' from the cards under Commands section * " to ' in econometrics/causality * replace ' with " in ReferenceCard for reference dir index files * remove extra . from the quantile function description * shoutout to @deeleeramone for finding POST method description bug! * set correct value for standard field * handle BaseModel types in provider data fields * unit tests for the platform markdown generator v2 * yeet 'Default' and 'Optional' columns in the 'Data' section * last minute bug fix * add info for multiple symbols * make multiple items info same as platform static * organize sections properly * sort reference sub-directories alphabetically * extra space in 'OBBject extra' description * add type expansion for fields with multiple items POST method cleanup --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * [Docs] Adds Example Notebook for the Implied Earnings Move (#6128) * adds example notebook for the implied earnings move * remove commented out line --------- Co-authored-by: James Maslek * [Feature] - Sync with new openapi.json (#6137) * feat: create data tabs * fix: uncomment * fix: remove unecessary comment * sort side bar * comment * uncomment * use .dev functions.json + clean traverse * fix futures example * fix example * point to .co * Fix the v3 markdown generation workflow (#6138) * fix workflow * debug time * see if the docs generate at least * ahhhh i found it * getting there * put the test first * some keys cleanup * small change to error message * update functions.json (#6140) * fix intraday check in charting ta_class (#6119) Co-authored-by: Henrique Joaquim * [BugFix] Display EconDB as source for macro (#6143) * [BugFix] Disable Intrinio `InstitutionalOwnership` model (#6142) * disable fetcher in init and fetcher tests * disable provider test params from equity python and api tests * updated static * add more examples into findSymbols (#6139) Co-authored-by: James Maslek * [BugFix] Fix SEC ETF Holdings Parsing Exception (#6121) * fix etf holdings * linting * black --------- Co-authored-by: James Maslek * Docs/update xl docs (#6145) * remove print * update obb.get docs * example * md lint * fix get reference (#6147) * [BugFix] Filter OECD data using `start_date` and `end_date` parameters (#6144) * move constant dicts to constants.py filter by start_date and end_date * black * black again again * Merge 'main' into 'develop' (#6151) * Release/3.2.4 (#5696) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * 3.2.3->3.2.4 * Changelogs * new changelog --------- Co-authored-by: Henrique Joaquim Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> * Release/4.0.1 (#5840) * test * ultima description (#5541) * Updating showcase page (#5543) * updating showcase page * use sdk instead * add new bot command autopost docs (#5530) add new bot command autopost docs to docs.openbb.co Co-authored-by: James Maslek * Hotfix/ultima improvements (#5553) * tweaks for monetization * fix linting issue * fix: Modify 'load' behavior to append data to existing sheet (#5503) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Fixed 'worksheet not found' error during export to an existing sheet * Changes: * Now if the sheet exists in the xlsx file it will ask the user if he wants to replace/append/create new sheet --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * added platform API integration test to Nightly build (#5571) * Add columns to `stocks/search` (#5565) * Add columns to `stocks/search` isin, cusip, figi, composite_figi, shareclass_figi * Update test_search[False].txt * Update test_search[True].txt * Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml * Create test_search.yaml --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * updating ultima urls (#5587) * fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591) * Update README.md (#5598) * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * fix docs (#5646) * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update settings.md (#5665) * fix front matter (#5667) * #5633 adding comma every 1000 (#5652) * #5633 adding comma every 1000 * pylint --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Hotfix/reports model render report sanitize inputs (#5669) * Adding more robust special character handling to create_output_path(). Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299 * Running black linter on code to conform to OBB style guides. --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676) * fix histcont * some cleanup * remove sort line * 12-31 not 12-12 * columns_keep_types * remove space in regex (#5675) * Pin openai (#5685) * Clarified stocks/ta empty recom object message (#5468) * Clarified stocks/ta empty recom object message * black * lint --------- Co-authored-by: James Maslek * improved market cap value extraction (#5169) * improved market cap value extraction * pylint --------- Co-authored-by: James Maslek * Release/3.2.4 (#5704) * 3.2.3->3.2.4 * Changelogs * new changelog * OpenBB Platform v4 (#5225) * change location * check something * add cache * fixed auth w/@IgorWounds and @montezdesousa * fixes for econometrics * include Darren auth suggestions * some routers included if dev + chg hub backend var * coverage router should not be here * update docker readme * forgot to check auth here * Change extension imports * update docstrings and readme * headers function wasnt being called, just referenced * relative import * econometrics add headers everywhere * Fix QA * Fix TA * Fix test * Fix python interface QA and TA * Lint * Cleanup * Change path * make the changes and some etf models * tests for command_runner * ruff * solving naming issues on pytest * Update some docstrings, fix typos and lint * solving econometrics instantiating wrong openbb * chaging the way pytest runs * messing around with the imports * ruff * Change template to add platform considerations (#5533) * change template to add platform considerations * @the-praxs suggestions * solving __pycache__ issue * removing typo * ci yml * making linters happy (i guess) * Improve Omega Ratio and docstrings * chaging pro validation hash * ruff * Fix OLS Summary and lint * Add OECD Provider for economy extension (#5534) * Add record to docs * update a couple of cboe models * Fix econometrics bugs. Make tests pass. Lint. * black * ruff * pydantic v2: remove deprecated Extra * pydantic v2: self.dict -> self.model_dump * revert pydantic * revert the revert * try 1: pin urllib3 < 2 * Revert "try 1: pin urllib3 < 2" This reverts commit 3736c311cb6aa9e653dcb5db733798408b72a82e. * Revert dep * Fix * re-lock * Skip all tests when doing cspell in pre-commit * Resolve linter errors * Add OECD to install script * Add OECD * Resolve more linter errors * Exclude static files of v4 python from ruff * More linting * Another attempt to resolve even more linting errors * Change how Literal is used * ticker. symbol. consistent. @piiq * change ticker field in Stock Search to is_symbol * Update Cboe model for stocks_search -> is_symbol parameter. * Fix issue * Lint * Small QA to rename SDK to Platform (#5544) * SDK -> Platform in docs * renamed in core * renamed in openbb `init` * `sdk` variable renamed as `platform` --------- Co-authored-by: hjoaquim * `validator` -> `field_validator` in standard models * Standard convention for multi-ticker symbols (#5549) * standardize symbol input param in forex and crypto historical data * static * linting * Fix stock_search integration test params * Update dependencies and linting on the CI (#5550) * Remove ruff and black from platform dependencies * Update codespell configuration * Lint python code * Add toml and tomli to root dev dependencies * Update requirements.txt files * Fix buggy docstring in python package methods (#5548) * fix buggy docstring for methods * remove space * fix typing * avoid name collision with validator * Revert "avoid name collision with validator" This reverts commit 8a30a44555d97132f6bddcbc4a4facdd97ecc591. * typing * rebuild * python 3.8, ParamSpec not available * lint * ruff noqa * Merge with develop (#5551) * Charting extension integration tests (#5547) * initial proposal for integration tests on the charting extension * int tests for charting generation * python generator * ruff * boilerplate templates * python tests * tests for the api * using body instead so data don't get redefined * unit tests for coverage * ruff * docstrings * unnecessary access to keys() * Add trading economics economic calendar * dev install * Data Models disposition on the website (#5538) * pydantic v4 * flat structure * md files * Revert "md files" This reverts commit bd2170e2adf82fed3a35d34fad6a2e3ba3ae1d49. * improve command descriptions * nice title and description * human readble data model names on left panel * implementation details section * content markdown files * markdown versioned files * showcase page * updates --------- Co-authored-by: tehcoderer * everything except tests * fix `datetime.date` import in fetcher test * modified url to remove `api_key` placeholder * record test * api key is called c here * fixed fetcher test for api key * recorded tests * refactor * life is ruff * codespell * Make Intrinio options chains great again (#5540) * add multithreading * cleanup * linting * use dateutil.parser * removed `TICKER_EXCEPTIONS` * modified `date` and `type` fields in standard model * set alias for `date` and `type` to match standards * static * static * Hotfix/fix post tests (#5555) * Fix econometrics * Fix ta * Fix qa. Remove intrinio to not be rate limited * Lint * Fix typo * obbject tests (#5558) * obbject tests * ruff * fix dev_install * fix unittests * black on nox * black on nox * nox * fix fetcher test so it can compare dates * fix intrinio tests * ruff * change to model_dum() instead (#5561) * Passing tests (#5560) * Passing tests * fix options * Fix most tests and bugs * fix forex missing params * make symbol upper in polygon fx pairs * fix fixedincome integration tests (#5564) * Fixing charting api integration tests (#5562) * fixing charting api integration tests * black * fix stocks less five API fails * fix the 5 failing stocks integration tests * recapture fmp stock news unit test * fix fmp forex api test * couple more forex integration fixes * changing the request to always use the legacy session. @jmaslek this is was broken for 3.8 and 3.9; with this change apparently all versions work - lemme know if you see any issue with this change * ruff * fix ta * add missing param * fix testers for the api * fix globalnews to use images instead of image * remove unncessary pandas import * econcal int tests * update gitignore * fix get_querystring to support lists * add missing parameters --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Henrique Joaquim * Stock Historical standardization and UX improvements (#5457) * polygon add interval standard param * attempt at standardization * Alpha Vantage params standardization * rename `get_intervals` and fixed bug for extracting wrong value * missed changing it in `extract_data` * linting * polygon cleanup * modified `start_date` & `end_date` type to `datetime` from `dateType` * standardized intrinio stock historical params * fixed yfinance * linting * revert start and end date to dateType from datetime * fix alpha vantage * changed param * fix intrinio infinite loop * `validator` is `field_validator` * revert time params and fixed intervals * `outputsize` alias set in `Field` * set interval description using in-build dict * yfinance stock param standardization * static * intrinio cleanup * Polygon add api params as `PrivateAttr` * modified yfinance params to `PrivateAttr` * intrinio remove overriding date params * fixed description for AV adjusted param * fix alpha vantage intraday not working * re-record and pass unit tests * pass integration tests * Update test --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> * Fix econcal endpoint (#5567) * fix econcal for python interface * fix econcal tests * fix non supported json output * Fixes FMP index endpoint to get 1 day interval data (#5535) * fix FMP endpoint for getting index data for `1day` interval * fix `open` type to prevent validation error * modifed `validator` to `field_validator` * type of fields is `StrictFloat` * re-record and pass test * linting * `validator` -> `field_validator`, a3'd everything * Fix regression in tests. Lint * updating the integration test actions * Fix typo * Fix typo * Fix import * Publish versions `a3` to Pypi (#5568) * bump versions and script to publish * small improvements * uncomment exception * openbb * publishing guidelines * improve docs * add providers to economy api * make symbol required in stock_quote * Fix keys * Fix oecd * add comma * revert * Add quotes * Sleep * Improve tests * Improve * Feature/query transform (#5566) * inject query into transform_data * swap query and data * update missing fetchers * last test failing * sig test fetcher * black * av add `query` to `transform_data` call * transform_data: missing refactoring * fix uvicorn command in the doc * Automated examples (#5576) * Automated examples * Fix bug * Lint * static assets built on 3.8 * Revert "static assets built on 3.8" This reverts commit fb82ff7bd9af92ed676d8f8047c31e74daf7b8b2. * remove assets * static assets on 3.8 * static assets on 3.8 * Wrap in quotes * Improve wrap * minor fix * rebuild 3.8 * Fix bug * Fix edge case * Lint * rebuild --------- Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa * use SecretStr for sensitive fields (#5578) * use SecretStr for sensitive fields * fix * docstring * Add tests for provider (#5583) * Add tests for provider * Test standard models * Lint * Fix standard model issues. Co-authored-by: @the-praxs * linting * `symbol` -> `is_symbol` in `economy.index_search` * static --------- Co-authored-by: Pratyush Shukla * feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546) * add biztoc provider * duplicate field * black * request headers * recapture test * move stuff around * add integration tests * duplicate OECD entry in dev_install * duplicate entry for oecd in pyproject.toml * Add Biztoc to workflow * update readme: credentials * Add Preferences to README * improve tests * fix biztoc * obbject pylint * Bug fix: serializ SecretStr before dumping to json * export credentials as json (#5592) * Check for wrong, changed, or outdated params. (#5597) * Improving `economy.cpi` for the FRED data (#5602) * remove multiindex using coding magic * Update field descriptions --------- Co-authored-by: Theodore Aptekarev * Improve error message. * Improve * Test tests (#5607) * Test tests * Add test * 4.0.0a4 PyPI publishing (#5608) * changes to publish * fix mini conflict * typo * cleaned `descriptions.py` * fix description in `cpi.py` * Add ETF extension to v4 (#5609) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add ETF historical price from yfinance (#5610) * Add etf extension with search data model * Add FMP ETF search * Add fetcher tests * Add etf historical price standard model and route * Add etf historical data from yfinance * Add unit tests * Fix linter error. Organize imports * Update test data * Revert common descriptions erased by CPI PR * remove `symbol` from data for `stocks.ca.peers` * Test docstrings (#5613) * Test docstrings * fix minor bugs w/@IgorWounds * static only w/@IgorWounds * fix `importance` param in `economy.econcal` * right static only w/@IgorWounds * Fix econcal and add tests to noxfile * fix econcal static * re-record --------- Co-authored-by: Pratyush Shukla * Clean up the newly created ETF extension (#5611) * Add ETF to dev_install bundle * Add integration tests for openbb-etf * Patch integration test generator scripts to produce lintable code * Add py.typed markers for extensions * user preferences descriptions (#5593) * user preferences descriptions * typo * Feature/v4-sec-provider: Add SEC provider to V4 (#5556) * coerce string type, add default=None * add sec provider and FTD function * update description * ruff * data model definitions in standard model already * duplicate oecd entries in dev_install and pyproject * actually commit * integration test * add stock search to SEC * add company filings for SEC provider * integration tests * remove duplicated line * ruff * **kwargs in Transform Data * some helper functions for later * black * add helper for mutual fund and etf lookup * add some SEC lookup helpers to a new regulators extension * black * ruff * fix test param * take institution filter out of sec stock_search * ruff * remove URL that codespell doesn't like * add cik-to-ticker map * add litigations rss feed * make openbb-regulators a dependency of openbb-sec * add SIC search * improve ftd and remove BeautifulSoup from SEC dependencies * fix parsing the zip files pre-2009 * ruff * update descriptions * recapture ftd test * tests params * typo * change limit param to 1 in test_sec_stock_ftd * Add didiers to_records method (#5588) * Add didiers to_records * unused import * Bring back polars + do what igor suggested * Make the output consistent with what it was. * Black ? * spelling. oops. almost like we have a pre commit or something * Feature/v4-price-performance: % returns for various horizons, comparable across multiple tickers. (#5618) * coerce string type, add default=None * add price_performance endpoint from FMP * black * extra period in docstring * ruff * forgot one file * Feature/ipo-calendar: V4 IPO Calendar (#5605) * coerce string type, add default=None * add intrinio ipo calendar * fix typo * sort __init__ * fix description * make requested changes * update test params * black * test updates * etf integration * Add disc router and WSJ provider * OBBject extensions (#5612) * changes to core * bug? * docstring * doc * Update credentials.py * fix model_dump * create extensions * fix docstring * doc * revert change query_exc * doc * fix container test * redirect obbject test patch * doc * rename method * move decorator to extension file * rename method extend_obbject * changes in creds model * avoid credential racing * doc * rename prop * doc * doc * remove comment * comment some code * free extension names * docstring * doc * docs * Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix some TE bugs (#5580) * coerce string type, add default=None * adds fmp to economic calendar and fixes some things with TE * ruff * etf integration test * missing provider for test * rename te cassette to economic_calendar * fix test * rename tests --------- Co-authored-by: James Maslek * Add stocks disc endpoints (#5630) * Add stocks disc endpoints * Explicit * Lint * Add tests * Bump timeout * Feature/disc router (#5616) * Add disc router and WSJ provider * Lint * Lint * Move endpoints under ETF router * Update etf_performance.py * Add ETF info and sector exposure from FMP (#5620) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Fix linter errors after the merge * Fix more linter errors * Fix failing and add missing tests * Fix integration tests * Fix calendar ipo tests * Add ETF holdings and holding report dates from FMP (#5629) * Add ETF info from FMP * Add integration tests * Add unit tests * Add etf sectors endpoint * Add etf sectors fmp endpoint * Omit nested sector list from fmp info data * Update tests and test data * Update test data * Specify provider explicitly in integration tests * Update tests * Skip yfinance etf historical test * Add etf holdings and holdings date routes and standard models * Add fmp holdings and holding dates fetchers * Update holdings fetcher to properly handle date object inputs * Add unit tests * Add integration tests * Black after merge * Fix test input data format * Disc router for equities. (#5640) * Disc router for equities. * add tests * Bug fixes in financial statements (#5537) * `validator` to `field_validator` in standard models * Polygon add `ttm` to `period` param * Revert "Polygon add `ttm` to `period` param" * Polygon add `ttm` to param `period` * `EarningsCallTranscript` standard model removed `quarter` param * use `tag` instead of `name` for correct field name * fix url for intrinio income statement * modified intrinio cash flow `transform_data` function * set optional data fields and validate dates * fix insider trading not fetching recent data * linting * refactoring * refactoring * set param alias in fmp stock insider provider model * get all quarter data for intrinio * add `limit` param to `stocks.fa.ins` * refactoring and linting * removed additional comment * linting * re-recorded and fix tests * cash flow standard model field type to `StrictFloat` * Intrinio cash flow model fixed to get all quarters' data * linting * refactoring * financial statement standard model field type to `StrictFloat` * Intrinio financial statement model get all quarter data * set `period` type to `Optional[str]` * add `period` param to balance sheet provider models * add `period` param to cash flow provider models * use alias in model dump * remove `ttm` from `period` param * revamped intrinio financials * fixed incorrect description for `limit` param * modified tests for `balance`, `cash` and `income` * re-recorded tests * skipped intrinio financial statement fetcher tests * Add ETF county weighting command with FMP data (#5645) * Remove code that wrongfully infers the filing date as end of quarter * Add etf countries command with fmp data * Add countries command to etf router * Update sector and country weighting fmp models * Fix docstring typo * Add unit tests and update mock data * Add integration tests for etf.countries * Bring back missing integration tests * Fix economic calendar integration tests * fix missing data in intrinio financials * removed inutile params from Polygon financial statement models * Intrinio IPO overhaul * tests fixed and re-recorded * Add ETF holdings performance with FMP data (#5659) * Add etf holdings performance endpoint * Add tests * Fix failing polygon fetcher tests * Split long holdings lists into chunks and update test data * Change chunk length to 500 tickers * Add stock search from FMP (#5642) Co-authored-by: Theodore Aptekarev * Feature/v4 pypi (#5579) * improvements to the publish script * move scripts * initial script that builds the package * adjustments on the docs * test pypi workflow * add hour and minute to version * black * ruff * duplicate file * moving files instead * build throught the script instead * update nox file * integration tests workflow * change workflow * fix dev_install * fix in sed cmd * testing the platform only * commenting out the publishing * fix run commands * improvements to the publish script and doc * fix publish script * updating the script and the workflow * feature/v4-pypi nightly (#5589) * init * Update nightly.py * cleanup * init file * not referencing dev_utils * updating obb platform key * revert * Increase warmup time * project name on pyproject and adding the --pre flag on readme * moving to the build folder * fix noxfile * reflecting the moves on the import statements * fix pyproject path * ruff * fix paths * fix super typo * update workflows * moving the pypi terminal files into its folder --------- Co-authored-by: teh_coderer Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: Theodore Aptekarev * economy.calendar nasdaq (#5628) * add quandl econcal * unittest * add integration tests * replace   * fix bug TE importance * small fix * remove stuff from quandl * add nasdaq provider * add nasdaq to install files * Update test_economy_api.py * test * quandl leftovers * remove quandl econcal test * lint * replace   * ruff * lint * update nasdaq gmt * validate countries * here * no need for this * fix calendar tests * static * static * remove error * static * readme + website * readme * remove changes TE * typo * fix unittest * fix tests * Update __init__.py * Update economic_calendar.py * revamped model and added helpers for date range --------- Co-authored-by: Pratyush Shukla * Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves the command out of fundamental_analysis (#5672) * add nasdaq dividend calendar and move out of fundamental_analysis * black * ruff * add random-user-agent to pyproject.toml * add nasdaq ipo calendar * add nasdaq flag for SPO to IPO calendar * add spo test param * black * dividend test * fix transform_query - nasdaq_calendar_ipo * bring back different headers for ipo calendar * remove references to test * Add disc endpoints (#5660) * Add Quandl top retail * Add tests * Add Seeking Alpha * Add Filings * Change Provider * Fix test * Add dev_install * static * static correct * y u forget me * updated deps * static --------- Co-authored-by: Pratyush Shukla * using dev install (#5673) * Expanding the `fixedincome` menu (#5655) * models and fetcher * making the fetcher visible * std model * adding the command * improvements to the models * typo * adding the command * imrpovements to dwpcr * standard model for ecb int rates * adding the fetcher for fred * standard model of ice bofa * add ice_bofa command * ruff * ice bofa fetcher * moody std model * moody * std model * add cp command * unused import * cp * spot * ruff * hqm * tmc * ffrmc * tbffr * ruff * typing fixes * buggy dates * fred fetcher tests * ruff * adding ecb as a provider * adding new provider related stuff * adding the new command eu_ycvr * models * test for ecb fetcher * Feature/v4 fixedincome int tests (#5661) * integration tests * happy ruff * mini adjustment * ruff * typo * verbose type * fix tests * docstrings everywhere and an happy pydocstyle * fix tests * Feature/user-cache-dir: Add User Preference for the Cache Directory (#5621) * add user preference for storing cached data * ruff * fix tests? * fix test key error..? * etf integration test fix * add cache dir to SEC * black * improve docs structure for V4 (#5586) * improve docs structure for V4 * moving over changes * Add Docs to the navbar * add some, re-order sidebar * fix sentence * add docs install to source instructions * insert a couple of links, fix a typo * big terminal docs usage revamps * improve toggle component for tutorials * get rid of TOCs for all terminal docs for consistency and simplicity * improve platform docs * improve bot docs content structure * remove index from bot docs * improve ON THIS PAGE to only display TOC if at least 1 element * make edit this page text and icon on same line * add author and date to docs * add basic syntax page to usage * sidebar order for usage section * move api start command to the top with the import python import * some install page additions * small improvement * refactor routines section * Update introduction-to-routines.md * Update pipeline-of-commands.md * Update introduction-to-routines.md * Update routines-for-power-users.md * Update community-routines.md * update keyboard hotkey macros * askobb page * Update askobb-feature.md * Update index.md * Update index.md * Update index.md * Update index.md * fix images * remove HeadTitle from all files where it exist * get rid of extra spacing in markdown * small update * small edit * need index at the start because of main path when homepage of docs * use openAI to create SEO for front matter on my behalf * remove table of content from sdk page * finish improving metadata SEO for SDK docs * update duplicate header * update HeadTitle to be more specific on product * remove index from bot telegram reference * delete duplicated title for platform reference * another update * Hotfix/econometrics export filename fix (#5508) * fix: Modify 'load' behavior to append data to existing sheet Details: - Added logic to detect existing sheet and append data if present. - There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number. Resolves: #5472 * Added --export option for exporting to a desired file in /econometrics menu * Added a -f/--file option to provide the filename for export. Made -t/--type and -f/--file mutually exclusive. If -f is not given, -t is required and the filename will be generated based on the time and module. * Revert `helper_funcs.py` to original state * Made some arguments not required. * Minor changes asked by @deeleeramone * No sheet name * black --------- Co-authored-by: James Maslek Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * FIX #5600 Updated the Twitter logo to X logo (#5601) * Change Ultima paragraph (#5624) * change ultima paragraph * remove old paragraph * Update CONTRIBUTING.md (#5623) * mobile line-brake fixed (#5604) In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments. Co-authored-by: James Maslek * start PR so screenshots can get attached via GitHub website * Update qa.md * Docs/terminalpro and improvement (#5622) * add first iteration of content for Terminal Pro * Update index.md * Update dashboards.md * Update folders.md * Update grouping.md * Update report.md * Update templates.md * Update quick-start.md * Update index.md * Update index.md * Update home.md * Update news.md * Update index.md * Update index.md * Update index.md * Update data-provider.md * Update chat-with-widget.md * Update data-manipulation.md * Update forecasting.md * fix: images self closing tags * fix: only pro visitors can see pro * inter font * improve SEO content and restructuring * add new package for toggle on tutorials * move folder around * improve main page of each prod * small updates and improvements * fix logo above * small improvement in headtitle for portfolio funcs * fix typos from OpenAI's GPT-4 * fix _category_ json * remove generic SEO words * add script that generates SEO for documentation * add missing file * remove sdk warning message * fix links for andrew --------- Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: andrewkenreich * Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627) * typo * pro docs tab coloring * sidebar selection blue * redirecting missing * Update crypto introduction.md * titles * another title * Update crypto dd.md * Update defi.md * Update disc.md * Update nft.md * Update onchain.md * Update ov.md * Update introduction.md updates URL * Update introduction.md add HeadTitle * Update ba.md * Update comparison.md * Update dark-pool-shorts.md * Update disc.md * fix docs (#5646) * Update fa.md * Update gov.md * Update ins.md * Update tradinghours.md * Delete website/content/terminal/menus/stocks/options/screener.md * Update Options introduction.md * Update screener head title * Update screener TOC * Update econometrics.md * Update economy head title * Update etf.md * codespell * Fix the redirect for intro to the correct url for docs (#5658) * fix the redirect for intro to the correct url for docs * fix code linting --------- Co-authored-by: James Maslek * Contributing guidelines (#5615) * intro section * what's expected sections * improve sections * improve sections and move how to add a data point * moving qa under contributor * better intro * moving the sharing section * better expectations * small intro to the contributor guidelines * moving things under the contributor section * there is no pre commits on the platform yet * dependency management * best practices for extensions * typo * collapse options subfolder * codespell * Improve Pro documentation further (#5641) * small improvement * Fix TutorialVideo for mobile view * main page terminal pro docs * jose whelp * placeholder index file that needs to be removed * fix: fixes sidebar, removes unused index.md * update link to api keys * update api keys link * fix hyperlinks in terminal helper * fix a few more links * fix some more links * linter * black linter * improve main docs page for each product * small refactor * header to take to main page of product * run OpenAI script to generate SEO for pro content --------- Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> * Update folders.md * Update integrate-your-own-backend.md * Update index.md * Update fixedincome.md * url * Update forecast.md * Update settings.md (#5665) * Update forex.md * fix front matter (#5667) * Fix conflict markers that got into markdown during previous merges * Fix front matter list formatting * Fix typo * small thing * fix hyperlinks * Update .codespell.ignore * output_type options * Architectural considerations * Update sidebar to hide pro section by default * Minor copy changes * TET pattern * import statements * clarification on preferences * Minor copy changes * Lint markdown and python * fix: open index on collapsible root elements * remove old content * options title * Fix linting errors * Refactor sidebar label to url mapping condition --------- Co-authored-by: andrewkenreich Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: hjoaquim Co-authored-by: Sandip Saha Co-authored-by: James Maslek Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Theodore Aptekarev * Add multi-ticker support to etf_countries (#5670) * add multi-ticker support to etf_countries * remove commented-out lines * normalized percent points * percent -> percentage * Fix Nasdaq Econ Calendar Fetcher (#5668) * fix nasdaq econ cal request * more html tags * add random-user-agent to pyproject * another edge case - 24H -> 00:00 * Feature/v4-unusual-options: Adds unusual options endpoint. (#5677) * add unusual options fro Intrinio * test params * move sorting * Change type * update FMP fetcher to use the V4 endpoint (#5681) * Fix price performance not parsed correctly when there is only 1 ticker (#5678) * Add crypto search standard model and FMP data for it (#5679) * Apply renaming to news data (#5684) * inegration complete * reformatted for black * fix ruff issues * revised integration * changes to versions in pyproject.toml and updated lock files * Rename models * Update tests * Fix typos here and there * Update routers * Apply rename to ultima * Properly mock api key * Mock ultima api key --------- Co-authored-by: Adi Sai * Feature/v4-market-snapshots: Adds full market snapshots (#5473) * add stocks market snapshots from fmp * add fmp fetcher test * unused imports * add polygon to market_snapshots * update fmp market_snapshots * black * pydantic2 things * updates * change validate_obj to model_validate * polygon cleanup * tests * descriptions * black * data description * minor adjustments, using less local variables, improving readability and removing pandas * better structure * minor adjustments * lint * fix int tests --------- Co-authored-by: hjoaquim * Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617) * coerce string type, add default=None * add polygon stock quote * limit cleanup * add greater/less than to params * limit param * black * tests * fix tests * test_etf * rename model and function to NBBO * add standard model for nbbo * improve standardization * not redifining builtin max * fix input params * integration test params * removing unused import Co-authored-by: Pratyush Shukla * revamped code * re-recorded nbbo test * added symbol validator * added alias in field * Stock news -> Company news --------- Co-authored-by: hjoaquim Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682) * merge quandl nd nasdaq * dev_install.py * test param name * economy python integration test * Add more input types to data processing commands (#5453) * adding more supported types to data processing commands * ruff * removing unused import * docstrings * data processing types covertion * data description * test filters * ruff * fix package builder tests * ruff * removing print * Add stocks/dps module (#5638) * short volume * pyproject missed * add sec short interest with days to cover * Add FINRA OTC endopoint * some tests * rest of unit tests * Integratin test scripts * dev install * linters caught by pre commit * lines too long * Last test files * maybe it needs a lock file? * thanks pratty * Maybe ill actually listen to pratty next time * sec test date freeze * I cant hit buttons * re record tests * tests 3 * Stockgrid test * regen int test * more testing * lint * moved these fns * dis killing me * one more test * last one * Update integration tests * Fix tests picking up wrong dps route --------- Co-authored-by: Theodore Aptekarev * Rename Forex to Currency (#5687) * restore fields as optional (#5686) * Rename Crypto (#5689) * added `crypto.price.historical` * static * fix tests * fix incorrect label * Move model from sec to finra (#5692) * Update toml * fixed deps * add openbb-etf lock file * cleanup * cleanup (#5694) * Rename Fixed Income (#5695) * Rename Fixed Income * Add routers * Rename stocks to equity (#5688) * Rename stocks folder * Rename openbb_stocks package * Rename routers * Reroute equity menu * Update routes based on feedback * StockNews -> EquityNews * StockInfo -> EquityProfile * Rename Equity calendars * Equity peers rename * Rename discovery * Rename fundamental * Rename price command models * Rename shorts * Update charting router * Fix seeking alpha upcoming release date * Fix linting errors * Update tests * Fix tests * Skip econometrics api tests because it's python only * Update integration tests and test data * Historical analyst estimates * Skip cboe options chain test. Unable to record vcr cassette * re-record cboe cassettes * Document CBOE unit test creation caveats --------- Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> * Feature/files-for-igor: Adding a few standard models for Igor (#5699) * add some standard models for Igor * codespell * update descriptions * Add devtools metapackage (#5703) * Add openbb-devtools metapackage * adding devtools to the dev_install script --------- Co-authored-by: hjoaquim * Rename econometrics commands to be more verbose (#5702) * Expose command to model map (#5706) * Rename ta qa (#5708) * Rename ta folder * Rename ta to technical * Rename qa folder * Rename qa to quantitative * Rename the actual routes in quantitative * Equity cleanup (#5707) * cleanup * static * renaming to equity cc @the-praxs * Proof reading --------- Co-authored-by: hjoaquim Co-authored-by: Theodore Aptekarev * Don't enforce imperative for first word of the docstring * Remove ultima from default extensions * Rename `economy` and create `index` extension (#5705) * renamed economy and re-recorded tests * static * market indices * european indices * fred indices * index constituents * tests * correct package name * oops * static * linting * Move COT commands to regulators * Rename economy.list to available_indices * Rename GDP models and clean up * Fix charting tests * Drop _indices from available_indices command * Fix obbject to_dict test --------- Co-authored-by: Theodore Aptekarev * Rename etf/disc (#5715) * Docs/v4-working-docs: PR to Work on V4 Docs (#5693) * Revert changes related to pydantic2 made into v3 code * Revert fred model changes in v3 * Revert pydantic2 databento model changes in v2 * Update some names and v3 lock file * Clean up openbb/package before the beta release * Platform publishing procedure (#5701) * update instructions * introducing the version script * publish message * fix platform path * reflecting version changes * getting version from installed packages instead * removing toml from dependencies * Changes to get `a7` out (#5697) * changes to get a7 out * etf menu on the pyproject.toml * poetry lock * bump `openbb-etf` to `a5` to match version * updated deps * removing ultima * removing references to a4 cc @the-praxs * Bump index menu version * poetry lock --------- Co-authored-by: Pratyush Shukla Co-authored-by: Theodore Aptekarev * Update publishing instructions * Bump core dependencies in extensions and providers * Add changes to the publish script following the beta release * Update the versions in static extension map and openbb metapackage --------- Co-authored-by: James Maslek Co-authored-by: Pratyush Shukla Co-authored-by: hjoaquim Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <7… * econdb context manager (#6512) Co-authored-by: Henrique Joaquim * changelog * core * extensions * better spacing * static assets * latest versions * publish * skip deprecated dirs * bump cli --------- Co-authored-by: Pratyush Shukla Co-authored-by: James Maslek Co-authored-by: Andrew Co-authored-by: Adi Sai Co-authored-by: Sandip Saha Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com> Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com> Co-authored-by: DidierRLopes Co-authored-by: professssor <62937125+professssor@users.noreply.github.com> Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com> Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com> Co-authored-by: jose-donato Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: Mohamad Fadil Co-authored-by: Ramazan Co-authored-by: joshuabuildsthings Co-authored-by: wojda <114031148+polooner@users.noreply.github.com> Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com> Co-authored-by: Theodore Aptekarev Co-authored-by: Diogo Sousa Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: tehcoderer Co-authored-by: Ramazan Co-authored-by: omahs <73983677+omahs@users.noreply.github.com> Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com> Co-authored-by: Ayrton Parkinson Co-authored-by: northern-64bit <75195383+northern-64bit@users.noreply.github.com> Co-authored-by: Luqman Co-authored-by: Eric Li <38477812+EricLi-Dev@users.noreply.github.com> Co-authored-by: Michael Struwig Co-authored-by: capital0 <72140796+capital0@users.noreply.github.com> Co-authored-by: Ben Van Doren Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com> Co-authored-by: Disorder AA Co-authored-by: Jingyi Z --- .github/workflows/deploy-gh-pages.yml | 3 +- .pre-commit-config.yaml | 2 +- assets/extensions/provider.json | 48 +- assets/scripts/generate_extension_data.py | 14 +- .../{api.dockerfile => platform.dockerfile} | 4 +- build/pypi/openbb_platform/PUBLISH.md | 34 +- .../argparse_translator/obbject_registry.py | 51 +- .../reference_processor.py | 5 + cli/openbb_cli/argparse_translator/utils.py | 11 +- cli/openbb_cli/cli.py | 10 +- cli/openbb_cli/controllers/base_controller.py | 121 +- .../controllers/base_platform_controller.py | 99 +- cli/openbb_cli/controllers/choices.py | 17 + cli/openbb_cli/controllers/cli_controller.py | 25 +- .../controllers/settings_controller.py | 441 +- cli/openbb_cli/controllers/utils.py | 100 +- cli/openbb_cli/models/settings.py | 151 +- cli/openbb_cli/session.py | 3 - cli/openbb_cli/utils/utils.py | 34 + cli/poetry.lock | 247 +- cli/pyproject.toml | 5 +- ...st_argparse_translator_obbject_registry.py | 2 +- .../test_controllers_settings_controller.py | 48 +- cli/tests/test_controllers_utils.py | 32 +- cli/tests/test_models_settings.py | 1 - examples/copperToGoldRatio.ipynb | 4 +- openbb_platform/README.md | 2 + .../core/openbb_core/app/command_runner.py | 39 +- .../core/openbb_core/app/model/defaults.py | 5 + .../app/model/hub/hub_user_settings.py | 6 +- .../core/openbb_core/app/model/obbject.py | 3 + .../openbb_core/app/model/system_settings.py | 2 +- .../openbb_core/app/service/hub_service.py | 24 +- .../core/openbb_core/app/static/account.py | 2 + .../core/openbb_core/app/static/container.py | 4 +- .../openbb_core/provider/abstract/provider.py | 8 +- .../openbb_core/provider/query_executor.py | 5 +- .../{ameribor_rates.py => ameribor.py} | 17 +- .../{cp.py => bond_indices.py} | 35 +- .../standard_models/commercial_paper.py | 46 + .../earnings_call_transcript.py | 2 +- .../provider/standard_models/estr_rates.py | 33 - .../standard_models/euro_short_term_rate.py | 67 + .../standard_models/federal_funds_rate.py | 75 + .../{hqm.py => high_quality_market.py} | 22 +- .../manufacturing_outlook_texas.py | 55 + .../{sofr_rates.py => mortgage_indices.py} | 27 +- .../standard_models/options_chains.py | 42 +- .../standard_models/options_snapshots.py | 75 + .../overnight_bank_funding_rate.py | 65 + ...rates.py => senior_loan_officer_survey.py} | 20 +- .../provider/standard_models/sofr.py | 65 + .../survey_of_economic_conditions_chicago.py | 57 + .../standard_models/university_of_michigan.py | 44 + openbb_platform/core/pyproject.toml | 2 +- .../tests/app/service/test_hub_service.py | 15 +- .../core/tests/app/static/test_container.py | 2 +- .../core/tests/app/test_command_runner.py | 12 +- .../extensions/commodity/poetry.lock | 8 +- .../extensions/commodity/pyproject.toml | 4 +- .../crypto/openbb_crypto/crypto_views.py | 17 + openbb_platform/extensions/crypto/poetry.lock | 8 +- .../extensions/crypto/pyproject.toml | 7 +- .../openbb_currency/currency_views.py | 17 + .../extensions/currency/poetry.lock | 8 +- .../extensions/currency/pyproject.toml | 7 +- .../integration/test_derivatives_api.py | 37 +- .../integration/test_derivatives_python.py | 34 +- .../options/options_router.py | 18 + .../extensions/derivatives/poetry.lock | 8 +- .../extensions/derivatives/pyproject.toml | 4 +- .../extensions/devtools/pyproject.toml | 2 +- .../extensions/econometrics/poetry.lock | 8 +- .../extensions/econometrics/pyproject.toml | 4 +- .../economy/integration/test_economy_api.py | 109 + .../integration/test_economy_python.py | 103 + .../economy/openbb_economy/economy_router.py | 4 +- .../economy/openbb_economy/economy_views.py | 307 + .../openbb_economy/survey/survey_router.py | 88 + .../extensions/economy/poetry.lock | 8 +- .../extensions/economy/pyproject.toml | 7 +- .../equity/openbb_equity/equity_views.py | 25 + openbb_platform/extensions/equity/poetry.lock | 8 +- .../extensions/equity/pyproject.toml | 7 +- .../extensions/etf/openbb_etf/etf_views.py | 84 + openbb_platform/extensions/etf/poetry.lock | 8 +- openbb_platform/extensions/etf/pyproject.toml | 7 +- .../integration/test_fixedincome_api.py | 156 +- .../integration/test_fixedincome_python.py | 150 +- .../corporate/corporate_router.py | 16 +- .../openbb_fixedincome/fixedincome_router.py | 71 +- .../openbb_fixedincome/fixedincome_views.py | 183 + .../openbb_fixedincome/rate/rate_router.py | 63 +- .../extensions/fixedincome/poetry.lock | 8 +- .../extensions/fixedincome/pyproject.toml | 7 +- .../index/openbb_index/index_views.py | 17 + openbb_platform/extensions/index/poetry.lock | 8 +- .../extensions/index/pyproject.toml | 7 +- openbb_platform/extensions/news/poetry.lock | 8 +- .../extensions/news/pyproject.toml | 4 +- .../extensions/quantitative/poetry.lock | 8 +- .../extensions/quantitative/pyproject.toml | 4 +- .../extensions/regulators/poetry.lock | 8 +- .../extensions/regulators/pyproject.toml | 4 +- .../openbb_technical/technical_views.py | 511 ++ .../extensions/technical/poetry.lock | 8 +- .../extensions/technical/pyproject.toml | 7 +- .../extensions/tests/utils/helpers.py | 6 +- .../tests/utils/integration_tests_testers.py | 2 + .../extensions/tests/utils/router_testers.py | 2 +- .../obbject_extensions/charting/README.md | 39 +- .../charting/openbb_charting/__init__.py | 560 +- .../charting/openbb_charting/builder.py | 53 - .../charting/openbb_charting/charting.py | 563 ++ .../openbb_charting/charting_router.py | 1446 --- .../{utils => charts}/__init__.py | 0 .../{utils => charts}/generic_charts.py | 11 +- .../{utils => charts}/helpers.py | 24 +- .../charts/price_historical.py | 314 + .../charts/price_performance.py | 106 + .../{utils => charts}/relative_rotation.py | 0 .../openbb_charting/core/plotly_ta/base.py | 1 + .../charting/tests/test_charting.py | 19 +- openbb_platform/openbb/assets/reference.json | 2765 +++++- .../openbb/package/__extensions__.py | 46 +- .../openbb/package/derivatives_options.py | 168 +- openbb_platform/openbb/package/economy.py | 36 +- .../openbb/package/equity_fundamental.py | 26 +- openbb_platform/openbb/package/fixedincome.py | 375 +- .../openbb/package/fixedincome_corporate.py | 132 +- .../openbb/package/fixedincome_government.py | 2 +- .../openbb/package/fixedincome_rate.py | 473 +- openbb_platform/poetry.lock | 510 +- .../openbb_alpha_vantage/__init__.py | 2 +- .../providers/alpha_vantage/poetry.lock | 8 +- .../providers/alpha_vantage/pyproject.toml | 4 +- .../providers/benzinga/poetry.lock | 8 +- .../providers/benzinga/pyproject.toml | 4 +- .../biztoc/openbb_biztoc/__init__.py | 2 +- .../biztoc/openbb_biztoc/utils/helpers.py | 13 +- openbb_platform/providers/biztoc/poetry.lock | 8 +- .../providers/biztoc/pyproject.toml | 4 +- .../cboe/openbb_cboe/models/futures_curve.py | 3 +- .../cboe/openbb_cboe/models/options_chains.py | 25 +- openbb_platform/providers/cboe/poetry.lock | 8 +- openbb_platform/providers/cboe/pyproject.toml | 4 +- .../models/currency_reference_rates.py | 5 +- .../ecb/openbb_ecb/models/yield_curve.py | 8 +- openbb_platform/providers/ecb/poetry.lock | 8 +- openbb_platform/providers/ecb/pyproject.toml | 4 +- .../openbb_econdb/models/country_profile.py | 3 +- .../models/economic_indicators.py | 17 +- .../openbb_econdb/models/yield_curve.py | 5 +- .../econdb/openbb_econdb/utils/helpers.py | 78 +- .../utils/indicator_countries.json | 2 +- .../openbb_econdb/utils/main_indicators.py | 9 +- .../openbb_econdb/utils/multipliers.json | 2 +- .../econdb/openbb_econdb/utils/scales.json | 2 +- .../utils/symbol_to_indicator.json | 2 +- .../econdb/openbb_econdb/utils/units.json | 2 +- openbb_platform/providers/econdb/poetry.lock | 8 +- .../providers/econdb/pyproject.toml | 4 +- .../openbb_federal_reserve/__init__.py | 12 +- .../models/central_bank_holdings.py | 91 +- .../models/fed_rates.py | 83 - .../models/federal_funds_rate.py | 139 + .../models/overnight_bank_funding_rate.py | 120 + .../openbb_federal_reserve/models/sofr.py | 107 + .../utils/ny_fed_api.py | 29 +- .../providers/federal_reserve/poetry.lock | 8 +- .../providers/federal_reserve/pyproject.toml | 4 +- .../test_federal_reserve_fed_fetcher.yaml | 53 - ...al_reserve_federal_funds_rate_fetcher.yaml | 92 + ...e_overnight_bank_funding_rate_fetcher.yaml | 63 + .../test_federal_reserve_sofr_fetcher.yaml | 64 + .../tests/test_federal_reserve_fetchers.py | 56 +- openbb_platform/providers/finra/poetry.lock | 8 +- .../providers/finra/pyproject.toml | 4 +- openbb_platform/providers/finviz/poetry.lock | 12 +- .../providers/finviz/pyproject.toml | 4 +- .../providers/fmp/openbb_fmp/__init__.py | 2 +- .../models/earnings_call_transcript.py | 41 +- .../models/forward_ebitda_estimates.py | 4 +- .../models/forward_eps_estimates.py | 4 +- .../models/price_target_consensus.py | 3 +- .../providers/fmp/openbb_fmp/utils/helpers.py | 5 +- openbb_platform/providers/fmp/poetry.lock | 8 +- openbb_platform/providers/fmp/pyproject.toml | 4 +- .../providers/fred/openbb_fred/__init__.py | 46 +- .../fred/openbb_fred/models/ameribor.py | 227 + .../fred/openbb_fred/models/ameribor_rates.py | 92 - .../fred/openbb_fred/models/bond_indices.py | 604 ++ .../openbb_fred/models/commercial_paper.py | 372 + .../providers/fred/openbb_fred/models/cp.py | 87 - .../fred/openbb_fred/models/estr_rates.py | 81 - .../models/euro_short_term_rate.py | 194 + .../fred/openbb_fred/models/fed_rates.py | 80 - .../openbb_fred/models/federal_funds_rate.py | 203 + .../openbb_fred/models/high_quality_market.py | 143 + .../providers/fred/openbb_fred/models/hqm.py | 109 - .../models/manufacturing_outlook_texas.py | 431 + .../openbb_fred/models/mortgage_indices.py | 312 + .../models/overnight_bank_funding_rate.py | 196 + .../fred/openbb_fred/models/regional.py | 8 +- .../models/senior_loan_officer_survey.py | 142 + .../providers/fred/openbb_fred/models/sofr.py | 216 + .../fred/openbb_fred/models/sofr_rates.py | 71 - .../providers/fred/openbb_fred/models/spot.py | 3 +- .../survey_of_economic_conditions_chicago.py | 159 + .../models/university_of_michigan.py | 154 + .../fred/openbb_fred/models/yield_curve.py | 17 +- .../openbb_fred/utils/commercial_paper.csv | 241 - .../fred/openbb_fred/utils/fred_base.py | 5 +- .../fred/openbb_fred/utils/fred_helpers.py | 16 +- openbb_platform/providers/fred/poetry.lock | 8 +- openbb_platform/providers/fred/pyproject.toml | 4 +- .../test_fred_ameribor_fetcher.yaml | 130 + .../test_fred_bond_indices_fetcher.yaml | 168 + .../test_fred_commercial_paper_fetcher.yaml | 109 +- ...est_fred_euro_short_term_rate_fetcher.yaml | 785 ++ .../test_fred_federal_funds_rate_fetcher.yaml | 146 + ...quality_market_corporate_bond_fetcher.yaml | 609 +- ...d_manufacturing_outlook_texas_fetcher.yaml | 853 ++ .../test_fred_mortgage_indices_fetcher.yaml | 105 + ...d_overnight_bank_funding_rate_fetcher.yaml | 684 ++ ...ed_senior_loan_officer_survey_fetcher.yaml | 208 + .../test_fred_sofr_fetcher.yaml | 1030 +++ ...f_economic_conditions_chicago_fetcher.yaml | 1137 +++ ...t_fred_university_of_michigan_fetcher.yaml | 224 + .../test_fredameribor_fetcher.yaml | 538 -- .../test_fredestr_fetcher.yaml | 179 - .../test_fredfed_fetcher.yaml | 597 -- .../test_fredsofr_fetcher.yaml | 212 - .../fred/tests/test_fred_fetchers.py | 182 +- .../models/treasury_prices.py | 7 +- .../providers/government_us/poetry.lock | 8 +- .../providers/government_us/pyproject.toml | 4 +- .../intrinio/openbb_intrinio/__init__.py | 4 +- .../openbb_intrinio/models/cash_flow.py | 6 +- .../openbb_intrinio/models/company_news.py | 7 +- .../models/equity_historical.py | 3 +- .../openbb_intrinio/models/etf_holdings.py | 6 +- .../openbb_intrinio/models/etf_search.py | 5 +- .../models/financial_ratios.py | 6 +- .../models/forward_ebitda_estimates.py | 3 +- .../models/forward_eps_estimates.py | 3 +- .../models/forward_pe_estimates.py | 3 +- .../models/forward_sales_estimates.py | 3 +- .../models/income_statement.py | 6 +- .../models/market_snapshots.py | 9 +- .../openbb_intrinio/models/options_chains.py | 255 +- .../models/options_snapshots.py | 329 + .../openbb_intrinio/models/options_unusual.py | 4 +- .../models/price_target_consensus.py | 3 +- .../models/reported_financials.py | 3 +- .../intrinio/openbb_intrinio/utils/helpers.py | 5 +- .../providers/intrinio/poetry.lock | 8 +- .../providers/intrinio/pyproject.toml | 4 +- .../test_intrinio_options_chains_fetcher.yaml | 7957 ++++++++++------- .../intrinio/tests/test_intrinio_fetchers.py | 11 + .../nasdaq/openbb_nasdaq/__init__.py | 2 +- .../openbb_nasdaq/models/equity_search.py | 3 +- .../nasdaq/openbb_nasdaq/utils/helpers.py | 5 +- openbb_platform/providers/nasdaq/poetry.lock | 8 +- .../providers/nasdaq/pyproject.toml | 4 +- .../models/consumer_price_index.py | 13 +- .../oecd/openbb_oecd/models/gdp_forecast.py | 7 +- .../openbb_oecd/models/house_price_index.py | 12 +- .../models/immediate_interest_rate.py | 12 +- .../openbb_oecd/models/share_price_index.py | 12 +- .../oecd/openbb_oecd/models/unemployment.py | 17 +- .../oecd/openbb_oecd/utils/helpers.py | 13 +- openbb_platform/providers/oecd/poetry.lock | 8 +- openbb_platform/providers/oecd/pyproject.toml | 4 +- .../polygon/openbb_polygon/__init__.py | 2 +- .../openbb_polygon/models/currency_pairs.py | 3 +- .../models/currency_snapshots.py | 6 +- .../polygon/openbb_polygon/utils/helpers.py | 3 +- openbb_platform/providers/polygon/poetry.lock | 8 +- .../providers/polygon/pyproject.toml | 4 +- .../sec/openbb_sec/models/company_filings.py | 5 +- .../sec/openbb_sec/models/etf_holdings.py | 4 +- .../sec/openbb_sec/models/schema_files.py | 3 +- .../sec/openbb_sec/models/symbol_map.py | 3 +- .../providers/sec/openbb_sec/utils/frames.py | 15 +- .../providers/sec/openbb_sec/utils/helpers.py | 7 +- .../sec/openbb_sec/utils/parse_13f.py | 19 +- openbb_platform/providers/sec/poetry.lock | 12 +- openbb_platform/providers/sec/pyproject.toml | 4 +- .../models/calendar_earnings.py | 3 +- .../models/forward_eps_estimates.py | 15 +- .../models/forward_sales_estimates.py | 11 +- .../providers/seeking_alpha/poetry.lock | 8 +- .../providers/seeking_alpha/pyproject.toml | 4 +- .../providers/stockgrid/poetry.lock | 8 +- .../providers/stockgrid/pyproject.toml | 4 +- .../tiingo/openbb_tiingo/utils/helpers.py | 5 +- openbb_platform/providers/tiingo/poetry.lock | 8 +- .../providers/tiingo/pyproject.toml | 4 +- .../tmx/openbb_tmx/models/company_news.py | 3 +- .../openbb_tmx/models/equity_historical.py | 3 +- .../openbb_tmx/models/index_constituents.py | 5 +- .../tmx/openbb_tmx/models/options_chains.py | 14 +- .../models/price_target_consensus.py | 5 +- .../providers/tmx/openbb_tmx/utils/helpers.py | 19 +- openbb_platform/providers/tmx/poetry.lock | 8 +- openbb_platform/providers/tmx/pyproject.toml | 4 +- .../test_tmx_options_chains_fetcher.yaml | 2541 +++--- .../tradier/openbb_tradier/__init__.py | 2 +- .../models/equity_historical.py | 3 +- .../openbb_tradier/models/equity_quote.py | 3 +- .../openbb_tradier/models/equity_search.py | 7 +- .../openbb_tradier/models/options_chains.py | 75 +- openbb_platform/providers/tradier/poetry.lock | 8 +- .../providers/tradier/pyproject.toml | 4 +- ...er_derivatives_options_chains_fetcher.yaml | 4677 +++++----- .../models/economic_calendar.py | 5 +- .../utils/url_generator.py | 2 + .../providers/tradingeconomics/poetry.lock | 8 +- .../providers/tradingeconomics/pyproject.toml | 4 +- openbb_platform/providers/wsj/poetry.lock | 8 +- openbb_platform/providers/wsj/pyproject.toml | 4 +- .../openbb_yfinance/models/company_news.py | 1 + .../models/crypto_historical.py | 8 +- .../models/futures_historical.py | 8 +- .../models/historical_dividends.py | 7 +- .../openbb_yfinance/models/key_executives.py | 5 +- .../openbb_yfinance/models/options_chains.py | 32 +- .../models/price_target_consensus.py | 3 +- .../providers/yfinance/poetry.lock | 14 +- .../providers/yfinance/pyproject.toml | 4 +- openbb_platform/pyproject.toml | 82 +- .../platform/developer_guide/extensions.mdx | 311 + .../platform/developer_guide/index.mdx | 40 +- website/content/platform/installation.mdx | 10 +- .../platform/user_guides/basic_syntax.mdx | 42 +- 336 files changed, 27959 insertions(+), 14632 deletions(-) rename build/docker/{api.dockerfile => platform.dockerfile} (95%) create mode 100644 cli/openbb_cli/utils/utils.py rename openbb_platform/core/openbb_core/provider/standard_models/{ameribor_rates.py => ameribor.py} (59%) rename openbb_platform/core/openbb_core/provider/standard_models/{cp.py => bond_indices.py} (54%) create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/commercial_paper.py delete mode 100644 openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py rename openbb_platform/core/openbb_core/provider/standard_models/{hqm.py => high_quality_market.py} (54%) create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/manufacturing_outlook_texas.py rename openbb_platform/core/openbb_core/provider/standard_models/{sofr_rates.py => mortgage_indices.py} (50%) create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/options_snapshots.py create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/overnight_bank_funding_rate.py rename openbb_platform/core/openbb_core/provider/standard_models/{fed_rates.py => senior_loan_officer_survey.py} (54%) create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/sofr.py create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/survey_of_economic_conditions_chicago.py create mode 100644 openbb_platform/core/openbb_core/provider/standard_models/university_of_michigan.py create mode 100644 openbb_platform/extensions/crypto/openbb_crypto/crypto_views.py create mode 100644 openbb_platform/extensions/currency/openbb_currency/currency_views.py create mode 100644 openbb_platform/extensions/economy/openbb_economy/economy_views.py create mode 100644 openbb_platform/extensions/economy/openbb_economy/survey/survey_router.py create mode 100644 openbb_platform/extensions/equity/openbb_equity/equity_views.py create mode 100644 openbb_platform/extensions/etf/openbb_etf/etf_views.py create mode 100644 openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_views.py create mode 100644 openbb_platform/extensions/index/openbb_index/index_views.py create mode 100644 openbb_platform/extensions/technical/openbb_technical/technical_views.py delete mode 100644 openbb_platform/obbject_extensions/charting/openbb_charting/builder.py create mode 100644 openbb_platform/obbject_extensions/charting/openbb_charting/charting.py delete mode 100644 openbb_platform/obbject_extensions/charting/openbb_charting/charting_router.py rename openbb_platform/obbject_extensions/charting/openbb_charting/{utils => charts}/__init__.py (100%) rename openbb_platform/obbject_extensions/charting/openbb_charting/{utils => charts}/generic_charts.py (99%) rename openbb_platform/obbject_extensions/charting/openbb_charting/{utils => charts}/helpers.py (83%) create mode 100644 openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_historical.py create mode 100644 openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_performance.py rename openbb_platform/obbject_extensions/charting/openbb_charting/{utils => charts}/relative_rotation.py (100%) delete mode 100644 openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/fed_rates.py create mode 100644 openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/federal_funds_rate.py create mode 100644 openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/overnight_bank_funding_rate.py create mode 100644 openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/sofr.py delete mode 100644 openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_fed_fetcher.yaml create mode 100644 openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_federal_funds_rate_fetcher.yaml create mode 100644 openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_overnight_bank_funding_rate_fetcher.yaml create mode 100644 openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_sofr_fetcher.yaml create mode 100644 openbb_platform/providers/fred/openbb_fred/models/ameribor.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/models/ameribor_rates.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/bond_indices.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/commercial_paper.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/models/cp.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/models/estr_rates.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/euro_short_term_rate.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/models/fed_rates.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/federal_funds_rate.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/models/hqm.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/manufacturing_outlook_texas.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/mortgage_indices.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/overnight_bank_funding_rate.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/senior_loan_officer_survey.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/sofr.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/models/sofr_rates.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/survey_of_economic_conditions_chicago.py create mode 100644 openbb_platform/providers/fred/openbb_fred/models/university_of_michigan.py delete mode 100644 openbb_platform/providers/fred/openbb_fred/utils/commercial_paper.csv create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_ameribor_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_bond_indices_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_euro_short_term_rate_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_federal_funds_rate_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_manufacturing_outlook_texas_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_mortgage_indices_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_overnight_bank_funding_rate_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_senior_loan_officer_survey_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_sofr_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_survey_of_economic_conditions_chicago_fetcher.yaml create mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_university_of_michigan_fetcher.yaml delete mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredameribor_fetcher.yaml delete mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredestr_fetcher.yaml delete mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredfed_fetcher.yaml delete mode 100644 openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredsofr_fetcher.yaml create mode 100644 openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py create mode 100644 website/content/platform/developer_guide/extensions.mdx diff --git a/.github/workflows/deploy-gh-pages.yml b/.github/workflows/deploy-gh-pages.yml index 51116d012fa..bde7ca3ca0b 100644 --- a/.github/workflows/deploy-gh-pages.yml +++ b/.github/workflows/deploy-gh-pages.yml @@ -50,9 +50,10 @@ jobs: - name: Generate Platform Markdown run: | - poetry install -C openbb_platform --no-interaction -E all + poetry install -C openbb_platform --no-interaction source openbb_platform/.venv/bin/activate pip install -U poetry + pip install toml python openbb_platform/dev_install.py -e all python -c "import openbb; openbb.build()" python website/generate_platform_v4_markdown.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0b0a2174e4d..651aae6c924 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,7 @@ repos: entry: codespell args: [ - "--ignore-words-list=VAI,MIS,shs,gard,te,commun,parana,ro,zar,vie,hel,jewl,zlot,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,statics,ket,toke,certi,buidl,ot,fo", + "--ignore-words=.codespell.ignore", "--quiet-level=2", "--skip=./**/tests/**,./**/test_*.py,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,build/pyinstaller/*,./website/config.toml", "-x=.github/workflows/general-linting.yml" diff --git a/assets/extensions/provider.json b/assets/extensions/provider.json index 27ff00b11ba..04fa3915039 100644 --- a/assets/extensions/provider.json +++ b/assets/extensions/provider.json @@ -7,9 +7,9 @@ "credentials": [ "alpha_vantage_api_key" ], - "v3Credentials": [ - "API_KEY_ALPHAVANTAGE" - ], + "deprecatedCredentials": { + "API_KEY_ALPHAVANTAGE": "alpha_vantage_api_key" + }, "website": "https://www.alphavantage.co", "instructions": "Go to: https://www.alphavantage.co/support/#api-key\n\n![AlphaVantage](https://user-images.githubusercontent.com/46355364/207820936-46c2ba00-81ff-4cd3-98a4-4fa44412996f.png)\n\nFill out the form, pass Captcha, and click on, \"GET FREE API KEY\"." }, @@ -31,9 +31,9 @@ "credentials": [ "biztoc_api_key" ], - "v3Credentials": [ - "API_BIZTOC_TOKEN" - ], + "deprecatedCredentials": { + "API_BIZTOC_TOKEN": "biztoc_api_key" + }, "website": "https://api.biztoc.com", "instructions": "The BizToc API is hosted on RapidAPI. To set up, go to: https://rapidapi.com/thma/api/biztoc.\n\n![biztoc0](https://github.com/marban/OpenBBTerminal/assets/18151143/04cdd423-f65e-4ad8-ad5a-4a59b0f5ddda)\n\nIn the top right, select 'Sign Up'. After answering some questions, you will be prompted to select one of their plans.\n\n![biztoc1](https://github.com/marban/OpenBBTerminal/assets/18151143/9f3b72ea-ded7-48c5-aa33-bec5c0de8422)\n\nAfter signing up, navigate back to https://rapidapi.com/thma/api/biztoc. If you are logged in, you will see a header called X-RapidAPI-Key.\n\n![biztoc2](https://github.com/marban/OpenBBTerminal/assets/18151143/0f3b6c91-07e0-447a-90cd-a9e23522929f)" }, @@ -95,9 +95,9 @@ "credentials": [ "fmp_api_key" ], - "v3Credentials": [ - "API_KEY_FINANCIALMODELINGPREP" - ], + "deprecatedCredentials": { + "API_KEY_FINANCIALMODELINGPREP": "fmp_api_key" + }, "website": "https://financialmodelingprep.com", "instructions": "Go to: https://site.financialmodelingprep.com/developer/docs\n\n![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207821920-64553d05-d461-4984-b0fe-be0368c71186.png)\n\nClick on, \"Get my API KEY here\", and sign up for a free account.\n\n![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207822184-a723092e-ef42-4f87-8c55-db150f09741b.png)\n\nWith an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the \"Dashboard\" button which will show the API key.\n\n![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207823170-dd8191db-e125-44e5-b4f3-2df0e115c91d.png)" }, @@ -109,9 +109,9 @@ "credentials": [ "fred_api_key" ], - "v3Credentials": [ - "API_FRED_KEY" - ], + "deprecatedCredentials": { + "API_FRED_KEY": "fred_api_key" + }, "website": "https://fred.stlouisfed.org", "instructions": "Go to: https://fred.stlouisfed.org\n\n![FRED](https://user-images.githubusercontent.com/46355364/207827137-d143ba4c-72cb-467d-a7f4-5cc27c597aec.png)\n\nClick on, \"My Account\", create a new account or sign in with Google:\n\n![FRED](https://user-images.githubusercontent.com/46355364/207827011-65cdd501-27e3-436f-bd9d-b0d8381d46a7.png)\n\nAfter completing the sign-up, go to \"My Account\", and select \"API Keys\". Then, click on, \"Request API Key\".\n\n![FRED](https://user-images.githubusercontent.com/46355364/207827577-c869f989-4ef4-4949-ab57-6f3931f2ae9d.png)\n\nFill in the box for information about the use-case for FRED, and by clicking, \"Request API key\", at the bottom of the page, the API key will be issued.\n\n![FRED](https://user-images.githubusercontent.com/46355364/207828032-0a32d3b8-1378-4db2-9064-aa1eb2111632.png)" }, @@ -131,9 +131,9 @@ "credentials": [ "intrinio_api_key" ], - "v3Credentials": [ - "API_INTRINIO_KEY" - ], + "deprecatedCredentials": { + "API_INTRINIO_KEY": "intrinio_api_key" + }, "website": "https://intrinio.com", "instructions": "Go to: https://intrinio.com/starter-plan\n\n![Intrinio](https://user-images.githubusercontent.com/85772166/219207556-fcfee614-59f1-46ae-bff4-c63dd2f6991d.png)\n\nAn API key will be issued with a subscription. Find the token value within the account dashboard." }, @@ -145,9 +145,9 @@ "credentials": [ "nasdaq_api_key" ], - "v3Credentials": [ - "API_KEY_QUANDL" - ], + "deprecatedCredentials": { + "API_KEY_QUANDL": "nasdaq_api_key" + }, "website": "https://data.nasdaq.com", "instructions": "Go to: https://www.quandl.com\n\n![Quandl](https://user-images.githubusercontent.com/46355364/207823899-208a3952-f557-4b73-aee6-64ac00faedb7.png)\n\nClick on, \"Sign Up\", and register a new account.\n\n![Quandl](https://user-images.githubusercontent.com/46355364/207824214-4b6b2b74-e709-4ed4-adf2-14803e6f3568.png)\n\nFollow the sign-up instructions, and upon completion the API key will be assigned.\n\n![Quandl](https://user-images.githubusercontent.com/46355364/207824664-3c82befb-9c69-42df-8a82-510d85c19a97.png)" }, @@ -167,9 +167,9 @@ "credentials": [ "polygon_api_key" ], - "v3Credentials": [ - "API_POLYGON_KEY" - ], + "deprecatedCredentials": { + "API_POLYGON_KEY": "polygon_api_key" + }, "website": "https://polygon.io", "instructions": "Go to: https://polygon.io\n\n![Polygon](https://user-images.githubusercontent.com/46355364/207825623-fcd7f0a3-131a-4294-808c-754c13e38e2a.png)\n\nClick on, \"Get your Free API Key\".\n\n![Polygon](https://user-images.githubusercontent.com/46355364/207825952-ca5540ec-6ed2-4cef-a0ed-bb50b813932c.png)\n\nAfter signing up, the API Key is found at the bottom of the account dashboard page.\n\n![Polygon](https://user-images.githubusercontent.com/46355364/207826258-b1f318fa-fd9c-41d9-bf5c-fe16722e6601.png)" }, @@ -224,9 +224,9 @@ "tradier_api_key", "tradier_account_type" ], - "v3Credentials": [ - "API_TRADIER_TOKEN" - ], + "deprecatedCredentials": { + "API_TRADIER_TOKEN": "tradier_api_key" + }, "website": "https://tradier.com", "instructions": "Go to: https://documentation.tradier.com\n\n![Tradier](https://user-images.githubusercontent.com/46355364/207829178-a8bba770-f2ea-4480-b28e-efd81cf30980.png)\n\nClick on, \"Open Account\", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token." }, diff --git a/assets/scripts/generate_extension_data.py b/assets/scripts/generate_extension_data.py index 55bb35d9545..2962a70ca7b 100644 --- a/assets/scripts/generate_extension_data.py +++ b/assets/scripts/generate_extension_data.py @@ -28,6 +28,10 @@ def get_packages(path: Path, plugin_key: str) -> Dict[str, Any]: packages: Dict[str, Any] = {} for f in folders: pyproject = PyProjectTOML(Path(f, "pyproject.toml")) + + if not pyproject.data: + continue + poetry = pyproject.data["tool"]["poetry"] name = poetry["name"] plugin = poetry.get("plugins", {}).get(plugin_key) @@ -47,7 +51,7 @@ def to_camel(string: str): return components[0] + "".join(x.title() for x in components[1:]) -def createItem(package_name: str, obj: object, obj_attrs: List[str]) -> Dict[str, Any]: +def create_item(package_name: str, obj: object, obj_attrs: List[str]) -> Dict[str, Any]: """Create dictionary item from object attributes.""" pkg_spec = OPENBB_PLATFORM_TOML.data["tool"]["poetry"]["dependencies"].get( package_name @@ -68,7 +72,7 @@ def generate_provider_extensions() -> None: "repr_name", "description", "credentials", - "v3_credentials", + "deprecated_credentials", "website", "instructions", ] @@ -80,7 +84,7 @@ def generate_provider_extensions() -> None: file, obj = file_obj[0], file_obj[1] module = import_module(file) provider_obj = getattr(module, obj) - data.append(createItem(pkg_name, provider_obj, obj_attrs)) + data.append(create_item(pkg_name, provider_obj, obj_attrs)) write("provider", data) @@ -96,7 +100,7 @@ def generate_router_extensions() -> None: file, obj = file_obj[0], file_obj[1] module = import_module(file) router_obj = getattr(module, obj) - data.append(createItem(pkg_name, router_obj, obj_attrs)) + data.append(create_item(pkg_name, router_obj, obj_attrs)) write("router", data) @@ -112,7 +116,7 @@ def generate_obbject_extensions() -> None: file, obj = file_obj[0], file_obj[1] module = import_module(file) ext_obj = getattr(module, obj) - data.append(createItem(pkg_name, ext_obj, obj_attrs)) + data.append(create_item(pkg_name, ext_obj, obj_attrs)) write("obbject", data) diff --git a/build/docker/api.dockerfile b/build/docker/platform.dockerfile similarity index 95% rename from build/docker/api.dockerfile rename to build/docker/platform.dockerfile index e8b7ac7e643..3bbfb2ae436 100644 --- a/build/docker/api.dockerfile +++ b/build/docker/platform.dockerfile @@ -34,7 +34,7 @@ COPY ./openbb_platform ./openbb_platform - # Install the SDK + # Install the Platform RUN pip install /openbb/openbb_platform[all] RUN pip install openbb-devtools @@ -43,5 +43,5 @@ COPY --from=builder /usr/local /usr/local - # Specify the command to run + # Launch the API CMD ["uvicorn", "openbb_core.api.rest_api:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] diff --git a/build/pypi/openbb_platform/PUBLISH.md b/build/pypi/openbb_platform/PUBLISH.md index 6a55963b245..3ff69584bed 100644 --- a/build/pypi/openbb_platform/PUBLISH.md +++ b/build/pypi/openbb_platform/PUBLISH.md @@ -7,6 +7,15 @@ > A `release` branch for a particular package should only cater to the changes for that package directory. For e.g. the `release/openbb-core-2.0.0` branch should only contain changes for the `openbb-core` package i.e. in the `openbb_platform/core` directory. +### Flow to display only files changes during release cycle in the `release/...` -> `main` PR + +1. Merge main into develop before release branch exists, solve any conflict +2. In the branch `release/…` (before or after publishing) +3. `git merge main -X ours` (ignore the changes, we brought them in 1.) +4. `git commit -m "Merge branch 'main' into release/4.2.2"` (empty commit) + +### Pre-release checklist + 1. Open a PR with the changes to be published in the format `release/` (for e.g. `release/4.0.0` ). For a particular package use the format `release/-` (for e.g. `release/openbb-core-1.0.1`). 2. Ensure all the CI workflows pass. 3. Ensure all unit tests pass: `pytest openbb_platform -m "not integration"` @@ -26,18 +35,28 @@ 1. For the core package run: `python build/pypi/openbb_platform/publish.py --core` 2. For the extension packages run: `python build/pypi/openbb_platform/publish.py --extensions` 3. For the `openbb` package - **which requires manual publishing** - do the following - 3.1. Bump the dependency package versions + + 3.1. Bump the `openbb` package version and the extension versions on `openbb_platform/pyproject.toml` to the latest version. + + > [!TIP] + > Consider using the poetry plugin `up` for updating the extensions to the latest version: + > 1. `poetry self add poetry-plugin-up` + > 2. `poetry up --latest` > [!WARNING] > Create a new environment before proceeding. > Make sure that only required extensions are installed 3.2. Run `pip install -e .` from `openbb_platform` + 3.3. Re-build the static assets that are bundled with the package: `python -c "import openbb; openbb.build()"` - Run `python -c "import openbb"` after building the static to check that no additional static is being built. - Run any command to smoke test if the static assets are being built correctly. - 3.4. Run unit tests to validate the existence of deprecated endpoints + + 3.4. Run unit tests to validate the existence of deprecated endpoints (or watch this through GitHub Actions) + 3.5. Run `poetry publish --build` from `openbb_platform` + 3.6. Run `poetry lock` from `openbb_platform` > [!TIP] @@ -58,3 +77,14 @@ 4. Open a new PR with the `release/-` branch pointing to the `develop` branch. 5. Merge the `release/-` branch to the `develop` branch. 6. If any bugs are encountered, create a new branch - `hotfix` for `main` and `bugfix` for `develop` and merge them accordingly. + +### Generate the changelog + +1. Run the changelog automation by using the "release_drafter" GA and passing the number of the previous Release. +2. Edit and make the changelog live on the repository. +3. Paste it in the platform-release-changelog Slack channel. + +### Publish the CLI + +1. Bump `openbb` dependency on `cli/pyproject.toml` to the latest version. +2. Run `poetry publish --build` from `cli` \ No newline at end of file diff --git a/cli/openbb_cli/argparse_translator/obbject_registry.py b/cli/openbb_cli/argparse_translator/obbject_registry.py index 372254b4b54..2a802e94b9e 100644 --- a/cli/openbb_cli/argparse_translator/obbject_registry.py +++ b/cli/openbb_cli/argparse_translator/obbject_registry.py @@ -1,7 +1,7 @@ """Registry for OBBjects.""" import json -from typing import Dict, List +from typing import Dict, List, Optional, Union from openbb_core.app.model.obbject import OBBject @@ -29,11 +29,32 @@ class Registry: return True return False - def get(self, idx: int) -> OBBject: + def get(self, arg: Union[int, str]) -> Optional[OBBject]: + """Return the obbject with index or key.""" + if isinstance(arg, int): + return self._get_by_index(arg) + if isinstance(arg, str): + return self._get_by_key(arg) + + raise ValueError("Couldn't get the `OBBject` with the provided argument.") + + def _get_by_key(self, key: str) -> Optional[OBBject]: + """Return the obbject with key.""" + for obbject in self._obbjects: + if obbject.extra.get("register_key", "") == key: + return obbject + return None + + def _get_by_index(self, idx: int) -> Optional[OBBject]: """Return the obbject at index idx.""" # the list should work as a stack # i.e., the last element needs to be accessed by idx=0 and so on reversed_list = list(reversed(self._obbjects)) + + # check if the index is out of bounds + if idx >= len(reversed_list): + return None + return reversed_list[idx] def remove(self, idx: int = -1): @@ -46,22 +67,24 @@ class Registry: @property def all(self) -> Dict[int, Dict]: - """Return all obbjects in the registry""" + """Return all obbjects in the registry.""" def _handle_standard_params(obbject: OBBject) -> str: - """Handle standard params for obbjects""" + """Handle standard params for obbjects.""" standard_params_json = "" - std_params = obbject._standard_params # pylint: disable=protected-access - if hasattr(std_params, "__dict__"): + std_params = getattr( + obbject, "_standard_params", {} + ) # pylint: disable=protected-access + if std_params: standard_params = { - k: str(v)[:30] for k, v in std_params.__dict__.items() if v + k: str(v)[:30] for k, v in std_params.items() if v and k != "data" } standard_params_json = json.dumps(standard_params) return standard_params_json def _handle_data_repr(obbject: OBBject) -> str: - """Handle data representation for obbjects""" + """Handle data representation for obbjects.""" data_repr = "" if hasattr(obbject, "results") and obbject.results: data_schema = ( @@ -84,11 +107,21 @@ class Registry: "standard params": _handle_standard_params(obbject), "data": _handle_data_repr(obbject), "command": obbject.extra.get("command", ""), + "key": obbject.extra.get("register_key", ""), } return obbjects @property def obbjects(self) -> List[OBBject]: - """Return all obbjects in the registry""" + """Return all obbjects in the registry.""" return self._obbjects + + @property + def obbject_keys(self) -> List[str]: + """Return all obbject keys in the registry.""" + return [ + obbject.extra["register_key"] + for obbject in self._obbjects + if "register_key" in obbject.extra + ] diff --git a/cli/openbb_cli/argparse_translator/reference_processor.py b/cli/openbb_cli/argparse_translator/reference_processor.py index 53cba266cf5..0ba6fef1dd3 100644 --- a/cli/openbb_cli/argparse_translator/reference_processor.py +++ b/cli/openbb_cli/argparse_translator/reference_processor.py @@ -1,8 +1,13 @@ """Module for the ReferenceToArgumentsProcessor class.""" +# `ForwardRef`needs to be imported because the usage of `eval()`, +# which creates a ForwardRef +# which would raise a not defined error if it's not imported here. +# pylint: disable=unused-import from typing import ( Any, Dict, + ForwardRef, # noqa: F401 List, Literal, Optional, diff --git a/cli/openbb_cli/argparse_translator/utils.py b/cli/openbb_cli/argparse_translator/utils.py index 20b2de27178..aebba54d23e 100644 --- a/cli/openbb_cli/argparse_translator/utils.py +++ b/cli/openbb_cli/argparse_translator/utils.py @@ -59,9 +59,14 @@ def get_argument_optional_choices(parser: ArgumentParser, argument_name: str) -> """Get the optional_choices attribute of an argument from an ArgumentParser.""" for action in parser._actions: # pylint: disable=protected-access opts = action.option_strings - if (opts and opts[0] == argument_name) or action.dest == argument_name: - if hasattr(action, "optional_choices"): - return action.optional_choices + if ( + (opts and opts[0] == argument_name) + or action.dest == argument_name + and hasattr(action, "optional_choices") + ): + return ( + action.optional_choices # type: ignore[attr-defined] # this is a custom attribute + ) return False diff --git a/cli/openbb_cli/cli.py b/cli/openbb_cli/cli.py index 1937a05d37b..f39b7fdd2aa 100644 --- a/cli/openbb_cli/cli.py +++ b/cli/openbb_cli/cli.py @@ -2,6 +2,8 @@ import sys +from openbb_cli.utils.utils import change_logging_sub_app, reset_logging_sub_app + def main(): """Use the main entry point for the OpenBB Platform CLI.""" @@ -20,4 +22,10 @@ def main(): if __name__ == "__main__": - main() + initial_logging_sub_app = change_logging_sub_app() + try: + main() + except Exception: + pass + finally: + reset_logging_sub_app(initial_logging_sub_app) diff --git a/cli/openbb_cli/controllers/base_controller.py b/cli/openbb_cli/controllers/base_controller.py index 2aa1ef0c633..91a353f8b60 100644 --- a/cli/openbb_cli/controllers/base_controller.py +++ b/cli/openbb_cli/controllers/base_controller.py @@ -24,6 +24,7 @@ from openbb_cli.controllers.utils import ( print_rich_table, remove_file, system_clear, + validate_register_key, ) from openbb_cli.session import Session from prompt_toolkit.formatted_text import HTML @@ -138,27 +139,10 @@ class BaseController(metaclass=ABCMeta): def load_class(self, class_ins, *args, **kwargs): """Check for an existing instance of the controller before creating a new one.""" - settings = session.settings self.save_class() arguments = len(args) + len(kwargs) - # Due to the 'arguments == 1' condition, we actually NEVER load a class - # that has arguments (The 1 argument corresponds to self.queue) - # Advantage: If the user changes something on one controller and then goes to the - # controller below, it will create such class from scratch bringing all new variables - # in and considering latest changes. - # Disadvantage: If the user goes on a controller below and we have been there before - # it will not load that previous class, but create a new one from scratch. - # SCENARIO: If the user is in stocks and does load AAPL/ta the TA menu will get AAPL, - # and if then the user goes back to the stocks menu using .. that menu will have AAPL - # Now, if "arguments == 1" condition exists, if the user does "load TSLA" and then - # goes into "TA", the "TSLA" ticker will appear. If that condition doesn't exist - # the previous class will be loaded and even if the user changes the ticker on - # the stocks context it will not impact the one of TA menu - unless changes are done. - if ( - class_ins.PATH in controllers - and arguments == 1 - and settings.REMEMBER_CONTEXTS - ): + + if class_ins.PATH in controllers and arguments == 1: old_class = controllers[class_ins.PATH] old_class.queue = self.queue return old_class.menu() @@ -166,8 +150,7 @@ class BaseController(metaclass=ABCMeta): def save_class(self) -> None: """Save the current instance of the class to be loaded later.""" - if session.settings.REMEMBER_CONTEXTS: - controllers[self.PATH] = self + controllers[self.PATH] = self def custom_reset(self) -> List[str]: """Implement custom reset. @@ -646,19 +629,77 @@ class BaseController(metaclass=ABCMeta): "'OBBjects' where all execution results are stored. " "It is organized as a stack, with the most recent result at index 0.", ) + parser.add_argument("--index", dest="index", help="Index of the result.") + parser.add_argument("--key", dest="key", help="Key of the result.") + parser.add_argument( + "--chart", action="store_true", dest="chart", help="Display chart." + ) + parser.add_argument( + "--export", dest="export", help="Export data.", nargs="+", default=None + ) + ns_parser = self.parse_simple_args(parser, other_args) if ns_parser: - results = session.obbject_registry.all - if results: - df = pd.DataFrame.from_dict(results, orient="index") - print_rich_table( - df, - show_index=True, - index_name="stack index", - title="OBBject Results", - ) - else: - session.console.print("[info]No results found.[/info]") + if not ns_parser.index and not ns_parser.key: + results = session.obbject_registry.all + if results: + df = pd.DataFrame.from_dict(results, orient="index") + print_rich_table( + df, + show_index=True, + index_name="stack index", + title="OBBject Results", + ) + else: + session.console.print("[info]No results found.[/info]") + elif ns_parser.index: + try: + index = int(ns_parser.index) + obbject = session.obbject_registry.get(index) + if obbject: + if ns_parser.chart and obbject.chart: + obbject.show() + else: + title = obbject.extra.get("command", "") + df = obbject.to_dataframe() + print_rich_table( + df=df, + show_index=True, + title=title, + export=ns_parser.export, + ) + if ns_parser.chart and not obbject.chart: + session.console.print( + "[info]No chart available.[/info]" + ) + else: + session.console.print( + f"[info]No result found at index {index}.[/info]" + ) + except ValueError: + session.console.print( + f"[red]Index must be an integer, not '{ns_parser.index}'.[/red]" + ) + elif ns_parser.key: + obbject = session.obbject_registry.get(ns_parser.key) + if obbject: + if ns_parser.chart and obbject.chart: + obbject.show() + else: + title = obbject.extra.get("command", "") + df = obbject.to_dataframe() + print_rich_table( + df=df, + show_index=True, + title=title, + export=ns_parser.export, + ) + if ns_parser.chart and not obbject.chart: + session.console.print("[info]No chart available.[/info]") + else: + session.console.print( + f"[info]No result found with key '{ns_parser.key}'.[/info]" + ) @staticmethod def parse_simple_args(parser: argparse.ArgumentParser, other_args: List[str]): @@ -792,6 +833,22 @@ class BaseController(metaclass=ABCMeta): help="Number of entries to show in data.", type=check_positive, ) + + parser.add_argument( + "--register_obbject", + dest="register_obbject", + action="store_false", + default=True, + help="Flag to store data in the OBBject registry, True by default.", + ) + parser.add_argument( + "--register_key", + dest="register_key", + default="", + help="Key to reference data in the OBBject registry.", + type=validate_register_key, + ) + if session.settings.USE_CLEAR_AFTER_CMD: system_clear() diff --git a/cli/openbb_cli/controllers/base_platform_controller.py b/cli/openbb_cli/controllers/base_platform_controller.py index 33cc4700849..a3cd0d1527c 100644 --- a/cli/openbb_cli/controllers/base_platform_controller.py +++ b/cli/openbb_cli/controllers/base_platform_controller.py @@ -75,20 +75,31 @@ class PlatformController(BaseController): for _, trl in self.translators.items(): for action in trl._parser._actions: # pylint: disable=protected-access if action.dest == "data": + # Generate choices by combining indexed and key-based choices action.choices = [ "OBB" + str(i) for i in range(len(session.obbject_registry.obbjects)) + ] + [ + obbject.extra["register_key"] + for obbject in session.obbject_registry.obbjects + if "register_key" in obbject.extra ] + action.type = str action.nargs = None def _intersect_data_processing_commands(self, ns_parser): """Intersect data processing commands and change the obbject id into an actual obbject.""" if hasattr(ns_parser, "data"): - ns_parser.data = int(ns_parser.data.replace("OBB", "")) - if ns_parser.data in range(len(session.obbject_registry.obbjects)): + if "OBB" in ns_parser.data: + ns_parser.data = int(ns_parser.data.replace("OBB", "")) + + if (ns_parser.data in range(len(session.obbject_registry.obbjects))) or ( + ns_parser.data in session.obbject_registry.obbject_keys + ): obbject = session.obbject_registry.get(ns_parser.data) - setattr(ns_parser, "data", obbject.results) + if obbject and isinstance(obbject, OBBject): + setattr(ns_parser, "data", obbject.results) return ns_parser @@ -152,6 +163,11 @@ class PlatformController(BaseController): try: ns_parser = self._intersect_data_processing_commands(ns_parser) + store_obbject = ( + hasattr(ns_parser, "register_obbject") + and ns_parser.register_obbject + ) + obbject = translator.execute_func(parsed_args=ns_parser) df: pd.DataFrame = pd.DataFrame() fig: Optional[OpenBBFigure] = None @@ -159,7 +175,11 @@ class PlatformController(BaseController): if obbject: if isinstance(obbject, OBBject): - if session.max_obbjects_exceeded() and obbject.results: + if ( + session.max_obbjects_exceeded() + and obbject.results + and store_obbject + ): session.obbject_registry.remove() session.console.print( "[yellow]Maximum number of OBBjects reached. The oldest entry was removed.[yellow]" @@ -167,48 +187,71 @@ class PlatformController(BaseController): # use the obbject to store the command so we can display it later on results obbject.extra["command"] = f"{title} {' '.join(other_args)}" - - register_result = session.obbject_registry.register(obbject) - - # we need to force to re-link so that the new obbject - # is immediately available for data processing commands - self._link_obbject_to_data_processing_commands() - # also update the completer - self.update_completer(self.choices_default) - + # if there is a registry key in the parser, store to the obbject if ( - session.settings.SHOW_MSG_OBBJECT_REGISTRY - and register_result + hasattr(ns_parser, "register_key") + and ns_parser.register_key ): - session.console.print( - "Added `OBBject` to cached results." + if ( + ns_parser.register_key + not in session.obbject_registry.obbject_keys + ): + obbject.extra["register_key"] = str( + ns_parser.register_key + ) + else: + session.console.print( + f"[yellow]Key `{ns_parser.register_key}` already exists in the registry." + "The `OBBject` was kept without the key.[/yellow]" + ) + + if store_obbject: + # store the obbject in the registry + register_result = session.obbject_registry.register( + obbject ) - # making the dataframe available - # either for printing or exporting (or both) + # we need to force to re-link so that the new obbject + # is immediately available for data processing commands + self._link_obbject_to_data_processing_commands() + # also update the completer + self.update_completer(self.choices_default) + + if ( + session.settings.SHOW_MSG_OBBJECT_REGISTRY + and register_result + ): + session.console.print( + "Added `OBBject` to cached results." + ) + + # making the dataframe available either for printing or exporting df = obbject.to_dataframe() + export = hasattr(ns_parser, "export") and ns_parser.export + if hasattr(ns_parser, "chart") and ns_parser.chart: - obbject.show() fig = obbject.chart.fig if obbject.chart else None + if not export: + obbject.show() else: if isinstance(df.columns, pd.RangeIndex): df.columns = [str(i) for i in df.columns] - print_rich_table(df=df, show_index=True, title=title) + print_rich_table( + df=df, show_index=True, title=title, export=export + ) elif isinstance(obbject, dict): df = pd.DataFrame.from_dict(obbject, orient="columns") - print_rich_table(df=df, show_index=True, title=title) + print_rich_table( + df=df, show_index=True, title=title, export=export + ) elif not isinstance(obbject, OBBject): session.console.print(obbject) - if ( - hasattr(ns_parser, "export") - and ns_parser.export - and not df.empty - ): + if export and not df.empty: sheet_name = getattr(ns_parser, "sheet_name", None) if sheet_name and isinstance(sheet_name, list): sheet_name = sheet_name[0] @@ -221,7 +264,7 @@ class PlatformController(BaseController): sheet_name=sheet_name, figure=fig, ) - elif hasattr(ns_parser, "export") and ns_parser.export and df.empty: + elif export and df.empty: session.console.print("[yellow]No data to export.[/yellow]") except Exception as e: diff --git a/cli/openbb_cli/controllers/choices.py b/cli/openbb_cli/controllers/choices.py index 5ed38bb8ba3..3afc5234c11 100644 --- a/cli/openbb_cli/controllers/choices.py +++ b/cli/openbb_cli/controllers/choices.py @@ -10,6 +10,7 @@ from unittest.mock import patch from openbb_cli.controllers.utils import ( check_file_type_saved, check_positive, + validate_register_key, ) from openbb_cli.session import Session @@ -93,6 +94,21 @@ def __mock_parse_known_args_and_warn( type=check_positive, ) + parser.add_argument( + "--register_obbject", + dest="register_obbject", + action="store_false", + default=True, + help="Flag to store data in the OBBject registry, True by default.", + ) + parser.add_argument( + "--register_key", + dest="register_key", + default="", + help="Key to reference data in the OBBject registry.", + type=validate_register_key, + ) + def __mock_parse_simple_args(parser: ArgumentParser, other_args: List[str]) -> None: """Add arguments. @@ -274,6 +290,7 @@ def _get_argument_parser( " - parse_known_args_and_warn\n" ) + # pylint: disable=possibly-used-before-assignment return argument_parser diff --git a/cli/openbb_cli/controllers/cli_controller.py b/cli/openbb_cli/controllers/cli_controller.py index ccd54ae9114..004239bf436 100644 --- a/cli/openbb_cli/controllers/cli_controller.py +++ b/cli/openbb_cli/controllers/cli_controller.py @@ -4,7 +4,6 @@ import argparse import contextlib import difflib -import logging import os import re import sys @@ -59,8 +58,6 @@ DATA_PROCESSING_ROUTERS = ["technical", "quantitative", "econometrics"] # pylint: disable=too-many-public-methods,import-outside-toplevel, too-many-function-args # pylint: disable=too-many-branches,no-member,C0302,too-many-return-statements, inconsistent-return-statements -logger = logging.getLogger(__name__) - env_file = str(ENV_FILE_SETTINGS) session = Session() @@ -205,7 +202,14 @@ class CLIController(BaseController): "-h": "--help", } choices["stop"] = {"--help": None, "-h": "--help"} - choices["results"] = {"--help": None, "-h": "--help"} + choices["results"] = { + "--help": None, + "-h": "--help", + "--export": None, + "--index": None, + "--key": None, + "--chart": None, + } self.update_completer(choices) @@ -291,7 +295,7 @@ class CLIController(BaseController): : session.settings.N_TO_DISPLAY_OBBJECT_REGISTRY ]: mt.add_raw( - f"[yellow]OBB{key}[/yellow]: {value['command']}", + f"[yellow]OBB{key}[/yellow]: {value['command']}", # type: ignore[index] left_spacing=True, ) @@ -497,11 +501,6 @@ class CLIController(BaseController): def handle_job_cmds(jobs_cmds: Optional[List[str]]) -> Optional[List[str]]: """Handle job commands.""" - # If the path selected does not start from the user root, - # give relative location from root - if jobs_cmds is not None and jobs_cmds: - logger.info("INPUT: %s", "/".join(jobs_cmds)) - export_path = "" if jobs_cmds and "export" in jobs_cmds[0]: commands = jobs_cmds[0].split("/") @@ -619,10 +618,6 @@ def run_cli(jobs_cmds: Optional[List[str]] = None, test_mode=False): break except SystemExit: - logger.exception( - "The command '%s' doesn't exist on the / menu.", - an_input, - ) session.console.print( f"[red]The command '{an_input}' doesn't exist on the / menu.[/red]\n", ) @@ -769,7 +764,6 @@ def replace_dynamic(match: re.Match, special_arguments: Dict[str, str]) -> str: str The new string """ - cleaned = match[0].replace("{", "").replace("}", "").replace("$", "") key, default = cleaned.split("=") dict_value = special_arguments.get(key, default) @@ -939,7 +933,6 @@ def launch( debug: bool = False, dev: bool = False, queue: Optional[List[str]] = None ) -> None: """Launch CLI.""" - if queue: main(debug, dev, queue, module="") else: diff --git a/cli/openbb_cli/controllers/settings_controller.py b/cli/openbb_cli/controllers/settings_controller.py index f93501a5063..da8add50b52 100644 --- a/cli/openbb_cli/controllers/settings_controller.py +++ b/cli/openbb_cli/controllers/settings_controller.py @@ -1,15 +1,13 @@ """Settings Controller Module.""" import argparse -from typing import List, Optional +from functools import partial, update_wrapper +from types import MethodType +from typing import List, Literal, Optional, get_origin -from openbb_cli.config.constants import AVAILABLE_FLAIRS from openbb_cli.config.menu_text import MenuText - -# pylint: disable=too-many-lines,no-member,too-many-public-methods,C0302 -# pylint:disable=import-outside-toplevel from openbb_cli.controllers.base_controller import BaseController -from openbb_cli.controllers.utils import all_timezones, is_timezone_valid +from openbb_cli.models.settings import SettingGroups from openbb_cli.session import Session session = Session() @@ -18,356 +16,127 @@ session = Session() class SettingsController(BaseController): """Settings Controller class.""" - CHOICES_COMMANDS: List[str] = [ - "interactive", - "cls", - "promptkit", - "exithelp", - "rcontext", - "richpanel", - "tbhint", - "overwrite", - "version", - "console_style", - "flair", - "timezone", - "n_rows", - "n_cols", - "obbject_msg", - "obbject_res", - "obbject_display", - ] + _COMMANDS = { + v.json_schema_extra.get("command"): { + "command": (v.json_schema_extra or {}).get("command"), + "group": (v.json_schema_extra or {}).get("group"), + "description": v.description, + "annotation": v.annotation, + "field_name": k, + } + for k, v in sorted( + session.settings.model_fields.items(), + key=lambda item: (item[1].json_schema_extra or {}).get("command", ""), + ) + if v.json_schema_extra + } + CHOICES_COMMANDS: List[str] = list(_COMMANDS.keys()) PATH = "/settings/" CHOICES_GENERATION = True def __init__(self, queue: Optional[List[str]] = None): """Initialize the Constructor.""" super().__init__(queue) - + for cmd, field in self._COMMANDS.items(): + group = field.get("group") + if group == SettingGroups.feature_flags: + self._generate_command(cmd, field, "toggle") + elif group == SettingGroups.preferences: + self._generate_command(cmd, field, "set") self.update_completer(self.choices_default) def print_help(self): """Print help.""" - settings = session.settings - mt = MenuText("settings/") - mt.add_info("Feature flags") - mt.add_setting( - "interactive", - settings.USE_INTERACTIVE_DF, - description="open dataframes in interactive window", - ) - mt.add_setting( - "cls", - settings.USE_CLEAR_AFTER_CMD, - description="clear console after each command", - ) - mt.add_setting( - "promptkit", - settings.USE_PROMPT_TOOLKIT, - description="enable prompt toolkit (autocomplete and history)", - ) - mt.add_setting( - "exithelp", - settings.ENABLE_EXIT_AUTO_HELP, - description="automatically print help when quitting menu", - ) - mt.add_setting( - "rcontext", - settings.REMEMBER_CONTEXTS, - description="remember contexts between menus", - ) - mt.add_setting( - "richpanel", - settings.ENABLE_RICH_PANEL, - description="colorful rich CLI panel", - ) - mt.add_setting( - "tbhint", - settings.TOOLBAR_HINT, - description="displays usage hints in the bottom toolbar", - ) - mt.add_setting( - "overwrite", - settings.FILE_OVERWRITE, - description="whether to overwrite Excel files if they already exists", - ) - mt.add_setting( - "version", - settings.SHOW_VERSION, - description="whether to show the version in the bottom right corner", - ) - mt.add_setting( - "obbject_msg", - settings.SHOW_MSG_OBBJECT_REGISTRY, - description="show obbject registry message after a new result is added", - ) + mt.add_info("Feature Flags") + for k, f in self._COMMANDS.items(): + if f.get("group") == SettingGroups.feature_flags: + mt.add_setting( + name=k, + status=getattr(session.settings, f["field_name"]), + description=f["description"], + ) mt.add_raw("\n") mt.add_info("Preferences") - mt.add_cmd("console_style", description="apply a custom rich style to the CLI") - mt.add_cmd("flair", description="choose flair icon") - mt.add_cmd("timezone", description="pick timezone") - mt.add_cmd( - "n_rows", description="number of rows to show on non interactive tables" - ) - mt.add_cmd( - "n_cols", description="number of columns to show on non interactive tables" - ) - mt.add_cmd( - "obbject_res", - description="define the maximum number of obbjects allowed in the registry", - ) - mt.add_cmd( - "obbject_display", - description="define the maximum number of cached results to display on the help menu", - ) - + for k, f in self._COMMANDS.items(): + if f.get("group") == SettingGroups.preferences: + mt.add_cmd( + name=k, + description=f["description"], + ) session.console.print(text=mt.menu_text, menu="Settings") - def call_overwrite(self, _): - """Process overwrite command.""" - session.settings.set_item("FILE_OVERWRITE", not session.settings.FILE_OVERWRITE) + def _generate_command( + self, cmd_name: str, field: dict, action_type: Literal["toggle", "set"] + ): + """Generate command call.""" - def call_version(self, _): - """Process version command.""" - session.settings.SHOW_VERSION = not session.settings.SHOW_VERSION - - def call_interactive(self, _): - """Process interactive command.""" - session.settings.set_item( - "USE_INTERACTIVE_DF", not session.settings.USE_INTERACTIVE_DF - ) - - def call_cls(self, _): - """Process cls command.""" - session.settings.set_item( - "USE_CLEAR_AFTER_CMD", not session.settings.USE_CLEAR_AFTER_CMD - ) - - def call_promptkit(self, _): - """Process promptkit command.""" - session.settings.set_item( - "USE_PROMPT_TOOLKIT", not session.settings.USE_PROMPT_TOOLKIT - ) - - def call_exithelp(self, _): - """Process exithelp command.""" - session.settings.set_item( - "ENABLE_EXIT_AUTO_HELP", not session.settings.ENABLE_EXIT_AUTO_HELP - ) - - def call_rcontext(self, _): - """Process rcontext command.""" - session.settings.set_item( - "REMEMBER_CONTEXTS", not session.settings.REMEMBER_CONTEXTS - ) - - def call_dt(self, _): - """Process dt command.""" - session.settings.set_item("USE_DATETIME", not session.settings.USE_DATETIME) - - def call_richpanel(self, _): - """Process richpanel command.""" - session.settings.set_item( - "ENABLE_RICH_PANEL", not session.settings.ENABLE_RICH_PANEL - ) - - def call_tbhint(self, _): - """Process tbhint command.""" - if session.settings.TOOLBAR_HINT: - session.console.print("Will take effect when running CLI again.") - session.settings.set_item("TOOLBAR_HINT", not session.settings.TOOLBAR_HINT) - - def call_obbject_msg(self, _): - """Process obbject_msg command.""" - session.settings.set_item( - "SHOW_MSG_OBBJECT_REGISTRY", - not session.settings.SHOW_MSG_OBBJECT_REGISTRY, - ) - - def call_console_style(self, other_args: List[str]) -> None: - """Process cosole_style command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="console_style", - description="Change your custom console style.", - add_help=False, - ) - parser.add_argument( - "-s", - "--style", - dest="style", - action="store", - required=False, - choices=session.style.available_styles, - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.style: - session.style.apply(ns_parser.style) - session.settings.set_item("RICH_STYLE", ns_parser.style) - elif not other_args: - session.console.print( - f"Current console style: {session.settings.RICH_STYLE}" + def _toggle(self, other_args: List[str], field=field) -> None: + """Toggle setting value.""" + field_name = field["field_name"] + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog=field["command"], + description=field["description"], + add_help=False, ) - - def call_flair(self, other_args: List[str]) -> None: - """Process flair command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="flair", - description="Change your custom flair.", - add_help=False, - ) - parser.add_argument( - "-f", - "--flair", - dest="flair", - action="store", - required=False, - choices=list(AVAILABLE_FLAIRS.keys()), - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.flair: - session.settings.set_item("FLAIR", ns_parser.flair) - elif not other_args: - session.console.print(f"Current flair: {session.settings.FLAIR}") - - def call_timezone(self, other_args: List[str]) -> None: - """Process timezone command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="timezone", - description="Change your custom timezone.", - add_help=False, - ) - parser.add_argument( - "-t", - "--timezone", - dest="timezone", - action="store", - required=False, - type=str, - choices=all_timezones, - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.timezone: - if is_timezone_valid(ns_parser.timezone): - session.settings.set_item("TIMEZONE", ns_parser.timezone) - else: - session.console.print( - "Invalid timezone. Please enter a valid timezone." + ns_parser = self.parse_simple_args(parser, other_args) + if ns_parser: + session.settings.set_item( + field_name, not getattr(session.settings, field_name) ) - session.console.print( - f"Available timezones are: {', '.join(all_timezones)}" - ) - elif not other_args: - session.console.print(f"Current timezone: {session.settings.TIMEZONE}") - def call_n_rows(self, other_args: List[str]) -> None: - """Process n_rows command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="n_rows", - description="Number of rows to show (when not using interactive tables).", - add_help=False, - ) - parser.add_argument( - "-r", - "--rows", - dest="rows", - action="store", - required=False, - type=int, - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.rows: - session.settings.set_item("ALLOWED_NUMBER_OF_ROWS", ns_parser.rows) - - elif not other_args: - session.console.print( - f"Current number of rows: {session.settings.ALLOWED_NUMBER_OF_ROWS}" + def _set(self, other_args: List[str], field=field) -> None: + """Set preference value.""" + field_name = field["field_name"] + annotation = field["annotation"] + command = field["command"] + type_ = str if get_origin(annotation) is Literal else annotation + choices = None + if get_origin(annotation) is Literal: + choices = annotation.__args__ + elif command == "console_style": + # To have updated choices for console style + choices = session.style.available_styles + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog=command, + description=field["description"], + add_help=False, ) - - def call_n_cols(self, other_args: List[str]) -> None: - """Process n_cols command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="n_cols", - description="Number of columns to show (when not using interactive tables).", - add_help=False, - ) - parser.add_argument( - "-c", - "--columns", - dest="columns", - action="store", - required=False, - type=int, - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.columns: - session.settings.set_item("ALLOWED_NUMBER_OF_COLUMNS", ns_parser.columns) - - elif not other_args: - session.console.print( - f"Current number of columns: {session.settings.ALLOWED_NUMBER_OF_COLUMNS}" + parser.add_argument( + "-v", + "--value", + dest="value", + action="store", + required=False, + type=type_, # type: ignore[arg-type] + choices=choices, ) + ns_parser = self.parse_simple_args(parser, other_args) + if ns_parser: + if ns_parser.value: + # Console style is applied immediately + if command == "console_style": + session.style.apply(ns_parser.value) + session.settings.set_item(field_name, ns_parser.value) + session.console.print( + f"[info]Current value:[/info] {getattr(session.settings, field_name)}" + ) + elif not other_args: + session.console.print( + f"[info]Current value:[/info] {getattr(session.settings, field_name)}" + ) - def call_obbject_res(self, other_args: List[str]): - """Process obbject_res command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="obbject_res", - description="Maximum allowed number of results to keep in the OBBject Registry.", - add_help=False, + action = None + if action_type == "toggle": + action = _toggle + elif action_type == "set": + action = _set + else: + raise ValueError(f"Action type '{action_type}' not allowed.") + + bound_method = update_wrapper( + wrapper=partial(MethodType(action, self), field=field), wrapped=action ) - parser.add_argument( - "-n", - "--number", - dest="number", - action="store", - required=False, - type=int, - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.number: - session.settings.set_item("N_TO_KEEP_OBBJECT_REGISTRY", ns_parser.number) - - elif not other_args: - session.console.print( - f"Current maximum allowed number of results to keep in the OBBject registry:" - f" {session.settings.N_TO_KEEP_OBBJECT_REGISTRY}" - ) - - def call_obbject_display(self, other_args: List[str]): - """Process obbject_display command.""" - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="obbject_display", - description="Number of results to display from the OBBject Registry.", - add_help=False, - ) - parser.add_argument( - "-n", - "--number", - dest="number", - action="store", - required=False, - type=int, - ) - ns_parser = self.parse_simple_args(parser, other_args) - - if ns_parser and ns_parser.number: - session.settings.set_item("N_TO_DISPLAY_OBBJECT_REGISTRY", ns_parser.number) - - elif not other_args: - session.console.print( - f"Current number of results to display from the OBBject registry:" - f" {session.settings.N_TO_DISPLAY_OBBJECT_REGISTRY}" - ) + setattr(self, f"call_{cmd_name}", bound_method) diff --git a/cli/openbb_cli/controllers/utils.py b/cli/openbb_cli/controllers/utils.py index 7c92a5880ae..c921ad5ab3a 100644 --- a/cli/openbb_cli/controllers/utils.py +++ b/cli/openbb_cli/controllers/utils.py @@ -32,6 +32,8 @@ if TYPE_CHECKING: # pylint: disable=too-many-statements,no-member,too-many-branches,C0302 +session = Session() + def remove_file(path: Path) -> bool: """Remove path. @@ -54,7 +56,7 @@ def remove_file(path: Path) -> bool: shutil.rmtree(path) return True except Exception: - Session().console.print( + session.console.print( f"\n[bold red]Failed to remove {path}" "\nPlease delete this manually![/bold red]" ) @@ -87,17 +89,17 @@ Please feel free to check out our other products: [bold]OpenBB Platform:[/] [cmds]https://openbb.co/products/platform[/cmds] [bold]OpenBB Bot[/]: [cmds]https://openbb.co/products/bot[/cmds] """ - Session().console.print(text) + session.console.print(text) def print_guest_block_msg(): """Block guest users from using the cli.""" - if Session().is_local(): - Session().console.print( + if session.is_local(): + session.console.print( "[info]You are currently logged as a guest.[/info]\n" "[info]Login to use this feature.[/info]\n\n" "[info]If you don't have an account, you can create one here: [/info]" - f"[cmds]{Session().settings.HUB_URL + '/register'}\n[/cmds]" + f"[cmds]{session.settings.HUB_URL + '/register'}\n[/cmds]" ) @@ -114,7 +116,7 @@ def bootup(): # pylint: disable=E1101 sys.stdout.reconfigure(encoding="utf-8") # type: ignore except Exception as e: - Session().console.print(e, "\n") + session.console.print(e, "\n") def welcome_message(): @@ -122,8 +124,8 @@ def welcome_message(): Prints first welcome message, help and a notification if updates are available. """ - Session().console.print( - f"\nWelcome to OpenBB Platform CLI v{Session().settings.VERSION}" + session.console.print( + f"\nWelcome to OpenBB Platform CLI v{session.settings.VERSION}" ) @@ -132,16 +134,15 @@ def reset(queue: Optional[List[str]] = None): Allows for checking code without quitting. """ - Session().console.print("resetting...") - Session().reset() - debug = Session().settings.DEBUG_MODE - dev = Session().settings.DEV_BACKEND + session.console.print("resetting...") + debug = session.settings.DEBUG_MODE + dev = session.settings.DEV_BACKEND try: # remove the hub routines - if not Session().is_local(): + if not session.is_local(): remove_file( - Path(Session().user.preferences.export_directory, "routines", "hub") + Path(session.user.preferences.export_directory, "routines", "hub") ) # if not get_current_user().profile.remember: @@ -156,7 +157,7 @@ def reset(queue: Optional[List[str]] = None): queue_list = ["/".join(queue) if len(queue) > 0 else ""] # type: ignore # pylint: disable=import-outside-toplevel # we run the cli again - if Session().is_local(): + if session.is_local(): from openbb_cli.controllers.cli_controller import main main(debug, dev, queue_list, module="") # type: ignore @@ -166,7 +167,7 @@ def reset(queue: Optional[List[str]] = None): launch(queue=queue_list) except Exception as e: - Session().console.print(f"Unfortunately, resetting wasn't possible: {e}\n") + session.console.print(f"Unfortunately, resetting wasn't possible: {e}\n") print_goodbye() @@ -197,7 +198,7 @@ def first_time_user() -> bool: Whether or not the user is a first time user """ if ENV_FILE_SETTINGS.stat().st_size == 0: - Session().settings.set_item("PREVIOUS_USE", True) + session.settings.set_item("PREVIOUS_USE", True) return True return False @@ -257,7 +258,7 @@ def parse_and_split_input(an_input: str, custom_filters: List) -> List[str]: else: filter_input = False - commands = an_input.split("/") if "-t" not in an_input else [an_input] + commands = an_input.split("/") if "timezone" not in an_input else [an_input] for command_num, command in enumerate(commands): if command == commands[command_num] == commands[-1] == "": @@ -366,8 +367,8 @@ def print_rich_table( # noqa: PLR0912 if export: return - MAX_COLS = Session().settings.ALLOWED_NUMBER_OF_COLUMNS - MAX_ROWS = Session().settings.ALLOWED_NUMBER_OF_ROWS + MAX_COLS = session.settings.ALLOWED_NUMBER_OF_COLUMNS + MAX_ROWS = session.settings.ALLOWED_NUMBER_OF_ROWS # Make a copy of the dataframe to avoid SettingWithCopyWarning df = df.copy() @@ -396,7 +397,7 @@ def print_rich_table( # noqa: PLR0912 raise ValueError("Length of headers does not match length of DataFrame.") return output - if Session().settings.USE_INTERACTIVE_DF: + if session.settings.USE_INTERACTIVE_DF: df_outgoing = df.copy() # If headers are provided, use them if headers is not None: @@ -418,7 +419,7 @@ def print_rich_table( # noqa: PLR0912 _get_backend().send_table( df_table=df_outgoing, title=title, - theme=Session().user.preferences.table_style, + theme=session.user.preferences.table_style, ) return @@ -500,24 +501,24 @@ def print_rich_table( # noqa: PLR0912 for idx, x in enumerate(values) ] table.add_row(*row_idx) - Session().console.print(table) + session.console.print(table) else: - Session().console.print(df.to_string(col_space=0)) + session.console.print(df.to_string(col_space=0)) if exceeds_allowed_columns: - Session().console.print( - f"[yellow]\nAllowed number of columns exceeded ({Session().settings.ALLOWED_NUMBER_OF_COLUMNS}).\n" + session.console.print( + f"[yellow]\nAllowed number of columns exceeded ({session.settings.ALLOWED_NUMBER_OF_COLUMNS}).\n" f"The following columns were removed from the output: {', '.join(trimmed_columns)}.\n[/yellow]" ) if exceeds_allowed_rows: - Session().console.print( - f"[yellow]\nAllowed number of rows exceeded ({Session().settings.ALLOWED_NUMBER_OF_ROWS}).\n" + session.console.print( + f"[yellow]\nAllowed number of rows exceeded ({session.settings.ALLOWED_NUMBER_OF_ROWS}).\n" f"{trimmed_rows_count} rows were removed from the output.\n[/yellow]" ) if exceeds_allowed_columns or exceeds_allowed_rows: - Session().console.print( + session.console.print( "Use the `--export` flag to analyse the full output on a file." ) @@ -538,6 +539,15 @@ def check_positive(value) -> int: return new_value +def validate_register_key(value: str) -> str: + """Validate the register key to ensure it does not contain the reserved word 'OBB'.""" + if "OBB" in value: + raise argparse.ArgumentTypeError( + "The register key cannot contain the reserved word 'OBB'." + ) + return str(value) + + def get_user_agent() -> str: """Get a not very random user agent.""" user_agent_strings = [ @@ -555,7 +565,7 @@ def get_user_agent() -> str: def get_flair() -> str: """Get a flair icon.""" - current_flair = str(Session().settings.FLAIR) + current_flair = str(session.settings.FLAIR) flair = AVAILABLE_FLAIRS.get(current_flair, current_flair) return flair @@ -563,7 +573,7 @@ def get_flair() -> str: def get_dtime() -> str: """Get a datetime string.""" dtime = "" - if Session().settings.USE_DATETIME and get_user_timezone_or_invalid() != "INVALID": + if session.settings.USE_DATETIME and get_user_timezone_or_invalid() != "INVALID": dtime = datetime.now(timezone(get_user_timezone())).strftime("%Y %b %d, %H:%M") return dtime @@ -571,12 +581,10 @@ def get_dtime() -> str: def get_flair_and_username() -> str: """Get a flair icon and username.""" flair = get_flair() - dtime = get_dtime() - - if dtime: + if dtime := get_dtime(): dtime = f"{dtime} " - username = getattr(Session().user.profile.hub_session, "username", "") + username = getattr(session.user.profile.hub_session, "username", "") if username: username = f"[{username}] " @@ -607,7 +615,7 @@ def get_user_timezone() -> str: str user timezone based on .env file """ - return Session().settings.TIMEZONE + return session.settings.TIMEZONE def get_user_timezone_or_invalid() -> str: @@ -658,7 +666,7 @@ def check_file_type_saved(valid_types: Optional[List[str]] = None): if filename.endswith(tuple(valid_types)): valid_filenames.append(filename) else: - Session().console.print( + session.console.print( f"[red]Filename '{filename}' provided is not valid!\nPlease use one of the following file types:" f"{','.join(valid_types)}[/red]\n" ) @@ -680,7 +688,6 @@ def remove_timezone_from_dataframe(df: pd.DataFrame) -> pd.DataFrame: pd.DataFrame The dataframe with timezone information removed """ - date_cols = [] index_is_date = False @@ -737,7 +744,7 @@ def compose_export_path(func_name: str, dir_path: str) -> Path: default_filename = f"{now.strftime('%Y%m%d_%H%M%S')}_{path_cmd}_{func_name}" - full_path = Path(Session().user.preferences.export_directory) / default_filename + full_path = Path(session.user.preferences.export_directory) / default_filename return full_path @@ -748,9 +755,9 @@ def ask_file_overwrite(file_path: Path) -> Tuple[bool, bool]: Returns two values, the first is a boolean indicating if the file exists and the second is a boolean indicating if the user wants to overwrite the file. """ - if Session().settings.FILE_OVERWRITE: + if session.settings.FILE_OVERWRITE: return False, True - if Session().settings.TEST_MODE: + if session.settings.TEST_MODE: return False, True if file_path.exists(): overwrite = input("\nFile already exists. Overwrite? [y/n]: ").lower() @@ -844,7 +851,6 @@ def export_data( margin : bool Automatically adjust subplot parameters to give specified padding. """ - if export_type: saved_path = compose_export_path(func_name, dir_path).resolve() saved_path.parent.mkdir(parents=True, exist_ok=True) @@ -903,17 +909,17 @@ def export_data( elif saved_path.suffix in [".jpg", ".png"]: if figure is None: - Session().console.print("No plot to export.") + session.console.print("No plot to export.") continue figure.show(export_image=saved_path, margin=margin) else: - Session().console.print("Wrong export file specified.") + session.console.print("Wrong export file specified.") continue if saved_path.exists(): - Session().console.print(f"Saved file: {saved_path}") + session.console.print(f"Saved file: {saved_path}") else: - Session().console.print(f"Failed to save file: {saved_path}") + session.console.print(f"Failed to save file: {saved_path}") if figure is not None: figure._exported = True # pylint: disable=protected-access @@ -957,7 +963,7 @@ def request( # If there are headers, check if there is a user agent, if not add one. # Some requests seem to work only with a specific user agent, so we want to be able to override it. headers = kwargs.pop("headers", {}) - timeout = timeout or Session().user.preferences.request_timeout + timeout = timeout or session.user.preferences.request_timeout if "User-Agent" not in headers: headers["User-Agent"] = get_user_agent() diff --git a/cli/openbb_cli/models/settings.py b/cli/openbb_cli/models/settings.py index ebfd15f6879..f0c9fa78b59 100644 --- a/cli/openbb_cli/models/settings.py +++ b/cli/openbb_cli/models/settings.py @@ -1,15 +1,24 @@ """Settings model.""" -from typing import Any +from enum import Enum +from typing import Any, Literal from dotenv import dotenv_values, set_key -from openbb_cli.config.constants import ENV_FILE_SETTINGS +from openbb_cli.config.constants import AVAILABLE_FLAIRS, ENV_FILE_SETTINGS from openbb_core.app.version import get_package_version -from pydantic import BaseModel, ConfigDict, model_validator +from pydantic import BaseModel, ConfigDict, Field, model_validator +from pytz import all_timezones VERSION = get_package_version("openbb-cli") +class SettingGroups(Enum): + """Setting types.""" + + feature_flags = "feature_flag" + preferences = "preference" + + class Settings(BaseModel): """Settings model.""" @@ -21,37 +30,119 @@ class Settings(BaseModel): DEBUG_MODE: bool = False DEV_BACKEND: bool = False - # FEATURE FLAGS - FILE_OVERWRITE: bool = False - SHOW_VERSION: bool = True - USE_INTERACTIVE_DF: bool = True - USE_CLEAR_AFTER_CMD: bool = False - USE_DATETIME: bool = True - USE_PROMPT_TOOLKIT: bool = True - ENABLE_EXIT_AUTO_HELP: bool = True - REMEMBER_CONTEXTS: bool = True - ENABLE_RICH_PANEL: bool = True - TOOLBAR_HINT: bool = True - SHOW_MSG_OBBJECT_REGISTRY: bool = False - - # GENERAL - TIMEZONE: str = "America/New_York" - FLAIR: str = ":openbb" - PREVIOUS_USE: bool = False - N_TO_KEEP_OBBJECT_REGISTRY: int = 10 - N_TO_DISPLAY_OBBJECT_REGISTRY: int = 5 - - # STYLE - RICH_STYLE: str = "dark" - - # OUTPUT - ALLOWED_NUMBER_OF_ROWS: int = 20 - ALLOWED_NUMBER_OF_COLUMNS: int = 5 - # OPENBB HUB_URL: str = "https://my.openbb.co" BASE_URL: str = "https://payments.openbb.co" + # GENERAL + PREVIOUS_USE: bool = False + + # FEATURE FLAGS + FILE_OVERWRITE: bool = Field( + default=False, + description="whether to overwrite Excel files if they already exists", + command="overwrite", + group=SettingGroups.feature_flags, + ) + SHOW_VERSION: bool = Field( + default=True, + description="whether to show the version in the bottom right corner", + command="version", + group=SettingGroups.feature_flags, + ) + USE_INTERACTIVE_DF: bool = Field( + default=True, + description="display tables in interactive window", + command="interactive", + group=SettingGroups.feature_flags, + ) + USE_CLEAR_AFTER_CMD: bool = Field( + default=False, + description="clear console after each command", + command="cls", + group=SettingGroups.feature_flags, + ) + USE_DATETIME: bool = Field( + default=True, + description="whether to show the date and time before the flair", + command="datetime", + group=SettingGroups.feature_flags, + ) + USE_PROMPT_TOOLKIT: bool = Field( + default=True, + description="enable prompt toolkit (autocomplete and history)", + command="promptkit", + group=SettingGroups.feature_flags, + ) + ENABLE_EXIT_AUTO_HELP: bool = Field( + default=True, + description="automatically print help when quitting menu", + command="exithelp", + group=SettingGroups.feature_flags, + ) + ENABLE_RICH_PANEL: bool = Field( + default=True, + description="enable colorful rich CLI panel", + command="richpanel", + group=SettingGroups.feature_flags, + ) + TOOLBAR_HINT: bool = Field( + default=True, + description="displays usage hints in the bottom toolbar", + command="tbhint", + group=SettingGroups.feature_flags, + ) + SHOW_MSG_OBBJECT_REGISTRY: bool = Field( + default=False, + description="show obbject registry message after a new result is added", + command="obbject_msg", + group=SettingGroups.feature_flags, + ) + + # PREFERENCES + TIMEZONE: Literal[tuple(all_timezones)] = Field( # type: ignore[valid-type] + default="America/New_York", + description="pick timezone", + command="timezone", + group=SettingGroups.preferences, + ) + FLAIR: Literal[tuple(AVAILABLE_FLAIRS)] = Field( # type: ignore[valid-type] + default=":openbb", + description="choose flair icon", + command="flair", + group=SettingGroups.preferences, + ) + N_TO_KEEP_OBBJECT_REGISTRY: int = Field( + default=10, + description="define the maximum number of obbjects allowed in the registry", + command="obbject_res", + group=SettingGroups.preferences, + ) + N_TO_DISPLAY_OBBJECT_REGISTRY: int = Field( + default=5, + description="define the maximum number of cached results to display on the help menu", + command="obbject_display", + group=SettingGroups.preferences, + ) + RICH_STYLE: str = Field( + default="dark", + description="apply a custom rich style to the CLI", + command="console_style", + group=SettingGroups.preferences, + ) + ALLOWED_NUMBER_OF_ROWS: int = Field( + default=20, + description="number of rows to show (when not using interactive tables).", + command="n_rows", + group=SettingGroups.preferences, + ) + ALLOWED_NUMBER_OF_COLUMNS: int = Field( + default=5, + description="number of columns to show (when not using interactive tables).", + command="n_cols", + group=SettingGroups.preferences, + ) + model_config = ConfigDict(validate_assignment=True) def __repr__(self) -> str: diff --git a/cli/openbb_cli/session.py b/cli/openbb_cli/session.py index 49da650bf8c..d78c83222a4 100644 --- a/cli/openbb_cli/session.py +++ b/cli/openbb_cli/session.py @@ -82,9 +82,6 @@ class Session(metaclass=SingletonMeta): """Check if user is local.""" return not bool(self.user.profile.hub_session) - def reset(self) -> None: - pass - def max_obbjects_exceeded(self) -> bool: """Check if max obbjects exceeded.""" return ( diff --git a/cli/openbb_cli/utils/utils.py b/cli/openbb_cli/utils/utils.py new file mode 100644 index 00000000000..b38c83a8dab --- /dev/null +++ b/cli/openbb_cli/utils/utils.py @@ -0,0 +1,34 @@ +"""OpenBB Platform CLI utilities.""" + +import json +from pathlib import Path + +HOME_DIRECTORY = Path.home() +OPENBB_PLATFORM_DIRECTORY = Path(HOME_DIRECTORY, ".openbb_platform") +SYSTEM_SETTINGS_PATH = Path(OPENBB_PLATFORM_DIRECTORY, "system_settings.json") + + +def change_logging_sub_app() -> str: + """Build OpenBB Platform setting files.""" + with open(SYSTEM_SETTINGS_PATH) as file: + system_settings = json.load(file) + + initial_logging_sub_app = system_settings.get("logging_sub_app", "") + + system_settings["logging_sub_app"] = "cli" + + with open(SYSTEM_SETTINGS_PATH, "w") as file: + json.dump(system_settings, file, indent=4) + + return initial_logging_sub_app + + +def reset_logging_sub_app(initial_logging_sub_app: str): + """Reset OpenBB Platform setting files.""" + with open(SYSTEM_SETTINGS_PATH) as file: + system_settings = json.load(file) + + system_settings["logging_sub_app"] = initial_logging_sub_app + + with open(SYSTEM_SETTINGS_PATH, "w") as file: + json.dump(system_settings, file, indent=4) diff --git a/cli/poetry.lock b/cli/poetry.lock index ab0eb3f5966..15065576f63 100644 --- a/cli/poetry.lock +++ b/cli/poetry.lock @@ -591,13 +591,13 @@ wmi = ["wmi (>=1.5.1)"] [[package]] name = "email-validator" -version = "2.1.1" +version = "2.1.2" description = "A robust email address syntax and deliverability validation library." optional = false python-versions = ">=3.8" files = [ - {file = "email_validator-2.1.1-py3-none-any.whl", hash = "sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05"}, - {file = "email_validator-2.1.1.tar.gz", hash = "sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"}, + {file = "email_validator-2.1.2-py3-none-any.whl", hash = "sha256:d89f6324e13b1e39889eab7f9ca2f91dc9aebb6fa50a6d8bd4329ab50f251115"}, + {file = "email_validator-2.1.2.tar.gz", hash = "sha256:14c0f3d343c4beda37400421b39fa411bbe33a75df20825df73ad53e06a9f04c"}, ] [package.dependencies] @@ -698,13 +698,13 @@ standard = ["fastapi", "uvicorn[standard] (>=0.15.0)"] [[package]] name = "fastjsonschema" -version = "2.19.1" +version = "2.20.0" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" files = [ - {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"}, - {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"}, + {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, + {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, ] [package.extras] @@ -804,8 +804,6 @@ files = [ {file = "frozendict-2.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d13b4310db337f4d2103867c5a05090b22bc4d50ca842093779ef541ea9c9eea"}, {file = "frozendict-2.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:b3b967d5065872e27b06f785a80c0ed0a45d1f7c9b85223da05358e734d858ca"}, {file = "frozendict-2.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:4ae8d05c8d0b6134bfb6bfb369d5fa0c4df21eabb5ca7f645af95fdc6689678e"}, - {file = "frozendict-2.4.4-py311-none-any.whl", hash = "sha256:705efca8d74d3facbb6ace80ab3afdd28eb8a237bfb4063ed89996b024bc443d"}, - {file = "frozendict-2.4.4-py312-none-any.whl", hash = "sha256:d9647563e76adb05b7cde2172403123380871360a114f546b4ae1704510801e5"}, {file = "frozendict-2.4.4.tar.gz", hash = "sha256:3f7c031b26e4ee6a3f786ceb5e3abf1181c4ade92dce1f847da26ea2c96008c7"}, ] @@ -1345,13 +1343,9 @@ files = [ {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, @@ -1539,13 +1533,13 @@ files = [ [[package]] name = "more-itertools" -version = "10.2.0" +version = "10.3.0" description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.8" files = [ - {file = "more-itertools-10.2.0.tar.gz", hash = "sha256:8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1"}, - {file = "more_itertools-10.2.0-py3-none-any.whl", hash = "sha256:686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684"}, + {file = "more-itertools-10.3.0.tar.gz", hash = "sha256:e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463"}, + {file = "more_itertools-10.3.0-py3-none-any.whl", hash = "sha256:ea6a02e24a9161e51faad17a8782b92a0df82c12c1c8886fec7f0c3fa1a1b320"}, ] [[package]] @@ -1747,51 +1741,6 @@ files = [ {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, ] -[[package]] -name = "numpy" -version = "1.26.4" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, - {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, - {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, - {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, - {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, - {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, - {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, - {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, - {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, -] - [[package]] name = "openbb" version = "4.2.2" @@ -2497,13 +2446,13 @@ yfinance = ">=0.2.27,<0.3.0" [[package]] name = "openpyxl" -version = "3.1.3" +version = "3.1.4" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "openpyxl-3.1.3-py2.py3-none-any.whl", hash = "sha256:25071b558db709de9e8782c3d3e058af3b23ffb2fc6f40c8f0c45a154eced2c3"}, - {file = "openpyxl-3.1.3.tar.gz", hash = "sha256:8dd482e5350125b2388070bb2477927be2e8ebc27df61178709bc8c8751da2f9"}, + {file = "openpyxl-3.1.4-py2.py3-none-any.whl", hash = "sha256:ec17f6483f2b8f7c88c57e5e5d3b0de0e3fb9ac70edc084d28e864f5b33bbefd"}, + {file = "openpyxl-3.1.4.tar.gz", hash = "sha256:8d2c8adf5d20d6ce8f9bca381df86b534835e974ed0156dacefa76f68c1d69fb"}, ] [package.dependencies] @@ -2511,68 +2460,68 @@ et-xmlfile = "*" [[package]] name = "orjson" -version = "3.10.3" +version = "3.10.5" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false python-versions = ">=3.8" files = [ - {file = "orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7"}, - {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d"}, - {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7"}, - {file = "orjson-3.10.3-cp310-none-win32.whl", hash = "sha256:be2aab54313752c04f2cbaab4515291ef5af8c2256ce22abc007f89f42f49109"}, - {file = "orjson-3.10.3-cp310-none-win_amd64.whl", hash = "sha256:416b195f78ae461601893f482287cee1e3059ec49b4f99479aedf22a20b1098b"}, - {file = "orjson-3.10.3-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:73100d9abbbe730331f2242c1fc0bcb46a3ea3b4ae3348847e5a141265479700"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a12eee96e3ab828dbfcb4d5a0023aa971b27143a1d35dc214c176fdfb29b3"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520de5e2ef0b4ae546bea25129d6c7c74edb43fc6cf5213f511a927f2b28148b"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccaa0a401fc02e8828a5bedfd80f8cd389d24f65e5ca3954d72c6582495b4bcf"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7bc9e8bc11bac40f905640acd41cbeaa87209e7e1f57ade386da658092dc16"}, - {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3582b34b70543a1ed6944aca75e219e1192661a63da4d039d088a09c67543b08"}, - {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c23dfa91481de880890d17aa7b91d586a4746a4c2aa9a145bebdbaf233768d5"}, - {file = "orjson-3.10.3-cp311-none-win32.whl", hash = "sha256:1770e2a0eae728b050705206d84eda8b074b65ee835e7f85c919f5705b006c9b"}, - {file = "orjson-3.10.3-cp311-none-win_amd64.whl", hash = "sha256:93433b3c1f852660eb5abdc1f4dd0ced2be031ba30900433223b28ee0140cde5"}, - {file = "orjson-3.10.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a39aa73e53bec8d410875683bfa3a8edf61e5a1c7bb4014f65f81d36467ea098"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0943a96b3fa09bee1afdfccc2cb236c9c64715afa375b2af296c73d91c23eab2"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e852baafceff8da3c9defae29414cc8513a1586ad93e45f27b89a639c68e8176"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18566beb5acd76f3769c1d1a7ec06cdb81edc4d55d2765fb677e3eaa10fa99e0"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd2218d5a3aa43060efe649ec564ebedec8ce6ae0a43654b81376216d5ebd42"}, - {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cf20465e74c6e17a104ecf01bf8cd3b7b252565b4ccee4548f18b012ff2f8069"}, - {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba7f67aa7f983c4345eeda16054a4677289011a478ca947cd69c0a86ea45e534"}, - {file = "orjson-3.10.3-cp312-none-win32.whl", hash = "sha256:17e0713fc159abc261eea0f4feda611d32eabc35708b74bef6ad44f6c78d5ea0"}, - {file = "orjson-3.10.3-cp312-none-win_amd64.whl", hash = "sha256:4c895383b1ec42b017dd2c75ae8a5b862fc489006afde06f14afbdd0309b2af0"}, - {file = "orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754"}, - {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195"}, - {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b"}, - {file = "orjson-3.10.3-cp38-none-win32.whl", hash = "sha256:8d0b84403d287d4bfa9bf7d1dc298d5c1c5d9f444f3737929a66f2fe4fb8f134"}, - {file = "orjson-3.10.3-cp38-none-win_amd64.whl", hash = "sha256:8bc7a4df90da5d535e18157220d7915780d07198b54f4de0110eca6b6c11e290"}, - {file = "orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d"}, - {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25"}, - {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8"}, - {file = "orjson-3.10.3-cp39-none-win32.whl", hash = "sha256:b8d4d1a6868cde356f1402c8faeb50d62cee765a1f7ffcfd6de732ab0581e063"}, - {file = "orjson-3.10.3-cp39-none-win_amd64.whl", hash = "sha256:5102f50c5fc46d94f2033fe00d392588564378260d64377aec702f21a7a22912"}, - {file = "orjson-3.10.3.tar.gz", hash = "sha256:2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818"}, + {file = "orjson-3.10.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:545d493c1f560d5ccfc134803ceb8955a14c3fcb47bbb4b2fee0232646d0b932"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4324929c2dd917598212bfd554757feca3e5e0fa60da08be11b4aa8b90013c1"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c13ca5e2ddded0ce6a927ea5a9f27cae77eee4c75547b4297252cb20c4d30e6"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b6c8e30adfa52c025f042a87f450a6b9ea29649d828e0fec4858ed5e6caecf63"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:338fd4f071b242f26e9ca802f443edc588fa4ab60bfa81f38beaedf42eda226c"}, + {file = "orjson-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6970ed7a3126cfed873c5d21ece1cd5d6f83ca6c9afb71bbae21a0b034588d96"}, + {file = "orjson-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:235dadefb793ad12f7fa11e98a480db1f7c6469ff9e3da5e73c7809c700d746b"}, + {file = "orjson-3.10.5-cp310-none-win32.whl", hash = "sha256:be79e2393679eda6a590638abda16d167754393f5d0850dcbca2d0c3735cebe2"}, + {file = "orjson-3.10.5-cp310-none-win_amd64.whl", hash = "sha256:c4a65310ccb5c9910c47b078ba78e2787cb3878cdded1702ac3d0da71ddc5228"}, + {file = "orjson-3.10.5-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cdf7365063e80899ae3a697def1277c17a7df7ccfc979990a403dfe77bb54d40"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b68742c469745d0e6ca5724506858f75e2f1e5b59a4315861f9e2b1df77775a"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7d10cc1b594951522e35a3463da19e899abe6ca95f3c84c69e9e901e0bd93d38"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dcbe82b35d1ac43b0d84072408330fd3295c2896973112d495e7234f7e3da2e1"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c0eb7e0c75e1e486c7563fe231b40fdd658a035ae125c6ba651ca3b07936f5"}, + {file = "orjson-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:53ed1c879b10de56f35daf06dbc4a0d9a5db98f6ee853c2dbd3ee9d13e6f302f"}, + {file = "orjson-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:099e81a5975237fda3100f918839af95f42f981447ba8f47adb7b6a3cdb078fa"}, + {file = "orjson-3.10.5-cp311-none-win32.whl", hash = "sha256:1146bf85ea37ac421594107195db8bc77104f74bc83e8ee21a2e58596bfb2f04"}, + {file = "orjson-3.10.5-cp311-none-win_amd64.whl", hash = "sha256:36a10f43c5f3a55c2f680efe07aa93ef4a342d2960dd2b1b7ea2dd764fe4a37c"}, + {file = "orjson-3.10.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:68f85ecae7af14a585a563ac741b0547a3f291de81cd1e20903e79f25170458f"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28afa96f496474ce60d3340fe8d9a263aa93ea01201cd2bad844c45cd21f5268"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cd684927af3e11b6e754df80b9ffafd9fb6adcaa9d3e8fdd5891be5a5cad51e"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d21b9983da032505f7050795e98b5d9eee0df903258951566ecc358f6696969"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ad1de7fef79736dde8c3554e75361ec351158a906d747bd901a52a5c9c8d24b"}, + {file = "orjson-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2d97531cdfe9bdd76d492e69800afd97e5930cb0da6a825646667b2c6c6c0211"}, + {file = "orjson-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d69858c32f09c3e1ce44b617b3ebba1aba030e777000ebdf72b0d8e365d0b2b3"}, + {file = "orjson-3.10.5-cp312-none-win32.whl", hash = "sha256:64c9cc089f127e5875901ac05e5c25aa13cfa5dbbbd9602bda51e5c611d6e3e2"}, + {file = "orjson-3.10.5-cp312-none-win_amd64.whl", hash = "sha256:b2efbd67feff8c1f7728937c0d7f6ca8c25ec81373dc8db4ef394c1d93d13dc5"}, + {file = "orjson-3.10.5-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:03b565c3b93f5d6e001db48b747d31ea3819b89abf041ee10ac6988886d18e01"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:584c902ec19ab7928fd5add1783c909094cc53f31ac7acfada817b0847975f26"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a35455cc0b0b3a1eaf67224035f5388591ec72b9b6136d66b49a553ce9eb1e6"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1670fe88b116c2745a3a30b0f099b699a02bb3482c2591514baf5433819e4f4d"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:185c394ef45b18b9a7d8e8f333606e2e8194a50c6e3c664215aae8cf42c5385e"}, + {file = "orjson-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ca0b3a94ac8d3886c9581b9f9de3ce858263865fdaa383fbc31c310b9eac07c9"}, + {file = "orjson-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dfc91d4720d48e2a709e9c368d5125b4b5899dced34b5400c3837dadc7d6271b"}, + {file = "orjson-3.10.5-cp38-none-win32.whl", hash = "sha256:c05f16701ab2a4ca146d0bca950af254cb7c02f3c01fca8efbbad82d23b3d9d4"}, + {file = "orjson-3.10.5-cp38-none-win_amd64.whl", hash = "sha256:8a11d459338f96a9aa7f232ba95679fc0c7cedbd1b990d736467894210205c09"}, + {file = "orjson-3.10.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:85c89131d7b3218db1b24c4abecea92fd6c7f9fab87441cfc342d3acc725d807"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb66215277a230c456f9038d5e2d84778141643207f85336ef8d2a9da26bd7ca"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:51bbcdea96cdefa4a9b4461e690c75ad4e33796530d182bdd5c38980202c134a"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbead71dbe65f959b7bd8cf91e0e11d5338033eba34c114f69078d59827ee139"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df58d206e78c40da118a8c14fc189207fffdcb1f21b3b4c9c0c18e839b5a214"}, + {file = "orjson-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c4057c3b511bb8aef605616bd3f1f002a697c7e4da6adf095ca5b84c0fd43595"}, + {file = "orjson-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b39e006b00c57125ab974362e740c14a0c6a66ff695bff44615dcf4a70ce2b86"}, + {file = "orjson-3.10.5-cp39-none-win32.whl", hash = "sha256:eded5138cc565a9d618e111c6d5c2547bbdd951114eb822f7f6309e04db0fb47"}, + {file = "orjson-3.10.5-cp39-none-win_amd64.whl", hash = "sha256:cc28e90a7cae7fcba2493953cff61da5a52950e78dc2dacfe931a317ee3d8de7"}, + {file = "orjson-3.10.5.tar.gz", hash = "sha256:7a5baef8a4284405d96c90c7c62b755e9ef1ada84c2406c24a9ebec86b89f46d"}, ] [[package]] name = "packaging" -version = "24.0" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] @@ -2769,13 +2718,13 @@ test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint" [[package]] name = "prompt-toolkit" -version = "3.0.46" +version = "3.0.47" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.46-py3-none-any.whl", hash = "sha256:45abe60a8300f3c618b23c16c4bb98c6fc80af8ce8b17c7ae92db48db3ee63c1"}, - {file = "prompt_toolkit-3.0.46.tar.gz", hash = "sha256:869c50d682152336e23c4db7f74667639b5047494202ffe7670817053fd57795"}, + {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, + {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, ] [package.dependencies] @@ -2794,13 +2743,13 @@ files = [ [[package]] name = "pydantic" -version = "2.7.3" +version = "2.7.4" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.7.3-py3-none-any.whl", hash = "sha256:ea91b002777bf643bb20dd717c028ec43216b24a6001a280f83877fd2655d0b4"}, - {file = "pydantic-2.7.3.tar.gz", hash = "sha256:c46c76a40bb1296728d7a8b99aa73dd70a48c3510111ff290034f860c99c419e"}, + {file = "pydantic-2.7.4-py3-none-any.whl", hash = "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0"}, + {file = "pydantic-2.7.4.tar.gz", hash = "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"}, ] [package.dependencies] @@ -3365,28 +3314,28 @@ files = [ [[package]] name = "ruff" -version = "0.4.7" +version = "0.4.9" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.4.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e089371c67892a73b6bb1525608e89a2aca1b77b5440acf7a71dda5dac958f9e"}, - {file = "ruff-0.4.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:10f973d521d910e5f9c72ab27e409e839089f955be8a4c8826601a6323a89753"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59c3d110970001dfa494bcd95478e62286c751126dfb15c3c46e7915fc49694f"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa9773c6c00f4958f73b317bc0fd125295110c3776089f6ef318f4b775f0abe4"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07fc80bbb61e42b3b23b10fda6a2a0f5a067f810180a3760c5ef1b456c21b9db"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:fa4dafe3fe66d90e2e2b63fa1591dd6e3f090ca2128daa0be33db894e6c18648"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7c0083febdec17571455903b184a10026603a1de078428ba155e7ce9358c5f6"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad1b20e66a44057c326168437d680a2166c177c939346b19c0d6b08a62a37589"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbf5d818553add7511c38b05532d94a407f499d1a76ebb0cad0374e32bc67202"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:50e9651578b629baec3d1513b2534de0ac7ed7753e1382272b8d609997e27e83"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8874a9df7766cb956b218a0a239e0a5d23d9e843e4da1e113ae1d27ee420877a"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:b9de9a6e49f7d529decd09381c0860c3f82fa0b0ea00ea78409b785d2308a567"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:13a1768b0691619822ae6d446132dbdfd568b700ecd3652b20d4e8bc1e498f78"}, - {file = "ruff-0.4.7-py3-none-win32.whl", hash = "sha256:769e5a51df61e07e887b81e6f039e7ed3573316ab7dd9f635c5afaa310e4030e"}, - {file = "ruff-0.4.7-py3-none-win_amd64.whl", hash = "sha256:9e3ab684ad403a9ed1226894c32c3ab9c2e0718440f6f50c7c5829932bc9e054"}, - {file = "ruff-0.4.7-py3-none-win_arm64.whl", hash = "sha256:10f2204b9a613988e3484194c2c9e96a22079206b22b787605c255f130db5ed7"}, - {file = "ruff-0.4.7.tar.gz", hash = "sha256:2331d2b051dc77a289a653fcc6a42cce357087c5975738157cd966590b18b5e1"}, + {file = "ruff-0.4.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b262ed08d036ebe162123170b35703aaf9daffecb698cd367a8d585157732991"}, + {file = "ruff-0.4.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:98ec2775fd2d856dc405635e5ee4ff177920f2141b8e2d9eb5bd6efd50e80317"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4555056049d46d8a381f746680db1c46e67ac3b00d714606304077682832998e"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e91175fbe48f8a2174c9aad70438fe9cb0a5732c4159b2a10a3565fea2d94cde"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e8e7b95673f22e0efd3571fb5b0cf71a5eaaa3cc8a776584f3b2cc878e46bff"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2d45ddc6d82e1190ea737341326ecbc9a61447ba331b0a8962869fcada758505"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:78de3fdb95c4af084087628132336772b1c5044f6e710739d440fc0bccf4d321"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06b60f91bfa5514bb689b500a25ba48e897d18fea14dce14b48a0c40d1635893"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88bffe9c6a454bf8529f9ab9091c99490578a593cc9f9822b7fc065ee0712a06"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:673bddb893f21ab47a8334c8e0ea7fd6598ecc8e698da75bcd12a7b9d0a3206e"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8c1aff58c31948cc66d0b22951aa19edb5af0a3af40c936340cd32a8b1ab7438"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:784d3ec9bd6493c3b720a0b76f741e6c2d7d44f6b2be87f5eef1ae8cc1d54c84"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:732dd550bfa5d85af8c3c6cbc47ba5b67c6aed8a89e2f011b908fc88f87649db"}, + {file = "ruff-0.4.9-py3-none-win32.whl", hash = "sha256:8064590fd1a50dcf4909c268b0e7c2498253273309ad3d97e4a752bb9df4f521"}, + {file = "ruff-0.4.9-py3-none-win_amd64.whl", hash = "sha256:e0a22c4157e53d006530c902107c7f550b9233e9706313ab57b892d7197d8e52"}, + {file = "ruff-0.4.9-py3-none-win_arm64.whl", hash = "sha256:5d5460f789ccf4efd43f265a58538a2c24dbce15dbf560676e430375f20a8198"}, + {file = "ruff-0.4.9.tar.gz", hash = "sha256:f1cb0828ac9533ba0135d148d214e284711ede33640465e706772645483427e3"}, ] [[package]] @@ -3706,13 +3655,13 @@ docs = ["ipykernel", "jupyter-client", "matplotlib", "nbconvert", "nbformat", "n [[package]] name = "tenacity" -version = "8.3.0" +version = "8.4.1" description = "Retry code until it succeeds" optional = false python-versions = ">=3.8" files = [ - {file = "tenacity-8.3.0-py3-none-any.whl", hash = "sha256:3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185"}, - {file = "tenacity-8.3.0.tar.gz", hash = "sha256:953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2"}, + {file = "tenacity-8.4.1-py3-none-any.whl", hash = "sha256:28522e692eda3e1b8f5e99c51464efcc0b9fc86933da92415168bc1c4e2308fa"}, + {file = "tenacity-8.4.1.tar.gz", hash = "sha256:54b1412b878ddf7e1f1577cd49527bad8cdef32421bd599beac0c6c3f10582fd"}, ] [package.extras] @@ -3786,13 +3735,13 @@ typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.12.1" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.12.1-py3-none-any.whl", hash = "sha256:6024b58b69089e5a89c347397254e35f1bf02a907728ec7fee9bf0fe837d203a"}, - {file = "typing_extensions-4.12.1.tar.gz", hash = "sha256:915f5e35ff76f56588223f15fdd5938f9a1cf9195c0de25130c627e4d597f6d1"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] @@ -3909,13 +3858,13 @@ six = "*" [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] @@ -4487,4 +4436,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.8.1,<3.12" -content-hash = "52524653d4a42a7685abf0bb15fd27f44eeb40144c016ca688cb4e62ddadbfc9" +content-hash = "2181e4b59c9b0c13ec4b857ee75aaa270677bc29fb900a7da3b3f6755e24e87e" diff --git a/cli/pyproject.toml b/cli/pyproject.toml index 78ef17aff25..3b502e9843f 100644 --- a/cli/pyproject.toml +++ b/cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-cli" -version = "1.0.2" +version = "1.0.3" description = "Investment Research for Everyone, Anywhere." authors = ["OpenBB "] packages = [{ include = "openbb_cli" }] @@ -17,14 +17,13 @@ openbb = 'openbb_cli.cli:main' python = "^3.8.1,<3.12" # OpenBB dependencies -openbb = { version = "^4.2.1", extras = ["all"] } +openbb = { version = "^4.2.3", extras = ["all"] } # CLI dependencies prompt-toolkit = "^3.0.16" rich = "^13" python-dotenv = "^1.0.0" openpyxl = "^3.1.2" -openbb-core = "^1.2.4" [build-system] requires = ["setuptools<65.5.0", "poetry-core>=1.0.0"] diff --git a/cli/tests/test_argparse_translator_obbject_registry.py b/cli/tests/test_argparse_translator_obbject_registry.py index a37e5a33541..53a4a1cea80 100644 --- a/cli/tests/test_argparse_translator_obbject_registry.py +++ b/cli/tests/test_argparse_translator_obbject_registry.py @@ -35,7 +35,7 @@ def mock_obbject(): obb.extra = {"command": "test_command"} obb._route = "/test/route" obb._standard_params = Mock() - obb._standard_params.__dict__ = {} + obb._standard_params = {} obb.results = [MockModel(1), MockModel(2)] return obb diff --git a/cli/tests/test_controllers_settings_controller.py b/cli/tests/test_controllers_settings_controller.py index 7540b3bea4f..6b2389d491f 100644 --- a/cli/tests/test_controllers_settings_controller.py +++ b/cli/tests/test_controllers_settings_controller.py @@ -5,7 +5,7 @@ from unittest.mock import MagicMock, patch import pytest from openbb_cli.controllers.settings_controller import SettingsController -# pylint: disable=redefined-outer-name, unused-argument +# pylint: disable=redefined-outer-name, unused-argument, no-member @pytest.fixture @@ -14,7 +14,7 @@ def mock_session(): mock.settings.USE_INTERACTIVE_DF = False mock.settings.ALLOWED_NUMBER_OF_ROWS = 20 mock.settings.TIMEZONE = "UTC" - + mock.style.available_styles = ["dark"] mock.settings.set_item = MagicMock() yield mock @@ -35,7 +35,7 @@ def test_call_interactive(mock_session): ) def test_call_n_rows(input_rows, expected, mock_session): controller = SettingsController() - args = ["--rows", str(input_rows)] + args = ["--value", str(input_rows)] controller.call_n_rows(args) mock_session.settings.set_item.assert_called_with( "ALLOWED_NUMBER_OF_ROWS", expected @@ -45,7 +45,7 @@ def test_call_n_rows(input_rows, expected, mock_session): def test_call_n_rows_no_args_provided(mock_session): controller = SettingsController() controller.call_n_rows([]) - mock_session.console.print.assert_called_with("Current number of rows: 20") + mock_session.console.print.assert_called_with("[info]Current value:[/info] 20") @pytest.mark.parametrize( @@ -56,22 +56,18 @@ def test_call_n_rows_no_args_provided(mock_session): ], ) def test_call_timezone(timezone, valid, mock_session): - with patch( - "openbb_cli.controllers.settings_controller.is_timezone_valid", - return_value=valid, - ): - controller = SettingsController() - args = ["--timezone", timezone] - controller.call_timezone(args) - if valid: - mock_session.settings.set_item.assert_called_with("TIMEZONE", timezone) - else: - mock_session.settings.set_item.assert_not_called() + controller = SettingsController() + args = ["--value", timezone] + controller.call_timezone(args) + if valid: + mock_session.settings.set_item.assert_called_with("TIMEZONE", timezone) + else: + mock_session.settings.set_item.assert_not_called() def test_call_console_style(mock_session): controller = SettingsController() - args = ["--style", "dark"] + args = ["--value", "dark"] controller.call_console_style(args) mock_session.console.print.assert_called() @@ -80,25 +76,25 @@ def test_call_console_style_no_args(mock_session): mock_session.settings.RICH_STYLE = "default" controller = SettingsController() controller.call_console_style([]) - mock_session.console.print.assert_called_with("Current console style: default") + mock_session.console.print.assert_called_with("[info]Current value:[/info] default") def test_call_flair(mock_session): controller = SettingsController() - args = ["--flair", "rocket"] + args = ["--value", "rocket"] controller.call_flair(args) def test_call_flair_no_args(mock_session): - mock_session.settings.FLAIR = "star" + mock_session.settings.FLAIR = "bug" controller = SettingsController() controller.call_flair([]) - mock_session.console.print.assert_called_with("Current flair: star") + mock_session.console.print.assert_called_with("[info]Current value:[/info] bug") def test_call_obbject_display(mock_session): controller = SettingsController() - args = ["--number", "5"] + args = ["--value", "5"] controller.call_obbject_display(args) mock_session.settings.set_item.assert_called_once_with( "N_TO_DISPLAY_OBBJECT_REGISTRY", 5 @@ -109,16 +105,14 @@ def test_call_obbject_display_no_args(mock_session): mock_session.settings.N_TO_DISPLAY_OBBJECT_REGISTRY = 10 controller = SettingsController() controller.call_obbject_display([]) - mock_session.console.print.assert_called_with( - "Current number of results to display from the OBBject registry: 10" - ) + mock_session.console.print.assert_called_with("[info]Current value:[/info] 10") @pytest.mark.parametrize( "args, expected", [ - (["--rows", "50"], 50), - (["--rows", "100"], 100), + (["--value", "50"], 50), + (["--value", "100"], 100), ([], 20), ], ) @@ -131,4 +125,4 @@ def test_call_n_rows_v2(args, expected, mock_session): "ALLOWED_NUMBER_OF_ROWS", expected ) else: - mock_session.console.print.assert_called_with("Current number of rows: 20") + mock_session.console.print.assert_called_with("[info]Current value:[/info] 20") diff --git a/cli/tests/test_controllers_utils.py b/cli/tests/test_controllers_utils.py index 84c7548c9df..f582c91f821 100644 --- a/cli/tests/test_controllers_utils.py +++ b/cli/tests/test_controllers_utils.py @@ -14,7 +14,6 @@ from openbb_cli.controllers.utils import ( print_goodbye, print_guest_block_msg, remove_file, - reset, welcome_message, ) @@ -24,13 +23,13 @@ from openbb_cli.controllers.utils import ( @pytest.fixture def mock_session(): """Mock the session and its dependencies.""" - with patch("openbb_cli.controllers.utils.Session", autospec=True) as mock: - mock.return_value.console.print = MagicMock() - mock.return_value.is_local = MagicMock(return_value=True) - mock.return_value.settings.VERSION = "1.0" - mock.return_value.user.profile.hub_session.username = "testuser" - mock.return_value.settings.FLAIR = "rocket" - yield mock + with patch("openbb_cli.controllers.utils.session") as mock_session: + mock_session.console.print = MagicMock() + mock_session.is_local = MagicMock(return_value=True) + mock_session.settings.VERSION = "1.0" + mock_session.user.profile.hub_session.username = "testuser" + mock_session.settings.FLAIR = "rocket" + yield mock_session def test_remove_file_existing_file(): @@ -55,22 +54,13 @@ def test_remove_file_failure(mock_session): "os.remove", side_effect=Exception("Error") ): assert not remove_file(Path("/path/to/file")) - mock_session.return_value.console.print.assert_called() + mock_session.console.print.assert_called() def test_print_goodbye(mock_session): """Test printing the goodbye message.""" print_goodbye() - mock_session.return_value.console.print.assert_called() - - -def test_reset(mock_session): - """Test resetting the CLI.""" - with patch("openbb_cli.controllers.utils.remove_file"), patch( - "sys.modules", new_callable=dict - ): - reset() - mock_session.return_value.console.print.assert_called() + mock_session.console.print.assert_called() def test_parse_and_split_input(): @@ -97,13 +87,13 @@ def test_parse_and_split_input_special_cases(input_command, expected_output): def test_print_guest_block_msg(mock_session): """Test printing the guest block message.""" print_guest_block_msg() - mock_session.return_value.console.print.assert_called() + mock_session.console.print.assert_called() def test_welcome_message(mock_session): """Test printing the welcome message.""" welcome_message() - mock_session.return_value.console.print.assert_called_with( + mock_session.console.print.assert_called_with( "\nWelcome to OpenBB Platform CLI v1.0" ) diff --git a/cli/tests/test_models_settings.py b/cli/tests/test_models_settings.py index f9f2a936cd1..4e651445316 100644 --- a/cli/tests/test_models_settings.py +++ b/cli/tests/test_models_settings.py @@ -20,7 +20,6 @@ def test_default_values(): assert fields["USE_DATETIME"].default is True assert fields["USE_PROMPT_TOOLKIT"].default is True assert fields["ENABLE_EXIT_AUTO_HELP"].default is True - assert fields["REMEMBER_CONTEXTS"].default is True assert fields["ENABLE_RICH_PANEL"].default is True assert fields["TOOLBAR_HINT"].default is True assert fields["SHOW_MSG_OBBJECT_REGISTRY"].default is False diff --git a/examples/copperToGoldRatio.ipynb b/examples/copperToGoldRatio.ipynb index cb5dd96fecc..81584cfbce0 100644 --- a/examples/copperToGoldRatio.ipynb +++ b/examples/copperToGoldRatio.ipynb @@ -46,11 +46,11 @@ " obb.derivatives.futures.historical(\n", " symbol,\n", " start_date=\"2000-01-01\",\n", - " interval=\"1wk\",\n", + " interval=\"1W\",\n", " ).to_df()[\"close\"].rename(symbol)\n", " )\n", "data.columns = cols_dict.values()\n", - "data.index = data.index.strftime(\"%Y-%m-%d\")" + "data.index = pd.to_datetime(data.index)" ] }, { diff --git a/openbb_platform/README.md b/openbb_platform/README.md index c3c2084fc38..40c9da00d07 100644 --- a/openbb_platform/README.md +++ b/openbb_platform/README.md @@ -12,6 +12,8 @@ The OpenBB Platform provides a convenient way to access raw financial data from multiple data providers. The package comes with a ready to use REST API - this allows developers from any language to easily create applications on top of OpenBB Platform. +Please find the complete documentation at [docs.openbb.co](https://docs.openbb.co/platform). + ## Installation The command below provides access to the core functionalities behind the OpenBB Platform. diff --git a/openbb_platform/core/openbb_core/app/command_runner.py b/openbb_platform/core/openbb_core/app/command_runner.py index e3dce19f465..edfe22436cc 100644 --- a/openbb_platform/core/openbb_core/app/command_runner.py +++ b/openbb_platform/core/openbb_core/app/command_runner.py @@ -237,23 +237,20 @@ class StaticCommandRunner: raise OpenBBError( "Charting is not installed. Please install `openbb-charting`." ) + # Here we will pop the chart_params kwargs and flatten them into the kwargs. chart_params = {} - extra_params = kwargs.get("extra_params", {}) + extra_params = getattr(obbject, "_extra_params", {}) - if hasattr(extra_params, "__dict__") and hasattr( - extra_params, "chart_params" - ): - chart_params = kwargs["extra_params"].__dict__.get("chart_params", {}) - elif isinstance(extra_params, dict) and "chart_params" in extra_params: - chart_params = kwargs["extra_params"].get("chart_params", {}) + if extra_params and "chart_params" in extra_params: + chart_params = extra_params.get("chart_params", {}) - if "chart_params" in kwargs and kwargs["chart_params"] is not None: + if kwargs.get("chart_params"): chart_params.update(kwargs.pop("chart_params", {})) - + # Verify that kwargs is not nested as kwargs so we don't miss any chart params. if ( "kwargs" in kwargs and "chart_params" in kwargs["kwargs"] - and kwargs["kwargs"].get("chart_params") is not None + and kwargs["kwargs"].get("chart_params") ): chart_params.update(kwargs.pop("kwargs", {}).get("chart_params", {})) @@ -265,6 +262,14 @@ class StaticCommandRunner: raise OpenBBError(e) from e warn(str(e), OpenBBWarning) + @classmethod + def _extract_params(cls, kwargs, key) -> Dict: + """Extract params models from kwargs and convert to a dictionary.""" + params = kwargs.get(key, {}) + if hasattr(params, "__dict__"): + return params.__dict__ + return params + # pylint: disable=R0913, R0914 @classmethod async def _execute_func( @@ -308,9 +313,17 @@ class StaticCommandRunner: try: obbject = await cls._command(func, kwargs) - # pylint: disable=protected-access - obbject._route = route - obbject._standard_params = kwargs.get("standard_params", None) + + # This section prepares the obbject to pass to the charting service. + obbject._route = route # pylint: disable=protected-access + std_params = cls._extract_params(kwargs, "standard_params") or ( + kwargs if "data" in kwargs else {} + ) + extra_params = cls._extract_params(kwargs, "extra_params") + obbject._standard_params = ( # pylint: disable=protected-access + std_params + ) + obbject._extra_params = extra_params # pylint: disable=protected-access if chart and obbject.results: cls._chart(obbject, **kwargs) finally: diff --git a/openbb_platform/core/openbb_core/app/model/defaults.py b/openbb_platform/core/openbb_core/app/model/defaults.py index 1f4a176674f..a6eb632ac8e 100644 --- a/openbb_platform/core/openbb_core/app/model/defaults.py +++ b/openbb_platform/core/openbb_core/app/model/defaults.py @@ -44,3 +44,8 @@ class Defaults(BaseModel): v["provider"] = [provider] new_values["commands"][clean_k] = v return new_values + + def update(self, incoming: "Defaults"): + """Update current defaults.""" + incoming_commands = incoming.model_dump(exclude_none=True).get("commands", {}) + self.__dict__["commands"].update(incoming_commands) diff --git a/openbb_platform/core/openbb_core/app/model/hub/hub_user_settings.py b/openbb_platform/core/openbb_core/app/model/hub/hub_user_settings.py index 16ea348319e..edf52f3111e 100644 --- a/openbb_platform/core/openbb_core/app/model/hub/hub_user_settings.py +++ b/openbb_platform/core/openbb_core/app/model/hub/hub_user_settings.py @@ -1,6 +1,6 @@ """Hub user settings model.""" -from typing import Dict, Optional +from typing import Any, Dict, Optional from pydantic import BaseModel, ConfigDict, Field @@ -8,9 +8,9 @@ from pydantic import BaseModel, ConfigDict, Field class HubUserSettings(BaseModel): """Hub user settings model.""" - # features_settings: Dict[str, str] + features_settings: Dict[str, Any] = Field(default_factory=dict) features_keys: Dict[str, Optional[str]] = Field(default_factory=dict) - # features_sources: Dict[str, List[str]] + # features_sources: Dict[str, Any] # features_terminal_style: Dict[str, Union[str, Dict[str, str]]] model_config = ConfigDict(validate_assignment=True) diff --git a/openbb_platform/core/openbb_core/app/model/obbject.py b/openbb_platform/core/openbb_core/app/model/obbject.py index 67f41e9d15d..d9600746092 100644 --- a/openbb_platform/core/openbb_core/app/model/obbject.py +++ b/openbb_platform/core/openbb_core/app/model/obbject.py @@ -72,6 +72,9 @@ class OBBject(Tagged, Generic[T]): _standard_params: Optional[Dict[str, Any]] = PrivateAttr( default_factory=dict, ) + _extra_params: Optional[Dict[str, Any]] = PrivateAttr( + default_factory=dict, + ) def __repr__(self) -> str: """Human readable representation of the object.""" diff --git a/openbb_platform/core/openbb_core/app/model/system_settings.py b/openbb_platform/core/openbb_core/app/model/system_settings.py index c5439fb760d..470e265a9b4 100644 --- a/openbb_platform/core/openbb_core/app/model/system_settings.py +++ b/openbb_platform/core/openbb_core/app/model/system_settings.py @@ -42,7 +42,7 @@ class SystemSettings(Tagged): logging_handlers: List[str] = Field(default_factory=lambda: ["file"]) logging_rolling_clock: bool = False logging_verbosity: int = 20 - logging_sub_app: Literal["python", "api", "pro"] = "python" + logging_sub_app: Literal["python", "api", "pro", "cli"] = "python" logging_suppress: bool = False log_collect: bool = True diff --git a/openbb_platform/core/openbb_core/app/service/hub_service.py b/openbb_platform/core/openbb_core/app/service/hub_service.py index 3448eb8d52c..3f5bbb8b7dc 100644 --- a/openbb_platform/core/openbb_core/app/service/hub_service.py +++ b/openbb_platform/core/openbb_core/app/service/hub_service.py @@ -1,12 +1,13 @@ """Hub manager class.""" -from typing import Optional +from typing import Optional, Tuple from warnings import warn from fastapi import HTTPException from jwt import ExpiredSignatureError, PyJWTError, decode, get_unverified_header from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.model.credentials import Credentials +from openbb_core.app.model.defaults import Defaults from openbb_core.app.model.hub.hub_session import HubSession from openbb_core.app.model.hub.hub_user_settings import HubUserSettings from openbb_core.app.model.profile import Profile @@ -81,7 +82,9 @@ class HubService: """Push user settings to Hub.""" if self._session: if user_settings.credentials: - hub_user_settings = self.platform2hub(user_settings.credentials) + hub_user_settings = self.platform2hub( + user_settings.credentials, user_settings.defaults + ) return self._put_user_settings(self._session, hub_user_settings) return False raise OpenBBError( @@ -93,8 +96,10 @@ class HubService: if self._session: self._hub_user_settings = self._get_user_settings(self._session) profile = Profile(hub_session=self._session) - credentials = self.hub2platform(self._hub_user_settings) - return UserSettings(profile=profile, credentials=credentials) + credentials, defaults = self.hub2platform(self._hub_user_settings) + return UserSettings( + profile=profile, credentials=credentials, defaults=defaults + ) raise OpenBBError( "No session found. Login or provide a 'HubSession' on initialization." ) @@ -223,7 +228,7 @@ class HubService: detail = response.json().get("detail", None) raise HTTPException(status_code, detail) - def hub2platform(self, settings: HubUserSettings) -> Credentials: + def hub2platform(self, settings: HubUserSettings) -> Tuple[Credentials, Defaults]: """Convert Hub user settings to Platform models.""" if any(k in settings.features_keys for k in self.V3TOV4): deprecated = { @@ -242,9 +247,12 @@ class HubService: self.V3TOV4.get(k, k): settings.features_keys.get(self.V3TOV4.get(k, k), v) for k, v in settings.features_keys.items() } - return Credentials(**hub_credentials) + defaults = settings.features_settings.get("defaults", {}) + return Credentials(**hub_credentials), Defaults(**defaults) - def platform2hub(self, credentials: Credentials) -> HubUserSettings: + def platform2hub( + self, credentials: Credentials, defaults: Defaults + ) -> HubUserSettings: """Convert Platform models to Hub user settings.""" # Dump mode json ensures SecretStr values are serialized as strings credentials = credentials.model_dump(mode="json", exclude_none=True) @@ -254,6 +262,8 @@ class HubService: # If v3 key was in the hub already, we keep it k = v3_k if v3_k in settings.features_keys else v4_k settings.features_keys[k] = v + defaults_ = defaults.model_dump(mode="json", exclude_none=True) + settings.features_settings.update({"defaults": defaults_}) return settings @staticmethod diff --git a/openbb_platform/core/openbb_core/app/static/account.py b/openbb_platform/core/openbb_core/app/static/account.py index 6195c85b781..8176c901052 100644 --- a/openbb_platform/core/openbb_core/app/static/account.py +++ b/openbb_platform/core/openbb_core/app/static/account.py @@ -125,6 +125,7 @@ class Account: # noqa: D205, D400 incoming = self._hub_service.pull() self._base_app.user.profile = incoming.profile self._base_app.user.credentials.update(incoming.credentials) + self._base_app.user.defaults.update(incoming.defaults) if remember_me: Path(self._openbb_directory).mkdir(parents=False, exist_ok=True) session_file = Path(self._openbb_directory, self.SESSION_FILE) @@ -187,6 +188,7 @@ class Account: # noqa: D205, D400 incoming = self._hub_service.pull() self._base_app.user.profile = incoming.profile self._base_app.user.credentials.update(incoming.credentials) + self._base_app.user.defaults.update(incoming.defaults) if return_settings: return self._base_app._command_runner.user_settings return None diff --git a/openbb_platform/core/openbb_core/app/static/container.py b/openbb_platform/core/openbb_core/app/static/container.py index bcabe6507a2..288430b4a5f 100644 --- a/openbb_platform/core/openbb_core/app/static/container.py +++ b/openbb_platform/core/openbb_core/app/static/container.py @@ -69,14 +69,14 @@ class Container: result = self._check_credentials(p) if result: return p - elif result is False: + if result is False: tries.append((p, "missing credentials")) else: tries.append((p, "not found")) msg = "\n ".join([f"* '{pair[0]}' -> {pair[1]}" for pair in tries]) raise OpenBBError( - f"Provider fallback failed, please specify the provider or update credentials.\n" + f"Provider fallback failed, please specify one of the available providers or update credentials.\n" f"[Providers]\n {msg}" ) return choice diff --git a/openbb_platform/core/openbb_core/provider/abstract/provider.py b/openbb_platform/core/openbb_core/provider/abstract/provider.py index 756060ba59b..4858471d442 100644 --- a/openbb_platform/core/openbb_core/provider/abstract/provider.py +++ b/openbb_platform/core/openbb_core/provider/abstract/provider.py @@ -17,7 +17,7 @@ class Provider: credentials: Optional[List[str]] = None, fetcher_dict: Optional[Dict[str, Type[Fetcher]]] = None, repr_name: Optional[str] = None, - v3_credentials: Optional[List[str]] = None, + deprecated_credentials: Optional[Dict[str, Optional[str]]] = None, instructions: Optional[str] = None, ) -> None: """Initialize the provider. @@ -36,8 +36,8 @@ class Provider: Dictionary of fetchers, by default None. repr_name: Optional[str] Full name of the provider, by default None. - v3_credentials: Optional[List[str]] - List of corresponding v3 credentials, by default None. + deprecated_credentials: Optional[Dict[str, Optional[str]]] + Map of deprecated credentials to its current name, by default None. instructions: Optional[str] Instructions on how to setup the provider. For example, how to get an API key. """ @@ -52,5 +52,5 @@ class Provider: for c in credentials: self.credentials.append(f"{self.name.lower()}_{c}") self.repr_name = repr_name - self.v3_credentials = v3_credentials + self.deprecated_credentials = deprecated_credentials self.instructions = instructions diff --git a/openbb_platform/core/openbb_core/provider/query_executor.py b/openbb_platform/core/openbb_core/provider/query_executor.py index 7a742a0c3bd..dd19503a690 100644 --- a/openbb_platform/core/openbb_core/provider/query_executor.py +++ b/openbb_platform/core/openbb_core/provider/query_executor.py @@ -55,7 +55,10 @@ class QueryExecutor: if require_credentials: website = provider.website or "" extra_msg = f" Check {website} to get it." if website else "" - raise OpenBBError(f"Missing credential '{c}'.{extra_msg}") + raise OpenBBError( + f"Missing credential '{c}'.{extra_msg} Known more about how to set provider " + "credentials at https://docs.openbb.co/platform/getting_started/api_keys." + ) else: filtered_credentials[c] = secret diff --git a/openbb_platform/core/openbb_core/provider/standard_models/ameribor_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/ameribor.py similarity index 59% rename from openbb_platform/core/openbb_core/provider/standard_models/ameribor_rates.py rename to openbb_platform/core/openbb_core/provider/standard_models/ameribor.py index 4dad428a6a1..2edf6f66b67 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/ameribor_rates.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/ameribor.py @@ -13,7 +13,7 @@ from openbb_core.provider.utils.descriptions import ( ) -class AMERIBORQueryParams(QueryParams): +class AmeriborQueryParams(QueryParams): """AMERIBOR Query.""" start_date: Optional[dateType] = Field( @@ -26,8 +26,19 @@ class AMERIBORQueryParams(QueryParams): ) -class AMERIBORData(Data): +class AmeriborData(Data): """AMERIBOR Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="AMERIBOR rate.") + symbol: Optional[str] = Field( + default=None, description=DATA_DESCRIPTIONS.get("symbol", "") + ) + maturity: str = Field(description="Maturity length of the item.") + rate: float = Field( + description="Interest rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + title: Optional[str] = Field( + default=None, + description="Title of the series.", + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/cp.py b/openbb_platform/core/openbb_core/provider/standard_models/bond_indices.py similarity index 54% rename from openbb_platform/core/openbb_core/provider/standard_models/cp.py rename to openbb_platform/core/openbb_core/provider/standard_models/bond_indices.py index 8fbc9888f4b..f778c3bb6c1 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/cp.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/bond_indices.py @@ -1,4 +1,4 @@ -"""Commercial Paper Standard Model.""" +"""Bond Indices Standard Model.""" from datetime import ( date as dateType, @@ -15,8 +15,8 @@ from openbb_core.provider.utils.descriptions import ( ) -class CommercialPaperParams(QueryParams): - """Commercial Paper Query.""" +class BondIndicesQueryParams(QueryParams): + """Bond Indices Query.""" start_date: Optional[dateType] = Field( default=None, @@ -26,28 +26,27 @@ class CommercialPaperParams(QueryParams): default=None, description=QUERY_DESCRIPTIONS.get("end_date", ""), ) - maturity: Literal["overnight", "7d", "15d", "30d", "60d", "90d"] = Field( - default="30d", - description="The maturity.", - ) - category: Literal["asset_backed", "financial", "nonfinancial"] = Field( - default="financial", - description="The category.", - ) - grade: Literal["aa", "a2_p2"] = Field( - default="aa", - description="The grade.", + index_type: Literal["yield", "yield_to_worst", "total_return", "oas"] = Field( + default="yield", + description="The type of series. OAS is the option-adjusted spread. Default is yield.", + json_schema_extra={ + "choices": ["yield", "yield_to_worst", "total_return", "oas"] + }, ) - @field_validator("maturity", "category", "grade", mode="before", check_fields=False) + @field_validator("index_type", mode="before", check_fields=False) @classmethod def to_lower(cls, v: Optional[str]) -> Optional[str]: """Convert field to lowercase.""" return v.lower() if v else v -class CommercialPaperData(Data): - """Commercial Paper Data.""" +class BondIndicesData(Data): + """Bond Indices Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="Commercial Paper Rate.") + symbol: Optional[str] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("symbol", ""), + ) + value: float = Field(description="Index values.") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/commercial_paper.py b/openbb_platform/core/openbb_core/provider/standard_models/commercial_paper.py new file mode 100644 index 00000000000..2f4fc5cdb5c --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/commercial_paper.py @@ -0,0 +1,46 @@ +"""Commercial Paper Standard Model.""" + +from datetime import ( + date as dateType, +) +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class CommercialPaperParams(QueryParams): + """Commercial Paper Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class CommercialPaperData(Data): + """Commercial Paper Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + symbol: Optional[str] = Field( + default=None, description=DATA_DESCRIPTIONS.get("symbol", "") + ) + maturity: str = Field(description="Maturity length of the item.") + rate: float = Field( + description="Interest rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + title: Optional[str] = Field( + default=None, + description="Title of the series.", + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/earnings_call_transcript.py b/openbb_platform/core/openbb_core/provider/standard_models/earnings_call_transcript.py index 65ddec15f8f..d1dae96a034 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/earnings_call_transcript.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/earnings_call_transcript.py @@ -17,7 +17,7 @@ class EarningsCallTranscriptQueryParams(QueryParams): """Earnings Call Transcript rating Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - year: int = Field(description="Year of the earnings call transcript.") + year: Union[int, str] = Field(description="Year of the earnings call transcript.") @field_validator("symbol", mode="before", check_fields=False) @classmethod diff --git a/openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py deleted file mode 100644 index 0745183360c..00000000000 --- a/openbb_platform/core/openbb_core/provider/standard_models/estr_rates.py +++ /dev/null @@ -1,33 +0,0 @@ -"""ESTR Standard Model.""" - -from datetime import date as dateType -from typing import Optional - -from pydantic import Field - -from openbb_core.provider.abstract.data import Data -from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) - - -class ESTRQueryParams(QueryParams): - """ESTR Query.""" - - start_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("start_date", ""), - ) - end_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("end_date", ""), - ) - - -class ESTRData(Data): - """ESTR Data.""" - - date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="ESTR rate.") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py b/openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py new file mode 100644 index 00000000000..dfe1959d37a --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/euro_short_term_rate.py @@ -0,0 +1,67 @@ +"""Euro Short Term Rate Standard Model.""" + +from datetime import date as dateType +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class EuroShortTermRateQueryParams(QueryParams): + """Euro Short Term Rate Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class EuroShortTermRateData(Data): + """Euro Short Term Rate Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + rate: float = Field( + description="Volume-weighted trimmed mean rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_25: Optional[float] = Field( + default=None, + description="Rate at 25th percentile of volume.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_75: Optional[float] = Field( + default=None, + description="Rate at 75th percentile of volume.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + volume: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("volume", "")+ " (Millions of €EUR).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1e6, + }, + ) + transactions: Optional[int] = Field( + default=None, + description="Number of transactions.", + ) + number_of_banks: Optional[int] = Field( + default=None, + description="Number of active banks.", + ) + large_bank_share_of_volume: Optional[float] = Field( + default=None, + description="The percent of volume attributable to the 5 largest active banks.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py b/openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py new file mode 100644 index 00000000000..960f9fe624b --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/federal_funds_rate.py @@ -0,0 +1,75 @@ +"""Federal Funds Rate Standard Model.""" + +from datetime import date as dateType +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class FederalFundsRateQueryParams(QueryParams): + """Federal Funds Rate Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class FederalFundsRateData(Data): + """Federal Funds Rate Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + rate: float = Field( + description="Effective federal funds rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + target_range_upper: Optional[float] = Field( + default=None, + description="Upper bound of the target range.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + target_range_lower: Optional[float] = Field( + default=None, + description="Lower bound of the target range.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_1: Optional[float] = Field( + default=None, + description="1st percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_25: Optional[float] = Field( + default=None, + description="25th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_75: Optional[float] = Field( + default=None, + description="75th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_99: Optional[float] = Field( + default=None, + description="99th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + volume: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("volume", "") + + "The notional volume of transactions (Billions of $).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1e9, + }, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/hqm.py b/openbb_platform/core/openbb_core/provider/standard_models/high_quality_market.py similarity index 54% rename from openbb_platform/core/openbb_core/provider/standard_models/hqm.py rename to openbb_platform/core/openbb_core/provider/standard_models/high_quality_market.py index 233cec3891c..2152b00b4df 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/hqm.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/high_quality_market.py @@ -3,9 +3,9 @@ from datetime import ( date as dateType, ) -from typing import Literal, Optional +from typing import Optional, Union -from pydantic import Field, field_validator +from pydantic import Field from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.query_params import QueryParams @@ -18,26 +18,18 @@ from openbb_core.provider.utils.descriptions import ( class HighQualityMarketCorporateBondQueryParams(QueryParams): """High Quality Market Corporate Bond Query.""" - date: Optional[dateType] = Field( + date: Optional[Union[dateType, str]] = Field( default=None, description=QUERY_DESCRIPTIONS.get("date", ""), ) - yield_curve: Literal["spot", "par"] = Field( - default="spot", - description="The yield curve type.", - ) - - @field_validator("yield_curve", mode="before", check_fields=False) - @classmethod - def to_lower(cls, v: Optional[str]) -> Optional[str]: - """Convert field to lowercase.""" - return v.lower() if v else v class HighQualityMarketCorporateBondData(Data): """High Quality Market Corporate Bond Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="HighQualityMarketCorporateBond Rate.") + rate: float = Field( + description="Interest rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) maturity: str = Field(description="Maturity.") - yield_curve: Literal["spot", "par"] = Field(description="The yield curve type.") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/manufacturing_outlook_texas.py b/openbb_platform/core/openbb_core/provider/standard_models/manufacturing_outlook_texas.py new file mode 100644 index 00000000000..446340dd965 --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/manufacturing_outlook_texas.py @@ -0,0 +1,55 @@ +"""Manufacturing Outlook - Texas - Standard Model.""" + +from datetime import ( + date as dateType, +) +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class ManufacturingOutlookTexasQueryParams(QueryParams): + """Manufacturing Outlook - Texas - Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class ManufacturingOutlookTexasData(Data): + """Manufacturing Outlook - Texas - Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + topic: Optional[str] = Field( + default=None, description="Topic of the survey response." + ) + diffusion_index: Optional[float] = Field( + default=None, description="Diffusion Index." + ) + percent_reporting_increase: Optional[float] = Field( + default=None, + description="Percent of respondents reporting an increase over the last month.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percent_reporting_decrease: Optional[float] = Field( + default=None, + description="Percent of respondents reporting a decrease over the last month.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percent_reporting_no_change: Optional[float] = Field( + default=None, + description="Percent of respondents reporting no change over the last month.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/sofr_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/mortgage_indices.py similarity index 50% rename from openbb_platform/core/openbb_core/provider/standard_models/sofr_rates.py rename to openbb_platform/core/openbb_core/provider/standard_models/mortgage_indices.py index 2d7043a604d..bfba892bb2d 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/sofr_rates.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/mortgage_indices.py @@ -1,6 +1,8 @@ -"""SOFR Standard Model.""" +"""Mortgage Indices Standard Model.""" -from datetime import date as dateType +from datetime import ( + date as dateType, +) from typing import Optional from pydantic import Field @@ -13,8 +15,8 @@ from openbb_core.provider.utils.descriptions import ( ) -class SOFRQueryParams(QueryParams): - """SOFR Query.""" +class MortgageIndicesQueryParams(QueryParams): + """Mortgage Indices Query.""" start_date: Optional[dateType] = Field( default=None, @@ -26,8 +28,19 @@ class SOFRQueryParams(QueryParams): ) -class SOFRData(Data): - """SOFR Data.""" +class MortgageIndicesData(Data): + """Mortgage Indices Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="SOFR rate.") + symbol: Optional[str] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("symbol", ""), + ) + name: Optional[str] = Field( + default=None, + description="Name of the index.", + ) + rate: float = Field( + description="Mortgage rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/options_chains.py b/openbb_platform/core/openbb_core/provider/standard_models/options_chains.py index 6a23f687f5d..38aca52b57d 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/options_chains.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/options_chains.py @@ -31,23 +31,29 @@ class OptionsChainsQueryParams(QueryParams): class OptionsChainsData(Data): """Options Chains Data.""" - symbol: Optional[str] = Field( - description=DATA_DESCRIPTIONS.get("symbol", "") - + " Here, it is the underlying symbol for the option.", + underlying_symbol: Optional[str] = Field( default=None, + description="Underlying symbol for the option.", + ) + underlying_price: Optional[float] = Field( + default=None, + description="Price of the underlying stock.", ) contract_symbol: str = Field(description="Contract symbol for the option.") eod_date: Optional[dateType] = Field( default=None, description="Date for which the options chains are returned." ) expiration: dateType = Field(description="Expiration date of the contract.") + dte: Optional[int] = Field( + default=None, description="Days to expiration of the contract." + ) strike: float = Field(description="Strike price of the contract.") option_type: str = Field(description="Call or Put.") open_interest: Optional[int] = Field( - default=None, description="Open interest on the contract." + default=0, description="Open interest on the contract." ) volume: Optional[int] = Field( - default=None, description=DATA_DESCRIPTIONS.get("volume", "") + default=0, description=DATA_DESCRIPTIONS.get("volume", "") ) theoretical_price: Optional[float] = Field( default=None, description="Theoretical value of the option." @@ -55,6 +61,13 @@ class OptionsChainsData(Data): last_trade_price: Optional[float] = Field( default=None, description="Last trade price of the option." ) + last_trade_size: Optional[int] = Field( + default=None, description="Last trade size of the option." + ) + last_trade_time: Optional[datetime] = Field( + default=None, + description="The timestamp of the last trade.", + ) tick: Optional[str] = Field( default=None, description="Whether the last tick was up or down in price." ) @@ -64,12 +77,26 @@ class OptionsChainsData(Data): bid_size: Optional[int] = Field( default=None, description="Bid size for the option." ) + bid_time: Optional[datetime] = Field( + default=None, + description="The timestamp of the bid price.", + ) + bid_exchange: Optional[str] = Field( + default=None, description="The exchange of the bid price." + ) ask: Optional[float] = Field( default=None, description="Current ask price for the option." ) ask_size: Optional[int] = Field( default=None, description="Ask size for the option." ) + ask_time: Optional[datetime] = Field( + default=None, + description="The timestamp of the ask price.", + ) + ask_exchange: Optional[str] = Field( + default=None, description="The exchange of the ask price." + ) mark: Optional[float] = Field( default=None, description="The mid-price between the latest bid and ask." ) @@ -138,7 +165,8 @@ class OptionsChainsData(Data): ) change_percent: Optional[float] = Field( default=None, - description="Change, in normalizezd percentage points, of the option.", + description="Change, in normalized percentage points, of the option.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, ) implied_volatility: Optional[float] = Field( default=None, description="Implied volatility of the option." @@ -151,7 +179,7 @@ class OptionsChainsData(Data): @field_validator("expiration", mode="before", check_fields=False) @classmethod - def date_validate(cls, v): # pylint: disable=E0213 + def date_validate(cls, v): """Return the datetime object from the date string.""" if isinstance(v, datetime): return datetime.strftime(v, "%Y-%m-%d") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/options_snapshots.py b/openbb_platform/core/openbb_core/provider/standard_models/options_snapshots.py new file mode 100644 index 00000000000..8c14af09ffd --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/options_snapshots.py @@ -0,0 +1,75 @@ +"""Options Snapshots Standard Model.""" + +from datetime import ( + date as dateType, + datetime, +) +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import DATA_DESCRIPTIONS + + +class OptionsSnapshotsQueryParams(QueryParams): + """Options Snapshots Query.""" + + +class OptionsSnapshotsData(Data): + """Options Snapshots Data.""" + + underlying_symbol: str = Field(description="Ticker symbol of the underlying asset.") + contract_symbol: str = Field(description="Symbol of the options contract.") + expiration: dateType = Field(description="Expiration date of the options contract.") + dte: Optional[int] = Field( + default=None, + description="Number of days to expiration of the options contract.", + ) + strike: float = Field( + description="Strike price of the options contract.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + option_type: str = Field(description="The type of option.") + volume: Optional[int] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("volume", ""), + ) + open_interest: Optional[int] = Field( + default=None, + description="Open interest at the time.", + ) + last_price: Optional[float] = Field( + default=None, + description="Last trade price at the time.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + last_size: Optional[int] = Field( + default=None, + description="Lot size of the last trade.", + ) + last_timestamp: Optional[datetime] = Field( + default=None, + description="Timestamp of the last price.", + ) + open: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("open", ""), + json_schema_extra={"x-unit_measurement": "currency"}, + ) + high: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("high", ""), + json_schema_extra={"x-unit_measurement": "currency"}, + ) + low: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("low", ""), + json_schema_extra={"x-unit_measurement": "currency"}, + ) + close: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("close", ""), + json_schema_extra={"x-unit_measurement": "currency"}, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/overnight_bank_funding_rate.py b/openbb_platform/core/openbb_core/provider/standard_models/overnight_bank_funding_rate.py new file mode 100644 index 00000000000..51afa516840 --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/overnight_bank_funding_rate.py @@ -0,0 +1,65 @@ +"""Overnight Bank Funding Rate Standard Model.""" + +from datetime import date as dateType +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class OvernightBankFundingRateQueryParams(QueryParams): + """Overnight Bank Funding Rate Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class OvernightBankFundingRateData(Data): + """Overnight Bank Funding Rate Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + rate: float = Field( + description="Overnight Bank Funding Rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_1: Optional[float] = Field( + default=None, + description="1st percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_25: Optional[float] = Field( + default=None, + description="25th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_75: Optional[float] = Field( + default=None, + description="75th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_99: Optional[float] = Field( + default=None, + description="99th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + volume: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("volume", "") + + "The notional volume of transactions (Billions of $).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1e9, + }, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/fed_rates.py b/openbb_platform/core/openbb_core/provider/standard_models/senior_loan_officer_survey.py similarity index 54% rename from openbb_platform/core/openbb_core/provider/standard_models/fed_rates.py rename to openbb_platform/core/openbb_core/provider/standard_models/senior_loan_officer_survey.py index 8ad438b12b2..bb224ef8c8f 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/fed_rates.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/senior_loan_officer_survey.py @@ -1,6 +1,8 @@ -"""FED Standard Model.""" +"""Senior Loan Officer Opinion Survey Standard Model.""" -from datetime import date as dateType +from datetime import ( + date as dateType, +) from typing import Optional from pydantic import Field @@ -13,8 +15,8 @@ from openbb_core.provider.utils.descriptions import ( ) -class FEDQueryParams(QueryParams): - """FED Query.""" +class SeniorLoanOfficerSurveyQueryParams(QueryParams): + """Senior Loan Officer Opinion Survey Query.""" start_date: Optional[dateType] = Field( default=None, @@ -26,8 +28,12 @@ class FEDQueryParams(QueryParams): ) -class FEDData(Data): - """FED Data.""" +class SeniorLoanOfficerSurveyData(Data): + """Senior Loan Officer Opinion Survey Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - rate: Optional[float] = Field(description="FED rate.") + symbol: Optional[str] = Field( + default=None, description=DATA_DESCRIPTIONS.get("symbol", "") + ) + value: float = Field(description="Survey value.") + title: Optional[str] = Field(description="Survey title.") diff --git a/openbb_platform/core/openbb_core/provider/standard_models/sofr.py b/openbb_platform/core/openbb_core/provider/standard_models/sofr.py new file mode 100644 index 00000000000..d15bee0aebe --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/sofr.py @@ -0,0 +1,65 @@ +"""Secured Overnight Financing Rate Standard Model.""" + +from datetime import date as dateType +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class SOFRQueryParams(QueryParams): + """Secured Overnight Financing Rate Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class SOFRData(Data): + """SOFR Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + rate: float = Field( + description="Effective federal funds rate.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_1: Optional[float] = Field( + default=None, + description="1st percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_25: Optional[float] = Field( + default=None, + description="25th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_75: Optional[float] = Field( + default=None, + description="75th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + percentile_99: Optional[float] = Field( + default=None, + description="99th percentile of the distribution.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + volume: Optional[float] = Field( + default=None, + description=DATA_DESCRIPTIONS.get("volume", "") + + "The notional volume of transactions (Billions of $).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1e9, + }, + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/survey_of_economic_conditions_chicago.py b/openbb_platform/core/openbb_core/provider/standard_models/survey_of_economic_conditions_chicago.py new file mode 100644 index 00000000000..c44b6a99468 --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/survey_of_economic_conditions_chicago.py @@ -0,0 +1,57 @@ +"""Survey Of Economic Conditions - Chicago - Standard Model.""" + +from datetime import ( + date as dateType, +) +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class SurveyOfEconomicConditionsChicagoQueryParams(QueryParams): + """Survey Of Economic Conditions - Chicago - Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class SurveyOfEconomicConditionsChicagoData(Data): + """Survey Of Economic Conditions - Chicago - Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + activity_index: Optional[float] = Field(default=None, description="Activity Index.") + one_year_outlook: Optional[float] = Field( + default=None, description="One Year Outlook Index." + ) + manufacturing_activity: Optional[float] = Field( + default=None, description="Manufacturing Activity Index." + ) + non_manufacturing_activity: Optional[float] = Field( + default=None, description="Non-Manufacturing Activity Index." + ) + capital_expenditures_expectations: Optional[float] = Field( + default=None, description="Capital Expenditures Expectations Index." + ) + hiring_expectations: Optional[float] = Field( + default=None, description="Hiring Expectations Index." + ) + current_hiring: Optional[float] = Field( + default=None, description="Current Hiring Index." + ) + labor_costs: Optional[float] = Field(default=None, description="Labor Costs Index.") + non_labor_costs: Optional[float] = Field( + default=None, description="Non-Labor Costs Index." + ) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/university_of_michigan.py b/openbb_platform/core/openbb_core/provider/standard_models/university_of_michigan.py new file mode 100644 index 00000000000..140e698f7e9 --- /dev/null +++ b/openbb_platform/core/openbb_core/provider/standard_models/university_of_michigan.py @@ -0,0 +1,44 @@ +"""University Of Michigan Survey Standard Model.""" + +from datetime import ( + date as dateType, +) +from typing import Optional + +from pydantic import Field + +from openbb_core.provider.abstract.data import Data +from openbb_core.provider.abstract.query_params import QueryParams +from openbb_core.provider.utils.descriptions import ( + DATA_DESCRIPTIONS, + QUERY_DESCRIPTIONS, +) + + +class UofMichiganQueryParams(QueryParams): + """University Of Michigan Survey Query.""" + + start_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("start_date", ""), + ) + end_date: Optional[dateType] = Field( + default=None, + description=QUERY_DESCRIPTIONS.get("end_date", ""), + ) + + +class UofMichiganData(Data): + """University Of Michigan Survey Data.""" + + date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) + consumer_sentiment: Optional[float] = Field( + default=None, + description="Index of the results of the University of Michigan's monthly Survey of Consumers," + + " which is used to estimate future spending and saving. (1966:Q1=100).", + ) + inflation_expectation: Optional[float] = Field( + default=None, + description="Median expected price change next 12 months, Surveys of Consumers.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) diff --git a/openbb_platform/core/pyproject.toml b/openbb_platform/core/pyproject.toml index 0bcf56a108d..2d0fd89f20a 100644 --- a/openbb_platform/core/pyproject.toml +++ b/openbb_platform/core/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." authors = ["OpenBB Team "] license = "AGPL-3.0-only" diff --git a/openbb_platform/core/tests/app/service/test_hub_service.py b/openbb_platform/core/tests/app/service/test_hub_service.py index 9c087f19520..903eef2059b 100644 --- a/openbb_platform/core/tests/app/service/test_hub_service.py +++ b/openbb_platform/core/tests/app/service/test_hub_service.py @@ -10,6 +10,7 @@ from unittest.mock import MagicMock, patch import pytest from jwt import encode +from openbb_core.app.model.defaults import Defaults from openbb_core.app.service.hub_service import ( Credentials, HubService, @@ -242,8 +243,9 @@ def test_hub2platform_v4_only(): "polygon_api_key": "def", "fred_api_key": "ghi", } + mock_user_settings.features_settings = {} - credentials = HubService().hub2platform(mock_user_settings) + credentials, _ = HubService().hub2platform(mock_user_settings) assert isinstance(credentials, Credentials) assert credentials.fmp_api_key.get_secret_value() == "abc" assert credentials.polygon_api_key.get_secret_value() == "def" @@ -258,8 +260,9 @@ def test_hub2platform_v3_only(): "API_POLYGON_KEY": "def", "API_FRED_KEY": "ghi", } + mock_user_settings.features_settings = {} - credentials = HubService().hub2platform(mock_user_settings) + credentials, _ = HubService().hub2platform(mock_user_settings) assert isinstance(credentials, Credentials) assert credentials.fmp_api_key.get_secret_value() == "abc" assert credentials.polygon_api_key.get_secret_value() == "def" @@ -275,8 +278,9 @@ def test_hub2platform_v3v4(): "API_POLYGON_KEY": "def", "API_FRED_KEY": "ghi", } + mock_user_settings.features_settings = {} - credentials = HubService().hub2platform(mock_user_settings) + credentials, _ = HubService().hub2platform(mock_user_settings) assert isinstance(credentials, Credentials) assert credentials.fmp_api_key.get_secret_value() == "other_key" assert credentials.polygon_api_key.get_secret_value() == "def" @@ -291,6 +295,7 @@ def test_platform2hub(): "fmp_api_key": "other_key", "API_FRED_KEY": "ghi", } + mock_user_settings.features_settings = {} mock_hub_service = HubService() mock_hub_service._hub_user_settings = mock_user_settings mock_credentials = Credentials( # Current credentials @@ -300,7 +305,8 @@ def test_platform2hub(): benzinga_api_key=SecretStr("benzinga"), some_api_key=SecretStr("some"), ) - user_settings = mock_hub_service.platform2hub(mock_credentials) + mock_defaults = Defaults() + user_settings = mock_hub_service.platform2hub(mock_credentials, mock_defaults) assert isinstance(user_settings, HubUserSettings) assert user_settings.features_keys["API_KEY_FINANCIALMODELINGPREP"] == "fmp" @@ -309,6 +315,7 @@ def test_platform2hub(): assert user_settings.features_keys["API_FRED_KEY"] == "fred" assert user_settings.features_keys["benzinga_api_key"] == "benzinga" assert "some_api_key" not in user_settings.features_keys + assert "defaults" in user_settings.features_settings @pytest.mark.parametrize( diff --git a/openbb_platform/core/tests/app/static/test_container.py b/openbb_platform/core/tests/app/static/test_container.py index 862fbb4a423..32bc60a5a27 100644 --- a/openbb_platform/core/tests/app/static/test_container.py +++ b/openbb_platform/core/tests/app/static/test_container.py @@ -88,7 +88,7 @@ def test_container__check_credentials(container): ("provider_1", "provider_2"), OpenBBError, escape( - "Provider fallback failed, please specify the provider or update credentials." + "Provider fallback failed, please specify one of the available providers or update credentials." "\n[Providers]\n * 'x' -> not found\n * 'y' -> not found\n * 'z' -> not found" ), ), diff --git a/openbb_platform/core/tests/app/test_command_runner.py b/openbb_platform/core/tests/app/test_command_runner.py index 41205ca75e5..7c20059c100 100644 --- a/openbb_platform/core/tests/app/test_command_runner.py +++ b/openbb_platform/core/tests/app/test_command_runner.py @@ -16,6 +16,7 @@ from openbb_core.app.command_runner import ( ) from openbb_core.app.model.abstract.warning import OpenBBWarning from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject from openbb_core.app.model.system_settings import SystemSettings from openbb_core.app.model.user_settings import UserSettings from openbb_core.app.provider_interface import ExtraParams @@ -364,8 +365,15 @@ async def test_static_command_runner_execute_func( def test_static_command_runner_chart(): """Test _chart method when charting is in obbject.accessors.""" - mock_obbject = Mock() - mock_obbject.accessors = ["charting"] + + mock_obbject = OBBject( + results=[ + {"date": "1990", "value": 100}, + {"date": "1991", "value": 200}, + {"date": "1992", "value": 300}, + ], + accessors={"charting": Mock()}, + ) mock_obbject.charting.show = Mock() StaticCommandRunner._chart(mock_obbject) # pylint: disable=protected-access diff --git a/openbb_platform/extensions/commodity/poetry.lock b/openbb_platform/extensions/commodity/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/commodity/poetry.lock +++ b/openbb_platform/extensions/commodity/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/commodity/pyproject.toml b/openbb_platform/extensions/commodity/pyproject.toml index 04ad7dc6f68..731029d97f5 100644 --- a/openbb_platform/extensions/commodity/pyproject.toml +++ b/openbb_platform/extensions/commodity/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-commodity" -version = "1.1.2" +version = "1.1.3" description = "Commodity extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_commodity" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/extensions/crypto/openbb_crypto/crypto_views.py b/openbb_platform/extensions/crypto/openbb_crypto/crypto_views.py new file mode 100644 index 00000000000..15e2f92b34c --- /dev/null +++ b/openbb_platform/extensions/crypto/openbb_crypto/crypto_views.py @@ -0,0 +1,17 @@ +"""Views for the crypto Extension.""" + +from typing import Any, Dict, Tuple + +from openbb_charting.charts.price_historical import price_historical +from openbb_charting.core.openbb_figure import OpenBBFigure + + +class CryptoViews: + """Crypto Views.""" + + @staticmethod + def crypto_price_historical( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Crypto Price Historical Chart.""" + return price_historical(**kwargs) diff --git a/openbb_platform/extensions/crypto/poetry.lock b/openbb_platform/extensions/crypto/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/crypto/poetry.lock +++ b/openbb_platform/extensions/crypto/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/crypto/pyproject.toml b/openbb_platform/extensions/crypto/pyproject.toml index e3c74377c1f..0c1c1b2795d 100644 --- a/openbb_platform/extensions/crypto/pyproject.toml +++ b/openbb_platform/extensions/crypto/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-crypto" -version = "1.2.2" +version = "1.2.3" description = "Crypto extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_crypto" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] crypto = "openbb_crypto.crypto_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +crypto = "openbb_crypto.crypto_views:CryptoViews" diff --git a/openbb_platform/extensions/currency/openbb_currency/currency_views.py b/openbb_platform/extensions/currency/openbb_currency/currency_views.py new file mode 100644 index 00000000000..dbc70f7b43c --- /dev/null +++ b/openbb_platform/extensions/currency/openbb_currency/currency_views.py @@ -0,0 +1,17 @@ +"""Views for the Currency Extension.""" + +from typing import Any, Dict, Tuple + +from openbb_charting.charts.price_historical import price_historical +from openbb_charting.core.openbb_figure import OpenBBFigure + + +class CurrencyViews: + """Currency Views.""" + + @staticmethod + def currency_price_historical( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Currency Price Historical Chart.""" + return price_historical(**kwargs) diff --git a/openbb_platform/extensions/currency/poetry.lock b/openbb_platform/extensions/currency/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/currency/poetry.lock +++ b/openbb_platform/extensions/currency/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/currency/pyproject.toml b/openbb_platform/extensions/currency/pyproject.toml index 5dcef853d34..603cf889720 100644 --- a/openbb_platform/extensions/currency/pyproject.toml +++ b/openbb_platform/extensions/currency/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-currency" -version = "1.2.2" +version = "1.2.3" description = "Currency extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_currency" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] currency = "openbb_currency.currency_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +currency = "openbb_currency.currency_views:CurrencyViews" diff --git a/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py b/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py index 210ab79190c..97e9a3551eb 100644 --- a/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py +++ b/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py @@ -24,7 +24,24 @@ def headers(): @parametrize( "params", [ - ({"provider": "intrinio", "symbol": "AAPL", "date": "2023-01-25"}), + ( + { + "provider": "intrinio", + "symbol": "AAPL", + "date": "2023-01-25", + "option_type": None, + "moneyness": "all", + "strike_gt": None, + "strike_lt": None, + "volume_gt": None, + "volume_lt": None, + "oi_gt": None, + "oi_lt": None, + "model": "black_scholes", + "show_extended_price": False, + "include_related_symbols": False, + } + ), ({"provider": "cboe", "symbol": "AAPL", "use_cache": False}), ({"provider": "tradier", "symbol": "AAPL"}), ({"provider": "yfinance", "symbol": "AAPL"}), @@ -125,3 +142,21 @@ def test_derivatives_futures_curve(params, headers): result = requests.get(url, headers=headers, timeout=60) assert isinstance(result, requests.Response) assert result.status_code == 200 + + +@parametrize( + "params", + [ + ({"provider": "intrinio", "date": None, "only_traded": True}), + ], +) +@pytest.mark.integration +def test_derivatives_options_snapshots(params, headers): + """Test the options snapshots endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/derivatives/options/snapshots?{query_str}" + result = requests.get(url, headers=headers, timeout=60) + assert isinstance(result, requests.Response) + assert result.status_code == 200 diff --git a/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py b/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py index 1bc0597855f..4e04039bc7a 100644 --- a/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py +++ b/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py @@ -20,7 +20,24 @@ def obb(pytestconfig): @parametrize( "params", [ - ({"provider": "intrinio", "symbol": "AAPL", "date": "2023-01-25"}), + ( + { + "provider": "intrinio", + "symbol": "AAPL", + "date": "2023-01-25", + "option_type": None, + "moneyness": "all", + "strike_gt": None, + "strike_lt": None, + "volume_gt": None, + "volume_lt": None, + "oi_gt": None, + "oi_lt": None, + "model": "black_scholes", + "show_extended_price": False, + "include_related_symbols": False, + } + ), ({"provider": "cboe", "symbol": "AAPL", "use_cache": False}), ({"provider": "tradier", "symbol": "AAPL"}), ({"provider": "yfinance", "symbol": "AAPL"}), @@ -109,3 +126,18 @@ def test_derivatives_futures_curve(params, obb): assert result assert isinstance(result, OBBject) assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ({"provider": "intrinio", "date": None, "only_traded": True}), + ], +) +@pytest.mark.integration +def test_derivatives_options_snapshots(params, obb): + """Test the options snapshots endpoint.""" + result = obb.derivatives.options.snapshots(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 diff --git a/openbb_platform/extensions/derivatives/openbb_derivatives/options/options_router.py b/openbb_platform/extensions/derivatives/openbb_derivatives/options/options_router.py index dbed2aa674d..bcdb00be4b7 100644 --- a/openbb_platform/extensions/derivatives/openbb_derivatives/options/options_router.py +++ b/openbb_platform/extensions/derivatives/openbb_derivatives/options/options_router.py @@ -54,3 +54,21 @@ async def unusual( ) -> OBBject: """Get the complete options chain for a ticker.""" return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="OptionsSnapshots", + examples=[ + APIEx( + parameters={"provider": "intrinio"}, + ), + ], +) +async def snapshots( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: + """Get a snapshot of the options market universe.""" + return await OBBject.from_query(Query(**locals())) diff --git a/openbb_platform/extensions/derivatives/poetry.lock b/openbb_platform/extensions/derivatives/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/derivatives/poetry.lock +++ b/openbb_platform/extensions/derivatives/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/derivatives/pyproject.toml b/openbb_platform/extensions/derivatives/pyproject.toml index dc63df46cc6..c5fb85186b2 100644 --- a/openbb_platform/extensions/derivatives/pyproject.toml +++ b/openbb_platform/extensions/derivatives/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-derivatives" -version = "1.2.2" +version = "1.2.3" description = "Derivatives extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_derivatives" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/extensions/devtools/pyproject.toml b/openbb_platform/extensions/devtools/pyproject.toml index 161192b55ac..a7c3b78f45b 100644 --- a/openbb_platform/extensions/devtools/pyproject.toml +++ b/openbb_platform/extensions/devtools/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-devtools" -version = "1.2.2" +version = "1.2.3" description = "Tools for OpenBB Platform Developers" authors = ["OpenBB Team "] license = "AGPL-3.0-only" diff --git a/openbb_platform/extensions/econometrics/poetry.lock b/openbb_platform/extensions/econometrics/poetry.lock index 3c7f8764bf3..3cc3166b1e1 100644 --- a/openbb_platform/extensions/econometrics/poetry.lock +++ b/openbb_platform/extensions/econometrics/poetry.lock @@ -1145,13 +1145,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2440,4 +2440,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "9fa62363b47710655d2d53bac17fff818e3d566ea31bffcb30a331c3d6a887b3" +content-hash = "41e646351d82ee12db3f3ec64db636dde5a234d669f8ddb16d75cfdddc5a228f" diff --git a/openbb_platform/extensions/econometrics/pyproject.toml b/openbb_platform/extensions/econometrics/pyproject.toml index 21a78262097..e9a5ea3d439 100644 --- a/openbb_platform/extensions/econometrics/pyproject.toml +++ b/openbb_platform/extensions/econometrics/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-econometrics" -version = "1.2.2" +version = "1.2.3" description = "Econometrics Toolkit for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -13,7 +13,7 @@ scipy = "^1.10.1" statsmodels = "^0.14.0" arch = "^5.5.0" linearmodels = "<=4.25" # ^4.26 has setuptools-scm in setup_requires -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/extensions/economy/integration/test_economy_api.py b/openbb_platform/extensions/economy/integration/test_economy_api.py index 118c16c3cee..2f2df582175 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_api.py +++ b/openbb_platform/extensions/economy/integration/test_economy_api.py @@ -815,3 +815,112 @@ def test_economy_retail_prices(params, headers): result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "frequency": None, + "provider": "fred", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + "transform": None, + "aggregation_method": None, + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_university_of_michigan(params, headers): + """Test the economy survey university_of_michigan endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = ( + f"http://0.0.0.0:8000/api/v1/economy/survey/university_of_michigan?{query_str}" + ) + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "category": "auto", + "provider": "fred", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_sloos(params, headers): + """Test the economy survey sloos endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/economy/survey/sloos?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "provider": "fred", + "start_date": "2024-01-01", + "end_date": "2024-04-01", + "transform": None, + "aggregation_method": None, + "frequency": None, + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_economic_conditions_chicago(params, headers): + """Test the economy survey economic_conditions_chicago endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/economy/survey/economic_conditions_chicago?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "provider": "fred", + "topic": "business_outlook,new_orders", + "start_date": "2024-01-01", + "end_date": "2024-04-01", + "transform": None, + "aggregation_method": None, + "frequency": None, + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_manufacturing_outlook_texas(params, headers): + """Test the economy survey manufacturing outlook texas endpoint""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/economy/survey/manufacturing_outlook_texas?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 diff --git a/openbb_platform/extensions/economy/integration/test_economy_python.py b/openbb_platform/extensions/economy/integration/test_economy_python.py index eae984cd3e1..2d826a9290b 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_python.py +++ b/openbb_platform/extensions/economy/integration/test_economy_python.py @@ -771,3 +771,106 @@ def test_economy_retail_prices(params, obb): assert result assert isinstance(result, OBBject) assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ( + { + "frequency": None, + "provider": "fred", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + "transform": None, + "aggregation_method": None, + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_university_of_michigan(params, obb): + """Test the economy survey university_of_michigan endpoint""" + params = {p: v for p, v in params.items() if v} + + result = obb.economy.survey.university_of_michigan(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ( + { + "category": "auto", + "provider": "fred", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_sloos(params, obb): + """Test the economy survey sloos endpoint""" + params = {p: v for p, v in params.items() if v} + + result = obb.economy.survey.sloos(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ( + { + "provider": "fred", + "start_date": "2024-01-01", + "end_date": "2024-04-01", + "transform": None, + "aggregation_method": None, + "frequency": None, + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_economic_conditions_chicago(params, obb): + """Test the economy survey economic conditions chicago endpoint""" + params = {p: v for p, v in params.items() if v} + + result = obb.economy.survey.economic_conditions_chicago(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ( + { + "provider": "fred", + "topic": "business_outlook,new_orders", + "start_date": "2024-01-01", + "end_date": "2024-04-01", + "transform": None, + "aggregation_method": None, + "frequency": None, + } + ), + ], +) +@pytest.mark.integration +def test_economy_survey_manufacturing_outlook_texas(params, obb): + """Test the economy survey manufacturing outlook texas endpoint""" + params = {p: v for p, v in params.items() if v} + + result = obb.economy.survey.manufacturing_outlook_texas(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 diff --git a/openbb_platform/extensions/economy/openbb_economy/economy_router.py b/openbb_platform/extensions/economy/openbb_economy/economy_router.py index 4640defa77f..783df6a3de0 100644 --- a/openbb_platform/extensions/economy/openbb_economy/economy_router.py +++ b/openbb_platform/extensions/economy/openbb_economy/economy_router.py @@ -12,9 +12,11 @@ from openbb_core.app.query import Query from openbb_core.app.router import Router from openbb_economy.gdp.gdp_router import router as gdp_router +from openbb_economy.survey.survey_router import router as survey_router router = Router(prefix="", description="Economic data.") router.include_router(gdp_router) +router.include_router(survey_router) # pylint: disable=unused-argument @@ -185,7 +187,7 @@ async def money_measures( parameters={ "country": "all", "frequency": "quarter", - "age": "25-54", + "age": "total", "provider": "oecd", }, ), diff --git a/openbb_platform/extensions/economy/openbb_economy/economy_views.py b/openbb_platform/extensions/economy/openbb_economy/economy_views.py new file mode 100644 index 00000000000..c0bc2396aa5 --- /dev/null +++ b/openbb_platform/extensions/economy/openbb_economy/economy_views.py @@ -0,0 +1,307 @@ +"""Views for the Economy Extension.""" + +from typing import Any, Dict, Optional, Tuple +from warnings import warn + +import pandas as pd +from openbb_charting.charts.generic_charts import bar_chart +from openbb_charting.charts.helpers import ( + z_score_standardization, +) +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_charting.styles.colors import LARGE_CYCLER +from openbb_core.app.utils import basemodel_to_df + + +class EconomyViews: + """economy Views.""" + + @staticmethod + def economy_fred_series( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """FRED Series Chart.""" + ytitle_dict = { + "chg": "Change", + "ch1": "Change From Year Ago", + "pch": "Percent Change", + "pc1": "Percent Change From Year Ago", + "pca": "Compounded Annual Rate Of Change", + "cch": "Continuously Compounded Rate Of Change", + "cca": "Continuously Compounded Annual Rate Of Change", + "log": "Natural Log", + } + + provider = kwargs.get("provider") + + if provider != "fred": + raise RuntimeError( + f"This charting method does not support {provider}. Supported providers: fred." + ) + + columns = basemodel_to_df(kwargs["obbject_item"], index=None).columns.to_list() # type: ignore + + allow_unsafe = kwargs.get("allow_unsafe", False) + dropnan = kwargs.get("dropna", True) + normalize = kwargs.get("normalize", False) + + data_cols = [] + data = kwargs.get("data") + + if isinstance(data, pd.DataFrame) and not data.empty: + data_cols = data.columns.to_list() + df_ta = data + + else: + df_ta = basemodel_to_df(kwargs["obbject_item"], index="date") # type: ignore + + # Check for unsupported external data injection. + if allow_unsafe is False and data_cols: + for data_col in data_cols: + if data_col not in columns: + raise RuntimeError( + f"Column '{data_col}' was not found in the original data." + + " External data injection is not supported unless `allow_unsafe = True`." + ) + + # Align the data so each column has the same index and length. + if dropnan: + df_ta = df_ta.dropna(how="any") + + if df_ta.empty or len(df_ta) < 2: + raise ValueError( + "No data is left after dropping NaN values. Try setting `dropnan = False`," + + " or use the `frequency` parameter on request." + ) + + columns = df_ta.columns.to_list() + + metadata = kwargs["extra"].get("results_metadata", {}) # type: ignore + + # Check if the request was transformed by the FRED API. + params = kwargs["extra_params"] if kwargs.get("extra_params") else {} + has_params = hasattr(params, "transform") and params.transform is not None # type: ignore + + # Get a unique list of all units of measurement in the DataFrame. + y_units = list({metadata.get(col).get("units") for col in columns if col in metadata}) # type: ignore + if has_params is True and not y_units: + y_units = [ytitle_dict.get(params.transform)] # type: ignore + + if normalize or ( + kwargs.get("bar") is True + and len(y_units) > 1 + and ( + has_params is False + or not any( + i in params.transform for i in ["pc1", "pch", "pca", "cch", "cca", "log"] # type: ignore + ) + ) + ): + normalize = True + df_ta = df_ta.apply(z_score_standardization) + + if len(y_units) > 2 and has_params is False and allow_unsafe is False: + raise RuntimeError( + "This method supports up to 2 y-axis units." + + " Please use the 'transform' parameter, in the data request," + + " to compare all series on the same scale, or set `normalize = True`." + + " Override this error by setting `allow_unsafe = True`." + ) + + y1_units = y_units[0] if y_units else None + y1title = y1_units + y2title = y_units[1] if len(y_units) > 1 else None + xtitle = str(kwargs.get("xtitle", "")) + + # If the request was transformed, the y-axis will be shared under these conditions. + if has_params and any( + i in params.transform for i in ["pc1", "pch", "pca", "cch", "cca", "log"] # type: ignore + ): + y1title = "Log" if params.transform == "Log" else "Percent" # type: ignore + y2title = None + + # Set the title for the chart. + title: str = "" + if isinstance(kwargs, dict) and title in kwargs: + title = kwargs["title"] # type: ignore + else: + if metadata.get(columns[0]): # type: ignore + title = metadata.get(columns[0]).get("title") if len(columns) == 1 else "FRED Series" # type: ignore + else: + title = "FRED Series" + transform_title = ytitle_dict.get(params.transform) if has_params is True else "" # type: ignore + title = f"{title} - {transform_title}" if transform_title else title + + # Define this to use as a check. + y3title: Optional[str] = "" + + if kwargs.get("plot_bar") is True or len(df_ta.index) < 100: + margin = dict(l=10, r=5, b=75 if xtitle else 30) + try: + if normalize: + y1title = None + title = f"{title} - Normalized" if title else "Normalized" + bar_mode = kwargs.get("barmode", "group") + fig = bar_chart( + df_ta.reset_index(), + "date", + df_ta.columns.to_list(), + title=title, + xtitle=xtitle, + ytitle=y1title, + barmode=bar_mode, # type: ignore + layout_kwargs=dict(margin=margin), # type: ignore + ) + if kwargs.get("layout_kwargs"): + fig.update_layout(kwargs.get("layout_kwargs")) + + if kwargs.get("title"): + fig.set_title(str(kwargs.get("title"))) # type: ignore + + content = fig.to_plotly_json() + + return fig, content # type: ignore + except Exception as _: + warn("Bar chart failed. Attempting line chart.") + + # Create the figure object with subplots. + fig = OpenBBFigure().create_subplots( + rows=1, cols=1, shared_xaxes=True, shared_yaxes=False + ) + + # For each series in the DataFrame, add a scatter plot. + for i, col in enumerate(df_ta.columns): + + # Check if the y-axis should be shared for this series. + on_y1 = ( + ( + metadata.get(col).get("units") == y1_units # type: ignore + or y2title is None # type: ignore + or kwargs.get("same_axis") is True + ) + if metadata.get(col) # type: ignore + else False + ) + if normalize: + on_y1 = True + + yaxes = "y2" if not on_y1 else "y1" + on_y3 = not metadata.get(col) and normalize is False # type: ignore + if on_y3: + yaxes = "y3" + y3title = df_ta[col].name # type: ignore + fig.add_scatter( + x=df_ta.index, + y=df_ta[col], + name=df_ta[col].name, + mode="lines", + hovertemplate=f"{df_ta[col].name}: %{{y}}", + line=dict(width=2, color=LARGE_CYCLER[i % len(LARGE_CYCLER)]), + yaxis="y1" if kwargs.get("same_axis") is True else yaxes, + ) + + # Set the y-axis titles, if supplied. + if kwargs.get("y1title"): + y1title = kwargs.get("y1title") + if kwargs.get("y2title") and y2title is not None: + y2title = kwargs.get("y2title") + # Set the x-axis title, if suppiled. + if isinstance(kwargs, dict) and "xtitle" in kwargs: + xtitle = kwargs["xtitle"] + # If the data was normalized, set the title to reflect this. + if normalize: + y1title = None + y2title = None + y3title = None + title = f"{title} - Normalized" if title else "Normalized" + + # Now update the layout of the complete figure. + fig.update_layout( + title=dict(text=title, x=0.5, font=dict(size=16)), + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(0,0,0,0)", + legend=dict( + orientation="h", + yanchor="bottom", + xanchor="right", + y=1.02, + x=0.95, + bgcolor="rgba(0,0,0,0)", + font=dict(size=12), + ), + yaxis=( + dict( + ticklen=0, + side="right", + showline=True, + mirror=True, + title=dict(text=y1title, standoff=30, font=dict(size=16)), + tickfont=dict(size=14), + anchor="x", + gridcolor="rgba(128,128,128,0.3)", + ) + if y1title + else None + ), + yaxis2=( + dict( + overlaying="y", + side="left", + ticklen=0, + showgrid=False, + title=dict( + text=y2title if y2title else None, + standoff=10, + font=dict(size=16), + ), + tickfont=dict(size=14), + anchor="x", + ) + if y2title + else None + ), + yaxis3=( + dict( + overlaying="y", + side="left", + ticklen=0, + position=0, + showgrid=False, + showticklabels=True, + title=( + dict(text=y3title, standoff=10, font=dict(size=16)) + if y3title + else None + ), + tickfont=dict(size=12, color="rgba(128,128,128,0.9)"), + anchor="free", + ) + if y3title + else None + ), + xaxis=dict( + ticklen=0, + showgrid=True, + showline=True, + mirror=True, + title=( + dict(text=xtitle, standoff=30, font=dict(size=16)) + if xtitle + else None + ), + gridcolor="rgba(128,128,128,0.3)", + domain=[0.095, 0.95] if y3title else None, + ), + margin=( + dict(r=25, l=25, b=75 if xtitle else 30) if normalize is False else None + ), + autosize=True, + dragmode="pan", + ) + if kwargs.get("layout_kwargs"): + fig.update_layout(kwargs.get("layout_kwargs")) + if kwargs.get("title"): + fig.set_title(str(kwargs.get("title"))) + content = fig.to_plotly_json() + + return fig, content diff --git a/openbb_platform/extensions/economy/openbb_economy/survey/survey_router.py b/openbb_platform/extensions/economy/openbb_economy/survey/survey_router.py new file mode 100644 index 00000000000..313999a463f --- /dev/null +++ b/openbb_platform/extensions/economy/openbb_economy/survey/survey_router.py @@ -0,0 +1,88 @@ +"""Economy Survey Router.""" + +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.example import APIEx +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router + +router = Router(prefix="/survey") + +# pylint: disable=unused-argument + + +@router.command( + model="SeniorLoanOfficerSurvey", + examples=[ + APIEx(parameters={"provider": "fred"}), + APIEx(parameters={"category": "credit_card", "provider": "fred"}), + ], +) +async def sloos( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: + """Get Senior Loan Officers Opinion Survey.""" + return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="UniversityOfMichigan", + examples=[ + APIEx(parameters={"provider": "fred"}), + ], +) +async def university_of_michigan( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: + """Get University of Michigan Consumer Sentiment and Inflation Expectations Surveys.""" + return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="SurveyOfEconomicConditionsChicago", + examples=[ + APIEx(parameters={"provider": "fred"}), + ], +) +async def economic_conditions_chicago( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: + """Get The Survey Of Economic Conditions For The Chicago Region.""" + return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="ManufacturingOutlookTexas", + examples=[ + APIEx(parameters={"provider": "fred"}), + APIEx( + parameters={ + "topic": "business_outlook,new_orders", + "transform": "pc1", + "provider": "fred", + } + ), + ], +) +async def manufacturing_outlook_texas( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: + """Get The Manufacturing Outlook Survey For The Texas Region.""" + return await OBBject.from_query(Query(**locals())) diff --git a/openbb_platform/extensions/economy/poetry.lock b/openbb_platform/extensions/economy/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/economy/poetry.lock +++ b/openbb_platform/extensions/economy/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/economy/pyproject.toml b/openbb_platform/extensions/economy/pyproject.toml index 4b2deb7faeb..cb3e376a1cd 100644 --- a/openbb_platform/extensions/economy/pyproject.toml +++ b/openbb_platform/extensions/economy/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-economy" -version = "1.2.2" +version = "1.2.3" description = "Economy extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_economy" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] economy = "openbb_economy.economy_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +economy = "openbb_economy.economy_views:EconomyViews" diff --git a/openbb_platform/extensions/equity/openbb_equity/equity_views.py b/openbb_platform/extensions/equity/openbb_equity/equity_views.py new file mode 100644 index 00000000000..659abb3738c --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/equity_views.py @@ -0,0 +1,25 @@ +"""Views for the Equity Extension.""" + +from typing import Any, Dict, Tuple + +from openbb_charting.charts.price_historical import price_historical +from openbb_charting.charts.price_performance import price_performance +from openbb_charting.core.openbb_figure import OpenBBFigure + + +class EquityViews: + """Equity Views.""" + + @staticmethod + def equity_price_historical( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Equity Price Historical Chart.""" + return price_historical(**kwargs) + + @staticmethod + def equity_price_performance( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Equity Price Performance Chart.""" + return price_performance(**kwargs) diff --git a/openbb_platform/extensions/equity/poetry.lock b/openbb_platform/extensions/equity/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/equity/poetry.lock +++ b/openbb_platform/extensions/equity/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/equity/pyproject.toml b/openbb_platform/extensions/equity/pyproject.toml index 6858807d5d6..fcc2eea7c94 100644 --- a/openbb_platform/extensions/equity/pyproject.toml +++ b/openbb_platform/extensions/equity/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-equity" -version = "1.2.2" +version = "1.2.3" description = "Equity extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_equity" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] equity = "openbb_equity.equity_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +equity = "openbb_equity.equity_views:EquityViews" diff --git a/openbb_platform/extensions/etf/openbb_etf/etf_views.py b/openbb_platform/extensions/etf/openbb_etf/etf_views.py new file mode 100644 index 00000000000..71e2c9e3c23 --- /dev/null +++ b/openbb_platform/extensions/etf/openbb_etf/etf_views.py @@ -0,0 +1,84 @@ +"""Views for the ETF Extension.""" + +from typing import Any, Dict, Tuple, Union + +import pandas as pd +from openbb_charting.charts.generic_charts import bar_chart +from openbb_charting.charts.price_historical import price_historical +from openbb_charting.charts.price_performance import price_performance +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_core.app.utils import basemodel_to_df +from plotly.graph_objs import Figure + + +class EtfViews: + """Etf Views.""" + + @staticmethod + def etf_historical( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Etf Price Historical Chart.""" + return price_historical(**kwargs) + + @staticmethod + def etf_price_performance( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Etf Price Performance Chart.""" + return price_performance(**kwargs) + + @staticmethod + def etf_holdings(**kwargs) -> Tuple[Union[OpenBBFigure, Figure], Dict[str, Any]]: + """Equity Compare Groups Chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + elif "data" in kwargs and isinstance(kwargs["data"], list): + data = basemodel_to_df(kwargs["data"], index=None) # type: ignore + else: + data = basemodel_to_df(kwargs["obbject_item"], index=None) # type: ignore + + if "weight" not in data.columns: + raise ValueError("No 'weight' column found in the data.") + + orientation = kwargs.get("orientation", "h") + limit = kwargs.get("limit", 20) + symbol = kwargs["standard_params"].get("symbol") # type: ignore + title = kwargs.get("title", f"Top {limit} {symbol} Holdings") + layout_kwargs = kwargs.get("layout_kwargs", {}) + + data = data.sort_values("weight", ascending=False) + limit = min(limit, len(data)) # type: ignore + target = data.head(limit)[["symbol", "weight"]].set_index("symbol") + target = target.multiply(100) + axis_title = "Weight (%)" + + fig = bar_chart( + target.reset_index(), + "symbol", + ["weight"], + title=title, # type: ignore + xtitle=axis_title if orientation == "h" else None, + ytitle=axis_title if orientation == "v" else None, + orientation=orientation, # type: ignore + ) + + fig.update_layout( + hovermode="x" if orientation == "v" else "y", + margin=dict(r=0, l=50) if orientation == "h" else None, + ) + + fig.update_traces( + hovertemplate=( + "%{y:.3f}%" + if orientation == "v" + else "%{x:.3f}%" + ) + ) + + if layout_kwargs: + fig.update_layout(**layout_kwargs) # type: ignore + + content = fig.show(external=True).to_plotly_json() # type: ignore + + return fig, content diff --git a/openbb_platform/extensions/etf/poetry.lock b/openbb_platform/extensions/etf/poetry.lock index ed88c87491e..f5aeb1700b6 100644 --- a/openbb_platform/extensions/etf/poetry.lock +++ b/openbb_platform/extensions/etf/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "bbb97a76bae9d847a761b09626249acbf95b57d06d1c2a58c9e04a6bed535b6c" +content-hash = "d039c557882eb05fc29d4d807a987d9bc9a92fa1bc3aec4b610ea6509566cdf4" diff --git a/openbb_platform/extensions/etf/pyproject.toml b/openbb_platform/extensions/etf/pyproject.toml index a036b093c36..8e146a8ed95 100644 --- a/openbb_platform/extensions/etf/pyproject.toml +++ b/openbb_platform/extensions/etf/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-etf" -version = "1.2.2" +version = "1.2.3" description = "ETF extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_etf" }] [tool.poetry.dependencies] python = ">=3.8,<3.12" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] etf = "openbb_etf.etf_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +etf = "openbb_etf.etf_views:EtfViews" diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py index 45e7c86a685..4ef81ba7b33 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py @@ -60,10 +60,18 @@ def test_fixedincome_government_us_yield_curve(params, headers): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { - "period": "overnight", + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "provider": "federal_reserve", + } + ), + ( + { + "frequency": None, + "transform": None, + "aggregation_method": None, "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -86,10 +94,18 @@ def test_fixedincome_sofr(params, headers): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { - "parameter": "volume_weighted_trimmed_mean_rate", + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "provider": "federal_reserve", + } + ), + ( + { + "frequency": None, + "transform": None, + "aggregation_method": None, "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -98,6 +114,33 @@ def test_fixedincome_sofr(params, headers): ], ) @pytest.mark.integration +def test_fixedincome_rate_sofr(params, headers): + """Test the SOFR endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/fixedincome/rate/sofr?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "provider": "fred", + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "transform": None, + "aggregation_method": None, + "frequency": None, + } + ), + ], +) +@pytest.mark.integration def test_fixedincome_rate_estr(params, headers): """Test the ESTR rate endpoint.""" params = {p: v for p, v in params.items() if v} @@ -138,13 +181,15 @@ def test_fixedincome_rate_sonia(params, headers): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { - "parameter": "overnight", + "maturity": "overnight", "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", + "transform": None, + "aggregation_method": None, + "frequency": None, } ), ], @@ -166,7 +211,10 @@ def test_fixedincome_rate_ameribor(params, headers): [ ( { - "parameter": "weekly", + "frequency": "w", + "transform": None, + "aggregation_method": "avg", + "effr_only": False, "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -328,9 +376,11 @@ def test_fixedincome_corporate_moody(params, headers): { "start_date": "2023-01-01", "end_date": "2023-06-06", - "maturity": "30d", + "maturity": "overnight", "category": "financial", - "grade": "aa", + "transform": None, + "aggregation_method": None, + "frequency": None, "provider": "fred", } ) @@ -666,3 +716,91 @@ def test_fixedincome_government_yield_curve(params, headers): result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 + + +@parametrize( + "params", + [ + { + "provider": "fred", + "category": "high_yield", + "index": "us,europe,emerging", + "index_type": "total_return", + "start_date": "2023-05-31", + "end_date": "2024-06-01", + "transform": None, + "frequency": None, + "aggregation_method": "avg", + }, + ], +) +@pytest.mark.integration +def test_fixedincome_bond_indices(params, headers): + """Test the bond indices endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/fixedincome/bond_indices?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + { + "provider": "fred", + "index": "usda_30y,fha_30y", + "start_date": "2023-05-31", + "end_date": "2024-06-01", + "transform": None, + "frequency": None, + "aggregation_method": "avg", + }, + ], +) +@pytest.mark.integration +def test_fixedincome_mortgage_indices(params, headers): + """Test the mortgage indices endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/fixedincome/mortgage_indices?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "transform": None, + "aggregation_method": None, + "frequency": None, + "provider": "fred", + } + ), + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "provider": "federal_reserve", + } + ), + ], +) +@pytest.mark.integration +def test_fixedincome_rate_overnight_bank_funding(params, headers): + """Test the Overnight Bank Funding Rate endpoint.""" + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/fixedincome/rate/overnight_bank_funding?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py index 3efa8727269..9815727c320 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py @@ -51,10 +51,18 @@ def test_fixedincome_government_us_yield_curve(params, obb): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { - "period": "overnight", + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "provider": "federal_reserve", + } + ), + ( + { + "frequency": None, + "transform": None, + "aggregation_method": None, "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -74,10 +82,18 @@ def test_fixedincome_sofr(params, obb): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { - "parameter": "volume_weighted_trimmed_mean_rate", + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "provider": "federal_reserve", + } + ), + ( + { + "frequency": None, + "transform": None, + "aggregation_method": None, "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -86,6 +102,30 @@ def test_fixedincome_sofr(params, obb): ], ) @pytest.mark.integration +def test_fixedincome_rate_sofr(params, obb): + """Test the fixedincome rate sofr endpoint.""" + result = obb.fixedincome.rate.sofr(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ( + { + "provider": "fred", + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "transform": None, + "aggregation_method": None, + "frequency": None, + } + ), + ], +) +@pytest.mark.integration def test_fixedincome_rate_estr(params, obb): """Test the ESTR endpoint.""" result = obb.fixedincome.rate.estr(**params) @@ -120,13 +160,15 @@ def test_fixedincome_rate_sonia(params, obb): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { - "parameter": "overnight", + "maturity": "overnight", "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", + "transform": None, + "aggregation_method": None, + "frequency": None, } ), ], @@ -145,7 +187,10 @@ def test_fixedincome_rate_ameribor(params, obb): [ ( { - "parameter": "weekly", + "frequency": "w", + "transform": None, + "aggregation_method": "avg", + "effr_only": False, "provider": "fred", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -153,9 +198,9 @@ def test_fixedincome_rate_ameribor(params, obb): ), ( { - "provider": "federal_reserve", "start_date": "2023-01-01", "end_date": "2023-06-06", + "provider": "federal_reserve", } ), ], @@ -299,9 +344,11 @@ def test_fixedincome_corporate_moody(params, obb): { "start_date": "2023-01-01", "end_date": "2023-06-06", - "maturity": "30d", + "maturity": "overnight", "category": "financial", - "grade": "aa", + "transform": None, + "aggregation_method": None, + "frequency": None, "provider": "fred", } ) @@ -620,3 +667,86 @@ def test_fixedincome_government_yield_curve(params, obb): assert result assert isinstance(result, OBBject) assert len(result.results) > 0 + + +@parametrize( + "params", + [ + { + "provider": "fred", + "category": "high_yield", + "index": "us,europe,emerging", + "index_type": "total_return", + "start_date": "2023-05-31", + "end_date": "2024-06-01", + "transform": None, + "frequency": None, + "aggregation_method": "avg", + }, + ], +) +@pytest.mark.integration +def test_fixedincome_bond_indices(params, obb): + """Test the bond indices endpoint.""" + params = {p: v for p, v in params.items() if v} + + result = obb.fixedincome.bond_indices(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@parametrize( + "params", + [ + { + "provider": "fred", + "index": "usda_30y,fha_30y", + "start_date": "2023-05-31", + "end_date": "2024-06-01", + "transform": None, + "frequency": None, + "aggregation_method": "avg", + }, + ], +) +@pytest.mark.integration +def test_fixedincome_mortgage_indices(params, obb): + """Test the mortgage indices endpoint.""" + params = {p: v for p, v in params.items() if v} + + result = obb.fixedincome.mortgage_indices(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@parametrize( + "params", + [ + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "transform": None, + "aggregation_method": None, + "frequency": None, + "provider": "fred", + } + ), + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "provider": "federal_reserve", + } + ), + ], +) +@pytest.mark.integration +def test_fixedincome_rate_overnight_bank_funding(params, obb): + """Test the Overnight Bank Funding Rate endpoint.""" + result = obb.fixedincome.rate.overnight_bank_funding(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 diff --git a/openbb_platform/extensions/fixedincome/openbb_fixedincome/corporate/corporate_router.py b/openbb_platform/extensions/fixedincome/openbb_fixedincome/corporate/corporate_router.py index 18631946f2e..f8a6775d057 100644 --- a/openbb_platform/extensions/fixedincome/openbb_fixedincome/corporate/corporate_router.py +++ b/openbb_platform/extensions/fixedincome/openbb_fixedincome/corporate/corporate_router.py @@ -1,5 +1,6 @@ """Fixed Income Corporate Router.""" +from openbb_core.app.deprecation import OpenBBDeprecationWarning from openbb_core.app.model.command_context import CommandContext from openbb_core.app.model.example import APIEx from openbb_core.app.model.obbject import OBBject @@ -22,6 +23,12 @@ router = Router(prefix="/corporate") APIEx(parameters={"provider": "fred"}), APIEx(parameters={"index_type": "yield_to_worst", "provider": "fred"}), ], + deprecated=True, + deprecation=OpenBBDeprecationWarning( + message="This endpoint is deprecated; use `/fixedincome/bond_indices` instead.", + since=(4, 2), + expected_removal=(4, 5), + ), ) async def ice_bofa( cc: CommandContext, @@ -41,6 +48,13 @@ async def ice_bofa( @router.command( + deprecated=True, + deprecation=OpenBBDeprecationWarning( + message="This endpoint is deprecated; use `/fixedincome/bond_indices` instead." + + " Set `category` to `us` and `index` to `seasoned_corporate`.", + since=(4, 2), + expected_removal=(4, 5), + ), model="MoodyCorporateBondIndex", examples=[ APIEx(parameters={"provider": "fred"}), @@ -113,7 +127,7 @@ async def spot_rates( model="CommercialPaper", examples=[ APIEx(parameters={"provider": "fred"}), - APIEx(parameters={"maturity": "15d", "provider": "fred"}), + APIEx(parameters={"category": "all", "maturity": "15d", "provider": "fred"}), ], ) async def commercial_paper( diff --git a/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_router.py b/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_router.py index 0e232cb1cdb..46ef7677ad0 100644 --- a/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_router.py +++ b/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_router.py @@ -2,6 +2,7 @@ # pylint: disable=W0613:unused-argument +from openbb_core.app.deprecation import OpenBBDeprecationWarning from openbb_core.app.model.command_context import CommandContext from openbb_core.app.model.example import APIEx from openbb_core.app.model.obbject import OBBject @@ -29,8 +30,13 @@ router.include_router(corporate_router) model="SOFR", examples=[ APIEx(parameters={"provider": "fred"}), - APIEx(parameters={"period": "overnight", "provider": "fred"}), ], + deprecated=True, + deprecation=OpenBBDeprecationWarning( + message="This endpoint is deprecated; use `/fixedincome/rate/sofr` instead.", + since=(4, 2), + expected_removal=(4, 5), + ), ) async def sofr( cc: CommandContext, @@ -44,3 +50,66 @@ async def sofr( borrowing cash overnight collateralizing by Treasury securities. """ return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="BondIndices", + examples=[ + APIEx( + description="The default state for FRED are series for constructing the US Corporate Bond Yield Curve.", + parameters={"provider": "fred"}, + ), + APIEx( + description="Multiple indices, from within the same 'category', can be requested.", + parameters={ + "category": "high_yield", + "index": "us,europe,emerging", + "index_type": "total_return", + "provider": "fred", + }, + ), + APIEx( + description="From FRED, there are three main categories, 'high_yield', 'us', and 'emerging_markets'." + + " Emerging markets is a broad category.", + parameters={ + "category": "emerging_markets", + "index": "corporate,private_sector,public_sector", + "provider": "fred", + }, + ), + ], +) +async def bond_indices( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: # type: ignore + """Bond Indices.""" + return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="MortgageIndices", + examples=[ + APIEx( + description="The default state for FRED are the primary mortgage indices from Optimal Blue.", + parameters={"provider": "fred"}, + ), + APIEx( + description="Multiple indices can be requested.", + parameters={ + "index": "jumbo_30y,conforming_30y,conforming_15y", + "provider": "fred", + }, + ), + ], +) +async def mortgage_indices( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: # type: ignore + """Mortgage Indices.""" + return await OBBject.from_query(Query(**locals())) diff --git a/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_views.py b/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_views.py new file mode 100644 index 00000000000..4c76bcc0b46 --- /dev/null +++ b/openbb_platform/extensions/fixedincome/openbb_fixedincome/fixedincome_views.py @@ -0,0 +1,183 @@ +"""Views for the Fixed Income Extension.""" + +from typing import Any, Dict, Optional, Tuple + +import pandas as pd +from openbb_charting.charts.helpers import ( + duration_sorter, +) +from openbb_charting.core.chart_style import ChartStyle +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_charting.styles.colors import LARGE_CYCLER +from openbb_core.app.utils import basemodel_to_df +from openbb_core.provider.abstract.data import Data + + +class FixedIncomeViews: + """FixedIncome Views.""" + + @staticmethod + def fixedincome_government_yield_curve( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Government Yield Curve Chart.""" + data = kwargs.get("data", None) + df: pd.DataFrame = pd.DataFrame() + if data: + if isinstance(data, pd.DataFrame) and not data.empty: # noqa: SIM108 + df = data + elif isinstance(data, (list, Data)): + df = basemodel_to_df(data, index=None) # type: ignore + else: + pass + else: + df = pd.DataFrame([d.model_dump() for d in kwargs["obbject_item"]]) # type: ignore + + if df.empty: + raise ValueError("Error: No data to plot.") + + if "maturity" not in df.columns: + raise ValueError("Error: Maturity column not found in the data.") + + if "rate" not in df.columns: + raise ValueError("Error: Rate column not found in the data.") + + if "date" not in df.columns: + raise ValueError("Error: Date column not found in the data.") + + provider = kwargs.get("provider") + df["date"] = df["date"].astype(str) + maturities = duration_sorter(df["maturity"].unique().tolist()) + + # Use the supplied colors, if any. + colors = kwargs.get("colors", []) + if not colors: + colors = LARGE_CYCLER + color_count = 0 + + figure = OpenBBFigure().create_subplots(shared_xaxes=True) + figure.update_layout(ChartStyle().plotly_template.get("layout", {})) + + def create_fig(figure, df, dates, color_count, country: Optional[str] = None): + """Create a scatter for each date in the data.""" + for date in dates: + color = colors[color_count % len(colors)] + plot_df = df[df["date"] == date].copy() + plot_df["rate"] = plot_df["rate"].apply(lambda x: x * 100) + plot_df = ( + plot_df.drop(columns=["date"]) + .set_index("maturity") + .filter(items=maturities, axis=0) + .reset_index() + .rename(columns={"maturity": "Maturity", "rate": "Yield"}) + ) + plot_df["Maturity"] = [ + ( + d.split("_")[1] + " " + d.split("_")[0].title() + if d != "long_term" + else "Long Term" + ) + for d in plot_df["Maturity"] + ] + figure.add_scatter( + x=plot_df["Maturity"], + y=plot_df["Yield"], + # fill=fill, + mode="lines+markers", + name=f"{country} - {date}" if country else date, + line=dict(width=3, color=color), + marker=dict(size=10, color=color), + hovertemplate=( + "Maturity: %{x}
Yield: %{y}%" + if len(dates) == 1 + else "%{fullData.name}
Maturity: %{x}
Yield: %{y}%" + ), + ) + color_count += 1 + return figure, color_count + + dates = df.date.unique().tolist() + figure, color_count = create_fig(figure, df, dates, color_count) + extra_params = kwargs.get("extra_params") + extra_params = ( + extra_params if isinstance(extra_params, dict) else extra_params.__dict__ + ) + # Set the title for the chart + country: str = "" + if provider in ("federal_reserve", "fmp"): + country = "United States" + elif provider == "ecb": + curve_type = ( + extra_params.get("yield_curve_type", "").replace("_", " ").title() + ) + grade = extra_params.get("rating", "").replace("_", " ") + grade = grade.upper() if grade == "aaa" else "All Ratings" + country = f"Euro Area ({grade}) {curve_type}" + elif provider == "fred": + curve_type = extra_params.get("yield_curve_type", "") + curve_type = ( + "Real Rates" + if curve_type == "real" + else curve_type.replace("_", " ").title() + ) + country = f"United States {curve_type}" + elif provider == "econdb": + country = extra_params.get("country", "") + country = country.replace("_", " ").title() if country else "United States" + country = country + " " if country else "" + title = kwargs.get("title", "") + if not title: + title = f"{country}Yield Curve" + if len(dates) == 1: + title = f"{country} Yield Curve - {dates[0]}" + + # Update the layout of the figure. + figure.update_layout( + title=dict(text=title, x=0.5, font=dict(size=20)), + plot_bgcolor="rgba(255,255,255,0)", + xaxis=dict( + title="Maturity", + ticklen=0, + showgrid=False, + type="category", + categoryorder="array", + categoryarray=( + [ + ( + d.split("_")[1] + " " + d.split("_")[0].title() + if d != "long_term" + else "Long Term" + ) + for d in maturities + ] + ), + ), + yaxis=dict( + title="Yield (%)", + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + ), + legend=dict( + orientation="v", + yanchor="top", + xanchor="right", + y=0.95, + x=0, + xref="paper", + font=dict(size=12), + bgcolor="rgba(0,0,0,0)", + ), + margin=dict( + b=25, + t=10, + ), + ) + + layout_kwargs = kwargs.get("layout_kwargs", {}) + if layout_kwargs: + figure.update_layout(layout_kwargs) + + content = figure.show(external=True) + + return figure, content diff --git a/openbb_platform/extensions/fixedincome/openbb_fixedincome/rate/rate_router.py b/openbb_platform/extensions/fixedincome/openbb_fixedincome/rate/rate_router.py index 709b9c27904..8da16c767d6 100644 --- a/openbb_platform/extensions/fixedincome/openbb_fixedincome/rate/rate_router.py +++ b/openbb_platform/extensions/fixedincome/openbb_fixedincome/rate/rate_router.py @@ -17,10 +17,13 @@ router = Router(prefix="/rate") @router.command( - model="AMERIBOR", + model="Ameribor", examples=[ APIEx(parameters={"provider": "fred"}), - APIEx(parameters={"parameter": "30_day_ma", "provider": "fred"}), + APIEx( + description="The change from one year ago is applied with the transform parameter.", + parameters={"maturity": "all", "transform": "pc1", "provider": "fred"}, + ), ], ) async def ameribor( @@ -29,9 +32,9 @@ async def ameribor( standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject: # type: ignore - """Ameribor. + """AMERIBOR. - Ameribor (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of + AMERIBOR (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of short-term interbank borrowing. This rate is based on transactions in overnight unsecured loans conducted on the American Financial Exchange (AFX). """ @@ -60,6 +63,26 @@ async def sonia( return await OBBject.from_query(Query(**locals())) +@router.command( + model="SOFR", + examples=[ + APIEx(parameters={"provider": "fred"}), + ], +) +async def sofr( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: # type: ignore + """Secured Overnight Financing Rate. + + The Secured Overnight Financing Rate (SOFR) is a broad measure of the cost of + borrowing cash overnight collateralizing by Treasury securities. + """ + return await OBBject.from_query(Query(**locals())) + + @router.command( model="IORB", examples=[APIEx(parameters={"provider": "fred"})], @@ -80,10 +103,10 @@ async def iorb( @router.command( - model="FEDFUNDS", + model="FederalFundsRate", examples=[ APIEx(parameters={"provider": "fred"}), - APIEx(parameters={"parameter": "daily", "provider": "fred"}), + APIEx(parameters={"effr_only": True, "provider": "fred"}), ], ) async def effr( @@ -95,8 +118,7 @@ async def effr( """Fed Funds Rate. Get Effective Federal Funds Rate data. A bank rate is the interest rate a nation's central bank charges to its - domestic banks to borrow money. The rates central banks charge are set to stabilize the economy. In the - United States, the Federal Reserve System's Board of Governors set the bank rate, also known as the discount rate. + domestic banks to borrow money. The rates central banks charge are set to stabilize the economy. """ return await OBBject.from_query(Query(**locals())) @@ -125,10 +147,10 @@ async def effr_forecast( @router.command( - model="ESTR", + model="EuroShortTermRate", examples=[ APIEx(parameters={"provider": "fred"}), - APIEx(parameters={"parameter": "number_of_active_banks", "provider": "fred"}), + APIEx(parameters={"transform": "ch1", "provider": "fred"}), ], ) async def estr( @@ -142,7 +164,7 @@ async def estr( The euro short-term rate (€STR) reflects the wholesale euro unsecured overnight borrowing costs of banks located in the euro area. The €STR is published on each TARGET2 business day based on transactions conducted and settled on the previous TARGET2 business day (the reporting date ā€œTā€) with a maturity date of T+1 which are deemed to have been - executed at arm’s length and thus reflect market rates in an unbiased way. + executed at arm's length and thus reflect market rates in an unbiased way. """ return await OBBject.from_query(Query(**locals())) @@ -199,3 +221,22 @@ async def dpcredit( also known as the discount rate. """ return await OBBject.from_query(Query(**locals())) + + +@router.command( + model="OvernightBankFundingRate", + examples=[APIEx(parameters={"provider": "fred"})], +) +async def overnight_bank_funding( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject: # type: ignore + """Overnight Bank Funding. + + For the United States, the overnight bank funding rate (OBFR) is calculated as a volume-weighted median of + overnight federal funds transactions and Eurodollar transactions reported in the + FR 2420 Report of Selected Money Market Rates. + """ + return await OBBject.from_query(Query(**locals())) diff --git a/openbb_platform/extensions/fixedincome/poetry.lock b/openbb_platform/extensions/fixedincome/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/fixedincome/poetry.lock +++ b/openbb_platform/extensions/fixedincome/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/fixedincome/pyproject.toml b/openbb_platform/extensions/fixedincome/pyproject.toml index c19cbd70b10..2b39620fa61 100644 --- a/openbb_platform/extensions/fixedincome/pyproject.toml +++ b/openbb_platform/extensions/fixedincome/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-fixedincome" -version = "1.2.2" +version = "1.2.3" description = "Fixed income extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_fixedincome" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] fixedincome = "openbb_fixedincome.fixedincome_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +fixedincome = "openbb_fixedincome.fixedincome_views:FixedIncomeViews" diff --git a/openbb_platform/extensions/index/openbb_index/index_views.py b/openbb_platform/extensions/index/openbb_index/index_views.py new file mode 100644 index 00000000000..1185444e417 --- /dev/null +++ b/openbb_platform/extensions/index/openbb_index/index_views.py @@ -0,0 +1,17 @@ +"""Views for the index Extension.""" + +from typing import Any, Dict, Tuple + +from openbb_charting.charts.price_historical import price_historical +from openbb_charting.core.openbb_figure import OpenBBFigure + + +class IndexViews: + """Index Views.""" + + @staticmethod + def index_price_historical( # noqa: PLR0912 + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Index Price Historical Chart.""" + return price_historical(**kwargs) diff --git a/openbb_platform/extensions/index/poetry.lock b/openbb_platform/extensions/index/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/index/poetry.lock +++ b/openbb_platform/extensions/index/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/index/pyproject.toml b/openbb_platform/extensions/index/pyproject.toml index d36fa96ca18..b929ce8aa04 100644 --- a/openbb_platform/extensions/index/pyproject.toml +++ b/openbb_platform/extensions/index/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-index" -version = "1.2.2" +version = "1.2.3" description = "Index extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_index" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -17,3 +17,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] index = "openbb_index.index_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +index = "openbb_index.index_views:IndexViews" diff --git a/openbb_platform/extensions/news/poetry.lock b/openbb_platform/extensions/news/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/extensions/news/poetry.lock +++ b/openbb_platform/extensions/news/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/extensions/news/pyproject.toml b/openbb_platform/extensions/news/pyproject.toml index 535c0a9cbcc..58323a2429a 100644 --- a/openbb_platform/extensions/news/pyproject.toml +++ b/openbb_platform/extensions/news/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-news" -version = "1.2.2" +version = "1.2.3" description = "News extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_news" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/extensions/quantitative/poetry.lock b/openbb_platform/extensions/quantitative/poetry.lock index 44bbdf4ea69..7e4a151203a 100644 --- a/openbb_platform/extensions/quantitative/poetry.lock +++ b/openbb_platform/extensions/quantitative/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2174,4 +2174,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "90622d0bf2c35440bff44ac3219a9e52089560f7154bfebd6885c111669762cb" +content-hash = "72007a589c65455a17563427920b0d3016ad6d476efa330de63f2497f90526b5" diff --git a/openbb_platform/extensions/quantitative/pyproject.toml b/openbb_platform/extensions/quantitative/pyproject.toml index c8763270951..bfac722b3c7 100644 --- a/openbb_platform/extensions/quantitative/pyproject.toml +++ b/openbb_platform/extensions/quantitative/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-quantitative" -version = "1.2.2" +version = "1.2.3" description = "Quantitative Analysis extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -12,7 +12,7 @@ python = ">=3.8,<3.12" # scipy forces python <4.0 explicitly scipy = "^1.10.1" statsmodels = "^0.14.0" pandas-ta = "^0.3.14b" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/extensions/regulators/poetry.lock b/openbb_platform/extensions/regulators/poetry.lock index ed88c87491e..f5aeb1700b6 100644 --- a/openbb_platform/extensions/regulators/poetry.lock +++ b/openbb_platform/extensions/regulators/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "bbb97a76bae9d847a761b09626249acbf95b57d06d1c2a58c9e04a6bed535b6c" +content-hash = "d039c557882eb05fc29d4d807a987d9bc9a92fa1bc3aec4b610ea6509566cdf4" diff --git a/openbb_platform/extensions/regulators/pyproject.toml b/openbb_platform/extensions/regulators/pyproject.toml index a4f1181da44..4c3c929ffb1 100644 --- a/openbb_platform/extensions/regulators/pyproject.toml +++ b/openbb_platform/extensions/regulators/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-regulators" -version = "1.2.2" +version = "1.2.3" description = "Markets and Agency Regulators extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_regulators" }] [tool.poetry.dependencies] python = ">=3.8,<3.12" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/extensions/technical/openbb_technical/technical_views.py b/openbb_platform/extensions/technical/openbb_technical/technical_views.py new file mode 100644 index 00000000000..b59c46aef29 --- /dev/null +++ b/openbb_platform/extensions/technical/openbb_technical/technical_views.py @@ -0,0 +1,511 @@ +"""Views for the technical Extension.""" + +from typing import Any, Dict, Tuple + +import pandas as pd +from openbb_charting.charts import relative_rotation +from openbb_charting.core.chart_style import ChartStyle +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_charting.core.plotly_ta.ta_class import PlotlyTA +from openbb_charting.core.to_chart import to_chart +from openbb_charting.styles.colors import LARGE_CYCLER +from openbb_core.app.utils import basemodel_to_df + + +class TechnicalViews: + """Technical Views.""" + + @staticmethod + def technical_sma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Plot simple moving average chart.""" + if "ma_type" not in kwargs: + kwargs["ma_type"] = "sma" + return _ta_ma(**kwargs) + + @staticmethod + def technical_ema(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Exponential moving average chart.""" + if "ma_type" not in kwargs: + kwargs["ma_type"] = "ema" + return _ta_ma(**kwargs) + + @staticmethod + def technical_hma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Hull moving average chart.""" + if "ma_type" not in kwargs: + kwargs["ma_type"] = "hma" + return _ta_ma(**kwargs) + + @staticmethod + def technical_wma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Weighted moving average chart.""" + if "ma_type" not in kwargs: + kwargs["ma_type"] = "wma" + return _ta_ma(**kwargs) + + @staticmethod + def technical_zlma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Zero lag moving average chart.""" + if "ma_type" not in kwargs: + kwargs["ma_type"] = "zlma" + return _ta_ma(**kwargs) + + @staticmethod + def technical_aroon(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Technical Aroon Chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + else: + data = basemodel_to_df( + kwargs["obbject_item"], index=kwargs.get("index", "date") + ) + + if "date" in data.columns: + data = data.set_index("date") + + if "symbol" in data.columns and len(data.symbol.unique()) > 1: + raise ValueError( + "Please provide data with only one symbol and columns for OHLC." + ) + + symbol = kwargs.get("symbol", "") + + volume = kwargs.get("volume") is True + title = f"Aroon Indicator & Oscillator {symbol}" + + length = kwargs.get("length", 25) + scalar = kwargs.get("scalar", 100) + symbol = kwargs.get("symbol", "") + + ta = PlotlyTA() + fig = ta.plot( # type: ignore + data, + dict(aroon=dict(length=length, scalar=scalar)), + title, + False, + volume=volume, + ) + + content = fig.show(external=True).to_plotly_json() + + return fig, content + + @staticmethod + def technical_macd(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Plot moving average convergence divergence chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + else: + data = basemodel_to_df( + kwargs["obbject_item"], index=kwargs.get("index", "date") + ) + + if "date" in data.columns: + data = data.set_index("date") + + if "symbol" in data.columns and len(data.symbol.unique()) > 1: + raise ValueError( + "Please provide data with only one symbol and columns for OHLC." + ) + + fast = kwargs.get("fast", 12) + slow = kwargs.get("slow", 26) + signal = kwargs.get("signal", 9) + symbol = kwargs.get("symbol", "") + + title = f"{symbol.upper()} MACD" + volume = kwargs.get("volume") is True + + ta = PlotlyTA() + fig = ta.plot( # type: ignore + data, + dict(macd=dict(fast=fast, slow=slow, signal=signal)), + title, + False, + volume=volume, + ) + content = fig.show(external=True).to_plotly_json() + + return fig, content + + @staticmethod + def technical_adx(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Average directional movement index chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + else: + data = basemodel_to_df( + kwargs["obbject_item"], index=kwargs.get("index", "date") + ) + + if "date" in data.columns: + data = data.set_index("date") + + if "symbol" in data.columns and len(data.symbol.unique()) > 1: + raise ValueError( + "Please provide data with only one symbol and columns for OHLC." + ) + + length = kwargs.get("length", 14) + scalar = kwargs.get("scalar", 100.0) + drift = kwargs.get("drift", 1) + symbol = kwargs.get("symbol", "") + + ta = PlotlyTA() + fig = ta.plot( # type: ignore + data, + dict(adx=dict(length=length, scalar=scalar, drift=drift)), + f"Average Directional Movement Index (ADX) {symbol}", + False, + volume=False, + ) + content = fig.show(external=True).to_plotly_json() + + return fig, content + + @staticmethod + def technical_rsi(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Relative strength index chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + else: + data = basemodel_to_df( + kwargs["obbject_item"], index=kwargs.get("index", "date") + ) + + if "date" in data.columns: + data = data.set_index("date") + + if "symbol" in data.columns and len(data.symbol.unique()) > 1: + raise ValueError( + "Please provide data with only one symbol and columns for OHLC." + ) + + window = kwargs.get("window", 14) + scalar = kwargs.get("scalar", 100.0) + drift = kwargs.get("drift", 1) + symbol = kwargs.get("symbol", "") + + ta = PlotlyTA() + fig = ta.plot( # type: ignore + data, + dict(rsi=dict(length=window, scalar=scalar, drift=drift)), + f"{symbol.upper()} RSI {window}", + False, + volume=False, + ) + content = fig.show(external=True).to_plotly_json() + + return fig, content + + @staticmethod + def technical_cones(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Volatility Cones Chart.""" + data = kwargs.get("data") + + if ( + isinstance(data, pd.DataFrame) + and not data.empty + and "window" in data.columns + ): + df_ta = data.set_index("window") + else: + df_ta = basemodel_to_df(kwargs["obbject_item"], index="window") # type: ignore + + df_ta.columns = [col.title().replace("_", " ") for col in df_ta.columns] + + # Check if the data is formatted as expected. + if not all( + col in df_ta.columns for col in ["Realized", "Min", "Median", "Max"] + ): + raise ValueError("Data supplied does not match the expected format.") + + model = ( + str(kwargs.get("model")) + .replace("std", "Standard Deviation") + .replace("_", "-") + .title() + if kwargs.get("model") + else "Standard Deviation" + ) + + symbol = str(kwargs.get("symbol")) + " - " if kwargs.get("symbol") else "" + + title = ( + str(kwargs.get("title")) + if kwargs.get("title") + else f"{symbol}Realized Volatility Cones - {model} Model" + ) + + colors = [ + "green", + "red", + "burlywood", + "grey", + "orange", + "blue", + ] + + fig = OpenBBFigure() + + fig.update_layout(ChartStyle().plotly_template.get("layout", {})) + + text_color = "black" if ChartStyle().plt_style == "light" else "white" + + for i, col in enumerate(df_ta.columns): + fig.add_scatter( + x=df_ta.index, + y=df_ta[col], + name=col, + mode="lines+markers", + hovertemplate=f"{col}: %{{y}}", + marker=dict( + color=colors[i], + size=11, + ), + ) + + fig.set_title(title) + + fig.update_layout( + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(0,0,0,0)", + font=dict(color=text_color), + legend=dict( + orientation="h", + yanchor="bottom", + xanchor="right", + y=1.02, + x=1, + bgcolor="rgba(0,0,0,0)", + ), + yaxis=dict( + ticklen=0, + showgrid=True, + showline=True, + mirror=True, + zeroline=False, + gridcolor="rgba(128,128,128,0.3)", + ), + xaxis=dict( + type="category", + tickmode="array", + ticklen=0, + tickvals=df_ta.index, + ticktext=df_ta.index, + title_text="Period", + showgrid=False, + showline=True, + mirror=True, + zeroline=False, + ), + margin=dict(l=20, r=20, b=20), + dragmode="pan", + ) + + content = fig.to_plotly_json() + + return fig, content + + @staticmethod + def technical_relative_rotation( + **kwargs: Any, + ) -> Tuple["OpenBBFigure", Dict[str, Any]]: + """Relative Rotation Chart.""" + ratios_df = basemodel_to_df(kwargs["obbject_item"].rs_ratios, index="date") # type: ignore + momentum_df = basemodel_to_df(kwargs["obbject_item"].rs_momentum, index="date") # type: ignore + benchmark_symbol = kwargs["obbject_item"].benchmark # type: ignore + study = kwargs.get("study", None) + study = str(kwargs["obbject_item"].study) if study is None else str(study) + show_tails = kwargs.get("show_tails") + show_tails = True if show_tails is None else show_tails + tail_periods = int(kwargs.get("tail_periods")) if "tail_periods" in kwargs else 16 # type: ignore + tail_interval = str(kwargs.get("tail_interval")) if "tail_interval" in kwargs else "week" # type: ignore + date = kwargs.get("date") if "date" in kwargs else None # type: ignore + show_tails = False if date is not None else show_tails + if ratios_df.empty or momentum_df.empty: + raise RuntimeError("Error: No data to plot.") + + if show_tails is True: + fig = relative_rotation.create_rrg_with_tails( + ratios_df, momentum_df, study, benchmark_symbol, tail_periods, tail_interval # type: ignore + ) + + if show_tails is False: + fig = relative_rotation.create_rrg_without_tails( + ratios_df, momentum_df, benchmark_symbol, study, date # type: ignore + ) + + figure = OpenBBFigure(fig) # pylint: disable=E0606 + font_color = "black" if ChartStyle().plt_style == "light" else "white" + figure.update_layout( + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(255,255,255,1)", + font=dict(color=font_color), + yaxis=dict( + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + side="left", + showline=True, + zeroline=True, + mirror=True, + ticklen=0, + tickfont=dict(size=14), + titlefont=dict(size=16), + ), + xaxis=dict( + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + showline=True, + zeroline=True, + mirror=True, + ticklen=0, + tickfont=dict(size=14), + titlefont=dict(size=16), + hoverformat="", + ), + hoverlabel=dict( + font_size=12, + ), + hovermode="x", + hoverdistance=50, + ) + if kwargs.get("title") is not None: + figure.set_title(str(kwargs.get("title"))) + content = figure.to_plotly_json() + + return figure, content + + +def _ta_ma(**kwargs): + """Plot moving average helper.""" + index = ( + kwargs.get("index") + if "index" in kwargs and kwargs.get("index") is not None + else "date" + ) + data = kwargs.get("data") + ma_type = ( + kwargs["ma_type"] + if "ma_type" in kwargs and kwargs.get("ma_type") is not None + else "sma" + ) + ma_types = ma_type.split(",") if isinstance(ma_type, str) else ma_type + + if isinstance(data, pd.DataFrame) and not data.empty: + data = data.set_index(index) if index in data.columns else data + + if data is None: + data = basemodel_to_df(kwargs["obbject_item"], index=index) + + if isinstance(data, list): + data = basemodel_to_df(data, index=index) + + window = ( + kwargs.get("length", []) + if "length" in kwargs and kwargs.get("length") is not None + else [50] + ) + offset = kwargs.get("offset", 0) + target = ( + kwargs.get("target") + if "target" in kwargs and kwargs.get("target") is not None + else "close" + ) + + if target not in data.columns and "close" in data.columns: + target = "close" + + if target not in data.columns and "close" not in data.columns: + raise ValueError(f"Column '{target}', or 'close', not found in the data.") + + df = data.copy() + if target in data.columns: + df = df[[target]] + df.columns = ["close"] + title = ( + kwargs.get("title") + if "title" in kwargs and kwargs.get("title") is not None + else f"{ma_type.upper()}" + ) + + fig = OpenBBFigure() + fig = fig.create_subplots( + 1, + 1, + shared_xaxes=True, + vertical_spacing=0.06, + horizontal_spacing=0.01, + row_width=[1], + specs=[[{"secondary_y": True}]], + ) + fig.update_layout(ChartStyle().plotly_template.get("layout", {})) + + ma_df = pd.DataFrame() + window = [window] if isinstance(window, int) else window + for w in window: + for ma_type in ma_types: + ma_df[f"{ma_type.upper()} {w}"] = getattr(df.ta, ma_type)( + length=w, offset=offset + ) + + if kwargs.get("dropnan") is True: + ma_df = ma_df.dropna() + data = data.iloc[-len(ma_df) :] + + if ( + "candles" in kwargs + and kwargs.get("candles") is True + and kwargs.get("target") is None + ): + volume = kwargs.get("volume") is True + fig, _ = to_chart(data, candles=True, volume=volume) + + else: + ma_df[f"{target}".title()] = data[target] + + for i, col in enumerate(ma_df.columns): + name = col.replace("_", " ") + fig.add_scatter( + x=ma_df.index, + y=ma_df[col], + name=name, + mode="lines", + hovertemplate=f"{name}: %{{y}}", + line=dict(width=1, color=LARGE_CYCLER[i]), + showlegend=True, + ) + + fig.update_layout( + title=dict(text=title, x=0.5, font=dict(size=16)), + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(0,0,0,0)", + showlegend=True, + legend=dict( + orientation="h", + yanchor="bottom", + xanchor="right", + y=1.02, + x=0.95, + bgcolor="rgba(0,0,0,0)", + ), + xaxis=dict( + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + zeroline=True, + mirror=True, + ), + yaxis=dict( + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + zeroline=True, + mirror=True, + autorange=True, + ), + ) + + content = fig.show(external=True).to_plotly_json() + + return fig, content diff --git a/openbb_platform/extensions/technical/poetry.lock b/openbb_platform/extensions/technical/poetry.lock index 97271082d58..06d5c5333a2 100644 --- a/openbb_platform/extensions/technical/poetry.lock +++ b/openbb_platform/extensions/technical/poetry.lock @@ -937,13 +937,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2198,4 +2198,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "5ad1990f2c08a13f406f86685e6ee8922e944c968fcd35f23123d47172ebea74" +content-hash = "4a594a4559c8382038619399b03b1ad4d77fa67c3bd5012bbfbb4c35f59699ee" diff --git a/openbb_platform/extensions/technical/pyproject.toml b/openbb_platform/extensions/technical/pyproject.toml index 08b8354d242..143cc44a05c 100644 --- a/openbb_platform/extensions/technical/pyproject.toml +++ b/openbb_platform/extensions/technical/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-technical" -version = "1.2.2" +version = "1.2.3" description = "Technical Analysis extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -13,7 +13,7 @@ scipy = "^1.10.1" statsmodels = "^0.14.0" scikit-learn = "^1.3.1" pandas-ta = "^0.3.14b" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] @@ -21,3 +21,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] technical = "openbb_technical.technical_router:router" + +[tool.poetry.plugins."openbb_charting_extension"] +technical = "openbb_technical.technical_views:TechnicalViews" diff --git a/openbb_platform/extensions/tests/utils/helpers.py b/openbb_platform/extensions/tests/utils/helpers.py index 2411a85484b..35f73ca8b69 100644 --- a/openbb_platform/extensions/tests/utils/helpers.py +++ b/openbb_platform/extensions/tests/utils/helpers.py @@ -187,7 +187,7 @@ class Decorator: kwargs: Optional[dict] = None -def get_decorator_details(function) -> Decorator: +def get_decorator_details(function) -> Optional[Decorator]: """Extract decorators and their arguments from a function.""" source = inspect.getsource(function) parsed_source = parse(source) @@ -207,8 +207,8 @@ def get_decorator_details(function) -> Decorator: name = ( decorator.id if isinstance(decorator, Name) else unparse(decorator) ) - - return Decorator(name, args, kwargs) + return Decorator(name, args, kwargs) + return None def find_missing_router_function_models( diff --git a/openbb_platform/extensions/tests/utils/integration_tests_testers.py b/openbb_platform/extensions/tests/utils/integration_tests_testers.py index fc1ff20edd0..afb0d95e9f1 100644 --- a/openbb_platform/extensions/tests/utils/integration_tests_testers.py +++ b/openbb_platform/extensions/tests/utils/integration_tests_testers.py @@ -34,6 +34,8 @@ def get_integration_tests( file_end = "_python.py" elif test_type == "api": file_end = "_api.py" + else: + raise ValueError(f"test_type '{test_type}' not valid") for extension in find_extensions(filter_charting_ext): integration_folder = os.path.join(extension, "integration") diff --git a/openbb_platform/extensions/tests/utils/router_testers.py b/openbb_platform/extensions/tests/utils/router_testers.py index bb6304dd6e8..f1523afb696 100644 --- a/openbb_platform/extensions/tests/utils/router_testers.py +++ b/openbb_platform/extensions/tests/utils/router_testers.py @@ -137,7 +137,7 @@ def check_router_command_examples() -> List[str]: ) if decorator: decorator_details = get_decorator_details(function) - if decorator_details.name == "router.command": + if decorator_details and decorator_details.name == "router.command": keywords = decorator_details.kwargs or {} examples = keywords.get("examples", []) # General checks diff --git a/openbb_platform/obbject_extensions/charting/README.md b/openbb_platform/obbject_extensions/charting/README.md index 039001608c0..8b87d86d226 100644 --- a/openbb_platform/obbject_extensions/charting/README.md +++ b/openbb_platform/obbject_extensions/charting/README.md @@ -9,7 +9,7 @@ The library includes: - prebuilt charts for a set of commands that are built-in OpenBB extensions >[!NOTE] -> The charting library is an [`OBBject` extension](https://docs.openbb.co/platform/development/developer-guidelines/obbject_extensions) which means you'll have the functionality it exposes on every command result. +> The charting library is an `OBBject` extension which means you'll have the functionality it exposes on every command result. ## Installation @@ -120,15 +120,44 @@ Example usage: ## Add a visualization to an existing Platform command -One should first ensure that the already implemented endpoint is available in the [charting router](/openbb_platform/obbject_extensions/charting/openbb_charting/charting_router.py). +To add a visualization to an existing command, you'll need to add a `poetry` plugin to your `pyproject.toml` file. The syntax should be the following: -To do so, you can run: - `python openbb_platform/obbject_extensions/charting/openbb_charting/builder.py` - which will read all the available endpoints and add them to the charting router. +```toml +[tool.poetry.plugins."openbb_charting_extension"] +my_extension = "openbb_my_extension.my_extension_views:MyExtensionViews" +``` -Afterwards, you'll need to add the visualization to the [charting router]. The convention to match the endpoint with the respective charting function is the following: +Where the `openbb_charting_extension` is **mandatory**, otherwise the charting extension won't be able to find the visualization. + +And the suggested structure for the `my_extension_views` module is the following: + +```python +"""Views for MyExtension.""" + +from typing import Any, Dict, Tuple + +from openbb_charting.charts.price_historical import price_historical +from openbb_charting.core.openbb_figure import OpenBBFigure + + +class MyExtensionViews: + """MyExtension Views.""" + + @staticmethod + def my_extension_price_historical( + **kwargs, + ) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """MyExtension Price Historical Chart.""" + return price_historical(**kwargs) +``` + +> Note that `my_extension_views` lives under the `openbb_my_extension` package. + +Afterwards, you'll need to add the visualization to your new `MyExtensionViews` class. The convention to match the endpoint with the respective charting function is the following: - `/equity/price/historical` -> `equity_price_historical` - `/technical/ema` -> `technical_ema` +- `/my_extension/price_historical` -> `my_extension_price_historical` When you spot the charting function on the charting router file, you can add the visualization to it. diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/__init__.py b/openbb_platform/obbject_extensions/charting/openbb_charting/__init__.py index 7560b6fb369..fb00de240b0 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/__init__.py +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/__init__.py @@ -1,570 +1,14 @@ """OpenBB OBBject extension for charting.""" -# pylint: disable=too-many-arguments,unused-argument - import warnings -from typing import ( - Any, - Callable, - Dict, - List, - Literal, - Optional, - Tuple, - Union, -) -from warnings import warn -import numpy as np -import pandas as pd -from openbb_core.app.model.charts.chart import Chart from openbb_core.app.model.extension import Extension -from openbb_core.app.model.obbject import OBBject -from openbb_core.app.utils import basemodel_to_df, convert_to_basemodel -from openbb_core.provider.abstract.data import Data -from plotly.graph_objs import Figure -from openbb_charting import charting_router -from openbb_charting.core.backend import Backend, create_backend, get_backend -from openbb_charting.core.openbb_figure import OpenBBFigure -from openbb_charting.query_params import ChartParams, IndicatorsParams -from openbb_charting.utils.generic_charts import bar_chart, line_chart -from openbb_charting.utils.helpers import get_charting_functions +from openbb_charting.charting import Charting as _Charting warnings.filterwarnings( "ignore", category=UserWarning, module="openbb_core.app.model.extension", lineno=47 ) ext = Extension(name="charting", description="Create custom charts from OBBject data.") - - -@ext.obbject_accessor -class Charting: - """Charting extension. - - Methods - ------- - show - Display chart and save it to the OBBject. - to_chart - Redraw the chart and save it to the OBBject, with an optional entry point for Data. - functions - Return a list of Platform commands with charting functions. - get_params - Return the charting parameters for the function the OBBject was created from. - indicators - Return the list of the available technical indicators to use with the `to_chart` method and OHLC+V data. - table - Display an interactive table. - create_line_chart - Create a line chart from external data. - create_bar_chart - Create a bar chart, on a single x-axis with one or more values for the y-axis, from external data. - toggle_chart_style - Toggle the chart style, of an existing chart, between light and dark mode. - """ - - def __init__(self, obbject): - """Initialize Charting extension.""" - # pylint: disable=import-outside-toplevel - from openbb_core.app.model.charts.charting_settings import ChartingSettings - - self._obbject: OBBject = obbject - self._charting_settings = ChartingSettings( - user_settings=self._obbject._user_settings, # type: ignore - system_settings=self._obbject._system_settings, # type: ignore - ) - self._backend: Backend = self._handle_backend() - - @classmethod - def indicators(cls): - """Return an instance of the IndicatorsParams class, containing all available indicators and their parameters. - - Without assigning to a variable, it will print the the information to the console. - """ - return IndicatorsParams() - - @classmethod - def functions(cls): - """Return a list of the available functions.""" - return get_charting_functions() - - def _handle_backend(self) -> Backend: - """Create and start the backend.""" - create_backend(self._charting_settings) - backend = get_backend() - backend.start(debug=self._charting_settings.debug_mode) - return backend - - @staticmethod - def _get_chart_function(route: str) -> Callable: - """Given a route, it returns the chart function. The module must contain the given route.""" - if route is None: - raise ValueError("OBBject was initialized with no function route.") - adjusted_route = route.replace("/", "_")[1:] - return getattr(charting_router, adjusted_route) - - def get_params(self) -> ChartParams: - """Return the ChartQueryParams class for the function the OBBject was created from. - - Without assigning to a variable, it will print the docstring to the console. - """ - if self._obbject._route is None: # pylint: disable=protected-access - raise ValueError("OBBject was initialized with no function route.") - charting_function = ( - self._obbject._route # pylint: disable=protected-access - ).replace("/", "_")[1:] - if hasattr(ChartParams, charting_function): - return getattr(ChartParams, charting_function)() - raise ValueError( - f"Error: No chart parameters are defined for the route: {charting_function}" - ) - - def _prepare_data_as_df( - self, data: Optional[Union[pd.DataFrame, pd.Series]] - ) -> Tuple[pd.DataFrame, bool]: - """Convert supplied data to a DataFrame.""" - has_data = ( - isinstance(data, (Data, pd.DataFrame, pd.Series)) and not data.empty # type: ignore - ) or (bool(data)) - index = ( - data.index.name - if has_data and isinstance(data, (pd.DataFrame, pd.Series)) - else None - ) - data_as_df: pd.DataFrame = ( - basemodel_to_df(convert_to_basemodel(data), index=index) - if has_data - else self._obbject.to_dataframe(index=index) - ) - if "date" in data_as_df.columns: - data_as_df = data_as_df.set_index("date") - if "provider" in data_as_df.columns: - data_as_df.drop(columns="provider", inplace=True) - return data_as_df, has_data - - # pylint: disable=too-many-locals - def create_line_chart( - self, - data: Union[ - list, - dict, - pd.DataFrame, - List[pd.DataFrame], - pd.Series, - List[pd.Series], - np.ndarray, - Data, - ], - index: Optional[str] = None, - target: Optional[str] = None, - title: Optional[str] = None, - x: Optional[str] = None, - xtitle: Optional[str] = None, - y: Optional[Union[str, List[str]]] = None, - ytitle: Optional[str] = None, - y2: Optional[Union[str, List[str]]] = None, - y2title: Optional[str] = None, - layout_kwargs: Optional[dict] = None, - scatter_kwargs: Optional[dict] = None, - normalize: bool = False, - returns: bool = False, - same_axis: bool = False, - render: bool = True, - **kwargs, - ) -> Union[OpenBBFigure, Figure, None]: - """Create a line chart from external data and render a chart or return the OpenBBFigure. - - Parameters - ---------- - data : Union[Data, pd.DataFrame, pd.Series] - Data to be plotted (OHLCV data). - index : Optional[str], optional - Index column, by default None - target : Optional[str], optional - Target column to be plotted, by default None - title : Optional[str], optional - Chart title, by default None - x : Optional[str], optional - X-axis column, by default None - xtitle : Optional[str], optional - X-axis title, by default None - y : Optional[Union[str, List[str]]], optional - Y-axis column(s), by default None - If None are supplied, the layout is optimized for the contents of data. - Where many units/scales are present, - it will attempt to divide based on the range of values. - ytitle : Optional[str], optional - Y-axis title, by default None - y2 : Optional[Union[str, List[str]]], optional - Y2-axis column(s), by default None - y2title : Optional[str], optional - Y2-axis title, by default None - layout_kwargs : Optional[dict], optional - Additional Plotly Layout parameters for `fig.update_layout`, by default None - scatter_kwargs : Optional[dict], optional - Additional Plotly parameters applied on creation of each scatter plot, by default None - normalize : bool, optional - Normalize the data with Z-Score Standardization, by default False - returns : bool, optional - Convert the data to cumulative returns, by default False - same_axis: bool, optional - If True, forces all data onto the same Y-axis, by default False - render: bool, optional - If True, the chart will be rendered, by default True - **kwargs: Dict[str, Any] - Extra parameters to be passed to `figure.show()` - """ - fig = line_chart( - data=data, - index=index, - target=target, - title=title, - x=x, - xtitle=xtitle, - y=y, - ytitle=ytitle, - y2=y2, - y2title=y2title, - layout_kwargs=layout_kwargs, - scatter_kwargs=scatter_kwargs, - normalize=normalize, - returns=returns, - same_axis=same_axis, - **kwargs, - ) - fig = self._set_chart_style(fig) - if render: - return fig.show(**kwargs) - - return fig - - def create_bar_chart( - self, - data: Union[ - list, - dict, - pd.DataFrame, - List[pd.DataFrame], - pd.Series, - List[pd.Series], - np.ndarray, - Data, - ], - x: str, - y: Union[str, List[str]], - barmode: Literal["group", "stack", "relative", "overlay"] = "group", - xtype: Literal[ - "category", "multicategory", "date", "log", "linear" - ] = "category", - title: Optional[str] = None, - xtitle: Optional[str] = None, - ytitle: Optional[str] = None, - orientation: Literal["h", "v"] = "v", - colors: Optional[List[str]] = None, - layout_kwargs: Optional[Dict[str, Any]] = None, - bar_kwargs: Optional[Dict[str, Any]] = None, - render: bool = True, - **kwargs, - ) -> Union[OpenBBFigure, Figure, None]: - """Create a bar chart on a single x-axis with one or more values for the y-axis. - - Parameters - ---------- - data : Union[list, dict, pd.DataFrame, List[pd.DataFrame], pd.Series, List[pd.Series], np.ndarray, Data] - Data to plot. - x : str - The x-axis column name. - y : Union[str, List[str]] - The y-axis column name(s). - barmode : Literal["group", "stack", "relative", "overlay"], optional - The bar mode, by default "group". - xtype : Literal["category", "multicategory", "date", "log", "linear"], optional - The x-axis type, by default "category". - title : str, optional - The title of the chart, by default None. - xtitle : str, optional - The x-axis title, by default None. - ytitle : str, optional - The y-axis title, by default None. - colors: List[str], optional - Manually set the colors to cycle through for each column in 'y', by default None. - bar_kwargs : Dict[str, Any], optional - Additional keyword arguments to apply with figure.add_bar(), by default None. - layout_kwargs : Dict[str, Any], optional - Additional keyword arguments to apply with figure.update_layout(), by default None. - Returns - ------- - OpenBBFigure - The OpenBBFigure object. - """ - fig = bar_chart( - data=data, - x=x, - y=y, - barmode=barmode, - xtype=xtype, - title=title, - xtitle=xtitle, - ytitle=ytitle, - orientation=orientation, - colors=colors, - bar_kwargs=bar_kwargs, - layout_kwargs=layout_kwargs, - ) - fig = self._set_chart_style(fig) - if render: - return fig.show(**kwargs) - - return fig - - # pylint: disable=inconsistent-return-statements - def show(self, render: bool = True, **kwargs): - """Display chart and save it to the OBBject.""" - try: - charting_function = self._get_chart_function( - self._obbject._route # pylint: disable=protected-access - ) - kwargs["obbject_item"] = self._obbject.results - kwargs["charting_settings"] = self._charting_settings - if ( - hasattr(self._obbject, "_standard_params") - and self._obbject._standard_params # pylint: disable=protected-access - ): - kwargs["standard_params"] = ( - self._obbject._standard_params.__dict__ # pylint: disable=protected-access - ) - kwargs["provider"] = ( - self._obbject.provider - ) # pylint: disable=protected-access - kwargs["extra"] = self._obbject.extra # pylint: disable=protected-access - - if "kwargs" in kwargs: - _kwargs = kwargs.pop("kwargs") - kwargs.update(_kwargs.get("chart_params", {})) - fig, content = charting_function(**kwargs) - fig = self._set_chart_style(fig) - content = fig.show(external=True, **kwargs).to_plotly_json() - self._obbject.chart = Chart( - fig=fig, content=content, format=charting_router.CHART_FORMAT - ) - if render: - fig.show(**kwargs) - except Exception: # pylint: disable=W0718 - try: - fig = self.create_line_chart(data=self._obbject.results, render=False, **kwargs) # type: ignore - fig = self._set_chart_style(fig) - content = fig.show(external=True, **kwargs).to_plotly_json() # type: ignore - self._obbject.chart = Chart( - fig=fig, content=content, format=charting_router.CHART_FORMAT - ) - if render: - return fig.show(**kwargs) # type: ignore - except Exception as e: - raise RuntimeError( - "Failed to automatically create a generic chart with the data provided." - ) from e - - # pylint: disable=too-many-locals,inconsistent-return-statements - def to_chart( - self, - data: Optional[ - Union[ - list, - dict, - pd.DataFrame, - List[pd.DataFrame], - pd.Series, - List[pd.Series], - np.ndarray, - Data, - ] - ] = None, - target: Optional[str] = None, - index: Optional[str] = None, - indicators: Optional[Dict[str, Dict[str, Any]]] = None, - symbol: str = "", - candles: bool = True, - volume: bool = True, - volume_ticks_x: int = 7, - render: bool = True, - **kwargs, - ): - """Create an OpenBBFigure with user customizations (if any) and save it to the OBBject. - - This function is used to populate, or re-populate, the OBBject with a chart using the data within - the OBBject or external data supplied via the `data` parameter. - This function modifies the original OBBject by overwriting the existing chart. - - Parameters - ---------- - data : Union[Data, pd.DataFrame, pd.Series] - Data to be plotted. - indicators : Dict[str, Dict[str, Any]], optional - Indicators to be plotted, by default None - symbol : str, optional - Symbol to be plotted. This is used for labels and titles, by default "" - candles : bool, optional - If True, candles will be plotted, by default True - volume : bool, optional - If True, volume will be plotted, by default True - volume_ticks_x : int, optional - Volume ticks, by default 7 - render : bool, optional - If True, the chart will be rendered, by default True - kwargs: Dict[str, Any] - Extra parameters to be passed to the chart constructor. - - Examples - -------- - Plotting a time series with TA indicators - - >>> from openbb import obb - >>> res = obb.equity.price.historical("AAPL") - >>> indicators = dict( - >>> sma=dict(length=[20,30,50]), - >>> adx=dict(length=14), - >>> rsi=dict(length=14), - >>> macd=dict(fast=12, slow=26, signal=9), - >>> bbands=dict(length=20, std=2), - >>> stoch=dict(length=14), - >>> ema=dict(length=[20,30,50]), - >>> ) - >>> res.charting.to_chart(**{"indicators": indicators}) - - Get all the available indicators - - >>> res = obb.equity.price.historical("AAPL") - >>> indicators = res.charting.indicators() - >>> indicators? - """ - data_as_df, has_data = self._prepare_data_as_df(data) # type: ignore - if target is not None: - data_as_df = data_as_df[[target]] - kwargs["candles"] = candles - kwargs["volume"] = volume - kwargs["volume_ticks_x"] = volume_ticks_x - kwargs["indicators"] = indicators if indicators else {} - kwargs["symbol"] = symbol - kwargs["target"] = target - kwargs["index"] = index - kwargs["obbject_item"] = self._obbject.results - kwargs["charting_settings"] = self._charting_settings - if ( - hasattr(self._obbject, "_standard_params") - and self._obbject._standard_params # pylint: disable=protected-access - ): - kwargs["standard_params"] = ( - self._obbject._standard_params.__dict__ # pylint: disable=protected-access - ) - kwargs["provider"] = self._obbject.provider # pylint: disable=protected-access - kwargs["extra"] = self._obbject.extra # pylint: disable=protected-access - metadata = kwargs["extra"].get("metadata") - kwargs["extra_params"] = ( - metadata.arguments.get("extra_params") if metadata else None - ) - if "kwargs" in kwargs: - _kwargs = kwargs.pop("kwargs") - kwargs.update(_kwargs.get("chart_params", {})) - try: - if has_data: - self.show(data=data_as_df, render=render, **kwargs) - else: - self.show(**kwargs, render=render) - except Exception: # pylint: disable=W0718 - try: - fig = self.create_line_chart(data=data_as_df, render=False, **kwargs) - fig = self._set_chart_style(fig) - content = fig.show(external=True, **kwargs).to_plotly_json() # type: ignore - self._obbject.chart = Chart( - fig=fig, content=content, format=charting_router.CHART_FORMAT - ) - if render: - return fig.show(**kwargs) # type: ignore - except Exception as e: # pylint: disable=W0718 - raise RuntimeError( - "Failed to automatically create a generic chart with the data provided." - ) from e - - def _set_chart_style(self, figure: Figure): - """Set the user preference for light or dark mode.""" - style = self._charting_settings.chart_style # pylint: disable=protected-access - font_color = "black" if style == "light" else "white" - paper_bgcolor = "white" if style == "light" else "black" - figure = figure.update_layout( - dict( # pylint: disable=R1735 - font_color=font_color, paper_bgcolor=paper_bgcolor - ) - ) - return figure - - def toggle_chart_style(self): # pylint: disable=protected-access - """Toggle the chart style between light and dark mode.""" - if not hasattr(self._obbject.chart, "fig"): - raise ValueError( - "Error: No chart has been created. Please create a chart first." - ) - current = self._charting_settings.chart_style - new = "light" if current == "dark" else "dark" - self._charting_settings.chart_style = new - figure = self._obbject.chart.fig # type: ignore[union-attr] - updated_figure = self._set_chart_style(figure) - self._obbject.chart.fig = updated_figure # type: ignore[union-attr] - self._obbject.chart.content = updated_figure.show( # type: ignore[union-attr] - external=True - ).to_plotly_json() - - def table( - self, - data: Optional[Union[pd.DataFrame, pd.Series]] = None, - title: str = "", - ): - """Display an interactive table. - - Parameters - ---------- - data : Optional[Union[pd.DataFrame, pd.Series]], optional - Data to be plotted, by default None. - If no data is provided the OBBject results will be used. - title : str, optional - Title of the table, by default "". - """ - data_as_df, _ = self._prepare_data_as_df(data) - if isinstance(data_as_df.index, pd.RangeIndex): - data_as_df.reset_index(inplace=True, drop=True) - else: - data_as_df.reset_index(inplace=True) - if self._backend.isatty: - try: - self._backend.send_table( - df_table=data_as_df, - title=title - or self._obbject._route, # pylint: disable=protected-access - theme=self._charting_settings.table_style, - ) - except Exception as e: # pylint: disable=W0718 - warn(f"Failed to show figure with backend. {e}") - - else: - from plotly import ( # pylint:disable=import-outside-toplevel - optional_imports, - ) - - ipython_display = optional_imports.get_module("IPython.display") - if ipython_display: - ipython_display.display(ipython_display.HTML(data_as_df.to_html())) - else: - warn("IPython.display is not available.") - - def url( - self, - url: str, - title: str = "", - width: Optional[int] = None, - height: Optional[int] = None, - ): - """Return the URL of the chart.""" - try: - self._backend.send_url(url=url, title=title, width=width, height=height) - except Exception as e: # pylint: disable=W0718 - warn(f"Failed to show figure with backend. {e}") +Charting = ext.obbject_accessor(_Charting) diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/builder.py b/openbb_platform/obbject_extensions/charting/openbb_charting/builder.py deleted file mode 100644 index 8fb4302cd7a..00000000000 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/builder.py +++ /dev/null @@ -1,53 +0,0 @@ -"""Script used to create charting functions in charting_router.py.""" - -from inspect import getmembers, isfunction -from typing import List - -from openbb_core.app.router import RouterLoader - -from openbb_charting import charting_router - -# refers to the root of the repo, not the root of the extension -# this script should be run from the root of the repo -CHARTING_ROUTER = ( - "openbb_platform/obbject_extensions/charting/openbb_charting/charting_router.py" -) - - -def get_routes() -> List[str]: - """Get all routes from the api router.""" - router = RouterLoader.from_extensions() - return [route.path for route in router.api_router.routes] # type: ignore - - -def create_charting_functions_w_routes(routes_to_add: List[str]): - """Create new charting functions in charting_router.py.""" - with open(CHARTING_ROUTER, "a") as f: - for route in routes_to_add: - original_route = route.replace("_", "/") - f.write( - f""" -def {route}(**kwargs) -> Tuple["OpenBBFigure", Dict[str, Any]]: - raise NotImplementedError("Command `{original_route}` does not have a charting function") -""" - ) - - -def get_charting_functions() -> List[str]: - """Get all functions from charting_router.py.""" - functions = getmembers(charting_router, isfunction) - if functions: - return [function[0] for function in functions] - return [] - - -if __name__ == "__main__": - routes = get_routes() - # format routes to be valid function names - routes = [route.replace("/", "_")[1:] for route in routes] - # get functions already in charting_router.py - known_functions = get_charting_functions() - # remove known functions from routes - routes = [route for route in routes if route not in known_functions] - # create new functions in charting_router.py - create_charting_functions_w_routes(routes) diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/charting.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charting.py new file mode 100644 index 00000000000..662b656142a --- /dev/null +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/charting.py @@ -0,0 +1,563 @@ +"""Charting Class implementation.""" + +# pylint: disable=too-many-arguments,unused-argument + +from typing import ( + Any, + Callable, + ClassVar, + Dict, + List, + Literal, + Optional, + Tuple, + Type, + Union, +) +from warnings import warn + +import numpy as np +import pandas as pd +from importlib_metadata import entry_points +from openbb_core.app.model.charts.chart import Chart +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.utils import basemodel_to_df, convert_to_basemodel +from openbb_core.provider.abstract.data import Data +from plotly.graph_objs import Figure + +from openbb_charting.charts.generic_charts import bar_chart, line_chart +from openbb_charting.charts.helpers import get_charting_functions +from openbb_charting.core.backend import Backend, create_backend, get_backend +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_charting.query_params import ChartParams, IndicatorsParams + + +class Charting: + """Charting extension. + + Methods + ------- + show + Display chart and save it to the OBBject. + to_chart + Redraw the chart and save it to the OBBject, with an optional entry point for Data. + functions + Return a list of Platform commands with charting functions. + get_params + Return the charting parameters for the function the OBBject was created from. + indicators + Return the list of the available technical indicators to use with the `to_chart` method and OHLC+V data. + table + Display an interactive table. + create_line_chart + Create a line chart from external data. + create_bar_chart + Create a bar chart, on a single x-axis with one or more values for the y-axis, from external data. + toggle_chart_style + Toggle the chart style, of an existing chart, between light and dark mode. + """ + + _extension_views: ClassVar[List[Type]] = [ + entry_point.load() + for entry_point in entry_points(group="openbb_charting_extension") + ] + + def __init__(self, obbject): + """Initialize Charting extension.""" + # pylint: disable=import-outside-toplevel + from openbb_core.app.model.charts.charting_settings import ChartingSettings + + self._obbject: OBBject = obbject + self._charting_settings = ChartingSettings( + user_settings=self._obbject._user_settings, # type: ignore + system_settings=self._obbject._system_settings, # type: ignore + ) + self._backend: Backend = self._handle_backend() + self._functions: Dict[str, Callable] = self._get_functions() + + @classmethod + def indicators(cls): + """Return an instance of the IndicatorsParams class, containing all available indicators and their parameters. + + Without assigning to a variable, it will print the the information to the console. + """ + return IndicatorsParams() + + @classmethod + def functions(cls) -> List[str]: + """Return a list of the available functions.""" + functions: List[str] = [] + for view in cls._extension_views: + functions.extend(get_charting_functions(view)) + + return functions + + def _get_functions(self) -> Dict[str, Callable]: + """Return a dict with the available functions.""" + functions: Dict[str, Callable] = {} + for view in self._extension_views: + functions.update(get_charting_functions(view, with_objects=True)) + + return functions + + def _handle_backend(self) -> Backend: + """Create and start the backend.""" + create_backend(self._charting_settings) + backend = get_backend() + backend.start(debug=self._charting_settings.debug_mode) + return backend + + def _get_chart_function(self, route: str) -> Callable: + """Given a route, it returns the chart function. The module must contain the given route.""" + if route is None: + raise ValueError("OBBject was initialized with no function route.") + adjusted_route = route.replace("/", "_")[1:] + if adjusted_route not in self._functions: + raise ValueError( + f"Could not find the route `{adjusted_route}` in the charting functions." + ) + return self._functions[adjusted_route] + + def get_params(self) -> ChartParams: + """Return the ChartQueryParams class for the function the OBBject was created from. + + Without assigning to a variable, it will print the docstring to the console. + """ + if self._obbject._route is None: # pylint: disable=protected-access + raise ValueError("OBBject was initialized with no function route.") + charting_function = ( + self._obbject._route # pylint: disable=protected-access + ).replace("/", "_")[1:] + if hasattr(ChartParams, charting_function): + return getattr(ChartParams, charting_function)() + raise ValueError( + f"Error: No chart parameters are defined for the route: {charting_function}" + ) + + def _prepare_data_as_df( + self, data: Optional[Union[pd.DataFrame, pd.Series]] + ) -> Tuple[pd.DataFrame, bool]: + """Convert supplied data to a DataFrame.""" + has_data = ( + isinstance(data, (Data, pd.DataFrame, pd.Series)) and not data.empty # type: ignore + ) or (bool(data)) + index = ( + data.index.name + if has_data and isinstance(data, (pd.DataFrame, pd.Series)) + else None + ) + data_as_df: pd.DataFrame = ( + basemodel_to_df(convert_to_basemodel(data), index=index) + if has_data + else self._obbject.to_dataframe(index=index) + ) + if "date" in data_as_df.columns: + data_as_df = data_as_df.set_index("date") + if "provider" in data_as_df.columns: + data_as_df.drop(columns="provider", inplace=True) + return data_as_df, has_data + + # pylint: disable=too-many-locals + def create_line_chart( + self, + data: Union[ + list, + dict, + pd.DataFrame, + List[pd.DataFrame], + pd.Series, + List[pd.Series], + np.ndarray, + Data, + ], + index: Optional[str] = None, + target: Optional[str] = None, + title: Optional[str] = None, + x: Optional[str] = None, + xtitle: Optional[str] = None, + y: Optional[Union[str, List[str]]] = None, + ytitle: Optional[str] = None, + y2: Optional[Union[str, List[str]]] = None, + y2title: Optional[str] = None, + layout_kwargs: Optional[dict] = None, + scatter_kwargs: Optional[dict] = None, + normalize: bool = False, + returns: bool = False, + same_axis: bool = False, + render: bool = True, + **kwargs, + ) -> Union[OpenBBFigure, Figure, None]: + """Create a line chart from external data and render a chart or return the OpenBBFigure. + + Parameters + ---------- + data : Union[Data, pd.DataFrame, pd.Series] + Data to be plotted (OHLCV data). + index : Optional[str], optional + Index column, by default None + target : Optional[str], optional + Target column to be plotted, by default None + title : Optional[str], optional + Chart title, by default None + x : Optional[str], optional + X-axis column, by default None + xtitle : Optional[str], optional + X-axis title, by default None + y : Optional[Union[str, List[str]]], optional + Y-axis column(s), by default None + If None are supplied, the layout is optimized for the contents of data. + Where many units/scales are present, + it will attempt to divide based on the range of values. + ytitle : Optional[str], optional + Y-axis title, by default None + y2 : Optional[Union[str, List[str]]], optional + Y2-axis column(s), by default None + y2title : Optional[str], optional + Y2-axis title, by default None + layout_kwargs : Optional[dict], optional + Additional Plotly Layout parameters for `fig.update_layout`, by default None + scatter_kwargs : Optional[dict], optional + Additional Plotly parameters applied on creation of each scatter plot, by default None + normalize : bool, optional + Normalize the data with Z-Score Standardization, by default False + returns : bool, optional + Convert the data to cumulative returns, by default False + same_axis: bool, optional + If True, forces all data onto the same Y-axis, by default False + render: bool, optional + If True, the chart will be rendered, by default True + **kwargs: Dict[str, Any] + Extra parameters to be passed to `figure.show()` + """ + fig = line_chart( + data=data, + index=index, + target=target, + title=title, + x=x, + xtitle=xtitle, + y=y, + ytitle=ytitle, + y2=y2, + y2title=y2title, + layout_kwargs=layout_kwargs, + scatter_kwargs=scatter_kwargs, + normalize=normalize, + returns=returns, + same_axis=same_axis, + **kwargs, + ) + fig = self._set_chart_style(fig) + if render: + return fig.show(**kwargs) + + return fig + + def create_bar_chart( + self, + data: Union[ + list, + dict, + pd.DataFrame, + List[pd.DataFrame], + pd.Series, + List[pd.Series], + np.ndarray, + Data, + ], + x: str, + y: Union[str, List[str]], + barmode: Literal["group", "stack", "relative", "overlay"] = "group", + xtype: Literal[ + "category", "multicategory", "date", "log", "linear" + ] = "category", + title: Optional[str] = None, + xtitle: Optional[str] = None, + ytitle: Optional[str] = None, + orientation: Literal["h", "v"] = "v", + colors: Optional[List[str]] = None, + layout_kwargs: Optional[Dict[str, Any]] = None, + bar_kwargs: Optional[Dict[str, Any]] = None, + render: bool = True, + **kwargs, + ) -> Union[OpenBBFigure, Figure, None]: + """Create a bar chart on a single x-axis with one or more values for the y-axis. + + Parameters + ---------- + data : Union[list, dict, pd.DataFrame, List[pd.DataFrame], pd.Series, List[pd.Series], np.ndarray, Data] + Data to plot. + x : str + The x-axis column name. + y : Union[str, List[str]] + The y-axis column name(s). + barmode : Literal["group", "stack", "relative", "overlay"], optional + The bar mode, by default "group". + xtype : Literal["category", "multicategory", "date", "log", "linear"], optional + The x-axis type, by default "category". + title : str, optional + The title of the chart, by default None. + xtitle : str, optional + The x-axis title, by default None. + ytitle : str, optional + The y-axis title, by default None. + colors: List[str], optional + Manually set the colors to cycle through for each column in 'y', by default None. + bar_kwargs : Dict[str, Any], optional + Additional keyword arguments to apply with figure.add_bar(), by default None. + layout_kwargs : Dict[str, Any], optional + Additional keyword arguments to apply with figure.update_layout(), by default None. + Returns + ------- + OpenBBFigure + The OpenBBFigure object. + """ + fig = bar_chart( + data=data, + x=x, + y=y, + barmode=barmode, + xtype=xtype, + title=title, + xtitle=xtitle, + ytitle=ytitle, + orientation=orientation, + colors=colors, + bar_kwargs=bar_kwargs, + layout_kwargs=layout_kwargs, + ) + fig = self._set_chart_style(fig) + if render: + return fig.show(**kwargs) + + return fig + + # pylint: disable=inconsistent-return-statements + def show(self, render: bool = True, **kwargs): + """Display chart and save it to the OBBject.""" + try: + charting_function = self._get_chart_function( + self._obbject._route # pylint: disable=protected-access + ) + kwargs["obbject_item"] = self._obbject + kwargs["charting_settings"] = self._charting_settings # + kwargs["standard_params"] = ( + self._obbject._standard_params # pylint: disable=protected-access + ) + kwargs["extra_params"] = ( + self._obbject._extra_params # pylint: disable=protected-access + ) + kwargs["provider"] = self._obbject.provider + kwargs["extra"] = self._obbject.extra + fig, content = charting_function(**kwargs) + fig = self._set_chart_style(fig) + content = fig.show(external=True, **kwargs).to_plotly_json() + self._obbject.chart = Chart(fig=fig, content=content) + if render: + fig.show(**kwargs) + except Exception: # pylint: disable=W0718 + try: + fig = self.create_line_chart(data=self._obbject.results, render=False, **kwargs) # type: ignore + fig = self._set_chart_style(fig) + content = fig.show(external=True, **kwargs).to_plotly_json() # type: ignore + self._obbject.chart = Chart(fig=fig, content=content) + if render: + return fig.show(**kwargs) # type: ignore + except Exception as e: + raise RuntimeError( + "Failed to automatically create a generic chart with the data provided." + ) from e + + # pylint: disable=too-many-locals,inconsistent-return-statements + def to_chart( + self, + data: Optional[ + Union[ + list, + dict, + pd.DataFrame, + List[pd.DataFrame], + pd.Series, + List[pd.Series], + np.ndarray, + Data, + ] + ] = None, + target: Optional[str] = None, + index: Optional[str] = None, + indicators: Optional[Dict[str, Dict[str, Any]]] = None, + symbol: str = "", + candles: bool = True, + volume: bool = True, + volume_ticks_x: int = 7, + render: bool = True, + **kwargs, + ): + """Create an OpenBBFigure with user customizations (if any) and save it to the OBBject. + + This function is used to populate, or re-populate, the OBBject with a chart using the data within + the OBBject or external data supplied via the `data` parameter. + This function modifies the original OBBject by overwriting the existing chart. + + Parameters + ---------- + data : Union[Data, pd.DataFrame, pd.Series] + Data to be plotted. + indicators : Dict[str, Dict[str, Any]], optional + Indicators to be plotted, by default None + symbol : str, optional + Symbol to be plotted. This is used for labels and titles, by default "" + candles : bool, optional + If True, candles will be plotted, by default True + volume : bool, optional + If True, volume will be plotted, by default True + volume_ticks_x : int, optional + Volume ticks, by default 7 + render : bool, optional + If True, the chart will be rendered, by default True + kwargs: Dict[str, Any] + Extra parameters to be passed to the chart constructor. + + Examples + -------- + Plotting a time series with TA indicators + + >>> from openbb import obb + >>> res = obb.equity.price.historical("AAPL") + >>> indicators = dict( + >>> sma=dict(length=[20,30,50]), + >>> adx=dict(length=14), + >>> rsi=dict(length=14), + >>> macd=dict(fast=12, slow=26, signal=9), + >>> bbands=dict(length=20, std=2), + >>> stoch=dict(length=14), + >>> ema=dict(length=[20,30,50]), + >>> ) + >>> res.charting.to_chart(**{"indicators": indicators}) + + Get all the available indicators + + >>> res = obb.equity.price.historical("AAPL") + >>> indicators = res.charting.indicators() + >>> indicators? + """ + data_as_df, has_data = self._prepare_data_as_df(data) # type: ignore + if target is not None: + data_as_df = data_as_df[[target]] + kwargs["candles"] = candles + kwargs["volume"] = volume + kwargs["volume_ticks_x"] = volume_ticks_x + kwargs["indicators"] = indicators if indicators else {} + kwargs["symbol"] = symbol + kwargs["target"] = target + kwargs["index"] = index + kwargs["obbject_item"] = self._obbject + kwargs["charting_settings"] = self._charting_settings + kwargs["standard_params"] = ( + self._obbject._standard_params # pylint: disable=protected-access + ) + kwargs["extra_params"] = ( + self._obbject._extra_params # pylint: disable=protected-access + ) + kwargs["provider"] = self._obbject.provider # pylint: disable=protected-access + kwargs["extra"] = self._obbject.extra # pylint: disable=protected-access + try: + if has_data: + self.show(data=data_as_df, render=render, **kwargs) + else: + self.show(**kwargs, render=render) + except Exception: # pylint: disable=W0718 + try: + fig = self.create_line_chart(data=data_as_df, render=False, **kwargs) + fig = self._set_chart_style(fig) + content = fig.show(external=True, **kwargs).to_plotly_json() # type: ignore + self._obbject.chart = Chart(fig=fig, content=content) + if render: + return fig.show(**kwargs) # type: ignore + except Exception as e: # pylint: disable=W0718 + raise RuntimeError( + "Failed to automatically create a generic chart with the data provided." + ) from e + + def _set_chart_style(self, figure: Figure): + """Set the user preference for light or dark mode.""" + style = self._charting_settings.chart_style + font_color = "black" if style == "light" else "white" + paper_bgcolor = "white" if style == "light" else "black" + figure = figure.update_layout( + dict( # pylint: disable=R1735 + font_color=font_color, paper_bgcolor=paper_bgcolor + ) + ) + return figure + + def toggle_chart_style(self): + """Toggle the chart style between light and dark mode.""" + if not hasattr(self._obbject.chart, "fig"): + raise ValueError( + "Error: No chart has been created. Please create a chart first." + ) + current = self._charting_settings.chart_style + new = "light" if current == "dark" else "dark" + self._charting_settings.chart_style = new + figure = self._obbject.chart.fig # type: ignore[union-attr] + updated_figure = self._set_chart_style(figure) + self._obbject.chart.fig = updated_figure # type: ignore[union-attr] + self._obbject.chart.content = updated_figure.show( # type: ignore[union-attr] + external=True + ).to_plotly_json() + + def table( + self, + data: Optional[Union[pd.DataFrame, pd.Series]] = None, + title: str = "", + ): + """Display an interactive table. + + Parameters + ---------- + data : Optional[Union[pd.DataFrame, pd.Series]], optional + Data to be plotted, by default None. + If no data is provided the OBBject results will be used. + title : str, optional + Title of the table, by default "". + """ + data_as_df, _ = self._prepare_data_as_df(data) + if isinstance(data_as_df.index, pd.RangeIndex): + data_as_df.reset_index(inplace=True, drop=True) + else: + data_as_df.reset_index(inplace=True) + if self._backend.isatty: + try: + self._backend.send_table( + df_table=data_as_df, + title=title + or self._obbject._route, # pylint: disable=protected-access + theme=self._charting_settings.table_style, + ) + except Exception as e: # pylint: disable=W0718 + warn(f"Failed to show figure with backend. {e}") + + else: + from plotly import ( # pylint:disable=import-outside-toplevel + optional_imports, + ) + + ipython_display = optional_imports.get_module("IPython.display") + if ipython_display: + ipython_display.display(ipython_display.HTML(data_as_df.to_html())) + else: + warn("IPython.display is not available.") + + def url( + self, + url: str, + title: str = "", + width: Optional[int] = None, + height: Optional[int] = None, + ): + """Return the URL of the chart.""" + try: + self._backend.send_url(url=url, title=title, width=width, height=height) + except Exception as e: # pylint: disable=W0718 + warn(f"Failed to show figure with backend. {e}") diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/charting_router.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charting_router.py deleted file mode 100644 index 94dcb63ca45..00000000000 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/charting_router.py +++ /dev/null @@ -1,1446 +0,0 @@ -"""Charting router.""" - -# pylint: disable=too-many-arguments, too-many-locals, too-many-branches, too-many-statements, unused-argument, too-many-lines - -from typing import Any, Dict, Optional, Tuple, Union -from warnings import warn - -import pandas as pd -from openbb_core.app.model.charts.chart import ChartFormat -from openbb_core.app.utils import basemodel_to_df -from openbb_core.provider.abstract.data import Data -from plotly.graph_objs import Figure - -from openbb_charting.core.chart_style import ChartStyle -from openbb_charting.core.openbb_figure import OpenBBFigure -from openbb_charting.core.plotly_ta.ta_class import PlotlyTA -from openbb_charting.core.to_chart import to_chart -from openbb_charting.styles.colors import LARGE_CYCLER -from openbb_charting.utils import relative_rotation -from openbb_charting.utils.generic_charts import bar_chart -from openbb_charting.utils.helpers import ( - calculate_returns, - duration_sorter, - heikin_ashi, - should_share_axis, - z_score_standardization, -) - -CHART_FORMAT = ChartFormat.plotly - - -def equity_price_performance( - **kwargs, -) -> Tuple[Union[OpenBBFigure, Figure], Dict[str, Any]]: # noqa: PLR0912 - """Equity Price Performance Chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - elif "data" in kwargs and isinstance(kwargs["data"], list): - data = basemodel_to_df(kwargs["data"], index=kwargs.get("index", "symbol")) # type: ignore - else: - data = basemodel_to_df( - kwargs["obbject_item"], index=kwargs.get("index", "symbol") # type: ignore - ) - - cols = [ - "one_day", - "one_week", - "one_month", - "three_month", - "six_month", - "ytd", - "one_year", - "two_year", - "three_year", - "four_year", - "five_year", - ] - - df = pd.DataFrame() - chart_df = pd.DataFrame() - - if "symbol" in data.columns: - data = data.set_index("symbol") - chart_cols = [] - - if len(data) == 0: - raise ValueError("No data was found in the DataFrame.") - - data = data.drop_duplicates(keep="first") - - for col in cols: - if col in data.columns and data[col].notnull().any(): - df[col.replace("_", " ").title() if col != "ytd" else col.upper()] = data[ - col - ].apply(lambda x: round(x * 100, 4) if x is not None else None) - - if df.empty: - raise ValueError(f"No columns matching, {cols}, were found in the data.") - - chart_df = df.T - chart_cols = chart_df.columns.to_list() - - if "limit" in kwargs and isinstance(kwargs.get("limit"), int): - limit = kwargs.pop("limit", 10) - chart_df = chart_df.head(limit) # type: ignore - - layout_kwargs: Dict[str, Any] = kwargs.get("layout_kwargs", {}) - - title = ( - f"{kwargs.pop('title')}" if "title" in kwargs else "Equity Price Performance" - ) - orientation = ( - kwargs.pop("orientation") - if "orientation" in kwargs and kwargs.get("orientation") is not None - else "v" - ) - - ytitle = "Performance (%)" - xtitle = None - - if orientation == "h": - xtitle = ytitle # type: ignore - ytitle = None # type: ignore - - fig = bar_chart( - chart_df.reset_index(), - x="index", - y=chart_cols, - title=title, - xtitle=xtitle, - ytitle=ytitle, - orientation=orientation, # type: ignore - ) - fig.update_traces( - hovertemplate=( - "%{fullData.name}:%{y:.2f}%" - if orientation == "v" - else "%{fullData.name}:%{x:.2f}%" - ) - ) - - fig.update_layout(**layout_kwargs) - content = fig.show(external=True).to_plotly_json() # type: ignore - - return fig, content - - -def etf_price_performance( - **kwargs, -) -> Tuple[Union[OpenBBFigure, Figure], Dict[str, Any]]: - """ETF Historical Chart.""" - fig, content = equity_price_performance(**kwargs) - if "title" in kwargs and kwargs.get("title") is not None: - fig.set_title(kwargs.get("title")) # type: ignore - else: - fig.set_title("ETF Price Performance") # type: ignore - - content = fig.show(external=True).to_plotly_json() # type: ignore - return fig, content - - -def etf_holdings(**kwargs) -> Tuple[Union[OpenBBFigure, Figure], Dict[str, Any]]: - """Equity Compare Groups Chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - elif "data" in kwargs and isinstance(kwargs["data"], list): - data = basemodel_to_df(kwargs["data"], index=None) # type: ignore - else: - data = basemodel_to_df(kwargs["obbject_item"], index=None) # type: ignore - - if "weight" not in data.columns: - raise ValueError("No 'weight' column found in the data.") - - orientation = kwargs.get("orientation", "h") - limit = kwargs.get("limit", 20) - symbol = kwargs["standard_params"].get("symbol") # type: ignore - title = kwargs.get("title", f"Top {limit} {symbol} Holdings") - layout_kwargs = kwargs.get("layout_kwargs", {}) - - data = data.sort_values("weight", ascending=False) - limit = min(limit, len(data)) # type: ignore - target = data.head(limit)[["symbol", "weight"]].set_index("symbol") - target = target.multiply(100) - axis_title = "Weight (%)" - - fig = bar_chart( - target.reset_index(), - "symbol", - ["weight"], - title=title, # type: ignore - xtitle=axis_title if orientation == "h" else None, - ytitle=axis_title if orientation == "v" else None, - orientation=orientation, # type: ignore - ) - - fig.update_layout( - hovermode="x" if orientation == "v" else "y", - margin=dict(r=0, l=50) if orientation == "h" else None, - ) - - fig.update_traces( - hovertemplate=( - "%{y:.3f}%" - if orientation == "v" - else "%{x:.3f}%" - ) - ) - - if layout_kwargs: - fig.update_layout(**layout_kwargs) # type: ignore - - content = fig.show(external=True).to_plotly_json() # type: ignore - - return fig, content - - -def equity_price_historical( # noqa: PLR0912 - **kwargs, -) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Equity Price Historical Chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - elif "data" in kwargs and isinstance(kwargs["data"], list): - data = basemodel_to_df(kwargs["data"], index=kwargs.get("index", "date")) # type: ignore - else: - data = basemodel_to_df( - kwargs["obbject_item"], index=kwargs.get("index", "date") # type: ignore - ) - - if "date" in data.columns: - data = data.set_index("date") - - target = str(kwargs.get("target")) - normalize = kwargs.get("normalize") is True - returns = kwargs.get("returns") is True - same_axis = kwargs.get("same_axis") is True - text_color = "black" if ChartStyle().plt_style == "light" else "white" - title = f"{kwargs.get('title')}" if "title" in kwargs else "Historical Prices" - y1title = "" - y2title = "" - candles = True - multi_symbol = ( - bool(kwargs.get("multi_symbol") is True) - or ( - "symbol" in data.columns - and target in data.columns - and len(data.symbol.unique()) > 1 - ) - or ("target" in kwargs and kwargs.get("target") is not None) - or "symbol" in data.columns - or ( - "symbol" not in data.columns - and bool(data.columns.isin(["open", "high", "low", "close"]).all()) - ) - ) - target = "close" if target is None or target == "None" or target == "" else target - - if multi_symbol is True: - if "symbol" not in data.columns and target in data.columns: - data = data[[target]] - y1title = target.title() - if "symbol" in data.columns and target in data.columns: - data = data.pivot(columns="symbol", values=target) - y1title = target - title = f"Historical {target.title()}" - - indicators = kwargs.get("indicators", {}) - candles = bool(~data.columns.isin(["open", "high", "low", "close"]).all()) - candles = candles if kwargs.get("candles", True) else False - volume = kwargs.get("volume", True) if "volume" in data.columns else False - - if normalize is True: - if "symbol" not in data.columns and target in data.columns: - data = data[[target]] - multi_symbol = True - candles = False - volume = False - - if returns is True: - if "symbol" not in data.columns and target in data.columns: - data = data[[target]] - multi_symbol = True - candles = False - volume = False - if ( # pylint: disable = R0916 - multi_symbol is False - and normalize is False - and returns is False - and candles is True - ) or (indicators and multi_symbol is False): - if ( - "heikin_ashi" in kwargs - and kwargs["heikin_ashi"] is True - and candles is True - ): - data = heikin_ashi(data) - title = f"{title} - Heikin Ashi" - _volume = False - if "atr" in indicators: # type: ignore - _volume = volume - volume = False - ta = PlotlyTA() - fig = ta.plot( # type: ignore - data, - indicators=indicators if indicators else {}, # type: ignore - symbol=target if candles is False else "", - candles=candles, - volume=volume, # type: ignore - ) - if _volume is True and "atr" in indicators: # type: ignore - fig.add_inchart_volume(data) - fig.update_layout( - paper_bgcolor="rgba(0,0,0,0)", - plot_bgcolor="rgba(0,0,0,0)", - font=dict(color=text_color), - showlegend=True, - legend=dict( - orientation="v", - yanchor="top", - xanchor="right", - y=0.95, - x=-0.01, - xref="paper", - font=dict(size=12), - bgcolor="rgba(0,0,0,0)", - ), - xaxis=dict( - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - zeroline=True, - mirror=True, - showline=True, - ), - xaxis2=dict( - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - zeroline=True, - mirror=True, - showline=True, - ), - yaxis=dict( - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - zeroline=True, - mirror=True, - showline=True, - tickfont=dict(size=14), - ), - yaxis2=dict( - ticklen=0, - gridcolor="rgba(128,128,128,0.3)", - ), - yaxis3=dict( - ticklen=0, - gridcolor="rgba(128,128,128,0.3)", - ), - dragmode="pan", - hovermode="x", - ) - - if kwargs.get("title"): - title = kwargs["title"] - fig.update_layout(title=dict(text=title, x=0.5)) - - content = fig.to_plotly_json() - - return fig, content - - if multi_symbol is True or candles is False: - - if "symbol" not in data.columns and target in data.columns: - data = data[[target]] - - if "symbol" in data.columns: - data = data.pivot(columns="symbol", values=target) - - title: str = kwargs.get("title", "Historical Prices") # type: ignore - - y1title = data.iloc[:, 0].name - y2title = "" - - if len(data.columns) > 2 or normalize is True or returns is True: - if returns is True or (len(data.columns) > 2 and normalize is False): - data = data.apply(calculate_returns) - title = f"{title} - Cumulative Returns" - y1title = "Percent" - if normalize is True: - if returns is True: - title = f"{title.replace(' - Cumulative Returns', '')} - Normalized Cumulative Returns" - else: - title = title + " - Normalized" - data = data.apply(z_score_standardization) - y1title = None # type: ignore - y2title = None # type: ignore - - fig = OpenBBFigure() - - for i, col in enumerate(data.columns): - - hovertemplate = f"{data[col].name}: %{{y}}" - yaxis = "y1" - if y1title and y1title != "Percent": - yaxis = ( - ( - "y1" - if should_share_axis(data, col, y1title) # type: ignore - or col == y1title - or normalize is True - or returns is True - else "y2" - ) - if same_axis is False - else "y1" - ) - - if yaxis == "y2": - y2title = data[col].name - - fig.add_scatter( - x=data.index, - y=data[col], - name=data[col].name, - mode="lines", - hovertemplate=hovertemplate, - line=dict(width=2, color=LARGE_CYCLER[i % len(LARGE_CYCLER)]), - yaxis=yaxis, - ) - - if normalize is True or returns is True: - y1title = "Percent" if returns is True else None # type: ignore - y2title = None # type: ignore - - if same_axis is True: - y1title = None # type: ignore - y2title = None # type: ignore - - fig.update_layout( - paper_bgcolor="rgba(0,0,0,0)", - plot_bgcolor="rgba(0,0,0,0)", - legend=( - dict( - orientation="v", - yanchor="top", - xanchor="right", - y=0.95, - x=-0.01, - bgcolor="rgba(0,0,0,0)", - ) - if len(data.columns) > 2 - else dict( - orientation="h", - yanchor="bottom", - xanchor="right", - y=1.02, - x=0.98, - bgcolor="rgba(0,0,0,0)", - ) - ), - yaxis1=( - dict( - side="right", - ticklen=0, - showgrid=True, - showline=True, - mirror=True, - gridcolor="rgba(128,128,128,0.3)", - title=dict( - text=y1title if y1title else None, standoff=20, font=dict(size=20) - ), - tickfont=dict(size=14), - anchor="x", - ) - ), - yaxis2=( - dict( - overlaying="y", - side="left", - ticklen=0, - showgrid=False, - title=dict( - text=y2title if y2title else None, standoff=10, font=dict(size=20) - ), - tickfont=dict(size=14), - anchor="x", - ) - if y2title - else None - ), - xaxis=dict( - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - showline=True, - mirror=True, - ), - margin=dict(l=20, r=20, b=20, t=20), - dragmode="pan", - hovermode="x", - ) - if kwargs.get("title"): - title = kwargs["title"] - fig.update_layout(title=dict(text=title, x=0.5)) - - content = fig.show(external=True).to_plotly_json() - - return fig, content - - -def etf_historical(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """ETF Historical Chart.""" - return equity_price_historical(**kwargs) - - -def index_price_historical(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Index Price Historical Chart.""" - return equity_price_historical(**kwargs) - - -def currency_price_historical(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Currency Price Historical Chart.""" - return equity_price_historical(**kwargs) - - -def crypto_price_historical(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Crypto Price Historical Chart.""" - return equity_price_historical(**kwargs) - - -def _ta_ma(**kwargs): - """Plot moving average helper.""" - index = ( - kwargs.get("index") - if "index" in kwargs and kwargs.get("index") is not None - else "date" - ) - data = kwargs.get("data") - ma_type = ( - kwargs["ma_type"] - if "ma_type" in kwargs and kwargs.get("ma_type") is not None - else "sma" - ) - ma_types = ma_type.split(",") if isinstance(ma_type, str) else ma_type - - if isinstance(data, pd.DataFrame) and not data.empty: - data = data.set_index(index) if index in data.columns else data - - if data is None: - data = basemodel_to_df(kwargs["obbject_item"], index=index) - - if isinstance(data, list): - data = basemodel_to_df(data, index=index) - - window = ( - kwargs.get("length", []) - if "length" in kwargs and kwargs.get("length") is not None - else [50] - ) - offset = kwargs.get("offset", 0) - target = ( - kwargs.get("target") - if "target" in kwargs and kwargs.get("target") is not None - else "close" - ) - - if target not in data.columns and "close" in data.columns: - target = "close" - - if target not in data.columns and "close" not in data.columns: - raise ValueError(f"Column '{target}', or 'close', not found in the data.") - - df = data.copy() - if target in data.columns: - df = df[[target]] - df.columns = ["close"] - title = ( - kwargs.get("title") - if "title" in kwargs and kwargs.get("title") is not None - else f"{ma_type.upper()}" - ) - - fig = OpenBBFigure() - fig = fig.create_subplots( - 1, - 1, - shared_xaxes=True, - vertical_spacing=0.06, - horizontal_spacing=0.01, - row_width=[1], - specs=[[{"secondary_y": True}]], - ) - fig.update_layout(ChartStyle().plotly_template.get("layout", {})) - - ma_df = pd.DataFrame() - window = [window] if isinstance(window, int) else window - for w in window: - for ma_type in ma_types: - ma_df[f"{ma_type.upper()} {w}"] = getattr(df.ta, ma_type)( - length=w, offset=offset - ) - - if kwargs.get("dropnan") is True: - ma_df = ma_df.dropna() - data = data.iloc[-len(ma_df) :] - - if ( - "candles" in kwargs - and kwargs.get("candles") is True - and kwargs.get("target") is None - ): - volume = kwargs.get("volume") is True - fig, _ = to_chart(data, candles=True, volume=volume) - - else: - ma_df[f"{target}".title()] = data[target] - - for i, col in enumerate(ma_df.columns): - name = col.replace("_", " ") - fig.add_scatter( - x=ma_df.index, - y=ma_df[col], - name=name, - mode="lines", - hovertemplate=f"{name}: %{{y}}", - line=dict(width=1, color=LARGE_CYCLER[i]), - showlegend=True, - ) - - fig.update_layout( - title=dict(text=title, x=0.5, font=dict(size=16)), - paper_bgcolor="rgba(0,0,0,0)", - plot_bgcolor="rgba(0,0,0,0)", - showlegend=True, - legend=dict( - orientation="h", - yanchor="bottom", - xanchor="right", - y=1.02, - x=0.95, - bgcolor="rgba(0,0,0,0)", - ), - xaxis=dict( - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - zeroline=True, - mirror=True, - ), - yaxis=dict( - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - zeroline=True, - mirror=True, - autorange=True, - ), - ) - - content = fig.show(external=True).to_plotly_json() - - return fig, content - - -def technical_sma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Plot simple moving average chart.""" - if "ma_type" not in kwargs: - kwargs["ma_type"] = "sma" - return _ta_ma(**kwargs) - - -def technical_ema(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Exponential moving average chart.""" - if "ma_type" not in kwargs: - kwargs["ma_type"] = "ema" - return _ta_ma(**kwargs) - - -def technical_hma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Hull moving average chart.""" - if "ma_type" not in kwargs: - kwargs["ma_type"] = "hma" - return _ta_ma(**kwargs) - - -def technical_wma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Weighted moving average chart.""" - if "ma_type" not in kwargs: - kwargs["ma_type"] = "wma" - return _ta_ma(**kwargs) - - -def technical_zlma(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Zero lag moving average chart.""" - if "ma_type" not in kwargs: - kwargs["ma_type"] = "zlma" - return _ta_ma(**kwargs) - - -def technical_aroon(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Technical Aroon Chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - else: - data = basemodel_to_df( - kwargs["obbject_item"], index=kwargs.get("index", "date") - ) - - if "date" in data.columns: - data = data.set_index("date") - - if "symbol" in data.columns and len(data.symbol.unique()) > 1: - raise ValueError( - "Please provide data with only one symbol and columns for OHLC." - ) - - symbol = kwargs.get("symbol", "") - - volume = kwargs.get("volume") is True - title = f"Aroon Indicator & Oscillator {symbol}" - - length = kwargs.get("length", 25) - scalar = kwargs.get("scalar", 100) - symbol = kwargs.get("symbol", "") - - ta = PlotlyTA() - fig = ta.plot( # type: ignore - data, - dict(aroon=dict(length=length, scalar=scalar)), - title, - False, - volume=volume, - ) - - content = fig.show(external=True).to_plotly_json() - - return fig, content - - -def technical_macd(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Plot moving average convergence divergence chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - else: - data = basemodel_to_df( - kwargs["obbject_item"], index=kwargs.get("index", "date") - ) - - if "date" in data.columns: - data = data.set_index("date") - - if "symbol" in data.columns and len(data.symbol.unique()) > 1: - raise ValueError( - "Please provide data with only one symbol and columns for OHLC." - ) - - fast = kwargs.get("fast", 12) - slow = kwargs.get("slow", 26) - signal = kwargs.get("signal", 9) - symbol = kwargs.get("symbol", "") - - title = f"{symbol.upper()} MACD" - volume = kwargs.get("volume") is True - - ta = PlotlyTA() - fig = ta.plot( # type: ignore - data, - dict(macd=dict(fast=fast, slow=slow, signal=signal)), - title, - False, - volume=volume, - ) - content = fig.show(external=True).to_plotly_json() - - return fig, content - - -def technical_adx(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Average directional movement index chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - else: - data = basemodel_to_df( - kwargs["obbject_item"], index=kwargs.get("index", "date") - ) - - if "date" in data.columns: - data = data.set_index("date") - - if "symbol" in data.columns and len(data.symbol.unique()) > 1: - raise ValueError( - "Please provide data with only one symbol and columns for OHLC." - ) - - length = kwargs.get("length", 14) - scalar = kwargs.get("scalar", 100.0) - drift = kwargs.get("drift", 1) - symbol = kwargs.get("symbol", "") - - ta = PlotlyTA() - fig = ta.plot( # type: ignore - data, - dict(adx=dict(length=length, scalar=scalar, drift=drift)), - f"Average Directional Movement Index (ADX) {symbol}", - False, - volume=False, - ) - content = fig.show(external=True).to_plotly_json() - - return fig, content - - -def technical_rsi(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Relative strength index chart.""" - if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): - data = kwargs["data"] - else: - data = basemodel_to_df( - kwargs["obbject_item"], index=kwargs.get("index", "date") - ) - - if "date" in data.columns: - data = data.set_index("date") - - if "symbol" in data.columns and len(data.symbol.unique()) > 1: - raise ValueError( - "Please provide data with only one symbol and columns for OHLC." - ) - - window = kwargs.get("window", 14) - scalar = kwargs.get("scalar", 100.0) - drift = kwargs.get("drift", 1) - symbol = kwargs.get("symbol", "") - - ta = PlotlyTA() - fig = ta.plot( # type: ignore - data, - dict(rsi=dict(length=window, scalar=scalar, drift=drift)), - f"{symbol.upper()} RSI {window}", - False, - volume=False, - ) - content = fig.show(external=True).to_plotly_json() - - return fig, content - - -def technical_cones(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Volatility Cones Chart.""" - data = kwargs.get("data") - - if isinstance(data, pd.DataFrame) and not data.empty and "window" in data.columns: - df_ta = data.set_index("window") - else: - df_ta = basemodel_to_df(kwargs["obbject_item"], index="window") # type: ignore - - df_ta.columns = [col.title().replace("_", " ") for col in df_ta.columns] - - # Check if the data is formatted as expected. - if not all(col in df_ta.columns for col in ["Realized", "Min", "Median", "Max"]): - raise ValueError("Data supplied does not match the expected format.") - - model = ( - str(kwargs.get("model")) - .replace("std", "Standard Deviation") - .replace("_", "-") - .title() - if kwargs.get("model") - else "Standard Deviation" - ) - - symbol = str(kwargs.get("symbol")) + " - " if kwargs.get("symbol") else "" - - title = ( - str(kwargs.get("title")) - if kwargs.get("title") - else f"{symbol}Realized Volatility Cones - {model} Model" - ) - - colors = [ - "green", - "red", - "burlywood", - "grey", - "orange", - "blue", - ] - - fig = OpenBBFigure() - - fig.update_layout(ChartStyle().plotly_template.get("layout", {})) - - text_color = "black" if ChartStyle().plt_style == "light" else "white" - - for i, col in enumerate(df_ta.columns): - fig.add_scatter( - x=df_ta.index, - y=df_ta[col], - name=col, - mode="lines+markers", - hovertemplate=f"{col}: %{{y}}", - marker=dict( - color=colors[i], - size=11, - ), - ) - - fig.set_title(title) - - fig.update_layout( - paper_bgcolor="rgba(0,0,0,0)", - plot_bgcolor="rgba(0,0,0,0)", - font=dict(color=text_color), - legend=dict( - orientation="h", - yanchor="bottom", - xanchor="right", - y=1.02, - x=1, - bgcolor="rgba(0,0,0,0)", - ), - yaxis=dict( - ticklen=0, - showgrid=True, - showline=True, - mirror=True, - zeroline=False, - gridcolor="rgba(128,128,128,0.3)", - ), - xaxis=dict( - type="category", - tickmode="array", - ticklen=0, - tickvals=df_ta.index, - ticktext=df_ta.index, - title_text="Period", - showgrid=False, - showline=True, - mirror=True, - zeroline=False, - ), - margin=dict(l=20, r=20, b=20), - dragmode="pan", - ) - - content = fig.to_plotly_json() - - return fig, content - - -def economy_fred_series( # noqa: PLR0912 - **kwargs, -) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """FRED Series Chart.""" - ytitle_dict = { - "chg": "Change", - "ch1": "Change From Year Ago", - "pch": "Percent Change", - "pc1": "Percent Change From Year Ago", - "pca": "Compounded Annual Rate Of Change", - "cch": "Continuously Compounded Rate Of Change", - "cca": "Continuously Compounded Annual Rate Of Change", - "log": "Natural Log", - } - - provider = kwargs.get("provider") - - if provider != "fred": - raise RuntimeError( - f"This charting method does not support {provider}. Supported providers: fred." - ) - - columns = basemodel_to_df(kwargs["obbject_item"], index=None).columns.to_list() # type: ignore - - allow_unsafe = kwargs.get("allow_unsafe", False) - dropnan = kwargs.get("dropna", True) - normalize = kwargs.get("normalize", False) - - data_cols = [] - data = kwargs.get("data") - - if isinstance(data, pd.DataFrame) and not data.empty: - data_cols = data.columns.to_list() - df_ta = data - - else: - df_ta = basemodel_to_df(kwargs["obbject_item"], index="date") # type: ignore - - # Check for unsupported external data injection. - if allow_unsafe is False and data_cols: - for data_col in data_cols: - if data_col not in columns: - raise RuntimeError( - f"Column '{data_col}' was not found in the original data." - + " External data injection is not supported unless `allow_unsafe = True`." - ) - - # Align the data so each column has the same index and length. - if dropnan: - df_ta = df_ta.dropna(how="any") - - if df_ta.empty or len(df_ta) < 2: - raise ValueError( - "No data is left after dropping NaN values. Try setting `dropnan = False`," - + " or use the `frequency` parameter on request." - ) - - columns = df_ta.columns.to_list() - - metadata = kwargs["extra"].get("results_metadata", {}) # type: ignore - - # Check if the request was transformed by the FRED API. - params = kwargs["extra_params"] if kwargs.get("extra_params") else {} - has_params = hasattr(params, "transform") and params.transform is not None # type: ignore - - # Get a unique list of all units of measurement in the DataFrame. - y_units = list({metadata.get(col).get("units") for col in columns if col in metadata}) # type: ignore - if has_params is True and not y_units: - y_units = [ytitle_dict.get(params.transform)] # type: ignore - - if normalize or ( - kwargs.get("bar") is True - and len(y_units) > 1 - and ( - has_params is False - or not any( - i in params.transform for i in ["pc1", "pch", "pca", "cch", "cca", "log"] # type: ignore - ) - ) - ): - normalize = True - df_ta = df_ta.apply(z_score_standardization) - - if len(y_units) > 2 and has_params is False and allow_unsafe is False: - raise RuntimeError( - "This method supports up to 2 y-axis units." - + " Please use the 'transform' parameter, in the data request," - + " to compare all series on the same scale, or set `normalize = True`." - + " Override this error by setting `allow_unsafe = True`." - ) - - y1_units = y_units[0] if y_units else None - y1title = y1_units - y2title = y_units[1] if len(y_units) > 1 else None - xtitle = str(kwargs.get("xtitle", "")) - - # If the request was transformed, the y-axis will be shared under these conditions. - if has_params and any( - i in params.transform for i in ["pc1", "pch", "pca", "cch", "cca", "log"] # type: ignore - ): - y1title = "Log" if params.transform == "Log" else "Percent" # type: ignore - y2title = None - - # Set the title for the chart. - title: str = "" - if isinstance(kwargs, dict) and title in kwargs: - title = kwargs["title"] # type: ignore - else: - if metadata.get(columns[0]): # type: ignore - title = metadata.get(columns[0]).get("title") if len(columns) == 1 else "FRED Series" # type: ignore - else: - title = "FRED Series" - transform_title = ytitle_dict.get(params.transform) if has_params is True else "" # type: ignore - title = f"{title} - {transform_title}" if transform_title else title - - # Define this to use as a check. - y3title: Optional[str] = "" - - if kwargs.get("plot_bar") is True or len(df_ta.index) < 100: - margin = dict(l=10, r=5, b=75 if xtitle else 30) - try: - if normalize: - y1title = None - title = f"{title} - Normalized" if title else "Normalized" - bar_mode = kwargs.get("barmode", "group") - fig = bar_chart( - df_ta.reset_index(), - "date", - df_ta.columns.to_list(), - title=title, - xtitle=xtitle, - ytitle=y1title, - barmode=bar_mode, # type: ignore - layout_kwargs=dict(margin=margin), # type: ignore - ) - if kwargs.get("layout_kwargs"): - fig.update_layout(kwargs.get("layout_kwargs")) - - if kwargs.get("title"): - fig.set_title(str(kwargs.get("title"))) # type: ignore - - content = fig.to_plotly_json() - - return fig, content # type: ignore - except Exception as _: - warn("Bar chart failed. Attempting line chart.") - - # Create the figure object with subplots. - fig = OpenBBFigure().create_subplots( - rows=1, cols=1, shared_xaxes=True, shared_yaxes=False - ) - - # For each series in the DataFrame, add a scatter plot. - for i, col in enumerate(df_ta.columns): - - # Check if the y-axis should be shared for this series. - on_y1 = ( - ( - metadata.get(col).get("units") == y1_units # type: ignore - or y2title is None # type: ignore - or kwargs.get("same_axis") is True - ) - if metadata.get(col) # type: ignore - else False - ) - if normalize: - on_y1 = True - - yaxes = "y2" if not on_y1 else "y1" - on_y3 = not metadata.get(col) and normalize is False # type: ignore - if on_y3: - yaxes = "y3" - y3title = df_ta[col].name # type: ignore - fig.add_scatter( - x=df_ta.index, - y=df_ta[col], - name=df_ta[col].name, - mode="lines", - hovertemplate=f"{df_ta[col].name}: %{{y}}", - line=dict(width=2, color=LARGE_CYCLER[i % len(LARGE_CYCLER)]), - yaxis="y1" if kwargs.get("same_axis") is True else yaxes, - ) - - # Set the y-axis titles, if supplied. - if kwargs.get("y1title"): - y1title = kwargs.get("y1title") - if kwargs.get("y2title") and y2title is not None: - y2title = kwargs.get("y2title") - # Set the x-axis title, if suppiled. - if isinstance(kwargs, dict) and "xtitle" in kwargs: - xtitle = kwargs["xtitle"] - # If the data was normalized, set the title to reflect this. - if normalize: - y1title = None - y2title = None - y3title = None - title = f"{title} - Normalized" if title else "Normalized" - - # Now update the layout of the complete figure. - fig.update_layout( - title=dict(text=title, x=0.5, font=dict(size=16)), - paper_bgcolor="rgba(0,0,0,0)", - plot_bgcolor="rgba(0,0,0,0)", - legend=dict( - orientation="h", - yanchor="bottom", - xanchor="right", - y=1.02, - x=0.95, - bgcolor="rgba(0,0,0,0)", - font=dict(size=12), - ), - yaxis=( - dict( - ticklen=0, - side="right", - showline=True, - mirror=True, - title=dict(text=y1title, standoff=30, font=dict(size=16)), - tickfont=dict(size=14), - anchor="x", - gridcolor="rgba(128,128,128,0.3)", - ) - if y1title - else None - ), - yaxis2=( - dict( - overlaying="y", - side="left", - ticklen=0, - showgrid=False, - title=dict( - text=y2title if y2title else None, standoff=10, font=dict(size=16) - ), - tickfont=dict(size=14), - anchor="x", - ) - if y2title - else None - ), - yaxis3=( - dict( - overlaying="y", - side="left", - ticklen=0, - position=0, - showgrid=False, - showticklabels=True, - title=( - dict(text=y3title, standoff=10, font=dict(size=16)) - if y3title - else None - ), - tickfont=dict(size=12, color="rgba(128,128,128,0.9)"), - anchor="free", - ) - if y3title - else None - ), - xaxis=dict( - ticklen=0, - showgrid=True, - showline=True, - mirror=True, - title=( - dict(text=xtitle, standoff=30, font=dict(size=16)) if xtitle else None - ), - gridcolor="rgba(128,128,128,0.3)", - domain=[0.095, 0.95] if y3title else None, - ), - margin=dict(r=25, l=25, b=75 if xtitle else 30) if normalize is False else None, - autosize=True, - dragmode="pan", - ) - if kwargs.get("layout_kwargs"): - fig.update_layout(kwargs.get("layout_kwargs")) - if kwargs.get("title"): - fig.set_title(str(kwargs.get("title"))) - content = fig.to_plotly_json() - - return fig, content - - -def technical_relative_rotation( - **kwargs: Any, -) -> Tuple["OpenBBFigure", Dict[str, Any]]: - """Relative Rotation Chart.""" - ratios_df = basemodel_to_df(kwargs["obbject_item"].rs_ratios, index="date") # type: ignore - momentum_df = basemodel_to_df(kwargs["obbject_item"].rs_momentum, index="date") # type: ignore - benchmark_symbol = kwargs["obbject_item"].benchmark # type: ignore - study = kwargs.get("study", None) - study = str(kwargs["obbject_item"].study) if study is None else str(study) - show_tails = kwargs.get("show_tails") - show_tails = True if show_tails is None else show_tails - tail_periods = int(kwargs.get("tail_periods")) if "tail_periods" in kwargs else 16 # type: ignore - tail_interval = str(kwargs.get("tail_interval")) if "tail_interval" in kwargs else "week" # type: ignore - date = kwargs.get("date") if "date" in kwargs else None # type: ignore - show_tails = False if date is not None else show_tails - if ratios_df.empty or momentum_df.empty: - raise RuntimeError("Error: No data to plot.") - - if show_tails is True: - fig = relative_rotation.create_rrg_with_tails( - ratios_df, momentum_df, study, benchmark_symbol, tail_periods, tail_interval # type: ignore - ) - - if show_tails is False: - fig = relative_rotation.create_rrg_without_tails( - ratios_df, momentum_df, benchmark_symbol, study, date # type: ignore - ) - - figure = OpenBBFigure(fig) # pylint: disable=E0606 - font_color = "black" if ChartStyle().plt_style == "light" else "white" - figure.update_layout( - paper_bgcolor="rgba(0,0,0,0)", - plot_bgcolor="rgba(255,255,255,1)", - font=dict(color=font_color), - yaxis=dict( - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - side="left", - showline=True, - zeroline=True, - mirror=True, - ticklen=0, - tickfont=dict(size=14), - titlefont=dict(size=16), - ), - xaxis=dict( - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - showline=True, - zeroline=True, - mirror=True, - ticklen=0, - tickfont=dict(size=14), - titlefont=dict(size=16), - hoverformat="", - ), - hoverlabel=dict( - font_size=12, - ), - hovermode="x", - hoverdistance=50, - ) - if kwargs.get("title") is not None: - figure.set_title(str(kwargs.get("title"))) - content = figure.to_plotly_json() - - return figure, content - - -def fixedincome_government_yield_curve( # noqa: PLR0912 - **kwargs, -) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Government Yield Curve Chart.""" - data = kwargs.get("data", None) - df: pd.DataFrame = pd.DataFrame() - if data: - if isinstance(data, pd.DataFrame) and not data.empty: # noqa: SIM108 - df = data - elif isinstance(data, (list, Data)): - df = basemodel_to_df(data, index=None) # type: ignore - else: - pass - else: - df = pd.DataFrame([d.model_dump() for d in kwargs["obbject_item"]]) # type: ignore - - if df.empty: - raise ValueError("Error: No data to plot.") - - if "maturity" not in df.columns: - raise ValueError("Error: Maturity column not found in the data.") - - if "rate" not in df.columns: - raise ValueError("Error: Rate column not found in the data.") - - if "date" not in df.columns: - raise ValueError("Error: Date column not found in the data.") - - provider = kwargs.get("provider") - df["date"] = df["date"].astype(str) - maturities = duration_sorter(df["maturity"].unique().tolist()) - - # Use the supplied colors, if any. - colors = kwargs.get("colors", []) - if not colors: - colors = LARGE_CYCLER - color_count = 0 - - figure = OpenBBFigure().create_subplots(shared_xaxes=True) - figure.update_layout(ChartStyle().plotly_template.get("layout", {})) - - def create_fig(figure, df, dates, color_count, country: Optional[str] = None): - """Create a scatter for each date in the data.""" - for date in dates: - color = colors[color_count % len(colors)] - plot_df = df[df["date"] == date].copy() - plot_df["rate"] = plot_df["rate"].apply(lambda x: x * 100) - plot_df = ( - plot_df.drop(columns=["date"]) - .set_index("maturity") - .filter(items=maturities, axis=0) - .reset_index() - .rename(columns={"maturity": "Maturity", "rate": "Yield"}) - ) - plot_df["Maturity"] = [ - ( - d.split("_")[1] + " " + d.split("_")[0].title() - if d != "long_term" - else "Long Term" - ) - for d in plot_df["Maturity"] - ] - figure.add_scatter( - x=plot_df["Maturity"], - y=plot_df["Yield"], - # fill=fill, - mode="lines+markers", - name=f"{country} - {date}" if country else date, - line=dict(width=3, color=color), - marker=dict(size=10, color=color), - hovertemplate=( - "Maturity: %{x}
Yield: %{y}%" - if len(dates) == 1 - else "%{fullData.name}
Maturity: %{x}
Yield: %{y}%" - ), - ) - color_count += 1 - return figure, color_count - - dates = df.date.unique().tolist() - figure, color_count = create_fig(figure, df, dates, color_count) - extra_params = kwargs.get("extra_params") - extra_params = ( - extra_params if isinstance(extra_params, dict) else extra_params.__dict__ - ) - # Set the title for the chart - country: str = "" - if provider in ("federal_reserve", "fmp"): - country = "United States" - elif provider == "ecb": - curve_type = extra_params.get("yield_curve_type", "").replace("_", " ").title() - grade = extra_params.get("rating", "").replace("_", " ") - grade = grade.upper() if grade == "aaa" else "All Ratings" - country = f"Euro Area ({grade}) {curve_type}" - elif provider == "fred": - curve_type = extra_params.get("yield_curve_type", "") - curve_type = ( - "Real Rates" - if curve_type == "real" - else curve_type.replace("_", " ").title() - ) - country = f"United States {curve_type}" - elif provider == "econdb": - country = extra_params.get("country", "") - country = country.replace("_", " ").title() if country else "United States" - country = country + " " if country else "" - title = kwargs.get("title", "") - if not title: - title = f"{country}Yield Curve" - if len(dates) == 1: - title = f"{country} Yield Curve - {dates[0]}" - - # Update the layout of the figure. - figure.update_layout( - title=dict(text=title, x=0.5, font=dict(size=20)), - plot_bgcolor="rgba(255,255,255,0)", - xaxis=dict( - title="Maturity", - ticklen=0, - showgrid=False, - type="category", - categoryorder="array", - categoryarray=( - [ - ( - d.split("_")[1] + " " + d.split("_")[0].title() - if d != "long_term" - else "Long Term" - ) - for d in maturities - ] - ), - ), - yaxis=dict( - title="Yield (%)", - ticklen=0, - showgrid=True, - gridcolor="rgba(128,128,128,0.3)", - ), - legend=dict( - orientation="v", - yanchor="top", - xanchor="right", - y=0.95, - x=0, - xref="paper", - font=dict(size=12), - bgcolor="rgba(0,0,0,0)", - ), - margin=dict( - b=25, - t=10, - ), - ) - - layout_kwargs = kwargs.get("layout_kwargs", {}) - if layout_kwargs: - figure.update_layout(layout_kwargs) - - content = figure.show(external=True) - - return figure, content diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/utils/__init__.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/__init__.py similarity index 100% rename from openbb_platform/obbject_extensions/charting/openbb_charting/utils/__init__.py rename to openbb_platform/obbject_extensions/charting/openbb_charting/charts/__init__.py diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/utils/generic_charts.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/generic_charts.py similarity index 99% rename from openbb_platform/obbject_extensions/charting/openbb_charting/utils/generic_charts.py rename to openbb_platform/obbject_extensions/charting/openbb_charting/charts/generic_charts.py index 9254408b4c8..066865a8d80 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/utils/generic_charts.py +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/generic_charts.py @@ -10,14 +10,14 @@ from openbb_core.app.utils import basemodel_to_df, convert_to_basemodel from openbb_core.provider.abstract.data import Data from plotly.graph_objs import Figure -from openbb_charting.core.chart_style import ChartStyle -from openbb_charting.core.openbb_figure import OpenBBFigure -from openbb_charting.styles.colors import LARGE_CYCLER -from openbb_charting.utils.helpers import ( +from openbb_charting.charts.helpers import ( calculate_returns, should_share_axis, z_score_standardization, ) +from openbb_charting.core.chart_style import ChartStyle +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_charting.styles.colors import LARGE_CYCLER def line_chart( # noqa: PLR0912 @@ -48,7 +48,6 @@ def line_chart( # noqa: PLR0912 **kwargs, ) -> Union[OpenBBFigure, Figure]: """Create a line chart.""" - if data is None: raise ValueError("Error: Data is a required field.") @@ -381,7 +380,6 @@ def bar_chart( # noqa: PLR0912 OpenBBFigure The OpenBBFigure object. """ - try: figure = OpenBBFigure() except Exception as _: @@ -523,7 +521,6 @@ def bar_increasing_decreasing( # pylint: disable=W0102 OpenBBFigure The OpenBBFigure object. """ - try: figure = OpenBBFigure() except Exception as _: diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/utils/helpers.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/helpers.py similarity index 83% rename from openbb_platform/obbject_extensions/charting/openbb_charting/utils/helpers.py rename to openbb_platform/obbject_extensions/charting/openbb_charting/charts/helpers.py index eff4ca13a18..e6a818b0109 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/utils/helpers.py +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/helpers.py @@ -1,27 +1,30 @@ """Helper functions for charting.""" -import importlib from inspect import getmembers, getsource, isfunction -from typing import List +from typing import Callable, Dict, List, Type, Union import pandas as pd from pandas_ta import candles -def get_charting_functions() -> List[str]: +def get_charting_functions( + view: Type, with_objects: bool = False +) -> Union[List[str], Dict[str, Callable]]: """Discover charting functions.""" + implemented_functions: Union[List[str], Dict[str, Callable]] = ( + [] if not with_objects else {} + ) - charting_router = importlib.import_module("openbb_charting.charting_router") - - implemented_functions = [] - - for name, obj in getmembers(charting_router, isfunction): + for name, obj in getmembers(view, isfunction): if ( - obj.__module__ == charting_router.__name__ + obj.__module__ == view.__module__ and not name.startswith("_") and "NotImplementedError" not in getsource(obj) ): - implemented_functions.append(name) + if with_objects: + implemented_functions[name] = obj + else: + implemented_functions.append(name) return implemented_functions @@ -68,7 +71,6 @@ def heikin_ashi(data: pd.DataFrame) -> pd.DataFrame: pd.DataFrame DataFrame copy with Heikin Ashi candle calculations. """ - df = data.copy() check_columns = ["open", "high", "low", "close"] diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_historical.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_historical.py new file mode 100644 index 00000000000..0187b222086 --- /dev/null +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_historical.py @@ -0,0 +1,314 @@ +"""Price historical charting utility.""" + +from typing import Any, Dict, Tuple + +import pandas as pd +from openbb_core.app.utils import basemodel_to_df + +from openbb_charting.charts.helpers import ( + calculate_returns, + heikin_ashi, + should_share_axis, + z_score_standardization, +) +from openbb_charting.core.chart_style import ChartStyle +from openbb_charting.core.openbb_figure import OpenBBFigure +from openbb_charting.core.plotly_ta.ta_class import PlotlyTA +from openbb_charting.styles.colors import LARGE_CYCLER + +# pylint: disable=too-many-branches + + +def price_historical( # noqa: PLR0912 + **kwargs, +) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Equity Price Historical Chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + elif "data" in kwargs and isinstance(kwargs["data"], list): + data = basemodel_to_df(kwargs["data"], index=kwargs.get("index", "date")) # type: ignore + else: + data = basemodel_to_df( + kwargs["obbject_item"], index=kwargs.get("index", "date") # type: ignore + ) + + if "date" in data.columns: + data = data.set_index("date") + + target = str(kwargs.get("target")) + normalize = kwargs.get("normalize") is True + returns = kwargs.get("returns") is True + same_axis = kwargs.get("same_axis") is True + text_color = "black" if ChartStyle().plt_style == "light" else "white" + title = f"{kwargs.get('title')}" if "title" in kwargs else "Historical Prices" + y1title = "" + y2title = "" + candles = True + multi_symbol = ( + bool(kwargs.get("multi_symbol") is True) + or ( + "symbol" in data.columns + and target in data.columns + and len(data.symbol.unique()) > 1 + ) + or ("target" in kwargs and kwargs.get("target") is not None) + or "symbol" in data.columns + or ( + "symbol" not in data.columns + and bool(data.columns.isin(["open", "high", "low", "close"]).all()) + ) + ) + target = "close" if target is None or target == "None" or target == "" else target + + if multi_symbol is True: + if "symbol" not in data.columns and target in data.columns: + data = data[[target]] + y1title = target.title() + if "symbol" in data.columns and target in data.columns: + data = data.pivot(columns="symbol", values=target) + y1title = target + title = f"Historical {target.title()}" + + indicators = kwargs.get("indicators", {}) + candles = bool(~data.columns.isin(["open", "high", "low", "close"]).all()) + candles = candles if kwargs.get("candles", True) else False + volume = kwargs.get("volume", True) if "volume" in data.columns else False + + if normalize is True: + if "symbol" not in data.columns and target in data.columns: + data = data[[target]] + multi_symbol = True + candles = False + volume = False + + if returns is True: + if "symbol" not in data.columns and target in data.columns: + data = data[[target]] + multi_symbol = True + candles = False + volume = False + if ( # pylint: disable = R0916 + multi_symbol is False + and normalize is False + and returns is False + and candles is True + ) or (indicators and multi_symbol is False): + if ( + "heikin_ashi" in kwargs + and kwargs["heikin_ashi"] is True + and candles is True + ): + data = heikin_ashi(data) + title = f"{title} - Heikin Ashi" + _volume = False + if "atr" in indicators: # type: ignore + _volume = volume + volume = False + ta = PlotlyTA() + fig = ta.plot( # type: ignore + data, + indicators=indicators if indicators else {}, # type: ignore + symbol=target if candles is False else "", + candles=candles, + volume=volume, # type: ignore + ) + if _volume is True and "atr" in indicators: # type: ignore + fig.add_inchart_volume(data) + fig.update_layout( + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(0,0,0,0)", + font=dict(color=text_color), + showlegend=True, + legend=dict( + orientation="v", + yanchor="top", + xanchor="right", + y=0.95, + x=-0.01, + xref="paper", + font=dict(size=12), + bgcolor="rgba(0,0,0,0)", + ), + xaxis=dict( + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + zeroline=True, + mirror=True, + showline=True, + ), + xaxis2=dict( + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + zeroline=True, + mirror=True, + showline=True, + ), + yaxis=dict( + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + zeroline=True, + mirror=True, + showline=True, + tickfont=dict(size=14), + ), + yaxis2=dict( + ticklen=0, + gridcolor="rgba(128,128,128,0.3)", + ), + yaxis3=dict( + ticklen=0, + gridcolor="rgba(128,128,128,0.3)", + ), + dragmode="pan", + hovermode="x", + ) + + if kwargs.get("title"): + title = kwargs["title"] + fig.update_layout(title=dict(text=title, x=0.5)) + + content = fig.to_plotly_json() + + return fig, content + + if multi_symbol is True or candles is False: + + if "symbol" not in data.columns and target in data.columns: + data = data[[target]] + + if "symbol" in data.columns: + data = data.pivot(columns="symbol", values=target) + + title: str = kwargs.get("title", "Historical Prices") # type: ignore + + y1title = data.iloc[:, 0].name + y2title = "" + + if len(data.columns) > 2 or normalize is True or returns is True: + if returns is True or (len(data.columns) > 2 and normalize is False): + data = data.apply(calculate_returns) + title = f"{title} - Cumulative Returns" + y1title = "Percent" + if normalize is True: + if returns is True: + title = f"{title.replace(' - Cumulative Returns', '')} - Normalized Cumulative Returns" + else: + title = title + " - Normalized" + data = data.apply(z_score_standardization) + y1title = None # type: ignore + y2title = None # type: ignore + + fig = OpenBBFigure() + + for i, col in enumerate(data.columns): + + hovertemplate = f"{data[col].name}: %{{y}}" + yaxis = "y1" + if y1title and y1title != "Percent": + yaxis = ( + ( + "y1" + if should_share_axis(data, col, y1title) # type: ignore + or col == y1title + or normalize is True + or returns is True + else "y2" + ) + if same_axis is False + else "y1" + ) + + if yaxis == "y2": + y2title = data[col].name + + fig.add_scatter( + x=data.index, + y=data[col], + name=data[col].name, + mode="lines", + hovertemplate=hovertemplate, + line=dict(width=2, color=LARGE_CYCLER[i % len(LARGE_CYCLER)]), + yaxis=yaxis, + ) + + if normalize is True or returns is True: + y1title = "Percent" if returns is True else None # type: ignore + y2title = None # type: ignore + + if same_axis is True: + y1title = None # type: ignore + y2title = None # type: ignore + + fig.update_layout( + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(0,0,0,0)", + legend=( + dict( + orientation="v", + yanchor="top", + xanchor="right", + y=0.95, + x=-0.01, + bgcolor="rgba(0,0,0,0)", + ) + if len(data.columns) > 2 + else dict( + orientation="h", + yanchor="bottom", + xanchor="right", + y=1.02, + x=0.98, + bgcolor="rgba(0,0,0,0)", + ) + ), + yaxis1=( + dict( + side="right", + ticklen=0, + showgrid=True, + showline=True, + mirror=True, + gridcolor="rgba(128,128,128,0.3)", + title=dict( + text=y1title if y1title else None, standoff=20, font=dict(size=20) + ), + tickfont=dict(size=14), + anchor="x", + ) + ), + yaxis2=( + dict( + overlaying="y", + side="left", + ticklen=0, + showgrid=False, + title=dict( + text=y2title if y2title else None, standoff=10, font=dict(size=20) + ), + tickfont=dict(size=14), + anchor="x", + ) + if y2title + else None + ), + xaxis=dict( + ticklen=0, + showgrid=True, + gridcolor="rgba(128,128,128,0.3)", + showline=True, + mirror=True, + ), + margin=dict(l=20, r=20, b=20, t=20), + dragmode="pan", + hovermode="x", + ) + if kwargs.get("title"): + title = kwargs["title"] + fig.update_layout(title=dict(text=title, x=0.5)) + + content = fig.show(external=True).to_plotly_json() + + return fig, content diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_performance.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_performance.py new file mode 100644 index 00000000000..3590a30a7e2 --- /dev/null +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/price_performance.py @@ -0,0 +1,106 @@ +"""Price performance charting implementation.""" + +from typing import Any, Dict, Tuple, Union + +import pandas as pd +from openbb_core.app.utils import basemodel_to_df +from plotly.graph_objs import Figure + +from openbb_charting.charts.generic_charts import bar_chart +from openbb_charting.core.openbb_figure import OpenBBFigure + + +def price_performance( + **kwargs, +) -> Tuple[Union[OpenBBFigure, Figure], Dict[str, Any]]: # noqa: PLR0912 + """Equity Price Performance Chart.""" + if "data" in kwargs and isinstance(kwargs["data"], pd.DataFrame): + data = kwargs["data"] + elif "data" in kwargs and isinstance(kwargs["data"], list): + data = basemodel_to_df(kwargs["data"], index=kwargs.get("index", "symbol")) # type: ignore + else: + data = basemodel_to_df( + kwargs["obbject_item"], index=kwargs.get("index", "symbol") # type: ignore + ) + + cols = [ + "one_day", + "one_week", + "one_month", + "three_month", + "six_month", + "ytd", + "one_year", + "two_year", + "three_year", + "four_year", + "five_year", + ] + + df = pd.DataFrame() + chart_df = pd.DataFrame() + + if "symbol" in data.columns: + data = data.set_index("symbol") + chart_cols = [] + + if len(data) == 0: + raise ValueError("No data was found in the DataFrame.") + + data = data.drop_duplicates(keep="first") + + for col in cols: + if col in data.columns and data[col].notnull().any(): + df[col.replace("_", " ").title() if col != "ytd" else col.upper()] = data[ + col + ].apply(lambda x: round(x * 100, 4) if x is not None else None) + + if df.empty: + raise ValueError(f"No columns matching, {cols}, were found in the data.") + + chart_df = df.T + chart_cols = chart_df.columns.to_list() + + if "limit" in kwargs and isinstance(kwargs.get("limit"), int): + limit = kwargs.pop("limit", 10) + chart_df = chart_df.head(limit) # type: ignore + + layout_kwargs: Dict[str, Any] = kwargs.get("layout_kwargs", {}) + + title = ( + f"{kwargs.pop('title')}" if "title" in kwargs else "Equity Price Performance" + ) + orientation = ( + kwargs.pop("orientation") + if "orientation" in kwargs and kwargs.get("orientation") is not None + else "v" + ) + + ytitle = "Performance (%)" + xtitle = None + + if orientation == "h": + xtitle = ytitle # type: ignore + ytitle = None # type: ignore + + fig = bar_chart( + chart_df.reset_index(), + x="index", + y=chart_cols, + title=title, + xtitle=xtitle, + ytitle=ytitle, + orientation=orientation, # type: ignore + ) + fig.update_traces( + hovertemplate=( + "%{fullData.name}:%{y:.2f}%" + if orientation == "v" + else "%{fullData.name}:%{x:.2f}%" + ) + ) + + fig.update_layout(**layout_kwargs) + content = fig.show(external=True).to_plotly_json() # type: ignore + + return fig, content diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/utils/relative_rotation.py b/openbb_platform/obbject_extensions/charting/openbb_charting/charts/relative_rotation.py similarity index 100% rename from openbb_platform/obbject_extensions/charting/openbb_charting/utils/relative_rotation.py rename to openbb_platform/obbject_extensions/charting/openbb_charting/charts/relative_rotation.py diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly_ta/base.py b/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly_ta/base.py index a5e7e0728e8..e77a36a08b6 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly_ta/base.py +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly_ta/base.py @@ -203,6 +203,7 @@ def indicator( if not attrs.pop("name", ""): name = func.__name__ + # pylint: disable=possibly-used-before-assignment return Indicator(func, name, **attrs) return decorator diff --git a/openbb_platform/obbject_extensions/charting/tests/test_charting.py b/openbb_platform/obbject_extensions/charting/tests/test_charting.py index 5849386987f..6a6c3c4a7b1 100644 --- a/openbb_platform/obbject_extensions/charting/tests/test_charting.py +++ b/openbb_platform/obbject_extensions/charting/tests/test_charting.py @@ -24,7 +24,7 @@ mock_dataframe = MockDataframe() @pytest.fixture() def obbject(): - """Mock OOBject.""" + """Mock OBBject.""" class MockStdParams(BaseModel): """Mock Standard Parameters.""" @@ -32,17 +32,18 @@ def obbject(): param1: str param2: str - class MockOOBject: - """Mock OOBject.""" + class MockOBBject: + """Mock OBBject.""" def __init__(self): - """Mock OOBject.""" + """Mock OBBject.""" self._user_settings = UserSettings() self._system_settings = SystemSettings() self._route = "mock/route" self._standard_params = MockStdParams( param1="mock_param1", param2="mock_param2" ) + self._extra_params = {} self.results = "mock_results" self.provider = "mock_provider" @@ -54,7 +55,7 @@ def obbject(): """Mock to_dataframe.""" return mock_dataframe - return MockOOBject() + return MockOBBject() def test_charting_settings(obbject): @@ -121,16 +122,16 @@ def test_handle_backend(mock_create_backend, mock_get_backend, obbject): mock_get_backend.assert_called_once() -@patch("openbb_charting.charting_router") -def test_get_chart_function(mock_charting_router): +def test_get_chart_function(obbject): """Test _get_chart_function method.""" # Arrange mock_function = MagicMock() - mock_charting_router.some_function = mock_function + charting = Charting(obbject) + charting._functions = {"some_function": mock_function} route = "/some/function" # Act - result = Charting._get_chart_function(route) + result = charting._get_chart_function(route) # Assert assert result == mock_function diff --git a/openbb_platform/openbb/assets/reference.json b/openbb_platform/openbb/assets/reference.json index bb5ee238f37..c1b63983a7a 100644 --- a/openbb_platform/openbb/assets/reference.json +++ b/openbb_platform/openbb/assets/reference.json @@ -3,34 +3,34 @@ "info": { "title": "OpenBB Platform (Python)", "description": "Investment research for everyone, anywhere.", - "core": "1.2.4", + "core": "1.2.5", "extensions": { "openbb_core_extension": [ - "commodity@1.1.2", - "crypto@1.2.2", - "currency@1.2.2", - "derivatives@1.2.2", - "economy@1.2.2", - "equity@1.2.2", - "etf@1.2.2", - "fixedincome@1.2.2", - "index@1.2.2", - "news@1.2.2", - "regulators@1.2.2" + "commodity@1.1.3", + "crypto@1.2.3", + "currency@1.2.3", + "derivatives@1.2.3", + "economy@1.2.3", + "equity@1.2.3", + "etf@1.2.3", + "fixedincome@1.2.3", + "index@1.2.3", + "news@1.2.3", + "regulators@1.2.3" ], "openbb_provider_extension": [ - "benzinga@1.2.2", - "econdb@1.1.2", - "federal_reserve@1.2.2", - "fmp@1.2.2", - "fred@1.2.2", - "intrinio@1.2.2", - "oecd@1.2.2", - "polygon@1.2.2", - "sec@1.2.2", - "tiingo@1.2.2", - "tradingeconomics@1.2.2", - "yfinance@1.2.2" + "benzinga@1.2.3", + "econdb@1.1.3", + "federal_reserve@1.2.3", + "fmp@1.2.3", + "fred@1.2.3", + "intrinio@1.2.3", + "oecd@1.2.3", + "polygon@1.2.3", + "sec@1.2.3", + "tiingo@1.2.3", + "tradingeconomics@1.2.3", + "yfinance@1.2.3" ], "openbb_obbject_extension": [] } @@ -1213,6 +1213,101 @@ "default": null, "optional": true, "choices": null + }, + { + "name": "option_type", + "type": "Literal[None, Union[ForwardRef('call'), ForwardRef('put')]]", + "description": "The option type, call or put, 'None' is both (default).", + "default": null, + "optional": true, + "choices": [ + "call", + "put" + ] + }, + { + "name": "moneyness", + "type": "Literal['otm', 'itm', 'all']", + "description": "Return only contracts that are in or out of the money, default is 'all'. Parameter is ignored when a date is supplied.", + "default": "all", + "optional": true, + "choices": [ + "otm", + "itm", + "all" + ] + }, + { + "name": "strike_gt", + "type": "int", + "description": "Return options with a strike price greater than the given value. Parameter is ignored when a date is supplied.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "strike_lt", + "type": "int", + "description": "Return options with a strike price less than the given value. Parameter is ignored when a date is supplied.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume_gt", + "type": "int", + "description": "Return options with a volume greater than the given value. Parameter is ignored when a date is supplied.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume_lt", + "type": "int", + "description": "Return options with a volume less than the given value. Parameter is ignored when a date is supplied.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "oi_gt", + "type": "int", + "description": "Return options with an open interest greater than the given value. Parameter is ignored when a date is supplied.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "oi_lt", + "type": "int", + "description": "Return options with an open interest less than the given value. Parameter is ignored when a date is supplied.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "model", + "type": "Literal['black_scholes', 'bjerk']", + "description": "The pricing model to use for options chains data, default is 'black_scholes'. Parameter is ignored when a date is supplied.", + "default": "black_scholes", + "optional": true, + "choices": null + }, + { + "name": "show_extended_price", + "type": "bool", + "description": "Whether to include OHLC type fields, default is True. Parameter is ignored when a date is supplied.", + "default": true, + "optional": true, + "choices": null + }, + { + "name": "include_related_symbols", + "type": "bool", + "description": "Include related symbols that end in a 1 or 2 because of a corporate action, default is False.", + "default": false, + "optional": true, + "choices": null } ], "yfinance": [] @@ -1249,9 +1344,17 @@ "data": { "standard": [ { - "name": "symbol", + "name": "underlying_symbol", "type": "str", - "description": "Symbol representing the entity requested in the data. Here, it is the underlying symbol for the option.", + "description": "Underlying symbol for the option.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "underlying_price", + "type": "float", + "description": "Price of the underlying stock.", "default": null, "optional": true, "choices": null @@ -1280,6 +1383,14 @@ "optional": false, "choices": null }, + { + "name": "dte", + "type": "int", + "description": "Days to expiration of the contract.", + "default": null, + "optional": true, + "choices": null + }, { "name": "strike", "type": "float", @@ -1300,7 +1411,7 @@ "name": "open_interest", "type": "int", "description": "Open interest on the contract.", - "default": null, + "default": 0, "optional": true, "choices": null }, @@ -1308,7 +1419,7 @@ "name": "volume", "type": "int", "description": "The trading volume.", - "default": null, + "default": 0, "optional": true, "choices": null }, @@ -1328,6 +1439,22 @@ "optional": true, "choices": null }, + { + "name": "last_trade_size", + "type": "int", + "description": "Last trade size of the option.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "last_trade_time", + "type": "datetime", + "description": "The timestamp of the last trade.", + "default": null, + "optional": true, + "choices": null + }, { "name": "tick", "type": "str", @@ -1352,6 +1479,22 @@ "optional": true, "choices": null }, + { + "name": "bid_time", + "type": "datetime", + "description": "The timestamp of the bid price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "bid_exchange", + "type": "str", + "description": "The exchange of the bid price.", + "default": null, + "optional": true, + "choices": null + }, { "name": "ask", "type": "float", @@ -1368,6 +1511,22 @@ "optional": true, "choices": null }, + { + "name": "ask_time", + "type": "datetime", + "description": "The timestamp of the ask price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "ask_exchange", + "type": "str", + "description": "The exchange of the ask price.", + "default": null, + "optional": true, + "choices": null + }, { "name": "mark", "type": "float", @@ -1539,7 +1698,7 @@ { "name": "change_percent", "type": "float", - "description": "Change, in normalizezd percentage points, of the option.", + "description": "Change, in normalized percentage points, of the option.", "default": null, "optional": true, "choices": null @@ -1593,25 +1752,8 @@ "choices": null } ], - "intrinio": [ - { - "name": "exercise_style", - "type": "str", - "description": "The exercise style of the option, American or European.", - "default": null, - "optional": true, - "choices": null - } - ], + "intrinio": [], "yfinance": [ - { - "name": "dte", - "type": "int", - "description": "Days to expiration.", - "default": null, - "optional": true, - "choices": null - }, { "name": "in_the_money", "type": "bool", @@ -1621,9 +1763,9 @@ "choices": null }, { - "name": "last_trade_timestamp", - "type": "datetime", - "description": "Timestamp for when the option was last traded.", + "name": "currency", + "type": "str", + "description": "Currency of the option.", "default": null, "optional": true, "choices": null @@ -1849,6 +1991,295 @@ }, "model": "OptionsUnusual" }, + "/derivatives/options/snapshots": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Get a snapshot of the options market universe.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.derivatives.options.snapshots(provider='intrinio')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "provider", + "type": "Literal['intrinio']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: i, n, t, r, i, n, i, o.", + "default": null, + "optional": true + } + ], + "intrinio": [ + { + "name": "date", + "type": "Union[Union[date, datetime, str], str]", + "description": "The date of the data. Can be a datetime or an ISO datetime string. Data appears to go back to around 2022-06-01 Example: '2024-03-08T12:15:00+0400'", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "only_traded", + "type": "bool", + "description": "Only include options that have been traded during the session, default is True. Setting to false will dramatically increase the size of the response - use with caution.", + "default": true, + "optional": true, + "choices": null + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[OptionsSnapshots]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['intrinio']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "underlying_symbol", + "type": "str", + "description": "Ticker symbol of the underlying asset.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "contract_symbol", + "type": "str", + "description": "Symbol of the options contract.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "expiration", + "type": "date", + "description": "Expiration date of the options contract.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "dte", + "type": "int", + "description": "Number of days to expiration of the options contract.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "strike", + "type": "float", + "description": "Strike price of the options contract.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "option_type", + "type": "str", + "description": "The type of option.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "volume", + "type": "int", + "description": "The trading volume.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "open_interest", + "type": "int", + "description": "Open interest at the time.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "last_price", + "type": "float", + "description": "Last trade price at the time.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "last_size", + "type": "int", + "description": "Lot size of the last trade.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "last_timestamp", + "type": "datetime", + "description": "Timestamp of the last price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "open", + "type": "float", + "description": "The open price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "high", + "type": "float", + "description": "The high price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "low", + "type": "float", + "description": "The low price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "close", + "type": "float", + "description": "The close price.", + "default": null, + "optional": true, + "choices": null + } + ], + "intrinio": [ + { + "name": "bid", + "type": "float", + "description": "The last bid price at the time.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "bid_size", + "type": "int", + "description": "The size of the last bid price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "bid_timestamp", + "type": "datetime", + "description": "The timestamp of the last bid price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "ask", + "type": "float", + "description": "The last ask price at the time.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "ask_size", + "type": "int", + "description": "The size of the last ask price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "ask_timestamp", + "type": "datetime", + "description": "The timestamp of the last ask price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "total_bid_volume", + "type": "int", + "description": "Total volume of bids.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "bid_high", + "type": "float", + "description": "The highest bid price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "bid_low", + "type": "float", + "description": "The lowest bid price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "total_ask_volume", + "type": "int", + "description": "Total volume of asks.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "ask_high", + "type": "float", + "description": "The highest ask price.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "ask_low", + "type": "float", + "description": "The lowest ask price.", + "default": null, + "optional": true, + "choices": null + } + ] + }, + "model": "OptionsSnapshots" + }, "/derivatives/futures/historical": { "deprecated": { "flag": null, @@ -2400,6 +2831,657 @@ }, "model": "GdpReal" }, + "/economy/survey/sloos": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Get Senior Loan Officers Opinion Survey.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.economy.survey.sloos(provider='fred')\nobb.economy.survey.sloos(category=credit_card, provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "default": null, + "optional": true + } + ], + "fred": [ + { + "name": "category", + "type": "Literal['spreads', 'consumer', 'auto', 'credit_card', 'firms', 'mortgage', 'commercial_real_estate', 'standards', 'demand', 'foreign_banks']", + "description": "Category of survey response.", + "default": "spreads", + "optional": true, + "choices": [ + "spreads", + "consumer", + "auto", + "credit_card", + "firms", + "mortgage", + "commercial_real_estate", + "standards", + "demand", + "foreign_banks" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[SeniorLoanOfficerSurvey]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "symbol", + "type": "str", + "description": "Symbol representing the entity requested in the data.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "value", + "type": "float", + "description": "Survey value.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "title", + "type": "str", + "description": "Survey title.", + "default": "", + "optional": false, + "choices": null + } + ], + "fred": [] + }, + "model": "SeniorLoanOfficerSurvey" + }, + "/economy/survey/university_of_michigan": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Get University of Michigan Consumer Sentiment and Inflation Expectations Surveys.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.economy.survey.university_of_michigan(provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "default": null, + "optional": true + } + ], + "fred": [ + { + "name": "frequency", + "type": "Literal['annual', 'quarter']", + "description": "Frequency aggregation to convert monthly data to lower frequency. None is monthly.", + "default": null, + "optional": true, + "choices": [ + "annual", + "quarter" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[UniversityOfMichigan]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "consumer_sentiment", + "type": "float", + "description": "Index of the results of the University of Michigan's monthly Survey of Consumers, which is used to estimate future spending and saving. (1966:Q1=100).", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "inflation_expectation", + "type": "float", + "description": "Median expected price change next 12 months, Surveys of Consumers.", + "default": null, + "optional": true, + "choices": null + } + ], + "fred": [] + }, + "model": "UniversityOfMichigan" + }, + "/economy/survey/economic_conditions_chicago": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Get The Survey Of Economic Conditions For The Chicago Region.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.economy.survey.economic_conditions_chicago(provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "default": null, + "optional": true + } + ], + "fred": [ + { + "name": "frequency", + "type": "Literal['annual', 'quarter']", + "description": "Frequency aggregation to convert monthly data to lower frequency. None is monthly.", + "default": null, + "optional": true, + "choices": [ + "annual", + "quarter" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[SurveyOfEconomicConditionsChicago]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "activity_index", + "type": "float", + "description": "Activity Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "one_year_outlook", + "type": "float", + "description": "One Year Outlook Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "manufacturing_activity", + "type": "float", + "description": "Manufacturing Activity Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "non_manufacturing_activity", + "type": "float", + "description": "Non-Manufacturing Activity Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "capital_expenditures_expectations", + "type": "float", + "description": "Capital Expenditures Expectations Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "hiring_expectations", + "type": "float", + "description": "Hiring Expectations Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "current_hiring", + "type": "float", + "description": "Current Hiring Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "labor_costs", + "type": "float", + "description": "Labor Costs Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "non_labor_costs", + "type": "float", + "description": "Non-Labor Costs Index.", + "default": null, + "optional": true, + "choices": null + } + ], + "fred": [] + }, + "model": "SurveyOfEconomicConditionsChicago" + }, + "/economy/survey/manufacturing_outlook_texas": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Get The Manufacturing Outlook Survey For The Texas Region.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.economy.survey.manufacturing_outlook_texas(provider='fred')\nobb.economy.survey.manufacturing_outlook_texas(topic=business_outlook,new_orders, transform=pc1, provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "default": null, + "optional": true + } + ], + "fred": [ + { + "name": "topic", + "type": "Union[Union[Literal['business_activity', 'business_outlook', 'capex', 'prices_paid', 'production', 'inventory', 'new_orders', 'new_orders_growth', 'unfilled_orders', 'shipments', 'delivery_time', 'employment', 'wages', 'hours_worked'], str], List[Union[Literal['business_activity', 'business_outlook', 'capex', 'prices_paid', 'production', 'inventory', 'new_orders', 'new_orders_growth', 'unfilled_orders', 'shipments', 'delivery_time', 'employment', 'wages', 'hours_worked'], str]]]", + "description": "The topic for the survey response. Multiple items allowed for provider(s): fred.", + "default": "new_orders_growth", + "optional": true, + "choices": [ + "business_activity", + "business_outlook", + "capex", + "prices_paid", + "production", + "inventory", + "new_orders", + "new_orders_growth", + "unfilled_orders", + "shipments", + "delivery_time", + "employment", + "wages", + "hours_worked" + ] + }, + { + "name": "frequency", + "type": "Literal['annual', 'quarter']", + "description": "Frequency aggregation to convert monthly data to lower frequency. None is monthly.", + "default": null, + "optional": true, + "choices": [ + "annual", + "quarter" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[ManufacturingOutlookTexas]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "topic", + "type": "str", + "description": "Topic of the survey response.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "diffusion_index", + "type": "float", + "description": "Diffusion Index.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percent_reporting_increase", + "type": "float", + "description": "Percent of respondents reporting an increase over the last month.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percent_reporting_decrease", + "type": "float", + "description": "Percent of respondents reporting a decrease over the last month.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percent_reporting_no_change", + "type": "float", + "description": "Percent of respondents reporting no change over the last month.", + "default": null, + "optional": true, + "choices": null + } + ], + "fred": [] + }, + "model": "ManufacturingOutlookTexas" + }, "/economy/calendar": { "deprecated": { "flag": null, @@ -4176,7 +5258,7 @@ "message": null }, "description": "Get global unemployment data.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.economy.unemployment(provider='oecd')\nobb.economy.unemployment(country='all', frequency='quarter', provider='oecd')\n# Demographics for the statistics are selected with the `age` parameter.\nobb.economy.unemployment(country='all', frequency='quarter', age=25-54, provider='oecd')\n```\n\n", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.economy.unemployment(provider='oecd')\nobb.economy.unemployment(country='all', frequency='quarter', provider='oecd')\n# Demographics for the statistics are selected with the `age` parameter.\nobb.economy.unemployment(country='all', frequency='quarter', age=total, provider='oecd')\n```\n\n", "parameters": { "standard": [ { @@ -5595,7 +6677,7 @@ { "name": "face_value", "type": "float", - "description": "Current face value of the security (Thousands). Current face value of the securities, which is the remaining principal balance of the securities.", + "description": "Current face value of the security (Thousands of $USD). Current face value of the securities, which is the remaining principal balance of the securities.", "default": null, "optional": true, "choices": null @@ -5603,7 +6685,7 @@ { "name": "par_value", "type": "float", - "description": "Par value of the security (Thousands). Changes in par may reflect primary and secondary market transactions and/or custodial account activity.", + "description": "Par value of the security (Thousands of $USD). Changes in par may reflect primary and secondary market transactions and/or custodial account activity.", "default": null, "optional": true, "choices": null @@ -5635,7 +6717,7 @@ { "name": "bills", "type": "float", - "description": "Treasury bills amount (Thousands). Only returned when 'summary' is True.", + "description": "Treasury bills amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5643,7 +6725,7 @@ { "name": "frn", "type": "float", - "description": "Floating rate Treasury notes amount (Thousands). Only returned when 'summary' is True.", + "description": "Floating rate Treasury notes amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5651,7 +6733,7 @@ { "name": "notes_and_bonds", "type": "float", - "description": "Treasuy Notes and bonds amount (Thousands). Only returned when 'summary' is True.", + "description": "Treasuy Notes and bonds amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5659,7 +6741,7 @@ { "name": "tips", "type": "float", - "description": "Treasury inflation-protected securities amount (Thousands). Only returned when 'summary' is True.", + "description": "Treasury inflation-protected securities amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5667,7 +6749,7 @@ { "name": "mbs", "type": "float", - "description": "Mortgage-backed securities amount (Thousands). Only returned when 'summary' is True.", + "description": "Mortgage-backed securities amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5675,7 +6757,7 @@ { "name": "cmbs", "type": "float", - "description": "Commercial mortgage-backed securities amount (Thousands). Only returned when 'summary' is True.", + "description": "Commercial mortgage-backed securities amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5683,7 +6765,7 @@ { "name": "agencies", "type": "float", - "description": "Agency securities amount (Thousands). Only returned when 'summary' is True.", + "description": "Agency securities amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5691,7 +6773,7 @@ { "name": "total", "type": "float", - "description": "Total SOMA holdings amount (Thousands). Only returned when 'summary' is True.", + "description": "Total SOMA holdings amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5699,7 +6781,7 @@ { "name": "tips_inflation_compensation", "type": "float", - "description": "Treasury inflation-protected securities inflation compensation amount (Thousands). Only returned when 'summary' is True.", + "description": "Treasury inflation-protected securities inflation compensation amount (Thousands of $USD). Only returned when 'summary' is True.", "default": null, "optional": true, "choices": null @@ -5707,7 +6789,7 @@ { "name": "change_prior_week", "type": "float", - "description": "Change in SOMA holdings from the prior week (Thousands).", + "description": "Change in SOMA holdings from the prior week (Thousands of $USD).", "default": null, "optional": true, "choices": null @@ -5715,7 +6797,7 @@ { "name": "change_prior_year", "type": "float", - "description": "Change in SOMA holdings from the prior year (Thousands).", + "description": "Change in SOMA holdings from the prior year (Thousands of $USD).", "default": null, "optional": true, "choices": null @@ -21196,21 +22278,21 @@ "message": null }, "description": "Get earnings call transcripts for a given company.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.equity.fundamental.transcript(symbol='AAPL', year=2020, provider='fmp')\n```\n\n", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.equity.fundamental.transcript(symbol='AAPL', year='2020', provider='fmp')\n```\n\n", "parameters": { "standard": [ { "name": "symbol", - "type": "str", - "description": "Symbol to get data for.", + "type": "Union[str, List[str]]", + "description": "Symbol to get data for. Multiple items allowed for provider(s): fmp.", "default": "", "optional": false, "choices": null }, { "name": "year", - "type": "int", - "description": "Year of the earnings call transcript.", + "type": "Union[Union[int, str], List[Union[int, str]]]", + "description": "Year of the earnings call transcript. Multiple items allowed for provider(s): fmp.", "default": "", "optional": false, "choices": null @@ -29878,8 +30960,8 @@ "flag": null, "message": null }, - "description": "Ameribor.\n\nAmeribor (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of\nshort-term interbank borrowing. This rate is based on transactions in overnight unsecured loans conducted on the\nAmerican Financial Exchange (AFX).", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.ameribor(provider='fred')\nobb.fixedincome.rate.ameribor(parameter=30_day_ma, provider='fred')\n```\n\n", + "description": "AMERIBOR.\n\nAMERIBOR (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of\nshort-term interbank borrowing. This rate is based on transactions in overnight unsecured loans conducted on the\nAmerican Financial Exchange (AFX).", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.ameribor(provider='fred')\n# The change from one year ago is applied with the transform parameter.\nobb.fixedincome.rate.ameribor(maturity=all, transform=pc1, provider='fred')\n```\n\n", "parameters": { "standard": [ { @@ -29908,12 +30990,70 @@ ], "fred": [ { - "name": "parameter", - "type": "Literal['overnight', 'term_30', 'term_90', '1_week_term_structure', '1_month_term_structure', '3_month_term_structure', '6_month_term_structure', '1_year_term_structure', '2_year_term_structure', '30_day_ma', '90_day_ma']", - "description": "Period of AMERIBOR rate.", - "default": "overnight", + "name": "maturity", + "type": "Union[Union[Literal['all', 'overnight', 'average_30d', 'average_90d', 'term_30d', 'term_90d'], str], List[Union[Literal['all', 'overnight', 'average_30d', 'average_90d', 'term_30d', 'term_90d'], str]]]", + "description": "Period of AMERIBOR rate. Multiple items allowed for provider(s): fred.", + "default": "all", "optional": true, - "choices": null + "choices": [ + "all", + "overnight", + "average_30d", + "average_90d", + "term_30d", + "term_90d" + ] + }, + { + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] } ] }, @@ -29921,7 +31061,7 @@ "OBBject": [ { "name": "results", - "type": "List[AMERIBOR]", + "type": "List[Ameribor]", "description": "Serializable results." }, { @@ -29957,17 +31097,41 @@ "choices": null }, { - "name": "rate", - "type": "float", - "description": "AMERIBOR rate.", + "name": "symbol", + "type": "str", + "description": "Symbol representing the entity requested in the data.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "maturity", + "type": "str", + "description": "Maturity length of the item.", "default": "", "optional": false, "choices": null + }, + { + "name": "rate", + "type": "float", + "description": "Interest rate.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "title", + "type": "str", + "description": "Title of the series.", + "default": null, + "optional": true, + "choices": null } ], "fred": [] }, - "model": "AMERIBOR" + "model": "Ameribor" }, "/fixedincome/rate/sonia": { "deprecated": { @@ -30065,6 +31229,220 @@ }, "model": "SONIA" }, + "/fixedincome/rate/sofr": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Secured Overnight Financing Rate.\n\nThe Secured Overnight Financing Rate (SOFR) is a broad measure of the cost of\nborrowing cash overnight collateralizing by Treasury securities.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.sofr(provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['federal_reserve', 'fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, e, d, e, r, a, l, _, r, e, s, e, r, v, e.", + "default": null, + "optional": true + } + ], + "federal_reserve": [], + "fred": [ + { + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[SOFR]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['federal_reserve', 'fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "rate", + "type": "float", + "description": "Effective federal funds rate.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "percentile_1", + "type": "float", + "description": "1st percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_25", + "type": "float", + "description": "25th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_75", + "type": "float", + "description": "75th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_99", + "type": "float", + "description": "99th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume", + "type": "float", + "description": "The trading volume.The notional volume of transactions (Billions of $).", + "default": null, + "optional": true, + "choices": null + } + ], + "federal_reserve": [], + "fred": [ + { + "name": "average_30d", + "type": "float", + "description": "30-Day Average SOFR", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "average_90d", + "type": "float", + "description": "90-Day Average SOFR", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "average_180d", + "type": "float", + "description": "180-Day Average SOFR", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "index", + "type": "float", + "description": "SOFR index as 2018-04-02 = 1", + "default": null, + "optional": true, + "choices": null + } + ] + }, + "model": "SOFR" + }, "/fixedincome/rate/iorb": { "deprecated": { "flag": null, @@ -30157,8 +31535,8 @@ "flag": null, "message": null }, - "description": "Fed Funds Rate.\n\nGet Effective Federal Funds Rate data. A bank rate is the interest rate a nation's central bank charges to its\ndomestic banks to borrow money. The rates central banks charge are set to stabilize the economy. In the\nUnited States, the Federal Reserve System's Board of Governors set the bank rate, also known as the discount rate.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.effr(provider='fred')\nobb.fixedincome.rate.effr(parameter=daily, provider='fred')\n```\n\n", + "description": "Fed Funds Rate.\n\nGet Effective Federal Funds Rate data. A bank rate is the interest rate a nation's central bank charges to its\ndomestic banks to borrow money. The rates central banks charge are set to stabilize the economy.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.effr(provider='fred')\nobb.fixedincome.rate.effr(effr_only=True, provider='fred')\n```\n\n", "parameters": { "standard": [ { @@ -30188,10 +31566,61 @@ "federal_reserve": [], "fred": [ { - "name": "parameter", - "type": "Literal['monthly', 'daily', 'weekly', 'daily_excl_weekend', 'annual', 'biweekly', 'volume']", - "description": "Period of FED rate.", - "default": "weekly", + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + }, + { + "name": "effr_only", + "type": "bool", + "description": "Return data without quantiles, target ranges, and volume.", + "default": false, "optional": true, "choices": null } @@ -30201,7 +31630,7 @@ "OBBject": [ { "name": "results", - "type": "List[FEDFUNDS]", + "type": "List[FederalFundsRate]", "description": "Serializable results." }, { @@ -30239,16 +31668,105 @@ { "name": "rate", "type": "float", - "description": "FED rate.", + "description": "Effective federal funds rate.", "default": "", "optional": false, "choices": null + }, + { + "name": "target_range_upper", + "type": "float", + "description": "Upper bound of the target range.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "target_range_lower", + "type": "float", + "description": "Lower bound of the target range.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_1", + "type": "float", + "description": "1st percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_25", + "type": "float", + "description": "25th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_75", + "type": "float", + "description": "75th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_99", + "type": "float", + "description": "99th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume", + "type": "float", + "description": "The trading volume.The notional volume of transactions (Billions of $).", + "default": null, + "optional": true, + "choices": null + } + ], + "federal_reserve": [ + { + "name": "intraday_low", + "type": "float", + "description": "Intraday low. This field is only present for data before 2016.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "intraday_high", + "type": "float", + "description": "Intraday high. This field is only present for data before 2016.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "standard_deviation", + "type": "float", + "description": "Standard deviation. This field is only present for data before 2016.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "revision_indicator", + "type": "str", + "description": "Indicates a revision of the data for that date.", + "default": null, + "optional": true, + "choices": null } ], - "federal_reserve": [], "fred": [] }, - "model": "FEDFUNDS" + "model": "FederalFundsRate" }, "/fixedincome/rate/effr_forecast": { "deprecated": { @@ -30383,8 +31901,8 @@ "flag": null, "message": null }, - "description": "Euro Short-Term Rate.\n\nThe euro short-term rate (\u20acSTR) reflects the wholesale euro unsecured overnight borrowing costs of banks located in\nthe euro area. The \u20acSTR is published on each TARGET2 business day based on transactions conducted and settled on\nthe previous TARGET2 business day (the reporting date \u201cT\u201d) with a maturity date of T+1 which are deemed to have been\nexecuted at arm\u2019s length and thus reflect market rates in an unbiased way.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.estr(provider='fred')\nobb.fixedincome.rate.estr(parameter=number_of_active_banks, provider='fred')\n```\n\n", + "description": "Euro Short-Term Rate.\n\nThe euro short-term rate (\u20acSTR) reflects the wholesale euro unsecured overnight borrowing costs of banks located in\nthe euro area. The \u20acSTR is published on each TARGET2 business day based on transactions conducted and settled on\nthe previous TARGET2 business day (the reporting date \u201cT\u201d) with a maturity date of T+1 which are deemed to have been\nexecuted at arm's length and thus reflect market rates in an unbiased way.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.estr(provider='fred')\nobb.fixedincome.rate.estr(transform=ch1, provider='fred')\n```\n\n", "parameters": { "standard": [ { @@ -30413,12 +31931,55 @@ ], "fred": [ { - "name": "parameter", - "type": "Literal['volume_weighted_trimmed_mean_rate', 'number_of_transactions', 'number_of_active_banks', 'total_volume', 'share_of_volume_of_the_5_largest_active_banks', 'rate_at_75th_percentile_of_volume', 'rate_at_25th_percentile_of_volume']", - "description": "Period of ESTR rate.", - "default": "volume_weighted_trimmed_mean_rate", + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, "optional": true, - "choices": null + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] } ] }, @@ -30426,7 +31987,7 @@ "OBBject": [ { "name": "results", - "type": "List[ESTR]", + "type": "List[EuroShortTermRate]", "description": "Serializable results." }, { @@ -30464,15 +32025,63 @@ { "name": "rate", "type": "float", - "description": "ESTR rate.", + "description": "Volume-weighted trimmed mean rate.", "default": "", "optional": false, "choices": null + }, + { + "name": "percentile_25", + "type": "float", + "description": "Rate at 25th percentile of volume.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_75", + "type": "float", + "description": "Rate at 75th percentile of volume.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume", + "type": "float", + "description": "The trading volume. (Millions of \u20acEUR).", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "transactions", + "type": "int", + "description": "Number of transactions.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "number_of_banks", + "type": "int", + "description": "Number of active banks.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "large_bank_share_of_volume", + "type": "float", + "description": "The percent of volume attributable to the 5 largest active banks.", + "default": null, + "optional": true, + "choices": null } ], "fred": [] }, - "model": "ESTR" + "model": "EuroShortTermRate" }, "/fixedincome/rate/ecb": { "deprecated": { @@ -30665,6 +32274,196 @@ }, "model": "DiscountWindowPrimaryCreditRate" }, + "/fixedincome/rate/overnight_bank_funding": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Overnight Bank Funding.\n\nFor the United States, the overnight bank funding rate (OBFR) is calculated as a volume-weighted median of\novernight federal funds transactions and Eurodollar transactions reported in the\nFR 2420 Report of Selected Money Market Rates.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.rate.overnight_bank_funding(provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['federal_reserve', 'fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, e, d, e, r, a, l, _, r, e, s, e, r, v, e.", + "default": null, + "optional": true + } + ], + "federal_reserve": [], + "fred": [ + { + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[OvernightBankFundingRate]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['federal_reserve', 'fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "rate", + "type": "float", + "description": "Overnight Bank Funding Rate.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "percentile_1", + "type": "float", + "description": "1st percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_25", + "type": "float", + "description": "25th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_75", + "type": "float", + "description": "75th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_99", + "type": "float", + "description": "99th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume", + "type": "float", + "description": "The trading volume.The notional volume of transactions (Billions of $).", + "default": null, + "optional": true, + "choices": null + } + ], + "federal_reserve": [ + { + "name": "revision_indicator", + "type": "str", + "description": "Indicates a revision of the data for that date.", + "default": null, + "optional": true, + "choices": null + } + ], + "fred": [] + }, + "model": "OvernightBankFundingRate" + }, "/fixedincome/spreads/tcm": { "deprecated": { "flag": null, @@ -31016,11 +32815,18 @@ "fred": [ { "name": "yield_curve_type", - "type": "Literal['nominal', 'real', 'breakeven', 'corporate_spot', 'corporate_par']", + "type": "Literal['nominal', 'real', 'breakeven', 'treasury_minus_fed_funds', 'corporate_spot', 'corporate_par']", "description": "Yield curve type. Nominal and Real Rates are available daily, others are monthly. The closest date to the requested date will be returned.", "default": "nominal", "optional": true, - "choices": null + "choices": [ + "nominal", + "real", + "breakeven", + "treasury_minus_fed_funds", + "corporate_spot", + "corporate_par" + ] } ] }, @@ -31361,8 +33167,8 @@ }, "/fixedincome/corporate/ice_bofa": { "deprecated": { - "flag": null, - "message": null + "flag": true, + "message": "This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5." }, "description": "ICE BofA US Corporate Bond Indices.\n\nThe ICE BofA US Corporate Index tracks the performance of US dollar denominated investment grade corporate debt\npublicly issued in the US domestic market. Qualifying securities must have an investment grade rating (based on an\naverage of Moody\u2019s, S&P and Fitch), at least 18 months to final maturity at the time of issuance, at least one year\nremaining term to final maturity as of the rebalance date, a fixed coupon schedule and a minimum amount\noutstanding of $250 million. The ICE BofA US Corporate Index is a component of the US Corporate Master Index.", "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.corporate.ice_bofa(provider='fred')\nobb.fixedincome.corporate.ice_bofa(index_type='yield_to_worst', provider='fred')\n```\n\n", @@ -31489,8 +33295,8 @@ }, "/fixedincome/corporate/moody": { "deprecated": { - "flag": null, - "message": null + "flag": true, + "message": "This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Set `category` to `us` and `index` to `seasoned_corporate`. Deprecated in OpenBB Platform V4.2 to be removed in V4.5." }, "description": "Moody Corporate Bond Index.\n\nMoody's Aaa and Baa are investment bonds that acts as an index of\nthe performance of all bonds given an Aaa or Baa rating by Moody's Investors Service respectively.\nThese corporate bonds often are used in macroeconomics as an alternative to the federal ten-year\nTreasury Bill as an indicator of the interest rate.", "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.corporate.moody(provider='fred')\nobb.fixedincome.corporate.moody(index_type='baa', provider='fred')\n```\n\n", @@ -31597,25 +33403,17 @@ "message": null }, "description": "High Quality Market Corporate Bond.\n\nThe HQM yield curve represents the high quality corporate bond market, i.e.,\ncorporate bonds rated AAA, AA, or A. The HQM curve contains two regression terms.\nThese terms are adjustment factors that blend AAA, AA, and A bonds into a single HQM yield curve\nthat is the market-weighted average (MWA) quality of high quality bonds.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.corporate.hqm(provider='fred')\nobb.fixedincome.corporate.hqm(yield_curve='par', provider='fred')\n```\n\n", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.corporate.hqm(provider='fred')\nobb.fixedincome.corporate.hqm(yield_curve=par, provider='fred')\n```\n\n", "parameters": { "standard": [ { "name": "date", - "type": "Union[date, str]", - "description": "A specific date to get data for.", + "type": "Union[Union[Union[str, date], str], List[Union[Union[str, date], str]]]", + "description": "A specific date to get data for. Multiple items allowed for provider(s): fred.", "default": null, "optional": true, "choices": null }, - { - "name": "yield_curve", - "type": "Literal['spot', 'par']", - "description": "The yield curve type.", - "default": "spot", - "optional": true, - "choices": null - }, { "name": "provider", "type": "Literal['fred']", @@ -31624,7 +33422,19 @@ "optional": true } ], - "fred": [] + "fred": [ + { + "name": "yield_curve", + "type": "Literal['spot', 'par']", + "description": "The yield curve type.", + "default": "spot", + "optional": true, + "choices": [ + "spot", + "par" + ] + } + ] }, "returns": { "OBBject": [ @@ -31668,7 +33478,7 @@ { "name": "rate", "type": "float", - "description": "HighQualityMarketCorporateBond Rate.", + "description": "Interest rate.", "default": "", "optional": false, "choices": null @@ -31680,26 +33490,9 @@ "default": "", "optional": false, "choices": null - }, - { - "name": "yield_curve", - "type": "Literal['spot', 'par']", - "description": "The yield curve type.", - "default": "", - "optional": false, - "choices": null } ], - "fred": [ - { - "name": "series_id", - "type": "str", - "description": "FRED series id.", - "default": "", - "optional": false, - "choices": null - } - ] + "fred": [] }, "model": "HighQualityMarketCorporateBond" }, @@ -31815,7 +33608,7 @@ "message": null }, "description": "Commercial Paper.\n\nCommercial paper (CP) consists of short-term, promissory notes issued primarily by corporations.\nMaturities range up to 270 days but average about 30 days.\nMany companies use CP to raise cash needed for current transactions,\nand many find it to be a lower-cost alternative to bank loans.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.corporate.commercial_paper(provider='fred')\nobb.fixedincome.corporate.commercial_paper(maturity='15d', provider='fred')\n```\n\n", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.corporate.commercial_paper(provider='fred')\nobb.fixedincome.corporate.commercial_paper(category=all, maturity=15d, provider='fred')\n```\n\n", "parameters": { "standard": [ { @@ -31834,30 +33627,6 @@ "optional": true, "choices": null }, - { - "name": "maturity", - "type": "Literal['overnight', '7d', '15d', '30d', '60d', '90d']", - "description": "The maturity.", - "default": "30d", - "optional": true, - "choices": null - }, - { - "name": "category", - "type": "Literal['asset_backed', 'financial', 'nonfinancial']", - "description": "The category.", - "default": "financial", - "optional": true, - "choices": null - }, - { - "name": "grade", - "type": "Literal['aa', 'a2_p2']", - "description": "The grade.", - "default": "aa", - "optional": true, - "choices": null - }, { "name": "provider", "type": "Literal['fred']", @@ -31866,7 +33635,89 @@ "optional": true } ], - "fred": [] + "fred": [ + { + "name": "maturity", + "type": "Union[Union[str, Literal['all', 'overnight', '7d', '15d', '30d', '60d', '90d']], List[Union[str, Literal['all', 'overnight', '7d', '15d', '30d', '60d', '90d']]]]", + "description": "A target maturity. Multiple items allowed for provider(s): fred.", + "default": "all", + "optional": true, + "choices": [ + "all", + "overnight", + "7d", + "15d", + "30d", + "60d", + "90d" + ] + }, + { + "name": "category", + "type": "Union[Union[str, Literal['all', 'asset_backed', 'financial', 'nonfinancial', 'a2p2']], List[Union[str, Literal['all', 'asset_backed', 'financial', 'nonfinancial', 'a2p2']]]]", + "description": "The category of asset. Multiple items allowed for provider(s): fred.", + "default": "all", + "optional": true, + "choices": [ + "all", + "asset_backed", + "financial", + "nonfinancial", + "a2p2" + ] + }, + { + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] }, "returns": { "OBBject": [ @@ -31907,26 +33758,59 @@ "optional": false, "choices": null }, + { + "name": "symbol", + "type": "str", + "description": "Symbol representing the entity requested in the data.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "maturity", + "type": "str", + "description": "Maturity length of the item.", + "default": "", + "optional": false, + "choices": null + }, { "name": "rate", "type": "float", - "description": "Commercial Paper Rate.", + "description": "Interest rate.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "title", + "type": "str", + "description": "Title of the series.", + "default": null, + "optional": true, + "choices": null + } + ], + "fred": [ + { + "name": "asset_type", + "type": "Literal['asset_backed', 'financial', 'nonfinancial', 'a2p2']", + "description": "The category of asset.", "default": "", "optional": false, "choices": null } - ], - "fred": [] + ] }, "model": "CommercialPaper" }, "/fixedincome/sofr": { "deprecated": { - "flag": null, - "message": null + "flag": true, + "message": "This endpoint is deprecated; use `/fixedincome/rate/sofr` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5." }, "description": "Secured Overnight Financing Rate.\n\nThe Secured Overnight Financing Rate (SOFR) is a broad measure of the cost of\nborrowing cash overnight collateralizing by Treasury securities.", - "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.sofr(provider='fred')\nobb.fixedincome.sofr(period=overnight, provider='fred')\n```\n\n", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\nobb.fixedincome.sofr(provider='fred')\n```\n\n", "parameters": { "standard": [ { @@ -31947,20 +33831,64 @@ }, { "name": "provider", - "type": "Literal['fred']", - "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "type": "Literal['federal_reserve', 'fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, e, d, e, r, a, l, _, r, e, s, e, r, v, e.", "default": null, "optional": true } ], + "federal_reserve": [], "fred": [ { - "name": "period", - "type": "Literal['overnight', '30_day', '90_day', '180_day', 'index']", - "description": "Period of SOFR rate.", - "default": "overnight", + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. a = Annual q = Quarterly m = Monthly w = Weekly wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, "optional": true, - "choices": null + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. avg = Average sum = Sum eop = End of Period", + "default": null, + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] } ] }, @@ -31971,6 +33899,275 @@ "type": "List[SOFR]", "description": "Serializable results." }, + { + "name": "provider", + "type": "Optional[Literal['federal_reserve', 'fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "rate", + "type": "float", + "description": "Effective federal funds rate.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "percentile_1", + "type": "float", + "description": "1st percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_25", + "type": "float", + "description": "25th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_75", + "type": "float", + "description": "75th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "percentile_99", + "type": "float", + "description": "99th percentile of the distribution.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "volume", + "type": "float", + "description": "The trading volume.The notional volume of transactions (Billions of $).", + "default": null, + "optional": true, + "choices": null + } + ], + "federal_reserve": [], + "fred": [ + { + "name": "average_30d", + "type": "float", + "description": "30-Day Average SOFR", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "average_90d", + "type": "float", + "description": "90-Day Average SOFR", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "average_180d", + "type": "float", + "description": "180-Day Average SOFR", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "index", + "type": "float", + "description": "SOFR index as 2018-04-02 = 1", + "default": null, + "optional": true, + "choices": null + } + ] + }, + "model": "SOFR" + }, + "/fixedincome/bond_indices": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Bond Indices.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\n# The default state for FRED are series for constructing the US Corporate Bond Yield Curve.\nobb.fixedincome.bond_indices(provider='fred')\n# Multiple indices, from within the same 'category', can be requested.\nobb.fixedincome.bond_indices(category=high_yield, index=us,europe,emerging, index_type='total_return', provider='fred')\n# From FRED, there are three main categories, 'high_yield', 'us', and 'emerging_markets'. Emerging markets is a broad category.\nobb.fixedincome.bond_indices(category=emerging_markets, index=corporate,private_sector,public_sector, provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "index_type", + "type": "Literal['yield', 'yield_to_worst', 'total_return', 'oas']", + "description": "The type of series. OAS is the option-adjusted spread. Default is yield.", + "default": "yield", + "optional": true, + "choices": [ + "yield", + "yield_to_worst", + "total_return", + "oas" + ] + }, + { + "name": "provider", + "type": "Literal['fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "default": null, + "optional": true + } + ], + "fred": [ + { + "name": "category", + "type": "Literal['high_yield', 'us', 'emerging_markets']", + "description": "The type of index category. Used in conjunction with 'index', default is 'us'.", + "default": "us", + "optional": true, + "choices": null + }, + { + "name": "index", + "type": "Union[str, List[str]]", + "description": "The specific index to query. Used in conjunction with 'category' and 'index_type', default is 'yield_curve'. Multiple items allowed for provider(s): fred.", + "default": "yield_curve", + "optional": true, + "choices": [ + "a", + "aa", + "aaa", + "asia", + "b", + "bb", + "bbb", + "ccc", + "corporate", + "crossover", + "emea", + "high_grade", + "high_yield", + "latam", + "liquid_aaa", + "liquid_asia", + "liquid_bbb", + "liquid_corporate", + "liquid_emea", + "liquid_latam", + "non_financial", + "private_sector", + "public_sector", + "seasoned_corporate", + "yield_curve" + ] + }, + { + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. None = No change a = Annual q = Quarterly m = Monthly w = Weekly d = Daily wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "d", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. This parameter has no affect if the frequency parameter is not set, default is 'avg'. avg = Average sum = Sum eop = End of Period", + "default": "avg", + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[BondIndices]", + "description": "Serializable results." + }, { "name": "provider", "type": "Optional[Literal['fred']]", @@ -32003,10 +34200,220 @@ "optional": false, "choices": null }, + { + "name": "symbol", + "type": "str", + "description": "Symbol representing the entity requested in the data.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "value", + "type": "float", + "description": "Index values.", + "default": "", + "optional": false, + "choices": null + } + ], + "fred": [ + { + "name": "maturity", + "type": "str", + "description": "The maturity range of the bond index. Only applicable when 'index' is 'yield_curve'.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "title", + "type": "str", + "description": "The title of the index.", + "default": "", + "optional": false, + "choices": null + } + ] + }, + "model": "BondIndices" + }, + "/fixedincome/mortgage_indices": { + "deprecated": { + "flag": null, + "message": null + }, + "description": "Mortgage Indices.", + "examples": "\nExamples\n--------\n\n```python\nfrom openbb import obb\n# The default state for FRED are the primary mortgage indices from Optimal Blue.\nobb.fixedincome.mortgage_indices(provider='fred')\n# Multiple indices can be requested.\nobb.fixedincome.mortgage_indices(index=jumbo_30y,conforming_30y,conforming_15y, provider='fred')\n```\n\n", + "parameters": { + "standard": [ + { + "name": "start_date", + "type": "Union[date, str]", + "description": "Start date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "end_date", + "type": "Union[date, str]", + "description": "End date of the data, in YYYY-MM-DD format.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "provider", + "type": "Literal['fred']", + "description": "The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: f, r, e, d.", + "default": null, + "optional": true + } + ], + "fred": [ + { + "name": "index", + "type": "Union[Union[Literal['primary', 'ltv_lte_80', 'ltv_gt_80', 'conforming_30y', 'conforming_30y_na', 'jumbo_30y', 'fha_30y', 'va_30y', 'usda_30y', 'conforming_15y', 'ltv_lte80_fico_ge740', 'ltv_lte80_fico_a720b739', 'ltv_lte80_fico_a700b719', 'ltv_lte80_fico_a680b699', 'ltv_lte80_fico_lt680', 'ltv_gt80_fico_ge740', 'ltv_gt80_fico_a720b739', 'ltv_gt80_fico_a700b719', 'ltv_gt80_fico_a680b699', 'ltv_gt80_fico_lt680'], str], List[Union[Literal['primary', 'ltv_lte_80', 'ltv_gt_80', 'conforming_30y', 'conforming_30y_na', 'jumbo_30y', 'fha_30y', 'va_30y', 'usda_30y', 'conforming_15y', 'ltv_lte80_fico_ge740', 'ltv_lte80_fico_a720b739', 'ltv_lte80_fico_a700b719', 'ltv_lte80_fico_a680b699', 'ltv_lte80_fico_lt680', 'ltv_gt80_fico_ge740', 'ltv_gt80_fico_a720b739', 'ltv_gt80_fico_a700b719', 'ltv_gt80_fico_a680b699', 'ltv_gt80_fico_lt680'], str]]]", + "description": "The specific index, or index group, to query. Default is the 'primary' group. Multiple items allowed for provider(s): fred.", + "default": "primary", + "optional": true, + "choices": [ + "primary", + "ltv_lte_80", + "ltv_gt_80", + "conforming_30y", + "conforming_30y_na", + "jumbo_30y", + "fha_30y", + "va_30y", + "usda_30y", + "conforming_15y", + "ltv_lte80_fico_ge740", + "ltv_lte80_fico_a720b739", + "ltv_lte80_fico_a700b719", + "ltv_lte80_fico_a680b699", + "ltv_lte80_fico_lt680", + "ltv_gt80_fico_ge740", + "ltv_gt80_fico_a720b739", + "ltv_gt80_fico_a700b719", + "ltv_gt80_fico_a680b699", + "ltv_gt80_fico_lt680" + ] + }, + { + "name": "frequency", + "type": "Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']", + "description": "Frequency aggregation to convert daily data to lower frequency. None = No change a = Annual q = Quarterly m = Monthly w = Weekly d = Daily wef = Weekly, Ending Friday weth = Weekly, Ending Thursday wew = Weekly, Ending Wednesday wetu = Weekly, Ending Tuesday wem = Weekly, Ending Monday wesu = Weekly, Ending Sunday wesa = Weekly, Ending Saturday bwew = Biweekly, Ending Wednesday bwem = Biweekly, Ending Monday", + "default": null, + "optional": true, + "choices": [ + "a", + "q", + "m", + "w", + "d", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem" + ] + }, + { + "name": "aggregation_method", + "type": "Literal['avg', 'sum', 'eop']", + "description": "A key that indicates the aggregation method used for frequency aggregation. This parameter has no affect if the frequency parameter is not set, default is 'avg'. avg = Average sum = Sum eop = End of Period", + "default": "avg", + "optional": true, + "choices": [ + "avg", + "sum", + "eop" + ] + }, + { + "name": "transform", + "type": "Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']", + "description": "Transformation type None = No transformation chg = Change ch1 = Change from Year Ago pch = Percent Change pc1 = Percent Change from Year Ago pca = Compounded Annual Rate of Change cch = Continuously Compounded Rate of Change cca = Continuously Compounded Annual Rate of Change log = Natural Log", + "default": null, + "optional": true, + "choices": [ + "chg", + "ch1", + "pch", + "pc1", + "pca", + "cch", + "cca", + "log" + ] + } + ] + }, + "returns": { + "OBBject": [ + { + "name": "results", + "type": "List[MortgageIndices]", + "description": "Serializable results." + }, + { + "name": "provider", + "type": "Optional[Literal['fred']]", + "description": "Provider name." + }, + { + "name": "warnings", + "type": "Optional[List[Warning_]]", + "description": "List of warnings." + }, + { + "name": "chart", + "type": "Optional[Chart]", + "description": "Chart object." + }, + { + "name": "extra", + "type": "Dict[str, Any]", + "description": "Extra info." + } + ] + }, + "data": { + "standard": [ + { + "name": "date", + "type": "date", + "description": "The date of the data.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "symbol", + "type": "str", + "description": "Symbol representing the entity requested in the data.", + "default": null, + "optional": true, + "choices": null + }, + { + "name": "name", + "type": "str", + "description": "Name of the index.", + "default": null, + "optional": true, + "choices": null + }, { "name": "rate", "type": "float", - "description": "SOFR rate.", + "description": "Mortgage rate.", "default": "", "optional": false, "choices": null @@ -32014,7 +34421,7 @@ ], "fred": [] }, - "model": "SOFR" + "model": "MortgageIndices" }, "/index/price/historical": { "deprecated": { diff --git a/openbb_platform/openbb/package/__extensions__.py b/openbb_platform/openbb/package/__extensions__.py index 3cace56f03d..c4501dad7db 100644 --- a/openbb_platform/openbb/package/__extensions__.py +++ b/openbb_platform/openbb/package/__extensions__.py @@ -20,30 +20,30 @@ Routers: /regulators Extensions: - - commodity@1.1.2 - - crypto@1.2.2 - - currency@1.2.2 - - derivatives@1.2.2 - - economy@1.2.2 - - equity@1.2.2 - - etf@1.2.2 - - fixedincome@1.2.2 - - index@1.2.2 - - news@1.2.2 - - regulators@1.2.2 + - commodity@1.1.3 + - crypto@1.2.3 + - currency@1.2.3 + - derivatives@1.2.3 + - economy@1.2.3 + - equity@1.2.3 + - etf@1.2.3 + - fixedincome@1.2.3 + - index@1.2.3 + - news@1.2.3 + - regulators@1.2.3 - - benzinga@1.2.2 - - econdb@1.1.2 - - federal_reserve@1.2.2 - - fmp@1.2.2 - - fred@1.2.2 - - intrinio@1.2.2 - - oecd@1.2.2 - - polygon@1.2.2 - - sec@1.2.2 - - tiingo@1.2.2 - - tradingeconomics@1.2.2 - - yfinance@1.2.2 """ + - benzinga@1.2.3 + - econdb@1.1.3 + - federal_reserve@1.2.3 + - fmp@1.2.3 + - fred@1.2.3 + - intrinio@1.2.3 + - oecd@1.2.3 + - polygon@1.2.3 + - sec@1.2.3 + - tiingo@1.2.3 + - tradingeconomics@1.2.3 + - yfinance@1.2.3 """ # fmt: on def __repr__(self) -> str: diff --git a/openbb_platform/openbb/package/derivatives_options.py b/openbb_platform/openbb/package/derivatives_options.py index 01765d5355a..31fac5248b6 100644 --- a/openbb_platform/openbb/package/derivatives_options.py +++ b/openbb_platform/openbb/package/derivatives_options.py @@ -13,6 +13,7 @@ from typing_extensions import Annotated class ROUTER_derivatives_options(Container): """/derivatives/options chains + snapshots unusual """ @@ -42,6 +43,28 @@ class ROUTER_derivatives_options(Container): The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio, yfinance. date : Optional[datetime.date] The end-of-day date for options chains data. (provider: intrinio) + option_type : Literal[None, Union[ForwardRef('call'), ForwardRef('put')]] + The option type, call or put, 'None' is both (default). (provider: intrinio) + moneyness : Literal['otm', 'itm', 'all'] + Return only contracts that are in or out of the money, default is 'all'. Parameter is ignored when a date is supplied. (provider: intrinio) + strike_gt : Optional[int] + Return options with a strike price greater than the given value. Parameter is ignored when a date is supplied. (provider: intrinio) + strike_lt : Optional[int] + Return options with a strike price less than the given value. Parameter is ignored when a date is supplied. (provider: intrinio) + volume_gt : Optional[int] + Return options with a volume greater than the given value. Parameter is ignored when a date is supplied. (provider: intrinio) + volume_lt : Optional[int] + Return options with a volume less than the given value. Parameter is ignored when a date is supplied. (provider: intrinio) + oi_gt : Optional[int] + Return options with an open interest greater than the given value. Parameter is ignored when a date is supplied. (provider: intrinio) + oi_lt : Optional[int] + Return options with an open interest less than the given value. Parameter is ignored when a date is supplied. (provider: intrinio) + model : Literal['black_scholes', 'bjerk'] + The pricing model to use for options chains data, default is 'black_scholes'. Parameter is ignored when a date is supplied. (provider: intrinio) + show_extended_price : bool + Whether to include OHLC type fields, default is True. Parameter is ignored when a date is supplied. (provider: intrinio) + include_related_symbols : bool + Include related symbols that end in a 1 or 2 because of a corporate action, default is False. (provider: intrinio) Returns ------- @@ -59,14 +82,18 @@ class ROUTER_derivatives_options(Container): OptionsChains ------------- - symbol : Optional[str] - Symbol representing the entity requested in the data. Here, it is the underlying symbol for the option. + underlying_symbol : Optional[str] + Underlying symbol for the option. + underlying_price : Optional[float] + Price of the underlying stock. contract_symbol : str Contract symbol for the option. eod_date : Optional[date] Date for which the options chains are returned. expiration : date Expiration date of the contract. + dte : Optional[int] + Days to expiration of the contract. strike : float Strike price of the contract. option_type : str @@ -79,16 +106,28 @@ class ROUTER_derivatives_options(Container): Theoretical value of the option. last_trade_price : Optional[float] Last trade price of the option. + last_trade_size : Optional[int] + Last trade size of the option. + last_trade_time : Optional[datetime] + The timestamp of the last trade. tick : Optional[str] Whether the last tick was up or down in price. bid : Optional[float] Current bid price for the option. bid_size : Optional[int] Bid size for the option. + bid_time : Optional[datetime] + The timestamp of the bid price. + bid_exchange : Optional[str] + The exchange of the bid price. ask : Optional[float] Current ask price for the option. ask_size : Optional[int] Ask size for the option. + ask_time : Optional[datetime] + The timestamp of the ask price. + ask_exchange : Optional[str] + The exchange of the ask price. mark : Optional[float] The mid-price between the latest bid and ask. open : Optional[float] @@ -132,7 +171,7 @@ class ROUTER_derivatives_options(Container): change : Optional[float] The change in the price of the option. change_percent : Optional[float] - Change, in normalizezd percentage points, of the option. + Change, in normalized percentage points, of the option. implied_volatility : Optional[float] Implied volatility of the option. delta : Optional[float] @@ -145,14 +184,10 @@ class ROUTER_derivatives_options(Container): Vega of the option. rho : Optional[float] Rho of the option. - exercise_style : Optional[str] - The exercise style of the option, American or European. (provider: intrinio) - dte : Optional[int] - Days to expiration. (provider: yfinance) in_the_money : Optional[bool] Whether the option is in the money. (provider: yfinance) - last_trade_timestamp : Optional[datetime] - Timestamp for when the option was last traded. (provider: yfinance) + currency : Optional[str] + Currency of the option. (provider: yfinance) Examples -------- @@ -179,6 +214,121 @@ class ROUTER_derivatives_options(Container): ) ) + @exception_handler + @validate + def snapshots( + self, + provider: Annotated[ + Optional[Literal["intrinio"]], + OpenBBField( + description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio." + ), + ] = None, + **kwargs + ) -> OBBject: + """Get a snapshot of the options market universe. + + Parameters + ---------- + provider : Optional[Literal['intrinio']] + The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio. + date : Optional[Union[datetime.date, datetime.datetime, str]] + The date of the data. Can be a datetime or an ISO datetime string. Data appears to go back to around 2022-06-01 Example: '2024-03-08T12:15:00+0400' (provider: intrinio) + only_traded : bool + Only include options that have been traded during the session, default is True. Setting to false will dramatically increase the size of the response - use with caution. (provider: intrinio) + + Returns + ------- + OBBject + results : List[OptionsSnapshots] + Serializable results. + provider : Optional[Literal['intrinio']] + Provider name. + warnings : Optional[List[Warning_]] + List of warnings. + chart : Optional[Chart] + Chart object. + extra : Dict[str, Any] + Extra info. + + OptionsSnapshots + ---------------- + underlying_symbol : str + Ticker symbol of the underlying asset. + contract_symbol : str + Symbol of the options contract. + expiration : date + Expiration date of the options contract. + dte : Optional[int] + Number of days to expiration of the options contract. + strike : float + Strike price of the options contract. + option_type : str + The type of option. + volume : Optional[int] + The trading volume. + open_interest : Optional[int] + Open interest at the time. + last_price : Optional[float] + Last trade price at the time. + last_size : Optional[int] + Lot size of the last trade. + last_timestamp : Optional[datetime] + Timestamp of the last price. + open : Optional[float] + The open price. + high : Optional[float] + The high price. + low : Optional[float] + The low price. + close : Optional[float] + The close price. + bid : Optional[float] + The last bid price at the time. (provider: intrinio) + bid_size : Optional[int] + The size of the last bid price. (provider: intrinio) + bid_timestamp : Optional[datetime] + The timestamp of the last bid price. (provider: intrinio) + ask : Optional[float] + The last ask price at the time. (provider: intrinio) + ask_size : Optional[int] + The size of the last ask price. (provider: intrinio) + ask_timestamp : Optional[datetime] + The timestamp of the last ask price. (provider: intrinio) + total_bid_volume : Optional[int] + Total volume of bids. (provider: intrinio) + bid_high : Optional[float] + The highest bid price. (provider: intrinio) + bid_low : Optional[float] + The lowest bid price. (provider: intrinio) + total_ask_volume : Optional[int] + Total volume of asks. (provider: intrinio) + ask_high : Optional[float] + The highest ask price. (provider: intrinio) + ask_low : Optional[float] + The lowest ask price. (provider: intrinio) + + Examples + -------- + >>> from openbb import obb + >>> obb.derivatives.options.snapshots(provider='intrinio') + """ # noqa: E501 + + return self._run( + "/derivatives/options/snapshots", + **filter_inputs( + provider_choices={ + "provider": self._get_provider( + provider, + "derivatives.options.snapshots", + ("intrinio",), + ) + }, + standard_params={}, + extra_params=kwargs, + ) + ) + @exception_handler @validate def unusual( diff --git a/openbb_platform/openbb/package/economy.py b/openbb_platform/openbb/package/economy.py index 1601627f307..e6719909149 100644 --- a/openbb_platform/openbb/package/economy.py +++ b/openbb_platform/openbb/package/economy.py @@ -33,6 +33,7 @@ class ROUTER_economy(Container): risk_premium share_price_index short_term_interest_rate + /survey unemployment """ @@ -439,9 +440,9 @@ class ROUTER_economy(Container): term : Optional[str] Term of the security. Only returned for Agency securities. (provider: federal_reserve) face_value : Optional[float] - Current face value of the security (Thousands). Current face value of the securities, which is the remaining principal balance of the securities. (provider: federal_reserve) + Current face value of the security (Thousands of $USD). Current face value of the securities, which is the remaining principal balance of the securities. (provider: federal_reserve) par_value : Optional[float] - Par value of the security (Thousands). Changes in par may reflect primary and secondary market transactions and/or custodial account activity. (provider: federal_reserve) + Par value of the security (Thousands of $USD). Changes in par may reflect primary and secondary market transactions and/or custodial account activity. (provider: federal_reserve) coupon : Optional[float] Coupon rate of the security. (provider: federal_reserve) spread : Optional[float] @@ -449,27 +450,27 @@ class ROUTER_economy(Container): percent_outstanding : Optional[float] Total percent of the outstanding CUSIP issuance. (provider: federal_reserve) bills : Optional[float] - Treasury bills amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Treasury bills amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) frn : Optional[float] - Floating rate Treasury notes amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Floating rate Treasury notes amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) notes_and_bonds : Optional[float] - Treasuy Notes and bonds amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Treasuy Notes and bonds amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) tips : Optional[float] - Treasury inflation-protected securities amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Treasury inflation-protected securities amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) mbs : Optional[float] - Mortgage-backed securities amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Mortgage-backed securities amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) cmbs : Optional[float] - Commercial mortgage-backed securities amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Commercial mortgage-backed securities amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) agencies : Optional[float] - Agency securities amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Agency securities amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) total : Optional[float] - Total SOMA holdings amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Total SOMA holdings amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) tips_inflation_compensation : Optional[float] - Treasury inflation-protected securities inflation compensation amount (Thousands). Only returned when 'summary' is True. (provider: federal_reserve) + Treasury inflation-protected securities inflation compensation amount (Thousands of $USD). Only returned when 'summary' is True. (provider: federal_reserve) change_prior_week : Optional[float] - Change in SOMA holdings from the prior week (Thousands). (provider: federal_reserve) + Change in SOMA holdings from the prior week (Thousands of $USD). (provider: federal_reserve) change_prior_year : Optional[float] - Change in SOMA holdings from the prior year (Thousands). (provider: federal_reserve) + Change in SOMA holdings from the prior year (Thousands of $USD). (provider: federal_reserve) Examples -------- @@ -2130,6 +2131,13 @@ class ROUTER_economy(Container): ) ) + @property + def survey(self): + # pylint: disable=import-outside-toplevel + from . import economy_survey + + return economy_survey.ROUTER_economy_survey(command_runner=self._command_runner) + @exception_handler @validate def unemployment( @@ -2213,7 +2221,7 @@ class ROUTER_economy(Container): >>> obb.economy.unemployment(provider='oecd') >>> obb.economy.unemployment(country='all', frequency='quarter', provider='oecd') >>> # Demographics for the statistics are selected with the `age` parameter. - >>> obb.economy.unemployment(country='all', frequency='quarter', age='25-54', provider='oecd') + >>> obb.economy.unemployment(country='all', frequency='quarter', age='total', provider='oecd') """ # noqa: E501 return self._run( diff --git a/openbb_platform/openbb/package/equity_fundamental.py b/openbb_platform/openbb/package/equity_fundamental.py index 4ac6cd64daa..ff337f1c256 100644 --- a/openbb_platform/openbb/package/equity_fundamental.py +++ b/openbb_platform/openbb/package/equity_fundamental.py @@ -3636,9 +3636,17 @@ class ROUTER_equity_fundamental(Container): @validate def transcript( self, - symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")], + symbol: Annotated[ + Union[str, List[str]], + OpenBBField( + description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp." + ), + ], year: Annotated[ - int, OpenBBField(description="Year of the earnings call transcript.") + Union[int, str, List[Union[int, str]]], + OpenBBField( + description="Year of the earnings call transcript. Multiple comma separated items allowed for provider(s): fmp." + ), ], provider: Annotated[ Optional[Literal["fmp"]], @@ -3652,10 +3660,10 @@ class ROUTER_equity_fundamental(Container): Parameters ---------- - symbol : str - Symbol to get data for. - year : int - Year of the earnings call transcript. + symbol : Union[str, List[str]] + Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp. + year : Union[int, str, List[Union[int, str]]] + Year of the earnings call transcript. Multiple comma separated items allowed for provider(s): fmp. provider : Optional[Literal['fmp']] The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp. @@ -3689,7 +3697,7 @@ class ROUTER_equity_fundamental(Container): Examples -------- >>> from openbb import obb - >>> obb.equity.fundamental.transcript(symbol='AAPL', year=2020, provider='fmp') + >>> obb.equity.fundamental.transcript(symbol='AAPL', year='2020', provider='fmp') """ # noqa: E501 return self._run( @@ -3707,5 +3715,9 @@ class ROUTER_equity_fundamental(Container): "year": year, }, extra_params=kwargs, + info={ + "symbol": {"fmp": {"multiple_items_allowed": True}}, + "year": {"fmp": {"multiple_items_allowed": True}}, + }, ) ) diff --git a/openbb_platform/openbb/package/fixedincome.py b/openbb_platform/openbb/package/fixedincome.py index 4f23ed3b986..12365aab9ac 100644 --- a/openbb_platform/openbb/package/fixedincome.py +++ b/openbb_platform/openbb/package/fixedincome.py @@ -2,19 +2,23 @@ import datetime from typing import Literal, Optional, Union +from warnings import simplefilter, warn +from openbb_core.app.deprecation import OpenBBDeprecationWarning from openbb_core.app.model.field import OpenBBField from openbb_core.app.model.obbject import OBBject from openbb_core.app.static.container import Container from openbb_core.app.static.utils.decorators import exception_handler, validate from openbb_core.app.static.utils.filters import filter_inputs -from typing_extensions import Annotated +from typing_extensions import Annotated, deprecated class ROUTER_fixedincome(Container): """/fixedincome + bond_indices /corporate /government + mortgage_indices /rate sofr /spreads @@ -23,6 +27,148 @@ class ROUTER_fixedincome(Container): def __repr__(self) -> str: return self.__doc__ or "" + @exception_handler + @validate + def bond_indices( + self, + start_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="Start date of the data, in YYYY-MM-DD format."), + ] = None, + end_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="End date of the data, in YYYY-MM-DD format."), + ] = None, + index_type: Annotated[ + Literal["yield", "yield_to_worst", "total_return", "oas"], + OpenBBField( + description="The type of series. OAS is the option-adjusted spread. Default is yield.", + choices=["yield", "yield_to_worst", "total_return", "oas"], + ), + ] = "yield", + provider: Annotated[ + Optional[Literal["fred"]], + OpenBBField( + description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred." + ), + ] = None, + **kwargs + ) -> OBBject: + """Bond Indices. + + Parameters + ---------- + start_date : Union[datetime.date, None, str] + Start date of the data, in YYYY-MM-DD format. + end_date : Union[datetime.date, None, str] + End date of the data, in YYYY-MM-DD format. + index_type : Literal['yield', 'yield_to_worst', 'total_return', 'oas'] + The type of series. OAS is the option-adjusted spread. Default is yield. + provider : Optional[Literal['fred']] + The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. + category : Literal['high_yield', 'us', 'emerging_markets'] + The type of index category. Used in conjunction with 'index', default is 'us'. (provider: fred) + index : str + The specific index to query. Used in conjunction with 'category' and 'index_type', default is 'yield_curve'. Multiple comma separated items allowed. (provider: fred) + frequency : Optional[Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + None = No change + a = Annual + q = Quarterly + m = Monthly + w = Weekly + d = Daily + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Literal['avg', 'sum', 'eop'] + + A key that indicates the aggregation method used for frequency aggregation. + This parameter has no affect if the frequency parameter is not set, default is 'avg'. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) + + Returns + ------- + OBBject + results : List[BondIndices] + Serializable results. + provider : Optional[Literal['fred']] + Provider name. + warnings : Optional[List[Warning_]] + List of warnings. + chart : Optional[Chart] + Chart object. + extra : Dict[str, Any] + Extra info. + + BondIndices + ----------- + date : date + The date of the data. + symbol : Optional[str] + Symbol representing the entity requested in the data. + value : float + Index values. + maturity : Optional[str] + The maturity range of the bond index. Only applicable when 'index' is 'yield_curve'. (provider: fred) + title : Optional[str] + The title of the index. (provider: fred) + + Examples + -------- + >>> from openbb import obb + >>> # The default state for FRED are series for constructing the US Corporate Bond Yield Curve. + >>> obb.fixedincome.bond_indices(provider='fred') + >>> # Multiple indices, from within the same 'category', can be requested. + >>> obb.fixedincome.bond_indices(category='high_yield', index='us,europe,emerging', index_type='total_return', provider='fred') + >>> # From FRED, there are three main categories, 'high_yield', 'us', and 'emerging_markets'. Emerging markets is a broad category. + >>> obb.fixedincome.bond_indices(category='emerging_markets', index='corporate,private_sector,public_sector', provider='fred') + """ # noqa: E501 + + return self._run( + "/fixedincome/bond_indices", + **filter_inputs( + provider_choices={ + "provider": self._get_provider( + provider, + "fixedincome.bond_indices", + ("fred",), + ) + }, + standard_params={ + "start_date": start_date, + "end_date": end_date, + "index_type": index_type, + }, + extra_params=kwargs, + info={"index": {"fred": {"multiple_items_allowed": True}}}, + ) + ) + @property def corporate(self): # pylint: disable=import-outside-toplevel @@ -41,18 +187,9 @@ class ROUTER_fixedincome(Container): command_runner=self._command_runner ) - @property - def rate(self): - # pylint: disable=import-outside-toplevel - from . import fixedincome_rate - - return fixedincome_rate.ROUTER_fixedincome_rate( - command_runner=self._command_runner - ) - @exception_handler @validate - def sofr( + def mortgage_indices( self, start_date: Annotated[ Union[datetime.date, None, str], @@ -69,6 +206,145 @@ class ROUTER_fixedincome(Container): ), ] = None, **kwargs + ) -> OBBject: + """Mortgage Indices. + + Parameters + ---------- + start_date : Union[datetime.date, None, str] + Start date of the data, in YYYY-MM-DD format. + end_date : Union[datetime.date, None, str] + End date of the data, in YYYY-MM-DD format. + provider : Optional[Literal['fred']] + The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. + index : Union[Literal['primary', 'ltv_lte_80', 'ltv_gt_80', 'conforming_30y', 'conforming_30y_na', 'jumbo_30y', 'fha_30y', 'va_30y', 'usda_30y', 'conforming_15y', 'ltv_lte80_fico_ge740', 'ltv_lte80_fico_a720b739', 'ltv_lte80_fico_a700b719', 'ltv_lte80_fico_a680b699', 'ltv_lte80_fico_lt680', 'ltv_gt80_fico_ge740', 'ltv_gt80_fico_a720b739', 'ltv_gt80_fico_a700b719', 'ltv_gt80_fico_a680b699', 'ltv_gt80_fico_lt680'], str] + The specific index, or index group, to query. Default is the 'primary' group. Multiple comma separated items allowed. (provider: fred) + frequency : Optional[Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + None = No change + a = Annual + q = Quarterly + m = Monthly + w = Weekly + d = Daily + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Literal['avg', 'sum', 'eop'] + + A key that indicates the aggregation method used for frequency aggregation. + This parameter has no affect if the frequency parameter is not set, default is 'avg'. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) + + Returns + ------- + OBBject + results : List[MortgageIndices] + Serializable results. + provider : Optional[Literal['fred']] + Provider name. + warnings : Optional[List[Warning_]] + List of warnings. + chart : Optional[Chart] + Chart object. + extra : Dict[str, Any] + Extra info. + + MortgageIndices + --------------- + date : date + The date of the data. + symbol : Optional[str] + Symbol representing the entity requested in the data. + name : Optional[str] + Name of the index. + rate : float + Mortgage rate. + + Examples + -------- + >>> from openbb import obb + >>> # The default state for FRED are the primary mortgage indices from Optimal Blue. + >>> obb.fixedincome.mortgage_indices(provider='fred') + >>> # Multiple indices can be requested. + >>> obb.fixedincome.mortgage_indices(index='jumbo_30y,conforming_30y,conforming_15y', provider='fred') + """ # noqa: E501 + + return self._run( + "/fixedincome/mortgage_indices", + **filter_inputs( + provider_choices={ + "provider": self._get_provider( + provider, + "fixedincome.mortgage_indices", + ("fred",), + ) + }, + standard_params={ + "start_date": start_date, + "end_date": end_date, + }, + extra_params=kwargs, + info={"index": {"fred": {"multiple_items_allowed": True}}}, + ) + ) + + @property + def rate(self): + # pylint: disable=import-outside-toplevel + from . import fixedincome_rate + + return fixedincome_rate.ROUTER_fixedincome_rate( + command_runner=self._command_runner + ) + + @exception_handler + @validate + @deprecated( + "This endpoint is deprecated; use `/fixedincome/rate/sofr` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.", + category=OpenBBDeprecationWarning, + ) + def sofr( + self, + start_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="Start date of the data, in YYYY-MM-DD format."), + ] = None, + end_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="End date of the data, in YYYY-MM-DD format."), + ] = None, + provider: Annotated[ + Optional[Literal["federal_reserve", "fred"]], + OpenBBField( + description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred." + ), + ] = None, + **kwargs ) -> OBBject: """Secured Overnight Financing Rate. @@ -82,17 +358,52 @@ class ROUTER_fixedincome(Container): Start date of the data, in YYYY-MM-DD format. end_date : Union[datetime.date, None, str] End date of the data, in YYYY-MM-DD format. - provider : Optional[Literal['fred']] - The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. - period : Literal['overnight', '30_day', '90_day', '180_day', 'index'] - Period of SOFR rate. (provider: fred) + provider : Optional[Literal['federal_reserve', 'fred']] + The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred. + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) Returns ------- OBBject results : List[SOFR] Serializable results. - provider : Optional[Literal['fred']] + provider : Optional[Literal['federal_reserve', 'fred']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -105,16 +416,40 @@ class ROUTER_fixedincome(Container): ---- date : date The date of the data. - rate : Optional[float] - SOFR rate. + rate : float + Effective federal funds rate. + percentile_1 : Optional[float] + 1st percentile of the distribution. + percentile_25 : Optional[float] + 25th percentile of the distribution. + percentile_75 : Optional[float] + 75th percentile of the distribution. + percentile_99 : Optional[float] + 99th percentile of the distribution. + volume : Optional[float] + The trading volume.The notional volume of transactions (Billions of $). + average_30d : Optional[float] + 30-Day Average SOFR (provider: fred) + average_90d : Optional[float] + 90-Day Average SOFR (provider: fred) + average_180d : Optional[float] + 180-Day Average SOFR (provider: fred) + index : Optional[float] + SOFR index as 2018-04-02 = 1 (provider: fred) Examples -------- >>> from openbb import obb >>> obb.fixedincome.sofr(provider='fred') - >>> obb.fixedincome.sofr(period='overnight', provider='fred') """ # noqa: E501 + simplefilter("always", DeprecationWarning) + warn( + "This endpoint is deprecated; use `/fixedincome/rate/sofr` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.", + category=DeprecationWarning, + stacklevel=2, + ) + return self._run( "/fixedincome/sofr", **filter_inputs( @@ -122,7 +457,7 @@ class ROUTER_fixedincome(Container): "provider": self._get_provider( provider, "fixedincome.sofr", - ("fred",), + ("federal_reserve", "fred"), ) }, standard_params={ diff --git a/openbb_platform/openbb/package/fixedincome_corporate.py b/openbb_platform/openbb/package/fixedincome_corporate.py index 9d4d80b6e9c..b003e876887 100644 --- a/openbb_platform/openbb/package/fixedincome_corporate.py +++ b/openbb_platform/openbb/package/fixedincome_corporate.py @@ -2,13 +2,15 @@ import datetime from typing import List, Literal, Optional, Union +from warnings import simplefilter, warn +from openbb_core.app.deprecation import OpenBBDeprecationWarning from openbb_core.app.model.field import OpenBBField from openbb_core.app.model.obbject import OBBject from openbb_core.app.static.container import Container from openbb_core.app.static.utils.decorators import exception_handler, validate from openbb_core.app.static.utils.filters import filter_inputs -from typing_extensions import Annotated +from typing_extensions import Annotated, deprecated class ROUTER_fixedincome_corporate(Container): @@ -35,17 +37,6 @@ class ROUTER_fixedincome_corporate(Container): Union[datetime.date, None, str], OpenBBField(description="End date of the data, in YYYY-MM-DD format."), ] = None, - maturity: Annotated[ - Literal["overnight", "7d", "15d", "30d", "60d", "90d"], - OpenBBField(description="The maturity."), - ] = "30d", - category: Annotated[ - Literal["asset_backed", "financial", "nonfinancial"], - OpenBBField(description="The category."), - ] = "financial", - grade: Annotated[ - Literal["aa", "a2_p2"], OpenBBField(description="The grade.") - ] = "aa", provider: Annotated[ Optional[Literal["fred"]], OpenBBField( @@ -68,14 +59,49 @@ class ROUTER_fixedincome_corporate(Container): Start date of the data, in YYYY-MM-DD format. end_date : Union[datetime.date, None, str] End date of the data, in YYYY-MM-DD format. - maturity : Literal['overnight', '7d', '15d', '30d', '60d', '90d'] - The maturity. - category : Literal['asset_backed', 'financial', 'nonfinancial'] - The category. - grade : Literal['aa', 'a2_p2'] - The grade. provider : Optional[Literal['fred']] The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. + maturity : Union[str, Literal['all', 'overnight', '7d', '15d', '30d', '60d', '90d']] + A target maturity. Multiple comma separated items allowed. (provider: fred) + category : Union[str, Literal['all', 'asset_backed', 'financial', 'nonfinancial', 'a2p2']] + The category of asset. Multiple comma separated items allowed. (provider: fred) + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) Returns ------- @@ -95,14 +121,22 @@ class ROUTER_fixedincome_corporate(Container): --------------- date : date The date of the data. - rate : Optional[float] - Commercial Paper Rate. + symbol : Optional[str] + Symbol representing the entity requested in the data. + maturity : str + Maturity length of the item. + rate : float + Interest rate. + title : Optional[str] + Title of the series. + asset_type : Optional[Literal['asset_backed', 'financial', 'nonfinancial', 'a2p2']] + The category of asset. (provider: fred) Examples -------- >>> from openbb import obb >>> obb.fixedincome.corporate.commercial_paper(provider='fred') - >>> obb.fixedincome.corporate.commercial_paper(maturity='15d', provider='fred') + >>> obb.fixedincome.corporate.commercial_paper(category='all', maturity='15d', provider='fred') """ # noqa: E501 return self._run( @@ -118,11 +152,12 @@ class ROUTER_fixedincome_corporate(Container): standard_params={ "start_date": start_date, "end_date": end_date, - "maturity": maturity, - "category": category, - "grade": grade, }, extra_params=kwargs, + info={ + "maturity": {"fred": {"multiple_items_allowed": True}}, + "category": {"fred": {"multiple_items_allowed": True}}, + }, ) ) @@ -131,12 +166,11 @@ class ROUTER_fixedincome_corporate(Container): def hqm( self, date: Annotated[ - Union[datetime.date, None, str], - OpenBBField(description="A specific date to get data for."), + Union[str, datetime.date, None, List[Union[str, datetime.date, None]]], + OpenBBField( + description="A specific date to get data for. Multiple comma separated items allowed for provider(s): fred." + ), ] = None, - yield_curve: Annotated[ - Literal["spot", "par"], OpenBBField(description="The yield curve type.") - ] = "spot", provider: Annotated[ Optional[Literal["fred"]], OpenBBField( @@ -155,12 +189,12 @@ class ROUTER_fixedincome_corporate(Container): Parameters ---------- - date : Union[datetime.date, None, str] - A specific date to get data for. - yield_curve : Literal['spot', 'par'] - The yield curve type. + date : Union[str, datetime.date, None, List[Union[str, datetime.d... + A specific date to get data for. Multiple comma separated items allowed for provider(s): fred. provider : Optional[Literal['fred']] The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. + yield_curve : Literal['spot', 'par'] + The yield curve type. (provider: fred) Returns ------- @@ -180,14 +214,10 @@ class ROUTER_fixedincome_corporate(Container): ------------------------------ date : date The date of the data. - rate : Optional[float] - HighQualityMarketCorporateBond Rate. + rate : float + Interest rate. maturity : str Maturity. - yield_curve : Literal['spot', 'par'] - The yield curve type. - series_id : Optional[str] - FRED series id. (provider: fred) Examples -------- @@ -208,14 +238,18 @@ class ROUTER_fixedincome_corporate(Container): }, standard_params={ "date": date, - "yield_curve": yield_curve, }, extra_params=kwargs, + info={"date": {"fred": {"multiple_items_allowed": True}}}, ) ) @exception_handler @validate + @deprecated( + "This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.", + category=OpenBBDeprecationWarning, + ) def ice_bofa( self, start_date: Annotated[ @@ -294,6 +328,13 @@ class ROUTER_fixedincome_corporate(Container): >>> obb.fixedincome.corporate.ice_bofa(index_type='yield_to_worst', provider='fred') """ # noqa: E501 + simplefilter("always", DeprecationWarning) + warn( + "This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.", + category=DeprecationWarning, + stacklevel=2, + ) + return self._run( "/fixedincome/corporate/ice_bofa", **filter_inputs( @@ -315,6 +356,10 @@ class ROUTER_fixedincome_corporate(Container): @exception_handler @validate + @deprecated( + "This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Set `category` to `us` and `index` to `seasoned_corporate`. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.", + category=OpenBBDeprecationWarning, + ) def moody( self, start_date: Annotated[ @@ -385,6 +430,13 @@ class ROUTER_fixedincome_corporate(Container): >>> obb.fixedincome.corporate.moody(index_type='baa', provider='fred') """ # noqa: E501 + simplefilter("always", DeprecationWarning) + warn( + "This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Set `category` to `us` and `index` to `seasoned_corporate`. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.", + category=DeprecationWarning, + stacklevel=2, + ) + return self._run( "/fixedincome/corporate/moody", **filter_inputs( diff --git a/openbb_platform/openbb/package/fixedincome_government.py b/openbb_platform/openbb/package/fixedincome_government.py index 533cf2c1ce8..06fac42ce16 100644 --- a/openbb_platform/openbb/package/fixedincome_government.py +++ b/openbb_platform/openbb/package/fixedincome_government.py @@ -242,7 +242,7 @@ class ROUTER_fixedincome_government(Container): The country to get data. New Zealand, Mexico, Singapore, and Thailand have only monthly data. The nearest date to the requested one will be used. (provider: econdb) use_cache : bool If true, cache the request for four hours. (provider: econdb) - yield_curve_type : Literal['nominal', 'real', 'breakeven', 'corporate_spot', 'corporate_par'] + yield_curve_type : Literal['nominal', 'real', 'breakeven', 'treasury_minus_fed_funds', 'corporate_spot', 'corporate_par'] Yield curve type. Nominal and Real Rates are available daily, others are monthly. The closest date to the requested date will be returned. (provider: fred) Returns diff --git a/openbb_platform/openbb/package/fixedincome_rate.py b/openbb_platform/openbb/package/fixedincome_rate.py index 82926b22c96..01b3c318ffc 100644 --- a/openbb_platform/openbb/package/fixedincome_rate.py +++ b/openbb_platform/openbb/package/fixedincome_rate.py @@ -20,6 +20,8 @@ class ROUTER_fixedincome_rate(Container): effr_forecast estr iorb + overnight_bank_funding + sofr sonia """ @@ -46,9 +48,9 @@ class ROUTER_fixedincome_rate(Container): ] = None, **kwargs ) -> OBBject: - """Ameribor. + """AMERIBOR. - Ameribor (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of + AMERIBOR (short for the American interbank offered rate) is a benchmark interest rate that reflects the true cost of short-term interbank borrowing. This rate is based on transactions in overnight unsecured loans conducted on the American Financial Exchange (AFX). @@ -61,13 +63,50 @@ class ROUTER_fixedincome_rate(Container): End date of the data, in YYYY-MM-DD format. provider : Optional[Literal['fred']] The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. - parameter : Literal['overnight', 'term_30', 'term_90', '1_week_term_structure', '1_month_term_structure', '3_month_term_structure', '6_month_term_structure', '1_year_term_structure', '2_year_term_structure', '30_day_ma', '90_day_ma'] - Period of AMERIBOR rate. (provider: fred) + maturity : Union[Literal['all', 'overnight', 'average_30d', 'average_90d', 'term_30d', 'term_90d'], str] + Period of AMERIBOR rate. Multiple comma separated items allowed. (provider: fred) + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) Returns ------- OBBject - results : List[AMERIBOR] + results : List[Ameribor] Serializable results. provider : Optional[Literal['fred']] Provider name. @@ -78,18 +117,25 @@ class ROUTER_fixedincome_rate(Container): extra : Dict[str, Any] Extra info. - AMERIBOR + Ameribor -------- date : date The date of the data. - rate : Optional[float] - AMERIBOR rate. + symbol : Optional[str] + Symbol representing the entity requested in the data. + maturity : str + Maturity length of the item. + rate : float + Interest rate. + title : Optional[str] + Title of the series. Examples -------- >>> from openbb import obb >>> obb.fixedincome.rate.ameribor(provider='fred') - >>> obb.fixedincome.rate.ameribor(parameter='30_day_ma', provider='fred') + >>> # The change from one year ago is applied with the transform parameter. + >>> obb.fixedincome.rate.ameribor(maturity='all', transform='pc1', provider='fred') """ # noqa: E501 return self._run( @@ -107,6 +153,7 @@ class ROUTER_fixedincome_rate(Container): "end_date": end_date, }, extra_params=kwargs, + info={"maturity": {"fred": {"multiple_items_allowed": True}}}, ) ) @@ -310,8 +357,7 @@ class ROUTER_fixedincome_rate(Container): """Fed Funds Rate. Get Effective Federal Funds Rate data. A bank rate is the interest rate a nation's central bank charges to its - domestic banks to borrow money. The rates central banks charge are set to stabilize the economy. In the - United States, the Federal Reserve System's Board of Governors set the bank rate, also known as the discount rate. + domestic banks to borrow money. The rates central banks charge are set to stabilize the economy. Parameters @@ -322,13 +368,50 @@ class ROUTER_fixedincome_rate(Container): End date of the data, in YYYY-MM-DD format. provider : Optional[Literal['federal_reserve', 'fred']] The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred. - parameter : Literal['monthly', 'daily', 'weekly', 'daily_excl_weekend', 'annual', 'biweekly', 'volume'] - Period of FED rate. (provider: fred) + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) + effr_only : bool + Return data without quantiles, target ranges, and volume. (provider: fred) Returns ------- OBBject - results : List[FEDFUNDS] + results : List[FederalFundsRate] Serializable results. provider : Optional[Literal['federal_reserve', 'fred']] Provider name. @@ -339,18 +422,40 @@ class ROUTER_fixedincome_rate(Container): extra : Dict[str, Any] Extra info. - FEDFUNDS - -------- + FederalFundsRate + ---------------- date : date The date of the data. - rate : Optional[float] - FED rate. + rate : float + Effective federal funds rate. + target_range_upper : Optional[float] + Upper bound of the target range. + target_range_lower : Optional[float] + Lower bound of the target range. + percentile_1 : Optional[float] + 1st percentile of the distribution. + percentile_25 : Optional[float] + 25th percentile of the distribution. + percentile_75 : Optional[float] + 75th percentile of the distribution. + percentile_99 : Optional[float] + 99th percentile of the distribution. + volume : Optional[float] + The trading volume.The notional volume of transactions (Billions of $). + intraday_low : Optional[float] + Intraday low. This field is only present for data before 2016. (provider: federal_reserve) + intraday_high : Optional[float] + Intraday high. This field is only present for data before 2016. (provider: federal_reserve) + standard_deviation : Optional[float] + Standard deviation. This field is only present for data before 2016. (provider: federal_reserve) + revision_indicator : Optional[str] + Indicates a revision of the data for that date. (provider: federal_reserve) Examples -------- >>> from openbb import obb >>> obb.fixedincome.rate.effr(provider='fred') - >>> obb.fixedincome.rate.effr(parameter='daily', provider='fred') + >>> obb.fixedincome.rate.effr(effr_only=True, provider='fred') """ # noqa: E501 return self._run( @@ -478,7 +583,7 @@ class ROUTER_fixedincome_rate(Container): The euro short-term rate (€STR) reflects the wholesale euro unsecured overnight borrowing costs of banks located in the euro area. The €STR is published on each TARGET2 business day based on transactions conducted and settled on the previous TARGET2 business day (the reporting date ā€œTā€) with a maturity date of T+1 which are deemed to have been - executed at arm’s length and thus reflect market rates in an unbiased way. + executed at arm's length and thus reflect market rates in an unbiased way. Parameters @@ -489,13 +594,48 @@ class ROUTER_fixedincome_rate(Container): End date of the data, in YYYY-MM-DD format. provider : Optional[Literal['fred']] The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred. - parameter : Literal['volume_weighted_trimmed_mean_rate', 'number_of_transactions', 'number_of_active_banks', 'total_volume', 'share_of_volume_of_the_5_largest_active_banks', 'rate_at_75th_percentile_of_volume', 'rate_at_25th_percentile_of_volume'] - Period of ESTR rate. (provider: fred) + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) Returns ------- OBBject - results : List[ESTR] + results : List[EuroShortTermRate] Serializable results. provider : Optional[Literal['fred']] Provider name. @@ -506,18 +646,30 @@ class ROUTER_fixedincome_rate(Container): extra : Dict[str, Any] Extra info. - ESTR - ---- + EuroShortTermRate + ----------------- date : date The date of the data. - rate : Optional[float] - ESTR rate. + rate : float + Volume-weighted trimmed mean rate. + percentile_25 : Optional[float] + Rate at 25th percentile of volume. + percentile_75 : Optional[float] + Rate at 75th percentile of volume. + volume : Optional[float] + The trading volume. (Millions of €EUR). + transactions : Optional[int] + Number of transactions. + number_of_banks : Optional[int] + Number of active banks. + large_bank_share_of_volume : Optional[float] + The percent of volume attributable to the 5 largest active banks. Examples -------- >>> from openbb import obb >>> obb.fixedincome.rate.estr(provider='fred') - >>> obb.fixedincome.rate.estr(parameter='number_of_active_banks', provider='fred') + >>> obb.fixedincome.rate.estr(transform='ch1', provider='fred') """ # noqa: E501 return self._run( @@ -619,6 +771,271 @@ class ROUTER_fixedincome_rate(Container): ) ) + @exception_handler + @validate + def overnight_bank_funding( + self, + start_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="Start date of the data, in YYYY-MM-DD format."), + ] = None, + end_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="End date of the data, in YYYY-MM-DD format."), + ] = None, + provider: Annotated[ + Optional[Literal["federal_reserve", "fred"]], + OpenBBField( + description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred." + ), + ] = None, + **kwargs + ) -> OBBject: + """Overnight Bank Funding. + + For the United States, the overnight bank funding rate (OBFR) is calculated as a volume-weighted median of + overnight federal funds transactions and Eurodollar transactions reported in the + FR 2420 Report of Selected Money Market Rates. + + + Parameters + ---------- + start_date : Union[datetime.date, None, str] + Start date of the data, in YYYY-MM-DD format. + end_date : Union[datetime.date, None, str] + End date of the data, in YYYY-MM-DD format. + provider : Optional[Literal['federal_reserve', 'fred']] + The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred. + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) + + Returns + ------- + OBBject + results : List[OvernightBankFundingRate] + Serializable results. + provider : Optional[Literal['federal_reserve', 'fred']] + Provider name. + warnings : Optional[List[Warning_]] + List of warnings. + chart : Optional[Chart] + Chart object. + extra : Dict[str, Any] + Extra info. + + OvernightBankFundingRate + ------------------------ + date : date + The date of the data. + rate : float + Overnight Bank Funding Rate. + percentile_1 : Optional[float] + 1st percentile of the distribution. + percentile_25 : Optional[float] + 25th percentile of the distribution. + percentile_75 : Optional[float] + 75th percentile of the distribution. + percentile_99 : Optional[float] + 99th percentile of the distribution. + volume : Optional[float] + The trading volume.The notional volume of transactions (Billions of $). + revision_indicator : Optional[str] + Indicates a revision of the data for that date. (provider: federal_reserve) + + Examples + -------- + >>> from openbb import obb + >>> obb.fixedincome.rate.overnight_bank_funding(provider='fred') + """ # noqa: E501 + + return self._run( + "/fixedincome/rate/overnight_bank_funding", + **filter_inputs( + provider_choices={ + "provider": self._get_provider( + provider, + "fixedincome.rate.overnight_bank_funding", + ("federal_reserve", "fred"), + ) + }, + standard_params={ + "start_date": start_date, + "end_date": end_date, + }, + extra_params=kwargs, + ) + ) + + @exception_handler + @validate + def sofr( + self, + start_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="Start date of the data, in YYYY-MM-DD format."), + ] = None, + end_date: Annotated[ + Union[datetime.date, None, str], + OpenBBField(description="End date of the data, in YYYY-MM-DD format."), + ] = None, + provider: Annotated[ + Optional[Literal["federal_reserve", "fred"]], + OpenBBField( + description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred." + ), + ] = None, + **kwargs + ) -> OBBject: + """Secured Overnight Financing Rate. + + The Secured Overnight Financing Rate (SOFR) is a broad measure of the cost of + borrowing cash overnight collateralizing by Treasury securities. + + + Parameters + ---------- + start_date : Union[datetime.date, None, str] + Start date of the data, in YYYY-MM-DD format. + end_date : Union[datetime.date, None, str] + End date of the data, in YYYY-MM-DD format. + provider : Optional[Literal['federal_reserve', 'fred']] + The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred. + frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']] + + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + (provider: fred) + aggregation_method : Optional[Literal['avg', 'sum', 'eop']] + + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + (provider: fred) + transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']] + + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + (provider: fred) + + Returns + ------- + OBBject + results : List[SOFR] + Serializable results. + provider : Optional[Literal['federal_reserve', 'fred']] + Provider name. + warnings : Optional[List[Warning_]] + List of warnings. + chart : Optional[Chart] + Chart object. + extra : Dict[str, Any] + Extra info. + + SOFR + ---- + date : date + The date of the data. + rate : float + Effective federal funds rate. + percentile_1 : Optional[float] + 1st percentile of the distribution. + percentile_25 : Optional[float] + 25th percentile of the distribution. + percentile_75 : Optional[float] + 75th percentile of the distribution. + percentile_99 : Optional[float] + 99th percentile of the distribution. + volume : Optional[float] + The trading volume.The notional volume of transactions (Billions of $). + average_30d : Optional[float] + 30-Day Average SOFR (provider: fred) + average_90d : Optional[float] + 90-Day Average SOFR (provider: fred) + average_180d : Optional[float] + 180-Day Average SOFR (provider: fred) + index : Optional[float] + SOFR index as 2018-04-02 = 1 (provider: fred) + + Examples + -------- + >>> from openbb import obb + >>> obb.fixedincome.rate.sofr(provider='fred') + """ # noqa: E501 + + return self._run( + "/fixedincome/rate/sofr", + **filter_inputs( + provider_choices={ + "provider": self._get_provider( + provider, + "fixedincome.rate.sofr", + ("federal_reserve", "fred"), + ) + }, + standard_params={ + "start_date": start_date, + "end_date": end_date, + }, + extra_params=kwargs, + ) + ) + @exception_handler @validate def sonia( diff --git a/openbb_platform/poetry.lock b/openbb_platform/poetry.lock index d6c66a32eae..0c844358bcc 100644 --- a/openbb_platform/poetry.lock +++ b/openbb_platform/poetry.lock @@ -591,13 +591,13 @@ wmi = ["wmi (>=1.5.1)"] [[package]] name = "email-validator" -version = "2.1.1" +version = "2.1.2" description = "A robust email address syntax and deliverability validation library." optional = false python-versions = ">=3.8" files = [ - {file = "email_validator-2.1.1-py3-none-any.whl", hash = "sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05"}, - {file = "email_validator-2.1.1.tar.gz", hash = "sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"}, + {file = "email_validator-2.1.2-py3-none-any.whl", hash = "sha256:d89f6324e13b1e39889eab7f9ca2f91dc9aebb6fa50a6d8bd4329ab50f251115"}, + {file = "email_validator-2.1.2.tar.gz", hash = "sha256:14c0f3d343c4beda37400421b39fa411bbe33a75df20825df73ad53e06a9f04c"}, ] [package.dependencies] @@ -687,13 +687,13 @@ standard = ["fastapi", "uvicorn[standard] (>=0.15.0)"] [[package]] name = "fastjsonschema" -version = "2.19.1" +version = "2.20.0" description = "Fastest Python implementation of JSON schema" optional = true python-versions = "*" files = [ - {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"}, - {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"}, + {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, + {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, ] [package.extras] @@ -793,8 +793,6 @@ files = [ {file = "frozendict-2.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d13b4310db337f4d2103867c5a05090b22bc4d50ca842093779ef541ea9c9eea"}, {file = "frozendict-2.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:b3b967d5065872e27b06f785a80c0ed0a45d1f7c9b85223da05358e734d858ca"}, {file = "frozendict-2.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:4ae8d05c8d0b6134bfb6bfb369d5fa0c4df21eabb5ca7f645af95fdc6689678e"}, - {file = "frozendict-2.4.4-py311-none-any.whl", hash = "sha256:705efca8d74d3facbb6ace80ab3afdd28eb8a237bfb4063ed89996b024bc443d"}, - {file = "frozendict-2.4.4-py312-none-any.whl", hash = "sha256:d9647563e76adb05b7cde2172403123380871360a114f546b4ae1704510801e5"}, {file = "frozendict-2.4.4.tar.gz", hash = "sha256:3f7c031b26e4ee6a3f786ceb5e3abf1181c4ade92dce1f847da26ea2c96008c7"}, ] @@ -1334,13 +1332,9 @@ files = [ {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, @@ -1528,13 +1522,13 @@ files = [ [[package]] name = "more-itertools" -version = "10.2.0" +version = "10.3.0" description = "More routines for operating on iterables, beyond itertools" optional = true python-versions = ">=3.8" files = [ - {file = "more-itertools-10.2.0.tar.gz", hash = "sha256:8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1"}, - {file = "more_itertools-10.2.0-py3-none-any.whl", hash = "sha256:686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684"}, + {file = "more-itertools-10.3.0.tar.gz", hash = "sha256:e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463"}, + {file = "more_itertools-10.3.0-py3-none-any.whl", hash = "sha256:ea6a02e24a9161e51faad17a8782b92a0df82c12c1c8886fec7f0c3fa1a1b320"}, ] [[package]] @@ -1738,62 +1732,61 @@ files = [ [[package]] name = "openbb-alpha-vantage" -version = "1.2.2" +version = "1.2.3" description = "Alpha Vantage extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_alpha_vantage-1.2.2-py3-none-any.whl", hash = "sha256:627a16a140b1e40765ee6f53126c8b914e1da0816af48b34efef085d9a97a2ef"}, - {file = "openbb_alpha_vantage-1.2.2.tar.gz", hash = "sha256:09335f08aaee654978fcb03013931034c86427096adf1e4806944c8bad2daebf"}, + {file = "openbb_alpha_vantage-1.2.3-py3-none-any.whl", hash = "sha256:cff7fb65ea17484af05a8b476fda989773cfd110f9cac54b10fe22188f7b19ae"}, + {file = "openbb_alpha_vantage-1.2.3.tar.gz", hash = "sha256:4743563dccac610fed4295e4c9e5cdea7e00ce42ea9bd677c4d57fd74b8b684a"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-benzinga" -version = "1.2.2" +version = "1.2.3" description = "Benzinga extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_benzinga-1.2.2-py3-none-any.whl", hash = "sha256:53340e5039809f9a186c8e85117a1d0f535de3eea4da0a8dab4575e875a27543"}, - {file = "openbb_benzinga-1.2.2.tar.gz", hash = "sha256:8bf23ee045358276c241b22f5bac72a7d396c31a4cfb9764f8e19f6be339d706"}, + {file = "openbb_benzinga-1.2.3-py3-none-any.whl", hash = "sha256:40eaa451f167c9975b20eeb976e75a61ad70e5be8e42737fd81fddcf99855f68"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-biztoc" -version = "1.2.2" +version = "1.2.3" description = "" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_biztoc-1.2.2-py3-none-any.whl", hash = "sha256:a4df098867497bedce5af29aa3f748cddca541fc92520ad5f934e9855d3f11b9"}, - {file = "openbb_biztoc-1.2.2.tar.gz", hash = "sha256:e209d7da70bcb63452c40447ccddfe45d596ea68e8d6f9a94f7386c1237d4108"}, + {file = "openbb_biztoc-1.2.3-py3-none-any.whl", hash = "sha256:cbb5b63e8718699db7f4273f08b38b4d360e19d363e741f57b67ad9b4424ffbb"}, + {file = "openbb_biztoc-1.2.3.tar.gz", hash = "sha256:60a5afc258b8035a1360cef06b5841f03c8a898184e6dadb3f09c3a12f007b22"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" requests-cache = ">=1.1.0,<2.0.0" [[package]] name = "openbb-cboe" -version = "1.2.2" +version = "1.2.3" description = "CBOE extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_cboe-1.2.2-py3-none-any.whl", hash = "sha256:78af7060824c515c48d4838511b19afc5e403af094b2ca09c72d5f9fb01d8347"}, - {file = "openbb_cboe-1.2.2.tar.gz", hash = "sha256:7f6452065457c023923add4b651dab287e5d466c21972c92c114484ff0529f30"}, + {file = "openbb_cboe-1.2.3-py3-none-any.whl", hash = "sha256:a31dbecaa208e1bc7e6dc03f762f7968be5a4f15f1c148542b9f154d3b89338b"}, + {file = "openbb_cboe-1.2.3.tar.gz", hash = "sha256:df0988e338426d579cc241020a95c8acc30c84ab6daff9ee010673dc8676488c"}, ] [package.dependencies] aiohttp-client-cache = ">=0.11.0,<0.12.0" aiosqlite = ">=0.20.0,<0.21.0" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-charting" @@ -1817,27 +1810,27 @@ statsmodels = ">=0.14.0,<0.15.0" [[package]] name = "openbb-commodity" -version = "1.1.2" +version = "1.1.3" description = "Commodity extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_commodity-1.1.2-py3-none-any.whl", hash = "sha256:3e2e7400b96b94246f33982f8509a162e1bdccbfc064ce6be3d81199f0379145"}, - {file = "openbb_commodity-1.1.2.tar.gz", hash = "sha256:463939db6473464b2c2781a5c296aa0d70d1a0efe9138084a332c8ffc3e713c0"}, + {file = "openbb_commodity-1.1.3-py3-none-any.whl", hash = "sha256:87b1a1674df7266fae0e81346f4c060d7093244eb85148cf4c23f1a31a06b556"}, + {file = "openbb_commodity-1.1.3.tar.gz", hash = "sha256:dab37c7e0ed5a75b356fe2610138a961d97050aad68e2eaaeaa7cd4741cd1136"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -1859,366 +1852,365 @@ websockets = ">=12.0,<13.0" [[package]] name = "openbb-crypto" -version = "1.2.2" +version = "1.2.3" description = "Crypto extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_crypto-1.2.2-py3-none-any.whl", hash = "sha256:de639e59ac8c914045d95afc94b17b9847c5fe2181bad1a8c199d15b775f7743"}, - {file = "openbb_crypto-1.2.2.tar.gz", hash = "sha256:17195d4b70beeace2605cd584b1e14a37355be72e846419f527893156e67238a"}, + {file = "openbb_crypto-1.2.3-py3-none-any.whl", hash = "sha256:33873c0a3c23012f3ced0e2ed1c2f7cd3a5097c047bdc84f2e04178c03603a7d"}, + {file = "openbb_crypto-1.2.3.tar.gz", hash = "sha256:23057e716ae6e07d081d2462a64fbcc48be64ba0e40fda531d26954f4033f5d2"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-currency" -version = "1.2.2" +version = "1.2.3" description = "Currency extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_currency-1.2.2-py3-none-any.whl", hash = "sha256:77e8eecee7ed1fe69ee95854f5f625543707c22749cd89f7da78796016c2e45e"}, - {file = "openbb_currency-1.2.2.tar.gz", hash = "sha256:1201fc68147bdf107614ac6bd03094bd546bbf30ec9b98bab32eeff661bc896e"}, + {file = "openbb_currency-1.2.3-py3-none-any.whl", hash = "sha256:6567257a029d9618d19e2f2ea860fbe114a2c5e9e27f908fe1839270a118fbce"}, + {file = "openbb_currency-1.2.3.tar.gz", hash = "sha256:2c103a313bf605a5ac97796f796092e767b3e512b74fe5b257bf56a325d33eef"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-derivatives" -version = "1.2.2" +version = "1.2.3" description = "Derivatives extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_derivatives-1.2.2-py3-none-any.whl", hash = "sha256:3b1a878b6d7577958ae35fa042fd4bc10e600d43bfad3579b16171fc12693d78"}, - {file = "openbb_derivatives-1.2.2.tar.gz", hash = "sha256:d330ca322dd2ac69b166c65974bb9b5e188810047f8949bce83484c231374722"}, + {file = "openbb_derivatives-1.2.3-py3-none-any.whl", hash = "sha256:0b12f7a83a93a15d365f20efb847898bc9de723e1f859fcb679b8f9108a73dde"}, + {file = "openbb_derivatives-1.2.3.tar.gz", hash = "sha256:95d0fb19e9234a1ec10a710c98dabf6b19ad511d89574c0d95c46382f5048ed3"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-ecb" -version = "1.2.2" +version = "1.2.3" description = "ECB extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_ecb-1.2.2-py3-none-any.whl", hash = "sha256:49b86c5166fcd9afbe5dcc5cd66413ce57b3ac0c9fed5fc28ddd56158ec1ad44"}, - {file = "openbb_ecb-1.2.2.tar.gz", hash = "sha256:bc4dd948a1d14265a15885a1b4a7f7addcf93ed366bc545e87476bed46206bd3"}, + {file = "openbb_ecb-1.2.3-py3-none-any.whl", hash = "sha256:76ebeb55666d0533eb848728a95fb3b7f974038b8de66f0462bacbe94f2b007d"}, + {file = "openbb_ecb-1.2.3.tar.gz", hash = "sha256:040c9de2d45e51815239e050d3a10828b192cf6b0f9730772e2306579cc0b71b"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" xmltodict = ">=0.13.0,<0.14.0" [[package]] name = "openbb-econdb" -version = "1.1.2" +version = "1.1.3" description = "EconDB extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_econdb-1.1.2-py3-none-any.whl", hash = "sha256:de9f48c94c03a4a711faa5a9b9f3a9a36e5cf7bc237b66f9f4f628a3d3e83398"}, - {file = "openbb_econdb-1.1.2.tar.gz", hash = "sha256:d4c6d157f2c1a997bc53374c321f1f1bfd26600ad1f2f1be5d0ecb9aaa60fcda"}, + {file = "openbb_econdb-1.1.3-py3-none-any.whl", hash = "sha256:9ac66e5ce1f78d2e1826e2a3b65b14022fcaaa1916938c9571b638b6b572a6df"}, + {file = "openbb_econdb-1.1.3.tar.gz", hash = "sha256:0fbdaebda98f340cc9694f1f9b17c20d5368f170ffc24a5d7bdc6d5ef66a4eef"}, ] [package.dependencies] aiohttp-client-cache = ">=0.11.0,<0.12.0" aiosqlite = ">=0.20.0,<0.21.0" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-econometrics" -version = "1.2.2" +version = "1.2.3" description = "Econometrics Toolkit for OpenBB" optional = true python-versions = "<3.12,>=3.8" files = [ - {file = "openbb_econometrics-1.2.2-py3-none-any.whl", hash = "sha256:503c2e8b70579c9c470fb0b2eff1f76094b4f62e387bdcf6a919c3f68f375bce"}, - {file = "openbb_econometrics-1.2.2.tar.gz", hash = "sha256:67602f74e73d2edbef7ea62578b4338380e5e6996f55309e37b98ac29fbed0ae"}, + {file = "openbb_econometrics-1.2.3-py3-none-any.whl", hash = "sha256:75a929c520e15c1ac72a3d744169c52d3d807d2240e419197c95d6513cbb25b0"}, + {file = "openbb_econometrics-1.2.3.tar.gz", hash = "sha256:2269e7ea662a711c3da1649bd8c749050d0a13404ace66e501e3cff38fd57cd8"}, ] [package.dependencies] arch = ">=5.5.0,<6.0.0" linearmodels = "<=4.25" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" scipy = ">=1.10.1,<2.0.0" statsmodels = ">=0.14.0,<0.15.0" [[package]] name = "openbb-economy" -version = "1.2.2" +version = "1.2.3" description = "Economy extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_economy-1.2.2-py3-none-any.whl", hash = "sha256:419b2a68d3ce9e6770dd06e192cbfd3df45bb0f32c5c27ca6c231f4c06d7dbce"}, - {file = "openbb_economy-1.2.2.tar.gz", hash = "sha256:592e2540da0e2d408baaaee3fd10a31146b3e9ac86fea8db36de5738098c1db8"}, + {file = "openbb_economy-1.2.3-py3-none-any.whl", hash = "sha256:7d81a689c742e83379b7535bf5d34088212c3379fa213f4e9fd8a84258bbf83f"}, + {file = "openbb_economy-1.2.3.tar.gz", hash = "sha256:5231698d0bc8f9b977a3896608673528c0cb0f2d379037c3a68a5875831b44b0"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-equity" -version = "1.2.2" +version = "1.2.3" description = "Equity extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_equity-1.2.2-py3-none-any.whl", hash = "sha256:b58fe19e987cd7c8449dba620319bfeae68924ff6ccb6fe7f53b17da3eabd06c"}, - {file = "openbb_equity-1.2.2.tar.gz", hash = "sha256:a1fb096fd87c303faf7a8914950d5cbbffd885a8af1eb16a72e11ffdfd5c2eaa"}, + {file = "openbb_equity-1.2.3-py3-none-any.whl", hash = "sha256:aa3972df5127bfb9fbf367e04894d075be92810619560d1d6ac0cf7af2282b4e"}, + {file = "openbb_equity-1.2.3.tar.gz", hash = "sha256:4077453eebe799b3e878cff40ad7a853b1bb105f268808c0addab6219529d0a2"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-etf" -version = "1.2.2" +version = "1.2.3" description = "ETF extension for OpenBB" optional = false python-versions = "<3.12,>=3.8" files = [ - {file = "openbb_etf-1.2.2-py3-none-any.whl", hash = "sha256:99cec9b7409199eac6f46604b67ee5caa24fc0157bf229f02a0644b8a13e7539"}, - {file = "openbb_etf-1.2.2.tar.gz", hash = "sha256:4808baa41a9574cfc851d779a0fd55b4ea3c4f75d9dcd1a89897bb45065f2ad2"}, + {file = "openbb_etf-1.2.3-py3-none-any.whl", hash = "sha256:ac6b3b47173413d0928516714bfa84917dd16b1c7eebcf2aa30d09a7f5da5052"}, + {file = "openbb_etf-1.2.3.tar.gz", hash = "sha256:7f0c14ad53328c164e8aaa6a8c231811413365317f29495695a72b52cdc44958"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-federal-reserve" -version = "1.2.2" +version = "1.2.3" description = "US Federal Reserve Data Extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_federal_reserve-1.2.2-py3-none-any.whl", hash = "sha256:cc2b2cf8576ce1546f83f62f6dd708627c589de3e7c4c7233363311ebf14ebb2"}, - {file = "openbb_federal_reserve-1.2.2.tar.gz", hash = "sha256:5b2755c53e2c69271aa32749baad9ced24e18a8139dd88578c8e743ecacaf4de"}, + {file = "openbb_federal_reserve-1.2.3-py3-none-any.whl", hash = "sha256:97ba0fc6d6312a752d70d6afab7d3d08144913ebdc352209e92f1389edfa89b9"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-finra" -version = "1.2.2" +version = "1.2.3" description = "FINRA extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_finra-1.2.2-py3-none-any.whl", hash = "sha256:8fcf7eaef46e397fc8b5ed264b8b1f3dd2f1490e8cc778897deaf7daafdc939f"}, - {file = "openbb_finra-1.2.2.tar.gz", hash = "sha256:06baf0475dc9fd3252396fcc387acc6326a4d1bc62dee5e600fab9e9577e8243"}, + {file = "openbb_finra-1.2.3-py3-none-any.whl", hash = "sha256:2ba01795c6f9ca7a8289699e11978106efc4a3cef74225937e0b99975d7e3943"}, + {file = "openbb_finra-1.2.3.tar.gz", hash = "sha256:a0b02587768c2554684d0d9077b8c5af4815d404dc9c306a20a895bdba8ca3f4"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-finviz" -version = "1.1.2" +version = "1.1.3" description = "Finviz extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_finviz-1.1.2-py3-none-any.whl", hash = "sha256:d63606dba3f5f8e13f40ca3766fcfdf25209187aae0333b0b4a4176376d9c8bb"}, - {file = "openbb_finviz-1.1.2.tar.gz", hash = "sha256:191bd5896119bdd18d923eeffb582caf72e9eb62c9cb056bf8baf389503831fe"}, + {file = "openbb_finviz-1.1.3-py3-none-any.whl", hash = "sha256:32be7fce1999bc7032a812a6551ab65285bbab081895f9a4899751237f3c5c4f"}, + {file = "openbb_finviz-1.1.3.tar.gz", hash = "sha256:4b5f2e38c0ea4b2d7958a54cbf4cdcc5b8d22f90e5729fc7c186df74e2e620a2"}, ] [package.dependencies] finvizfinance = "0.14.7" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-fixedincome" -version = "1.2.2" +version = "1.2.3" description = "Fixed income extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_fixedincome-1.2.2-py3-none-any.whl", hash = "sha256:5bc445867ae446789383b6ff6508f5af6b8bd8e5f99d44e90383053e82a9e1d5"}, - {file = "openbb_fixedincome-1.2.2.tar.gz", hash = "sha256:0fad57cd4ab6a6cbd2d997b27a1c4c1283c90813b9667a133eaf1df1e608a2ba"}, + {file = "openbb_fixedincome-1.2.3-py3-none-any.whl", hash = "sha256:28fddf1e38a42f1eb139f7aa9641541a2115a4f3e42487a171ff85ea52e112fc"}, + {file = "openbb_fixedincome-1.2.3.tar.gz", hash = "sha256:121742c8c6a258364932331cb815aaa38f697b27bbbb6387ff922a8a21facb31"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-fmp" -version = "1.2.2" +version = "1.2.3" description = "FMP extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_fmp-1.2.2-py3-none-any.whl", hash = "sha256:9c30ee2b01a8e60fc6d581f8cdd4a4f28617b86633e9fa1b9cc62e152606ab7d"}, - {file = "openbb_fmp-1.2.2.tar.gz", hash = "sha256:72156b83829612dca2345790552ca169062faf7a392d49e054c0e37e9b77a071"}, + {file = "openbb_fmp-1.2.3-py3-none-any.whl", hash = "sha256:645210f47e1de2d20ee65b73ad835c93226c8c1d378e630fa2109e31bea0545f"}, + {file = "openbb_fmp-1.2.3.tar.gz", hash = "sha256:56d13b1c89b80f691a74deafd964144b539ab6a0d150707d45cfa42324f97e96"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-fred" -version = "1.2.2" +version = "1.2.3" description = "FRED extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_fred-1.2.2-py3-none-any.whl", hash = "sha256:230555bdb0c3e73a3a2f79903699c20ab55bebd1b7da321a07f0b22b48950f04"}, - {file = "openbb_fred-1.2.2.tar.gz", hash = "sha256:64757a448ea6bf8d13233d9c54369b1736a493ac8d668b105b913cde31c9b8e0"}, + {file = "openbb_fred-1.2.3-py3-none-any.whl", hash = "sha256:cf50a34d0a8ed6d51f799cca324f66aa6917de66685c2b91d76f41c5acf6d12b"}, + {file = "openbb_fred-1.2.3.tar.gz", hash = "sha256:d9aeb401342913c3fbec63f97c4a0297c700f381ce0c489fa5818597e8b50296"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-government-us" -version = "1.2.2" +version = "1.2.3" description = "US Government Data Extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_government_us-1.2.2-py3-none-any.whl", hash = "sha256:90aa532e04aef4d03329ed32d785078535e3368084d04a7942371f8925a47311"}, - {file = "openbb_government_us-1.2.2.tar.gz", hash = "sha256:c99a88da79a82cd2ea36dfb13ad4ff5dd68f5ef0a4190c1b852b6afb910f3c78"}, + {file = "openbb_government_us-1.2.3-py3-none-any.whl", hash = "sha256:6c9dfb333323cbf44f034906332139bd3d7ab1ab2c32a3ec62b7489d41b984aa"}, + {file = "openbb_government_us-1.2.3.tar.gz", hash = "sha256:705a24af596911636ec957222e3a3757071ee5ae53d98375434f153bdb0d2627"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" random-user-agent = ">=1.0.1,<2.0.0" [[package]] name = "openbb-index" -version = "1.2.2" +version = "1.2.3" description = "Index extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_index-1.2.2-py3-none-any.whl", hash = "sha256:d7eef9b6c3f48a0a7c62f5df188cdeaf6b2c39a3627e138ecd91c16d971f3491"}, - {file = "openbb_index-1.2.2.tar.gz", hash = "sha256:047f3695e202eda4fbbf2b44dc9882053e1335f2e7fa7a7d76fa5f062c0a0132"}, + {file = "openbb_index-1.2.3-py3-none-any.whl", hash = "sha256:1c113f29c7fbb4bd04ffd7a1f012e0de9c446207eb16729b3da27be60d8fe3e2"}, + {file = "openbb_index-1.2.3.tar.gz", hash = "sha256:f9605c20b8c6be7377486f35d72dc5cd22039778cf1fcb16ec7cf42837a004b9"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-intrinio" -version = "1.2.2" +version = "1.2.3" description = "Intrinio extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_intrinio-1.2.2-py3-none-any.whl", hash = "sha256:663b813a46597bbd0cfa511cab8561af48f5597cf368b08749cf07b11e3b6661"}, - {file = "openbb_intrinio-1.2.2.tar.gz", hash = "sha256:655485bcf5c3861e4c33acaf755afc2ed0c954e89d85294469a1db0a8fd2f541"}, + {file = "openbb_intrinio-1.2.3-py3-none-any.whl", hash = "sha256:320ffa4fa7b8406b3d919a6b50aa7a7205aaca918b9475199177cf42d2237d60"}, + {file = "openbb_intrinio-1.2.3.tar.gz", hash = "sha256:955d0842ceb6adc3748d94a556ff0a651358d61080a32aab59d4e6ddbf1030c8"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" requests-cache = ">=1.1.0,<2.0.0" [[package]] name = "openbb-nasdaq" -version = "1.2.2" +version = "1.2.3" description = "Nasdaq extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_nasdaq-1.2.2-py3-none-any.whl", hash = "sha256:6e67909347e68b18f1aa5e93f96d60a89ec8c3c113efc8a9c2a3baf410f0b755"}, - {file = "openbb_nasdaq-1.2.2.tar.gz", hash = "sha256:628809e64e298a900c92250bc66b8ccd1989989cc340cb223a21af2b65e7d78b"}, + {file = "openbb_nasdaq-1.2.3-py3-none-any.whl", hash = "sha256:efe5cff21106bea6fcf3866963d3b61769760ce472f969ea04516cc95c4b00ef"}, + {file = "openbb_nasdaq-1.2.3.tar.gz", hash = "sha256:3490dfe52b7e7f03da5ce08f101b85d9926f50db013341a5c7abb5c33379bf51"}, ] [package.dependencies] nasdaq-data-link = ">=1.0.4,<2.0.0" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" random-user-agent = ">=1.0.1,<2.0.0" [[package]] name = "openbb-news" -version = "1.2.2" +version = "1.2.3" description = "News extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_news-1.2.2-py3-none-any.whl", hash = "sha256:7a638bfa5c178544a68390d814215d956bd66579513105f835b35bf8f4463514"}, - {file = "openbb_news-1.2.2.tar.gz", hash = "sha256:f974c3447f44d00852c5a277ea3aac8bca0f47dcf8a0b8d0a513b3c71b5084c0"}, + {file = "openbb_news-1.2.3-py3-none-any.whl", hash = "sha256:f40e5b3d91bc78c5f3aca913ba3689f161eaabf44b6c9889b26cc648efb18d64"}, + {file = "openbb_news-1.2.3.tar.gz", hash = "sha256:ad1bce992244f2a2948b89d2a1b5d0c9b0a90c4b7961b2ad2740b09d35b6cb64"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-oecd" -version = "1.2.2" +version = "1.2.3" description = "OECD extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_oecd-1.2.2-py3-none-any.whl", hash = "sha256:83f243ef62742f23562bd3a151a344cf445f249f4efea40ed247f533457f9c55"}, - {file = "openbb_oecd-1.2.2.tar.gz", hash = "sha256:af0ae403ffc726219bb1a1b8149b1496c2c162e035a6f7aca7eb0b4b11a6278d"}, + {file = "openbb_oecd-1.2.3-py3-none-any.whl", hash = "sha256:fdaacec528e5ff4f6ef8962e7232133a03151eccbaca598eb4530d5a1dcf87c0"}, + {file = "openbb_oecd-1.2.3.tar.gz", hash = "sha256:37f1c9afba623f187cdc8777204738bfe91968940dfa3ab3183d686bbbba78a5"}, ] [package.dependencies] defusedxml = ">=0.8.0rc2,<0.9.0" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" urllib3 = ">1.26.16" [[package]] name = "openbb-polygon" -version = "1.2.2" +version = "1.2.3" description = "Polygon extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_polygon-1.2.2-py3-none-any.whl", hash = "sha256:94dd92e170df6173daadd9121837b1dad81b31c83b3018832366c274fcb2b6c7"}, - {file = "openbb_polygon-1.2.2.tar.gz", hash = "sha256:c8c873b6c6ed4477db98ba4cde968cabe8c054ec4aa19ffd309015bdcb185332"}, + {file = "openbb_polygon-1.2.3-py3-none-any.whl", hash = "sha256:767b274445121e21fe85fa6ce553880fcd9883e801451bd8c9e5114e849092c6"}, + {file = "openbb_polygon-1.2.3.tar.gz", hash = "sha256:23081491021fd0e724690ee95f4757d374be6c6178932e7785c8bcaa8ec143f7"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-quantitative" -version = "1.2.2" +version = "1.2.3" description = "Quantitative Analysis extension for OpenBB" optional = true python-versions = "<3.12,>=3.8" files = [ - {file = "openbb_quantitative-1.2.2-py3-none-any.whl", hash = "sha256:44e275b2fe42ada47c37e7d38a7cb58ce2b7e97cd870426a783af23cfae016ef"}, - {file = "openbb_quantitative-1.2.2.tar.gz", hash = "sha256:24d9f8a6aa2944cbf992d1a280665ca060fe81a99854957ab411183cd238a983"}, + {file = "openbb_quantitative-1.2.3-py3-none-any.whl", hash = "sha256:dbecfec6a65a03bd9ceebba8ba58bdad1fa3bfc2fdd3d0bcc7dabb25215b4bfc"}, + {file = "openbb_quantitative-1.2.3.tar.gz", hash = "sha256:109e846183dcd5a903fda520283b9a6ee588360265296525b43ecfb3b61976de"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" pandas-ta = ">=0.3.14b,<0.4.0" scipy = ">=1.10.1,<2.0.0" statsmodels = ">=0.14.0,<0.15.0" [[package]] name = "openbb-regulators" -version = "1.2.2" +version = "1.2.3" description = "Markets and Agency Regulators extension for OpenBB" optional = false python-versions = "<3.12,>=3.8" files = [ - {file = "openbb_regulators-1.2.2-py3-none-any.whl", hash = "sha256:d93659429b63a335bbded8001bb98b99ec74eb797a240027a993d20c75aefcf6"}, - {file = "openbb_regulators-1.2.2.tar.gz", hash = "sha256:cc575426259dfb2e9ea25294f55a50fdd6af67f9c2b00c044070a8ef2191677b"}, + {file = "openbb_regulators-1.2.3-py3-none-any.whl", hash = "sha256:b050141ed7505074c3c4bda3648fb7b37ea388de658091133d8c6fbcab8b6e6f"}, + {file = "openbb_regulators-1.2.3.tar.gz", hash = "sha256:8749b4d60f4b4fa61a1d819fee0ba5c32ad38b16d8d454be2a79d56c7e050a6e"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-sec" -version = "1.2.2" +version = "1.2.3" description = "SEC extension for OpenBB" optional = false python-versions = "<3.12,>=3.8" files = [ - {file = "openbb_sec-1.2.2-py3-none-any.whl", hash = "sha256:62a57a05c7071655f8919f80afd17068f15f06ccc0038fb3863c499352b6d6a8"}, - {file = "openbb_sec-1.2.2.tar.gz", hash = "sha256:4a10d31210255ef6234a05ca7b577a09723b3bd4d47b3352efdf9caa7b922f96"}, + {file = "openbb_sec-1.2.3-py3-none-any.whl", hash = "sha256:998dbcaf3cd4c2ccfeaba31b980f77685c884e3c21b406162c6b24160c09433f"}, + {file = "openbb_sec-1.2.3.tar.gz", hash = "sha256:f6077a996cd2d5e8c30a1bd2b1ff82446a019084fc8307046277f775f2fe1aea"}, ] [package.dependencies] @@ -2226,51 +2218,51 @@ aiohttp-client-cache = ">=0.11.0,<0.12.0" aiosqlite = ">=0.20.0,<0.21.0" bs4 = ">=0.0.2,<0.0.3" lxml = ">=5.2.1,<6.0.0" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" xmltodict = ">=0.13.0,<0.14.0" [[package]] name = "openbb-seeking-alpha" -version = "1.2.2" +version = "1.2.3" description = "Seeking Alpha extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_seeking_alpha-1.2.2-py3-none-any.whl", hash = "sha256:732f59c43bc86052f9c9ce221b0fec30675b38477f3f8d4046ff5aa9d5407c60"}, - {file = "openbb_seeking_alpha-1.2.2.tar.gz", hash = "sha256:6248763b3bdd4574a081ab323eb2ae8b8d8dd72fe9d445a53cc58e1165e5128b"}, + {file = "openbb_seeking_alpha-1.2.3-py3-none-any.whl", hash = "sha256:bee30beebeaefdd380816afb28e12161eca8abc329c92f42df7d19ae66aee305"}, + {file = "openbb_seeking_alpha-1.2.3.tar.gz", hash = "sha256:aa17a51330e4623e284e76a60210790399999ee66fd475b2aff2f70b3d6f9599"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-stockgrid" -version = "1.2.2" +version = "1.2.3" description = "stockgrid extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_stockgrid-1.2.2-py3-none-any.whl", hash = "sha256:a97ea791dbd2e236bc7d5bdb808da2967b165b7062f12bba40e813b578f51599"}, - {file = "openbb_stockgrid-1.2.2.tar.gz", hash = "sha256:553c0170883c9d9f7dc24b5a6e3173815659f29862118953a6126ee0d01710aa"}, + {file = "openbb_stockgrid-1.2.3-py3-none-any.whl", hash = "sha256:573727df2f4c8c55add459304614fdc05d4d6a829ee3920399a62a51721bda68"}, + {file = "openbb_stockgrid-1.2.3.tar.gz", hash = "sha256:3547e6b13f9bc124ee95f4611ba31f3d843053f288c7a25d41987c1e6abcffd3"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" pytest-freezegun = ">=0.4.2,<0.5.0" [[package]] name = "openbb-technical" -version = "1.2.2" +version = "1.2.3" description = "Technical Analysis extension for OpenBB" optional = true python-versions = "<3.12,>=3.8" files = [ - {file = "openbb_technical-1.2.2-py3-none-any.whl", hash = "sha256:1960f21e399d151f4a1a6a0eb31e105d31bb3b3292561f145c5afe1fa622ff84"}, - {file = "openbb_technical-1.2.2.tar.gz", hash = "sha256:e5eda47f884cedfb3037d7053c6b3dc8da4eb46a22e2681f3852563e90870ca0"}, + {file = "openbb_technical-1.2.3-py3-none-any.whl", hash = "sha256:88b95a92a8d63b2780d49a6e95ee36b861f58809e3c78f7b3b0fe5e5da43e992"}, + {file = "openbb_technical-1.2.3.tar.gz", hash = "sha256:34055a43db4033e8717c72b8cf7cd87c8b398cc1de17de88573eaf7ce4c56211"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" pandas-ta = ">=0.3.14b,<0.4.0" scikit-learn = ">=1.3.1,<2.0.0" scipy = ">=1.10.1,<2.0.0" @@ -2278,157 +2270,157 @@ statsmodels = ">=0.14.0,<0.15.0" [[package]] name = "openbb-tiingo" -version = "1.2.2" +version = "1.2.3" description = "Tiingo extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_tiingo-1.2.2-py3-none-any.whl", hash = "sha256:ee257d0e4bf94fdf00d1eb558b0c5e1d60a81afe0e78743bd3a462375b8d5e01"}, - {file = "openbb_tiingo-1.2.2.tar.gz", hash = "sha256:beed7ebb823f49f8dc15c2949d21388893b3988170948b86fc79993df8d85f08"}, + {file = "openbb_tiingo-1.2.3-py3-none-any.whl", hash = "sha256:0be0399f950d88fe31596c9e51b7b0b371acd0c94d9e8432416c13a3ff1802cc"}, + {file = "openbb_tiingo-1.2.3.tar.gz", hash = "sha256:4387e7fab87f71e42c82157606ee482468f2c0be2f5775d03145a24baa5bfbe1"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-tmx" -version = "1.1.2" +version = "1.1.3" description = "Unofficial TMX data provider extension for the OpenBB Platform - Public Canadian markets data for Python and Fast API." optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_tmx-1.1.2-py3-none-any.whl", hash = "sha256:6b7ec427f37e8f7adf23e8d7cd396f0f1a8a59475e40ea4e17e31643a472ddbb"}, - {file = "openbb_tmx-1.1.2.tar.gz", hash = "sha256:52821fe9570c2dd6f0a2f3f2e857335c2db4d354c9820ca30885972929bca07e"}, + {file = "openbb_tmx-1.1.3-py3-none-any.whl", hash = "sha256:0fb42891348af0675dab61db9f80a560f0249b4c46b3e6486807681373bd11c2"}, + {file = "openbb_tmx-1.1.3.tar.gz", hash = "sha256:5a66530ff0ed7839736b09f2c64d6dd790316dc5c50daadb3409490c45c72aef"}, ] [package.dependencies] aiohttp-client-cache = ">=0.11.0,<0.12.0" aiosqlite = ">=0.20.0,<0.21.0" exchange-calendars = ">=4.2.8,<5.0.0" -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" random-user-agent = ">=1.0.1,<2.0.0" [[package]] name = "openbb-tradier" -version = "1.1.2" +version = "1.1.3" description = "Tradier Provider Extension for the OpenBB Platform" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_tradier-1.1.2-py3-none-any.whl", hash = "sha256:d599eb51dd15653b428832fe57a7b1a885f0031a4eb18a4d4fcc3e79202a24bc"}, - {file = "openbb_tradier-1.1.2.tar.gz", hash = "sha256:b619b711ec1fd31d0c404e41e1342a87255135265a5394e72274aa0ec2e6b945"}, + {file = "openbb_tradier-1.1.3-py3-none-any.whl", hash = "sha256:d4416275f4225bfadb71505d09dc2c52c3c148551ef48e82a87d19bbdc980bc4"}, + {file = "openbb_tradier-1.1.3.tar.gz", hash = "sha256:36944147fa7839ae1b2e4e811ff1b9e6ba1144b8abdec9772ba5f38681a471f9"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-tradingeconomics" -version = "1.2.2" +version = "1.2.3" description = "Trading Economics extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_tradingeconomics-1.2.2-py3-none-any.whl", hash = "sha256:931baeac5f10b5e0fd2ee4f402ad4d67680e27a6bde66540db3016da039a2f06"}, - {file = "openbb_tradingeconomics-1.2.2.tar.gz", hash = "sha256:9d3db4250c4a3b5e4536d48e93fa01a8ee0802dad74f7360953f1e113366312d"}, + {file = "openbb_tradingeconomics-1.2.3-py3-none-any.whl", hash = "sha256:8cafdd9ba614a31b950aa1834277ea5034f0a6d28cc0b5c54033fb8ead5a789d"}, + {file = "openbb_tradingeconomics-1.2.3.tar.gz", hash = "sha256:eac0ca7ab068b8b2c9b46da2452c9a504bc4d89db60300ce96223e1c0ec6a594"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-wsj" -version = "1.2.2" +version = "1.2.3" description = "wsj extension for OpenBB" optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_wsj-1.2.2-py3-none-any.whl", hash = "sha256:3c4dd75469c9ce0ffc36921efa2318c6008ff83984785627a761ea80e23cb490"}, - {file = "openbb_wsj-1.2.2.tar.gz", hash = "sha256:f64c2a4defc793d5dcad2be79aed851475f3b7113f01b4cce4e86869170b1b69"}, + {file = "openbb_wsj-1.2.3-py3-none-any.whl", hash = "sha256:e63e5ef8b266c78a76a3c71b47b19d08c32096d642d2af20bd21b5d0527b6f87"}, + {file = "openbb_wsj-1.2.3.tar.gz", hash = "sha256:1ee6f7a24131eabdede199e2cb76f7c45fc2d0bc2b8ed05e275a76d9c177b234"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" [[package]] name = "openbb-yfinance" -version = "1.2.2" +version = "1.2.3" description = "yfinance extension for OpenBB" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_yfinance-1.2.2-py3-none-any.whl", hash = "sha256:fdb1f8fb7126298522c215059d3d2b6f12bbda2336c7a1df0b7f7278b8a57b5c"}, - {file = "openbb_yfinance-1.2.2.tar.gz", hash = "sha256:b861d7463469ceca92fd676fb8458ad2ef65115971e891e58fa6d927637dbb39"}, + {file = "openbb_yfinance-1.2.3-py3-none-any.whl", hash = "sha256:683dd11ee9fde76312676c856ba8978e12794e528c64989711a6e276d8671c0f"}, + {file = "openbb_yfinance-1.2.3.tar.gz", hash = "sha256:08716771d74f36d358c6adafc7de9c7f1cd643369e461d21caf2025e728d89a2"}, ] [package.dependencies] -openbb-core = ">=1.2.4,<2.0.0" +openbb-core = ">=1.2.5,<2.0.0" yfinance = ">=0.2.27,<0.3.0" [[package]] name = "orjson" -version = "3.10.3" +version = "3.10.5" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false python-versions = ">=3.8" files = [ - {file = "orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7"}, - {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d"}, - {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7"}, - {file = "orjson-3.10.3-cp310-none-win32.whl", hash = "sha256:be2aab54313752c04f2cbaab4515291ef5af8c2256ce22abc007f89f42f49109"}, - {file = "orjson-3.10.3-cp310-none-win_amd64.whl", hash = "sha256:416b195f78ae461601893f482287cee1e3059ec49b4f99479aedf22a20b1098b"}, - {file = "orjson-3.10.3-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:73100d9abbbe730331f2242c1fc0bcb46a3ea3b4ae3348847e5a141265479700"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a12eee96e3ab828dbfcb4d5a0023aa971b27143a1d35dc214c176fdfb29b3"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520de5e2ef0b4ae546bea25129d6c7c74edb43fc6cf5213f511a927f2b28148b"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccaa0a401fc02e8828a5bedfd80f8cd389d24f65e5ca3954d72c6582495b4bcf"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7bc9e8bc11bac40f905640acd41cbeaa87209e7e1f57ade386da658092dc16"}, - {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3582b34b70543a1ed6944aca75e219e1192661a63da4d039d088a09c67543b08"}, - {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c23dfa91481de880890d17aa7b91d586a4746a4c2aa9a145bebdbaf233768d5"}, - {file = "orjson-3.10.3-cp311-none-win32.whl", hash = "sha256:1770e2a0eae728b050705206d84eda8b074b65ee835e7f85c919f5705b006c9b"}, - {file = "orjson-3.10.3-cp311-none-win_amd64.whl", hash = "sha256:93433b3c1f852660eb5abdc1f4dd0ced2be031ba30900433223b28ee0140cde5"}, - {file = "orjson-3.10.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a39aa73e53bec8d410875683bfa3a8edf61e5a1c7bb4014f65f81d36467ea098"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0943a96b3fa09bee1afdfccc2cb236c9c64715afa375b2af296c73d91c23eab2"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e852baafceff8da3c9defae29414cc8513a1586ad93e45f27b89a639c68e8176"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18566beb5acd76f3769c1d1a7ec06cdb81edc4d55d2765fb677e3eaa10fa99e0"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd2218d5a3aa43060efe649ec564ebedec8ce6ae0a43654b81376216d5ebd42"}, - {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cf20465e74c6e17a104ecf01bf8cd3b7b252565b4ccee4548f18b012ff2f8069"}, - {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba7f67aa7f983c4345eeda16054a4677289011a478ca947cd69c0a86ea45e534"}, - {file = "orjson-3.10.3-cp312-none-win32.whl", hash = "sha256:17e0713fc159abc261eea0f4feda611d32eabc35708b74bef6ad44f6c78d5ea0"}, - {file = "orjson-3.10.3-cp312-none-win_amd64.whl", hash = "sha256:4c895383b1ec42b017dd2c75ae8a5b862fc489006afde06f14afbdd0309b2af0"}, - {file = "orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754"}, - {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195"}, - {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b"}, - {file = "orjson-3.10.3-cp38-none-win32.whl", hash = "sha256:8d0b84403d287d4bfa9bf7d1dc298d5c1c5d9f444f3737929a66f2fe4fb8f134"}, - {file = "orjson-3.10.3-cp38-none-win_amd64.whl", hash = "sha256:8bc7a4df90da5d535e18157220d7915780d07198b54f4de0110eca6b6c11e290"}, - {file = "orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d"}, - {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25"}, - {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8"}, - {file = "orjson-3.10.3-cp39-none-win32.whl", hash = "sha256:b8d4d1a6868cde356f1402c8faeb50d62cee765a1f7ffcfd6de732ab0581e063"}, - {file = "orjson-3.10.3-cp39-none-win_amd64.whl", hash = "sha256:5102f50c5fc46d94f2033fe00d392588564378260d64377aec702f21a7a22912"}, - {file = "orjson-3.10.3.tar.gz", hash = "sha256:2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818"}, + {file = "orjson-3.10.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:545d493c1f560d5ccfc134803ceb8955a14c3fcb47bbb4b2fee0232646d0b932"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4324929c2dd917598212bfd554757feca3e5e0fa60da08be11b4aa8b90013c1"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c13ca5e2ddded0ce6a927ea5a9f27cae77eee4c75547b4297252cb20c4d30e6"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b6c8e30adfa52c025f042a87f450a6b9ea29649d828e0fec4858ed5e6caecf63"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:338fd4f071b242f26e9ca802f443edc588fa4ab60bfa81f38beaedf42eda226c"}, + {file = "orjson-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6970ed7a3126cfed873c5d21ece1cd5d6f83ca6c9afb71bbae21a0b034588d96"}, + {file = "orjson-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:235dadefb793ad12f7fa11e98a480db1f7c6469ff9e3da5e73c7809c700d746b"}, + {file = "orjson-3.10.5-cp310-none-win32.whl", hash = "sha256:be79e2393679eda6a590638abda16d167754393f5d0850dcbca2d0c3735cebe2"}, + {file = "orjson-3.10.5-cp310-none-win_amd64.whl", hash = "sha256:c4a65310ccb5c9910c47b078ba78e2787cb3878cdded1702ac3d0da71ddc5228"}, + {file = "orjson-3.10.5-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cdf7365063e80899ae3a697def1277c17a7df7ccfc979990a403dfe77bb54d40"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b68742c469745d0e6ca5724506858f75e2f1e5b59a4315861f9e2b1df77775a"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7d10cc1b594951522e35a3463da19e899abe6ca95f3c84c69e9e901e0bd93d38"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dcbe82b35d1ac43b0d84072408330fd3295c2896973112d495e7234f7e3da2e1"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c0eb7e0c75e1e486c7563fe231b40fdd658a035ae125c6ba651ca3b07936f5"}, + {file = "orjson-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:53ed1c879b10de56f35daf06dbc4a0d9a5db98f6ee853c2dbd3ee9d13e6f302f"}, + {file = "orjson-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:099e81a5975237fda3100f918839af95f42f981447ba8f47adb7b6a3cdb078fa"}, + {file = "orjson-3.10.5-cp311-none-win32.whl", hash = "sha256:1146bf85ea37ac421594107195db8bc77104f74bc83e8ee21a2e58596bfb2f04"}, + {file = "orjson-3.10.5-cp311-none-win_amd64.whl", hash = "sha256:36a10f43c5f3a55c2f680efe07aa93ef4a342d2960dd2b1b7ea2dd764fe4a37c"}, + {file = "orjson-3.10.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:68f85ecae7af14a585a563ac741b0547a3f291de81cd1e20903e79f25170458f"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28afa96f496474ce60d3340fe8d9a263aa93ea01201cd2bad844c45cd21f5268"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cd684927af3e11b6e754df80b9ffafd9fb6adcaa9d3e8fdd5891be5a5cad51e"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d21b9983da032505f7050795e98b5d9eee0df903258951566ecc358f6696969"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ad1de7fef79736dde8c3554e75361ec351158a906d747bd901a52a5c9c8d24b"}, + {file = "orjson-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2d97531cdfe9bdd76d492e69800afd97e5930cb0da6a825646667b2c6c6c0211"}, + {file = "orjson-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d69858c32f09c3e1ce44b617b3ebba1aba030e777000ebdf72b0d8e365d0b2b3"}, + {file = "orjson-3.10.5-cp312-none-win32.whl", hash = "sha256:64c9cc089f127e5875901ac05e5c25aa13cfa5dbbbd9602bda51e5c611d6e3e2"}, + {file = "orjson-3.10.5-cp312-none-win_amd64.whl", hash = "sha256:b2efbd67feff8c1f7728937c0d7f6ca8c25ec81373dc8db4ef394c1d93d13dc5"}, + {file = "orjson-3.10.5-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:03b565c3b93f5d6e001db48b747d31ea3819b89abf041ee10ac6988886d18e01"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:584c902ec19ab7928fd5add1783c909094cc53f31ac7acfada817b0847975f26"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a35455cc0b0b3a1eaf67224035f5388591ec72b9b6136d66b49a553ce9eb1e6"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1670fe88b116c2745a3a30b0f099b699a02bb3482c2591514baf5433819e4f4d"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:185c394ef45b18b9a7d8e8f333606e2e8194a50c6e3c664215aae8cf42c5385e"}, + {file = "orjson-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ca0b3a94ac8d3886c9581b9f9de3ce858263865fdaa383fbc31c310b9eac07c9"}, + {file = "orjson-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dfc91d4720d48e2a709e9c368d5125b4b5899dced34b5400c3837dadc7d6271b"}, + {file = "orjson-3.10.5-cp38-none-win32.whl", hash = "sha256:c05f16701ab2a4ca146d0bca950af254cb7c02f3c01fca8efbbad82d23b3d9d4"}, + {file = "orjson-3.10.5-cp38-none-win_amd64.whl", hash = "sha256:8a11d459338f96a9aa7f232ba95679fc0c7cedbd1b990d736467894210205c09"}, + {file = "orjson-3.10.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:85c89131d7b3218db1b24c4abecea92fd6c7f9fab87441cfc342d3acc725d807"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb66215277a230c456f9038d5e2d84778141643207f85336ef8d2a9da26bd7ca"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:51bbcdea96cdefa4a9b4461e690c75ad4e33796530d182bdd5c38980202c134a"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbead71dbe65f959b7bd8cf91e0e11d5338033eba34c114f69078d59827ee139"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df58d206e78c40da118a8c14fc189207fffdcb1f21b3b4c9c0c18e839b5a214"}, + {file = "orjson-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c4057c3b511bb8aef605616bd3f1f002a697c7e4da6adf095ca5b84c0fd43595"}, + {file = "orjson-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b39e006b00c57125ab974362e740c14a0c6a66ff695bff44615dcf4a70ce2b86"}, + {file = "orjson-3.10.5-cp39-none-win32.whl", hash = "sha256:eded5138cc565a9d618e111c6d5c2547bbdd951114eb822f7f6309e04db0fb47"}, + {file = "orjson-3.10.5-cp39-none-win_amd64.whl", hash = "sha256:cc28e90a7cae7fcba2493953cff61da5a52950e78dc2dacfe931a317ee3d8de7"}, + {file = "orjson-3.10.5.tar.gz", hash = "sha256:7a5baef8a4284405d96c90c7c62b755e9ef1ada84c2406c24a9ebec86b89f46d"}, ] [[package]] name = "packaging" -version = "24.0" +version = "24.1" description = "Core utilities for Python packages" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] @@ -2636,13 +2628,13 @@ files = [ [[package]] name = "pydantic" -version = "2.7.3" +version = "2.7.4" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.7.3-py3-none-any.whl", hash = "sha256:ea91b002777bf643bb20dd717c028ec43216b24a6001a280f83877fd2655d0b4"}, - {file = "pydantic-2.7.3.tar.gz", hash = "sha256:c46c76a40bb1296728d7a8b99aa73dd70a48c3510111ff290034f860c99c419e"}, + {file = "pydantic-2.7.4-py3-none-any.whl", hash = "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0"}, + {file = "pydantic-2.7.4.tar.gz", hash = "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"}, ] [package.dependencies] @@ -3050,13 +3042,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-cache" -version = "1.2.0" +version = "1.2.1" description = "A persistent cache for python requests" optional = false python-versions = ">=3.8" files = [ - {file = "requests_cache-1.2.0-py3-none-any.whl", hash = "sha256:490324301bf0cb924ff4e6324bd2613453e7e1f847353928b08adb0fdfb7f722"}, - {file = "requests_cache-1.2.0.tar.gz", hash = "sha256:db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838"}, + {file = "requests_cache-1.2.1-py3-none-any.whl", hash = "sha256:1285151cddf5331067baa82598afe2d47c7495a1334bfe7a7d329b43e9fd3603"}, + {file = "requests_cache-1.2.1.tar.gz", hash = "sha256:68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1"}, ] [package.dependencies] @@ -3207,28 +3199,28 @@ files = [ [[package]] name = "ruff" -version = "0.4.7" +version = "0.4.9" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.4.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e089371c67892a73b6bb1525608e89a2aca1b77b5440acf7a71dda5dac958f9e"}, - {file = "ruff-0.4.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:10f973d521d910e5f9c72ab27e409e839089f955be8a4c8826601a6323a89753"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59c3d110970001dfa494bcd95478e62286c751126dfb15c3c46e7915fc49694f"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa9773c6c00f4958f73b317bc0fd125295110c3776089f6ef318f4b775f0abe4"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07fc80bbb61e42b3b23b10fda6a2a0f5a067f810180a3760c5ef1b456c21b9db"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:fa4dafe3fe66d90e2e2b63fa1591dd6e3f090ca2128daa0be33db894e6c18648"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7c0083febdec17571455903b184a10026603a1de078428ba155e7ce9358c5f6"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad1b20e66a44057c326168437d680a2166c177c939346b19c0d6b08a62a37589"}, - {file = "ruff-0.4.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbf5d818553add7511c38b05532d94a407f499d1a76ebb0cad0374e32bc67202"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:50e9651578b629baec3d1513b2534de0ac7ed7753e1382272b8d609997e27e83"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8874a9df7766cb956b218a0a239e0a5d23d9e843e4da1e113ae1d27ee420877a"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:b9de9a6e49f7d529decd09381c0860c3f82fa0b0ea00ea78409b785d2308a567"}, - {file = "ruff-0.4.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:13a1768b0691619822ae6d446132dbdfd568b700ecd3652b20d4e8bc1e498f78"}, - {file = "ruff-0.4.7-py3-none-win32.whl", hash = "sha256:769e5a51df61e07e887b81e6f039e7ed3573316ab7dd9f635c5afaa310e4030e"}, - {file = "ruff-0.4.7-py3-none-win_amd64.whl", hash = "sha256:9e3ab684ad403a9ed1226894c32c3ab9c2e0718440f6f50c7c5829932bc9e054"}, - {file = "ruff-0.4.7-py3-none-win_arm64.whl", hash = "sha256:10f2204b9a613988e3484194c2c9e96a22079206b22b787605c255f130db5ed7"}, - {file = "ruff-0.4.7.tar.gz", hash = "sha256:2331d2b051dc77a289a653fcc6a42cce357087c5975738157cd966590b18b5e1"}, + {file = "ruff-0.4.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b262ed08d036ebe162123170b35703aaf9daffecb698cd367a8d585157732991"}, + {file = "ruff-0.4.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:98ec2775fd2d856dc405635e5ee4ff177920f2141b8e2d9eb5bd6efd50e80317"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4555056049d46d8a381f746680db1c46e67ac3b00d714606304077682832998e"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e91175fbe48f8a2174c9aad70438fe9cb0a5732c4159b2a10a3565fea2d94cde"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e8e7b95673f22e0efd3571fb5b0cf71a5eaaa3cc8a776584f3b2cc878e46bff"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2d45ddc6d82e1190ea737341326ecbc9a61447ba331b0a8962869fcada758505"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:78de3fdb95c4af084087628132336772b1c5044f6e710739d440fc0bccf4d321"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06b60f91bfa5514bb689b500a25ba48e897d18fea14dce14b48a0c40d1635893"}, + {file = "ruff-0.4.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88bffe9c6a454bf8529f9ab9091c99490578a593cc9f9822b7fc065ee0712a06"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:673bddb893f21ab47a8334c8e0ea7fd6598ecc8e698da75bcd12a7b9d0a3206e"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8c1aff58c31948cc66d0b22951aa19edb5af0a3af40c936340cd32a8b1ab7438"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:784d3ec9bd6493c3b720a0b76f741e6c2d7d44f6b2be87f5eef1ae8cc1d54c84"}, + {file = "ruff-0.4.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:732dd550bfa5d85af8c3c6cbc47ba5b67c6aed8a89e2f011b908fc88f87649db"}, + {file = "ruff-0.4.9-py3-none-win32.whl", hash = "sha256:8064590fd1a50dcf4909c268b0e7c2498253273309ad3d97e4a752bb9df4f521"}, + {file = "ruff-0.4.9-py3-none-win_amd64.whl", hash = "sha256:e0a22c4157e53d006530c902107c7f550b9233e9706313ab57b892d7197d8e52"}, + {file = "ruff-0.4.9-py3-none-win_arm64.whl", hash = "sha256:5d5460f789ccf4efd43f265a58538a2c24dbce15dbf560676e430375f20a8198"}, + {file = "ruff-0.4.9.tar.gz", hash = "sha256:f1cb0828ac9533ba0135d148d214e284711ede33640465e706772645483427e3"}, ] [[package]] @@ -3548,13 +3540,13 @@ docs = ["ipykernel", "jupyter-client", "matplotlib", "nbconvert", "nbformat", "n [[package]] name = "tenacity" -version = "8.3.0" +version = "8.4.1" description = "Retry code until it succeeds" optional = true python-versions = ">=3.8" files = [ - {file = "tenacity-8.3.0-py3-none-any.whl", hash = "sha256:3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185"}, - {file = "tenacity-8.3.0.tar.gz", hash = "sha256:953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2"}, + {file = "tenacity-8.4.1-py3-none-any.whl", hash = "sha256:28522e692eda3e1b8f5e99c51464efcc0b9fc86933da92415168bc1c4e2308fa"}, + {file = "tenacity-8.4.1.tar.gz", hash = "sha256:54b1412b878ddf7e1f1577cd49527bad8cdef32421bd599beac0c6c3f10582fd"}, ] [package.extras] @@ -3628,13 +3620,13 @@ typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.12.1" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.12.1-py3-none-any.whl", hash = "sha256:6024b58b69089e5a89c347397254e35f1bf02a907728ec7fee9bf0fe837d203a"}, - {file = "typing_extensions-4.12.1.tar.gz", hash = "sha256:915f5e35ff76f56588223f15fdd5938f9a1cf9195c0de25130c627e4d597f6d1"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] @@ -3751,13 +3743,13 @@ six = "*" [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] @@ -4338,4 +4330,4 @@ wsj = ["openbb-wsj"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "668981a2335eb10c5bee58cf5162cb8f4904c571581cc67b96d1b313a05985d0" +content-hash = "8a20f2f7e8740efe1586ddff2b51afe91389fdae335b2ef203762e108121b8f0" diff --git a/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py index c88ed9b556c..e6b23918d43 100644 --- a/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py +++ b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py @@ -21,6 +21,6 @@ cloud-based APIs, Excel, and Google Sheets. """, "EtfHistorical": AVEquityHistoricalFetcher, }, repr_name="Alpha Vantage", - v3_credentials=["API_KEY_ALPHAVANTAGE"], + deprecated_credentials={"API_KEY_ALPHAVANTAGE": "alpha_vantage_api_key"}, instructions='Go to: https://www.alphavantage.co/support/#api-key\n\n![AlphaVantage](https://user-images.githubusercontent.com/46355364/207820936-46c2ba00-81ff-4cd3-98a4-4fa44412996f.png)\n\nFill out the form, pass Captcha, and click on, "GET FREE API KEY".', # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/alpha_vantage/poetry.lock b/openbb_platform/providers/alpha_vantage/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/alpha_vantage/poetry.lock +++ b/openbb_platform/providers/alpha_vantage/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/alpha_vantage/pyproject.toml b/openbb_platform/providers/alpha_vantage/pyproject.toml index ebf46477890..86a56211abb 100644 --- a/openbb_platform/providers/alpha_vantage/pyproject.toml +++ b/openbb_platform/providers/alpha_vantage/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-alpha-vantage" -version = "1.2.2" +version = "1.2.3" description = "Alpha Vantage extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_alpha_vantage" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/benzinga/poetry.lock b/openbb_platform/providers/benzinga/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/benzinga/poetry.lock +++ b/openbb_platform/providers/benzinga/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/benzinga/pyproject.toml b/openbb_platform/providers/benzinga/pyproject.toml index 289c40d391d..5c0757ac8ed 100644 --- a/openbb_platform/providers/benzinga/pyproject.toml +++ b/openbb_platform/providers/benzinga/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-benzinga" -version = "1.2.2" +version = "1.2.3" description = "Benzinga extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_benzinga" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/biztoc/openbb_biztoc/__init__.py b/openbb_platform/providers/biztoc/openbb_biztoc/__init__.py index 8fc02244e20..0b4a94cbc19 100644 --- a/openbb_platform/providers/biztoc/openbb_biztoc/__init__.py +++ b/openbb_platform/providers/biztoc/openbb_biztoc/__init__.py @@ -20,6 +20,6 @@ we've partnered with OpenBB, allowing you to pull in BizToc's news stream in the "WorldNews": BiztocWorldNewsFetcher, }, repr_name="BizToc", - v3_credentials=["API_BIZTOC_TOKEN"], + deprecated_credentials={"API_BIZTOC_TOKEN": "biztoc_api_key"}, instructions="The BizToc API is hosted on RapidAPI. To set up, go to: https://rapidapi.com/thma/api/biztoc.\n\n![biztoc0](https://github.com/marban/OpenBBTerminal/assets/18151143/04cdd423-f65e-4ad8-ad5a-4a59b0f5ddda)\n\nIn the top right, select 'Sign Up'. After answering some questions, you will be prompted to select one of their plans.\n\n![biztoc1](https://github.com/marban/OpenBBTerminal/assets/18151143/9f3b72ea-ded7-48c5-aa33-bec5c0de8422)\n\nAfter signing up, navigate back to https://rapidapi.com/thma/api/biztoc. If you are logged in, you will see a header called X-RapidAPI-Key.\n\n![biztoc2](https://github.com/marban/OpenBBTerminal/assets/18151143/0f3b6c91-07e0-447a-90cd-a9e23522929f)", # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/biztoc/openbb_biztoc/utils/helpers.py b/openbb_platform/providers/biztoc/openbb_biztoc/utils/helpers.py index 061271c8a5d..bfef88972d4 100644 --- a/openbb_platform/providers/biztoc/openbb_biztoc/utils/helpers.py +++ b/openbb_platform/providers/biztoc/openbb_biztoc/utils/helpers.py @@ -5,6 +5,7 @@ from typing import Dict, List, Literal import requests import requests_cache +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory # pylint: disable=C0325 @@ -45,6 +46,9 @@ def get_pages(api_key: str) -> List[str]: pages = biztoc_session_sources.get( "https://biztoc.p.rapidapi.com/pages", headers=headers, timeout=10 ) + if pages.status_code != 200: + msg = pages.json().get("message") or pages.text + raise OpenBBError(f"HTTP error - > {msg}") return pages.json() @@ -60,6 +64,9 @@ def get_tags_by_page(page_id: str, api_key: str) -> List[str]: tags = biztoc_session_tags.get( f"https://biztoc.p.rapidapi.com/tags/{page_id}", headers=headers, timeout=10 ) + if tags.status_code != 200: + msg = tags.json().get("message") or tags.text + raise OpenBBError(f"HTTP error - > {msg}") return tags.json() @@ -115,10 +122,10 @@ def get_news( "tag": f"tag/{tag}", } if filter_ == "source" and source.lower() not in sources: - raise ValueError(f"{source} not a valid source. Valid sources: {sources}") + raise OpenBBError(f"{source} not a valid source. Valid sources: {sources}") if filter_ == "tag" and tag.lower().replace(" ", "") not in tags: - raise ValueError(f"{tag} not a valid tag. Valid tags: {tags}") + raise OpenBBError(f"{tag} not a valid tag. Valid tags: {tags}") url = ( f"https://biztoc.p.rapidapi.com/search?q={term}" @@ -127,7 +134,7 @@ def get_news( ) r = requests.get(url, headers=headers, timeout=5) if r.status_code != 200: - raise RuntimeError(f"HTTP error - > {r.text}") + raise OpenBBError(f"HTTP error - > {r.text}") try: results = r.json() diff --git a/openbb_platform/providers/biztoc/poetry.lock b/openbb_platform/providers/biztoc/poetry.lock index 03fe1c42e21..0f2ad166822 100644 --- a/openbb_platform/providers/biztoc/poetry.lock +++ b/openbb_platform/providers/biztoc/poetry.lock @@ -996,13 +996,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2122,4 +2122,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "00118ad9613d637364467a191d8088cea8837b1ad9b6d8d95d2ace27f7724ec1" +content-hash = "b43271976f223a951406fc8e66b4b8203bad9390dd44856a1c1009ad803958cc" diff --git a/openbb_platform/providers/biztoc/pyproject.toml b/openbb_platform/providers/biztoc/pyproject.toml index c01009af0ab..b684baa2d8e 100644 --- a/openbb_platform/providers/biztoc/pyproject.toml +++ b/openbb_platform/providers/biztoc/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-biztoc" -version = "1.2.2" +version = "1.2.3" description = "" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_biztoc" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" requests-cache = "^1.1.0" [build-system] diff --git a/openbb_platform/providers/cboe/openbb_cboe/models/futures_curve.py b/openbb_platform/providers/cboe/openbb_cboe/models/futures_curve.py index fee62fb339a..ce1a267f4df 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/models/futures_curve.py +++ b/openbb_platform/providers/cboe/openbb_cboe/models/futures_curve.py @@ -4,6 +4,7 @@ from typing import Any, Dict, List, Optional from openbb_cboe.utils.helpers import get_settlement_prices +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.futures_curve import ( FuturesCurveData, @@ -52,7 +53,7 @@ class CboeFuturesCurveFetcher( raise EmptyDataError() if symbol not in FUTURES["product"].unique().tolist(): - raise RuntimeError( + raise OpenBBError( "The symbol, " f"{symbol}" ", is not valid. Chose from: " diff --git a/openbb_platform/providers/cboe/openbb_cboe/models/options_chains.py b/openbb_platform/providers/cboe/openbb_cboe/models/options_chains.py index c1c0602d3cc..16735cc4b76 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/models/options_chains.py +++ b/openbb_platform/providers/cboe/openbb_cboe/models/options_chains.py @@ -10,6 +10,7 @@ from openbb_cboe.utils.helpers import ( get_company_directory, get_index_directory, ) +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.annotated_result import AnnotatedResult from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.options_chains import ( @@ -39,11 +40,6 @@ class CboeOptionsChainsQueryParams(OptionsChainsQueryParams): class CboeOptionsChainsData(OptionsChainsData): """CBOE Options Chains Data.""" - last_trade_timestamp: Optional[datetime] = Field( - description="Last trade timestamp of the option.", default=None - ) - dte: int = Field(description="Days to expiration for the option.") - class CboeOptionsChainsFetcher( Fetcher[ @@ -51,7 +47,7 @@ class CboeOptionsChainsFetcher( List[CboeOptionsChainsData], ] ): - """Transform the query, extract and transform the data from the CBOE endpoints.""" + """Cboe Options Chains Fetcher.""" @staticmethod def transform_query(params: Dict[str, Any]) -> CboeOptionsChainsQueryParams: @@ -71,7 +67,7 @@ class CboeOptionsChainsFetcher( INDEXES = INDEXES.set_index("index_symbol") if symbol not in SYMBOLS.index: - raise RuntimeError(f"{symbol} was not found in the Cboe options directory.") + raise OpenBBError(f"{symbol} was not found in the Cboe options directory.") quotes_url = ( f"https://cdn.cboe.com/api/global/delayed_quotes/options/_{symbol}.json" @@ -137,7 +133,6 @@ class CboeOptionsChainsFetcher( "theo": "theoretical_price", "percent_change": "change_percent", "prev_day_close": "prev_close", - "last_trade_time": "last_trade_timestamp", } ) @@ -162,7 +157,9 @@ class CboeOptionsChainsFetcher( option_df_index.expiration = DatetimeIndex( option_df_index.expiration, yearfirst=True ).astype(str) - option_df_index = option_df_index.drop(columns=["Ticker"]) + option_df_index = option_df_index.rename( + columns={"Ticker": "underlying_symbol"} + ) # Joins the parsed symbol into the dataframe. @@ -173,20 +170,22 @@ class CboeOptionsChainsFetcher( temp_ = (temp - now).days + 1 quotes["dte"] = temp_ - quotes["last_trade_timestamp"] = ( - to_datetime(quotes["last_trade_timestamp"], format="%Y-%m-%dT%H:%M:%S") + quotes["last_trade_time"] = ( + to_datetime(quotes["last_trade_time"], format="%Y-%m-%dT%H:%M:%S") .fillna(value="-") .replace("-", None) ) quotes = quotes.set_index( keys=["expiration", "strike", "option_type"] ).sort_index() + if results_metadata.get("current_price"): + quotes["underlying_price"] = results_metadata["current_price"] quotes["open_interest"] = quotes["open_interest"].astype("int64") quotes["volume"] = quotes["volume"].astype("int64") quotes["bid_size"] = quotes["bid_size"].astype("int64") quotes["ask_size"] = quotes["ask_size"].astype("int64") - quotes["prev_close"] = round(quotes["prev_close"], 2) - quotes["change_percent"] = round(quotes["change_percent"] / 100, 4) + quotes["prev_close"] = quotes["prev_close"] + quotes["change_percent"] = quotes["change_percent"] / 100 return AnnotatedResult( result=[ diff --git a/openbb_platform/providers/cboe/poetry.lock b/openbb_platform/providers/cboe/poetry.lock index 778202cb9cd..7e0dc7e2257 100644 --- a/openbb_platform/providers/cboe/poetry.lock +++ b/openbb_platform/providers/cboe/poetry.lock @@ -1026,13 +1026,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2106,4 +2106,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "b33c6c1c0dbc40c4789cd6b4948e38861e677c69cbe4c73f8f4eb0bc2e2da394" +content-hash = "f98e7148849d822f5bec925699e2b110a3ccae2fa478b04935a3f1ba9de63075" diff --git a/openbb_platform/providers/cboe/pyproject.toml b/openbb_platform/providers/cboe/pyproject.toml index abdf8bd6ffe..4f4b819f2c0 100644 --- a/openbb_platform/providers/cboe/pyproject.toml +++ b/openbb_platform/providers/cboe/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-cboe" -version = "1.2.2" +version = "1.2.3" description = "CBOE extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -11,7 +11,7 @@ packages = [{ include = "openbb_cboe" }] python = "^3.8" aiohttp-client-cache = "^0.11.0" aiosqlite = "^0.20.0" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/ecb/openbb_ecb/models/currency_reference_rates.py b/openbb_platform/providers/ecb/openbb_ecb/models/currency_reference_rates.py index 3eea898ff3c..278e28677f3 100644 --- a/openbb_platform/providers/ecb/openbb_ecb/models/currency_reference_rates.py +++ b/openbb_platform/providers/ecb/openbb_ecb/models/currency_reference_rates.py @@ -4,12 +4,15 @@ from typing import Any, Dict, Optional import requests import xmltodict +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.currency_reference_rates import ( CurrencyReferenceRatesData, CurrencyReferenceRatesQueryParams, ) +# pylint: disable=unused-argument + class ECBCurrencyReferenceRatesQueryParams(CurrencyReferenceRatesQueryParams): """ @@ -44,7 +47,7 @@ class ECBCurrencyReferenceRatesFetcher( url = "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml" response = requests.get(url, timeout=5) if response.status_code != 200: - raise RuntimeError( + raise OpenBBError( "Failed to fetch data from ECB." + f" -> Status Code: {response.status_code}" ) diff --git a/openbb_platform/providers/ecb/openbb_ecb/models/yield_curve.py b/openbb_platform/providers/ecb/openbb_ecb/models/yield_curve.py index acae4b4706a..abdb08e5a0d 100644 --- a/openbb_platform/providers/ecb/openbb_ecb/models/yield_curve.py +++ b/openbb_platform/providers/ecb/openbb_ecb/models/yield_curve.py @@ -8,6 +8,7 @@ from typing import Any, Dict, List, Literal, Optional, Union from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.yield_curve import ( @@ -72,7 +73,6 @@ class ECBYieldCurveFetcher( **kwargs: Any, ) -> List[Dict]: """Extract data.""" - results: List = [] IDS = get_yield_curve_ids( @@ -100,9 +100,9 @@ class ECBYieldCurveFetcher( await session.close() else: response = await amake_request(url=url) - if not response: # pylint: disable=E0606 - raise RuntimeError("Error: No data was returned.") - if isinstance(response, List): # pylint: disable=E0606 + if not response: + raise OpenBBError("No data was returned.") + if isinstance(response, List): for item in response: d = { "date": item.get("PERIOD"), diff --git a/openbb_platform/providers/ecb/poetry.lock b/openbb_platform/providers/ecb/poetry.lock index 79bce3540b9..5c8755299aa 100644 --- a/openbb_platform/providers/ecb/poetry.lock +++ b/openbb_platform/providers/ecb/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2048,4 +2048,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "b6464b2d80fc07b8112edb4bb556878f0492f4c54b1b81d12217a2b1452cb1b1" +content-hash = "2ff63492606d72a64218348365cdac88fee1e20291880d70a8ad825c25a4352a" diff --git a/openbb_platform/providers/ecb/pyproject.toml b/openbb_platform/providers/ecb/pyproject.toml index fa28ec3ec61..05ee3a140ca 100644 --- a/openbb_platform/providers/ecb/pyproject.toml +++ b/openbb_platform/providers/ecb/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-ecb" -version = "1.2.2" +version = "1.2.3" description = "ECB extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_ecb" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" xmltodict = "^0.13.0" [build-system] diff --git a/openbb_platform/providers/econdb/openbb_econdb/models/country_profile.py b/openbb_platform/providers/econdb/openbb_econdb/models/country_profile.py index 00267d8e3de..3ca4892faa5 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/models/country_profile.py +++ b/openbb_platform/providers/econdb/openbb_econdb/models/country_profile.py @@ -6,6 +6,7 @@ import asyncio from typing import Any, Dict, List, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.country_profile import ( CountryProfileData, @@ -66,7 +67,7 @@ class EconDbCountryProfileQueryParams(CountryProfileQueryParams): elif len(c) > 2 and c.lower() in COUNTRY_GROUPS: country[country.index(c)] = ",".join(COUNTRY_GROUPS[c.lower()]) if len(country) == 0: - raise ValueError("No valid countries were supplied.") + raise OpenBBError("No valid countries were supplied.") return ",".join(country) diff --git a/openbb_platform/providers/econdb/openbb_econdb/models/economic_indicators.py b/openbb_platform/providers/econdb/openbb_econdb/models/economic_indicators.py index 912acd23283..f4a71eccd79 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/models/economic_indicators.py +++ b/openbb_platform/providers/econdb/openbb_econdb/models/economic_indicators.py @@ -6,6 +6,7 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Literal, Optional, Union from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.annotated_result import AnnotatedResult from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.economic_indicators import ( @@ -87,7 +88,7 @@ class EconDbEconomicIndicatorsQueryParams(EconomicIndicatorsQueryParams): helpers.COUNTRY_GROUPS[c.lower()] ) if len(country) == 0: - raise ValueError("No valid countries were supplied.") + raise OpenBBError("No valid countries were supplied.") return ",".join(country) return None @@ -105,7 +106,7 @@ class EconDbEconomicIndicatorsQueryParams(EconomicIndicatorsQueryParams): continue if symbol.upper() == "MAIN": if len(symbols) > 1: - raise ValueError( + raise OpenBBError( "The 'main' indicator cannot be combined with other indicators." ) return symbol @@ -121,7 +122,7 @@ class EconDbEconomicIndicatorsQueryParams(EconomicIndicatorsQueryParams): else: new_symbols.append(symbol) if not new_symbols: - raise ValueError( + raise OpenBBError( "No valid indicators provided. Please choose from: " + ",".join(INDICATORS) ) @@ -155,7 +156,7 @@ class EconDbEconomicIndicatorsFetcher( and len(countries.split(",")) > 1 and new_params.get("symbol", "").upper() == "MAIN" ): - raise ValueError( + raise OpenBBError( "The 'main' indicator cannot be combined with multiple countries." ) return EconDbEconomicIndicatorsQueryParams(**new_params) @@ -209,14 +210,14 @@ class EconDbEconomicIndicatorsFetcher( if len(symbols) > 1: warn(message) continue - raise RuntimeError(message) + raise OpenBBError(message) if _transform and _transform not in helpers.QUERY_TRANSFORMS: message = f"Invalid transformation, '{_transform}', for symbol: '{_symbol}'." if len(symbols) > 1: warn(message) new_symbols.append(_symbol) else: - raise RuntimeError(message) + raise OpenBBError(message) elif not _transform: new_symbols.append(symbol.replace("~", "")) else: @@ -271,7 +272,7 @@ class EconDbEconomicIndicatorsFetcher( + " Please add the two-letter country code or use the country parameter." + "\nIf already included, add '~' to the end of the symbol." ) - raise ValueError(error_message) + raise OpenBBError(error_message) url = base_url + f"%5B{','.join(new_symbols)}%5D&format=json&token={token}" if query.start_date: url += f"&from={query.start_date}" @@ -281,7 +282,7 @@ class EconDbEconomicIndicatorsFetcher( # Instead of chunking we request the user reduce the number of indicators and countries. # This might be able to nudge higher, but it is a safe limit for all operating systems. if len(url) > 2000: - raise ValueError( + raise OpenBBError( "The request has generated a url that is too long." + " Please reduce the number of symbols or countries and try again." ) diff --git a/openbb_platform/providers/econdb/openbb_econdb/models/yield_curve.py b/openbb_platform/providers/econdb/openbb_econdb/models/yield_curve.py index 3fa44526705..c9b3d04484e 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/models/yield_curve.py +++ b/openbb_platform/providers/econdb/openbb_econdb/models/yield_curve.py @@ -5,6 +5,7 @@ from datetime import datetime from typing import Any, Dict, List, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.annotated_result import AnnotatedResult from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.yield_curve import ( @@ -44,7 +45,7 @@ class EconDbYieldCurveQueryParams(YieldCurveQueryParams): if v is None: return "united_states" if v not in COUNTRIES_DICT: - raise ValueError(f"Country must be one of {COUNTRIES_DICT}") + raise OpenBBError(f"Country must be one of {COUNTRIES_DICT}") return v @@ -107,7 +108,7 @@ class EconDbYieldCurveFetcher( url, timeout=20, **kwargs ) if not response: - raise RuntimeError("Error: No data was returned.") + raise OpenBBError("No data was returned.") data = response.get("results") # type: ignore if not data: raise EmptyDataError("The response was returned empty.") diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/helpers.py b/openbb_platform/providers/econdb/openbb_econdb/utils/helpers.py index b444c9e9f87..91cb673f482 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/helpers.py +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/helpers.py @@ -8,6 +8,7 @@ from typing import Dict, List, Optional, Tuple, Union from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.utils.helpers import amake_request, amake_requests from pandas import DataFrame, concat, read_csv @@ -257,18 +258,24 @@ COUNTRY_GROUPS = { "southeast_asia": ["KH", "ID", "LA", "MY", "PH", "SG", "TH", "VN"], } -INDICATORS_DESCRIPTIONS = json.load( - (files("openbb_econdb.utils") / "indicators_descriptions.json").open() -) -MULTIPLIERS = json.load((files("openbb_econdb.utils") / "multipliers.json").open()) -SCALES = json.load((files("openbb_econdb.utils") / "scales.json").open()) -UNITS = json.load((files("openbb_econdb.utils") / "units.json").open()) -INDICATOR_COUNTRIES = json.load( - (files("openbb_econdb.utils") / "indicator_countries.json").open() -) -SYMBOL_TO_INDICATOR = json.load( - (files("openbb_econdb.utils") / "symbol_to_indicator.json").open() -) +with (files("openbb_econdb.utils") / "indicators_descriptions.json").open() as f: + INDICATORS_DESCRIPTIONS = json.load(f) + +with (files("openbb_econdb.utils") / "multipliers.json").open() as f: + MULTIPLIERS = json.load(f) + +with (files("openbb_econdb.utils") / "scales.json").open() as f: + SCALES = json.load(f) + +with (files("openbb_econdb.utils") / "units.json").open() as f: + UNITS = json.load(f) + +with (files("openbb_econdb.utils") / "symbol_to_indicator.json").open() as f: + SYMBOL_TO_INDICATOR = json.load(f) + +with (files("openbb_econdb.utils") / "indicator_countries.json").open() as f: + INDICATOR_COUNTRIES = json.load(f) + HAS_COUNTRIES = { d: INDICATOR_COUNTRIES.get(d) != ["W00"] for d in INDICATORS_DESCRIPTIONS } @@ -342,7 +349,7 @@ def parse_symbols( symbol += "~" + transform symbols.append(symbol) elif countries and HAS_COUNTRIES.get(symbol, False) is False: - raise RuntimeError(f"Indicator {symbol} does not have countries.") + raise OpenBBError(f"Indicator {symbol} does not have countries.") elif countries and HAS_COUNTRIES.get(symbol, False) is True: countries = countries if isinstance(countries, list) else countries.split(",") for country in countries: @@ -393,7 +400,7 @@ async def create_token(use_cache: bool = True) -> str: try: return await _response.json() except Exception as e: - raise RuntimeError( + raise OpenBBError( "The temporary EconDB token could not be retrieved." + " Please try again later or provide your own token." + " Sign-up at: https://www.econdb.com/" @@ -515,11 +522,9 @@ def parse_context( # pylint: disable=R0912, R0914, R0915 metadata = {} results = DataFrame() if response is None: - raise RuntimeError("No data was in the response") + raise OpenBBError("No data was in the response") if not isinstance(response, List): - raise RuntimeError( - "Expecting a list of dictionaries and received a dictionary." - ) + raise OpenBBError("Expecting a list of dictionaries and received a dictionary.") for item in response: symbol = item.get("id", "") _symbol = symbol.split("~")[0].replace("19", "") @@ -623,28 +628,44 @@ def update_json_files() -> None: "w", # type: ignore encoding="utf-8", ) as f: - indicators.set_index("short_ticker").sort_index()["symbol_root"].to_json(f) + json_data = json.dumps( + indicators.set_index("short_ticker") + .sort_index()["symbol_root"] + .to_dict() + ) + f.write(json_data) def update_multipliers() -> None: """Update the unit multipliers.""" with open( # type: ignore files("openbb_econdb.utils") / "multipliers.json", "w", encoding="utf-8" ) as f: - indicators.set_index("short_ticker").sort_index()["multiplier"].to_json(f) + json_data = json.dumps( + indicators.set_index("short_ticker") + .sort_index()["multiplier"] + .to_dict() + ) + f.write(json_data) def update_scales() -> None: """Update the scales.""" with open( # type: ignore files("openbb_econdb.utils") / "scales.json", "w", encoding="utf-8" ) as f: - indicators.set_index("short_ticker").sort_index()["scale"].to_json(f) + json_data = json.dumps( + indicators.set_index("short_ticker").sort_index()["scale"].to_dict() + ) + f.write(json_data) def update_units() -> None: """Update the units.""" with open( # type: ignore files("openbb_econdb.utils") / "units.json", "w", encoding="utf-8" ) as f: - indicators.set_index("short_ticker").sort_index()["currency"].to_json(f) + json_data = json.dumps( + indicators.set_index("short_ticker").sort_index()["currency"].to_dict() + ) + f.write(json_data) def update_descriptions() -> None: """Update the indicator descriptions.""" @@ -657,7 +678,8 @@ def update_json_files() -> None: "w", encoding="utf-8", ) as f: - json.dump(descriptions_dict, f) + json_data = json.dumps(descriptions_dict) + f.write(json_data) def update_indicator_countries() -> None: """Update the indicator countries.""" @@ -666,9 +688,13 @@ def update_json_files() -> None: "w", encoding="utf-8", ) as f: - indicators[indicators["symbol_root"] != "[W00]"].groupby("symbol_root")[ - "iso" - ].apply(lambda x: x.sort_values().unique().tolist()).to_json(f) + json_data = json.dumps( + indicators[indicators["symbol_root"] != "[W00]"] + .groupby("symbol_root")["iso"] + .apply(lambda x: x.sort_values().unique().tolist()) + .to_dict() + ) + f.write(json_data) update_symbol_to_indicator() update_multipliers() diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/indicator_countries.json b/openbb_platform/providers/econdb/openbb_econdb/utils/indicator_countries.json index e5924f5fc4a..4ca718ac078 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/indicator_countries.json +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/indicator_countries.json @@ -1 +1 @@ -{"ACPOP":["AT","BE","BG","BR","CA","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IS","IT","JP","LT","LU","LV","ME","MK","MT","MX","NL","NO","PH","PK","PL","PT","QA","RO","RS","SE","SI","SK","TR","TW","US","VN"],"CA":["AR","AT","AU","AZ","BD","BE","BG","BR","BT","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","EE","EG","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IT","JO","JP","KH","KR","KZ","LA","LT","LU","LV","MA","MT","MX","MY","NL","NO","NP","NZ","PA","PH","PK","PL","PT","RO","RU","SA","SE","SG","SI","SK","SV","TH","TN","TR","TW","UA","UK","US","UY","VN","ZA"],"CAR":["AT","BE","BG","CH","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HR","HU","IE","IS","IT","LT","LU","LV","NL","NO","PL","PT","RO","SE","SI","SK","UK","ZA"],"CBAL":["AL","AT","AZ","BE","BG","CH","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IR","IT","LT","LU","LV","ME","MT","NL","NO","PH","PL","PT","RO","RS","SE","SI","SK","TR","UK","US"],"CI":["AE","AR","AT","AU","AZ","BE","BG","BR","BW","BY","CH","CN","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IR","IT","KR","KZ","LT","LU","LV","MA","ME","MN","MT","MX","MY","NG","NL","NO","NZ","PH","PK","PL","PT","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","VN","ZA"],"CKA":["BE","BG","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK"],"CLAIMS":["US"],"CLI":["AT","AU","BE","BR","CA","CH","CL","CN","CZ","DE","DK","EE","ES","FI","FR","GR","HU","ID","IE","IL","IN","IS","IT","JP","KR","LU","MX","NL","NO","NZ","PL","PT","RU","SE","SI","SK","TR","UK","US","ZA"],"CON":["AE","AL","AT","BD","BE","BG","BY","CA","CH","CL","CN","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","KR","LT","LU","LV","MK","MT","MX","NL","NO","PL","PT","QA","RO","RS","RU","SE","SI","SK","UA","UK","ZA"],"CONF":["AL","AT","AU","BE","BG","BR","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HR","HU","ID","IE","IL","IT","JP","KR","LT","LU","LV","ME","MK","MT","MX","NL","PL","PT","RO","RS","SE","SI","SK","TR","UK","US"],"CORE":["AR","AT","AU","BD","BE","BG","BR","CA","CH","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IN","IS","IT","JP","KR","LT","LU","LV","MK","MT","MX","NL","NO","NP","PL","PT","RO","RS","RU","SE","SG","SI","SK","TH","TR","TW","UK","US"],"CP":["AT","BE","BG","CZ","DE","DK","ES","EU","FI","FR","HR","HU","IT","LU","MK","MX","NL","NO","PL","PT","RO","SE","SG","SI","SK","UK"],"CPI":["AE","AF","AG","AL","AM","AR","AT","AU","AW","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CF","CG","CH","CI","CL","CM","CN","CO","CR","CV","CW","CY","CZ","DE","DJ","DK","DM","DO","EA","EC","EE","EG","ES","ET","EU","FI","FJ","FR","GA","GD","GE","GN","GQ","GR","GT","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KG","KH","KI","KN","KR","KW","KZ","LA","LB","LC","LK","LR","LS","LT","LU","LV","MA","MD","ME","MG","MK","ML","MM","MN","MO","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NE","NG","NI","NL","NO","NP","NZ","OM","PA","PE","PH","PK","PL","PS","PT","QA","RO","RS","RU","SA","SB","SC","SD","SE","SG","SI","SK","SR","SS","ST","SV","SZ","TD","TG","TH","TJ","TL","TN","TO","TR","TT","TW","UA","UG","UK","US","UY","UZ","VC","VE","VN","WS","XK","ZA","ZM","ZW"],"CRED":["AR","AT","AU","BE","BR","CA","CH","CL","CN","CO","CZ","DE","DK","ES","FI","FR","GR","HK","HU","ID","IE","IL","IN","IT","JP","KR","LU","MO","MX","MY","NL","NO","NZ","PL","PT","RU","SA","SE","SG","TH","TN","TR","UK","US","ZA"],"CREDEA":["XM"],"DWPE":["BE","CY","DE","ES","EU","FI","FR","GR","HU","MK","NL","NO","PT","RO","SE","SI"],"ELE":["AT","BE","BG","CH","CN","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MK","MT","NL","NO","PL","PT","RO","SE","SI","SK","TR","UK","US","ZA"],"EMP":["AR","AT","AU","AZ","BD","BE","BG","BR","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","DO","EE","ES","FI","FR","GR","HR","HU","ID","IE","IS","IT","JO","JP","KR","KZ","LK","LT","LU","LV","ME","MK","MO","MT","MX","MY","NL","NO","NZ","PA","PE","PH","PK","PL","PT","QA","RO","RS","RU","SE","SG","SI","SK","TH","TN","TR","TW","UA","US","UY","VN","ZA"],"EMRATIO":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IS","IT","JP","LT","LU","LV","ME","MK","MT","NL","NO","PL","PT","RO","RS","SE","SI","SK","TR","TW","US"],"EQYCAP":["CN"],"EXP":["AE","AL","AR","AT","AU","AZ","BD","BE","BG","BR","BW","BY","CA","CH","CL","CM","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IR","IT","JO","JP","KR","KZ","LT","LU","LV","MA","ME","MK","MN","MT","MX","MY","NG","NL","NO","NZ","PE","PH","PK","PL","PT","QA","RO","RS","RU","RW","SA","SE","SG","SI","SK","SV","TH","TR","TW","UA","UK","US","ZA"],"EXPMON":["AR","AU","BD","BE","BG","BR","CA","CL","CN","CO","CR","CZ","DE","DK","EE","EG","ES","EU","FI","FR","GR","HK","HR","HU","ID","IN","IT","JP","KH","KR","KZ","LT","LU","LV","MK","MT","MX","MY","NL","NP","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UY","VN","ZA"],"GASDEM":["AL","AT","AU","AZ","BE","BG","BH","BN","BO","BY","CA","CH","CL","CZ","DE","DK","DZ","EC","EE","EG","ES","FI","FR","GE","GQ","GR","HK","HR","HU","ID","IE","IN","IT","JP","KR","KW","LT","LU","LV","LY","MA","MD","MK","MT","MX","NG","NL","NO","NZ","PE","PH","PL","PT","QA","RO","SE","SI","SK","TN","TR","TT","TW","UA","UK","US","VE","ZA"],"GASODEM":["AE","AL","AM","AO","AR","AT","AU","AZ","BB","BD","BE","BG","BH","BM","BN","BO","BR","BY","BZ","CA","CH","CL","CN","CO","CR","CU","CY","CZ","DE","DK","DO","DZ","EC","EE","EG","ES","FI","FR","GA","GD","GE","GM","GQ","GR","GT","GY","HK","HN","HR","HT","HU","ID","IE","IN","IQ","IR","IS","IT","JM","JP","KR","KW","KZ","LT","LU","LV","LY","MA","MD","MK","MM","MT","MU","MX","MY","NE","NG","NI","NL","NO","NP","NZ","OM","PA","PE","PG","PH","PL","PT","PY","QA","RO","RU","SA","SD","SE","SG","SI","SK","SR","SV","SY","SZ","TH","TJ","TN","TR","TT","TW","UA","UK","US","UY","VE","VN","YE","ZA"],"GASOPROD":["AE","AL","AM","AO","AR","AT","AU","AZ","BB","BD","BE","BG","BH","BM","BN","BO","BR","BY","BZ","CA","CH","CL","CN","CO","CR","CU","CY","CZ","DE","DK","DO","DZ","EC","EE","EG","ES","FI","FR","GA","GD","GE","GM","GQ","GR","GT","GY","HK","HN","HR","HT","HU","ID","IE","IN","IQ","IR","IS","IT","JM","JP","KR","KW","KZ","LT","LU","LV","LY","MA","MD","MK","MM","MT","MU","MX","MY","NE","NG","NI","NL","NO","NP","NZ","OM","PA","PE","PG","PH","PL","PT","PY","QA","RO","RU","SA","SD","SE","SG","SI","SK","SR","SV","SY","SZ","TH","TJ","TN","TR","TT","TW","UA","UK","US","UY","VE","VN","YE","ZA"],"GASPROD":["AL","AT","AU","AZ","BE","BG","BH","BN","BO","BY","CA","CH","CL","CN","CZ","DE","DK","DZ","EC","EE","EG","ES","FI","FR","GA","GE","GQ","GR","HK","HR","HU","ID","IE","IN","IQ","IT","JP","KR","KW","KZ","LT","LU","LV","LY","MA","MD","MK","MT","MX","MY","NG","NL","NO","NZ","PE","PG","PH","PL","PT","QA","RO","RU","SE","SG","SI","SK","TH","TN","TR","TT","TW","UA","UK","US","VE","VN","ZA"],"GBAL":["AR","AT","AU","AZ","BD","BE","BG","BR","CA","CH","CN","CO","CR","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IS","IT","JP","KH","KR","KZ","LT","LU","LV","MO","MT","MX","MY","NL","NO","PE","PH","PL","PT","RO","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","ZA"],"GCF":["AT","BE","BG","BR","BY","CH","CN","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","KR","LT","LU","LV","ME","MK","MT","NL","NO","NZ","PE","PL","PT","QA","RO","RS","RU","SE","SI","SK","TH","UA","UK"],"GDEBT":["AR","AT","AU","BE","BG","BR","CA","CL","CN","CO","CR","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IT","JO","JP","KR","KZ","LT","LU","LV","MT","MX","MY","NL","NO","PH","PK","PL","PT","QA","RO","RU","SA","SE","SG","SI","SK","SV","TH","TR","TW","UK","US","ZA"],"GDEBTN":["AT","BE","BG","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK","UK"],"GDP":["AE","AL","AR","AT","AU","AZ","BD","BE","BG","BR","BW","BY","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DK","EA","EE","EG","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JO","JP","KH","KR","KZ","LA","LT","LU","LV","MA","ME","MK","MO","MT","MX","MY","NG","NL","NO","NZ","PA","PE","PH","PK","PL","PT","QA","RO","RS","RU","RW","SA","SE","SG","SI","SK","SV","TH","TN","TR","TW","UA","UK","US","UZ","VN","ZA"],"GDPDEF":["LK"],"GDPPC":["AL","AT","AU","BE","BG","BR","CH","CN","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IS","IT","KH","KZ","LI","LT","LU","LV","ME","MK","MT","NL","NO","NZ","PL","PT","RO","RS","SE","SG","SI","SK","TR","TW","US"],"GFCF":["AE","AL","AR","AT","AU","AZ","BD","BE","BG","BR","BW","BY","CA","CH","CL","CM","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IR","IT","JP","KR","KZ","LT","LU","LV","MA","ME","MN","MT","MX","MY","NG","NL","NO","NZ","PH","PK","PL","PT","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UZ","VN","ZA"],"GREV":["AR","AT","AU","AZ","BD","BE","BG","BR","CA","CH","CN","CO","CR","CY","CZ","DE","DK","EE","ES","EU","FI","FR","HK","HR","HU","ID","IE","IL","IN","JP","KH","KR","KZ","LT","LU","LV","MA","MO","MT","MX","MY","NL","PE","PH","PL","PT","RO","RU","SA","SE","SG","SI","SK","SV","TH","TR","TW","UA","UK","US","UY","VN","ZA"],"GSPE":["AR","AT","AU","AZ","BD","BE","BG","BR","CA","CH","CN","CO","CR","CY","CZ","DE","DK","EE","ES","EU","FI","FR","HK","HR","HU","ID","IE","IL","IN","JP","KH","KR","KZ","LT","LU","LV","MO","MT","MX","MY","NL","PE","PH","PL","PT","RO","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UY","VN","ZA"],"HHDIR":["AT","BE","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","NL","NO","PL","PT","SE","SI","SK","TR"],"HHS":["AT","BE","CN","CZ","DE","DK","ES","EU","FI","FR","GR","HU","IE","IT","NL","NO","PL","PT","RO","SE","SI","UK"],"HOU":["5R","AE","AT","AU","BE","BG","BR","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IS","IT","JP","KR","LT","LU","LV","MA","MK","MT","MX","MY","NL","NO","NZ","PE","PH","PL","PT","RO","RU","SE","SG","SI","SK","TH","TR","UK","US","XW","ZA"],"IBD1":["AU","BG","CL","CO","CZ","DK","EA","HR","HU","KR","MX","NZ","PL","PY","RO","RU","SE","SG","TH","TR","UA","UK"],"IIPA":["AL","AR","AT","AU","BA","BD","BE","BG","BR","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EE","EG","ES","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IS","IT","JP","KH","KR","LT","LU","LV","MT","MX","MY","NL","NO","NP","PH","PK","PL","PT","RO","RU","SA","SE","SG","SI","SK","TH","TR","TW","UK","US","XK","ZA"],"IIPL":["AL","AR","AT","AU","BA","BD","BE","BG","BR","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EE","EG","ES","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IS","IT","JP","KH","KR","LT","LU","LV","MT","MX","MY","NL","NO","NP","PH","PK","PL","PT","RO","RU","SA","SE","SG","SI","SK","TH","TR","TW","UK","US","XK","ZA"],"IMP":["AE","AL","AR","AT","AU","AZ","BD","BE","BG","BR","BW","BY","CA","CH","CL","CM","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IR","IT","JO","JP","KR","KZ","LT","LU","LV","MA","ME","MK","MN","MT","MX","MY","NG","NL","NO","NZ","PE","PH","PK","PL","PT","QA","RO","RS","RU","RW","SA","SE","SG","SI","SK","SV","TH","TR","TW","UA","UK","US","ZA"],"IMPMON":["AR","AU","BD","BE","BG","BR","CA","CL","CN","CO","CR","CZ","DE","DK","EE","EG","ES","EU","FI","FR","GR","HK","HR","HU","ID","IN","IT","JP","KH","KR","KZ","LT","LU","LV","MK","MT","MX","MY","NL","NP","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UY","VN","ZA"],"INVER":["AT","BE","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LV","NL","NO","PL","PT","RO","SE","SI","SK"],"IP":["AR","AT","AU","AZ","BA","BD","BE","BG","BR","BY","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DK","EE","EG","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IT","JO","JP","KR","KZ","LT","LU","LV","MA","ME","MK","MT","MX","MY","NL","NO","PA","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UY","VN","ZA"],"JHR":["US"],"JLR":["US"],"JQR":["US"],"JVR":["AT","BE","BG","CH","CY","CZ","DE","EA","EE","ES","EU","FI","GR","HR","HU","IE","IT","LT","LU","LV","MK","MT","NL","NO","PL","PT","RO","SE","SI","SK","UK","US"],"KA":["BE","BG","CN","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IT","LT","LU","LV","MT","NL","PH","PL","PT","RO","SE","SI","SK"],"LE00":["CN"],"LMICS":["W00"],"M3":["AR","AU","BR","BY","CA","CH","CL","CN","CR","EA","HU","ID","IN","JP","KR","KZ","MA","MX","MY","NO","NP","PH","PL","RU","SA","SG","TH","TN","TR","UA","UK","US","UY","ZA"],"M3YD":["AE","AU","CA","CN","CZ","DK","EA","HK","HR","HU","ID","IN","JP","KR","MO","MX","MY","NP","NZ","PA","PH","PL","QA","RO","RU","SA","SE","SG","TH","TR","UA","UK","US","VN","ZA"],"MB":["AR","AU","BR","CH","CN","EG","IN","JP","KR","MX","MY","NO","RU","SA","TH","TR","UA","UK","US"],"NCT":["BE","BG","CN","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IT","LT","LU","LV","MT","MX","NL","PH","PL","PT","RO","SE","SI","SK"],"NFCI":["AT","BE","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HU","IE","IT","NL","NO","PL","PT","RO","SE","UK"],"NFCLOAN":["BG","CY","EE","HR","LT","LV","MT","RO","SI","SK"],"NIIP":["AL","AR","AT","AU","BA","BD","BE","BG","BR","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EE","EG","ES","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IS","IT","JP","KH","KR","LT","LU","LV","MK","MT","MX","MY","NL","NO","NP","PH","PK","PL","PT","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","XK","ZA"],"NPL":["AR","AT","AU","BE","BR","CN","DK","ES","FI","FR","HK","ID","IE","IN","IT","JP","LU","MX","NL","NO","PL","RU","SA","SE","SG","TR","US","ZA"],"NY":["BE","BG","CN","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IT","LT","LU","LV","MT","MX","NL","PH","PL","PT","RO","SE","SI","SK"],"OILDEM":["AE","AL","AM","AO","AR","AT","AU","AZ","BB","BD","BE","BG","BH","BM","BN","BO","BR","BY","BZ","CA","CH","CL","CN","CO","CR","CU","CY","CZ","DE","DK","DO","DZ","EC","EE","EG","ES","FI","FR","GA","GD","GE","GM","GQ","GR","GT","GY","HK","HN","HR","HT","HU","ID","IE","IN","IQ","IR","IS","IT","JM","JP","KR","KW","KZ","LT","LU","LV","LY","MA","MD","MK","MM","MT","MU","MX","MY","NE","NG","NI","NL","NO","NP","NZ","OM","PA","PE","PG","PH","PL","PT","PY","QA","RO","RU","SA","SD","SE","SG","SI","SK","SR","SV","SY","SZ","TH","TJ","TN","TR","TT","TW","UA","UK","US","UY","VE","VN","YE","ZA"],"OILPROD":["AE","AL","AM","AO","AR","AT","AU","AZ","BB","BD","BE","BG","BH","BM","BN","BO","BR","BY","BZ","CA","CH","CL","CN","CO","CR","CU","CY","CZ","DE","DK","DO","DZ","EC","EE","EG","ES","FI","FR","GA","GD","GE","GM","GQ","GR","GT","GY","HK","HN","HR","HT","HU","ID","IE","IN","IQ","IR","IS","IT","JM","JP","KR","KW","KZ","LT","LU","LV","LY","MA","MD","MK","MM","MT","MU","MX","MY","NE","NG","NI","NL","NO","NP","NZ","OM","PA","PE","PG","PH","PL","PT","PY","QA","RO","RU","SA","SD","SE","SG","SI","SK","SR","SV","SY","SZ","TH","TJ","TN","TR","TT","TW","UA","UK","US","UY","VE","VN","YE","ZA"],"PALUM":["W00"],"PAPPLE":["W00"],"PART":["CO","DO","LK","NZ","TR"],"PBANSOP":["W00"],"PBARL":["W00"],"PBEEF":["W00"],"PCE":["US"],"PCHANA":["W00"],"PCHROM":["W00"],"PCOALAU":["W00"],"PCOALSA":["W00"],"PCOBA":["W00"],"PCOCO":["W00"],"PCOFFOTM":["W00"],"PCOFFROB":["W00"],"PCOIL":["W00"],"PCOPP":["W00"],"PCOTTIND":["W00"],"PDAP":["W00"],"PFSHMEAL":["W00"],"PGASO":["W00"],"PGNUTS":["W00"],"PGOLD":["W00"],"PHEATOIL":["W00"],"PHIDE":["W00"],"PIORECR":["W00"],"PLAMB":["W00"],"PLEAD":["W00"],"PLITH":["W00"],"PLMMODY":["W00"],"PLOGORE":["W00"],"PLOGSK":["W00"],"PMAIZMT":["W00"],"PMANGELE":["W00"],"PMILK":["W00"],"PNGASEU":["W00"],"PNGASJP":["W00"],"PNGASUS":["W00"],"PNICK":["W00"],"POATS":["W00"],"POILAPSP":["W00"],"POILBRE":["W00"],"POILDUB":["W00"],"POILWTI":["W00"],"POLIR":["AR","AU","AZ","BR","CA","CH","CL","CN","CO","CZ","DK","EA","HK","HR","HU","ID","IL","IN","IS","JP","KR","MK","MO","MX","MY","NO","NP","NZ","PE","PH","PL","PY","QA","RO","RS","RU","SA","SE","SG","TH","TN","TR","TW","UA","UK","US","UZ","ZA"],"POLVOIL":["W00"],"POP":["AD","AE","AL","AM","AR","AT","AU","AZ","BD","BE","BG","BO","BR","BY","CA","CD","CH","CL","CN","CO","CR","CY","CZ","DE","DK","DO","DZ","EC","EE","EG","ES","ET","EU","FI","FR","GE","GR","GT","HK","HR","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JO","JP","KG","KH","KR","KW","KZ","LB","LI","LK","LT","LU","LV","LY","MA","MD","ME","MK","MM","MO","MT","MX","MY","NG","NI","NL","NO","NZ","PH","PL","PT","PY","QA","RO","RS","RU","SA","SD","SE","SG","SI","SK","SM","SN","SV","TH","TJ","TM","TN","TR","TW","UA","UK","US","UY","UZ","VE","VN","XK","ZA"],"PORANG":["W00"],"PPALLA":["W00"],"PPI":["AL","AR","AT","AU","BD","BE","BG","BR","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","EE","EG","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IT","JO","JP","KR","KZ","LT","LU","LV","MA","ME","MK","MT","MX","MY","NL","NO","PA","PE","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","SV","TH","TN","TR","TW","UA","UK","US","UY","VN","ZA"],"PPLAT":["W00"],"PPOIL":["W00"],"PPORK":["W00"],"PPOTASH":["W00"],"PPOULT":["W00"],"PPROPANE":["W00"],"PRC":["AE","AR","AT","AU","AZ","BD","BE","BG","BR","BW","BY","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IR","IT","JP","KR","KZ","LT","LU","LV","MA","ME","MK","MN","MT","MX","MY","NG","NL","NO","NZ","PE","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","VN","ZA"],"PREODOM":["W00"],"PRICENPQ":["W00"],"PRIDEBT":["BG","CY","EE","HR","LT","LV","MT","RO","SI","SK"],"PROIL":["W00"],"PRUBB":["W00"],"PSALM":["W00"],"PSAWMAL":["W00"],"PSAWORE":["W00"],"PSHRI":["W00"],"PSILLUMP":["W00"],"PSILVER":["W00"],"PSMEA":["W00"],"PSOIL":["W00"],"PSORG":["W00"],"PSOYB":["W00"],"PSUGAISA":["W00"],"PSUGAUSA":["W00"],"PSUNO":["W00"],"PTEA":["W00"],"PTEAINDIA":["W00"],"PTEAMOM":["W00"],"PTEASL":["W00"],"PTIN":["W00"],"PTOMATO":["W00"],"PUC":["AE","AL","AR","AT","AU","AZ","BD","BE","BG","BR","BW","BY","CA","CH","CL","CM","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IR","IT","JP","KR","KZ","LT","LU","LV","MA","ME","MK","MT","MX","MY","NG","NL","NO","NZ","PE","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","VN","ZA"],"PURAN":["W00"],"PUREA":["W00"],"PVANPENT":["W00"],"PWHEAMT":["W00"],"PWOOLC":["W00"],"PWOOLF":["W00"],"PZINC":["W00"],"RCI":["AE","AR","AU","AZ","BW","BY","CN","HK","IN","IR","KH","KR","MN","MO","MY","NG","NO","NZ","PA","PH","PK","SA","SG","TH","TW","UA","UK","US","VN","ZA"],"RCON":["AE","AL","AT","BA","BD","BE","BG","BY","CA","CH","CL","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","KR","LT","LU","LV","MK","MT","MX","NL","NO","PL","PT","RO","RS","SE","SI","SK","TH","UA","UK"],"REER":["AE","AR","AT","AU","AZ","BE","BG","BR","CA","CH","CL","CN","CO","CY","CZ","DE","DK","DZ","EE","ES","FI","FR","GR","HK","HR","HU","ID","IE","IL","IN","IS","IT","JP","KR","LT","LU","LV","MT","MX","MY","NL","NO","NZ","PE","PH","PL","PT","PY","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UK","US","ZA"],"REEREA":["XM"],"RETA":["AL","AR","AT","AU","AZ","BA","BE","BG","BR","CA","CH","CN","CO","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IR","IT","JP","KR","LT","LU","LV","ME","MK","MT","MX","MY","NL","NO","NZ","PL","PT","RO","RS","RU","SE","SG","SI","SK","TH","TR","TW","UK","US","VN","ZA"],"REXP":["AE","AL","AR","AT","AU","AZ","BA","BD","BE","BG","BR","BW","BY","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JP","KH","KR","LT","LU","LV","MA","MK","MN","MO","MT","MX","MY","NG","NL","NO","NZ","PA","PE","PH","PK","PL","PT","RO","RS","RU","RW","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UZ","ZA"],"RGCF":["AT","BA","BE","BG","BY","CH","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","KR","LT","LU","LV","MK","MT","NL","NO","NZ","PE","PK","PL","PT","RO","RS","RU","RW","SE","SI","SK","UA","UK"],"RGDP":["AE","AL","AR","AT","AU","AZ","BA","BD","BE","BG","BR","BW","BY","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DK","EA","EE","EG","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JO","JP","KH","KR","KZ","LA","LT","LU","LV","MA","MK","MN","MO","MT","MX","MY","NG","NL","NO","NZ","PA","PE","PH","PK","PL","PT","QA","RO","RS","RU","RW","SA","SE","SG","SI","SK","TH","TN","TR","TW","UA","UK","US","UY","UZ","VN","ZA"],"RGDPPC":["AL","AT","AU","BE","BG","BR","CH","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HR","HU","IE","IS","IT","LT","LU","LV","ME","MK","MT","NL","NO","NZ","PL","PT","RO","RS","SE","SI","SK","TR","US"],"RGFCF":["AE","AL","AR","AT","AU","AZ","BA","BD","BE","BG","BR","BW","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JP","KH","KR","LT","LU","LV","MA","MN","MO","MT","MX","MY","NG","NL","NO","NZ","PH","PK","PL","PT","RO","RS","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","VN","ZA"],"RIMP":["AE","AL","AR","AT","AU","AZ","BA","BD","BE","BG","BR","BW","BY","CA","CH","CL","CN","CO","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JP","KH","KR","LT","LU","LV","MA","MK","MN","MO","MT","MX","MY","NG","NL","NO","NZ","PA","PE","PH","PK","PL","PT","RO","RS","RU","RW","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UZ","ZA"],"RPRC":["AE","AR","AT","AU","AZ","BA","BD","BE","BG","BR","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JP","KH","KR","LT","LU","LV","MA","MK","MO","MT","MX","MY","NG","NL","NO","NZ","PE","PH","PK","PL","PT","RO","RS","RU","RW","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UZ","VN","ZA"],"RPUC":["AE","AL","AR","AT","AU","AZ","BA","BD","BE","BG","BR","BW","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HN","HR","HU","ID","IE","IL","IN","IR","IT","JP","KH","KR","LT","LU","LV","MA","MK","MN","MO","MT","MX","MY","NG","NL","NO","NZ","PA","PE","PH","PK","PL","PT","RO","RS","RU","RW","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","UZ","VN","ZA"],"SEI":["AE","AT","AU","BD","BE","BR","CA","CH","CN","DE","DK","ES","FI","FR","ID","IE","IN","IT","JP","KR","LA","LU","MX","NL","NO","OM","PA","PK","PL","RS","RU","SE","TR","US","UZ","ZA"],"SENT":["AL","AT","AU","BE","BG","BR","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","JP","KR","LT","LU","LV","ME","MK","MT","NL","PL","PT","RO","RS","SE","SI","SK","TR","UK","US"],"TB":["BE","BG","BR","CA","CZ","DE","DK","EE","EG","FI","FR","GR","HR","HU","IN","IT","LT","LU","LV","MK","MT","MX","NL","PL","PT","RO","RS","SE","SI","SK","TH","US","VN"],"URATE":["AE","AR","AT","AU","AZ","BD","BE","BG","BR","BY","CA","CH","CL","CN","CO","CR","CY","CZ","DE","DK","DO","EA","EE","EG","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IL","IS","IT","JO","JP","KH","KR","KZ","LK","LT","LU","LV","MA","MO","MT","MX","MY","NL","NO","NZ","PE","PH","PK","PL","PT","QA","RO","RS","RU","SA","SE","SG","SI","SK","TH","TN","TR","TW","UA","UK","US","UY","VN","ZA"],"UTIL":["AL","AR","AT","BE","BG","CA","CY","CZ","DE","DK","EE","ES","EU","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","ME","MK","MT","NL","PL","PT","RO","RS","SE","SI","SK","TR","UK","US"],"WAGE":["UY","VN"],"WAGEMAN":["CL","MX","US"],"Y10YD":["AR","AT","AU","BD","BE","BG","CA","CN","CY","CZ","DE","DK","EA","EE","ES","EU","FI","FR","GR","HK","HR","HU","ID","IE","IN","IT","JP","KR","LT","LU","LV","MT","MX","MY","NL","NZ","PH","PL","PT","QA","RO","RU","SA","SE","SG","SI","SK","TH","TR","TW","UA","UK","US","VN","ZA"]} \ No newline at end of file +{"ACPOP": ["AT", "BE", "BG", "BR", "CA", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IE", "IS", "IT", "JP", "LT", "LU", "LV", "ME", "MK", "MT", "MX", "NL", "NO", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "SE", "SI", "SK", "TR", "TW", "US", "VN"], "CA": ["AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BT", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IT", "JO", "JP", "KH", "KR", "KZ", "LA", "LT", "LU", "LV", "MA", "MT", "MX", "MY", "NL", "NO", "NP", "NZ", "PA", "PH", "PK", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TN", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "CAR": ["AT", "BE", "BG", "CH", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IS", "IT", "LT", "LU", "LV", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK", "UK", "ZA"], "CBAL": ["AL", "AT", "AZ", "BE", "BG", "CH", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IR", "IT", "LT", "LU", "LV", "ME", "MT", "NL", "NO", "PH", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "UK", "US"], "CI": ["AE", "AR", "AT", "AU", "AZ", "BE", "BG", "BR", "BW", "BY", "CH", "CN", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MN", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "VN", "ZA"], "CKA": ["BE", "BG", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IT", "LT", "LU", "LV", "MT", "NL", "PL", "PT", "RO", "SE", "SI", "SK"], "CLAIMS": ["US"], "CLI": ["AT", "AU", "BE", "BR", "CA", "CH", "CL", "CN", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KR", "LU", "MX", "NL", "NO", "NZ", "PL", "PT", "RU", "SE", "SI", "SK", "TR", "UK", "US", "ZA"], "CON": ["AE", "AL", "AT", "BD", "BE", "BG", "BY", "CA", "CH", "CL", "CN", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "KR", "LT", "LU", "LV", "MK", "MT", "MX", "NL", "NO", "PL", "PT", "QA", "RO", "RS", "RU", "SE", "SI", "SK", "UA", "UK", "ZA"], "CONF": ["AL", "AT", "AU", "BE", "BG", "BR", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "ID", "IE", "IL", "IT", "JP", "KR", "LT", "LU", "LV", "ME", "MK", "MT", "MX", "NL", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "UK", "US"], "CORE": ["AR", "AT", "AU", "BD", "BE", "BG", "BR", "CA", "CH", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IN", "IS", "IT", "JP", "KR", "LT", "LU", "LV", "MK", "MT", "MX", "NL", "NO", "NP", "PL", "PT", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UK", "US"], "CP": ["AT", "BE", "BG", "CZ", "DE", "DK", "ES", "EU", "FI", "FR", "HR", "HU", "IT", "LU", "MK", "MX", "NL", "NO", "PL", "PT", "RO", "SE", "SG", "SI", "SK", "UK"], "CPI": ["AE", "AF", "AG", "AL", "AM", "AR", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BN", "BO", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CF", "CG", "CH", "CI", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "EA", "EC", "EE", "EG", "ES", "ET", "EU", "FI", "FJ", "FR", "GA", "GD", "GE", "GN", "GQ", "GR", "GT", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", "KG", "KH", "KI", "KN", "KR", "KW", "KZ", "LA", "LB", "LC", "LK", "LR", "LS", "LT", "LU", "LV", "MA", "MD", "ME", "MG", "MK", "ML", "MM", "MN", "MO", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NE", "NG", "NI", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PH", "PK", "PL", "PS", "PT", "QA", "RO", "RS", "RU", "SA", "SB", "SC", "SD", "SE", "SG", "SI", "SK", "SR", "SS", "ST", "SV", "SZ", "TD", "TG", "TH", "TJ", "TL", "TN", "TO", "TR", "TT", "TW", "UA", "UG", "UK", "US", "UY", "UZ", "VC", "VE", "VN", "WS", "XK", "ZA", "ZM", "ZW"], "CRED": ["AR", "AT", "AU", "BE", "BR", "CA", "CH", "CL", "CN", "CO", "CZ", "DE", "DK", "ES", "FI", "FR", "GR", "HK", "HU", "ID", "IE", "IL", "IN", "IT", "JP", "KR", "LU", "MO", "MX", "MY", "NL", "NO", "NZ", "PL", "PT", "RU", "SA", "SE", "SG", "TH", "TN", "TR", "UK", "US", "ZA"], "CREDEA": ["XM"], "DWPE": ["BE", "CY", "DE", "ES", "EU", "FI", "FR", "GR", "HU", "MK", "NL", "NO", "PT", "RO", "SE", "SI"], "ELE": ["AT", "BE", "BG", "CH", "CN", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "MK", "MT", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK", "TR", "UK", "US", "ZA"], "EMP": ["AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "ID", "IE", "IS", "IT", "JO", "JP", "KR", "KZ", "LK", "LT", "LU", "LV", "ME", "MK", "MO", "MT", "MX", "MY", "NL", "NO", "NZ", "PA", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "TH", "TN", "TR", "TW", "UA", "US", "UY", "VN", "ZA"], "EMRATIO": ["AT", "BE", "BG", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IE", "IS", "IT", "JP", "LT", "LU", "LV", "ME", "MK", "MT", "NL", "NO", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "TW", "US"], "EQYCAP": ["CN"], "EXP": ["AE", "AL", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JO", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MK", "MN", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TR", "TW", "UA", "UK", "US", "ZA"], "EXPMON": ["AR", "AU", "BD", "BE", "BG", "BR", "CA", "CL", "CN", "CO", "CR", "CZ", "DE", "DK", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IN", "IT", "JP", "KH", "KR", "KZ", "LT", "LU", "LV", "MK", "MT", "MX", "MY", "NL", "NP", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "GASDEM": ["AL", "AT", "AU", "AZ", "BE", "BG", "BH", "BN", "BO", "BY", "CA", "CH", "CL", "CZ", "DE", "DK", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GE", "GQ", "GR", "HK", "HR", "HU", "ID", "IE", "IN", "IT", "JP", "KR", "KW", "LT", "LU", "LV", "LY", "MA", "MD", "MK", "MT", "MX", "NG", "NL", "NO", "NZ", "PE", "PH", "PL", "PT", "QA", "RO", "SE", "SI", "SK", "TN", "TR", "TT", "TW", "UA", "UK", "US", "VE", "ZA"], "GASODEM": ["AE", "AL", "AM", "AO", "AR", "AT", "AU", "AZ", "BB", "BD", "BE", "BG", "BH", "BM", "BN", "BO", "BR", "BY", "BZ", "CA", "CH", "CL", "CN", "CO", "CR", "CU", "CY", "CZ", "DE", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GA", "GD", "GE", "GM", "GQ", "GR", "GT", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IN", "IQ", "IR", "IS", "IT", "JM", "JP", "KR", "KW", "KZ", "LT", "LU", "LV", "LY", "MA", "MD", "MK", "MM", "MT", "MU", "MX", "MY", "NE", "NG", "NI", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PG", "PH", "PL", "PT", "PY", "QA", "RO", "RU", "SA", "SD", "SE", "SG", "SI", "SK", "SR", "SV", "SY", "SZ", "TH", "TJ", "TN", "TR", "TT", "TW", "UA", "UK", "US", "UY", "VE", "VN", "YE", "ZA"], "GASOPROD": ["AE", "AL", "AM", "AO", "AR", "AT", "AU", "AZ", "BB", "BD", "BE", "BG", "BH", "BM", "BN", "BO", "BR", "BY", "BZ", "CA", "CH", "CL", "CN", "CO", "CR", "CU", "CY", "CZ", "DE", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GA", "GD", "GE", "GM", "GQ", "GR", "GT", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IN", "IQ", "IR", "IS", "IT", "JM", "JP", "KR", "KW", "KZ", "LT", "LU", "LV", "LY", "MA", "MD", "MK", "MM", "MT", "MU", "MX", "MY", "NE", "NG", "NI", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PG", "PH", "PL", "PT", "PY", "QA", "RO", "RU", "SA", "SD", "SE", "SG", "SI", "SK", "SR", "SV", "SY", "SZ", "TH", "TJ", "TN", "TR", "TT", "TW", "UA", "UK", "US", "UY", "VE", "VN", "YE", "ZA"], "GASPROD": ["AL", "AT", "AU", "AZ", "BE", "BG", "BH", "BN", "BO", "BY", "CA", "CH", "CL", "CN", "CZ", "DE", "DK", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GA", "GE", "GQ", "GR", "HK", "HR", "HU", "ID", "IE", "IN", "IQ", "IT", "JP", "KR", "KW", "KZ", "LT", "LU", "LV", "LY", "MA", "MD", "MK", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PE", "PG", "PH", "PL", "PT", "QA", "RO", "RU", "SE", "SG", "SI", "SK", "TH", "TN", "TR", "TT", "TW", "UA", "UK", "US", "VE", "VN", "ZA"], "GBAL": ["AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "CA", "CH", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KH", "KR", "KZ", "LT", "LU", "LV", "MO", "MT", "MX", "MY", "NL", "NO", "PE", "PH", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "ZA"], "GCF": ["AT", "BE", "BG", "BR", "BY", "CH", "CN", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "KR", "LT", "LU", "LV", "ME", "MK", "MT", "NL", "NO", "NZ", "PE", "PL", "PT", "QA", "RO", "RS", "RU", "SE", "SI", "SK", "TH", "UA", "UK"], "GDEBT": ["AR", "AT", "AU", "BE", "BG", "BR", "CA", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IT", "JO", "JP", "KR", "KZ", "LT", "LU", "LV", "MT", "MX", "MY", "NL", "NO", "PH", "PK", "PL", "PT", "QA", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TR", "TW", "UK", "US", "ZA"], "GDEBTN": ["AT", "BE", "BG", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "MT", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK", "UK"], "GDP": ["AE", "AL", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EA", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JO", "JP", "KH", "KR", "KZ", "LA", "LT", "LU", "LV", "MA", "ME", "MK", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PA", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TN", "TR", "TW", "UA", "UK", "US", "UZ", "VN", "ZA"], "GDPDEF": ["LK"], "GDPPC": ["AL", "AT", "AU", "BE", "BG", "BR", "CH", "CN", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IS", "IT", "KH", "KZ", "LI", "LT", "LU", "LV", "ME", "MK", "MT", "NL", "NO", "NZ", "PL", "PT", "RO", "RS", "SE", "SG", "SI", "SK", "TR", "TW", "US"], "GFCF": ["AE", "AL", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MN", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UZ", "VN", "ZA"], "GREV": ["AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "CA", "CH", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "JP", "KH", "KR", "KZ", "LT", "LU", "LV", "MA", "MO", "MT", "MX", "MY", "NL", "PE", "PH", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "GSPE": ["AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "CA", "CH", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "JP", "KH", "KR", "KZ", "LT", "LU", "LV", "MO", "MT", "MX", "MY", "NL", "PE", "PH", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "HHDIR": ["AT", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "NL", "NO", "PL", "PT", "SE", "SI", "SK", "TR"], "HHS": ["AT", "BE", "CN", "CZ", "DE", "DK", "ES", "EU", "FI", "FR", "GR", "HU", "IE", "IT", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "UK"], "HOU": ["5R", "AE", "AT", "AU", "BE", "BG", "BR", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KR", "LT", "LU", "LV", "MA", "MK", "MT", "MX", "MY", "NL", "NO", "NZ", "PE", "PH", "PL", "PT", "RO", "RU", "SE", "SG", "SI", "SK", "TH", "TR", "UK", "US", "XW", "ZA"], "IBD1": ["AU", "BG", "CL", "CO", "CZ", "DK", "EA", "HR", "HU", "KR", "MX", "NZ", "PL", "PY", "RO", "RU", "SE", "SG", "TH", "TR", "UA", "UK"], "IIPA": ["AL", "AR", "AT", "AU", "BA", "BD", "BE", "BG", "BR", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EE", "EG", "ES", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MT", "MX", "MY", "NL", "NO", "NP", "PH", "PK", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UK", "US", "XK", "ZA"], "IIPL": ["AL", "AR", "AT", "AU", "BA", "BD", "BE", "BG", "BR", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EE", "EG", "ES", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MT", "MX", "MY", "NL", "NO", "NP", "PH", "PK", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UK", "US", "XK", "ZA"], "IMP": ["AE", "AL", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JO", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MK", "MN", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TR", "TW", "UA", "UK", "US", "ZA"], "IMPMON": ["AR", "AU", "BD", "BE", "BG", "BR", "CA", "CL", "CN", "CO", "CR", "CZ", "DE", "DK", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IN", "IT", "JP", "KH", "KR", "KZ", "LT", "LU", "LV", "MK", "MT", "MX", "MY", "NL", "NP", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "INVER": ["AT", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LV", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK"], "IP": ["AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IT", "JO", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MK", "MT", "MX", "MY", "NL", "NO", "PA", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "JHR": ["US"], "JLR": ["US"], "JQR": ["US"], "JVR": ["AT", "BE", "BG", "CH", "CY", "CZ", "DE", "EA", "EE", "ES", "EU", "FI", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "MK", "MT", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK", "UK", "US"], "KA": ["BE", "BG", "CN", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IT", "LT", "LU", "LV", "MT", "NL", "PH", "PL", "PT", "RO", "SE", "SI", "SK"], "LE00": ["CN"], "LMICS": ["W00"], "M3": ["AR", "AU", "BR", "BY", "CA", "CH", "CL", "CN", "CR", "EA", "HU", "ID", "IN", "JP", "KR", "KZ", "MA", "MX", "MY", "NO", "NP", "PH", "PL", "RU", "SA", "SG", "TH", "TN", "TR", "UA", "UK", "US", "UY", "ZA"], "M3YD": ["AE", "AU", "CA", "CN", "CZ", "DK", "EA", "HK", "HR", "HU", "ID", "IN", "JP", "KR", "MO", "MX", "MY", "NP", "NZ", "PA", "PH", "PL", "QA", "RO", "RU", "SA", "SE", "SG", "TH", "TR", "UA", "UK", "US", "VN", "ZA"], "MB": ["AR", "AU", "BR", "CH", "CN", "EG", "IN", "JP", "KR", "MX", "MY", "NO", "RU", "SA", "TH", "TR", "UA", "UK", "US"], "NCT": ["BE", "BG", "CN", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IT", "LT", "LU", "LV", "MT", "MX", "NL", "PH", "PL", "PT", "RO", "SE", "SI", "SK"], "NFCI": ["AT", "BE", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HU", "IE", "IT", "NL", "NO", "PL", "PT", "RO", "SE", "UK"], "NFCLOAN": ["BG", "CY", "EE", "HR", "LT", "LV", "MT", "RO", "SI", "SK"], "NIIP": ["AL", "AR", "AT", "AU", "BA", "BD", "BE", "BG", "BR", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EE", "EG", "ES", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MK", "MT", "MX", "MY", "NL", "NO", "NP", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "XK", "ZA"], "NPL": ["AR", "AT", "AU", "BE", "BR", "CN", "DK", "ES", "FI", "FR", "HK", "ID", "IE", "IN", "IT", "JP", "LU", "MX", "NL", "NO", "PL", "RU", "SA", "SE", "SG", "TR", "US", "ZA"], "NY": ["BE", "BG", "CN", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IT", "LT", "LU", "LV", "MT", "MX", "NL", "PH", "PL", "PT", "RO", "SE", "SI", "SK"], "OILDEM": ["AE", "AL", "AM", "AO", "AR", "AT", "AU", "AZ", "BB", "BD", "BE", "BG", "BH", "BM", "BN", "BO", "BR", "BY", "BZ", "CA", "CH", "CL", "CN", "CO", "CR", "CU", "CY", "CZ", "DE", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GA", "GD", "GE", "GM", "GQ", "GR", "GT", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IN", "IQ", "IR", "IS", "IT", "JM", "JP", "KR", "KW", "KZ", "LT", "LU", "LV", "LY", "MA", "MD", "MK", "MM", "MT", "MU", "MX", "MY", "NE", "NG", "NI", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PG", "PH", "PL", "PT", "PY", "QA", "RO", "RU", "SA", "SD", "SE", "SG", "SI", "SK", "SR", "SV", "SY", "SZ", "TH", "TJ", "TN", "TR", "TT", "TW", "UA", "UK", "US", "UY", "VE", "VN", "YE", "ZA"], "OILPROD": ["AE", "AL", "AM", "AO", "AR", "AT", "AU", "AZ", "BB", "BD", "BE", "BG", "BH", "BM", "BN", "BO", "BR", "BY", "BZ", "CA", "CH", "CL", "CN", "CO", "CR", "CU", "CY", "CZ", "DE", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GA", "GD", "GE", "GM", "GQ", "GR", "GT", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IN", "IQ", "IR", "IS", "IT", "JM", "JP", "KR", "KW", "KZ", "LT", "LU", "LV", "LY", "MA", "MD", "MK", "MM", "MT", "MU", "MX", "MY", "NE", "NG", "NI", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PG", "PH", "PL", "PT", "PY", "QA", "RO", "RU", "SA", "SD", "SE", "SG", "SI", "SK", "SR", "SV", "SY", "SZ", "TH", "TJ", "TN", "TR", "TT", "TW", "UA", "UK", "US", "UY", "VE", "VN", "YE", "ZA"], "PALUM": ["W00"], "PAPPLE": ["W00"], "PART": ["CO", "DO", "LK", "NZ", "TR"], "PBANSOP": ["W00"], "PBARL": ["W00"], "PBEEF": ["W00"], "PCE": ["US"], "PCHANA": ["W00"], "PCHROM": ["W00"], "PCOALAU": ["W00"], "PCOALSA": ["W00"], "PCOBA": ["W00"], "PCOCO": ["W00"], "PCOFFOTM": ["W00"], "PCOFFROB": ["W00"], "PCOIL": ["W00"], "PCOPP": ["W00"], "PCOTTIND": ["W00"], "PDAP": ["W00"], "PFSHMEAL": ["W00"], "PGASO": ["W00"], "PGNUTS": ["W00"], "PGOLD": ["W00"], "PHEATOIL": ["W00"], "PHIDE": ["W00"], "PIORECR": ["W00"], "PLAMB": ["W00"], "PLEAD": ["W00"], "PLITH": ["W00"], "PLMMODY": ["W00"], "PLOGORE": ["W00"], "PLOGSK": ["W00"], "PMAIZMT": ["W00"], "PMANGELE": ["W00"], "PMILK": ["W00"], "PNGASEU": ["W00"], "PNGASJP": ["W00"], "PNGASUS": ["W00"], "PNICK": ["W00"], "POATS": ["W00"], "POILAPSP": ["W00"], "POILBRE": ["W00"], "POILDUB": ["W00"], "POILWTI": ["W00"], "POLIR": ["AR", "AU", "AZ", "BR", "CA", "CH", "CL", "CN", "CO", "CZ", "DK", "EA", "HK", "HR", "HU", "ID", "IL", "IN", "IS", "JP", "KR", "MK", "MO", "MX", "MY", "NO", "NP", "NZ", "PE", "PH", "PL", "PY", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "TH", "TN", "TR", "TW", "UA", "UK", "US", "UZ", "ZA"], "POLVOIL": ["W00"], "POP": ["AD", "AE", "AL", "AM", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BO", "BR", "BY", "CA", "CD", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "ET", "EU", "FI", "FR", "GE", "GR", "GT", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IQ", "IR", "IS", "IT", "JO", "JP", "KG", "KH", "KR", "KW", "KZ", "LB", "LI", "LK", "LT", "LU", "LV", "LY", "MA", "MD", "ME", "MK", "MM", "MO", "MT", "MX", "MY", "NG", "NI", "NL", "NO", "NZ", "PH", "PL", "PT", "PY", "QA", "RO", "RS", "RU", "SA", "SD", "SE", "SG", "SI", "SK", "SM", "SN", "SV", "TH", "TJ", "TM", "TN", "TR", "TW", "UA", "UK", "US", "UY", "UZ", "VE", "VN", "XK", "ZA"], "PORANG": ["W00"], "PPALLA": ["W00"], "PPI": ["AL", "AR", "AT", "AU", "BD", "BE", "BG", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IT", "JO", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MK", "MT", "MX", "MY", "NL", "NO", "PA", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "SV", "TH", "TN", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "PPLAT": ["W00"], "PPOIL": ["W00"], "PPORK": ["W00"], "PPOTASH": ["W00"], "PPOULT": ["W00"], "PPROPANE": ["W00"], "PRC": ["AE", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MK", "MN", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "VN", "ZA"], "PREODOM": ["W00"], "PRICENPQ": ["W00"], "PRIDEBT": ["BG", "CY", "EE", "HR", "LT", "LV", "MT", "RO", "SI", "SK"], "PROIL": ["W00"], "PRUBB": ["W00"], "PSALM": ["W00"], "PSAWMAL": ["W00"], "PSAWORE": ["W00"], "PSHRI": ["W00"], "PSILLUMP": ["W00"], "PSILVER": ["W00"], "PSMEA": ["W00"], "PSOIL": ["W00"], "PSORG": ["W00"], "PSOYB": ["W00"], "PSUGAISA": ["W00"], "PSUGAUSA": ["W00"], "PSUNO": ["W00"], "PTEA": ["W00"], "PTEAINDIA": ["W00"], "PTEAMOM": ["W00"], "PTEASL": ["W00"], "PTIN": ["W00"], "PTOMATO": ["W00"], "PUC": ["AE", "AL", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KR", "KZ", "LT", "LU", "LV", "MA", "ME", "MK", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "VN", "ZA"], "PURAN": ["W00"], "PUREA": ["W00"], "PVANPENT": ["W00"], "PWHEAMT": ["W00"], "PWOOLC": ["W00"], "PWOOLF": ["W00"], "PZINC": ["W00"], "RCI": ["AE", "AR", "AU", "AZ", "BW", "BY", "CN", "HK", "IN", "IR", "KH", "KR", "MN", "MO", "MY", "NG", "NO", "NZ", "PA", "PH", "PK", "SA", "SG", "TH", "TW", "UA", "UK", "US", "VN", "ZA"], "RCON": ["AE", "AL", "AT", "BA", "BD", "BE", "BG", "BY", "CA", "CH", "CL", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "KR", "LT", "LU", "LV", "MK", "MT", "MX", "NL", "NO", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TH", "UA", "UK"], "REER": ["AE", "AR", "AT", "AU", "AZ", "BE", "BG", "BR", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "DZ", "EE", "ES", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IS", "IT", "JP", "KR", "LT", "LU", "LV", "MT", "MX", "MY", "NL", "NO", "NZ", "PE", "PH", "PL", "PT", "PY", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UK", "US", "ZA"], "REEREA": ["XM"], "RETA": ["AL", "AR", "AT", "AU", "AZ", "BA", "BE", "BG", "BR", "CA", "CH", "CN", "CO", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IR", "IT", "JP", "KR", "LT", "LU", "LV", "ME", "MK", "MT", "MX", "MY", "NL", "NO", "NZ", "PL", "PT", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UK", "US", "VN", "ZA"], "REXP": ["AE", "AL", "AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MA", "MK", "MN", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PA", "PE", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UZ", "ZA"], "RGCF": ["AT", "BA", "BE", "BG", "BY", "CH", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "KR", "LT", "LU", "LV", "MK", "MT", "NL", "NO", "NZ", "PE", "PK", "PL", "PT", "RO", "RS", "RU", "RW", "SE", "SI", "SK", "UA", "UK"], "RGDP": ["AE", "AL", "AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CM", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EA", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JO", "JP", "KH", "KR", "KZ", "LA", "LT", "LU", "LV", "MA", "MK", "MN", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PA", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "TH", "TN", "TR", "TW", "UA", "UK", "US", "UY", "UZ", "VN", "ZA"], "RGDPPC": ["AL", "AT", "AU", "BE", "BG", "BR", "CH", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IS", "IT", "LT", "LU", "LV", "ME", "MK", "MT", "NL", "NO", "NZ", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "US"], "RGFCF": ["AE", "AL", "AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MA", "MN", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "VN", "ZA"], "RIMP": ["AE", "AL", "AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CN", "CO", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MA", "MK", "MN", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PA", "PE", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UZ", "ZA"], "RPRC": ["AE", "AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MA", "MK", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PE", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UZ", "VN", "ZA"], "RPUC": ["AE", "AL", "AR", "AT", "AU", "AZ", "BA", "BD", "BE", "BG", "BR", "BW", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IT", "JP", "KH", "KR", "LT", "LU", "LV", "MA", "MK", "MN", "MO", "MT", "MX", "MY", "NG", "NL", "NO", "NZ", "PA", "PE", "PH", "PK", "PL", "PT", "RO", "RS", "RU", "RW", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "UZ", "VN", "ZA"], "SEI": ["AE", "AT", "AU", "BD", "BE", "BR", "CA", "CH", "CN", "DE", "DK", "ES", "FI", "FR", "ID", "IE", "IN", "IT", "JP", "KR", "LA", "LU", "MX", "NL", "NO", "OM", "PA", "PK", "PL", "RS", "RU", "SE", "TR", "US", "UZ", "ZA"], "SENT": ["AL", "AT", "AU", "BE", "BG", "BR", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "JP", "KR", "LT", "LU", "LV", "ME", "MK", "MT", "NL", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "UK", "US"], "TB": ["BE", "BG", "BR", "CA", "CZ", "DE", "DK", "EE", "EG", "FI", "FR", "GR", "HR", "HU", "IN", "IT", "LT", "LU", "LV", "MK", "MT", "MX", "NL", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TH", "US", "VN"], "URATE": ["AE", "AR", "AT", "AU", "AZ", "BD", "BE", "BG", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "EA", "EE", "EG", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IS", "IT", "JO", "JP", "KH", "KR", "KZ", "LK", "LT", "LU", "LV", "MA", "MO", "MT", "MX", "MY", "NL", "NO", "NZ", "PE", "PH", "PK", "PL", "PT", "QA", "RO", "RS", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TN", "TR", "TW", "UA", "UK", "US", "UY", "VN", "ZA"], "UTIL": ["AL", "AR", "AT", "BE", "BG", "CA", "CY", "CZ", "DE", "DK", "EE", "ES", "EU", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "ME", "MK", "MT", "NL", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "UK", "US"], "WAGE": ["UY", "VN"], "WAGEMAN": ["CL", "MX", "US"], "Y10YD": ["AR", "AT", "AU", "BD", "BE", "BG", "CA", "CN", "CY", "CZ", "DE", "DK", "EA", "EE", "ES", "EU", "FI", "FR", "GR", "HK", "HR", "HU", "ID", "IE", "IN", "IT", "JP", "KR", "LT", "LU", "LV", "MT", "MX", "MY", "NL", "NZ", "PH", "PL", "PT", "QA", "RO", "RU", "SA", "SE", "SG", "SI", "SK", "TH", "TR", "TW", "UA", "UK", "US", "VN", "ZA"]} \ No newline at end of file diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/main_indicators.py b/openbb_platform/providers/econdb/openbb_econdb/utils/main_indicators.py index 3845e97d235..4d7971d774d 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/main_indicators.py +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/main_indicators.py @@ -1,4 +1,4 @@ -"""Main Indicators""" +"""Main Indicators.""" from datetime import datetime, timedelta from typing import Dict, List, Literal, Union @@ -6,6 +6,7 @@ from typing import Dict, List, Literal, Union from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession from numpy import arange +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.utils.helpers import amake_request from openbb_econdb.utils.helpers import COUNTRY_MAP, THREE_LETTER_ISO_MAP @@ -102,15 +103,15 @@ async def get_main_indicators( # pylint: disable=R0913,R0914,R0915 if len(country) == 3: country = THREE_LETTER_ISO_MAP.get(country.upper()) if not country: - raise ValueError(f"Error: Invalid country code -> {country}") + raise OpenBBError(f"Error: Invalid country code -> {country}") if country in COUNTRY_MAP: country = COUNTRY_MAP.get(country) if len(country) != 2: - raise ValueError( + raise OpenBBError( f"Error: Please supply a 2-Letter ISO Country Code -> {country}" ) if country not in COUNTRY_MAP.values(): - raise ValueError(f"Error: Invalid country code -> {country}") + raise OpenBBError(f"Error: Invalid country code -> {country}") parents_url = ( "https://www.econdb.com/trends/country_forecast/" + f"?country={country}&freq={freq}&transform={transform}" diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/multipliers.json b/openbb_platform/providers/econdb/openbb_econdb/utils/multipliers.json index 70ebe1e8273..d10120d270f 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/multipliers.json +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/multipliers.json @@ -1 +1 @@ -{"ACPOPAT":1000,"ACPOPBE":1000,"ACPOPBG":1000,"ACPOPBR":1000,"ACPOPCA":1000,"ACPOPCH":1000,"ACPOPCY":1000,"ACPOPCZ":1000,"ACPOPDE":1000,"ACPOPDK":1000,"ACPOPEE":1000,"ACPOPES":1000,"ACPOPFI":1000,"ACPOPFR":1000,"ACPOPGR":1000,"ACPOPHR":1000,"ACPOPHU":1000,"ACPOPIE":1000,"ACPOPIS":1000,"ACPOPIT":1000,"ACPOPJP":10000,"ACPOPLT":1000,"ACPOPLU":1000,"ACPOPLV":1000,"ACPOPME":1000,"ACPOPMK":1000,"ACPOPMT":1000,"ACPOPMX":1,"ACPOPNL":1000,"ACPOPNO":1000,"ACPOPPH":1000,"ACPOPPK":1000000,"ACPOPPL":1000,"ACPOPPT":1000,"ACPOPQA":1,"ACPOPRO":1000,"ACPOPRS":1000,"ACPOPSE":1000,"ACPOPSI":1000,"ACPOPSK":1000,"ACPOPTR":1000,"ACPOPTW":1,"ACPOPUS":1000,"ACPOPVN":1000,"CAAR":1000000,"CAAT":1000000,"CAAU":1000000,"CAAZ":1000000,"CABD":1000000,"CABE":1000000,"CABG":1000000,"CABR":1000000,"CABT":1000000,"CABY":1000000,"CACA":1000000,"CACH":1000000000,"CACL":1000000,"CACN":100000000,"CACO":1000000,"CACR":1000000,"CACY":1000000,"CACZ":1000000,"CADE":1000000,"CADK":1000000,"CAEE":1000000,"CAEG":1000000,"CAES":1000000,"CAEU":1000000,"CAFI":1000000,"CAFR":1000000,"CAGR":1000000,"CAHK":1000000,"CAHR":1000000,"CAHU":1000000,"CAID":1000000,"CAIE":1000000,"CAIL":1000000,"CAIN":1000000,"CAIT":1000000,"CAJO":1000000,"CAJP":100000000,"CAKH":1000000000,"CAKR":1000000,"CAKZ":1000000,"CALA":1000000,"CALT":1000000,"CALU":1000000,"CALV":1000000,"CAMA":1000000,"CAMT":1000000,"CAMX":1000000,"CAMY":1000000,"CANL":1000000,"CANO":1000000,"CANP":1000000,"CANZ":1000000,"CAPA":1000000,"CAPH":1000000,"CAPK":1000000,"CAPL":1000000,"CAPT":1000000,"CARAT":1,"CARBE":1,"CARBG":1,"CARCH":1,"CARCZ":1,"CARDE":1,"CARDK":1,"CAREE":1,"CARES":1,"CAREU":1,"CARFI":1,"CARFR":1,"CARGR":1,"CARHR":1,"CARHU":1,"CARIE":1,"CARIS":1,"CARIT":1,"CARLT":1,"CARLU":1,"CARLV":1,"CARNL":1,"CARNO":1,"CARO":1000000,"CARPL":1,"CARPT":1,"CARRO":1,"CARSE":1,"CARSI":1,"CARSK":1,"CARU":1000000,"CARUK":1,"CARZA":1,"CASA":1000000,"CASE":1000000,"CASG":1000000,"CASI":1000000,"CASK":1000000,"CASV":1000000,"CATH":1000000,"CATN":1000000,"CATR":1000000,"CATW":1000000,"CAUA":1000000,"CAUK":1000000,"CAUS":1000000,"CAUY":1000000,"CAVN":1000000,"CAZA":1000000,"CBALAL":1000000,"CBALAT":1000000,"CBALAZ":1000000,"CBALBE":1000000,"CBALBG":1000000,"CBALCH":1000000,"CBALCY":1000000,"CBALCZ":1000000,"CBALDE":1000000,"CBALDK":1000000,"CBALEA":1000000,"CBALEE":1000000,"CBALES":1000000,"CBALEU":1000000,"CBALFI":1000000,"CBALFR":1000000,"CBALGR":1000000,"CBALHR":1000000,"CBALHU":1000000,"CBALIE":1000000,"CBALIR":1000000000,"CBALIT":1000000,"CBALLT":1000000,"CBALLU":1000000,"CBALLV":1000000,"CBALME":1000000,"CBALMT":1000000,"CBALNL":1000000,"CBALNO":1000000,"CBALPH":1000000,"CBALPL":1000000,"CBALPT":1000000,"CBALRO":1000000,"CBALRS":1000000,"CBALSE":1000000,"CBALSI":1000000,"CBALSK":1000000,"CBALTR":1000000,"CBALUK":1000000,"CBALUS":1000000000,"CIAE":1000000,"CIAR":1000000,"CIAT":1000000,"CIAU":1000000,"CIAZ":1000000,"CIBE":1000000,"CIBG":1000000,"CIBR":1000000,"CIBW":1000000,"CIBY":1000000,"CICH":1000000,"CICN":100000000,"CICY":1000000,"CICZ":1000000,"CIDE":1000000,"CIDK":1000000,"CIEE":1000000,"CIES":1000000,"CIFI":1000000,"CIFR":1000000,"CIGR":1000000,"CIHK":1000000,"CIHR":1000000,"CIHU":1000000,"CIID":1000000000,"CIIE":1000000,"CIIL":1000000,"CIIN":10000000,"CIIR":1000000000,"CIIT":1000000,"CIKR":1000000000,"CIKZ":1000000,"CILT":1000000,"CILU":1000000,"CILV":1000000,"CIMA":1000000,"CIME":1000000,"CIMN":1000000,"CIMT":1000000,"CIMX":1000000,"CIMY":1000000,"CING":1000000,"CINL":1000000,"CINO":1000000,"CINZ":1000000,"CIPH":1000000,"CIPK":1000000,"CIPL":1000000,"CIPT":1000000,"CIRO":1000000,"CIRS":1000000,"CIRU":1000000000,"CISA":1000000,"CISE":1000000,"CISG":1000000,"CISI":1000000,"CISK":1000000,"CITH":1000000,"CITR":1000,"CITW":1000000,"CIUA":1000000,"CIUK":1000000,"CIUS":1000000,"CIVN":1000000000,"CIZA":1000000,"CKABE":1000000,"CKABG":1000000,"CKACZ":1000000,"CKADE":1000000,"CKADK":1000000,"CKAEE":1000000,"CKAES":1000000,"CKAFI":1000000,"CKAFR":1000000,"CKAGR":1000000,"CKAHR":1000000,"CKAHU":1000000,"CKAIT":1000000,"CKALT":1000000,"CKALU":1000000,"CKALV":1000000,"CKAMT":1000000,"CKANL":1000000,"CKAPL":1000000,"CKAPT":1000000,"CKARO":1000000,"CKASE":1000000,"CKASI":1000000,"CKASK":1000000,"CLAIMSUS":1,"CLIAT":1,"CLIAU":1,"CLIBE":1,"CLIBR":1,"CLICA":1,"CLICH":1,"CLICL":1,"CLICN":1,"CLICZ":1,"CLIDE":1,"CLIDK":1,"CLIEE":1,"CLIES":1,"CLIFI":1,"CLIFR":1,"CLIGR":1,"CLIHU":1,"CLIID":1,"CLIIE":1,"CLIIL":1,"CLIIN":1,"CLIIS":1,"CLIIT":1,"CLIJP":1,"CLIKR":1,"CLILU":1,"CLIMX":1,"CLINL":1,"CLINO":1,"CLINZ":1,"CLIPL":1,"CLIPT":1,"CLIRU":1,"CLISE":1,"CLISI":1,"CLISK":1,"CLITR":1,"CLIUK":1,"CLIUS":1,"CLIZA":1,"CONAE":1000000,"CONAL":1000000,"CONAT":1000000,"CONBD":1000000,"CONBE":1000000,"CONBG":1000000,"CONBY":1000000,"CONCA":1000000,"CONCH":1000000,"CONCL":1000000000,"CONCN":100000000,"CONCY":1000000,"CONCZ":1000000,"CONDE":1000000,"CONDK":1000000,"CONEA":1000000,"CONEE":1000000,"CONES":1000000,"CONEU":1000000,"CONFAL":1,"CONFAT":1,"CONFAU":1,"CONFBE":1,"CONFBG":1,"CONFBR":1,"CONFCY":1,"CONFCZ":1,"CONFDE":1,"CONFDK":1,"CONFEE":1,"CONFES":1,"CONFEU":1,"CONFFI":1,"CONFFR":1,"CONFGR":1,"CONFHR":1,"CONFHU":1,"CONFI":1000000,"CONFID":1,"CONFIE":1,"CONFIL":1,"CONFIT":1,"CONFJP":1,"CONFKR":1,"CONFLT":1,"CONFLU":1,"CONFLV":1,"CONFME":1,"CONFMK":1,"CONFMT":1,"CONFMX":1,"CONFNL":1,"CONFPL":1,"CONFPT":1,"CONFR":1000000,"CONFRO":1,"CONFRS":1,"CONFSE":1,"CONFSI":1,"CONFSK":1,"CONFTR":1,"CONFUK":1,"CONFUS":1,"CONGR":1000000,"CONHR":1000000,"CONHU":1000000,"CONIE":1000000,"CONIT":1000000,"CONKR":1000000000,"CONLT":1000000,"CONLU":1000000,"CONLV":1000000,"CONMK":1000000,"CONMT":1000000,"CONMX":1000000,"CONNL":1000000,"CONNO":1000000,"CONPL":1000000,"CONPT":1000000,"CONQA":1000000,"CONRO":1000000,"CONRS":1000000,"CONRU":1000000000,"CONSE":1000000,"CONSI":1000000,"CONSK":1000000,"CONUA":1000000,"CONUK":1000000,"CONZA":1000000,"COREAR":1,"COREAT":1,"COREAU":1,"COREBD":1,"COREBE":1,"COREBG":1,"COREBR":1,"CORECA":1,"CORECH":1,"CORECY":1,"CORECZ":1,"COREDE":1,"COREDK":1,"COREEA":1,"COREEE":1,"COREES":1,"COREEU":1,"COREFI":1,"COREFR":1,"COREGR":1,"COREHR":1,"COREHU":1,"COREIE":1,"COREIN":1,"COREIS":1,"COREIT":1,"COREJP":1,"COREKR":1,"CORELT":1,"CORELU":1,"CORELV":1,"COREMK":1,"COREMT":1,"COREMX":1,"CORENL":1,"CORENO":1,"CORENP":1,"COREPL":1,"COREPT":1,"CORERO":1,"CORERS":1,"CORERU":1,"CORESE":1,"CORESG":1,"CORESI":1,"CORESK":1,"CORETH":1,"CORETR":1,"CORETW":1,"COREUK":1,"COREUS":1,"CPAT":1,"CPBE":1,"CPBG":1,"CPCZ":1,"CPDE":1,"CPDK":1,"CPES":1,"CPEU":1,"CPFI":1,"CPFR":1,"CPHR":1,"CPHU":1,"CPIAE":1,"CPIAF":1,"CPIAG":1,"CPIAL":1,"CPIAM":1,"CPIAR":1,"CPIAT":1,"CPIAU":1,"CPIAW":1,"CPIAZ":1,"CPIBA":1,"CPIBB":1,"CPIBD":1,"CPIBE":1,"CPIBF":1,"CPIBG":1,"CPIBH":1,"CPIBI":1,"CPIBJ":1,"CPIBN":1,"CPIBO":1,"CPIBR":1,"CPIBS":1,"CPIBT":1,"CPIBW":1,"CPIBY":1,"CPIBZ":1,"CPICA":1,"CPICF":1,"CPICG":1,"CPICH":1,"CPICI":1,"CPICL":1,"CPICM":1,"CPICN":1,"CPICO":1,"CPICR":1,"CPICV":1,"CPICW":1,"CPICY":1,"CPICZ":1,"CPIDE":1,"CPIDJ":1,"CPIDK":1,"CPIDM":1,"CPIDO":1,"CPIEA":1,"CPIEC":1,"CPIEE":1,"CPIEG":1,"CPIES":1,"CPIET":1,"CPIEU":1,"CPIFI":1,"CPIFJ":1,"CPIFR":1,"CPIGA":1,"CPIGD":1,"CPIGE":1,"CPIGN":1,"CPIGQ":1,"CPIGR":1,"CPIGT":1,"CPIGW":1,"CPIGY":1,"CPIHK":1,"CPIHN":1,"CPIHR":1,"CPIHT":1,"CPIHU":1,"CPIID":1,"CPIIE":1,"CPIIL":1,"CPIIN":1,"CPIIQ":1,"CPIIR":1,"CPIIS":1,"CPIIT":1,"CPIJM":1,"CPIJO":1,"CPIJP":1,"CPIKG":1,"CPIKH":1,"CPIKI":1,"CPIKN":1,"CPIKR":1,"CPIKW":1,"CPIKZ":1,"CPILA":1,"CPILB":1,"CPILC":1,"CPILK":1,"CPILR":1,"CPILS":1,"CPILT":1,"CPILU":1,"CPILV":1,"CPIMA":1,"CPIMD":1,"CPIME":1,"CPIMG":1,"CPIMK":1,"CPIML":1,"CPIMM":1,"CPIMN":1,"CPIMO":1,"CPIMR":1,"CPIMS":1,"CPIMT":1,"CPIMU":1,"CPIMV":1,"CPIMW":1,"CPIMX":1,"CPIMY":1,"CPIMZ":1,"CPINE":1,"CPING":1,"CPINI":1,"CPINL":1,"CPINO":1,"CPINP":1,"CPINZ":1,"CPIOM":1,"CPIPA":1,"CPIPE":1,"CPIPH":1,"CPIPK":1,"CPIPL":1,"CPIPS":1,"CPIPT":1,"CPIQA":1,"CPIRO":1,"CPIRS":1,"CPIRU":1,"CPISA":1,"CPISB":1,"CPISC":1,"CPISD":1,"CPISE":1,"CPISG":1,"CPISI":1,"CPISK":1,"CPISR":1,"CPISS":1,"CPIST":1,"CPISV":1,"CPISZ":1,"CPIT":1,"CPITD":1,"CPITG":1,"CPITH":1,"CPITJ":1,"CPITL":1,"CPITN":1,"CPITO":1,"CPITR":1,"CPITT":1,"CPITW":1,"CPIUA":1,"CPIUG":1,"CPIUK":1,"CPIUS":1,"CPIUY":1,"CPIUZ":1,"CPIVC":1,"CPIVE":1,"CPIVN":1,"CPIWS":1,"CPIXK":1,"CPIZA":1,"CPIZM":1,"CPIZW":1,"CPLU":1,"CPMK":1,"CPMX":1000,"CPNL":1,"CPNO":1,"CPPL":1,"CPPT":1,"CPRO":1,"CPSE":1,"CPSG":1000000,"CPSI":1,"CPSK":1,"CPUK":1,"CREDAR":1000000000,"CREDAT":1000000000,"CREDAU":1000000000,"CREDBE":1000000000,"CREDBR":1000000000,"CREDCA":1000000000,"CREDCH":1000000000,"CREDCL":1000000000,"CREDCN":1000000000,"CREDCO":1000000000,"CREDCZ":1000000000,"CREDDE":1000000000,"CREDDK":1000000000,"CREDEA":1000000000,"CREDES":1000000000,"CREDFI":1000000000,"CREDFR":1000000000,"CREDGR":1000000000,"CREDHK":1000000000,"CREDHU":1000000000,"CREDID":1000000000,"CREDIE":1000000000,"CREDIL":1000000000,"CREDIN":1000000000,"CREDIT":1000000000,"CREDJP":1000000000,"CREDKR":1000000000,"CREDLU":1000000000,"CREDMO":1000000,"CREDMX":1000000000,"CREDMY":1000000000,"CREDNL":1000000000,"CREDNO":1000000000,"CREDNZ":1000000000,"CREDPL":1000000000,"CREDPT":1000000000,"CREDRU":1000000000,"CREDSA":1000000000,"CREDSE":1000000000,"CREDSG":1000000000,"CREDTH":1000000000,"CREDTN":1000000,"CREDTR":1000000000,"CREDUK":1000000000,"CREDUS":1000000000,"CREDZA":1000000000,"DWPEBE":1,"DWPECY":1,"DWPEDE":1,"DWPEES":1,"DWPEEU":1,"DWPEFI":1,"DWPEFR":1,"DWPEGR":1,"DWPEHU":1,"DWPEMK":1,"DWPENL":1,"DWPENO":1,"DWPEPT":1,"DWPERO":1,"DWPESE":1,"DWPESI":1,"ELEAT":1,"ELEBE":1,"ELEBG":1,"ELECH":1,"ELECN":100000000,"ELECY":1,"ELECZ":1,"ELEDE":1,"ELEDK":1,"ELEEE":1,"ELEES":1,"ELEEU":1,"ELEFI":1,"ELEFR":1,"ELEGR":1,"ELEHR":1,"ELEHU":1,"ELEIE":1,"ELEIT":1,"ELELT":1,"ELELU":1,"ELELV":1,"ELEMK":1,"ELEMT":1,"ELENL":1,"ELENO":1,"ELEPL":1,"ELEPT":1,"ELERO":1,"ELESE":1,"ELESI":1,"ELESK":1,"ELETR":1,"ELEUK":1,"ELEUS":1,"ELEZA":1,"EMPAR":1,"EMPAT":1000,"EMPAU":1000,"EMPAZ":1000,"EMPBD":1000000,"EMPBE":1000,"EMPBG":1000,"EMPBR":1000,"EMPBY":1000,"EMPCA":1000,"EMPCH":1000,"EMPCL":1000,"EMPCN":10000,"EMPCO":1,"EMPCR":1000,"EMPCY":1000,"EMPCZ":1000,"EMPDE":1000,"EMPDK":1000,"EMPDO":1,"EMPEE":1000,"EMPES":1000,"EMPFI":1000,"EMPFR":1000,"EMPGR":1000,"EMPHR":1000,"EMPHU":1000,"EMPID":1000,"EMPIE":1000,"EMPIS":1000,"EMPIT":1000,"EMPJO":1,"EMPJP":10000,"EMPKR":1000,"EMPKZ":1000,"EMPLK":1,"EMPLT":1000,"EMPLU":1000,"EMPLV":1000,"EMPME":1000,"EMPMK":1000,"EMPMO":1,"EMPMT":1000,"EMPMX":1,"EMPMY":1000000,"EMPNL":1000,"EMPNO":1000,"EMPNZ":1000,"EMPPA":1,"EMPPE":1,"EMPPH":1000,"EMPPK":1000000,"EMPPL":1000,"EMPPT":1000,"EMPQA":1,"EMPRO":1000,"EMPRS":1000,"EMPRU":1000000,"EMPSE":1000,"EMPSG":1000,"EMPSI":1000,"EMPSK":1000,"EMPTH":1000,"EMPTN":1,"EMPTR":1000,"EMPTW":1,"EMPUA":1000,"EMPUS":1000,"EMPUY":1,"EMPVN":1000,"EMPZA":1,"EMRATIOAT":1,"EMRATIOBE":1,"EMRATIOBG":1,"EMRATIOCH":1,"EMRATIOCY":1,"EMRATIOCZ":1,"EMRATIODE":1,"EMRATIODK":1,"EMRATIOEE":1,"EMRATIOES":1,"EMRATIOFI":1,"EMRATIOFR":1,"EMRATIOGR":1,"EMRATIOHR":1,"EMRATIOHU":1,"EMRATIOIE":1,"EMRATIOIS":1,"EMRATIOIT":1,"EMRATIOJP":1,"EMRATIOLT":1,"EMRATIOLU":1,"EMRATIOLV":1,"EMRATIOME":1,"EMRATIOMK":1,"EMRATIOMT":1,"EMRATIONL":1,"EMRATIONO":1,"EMRATIOPL":1,"EMRATIOPT":1,"EMRATIORO":1,"EMRATIORS":1,"EMRATIOSE":1,"EMRATIOSI":1,"EMRATIOSK":1,"EMRATIOTR":1,"EMRATIOTW":1,"EMRATIOUS":1,"EQYCAPCN":100000000,"EXPAE":1000000,"EXPAL":1000000,"EXPAR":1000000,"EXPAT":1000000,"EXPAU":1000000,"EXPAZ":1000000,"EXPBD":1000000,"EXPBE":1000000,"EXPBG":1000000,"EXPBR":1000000,"EXPBW":1000000,"EXPBY":1000000,"EXPCA":1000000,"EXPCH":1000000,"EXPCL":1000000000,"EXPCM":1000000000,"EXPCN":10000,"EXPCO":1000000000,"EXPCY":1000000,"EXPCZ":1000000,"EXPDE":1000000,"EXPDK":1000000,"EXPEA":1000000,"EXPEE":1000000,"EXPES":1000000,"EXPEU":1000000,"EXPFI":1000000,"EXPFR":1000000,"EXPGR":1000000,"EXPHK":1000000,"EXPHR":1000000,"EXPHU":1000000,"EXPID":1000000000,"EXPIE":1000000,"EXPIL":1000000,"EXPIN":10000000,"EXPIR":1000000000,"EXPIT":1000000,"EXPJO":1000000,"EXPJP":1000000000,"EXPKR":1000000000,"EXPKZ":1000000,"EXPLT":1000000,"EXPLU":1000000,"EXPLV":1000000,"EXPMA":1000000,"EXPME":1000000,"EXPMK":1000000,"EXPMN":1000000,"EXPMONAR":1000000,"EXPMONAU":1000000,"EXPMONBD":1000000,"EXPMONBE":1000000,"EXPMONBG":1000000,"EXPMONBR":1,"EXPMONCA":1000000,"EXPMONCL":1000000,"EXPMONCN":1000,"EXPMONCO":1000000,"EXPMONCR":1000000,"EXPMONCZ":1000000,"EXPMONDE":1000000,"EXPMONDK":1000000,"EXPMONEE":1000000,"EXPMONEG":1000000,"EXPMONES":1000000,"EXPMONEU":1000000,"EXPMONFI":1000000,"EXPMONFR":1000000,"EXPMONGR":1000000,"EXPMONHK":1000000,"EXPMONHR":1000000,"EXPMONHU":1000000,"EXPMONID":1000000,"EXPMONIN":1000000,"EXPMONIT":1000000,"EXPMONJP":1000,"EXPMONKH":1000000,"EXPMONKR":1000,"EXPMONKZ":1000000,"EXPMONLT":1000000,"EXPMONLU":1000000,"EXPMONLV":1000000,"EXPMONMK":1000000,"EXPMONMT":1000000,"EXPMONMX":1000000,"EXPMONMY":1000000,"EXPMONNL":1000000,"EXPMONNP":1000000,"EXPMONPH":1000000,"EXPMONPK":1000000,"EXPMONPL":1000000,"EXPMONPT":1000000,"EXPMONQA":1000000,"EXPMONRO":1000000,"EXPMONRS":1000000,"EXPMONRU":1000000,"EXPMONSA":1000000,"EXPMONSE":1000000,"EXPMONSG":1000,"EXPMONSI":1000000,"EXPMONSK":1000000,"EXPMONTH":1000000,"EXPMONTR":1000,"EXPMONTW":1000000,"EXPMONUA":1000000,"EXPMONUK":1000000,"EXPMONUS":1000000,"EXPMONUY":1000000,"EXPMONVN":1000,"EXPMONZA":1000000,"EXPMT":1000000,"EXPMX":1000000,"EXPMY":1000000,"EXPNG":1000000,"EXPNL":1000000,"EXPNO":1000000,"EXPNZ":1000000,"EXPPE":1000000,"EXPPH":1000000,"EXPPK":1000000,"EXPPL":1000000,"EXPPT":1000000,"EXPQA":1000000,"EXPRO":1000000,"EXPRS":1000000,"EXPRU":1000000000,"EXPRW":1000000000,"EXPSA":1000000,"EXPSE":1000000,"EXPSG":1000000,"EXPSI":1000000,"EXPSK":1000000,"EXPSV":1000000,"EXPTH":1000000,"EXPTR":1000,"EXPTW":1000000,"EXPUA":1000000,"EXPUK":1000000,"EXPUS":1000000,"EXPZA":1000000,"GASDEMAL":1000000,"GASDEMAT":1000000,"GASDEMAU":1000000,"GASDEMAZ":1000000,"GASDEMBE":1000000,"GASDEMBG":1000000,"GASDEMBH":1000000,"GASDEMBN":1000000,"GASDEMBO":1000000,"GASDEMBY":1000000,"GASDEMCA":1000000,"GASDEMCH":1000000,"GASDEMCL":1000000,"GASDEMCZ":1000000,"GASDEMDE":1000000,"GASDEMDK":1000000,"GASDEMDZ":1000000,"GASDEMEC":1000000,"GASDEMEE":1000000,"GASDEMEG":1000000,"GASDEMES":1000000,"GASDEMFI":1000000,"GASDEMFR":1000000,"GASDEMGE":1000000,"GASDEMGQ":1000000,"GASDEMGR":1000000,"GASDEMHK":1000000,"GASDEMHR":1000000,"GASDEMHU":1000000,"GASDEMID":1000000,"GASDEMIE":1000000,"GASDEMIN":1000000,"GASDEMIT":1000000,"GASDEMJP":1000000,"GASDEMKR":1000000,"GASDEMKW":1000000,"GASDEMLT":1000000,"GASDEMLU":1000000,"GASDEMLV":1000000,"GASDEMLY":1000000,"GASDEMMA":1000000,"GASDEMMD":1000000,"GASDEMMK":1000000,"GASDEMMT":1000000,"GASDEMMX":1000000,"GASDEMNG":1000000,"GASDEMNL":1000000,"GASDEMNO":1000000,"GASDEMNZ":1000000,"GASDEMPE":1000000,"GASDEMPH":1000000,"GASDEMPL":1000000,"GASDEMPT":1000000,"GASDEMQA":1000000,"GASDEMRO":1000000,"GASDEMSE":1000000,"GASDEMSI":1000000,"GASDEMSK":1000000,"GASDEMTN":1000000,"GASDEMTR":1000000,"GASDEMTT":1000000,"GASDEMTW":1000000,"GASDEMUA":1000000,"GASDEMUK":1000000,"GASDEMUS":1000000,"GASDEMVE":1000000,"GASDEMZA":1000000,"GASODEMAE":1000,"GASODEMAL":1000,"GASODEMAM":1000,"GASODEMAO":1000,"GASODEMAR":1000,"GASODEMAT":1000,"GASODEMAU":1000,"GASODEMAZ":1000,"GASODEMBB":1000,"GASODEMBD":1000,"GASODEMBE":1000,"GASODEMBG":1000,"GASODEMBH":1000,"GASODEMBM":1000,"GASODEMBN":1000,"GASODEMBO":1000,"GASODEMBR":1000,"GASODEMBY":1000,"GASODEMBZ":1000,"GASODEMCA":1000,"GASODEMCH":1000,"GASODEMCL":1000,"GASODEMCN":1000,"GASODEMCO":1000,"GASODEMCR":1000,"GASODEMCU":1000,"GASODEMCY":1000,"GASODEMCZ":1000,"GASODEMDE":1000,"GASODEMDK":1000,"GASODEMDO":1000,"GASODEMDZ":1000,"GASODEMEC":1000,"GASODEMEE":1000,"GASODEMEG":1000,"GASODEMES":1000,"GASODEMFI":1000,"GASODEMFR":1000,"GASODEMGA":1000,"GASODEMGD":1000,"GASODEMGE":1000,"GASODEMGM":1000,"GASODEMGQ":1000,"GASODEMGR":1000,"GASODEMGT":1000,"GASODEMGY":1000,"GASODEMHK":1000,"GASODEMHN":1000,"GASODEMHR":1000,"GASODEMHT":1000,"GASODEMHU":1000,"GASODEMID":1000,"GASODEMIE":1000,"GASODEMIN":1000,"GASODEMIQ":1000,"GASODEMIR":1000,"GASODEMIS":1000,"GASODEMIT":1000,"GASODEMJM":1000,"GASODEMJP":1000,"GASODEMKR":1000,"GASODEMKW":1000,"GASODEMKZ":1000,"GASODEMLT":1000,"GASODEMLU":1000,"GASODEMLV":1000,"GASODEMLY":1000,"GASODEMMA":1000,"GASODEMMD":1000,"GASODEMMK":1000,"GASODEMMM":1000,"GASODEMMT":1000,"GASODEMMU":1000,"GASODEMMX":1000,"GASODEMMY":1000,"GASODEMNE":1000,"GASODEMNG":1000,"GASODEMNI":1000,"GASODEMNL":1000,"GASODEMNO":1000,"GASODEMNP":1000,"GASODEMNZ":1000,"GASODEMOM":1000,"GASODEMPA":1000,"GASODEMPE":1000,"GASODEMPG":1000,"GASODEMPH":1000,"GASODEMPL":1000,"GASODEMPT":1000,"GASODEMPY":1000,"GASODEMQA":1000,"GASODEMRO":1000,"GASODEMRU":1000,"GASODEMSA":1000,"GASODEMSD":1000,"GASODEMSE":1000,"GASODEMSG":1000,"GASODEMSI":1000,"GASODEMSK":1000,"GASODEMSR":1000,"GASODEMSV":1000,"GASODEMSY":1000,"GASODEMSZ":1000,"GASODEMTH":1000,"GASODEMTJ":1000,"GASODEMTN":1000,"GASODEMTR":1000,"GASODEMTT":1000,"GASODEMTW":1000,"GASODEMUA":1000,"GASODEMUK":1000,"GASODEMUS":1000,"GASODEMUY":1000,"GASODEMVE":1000,"GASODEMVN":1000,"GASODEMYE":1000,"GASODEMZA":1000,"GASOPRODAE":1000,"GASOPRODAL":1000,"GASOPRODAM":1000,"GASOPRODAO":1000,"GASOPRODAR":1000,"GASOPRODAT":1000,"GASOPRODAU":1000,"GASOPRODAZ":1000,"GASOPRODBB":1000,"GASOPRODBD":1000,"GASOPRODBE":1000,"GASOPRODBG":1000,"GASOPRODBH":1000,"GASOPRODBM":1000,"GASOPRODBN":1000,"GASOPRODBO":1000,"GASOPRODBR":1000,"GASOPRODBY":1000,"GASOPRODBZ":1000,"GASOPRODCA":1000,"GASOPRODCH":1000,"GASOPRODCL":1000,"GASOPRODCN":1000,"GASOPRODCO":1000,"GASOPRODCR":1000,"GASOPRODCU":1000,"GASOPRODCY":1000,"GASOPRODCZ":1000,"GASOPRODDE":1000,"GASOPRODDK":1000,"GASOPRODDO":1000,"GASOPRODDZ":1000,"GASOPRODEC":1000,"GASOPRODEE":1000,"GASOPRODEG":1000,"GASOPRODES":1000,"GASOPRODFI":1000,"GASOPRODFR":1000,"GASOPRODGA":1000,"GASOPRODGD":1000,"GASOPRODGE":1000,"GASOPRODGM":1000,"GASOPRODGQ":1000,"GASOPRODGR":1000,"GASOPRODGT":1000,"GASOPRODGY":1000,"GASOPRODHK":1000,"GASOPRODHN":1000,"GASOPRODHR":1000,"GASOPRODHT":1000,"GASOPRODHU":1000,"GASOPRODID":1000,"GASOPRODIE":1000,"GASOPRODIN":1000,"GASOPRODIQ":1000,"GASOPRODIR":1000,"GASOPRODIS":1000,"GASOPRODIT":1000,"GASOPRODJM":1000,"GASOPRODJP":1000,"GASOPRODKR":1000,"GASOPRODKW":1000,"GASOPRODKZ":1000,"GASOPRODLT":1000,"GASOPRODLU":1000,"GASOPRODLV":1000,"GASOPRODLY":1000,"GASOPRODMA":1000,"GASOPRODMD":1000,"GASOPRODMK":1000,"GASOPRODMM":1000,"GASOPRODMT":1000,"GASOPRODMU":1000,"GASOPRODMX":1000,"GASOPRODMY":1000,"GASOPRODNE":1000,"GASOPRODNG":1000,"GASOPRODNI":1000,"GASOPRODNL":1000,"GASOPRODNO":1000,"GASOPRODNP":1000,"GASOPRODNZ":1000,"GASOPRODOM":1000,"GASOPRODPA":1000,"GASOPRODPE":1000,"GASOPRODPG":1000,"GASOPRODPH":1000,"GASOPRODPL":1000,"GASOPRODPT":1000,"GASOPRODPY":1000,"GASOPRODQA":1000,"GASOPRODRO":1000,"GASOPRODRU":1000,"GASOPRODSA":1000,"GASOPRODSD":1000,"GASOPRODSE":1000,"GASOPRODSG":1000,"GASOPRODSI":1000,"GASOPRODSK":1000,"GASOPRODSR":1000,"GASOPRODSV":1000,"GASOPRODSY":1000,"GASOPRODSZ":1000,"GASOPRODTH":1000,"GASOPRODTJ":1000,"GASOPRODTN":1000,"GASOPRODTR":1000,"GASOPRODTT":1000,"GASOPRODTW":1000,"GASOPRODUA":1000,"GASOPRODUK":1000,"GASOPRODUS":1000,"GASOPRODUY":1000,"GASOPRODVE":1000,"GASOPRODVN":1000,"GASOPRODYE":1000,"GASOPRODZA":1000,"GASPRODAL":1000000,"GASPRODAT":1000000,"GASPRODAU":1000000,"GASPRODAZ":1000000,"GASPRODBE":1000000,"GASPRODBG":1000000,"GASPRODBH":1000000,"GASPRODBN":1000000,"GASPRODBO":1000000,"GASPRODBY":1000000,"GASPRODCA":1000000,"GASPRODCH":1000000,"GASPRODCL":1000000,"GASPRODCN":1000000,"GASPRODCZ":1000000,"GASPRODDE":1000000,"GASPRODDK":1000000,"GASPRODDZ":1000000,"GASPRODEC":1000000,"GASPRODEE":1000000,"GASPRODEG":1000000,"GASPRODES":1000000,"GASPRODFI":1000000,"GASPRODFR":1000000,"GASPRODGA":1000000,"GASPRODGE":1000000,"GASPRODGQ":1000000,"GASPRODGR":1000000,"GASPRODHK":1000000,"GASPRODHR":1000000,"GASPRODHU":1000000,"GASPRODID":1000000,"GASPRODIE":1000000,"GASPRODIN":1000000,"GASPRODIQ":1000000,"GASPRODIT":1000000,"GASPRODJP":1000000,"GASPRODKR":1000000,"GASPRODKW":1000000,"GASPRODKZ":1000000,"GASPRODLT":1000000,"GASPRODLU":1000000,"GASPRODLV":1000000,"GASPRODLY":1000000,"GASPRODMA":1000000,"GASPRODMD":1000000,"GASPRODMK":1000000,"GASPRODMT":1000000,"GASPRODMX":1000000,"GASPRODMY":1000000,"GASPRODNG":1000000,"GASPRODNL":1000000,"GASPRODNO":1000000,"GASPRODNZ":1000000,"GASPRODPE":1000000,"GASPRODPG":1000000,"GASPRODPH":1000000,"GASPRODPL":1000000,"GASPRODPT":1000000,"GASPRODQA":1000000,"GASPRODRO":1000000,"GASPRODRU":1000000,"GASPRODSE":1000000,"GASPRODSG":1000000,"GASPRODSI":1000000,"GASPRODSK":1000000,"GASPRODTH":1000000,"GASPRODTN":1000000,"GASPRODTR":1000000,"GASPRODTT":1000000,"GASPRODTW":1000000,"GASPRODUA":1000000,"GASPRODUK":1000000,"GASPRODUS":1000000,"GASPRODVE":1000000,"GASPRODVN":1000000,"GASPRODZA":1000000,"GBALAR":1000000,"GBALAT":1000000,"GBALAU":1000000,"GBALAZ":1000000,"GBALBD":1000000000,"GBALBE":1000000,"GBALBG":1000000,"GBALBR":1000000,"GBALCA":1000000,"GBALCH":1000000,"GBALCN":1000000000,"GBALCO":1000000000,"GBALCR":1000000,"GBALCY":1000000,"GBALCZ":1000000,"GBALDE":1000000,"GBALDK":1000000,"GBALEE":1000000,"GBALES":1000000,"GBALEU":1000000,"GBALFI":1000000,"GBALFR":1000000,"GBALGR":1000000,"GBALHK":1000000,"GBALHR":1000000,"GBALHU":1000000,"GBALID":1000000000,"GBALIE":1000000,"GBALIL":1000000,"GBALIN":1000000000,"GBALIS":1000000,"GBALIT":1000000,"GBALJP":1000000000,"GBALKH":1000000,"GBALKR":1000000000,"GBALKZ":1000000,"GBALLT":1000000,"GBALLU":1000000,"GBALLV":1000000,"GBALMO":1000000,"GBALMT":1000000,"GBALMX":1000000,"GBALMY":1000000,"GBALNL":1000000,"GBALNO":1000000,"GBALPE":1000000,"GBALPH":1000000,"GBALPL":1000000,"GBALPT":1000000,"GBALRO":1000000,"GBALRU":1000000000,"GBALSA":1000000,"GBALSE":1000000,"GBALSG":1000000,"GBALSI":1000000,"GBALSK":1000000,"GBALTH":1000000,"GBALTR":1000000,"GBALTW":1000,"GBALUA":1000000,"GBALUK":1000000,"GBALUS":1000000,"GBALZA":1000000,"GCFAT":1000000,"GCFBE":1000000,"GCFBG":1000000,"GCFBR":1000000,"GCFBY":1000000,"GCFCH":1000000,"GCFCN":100000000,"GCFCY":1000000,"GCFCZ":1000000,"GCFDE":1000000,"GCFDK":1000000,"GCFEA":1000000,"GCFEE":1000000,"GCFES":1000000,"GCFEU":1000000,"GCFFI":1000000,"GCFFR":1000000,"GCFGR":1000000,"GCFHR":1000000,"GCFHU":1000000,"GCFIE":1000000,"GCFIT":1000000,"GCFKR":1000000000,"GCFLT":1000000,"GCFLU":1000000,"GCFLV":1000000,"GCFME":1000000,"GCFMK":1000000,"GCFMT":1000000,"GCFNL":1000000,"GCFNO":1000000,"GCFNZ":1000000,"GCFPE":1000000,"GCFPL":1000000,"GCFPT":1000000,"GCFQA":1000000,"GCFRO":1000000,"GCFRS":1000000,"GCFRU":1000000000,"GCFSE":1000000,"GCFSI":1000000,"GCFSK":1000000,"GCFTH":1000000,"GCFUA":1000000,"GCFUK":1000000,"GDEBTAR":1000000,"GDEBTAT":1000000,"GDEBTAU":1000000,"GDEBTBE":1000000,"GDEBTBG":1000000,"GDEBTBR":1000000,"GDEBTCA":1000000,"GDEBTCL":1000000,"GDEBTCN":100000000,"GDEBTCO":1000000000,"GDEBTCR":1000000,"GDEBTCY":1000000,"GDEBTCZ":1000000,"GDEBTDE":1000000,"GDEBTDK":1000000,"GDEBTEE":1000000,"GDEBTES":1000000,"GDEBTEU":1000000,"GDEBTFI":1000000,"GDEBTFR":1000000,"GDEBTGR":1000000,"GDEBTHK":1000000,"GDEBTHR":1000000,"GDEBTHU":1000000,"GDEBTID":1000000000,"GDEBTIE":1000000,"GDEBTIL":1000000,"GDEBTIN":10000000,"GDEBTIT":1000000,"GDEBTJO":1000000,"GDEBTJP":100000000,"GDEBTKR":1000000,"GDEBTKZ":1000000,"GDEBTLT":1000000,"GDEBTLU":1000000,"GDEBTLV":1000000,"GDEBTMT":1000000,"GDEBTMX":1000000000,"GDEBTMY":1000000,"GDEBTNAT":1000000,"GDEBTNBE":1000000,"GDEBTNBG":1000000,"GDEBTNCY":1000000,"GDEBTNCZ":1000000,"GDEBTNDE":1000000,"GDEBTNDK":1000000,"GDEBTNEE":1000000,"GDEBTNES":1000000,"GDEBTNEU":1000000,"GDEBTNFI":1000000,"GDEBTNFR":1000000,"GDEBTNGR":1000000,"GDEBTNHR":1000000,"GDEBTNHU":1000000,"GDEBTNIE":1000000,"GDEBTNIT":1000000,"GDEBTNL":1000000,"GDEBTNLT":1000000,"GDEBTNLU":1000000,"GDEBTNLV":1000000,"GDEBTNMT":1000000,"GDEBTNNL":1000000,"GDEBTNNO":1000000,"GDEBTNO":1000000,"GDEBTNPL":1000000,"GDEBTNPT":1000000,"GDEBTNRO":1000000,"GDEBTNSE":1000000,"GDEBTNSI":1000000,"GDEBTNSK":1000000,"GDEBTNUK":1000000,"GDEBTPH":1000000,"GDEBTPK":1000000000,"GDEBTPL":1000000,"GDEBTPT":1000000,"GDEBTQA":1000000000,"GDEBTRO":1000000,"GDEBTRU":1000000,"GDEBTSA":1000000,"GDEBTSE":1000000,"GDEBTSG":1000000,"GDEBTSI":1000000,"GDEBTSK":1000000,"GDEBTSV":1000000,"GDEBTTH":1000000,"GDEBTTR":1000000,"GDEBTTW":1000000,"GDEBTUK":1000000000,"GDEBTUS":1000000,"GDEBTZA":1000000,"GDPAE":1000000,"GDPAL":1000000,"GDPAR":1000000,"GDPAT":1000000,"GDPAU":1000000,"GDPAZ":1000000,"GDPBD":1000000,"GDPBE":1000000,"GDPBG":1000000,"GDPBR":1000000,"GDPBW":1000000,"GDPBY":1000000,"GDPCA":1000000,"GDPCH":1000000,"GDPCL":1000000000,"GDPCM":1000000000,"GDPCN":100000000,"GDPCO":1000000000,"GDPCR":1000000,"GDPCY":1000000,"GDPCZ":1000000,"GDPDE":1000000,"GDPDEFLK":1,"GDPDK":1000000,"GDPEA":1000000,"GDPEE":1000000,"GDPEG":1000000,"GDPES":1000000,"GDPEU":1000000,"GDPFI":1000000,"GDPFR":1000000,"GDPGR":1000000,"GDPHK":1000000,"GDPHN":1000000,"GDPHR":1000000,"GDPHU":1000000,"GDPID":1000000000,"GDPIE":1000000,"GDPIL":1000000,"GDPIN":10000000,"GDPIR":1000000000,"GDPIT":1000000,"GDPJO":1000000,"GDPJP":1000000000,"GDPKH":1000000000,"GDPKR":1000000000,"GDPKZ":1000000,"GDPLA":1000000000,"GDPLT":1000000,"GDPLU":1000000,"GDPLV":1000000,"GDPMA":1000000,"GDPME":1000000,"GDPMK":1000000,"GDPMO":1000000,"GDPMT":1000000,"GDPMX":1000000,"GDPMY":1000000,"GDPNG":1000,"GDPNL":1000000,"GDPNO":1000000,"GDPNZ":1000000,"GDPPA":1000000,"GDPPCAL":1,"GDPPCAT":1,"GDPPCAU":1,"GDPPCBE":1,"GDPPCBG":1,"GDPPCBR":1,"GDPPCCH":1,"GDPPCCN":1,"GDPPCCY":1,"GDPPCCZ":1,"GDPPCDE":1,"GDPPCDK":1,"GDPPCEA":1,"GDPPCEE":1,"GDPPCES":1,"GDPPCEU":1,"GDPPCFI":1,"GDPPCFR":1,"GDPPCGR":1,"GDPPCHR":1,"GDPPCHU":1,"GDPPCIE":1,"GDPPCIS":1,"GDPPCIT":1,"GDPPCKH":1000,"GDPPCKZ":1,"GDPPCLI":1,"GDPPCLT":1,"GDPPCLU":1,"GDPPCLV":1,"GDPPCME":1,"GDPPCMK":1,"GDPPCMT":1,"GDPPCNL":1,"GDPPCNO":1,"GDPPCNZ":1,"GDPPCPL":1,"GDPPCPT":1,"GDPPCRO":1,"GDPPCRS":1,"GDPPCSE":1,"GDPPCSG":1,"GDPPCSI":1,"GDPPCSK":1,"GDPPCTR":1,"GDPPCTW":1,"GDPPCUS":1,"GDPPE":1000000,"GDPPH":1000000,"GDPPK":1000000,"GDPPL":1000000,"GDPPT":1000000,"GDPQA":1000000,"GDPRO":1000000,"GDPRS":1000000,"GDPRU":1000000000,"GDPRW":1000000000,"GDPSA":1000000,"GDPSE":1000000,"GDPSG":1000000,"GDPSI":1000000,"GDPSK":1000000,"GDPSV":1000000,"GDPTH":1000000,"GDPTN":1000000,"GDPTR":1000,"GDPTW":1000000,"GDPUA":1000000,"GDPUK":1000000,"GDPUS":1000000,"GDPUZ":1000000000,"GDPVN":1000000000,"GDPZA":1000000,"GFCFAE":1000000,"GFCFAL":1000000,"GFCFAR":1000000,"GFCFAT":1000000,"GFCFAU":1000000,"GFCFAZ":1000000,"GFCFBD":1000000,"GFCFBE":1000000,"GFCFBG":1000000,"GFCFBR":1000000,"GFCFBW":1000000,"GFCFBY":1000000,"GFCFCA":1000000,"GFCFCH":1000000,"GFCFCL":1000000000,"GFCFCM":1000000000,"GFCFCN":1,"GFCFCO":1000000000,"GFCFCY":1000000,"GFCFCZ":1000000,"GFCFDE":1000000,"GFCFDK":1000000,"GFCFEA":1000000,"GFCFEE":1000000,"GFCFES":1000000,"GFCFEU":1000000,"GFCFFI":1000000,"GFCFFR":1000000,"GFCFGR":1000000,"GFCFHK":1000000,"GFCFHR":1000000,"GFCFHU":1000000,"GFCFID":1000000000,"GFCFIE":1000000,"GFCFIL":1000000,"GFCFIN":10000000,"GFCFIR":1000000000,"GFCFIT":1000000,"GFCFJP":1000000000,"GFCFKR":1000000000,"GFCFKZ":1000000,"GFCFLT":1000000,"GFCFLU":1000000,"GFCFLV":1000000,"GFCFMA":1000000,"GFCFME":1000000,"GFCFMN":1000000,"GFCFMT":1000000,"GFCFMX":1000000,"GFCFMY":1000000,"GFCFNG":1000000,"GFCFNL":1000000,"GFCFNO":1000000,"GFCFNZ":1000000,"GFCFPH":1000000,"GFCFPK":1000000,"GFCFPL":1000000,"GFCFPT":1000000,"GFCFRO":1000000,"GFCFRS":1000000,"GFCFRU":1000000000,"GFCFSA":1000000,"GFCFSE":1000000,"GFCFSG":1000000,"GFCFSI":1000000,"GFCFSK":1000000,"GFCFTH":1000000,"GFCFTR":1000,"GFCFTW":1000000,"GFCFUA":1000000,"GFCFUK":1000000,"GFCFUS":1000000,"GFCFUZ":1000000000,"GFCFVN":1000000000,"GFCFZA":1000000,"GREVAR":1000000,"GREVAT":1000000,"GREVAU":1000000,"GREVAZ":1000000,"GREVBD":1000000000,"GREVBE":1000000,"GREVBG":1000000,"GREVBR":1000000,"GREVCA":1000000,"GREVCH":1000000,"GREVCN":100000000,"GREVCO":1000000000,"GREVCR":1000000,"GREVCY":1000000,"GREVCZ":1000000,"GREVDE":1000000,"GREVDK":1000000,"GREVEE":1000000,"GREVES":1000000,"GREVEU":1000000,"GREVFI":1000000,"GREVFR":1000000,"GREVHK":1000000,"GREVHR":1000000,"GREVHU":1000000,"GREVID":1000000000,"GREVIE":1000000,"GREVIL":1000000,"GREVIN":1000000000,"GREVJP":1000000000,"GREVKH":1000000,"GREVKR":1000000000,"GREVKZ":1000000,"GREVLT":1000000,"GREVLU":1000000,"GREVLV":1000000,"GREVMA":1000000,"GREVMO":1000000,"GREVMT":1000000,"GREVMX":1000000,"GREVMY":1000000,"GREVNL":1000000,"GREVPE":1000000,"GREVPH":1000000,"GREVPL":1000000,"GREVPT":1000000,"GREVRO":1000000,"GREVRU":1000000000,"GREVSA":1000000,"GREVSE":1000000,"GREVSG":1000000,"GREVSI":1000000,"GREVSK":1000000,"GREVSV":1000000,"GREVTH":1000000,"GREVTR":1000000,"GREVTW":1000,"GREVUA":1000000,"GREVUK":1000000,"GREVUS":1000000,"GREVUY":1000000,"GREVVN":1000000000,"GREVZA":1000000,"GSPEAR":1000000,"GSPEAT":1000000,"GSPEAU":1000000,"GSPEAZ":1000000,"GSPEBD":1000000000,"GSPEBE":1000000,"GSPEBG":1000000,"GSPEBR":1000000,"GSPECA":1000000,"GSPECH":1000000,"GSPECN":100000000,"GSPECO":1000000000,"GSPECR":1000000,"GSPECY":1000000,"GSPECZ":1000000,"GSPEDE":1000000,"GSPEDK":1000000,"GSPEEE":1000000,"GSPEES":1000000,"GSPEEU":1000000,"GSPEFI":1000000,"GSPEFR":1000000,"GSPEHK":1000000,"GSPEHR":1000000,"GSPEHU":1000000,"GSPEID":1000000000,"GSPEIE":1000000,"GSPEIL":1000000,"GSPEIN":1000000000,"GSPEJP":1000000000,"GSPEKH":1000000,"GSPEKR":1000000000,"GSPEKZ":1000000,"GSPELT":1000000,"GSPELU":1000000,"GSPELV":1000000,"GSPEMO":1000000,"GSPEMT":1000000,"GSPEMX":1000000,"GSPEMY":1000000,"GSPENL":1000000,"GSPEPE":1000000,"GSPEPH":1000000,"GSPEPL":1000000,"GSPEPT":1000000,"GSPERO":1000000,"GSPERU":1000000000,"GSPESA":1000000,"GSPESE":1000000,"GSPESG":1000000,"GSPESI":1000000,"GSPESK":1000000,"GSPETH":1000000,"GSPETR":1000000,"GSPETW":1000,"GSPEUA":1000000,"GSPEUK":1000000,"GSPEUS":1000000,"GSPEUY":1000000,"GSPEVN":1000000000,"GSPEZA":1000000,"HHDIRAT":1,"HHDIRBE":1,"HHDIRCH":1,"HHDIRCY":1,"HHDIRCZ":1,"HHDIRDE":1,"HHDIRDK":1,"HHDIREE":1,"HHDIRES":1,"HHDIRFI":1,"HHDIRFR":1,"HHDIRGR":1,"HHDIRHR":1,"HHDIRHU":1,"HHDIRIE":1,"HHDIRIT":1,"HHDIRLT":1,"HHDIRLU":1,"HHDIRLV":1,"HHDIRNL":1,"HHDIRNO":1,"HHDIRPL":1,"HHDIRPT":1,"HHDIRSE":1,"HHDIRSI":1,"HHDIRSK":1,"HHDIRTR":1,"HHSAT":1,"HHSBE":1,"HHSCN":100000000,"HHSCZ":1,"HHSDE":1,"HHSDK":1,"HHSES":1,"HHSEU":1,"HHSFI":1,"HHSFR":1,"HHSGR":1,"HHSHU":1,"HHSIE":1,"HHSIT":1,"HHSNL":1,"HHSNO":1,"HHSPL":1,"HHSPT":1,"HHSRO":1,"HHSSE":1,"HHSSI":1,"HHSUK":1,"HOU5R":1,"HOUAE":1,"HOUAT":1,"HOUAU":1,"HOUBE":1,"HOUBG":1,"HOUBR":1,"HOUCA":1,"HOUCH":1,"HOUCL":1,"HOUCN":1,"HOUCO":1,"HOUCY":1,"HOUCZ":1,"HOUDE":1,"HOUDK":1,"HOUEA":1,"HOUEE":1,"HOUES":1,"HOUEU":1,"HOUFI":1,"HOUFR":1,"HOUGR":1,"HOUHK":1,"HOUHR":1,"HOUHU":1,"HOUID":1,"HOUIE":1,"HOUIL":1,"HOUIN":1,"HOUIS":1,"HOUIT":1,"HOUJP":1,"HOUKR":1,"HOULT":1,"HOULU":1,"HOULV":1,"HOUMA":1,"HOUMK":1,"HOUMT":1,"HOUMX":1,"HOUMY":1,"HOUNL":1,"HOUNO":1,"HOUNZ":1,"HOUPE":1,"HOUPH":1,"HOUPL":1,"HOUPT":1,"HOURO":1,"HOURU":1,"HOUSE":1,"HOUSG":1,"HOUSI":1,"HOUSK":1,"HOUTH":1,"HOUTR":1,"HOUUK":1,"HOUUS":1,"HOUXW":1,"HOUZA":1,"IBD1AU":1,"IBD1BG":1,"IBD1CL":1,"IBD1CO":1,"IBD1CZ":1,"IBD1DK":1,"IBD1EA":1,"IBD1HR":1,"IBD1HU":1,"IBD1KR":1,"IBD1MX":1,"IBD1NZ":1,"IBD1PL":1,"IBD1PY":1,"IBD1RO":1,"IBD1RU":1,"IBD1SE":1,"IBD1SG":1,"IBD1TH":1,"IBD1TR":1,"IBD1UA":1,"IBD1UK":1,"IIPAAL":1000000,"IIPAAR":1000000,"IIPAAT":1000000,"IIPAAU":1000000,"IIPABA":1000000,"IIPABD":1000000,"IIPABE":1000000,"IIPABG":1000000,"IIPABR":1000000,"IIPACA":1000000,"IIPACH":1000000,"IIPACL":1000000,"IIPACN":100000000,"IIPACO":1000000,"IIPACY":1000000,"IIPACZ":1000000,"IIPADE":1000000,"IIPADK":1000000,"IIPAEE":1000000,"IIPAEG":1000000,"IIPAES":1000000,"IIPAFI":1000000,"IIPAFR":1000000,"IIPAGR":1000000,"IIPAHK":1000000,"IIPAHR":1000000,"IIPAHU":1000000,"IIPAID":1000000,"IIPAIE":1000000,"IIPAIL":1000000,"IIPAIN":1000000,"IIPAIS":1000000,"IIPAIT":1000000,"IIPAJP":1000000000,"IIPAKH":1000000000,"IIPAKR":1000000,"IIPALT":1000000,"IIPALU":1000000,"IIPALV":1000000,"IIPAMT":1000000,"IIPAMX":1000000,"IIPAMY":1000000,"IIPANL":1000000,"IIPANO":1000000,"IIPANP":1000000,"IIPAPH":1000000,"IIPAPK":1000000,"IIPAPL":1000000,"IIPAPT":1000000,"IIPARO":1000000,"IIPARU":1000000,"IIPASA":1000000,"IIPASE":1000000,"IIPASG":1000000,"IIPASI":1000000,"IIPASK":1000000,"IIPATH":1000000,"IIPATR":1000000,"IIPATW":1000000,"IIPAUK":1000000,"IIPAUS":1000000000,"IIPAXK":1000000,"IIPAZA":1000000000,"IIPLAL":1000000,"IIPLAR":1000000,"IIPLAT":1000000,"IIPLAU":1000000,"IIPLBA":1000000,"IIPLBD":1000000,"IIPLBE":1000000,"IIPLBG":1000000,"IIPLBR":1000000,"IIPLCA":1000000,"IIPLCH":1000000,"IIPLCL":1000000,"IIPLCN":100000000,"IIPLCO":1000000,"IIPLCY":1000000,"IIPLCZ":1000000,"IIPLDE":1000000,"IIPLDK":1000000,"IIPLEE":1000000,"IIPLEG":1000000,"IIPLES":1000000,"IIPLFI":1000000,"IIPLFR":1000000,"IIPLGR":1000000,"IIPLHK":1000000,"IIPLHR":1000000,"IIPLHU":1000000,"IIPLID":1000000,"IIPLIE":1000000,"IIPLIL":1000000,"IIPLIN":1000000,"IIPLIS":1000000,"IIPLIT":1000000,"IIPLJP":1000000000,"IIPLKH":1000000000,"IIPLKR":1000000,"IIPLLT":1000000,"IIPLLU":1000000,"IIPLLV":1000000,"IIPLMT":1000000,"IIPLMX":1000000,"IIPLMY":1000000,"IIPLNL":1000000,"IIPLNO":1000000,"IIPLNP":1000000,"IIPLPH":1000000,"IIPLPK":1000000,"IIPLPL":1000000,"IIPLPT":1000000,"IIPLRO":1000000,"IIPLRU":1000000,"IIPLSA":1000000,"IIPLSE":1000000,"IIPLSG":1000000,"IIPLSI":1000000,"IIPLSK":1000000,"IIPLTH":1000000,"IIPLTR":1000000,"IIPLTW":1000000,"IIPLUK":1000000,"IIPLUS":1000000000,"IIPLXK":1000000,"IIPLZA":1000000000,"IMPAE":1000000,"IMPAL":1000000,"IMPAR":1000000,"IMPAT":1000000,"IMPAU":1000000,"IMPAZ":1000000,"IMPBD":1000000,"IMPBE":1000000,"IMPBG":1000000,"IMPBR":1000000,"IMPBW":1000000,"IMPBY":1000000,"IMPCA":1000000,"IMPCH":1000000,"IMPCL":1000000000,"IMPCM":1000000000,"IMPCN":10000,"IMPCO":1000000000,"IMPCY":1000000,"IMPCZ":1000000,"IMPDE":1000000,"IMPDK":1000000,"IMPEA":1000000,"IMPEE":1000000,"IMPES":1000000,"IMPEU":1000000,"IMPFI":1000000,"IMPFR":1000000,"IMPGR":1000000,"IMPHK":1000000,"IMPHR":1000000,"IMPHU":1000000,"IMPID":1000000000,"IMPIE":1000000,"IMPIL":1000000,"IMPIN":10000000,"IMPIR":1000000000,"IMPIT":1000000,"IMPJO":1000000,"IMPJP":1000000000,"IMPKR":1000000000,"IMPKZ":1000000,"IMPLT":1000000,"IMPLU":1000000,"IMPLV":1000000,"IMPMA":1000000,"IMPME":1000000,"IMPMK":1000000,"IMPMN":1000000,"IMPMONAR":1000000,"IMPMONAU":1000000,"IMPMONBD":1000000,"IMPMONBE":1000000,"IMPMONBG":1000000,"IMPMONBR":1,"IMPMONCA":1000000,"IMPMONCL":1000000,"IMPMONCN":1000,"IMPMONCO":1000000,"IMPMONCR":1000000,"IMPMONCZ":1000000,"IMPMONDE":1000000,"IMPMONDK":1000000,"IMPMONEE":1000000,"IMPMONEG":1000000,"IMPMONES":1000000,"IMPMONEU":1000000,"IMPMONFI":1000000,"IMPMONFR":1000000,"IMPMONGR":1000000,"IMPMONHK":1000000,"IMPMONHR":1000000,"IMPMONHU":1000000,"IMPMONID":1000000,"IMPMONIN":1000000,"IMPMONIT":1000000,"IMPMONJP":1000,"IMPMONKH":1000000,"IMPMONKR":1000,"IMPMONKZ":1000000,"IMPMONLT":1000000,"IMPMONLU":1000000,"IMPMONLV":1000000,"IMPMONMK":1000000,"IMPMONMT":1000000,"IMPMONMX":1000000,"IMPMONMY":1000000,"IMPMONNL":1000000,"IMPMONNP":1000000,"IMPMONPH":1000000,"IMPMONPK":1000000,"IMPMONPL":1000000,"IMPMONPT":1000000,"IMPMONQA":1000000,"IMPMONRO":1000000,"IMPMONRS":1000000,"IMPMONRU":1000000,"IMPMONSA":1000000,"IMPMONSE":1000000,"IMPMONSG":1000,"IMPMONSI":1000000,"IMPMONSK":1000000,"IMPMONTH":1000000,"IMPMONTR":1000,"IMPMONTW":1000000,"IMPMONUA":1000000,"IMPMONUK":1000000,"IMPMONUS":1000000,"IMPMONUY":1000000,"IMPMONVN":1000,"IMPMONZA":1000000,"IMPMT":1000000,"IMPMX":1000000,"IMPMY":1000000,"IMPNG":1000000,"IMPNL":1000000,"IMPNO":1000000,"IMPNZ":1000000,"IMPPE":1000000,"IMPPH":1000000,"IMPPK":1000000,"IMPPL":1000000,"IMPPT":1000000,"IMPQA":1000000,"IMPRO":1000000,"IMPRS":1000000,"IMPRU":1000000000,"IMPRW":1000000000,"IMPSA":1000000,"IMPSE":1000000,"IMPSG":1000000,"IMPSI":1000000,"IMPSK":1000000,"IMPSV":1000000,"IMPTH":1000000,"IMPTR":1000,"IMPTW":1000000,"IMPUA":1000000,"IMPUK":1000000,"IMPUS":1000000,"IMPZA":1000000,"INVERAT":1,"INVERBE":1,"INVERCH":1,"INVERCY":1,"INVERCZ":1,"INVERDE":1,"INVERDK":1,"INVEREE":1,"INVERES":1,"INVERFI":1,"INVERFR":1,"INVERGR":1,"INVERHR":1,"INVERHU":1,"INVERIE":1,"INVERIT":1,"INVERLT":1,"INVERLV":1,"INVERNL":1,"INVERNO":1,"INVERPL":1,"INVERPT":1,"INVERRO":1,"INVERSE":1,"INVERSI":1,"INVERSK":1,"IPAR":1,"IPAT":1,"IPAU":1,"IPAZ":1,"IPBA":1,"IPBD":1,"IPBE":1,"IPBG":1,"IPBR":1,"IPBY":1000000,"IPCA":1,"IPCH":1,"IPCL":1,"IPCM":1,"IPCN":1,"IPCO":1,"IPCR":1,"IPCY":1,"IPCZ":1,"IPDE":1,"IPDK":1,"IPEE":1,"IPEG":1,"IPES":1,"IPEU":1,"IPFI":1,"IPFR":1,"IPGR":1,"IPHK":1,"IPHR":1,"IPHU":1,"IPID":1,"IPIE":1,"IPIL":1,"IPIN":1,"IPIT":1,"IPJO":1,"IPJP":1,"IPKR":1,"IPKZ":1,"IPLT":1,"IPLU":1,"IPLV":1,"IPMA":1,"IPME":1,"IPMK":1,"IPMT":1,"IPMX":1,"IPMY":1,"IPNL":1,"IPNO":1,"IPPA":1,"IPPH":1,"IPPK":1,"IPPL":1,"IPPT":1,"IPQA":1,"IPRO":1,"IPRS":1,"IPRU":1,"IPSA":1,"IPSE":1,"IPSG":1,"IPSI":1,"IPSK":1,"IPTH":1,"IPTR":1,"IPTW":1,"IPUA":1,"IPUK":1,"IPUS":1,"IPUY":1,"IPVN":1,"IPZA":1,"JHRUS":1,"JLRUS":1,"JQRUS":1,"JVRAT":1,"JVRBE":1,"JVRBG":1,"JVRCH":1,"JVRCY":1,"JVRCZ":1,"JVRDE":1,"JVREA":1,"JVREE":1,"JVRES":1,"JVREU":1,"JVRFI":1,"JVRGR":1,"JVRHR":1,"JVRHU":1,"JVRIE":1,"JVRIT":1,"JVRLT":1,"JVRLU":1,"JVRLV":1,"JVRMK":1,"JVRMT":1,"JVRNL":1,"JVRNO":1,"JVRPL":1,"JVRPT":1,"JVRRO":1,"JVRSE":1,"JVRSI":1,"JVRSK":1,"JVRUK":1,"JVRUS":1,"KABE":1000000,"KABG":1000000,"KACN":100000000,"KACZ":1000000,"KADE":1000000,"KADK":1000000,"KAEE":1000000,"KAES":1000000,"KAFI":1000000,"KAFR":1000000,"KAGR":1000000,"KAHR":1000000,"KAHU":1000000,"KAIT":1000000,"KALT":1000000,"KALU":1000000,"KALV":1000000,"KAMT":1000000,"KANL":1000000,"KAPH":1000000,"KAPL":1000000,"KAPT":1000000,"KARO":1000000,"KASE":1000000,"KASI":1000000,"KASK":1000000,"LE00CN":1,"LMICS":1,"M3AR":1000000,"M3AU":1000000000,"M3BR":1000,"M3BY":1000000,"M3CA":1000000,"M3CH":1000000,"M3CL":1000000000,"M3CN":100000000,"M3CR":1000000,"M3EA":1000000,"M3HU":1000000000,"M3ID":1000000000,"M3IN":1,"M3JP":100000000,"M3KR":1000000000,"M3KZ":1000000,"M3MA":1000000,"M3MX":1000,"M3MY":1000000,"M3NO":1000000,"M3NP":1000000,"M3PH":1000000,"M3PL":1000000,"M3RU":1000000000,"M3SA":1000000,"M3SG":1000000,"M3TH":1000000000,"M3TN":1000000,"M3TR":1000,"M3UA":1000000,"M3UK":1000000,"M3US":1000000000,"M3UY":1000000,"M3YDAE":1,"M3YDAU":1,"M3YDCA":1,"M3YDCN":1,"M3YDCZ":1,"M3YDDK":1,"M3YDEA":1,"M3YDHK":1,"M3YDHR":1,"M3YDHU":1,"M3YDID":1,"M3YDIN":1,"M3YDJP":1,"M3YDKR":1,"M3YDMO":1,"M3YDMX":1,"M3YDMY":1,"M3YDNP":1,"M3YDNZ":1,"M3YDPA":1,"M3YDPH":1,"M3YDPL":1,"M3YDQA":1,"M3YDRO":1,"M3YDRU":1,"M3YDSA":1,"M3YDSE":1,"M3YDSG":1,"M3YDTH":1,"M3YDTR":1,"M3YDUA":1,"M3YDUK":1,"M3YDUS":1,"M3YDVN":1,"M3YDZA":1,"M3ZA":1000000,"MBAR":1000000,"MBAU":1000000000,"MBBR":1000,"MBCH":1000000,"MBCN":100000000,"MBEG":1000000,"MBIN":1,"MBJP":100000000,"MBKR":1000000000,"MBMX":1000,"MBMY":1000000,"MBNO":1000000,"MBRU":1000000000,"MBSA":1000000,"MBTH":1000000000,"MBTR":1000,"MBUA":1000000,"MBUK":1000000,"MBUS":1000000000,"NCTBE":1000000,"NCTBG":1000000,"NCTCN":100000000,"NCTCZ":1000000,"NCTDE":1000000,"NCTDK":1000000,"NCTEE":1000000,"NCTES":1000000,"NCTFI":1000000,"NCTFR":1000000,"NCTGR":1000000,"NCTHR":1000000,"NCTHU":1000000,"NCTIT":1000000,"NCTLT":1000000,"NCTLU":1000000,"NCTLV":1000000,"NCTMT":1000000,"NCTMX":1000000,"NCTNL":1000000,"NCTPH":1000000,"NCTPL":1000000,"NCTPT":1000000,"NCTRO":1000000,"NCTSE":1000000,"NCTSI":1000000,"NCTSK":1000000,"NFCIAT":1,"NFCIBE":1,"NFCICZ":1,"NFCIDE":1,"NFCIDK":1,"NFCIEE":1,"NFCIES":1,"NFCIEU":1,"NFCIFI":1,"NFCIFR":1,"NFCIGR":1,"NFCIHU":1,"NFCIIE":1,"NFCIIT":1,"NFCINL":1,"NFCINO":1,"NFCIPL":1,"NFCIPT":1,"NFCIRO":1,"NFCISE":1,"NFCIUK":1,"NFCLOANBG":1,"NFCLOANCY":1,"NFCLOANEE":1,"NFCLOANHR":1,"NFCLOANLT":1,"NFCLOANLV":1,"NFCLOANMT":1,"NFCLOANRO":1,"NFCLOANSI":1,"NFCLOANSK":1,"NIIPAL":1000000,"NIIPAR":1000000,"NIIPAT":1000000,"NIIPAU":1000000,"NIIPBA":1000000,"NIIPBD":1000000,"NIIPBE":1000000,"NIIPBG":1000000,"NIIPBR":1000000,"NIIPCA":1000000,"NIIPCH":1000000,"NIIPCL":1000000,"NIIPCN":100000000,"NIIPCO":1000000,"NIIPCY":1000000,"NIIPCZ":1000000,"NIIPDE":1000000,"NIIPDK":1000000,"NIIPEE":1000000,"NIIPEG":1000000,"NIIPES":1000000,"NIIPFI":1000000,"NIIPFR":1000000,"NIIPGR":1000000,"NIIPHK":1000000,"NIIPHR":1000000,"NIIPHU":1000000,"NIIPID":1000000,"NIIPIE":1000000,"NIIPIL":1000000,"NIIPIN":1000000,"NIIPIS":1000000,"NIIPIT":1000000,"NIIPJP":1000000000,"NIIPKH":1000000000,"NIIPKR":1000000,"NIIPLT":1000000,"NIIPLU":1000000,"NIIPLV":1000000,"NIIPMK":1000000,"NIIPMT":1000000,"NIIPMX":1000000,"NIIPMY":1000000,"NIIPNL":1000000,"NIIPNO":1000000,"NIIPNP":1000000,"NIIPPH":1000000,"NIIPPK":1000000,"NIIPPL":1000000,"NIIPPT":1000000,"NIIPRO":1000000,"NIIPRS":1000000,"NIIPRU":1000000,"NIIPSA":1000000,"NIIPSE":1000000,"NIIPSG":1000000,"NIIPSI":1000000,"NIIPSK":1000000,"NIIPTH":1000000,"NIIPTR":1000000,"NIIPTW":1000000,"NIIPUA":1000000,"NIIPUK":1000000,"NIIPUS":1000000000,"NIIPXK":1000000,"NIIPZA":1000000000,"NPLAR":1,"NPLAT":1,"NPLAU":1,"NPLBE":1,"NPLBR":1,"NPLCN":1,"NPLDK":1,"NPLES":1,"NPLFI":1,"NPLFR":1,"NPLHK":1,"NPLID":1,"NPLIE":1,"NPLIN":1,"NPLIT":1,"NPLJP":1,"NPLLU":1,"NPLMX":1,"NPLNL":1,"NPLNO":1,"NPLPL":1,"NPLRU":1,"NPLSA":1,"NPLSE":1,"NPLSG":1,"NPLTR":1,"NPLUS":1,"NPLZA":1,"NYBE":1000000,"NYBG":1000000,"NYCN":100000000,"NYCZ":1000000,"NYDE":1000000,"NYDK":1000000,"NYEE":1000000,"NYES":1000000,"NYFI":1000000,"NYFR":1000000,"NYGR":1000000,"NYHR":1000000,"NYHU":1000000,"NYIT":1000000,"NYLT":1000000,"NYLU":1000000,"NYLV":1000000,"NYMT":1000000,"NYMX":1000000,"NYNL":1000000,"NYPH":1000000,"NYPL":1000000,"NYPT":1000000,"NYRO":1000000,"NYSE":1000000,"NYSI":1000000,"NYSK":1000000,"OILDEMAE":1000,"OILDEMAL":1000,"OILDEMAM":1000,"OILDEMAO":1000,"OILDEMAR":1000,"OILDEMAT":1000,"OILDEMAU":1000,"OILDEMAZ":1000,"OILDEMBB":1000,"OILDEMBD":1000,"OILDEMBE":1000,"OILDEMBG":1000,"OILDEMBH":1000,"OILDEMBM":1000,"OILDEMBN":1000,"OILDEMBO":1000,"OILDEMBR":1000,"OILDEMBY":1000,"OILDEMBZ":1000,"OILDEMCA":1000,"OILDEMCH":1000,"OILDEMCL":1000,"OILDEMCN":1000,"OILDEMCO":1000,"OILDEMCR":1000,"OILDEMCU":1000,"OILDEMCY":1000,"OILDEMCZ":1000,"OILDEMDE":1000,"OILDEMDK":1000,"OILDEMDO":1000,"OILDEMDZ":1000,"OILDEMEC":1000,"OILDEMEE":1000,"OILDEMEG":1000,"OILDEMES":1000,"OILDEMFI":1000,"OILDEMFR":1000,"OILDEMGA":1000,"OILDEMGD":1000,"OILDEMGE":1000,"OILDEMGM":1000,"OILDEMGQ":1000,"OILDEMGR":1000,"OILDEMGT":1000,"OILDEMGY":1000,"OILDEMHK":1000,"OILDEMHN":1000,"OILDEMHR":1000,"OILDEMHT":1000,"OILDEMHU":1000,"OILDEMID":1000,"OILDEMIE":1000,"OILDEMIN":1000,"OILDEMIQ":1000,"OILDEMIR":1000,"OILDEMIS":1000,"OILDEMIT":1000,"OILDEMJM":1000,"OILDEMJP":1000,"OILDEMKR":1000,"OILDEMKW":1000,"OILDEMKZ":1000,"OILDEMLT":1000,"OILDEMLU":1000,"OILDEMLV":1000,"OILDEMLY":1000,"OILDEMMA":1000,"OILDEMMD":1000,"OILDEMMK":1000,"OILDEMMM":1000,"OILDEMMT":1000,"OILDEMMU":1000,"OILDEMMX":1000,"OILDEMMY":1000,"OILDEMNE":1000,"OILDEMNG":1000,"OILDEMNI":1000,"OILDEMNL":1000,"OILDEMNO":1000,"OILDEMNP":1000,"OILDEMNZ":1000,"OILDEMOM":1000,"OILDEMPA":1000,"OILDEMPE":1000,"OILDEMPG":1000,"OILDEMPH":1000,"OILDEMPL":1000,"OILDEMPT":1000,"OILDEMPY":1000,"OILDEMQA":1000,"OILDEMRO":1000,"OILDEMRU":1000,"OILDEMSA":1000,"OILDEMSD":1000,"OILDEMSE":1000,"OILDEMSG":1000,"OILDEMSI":1000,"OILDEMSK":1000,"OILDEMSR":1000,"OILDEMSV":1000,"OILDEMSY":1000,"OILDEMSZ":1000,"OILDEMTH":1000,"OILDEMTJ":1000,"OILDEMTN":1000,"OILDEMTR":1000,"OILDEMTT":1000,"OILDEMTW":1000,"OILDEMUA":1000,"OILDEMUK":1000,"OILDEMUS":1000,"OILDEMUY":1000,"OILDEMVE":1000,"OILDEMVN":1000,"OILDEMYE":1000,"OILDEMZA":1000,"OILPRODAE":1000,"OILPRODAL":1000,"OILPRODAM":1000,"OILPRODAO":1000,"OILPRODAR":1000,"OILPRODAT":1000,"OILPRODAU":1000,"OILPRODAZ":1000,"OILPRODBB":1000,"OILPRODBD":1000,"OILPRODBE":1000,"OILPRODBG":1000,"OILPRODBH":1000,"OILPRODBM":1000,"OILPRODBN":1000,"OILPRODBO":1000,"OILPRODBR":1000,"OILPRODBY":1000,"OILPRODBZ":1000,"OILPRODCA":1000,"OILPRODCH":1000,"OILPRODCL":1000,"OILPRODCN":1000,"OILPRODCO":1000,"OILPRODCR":1000,"OILPRODCU":1000,"OILPRODCY":1000,"OILPRODCZ":1000,"OILPRODDE":1000,"OILPRODDK":1000,"OILPRODDO":1000,"OILPRODDZ":1000,"OILPRODEC":1000,"OILPRODEE":1000,"OILPRODEG":1000,"OILPRODES":1000,"OILPRODFI":1000,"OILPRODFR":1000,"OILPRODGA":1000,"OILPRODGD":1000,"OILPRODGE":1000,"OILPRODGM":1000,"OILPRODGQ":1000,"OILPRODGR":1000,"OILPRODGT":1000,"OILPRODGY":1000,"OILPRODHK":1000,"OILPRODHN":1000,"OILPRODHR":1000,"OILPRODHT":1000,"OILPRODHU":1000,"OILPRODID":1000,"OILPRODIE":1000,"OILPRODIN":1000,"OILPRODIQ":1000,"OILPRODIR":1000,"OILPRODIS":1000,"OILPRODIT":1000,"OILPRODJM":1000,"OILPRODJP":1000,"OILPRODKR":1000,"OILPRODKW":1000,"OILPRODKZ":1000,"OILPRODLT":1000,"OILPRODLU":1000,"OILPRODLV":1000,"OILPRODLY":1000,"OILPRODMA":1000,"OILPRODMD":1000,"OILPRODMK":1000,"OILPRODMM":1000,"OILPRODMT":1000,"OILPRODMU":1000,"OILPRODMX":1000,"OILPRODMY":1000,"OILPRODNE":1000,"OILPRODNG":1000,"OILPRODNI":1000,"OILPRODNL":1000,"OILPRODNO":1000,"OILPRODNP":1000,"OILPRODNZ":1000,"OILPRODOM":1000,"OILPRODPA":1000,"OILPRODPE":1000,"OILPRODPG":1000,"OILPRODPH":1000,"OILPRODPL":1000,"OILPRODPT":1000,"OILPRODPY":1000,"OILPRODQA":1000,"OILPRODRO":1000,"OILPRODRU":1000,"OILPRODSA":1000,"OILPRODSD":1000,"OILPRODSE":1000,"OILPRODSG":1000,"OILPRODSI":1000,"OILPRODSK":1000,"OILPRODSR":1000,"OILPRODSV":1000,"OILPRODSY":1000,"OILPRODSZ":1000,"OILPRODTH":1000,"OILPRODTJ":1000,"OILPRODTN":1000,"OILPRODTR":1000,"OILPRODTT":1000,"OILPRODTW":1000,"OILPRODUA":1000,"OILPRODUK":1000,"OILPRODUS":1000,"OILPRODUY":1000,"OILPRODVE":1000,"OILPRODVN":1000,"OILPRODYE":1000,"OILPRODZA":1000,"PALUM":1,"PAPPLE":1,"PARTCO":1,"PARTDO":1,"PARTLK":1,"PARTNZ":1,"PARTTR":1,"PBANSOP":1,"PBARL":1,"PBEEF":1,"PCEUS":1,"PCHANA":1,"PCHROM":1,"PCOALAU":1,"PCOALSA":1,"PCOBA":1,"PCOCO":1,"PCOFFOTM":1,"PCOFFROB":1,"PCOIL":1,"PCOPP":1,"PCOTTIND":1,"PDAP":1,"PFSHMEAL":1,"PGASO":1,"PGNUTS":1,"PGOLD":1,"PHEATOIL":1,"PHIDE":1,"PIORECR":1,"PLAMB":1,"PLEAD":1,"PLITH":1,"PLMMODY":1,"PLOGORE":1,"PLOGSK":1,"PMAIZMT":1,"PMANGELE":1,"PMILK":1,"PNGASEU":1,"PNGASJP":1,"PNGASUS":1,"PNICK":1,"POATS":1,"POILAPSP":1,"POILBRE":1,"POILDUB":1,"POILWTI":1,"POLIRAR":1,"POLIRAU":1,"POLIRAZ":1,"POLIRBR":1,"POLIRCA":1,"POLIRCH":1,"POLIRCL":1,"POLIRCN":1,"POLIRCO":1,"POLIRCZ":1,"POLIRDK":1,"POLIREA":1,"POLIRHK":1,"POLIRHR":1,"POLIRHU":1,"POLIRID":1,"POLIRIL":1,"POLIRIN":1,"POLIRIS":1,"POLIRJP":1,"POLIRKR":1,"POLIRMK":1,"POLIRMO":1,"POLIRMX":1,"POLIRMY":1,"POLIRNO":1,"POLIRNP":1,"POLIRNZ":1,"POLIRPE":1,"POLIRPH":1,"POLIRPL":1,"POLIRPY":1,"POLIRQA":1,"POLIRRO":1,"POLIRRS":1,"POLIRRU":1,"POLIRSA":1,"POLIRSE":1,"POLIRSG":1,"POLIRTH":1,"POLIRTN":1,"POLIRTR":1,"POLIRTW":1,"POLIRUA":1,"POLIRUK":1,"POLIRUS":1,"POLIRUZ":1,"POLIRZA":1,"POLVOIL":1,"POPAD":1,"POPAE":1,"POPAL":1,"POPAM":1,"POPAR":1,"POPAT":1,"POPAU":1000,"POPAZ":1000,"POPBD":1000000,"POPBE":1,"POPBG":1,"POPBO":1,"POPBR":1000,"POPBY":1,"POPCA":1,"POPCD":1,"POPCH":1000,"POPCL":1,"POPCN":10000,"POPCO":1,"POPCR":1,"POPCY":1,"POPCZ":1,"POPDE":1,"POPDK":1,"POPDO":1,"POPDZ":1,"POPEC":1,"POPEE":1,"POPEG":1,"POPES":1,"POPET":1,"POPEU":1,"POPFI":1,"POPFR":1,"POPGE":1,"POPGR":1,"POPGT":1,"POPHK":1,"POPHR":1,"POPHU":1,"POPID":1,"POPIE":1,"POPIL":1000,"POPIN":1,"POPIQ":1,"POPIR":1,"POPIS":1,"POPIT":1,"POPJO":1,"POPJP":10000,"POPKG":1,"POPKH":1,"POPKR":1,"POPKW":1,"POPKZ":1,"POPLB":1,"POPLI":1,"POPLK":1,"POPLT":1,"POPLU":1,"POPLV":1,"POPLY":1,"POPMA":1,"POPMD":1,"POPME":1,"POPMK":1,"POPMM":1,"POPMO":1,"POPMT":1,"POPMX":1,"POPMY":1000,"POPNG":1,"POPNI":1,"POPNL":1,"POPNO":1,"POPNZ":1,"POPPH":1,"POPPL":1,"POPPT":1,"POPPY":1,"POPQA":1,"POPRO":1,"POPRS":1,"POPRU":1000000,"POPSA":1,"POPSD":1,"POPSE":1,"POPSG":1,"POPSI":1,"POPSK":1,"POPSM":1,"POPSN":1,"POPSV":1,"POPTH":1,"POPTJ":1,"POPTM":1,"POPTN":1,"POPTR":1,"POPTW":1000,"POPUA":1,"POPUK":1,"POPUS":1,"POPUY":1,"POPUZ":1000,"POPVE":1,"POPVN":1000,"POPXK":1,"POPZA":1000,"PORANG":1,"PPALLA":1,"PPIAL":1,"PPIAR":1,"PPIAT":1,"PPIAU":1,"PPIBD":1,"PPIBE":1,"PPIBG":1,"PPIBR":1,"PPIBY":1,"PPICA":1,"PPICH":1,"PPICL":1,"PPICN":1,"PPICO":1,"PPICR":1,"PPICY":1,"PPICZ":1,"PPIDE":1,"PPIDK":1,"PPIEE":1,"PPIEG":1,"PPIES":1,"PPIEU":1,"PPIFI":1,"PPIFR":1,"PPIGR":1,"PPIHK":1,"PPIHR":1,"PPIHU":1,"PPIID":1,"PPIIE":1,"PPIIL":1,"PPIIN":1,"PPIIT":1,"PPIJO":1,"PPIJP":1,"PPIKR":1,"PPIKZ":1,"PPILT":1,"PPILU":1,"PPILV":1,"PPIMA":1,"PPIME":1,"PPIMK":1,"PPIMT":1,"PPIMX":1,"PPIMY":1,"PPINL":1,"PPINO":1,"PPIPA":1,"PPIPE":1,"PPIPH":1,"PPIPK":1,"PPIPL":1,"PPIPT":1,"PPIQA":1,"PPIRO":1,"PPIRS":1,"PPIRU":1,"PPISA":1,"PPISE":1,"PPISG":1,"PPISI":1,"PPISK":1,"PPISV":1,"PPITH":1,"PPITN":1,"PPITR":1,"PPITW":1,"PPIUA":1,"PPIUK":1,"PPIUS":1,"PPIUY":1,"PPIVN":1,"PPIZA":1,"PPLAT":1,"PPOIL":1,"PPORK":1,"PPOTASH":1,"PPOULT":1,"PPROPANE":1,"PRCAE":1000000,"PRCAR":1000000,"PRCAT":1000000,"PRCAU":1000000,"PRCAZ":1000000,"PRCBD":1000000,"PRCBE":1000000,"PRCBG":1000000,"PRCBR":1000000,"PRCBW":1000000,"PRCBY":1000000,"PRCCA":1000000,"PRCCH":1000000,"PRCCL":1000000000,"PRCCN":100000000,"PRCCO":1000000000,"PRCCY":1000000,"PRCCZ":1000000,"PRCDE":1000000,"PRCDK":1000000,"PRCEA":1000000,"PRCEE":1000000,"PRCES":1000000,"PRCEU":1000000,"PRCFI":1000000,"PRCFR":1000000,"PRCGR":1000000,"PRCHK":1000000,"PRCHR":1000000,"PRCHU":1000000,"PRCID":1000000000,"PRCIE":1000000,"PRCIL":1000000,"PRCIN":10000000,"PRCIR":1000000000,"PRCIT":1000000,"PRCJP":1000000000,"PRCKR":1000000000,"PRCKZ":1000000,"PRCLT":1000000,"PRCLU":1000000,"PRCLV":1000000,"PRCMA":1000000,"PRCME":1000000,"PRCMK":1000000,"PRCMN":1000000,"PRCMT":1000000,"PRCMX":1000000,"PRCMY":1000000,"PRCNG":1000000,"PRCNL":1000000,"PRCNO":1000000,"PRCNZ":1000000,"PRCPE":1000000,"PRCPH":1000000,"PRCPK":1000000,"PRCPL":1000000,"PRCPT":1000000,"PRCQA":1000000,"PRCRO":1000000,"PRCRS":1000000,"PRCRU":1000000000,"PRCSA":1000000,"PRCSE":1000000,"PRCSG":1000000,"PRCSI":1000000,"PRCSK":1000000,"PRCTH":1000000,"PRCTR":1000,"PRCTW":1000000,"PRCUA":1000000,"PRCUK":1000000,"PRCUS":1000000,"PRCVN":1000000000,"PRCZA":1000000,"PREODOM":1,"PRICENPQ":1,"PRIDEBTBG":1,"PRIDEBTCY":1,"PRIDEBTEE":1,"PRIDEBTHR":1,"PRIDEBTLT":1,"PRIDEBTLV":1,"PRIDEBTMT":1,"PRIDEBTRO":1,"PRIDEBTSI":1,"PRIDEBTSK":1,"PROIL":1,"PRUBB":1,"PSALM":1,"PSAWMAL":1,"PSAWORE":1,"PSHRI":1,"PSILLUMP":1,"PSILVER":1,"PSMEA":1,"PSOIL":1,"PSORG":1,"PSOYB":1,"PSUGAISA":1,"PSUGAUSA":1,"PSUNO":1,"PTEA":1,"PTEAINDIA":1,"PTEAMOM":1,"PTEASL":1,"PTIN":1,"PTOMATO":1,"PUCAE":1000000,"PUCAL":1000000,"PUCAR":1000000,"PUCAT":1000000,"PUCAU":1000000,"PUCAZ":1000000,"PUCBD":1000000,"PUCBE":1000000,"PUCBG":1000000,"PUCBR":1000000,"PUCBW":1000000,"PUCBY":1000000,"PUCCA":1000000,"PUCCH":1000000,"PUCCL":1000000000,"PUCCM":1000000000,"PUCCN":100000000,"PUCCO":1000000000,"PUCCY":1000000,"PUCCZ":1000000,"PUCDE":1000000,"PUCDK":1000000,"PUCEA":1000000,"PUCEE":1000000,"PUCES":1000000,"PUCEU":1000000,"PUCFI":1000000,"PUCFR":1000000,"PUCGR":1000000,"PUCHK":1000000,"PUCHR":1000000,"PUCHU":1000000,"PUCID":1000000000,"PUCIE":1000000,"PUCIL":1000000,"PUCIN":10000000,"PUCIR":1000000000,"PUCIT":1000000,"PUCJP":1000000000,"PUCKR":1000000000,"PUCKZ":1000000,"PUCLT":1000000,"PUCLU":1000000,"PUCLV":1000000,"PUCMA":1000000,"PUCME":1000000,"PUCMK":1000000,"PUCMT":1000000,"PUCMX":1000000,"PUCMY":1000000,"PUCNG":1000000,"PUCNL":1000000,"PUCNO":1000000,"PUCNZ":1000000,"PUCPE":1000000,"PUCPH":1000000,"PUCPK":1000000,"PUCPL":1000000,"PUCPT":1000000,"PUCQA":1000000,"PUCRO":1000000,"PUCRS":1000000,"PUCRU":1000000000,"PUCSA":1000000,"PUCSE":1000000,"PUCSG":1000000,"PUCSI":1000000,"PUCSK":1000000,"PUCTH":1000000,"PUCTR":1000,"PUCTW":1000000,"PUCUA":1000000,"PUCUK":1000000,"PUCUS":1000000,"PUCVN":1000000000,"PUCZA":1000000,"PURAN":1,"PUREA":1,"PVANPENT":1,"PWHEAMT":1,"PWOOLC":1,"PWOOLF":1,"PZINC":1,"RCIAE":1000000,"RCIAR":1000000,"RCIAU":1000000,"RCIAZ":1000000,"RCIBW":1000000,"RCIBY":1000000,"RCICN":100000000,"RCIHK":1000000,"RCIIN":10000000,"RCIIR":1000000000,"RCIKH":1000000000,"RCIKR":1000000000,"RCIMN":1000000,"RCIMO":1000000,"RCIMY":1000000,"RCING":1000000,"RCINO":1000000,"RCINZ":1000000,"RCIPA":1000000,"RCIPH":1000000,"RCIPK":1000000,"RCISA":1000000,"RCISG":1000000,"RCITH":1000000,"RCITW":1000000,"RCIUA":1000000,"RCIUK":1000000,"RCIUS":1000000,"RCIVN":1000000000,"RCIZA":1000000,"RCONAE":1000000,"RCONAL":1000000,"RCONAT":1000000,"RCONBA":1000000,"RCONBD":1000000,"RCONBE":1000000,"RCONBG":1000000,"RCONBY":1000000,"RCONCA":1000000,"RCONCH":1000000,"RCONCL":1000000000,"RCONCY":1000000,"RCONCZ":1000000,"RCONDE":1000000,"RCONDK":1000000,"RCONEA":1000000,"RCONEE":1000000,"RCONES":1000000,"RCONEU":1000000,"RCONFI":1000000,"RCONFR":1000000,"RCONGR":1000000,"RCONHR":1000000,"RCONHU":1000000,"RCONIE":1000000,"RCONIT":1000000,"RCONKR":1000000000,"RCONLT":1000000,"RCONLU":1000000,"RCONLV":1000000,"RCONMK":1000000,"RCONMT":1000000,"RCONMX":1000000,"RCONNL":1000000,"RCONNO":1000000,"RCONPL":1000000,"RCONPT":1000000,"RCONRO":1000000,"RCONRS":1000000,"RCONSE":1000000,"RCONSI":1000000,"RCONSK":1000000,"RCONTH":1000000,"RCONUA":1000000,"RCONUK":1000000,"REERAE":1,"REERAR":1,"REERAT":1,"REERAU":1,"REERAZ":1,"REERBE":1,"REERBG":1,"REERBR":1,"REERCA":1,"REERCH":1,"REERCL":1,"REERCN":1,"REERCO":1,"REERCY":1,"REERCZ":1,"REERDE":1,"REERDK":1,"REERDZ":1,"REEREA":1,"REEREE":1,"REERES":1,"REERFI":1,"REERFR":1,"REERGR":1,"REERHK":1,"REERHR":1,"REERHU":1,"REERID":1,"REERIE":1,"REERIL":1,"REERIN":1,"REERIS":1,"REERIT":1,"REERJP":1,"REERKR":1,"REERLT":1,"REERLU":1,"REERLV":1,"REERMT":1,"REERMX":1,"REERMY":1,"REERNL":1,"REERNO":1,"REERNZ":1,"REERPE":1,"REERPH":1,"REERPL":1,"REERPT":1,"REERPY":1,"REERRO":1,"REERRS":1,"REERRU":1,"REERSA":1,"REERSE":1,"REERSG":1,"REERSI":1,"REERSK":1,"REERTH":1,"REERTR":1,"REERTW":1,"REERUK":1,"REERUS":1,"REERZA":1,"RETAAL":1,"RETAAR":1000,"RETAAT":1,"RETAAU":1000000,"RETAAZ":1,"RETABA":1,"RETABE":1,"RETABG":1,"RETABR":1,"RETACA":1000,"RETACH":1,"RETACN":100000000,"RETACO":1,"RETACY":1,"RETACZ":1,"RETADE":1,"RETADK":1,"RETAEE":1,"RETAES":1,"RETAEU":1,"RETAFI":1,"RETAFR":1,"RETAGR":1,"RETAHK":1,"RETAHR":1,"RETAHU":1,"RETAID":1,"RETAIE":1,"RETAIL":1,"RETAIR":1000000000,"RETAIT":1,"RETAJP":1,"RETAKR":1,"RETALT":1,"RETALU":1,"RETALV":1,"RETAME":1,"RETAMK":1,"RETAMT":1,"RETAMX":1,"RETAMY":1,"RETANL":1,"RETANO":1,"RETANZ":1000000,"RETAPL":1,"RETAPT":1,"RETARO":1,"RETARS":1,"RETARU":1,"RETASE":1,"RETASG":1,"RETASI":1,"RETASK":1,"RETATH":1,"RETATR":1,"RETATW":1,"RETAUK":1,"RETAUS":1,"RETAVN":1,"RETAZA":1,"REXPAE":1000000,"REXPAL":1000000,"REXPAR":1000000,"REXPAT":1000000,"REXPAU":1000000,"REXPAZ":1000000,"REXPBA":1000000,"REXPBD":1000000,"REXPBE":1000000,"REXPBG":1000000,"REXPBR":1000000,"REXPBW":1000000,"REXPBY":1000000,"REXPCA":1000000,"REXPCH":1000000,"REXPCL":1000000000,"REXPCN":10000,"REXPCO":1000000000,"REXPCY":1000000,"REXPCZ":1000000,"REXPDE":1000000,"REXPDK":1000000,"REXPEA":1000000,"REXPEE":1000000,"REXPES":1000000,"REXPEU":1000000,"REXPFI":1000000,"REXPFR":1000000,"REXPGR":1000000,"REXPHK":1000000,"REXPHN":1000000,"REXPHR":1000000,"REXPHU":1000000,"REXPID":1000000000,"REXPIE":1000000,"REXPIL":1000000,"REXPIN":10000000,"REXPIR":1000000000,"REXPIT":1000000,"REXPJP":1000000000,"REXPKH":1000000000,"REXPKR":1000000000,"REXPLT":1000000,"REXPLU":1000000,"REXPLV":1000000,"REXPMA":1000000,"REXPMK":1000000,"REXPMN":1000000,"REXPMO":1000000,"REXPMT":1000000,"REXPMX":1000000,"REXPMY":1000000,"REXPNG":1000000,"REXPNL":1000000,"REXPNO":1000000,"REXPNZ":1000000,"REXPPA":1000000,"REXPPE":1000000,"REXPPH":1000000,"REXPPK":1000000,"REXPPL":1000000,"REXPPT":1000000,"REXPRO":1000000,"REXPRS":1000000,"REXPRU":1000000000,"REXPRW":1000000000,"REXPSA":1000000,"REXPSE":1000000,"REXPSG":1000000,"REXPSI":1000000,"REXPSK":1000000,"REXPTH":1000000,"REXPTR":1000,"REXPTW":1000000,"REXPUA":1000000,"REXPUK":1000000,"REXPUS":1000000,"REXPUZ":1000000000,"REXPZA":1000000,"RGCFAT":1000000,"RGCFBA":1000000,"RGCFBE":1000000,"RGCFBG":1000000,"RGCFBY":1000000,"RGCFCH":1000000,"RGCFCO":1000000000,"RGCFCY":1000000,"RGCFCZ":1000000,"RGCFDE":1000000,"RGCFDK":1000000,"RGCFEA":1000000,"RGCFEE":1000000,"RGCFES":1000000,"RGCFEU":1000000,"RGCFFI":1000000,"RGCFFR":1000000,"RGCFGR":1000000,"RGCFHR":1000000,"RGCFHU":1000000,"RGCFIE":1000000,"RGCFIT":1000000,"RGCFKR":1000000000,"RGCFLT":1000000,"RGCFLU":1000000,"RGCFLV":1000000,"RGCFMK":1000000,"RGCFMT":1000000,"RGCFNL":1000000,"RGCFNO":1000000,"RGCFNZ":1000000,"RGCFPE":1000000,"RGCFPK":1000000,"RGCFPL":1000000,"RGCFPT":1000000,"RGCFRO":1000000,"RGCFRS":1000000,"RGCFRU":1000000000,"RGCFRW":1000000000,"RGCFSE":1000000,"RGCFSI":1000000,"RGCFSK":1000000,"RGCFUA":1000000,"RGCFUK":1000000,"RGDPAE":1000000,"RGDPAL":1000000,"RGDPAR":1000000,"RGDPAT":1000000,"RGDPAU":1000000,"RGDPAZ":1000000,"RGDPBA":1000000,"RGDPBD":1000000,"RGDPBE":1000000,"RGDPBG":1000000,"RGDPBR":1000000,"RGDPBW":1000000,"RGDPBY":1000000,"RGDPCA":1000000,"RGDPCH":1000000,"RGDPCL":1000000000,"RGDPCM":1000000000,"RGDPCN":100000000,"RGDPCO":1000000000,"RGDPCR":1000000,"RGDPCY":1000000,"RGDPCZ":1000000,"RGDPDE":1000000,"RGDPDK":1000000,"RGDPEA":1000000,"RGDPEE":1000000,"RGDPEG":1000000,"RGDPES":1000000,"RGDPEU":1000000,"RGDPFI":1000000,"RGDPFR":1000000,"RGDPGR":1000000,"RGDPHK":1000000,"RGDPHN":1000000,"RGDPHR":1000000,"RGDPHU":1000000,"RGDPID":1000000000,"RGDPIE":1000000,"RGDPIL":1000000,"RGDPIN":10000000,"RGDPIR":1000000000,"RGDPIT":1000000,"RGDPJO":1000000,"RGDPJP":1000000000,"RGDPKH":1000000000,"RGDPKR":1000000000,"RGDPKZ":1000000000,"RGDPLA":1000000000,"RGDPLT":1000000,"RGDPLU":1000000,"RGDPLV":1000000,"RGDPMA":1000000,"RGDPMK":1000000,"RGDPMN":1000000,"RGDPMO":1000000,"RGDPMT":1000000,"RGDPMX":1000000,"RGDPMY":1000000,"RGDPNG":1000,"RGDPNL":1000000,"RGDPNO":1000000,"RGDPNZ":1000000,"RGDPPA":1000000,"RGDPPCAL":1,"RGDPPCAT":1,"RGDPPCAU":1,"RGDPPCBE":1,"RGDPPCBG":1,"RGDPPCBR":1,"RGDPPCCH":1,"RGDPPCCY":1,"RGDPPCCZ":1,"RGDPPCDE":1,"RGDPPCDK":1,"RGDPPCEA":1,"RGDPPCEE":1,"RGDPPCES":1,"RGDPPCEU":1,"RGDPPCFI":1,"RGDPPCFR":1,"RGDPPCGR":1,"RGDPPCHR":1,"RGDPPCHU":1,"RGDPPCIE":1,"RGDPPCIS":1,"RGDPPCIT":1,"RGDPPCLT":1,"RGDPPCLU":1,"RGDPPCLV":1,"RGDPPCME":1,"RGDPPCMK":1,"RGDPPCMT":1,"RGDPPCNL":1,"RGDPPCNO":1,"RGDPPCNZ":1000000,"RGDPPCPL":1,"RGDPPCPT":1,"RGDPPCRO":1,"RGDPPCRS":1,"RGDPPCSE":1,"RGDPPCSI":1,"RGDPPCSK":1,"RGDPPCTR":1,"RGDPPCUS":1,"RGDPPE":1000000,"RGDPPH":1000000,"RGDPPK":1000000,"RGDPPL":1000000,"RGDPPT":1000000,"RGDPQA":1000000,"RGDPRO":1000000,"RGDPRS":1000000,"RGDPRU":1000000000,"RGDPRW":1000000000,"RGDPSA":1000000,"RGDPSE":1000000,"RGDPSG":1000000,"RGDPSI":1000000,"RGDPSK":1000000,"RGDPTH":1000000,"RGDPTN":1000000,"RGDPTR":1000,"RGDPTW":1000000,"RGDPUA":1000000,"RGDPUK":1000000,"RGDPUS":1000000,"RGDPUY":1000000,"RGDPUZ":1000000000,"RGDPVN":1000000000,"RGDPZA":1000000,"RGFCFAE":1000000,"RGFCFAL":1000000,"RGFCFAR":1000000,"RGFCFAT":1000000,"RGFCFAU":1000000,"RGFCFAZ":1000000,"RGFCFBA":1000000,"RGFCFBD":1000000,"RGFCFBE":1000000,"RGFCFBG":1000000,"RGFCFBR":1000000,"RGFCFBW":1000000,"RGFCFBY":1000000,"RGFCFCA":1000000,"RGFCFCH":1000000,"RGFCFCL":1000000000,"RGFCFCN":1,"RGFCFCO":1000000000,"RGFCFCR":1000000,"RGFCFCY":1000000,"RGFCFCZ":1000000,"RGFCFDE":1000000,"RGFCFDK":1000000,"RGFCFEA":1000000,"RGFCFEE":1000000,"RGFCFES":1000000,"RGFCFEU":1000000,"RGFCFFI":1000000,"RGFCFFR":1000000,"RGFCFGR":1000000,"RGFCFHK":1000000,"RGFCFHN":1000000,"RGFCFHR":1000000,"RGFCFHU":1000000,"RGFCFID":1000000000,"RGFCFIE":1000000,"RGFCFIL":1000000,"RGFCFIN":10000000,"RGFCFIR":1000000000,"RGFCFIT":1000000,"RGFCFJP":1000000000,"RGFCFKH":1000000000,"RGFCFKR":1000000000,"RGFCFLT":1000000,"RGFCFLU":1000000,"RGFCFLV":1000000,"RGFCFMA":1000000,"RGFCFMN":1000000,"RGFCFMO":1000000,"RGFCFMT":1000000,"RGFCFMX":1000000,"RGFCFMY":1000000,"RGFCFNG":1000000,"RGFCFNL":1000000,"RGFCFNO":1000000,"RGFCFNZ":1000000,"RGFCFPH":1000000,"RGFCFPK":1000000,"RGFCFPL":1000000,"RGFCFPT":1000000,"RGFCFRO":1000000,"RGFCFRS":1000000,"RGFCFRU":1000000000,"RGFCFSA":1000000,"RGFCFSE":1000000,"RGFCFSG":1000000,"RGFCFSI":1000000,"RGFCFSK":1000000,"RGFCFTH":1000000,"RGFCFTR":1000,"RGFCFTW":1000000,"RGFCFUA":1000000,"RGFCFUK":1000000,"RGFCFUS":1000000,"RGFCFVN":1000000000,"RGFCFZA":1000000,"RIMPAE":1000000,"RIMPAL":1000000,"RIMPAR":1000000,"RIMPAT":1000000,"RIMPAU":1000000,"RIMPAZ":1000000,"RIMPBA":1000000,"RIMPBD":1000000,"RIMPBE":1000000,"RIMPBG":1000000,"RIMPBR":1000000,"RIMPBW":1000000,"RIMPBY":1000000,"RIMPCA":1000000,"RIMPCH":1000000,"RIMPCL":1000000000,"RIMPCN":10000,"RIMPCO":1000000000,"RIMPCY":1000000,"RIMPCZ":1000000,"RIMPDE":1000000,"RIMPDK":1000000,"RIMPEA":1000000,"RIMPEE":1000000,"RIMPES":1000000,"RIMPEU":1000000,"RIMPFI":1000000,"RIMPFR":1000000,"RIMPGR":1000000,"RIMPHK":1000000,"RIMPHN":1000000,"RIMPHR":1000000,"RIMPHU":1000000,"RIMPID":1000000000,"RIMPIE":1000000,"RIMPIL":1000000,"RIMPIN":10000000,"RIMPIR":1000000000,"RIMPIT":1000000,"RIMPJP":1000000000,"RIMPKH":1000000000,"RIMPKR":1000000000,"RIMPLT":1000000,"RIMPLU":1000000,"RIMPLV":1000000,"RIMPMA":1000000,"RIMPMK":1000000,"RIMPMN":1000000,"RIMPMO":1000000,"RIMPMT":1000000,"RIMPMX":1000000,"RIMPMY":1000000,"RIMPNG":1000000,"RIMPNL":1000000,"RIMPNO":1000000,"RIMPNZ":1000000,"RIMPPA":1000000,"RIMPPE":1000000,"RIMPPH":1000000,"RIMPPK":1000000,"RIMPPL":1000000,"RIMPPT":1000000,"RIMPRO":1000000,"RIMPRS":1000000,"RIMPRU":1000000000,"RIMPRW":1000000000,"RIMPSA":1000000,"RIMPSE":1000000,"RIMPSG":1000000,"RIMPSI":1000000,"RIMPSK":1000000,"RIMPTH":1000000,"RIMPTR":1000,"RIMPTW":1000000,"RIMPUA":1000000,"RIMPUK":1000000,"RIMPUS":1000000,"RIMPUZ":1000000000,"RIMPZA":1000000,"RPRCAE":1000000,"RPRCAR":1000000,"RPRCAT":1000000,"RPRCAU":1000000,"RPRCAZ":1000000,"RPRCBA":1000000,"RPRCBD":1000000,"RPRCBE":1000000,"RPRCBG":1000000,"RPRCBR":1000000,"RPRCBY":1000000,"RPRCCA":1000000,"RPRCCH":1000000,"RPRCCL":1000000000,"RPRCCN":100000000,"RPRCCO":1000000000,"RPRCCR":1000000,"RPRCCY":1000000,"RPRCCZ":1000000,"RPRCDE":1000000,"RPRCDK":1000000,"RPRCEA":1000000,"RPRCEE":1000000,"RPRCES":1000000,"RPRCEU":1000000,"RPRCFI":1000000,"RPRCFR":1000000,"RPRCGR":1000000,"RPRCHK":1000000,"RPRCHN":1000000,"RPRCHR":1000000,"RPRCHU":1000000,"RPRCID":1000000000,"RPRCIE":1000000,"RPRCIL":1000000,"RPRCIN":10000000,"RPRCIR":1000000000,"RPRCIT":1000000,"RPRCJP":1000000000,"RPRCKH":1000000000,"RPRCKR":1000000000,"RPRCLT":1000000,"RPRCLU":1000000,"RPRCLV":1000000,"RPRCMA":1000000,"RPRCMK":1000000,"RPRCMO":1000000,"RPRCMT":1000000,"RPRCMX":1000000,"RPRCMY":1000000,"RPRCNG":1000000,"RPRCNL":1000000,"RPRCNO":1000000,"RPRCNZ":1000000,"RPRCPE":1000000,"RPRCPH":1000000,"RPRCPK":1000000,"RPRCPL":1000000,"RPRCPT":1000000,"RPRCRO":1000000,"RPRCRS":1000000,"RPRCRU":1000000000,"RPRCRW":1000000000,"RPRCSA":1000000,"RPRCSE":1000000,"RPRCSG":1000000,"RPRCSI":1000000,"RPRCSK":1000000,"RPRCTH":1000000,"RPRCTR":1000,"RPRCTW":1000000,"RPRCUA":1000000,"RPRCUK":1000000,"RPRCUS":1000000,"RPRCUZ":1000000000,"RPRCVN":1000000000,"RPRCZA":1000000,"RPUCAE":1000000,"RPUCAL":1000000,"RPUCAR":1000000,"RPUCAT":1000000,"RPUCAU":1000000,"RPUCAZ":1000000,"RPUCBA":1000000,"RPUCBD":1000000,"RPUCBE":1000000,"RPUCBG":1000000,"RPUCBR":1000000,"RPUCBW":1000000,"RPUCBY":1000000,"RPUCCA":1000000,"RPUCCH":1000000,"RPUCCL":1000000000,"RPUCCN":100000000,"RPUCCO":1000000000,"RPUCCR":1000000,"RPUCCY":1000000,"RPUCCZ":1000000,"RPUCDE":1000000,"RPUCDK":1000000,"RPUCEA":1000000,"RPUCEE":1000000,"RPUCES":1000000,"RPUCEU":1000000,"RPUCFI":1000000,"RPUCFR":1000000,"RPUCGR":1000000,"RPUCHK":1000000,"RPUCHN":1000000,"RPUCHR":1000000,"RPUCHU":1000000,"RPUCID":1000000000,"RPUCIE":1000000,"RPUCIL":1000000,"RPUCIN":10000000,"RPUCIR":1000000000,"RPUCIT":1000000,"RPUCJP":1000000000,"RPUCKH":1000000000,"RPUCKR":1000000000,"RPUCLT":1000000,"RPUCLU":1000000,"RPUCLV":1000000,"RPUCMA":1000000,"RPUCMK":1000000,"RPUCMN":1000000,"RPUCMO":1000000,"RPUCMT":1000000,"RPUCMX":1000000,"RPUCMY":1000000,"RPUCNG":1000000,"RPUCNL":1000000,"RPUCNO":1000000,"RPUCNZ":1000000,"RPUCPA":1000000,"RPUCPE":1000000,"RPUCPH":1000000,"RPUCPK":1000000,"RPUCPL":1000000,"RPUCPT":1000000,"RPUCRO":1000000,"RPUCRS":1000000,"RPUCRU":1000000000,"RPUCRW":1000000000,"RPUCSA":1000000,"RPUCSE":1000000,"RPUCSG":1000000,"RPUCSI":1000000,"RPUCSK":1000000,"RPUCTH":1000000,"RPUCTR":1000,"RPUCTW":1000000,"RPUCUA":1000000,"RPUCUK":1000000,"RPUCUS":1000000,"RPUCUZ":1000000000,"RPUCVN":1000000000,"RPUCZA":1000000,"SEIAE":1,"SEIAT":1,"SEIAU":1,"SEIBD":1,"SEIBE":1,"SEIBR":1,"SEICA":1,"SEICH":1,"SEICN":1,"SEIDE":1,"SEIDK":1,"SEIES":1,"SEIFI":1,"SEIFR":1,"SEIID":1,"SEIIE":1,"SEIIN":1,"SEIIT":1,"SEIJP":1,"SEIKR":1,"SEILA":1,"SEILU":1,"SEIMX":1,"SEINL":1,"SEINO":1,"SEIOM":1,"SEIPA":1,"SEIPK":1,"SEIPL":1,"SEIRS":1,"SEIRU":1,"SEISE":1,"SEITR":1,"SEIUS":1,"SEIUZ":1,"SEIZA":1,"SENTAL":1,"SENTAT":1,"SENTAU":1,"SENTBE":1,"SENTBG":1,"SENTBR":1,"SENTCY":1,"SENTCZ":1,"SENTDE":1,"SENTDK":1,"SENTEE":1,"SENTES":1,"SENTEU":1,"SENTFI":1,"SENTFR":1,"SENTGR":1,"SENTHR":1,"SENTHU":1,"SENTIE":1,"SENTIT":1,"SENTJP":1,"SENTKR":1,"SENTLT":1,"SENTLU":1,"SENTLV":1,"SENTME":1,"SENTMK":1,"SENTMT":1,"SENTNL":1,"SENTPL":1,"SENTPT":1,"SENTRO":1,"SENTRS":1,"SENTSE":1,"SENTSI":1,"SENTSK":1,"SENTTR":1,"SENTUK":1,"SENTUS":1,"TBBE":1000000,"TBBG":1000000,"TBBR":1,"TBCA":1000000,"TBCZ":1000000,"TBDE":1000000,"TBDK":1000000,"TBEE":1000000,"TBEG":1000000,"TBFI":1000000,"TBFR":1000000,"TBGR":1000000,"TBHR":1000000,"TBHU":1000000,"TBIN":1000000,"TBIT":1000000,"TBLT":1000000,"TBLU":1000000,"TBLV":1000000,"TBMK":1000000,"TBMT":1000000,"TBMX":1000000,"TBNL":1000000,"TBPL":1000000,"TBPT":1000000,"TBRO":1000000,"TBRS":1000000,"TBSE":1000000,"TBSI":1000000,"TBSK":1000000,"TBTH":1000000,"TBUS":1000000,"TBVN":1000000000,"URATEAE":1,"URATEAR":1,"URATEAT":1,"URATEAU":1,"URATEAZ":1000,"URATEBD":1,"URATEBE":1,"URATEBG":1,"URATEBR":1,"URATEBY":1,"URATECA":1,"URATECH":1,"URATECL":1,"URATECN":1,"URATECO":1,"URATECR":1,"URATECY":1,"URATECZ":1,"URATEDE":1,"URATEDK":1,"URATEDO":1,"URATEEA":1,"URATEEE":1,"URATEEG":1,"URATEES":1,"URATEEU":1,"URATEFI":1,"URATEFR":1,"URATEGR":1,"URATEHK":1,"URATEHR":1,"URATEHU":1,"URATEID":1,"URATEIE":1,"URATEIL":1,"URATEIS":1,"URATEIT":1,"URATEJO":1,"URATEJP":1,"URATEKH":1,"URATEKR":1,"URATEKZ":1,"URATELK":1,"URATELT":1,"URATELU":1,"URATELV":1,"URATEMA":1,"URATEMO":1,"URATEMT":1,"URATEMX":1,"URATEMY":1,"URATENL":1,"URATENO":1,"URATENZ":1,"URATEPE":1,"URATEPH":1,"URATEPK":1000000,"URATEPL":1,"URATEPT":1,"URATEQA":1,"URATERO":1,"URATERS":1000,"URATERU":1,"URATESA":1,"URATESE":1,"URATESG":1,"URATESI":1,"URATESK":1,"URATETH":1,"URATETN":1,"URATETR":1,"URATETW":1,"URATEUA":1,"URATEUK":1,"URATEUS":1,"URATEUY":1,"URATEVN":1,"URATEZA":1,"UTILAL":1,"UTILAR":1,"UTILAT":1,"UTILBE":1,"UTILBG":1,"UTILCA":1,"UTILCY":1,"UTILCZ":1,"UTILDE":1,"UTILDK":1,"UTILEE":1,"UTILES":1,"UTILEU":1,"UTILFI":1,"UTILFR":1,"UTILGR":1,"UTILHR":1,"UTILHU":1,"UTILIE":1,"UTILIT":1,"UTILLT":1,"UTILLU":1,"UTILLV":1,"UTILME":1,"UTILMK":1,"UTILMT":1,"UTILNL":1,"UTILPL":1,"UTILPT":1,"UTILRO":1,"UTILRS":1,"UTILSE":1,"UTILSI":1,"UTILSK":1,"UTILTR":1,"UTILUK":1,"UTILUS":1,"WAGEMANCL":1,"WAGEMANMX":1,"WAGEMANUS":1,"WAGEUY":1,"WAGEVN":1000,"Y10YDAR":1,"Y10YDAT":1,"Y10YDAU":1,"Y10YDBD":1,"Y10YDBE":1,"Y10YDBG":1,"Y10YDCA":1,"Y10YDCN":1,"Y10YDCY":1,"Y10YDCZ":1,"Y10YDDE":1,"Y10YDDK":1,"Y10YDEA":1,"Y10YDEE":1,"Y10YDES":1,"Y10YDEU":1,"Y10YDFI":1,"Y10YDFR":1,"Y10YDGR":1,"Y10YDHK":1,"Y10YDHR":1,"Y10YDHU":1,"Y10YDID":1,"Y10YDIE":1,"Y10YDIN":1,"Y10YDIT":1,"Y10YDJP":1,"Y10YDKR":1,"Y10YDLT":1,"Y10YDLU":1,"Y10YDLV":1,"Y10YDMT":1,"Y10YDMX":1,"Y10YDMY":1,"Y10YDNL":1,"Y10YDNZ":1,"Y10YDPH":1,"Y10YDPL":1,"Y10YDPT":1,"Y10YDQA":1,"Y10YDRO":1,"Y10YDRU":1,"Y10YDSA":1,"Y10YDSE":1,"Y10YDSG":1,"Y10YDSI":1,"Y10YDSK":1,"Y10YDTH":1,"Y10YDTR":1,"Y10YDTW":1,"Y10YDUA":1,"Y10YDUK":1,"Y10YDUS":1,"Y10YDVN":1,"Y10YDZA":1} \ No newline at end of file +{"ACPOPAT": 1000, "ACPOPBE": 1000, "ACPOPBG": 1000, "ACPOPBR": 1000, "ACPOPCA": 1000, "ACPOPCH": 1000, "ACPOPCY": 1000, "ACPOPCZ": 1000, "ACPOPDE": 1000, "ACPOPDK": 1000, "ACPOPEE": 1000, "ACPOPES": 1000, "ACPOPFI": 1000, "ACPOPFR": 1000, "ACPOPGR": 1000, "ACPOPHR": 1000, "ACPOPHU": 1000, "ACPOPIE": 1000, "ACPOPIS": 1000, "ACPOPIT": 1000, "ACPOPJP": 10000, "ACPOPLT": 1000, "ACPOPLU": 1000, "ACPOPLV": 1000, "ACPOPME": 1000, "ACPOPMK": 1000, "ACPOPMT": 1000, "ACPOPMX": 1, "ACPOPNL": 1000, "ACPOPNO": 1000, "ACPOPPH": 1000, "ACPOPPK": 1000000, "ACPOPPL": 1000, "ACPOPPT": 1000, "ACPOPQA": 1, "ACPOPRO": 1000, "ACPOPRS": 1000, "ACPOPSE": 1000, "ACPOPSI": 1000, "ACPOPSK": 1000, "ACPOPTR": 1000, "ACPOPTW": 1, "ACPOPUS": 1000, "ACPOPVN": 1000, "CAAR": 1000000, "CAAT": 1000000, "CAAU": 1000000, "CAAZ": 1000000, "CABD": 1000000, "CABE": 1000000, "CABG": 1000000, "CABR": 1000000, "CABT": 1000000, "CABY": 1000000, "CACA": 1000000, "CACH": 1000000000, "CACL": 1000000, "CACN": 100000000, "CACO": 1000000, "CACR": 1000000, "CACY": 1000000, "CACZ": 1000000, "CADE": 1000000, "CADK": 1000000, "CAEE": 1000000, "CAEG": 1000000, "CAES": 1000000, "CAEU": 1000000, "CAFI": 1000000, "CAFR": 1000000, "CAGR": 1000000, "CAHK": 1000000, "CAHR": 1000000, "CAHU": 1000000, "CAID": 1000000, "CAIE": 1000000, "CAIL": 1000000, "CAIN": 1000000, "CAIT": 1000000, "CAJO": 1000000, "CAJP": 100000000, "CAKH": 1000000000, "CAKR": 1000000, "CAKZ": 1000000, "CALA": 1000000, "CALT": 1000000, "CALU": 1000000, "CALV": 1000000, "CAMA": 1000000, "CAMT": 1000000, "CAMX": 1000000, "CAMY": 1000000, "CANL": 1000000, "CANO": 1000000, "CANP": 1000000, "CANZ": 1000000, "CAPA": 1000000, "CAPH": 1000000, "CAPK": 1000000, "CAPL": 1000000, "CAPT": 1000000, "CARAT": 1, "CARBE": 1, "CARBG": 1, "CARCH": 1, "CARCZ": 1, "CARDE": 1, "CARDK": 1, "CAREE": 1, "CARES": 1, "CAREU": 1, "CARFI": 1, "CARFR": 1, "CARGR": 1, "CARHR": 1, "CARHU": 1, "CARIE": 1, "CARIS": 1, "CARIT": 1, "CARLT": 1, "CARLU": 1, "CARLV": 1, "CARNL": 1, "CARNO": 1, "CARO": 1000000, "CARPL": 1, "CARPT": 1, "CARRO": 1, "CARSE": 1, "CARSI": 1, "CARSK": 1, "CARU": 1000000, "CARUK": 1, "CARZA": 1, "CASA": 1000000, "CASE": 1000000, "CASG": 1000000, "CASI": 1000000, "CASK": 1000000, "CASV": 1000000, "CATH": 1000000, "CATN": 1000000, "CATR": 1000000, "CATW": 1000000, "CAUA": 1000000, "CAUK": 1000000, "CAUS": 1000000, "CAUY": 1000000, "CAVN": 1000000, "CAZA": 1000000, "CBALAL": 1000000, "CBALAT": 1000000, "CBALAZ": 1000000, "CBALBE": 1000000, "CBALBG": 1000000, "CBALCH": 1000000, "CBALCY": 1000000, "CBALCZ": 1000000, "CBALDE": 1000000, "CBALDK": 1000000, "CBALEA": 1000000, "CBALEE": 1000000, "CBALES": 1000000, "CBALEU": 1000000, "CBALFI": 1000000, "CBALFR": 1000000, "CBALGR": 1000000, "CBALHR": 1000000, "CBALHU": 1000000, "CBALIE": 1000000, "CBALIR": 1000000000, "CBALIT": 1000000, "CBALLT": 1000000, "CBALLU": 1000000, "CBALLV": 1000000, "CBALME": 1000000, "CBALMT": 1000000, "CBALNL": 1000000, "CBALNO": 1000000, "CBALPH": 1000000, "CBALPL": 1000000, "CBALPT": 1000000, "CBALRO": 1000000, "CBALRS": 1000000, "CBALSE": 1000000, "CBALSI": 1000000, "CBALSK": 1000000, "CBALTR": 1000000, "CBALUK": 1000000, "CBALUS": 1000000000, "CIAE": 1000000, "CIAR": 1000000, "CIAT": 1000000, "CIAU": 1000000, "CIAZ": 1000000, "CIBE": 1000000, "CIBG": 1000000, "CIBR": 1000000, "CIBW": 1000000, "CIBY": 1000000, "CICH": 1000000, "CICN": 100000000, "CICY": 1000000, "CICZ": 1000000, "CIDE": 1000000, "CIDK": 1000000, "CIEE": 1000000, "CIES": 1000000, "CIFI": 1000000, "CIFR": 1000000, "CIGR": 1000000, "CIHK": 1000000, "CIHR": 1000000, "CIHU": 1000000, "CIID": 1000000000, "CIIE": 1000000, "CIIL": 1000000, "CIIN": 10000000, "CIIR": 1000000000, "CIIT": 1000000, "CIKR": 1000000000, "CIKZ": 1000000, "CILT": 1000000, "CILU": 1000000, "CILV": 1000000, "CIMA": 1000000, "CIME": 1000000, "CIMN": 1000000, "CIMT": 1000000, "CIMX": 1000000, "CIMY": 1000000, "CING": 1000000, "CINL": 1000000, "CINO": 1000000, "CINZ": 1000000, "CIPH": 1000000, "CIPK": 1000000, "CIPL": 1000000, "CIPT": 1000000, "CIRO": 1000000, "CIRS": 1000000, "CIRU": 1000000000, "CISA": 1000000, "CISE": 1000000, "CISG": 1000000, "CISI": 1000000, "CISK": 1000000, "CITH": 1000000, "CITR": 1000, "CITW": 1000000, "CIUA": 1000000, "CIUK": 1000000, "CIUS": 1000000, "CIVN": 1000000000, "CIZA": 1000000, "CKABE": 1000000, "CKABG": 1000000, "CKACZ": 1000000, "CKADE": 1000000, "CKADK": 1000000, "CKAEE": 1000000, "CKAES": 1000000, "CKAFI": 1000000, "CKAFR": 1000000, "CKAGR": 1000000, "CKAHR": 1000000, "CKAHU": 1000000, "CKAIT": 1000000, "CKALT": 1000000, "CKALU": 1000000, "CKALV": 1000000, "CKAMT": 1000000, "CKANL": 1000000, "CKAPL": 1000000, "CKAPT": 1000000, "CKARO": 1000000, "CKASE": 1000000, "CKASI": 1000000, "CKASK": 1000000, "CLAIMSUS": 1, "CLIAT": 1, "CLIAU": 1, "CLIBE": 1, "CLIBR": 1, "CLICA": 1, "CLICH": 1, "CLICL": 1, "CLICN": 1, "CLICZ": 1, "CLIDE": 1, "CLIDK": 1, "CLIEE": 1, "CLIES": 1, "CLIFI": 1, "CLIFR": 1, "CLIGR": 1, "CLIHU": 1, "CLIID": 1, "CLIIE": 1, "CLIIL": 1, "CLIIN": 1, "CLIIS": 1, "CLIIT": 1, "CLIJP": 1, "CLIKR": 1, "CLILU": 1, "CLIMX": 1, "CLINL": 1, "CLINO": 1, "CLINZ": 1, "CLIPL": 1, "CLIPT": 1, "CLIRU": 1, "CLISE": 1, "CLISI": 1, "CLISK": 1, "CLITR": 1, "CLIUK": 1, "CLIUS": 1, "CLIZA": 1, "CONAE": 1000000, "CONAL": 1000000, "CONAT": 1000000, "CONBD": 1000000, "CONBE": 1000000, "CONBG": 1000000, "CONBY": 1000000, "CONCA": 1000000, "CONCH": 1000000, "CONCL": 1000000000, "CONCN": 100000000, "CONCY": 1000000, "CONCZ": 1000000, "CONDE": 1000000, "CONDK": 1000000, "CONEA": 1000000, "CONEE": 1000000, "CONES": 1000000, "CONEU": 1000000, "CONFAL": 1, "CONFAT": 1, "CONFAU": 1, "CONFBE": 1, "CONFBG": 1, "CONFBR": 1, "CONFCY": 1, "CONFCZ": 1, "CONFDE": 1, "CONFDK": 1, "CONFEE": 1, "CONFES": 1, "CONFEU": 1, "CONFFI": 1, "CONFFR": 1, "CONFGR": 1, "CONFHR": 1, "CONFHU": 1, "CONFI": 1000000, "CONFID": 1, "CONFIE": 1, "CONFIL": 1, "CONFIT": 1, "CONFJP": 1, "CONFKR": 1, "CONFLT": 1, "CONFLU": 1, "CONFLV": 1, "CONFME": 1, "CONFMK": 1, "CONFMT": 1, "CONFMX": 1, "CONFNL": 1, "CONFPL": 1, "CONFPT": 1, "CONFR": 1000000, "CONFRO": 1, "CONFRS": 1, "CONFSE": 1, "CONFSI": 1, "CONFSK": 1, "CONFTR": 1, "CONFUK": 1, "CONFUS": 1, "CONGR": 1000000, "CONHR": 1000000, "CONHU": 1000000, "CONIE": 1000000, "CONIT": 1000000, "CONKR": 1000000000, "CONLT": 1000000, "CONLU": 1000000, "CONLV": 1000000, "CONMK": 1000000, "CONMT": 1000000, "CONMX": 1000000, "CONNL": 1000000, "CONNO": 1000000, "CONPL": 1000000, "CONPT": 1000000, "CONQA": 1000000, "CONRO": 1000000, "CONRS": 1000000, "CONRU": 1000000000, "CONSE": 1000000, "CONSI": 1000000, "CONSK": 1000000, "CONUA": 1000000, "CONUK": 1000000, "CONZA": 1000000, "COREAR": 1, "COREAT": 1, "COREAU": 1, "COREBD": 1, "COREBE": 1, "COREBG": 1, "COREBR": 1, "CORECA": 1, "CORECH": 1, "CORECY": 1, "CORECZ": 1, "COREDE": 1, "COREDK": 1, "COREEA": 1, "COREEE": 1, "COREES": 1, "COREEU": 1, "COREFI": 1, "COREFR": 1, "COREGR": 1, "COREHR": 1, "COREHU": 1, "COREIE": 1, "COREIN": 1, "COREIS": 1, "COREIT": 1, "COREJP": 1, "COREKR": 1, "CORELT": 1, "CORELU": 1, "CORELV": 1, "COREMK": 1, "COREMT": 1, "COREMX": 1, "CORENL": 1, "CORENO": 1, "CORENP": 1, "COREPL": 1, "COREPT": 1, "CORERO": 1, "CORERS": 1, "CORERU": 1, "CORESE": 1, "CORESG": 1, "CORESI": 1, "CORESK": 1, "CORETH": 1, "CORETR": 1, "CORETW": 1, "COREUK": 1, "COREUS": 1, "CPAT": 1, "CPBE": 1, "CPBG": 1, "CPCZ": 1, "CPDE": 1, "CPDK": 1, "CPES": 1, "CPEU": 1, "CPFI": 1, "CPFR": 1, "CPHR": 1, "CPHU": 1, "CPIAE": 1, "CPIAF": 1, "CPIAG": 1, "CPIAL": 1, "CPIAM": 1, "CPIAR": 1, "CPIAT": 1, "CPIAU": 1, "CPIAW": 1, "CPIAZ": 1, "CPIBA": 1, "CPIBB": 1, "CPIBD": 1, "CPIBE": 1, "CPIBF": 1, "CPIBG": 1, "CPIBH": 1, "CPIBI": 1, "CPIBJ": 1, "CPIBN": 1, "CPIBO": 1, "CPIBR": 1, "CPIBS": 1, "CPIBT": 1, "CPIBW": 1, "CPIBY": 1, "CPIBZ": 1, "CPICA": 1, "CPICF": 1, "CPICG": 1, "CPICH": 1, "CPICI": 1, "CPICL": 1, "CPICM": 1, "CPICN": 1, "CPICO": 1, "CPICR": 1, "CPICV": 1, "CPICW": 1, "CPICY": 1, "CPICZ": 1, "CPIDE": 1, "CPIDJ": 1, "CPIDK": 1, "CPIDM": 1, "CPIDO": 1, "CPIEA": 1, "CPIEC": 1, "CPIEE": 1, "CPIEG": 1, "CPIES": 1, "CPIET": 1, "CPIEU": 1, "CPIFI": 1, "CPIFJ": 1, "CPIFR": 1, "CPIGA": 1, "CPIGD": 1, "CPIGE": 1, "CPIGN": 1, "CPIGQ": 1, "CPIGR": 1, "CPIGT": 1, "CPIGW": 1, "CPIGY": 1, "CPIHK": 1, "CPIHN": 1, "CPIHR": 1, "CPIHT": 1, "CPIHU": 1, "CPIID": 1, "CPIIE": 1, "CPIIL": 1, "CPIIN": 1, "CPIIQ": 1, "CPIIR": 1, "CPIIS": 1, "CPIIT": 1, "CPIJM": 1, "CPIJO": 1, "CPIJP": 1, "CPIKG": 1, "CPIKH": 1, "CPIKI": 1, "CPIKN": 1, "CPIKR": 1, "CPIKW": 1, "CPIKZ": 1, "CPILA": 1, "CPILB": 1, "CPILC": 1, "CPILK": 1, "CPILR": 1, "CPILS": 1, "CPILT": 1, "CPILU": 1, "CPILV": 1, "CPIMA": 1, "CPIMD": 1, "CPIME": 1, "CPIMG": 1, "CPIMK": 1, "CPIML": 1, "CPIMM": 1, "CPIMN": 1, "CPIMO": 1, "CPIMR": 1, "CPIMS": 1, "CPIMT": 1, "CPIMU": 1, "CPIMV": 1, "CPIMW": 1, "CPIMX": 1, "CPIMY": 1, "CPIMZ": 1, "CPINE": 1, "CPING": 1, "CPINI": 1, "CPINL": 1, "CPINO": 1, "CPINP": 1, "CPINZ": 1, "CPIOM": 1, "CPIPA": 1, "CPIPE": 1, "CPIPH": 1, "CPIPK": 1, "CPIPL": 1, "CPIPS": 1, "CPIPT": 1, "CPIQA": 1, "CPIRO": 1, "CPIRS": 1, "CPIRU": 1, "CPISA": 1, "CPISB": 1, "CPISC": 1, "CPISD": 1, "CPISE": 1, "CPISG": 1, "CPISI": 1, "CPISK": 1, "CPISR": 1, "CPISS": 1, "CPIST": 1, "CPISV": 1, "CPISZ": 1, "CPIT": 1, "CPITD": 1, "CPITG": 1, "CPITH": 1, "CPITJ": 1, "CPITL": 1, "CPITN": 1, "CPITO": 1, "CPITR": 1, "CPITT": 1, "CPITW": 1, "CPIUA": 1, "CPIUG": 1, "CPIUK": 1, "CPIUS": 1, "CPIUY": 1, "CPIUZ": 1, "CPIVC": 1, "CPIVE": 1, "CPIVN": 1, "CPIWS": 1, "CPIXK": 1, "CPIZA": 1, "CPIZM": 1, "CPIZW": 1, "CPLU": 1, "CPMK": 1, "CPMX": 1000, "CPNL": 1, "CPNO": 1, "CPPL": 1, "CPPT": 1, "CPRO": 1, "CPSE": 1, "CPSG": 1000000, "CPSI": 1, "CPSK": 1, "CPUK": 1, "CREDAR": 1000000000, "CREDAT": 1000000000, "CREDAU": 1000000000, "CREDBE": 1000000000, "CREDBR": 1000000000, "CREDCA": 1000000000, "CREDCH": 1000000000, "CREDCL": 1000000000, "CREDCN": 1000000000, "CREDCO": 1000000000, "CREDCZ": 1000000000, "CREDDE": 1000000000, "CREDDK": 1000000000, "CREDEA": 1000000000, "CREDES": 1000000000, "CREDFI": 1000000000, "CREDFR": 1000000000, "CREDGR": 1000000000, "CREDHK": 1000000000, "CREDHU": 1000000000, "CREDID": 1000000000, "CREDIE": 1000000000, "CREDIL": 1000000000, "CREDIN": 1000000000, "CREDIT": 1000000000, "CREDJP": 1000000000, "CREDKR": 1000000000, "CREDLU": 1000000000, "CREDMO": 1000000, "CREDMX": 1000000000, "CREDMY": 1000000000, "CREDNL": 1000000000, "CREDNO": 1000000000, "CREDNZ": 1000000000, "CREDPL": 1000000000, "CREDPT": 1000000000, "CREDRU": 1000000000, "CREDSA": 1000000000, "CREDSE": 1000000000, "CREDSG": 1000000000, "CREDTH": 1000000000, "CREDTN": 1000000, "CREDTR": 1000000000, "CREDUK": 1000000000, "CREDUS": 1000000000, "CREDZA": 1000000000, "DWPEBE": 1, "DWPECY": 1, "DWPEDE": 1, "DWPEES": 1, "DWPEEU": 1, "DWPEFI": 1, "DWPEFR": 1, "DWPEGR": 1, "DWPEHU": 1, "DWPEMK": 1, "DWPENL": 1, "DWPENO": 1, "DWPEPT": 1, "DWPERO": 1, "DWPESE": 1, "DWPESI": 1, "ELEAT": 1, "ELEBE": 1, "ELEBG": 1, "ELECH": 1, "ELECN": 100000000, "ELECY": 1, "ELECZ": 1, "ELEDE": 1, "ELEDK": 1, "ELEEE": 1, "ELEES": 1, "ELEEU": 1, "ELEFI": 1, "ELEFR": 1, "ELEGR": 1, "ELEHR": 1, "ELEHU": 1, "ELEIE": 1, "ELEIT": 1, "ELELT": 1, "ELELU": 1, "ELELV": 1, "ELEMK": 1, "ELEMT": 1, "ELENL": 1, "ELENO": 1, "ELEPL": 1, "ELEPT": 1, "ELERO": 1, "ELESE": 1, "ELESI": 1, "ELESK": 1, "ELETR": 1, "ELEUK": 1, "ELEUS": 1, "ELEZA": 1, "EMPAR": 1, "EMPAT": 1000, "EMPAU": 1000, "EMPAZ": 1000, "EMPBD": 1000000, "EMPBE": 1000, "EMPBG": 1000, "EMPBR": 1000, "EMPBY": 1000, "EMPCA": 1000, "EMPCH": 1000, "EMPCL": 1000, "EMPCN": 10000, "EMPCO": 1, "EMPCR": 1000, "EMPCY": 1000, "EMPCZ": 1000, "EMPDE": 1000, "EMPDK": 1000, "EMPDO": 1, "EMPEE": 1000, "EMPES": 1000, "EMPFI": 1000, "EMPFR": 1000, "EMPGR": 1000, "EMPHR": 1000, "EMPHU": 1000, "EMPID": 1000, "EMPIE": 1000, "EMPIS": 1000, "EMPIT": 1000, "EMPJO": 1, "EMPJP": 10000, "EMPKR": 1000, "EMPKZ": 1000, "EMPLK": 1, "EMPLT": 1000, "EMPLU": 1000, "EMPLV": 1000, "EMPME": 1000, "EMPMK": 1000, "EMPMO": 1, "EMPMT": 1000, "EMPMX": 1, "EMPMY": 1000000, "EMPNL": 1000, "EMPNO": 1000, "EMPNZ": 1000, "EMPPA": 1, "EMPPE": 1, "EMPPH": 1000, "EMPPK": 1000000, "EMPPL": 1000, "EMPPT": 1000, "EMPQA": 1, "EMPRO": 1000, "EMPRS": 1000, "EMPRU": 1000000, "EMPSE": 1000, "EMPSG": 1000, "EMPSI": 1000, "EMPSK": 1000, "EMPTH": 1000, "EMPTN": 1, "EMPTR": 1000, "EMPTW": 1, "EMPUA": 1000, "EMPUS": 1000, "EMPUY": 1, "EMPVN": 1000, "EMPZA": 1, "EMRATIOAT": 1, "EMRATIOBE": 1, "EMRATIOBG": 1, "EMRATIOCH": 1, "EMRATIOCY": 1, "EMRATIOCZ": 1, "EMRATIODE": 1, "EMRATIODK": 1, "EMRATIOEE": 1, "EMRATIOES": 1, "EMRATIOFI": 1, "EMRATIOFR": 1, "EMRATIOGR": 1, "EMRATIOHR": 1, "EMRATIOHU": 1, "EMRATIOIE": 1, "EMRATIOIS": 1, "EMRATIOIT": 1, "EMRATIOJP": 1, "EMRATIOLT": 1, "EMRATIOLU": 1, "EMRATIOLV": 1, "EMRATIOME": 1, "EMRATIOMK": 1, "EMRATIOMT": 1, "EMRATIONL": 1, "EMRATIONO": 1, "EMRATIOPL": 1, "EMRATIOPT": 1, "EMRATIORO": 1, "EMRATIORS": 1, "EMRATIOSE": 1, "EMRATIOSI": 1, "EMRATIOSK": 1, "EMRATIOTR": 1, "EMRATIOTW": 1, "EMRATIOUS": 1, "EQYCAPCN": 100000000, "EXPAE": 1000000, "EXPAL": 1000000, "EXPAR": 1000000, "EXPAT": 1000000, "EXPAU": 1000000, "EXPAZ": 1000000, "EXPBD": 1000000, "EXPBE": 1000000, "EXPBG": 1000000, "EXPBR": 1000000, "EXPBW": 1000000, "EXPBY": 1000000, "EXPCA": 1000000, "EXPCH": 1000000, "EXPCL": 1000000000, "EXPCM": 1000000000, "EXPCN": 10000, "EXPCO": 1000000000, "EXPCY": 1000000, "EXPCZ": 1000000, "EXPDE": 1000000, "EXPDK": 1000000, "EXPEA": 1000000, "EXPEE": 1000000, "EXPES": 1000000, "EXPEU": 1000000, "EXPFI": 1000000, "EXPFR": 1000000, "EXPGR": 1000000, "EXPHK": 1000000, "EXPHR": 1000000, "EXPHU": 1000000, "EXPID": 1000000000, "EXPIE": 1000000, "EXPIL": 1000000, "EXPIN": 10000000, "EXPIR": 1000000000, "EXPIT": 1000000, "EXPJO": 1000000, "EXPJP": 1000000000, "EXPKR": 1000000000, "EXPKZ": 1000000, "EXPLT": 1000000, "EXPLU": 1000000, "EXPLV": 1000000, "EXPMA": 1000000, "EXPME": 1000000, "EXPMK": 1000000, "EXPMN": 1000000, "EXPMONAR": 1000000, "EXPMONAU": 1000000, "EXPMONBD": 1000000, "EXPMONBE": 1000000, "EXPMONBG": 1000000, "EXPMONBR": 1, "EXPMONCA": 1000000, "EXPMONCL": 1000000, "EXPMONCN": 1000, "EXPMONCO": 1000000, "EXPMONCR": 1000000, "EXPMONCZ": 1000000, "EXPMONDE": 1000000, "EXPMONDK": 1000000, "EXPMONEE": 1000000, "EXPMONEG": 1000000, "EXPMONES": 1000000, "EXPMONEU": 1000000, "EXPMONFI": 1000000, "EXPMONFR": 1000000, "EXPMONGR": 1000000, "EXPMONHK": 1000000, "EXPMONHR": 1000000, "EXPMONHU": 1000000, "EXPMONID": 1000000, "EXPMONIN": 1000000, "EXPMONIT": 1000000, "EXPMONJP": 1000, "EXPMONKH": 1000000, "EXPMONKR": 1000, "EXPMONKZ": 1000000, "EXPMONLT": 1000000, "EXPMONLU": 1000000, "EXPMONLV": 1000000, "EXPMONMK": 1000000, "EXPMONMT": 1000000, "EXPMONMX": 1000000, "EXPMONMY": 1000000, "EXPMONNL": 1000000, "EXPMONNP": 1000000, "EXPMONPH": 1000000, "EXPMONPK": 1000000, "EXPMONPL": 1000000, "EXPMONPT": 1000000, "EXPMONQA": 1000000, "EXPMONRO": 1000000, "EXPMONRS": 1000000, "EXPMONRU": 1000000, "EXPMONSA": 1000000, "EXPMONSE": 1000000, "EXPMONSG": 1000, "EXPMONSI": 1000000, "EXPMONSK": 1000000, "EXPMONTH": 1000000, "EXPMONTR": 1000, "EXPMONTW": 1000000, "EXPMONUA": 1000000, "EXPMONUK": 1000000, "EXPMONUS": 1000000, "EXPMONUY": 1000000, "EXPMONVN": 1000, "EXPMONZA": 1000000, "EXPMT": 1000000, "EXPMX": 1000000, "EXPMY": 1000000, "EXPNG": 1000000, "EXPNL": 1000000, "EXPNO": 1000000, "EXPNZ": 1000000, "EXPPE": 1000000, "EXPPH": 1000000, "EXPPK": 1000000, "EXPPL": 1000000, "EXPPT": 1000000, "EXPQA": 1000000, "EXPRO": 1000000, "EXPRS": 1000000, "EXPRU": 1000000000, "EXPRW": 1000000000, "EXPSA": 1000000, "EXPSE": 1000000, "EXPSG": 1000000, "EXPSI": 1000000, "EXPSK": 1000000, "EXPSV": 1000000, "EXPTH": 1000000, "EXPTR": 1000, "EXPTW": 1000000, "EXPUA": 1000000, "EXPUK": 1000000, "EXPUS": 1000000, "EXPZA": 1000000, "GASDEMAL": 1000000, "GASDEMAT": 1000000, "GASDEMAU": 1000000, "GASDEMAZ": 1000000, "GASDEMBE": 1000000, "GASDEMBG": 1000000, "GASDEMBH": 1000000, "GASDEMBN": 1000000, "GASDEMBO": 1000000, "GASDEMBY": 1000000, "GASDEMCA": 1000000, "GASDEMCH": 1000000, "GASDEMCL": 1000000, "GASDEMCZ": 1000000, "GASDEMDE": 1000000, "GASDEMDK": 1000000, "GASDEMDZ": 1000000, "GASDEMEC": 1000000, "GASDEMEE": 1000000, "GASDEMEG": 1000000, "GASDEMES": 1000000, "GASDEMFI": 1000000, "GASDEMFR": 1000000, "GASDEMGE": 1000000, "GASDEMGQ": 1000000, "GASDEMGR": 1000000, "GASDEMHK": 1000000, "GASDEMHR": 1000000, "GASDEMHU": 1000000, "GASDEMID": 1000000, "GASDEMIE": 1000000, "GASDEMIN": 1000000, "GASDEMIT": 1000000, "GASDEMJP": 1000000, "GASDEMKR": 1000000, "GASDEMKW": 1000000, "GASDEMLT": 1000000, "GASDEMLU": 1000000, "GASDEMLV": 1000000, "GASDEMLY": 1000000, "GASDEMMA": 1000000, "GASDEMMD": 1000000, "GASDEMMK": 1000000, "GASDEMMT": 1000000, "GASDEMMX": 1000000, "GASDEMNG": 1000000, "GASDEMNL": 1000000, "GASDEMNO": 1000000, "GASDEMNZ": 1000000, "GASDEMPE": 1000000, "GASDEMPH": 1000000, "GASDEMPL": 1000000, "GASDEMPT": 1000000, "GASDEMQA": 1000000, "GASDEMRO": 1000000, "GASDEMSE": 1000000, "GASDEMSI": 1000000, "GASDEMSK": 1000000, "GASDEMTN": 1000000, "GASDEMTR": 1000000, "GASDEMTT": 1000000, "GASDEMTW": 1000000, "GASDEMUA": 1000000, "GASDEMUK": 1000000, "GASDEMUS": 1000000, "GASDEMVE": 1000000, "GASDEMZA": 1000000, "GASODEMAE": 1000, "GASODEMAL": 1000, "GASODEMAM": 1000, "GASODEMAO": 1000, "GASODEMAR": 1000, "GASODEMAT": 1000, "GASODEMAU": 1000, "GASODEMAZ": 1000, "GASODEMBB": 1000, "GASODEMBD": 1000, "GASODEMBE": 1000, "GASODEMBG": 1000, "GASODEMBH": 1000, "GASODEMBM": 1000, "GASODEMBN": 1000, "GASODEMBO": 1000, "GASODEMBR": 1000, "GASODEMBY": 1000, "GASODEMBZ": 1000, "GASODEMCA": 1000, "GASODEMCH": 1000, "GASODEMCL": 1000, "GASODEMCN": 1000, "GASODEMCO": 1000, "GASODEMCR": 1000, "GASODEMCU": 1000, "GASODEMCY": 1000, "GASODEMCZ": 1000, "GASODEMDE": 1000, "GASODEMDK": 1000, "GASODEMDO": 1000, "GASODEMDZ": 1000, "GASODEMEC": 1000, "GASODEMEE": 1000, "GASODEMEG": 1000, "GASODEMES": 1000, "GASODEMFI": 1000, "GASODEMFR": 1000, "GASODEMGA": 1000, "GASODEMGD": 1000, "GASODEMGE": 1000, "GASODEMGM": 1000, "GASODEMGQ": 1000, "GASODEMGR": 1000, "GASODEMGT": 1000, "GASODEMGY": 1000, "GASODEMHK": 1000, "GASODEMHN": 1000, "GASODEMHR": 1000, "GASODEMHT": 1000, "GASODEMHU": 1000, "GASODEMID": 1000, "GASODEMIE": 1000, "GASODEMIN": 1000, "GASODEMIQ": 1000, "GASODEMIR": 1000, "GASODEMIS": 1000, "GASODEMIT": 1000, "GASODEMJM": 1000, "GASODEMJP": 1000, "GASODEMKR": 1000, "GASODEMKW": 1000, "GASODEMKZ": 1000, "GASODEMLT": 1000, "GASODEMLU": 1000, "GASODEMLV": 1000, "GASODEMLY": 1000, "GASODEMMA": 1000, "GASODEMMD": 1000, "GASODEMMK": 1000, "GASODEMMM": 1000, "GASODEMMT": 1000, "GASODEMMU": 1000, "GASODEMMX": 1000, "GASODEMMY": 1000, "GASODEMNE": 1000, "GASODEMNG": 1000, "GASODEMNI": 1000, "GASODEMNL": 1000, "GASODEMNO": 1000, "GASODEMNP": 1000, "GASODEMNZ": 1000, "GASODEMOM": 1000, "GASODEMPA": 1000, "GASODEMPE": 1000, "GASODEMPG": 1000, "GASODEMPH": 1000, "GASODEMPL": 1000, "GASODEMPT": 1000, "GASODEMPY": 1000, "GASODEMQA": 1000, "GASODEMRO": 1000, "GASODEMRU": 1000, "GASODEMSA": 1000, "GASODEMSD": 1000, "GASODEMSE": 1000, "GASODEMSG": 1000, "GASODEMSI": 1000, "GASODEMSK": 1000, "GASODEMSR": 1000, "GASODEMSV": 1000, "GASODEMSY": 1000, "GASODEMSZ": 1000, "GASODEMTH": 1000, "GASODEMTJ": 1000, "GASODEMTN": 1000, "GASODEMTR": 1000, "GASODEMTT": 1000, "GASODEMTW": 1000, "GASODEMUA": 1000, "GASODEMUK": 1000, "GASODEMUS": 1000, "GASODEMUY": 1000, "GASODEMVE": 1000, "GASODEMVN": 1000, "GASODEMYE": 1000, "GASODEMZA": 1000, "GASOPRODAE": 1000, "GASOPRODAL": 1000, "GASOPRODAM": 1000, "GASOPRODAO": 1000, "GASOPRODAR": 1000, "GASOPRODAT": 1000, "GASOPRODAU": 1000, "GASOPRODAZ": 1000, "GASOPRODBB": 1000, "GASOPRODBD": 1000, "GASOPRODBE": 1000, "GASOPRODBG": 1000, "GASOPRODBH": 1000, "GASOPRODBM": 1000, "GASOPRODBN": 1000, "GASOPRODBO": 1000, "GASOPRODBR": 1000, "GASOPRODBY": 1000, "GASOPRODBZ": 1000, "GASOPRODCA": 1000, "GASOPRODCH": 1000, "GASOPRODCL": 1000, "GASOPRODCN": 1000, "GASOPRODCO": 1000, "GASOPRODCR": 1000, "GASOPRODCU": 1000, "GASOPRODCY": 1000, "GASOPRODCZ": 1000, "GASOPRODDE": 1000, "GASOPRODDK": 1000, "GASOPRODDO": 1000, "GASOPRODDZ": 1000, "GASOPRODEC": 1000, "GASOPRODEE": 1000, "GASOPRODEG": 1000, "GASOPRODES": 1000, "GASOPRODFI": 1000, "GASOPRODFR": 1000, "GASOPRODGA": 1000, "GASOPRODGD": 1000, "GASOPRODGE": 1000, "GASOPRODGM": 1000, "GASOPRODGQ": 1000, "GASOPRODGR": 1000, "GASOPRODGT": 1000, "GASOPRODGY": 1000, "GASOPRODHK": 1000, "GASOPRODHN": 1000, "GASOPRODHR": 1000, "GASOPRODHT": 1000, "GASOPRODHU": 1000, "GASOPRODID": 1000, "GASOPRODIE": 1000, "GASOPRODIN": 1000, "GASOPRODIQ": 1000, "GASOPRODIR": 1000, "GASOPRODIS": 1000, "GASOPRODIT": 1000, "GASOPRODJM": 1000, "GASOPRODJP": 1000, "GASOPRODKR": 1000, "GASOPRODKW": 1000, "GASOPRODKZ": 1000, "GASOPRODLT": 1000, "GASOPRODLU": 1000, "GASOPRODLV": 1000, "GASOPRODLY": 1000, "GASOPRODMA": 1000, "GASOPRODMD": 1000, "GASOPRODMK": 1000, "GASOPRODMM": 1000, "GASOPRODMT": 1000, "GASOPRODMU": 1000, "GASOPRODMX": 1000, "GASOPRODMY": 1000, "GASOPRODNE": 1000, "GASOPRODNG": 1000, "GASOPRODNI": 1000, "GASOPRODNL": 1000, "GASOPRODNO": 1000, "GASOPRODNP": 1000, "GASOPRODNZ": 1000, "GASOPRODOM": 1000, "GASOPRODPA": 1000, "GASOPRODPE": 1000, "GASOPRODPG": 1000, "GASOPRODPH": 1000, "GASOPRODPL": 1000, "GASOPRODPT": 1000, "GASOPRODPY": 1000, "GASOPRODQA": 1000, "GASOPRODRO": 1000, "GASOPRODRU": 1000, "GASOPRODSA": 1000, "GASOPRODSD": 1000, "GASOPRODSE": 1000, "GASOPRODSG": 1000, "GASOPRODSI": 1000, "GASOPRODSK": 1000, "GASOPRODSR": 1000, "GASOPRODSV": 1000, "GASOPRODSY": 1000, "GASOPRODSZ": 1000, "GASOPRODTH": 1000, "GASOPRODTJ": 1000, "GASOPRODTN": 1000, "GASOPRODTR": 1000, "GASOPRODTT": 1000, "GASOPRODTW": 1000, "GASOPRODUA": 1000, "GASOPRODUK": 1000, "GASOPRODUS": 1000, "GASOPRODUY": 1000, "GASOPRODVE": 1000, "GASOPRODVN": 1000, "GASOPRODYE": 1000, "GASOPRODZA": 1000, "GASPRODAL": 1000000, "GASPRODAT": 1000000, "GASPRODAU": 1000000, "GASPRODAZ": 1000000, "GASPRODBE": 1000000, "GASPRODBG": 1000000, "GASPRODBH": 1000000, "GASPRODBN": 1000000, "GASPRODBO": 1000000, "GASPRODBY": 1000000, "GASPRODCA": 1000000, "GASPRODCH": 1000000, "GASPRODCL": 1000000, "GASPRODCN": 1000000, "GASPRODCZ": 1000000, "GASPRODDE": 1000000, "GASPRODDK": 1000000, "GASPRODDZ": 1000000, "GASPRODEC": 1000000, "GASPRODEE": 1000000, "GASPRODEG": 1000000, "GASPRODES": 1000000, "GASPRODFI": 1000000, "GASPRODFR": 1000000, "GASPRODGA": 1000000, "GASPRODGE": 1000000, "GASPRODGQ": 1000000, "GASPRODGR": 1000000, "GASPRODHK": 1000000, "GASPRODHR": 1000000, "GASPRODHU": 1000000, "GASPRODID": 1000000, "GASPRODIE": 1000000, "GASPRODIN": 1000000, "GASPRODIQ": 1000000, "GASPRODIT": 1000000, "GASPRODJP": 1000000, "GASPRODKR": 1000000, "GASPRODKW": 1000000, "GASPRODKZ": 1000000, "GASPRODLT": 1000000, "GASPRODLU": 1000000, "GASPRODLV": 1000000, "GASPRODLY": 1000000, "GASPRODMA": 1000000, "GASPRODMD": 1000000, "GASPRODMK": 1000000, "GASPRODMT": 1000000, "GASPRODMX": 1000000, "GASPRODMY": 1000000, "GASPRODNG": 1000000, "GASPRODNL": 1000000, "GASPRODNO": 1000000, "GASPRODNZ": 1000000, "GASPRODPE": 1000000, "GASPRODPG": 1000000, "GASPRODPH": 1000000, "GASPRODPL": 1000000, "GASPRODPT": 1000000, "GASPRODQA": 1000000, "GASPRODRO": 1000000, "GASPRODRU": 1000000, "GASPRODSE": 1000000, "GASPRODSG": 1000000, "GASPRODSI": 1000000, "GASPRODSK": 1000000, "GASPRODTH": 1000000, "GASPRODTN": 1000000, "GASPRODTR": 1000000, "GASPRODTT": 1000000, "GASPRODTW": 1000000, "GASPRODUA": 1000000, "GASPRODUK": 1000000, "GASPRODUS": 1000000, "GASPRODVE": 1000000, "GASPRODVN": 1000000, "GASPRODZA": 1000000, "GBALAR": 1000000, "GBALAT": 1000000, "GBALAU": 1000000, "GBALAZ": 1000000, "GBALBD": 1000000000, "GBALBE": 1000000, "GBALBG": 1000000, "GBALBR": 1000000, "GBALCA": 1000000, "GBALCH": 1000000, "GBALCN": 1000000000, "GBALCO": 1000000000, "GBALCR": 1000000, "GBALCY": 1000000, "GBALCZ": 1000000, "GBALDE": 1000000, "GBALDK": 1000000, "GBALEE": 1000000, "GBALES": 1000000, "GBALEU": 1000000, "GBALFI": 1000000, "GBALFR": 1000000, "GBALGR": 1000000, "GBALHK": 1000000, "GBALHR": 1000000, "GBALHU": 1000000, "GBALID": 1000000000, "GBALIE": 1000000, "GBALIL": 1000000, "GBALIN": 1000000000, "GBALIS": 1000000, "GBALIT": 1000000, "GBALJP": 1000000000, "GBALKH": 1000000, "GBALKR": 1000000000, "GBALKZ": 1000000, "GBALLT": 1000000, "GBALLU": 1000000, "GBALLV": 1000000, "GBALMO": 1000000, "GBALMT": 1000000, "GBALMX": 1000000, "GBALMY": 1000000, "GBALNL": 1000000, "GBALNO": 1000000, "GBALPE": 1000000, "GBALPH": 1000000, "GBALPL": 1000000, "GBALPT": 1000000, "GBALRO": 1000000, "GBALRU": 1000000000, "GBALSA": 1000000, "GBALSE": 1000000, "GBALSG": 1000000, "GBALSI": 1000000, "GBALSK": 1000000, "GBALTH": 1000000, "GBALTR": 1000000, "GBALTW": 1000, "GBALUA": 1000000, "GBALUK": 1000000, "GBALUS": 1000000, "GBALZA": 1000000, "GCFAT": 1000000, "GCFBE": 1000000, "GCFBG": 1000000, "GCFBR": 1000000, "GCFBY": 1000000, "GCFCH": 1000000, "GCFCN": 100000000, "GCFCY": 1000000, "GCFCZ": 1000000, "GCFDE": 1000000, "GCFDK": 1000000, "GCFEA": 1000000, "GCFEE": 1000000, "GCFES": 1000000, "GCFEU": 1000000, "GCFFI": 1000000, "GCFFR": 1000000, "GCFGR": 1000000, "GCFHR": 1000000, "GCFHU": 1000000, "GCFIE": 1000000, "GCFIT": 1000000, "GCFKR": 1000000000, "GCFLT": 1000000, "GCFLU": 1000000, "GCFLV": 1000000, "GCFME": 1000000, "GCFMK": 1000000, "GCFMT": 1000000, "GCFNL": 1000000, "GCFNO": 1000000, "GCFNZ": 1000000, "GCFPE": 1000000, "GCFPL": 1000000, "GCFPT": 1000000, "GCFQA": 1000000, "GCFRO": 1000000, "GCFRS": 1000000, "GCFRU": 1000000000, "GCFSE": 1000000, "GCFSI": 1000000, "GCFSK": 1000000, "GCFTH": 1000000, "GCFUA": 1000000, "GCFUK": 1000000, "GDEBTAR": 1000000, "GDEBTAT": 1000000, "GDEBTAU": 1000000, "GDEBTBE": 1000000, "GDEBTBG": 1000000, "GDEBTBR": 1000000, "GDEBTCA": 1000000, "GDEBTCL": 1000000, "GDEBTCN": 100000000, "GDEBTCO": 1000000000, "GDEBTCR": 1000000, "GDEBTCY": 1000000, "GDEBTCZ": 1000000, "GDEBTDE": 1000000, "GDEBTDK": 1000000, "GDEBTEE": 1000000, "GDEBTES": 1000000, "GDEBTEU": 1000000, "GDEBTFI": 1000000, "GDEBTFR": 1000000, "GDEBTGR": 1000000, "GDEBTHK": 1000000, "GDEBTHR": 1000000, "GDEBTHU": 1000000, "GDEBTID": 1000000000, "GDEBTIE": 1000000, "GDEBTIL": 1000000, "GDEBTIN": 10000000, "GDEBTIT": 1000000, "GDEBTJO": 1000000, "GDEBTJP": 100000000, "GDEBTKR": 1000000, "GDEBTKZ": 1000000, "GDEBTLT": 1000000, "GDEBTLU": 1000000, "GDEBTLV": 1000000, "GDEBTMT": 1000000, "GDEBTMX": 1000000000, "GDEBTMY": 1000000, "GDEBTNAT": 1000000, "GDEBTNBE": 1000000, "GDEBTNBG": 1000000, "GDEBTNCY": 1000000, "GDEBTNCZ": 1000000, "GDEBTNDE": 1000000, "GDEBTNDK": 1000000, "GDEBTNEE": 1000000, "GDEBTNES": 1000000, "GDEBTNEU": 1000000, "GDEBTNFI": 1000000, "GDEBTNFR": 1000000, "GDEBTNGR": 1000000, "GDEBTNHR": 1000000, "GDEBTNHU": 1000000, "GDEBTNIE": 1000000, "GDEBTNIT": 1000000, "GDEBTNL": 1000000, "GDEBTNLT": 1000000, "GDEBTNLU": 1000000, "GDEBTNLV": 1000000, "GDEBTNMT": 1000000, "GDEBTNNL": 1000000, "GDEBTNNO": 1000000, "GDEBTNO": 1000000, "GDEBTNPL": 1000000, "GDEBTNPT": 1000000, "GDEBTNRO": 1000000, "GDEBTNSE": 1000000, "GDEBTNSI": 1000000, "GDEBTNSK": 1000000, "GDEBTNUK": 1000000, "GDEBTPH": 1000000, "GDEBTPK": 1000000000, "GDEBTPL": 1000000, "GDEBTPT": 1000000, "GDEBTQA": 1000000000, "GDEBTRO": 1000000, "GDEBTRU": 1000000, "GDEBTSA": 1000000, "GDEBTSE": 1000000, "GDEBTSG": 1000000, "GDEBTSI": 1000000, "GDEBTSK": 1000000, "GDEBTSV": 1000000, "GDEBTTH": 1000000, "GDEBTTR": 1000000, "GDEBTTW": 1000000, "GDEBTUK": 1000000000, "GDEBTUS": 1000000, "GDEBTZA": 1000000, "GDPAE": 1000000, "GDPAL": 1000000, "GDPAR": 1000000, "GDPAT": 1000000, "GDPAU": 1000000, "GDPAZ": 1000000, "GDPBD": 1000000, "GDPBE": 1000000, "GDPBG": 1000000, "GDPBR": 1000000, "GDPBW": 1000000, "GDPBY": 1000000, "GDPCA": 1000000, "GDPCH": 1000000, "GDPCL": 1000000000, "GDPCM": 1000000000, "GDPCN": 100000000, "GDPCO": 1000000000, "GDPCR": 1000000, "GDPCY": 1000000, "GDPCZ": 1000000, "GDPDE": 1000000, "GDPDEFLK": 1, "GDPDK": 1000000, "GDPEA": 1000000, "GDPEE": 1000000, "GDPEG": 1000000, "GDPES": 1000000, "GDPEU": 1000000, "GDPFI": 1000000, "GDPFR": 1000000, "GDPGR": 1000000, "GDPHK": 1000000, "GDPHN": 1000000, "GDPHR": 1000000, "GDPHU": 1000000, "GDPID": 1000000000, "GDPIE": 1000000, "GDPIL": 1000000, "GDPIN": 10000000, "GDPIR": 1000000000, "GDPIT": 1000000, "GDPJO": 1000000, "GDPJP": 1000000000, "GDPKH": 1000000000, "GDPKR": 1000000000, "GDPKZ": 1000000, "GDPLA": 1000000000, "GDPLT": 1000000, "GDPLU": 1000000, "GDPLV": 1000000, "GDPMA": 1000000, "GDPME": 1000000, "GDPMK": 1000000, "GDPMO": 1000000, "GDPMT": 1000000, "GDPMX": 1000000, "GDPMY": 1000000, "GDPNG": 1000, "GDPNL": 1000000, "GDPNO": 1000000, "GDPNZ": 1000000, "GDPPA": 1000000, "GDPPCAL": 1, "GDPPCAT": 1, "GDPPCAU": 1, "GDPPCBE": 1, "GDPPCBG": 1, "GDPPCBR": 1, "GDPPCCH": 1, "GDPPCCN": 1, "GDPPCCY": 1, "GDPPCCZ": 1, "GDPPCDE": 1, "GDPPCDK": 1, "GDPPCEA": 1, "GDPPCEE": 1, "GDPPCES": 1, "GDPPCEU": 1, "GDPPCFI": 1, "GDPPCFR": 1, "GDPPCGR": 1, "GDPPCHR": 1, "GDPPCHU": 1, "GDPPCIE": 1, "GDPPCIS": 1, "GDPPCIT": 1, "GDPPCKH": 1000, "GDPPCKZ": 1, "GDPPCLI": 1, "GDPPCLT": 1, "GDPPCLU": 1, "GDPPCLV": 1, "GDPPCME": 1, "GDPPCMK": 1, "GDPPCMT": 1, "GDPPCNL": 1, "GDPPCNO": 1, "GDPPCNZ": 1, "GDPPCPL": 1, "GDPPCPT": 1, "GDPPCRO": 1, "GDPPCRS": 1, "GDPPCSE": 1, "GDPPCSG": 1, "GDPPCSI": 1, "GDPPCSK": 1, "GDPPCTR": 1, "GDPPCTW": 1, "GDPPCUS": 1, "GDPPE": 1000000, "GDPPH": 1000000, "GDPPK": 1000000, "GDPPL": 1000000, "GDPPT": 1000000, "GDPQA": 1000000, "GDPRO": 1000000, "GDPRS": 1000000, "GDPRU": 1000000000, "GDPRW": 1000000000, "GDPSA": 1000000, "GDPSE": 1000000, "GDPSG": 1000000, "GDPSI": 1000000, "GDPSK": 1000000, "GDPSV": 1000000, "GDPTH": 1000000, "GDPTN": 1000000, "GDPTR": 1000, "GDPTW": 1000000, "GDPUA": 1000000, "GDPUK": 1000000, "GDPUS": 1000000, "GDPUZ": 1000000000, "GDPVN": 1000000000, "GDPZA": 1000000, "GFCFAE": 1000000, "GFCFAL": 1000000, "GFCFAR": 1000000, "GFCFAT": 1000000, "GFCFAU": 1000000, "GFCFAZ": 1000000, "GFCFBD": 1000000, "GFCFBE": 1000000, "GFCFBG": 1000000, "GFCFBR": 1000000, "GFCFBW": 1000000, "GFCFBY": 1000000, "GFCFCA": 1000000, "GFCFCH": 1000000, "GFCFCL": 1000000000, "GFCFCM": 1000000000, "GFCFCN": 1, "GFCFCO": 1000000000, "GFCFCY": 1000000, "GFCFCZ": 1000000, "GFCFDE": 1000000, "GFCFDK": 1000000, "GFCFEA": 1000000, "GFCFEE": 1000000, "GFCFES": 1000000, "GFCFEU": 1000000, "GFCFFI": 1000000, "GFCFFR": 1000000, "GFCFGR": 1000000, "GFCFHK": 1000000, "GFCFHR": 1000000, "GFCFHU": 1000000, "GFCFID": 1000000000, "GFCFIE": 1000000, "GFCFIL": 1000000, "GFCFIN": 10000000, "GFCFIR": 1000000000, "GFCFIT": 1000000, "GFCFJP": 1000000000, "GFCFKR": 1000000000, "GFCFKZ": 1000000, "GFCFLT": 1000000, "GFCFLU": 1000000, "GFCFLV": 1000000, "GFCFMA": 1000000, "GFCFME": 1000000, "GFCFMN": 1000000, "GFCFMT": 1000000, "GFCFMX": 1000000, "GFCFMY": 1000000, "GFCFNG": 1000000, "GFCFNL": 1000000, "GFCFNO": 1000000, "GFCFNZ": 1000000, "GFCFPH": 1000000, "GFCFPK": 1000000, "GFCFPL": 1000000, "GFCFPT": 1000000, "GFCFRO": 1000000, "GFCFRS": 1000000, "GFCFRU": 1000000000, "GFCFSA": 1000000, "GFCFSE": 1000000, "GFCFSG": 1000000, "GFCFSI": 1000000, "GFCFSK": 1000000, "GFCFTH": 1000000, "GFCFTR": 1000, "GFCFTW": 1000000, "GFCFUA": 1000000, "GFCFUK": 1000000, "GFCFUS": 1000000, "GFCFUZ": 1000000000, "GFCFVN": 1000000000, "GFCFZA": 1000000, "GREVAR": 1000000, "GREVAT": 1000000, "GREVAU": 1000000, "GREVAZ": 1000000, "GREVBD": 1000000000, "GREVBE": 1000000, "GREVBG": 1000000, "GREVBR": 1000000, "GREVCA": 1000000, "GREVCH": 1000000, "GREVCN": 100000000, "GREVCO": 1000000000, "GREVCR": 1000000, "GREVCY": 1000000, "GREVCZ": 1000000, "GREVDE": 1000000, "GREVDK": 1000000, "GREVEE": 1000000, "GREVES": 1000000, "GREVEU": 1000000, "GREVFI": 1000000, "GREVFR": 1000000, "GREVHK": 1000000, "GREVHR": 1000000, "GREVHU": 1000000, "GREVID": 1000000000, "GREVIE": 1000000, "GREVIL": 1000000, "GREVIN": 1000000000, "GREVJP": 1000000000, "GREVKH": 1000000, "GREVKR": 1000000000, "GREVKZ": 1000000, "GREVLT": 1000000, "GREVLU": 1000000, "GREVLV": 1000000, "GREVMA": 1000000, "GREVMO": 1000000, "GREVMT": 1000000, "GREVMX": 1000000, "GREVMY": 1000000, "GREVNL": 1000000, "GREVPE": 1000000, "GREVPH": 1000000, "GREVPL": 1000000, "GREVPT": 1000000, "GREVRO": 1000000, "GREVRU": 1000000000, "GREVSA": 1000000, "GREVSE": 1000000, "GREVSG": 1000000, "GREVSI": 1000000, "GREVSK": 1000000, "GREVSV": 1000000, "GREVTH": 1000000, "GREVTR": 1000000, "GREVTW": 1000, "GREVUA": 1000000, "GREVUK": 1000000, "GREVUS": 1000000, "GREVUY": 1000000, "GREVVN": 1000000000, "GREVZA": 1000000, "GSPEAR": 1000000, "GSPEAT": 1000000, "GSPEAU": 1000000, "GSPEAZ": 1000000, "GSPEBD": 1000000000, "GSPEBE": 1000000, "GSPEBG": 1000000, "GSPEBR": 1000000, "GSPECA": 1000000, "GSPECH": 1000000, "GSPECN": 100000000, "GSPECO": 1000000000, "GSPECR": 1000000, "GSPECY": 1000000, "GSPECZ": 1000000, "GSPEDE": 1000000, "GSPEDK": 1000000, "GSPEEE": 1000000, "GSPEES": 1000000, "GSPEEU": 1000000, "GSPEFI": 1000000, "GSPEFR": 1000000, "GSPEHK": 1000000, "GSPEHR": 1000000, "GSPEHU": 1000000, "GSPEID": 1000000000, "GSPEIE": 1000000, "GSPEIL": 1000000, "GSPEIN": 1000000000, "GSPEJP": 1000000000, "GSPEKH": 1000000, "GSPEKR": 1000000000, "GSPEKZ": 1000000, "GSPELT": 1000000, "GSPELU": 1000000, "GSPELV": 1000000, "GSPEMO": 1000000, "GSPEMT": 1000000, "GSPEMX": 1000000, "GSPEMY": 1000000, "GSPENL": 1000000, "GSPEPE": 1000000, "GSPEPH": 1000000, "GSPEPL": 1000000, "GSPEPT": 1000000, "GSPERO": 1000000, "GSPERU": 1000000000, "GSPESA": 1000000, "GSPESE": 1000000, "GSPESG": 1000000, "GSPESI": 1000000, "GSPESK": 1000000, "GSPETH": 1000000, "GSPETR": 1000000, "GSPETW": 1000, "GSPEUA": 1000000, "GSPEUK": 1000000, "GSPEUS": 1000000, "GSPEUY": 1000000, "GSPEVN": 1000000000, "GSPEZA": 1000000, "HHDIRAT": 1, "HHDIRBE": 1, "HHDIRCH": 1, "HHDIRCY": 1, "HHDIRCZ": 1, "HHDIRDE": 1, "HHDIRDK": 1, "HHDIREE": 1, "HHDIRES": 1, "HHDIRFI": 1, "HHDIRFR": 1, "HHDIRGR": 1, "HHDIRHR": 1, "HHDIRHU": 1, "HHDIRIE": 1, "HHDIRIT": 1, "HHDIRLT": 1, "HHDIRLU": 1, "HHDIRLV": 1, "HHDIRNL": 1, "HHDIRNO": 1, "HHDIRPL": 1, "HHDIRPT": 1, "HHDIRSE": 1, "HHDIRSI": 1, "HHDIRSK": 1, "HHDIRTR": 1, "HHSAT": 1, "HHSBE": 1, "HHSCN": 100000000, "HHSCZ": 1, "HHSDE": 1, "HHSDK": 1, "HHSES": 1, "HHSEU": 1, "HHSFI": 1, "HHSFR": 1, "HHSGR": 1, "HHSHU": 1, "HHSIE": 1, "HHSIT": 1, "HHSNL": 1, "HHSNO": 1, "HHSPL": 1, "HHSPT": 1, "HHSRO": 1, "HHSSE": 1, "HHSSI": 1, "HHSUK": 1, "HOU5R": 1, "HOUAE": 1, "HOUAT": 1, "HOUAU": 1, "HOUBE": 1, "HOUBG": 1, "HOUBR": 1, "HOUCA": 1, "HOUCH": 1, "HOUCL": 1, "HOUCN": 1, "HOUCO": 1, "HOUCY": 1, "HOUCZ": 1, "HOUDE": 1, "HOUDK": 1, "HOUEA": 1, "HOUEE": 1, "HOUES": 1, "HOUEU": 1, "HOUFI": 1, "HOUFR": 1, "HOUGR": 1, "HOUHK": 1, "HOUHR": 1, "HOUHU": 1, "HOUID": 1, "HOUIE": 1, "HOUIL": 1, "HOUIN": 1, "HOUIS": 1, "HOUIT": 1, "HOUJP": 1, "HOUKR": 1, "HOULT": 1, "HOULU": 1, "HOULV": 1, "HOUMA": 1, "HOUMK": 1, "HOUMT": 1, "HOUMX": 1, "HOUMY": 1, "HOUNL": 1, "HOUNO": 1, "HOUNZ": 1, "HOUPE": 1, "HOUPH": 1, "HOUPL": 1, "HOUPT": 1, "HOURO": 1, "HOURU": 1, "HOUSE": 1, "HOUSG": 1, "HOUSI": 1, "HOUSK": 1, "HOUTH": 1, "HOUTR": 1, "HOUUK": 1, "HOUUS": 1, "HOUXW": 1, "HOUZA": 1, "IBD1AU": 1, "IBD1BG": 1, "IBD1CL": 1, "IBD1CO": 1, "IBD1CZ": 1, "IBD1DK": 1, "IBD1EA": 1, "IBD1HR": 1, "IBD1HU": 1, "IBD1KR": 1, "IBD1MX": 1, "IBD1NZ": 1, "IBD1PL": 1, "IBD1PY": 1, "IBD1RO": 1, "IBD1RU": 1, "IBD1SE": 1, "IBD1SG": 1, "IBD1TH": 1, "IBD1TR": 1, "IBD1UA": 1, "IBD1UK": 1, "IIPAAL": 1000000, "IIPAAR": 1000000, "IIPAAT": 1000000, "IIPAAU": 1000000, "IIPABA": 1000000, "IIPABD": 1000000, "IIPABE": 1000000, "IIPABG": 1000000, "IIPABR": 1000000, "IIPACA": 1000000, "IIPACH": 1000000, "IIPACL": 1000000, "IIPACN": 100000000, "IIPACO": 1000000, "IIPACY": 1000000, "IIPACZ": 1000000, "IIPADE": 1000000, "IIPADK": 1000000, "IIPAEE": 1000000, "IIPAEG": 1000000, "IIPAES": 1000000, "IIPAFI": 1000000, "IIPAFR": 1000000, "IIPAGR": 1000000, "IIPAHK": 1000000, "IIPAHR": 1000000, "IIPAHU": 1000000, "IIPAID": 1000000, "IIPAIE": 1000000, "IIPAIL": 1000000, "IIPAIN": 1000000, "IIPAIS": 1000000, "IIPAIT": 1000000, "IIPAJP": 1000000000, "IIPAKH": 1000000000, "IIPAKR": 1000000, "IIPALT": 1000000, "IIPALU": 1000000, "IIPALV": 1000000, "IIPAMT": 1000000, "IIPAMX": 1000000, "IIPAMY": 1000000, "IIPANL": 1000000, "IIPANO": 1000000, "IIPANP": 1000000, "IIPAPH": 1000000, "IIPAPK": 1000000, "IIPAPL": 1000000, "IIPAPT": 1000000, "IIPARO": 1000000, "IIPARU": 1000000, "IIPASA": 1000000, "IIPASE": 1000000, "IIPASG": 1000000, "IIPASI": 1000000, "IIPASK": 1000000, "IIPATH": 1000000, "IIPATR": 1000000, "IIPATW": 1000000, "IIPAUK": 1000000, "IIPAUS": 1000000000, "IIPAXK": 1000000, "IIPAZA": 1000000000, "IIPLAL": 1000000, "IIPLAR": 1000000, "IIPLAT": 1000000, "IIPLAU": 1000000, "IIPLBA": 1000000, "IIPLBD": 1000000, "IIPLBE": 1000000, "IIPLBG": 1000000, "IIPLBR": 1000000, "IIPLCA": 1000000, "IIPLCH": 1000000, "IIPLCL": 1000000, "IIPLCN": 100000000, "IIPLCO": 1000000, "IIPLCY": 1000000, "IIPLCZ": 1000000, "IIPLDE": 1000000, "IIPLDK": 1000000, "IIPLEE": 1000000, "IIPLEG": 1000000, "IIPLES": 1000000, "IIPLFI": 1000000, "IIPLFR": 1000000, "IIPLGR": 1000000, "IIPLHK": 1000000, "IIPLHR": 1000000, "IIPLHU": 1000000, "IIPLID": 1000000, "IIPLIE": 1000000, "IIPLIL": 1000000, "IIPLIN": 1000000, "IIPLIS": 1000000, "IIPLIT": 1000000, "IIPLJP": 1000000000, "IIPLKH": 1000000000, "IIPLKR": 1000000, "IIPLLT": 1000000, "IIPLLU": 1000000, "IIPLLV": 1000000, "IIPLMT": 1000000, "IIPLMX": 1000000, "IIPLMY": 1000000, "IIPLNL": 1000000, "IIPLNO": 1000000, "IIPLNP": 1000000, "IIPLPH": 1000000, "IIPLPK": 1000000, "IIPLPL": 1000000, "IIPLPT": 1000000, "IIPLRO": 1000000, "IIPLRU": 1000000, "IIPLSA": 1000000, "IIPLSE": 1000000, "IIPLSG": 1000000, "IIPLSI": 1000000, "IIPLSK": 1000000, "IIPLTH": 1000000, "IIPLTR": 1000000, "IIPLTW": 1000000, "IIPLUK": 1000000, "IIPLUS": 1000000000, "IIPLXK": 1000000, "IIPLZA": 1000000000, "IMPAE": 1000000, "IMPAL": 1000000, "IMPAR": 1000000, "IMPAT": 1000000, "IMPAU": 1000000, "IMPAZ": 1000000, "IMPBD": 1000000, "IMPBE": 1000000, "IMPBG": 1000000, "IMPBR": 1000000, "IMPBW": 1000000, "IMPBY": 1000000, "IMPCA": 1000000, "IMPCH": 1000000, "IMPCL": 1000000000, "IMPCM": 1000000000, "IMPCN": 10000, "IMPCO": 1000000000, "IMPCY": 1000000, "IMPCZ": 1000000, "IMPDE": 1000000, "IMPDK": 1000000, "IMPEA": 1000000, "IMPEE": 1000000, "IMPES": 1000000, "IMPEU": 1000000, "IMPFI": 1000000, "IMPFR": 1000000, "IMPGR": 1000000, "IMPHK": 1000000, "IMPHR": 1000000, "IMPHU": 1000000, "IMPID": 1000000000, "IMPIE": 1000000, "IMPIL": 1000000, "IMPIN": 10000000, "IMPIR": 1000000000, "IMPIT": 1000000, "IMPJO": 1000000, "IMPJP": 1000000000, "IMPKR": 1000000000, "IMPKZ": 1000000, "IMPLT": 1000000, "IMPLU": 1000000, "IMPLV": 1000000, "IMPMA": 1000000, "IMPME": 1000000, "IMPMK": 1000000, "IMPMN": 1000000, "IMPMONAR": 1000000, "IMPMONAU": 1000000, "IMPMONBD": 1000000, "IMPMONBE": 1000000, "IMPMONBG": 1000000, "IMPMONBR": 1, "IMPMONCA": 1000000, "IMPMONCL": 1000000, "IMPMONCN": 1000, "IMPMONCO": 1000000, "IMPMONCR": 1000000, "IMPMONCZ": 1000000, "IMPMONDE": 1000000, "IMPMONDK": 1000000, "IMPMONEE": 1000000, "IMPMONEG": 1000000, "IMPMONES": 1000000, "IMPMONEU": 1000000, "IMPMONFI": 1000000, "IMPMONFR": 1000000, "IMPMONGR": 1000000, "IMPMONHK": 1000000, "IMPMONHR": 1000000, "IMPMONHU": 1000000, "IMPMONID": 1000000, "IMPMONIN": 1000000, "IMPMONIT": 1000000, "IMPMONJP": 1000, "IMPMONKH": 1000000, "IMPMONKR": 1000, "IMPMONKZ": 1000000, "IMPMONLT": 1000000, "IMPMONLU": 1000000, "IMPMONLV": 1000000, "IMPMONMK": 1000000, "IMPMONMT": 1000000, "IMPMONMX": 1000000, "IMPMONMY": 1000000, "IMPMONNL": 1000000, "IMPMONNP": 1000000, "IMPMONPH": 1000000, "IMPMONPK": 1000000, "IMPMONPL": 1000000, "IMPMONPT": 1000000, "IMPMONQA": 1000000, "IMPMONRO": 1000000, "IMPMONRS": 1000000, "IMPMONRU": 1000000, "IMPMONSA": 1000000, "IMPMONSE": 1000000, "IMPMONSG": 1000, "IMPMONSI": 1000000, "IMPMONSK": 1000000, "IMPMONTH": 1000000, "IMPMONTR": 1000, "IMPMONTW": 1000000, "IMPMONUA": 1000000, "IMPMONUK": 1000000, "IMPMONUS": 1000000, "IMPMONUY": 1000000, "IMPMONVN": 1000, "IMPMONZA": 1000000, "IMPMT": 1000000, "IMPMX": 1000000, "IMPMY": 1000000, "IMPNG": 1000000, "IMPNL": 1000000, "IMPNO": 1000000, "IMPNZ": 1000000, "IMPPE": 1000000, "IMPPH": 1000000, "IMPPK": 1000000, "IMPPL": 1000000, "IMPPT": 1000000, "IMPQA": 1000000, "IMPRO": 1000000, "IMPRS": 1000000, "IMPRU": 1000000000, "IMPRW": 1000000000, "IMPSA": 1000000, "IMPSE": 1000000, "IMPSG": 1000000, "IMPSI": 1000000, "IMPSK": 1000000, "IMPSV": 1000000, "IMPTH": 1000000, "IMPTR": 1000, "IMPTW": 1000000, "IMPUA": 1000000, "IMPUK": 1000000, "IMPUS": 1000000, "IMPZA": 1000000, "INVERAT": 1, "INVERBE": 1, "INVERCH": 1, "INVERCY": 1, "INVERCZ": 1, "INVERDE": 1, "INVERDK": 1, "INVEREE": 1, "INVERES": 1, "INVERFI": 1, "INVERFR": 1, "INVERGR": 1, "INVERHR": 1, "INVERHU": 1, "INVERIE": 1, "INVERIT": 1, "INVERLT": 1, "INVERLV": 1, "INVERNL": 1, "INVERNO": 1, "INVERPL": 1, "INVERPT": 1, "INVERRO": 1, "INVERSE": 1, "INVERSI": 1, "INVERSK": 1, "IPAR": 1, "IPAT": 1, "IPAU": 1, "IPAZ": 1, "IPBA": 1, "IPBD": 1, "IPBE": 1, "IPBG": 1, "IPBR": 1, "IPBY": 1000000, "IPCA": 1, "IPCH": 1, "IPCL": 1, "IPCM": 1, "IPCN": 1, "IPCO": 1, "IPCR": 1, "IPCY": 1, "IPCZ": 1, "IPDE": 1, "IPDK": 1, "IPEE": 1, "IPEG": 1, "IPES": 1, "IPEU": 1, "IPFI": 1, "IPFR": 1, "IPGR": 1, "IPHK": 1, "IPHR": 1, "IPHU": 1, "IPID": 1, "IPIE": 1, "IPIL": 1, "IPIN": 1, "IPIT": 1, "IPJO": 1, "IPJP": 1, "IPKR": 1, "IPKZ": 1, "IPLT": 1, "IPLU": 1, "IPLV": 1, "IPMA": 1, "IPME": 1, "IPMK": 1, "IPMT": 1, "IPMX": 1, "IPMY": 1, "IPNL": 1, "IPNO": 1, "IPPA": 1, "IPPH": 1, "IPPK": 1, "IPPL": 1, "IPPT": 1, "IPQA": 1, "IPRO": 1, "IPRS": 1, "IPRU": 1, "IPSA": 1, "IPSE": 1, "IPSG": 1, "IPSI": 1, "IPSK": 1, "IPTH": 1, "IPTR": 1, "IPTW": 1, "IPUA": 1, "IPUK": 1, "IPUS": 1, "IPUY": 1, "IPVN": 1, "IPZA": 1, "JHRUS": 1, "JLRUS": 1, "JQRUS": 1, "JVRAT": 1, "JVRBE": 1, "JVRBG": 1, "JVRCH": 1, "JVRCY": 1, "JVRCZ": 1, "JVRDE": 1, "JVREA": 1, "JVREE": 1, "JVRES": 1, "JVREU": 1, "JVRFI": 1, "JVRGR": 1, "JVRHR": 1, "JVRHU": 1, "JVRIE": 1, "JVRIT": 1, "JVRLT": 1, "JVRLU": 1, "JVRLV": 1, "JVRMK": 1, "JVRMT": 1, "JVRNL": 1, "JVRNO": 1, "JVRPL": 1, "JVRPT": 1, "JVRRO": 1, "JVRSE": 1, "JVRSI": 1, "JVRSK": 1, "JVRUK": 1, "JVRUS": 1, "KABE": 1000000, "KABG": 1000000, "KACN": 100000000, "KACZ": 1000000, "KADE": 1000000, "KADK": 1000000, "KAEE": 1000000, "KAES": 1000000, "KAFI": 1000000, "KAFR": 1000000, "KAGR": 1000000, "KAHR": 1000000, "KAHU": 1000000, "KAIT": 1000000, "KALT": 1000000, "KALU": 1000000, "KALV": 1000000, "KAMT": 1000000, "KANL": 1000000, "KAPH": 1000000, "KAPL": 1000000, "KAPT": 1000000, "KARO": 1000000, "KASE": 1000000, "KASI": 1000000, "KASK": 1000000, "LE00CN": 1, "LMICS": 1, "M3AR": 1000000, "M3AU": 1000000000, "M3BR": 1000, "M3BY": 1000000, "M3CA": 1000000, "M3CH": 1000000, "M3CL": 1000000000, "M3CN": 100000000, "M3CR": 1000000, "M3EA": 1000000, "M3HU": 1000000000, "M3ID": 1000000000, "M3IN": 1, "M3JP": 100000000, "M3KR": 1000000000, "M3KZ": 1000000, "M3MA": 1000000, "M3MX": 1000, "M3MY": 1000000, "M3NO": 1000000, "M3NP": 1000000, "M3PH": 1000000, "M3PL": 1000000, "M3RU": 1000000000, "M3SA": 1000000, "M3SG": 1000000, "M3TH": 1000000000, "M3TN": 1000000, "M3TR": 1000, "M3UA": 1000000, "M3UK": 1000000, "M3US": 1000000000, "M3UY": 1000000, "M3YDAE": 1, "M3YDAU": 1, "M3YDCA": 1, "M3YDCN": 1, "M3YDCZ": 1, "M3YDDK": 1, "M3YDEA": 1, "M3YDHK": 1, "M3YDHR": 1, "M3YDHU": 1, "M3YDID": 1, "M3YDIN": 1, "M3YDJP": 1, "M3YDKR": 1, "M3YDMO": 1, "M3YDMX": 1, "M3YDMY": 1, "M3YDNP": 1, "M3YDNZ": 1, "M3YDPA": 1, "M3YDPH": 1, "M3YDPL": 1, "M3YDQA": 1, "M3YDRO": 1, "M3YDRU": 1, "M3YDSA": 1, "M3YDSE": 1, "M3YDSG": 1, "M3YDTH": 1, "M3YDTR": 1, "M3YDUA": 1, "M3YDUK": 1, "M3YDUS": 1, "M3YDVN": 1, "M3YDZA": 1, "M3ZA": 1000000, "MBAR": 1000000, "MBAU": 1000000000, "MBBR": 1000, "MBCH": 1000000, "MBCN": 100000000, "MBEG": 1000000, "MBIN": 1, "MBJP": 100000000, "MBKR": 1000000000, "MBMX": 1000, "MBMY": 1000000, "MBNO": 1000000, "MBRU": 1000000000, "MBSA": 1000000, "MBTH": 1000000000, "MBTR": 1000, "MBUA": 1000000, "MBUK": 1000000, "MBUS": 1000000000, "NCTBE": 1000000, "NCTBG": 1000000, "NCTCN": 100000000, "NCTCZ": 1000000, "NCTDE": 1000000, "NCTDK": 1000000, "NCTEE": 1000000, "NCTES": 1000000, "NCTFI": 1000000, "NCTFR": 1000000, "NCTGR": 1000000, "NCTHR": 1000000, "NCTHU": 1000000, "NCTIT": 1000000, "NCTLT": 1000000, "NCTLU": 1000000, "NCTLV": 1000000, "NCTMT": 1000000, "NCTMX": 1000000, "NCTNL": 1000000, "NCTPH": 1000000, "NCTPL": 1000000, "NCTPT": 1000000, "NCTRO": 1000000, "NCTSE": 1000000, "NCTSI": 1000000, "NCTSK": 1000000, "NFCIAT": 1, "NFCIBE": 1, "NFCICZ": 1, "NFCIDE": 1, "NFCIDK": 1, "NFCIEE": 1, "NFCIES": 1, "NFCIEU": 1, "NFCIFI": 1, "NFCIFR": 1, "NFCIGR": 1, "NFCIHU": 1, "NFCIIE": 1, "NFCIIT": 1, "NFCINL": 1, "NFCINO": 1, "NFCIPL": 1, "NFCIPT": 1, "NFCIRO": 1, "NFCISE": 1, "NFCIUK": 1, "NFCLOANBG": 1, "NFCLOANCY": 1, "NFCLOANEE": 1, "NFCLOANHR": 1, "NFCLOANLT": 1, "NFCLOANLV": 1, "NFCLOANMT": 1, "NFCLOANRO": 1, "NFCLOANSI": 1, "NFCLOANSK": 1, "NIIPAL": 1000000, "NIIPAR": 1000000, "NIIPAT": 1000000, "NIIPAU": 1000000, "NIIPBA": 1000000, "NIIPBD": 1000000, "NIIPBE": 1000000, "NIIPBG": 1000000, "NIIPBR": 1000000, "NIIPCA": 1000000, "NIIPCH": 1000000, "NIIPCL": 1000000, "NIIPCN": 100000000, "NIIPCO": 1000000, "NIIPCY": 1000000, "NIIPCZ": 1000000, "NIIPDE": 1000000, "NIIPDK": 1000000, "NIIPEE": 1000000, "NIIPEG": 1000000, "NIIPES": 1000000, "NIIPFI": 1000000, "NIIPFR": 1000000, "NIIPGR": 1000000, "NIIPHK": 1000000, "NIIPHR": 1000000, "NIIPHU": 1000000, "NIIPID": 1000000, "NIIPIE": 1000000, "NIIPIL": 1000000, "NIIPIN": 1000000, "NIIPIS": 1000000, "NIIPIT": 1000000, "NIIPJP": 1000000000, "NIIPKH": 1000000000, "NIIPKR": 1000000, "NIIPLT": 1000000, "NIIPLU": 1000000, "NIIPLV": 1000000, "NIIPMK": 1000000, "NIIPMT": 1000000, "NIIPMX": 1000000, "NIIPMY": 1000000, "NIIPNL": 1000000, "NIIPNO": 1000000, "NIIPNP": 1000000, "NIIPPH": 1000000, "NIIPPK": 1000000, "NIIPPL": 1000000, "NIIPPT": 1000000, "NIIPRO": 1000000, "NIIPRS": 1000000, "NIIPRU": 1000000, "NIIPSA": 1000000, "NIIPSE": 1000000, "NIIPSG": 1000000, "NIIPSI": 1000000, "NIIPSK": 1000000, "NIIPTH": 1000000, "NIIPTR": 1000000, "NIIPTW": 1000000, "NIIPUA": 1000000, "NIIPUK": 1000000, "NIIPUS": 1000000000, "NIIPXK": 1000000, "NIIPZA": 1000000000, "NPLAR": 1, "NPLAT": 1, "NPLAU": 1, "NPLBE": 1, "NPLBR": 1, "NPLCN": 1, "NPLDK": 1, "NPLES": 1, "NPLFI": 1, "NPLFR": 1, "NPLHK": 1, "NPLID": 1, "NPLIE": 1, "NPLIN": 1, "NPLIT": 1, "NPLJP": 1, "NPLLU": 1, "NPLMX": 1, "NPLNL": 1, "NPLNO": 1, "NPLPL": 1, "NPLRU": 1, "NPLSA": 1, "NPLSE": 1, "NPLSG": 1, "NPLTR": 1, "NPLUS": 1, "NPLZA": 1, "NYBE": 1000000, "NYBG": 1000000, "NYCN": 100000000, "NYCZ": 1000000, "NYDE": 1000000, "NYDK": 1000000, "NYEE": 1000000, "NYES": 1000000, "NYFI": 1000000, "NYFR": 1000000, "NYGR": 1000000, "NYHR": 1000000, "NYHU": 1000000, "NYIT": 1000000, "NYLT": 1000000, "NYLU": 1000000, "NYLV": 1000000, "NYMT": 1000000, "NYMX": 1000000, "NYNL": 1000000, "NYPH": 1000000, "NYPL": 1000000, "NYPT": 1000000, "NYRO": 1000000, "NYSE": 1000000, "NYSI": 1000000, "NYSK": 1000000, "OILDEMAE": 1000, "OILDEMAL": 1000, "OILDEMAM": 1000, "OILDEMAO": 1000, "OILDEMAR": 1000, "OILDEMAT": 1000, "OILDEMAU": 1000, "OILDEMAZ": 1000, "OILDEMBB": 1000, "OILDEMBD": 1000, "OILDEMBE": 1000, "OILDEMBG": 1000, "OILDEMBH": 1000, "OILDEMBM": 1000, "OILDEMBN": 1000, "OILDEMBO": 1000, "OILDEMBR": 1000, "OILDEMBY": 1000, "OILDEMBZ": 1000, "OILDEMCA": 1000, "OILDEMCH": 1000, "OILDEMCL": 1000, "OILDEMCN": 1000, "OILDEMCO": 1000, "OILDEMCR": 1000, "OILDEMCU": 1000, "OILDEMCY": 1000, "OILDEMCZ": 1000, "OILDEMDE": 1000, "OILDEMDK": 1000, "OILDEMDO": 1000, "OILDEMDZ": 1000, "OILDEMEC": 1000, "OILDEMEE": 1000, "OILDEMEG": 1000, "OILDEMES": 1000, "OILDEMFI": 1000, "OILDEMFR": 1000, "OILDEMGA": 1000, "OILDEMGD": 1000, "OILDEMGE": 1000, "OILDEMGM": 1000, "OILDEMGQ": 1000, "OILDEMGR": 1000, "OILDEMGT": 1000, "OILDEMGY": 1000, "OILDEMHK": 1000, "OILDEMHN": 1000, "OILDEMHR": 1000, "OILDEMHT": 1000, "OILDEMHU": 1000, "OILDEMID": 1000, "OILDEMIE": 1000, "OILDEMIN": 1000, "OILDEMIQ": 1000, "OILDEMIR": 1000, "OILDEMIS": 1000, "OILDEMIT": 1000, "OILDEMJM": 1000, "OILDEMJP": 1000, "OILDEMKR": 1000, "OILDEMKW": 1000, "OILDEMKZ": 1000, "OILDEMLT": 1000, "OILDEMLU": 1000, "OILDEMLV": 1000, "OILDEMLY": 1000, "OILDEMMA": 1000, "OILDEMMD": 1000, "OILDEMMK": 1000, "OILDEMMM": 1000, "OILDEMMT": 1000, "OILDEMMU": 1000, "OILDEMMX": 1000, "OILDEMMY": 1000, "OILDEMNE": 1000, "OILDEMNG": 1000, "OILDEMNI": 1000, "OILDEMNL": 1000, "OILDEMNO": 1000, "OILDEMNP": 1000, "OILDEMNZ": 1000, "OILDEMOM": 1000, "OILDEMPA": 1000, "OILDEMPE": 1000, "OILDEMPG": 1000, "OILDEMPH": 1000, "OILDEMPL": 1000, "OILDEMPT": 1000, "OILDEMPY": 1000, "OILDEMQA": 1000, "OILDEMRO": 1000, "OILDEMRU": 1000, "OILDEMSA": 1000, "OILDEMSD": 1000, "OILDEMSE": 1000, "OILDEMSG": 1000, "OILDEMSI": 1000, "OILDEMSK": 1000, "OILDEMSR": 1000, "OILDEMSV": 1000, "OILDEMSY": 1000, "OILDEMSZ": 1000, "OILDEMTH": 1000, "OILDEMTJ": 1000, "OILDEMTN": 1000, "OILDEMTR": 1000, "OILDEMTT": 1000, "OILDEMTW": 1000, "OILDEMUA": 1000, "OILDEMUK": 1000, "OILDEMUS": 1000, "OILDEMUY": 1000, "OILDEMVE": 1000, "OILDEMVN": 1000, "OILDEMYE": 1000, "OILDEMZA": 1000, "OILPRODAE": 1000, "OILPRODAL": 1000, "OILPRODAM": 1000, "OILPRODAO": 1000, "OILPRODAR": 1000, "OILPRODAT": 1000, "OILPRODAU": 1000, "OILPRODAZ": 1000, "OILPRODBB": 1000, "OILPRODBD": 1000, "OILPRODBE": 1000, "OILPRODBG": 1000, "OILPRODBH": 1000, "OILPRODBM": 1000, "OILPRODBN": 1000, "OILPRODBO": 1000, "OILPRODBR": 1000, "OILPRODBY": 1000, "OILPRODBZ": 1000, "OILPRODCA": 1000, "OILPRODCH": 1000, "OILPRODCL": 1000, "OILPRODCN": 1000, "OILPRODCO": 1000, "OILPRODCR": 1000, "OILPRODCU": 1000, "OILPRODCY": 1000, "OILPRODCZ": 1000, "OILPRODDE": 1000, "OILPRODDK": 1000, "OILPRODDO": 1000, "OILPRODDZ": 1000, "OILPRODEC": 1000, "OILPRODEE": 1000, "OILPRODEG": 1000, "OILPRODES": 1000, "OILPRODFI": 1000, "OILPRODFR": 1000, "OILPRODGA": 1000, "OILPRODGD": 1000, "OILPRODGE": 1000, "OILPRODGM": 1000, "OILPRODGQ": 1000, "OILPRODGR": 1000, "OILPRODGT": 1000, "OILPRODGY": 1000, "OILPRODHK": 1000, "OILPRODHN": 1000, "OILPRODHR": 1000, "OILPRODHT": 1000, "OILPRODHU": 1000, "OILPRODID": 1000, "OILPRODIE": 1000, "OILPRODIN": 1000, "OILPRODIQ": 1000, "OILPRODIR": 1000, "OILPRODIS": 1000, "OILPRODIT": 1000, "OILPRODJM": 1000, "OILPRODJP": 1000, "OILPRODKR": 1000, "OILPRODKW": 1000, "OILPRODKZ": 1000, "OILPRODLT": 1000, "OILPRODLU": 1000, "OILPRODLV": 1000, "OILPRODLY": 1000, "OILPRODMA": 1000, "OILPRODMD": 1000, "OILPRODMK": 1000, "OILPRODMM": 1000, "OILPRODMT": 1000, "OILPRODMU": 1000, "OILPRODMX": 1000, "OILPRODMY": 1000, "OILPRODNE": 1000, "OILPRODNG": 1000, "OILPRODNI": 1000, "OILPRODNL": 1000, "OILPRODNO": 1000, "OILPRODNP": 1000, "OILPRODNZ": 1000, "OILPRODOM": 1000, "OILPRODPA": 1000, "OILPRODPE": 1000, "OILPRODPG": 1000, "OILPRODPH": 1000, "OILPRODPL": 1000, "OILPRODPT": 1000, "OILPRODPY": 1000, "OILPRODQA": 1000, "OILPRODRO": 1000, "OILPRODRU": 1000, "OILPRODSA": 1000, "OILPRODSD": 1000, "OILPRODSE": 1000, "OILPRODSG": 1000, "OILPRODSI": 1000, "OILPRODSK": 1000, "OILPRODSR": 1000, "OILPRODSV": 1000, "OILPRODSY": 1000, "OILPRODSZ": 1000, "OILPRODTH": 1000, "OILPRODTJ": 1000, "OILPRODTN": 1000, "OILPRODTR": 1000, "OILPRODTT": 1000, "OILPRODTW": 1000, "OILPRODUA": 1000, "OILPRODUK": 1000, "OILPRODUS": 1000, "OILPRODUY": 1000, "OILPRODVE": 1000, "OILPRODVN": 1000, "OILPRODYE": 1000, "OILPRODZA": 1000, "PALUM": 1, "PAPPLE": 1, "PARTCO": 1, "PARTDO": 1, "PARTLK": 1, "PARTNZ": 1, "PARTTR": 1, "PBANSOP": 1, "PBARL": 1, "PBEEF": 1, "PCEUS": 1, "PCHANA": 1, "PCHROM": 1, "PCOALAU": 1, "PCOALSA": 1, "PCOBA": 1, "PCOCO": 1, "PCOFFOTM": 1, "PCOFFROB": 1, "PCOIL": 1, "PCOPP": 1, "PCOTTIND": 1, "PDAP": 1, "PFSHMEAL": 1, "PGASO": 1, "PGNUTS": 1, "PGOLD": 1, "PHEATOIL": 1, "PHIDE": 1, "PIORECR": 1, "PLAMB": 1, "PLEAD": 1, "PLITH": 1, "PLMMODY": 1, "PLOGORE": 1, "PLOGSK": 1, "PMAIZMT": 1, "PMANGELE": 1, "PMILK": 1, "PNGASEU": 1, "PNGASJP": 1, "PNGASUS": 1, "PNICK": 1, "POATS": 1, "POILAPSP": 1, "POILBRE": 1, "POILDUB": 1, "POILWTI": 1, "POLIRAR": 1, "POLIRAU": 1, "POLIRAZ": 1, "POLIRBR": 1, "POLIRCA": 1, "POLIRCH": 1, "POLIRCL": 1, "POLIRCN": 1, "POLIRCO": 1, "POLIRCZ": 1, "POLIRDK": 1, "POLIREA": 1, "POLIRHK": 1, "POLIRHR": 1, "POLIRHU": 1, "POLIRID": 1, "POLIRIL": 1, "POLIRIN": 1, "POLIRIS": 1, "POLIRJP": 1, "POLIRKR": 1, "POLIRMK": 1, "POLIRMO": 1, "POLIRMX": 1, "POLIRMY": 1, "POLIRNO": 1, "POLIRNP": 1, "POLIRNZ": 1, "POLIRPE": 1, "POLIRPH": 1, "POLIRPL": 1, "POLIRPY": 1, "POLIRQA": 1, "POLIRRO": 1, "POLIRRS": 1, "POLIRRU": 1, "POLIRSA": 1, "POLIRSE": 1, "POLIRSG": 1, "POLIRTH": 1, "POLIRTN": 1, "POLIRTR": 1, "POLIRTW": 1, "POLIRUA": 1, "POLIRUK": 1, "POLIRUS": 1, "POLIRUZ": 1, "POLIRZA": 1, "POLVOIL": 1, "POPAD": 1, "POPAE": 1, "POPAL": 1, "POPAM": 1, "POPAR": 1, "POPAT": 1, "POPAU": 1000, "POPAZ": 1000, "POPBD": 1000000, "POPBE": 1, "POPBG": 1, "POPBO": 1, "POPBR": 1000, "POPBY": 1, "POPCA": 1, "POPCD": 1, "POPCH": 1000, "POPCL": 1, "POPCN": 10000, "POPCO": 1, "POPCR": 1, "POPCY": 1, "POPCZ": 1, "POPDE": 1, "POPDK": 1, "POPDO": 1, "POPDZ": 1, "POPEC": 1, "POPEE": 1, "POPEG": 1, "POPES": 1, "POPET": 1, "POPEU": 1, "POPFI": 1, "POPFR": 1, "POPGE": 1, "POPGR": 1, "POPGT": 1, "POPHK": 1, "POPHR": 1, "POPHU": 1, "POPID": 1, "POPIE": 1, "POPIL": 1000, "POPIN": 1, "POPIQ": 1, "POPIR": 1, "POPIS": 1, "POPIT": 1, "POPJO": 1, "POPJP": 10000, "POPKG": 1, "POPKH": 1, "POPKR": 1, "POPKW": 1, "POPKZ": 1, "POPLB": 1, "POPLI": 1, "POPLK": 1, "POPLT": 1, "POPLU": 1, "POPLV": 1, "POPLY": 1, "POPMA": 1, "POPMD": 1, "POPME": 1, "POPMK": 1, "POPMM": 1, "POPMO": 1, "POPMT": 1, "POPMX": 1, "POPMY": 1000, "POPNG": 1, "POPNI": 1, "POPNL": 1, "POPNO": 1, "POPNZ": 1, "POPPH": 1, "POPPL": 1, "POPPT": 1, "POPPY": 1, "POPQA": 1, "POPRO": 1, "POPRS": 1, "POPRU": 1000000, "POPSA": 1, "POPSD": 1, "POPSE": 1, "POPSG": 1, "POPSI": 1, "POPSK": 1, "POPSM": 1, "POPSN": 1, "POPSV": 1, "POPTH": 1, "POPTJ": 1, "POPTM": 1, "POPTN": 1, "POPTR": 1, "POPTW": 1000, "POPUA": 1, "POPUK": 1, "POPUS": 1, "POPUY": 1, "POPUZ": 1000, "POPVE": 1, "POPVN": 1000, "POPXK": 1, "POPZA": 1000, "PORANG": 1, "PPALLA": 1, "PPIAL": 1, "PPIAR": 1, "PPIAT": 1, "PPIAU": 1, "PPIBD": 1, "PPIBE": 1, "PPIBG": 1, "PPIBR": 1, "PPIBY": 1, "PPICA": 1, "PPICH": 1, "PPICL": 1, "PPICN": 1, "PPICO": 1, "PPICR": 1, "PPICY": 1, "PPICZ": 1, "PPIDE": 1, "PPIDK": 1, "PPIEE": 1, "PPIEG": 1, "PPIES": 1, "PPIEU": 1, "PPIFI": 1, "PPIFR": 1, "PPIGR": 1, "PPIHK": 1, "PPIHR": 1, "PPIHU": 1, "PPIID": 1, "PPIIE": 1, "PPIIL": 1, "PPIIN": 1, "PPIIT": 1, "PPIJO": 1, "PPIJP": 1, "PPIKR": 1, "PPIKZ": 1, "PPILT": 1, "PPILU": 1, "PPILV": 1, "PPIMA": 1, "PPIME": 1, "PPIMK": 1, "PPIMT": 1, "PPIMX": 1, "PPIMY": 1, "PPINL": 1, "PPINO": 1, "PPIPA": 1, "PPIPE": 1, "PPIPH": 1, "PPIPK": 1, "PPIPL": 1, "PPIPT": 1, "PPIQA": 1, "PPIRO": 1, "PPIRS": 1, "PPIRU": 1, "PPISA": 1, "PPISE": 1, "PPISG": 1, "PPISI": 1, "PPISK": 1, "PPISV": 1, "PPITH": 1, "PPITN": 1, "PPITR": 1, "PPITW": 1, "PPIUA": 1, "PPIUK": 1, "PPIUS": 1, "PPIUY": 1, "PPIVN": 1, "PPIZA": 1, "PPLAT": 1, "PPOIL": 1, "PPORK": 1, "PPOTASH": 1, "PPOULT": 1, "PPROPANE": 1, "PRCAE": 1000000, "PRCAR": 1000000, "PRCAT": 1000000, "PRCAU": 1000000, "PRCAZ": 1000000, "PRCBD": 1000000, "PRCBE": 1000000, "PRCBG": 1000000, "PRCBR": 1000000, "PRCBW": 1000000, "PRCBY": 1000000, "PRCCA": 1000000, "PRCCH": 1000000, "PRCCL": 1000000000, "PRCCN": 100000000, "PRCCO": 1000000000, "PRCCY": 1000000, "PRCCZ": 1000000, "PRCDE": 1000000, "PRCDK": 1000000, "PRCEA": 1000000, "PRCEE": 1000000, "PRCES": 1000000, "PRCEU": 1000000, "PRCFI": 1000000, "PRCFR": 1000000, "PRCGR": 1000000, "PRCHK": 1000000, "PRCHR": 1000000, "PRCHU": 1000000, "PRCID": 1000000000, "PRCIE": 1000000, "PRCIL": 1000000, "PRCIN": 10000000, "PRCIR": 1000000000, "PRCIT": 1000000, "PRCJP": 1000000000, "PRCKR": 1000000000, "PRCKZ": 1000000, "PRCLT": 1000000, "PRCLU": 1000000, "PRCLV": 1000000, "PRCMA": 1000000, "PRCME": 1000000, "PRCMK": 1000000, "PRCMN": 1000000, "PRCMT": 1000000, "PRCMX": 1000000, "PRCMY": 1000000, "PRCNG": 1000000, "PRCNL": 1000000, "PRCNO": 1000000, "PRCNZ": 1000000, "PRCPE": 1000000, "PRCPH": 1000000, "PRCPK": 1000000, "PRCPL": 1000000, "PRCPT": 1000000, "PRCQA": 1000000, "PRCRO": 1000000, "PRCRS": 1000000, "PRCRU": 1000000000, "PRCSA": 1000000, "PRCSE": 1000000, "PRCSG": 1000000, "PRCSI": 1000000, "PRCSK": 1000000, "PRCTH": 1000000, "PRCTR": 1000, "PRCTW": 1000000, "PRCUA": 1000000, "PRCUK": 1000000, "PRCUS": 1000000, "PRCVN": 1000000000, "PRCZA": 1000000, "PREODOM": 1, "PRICENPQ": 1, "PRIDEBTBG": 1, "PRIDEBTCY": 1, "PRIDEBTEE": 1, "PRIDEBTHR": 1, "PRIDEBTLT": 1, "PRIDEBTLV": 1, "PRIDEBTMT": 1, "PRIDEBTRO": 1, "PRIDEBTSI": 1, "PRIDEBTSK": 1, "PROIL": 1, "PRUBB": 1, "PSALM": 1, "PSAWMAL": 1, "PSAWORE": 1, "PSHRI": 1, "PSILLUMP": 1, "PSILVER": 1, "PSMEA": 1, "PSOIL": 1, "PSORG": 1, "PSOYB": 1, "PSUGAISA": 1, "PSUGAUSA": 1, "PSUNO": 1, "PTEA": 1, "PTEAINDIA": 1, "PTEAMOM": 1, "PTEASL": 1, "PTIN": 1, "PTOMATO": 1, "PUCAE": 1000000, "PUCAL": 1000000, "PUCAR": 1000000, "PUCAT": 1000000, "PUCAU": 1000000, "PUCAZ": 1000000, "PUCBD": 1000000, "PUCBE": 1000000, "PUCBG": 1000000, "PUCBR": 1000000, "PUCBW": 1000000, "PUCBY": 1000000, "PUCCA": 1000000, "PUCCH": 1000000, "PUCCL": 1000000000, "PUCCM": 1000000000, "PUCCN": 100000000, "PUCCO": 1000000000, "PUCCY": 1000000, "PUCCZ": 1000000, "PUCDE": 1000000, "PUCDK": 1000000, "PUCEA": 1000000, "PUCEE": 1000000, "PUCES": 1000000, "PUCEU": 1000000, "PUCFI": 1000000, "PUCFR": 1000000, "PUCGR": 1000000, "PUCHK": 1000000, "PUCHR": 1000000, "PUCHU": 1000000, "PUCID": 1000000000, "PUCIE": 1000000, "PUCIL": 1000000, "PUCIN": 10000000, "PUCIR": 1000000000, "PUCIT": 1000000, "PUCJP": 1000000000, "PUCKR": 1000000000, "PUCKZ": 1000000, "PUCLT": 1000000, "PUCLU": 1000000, "PUCLV": 1000000, "PUCMA": 1000000, "PUCME": 1000000, "PUCMK": 1000000, "PUCMT": 1000000, "PUCMX": 1000000, "PUCMY": 1000000, "PUCNG": 1000000, "PUCNL": 1000000, "PUCNO": 1000000, "PUCNZ": 1000000, "PUCPE": 1000000, "PUCPH": 1000000, "PUCPK": 1000000, "PUCPL": 1000000, "PUCPT": 1000000, "PUCQA": 1000000, "PUCRO": 1000000, "PUCRS": 1000000, "PUCRU": 1000000000, "PUCSA": 1000000, "PUCSE": 1000000, "PUCSG": 1000000, "PUCSI": 1000000, "PUCSK": 1000000, "PUCTH": 1000000, "PUCTR": 1000, "PUCTW": 1000000, "PUCUA": 1000000, "PUCUK": 1000000, "PUCUS": 1000000, "PUCVN": 1000000000, "PUCZA": 1000000, "PURAN": 1, "PUREA": 1, "PVANPENT": 1, "PWHEAMT": 1, "PWOOLC": 1, "PWOOLF": 1, "PZINC": 1, "RCIAE": 1000000, "RCIAR": 1000000, "RCIAU": 1000000, "RCIAZ": 1000000, "RCIBW": 1000000, "RCIBY": 1000000, "RCICN": 100000000, "RCIHK": 1000000, "RCIIN": 10000000, "RCIIR": 1000000000, "RCIKH": 1000000000, "RCIKR": 1000000000, "RCIMN": 1000000, "RCIMO": 1000000, "RCIMY": 1000000, "RCING": 1000000, "RCINO": 1000000, "RCINZ": 1000000, "RCIPA": 1000000, "RCIPH": 1000000, "RCIPK": 1000000, "RCISA": 1000000, "RCISG": 1000000, "RCITH": 1000000, "RCITW": 1000000, "RCIUA": 1000000, "RCIUK": 1000000, "RCIUS": 1000000, "RCIVN": 1000000000, "RCIZA": 1000000, "RCONAE": 1000000, "RCONAL": 1000000, "RCONAT": 1000000, "RCONBA": 1000000, "RCONBD": 1000000, "RCONBE": 1000000, "RCONBG": 1000000, "RCONBY": 1000000, "RCONCA": 1000000, "RCONCH": 1000000, "RCONCL": 1000000000, "RCONCY": 1000000, "RCONCZ": 1000000, "RCONDE": 1000000, "RCONDK": 1000000, "RCONEA": 1000000, "RCONEE": 1000000, "RCONES": 1000000, "RCONEU": 1000000, "RCONFI": 1000000, "RCONFR": 1000000, "RCONGR": 1000000, "RCONHR": 1000000, "RCONHU": 1000000, "RCONIE": 1000000, "RCONIT": 1000000, "RCONKR": 1000000000, "RCONLT": 1000000, "RCONLU": 1000000, "RCONLV": 1000000, "RCONMK": 1000000, "RCONMT": 1000000, "RCONMX": 1000000, "RCONNL": 1000000, "RCONNO": 1000000, "RCONPL": 1000000, "RCONPT": 1000000, "RCONRO": 1000000, "RCONRS": 1000000, "RCONSE": 1000000, "RCONSI": 1000000, "RCONSK": 1000000, "RCONTH": 1000000, "RCONUA": 1000000, "RCONUK": 1000000, "REERAE": 1, "REERAR": 1, "REERAT": 1, "REERAU": 1, "REERAZ": 1, "REERBE": 1, "REERBG": 1, "REERBR": 1, "REERCA": 1, "REERCH": 1, "REERCL": 1, "REERCN": 1, "REERCO": 1, "REERCY": 1, "REERCZ": 1, "REERDE": 1, "REERDK": 1, "REERDZ": 1, "REEREA": 1, "REEREE": 1, "REERES": 1, "REERFI": 1, "REERFR": 1, "REERGR": 1, "REERHK": 1, "REERHR": 1, "REERHU": 1, "REERID": 1, "REERIE": 1, "REERIL": 1, "REERIN": 1, "REERIS": 1, "REERIT": 1, "REERJP": 1, "REERKR": 1, "REERLT": 1, "REERLU": 1, "REERLV": 1, "REERMT": 1, "REERMX": 1, "REERMY": 1, "REERNL": 1, "REERNO": 1, "REERNZ": 1, "REERPE": 1, "REERPH": 1, "REERPL": 1, "REERPT": 1, "REERPY": 1, "REERRO": 1, "REERRS": 1, "REERRU": 1, "REERSA": 1, "REERSE": 1, "REERSG": 1, "REERSI": 1, "REERSK": 1, "REERTH": 1, "REERTR": 1, "REERTW": 1, "REERUK": 1, "REERUS": 1, "REERZA": 1, "RETAAL": 1, "RETAAR": 1000, "RETAAT": 1, "RETAAU": 1000000, "RETAAZ": 1, "RETABA": 1, "RETABE": 1, "RETABG": 1, "RETABR": 1, "RETACA": 1000, "RETACH": 1, "RETACN": 100000000, "RETACO": 1, "RETACY": 1, "RETACZ": 1, "RETADE": 1, "RETADK": 1, "RETAEE": 1, "RETAES": 1, "RETAEU": 1, "RETAFI": 1, "RETAFR": 1, "RETAGR": 1, "RETAHK": 1, "RETAHR": 1, "RETAHU": 1, "RETAID": 1, "RETAIE": 1, "RETAIL": 1, "RETAIR": 1000000000, "RETAIT": 1, "RETAJP": 1, "RETAKR": 1, "RETALT": 1, "RETALU": 1, "RETALV": 1, "RETAME": 1, "RETAMK": 1, "RETAMT": 1, "RETAMX": 1, "RETAMY": 1, "RETANL": 1, "RETANO": 1, "RETANZ": 1000000, "RETAPL": 1, "RETAPT": 1, "RETARO": 1, "RETARS": 1, "RETARU": 1, "RETASE": 1, "RETASG": 1, "RETASI": 1, "RETASK": 1, "RETATH": 1, "RETATR": 1, "RETATW": 1, "RETAUK": 1, "RETAUS": 1, "RETAVN": 1, "RETAZA": 1, "REXPAE": 1000000, "REXPAL": 1000000, "REXPAR": 1000000, "REXPAT": 1000000, "REXPAU": 1000000, "REXPAZ": 1000000, "REXPBA": 1000000, "REXPBD": 1000000, "REXPBE": 1000000, "REXPBG": 1000000, "REXPBR": 1000000, "REXPBW": 1000000, "REXPBY": 1000000, "REXPCA": 1000000, "REXPCH": 1000000, "REXPCL": 1000000000, "REXPCN": 10000, "REXPCO": 1000000000, "REXPCY": 1000000, "REXPCZ": 1000000, "REXPDE": 1000000, "REXPDK": 1000000, "REXPEA": 1000000, "REXPEE": 1000000, "REXPES": 1000000, "REXPEU": 1000000, "REXPFI": 1000000, "REXPFR": 1000000, "REXPGR": 1000000, "REXPHK": 1000000, "REXPHN": 1000000, "REXPHR": 1000000, "REXPHU": 1000000, "REXPID": 1000000000, "REXPIE": 1000000, "REXPIL": 1000000, "REXPIN": 10000000, "REXPIR": 1000000000, "REXPIT": 1000000, "REXPJP": 1000000000, "REXPKH": 1000000000, "REXPKR": 1000000000, "REXPLT": 1000000, "REXPLU": 1000000, "REXPLV": 1000000, "REXPMA": 1000000, "REXPMK": 1000000, "REXPMN": 1000000, "REXPMO": 1000000, "REXPMT": 1000000, "REXPMX": 1000000, "REXPMY": 1000000, "REXPNG": 1000000, "REXPNL": 1000000, "REXPNO": 1000000, "REXPNZ": 1000000, "REXPPA": 1000000, "REXPPE": 1000000, "REXPPH": 1000000, "REXPPK": 1000000, "REXPPL": 1000000, "REXPPT": 1000000, "REXPRO": 1000000, "REXPRS": 1000000, "REXPRU": 1000000000, "REXPRW": 1000000000, "REXPSA": 1000000, "REXPSE": 1000000, "REXPSG": 1000000, "REXPSI": 1000000, "REXPSK": 1000000, "REXPTH": 1000000, "REXPTR": 1000, "REXPTW": 1000000, "REXPUA": 1000000, "REXPUK": 1000000, "REXPUS": 1000000, "REXPUZ": 1000000000, "REXPZA": 1000000, "RGCFAT": 1000000, "RGCFBA": 1000000, "RGCFBE": 1000000, "RGCFBG": 1000000, "RGCFBY": 1000000, "RGCFCH": 1000000, "RGCFCO": 1000000000, "RGCFCY": 1000000, "RGCFCZ": 1000000, "RGCFDE": 1000000, "RGCFDK": 1000000, "RGCFEA": 1000000, "RGCFEE": 1000000, "RGCFES": 1000000, "RGCFEU": 1000000, "RGCFFI": 1000000, "RGCFFR": 1000000, "RGCFGR": 1000000, "RGCFHR": 1000000, "RGCFHU": 1000000, "RGCFIE": 1000000, "RGCFIT": 1000000, "RGCFKR": 1000000000, "RGCFLT": 1000000, "RGCFLU": 1000000, "RGCFLV": 1000000, "RGCFMK": 1000000, "RGCFMT": 1000000, "RGCFNL": 1000000, "RGCFNO": 1000000, "RGCFNZ": 1000000, "RGCFPE": 1000000, "RGCFPK": 1000000, "RGCFPL": 1000000, "RGCFPT": 1000000, "RGCFRO": 1000000, "RGCFRS": 1000000, "RGCFRU": 1000000000, "RGCFRW": 1000000000, "RGCFSE": 1000000, "RGCFSI": 1000000, "RGCFSK": 1000000, "RGCFUA": 1000000, "RGCFUK": 1000000, "RGDPAE": 1000000, "RGDPAL": 1000000, "RGDPAR": 1000000, "RGDPAT": 1000000, "RGDPAU": 1000000, "RGDPAZ": 1000000, "RGDPBA": 1000000, "RGDPBD": 1000000, "RGDPBE": 1000000, "RGDPBG": 1000000, "RGDPBR": 1000000, "RGDPBW": 1000000, "RGDPBY": 1000000, "RGDPCA": 1000000, "RGDPCH": 1000000, "RGDPCL": 1000000000, "RGDPCM": 1000000000, "RGDPCN": 100000000, "RGDPCO": 1000000000, "RGDPCR": 1000000, "RGDPCY": 1000000, "RGDPCZ": 1000000, "RGDPDE": 1000000, "RGDPDK": 1000000, "RGDPEA": 1000000, "RGDPEE": 1000000, "RGDPEG": 1000000, "RGDPES": 1000000, "RGDPEU": 1000000, "RGDPFI": 1000000, "RGDPFR": 1000000, "RGDPGR": 1000000, "RGDPHK": 1000000, "RGDPHN": 1000000, "RGDPHR": 1000000, "RGDPHU": 1000000, "RGDPID": 1000000000, "RGDPIE": 1000000, "RGDPIL": 1000000, "RGDPIN": 10000000, "RGDPIR": 1000000000, "RGDPIT": 1000000, "RGDPJO": 1000000, "RGDPJP": 1000000000, "RGDPKH": 1000000000, "RGDPKR": 1000000000, "RGDPKZ": 1000000000, "RGDPLA": 1000000000, "RGDPLT": 1000000, "RGDPLU": 1000000, "RGDPLV": 1000000, "RGDPMA": 1000000, "RGDPMK": 1000000, "RGDPMN": 1000000, "RGDPMO": 1000000, "RGDPMT": 1000000, "RGDPMX": 1000000, "RGDPMY": 1000000, "RGDPNG": 1000, "RGDPNL": 1000000, "RGDPNO": 1000000, "RGDPNZ": 1000000, "RGDPPA": 1000000, "RGDPPCAL": 1, "RGDPPCAT": 1, "RGDPPCAU": 1, "RGDPPCBE": 1, "RGDPPCBG": 1, "RGDPPCBR": 1, "RGDPPCCH": 1, "RGDPPCCY": 1, "RGDPPCCZ": 1, "RGDPPCDE": 1, "RGDPPCDK": 1, "RGDPPCEA": 1, "RGDPPCEE": 1, "RGDPPCES": 1, "RGDPPCEU": 1, "RGDPPCFI": 1, "RGDPPCFR": 1, "RGDPPCGR": 1, "RGDPPCHR": 1, "RGDPPCHU": 1, "RGDPPCIE": 1, "RGDPPCIS": 1, "RGDPPCIT": 1, "RGDPPCLT": 1, "RGDPPCLU": 1, "RGDPPCLV": 1, "RGDPPCME": 1, "RGDPPCMK": 1, "RGDPPCMT": 1, "RGDPPCNL": 1, "RGDPPCNO": 1, "RGDPPCNZ": 1000000, "RGDPPCPL": 1, "RGDPPCPT": 1, "RGDPPCRO": 1, "RGDPPCRS": 1, "RGDPPCSE": 1, "RGDPPCSI": 1, "RGDPPCSK": 1, "RGDPPCTR": 1, "RGDPPCUS": 1, "RGDPPE": 1000000, "RGDPPH": 1000000, "RGDPPK": 1000000, "RGDPPL": 1000000, "RGDPPT": 1000000, "RGDPQA": 1000000, "RGDPRO": 1000000, "RGDPRS": 1000000, "RGDPRU": 1000000000, "RGDPRW": 1000000000, "RGDPSA": 1000000, "RGDPSE": 1000000, "RGDPSG": 1000000, "RGDPSI": 1000000, "RGDPSK": 1000000, "RGDPTH": 1000000, "RGDPTN": 1000000, "RGDPTR": 1000, "RGDPTW": 1000000, "RGDPUA": 1000000, "RGDPUK": 1000000, "RGDPUS": 1000000, "RGDPUY": 1000000, "RGDPUZ": 1000000000, "RGDPVN": 1000000000, "RGDPZA": 1000000, "RGFCFAE": 1000000, "RGFCFAL": 1000000, "RGFCFAR": 1000000, "RGFCFAT": 1000000, "RGFCFAU": 1000000, "RGFCFAZ": 1000000, "RGFCFBA": 1000000, "RGFCFBD": 1000000, "RGFCFBE": 1000000, "RGFCFBG": 1000000, "RGFCFBR": 1000000, "RGFCFBW": 1000000, "RGFCFBY": 1000000, "RGFCFCA": 1000000, "RGFCFCH": 1000000, "RGFCFCL": 1000000000, "RGFCFCN": 1, "RGFCFCO": 1000000000, "RGFCFCR": 1000000, "RGFCFCY": 1000000, "RGFCFCZ": 1000000, "RGFCFDE": 1000000, "RGFCFDK": 1000000, "RGFCFEA": 1000000, "RGFCFEE": 1000000, "RGFCFES": 1000000, "RGFCFEU": 1000000, "RGFCFFI": 1000000, "RGFCFFR": 1000000, "RGFCFGR": 1000000, "RGFCFHK": 1000000, "RGFCFHN": 1000000, "RGFCFHR": 1000000, "RGFCFHU": 1000000, "RGFCFID": 1000000000, "RGFCFIE": 1000000, "RGFCFIL": 1000000, "RGFCFIN": 10000000, "RGFCFIR": 1000000000, "RGFCFIT": 1000000, "RGFCFJP": 1000000000, "RGFCFKH": 1000000000, "RGFCFKR": 1000000000, "RGFCFLT": 1000000, "RGFCFLU": 1000000, "RGFCFLV": 1000000, "RGFCFMA": 1000000, "RGFCFMN": 1000000, "RGFCFMO": 1000000, "RGFCFMT": 1000000, "RGFCFMX": 1000000, "RGFCFMY": 1000000, "RGFCFNG": 1000000, "RGFCFNL": 1000000, "RGFCFNO": 1000000, "RGFCFNZ": 1000000, "RGFCFPH": 1000000, "RGFCFPK": 1000000, "RGFCFPL": 1000000, "RGFCFPT": 1000000, "RGFCFRO": 1000000, "RGFCFRS": 1000000, "RGFCFRU": 1000000000, "RGFCFSA": 1000000, "RGFCFSE": 1000000, "RGFCFSG": 1000000, "RGFCFSI": 1000000, "RGFCFSK": 1000000, "RGFCFTH": 1000000, "RGFCFTR": 1000, "RGFCFTW": 1000000, "RGFCFUA": 1000000, "RGFCFUK": 1000000, "RGFCFUS": 1000000, "RGFCFVN": 1000000000, "RGFCFZA": 1000000, "RIMPAE": 1000000, "RIMPAL": 1000000, "RIMPAR": 1000000, "RIMPAT": 1000000, "RIMPAU": 1000000, "RIMPAZ": 1000000, "RIMPBA": 1000000, "RIMPBD": 1000000, "RIMPBE": 1000000, "RIMPBG": 1000000, "RIMPBR": 1000000, "RIMPBW": 1000000, "RIMPBY": 1000000, "RIMPCA": 1000000, "RIMPCH": 1000000, "RIMPCL": 1000000000, "RIMPCN": 10000, "RIMPCO": 1000000000, "RIMPCY": 1000000, "RIMPCZ": 1000000, "RIMPDE": 1000000, "RIMPDK": 1000000, "RIMPEA": 1000000, "RIMPEE": 1000000, "RIMPES": 1000000, "RIMPEU": 1000000, "RIMPFI": 1000000, "RIMPFR": 1000000, "RIMPGR": 1000000, "RIMPHK": 1000000, "RIMPHN": 1000000, "RIMPHR": 1000000, "RIMPHU": 1000000, "RIMPID": 1000000000, "RIMPIE": 1000000, "RIMPIL": 1000000, "RIMPIN": 10000000, "RIMPIR": 1000000000, "RIMPIT": 1000000, "RIMPJP": 1000000000, "RIMPKH": 1000000000, "RIMPKR": 1000000000, "RIMPLT": 1000000, "RIMPLU": 1000000, "RIMPLV": 1000000, "RIMPMA": 1000000, "RIMPMK": 1000000, "RIMPMN": 1000000, "RIMPMO": 1000000, "RIMPMT": 1000000, "RIMPMX": 1000000, "RIMPMY": 1000000, "RIMPNG": 1000000, "RIMPNL": 1000000, "RIMPNO": 1000000, "RIMPNZ": 1000000, "RIMPPA": 1000000, "RIMPPE": 1000000, "RIMPPH": 1000000, "RIMPPK": 1000000, "RIMPPL": 1000000, "RIMPPT": 1000000, "RIMPRO": 1000000, "RIMPRS": 1000000, "RIMPRU": 1000000000, "RIMPRW": 1000000000, "RIMPSA": 1000000, "RIMPSE": 1000000, "RIMPSG": 1000000, "RIMPSI": 1000000, "RIMPSK": 1000000, "RIMPTH": 1000000, "RIMPTR": 1000, "RIMPTW": 1000000, "RIMPUA": 1000000, "RIMPUK": 1000000, "RIMPUS": 1000000, "RIMPUZ": 1000000000, "RIMPZA": 1000000, "RPRCAE": 1000000, "RPRCAR": 1000000, "RPRCAT": 1000000, "RPRCAU": 1000000, "RPRCAZ": 1000000, "RPRCBA": 1000000, "RPRCBD": 1000000, "RPRCBE": 1000000, "RPRCBG": 1000000, "RPRCBR": 1000000, "RPRCBY": 1000000, "RPRCCA": 1000000, "RPRCCH": 1000000, "RPRCCL": 1000000000, "RPRCCN": 100000000, "RPRCCO": 1000000000, "RPRCCR": 1000000, "RPRCCY": 1000000, "RPRCCZ": 1000000, "RPRCDE": 1000000, "RPRCDK": 1000000, "RPRCEA": 1000000, "RPRCEE": 1000000, "RPRCES": 1000000, "RPRCEU": 1000000, "RPRCFI": 1000000, "RPRCFR": 1000000, "RPRCGR": 1000000, "RPRCHK": 1000000, "RPRCHN": 1000000, "RPRCHR": 1000000, "RPRCHU": 1000000, "RPRCID": 1000000000, "RPRCIE": 1000000, "RPRCIL": 1000000, "RPRCIN": 10000000, "RPRCIR": 1000000000, "RPRCIT": 1000000, "RPRCJP": 1000000000, "RPRCKH": 1000000000, "RPRCKR": 1000000000, "RPRCLT": 1000000, "RPRCLU": 1000000, "RPRCLV": 1000000, "RPRCMA": 1000000, "RPRCMK": 1000000, "RPRCMO": 1000000, "RPRCMT": 1000000, "RPRCMX": 1000000, "RPRCMY": 1000000, "RPRCNG": 1000000, "RPRCNL": 1000000, "RPRCNO": 1000000, "RPRCNZ": 1000000, "RPRCPE": 1000000, "RPRCPH": 1000000, "RPRCPK": 1000000, "RPRCPL": 1000000, "RPRCPT": 1000000, "RPRCRO": 1000000, "RPRCRS": 1000000, "RPRCRU": 1000000000, "RPRCRW": 1000000000, "RPRCSA": 1000000, "RPRCSE": 1000000, "RPRCSG": 1000000, "RPRCSI": 1000000, "RPRCSK": 1000000, "RPRCTH": 1000000, "RPRCTR": 1000, "RPRCTW": 1000000, "RPRCUA": 1000000, "RPRCUK": 1000000, "RPRCUS": 1000000, "RPRCUZ": 1000000000, "RPRCVN": 1000000000, "RPRCZA": 1000000, "RPUCAE": 1000000, "RPUCAL": 1000000, "RPUCAR": 1000000, "RPUCAT": 1000000, "RPUCAU": 1000000, "RPUCAZ": 1000000, "RPUCBA": 1000000, "RPUCBD": 1000000, "RPUCBE": 1000000, "RPUCBG": 1000000, "RPUCBR": 1000000, "RPUCBW": 1000000, "RPUCBY": 1000000, "RPUCCA": 1000000, "RPUCCH": 1000000, "RPUCCL": 1000000000, "RPUCCN": 100000000, "RPUCCO": 1000000000, "RPUCCR": 1000000, "RPUCCY": 1000000, "RPUCCZ": 1000000, "RPUCDE": 1000000, "RPUCDK": 1000000, "RPUCEA": 1000000, "RPUCEE": 1000000, "RPUCES": 1000000, "RPUCEU": 1000000, "RPUCFI": 1000000, "RPUCFR": 1000000, "RPUCGR": 1000000, "RPUCHK": 1000000, "RPUCHN": 1000000, "RPUCHR": 1000000, "RPUCHU": 1000000, "RPUCID": 1000000000, "RPUCIE": 1000000, "RPUCIL": 1000000, "RPUCIN": 10000000, "RPUCIR": 1000000000, "RPUCIT": 1000000, "RPUCJP": 1000000000, "RPUCKH": 1000000000, "RPUCKR": 1000000000, "RPUCLT": 1000000, "RPUCLU": 1000000, "RPUCLV": 1000000, "RPUCMA": 1000000, "RPUCMK": 1000000, "RPUCMN": 1000000, "RPUCMO": 1000000, "RPUCMT": 1000000, "RPUCMX": 1000000, "RPUCMY": 1000000, "RPUCNG": 1000000, "RPUCNL": 1000000, "RPUCNO": 1000000, "RPUCNZ": 1000000, "RPUCPA": 1000000, "RPUCPE": 1000000, "RPUCPH": 1000000, "RPUCPK": 1000000, "RPUCPL": 1000000, "RPUCPT": 1000000, "RPUCRO": 1000000, "RPUCRS": 1000000, "RPUCRU": 1000000000, "RPUCRW": 1000000000, "RPUCSA": 1000000, "RPUCSE": 1000000, "RPUCSG": 1000000, "RPUCSI": 1000000, "RPUCSK": 1000000, "RPUCTH": 1000000, "RPUCTR": 1000, "RPUCTW": 1000000, "RPUCUA": 1000000, "RPUCUK": 1000000, "RPUCUS": 1000000, "RPUCUZ": 1000000000, "RPUCVN": 1000000000, "RPUCZA": 1000000, "SEIAE": 1, "SEIAT": 1, "SEIAU": 1, "SEIBD": 1, "SEIBE": 1, "SEIBR": 1, "SEICA": 1, "SEICH": 1, "SEICN": 1, "SEIDE": 1, "SEIDK": 1, "SEIES": 1, "SEIFI": 1, "SEIFR": 1, "SEIID": 1, "SEIIE": 1, "SEIIN": 1, "SEIIT": 1, "SEIJP": 1, "SEIKR": 1, "SEILA": 1, "SEILU": 1, "SEIMX": 1, "SEINL": 1, "SEINO": 1, "SEIOM": 1, "SEIPA": 1, "SEIPK": 1, "SEIPL": 1, "SEIRS": 1, "SEIRU": 1, "SEISE": 1, "SEITR": 1, "SEIUS": 1, "SEIUZ": 1, "SEIZA": 1, "SENTAL": 1, "SENTAT": 1, "SENTAU": 1, "SENTBE": 1, "SENTBG": 1, "SENTBR": 1, "SENTCY": 1, "SENTCZ": 1, "SENTDE": 1, "SENTDK": 1, "SENTEE": 1, "SENTES": 1, "SENTEU": 1, "SENTFI": 1, "SENTFR": 1, "SENTGR": 1, "SENTHR": 1, "SENTHU": 1, "SENTIE": 1, "SENTIT": 1, "SENTJP": 1, "SENTKR": 1, "SENTLT": 1, "SENTLU": 1, "SENTLV": 1, "SENTME": 1, "SENTMK": 1, "SENTMT": 1, "SENTNL": 1, "SENTPL": 1, "SENTPT": 1, "SENTRO": 1, "SENTRS": 1, "SENTSE": 1, "SENTSI": 1, "SENTSK": 1, "SENTTR": 1, "SENTUK": 1, "SENTUS": 1, "TBBE": 1000000, "TBBG": 1000000, "TBBR": 1, "TBCA": 1000000, "TBCZ": 1000000, "TBDE": 1000000, "TBDK": 1000000, "TBEE": 1000000, "TBEG": 1000000, "TBFI": 1000000, "TBFR": 1000000, "TBGR": 1000000, "TBHR": 1000000, "TBHU": 1000000, "TBIN": 1000000, "TBIT": 1000000, "TBLT": 1000000, "TBLU": 1000000, "TBLV": 1000000, "TBMK": 1000000, "TBMT": 1000000, "TBMX": 1000000, "TBNL": 1000000, "TBPL": 1000000, "TBPT": 1000000, "TBRO": 1000000, "TBRS": 1000000, "TBSE": 1000000, "TBSI": 1000000, "TBSK": 1000000, "TBTH": 1000000, "TBUS": 1000000, "TBVN": 1000000000, "URATEAE": 1, "URATEAR": 1, "URATEAT": 1, "URATEAU": 1, "URATEAZ": 1000, "URATEBD": 1, "URATEBE": 1, "URATEBG": 1, "URATEBR": 1, "URATEBY": 1, "URATECA": 1, "URATECH": 1, "URATECL": 1, "URATECN": 1, "URATECO": 1, "URATECR": 1, "URATECY": 1, "URATECZ": 1, "URATEDE": 1, "URATEDK": 1, "URATEDO": 1, "URATEEA": 1, "URATEEE": 1, "URATEEG": 1, "URATEES": 1, "URATEEU": 1, "URATEFI": 1, "URATEFR": 1, "URATEGR": 1, "URATEHK": 1, "URATEHR": 1, "URATEHU": 1, "URATEID": 1, "URATEIE": 1, "URATEIL": 1, "URATEIS": 1, "URATEIT": 1, "URATEJO": 1, "URATEJP": 1, "URATEKH": 1, "URATEKR": 1, "URATEKZ": 1, "URATELK": 1, "URATELT": 1, "URATELU": 1, "URATELV": 1, "URATEMA": 1, "URATEMO": 1, "URATEMT": 1, "URATEMX": 1, "URATEMY": 1, "URATENL": 1, "URATENO": 1, "URATENZ": 1, "URATEPE": 1, "URATEPH": 1, "URATEPK": 1000000, "URATEPL": 1, "URATEPT": 1, "URATEQA": 1, "URATERO": 1, "URATERS": 1000, "URATERU": 1, "URATESA": 1, "URATESE": 1, "URATESG": 1, "URATESI": 1, "URATESK": 1, "URATETH": 1, "URATETN": 1, "URATETR": 1, "URATETW": 1, "URATEUA": 1, "URATEUK": 1, "URATEUS": 1, "URATEUY": 1, "URATEVN": 1, "URATEZA": 1, "UTILAL": 1, "UTILAR": 1, "UTILAT": 1, "UTILBE": 1, "UTILBG": 1, "UTILCA": 1, "UTILCY": 1, "UTILCZ": 1, "UTILDE": 1, "UTILDK": 1, "UTILEE": 1, "UTILES": 1, "UTILEU": 1, "UTILFI": 1, "UTILFR": 1, "UTILGR": 1, "UTILHR": 1, "UTILHU": 1, "UTILIE": 1, "UTILIT": 1, "UTILLT": 1, "UTILLU": 1, "UTILLV": 1, "UTILME": 1, "UTILMK": 1, "UTILMT": 1, "UTILNL": 1, "UTILPL": 1, "UTILPT": 1, "UTILRO": 1, "UTILRS": 1, "UTILSE": 1, "UTILSI": 1, "UTILSK": 1, "UTILTR": 1, "UTILUK": 1, "UTILUS": 1, "WAGEMANCL": 1, "WAGEMANMX": 1, "WAGEMANUS": 1, "WAGEUY": 1, "WAGEVN": 1000, "Y10YDAR": 1, "Y10YDAT": 1, "Y10YDAU": 1, "Y10YDBD": 1, "Y10YDBE": 1, "Y10YDBG": 1, "Y10YDCA": 1, "Y10YDCN": 1, "Y10YDCY": 1, "Y10YDCZ": 1, "Y10YDDE": 1, "Y10YDDK": 1, "Y10YDEA": 1, "Y10YDEE": 1, "Y10YDES": 1, "Y10YDEU": 1, "Y10YDFI": 1, "Y10YDFR": 1, "Y10YDGR": 1, "Y10YDHK": 1, "Y10YDHR": 1, "Y10YDHU": 1, "Y10YDID": 1, "Y10YDIE": 1, "Y10YDIN": 1, "Y10YDIT": 1, "Y10YDJP": 1, "Y10YDKR": 1, "Y10YDLT": 1, "Y10YDLU": 1, "Y10YDLV": 1, "Y10YDMT": 1, "Y10YDMX": 1, "Y10YDMY": 1, "Y10YDNL": 1, "Y10YDNZ": 1, "Y10YDPH": 1, "Y10YDPL": 1, "Y10YDPT": 1, "Y10YDQA": 1, "Y10YDRO": 1, "Y10YDRU": 1, "Y10YDSA": 1, "Y10YDSE": 1, "Y10YDSG": 1, "Y10YDSI": 1, "Y10YDSK": 1, "Y10YDTH": 1, "Y10YDTR": 1, "Y10YDTW": 1, "Y10YDUA": 1, "Y10YDUK": 1, "Y10YDUS": 1, "Y10YDVN": 1, "Y10YDZA": 1} \ No newline at end of file diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/scales.json b/openbb_platform/providers/econdb/openbb_econdb/utils/scales.json index ad3119e63db..9f68ce566f4 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/scales.json +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/scales.json @@ -1 +1 @@ -{"ACPOPAT":"Thousands","ACPOPBE":"Thousands","ACPOPBG":"Thousands","ACPOPBR":"Thousands","ACPOPCA":"Thousands","ACPOPCH":"Thousands","ACPOPCY":"Thousands","ACPOPCZ":"Thousands","ACPOPDE":"Thousands","ACPOPDK":"Thousands","ACPOPEE":"Thousands","ACPOPES":"Thousands","ACPOPFI":"Thousands","ACPOPFR":"Thousands","ACPOPGR":"Thousands","ACPOPHR":"Thousands","ACPOPHU":"Thousands","ACPOPIE":"Thousands","ACPOPIS":"Thousands","ACPOPIT":"Thousands","ACPOPJP":"Tens thousands","ACPOPLT":"Thousands","ACPOPLU":"Thousands","ACPOPLV":"Thousands","ACPOPME":"Thousands","ACPOPMK":"Thousands","ACPOPMT":"Thousands","ACPOPMX":"Units","ACPOPNL":"Thousands","ACPOPNO":"Thousands","ACPOPPH":"Thousands","ACPOPPK":"Millions","ACPOPPL":"Thousands","ACPOPPT":"Thousands","ACPOPQA":"Units","ACPOPRO":"Thousands","ACPOPRS":"Thousands","ACPOPSE":"Thousands","ACPOPSI":"Thousands","ACPOPSK":"Thousands","ACPOPTR":"Thousands","ACPOPTW":"Units","ACPOPUS":"Thousands","ACPOPVN":"Thousands","CAAR":"Millions","CAAT":"Millions","CAAU":"Millions","CAAZ":"Millions","CABD":"Millions","CABE":"Millions","CABG":"Millions","CABR":"Millions","CABT":"Millions","CABY":"Millions","CACA":"Millions","CACH":"Billions","CACL":"Millions","CACN":"Hundreds Millions","CACO":"Millions","CACR":"Millions","CACY":"Millions","CACZ":"Millions","CADE":"Millions","CADK":"Millions","CAEE":"Millions","CAEG":"Millions","CAES":"Millions","CAEU":"Millions","CAFI":"Millions","CAFR":"Millions","CAGR":"Millions","CAHK":"Millions","CAHR":"Millions","CAHU":"Millions","CAID":"Millions","CAIE":"Millions","CAIL":"Millions","CAIN":"Millions","CAIT":"Millions","CAJO":"Millions","CAJP":"Hundreds Millions","CAKH":"Billions","CAKR":"Millions","CAKZ":"Millions","CALA":"Millions","CALT":"Millions","CALU":"Millions","CALV":"Millions","CAMA":"Millions","CAMT":"Millions","CAMX":"Millions","CAMY":"Millions","CANL":"Millions","CANO":"Millions","CANP":"Millions","CANZ":"Millions","CAPA":"Millions","CAPH":"Millions","CAPK":"Millions","CAPL":"Millions","CAPT":"Millions","CARAT":"Units","CARBE":"Units","CARBG":"Units","CARCH":"Units","CARCZ":"Units","CARDE":"Units","CARDK":"Units","CAREE":"Units","CARES":"Units","CAREU":"Units","CARFI":"Units","CARFR":"Units","CARGR":"Units","CARHR":"Units","CARHU":"Units","CARIE":"Units","CARIS":"Units","CARIT":"Units","CARLT":"Units","CARLU":"Units","CARLV":"Units","CARNL":"Units","CARNO":"Units","CARO":"Millions","CARPL":"Units","CARPT":"Units","CARRO":"Units","CARSE":"Units","CARSI":"Units","CARSK":"Units","CARU":"Millions","CARUK":"Units","CARZA":"Units","CASA":"Millions","CASE":"Millions","CASG":"Millions","CASI":"Millions","CASK":"Millions","CASV":"Millions","CATH":"Millions","CATN":"Millions","CATR":"Millions","CATW":"Millions","CAUA":"Millions","CAUK":"Millions","CAUS":"Millions","CAUY":"Millions","CAVN":"Millions","CAZA":"Millions","CBALAL":"Millions","CBALAT":"Millions","CBALAZ":"Millions","CBALBE":"Millions","CBALBG":"Millions","CBALCH":"Millions","CBALCY":"Millions","CBALCZ":"Millions","CBALDE":"Millions","CBALDK":"Millions","CBALEA":"Millions","CBALEE":"Millions","CBALES":"Millions","CBALEU":"Millions","CBALFI":"Millions","CBALFR":"Millions","CBALGR":"Millions","CBALHR":"Millions","CBALHU":"Millions","CBALIE":"Millions","CBALIR":"Billions","CBALIT":"Millions","CBALLT":"Millions","CBALLU":"Millions","CBALLV":"Millions","CBALME":"Millions","CBALMT":"Millions","CBALNL":"Millions","CBALNO":"Millions","CBALPH":"Millions","CBALPL":"Millions","CBALPT":"Millions","CBALRO":"Millions","CBALRS":"Millions","CBALSE":"Millions","CBALSI":"Millions","CBALSK":"Millions","CBALTR":"Millions","CBALUK":"Millions","CBALUS":"Billions","CIAE":"Millions","CIAR":"Millions","CIAT":"Millions","CIAU":"Millions","CIAZ":"Millions","CIBE":"Millions","CIBG":"Millions","CIBR":"Millions","CIBW":"Millions","CIBY":"Millions","CICH":"Millions","CICN":"Hundreds Millions","CICY":"Millions","CICZ":"Millions","CIDE":"Millions","CIDK":"Millions","CIEE":"Millions","CIES":"Millions","CIFI":"Millions","CIFR":"Millions","CIGR":"Millions","CIHK":"Millions","CIHR":"Millions","CIHU":"Millions","CIID":"Billions","CIIE":"Millions","CIIL":"Millions","CIIN":"Tens Millions","CIIR":"Billions","CIIT":"Millions","CIKR":"Billions","CIKZ":"Millions","CILT":"Millions","CILU":"Millions","CILV":"Millions","CIMA":"Millions","CIME":"Millions","CIMN":"Millions","CIMT":"Millions","CIMX":"Millions","CIMY":"Millions","CING":"Millions","CINL":"Millions","CINO":"Millions","CINZ":"Millions","CIPH":"Millions","CIPK":"Millions","CIPL":"Millions","CIPT":"Millions","CIRO":"Millions","CIRS":"Millions","CIRU":"Billions","CISA":"Millions","CISE":"Millions","CISG":"Millions","CISI":"Millions","CISK":"Millions","CITH":"Millions","CITR":"Thousands","CITW":"Millions","CIUA":"Millions","CIUK":"Millions","CIUS":"Millions","CIVN":"Billions","CIZA":"Millions","CKABE":"Millions","CKABG":"Millions","CKACZ":"Millions","CKADE":"Millions","CKADK":"Millions","CKAEE":"Millions","CKAES":"Millions","CKAFI":"Millions","CKAFR":"Millions","CKAGR":"Millions","CKAHR":"Millions","CKAHU":"Millions","CKAIT":"Millions","CKALT":"Millions","CKALU":"Millions","CKALV":"Millions","CKAMT":"Millions","CKANL":"Millions","CKAPL":"Millions","CKAPT":"Millions","CKARO":"Millions","CKASE":"Millions","CKASI":"Millions","CKASK":"Millions","CLAIMSUS":"Units","CLIAT":"Units","CLIAU":"Units","CLIBE":"Units","CLIBR":"Units","CLICA":"Units","CLICH":"Units","CLICL":"Units","CLICN":"Units","CLICZ":"Units","CLIDE":"Units","CLIDK":"Units","CLIEE":"Units","CLIES":"Units","CLIFI":"Units","CLIFR":"Units","CLIGR":"Units","CLIHU":"Units","CLIID":"Units","CLIIE":"Units","CLIIL":"Units","CLIIN":"Units","CLIIS":"Units","CLIIT":"Units","CLIJP":"Units","CLIKR":"Units","CLILU":"Units","CLIMX":"Units","CLINL":"Units","CLINO":"Units","CLINZ":"Units","CLIPL":"Units","CLIPT":"Units","CLIRU":"Units","CLISE":"Units","CLISI":"Units","CLISK":"Units","CLITR":"Units","CLIUK":"Units","CLIUS":"Units","CLIZA":"Units","CONAE":"Millions","CONAL":"Millions","CONAT":"Millions","CONBD":"Millions","CONBE":"Millions","CONBG":"Millions","CONBY":"Millions","CONCA":"Millions","CONCH":"Millions","CONCL":"Billions","CONCN":"Hundreds Millions","CONCY":"Millions","CONCZ":"Millions","CONDE":"Millions","CONDK":"Millions","CONEA":"Millions","CONEE":"Millions","CONES":"Millions","CONEU":"Millions","CONFAL":"Units","CONFAT":"Units","CONFAU":"Units","CONFBE":"Units","CONFBG":"Units","CONFBR":"Units","CONFCY":"Units","CONFCZ":"Units","CONFDE":"Units","CONFDK":"Units","CONFEE":"Units","CONFES":"Units","CONFEU":"Units","CONFFI":"Units","CONFFR":"Units","CONFGR":"Units","CONFHR":"Units","CONFHU":"Units","CONFI":"Millions","CONFID":"Units","CONFIE":"Units","CONFIL":"Units","CONFIT":"Units","CONFJP":"Units","CONFKR":"Units","CONFLT":"Units","CONFLU":"Units","CONFLV":"Units","CONFME":"Units","CONFMK":"Units","CONFMT":"Units","CONFMX":"Units","CONFNL":"Units","CONFPL":"Units","CONFPT":"Units","CONFR":"Millions","CONFRO":"Units","CONFRS":"Units","CONFSE":"Units","CONFSI":"Units","CONFSK":"Units","CONFTR":"Units","CONFUK":"Units","CONFUS":"Units","CONGR":"Millions","CONHR":"Millions","CONHU":"Millions","CONIE":"Millions","CONIT":"Millions","CONKR":"Billions","CONLT":"Millions","CONLU":"Millions","CONLV":"Millions","CONMK":"Millions","CONMT":"Millions","CONMX":"Millions","CONNL":"Millions","CONNO":"Millions","CONPL":"Millions","CONPT":"Millions","CONQA":"Millions","CONRO":"Millions","CONRS":"Millions","CONRU":"Billions","CONSE":"Millions","CONSI":"Millions","CONSK":"Millions","CONUA":"Millions","CONUK":"Millions","CONZA":"Millions","COREAR":"Units","COREAT":"Units","COREAU":"Units","COREBD":"Units","COREBE":"Units","COREBG":"Units","COREBR":"Units","CORECA":"Units","CORECH":"Units","CORECY":"Units","CORECZ":"Units","COREDE":"Units","COREDK":"Units","COREEA":"Units","COREEE":"Units","COREES":"Units","COREEU":"Units","COREFI":"Units","COREFR":"Units","COREGR":"Units","COREHR":"Units","COREHU":"Units","COREIE":"Units","COREIN":"Units","COREIS":"Units","COREIT":"Units","COREJP":"Units","COREKR":"Units","CORELT":"Units","CORELU":"Units","CORELV":"Units","COREMK":"Units","COREMT":"Units","COREMX":"Units","CORENL":"Units","CORENO":"Units","CORENP":"Units","COREPL":"Units","COREPT":"Units","CORERO":"Units","CORERS":"Units","CORERU":"Units","CORESE":"Units","CORESG":"Units","CORESI":"Units","CORESK":"Units","CORETH":"Units","CORETR":"Units","CORETW":"Units","COREUK":"Units","COREUS":"Units","CPAT":"Units","CPBE":"Units","CPBG":"Units","CPCZ":"Units","CPDE":"Units","CPDK":"Units","CPES":"Units","CPEU":"Units","CPFI":"Units","CPFR":"Units","CPHR":"Units","CPHU":"Units","CPIAE":"Units","CPIAF":"Units","CPIAG":"Units","CPIAL":"Units","CPIAM":"Units","CPIAR":"Units","CPIAT":"Units","CPIAU":"Units","CPIAW":"Units","CPIAZ":"Units","CPIBA":"Units","CPIBB":"Units","CPIBD":"Units","CPIBE":"Units","CPIBF":"Units","CPIBG":"Units","CPIBH":"Units","CPIBI":"Units","CPIBJ":"Units","CPIBN":"Units","CPIBO":"Units","CPIBR":"Units","CPIBS":"Units","CPIBT":"Units","CPIBW":"Units","CPIBY":"Units","CPIBZ":"Units","CPICA":"Units","CPICF":"Units","CPICG":"Units","CPICH":"Units","CPICI":"Units","CPICL":"Units","CPICM":"Units","CPICN":"Units","CPICO":"Units","CPICR":"Units","CPICV":"Units","CPICW":"Units","CPICY":"Units","CPICZ":"Units","CPIDE":"Units","CPIDJ":"Units","CPIDK":"Units","CPIDM":"Units","CPIDO":"Units","CPIEA":"Units","CPIEC":"Units","CPIEE":"Units","CPIEG":"Units","CPIES":"Units","CPIET":"Units","CPIEU":"Units","CPIFI":"Units","CPIFJ":"Units","CPIFR":"Units","CPIGA":"Units","CPIGD":"Units","CPIGE":"Units","CPIGN":"Units","CPIGQ":"Units","CPIGR":"Units","CPIGT":"Units","CPIGW":"Units","CPIGY":"Units","CPIHK":"Units","CPIHN":"Units","CPIHR":"Units","CPIHT":"Units","CPIHU":"Units","CPIID":"Units","CPIIE":"Units","CPIIL":"Units","CPIIN":"Units","CPIIQ":"Units","CPIIR":"Units","CPIIS":"Units","CPIIT":"Units","CPIJM":"Units","CPIJO":"Units","CPIJP":"Units","CPIKG":"Units","CPIKH":"Units","CPIKI":"Units","CPIKN":"Units","CPIKR":"Units","CPIKW":"Units","CPIKZ":"Units","CPILA":"Units","CPILB":"Units","CPILC":"Units","CPILK":"Units","CPILR":"Units","CPILS":"Units","CPILT":"Units","CPILU":"Units","CPILV":"Units","CPIMA":"Units","CPIMD":"Units","CPIME":"Units","CPIMG":"Units","CPIMK":"Units","CPIML":"Units","CPIMM":"Units","CPIMN":"Units","CPIMO":"Units","CPIMR":"Units","CPIMS":"Units","CPIMT":"Units","CPIMU":"Units","CPIMV":"Units","CPIMW":"Units","CPIMX":"Units","CPIMY":"Units","CPIMZ":"Units","CPINE":"Units","CPING":"Units","CPINI":"Units","CPINL":"Units","CPINO":"Units","CPINP":"Units","CPINZ":"Units","CPIOM":"Units","CPIPA":"Units","CPIPE":"Units","CPIPH":"Units","CPIPK":"Units","CPIPL":"Units","CPIPS":"Units","CPIPT":"Units","CPIQA":"Units","CPIRO":"Units","CPIRS":"Units","CPIRU":"Units","CPISA":"Units","CPISB":"Units","CPISC":"Units","CPISD":"Units","CPISE":"Units","CPISG":"Units","CPISI":"Units","CPISK":"Units","CPISR":"Units","CPISS":"Units","CPIST":"Units","CPISV":"Units","CPISZ":"Units","CPIT":"Units","CPITD":"Units","CPITG":"Units","CPITH":"Units","CPITJ":"Units","CPITL":"Units","CPITN":"Units","CPITO":"Units","CPITR":"Units","CPITT":"Units","CPITW":"Units","CPIUA":"Units","CPIUG":"Units","CPIUK":"Units","CPIUS":"Units","CPIUY":"Units","CPIUZ":"Units","CPIVC":"Units","CPIVE":"Units","CPIVN":"Units","CPIWS":"Units","CPIXK":"Units","CPIZA":"Units","CPIZM":"Units","CPIZW":"Units","CPLU":"Units","CPMK":"Units","CPMX":"Thousands","CPNL":"Units","CPNO":"Units","CPPL":"Units","CPPT":"Units","CPRO":"Units","CPSE":"Units","CPSG":"Millions","CPSI":"Units","CPSK":"Units","CPUK":"Units","CREDAR":"Billions","CREDAT":"Billions","CREDAU":"Billions","CREDBE":"Billions","CREDBR":"Billions","CREDCA":"Billions","CREDCH":"Billions","CREDCL":"Billions","CREDCN":"Billions","CREDCO":"Billions","CREDCZ":"Billions","CREDDE":"Billions","CREDDK":"Billions","CREDEA":"Billions","CREDES":"Billions","CREDFI":"Billions","CREDFR":"Billions","CREDGR":"Billions","CREDHK":"Billions","CREDHU":"Billions","CREDID":"Billions","CREDIE":"Billions","CREDIL":"Billions","CREDIN":"Billions","CREDIT":"Billions","CREDJP":"Billions","CREDKR":"Billions","CREDLU":"Billions","CREDMO":"Millions","CREDMX":"Billions","CREDMY":"Billions","CREDNL":"Billions","CREDNO":"Billions","CREDNZ":"Billions","CREDPL":"Billions","CREDPT":"Billions","CREDRU":"Billions","CREDSA":"Billions","CREDSE":"Billions","CREDSG":"Billions","CREDTH":"Billions","CREDTN":"Millions","CREDTR":"Billions","CREDUK":"Billions","CREDUS":"Billions","CREDZA":"Billions","DWPEBE":"Units","DWPECY":"Units","DWPEDE":"Units","DWPEES":"Units","DWPEEU":"Units","DWPEFI":"Units","DWPEFR":"Units","DWPEGR":"Units","DWPEHU":"Units","DWPEMK":"Units","DWPENL":"Units","DWPENO":"Units","DWPEPT":"Units","DWPERO":"Units","DWPESE":"Units","DWPESI":"Units","ELEAT":"Units","ELEBE":"Units","ELEBG":"Units","ELECH":"Units","ELECN":"Hundreds Millions","ELECY":"Units","ELECZ":"Units","ELEDE":"Units","ELEDK":"Units","ELEEE":"Units","ELEES":"Units","ELEEU":"Units","ELEFI":"Units","ELEFR":"Units","ELEGR":"Units","ELEHR":"Units","ELEHU":"Units","ELEIE":"Units","ELEIT":"Units","ELELT":"Units","ELELU":"Units","ELELV":"Units","ELEMK":"Units","ELEMT":"Units","ELENL":"Units","ELENO":"Units","ELEPL":"Units","ELEPT":"Units","ELERO":"Units","ELESE":"Units","ELESI":"Units","ELESK":"Units","ELETR":"Units","ELEUK":"Units","ELEUS":"Units","ELEZA":"Units","EMPAR":"Units","EMPAT":"Thousands","EMPAU":"Thousands","EMPAZ":"Thousands","EMPBD":"Millions","EMPBE":"Thousands","EMPBG":"Thousands","EMPBR":"Thousands","EMPBY":"Thousands","EMPCA":"Thousands","EMPCH":"Thousands","EMPCL":"Thousands","EMPCN":"Tens thousands","EMPCO":"Units","EMPCR":"Thousands","EMPCY":"Thousands","EMPCZ":"Thousands","EMPDE":"Thousands","EMPDK":"Thousands","EMPDO":"Units","EMPEE":"Thousands","EMPES":"Thousands","EMPFI":"Thousands","EMPFR":"Thousands","EMPGR":"Thousands","EMPHR":"Thousands","EMPHU":"Thousands","EMPID":"Thousands","EMPIE":"Thousands","EMPIS":"Thousands","EMPIT":"Thousands","EMPJO":"Units","EMPJP":"Tens thousands","EMPKR":"Thousands","EMPKZ":"Thousands","EMPLK":"Units","EMPLT":"Thousands","EMPLU":"Thousands","EMPLV":"Thousands","EMPME":"Thousands","EMPMK":"Thousands","EMPMO":"Units","EMPMT":"Thousands","EMPMX":"Units","EMPMY":"Millions","EMPNL":"Thousands","EMPNO":"Thousands","EMPNZ":"Thousands","EMPPA":"Units","EMPPE":"Units","EMPPH":"Thousands","EMPPK":"Millions","EMPPL":"Thousands","EMPPT":"Thousands","EMPQA":"Units","EMPRO":"Thousands","EMPRS":"Thousands","EMPRU":"Millions","EMPSE":"Thousands","EMPSG":"Thousands","EMPSI":"Thousands","EMPSK":"Thousands","EMPTH":"Thousands","EMPTN":"Units","EMPTR":"Thousands","EMPTW":"Units","EMPUA":"Thousands","EMPUS":"Thousands","EMPUY":"Units","EMPVN":"Thousands","EMPZA":"Units","EMRATIOAT":"Units","EMRATIOBE":"Units","EMRATIOBG":"Units","EMRATIOCH":"Units","EMRATIOCY":"Units","EMRATIOCZ":"Units","EMRATIODE":"Units","EMRATIODK":"Units","EMRATIOEE":"Units","EMRATIOES":"Units","EMRATIOFI":"Units","EMRATIOFR":"Units","EMRATIOGR":"Units","EMRATIOHR":"Units","EMRATIOHU":"Units","EMRATIOIE":"Units","EMRATIOIS":"Units","EMRATIOIT":"Units","EMRATIOJP":"Units","EMRATIOLT":"Units","EMRATIOLU":"Units","EMRATIOLV":"Units","EMRATIOME":"Units","EMRATIOMK":"Units","EMRATIOMT":"Units","EMRATIONL":"Units","EMRATIONO":"Units","EMRATIOPL":"Units","EMRATIOPT":"Units","EMRATIORO":"Units","EMRATIORS":"Units","EMRATIOSE":"Units","EMRATIOSI":"Units","EMRATIOSK":"Units","EMRATIOTR":"Units","EMRATIOTW":"Units","EMRATIOUS":"Units","EQYCAPCN":"Hundreds Millions","EXPAE":"Millions","EXPAL":"Millions","EXPAR":"Millions","EXPAT":"Millions","EXPAU":"Millions","EXPAZ":"Millions","EXPBD":"Millions","EXPBE":"Millions","EXPBG":"Millions","EXPBR":"Millions","EXPBW":"Millions","EXPBY":"Millions","EXPCA":"Millions","EXPCH":"Millions","EXPCL":"Billions","EXPCM":"Billions","EXPCN":"Tens thousands","EXPCO":"Billions","EXPCY":"Millions","EXPCZ":"Millions","EXPDE":"Millions","EXPDK":"Millions","EXPEA":"Millions","EXPEE":"Millions","EXPES":"Millions","EXPEU":"Millions","EXPFI":"Millions","EXPFR":"Millions","EXPGR":"Millions","EXPHK":"Millions","EXPHR":"Millions","EXPHU":"Millions","EXPID":"Billions","EXPIE":"Millions","EXPIL":"Millions","EXPIN":"Tens Millions","EXPIR":"Billions","EXPIT":"Millions","EXPJO":"Millions","EXPJP":"Billions","EXPKR":"Billions","EXPKZ":"Millions","EXPLT":"Millions","EXPLU":"Millions","EXPLV":"Millions","EXPMA":"Millions","EXPME":"Millions","EXPMK":"Millions","EXPMN":"Millions","EXPMONAR":"Millions","EXPMONAU":"Millions","EXPMONBD":"Millions","EXPMONBE":"Millions","EXPMONBG":"Millions","EXPMONBR":"Units","EXPMONCA":"Millions","EXPMONCL":"Millions","EXPMONCN":"Thousands","EXPMONCO":"Millions","EXPMONCR":"Millions","EXPMONCZ":"Millions","EXPMONDE":"Millions","EXPMONDK":"Millions","EXPMONEE":"Millions","EXPMONEG":"Millions","EXPMONES":"Millions","EXPMONEU":"Millions","EXPMONFI":"Millions","EXPMONFR":"Millions","EXPMONGR":"Millions","EXPMONHK":"Millions","EXPMONHR":"Millions","EXPMONHU":"Millions","EXPMONID":"Millions","EXPMONIN":"Millions","EXPMONIT":"Millions","EXPMONJP":"Thousands","EXPMONKH":"Millions","EXPMONKR":"Thousands","EXPMONKZ":"Millions","EXPMONLT":"Millions","EXPMONLU":"Millions","EXPMONLV":"Millions","EXPMONMK":"Millions","EXPMONMT":"Millions","EXPMONMX":"Millions","EXPMONMY":"Millions","EXPMONNL":"Millions","EXPMONNP":"Millions","EXPMONPH":"Millions","EXPMONPK":"Millions","EXPMONPL":"Millions","EXPMONPT":"Millions","EXPMONQA":"Millions","EXPMONRO":"Millions","EXPMONRS":"Millions","EXPMONRU":"Millions","EXPMONSA":"Millions","EXPMONSE":"Millions","EXPMONSG":"Thousands","EXPMONSI":"Millions","EXPMONSK":"Millions","EXPMONTH":"Millions","EXPMONTR":"Thousands","EXPMONTW":"Millions","EXPMONUA":"Millions","EXPMONUK":"Millions","EXPMONUS":"Millions","EXPMONUY":"Millions","EXPMONVN":"Thousands","EXPMONZA":"Millions","EXPMT":"Millions","EXPMX":"Millions","EXPMY":"Millions","EXPNG":"Millions","EXPNL":"Millions","EXPNO":"Millions","EXPNZ":"Millions","EXPPE":"Millions","EXPPH":"Millions","EXPPK":"Millions","EXPPL":"Millions","EXPPT":"Millions","EXPQA":"Millions","EXPRO":"Millions","EXPRS":"Millions","EXPRU":"Billions","EXPRW":"Billions","EXPSA":"Millions","EXPSE":"Millions","EXPSG":"Millions","EXPSI":"Millions","EXPSK":"Millions","EXPSV":"Millions","EXPTH":"Millions","EXPTR":"Thousands","EXPTW":"Millions","EXPUA":"Millions","EXPUK":"Millions","EXPUS":"Millions","EXPZA":"Millions","GASDEMAL":"Millions","GASDEMAT":"Millions","GASDEMAU":"Millions","GASDEMAZ":"Millions","GASDEMBE":"Millions","GASDEMBG":"Millions","GASDEMBH":"Millions","GASDEMBN":"Millions","GASDEMBO":"Millions","GASDEMBY":"Millions","GASDEMCA":"Millions","GASDEMCH":"Millions","GASDEMCL":"Millions","GASDEMCZ":"Millions","GASDEMDE":"Millions","GASDEMDK":"Millions","GASDEMDZ":"Millions","GASDEMEC":"Millions","GASDEMEE":"Millions","GASDEMEG":"Millions","GASDEMES":"Millions","GASDEMFI":"Millions","GASDEMFR":"Millions","GASDEMGE":"Millions","GASDEMGQ":"Millions","GASDEMGR":"Millions","GASDEMHK":"Millions","GASDEMHR":"Millions","GASDEMHU":"Millions","GASDEMID":"Millions","GASDEMIE":"Millions","GASDEMIN":"Millions","GASDEMIT":"Millions","GASDEMJP":"Millions","GASDEMKR":"Millions","GASDEMKW":"Millions","GASDEMLT":"Millions","GASDEMLU":"Millions","GASDEMLV":"Millions","GASDEMLY":"Millions","GASDEMMA":"Millions","GASDEMMD":"Millions","GASDEMMK":"Millions","GASDEMMT":"Millions","GASDEMMX":"Millions","GASDEMNG":"Millions","GASDEMNL":"Millions","GASDEMNO":"Millions","GASDEMNZ":"Millions","GASDEMPE":"Millions","GASDEMPH":"Millions","GASDEMPL":"Millions","GASDEMPT":"Millions","GASDEMQA":"Millions","GASDEMRO":"Millions","GASDEMSE":"Millions","GASDEMSI":"Millions","GASDEMSK":"Millions","GASDEMTN":"Millions","GASDEMTR":"Millions","GASDEMTT":"Millions","GASDEMTW":"Millions","GASDEMUA":"Millions","GASDEMUK":"Millions","GASDEMUS":"Millions","GASDEMVE":"Millions","GASDEMZA":"Millions","GASODEMAE":"Thousands","GASODEMAL":"Thousands","GASODEMAM":"Thousands","GASODEMAO":"Thousands","GASODEMAR":"Thousands","GASODEMAT":"Thousands","GASODEMAU":"Thousands","GASODEMAZ":"Thousands","GASODEMBB":"Thousands","GASODEMBD":"Thousands","GASODEMBE":"Thousands","GASODEMBG":"Thousands","GASODEMBH":"Thousands","GASODEMBM":"Thousands","GASODEMBN":"Thousands","GASODEMBO":"Thousands","GASODEMBR":"Thousands","GASODEMBY":"Thousands","GASODEMBZ":"Thousands","GASODEMCA":"Thousands","GASODEMCH":"Thousands","GASODEMCL":"Thousands","GASODEMCN":"Thousands","GASODEMCO":"Thousands","GASODEMCR":"Thousands","GASODEMCU":"Thousands","GASODEMCY":"Thousands","GASODEMCZ":"Thousands","GASODEMDE":"Thousands","GASODEMDK":"Thousands","GASODEMDO":"Thousands","GASODEMDZ":"Thousands","GASODEMEC":"Thousands","GASODEMEE":"Thousands","GASODEMEG":"Thousands","GASODEMES":"Thousands","GASODEMFI":"Thousands","GASODEMFR":"Thousands","GASODEMGA":"Thousands","GASODEMGD":"Thousands","GASODEMGE":"Thousands","GASODEMGM":"Thousands","GASODEMGQ":"Thousands","GASODEMGR":"Thousands","GASODEMGT":"Thousands","GASODEMGY":"Thousands","GASODEMHK":"Thousands","GASODEMHN":"Thousands","GASODEMHR":"Thousands","GASODEMHT":"Thousands","GASODEMHU":"Thousands","GASODEMID":"Thousands","GASODEMIE":"Thousands","GASODEMIN":"Thousands","GASODEMIQ":"Thousands","GASODEMIR":"Thousands","GASODEMIS":"Thousands","GASODEMIT":"Thousands","GASODEMJM":"Thousands","GASODEMJP":"Thousands","GASODEMKR":"Thousands","GASODEMKW":"Thousands","GASODEMKZ":"Thousands","GASODEMLT":"Thousands","GASODEMLU":"Thousands","GASODEMLV":"Thousands","GASODEMLY":"Thousands","GASODEMMA":"Thousands","GASODEMMD":"Thousands","GASODEMMK":"Thousands","GASODEMMM":"Thousands","GASODEMMT":"Thousands","GASODEMMU":"Thousands","GASODEMMX":"Thousands","GASODEMMY":"Thousands","GASODEMNE":"Thousands","GASODEMNG":"Thousands","GASODEMNI":"Thousands","GASODEMNL":"Thousands","GASODEMNO":"Thousands","GASODEMNP":"Thousands","GASODEMNZ":"Thousands","GASODEMOM":"Thousands","GASODEMPA":"Thousands","GASODEMPE":"Thousands","GASODEMPG":"Thousands","GASODEMPH":"Thousands","GASODEMPL":"Thousands","GASODEMPT":"Thousands","GASODEMPY":"Thousands","GASODEMQA":"Thousands","GASODEMRO":"Thousands","GASODEMRU":"Thousands","GASODEMSA":"Thousands","GASODEMSD":"Thousands","GASODEMSE":"Thousands","GASODEMSG":"Thousands","GASODEMSI":"Thousands","GASODEMSK":"Thousands","GASODEMSR":"Thousands","GASODEMSV":"Thousands","GASODEMSY":"Thousands","GASODEMSZ":"Thousands","GASODEMTH":"Thousands","GASODEMTJ":"Thousands","GASODEMTN":"Thousands","GASODEMTR":"Thousands","GASODEMTT":"Thousands","GASODEMTW":"Thousands","GASODEMUA":"Thousands","GASODEMUK":"Thousands","GASODEMUS":"Thousands","GASODEMUY":"Thousands","GASODEMVE":"Thousands","GASODEMVN":"Thousands","GASODEMYE":"Thousands","GASODEMZA":"Thousands","GASOPRODAE":"Thousands","GASOPRODAL":"Thousands","GASOPRODAM":"Thousands","GASOPRODAO":"Thousands","GASOPRODAR":"Thousands","GASOPRODAT":"Thousands","GASOPRODAU":"Thousands","GASOPRODAZ":"Thousands","GASOPRODBB":"Thousands","GASOPRODBD":"Thousands","GASOPRODBE":"Thousands","GASOPRODBG":"Thousands","GASOPRODBH":"Thousands","GASOPRODBM":"Thousands","GASOPRODBN":"Thousands","GASOPRODBO":"Thousands","GASOPRODBR":"Thousands","GASOPRODBY":"Thousands","GASOPRODBZ":"Thousands","GASOPRODCA":"Thousands","GASOPRODCH":"Thousands","GASOPRODCL":"Thousands","GASOPRODCN":"Thousands","GASOPRODCO":"Thousands","GASOPRODCR":"Thousands","GASOPRODCU":"Thousands","GASOPRODCY":"Thousands","GASOPRODCZ":"Thousands","GASOPRODDE":"Thousands","GASOPRODDK":"Thousands","GASOPRODDO":"Thousands","GASOPRODDZ":"Thousands","GASOPRODEC":"Thousands","GASOPRODEE":"Thousands","GASOPRODEG":"Thousands","GASOPRODES":"Thousands","GASOPRODFI":"Thousands","GASOPRODFR":"Thousands","GASOPRODGA":"Thousands","GASOPRODGD":"Thousands","GASOPRODGE":"Thousands","GASOPRODGM":"Thousands","GASOPRODGQ":"Thousands","GASOPRODGR":"Thousands","GASOPRODGT":"Thousands","GASOPRODGY":"Thousands","GASOPRODHK":"Thousands","GASOPRODHN":"Thousands","GASOPRODHR":"Thousands","GASOPRODHT":"Thousands","GASOPRODHU":"Thousands","GASOPRODID":"Thousands","GASOPRODIE":"Thousands","GASOPRODIN":"Thousands","GASOPRODIQ":"Thousands","GASOPRODIR":"Thousands","GASOPRODIS":"Thousands","GASOPRODIT":"Thousands","GASOPRODJM":"Thousands","GASOPRODJP":"Thousands","GASOPRODKR":"Thousands","GASOPRODKW":"Thousands","GASOPRODKZ":"Thousands","GASOPRODLT":"Thousands","GASOPRODLU":"Thousands","GASOPRODLV":"Thousands","GASOPRODLY":"Thousands","GASOPRODMA":"Thousands","GASOPRODMD":"Thousands","GASOPRODMK":"Thousands","GASOPRODMM":"Thousands","GASOPRODMT":"Thousands","GASOPRODMU":"Thousands","GASOPRODMX":"Thousands","GASOPRODMY":"Thousands","GASOPRODNE":"Thousands","GASOPRODNG":"Thousands","GASOPRODNI":"Thousands","GASOPRODNL":"Thousands","GASOPRODNO":"Thousands","GASOPRODNP":"Thousands","GASOPRODNZ":"Thousands","GASOPRODOM":"Thousands","GASOPRODPA":"Thousands","GASOPRODPE":"Thousands","GASOPRODPG":"Thousands","GASOPRODPH":"Thousands","GASOPRODPL":"Thousands","GASOPRODPT":"Thousands","GASOPRODPY":"Thousands","GASOPRODQA":"Thousands","GASOPRODRO":"Thousands","GASOPRODRU":"Thousands","GASOPRODSA":"Thousands","GASOPRODSD":"Thousands","GASOPRODSE":"Thousands","GASOPRODSG":"Thousands","GASOPRODSI":"Thousands","GASOPRODSK":"Thousands","GASOPRODSR":"Thousands","GASOPRODSV":"Thousands","GASOPRODSY":"Thousands","GASOPRODSZ":"Thousands","GASOPRODTH":"Thousands","GASOPRODTJ":"Thousands","GASOPRODTN":"Thousands","GASOPRODTR":"Thousands","GASOPRODTT":"Thousands","GASOPRODTW":"Thousands","GASOPRODUA":"Thousands","GASOPRODUK":"Thousands","GASOPRODUS":"Thousands","GASOPRODUY":"Thousands","GASOPRODVE":"Thousands","GASOPRODVN":"Thousands","GASOPRODYE":"Thousands","GASOPRODZA":"Thousands","GASPRODAL":"Millions","GASPRODAT":"Millions","GASPRODAU":"Millions","GASPRODAZ":"Millions","GASPRODBE":"Millions","GASPRODBG":"Millions","GASPRODBH":"Millions","GASPRODBN":"Millions","GASPRODBO":"Millions","GASPRODBY":"Millions","GASPRODCA":"Millions","GASPRODCH":"Millions","GASPRODCL":"Millions","GASPRODCN":"Millions","GASPRODCZ":"Millions","GASPRODDE":"Millions","GASPRODDK":"Millions","GASPRODDZ":"Millions","GASPRODEC":"Millions","GASPRODEE":"Millions","GASPRODEG":"Millions","GASPRODES":"Millions","GASPRODFI":"Millions","GASPRODFR":"Millions","GASPRODGA":"Millions","GASPRODGE":"Millions","GASPRODGQ":"Millions","GASPRODGR":"Millions","GASPRODHK":"Millions","GASPRODHR":"Millions","GASPRODHU":"Millions","GASPRODID":"Millions","GASPRODIE":"Millions","GASPRODIN":"Millions","GASPRODIQ":"Millions","GASPRODIT":"Millions","GASPRODJP":"Millions","GASPRODKR":"Millions","GASPRODKW":"Millions","GASPRODKZ":"Millions","GASPRODLT":"Millions","GASPRODLU":"Millions","GASPRODLV":"Millions","GASPRODLY":"Millions","GASPRODMA":"Millions","GASPRODMD":"Millions","GASPRODMK":"Millions","GASPRODMT":"Millions","GASPRODMX":"Millions","GASPRODMY":"Millions","GASPRODNG":"Millions","GASPRODNL":"Millions","GASPRODNO":"Millions","GASPRODNZ":"Millions","GASPRODPE":"Millions","GASPRODPG":"Millions","GASPRODPH":"Millions","GASPRODPL":"Millions","GASPRODPT":"Millions","GASPRODQA":"Millions","GASPRODRO":"Millions","GASPRODRU":"Millions","GASPRODSE":"Millions","GASPRODSG":"Millions","GASPRODSI":"Millions","GASPRODSK":"Millions","GASPRODTH":"Millions","GASPRODTN":"Millions","GASPRODTR":"Millions","GASPRODTT":"Millions","GASPRODTW":"Millions","GASPRODUA":"Millions","GASPRODUK":"Millions","GASPRODUS":"Millions","GASPRODVE":"Millions","GASPRODVN":"Millions","GASPRODZA":"Millions","GBALAR":"Millions","GBALAT":"Millions","GBALAU":"Millions","GBALAZ":"Millions","GBALBD":"Billions","GBALBE":"Millions","GBALBG":"Millions","GBALBR":"Millions","GBALCA":"Millions","GBALCH":"Millions","GBALCN":"Billions","GBALCO":"Billions","GBALCR":"Millions","GBALCY":"Millions","GBALCZ":"Millions","GBALDE":"Millions","GBALDK":"Millions","GBALEE":"Millions","GBALES":"Millions","GBALEU":"Millions","GBALFI":"Millions","GBALFR":"Millions","GBALGR":"Millions","GBALHK":"Millions","GBALHR":"Millions","GBALHU":"Millions","GBALID":"Billions","GBALIE":"Millions","GBALIL":"Millions","GBALIN":"Billions","GBALIS":"Millions","GBALIT":"Millions","GBALJP":"Billions","GBALKH":"Millions","GBALKR":"Billions","GBALKZ":"Millions","GBALLT":"Millions","GBALLU":"Millions","GBALLV":"Millions","GBALMO":"Millions","GBALMT":"Millions","GBALMX":"Millions","GBALMY":"Millions","GBALNL":"Millions","GBALNO":"Millions","GBALPE":"Millions","GBALPH":"Millions","GBALPL":"Millions","GBALPT":"Millions","GBALRO":"Millions","GBALRU":"Billions","GBALSA":"Millions","GBALSE":"Millions","GBALSG":"Millions","GBALSI":"Millions","GBALSK":"Millions","GBALTH":"Millions","GBALTR":"Millions","GBALTW":"Thousands","GBALUA":"Millions","GBALUK":"Millions","GBALUS":"Millions","GBALZA":"Millions","GCFAT":"Millions","GCFBE":"Millions","GCFBG":"Millions","GCFBR":"Millions","GCFBY":"Millions","GCFCH":"Millions","GCFCN":"Hundreds Millions","GCFCY":"Millions","GCFCZ":"Millions","GCFDE":"Millions","GCFDK":"Millions","GCFEA":"Millions","GCFEE":"Millions","GCFES":"Millions","GCFEU":"Millions","GCFFI":"Millions","GCFFR":"Millions","GCFGR":"Millions","GCFHR":"Millions","GCFHU":"Millions","GCFIE":"Millions","GCFIT":"Millions","GCFKR":"Billions","GCFLT":"Millions","GCFLU":"Millions","GCFLV":"Millions","GCFME":"Millions","GCFMK":"Millions","GCFMT":"Millions","GCFNL":"Millions","GCFNO":"Millions","GCFNZ":"Millions","GCFPE":"Millions","GCFPL":"Millions","GCFPT":"Millions","GCFQA":"Millions","GCFRO":"Millions","GCFRS":"Millions","GCFRU":"Billions","GCFSE":"Millions","GCFSI":"Millions","GCFSK":"Millions","GCFTH":"Millions","GCFUA":"Millions","GCFUK":"Millions","GDEBTAR":"Millions","GDEBTAT":"Millions","GDEBTAU":"Millions","GDEBTBE":"Millions","GDEBTBG":"Millions","GDEBTBR":"Millions","GDEBTCA":"Millions","GDEBTCL":"Millions","GDEBTCN":"Hundreds Millions","GDEBTCO":"Billions","GDEBTCR":"Millions","GDEBTCY":"Millions","GDEBTCZ":"Millions","GDEBTDE":"Millions","GDEBTDK":"Millions","GDEBTEE":"Millions","GDEBTES":"Millions","GDEBTEU":"Millions","GDEBTFI":"Millions","GDEBTFR":"Millions","GDEBTGR":"Millions","GDEBTHK":"Millions","GDEBTHR":"Millions","GDEBTHU":"Millions","GDEBTID":"Billions","GDEBTIE":"Millions","GDEBTIL":"Millions","GDEBTIN":"Tens Millions","GDEBTIT":"Millions","GDEBTJO":"Millions","GDEBTJP":"Hundreds Millions","GDEBTKR":"Millions","GDEBTKZ":"Millions","GDEBTLT":"Millions","GDEBTLU":"Millions","GDEBTLV":"Millions","GDEBTMT":"Millions","GDEBTMX":"Billions","GDEBTMY":"Millions","GDEBTNAT":"Millions","GDEBTNBE":"Millions","GDEBTNBG":"Millions","GDEBTNCY":"Millions","GDEBTNCZ":"Millions","GDEBTNDE":"Millions","GDEBTNDK":"Millions","GDEBTNEE":"Millions","GDEBTNES":"Millions","GDEBTNEU":"Millions","GDEBTNFI":"Millions","GDEBTNFR":"Millions","GDEBTNGR":"Millions","GDEBTNHR":"Millions","GDEBTNHU":"Millions","GDEBTNIE":"Millions","GDEBTNIT":"Millions","GDEBTNL":"Millions","GDEBTNLT":"Millions","GDEBTNLU":"Millions","GDEBTNLV":"Millions","GDEBTNMT":"Millions","GDEBTNNL":"Millions","GDEBTNNO":"Millions","GDEBTNO":"Millions","GDEBTNPL":"Millions","GDEBTNPT":"Millions","GDEBTNRO":"Millions","GDEBTNSE":"Millions","GDEBTNSI":"Millions","GDEBTNSK":"Millions","GDEBTNUK":"Millions","GDEBTPH":"Millions","GDEBTPK":"Billions","GDEBTPL":"Millions","GDEBTPT":"Millions","GDEBTQA":"Billions","GDEBTRO":"Millions","GDEBTRU":"Millions","GDEBTSA":"Millions","GDEBTSE":"Millions","GDEBTSG":"Millions","GDEBTSI":"Millions","GDEBTSK":"Millions","GDEBTSV":"Millions","GDEBTTH":"Millions","GDEBTTR":"Millions","GDEBTTW":"Millions","GDEBTUK":"Billions","GDEBTUS":"Millions","GDEBTZA":"Millions","GDPAE":"Millions","GDPAL":"Millions","GDPAR":"Millions","GDPAT":"Millions","GDPAU":"Millions","GDPAZ":"Millions","GDPBD":"Millions","GDPBE":"Millions","GDPBG":"Millions","GDPBR":"Millions","GDPBW":"Millions","GDPBY":"Millions","GDPCA":"Millions","GDPCH":"Millions","GDPCL":"Billions","GDPCM":"Billions","GDPCN":"Hundreds Millions","GDPCO":"Billions","GDPCR":"Millions","GDPCY":"Millions","GDPCZ":"Millions","GDPDE":"Millions","GDPDEFLK":"Units","GDPDK":"Millions","GDPEA":"Millions","GDPEE":"Millions","GDPEG":"Millions","GDPES":"Millions","GDPEU":"Millions","GDPFI":"Millions","GDPFR":"Millions","GDPGR":"Millions","GDPHK":"Millions","GDPHN":"Millions","GDPHR":"Millions","GDPHU":"Millions","GDPID":"Billions","GDPIE":"Millions","GDPIL":"Millions","GDPIN":"Tens Millions","GDPIR":"Billions","GDPIT":"Millions","GDPJO":"Millions","GDPJP":"Billions","GDPKH":"Billions","GDPKR":"Billions","GDPKZ":"Millions","GDPLA":"Billions","GDPLT":"Millions","GDPLU":"Millions","GDPLV":"Millions","GDPMA":"Millions","GDPME":"Millions","GDPMK":"Millions","GDPMO":"Millions","GDPMT":"Millions","GDPMX":"Millions","GDPMY":"Millions","GDPNG":"Thousands","GDPNL":"Millions","GDPNO":"Millions","GDPNZ":"Millions","GDPPA":"Millions","GDPPCAL":"Units","GDPPCAT":"Units","GDPPCAU":"Units","GDPPCBE":"Units","GDPPCBG":"Units","GDPPCBR":"Units","GDPPCCH":"Units","GDPPCCN":"Units","GDPPCCY":"Units","GDPPCCZ":"Units","GDPPCDE":"Units","GDPPCDK":"Units","GDPPCEA":"Units","GDPPCEE":"Units","GDPPCES":"Units","GDPPCEU":"Units","GDPPCFI":"Units","GDPPCFR":"Units","GDPPCGR":"Units","GDPPCHR":"Units","GDPPCHU":"Units","GDPPCIE":"Units","GDPPCIS":"Units","GDPPCIT":"Units","GDPPCKH":"Thousands","GDPPCKZ":"Units","GDPPCLI":"Units","GDPPCLT":"Units","GDPPCLU":"Units","GDPPCLV":"Units","GDPPCME":"Units","GDPPCMK":"Units","GDPPCMT":"Units","GDPPCNL":"Units","GDPPCNO":"Units","GDPPCNZ":"Units","GDPPCPL":"Units","GDPPCPT":"Units","GDPPCRO":"Units","GDPPCRS":"Units","GDPPCSE":"Units","GDPPCSG":"Units","GDPPCSI":"Units","GDPPCSK":"Units","GDPPCTR":"Units","GDPPCTW":"Units","GDPPCUS":"Units","GDPPE":"Millions","GDPPH":"Millions","GDPPK":"Millions","GDPPL":"Millions","GDPPT":"Millions","GDPQA":"Millions","GDPRO":"Millions","GDPRS":"Millions","GDPRU":"Billions","GDPRW":"Billions","GDPSA":"Millions","GDPSE":"Millions","GDPSG":"Millions","GDPSI":"Millions","GDPSK":"Millions","GDPSV":"Millions","GDPTH":"Millions","GDPTN":"Millions","GDPTR":"Thousands","GDPTW":"Millions","GDPUA":"Millions","GDPUK":"Millions","GDPUS":"Millions","GDPUZ":"Billions","GDPVN":"Billions","GDPZA":"Millions","GFCFAE":"Millions","GFCFAL":"Millions","GFCFAR":"Millions","GFCFAT":"Millions","GFCFAU":"Millions","GFCFAZ":"Millions","GFCFBD":"Millions","GFCFBE":"Millions","GFCFBG":"Millions","GFCFBR":"Millions","GFCFBW":"Millions","GFCFBY":"Millions","GFCFCA":"Millions","GFCFCH":"Millions","GFCFCL":"Billions","GFCFCM":"Billions","GFCFCN":"Units","GFCFCO":"Billions","GFCFCY":"Millions","GFCFCZ":"Millions","GFCFDE":"Millions","GFCFDK":"Millions","GFCFEA":"Millions","GFCFEE":"Millions","GFCFES":"Millions","GFCFEU":"Millions","GFCFFI":"Millions","GFCFFR":"Millions","GFCFGR":"Millions","GFCFHK":"Millions","GFCFHR":"Millions","GFCFHU":"Millions","GFCFID":"Billions","GFCFIE":"Millions","GFCFIL":"Millions","GFCFIN":"Tens Millions","GFCFIR":"Billions","GFCFIT":"Millions","GFCFJP":"Billions","GFCFKR":"Billions","GFCFKZ":"Millions","GFCFLT":"Millions","GFCFLU":"Millions","GFCFLV":"Millions","GFCFMA":"Millions","GFCFME":"Millions","GFCFMN":"Millions","GFCFMT":"Millions","GFCFMX":"Millions","GFCFMY":"Millions","GFCFNG":"Millions","GFCFNL":"Millions","GFCFNO":"Millions","GFCFNZ":"Millions","GFCFPH":"Millions","GFCFPK":"Millions","GFCFPL":"Millions","GFCFPT":"Millions","GFCFRO":"Millions","GFCFRS":"Millions","GFCFRU":"Billions","GFCFSA":"Millions","GFCFSE":"Millions","GFCFSG":"Millions","GFCFSI":"Millions","GFCFSK":"Millions","GFCFTH":"Millions","GFCFTR":"Thousands","GFCFTW":"Millions","GFCFUA":"Millions","GFCFUK":"Millions","GFCFUS":"Millions","GFCFUZ":"Billions","GFCFVN":"Billions","GFCFZA":"Millions","GREVAR":"Millions","GREVAT":"Millions","GREVAU":"Millions","GREVAZ":"Millions","GREVBD":"Billions","GREVBE":"Millions","GREVBG":"Millions","GREVBR":"Millions","GREVCA":"Millions","GREVCH":"Millions","GREVCN":"Hundreds Millions","GREVCO":"Billions","GREVCR":"Millions","GREVCY":"Millions","GREVCZ":"Millions","GREVDE":"Millions","GREVDK":"Millions","GREVEE":"Millions","GREVES":"Millions","GREVEU":"Millions","GREVFI":"Millions","GREVFR":"Millions","GREVHK":"Millions","GREVHR":"Millions","GREVHU":"Millions","GREVID":"Billions","GREVIE":"Millions","GREVIL":"Millions","GREVIN":"Billions","GREVJP":"Billions","GREVKH":"Millions","GREVKR":"Billions","GREVKZ":"Millions","GREVLT":"Millions","GREVLU":"Millions","GREVLV":"Millions","GREVMA":"Millions","GREVMO":"Millions","GREVMT":"Millions","GREVMX":"Millions","GREVMY":"Millions","GREVNL":"Millions","GREVPE":"Millions","GREVPH":"Millions","GREVPL":"Millions","GREVPT":"Millions","GREVRO":"Millions","GREVRU":"Billions","GREVSA":"Millions","GREVSE":"Millions","GREVSG":"Millions","GREVSI":"Millions","GREVSK":"Millions","GREVSV":"Millions","GREVTH":"Millions","GREVTR":"Millions","GREVTW":"Thousands","GREVUA":"Millions","GREVUK":"Millions","GREVUS":"Millions","GREVUY":"Millions","GREVVN":"Billions","GREVZA":"Millions","GSPEAR":"Millions","GSPEAT":"Millions","GSPEAU":"Millions","GSPEAZ":"Millions","GSPEBD":"Billions","GSPEBE":"Millions","GSPEBG":"Millions","GSPEBR":"Millions","GSPECA":"Millions","GSPECH":"Millions","GSPECN":"Hundreds Millions","GSPECO":"Billions","GSPECR":"Millions","GSPECY":"Millions","GSPECZ":"Millions","GSPEDE":"Millions","GSPEDK":"Millions","GSPEEE":"Millions","GSPEES":"Millions","GSPEEU":"Millions","GSPEFI":"Millions","GSPEFR":"Millions","GSPEHK":"Millions","GSPEHR":"Millions","GSPEHU":"Millions","GSPEID":"Billions","GSPEIE":"Millions","GSPEIL":"Millions","GSPEIN":"Billions","GSPEJP":"Billions","GSPEKH":"Millions","GSPEKR":"Billions","GSPEKZ":"Millions","GSPELT":"Millions","GSPELU":"Millions","GSPELV":"Millions","GSPEMO":"Millions","GSPEMT":"Millions","GSPEMX":"Millions","GSPEMY":"Millions","GSPENL":"Millions","GSPEPE":"Millions","GSPEPH":"Millions","GSPEPL":"Millions","GSPEPT":"Millions","GSPERO":"Millions","GSPERU":"Billions","GSPESA":"Millions","GSPESE":"Millions","GSPESG":"Millions","GSPESI":"Millions","GSPESK":"Millions","GSPETH":"Millions","GSPETR":"Millions","GSPETW":"Thousands","GSPEUA":"Millions","GSPEUK":"Millions","GSPEUS":"Millions","GSPEUY":"Millions","GSPEVN":"Billions","GSPEZA":"Millions","HHDIRAT":"Units","HHDIRBE":"Units","HHDIRCH":"Units","HHDIRCY":"Units","HHDIRCZ":"Units","HHDIRDE":"Units","HHDIRDK":"Units","HHDIREE":"Units","HHDIRES":"Units","HHDIRFI":"Units","HHDIRFR":"Units","HHDIRGR":"Units","HHDIRHR":"Units","HHDIRHU":"Units","HHDIRIE":"Units","HHDIRIT":"Units","HHDIRLT":"Units","HHDIRLU":"Units","HHDIRLV":"Units","HHDIRNL":"Units","HHDIRNO":"Units","HHDIRPL":"Units","HHDIRPT":"Units","HHDIRSE":"Units","HHDIRSI":"Units","HHDIRSK":"Units","HHDIRTR":"Units","HHSAT":"Units","HHSBE":"Units","HHSCN":"Hundreds Millions","HHSCZ":"Units","HHSDE":"Units","HHSDK":"Units","HHSES":"Units","HHSEU":"Units","HHSFI":"Units","HHSFR":"Units","HHSGR":"Units","HHSHU":"Units","HHSIE":"Units","HHSIT":"Units","HHSNL":"Units","HHSNO":"Units","HHSPL":"Units","HHSPT":"Units","HHSRO":"Units","HHSSE":"Units","HHSSI":"Units","HHSUK":"Units","HOU5R":"Units","HOUAE":"Units","HOUAT":"Units","HOUAU":"Units","HOUBE":"Units","HOUBG":"Units","HOUBR":"Units","HOUCA":"Units","HOUCH":"Units","HOUCL":"Units","HOUCN":"Units","HOUCO":"Units","HOUCY":"Units","HOUCZ":"Units","HOUDE":"Units","HOUDK":"Units","HOUEA":"Units","HOUEE":"Units","HOUES":"Units","HOUEU":"Units","HOUFI":"Units","HOUFR":"Units","HOUGR":"Units","HOUHK":"Units","HOUHR":"Units","HOUHU":"Units","HOUID":"Units","HOUIE":"Units","HOUIL":"Units","HOUIN":"Units","HOUIS":"Units","HOUIT":"Units","HOUJP":"Units","HOUKR":"Units","HOULT":"Units","HOULU":"Units","HOULV":"Units","HOUMA":"Units","HOUMK":"Units","HOUMT":"Units","HOUMX":"Units","HOUMY":"Units","HOUNL":"Units","HOUNO":"Units","HOUNZ":"Units","HOUPE":"Units","HOUPH":"Units","HOUPL":"Units","HOUPT":"Units","HOURO":"Units","HOURU":"Units","HOUSE":"Units","HOUSG":"Units","HOUSI":"Units","HOUSK":"Units","HOUTH":"Units","HOUTR":"Units","HOUUK":"Units","HOUUS":"Units","HOUXW":"Units","HOUZA":"Units","IBD1AU":"Units","IBD1BG":"Units","IBD1CL":"Units","IBD1CO":"Units","IBD1CZ":"Units","IBD1DK":"Units","IBD1EA":"Units","IBD1HR":"Units","IBD1HU":"Units","IBD1KR":"Units","IBD1MX":"Units","IBD1NZ":"Units","IBD1PL":"Units","IBD1PY":"Units","IBD1RO":"Units","IBD1RU":"Units","IBD1SE":"Units","IBD1SG":"Units","IBD1TH":"Units","IBD1TR":"Units","IBD1UA":"Units","IBD1UK":"Units","IIPAAL":"Millions","IIPAAR":"Millions","IIPAAT":"Millions","IIPAAU":"Millions","IIPABA":"Millions","IIPABD":"Millions","IIPABE":"Millions","IIPABG":"Millions","IIPABR":"Millions","IIPACA":"Millions","IIPACH":"Millions","IIPACL":"Millions","IIPACN":"Hundreds Millions","IIPACO":"Millions","IIPACY":"Millions","IIPACZ":"Millions","IIPADE":"Millions","IIPADK":"Millions","IIPAEE":"Millions","IIPAEG":"Millions","IIPAES":"Millions","IIPAFI":"Millions","IIPAFR":"Millions","IIPAGR":"Millions","IIPAHK":"Millions","IIPAHR":"Millions","IIPAHU":"Millions","IIPAID":"Millions","IIPAIE":"Millions","IIPAIL":"Millions","IIPAIN":"Millions","IIPAIS":"Millions","IIPAIT":"Millions","IIPAJP":"Billions","IIPAKH":"Billions","IIPAKR":"Millions","IIPALT":"Millions","IIPALU":"Millions","IIPALV":"Millions","IIPAMT":"Millions","IIPAMX":"Millions","IIPAMY":"Millions","IIPANL":"Millions","IIPANO":"Millions","IIPANP":"Millions","IIPAPH":"Millions","IIPAPK":"Millions","IIPAPL":"Millions","IIPAPT":"Millions","IIPARO":"Millions","IIPARU":"Millions","IIPASA":"Millions","IIPASE":"Millions","IIPASG":"Millions","IIPASI":"Millions","IIPASK":"Millions","IIPATH":"Millions","IIPATR":"Millions","IIPATW":"Millions","IIPAUK":"Millions","IIPAUS":"Billions","IIPAXK":"Millions","IIPAZA":"Billions","IIPLAL":"Millions","IIPLAR":"Millions","IIPLAT":"Millions","IIPLAU":"Millions","IIPLBA":"Millions","IIPLBD":"Millions","IIPLBE":"Millions","IIPLBG":"Millions","IIPLBR":"Millions","IIPLCA":"Millions","IIPLCH":"Millions","IIPLCL":"Millions","IIPLCN":"Hundreds Millions","IIPLCO":"Millions","IIPLCY":"Millions","IIPLCZ":"Millions","IIPLDE":"Millions","IIPLDK":"Millions","IIPLEE":"Millions","IIPLEG":"Millions","IIPLES":"Millions","IIPLFI":"Millions","IIPLFR":"Millions","IIPLGR":"Millions","IIPLHK":"Millions","IIPLHR":"Millions","IIPLHU":"Millions","IIPLID":"Millions","IIPLIE":"Millions","IIPLIL":"Millions","IIPLIN":"Millions","IIPLIS":"Millions","IIPLIT":"Millions","IIPLJP":"Billions","IIPLKH":"Billions","IIPLKR":"Millions","IIPLLT":"Millions","IIPLLU":"Millions","IIPLLV":"Millions","IIPLMT":"Millions","IIPLMX":"Millions","IIPLMY":"Millions","IIPLNL":"Millions","IIPLNO":"Millions","IIPLNP":"Millions","IIPLPH":"Millions","IIPLPK":"Millions","IIPLPL":"Millions","IIPLPT":"Millions","IIPLRO":"Millions","IIPLRU":"Millions","IIPLSA":"Millions","IIPLSE":"Millions","IIPLSG":"Millions","IIPLSI":"Millions","IIPLSK":"Millions","IIPLTH":"Millions","IIPLTR":"Millions","IIPLTW":"Millions","IIPLUK":"Millions","IIPLUS":"Billions","IIPLXK":"Millions","IIPLZA":"Billions","IMPAE":"Millions","IMPAL":"Millions","IMPAR":"Millions","IMPAT":"Millions","IMPAU":"Millions","IMPAZ":"Millions","IMPBD":"Millions","IMPBE":"Millions","IMPBG":"Millions","IMPBR":"Millions","IMPBW":"Millions","IMPBY":"Millions","IMPCA":"Millions","IMPCH":"Millions","IMPCL":"Billions","IMPCM":"Billions","IMPCN":"Tens thousands","IMPCO":"Billions","IMPCY":"Millions","IMPCZ":"Millions","IMPDE":"Millions","IMPDK":"Millions","IMPEA":"Millions","IMPEE":"Millions","IMPES":"Millions","IMPEU":"Millions","IMPFI":"Millions","IMPFR":"Millions","IMPGR":"Millions","IMPHK":"Millions","IMPHR":"Millions","IMPHU":"Millions","IMPID":"Billions","IMPIE":"Millions","IMPIL":"Millions","IMPIN":"Tens Millions","IMPIR":"Billions","IMPIT":"Millions","IMPJO":"Millions","IMPJP":"Billions","IMPKR":"Billions","IMPKZ":"Millions","IMPLT":"Millions","IMPLU":"Millions","IMPLV":"Millions","IMPMA":"Millions","IMPME":"Millions","IMPMK":"Millions","IMPMN":"Millions","IMPMONAR":"Millions","IMPMONAU":"Millions","IMPMONBD":"Millions","IMPMONBE":"Millions","IMPMONBG":"Millions","IMPMONBR":"Units","IMPMONCA":"Millions","IMPMONCL":"Millions","IMPMONCN":"Thousands","IMPMONCO":"Millions","IMPMONCR":"Millions","IMPMONCZ":"Millions","IMPMONDE":"Millions","IMPMONDK":"Millions","IMPMONEE":"Millions","IMPMONEG":"Millions","IMPMONES":"Millions","IMPMONEU":"Millions","IMPMONFI":"Millions","IMPMONFR":"Millions","IMPMONGR":"Millions","IMPMONHK":"Millions","IMPMONHR":"Millions","IMPMONHU":"Millions","IMPMONID":"Millions","IMPMONIN":"Millions","IMPMONIT":"Millions","IMPMONJP":"Thousands","IMPMONKH":"Millions","IMPMONKR":"Thousands","IMPMONKZ":"Millions","IMPMONLT":"Millions","IMPMONLU":"Millions","IMPMONLV":"Millions","IMPMONMK":"Millions","IMPMONMT":"Millions","IMPMONMX":"Millions","IMPMONMY":"Millions","IMPMONNL":"Millions","IMPMONNP":"Millions","IMPMONPH":"Millions","IMPMONPK":"Millions","IMPMONPL":"Millions","IMPMONPT":"Millions","IMPMONQA":"Millions","IMPMONRO":"Millions","IMPMONRS":"Millions","IMPMONRU":"Millions","IMPMONSA":"Millions","IMPMONSE":"Millions","IMPMONSG":"Thousands","IMPMONSI":"Millions","IMPMONSK":"Millions","IMPMONTH":"Millions","IMPMONTR":"Thousands","IMPMONTW":"Millions","IMPMONUA":"Millions","IMPMONUK":"Millions","IMPMONUS":"Millions","IMPMONUY":"Millions","IMPMONVN":"Thousands","IMPMONZA":"Millions","IMPMT":"Millions","IMPMX":"Millions","IMPMY":"Millions","IMPNG":"Millions","IMPNL":"Millions","IMPNO":"Millions","IMPNZ":"Millions","IMPPE":"Millions","IMPPH":"Millions","IMPPK":"Millions","IMPPL":"Millions","IMPPT":"Millions","IMPQA":"Millions","IMPRO":"Millions","IMPRS":"Millions","IMPRU":"Billions","IMPRW":"Billions","IMPSA":"Millions","IMPSE":"Millions","IMPSG":"Millions","IMPSI":"Millions","IMPSK":"Millions","IMPSV":"Millions","IMPTH":"Millions","IMPTR":"Thousands","IMPTW":"Millions","IMPUA":"Millions","IMPUK":"Millions","IMPUS":"Millions","IMPZA":"Millions","INVERAT":"Units","INVERBE":"Units","INVERCH":"Units","INVERCY":"Units","INVERCZ":"Units","INVERDE":"Units","INVERDK":"Units","INVEREE":"Units","INVERES":"Units","INVERFI":"Units","INVERFR":"Units","INVERGR":"Units","INVERHR":"Units","INVERHU":"Units","INVERIE":"Units","INVERIT":"Units","INVERLT":"Units","INVERLV":"Units","INVERNL":"Units","INVERNO":"Units","INVERPL":"Units","INVERPT":"Units","INVERRO":"Units","INVERSE":"Units","INVERSI":"Units","INVERSK":"Units","IPAR":"Units","IPAT":"Units","IPAU":"Units","IPAZ":"Units","IPBA":"Units","IPBD":"Units","IPBE":"Units","IPBG":"Units","IPBR":"Units","IPBY":"Millions","IPCA":"Units","IPCH":"Units","IPCL":"Units","IPCM":"Units","IPCN":"Units","IPCO":"Units","IPCR":"Units","IPCY":"Units","IPCZ":"Units","IPDE":"Units","IPDK":"Units","IPEE":"Units","IPEG":"Units","IPES":"Units","IPEU":"Units","IPFI":"Units","IPFR":"Units","IPGR":"Units","IPHK":"Units","IPHR":"Units","IPHU":"Units","IPID":"Units","IPIE":"Units","IPIL":"Units","IPIN":"Units","IPIT":"Units","IPJO":"Units","IPJP":"Units","IPKR":"Units","IPKZ":"Units","IPLT":"Units","IPLU":"Units","IPLV":"Units","IPMA":"Units","IPME":"Units","IPMK":"Units","IPMT":"Units","IPMX":"Units","IPMY":"Units","IPNL":"Units","IPNO":"Units","IPPA":"Units","IPPH":"Units","IPPK":"Units","IPPL":"Units","IPPT":"Units","IPQA":"Units","IPRO":"Units","IPRS":"Units","IPRU":"Units","IPSA":"Units","IPSE":"Units","IPSG":"Units","IPSI":"Units","IPSK":"Units","IPTH":"Units","IPTR":"Units","IPTW":"Units","IPUA":"Units","IPUK":"Units","IPUS":"Units","IPUY":"Units","IPVN":"Units","IPZA":"Units","JHRUS":"Units","JLRUS":"Units","JQRUS":"Units","JVRAT":"Units","JVRBE":"Units","JVRBG":"Units","JVRCH":"Units","JVRCY":"Units","JVRCZ":"Units","JVRDE":"Units","JVREA":"Units","JVREE":"Units","JVRES":"Units","JVREU":"Units","JVRFI":"Units","JVRGR":"Units","JVRHR":"Units","JVRHU":"Units","JVRIE":"Units","JVRIT":"Units","JVRLT":"Units","JVRLU":"Units","JVRLV":"Units","JVRMK":"Units","JVRMT":"Units","JVRNL":"Units","JVRNO":"Units","JVRPL":"Units","JVRPT":"Units","JVRRO":"Units","JVRSE":"Units","JVRSI":"Units","JVRSK":"Units","JVRUK":"Units","JVRUS":"Units","KABE":"Millions","KABG":"Millions","KACN":"Hundreds Millions","KACZ":"Millions","KADE":"Millions","KADK":"Millions","KAEE":"Millions","KAES":"Millions","KAFI":"Millions","KAFR":"Millions","KAGR":"Millions","KAHR":"Millions","KAHU":"Millions","KAIT":"Millions","KALT":"Millions","KALU":"Millions","KALV":"Millions","KAMT":"Millions","KANL":"Millions","KAPH":"Millions","KAPL":"Millions","KAPT":"Millions","KARO":"Millions","KASE":"Millions","KASI":"Millions","KASK":"Millions","LE00CN":"Units","LMICS":"Units","M3AR":"Millions","M3AU":"Billions","M3BR":"Thousands","M3BY":"Millions","M3CA":"Millions","M3CH":"Millions","M3CL":"Billions","M3CN":"Hundreds Millions","M3CR":"Millions","M3EA":"Millions","M3HU":"Billions","M3ID":"Billions","M3IN":"Units","M3JP":"Hundreds Millions","M3KR":"Billions","M3KZ":"Millions","M3MA":"Millions","M3MX":"Thousands","M3MY":"Millions","M3NO":"Millions","M3NP":"Millions","M3PH":"Millions","M3PL":"Millions","M3RU":"Billions","M3SA":"Millions","M3SG":"Millions","M3TH":"Billions","M3TN":"Millions","M3TR":"Thousands","M3UA":"Millions","M3UK":"Millions","M3US":"Billions","M3UY":"Millions","M3YDAE":"Units","M3YDAU":"Units","M3YDCA":"Units","M3YDCN":"Units","M3YDCZ":"Units","M3YDDK":"Units","M3YDEA":"Units","M3YDHK":"Units","M3YDHR":"Units","M3YDHU":"Units","M3YDID":"Units","M3YDIN":"Units","M3YDJP":"Units","M3YDKR":"Units","M3YDMO":"Units","M3YDMX":"Units","M3YDMY":"Units","M3YDNP":"Units","M3YDNZ":"Units","M3YDPA":"Units","M3YDPH":"Units","M3YDPL":"Units","M3YDQA":"Units","M3YDRO":"Units","M3YDRU":"Units","M3YDSA":"Units","M3YDSE":"Units","M3YDSG":"Units","M3YDTH":"Units","M3YDTR":"Units","M3YDUA":"Units","M3YDUK":"Units","M3YDUS":"Units","M3YDVN":"Units","M3YDZA":"Units","M3ZA":"Millions","MBAR":"Millions","MBAU":"Billions","MBBR":"Thousands","MBCH":"Millions","MBCN":"Hundreds Millions","MBEG":"Millions","MBIN":"Units","MBJP":"Hundreds Millions","MBKR":"Billions","MBMX":"Thousands","MBMY":"Millions","MBNO":"Millions","MBRU":"Billions","MBSA":"Millions","MBTH":"Billions","MBTR":"Thousands","MBUA":"Millions","MBUK":"Millions","MBUS":"Billions","NCTBE":"Millions","NCTBG":"Millions","NCTCN":"Hundreds Millions","NCTCZ":"Millions","NCTDE":"Millions","NCTDK":"Millions","NCTEE":"Millions","NCTES":"Millions","NCTFI":"Millions","NCTFR":"Millions","NCTGR":"Millions","NCTHR":"Millions","NCTHU":"Millions","NCTIT":"Millions","NCTLT":"Millions","NCTLU":"Millions","NCTLV":"Millions","NCTMT":"Millions","NCTMX":"Millions","NCTNL":"Millions","NCTPH":"Millions","NCTPL":"Millions","NCTPT":"Millions","NCTRO":"Millions","NCTSE":"Millions","NCTSI":"Millions","NCTSK":"Millions","NFCIAT":"Units","NFCIBE":"Units","NFCICZ":"Units","NFCIDE":"Units","NFCIDK":"Units","NFCIEE":"Units","NFCIES":"Units","NFCIEU":"Units","NFCIFI":"Units","NFCIFR":"Units","NFCIGR":"Units","NFCIHU":"Units","NFCIIE":"Units","NFCIIT":"Units","NFCINL":"Units","NFCINO":"Units","NFCIPL":"Units","NFCIPT":"Units","NFCIRO":"Units","NFCISE":"Units","NFCIUK":"Units","NFCLOANBG":"Units","NFCLOANCY":"Units","NFCLOANEE":"Units","NFCLOANHR":"Units","NFCLOANLT":"Units","NFCLOANLV":"Units","NFCLOANMT":"Units","NFCLOANRO":"Units","NFCLOANSI":"Units","NFCLOANSK":"Units","NIIPAL":"Millions","NIIPAR":"Millions","NIIPAT":"Millions","NIIPAU":"Millions","NIIPBA":"Millions","NIIPBD":"Millions","NIIPBE":"Millions","NIIPBG":"Millions","NIIPBR":"Millions","NIIPCA":"Millions","NIIPCH":"Millions","NIIPCL":"Millions","NIIPCN":"Hundreds Millions","NIIPCO":"Millions","NIIPCY":"Millions","NIIPCZ":"Millions","NIIPDE":"Millions","NIIPDK":"Millions","NIIPEE":"Millions","NIIPEG":"Millions","NIIPES":"Millions","NIIPFI":"Millions","NIIPFR":"Millions","NIIPGR":"Millions","NIIPHK":"Millions","NIIPHR":"Millions","NIIPHU":"Millions","NIIPID":"Millions","NIIPIE":"Millions","NIIPIL":"Millions","NIIPIN":"Millions","NIIPIS":"Millions","NIIPIT":"Millions","NIIPJP":"Billions","NIIPKH":"Billions","NIIPKR":"Millions","NIIPLT":"Millions","NIIPLU":"Millions","NIIPLV":"Millions","NIIPMK":"Millions","NIIPMT":"Millions","NIIPMX":"Millions","NIIPMY":"Millions","NIIPNL":"Millions","NIIPNO":"Millions","NIIPNP":"Millions","NIIPPH":"Millions","NIIPPK":"Millions","NIIPPL":"Millions","NIIPPT":"Millions","NIIPRO":"Millions","NIIPRS":"Millions","NIIPRU":"Millions","NIIPSA":"Millions","NIIPSE":"Millions","NIIPSG":"Millions","NIIPSI":"Millions","NIIPSK":"Millions","NIIPTH":"Millions","NIIPTR":"Millions","NIIPTW":"Millions","NIIPUA":"Millions","NIIPUK":"Millions","NIIPUS":"Billions","NIIPXK":"Millions","NIIPZA":"Billions","NPLAR":"Units","NPLAT":"Units","NPLAU":"Units","NPLBE":"Units","NPLBR":"Units","NPLCN":"Units","NPLDK":"Units","NPLES":"Units","NPLFI":"Units","NPLFR":"Units","NPLHK":"Units","NPLID":"Units","NPLIE":"Units","NPLIN":"Units","NPLIT":"Units","NPLJP":"Units","NPLLU":"Units","NPLMX":"Units","NPLNL":"Units","NPLNO":"Units","NPLPL":"Units","NPLRU":"Units","NPLSA":"Units","NPLSE":"Units","NPLSG":"Units","NPLTR":"Units","NPLUS":"Units","NPLZA":"Units","NYBE":"Millions","NYBG":"Millions","NYCN":"Hundreds Millions","NYCZ":"Millions","NYDE":"Millions","NYDK":"Millions","NYEE":"Millions","NYES":"Millions","NYFI":"Millions","NYFR":"Millions","NYGR":"Millions","NYHR":"Millions","NYHU":"Millions","NYIT":"Millions","NYLT":"Millions","NYLU":"Millions","NYLV":"Millions","NYMT":"Millions","NYMX":"Millions","NYNL":"Millions","NYPH":"Millions","NYPL":"Millions","NYPT":"Millions","NYRO":"Millions","NYSE":"Millions","NYSI":"Millions","NYSK":"Millions","OILDEMAE":"Thousands","OILDEMAL":"Thousands","OILDEMAM":"Thousands","OILDEMAO":"Thousands","OILDEMAR":"Thousands","OILDEMAT":"Thousands","OILDEMAU":"Thousands","OILDEMAZ":"Thousands","OILDEMBB":"Thousands","OILDEMBD":"Thousands","OILDEMBE":"Thousands","OILDEMBG":"Thousands","OILDEMBH":"Thousands","OILDEMBM":"Thousands","OILDEMBN":"Thousands","OILDEMBO":"Thousands","OILDEMBR":"Thousands","OILDEMBY":"Thousands","OILDEMBZ":"Thousands","OILDEMCA":"Thousands","OILDEMCH":"Thousands","OILDEMCL":"Thousands","OILDEMCN":"Thousands","OILDEMCO":"Thousands","OILDEMCR":"Thousands","OILDEMCU":"Thousands","OILDEMCY":"Thousands","OILDEMCZ":"Thousands","OILDEMDE":"Thousands","OILDEMDK":"Thousands","OILDEMDO":"Thousands","OILDEMDZ":"Thousands","OILDEMEC":"Thousands","OILDEMEE":"Thousands","OILDEMEG":"Thousands","OILDEMES":"Thousands","OILDEMFI":"Thousands","OILDEMFR":"Thousands","OILDEMGA":"Thousands","OILDEMGD":"Thousands","OILDEMGE":"Thousands","OILDEMGM":"Thousands","OILDEMGQ":"Thousands","OILDEMGR":"Thousands","OILDEMGT":"Thousands","OILDEMGY":"Thousands","OILDEMHK":"Thousands","OILDEMHN":"Thousands","OILDEMHR":"Thousands","OILDEMHT":"Thousands","OILDEMHU":"Thousands","OILDEMID":"Thousands","OILDEMIE":"Thousands","OILDEMIN":"Thousands","OILDEMIQ":"Thousands","OILDEMIR":"Thousands","OILDEMIS":"Thousands","OILDEMIT":"Thousands","OILDEMJM":"Thousands","OILDEMJP":"Thousands","OILDEMKR":"Thousands","OILDEMKW":"Thousands","OILDEMKZ":"Thousands","OILDEMLT":"Thousands","OILDEMLU":"Thousands","OILDEMLV":"Thousands","OILDEMLY":"Thousands","OILDEMMA":"Thousands","OILDEMMD":"Thousands","OILDEMMK":"Thousands","OILDEMMM":"Thousands","OILDEMMT":"Thousands","OILDEMMU":"Thousands","OILDEMMX":"Thousands","OILDEMMY":"Thousands","OILDEMNE":"Thousands","OILDEMNG":"Thousands","OILDEMNI":"Thousands","OILDEMNL":"Thousands","OILDEMNO":"Thousands","OILDEMNP":"Thousands","OILDEMNZ":"Thousands","OILDEMOM":"Thousands","OILDEMPA":"Thousands","OILDEMPE":"Thousands","OILDEMPG":"Thousands","OILDEMPH":"Thousands","OILDEMPL":"Thousands","OILDEMPT":"Thousands","OILDEMPY":"Thousands","OILDEMQA":"Thousands","OILDEMRO":"Thousands","OILDEMRU":"Thousands","OILDEMSA":"Thousands","OILDEMSD":"Thousands","OILDEMSE":"Thousands","OILDEMSG":"Thousands","OILDEMSI":"Thousands","OILDEMSK":"Thousands","OILDEMSR":"Thousands","OILDEMSV":"Thousands","OILDEMSY":"Thousands","OILDEMSZ":"Thousands","OILDEMTH":"Thousands","OILDEMTJ":"Thousands","OILDEMTN":"Thousands","OILDEMTR":"Thousands","OILDEMTT":"Thousands","OILDEMTW":"Thousands","OILDEMUA":"Thousands","OILDEMUK":"Thousands","OILDEMUS":"Thousands","OILDEMUY":"Thousands","OILDEMVE":"Thousands","OILDEMVN":"Thousands","OILDEMYE":"Thousands","OILDEMZA":"Thousands","OILPRODAE":"Thousands","OILPRODAL":"Thousands","OILPRODAM":"Thousands","OILPRODAO":"Thousands","OILPRODAR":"Thousands","OILPRODAT":"Thousands","OILPRODAU":"Thousands","OILPRODAZ":"Thousands","OILPRODBB":"Thousands","OILPRODBD":"Thousands","OILPRODBE":"Thousands","OILPRODBG":"Thousands","OILPRODBH":"Thousands","OILPRODBM":"Thousands","OILPRODBN":"Thousands","OILPRODBO":"Thousands","OILPRODBR":"Thousands","OILPRODBY":"Thousands","OILPRODBZ":"Thousands","OILPRODCA":"Thousands","OILPRODCH":"Thousands","OILPRODCL":"Thousands","OILPRODCN":"Thousands","OILPRODCO":"Thousands","OILPRODCR":"Thousands","OILPRODCU":"Thousands","OILPRODCY":"Thousands","OILPRODCZ":"Thousands","OILPRODDE":"Thousands","OILPRODDK":"Thousands","OILPRODDO":"Thousands","OILPRODDZ":"Thousands","OILPRODEC":"Thousands","OILPRODEE":"Thousands","OILPRODEG":"Thousands","OILPRODES":"Thousands","OILPRODFI":"Thousands","OILPRODFR":"Thousands","OILPRODGA":"Thousands","OILPRODGD":"Thousands","OILPRODGE":"Thousands","OILPRODGM":"Thousands","OILPRODGQ":"Thousands","OILPRODGR":"Thousands","OILPRODGT":"Thousands","OILPRODGY":"Thousands","OILPRODHK":"Thousands","OILPRODHN":"Thousands","OILPRODHR":"Thousands","OILPRODHT":"Thousands","OILPRODHU":"Thousands","OILPRODID":"Thousands","OILPRODIE":"Thousands","OILPRODIN":"Thousands","OILPRODIQ":"Thousands","OILPRODIR":"Thousands","OILPRODIS":"Thousands","OILPRODIT":"Thousands","OILPRODJM":"Thousands","OILPRODJP":"Thousands","OILPRODKR":"Thousands","OILPRODKW":"Thousands","OILPRODKZ":"Thousands","OILPRODLT":"Thousands","OILPRODLU":"Thousands","OILPRODLV":"Thousands","OILPRODLY":"Thousands","OILPRODMA":"Thousands","OILPRODMD":"Thousands","OILPRODMK":"Thousands","OILPRODMM":"Thousands","OILPRODMT":"Thousands","OILPRODMU":"Thousands","OILPRODMX":"Thousands","OILPRODMY":"Thousands","OILPRODNE":"Thousands","OILPRODNG":"Thousands","OILPRODNI":"Thousands","OILPRODNL":"Thousands","OILPRODNO":"Thousands","OILPRODNP":"Thousands","OILPRODNZ":"Thousands","OILPRODOM":"Thousands","OILPRODPA":"Thousands","OILPRODPE":"Thousands","OILPRODPG":"Thousands","OILPRODPH":"Thousands","OILPRODPL":"Thousands","OILPRODPT":"Thousands","OILPRODPY":"Thousands","OILPRODQA":"Thousands","OILPRODRO":"Thousands","OILPRODRU":"Thousands","OILPRODSA":"Thousands","OILPRODSD":"Thousands","OILPRODSE":"Thousands","OILPRODSG":"Thousands","OILPRODSI":"Thousands","OILPRODSK":"Thousands","OILPRODSR":"Thousands","OILPRODSV":"Thousands","OILPRODSY":"Thousands","OILPRODSZ":"Thousands","OILPRODTH":"Thousands","OILPRODTJ":"Thousands","OILPRODTN":"Thousands","OILPRODTR":"Thousands","OILPRODTT":"Thousands","OILPRODTW":"Thousands","OILPRODUA":"Thousands","OILPRODUK":"Thousands","OILPRODUS":"Thousands","OILPRODUY":"Thousands","OILPRODVE":"Thousands","OILPRODVN":"Thousands","OILPRODYE":"Thousands","OILPRODZA":"Thousands","PALUM":"Units","PAPPLE":"Units","PARTCO":"Units","PARTDO":"Units","PARTLK":"Units","PARTNZ":"Units","PARTTR":"Units","PBANSOP":"Units","PBARL":"Units","PBEEF":"Units","PCEUS":"Units","PCHANA":"Units","PCHROM":"Units","PCOALAU":"Units","PCOALSA":"Units","PCOBA":"Units","PCOCO":"Units","PCOFFOTM":"Units","PCOFFROB":"Units","PCOIL":"Units","PCOPP":"Units","PCOTTIND":"Units","PDAP":"Units","PFSHMEAL":"Units","PGASO":"Units","PGNUTS":"Units","PGOLD":"Units","PHEATOIL":"Units","PHIDE":"Units","PIORECR":"Units","PLAMB":"Units","PLEAD":"Units","PLITH":"Units","PLMMODY":"Units","PLOGORE":"Units","PLOGSK":"Units","PMAIZMT":"Units","PMANGELE":"Units","PMILK":"Units","PNGASEU":"Units","PNGASJP":"Units","PNGASUS":"Units","PNICK":"Units","POATS":"Units","POILAPSP":"Units","POILBRE":"Units","POILDUB":"Units","POILWTI":"Units","POLIRAR":"Units","POLIRAU":"Units","POLIRAZ":"Units","POLIRBR":"Units","POLIRCA":"Units","POLIRCH":"Units","POLIRCL":"Units","POLIRCN":"Units","POLIRCO":"Units","POLIRCZ":"Units","POLIRDK":"Units","POLIREA":"Units","POLIRHK":"Units","POLIRHR":"Units","POLIRHU":"Units","POLIRID":"Units","POLIRIL":"Units","POLIRIN":"Units","POLIRIS":"Units","POLIRJP":"Units","POLIRKR":"Units","POLIRMK":"Units","POLIRMO":"Units","POLIRMX":"Units","POLIRMY":"Units","POLIRNO":"Units","POLIRNP":"Units","POLIRNZ":"Units","POLIRPE":"Units","POLIRPH":"Units","POLIRPL":"Units","POLIRPY":"Units","POLIRQA":"Units","POLIRRO":"Units","POLIRRS":"Units","POLIRRU":"Units","POLIRSA":"Units","POLIRSE":"Units","POLIRSG":"Units","POLIRTH":"Units","POLIRTN":"Units","POLIRTR":"Units","POLIRTW":"Units","POLIRUA":"Units","POLIRUK":"Units","POLIRUS":"Units","POLIRUZ":"Units","POLIRZA":"Units","POLVOIL":"Units","POPAD":"Units","POPAE":"Units","POPAL":"Units","POPAM":"Units","POPAR":"Units","POPAT":"Units","POPAU":"Thousands","POPAZ":"Thousands","POPBD":"Millions","POPBE":"Units","POPBG":"Units","POPBO":"Units","POPBR":"Thousands","POPBY":"Units","POPCA":"Units","POPCD":"Units","POPCH":"Thousands","POPCL":"Units","POPCN":"Tens thousands","POPCO":"Units","POPCR":"Units","POPCY":"Units","POPCZ":"Units","POPDE":"Units","POPDK":"Units","POPDO":"Units","POPDZ":"Units","POPEC":"Units","POPEE":"Units","POPEG":"Units","POPES":"Units","POPET":"Units","POPEU":"Units","POPFI":"Units","POPFR":"Units","POPGE":"Units","POPGR":"Units","POPGT":"Units","POPHK":"Units","POPHR":"Units","POPHU":"Units","POPID":"Units","POPIE":"Units","POPIL":"Thousands","POPIN":"Units","POPIQ":"Units","POPIR":"Units","POPIS":"Units","POPIT":"Units","POPJO":"Units","POPJP":"Tens thousands","POPKG":"Units","POPKH":"Units","POPKR":"Units","POPKW":"Units","POPKZ":"Units","POPLB":"Units","POPLI":"Units","POPLK":"Units","POPLT":"Units","POPLU":"Units","POPLV":"Units","POPLY":"Units","POPMA":"Units","POPMD":"Units","POPME":"Units","POPMK":"Units","POPMM":"Units","POPMO":"Units","POPMT":"Units","POPMX":"Units","POPMY":"Thousands","POPNG":"Units","POPNI":"Units","POPNL":"Units","POPNO":"Units","POPNZ":"Units","POPPH":"Units","POPPL":"Units","POPPT":"Units","POPPY":"Units","POPQA":"Units","POPRO":"Units","POPRS":"Units","POPRU":"Millions","POPSA":"Units","POPSD":"Units","POPSE":"Units","POPSG":"Units","POPSI":"Units","POPSK":"Units","POPSM":"Units","POPSN":"Units","POPSV":"Units","POPTH":"Units","POPTJ":"Units","POPTM":"Units","POPTN":"Units","POPTR":"Units","POPTW":"Thousands","POPUA":"Units","POPUK":"Units","POPUS":"Units","POPUY":"Units","POPUZ":"Thousands","POPVE":"Units","POPVN":"Thousands","POPXK":"Units","POPZA":"Thousands","PORANG":"Units","PPALLA":"Units","PPIAL":"Units","PPIAR":"Units","PPIAT":"Units","PPIAU":"Units","PPIBD":"Units","PPIBE":"Units","PPIBG":"Units","PPIBR":"Units","PPIBY":"Units","PPICA":"Units","PPICH":"Units","PPICL":"Units","PPICN":"Units","PPICO":"Units","PPICR":"Units","PPICY":"Units","PPICZ":"Units","PPIDE":"Units","PPIDK":"Units","PPIEE":"Units","PPIEG":"Units","PPIES":"Units","PPIEU":"Units","PPIFI":"Units","PPIFR":"Units","PPIGR":"Units","PPIHK":"Units","PPIHR":"Units","PPIHU":"Units","PPIID":"Units","PPIIE":"Units","PPIIL":"Units","PPIIN":"Units","PPIIT":"Units","PPIJO":"Units","PPIJP":"Units","PPIKR":"Units","PPIKZ":"Units","PPILT":"Units","PPILU":"Units","PPILV":"Units","PPIMA":"Units","PPIME":"Units","PPIMK":"Units","PPIMT":"Units","PPIMX":"Units","PPIMY":"Units","PPINL":"Units","PPINO":"Units","PPIPA":"Units","PPIPE":"Units","PPIPH":"Units","PPIPK":"Units","PPIPL":"Units","PPIPT":"Units","PPIQA":"Units","PPIRO":"Units","PPIRS":"Units","PPIRU":"Units","PPISA":"Units","PPISE":"Units","PPISG":"Units","PPISI":"Units","PPISK":"Units","PPISV":"Units","PPITH":"Units","PPITN":"Units","PPITR":"Units","PPITW":"Units","PPIUA":"Units","PPIUK":"Units","PPIUS":"Units","PPIUY":"Units","PPIVN":"Units","PPIZA":"Units","PPLAT":"Units","PPOIL":"Units","PPORK":"Units","PPOTASH":"Units","PPOULT":"Units","PPROPANE":"Units","PRCAE":"Millions","PRCAR":"Millions","PRCAT":"Millions","PRCAU":"Millions","PRCAZ":"Millions","PRCBD":"Millions","PRCBE":"Millions","PRCBG":"Millions","PRCBR":"Millions","PRCBW":"Millions","PRCBY":"Millions","PRCCA":"Millions","PRCCH":"Millions","PRCCL":"Billions","PRCCN":"Hundreds Millions","PRCCO":"Billions","PRCCY":"Millions","PRCCZ":"Millions","PRCDE":"Millions","PRCDK":"Millions","PRCEA":"Millions","PRCEE":"Millions","PRCES":"Millions","PRCEU":"Millions","PRCFI":"Millions","PRCFR":"Millions","PRCGR":"Millions","PRCHK":"Millions","PRCHR":"Millions","PRCHU":"Millions","PRCID":"Billions","PRCIE":"Millions","PRCIL":"Millions","PRCIN":"Tens Millions","PRCIR":"Billions","PRCIT":"Millions","PRCJP":"Billions","PRCKR":"Billions","PRCKZ":"Millions","PRCLT":"Millions","PRCLU":"Millions","PRCLV":"Millions","PRCMA":"Millions","PRCME":"Millions","PRCMK":"Millions","PRCMN":"Millions","PRCMT":"Millions","PRCMX":"Millions","PRCMY":"Millions","PRCNG":"Millions","PRCNL":"Millions","PRCNO":"Millions","PRCNZ":"Millions","PRCPE":"Millions","PRCPH":"Millions","PRCPK":"Millions","PRCPL":"Millions","PRCPT":"Millions","PRCQA":"Millions","PRCRO":"Millions","PRCRS":"Millions","PRCRU":"Billions","PRCSA":"Millions","PRCSE":"Millions","PRCSG":"Millions","PRCSI":"Millions","PRCSK":"Millions","PRCTH":"Millions","PRCTR":"Thousands","PRCTW":"Millions","PRCUA":"Millions","PRCUK":"Millions","PRCUS":"Millions","PRCVN":"Billions","PRCZA":"Millions","PREODOM":"Units","PRICENPQ":"Units","PRIDEBTBG":"Units","PRIDEBTCY":"Units","PRIDEBTEE":"Units","PRIDEBTHR":"Units","PRIDEBTLT":"Units","PRIDEBTLV":"Units","PRIDEBTMT":"Units","PRIDEBTRO":"Units","PRIDEBTSI":"Units","PRIDEBTSK":"Units","PROIL":"Units","PRUBB":"Units","PSALM":"Units","PSAWMAL":"Units","PSAWORE":"Units","PSHRI":"Units","PSILLUMP":"Units","PSILVER":"Units","PSMEA":"Units","PSOIL":"Units","PSORG":"Units","PSOYB":"Units","PSUGAISA":"Units","PSUGAUSA":"Units","PSUNO":"Units","PTEA":"Units","PTEAINDIA":"Units","PTEAMOM":"Units","PTEASL":"Units","PTIN":"Units","PTOMATO":"Units","PUCAE":"Millions","PUCAL":"Millions","PUCAR":"Millions","PUCAT":"Millions","PUCAU":"Millions","PUCAZ":"Millions","PUCBD":"Millions","PUCBE":"Millions","PUCBG":"Millions","PUCBR":"Millions","PUCBW":"Millions","PUCBY":"Millions","PUCCA":"Millions","PUCCH":"Millions","PUCCL":"Billions","PUCCM":"Billions","PUCCN":"Hundreds Millions","PUCCO":"Billions","PUCCY":"Millions","PUCCZ":"Millions","PUCDE":"Millions","PUCDK":"Millions","PUCEA":"Millions","PUCEE":"Millions","PUCES":"Millions","PUCEU":"Millions","PUCFI":"Millions","PUCFR":"Millions","PUCGR":"Millions","PUCHK":"Millions","PUCHR":"Millions","PUCHU":"Millions","PUCID":"Billions","PUCIE":"Millions","PUCIL":"Millions","PUCIN":"Tens Millions","PUCIR":"Billions","PUCIT":"Millions","PUCJP":"Billions","PUCKR":"Billions","PUCKZ":"Millions","PUCLT":"Millions","PUCLU":"Millions","PUCLV":"Millions","PUCMA":"Millions","PUCME":"Millions","PUCMK":"Millions","PUCMT":"Millions","PUCMX":"Millions","PUCMY":"Millions","PUCNG":"Millions","PUCNL":"Millions","PUCNO":"Millions","PUCNZ":"Millions","PUCPE":"Millions","PUCPH":"Millions","PUCPK":"Millions","PUCPL":"Millions","PUCPT":"Millions","PUCQA":"Millions","PUCRO":"Millions","PUCRS":"Millions","PUCRU":"Billions","PUCSA":"Millions","PUCSE":"Millions","PUCSG":"Millions","PUCSI":"Millions","PUCSK":"Millions","PUCTH":"Millions","PUCTR":"Thousands","PUCTW":"Millions","PUCUA":"Millions","PUCUK":"Millions","PUCUS":"Millions","PUCVN":"Billions","PUCZA":"Millions","PURAN":"Units","PUREA":"Units","PVANPENT":"Units","PWHEAMT":"Units","PWOOLC":"Units","PWOOLF":"Units","PZINC":"Units","RCIAE":"Millions","RCIAR":"Millions","RCIAU":"Millions","RCIAZ":"Millions","RCIBW":"Millions","RCIBY":"Millions","RCICN":"Hundreds Millions","RCIHK":"Millions","RCIIN":"Tens Millions","RCIIR":"Billions","RCIKH":"Billions","RCIKR":"Billions","RCIMN":"Millions","RCIMO":"Millions","RCIMY":"Millions","RCING":"Millions","RCINO":"Millions","RCINZ":"Millions","RCIPA":"Millions","RCIPH":"Millions","RCIPK":"Millions","RCISA":"Millions","RCISG":"Millions","RCITH":"Millions","RCITW":"Millions","RCIUA":"Millions","RCIUK":"Millions","RCIUS":"Millions","RCIVN":"Billions","RCIZA":"Millions","RCONAE":"Millions","RCONAL":"Millions","RCONAT":"Millions","RCONBA":"Millions","RCONBD":"Millions","RCONBE":"Millions","RCONBG":"Millions","RCONBY":"Millions","RCONCA":"Millions","RCONCH":"Millions","RCONCL":"Billions","RCONCY":"Millions","RCONCZ":"Millions","RCONDE":"Millions","RCONDK":"Millions","RCONEA":"Millions","RCONEE":"Millions","RCONES":"Millions","RCONEU":"Millions","RCONFI":"Millions","RCONFR":"Millions","RCONGR":"Millions","RCONHR":"Millions","RCONHU":"Millions","RCONIE":"Millions","RCONIT":"Millions","RCONKR":"Billions","RCONLT":"Millions","RCONLU":"Millions","RCONLV":"Millions","RCONMK":"Millions","RCONMT":"Millions","RCONMX":"Millions","RCONNL":"Millions","RCONNO":"Millions","RCONPL":"Millions","RCONPT":"Millions","RCONRO":"Millions","RCONRS":"Millions","RCONSE":"Millions","RCONSI":"Millions","RCONSK":"Millions","RCONTH":"Millions","RCONUA":"Millions","RCONUK":"Millions","REERAE":"Units","REERAR":"Units","REERAT":"Units","REERAU":"Units","REERAZ":"Units","REERBE":"Units","REERBG":"Units","REERBR":"Units","REERCA":"Units","REERCH":"Units","REERCL":"Units","REERCN":"Units","REERCO":"Units","REERCY":"Units","REERCZ":"Units","REERDE":"Units","REERDK":"Units","REERDZ":"Units","REEREA":"Units","REEREE":"Units","REERES":"Units","REERFI":"Units","REERFR":"Units","REERGR":"Units","REERHK":"Units","REERHR":"Units","REERHU":"Units","REERID":"Units","REERIE":"Units","REERIL":"Units","REERIN":"Units","REERIS":"Units","REERIT":"Units","REERJP":"Units","REERKR":"Units","REERLT":"Units","REERLU":"Units","REERLV":"Units","REERMT":"Units","REERMX":"Units","REERMY":"Units","REERNL":"Units","REERNO":"Units","REERNZ":"Units","REERPE":"Units","REERPH":"Units","REERPL":"Units","REERPT":"Units","REERPY":"Units","REERRO":"Units","REERRS":"Units","REERRU":"Units","REERSA":"Units","REERSE":"Units","REERSG":"Units","REERSI":"Units","REERSK":"Units","REERTH":"Units","REERTR":"Units","REERTW":"Units","REERUK":"Units","REERUS":"Units","REERZA":"Units","RETAAL":"Units","RETAAR":"Thousands","RETAAT":"Units","RETAAU":"Millions","RETAAZ":"Units","RETABA":"Units","RETABE":"Units","RETABG":"Units","RETABR":"Units","RETACA":"Thousands","RETACH":"Units","RETACN":"Hundreds Millions","RETACO":"Units","RETACY":"Units","RETACZ":"Units","RETADE":"Units","RETADK":"Units","RETAEE":"Units","RETAES":"Units","RETAEU":"Units","RETAFI":"Units","RETAFR":"Units","RETAGR":"Units","RETAHK":"Units","RETAHR":"Units","RETAHU":"Units","RETAID":"Units","RETAIE":"Units","RETAIL":"Units","RETAIR":"Billions","RETAIT":"Units","RETAJP":"Units","RETAKR":"Units","RETALT":"Units","RETALU":"Units","RETALV":"Units","RETAME":"Units","RETAMK":"Units","RETAMT":"Units","RETAMX":"Units","RETAMY":"Units","RETANL":"Units","RETANO":"Units","RETANZ":"Millions","RETAPL":"Units","RETAPT":"Units","RETARO":"Units","RETARS":"Units","RETARU":"Units","RETASE":"Units","RETASG":"Units","RETASI":"Units","RETASK":"Units","RETATH":"Units","RETATR":"Units","RETATW":"Units","RETAUK":"Units","RETAUS":"Units","RETAVN":"Units","RETAZA":"Units","REXPAE":"Millions","REXPAL":"Millions","REXPAR":"Millions","REXPAT":"Millions","REXPAU":"Millions","REXPAZ":"Millions","REXPBA":"Millions","REXPBD":"Millions","REXPBE":"Millions","REXPBG":"Millions","REXPBR":"Millions","REXPBW":"Millions","REXPBY":"Millions","REXPCA":"Millions","REXPCH":"Millions","REXPCL":"Billions","REXPCN":"Tens thousands","REXPCO":"Billions","REXPCY":"Millions","REXPCZ":"Millions","REXPDE":"Millions","REXPDK":"Millions","REXPEA":"Millions","REXPEE":"Millions","REXPES":"Millions","REXPEU":"Millions","REXPFI":"Millions","REXPFR":"Millions","REXPGR":"Millions","REXPHK":"Millions","REXPHN":"Millions","REXPHR":"Millions","REXPHU":"Millions","REXPID":"Billions","REXPIE":"Millions","REXPIL":"Millions","REXPIN":"Tens Millions","REXPIR":"Billions","REXPIT":"Millions","REXPJP":"Billions","REXPKH":"Billions","REXPKR":"Billions","REXPLT":"Millions","REXPLU":"Millions","REXPLV":"Millions","REXPMA":"Millions","REXPMK":"Millions","REXPMN":"Millions","REXPMO":"Millions","REXPMT":"Millions","REXPMX":"Millions","REXPMY":"Millions","REXPNG":"Millions","REXPNL":"Millions","REXPNO":"Millions","REXPNZ":"Millions","REXPPA":"Millions","REXPPE":"Millions","REXPPH":"Millions","REXPPK":"Millions","REXPPL":"Millions","REXPPT":"Millions","REXPRO":"Millions","REXPRS":"Millions","REXPRU":"Billions","REXPRW":"Billions","REXPSA":"Millions","REXPSE":"Millions","REXPSG":"Millions","REXPSI":"Millions","REXPSK":"Millions","REXPTH":"Millions","REXPTR":"Thousands","REXPTW":"Millions","REXPUA":"Millions","REXPUK":"Millions","REXPUS":"Millions","REXPUZ":"Billions","REXPZA":"Millions","RGCFAT":"Millions","RGCFBA":"Millions","RGCFBE":"Millions","RGCFBG":"Millions","RGCFBY":"Millions","RGCFCH":"Millions","RGCFCO":"Billions","RGCFCY":"Millions","RGCFCZ":"Millions","RGCFDE":"Millions","RGCFDK":"Millions","RGCFEA":"Millions","RGCFEE":"Millions","RGCFES":"Millions","RGCFEU":"Millions","RGCFFI":"Millions","RGCFFR":"Millions","RGCFGR":"Millions","RGCFHR":"Millions","RGCFHU":"Millions","RGCFIE":"Millions","RGCFIT":"Millions","RGCFKR":"Billions","RGCFLT":"Millions","RGCFLU":"Millions","RGCFLV":"Millions","RGCFMK":"Millions","RGCFMT":"Millions","RGCFNL":"Millions","RGCFNO":"Millions","RGCFNZ":"Millions","RGCFPE":"Millions","RGCFPK":"Millions","RGCFPL":"Millions","RGCFPT":"Millions","RGCFRO":"Millions","RGCFRS":"Millions","RGCFRU":"Billions","RGCFRW":"Billions","RGCFSE":"Millions","RGCFSI":"Millions","RGCFSK":"Millions","RGCFUA":"Millions","RGCFUK":"Millions","RGDPAE":"Millions","RGDPAL":"Millions","RGDPAR":"Millions","RGDPAT":"Millions","RGDPAU":"Millions","RGDPAZ":"Millions","RGDPBA":"Millions","RGDPBD":"Millions","RGDPBE":"Millions","RGDPBG":"Millions","RGDPBR":"Millions","RGDPBW":"Millions","RGDPBY":"Millions","RGDPCA":"Millions","RGDPCH":"Millions","RGDPCL":"Billions","RGDPCM":"Billions","RGDPCN":"Hundreds Millions","RGDPCO":"Billions","RGDPCR":"Millions","RGDPCY":"Millions","RGDPCZ":"Millions","RGDPDE":"Millions","RGDPDK":"Millions","RGDPEA":"Millions","RGDPEE":"Millions","RGDPEG":"Millions","RGDPES":"Millions","RGDPEU":"Millions","RGDPFI":"Millions","RGDPFR":"Millions","RGDPGR":"Millions","RGDPHK":"Millions","RGDPHN":"Millions","RGDPHR":"Millions","RGDPHU":"Millions","RGDPID":"Billions","RGDPIE":"Millions","RGDPIL":"Millions","RGDPIN":"Tens Millions","RGDPIR":"Billions","RGDPIT":"Millions","RGDPJO":"Millions","RGDPJP":"Billions","RGDPKH":"Billions","RGDPKR":"Billions","RGDPKZ":"Billions","RGDPLA":"Billions","RGDPLT":"Millions","RGDPLU":"Millions","RGDPLV":"Millions","RGDPMA":"Millions","RGDPMK":"Millions","RGDPMN":"Millions","RGDPMO":"Millions","RGDPMT":"Millions","RGDPMX":"Millions","RGDPMY":"Millions","RGDPNG":"Thousands","RGDPNL":"Millions","RGDPNO":"Millions","RGDPNZ":"Millions","RGDPPA":"Millions","RGDPPCAL":"Units","RGDPPCAT":"Units","RGDPPCAU":"Units","RGDPPCBE":"Units","RGDPPCBG":"Units","RGDPPCBR":"Units","RGDPPCCH":"Units","RGDPPCCY":"Units","RGDPPCCZ":"Units","RGDPPCDE":"Units","RGDPPCDK":"Units","RGDPPCEA":"Units","RGDPPCEE":"Units","RGDPPCES":"Units","RGDPPCEU":"Units","RGDPPCFI":"Units","RGDPPCFR":"Units","RGDPPCGR":"Units","RGDPPCHR":"Units","RGDPPCHU":"Units","RGDPPCIE":"Units","RGDPPCIS":"Units","RGDPPCIT":"Units","RGDPPCLT":"Units","RGDPPCLU":"Units","RGDPPCLV":"Units","RGDPPCME":"Units","RGDPPCMK":"Units","RGDPPCMT":"Units","RGDPPCNL":"Units","RGDPPCNO":"Units","RGDPPCNZ":"Millions","RGDPPCPL":"Units","RGDPPCPT":"Units","RGDPPCRO":"Units","RGDPPCRS":"Units","RGDPPCSE":"Units","RGDPPCSI":"Units","RGDPPCSK":"Units","RGDPPCTR":"Units","RGDPPCUS":"Units","RGDPPE":"Millions","RGDPPH":"Millions","RGDPPK":"Millions","RGDPPL":"Millions","RGDPPT":"Millions","RGDPQA":"Millions","RGDPRO":"Millions","RGDPRS":"Millions","RGDPRU":"Billions","RGDPRW":"Billions","RGDPSA":"Millions","RGDPSE":"Millions","RGDPSG":"Millions","RGDPSI":"Millions","RGDPSK":"Millions","RGDPTH":"Millions","RGDPTN":"Millions","RGDPTR":"Thousands","RGDPTW":"Millions","RGDPUA":"Millions","RGDPUK":"Millions","RGDPUS":"Millions","RGDPUY":"Millions","RGDPUZ":"Billions","RGDPVN":"Billions","RGDPZA":"Millions","RGFCFAE":"Millions","RGFCFAL":"Millions","RGFCFAR":"Millions","RGFCFAT":"Millions","RGFCFAU":"Millions","RGFCFAZ":"Millions","RGFCFBA":"Millions","RGFCFBD":"Millions","RGFCFBE":"Millions","RGFCFBG":"Millions","RGFCFBR":"Millions","RGFCFBW":"Millions","RGFCFBY":"Millions","RGFCFCA":"Millions","RGFCFCH":"Millions","RGFCFCL":"Billions","RGFCFCN":"Units","RGFCFCO":"Billions","RGFCFCR":"Millions","RGFCFCY":"Millions","RGFCFCZ":"Millions","RGFCFDE":"Millions","RGFCFDK":"Millions","RGFCFEA":"Millions","RGFCFEE":"Millions","RGFCFES":"Millions","RGFCFEU":"Millions","RGFCFFI":"Millions","RGFCFFR":"Millions","RGFCFGR":"Millions","RGFCFHK":"Millions","RGFCFHN":"Millions","RGFCFHR":"Millions","RGFCFHU":"Millions","RGFCFID":"Billions","RGFCFIE":"Millions","RGFCFIL":"Millions","RGFCFIN":"Tens Millions","RGFCFIR":"Billions","RGFCFIT":"Millions","RGFCFJP":"Billions","RGFCFKH":"Billions","RGFCFKR":"Billions","RGFCFLT":"Millions","RGFCFLU":"Millions","RGFCFLV":"Millions","RGFCFMA":"Millions","RGFCFMN":"Millions","RGFCFMO":"Millions","RGFCFMT":"Millions","RGFCFMX":"Millions","RGFCFMY":"Millions","RGFCFNG":"Millions","RGFCFNL":"Millions","RGFCFNO":"Millions","RGFCFNZ":"Millions","RGFCFPH":"Millions","RGFCFPK":"Millions","RGFCFPL":"Millions","RGFCFPT":"Millions","RGFCFRO":"Millions","RGFCFRS":"Millions","RGFCFRU":"Billions","RGFCFSA":"Millions","RGFCFSE":"Millions","RGFCFSG":"Millions","RGFCFSI":"Millions","RGFCFSK":"Millions","RGFCFTH":"Millions","RGFCFTR":"Thousands","RGFCFTW":"Millions","RGFCFUA":"Millions","RGFCFUK":"Millions","RGFCFUS":"Millions","RGFCFVN":"Billions","RGFCFZA":"Millions","RIMPAE":"Millions","RIMPAL":"Millions","RIMPAR":"Millions","RIMPAT":"Millions","RIMPAU":"Millions","RIMPAZ":"Millions","RIMPBA":"Millions","RIMPBD":"Millions","RIMPBE":"Millions","RIMPBG":"Millions","RIMPBR":"Millions","RIMPBW":"Millions","RIMPBY":"Millions","RIMPCA":"Millions","RIMPCH":"Millions","RIMPCL":"Billions","RIMPCN":"Tens thousands","RIMPCO":"Billions","RIMPCY":"Millions","RIMPCZ":"Millions","RIMPDE":"Millions","RIMPDK":"Millions","RIMPEA":"Millions","RIMPEE":"Millions","RIMPES":"Millions","RIMPEU":"Millions","RIMPFI":"Millions","RIMPFR":"Millions","RIMPGR":"Millions","RIMPHK":"Millions","RIMPHN":"Millions","RIMPHR":"Millions","RIMPHU":"Millions","RIMPID":"Billions","RIMPIE":"Millions","RIMPIL":"Millions","RIMPIN":"Tens Millions","RIMPIR":"Billions","RIMPIT":"Millions","RIMPJP":"Billions","RIMPKH":"Billions","RIMPKR":"Billions","RIMPLT":"Millions","RIMPLU":"Millions","RIMPLV":"Millions","RIMPMA":"Millions","RIMPMK":"Millions","RIMPMN":"Millions","RIMPMO":"Millions","RIMPMT":"Millions","RIMPMX":"Millions","RIMPMY":"Millions","RIMPNG":"Millions","RIMPNL":"Millions","RIMPNO":"Millions","RIMPNZ":"Millions","RIMPPA":"Millions","RIMPPE":"Millions","RIMPPH":"Millions","RIMPPK":"Millions","RIMPPL":"Millions","RIMPPT":"Millions","RIMPRO":"Millions","RIMPRS":"Millions","RIMPRU":"Billions","RIMPRW":"Billions","RIMPSA":"Millions","RIMPSE":"Millions","RIMPSG":"Millions","RIMPSI":"Millions","RIMPSK":"Millions","RIMPTH":"Millions","RIMPTR":"Thousands","RIMPTW":"Millions","RIMPUA":"Millions","RIMPUK":"Millions","RIMPUS":"Millions","RIMPUZ":"Billions","RIMPZA":"Millions","RPRCAE":"Millions","RPRCAR":"Millions","RPRCAT":"Millions","RPRCAU":"Millions","RPRCAZ":"Millions","RPRCBA":"Millions","RPRCBD":"Millions","RPRCBE":"Millions","RPRCBG":"Millions","RPRCBR":"Millions","RPRCBY":"Millions","RPRCCA":"Millions","RPRCCH":"Millions","RPRCCL":"Billions","RPRCCN":"Hundreds Millions","RPRCCO":"Billions","RPRCCR":"Millions","RPRCCY":"Millions","RPRCCZ":"Millions","RPRCDE":"Millions","RPRCDK":"Millions","RPRCEA":"Millions","RPRCEE":"Millions","RPRCES":"Millions","RPRCEU":"Millions","RPRCFI":"Millions","RPRCFR":"Millions","RPRCGR":"Millions","RPRCHK":"Millions","RPRCHN":"Millions","RPRCHR":"Millions","RPRCHU":"Millions","RPRCID":"Billions","RPRCIE":"Millions","RPRCIL":"Millions","RPRCIN":"Tens Millions","RPRCIR":"Billions","RPRCIT":"Millions","RPRCJP":"Billions","RPRCKH":"Billions","RPRCKR":"Billions","RPRCLT":"Millions","RPRCLU":"Millions","RPRCLV":"Millions","RPRCMA":"Millions","RPRCMK":"Millions","RPRCMO":"Millions","RPRCMT":"Millions","RPRCMX":"Millions","RPRCMY":"Millions","RPRCNG":"Millions","RPRCNL":"Millions","RPRCNO":"Millions","RPRCNZ":"Millions","RPRCPE":"Millions","RPRCPH":"Millions","RPRCPK":"Millions","RPRCPL":"Millions","RPRCPT":"Millions","RPRCRO":"Millions","RPRCRS":"Millions","RPRCRU":"Billions","RPRCRW":"Billions","RPRCSA":"Millions","RPRCSE":"Millions","RPRCSG":"Millions","RPRCSI":"Millions","RPRCSK":"Millions","RPRCTH":"Millions","RPRCTR":"Thousands","RPRCTW":"Millions","RPRCUA":"Millions","RPRCUK":"Millions","RPRCUS":"Millions","RPRCUZ":"Billions","RPRCVN":"Billions","RPRCZA":"Millions","RPUCAE":"Millions","RPUCAL":"Millions","RPUCAR":"Millions","RPUCAT":"Millions","RPUCAU":"Millions","RPUCAZ":"Millions","RPUCBA":"Millions","RPUCBD":"Millions","RPUCBE":"Millions","RPUCBG":"Millions","RPUCBR":"Millions","RPUCBW":"Millions","RPUCBY":"Millions","RPUCCA":"Millions","RPUCCH":"Millions","RPUCCL":"Billions","RPUCCN":"Hundreds Millions","RPUCCO":"Billions","RPUCCR":"Millions","RPUCCY":"Millions","RPUCCZ":"Millions","RPUCDE":"Millions","RPUCDK":"Millions","RPUCEA":"Millions","RPUCEE":"Millions","RPUCES":"Millions","RPUCEU":"Millions","RPUCFI":"Millions","RPUCFR":"Millions","RPUCGR":"Millions","RPUCHK":"Millions","RPUCHN":"Millions","RPUCHR":"Millions","RPUCHU":"Millions","RPUCID":"Billions","RPUCIE":"Millions","RPUCIL":"Millions","RPUCIN":"Tens Millions","RPUCIR":"Billions","RPUCIT":"Millions","RPUCJP":"Billions","RPUCKH":"Billions","RPUCKR":"Billions","RPUCLT":"Millions","RPUCLU":"Millions","RPUCLV":"Millions","RPUCMA":"Millions","RPUCMK":"Millions","RPUCMN":"Millions","RPUCMO":"Millions","RPUCMT":"Millions","RPUCMX":"Millions","RPUCMY":"Millions","RPUCNG":"Millions","RPUCNL":"Millions","RPUCNO":"Millions","RPUCNZ":"Millions","RPUCPA":"Millions","RPUCPE":"Millions","RPUCPH":"Millions","RPUCPK":"Millions","RPUCPL":"Millions","RPUCPT":"Millions","RPUCRO":"Millions","RPUCRS":"Millions","RPUCRU":"Billions","RPUCRW":"Billions","RPUCSA":"Millions","RPUCSE":"Millions","RPUCSG":"Millions","RPUCSI":"Millions","RPUCSK":"Millions","RPUCTH":"Millions","RPUCTR":"Thousands","RPUCTW":"Millions","RPUCUA":"Millions","RPUCUK":"Millions","RPUCUS":"Millions","RPUCUZ":"Billions","RPUCVN":"Billions","RPUCZA":"Millions","SEIAE":"Units","SEIAT":"Units","SEIAU":"Units","SEIBD":"Units","SEIBE":"Units","SEIBR":"Units","SEICA":"Units","SEICH":"Units","SEICN":"Units","SEIDE":"Units","SEIDK":"Units","SEIES":"Units","SEIFI":"Units","SEIFR":"Units","SEIID":"Units","SEIIE":"Units","SEIIN":"Units","SEIIT":"Units","SEIJP":"Units","SEIKR":"Units","SEILA":"Units","SEILU":"Units","SEIMX":"Units","SEINL":"Units","SEINO":"Units","SEIOM":"Units","SEIPA":"Units","SEIPK":"Units","SEIPL":"Units","SEIRS":"Units","SEIRU":"Units","SEISE":"Units","SEITR":"Units","SEIUS":"Units","SEIUZ":"Units","SEIZA":"Units","SENTAL":"Units","SENTAT":"Units","SENTAU":"Units","SENTBE":"Units","SENTBG":"Units","SENTBR":"Units","SENTCY":"Units","SENTCZ":"Units","SENTDE":"Units","SENTDK":"Units","SENTEE":"Units","SENTES":"Units","SENTEU":"Units","SENTFI":"Units","SENTFR":"Units","SENTGR":"Units","SENTHR":"Units","SENTHU":"Units","SENTIE":"Units","SENTIT":"Units","SENTJP":"Units","SENTKR":"Units","SENTLT":"Units","SENTLU":"Units","SENTLV":"Units","SENTME":"Units","SENTMK":"Units","SENTMT":"Units","SENTNL":"Units","SENTPL":"Units","SENTPT":"Units","SENTRO":"Units","SENTRS":"Units","SENTSE":"Units","SENTSI":"Units","SENTSK":"Units","SENTTR":"Units","SENTUK":"Units","SENTUS":"Units","TBBE":"Millions","TBBG":"Millions","TBBR":"Units","TBCA":"Millions","TBCZ":"Millions","TBDE":"Millions","TBDK":"Millions","TBEE":"Millions","TBEG":"Millions","TBFI":"Millions","TBFR":"Millions","TBGR":"Millions","TBHR":"Millions","TBHU":"Millions","TBIN":"Millions","TBIT":"Millions","TBLT":"Millions","TBLU":"Millions","TBLV":"Millions","TBMK":"Millions","TBMT":"Millions","TBMX":"Millions","TBNL":"Millions","TBPL":"Millions","TBPT":"Millions","TBRO":"Millions","TBRS":"Millions","TBSE":"Millions","TBSI":"Millions","TBSK":"Millions","TBTH":"Millions","TBUS":"Millions","TBVN":"Billions","URATEAE":"Units","URATEAR":"Units","URATEAT":"Units","URATEAU":"Units","URATEAZ":"Thousands","URATEBD":"Units","URATEBE":"Units","URATEBG":"Units","URATEBR":"Units","URATEBY":"Units","URATECA":"Units","URATECH":"Units","URATECL":"Units","URATECN":"Units","URATECO":"Units","URATECR":"Units","URATECY":"Units","URATECZ":"Units","URATEDE":"Units","URATEDK":"Units","URATEDO":"Units","URATEEA":"Units","URATEEE":"Units","URATEEG":"Units","URATEES":"Units","URATEEU":"Units","URATEFI":"Units","URATEFR":"Units","URATEGR":"Units","URATEHK":"Units","URATEHR":"Units","URATEHU":"Units","URATEID":"Units","URATEIE":"Units","URATEIL":"Units","URATEIS":"Units","URATEIT":"Units","URATEJO":"Units","URATEJP":"Units","URATEKH":"Units","URATEKR":"Units","URATEKZ":"Units","URATELK":"Units","URATELT":"Units","URATELU":"Units","URATELV":"Units","URATEMA":"Units","URATEMO":"Units","URATEMT":"Units","URATEMX":"Units","URATEMY":"Units","URATENL":"Units","URATENO":"Units","URATENZ":"Units","URATEPE":"Units","URATEPH":"Units","URATEPK":"Millions","URATEPL":"Units","URATEPT":"Units","URATEQA":"Units","URATERO":"Units","URATERS":"Thousands","URATERU":"Units","URATESA":"Units","URATESE":"Units","URATESG":"Units","URATESI":"Units","URATESK":"Units","URATETH":"Units","URATETN":"Units","URATETR":"Units","URATETW":"Units","URATEUA":"Units","URATEUK":"Units","URATEUS":"Units","URATEUY":"Units","URATEVN":"Units","URATEZA":"Units","UTILAL":"Units","UTILAR":"Units","UTILAT":"Units","UTILBE":"Units","UTILBG":"Units","UTILCA":"Units","UTILCY":"Units","UTILCZ":"Units","UTILDE":"Units","UTILDK":"Units","UTILEE":"Units","UTILES":"Units","UTILEU":"Units","UTILFI":"Units","UTILFR":"Units","UTILGR":"Units","UTILHR":"Units","UTILHU":"Units","UTILIE":"Units","UTILIT":"Units","UTILLT":"Units","UTILLU":"Units","UTILLV":"Units","UTILME":"Units","UTILMK":"Units","UTILMT":"Units","UTILNL":"Units","UTILPL":"Units","UTILPT":"Units","UTILRO":"Units","UTILRS":"Units","UTILSE":"Units","UTILSI":"Units","UTILSK":"Units","UTILTR":"Units","UTILUK":"Units","UTILUS":"Units","WAGEMANCL":"Units","WAGEMANMX":null,"WAGEMANUS":"Units","WAGEUY":"Units","WAGEVN":"Thousands","Y10YDAR":"Units","Y10YDAT":"Units","Y10YDAU":"Units","Y10YDBD":"Units","Y10YDBE":"Units","Y10YDBG":"Units","Y10YDCA":"Units","Y10YDCN":"Units","Y10YDCY":"Units","Y10YDCZ":"Units","Y10YDDE":"Units","Y10YDDK":"Units","Y10YDEA":"Units","Y10YDEE":"Units","Y10YDES":"Units","Y10YDEU":"Units","Y10YDFI":"Units","Y10YDFR":"Units","Y10YDGR":"Units","Y10YDHK":"Units","Y10YDHR":"Units","Y10YDHU":"Units","Y10YDID":"Units","Y10YDIE":"Units","Y10YDIN":"Units","Y10YDIT":"Units","Y10YDJP":"Units","Y10YDKR":"Units","Y10YDLT":"Units","Y10YDLU":"Units","Y10YDLV":"Units","Y10YDMT":"Units","Y10YDMX":"Units","Y10YDMY":"Units","Y10YDNL":"Units","Y10YDNZ":"Units","Y10YDPH":"Units","Y10YDPL":"Units","Y10YDPT":"Units","Y10YDQA":"Units","Y10YDRO":"Units","Y10YDRU":"Units","Y10YDSA":"Units","Y10YDSE":"Units","Y10YDSG":"Units","Y10YDSI":"Units","Y10YDSK":"Units","Y10YDTH":"Units","Y10YDTR":"Units","Y10YDTW":"Units","Y10YDUA":"Units","Y10YDUK":"Units","Y10YDUS":"Units","Y10YDVN":"Units","Y10YDZA":"Units"} \ No newline at end of file +{"ACPOPAT": "Thousands", "ACPOPBE": "Thousands", "ACPOPBG": "Thousands", "ACPOPBR": "Thousands", "ACPOPCA": "Thousands", "ACPOPCH": "Thousands", "ACPOPCY": "Thousands", "ACPOPCZ": "Thousands", "ACPOPDE": "Thousands", "ACPOPDK": "Thousands", "ACPOPEE": "Thousands", "ACPOPES": "Thousands", "ACPOPFI": "Thousands", "ACPOPFR": "Thousands", "ACPOPGR": "Thousands", "ACPOPHR": "Thousands", "ACPOPHU": "Thousands", "ACPOPIE": "Thousands", "ACPOPIS": "Thousands", "ACPOPIT": "Thousands", "ACPOPJP": "Tens thousands", "ACPOPLT": "Thousands", "ACPOPLU": "Thousands", "ACPOPLV": "Thousands", "ACPOPME": "Thousands", "ACPOPMK": "Thousands", "ACPOPMT": "Thousands", "ACPOPMX": "Units", "ACPOPNL": "Thousands", "ACPOPNO": "Thousands", "ACPOPPH": "Thousands", "ACPOPPK": "Millions", "ACPOPPL": "Thousands", "ACPOPPT": "Thousands", "ACPOPQA": "Units", "ACPOPRO": "Thousands", "ACPOPRS": "Thousands", "ACPOPSE": "Thousands", "ACPOPSI": "Thousands", "ACPOPSK": "Thousands", "ACPOPTR": "Thousands", "ACPOPTW": "Units", "ACPOPUS": "Thousands", "ACPOPVN": "Thousands", "CAAR": "Millions", "CAAT": "Millions", "CAAU": "Millions", "CAAZ": "Millions", "CABD": "Millions", "CABE": "Millions", "CABG": "Millions", "CABR": "Millions", "CABT": "Millions", "CABY": "Millions", "CACA": "Millions", "CACH": "Billions", "CACL": "Millions", "CACN": "Hundreds Millions", "CACO": "Millions", "CACR": "Millions", "CACY": "Millions", "CACZ": "Millions", "CADE": "Millions", "CADK": "Millions", "CAEE": "Millions", "CAEG": "Millions", "CAES": "Millions", "CAEU": "Millions", "CAFI": "Millions", "CAFR": "Millions", "CAGR": "Millions", "CAHK": "Millions", "CAHR": "Millions", "CAHU": "Millions", "CAID": "Millions", "CAIE": "Millions", "CAIL": "Millions", "CAIN": "Millions", "CAIT": "Millions", "CAJO": "Millions", "CAJP": "Hundreds Millions", "CAKH": "Billions", "CAKR": "Millions", "CAKZ": "Millions", "CALA": "Millions", "CALT": "Millions", "CALU": "Millions", "CALV": "Millions", "CAMA": "Millions", "CAMT": "Millions", "CAMX": "Millions", "CAMY": "Millions", "CANL": "Millions", "CANO": "Millions", "CANP": "Millions", "CANZ": "Millions", "CAPA": "Millions", "CAPH": "Millions", "CAPK": "Millions", "CAPL": "Millions", "CAPT": "Millions", "CARAT": "Units", "CARBE": "Units", "CARBG": "Units", "CARCH": "Units", "CARCZ": "Units", "CARDE": "Units", "CARDK": "Units", "CAREE": "Units", "CARES": "Units", "CAREU": "Units", "CARFI": "Units", "CARFR": "Units", "CARGR": "Units", "CARHR": "Units", "CARHU": "Units", "CARIE": "Units", "CARIS": "Units", "CARIT": "Units", "CARLT": "Units", "CARLU": "Units", "CARLV": "Units", "CARNL": "Units", "CARNO": "Units", "CARO": "Millions", "CARPL": "Units", "CARPT": "Units", "CARRO": "Units", "CARSE": "Units", "CARSI": "Units", "CARSK": "Units", "CARU": "Millions", "CARUK": "Units", "CARZA": "Units", "CASA": "Millions", "CASE": "Millions", "CASG": "Millions", "CASI": "Millions", "CASK": "Millions", "CASV": "Millions", "CATH": "Millions", "CATN": "Millions", "CATR": "Millions", "CATW": "Millions", "CAUA": "Millions", "CAUK": "Millions", "CAUS": "Millions", "CAUY": "Millions", "CAVN": "Millions", "CAZA": "Millions", "CBALAL": "Millions", "CBALAT": "Millions", "CBALAZ": "Millions", "CBALBE": "Millions", "CBALBG": "Millions", "CBALCH": "Millions", "CBALCY": "Millions", "CBALCZ": "Millions", "CBALDE": "Millions", "CBALDK": "Millions", "CBALEA": "Millions", "CBALEE": "Millions", "CBALES": "Millions", "CBALEU": "Millions", "CBALFI": "Millions", "CBALFR": "Millions", "CBALGR": "Millions", "CBALHR": "Millions", "CBALHU": "Millions", "CBALIE": "Millions", "CBALIR": "Billions", "CBALIT": "Millions", "CBALLT": "Millions", "CBALLU": "Millions", "CBALLV": "Millions", "CBALME": "Millions", "CBALMT": "Millions", "CBALNL": "Millions", "CBALNO": "Millions", "CBALPH": "Millions", "CBALPL": "Millions", "CBALPT": "Millions", "CBALRO": "Millions", "CBALRS": "Millions", "CBALSE": "Millions", "CBALSI": "Millions", "CBALSK": "Millions", "CBALTR": "Millions", "CBALUK": "Millions", "CBALUS": "Billions", "CIAE": "Millions", "CIAR": "Millions", "CIAT": "Millions", "CIAU": "Millions", "CIAZ": "Millions", "CIBE": "Millions", "CIBG": "Millions", "CIBR": "Millions", "CIBW": "Millions", "CIBY": "Millions", "CICH": "Millions", "CICN": "Hundreds Millions", "CICY": "Millions", "CICZ": "Millions", "CIDE": "Millions", "CIDK": "Millions", "CIEE": "Millions", "CIES": "Millions", "CIFI": "Millions", "CIFR": "Millions", "CIGR": "Millions", "CIHK": "Millions", "CIHR": "Millions", "CIHU": "Millions", "CIID": "Billions", "CIIE": "Millions", "CIIL": "Millions", "CIIN": "Tens Millions", "CIIR": "Billions", "CIIT": "Millions", "CIKR": "Billions", "CIKZ": "Millions", "CILT": "Millions", "CILU": "Millions", "CILV": "Millions", "CIMA": "Millions", "CIME": "Millions", "CIMN": "Millions", "CIMT": "Millions", "CIMX": "Millions", "CIMY": "Millions", "CING": "Millions", "CINL": "Millions", "CINO": "Millions", "CINZ": "Millions", "CIPH": "Millions", "CIPK": "Millions", "CIPL": "Millions", "CIPT": "Millions", "CIRO": "Millions", "CIRS": "Millions", "CIRU": "Billions", "CISA": "Millions", "CISE": "Millions", "CISG": "Millions", "CISI": "Millions", "CISK": "Millions", "CITH": "Millions", "CITR": "Thousands", "CITW": "Millions", "CIUA": "Millions", "CIUK": "Millions", "CIUS": "Millions", "CIVN": "Billions", "CIZA": "Millions", "CKABE": "Millions", "CKABG": "Millions", "CKACZ": "Millions", "CKADE": "Millions", "CKADK": "Millions", "CKAEE": "Millions", "CKAES": "Millions", "CKAFI": "Millions", "CKAFR": "Millions", "CKAGR": "Millions", "CKAHR": "Millions", "CKAHU": "Millions", "CKAIT": "Millions", "CKALT": "Millions", "CKALU": "Millions", "CKALV": "Millions", "CKAMT": "Millions", "CKANL": "Millions", "CKAPL": "Millions", "CKAPT": "Millions", "CKARO": "Millions", "CKASE": "Millions", "CKASI": "Millions", "CKASK": "Millions", "CLAIMSUS": "Units", "CLIAT": "Units", "CLIAU": "Units", "CLIBE": "Units", "CLIBR": "Units", "CLICA": "Units", "CLICH": "Units", "CLICL": "Units", "CLICN": "Units", "CLICZ": "Units", "CLIDE": "Units", "CLIDK": "Units", "CLIEE": "Units", "CLIES": "Units", "CLIFI": "Units", "CLIFR": "Units", "CLIGR": "Units", "CLIHU": "Units", "CLIID": "Units", "CLIIE": "Units", "CLIIL": "Units", "CLIIN": "Units", "CLIIS": "Units", "CLIIT": "Units", "CLIJP": "Units", "CLIKR": "Units", "CLILU": "Units", "CLIMX": "Units", "CLINL": "Units", "CLINO": "Units", "CLINZ": "Units", "CLIPL": "Units", "CLIPT": "Units", "CLIRU": "Units", "CLISE": "Units", "CLISI": "Units", "CLISK": "Units", "CLITR": "Units", "CLIUK": "Units", "CLIUS": "Units", "CLIZA": "Units", "CONAE": "Millions", "CONAL": "Millions", "CONAT": "Millions", "CONBD": "Millions", "CONBE": "Millions", "CONBG": "Millions", "CONBY": "Millions", "CONCA": "Millions", "CONCH": "Millions", "CONCL": "Billions", "CONCN": "Hundreds Millions", "CONCY": "Millions", "CONCZ": "Millions", "CONDE": "Millions", "CONDK": "Millions", "CONEA": "Millions", "CONEE": "Millions", "CONES": "Millions", "CONEU": "Millions", "CONFAL": "Units", "CONFAT": "Units", "CONFAU": "Units", "CONFBE": "Units", "CONFBG": "Units", "CONFBR": "Units", "CONFCY": "Units", "CONFCZ": "Units", "CONFDE": "Units", "CONFDK": "Units", "CONFEE": "Units", "CONFES": "Units", "CONFEU": "Units", "CONFFI": "Units", "CONFFR": "Units", "CONFGR": "Units", "CONFHR": "Units", "CONFHU": "Units", "CONFI": "Millions", "CONFID": "Units", "CONFIE": "Units", "CONFIL": "Units", "CONFIT": "Units", "CONFJP": "Units", "CONFKR": "Units", "CONFLT": "Units", "CONFLU": "Units", "CONFLV": "Units", "CONFME": "Units", "CONFMK": "Units", "CONFMT": "Units", "CONFMX": "Units", "CONFNL": "Units", "CONFPL": "Units", "CONFPT": "Units", "CONFR": "Millions", "CONFRO": "Units", "CONFRS": "Units", "CONFSE": "Units", "CONFSI": "Units", "CONFSK": "Units", "CONFTR": "Units", "CONFUK": "Units", "CONFUS": "Units", "CONGR": "Millions", "CONHR": "Millions", "CONHU": "Millions", "CONIE": "Millions", "CONIT": "Millions", "CONKR": "Billions", "CONLT": "Millions", "CONLU": "Millions", "CONLV": "Millions", "CONMK": "Millions", "CONMT": "Millions", "CONMX": "Millions", "CONNL": "Millions", "CONNO": "Millions", "CONPL": "Millions", "CONPT": "Millions", "CONQA": "Millions", "CONRO": "Millions", "CONRS": "Millions", "CONRU": "Billions", "CONSE": "Millions", "CONSI": "Millions", "CONSK": "Millions", "CONUA": "Millions", "CONUK": "Millions", "CONZA": "Millions", "COREAR": "Units", "COREAT": "Units", "COREAU": "Units", "COREBD": "Units", "COREBE": "Units", "COREBG": "Units", "COREBR": "Units", "CORECA": "Units", "CORECH": "Units", "CORECY": "Units", "CORECZ": "Units", "COREDE": "Units", "COREDK": "Units", "COREEA": "Units", "COREEE": "Units", "COREES": "Units", "COREEU": "Units", "COREFI": "Units", "COREFR": "Units", "COREGR": "Units", "COREHR": "Units", "COREHU": "Units", "COREIE": "Units", "COREIN": "Units", "COREIS": "Units", "COREIT": "Units", "COREJP": "Units", "COREKR": "Units", "CORELT": "Units", "CORELU": "Units", "CORELV": "Units", "COREMK": "Units", "COREMT": "Units", "COREMX": "Units", "CORENL": "Units", "CORENO": "Units", "CORENP": "Units", "COREPL": "Units", "COREPT": "Units", "CORERO": "Units", "CORERS": "Units", "CORERU": "Units", "CORESE": "Units", "CORESG": "Units", "CORESI": "Units", "CORESK": "Units", "CORETH": "Units", "CORETR": "Units", "CORETW": "Units", "COREUK": "Units", "COREUS": "Units", "CPAT": "Units", "CPBE": "Units", "CPBG": "Units", "CPCZ": "Units", "CPDE": "Units", "CPDK": "Units", "CPES": "Units", "CPEU": "Units", "CPFI": "Units", "CPFR": "Units", "CPHR": "Units", "CPHU": "Units", "CPIAE": "Units", "CPIAF": "Units", "CPIAG": "Units", "CPIAL": "Units", "CPIAM": "Units", "CPIAR": "Units", "CPIAT": "Units", "CPIAU": "Units", "CPIAW": "Units", "CPIAZ": "Units", "CPIBA": "Units", "CPIBB": "Units", "CPIBD": "Units", "CPIBE": "Units", "CPIBF": "Units", "CPIBG": "Units", "CPIBH": "Units", "CPIBI": "Units", "CPIBJ": "Units", "CPIBN": "Units", "CPIBO": "Units", "CPIBR": "Units", "CPIBS": "Units", "CPIBT": "Units", "CPIBW": "Units", "CPIBY": "Units", "CPIBZ": "Units", "CPICA": "Units", "CPICF": "Units", "CPICG": "Units", "CPICH": "Units", "CPICI": "Units", "CPICL": "Units", "CPICM": "Units", "CPICN": "Units", "CPICO": "Units", "CPICR": "Units", "CPICV": "Units", "CPICW": "Units", "CPICY": "Units", "CPICZ": "Units", "CPIDE": "Units", "CPIDJ": "Units", "CPIDK": "Units", "CPIDM": "Units", "CPIDO": "Units", "CPIEA": "Units", "CPIEC": "Units", "CPIEE": "Units", "CPIEG": "Units", "CPIES": "Units", "CPIET": "Units", "CPIEU": "Units", "CPIFI": "Units", "CPIFJ": "Units", "CPIFR": "Units", "CPIGA": "Units", "CPIGD": "Units", "CPIGE": "Units", "CPIGN": "Units", "CPIGQ": "Units", "CPIGR": "Units", "CPIGT": "Units", "CPIGW": "Units", "CPIGY": "Units", "CPIHK": "Units", "CPIHN": "Units", "CPIHR": "Units", "CPIHT": "Units", "CPIHU": "Units", "CPIID": "Units", "CPIIE": "Units", "CPIIL": "Units", "CPIIN": "Units", "CPIIQ": "Units", "CPIIR": "Units", "CPIIS": "Units", "CPIIT": "Units", "CPIJM": "Units", "CPIJO": "Units", "CPIJP": "Units", "CPIKG": "Units", "CPIKH": "Units", "CPIKI": "Units", "CPIKN": "Units", "CPIKR": "Units", "CPIKW": "Units", "CPIKZ": "Units", "CPILA": "Units", "CPILB": "Units", "CPILC": "Units", "CPILK": "Units", "CPILR": "Units", "CPILS": "Units", "CPILT": "Units", "CPILU": "Units", "CPILV": "Units", "CPIMA": "Units", "CPIMD": "Units", "CPIME": "Units", "CPIMG": "Units", "CPIMK": "Units", "CPIML": "Units", "CPIMM": "Units", "CPIMN": "Units", "CPIMO": "Units", "CPIMR": "Units", "CPIMS": "Units", "CPIMT": "Units", "CPIMU": "Units", "CPIMV": "Units", "CPIMW": "Units", "CPIMX": "Units", "CPIMY": "Units", "CPIMZ": "Units", "CPINE": "Units", "CPING": "Units", "CPINI": "Units", "CPINL": "Units", "CPINO": "Units", "CPINP": "Units", "CPINZ": "Units", "CPIOM": "Units", "CPIPA": "Units", "CPIPE": "Units", "CPIPH": "Units", "CPIPK": "Units", "CPIPL": "Units", "CPIPS": "Units", "CPIPT": "Units", "CPIQA": "Units", "CPIRO": "Units", "CPIRS": "Units", "CPIRU": "Units", "CPISA": "Units", "CPISB": "Units", "CPISC": "Units", "CPISD": "Units", "CPISE": "Units", "CPISG": "Units", "CPISI": "Units", "CPISK": "Units", "CPISR": "Units", "CPISS": "Units", "CPIST": "Units", "CPISV": "Units", "CPISZ": "Units", "CPIT": "Units", "CPITD": "Units", "CPITG": "Units", "CPITH": "Units", "CPITJ": "Units", "CPITL": "Units", "CPITN": "Units", "CPITO": "Units", "CPITR": "Units", "CPITT": "Units", "CPITW": "Units", "CPIUA": "Units", "CPIUG": "Units", "CPIUK": "Units", "CPIUS": "Units", "CPIUY": "Units", "CPIUZ": "Units", "CPIVC": "Units", "CPIVE": "Units", "CPIVN": "Units", "CPIWS": "Units", "CPIXK": "Units", "CPIZA": "Units", "CPIZM": "Units", "CPIZW": "Units", "CPLU": "Units", "CPMK": "Units", "CPMX": "Thousands", "CPNL": "Units", "CPNO": "Units", "CPPL": "Units", "CPPT": "Units", "CPRO": "Units", "CPSE": "Units", "CPSG": "Millions", "CPSI": "Units", "CPSK": "Units", "CPUK": "Units", "CREDAR": "Billions", "CREDAT": "Billions", "CREDAU": "Billions", "CREDBE": "Billions", "CREDBR": "Billions", "CREDCA": "Billions", "CREDCH": "Billions", "CREDCL": "Billions", "CREDCN": "Billions", "CREDCO": "Billions", "CREDCZ": "Billions", "CREDDE": "Billions", "CREDDK": "Billions", "CREDEA": "Billions", "CREDES": "Billions", "CREDFI": "Billions", "CREDFR": "Billions", "CREDGR": "Billions", "CREDHK": "Billions", "CREDHU": "Billions", "CREDID": "Billions", "CREDIE": "Billions", "CREDIL": "Billions", "CREDIN": "Billions", "CREDIT": "Billions", "CREDJP": "Billions", "CREDKR": "Billions", "CREDLU": "Billions", "CREDMO": "Millions", "CREDMX": "Billions", "CREDMY": "Billions", "CREDNL": "Billions", "CREDNO": "Billions", "CREDNZ": "Billions", "CREDPL": "Billions", "CREDPT": "Billions", "CREDRU": "Billions", "CREDSA": "Billions", "CREDSE": "Billions", "CREDSG": "Billions", "CREDTH": "Billions", "CREDTN": "Millions", "CREDTR": "Billions", "CREDUK": "Billions", "CREDUS": "Billions", "CREDZA": "Billions", "DWPEBE": "Units", "DWPECY": "Units", "DWPEDE": "Units", "DWPEES": "Units", "DWPEEU": "Units", "DWPEFI": "Units", "DWPEFR": "Units", "DWPEGR": "Units", "DWPEHU": "Units", "DWPEMK": "Units", "DWPENL": "Units", "DWPENO": "Units", "DWPEPT": "Units", "DWPERO": "Units", "DWPESE": "Units", "DWPESI": "Units", "ELEAT": "Units", "ELEBE": "Units", "ELEBG": "Units", "ELECH": "Units", "ELECN": "Hundreds Millions", "ELECY": "Units", "ELECZ": "Units", "ELEDE": "Units", "ELEDK": "Units", "ELEEE": "Units", "ELEES": "Units", "ELEEU": "Units", "ELEFI": "Units", "ELEFR": "Units", "ELEGR": "Units", "ELEHR": "Units", "ELEHU": "Units", "ELEIE": "Units", "ELEIT": "Units", "ELELT": "Units", "ELELU": "Units", "ELELV": "Units", "ELEMK": "Units", "ELEMT": "Units", "ELENL": "Units", "ELENO": "Units", "ELEPL": "Units", "ELEPT": "Units", "ELERO": "Units", "ELESE": "Units", "ELESI": "Units", "ELESK": "Units", "ELETR": "Units", "ELEUK": "Units", "ELEUS": "Units", "ELEZA": "Units", "EMPAR": "Units", "EMPAT": "Thousands", "EMPAU": "Thousands", "EMPAZ": "Thousands", "EMPBD": "Millions", "EMPBE": "Thousands", "EMPBG": "Thousands", "EMPBR": "Thousands", "EMPBY": "Thousands", "EMPCA": "Thousands", "EMPCH": "Thousands", "EMPCL": "Thousands", "EMPCN": "Tens thousands", "EMPCO": "Units", "EMPCR": "Thousands", "EMPCY": "Thousands", "EMPCZ": "Thousands", "EMPDE": "Thousands", "EMPDK": "Thousands", "EMPDO": "Units", "EMPEE": "Thousands", "EMPES": "Thousands", "EMPFI": "Thousands", "EMPFR": "Thousands", "EMPGR": "Thousands", "EMPHR": "Thousands", "EMPHU": "Thousands", "EMPID": "Thousands", "EMPIE": "Thousands", "EMPIS": "Thousands", "EMPIT": "Thousands", "EMPJO": "Units", "EMPJP": "Tens thousands", "EMPKR": "Thousands", "EMPKZ": "Thousands", "EMPLK": "Units", "EMPLT": "Thousands", "EMPLU": "Thousands", "EMPLV": "Thousands", "EMPME": "Thousands", "EMPMK": "Thousands", "EMPMO": "Units", "EMPMT": "Thousands", "EMPMX": "Units", "EMPMY": "Millions", "EMPNL": "Thousands", "EMPNO": "Thousands", "EMPNZ": "Thousands", "EMPPA": "Units", "EMPPE": "Units", "EMPPH": "Thousands", "EMPPK": "Millions", "EMPPL": "Thousands", "EMPPT": "Thousands", "EMPQA": "Units", "EMPRO": "Thousands", "EMPRS": "Thousands", "EMPRU": "Millions", "EMPSE": "Thousands", "EMPSG": "Thousands", "EMPSI": "Thousands", "EMPSK": "Thousands", "EMPTH": "Thousands", "EMPTN": "Units", "EMPTR": "Thousands", "EMPTW": "Units", "EMPUA": "Thousands", "EMPUS": "Thousands", "EMPUY": "Units", "EMPVN": "Thousands", "EMPZA": "Units", "EMRATIOAT": "Units", "EMRATIOBE": "Units", "EMRATIOBG": "Units", "EMRATIOCH": "Units", "EMRATIOCY": "Units", "EMRATIOCZ": "Units", "EMRATIODE": "Units", "EMRATIODK": "Units", "EMRATIOEE": "Units", "EMRATIOES": "Units", "EMRATIOFI": "Units", "EMRATIOFR": "Units", "EMRATIOGR": "Units", "EMRATIOHR": "Units", "EMRATIOHU": "Units", "EMRATIOIE": "Units", "EMRATIOIS": "Units", "EMRATIOIT": "Units", "EMRATIOJP": "Units", "EMRATIOLT": "Units", "EMRATIOLU": "Units", "EMRATIOLV": "Units", "EMRATIOME": "Units", "EMRATIOMK": "Units", "EMRATIOMT": "Units", "EMRATIONL": "Units", "EMRATIONO": "Units", "EMRATIOPL": "Units", "EMRATIOPT": "Units", "EMRATIORO": "Units", "EMRATIORS": "Units", "EMRATIOSE": "Units", "EMRATIOSI": "Units", "EMRATIOSK": "Units", "EMRATIOTR": "Units", "EMRATIOTW": "Units", "EMRATIOUS": "Units", "EQYCAPCN": "Hundreds Millions", "EXPAE": "Millions", "EXPAL": "Millions", "EXPAR": "Millions", "EXPAT": "Millions", "EXPAU": "Millions", "EXPAZ": "Millions", "EXPBD": "Millions", "EXPBE": "Millions", "EXPBG": "Millions", "EXPBR": "Millions", "EXPBW": "Millions", "EXPBY": "Millions", "EXPCA": "Millions", "EXPCH": "Millions", "EXPCL": "Billions", "EXPCM": "Billions", "EXPCN": "Tens thousands", "EXPCO": "Billions", "EXPCY": "Millions", "EXPCZ": "Millions", "EXPDE": "Millions", "EXPDK": "Millions", "EXPEA": "Millions", "EXPEE": "Millions", "EXPES": "Millions", "EXPEU": "Millions", "EXPFI": "Millions", "EXPFR": "Millions", "EXPGR": "Millions", "EXPHK": "Millions", "EXPHR": "Millions", "EXPHU": "Millions", "EXPID": "Billions", "EXPIE": "Millions", "EXPIL": "Millions", "EXPIN": "Tens Millions", "EXPIR": "Billions", "EXPIT": "Millions", "EXPJO": "Millions", "EXPJP": "Billions", "EXPKR": "Billions", "EXPKZ": "Millions", "EXPLT": "Millions", "EXPLU": "Millions", "EXPLV": "Millions", "EXPMA": "Millions", "EXPME": "Millions", "EXPMK": "Millions", "EXPMN": "Millions", "EXPMONAR": "Millions", "EXPMONAU": "Millions", "EXPMONBD": "Millions", "EXPMONBE": "Millions", "EXPMONBG": "Millions", "EXPMONBR": "Units", "EXPMONCA": "Millions", "EXPMONCL": "Millions", "EXPMONCN": "Thousands", "EXPMONCO": "Millions", "EXPMONCR": "Millions", "EXPMONCZ": "Millions", "EXPMONDE": "Millions", "EXPMONDK": "Millions", "EXPMONEE": "Millions", "EXPMONEG": "Millions", "EXPMONES": "Millions", "EXPMONEU": "Millions", "EXPMONFI": "Millions", "EXPMONFR": "Millions", "EXPMONGR": "Millions", "EXPMONHK": "Millions", "EXPMONHR": "Millions", "EXPMONHU": "Millions", "EXPMONID": "Millions", "EXPMONIN": "Millions", "EXPMONIT": "Millions", "EXPMONJP": "Thousands", "EXPMONKH": "Millions", "EXPMONKR": "Thousands", "EXPMONKZ": "Millions", "EXPMONLT": "Millions", "EXPMONLU": "Millions", "EXPMONLV": "Millions", "EXPMONMK": "Millions", "EXPMONMT": "Millions", "EXPMONMX": "Millions", "EXPMONMY": "Millions", "EXPMONNL": "Millions", "EXPMONNP": "Millions", "EXPMONPH": "Millions", "EXPMONPK": "Millions", "EXPMONPL": "Millions", "EXPMONPT": "Millions", "EXPMONQA": "Millions", "EXPMONRO": "Millions", "EXPMONRS": "Millions", "EXPMONRU": "Millions", "EXPMONSA": "Millions", "EXPMONSE": "Millions", "EXPMONSG": "Thousands", "EXPMONSI": "Millions", "EXPMONSK": "Millions", "EXPMONTH": "Millions", "EXPMONTR": "Thousands", "EXPMONTW": "Millions", "EXPMONUA": "Millions", "EXPMONUK": "Millions", "EXPMONUS": "Millions", "EXPMONUY": "Millions", "EXPMONVN": "Thousands", "EXPMONZA": "Millions", "EXPMT": "Millions", "EXPMX": "Millions", "EXPMY": "Millions", "EXPNG": "Millions", "EXPNL": "Millions", "EXPNO": "Millions", "EXPNZ": "Millions", "EXPPE": "Millions", "EXPPH": "Millions", "EXPPK": "Millions", "EXPPL": "Millions", "EXPPT": "Millions", "EXPQA": "Millions", "EXPRO": "Millions", "EXPRS": "Millions", "EXPRU": "Billions", "EXPRW": "Billions", "EXPSA": "Millions", "EXPSE": "Millions", "EXPSG": "Millions", "EXPSI": "Millions", "EXPSK": "Millions", "EXPSV": "Millions", "EXPTH": "Millions", "EXPTR": "Thousands", "EXPTW": "Millions", "EXPUA": "Millions", "EXPUK": "Millions", "EXPUS": "Millions", "EXPZA": "Millions", "GASDEMAL": "Millions", "GASDEMAT": "Millions", "GASDEMAU": "Millions", "GASDEMAZ": "Millions", "GASDEMBE": "Millions", "GASDEMBG": "Millions", "GASDEMBH": "Millions", "GASDEMBN": "Millions", "GASDEMBO": "Millions", "GASDEMBY": "Millions", "GASDEMCA": "Millions", "GASDEMCH": "Millions", "GASDEMCL": "Millions", "GASDEMCZ": "Millions", "GASDEMDE": "Millions", "GASDEMDK": "Millions", "GASDEMDZ": "Millions", "GASDEMEC": "Millions", "GASDEMEE": "Millions", "GASDEMEG": "Millions", "GASDEMES": "Millions", "GASDEMFI": "Millions", "GASDEMFR": "Millions", "GASDEMGE": "Millions", "GASDEMGQ": "Millions", "GASDEMGR": "Millions", "GASDEMHK": "Millions", "GASDEMHR": "Millions", "GASDEMHU": "Millions", "GASDEMID": "Millions", "GASDEMIE": "Millions", "GASDEMIN": "Millions", "GASDEMIT": "Millions", "GASDEMJP": "Millions", "GASDEMKR": "Millions", "GASDEMKW": "Millions", "GASDEMLT": "Millions", "GASDEMLU": "Millions", "GASDEMLV": "Millions", "GASDEMLY": "Millions", "GASDEMMA": "Millions", "GASDEMMD": "Millions", "GASDEMMK": "Millions", "GASDEMMT": "Millions", "GASDEMMX": "Millions", "GASDEMNG": "Millions", "GASDEMNL": "Millions", "GASDEMNO": "Millions", "GASDEMNZ": "Millions", "GASDEMPE": "Millions", "GASDEMPH": "Millions", "GASDEMPL": "Millions", "GASDEMPT": "Millions", "GASDEMQA": "Millions", "GASDEMRO": "Millions", "GASDEMSE": "Millions", "GASDEMSI": "Millions", "GASDEMSK": "Millions", "GASDEMTN": "Millions", "GASDEMTR": "Millions", "GASDEMTT": "Millions", "GASDEMTW": "Millions", "GASDEMUA": "Millions", "GASDEMUK": "Millions", "GASDEMUS": "Millions", "GASDEMVE": "Millions", "GASDEMZA": "Millions", "GASODEMAE": "Thousands", "GASODEMAL": "Thousands", "GASODEMAM": "Thousands", "GASODEMAO": "Thousands", "GASODEMAR": "Thousands", "GASODEMAT": "Thousands", "GASODEMAU": "Thousands", "GASODEMAZ": "Thousands", "GASODEMBB": "Thousands", "GASODEMBD": "Thousands", "GASODEMBE": "Thousands", "GASODEMBG": "Thousands", "GASODEMBH": "Thousands", "GASODEMBM": "Thousands", "GASODEMBN": "Thousands", "GASODEMBO": "Thousands", "GASODEMBR": "Thousands", "GASODEMBY": "Thousands", "GASODEMBZ": "Thousands", "GASODEMCA": "Thousands", "GASODEMCH": "Thousands", "GASODEMCL": "Thousands", "GASODEMCN": "Thousands", "GASODEMCO": "Thousands", "GASODEMCR": "Thousands", "GASODEMCU": "Thousands", "GASODEMCY": "Thousands", "GASODEMCZ": "Thousands", "GASODEMDE": "Thousands", "GASODEMDK": "Thousands", "GASODEMDO": "Thousands", "GASODEMDZ": "Thousands", "GASODEMEC": "Thousands", "GASODEMEE": "Thousands", "GASODEMEG": "Thousands", "GASODEMES": "Thousands", "GASODEMFI": "Thousands", "GASODEMFR": "Thousands", "GASODEMGA": "Thousands", "GASODEMGD": "Thousands", "GASODEMGE": "Thousands", "GASODEMGM": "Thousands", "GASODEMGQ": "Thousands", "GASODEMGR": "Thousands", "GASODEMGT": "Thousands", "GASODEMGY": "Thousands", "GASODEMHK": "Thousands", "GASODEMHN": "Thousands", "GASODEMHR": "Thousands", "GASODEMHT": "Thousands", "GASODEMHU": "Thousands", "GASODEMID": "Thousands", "GASODEMIE": "Thousands", "GASODEMIN": "Thousands", "GASODEMIQ": "Thousands", "GASODEMIR": "Thousands", "GASODEMIS": "Thousands", "GASODEMIT": "Thousands", "GASODEMJM": "Thousands", "GASODEMJP": "Thousands", "GASODEMKR": "Thousands", "GASODEMKW": "Thousands", "GASODEMKZ": "Thousands", "GASODEMLT": "Thousands", "GASODEMLU": "Thousands", "GASODEMLV": "Thousands", "GASODEMLY": "Thousands", "GASODEMMA": "Thousands", "GASODEMMD": "Thousands", "GASODEMMK": "Thousands", "GASODEMMM": "Thousands", "GASODEMMT": "Thousands", "GASODEMMU": "Thousands", "GASODEMMX": "Thousands", "GASODEMMY": "Thousands", "GASODEMNE": "Thousands", "GASODEMNG": "Thousands", "GASODEMNI": "Thousands", "GASODEMNL": "Thousands", "GASODEMNO": "Thousands", "GASODEMNP": "Thousands", "GASODEMNZ": "Thousands", "GASODEMOM": "Thousands", "GASODEMPA": "Thousands", "GASODEMPE": "Thousands", "GASODEMPG": "Thousands", "GASODEMPH": "Thousands", "GASODEMPL": "Thousands", "GASODEMPT": "Thousands", "GASODEMPY": "Thousands", "GASODEMQA": "Thousands", "GASODEMRO": "Thousands", "GASODEMRU": "Thousands", "GASODEMSA": "Thousands", "GASODEMSD": "Thousands", "GASODEMSE": "Thousands", "GASODEMSG": "Thousands", "GASODEMSI": "Thousands", "GASODEMSK": "Thousands", "GASODEMSR": "Thousands", "GASODEMSV": "Thousands", "GASODEMSY": "Thousands", "GASODEMSZ": "Thousands", "GASODEMTH": "Thousands", "GASODEMTJ": "Thousands", "GASODEMTN": "Thousands", "GASODEMTR": "Thousands", "GASODEMTT": "Thousands", "GASODEMTW": "Thousands", "GASODEMUA": "Thousands", "GASODEMUK": "Thousands", "GASODEMUS": "Thousands", "GASODEMUY": "Thousands", "GASODEMVE": "Thousands", "GASODEMVN": "Thousands", "GASODEMYE": "Thousands", "GASODEMZA": "Thousands", "GASOPRODAE": "Thousands", "GASOPRODAL": "Thousands", "GASOPRODAM": "Thousands", "GASOPRODAO": "Thousands", "GASOPRODAR": "Thousands", "GASOPRODAT": "Thousands", "GASOPRODAU": "Thousands", "GASOPRODAZ": "Thousands", "GASOPRODBB": "Thousands", "GASOPRODBD": "Thousands", "GASOPRODBE": "Thousands", "GASOPRODBG": "Thousands", "GASOPRODBH": "Thousands", "GASOPRODBM": "Thousands", "GASOPRODBN": "Thousands", "GASOPRODBO": "Thousands", "GASOPRODBR": "Thousands", "GASOPRODBY": "Thousands", "GASOPRODBZ": "Thousands", "GASOPRODCA": "Thousands", "GASOPRODCH": "Thousands", "GASOPRODCL": "Thousands", "GASOPRODCN": "Thousands", "GASOPRODCO": "Thousands", "GASOPRODCR": "Thousands", "GASOPRODCU": "Thousands", "GASOPRODCY": "Thousands", "GASOPRODCZ": "Thousands", "GASOPRODDE": "Thousands", "GASOPRODDK": "Thousands", "GASOPRODDO": "Thousands", "GASOPRODDZ": "Thousands", "GASOPRODEC": "Thousands", "GASOPRODEE": "Thousands", "GASOPRODEG": "Thousands", "GASOPRODES": "Thousands", "GASOPRODFI": "Thousands", "GASOPRODFR": "Thousands", "GASOPRODGA": "Thousands", "GASOPRODGD": "Thousands", "GASOPRODGE": "Thousands", "GASOPRODGM": "Thousands", "GASOPRODGQ": "Thousands", "GASOPRODGR": "Thousands", "GASOPRODGT": "Thousands", "GASOPRODGY": "Thousands", "GASOPRODHK": "Thousands", "GASOPRODHN": "Thousands", "GASOPRODHR": "Thousands", "GASOPRODHT": "Thousands", "GASOPRODHU": "Thousands", "GASOPRODID": "Thousands", "GASOPRODIE": "Thousands", "GASOPRODIN": "Thousands", "GASOPRODIQ": "Thousands", "GASOPRODIR": "Thousands", "GASOPRODIS": "Thousands", "GASOPRODIT": "Thousands", "GASOPRODJM": "Thousands", "GASOPRODJP": "Thousands", "GASOPRODKR": "Thousands", "GASOPRODKW": "Thousands", "GASOPRODKZ": "Thousands", "GASOPRODLT": "Thousands", "GASOPRODLU": "Thousands", "GASOPRODLV": "Thousands", "GASOPRODLY": "Thousands", "GASOPRODMA": "Thousands", "GASOPRODMD": "Thousands", "GASOPRODMK": "Thousands", "GASOPRODMM": "Thousands", "GASOPRODMT": "Thousands", "GASOPRODMU": "Thousands", "GASOPRODMX": "Thousands", "GASOPRODMY": "Thousands", "GASOPRODNE": "Thousands", "GASOPRODNG": "Thousands", "GASOPRODNI": "Thousands", "GASOPRODNL": "Thousands", "GASOPRODNO": "Thousands", "GASOPRODNP": "Thousands", "GASOPRODNZ": "Thousands", "GASOPRODOM": "Thousands", "GASOPRODPA": "Thousands", "GASOPRODPE": "Thousands", "GASOPRODPG": "Thousands", "GASOPRODPH": "Thousands", "GASOPRODPL": "Thousands", "GASOPRODPT": "Thousands", "GASOPRODPY": "Thousands", "GASOPRODQA": "Thousands", "GASOPRODRO": "Thousands", "GASOPRODRU": "Thousands", "GASOPRODSA": "Thousands", "GASOPRODSD": "Thousands", "GASOPRODSE": "Thousands", "GASOPRODSG": "Thousands", "GASOPRODSI": "Thousands", "GASOPRODSK": "Thousands", "GASOPRODSR": "Thousands", "GASOPRODSV": "Thousands", "GASOPRODSY": "Thousands", "GASOPRODSZ": "Thousands", "GASOPRODTH": "Thousands", "GASOPRODTJ": "Thousands", "GASOPRODTN": "Thousands", "GASOPRODTR": "Thousands", "GASOPRODTT": "Thousands", "GASOPRODTW": "Thousands", "GASOPRODUA": "Thousands", "GASOPRODUK": "Thousands", "GASOPRODUS": "Thousands", "GASOPRODUY": "Thousands", "GASOPRODVE": "Thousands", "GASOPRODVN": "Thousands", "GASOPRODYE": "Thousands", "GASOPRODZA": "Thousands", "GASPRODAL": "Millions", "GASPRODAT": "Millions", "GASPRODAU": "Millions", "GASPRODAZ": "Millions", "GASPRODBE": "Millions", "GASPRODBG": "Millions", "GASPRODBH": "Millions", "GASPRODBN": "Millions", "GASPRODBO": "Millions", "GASPRODBY": "Millions", "GASPRODCA": "Millions", "GASPRODCH": "Millions", "GASPRODCL": "Millions", "GASPRODCN": "Millions", "GASPRODCZ": "Millions", "GASPRODDE": "Millions", "GASPRODDK": "Millions", "GASPRODDZ": "Millions", "GASPRODEC": "Millions", "GASPRODEE": "Millions", "GASPRODEG": "Millions", "GASPRODES": "Millions", "GASPRODFI": "Millions", "GASPRODFR": "Millions", "GASPRODGA": "Millions", "GASPRODGE": "Millions", "GASPRODGQ": "Millions", "GASPRODGR": "Millions", "GASPRODHK": "Millions", "GASPRODHR": "Millions", "GASPRODHU": "Millions", "GASPRODID": "Millions", "GASPRODIE": "Millions", "GASPRODIN": "Millions", "GASPRODIQ": "Millions", "GASPRODIT": "Millions", "GASPRODJP": "Millions", "GASPRODKR": "Millions", "GASPRODKW": "Millions", "GASPRODKZ": "Millions", "GASPRODLT": "Millions", "GASPRODLU": "Millions", "GASPRODLV": "Millions", "GASPRODLY": "Millions", "GASPRODMA": "Millions", "GASPRODMD": "Millions", "GASPRODMK": "Millions", "GASPRODMT": "Millions", "GASPRODMX": "Millions", "GASPRODMY": "Millions", "GASPRODNG": "Millions", "GASPRODNL": "Millions", "GASPRODNO": "Millions", "GASPRODNZ": "Millions", "GASPRODPE": "Millions", "GASPRODPG": "Millions", "GASPRODPH": "Millions", "GASPRODPL": "Millions", "GASPRODPT": "Millions", "GASPRODQA": "Millions", "GASPRODRO": "Millions", "GASPRODRU": "Millions", "GASPRODSE": "Millions", "GASPRODSG": "Millions", "GASPRODSI": "Millions", "GASPRODSK": "Millions", "GASPRODTH": "Millions", "GASPRODTN": "Millions", "GASPRODTR": "Millions", "GASPRODTT": "Millions", "GASPRODTW": "Millions", "GASPRODUA": "Millions", "GASPRODUK": "Millions", "GASPRODUS": "Millions", "GASPRODVE": "Millions", "GASPRODVN": "Millions", "GASPRODZA": "Millions", "GBALAR": "Millions", "GBALAT": "Millions", "GBALAU": "Millions", "GBALAZ": "Millions", "GBALBD": "Billions", "GBALBE": "Millions", "GBALBG": "Millions", "GBALBR": "Millions", "GBALCA": "Millions", "GBALCH": "Millions", "GBALCN": "Billions", "GBALCO": "Billions", "GBALCR": "Millions", "GBALCY": "Millions", "GBALCZ": "Millions", "GBALDE": "Millions", "GBALDK": "Millions", "GBALEE": "Millions", "GBALES": "Millions", "GBALEU": "Millions", "GBALFI": "Millions", "GBALFR": "Millions", "GBALGR": "Millions", "GBALHK": "Millions", "GBALHR": "Millions", "GBALHU": "Millions", "GBALID": "Billions", "GBALIE": "Millions", "GBALIL": "Millions", "GBALIN": "Billions", "GBALIS": "Millions", "GBALIT": "Millions", "GBALJP": "Billions", "GBALKH": "Millions", "GBALKR": "Billions", "GBALKZ": "Millions", "GBALLT": "Millions", "GBALLU": "Millions", "GBALLV": "Millions", "GBALMO": "Millions", "GBALMT": "Millions", "GBALMX": "Millions", "GBALMY": "Millions", "GBALNL": "Millions", "GBALNO": "Millions", "GBALPE": "Millions", "GBALPH": "Millions", "GBALPL": "Millions", "GBALPT": "Millions", "GBALRO": "Millions", "GBALRU": "Billions", "GBALSA": "Millions", "GBALSE": "Millions", "GBALSG": "Millions", "GBALSI": "Millions", "GBALSK": "Millions", "GBALTH": "Millions", "GBALTR": "Millions", "GBALTW": "Thousands", "GBALUA": "Millions", "GBALUK": "Millions", "GBALUS": "Millions", "GBALZA": "Millions", "GCFAT": "Millions", "GCFBE": "Millions", "GCFBG": "Millions", "GCFBR": "Millions", "GCFBY": "Millions", "GCFCH": "Millions", "GCFCN": "Hundreds Millions", "GCFCY": "Millions", "GCFCZ": "Millions", "GCFDE": "Millions", "GCFDK": "Millions", "GCFEA": "Millions", "GCFEE": "Millions", "GCFES": "Millions", "GCFEU": "Millions", "GCFFI": "Millions", "GCFFR": "Millions", "GCFGR": "Millions", "GCFHR": "Millions", "GCFHU": "Millions", "GCFIE": "Millions", "GCFIT": "Millions", "GCFKR": "Billions", "GCFLT": "Millions", "GCFLU": "Millions", "GCFLV": "Millions", "GCFME": "Millions", "GCFMK": "Millions", "GCFMT": "Millions", "GCFNL": "Millions", "GCFNO": "Millions", "GCFNZ": "Millions", "GCFPE": "Millions", "GCFPL": "Millions", "GCFPT": "Millions", "GCFQA": "Millions", "GCFRO": "Millions", "GCFRS": "Millions", "GCFRU": "Billions", "GCFSE": "Millions", "GCFSI": "Millions", "GCFSK": "Millions", "GCFTH": "Millions", "GCFUA": "Millions", "GCFUK": "Millions", "GDEBTAR": "Millions", "GDEBTAT": "Millions", "GDEBTAU": "Millions", "GDEBTBE": "Millions", "GDEBTBG": "Millions", "GDEBTBR": "Millions", "GDEBTCA": "Millions", "GDEBTCL": "Millions", "GDEBTCN": "Hundreds Millions", "GDEBTCO": "Billions", "GDEBTCR": "Millions", "GDEBTCY": "Millions", "GDEBTCZ": "Millions", "GDEBTDE": "Millions", "GDEBTDK": "Millions", "GDEBTEE": "Millions", "GDEBTES": "Millions", "GDEBTEU": "Millions", "GDEBTFI": "Millions", "GDEBTFR": "Millions", "GDEBTGR": "Millions", "GDEBTHK": "Millions", "GDEBTHR": "Millions", "GDEBTHU": "Millions", "GDEBTID": "Billions", "GDEBTIE": "Millions", "GDEBTIL": "Millions", "GDEBTIN": "Tens Millions", "GDEBTIT": "Millions", "GDEBTJO": "Millions", "GDEBTJP": "Hundreds Millions", "GDEBTKR": "Millions", "GDEBTKZ": "Millions", "GDEBTLT": "Millions", "GDEBTLU": "Millions", "GDEBTLV": "Millions", "GDEBTMT": "Millions", "GDEBTMX": "Billions", "GDEBTMY": "Millions", "GDEBTNAT": "Millions", "GDEBTNBE": "Millions", "GDEBTNBG": "Millions", "GDEBTNCY": "Millions", "GDEBTNCZ": "Millions", "GDEBTNDE": "Millions", "GDEBTNDK": "Millions", "GDEBTNEE": "Millions", "GDEBTNES": "Millions", "GDEBTNEU": "Millions", "GDEBTNFI": "Millions", "GDEBTNFR": "Millions", "GDEBTNGR": "Millions", "GDEBTNHR": "Millions", "GDEBTNHU": "Millions", "GDEBTNIE": "Millions", "GDEBTNIT": "Millions", "GDEBTNL": "Millions", "GDEBTNLT": "Millions", "GDEBTNLU": "Millions", "GDEBTNLV": "Millions", "GDEBTNMT": "Millions", "GDEBTNNL": "Millions", "GDEBTNNO": "Millions", "GDEBTNO": "Millions", "GDEBTNPL": "Millions", "GDEBTNPT": "Millions", "GDEBTNRO": "Millions", "GDEBTNSE": "Millions", "GDEBTNSI": "Millions", "GDEBTNSK": "Millions", "GDEBTNUK": "Millions", "GDEBTPH": "Millions", "GDEBTPK": "Billions", "GDEBTPL": "Millions", "GDEBTPT": "Millions", "GDEBTQA": "Billions", "GDEBTRO": "Millions", "GDEBTRU": "Millions", "GDEBTSA": "Millions", "GDEBTSE": "Millions", "GDEBTSG": "Millions", "GDEBTSI": "Millions", "GDEBTSK": "Millions", "GDEBTSV": "Millions", "GDEBTTH": "Millions", "GDEBTTR": "Millions", "GDEBTTW": "Millions", "GDEBTUK": "Billions", "GDEBTUS": "Millions", "GDEBTZA": "Millions", "GDPAE": "Millions", "GDPAL": "Millions", "GDPAR": "Millions", "GDPAT": "Millions", "GDPAU": "Millions", "GDPAZ": "Millions", "GDPBD": "Millions", "GDPBE": "Millions", "GDPBG": "Millions", "GDPBR": "Millions", "GDPBW": "Millions", "GDPBY": "Millions", "GDPCA": "Millions", "GDPCH": "Millions", "GDPCL": "Billions", "GDPCM": "Billions", "GDPCN": "Hundreds Millions", "GDPCO": "Billions", "GDPCR": "Millions", "GDPCY": "Millions", "GDPCZ": "Millions", "GDPDE": "Millions", "GDPDEFLK": "Units", "GDPDK": "Millions", "GDPEA": "Millions", "GDPEE": "Millions", "GDPEG": "Millions", "GDPES": "Millions", "GDPEU": "Millions", "GDPFI": "Millions", "GDPFR": "Millions", "GDPGR": "Millions", "GDPHK": "Millions", "GDPHN": "Millions", "GDPHR": "Millions", "GDPHU": "Millions", "GDPID": "Billions", "GDPIE": "Millions", "GDPIL": "Millions", "GDPIN": "Tens Millions", "GDPIR": "Billions", "GDPIT": "Millions", "GDPJO": "Millions", "GDPJP": "Billions", "GDPKH": "Billions", "GDPKR": "Billions", "GDPKZ": "Millions", "GDPLA": "Billions", "GDPLT": "Millions", "GDPLU": "Millions", "GDPLV": "Millions", "GDPMA": "Millions", "GDPME": "Millions", "GDPMK": "Millions", "GDPMO": "Millions", "GDPMT": "Millions", "GDPMX": "Millions", "GDPMY": "Millions", "GDPNG": "Thousands", "GDPNL": "Millions", "GDPNO": "Millions", "GDPNZ": "Millions", "GDPPA": "Millions", "GDPPCAL": "Units", "GDPPCAT": "Units", "GDPPCAU": "Units", "GDPPCBE": "Units", "GDPPCBG": "Units", "GDPPCBR": "Units", "GDPPCCH": "Units", "GDPPCCN": "Units", "GDPPCCY": "Units", "GDPPCCZ": "Units", "GDPPCDE": "Units", "GDPPCDK": "Units", "GDPPCEA": "Units", "GDPPCEE": "Units", "GDPPCES": "Units", "GDPPCEU": "Units", "GDPPCFI": "Units", "GDPPCFR": "Units", "GDPPCGR": "Units", "GDPPCHR": "Units", "GDPPCHU": "Units", "GDPPCIE": "Units", "GDPPCIS": "Units", "GDPPCIT": "Units", "GDPPCKH": "Thousands", "GDPPCKZ": "Units", "GDPPCLI": "Units", "GDPPCLT": "Units", "GDPPCLU": "Units", "GDPPCLV": "Units", "GDPPCME": "Units", "GDPPCMK": "Units", "GDPPCMT": "Units", "GDPPCNL": "Units", "GDPPCNO": "Units", "GDPPCNZ": "Units", "GDPPCPL": "Units", "GDPPCPT": "Units", "GDPPCRO": "Units", "GDPPCRS": "Units", "GDPPCSE": "Units", "GDPPCSG": "Units", "GDPPCSI": "Units", "GDPPCSK": "Units", "GDPPCTR": "Units", "GDPPCTW": "Units", "GDPPCUS": "Units", "GDPPE": "Millions", "GDPPH": "Millions", "GDPPK": "Millions", "GDPPL": "Millions", "GDPPT": "Millions", "GDPQA": "Millions", "GDPRO": "Millions", "GDPRS": "Millions", "GDPRU": "Billions", "GDPRW": "Billions", "GDPSA": "Millions", "GDPSE": "Millions", "GDPSG": "Millions", "GDPSI": "Millions", "GDPSK": "Millions", "GDPSV": "Millions", "GDPTH": "Millions", "GDPTN": "Millions", "GDPTR": "Thousands", "GDPTW": "Millions", "GDPUA": "Millions", "GDPUK": "Millions", "GDPUS": "Millions", "GDPUZ": "Billions", "GDPVN": "Billions", "GDPZA": "Millions", "GFCFAE": "Millions", "GFCFAL": "Millions", "GFCFAR": "Millions", "GFCFAT": "Millions", "GFCFAU": "Millions", "GFCFAZ": "Millions", "GFCFBD": "Millions", "GFCFBE": "Millions", "GFCFBG": "Millions", "GFCFBR": "Millions", "GFCFBW": "Millions", "GFCFBY": "Millions", "GFCFCA": "Millions", "GFCFCH": "Millions", "GFCFCL": "Billions", "GFCFCM": "Billions", "GFCFCN": "Units", "GFCFCO": "Billions", "GFCFCY": "Millions", "GFCFCZ": "Millions", "GFCFDE": "Millions", "GFCFDK": "Millions", "GFCFEA": "Millions", "GFCFEE": "Millions", "GFCFES": "Millions", "GFCFEU": "Millions", "GFCFFI": "Millions", "GFCFFR": "Millions", "GFCFGR": "Millions", "GFCFHK": "Millions", "GFCFHR": "Millions", "GFCFHU": "Millions", "GFCFID": "Billions", "GFCFIE": "Millions", "GFCFIL": "Millions", "GFCFIN": "Tens Millions", "GFCFIR": "Billions", "GFCFIT": "Millions", "GFCFJP": "Billions", "GFCFKR": "Billions", "GFCFKZ": "Millions", "GFCFLT": "Millions", "GFCFLU": "Millions", "GFCFLV": "Millions", "GFCFMA": "Millions", "GFCFME": "Millions", "GFCFMN": "Millions", "GFCFMT": "Millions", "GFCFMX": "Millions", "GFCFMY": "Millions", "GFCFNG": "Millions", "GFCFNL": "Millions", "GFCFNO": "Millions", "GFCFNZ": "Millions", "GFCFPH": "Millions", "GFCFPK": "Millions", "GFCFPL": "Millions", "GFCFPT": "Millions", "GFCFRO": "Millions", "GFCFRS": "Millions", "GFCFRU": "Billions", "GFCFSA": "Millions", "GFCFSE": "Millions", "GFCFSG": "Millions", "GFCFSI": "Millions", "GFCFSK": "Millions", "GFCFTH": "Millions", "GFCFTR": "Thousands", "GFCFTW": "Millions", "GFCFUA": "Millions", "GFCFUK": "Millions", "GFCFUS": "Millions", "GFCFUZ": "Billions", "GFCFVN": "Billions", "GFCFZA": "Millions", "GREVAR": "Millions", "GREVAT": "Millions", "GREVAU": "Millions", "GREVAZ": "Millions", "GREVBD": "Billions", "GREVBE": "Millions", "GREVBG": "Millions", "GREVBR": "Millions", "GREVCA": "Millions", "GREVCH": "Millions", "GREVCN": "Hundreds Millions", "GREVCO": "Billions", "GREVCR": "Millions", "GREVCY": "Millions", "GREVCZ": "Millions", "GREVDE": "Millions", "GREVDK": "Millions", "GREVEE": "Millions", "GREVES": "Millions", "GREVEU": "Millions", "GREVFI": "Millions", "GREVFR": "Millions", "GREVHK": "Millions", "GREVHR": "Millions", "GREVHU": "Millions", "GREVID": "Billions", "GREVIE": "Millions", "GREVIL": "Millions", "GREVIN": "Billions", "GREVJP": "Billions", "GREVKH": "Millions", "GREVKR": "Billions", "GREVKZ": "Millions", "GREVLT": "Millions", "GREVLU": "Millions", "GREVLV": "Millions", "GREVMA": "Millions", "GREVMO": "Millions", "GREVMT": "Millions", "GREVMX": "Millions", "GREVMY": "Millions", "GREVNL": "Millions", "GREVPE": "Millions", "GREVPH": "Millions", "GREVPL": "Millions", "GREVPT": "Millions", "GREVRO": "Millions", "GREVRU": "Billions", "GREVSA": "Millions", "GREVSE": "Millions", "GREVSG": "Millions", "GREVSI": "Millions", "GREVSK": "Millions", "GREVSV": "Millions", "GREVTH": "Millions", "GREVTR": "Millions", "GREVTW": "Thousands", "GREVUA": "Millions", "GREVUK": "Millions", "GREVUS": "Millions", "GREVUY": "Millions", "GREVVN": "Billions", "GREVZA": "Millions", "GSPEAR": "Millions", "GSPEAT": "Millions", "GSPEAU": "Millions", "GSPEAZ": "Millions", "GSPEBD": "Billions", "GSPEBE": "Millions", "GSPEBG": "Millions", "GSPEBR": "Millions", "GSPECA": "Millions", "GSPECH": "Millions", "GSPECN": "Hundreds Millions", "GSPECO": "Billions", "GSPECR": "Millions", "GSPECY": "Millions", "GSPECZ": "Millions", "GSPEDE": "Millions", "GSPEDK": "Millions", "GSPEEE": "Millions", "GSPEES": "Millions", "GSPEEU": "Millions", "GSPEFI": "Millions", "GSPEFR": "Millions", "GSPEHK": "Millions", "GSPEHR": "Millions", "GSPEHU": "Millions", "GSPEID": "Billions", "GSPEIE": "Millions", "GSPEIL": "Millions", "GSPEIN": "Billions", "GSPEJP": "Billions", "GSPEKH": "Millions", "GSPEKR": "Billions", "GSPEKZ": "Millions", "GSPELT": "Millions", "GSPELU": "Millions", "GSPELV": "Millions", "GSPEMO": "Millions", "GSPEMT": "Millions", "GSPEMX": "Millions", "GSPEMY": "Millions", "GSPENL": "Millions", "GSPEPE": "Millions", "GSPEPH": "Millions", "GSPEPL": "Millions", "GSPEPT": "Millions", "GSPERO": "Millions", "GSPERU": "Billions", "GSPESA": "Millions", "GSPESE": "Millions", "GSPESG": "Millions", "GSPESI": "Millions", "GSPESK": "Millions", "GSPETH": "Millions", "GSPETR": "Millions", "GSPETW": "Thousands", "GSPEUA": "Millions", "GSPEUK": "Millions", "GSPEUS": "Millions", "GSPEUY": "Millions", "GSPEVN": "Billions", "GSPEZA": "Millions", "HHDIRAT": "Units", "HHDIRBE": "Units", "HHDIRCH": "Units", "HHDIRCY": "Units", "HHDIRCZ": "Units", "HHDIRDE": "Units", "HHDIRDK": "Units", "HHDIREE": "Units", "HHDIRES": "Units", "HHDIRFI": "Units", "HHDIRFR": "Units", "HHDIRGR": "Units", "HHDIRHR": "Units", "HHDIRHU": "Units", "HHDIRIE": "Units", "HHDIRIT": "Units", "HHDIRLT": "Units", "HHDIRLU": "Units", "HHDIRLV": "Units", "HHDIRNL": "Units", "HHDIRNO": "Units", "HHDIRPL": "Units", "HHDIRPT": "Units", "HHDIRSE": "Units", "HHDIRSI": "Units", "HHDIRSK": "Units", "HHDIRTR": "Units", "HHSAT": "Units", "HHSBE": "Units", "HHSCN": "Hundreds Millions", "HHSCZ": "Units", "HHSDE": "Units", "HHSDK": "Units", "HHSES": "Units", "HHSEU": "Units", "HHSFI": "Units", "HHSFR": "Units", "HHSGR": "Units", "HHSHU": "Units", "HHSIE": "Units", "HHSIT": "Units", "HHSNL": "Units", "HHSNO": "Units", "HHSPL": "Units", "HHSPT": "Units", "HHSRO": "Units", "HHSSE": "Units", "HHSSI": "Units", "HHSUK": "Units", "HOU5R": "Units", "HOUAE": "Units", "HOUAT": "Units", "HOUAU": "Units", "HOUBE": "Units", "HOUBG": "Units", "HOUBR": "Units", "HOUCA": "Units", "HOUCH": "Units", "HOUCL": "Units", "HOUCN": "Units", "HOUCO": "Units", "HOUCY": "Units", "HOUCZ": "Units", "HOUDE": "Units", "HOUDK": "Units", "HOUEA": "Units", "HOUEE": "Units", "HOUES": "Units", "HOUEU": "Units", "HOUFI": "Units", "HOUFR": "Units", "HOUGR": "Units", "HOUHK": "Units", "HOUHR": "Units", "HOUHU": "Units", "HOUID": "Units", "HOUIE": "Units", "HOUIL": "Units", "HOUIN": "Units", "HOUIS": "Units", "HOUIT": "Units", "HOUJP": "Units", "HOUKR": "Units", "HOULT": "Units", "HOULU": "Units", "HOULV": "Units", "HOUMA": "Units", "HOUMK": "Units", "HOUMT": "Units", "HOUMX": "Units", "HOUMY": "Units", "HOUNL": "Units", "HOUNO": "Units", "HOUNZ": "Units", "HOUPE": "Units", "HOUPH": "Units", "HOUPL": "Units", "HOUPT": "Units", "HOURO": "Units", "HOURU": "Units", "HOUSE": "Units", "HOUSG": "Units", "HOUSI": "Units", "HOUSK": "Units", "HOUTH": "Units", "HOUTR": "Units", "HOUUK": "Units", "HOUUS": "Units", "HOUXW": "Units", "HOUZA": "Units", "IBD1AU": "Units", "IBD1BG": "Units", "IBD1CL": "Units", "IBD1CO": "Units", "IBD1CZ": "Units", "IBD1DK": "Units", "IBD1EA": "Units", "IBD1HR": "Units", "IBD1HU": "Units", "IBD1KR": "Units", "IBD1MX": "Units", "IBD1NZ": "Units", "IBD1PL": "Units", "IBD1PY": "Units", "IBD1RO": "Units", "IBD1RU": "Units", "IBD1SE": "Units", "IBD1SG": "Units", "IBD1TH": "Units", "IBD1TR": "Units", "IBD1UA": "Units", "IBD1UK": "Units", "IIPAAL": "Millions", "IIPAAR": "Millions", "IIPAAT": "Millions", "IIPAAU": "Millions", "IIPABA": "Millions", "IIPABD": "Millions", "IIPABE": "Millions", "IIPABG": "Millions", "IIPABR": "Millions", "IIPACA": "Millions", "IIPACH": "Millions", "IIPACL": "Millions", "IIPACN": "Hundreds Millions", "IIPACO": "Millions", "IIPACY": "Millions", "IIPACZ": "Millions", "IIPADE": "Millions", "IIPADK": "Millions", "IIPAEE": "Millions", "IIPAEG": "Millions", "IIPAES": "Millions", "IIPAFI": "Millions", "IIPAFR": "Millions", "IIPAGR": "Millions", "IIPAHK": "Millions", "IIPAHR": "Millions", "IIPAHU": "Millions", "IIPAID": "Millions", "IIPAIE": "Millions", "IIPAIL": "Millions", "IIPAIN": "Millions", "IIPAIS": "Millions", "IIPAIT": "Millions", "IIPAJP": "Billions", "IIPAKH": "Billions", "IIPAKR": "Millions", "IIPALT": "Millions", "IIPALU": "Millions", "IIPALV": "Millions", "IIPAMT": "Millions", "IIPAMX": "Millions", "IIPAMY": "Millions", "IIPANL": "Millions", "IIPANO": "Millions", "IIPANP": "Millions", "IIPAPH": "Millions", "IIPAPK": "Millions", "IIPAPL": "Millions", "IIPAPT": "Millions", "IIPARO": "Millions", "IIPARU": "Millions", "IIPASA": "Millions", "IIPASE": "Millions", "IIPASG": "Millions", "IIPASI": "Millions", "IIPASK": "Millions", "IIPATH": "Millions", "IIPATR": "Millions", "IIPATW": "Millions", "IIPAUK": "Millions", "IIPAUS": "Billions", "IIPAXK": "Millions", "IIPAZA": "Billions", "IIPLAL": "Millions", "IIPLAR": "Millions", "IIPLAT": "Millions", "IIPLAU": "Millions", "IIPLBA": "Millions", "IIPLBD": "Millions", "IIPLBE": "Millions", "IIPLBG": "Millions", "IIPLBR": "Millions", "IIPLCA": "Millions", "IIPLCH": "Millions", "IIPLCL": "Millions", "IIPLCN": "Hundreds Millions", "IIPLCO": "Millions", "IIPLCY": "Millions", "IIPLCZ": "Millions", "IIPLDE": "Millions", "IIPLDK": "Millions", "IIPLEE": "Millions", "IIPLEG": "Millions", "IIPLES": "Millions", "IIPLFI": "Millions", "IIPLFR": "Millions", "IIPLGR": "Millions", "IIPLHK": "Millions", "IIPLHR": "Millions", "IIPLHU": "Millions", "IIPLID": "Millions", "IIPLIE": "Millions", "IIPLIL": "Millions", "IIPLIN": "Millions", "IIPLIS": "Millions", "IIPLIT": "Millions", "IIPLJP": "Billions", "IIPLKH": "Billions", "IIPLKR": "Millions", "IIPLLT": "Millions", "IIPLLU": "Millions", "IIPLLV": "Millions", "IIPLMT": "Millions", "IIPLMX": "Millions", "IIPLMY": "Millions", "IIPLNL": "Millions", "IIPLNO": "Millions", "IIPLNP": "Millions", "IIPLPH": "Millions", "IIPLPK": "Millions", "IIPLPL": "Millions", "IIPLPT": "Millions", "IIPLRO": "Millions", "IIPLRU": "Millions", "IIPLSA": "Millions", "IIPLSE": "Millions", "IIPLSG": "Millions", "IIPLSI": "Millions", "IIPLSK": "Millions", "IIPLTH": "Millions", "IIPLTR": "Millions", "IIPLTW": "Millions", "IIPLUK": "Millions", "IIPLUS": "Billions", "IIPLXK": "Millions", "IIPLZA": "Billions", "IMPAE": "Millions", "IMPAL": "Millions", "IMPAR": "Millions", "IMPAT": "Millions", "IMPAU": "Millions", "IMPAZ": "Millions", "IMPBD": "Millions", "IMPBE": "Millions", "IMPBG": "Millions", "IMPBR": "Millions", "IMPBW": "Millions", "IMPBY": "Millions", "IMPCA": "Millions", "IMPCH": "Millions", "IMPCL": "Billions", "IMPCM": "Billions", "IMPCN": "Tens thousands", "IMPCO": "Billions", "IMPCY": "Millions", "IMPCZ": "Millions", "IMPDE": "Millions", "IMPDK": "Millions", "IMPEA": "Millions", "IMPEE": "Millions", "IMPES": "Millions", "IMPEU": "Millions", "IMPFI": "Millions", "IMPFR": "Millions", "IMPGR": "Millions", "IMPHK": "Millions", "IMPHR": "Millions", "IMPHU": "Millions", "IMPID": "Billions", "IMPIE": "Millions", "IMPIL": "Millions", "IMPIN": "Tens Millions", "IMPIR": "Billions", "IMPIT": "Millions", "IMPJO": "Millions", "IMPJP": "Billions", "IMPKR": "Billions", "IMPKZ": "Millions", "IMPLT": "Millions", "IMPLU": "Millions", "IMPLV": "Millions", "IMPMA": "Millions", "IMPME": "Millions", "IMPMK": "Millions", "IMPMN": "Millions", "IMPMONAR": "Millions", "IMPMONAU": "Millions", "IMPMONBD": "Millions", "IMPMONBE": "Millions", "IMPMONBG": "Millions", "IMPMONBR": "Units", "IMPMONCA": "Millions", "IMPMONCL": "Millions", "IMPMONCN": "Thousands", "IMPMONCO": "Millions", "IMPMONCR": "Millions", "IMPMONCZ": "Millions", "IMPMONDE": "Millions", "IMPMONDK": "Millions", "IMPMONEE": "Millions", "IMPMONEG": "Millions", "IMPMONES": "Millions", "IMPMONEU": "Millions", "IMPMONFI": "Millions", "IMPMONFR": "Millions", "IMPMONGR": "Millions", "IMPMONHK": "Millions", "IMPMONHR": "Millions", "IMPMONHU": "Millions", "IMPMONID": "Millions", "IMPMONIN": "Millions", "IMPMONIT": "Millions", "IMPMONJP": "Thousands", "IMPMONKH": "Millions", "IMPMONKR": "Thousands", "IMPMONKZ": "Millions", "IMPMONLT": "Millions", "IMPMONLU": "Millions", "IMPMONLV": "Millions", "IMPMONMK": "Millions", "IMPMONMT": "Millions", "IMPMONMX": "Millions", "IMPMONMY": "Millions", "IMPMONNL": "Millions", "IMPMONNP": "Millions", "IMPMONPH": "Millions", "IMPMONPK": "Millions", "IMPMONPL": "Millions", "IMPMONPT": "Millions", "IMPMONQA": "Millions", "IMPMONRO": "Millions", "IMPMONRS": "Millions", "IMPMONRU": "Millions", "IMPMONSA": "Millions", "IMPMONSE": "Millions", "IMPMONSG": "Thousands", "IMPMONSI": "Millions", "IMPMONSK": "Millions", "IMPMONTH": "Millions", "IMPMONTR": "Thousands", "IMPMONTW": "Millions", "IMPMONUA": "Millions", "IMPMONUK": "Millions", "IMPMONUS": "Millions", "IMPMONUY": "Millions", "IMPMONVN": "Thousands", "IMPMONZA": "Millions", "IMPMT": "Millions", "IMPMX": "Millions", "IMPMY": "Millions", "IMPNG": "Millions", "IMPNL": "Millions", "IMPNO": "Millions", "IMPNZ": "Millions", "IMPPE": "Millions", "IMPPH": "Millions", "IMPPK": "Millions", "IMPPL": "Millions", "IMPPT": "Millions", "IMPQA": "Millions", "IMPRO": "Millions", "IMPRS": "Millions", "IMPRU": "Billions", "IMPRW": "Billions", "IMPSA": "Millions", "IMPSE": "Millions", "IMPSG": "Millions", "IMPSI": "Millions", "IMPSK": "Millions", "IMPSV": "Millions", "IMPTH": "Millions", "IMPTR": "Thousands", "IMPTW": "Millions", "IMPUA": "Millions", "IMPUK": "Millions", "IMPUS": "Millions", "IMPZA": "Millions", "INVERAT": "Units", "INVERBE": "Units", "INVERCH": "Units", "INVERCY": "Units", "INVERCZ": "Units", "INVERDE": "Units", "INVERDK": "Units", "INVEREE": "Units", "INVERES": "Units", "INVERFI": "Units", "INVERFR": "Units", "INVERGR": "Units", "INVERHR": "Units", "INVERHU": "Units", "INVERIE": "Units", "INVERIT": "Units", "INVERLT": "Units", "INVERLV": "Units", "INVERNL": "Units", "INVERNO": "Units", "INVERPL": "Units", "INVERPT": "Units", "INVERRO": "Units", "INVERSE": "Units", "INVERSI": "Units", "INVERSK": "Units", "IPAR": "Units", "IPAT": "Units", "IPAU": "Units", "IPAZ": "Units", "IPBA": "Units", "IPBD": "Units", "IPBE": "Units", "IPBG": "Units", "IPBR": "Units", "IPBY": "Millions", "IPCA": "Units", "IPCH": "Units", "IPCL": "Units", "IPCM": "Units", "IPCN": "Units", "IPCO": "Units", "IPCR": "Units", "IPCY": "Units", "IPCZ": "Units", "IPDE": "Units", "IPDK": "Units", "IPEE": "Units", "IPEG": "Units", "IPES": "Units", "IPEU": "Units", "IPFI": "Units", "IPFR": "Units", "IPGR": "Units", "IPHK": "Units", "IPHR": "Units", "IPHU": "Units", "IPID": "Units", "IPIE": "Units", "IPIL": "Units", "IPIN": "Units", "IPIT": "Units", "IPJO": "Units", "IPJP": "Units", "IPKR": "Units", "IPKZ": "Units", "IPLT": "Units", "IPLU": "Units", "IPLV": "Units", "IPMA": "Units", "IPME": "Units", "IPMK": "Units", "IPMT": "Units", "IPMX": "Units", "IPMY": "Units", "IPNL": "Units", "IPNO": "Units", "IPPA": "Units", "IPPH": "Units", "IPPK": "Units", "IPPL": "Units", "IPPT": "Units", "IPQA": "Units", "IPRO": "Units", "IPRS": "Units", "IPRU": "Units", "IPSA": "Units", "IPSE": "Units", "IPSG": "Units", "IPSI": "Units", "IPSK": "Units", "IPTH": "Units", "IPTR": "Units", "IPTW": "Units", "IPUA": "Units", "IPUK": "Units", "IPUS": "Units", "IPUY": "Units", "IPVN": "Units", "IPZA": "Units", "JHRUS": "Units", "JLRUS": "Units", "JQRUS": "Units", "JVRAT": "Units", "JVRBE": "Units", "JVRBG": "Units", "JVRCH": "Units", "JVRCY": "Units", "JVRCZ": "Units", "JVRDE": "Units", "JVREA": "Units", "JVREE": "Units", "JVRES": "Units", "JVREU": "Units", "JVRFI": "Units", "JVRGR": "Units", "JVRHR": "Units", "JVRHU": "Units", "JVRIE": "Units", "JVRIT": "Units", "JVRLT": "Units", "JVRLU": "Units", "JVRLV": "Units", "JVRMK": "Units", "JVRMT": "Units", "JVRNL": "Units", "JVRNO": "Units", "JVRPL": "Units", "JVRPT": "Units", "JVRRO": "Units", "JVRSE": "Units", "JVRSI": "Units", "JVRSK": "Units", "JVRUK": "Units", "JVRUS": "Units", "KABE": "Millions", "KABG": "Millions", "KACN": "Hundreds Millions", "KACZ": "Millions", "KADE": "Millions", "KADK": "Millions", "KAEE": "Millions", "KAES": "Millions", "KAFI": "Millions", "KAFR": "Millions", "KAGR": "Millions", "KAHR": "Millions", "KAHU": "Millions", "KAIT": "Millions", "KALT": "Millions", "KALU": "Millions", "KALV": "Millions", "KAMT": "Millions", "KANL": "Millions", "KAPH": "Millions", "KAPL": "Millions", "KAPT": "Millions", "KARO": "Millions", "KASE": "Millions", "KASI": "Millions", "KASK": "Millions", "LE00CN": "Units", "LMICS": "Units", "M3AR": "Millions", "M3AU": "Billions", "M3BR": "Thousands", "M3BY": "Millions", "M3CA": "Millions", "M3CH": "Millions", "M3CL": "Billions", "M3CN": "Hundreds Millions", "M3CR": "Millions", "M3EA": "Millions", "M3HU": "Billions", "M3ID": "Billions", "M3IN": "Units", "M3JP": "Hundreds Millions", "M3KR": "Billions", "M3KZ": "Millions", "M3MA": "Millions", "M3MX": "Thousands", "M3MY": "Millions", "M3NO": "Millions", "M3NP": "Millions", "M3PH": "Millions", "M3PL": "Millions", "M3RU": "Billions", "M3SA": "Millions", "M3SG": "Millions", "M3TH": "Billions", "M3TN": "Millions", "M3TR": "Thousands", "M3UA": "Millions", "M3UK": "Millions", "M3US": "Billions", "M3UY": "Millions", "M3YDAE": "Units", "M3YDAU": "Units", "M3YDCA": "Units", "M3YDCN": "Units", "M3YDCZ": "Units", "M3YDDK": "Units", "M3YDEA": "Units", "M3YDHK": "Units", "M3YDHR": "Units", "M3YDHU": "Units", "M3YDID": "Units", "M3YDIN": "Units", "M3YDJP": "Units", "M3YDKR": "Units", "M3YDMO": "Units", "M3YDMX": "Units", "M3YDMY": "Units", "M3YDNP": "Units", "M3YDNZ": "Units", "M3YDPA": "Units", "M3YDPH": "Units", "M3YDPL": "Units", "M3YDQA": "Units", "M3YDRO": "Units", "M3YDRU": "Units", "M3YDSA": "Units", "M3YDSE": "Units", "M3YDSG": "Units", "M3YDTH": "Units", "M3YDTR": "Units", "M3YDUA": "Units", "M3YDUK": "Units", "M3YDUS": "Units", "M3YDVN": "Units", "M3YDZA": "Units", "M3ZA": "Millions", "MBAR": "Millions", "MBAU": "Billions", "MBBR": "Thousands", "MBCH": "Millions", "MBCN": "Hundreds Millions", "MBEG": "Millions", "MBIN": "Units", "MBJP": "Hundreds Millions", "MBKR": "Billions", "MBMX": "Thousands", "MBMY": "Millions", "MBNO": "Millions", "MBRU": "Billions", "MBSA": "Millions", "MBTH": "Billions", "MBTR": "Thousands", "MBUA": "Millions", "MBUK": "Millions", "MBUS": "Billions", "NCTBE": "Millions", "NCTBG": "Millions", "NCTCN": "Hundreds Millions", "NCTCZ": "Millions", "NCTDE": "Millions", "NCTDK": "Millions", "NCTEE": "Millions", "NCTES": "Millions", "NCTFI": "Millions", "NCTFR": "Millions", "NCTGR": "Millions", "NCTHR": "Millions", "NCTHU": "Millions", "NCTIT": "Millions", "NCTLT": "Millions", "NCTLU": "Millions", "NCTLV": "Millions", "NCTMT": "Millions", "NCTMX": "Millions", "NCTNL": "Millions", "NCTPH": "Millions", "NCTPL": "Millions", "NCTPT": "Millions", "NCTRO": "Millions", "NCTSE": "Millions", "NCTSI": "Millions", "NCTSK": "Millions", "NFCIAT": "Units", "NFCIBE": "Units", "NFCICZ": "Units", "NFCIDE": "Units", "NFCIDK": "Units", "NFCIEE": "Units", "NFCIES": "Units", "NFCIEU": "Units", "NFCIFI": "Units", "NFCIFR": "Units", "NFCIGR": "Units", "NFCIHU": "Units", "NFCIIE": "Units", "NFCIIT": "Units", "NFCINL": "Units", "NFCINO": "Units", "NFCIPL": "Units", "NFCIPT": "Units", "NFCIRO": "Units", "NFCISE": "Units", "NFCIUK": "Units", "NFCLOANBG": "Units", "NFCLOANCY": "Units", "NFCLOANEE": "Units", "NFCLOANHR": "Units", "NFCLOANLT": "Units", "NFCLOANLV": "Units", "NFCLOANMT": "Units", "NFCLOANRO": "Units", "NFCLOANSI": "Units", "NFCLOANSK": "Units", "NIIPAL": "Millions", "NIIPAR": "Millions", "NIIPAT": "Millions", "NIIPAU": "Millions", "NIIPBA": "Millions", "NIIPBD": "Millions", "NIIPBE": "Millions", "NIIPBG": "Millions", "NIIPBR": "Millions", "NIIPCA": "Millions", "NIIPCH": "Millions", "NIIPCL": "Millions", "NIIPCN": "Hundreds Millions", "NIIPCO": "Millions", "NIIPCY": "Millions", "NIIPCZ": "Millions", "NIIPDE": "Millions", "NIIPDK": "Millions", "NIIPEE": "Millions", "NIIPEG": "Millions", "NIIPES": "Millions", "NIIPFI": "Millions", "NIIPFR": "Millions", "NIIPGR": "Millions", "NIIPHK": "Millions", "NIIPHR": "Millions", "NIIPHU": "Millions", "NIIPID": "Millions", "NIIPIE": "Millions", "NIIPIL": "Millions", "NIIPIN": "Millions", "NIIPIS": "Millions", "NIIPIT": "Millions", "NIIPJP": "Billions", "NIIPKH": "Billions", "NIIPKR": "Millions", "NIIPLT": "Millions", "NIIPLU": "Millions", "NIIPLV": "Millions", "NIIPMK": "Millions", "NIIPMT": "Millions", "NIIPMX": "Millions", "NIIPMY": "Millions", "NIIPNL": "Millions", "NIIPNO": "Millions", "NIIPNP": "Millions", "NIIPPH": "Millions", "NIIPPK": "Millions", "NIIPPL": "Millions", "NIIPPT": "Millions", "NIIPRO": "Millions", "NIIPRS": "Millions", "NIIPRU": "Millions", "NIIPSA": "Millions", "NIIPSE": "Millions", "NIIPSG": "Millions", "NIIPSI": "Millions", "NIIPSK": "Millions", "NIIPTH": "Millions", "NIIPTR": "Millions", "NIIPTW": "Millions", "NIIPUA": "Millions", "NIIPUK": "Millions", "NIIPUS": "Billions", "NIIPXK": "Millions", "NIIPZA": "Billions", "NPLAR": "Units", "NPLAT": "Units", "NPLAU": "Units", "NPLBE": "Units", "NPLBR": "Units", "NPLCN": "Units", "NPLDK": "Units", "NPLES": "Units", "NPLFI": "Units", "NPLFR": "Units", "NPLHK": "Units", "NPLID": "Units", "NPLIE": "Units", "NPLIN": "Units", "NPLIT": "Units", "NPLJP": "Units", "NPLLU": "Units", "NPLMX": "Units", "NPLNL": "Units", "NPLNO": "Units", "NPLPL": "Units", "NPLRU": "Units", "NPLSA": "Units", "NPLSE": "Units", "NPLSG": "Units", "NPLTR": "Units", "NPLUS": "Units", "NPLZA": "Units", "NYBE": "Millions", "NYBG": "Millions", "NYCN": "Hundreds Millions", "NYCZ": "Millions", "NYDE": "Millions", "NYDK": "Millions", "NYEE": "Millions", "NYES": "Millions", "NYFI": "Millions", "NYFR": "Millions", "NYGR": "Millions", "NYHR": "Millions", "NYHU": "Millions", "NYIT": "Millions", "NYLT": "Millions", "NYLU": "Millions", "NYLV": "Millions", "NYMT": "Millions", "NYMX": "Millions", "NYNL": "Millions", "NYPH": "Millions", "NYPL": "Millions", "NYPT": "Millions", "NYRO": "Millions", "NYSE": "Millions", "NYSI": "Millions", "NYSK": "Millions", "OILDEMAE": "Thousands", "OILDEMAL": "Thousands", "OILDEMAM": "Thousands", "OILDEMAO": "Thousands", "OILDEMAR": "Thousands", "OILDEMAT": "Thousands", "OILDEMAU": "Thousands", "OILDEMAZ": "Thousands", "OILDEMBB": "Thousands", "OILDEMBD": "Thousands", "OILDEMBE": "Thousands", "OILDEMBG": "Thousands", "OILDEMBH": "Thousands", "OILDEMBM": "Thousands", "OILDEMBN": "Thousands", "OILDEMBO": "Thousands", "OILDEMBR": "Thousands", "OILDEMBY": "Thousands", "OILDEMBZ": "Thousands", "OILDEMCA": "Thousands", "OILDEMCH": "Thousands", "OILDEMCL": "Thousands", "OILDEMCN": "Thousands", "OILDEMCO": "Thousands", "OILDEMCR": "Thousands", "OILDEMCU": "Thousands", "OILDEMCY": "Thousands", "OILDEMCZ": "Thousands", "OILDEMDE": "Thousands", "OILDEMDK": "Thousands", "OILDEMDO": "Thousands", "OILDEMDZ": "Thousands", "OILDEMEC": "Thousands", "OILDEMEE": "Thousands", "OILDEMEG": "Thousands", "OILDEMES": "Thousands", "OILDEMFI": "Thousands", "OILDEMFR": "Thousands", "OILDEMGA": "Thousands", "OILDEMGD": "Thousands", "OILDEMGE": "Thousands", "OILDEMGM": "Thousands", "OILDEMGQ": "Thousands", "OILDEMGR": "Thousands", "OILDEMGT": "Thousands", "OILDEMGY": "Thousands", "OILDEMHK": "Thousands", "OILDEMHN": "Thousands", "OILDEMHR": "Thousands", "OILDEMHT": "Thousands", "OILDEMHU": "Thousands", "OILDEMID": "Thousands", "OILDEMIE": "Thousands", "OILDEMIN": "Thousands", "OILDEMIQ": "Thousands", "OILDEMIR": "Thousands", "OILDEMIS": "Thousands", "OILDEMIT": "Thousands", "OILDEMJM": "Thousands", "OILDEMJP": "Thousands", "OILDEMKR": "Thousands", "OILDEMKW": "Thousands", "OILDEMKZ": "Thousands", "OILDEMLT": "Thousands", "OILDEMLU": "Thousands", "OILDEMLV": "Thousands", "OILDEMLY": "Thousands", "OILDEMMA": "Thousands", "OILDEMMD": "Thousands", "OILDEMMK": "Thousands", "OILDEMMM": "Thousands", "OILDEMMT": "Thousands", "OILDEMMU": "Thousands", "OILDEMMX": "Thousands", "OILDEMMY": "Thousands", "OILDEMNE": "Thousands", "OILDEMNG": "Thousands", "OILDEMNI": "Thousands", "OILDEMNL": "Thousands", "OILDEMNO": "Thousands", "OILDEMNP": "Thousands", "OILDEMNZ": "Thousands", "OILDEMOM": "Thousands", "OILDEMPA": "Thousands", "OILDEMPE": "Thousands", "OILDEMPG": "Thousands", "OILDEMPH": "Thousands", "OILDEMPL": "Thousands", "OILDEMPT": "Thousands", "OILDEMPY": "Thousands", "OILDEMQA": "Thousands", "OILDEMRO": "Thousands", "OILDEMRU": "Thousands", "OILDEMSA": "Thousands", "OILDEMSD": "Thousands", "OILDEMSE": "Thousands", "OILDEMSG": "Thousands", "OILDEMSI": "Thousands", "OILDEMSK": "Thousands", "OILDEMSR": "Thousands", "OILDEMSV": "Thousands", "OILDEMSY": "Thousands", "OILDEMSZ": "Thousands", "OILDEMTH": "Thousands", "OILDEMTJ": "Thousands", "OILDEMTN": "Thousands", "OILDEMTR": "Thousands", "OILDEMTT": "Thousands", "OILDEMTW": "Thousands", "OILDEMUA": "Thousands", "OILDEMUK": "Thousands", "OILDEMUS": "Thousands", "OILDEMUY": "Thousands", "OILDEMVE": "Thousands", "OILDEMVN": "Thousands", "OILDEMYE": "Thousands", "OILDEMZA": "Thousands", "OILPRODAE": "Thousands", "OILPRODAL": "Thousands", "OILPRODAM": "Thousands", "OILPRODAO": "Thousands", "OILPRODAR": "Thousands", "OILPRODAT": "Thousands", "OILPRODAU": "Thousands", "OILPRODAZ": "Thousands", "OILPRODBB": "Thousands", "OILPRODBD": "Thousands", "OILPRODBE": "Thousands", "OILPRODBG": "Thousands", "OILPRODBH": "Thousands", "OILPRODBM": "Thousands", "OILPRODBN": "Thousands", "OILPRODBO": "Thousands", "OILPRODBR": "Thousands", "OILPRODBY": "Thousands", "OILPRODBZ": "Thousands", "OILPRODCA": "Thousands", "OILPRODCH": "Thousands", "OILPRODCL": "Thousands", "OILPRODCN": "Thousands", "OILPRODCO": "Thousands", "OILPRODCR": "Thousands", "OILPRODCU": "Thousands", "OILPRODCY": "Thousands", "OILPRODCZ": "Thousands", "OILPRODDE": "Thousands", "OILPRODDK": "Thousands", "OILPRODDO": "Thousands", "OILPRODDZ": "Thousands", "OILPRODEC": "Thousands", "OILPRODEE": "Thousands", "OILPRODEG": "Thousands", "OILPRODES": "Thousands", "OILPRODFI": "Thousands", "OILPRODFR": "Thousands", "OILPRODGA": "Thousands", "OILPRODGD": "Thousands", "OILPRODGE": "Thousands", "OILPRODGM": "Thousands", "OILPRODGQ": "Thousands", "OILPRODGR": "Thousands", "OILPRODGT": "Thousands", "OILPRODGY": "Thousands", "OILPRODHK": "Thousands", "OILPRODHN": "Thousands", "OILPRODHR": "Thousands", "OILPRODHT": "Thousands", "OILPRODHU": "Thousands", "OILPRODID": "Thousands", "OILPRODIE": "Thousands", "OILPRODIN": "Thousands", "OILPRODIQ": "Thousands", "OILPRODIR": "Thousands", "OILPRODIS": "Thousands", "OILPRODIT": "Thousands", "OILPRODJM": "Thousands", "OILPRODJP": "Thousands", "OILPRODKR": "Thousands", "OILPRODKW": "Thousands", "OILPRODKZ": "Thousands", "OILPRODLT": "Thousands", "OILPRODLU": "Thousands", "OILPRODLV": "Thousands", "OILPRODLY": "Thousands", "OILPRODMA": "Thousands", "OILPRODMD": "Thousands", "OILPRODMK": "Thousands", "OILPRODMM": "Thousands", "OILPRODMT": "Thousands", "OILPRODMU": "Thousands", "OILPRODMX": "Thousands", "OILPRODMY": "Thousands", "OILPRODNE": "Thousands", "OILPRODNG": "Thousands", "OILPRODNI": "Thousands", "OILPRODNL": "Thousands", "OILPRODNO": "Thousands", "OILPRODNP": "Thousands", "OILPRODNZ": "Thousands", "OILPRODOM": "Thousands", "OILPRODPA": "Thousands", "OILPRODPE": "Thousands", "OILPRODPG": "Thousands", "OILPRODPH": "Thousands", "OILPRODPL": "Thousands", "OILPRODPT": "Thousands", "OILPRODPY": "Thousands", "OILPRODQA": "Thousands", "OILPRODRO": "Thousands", "OILPRODRU": "Thousands", "OILPRODSA": "Thousands", "OILPRODSD": "Thousands", "OILPRODSE": "Thousands", "OILPRODSG": "Thousands", "OILPRODSI": "Thousands", "OILPRODSK": "Thousands", "OILPRODSR": "Thousands", "OILPRODSV": "Thousands", "OILPRODSY": "Thousands", "OILPRODSZ": "Thousands", "OILPRODTH": "Thousands", "OILPRODTJ": "Thousands", "OILPRODTN": "Thousands", "OILPRODTR": "Thousands", "OILPRODTT": "Thousands", "OILPRODTW": "Thousands", "OILPRODUA": "Thousands", "OILPRODUK": "Thousands", "OILPRODUS": "Thousands", "OILPRODUY": "Thousands", "OILPRODVE": "Thousands", "OILPRODVN": "Thousands", "OILPRODYE": "Thousands", "OILPRODZA": "Thousands", "PALUM": "Units", "PAPPLE": "Units", "PARTCO": "Units", "PARTDO": "Units", "PARTLK": "Units", "PARTNZ": "Units", "PARTTR": "Units", "PBANSOP": "Units", "PBARL": "Units", "PBEEF": "Units", "PCEUS": "Units", "PCHANA": "Units", "PCHROM": "Units", "PCOALAU": "Units", "PCOALSA": "Units", "PCOBA": "Units", "PCOCO": "Units", "PCOFFOTM": "Units", "PCOFFROB": "Units", "PCOIL": "Units", "PCOPP": "Units", "PCOTTIND": "Units", "PDAP": "Units", "PFSHMEAL": "Units", "PGASO": "Units", "PGNUTS": "Units", "PGOLD": "Units", "PHEATOIL": "Units", "PHIDE": "Units", "PIORECR": "Units", "PLAMB": "Units", "PLEAD": "Units", "PLITH": "Units", "PLMMODY": "Units", "PLOGORE": "Units", "PLOGSK": "Units", "PMAIZMT": "Units", "PMANGELE": "Units", "PMILK": "Units", "PNGASEU": "Units", "PNGASJP": "Units", "PNGASUS": "Units", "PNICK": "Units", "POATS": "Units", "POILAPSP": "Units", "POILBRE": "Units", "POILDUB": "Units", "POILWTI": "Units", "POLIRAR": "Units", "POLIRAU": "Units", "POLIRAZ": "Units", "POLIRBR": "Units", "POLIRCA": "Units", "POLIRCH": "Units", "POLIRCL": "Units", "POLIRCN": "Units", "POLIRCO": "Units", "POLIRCZ": "Units", "POLIRDK": "Units", "POLIREA": "Units", "POLIRHK": "Units", "POLIRHR": "Units", "POLIRHU": "Units", "POLIRID": "Units", "POLIRIL": "Units", "POLIRIN": "Units", "POLIRIS": "Units", "POLIRJP": "Units", "POLIRKR": "Units", "POLIRMK": "Units", "POLIRMO": "Units", "POLIRMX": "Units", "POLIRMY": "Units", "POLIRNO": "Units", "POLIRNP": "Units", "POLIRNZ": "Units", "POLIRPE": "Units", "POLIRPH": "Units", "POLIRPL": "Units", "POLIRPY": "Units", "POLIRQA": "Units", "POLIRRO": "Units", "POLIRRS": "Units", "POLIRRU": "Units", "POLIRSA": "Units", "POLIRSE": "Units", "POLIRSG": "Units", "POLIRTH": "Units", "POLIRTN": "Units", "POLIRTR": "Units", "POLIRTW": "Units", "POLIRUA": "Units", "POLIRUK": "Units", "POLIRUS": "Units", "POLIRUZ": "Units", "POLIRZA": "Units", "POLVOIL": "Units", "POPAD": "Units", "POPAE": "Units", "POPAL": "Units", "POPAM": "Units", "POPAR": "Units", "POPAT": "Units", "POPAU": "Thousands", "POPAZ": "Thousands", "POPBD": "Millions", "POPBE": "Units", "POPBG": "Units", "POPBO": "Units", "POPBR": "Thousands", "POPBY": "Units", "POPCA": "Units", "POPCD": "Units", "POPCH": "Thousands", "POPCL": "Units", "POPCN": "Tens thousands", "POPCO": "Units", "POPCR": "Units", "POPCY": "Units", "POPCZ": "Units", "POPDE": "Units", "POPDK": "Units", "POPDO": "Units", "POPDZ": "Units", "POPEC": "Units", "POPEE": "Units", "POPEG": "Units", "POPES": "Units", "POPET": "Units", "POPEU": "Units", "POPFI": "Units", "POPFR": "Units", "POPGE": "Units", "POPGR": "Units", "POPGT": "Units", "POPHK": "Units", "POPHR": "Units", "POPHU": "Units", "POPID": "Units", "POPIE": "Units", "POPIL": "Thousands", "POPIN": "Units", "POPIQ": "Units", "POPIR": "Units", "POPIS": "Units", "POPIT": "Units", "POPJO": "Units", "POPJP": "Tens thousands", "POPKG": "Units", "POPKH": "Units", "POPKR": "Units", "POPKW": "Units", "POPKZ": "Units", "POPLB": "Units", "POPLI": "Units", "POPLK": "Units", "POPLT": "Units", "POPLU": "Units", "POPLV": "Units", "POPLY": "Units", "POPMA": "Units", "POPMD": "Units", "POPME": "Units", "POPMK": "Units", "POPMM": "Units", "POPMO": "Units", "POPMT": "Units", "POPMX": "Units", "POPMY": "Thousands", "POPNG": "Units", "POPNI": "Units", "POPNL": "Units", "POPNO": "Units", "POPNZ": "Units", "POPPH": "Units", "POPPL": "Units", "POPPT": "Units", "POPPY": "Units", "POPQA": "Units", "POPRO": "Units", "POPRS": "Units", "POPRU": "Millions", "POPSA": "Units", "POPSD": "Units", "POPSE": "Units", "POPSG": "Units", "POPSI": "Units", "POPSK": "Units", "POPSM": "Units", "POPSN": "Units", "POPSV": "Units", "POPTH": "Units", "POPTJ": "Units", "POPTM": "Units", "POPTN": "Units", "POPTR": "Units", "POPTW": "Thousands", "POPUA": "Units", "POPUK": "Units", "POPUS": "Units", "POPUY": "Units", "POPUZ": "Thousands", "POPVE": "Units", "POPVN": "Thousands", "POPXK": "Units", "POPZA": "Thousands", "PORANG": "Units", "PPALLA": "Units", "PPIAL": "Units", "PPIAR": "Units", "PPIAT": "Units", "PPIAU": "Units", "PPIBD": "Units", "PPIBE": "Units", "PPIBG": "Units", "PPIBR": "Units", "PPIBY": "Units", "PPICA": "Units", "PPICH": "Units", "PPICL": "Units", "PPICN": "Units", "PPICO": "Units", "PPICR": "Units", "PPICY": "Units", "PPICZ": "Units", "PPIDE": "Units", "PPIDK": "Units", "PPIEE": "Units", "PPIEG": "Units", "PPIES": "Units", "PPIEU": "Units", "PPIFI": "Units", "PPIFR": "Units", "PPIGR": "Units", "PPIHK": "Units", "PPIHR": "Units", "PPIHU": "Units", "PPIID": "Units", "PPIIE": "Units", "PPIIL": "Units", "PPIIN": "Units", "PPIIT": "Units", "PPIJO": "Units", "PPIJP": "Units", "PPIKR": "Units", "PPIKZ": "Units", "PPILT": "Units", "PPILU": "Units", "PPILV": "Units", "PPIMA": "Units", "PPIME": "Units", "PPIMK": "Units", "PPIMT": "Units", "PPIMX": "Units", "PPIMY": "Units", "PPINL": "Units", "PPINO": "Units", "PPIPA": "Units", "PPIPE": "Units", "PPIPH": "Units", "PPIPK": "Units", "PPIPL": "Units", "PPIPT": "Units", "PPIQA": "Units", "PPIRO": "Units", "PPIRS": "Units", "PPIRU": "Units", "PPISA": "Units", "PPISE": "Units", "PPISG": "Units", "PPISI": "Units", "PPISK": "Units", "PPISV": "Units", "PPITH": "Units", "PPITN": "Units", "PPITR": "Units", "PPITW": "Units", "PPIUA": "Units", "PPIUK": "Units", "PPIUS": "Units", "PPIUY": "Units", "PPIVN": "Units", "PPIZA": "Units", "PPLAT": "Units", "PPOIL": "Units", "PPORK": "Units", "PPOTASH": "Units", "PPOULT": "Units", "PPROPANE": "Units", "PRCAE": "Millions", "PRCAR": "Millions", "PRCAT": "Millions", "PRCAU": "Millions", "PRCAZ": "Millions", "PRCBD": "Millions", "PRCBE": "Millions", "PRCBG": "Millions", "PRCBR": "Millions", "PRCBW": "Millions", "PRCBY": "Millions", "PRCCA": "Millions", "PRCCH": "Millions", "PRCCL": "Billions", "PRCCN": "Hundreds Millions", "PRCCO": "Billions", "PRCCY": "Millions", "PRCCZ": "Millions", "PRCDE": "Millions", "PRCDK": "Millions", "PRCEA": "Millions", "PRCEE": "Millions", "PRCES": "Millions", "PRCEU": "Millions", "PRCFI": "Millions", "PRCFR": "Millions", "PRCGR": "Millions", "PRCHK": "Millions", "PRCHR": "Millions", "PRCHU": "Millions", "PRCID": "Billions", "PRCIE": "Millions", "PRCIL": "Millions", "PRCIN": "Tens Millions", "PRCIR": "Billions", "PRCIT": "Millions", "PRCJP": "Billions", "PRCKR": "Billions", "PRCKZ": "Millions", "PRCLT": "Millions", "PRCLU": "Millions", "PRCLV": "Millions", "PRCMA": "Millions", "PRCME": "Millions", "PRCMK": "Millions", "PRCMN": "Millions", "PRCMT": "Millions", "PRCMX": "Millions", "PRCMY": "Millions", "PRCNG": "Millions", "PRCNL": "Millions", "PRCNO": "Millions", "PRCNZ": "Millions", "PRCPE": "Millions", "PRCPH": "Millions", "PRCPK": "Millions", "PRCPL": "Millions", "PRCPT": "Millions", "PRCQA": "Millions", "PRCRO": "Millions", "PRCRS": "Millions", "PRCRU": "Billions", "PRCSA": "Millions", "PRCSE": "Millions", "PRCSG": "Millions", "PRCSI": "Millions", "PRCSK": "Millions", "PRCTH": "Millions", "PRCTR": "Thousands", "PRCTW": "Millions", "PRCUA": "Millions", "PRCUK": "Millions", "PRCUS": "Millions", "PRCVN": "Billions", "PRCZA": "Millions", "PREODOM": "Units", "PRICENPQ": "Units", "PRIDEBTBG": "Units", "PRIDEBTCY": "Units", "PRIDEBTEE": "Units", "PRIDEBTHR": "Units", "PRIDEBTLT": "Units", "PRIDEBTLV": "Units", "PRIDEBTMT": "Units", "PRIDEBTRO": "Units", "PRIDEBTSI": "Units", "PRIDEBTSK": "Units", "PROIL": "Units", "PRUBB": "Units", "PSALM": "Units", "PSAWMAL": "Units", "PSAWORE": "Units", "PSHRI": "Units", "PSILLUMP": "Units", "PSILVER": "Units", "PSMEA": "Units", "PSOIL": "Units", "PSORG": "Units", "PSOYB": "Units", "PSUGAISA": "Units", "PSUGAUSA": "Units", "PSUNO": "Units", "PTEA": "Units", "PTEAINDIA": "Units", "PTEAMOM": "Units", "PTEASL": "Units", "PTIN": "Units", "PTOMATO": "Units", "PUCAE": "Millions", "PUCAL": "Millions", "PUCAR": "Millions", "PUCAT": "Millions", "PUCAU": "Millions", "PUCAZ": "Millions", "PUCBD": "Millions", "PUCBE": "Millions", "PUCBG": "Millions", "PUCBR": "Millions", "PUCBW": "Millions", "PUCBY": "Millions", "PUCCA": "Millions", "PUCCH": "Millions", "PUCCL": "Billions", "PUCCM": "Billions", "PUCCN": "Hundreds Millions", "PUCCO": "Billions", "PUCCY": "Millions", "PUCCZ": "Millions", "PUCDE": "Millions", "PUCDK": "Millions", "PUCEA": "Millions", "PUCEE": "Millions", "PUCES": "Millions", "PUCEU": "Millions", "PUCFI": "Millions", "PUCFR": "Millions", "PUCGR": "Millions", "PUCHK": "Millions", "PUCHR": "Millions", "PUCHU": "Millions", "PUCID": "Billions", "PUCIE": "Millions", "PUCIL": "Millions", "PUCIN": "Tens Millions", "PUCIR": "Billions", "PUCIT": "Millions", "PUCJP": "Billions", "PUCKR": "Billions", "PUCKZ": "Millions", "PUCLT": "Millions", "PUCLU": "Millions", "PUCLV": "Millions", "PUCMA": "Millions", "PUCME": "Millions", "PUCMK": "Millions", "PUCMT": "Millions", "PUCMX": "Millions", "PUCMY": "Millions", "PUCNG": "Millions", "PUCNL": "Millions", "PUCNO": "Millions", "PUCNZ": "Millions", "PUCPE": "Millions", "PUCPH": "Millions", "PUCPK": "Millions", "PUCPL": "Millions", "PUCPT": "Millions", "PUCQA": "Millions", "PUCRO": "Millions", "PUCRS": "Millions", "PUCRU": "Billions", "PUCSA": "Millions", "PUCSE": "Millions", "PUCSG": "Millions", "PUCSI": "Millions", "PUCSK": "Millions", "PUCTH": "Millions", "PUCTR": "Thousands", "PUCTW": "Millions", "PUCUA": "Millions", "PUCUK": "Millions", "PUCUS": "Millions", "PUCVN": "Billions", "PUCZA": "Millions", "PURAN": "Units", "PUREA": "Units", "PVANPENT": "Units", "PWHEAMT": "Units", "PWOOLC": "Units", "PWOOLF": "Units", "PZINC": "Units", "RCIAE": "Millions", "RCIAR": "Millions", "RCIAU": "Millions", "RCIAZ": "Millions", "RCIBW": "Millions", "RCIBY": "Millions", "RCICN": "Hundreds Millions", "RCIHK": "Millions", "RCIIN": "Tens Millions", "RCIIR": "Billions", "RCIKH": "Billions", "RCIKR": "Billions", "RCIMN": "Millions", "RCIMO": "Millions", "RCIMY": "Millions", "RCING": "Millions", "RCINO": "Millions", "RCINZ": "Millions", "RCIPA": "Millions", "RCIPH": "Millions", "RCIPK": "Millions", "RCISA": "Millions", "RCISG": "Millions", "RCITH": "Millions", "RCITW": "Millions", "RCIUA": "Millions", "RCIUK": "Millions", "RCIUS": "Millions", "RCIVN": "Billions", "RCIZA": "Millions", "RCONAE": "Millions", "RCONAL": "Millions", "RCONAT": "Millions", "RCONBA": "Millions", "RCONBD": "Millions", "RCONBE": "Millions", "RCONBG": "Millions", "RCONBY": "Millions", "RCONCA": "Millions", "RCONCH": "Millions", "RCONCL": "Billions", "RCONCY": "Millions", "RCONCZ": "Millions", "RCONDE": "Millions", "RCONDK": "Millions", "RCONEA": "Millions", "RCONEE": "Millions", "RCONES": "Millions", "RCONEU": "Millions", "RCONFI": "Millions", "RCONFR": "Millions", "RCONGR": "Millions", "RCONHR": "Millions", "RCONHU": "Millions", "RCONIE": "Millions", "RCONIT": "Millions", "RCONKR": "Billions", "RCONLT": "Millions", "RCONLU": "Millions", "RCONLV": "Millions", "RCONMK": "Millions", "RCONMT": "Millions", "RCONMX": "Millions", "RCONNL": "Millions", "RCONNO": "Millions", "RCONPL": "Millions", "RCONPT": "Millions", "RCONRO": "Millions", "RCONRS": "Millions", "RCONSE": "Millions", "RCONSI": "Millions", "RCONSK": "Millions", "RCONTH": "Millions", "RCONUA": "Millions", "RCONUK": "Millions", "REERAE": "Units", "REERAR": "Units", "REERAT": "Units", "REERAU": "Units", "REERAZ": "Units", "REERBE": "Units", "REERBG": "Units", "REERBR": "Units", "REERCA": "Units", "REERCH": "Units", "REERCL": "Units", "REERCN": "Units", "REERCO": "Units", "REERCY": "Units", "REERCZ": "Units", "REERDE": "Units", "REERDK": "Units", "REERDZ": "Units", "REEREA": "Units", "REEREE": "Units", "REERES": "Units", "REERFI": "Units", "REERFR": "Units", "REERGR": "Units", "REERHK": "Units", "REERHR": "Units", "REERHU": "Units", "REERID": "Units", "REERIE": "Units", "REERIL": "Units", "REERIN": "Units", "REERIS": "Units", "REERIT": "Units", "REERJP": "Units", "REERKR": "Units", "REERLT": "Units", "REERLU": "Units", "REERLV": "Units", "REERMT": "Units", "REERMX": "Units", "REERMY": "Units", "REERNL": "Units", "REERNO": "Units", "REERNZ": "Units", "REERPE": "Units", "REERPH": "Units", "REERPL": "Units", "REERPT": "Units", "REERPY": "Units", "REERRO": "Units", "REERRS": "Units", "REERRU": "Units", "REERSA": "Units", "REERSE": "Units", "REERSG": "Units", "REERSI": "Units", "REERSK": "Units", "REERTH": "Units", "REERTR": "Units", "REERTW": "Units", "REERUK": "Units", "REERUS": "Units", "REERZA": "Units", "RETAAL": "Units", "RETAAR": "Thousands", "RETAAT": "Units", "RETAAU": "Millions", "RETAAZ": "Units", "RETABA": "Units", "RETABE": "Units", "RETABG": "Units", "RETABR": "Units", "RETACA": "Thousands", "RETACH": "Units", "RETACN": "Hundreds Millions", "RETACO": "Units", "RETACY": "Units", "RETACZ": "Units", "RETADE": "Units", "RETADK": "Units", "RETAEE": "Units", "RETAES": "Units", "RETAEU": "Units", "RETAFI": "Units", "RETAFR": "Units", "RETAGR": "Units", "RETAHK": "Units", "RETAHR": "Units", "RETAHU": "Units", "RETAID": "Units", "RETAIE": "Units", "RETAIL": "Units", "RETAIR": "Billions", "RETAIT": "Units", "RETAJP": "Units", "RETAKR": "Units", "RETALT": "Units", "RETALU": "Units", "RETALV": "Units", "RETAME": "Units", "RETAMK": "Units", "RETAMT": "Units", "RETAMX": "Units", "RETAMY": "Units", "RETANL": "Units", "RETANO": "Units", "RETANZ": "Millions", "RETAPL": "Units", "RETAPT": "Units", "RETARO": "Units", "RETARS": "Units", "RETARU": "Units", "RETASE": "Units", "RETASG": "Units", "RETASI": "Units", "RETASK": "Units", "RETATH": "Units", "RETATR": "Units", "RETATW": "Units", "RETAUK": "Units", "RETAUS": "Units", "RETAVN": "Units", "RETAZA": "Units", "REXPAE": "Millions", "REXPAL": "Millions", "REXPAR": "Millions", "REXPAT": "Millions", "REXPAU": "Millions", "REXPAZ": "Millions", "REXPBA": "Millions", "REXPBD": "Millions", "REXPBE": "Millions", "REXPBG": "Millions", "REXPBR": "Millions", "REXPBW": "Millions", "REXPBY": "Millions", "REXPCA": "Millions", "REXPCH": "Millions", "REXPCL": "Billions", "REXPCN": "Tens thousands", "REXPCO": "Billions", "REXPCY": "Millions", "REXPCZ": "Millions", "REXPDE": "Millions", "REXPDK": "Millions", "REXPEA": "Millions", "REXPEE": "Millions", "REXPES": "Millions", "REXPEU": "Millions", "REXPFI": "Millions", "REXPFR": "Millions", "REXPGR": "Millions", "REXPHK": "Millions", "REXPHN": "Millions", "REXPHR": "Millions", "REXPHU": "Millions", "REXPID": "Billions", "REXPIE": "Millions", "REXPIL": "Millions", "REXPIN": "Tens Millions", "REXPIR": "Billions", "REXPIT": "Millions", "REXPJP": "Billions", "REXPKH": "Billions", "REXPKR": "Billions", "REXPLT": "Millions", "REXPLU": "Millions", "REXPLV": "Millions", "REXPMA": "Millions", "REXPMK": "Millions", "REXPMN": "Millions", "REXPMO": "Millions", "REXPMT": "Millions", "REXPMX": "Millions", "REXPMY": "Millions", "REXPNG": "Millions", "REXPNL": "Millions", "REXPNO": "Millions", "REXPNZ": "Millions", "REXPPA": "Millions", "REXPPE": "Millions", "REXPPH": "Millions", "REXPPK": "Millions", "REXPPL": "Millions", "REXPPT": "Millions", "REXPRO": "Millions", "REXPRS": "Millions", "REXPRU": "Billions", "REXPRW": "Billions", "REXPSA": "Millions", "REXPSE": "Millions", "REXPSG": "Millions", "REXPSI": "Millions", "REXPSK": "Millions", "REXPTH": "Millions", "REXPTR": "Thousands", "REXPTW": "Millions", "REXPUA": "Millions", "REXPUK": "Millions", "REXPUS": "Millions", "REXPUZ": "Billions", "REXPZA": "Millions", "RGCFAT": "Millions", "RGCFBA": "Millions", "RGCFBE": "Millions", "RGCFBG": "Millions", "RGCFBY": "Millions", "RGCFCH": "Millions", "RGCFCO": "Billions", "RGCFCY": "Millions", "RGCFCZ": "Millions", "RGCFDE": "Millions", "RGCFDK": "Millions", "RGCFEA": "Millions", "RGCFEE": "Millions", "RGCFES": "Millions", "RGCFEU": "Millions", "RGCFFI": "Millions", "RGCFFR": "Millions", "RGCFGR": "Millions", "RGCFHR": "Millions", "RGCFHU": "Millions", "RGCFIE": "Millions", "RGCFIT": "Millions", "RGCFKR": "Billions", "RGCFLT": "Millions", "RGCFLU": "Millions", "RGCFLV": "Millions", "RGCFMK": "Millions", "RGCFMT": "Millions", "RGCFNL": "Millions", "RGCFNO": "Millions", "RGCFNZ": "Millions", "RGCFPE": "Millions", "RGCFPK": "Millions", "RGCFPL": "Millions", "RGCFPT": "Millions", "RGCFRO": "Millions", "RGCFRS": "Millions", "RGCFRU": "Billions", "RGCFRW": "Billions", "RGCFSE": "Millions", "RGCFSI": "Millions", "RGCFSK": "Millions", "RGCFUA": "Millions", "RGCFUK": "Millions", "RGDPAE": "Millions", "RGDPAL": "Millions", "RGDPAR": "Millions", "RGDPAT": "Millions", "RGDPAU": "Millions", "RGDPAZ": "Millions", "RGDPBA": "Millions", "RGDPBD": "Millions", "RGDPBE": "Millions", "RGDPBG": "Millions", "RGDPBR": "Millions", "RGDPBW": "Millions", "RGDPBY": "Millions", "RGDPCA": "Millions", "RGDPCH": "Millions", "RGDPCL": "Billions", "RGDPCM": "Billions", "RGDPCN": "Hundreds Millions", "RGDPCO": "Billions", "RGDPCR": "Millions", "RGDPCY": "Millions", "RGDPCZ": "Millions", "RGDPDE": "Millions", "RGDPDK": "Millions", "RGDPEA": "Millions", "RGDPEE": "Millions", "RGDPEG": "Millions", "RGDPES": "Millions", "RGDPEU": "Millions", "RGDPFI": "Millions", "RGDPFR": "Millions", "RGDPGR": "Millions", "RGDPHK": "Millions", "RGDPHN": "Millions", "RGDPHR": "Millions", "RGDPHU": "Millions", "RGDPID": "Billions", "RGDPIE": "Millions", "RGDPIL": "Millions", "RGDPIN": "Tens Millions", "RGDPIR": "Billions", "RGDPIT": "Millions", "RGDPJO": "Millions", "RGDPJP": "Billions", "RGDPKH": "Billions", "RGDPKR": "Billions", "RGDPKZ": "Billions", "RGDPLA": "Billions", "RGDPLT": "Millions", "RGDPLU": "Millions", "RGDPLV": "Millions", "RGDPMA": "Millions", "RGDPMK": "Millions", "RGDPMN": "Millions", "RGDPMO": "Millions", "RGDPMT": "Millions", "RGDPMX": "Millions", "RGDPMY": "Millions", "RGDPNG": "Thousands", "RGDPNL": "Millions", "RGDPNO": "Millions", "RGDPNZ": "Millions", "RGDPPA": "Millions", "RGDPPCAL": "Units", "RGDPPCAT": "Units", "RGDPPCAU": "Units", "RGDPPCBE": "Units", "RGDPPCBG": "Units", "RGDPPCBR": "Units", "RGDPPCCH": "Units", "RGDPPCCY": "Units", "RGDPPCCZ": "Units", "RGDPPCDE": "Units", "RGDPPCDK": "Units", "RGDPPCEA": "Units", "RGDPPCEE": "Units", "RGDPPCES": "Units", "RGDPPCEU": "Units", "RGDPPCFI": "Units", "RGDPPCFR": "Units", "RGDPPCGR": "Units", "RGDPPCHR": "Units", "RGDPPCHU": "Units", "RGDPPCIE": "Units", "RGDPPCIS": "Units", "RGDPPCIT": "Units", "RGDPPCLT": "Units", "RGDPPCLU": "Units", "RGDPPCLV": "Units", "RGDPPCME": "Units", "RGDPPCMK": "Units", "RGDPPCMT": "Units", "RGDPPCNL": "Units", "RGDPPCNO": "Units", "RGDPPCNZ": "Millions", "RGDPPCPL": "Units", "RGDPPCPT": "Units", "RGDPPCRO": "Units", "RGDPPCRS": "Units", "RGDPPCSE": "Units", "RGDPPCSI": "Units", "RGDPPCSK": "Units", "RGDPPCTR": "Units", "RGDPPCUS": "Units", "RGDPPE": "Millions", "RGDPPH": "Millions", "RGDPPK": "Millions", "RGDPPL": "Millions", "RGDPPT": "Millions", "RGDPQA": "Millions", "RGDPRO": "Millions", "RGDPRS": "Millions", "RGDPRU": "Billions", "RGDPRW": "Billions", "RGDPSA": "Millions", "RGDPSE": "Millions", "RGDPSG": "Millions", "RGDPSI": "Millions", "RGDPSK": "Millions", "RGDPTH": "Millions", "RGDPTN": "Millions", "RGDPTR": "Thousands", "RGDPTW": "Millions", "RGDPUA": "Millions", "RGDPUK": "Millions", "RGDPUS": "Millions", "RGDPUY": "Millions", "RGDPUZ": "Billions", "RGDPVN": "Billions", "RGDPZA": "Millions", "RGFCFAE": "Millions", "RGFCFAL": "Millions", "RGFCFAR": "Millions", "RGFCFAT": "Millions", "RGFCFAU": "Millions", "RGFCFAZ": "Millions", "RGFCFBA": "Millions", "RGFCFBD": "Millions", "RGFCFBE": "Millions", "RGFCFBG": "Millions", "RGFCFBR": "Millions", "RGFCFBW": "Millions", "RGFCFBY": "Millions", "RGFCFCA": "Millions", "RGFCFCH": "Millions", "RGFCFCL": "Billions", "RGFCFCN": "Units", "RGFCFCO": "Billions", "RGFCFCR": "Millions", "RGFCFCY": "Millions", "RGFCFCZ": "Millions", "RGFCFDE": "Millions", "RGFCFDK": "Millions", "RGFCFEA": "Millions", "RGFCFEE": "Millions", "RGFCFES": "Millions", "RGFCFEU": "Millions", "RGFCFFI": "Millions", "RGFCFFR": "Millions", "RGFCFGR": "Millions", "RGFCFHK": "Millions", "RGFCFHN": "Millions", "RGFCFHR": "Millions", "RGFCFHU": "Millions", "RGFCFID": "Billions", "RGFCFIE": "Millions", "RGFCFIL": "Millions", "RGFCFIN": "Tens Millions", "RGFCFIR": "Billions", "RGFCFIT": "Millions", "RGFCFJP": "Billions", "RGFCFKH": "Billions", "RGFCFKR": "Billions", "RGFCFLT": "Millions", "RGFCFLU": "Millions", "RGFCFLV": "Millions", "RGFCFMA": "Millions", "RGFCFMN": "Millions", "RGFCFMO": "Millions", "RGFCFMT": "Millions", "RGFCFMX": "Millions", "RGFCFMY": "Millions", "RGFCFNG": "Millions", "RGFCFNL": "Millions", "RGFCFNO": "Millions", "RGFCFNZ": "Millions", "RGFCFPH": "Millions", "RGFCFPK": "Millions", "RGFCFPL": "Millions", "RGFCFPT": "Millions", "RGFCFRO": "Millions", "RGFCFRS": "Millions", "RGFCFRU": "Billions", "RGFCFSA": "Millions", "RGFCFSE": "Millions", "RGFCFSG": "Millions", "RGFCFSI": "Millions", "RGFCFSK": "Millions", "RGFCFTH": "Millions", "RGFCFTR": "Thousands", "RGFCFTW": "Millions", "RGFCFUA": "Millions", "RGFCFUK": "Millions", "RGFCFUS": "Millions", "RGFCFVN": "Billions", "RGFCFZA": "Millions", "RIMPAE": "Millions", "RIMPAL": "Millions", "RIMPAR": "Millions", "RIMPAT": "Millions", "RIMPAU": "Millions", "RIMPAZ": "Millions", "RIMPBA": "Millions", "RIMPBD": "Millions", "RIMPBE": "Millions", "RIMPBG": "Millions", "RIMPBR": "Millions", "RIMPBW": "Millions", "RIMPBY": "Millions", "RIMPCA": "Millions", "RIMPCH": "Millions", "RIMPCL": "Billions", "RIMPCN": "Tens thousands", "RIMPCO": "Billions", "RIMPCY": "Millions", "RIMPCZ": "Millions", "RIMPDE": "Millions", "RIMPDK": "Millions", "RIMPEA": "Millions", "RIMPEE": "Millions", "RIMPES": "Millions", "RIMPEU": "Millions", "RIMPFI": "Millions", "RIMPFR": "Millions", "RIMPGR": "Millions", "RIMPHK": "Millions", "RIMPHN": "Millions", "RIMPHR": "Millions", "RIMPHU": "Millions", "RIMPID": "Billions", "RIMPIE": "Millions", "RIMPIL": "Millions", "RIMPIN": "Tens Millions", "RIMPIR": "Billions", "RIMPIT": "Millions", "RIMPJP": "Billions", "RIMPKH": "Billions", "RIMPKR": "Billions", "RIMPLT": "Millions", "RIMPLU": "Millions", "RIMPLV": "Millions", "RIMPMA": "Millions", "RIMPMK": "Millions", "RIMPMN": "Millions", "RIMPMO": "Millions", "RIMPMT": "Millions", "RIMPMX": "Millions", "RIMPMY": "Millions", "RIMPNG": "Millions", "RIMPNL": "Millions", "RIMPNO": "Millions", "RIMPNZ": "Millions", "RIMPPA": "Millions", "RIMPPE": "Millions", "RIMPPH": "Millions", "RIMPPK": "Millions", "RIMPPL": "Millions", "RIMPPT": "Millions", "RIMPRO": "Millions", "RIMPRS": "Millions", "RIMPRU": "Billions", "RIMPRW": "Billions", "RIMPSA": "Millions", "RIMPSE": "Millions", "RIMPSG": "Millions", "RIMPSI": "Millions", "RIMPSK": "Millions", "RIMPTH": "Millions", "RIMPTR": "Thousands", "RIMPTW": "Millions", "RIMPUA": "Millions", "RIMPUK": "Millions", "RIMPUS": "Millions", "RIMPUZ": "Billions", "RIMPZA": "Millions", "RPRCAE": "Millions", "RPRCAR": "Millions", "RPRCAT": "Millions", "RPRCAU": "Millions", "RPRCAZ": "Millions", "RPRCBA": "Millions", "RPRCBD": "Millions", "RPRCBE": "Millions", "RPRCBG": "Millions", "RPRCBR": "Millions", "RPRCBY": "Millions", "RPRCCA": "Millions", "RPRCCH": "Millions", "RPRCCL": "Billions", "RPRCCN": "Hundreds Millions", "RPRCCO": "Billions", "RPRCCR": "Millions", "RPRCCY": "Millions", "RPRCCZ": "Millions", "RPRCDE": "Millions", "RPRCDK": "Millions", "RPRCEA": "Millions", "RPRCEE": "Millions", "RPRCES": "Millions", "RPRCEU": "Millions", "RPRCFI": "Millions", "RPRCFR": "Millions", "RPRCGR": "Millions", "RPRCHK": "Millions", "RPRCHN": "Millions", "RPRCHR": "Millions", "RPRCHU": "Millions", "RPRCID": "Billions", "RPRCIE": "Millions", "RPRCIL": "Millions", "RPRCIN": "Tens Millions", "RPRCIR": "Billions", "RPRCIT": "Millions", "RPRCJP": "Billions", "RPRCKH": "Billions", "RPRCKR": "Billions", "RPRCLT": "Millions", "RPRCLU": "Millions", "RPRCLV": "Millions", "RPRCMA": "Millions", "RPRCMK": "Millions", "RPRCMO": "Millions", "RPRCMT": "Millions", "RPRCMX": "Millions", "RPRCMY": "Millions", "RPRCNG": "Millions", "RPRCNL": "Millions", "RPRCNO": "Millions", "RPRCNZ": "Millions", "RPRCPE": "Millions", "RPRCPH": "Millions", "RPRCPK": "Millions", "RPRCPL": "Millions", "RPRCPT": "Millions", "RPRCRO": "Millions", "RPRCRS": "Millions", "RPRCRU": "Billions", "RPRCRW": "Billions", "RPRCSA": "Millions", "RPRCSE": "Millions", "RPRCSG": "Millions", "RPRCSI": "Millions", "RPRCSK": "Millions", "RPRCTH": "Millions", "RPRCTR": "Thousands", "RPRCTW": "Millions", "RPRCUA": "Millions", "RPRCUK": "Millions", "RPRCUS": "Millions", "RPRCUZ": "Billions", "RPRCVN": "Billions", "RPRCZA": "Millions", "RPUCAE": "Millions", "RPUCAL": "Millions", "RPUCAR": "Millions", "RPUCAT": "Millions", "RPUCAU": "Millions", "RPUCAZ": "Millions", "RPUCBA": "Millions", "RPUCBD": "Millions", "RPUCBE": "Millions", "RPUCBG": "Millions", "RPUCBR": "Millions", "RPUCBW": "Millions", "RPUCBY": "Millions", "RPUCCA": "Millions", "RPUCCH": "Millions", "RPUCCL": "Billions", "RPUCCN": "Hundreds Millions", "RPUCCO": "Billions", "RPUCCR": "Millions", "RPUCCY": "Millions", "RPUCCZ": "Millions", "RPUCDE": "Millions", "RPUCDK": "Millions", "RPUCEA": "Millions", "RPUCEE": "Millions", "RPUCES": "Millions", "RPUCEU": "Millions", "RPUCFI": "Millions", "RPUCFR": "Millions", "RPUCGR": "Millions", "RPUCHK": "Millions", "RPUCHN": "Millions", "RPUCHR": "Millions", "RPUCHU": "Millions", "RPUCID": "Billions", "RPUCIE": "Millions", "RPUCIL": "Millions", "RPUCIN": "Tens Millions", "RPUCIR": "Billions", "RPUCIT": "Millions", "RPUCJP": "Billions", "RPUCKH": "Billions", "RPUCKR": "Billions", "RPUCLT": "Millions", "RPUCLU": "Millions", "RPUCLV": "Millions", "RPUCMA": "Millions", "RPUCMK": "Millions", "RPUCMN": "Millions", "RPUCMO": "Millions", "RPUCMT": "Millions", "RPUCMX": "Millions", "RPUCMY": "Millions", "RPUCNG": "Millions", "RPUCNL": "Millions", "RPUCNO": "Millions", "RPUCNZ": "Millions", "RPUCPA": "Millions", "RPUCPE": "Millions", "RPUCPH": "Millions", "RPUCPK": "Millions", "RPUCPL": "Millions", "RPUCPT": "Millions", "RPUCRO": "Millions", "RPUCRS": "Millions", "RPUCRU": "Billions", "RPUCRW": "Billions", "RPUCSA": "Millions", "RPUCSE": "Millions", "RPUCSG": "Millions", "RPUCSI": "Millions", "RPUCSK": "Millions", "RPUCTH": "Millions", "RPUCTR": "Thousands", "RPUCTW": "Millions", "RPUCUA": "Millions", "RPUCUK": "Millions", "RPUCUS": "Millions", "RPUCUZ": "Billions", "RPUCVN": "Billions", "RPUCZA": "Millions", "SEIAE": "Units", "SEIAT": "Units", "SEIAU": "Units", "SEIBD": "Units", "SEIBE": "Units", "SEIBR": "Units", "SEICA": "Units", "SEICH": "Units", "SEICN": "Units", "SEIDE": "Units", "SEIDK": "Units", "SEIES": "Units", "SEIFI": "Units", "SEIFR": "Units", "SEIID": "Units", "SEIIE": "Units", "SEIIN": "Units", "SEIIT": "Units", "SEIJP": "Units", "SEIKR": "Units", "SEILA": "Units", "SEILU": "Units", "SEIMX": "Units", "SEINL": "Units", "SEINO": "Units", "SEIOM": "Units", "SEIPA": "Units", "SEIPK": "Units", "SEIPL": "Units", "SEIRS": "Units", "SEIRU": "Units", "SEISE": "Units", "SEITR": "Units", "SEIUS": "Units", "SEIUZ": "Units", "SEIZA": "Units", "SENTAL": "Units", "SENTAT": "Units", "SENTAU": "Units", "SENTBE": "Units", "SENTBG": "Units", "SENTBR": "Units", "SENTCY": "Units", "SENTCZ": "Units", "SENTDE": "Units", "SENTDK": "Units", "SENTEE": "Units", "SENTES": "Units", "SENTEU": "Units", "SENTFI": "Units", "SENTFR": "Units", "SENTGR": "Units", "SENTHR": "Units", "SENTHU": "Units", "SENTIE": "Units", "SENTIT": "Units", "SENTJP": "Units", "SENTKR": "Units", "SENTLT": "Units", "SENTLU": "Units", "SENTLV": "Units", "SENTME": "Units", "SENTMK": "Units", "SENTMT": "Units", "SENTNL": "Units", "SENTPL": "Units", "SENTPT": "Units", "SENTRO": "Units", "SENTRS": "Units", "SENTSE": "Units", "SENTSI": "Units", "SENTSK": "Units", "SENTTR": "Units", "SENTUK": "Units", "SENTUS": "Units", "TBBE": "Millions", "TBBG": "Millions", "TBBR": "Units", "TBCA": "Millions", "TBCZ": "Millions", "TBDE": "Millions", "TBDK": "Millions", "TBEE": "Millions", "TBEG": "Millions", "TBFI": "Millions", "TBFR": "Millions", "TBGR": "Millions", "TBHR": "Millions", "TBHU": "Millions", "TBIN": "Millions", "TBIT": "Millions", "TBLT": "Millions", "TBLU": "Millions", "TBLV": "Millions", "TBMK": "Millions", "TBMT": "Millions", "TBMX": "Millions", "TBNL": "Millions", "TBPL": "Millions", "TBPT": "Millions", "TBRO": "Millions", "TBRS": "Millions", "TBSE": "Millions", "TBSI": "Millions", "TBSK": "Millions", "TBTH": "Millions", "TBUS": "Millions", "TBVN": "Billions", "URATEAE": "Units", "URATEAR": "Units", "URATEAT": "Units", "URATEAU": "Units", "URATEAZ": "Thousands", "URATEBD": "Units", "URATEBE": "Units", "URATEBG": "Units", "URATEBR": "Units", "URATEBY": "Units", "URATECA": "Units", "URATECH": "Units", "URATECL": "Units", "URATECN": "Units", "URATECO": "Units", "URATECR": "Units", "URATECY": "Units", "URATECZ": "Units", "URATEDE": "Units", "URATEDK": "Units", "URATEDO": "Units", "URATEEA": "Units", "URATEEE": "Units", "URATEEG": "Units", "URATEES": "Units", "URATEEU": "Units", "URATEFI": "Units", "URATEFR": "Units", "URATEGR": "Units", "URATEHK": "Units", "URATEHR": "Units", "URATEHU": "Units", "URATEID": "Units", "URATEIE": "Units", "URATEIL": "Units", "URATEIS": "Units", "URATEIT": "Units", "URATEJO": "Units", "URATEJP": "Units", "URATEKH": "Units", "URATEKR": "Units", "URATEKZ": "Units", "URATELK": "Units", "URATELT": "Units", "URATELU": "Units", "URATELV": "Units", "URATEMA": "Units", "URATEMO": "Units", "URATEMT": "Units", "URATEMX": "Units", "URATEMY": "Units", "URATENL": "Units", "URATENO": "Units", "URATENZ": "Units", "URATEPE": "Units", "URATEPH": "Units", "URATEPK": "Millions", "URATEPL": "Units", "URATEPT": "Units", "URATEQA": "Units", "URATERO": "Units", "URATERS": "Thousands", "URATERU": "Units", "URATESA": "Units", "URATESE": "Units", "URATESG": "Units", "URATESI": "Units", "URATESK": "Units", "URATETH": "Units", "URATETN": "Units", "URATETR": "Units", "URATETW": "Units", "URATEUA": "Units", "URATEUK": "Units", "URATEUS": "Units", "URATEUY": "Units", "URATEVN": "Units", "URATEZA": "Units", "UTILAL": "Units", "UTILAR": "Units", "UTILAT": "Units", "UTILBE": "Units", "UTILBG": "Units", "UTILCA": "Units", "UTILCY": "Units", "UTILCZ": "Units", "UTILDE": "Units", "UTILDK": "Units", "UTILEE": "Units", "UTILES": "Units", "UTILEU": "Units", "UTILFI": "Units", "UTILFR": "Units", "UTILGR": "Units", "UTILHR": "Units", "UTILHU": "Units", "UTILIE": "Units", "UTILIT": "Units", "UTILLT": "Units", "UTILLU": "Units", "UTILLV": "Units", "UTILME": "Units", "UTILMK": "Units", "UTILMT": "Units", "UTILNL": "Units", "UTILPL": "Units", "UTILPT": "Units", "UTILRO": "Units", "UTILRS": "Units", "UTILSE": "Units", "UTILSI": "Units", "UTILSK": "Units", "UTILTR": "Units", "UTILUK": "Units", "UTILUS": "Units", "WAGEMANCL": "Units", "WAGEMANMX": null, "WAGEMANUS": "Units", "WAGEUY": "Units", "WAGEVN": "Thousands", "Y10YDAR": "Units", "Y10YDAT": "Units", "Y10YDAU": "Units", "Y10YDBD": "Units", "Y10YDBE": "Units", "Y10YDBG": "Units", "Y10YDCA": "Units", "Y10YDCN": "Units", "Y10YDCY": "Units", "Y10YDCZ": "Units", "Y10YDDE": "Units", "Y10YDDK": "Units", "Y10YDEA": "Units", "Y10YDEE": "Units", "Y10YDES": "Units", "Y10YDEU": "Units", "Y10YDFI": "Units", "Y10YDFR": "Units", "Y10YDGR": "Units", "Y10YDHK": "Units", "Y10YDHR": "Units", "Y10YDHU": "Units", "Y10YDID": "Units", "Y10YDIE": "Units", "Y10YDIN": "Units", "Y10YDIT": "Units", "Y10YDJP": "Units", "Y10YDKR": "Units", "Y10YDLT": "Units", "Y10YDLU": "Units", "Y10YDLV": "Units", "Y10YDMT": "Units", "Y10YDMX": "Units", "Y10YDMY": "Units", "Y10YDNL": "Units", "Y10YDNZ": "Units", "Y10YDPH": "Units", "Y10YDPL": "Units", "Y10YDPT": "Units", "Y10YDQA": "Units", "Y10YDRO": "Units", "Y10YDRU": "Units", "Y10YDSA": "Units", "Y10YDSE": "Units", "Y10YDSG": "Units", "Y10YDSI": "Units", "Y10YDSK": "Units", "Y10YDTH": "Units", "Y10YDTR": "Units", "Y10YDTW": "Units", "Y10YDUA": "Units", "Y10YDUK": "Units", "Y10YDUS": "Units", "Y10YDVN": "Units", "Y10YDZA": "Units"} \ No newline at end of file diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/symbol_to_indicator.json b/openbb_platform/providers/econdb/openbb_econdb/utils/symbol_to_indicator.json index ec000dd18d4..ff9840a42dc 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/symbol_to_indicator.json +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/symbol_to_indicator.json @@ -1 +1 @@ -{"ACPOPAT":"ACPOP","ACPOPBE":"ACPOP","ACPOPBG":"ACPOP","ACPOPBR":"ACPOP","ACPOPCA":"ACPOP","ACPOPCH":"ACPOP","ACPOPCY":"ACPOP","ACPOPCZ":"ACPOP","ACPOPDE":"ACPOP","ACPOPDK":"ACPOP","ACPOPEE":"ACPOP","ACPOPES":"ACPOP","ACPOPFI":"ACPOP","ACPOPFR":"ACPOP","ACPOPGR":"ACPOP","ACPOPHR":"ACPOP","ACPOPHU":"ACPOP","ACPOPIE":"ACPOP","ACPOPIS":"ACPOP","ACPOPIT":"ACPOP","ACPOPJP":"ACPOP","ACPOPLT":"ACPOP","ACPOPLU":"ACPOP","ACPOPLV":"ACPOP","ACPOPME":"ACPOP","ACPOPMK":"ACPOP","ACPOPMT":"ACPOP","ACPOPMX":"ACPOP","ACPOPNL":"ACPOP","ACPOPNO":"ACPOP","ACPOPPH":"ACPOP","ACPOPPK":"ACPOP","ACPOPPL":"ACPOP","ACPOPPT":"ACPOP","ACPOPQA":"ACPOP","ACPOPRO":"ACPOP","ACPOPRS":"ACPOP","ACPOPSE":"ACPOP","ACPOPSI":"ACPOP","ACPOPSK":"ACPOP","ACPOPTR":"ACPOP","ACPOPTW":"ACPOP","ACPOPUS":"ACPOP","ACPOPVN":"ACPOP","CAAR":"CA","CAAT":"CA","CAAU":"CA","CAAZ":"CA","CABD":"CA","CABE":"CA","CABG":"CA","CABR":"CA","CABT":"CA","CABY":"CA","CACA":"CA","CACH":"CA","CACL":"CA","CACN":"CA","CACO":"CA","CACR":"CA","CACY":"CA","CACZ":"CA","CADE":"CA","CADK":"CA","CAEE":"CA","CAEG":"CA","CAES":"CA","CAEU":"CA","CAFI":"CA","CAFR":"CA","CAGR":"CA","CAHK":"CA","CAHR":"CA","CAHU":"CA","CAID":"CA","CAIE":"CA","CAIL":"CA","CAIN":"CA","CAIT":"CA","CAJO":"CA","CAJP":"CA","CAKH":"CA","CAKR":"CA","CAKZ":"CA","CALA":"CA","CALT":"CA","CALU":"CA","CALV":"CA","CAMA":"CA","CAMT":"CA","CAMX":"CA","CAMY":"CA","CANL":"CA","CANO":"CA","CANP":"CA","CANZ":"CA","CAPA":"CA","CAPH":"CA","CAPK":"CA","CAPL":"CA","CAPT":"CA","CARAT":"CAR","CARBE":"CAR","CARBG":"CAR","CARCH":"CAR","CARCZ":"CAR","CARDE":"CAR","CARDK":"CAR","CAREE":"CAR","CARES":"CAR","CAREU":"CAR","CARFI":"CAR","CARFR":"CAR","CARGR":"CAR","CARHR":"CAR","CARHU":"CAR","CARIE":"CAR","CARIS":"CAR","CARIT":"CAR","CARLT":"CAR","CARLU":"CAR","CARLV":"CAR","CARNL":"CAR","CARNO":"CAR","CARO":"CA","CARPL":"CAR","CARPT":"CAR","CARRO":"CAR","CARSE":"CAR","CARSI":"CAR","CARSK":"CAR","CARU":"CA","CARUK":"CAR","CARZA":"CAR","CASA":"CA","CASE":"CA","CASG":"CA","CASI":"CA","CASK":"CA","CASV":"CA","CATH":"CA","CATN":"CA","CATR":"CA","CATW":"CA","CAUA":"CA","CAUK":"CA","CAUS":"CA","CAUY":"CA","CAVN":"CA","CAZA":"CA","CBALAL":"CBAL","CBALAT":"CBAL","CBALAZ":"CBAL","CBALBE":"CBAL","CBALBG":"CBAL","CBALCH":"CBAL","CBALCY":"CBAL","CBALCZ":"CBAL","CBALDE":"CBAL","CBALDK":"CBAL","CBALEA":"CBAL","CBALEE":"CBAL","CBALES":"CBAL","CBALEU":"CBAL","CBALFI":"CBAL","CBALFR":"CBAL","CBALGR":"CBAL","CBALHR":"CBAL","CBALHU":"CBAL","CBALIE":"CBAL","CBALIR":"CBAL","CBALIT":"CBAL","CBALLT":"CBAL","CBALLU":"CBAL","CBALLV":"CBAL","CBALME":"CBAL","CBALMT":"CBAL","CBALNL":"CBAL","CBALNO":"CBAL","CBALPH":"CBAL","CBALPL":"CBAL","CBALPT":"CBAL","CBALRO":"CBAL","CBALRS":"CBAL","CBALSE":"CBAL","CBALSI":"CBAL","CBALSK":"CBAL","CBALTR":"CBAL","CBALUK":"CBAL","CBALUS":"CBAL","CIAE":"CI","CIAR":"CI","CIAT":"CI","CIAU":"CI","CIAZ":"CI","CIBE":"CI","CIBG":"CI","CIBR":"CI","CIBW":"CI","CIBY":"CI","CICH":"CI","CICN":"CI","CICY":"CI","CICZ":"CI","CIDE":"CI","CIDK":"CI","CIEE":"CI","CIES":"CI","CIFI":"CI","CIFR":"CI","CIGR":"CI","CIHK":"CI","CIHR":"CI","CIHU":"CI","CIID":"CI","CIIE":"CI","CIIL":"CI","CIIN":"CI","CIIR":"CI","CIIT":"CI","CIKR":"CI","CIKZ":"CI","CILT":"CI","CILU":"CI","CILV":"CI","CIMA":"CI","CIME":"CI","CIMN":"CI","CIMT":"CI","CIMX":"CI","CIMY":"CI","CING":"CI","CINL":"CI","CINO":"CI","CINZ":"CI","CIPH":"CI","CIPK":"CI","CIPL":"CI","CIPT":"CI","CIRO":"CI","CIRS":"CI","CIRU":"CI","CISA":"CI","CISE":"CI","CISG":"CI","CISI":"CI","CISK":"CI","CITH":"CI","CITR":"CI","CITW":"CI","CIUA":"CI","CIUK":"CI","CIUS":"CI","CIVN":"CI","CIZA":"CI","CKABE":"CKA","CKABG":"CKA","CKACZ":"CKA","CKADE":"CKA","CKADK":"CKA","CKAEE":"CKA","CKAES":"CKA","CKAFI":"CKA","CKAFR":"CKA","CKAGR":"CKA","CKAHR":"CKA","CKAHU":"CKA","CKAIT":"CKA","CKALT":"CKA","CKALU":"CKA","CKALV":"CKA","CKAMT":"CKA","CKANL":"CKA","CKAPL":"CKA","CKAPT":"CKA","CKARO":"CKA","CKASE":"CKA","CKASI":"CKA","CKASK":"CKA","CLAIMSUS":"CLAIMS","CLIAT":"CLI","CLIAU":"CLI","CLIBE":"CLI","CLIBR":"CLI","CLICA":"CLI","CLICH":"CLI","CLICL":"CLI","CLICN":"CLI","CLICZ":"CLI","CLIDE":"CLI","CLIDK":"CLI","CLIEE":"CLI","CLIES":"CLI","CLIFI":"CLI","CLIFR":"CLI","CLIGR":"CLI","CLIHU":"CLI","CLIID":"CLI","CLIIE":"CLI","CLIIL":"CLI","CLIIN":"CLI","CLIIS":"CLI","CLIIT":"CLI","CLIJP":"CLI","CLIKR":"CLI","CLILU":"CLI","CLIMX":"CLI","CLINL":"CLI","CLINO":"CLI","CLINZ":"CLI","CLIPL":"CLI","CLIPT":"CLI","CLIRU":"CLI","CLISE":"CLI","CLISI":"CLI","CLISK":"CLI","CLITR":"CLI","CLIUK":"CLI","CLIUS":"CLI","CLIZA":"CLI","CONAE":"CON","CONAL":"CON","CONAT":"CON","CONBD":"CON","CONBE":"CON","CONBG":"CON","CONBY":"CON","CONCA":"CON","CONCH":"CON","CONCL":"CON","CONCN":"CON","CONCY":"CON","CONCZ":"CON","CONDE":"CON","CONDK":"CON","CONEA":"CON","CONEE":"CON","CONES":"CON","CONEU":"CON","CONFAL":"CONF","CONFAT":"CONF","CONFAU":"CONF","CONFBE":"CONF","CONFBG":"CONF","CONFBR":"CONF","CONFCY":"CONF","CONFCZ":"CONF","CONFDE":"CONF","CONFDK":"CONF","CONFEE":"CONF","CONFES":"CONF","CONFEU":"CONF","CONFFI":"CONF","CONFFR":"CONF","CONFGR":"CONF","CONFHR":"CONF","CONFHU":"CONF","CONFI":"CON","CONFID":"CONF","CONFIE":"CONF","CONFIL":"CONF","CONFIT":"CONF","CONFJP":"CONF","CONFKR":"CONF","CONFLT":"CONF","CONFLU":"CONF","CONFLV":"CONF","CONFME":"CONF","CONFMK":"CONF","CONFMT":"CONF","CONFMX":"CONF","CONFNL":"CONF","CONFPL":"CONF","CONFPT":"CONF","CONFR":"CON","CONFRO":"CONF","CONFRS":"CONF","CONFSE":"CONF","CONFSI":"CONF","CONFSK":"CONF","CONFTR":"CONF","CONFUK":"CONF","CONFUS":"CONF","CONGR":"CON","CONHR":"CON","CONHU":"CON","CONIE":"CON","CONIT":"CON","CONKR":"CON","CONLT":"CON","CONLU":"CON","CONLV":"CON","CONMK":"CON","CONMT":"CON","CONMX":"CON","CONNL":"CON","CONNO":"CON","CONPL":"CON","CONPT":"CON","CONQA":"CON","CONRO":"CON","CONRS":"CON","CONRU":"CON","CONSE":"CON","CONSI":"CON","CONSK":"CON","CONUA":"CON","CONUK":"CON","CONZA":"CON","COREAR":"CORE","COREAT":"CORE","COREAU":"CORE","COREBD":"CORE","COREBE":"CORE","COREBG":"CORE","COREBR":"CORE","CORECA":"CORE","CORECH":"CORE","CORECY":"CORE","CORECZ":"CORE","COREDE":"CORE","COREDK":"CORE","COREEA":"CORE","COREEE":"CORE","COREES":"CORE","COREEU":"CORE","COREFI":"CORE","COREFR":"CORE","COREGR":"CORE","COREHR":"CORE","COREHU":"CORE","COREIE":"CORE","COREIN":"CORE","COREIS":"CORE","COREIT":"CORE","COREJP":"CORE","COREKR":"CORE","CORELT":"CORE","CORELU":"CORE","CORELV":"CORE","COREMK":"CORE","COREMT":"CORE","COREMX":"CORE","CORENL":"CORE","CORENO":"CORE","CORENP":"CORE","COREPL":"CORE","COREPT":"CORE","CORERO":"CORE","CORERS":"CORE","CORERU":"CORE","CORESE":"CORE","CORESG":"CORE","CORESI":"CORE","CORESK":"CORE","CORETH":"CORE","CORETR":"CORE","CORETW":"CORE","COREUK":"CORE","COREUS":"CORE","CPAT":"CP","CPBE":"CP","CPBG":"CP","CPCZ":"CP","CPDE":"CP","CPDK":"CP","CPES":"CP","CPEU":"CP","CPFI":"CP","CPFR":"CP","CPHR":"CP","CPHU":"CP","CPIAE":"CPI","CPIAF":"CPI","CPIAG":"CPI","CPIAL":"CPI","CPIAM":"CPI","CPIAR":"CPI","CPIAT":"CPI","CPIAU":"CPI","CPIAW":"CPI","CPIAZ":"CPI","CPIBA":"CPI","CPIBB":"CPI","CPIBD":"CPI","CPIBE":"CPI","CPIBF":"CPI","CPIBG":"CPI","CPIBH":"CPI","CPIBI":"CPI","CPIBJ":"CPI","CPIBN":"CPI","CPIBO":"CPI","CPIBR":"CPI","CPIBS":"CPI","CPIBT":"CPI","CPIBW":"CPI","CPIBY":"CPI","CPIBZ":"CPI","CPICA":"CPI","CPICF":"CPI","CPICG":"CPI","CPICH":"CPI","CPICI":"CPI","CPICL":"CPI","CPICM":"CPI","CPICN":"CPI","CPICO":"CPI","CPICR":"CPI","CPICV":"CPI","CPICW":"CPI","CPICY":"CPI","CPICZ":"CPI","CPIDE":"CPI","CPIDJ":"CPI","CPIDK":"CPI","CPIDM":"CPI","CPIDO":"CPI","CPIEA":"CPI","CPIEC":"CPI","CPIEE":"CPI","CPIEG":"CPI","CPIES":"CPI","CPIET":"CPI","CPIEU":"CPI","CPIFI":"CPI","CPIFJ":"CPI","CPIFR":"CPI","CPIGA":"CPI","CPIGD":"CPI","CPIGE":"CPI","CPIGN":"CPI","CPIGQ":"CPI","CPIGR":"CPI","CPIGT":"CPI","CPIGW":"CPI","CPIGY":"CPI","CPIHK":"CPI","CPIHN":"CPI","CPIHR":"CPI","CPIHT":"CPI","CPIHU":"CPI","CPIID":"CPI","CPIIE":"CPI","CPIIL":"CPI","CPIIN":"CPI","CPIIQ":"CPI","CPIIR":"CPI","CPIIS":"CPI","CPIIT":"CPI","CPIJM":"CPI","CPIJO":"CPI","CPIJP":"CPI","CPIKG":"CPI","CPIKH":"CPI","CPIKI":"CPI","CPIKN":"CPI","CPIKR":"CPI","CPIKW":"CPI","CPIKZ":"CPI","CPILA":"CPI","CPILB":"CPI","CPILC":"CPI","CPILK":"CPI","CPILR":"CPI","CPILS":"CPI","CPILT":"CPI","CPILU":"CPI","CPILV":"CPI","CPIMA":"CPI","CPIMD":"CPI","CPIME":"CPI","CPIMG":"CPI","CPIMK":"CPI","CPIML":"CPI","CPIMM":"CPI","CPIMN":"CPI","CPIMO":"CPI","CPIMR":"CPI","CPIMS":"CPI","CPIMT":"CPI","CPIMU":"CPI","CPIMV":"CPI","CPIMW":"CPI","CPIMX":"CPI","CPIMY":"CPI","CPIMZ":"CPI","CPINE":"CPI","CPING":"CPI","CPINI":"CPI","CPINL":"CPI","CPINO":"CPI","CPINP":"CPI","CPINZ":"CPI","CPIOM":"CPI","CPIPA":"CPI","CPIPE":"CPI","CPIPH":"CPI","CPIPK":"CPI","CPIPL":"CPI","CPIPS":"CPI","CPIPT":"CPI","CPIQA":"CPI","CPIRO":"CPI","CPIRS":"CPI","CPIRU":"CPI","CPISA":"CPI","CPISB":"CPI","CPISC":"CPI","CPISD":"CPI","CPISE":"CPI","CPISG":"CPI","CPISI":"CPI","CPISK":"CPI","CPISR":"CPI","CPISS":"CPI","CPIST":"CPI","CPISV":"CPI","CPISZ":"CPI","CPIT":"CP","CPITD":"CPI","CPITG":"CPI","CPITH":"CPI","CPITJ":"CPI","CPITL":"CPI","CPITN":"CPI","CPITO":"CPI","CPITR":"CPI","CPITT":"CPI","CPITW":"CPI","CPIUA":"CPI","CPIUG":"CPI","CPIUK":"CPI","CPIUS":"CPI","CPIUY":"CPI","CPIUZ":"CPI","CPIVC":"CPI","CPIVE":"CPI","CPIVN":"CPI","CPIWS":"CPI","CPIXK":"CPI","CPIZA":"CPI","CPIZM":"CPI","CPIZW":"CPI","CPLU":"CP","CPMK":"CP","CPMX":"CP","CPNL":"CP","CPNO":"CP","CPPL":"CP","CPPT":"CP","CPRO":"CP","CPSE":"CP","CPSG":"CP","CPSI":"CP","CPSK":"CP","CPUK":"CP","CREDAR":"CRED","CREDAT":"CRED","CREDAU":"CRED","CREDBE":"CRED","CREDBR":"CRED","CREDCA":"CRED","CREDCH":"CRED","CREDCL":"CRED","CREDCN":"CRED","CREDCO":"CRED","CREDCZ":"CRED","CREDDE":"CRED","CREDDK":"CRED","CREDEA":"CREDEA","CREDES":"CRED","CREDFI":"CRED","CREDFR":"CRED","CREDGR":"CRED","CREDHK":"CRED","CREDHU":"CRED","CREDID":"CRED","CREDIE":"CRED","CREDIL":"CRED","CREDIN":"CRED","CREDIT":"CRED","CREDJP":"CRED","CREDKR":"CRED","CREDLU":"CRED","CREDMO":"CRED","CREDMX":"CRED","CREDMY":"CRED","CREDNL":"CRED","CREDNO":"CRED","CREDNZ":"CRED","CREDPL":"CRED","CREDPT":"CRED","CREDRU":"CRED","CREDSA":"CRED","CREDSE":"CRED","CREDSG":"CRED","CREDTH":"CRED","CREDTN":"CRED","CREDTR":"CRED","CREDUK":"CRED","CREDUS":"CRED","CREDZA":"CRED","DWPEBE":"DWPE","DWPECY":"DWPE","DWPEDE":"DWPE","DWPEES":"DWPE","DWPEEU":"DWPE","DWPEFI":"DWPE","DWPEFR":"DWPE","DWPEGR":"DWPE","DWPEHU":"DWPE","DWPEMK":"DWPE","DWPENL":"DWPE","DWPENO":"DWPE","DWPEPT":"DWPE","DWPERO":"DWPE","DWPESE":"DWPE","DWPESI":"DWPE","ELEAT":"ELE","ELEBE":"ELE","ELEBG":"ELE","ELECH":"ELE","ELECN":"ELE","ELECY":"ELE","ELECZ":"ELE","ELEDE":"ELE","ELEDK":"ELE","ELEEE":"ELE","ELEES":"ELE","ELEEU":"ELE","ELEFI":"ELE","ELEFR":"ELE","ELEGR":"ELE","ELEHR":"ELE","ELEHU":"ELE","ELEIE":"ELE","ELEIT":"ELE","ELELT":"ELE","ELELU":"ELE","ELELV":"ELE","ELEMK":"ELE","ELEMT":"ELE","ELENL":"ELE","ELENO":"ELE","ELEPL":"ELE","ELEPT":"ELE","ELERO":"ELE","ELESE":"ELE","ELESI":"ELE","ELESK":"ELE","ELETR":"ELE","ELEUK":"ELE","ELEUS":"ELE","ELEZA":"ELE","EMPAR":"EMP","EMPAT":"EMP","EMPAU":"EMP","EMPAZ":"EMP","EMPBD":"EMP","EMPBE":"EMP","EMPBG":"EMP","EMPBR":"EMP","EMPBY":"EMP","EMPCA":"EMP","EMPCH":"EMP","EMPCL":"EMP","EMPCN":"EMP","EMPCO":"EMP","EMPCR":"EMP","EMPCY":"EMP","EMPCZ":"EMP","EMPDE":"EMP","EMPDK":"EMP","EMPDO":"EMP","EMPEE":"EMP","EMPES":"EMP","EMPFI":"EMP","EMPFR":"EMP","EMPGR":"EMP","EMPHR":"EMP","EMPHU":"EMP","EMPID":"EMP","EMPIE":"EMP","EMPIS":"EMP","EMPIT":"EMP","EMPJO":"EMP","EMPJP":"EMP","EMPKR":"EMP","EMPKZ":"EMP","EMPLK":"EMP","EMPLT":"EMP","EMPLU":"EMP","EMPLV":"EMP","EMPME":"EMP","EMPMK":"EMP","EMPMO":"EMP","EMPMT":"EMP","EMPMX":"EMP","EMPMY":"EMP","EMPNL":"EMP","EMPNO":"EMP","EMPNZ":"EMP","EMPPA":"EMP","EMPPE":"EMP","EMPPH":"EMP","EMPPK":"EMP","EMPPL":"EMP","EMPPT":"EMP","EMPQA":"EMP","EMPRO":"EMP","EMPRS":"EMP","EMPRU":"EMP","EMPSE":"EMP","EMPSG":"EMP","EMPSI":"EMP","EMPSK":"EMP","EMPTH":"EMP","EMPTN":"EMP","EMPTR":"EMP","EMPTW":"EMP","EMPUA":"EMP","EMPUS":"EMP","EMPUY":"EMP","EMPVN":"EMP","EMPZA":"EMP","EMRATIOAT":"EMRATIO","EMRATIOBE":"EMRATIO","EMRATIOBG":"EMRATIO","EMRATIOCH":"EMRATIO","EMRATIOCY":"EMRATIO","EMRATIOCZ":"EMRATIO","EMRATIODE":"EMRATIO","EMRATIODK":"EMRATIO","EMRATIOEE":"EMRATIO","EMRATIOES":"EMRATIO","EMRATIOFI":"EMRATIO","EMRATIOFR":"EMRATIO","EMRATIOGR":"EMRATIO","EMRATIOHR":"EMRATIO","EMRATIOHU":"EMRATIO","EMRATIOIE":"EMRATIO","EMRATIOIS":"EMRATIO","EMRATIOIT":"EMRATIO","EMRATIOJP":"EMRATIO","EMRATIOLT":"EMRATIO","EMRATIOLU":"EMRATIO","EMRATIOLV":"EMRATIO","EMRATIOME":"EMRATIO","EMRATIOMK":"EMRATIO","EMRATIOMT":"EMRATIO","EMRATIONL":"EMRATIO","EMRATIONO":"EMRATIO","EMRATIOPL":"EMRATIO","EMRATIOPT":"EMRATIO","EMRATIORO":"EMRATIO","EMRATIORS":"EMRATIO","EMRATIOSE":"EMRATIO","EMRATIOSI":"EMRATIO","EMRATIOSK":"EMRATIO","EMRATIOTR":"EMRATIO","EMRATIOTW":"EMRATIO","EMRATIOUS":"EMRATIO","EQYCAPCN":"EQYCAP","EXPAE":"EXP","EXPAL":"EXP","EXPAR":"EXP","EXPAT":"EXP","EXPAU":"EXP","EXPAZ":"EXP","EXPBD":"EXP","EXPBE":"EXP","EXPBG":"EXP","EXPBR":"EXP","EXPBW":"EXP","EXPBY":"EXP","EXPCA":"EXP","EXPCH":"EXP","EXPCL":"EXP","EXPCM":"EXP","EXPCN":"EXP","EXPCO":"EXP","EXPCY":"EXP","EXPCZ":"EXP","EXPDE":"EXP","EXPDK":"EXP","EXPEA":"EXP","EXPEE":"EXP","EXPES":"EXP","EXPEU":"EXP","EXPFI":"EXP","EXPFR":"EXP","EXPGR":"EXP","EXPHK":"EXP","EXPHR":"EXP","EXPHU":"EXP","EXPID":"EXP","EXPIE":"EXP","EXPIL":"EXP","EXPIN":"EXP","EXPIR":"EXP","EXPIT":"EXP","EXPJO":"EXP","EXPJP":"EXP","EXPKR":"EXP","EXPKZ":"EXP","EXPLT":"EXP","EXPLU":"EXP","EXPLV":"EXP","EXPMA":"EXP","EXPME":"EXP","EXPMK":"EXP","EXPMN":"EXP","EXPMONAR":"EXPMON","EXPMONAU":"EXPMON","EXPMONBD":"EXPMON","EXPMONBE":"EXPMON","EXPMONBG":"EXPMON","EXPMONBR":"EXPMON","EXPMONCA":"EXPMON","EXPMONCL":"EXPMON","EXPMONCN":"EXPMON","EXPMONCO":"EXPMON","EXPMONCR":"EXPMON","EXPMONCZ":"EXPMON","EXPMONDE":"EXPMON","EXPMONDK":"EXPMON","EXPMONEE":"EXPMON","EXPMONEG":"EXPMON","EXPMONES":"EXPMON","EXPMONEU":"EXPMON","EXPMONFI":"EXPMON","EXPMONFR":"EXPMON","EXPMONGR":"EXPMON","EXPMONHK":"EXPMON","EXPMONHR":"EXPMON","EXPMONHU":"EXPMON","EXPMONID":"EXPMON","EXPMONIN":"EXPMON","EXPMONIT":"EXPMON","EXPMONJP":"EXPMON","EXPMONKH":"EXPMON","EXPMONKR":"EXPMON","EXPMONKZ":"EXPMON","EXPMONLT":"EXPMON","EXPMONLU":"EXPMON","EXPMONLV":"EXPMON","EXPMONMK":"EXPMON","EXPMONMT":"EXPMON","EXPMONMX":"EXPMON","EXPMONMY":"EXPMON","EXPMONNL":"EXPMON","EXPMONNP":"EXPMON","EXPMONPH":"EXPMON","EXPMONPK":"EXPMON","EXPMONPL":"EXPMON","EXPMONPT":"EXPMON","EXPMONQA":"EXPMON","EXPMONRO":"EXPMON","EXPMONRS":"EXPMON","EXPMONRU":"EXPMON","EXPMONSA":"EXPMON","EXPMONSE":"EXPMON","EXPMONSG":"EXPMON","EXPMONSI":"EXPMON","EXPMONSK":"EXPMON","EXPMONTH":"EXPMON","EXPMONTR":"EXPMON","EXPMONTW":"EXPMON","EXPMONUA":"EXPMON","EXPMONUK":"EXPMON","EXPMONUS":"EXPMON","EXPMONUY":"EXPMON","EXPMONVN":"EXPMON","EXPMONZA":"EXPMON","EXPMT":"EXP","EXPMX":"EXP","EXPMY":"EXP","EXPNG":"EXP","EXPNL":"EXP","EXPNO":"EXP","EXPNZ":"EXP","EXPPE":"EXP","EXPPH":"EXP","EXPPK":"EXP","EXPPL":"EXP","EXPPT":"EXP","EXPQA":"EXP","EXPRO":"EXP","EXPRS":"EXP","EXPRU":"EXP","EXPRW":"EXP","EXPSA":"EXP","EXPSE":"EXP","EXPSG":"EXP","EXPSI":"EXP","EXPSK":"EXP","EXPSV":"EXP","EXPTH":"EXP","EXPTR":"EXP","EXPTW":"EXP","EXPUA":"EXP","EXPUK":"EXP","EXPUS":"EXP","EXPZA":"EXP","GASDEMAL":"GASDEM","GASDEMAT":"GASDEM","GASDEMAU":"GASDEM","GASDEMAZ":"GASDEM","GASDEMBE":"GASDEM","GASDEMBG":"GASDEM","GASDEMBH":"GASDEM","GASDEMBN":"GASDEM","GASDEMBO":"GASDEM","GASDEMBY":"GASDEM","GASDEMCA":"GASDEM","GASDEMCH":"GASDEM","GASDEMCL":"GASDEM","GASDEMCZ":"GASDEM","GASDEMDE":"GASDEM","GASDEMDK":"GASDEM","GASDEMDZ":"GASDEM","GASDEMEC":"GASDEM","GASDEMEE":"GASDEM","GASDEMEG":"GASDEM","GASDEMES":"GASDEM","GASDEMFI":"GASDEM","GASDEMFR":"GASDEM","GASDEMGE":"GASDEM","GASDEMGQ":"GASDEM","GASDEMGR":"GASDEM","GASDEMHK":"GASDEM","GASDEMHR":"GASDEM","GASDEMHU":"GASDEM","GASDEMID":"GASDEM","GASDEMIE":"GASDEM","GASDEMIN":"GASDEM","GASDEMIT":"GASDEM","GASDEMJP":"GASDEM","GASDEMKR":"GASDEM","GASDEMKW":"GASDEM","GASDEMLT":"GASDEM","GASDEMLU":"GASDEM","GASDEMLV":"GASDEM","GASDEMLY":"GASDEM","GASDEMMA":"GASDEM","GASDEMMD":"GASDEM","GASDEMMK":"GASDEM","GASDEMMT":"GASDEM","GASDEMMX":"GASDEM","GASDEMNG":"GASDEM","GASDEMNL":"GASDEM","GASDEMNO":"GASDEM","GASDEMNZ":"GASDEM","GASDEMPE":"GASDEM","GASDEMPH":"GASDEM","GASDEMPL":"GASDEM","GASDEMPT":"GASDEM","GASDEMQA":"GASDEM","GASDEMRO":"GASDEM","GASDEMSE":"GASDEM","GASDEMSI":"GASDEM","GASDEMSK":"GASDEM","GASDEMTN":"GASDEM","GASDEMTR":"GASDEM","GASDEMTT":"GASDEM","GASDEMTW":"GASDEM","GASDEMUA":"GASDEM","GASDEMUK":"GASDEM","GASDEMUS":"GASDEM","GASDEMVE":"GASDEM","GASDEMZA":"GASDEM","GASODEMAE":"GASODEM","GASODEMAL":"GASODEM","GASODEMAM":"GASODEM","GASODEMAO":"GASODEM","GASODEMAR":"GASODEM","GASODEMAT":"GASODEM","GASODEMAU":"GASODEM","GASODEMAZ":"GASODEM","GASODEMBB":"GASODEM","GASODEMBD":"GASODEM","GASODEMBE":"GASODEM","GASODEMBG":"GASODEM","GASODEMBH":"GASODEM","GASODEMBM":"GASODEM","GASODEMBN":"GASODEM","GASODEMBO":"GASODEM","GASODEMBR":"GASODEM","GASODEMBY":"GASODEM","GASODEMBZ":"GASODEM","GASODEMCA":"GASODEM","GASODEMCH":"GASODEM","GASODEMCL":"GASODEM","GASODEMCN":"GASODEM","GASODEMCO":"GASODEM","GASODEMCR":"GASODEM","GASODEMCU":"GASODEM","GASODEMCY":"GASODEM","GASODEMCZ":"GASODEM","GASODEMDE":"GASODEM","GASODEMDK":"GASODEM","GASODEMDO":"GASODEM","GASODEMDZ":"GASODEM","GASODEMEC":"GASODEM","GASODEMEE":"GASODEM","GASODEMEG":"GASODEM","GASODEMES":"GASODEM","GASODEMFI":"GASODEM","GASODEMFR":"GASODEM","GASODEMGA":"GASODEM","GASODEMGD":"GASODEM","GASODEMGE":"GASODEM","GASODEMGM":"GASODEM","GASODEMGQ":"GASODEM","GASODEMGR":"GASODEM","GASODEMGT":"GASODEM","GASODEMGY":"GASODEM","GASODEMHK":"GASODEM","GASODEMHN":"GASODEM","GASODEMHR":"GASODEM","GASODEMHT":"GASODEM","GASODEMHU":"GASODEM","GASODEMID":"GASODEM","GASODEMIE":"GASODEM","GASODEMIN":"GASODEM","GASODEMIQ":"GASODEM","GASODEMIR":"GASODEM","GASODEMIS":"GASODEM","GASODEMIT":"GASODEM","GASODEMJM":"GASODEM","GASODEMJP":"GASODEM","GASODEMKR":"GASODEM","GASODEMKW":"GASODEM","GASODEMKZ":"GASODEM","GASODEMLT":"GASODEM","GASODEMLU":"GASODEM","GASODEMLV":"GASODEM","GASODEMLY":"GASODEM","GASODEMMA":"GASODEM","GASODEMMD":"GASODEM","GASODEMMK":"GASODEM","GASODEMMM":"GASODEM","GASODEMMT":"GASODEM","GASODEMMU":"GASODEM","GASODEMMX":"GASODEM","GASODEMMY":"GASODEM","GASODEMNE":"GASODEM","GASODEMNG":"GASODEM","GASODEMNI":"GASODEM","GASODEMNL":"GASODEM","GASODEMNO":"GASODEM","GASODEMNP":"GASODEM","GASODEMNZ":"GASODEM","GASODEMOM":"GASODEM","GASODEMPA":"GASODEM","GASODEMPE":"GASODEM","GASODEMPG":"GASODEM","GASODEMPH":"GASODEM","GASODEMPL":"GASODEM","GASODEMPT":"GASODEM","GASODEMPY":"GASODEM","GASODEMQA":"GASODEM","GASODEMRO":"GASODEM","GASODEMRU":"GASODEM","GASODEMSA":"GASODEM","GASODEMSD":"GASODEM","GASODEMSE":"GASODEM","GASODEMSG":"GASODEM","GASODEMSI":"GASODEM","GASODEMSK":"GASODEM","GASODEMSR":"GASODEM","GASODEMSV":"GASODEM","GASODEMSY":"GASODEM","GASODEMSZ":"GASODEM","GASODEMTH":"GASODEM","GASODEMTJ":"GASODEM","GASODEMTN":"GASODEM","GASODEMTR":"GASODEM","GASODEMTT":"GASODEM","GASODEMTW":"GASODEM","GASODEMUA":"GASODEM","GASODEMUK":"GASODEM","GASODEMUS":"GASODEM","GASODEMUY":"GASODEM","GASODEMVE":"GASODEM","GASODEMVN":"GASODEM","GASODEMYE":"GASODEM","GASODEMZA":"GASODEM","GASOPRODAE":"GASOPROD","GASOPRODAL":"GASOPROD","GASOPRODAM":"GASOPROD","GASOPRODAO":"GASOPROD","GASOPRODAR":"GASOPROD","GASOPRODAT":"GASOPROD","GASOPRODAU":"GASOPROD","GASOPRODAZ":"GASOPROD","GASOPRODBB":"GASOPROD","GASOPRODBD":"GASOPROD","GASOPRODBE":"GASOPROD","GASOPRODBG":"GASOPROD","GASOPRODBH":"GASOPROD","GASOPRODBM":"GASOPROD","GASOPRODBN":"GASOPROD","GASOPRODBO":"GASOPROD","GASOPRODBR":"GASOPROD","GASOPRODBY":"GASOPROD","GASOPRODBZ":"GASOPROD","GASOPRODCA":"GASOPROD","GASOPRODCH":"GASOPROD","GASOPRODCL":"GASOPROD","GASOPRODCN":"GASOPROD","GASOPRODCO":"GASOPROD","GASOPRODCR":"GASOPROD","GASOPRODCU":"GASOPROD","GASOPRODCY":"GASOPROD","GASOPRODCZ":"GASOPROD","GASOPRODDE":"GASOPROD","GASOPRODDK":"GASOPROD","GASOPRODDO":"GASOPROD","GASOPRODDZ":"GASOPROD","GASOPRODEC":"GASOPROD","GASOPRODEE":"GASOPROD","GASOPRODEG":"GASOPROD","GASOPRODES":"GASOPROD","GASOPRODFI":"GASOPROD","GASOPRODFR":"GASOPROD","GASOPRODGA":"GASOPROD","GASOPRODGD":"GASOPROD","GASOPRODGE":"GASOPROD","GASOPRODGM":"GASOPROD","GASOPRODGQ":"GASOPROD","GASOPRODGR":"GASOPROD","GASOPRODGT":"GASOPROD","GASOPRODGY":"GASOPROD","GASOPRODHK":"GASOPROD","GASOPRODHN":"GASOPROD","GASOPRODHR":"GASOPROD","GASOPRODHT":"GASOPROD","GASOPRODHU":"GASOPROD","GASOPRODID":"GASOPROD","GASOPRODIE":"GASOPROD","GASOPRODIN":"GASOPROD","GASOPRODIQ":"GASOPROD","GASOPRODIR":"GASOPROD","GASOPRODIS":"GASOPROD","GASOPRODIT":"GASOPROD","GASOPRODJM":"GASOPROD","GASOPRODJP":"GASOPROD","GASOPRODKR":"GASOPROD","GASOPRODKW":"GASOPROD","GASOPRODKZ":"GASOPROD","GASOPRODLT":"GASOPROD","GASOPRODLU":"GASOPROD","GASOPRODLV":"GASOPROD","GASOPRODLY":"GASOPROD","GASOPRODMA":"GASOPROD","GASOPRODMD":"GASOPROD","GASOPRODMK":"GASOPROD","GASOPRODMM":"GASOPROD","GASOPRODMT":"GASOPROD","GASOPRODMU":"GASOPROD","GASOPRODMX":"GASOPROD","GASOPRODMY":"GASOPROD","GASOPRODNE":"GASOPROD","GASOPRODNG":"GASOPROD","GASOPRODNI":"GASOPROD","GASOPRODNL":"GASOPROD","GASOPRODNO":"GASOPROD","GASOPRODNP":"GASOPROD","GASOPRODNZ":"GASOPROD","GASOPRODOM":"GASOPROD","GASOPRODPA":"GASOPROD","GASOPRODPE":"GASOPROD","GASOPRODPG":"GASOPROD","GASOPRODPH":"GASOPROD","GASOPRODPL":"GASOPROD","GASOPRODPT":"GASOPROD","GASOPRODPY":"GASOPROD","GASOPRODQA":"GASOPROD","GASOPRODRO":"GASOPROD","GASOPRODRU":"GASOPROD","GASOPRODSA":"GASOPROD","GASOPRODSD":"GASOPROD","GASOPRODSE":"GASOPROD","GASOPRODSG":"GASOPROD","GASOPRODSI":"GASOPROD","GASOPRODSK":"GASOPROD","GASOPRODSR":"GASOPROD","GASOPRODSV":"GASOPROD","GASOPRODSY":"GASOPROD","GASOPRODSZ":"GASOPROD","GASOPRODTH":"GASOPROD","GASOPRODTJ":"GASOPROD","GASOPRODTN":"GASOPROD","GASOPRODTR":"GASOPROD","GASOPRODTT":"GASOPROD","GASOPRODTW":"GASOPROD","GASOPRODUA":"GASOPROD","GASOPRODUK":"GASOPROD","GASOPRODUS":"GASOPROD","GASOPRODUY":"GASOPROD","GASOPRODVE":"GASOPROD","GASOPRODVN":"GASOPROD","GASOPRODYE":"GASOPROD","GASOPRODZA":"GASOPROD","GASPRODAL":"GASPROD","GASPRODAT":"GASPROD","GASPRODAU":"GASPROD","GASPRODAZ":"GASPROD","GASPRODBE":"GASPROD","GASPRODBG":"GASPROD","GASPRODBH":"GASPROD","GASPRODBN":"GASPROD","GASPRODBO":"GASPROD","GASPRODBY":"GASPROD","GASPRODCA":"GASPROD","GASPRODCH":"GASPROD","GASPRODCL":"GASPROD","GASPRODCN":"GASPROD","GASPRODCZ":"GASPROD","GASPRODDE":"GASPROD","GASPRODDK":"GASPROD","GASPRODDZ":"GASPROD","GASPRODEC":"GASPROD","GASPRODEE":"GASPROD","GASPRODEG":"GASPROD","GASPRODES":"GASPROD","GASPRODFI":"GASPROD","GASPRODFR":"GASPROD","GASPRODGA":"GASPROD","GASPRODGE":"GASPROD","GASPRODGQ":"GASPROD","GASPRODGR":"GASPROD","GASPRODHK":"GASPROD","GASPRODHR":"GASPROD","GASPRODHU":"GASPROD","GASPRODID":"GASPROD","GASPRODIE":"GASPROD","GASPRODIN":"GASPROD","GASPRODIQ":"GASPROD","GASPRODIT":"GASPROD","GASPRODJP":"GASPROD","GASPRODKR":"GASPROD","GASPRODKW":"GASPROD","GASPRODKZ":"GASPROD","GASPRODLT":"GASPROD","GASPRODLU":"GASPROD","GASPRODLV":"GASPROD","GASPRODLY":"GASPROD","GASPRODMA":"GASPROD","GASPRODMD":"GASPROD","GASPRODMK":"GASPROD","GASPRODMT":"GASPROD","GASPRODMX":"GASPROD","GASPRODMY":"GASPROD","GASPRODNG":"GASPROD","GASPRODNL":"GASPROD","GASPRODNO":"GASPROD","GASPRODNZ":"GASPROD","GASPRODPE":"GASPROD","GASPRODPG":"GASPROD","GASPRODPH":"GASPROD","GASPRODPL":"GASPROD","GASPRODPT":"GASPROD","GASPRODQA":"GASPROD","GASPRODRO":"GASPROD","GASPRODRU":"GASPROD","GASPRODSE":"GASPROD","GASPRODSG":"GASPROD","GASPRODSI":"GASPROD","GASPRODSK":"GASPROD","GASPRODTH":"GASPROD","GASPRODTN":"GASPROD","GASPRODTR":"GASPROD","GASPRODTT":"GASPROD","GASPRODTW":"GASPROD","GASPRODUA":"GASPROD","GASPRODUK":"GASPROD","GASPRODUS":"GASPROD","GASPRODVE":"GASPROD","GASPRODVN":"GASPROD","GASPRODZA":"GASPROD","GBALAR":"GBAL","GBALAT":"GBAL","GBALAU":"GBAL","GBALAZ":"GBAL","GBALBD":"GBAL","GBALBE":"GBAL","GBALBG":"GBAL","GBALBR":"GBAL","GBALCA":"GBAL","GBALCH":"GBAL","GBALCN":"GBAL","GBALCO":"GBAL","GBALCR":"GBAL","GBALCY":"GBAL","GBALCZ":"GBAL","GBALDE":"GBAL","GBALDK":"GBAL","GBALEE":"GBAL","GBALES":"GBAL","GBALEU":"GBAL","GBALFI":"GBAL","GBALFR":"GBAL","GBALGR":"GBAL","GBALHK":"GBAL","GBALHR":"GBAL","GBALHU":"GBAL","GBALID":"GBAL","GBALIE":"GBAL","GBALIL":"GBAL","GBALIN":"GBAL","GBALIS":"GBAL","GBALIT":"GBAL","GBALJP":"GBAL","GBALKH":"GBAL","GBALKR":"GBAL","GBALKZ":"GBAL","GBALLT":"GBAL","GBALLU":"GBAL","GBALLV":"GBAL","GBALMO":"GBAL","GBALMT":"GBAL","GBALMX":"GBAL","GBALMY":"GBAL","GBALNL":"GBAL","GBALNO":"GBAL","GBALPE":"GBAL","GBALPH":"GBAL","GBALPL":"GBAL","GBALPT":"GBAL","GBALRO":"GBAL","GBALRU":"GBAL","GBALSA":"GBAL","GBALSE":"GBAL","GBALSG":"GBAL","GBALSI":"GBAL","GBALSK":"GBAL","GBALTH":"GBAL","GBALTR":"GBAL","GBALTW":"GBAL","GBALUA":"GBAL","GBALUK":"GBAL","GBALUS":"GBAL","GBALZA":"GBAL","GCFAT":"GCF","GCFBE":"GCF","GCFBG":"GCF","GCFBR":"GCF","GCFBY":"GCF","GCFCH":"GCF","GCFCN":"GCF","GCFCY":"GCF","GCFCZ":"GCF","GCFDE":"GCF","GCFDK":"GCF","GCFEA":"GCF","GCFEE":"GCF","GCFES":"GCF","GCFEU":"GCF","GCFFI":"GCF","GCFFR":"GCF","GCFGR":"GCF","GCFHR":"GCF","GCFHU":"GCF","GCFIE":"GCF","GCFIT":"GCF","GCFKR":"GCF","GCFLT":"GCF","GCFLU":"GCF","GCFLV":"GCF","GCFME":"GCF","GCFMK":"GCF","GCFMT":"GCF","GCFNL":"GCF","GCFNO":"GCF","GCFNZ":"GCF","GCFPE":"GCF","GCFPL":"GCF","GCFPT":"GCF","GCFQA":"GCF","GCFRO":"GCF","GCFRS":"GCF","GCFRU":"GCF","GCFSE":"GCF","GCFSI":"GCF","GCFSK":"GCF","GCFTH":"GCF","GCFUA":"GCF","GCFUK":"GCF","GDEBTAR":"GDEBT","GDEBTAT":"GDEBT","GDEBTAU":"GDEBT","GDEBTBE":"GDEBT","GDEBTBG":"GDEBT","GDEBTBR":"GDEBT","GDEBTCA":"GDEBT","GDEBTCL":"GDEBT","GDEBTCN":"GDEBT","GDEBTCO":"GDEBT","GDEBTCR":"GDEBT","GDEBTCY":"GDEBT","GDEBTCZ":"GDEBT","GDEBTDE":"GDEBT","GDEBTDK":"GDEBT","GDEBTEE":"GDEBT","GDEBTES":"GDEBT","GDEBTEU":"GDEBT","GDEBTFI":"GDEBT","GDEBTFR":"GDEBT","GDEBTGR":"GDEBT","GDEBTHK":"GDEBT","GDEBTHR":"GDEBT","GDEBTHU":"GDEBT","GDEBTID":"GDEBT","GDEBTIE":"GDEBT","GDEBTIL":"GDEBT","GDEBTIN":"GDEBT","GDEBTIT":"GDEBT","GDEBTJO":"GDEBT","GDEBTJP":"GDEBT","GDEBTKR":"GDEBT","GDEBTKZ":"GDEBT","GDEBTLT":"GDEBT","GDEBTLU":"GDEBT","GDEBTLV":"GDEBT","GDEBTMT":"GDEBT","GDEBTMX":"GDEBT","GDEBTMY":"GDEBT","GDEBTNAT":"GDEBTN","GDEBTNBE":"GDEBTN","GDEBTNBG":"GDEBTN","GDEBTNCY":"GDEBTN","GDEBTNCZ":"GDEBTN","GDEBTNDE":"GDEBTN","GDEBTNDK":"GDEBTN","GDEBTNEE":"GDEBTN","GDEBTNES":"GDEBTN","GDEBTNEU":"GDEBTN","GDEBTNFI":"GDEBTN","GDEBTNFR":"GDEBTN","GDEBTNGR":"GDEBTN","GDEBTNHR":"GDEBTN","GDEBTNHU":"GDEBTN","GDEBTNIE":"GDEBTN","GDEBTNIT":"GDEBTN","GDEBTNL":"GDEBT","GDEBTNLT":"GDEBTN","GDEBTNLU":"GDEBTN","GDEBTNLV":"GDEBTN","GDEBTNMT":"GDEBTN","GDEBTNNL":"GDEBTN","GDEBTNNO":"GDEBTN","GDEBTNO":"GDEBT","GDEBTNPL":"GDEBTN","GDEBTNPT":"GDEBTN","GDEBTNRO":"GDEBTN","GDEBTNSE":"GDEBTN","GDEBTNSI":"GDEBTN","GDEBTNSK":"GDEBTN","GDEBTNUK":"GDEBTN","GDEBTPH":"GDEBT","GDEBTPK":"GDEBT","GDEBTPL":"GDEBT","GDEBTPT":"GDEBT","GDEBTQA":"GDEBT","GDEBTRO":"GDEBT","GDEBTRU":"GDEBT","GDEBTSA":"GDEBT","GDEBTSE":"GDEBT","GDEBTSG":"GDEBT","GDEBTSI":"GDEBT","GDEBTSK":"GDEBT","GDEBTSV":"GDEBT","GDEBTTH":"GDEBT","GDEBTTR":"GDEBT","GDEBTTW":"GDEBT","GDEBTUK":"GDEBT","GDEBTUS":"GDEBT","GDEBTZA":"GDEBT","GDPAE":"GDP","GDPAL":"GDP","GDPAR":"GDP","GDPAT":"GDP","GDPAU":"GDP","GDPAZ":"GDP","GDPBD":"GDP","GDPBE":"GDP","GDPBG":"GDP","GDPBR":"GDP","GDPBW":"GDP","GDPBY":"GDP","GDPCA":"GDP","GDPCH":"GDP","GDPCL":"GDP","GDPCM":"GDP","GDPCN":"GDP","GDPCO":"GDP","GDPCR":"GDP","GDPCY":"GDP","GDPCZ":"GDP","GDPDE":"GDP","GDPDEFLK":"GDPDEF","GDPDK":"GDP","GDPEA":"GDP","GDPEE":"GDP","GDPEG":"GDP","GDPES":"GDP","GDPEU":"GDP","GDPFI":"GDP","GDPFR":"GDP","GDPGR":"GDP","GDPHK":"GDP","GDPHN":"GDP","GDPHR":"GDP","GDPHU":"GDP","GDPID":"GDP","GDPIE":"GDP","GDPIL":"GDP","GDPIN":"GDP","GDPIR":"GDP","GDPIT":"GDP","GDPJO":"GDP","GDPJP":"GDP","GDPKH":"GDP","GDPKR":"GDP","GDPKZ":"GDP","GDPLA":"GDP","GDPLT":"GDP","GDPLU":"GDP","GDPLV":"GDP","GDPMA":"GDP","GDPME":"GDP","GDPMK":"GDP","GDPMO":"GDP","GDPMT":"GDP","GDPMX":"GDP","GDPMY":"GDP","GDPNG":"GDP","GDPNL":"GDP","GDPNO":"GDP","GDPNZ":"GDP","GDPPA":"GDP","GDPPCAL":"GDPPC","GDPPCAT":"GDPPC","GDPPCAU":"GDPPC","GDPPCBE":"GDPPC","GDPPCBG":"GDPPC","GDPPCBR":"GDPPC","GDPPCCH":"GDPPC","GDPPCCN":"GDPPC","GDPPCCY":"GDPPC","GDPPCCZ":"GDPPC","GDPPCDE":"GDPPC","GDPPCDK":"GDPPC","GDPPCEA":"GDPPC","GDPPCEE":"GDPPC","GDPPCES":"GDPPC","GDPPCEU":"GDPPC","GDPPCFI":"GDPPC","GDPPCFR":"GDPPC","GDPPCGR":"GDPPC","GDPPCHR":"GDPPC","GDPPCHU":"GDPPC","GDPPCIE":"GDPPC","GDPPCIS":"GDPPC","GDPPCIT":"GDPPC","GDPPCKH":"GDPPC","GDPPCKZ":"GDPPC","GDPPCLI":"GDPPC","GDPPCLT":"GDPPC","GDPPCLU":"GDPPC","GDPPCLV":"GDPPC","GDPPCME":"GDPPC","GDPPCMK":"GDPPC","GDPPCMT":"GDPPC","GDPPCNL":"GDPPC","GDPPCNO":"GDPPC","GDPPCNZ":"GDPPC","GDPPCPL":"GDPPC","GDPPCPT":"GDPPC","GDPPCRO":"GDPPC","GDPPCRS":"GDPPC","GDPPCSE":"GDPPC","GDPPCSG":"GDPPC","GDPPCSI":"GDPPC","GDPPCSK":"GDPPC","GDPPCTR":"GDPPC","GDPPCTW":"GDPPC","GDPPCUS":"GDPPC","GDPPE":"GDP","GDPPH":"GDP","GDPPK":"GDP","GDPPL":"GDP","GDPPT":"GDP","GDPQA":"GDP","GDPRO":"GDP","GDPRS":"GDP","GDPRU":"GDP","GDPRW":"GDP","GDPSA":"GDP","GDPSE":"GDP","GDPSG":"GDP","GDPSI":"GDP","GDPSK":"GDP","GDPSV":"GDP","GDPTH":"GDP","GDPTN":"GDP","GDPTR":"GDP","GDPTW":"GDP","GDPUA":"GDP","GDPUK":"GDP","GDPUS":"GDP","GDPUZ":"GDP","GDPVN":"GDP","GDPZA":"GDP","GFCFAE":"GFCF","GFCFAL":"GFCF","GFCFAR":"GFCF","GFCFAT":"GFCF","GFCFAU":"GFCF","GFCFAZ":"GFCF","GFCFBD":"GFCF","GFCFBE":"GFCF","GFCFBG":"GFCF","GFCFBR":"GFCF","GFCFBW":"GFCF","GFCFBY":"GFCF","GFCFCA":"GFCF","GFCFCH":"GFCF","GFCFCL":"GFCF","GFCFCM":"GFCF","GFCFCN":"GFCF","GFCFCO":"GFCF","GFCFCY":"GFCF","GFCFCZ":"GFCF","GFCFDE":"GFCF","GFCFDK":"GFCF","GFCFEA":"GFCF","GFCFEE":"GFCF","GFCFES":"GFCF","GFCFEU":"GFCF","GFCFFI":"GFCF","GFCFFR":"GFCF","GFCFGR":"GFCF","GFCFHK":"GFCF","GFCFHR":"GFCF","GFCFHU":"GFCF","GFCFID":"GFCF","GFCFIE":"GFCF","GFCFIL":"GFCF","GFCFIN":"GFCF","GFCFIR":"GFCF","GFCFIT":"GFCF","GFCFJP":"GFCF","GFCFKR":"GFCF","GFCFKZ":"GFCF","GFCFLT":"GFCF","GFCFLU":"GFCF","GFCFLV":"GFCF","GFCFMA":"GFCF","GFCFME":"GFCF","GFCFMN":"GFCF","GFCFMT":"GFCF","GFCFMX":"GFCF","GFCFMY":"GFCF","GFCFNG":"GFCF","GFCFNL":"GFCF","GFCFNO":"GFCF","GFCFNZ":"GFCF","GFCFPH":"GFCF","GFCFPK":"GFCF","GFCFPL":"GFCF","GFCFPT":"GFCF","GFCFRO":"GFCF","GFCFRS":"GFCF","GFCFRU":"GFCF","GFCFSA":"GFCF","GFCFSE":"GFCF","GFCFSG":"GFCF","GFCFSI":"GFCF","GFCFSK":"GFCF","GFCFTH":"GFCF","GFCFTR":"GFCF","GFCFTW":"GFCF","GFCFUA":"GFCF","GFCFUK":"GFCF","GFCFUS":"GFCF","GFCFUZ":"GFCF","GFCFVN":"GFCF","GFCFZA":"GFCF","GREVAR":"GREV","GREVAT":"GREV","GREVAU":"GREV","GREVAZ":"GREV","GREVBD":"GREV","GREVBE":"GREV","GREVBG":"GREV","GREVBR":"GREV","GREVCA":"GREV","GREVCH":"GREV","GREVCN":"GREV","GREVCO":"GREV","GREVCR":"GREV","GREVCY":"GREV","GREVCZ":"GREV","GREVDE":"GREV","GREVDK":"GREV","GREVEE":"GREV","GREVES":"GREV","GREVEU":"GREV","GREVFI":"GREV","GREVFR":"GREV","GREVHK":"GREV","GREVHR":"GREV","GREVHU":"GREV","GREVID":"GREV","GREVIE":"GREV","GREVIL":"GREV","GREVIN":"GREV","GREVJP":"GREV","GREVKH":"GREV","GREVKR":"GREV","GREVKZ":"GREV","GREVLT":"GREV","GREVLU":"GREV","GREVLV":"GREV","GREVMA":"GREV","GREVMO":"GREV","GREVMT":"GREV","GREVMX":"GREV","GREVMY":"GREV","GREVNL":"GREV","GREVPE":"GREV","GREVPH":"GREV","GREVPL":"GREV","GREVPT":"GREV","GREVRO":"GREV","GREVRU":"GREV","GREVSA":"GREV","GREVSE":"GREV","GREVSG":"GREV","GREVSI":"GREV","GREVSK":"GREV","GREVSV":"GREV","GREVTH":"GREV","GREVTR":"GREV","GREVTW":"GREV","GREVUA":"GREV","GREVUK":"GREV","GREVUS":"GREV","GREVUY":"GREV","GREVVN":"GREV","GREVZA":"GREV","GSPEAR":"GSPE","GSPEAT":"GSPE","GSPEAU":"GSPE","GSPEAZ":"GSPE","GSPEBD":"GSPE","GSPEBE":"GSPE","GSPEBG":"GSPE","GSPEBR":"GSPE","GSPECA":"GSPE","GSPECH":"GSPE","GSPECN":"GSPE","GSPECO":"GSPE","GSPECR":"GSPE","GSPECY":"GSPE","GSPECZ":"GSPE","GSPEDE":"GSPE","GSPEDK":"GSPE","GSPEEE":"GSPE","GSPEES":"GSPE","GSPEEU":"GSPE","GSPEFI":"GSPE","GSPEFR":"GSPE","GSPEHK":"GSPE","GSPEHR":"GSPE","GSPEHU":"GSPE","GSPEID":"GSPE","GSPEIE":"GSPE","GSPEIL":"GSPE","GSPEIN":"GSPE","GSPEJP":"GSPE","GSPEKH":"GSPE","GSPEKR":"GSPE","GSPEKZ":"GSPE","GSPELT":"GSPE","GSPELU":"GSPE","GSPELV":"GSPE","GSPEMO":"GSPE","GSPEMT":"GSPE","GSPEMX":"GSPE","GSPEMY":"GSPE","GSPENL":"GSPE","GSPEPE":"GSPE","GSPEPH":"GSPE","GSPEPL":"GSPE","GSPEPT":"GSPE","GSPERO":"GSPE","GSPERU":"GSPE","GSPESA":"GSPE","GSPESE":"GSPE","GSPESG":"GSPE","GSPESI":"GSPE","GSPESK":"GSPE","GSPETH":"GSPE","GSPETR":"GSPE","GSPETW":"GSPE","GSPEUA":"GSPE","GSPEUK":"GSPE","GSPEUS":"GSPE","GSPEUY":"GSPE","GSPEVN":"GSPE","GSPEZA":"GSPE","HHDIRAT":"HHDIR","HHDIRBE":"HHDIR","HHDIRCH":"HHDIR","HHDIRCY":"HHDIR","HHDIRCZ":"HHDIR","HHDIRDE":"HHDIR","HHDIRDK":"HHDIR","HHDIREE":"HHDIR","HHDIRES":"HHDIR","HHDIRFI":"HHDIR","HHDIRFR":"HHDIR","HHDIRGR":"HHDIR","HHDIRHR":"HHDIR","HHDIRHU":"HHDIR","HHDIRIE":"HHDIR","HHDIRIT":"HHDIR","HHDIRLT":"HHDIR","HHDIRLU":"HHDIR","HHDIRLV":"HHDIR","HHDIRNL":"HHDIR","HHDIRNO":"HHDIR","HHDIRPL":"HHDIR","HHDIRPT":"HHDIR","HHDIRSE":"HHDIR","HHDIRSI":"HHDIR","HHDIRSK":"HHDIR","HHDIRTR":"HHDIR","HHSAT":"HHS","HHSBE":"HHS","HHSCN":"HHS","HHSCZ":"HHS","HHSDE":"HHS","HHSDK":"HHS","HHSES":"HHS","HHSEU":"HHS","HHSFI":"HHS","HHSFR":"HHS","HHSGR":"HHS","HHSHU":"HHS","HHSIE":"HHS","HHSIT":"HHS","HHSNL":"HHS","HHSNO":"HHS","HHSPL":"HHS","HHSPT":"HHS","HHSRO":"HHS","HHSSE":"HHS","HHSSI":"HHS","HHSUK":"HHS","HOU5R":"HOU","HOUAE":"HOU","HOUAT":"HOU","HOUAU":"HOU","HOUBE":"HOU","HOUBG":"HOU","HOUBR":"HOU","HOUCA":"HOU","HOUCH":"HOU","HOUCL":"HOU","HOUCN":"HOU","HOUCO":"HOU","HOUCY":"HOU","HOUCZ":"HOU","HOUDE":"HOU","HOUDK":"HOU","HOUEA":"HOU","HOUEE":"HOU","HOUES":"HOU","HOUEU":"HOU","HOUFI":"HOU","HOUFR":"HOU","HOUGR":"HOU","HOUHK":"HOU","HOUHR":"HOU","HOUHU":"HOU","HOUID":"HOU","HOUIE":"HOU","HOUIL":"HOU","HOUIN":"HOU","HOUIS":"HOU","HOUIT":"HOU","HOUJP":"HOU","HOUKR":"HOU","HOULT":"HOU","HOULU":"HOU","HOULV":"HOU","HOUMA":"HOU","HOUMK":"HOU","HOUMT":"HOU","HOUMX":"HOU","HOUMY":"HOU","HOUNL":"HOU","HOUNO":"HOU","HOUNZ":"HOU","HOUPE":"HOU","HOUPH":"HOU","HOUPL":"HOU","HOUPT":"HOU","HOURO":"HOU","HOURU":"HOU","HOUSE":"HOU","HOUSG":"HOU","HOUSI":"HOU","HOUSK":"HOU","HOUTH":"HOU","HOUTR":"HOU","HOUUK":"HOU","HOUUS":"HOU","HOUXW":"HOU","HOUZA":"HOU","IBD1AU":"IBD1","IBD1BG":"IBD1","IBD1CL":"IBD1","IBD1CO":"IBD1","IBD1CZ":"IBD1","IBD1DK":"IBD1","IBD1EA":"IBD1","IBD1HR":"IBD1","IBD1HU":"IBD1","IBD1KR":"IBD1","IBD1MX":"IBD1","IBD1NZ":"IBD1","IBD1PL":"IBD1","IBD1PY":"IBD1","IBD1RO":"IBD1","IBD1RU":"IBD1","IBD1SE":"IBD1","IBD1SG":"IBD1","IBD1TH":"IBD1","IBD1TR":"IBD1","IBD1UA":"IBD1","IBD1UK":"IBD1","IIPAAL":"IIPA","IIPAAR":"IIPA","IIPAAT":"IIPA","IIPAAU":"IIPA","IIPABA":"IIPA","IIPABD":"IIPA","IIPABE":"IIPA","IIPABG":"IIPA","IIPABR":"IIPA","IIPACA":"IIPA","IIPACH":"IIPA","IIPACL":"IIPA","IIPACN":"IIPA","IIPACO":"IIPA","IIPACY":"IIPA","IIPACZ":"IIPA","IIPADE":"IIPA","IIPADK":"IIPA","IIPAEE":"IIPA","IIPAEG":"IIPA","IIPAES":"IIPA","IIPAFI":"IIPA","IIPAFR":"IIPA","IIPAGR":"IIPA","IIPAHK":"IIPA","IIPAHR":"IIPA","IIPAHU":"IIPA","IIPAID":"IIPA","IIPAIE":"IIPA","IIPAIL":"IIPA","IIPAIN":"IIPA","IIPAIS":"IIPA","IIPAIT":"IIPA","IIPAJP":"IIPA","IIPAKH":"IIPA","IIPAKR":"IIPA","IIPALT":"IIPA","IIPALU":"IIPA","IIPALV":"IIPA","IIPAMT":"IIPA","IIPAMX":"IIPA","IIPAMY":"IIPA","IIPANL":"IIPA","IIPANO":"IIPA","IIPANP":"IIPA","IIPAPH":"IIPA","IIPAPK":"IIPA","IIPAPL":"IIPA","IIPAPT":"IIPA","IIPARO":"IIPA","IIPARU":"IIPA","IIPASA":"IIPA","IIPASE":"IIPA","IIPASG":"IIPA","IIPASI":"IIPA","IIPASK":"IIPA","IIPATH":"IIPA","IIPATR":"IIPA","IIPATW":"IIPA","IIPAUK":"IIPA","IIPAUS":"IIPA","IIPAXK":"IIPA","IIPAZA":"IIPA","IIPLAL":"IIPL","IIPLAR":"IIPL","IIPLAT":"IIPL","IIPLAU":"IIPL","IIPLBA":"IIPL","IIPLBD":"IIPL","IIPLBE":"IIPL","IIPLBG":"IIPL","IIPLBR":"IIPL","IIPLCA":"IIPL","IIPLCH":"IIPL","IIPLCL":"IIPL","IIPLCN":"IIPL","IIPLCO":"IIPL","IIPLCY":"IIPL","IIPLCZ":"IIPL","IIPLDE":"IIPL","IIPLDK":"IIPL","IIPLEE":"IIPL","IIPLEG":"IIPL","IIPLES":"IIPL","IIPLFI":"IIPL","IIPLFR":"IIPL","IIPLGR":"IIPL","IIPLHK":"IIPL","IIPLHR":"IIPL","IIPLHU":"IIPL","IIPLID":"IIPL","IIPLIE":"IIPL","IIPLIL":"IIPL","IIPLIN":"IIPL","IIPLIS":"IIPL","IIPLIT":"IIPL","IIPLJP":"IIPL","IIPLKH":"IIPL","IIPLKR":"IIPL","IIPLLT":"IIPL","IIPLLU":"IIPL","IIPLLV":"IIPL","IIPLMT":"IIPL","IIPLMX":"IIPL","IIPLMY":"IIPL","IIPLNL":"IIPL","IIPLNO":"IIPL","IIPLNP":"IIPL","IIPLPH":"IIPL","IIPLPK":"IIPL","IIPLPL":"IIPL","IIPLPT":"IIPL","IIPLRO":"IIPL","IIPLRU":"IIPL","IIPLSA":"IIPL","IIPLSE":"IIPL","IIPLSG":"IIPL","IIPLSI":"IIPL","IIPLSK":"IIPL","IIPLTH":"IIPL","IIPLTR":"IIPL","IIPLTW":"IIPL","IIPLUK":"IIPL","IIPLUS":"IIPL","IIPLXK":"IIPL","IIPLZA":"IIPL","IMPAE":"IMP","IMPAL":"IMP","IMPAR":"IMP","IMPAT":"IMP","IMPAU":"IMP","IMPAZ":"IMP","IMPBD":"IMP","IMPBE":"IMP","IMPBG":"IMP","IMPBR":"IMP","IMPBW":"IMP","IMPBY":"IMP","IMPCA":"IMP","IMPCH":"IMP","IMPCL":"IMP","IMPCM":"IMP","IMPCN":"IMP","IMPCO":"IMP","IMPCY":"IMP","IMPCZ":"IMP","IMPDE":"IMP","IMPDK":"IMP","IMPEA":"IMP","IMPEE":"IMP","IMPES":"IMP","IMPEU":"IMP","IMPFI":"IMP","IMPFR":"IMP","IMPGR":"IMP","IMPHK":"IMP","IMPHR":"IMP","IMPHU":"IMP","IMPID":"IMP","IMPIE":"IMP","IMPIL":"IMP","IMPIN":"IMP","IMPIR":"IMP","IMPIT":"IMP","IMPJO":"IMP","IMPJP":"IMP","IMPKR":"IMP","IMPKZ":"IMP","IMPLT":"IMP","IMPLU":"IMP","IMPLV":"IMP","IMPMA":"IMP","IMPME":"IMP","IMPMK":"IMP","IMPMN":"IMP","IMPMONAR":"IMPMON","IMPMONAU":"IMPMON","IMPMONBD":"IMPMON","IMPMONBE":"IMPMON","IMPMONBG":"IMPMON","IMPMONBR":"IMPMON","IMPMONCA":"IMPMON","IMPMONCL":"IMPMON","IMPMONCN":"IMPMON","IMPMONCO":"IMPMON","IMPMONCR":"IMPMON","IMPMONCZ":"IMPMON","IMPMONDE":"IMPMON","IMPMONDK":"IMPMON","IMPMONEE":"IMPMON","IMPMONEG":"IMPMON","IMPMONES":"IMPMON","IMPMONEU":"IMPMON","IMPMONFI":"IMPMON","IMPMONFR":"IMPMON","IMPMONGR":"IMPMON","IMPMONHK":"IMPMON","IMPMONHR":"IMPMON","IMPMONHU":"IMPMON","IMPMONID":"IMPMON","IMPMONIN":"IMPMON","IMPMONIT":"IMPMON","IMPMONJP":"IMPMON","IMPMONKH":"IMPMON","IMPMONKR":"IMPMON","IMPMONKZ":"IMPMON","IMPMONLT":"IMPMON","IMPMONLU":"IMPMON","IMPMONLV":"IMPMON","IMPMONMK":"IMPMON","IMPMONMT":"IMPMON","IMPMONMX":"IMPMON","IMPMONMY":"IMPMON","IMPMONNL":"IMPMON","IMPMONNP":"IMPMON","IMPMONPH":"IMPMON","IMPMONPK":"IMPMON","IMPMONPL":"IMPMON","IMPMONPT":"IMPMON","IMPMONQA":"IMPMON","IMPMONRO":"IMPMON","IMPMONRS":"IMPMON","IMPMONRU":"IMPMON","IMPMONSA":"IMPMON","IMPMONSE":"IMPMON","IMPMONSG":"IMPMON","IMPMONSI":"IMPMON","IMPMONSK":"IMPMON","IMPMONTH":"IMPMON","IMPMONTR":"IMPMON","IMPMONTW":"IMPMON","IMPMONUA":"IMPMON","IMPMONUK":"IMPMON","IMPMONUS":"IMPMON","IMPMONUY":"IMPMON","IMPMONVN":"IMPMON","IMPMONZA":"IMPMON","IMPMT":"IMP","IMPMX":"IMP","IMPMY":"IMP","IMPNG":"IMP","IMPNL":"IMP","IMPNO":"IMP","IMPNZ":"IMP","IMPPE":"IMP","IMPPH":"IMP","IMPPK":"IMP","IMPPL":"IMP","IMPPT":"IMP","IMPQA":"IMP","IMPRO":"IMP","IMPRS":"IMP","IMPRU":"IMP","IMPRW":"IMP","IMPSA":"IMP","IMPSE":"IMP","IMPSG":"IMP","IMPSI":"IMP","IMPSK":"IMP","IMPSV":"IMP","IMPTH":"IMP","IMPTR":"IMP","IMPTW":"IMP","IMPUA":"IMP","IMPUK":"IMP","IMPUS":"IMP","IMPZA":"IMP","INVERAT":"INVER","INVERBE":"INVER","INVERCH":"INVER","INVERCY":"INVER","INVERCZ":"INVER","INVERDE":"INVER","INVERDK":"INVER","INVEREE":"INVER","INVERES":"INVER","INVERFI":"INVER","INVERFR":"INVER","INVERGR":"INVER","INVERHR":"INVER","INVERHU":"INVER","INVERIE":"INVER","INVERIT":"INVER","INVERLT":"INVER","INVERLV":"INVER","INVERNL":"INVER","INVERNO":"INVER","INVERPL":"INVER","INVERPT":"INVER","INVERRO":"INVER","INVERSE":"INVER","INVERSI":"INVER","INVERSK":"INVER","IPAR":"IP","IPAT":"IP","IPAU":"IP","IPAZ":"IP","IPBA":"IP","IPBD":"IP","IPBE":"IP","IPBG":"IP","IPBR":"IP","IPBY":"IP","IPCA":"IP","IPCH":"IP","IPCL":"IP","IPCM":"IP","IPCN":"IP","IPCO":"IP","IPCR":"IP","IPCY":"IP","IPCZ":"IP","IPDE":"IP","IPDK":"IP","IPEE":"IP","IPEG":"IP","IPES":"IP","IPEU":"IP","IPFI":"IP","IPFR":"IP","IPGR":"IP","IPHK":"IP","IPHR":"IP","IPHU":"IP","IPID":"IP","IPIE":"IP","IPIL":"IP","IPIN":"IP","IPIT":"IP","IPJO":"IP","IPJP":"IP","IPKR":"IP","IPKZ":"IP","IPLT":"IP","IPLU":"IP","IPLV":"IP","IPMA":"IP","IPME":"IP","IPMK":"IP","IPMT":"IP","IPMX":"IP","IPMY":"IP","IPNL":"IP","IPNO":"IP","IPPA":"IP","IPPH":"IP","IPPK":"IP","IPPL":"IP","IPPT":"IP","IPQA":"IP","IPRO":"IP","IPRS":"IP","IPRU":"IP","IPSA":"IP","IPSE":"IP","IPSG":"IP","IPSI":"IP","IPSK":"IP","IPTH":"IP","IPTR":"IP","IPTW":"IP","IPUA":"IP","IPUK":"IP","IPUS":"IP","IPUY":"IP","IPVN":"IP","IPZA":"IP","JHRUS":"JHR","JLRUS":"JLR","JQRUS":"JQR","JVRAT":"JVR","JVRBE":"JVR","JVRBG":"JVR","JVRCH":"JVR","JVRCY":"JVR","JVRCZ":"JVR","JVRDE":"JVR","JVREA":"JVR","JVREE":"JVR","JVRES":"JVR","JVREU":"JVR","JVRFI":"JVR","JVRGR":"JVR","JVRHR":"JVR","JVRHU":"JVR","JVRIE":"JVR","JVRIT":"JVR","JVRLT":"JVR","JVRLU":"JVR","JVRLV":"JVR","JVRMK":"JVR","JVRMT":"JVR","JVRNL":"JVR","JVRNO":"JVR","JVRPL":"JVR","JVRPT":"JVR","JVRRO":"JVR","JVRSE":"JVR","JVRSI":"JVR","JVRSK":"JVR","JVRUK":"JVR","JVRUS":"JVR","KABE":"KA","KABG":"KA","KACN":"KA","KACZ":"KA","KADE":"KA","KADK":"KA","KAEE":"KA","KAES":"KA","KAFI":"KA","KAFR":"KA","KAGR":"KA","KAHR":"KA","KAHU":"KA","KAIT":"KA","KALT":"KA","KALU":"KA","KALV":"KA","KAMT":"KA","KANL":"KA","KAPH":"KA","KAPL":"KA","KAPT":"KA","KARO":"KA","KASE":"KA","KASI":"KA","KASK":"KA","LE00CN":"LE00","LMICS":"LMICS","M3AR":"M3","M3AU":"M3","M3BR":"M3","M3BY":"M3","M3CA":"M3","M3CH":"M3","M3CL":"M3","M3CN":"M3","M3CR":"M3","M3EA":"M3","M3HU":"M3","M3ID":"M3","M3IN":"M3","M3JP":"M3","M3KR":"M3","M3KZ":"M3","M3MA":"M3","M3MX":"M3","M3MY":"M3","M3NO":"M3","M3NP":"M3","M3PH":"M3","M3PL":"M3","M3RU":"M3","M3SA":"M3","M3SG":"M3","M3TH":"M3","M3TN":"M3","M3TR":"M3","M3UA":"M3","M3UK":"M3","M3US":"M3","M3UY":"M3","M3YDAE":"M3YD","M3YDAU":"M3YD","M3YDCA":"M3YD","M3YDCN":"M3YD","M3YDCZ":"M3YD","M3YDDK":"M3YD","M3YDEA":"M3YD","M3YDHK":"M3YD","M3YDHR":"M3YD","M3YDHU":"M3YD","M3YDID":"M3YD","M3YDIN":"M3YD","M3YDJP":"M3YD","M3YDKR":"M3YD","M3YDMO":"M3YD","M3YDMX":"M3YD","M3YDMY":"M3YD","M3YDNP":"M3YD","M3YDNZ":"M3YD","M3YDPA":"M3YD","M3YDPH":"M3YD","M3YDPL":"M3YD","M3YDQA":"M3YD","M3YDRO":"M3YD","M3YDRU":"M3YD","M3YDSA":"M3YD","M3YDSE":"M3YD","M3YDSG":"M3YD","M3YDTH":"M3YD","M3YDTR":"M3YD","M3YDUA":"M3YD","M3YDUK":"M3YD","M3YDUS":"M3YD","M3YDVN":"M3YD","M3YDZA":"M3YD","M3ZA":"M3","MBAR":"MB","MBAU":"MB","MBBR":"MB","MBCH":"MB","MBCN":"MB","MBEG":"MB","MBIN":"MB","MBJP":"MB","MBKR":"MB","MBMX":"MB","MBMY":"MB","MBNO":"MB","MBRU":"MB","MBSA":"MB","MBTH":"MB","MBTR":"MB","MBUA":"MB","MBUK":"MB","MBUS":"MB","NCTBE":"NCT","NCTBG":"NCT","NCTCN":"NCT","NCTCZ":"NCT","NCTDE":"NCT","NCTDK":"NCT","NCTEE":"NCT","NCTES":"NCT","NCTFI":"NCT","NCTFR":"NCT","NCTGR":"NCT","NCTHR":"NCT","NCTHU":"NCT","NCTIT":"NCT","NCTLT":"NCT","NCTLU":"NCT","NCTLV":"NCT","NCTMT":"NCT","NCTMX":"NCT","NCTNL":"NCT","NCTPH":"NCT","NCTPL":"NCT","NCTPT":"NCT","NCTRO":"NCT","NCTSE":"NCT","NCTSI":"NCT","NCTSK":"NCT","NFCIAT":"NFCI","NFCIBE":"NFCI","NFCICZ":"NFCI","NFCIDE":"NFCI","NFCIDK":"NFCI","NFCIEE":"NFCI","NFCIES":"NFCI","NFCIEU":"NFCI","NFCIFI":"NFCI","NFCIFR":"NFCI","NFCIGR":"NFCI","NFCIHU":"NFCI","NFCIIE":"NFCI","NFCIIT":"NFCI","NFCINL":"NFCI","NFCINO":"NFCI","NFCIPL":"NFCI","NFCIPT":"NFCI","NFCIRO":"NFCI","NFCISE":"NFCI","NFCIUK":"NFCI","NFCLOANBG":"NFCLOAN","NFCLOANCY":"NFCLOAN","NFCLOANEE":"NFCLOAN","NFCLOANHR":"NFCLOAN","NFCLOANLT":"NFCLOAN","NFCLOANLV":"NFCLOAN","NFCLOANMT":"NFCLOAN","NFCLOANRO":"NFCLOAN","NFCLOANSI":"NFCLOAN","NFCLOANSK":"NFCLOAN","NIIPAL":"NIIP","NIIPAR":"NIIP","NIIPAT":"NIIP","NIIPAU":"NIIP","NIIPBA":"NIIP","NIIPBD":"NIIP","NIIPBE":"NIIP","NIIPBG":"NIIP","NIIPBR":"NIIP","NIIPCA":"NIIP","NIIPCH":"NIIP","NIIPCL":"NIIP","NIIPCN":"NIIP","NIIPCO":"NIIP","NIIPCY":"NIIP","NIIPCZ":"NIIP","NIIPDE":"NIIP","NIIPDK":"NIIP","NIIPEE":"NIIP","NIIPEG":"NIIP","NIIPES":"NIIP","NIIPFI":"NIIP","NIIPFR":"NIIP","NIIPGR":"NIIP","NIIPHK":"NIIP","NIIPHR":"NIIP","NIIPHU":"NIIP","NIIPID":"NIIP","NIIPIE":"NIIP","NIIPIL":"NIIP","NIIPIN":"NIIP","NIIPIS":"NIIP","NIIPIT":"NIIP","NIIPJP":"NIIP","NIIPKH":"NIIP","NIIPKR":"NIIP","NIIPLT":"NIIP","NIIPLU":"NIIP","NIIPLV":"NIIP","NIIPMK":"NIIP","NIIPMT":"NIIP","NIIPMX":"NIIP","NIIPMY":"NIIP","NIIPNL":"NIIP","NIIPNO":"NIIP","NIIPNP":"NIIP","NIIPPH":"NIIP","NIIPPK":"NIIP","NIIPPL":"NIIP","NIIPPT":"NIIP","NIIPRO":"NIIP","NIIPRS":"NIIP","NIIPRU":"NIIP","NIIPSA":"NIIP","NIIPSE":"NIIP","NIIPSG":"NIIP","NIIPSI":"NIIP","NIIPSK":"NIIP","NIIPTH":"NIIP","NIIPTR":"NIIP","NIIPTW":"NIIP","NIIPUA":"NIIP","NIIPUK":"NIIP","NIIPUS":"NIIP","NIIPXK":"NIIP","NIIPZA":"NIIP","NPLAR":"NPL","NPLAT":"NPL","NPLAU":"NPL","NPLBE":"NPL","NPLBR":"NPL","NPLCN":"NPL","NPLDK":"NPL","NPLES":"NPL","NPLFI":"NPL","NPLFR":"NPL","NPLHK":"NPL","NPLID":"NPL","NPLIE":"NPL","NPLIN":"NPL","NPLIT":"NPL","NPLJP":"NPL","NPLLU":"NPL","NPLMX":"NPL","NPLNL":"NPL","NPLNO":"NPL","NPLPL":"NPL","NPLRU":"NPL","NPLSA":"NPL","NPLSE":"NPL","NPLSG":"NPL","NPLTR":"NPL","NPLUS":"NPL","NPLZA":"NPL","NYBE":"NY","NYBG":"NY","NYCN":"NY","NYCZ":"NY","NYDE":"NY","NYDK":"NY","NYEE":"NY","NYES":"NY","NYFI":"NY","NYFR":"NY","NYGR":"NY","NYHR":"NY","NYHU":"NY","NYIT":"NY","NYLT":"NY","NYLU":"NY","NYLV":"NY","NYMT":"NY","NYMX":"NY","NYNL":"NY","NYPH":"NY","NYPL":"NY","NYPT":"NY","NYRO":"NY","NYSE":"NY","NYSI":"NY","NYSK":"NY","OILDEMAE":"OILDEM","OILDEMAL":"OILDEM","OILDEMAM":"OILDEM","OILDEMAO":"OILDEM","OILDEMAR":"OILDEM","OILDEMAT":"OILDEM","OILDEMAU":"OILDEM","OILDEMAZ":"OILDEM","OILDEMBB":"OILDEM","OILDEMBD":"OILDEM","OILDEMBE":"OILDEM","OILDEMBG":"OILDEM","OILDEMBH":"OILDEM","OILDEMBM":"OILDEM","OILDEMBN":"OILDEM","OILDEMBO":"OILDEM","OILDEMBR":"OILDEM","OILDEMBY":"OILDEM","OILDEMBZ":"OILDEM","OILDEMCA":"OILDEM","OILDEMCH":"OILDEM","OILDEMCL":"OILDEM","OILDEMCN":"OILDEM","OILDEMCO":"OILDEM","OILDEMCR":"OILDEM","OILDEMCU":"OILDEM","OILDEMCY":"OILDEM","OILDEMCZ":"OILDEM","OILDEMDE":"OILDEM","OILDEMDK":"OILDEM","OILDEMDO":"OILDEM","OILDEMDZ":"OILDEM","OILDEMEC":"OILDEM","OILDEMEE":"OILDEM","OILDEMEG":"OILDEM","OILDEMES":"OILDEM","OILDEMFI":"OILDEM","OILDEMFR":"OILDEM","OILDEMGA":"OILDEM","OILDEMGD":"OILDEM","OILDEMGE":"OILDEM","OILDEMGM":"OILDEM","OILDEMGQ":"OILDEM","OILDEMGR":"OILDEM","OILDEMGT":"OILDEM","OILDEMGY":"OILDEM","OILDEMHK":"OILDEM","OILDEMHN":"OILDEM","OILDEMHR":"OILDEM","OILDEMHT":"OILDEM","OILDEMHU":"OILDEM","OILDEMID":"OILDEM","OILDEMIE":"OILDEM","OILDEMIN":"OILDEM","OILDEMIQ":"OILDEM","OILDEMIR":"OILDEM","OILDEMIS":"OILDEM","OILDEMIT":"OILDEM","OILDEMJM":"OILDEM","OILDEMJP":"OILDEM","OILDEMKR":"OILDEM","OILDEMKW":"OILDEM","OILDEMKZ":"OILDEM","OILDEMLT":"OILDEM","OILDEMLU":"OILDEM","OILDEMLV":"OILDEM","OILDEMLY":"OILDEM","OILDEMMA":"OILDEM","OILDEMMD":"OILDEM","OILDEMMK":"OILDEM","OILDEMMM":"OILDEM","OILDEMMT":"OILDEM","OILDEMMU":"OILDEM","OILDEMMX":"OILDEM","OILDEMMY":"OILDEM","OILDEMNE":"OILDEM","OILDEMNG":"OILDEM","OILDEMNI":"OILDEM","OILDEMNL":"OILDEM","OILDEMNO":"OILDEM","OILDEMNP":"OILDEM","OILDEMNZ":"OILDEM","OILDEMOM":"OILDEM","OILDEMPA":"OILDEM","OILDEMPE":"OILDEM","OILDEMPG":"OILDEM","OILDEMPH":"OILDEM","OILDEMPL":"OILDEM","OILDEMPT":"OILDEM","OILDEMPY":"OILDEM","OILDEMQA":"OILDEM","OILDEMRO":"OILDEM","OILDEMRU":"OILDEM","OILDEMSA":"OILDEM","OILDEMSD":"OILDEM","OILDEMSE":"OILDEM","OILDEMSG":"OILDEM","OILDEMSI":"OILDEM","OILDEMSK":"OILDEM","OILDEMSR":"OILDEM","OILDEMSV":"OILDEM","OILDEMSY":"OILDEM","OILDEMSZ":"OILDEM","OILDEMTH":"OILDEM","OILDEMTJ":"OILDEM","OILDEMTN":"OILDEM","OILDEMTR":"OILDEM","OILDEMTT":"OILDEM","OILDEMTW":"OILDEM","OILDEMUA":"OILDEM","OILDEMUK":"OILDEM","OILDEMUS":"OILDEM","OILDEMUY":"OILDEM","OILDEMVE":"OILDEM","OILDEMVN":"OILDEM","OILDEMYE":"OILDEM","OILDEMZA":"OILDEM","OILPRODAE":"OILPROD","OILPRODAL":"OILPROD","OILPRODAM":"OILPROD","OILPRODAO":"OILPROD","OILPRODAR":"OILPROD","OILPRODAT":"OILPROD","OILPRODAU":"OILPROD","OILPRODAZ":"OILPROD","OILPRODBB":"OILPROD","OILPRODBD":"OILPROD","OILPRODBE":"OILPROD","OILPRODBG":"OILPROD","OILPRODBH":"OILPROD","OILPRODBM":"OILPROD","OILPRODBN":"OILPROD","OILPRODBO":"OILPROD","OILPRODBR":"OILPROD","OILPRODBY":"OILPROD","OILPRODBZ":"OILPROD","OILPRODCA":"OILPROD","OILPRODCH":"OILPROD","OILPRODCL":"OILPROD","OILPRODCN":"OILPROD","OILPRODCO":"OILPROD","OILPRODCR":"OILPROD","OILPRODCU":"OILPROD","OILPRODCY":"OILPROD","OILPRODCZ":"OILPROD","OILPRODDE":"OILPROD","OILPRODDK":"OILPROD","OILPRODDO":"OILPROD","OILPRODDZ":"OILPROD","OILPRODEC":"OILPROD","OILPRODEE":"OILPROD","OILPRODEG":"OILPROD","OILPRODES":"OILPROD","OILPRODFI":"OILPROD","OILPRODFR":"OILPROD","OILPRODGA":"OILPROD","OILPRODGD":"OILPROD","OILPRODGE":"OILPROD","OILPRODGM":"OILPROD","OILPRODGQ":"OILPROD","OILPRODGR":"OILPROD","OILPRODGT":"OILPROD","OILPRODGY":"OILPROD","OILPRODHK":"OILPROD","OILPRODHN":"OILPROD","OILPRODHR":"OILPROD","OILPRODHT":"OILPROD","OILPRODHU":"OILPROD","OILPRODID":"OILPROD","OILPRODIE":"OILPROD","OILPRODIN":"OILPROD","OILPRODIQ":"OILPROD","OILPRODIR":"OILPROD","OILPRODIS":"OILPROD","OILPRODIT":"OILPROD","OILPRODJM":"OILPROD","OILPRODJP":"OILPROD","OILPRODKR":"OILPROD","OILPRODKW":"OILPROD","OILPRODKZ":"OILPROD","OILPRODLT":"OILPROD","OILPRODLU":"OILPROD","OILPRODLV":"OILPROD","OILPRODLY":"OILPROD","OILPRODMA":"OILPROD","OILPRODMD":"OILPROD","OILPRODMK":"OILPROD","OILPRODMM":"OILPROD","OILPRODMT":"OILPROD","OILPRODMU":"OILPROD","OILPRODMX":"OILPROD","OILPRODMY":"OILPROD","OILPRODNE":"OILPROD","OILPRODNG":"OILPROD","OILPRODNI":"OILPROD","OILPRODNL":"OILPROD","OILPRODNO":"OILPROD","OILPRODNP":"OILPROD","OILPRODNZ":"OILPROD","OILPRODOM":"OILPROD","OILPRODPA":"OILPROD","OILPRODPE":"OILPROD","OILPRODPG":"OILPROD","OILPRODPH":"OILPROD","OILPRODPL":"OILPROD","OILPRODPT":"OILPROD","OILPRODPY":"OILPROD","OILPRODQA":"OILPROD","OILPRODRO":"OILPROD","OILPRODRU":"OILPROD","OILPRODSA":"OILPROD","OILPRODSD":"OILPROD","OILPRODSE":"OILPROD","OILPRODSG":"OILPROD","OILPRODSI":"OILPROD","OILPRODSK":"OILPROD","OILPRODSR":"OILPROD","OILPRODSV":"OILPROD","OILPRODSY":"OILPROD","OILPRODSZ":"OILPROD","OILPRODTH":"OILPROD","OILPRODTJ":"OILPROD","OILPRODTN":"OILPROD","OILPRODTR":"OILPROD","OILPRODTT":"OILPROD","OILPRODTW":"OILPROD","OILPRODUA":"OILPROD","OILPRODUK":"OILPROD","OILPRODUS":"OILPROD","OILPRODUY":"OILPROD","OILPRODVE":"OILPROD","OILPRODVN":"OILPROD","OILPRODYE":"OILPROD","OILPRODZA":"OILPROD","PALUM":"PALUM","PAPPLE":"PAPPLE","PARTCO":"PART","PARTDO":"PART","PARTLK":"PART","PARTNZ":"PART","PARTTR":"PART","PBANSOP":"PBANSOP","PBARL":"PBARL","PBEEF":"PBEEF","PCEUS":"PCE","PCHANA":"PCHANA","PCHROM":"PCHROM","PCOALAU":"PCOALAU","PCOALSA":"PCOALSA","PCOBA":"PCOBA","PCOCO":"PCOCO","PCOFFOTM":"PCOFFOTM","PCOFFROB":"PCOFFROB","PCOIL":"PCOIL","PCOPP":"PCOPP","PCOTTIND":"PCOTTIND","PDAP":"PDAP","PFSHMEAL":"PFSHMEAL","PGASO":"PGASO","PGNUTS":"PGNUTS","PGOLD":"PGOLD","PHEATOIL":"PHEATOIL","PHIDE":"PHIDE","PIORECR":"PIORECR","PLAMB":"PLAMB","PLEAD":"PLEAD","PLITH":"PLITH","PLMMODY":"PLMMODY","PLOGORE":"PLOGORE","PLOGSK":"PLOGSK","PMAIZMT":"PMAIZMT","PMANGELE":"PMANGELE","PMILK":"PMILK","PNGASEU":"PNGASEU","PNGASJP":"PNGASJP","PNGASUS":"PNGASUS","PNICK":"PNICK","POATS":"POATS","POILAPSP":"POILAPSP","POILBRE":"POILBRE","POILDUB":"POILDUB","POILWTI":"POILWTI","POLIRAR":"POLIR","POLIRAU":"POLIR","POLIRAZ":"POLIR","POLIRBR":"POLIR","POLIRCA":"POLIR","POLIRCH":"POLIR","POLIRCL":"POLIR","POLIRCN":"POLIR","POLIRCO":"POLIR","POLIRCZ":"POLIR","POLIRDK":"POLIR","POLIREA":"POLIR","POLIRHK":"POLIR","POLIRHR":"POLIR","POLIRHU":"POLIR","POLIRID":"POLIR","POLIRIL":"POLIR","POLIRIN":"POLIR","POLIRIS":"POLIR","POLIRJP":"POLIR","POLIRKR":"POLIR","POLIRMK":"POLIR","POLIRMO":"POLIR","POLIRMX":"POLIR","POLIRMY":"POLIR","POLIRNO":"POLIR","POLIRNP":"POLIR","POLIRNZ":"POLIR","POLIRPE":"POLIR","POLIRPH":"POLIR","POLIRPL":"POLIR","POLIRPY":"POLIR","POLIRQA":"POLIR","POLIRRO":"POLIR","POLIRRS":"POLIR","POLIRRU":"POLIR","POLIRSA":"POLIR","POLIRSE":"POLIR","POLIRSG":"POLIR","POLIRTH":"POLIR","POLIRTN":"POLIR","POLIRTR":"POLIR","POLIRTW":"POLIR","POLIRUA":"POLIR","POLIRUK":"POLIR","POLIRUS":"POLIR","POLIRUZ":"POLIR","POLIRZA":"POLIR","POLVOIL":"POLVOIL","POPAD":"POP","POPAE":"POP","POPAL":"POP","POPAM":"POP","POPAR":"POP","POPAT":"POP","POPAU":"POP","POPAZ":"POP","POPBD":"POP","POPBE":"POP","POPBG":"POP","POPBO":"POP","POPBR":"POP","POPBY":"POP","POPCA":"POP","POPCD":"POP","POPCH":"POP","POPCL":"POP","POPCN":"POP","POPCO":"POP","POPCR":"POP","POPCY":"POP","POPCZ":"POP","POPDE":"POP","POPDK":"POP","POPDO":"POP","POPDZ":"POP","POPEC":"POP","POPEE":"POP","POPEG":"POP","POPES":"POP","POPET":"POP","POPEU":"POP","POPFI":"POP","POPFR":"POP","POPGE":"POP","POPGR":"POP","POPGT":"POP","POPHK":"POP","POPHR":"POP","POPHU":"POP","POPID":"POP","POPIE":"POP","POPIL":"POP","POPIN":"POP","POPIQ":"POP","POPIR":"POP","POPIS":"POP","POPIT":"POP","POPJO":"POP","POPJP":"POP","POPKG":"POP","POPKH":"POP","POPKR":"POP","POPKW":"POP","POPKZ":"POP","POPLB":"POP","POPLI":"POP","POPLK":"POP","POPLT":"POP","POPLU":"POP","POPLV":"POP","POPLY":"POP","POPMA":"POP","POPMD":"POP","POPME":"POP","POPMK":"POP","POPMM":"POP","POPMO":"POP","POPMT":"POP","POPMX":"POP","POPMY":"POP","POPNG":"POP","POPNI":"POP","POPNL":"POP","POPNO":"POP","POPNZ":"POP","POPPH":"POP","POPPL":"POP","POPPT":"POP","POPPY":"POP","POPQA":"POP","POPRO":"POP","POPRS":"POP","POPRU":"POP","POPSA":"POP","POPSD":"POP","POPSE":"POP","POPSG":"POP","POPSI":"POP","POPSK":"POP","POPSM":"POP","POPSN":"POP","POPSV":"POP","POPTH":"POP","POPTJ":"POP","POPTM":"POP","POPTN":"POP","POPTR":"POP","POPTW":"POP","POPUA":"POP","POPUK":"POP","POPUS":"POP","POPUY":"POP","POPUZ":"POP","POPVE":"POP","POPVN":"POP","POPXK":"POP","POPZA":"POP","PORANG":"PORANG","PPALLA":"PPALLA","PPIAL":"PPI","PPIAR":"PPI","PPIAT":"PPI","PPIAU":"PPI","PPIBD":"PPI","PPIBE":"PPI","PPIBG":"PPI","PPIBR":"PPI","PPIBY":"PPI","PPICA":"PPI","PPICH":"PPI","PPICL":"PPI","PPICN":"PPI","PPICO":"PPI","PPICR":"PPI","PPICY":"PPI","PPICZ":"PPI","PPIDE":"PPI","PPIDK":"PPI","PPIEE":"PPI","PPIEG":"PPI","PPIES":"PPI","PPIEU":"PPI","PPIFI":"PPI","PPIFR":"PPI","PPIGR":"PPI","PPIHK":"PPI","PPIHR":"PPI","PPIHU":"PPI","PPIID":"PPI","PPIIE":"PPI","PPIIL":"PPI","PPIIN":"PPI","PPIIT":"PPI","PPIJO":"PPI","PPIJP":"PPI","PPIKR":"PPI","PPIKZ":"PPI","PPILT":"PPI","PPILU":"PPI","PPILV":"PPI","PPIMA":"PPI","PPIME":"PPI","PPIMK":"PPI","PPIMT":"PPI","PPIMX":"PPI","PPIMY":"PPI","PPINL":"PPI","PPINO":"PPI","PPIPA":"PPI","PPIPE":"PPI","PPIPH":"PPI","PPIPK":"PPI","PPIPL":"PPI","PPIPT":"PPI","PPIQA":"PPI","PPIRO":"PPI","PPIRS":"PPI","PPIRU":"PPI","PPISA":"PPI","PPISE":"PPI","PPISG":"PPI","PPISI":"PPI","PPISK":"PPI","PPISV":"PPI","PPITH":"PPI","PPITN":"PPI","PPITR":"PPI","PPITW":"PPI","PPIUA":"PPI","PPIUK":"PPI","PPIUS":"PPI","PPIUY":"PPI","PPIVN":"PPI","PPIZA":"PPI","PPLAT":"PPLAT","PPOIL":"PPOIL","PPORK":"PPORK","PPOTASH":"PPOTASH","PPOULT":"PPOULT","PPROPANE":"PPROPANE","PRCAE":"PRC","PRCAR":"PRC","PRCAT":"PRC","PRCAU":"PRC","PRCAZ":"PRC","PRCBD":"PRC","PRCBE":"PRC","PRCBG":"PRC","PRCBR":"PRC","PRCBW":"PRC","PRCBY":"PRC","PRCCA":"PRC","PRCCH":"PRC","PRCCL":"PRC","PRCCN":"PRC","PRCCO":"PRC","PRCCY":"PRC","PRCCZ":"PRC","PRCDE":"PRC","PRCDK":"PRC","PRCEA":"PRC","PRCEE":"PRC","PRCES":"PRC","PRCEU":"PRC","PRCFI":"PRC","PRCFR":"PRC","PRCGR":"PRC","PRCHK":"PRC","PRCHR":"PRC","PRCHU":"PRC","PRCID":"PRC","PRCIE":"PRC","PRCIL":"PRC","PRCIN":"PRC","PRCIR":"PRC","PRCIT":"PRC","PRCJP":"PRC","PRCKR":"PRC","PRCKZ":"PRC","PRCLT":"PRC","PRCLU":"PRC","PRCLV":"PRC","PRCMA":"PRC","PRCME":"PRC","PRCMK":"PRC","PRCMN":"PRC","PRCMT":"PRC","PRCMX":"PRC","PRCMY":"PRC","PRCNG":"PRC","PRCNL":"PRC","PRCNO":"PRC","PRCNZ":"PRC","PRCPE":"PRC","PRCPH":"PRC","PRCPK":"PRC","PRCPL":"PRC","PRCPT":"PRC","PRCQA":"PRC","PRCRO":"PRC","PRCRS":"PRC","PRCRU":"PRC","PRCSA":"PRC","PRCSE":"PRC","PRCSG":"PRC","PRCSI":"PRC","PRCSK":"PRC","PRCTH":"PRC","PRCTR":"PRC","PRCTW":"PRC","PRCUA":"PRC","PRCUK":"PRC","PRCUS":"PRC","PRCVN":"PRC","PRCZA":"PRC","PREODOM":"PREODOM","PRICENPQ":"PRICENPQ","PRIDEBTBG":"PRIDEBT","PRIDEBTCY":"PRIDEBT","PRIDEBTEE":"PRIDEBT","PRIDEBTHR":"PRIDEBT","PRIDEBTLT":"PRIDEBT","PRIDEBTLV":"PRIDEBT","PRIDEBTMT":"PRIDEBT","PRIDEBTRO":"PRIDEBT","PRIDEBTSI":"PRIDEBT","PRIDEBTSK":"PRIDEBT","PROIL":"PROIL","PRUBB":"PRUBB","PSALM":"PSALM","PSAWMAL":"PSAWMAL","PSAWORE":"PSAWORE","PSHRI":"PSHRI","PSILLUMP":"PSILLUMP","PSILVER":"PSILVER","PSMEA":"PSMEA","PSOIL":"PSOIL","PSORG":"PSORG","PSOYB":"PSOYB","PSUGAISA":"PSUGAISA","PSUGAUSA":"PSUGAUSA","PSUNO":"PSUNO","PTEA":"PTEA","PTEAINDIA":"PTEAINDIA","PTEAMOM":"PTEAMOM","PTEASL":"PTEASL","PTIN":"PTIN","PTOMATO":"PTOMATO","PUCAE":"PUC","PUCAL":"PUC","PUCAR":"PUC","PUCAT":"PUC","PUCAU":"PUC","PUCAZ":"PUC","PUCBD":"PUC","PUCBE":"PUC","PUCBG":"PUC","PUCBR":"PUC","PUCBW":"PUC","PUCBY":"PUC","PUCCA":"PUC","PUCCH":"PUC","PUCCL":"PUC","PUCCM":"PUC","PUCCN":"PUC","PUCCO":"PUC","PUCCY":"PUC","PUCCZ":"PUC","PUCDE":"PUC","PUCDK":"PUC","PUCEA":"PUC","PUCEE":"PUC","PUCES":"PUC","PUCEU":"PUC","PUCFI":"PUC","PUCFR":"PUC","PUCGR":"PUC","PUCHK":"PUC","PUCHR":"PUC","PUCHU":"PUC","PUCID":"PUC","PUCIE":"PUC","PUCIL":"PUC","PUCIN":"PUC","PUCIR":"PUC","PUCIT":"PUC","PUCJP":"PUC","PUCKR":"PUC","PUCKZ":"PUC","PUCLT":"PUC","PUCLU":"PUC","PUCLV":"PUC","PUCMA":"PUC","PUCME":"PUC","PUCMK":"PUC","PUCMT":"PUC","PUCMX":"PUC","PUCMY":"PUC","PUCNG":"PUC","PUCNL":"PUC","PUCNO":"PUC","PUCNZ":"PUC","PUCPE":"PUC","PUCPH":"PUC","PUCPK":"PUC","PUCPL":"PUC","PUCPT":"PUC","PUCQA":"PUC","PUCRO":"PUC","PUCRS":"PUC","PUCRU":"PUC","PUCSA":"PUC","PUCSE":"PUC","PUCSG":"PUC","PUCSI":"PUC","PUCSK":"PUC","PUCTH":"PUC","PUCTR":"PUC","PUCTW":"PUC","PUCUA":"PUC","PUCUK":"PUC","PUCUS":"PUC","PUCVN":"PUC","PUCZA":"PUC","PURAN":"PURAN","PUREA":"PUREA","PVANPENT":"PVANPENT","PWHEAMT":"PWHEAMT","PWOOLC":"PWOOLC","PWOOLF":"PWOOLF","PZINC":"PZINC","RCIAE":"RCI","RCIAR":"RCI","RCIAU":"RCI","RCIAZ":"RCI","RCIBW":"RCI","RCIBY":"RCI","RCICN":"RCI","RCIHK":"RCI","RCIIN":"RCI","RCIIR":"RCI","RCIKH":"RCI","RCIKR":"RCI","RCIMN":"RCI","RCIMO":"RCI","RCIMY":"RCI","RCING":"RCI","RCINO":"RCI","RCINZ":"RCI","RCIPA":"RCI","RCIPH":"RCI","RCIPK":"RCI","RCISA":"RCI","RCISG":"RCI","RCITH":"RCI","RCITW":"RCI","RCIUA":"RCI","RCIUK":"RCI","RCIUS":"RCI","RCIVN":"RCI","RCIZA":"RCI","RCONAE":"RCON","RCONAL":"RCON","RCONAT":"RCON","RCONBA":"RCON","RCONBD":"RCON","RCONBE":"RCON","RCONBG":"RCON","RCONBY":"RCON","RCONCA":"RCON","RCONCH":"RCON","RCONCL":"RCON","RCONCY":"RCON","RCONCZ":"RCON","RCONDE":"RCON","RCONDK":"RCON","RCONEA":"RCON","RCONEE":"RCON","RCONES":"RCON","RCONEU":"RCON","RCONFI":"RCON","RCONFR":"RCON","RCONGR":"RCON","RCONHR":"RCON","RCONHU":"RCON","RCONIE":"RCON","RCONIT":"RCON","RCONKR":"RCON","RCONLT":"RCON","RCONLU":"RCON","RCONLV":"RCON","RCONMK":"RCON","RCONMT":"RCON","RCONMX":"RCON","RCONNL":"RCON","RCONNO":"RCON","RCONPL":"RCON","RCONPT":"RCON","RCONRO":"RCON","RCONRS":"RCON","RCONSE":"RCON","RCONSI":"RCON","RCONSK":"RCON","RCONTH":"RCON","RCONUA":"RCON","RCONUK":"RCON","REERAE":"REER","REERAR":"REER","REERAT":"REER","REERAU":"REER","REERAZ":"REER","REERBE":"REER","REERBG":"REER","REERBR":"REER","REERCA":"REER","REERCH":"REER","REERCL":"REER","REERCN":"REER","REERCO":"REER","REERCY":"REER","REERCZ":"REER","REERDE":"REER","REERDK":"REER","REERDZ":"REER","REEREA":"REEREA","REEREE":"REER","REERES":"REER","REERFI":"REER","REERFR":"REER","REERGR":"REER","REERHK":"REER","REERHR":"REER","REERHU":"REER","REERID":"REER","REERIE":"REER","REERIL":"REER","REERIN":"REER","REERIS":"REER","REERIT":"REER","REERJP":"REER","REERKR":"REER","REERLT":"REER","REERLU":"REER","REERLV":"REER","REERMT":"REER","REERMX":"REER","REERMY":"REER","REERNL":"REER","REERNO":"REER","REERNZ":"REER","REERPE":"REER","REERPH":"REER","REERPL":"REER","REERPT":"REER","REERPY":"REER","REERRO":"REER","REERRS":"REER","REERRU":"REER","REERSA":"REER","REERSE":"REER","REERSG":"REER","REERSI":"REER","REERSK":"REER","REERTH":"REER","REERTR":"REER","REERTW":"REER","REERUK":"REER","REERUS":"REER","REERZA":"REER","RETAAL":"RETA","RETAAR":"RETA","RETAAT":"RETA","RETAAU":"RETA","RETAAZ":"RETA","RETABA":"RETA","RETABE":"RETA","RETABG":"RETA","RETABR":"RETA","RETACA":"RETA","RETACH":"RETA","RETACN":"RETA","RETACO":"RETA","RETACY":"RETA","RETACZ":"RETA","RETADE":"RETA","RETADK":"RETA","RETAEE":"RETA","RETAES":"RETA","RETAEU":"RETA","RETAFI":"RETA","RETAFR":"RETA","RETAGR":"RETA","RETAHK":"RETA","RETAHR":"RETA","RETAHU":"RETA","RETAID":"RETA","RETAIE":"RETA","RETAIL":"RETA","RETAIR":"RETA","RETAIT":"RETA","RETAJP":"RETA","RETAKR":"RETA","RETALT":"RETA","RETALU":"RETA","RETALV":"RETA","RETAME":"RETA","RETAMK":"RETA","RETAMT":"RETA","RETAMX":"RETA","RETAMY":"RETA","RETANL":"RETA","RETANO":"RETA","RETANZ":"RETA","RETAPL":"RETA","RETAPT":"RETA","RETARO":"RETA","RETARS":"RETA","RETARU":"RETA","RETASE":"RETA","RETASG":"RETA","RETASI":"RETA","RETASK":"RETA","RETATH":"RETA","RETATR":"RETA","RETATW":"RETA","RETAUK":"RETA","RETAUS":"RETA","RETAVN":"RETA","RETAZA":"RETA","REXPAE":"REXP","REXPAL":"REXP","REXPAR":"REXP","REXPAT":"REXP","REXPAU":"REXP","REXPAZ":"REXP","REXPBA":"REXP","REXPBD":"REXP","REXPBE":"REXP","REXPBG":"REXP","REXPBR":"REXP","REXPBW":"REXP","REXPBY":"REXP","REXPCA":"REXP","REXPCH":"REXP","REXPCL":"REXP","REXPCN":"REXP","REXPCO":"REXP","REXPCY":"REXP","REXPCZ":"REXP","REXPDE":"REXP","REXPDK":"REXP","REXPEA":"REXP","REXPEE":"REXP","REXPES":"REXP","REXPEU":"REXP","REXPFI":"REXP","REXPFR":"REXP","REXPGR":"REXP","REXPHK":"REXP","REXPHN":"REXP","REXPHR":"REXP","REXPHU":"REXP","REXPID":"REXP","REXPIE":"REXP","REXPIL":"REXP","REXPIN":"REXP","REXPIR":"REXP","REXPIT":"REXP","REXPJP":"REXP","REXPKH":"REXP","REXPKR":"REXP","REXPLT":"REXP","REXPLU":"REXP","REXPLV":"REXP","REXPMA":"REXP","REXPMK":"REXP","REXPMN":"REXP","REXPMO":"REXP","REXPMT":"REXP","REXPMX":"REXP","REXPMY":"REXP","REXPNG":"REXP","REXPNL":"REXP","REXPNO":"REXP","REXPNZ":"REXP","REXPPA":"REXP","REXPPE":"REXP","REXPPH":"REXP","REXPPK":"REXP","REXPPL":"REXP","REXPPT":"REXP","REXPRO":"REXP","REXPRS":"REXP","REXPRU":"REXP","REXPRW":"REXP","REXPSA":"REXP","REXPSE":"REXP","REXPSG":"REXP","REXPSI":"REXP","REXPSK":"REXP","REXPTH":"REXP","REXPTR":"REXP","REXPTW":"REXP","REXPUA":"REXP","REXPUK":"REXP","REXPUS":"REXP","REXPUZ":"REXP","REXPZA":"REXP","RGCFAT":"RGCF","RGCFBA":"RGCF","RGCFBE":"RGCF","RGCFBG":"RGCF","RGCFBY":"RGCF","RGCFCH":"RGCF","RGCFCO":"RGCF","RGCFCY":"RGCF","RGCFCZ":"RGCF","RGCFDE":"RGCF","RGCFDK":"RGCF","RGCFEA":"RGCF","RGCFEE":"RGCF","RGCFES":"RGCF","RGCFEU":"RGCF","RGCFFI":"RGCF","RGCFFR":"RGCF","RGCFGR":"RGCF","RGCFHR":"RGCF","RGCFHU":"RGCF","RGCFIE":"RGCF","RGCFIT":"RGCF","RGCFKR":"RGCF","RGCFLT":"RGCF","RGCFLU":"RGCF","RGCFLV":"RGCF","RGCFMK":"RGCF","RGCFMT":"RGCF","RGCFNL":"RGCF","RGCFNO":"RGCF","RGCFNZ":"RGCF","RGCFPE":"RGCF","RGCFPK":"RGCF","RGCFPL":"RGCF","RGCFPT":"RGCF","RGCFRO":"RGCF","RGCFRS":"RGCF","RGCFRU":"RGCF","RGCFRW":"RGCF","RGCFSE":"RGCF","RGCFSI":"RGCF","RGCFSK":"RGCF","RGCFUA":"RGCF","RGCFUK":"RGCF","RGDPAE":"RGDP","RGDPAL":"RGDP","RGDPAR":"RGDP","RGDPAT":"RGDP","RGDPAU":"RGDP","RGDPAZ":"RGDP","RGDPBA":"RGDP","RGDPBD":"RGDP","RGDPBE":"RGDP","RGDPBG":"RGDP","RGDPBR":"RGDP","RGDPBW":"RGDP","RGDPBY":"RGDP","RGDPCA":"RGDP","RGDPCH":"RGDP","RGDPCL":"RGDP","RGDPCM":"RGDP","RGDPCN":"RGDP","RGDPCO":"RGDP","RGDPCR":"RGDP","RGDPCY":"RGDP","RGDPCZ":"RGDP","RGDPDE":"RGDP","RGDPDK":"RGDP","RGDPEA":"RGDP","RGDPEE":"RGDP","RGDPEG":"RGDP","RGDPES":"RGDP","RGDPEU":"RGDP","RGDPFI":"RGDP","RGDPFR":"RGDP","RGDPGR":"RGDP","RGDPHK":"RGDP","RGDPHN":"RGDP","RGDPHR":"RGDP","RGDPHU":"RGDP","RGDPID":"RGDP","RGDPIE":"RGDP","RGDPIL":"RGDP","RGDPIN":"RGDP","RGDPIR":"RGDP","RGDPIT":"RGDP","RGDPJO":"RGDP","RGDPJP":"RGDP","RGDPKH":"RGDP","RGDPKR":"RGDP","RGDPKZ":"RGDP","RGDPLA":"RGDP","RGDPLT":"RGDP","RGDPLU":"RGDP","RGDPLV":"RGDP","RGDPMA":"RGDP","RGDPMK":"RGDP","RGDPMN":"RGDP","RGDPMO":"RGDP","RGDPMT":"RGDP","RGDPMX":"RGDP","RGDPMY":"RGDP","RGDPNG":"RGDP","RGDPNL":"RGDP","RGDPNO":"RGDP","RGDPNZ":"RGDP","RGDPPA":"RGDP","RGDPPCAL":"RGDPPC","RGDPPCAT":"RGDPPC","RGDPPCAU":"RGDPPC","RGDPPCBE":"RGDPPC","RGDPPCBG":"RGDPPC","RGDPPCBR":"RGDPPC","RGDPPCCH":"RGDPPC","RGDPPCCY":"RGDPPC","RGDPPCCZ":"RGDPPC","RGDPPCDE":"RGDPPC","RGDPPCDK":"RGDPPC","RGDPPCEA":"RGDPPC","RGDPPCEE":"RGDPPC","RGDPPCES":"RGDPPC","RGDPPCEU":"RGDPPC","RGDPPCFI":"RGDPPC","RGDPPCFR":"RGDPPC","RGDPPCGR":"RGDPPC","RGDPPCHR":"RGDPPC","RGDPPCHU":"RGDPPC","RGDPPCIE":"RGDPPC","RGDPPCIS":"RGDPPC","RGDPPCIT":"RGDPPC","RGDPPCLT":"RGDPPC","RGDPPCLU":"RGDPPC","RGDPPCLV":"RGDPPC","RGDPPCME":"RGDPPC","RGDPPCMK":"RGDPPC","RGDPPCMT":"RGDPPC","RGDPPCNL":"RGDPPC","RGDPPCNO":"RGDPPC","RGDPPCNZ":"RGDPPC","RGDPPCPL":"RGDPPC","RGDPPCPT":"RGDPPC","RGDPPCRO":"RGDPPC","RGDPPCRS":"RGDPPC","RGDPPCSE":"RGDPPC","RGDPPCSI":"RGDPPC","RGDPPCSK":"RGDPPC","RGDPPCTR":"RGDPPC","RGDPPCUS":"RGDPPC","RGDPPE":"RGDP","RGDPPH":"RGDP","RGDPPK":"RGDP","RGDPPL":"RGDP","RGDPPT":"RGDP","RGDPQA":"RGDP","RGDPRO":"RGDP","RGDPRS":"RGDP","RGDPRU":"RGDP","RGDPRW":"RGDP","RGDPSA":"RGDP","RGDPSE":"RGDP","RGDPSG":"RGDP","RGDPSI":"RGDP","RGDPSK":"RGDP","RGDPTH":"RGDP","RGDPTN":"RGDP","RGDPTR":"RGDP","RGDPTW":"RGDP","RGDPUA":"RGDP","RGDPUK":"RGDP","RGDPUS":"RGDP","RGDPUY":"RGDP","RGDPUZ":"RGDP","RGDPVN":"RGDP","RGDPZA":"RGDP","RGFCFAE":"RGFCF","RGFCFAL":"RGFCF","RGFCFAR":"RGFCF","RGFCFAT":"RGFCF","RGFCFAU":"RGFCF","RGFCFAZ":"RGFCF","RGFCFBA":"RGFCF","RGFCFBD":"RGFCF","RGFCFBE":"RGFCF","RGFCFBG":"RGFCF","RGFCFBR":"RGFCF","RGFCFBW":"RGFCF","RGFCFBY":"RGFCF","RGFCFCA":"RGFCF","RGFCFCH":"RGFCF","RGFCFCL":"RGFCF","RGFCFCN":"RGFCF","RGFCFCO":"RGFCF","RGFCFCR":"RGFCF","RGFCFCY":"RGFCF","RGFCFCZ":"RGFCF","RGFCFDE":"RGFCF","RGFCFDK":"RGFCF","RGFCFEA":"RGFCF","RGFCFEE":"RGFCF","RGFCFES":"RGFCF","RGFCFEU":"RGFCF","RGFCFFI":"RGFCF","RGFCFFR":"RGFCF","RGFCFGR":"RGFCF","RGFCFHK":"RGFCF","RGFCFHN":"RGFCF","RGFCFHR":"RGFCF","RGFCFHU":"RGFCF","RGFCFID":"RGFCF","RGFCFIE":"RGFCF","RGFCFIL":"RGFCF","RGFCFIN":"RGFCF","RGFCFIR":"RGFCF","RGFCFIT":"RGFCF","RGFCFJP":"RGFCF","RGFCFKH":"RGFCF","RGFCFKR":"RGFCF","RGFCFLT":"RGFCF","RGFCFLU":"RGFCF","RGFCFLV":"RGFCF","RGFCFMA":"RGFCF","RGFCFMN":"RGFCF","RGFCFMO":"RGFCF","RGFCFMT":"RGFCF","RGFCFMX":"RGFCF","RGFCFMY":"RGFCF","RGFCFNG":"RGFCF","RGFCFNL":"RGFCF","RGFCFNO":"RGFCF","RGFCFNZ":"RGFCF","RGFCFPH":"RGFCF","RGFCFPK":"RGFCF","RGFCFPL":"RGFCF","RGFCFPT":"RGFCF","RGFCFRO":"RGFCF","RGFCFRS":"RGFCF","RGFCFRU":"RGFCF","RGFCFSA":"RGFCF","RGFCFSE":"RGFCF","RGFCFSG":"RGFCF","RGFCFSI":"RGFCF","RGFCFSK":"RGFCF","RGFCFTH":"RGFCF","RGFCFTR":"RGFCF","RGFCFTW":"RGFCF","RGFCFUA":"RGFCF","RGFCFUK":"RGFCF","RGFCFUS":"RGFCF","RGFCFVN":"RGFCF","RGFCFZA":"RGFCF","RIMPAE":"RIMP","RIMPAL":"RIMP","RIMPAR":"RIMP","RIMPAT":"RIMP","RIMPAU":"RIMP","RIMPAZ":"RIMP","RIMPBA":"RIMP","RIMPBD":"RIMP","RIMPBE":"RIMP","RIMPBG":"RIMP","RIMPBR":"RIMP","RIMPBW":"RIMP","RIMPBY":"RIMP","RIMPCA":"RIMP","RIMPCH":"RIMP","RIMPCL":"RIMP","RIMPCN":"RIMP","RIMPCO":"RIMP","RIMPCY":"RIMP","RIMPCZ":"RIMP","RIMPDE":"RIMP","RIMPDK":"RIMP","RIMPEA":"RIMP","RIMPEE":"RIMP","RIMPES":"RIMP","RIMPEU":"RIMP","RIMPFI":"RIMP","RIMPFR":"RIMP","RIMPGR":"RIMP","RIMPHK":"RIMP","RIMPHN":"RIMP","RIMPHR":"RIMP","RIMPHU":"RIMP","RIMPID":"RIMP","RIMPIE":"RIMP","RIMPIL":"RIMP","RIMPIN":"RIMP","RIMPIR":"RIMP","RIMPIT":"RIMP","RIMPJP":"RIMP","RIMPKH":"RIMP","RIMPKR":"RIMP","RIMPLT":"RIMP","RIMPLU":"RIMP","RIMPLV":"RIMP","RIMPMA":"RIMP","RIMPMK":"RIMP","RIMPMN":"RIMP","RIMPMO":"RIMP","RIMPMT":"RIMP","RIMPMX":"RIMP","RIMPMY":"RIMP","RIMPNG":"RIMP","RIMPNL":"RIMP","RIMPNO":"RIMP","RIMPNZ":"RIMP","RIMPPA":"RIMP","RIMPPE":"RIMP","RIMPPH":"RIMP","RIMPPK":"RIMP","RIMPPL":"RIMP","RIMPPT":"RIMP","RIMPRO":"RIMP","RIMPRS":"RIMP","RIMPRU":"RIMP","RIMPRW":"RIMP","RIMPSA":"RIMP","RIMPSE":"RIMP","RIMPSG":"RIMP","RIMPSI":"RIMP","RIMPSK":"RIMP","RIMPTH":"RIMP","RIMPTR":"RIMP","RIMPTW":"RIMP","RIMPUA":"RIMP","RIMPUK":"RIMP","RIMPUS":"RIMP","RIMPUZ":"RIMP","RIMPZA":"RIMP","RPRCAE":"RPRC","RPRCAR":"RPRC","RPRCAT":"RPRC","RPRCAU":"RPRC","RPRCAZ":"RPRC","RPRCBA":"RPRC","RPRCBD":"RPRC","RPRCBE":"RPRC","RPRCBG":"RPRC","RPRCBR":"RPRC","RPRCBY":"RPRC","RPRCCA":"RPRC","RPRCCH":"RPRC","RPRCCL":"RPRC","RPRCCN":"RPRC","RPRCCO":"RPRC","RPRCCR":"RPRC","RPRCCY":"RPRC","RPRCCZ":"RPRC","RPRCDE":"RPRC","RPRCDK":"RPRC","RPRCEA":"RPRC","RPRCEE":"RPRC","RPRCES":"RPRC","RPRCEU":"RPRC","RPRCFI":"RPRC","RPRCFR":"RPRC","RPRCGR":"RPRC","RPRCHK":"RPRC","RPRCHN":"RPRC","RPRCHR":"RPRC","RPRCHU":"RPRC","RPRCID":"RPRC","RPRCIE":"RPRC","RPRCIL":"RPRC","RPRCIN":"RPRC","RPRCIR":"RPRC","RPRCIT":"RPRC","RPRCJP":"RPRC","RPRCKH":"RPRC","RPRCKR":"RPRC","RPRCLT":"RPRC","RPRCLU":"RPRC","RPRCLV":"RPRC","RPRCMA":"RPRC","RPRCMK":"RPRC","RPRCMO":"RPRC","RPRCMT":"RPRC","RPRCMX":"RPRC","RPRCMY":"RPRC","RPRCNG":"RPRC","RPRCNL":"RPRC","RPRCNO":"RPRC","RPRCNZ":"RPRC","RPRCPE":"RPRC","RPRCPH":"RPRC","RPRCPK":"RPRC","RPRCPL":"RPRC","RPRCPT":"RPRC","RPRCRO":"RPRC","RPRCRS":"RPRC","RPRCRU":"RPRC","RPRCRW":"RPRC","RPRCSA":"RPRC","RPRCSE":"RPRC","RPRCSG":"RPRC","RPRCSI":"RPRC","RPRCSK":"RPRC","RPRCTH":"RPRC","RPRCTR":"RPRC","RPRCTW":"RPRC","RPRCUA":"RPRC","RPRCUK":"RPRC","RPRCUS":"RPRC","RPRCUZ":"RPRC","RPRCVN":"RPRC","RPRCZA":"RPRC","RPUCAE":"RPUC","RPUCAL":"RPUC","RPUCAR":"RPUC","RPUCAT":"RPUC","RPUCAU":"RPUC","RPUCAZ":"RPUC","RPUCBA":"RPUC","RPUCBD":"RPUC","RPUCBE":"RPUC","RPUCBG":"RPUC","RPUCBR":"RPUC","RPUCBW":"RPUC","RPUCBY":"RPUC","RPUCCA":"RPUC","RPUCCH":"RPUC","RPUCCL":"RPUC","RPUCCN":"RPUC","RPUCCO":"RPUC","RPUCCR":"RPUC","RPUCCY":"RPUC","RPUCCZ":"RPUC","RPUCDE":"RPUC","RPUCDK":"RPUC","RPUCEA":"RPUC","RPUCEE":"RPUC","RPUCES":"RPUC","RPUCEU":"RPUC","RPUCFI":"RPUC","RPUCFR":"RPUC","RPUCGR":"RPUC","RPUCHK":"RPUC","RPUCHN":"RPUC","RPUCHR":"RPUC","RPUCHU":"RPUC","RPUCID":"RPUC","RPUCIE":"RPUC","RPUCIL":"RPUC","RPUCIN":"RPUC","RPUCIR":"RPUC","RPUCIT":"RPUC","RPUCJP":"RPUC","RPUCKH":"RPUC","RPUCKR":"RPUC","RPUCLT":"RPUC","RPUCLU":"RPUC","RPUCLV":"RPUC","RPUCMA":"RPUC","RPUCMK":"RPUC","RPUCMN":"RPUC","RPUCMO":"RPUC","RPUCMT":"RPUC","RPUCMX":"RPUC","RPUCMY":"RPUC","RPUCNG":"RPUC","RPUCNL":"RPUC","RPUCNO":"RPUC","RPUCNZ":"RPUC","RPUCPA":"RPUC","RPUCPE":"RPUC","RPUCPH":"RPUC","RPUCPK":"RPUC","RPUCPL":"RPUC","RPUCPT":"RPUC","RPUCRO":"RPUC","RPUCRS":"RPUC","RPUCRU":"RPUC","RPUCRW":"RPUC","RPUCSA":"RPUC","RPUCSE":"RPUC","RPUCSG":"RPUC","RPUCSI":"RPUC","RPUCSK":"RPUC","RPUCTH":"RPUC","RPUCTR":"RPUC","RPUCTW":"RPUC","RPUCUA":"RPUC","RPUCUK":"RPUC","RPUCUS":"RPUC","RPUCUZ":"RPUC","RPUCVN":"RPUC","RPUCZA":"RPUC","SEIAE":"SEI","SEIAT":"SEI","SEIAU":"SEI","SEIBD":"SEI","SEIBE":"SEI","SEIBR":"SEI","SEICA":"SEI","SEICH":"SEI","SEICN":"SEI","SEIDE":"SEI","SEIDK":"SEI","SEIES":"SEI","SEIFI":"SEI","SEIFR":"SEI","SEIID":"SEI","SEIIE":"SEI","SEIIN":"SEI","SEIIT":"SEI","SEIJP":"SEI","SEIKR":"SEI","SEILA":"SEI","SEILU":"SEI","SEIMX":"SEI","SEINL":"SEI","SEINO":"SEI","SEIOM":"SEI","SEIPA":"SEI","SEIPK":"SEI","SEIPL":"SEI","SEIRS":"SEI","SEIRU":"SEI","SEISE":"SEI","SEITR":"SEI","SEIUS":"SEI","SEIUZ":"SEI","SEIZA":"SEI","SENTAL":"SENT","SENTAT":"SENT","SENTAU":"SENT","SENTBE":"SENT","SENTBG":"SENT","SENTBR":"SENT","SENTCY":"SENT","SENTCZ":"SENT","SENTDE":"SENT","SENTDK":"SENT","SENTEE":"SENT","SENTES":"SENT","SENTEU":"SENT","SENTFI":"SENT","SENTFR":"SENT","SENTGR":"SENT","SENTHR":"SENT","SENTHU":"SENT","SENTIE":"SENT","SENTIT":"SENT","SENTJP":"SENT","SENTKR":"SENT","SENTLT":"SENT","SENTLU":"SENT","SENTLV":"SENT","SENTME":"SENT","SENTMK":"SENT","SENTMT":"SENT","SENTNL":"SENT","SENTPL":"SENT","SENTPT":"SENT","SENTRO":"SENT","SENTRS":"SENT","SENTSE":"SENT","SENTSI":"SENT","SENTSK":"SENT","SENTTR":"SENT","SENTUK":"SENT","SENTUS":"SENT","TBBE":"TB","TBBG":"TB","TBBR":"TB","TBCA":"TB","TBCZ":"TB","TBDE":"TB","TBDK":"TB","TBEE":"TB","TBEG":"TB","TBFI":"TB","TBFR":"TB","TBGR":"TB","TBHR":"TB","TBHU":"TB","TBIN":"TB","TBIT":"TB","TBLT":"TB","TBLU":"TB","TBLV":"TB","TBMK":"TB","TBMT":"TB","TBMX":"TB","TBNL":"TB","TBPL":"TB","TBPT":"TB","TBRO":"TB","TBRS":"TB","TBSE":"TB","TBSI":"TB","TBSK":"TB","TBTH":"TB","TBUS":"TB","TBVN":"TB","URATEAE":"URATE","URATEAR":"URATE","URATEAT":"URATE","URATEAU":"URATE","URATEAZ":"URATE","URATEBD":"URATE","URATEBE":"URATE","URATEBG":"URATE","URATEBR":"URATE","URATEBY":"URATE","URATECA":"URATE","URATECH":"URATE","URATECL":"URATE","URATECN":"URATE","URATECO":"URATE","URATECR":"URATE","URATECY":"URATE","URATECZ":"URATE","URATEDE":"URATE","URATEDK":"URATE","URATEDO":"URATE","URATEEA":"URATE","URATEEE":"URATE","URATEEG":"URATE","URATEES":"URATE","URATEEU":"URATE","URATEFI":"URATE","URATEFR":"URATE","URATEGR":"URATE","URATEHK":"URATE","URATEHR":"URATE","URATEHU":"URATE","URATEID":"URATE","URATEIE":"URATE","URATEIL":"URATE","URATEIS":"URATE","URATEIT":"URATE","URATEJO":"URATE","URATEJP":"URATE","URATEKH":"URATE","URATEKR":"URATE","URATEKZ":"URATE","URATELK":"URATE","URATELT":"URATE","URATELU":"URATE","URATELV":"URATE","URATEMA":"URATE","URATEMO":"URATE","URATEMT":"URATE","URATEMX":"URATE","URATEMY":"URATE","URATENL":"URATE","URATENO":"URATE","URATENZ":"URATE","URATEPE":"URATE","URATEPH":"URATE","URATEPK":"URATE","URATEPL":"URATE","URATEPT":"URATE","URATEQA":"URATE","URATERO":"URATE","URATERS":"URATE","URATERU":"URATE","URATESA":"URATE","URATESE":"URATE","URATESG":"URATE","URATESI":"URATE","URATESK":"URATE","URATETH":"URATE","URATETN":"URATE","URATETR":"URATE","URATETW":"URATE","URATEUA":"URATE","URATEUK":"URATE","URATEUS":"URATE","URATEUY":"URATE","URATEVN":"URATE","URATEZA":"URATE","UTILAL":"UTIL","UTILAR":"UTIL","UTILAT":"UTIL","UTILBE":"UTIL","UTILBG":"UTIL","UTILCA":"UTIL","UTILCY":"UTIL","UTILCZ":"UTIL","UTILDE":"UTIL","UTILDK":"UTIL","UTILEE":"UTIL","UTILES":"UTIL","UTILEU":"UTIL","UTILFI":"UTIL","UTILFR":"UTIL","UTILGR":"UTIL","UTILHR":"UTIL","UTILHU":"UTIL","UTILIE":"UTIL","UTILIT":"UTIL","UTILLT":"UTIL","UTILLU":"UTIL","UTILLV":"UTIL","UTILME":"UTIL","UTILMK":"UTIL","UTILMT":"UTIL","UTILNL":"UTIL","UTILPL":"UTIL","UTILPT":"UTIL","UTILRO":"UTIL","UTILRS":"UTIL","UTILSE":"UTIL","UTILSI":"UTIL","UTILSK":"UTIL","UTILTR":"UTIL","UTILUK":"UTIL","UTILUS":"UTIL","WAGEMANCL":"WAGEMAN","WAGEMANMX":"WAGEMAN","WAGEMANUS":"WAGEMAN","WAGEUY":"WAGE","WAGEVN":"WAGE","Y10YDAR":"Y10YD","Y10YDAT":"Y10YD","Y10YDAU":"Y10YD","Y10YDBD":"Y10YD","Y10YDBE":"Y10YD","Y10YDBG":"Y10YD","Y10YDCA":"Y10YD","Y10YDCN":"Y10YD","Y10YDCY":"Y10YD","Y10YDCZ":"Y10YD","Y10YDDE":"Y10YD","Y10YDDK":"Y10YD","Y10YDEA":"Y10YD","Y10YDEE":"Y10YD","Y10YDES":"Y10YD","Y10YDEU":"Y10YD","Y10YDFI":"Y10YD","Y10YDFR":"Y10YD","Y10YDGR":"Y10YD","Y10YDHK":"Y10YD","Y10YDHR":"Y10YD","Y10YDHU":"Y10YD","Y10YDID":"Y10YD","Y10YDIE":"Y10YD","Y10YDIN":"Y10YD","Y10YDIT":"Y10YD","Y10YDJP":"Y10YD","Y10YDKR":"Y10YD","Y10YDLT":"Y10YD","Y10YDLU":"Y10YD","Y10YDLV":"Y10YD","Y10YDMT":"Y10YD","Y10YDMX":"Y10YD","Y10YDMY":"Y10YD","Y10YDNL":"Y10YD","Y10YDNZ":"Y10YD","Y10YDPH":"Y10YD","Y10YDPL":"Y10YD","Y10YDPT":"Y10YD","Y10YDQA":"Y10YD","Y10YDRO":"Y10YD","Y10YDRU":"Y10YD","Y10YDSA":"Y10YD","Y10YDSE":"Y10YD","Y10YDSG":"Y10YD","Y10YDSI":"Y10YD","Y10YDSK":"Y10YD","Y10YDTH":"Y10YD","Y10YDTR":"Y10YD","Y10YDTW":"Y10YD","Y10YDUA":"Y10YD","Y10YDUK":"Y10YD","Y10YDUS":"Y10YD","Y10YDVN":"Y10YD","Y10YDZA":"Y10YD"} \ No newline at end of file +{"ACPOPAT": "ACPOP", "ACPOPBE": "ACPOP", "ACPOPBG": "ACPOP", "ACPOPBR": "ACPOP", "ACPOPCA": "ACPOP", "ACPOPCH": "ACPOP", "ACPOPCY": "ACPOP", "ACPOPCZ": "ACPOP", "ACPOPDE": "ACPOP", "ACPOPDK": "ACPOP", "ACPOPEE": "ACPOP", "ACPOPES": "ACPOP", "ACPOPFI": "ACPOP", "ACPOPFR": "ACPOP", "ACPOPGR": "ACPOP", "ACPOPHR": "ACPOP", "ACPOPHU": "ACPOP", "ACPOPIE": "ACPOP", "ACPOPIS": "ACPOP", "ACPOPIT": "ACPOP", "ACPOPJP": "ACPOP", "ACPOPLT": "ACPOP", "ACPOPLU": "ACPOP", "ACPOPLV": "ACPOP", "ACPOPME": "ACPOP", "ACPOPMK": "ACPOP", "ACPOPMT": "ACPOP", "ACPOPMX": "ACPOP", "ACPOPNL": "ACPOP", "ACPOPNO": "ACPOP", "ACPOPPH": "ACPOP", "ACPOPPK": "ACPOP", "ACPOPPL": "ACPOP", "ACPOPPT": "ACPOP", "ACPOPQA": "ACPOP", "ACPOPRO": "ACPOP", "ACPOPRS": "ACPOP", "ACPOPSE": "ACPOP", "ACPOPSI": "ACPOP", "ACPOPSK": "ACPOP", "ACPOPTR": "ACPOP", "ACPOPTW": "ACPOP", "ACPOPUS": "ACPOP", "ACPOPVN": "ACPOP", "CAAR": "CA", "CAAT": "CA", "CAAU": "CA", "CAAZ": "CA", "CABD": "CA", "CABE": "CA", "CABG": "CA", "CABR": "CA", "CABT": "CA", "CABY": "CA", "CACA": "CA", "CACH": "CA", "CACL": "CA", "CACN": "CA", "CACO": "CA", "CACR": "CA", "CACY": "CA", "CACZ": "CA", "CADE": "CA", "CADK": "CA", "CAEE": "CA", "CAEG": "CA", "CAES": "CA", "CAEU": "CA", "CAFI": "CA", "CAFR": "CA", "CAGR": "CA", "CAHK": "CA", "CAHR": "CA", "CAHU": "CA", "CAID": "CA", "CAIE": "CA", "CAIL": "CA", "CAIN": "CA", "CAIT": "CA", "CAJO": "CA", "CAJP": "CA", "CAKH": "CA", "CAKR": "CA", "CAKZ": "CA", "CALA": "CA", "CALT": "CA", "CALU": "CA", "CALV": "CA", "CAMA": "CA", "CAMT": "CA", "CAMX": "CA", "CAMY": "CA", "CANL": "CA", "CANO": "CA", "CANP": "CA", "CANZ": "CA", "CAPA": "CA", "CAPH": "CA", "CAPK": "CA", "CAPL": "CA", "CAPT": "CA", "CARAT": "CAR", "CARBE": "CAR", "CARBG": "CAR", "CARCH": "CAR", "CARCZ": "CAR", "CARDE": "CAR", "CARDK": "CAR", "CAREE": "CAR", "CARES": "CAR", "CAREU": "CAR", "CARFI": "CAR", "CARFR": "CAR", "CARGR": "CAR", "CARHR": "CAR", "CARHU": "CAR", "CARIE": "CAR", "CARIS": "CAR", "CARIT": "CAR", "CARLT": "CAR", "CARLU": "CAR", "CARLV": "CAR", "CARNL": "CAR", "CARNO": "CAR", "CARO": "CA", "CARPL": "CAR", "CARPT": "CAR", "CARRO": "CAR", "CARSE": "CAR", "CARSI": "CAR", "CARSK": "CAR", "CARU": "CA", "CARUK": "CAR", "CARZA": "CAR", "CASA": "CA", "CASE": "CA", "CASG": "CA", "CASI": "CA", "CASK": "CA", "CASV": "CA", "CATH": "CA", "CATN": "CA", "CATR": "CA", "CATW": "CA", "CAUA": "CA", "CAUK": "CA", "CAUS": "CA", "CAUY": "CA", "CAVN": "CA", "CAZA": "CA", "CBALAL": "CBAL", "CBALAT": "CBAL", "CBALAZ": "CBAL", "CBALBE": "CBAL", "CBALBG": "CBAL", "CBALCH": "CBAL", "CBALCY": "CBAL", "CBALCZ": "CBAL", "CBALDE": "CBAL", "CBALDK": "CBAL", "CBALEA": "CBAL", "CBALEE": "CBAL", "CBALES": "CBAL", "CBALEU": "CBAL", "CBALFI": "CBAL", "CBALFR": "CBAL", "CBALGR": "CBAL", "CBALHR": "CBAL", "CBALHU": "CBAL", "CBALIE": "CBAL", "CBALIR": "CBAL", "CBALIT": "CBAL", "CBALLT": "CBAL", "CBALLU": "CBAL", "CBALLV": "CBAL", "CBALME": "CBAL", "CBALMT": "CBAL", "CBALNL": "CBAL", "CBALNO": "CBAL", "CBALPH": "CBAL", "CBALPL": "CBAL", "CBALPT": "CBAL", "CBALRO": "CBAL", "CBALRS": "CBAL", "CBALSE": "CBAL", "CBALSI": "CBAL", "CBALSK": "CBAL", "CBALTR": "CBAL", "CBALUK": "CBAL", "CBALUS": "CBAL", "CIAE": "CI", "CIAR": "CI", "CIAT": "CI", "CIAU": "CI", "CIAZ": "CI", "CIBE": "CI", "CIBG": "CI", "CIBR": "CI", "CIBW": "CI", "CIBY": "CI", "CICH": "CI", "CICN": "CI", "CICY": "CI", "CICZ": "CI", "CIDE": "CI", "CIDK": "CI", "CIEE": "CI", "CIES": "CI", "CIFI": "CI", "CIFR": "CI", "CIGR": "CI", "CIHK": "CI", "CIHR": "CI", "CIHU": "CI", "CIID": "CI", "CIIE": "CI", "CIIL": "CI", "CIIN": "CI", "CIIR": "CI", "CIIT": "CI", "CIKR": "CI", "CIKZ": "CI", "CILT": "CI", "CILU": "CI", "CILV": "CI", "CIMA": "CI", "CIME": "CI", "CIMN": "CI", "CIMT": "CI", "CIMX": "CI", "CIMY": "CI", "CING": "CI", "CINL": "CI", "CINO": "CI", "CINZ": "CI", "CIPH": "CI", "CIPK": "CI", "CIPL": "CI", "CIPT": "CI", "CIRO": "CI", "CIRS": "CI", "CIRU": "CI", "CISA": "CI", "CISE": "CI", "CISG": "CI", "CISI": "CI", "CISK": "CI", "CITH": "CI", "CITR": "CI", "CITW": "CI", "CIUA": "CI", "CIUK": "CI", "CIUS": "CI", "CIVN": "CI", "CIZA": "CI", "CKABE": "CKA", "CKABG": "CKA", "CKACZ": "CKA", "CKADE": "CKA", "CKADK": "CKA", "CKAEE": "CKA", "CKAES": "CKA", "CKAFI": "CKA", "CKAFR": "CKA", "CKAGR": "CKA", "CKAHR": "CKA", "CKAHU": "CKA", "CKAIT": "CKA", "CKALT": "CKA", "CKALU": "CKA", "CKALV": "CKA", "CKAMT": "CKA", "CKANL": "CKA", "CKAPL": "CKA", "CKAPT": "CKA", "CKARO": "CKA", "CKASE": "CKA", "CKASI": "CKA", "CKASK": "CKA", "CLAIMSUS": "CLAIMS", "CLIAT": "CLI", "CLIAU": "CLI", "CLIBE": "CLI", "CLIBR": "CLI", "CLICA": "CLI", "CLICH": "CLI", "CLICL": "CLI", "CLICN": "CLI", "CLICZ": "CLI", "CLIDE": "CLI", "CLIDK": "CLI", "CLIEE": "CLI", "CLIES": "CLI", "CLIFI": "CLI", "CLIFR": "CLI", "CLIGR": "CLI", "CLIHU": "CLI", "CLIID": "CLI", "CLIIE": "CLI", "CLIIL": "CLI", "CLIIN": "CLI", "CLIIS": "CLI", "CLIIT": "CLI", "CLIJP": "CLI", "CLIKR": "CLI", "CLILU": "CLI", "CLIMX": "CLI", "CLINL": "CLI", "CLINO": "CLI", "CLINZ": "CLI", "CLIPL": "CLI", "CLIPT": "CLI", "CLIRU": "CLI", "CLISE": "CLI", "CLISI": "CLI", "CLISK": "CLI", "CLITR": "CLI", "CLIUK": "CLI", "CLIUS": "CLI", "CLIZA": "CLI", "CONAE": "CON", "CONAL": "CON", "CONAT": "CON", "CONBD": "CON", "CONBE": "CON", "CONBG": "CON", "CONBY": "CON", "CONCA": "CON", "CONCH": "CON", "CONCL": "CON", "CONCN": "CON", "CONCY": "CON", "CONCZ": "CON", "CONDE": "CON", "CONDK": "CON", "CONEA": "CON", "CONEE": "CON", "CONES": "CON", "CONEU": "CON", "CONFAL": "CONF", "CONFAT": "CONF", "CONFAU": "CONF", "CONFBE": "CONF", "CONFBG": "CONF", "CONFBR": "CONF", "CONFCY": "CONF", "CONFCZ": "CONF", "CONFDE": "CONF", "CONFDK": "CONF", "CONFEE": "CONF", "CONFES": "CONF", "CONFEU": "CONF", "CONFFI": "CONF", "CONFFR": "CONF", "CONFGR": "CONF", "CONFHR": "CONF", "CONFHU": "CONF", "CONFI": "CON", "CONFID": "CONF", "CONFIE": "CONF", "CONFIL": "CONF", "CONFIT": "CONF", "CONFJP": "CONF", "CONFKR": "CONF", "CONFLT": "CONF", "CONFLU": "CONF", "CONFLV": "CONF", "CONFME": "CONF", "CONFMK": "CONF", "CONFMT": "CONF", "CONFMX": "CONF", "CONFNL": "CONF", "CONFPL": "CONF", "CONFPT": "CONF", "CONFR": "CON", "CONFRO": "CONF", "CONFRS": "CONF", "CONFSE": "CONF", "CONFSI": "CONF", "CONFSK": "CONF", "CONFTR": "CONF", "CONFUK": "CONF", "CONFUS": "CONF", "CONGR": "CON", "CONHR": "CON", "CONHU": "CON", "CONIE": "CON", "CONIT": "CON", "CONKR": "CON", "CONLT": "CON", "CONLU": "CON", "CONLV": "CON", "CONMK": "CON", "CONMT": "CON", "CONMX": "CON", "CONNL": "CON", "CONNO": "CON", "CONPL": "CON", "CONPT": "CON", "CONQA": "CON", "CONRO": "CON", "CONRS": "CON", "CONRU": "CON", "CONSE": "CON", "CONSI": "CON", "CONSK": "CON", "CONUA": "CON", "CONUK": "CON", "CONZA": "CON", "COREAR": "CORE", "COREAT": "CORE", "COREAU": "CORE", "COREBD": "CORE", "COREBE": "CORE", "COREBG": "CORE", "COREBR": "CORE", "CORECA": "CORE", "CORECH": "CORE", "CORECY": "CORE", "CORECZ": "CORE", "COREDE": "CORE", "COREDK": "CORE", "COREEA": "CORE", "COREEE": "CORE", "COREES": "CORE", "COREEU": "CORE", "COREFI": "CORE", "COREFR": "CORE", "COREGR": "CORE", "COREHR": "CORE", "COREHU": "CORE", "COREIE": "CORE", "COREIN": "CORE", "COREIS": "CORE", "COREIT": "CORE", "COREJP": "CORE", "COREKR": "CORE", "CORELT": "CORE", "CORELU": "CORE", "CORELV": "CORE", "COREMK": "CORE", "COREMT": "CORE", "COREMX": "CORE", "CORENL": "CORE", "CORENO": "CORE", "CORENP": "CORE", "COREPL": "CORE", "COREPT": "CORE", "CORERO": "CORE", "CORERS": "CORE", "CORERU": "CORE", "CORESE": "CORE", "CORESG": "CORE", "CORESI": "CORE", "CORESK": "CORE", "CORETH": "CORE", "CORETR": "CORE", "CORETW": "CORE", "COREUK": "CORE", "COREUS": "CORE", "CPAT": "CP", "CPBE": "CP", "CPBG": "CP", "CPCZ": "CP", "CPDE": "CP", "CPDK": "CP", "CPES": "CP", "CPEU": "CP", "CPFI": "CP", "CPFR": "CP", "CPHR": "CP", "CPHU": "CP", "CPIAE": "CPI", "CPIAF": "CPI", "CPIAG": "CPI", "CPIAL": "CPI", "CPIAM": "CPI", "CPIAR": "CPI", "CPIAT": "CPI", "CPIAU": "CPI", "CPIAW": "CPI", "CPIAZ": "CPI", "CPIBA": "CPI", "CPIBB": "CPI", "CPIBD": "CPI", "CPIBE": "CPI", "CPIBF": "CPI", "CPIBG": "CPI", "CPIBH": "CPI", "CPIBI": "CPI", "CPIBJ": "CPI", "CPIBN": "CPI", "CPIBO": "CPI", "CPIBR": "CPI", "CPIBS": "CPI", "CPIBT": "CPI", "CPIBW": "CPI", "CPIBY": "CPI", "CPIBZ": "CPI", "CPICA": "CPI", "CPICF": "CPI", "CPICG": "CPI", "CPICH": "CPI", "CPICI": "CPI", "CPICL": "CPI", "CPICM": "CPI", "CPICN": "CPI", "CPICO": "CPI", "CPICR": "CPI", "CPICV": "CPI", "CPICW": "CPI", "CPICY": "CPI", "CPICZ": "CPI", "CPIDE": "CPI", "CPIDJ": "CPI", "CPIDK": "CPI", "CPIDM": "CPI", "CPIDO": "CPI", "CPIEA": "CPI", "CPIEC": "CPI", "CPIEE": "CPI", "CPIEG": "CPI", "CPIES": "CPI", "CPIET": "CPI", "CPIEU": "CPI", "CPIFI": "CPI", "CPIFJ": "CPI", "CPIFR": "CPI", "CPIGA": "CPI", "CPIGD": "CPI", "CPIGE": "CPI", "CPIGN": "CPI", "CPIGQ": "CPI", "CPIGR": "CPI", "CPIGT": "CPI", "CPIGW": "CPI", "CPIGY": "CPI", "CPIHK": "CPI", "CPIHN": "CPI", "CPIHR": "CPI", "CPIHT": "CPI", "CPIHU": "CPI", "CPIID": "CPI", "CPIIE": "CPI", "CPIIL": "CPI", "CPIIN": "CPI", "CPIIQ": "CPI", "CPIIR": "CPI", "CPIIS": "CPI", "CPIIT": "CPI", "CPIJM": "CPI", "CPIJO": "CPI", "CPIJP": "CPI", "CPIKG": "CPI", "CPIKH": "CPI", "CPIKI": "CPI", "CPIKN": "CPI", "CPIKR": "CPI", "CPIKW": "CPI", "CPIKZ": "CPI", "CPILA": "CPI", "CPILB": "CPI", "CPILC": "CPI", "CPILK": "CPI", "CPILR": "CPI", "CPILS": "CPI", "CPILT": "CPI", "CPILU": "CPI", "CPILV": "CPI", "CPIMA": "CPI", "CPIMD": "CPI", "CPIME": "CPI", "CPIMG": "CPI", "CPIMK": "CPI", "CPIML": "CPI", "CPIMM": "CPI", "CPIMN": "CPI", "CPIMO": "CPI", "CPIMR": "CPI", "CPIMS": "CPI", "CPIMT": "CPI", "CPIMU": "CPI", "CPIMV": "CPI", "CPIMW": "CPI", "CPIMX": "CPI", "CPIMY": "CPI", "CPIMZ": "CPI", "CPINE": "CPI", "CPING": "CPI", "CPINI": "CPI", "CPINL": "CPI", "CPINO": "CPI", "CPINP": "CPI", "CPINZ": "CPI", "CPIOM": "CPI", "CPIPA": "CPI", "CPIPE": "CPI", "CPIPH": "CPI", "CPIPK": "CPI", "CPIPL": "CPI", "CPIPS": "CPI", "CPIPT": "CPI", "CPIQA": "CPI", "CPIRO": "CPI", "CPIRS": "CPI", "CPIRU": "CPI", "CPISA": "CPI", "CPISB": "CPI", "CPISC": "CPI", "CPISD": "CPI", "CPISE": "CPI", "CPISG": "CPI", "CPISI": "CPI", "CPISK": "CPI", "CPISR": "CPI", "CPISS": "CPI", "CPIST": "CPI", "CPISV": "CPI", "CPISZ": "CPI", "CPIT": "CP", "CPITD": "CPI", "CPITG": "CPI", "CPITH": "CPI", "CPITJ": "CPI", "CPITL": "CPI", "CPITN": "CPI", "CPITO": "CPI", "CPITR": "CPI", "CPITT": "CPI", "CPITW": "CPI", "CPIUA": "CPI", "CPIUG": "CPI", "CPIUK": "CPI", "CPIUS": "CPI", "CPIUY": "CPI", "CPIUZ": "CPI", "CPIVC": "CPI", "CPIVE": "CPI", "CPIVN": "CPI", "CPIWS": "CPI", "CPIXK": "CPI", "CPIZA": "CPI", "CPIZM": "CPI", "CPIZW": "CPI", "CPLU": "CP", "CPMK": "CP", "CPMX": "CP", "CPNL": "CP", "CPNO": "CP", "CPPL": "CP", "CPPT": "CP", "CPRO": "CP", "CPSE": "CP", "CPSG": "CP", "CPSI": "CP", "CPSK": "CP", "CPUK": "CP", "CREDAR": "CRED", "CREDAT": "CRED", "CREDAU": "CRED", "CREDBE": "CRED", "CREDBR": "CRED", "CREDCA": "CRED", "CREDCH": "CRED", "CREDCL": "CRED", "CREDCN": "CRED", "CREDCO": "CRED", "CREDCZ": "CRED", "CREDDE": "CRED", "CREDDK": "CRED", "CREDEA": "CREDEA", "CREDES": "CRED", "CREDFI": "CRED", "CREDFR": "CRED", "CREDGR": "CRED", "CREDHK": "CRED", "CREDHU": "CRED", "CREDID": "CRED", "CREDIE": "CRED", "CREDIL": "CRED", "CREDIN": "CRED", "CREDIT": "CRED", "CREDJP": "CRED", "CREDKR": "CRED", "CREDLU": "CRED", "CREDMO": "CRED", "CREDMX": "CRED", "CREDMY": "CRED", "CREDNL": "CRED", "CREDNO": "CRED", "CREDNZ": "CRED", "CREDPL": "CRED", "CREDPT": "CRED", "CREDRU": "CRED", "CREDSA": "CRED", "CREDSE": "CRED", "CREDSG": "CRED", "CREDTH": "CRED", "CREDTN": "CRED", "CREDTR": "CRED", "CREDUK": "CRED", "CREDUS": "CRED", "CREDZA": "CRED", "DWPEBE": "DWPE", "DWPECY": "DWPE", "DWPEDE": "DWPE", "DWPEES": "DWPE", "DWPEEU": "DWPE", "DWPEFI": "DWPE", "DWPEFR": "DWPE", "DWPEGR": "DWPE", "DWPEHU": "DWPE", "DWPEMK": "DWPE", "DWPENL": "DWPE", "DWPENO": "DWPE", "DWPEPT": "DWPE", "DWPERO": "DWPE", "DWPESE": "DWPE", "DWPESI": "DWPE", "ELEAT": "ELE", "ELEBE": "ELE", "ELEBG": "ELE", "ELECH": "ELE", "ELECN": "ELE", "ELECY": "ELE", "ELECZ": "ELE", "ELEDE": "ELE", "ELEDK": "ELE", "ELEEE": "ELE", "ELEES": "ELE", "ELEEU": "ELE", "ELEFI": "ELE", "ELEFR": "ELE", "ELEGR": "ELE", "ELEHR": "ELE", "ELEHU": "ELE", "ELEIE": "ELE", "ELEIT": "ELE", "ELELT": "ELE", "ELELU": "ELE", "ELELV": "ELE", "ELEMK": "ELE", "ELEMT": "ELE", "ELENL": "ELE", "ELENO": "ELE", "ELEPL": "ELE", "ELEPT": "ELE", "ELERO": "ELE", "ELESE": "ELE", "ELESI": "ELE", "ELESK": "ELE", "ELETR": "ELE", "ELEUK": "ELE", "ELEUS": "ELE", "ELEZA": "ELE", "EMPAR": "EMP", "EMPAT": "EMP", "EMPAU": "EMP", "EMPAZ": "EMP", "EMPBD": "EMP", "EMPBE": "EMP", "EMPBG": "EMP", "EMPBR": "EMP", "EMPBY": "EMP", "EMPCA": "EMP", "EMPCH": "EMP", "EMPCL": "EMP", "EMPCN": "EMP", "EMPCO": "EMP", "EMPCR": "EMP", "EMPCY": "EMP", "EMPCZ": "EMP", "EMPDE": "EMP", "EMPDK": "EMP", "EMPDO": "EMP", "EMPEE": "EMP", "EMPES": "EMP", "EMPFI": "EMP", "EMPFR": "EMP", "EMPGR": "EMP", "EMPHR": "EMP", "EMPHU": "EMP", "EMPID": "EMP", "EMPIE": "EMP", "EMPIS": "EMP", "EMPIT": "EMP", "EMPJO": "EMP", "EMPJP": "EMP", "EMPKR": "EMP", "EMPKZ": "EMP", "EMPLK": "EMP", "EMPLT": "EMP", "EMPLU": "EMP", "EMPLV": "EMP", "EMPME": "EMP", "EMPMK": "EMP", "EMPMO": "EMP", "EMPMT": "EMP", "EMPMX": "EMP", "EMPMY": "EMP", "EMPNL": "EMP", "EMPNO": "EMP", "EMPNZ": "EMP", "EMPPA": "EMP", "EMPPE": "EMP", "EMPPH": "EMP", "EMPPK": "EMP", "EMPPL": "EMP", "EMPPT": "EMP", "EMPQA": "EMP", "EMPRO": "EMP", "EMPRS": "EMP", "EMPRU": "EMP", "EMPSE": "EMP", "EMPSG": "EMP", "EMPSI": "EMP", "EMPSK": "EMP", "EMPTH": "EMP", "EMPTN": "EMP", "EMPTR": "EMP", "EMPTW": "EMP", "EMPUA": "EMP", "EMPUS": "EMP", "EMPUY": "EMP", "EMPVN": "EMP", "EMPZA": "EMP", "EMRATIOAT": "EMRATIO", "EMRATIOBE": "EMRATIO", "EMRATIOBG": "EMRATIO", "EMRATIOCH": "EMRATIO", "EMRATIOCY": "EMRATIO", "EMRATIOCZ": "EMRATIO", "EMRATIODE": "EMRATIO", "EMRATIODK": "EMRATIO", "EMRATIOEE": "EMRATIO", "EMRATIOES": "EMRATIO", "EMRATIOFI": "EMRATIO", "EMRATIOFR": "EMRATIO", "EMRATIOGR": "EMRATIO", "EMRATIOHR": "EMRATIO", "EMRATIOHU": "EMRATIO", "EMRATIOIE": "EMRATIO", "EMRATIOIS": "EMRATIO", "EMRATIOIT": "EMRATIO", "EMRATIOJP": "EMRATIO", "EMRATIOLT": "EMRATIO", "EMRATIOLU": "EMRATIO", "EMRATIOLV": "EMRATIO", "EMRATIOME": "EMRATIO", "EMRATIOMK": "EMRATIO", "EMRATIOMT": "EMRATIO", "EMRATIONL": "EMRATIO", "EMRATIONO": "EMRATIO", "EMRATIOPL": "EMRATIO", "EMRATIOPT": "EMRATIO", "EMRATIORO": "EMRATIO", "EMRATIORS": "EMRATIO", "EMRATIOSE": "EMRATIO", "EMRATIOSI": "EMRATIO", "EMRATIOSK": "EMRATIO", "EMRATIOTR": "EMRATIO", "EMRATIOTW": "EMRATIO", "EMRATIOUS": "EMRATIO", "EQYCAPCN": "EQYCAP", "EXPAE": "EXP", "EXPAL": "EXP", "EXPAR": "EXP", "EXPAT": "EXP", "EXPAU": "EXP", "EXPAZ": "EXP", "EXPBD": "EXP", "EXPBE": "EXP", "EXPBG": "EXP", "EXPBR": "EXP", "EXPBW": "EXP", "EXPBY": "EXP", "EXPCA": "EXP", "EXPCH": "EXP", "EXPCL": "EXP", "EXPCM": "EXP", "EXPCN": "EXP", "EXPCO": "EXP", "EXPCY": "EXP", "EXPCZ": "EXP", "EXPDE": "EXP", "EXPDK": "EXP", "EXPEA": "EXP", "EXPEE": "EXP", "EXPES": "EXP", "EXPEU": "EXP", "EXPFI": "EXP", "EXPFR": "EXP", "EXPGR": "EXP", "EXPHK": "EXP", "EXPHR": "EXP", "EXPHU": "EXP", "EXPID": "EXP", "EXPIE": "EXP", "EXPIL": "EXP", "EXPIN": "EXP", "EXPIR": "EXP", "EXPIT": "EXP", "EXPJO": "EXP", "EXPJP": "EXP", "EXPKR": "EXP", "EXPKZ": "EXP", "EXPLT": "EXP", "EXPLU": "EXP", "EXPLV": "EXP", "EXPMA": "EXP", "EXPME": "EXP", "EXPMK": "EXP", "EXPMN": "EXP", "EXPMONAR": "EXPMON", "EXPMONAU": "EXPMON", "EXPMONBD": "EXPMON", "EXPMONBE": "EXPMON", "EXPMONBG": "EXPMON", "EXPMONBR": "EXPMON", "EXPMONCA": "EXPMON", "EXPMONCL": "EXPMON", "EXPMONCN": "EXPMON", "EXPMONCO": "EXPMON", "EXPMONCR": "EXPMON", "EXPMONCZ": "EXPMON", "EXPMONDE": "EXPMON", "EXPMONDK": "EXPMON", "EXPMONEE": "EXPMON", "EXPMONEG": "EXPMON", "EXPMONES": "EXPMON", "EXPMONEU": "EXPMON", "EXPMONFI": "EXPMON", "EXPMONFR": "EXPMON", "EXPMONGR": "EXPMON", "EXPMONHK": "EXPMON", "EXPMONHR": "EXPMON", "EXPMONHU": "EXPMON", "EXPMONID": "EXPMON", "EXPMONIN": "EXPMON", "EXPMONIT": "EXPMON", "EXPMONJP": "EXPMON", "EXPMONKH": "EXPMON", "EXPMONKR": "EXPMON", "EXPMONKZ": "EXPMON", "EXPMONLT": "EXPMON", "EXPMONLU": "EXPMON", "EXPMONLV": "EXPMON", "EXPMONMK": "EXPMON", "EXPMONMT": "EXPMON", "EXPMONMX": "EXPMON", "EXPMONMY": "EXPMON", "EXPMONNL": "EXPMON", "EXPMONNP": "EXPMON", "EXPMONPH": "EXPMON", "EXPMONPK": "EXPMON", "EXPMONPL": "EXPMON", "EXPMONPT": "EXPMON", "EXPMONQA": "EXPMON", "EXPMONRO": "EXPMON", "EXPMONRS": "EXPMON", "EXPMONRU": "EXPMON", "EXPMONSA": "EXPMON", "EXPMONSE": "EXPMON", "EXPMONSG": "EXPMON", "EXPMONSI": "EXPMON", "EXPMONSK": "EXPMON", "EXPMONTH": "EXPMON", "EXPMONTR": "EXPMON", "EXPMONTW": "EXPMON", "EXPMONUA": "EXPMON", "EXPMONUK": "EXPMON", "EXPMONUS": "EXPMON", "EXPMONUY": "EXPMON", "EXPMONVN": "EXPMON", "EXPMONZA": "EXPMON", "EXPMT": "EXP", "EXPMX": "EXP", "EXPMY": "EXP", "EXPNG": "EXP", "EXPNL": "EXP", "EXPNO": "EXP", "EXPNZ": "EXP", "EXPPE": "EXP", "EXPPH": "EXP", "EXPPK": "EXP", "EXPPL": "EXP", "EXPPT": "EXP", "EXPQA": "EXP", "EXPRO": "EXP", "EXPRS": "EXP", "EXPRU": "EXP", "EXPRW": "EXP", "EXPSA": "EXP", "EXPSE": "EXP", "EXPSG": "EXP", "EXPSI": "EXP", "EXPSK": "EXP", "EXPSV": "EXP", "EXPTH": "EXP", "EXPTR": "EXP", "EXPTW": "EXP", "EXPUA": "EXP", "EXPUK": "EXP", "EXPUS": "EXP", "EXPZA": "EXP", "GASDEMAL": "GASDEM", "GASDEMAT": "GASDEM", "GASDEMAU": "GASDEM", "GASDEMAZ": "GASDEM", "GASDEMBE": "GASDEM", "GASDEMBG": "GASDEM", "GASDEMBH": "GASDEM", "GASDEMBN": "GASDEM", "GASDEMBO": "GASDEM", "GASDEMBY": "GASDEM", "GASDEMCA": "GASDEM", "GASDEMCH": "GASDEM", "GASDEMCL": "GASDEM", "GASDEMCZ": "GASDEM", "GASDEMDE": "GASDEM", "GASDEMDK": "GASDEM", "GASDEMDZ": "GASDEM", "GASDEMEC": "GASDEM", "GASDEMEE": "GASDEM", "GASDEMEG": "GASDEM", "GASDEMES": "GASDEM", "GASDEMFI": "GASDEM", "GASDEMFR": "GASDEM", "GASDEMGE": "GASDEM", "GASDEMGQ": "GASDEM", "GASDEMGR": "GASDEM", "GASDEMHK": "GASDEM", "GASDEMHR": "GASDEM", "GASDEMHU": "GASDEM", "GASDEMID": "GASDEM", "GASDEMIE": "GASDEM", "GASDEMIN": "GASDEM", "GASDEMIT": "GASDEM", "GASDEMJP": "GASDEM", "GASDEMKR": "GASDEM", "GASDEMKW": "GASDEM", "GASDEMLT": "GASDEM", "GASDEMLU": "GASDEM", "GASDEMLV": "GASDEM", "GASDEMLY": "GASDEM", "GASDEMMA": "GASDEM", "GASDEMMD": "GASDEM", "GASDEMMK": "GASDEM", "GASDEMMT": "GASDEM", "GASDEMMX": "GASDEM", "GASDEMNG": "GASDEM", "GASDEMNL": "GASDEM", "GASDEMNO": "GASDEM", "GASDEMNZ": "GASDEM", "GASDEMPE": "GASDEM", "GASDEMPH": "GASDEM", "GASDEMPL": "GASDEM", "GASDEMPT": "GASDEM", "GASDEMQA": "GASDEM", "GASDEMRO": "GASDEM", "GASDEMSE": "GASDEM", "GASDEMSI": "GASDEM", "GASDEMSK": "GASDEM", "GASDEMTN": "GASDEM", "GASDEMTR": "GASDEM", "GASDEMTT": "GASDEM", "GASDEMTW": "GASDEM", "GASDEMUA": "GASDEM", "GASDEMUK": "GASDEM", "GASDEMUS": "GASDEM", "GASDEMVE": "GASDEM", "GASDEMZA": "GASDEM", "GASODEMAE": "GASODEM", "GASODEMAL": "GASODEM", "GASODEMAM": "GASODEM", "GASODEMAO": "GASODEM", "GASODEMAR": "GASODEM", "GASODEMAT": "GASODEM", "GASODEMAU": "GASODEM", "GASODEMAZ": "GASODEM", "GASODEMBB": "GASODEM", "GASODEMBD": "GASODEM", "GASODEMBE": "GASODEM", "GASODEMBG": "GASODEM", "GASODEMBH": "GASODEM", "GASODEMBM": "GASODEM", "GASODEMBN": "GASODEM", "GASODEMBO": "GASODEM", "GASODEMBR": "GASODEM", "GASODEMBY": "GASODEM", "GASODEMBZ": "GASODEM", "GASODEMCA": "GASODEM", "GASODEMCH": "GASODEM", "GASODEMCL": "GASODEM", "GASODEMCN": "GASODEM", "GASODEMCO": "GASODEM", "GASODEMCR": "GASODEM", "GASODEMCU": "GASODEM", "GASODEMCY": "GASODEM", "GASODEMCZ": "GASODEM", "GASODEMDE": "GASODEM", "GASODEMDK": "GASODEM", "GASODEMDO": "GASODEM", "GASODEMDZ": "GASODEM", "GASODEMEC": "GASODEM", "GASODEMEE": "GASODEM", "GASODEMEG": "GASODEM", "GASODEMES": "GASODEM", "GASODEMFI": "GASODEM", "GASODEMFR": "GASODEM", "GASODEMGA": "GASODEM", "GASODEMGD": "GASODEM", "GASODEMGE": "GASODEM", "GASODEMGM": "GASODEM", "GASODEMGQ": "GASODEM", "GASODEMGR": "GASODEM", "GASODEMGT": "GASODEM", "GASODEMGY": "GASODEM", "GASODEMHK": "GASODEM", "GASODEMHN": "GASODEM", "GASODEMHR": "GASODEM", "GASODEMHT": "GASODEM", "GASODEMHU": "GASODEM", "GASODEMID": "GASODEM", "GASODEMIE": "GASODEM", "GASODEMIN": "GASODEM", "GASODEMIQ": "GASODEM", "GASODEMIR": "GASODEM", "GASODEMIS": "GASODEM", "GASODEMIT": "GASODEM", "GASODEMJM": "GASODEM", "GASODEMJP": "GASODEM", "GASODEMKR": "GASODEM", "GASODEMKW": "GASODEM", "GASODEMKZ": "GASODEM", "GASODEMLT": "GASODEM", "GASODEMLU": "GASODEM", "GASODEMLV": "GASODEM", "GASODEMLY": "GASODEM", "GASODEMMA": "GASODEM", "GASODEMMD": "GASODEM", "GASODEMMK": "GASODEM", "GASODEMMM": "GASODEM", "GASODEMMT": "GASODEM", "GASODEMMU": "GASODEM", "GASODEMMX": "GASODEM", "GASODEMMY": "GASODEM", "GASODEMNE": "GASODEM", "GASODEMNG": "GASODEM", "GASODEMNI": "GASODEM", "GASODEMNL": "GASODEM", "GASODEMNO": "GASODEM", "GASODEMNP": "GASODEM", "GASODEMNZ": "GASODEM", "GASODEMOM": "GASODEM", "GASODEMPA": "GASODEM", "GASODEMPE": "GASODEM", "GASODEMPG": "GASODEM", "GASODEMPH": "GASODEM", "GASODEMPL": "GASODEM", "GASODEMPT": "GASODEM", "GASODEMPY": "GASODEM", "GASODEMQA": "GASODEM", "GASODEMRO": "GASODEM", "GASODEMRU": "GASODEM", "GASODEMSA": "GASODEM", "GASODEMSD": "GASODEM", "GASODEMSE": "GASODEM", "GASODEMSG": "GASODEM", "GASODEMSI": "GASODEM", "GASODEMSK": "GASODEM", "GASODEMSR": "GASODEM", "GASODEMSV": "GASODEM", "GASODEMSY": "GASODEM", "GASODEMSZ": "GASODEM", "GASODEMTH": "GASODEM", "GASODEMTJ": "GASODEM", "GASODEMTN": "GASODEM", "GASODEMTR": "GASODEM", "GASODEMTT": "GASODEM", "GASODEMTW": "GASODEM", "GASODEMUA": "GASODEM", "GASODEMUK": "GASODEM", "GASODEMUS": "GASODEM", "GASODEMUY": "GASODEM", "GASODEMVE": "GASODEM", "GASODEMVN": "GASODEM", "GASODEMYE": "GASODEM", "GASODEMZA": "GASODEM", "GASOPRODAE": "GASOPROD", "GASOPRODAL": "GASOPROD", "GASOPRODAM": "GASOPROD", "GASOPRODAO": "GASOPROD", "GASOPRODAR": "GASOPROD", "GASOPRODAT": "GASOPROD", "GASOPRODAU": "GASOPROD", "GASOPRODAZ": "GASOPROD", "GASOPRODBB": "GASOPROD", "GASOPRODBD": "GASOPROD", "GASOPRODBE": "GASOPROD", "GASOPRODBG": "GASOPROD", "GASOPRODBH": "GASOPROD", "GASOPRODBM": "GASOPROD", "GASOPRODBN": "GASOPROD", "GASOPRODBO": "GASOPROD", "GASOPRODBR": "GASOPROD", "GASOPRODBY": "GASOPROD", "GASOPRODBZ": "GASOPROD", "GASOPRODCA": "GASOPROD", "GASOPRODCH": "GASOPROD", "GASOPRODCL": "GASOPROD", "GASOPRODCN": "GASOPROD", "GASOPRODCO": "GASOPROD", "GASOPRODCR": "GASOPROD", "GASOPRODCU": "GASOPROD", "GASOPRODCY": "GASOPROD", "GASOPRODCZ": "GASOPROD", "GASOPRODDE": "GASOPROD", "GASOPRODDK": "GASOPROD", "GASOPRODDO": "GASOPROD", "GASOPRODDZ": "GASOPROD", "GASOPRODEC": "GASOPROD", "GASOPRODEE": "GASOPROD", "GASOPRODEG": "GASOPROD", "GASOPRODES": "GASOPROD", "GASOPRODFI": "GASOPROD", "GASOPRODFR": "GASOPROD", "GASOPRODGA": "GASOPROD", "GASOPRODGD": "GASOPROD", "GASOPRODGE": "GASOPROD", "GASOPRODGM": "GASOPROD", "GASOPRODGQ": "GASOPROD", "GASOPRODGR": "GASOPROD", "GASOPRODGT": "GASOPROD", "GASOPRODGY": "GASOPROD", "GASOPRODHK": "GASOPROD", "GASOPRODHN": "GASOPROD", "GASOPRODHR": "GASOPROD", "GASOPRODHT": "GASOPROD", "GASOPRODHU": "GASOPROD", "GASOPRODID": "GASOPROD", "GASOPRODIE": "GASOPROD", "GASOPRODIN": "GASOPROD", "GASOPRODIQ": "GASOPROD", "GASOPRODIR": "GASOPROD", "GASOPRODIS": "GASOPROD", "GASOPRODIT": "GASOPROD", "GASOPRODJM": "GASOPROD", "GASOPRODJP": "GASOPROD", "GASOPRODKR": "GASOPROD", "GASOPRODKW": "GASOPROD", "GASOPRODKZ": "GASOPROD", "GASOPRODLT": "GASOPROD", "GASOPRODLU": "GASOPROD", "GASOPRODLV": "GASOPROD", "GASOPRODLY": "GASOPROD", "GASOPRODMA": "GASOPROD", "GASOPRODMD": "GASOPROD", "GASOPRODMK": "GASOPROD", "GASOPRODMM": "GASOPROD", "GASOPRODMT": "GASOPROD", "GASOPRODMU": "GASOPROD", "GASOPRODMX": "GASOPROD", "GASOPRODMY": "GASOPROD", "GASOPRODNE": "GASOPROD", "GASOPRODNG": "GASOPROD", "GASOPRODNI": "GASOPROD", "GASOPRODNL": "GASOPROD", "GASOPRODNO": "GASOPROD", "GASOPRODNP": "GASOPROD", "GASOPRODNZ": "GASOPROD", "GASOPRODOM": "GASOPROD", "GASOPRODPA": "GASOPROD", "GASOPRODPE": "GASOPROD", "GASOPRODPG": "GASOPROD", "GASOPRODPH": "GASOPROD", "GASOPRODPL": "GASOPROD", "GASOPRODPT": "GASOPROD", "GASOPRODPY": "GASOPROD", "GASOPRODQA": "GASOPROD", "GASOPRODRO": "GASOPROD", "GASOPRODRU": "GASOPROD", "GASOPRODSA": "GASOPROD", "GASOPRODSD": "GASOPROD", "GASOPRODSE": "GASOPROD", "GASOPRODSG": "GASOPROD", "GASOPRODSI": "GASOPROD", "GASOPRODSK": "GASOPROD", "GASOPRODSR": "GASOPROD", "GASOPRODSV": "GASOPROD", "GASOPRODSY": "GASOPROD", "GASOPRODSZ": "GASOPROD", "GASOPRODTH": "GASOPROD", "GASOPRODTJ": "GASOPROD", "GASOPRODTN": "GASOPROD", "GASOPRODTR": "GASOPROD", "GASOPRODTT": "GASOPROD", "GASOPRODTW": "GASOPROD", "GASOPRODUA": "GASOPROD", "GASOPRODUK": "GASOPROD", "GASOPRODUS": "GASOPROD", "GASOPRODUY": "GASOPROD", "GASOPRODVE": "GASOPROD", "GASOPRODVN": "GASOPROD", "GASOPRODYE": "GASOPROD", "GASOPRODZA": "GASOPROD", "GASPRODAL": "GASPROD", "GASPRODAT": "GASPROD", "GASPRODAU": "GASPROD", "GASPRODAZ": "GASPROD", "GASPRODBE": "GASPROD", "GASPRODBG": "GASPROD", "GASPRODBH": "GASPROD", "GASPRODBN": "GASPROD", "GASPRODBO": "GASPROD", "GASPRODBY": "GASPROD", "GASPRODCA": "GASPROD", "GASPRODCH": "GASPROD", "GASPRODCL": "GASPROD", "GASPRODCN": "GASPROD", "GASPRODCZ": "GASPROD", "GASPRODDE": "GASPROD", "GASPRODDK": "GASPROD", "GASPRODDZ": "GASPROD", "GASPRODEC": "GASPROD", "GASPRODEE": "GASPROD", "GASPRODEG": "GASPROD", "GASPRODES": "GASPROD", "GASPRODFI": "GASPROD", "GASPRODFR": "GASPROD", "GASPRODGA": "GASPROD", "GASPRODGE": "GASPROD", "GASPRODGQ": "GASPROD", "GASPRODGR": "GASPROD", "GASPRODHK": "GASPROD", "GASPRODHR": "GASPROD", "GASPRODHU": "GASPROD", "GASPRODID": "GASPROD", "GASPRODIE": "GASPROD", "GASPRODIN": "GASPROD", "GASPRODIQ": "GASPROD", "GASPRODIT": "GASPROD", "GASPRODJP": "GASPROD", "GASPRODKR": "GASPROD", "GASPRODKW": "GASPROD", "GASPRODKZ": "GASPROD", "GASPRODLT": "GASPROD", "GASPRODLU": "GASPROD", "GASPRODLV": "GASPROD", "GASPRODLY": "GASPROD", "GASPRODMA": "GASPROD", "GASPRODMD": "GASPROD", "GASPRODMK": "GASPROD", "GASPRODMT": "GASPROD", "GASPRODMX": "GASPROD", "GASPRODMY": "GASPROD", "GASPRODNG": "GASPROD", "GASPRODNL": "GASPROD", "GASPRODNO": "GASPROD", "GASPRODNZ": "GASPROD", "GASPRODPE": "GASPROD", "GASPRODPG": "GASPROD", "GASPRODPH": "GASPROD", "GASPRODPL": "GASPROD", "GASPRODPT": "GASPROD", "GASPRODQA": "GASPROD", "GASPRODRO": "GASPROD", "GASPRODRU": "GASPROD", "GASPRODSE": "GASPROD", "GASPRODSG": "GASPROD", "GASPRODSI": "GASPROD", "GASPRODSK": "GASPROD", "GASPRODTH": "GASPROD", "GASPRODTN": "GASPROD", "GASPRODTR": "GASPROD", "GASPRODTT": "GASPROD", "GASPRODTW": "GASPROD", "GASPRODUA": "GASPROD", "GASPRODUK": "GASPROD", "GASPRODUS": "GASPROD", "GASPRODVE": "GASPROD", "GASPRODVN": "GASPROD", "GASPRODZA": "GASPROD", "GBALAR": "GBAL", "GBALAT": "GBAL", "GBALAU": "GBAL", "GBALAZ": "GBAL", "GBALBD": "GBAL", "GBALBE": "GBAL", "GBALBG": "GBAL", "GBALBR": "GBAL", "GBALCA": "GBAL", "GBALCH": "GBAL", "GBALCN": "GBAL", "GBALCO": "GBAL", "GBALCR": "GBAL", "GBALCY": "GBAL", "GBALCZ": "GBAL", "GBALDE": "GBAL", "GBALDK": "GBAL", "GBALEE": "GBAL", "GBALES": "GBAL", "GBALEU": "GBAL", "GBALFI": "GBAL", "GBALFR": "GBAL", "GBALGR": "GBAL", "GBALHK": "GBAL", "GBALHR": "GBAL", "GBALHU": "GBAL", "GBALID": "GBAL", "GBALIE": "GBAL", "GBALIL": "GBAL", "GBALIN": "GBAL", "GBALIS": "GBAL", "GBALIT": "GBAL", "GBALJP": "GBAL", "GBALKH": "GBAL", "GBALKR": "GBAL", "GBALKZ": "GBAL", "GBALLT": "GBAL", "GBALLU": "GBAL", "GBALLV": "GBAL", "GBALMO": "GBAL", "GBALMT": "GBAL", "GBALMX": "GBAL", "GBALMY": "GBAL", "GBALNL": "GBAL", "GBALNO": "GBAL", "GBALPE": "GBAL", "GBALPH": "GBAL", "GBALPL": "GBAL", "GBALPT": "GBAL", "GBALRO": "GBAL", "GBALRU": "GBAL", "GBALSA": "GBAL", "GBALSE": "GBAL", "GBALSG": "GBAL", "GBALSI": "GBAL", "GBALSK": "GBAL", "GBALTH": "GBAL", "GBALTR": "GBAL", "GBALTW": "GBAL", "GBALUA": "GBAL", "GBALUK": "GBAL", "GBALUS": "GBAL", "GBALZA": "GBAL", "GCFAT": "GCF", "GCFBE": "GCF", "GCFBG": "GCF", "GCFBR": "GCF", "GCFBY": "GCF", "GCFCH": "GCF", "GCFCN": "GCF", "GCFCY": "GCF", "GCFCZ": "GCF", "GCFDE": "GCF", "GCFDK": "GCF", "GCFEA": "GCF", "GCFEE": "GCF", "GCFES": "GCF", "GCFEU": "GCF", "GCFFI": "GCF", "GCFFR": "GCF", "GCFGR": "GCF", "GCFHR": "GCF", "GCFHU": "GCF", "GCFIE": "GCF", "GCFIT": "GCF", "GCFKR": "GCF", "GCFLT": "GCF", "GCFLU": "GCF", "GCFLV": "GCF", "GCFME": "GCF", "GCFMK": "GCF", "GCFMT": "GCF", "GCFNL": "GCF", "GCFNO": "GCF", "GCFNZ": "GCF", "GCFPE": "GCF", "GCFPL": "GCF", "GCFPT": "GCF", "GCFQA": "GCF", "GCFRO": "GCF", "GCFRS": "GCF", "GCFRU": "GCF", "GCFSE": "GCF", "GCFSI": "GCF", "GCFSK": "GCF", "GCFTH": "GCF", "GCFUA": "GCF", "GCFUK": "GCF", "GDEBTAR": "GDEBT", "GDEBTAT": "GDEBT", "GDEBTAU": "GDEBT", "GDEBTBE": "GDEBT", "GDEBTBG": "GDEBT", "GDEBTBR": "GDEBT", "GDEBTCA": "GDEBT", "GDEBTCL": "GDEBT", "GDEBTCN": "GDEBT", "GDEBTCO": "GDEBT", "GDEBTCR": "GDEBT", "GDEBTCY": "GDEBT", "GDEBTCZ": "GDEBT", "GDEBTDE": "GDEBT", "GDEBTDK": "GDEBT", "GDEBTEE": "GDEBT", "GDEBTES": "GDEBT", "GDEBTEU": "GDEBT", "GDEBTFI": "GDEBT", "GDEBTFR": "GDEBT", "GDEBTGR": "GDEBT", "GDEBTHK": "GDEBT", "GDEBTHR": "GDEBT", "GDEBTHU": "GDEBT", "GDEBTID": "GDEBT", "GDEBTIE": "GDEBT", "GDEBTIL": "GDEBT", "GDEBTIN": "GDEBT", "GDEBTIT": "GDEBT", "GDEBTJO": "GDEBT", "GDEBTJP": "GDEBT", "GDEBTKR": "GDEBT", "GDEBTKZ": "GDEBT", "GDEBTLT": "GDEBT", "GDEBTLU": "GDEBT", "GDEBTLV": "GDEBT", "GDEBTMT": "GDEBT", "GDEBTMX": "GDEBT", "GDEBTMY": "GDEBT", "GDEBTNAT": "GDEBTN", "GDEBTNBE": "GDEBTN", "GDEBTNBG": "GDEBTN", "GDEBTNCY": "GDEBTN", "GDEBTNCZ": "GDEBTN", "GDEBTNDE": "GDEBTN", "GDEBTNDK": "GDEBTN", "GDEBTNEE": "GDEBTN", "GDEBTNES": "GDEBTN", "GDEBTNEU": "GDEBTN", "GDEBTNFI": "GDEBTN", "GDEBTNFR": "GDEBTN", "GDEBTNGR": "GDEBTN", "GDEBTNHR": "GDEBTN", "GDEBTNHU": "GDEBTN", "GDEBTNIE": "GDEBTN", "GDEBTNIT": "GDEBTN", "GDEBTNL": "GDEBT", "GDEBTNLT": "GDEBTN", "GDEBTNLU": "GDEBTN", "GDEBTNLV": "GDEBTN", "GDEBTNMT": "GDEBTN", "GDEBTNNL": "GDEBTN", "GDEBTNNO": "GDEBTN", "GDEBTNO": "GDEBT", "GDEBTNPL": "GDEBTN", "GDEBTNPT": "GDEBTN", "GDEBTNRO": "GDEBTN", "GDEBTNSE": "GDEBTN", "GDEBTNSI": "GDEBTN", "GDEBTNSK": "GDEBTN", "GDEBTNUK": "GDEBTN", "GDEBTPH": "GDEBT", "GDEBTPK": "GDEBT", "GDEBTPL": "GDEBT", "GDEBTPT": "GDEBT", "GDEBTQA": "GDEBT", "GDEBTRO": "GDEBT", "GDEBTRU": "GDEBT", "GDEBTSA": "GDEBT", "GDEBTSE": "GDEBT", "GDEBTSG": "GDEBT", "GDEBTSI": "GDEBT", "GDEBTSK": "GDEBT", "GDEBTSV": "GDEBT", "GDEBTTH": "GDEBT", "GDEBTTR": "GDEBT", "GDEBTTW": "GDEBT", "GDEBTUK": "GDEBT", "GDEBTUS": "GDEBT", "GDEBTZA": "GDEBT", "GDPAE": "GDP", "GDPAL": "GDP", "GDPAR": "GDP", "GDPAT": "GDP", "GDPAU": "GDP", "GDPAZ": "GDP", "GDPBD": "GDP", "GDPBE": "GDP", "GDPBG": "GDP", "GDPBR": "GDP", "GDPBW": "GDP", "GDPBY": "GDP", "GDPCA": "GDP", "GDPCH": "GDP", "GDPCL": "GDP", "GDPCM": "GDP", "GDPCN": "GDP", "GDPCO": "GDP", "GDPCR": "GDP", "GDPCY": "GDP", "GDPCZ": "GDP", "GDPDE": "GDP", "GDPDEFLK": "GDPDEF", "GDPDK": "GDP", "GDPEA": "GDP", "GDPEE": "GDP", "GDPEG": "GDP", "GDPES": "GDP", "GDPEU": "GDP", "GDPFI": "GDP", "GDPFR": "GDP", "GDPGR": "GDP", "GDPHK": "GDP", "GDPHN": "GDP", "GDPHR": "GDP", "GDPHU": "GDP", "GDPID": "GDP", "GDPIE": "GDP", "GDPIL": "GDP", "GDPIN": "GDP", "GDPIR": "GDP", "GDPIT": "GDP", "GDPJO": "GDP", "GDPJP": "GDP", "GDPKH": "GDP", "GDPKR": "GDP", "GDPKZ": "GDP", "GDPLA": "GDP", "GDPLT": "GDP", "GDPLU": "GDP", "GDPLV": "GDP", "GDPMA": "GDP", "GDPME": "GDP", "GDPMK": "GDP", "GDPMO": "GDP", "GDPMT": "GDP", "GDPMX": "GDP", "GDPMY": "GDP", "GDPNG": "GDP", "GDPNL": "GDP", "GDPNO": "GDP", "GDPNZ": "GDP", "GDPPA": "GDP", "GDPPCAL": "GDPPC", "GDPPCAT": "GDPPC", "GDPPCAU": "GDPPC", "GDPPCBE": "GDPPC", "GDPPCBG": "GDPPC", "GDPPCBR": "GDPPC", "GDPPCCH": "GDPPC", "GDPPCCN": "GDPPC", "GDPPCCY": "GDPPC", "GDPPCCZ": "GDPPC", "GDPPCDE": "GDPPC", "GDPPCDK": "GDPPC", "GDPPCEA": "GDPPC", "GDPPCEE": "GDPPC", "GDPPCES": "GDPPC", "GDPPCEU": "GDPPC", "GDPPCFI": "GDPPC", "GDPPCFR": "GDPPC", "GDPPCGR": "GDPPC", "GDPPCHR": "GDPPC", "GDPPCHU": "GDPPC", "GDPPCIE": "GDPPC", "GDPPCIS": "GDPPC", "GDPPCIT": "GDPPC", "GDPPCKH": "GDPPC", "GDPPCKZ": "GDPPC", "GDPPCLI": "GDPPC", "GDPPCLT": "GDPPC", "GDPPCLU": "GDPPC", "GDPPCLV": "GDPPC", "GDPPCME": "GDPPC", "GDPPCMK": "GDPPC", "GDPPCMT": "GDPPC", "GDPPCNL": "GDPPC", "GDPPCNO": "GDPPC", "GDPPCNZ": "GDPPC", "GDPPCPL": "GDPPC", "GDPPCPT": "GDPPC", "GDPPCRO": "GDPPC", "GDPPCRS": "GDPPC", "GDPPCSE": "GDPPC", "GDPPCSG": "GDPPC", "GDPPCSI": "GDPPC", "GDPPCSK": "GDPPC", "GDPPCTR": "GDPPC", "GDPPCTW": "GDPPC", "GDPPCUS": "GDPPC", "GDPPE": "GDP", "GDPPH": "GDP", "GDPPK": "GDP", "GDPPL": "GDP", "GDPPT": "GDP", "GDPQA": "GDP", "GDPRO": "GDP", "GDPRS": "GDP", "GDPRU": "GDP", "GDPRW": "GDP", "GDPSA": "GDP", "GDPSE": "GDP", "GDPSG": "GDP", "GDPSI": "GDP", "GDPSK": "GDP", "GDPSV": "GDP", "GDPTH": "GDP", "GDPTN": "GDP", "GDPTR": "GDP", "GDPTW": "GDP", "GDPUA": "GDP", "GDPUK": "GDP", "GDPUS": "GDP", "GDPUZ": "GDP", "GDPVN": "GDP", "GDPZA": "GDP", "GFCFAE": "GFCF", "GFCFAL": "GFCF", "GFCFAR": "GFCF", "GFCFAT": "GFCF", "GFCFAU": "GFCF", "GFCFAZ": "GFCF", "GFCFBD": "GFCF", "GFCFBE": "GFCF", "GFCFBG": "GFCF", "GFCFBR": "GFCF", "GFCFBW": "GFCF", "GFCFBY": "GFCF", "GFCFCA": "GFCF", "GFCFCH": "GFCF", "GFCFCL": "GFCF", "GFCFCM": "GFCF", "GFCFCN": "GFCF", "GFCFCO": "GFCF", "GFCFCY": "GFCF", "GFCFCZ": "GFCF", "GFCFDE": "GFCF", "GFCFDK": "GFCF", "GFCFEA": "GFCF", "GFCFEE": "GFCF", "GFCFES": "GFCF", "GFCFEU": "GFCF", "GFCFFI": "GFCF", "GFCFFR": "GFCF", "GFCFGR": "GFCF", "GFCFHK": "GFCF", "GFCFHR": "GFCF", "GFCFHU": "GFCF", "GFCFID": "GFCF", "GFCFIE": "GFCF", "GFCFIL": "GFCF", "GFCFIN": "GFCF", "GFCFIR": "GFCF", "GFCFIT": "GFCF", "GFCFJP": "GFCF", "GFCFKR": "GFCF", "GFCFKZ": "GFCF", "GFCFLT": "GFCF", "GFCFLU": "GFCF", "GFCFLV": "GFCF", "GFCFMA": "GFCF", "GFCFME": "GFCF", "GFCFMN": "GFCF", "GFCFMT": "GFCF", "GFCFMX": "GFCF", "GFCFMY": "GFCF", "GFCFNG": "GFCF", "GFCFNL": "GFCF", "GFCFNO": "GFCF", "GFCFNZ": "GFCF", "GFCFPH": "GFCF", "GFCFPK": "GFCF", "GFCFPL": "GFCF", "GFCFPT": "GFCF", "GFCFRO": "GFCF", "GFCFRS": "GFCF", "GFCFRU": "GFCF", "GFCFSA": "GFCF", "GFCFSE": "GFCF", "GFCFSG": "GFCF", "GFCFSI": "GFCF", "GFCFSK": "GFCF", "GFCFTH": "GFCF", "GFCFTR": "GFCF", "GFCFTW": "GFCF", "GFCFUA": "GFCF", "GFCFUK": "GFCF", "GFCFUS": "GFCF", "GFCFUZ": "GFCF", "GFCFVN": "GFCF", "GFCFZA": "GFCF", "GREVAR": "GREV", "GREVAT": "GREV", "GREVAU": "GREV", "GREVAZ": "GREV", "GREVBD": "GREV", "GREVBE": "GREV", "GREVBG": "GREV", "GREVBR": "GREV", "GREVCA": "GREV", "GREVCH": "GREV", "GREVCN": "GREV", "GREVCO": "GREV", "GREVCR": "GREV", "GREVCY": "GREV", "GREVCZ": "GREV", "GREVDE": "GREV", "GREVDK": "GREV", "GREVEE": "GREV", "GREVES": "GREV", "GREVEU": "GREV", "GREVFI": "GREV", "GREVFR": "GREV", "GREVHK": "GREV", "GREVHR": "GREV", "GREVHU": "GREV", "GREVID": "GREV", "GREVIE": "GREV", "GREVIL": "GREV", "GREVIN": "GREV", "GREVJP": "GREV", "GREVKH": "GREV", "GREVKR": "GREV", "GREVKZ": "GREV", "GREVLT": "GREV", "GREVLU": "GREV", "GREVLV": "GREV", "GREVMA": "GREV", "GREVMO": "GREV", "GREVMT": "GREV", "GREVMX": "GREV", "GREVMY": "GREV", "GREVNL": "GREV", "GREVPE": "GREV", "GREVPH": "GREV", "GREVPL": "GREV", "GREVPT": "GREV", "GREVRO": "GREV", "GREVRU": "GREV", "GREVSA": "GREV", "GREVSE": "GREV", "GREVSG": "GREV", "GREVSI": "GREV", "GREVSK": "GREV", "GREVSV": "GREV", "GREVTH": "GREV", "GREVTR": "GREV", "GREVTW": "GREV", "GREVUA": "GREV", "GREVUK": "GREV", "GREVUS": "GREV", "GREVUY": "GREV", "GREVVN": "GREV", "GREVZA": "GREV", "GSPEAR": "GSPE", "GSPEAT": "GSPE", "GSPEAU": "GSPE", "GSPEAZ": "GSPE", "GSPEBD": "GSPE", "GSPEBE": "GSPE", "GSPEBG": "GSPE", "GSPEBR": "GSPE", "GSPECA": "GSPE", "GSPECH": "GSPE", "GSPECN": "GSPE", "GSPECO": "GSPE", "GSPECR": "GSPE", "GSPECY": "GSPE", "GSPECZ": "GSPE", "GSPEDE": "GSPE", "GSPEDK": "GSPE", "GSPEEE": "GSPE", "GSPEES": "GSPE", "GSPEEU": "GSPE", "GSPEFI": "GSPE", "GSPEFR": "GSPE", "GSPEHK": "GSPE", "GSPEHR": "GSPE", "GSPEHU": "GSPE", "GSPEID": "GSPE", "GSPEIE": "GSPE", "GSPEIL": "GSPE", "GSPEIN": "GSPE", "GSPEJP": "GSPE", "GSPEKH": "GSPE", "GSPEKR": "GSPE", "GSPEKZ": "GSPE", "GSPELT": "GSPE", "GSPELU": "GSPE", "GSPELV": "GSPE", "GSPEMO": "GSPE", "GSPEMT": "GSPE", "GSPEMX": "GSPE", "GSPEMY": "GSPE", "GSPENL": "GSPE", "GSPEPE": "GSPE", "GSPEPH": "GSPE", "GSPEPL": "GSPE", "GSPEPT": "GSPE", "GSPERO": "GSPE", "GSPERU": "GSPE", "GSPESA": "GSPE", "GSPESE": "GSPE", "GSPESG": "GSPE", "GSPESI": "GSPE", "GSPESK": "GSPE", "GSPETH": "GSPE", "GSPETR": "GSPE", "GSPETW": "GSPE", "GSPEUA": "GSPE", "GSPEUK": "GSPE", "GSPEUS": "GSPE", "GSPEUY": "GSPE", "GSPEVN": "GSPE", "GSPEZA": "GSPE", "HHDIRAT": "HHDIR", "HHDIRBE": "HHDIR", "HHDIRCH": "HHDIR", "HHDIRCY": "HHDIR", "HHDIRCZ": "HHDIR", "HHDIRDE": "HHDIR", "HHDIRDK": "HHDIR", "HHDIREE": "HHDIR", "HHDIRES": "HHDIR", "HHDIRFI": "HHDIR", "HHDIRFR": "HHDIR", "HHDIRGR": "HHDIR", "HHDIRHR": "HHDIR", "HHDIRHU": "HHDIR", "HHDIRIE": "HHDIR", "HHDIRIT": "HHDIR", "HHDIRLT": "HHDIR", "HHDIRLU": "HHDIR", "HHDIRLV": "HHDIR", "HHDIRNL": "HHDIR", "HHDIRNO": "HHDIR", "HHDIRPL": "HHDIR", "HHDIRPT": "HHDIR", "HHDIRSE": "HHDIR", "HHDIRSI": "HHDIR", "HHDIRSK": "HHDIR", "HHDIRTR": "HHDIR", "HHSAT": "HHS", "HHSBE": "HHS", "HHSCN": "HHS", "HHSCZ": "HHS", "HHSDE": "HHS", "HHSDK": "HHS", "HHSES": "HHS", "HHSEU": "HHS", "HHSFI": "HHS", "HHSFR": "HHS", "HHSGR": "HHS", "HHSHU": "HHS", "HHSIE": "HHS", "HHSIT": "HHS", "HHSNL": "HHS", "HHSNO": "HHS", "HHSPL": "HHS", "HHSPT": "HHS", "HHSRO": "HHS", "HHSSE": "HHS", "HHSSI": "HHS", "HHSUK": "HHS", "HOU5R": "HOU", "HOUAE": "HOU", "HOUAT": "HOU", "HOUAU": "HOU", "HOUBE": "HOU", "HOUBG": "HOU", "HOUBR": "HOU", "HOUCA": "HOU", "HOUCH": "HOU", "HOUCL": "HOU", "HOUCN": "HOU", "HOUCO": "HOU", "HOUCY": "HOU", "HOUCZ": "HOU", "HOUDE": "HOU", "HOUDK": "HOU", "HOUEA": "HOU", "HOUEE": "HOU", "HOUES": "HOU", "HOUEU": "HOU", "HOUFI": "HOU", "HOUFR": "HOU", "HOUGR": "HOU", "HOUHK": "HOU", "HOUHR": "HOU", "HOUHU": "HOU", "HOUID": "HOU", "HOUIE": "HOU", "HOUIL": "HOU", "HOUIN": "HOU", "HOUIS": "HOU", "HOUIT": "HOU", "HOUJP": "HOU", "HOUKR": "HOU", "HOULT": "HOU", "HOULU": "HOU", "HOULV": "HOU", "HOUMA": "HOU", "HOUMK": "HOU", "HOUMT": "HOU", "HOUMX": "HOU", "HOUMY": "HOU", "HOUNL": "HOU", "HOUNO": "HOU", "HOUNZ": "HOU", "HOUPE": "HOU", "HOUPH": "HOU", "HOUPL": "HOU", "HOUPT": "HOU", "HOURO": "HOU", "HOURU": "HOU", "HOUSE": "HOU", "HOUSG": "HOU", "HOUSI": "HOU", "HOUSK": "HOU", "HOUTH": "HOU", "HOUTR": "HOU", "HOUUK": "HOU", "HOUUS": "HOU", "HOUXW": "HOU", "HOUZA": "HOU", "IBD1AU": "IBD1", "IBD1BG": "IBD1", "IBD1CL": "IBD1", "IBD1CO": "IBD1", "IBD1CZ": "IBD1", "IBD1DK": "IBD1", "IBD1EA": "IBD1", "IBD1HR": "IBD1", "IBD1HU": "IBD1", "IBD1KR": "IBD1", "IBD1MX": "IBD1", "IBD1NZ": "IBD1", "IBD1PL": "IBD1", "IBD1PY": "IBD1", "IBD1RO": "IBD1", "IBD1RU": "IBD1", "IBD1SE": "IBD1", "IBD1SG": "IBD1", "IBD1TH": "IBD1", "IBD1TR": "IBD1", "IBD1UA": "IBD1", "IBD1UK": "IBD1", "IIPAAL": "IIPA", "IIPAAR": "IIPA", "IIPAAT": "IIPA", "IIPAAU": "IIPA", "IIPABA": "IIPA", "IIPABD": "IIPA", "IIPABE": "IIPA", "IIPABG": "IIPA", "IIPABR": "IIPA", "IIPACA": "IIPA", "IIPACH": "IIPA", "IIPACL": "IIPA", "IIPACN": "IIPA", "IIPACO": "IIPA", "IIPACY": "IIPA", "IIPACZ": "IIPA", "IIPADE": "IIPA", "IIPADK": "IIPA", "IIPAEE": "IIPA", "IIPAEG": "IIPA", "IIPAES": "IIPA", "IIPAFI": "IIPA", "IIPAFR": "IIPA", "IIPAGR": "IIPA", "IIPAHK": "IIPA", "IIPAHR": "IIPA", "IIPAHU": "IIPA", "IIPAID": "IIPA", "IIPAIE": "IIPA", "IIPAIL": "IIPA", "IIPAIN": "IIPA", "IIPAIS": "IIPA", "IIPAIT": "IIPA", "IIPAJP": "IIPA", "IIPAKH": "IIPA", "IIPAKR": "IIPA", "IIPALT": "IIPA", "IIPALU": "IIPA", "IIPALV": "IIPA", "IIPAMT": "IIPA", "IIPAMX": "IIPA", "IIPAMY": "IIPA", "IIPANL": "IIPA", "IIPANO": "IIPA", "IIPANP": "IIPA", "IIPAPH": "IIPA", "IIPAPK": "IIPA", "IIPAPL": "IIPA", "IIPAPT": "IIPA", "IIPARO": "IIPA", "IIPARU": "IIPA", "IIPASA": "IIPA", "IIPASE": "IIPA", "IIPASG": "IIPA", "IIPASI": "IIPA", "IIPASK": "IIPA", "IIPATH": "IIPA", "IIPATR": "IIPA", "IIPATW": "IIPA", "IIPAUK": "IIPA", "IIPAUS": "IIPA", "IIPAXK": "IIPA", "IIPAZA": "IIPA", "IIPLAL": "IIPL", "IIPLAR": "IIPL", "IIPLAT": "IIPL", "IIPLAU": "IIPL", "IIPLBA": "IIPL", "IIPLBD": "IIPL", "IIPLBE": "IIPL", "IIPLBG": "IIPL", "IIPLBR": "IIPL", "IIPLCA": "IIPL", "IIPLCH": "IIPL", "IIPLCL": "IIPL", "IIPLCN": "IIPL", "IIPLCO": "IIPL", "IIPLCY": "IIPL", "IIPLCZ": "IIPL", "IIPLDE": "IIPL", "IIPLDK": "IIPL", "IIPLEE": "IIPL", "IIPLEG": "IIPL", "IIPLES": "IIPL", "IIPLFI": "IIPL", "IIPLFR": "IIPL", "IIPLGR": "IIPL", "IIPLHK": "IIPL", "IIPLHR": "IIPL", "IIPLHU": "IIPL", "IIPLID": "IIPL", "IIPLIE": "IIPL", "IIPLIL": "IIPL", "IIPLIN": "IIPL", "IIPLIS": "IIPL", "IIPLIT": "IIPL", "IIPLJP": "IIPL", "IIPLKH": "IIPL", "IIPLKR": "IIPL", "IIPLLT": "IIPL", "IIPLLU": "IIPL", "IIPLLV": "IIPL", "IIPLMT": "IIPL", "IIPLMX": "IIPL", "IIPLMY": "IIPL", "IIPLNL": "IIPL", "IIPLNO": "IIPL", "IIPLNP": "IIPL", "IIPLPH": "IIPL", "IIPLPK": "IIPL", "IIPLPL": "IIPL", "IIPLPT": "IIPL", "IIPLRO": "IIPL", "IIPLRU": "IIPL", "IIPLSA": "IIPL", "IIPLSE": "IIPL", "IIPLSG": "IIPL", "IIPLSI": "IIPL", "IIPLSK": "IIPL", "IIPLTH": "IIPL", "IIPLTR": "IIPL", "IIPLTW": "IIPL", "IIPLUK": "IIPL", "IIPLUS": "IIPL", "IIPLXK": "IIPL", "IIPLZA": "IIPL", "IMPAE": "IMP", "IMPAL": "IMP", "IMPAR": "IMP", "IMPAT": "IMP", "IMPAU": "IMP", "IMPAZ": "IMP", "IMPBD": "IMP", "IMPBE": "IMP", "IMPBG": "IMP", "IMPBR": "IMP", "IMPBW": "IMP", "IMPBY": "IMP", "IMPCA": "IMP", "IMPCH": "IMP", "IMPCL": "IMP", "IMPCM": "IMP", "IMPCN": "IMP", "IMPCO": "IMP", "IMPCY": "IMP", "IMPCZ": "IMP", "IMPDE": "IMP", "IMPDK": "IMP", "IMPEA": "IMP", "IMPEE": "IMP", "IMPES": "IMP", "IMPEU": "IMP", "IMPFI": "IMP", "IMPFR": "IMP", "IMPGR": "IMP", "IMPHK": "IMP", "IMPHR": "IMP", "IMPHU": "IMP", "IMPID": "IMP", "IMPIE": "IMP", "IMPIL": "IMP", "IMPIN": "IMP", "IMPIR": "IMP", "IMPIT": "IMP", "IMPJO": "IMP", "IMPJP": "IMP", "IMPKR": "IMP", "IMPKZ": "IMP", "IMPLT": "IMP", "IMPLU": "IMP", "IMPLV": "IMP", "IMPMA": "IMP", "IMPME": "IMP", "IMPMK": "IMP", "IMPMN": "IMP", "IMPMONAR": "IMPMON", "IMPMONAU": "IMPMON", "IMPMONBD": "IMPMON", "IMPMONBE": "IMPMON", "IMPMONBG": "IMPMON", "IMPMONBR": "IMPMON", "IMPMONCA": "IMPMON", "IMPMONCL": "IMPMON", "IMPMONCN": "IMPMON", "IMPMONCO": "IMPMON", "IMPMONCR": "IMPMON", "IMPMONCZ": "IMPMON", "IMPMONDE": "IMPMON", "IMPMONDK": "IMPMON", "IMPMONEE": "IMPMON", "IMPMONEG": "IMPMON", "IMPMONES": "IMPMON", "IMPMONEU": "IMPMON", "IMPMONFI": "IMPMON", "IMPMONFR": "IMPMON", "IMPMONGR": "IMPMON", "IMPMONHK": "IMPMON", "IMPMONHR": "IMPMON", "IMPMONHU": "IMPMON", "IMPMONID": "IMPMON", "IMPMONIN": "IMPMON", "IMPMONIT": "IMPMON", "IMPMONJP": "IMPMON", "IMPMONKH": "IMPMON", "IMPMONKR": "IMPMON", "IMPMONKZ": "IMPMON", "IMPMONLT": "IMPMON", "IMPMONLU": "IMPMON", "IMPMONLV": "IMPMON", "IMPMONMK": "IMPMON", "IMPMONMT": "IMPMON", "IMPMONMX": "IMPMON", "IMPMONMY": "IMPMON", "IMPMONNL": "IMPMON", "IMPMONNP": "IMPMON", "IMPMONPH": "IMPMON", "IMPMONPK": "IMPMON", "IMPMONPL": "IMPMON", "IMPMONPT": "IMPMON", "IMPMONQA": "IMPMON", "IMPMONRO": "IMPMON", "IMPMONRS": "IMPMON", "IMPMONRU": "IMPMON", "IMPMONSA": "IMPMON", "IMPMONSE": "IMPMON", "IMPMONSG": "IMPMON", "IMPMONSI": "IMPMON", "IMPMONSK": "IMPMON", "IMPMONTH": "IMPMON", "IMPMONTR": "IMPMON", "IMPMONTW": "IMPMON", "IMPMONUA": "IMPMON", "IMPMONUK": "IMPMON", "IMPMONUS": "IMPMON", "IMPMONUY": "IMPMON", "IMPMONVN": "IMPMON", "IMPMONZA": "IMPMON", "IMPMT": "IMP", "IMPMX": "IMP", "IMPMY": "IMP", "IMPNG": "IMP", "IMPNL": "IMP", "IMPNO": "IMP", "IMPNZ": "IMP", "IMPPE": "IMP", "IMPPH": "IMP", "IMPPK": "IMP", "IMPPL": "IMP", "IMPPT": "IMP", "IMPQA": "IMP", "IMPRO": "IMP", "IMPRS": "IMP", "IMPRU": "IMP", "IMPRW": "IMP", "IMPSA": "IMP", "IMPSE": "IMP", "IMPSG": "IMP", "IMPSI": "IMP", "IMPSK": "IMP", "IMPSV": "IMP", "IMPTH": "IMP", "IMPTR": "IMP", "IMPTW": "IMP", "IMPUA": "IMP", "IMPUK": "IMP", "IMPUS": "IMP", "IMPZA": "IMP", "INVERAT": "INVER", "INVERBE": "INVER", "INVERCH": "INVER", "INVERCY": "INVER", "INVERCZ": "INVER", "INVERDE": "INVER", "INVERDK": "INVER", "INVEREE": "INVER", "INVERES": "INVER", "INVERFI": "INVER", "INVERFR": "INVER", "INVERGR": "INVER", "INVERHR": "INVER", "INVERHU": "INVER", "INVERIE": "INVER", "INVERIT": "INVER", "INVERLT": "INVER", "INVERLV": "INVER", "INVERNL": "INVER", "INVERNO": "INVER", "INVERPL": "INVER", "INVERPT": "INVER", "INVERRO": "INVER", "INVERSE": "INVER", "INVERSI": "INVER", "INVERSK": "INVER", "IPAR": "IP", "IPAT": "IP", "IPAU": "IP", "IPAZ": "IP", "IPBA": "IP", "IPBD": "IP", "IPBE": "IP", "IPBG": "IP", "IPBR": "IP", "IPBY": "IP", "IPCA": "IP", "IPCH": "IP", "IPCL": "IP", "IPCM": "IP", "IPCN": "IP", "IPCO": "IP", "IPCR": "IP", "IPCY": "IP", "IPCZ": "IP", "IPDE": "IP", "IPDK": "IP", "IPEE": "IP", "IPEG": "IP", "IPES": "IP", "IPEU": "IP", "IPFI": "IP", "IPFR": "IP", "IPGR": "IP", "IPHK": "IP", "IPHR": "IP", "IPHU": "IP", "IPID": "IP", "IPIE": "IP", "IPIL": "IP", "IPIN": "IP", "IPIT": "IP", "IPJO": "IP", "IPJP": "IP", "IPKR": "IP", "IPKZ": "IP", "IPLT": "IP", "IPLU": "IP", "IPLV": "IP", "IPMA": "IP", "IPME": "IP", "IPMK": "IP", "IPMT": "IP", "IPMX": "IP", "IPMY": "IP", "IPNL": "IP", "IPNO": "IP", "IPPA": "IP", "IPPH": "IP", "IPPK": "IP", "IPPL": "IP", "IPPT": "IP", "IPQA": "IP", "IPRO": "IP", "IPRS": "IP", "IPRU": "IP", "IPSA": "IP", "IPSE": "IP", "IPSG": "IP", "IPSI": "IP", "IPSK": "IP", "IPTH": "IP", "IPTR": "IP", "IPTW": "IP", "IPUA": "IP", "IPUK": "IP", "IPUS": "IP", "IPUY": "IP", "IPVN": "IP", "IPZA": "IP", "JHRUS": "JHR", "JLRUS": "JLR", "JQRUS": "JQR", "JVRAT": "JVR", "JVRBE": "JVR", "JVRBG": "JVR", "JVRCH": "JVR", "JVRCY": "JVR", "JVRCZ": "JVR", "JVRDE": "JVR", "JVREA": "JVR", "JVREE": "JVR", "JVRES": "JVR", "JVREU": "JVR", "JVRFI": "JVR", "JVRGR": "JVR", "JVRHR": "JVR", "JVRHU": "JVR", "JVRIE": "JVR", "JVRIT": "JVR", "JVRLT": "JVR", "JVRLU": "JVR", "JVRLV": "JVR", "JVRMK": "JVR", "JVRMT": "JVR", "JVRNL": "JVR", "JVRNO": "JVR", "JVRPL": "JVR", "JVRPT": "JVR", "JVRRO": "JVR", "JVRSE": "JVR", "JVRSI": "JVR", "JVRSK": "JVR", "JVRUK": "JVR", "JVRUS": "JVR", "KABE": "KA", "KABG": "KA", "KACN": "KA", "KACZ": "KA", "KADE": "KA", "KADK": "KA", "KAEE": "KA", "KAES": "KA", "KAFI": "KA", "KAFR": "KA", "KAGR": "KA", "KAHR": "KA", "KAHU": "KA", "KAIT": "KA", "KALT": "KA", "KALU": "KA", "KALV": "KA", "KAMT": "KA", "KANL": "KA", "KAPH": "KA", "KAPL": "KA", "KAPT": "KA", "KARO": "KA", "KASE": "KA", "KASI": "KA", "KASK": "KA", "LE00CN": "LE00", "LMICS": "LMICS", "M3AR": "M3", "M3AU": "M3", "M3BR": "M3", "M3BY": "M3", "M3CA": "M3", "M3CH": "M3", "M3CL": "M3", "M3CN": "M3", "M3CR": "M3", "M3EA": "M3", "M3HU": "M3", "M3ID": "M3", "M3IN": "M3", "M3JP": "M3", "M3KR": "M3", "M3KZ": "M3", "M3MA": "M3", "M3MX": "M3", "M3MY": "M3", "M3NO": "M3", "M3NP": "M3", "M3PH": "M3", "M3PL": "M3", "M3RU": "M3", "M3SA": "M3", "M3SG": "M3", "M3TH": "M3", "M3TN": "M3", "M3TR": "M3", "M3UA": "M3", "M3UK": "M3", "M3US": "M3", "M3UY": "M3", "M3YDAE": "M3YD", "M3YDAU": "M3YD", "M3YDCA": "M3YD", "M3YDCN": "M3YD", "M3YDCZ": "M3YD", "M3YDDK": "M3YD", "M3YDEA": "M3YD", "M3YDHK": "M3YD", "M3YDHR": "M3YD", "M3YDHU": "M3YD", "M3YDID": "M3YD", "M3YDIN": "M3YD", "M3YDJP": "M3YD", "M3YDKR": "M3YD", "M3YDMO": "M3YD", "M3YDMX": "M3YD", "M3YDMY": "M3YD", "M3YDNP": "M3YD", "M3YDNZ": "M3YD", "M3YDPA": "M3YD", "M3YDPH": "M3YD", "M3YDPL": "M3YD", "M3YDQA": "M3YD", "M3YDRO": "M3YD", "M3YDRU": "M3YD", "M3YDSA": "M3YD", "M3YDSE": "M3YD", "M3YDSG": "M3YD", "M3YDTH": "M3YD", "M3YDTR": "M3YD", "M3YDUA": "M3YD", "M3YDUK": "M3YD", "M3YDUS": "M3YD", "M3YDVN": "M3YD", "M3YDZA": "M3YD", "M3ZA": "M3", "MBAR": "MB", "MBAU": "MB", "MBBR": "MB", "MBCH": "MB", "MBCN": "MB", "MBEG": "MB", "MBIN": "MB", "MBJP": "MB", "MBKR": "MB", "MBMX": "MB", "MBMY": "MB", "MBNO": "MB", "MBRU": "MB", "MBSA": "MB", "MBTH": "MB", "MBTR": "MB", "MBUA": "MB", "MBUK": "MB", "MBUS": "MB", "NCTBE": "NCT", "NCTBG": "NCT", "NCTCN": "NCT", "NCTCZ": "NCT", "NCTDE": "NCT", "NCTDK": "NCT", "NCTEE": "NCT", "NCTES": "NCT", "NCTFI": "NCT", "NCTFR": "NCT", "NCTGR": "NCT", "NCTHR": "NCT", "NCTHU": "NCT", "NCTIT": "NCT", "NCTLT": "NCT", "NCTLU": "NCT", "NCTLV": "NCT", "NCTMT": "NCT", "NCTMX": "NCT", "NCTNL": "NCT", "NCTPH": "NCT", "NCTPL": "NCT", "NCTPT": "NCT", "NCTRO": "NCT", "NCTSE": "NCT", "NCTSI": "NCT", "NCTSK": "NCT", "NFCIAT": "NFCI", "NFCIBE": "NFCI", "NFCICZ": "NFCI", "NFCIDE": "NFCI", "NFCIDK": "NFCI", "NFCIEE": "NFCI", "NFCIES": "NFCI", "NFCIEU": "NFCI", "NFCIFI": "NFCI", "NFCIFR": "NFCI", "NFCIGR": "NFCI", "NFCIHU": "NFCI", "NFCIIE": "NFCI", "NFCIIT": "NFCI", "NFCINL": "NFCI", "NFCINO": "NFCI", "NFCIPL": "NFCI", "NFCIPT": "NFCI", "NFCIRO": "NFCI", "NFCISE": "NFCI", "NFCIUK": "NFCI", "NFCLOANBG": "NFCLOAN", "NFCLOANCY": "NFCLOAN", "NFCLOANEE": "NFCLOAN", "NFCLOANHR": "NFCLOAN", "NFCLOANLT": "NFCLOAN", "NFCLOANLV": "NFCLOAN", "NFCLOANMT": "NFCLOAN", "NFCLOANRO": "NFCLOAN", "NFCLOANSI": "NFCLOAN", "NFCLOANSK": "NFCLOAN", "NIIPAL": "NIIP", "NIIPAR": "NIIP", "NIIPAT": "NIIP", "NIIPAU": "NIIP", "NIIPBA": "NIIP", "NIIPBD": "NIIP", "NIIPBE": "NIIP", "NIIPBG": "NIIP", "NIIPBR": "NIIP", "NIIPCA": "NIIP", "NIIPCH": "NIIP", "NIIPCL": "NIIP", "NIIPCN": "NIIP", "NIIPCO": "NIIP", "NIIPCY": "NIIP", "NIIPCZ": "NIIP", "NIIPDE": "NIIP", "NIIPDK": "NIIP", "NIIPEE": "NIIP", "NIIPEG": "NIIP", "NIIPES": "NIIP", "NIIPFI": "NIIP", "NIIPFR": "NIIP", "NIIPGR": "NIIP", "NIIPHK": "NIIP", "NIIPHR": "NIIP", "NIIPHU": "NIIP", "NIIPID": "NIIP", "NIIPIE": "NIIP", "NIIPIL": "NIIP", "NIIPIN": "NIIP", "NIIPIS": "NIIP", "NIIPIT": "NIIP", "NIIPJP": "NIIP", "NIIPKH": "NIIP", "NIIPKR": "NIIP", "NIIPLT": "NIIP", "NIIPLU": "NIIP", "NIIPLV": "NIIP", "NIIPMK": "NIIP", "NIIPMT": "NIIP", "NIIPMX": "NIIP", "NIIPMY": "NIIP", "NIIPNL": "NIIP", "NIIPNO": "NIIP", "NIIPNP": "NIIP", "NIIPPH": "NIIP", "NIIPPK": "NIIP", "NIIPPL": "NIIP", "NIIPPT": "NIIP", "NIIPRO": "NIIP", "NIIPRS": "NIIP", "NIIPRU": "NIIP", "NIIPSA": "NIIP", "NIIPSE": "NIIP", "NIIPSG": "NIIP", "NIIPSI": "NIIP", "NIIPSK": "NIIP", "NIIPTH": "NIIP", "NIIPTR": "NIIP", "NIIPTW": "NIIP", "NIIPUA": "NIIP", "NIIPUK": "NIIP", "NIIPUS": "NIIP", "NIIPXK": "NIIP", "NIIPZA": "NIIP", "NPLAR": "NPL", "NPLAT": "NPL", "NPLAU": "NPL", "NPLBE": "NPL", "NPLBR": "NPL", "NPLCN": "NPL", "NPLDK": "NPL", "NPLES": "NPL", "NPLFI": "NPL", "NPLFR": "NPL", "NPLHK": "NPL", "NPLID": "NPL", "NPLIE": "NPL", "NPLIN": "NPL", "NPLIT": "NPL", "NPLJP": "NPL", "NPLLU": "NPL", "NPLMX": "NPL", "NPLNL": "NPL", "NPLNO": "NPL", "NPLPL": "NPL", "NPLRU": "NPL", "NPLSA": "NPL", "NPLSE": "NPL", "NPLSG": "NPL", "NPLTR": "NPL", "NPLUS": "NPL", "NPLZA": "NPL", "NYBE": "NY", "NYBG": "NY", "NYCN": "NY", "NYCZ": "NY", "NYDE": "NY", "NYDK": "NY", "NYEE": "NY", "NYES": "NY", "NYFI": "NY", "NYFR": "NY", "NYGR": "NY", "NYHR": "NY", "NYHU": "NY", "NYIT": "NY", "NYLT": "NY", "NYLU": "NY", "NYLV": "NY", "NYMT": "NY", "NYMX": "NY", "NYNL": "NY", "NYPH": "NY", "NYPL": "NY", "NYPT": "NY", "NYRO": "NY", "NYSE": "NY", "NYSI": "NY", "NYSK": "NY", "OILDEMAE": "OILDEM", "OILDEMAL": "OILDEM", "OILDEMAM": "OILDEM", "OILDEMAO": "OILDEM", "OILDEMAR": "OILDEM", "OILDEMAT": "OILDEM", "OILDEMAU": "OILDEM", "OILDEMAZ": "OILDEM", "OILDEMBB": "OILDEM", "OILDEMBD": "OILDEM", "OILDEMBE": "OILDEM", "OILDEMBG": "OILDEM", "OILDEMBH": "OILDEM", "OILDEMBM": "OILDEM", "OILDEMBN": "OILDEM", "OILDEMBO": "OILDEM", "OILDEMBR": "OILDEM", "OILDEMBY": "OILDEM", "OILDEMBZ": "OILDEM", "OILDEMCA": "OILDEM", "OILDEMCH": "OILDEM", "OILDEMCL": "OILDEM", "OILDEMCN": "OILDEM", "OILDEMCO": "OILDEM", "OILDEMCR": "OILDEM", "OILDEMCU": "OILDEM", "OILDEMCY": "OILDEM", "OILDEMCZ": "OILDEM", "OILDEMDE": "OILDEM", "OILDEMDK": "OILDEM", "OILDEMDO": "OILDEM", "OILDEMDZ": "OILDEM", "OILDEMEC": "OILDEM", "OILDEMEE": "OILDEM", "OILDEMEG": "OILDEM", "OILDEMES": "OILDEM", "OILDEMFI": "OILDEM", "OILDEMFR": "OILDEM", "OILDEMGA": "OILDEM", "OILDEMGD": "OILDEM", "OILDEMGE": "OILDEM", "OILDEMGM": "OILDEM", "OILDEMGQ": "OILDEM", "OILDEMGR": "OILDEM", "OILDEMGT": "OILDEM", "OILDEMGY": "OILDEM", "OILDEMHK": "OILDEM", "OILDEMHN": "OILDEM", "OILDEMHR": "OILDEM", "OILDEMHT": "OILDEM", "OILDEMHU": "OILDEM", "OILDEMID": "OILDEM", "OILDEMIE": "OILDEM", "OILDEMIN": "OILDEM", "OILDEMIQ": "OILDEM", "OILDEMIR": "OILDEM", "OILDEMIS": "OILDEM", "OILDEMIT": "OILDEM", "OILDEMJM": "OILDEM", "OILDEMJP": "OILDEM", "OILDEMKR": "OILDEM", "OILDEMKW": "OILDEM", "OILDEMKZ": "OILDEM", "OILDEMLT": "OILDEM", "OILDEMLU": "OILDEM", "OILDEMLV": "OILDEM", "OILDEMLY": "OILDEM", "OILDEMMA": "OILDEM", "OILDEMMD": "OILDEM", "OILDEMMK": "OILDEM", "OILDEMMM": "OILDEM", "OILDEMMT": "OILDEM", "OILDEMMU": "OILDEM", "OILDEMMX": "OILDEM", "OILDEMMY": "OILDEM", "OILDEMNE": "OILDEM", "OILDEMNG": "OILDEM", "OILDEMNI": "OILDEM", "OILDEMNL": "OILDEM", "OILDEMNO": "OILDEM", "OILDEMNP": "OILDEM", "OILDEMNZ": "OILDEM", "OILDEMOM": "OILDEM", "OILDEMPA": "OILDEM", "OILDEMPE": "OILDEM", "OILDEMPG": "OILDEM", "OILDEMPH": "OILDEM", "OILDEMPL": "OILDEM", "OILDEMPT": "OILDEM", "OILDEMPY": "OILDEM", "OILDEMQA": "OILDEM", "OILDEMRO": "OILDEM", "OILDEMRU": "OILDEM", "OILDEMSA": "OILDEM", "OILDEMSD": "OILDEM", "OILDEMSE": "OILDEM", "OILDEMSG": "OILDEM", "OILDEMSI": "OILDEM", "OILDEMSK": "OILDEM", "OILDEMSR": "OILDEM", "OILDEMSV": "OILDEM", "OILDEMSY": "OILDEM", "OILDEMSZ": "OILDEM", "OILDEMTH": "OILDEM", "OILDEMTJ": "OILDEM", "OILDEMTN": "OILDEM", "OILDEMTR": "OILDEM", "OILDEMTT": "OILDEM", "OILDEMTW": "OILDEM", "OILDEMUA": "OILDEM", "OILDEMUK": "OILDEM", "OILDEMUS": "OILDEM", "OILDEMUY": "OILDEM", "OILDEMVE": "OILDEM", "OILDEMVN": "OILDEM", "OILDEMYE": "OILDEM", "OILDEMZA": "OILDEM", "OILPRODAE": "OILPROD", "OILPRODAL": "OILPROD", "OILPRODAM": "OILPROD", "OILPRODAO": "OILPROD", "OILPRODAR": "OILPROD", "OILPRODAT": "OILPROD", "OILPRODAU": "OILPROD", "OILPRODAZ": "OILPROD", "OILPRODBB": "OILPROD", "OILPRODBD": "OILPROD", "OILPRODBE": "OILPROD", "OILPRODBG": "OILPROD", "OILPRODBH": "OILPROD", "OILPRODBM": "OILPROD", "OILPRODBN": "OILPROD", "OILPRODBO": "OILPROD", "OILPRODBR": "OILPROD", "OILPRODBY": "OILPROD", "OILPRODBZ": "OILPROD", "OILPRODCA": "OILPROD", "OILPRODCH": "OILPROD", "OILPRODCL": "OILPROD", "OILPRODCN": "OILPROD", "OILPRODCO": "OILPROD", "OILPRODCR": "OILPROD", "OILPRODCU": "OILPROD", "OILPRODCY": "OILPROD", "OILPRODCZ": "OILPROD", "OILPRODDE": "OILPROD", "OILPRODDK": "OILPROD", "OILPRODDO": "OILPROD", "OILPRODDZ": "OILPROD", "OILPRODEC": "OILPROD", "OILPRODEE": "OILPROD", "OILPRODEG": "OILPROD", "OILPRODES": "OILPROD", "OILPRODFI": "OILPROD", "OILPRODFR": "OILPROD", "OILPRODGA": "OILPROD", "OILPRODGD": "OILPROD", "OILPRODGE": "OILPROD", "OILPRODGM": "OILPROD", "OILPRODGQ": "OILPROD", "OILPRODGR": "OILPROD", "OILPRODGT": "OILPROD", "OILPRODGY": "OILPROD", "OILPRODHK": "OILPROD", "OILPRODHN": "OILPROD", "OILPRODHR": "OILPROD", "OILPRODHT": "OILPROD", "OILPRODHU": "OILPROD", "OILPRODID": "OILPROD", "OILPRODIE": "OILPROD", "OILPRODIN": "OILPROD", "OILPRODIQ": "OILPROD", "OILPRODIR": "OILPROD", "OILPRODIS": "OILPROD", "OILPRODIT": "OILPROD", "OILPRODJM": "OILPROD", "OILPRODJP": "OILPROD", "OILPRODKR": "OILPROD", "OILPRODKW": "OILPROD", "OILPRODKZ": "OILPROD", "OILPRODLT": "OILPROD", "OILPRODLU": "OILPROD", "OILPRODLV": "OILPROD", "OILPRODLY": "OILPROD", "OILPRODMA": "OILPROD", "OILPRODMD": "OILPROD", "OILPRODMK": "OILPROD", "OILPRODMM": "OILPROD", "OILPRODMT": "OILPROD", "OILPRODMU": "OILPROD", "OILPRODMX": "OILPROD", "OILPRODMY": "OILPROD", "OILPRODNE": "OILPROD", "OILPRODNG": "OILPROD", "OILPRODNI": "OILPROD", "OILPRODNL": "OILPROD", "OILPRODNO": "OILPROD", "OILPRODNP": "OILPROD", "OILPRODNZ": "OILPROD", "OILPRODOM": "OILPROD", "OILPRODPA": "OILPROD", "OILPRODPE": "OILPROD", "OILPRODPG": "OILPROD", "OILPRODPH": "OILPROD", "OILPRODPL": "OILPROD", "OILPRODPT": "OILPROD", "OILPRODPY": "OILPROD", "OILPRODQA": "OILPROD", "OILPRODRO": "OILPROD", "OILPRODRU": "OILPROD", "OILPRODSA": "OILPROD", "OILPRODSD": "OILPROD", "OILPRODSE": "OILPROD", "OILPRODSG": "OILPROD", "OILPRODSI": "OILPROD", "OILPRODSK": "OILPROD", "OILPRODSR": "OILPROD", "OILPRODSV": "OILPROD", "OILPRODSY": "OILPROD", "OILPRODSZ": "OILPROD", "OILPRODTH": "OILPROD", "OILPRODTJ": "OILPROD", "OILPRODTN": "OILPROD", "OILPRODTR": "OILPROD", "OILPRODTT": "OILPROD", "OILPRODTW": "OILPROD", "OILPRODUA": "OILPROD", "OILPRODUK": "OILPROD", "OILPRODUS": "OILPROD", "OILPRODUY": "OILPROD", "OILPRODVE": "OILPROD", "OILPRODVN": "OILPROD", "OILPRODYE": "OILPROD", "OILPRODZA": "OILPROD", "PALUM": "PALUM", "PAPPLE": "PAPPLE", "PARTCO": "PART", "PARTDO": "PART", "PARTLK": "PART", "PARTNZ": "PART", "PARTTR": "PART", "PBANSOP": "PBANSOP", "PBARL": "PBARL", "PBEEF": "PBEEF", "PCEUS": "PCE", "PCHANA": "PCHANA", "PCHROM": "PCHROM", "PCOALAU": "PCOALAU", "PCOALSA": "PCOALSA", "PCOBA": "PCOBA", "PCOCO": "PCOCO", "PCOFFOTM": "PCOFFOTM", "PCOFFROB": "PCOFFROB", "PCOIL": "PCOIL", "PCOPP": "PCOPP", "PCOTTIND": "PCOTTIND", "PDAP": "PDAP", "PFSHMEAL": "PFSHMEAL", "PGASO": "PGASO", "PGNUTS": "PGNUTS", "PGOLD": "PGOLD", "PHEATOIL": "PHEATOIL", "PHIDE": "PHIDE", "PIORECR": "PIORECR", "PLAMB": "PLAMB", "PLEAD": "PLEAD", "PLITH": "PLITH", "PLMMODY": "PLMMODY", "PLOGORE": "PLOGORE", "PLOGSK": "PLOGSK", "PMAIZMT": "PMAIZMT", "PMANGELE": "PMANGELE", "PMILK": "PMILK", "PNGASEU": "PNGASEU", "PNGASJP": "PNGASJP", "PNGASUS": "PNGASUS", "PNICK": "PNICK", "POATS": "POATS", "POILAPSP": "POILAPSP", "POILBRE": "POILBRE", "POILDUB": "POILDUB", "POILWTI": "POILWTI", "POLIRAR": "POLIR", "POLIRAU": "POLIR", "POLIRAZ": "POLIR", "POLIRBR": "POLIR", "POLIRCA": "POLIR", "POLIRCH": "POLIR", "POLIRCL": "POLIR", "POLIRCN": "POLIR", "POLIRCO": "POLIR", "POLIRCZ": "POLIR", "POLIRDK": "POLIR", "POLIREA": "POLIR", "POLIRHK": "POLIR", "POLIRHR": "POLIR", "POLIRHU": "POLIR", "POLIRID": "POLIR", "POLIRIL": "POLIR", "POLIRIN": "POLIR", "POLIRIS": "POLIR", "POLIRJP": "POLIR", "POLIRKR": "POLIR", "POLIRMK": "POLIR", "POLIRMO": "POLIR", "POLIRMX": "POLIR", "POLIRMY": "POLIR", "POLIRNO": "POLIR", "POLIRNP": "POLIR", "POLIRNZ": "POLIR", "POLIRPE": "POLIR", "POLIRPH": "POLIR", "POLIRPL": "POLIR", "POLIRPY": "POLIR", "POLIRQA": "POLIR", "POLIRRO": "POLIR", "POLIRRS": "POLIR", "POLIRRU": "POLIR", "POLIRSA": "POLIR", "POLIRSE": "POLIR", "POLIRSG": "POLIR", "POLIRTH": "POLIR", "POLIRTN": "POLIR", "POLIRTR": "POLIR", "POLIRTW": "POLIR", "POLIRUA": "POLIR", "POLIRUK": "POLIR", "POLIRUS": "POLIR", "POLIRUZ": "POLIR", "POLIRZA": "POLIR", "POLVOIL": "POLVOIL", "POPAD": "POP", "POPAE": "POP", "POPAL": "POP", "POPAM": "POP", "POPAR": "POP", "POPAT": "POP", "POPAU": "POP", "POPAZ": "POP", "POPBD": "POP", "POPBE": "POP", "POPBG": "POP", "POPBO": "POP", "POPBR": "POP", "POPBY": "POP", "POPCA": "POP", "POPCD": "POP", "POPCH": "POP", "POPCL": "POP", "POPCN": "POP", "POPCO": "POP", "POPCR": "POP", "POPCY": "POP", "POPCZ": "POP", "POPDE": "POP", "POPDK": "POP", "POPDO": "POP", "POPDZ": "POP", "POPEC": "POP", "POPEE": "POP", "POPEG": "POP", "POPES": "POP", "POPET": "POP", "POPEU": "POP", "POPFI": "POP", "POPFR": "POP", "POPGE": "POP", "POPGR": "POP", "POPGT": "POP", "POPHK": "POP", "POPHR": "POP", "POPHU": "POP", "POPID": "POP", "POPIE": "POP", "POPIL": "POP", "POPIN": "POP", "POPIQ": "POP", "POPIR": "POP", "POPIS": "POP", "POPIT": "POP", "POPJO": "POP", "POPJP": "POP", "POPKG": "POP", "POPKH": "POP", "POPKR": "POP", "POPKW": "POP", "POPKZ": "POP", "POPLB": "POP", "POPLI": "POP", "POPLK": "POP", "POPLT": "POP", "POPLU": "POP", "POPLV": "POP", "POPLY": "POP", "POPMA": "POP", "POPMD": "POP", "POPME": "POP", "POPMK": "POP", "POPMM": "POP", "POPMO": "POP", "POPMT": "POP", "POPMX": "POP", "POPMY": "POP", "POPNG": "POP", "POPNI": "POP", "POPNL": "POP", "POPNO": "POP", "POPNZ": "POP", "POPPH": "POP", "POPPL": "POP", "POPPT": "POP", "POPPY": "POP", "POPQA": "POP", "POPRO": "POP", "POPRS": "POP", "POPRU": "POP", "POPSA": "POP", "POPSD": "POP", "POPSE": "POP", "POPSG": "POP", "POPSI": "POP", "POPSK": "POP", "POPSM": "POP", "POPSN": "POP", "POPSV": "POP", "POPTH": "POP", "POPTJ": "POP", "POPTM": "POP", "POPTN": "POP", "POPTR": "POP", "POPTW": "POP", "POPUA": "POP", "POPUK": "POP", "POPUS": "POP", "POPUY": "POP", "POPUZ": "POP", "POPVE": "POP", "POPVN": "POP", "POPXK": "POP", "POPZA": "POP", "PORANG": "PORANG", "PPALLA": "PPALLA", "PPIAL": "PPI", "PPIAR": "PPI", "PPIAT": "PPI", "PPIAU": "PPI", "PPIBD": "PPI", "PPIBE": "PPI", "PPIBG": "PPI", "PPIBR": "PPI", "PPIBY": "PPI", "PPICA": "PPI", "PPICH": "PPI", "PPICL": "PPI", "PPICN": "PPI", "PPICO": "PPI", "PPICR": "PPI", "PPICY": "PPI", "PPICZ": "PPI", "PPIDE": "PPI", "PPIDK": "PPI", "PPIEE": "PPI", "PPIEG": "PPI", "PPIES": "PPI", "PPIEU": "PPI", "PPIFI": "PPI", "PPIFR": "PPI", "PPIGR": "PPI", "PPIHK": "PPI", "PPIHR": "PPI", "PPIHU": "PPI", "PPIID": "PPI", "PPIIE": "PPI", "PPIIL": "PPI", "PPIIN": "PPI", "PPIIT": "PPI", "PPIJO": "PPI", "PPIJP": "PPI", "PPIKR": "PPI", "PPIKZ": "PPI", "PPILT": "PPI", "PPILU": "PPI", "PPILV": "PPI", "PPIMA": "PPI", "PPIME": "PPI", "PPIMK": "PPI", "PPIMT": "PPI", "PPIMX": "PPI", "PPIMY": "PPI", "PPINL": "PPI", "PPINO": "PPI", "PPIPA": "PPI", "PPIPE": "PPI", "PPIPH": "PPI", "PPIPK": "PPI", "PPIPL": "PPI", "PPIPT": "PPI", "PPIQA": "PPI", "PPIRO": "PPI", "PPIRS": "PPI", "PPIRU": "PPI", "PPISA": "PPI", "PPISE": "PPI", "PPISG": "PPI", "PPISI": "PPI", "PPISK": "PPI", "PPISV": "PPI", "PPITH": "PPI", "PPITN": "PPI", "PPITR": "PPI", "PPITW": "PPI", "PPIUA": "PPI", "PPIUK": "PPI", "PPIUS": "PPI", "PPIUY": "PPI", "PPIVN": "PPI", "PPIZA": "PPI", "PPLAT": "PPLAT", "PPOIL": "PPOIL", "PPORK": "PPORK", "PPOTASH": "PPOTASH", "PPOULT": "PPOULT", "PPROPANE": "PPROPANE", "PRCAE": "PRC", "PRCAR": "PRC", "PRCAT": "PRC", "PRCAU": "PRC", "PRCAZ": "PRC", "PRCBD": "PRC", "PRCBE": "PRC", "PRCBG": "PRC", "PRCBR": "PRC", "PRCBW": "PRC", "PRCBY": "PRC", "PRCCA": "PRC", "PRCCH": "PRC", "PRCCL": "PRC", "PRCCN": "PRC", "PRCCO": "PRC", "PRCCY": "PRC", "PRCCZ": "PRC", "PRCDE": "PRC", "PRCDK": "PRC", "PRCEA": "PRC", "PRCEE": "PRC", "PRCES": "PRC", "PRCEU": "PRC", "PRCFI": "PRC", "PRCFR": "PRC", "PRCGR": "PRC", "PRCHK": "PRC", "PRCHR": "PRC", "PRCHU": "PRC", "PRCID": "PRC", "PRCIE": "PRC", "PRCIL": "PRC", "PRCIN": "PRC", "PRCIR": "PRC", "PRCIT": "PRC", "PRCJP": "PRC", "PRCKR": "PRC", "PRCKZ": "PRC", "PRCLT": "PRC", "PRCLU": "PRC", "PRCLV": "PRC", "PRCMA": "PRC", "PRCME": "PRC", "PRCMK": "PRC", "PRCMN": "PRC", "PRCMT": "PRC", "PRCMX": "PRC", "PRCMY": "PRC", "PRCNG": "PRC", "PRCNL": "PRC", "PRCNO": "PRC", "PRCNZ": "PRC", "PRCPE": "PRC", "PRCPH": "PRC", "PRCPK": "PRC", "PRCPL": "PRC", "PRCPT": "PRC", "PRCQA": "PRC", "PRCRO": "PRC", "PRCRS": "PRC", "PRCRU": "PRC", "PRCSA": "PRC", "PRCSE": "PRC", "PRCSG": "PRC", "PRCSI": "PRC", "PRCSK": "PRC", "PRCTH": "PRC", "PRCTR": "PRC", "PRCTW": "PRC", "PRCUA": "PRC", "PRCUK": "PRC", "PRCUS": "PRC", "PRCVN": "PRC", "PRCZA": "PRC", "PREODOM": "PREODOM", "PRICENPQ": "PRICENPQ", "PRIDEBTBG": "PRIDEBT", "PRIDEBTCY": "PRIDEBT", "PRIDEBTEE": "PRIDEBT", "PRIDEBTHR": "PRIDEBT", "PRIDEBTLT": "PRIDEBT", "PRIDEBTLV": "PRIDEBT", "PRIDEBTMT": "PRIDEBT", "PRIDEBTRO": "PRIDEBT", "PRIDEBTSI": "PRIDEBT", "PRIDEBTSK": "PRIDEBT", "PROIL": "PROIL", "PRUBB": "PRUBB", "PSALM": "PSALM", "PSAWMAL": "PSAWMAL", "PSAWORE": "PSAWORE", "PSHRI": "PSHRI", "PSILLUMP": "PSILLUMP", "PSILVER": "PSILVER", "PSMEA": "PSMEA", "PSOIL": "PSOIL", "PSORG": "PSORG", "PSOYB": "PSOYB", "PSUGAISA": "PSUGAISA", "PSUGAUSA": "PSUGAUSA", "PSUNO": "PSUNO", "PTEA": "PTEA", "PTEAINDIA": "PTEAINDIA", "PTEAMOM": "PTEAMOM", "PTEASL": "PTEASL", "PTIN": "PTIN", "PTOMATO": "PTOMATO", "PUCAE": "PUC", "PUCAL": "PUC", "PUCAR": "PUC", "PUCAT": "PUC", "PUCAU": "PUC", "PUCAZ": "PUC", "PUCBD": "PUC", "PUCBE": "PUC", "PUCBG": "PUC", "PUCBR": "PUC", "PUCBW": "PUC", "PUCBY": "PUC", "PUCCA": "PUC", "PUCCH": "PUC", "PUCCL": "PUC", "PUCCM": "PUC", "PUCCN": "PUC", "PUCCO": "PUC", "PUCCY": "PUC", "PUCCZ": "PUC", "PUCDE": "PUC", "PUCDK": "PUC", "PUCEA": "PUC", "PUCEE": "PUC", "PUCES": "PUC", "PUCEU": "PUC", "PUCFI": "PUC", "PUCFR": "PUC", "PUCGR": "PUC", "PUCHK": "PUC", "PUCHR": "PUC", "PUCHU": "PUC", "PUCID": "PUC", "PUCIE": "PUC", "PUCIL": "PUC", "PUCIN": "PUC", "PUCIR": "PUC", "PUCIT": "PUC", "PUCJP": "PUC", "PUCKR": "PUC", "PUCKZ": "PUC", "PUCLT": "PUC", "PUCLU": "PUC", "PUCLV": "PUC", "PUCMA": "PUC", "PUCME": "PUC", "PUCMK": "PUC", "PUCMT": "PUC", "PUCMX": "PUC", "PUCMY": "PUC", "PUCNG": "PUC", "PUCNL": "PUC", "PUCNO": "PUC", "PUCNZ": "PUC", "PUCPE": "PUC", "PUCPH": "PUC", "PUCPK": "PUC", "PUCPL": "PUC", "PUCPT": "PUC", "PUCQA": "PUC", "PUCRO": "PUC", "PUCRS": "PUC", "PUCRU": "PUC", "PUCSA": "PUC", "PUCSE": "PUC", "PUCSG": "PUC", "PUCSI": "PUC", "PUCSK": "PUC", "PUCTH": "PUC", "PUCTR": "PUC", "PUCTW": "PUC", "PUCUA": "PUC", "PUCUK": "PUC", "PUCUS": "PUC", "PUCVN": "PUC", "PUCZA": "PUC", "PURAN": "PURAN", "PUREA": "PUREA", "PVANPENT": "PVANPENT", "PWHEAMT": "PWHEAMT", "PWOOLC": "PWOOLC", "PWOOLF": "PWOOLF", "PZINC": "PZINC", "RCIAE": "RCI", "RCIAR": "RCI", "RCIAU": "RCI", "RCIAZ": "RCI", "RCIBW": "RCI", "RCIBY": "RCI", "RCICN": "RCI", "RCIHK": "RCI", "RCIIN": "RCI", "RCIIR": "RCI", "RCIKH": "RCI", "RCIKR": "RCI", "RCIMN": "RCI", "RCIMO": "RCI", "RCIMY": "RCI", "RCING": "RCI", "RCINO": "RCI", "RCINZ": "RCI", "RCIPA": "RCI", "RCIPH": "RCI", "RCIPK": "RCI", "RCISA": "RCI", "RCISG": "RCI", "RCITH": "RCI", "RCITW": "RCI", "RCIUA": "RCI", "RCIUK": "RCI", "RCIUS": "RCI", "RCIVN": "RCI", "RCIZA": "RCI", "RCONAE": "RCON", "RCONAL": "RCON", "RCONAT": "RCON", "RCONBA": "RCON", "RCONBD": "RCON", "RCONBE": "RCON", "RCONBG": "RCON", "RCONBY": "RCON", "RCONCA": "RCON", "RCONCH": "RCON", "RCONCL": "RCON", "RCONCY": "RCON", "RCONCZ": "RCON", "RCONDE": "RCON", "RCONDK": "RCON", "RCONEA": "RCON", "RCONEE": "RCON", "RCONES": "RCON", "RCONEU": "RCON", "RCONFI": "RCON", "RCONFR": "RCON", "RCONGR": "RCON", "RCONHR": "RCON", "RCONHU": "RCON", "RCONIE": "RCON", "RCONIT": "RCON", "RCONKR": "RCON", "RCONLT": "RCON", "RCONLU": "RCON", "RCONLV": "RCON", "RCONMK": "RCON", "RCONMT": "RCON", "RCONMX": "RCON", "RCONNL": "RCON", "RCONNO": "RCON", "RCONPL": "RCON", "RCONPT": "RCON", "RCONRO": "RCON", "RCONRS": "RCON", "RCONSE": "RCON", "RCONSI": "RCON", "RCONSK": "RCON", "RCONTH": "RCON", "RCONUA": "RCON", "RCONUK": "RCON", "REERAE": "REER", "REERAR": "REER", "REERAT": "REER", "REERAU": "REER", "REERAZ": "REER", "REERBE": "REER", "REERBG": "REER", "REERBR": "REER", "REERCA": "REER", "REERCH": "REER", "REERCL": "REER", "REERCN": "REER", "REERCO": "REER", "REERCY": "REER", "REERCZ": "REER", "REERDE": "REER", "REERDK": "REER", "REERDZ": "REER", "REEREA": "REEREA", "REEREE": "REER", "REERES": "REER", "REERFI": "REER", "REERFR": "REER", "REERGR": "REER", "REERHK": "REER", "REERHR": "REER", "REERHU": "REER", "REERID": "REER", "REERIE": "REER", "REERIL": "REER", "REERIN": "REER", "REERIS": "REER", "REERIT": "REER", "REERJP": "REER", "REERKR": "REER", "REERLT": "REER", "REERLU": "REER", "REERLV": "REER", "REERMT": "REER", "REERMX": "REER", "REERMY": "REER", "REERNL": "REER", "REERNO": "REER", "REERNZ": "REER", "REERPE": "REER", "REERPH": "REER", "REERPL": "REER", "REERPT": "REER", "REERPY": "REER", "REERRO": "REER", "REERRS": "REER", "REERRU": "REER", "REERSA": "REER", "REERSE": "REER", "REERSG": "REER", "REERSI": "REER", "REERSK": "REER", "REERTH": "REER", "REERTR": "REER", "REERTW": "REER", "REERUK": "REER", "REERUS": "REER", "REERZA": "REER", "RETAAL": "RETA", "RETAAR": "RETA", "RETAAT": "RETA", "RETAAU": "RETA", "RETAAZ": "RETA", "RETABA": "RETA", "RETABE": "RETA", "RETABG": "RETA", "RETABR": "RETA", "RETACA": "RETA", "RETACH": "RETA", "RETACN": "RETA", "RETACO": "RETA", "RETACY": "RETA", "RETACZ": "RETA", "RETADE": "RETA", "RETADK": "RETA", "RETAEE": "RETA", "RETAES": "RETA", "RETAEU": "RETA", "RETAFI": "RETA", "RETAFR": "RETA", "RETAGR": "RETA", "RETAHK": "RETA", "RETAHR": "RETA", "RETAHU": "RETA", "RETAID": "RETA", "RETAIE": "RETA", "RETAIL": "RETA", "RETAIR": "RETA", "RETAIT": "RETA", "RETAJP": "RETA", "RETAKR": "RETA", "RETALT": "RETA", "RETALU": "RETA", "RETALV": "RETA", "RETAME": "RETA", "RETAMK": "RETA", "RETAMT": "RETA", "RETAMX": "RETA", "RETAMY": "RETA", "RETANL": "RETA", "RETANO": "RETA", "RETANZ": "RETA", "RETAPL": "RETA", "RETAPT": "RETA", "RETARO": "RETA", "RETARS": "RETA", "RETARU": "RETA", "RETASE": "RETA", "RETASG": "RETA", "RETASI": "RETA", "RETASK": "RETA", "RETATH": "RETA", "RETATR": "RETA", "RETATW": "RETA", "RETAUK": "RETA", "RETAUS": "RETA", "RETAVN": "RETA", "RETAZA": "RETA", "REXPAE": "REXP", "REXPAL": "REXP", "REXPAR": "REXP", "REXPAT": "REXP", "REXPAU": "REXP", "REXPAZ": "REXP", "REXPBA": "REXP", "REXPBD": "REXP", "REXPBE": "REXP", "REXPBG": "REXP", "REXPBR": "REXP", "REXPBW": "REXP", "REXPBY": "REXP", "REXPCA": "REXP", "REXPCH": "REXP", "REXPCL": "REXP", "REXPCN": "REXP", "REXPCO": "REXP", "REXPCY": "REXP", "REXPCZ": "REXP", "REXPDE": "REXP", "REXPDK": "REXP", "REXPEA": "REXP", "REXPEE": "REXP", "REXPES": "REXP", "REXPEU": "REXP", "REXPFI": "REXP", "REXPFR": "REXP", "REXPGR": "REXP", "REXPHK": "REXP", "REXPHN": "REXP", "REXPHR": "REXP", "REXPHU": "REXP", "REXPID": "REXP", "REXPIE": "REXP", "REXPIL": "REXP", "REXPIN": "REXP", "REXPIR": "REXP", "REXPIT": "REXP", "REXPJP": "REXP", "REXPKH": "REXP", "REXPKR": "REXP", "REXPLT": "REXP", "REXPLU": "REXP", "REXPLV": "REXP", "REXPMA": "REXP", "REXPMK": "REXP", "REXPMN": "REXP", "REXPMO": "REXP", "REXPMT": "REXP", "REXPMX": "REXP", "REXPMY": "REXP", "REXPNG": "REXP", "REXPNL": "REXP", "REXPNO": "REXP", "REXPNZ": "REXP", "REXPPA": "REXP", "REXPPE": "REXP", "REXPPH": "REXP", "REXPPK": "REXP", "REXPPL": "REXP", "REXPPT": "REXP", "REXPRO": "REXP", "REXPRS": "REXP", "REXPRU": "REXP", "REXPRW": "REXP", "REXPSA": "REXP", "REXPSE": "REXP", "REXPSG": "REXP", "REXPSI": "REXP", "REXPSK": "REXP", "REXPTH": "REXP", "REXPTR": "REXP", "REXPTW": "REXP", "REXPUA": "REXP", "REXPUK": "REXP", "REXPUS": "REXP", "REXPUZ": "REXP", "REXPZA": "REXP", "RGCFAT": "RGCF", "RGCFBA": "RGCF", "RGCFBE": "RGCF", "RGCFBG": "RGCF", "RGCFBY": "RGCF", "RGCFCH": "RGCF", "RGCFCO": "RGCF", "RGCFCY": "RGCF", "RGCFCZ": "RGCF", "RGCFDE": "RGCF", "RGCFDK": "RGCF", "RGCFEA": "RGCF", "RGCFEE": "RGCF", "RGCFES": "RGCF", "RGCFEU": "RGCF", "RGCFFI": "RGCF", "RGCFFR": "RGCF", "RGCFGR": "RGCF", "RGCFHR": "RGCF", "RGCFHU": "RGCF", "RGCFIE": "RGCF", "RGCFIT": "RGCF", "RGCFKR": "RGCF", "RGCFLT": "RGCF", "RGCFLU": "RGCF", "RGCFLV": "RGCF", "RGCFMK": "RGCF", "RGCFMT": "RGCF", "RGCFNL": "RGCF", "RGCFNO": "RGCF", "RGCFNZ": "RGCF", "RGCFPE": "RGCF", "RGCFPK": "RGCF", "RGCFPL": "RGCF", "RGCFPT": "RGCF", "RGCFRO": "RGCF", "RGCFRS": "RGCF", "RGCFRU": "RGCF", "RGCFRW": "RGCF", "RGCFSE": "RGCF", "RGCFSI": "RGCF", "RGCFSK": "RGCF", "RGCFUA": "RGCF", "RGCFUK": "RGCF", "RGDPAE": "RGDP", "RGDPAL": "RGDP", "RGDPAR": "RGDP", "RGDPAT": "RGDP", "RGDPAU": "RGDP", "RGDPAZ": "RGDP", "RGDPBA": "RGDP", "RGDPBD": "RGDP", "RGDPBE": "RGDP", "RGDPBG": "RGDP", "RGDPBR": "RGDP", "RGDPBW": "RGDP", "RGDPBY": "RGDP", "RGDPCA": "RGDP", "RGDPCH": "RGDP", "RGDPCL": "RGDP", "RGDPCM": "RGDP", "RGDPCN": "RGDP", "RGDPCO": "RGDP", "RGDPCR": "RGDP", "RGDPCY": "RGDP", "RGDPCZ": "RGDP", "RGDPDE": "RGDP", "RGDPDK": "RGDP", "RGDPEA": "RGDP", "RGDPEE": "RGDP", "RGDPEG": "RGDP", "RGDPES": "RGDP", "RGDPEU": "RGDP", "RGDPFI": "RGDP", "RGDPFR": "RGDP", "RGDPGR": "RGDP", "RGDPHK": "RGDP", "RGDPHN": "RGDP", "RGDPHR": "RGDP", "RGDPHU": "RGDP", "RGDPID": "RGDP", "RGDPIE": "RGDP", "RGDPIL": "RGDP", "RGDPIN": "RGDP", "RGDPIR": "RGDP", "RGDPIT": "RGDP", "RGDPJO": "RGDP", "RGDPJP": "RGDP", "RGDPKH": "RGDP", "RGDPKR": "RGDP", "RGDPKZ": "RGDP", "RGDPLA": "RGDP", "RGDPLT": "RGDP", "RGDPLU": "RGDP", "RGDPLV": "RGDP", "RGDPMA": "RGDP", "RGDPMK": "RGDP", "RGDPMN": "RGDP", "RGDPMO": "RGDP", "RGDPMT": "RGDP", "RGDPMX": "RGDP", "RGDPMY": "RGDP", "RGDPNG": "RGDP", "RGDPNL": "RGDP", "RGDPNO": "RGDP", "RGDPNZ": "RGDP", "RGDPPA": "RGDP", "RGDPPCAL": "RGDPPC", "RGDPPCAT": "RGDPPC", "RGDPPCAU": "RGDPPC", "RGDPPCBE": "RGDPPC", "RGDPPCBG": "RGDPPC", "RGDPPCBR": "RGDPPC", "RGDPPCCH": "RGDPPC", "RGDPPCCY": "RGDPPC", "RGDPPCCZ": "RGDPPC", "RGDPPCDE": "RGDPPC", "RGDPPCDK": "RGDPPC", "RGDPPCEA": "RGDPPC", "RGDPPCEE": "RGDPPC", "RGDPPCES": "RGDPPC", "RGDPPCEU": "RGDPPC", "RGDPPCFI": "RGDPPC", "RGDPPCFR": "RGDPPC", "RGDPPCGR": "RGDPPC", "RGDPPCHR": "RGDPPC", "RGDPPCHU": "RGDPPC", "RGDPPCIE": "RGDPPC", "RGDPPCIS": "RGDPPC", "RGDPPCIT": "RGDPPC", "RGDPPCLT": "RGDPPC", "RGDPPCLU": "RGDPPC", "RGDPPCLV": "RGDPPC", "RGDPPCME": "RGDPPC", "RGDPPCMK": "RGDPPC", "RGDPPCMT": "RGDPPC", "RGDPPCNL": "RGDPPC", "RGDPPCNO": "RGDPPC", "RGDPPCNZ": "RGDPPC", "RGDPPCPL": "RGDPPC", "RGDPPCPT": "RGDPPC", "RGDPPCRO": "RGDPPC", "RGDPPCRS": "RGDPPC", "RGDPPCSE": "RGDPPC", "RGDPPCSI": "RGDPPC", "RGDPPCSK": "RGDPPC", "RGDPPCTR": "RGDPPC", "RGDPPCUS": "RGDPPC", "RGDPPE": "RGDP", "RGDPPH": "RGDP", "RGDPPK": "RGDP", "RGDPPL": "RGDP", "RGDPPT": "RGDP", "RGDPQA": "RGDP", "RGDPRO": "RGDP", "RGDPRS": "RGDP", "RGDPRU": "RGDP", "RGDPRW": "RGDP", "RGDPSA": "RGDP", "RGDPSE": "RGDP", "RGDPSG": "RGDP", "RGDPSI": "RGDP", "RGDPSK": "RGDP", "RGDPTH": "RGDP", "RGDPTN": "RGDP", "RGDPTR": "RGDP", "RGDPTW": "RGDP", "RGDPUA": "RGDP", "RGDPUK": "RGDP", "RGDPUS": "RGDP", "RGDPUY": "RGDP", "RGDPUZ": "RGDP", "RGDPVN": "RGDP", "RGDPZA": "RGDP", "RGFCFAE": "RGFCF", "RGFCFAL": "RGFCF", "RGFCFAR": "RGFCF", "RGFCFAT": "RGFCF", "RGFCFAU": "RGFCF", "RGFCFAZ": "RGFCF", "RGFCFBA": "RGFCF", "RGFCFBD": "RGFCF", "RGFCFBE": "RGFCF", "RGFCFBG": "RGFCF", "RGFCFBR": "RGFCF", "RGFCFBW": "RGFCF", "RGFCFBY": "RGFCF", "RGFCFCA": "RGFCF", "RGFCFCH": "RGFCF", "RGFCFCL": "RGFCF", "RGFCFCN": "RGFCF", "RGFCFCO": "RGFCF", "RGFCFCR": "RGFCF", "RGFCFCY": "RGFCF", "RGFCFCZ": "RGFCF", "RGFCFDE": "RGFCF", "RGFCFDK": "RGFCF", "RGFCFEA": "RGFCF", "RGFCFEE": "RGFCF", "RGFCFES": "RGFCF", "RGFCFEU": "RGFCF", "RGFCFFI": "RGFCF", "RGFCFFR": "RGFCF", "RGFCFGR": "RGFCF", "RGFCFHK": "RGFCF", "RGFCFHN": "RGFCF", "RGFCFHR": "RGFCF", "RGFCFHU": "RGFCF", "RGFCFID": "RGFCF", "RGFCFIE": "RGFCF", "RGFCFIL": "RGFCF", "RGFCFIN": "RGFCF", "RGFCFIR": "RGFCF", "RGFCFIT": "RGFCF", "RGFCFJP": "RGFCF", "RGFCFKH": "RGFCF", "RGFCFKR": "RGFCF", "RGFCFLT": "RGFCF", "RGFCFLU": "RGFCF", "RGFCFLV": "RGFCF", "RGFCFMA": "RGFCF", "RGFCFMN": "RGFCF", "RGFCFMO": "RGFCF", "RGFCFMT": "RGFCF", "RGFCFMX": "RGFCF", "RGFCFMY": "RGFCF", "RGFCFNG": "RGFCF", "RGFCFNL": "RGFCF", "RGFCFNO": "RGFCF", "RGFCFNZ": "RGFCF", "RGFCFPH": "RGFCF", "RGFCFPK": "RGFCF", "RGFCFPL": "RGFCF", "RGFCFPT": "RGFCF", "RGFCFRO": "RGFCF", "RGFCFRS": "RGFCF", "RGFCFRU": "RGFCF", "RGFCFSA": "RGFCF", "RGFCFSE": "RGFCF", "RGFCFSG": "RGFCF", "RGFCFSI": "RGFCF", "RGFCFSK": "RGFCF", "RGFCFTH": "RGFCF", "RGFCFTR": "RGFCF", "RGFCFTW": "RGFCF", "RGFCFUA": "RGFCF", "RGFCFUK": "RGFCF", "RGFCFUS": "RGFCF", "RGFCFVN": "RGFCF", "RGFCFZA": "RGFCF", "RIMPAE": "RIMP", "RIMPAL": "RIMP", "RIMPAR": "RIMP", "RIMPAT": "RIMP", "RIMPAU": "RIMP", "RIMPAZ": "RIMP", "RIMPBA": "RIMP", "RIMPBD": "RIMP", "RIMPBE": "RIMP", "RIMPBG": "RIMP", "RIMPBR": "RIMP", "RIMPBW": "RIMP", "RIMPBY": "RIMP", "RIMPCA": "RIMP", "RIMPCH": "RIMP", "RIMPCL": "RIMP", "RIMPCN": "RIMP", "RIMPCO": "RIMP", "RIMPCY": "RIMP", "RIMPCZ": "RIMP", "RIMPDE": "RIMP", "RIMPDK": "RIMP", "RIMPEA": "RIMP", "RIMPEE": "RIMP", "RIMPES": "RIMP", "RIMPEU": "RIMP", "RIMPFI": "RIMP", "RIMPFR": "RIMP", "RIMPGR": "RIMP", "RIMPHK": "RIMP", "RIMPHN": "RIMP", "RIMPHR": "RIMP", "RIMPHU": "RIMP", "RIMPID": "RIMP", "RIMPIE": "RIMP", "RIMPIL": "RIMP", "RIMPIN": "RIMP", "RIMPIR": "RIMP", "RIMPIT": "RIMP", "RIMPJP": "RIMP", "RIMPKH": "RIMP", "RIMPKR": "RIMP", "RIMPLT": "RIMP", "RIMPLU": "RIMP", "RIMPLV": "RIMP", "RIMPMA": "RIMP", "RIMPMK": "RIMP", "RIMPMN": "RIMP", "RIMPMO": "RIMP", "RIMPMT": "RIMP", "RIMPMX": "RIMP", "RIMPMY": "RIMP", "RIMPNG": "RIMP", "RIMPNL": "RIMP", "RIMPNO": "RIMP", "RIMPNZ": "RIMP", "RIMPPA": "RIMP", "RIMPPE": "RIMP", "RIMPPH": "RIMP", "RIMPPK": "RIMP", "RIMPPL": "RIMP", "RIMPPT": "RIMP", "RIMPRO": "RIMP", "RIMPRS": "RIMP", "RIMPRU": "RIMP", "RIMPRW": "RIMP", "RIMPSA": "RIMP", "RIMPSE": "RIMP", "RIMPSG": "RIMP", "RIMPSI": "RIMP", "RIMPSK": "RIMP", "RIMPTH": "RIMP", "RIMPTR": "RIMP", "RIMPTW": "RIMP", "RIMPUA": "RIMP", "RIMPUK": "RIMP", "RIMPUS": "RIMP", "RIMPUZ": "RIMP", "RIMPZA": "RIMP", "RPRCAE": "RPRC", "RPRCAR": "RPRC", "RPRCAT": "RPRC", "RPRCAU": "RPRC", "RPRCAZ": "RPRC", "RPRCBA": "RPRC", "RPRCBD": "RPRC", "RPRCBE": "RPRC", "RPRCBG": "RPRC", "RPRCBR": "RPRC", "RPRCBY": "RPRC", "RPRCCA": "RPRC", "RPRCCH": "RPRC", "RPRCCL": "RPRC", "RPRCCN": "RPRC", "RPRCCO": "RPRC", "RPRCCR": "RPRC", "RPRCCY": "RPRC", "RPRCCZ": "RPRC", "RPRCDE": "RPRC", "RPRCDK": "RPRC", "RPRCEA": "RPRC", "RPRCEE": "RPRC", "RPRCES": "RPRC", "RPRCEU": "RPRC", "RPRCFI": "RPRC", "RPRCFR": "RPRC", "RPRCGR": "RPRC", "RPRCHK": "RPRC", "RPRCHN": "RPRC", "RPRCHR": "RPRC", "RPRCHU": "RPRC", "RPRCID": "RPRC", "RPRCIE": "RPRC", "RPRCIL": "RPRC", "RPRCIN": "RPRC", "RPRCIR": "RPRC", "RPRCIT": "RPRC", "RPRCJP": "RPRC", "RPRCKH": "RPRC", "RPRCKR": "RPRC", "RPRCLT": "RPRC", "RPRCLU": "RPRC", "RPRCLV": "RPRC", "RPRCMA": "RPRC", "RPRCMK": "RPRC", "RPRCMO": "RPRC", "RPRCMT": "RPRC", "RPRCMX": "RPRC", "RPRCMY": "RPRC", "RPRCNG": "RPRC", "RPRCNL": "RPRC", "RPRCNO": "RPRC", "RPRCNZ": "RPRC", "RPRCPE": "RPRC", "RPRCPH": "RPRC", "RPRCPK": "RPRC", "RPRCPL": "RPRC", "RPRCPT": "RPRC", "RPRCRO": "RPRC", "RPRCRS": "RPRC", "RPRCRU": "RPRC", "RPRCRW": "RPRC", "RPRCSA": "RPRC", "RPRCSE": "RPRC", "RPRCSG": "RPRC", "RPRCSI": "RPRC", "RPRCSK": "RPRC", "RPRCTH": "RPRC", "RPRCTR": "RPRC", "RPRCTW": "RPRC", "RPRCUA": "RPRC", "RPRCUK": "RPRC", "RPRCUS": "RPRC", "RPRCUZ": "RPRC", "RPRCVN": "RPRC", "RPRCZA": "RPRC", "RPUCAE": "RPUC", "RPUCAL": "RPUC", "RPUCAR": "RPUC", "RPUCAT": "RPUC", "RPUCAU": "RPUC", "RPUCAZ": "RPUC", "RPUCBA": "RPUC", "RPUCBD": "RPUC", "RPUCBE": "RPUC", "RPUCBG": "RPUC", "RPUCBR": "RPUC", "RPUCBW": "RPUC", "RPUCBY": "RPUC", "RPUCCA": "RPUC", "RPUCCH": "RPUC", "RPUCCL": "RPUC", "RPUCCN": "RPUC", "RPUCCO": "RPUC", "RPUCCR": "RPUC", "RPUCCY": "RPUC", "RPUCCZ": "RPUC", "RPUCDE": "RPUC", "RPUCDK": "RPUC", "RPUCEA": "RPUC", "RPUCEE": "RPUC", "RPUCES": "RPUC", "RPUCEU": "RPUC", "RPUCFI": "RPUC", "RPUCFR": "RPUC", "RPUCGR": "RPUC", "RPUCHK": "RPUC", "RPUCHN": "RPUC", "RPUCHR": "RPUC", "RPUCHU": "RPUC", "RPUCID": "RPUC", "RPUCIE": "RPUC", "RPUCIL": "RPUC", "RPUCIN": "RPUC", "RPUCIR": "RPUC", "RPUCIT": "RPUC", "RPUCJP": "RPUC", "RPUCKH": "RPUC", "RPUCKR": "RPUC", "RPUCLT": "RPUC", "RPUCLU": "RPUC", "RPUCLV": "RPUC", "RPUCMA": "RPUC", "RPUCMK": "RPUC", "RPUCMN": "RPUC", "RPUCMO": "RPUC", "RPUCMT": "RPUC", "RPUCMX": "RPUC", "RPUCMY": "RPUC", "RPUCNG": "RPUC", "RPUCNL": "RPUC", "RPUCNO": "RPUC", "RPUCNZ": "RPUC", "RPUCPA": "RPUC", "RPUCPE": "RPUC", "RPUCPH": "RPUC", "RPUCPK": "RPUC", "RPUCPL": "RPUC", "RPUCPT": "RPUC", "RPUCRO": "RPUC", "RPUCRS": "RPUC", "RPUCRU": "RPUC", "RPUCRW": "RPUC", "RPUCSA": "RPUC", "RPUCSE": "RPUC", "RPUCSG": "RPUC", "RPUCSI": "RPUC", "RPUCSK": "RPUC", "RPUCTH": "RPUC", "RPUCTR": "RPUC", "RPUCTW": "RPUC", "RPUCUA": "RPUC", "RPUCUK": "RPUC", "RPUCUS": "RPUC", "RPUCUZ": "RPUC", "RPUCVN": "RPUC", "RPUCZA": "RPUC", "SEIAE": "SEI", "SEIAT": "SEI", "SEIAU": "SEI", "SEIBD": "SEI", "SEIBE": "SEI", "SEIBR": "SEI", "SEICA": "SEI", "SEICH": "SEI", "SEICN": "SEI", "SEIDE": "SEI", "SEIDK": "SEI", "SEIES": "SEI", "SEIFI": "SEI", "SEIFR": "SEI", "SEIID": "SEI", "SEIIE": "SEI", "SEIIN": "SEI", "SEIIT": "SEI", "SEIJP": "SEI", "SEIKR": "SEI", "SEILA": "SEI", "SEILU": "SEI", "SEIMX": "SEI", "SEINL": "SEI", "SEINO": "SEI", "SEIOM": "SEI", "SEIPA": "SEI", "SEIPK": "SEI", "SEIPL": "SEI", "SEIRS": "SEI", "SEIRU": "SEI", "SEISE": "SEI", "SEITR": "SEI", "SEIUS": "SEI", "SEIUZ": "SEI", "SEIZA": "SEI", "SENTAL": "SENT", "SENTAT": "SENT", "SENTAU": "SENT", "SENTBE": "SENT", "SENTBG": "SENT", "SENTBR": "SENT", "SENTCY": "SENT", "SENTCZ": "SENT", "SENTDE": "SENT", "SENTDK": "SENT", "SENTEE": "SENT", "SENTES": "SENT", "SENTEU": "SENT", "SENTFI": "SENT", "SENTFR": "SENT", "SENTGR": "SENT", "SENTHR": "SENT", "SENTHU": "SENT", "SENTIE": "SENT", "SENTIT": "SENT", "SENTJP": "SENT", "SENTKR": "SENT", "SENTLT": "SENT", "SENTLU": "SENT", "SENTLV": "SENT", "SENTME": "SENT", "SENTMK": "SENT", "SENTMT": "SENT", "SENTNL": "SENT", "SENTPL": "SENT", "SENTPT": "SENT", "SENTRO": "SENT", "SENTRS": "SENT", "SENTSE": "SENT", "SENTSI": "SENT", "SENTSK": "SENT", "SENTTR": "SENT", "SENTUK": "SENT", "SENTUS": "SENT", "TBBE": "TB", "TBBG": "TB", "TBBR": "TB", "TBCA": "TB", "TBCZ": "TB", "TBDE": "TB", "TBDK": "TB", "TBEE": "TB", "TBEG": "TB", "TBFI": "TB", "TBFR": "TB", "TBGR": "TB", "TBHR": "TB", "TBHU": "TB", "TBIN": "TB", "TBIT": "TB", "TBLT": "TB", "TBLU": "TB", "TBLV": "TB", "TBMK": "TB", "TBMT": "TB", "TBMX": "TB", "TBNL": "TB", "TBPL": "TB", "TBPT": "TB", "TBRO": "TB", "TBRS": "TB", "TBSE": "TB", "TBSI": "TB", "TBSK": "TB", "TBTH": "TB", "TBUS": "TB", "TBVN": "TB", "URATEAE": "URATE", "URATEAR": "URATE", "URATEAT": "URATE", "URATEAU": "URATE", "URATEAZ": "URATE", "URATEBD": "URATE", "URATEBE": "URATE", "URATEBG": "URATE", "URATEBR": "URATE", "URATEBY": "URATE", "URATECA": "URATE", "URATECH": "URATE", "URATECL": "URATE", "URATECN": "URATE", "URATECO": "URATE", "URATECR": "URATE", "URATECY": "URATE", "URATECZ": "URATE", "URATEDE": "URATE", "URATEDK": "URATE", "URATEDO": "URATE", "URATEEA": "URATE", "URATEEE": "URATE", "URATEEG": "URATE", "URATEES": "URATE", "URATEEU": "URATE", "URATEFI": "URATE", "URATEFR": "URATE", "URATEGR": "URATE", "URATEHK": "URATE", "URATEHR": "URATE", "URATEHU": "URATE", "URATEID": "URATE", "URATEIE": "URATE", "URATEIL": "URATE", "URATEIS": "URATE", "URATEIT": "URATE", "URATEJO": "URATE", "URATEJP": "URATE", "URATEKH": "URATE", "URATEKR": "URATE", "URATEKZ": "URATE", "URATELK": "URATE", "URATELT": "URATE", "URATELU": "URATE", "URATELV": "URATE", "URATEMA": "URATE", "URATEMO": "URATE", "URATEMT": "URATE", "URATEMX": "URATE", "URATEMY": "URATE", "URATENL": "URATE", "URATENO": "URATE", "URATENZ": "URATE", "URATEPE": "URATE", "URATEPH": "URATE", "URATEPK": "URATE", "URATEPL": "URATE", "URATEPT": "URATE", "URATEQA": "URATE", "URATERO": "URATE", "URATERS": "URATE", "URATERU": "URATE", "URATESA": "URATE", "URATESE": "URATE", "URATESG": "URATE", "URATESI": "URATE", "URATESK": "URATE", "URATETH": "URATE", "URATETN": "URATE", "URATETR": "URATE", "URATETW": "URATE", "URATEUA": "URATE", "URATEUK": "URATE", "URATEUS": "URATE", "URATEUY": "URATE", "URATEVN": "URATE", "URATEZA": "URATE", "UTILAL": "UTIL", "UTILAR": "UTIL", "UTILAT": "UTIL", "UTILBE": "UTIL", "UTILBG": "UTIL", "UTILCA": "UTIL", "UTILCY": "UTIL", "UTILCZ": "UTIL", "UTILDE": "UTIL", "UTILDK": "UTIL", "UTILEE": "UTIL", "UTILES": "UTIL", "UTILEU": "UTIL", "UTILFI": "UTIL", "UTILFR": "UTIL", "UTILGR": "UTIL", "UTILHR": "UTIL", "UTILHU": "UTIL", "UTILIE": "UTIL", "UTILIT": "UTIL", "UTILLT": "UTIL", "UTILLU": "UTIL", "UTILLV": "UTIL", "UTILME": "UTIL", "UTILMK": "UTIL", "UTILMT": "UTIL", "UTILNL": "UTIL", "UTILPL": "UTIL", "UTILPT": "UTIL", "UTILRO": "UTIL", "UTILRS": "UTIL", "UTILSE": "UTIL", "UTILSI": "UTIL", "UTILSK": "UTIL", "UTILTR": "UTIL", "UTILUK": "UTIL", "UTILUS": "UTIL", "WAGEMANCL": "WAGEMAN", "WAGEMANMX": "WAGEMAN", "WAGEMANUS": "WAGEMAN", "WAGEUY": "WAGE", "WAGEVN": "WAGE", "Y10YDAR": "Y10YD", "Y10YDAT": "Y10YD", "Y10YDAU": "Y10YD", "Y10YDBD": "Y10YD", "Y10YDBE": "Y10YD", "Y10YDBG": "Y10YD", "Y10YDCA": "Y10YD", "Y10YDCN": "Y10YD", "Y10YDCY": "Y10YD", "Y10YDCZ": "Y10YD", "Y10YDDE": "Y10YD", "Y10YDDK": "Y10YD", "Y10YDEA": "Y10YD", "Y10YDEE": "Y10YD", "Y10YDES": "Y10YD", "Y10YDEU": "Y10YD", "Y10YDFI": "Y10YD", "Y10YDFR": "Y10YD", "Y10YDGR": "Y10YD", "Y10YDHK": "Y10YD", "Y10YDHR": "Y10YD", "Y10YDHU": "Y10YD", "Y10YDID": "Y10YD", "Y10YDIE": "Y10YD", "Y10YDIN": "Y10YD", "Y10YDIT": "Y10YD", "Y10YDJP": "Y10YD", "Y10YDKR": "Y10YD", "Y10YDLT": "Y10YD", "Y10YDLU": "Y10YD", "Y10YDLV": "Y10YD", "Y10YDMT": "Y10YD", "Y10YDMX": "Y10YD", "Y10YDMY": "Y10YD", "Y10YDNL": "Y10YD", "Y10YDNZ": "Y10YD", "Y10YDPH": "Y10YD", "Y10YDPL": "Y10YD", "Y10YDPT": "Y10YD", "Y10YDQA": "Y10YD", "Y10YDRO": "Y10YD", "Y10YDRU": "Y10YD", "Y10YDSA": "Y10YD", "Y10YDSE": "Y10YD", "Y10YDSG": "Y10YD", "Y10YDSI": "Y10YD", "Y10YDSK": "Y10YD", "Y10YDTH": "Y10YD", "Y10YDTR": "Y10YD", "Y10YDTW": "Y10YD", "Y10YDUA": "Y10YD", "Y10YDUK": "Y10YD", "Y10YDUS": "Y10YD", "Y10YDVN": "Y10YD", "Y10YDZA": "Y10YD"} \ No newline at end of file diff --git a/openbb_platform/providers/econdb/openbb_econdb/utils/units.json b/openbb_platform/providers/econdb/openbb_econdb/utils/units.json index d99823a0943..b4e53bc7524 100644 --- a/openbb_platform/providers/econdb/openbb_econdb/utils/units.json +++ b/openbb_platform/providers/econdb/openbb_econdb/utils/units.json @@ -1 +1 @@ -{"ACPOPAT":"PERSONS","ACPOPBE":"PERSONS","ACPOPBG":"PERSONS","ACPOPBR":"PERSONS","ACPOPCA":"PERSONS","ACPOPCH":"PERSONS","ACPOPCY":"PERSONS","ACPOPCZ":"PERSONS","ACPOPDE":"PERSONS","ACPOPDK":"PERSONS","ACPOPEE":"PERSONS","ACPOPES":"PERSONS","ACPOPFI":"PERSONS","ACPOPFR":"PERSONS","ACPOPGR":"PERSONS","ACPOPHR":"PERSONS","ACPOPHU":"PERSONS","ACPOPIE":"PERSONS","ACPOPIS":"PERSONS","ACPOPIT":"PERSONS","ACPOPJP":"PERSONS","ACPOPLT":"PERSONS","ACPOPLU":"PERSONS","ACPOPLV":"PERSONS","ACPOPME":"PERSONS","ACPOPMK":"PERSONS","ACPOPMT":"PERSONS","ACPOPMX":"PERCENT","ACPOPNL":"PERSONS","ACPOPNO":"PERSONS","ACPOPPH":"PERSONS","ACPOPPK":"PERSONS","ACPOPPL":"PERSONS","ACPOPPT":"PERSONS","ACPOPQA":"PERSONS","ACPOPRO":"PERSONS","ACPOPRS":"PERSONS","ACPOPSE":"PERSONS","ACPOPSI":"PERSONS","ACPOPSK":"PERSONS","ACPOPTR":"PERSONS","ACPOPTW":"PERSONS","ACPOPUS":"PERSONS","ACPOPVN":"PERSONS","CAAR":"USD","CAAT":"DOMESTIC","CAAU":"DOMESTIC","CAAZ":"USD","CABD":"DOMESTIC","CABE":"DOMESTIC","CABG":"DOMESTIC","CABR":"USD","CABT":"DOMESTIC","CABY":"USD","CACA":"DOMESTIC","CACH":"DOMESTIC","CACL":"USD","CACN":"USD","CACO":"USD","CACR":"USD","CACY":"DOMESTIC","CACZ":"DOMESTIC","CADE":"DOMESTIC","CADK":"DOMESTIC","CAEE":"DOMESTIC","CAEG":"USD","CAES":"DOMESTIC","CAEU":"DOMESTIC","CAFI":"DOMESTIC","CAFR":"DOMESTIC","CAGR":"DOMESTIC","CAHK":"DOMESTIC","CAHR":"DOMESTIC","CAHU":"DOMESTIC","CAID":"USD","CAIE":"DOMESTIC","CAIL":"USD","CAIN":"USD","CAIT":"DOMESTIC","CAJO":"DOMESTIC","CAJP":"DOMESTIC","CAKH":"DOMESTIC","CAKR":"USD","CAKZ":"USD","CALA":"USD","CALT":"DOMESTIC","CALU":"DOMESTIC","CALV":"DOMESTIC","CAMA":"DOMESTIC","CAMT":"DOMESTIC","CAMX":"USD","CAMY":"DOMESTIC","CANL":"DOMESTIC","CANO":"DOMESTIC","CANP":"DOMESTIC","CANZ":"DOMESTIC","CAPA":"DOMESTIC","CAPH":"USD","CAPK":"USD","CAPL":"DOMESTIC","CAPT":"DOMESTIC","CARAT":"OTHER NUMBER","CARBE":"OTHER NUMBER","CARBG":"OTHER NUMBER","CARCH":"OTHER NUMBER","CARCZ":"OTHER NUMBER","CARDE":"OTHER NUMBER","CARDK":"OTHER NUMBER","CAREE":"OTHER NUMBER","CARES":"OTHER NUMBER","CAREU":"OTHER NUMBER","CARFI":"OTHER NUMBER","CARFR":"OTHER NUMBER","CARGR":"OTHER NUMBER","CARHR":"OTHER NUMBER","CARHU":"OTHER NUMBER","CARIE":"OTHER NUMBER","CARIS":"OTHER NUMBER","CARIT":"OTHER NUMBER","CARLT":"OTHER NUMBER","CARLU":"OTHER NUMBER","CARLV":"OTHER NUMBER","CARNL":"OTHER NUMBER","CARNO":"OTHER NUMBER","CARO":"DOMESTIC","CARPL":"OTHER NUMBER","CARPT":"OTHER NUMBER","CARRO":"OTHER NUMBER","CARSE":"OTHER NUMBER","CARSI":"OTHER NUMBER","CARSK":"OTHER NUMBER","CARU":"USD","CARUK":"OTHER NUMBER","CARZA":"OTHER NUMBER","CASA":"DOMESTIC","CASE":"DOMESTIC","CASG":"DOMESTIC","CASI":"DOMESTIC","CASK":"DOMESTIC","CASV":"DOMESTIC","CATH":"USD","CATN":"DOMESTIC","CATR":"USD","CATW":"USD","CAUA":"USD","CAUK":"DOMESTIC","CAUS":"DOMESTIC","CAUY":"USD","CAVN":"USD","CAZA":"DOMESTIC","CBALAL":"DOMESTIC","CBALAT":"DOMESTIC","CBALAZ":"USD","CBALBE":"DOMESTIC","CBALBG":"DOMESTIC","CBALCH":"DOMESTIC","CBALCY":"DOMESTIC","CBALCZ":"DOMESTIC","CBALDE":"DOMESTIC","CBALDK":"DOMESTIC","CBALEA":"DOMESTIC","CBALEE":"DOMESTIC","CBALES":"DOMESTIC","CBALEU":"DOMESTIC","CBALFI":"DOMESTIC","CBALFR":"DOMESTIC","CBALGR":"DOMESTIC","CBALHR":"DOMESTIC","CBALHU":"DOMESTIC","CBALIE":"DOMESTIC","CBALIR":"DOMESTIC","CBALIT":"DOMESTIC","CBALLT":"DOMESTIC","CBALLU":"DOMESTIC","CBALLV":"DOMESTIC","CBALME":"DOMESTIC","CBALMT":"DOMESTIC","CBALNL":"DOMESTIC","CBALNO":"DOMESTIC","CBALPH":"DOMESTIC","CBALPL":"DOMESTIC","CBALPT":"DOMESTIC","CBALRO":"DOMESTIC","CBALRS":"DOMESTIC","CBALSE":"DOMESTIC","CBALSI":"DOMESTIC","CBALSK":"DOMESTIC","CBALTR":"DOMESTIC","CBALUK":"DOMESTIC","CBALUS":"DOMESTIC","CIAE":"DOMESTIC","CIAR":"DOMESTIC","CIAT":"DOMESTIC","CIAU":"DOMESTIC","CIAZ":"DOMESTIC","CIBE":"DOMESTIC","CIBG":"DOMESTIC","CIBR":"DOMESTIC","CIBW":"DOMESTIC","CIBY":"DOMESTIC","CICH":"DOMESTIC","CICN":"DOMESTIC","CICY":"DOMESTIC","CICZ":"DOMESTIC","CIDE":"DOMESTIC","CIDK":"DOMESTIC","CIEE":"DOMESTIC","CIES":"DOMESTIC","CIFI":"DOMESTIC","CIFR":"DOMESTIC","CIGR":"DOMESTIC","CIHK":"DOMESTIC","CIHR":"DOMESTIC","CIHU":"DOMESTIC","CIID":"DOMESTIC","CIIE":"DOMESTIC","CIIL":"DOMESTIC","CIIN":"DOMESTIC","CIIR":"DOMESTIC","CIIT":"DOMESTIC","CIKR":"DOMESTIC","CIKZ":"DOMESTIC","CILT":"DOMESTIC","CILU":"DOMESTIC","CILV":"DOMESTIC","CIMA":"DOMESTIC","CIME":"DOMESTIC","CIMN":"DOMESTIC","CIMT":"DOMESTIC","CIMX":"DOMESTIC","CIMY":"DOMESTIC","CING":"DOMESTIC","CINL":"DOMESTIC","CINO":"DOMESTIC","CINZ":"DOMESTIC","CIPH":"DOMESTIC","CIPK":"DOMESTIC","CIPL":"DOMESTIC","CIPT":"DOMESTIC","CIRO":"DOMESTIC","CIRS":"DOMESTIC","CIRU":"DOMESTIC","CISA":"DOMESTIC","CISE":"DOMESTIC","CISG":"DOMESTIC","CISI":"DOMESTIC","CISK":"DOMESTIC","CITH":"DOMESTIC","CITR":"DOMESTIC","CITW":"DOMESTIC","CIUA":"DOMESTIC","CIUK":"DOMESTIC","CIUS":"DOMESTIC","CIVN":"DOMESTIC","CIZA":"DOMESTIC","CKABE":"DOMESTIC","CKABG":"DOMESTIC","CKACZ":"DOMESTIC","CKADE":"DOMESTIC","CKADK":"DOMESTIC","CKAEE":"DOMESTIC","CKAES":"DOMESTIC","CKAFI":"DOMESTIC","CKAFR":"DOMESTIC","CKAGR":"DOMESTIC","CKAHR":"DOMESTIC","CKAHU":"DOMESTIC","CKAIT":"DOMESTIC","CKALT":"DOMESTIC","CKALU":"DOMESTIC","CKALV":"DOMESTIC","CKAMT":"DOMESTIC","CKANL":"DOMESTIC","CKAPL":"DOMESTIC","CKAPT":"DOMESTIC","CKARO":"DOMESTIC","CKASE":"DOMESTIC","CKASI":"DOMESTIC","CKASK":"DOMESTIC","CLAIMSUS":"PERSONS","CLIAT":"INDEX","CLIAU":"INDEX","CLIBE":"INDEX","CLIBR":"INDEX","CLICA":"INDEX","CLICH":"INDEX","CLICL":"INDEX","CLICN":"INDEX","CLICZ":"INDEX","CLIDE":"INDEX","CLIDK":"INDEX","CLIEE":"INDEX","CLIES":"INDEX","CLIFI":"INDEX","CLIFR":"INDEX","CLIGR":"INDEX","CLIHU":"INDEX","CLIID":"INDEX","CLIIE":"INDEX","CLIIL":"INDEX","CLIIN":"INDEX","CLIIS":"INDEX","CLIIT":"INDEX","CLIJP":"INDEX","CLIKR":"INDEX","CLILU":"INDEX","CLIMX":"INDEX","CLINL":"INDEX","CLINO":"INDEX","CLINZ":"INDEX","CLIPL":"INDEX","CLIPT":"INDEX","CLIRU":"INDEX","CLISE":"INDEX","CLISI":"INDEX","CLISK":"INDEX","CLITR":"INDEX","CLIUK":"INDEX","CLIUS":"INDEX","CLIZA":"INDEX","CONAE":"DOMESTIC","CONAL":"DOMESTIC","CONAT":"DOMESTIC","CONBD":"DOMESTIC","CONBE":"DOMESTIC","CONBG":"DOMESTIC","CONBY":"DOMESTIC","CONCA":"DOMESTIC","CONCH":"DOMESTIC","CONCL":"USD","CONCN":"DOMESTIC","CONCY":"DOMESTIC","CONCZ":"DOMESTIC","CONDE":"DOMESTIC","CONDK":"DOMESTIC","CONEA":"DOMESTIC","CONEE":"DOMESTIC","CONES":"DOMESTIC","CONEU":"DOMESTIC","CONFAL":"INDEX","CONFAT":"INDEX","CONFAU":null,"CONFBE":"INDEX","CONFBG":"INDEX","CONFBR":"INDEX","CONFCY":"INDEX","CONFCZ":"INDEX","CONFDE":"INDEX","CONFDK":"INDEX","CONFEE":"INDEX","CONFES":"INDEX","CONFEU":"INDEX","CONFFI":"INDEX","CONFFR":"INDEX","CONFGR":"INDEX","CONFHR":"INDEX","CONFHU":"INDEX","CONFI":"DOMESTIC","CONFID":"INDEX","CONFIE":"INDEX","CONFIL":null,"CONFIT":"INDEX","CONFJP":"INDEX","CONFKR":null,"CONFLT":"INDEX","CONFLU":"INDEX","CONFLV":"INDEX","CONFME":"INDEX","CONFMK":"INDEX","CONFMT":"INDEX","CONFMX":"INDEX","CONFNL":"INDEX","CONFPL":"INDEX","CONFPT":"INDEX","CONFR":"DOMESTIC","CONFRO":"INDEX","CONFRS":"INDEX","CONFSE":"INDEX","CONFSI":"INDEX","CONFSK":"INDEX","CONFTR":"INDEX","CONFUK":"INDEX","CONFUS":null,"CONGR":"DOMESTIC","CONHR":"DOMESTIC","CONHU":"DOMESTIC","CONIE":"DOMESTIC","CONIT":"DOMESTIC","CONKR":"DOMESTIC","CONLT":"DOMESTIC","CONLU":"DOMESTIC","CONLV":"DOMESTIC","CONMK":"DOMESTIC","CONMT":"DOMESTIC","CONMX":"DOMESTIC","CONNL":"DOMESTIC","CONNO":"DOMESTIC","CONPL":"DOMESTIC","CONPT":"DOMESTIC","CONQA":"DOMESTIC","CONRO":"DOMESTIC","CONRS":"DOMESTIC","CONRU":"DOMESTIC","CONSE":"DOMESTIC","CONSI":"DOMESTIC","CONSK":"DOMESTIC","CONUA":"DOMESTIC","CONUK":"DOMESTIC","CONZA":"DOMESTIC","COREAR":"INDEX","COREAT":"INDEX","COREAU":"INDEX","COREBD":"INDEX","COREBE":"INDEX","COREBG":"INDEX","COREBR":"INDEX","CORECA":"INDEX","CORECH":"INDEX","CORECY":"INDEX","CORECZ":"INDEX","COREDE":"INDEX","COREDK":"INDEX","COREEA":"INDEX","COREEE":"INDEX","COREES":"INDEX","COREEU":"INDEX","COREFI":"INDEX","COREFR":"INDEX","COREGR":"INDEX","COREHR":"INDEX","COREHU":"INDEX","COREIE":"INDEX","COREIN":"INDEX","COREIS":"INDEX","COREIT":"INDEX","COREJP":"INDEX","COREKR":"INDEX","CORELT":"INDEX","CORELU":"INDEX","CORELV":"INDEX","COREMK":"INDEX","COREMT":"INDEX","COREMX":"INDEX","CORENL":"INDEX","CORENO":"INDEX","CORENP":"INDEX","COREPL":"INDEX","COREPT":"INDEX","CORERO":"INDEX","CORERS":"INDEX","CORERU":"INDEX","CORESE":"INDEX","CORESG":"INDEX","CORESI":"INDEX","CORESK":"INDEX","CORETH":"INDEX","CORETR":"INDEX","CORETW":"INDEX","COREUK":"INDEX","COREUS":"INDEX","CPAT":"INDEX","CPBE":"INDEX","CPBG":"INDEX","CPCZ":"INDEX","CPDE":"INDEX","CPDK":"INDEX","CPES":"INDEX","CPEU":"INDEX","CPFI":"INDEX","CPFR":"INDEX","CPHR":"INDEX","CPHU":"INDEX","CPIAE":"INDEX","CPIAF":"INDEX","CPIAG":"INDEX","CPIAL":"INDEX","CPIAM":"INDEX","CPIAR":"INDEX","CPIAT":"INDEX","CPIAU":"INDEX","CPIAW":"INDEX","CPIAZ":"INDEX","CPIBA":"INDEX","CPIBB":"INDEX","CPIBD":"INDEX","CPIBE":"INDEX","CPIBF":"INDEX","CPIBG":"INDEX","CPIBH":"INDEX","CPIBI":"INDEX","CPIBJ":"INDEX","CPIBN":"INDEX","CPIBO":"INDEX","CPIBR":"INDEX","CPIBS":"INDEX","CPIBT":"INDEX","CPIBW":"INDEX","CPIBY":"INDEX","CPIBZ":"INDEX","CPICA":"INDEX","CPICF":"INDEX","CPICG":"INDEX","CPICH":"INDEX","CPICI":"INDEX","CPICL":"INDEX","CPICM":"INDEX","CPICN":"INDEX","CPICO":"INDEX","CPICR":"INDEX","CPICV":"INDEX","CPICW":"INDEX","CPICY":"INDEX","CPICZ":"INDEX","CPIDE":"INDEX","CPIDJ":"INDEX","CPIDK":"INDEX","CPIDM":"INDEX","CPIDO":"INDEX","CPIEA":"INDEX","CPIEC":"INDEX","CPIEE":"INDEX","CPIEG":"INDEX","CPIES":"INDEX","CPIET":"INDEX","CPIEU":"INDEX","CPIFI":"INDEX","CPIFJ":"INDEX","CPIFR":"INDEX","CPIGA":"INDEX","CPIGD":"INDEX","CPIGE":"INDEX","CPIGN":"INDEX","CPIGQ":"INDEX","CPIGR":"INDEX","CPIGT":"INDEX","CPIGW":"INDEX","CPIGY":"INDEX","CPIHK":"INDEX","CPIHN":"INDEX","CPIHR":"INDEX","CPIHT":"INDEX","CPIHU":"INDEX","CPIID":"INDEX","CPIIE":"INDEX","CPIIL":"INDEX","CPIIN":"INDEX","CPIIQ":"INDEX","CPIIR":"INDEX","CPIIS":"INDEX","CPIIT":"INDEX","CPIJM":"INDEX","CPIJO":"INDEX","CPIJP":"INDEX","CPIKG":"INDEX","CPIKH":"INDEX","CPIKI":"INDEX","CPIKN":"INDEX","CPIKR":"INDEX","CPIKW":"INDEX","CPIKZ":"INDEX","CPILA":"INDEX","CPILB":"INDEX","CPILC":"INDEX","CPILK":"OTHER NUMBER","CPILR":"INDEX","CPILS":"INDEX","CPILT":"INDEX","CPILU":"INDEX","CPILV":"INDEX","CPIMA":"INDEX","CPIMD":"INDEX","CPIME":"INDEX","CPIMG":"INDEX","CPIMK":"INDEX","CPIML":"INDEX","CPIMM":"INDEX","CPIMN":"INDEX","CPIMO":"INDEX","CPIMR":"INDEX","CPIMS":"INDEX","CPIMT":"INDEX","CPIMU":"INDEX","CPIMV":"INDEX","CPIMW":"INDEX","CPIMX":"INDEX","CPIMY":"INDEX","CPIMZ":"INDEX","CPINE":"INDEX","CPING":"INDEX","CPINI":"INDEX","CPINL":"INDEX","CPINO":"INDEX","CPINP":"INDEX","CPINZ":"INDEX","CPIOM":"INDEX","CPIPA":"INDEX","CPIPE":"INDEX","CPIPH":"INDEX","CPIPK":"INDEX","CPIPL":"INDEX","CPIPS":"INDEX","CPIPT":"INDEX","CPIQA":"INDEX","CPIRO":"INDEX","CPIRS":"INDEX","CPIRU":"INDEX","CPISA":"INDEX","CPISB":"INDEX","CPISC":"INDEX","CPISD":"INDEX","CPISE":"INDEX","CPISG":"INDEX","CPISI":"INDEX","CPISK":"INDEX","CPISR":"INDEX","CPISS":"INDEX","CPIST":"INDEX","CPISV":"INDEX","CPISZ":"INDEX","CPIT":"INDEX","CPITD":"INDEX","CPITG":"INDEX","CPITH":"INDEX","CPITJ":"INDEX","CPITL":"INDEX","CPITN":"INDEX","CPITO":"INDEX","CPITR":"INDEX","CPITT":"INDEX","CPITW":"INDEX","CPIUA":"INDEX","CPIUG":"INDEX","CPIUK":"INDEX","CPIUS":"INDEX","CPIUY":"INDEX","CPIUZ":"INDEX","CPIVC":"INDEX","CPIVE":"INDEX","CPIVN":"INDEX","CPIWS":"INDEX","CPIXK":"INDEX","CPIZA":"INDEX","CPIZM":"INDEX","CPIZW":"INDEX","CPLU":"INDEX","CPMK":"INDEX","CPMX":"DOMESTIC","CPNL":"INDEX","CPNO":"INDEX","CPPL":"INDEX","CPPT":"INDEX","CPRO":"INDEX","CPSE":"INDEX","CPSG":"DOMESTIC","CPSI":"INDEX","CPSK":"INDEX","CPUK":"INDEX","CREDAR":"DOMESTIC","CREDAT":"DOMESTIC","CREDAU":"DOMESTIC","CREDBE":"DOMESTIC","CREDBR":"DOMESTIC","CREDCA":"DOMESTIC","CREDCH":"DOMESTIC","CREDCL":"DOMESTIC","CREDCN":"DOMESTIC","CREDCO":"DOMESTIC","CREDCZ":"DOMESTIC","CREDDE":"DOMESTIC","CREDDK":"DOMESTIC","CREDEA":"DOMESTIC","CREDES":"DOMESTIC","CREDFI":"DOMESTIC","CREDFR":"DOMESTIC","CREDGR":"DOMESTIC","CREDHK":"DOMESTIC","CREDHU":"DOMESTIC","CREDID":"DOMESTIC","CREDIE":"DOMESTIC","CREDIL":"DOMESTIC","CREDIN":"DOMESTIC","CREDIT":"DOMESTIC","CREDJP":"DOMESTIC","CREDKR":"DOMESTIC","CREDLU":"DOMESTIC","CREDMO":"DOMESTIC","CREDMX":"DOMESTIC","CREDMY":"DOMESTIC","CREDNL":"DOMESTIC","CREDNO":"DOMESTIC","CREDNZ":"DOMESTIC","CREDPL":"DOMESTIC","CREDPT":"DOMESTIC","CREDRU":"DOMESTIC","CREDSA":"DOMESTIC","CREDSE":"DOMESTIC","CREDSG":"DOMESTIC","CREDTH":"DOMESTIC","CREDTN":"DOMESTIC","CREDTR":"DOMESTIC","CREDUK":"DOMESTIC","CREDUS":"DOMESTIC","CREDZA":"DOMESTIC","DWPEBE":"INDEX","DWPECY":"INDEX","DWPEDE":"INDEX","DWPEES":"INDEX","DWPEEU":"INDEX","DWPEFI":"INDEX","DWPEFR":"INDEX","DWPEGR":"INDEX","DWPEHU":"INDEX","DWPEMK":"INDEX","DWPENL":"INDEX","DWPENO":"INDEX","DWPEPT":"INDEX","DWPERO":"INDEX","DWPESE":"INDEX","DWPESI":"INDEX","ELEAT":"INDEX","ELEBE":"INDEX","ELEBG":"INDEX","ELECH":"INDEX","ELECN":"OTHER NUMBER","ELECY":"INDEX","ELECZ":"INDEX","ELEDE":"INDEX","ELEDK":"INDEX","ELEEE":"INDEX","ELEES":"INDEX","ELEEU":"INDEX","ELEFI":"INDEX","ELEFR":"INDEX","ELEGR":"INDEX","ELEHR":"INDEX","ELEHU":"INDEX","ELEIE":"INDEX","ELEIT":"INDEX","ELELT":"INDEX","ELELU":"INDEX","ELELV":"INDEX","ELEMK":"INDEX","ELEMT":"INDEX","ELENL":"INDEX","ELENO":"INDEX","ELEPL":"INDEX","ELEPT":"INDEX","ELERO":"INDEX","ELESE":"INDEX","ELESI":"INDEX","ELESK":"INDEX","ELETR":"INDEX","ELEUK":"INDEX","ELEUS":"PERCENT","ELEZA":"INDEX","EMPAR":"PERCENT","EMPAT":"PERSONS","EMPAU":"PERSONS","EMPAZ":"OTHER NUMBER","EMPBD":"PERSONS","EMPBE":"PERSONS","EMPBG":"PERSONS","EMPBR":"PERSONS","EMPBY":"PERSONS","EMPCA":"PERSONS","EMPCH":"PERSONS","EMPCL":"PERSONS","EMPCN":"PERSONS","EMPCO":"PERCENT","EMPCR":"PERSONS","EMPCY":"PERSONS","EMPCZ":"PERSONS","EMPDE":"PERSONS","EMPDK":"PERSONS","EMPDO":"PERSONS","EMPEE":"PERSONS","EMPES":"PERSONS","EMPFI":"PERSONS","EMPFR":"PERSONS","EMPGR":"PERSONS","EMPHR":"PERSONS","EMPHU":"PERSONS","EMPID":"PERSONS","EMPIE":"PERSONS","EMPIS":"PERSONS","EMPIT":"PERSONS","EMPJO":"PERCENT","EMPJP":"PERSONS","EMPKR":"PERSONS","EMPKZ":"PERSONS","EMPLK":"PERCENT","EMPLT":"PERSONS","EMPLU":"PERSONS","EMPLV":"PERSONS","EMPME":"PERSONS","EMPMK":"PERSONS","EMPMO":"PERSONS","EMPMT":"PERSONS","EMPMX":"PERSONS","EMPMY":"PERSONS","EMPNL":"PERSONS","EMPNO":"PERSONS","EMPNZ":"PERSONS","EMPPA":"PERSONS","EMPPE":"INDEX","EMPPH":"PERSONS","EMPPK":"PERSONS","EMPPL":"PERSONS","EMPPT":"PERSONS","EMPQA":"PERSONS","EMPRO":"PERSONS","EMPRS":"PERSONS","EMPRU":"PERSONS","EMPSE":"PERSONS","EMPSG":"PERSONS","EMPSI":"PERSONS","EMPSK":"PERSONS","EMPTH":"PERSONS","EMPTN":"PERSONS","EMPTR":"PERSONS","EMPTW":"PERSONS","EMPUA":"PERSONS","EMPUS":"PERSONS","EMPUY":"PERCENT","EMPVN":"PERSONS","EMPZA":"INDEX","EMRATIOAT":"PERCENT","EMRATIOBE":"PERCENT","EMRATIOBG":"PERCENT","EMRATIOCH":"PERCENT","EMRATIOCY":"PERCENT","EMRATIOCZ":"PERCENT","EMRATIODE":"PERCENT","EMRATIODK":"PERCENT","EMRATIOEE":"PERCENT","EMRATIOES":"PERCENT","EMRATIOFI":"PERCENT","EMRATIOFR":"PERCENT","EMRATIOGR":"PERCENT","EMRATIOHR":"PERCENT","EMRATIOHU":"PERCENT","EMRATIOIE":"PERCENT","EMRATIOIS":"PERCENT","EMRATIOIT":"PERCENT","EMRATIOJP":"PERCENT","EMRATIOLT":"PERCENT","EMRATIOLU":"PERCENT","EMRATIOLV":"PERCENT","EMRATIOME":"PERCENT","EMRATIOMK":"PERCENT","EMRATIOMT":"PERCENT","EMRATIONL":"PERCENT","EMRATIONO":"PERCENT","EMRATIOPL":"PERCENT","EMRATIOPT":"PERCENT","EMRATIORO":"PERCENT","EMRATIORS":"PERCENT","EMRATIOSE":"PERCENT","EMRATIOSI":"PERCENT","EMRATIOSK":"PERCENT","EMRATIOTR":"PERCENT","EMRATIOTW":"PERCENT","EMRATIOUS":"RATIO","EQYCAPCN":"DOMESTIC","EXPAE":"DOMESTIC","EXPAL":"DOMESTIC","EXPAR":"DOMESTIC","EXPAT":"DOMESTIC","EXPAU":"DOMESTIC","EXPAZ":"DOMESTIC","EXPBD":"DOMESTIC","EXPBE":"DOMESTIC","EXPBG":"DOMESTIC","EXPBR":"DOMESTIC","EXPBW":"DOMESTIC","EXPBY":"DOMESTIC","EXPCA":"DOMESTIC","EXPCH":"DOMESTIC","EXPCL":"DOMESTIC","EXPCM":"DOMESTIC","EXPCN":"DOMESTIC","EXPCO":"DOMESTIC","EXPCY":"DOMESTIC","EXPCZ":"DOMESTIC","EXPDE":"DOMESTIC","EXPDK":"DOMESTIC","EXPEA":"DOMESTIC","EXPEE":"DOMESTIC","EXPES":"DOMESTIC","EXPEU":"DOMESTIC","EXPFI":"DOMESTIC","EXPFR":"DOMESTIC","EXPGR":"DOMESTIC","EXPHK":"DOMESTIC","EXPHR":"DOMESTIC","EXPHU":"DOMESTIC","EXPID":"DOMESTIC","EXPIE":"DOMESTIC","EXPIL":"DOMESTIC","EXPIN":"DOMESTIC","EXPIR":"DOMESTIC","EXPIT":"DOMESTIC","EXPJO":"DOMESTIC","EXPJP":"DOMESTIC","EXPKR":"DOMESTIC","EXPKZ":"DOMESTIC","EXPLT":"DOMESTIC","EXPLU":"DOMESTIC","EXPLV":"DOMESTIC","EXPMA":"DOMESTIC","EXPME":"DOMESTIC","EXPMK":"DOMESTIC","EXPMN":"DOMESTIC","EXPMONAR":"USD","EXPMONAU":"DOMESTIC","EXPMONBD":"USD","EXPMONBE":"DOMESTIC","EXPMONBG":"DOMESTIC","EXPMONBR":"USD","EXPMONCA":"DOMESTIC","EXPMONCL":"USD","EXPMONCN":"USD","EXPMONCO":"USD","EXPMONCR":"USD","EXPMONCZ":"DOMESTIC","EXPMONDE":"DOMESTIC","EXPMONDK":"DOMESTIC","EXPMONEE":"DOMESTIC","EXPMONEG":"USD","EXPMONES":"DOMESTIC","EXPMONEU":"DOMESTIC","EXPMONFI":"DOMESTIC","EXPMONFR":"DOMESTIC","EXPMONGR":"DOMESTIC","EXPMONHK":"DOMESTIC","EXPMONHR":"DOMESTIC","EXPMONHU":"DOMESTIC","EXPMONID":"USD","EXPMONIN":"USD","EXPMONIT":"DOMESTIC","EXPMONJP":"DOMESTIC","EXPMONKH":"DOMESTIC","EXPMONKR":"USD","EXPMONKZ":"USD","EXPMONLT":"DOMESTIC","EXPMONLU":"DOMESTIC","EXPMONLV":"DOMESTIC","EXPMONMK":"DOMESTIC","EXPMONMT":"DOMESTIC","EXPMONMX":"USD","EXPMONMY":"DOMESTIC","EXPMONNL":"DOMESTIC","EXPMONNP":"USD","EXPMONPH":"USD","EXPMONPK":"DOMESTIC","EXPMONPL":"DOMESTIC","EXPMONPT":"DOMESTIC","EXPMONQA":"DOMESTIC","EXPMONRO":"DOMESTIC","EXPMONRS":"DOMESTIC","EXPMONRU":"USD","EXPMONSA":"DOMESTIC","EXPMONSE":"DOMESTIC","EXPMONSG":"DOMESTIC","EXPMONSI":"DOMESTIC","EXPMONSK":"DOMESTIC","EXPMONTH":"USD","EXPMONTR":"USD","EXPMONTW":"USD","EXPMONUA":"USD","EXPMONUK":"DOMESTIC","EXPMONUS":"DOMESTIC","EXPMONUY":"USD","EXPMONVN":"USD","EXPMONZA":"DOMESTIC","EXPMT":"DOMESTIC","EXPMX":"DOMESTIC","EXPMY":"DOMESTIC","EXPNG":"DOMESTIC","EXPNL":"DOMESTIC","EXPNO":"DOMESTIC","EXPNZ":"DOMESTIC","EXPPE":"DOMESTIC","EXPPH":"DOMESTIC","EXPPK":"DOMESTIC","EXPPL":"DOMESTIC","EXPPT":"DOMESTIC","EXPQA":"DOMESTIC","EXPRO":"DOMESTIC","EXPRS":"DOMESTIC","EXPRU":"DOMESTIC","EXPRW":"DOMESTIC","EXPSA":"DOMESTIC","EXPSE":"DOMESTIC","EXPSG":"DOMESTIC","EXPSI":"DOMESTIC","EXPSK":"DOMESTIC","EXPSV":"DOMESTIC","EXPTH":"DOMESTIC","EXPTR":"DOMESTIC","EXPTW":"DOMESTIC","EXPUA":"DOMESTIC","EXPUK":"DOMESTIC","EXPUS":"DOMESTIC","EXPZA":"DOMESTIC","GASDEMAL":"CUBIC METERS","GASDEMAT":"CUBIC METERS","GASDEMAU":"CUBIC METERS","GASDEMAZ":"CUBIC METERS","GASDEMBE":"CUBIC METERS","GASDEMBG":"CUBIC METERS","GASDEMBH":"CUBIC METERS","GASDEMBN":"CUBIC METERS","GASDEMBO":"CUBIC METERS","GASDEMBY":"CUBIC METERS","GASDEMCA":"CUBIC METERS","GASDEMCH":"CUBIC METERS","GASDEMCL":"CUBIC METERS","GASDEMCZ":"CUBIC METERS","GASDEMDE":"CUBIC METERS","GASDEMDK":"CUBIC METERS","GASDEMDZ":"CUBIC METERS","GASDEMEC":"CUBIC METERS","GASDEMEE":"CUBIC METERS","GASDEMEG":"CUBIC METERS","GASDEMES":"CUBIC METERS","GASDEMFI":"CUBIC METERS","GASDEMFR":"CUBIC METERS","GASDEMGE":"CUBIC METERS","GASDEMGQ":"CUBIC METERS","GASDEMGR":"CUBIC METERS","GASDEMHK":"CUBIC METERS","GASDEMHR":"CUBIC METERS","GASDEMHU":"CUBIC METERS","GASDEMID":"CUBIC METERS","GASDEMIE":"CUBIC METERS","GASDEMIN":"CUBIC METERS","GASDEMIT":"CUBIC METERS","GASDEMJP":"CUBIC METERS","GASDEMKR":"CUBIC METERS","GASDEMKW":"CUBIC METERS","GASDEMLT":"CUBIC METERS","GASDEMLU":"CUBIC METERS","GASDEMLV":"CUBIC METERS","GASDEMLY":"CUBIC METERS","GASDEMMA":"CUBIC METERS","GASDEMMD":"CUBIC METERS","GASDEMMK":"CUBIC METERS","GASDEMMT":"CUBIC METERS","GASDEMMX":"CUBIC METERS","GASDEMNG":"CUBIC METERS","GASDEMNL":"CUBIC METERS","GASDEMNO":"CUBIC METERS","GASDEMNZ":"CUBIC METERS","GASDEMPE":"CUBIC METERS","GASDEMPH":"CUBIC METERS","GASDEMPL":"CUBIC METERS","GASDEMPT":"CUBIC METERS","GASDEMQA":"CUBIC METERS","GASDEMRO":"CUBIC METERS","GASDEMSE":"CUBIC METERS","GASDEMSI":"CUBIC METERS","GASDEMSK":"CUBIC METERS","GASDEMTN":"CUBIC METERS","GASDEMTR":"CUBIC METERS","GASDEMTT":"CUBIC METERS","GASDEMTW":"CUBIC METERS","GASDEMUA":"CUBIC METERS","GASDEMUK":"CUBIC METERS","GASDEMUS":"CUBIC METERS","GASDEMVE":"CUBIC METERS","GASDEMZA":"CUBIC METERS","GASODEMAE":"BARRELS PER DAY","GASODEMAL":"BARRELS PER DAY","GASODEMAM":"BARRELS PER DAY","GASODEMAO":"BARRELS PER DAY","GASODEMAR":"BARRELS PER DAY","GASODEMAT":"BARRELS PER DAY","GASODEMAU":"BARRELS PER DAY","GASODEMAZ":"BARRELS PER DAY","GASODEMBB":"BARRELS PER DAY","GASODEMBD":"BARRELS PER DAY","GASODEMBE":"BARRELS PER DAY","GASODEMBG":"BARRELS PER DAY","GASODEMBH":"BARRELS PER DAY","GASODEMBM":"BARRELS PER DAY","GASODEMBN":"BARRELS PER DAY","GASODEMBO":"BARRELS PER DAY","GASODEMBR":"BARRELS PER DAY","GASODEMBY":"BARRELS PER DAY","GASODEMBZ":"BARRELS PER DAY","GASODEMCA":"BARRELS PER DAY","GASODEMCH":"BARRELS PER DAY","GASODEMCL":"BARRELS PER DAY","GASODEMCN":"BARRELS PER DAY","GASODEMCO":"BARRELS PER DAY","GASODEMCR":"BARRELS PER DAY","GASODEMCU":"BARRELS PER DAY","GASODEMCY":"BARRELS PER DAY","GASODEMCZ":"BARRELS PER DAY","GASODEMDE":"BARRELS PER DAY","GASODEMDK":"BARRELS PER DAY","GASODEMDO":"BARRELS PER DAY","GASODEMDZ":"BARRELS PER DAY","GASODEMEC":"BARRELS PER DAY","GASODEMEE":"BARRELS PER DAY","GASODEMEG":"BARRELS PER DAY","GASODEMES":"BARRELS PER DAY","GASODEMFI":"BARRELS PER DAY","GASODEMFR":"BARRELS PER DAY","GASODEMGA":"BARRELS PER DAY","GASODEMGD":"BARRELS PER DAY","GASODEMGE":"BARRELS PER DAY","GASODEMGM":"BARRELS PER DAY","GASODEMGQ":"BARRELS PER DAY","GASODEMGR":"BARRELS PER DAY","GASODEMGT":"BARRELS PER DAY","GASODEMGY":"BARRELS PER DAY","GASODEMHK":"BARRELS PER DAY","GASODEMHN":"BARRELS PER DAY","GASODEMHR":"BARRELS PER DAY","GASODEMHT":"BARRELS PER DAY","GASODEMHU":"BARRELS PER DAY","GASODEMID":"BARRELS PER DAY","GASODEMIE":"BARRELS PER DAY","GASODEMIN":"BARRELS PER DAY","GASODEMIQ":"BARRELS PER DAY","GASODEMIR":"BARRELS PER DAY","GASODEMIS":"BARRELS PER DAY","GASODEMIT":"BARRELS PER DAY","GASODEMJM":"BARRELS PER DAY","GASODEMJP":"BARRELS PER DAY","GASODEMKR":"BARRELS PER DAY","GASODEMKW":"BARRELS PER DAY","GASODEMKZ":"BARRELS PER DAY","GASODEMLT":"BARRELS PER DAY","GASODEMLU":"BARRELS PER DAY","GASODEMLV":"BARRELS PER DAY","GASODEMLY":"BARRELS PER DAY","GASODEMMA":"BARRELS PER DAY","GASODEMMD":"BARRELS PER DAY","GASODEMMK":"BARRELS PER DAY","GASODEMMM":"BARRELS PER DAY","GASODEMMT":"BARRELS PER DAY","GASODEMMU":"BARRELS PER DAY","GASODEMMX":"BARRELS PER DAY","GASODEMMY":"BARRELS PER DAY","GASODEMNE":"BARRELS PER DAY","GASODEMNG":"BARRELS PER DAY","GASODEMNI":"BARRELS PER DAY","GASODEMNL":"BARRELS PER DAY","GASODEMNO":"BARRELS PER DAY","GASODEMNP":"BARRELS PER DAY","GASODEMNZ":"BARRELS PER DAY","GASODEMOM":"BARRELS PER DAY","GASODEMPA":"BARRELS PER DAY","GASODEMPE":"BARRELS PER DAY","GASODEMPG":"BARRELS PER DAY","GASODEMPH":"BARRELS PER DAY","GASODEMPL":"BARRELS PER DAY","GASODEMPT":"BARRELS PER DAY","GASODEMPY":"BARRELS PER DAY","GASODEMQA":"BARRELS PER DAY","GASODEMRO":"BARRELS PER DAY","GASODEMRU":"BARRELS PER DAY","GASODEMSA":"BARRELS PER DAY","GASODEMSD":"BARRELS PER DAY","GASODEMSE":"BARRELS PER DAY","GASODEMSG":"BARRELS PER DAY","GASODEMSI":"BARRELS PER DAY","GASODEMSK":"BARRELS PER DAY","GASODEMSR":"BARRELS PER DAY","GASODEMSV":"BARRELS PER DAY","GASODEMSY":"BARRELS PER DAY","GASODEMSZ":"BARRELS PER DAY","GASODEMTH":"BARRELS PER DAY","GASODEMTJ":"BARRELS PER DAY","GASODEMTN":"BARRELS PER DAY","GASODEMTR":"BARRELS PER DAY","GASODEMTT":"BARRELS PER DAY","GASODEMTW":"BARRELS PER DAY","GASODEMUA":"BARRELS PER DAY","GASODEMUK":"BARRELS PER DAY","GASODEMUS":"BARRELS PER DAY","GASODEMUY":"BARRELS PER DAY","GASODEMVE":"BARRELS PER DAY","GASODEMVN":"BARRELS PER DAY","GASODEMYE":"BARRELS PER DAY","GASODEMZA":"BARRELS PER DAY","GASOPRODAE":"BARRELS PER DAY","GASOPRODAL":"BARRELS PER DAY","GASOPRODAM":"BARRELS PER DAY","GASOPRODAO":"BARRELS PER DAY","GASOPRODAR":"BARRELS PER DAY","GASOPRODAT":"BARRELS PER DAY","GASOPRODAU":"BARRELS PER DAY","GASOPRODAZ":"BARRELS PER DAY","GASOPRODBB":"BARRELS PER DAY","GASOPRODBD":"BARRELS PER DAY","GASOPRODBE":"BARRELS PER DAY","GASOPRODBG":"BARRELS PER DAY","GASOPRODBH":"BARRELS PER DAY","GASOPRODBM":"BARRELS PER DAY","GASOPRODBN":"BARRELS PER DAY","GASOPRODBO":"BARRELS PER DAY","GASOPRODBR":"BARRELS PER DAY","GASOPRODBY":"BARRELS PER DAY","GASOPRODBZ":"BARRELS PER DAY","GASOPRODCA":"BARRELS PER DAY","GASOPRODCH":"BARRELS PER DAY","GASOPRODCL":"BARRELS PER DAY","GASOPRODCN":"BARRELS PER DAY","GASOPRODCO":"BARRELS PER DAY","GASOPRODCR":"BARRELS PER DAY","GASOPRODCU":"BARRELS PER DAY","GASOPRODCY":"BARRELS PER DAY","GASOPRODCZ":"BARRELS PER DAY","GASOPRODDE":"BARRELS PER DAY","GASOPRODDK":"BARRELS PER DAY","GASOPRODDO":"BARRELS PER DAY","GASOPRODDZ":"BARRELS PER DAY","GASOPRODEC":"BARRELS PER DAY","GASOPRODEE":"BARRELS PER DAY","GASOPRODEG":"BARRELS PER DAY","GASOPRODES":"BARRELS PER DAY","GASOPRODFI":"BARRELS PER DAY","GASOPRODFR":"BARRELS PER DAY","GASOPRODGA":"BARRELS PER DAY","GASOPRODGD":"BARRELS PER DAY","GASOPRODGE":"BARRELS PER DAY","GASOPRODGM":"BARRELS PER DAY","GASOPRODGQ":"BARRELS PER DAY","GASOPRODGR":"BARRELS PER DAY","GASOPRODGT":"BARRELS PER DAY","GASOPRODGY":"BARRELS PER DAY","GASOPRODHK":"BARRELS PER DAY","GASOPRODHN":"BARRELS PER DAY","GASOPRODHR":"BARRELS PER DAY","GASOPRODHT":"BARRELS PER DAY","GASOPRODHU":"BARRELS PER DAY","GASOPRODID":"BARRELS PER DAY","GASOPRODIE":"BARRELS PER DAY","GASOPRODIN":"BARRELS PER DAY","GASOPRODIQ":"BARRELS PER DAY","GASOPRODIR":"BARRELS PER DAY","GASOPRODIS":"BARRELS PER DAY","GASOPRODIT":"BARRELS PER DAY","GASOPRODJM":"BARRELS PER DAY","GASOPRODJP":"BARRELS PER DAY","GASOPRODKR":"BARRELS PER DAY","GASOPRODKW":"BARRELS PER DAY","GASOPRODKZ":"BARRELS PER DAY","GASOPRODLT":"BARRELS PER DAY","GASOPRODLU":"BARRELS PER DAY","GASOPRODLV":"BARRELS PER DAY","GASOPRODLY":"BARRELS PER DAY","GASOPRODMA":"BARRELS PER DAY","GASOPRODMD":"BARRELS PER DAY","GASOPRODMK":"BARRELS PER DAY","GASOPRODMM":"BARRELS PER DAY","GASOPRODMT":"BARRELS PER DAY","GASOPRODMU":"BARRELS PER DAY","GASOPRODMX":"BARRELS PER DAY","GASOPRODMY":"BARRELS PER DAY","GASOPRODNE":"BARRELS PER DAY","GASOPRODNG":"BARRELS PER DAY","GASOPRODNI":"BARRELS PER DAY","GASOPRODNL":"BARRELS PER DAY","GASOPRODNO":"BARRELS PER DAY","GASOPRODNP":"BARRELS PER DAY","GASOPRODNZ":"BARRELS PER DAY","GASOPRODOM":"BARRELS PER DAY","GASOPRODPA":"BARRELS PER DAY","GASOPRODPE":"BARRELS PER DAY","GASOPRODPG":"BARRELS PER DAY","GASOPRODPH":"BARRELS PER DAY","GASOPRODPL":"BARRELS PER DAY","GASOPRODPT":"BARRELS PER DAY","GASOPRODPY":"BARRELS PER DAY","GASOPRODQA":"BARRELS PER DAY","GASOPRODRO":"BARRELS PER DAY","GASOPRODRU":"BARRELS PER DAY","GASOPRODSA":"BARRELS PER DAY","GASOPRODSD":"BARRELS PER DAY","GASOPRODSE":"BARRELS PER DAY","GASOPRODSG":"BARRELS PER DAY","GASOPRODSI":"BARRELS PER DAY","GASOPRODSK":"BARRELS PER DAY","GASOPRODSR":"BARRELS PER DAY","GASOPRODSV":"BARRELS PER DAY","GASOPRODSY":"BARRELS PER DAY","GASOPRODSZ":"BARRELS PER DAY","GASOPRODTH":"BARRELS PER DAY","GASOPRODTJ":"BARRELS PER DAY","GASOPRODTN":"BARRELS PER DAY","GASOPRODTR":"BARRELS PER DAY","GASOPRODTT":"BARRELS PER DAY","GASOPRODTW":"BARRELS PER DAY","GASOPRODUA":"BARRELS PER DAY","GASOPRODUK":"BARRELS PER DAY","GASOPRODUS":"BARRELS PER DAY","GASOPRODUY":"BARRELS PER DAY","GASOPRODVE":"BARRELS PER DAY","GASOPRODVN":"BARRELS PER DAY","GASOPRODYE":"BARRELS PER DAY","GASOPRODZA":"BARRELS PER DAY","GASPRODAL":"CUBIC METERS","GASPRODAT":"CUBIC METERS","GASPRODAU":"CUBIC METERS","GASPRODAZ":"CUBIC METERS","GASPRODBE":"CUBIC METERS","GASPRODBG":"CUBIC METERS","GASPRODBH":"CUBIC METERS","GASPRODBN":"CUBIC METERS","GASPRODBO":"CUBIC METERS","GASPRODBY":"CUBIC METERS","GASPRODCA":"CUBIC METERS","GASPRODCH":"CUBIC METERS","GASPRODCL":"CUBIC METERS","GASPRODCN":"CUBIC METERS","GASPRODCZ":"CUBIC METERS","GASPRODDE":"CUBIC METERS","GASPRODDK":"CUBIC METERS","GASPRODDZ":"CUBIC METERS","GASPRODEC":"CUBIC METERS","GASPRODEE":"CUBIC METERS","GASPRODEG":"CUBIC METERS","GASPRODES":"CUBIC METERS","GASPRODFI":"CUBIC METERS","GASPRODFR":"CUBIC METERS","GASPRODGA":"CUBIC METERS","GASPRODGE":"CUBIC METERS","GASPRODGQ":"CUBIC METERS","GASPRODGR":"CUBIC METERS","GASPRODHK":"CUBIC METERS","GASPRODHR":"CUBIC METERS","GASPRODHU":"CUBIC METERS","GASPRODID":"CUBIC METERS","GASPRODIE":"CUBIC METERS","GASPRODIN":"CUBIC METERS","GASPRODIQ":"CUBIC METERS","GASPRODIT":"CUBIC METERS","GASPRODJP":"CUBIC METERS","GASPRODKR":"CUBIC METERS","GASPRODKW":"CUBIC METERS","GASPRODKZ":"CUBIC METERS","GASPRODLT":"CUBIC METERS","GASPRODLU":"CUBIC METERS","GASPRODLV":"CUBIC METERS","GASPRODLY":"CUBIC METERS","GASPRODMA":"CUBIC METERS","GASPRODMD":"CUBIC METERS","GASPRODMK":"CUBIC METERS","GASPRODMT":"CUBIC METERS","GASPRODMX":"CUBIC METERS","GASPRODMY":"CUBIC METERS","GASPRODNG":"CUBIC METERS","GASPRODNL":"CUBIC METERS","GASPRODNO":"CUBIC METERS","GASPRODNZ":"CUBIC METERS","GASPRODPE":"CUBIC METERS","GASPRODPG":"CUBIC METERS","GASPRODPH":"CUBIC METERS","GASPRODPL":"CUBIC METERS","GASPRODPT":"CUBIC METERS","GASPRODQA":"CUBIC METERS","GASPRODRO":"CUBIC METERS","GASPRODRU":"CUBIC METERS","GASPRODSE":"CUBIC METERS","GASPRODSG":"CUBIC METERS","GASPRODSI":"CUBIC METERS","GASPRODSK":"CUBIC METERS","GASPRODTH":"CUBIC METERS","GASPRODTN":"CUBIC METERS","GASPRODTR":"CUBIC METERS","GASPRODTT":"CUBIC METERS","GASPRODTW":"CUBIC METERS","GASPRODUA":"CUBIC METERS","GASPRODUK":"CUBIC METERS","GASPRODUS":"CUBIC METERS","GASPRODVE":"CUBIC METERS","GASPRODVN":"CUBIC METERS","GASPRODZA":"CUBIC METERS","GBALAR":"DOMESTIC","GBALAT":"DOMESTIC","GBALAU":"DOMESTIC","GBALAZ":"DOMESTIC","GBALBD":"DOMESTIC","GBALBE":"DOMESTIC","GBALBG":"DOMESTIC","GBALBR":"DOMESTIC","GBALCA":"DOMESTIC","GBALCH":"DOMESTIC","GBALCN":"DOMESTIC","GBALCO":"DOMESTIC","GBALCR":"DOMESTIC","GBALCY":"DOMESTIC","GBALCZ":"DOMESTIC","GBALDE":"DOMESTIC","GBALDK":"DOMESTIC","GBALEE":"DOMESTIC","GBALES":"DOMESTIC","GBALEU":"DOMESTIC","GBALFI":"DOMESTIC","GBALFR":"DOMESTIC","GBALGR":"DOMESTIC","GBALHK":"DOMESTIC","GBALHR":"DOMESTIC","GBALHU":"DOMESTIC","GBALID":"DOMESTIC","GBALIE":"DOMESTIC","GBALIL":"DOMESTIC","GBALIN":"DOMESTIC","GBALIS":"DOMESTIC","GBALIT":"DOMESTIC","GBALJP":"DOMESTIC","GBALKH":"DOMESTIC","GBALKR":"DOMESTIC","GBALKZ":"DOMESTIC","GBALLT":"DOMESTIC","GBALLU":"DOMESTIC","GBALLV":"DOMESTIC","GBALMO":"DOMESTIC","GBALMT":"DOMESTIC","GBALMX":"DOMESTIC","GBALMY":"DOMESTIC","GBALNL":"DOMESTIC","GBALNO":"DOMESTIC","GBALPE":"DOMESTIC","GBALPH":"DOMESTIC","GBALPL":"DOMESTIC","GBALPT":"DOMESTIC","GBALRO":"DOMESTIC","GBALRU":"DOMESTIC","GBALSA":"DOMESTIC","GBALSE":"DOMESTIC","GBALSG":"DOMESTIC","GBALSI":"DOMESTIC","GBALSK":"DOMESTIC","GBALTH":"DOMESTIC","GBALTR":"DOMESTIC","GBALTW":"DOMESTIC","GBALUA":"DOMESTIC","GBALUK":"DOMESTIC","GBALUS":"DOMESTIC","GBALZA":"DOMESTIC","GCFAT":"DOMESTIC","GCFBE":"DOMESTIC","GCFBG":"DOMESTIC","GCFBR":"DOMESTIC","GCFBY":"DOMESTIC","GCFCH":"DOMESTIC","GCFCN":"DOMESTIC","GCFCY":"DOMESTIC","GCFCZ":"DOMESTIC","GCFDE":"DOMESTIC","GCFDK":"DOMESTIC","GCFEA":"DOMESTIC","GCFEE":"DOMESTIC","GCFES":"DOMESTIC","GCFEU":"DOMESTIC","GCFFI":"DOMESTIC","GCFFR":"DOMESTIC","GCFGR":"DOMESTIC","GCFHR":"DOMESTIC","GCFHU":"DOMESTIC","GCFIE":"DOMESTIC","GCFIT":"DOMESTIC","GCFKR":"DOMESTIC","GCFLT":"DOMESTIC","GCFLU":"DOMESTIC","GCFLV":"DOMESTIC","GCFME":"DOMESTIC","GCFMK":"DOMESTIC","GCFMT":"DOMESTIC","GCFNL":"DOMESTIC","GCFNO":"DOMESTIC","GCFNZ":"DOMESTIC","GCFPE":"DOMESTIC","GCFPL":"DOMESTIC","GCFPT":"DOMESTIC","GCFQA":"DOMESTIC","GCFRO":"DOMESTIC","GCFRS":"DOMESTIC","GCFRU":"DOMESTIC","GCFSE":"DOMESTIC","GCFSI":"DOMESTIC","GCFSK":"DOMESTIC","GCFTH":"DOMESTIC","GCFUA":"DOMESTIC","GCFUK":"DOMESTIC","GDEBTAR":"USD","GDEBTAT":"DOMESTIC","GDEBTAU":"DOMESTIC","GDEBTBE":"DOMESTIC","GDEBTBG":"DOMESTIC","GDEBTBR":"DOMESTIC","GDEBTCA":"DOMESTIC","GDEBTCL":"DOMESTIC","GDEBTCN":"DOMESTIC","GDEBTCO":"DOMESTIC","GDEBTCR":"DOMESTIC","GDEBTCY":"DOMESTIC","GDEBTCZ":"DOMESTIC","GDEBTDE":"DOMESTIC","GDEBTDK":"DOMESTIC","GDEBTEE":"DOMESTIC","GDEBTES":"DOMESTIC","GDEBTEU":"DOMESTIC","GDEBTFI":"DOMESTIC","GDEBTFR":"DOMESTIC","GDEBTGR":"DOMESTIC","GDEBTHK":"DOMESTIC","GDEBTHR":"DOMESTIC","GDEBTHU":"DOMESTIC","GDEBTID":"DOMESTIC","GDEBTIE":"DOMESTIC","GDEBTIL":"DOMESTIC","GDEBTIN":"DOMESTIC","GDEBTIT":"DOMESTIC","GDEBTJO":"DOMESTIC","GDEBTJP":"DOMESTIC","GDEBTKR":"USD","GDEBTKZ":"USD","GDEBTLT":"DOMESTIC","GDEBTLU":"DOMESTIC","GDEBTLV":"DOMESTIC","GDEBTMT":"DOMESTIC","GDEBTMX":"DOMESTIC","GDEBTMY":"DOMESTIC","GDEBTNAT":"DOMESTIC","GDEBTNBE":"DOMESTIC","GDEBTNBG":"DOMESTIC","GDEBTNCY":"DOMESTIC","GDEBTNCZ":"DOMESTIC","GDEBTNDE":"DOMESTIC","GDEBTNDK":"DOMESTIC","GDEBTNEE":"DOMESTIC","GDEBTNES":"DOMESTIC","GDEBTNEU":"DOMESTIC","GDEBTNFI":"DOMESTIC","GDEBTNFR":"DOMESTIC","GDEBTNGR":"DOMESTIC","GDEBTNHR":"DOMESTIC","GDEBTNHU":"DOMESTIC","GDEBTNIE":"DOMESTIC","GDEBTNIT":"DOMESTIC","GDEBTNL":"DOMESTIC","GDEBTNLT":"DOMESTIC","GDEBTNLU":"DOMESTIC","GDEBTNLV":"DOMESTIC","GDEBTNMT":"DOMESTIC","GDEBTNNL":"DOMESTIC","GDEBTNNO":"DOMESTIC","GDEBTNO":"DOMESTIC","GDEBTNPL":"DOMESTIC","GDEBTNPT":"DOMESTIC","GDEBTNRO":"DOMESTIC","GDEBTNSE":"DOMESTIC","GDEBTNSI":"DOMESTIC","GDEBTNSK":"DOMESTIC","GDEBTNUK":"DOMESTIC","GDEBTPH":"DOMESTIC","GDEBTPK":"DOMESTIC","GDEBTPL":"DOMESTIC","GDEBTPT":"DOMESTIC","GDEBTQA":"DOMESTIC","GDEBTRO":"DOMESTIC","GDEBTRU":"DOMESTIC","GDEBTSA":"DOMESTIC","GDEBTSE":"DOMESTIC","GDEBTSG":"DOMESTIC","GDEBTSI":"DOMESTIC","GDEBTSK":"DOMESTIC","GDEBTSV":"DOMESTIC","GDEBTTH":"DOMESTIC","GDEBTTR":"DOMESTIC","GDEBTTW":"DOMESTIC","GDEBTUK":"DOMESTIC","GDEBTUS":"DOMESTIC","GDEBTZA":"DOMESTIC","GDPAE":"DOMESTIC","GDPAL":"DOMESTIC","GDPAR":"DOMESTIC","GDPAT":"DOMESTIC","GDPAU":"DOMESTIC","GDPAZ":"DOMESTIC","GDPBD":"DOMESTIC","GDPBE":"DOMESTIC","GDPBG":"DOMESTIC","GDPBR":"DOMESTIC","GDPBW":"DOMESTIC","GDPBY":"DOMESTIC","GDPCA":"DOMESTIC","GDPCH":"DOMESTIC","GDPCL":"DOMESTIC","GDPCM":"DOMESTIC","GDPCN":"DOMESTIC","GDPCO":"DOMESTIC","GDPCR":"DOMESTIC","GDPCY":"DOMESTIC","GDPCZ":"DOMESTIC","GDPDE":"DOMESTIC","GDPDEFLK":"INDEX","GDPDK":"DOMESTIC","GDPEA":"DOMESTIC","GDPEE":"DOMESTIC","GDPEG":"DOMESTIC","GDPES":"DOMESTIC","GDPEU":"DOMESTIC","GDPFI":"DOMESTIC","GDPFR":"DOMESTIC","GDPGR":"DOMESTIC","GDPHK":"DOMESTIC","GDPHN":"DOMESTIC","GDPHR":"DOMESTIC","GDPHU":"DOMESTIC","GDPID":"DOMESTIC","GDPIE":"DOMESTIC","GDPIL":"DOMESTIC","GDPIN":"DOMESTIC","GDPIR":"DOMESTIC","GDPIT":"DOMESTIC","GDPJO":"DOMESTIC","GDPJP":"DOMESTIC","GDPKH":"DOMESTIC","GDPKR":"DOMESTIC","GDPKZ":"DOMESTIC","GDPLA":"DOMESTIC","GDPLT":"DOMESTIC","GDPLU":"DOMESTIC","GDPLV":"DOMESTIC","GDPMA":"DOMESTIC","GDPME":"DOMESTIC","GDPMK":"DOMESTIC","GDPMO":"DOMESTIC","GDPMT":"DOMESTIC","GDPMX":"DOMESTIC","GDPMY":"DOMESTIC","GDPNG":"DOMESTIC","GDPNL":"DOMESTIC","GDPNO":"DOMESTIC","GDPNZ":"DOMESTIC","GDPPA":"DOMESTIC","GDPPCAL":"DOMESTIC","GDPPCAT":"DOMESTIC","GDPPCAU":"DOMESTIC","GDPPCBE":"DOMESTIC","GDPPCBG":"DOMESTIC","GDPPCBR":"INDEX","GDPPCCH":"DOMESTIC","GDPPCCN":"DOMESTIC","GDPPCCY":"DOMESTIC","GDPPCCZ":"DOMESTIC","GDPPCDE":"DOMESTIC","GDPPCDK":"DOMESTIC","GDPPCEA":"DOMESTIC","GDPPCEE":"DOMESTIC","GDPPCES":"DOMESTIC","GDPPCEU":"DOMESTIC","GDPPCFI":"DOMESTIC","GDPPCFR":"DOMESTIC","GDPPCGR":"DOMESTIC","GDPPCHR":"DOMESTIC","GDPPCHU":"DOMESTIC","GDPPCIE":"DOMESTIC","GDPPCIS":"DOMESTIC","GDPPCIT":"DOMESTIC","GDPPCKH":"DOMESTIC","GDPPCKZ":"DOMESTIC","GDPPCLI":"DOMESTIC","GDPPCLT":"DOMESTIC","GDPPCLU":"DOMESTIC","GDPPCLV":"DOMESTIC","GDPPCME":"DOMESTIC","GDPPCMK":"DOMESTIC","GDPPCMT":"DOMESTIC","GDPPCNL":"DOMESTIC","GDPPCNO":"DOMESTIC","GDPPCNZ":"DOMESTIC","GDPPCPL":"DOMESTIC","GDPPCPT":"DOMESTIC","GDPPCRO":"DOMESTIC","GDPPCRS":"DOMESTIC","GDPPCSE":"DOMESTIC","GDPPCSG":"DOMESTIC","GDPPCSI":"DOMESTIC","GDPPCSK":"DOMESTIC","GDPPCTR":"DOMESTIC","GDPPCTW":"DOMESTIC","GDPPCUS":"DOMESTIC","GDPPE":"DOMESTIC","GDPPH":"DOMESTIC","GDPPK":"DOMESTIC","GDPPL":"DOMESTIC","GDPPT":"DOMESTIC","GDPQA":"DOMESTIC","GDPRO":"DOMESTIC","GDPRS":"DOMESTIC","GDPRU":"DOMESTIC","GDPRW":"DOMESTIC","GDPSA":"DOMESTIC","GDPSE":"DOMESTIC","GDPSG":"DOMESTIC","GDPSI":"DOMESTIC","GDPSK":"DOMESTIC","GDPSV":"DOMESTIC","GDPTH":"DOMESTIC","GDPTN":"DOMESTIC","GDPTR":"DOMESTIC","GDPTW":"DOMESTIC","GDPUA":"DOMESTIC","GDPUK":"DOMESTIC","GDPUS":"DOMESTIC","GDPUZ":"DOMESTIC","GDPVN":"DOMESTIC","GDPZA":"DOMESTIC","GFCFAE":"DOMESTIC","GFCFAL":"DOMESTIC","GFCFAR":"DOMESTIC","GFCFAT":"DOMESTIC","GFCFAU":"DOMESTIC","GFCFAZ":"DOMESTIC","GFCFBD":"DOMESTIC","GFCFBE":"DOMESTIC","GFCFBG":"DOMESTIC","GFCFBR":"DOMESTIC","GFCFBW":"DOMESTIC","GFCFBY":"DOMESTIC","GFCFCA":"DOMESTIC","GFCFCH":"DOMESTIC","GFCFCL":"DOMESTIC","GFCFCM":"DOMESTIC","GFCFCN":"INDEX","GFCFCO":"DOMESTIC","GFCFCY":"DOMESTIC","GFCFCZ":"DOMESTIC","GFCFDE":"DOMESTIC","GFCFDK":"DOMESTIC","GFCFEA":"DOMESTIC","GFCFEE":"DOMESTIC","GFCFES":"DOMESTIC","GFCFEU":"DOMESTIC","GFCFFI":"DOMESTIC","GFCFFR":"DOMESTIC","GFCFGR":"DOMESTIC","GFCFHK":"DOMESTIC","GFCFHR":"DOMESTIC","GFCFHU":"DOMESTIC","GFCFID":"DOMESTIC","GFCFIE":"DOMESTIC","GFCFIL":"DOMESTIC","GFCFIN":"DOMESTIC","GFCFIR":"DOMESTIC","GFCFIT":"DOMESTIC","GFCFJP":"DOMESTIC","GFCFKR":"DOMESTIC","GFCFKZ":"DOMESTIC","GFCFLT":"DOMESTIC","GFCFLU":"DOMESTIC","GFCFLV":"DOMESTIC","GFCFMA":"DOMESTIC","GFCFME":"DOMESTIC","GFCFMN":"DOMESTIC","GFCFMT":"DOMESTIC","GFCFMX":"DOMESTIC","GFCFMY":"DOMESTIC","GFCFNG":"DOMESTIC","GFCFNL":"DOMESTIC","GFCFNO":"DOMESTIC","GFCFNZ":"DOMESTIC","GFCFPH":"DOMESTIC","GFCFPK":"DOMESTIC","GFCFPL":"DOMESTIC","GFCFPT":"DOMESTIC","GFCFRO":"DOMESTIC","GFCFRS":"DOMESTIC","GFCFRU":"DOMESTIC","GFCFSA":"DOMESTIC","GFCFSE":"DOMESTIC","GFCFSG":"DOMESTIC","GFCFSI":"DOMESTIC","GFCFSK":"DOMESTIC","GFCFTH":"DOMESTIC","GFCFTR":"DOMESTIC","GFCFTW":"DOMESTIC","GFCFUA":"DOMESTIC","GFCFUK":"DOMESTIC","GFCFUS":"DOMESTIC","GFCFUZ":"DOMESTIC","GFCFVN":"DOMESTIC","GFCFZA":"DOMESTIC","GREVAR":"DOMESTIC","GREVAT":"DOMESTIC","GREVAU":"DOMESTIC","GREVAZ":"DOMESTIC","GREVBD":"DOMESTIC","GREVBE":"DOMESTIC","GREVBG":"DOMESTIC","GREVBR":"DOMESTIC","GREVCA":"DOMESTIC","GREVCH":"DOMESTIC","GREVCN":"DOMESTIC","GREVCO":"DOMESTIC","GREVCR":"DOMESTIC","GREVCY":"DOMESTIC","GREVCZ":"DOMESTIC","GREVDE":"DOMESTIC","GREVDK":"DOMESTIC","GREVEE":"DOMESTIC","GREVES":"DOMESTIC","GREVEU":"DOMESTIC","GREVFI":"DOMESTIC","GREVFR":"DOMESTIC","GREVHK":"DOMESTIC","GREVHR":"DOMESTIC","GREVHU":"DOMESTIC","GREVID":"DOMESTIC","GREVIE":"DOMESTIC","GREVIL":"DOMESTIC","GREVIN":"DOMESTIC","GREVJP":"DOMESTIC","GREVKH":"DOMESTIC","GREVKR":"DOMESTIC","GREVKZ":"DOMESTIC","GREVLT":"DOMESTIC","GREVLU":"DOMESTIC","GREVLV":"DOMESTIC","GREVMA":"DOMESTIC","GREVMO":"DOMESTIC","GREVMT":"DOMESTIC","GREVMX":"DOMESTIC","GREVMY":"DOMESTIC","GREVNL":"DOMESTIC","GREVPE":"DOMESTIC","GREVPH":"DOMESTIC","GREVPL":"DOMESTIC","GREVPT":"DOMESTIC","GREVRO":"DOMESTIC","GREVRU":"DOMESTIC","GREVSA":"DOMESTIC","GREVSE":"DOMESTIC","GREVSG":"DOMESTIC","GREVSI":"DOMESTIC","GREVSK":"DOMESTIC","GREVSV":"DOMESTIC","GREVTH":"DOMESTIC","GREVTR":"DOMESTIC","GREVTW":"DOMESTIC","GREVUA":"DOMESTIC","GREVUK":"DOMESTIC","GREVUS":"DOMESTIC","GREVUY":"DOMESTIC","GREVVN":"DOMESTIC","GREVZA":"DOMESTIC","GSPEAR":"DOMESTIC","GSPEAT":"DOMESTIC","GSPEAU":"DOMESTIC","GSPEAZ":"DOMESTIC","GSPEBD":"DOMESTIC","GSPEBE":"DOMESTIC","GSPEBG":"DOMESTIC","GSPEBR":"DOMESTIC","GSPECA":"DOMESTIC","GSPECH":"DOMESTIC","GSPECN":"DOMESTIC","GSPECO":"DOMESTIC","GSPECR":"DOMESTIC","GSPECY":"DOMESTIC","GSPECZ":"DOMESTIC","GSPEDE":"DOMESTIC","GSPEDK":"DOMESTIC","GSPEEE":"DOMESTIC","GSPEES":"DOMESTIC","GSPEEU":"DOMESTIC","GSPEFI":"DOMESTIC","GSPEFR":"DOMESTIC","GSPEHK":"DOMESTIC","GSPEHR":"DOMESTIC","GSPEHU":"DOMESTIC","GSPEID":"DOMESTIC","GSPEIE":"DOMESTIC","GSPEIL":"DOMESTIC","GSPEIN":"DOMESTIC","GSPEJP":"DOMESTIC","GSPEKH":"DOMESTIC","GSPEKR":"DOMESTIC","GSPEKZ":"DOMESTIC","GSPELT":"DOMESTIC","GSPELU":"DOMESTIC","GSPELV":"DOMESTIC","GSPEMO":"DOMESTIC","GSPEMT":"DOMESTIC","GSPEMX":"DOMESTIC","GSPEMY":"DOMESTIC","GSPENL":"DOMESTIC","GSPEPE":"DOMESTIC","GSPEPH":"DOMESTIC","GSPEPL":"DOMESTIC","GSPEPT":"DOMESTIC","GSPERO":"DOMESTIC","GSPERU":"DOMESTIC","GSPESA":"DOMESTIC","GSPESE":"DOMESTIC","GSPESG":"DOMESTIC","GSPESI":"DOMESTIC","GSPESK":"DOMESTIC","GSPETH":"DOMESTIC","GSPETR":"DOMESTIC","GSPETW":"DOMESTIC","GSPEUA":"DOMESTIC","GSPEUK":"DOMESTIC","GSPEUS":"DOMESTIC","GSPEUY":"DOMESTIC","GSPEVN":"DOMESTIC","GSPEZA":"DOMESTIC","HHDIRAT":"PERCENT","HHDIRBE":"PERCENT","HHDIRCH":"PERCENT","HHDIRCY":"PERCENT","HHDIRCZ":"PERCENT","HHDIRDE":"PERCENT","HHDIRDK":"PERCENT","HHDIREE":"PERCENT","HHDIRES":"PERCENT","HHDIRFI":"PERCENT","HHDIRFR":"PERCENT","HHDIRGR":"PERCENT","HHDIRHR":"PERCENT","HHDIRHU":"PERCENT","HHDIRIE":"PERCENT","HHDIRIT":"PERCENT","HHDIRLT":"PERCENT","HHDIRLU":"PERCENT","HHDIRLV":"PERCENT","HHDIRNL":"PERCENT","HHDIRNO":"PERCENT","HHDIRPL":"PERCENT","HHDIRPT":"PERCENT","HHDIRSE":"PERCENT","HHDIRSI":"PERCENT","HHDIRSK":"PERCENT","HHDIRTR":"PERCENT","HHSAT":"PERCENT","HHSBE":"PERCENT","HHSCN":"DOMESTIC","HHSCZ":"PERCENT","HHSDE":"PERCENT","HHSDK":"PERCENT","HHSES":"PERCENT","HHSEU":"PERCENT","HHSFI":"PERCENT","HHSFR":"PERCENT","HHSGR":"PERCENT","HHSHU":"PERCENT","HHSIE":"PERCENT","HHSIT":"PERCENT","HHSNL":"PERCENT","HHSNO":"PERCENT","HHSPL":"PERCENT","HHSPT":"PERCENT","HHSRO":"PERCENT","HHSSE":"PERCENT","HHSSI":"PERCENT","HHSUK":"PERCENT","HOU5R":"INDEX","HOUAE":"INDEX","HOUAT":"INDEX","HOUAU":"INDEX","HOUBE":"INDEX","HOUBG":"INDEX","HOUBR":"INDEX","HOUCA":"INDEX","HOUCH":"INDEX","HOUCL":"INDEX","HOUCN":"INDEX","HOUCO":"INDEX","HOUCY":"INDEX","HOUCZ":"INDEX","HOUDE":"INDEX","HOUDK":"INDEX","HOUEA":"INDEX","HOUEE":"INDEX","HOUES":"INDEX","HOUEU":"INDEX","HOUFI":"INDEX","HOUFR":"INDEX","HOUGR":"INDEX","HOUHK":"INDEX","HOUHR":"INDEX","HOUHU":"INDEX","HOUID":"INDEX","HOUIE":"INDEX","HOUIL":"INDEX","HOUIN":"INDEX","HOUIS":"INDEX","HOUIT":"INDEX","HOUJP":"INDEX","HOUKR":"INDEX","HOULT":"INDEX","HOULU":"INDEX","HOULV":"INDEX","HOUMA":"INDEX","HOUMK":"INDEX","HOUMT":"INDEX","HOUMX":"INDEX","HOUMY":"INDEX","HOUNL":"INDEX","HOUNO":"INDEX","HOUNZ":"INDEX","HOUPE":"INDEX","HOUPH":"INDEX","HOUPL":"INDEX","HOUPT":"INDEX","HOURO":"INDEX","HOURU":"INDEX","HOUSE":"INDEX","HOUSG":"INDEX","HOUSI":"INDEX","HOUSK":"INDEX","HOUTH":"INDEX","HOUTR":"INDEX","HOUUK":"INDEX","HOUUS":"INDEX","HOUXW":"INDEX","HOUZA":"INDEX","IBD1AU":"PERCENT","IBD1BG":"PERCENT","IBD1CL":"PERCENT","IBD1CO":"PERCENT","IBD1CZ":"PERCENT","IBD1DK":"PERCENT","IBD1EA":"PERCENT","IBD1HR":"PERCENT","IBD1HU":"PERCENT","IBD1KR":"PERCENT","IBD1MX":"PERCENT","IBD1NZ":"PERCENT","IBD1PL":"PERCENT","IBD1PY":"OTHER NUMBER","IBD1RO":"PERCENT","IBD1RU":"PERCENT","IBD1SE":"PERCENT","IBD1SG":"PERCENT","IBD1TH":"PERCENT","IBD1TR":"PERCENT","IBD1UA":"PERCENT","IBD1UK":"PERCENT","IIPAAL":"DOMESTIC","IIPAAR":"USD","IIPAAT":"DOMESTIC","IIPAAU":"DOMESTIC","IIPABA":"DOMESTIC","IIPABD":"DOMESTIC","IIPABE":"DOMESTIC","IIPABG":"DOMESTIC","IIPABR":"USD","IIPACA":"DOMESTIC","IIPACH":"DOMESTIC","IIPACL":"USD","IIPACN":"USD","IIPACO":"USD","IIPACY":"DOMESTIC","IIPACZ":"DOMESTIC","IIPADE":"DOMESTIC","IIPADK":"DOMESTIC","IIPAEE":"DOMESTIC","IIPAEG":"USD","IIPAES":"DOMESTIC","IIPAFI":"DOMESTIC","IIPAFR":"DOMESTIC","IIPAGR":"DOMESTIC","IIPAHK":"DOMESTIC","IIPAHR":"DOMESTIC","IIPAHU":"DOMESTIC","IIPAID":"USD","IIPAIE":"DOMESTIC","IIPAIL":"USD","IIPAIN":"USD","IIPAIS":"DOMESTIC","IIPAIT":"DOMESTIC","IIPAJP":"DOMESTIC","IIPAKH":"DOMESTIC","IIPAKR":"USD","IIPALT":"DOMESTIC","IIPALU":"DOMESTIC","IIPALV":"DOMESTIC","IIPAMT":"DOMESTIC","IIPAMX":"USD","IIPAMY":"DOMESTIC","IIPANL":"DOMESTIC","IIPANO":"DOMESTIC","IIPANP":"DOMESTIC","IIPAPH":"USD","IIPAPK":"USD","IIPAPL":"DOMESTIC","IIPAPT":"DOMESTIC","IIPARO":"DOMESTIC","IIPARU":"USD","IIPASA":"DOMESTIC","IIPASE":"DOMESTIC","IIPASG":"DOMESTIC","IIPASI":"DOMESTIC","IIPASK":"DOMESTIC","IIPATH":"USD","IIPATR":"USD","IIPATW":"USD","IIPAUK":"DOMESTIC","IIPAUS":"DOMESTIC","IIPAXK":"DOMESTIC","IIPAZA":"DOMESTIC","IIPLAL":"DOMESTIC","IIPLAR":"USD","IIPLAT":"DOMESTIC","IIPLAU":"DOMESTIC","IIPLBA":"DOMESTIC","IIPLBD":"DOMESTIC","IIPLBE":"DOMESTIC","IIPLBG":"DOMESTIC","IIPLBR":"USD","IIPLCA":"DOMESTIC","IIPLCH":"DOMESTIC","IIPLCL":"USD","IIPLCN":"USD","IIPLCO":"USD","IIPLCY":"DOMESTIC","IIPLCZ":"DOMESTIC","IIPLDE":"DOMESTIC","IIPLDK":"DOMESTIC","IIPLEE":"DOMESTIC","IIPLEG":"USD","IIPLES":"DOMESTIC","IIPLFI":"DOMESTIC","IIPLFR":"DOMESTIC","IIPLGR":"DOMESTIC","IIPLHK":"DOMESTIC","IIPLHR":"DOMESTIC","IIPLHU":"DOMESTIC","IIPLID":"USD","IIPLIE":"DOMESTIC","IIPLIL":"USD","IIPLIN":"USD","IIPLIS":"DOMESTIC","IIPLIT":"DOMESTIC","IIPLJP":"DOMESTIC","IIPLKH":"DOMESTIC","IIPLKR":"USD","IIPLLT":"DOMESTIC","IIPLLU":"DOMESTIC","IIPLLV":"DOMESTIC","IIPLMT":"DOMESTIC","IIPLMX":"USD","IIPLMY":"DOMESTIC","IIPLNL":"DOMESTIC","IIPLNO":"DOMESTIC","IIPLNP":"DOMESTIC","IIPLPH":"USD","IIPLPK":"USD","IIPLPL":"DOMESTIC","IIPLPT":"DOMESTIC","IIPLRO":"DOMESTIC","IIPLRU":"USD","IIPLSA":"DOMESTIC","IIPLSE":"DOMESTIC","IIPLSG":"DOMESTIC","IIPLSI":"DOMESTIC","IIPLSK":"DOMESTIC","IIPLTH":"USD","IIPLTR":"USD","IIPLTW":"USD","IIPLUK":"DOMESTIC","IIPLUS":"DOMESTIC","IIPLXK":"DOMESTIC","IIPLZA":"DOMESTIC","IMPAE":"DOMESTIC","IMPAL":"DOMESTIC","IMPAR":"DOMESTIC","IMPAT":"DOMESTIC","IMPAU":"DOMESTIC","IMPAZ":"DOMESTIC","IMPBD":"DOMESTIC","IMPBE":"DOMESTIC","IMPBG":"DOMESTIC","IMPBR":"DOMESTIC","IMPBW":"DOMESTIC","IMPBY":"DOMESTIC","IMPCA":"DOMESTIC","IMPCH":"DOMESTIC","IMPCL":"DOMESTIC","IMPCM":"DOMESTIC","IMPCN":"DOMESTIC","IMPCO":"DOMESTIC","IMPCY":"DOMESTIC","IMPCZ":"DOMESTIC","IMPDE":"DOMESTIC","IMPDK":"DOMESTIC","IMPEA":"DOMESTIC","IMPEE":"DOMESTIC","IMPES":"DOMESTIC","IMPEU":"DOMESTIC","IMPFI":"DOMESTIC","IMPFR":"DOMESTIC","IMPGR":"DOMESTIC","IMPHK":"DOMESTIC","IMPHR":"DOMESTIC","IMPHU":"DOMESTIC","IMPID":"DOMESTIC","IMPIE":"DOMESTIC","IMPIL":"USD","IMPIN":"DOMESTIC","IMPIR":"DOMESTIC","IMPIT":"DOMESTIC","IMPJO":"DOMESTIC","IMPJP":"DOMESTIC","IMPKR":"DOMESTIC","IMPKZ":"DOMESTIC","IMPLT":"DOMESTIC","IMPLU":"DOMESTIC","IMPLV":"DOMESTIC","IMPMA":"DOMESTIC","IMPME":"DOMESTIC","IMPMK":"DOMESTIC","IMPMN":"DOMESTIC","IMPMONAR":"USD","IMPMONAU":"DOMESTIC","IMPMONBD":"USD","IMPMONBE":"DOMESTIC","IMPMONBG":"DOMESTIC","IMPMONBR":"USD","IMPMONCA":"DOMESTIC","IMPMONCL":"USD","IMPMONCN":"USD","IMPMONCO":"USD","IMPMONCR":"USD","IMPMONCZ":"DOMESTIC","IMPMONDE":"DOMESTIC","IMPMONDK":"DOMESTIC","IMPMONEE":"DOMESTIC","IMPMONEG":"USD","IMPMONES":"DOMESTIC","IMPMONEU":"DOMESTIC","IMPMONFI":"DOMESTIC","IMPMONFR":"DOMESTIC","IMPMONGR":"DOMESTIC","IMPMONHK":"DOMESTIC","IMPMONHR":"DOMESTIC","IMPMONHU":"DOMESTIC","IMPMONID":"USD","IMPMONIN":"USD","IMPMONIT":"DOMESTIC","IMPMONJP":"DOMESTIC","IMPMONKH":"DOMESTIC","IMPMONKR":"USD","IMPMONKZ":"USD","IMPMONLT":"DOMESTIC","IMPMONLU":"DOMESTIC","IMPMONLV":"DOMESTIC","IMPMONMK":"DOMESTIC","IMPMONMT":"DOMESTIC","IMPMONMX":"USD","IMPMONMY":"DOMESTIC","IMPMONNL":"DOMESTIC","IMPMONNP":"USD","IMPMONPH":"USD","IMPMONPK":"DOMESTIC","IMPMONPL":"DOMESTIC","IMPMONPT":"DOMESTIC","IMPMONQA":"DOMESTIC","IMPMONRO":"DOMESTIC","IMPMONRS":"DOMESTIC","IMPMONRU":"USD","IMPMONSA":"DOMESTIC","IMPMONSE":"DOMESTIC","IMPMONSG":"DOMESTIC","IMPMONSI":"DOMESTIC","IMPMONSK":"DOMESTIC","IMPMONTH":"USD","IMPMONTR":"USD","IMPMONTW":"USD","IMPMONUA":"USD","IMPMONUK":"DOMESTIC","IMPMONUS":"DOMESTIC","IMPMONUY":"USD","IMPMONVN":"USD","IMPMONZA":"DOMESTIC","IMPMT":"DOMESTIC","IMPMX":"DOMESTIC","IMPMY":"DOMESTIC","IMPNG":"DOMESTIC","IMPNL":"DOMESTIC","IMPNO":"DOMESTIC","IMPNZ":"DOMESTIC","IMPPE":"DOMESTIC","IMPPH":"DOMESTIC","IMPPK":"DOMESTIC","IMPPL":"DOMESTIC","IMPPT":"DOMESTIC","IMPQA":"DOMESTIC","IMPRO":"DOMESTIC","IMPRS":"DOMESTIC","IMPRU":"DOMESTIC","IMPRW":"DOMESTIC","IMPSA":"DOMESTIC","IMPSE":"DOMESTIC","IMPSG":"DOMESTIC","IMPSI":"DOMESTIC","IMPSK":"DOMESTIC","IMPSV":"DOMESTIC","IMPTH":"DOMESTIC","IMPTR":"DOMESTIC","IMPTW":"DOMESTIC","IMPUA":"DOMESTIC","IMPUK":"DOMESTIC","IMPUS":"DOMESTIC","IMPZA":"DOMESTIC","INVERAT":"PERCENT","INVERBE":"PERCENT","INVERCH":"PERCENT","INVERCY":"PERCENT","INVERCZ":"PERCENT","INVERDE":"PERCENT","INVERDK":"PERCENT","INVEREE":"PERCENT","INVERES":"PERCENT","INVERFI":"PERCENT","INVERFR":"PERCENT","INVERGR":"PERCENT","INVERHR":"PERCENT","INVERHU":"PERCENT","INVERIE":"PERCENT","INVERIT":"PERCENT","INVERLT":"PERCENT","INVERLV":"PERCENT","INVERNL":"PERCENT","INVERNO":"PERCENT","INVERPL":"PERCENT","INVERPT":"PERCENT","INVERRO":"PERCENT","INVERSE":"PERCENT","INVERSI":"PERCENT","INVERSK":"PERCENT","IPAR":"INDEX","IPAT":"INDEX","IPAU":"INDEX","IPAZ":"INDEX","IPBA":"INDEX","IPBD":"INDEX","IPBE":"INDEX","IPBG":"INDEX","IPBR":"INDEX","IPBY":"DOMESTIC","IPCA":"INDEX","IPCH":"INDEX","IPCL":"INDEX","IPCM":"INDEX","IPCN":"DOMESTIC","IPCO":"INDEX","IPCR":"INDEX","IPCY":"INDEX","IPCZ":"INDEX","IPDE":"INDEX","IPDK":"INDEX","IPEE":"INDEX","IPEG":"INDEX","IPES":"INDEX","IPEU":"INDEX","IPFI":"INDEX","IPFR":"INDEX","IPGR":"INDEX","IPHK":"INDEX","IPHR":"INDEX","IPHU":"INDEX","IPID":"INDEX","IPIE":"INDEX","IPIL":"INDEX","IPIN":"INDEX","IPIT":"INDEX","IPJO":"INDEX","IPJP":"INDEX","IPKR":"INDEX","IPKZ":"INDEX","IPLT":"INDEX","IPLU":"INDEX","IPLV":"INDEX","IPMA":"INDEX","IPME":"INDEX","IPMK":"INDEX","IPMT":"INDEX","IPMX":"INDEX","IPMY":"INDEX","IPNL":"INDEX","IPNO":"INDEX","IPPA":"INDEX","IPPH":"INDEX","IPPK":"INDEX","IPPL":"INDEX","IPPT":"INDEX","IPQA":"INDEX","IPRO":"INDEX","IPRS":"INDEX","IPRU":"INDEX","IPSA":"INDEX","IPSE":"INDEX","IPSG":"INDEX","IPSI":"INDEX","IPSK":"INDEX","IPTH":"INDEX","IPTR":"INDEX","IPTW":"INDEX","IPUA":"INDEX","IPUK":"INDEX","IPUS":"INDEX","IPUY":"INDEX","IPVN":"INDEX","IPZA":"INDEX","JHRUS":"PERCENT","JLRUS":"PERCENT","JQRUS":"PERCENT","JVRAT":"PERCENT","JVRBE":"PERCENT","JVRBG":"PERCENT","JVRCH":"PERCENT","JVRCY":"PERCENT","JVRCZ":"PERCENT","JVRDE":"PERCENT","JVREA":"PERCENT","JVREE":"PERCENT","JVRES":"PERCENT","JVREU":"PERCENT","JVRFI":"PERCENT","JVRGR":"PERCENT","JVRHR":"PERCENT","JVRHU":"PERCENT","JVRIE":"PERCENT","JVRIT":"PERCENT","JVRLT":"PERCENT","JVRLU":"PERCENT","JVRLV":"PERCENT","JVRMK":"PERCENT","JVRMT":"PERCENT","JVRNL":"PERCENT","JVRNO":"PERCENT","JVRPL":"PERCENT","JVRPT":"PERCENT","JVRRO":"PERCENT","JVRSE":"PERCENT","JVRSI":"PERCENT","JVRSK":"PERCENT","JVRUK":"PERCENT","JVRUS":"PERCENT","KABE":"DOMESTIC","KABG":"DOMESTIC","KACN":"USD","KACZ":"DOMESTIC","KADE":"DOMESTIC","KADK":"DOMESTIC","KAEE":"DOMESTIC","KAES":"DOMESTIC","KAFI":"DOMESTIC","KAFR":"DOMESTIC","KAGR":"DOMESTIC","KAHR":"DOMESTIC","KAHU":"DOMESTIC","KAIT":"DOMESTIC","KALT":"DOMESTIC","KALU":"DOMESTIC","KALV":"DOMESTIC","KAMT":"DOMESTIC","KANL":"DOMESTIC","KAPH":"USD","KAPL":"DOMESTIC","KAPT":"DOMESTIC","KARO":"DOMESTIC","KASE":"DOMESTIC","KASI":"DOMESTIC","KASK":"DOMESTIC","LE00CN":"OTHER NUMBER","LMICS":"USD","M3AR":"DOMESTIC","M3AU":"DOMESTIC","M3BR":"DOMESTIC","M3BY":"DOMESTIC","M3CA":"DOMESTIC","M3CH":"DOMESTIC","M3CL":"DOMESTIC","M3CN":"DOMESTIC","M3CR":"DOMESTIC","M3EA":"DOMESTIC","M3HU":"DOMESTIC","M3ID":"DOMESTIC","M3IN":"DOMESTIC","M3JP":"DOMESTIC","M3KR":"DOMESTIC","M3KZ":"DOMESTIC","M3MA":"DOMESTIC","M3MX":"DOMESTIC","M3MY":"DOMESTIC","M3NO":"DOMESTIC","M3NP":"DOMESTIC","M3PH":"DOMESTIC","M3PL":"DOMESTIC","M3RU":"DOMESTIC","M3SA":"DOMESTIC","M3SG":"DOMESTIC","M3TH":"DOMESTIC","M3TN":"DOMESTIC","M3TR":"DOMESTIC","M3UA":"DOMESTIC","M3UK":"DOMESTIC","M3US":"DOMESTIC","M3UY":"DOMESTIC","M3YDAE":"PERCENT","M3YDAU":"PERCENT","M3YDCA":"PERCENT","M3YDCN":"PERCENT","M3YDCZ":"PERCENT","M3YDDK":"PERCENT","M3YDEA":"PERCENT","M3YDHK":"PERCENT","M3YDHR":"PERCENT","M3YDHU":"PERCENT","M3YDID":"PERCENT","M3YDIN":"PERCENT","M3YDJP":"PERCENT","M3YDKR":"PERCENT","M3YDMO":"PERCENT","M3YDMX":"PERCENT","M3YDMY":"PERCENT","M3YDNP":"PERCENT","M3YDNZ":"PERCENT","M3YDPA":"PERCENT","M3YDPH":"PERCENT","M3YDPL":"PERCENT","M3YDQA":"PERCENT","M3YDRO":"PERCENT","M3YDRU":"PERCENT","M3YDSA":"PERCENT","M3YDSE":"PERCENT","M3YDSG":"PERCENT","M3YDTH":"PERCENT","M3YDTR":"PERCENT","M3YDUA":"PERCENT","M3YDUK":"PERCENT","M3YDUS":"PERCENT","M3YDVN":"PERCENT","M3YDZA":"PERCENT","M3ZA":"DOMESTIC","MBAR":"DOMESTIC","MBAU":"DOMESTIC","MBBR":"DOMESTIC","MBCH":"DOMESTIC","MBCN":"DOMESTIC","MBEG":"DOMESTIC","MBIN":"DOMESTIC","MBJP":"DOMESTIC","MBKR":"DOMESTIC","MBMX":"DOMESTIC","MBMY":"DOMESTIC","MBNO":"DOMESTIC","MBRU":"DOMESTIC","MBSA":"DOMESTIC","MBTH":"DOMESTIC","MBTR":"DOMESTIC","MBUA":"DOMESTIC","MBUK":"DOMESTIC","MBUS":"DOMESTIC","NCTBE":"DOMESTIC","NCTBG":"DOMESTIC","NCTCN":"USD","NCTCZ":"DOMESTIC","NCTDE":"DOMESTIC","NCTDK":"DOMESTIC","NCTEE":"DOMESTIC","NCTES":"DOMESTIC","NCTFI":"DOMESTIC","NCTFR":"DOMESTIC","NCTGR":"DOMESTIC","NCTHR":"DOMESTIC","NCTHU":"DOMESTIC","NCTIT":"DOMESTIC","NCTLT":"DOMESTIC","NCTLU":"DOMESTIC","NCTLV":"DOMESTIC","NCTMT":"DOMESTIC","NCTMX":"DOMESTIC","NCTNL":"DOMESTIC","NCTPH":"USD","NCTPL":"DOMESTIC","NCTPT":"DOMESTIC","NCTRO":"DOMESTIC","NCTSE":"DOMESTIC","NCTSI":"DOMESTIC","NCTSK":"DOMESTIC","NFCIAT":"PERCENT","NFCIBE":"PERCENT","NFCICZ":"PERCENT","NFCIDE":"PERCENT","NFCIDK":"PERCENT","NFCIEE":"PERCENT","NFCIES":"PERCENT","NFCIEU":"PERCENT","NFCIFI":"PERCENT","NFCIFR":"PERCENT","NFCIGR":"PERCENT","NFCIHU":"PERCENT","NFCIIE":"PERCENT","NFCIIT":"PERCENT","NFCINL":"PERCENT","NFCINO":"PERCENT","NFCIPL":"PERCENT","NFCIPT":"PERCENT","NFCIRO":"PERCENT","NFCISE":"PERCENT","NFCIUK":"PERCENT","NFCLOANBG":"PERCENT","NFCLOANCY":"PERCENT","NFCLOANEE":"PERCENT","NFCLOANHR":"PERCENT","NFCLOANLT":"PERCENT","NFCLOANLV":"PERCENT","NFCLOANMT":"PERCENT","NFCLOANRO":"PERCENT","NFCLOANSI":"PERCENT","NFCLOANSK":"PERCENT","NIIPAL":"DOMESTIC","NIIPAR":"USD","NIIPAT":"DOMESTIC","NIIPAU":"DOMESTIC","NIIPBA":"DOMESTIC","NIIPBD":"DOMESTIC","NIIPBE":"DOMESTIC","NIIPBG":"DOMESTIC","NIIPBR":"USD","NIIPCA":"DOMESTIC","NIIPCH":"DOMESTIC","NIIPCL":"USD","NIIPCN":"USD","NIIPCO":"USD","NIIPCY":"DOMESTIC","NIIPCZ":"DOMESTIC","NIIPDE":"DOMESTIC","NIIPDK":"DOMESTIC","NIIPEE":"DOMESTIC","NIIPEG":"USD","NIIPES":"DOMESTIC","NIIPFI":"DOMESTIC","NIIPFR":"DOMESTIC","NIIPGR":"DOMESTIC","NIIPHK":"DOMESTIC","NIIPHR":"DOMESTIC","NIIPHU":"DOMESTIC","NIIPID":"USD","NIIPIE":"DOMESTIC","NIIPIL":"USD","NIIPIN":"USD","NIIPIS":"DOMESTIC","NIIPIT":"DOMESTIC","NIIPJP":"DOMESTIC","NIIPKH":"DOMESTIC","NIIPKR":"USD","NIIPLT":"DOMESTIC","NIIPLU":"DOMESTIC","NIIPLV":"DOMESTIC","NIIPMK":"DOMESTIC","NIIPMT":"DOMESTIC","NIIPMX":"USD","NIIPMY":"DOMESTIC","NIIPNL":"DOMESTIC","NIIPNO":"DOMESTIC","NIIPNP":"DOMESTIC","NIIPPH":"USD","NIIPPK":"USD","NIIPPL":"DOMESTIC","NIIPPT":"DOMESTIC","NIIPRO":"DOMESTIC","NIIPRS":"DOMESTIC","NIIPRU":"USD","NIIPSA":"DOMESTIC","NIIPSE":"DOMESTIC","NIIPSG":"DOMESTIC","NIIPSI":"DOMESTIC","NIIPSK":"DOMESTIC","NIIPTH":"USD","NIIPTR":"USD","NIIPTW":"USD","NIIPUA":"USD","NIIPUK":"DOMESTIC","NIIPUS":"DOMESTIC","NIIPXK":"DOMESTIC","NIIPZA":"DOMESTIC","NPLAR":"PERCENT","NPLAT":"PERCENT","NPLAU":"PERCENT","NPLBE":"PERCENT","NPLBR":"PERCENT","NPLCN":"PERCENT","NPLDK":"PERCENT","NPLES":"PERCENT","NPLFI":"PERCENT","NPLFR":"PERCENT","NPLHK":"PERCENT","NPLID":"PERCENT","NPLIE":"PERCENT","NPLIN":"PERCENT","NPLIT":"PERCENT","NPLJP":"PERCENT","NPLLU":"PERCENT","NPLMX":"PERCENT","NPLNL":"PERCENT","NPLNO":"PERCENT","NPLPL":"PERCENT","NPLRU":"PERCENT","NPLSA":"PERCENT","NPLSE":"PERCENT","NPLSG":"PERCENT","NPLTR":"PERCENT","NPLUS":"PERCENT","NPLZA":"PERCENT","NYBE":"DOMESTIC","NYBG":"DOMESTIC","NYCN":"USD","NYCZ":"DOMESTIC","NYDE":"DOMESTIC","NYDK":"DOMESTIC","NYEE":"DOMESTIC","NYES":"DOMESTIC","NYFI":"DOMESTIC","NYFR":"DOMESTIC","NYGR":"DOMESTIC","NYHR":"DOMESTIC","NYHU":"DOMESTIC","NYIT":"DOMESTIC","NYLT":"DOMESTIC","NYLU":"DOMESTIC","NYLV":"DOMESTIC","NYMT":"DOMESTIC","NYMX":"DOMESTIC","NYNL":"DOMESTIC","NYPH":"USD","NYPL":"DOMESTIC","NYPT":"DOMESTIC","NYRO":"DOMESTIC","NYSE":"DOMESTIC","NYSI":"DOMESTIC","NYSK":"DOMESTIC","OILDEMAE":"BARRELS PER DAY","OILDEMAL":"BARRELS PER DAY","OILDEMAM":"BARRELS PER DAY","OILDEMAO":"BARRELS PER DAY","OILDEMAR":"BARRELS PER DAY","OILDEMAT":"BARRELS PER DAY","OILDEMAU":"BARRELS PER DAY","OILDEMAZ":"BARRELS PER DAY","OILDEMBB":"BARRELS PER DAY","OILDEMBD":"BARRELS PER DAY","OILDEMBE":"BARRELS PER DAY","OILDEMBG":"BARRELS PER DAY","OILDEMBH":"BARRELS PER DAY","OILDEMBM":"BARRELS PER DAY","OILDEMBN":"BARRELS PER DAY","OILDEMBO":"BARRELS PER DAY","OILDEMBR":"BARRELS PER DAY","OILDEMBY":"BARRELS PER DAY","OILDEMBZ":"BARRELS PER DAY","OILDEMCA":"BARRELS PER DAY","OILDEMCH":"BARRELS PER DAY","OILDEMCL":"BARRELS PER DAY","OILDEMCN":"BARRELS PER DAY","OILDEMCO":"BARRELS PER DAY","OILDEMCR":"BARRELS PER DAY","OILDEMCU":"BARRELS PER DAY","OILDEMCY":"BARRELS PER DAY","OILDEMCZ":"BARRELS PER DAY","OILDEMDE":"BARRELS PER DAY","OILDEMDK":"BARRELS PER DAY","OILDEMDO":"BARRELS PER DAY","OILDEMDZ":"BARRELS PER DAY","OILDEMEC":"BARRELS PER DAY","OILDEMEE":"BARRELS PER DAY","OILDEMEG":"BARRELS PER DAY","OILDEMES":"BARRELS PER DAY","OILDEMFI":"BARRELS PER DAY","OILDEMFR":"BARRELS PER DAY","OILDEMGA":"BARRELS PER DAY","OILDEMGD":"BARRELS PER DAY","OILDEMGE":"BARRELS PER DAY","OILDEMGM":"BARRELS PER DAY","OILDEMGQ":"BARRELS PER DAY","OILDEMGR":"BARRELS PER DAY","OILDEMGT":"BARRELS PER DAY","OILDEMGY":"BARRELS PER DAY","OILDEMHK":"BARRELS PER DAY","OILDEMHN":"BARRELS PER DAY","OILDEMHR":"BARRELS PER DAY","OILDEMHT":"BARRELS PER DAY","OILDEMHU":"BARRELS PER DAY","OILDEMID":"BARRELS PER DAY","OILDEMIE":"BARRELS PER DAY","OILDEMIN":"BARRELS PER DAY","OILDEMIQ":"BARRELS PER DAY","OILDEMIR":"BARRELS PER DAY","OILDEMIS":"BARRELS PER DAY","OILDEMIT":"BARRELS PER DAY","OILDEMJM":"BARRELS PER DAY","OILDEMJP":"BARRELS PER DAY","OILDEMKR":"BARRELS PER DAY","OILDEMKW":"BARRELS PER DAY","OILDEMKZ":"BARRELS PER DAY","OILDEMLT":"BARRELS PER DAY","OILDEMLU":"BARRELS PER DAY","OILDEMLV":"BARRELS PER DAY","OILDEMLY":"BARRELS PER DAY","OILDEMMA":"BARRELS PER DAY","OILDEMMD":"BARRELS PER DAY","OILDEMMK":"BARRELS PER DAY","OILDEMMM":"BARRELS PER DAY","OILDEMMT":"BARRELS PER DAY","OILDEMMU":"BARRELS PER DAY","OILDEMMX":"BARRELS PER DAY","OILDEMMY":"BARRELS PER DAY","OILDEMNE":"BARRELS PER DAY","OILDEMNG":"BARRELS PER DAY","OILDEMNI":"BARRELS PER DAY","OILDEMNL":"BARRELS PER DAY","OILDEMNO":"BARRELS PER DAY","OILDEMNP":"BARRELS PER DAY","OILDEMNZ":"BARRELS PER DAY","OILDEMOM":"BARRELS PER DAY","OILDEMPA":"BARRELS PER DAY","OILDEMPE":"BARRELS PER DAY","OILDEMPG":"BARRELS PER DAY","OILDEMPH":"BARRELS PER DAY","OILDEMPL":"BARRELS PER DAY","OILDEMPT":"BARRELS PER DAY","OILDEMPY":"BARRELS PER DAY","OILDEMQA":"BARRELS PER DAY","OILDEMRO":"BARRELS PER DAY","OILDEMRU":"BARRELS PER DAY","OILDEMSA":"BARRELS PER DAY","OILDEMSD":"BARRELS PER DAY","OILDEMSE":"BARRELS PER DAY","OILDEMSG":"BARRELS PER DAY","OILDEMSI":"BARRELS PER DAY","OILDEMSK":"BARRELS PER DAY","OILDEMSR":"BARRELS PER DAY","OILDEMSV":"BARRELS PER DAY","OILDEMSY":"BARRELS PER DAY","OILDEMSZ":"BARRELS PER DAY","OILDEMTH":"BARRELS PER DAY","OILDEMTJ":"BARRELS PER DAY","OILDEMTN":"BARRELS PER DAY","OILDEMTR":"BARRELS PER DAY","OILDEMTT":"BARRELS PER DAY","OILDEMTW":"BARRELS PER DAY","OILDEMUA":"BARRELS PER DAY","OILDEMUK":"BARRELS PER DAY","OILDEMUS":"BARRELS PER DAY","OILDEMUY":"BARRELS PER DAY","OILDEMVE":"BARRELS PER DAY","OILDEMVN":"BARRELS PER DAY","OILDEMYE":"BARRELS PER DAY","OILDEMZA":"BARRELS PER DAY","OILPRODAE":"BARRELS PER DAY","OILPRODAL":"BARRELS PER DAY","OILPRODAM":"BARRELS PER DAY","OILPRODAO":"BARRELS PER DAY","OILPRODAR":"BARRELS PER DAY","OILPRODAT":"BARRELS PER DAY","OILPRODAU":"BARRELS PER DAY","OILPRODAZ":"BARRELS PER DAY","OILPRODBB":"BARRELS PER DAY","OILPRODBD":"BARRELS PER DAY","OILPRODBE":"BARRELS PER DAY","OILPRODBG":"BARRELS PER DAY","OILPRODBH":"BARRELS PER DAY","OILPRODBM":"BARRELS PER DAY","OILPRODBN":"BARRELS PER DAY","OILPRODBO":"BARRELS PER DAY","OILPRODBR":"BARRELS PER DAY","OILPRODBY":"BARRELS PER DAY","OILPRODBZ":"BARRELS PER DAY","OILPRODCA":"BARRELS PER DAY","OILPRODCH":"BARRELS PER DAY","OILPRODCL":"BARRELS PER DAY","OILPRODCN":"BARRELS PER DAY","OILPRODCO":"BARRELS PER DAY","OILPRODCR":"BARRELS PER DAY","OILPRODCU":"BARRELS PER DAY","OILPRODCY":"BARRELS PER DAY","OILPRODCZ":"BARRELS PER DAY","OILPRODDE":"BARRELS PER DAY","OILPRODDK":"BARRELS PER DAY","OILPRODDO":"BARRELS PER DAY","OILPRODDZ":"BARRELS PER DAY","OILPRODEC":"BARRELS PER DAY","OILPRODEE":"BARRELS PER DAY","OILPRODEG":"BARRELS PER DAY","OILPRODES":"BARRELS PER DAY","OILPRODFI":"BARRELS PER DAY","OILPRODFR":"BARRELS PER DAY","OILPRODGA":"BARRELS PER DAY","OILPRODGD":"BARRELS PER DAY","OILPRODGE":"BARRELS PER DAY","OILPRODGM":"BARRELS PER DAY","OILPRODGQ":"BARRELS PER DAY","OILPRODGR":"BARRELS PER DAY","OILPRODGT":"BARRELS PER DAY","OILPRODGY":"BARRELS PER DAY","OILPRODHK":"BARRELS PER DAY","OILPRODHN":"BARRELS PER DAY","OILPRODHR":"BARRELS PER DAY","OILPRODHT":"BARRELS PER DAY","OILPRODHU":"BARRELS PER DAY","OILPRODID":"BARRELS PER DAY","OILPRODIE":"BARRELS PER DAY","OILPRODIN":"BARRELS PER DAY","OILPRODIQ":"BARRELS PER DAY","OILPRODIR":"BARRELS PER DAY","OILPRODIS":"BARRELS PER DAY","OILPRODIT":"BARRELS PER DAY","OILPRODJM":"BARRELS PER DAY","OILPRODJP":"BARRELS PER DAY","OILPRODKR":"BARRELS PER DAY","OILPRODKW":"BARRELS PER DAY","OILPRODKZ":"BARRELS PER DAY","OILPRODLT":"BARRELS PER DAY","OILPRODLU":"BARRELS PER DAY","OILPRODLV":"BARRELS PER DAY","OILPRODLY":"BARRELS PER DAY","OILPRODMA":"BARRELS PER DAY","OILPRODMD":"BARRELS PER DAY","OILPRODMK":"BARRELS PER DAY","OILPRODMM":"BARRELS PER DAY","OILPRODMT":"BARRELS PER DAY","OILPRODMU":"BARRELS PER DAY","OILPRODMX":"BARRELS PER DAY","OILPRODMY":"BARRELS PER DAY","OILPRODNE":"BARRELS PER DAY","OILPRODNG":"BARRELS PER DAY","OILPRODNI":"BARRELS PER DAY","OILPRODNL":"BARRELS PER DAY","OILPRODNO":"BARRELS PER DAY","OILPRODNP":"BARRELS PER DAY","OILPRODNZ":"BARRELS PER DAY","OILPRODOM":"BARRELS PER DAY","OILPRODPA":"BARRELS PER DAY","OILPRODPE":"BARRELS PER DAY","OILPRODPG":"BARRELS PER DAY","OILPRODPH":"BARRELS PER DAY","OILPRODPL":"BARRELS PER DAY","OILPRODPT":"BARRELS PER DAY","OILPRODPY":"BARRELS PER DAY","OILPRODQA":"BARRELS PER DAY","OILPRODRO":"BARRELS PER DAY","OILPRODRU":"BARRELS PER DAY","OILPRODSA":"BARRELS PER DAY","OILPRODSD":"BARRELS PER DAY","OILPRODSE":"BARRELS PER DAY","OILPRODSG":"BARRELS PER DAY","OILPRODSI":"BARRELS PER DAY","OILPRODSK":"BARRELS PER DAY","OILPRODSR":"BARRELS PER DAY","OILPRODSV":"BARRELS PER DAY","OILPRODSY":"BARRELS PER DAY","OILPRODSZ":"BARRELS PER DAY","OILPRODTH":"BARRELS PER DAY","OILPRODTJ":"BARRELS PER DAY","OILPRODTN":"BARRELS PER DAY","OILPRODTR":"BARRELS PER DAY","OILPRODTT":"BARRELS PER DAY","OILPRODTW":"BARRELS PER DAY","OILPRODUA":"BARRELS PER DAY","OILPRODUK":"BARRELS PER DAY","OILPRODUS":"BARRELS PER DAY","OILPRODUY":"BARRELS PER DAY","OILPRODVE":"BARRELS PER DAY","OILPRODVN":"BARRELS PER DAY","OILPRODYE":"BARRELS PER DAY","OILPRODZA":"BARRELS PER DAY","PALUM":"USD","PAPPLE":"USD","PARTCO":"PERCENT","PARTDO":"PERCENT","PARTLK":"PERCENT","PARTNZ":"PERCENT","PARTTR":"PERCENT","PBANSOP":"USD","PBARL":"USD","PBEEF":"USD","PCEUS":"INDEX","PCHANA":"USD","PCHROM":"USD","PCOALAU":"USD","PCOALSA":"USD","PCOBA":"USD","PCOCO":"USD","PCOFFOTM":"USD","PCOFFROB":"USD","PCOIL":"USD","PCOPP":"USD","PCOTTIND":"USD","PDAP":"USD","PFSHMEAL":"USD","PGASO":"USD","PGNUTS":"USD","PGOLD":"USD","PHEATOIL":"USD","PHIDE":"USD","PIORECR":"USD","PLAMB":"USD","PLEAD":"USD","PLITH":"USD","PLMMODY":"USD","PLOGORE":"USD","PLOGSK":"USD","PMAIZMT":"USD","PMANGELE":"USD","PMILK":"USD","PNGASEU":"USD","PNGASJP":"USD","PNGASUS":"USD","PNICK":"USD","POATS":"USD","POILAPSP":"USD","POILBRE":"USD","POILDUB":"USD","POILWTI":"USD","POLIRAR":"PERCENT","POLIRAU":"PERCENT","POLIRAZ":"PERCENT","POLIRBR":"PERCENT","POLIRCA":"PERCENT","POLIRCH":"PERCENT","POLIRCL":"PERCENT","POLIRCN":"PERCENT","POLIRCO":"PERCENT","POLIRCZ":"PERCENT","POLIRDK":"PERCENT","POLIREA":"PERCENT","POLIRHK":"PERCENT","POLIRHR":"PERCENT","POLIRHU":"PERCENT","POLIRID":"PERCENT","POLIRIL":"PERCENT","POLIRIN":"PERCENT","POLIRIS":"PERCENT","POLIRJP":"PERCENT","POLIRKR":"PERCENT","POLIRMK":"PERCENT","POLIRMO":"PERCENT","POLIRMX":"PERCENT","POLIRMY":"PERCENT","POLIRNO":"PERCENT","POLIRNP":"PERCENT","POLIRNZ":"PERCENT","POLIRPE":"PERCENT","POLIRPH":"PERCENT","POLIRPL":"PERCENT","POLIRPY":"OTHER NUMBER","POLIRQA":"PERCENT","POLIRRO":"PERCENT","POLIRRS":"PERCENT","POLIRRU":"PERCENT","POLIRSA":"PERCENT","POLIRSE":"PERCENT","POLIRSG":"PERCENT","POLIRTH":"PERCENT","POLIRTN":"PERCENT","POLIRTR":"PERCENT","POLIRTW":"PERCENT","POLIRUA":"PERCENT","POLIRUK":"PERCENT","POLIRUS":"PERCENT","POLIRUZ":"PERCENT","POLIRZA":"PERCENT","POLVOIL":"USD","POPAD":"PERSONS","POPAE":"PERSONS","POPAL":"PERSONS","POPAM":"PERSONS","POPAR":"PERSONS","POPAT":"PERSONS","POPAU":"PERSONS","POPAZ":"OTHER NUMBER","POPBD":"PERSONS","POPBE":"PERSONS","POPBG":"PERSONS","POPBO":"PERSONS","POPBR":"PERSONS","POPBY":"PERSONS","POPCA":"PERSONS","POPCD":"PERSONS","POPCH":"PERSONS","POPCL":"PERSONS","POPCN":"PERSONS","POPCO":"PERSONS","POPCR":"PERSONS","POPCY":"PERSONS","POPCZ":"PERSONS","POPDE":"PERSONS","POPDK":"PERSONS","POPDO":"PERSONS","POPDZ":"PERSONS","POPEC":"PERSONS","POPEE":"PERSONS","POPEG":"PERSONS","POPES":"PERSONS","POPET":"PERSONS","POPEU":"PERSONS","POPFI":"PERSONS","POPFR":"PERSONS","POPGE":"PERSONS","POPGR":"PERSONS","POPGT":"PERSONS","POPHK":"PERSONS","POPHR":"PERSONS","POPHU":"PERSONS","POPID":"PERSONS","POPIE":"PERSONS","POPIL":"PERSONS","POPIN":"PERSONS","POPIQ":"PERSONS","POPIR":"PERSONS","POPIS":"PERSONS","POPIT":"PERSONS","POPJO":"PERSONS","POPJP":"PERSONS","POPKG":"PERSONS","POPKH":"PERSONS","POPKR":"PERSONS","POPKW":"PERSONS","POPKZ":"PERSONS","POPLB":"PERSONS","POPLI":"PERSONS","POPLK":"PERSONS","POPLT":"PERSONS","POPLU":"PERSONS","POPLV":"PERSONS","POPLY":"PERSONS","POPMA":"PERSONS","POPMD":"PERSONS","POPME":"PERSONS","POPMK":"PERSONS","POPMM":"PERSONS","POPMO":"PERSONS","POPMT":"PERSONS","POPMX":"PERSONS","POPMY":"PERSONS","POPNG":"PERSONS","POPNI":"PERSONS","POPNL":"PERSONS","POPNO":"PERSONS","POPNZ":"PERSONS","POPPH":"PERSONS","POPPL":"PERSONS","POPPT":"PERSONS","POPPY":"PERSONS","POPQA":"PERSONS","POPRO":"PERSONS","POPRS":"PERSONS","POPRU":"PERSONS","POPSA":"PERSONS","POPSD":"PERSONS","POPSE":"PERSONS","POPSG":"PERSONS","POPSI":"PERSONS","POPSK":"PERSONS","POPSM":"PERSONS","POPSN":"PERSONS","POPSV":"PERSONS","POPTH":"PERSONS","POPTJ":"PERSONS","POPTM":"PERSONS","POPTN":"PERSONS","POPTR":"PERSONS","POPTW":"PERSONS","POPUA":"PERSONS","POPUK":"PERSONS","POPUS":"PERSONS","POPUY":"PERSONS","POPUZ":"PERSONS","POPVE":"PERSONS","POPVN":"PERSONS","POPXK":"PERSONS","POPZA":"PERSONS","PORANG":"USD","PPALLA":"USD","PPIAL":"INDEX","PPIAR":"INDEX","PPIAT":"INDEX","PPIAU":"INDEX","PPIBD":"INDEX","PPIBE":"INDEX","PPIBG":"INDEX","PPIBR":"INDEX","PPIBY":"INDEX","PPICA":"INDEX","PPICH":"INDEX","PPICL":"INDEX","PPICN":"INDEX","PPICO":"INDEX","PPICR":"INDEX","PPICY":"INDEX","PPICZ":"INDEX","PPIDE":"INDEX","PPIDK":"INDEX","PPIEE":"INDEX","PPIEG":"INDEX","PPIES":"INDEX","PPIEU":"INDEX","PPIFI":"INDEX","PPIFR":"INDEX","PPIGR":"INDEX","PPIHK":"INDEX","PPIHR":"INDEX","PPIHU":"INDEX","PPIID":"INDEX","PPIIE":"INDEX","PPIIL":"INDEX","PPIIN":"INDEX","PPIIT":"INDEX","PPIJO":"INDEX","PPIJP":"INDEX","PPIKR":"INDEX","PPIKZ":"INDEX","PPILT":"INDEX","PPILU":"INDEX","PPILV":"INDEX","PPIMA":"INDEX","PPIME":"INDEX","PPIMK":"INDEX","PPIMT":"INDEX","PPIMX":"INDEX","PPIMY":"INDEX","PPINL":"INDEX","PPINO":"INDEX","PPIPA":"INDEX","PPIPE":"INDEX","PPIPH":"INDEX","PPIPK":"INDEX","PPIPL":"INDEX","PPIPT":"INDEX","PPIQA":"INDEX","PPIRO":"INDEX","PPIRS":"INDEX","PPIRU":"INDEX","PPISA":"INDEX","PPISE":"INDEX","PPISG":"INDEX","PPISI":"INDEX","PPISK":"INDEX","PPISV":"INDEX","PPITH":"INDEX","PPITN":"INDEX","PPITR":"INDEX","PPITW":"INDEX","PPIUA":"INDEX","PPIUK":"INDEX","PPIUS":"INDEX","PPIUY":"INDEX","PPIVN":"INDEX","PPIZA":"INDEX","PPLAT":"USD","PPOIL":"USD","PPORK":"USD","PPOTASH":"USD","PPOULT":"USD","PPROPANE":"USD","PRCAE":"DOMESTIC","PRCAR":"DOMESTIC","PRCAT":"DOMESTIC","PRCAU":"DOMESTIC","PRCAZ":"DOMESTIC","PRCBD":"DOMESTIC","PRCBE":"DOMESTIC","PRCBG":"DOMESTIC","PRCBR":"DOMESTIC","PRCBW":"DOMESTIC","PRCBY":"DOMESTIC","PRCCA":"DOMESTIC","PRCCH":"DOMESTIC","PRCCL":"DOMESTIC","PRCCN":"DOMESTIC","PRCCO":"DOMESTIC","PRCCY":"DOMESTIC","PRCCZ":"DOMESTIC","PRCDE":"DOMESTIC","PRCDK":"DOMESTIC","PRCEA":"DOMESTIC","PRCEE":"DOMESTIC","PRCES":"DOMESTIC","PRCEU":"DOMESTIC","PRCFI":"DOMESTIC","PRCFR":"DOMESTIC","PRCGR":"DOMESTIC","PRCHK":"DOMESTIC","PRCHR":"DOMESTIC","PRCHU":"DOMESTIC","PRCID":"DOMESTIC","PRCIE":"DOMESTIC","PRCIL":"DOMESTIC","PRCIN":"DOMESTIC","PRCIR":"DOMESTIC","PRCIT":"DOMESTIC","PRCJP":"DOMESTIC","PRCKR":"DOMESTIC","PRCKZ":"DOMESTIC","PRCLT":"DOMESTIC","PRCLU":"DOMESTIC","PRCLV":"DOMESTIC","PRCMA":"DOMESTIC","PRCME":"DOMESTIC","PRCMK":"DOMESTIC","PRCMN":"DOMESTIC","PRCMT":"DOMESTIC","PRCMX":"DOMESTIC","PRCMY":"DOMESTIC","PRCNG":"DOMESTIC","PRCNL":"DOMESTIC","PRCNO":"DOMESTIC","PRCNZ":"DOMESTIC","PRCPE":"DOMESTIC","PRCPH":"DOMESTIC","PRCPK":"DOMESTIC","PRCPL":"DOMESTIC","PRCPT":"DOMESTIC","PRCQA":"DOMESTIC","PRCRO":"DOMESTIC","PRCRS":"DOMESTIC","PRCRU":"DOMESTIC","PRCSA":"DOMESTIC","PRCSE":"DOMESTIC","PRCSG":"DOMESTIC","PRCSI":"DOMESTIC","PRCSK":"DOMESTIC","PRCTH":"DOMESTIC","PRCTR":"DOMESTIC","PRCTW":"DOMESTIC","PRCUA":"DOMESTIC","PRCUK":"DOMESTIC","PRCUS":"DOMESTIC","PRCVN":"DOMESTIC","PRCZA":"DOMESTIC","PREODOM":"USD","PRICENPQ":"USD","PRIDEBTBG":"PERCENT","PRIDEBTCY":"PERCENT","PRIDEBTEE":"PERCENT","PRIDEBTHR":"PERCENT","PRIDEBTLT":"PERCENT","PRIDEBTLV":"PERCENT","PRIDEBTMT":"PERCENT","PRIDEBTRO":"PERCENT","PRIDEBTSI":"PERCENT","PRIDEBTSK":"PERCENT","PROIL":"USD","PRUBB":"USD","PSALM":"USD","PSAWMAL":"USD","PSAWORE":"USD","PSHRI":"USD","PSILLUMP":"USD","PSILVER":"USD","PSMEA":"USD","PSOIL":"USD","PSORG":"USD","PSOYB":"USD","PSUGAISA":"USD","PSUGAUSA":"USD","PSUNO":"USD","PTEA":"USD","PTEAINDIA":"USD","PTEAMOM":"USD","PTEASL":"USD","PTIN":"USD","PTOMATO":"USD","PUCAE":"DOMESTIC","PUCAL":"DOMESTIC","PUCAR":"DOMESTIC","PUCAT":"DOMESTIC","PUCAU":"DOMESTIC","PUCAZ":"DOMESTIC","PUCBD":"DOMESTIC","PUCBE":"DOMESTIC","PUCBG":"DOMESTIC","PUCBR":"DOMESTIC","PUCBW":"DOMESTIC","PUCBY":"DOMESTIC","PUCCA":"DOMESTIC","PUCCH":"DOMESTIC","PUCCL":"DOMESTIC","PUCCM":"DOMESTIC","PUCCN":"DOMESTIC","PUCCO":"DOMESTIC","PUCCY":"DOMESTIC","PUCCZ":"DOMESTIC","PUCDE":"DOMESTIC","PUCDK":"DOMESTIC","PUCEA":"DOMESTIC","PUCEE":"DOMESTIC","PUCES":"DOMESTIC","PUCEU":"DOMESTIC","PUCFI":"DOMESTIC","PUCFR":"DOMESTIC","PUCGR":"DOMESTIC","PUCHK":"DOMESTIC","PUCHR":"DOMESTIC","PUCHU":"DOMESTIC","PUCID":"DOMESTIC","PUCIE":"DOMESTIC","PUCIL":"DOMESTIC","PUCIN":"DOMESTIC","PUCIR":"DOMESTIC","PUCIT":"DOMESTIC","PUCJP":"DOMESTIC","PUCKR":"DOMESTIC","PUCKZ":"DOMESTIC","PUCLT":"DOMESTIC","PUCLU":"DOMESTIC","PUCLV":"DOMESTIC","PUCMA":"DOMESTIC","PUCME":"DOMESTIC","PUCMK":"DOMESTIC","PUCMT":"DOMESTIC","PUCMX":"DOMESTIC","PUCMY":"DOMESTIC","PUCNG":"DOMESTIC","PUCNL":"DOMESTIC","PUCNO":"DOMESTIC","PUCNZ":"DOMESTIC","PUCPE":"DOMESTIC","PUCPH":"DOMESTIC","PUCPK":"DOMESTIC","PUCPL":"DOMESTIC","PUCPT":"DOMESTIC","PUCQA":"DOMESTIC","PUCRO":"DOMESTIC","PUCRS":"DOMESTIC","PUCRU":"DOMESTIC","PUCSA":"DOMESTIC","PUCSE":"DOMESTIC","PUCSG":"DOMESTIC","PUCSI":"DOMESTIC","PUCSK":"DOMESTIC","PUCTH":"DOMESTIC","PUCTR":"DOMESTIC","PUCTW":"DOMESTIC","PUCUA":"DOMESTIC","PUCUK":"DOMESTIC","PUCUS":"DOMESTIC","PUCVN":"DOMESTIC","PUCZA":"DOMESTIC","PURAN":"USD","PUREA":"USD","PVANPENT":"USD","PWHEAMT":"USD","PWOOLC":"USD","PWOOLF":"USD","PZINC":"USD","RCIAE":"DOMESTIC","RCIAR":"DOMESTIC","RCIAU":"DOMESTIC","RCIAZ":"DOMESTIC","RCIBW":"DOMESTIC","RCIBY":"DOMESTIC","RCICN":"DOMESTIC","RCIHK":"DOMESTIC","RCIIN":"DOMESTIC","RCIIR":"DOMESTIC","RCIKH":"DOMESTIC","RCIKR":"DOMESTIC","RCIMN":"DOMESTIC","RCIMO":"DOMESTIC","RCIMY":"DOMESTIC","RCING":"DOMESTIC","RCINO":null,"RCINZ":"DOMESTIC","RCIPA":"DOMESTIC","RCIPH":"DOMESTIC","RCIPK":"DOMESTIC","RCISA":"DOMESTIC","RCISG":"DOMESTIC","RCITH":"DOMESTIC","RCITW":"DOMESTIC","RCIUA":"DOMESTIC","RCIUK":"DOMESTIC","RCIUS":"DOMESTIC","RCIVN":"DOMESTIC","RCIZA":"DOMESTIC","RCONAE":"DOMESTIC","RCONAL":"DOMESTIC","RCONAT":"DOMESTIC","RCONBA":"DOMESTIC","RCONBD":"DOMESTIC","RCONBE":"DOMESTIC","RCONBG":"DOMESTIC","RCONBY":"DOMESTIC","RCONCA":"DOMESTIC","RCONCH":"DOMESTIC","RCONCL":"USD","RCONCY":"DOMESTIC","RCONCZ":"DOMESTIC","RCONDE":"DOMESTIC","RCONDK":"DOMESTIC","RCONEA":"DOMESTIC","RCONEE":"DOMESTIC","RCONES":"DOMESTIC","RCONEU":"DOMESTIC","RCONFI":"DOMESTIC","RCONFR":"DOMESTIC","RCONGR":"DOMESTIC","RCONHR":"DOMESTIC","RCONHU":"DOMESTIC","RCONIE":"DOMESTIC","RCONIT":"DOMESTIC","RCONKR":"DOMESTIC","RCONLT":"DOMESTIC","RCONLU":"DOMESTIC","RCONLV":"DOMESTIC","RCONMK":"DOMESTIC","RCONMT":"DOMESTIC","RCONMX":"DOMESTIC","RCONNL":"DOMESTIC","RCONNO":"DOMESTIC","RCONPL":"DOMESTIC","RCONPT":"DOMESTIC","RCONRO":"DOMESTIC","RCONRS":"DOMESTIC","RCONSE":"DOMESTIC","RCONSI":"DOMESTIC","RCONSK":"DOMESTIC","RCONTH":"DOMESTIC","RCONUA":"DOMESTIC","RCONUK":"DOMESTIC","REERAE":"INDEX","REERAR":"INDEX","REERAT":"INDEX","REERAU":"INDEX","REERAZ":"INDEX","REERBE":"INDEX","REERBG":"INDEX","REERBR":"INDEX","REERCA":"INDEX","REERCH":"INDEX","REERCL":"INDEX","REERCN":"INDEX","REERCO":"INDEX","REERCY":"INDEX","REERCZ":"INDEX","REERDE":"INDEX","REERDK":"INDEX","REERDZ":"INDEX","REEREA":"INDEX","REEREE":"INDEX","REERES":"INDEX","REERFI":"INDEX","REERFR":"INDEX","REERGR":"INDEX","REERHK":"INDEX","REERHR":"INDEX","REERHU":"INDEX","REERID":"INDEX","REERIE":"INDEX","REERIL":"INDEX","REERIN":"INDEX","REERIS":"INDEX","REERIT":"INDEX","REERJP":"INDEX","REERKR":"INDEX","REERLT":"INDEX","REERLU":"INDEX","REERLV":"INDEX","REERMT":"INDEX","REERMX":"INDEX","REERMY":"INDEX","REERNL":"INDEX","REERNO":"INDEX","REERNZ":"INDEX","REERPE":"INDEX","REERPH":"INDEX","REERPL":"INDEX","REERPT":"INDEX","REERPY":"INDEX","REERRO":"INDEX","REERRS":"INDEX","REERRU":"INDEX","REERSA":"INDEX","REERSE":"INDEX","REERSG":"INDEX","REERSI":"INDEX","REERSK":"INDEX","REERTH":"INDEX","REERTR":"INDEX","REERTW":"INDEX","REERUK":"INDEX","REERUS":"INDEX","REERZA":"INDEX","RETAAL":"INDEX","RETAAR":"DOMESTIC","RETAAT":"INDEX","RETAAU":"DOMESTIC","RETAAZ":"INDEX","RETABA":"INDEX","RETABE":"INDEX","RETABG":"INDEX","RETABR":"INDEX","RETACA":"DOMESTIC","RETACH":"INDEX","RETACN":"DOMESTIC","RETACO":"INDEX","RETACY":"INDEX","RETACZ":"INDEX","RETADE":"INDEX","RETADK":"INDEX","RETAEE":"INDEX","RETAES":"INDEX","RETAEU":"INDEX","RETAFI":"INDEX","RETAFR":"INDEX","RETAGR":"INDEX","RETAHK":"INDEX","RETAHR":"INDEX","RETAHU":"INDEX","RETAID":"INDEX","RETAIE":"INDEX","RETAIL":"INDEX","RETAIR":"DOMESTIC","RETAIT":"INDEX","RETAJP":"INDEX","RETAKR":"INDEX","RETALT":"INDEX","RETALU":"INDEX","RETALV":"INDEX","RETAME":"INDEX","RETAMK":"INDEX","RETAMT":"INDEX","RETAMX":"INDEX","RETAMY":"INDEX","RETANL":"INDEX","RETANO":"INDEX","RETANZ":"DOMESTIC","RETAPL":"INDEX","RETAPT":"INDEX","RETARO":"INDEX","RETARS":"INDEX","RETARU":"INDEX","RETASE":"INDEX","RETASG":"INDEX","RETASI":"INDEX","RETASK":"INDEX","RETATH":"INDEX","RETATR":"INDEX","RETATW":"INDEX","RETAUK":"INDEX","RETAUS":"INDEX","RETAVN":"INDEX","RETAZA":"INDEX","REXPAE":"DOMESTIC","REXPAL":"DOMESTIC","REXPAR":"DOMESTIC","REXPAT":"DOMESTIC","REXPAU":"DOMESTIC","REXPAZ":"DOMESTIC","REXPBA":"DOMESTIC","REXPBD":"DOMESTIC","REXPBE":"DOMESTIC","REXPBG":"DOMESTIC","REXPBR":"DOMESTIC","REXPBW":"DOMESTIC","REXPBY":"DOMESTIC","REXPCA":"DOMESTIC","REXPCH":"DOMESTIC","REXPCL":"DOMESTIC","REXPCN":"DOMESTIC","REXPCO":"DOMESTIC","REXPCY":"DOMESTIC","REXPCZ":"DOMESTIC","REXPDE":"DOMESTIC","REXPDK":"DOMESTIC","REXPEA":"DOMESTIC","REXPEE":"DOMESTIC","REXPES":"DOMESTIC","REXPEU":"DOMESTIC","REXPFI":"DOMESTIC","REXPFR":"DOMESTIC","REXPGR":"DOMESTIC","REXPHK":"DOMESTIC","REXPHN":"DOMESTIC","REXPHR":"DOMESTIC","REXPHU":"DOMESTIC","REXPID":"DOMESTIC","REXPIE":"DOMESTIC","REXPIL":"DOMESTIC","REXPIN":"DOMESTIC","REXPIR":"DOMESTIC","REXPIT":"DOMESTIC","REXPJP":"DOMESTIC","REXPKH":"DOMESTIC","REXPKR":"DOMESTIC","REXPLT":"DOMESTIC","REXPLU":"DOMESTIC","REXPLV":"DOMESTIC","REXPMA":"DOMESTIC","REXPMK":"DOMESTIC","REXPMN":"DOMESTIC","REXPMO":"DOMESTIC","REXPMT":"DOMESTIC","REXPMX":"DOMESTIC","REXPMY":"DOMESTIC","REXPNG":"DOMESTIC","REXPNL":"DOMESTIC","REXPNO":"DOMESTIC","REXPNZ":"DOMESTIC","REXPPA":"DOMESTIC","REXPPE":"DOMESTIC","REXPPH":"DOMESTIC","REXPPK":"DOMESTIC","REXPPL":"DOMESTIC","REXPPT":"DOMESTIC","REXPRO":"DOMESTIC","REXPRS":"DOMESTIC","REXPRU":"DOMESTIC","REXPRW":"DOMESTIC","REXPSA":"DOMESTIC","REXPSE":"DOMESTIC","REXPSG":"DOMESTIC","REXPSI":"DOMESTIC","REXPSK":"DOMESTIC","REXPTH":"DOMESTIC","REXPTR":"DOMESTIC","REXPTW":"DOMESTIC","REXPUA":"DOMESTIC","REXPUK":"DOMESTIC","REXPUS":"DOMESTIC","REXPUZ":"DOMESTIC","REXPZA":"DOMESTIC","RGCFAT":"DOMESTIC","RGCFBA":"DOMESTIC","RGCFBE":"DOMESTIC","RGCFBG":"DOMESTIC","RGCFBY":"DOMESTIC","RGCFCH":"DOMESTIC","RGCFCO":"DOMESTIC","RGCFCY":"DOMESTIC","RGCFCZ":"DOMESTIC","RGCFDE":"DOMESTIC","RGCFDK":"DOMESTIC","RGCFEA":"DOMESTIC","RGCFEE":"DOMESTIC","RGCFES":"DOMESTIC","RGCFEU":"DOMESTIC","RGCFFI":"DOMESTIC","RGCFFR":"DOMESTIC","RGCFGR":"DOMESTIC","RGCFHR":"DOMESTIC","RGCFHU":"DOMESTIC","RGCFIE":"DOMESTIC","RGCFIT":"DOMESTIC","RGCFKR":"DOMESTIC","RGCFLT":"DOMESTIC","RGCFLU":"DOMESTIC","RGCFLV":"DOMESTIC","RGCFMK":"DOMESTIC","RGCFMT":"DOMESTIC","RGCFNL":"DOMESTIC","RGCFNO":"DOMESTIC","RGCFNZ":"DOMESTIC","RGCFPE":"DOMESTIC","RGCFPK":"DOMESTIC","RGCFPL":"DOMESTIC","RGCFPT":"DOMESTIC","RGCFRO":"DOMESTIC","RGCFRS":"DOMESTIC","RGCFRU":"DOMESTIC","RGCFRW":"DOMESTIC","RGCFSE":"DOMESTIC","RGCFSI":"DOMESTIC","RGCFSK":"DOMESTIC","RGCFUA":"DOMESTIC","RGCFUK":"DOMESTIC","RGDPAE":"DOMESTIC","RGDPAL":"DOMESTIC","RGDPAR":"DOMESTIC","RGDPAT":"DOMESTIC","RGDPAU":"DOMESTIC","RGDPAZ":"DOMESTIC","RGDPBA":"DOMESTIC","RGDPBD":"DOMESTIC","RGDPBE":"DOMESTIC","RGDPBG":"DOMESTIC","RGDPBR":"DOMESTIC","RGDPBW":"DOMESTIC","RGDPBY":"DOMESTIC","RGDPCA":"DOMESTIC","RGDPCH":"DOMESTIC","RGDPCL":"DOMESTIC","RGDPCM":"DOMESTIC","RGDPCN":"DOMESTIC","RGDPCO":"DOMESTIC","RGDPCR":"DOMESTIC","RGDPCY":"DOMESTIC","RGDPCZ":"DOMESTIC","RGDPDE":"DOMESTIC","RGDPDK":"DOMESTIC","RGDPEA":"DOMESTIC","RGDPEE":"DOMESTIC","RGDPEG":"DOMESTIC","RGDPES":"DOMESTIC","RGDPEU":"DOMESTIC","RGDPFI":"DOMESTIC","RGDPFR":"DOMESTIC","RGDPGR":"DOMESTIC","RGDPHK":"DOMESTIC","RGDPHN":"DOMESTIC","RGDPHR":"DOMESTIC","RGDPHU":"DOMESTIC","RGDPID":"DOMESTIC","RGDPIE":"DOMESTIC","RGDPIL":"DOMESTIC","RGDPIN":"DOMESTIC","RGDPIR":"DOMESTIC","RGDPIT":"DOMESTIC","RGDPJO":"DOMESTIC","RGDPJP":"DOMESTIC","RGDPKH":"DOMESTIC","RGDPKR":"DOMESTIC","RGDPKZ":"DOMESTIC","RGDPLA":"DOMESTIC","RGDPLT":"DOMESTIC","RGDPLU":"DOMESTIC","RGDPLV":"DOMESTIC","RGDPMA":"DOMESTIC","RGDPMK":"DOMESTIC","RGDPMN":"DOMESTIC","RGDPMO":"DOMESTIC","RGDPMT":"DOMESTIC","RGDPMX":"DOMESTIC","RGDPMY":"DOMESTIC","RGDPNG":"DOMESTIC","RGDPNL":"DOMESTIC","RGDPNO":"DOMESTIC","RGDPNZ":"DOMESTIC","RGDPPA":"DOMESTIC","RGDPPCAL":"VOLUME","RGDPPCAT":"VOLUME","RGDPPCAU":"DOMESTIC","RGDPPCBE":"VOLUME","RGDPPCBG":"VOLUME","RGDPPCBR":"INDEX","RGDPPCCH":"VOLUME","RGDPPCCY":"VOLUME","RGDPPCCZ":"VOLUME","RGDPPCDE":"VOLUME","RGDPPCDK":"VOLUME","RGDPPCEA":"VOLUME","RGDPPCEE":"VOLUME","RGDPPCES":"VOLUME","RGDPPCEU":"VOLUME","RGDPPCFI":"VOLUME","RGDPPCFR":"VOLUME","RGDPPCGR":"VOLUME","RGDPPCHR":"VOLUME","RGDPPCHU":"VOLUME","RGDPPCIE":"VOLUME","RGDPPCIS":"VOLUME","RGDPPCIT":"VOLUME","RGDPPCLT":"VOLUME","RGDPPCLU":"VOLUME","RGDPPCLV":"VOLUME","RGDPPCME":"VOLUME","RGDPPCMK":"VOLUME","RGDPPCMT":"VOLUME","RGDPPCNL":"VOLUME","RGDPPCNO":"VOLUME","RGDPPCNZ":"DOMESTIC","RGDPPCPL":"VOLUME","RGDPPCPT":"VOLUME","RGDPPCRO":"VOLUME","RGDPPCRS":"VOLUME","RGDPPCSE":"VOLUME","RGDPPCSI":"VOLUME","RGDPPCSK":"VOLUME","RGDPPCTR":"VOLUME","RGDPPCUS":"DOMESTIC","RGDPPE":"DOMESTIC","RGDPPH":"DOMESTIC","RGDPPK":"DOMESTIC","RGDPPL":"DOMESTIC","RGDPPT":"DOMESTIC","RGDPQA":"DOMESTIC","RGDPRO":"DOMESTIC","RGDPRS":"DOMESTIC","RGDPRU":"DOMESTIC","RGDPRW":"DOMESTIC","RGDPSA":"DOMESTIC","RGDPSE":"DOMESTIC","RGDPSG":"DOMESTIC","RGDPSI":"DOMESTIC","RGDPSK":"DOMESTIC","RGDPTH":"DOMESTIC","RGDPTN":"DOMESTIC","RGDPTR":"DOMESTIC","RGDPTW":"DOMESTIC","RGDPUA":"DOMESTIC","RGDPUK":"DOMESTIC","RGDPUS":"DOMESTIC","RGDPUY":"DOMESTIC","RGDPUZ":"DOMESTIC","RGDPVN":"DOMESTIC","RGDPZA":"DOMESTIC","RGFCFAE":"DOMESTIC","RGFCFAL":"DOMESTIC","RGFCFAR":"DOMESTIC","RGFCFAT":"DOMESTIC","RGFCFAU":"DOMESTIC","RGFCFAZ":"DOMESTIC","RGFCFBA":"DOMESTIC","RGFCFBD":"DOMESTIC","RGFCFBE":"DOMESTIC","RGFCFBG":"DOMESTIC","RGFCFBR":"DOMESTIC","RGFCFBW":"DOMESTIC","RGFCFBY":"DOMESTIC","RGFCFCA":"DOMESTIC","RGFCFCH":"DOMESTIC","RGFCFCL":"DOMESTIC","RGFCFCN":"INDEX","RGFCFCO":"DOMESTIC","RGFCFCR":"DOMESTIC","RGFCFCY":"DOMESTIC","RGFCFCZ":"DOMESTIC","RGFCFDE":"DOMESTIC","RGFCFDK":"DOMESTIC","RGFCFEA":"DOMESTIC","RGFCFEE":"DOMESTIC","RGFCFES":"DOMESTIC","RGFCFEU":"DOMESTIC","RGFCFFI":"DOMESTIC","RGFCFFR":"DOMESTIC","RGFCFGR":"DOMESTIC","RGFCFHK":"DOMESTIC","RGFCFHN":"DOMESTIC","RGFCFHR":"DOMESTIC","RGFCFHU":"DOMESTIC","RGFCFID":"DOMESTIC","RGFCFIE":"DOMESTIC","RGFCFIL":"DOMESTIC","RGFCFIN":"DOMESTIC","RGFCFIR":"DOMESTIC","RGFCFIT":"DOMESTIC","RGFCFJP":"DOMESTIC","RGFCFKH":"DOMESTIC","RGFCFKR":"DOMESTIC","RGFCFLT":"DOMESTIC","RGFCFLU":"DOMESTIC","RGFCFLV":"DOMESTIC","RGFCFMA":"DOMESTIC","RGFCFMN":"DOMESTIC","RGFCFMO":"DOMESTIC","RGFCFMT":"DOMESTIC","RGFCFMX":"DOMESTIC","RGFCFMY":"DOMESTIC","RGFCFNG":"DOMESTIC","RGFCFNL":"DOMESTIC","RGFCFNO":"DOMESTIC","RGFCFNZ":"DOMESTIC","RGFCFPH":"DOMESTIC","RGFCFPK":"DOMESTIC","RGFCFPL":"DOMESTIC","RGFCFPT":"DOMESTIC","RGFCFRO":"DOMESTIC","RGFCFRS":"DOMESTIC","RGFCFRU":"DOMESTIC","RGFCFSA":"DOMESTIC","RGFCFSE":"DOMESTIC","RGFCFSG":"DOMESTIC","RGFCFSI":"DOMESTIC","RGFCFSK":"DOMESTIC","RGFCFTH":"DOMESTIC","RGFCFTR":"DOMESTIC","RGFCFTW":"DOMESTIC","RGFCFUA":"DOMESTIC","RGFCFUK":"DOMESTIC","RGFCFUS":"DOMESTIC","RGFCFVN":"DOMESTIC","RGFCFZA":"DOMESTIC","RIMPAE":"DOMESTIC","RIMPAL":"DOMESTIC","RIMPAR":"DOMESTIC","RIMPAT":"DOMESTIC","RIMPAU":"DOMESTIC","RIMPAZ":"DOMESTIC","RIMPBA":"DOMESTIC","RIMPBD":"DOMESTIC","RIMPBE":"DOMESTIC","RIMPBG":"DOMESTIC","RIMPBR":"DOMESTIC","RIMPBW":"DOMESTIC","RIMPBY":"DOMESTIC","RIMPCA":"DOMESTIC","RIMPCH":"DOMESTIC","RIMPCL":"DOMESTIC","RIMPCN":"DOMESTIC","RIMPCO":"DOMESTIC","RIMPCY":"DOMESTIC","RIMPCZ":"DOMESTIC","RIMPDE":"DOMESTIC","RIMPDK":"DOMESTIC","RIMPEA":"DOMESTIC","RIMPEE":"DOMESTIC","RIMPES":"DOMESTIC","RIMPEU":"DOMESTIC","RIMPFI":"DOMESTIC","RIMPFR":"DOMESTIC","RIMPGR":"DOMESTIC","RIMPHK":"DOMESTIC","RIMPHN":"DOMESTIC","RIMPHR":"DOMESTIC","RIMPHU":"DOMESTIC","RIMPID":"DOMESTIC","RIMPIE":"DOMESTIC","RIMPIL":"DOMESTIC","RIMPIN":"DOMESTIC","RIMPIR":"DOMESTIC","RIMPIT":"DOMESTIC","RIMPJP":"DOMESTIC","RIMPKH":"DOMESTIC","RIMPKR":"DOMESTIC","RIMPLT":"DOMESTIC","RIMPLU":"DOMESTIC","RIMPLV":"DOMESTIC","RIMPMA":"DOMESTIC","RIMPMK":"DOMESTIC","RIMPMN":"DOMESTIC","RIMPMO":"DOMESTIC","RIMPMT":"DOMESTIC","RIMPMX":"DOMESTIC","RIMPMY":"DOMESTIC","RIMPNG":"DOMESTIC","RIMPNL":"DOMESTIC","RIMPNO":"DOMESTIC","RIMPNZ":"DOMESTIC","RIMPPA":"DOMESTIC","RIMPPE":"DOMESTIC","RIMPPH":"DOMESTIC","RIMPPK":"DOMESTIC","RIMPPL":"DOMESTIC","RIMPPT":"DOMESTIC","RIMPRO":"DOMESTIC","RIMPRS":"DOMESTIC","RIMPRU":"DOMESTIC","RIMPRW":"DOMESTIC","RIMPSA":"DOMESTIC","RIMPSE":"DOMESTIC","RIMPSG":"DOMESTIC","RIMPSI":"DOMESTIC","RIMPSK":"DOMESTIC","RIMPTH":"DOMESTIC","RIMPTR":"DOMESTIC","RIMPTW":"DOMESTIC","RIMPUA":"DOMESTIC","RIMPUK":"DOMESTIC","RIMPUS":"DOMESTIC","RIMPUZ":"DOMESTIC","RIMPZA":"DOMESTIC","RPRCAE":"DOMESTIC","RPRCAR":"DOMESTIC","RPRCAT":"DOMESTIC","RPRCAU":"DOMESTIC","RPRCAZ":"DOMESTIC","RPRCBA":"DOMESTIC","RPRCBD":"DOMESTIC","RPRCBE":"DOMESTIC","RPRCBG":"DOMESTIC","RPRCBR":"DOMESTIC","RPRCBY":"DOMESTIC","RPRCCA":"DOMESTIC","RPRCCH":"DOMESTIC","RPRCCL":"DOMESTIC","RPRCCN":"DOMESTIC","RPRCCO":"DOMESTIC","RPRCCR":"DOMESTIC","RPRCCY":"DOMESTIC","RPRCCZ":"DOMESTIC","RPRCDE":"DOMESTIC","RPRCDK":"DOMESTIC","RPRCEA":"DOMESTIC","RPRCEE":"DOMESTIC","RPRCES":"DOMESTIC","RPRCEU":"DOMESTIC","RPRCFI":"DOMESTIC","RPRCFR":"DOMESTIC","RPRCGR":"DOMESTIC","RPRCHK":"DOMESTIC","RPRCHN":"DOMESTIC","RPRCHR":"DOMESTIC","RPRCHU":"DOMESTIC","RPRCID":"DOMESTIC","RPRCIE":"DOMESTIC","RPRCIL":"DOMESTIC","RPRCIN":"DOMESTIC","RPRCIR":"DOMESTIC","RPRCIT":"DOMESTIC","RPRCJP":"DOMESTIC","RPRCKH":"DOMESTIC","RPRCKR":"DOMESTIC","RPRCLT":"DOMESTIC","RPRCLU":"DOMESTIC","RPRCLV":"DOMESTIC","RPRCMA":"DOMESTIC","RPRCMK":"DOMESTIC","RPRCMO":"DOMESTIC","RPRCMT":"DOMESTIC","RPRCMX":"DOMESTIC","RPRCMY":"DOMESTIC","RPRCNG":"DOMESTIC","RPRCNL":"DOMESTIC","RPRCNO":"DOMESTIC","RPRCNZ":"DOMESTIC","RPRCPE":"DOMESTIC","RPRCPH":"DOMESTIC","RPRCPK":"DOMESTIC","RPRCPL":"DOMESTIC","RPRCPT":"DOMESTIC","RPRCRO":"DOMESTIC","RPRCRS":"DOMESTIC","RPRCRU":"DOMESTIC","RPRCRW":"DOMESTIC","RPRCSA":"DOMESTIC","RPRCSE":"DOMESTIC","RPRCSG":"DOMESTIC","RPRCSI":"DOMESTIC","RPRCSK":"DOMESTIC","RPRCTH":"DOMESTIC","RPRCTR":"DOMESTIC","RPRCTW":"DOMESTIC","RPRCUA":"DOMESTIC","RPRCUK":"DOMESTIC","RPRCUS":"DOMESTIC","RPRCUZ":"DOMESTIC","RPRCVN":"DOMESTIC","RPRCZA":"DOMESTIC","RPUCAE":"DOMESTIC","RPUCAL":"DOMESTIC","RPUCAR":"DOMESTIC","RPUCAT":"DOMESTIC","RPUCAU":"DOMESTIC","RPUCAZ":"DOMESTIC","RPUCBA":"DOMESTIC","RPUCBD":"DOMESTIC","RPUCBE":"DOMESTIC","RPUCBG":"DOMESTIC","RPUCBR":"DOMESTIC","RPUCBW":"DOMESTIC","RPUCBY":"DOMESTIC","RPUCCA":"DOMESTIC","RPUCCH":"DOMESTIC","RPUCCL":"DOMESTIC","RPUCCN":"DOMESTIC","RPUCCO":"DOMESTIC","RPUCCR":"DOMESTIC","RPUCCY":"DOMESTIC","RPUCCZ":"DOMESTIC","RPUCDE":"DOMESTIC","RPUCDK":"DOMESTIC","RPUCEA":"DOMESTIC","RPUCEE":"DOMESTIC","RPUCES":"DOMESTIC","RPUCEU":"DOMESTIC","RPUCFI":"DOMESTIC","RPUCFR":"DOMESTIC","RPUCGR":"DOMESTIC","RPUCHK":"DOMESTIC","RPUCHN":"DOMESTIC","RPUCHR":"DOMESTIC","RPUCHU":"DOMESTIC","RPUCID":"DOMESTIC","RPUCIE":"DOMESTIC","RPUCIL":"DOMESTIC","RPUCIN":"DOMESTIC","RPUCIR":"DOMESTIC","RPUCIT":"DOMESTIC","RPUCJP":"DOMESTIC","RPUCKH":"DOMESTIC","RPUCKR":"DOMESTIC","RPUCLT":"DOMESTIC","RPUCLU":"DOMESTIC","RPUCLV":"DOMESTIC","RPUCMA":"DOMESTIC","RPUCMK":"DOMESTIC","RPUCMN":"DOMESTIC","RPUCMO":"DOMESTIC","RPUCMT":"DOMESTIC","RPUCMX":"DOMESTIC","RPUCMY":"DOMESTIC","RPUCNG":"DOMESTIC","RPUCNL":"DOMESTIC","RPUCNO":"DOMESTIC","RPUCNZ":"DOMESTIC","RPUCPA":"DOMESTIC","RPUCPE":"DOMESTIC","RPUCPH":"DOMESTIC","RPUCPK":"DOMESTIC","RPUCPL":"DOMESTIC","RPUCPT":"DOMESTIC","RPUCRO":"DOMESTIC","RPUCRS":"DOMESTIC","RPUCRU":"DOMESTIC","RPUCRW":"DOMESTIC","RPUCSA":"DOMESTIC","RPUCSE":"DOMESTIC","RPUCSG":"DOMESTIC","RPUCSI":"DOMESTIC","RPUCSK":"DOMESTIC","RPUCTH":"DOMESTIC","RPUCTR":"DOMESTIC","RPUCTW":"DOMESTIC","RPUCUA":"DOMESTIC","RPUCUK":"DOMESTIC","RPUCUS":"DOMESTIC","RPUCUZ":"DOMESTIC","RPUCVN":"DOMESTIC","RPUCZA":"DOMESTIC","SEIAE":"INDEX","SEIAT":"INDEX","SEIAU":"INDEX","SEIBD":"INDEX","SEIBE":"INDEX","SEIBR":"INDEX","SEICA":"DOMESTIC","SEICH":"INDEX","SEICN":"INDEX","SEIDE":"INDEX","SEIDK":"INDEX","SEIES":"INDEX","SEIFI":"INDEX","SEIFR":"INDEX","SEIID":"INDEX","SEIIE":"INDEX","SEIIN":"INDEX","SEIIT":"INDEX","SEIJP":"INDEX","SEIKR":"INDEX","SEILA":"INDEX","SEILU":"INDEX","SEIMX":"INDEX","SEINL":"INDEX","SEINO":"INDEX","SEIOM":"INDEX","SEIPA":"INDEX","SEIPK":"INDEX","SEIPL":"INDEX","SEIRS":"INDEX","SEIRU":"INDEX","SEISE":"INDEX","SEITR":"INDEX","SEIUS":"INDEX","SEIUZ":"INDEX","SEIZA":"INDEX","SENTAL":"INDEX","SENTAT":"INDEX","SENTAU":"INDEX","SENTBE":"INDEX","SENTBG":"INDEX","SENTBR":"INDEX","SENTCY":"INDEX","SENTCZ":"INDEX","SENTDE":"INDEX","SENTDK":"INDEX","SENTEE":"INDEX","SENTES":"INDEX","SENTEU":"INDEX","SENTFI":"INDEX","SENTFR":"INDEX","SENTGR":"INDEX","SENTHR":"INDEX","SENTHU":"INDEX","SENTIE":"INDEX","SENTIT":"INDEX","SENTJP":"INDEX","SENTKR":"INDEX","SENTLT":"INDEX","SENTLU":"INDEX","SENTLV":"INDEX","SENTME":"INDEX","SENTMK":"INDEX","SENTMT":"INDEX","SENTNL":"INDEX","SENTPL":"INDEX","SENTPT":"INDEX","SENTRO":"INDEX","SENTRS":"INDEX","SENTSE":"INDEX","SENTSI":"INDEX","SENTSK":"INDEX","SENTTR":"INDEX","SENTUK":"INDEX","SENTUS":"INDEX","TBBE":"DOMESTIC","TBBG":"DOMESTIC","TBBR":"USD","TBCA":"DOMESTIC","TBCZ":"DOMESTIC","TBDE":"DOMESTIC","TBDK":"DOMESTIC","TBEE":"DOMESTIC","TBEG":"USD","TBFI":"DOMESTIC","TBFR":"DOMESTIC","TBGR":"DOMESTIC","TBHR":"DOMESTIC","TBHU":"DOMESTIC","TBIN":"USD","TBIT":"DOMESTIC","TBLT":"DOMESTIC","TBLU":"DOMESTIC","TBLV":"DOMESTIC","TBMK":"DOMESTIC","TBMT":"DOMESTIC","TBMX":"DOMESTIC","TBNL":"DOMESTIC","TBPL":"DOMESTIC","TBPT":"DOMESTIC","TBRO":"DOMESTIC","TBRS":"DOMESTIC","TBSE":"DOMESTIC","TBSI":"DOMESTIC","TBSK":"DOMESTIC","TBTH":"USD","TBUS":"DOMESTIC","TBVN":"DOMESTIC","URATEAE":"PERCENT","URATEAR":"PERCENT","URATEAT":"PERCENT","URATEAU":"PERCENT","URATEAZ":"OTHER NUMBER","URATEBD":"PERCENT","URATEBE":"PERCENT","URATEBG":"PERCENT","URATEBR":"PERCENT","URATEBY":"PERCENT","URATECA":"PERCENT","URATECH":"PERCENT","URATECL":"PERCENT","URATECN":"PERCENT","URATECO":"PERCENT","URATECR":"PERCENT","URATECY":"PERCENT","URATECZ":"PERCENT","URATEDE":"PERCENT","URATEDK":"PERCENT","URATEDO":"PERCENT","URATEEA":"PERCENT","URATEEE":"PERCENT","URATEEG":"PERCENT","URATEES":"PERCENT","URATEEU":"PERCENT","URATEFI":"PERCENT","URATEFR":"PERCENT","URATEGR":"PERCENT","URATEHK":"PERCENT","URATEHR":"PERCENT","URATEHU":"PERCENT","URATEID":"PERCENT","URATEIE":"PERCENT","URATEIL":"PERCENT","URATEIS":"PERCENT","URATEIT":"PERCENT","URATEJO":"PERCENT","URATEJP":"PERCENT","URATEKH":"PERCENT","URATEKR":"PERCENT","URATEKZ":"PERCENT","URATELK":"PERCENT","URATELT":"PERCENT","URATELU":"PERCENT","URATELV":"PERCENT","URATEMA":"PERCENT","URATEMO":"PERCENT","URATEMT":"PERCENT","URATEMX":"PERCENT","URATEMY":"PERCENT","URATENL":"PERCENT","URATENO":"PERCENT","URATENZ":"PERCENT","URATEPE":"PERCENT","URATEPH":"PERCENT","URATEPK":"PERSONS","URATEPL":"PERCENT","URATEPT":"PERCENT","URATEQA":"PERCENT","URATERO":"PERCENT","URATERS":"PERSONS","URATERU":"PERCENT","URATESA":"PERCENT","URATESE":"PERCENT","URATESG":"PERCENT","URATESI":"PERCENT","URATESK":"PERCENT","URATETH":"PERCENT","URATETN":"PERCENT","URATETR":"PERCENT","URATETW":"PERCENT","URATEUA":"PERCENT","URATEUK":"PERCENT","URATEUS":"PERCENT","URATEUY":"PERCENT","URATEVN":"PERCENT","URATEZA":"PERCENT","UTILAL":"INDEX","UTILAR":"OTHER NUMBER","UTILAT":"PERCENT","UTILBE":"PERCENT","UTILBG":"PERCENT","UTILCA":"INDEX","UTILCY":"PERCENT","UTILCZ":"PERCENT","UTILDE":"PERCENT","UTILDK":"PERCENT","UTILEE":"PERCENT","UTILES":"INDEX","UTILEU":"INDEX","UTILFI":"PERCENT","UTILFR":"PERCENT","UTILGR":"PERCENT","UTILHR":"PERCENT","UTILHU":"PERCENT","UTILIE":"PERCENT","UTILIT":"PERCENT","UTILLT":"PERCENT","UTILLU":"PERCENT","UTILLV":"PERCENT","UTILME":"INDEX","UTILMK":"INDEX","UTILMT":"INDEX","UTILNL":"PERCENT","UTILPL":"PERCENT","UTILPT":"PERCENT","UTILRO":"PERCENT","UTILRS":"PERCENT","UTILSE":"PERCENT","UTILSI":"PERCENT","UTILSK":"PERCENT","UTILTR":"INDEX","UTILUK":"PERCENT","UTILUS":"PERCENT","WAGEMANCL":"INDEX","WAGEMANMX":null,"WAGEMANUS":"DOMESTIC","WAGEUY":"DOMESTIC","WAGEVN":"DOMESTIC","Y10YDAR":"PERCENT","Y10YDAT":"PERCENT","Y10YDAU":"PERCENT","Y10YDBD":"PERCENT","Y10YDBE":"PERCENT","Y10YDBG":"PERCENT","Y10YDCA":"PERCENT","Y10YDCN":"PERCENT","Y10YDCY":"PERCENT","Y10YDCZ":"PERCENT","Y10YDDE":"PERCENT","Y10YDDK":"PERCENT","Y10YDEA":"PERCENT","Y10YDEE":"PERCENT","Y10YDES":"PERCENT","Y10YDEU":"PERCENT","Y10YDFI":"PERCENT","Y10YDFR":"PERCENT","Y10YDGR":"PERCENT","Y10YDHK":"PERCENT","Y10YDHR":"PERCENT","Y10YDHU":"PERCENT","Y10YDID":"PERCENT","Y10YDIE":"PERCENT","Y10YDIN":"PERCENT","Y10YDIT":"PERCENT","Y10YDJP":"PERCENT","Y10YDKR":"PERCENT","Y10YDLT":"PERCENT","Y10YDLU":"PERCENT","Y10YDLV":"PERCENT","Y10YDMT":"PERCENT","Y10YDMX":"PERCENT","Y10YDMY":"PERCENT","Y10YDNL":"PERCENT","Y10YDNZ":"PERCENT","Y10YDPH":"PERCENT","Y10YDPL":"PERCENT","Y10YDPT":"PERCENT","Y10YDQA":"PERCENT","Y10YDRO":"PERCENT","Y10YDRU":"PERCENT","Y10YDSA":"PERCENT","Y10YDSE":"PERCENT","Y10YDSG":"PERCENT","Y10YDSI":"PERCENT","Y10YDSK":"PERCENT","Y10YDTH":"PERCENT","Y10YDTR":"PERCENT","Y10YDTW":"PERCENT","Y10YDUA":"PERCENT","Y10YDUK":"PERCENT","Y10YDUS":"PERCENT","Y10YDVN":"PERCENT","Y10YDZA":"PERCENT"} \ No newline at end of file +{"ACPOPAT": "PERSONS", "ACPOPBE": "PERSONS", "ACPOPBG": "PERSONS", "ACPOPBR": "PERSONS", "ACPOPCA": "PERSONS", "ACPOPCH": "PERSONS", "ACPOPCY": "PERSONS", "ACPOPCZ": "PERSONS", "ACPOPDE": "PERSONS", "ACPOPDK": "PERSONS", "ACPOPEE": "PERSONS", "ACPOPES": "PERSONS", "ACPOPFI": "PERSONS", "ACPOPFR": "PERSONS", "ACPOPGR": "PERSONS", "ACPOPHR": "PERSONS", "ACPOPHU": "PERSONS", "ACPOPIE": "PERSONS", "ACPOPIS": "PERSONS", "ACPOPIT": "PERSONS", "ACPOPJP": "PERSONS", "ACPOPLT": "PERSONS", "ACPOPLU": "PERSONS", "ACPOPLV": "PERSONS", "ACPOPME": "PERSONS", "ACPOPMK": "PERSONS", "ACPOPMT": "PERSONS", "ACPOPMX": "PERCENT", "ACPOPNL": "PERSONS", "ACPOPNO": "PERSONS", "ACPOPPH": "PERSONS", "ACPOPPK": "PERSONS", "ACPOPPL": "PERSONS", "ACPOPPT": "PERSONS", "ACPOPQA": "PERSONS", "ACPOPRO": "PERSONS", "ACPOPRS": "PERSONS", "ACPOPSE": "PERSONS", "ACPOPSI": "PERSONS", "ACPOPSK": "PERSONS", "ACPOPTR": "PERSONS", "ACPOPTW": "PERSONS", "ACPOPUS": "PERSONS", "ACPOPVN": "PERSONS", "CAAR": "USD", "CAAT": "DOMESTIC", "CAAU": "DOMESTIC", "CAAZ": "USD", "CABD": "DOMESTIC", "CABE": "DOMESTIC", "CABG": "DOMESTIC", "CABR": "USD", "CABT": "DOMESTIC", "CABY": "USD", "CACA": "DOMESTIC", "CACH": "DOMESTIC", "CACL": "USD", "CACN": "USD", "CACO": "USD", "CACR": "USD", "CACY": "DOMESTIC", "CACZ": "DOMESTIC", "CADE": "DOMESTIC", "CADK": "DOMESTIC", "CAEE": "DOMESTIC", "CAEG": "USD", "CAES": "DOMESTIC", "CAEU": "DOMESTIC", "CAFI": "DOMESTIC", "CAFR": "DOMESTIC", "CAGR": "DOMESTIC", "CAHK": "DOMESTIC", "CAHR": "DOMESTIC", "CAHU": "DOMESTIC", "CAID": "USD", "CAIE": "DOMESTIC", "CAIL": "USD", "CAIN": "USD", "CAIT": "DOMESTIC", "CAJO": "DOMESTIC", "CAJP": "DOMESTIC", "CAKH": "DOMESTIC", "CAKR": "USD", "CAKZ": "USD", "CALA": "USD", "CALT": "DOMESTIC", "CALU": "DOMESTIC", "CALV": "DOMESTIC", "CAMA": "DOMESTIC", "CAMT": "DOMESTIC", "CAMX": "USD", "CAMY": "DOMESTIC", "CANL": "DOMESTIC", "CANO": "DOMESTIC", "CANP": "DOMESTIC", "CANZ": "DOMESTIC", "CAPA": "DOMESTIC", "CAPH": "USD", "CAPK": "USD", "CAPL": "DOMESTIC", "CAPT": "DOMESTIC", "CARAT": "OTHER NUMBER", "CARBE": "OTHER NUMBER", "CARBG": "OTHER NUMBER", "CARCH": "OTHER NUMBER", "CARCZ": "OTHER NUMBER", "CARDE": "OTHER NUMBER", "CARDK": "OTHER NUMBER", "CAREE": "OTHER NUMBER", "CARES": "OTHER NUMBER", "CAREU": "OTHER NUMBER", "CARFI": "OTHER NUMBER", "CARFR": "OTHER NUMBER", "CARGR": "OTHER NUMBER", "CARHR": "OTHER NUMBER", "CARHU": "OTHER NUMBER", "CARIE": "OTHER NUMBER", "CARIS": "OTHER NUMBER", "CARIT": "OTHER NUMBER", "CARLT": "OTHER NUMBER", "CARLU": "OTHER NUMBER", "CARLV": "OTHER NUMBER", "CARNL": "OTHER NUMBER", "CARNO": "OTHER NUMBER", "CARO": "DOMESTIC", "CARPL": "OTHER NUMBER", "CARPT": "OTHER NUMBER", "CARRO": "OTHER NUMBER", "CARSE": "OTHER NUMBER", "CARSI": "OTHER NUMBER", "CARSK": "OTHER NUMBER", "CARU": "USD", "CARUK": "OTHER NUMBER", "CARZA": "OTHER NUMBER", "CASA": "DOMESTIC", "CASE": "DOMESTIC", "CASG": "DOMESTIC", "CASI": "DOMESTIC", "CASK": "DOMESTIC", "CASV": "DOMESTIC", "CATH": "USD", "CATN": "DOMESTIC", "CATR": "USD", "CATW": "USD", "CAUA": "USD", "CAUK": "DOMESTIC", "CAUS": "DOMESTIC", "CAUY": "USD", "CAVN": "USD", "CAZA": "DOMESTIC", "CBALAL": "DOMESTIC", "CBALAT": "DOMESTIC", "CBALAZ": "USD", "CBALBE": "DOMESTIC", "CBALBG": "DOMESTIC", "CBALCH": "DOMESTIC", "CBALCY": "DOMESTIC", "CBALCZ": "DOMESTIC", "CBALDE": "DOMESTIC", "CBALDK": "DOMESTIC", "CBALEA": "DOMESTIC", "CBALEE": "DOMESTIC", "CBALES": "DOMESTIC", "CBALEU": "DOMESTIC", "CBALFI": "DOMESTIC", "CBALFR": "DOMESTIC", "CBALGR": "DOMESTIC", "CBALHR": "DOMESTIC", "CBALHU": "DOMESTIC", "CBALIE": "DOMESTIC", "CBALIR": "DOMESTIC", "CBALIT": "DOMESTIC", "CBALLT": "DOMESTIC", "CBALLU": "DOMESTIC", "CBALLV": "DOMESTIC", "CBALME": "DOMESTIC", "CBALMT": "DOMESTIC", "CBALNL": "DOMESTIC", "CBALNO": "DOMESTIC", "CBALPH": "DOMESTIC", "CBALPL": "DOMESTIC", "CBALPT": "DOMESTIC", "CBALRO": "DOMESTIC", "CBALRS": "DOMESTIC", "CBALSE": "DOMESTIC", "CBALSI": "DOMESTIC", "CBALSK": "DOMESTIC", "CBALTR": "DOMESTIC", "CBALUK": "DOMESTIC", "CBALUS": "DOMESTIC", "CIAE": "DOMESTIC", "CIAR": "DOMESTIC", "CIAT": "DOMESTIC", "CIAU": "DOMESTIC", "CIAZ": "DOMESTIC", "CIBE": "DOMESTIC", "CIBG": "DOMESTIC", "CIBR": "DOMESTIC", "CIBW": "DOMESTIC", "CIBY": "DOMESTIC", "CICH": "DOMESTIC", "CICN": "DOMESTIC", "CICY": "DOMESTIC", "CICZ": "DOMESTIC", "CIDE": "DOMESTIC", "CIDK": "DOMESTIC", "CIEE": "DOMESTIC", "CIES": "DOMESTIC", "CIFI": "DOMESTIC", "CIFR": "DOMESTIC", "CIGR": "DOMESTIC", "CIHK": "DOMESTIC", "CIHR": "DOMESTIC", "CIHU": "DOMESTIC", "CIID": "DOMESTIC", "CIIE": "DOMESTIC", "CIIL": "DOMESTIC", "CIIN": "DOMESTIC", "CIIR": "DOMESTIC", "CIIT": "DOMESTIC", "CIKR": "DOMESTIC", "CIKZ": "DOMESTIC", "CILT": "DOMESTIC", "CILU": "DOMESTIC", "CILV": "DOMESTIC", "CIMA": "DOMESTIC", "CIME": "DOMESTIC", "CIMN": "DOMESTIC", "CIMT": "DOMESTIC", "CIMX": "DOMESTIC", "CIMY": "DOMESTIC", "CING": "DOMESTIC", "CINL": "DOMESTIC", "CINO": "DOMESTIC", "CINZ": "DOMESTIC", "CIPH": "DOMESTIC", "CIPK": "DOMESTIC", "CIPL": "DOMESTIC", "CIPT": "DOMESTIC", "CIRO": "DOMESTIC", "CIRS": "DOMESTIC", "CIRU": "DOMESTIC", "CISA": "DOMESTIC", "CISE": "DOMESTIC", "CISG": "DOMESTIC", "CISI": "DOMESTIC", "CISK": "DOMESTIC", "CITH": "DOMESTIC", "CITR": "DOMESTIC", "CITW": "DOMESTIC", "CIUA": "DOMESTIC", "CIUK": "DOMESTIC", "CIUS": "DOMESTIC", "CIVN": "DOMESTIC", "CIZA": "DOMESTIC", "CKABE": "DOMESTIC", "CKABG": "DOMESTIC", "CKACZ": "DOMESTIC", "CKADE": "DOMESTIC", "CKADK": "DOMESTIC", "CKAEE": "DOMESTIC", "CKAES": "DOMESTIC", "CKAFI": "DOMESTIC", "CKAFR": "DOMESTIC", "CKAGR": "DOMESTIC", "CKAHR": "DOMESTIC", "CKAHU": "DOMESTIC", "CKAIT": "DOMESTIC", "CKALT": "DOMESTIC", "CKALU": "DOMESTIC", "CKALV": "DOMESTIC", "CKAMT": "DOMESTIC", "CKANL": "DOMESTIC", "CKAPL": "DOMESTIC", "CKAPT": "DOMESTIC", "CKARO": "DOMESTIC", "CKASE": "DOMESTIC", "CKASI": "DOMESTIC", "CKASK": "DOMESTIC", "CLAIMSUS": "PERSONS", "CLIAT": "INDEX", "CLIAU": "INDEX", "CLIBE": "INDEX", "CLIBR": "INDEX", "CLICA": "INDEX", "CLICH": "INDEX", "CLICL": "INDEX", "CLICN": "INDEX", "CLICZ": "INDEX", "CLIDE": "INDEX", "CLIDK": "INDEX", "CLIEE": "INDEX", "CLIES": "INDEX", "CLIFI": "INDEX", "CLIFR": "INDEX", "CLIGR": "INDEX", "CLIHU": "INDEX", "CLIID": "INDEX", "CLIIE": "INDEX", "CLIIL": "INDEX", "CLIIN": "INDEX", "CLIIS": "INDEX", "CLIIT": "INDEX", "CLIJP": "INDEX", "CLIKR": "INDEX", "CLILU": "INDEX", "CLIMX": "INDEX", "CLINL": "INDEX", "CLINO": "INDEX", "CLINZ": "INDEX", "CLIPL": "INDEX", "CLIPT": "INDEX", "CLIRU": "INDEX", "CLISE": "INDEX", "CLISI": "INDEX", "CLISK": "INDEX", "CLITR": "INDEX", "CLIUK": "INDEX", "CLIUS": "INDEX", "CLIZA": "INDEX", "CONAE": "DOMESTIC", "CONAL": "DOMESTIC", "CONAT": "DOMESTIC", "CONBD": "DOMESTIC", "CONBE": "DOMESTIC", "CONBG": "DOMESTIC", "CONBY": "DOMESTIC", "CONCA": "DOMESTIC", "CONCH": "DOMESTIC", "CONCL": "USD", "CONCN": "DOMESTIC", "CONCY": "DOMESTIC", "CONCZ": "DOMESTIC", "CONDE": "DOMESTIC", "CONDK": "DOMESTIC", "CONEA": "DOMESTIC", "CONEE": "DOMESTIC", "CONES": "DOMESTIC", "CONEU": "DOMESTIC", "CONFAL": "INDEX", "CONFAT": "INDEX", "CONFAU": null, "CONFBE": "INDEX", "CONFBG": "INDEX", "CONFBR": "INDEX", "CONFCY": "INDEX", "CONFCZ": "INDEX", "CONFDE": "INDEX", "CONFDK": "INDEX", "CONFEE": "INDEX", "CONFES": "INDEX", "CONFEU": "INDEX", "CONFFI": "INDEX", "CONFFR": "INDEX", "CONFGR": "INDEX", "CONFHR": "INDEX", "CONFHU": "INDEX", "CONFI": "DOMESTIC", "CONFID": "INDEX", "CONFIE": "INDEX", "CONFIL": null, "CONFIT": "INDEX", "CONFJP": "INDEX", "CONFKR": null, "CONFLT": "INDEX", "CONFLU": "INDEX", "CONFLV": "INDEX", "CONFME": "INDEX", "CONFMK": "INDEX", "CONFMT": "INDEX", "CONFMX": "INDEX", "CONFNL": "INDEX", "CONFPL": "INDEX", "CONFPT": "INDEX", "CONFR": "DOMESTIC", "CONFRO": "INDEX", "CONFRS": "INDEX", "CONFSE": "INDEX", "CONFSI": "INDEX", "CONFSK": "INDEX", "CONFTR": "INDEX", "CONFUK": "INDEX", "CONFUS": null, "CONGR": "DOMESTIC", "CONHR": "DOMESTIC", "CONHU": "DOMESTIC", "CONIE": "DOMESTIC", "CONIT": "DOMESTIC", "CONKR": "DOMESTIC", "CONLT": "DOMESTIC", "CONLU": "DOMESTIC", "CONLV": "DOMESTIC", "CONMK": "DOMESTIC", "CONMT": "DOMESTIC", "CONMX": "DOMESTIC", "CONNL": "DOMESTIC", "CONNO": "DOMESTIC", "CONPL": "DOMESTIC", "CONPT": "DOMESTIC", "CONQA": "DOMESTIC", "CONRO": "DOMESTIC", "CONRS": "DOMESTIC", "CONRU": "DOMESTIC", "CONSE": "DOMESTIC", "CONSI": "DOMESTIC", "CONSK": "DOMESTIC", "CONUA": "DOMESTIC", "CONUK": "DOMESTIC", "CONZA": "DOMESTIC", "COREAR": "INDEX", "COREAT": "INDEX", "COREAU": "INDEX", "COREBD": "INDEX", "COREBE": "INDEX", "COREBG": "INDEX", "COREBR": "INDEX", "CORECA": "INDEX", "CORECH": "INDEX", "CORECY": "INDEX", "CORECZ": "INDEX", "COREDE": "INDEX", "COREDK": "INDEX", "COREEA": "INDEX", "COREEE": "INDEX", "COREES": "INDEX", "COREEU": "INDEX", "COREFI": "INDEX", "COREFR": "INDEX", "COREGR": "INDEX", "COREHR": "INDEX", "COREHU": "INDEX", "COREIE": "INDEX", "COREIN": "INDEX", "COREIS": "INDEX", "COREIT": "INDEX", "COREJP": "INDEX", "COREKR": "INDEX", "CORELT": "INDEX", "CORELU": "INDEX", "CORELV": "INDEX", "COREMK": "INDEX", "COREMT": "INDEX", "COREMX": "INDEX", "CORENL": "INDEX", "CORENO": "INDEX", "CORENP": "INDEX", "COREPL": "INDEX", "COREPT": "INDEX", "CORERO": "INDEX", "CORERS": "INDEX", "CORERU": "INDEX", "CORESE": "INDEX", "CORESG": "INDEX", "CORESI": "INDEX", "CORESK": "INDEX", "CORETH": "INDEX", "CORETR": "INDEX", "CORETW": "INDEX", "COREUK": "INDEX", "COREUS": "INDEX", "CPAT": "INDEX", "CPBE": "INDEX", "CPBG": "INDEX", "CPCZ": "INDEX", "CPDE": "INDEX", "CPDK": "INDEX", "CPES": "INDEX", "CPEU": "INDEX", "CPFI": "INDEX", "CPFR": "INDEX", "CPHR": "INDEX", "CPHU": "INDEX", "CPIAE": "INDEX", "CPIAF": "INDEX", "CPIAG": "INDEX", "CPIAL": "INDEX", "CPIAM": "INDEX", "CPIAR": "INDEX", "CPIAT": "INDEX", "CPIAU": "INDEX", "CPIAW": "INDEX", "CPIAZ": "INDEX", "CPIBA": "INDEX", "CPIBB": "INDEX", "CPIBD": "INDEX", "CPIBE": "INDEX", "CPIBF": "INDEX", "CPIBG": "INDEX", "CPIBH": "INDEX", "CPIBI": "INDEX", "CPIBJ": "INDEX", "CPIBN": "INDEX", "CPIBO": "INDEX", "CPIBR": "INDEX", "CPIBS": "INDEX", "CPIBT": "INDEX", "CPIBW": "INDEX", "CPIBY": "INDEX", "CPIBZ": "INDEX", "CPICA": "INDEX", "CPICF": "INDEX", "CPICG": "INDEX", "CPICH": "INDEX", "CPICI": "INDEX", "CPICL": "INDEX", "CPICM": "INDEX", "CPICN": "INDEX", "CPICO": "INDEX", "CPICR": "INDEX", "CPICV": "INDEX", "CPICW": "INDEX", "CPICY": "INDEX", "CPICZ": "INDEX", "CPIDE": "INDEX", "CPIDJ": "INDEX", "CPIDK": "INDEX", "CPIDM": "INDEX", "CPIDO": "INDEX", "CPIEA": "INDEX", "CPIEC": "INDEX", "CPIEE": "INDEX", "CPIEG": "INDEX", "CPIES": "INDEX", "CPIET": "INDEX", "CPIEU": "INDEX", "CPIFI": "INDEX", "CPIFJ": "INDEX", "CPIFR": "INDEX", "CPIGA": "INDEX", "CPIGD": "INDEX", "CPIGE": "INDEX", "CPIGN": "INDEX", "CPIGQ": "INDEX", "CPIGR": "INDEX", "CPIGT": "INDEX", "CPIGW": "INDEX", "CPIGY": "INDEX", "CPIHK": "INDEX", "CPIHN": "INDEX", "CPIHR": "INDEX", "CPIHT": "INDEX", "CPIHU": "INDEX", "CPIID": "INDEX", "CPIIE": "INDEX", "CPIIL": "INDEX", "CPIIN": "INDEX", "CPIIQ": "INDEX", "CPIIR": "INDEX", "CPIIS": "INDEX", "CPIIT": "INDEX", "CPIJM": "INDEX", "CPIJO": "INDEX", "CPIJP": "INDEX", "CPIKG": "INDEX", "CPIKH": "INDEX", "CPIKI": "INDEX", "CPIKN": "INDEX", "CPIKR": "INDEX", "CPIKW": "INDEX", "CPIKZ": "INDEX", "CPILA": "INDEX", "CPILB": "INDEX", "CPILC": "INDEX", "CPILK": "OTHER NUMBER", "CPILR": "INDEX", "CPILS": "INDEX", "CPILT": "INDEX", "CPILU": "INDEX", "CPILV": "INDEX", "CPIMA": "INDEX", "CPIMD": "INDEX", "CPIME": "INDEX", "CPIMG": "INDEX", "CPIMK": "INDEX", "CPIML": "INDEX", "CPIMM": "INDEX", "CPIMN": "INDEX", "CPIMO": "INDEX", "CPIMR": "INDEX", "CPIMS": "INDEX", "CPIMT": "INDEX", "CPIMU": "INDEX", "CPIMV": "INDEX", "CPIMW": "INDEX", "CPIMX": "INDEX", "CPIMY": "INDEX", "CPIMZ": "INDEX", "CPINE": "INDEX", "CPING": "INDEX", "CPINI": "INDEX", "CPINL": "INDEX", "CPINO": "INDEX", "CPINP": "INDEX", "CPINZ": "INDEX", "CPIOM": "INDEX", "CPIPA": "INDEX", "CPIPE": "INDEX", "CPIPH": "INDEX", "CPIPK": "INDEX", "CPIPL": "INDEX", "CPIPS": "INDEX", "CPIPT": "INDEX", "CPIQA": "INDEX", "CPIRO": "INDEX", "CPIRS": "INDEX", "CPIRU": "INDEX", "CPISA": "INDEX", "CPISB": "INDEX", "CPISC": "INDEX", "CPISD": "INDEX", "CPISE": "INDEX", "CPISG": "INDEX", "CPISI": "INDEX", "CPISK": "INDEX", "CPISR": "INDEX", "CPISS": "INDEX", "CPIST": "INDEX", "CPISV": "INDEX", "CPISZ": "INDEX", "CPIT": "INDEX", "CPITD": "INDEX", "CPITG": "INDEX", "CPITH": "INDEX", "CPITJ": "INDEX", "CPITL": "INDEX", "CPITN": "INDEX", "CPITO": "INDEX", "CPITR": "INDEX", "CPITT": "INDEX", "CPITW": "INDEX", "CPIUA": "INDEX", "CPIUG": "INDEX", "CPIUK": "INDEX", "CPIUS": "INDEX", "CPIUY": "INDEX", "CPIUZ": "INDEX", "CPIVC": "INDEX", "CPIVE": "INDEX", "CPIVN": "INDEX", "CPIWS": "INDEX", "CPIXK": "INDEX", "CPIZA": "INDEX", "CPIZM": "INDEX", "CPIZW": "INDEX", "CPLU": "INDEX", "CPMK": "INDEX", "CPMX": "DOMESTIC", "CPNL": "INDEX", "CPNO": "INDEX", "CPPL": "INDEX", "CPPT": "INDEX", "CPRO": "INDEX", "CPSE": "INDEX", "CPSG": "DOMESTIC", "CPSI": "INDEX", "CPSK": "INDEX", "CPUK": "INDEX", "CREDAR": "DOMESTIC", "CREDAT": "DOMESTIC", "CREDAU": "DOMESTIC", "CREDBE": "DOMESTIC", "CREDBR": "DOMESTIC", "CREDCA": "DOMESTIC", "CREDCH": "DOMESTIC", "CREDCL": "DOMESTIC", "CREDCN": "DOMESTIC", "CREDCO": "DOMESTIC", "CREDCZ": "DOMESTIC", "CREDDE": "DOMESTIC", "CREDDK": "DOMESTIC", "CREDEA": "DOMESTIC", "CREDES": "DOMESTIC", "CREDFI": "DOMESTIC", "CREDFR": "DOMESTIC", "CREDGR": "DOMESTIC", "CREDHK": "DOMESTIC", "CREDHU": "DOMESTIC", "CREDID": "DOMESTIC", "CREDIE": "DOMESTIC", "CREDIL": "DOMESTIC", "CREDIN": "DOMESTIC", "CREDIT": "DOMESTIC", "CREDJP": "DOMESTIC", "CREDKR": "DOMESTIC", "CREDLU": "DOMESTIC", "CREDMO": "DOMESTIC", "CREDMX": "DOMESTIC", "CREDMY": "DOMESTIC", "CREDNL": "DOMESTIC", "CREDNO": "DOMESTIC", "CREDNZ": "DOMESTIC", "CREDPL": "DOMESTIC", "CREDPT": "DOMESTIC", "CREDRU": "DOMESTIC", "CREDSA": "DOMESTIC", "CREDSE": "DOMESTIC", "CREDSG": "DOMESTIC", "CREDTH": "DOMESTIC", "CREDTN": "DOMESTIC", "CREDTR": "DOMESTIC", "CREDUK": "DOMESTIC", "CREDUS": "DOMESTIC", "CREDZA": "DOMESTIC", "DWPEBE": "INDEX", "DWPECY": "INDEX", "DWPEDE": "INDEX", "DWPEES": "INDEX", "DWPEEU": "INDEX", "DWPEFI": "INDEX", "DWPEFR": "INDEX", "DWPEGR": "INDEX", "DWPEHU": "INDEX", "DWPEMK": "INDEX", "DWPENL": "INDEX", "DWPENO": "INDEX", "DWPEPT": "INDEX", "DWPERO": "INDEX", "DWPESE": "INDEX", "DWPESI": "INDEX", "ELEAT": "INDEX", "ELEBE": "INDEX", "ELEBG": "INDEX", "ELECH": "INDEX", "ELECN": "OTHER NUMBER", "ELECY": "INDEX", "ELECZ": "INDEX", "ELEDE": "INDEX", "ELEDK": "INDEX", "ELEEE": "INDEX", "ELEES": "INDEX", "ELEEU": "INDEX", "ELEFI": "INDEX", "ELEFR": "INDEX", "ELEGR": "INDEX", "ELEHR": "INDEX", "ELEHU": "INDEX", "ELEIE": "INDEX", "ELEIT": "INDEX", "ELELT": "INDEX", "ELELU": "INDEX", "ELELV": "INDEX", "ELEMK": "INDEX", "ELEMT": "INDEX", "ELENL": "INDEX", "ELENO": "INDEX", "ELEPL": "INDEX", "ELEPT": "INDEX", "ELERO": "INDEX", "ELESE": "INDEX", "ELESI": "INDEX", "ELESK": "INDEX", "ELETR": "INDEX", "ELEUK": "INDEX", "ELEUS": "PERCENT", "ELEZA": "INDEX", "EMPAR": "PERCENT", "EMPAT": "PERSONS", "EMPAU": "PERSONS", "EMPAZ": "OTHER NUMBER", "EMPBD": "PERSONS", "EMPBE": "PERSONS", "EMPBG": "PERSONS", "EMPBR": "PERSONS", "EMPBY": "PERSONS", "EMPCA": "PERSONS", "EMPCH": "PERSONS", "EMPCL": "PERSONS", "EMPCN": "PERSONS", "EMPCO": "PERCENT", "EMPCR": "PERSONS", "EMPCY": "PERSONS", "EMPCZ": "PERSONS", "EMPDE": "PERSONS", "EMPDK": "PERSONS", "EMPDO": "PERSONS", "EMPEE": "PERSONS", "EMPES": "PERSONS", "EMPFI": "PERSONS", "EMPFR": "PERSONS", "EMPGR": "PERSONS", "EMPHR": "PERSONS", "EMPHU": "PERSONS", "EMPID": "PERSONS", "EMPIE": "PERSONS", "EMPIS": "PERSONS", "EMPIT": "PERSONS", "EMPJO": "PERCENT", "EMPJP": "PERSONS", "EMPKR": "PERSONS", "EMPKZ": "PERSONS", "EMPLK": "PERCENT", "EMPLT": "PERSONS", "EMPLU": "PERSONS", "EMPLV": "PERSONS", "EMPME": "PERSONS", "EMPMK": "PERSONS", "EMPMO": "PERSONS", "EMPMT": "PERSONS", "EMPMX": "PERSONS", "EMPMY": "PERSONS", "EMPNL": "PERSONS", "EMPNO": "PERSONS", "EMPNZ": "PERSONS", "EMPPA": "PERSONS", "EMPPE": "INDEX", "EMPPH": "PERSONS", "EMPPK": "PERSONS", "EMPPL": "PERSONS", "EMPPT": "PERSONS", "EMPQA": "PERSONS", "EMPRO": "PERSONS", "EMPRS": "PERSONS", "EMPRU": "PERSONS", "EMPSE": "PERSONS", "EMPSG": "PERSONS", "EMPSI": "PERSONS", "EMPSK": "PERSONS", "EMPTH": "PERSONS", "EMPTN": "PERSONS", "EMPTR": "PERSONS", "EMPTW": "PERSONS", "EMPUA": "PERSONS", "EMPUS": "PERSONS", "EMPUY": "PERCENT", "EMPVN": "PERSONS", "EMPZA": "INDEX", "EMRATIOAT": "PERCENT", "EMRATIOBE": "PERCENT", "EMRATIOBG": "PERCENT", "EMRATIOCH": "PERCENT", "EMRATIOCY": "PERCENT", "EMRATIOCZ": "PERCENT", "EMRATIODE": "PERCENT", "EMRATIODK": "PERCENT", "EMRATIOEE": "PERCENT", "EMRATIOES": "PERCENT", "EMRATIOFI": "PERCENT", "EMRATIOFR": "PERCENT", "EMRATIOGR": "PERCENT", "EMRATIOHR": "PERCENT", "EMRATIOHU": "PERCENT", "EMRATIOIE": "PERCENT", "EMRATIOIS": "PERCENT", "EMRATIOIT": "PERCENT", "EMRATIOJP": "PERCENT", "EMRATIOLT": "PERCENT", "EMRATIOLU": "PERCENT", "EMRATIOLV": "PERCENT", "EMRATIOME": "PERCENT", "EMRATIOMK": "PERCENT", "EMRATIOMT": "PERCENT", "EMRATIONL": "PERCENT", "EMRATIONO": "PERCENT", "EMRATIOPL": "PERCENT", "EMRATIOPT": "PERCENT", "EMRATIORO": "PERCENT", "EMRATIORS": "PERCENT", "EMRATIOSE": "PERCENT", "EMRATIOSI": "PERCENT", "EMRATIOSK": "PERCENT", "EMRATIOTR": "PERCENT", "EMRATIOTW": "PERCENT", "EMRATIOUS": "RATIO", "EQYCAPCN": "DOMESTIC", "EXPAE": "DOMESTIC", "EXPAL": "DOMESTIC", "EXPAR": "DOMESTIC", "EXPAT": "DOMESTIC", "EXPAU": "DOMESTIC", "EXPAZ": "DOMESTIC", "EXPBD": "DOMESTIC", "EXPBE": "DOMESTIC", "EXPBG": "DOMESTIC", "EXPBR": "DOMESTIC", "EXPBW": "DOMESTIC", "EXPBY": "DOMESTIC", "EXPCA": "DOMESTIC", "EXPCH": "DOMESTIC", "EXPCL": "DOMESTIC", "EXPCM": "DOMESTIC", "EXPCN": "DOMESTIC", "EXPCO": "DOMESTIC", "EXPCY": "DOMESTIC", "EXPCZ": "DOMESTIC", "EXPDE": "DOMESTIC", "EXPDK": "DOMESTIC", "EXPEA": "DOMESTIC", "EXPEE": "DOMESTIC", "EXPES": "DOMESTIC", "EXPEU": "DOMESTIC", "EXPFI": "DOMESTIC", "EXPFR": "DOMESTIC", "EXPGR": "DOMESTIC", "EXPHK": "DOMESTIC", "EXPHR": "DOMESTIC", "EXPHU": "DOMESTIC", "EXPID": "DOMESTIC", "EXPIE": "DOMESTIC", "EXPIL": "DOMESTIC", "EXPIN": "DOMESTIC", "EXPIR": "DOMESTIC", "EXPIT": "DOMESTIC", "EXPJO": "DOMESTIC", "EXPJP": "DOMESTIC", "EXPKR": "DOMESTIC", "EXPKZ": "DOMESTIC", "EXPLT": "DOMESTIC", "EXPLU": "DOMESTIC", "EXPLV": "DOMESTIC", "EXPMA": "DOMESTIC", "EXPME": "DOMESTIC", "EXPMK": "DOMESTIC", "EXPMN": "DOMESTIC", "EXPMONAR": "USD", "EXPMONAU": "DOMESTIC", "EXPMONBD": "USD", "EXPMONBE": "DOMESTIC", "EXPMONBG": "DOMESTIC", "EXPMONBR": "USD", "EXPMONCA": "DOMESTIC", "EXPMONCL": "USD", "EXPMONCN": "USD", "EXPMONCO": "USD", "EXPMONCR": "USD", "EXPMONCZ": "DOMESTIC", "EXPMONDE": "DOMESTIC", "EXPMONDK": "DOMESTIC", "EXPMONEE": "DOMESTIC", "EXPMONEG": "USD", "EXPMONES": "DOMESTIC", "EXPMONEU": "DOMESTIC", "EXPMONFI": "DOMESTIC", "EXPMONFR": "DOMESTIC", "EXPMONGR": "DOMESTIC", "EXPMONHK": "DOMESTIC", "EXPMONHR": "DOMESTIC", "EXPMONHU": "DOMESTIC", "EXPMONID": "USD", "EXPMONIN": "USD", "EXPMONIT": "DOMESTIC", "EXPMONJP": "DOMESTIC", "EXPMONKH": "DOMESTIC", "EXPMONKR": "USD", "EXPMONKZ": "USD", "EXPMONLT": "DOMESTIC", "EXPMONLU": "DOMESTIC", "EXPMONLV": "DOMESTIC", "EXPMONMK": "DOMESTIC", "EXPMONMT": "DOMESTIC", "EXPMONMX": "USD", "EXPMONMY": "DOMESTIC", "EXPMONNL": "DOMESTIC", "EXPMONNP": "USD", "EXPMONPH": "USD", "EXPMONPK": "DOMESTIC", "EXPMONPL": "DOMESTIC", "EXPMONPT": "DOMESTIC", "EXPMONQA": "DOMESTIC", "EXPMONRO": "DOMESTIC", "EXPMONRS": "DOMESTIC", "EXPMONRU": "USD", "EXPMONSA": "DOMESTIC", "EXPMONSE": "DOMESTIC", "EXPMONSG": "DOMESTIC", "EXPMONSI": "DOMESTIC", "EXPMONSK": "DOMESTIC", "EXPMONTH": "USD", "EXPMONTR": "USD", "EXPMONTW": "USD", "EXPMONUA": "USD", "EXPMONUK": "DOMESTIC", "EXPMONUS": "DOMESTIC", "EXPMONUY": "USD", "EXPMONVN": "USD", "EXPMONZA": "DOMESTIC", "EXPMT": "DOMESTIC", "EXPMX": "DOMESTIC", "EXPMY": "DOMESTIC", "EXPNG": "DOMESTIC", "EXPNL": "DOMESTIC", "EXPNO": "DOMESTIC", "EXPNZ": "DOMESTIC", "EXPPE": "DOMESTIC", "EXPPH": "DOMESTIC", "EXPPK": "DOMESTIC", "EXPPL": "DOMESTIC", "EXPPT": "DOMESTIC", "EXPQA": "DOMESTIC", "EXPRO": "DOMESTIC", "EXPRS": "DOMESTIC", "EXPRU": "DOMESTIC", "EXPRW": "DOMESTIC", "EXPSA": "DOMESTIC", "EXPSE": "DOMESTIC", "EXPSG": "DOMESTIC", "EXPSI": "DOMESTIC", "EXPSK": "DOMESTIC", "EXPSV": "DOMESTIC", "EXPTH": "DOMESTIC", "EXPTR": "DOMESTIC", "EXPTW": "DOMESTIC", "EXPUA": "DOMESTIC", "EXPUK": "DOMESTIC", "EXPUS": "DOMESTIC", "EXPZA": "DOMESTIC", "GASDEMAL": "CUBIC METERS", "GASDEMAT": "CUBIC METERS", "GASDEMAU": "CUBIC METERS", "GASDEMAZ": "CUBIC METERS", "GASDEMBE": "CUBIC METERS", "GASDEMBG": "CUBIC METERS", "GASDEMBH": "CUBIC METERS", "GASDEMBN": "CUBIC METERS", "GASDEMBO": "CUBIC METERS", "GASDEMBY": "CUBIC METERS", "GASDEMCA": "CUBIC METERS", "GASDEMCH": "CUBIC METERS", "GASDEMCL": "CUBIC METERS", "GASDEMCZ": "CUBIC METERS", "GASDEMDE": "CUBIC METERS", "GASDEMDK": "CUBIC METERS", "GASDEMDZ": "CUBIC METERS", "GASDEMEC": "CUBIC METERS", "GASDEMEE": "CUBIC METERS", "GASDEMEG": "CUBIC METERS", "GASDEMES": "CUBIC METERS", "GASDEMFI": "CUBIC METERS", "GASDEMFR": "CUBIC METERS", "GASDEMGE": "CUBIC METERS", "GASDEMGQ": "CUBIC METERS", "GASDEMGR": "CUBIC METERS", "GASDEMHK": "CUBIC METERS", "GASDEMHR": "CUBIC METERS", "GASDEMHU": "CUBIC METERS", "GASDEMID": "CUBIC METERS", "GASDEMIE": "CUBIC METERS", "GASDEMIN": "CUBIC METERS", "GASDEMIT": "CUBIC METERS", "GASDEMJP": "CUBIC METERS", "GASDEMKR": "CUBIC METERS", "GASDEMKW": "CUBIC METERS", "GASDEMLT": "CUBIC METERS", "GASDEMLU": "CUBIC METERS", "GASDEMLV": "CUBIC METERS", "GASDEMLY": "CUBIC METERS", "GASDEMMA": "CUBIC METERS", "GASDEMMD": "CUBIC METERS", "GASDEMMK": "CUBIC METERS", "GASDEMMT": "CUBIC METERS", "GASDEMMX": "CUBIC METERS", "GASDEMNG": "CUBIC METERS", "GASDEMNL": "CUBIC METERS", "GASDEMNO": "CUBIC METERS", "GASDEMNZ": "CUBIC METERS", "GASDEMPE": "CUBIC METERS", "GASDEMPH": "CUBIC METERS", "GASDEMPL": "CUBIC METERS", "GASDEMPT": "CUBIC METERS", "GASDEMQA": "CUBIC METERS", "GASDEMRO": "CUBIC METERS", "GASDEMSE": "CUBIC METERS", "GASDEMSI": "CUBIC METERS", "GASDEMSK": "CUBIC METERS", "GASDEMTN": "CUBIC METERS", "GASDEMTR": "CUBIC METERS", "GASDEMTT": "CUBIC METERS", "GASDEMTW": "CUBIC METERS", "GASDEMUA": "CUBIC METERS", "GASDEMUK": "CUBIC METERS", "GASDEMUS": "CUBIC METERS", "GASDEMVE": "CUBIC METERS", "GASDEMZA": "CUBIC METERS", "GASODEMAE": "BARRELS PER DAY", "GASODEMAL": "BARRELS PER DAY", "GASODEMAM": "BARRELS PER DAY", "GASODEMAO": "BARRELS PER DAY", "GASODEMAR": "BARRELS PER DAY", "GASODEMAT": "BARRELS PER DAY", "GASODEMAU": "BARRELS PER DAY", "GASODEMAZ": "BARRELS PER DAY", "GASODEMBB": "BARRELS PER DAY", "GASODEMBD": "BARRELS PER DAY", "GASODEMBE": "BARRELS PER DAY", "GASODEMBG": "BARRELS PER DAY", "GASODEMBH": "BARRELS PER DAY", "GASODEMBM": "BARRELS PER DAY", "GASODEMBN": "BARRELS PER DAY", "GASODEMBO": "BARRELS PER DAY", "GASODEMBR": "BARRELS PER DAY", "GASODEMBY": "BARRELS PER DAY", "GASODEMBZ": "BARRELS PER DAY", "GASODEMCA": "BARRELS PER DAY", "GASODEMCH": "BARRELS PER DAY", "GASODEMCL": "BARRELS PER DAY", "GASODEMCN": "BARRELS PER DAY", "GASODEMCO": "BARRELS PER DAY", "GASODEMCR": "BARRELS PER DAY", "GASODEMCU": "BARRELS PER DAY", "GASODEMCY": "BARRELS PER DAY", "GASODEMCZ": "BARRELS PER DAY", "GASODEMDE": "BARRELS PER DAY", "GASODEMDK": "BARRELS PER DAY", "GASODEMDO": "BARRELS PER DAY", "GASODEMDZ": "BARRELS PER DAY", "GASODEMEC": "BARRELS PER DAY", "GASODEMEE": "BARRELS PER DAY", "GASODEMEG": "BARRELS PER DAY", "GASODEMES": "BARRELS PER DAY", "GASODEMFI": "BARRELS PER DAY", "GASODEMFR": "BARRELS PER DAY", "GASODEMGA": "BARRELS PER DAY", "GASODEMGD": "BARRELS PER DAY", "GASODEMGE": "BARRELS PER DAY", "GASODEMGM": "BARRELS PER DAY", "GASODEMGQ": "BARRELS PER DAY", "GASODEMGR": "BARRELS PER DAY", "GASODEMGT": "BARRELS PER DAY", "GASODEMGY": "BARRELS PER DAY", "GASODEMHK": "BARRELS PER DAY", "GASODEMHN": "BARRELS PER DAY", "GASODEMHR": "BARRELS PER DAY", "GASODEMHT": "BARRELS PER DAY", "GASODEMHU": "BARRELS PER DAY", "GASODEMID": "BARRELS PER DAY", "GASODEMIE": "BARRELS PER DAY", "GASODEMIN": "BARRELS PER DAY", "GASODEMIQ": "BARRELS PER DAY", "GASODEMIR": "BARRELS PER DAY", "GASODEMIS": "BARRELS PER DAY", "GASODEMIT": "BARRELS PER DAY", "GASODEMJM": "BARRELS PER DAY", "GASODEMJP": "BARRELS PER DAY", "GASODEMKR": "BARRELS PER DAY", "GASODEMKW": "BARRELS PER DAY", "GASODEMKZ": "BARRELS PER DAY", "GASODEMLT": "BARRELS PER DAY", "GASODEMLU": "BARRELS PER DAY", "GASODEMLV": "BARRELS PER DAY", "GASODEMLY": "BARRELS PER DAY", "GASODEMMA": "BARRELS PER DAY", "GASODEMMD": "BARRELS PER DAY", "GASODEMMK": "BARRELS PER DAY", "GASODEMMM": "BARRELS PER DAY", "GASODEMMT": "BARRELS PER DAY", "GASODEMMU": "BARRELS PER DAY", "GASODEMMX": "BARRELS PER DAY", "GASODEMMY": "BARRELS PER DAY", "GASODEMNE": "BARRELS PER DAY", "GASODEMNG": "BARRELS PER DAY", "GASODEMNI": "BARRELS PER DAY", "GASODEMNL": "BARRELS PER DAY", "GASODEMNO": "BARRELS PER DAY", "GASODEMNP": "BARRELS PER DAY", "GASODEMNZ": "BARRELS PER DAY", "GASODEMOM": "BARRELS PER DAY", "GASODEMPA": "BARRELS PER DAY", "GASODEMPE": "BARRELS PER DAY", "GASODEMPG": "BARRELS PER DAY", "GASODEMPH": "BARRELS PER DAY", "GASODEMPL": "BARRELS PER DAY", "GASODEMPT": "BARRELS PER DAY", "GASODEMPY": "BARRELS PER DAY", "GASODEMQA": "BARRELS PER DAY", "GASODEMRO": "BARRELS PER DAY", "GASODEMRU": "BARRELS PER DAY", "GASODEMSA": "BARRELS PER DAY", "GASODEMSD": "BARRELS PER DAY", "GASODEMSE": "BARRELS PER DAY", "GASODEMSG": "BARRELS PER DAY", "GASODEMSI": "BARRELS PER DAY", "GASODEMSK": "BARRELS PER DAY", "GASODEMSR": "BARRELS PER DAY", "GASODEMSV": "BARRELS PER DAY", "GASODEMSY": "BARRELS PER DAY", "GASODEMSZ": "BARRELS PER DAY", "GASODEMTH": "BARRELS PER DAY", "GASODEMTJ": "BARRELS PER DAY", "GASODEMTN": "BARRELS PER DAY", "GASODEMTR": "BARRELS PER DAY", "GASODEMTT": "BARRELS PER DAY", "GASODEMTW": "BARRELS PER DAY", "GASODEMUA": "BARRELS PER DAY", "GASODEMUK": "BARRELS PER DAY", "GASODEMUS": "BARRELS PER DAY", "GASODEMUY": "BARRELS PER DAY", "GASODEMVE": "BARRELS PER DAY", "GASODEMVN": "BARRELS PER DAY", "GASODEMYE": "BARRELS PER DAY", "GASODEMZA": "BARRELS PER DAY", "GASOPRODAE": "BARRELS PER DAY", "GASOPRODAL": "BARRELS PER DAY", "GASOPRODAM": "BARRELS PER DAY", "GASOPRODAO": "BARRELS PER DAY", "GASOPRODAR": "BARRELS PER DAY", "GASOPRODAT": "BARRELS PER DAY", "GASOPRODAU": "BARRELS PER DAY", "GASOPRODAZ": "BARRELS PER DAY", "GASOPRODBB": "BARRELS PER DAY", "GASOPRODBD": "BARRELS PER DAY", "GASOPRODBE": "BARRELS PER DAY", "GASOPRODBG": "BARRELS PER DAY", "GASOPRODBH": "BARRELS PER DAY", "GASOPRODBM": "BARRELS PER DAY", "GASOPRODBN": "BARRELS PER DAY", "GASOPRODBO": "BARRELS PER DAY", "GASOPRODBR": "BARRELS PER DAY", "GASOPRODBY": "BARRELS PER DAY", "GASOPRODBZ": "BARRELS PER DAY", "GASOPRODCA": "BARRELS PER DAY", "GASOPRODCH": "BARRELS PER DAY", "GASOPRODCL": "BARRELS PER DAY", "GASOPRODCN": "BARRELS PER DAY", "GASOPRODCO": "BARRELS PER DAY", "GASOPRODCR": "BARRELS PER DAY", "GASOPRODCU": "BARRELS PER DAY", "GASOPRODCY": "BARRELS PER DAY", "GASOPRODCZ": "BARRELS PER DAY", "GASOPRODDE": "BARRELS PER DAY", "GASOPRODDK": "BARRELS PER DAY", "GASOPRODDO": "BARRELS PER DAY", "GASOPRODDZ": "BARRELS PER DAY", "GASOPRODEC": "BARRELS PER DAY", "GASOPRODEE": "BARRELS PER DAY", "GASOPRODEG": "BARRELS PER DAY", "GASOPRODES": "BARRELS PER DAY", "GASOPRODFI": "BARRELS PER DAY", "GASOPRODFR": "BARRELS PER DAY", "GASOPRODGA": "BARRELS PER DAY", "GASOPRODGD": "BARRELS PER DAY", "GASOPRODGE": "BARRELS PER DAY", "GASOPRODGM": "BARRELS PER DAY", "GASOPRODGQ": "BARRELS PER DAY", "GASOPRODGR": "BARRELS PER DAY", "GASOPRODGT": "BARRELS PER DAY", "GASOPRODGY": "BARRELS PER DAY", "GASOPRODHK": "BARRELS PER DAY", "GASOPRODHN": "BARRELS PER DAY", "GASOPRODHR": "BARRELS PER DAY", "GASOPRODHT": "BARRELS PER DAY", "GASOPRODHU": "BARRELS PER DAY", "GASOPRODID": "BARRELS PER DAY", "GASOPRODIE": "BARRELS PER DAY", "GASOPRODIN": "BARRELS PER DAY", "GASOPRODIQ": "BARRELS PER DAY", "GASOPRODIR": "BARRELS PER DAY", "GASOPRODIS": "BARRELS PER DAY", "GASOPRODIT": "BARRELS PER DAY", "GASOPRODJM": "BARRELS PER DAY", "GASOPRODJP": "BARRELS PER DAY", "GASOPRODKR": "BARRELS PER DAY", "GASOPRODKW": "BARRELS PER DAY", "GASOPRODKZ": "BARRELS PER DAY", "GASOPRODLT": "BARRELS PER DAY", "GASOPRODLU": "BARRELS PER DAY", "GASOPRODLV": "BARRELS PER DAY", "GASOPRODLY": "BARRELS PER DAY", "GASOPRODMA": "BARRELS PER DAY", "GASOPRODMD": "BARRELS PER DAY", "GASOPRODMK": "BARRELS PER DAY", "GASOPRODMM": "BARRELS PER DAY", "GASOPRODMT": "BARRELS PER DAY", "GASOPRODMU": "BARRELS PER DAY", "GASOPRODMX": "BARRELS PER DAY", "GASOPRODMY": "BARRELS PER DAY", "GASOPRODNE": "BARRELS PER DAY", "GASOPRODNG": "BARRELS PER DAY", "GASOPRODNI": "BARRELS PER DAY", "GASOPRODNL": "BARRELS PER DAY", "GASOPRODNO": "BARRELS PER DAY", "GASOPRODNP": "BARRELS PER DAY", "GASOPRODNZ": "BARRELS PER DAY", "GASOPRODOM": "BARRELS PER DAY", "GASOPRODPA": "BARRELS PER DAY", "GASOPRODPE": "BARRELS PER DAY", "GASOPRODPG": "BARRELS PER DAY", "GASOPRODPH": "BARRELS PER DAY", "GASOPRODPL": "BARRELS PER DAY", "GASOPRODPT": "BARRELS PER DAY", "GASOPRODPY": "BARRELS PER DAY", "GASOPRODQA": "BARRELS PER DAY", "GASOPRODRO": "BARRELS PER DAY", "GASOPRODRU": "BARRELS PER DAY", "GASOPRODSA": "BARRELS PER DAY", "GASOPRODSD": "BARRELS PER DAY", "GASOPRODSE": "BARRELS PER DAY", "GASOPRODSG": "BARRELS PER DAY", "GASOPRODSI": "BARRELS PER DAY", "GASOPRODSK": "BARRELS PER DAY", "GASOPRODSR": "BARRELS PER DAY", "GASOPRODSV": "BARRELS PER DAY", "GASOPRODSY": "BARRELS PER DAY", "GASOPRODSZ": "BARRELS PER DAY", "GASOPRODTH": "BARRELS PER DAY", "GASOPRODTJ": "BARRELS PER DAY", "GASOPRODTN": "BARRELS PER DAY", "GASOPRODTR": "BARRELS PER DAY", "GASOPRODTT": "BARRELS PER DAY", "GASOPRODTW": "BARRELS PER DAY", "GASOPRODUA": "BARRELS PER DAY", "GASOPRODUK": "BARRELS PER DAY", "GASOPRODUS": "BARRELS PER DAY", "GASOPRODUY": "BARRELS PER DAY", "GASOPRODVE": "BARRELS PER DAY", "GASOPRODVN": "BARRELS PER DAY", "GASOPRODYE": "BARRELS PER DAY", "GASOPRODZA": "BARRELS PER DAY", "GASPRODAL": "CUBIC METERS", "GASPRODAT": "CUBIC METERS", "GASPRODAU": "CUBIC METERS", "GASPRODAZ": "CUBIC METERS", "GASPRODBE": "CUBIC METERS", "GASPRODBG": "CUBIC METERS", "GASPRODBH": "CUBIC METERS", "GASPRODBN": "CUBIC METERS", "GASPRODBO": "CUBIC METERS", "GASPRODBY": "CUBIC METERS", "GASPRODCA": "CUBIC METERS", "GASPRODCH": "CUBIC METERS", "GASPRODCL": "CUBIC METERS", "GASPRODCN": "CUBIC METERS", "GASPRODCZ": "CUBIC METERS", "GASPRODDE": "CUBIC METERS", "GASPRODDK": "CUBIC METERS", "GASPRODDZ": "CUBIC METERS", "GASPRODEC": "CUBIC METERS", "GASPRODEE": "CUBIC METERS", "GASPRODEG": "CUBIC METERS", "GASPRODES": "CUBIC METERS", "GASPRODFI": "CUBIC METERS", "GASPRODFR": "CUBIC METERS", "GASPRODGA": "CUBIC METERS", "GASPRODGE": "CUBIC METERS", "GASPRODGQ": "CUBIC METERS", "GASPRODGR": "CUBIC METERS", "GASPRODHK": "CUBIC METERS", "GASPRODHR": "CUBIC METERS", "GASPRODHU": "CUBIC METERS", "GASPRODID": "CUBIC METERS", "GASPRODIE": "CUBIC METERS", "GASPRODIN": "CUBIC METERS", "GASPRODIQ": "CUBIC METERS", "GASPRODIT": "CUBIC METERS", "GASPRODJP": "CUBIC METERS", "GASPRODKR": "CUBIC METERS", "GASPRODKW": "CUBIC METERS", "GASPRODKZ": "CUBIC METERS", "GASPRODLT": "CUBIC METERS", "GASPRODLU": "CUBIC METERS", "GASPRODLV": "CUBIC METERS", "GASPRODLY": "CUBIC METERS", "GASPRODMA": "CUBIC METERS", "GASPRODMD": "CUBIC METERS", "GASPRODMK": "CUBIC METERS", "GASPRODMT": "CUBIC METERS", "GASPRODMX": "CUBIC METERS", "GASPRODMY": "CUBIC METERS", "GASPRODNG": "CUBIC METERS", "GASPRODNL": "CUBIC METERS", "GASPRODNO": "CUBIC METERS", "GASPRODNZ": "CUBIC METERS", "GASPRODPE": "CUBIC METERS", "GASPRODPG": "CUBIC METERS", "GASPRODPH": "CUBIC METERS", "GASPRODPL": "CUBIC METERS", "GASPRODPT": "CUBIC METERS", "GASPRODQA": "CUBIC METERS", "GASPRODRO": "CUBIC METERS", "GASPRODRU": "CUBIC METERS", "GASPRODSE": "CUBIC METERS", "GASPRODSG": "CUBIC METERS", "GASPRODSI": "CUBIC METERS", "GASPRODSK": "CUBIC METERS", "GASPRODTH": "CUBIC METERS", "GASPRODTN": "CUBIC METERS", "GASPRODTR": "CUBIC METERS", "GASPRODTT": "CUBIC METERS", "GASPRODTW": "CUBIC METERS", "GASPRODUA": "CUBIC METERS", "GASPRODUK": "CUBIC METERS", "GASPRODUS": "CUBIC METERS", "GASPRODVE": "CUBIC METERS", "GASPRODVN": "CUBIC METERS", "GASPRODZA": "CUBIC METERS", "GBALAR": "DOMESTIC", "GBALAT": "DOMESTIC", "GBALAU": "DOMESTIC", "GBALAZ": "DOMESTIC", "GBALBD": "DOMESTIC", "GBALBE": "DOMESTIC", "GBALBG": "DOMESTIC", "GBALBR": "DOMESTIC", "GBALCA": "DOMESTIC", "GBALCH": "DOMESTIC", "GBALCN": "DOMESTIC", "GBALCO": "DOMESTIC", "GBALCR": "DOMESTIC", "GBALCY": "DOMESTIC", "GBALCZ": "DOMESTIC", "GBALDE": "DOMESTIC", "GBALDK": "DOMESTIC", "GBALEE": "DOMESTIC", "GBALES": "DOMESTIC", "GBALEU": "DOMESTIC", "GBALFI": "DOMESTIC", "GBALFR": "DOMESTIC", "GBALGR": "DOMESTIC", "GBALHK": "DOMESTIC", "GBALHR": "DOMESTIC", "GBALHU": "DOMESTIC", "GBALID": "DOMESTIC", "GBALIE": "DOMESTIC", "GBALIL": "DOMESTIC", "GBALIN": "DOMESTIC", "GBALIS": "DOMESTIC", "GBALIT": "DOMESTIC", "GBALJP": "DOMESTIC", "GBALKH": "DOMESTIC", "GBALKR": "DOMESTIC", "GBALKZ": "DOMESTIC", "GBALLT": "DOMESTIC", "GBALLU": "DOMESTIC", "GBALLV": "DOMESTIC", "GBALMO": "DOMESTIC", "GBALMT": "DOMESTIC", "GBALMX": "DOMESTIC", "GBALMY": "DOMESTIC", "GBALNL": "DOMESTIC", "GBALNO": "DOMESTIC", "GBALPE": "DOMESTIC", "GBALPH": "DOMESTIC", "GBALPL": "DOMESTIC", "GBALPT": "DOMESTIC", "GBALRO": "DOMESTIC", "GBALRU": "DOMESTIC", "GBALSA": "DOMESTIC", "GBALSE": "DOMESTIC", "GBALSG": "DOMESTIC", "GBALSI": "DOMESTIC", "GBALSK": "DOMESTIC", "GBALTH": "DOMESTIC", "GBALTR": "DOMESTIC", "GBALTW": "DOMESTIC", "GBALUA": "DOMESTIC", "GBALUK": "DOMESTIC", "GBALUS": "DOMESTIC", "GBALZA": "DOMESTIC", "GCFAT": "DOMESTIC", "GCFBE": "DOMESTIC", "GCFBG": "DOMESTIC", "GCFBR": "DOMESTIC", "GCFBY": "DOMESTIC", "GCFCH": "DOMESTIC", "GCFCN": "DOMESTIC", "GCFCY": "DOMESTIC", "GCFCZ": "DOMESTIC", "GCFDE": "DOMESTIC", "GCFDK": "DOMESTIC", "GCFEA": "DOMESTIC", "GCFEE": "DOMESTIC", "GCFES": "DOMESTIC", "GCFEU": "DOMESTIC", "GCFFI": "DOMESTIC", "GCFFR": "DOMESTIC", "GCFGR": "DOMESTIC", "GCFHR": "DOMESTIC", "GCFHU": "DOMESTIC", "GCFIE": "DOMESTIC", "GCFIT": "DOMESTIC", "GCFKR": "DOMESTIC", "GCFLT": "DOMESTIC", "GCFLU": "DOMESTIC", "GCFLV": "DOMESTIC", "GCFME": "DOMESTIC", "GCFMK": "DOMESTIC", "GCFMT": "DOMESTIC", "GCFNL": "DOMESTIC", "GCFNO": "DOMESTIC", "GCFNZ": "DOMESTIC", "GCFPE": "DOMESTIC", "GCFPL": "DOMESTIC", "GCFPT": "DOMESTIC", "GCFQA": "DOMESTIC", "GCFRO": "DOMESTIC", "GCFRS": "DOMESTIC", "GCFRU": "DOMESTIC", "GCFSE": "DOMESTIC", "GCFSI": "DOMESTIC", "GCFSK": "DOMESTIC", "GCFTH": "DOMESTIC", "GCFUA": "DOMESTIC", "GCFUK": "DOMESTIC", "GDEBTAR": "USD", "GDEBTAT": "DOMESTIC", "GDEBTAU": "DOMESTIC", "GDEBTBE": "DOMESTIC", "GDEBTBG": "DOMESTIC", "GDEBTBR": "DOMESTIC", "GDEBTCA": "DOMESTIC", "GDEBTCL": "DOMESTIC", "GDEBTCN": "DOMESTIC", "GDEBTCO": "DOMESTIC", "GDEBTCR": "DOMESTIC", "GDEBTCY": "DOMESTIC", "GDEBTCZ": "DOMESTIC", "GDEBTDE": "DOMESTIC", "GDEBTDK": "DOMESTIC", "GDEBTEE": "DOMESTIC", "GDEBTES": "DOMESTIC", "GDEBTEU": "DOMESTIC", "GDEBTFI": "DOMESTIC", "GDEBTFR": "DOMESTIC", "GDEBTGR": "DOMESTIC", "GDEBTHK": "DOMESTIC", "GDEBTHR": "DOMESTIC", "GDEBTHU": "DOMESTIC", "GDEBTID": "DOMESTIC", "GDEBTIE": "DOMESTIC", "GDEBTIL": "DOMESTIC", "GDEBTIN": "DOMESTIC", "GDEBTIT": "DOMESTIC", "GDEBTJO": "DOMESTIC", "GDEBTJP": "DOMESTIC", "GDEBTKR": "USD", "GDEBTKZ": "USD", "GDEBTLT": "DOMESTIC", "GDEBTLU": "DOMESTIC", "GDEBTLV": "DOMESTIC", "GDEBTMT": "DOMESTIC", "GDEBTMX": "DOMESTIC", "GDEBTMY": "DOMESTIC", "GDEBTNAT": "DOMESTIC", "GDEBTNBE": "DOMESTIC", "GDEBTNBG": "DOMESTIC", "GDEBTNCY": "DOMESTIC", "GDEBTNCZ": "DOMESTIC", "GDEBTNDE": "DOMESTIC", "GDEBTNDK": "DOMESTIC", "GDEBTNEE": "DOMESTIC", "GDEBTNES": "DOMESTIC", "GDEBTNEU": "DOMESTIC", "GDEBTNFI": "DOMESTIC", "GDEBTNFR": "DOMESTIC", "GDEBTNGR": "DOMESTIC", "GDEBTNHR": "DOMESTIC", "GDEBTNHU": "DOMESTIC", "GDEBTNIE": "DOMESTIC", "GDEBTNIT": "DOMESTIC", "GDEBTNL": "DOMESTIC", "GDEBTNLT": "DOMESTIC", "GDEBTNLU": "DOMESTIC", "GDEBTNLV": "DOMESTIC", "GDEBTNMT": "DOMESTIC", "GDEBTNNL": "DOMESTIC", "GDEBTNNO": "DOMESTIC", "GDEBTNO": "DOMESTIC", "GDEBTNPL": "DOMESTIC", "GDEBTNPT": "DOMESTIC", "GDEBTNRO": "DOMESTIC", "GDEBTNSE": "DOMESTIC", "GDEBTNSI": "DOMESTIC", "GDEBTNSK": "DOMESTIC", "GDEBTNUK": "DOMESTIC", "GDEBTPH": "DOMESTIC", "GDEBTPK": "DOMESTIC", "GDEBTPL": "DOMESTIC", "GDEBTPT": "DOMESTIC", "GDEBTQA": "DOMESTIC", "GDEBTRO": "DOMESTIC", "GDEBTRU": "DOMESTIC", "GDEBTSA": "DOMESTIC", "GDEBTSE": "DOMESTIC", "GDEBTSG": "DOMESTIC", "GDEBTSI": "DOMESTIC", "GDEBTSK": "DOMESTIC", "GDEBTSV": "DOMESTIC", "GDEBTTH": "DOMESTIC", "GDEBTTR": "DOMESTIC", "GDEBTTW": "DOMESTIC", "GDEBTUK": "DOMESTIC", "GDEBTUS": "DOMESTIC", "GDEBTZA": "DOMESTIC", "GDPAE": "DOMESTIC", "GDPAL": "DOMESTIC", "GDPAR": "DOMESTIC", "GDPAT": "DOMESTIC", "GDPAU": "DOMESTIC", "GDPAZ": "DOMESTIC", "GDPBD": "DOMESTIC", "GDPBE": "DOMESTIC", "GDPBG": "DOMESTIC", "GDPBR": "DOMESTIC", "GDPBW": "DOMESTIC", "GDPBY": "DOMESTIC", "GDPCA": "DOMESTIC", "GDPCH": "DOMESTIC", "GDPCL": "DOMESTIC", "GDPCM": "DOMESTIC", "GDPCN": "DOMESTIC", "GDPCO": "DOMESTIC", "GDPCR": "DOMESTIC", "GDPCY": "DOMESTIC", "GDPCZ": "DOMESTIC", "GDPDE": "DOMESTIC", "GDPDEFLK": "INDEX", "GDPDK": "DOMESTIC", "GDPEA": "DOMESTIC", "GDPEE": "DOMESTIC", "GDPEG": "DOMESTIC", "GDPES": "DOMESTIC", "GDPEU": "DOMESTIC", "GDPFI": "DOMESTIC", "GDPFR": "DOMESTIC", "GDPGR": "DOMESTIC", "GDPHK": "DOMESTIC", "GDPHN": "DOMESTIC", "GDPHR": "DOMESTIC", "GDPHU": "DOMESTIC", "GDPID": "DOMESTIC", "GDPIE": "DOMESTIC", "GDPIL": "DOMESTIC", "GDPIN": "DOMESTIC", "GDPIR": "DOMESTIC", "GDPIT": "DOMESTIC", "GDPJO": "DOMESTIC", "GDPJP": "DOMESTIC", "GDPKH": "DOMESTIC", "GDPKR": "DOMESTIC", "GDPKZ": "DOMESTIC", "GDPLA": "DOMESTIC", "GDPLT": "DOMESTIC", "GDPLU": "DOMESTIC", "GDPLV": "DOMESTIC", "GDPMA": "DOMESTIC", "GDPME": "DOMESTIC", "GDPMK": "DOMESTIC", "GDPMO": "DOMESTIC", "GDPMT": "DOMESTIC", "GDPMX": "DOMESTIC", "GDPMY": "DOMESTIC", "GDPNG": "DOMESTIC", "GDPNL": "DOMESTIC", "GDPNO": "DOMESTIC", "GDPNZ": "DOMESTIC", "GDPPA": "DOMESTIC", "GDPPCAL": "DOMESTIC", "GDPPCAT": "DOMESTIC", "GDPPCAU": "DOMESTIC", "GDPPCBE": "DOMESTIC", "GDPPCBG": "DOMESTIC", "GDPPCBR": "INDEX", "GDPPCCH": "DOMESTIC", "GDPPCCN": "DOMESTIC", "GDPPCCY": "DOMESTIC", "GDPPCCZ": "DOMESTIC", "GDPPCDE": "DOMESTIC", "GDPPCDK": "DOMESTIC", "GDPPCEA": "DOMESTIC", "GDPPCEE": "DOMESTIC", "GDPPCES": "DOMESTIC", "GDPPCEU": "DOMESTIC", "GDPPCFI": "DOMESTIC", "GDPPCFR": "DOMESTIC", "GDPPCGR": "DOMESTIC", "GDPPCHR": "DOMESTIC", "GDPPCHU": "DOMESTIC", "GDPPCIE": "DOMESTIC", "GDPPCIS": "DOMESTIC", "GDPPCIT": "DOMESTIC", "GDPPCKH": "DOMESTIC", "GDPPCKZ": "DOMESTIC", "GDPPCLI": "DOMESTIC", "GDPPCLT": "DOMESTIC", "GDPPCLU": "DOMESTIC", "GDPPCLV": "DOMESTIC", "GDPPCME": "DOMESTIC", "GDPPCMK": "DOMESTIC", "GDPPCMT": "DOMESTIC", "GDPPCNL": "DOMESTIC", "GDPPCNO": "DOMESTIC", "GDPPCNZ": "DOMESTIC", "GDPPCPL": "DOMESTIC", "GDPPCPT": "DOMESTIC", "GDPPCRO": "DOMESTIC", "GDPPCRS": "DOMESTIC", "GDPPCSE": "DOMESTIC", "GDPPCSG": "DOMESTIC", "GDPPCSI": "DOMESTIC", "GDPPCSK": "DOMESTIC", "GDPPCTR": "DOMESTIC", "GDPPCTW": "DOMESTIC", "GDPPCUS": "DOMESTIC", "GDPPE": "DOMESTIC", "GDPPH": "DOMESTIC", "GDPPK": "DOMESTIC", "GDPPL": "DOMESTIC", "GDPPT": "DOMESTIC", "GDPQA": "DOMESTIC", "GDPRO": "DOMESTIC", "GDPRS": "DOMESTIC", "GDPRU": "DOMESTIC", "GDPRW": "DOMESTIC", "GDPSA": "DOMESTIC", "GDPSE": "DOMESTIC", "GDPSG": "DOMESTIC", "GDPSI": "DOMESTIC", "GDPSK": "DOMESTIC", "GDPSV": "DOMESTIC", "GDPTH": "DOMESTIC", "GDPTN": "DOMESTIC", "GDPTR": "DOMESTIC", "GDPTW": "DOMESTIC", "GDPUA": "DOMESTIC", "GDPUK": "DOMESTIC", "GDPUS": "DOMESTIC", "GDPUZ": "DOMESTIC", "GDPVN": "DOMESTIC", "GDPZA": "DOMESTIC", "GFCFAE": "DOMESTIC", "GFCFAL": "DOMESTIC", "GFCFAR": "DOMESTIC", "GFCFAT": "DOMESTIC", "GFCFAU": "DOMESTIC", "GFCFAZ": "DOMESTIC", "GFCFBD": "DOMESTIC", "GFCFBE": "DOMESTIC", "GFCFBG": "DOMESTIC", "GFCFBR": "DOMESTIC", "GFCFBW": "DOMESTIC", "GFCFBY": "DOMESTIC", "GFCFCA": "DOMESTIC", "GFCFCH": "DOMESTIC", "GFCFCL": "DOMESTIC", "GFCFCM": "DOMESTIC", "GFCFCN": "INDEX", "GFCFCO": "DOMESTIC", "GFCFCY": "DOMESTIC", "GFCFCZ": "DOMESTIC", "GFCFDE": "DOMESTIC", "GFCFDK": "DOMESTIC", "GFCFEA": "DOMESTIC", "GFCFEE": "DOMESTIC", "GFCFES": "DOMESTIC", "GFCFEU": "DOMESTIC", "GFCFFI": "DOMESTIC", "GFCFFR": "DOMESTIC", "GFCFGR": "DOMESTIC", "GFCFHK": "DOMESTIC", "GFCFHR": "DOMESTIC", "GFCFHU": "DOMESTIC", "GFCFID": "DOMESTIC", "GFCFIE": "DOMESTIC", "GFCFIL": "DOMESTIC", "GFCFIN": "DOMESTIC", "GFCFIR": "DOMESTIC", "GFCFIT": "DOMESTIC", "GFCFJP": "DOMESTIC", "GFCFKR": "DOMESTIC", "GFCFKZ": "DOMESTIC", "GFCFLT": "DOMESTIC", "GFCFLU": "DOMESTIC", "GFCFLV": "DOMESTIC", "GFCFMA": "DOMESTIC", "GFCFME": "DOMESTIC", "GFCFMN": "DOMESTIC", "GFCFMT": "DOMESTIC", "GFCFMX": "DOMESTIC", "GFCFMY": "DOMESTIC", "GFCFNG": "DOMESTIC", "GFCFNL": "DOMESTIC", "GFCFNO": "DOMESTIC", "GFCFNZ": "DOMESTIC", "GFCFPH": "DOMESTIC", "GFCFPK": "DOMESTIC", "GFCFPL": "DOMESTIC", "GFCFPT": "DOMESTIC", "GFCFRO": "DOMESTIC", "GFCFRS": "DOMESTIC", "GFCFRU": "DOMESTIC", "GFCFSA": "DOMESTIC", "GFCFSE": "DOMESTIC", "GFCFSG": "DOMESTIC", "GFCFSI": "DOMESTIC", "GFCFSK": "DOMESTIC", "GFCFTH": "DOMESTIC", "GFCFTR": "DOMESTIC", "GFCFTW": "DOMESTIC", "GFCFUA": "DOMESTIC", "GFCFUK": "DOMESTIC", "GFCFUS": "DOMESTIC", "GFCFUZ": "DOMESTIC", "GFCFVN": "DOMESTIC", "GFCFZA": "DOMESTIC", "GREVAR": "DOMESTIC", "GREVAT": "DOMESTIC", "GREVAU": "DOMESTIC", "GREVAZ": "DOMESTIC", "GREVBD": "DOMESTIC", "GREVBE": "DOMESTIC", "GREVBG": "DOMESTIC", "GREVBR": "DOMESTIC", "GREVCA": "DOMESTIC", "GREVCH": "DOMESTIC", "GREVCN": "DOMESTIC", "GREVCO": "DOMESTIC", "GREVCR": "DOMESTIC", "GREVCY": "DOMESTIC", "GREVCZ": "DOMESTIC", "GREVDE": "DOMESTIC", "GREVDK": "DOMESTIC", "GREVEE": "DOMESTIC", "GREVES": "DOMESTIC", "GREVEU": "DOMESTIC", "GREVFI": "DOMESTIC", "GREVFR": "DOMESTIC", "GREVHK": "DOMESTIC", "GREVHR": "DOMESTIC", "GREVHU": "DOMESTIC", "GREVID": "DOMESTIC", "GREVIE": "DOMESTIC", "GREVIL": "DOMESTIC", "GREVIN": "DOMESTIC", "GREVJP": "DOMESTIC", "GREVKH": "DOMESTIC", "GREVKR": "DOMESTIC", "GREVKZ": "DOMESTIC", "GREVLT": "DOMESTIC", "GREVLU": "DOMESTIC", "GREVLV": "DOMESTIC", "GREVMA": "DOMESTIC", "GREVMO": "DOMESTIC", "GREVMT": "DOMESTIC", "GREVMX": "DOMESTIC", "GREVMY": "DOMESTIC", "GREVNL": "DOMESTIC", "GREVPE": "DOMESTIC", "GREVPH": "DOMESTIC", "GREVPL": "DOMESTIC", "GREVPT": "DOMESTIC", "GREVRO": "DOMESTIC", "GREVRU": "DOMESTIC", "GREVSA": "DOMESTIC", "GREVSE": "DOMESTIC", "GREVSG": "DOMESTIC", "GREVSI": "DOMESTIC", "GREVSK": "DOMESTIC", "GREVSV": "DOMESTIC", "GREVTH": "DOMESTIC", "GREVTR": "DOMESTIC", "GREVTW": "DOMESTIC", "GREVUA": "DOMESTIC", "GREVUK": "DOMESTIC", "GREVUS": "DOMESTIC", "GREVUY": "DOMESTIC", "GREVVN": "DOMESTIC", "GREVZA": "DOMESTIC", "GSPEAR": "DOMESTIC", "GSPEAT": "DOMESTIC", "GSPEAU": "DOMESTIC", "GSPEAZ": "DOMESTIC", "GSPEBD": "DOMESTIC", "GSPEBE": "DOMESTIC", "GSPEBG": "DOMESTIC", "GSPEBR": "DOMESTIC", "GSPECA": "DOMESTIC", "GSPECH": "DOMESTIC", "GSPECN": "DOMESTIC", "GSPECO": "DOMESTIC", "GSPECR": "DOMESTIC", "GSPECY": "DOMESTIC", "GSPECZ": "DOMESTIC", "GSPEDE": "DOMESTIC", "GSPEDK": "DOMESTIC", "GSPEEE": "DOMESTIC", "GSPEES": "DOMESTIC", "GSPEEU": "DOMESTIC", "GSPEFI": "DOMESTIC", "GSPEFR": "DOMESTIC", "GSPEHK": "DOMESTIC", "GSPEHR": "DOMESTIC", "GSPEHU": "DOMESTIC", "GSPEID": "DOMESTIC", "GSPEIE": "DOMESTIC", "GSPEIL": "DOMESTIC", "GSPEIN": "DOMESTIC", "GSPEJP": "DOMESTIC", "GSPEKH": "DOMESTIC", "GSPEKR": "DOMESTIC", "GSPEKZ": "DOMESTIC", "GSPELT": "DOMESTIC", "GSPELU": "DOMESTIC", "GSPELV": "DOMESTIC", "GSPEMO": "DOMESTIC", "GSPEMT": "DOMESTIC", "GSPEMX": "DOMESTIC", "GSPEMY": "DOMESTIC", "GSPENL": "DOMESTIC", "GSPEPE": "DOMESTIC", "GSPEPH": "DOMESTIC", "GSPEPL": "DOMESTIC", "GSPEPT": "DOMESTIC", "GSPERO": "DOMESTIC", "GSPERU": "DOMESTIC", "GSPESA": "DOMESTIC", "GSPESE": "DOMESTIC", "GSPESG": "DOMESTIC", "GSPESI": "DOMESTIC", "GSPESK": "DOMESTIC", "GSPETH": "DOMESTIC", "GSPETR": "DOMESTIC", "GSPETW": "DOMESTIC", "GSPEUA": "DOMESTIC", "GSPEUK": "DOMESTIC", "GSPEUS": "DOMESTIC", "GSPEUY": "DOMESTIC", "GSPEVN": "DOMESTIC", "GSPEZA": "DOMESTIC", "HHDIRAT": "PERCENT", "HHDIRBE": "PERCENT", "HHDIRCH": "PERCENT", "HHDIRCY": "PERCENT", "HHDIRCZ": "PERCENT", "HHDIRDE": "PERCENT", "HHDIRDK": "PERCENT", "HHDIREE": "PERCENT", "HHDIRES": "PERCENT", "HHDIRFI": "PERCENT", "HHDIRFR": "PERCENT", "HHDIRGR": "PERCENT", "HHDIRHR": "PERCENT", "HHDIRHU": "PERCENT", "HHDIRIE": "PERCENT", "HHDIRIT": "PERCENT", "HHDIRLT": "PERCENT", "HHDIRLU": "PERCENT", "HHDIRLV": "PERCENT", "HHDIRNL": "PERCENT", "HHDIRNO": "PERCENT", "HHDIRPL": "PERCENT", "HHDIRPT": "PERCENT", "HHDIRSE": "PERCENT", "HHDIRSI": "PERCENT", "HHDIRSK": "PERCENT", "HHDIRTR": "PERCENT", "HHSAT": "PERCENT", "HHSBE": "PERCENT", "HHSCN": "DOMESTIC", "HHSCZ": "PERCENT", "HHSDE": "PERCENT", "HHSDK": "PERCENT", "HHSES": "PERCENT", "HHSEU": "PERCENT", "HHSFI": "PERCENT", "HHSFR": "PERCENT", "HHSGR": "PERCENT", "HHSHU": "PERCENT", "HHSIE": "PERCENT", "HHSIT": "PERCENT", "HHSNL": "PERCENT", "HHSNO": "PERCENT", "HHSPL": "PERCENT", "HHSPT": "PERCENT", "HHSRO": "PERCENT", "HHSSE": "PERCENT", "HHSSI": "PERCENT", "HHSUK": "PERCENT", "HOU5R": "INDEX", "HOUAE": "INDEX", "HOUAT": "INDEX", "HOUAU": "INDEX", "HOUBE": "INDEX", "HOUBG": "INDEX", "HOUBR": "INDEX", "HOUCA": "INDEX", "HOUCH": "INDEX", "HOUCL": "INDEX", "HOUCN": "INDEX", "HOUCO": "INDEX", "HOUCY": "INDEX", "HOUCZ": "INDEX", "HOUDE": "INDEX", "HOUDK": "INDEX", "HOUEA": "INDEX", "HOUEE": "INDEX", "HOUES": "INDEX", "HOUEU": "INDEX", "HOUFI": "INDEX", "HOUFR": "INDEX", "HOUGR": "INDEX", "HOUHK": "INDEX", "HOUHR": "INDEX", "HOUHU": "INDEX", "HOUID": "INDEX", "HOUIE": "INDEX", "HOUIL": "INDEX", "HOUIN": "INDEX", "HOUIS": "INDEX", "HOUIT": "INDEX", "HOUJP": "INDEX", "HOUKR": "INDEX", "HOULT": "INDEX", "HOULU": "INDEX", "HOULV": "INDEX", "HOUMA": "INDEX", "HOUMK": "INDEX", "HOUMT": "INDEX", "HOUMX": "INDEX", "HOUMY": "INDEX", "HOUNL": "INDEX", "HOUNO": "INDEX", "HOUNZ": "INDEX", "HOUPE": "INDEX", "HOUPH": "INDEX", "HOUPL": "INDEX", "HOUPT": "INDEX", "HOURO": "INDEX", "HOURU": "INDEX", "HOUSE": "INDEX", "HOUSG": "INDEX", "HOUSI": "INDEX", "HOUSK": "INDEX", "HOUTH": "INDEX", "HOUTR": "INDEX", "HOUUK": "INDEX", "HOUUS": "INDEX", "HOUXW": "INDEX", "HOUZA": "INDEX", "IBD1AU": "PERCENT", "IBD1BG": "PERCENT", "IBD1CL": "PERCENT", "IBD1CO": "PERCENT", "IBD1CZ": "PERCENT", "IBD1DK": "PERCENT", "IBD1EA": "PERCENT", "IBD1HR": "PERCENT", "IBD1HU": "PERCENT", "IBD1KR": "PERCENT", "IBD1MX": "PERCENT", "IBD1NZ": "PERCENT", "IBD1PL": "PERCENT", "IBD1PY": "OTHER NUMBER", "IBD1RO": "PERCENT", "IBD1RU": "PERCENT", "IBD1SE": "PERCENT", "IBD1SG": "PERCENT", "IBD1TH": "PERCENT", "IBD1TR": "PERCENT", "IBD1UA": "PERCENT", "IBD1UK": "PERCENT", "IIPAAL": "DOMESTIC", "IIPAAR": "USD", "IIPAAT": "DOMESTIC", "IIPAAU": "DOMESTIC", "IIPABA": "DOMESTIC", "IIPABD": "DOMESTIC", "IIPABE": "DOMESTIC", "IIPABG": "DOMESTIC", "IIPABR": "USD", "IIPACA": "DOMESTIC", "IIPACH": "DOMESTIC", "IIPACL": "USD", "IIPACN": "USD", "IIPACO": "USD", "IIPACY": "DOMESTIC", "IIPACZ": "DOMESTIC", "IIPADE": "DOMESTIC", "IIPADK": "DOMESTIC", "IIPAEE": "DOMESTIC", "IIPAEG": "USD", "IIPAES": "DOMESTIC", "IIPAFI": "DOMESTIC", "IIPAFR": "DOMESTIC", "IIPAGR": "DOMESTIC", "IIPAHK": "DOMESTIC", "IIPAHR": "DOMESTIC", "IIPAHU": "DOMESTIC", "IIPAID": "USD", "IIPAIE": "DOMESTIC", "IIPAIL": "USD", "IIPAIN": "USD", "IIPAIS": "DOMESTIC", "IIPAIT": "DOMESTIC", "IIPAJP": "DOMESTIC", "IIPAKH": "DOMESTIC", "IIPAKR": "USD", "IIPALT": "DOMESTIC", "IIPALU": "DOMESTIC", "IIPALV": "DOMESTIC", "IIPAMT": "DOMESTIC", "IIPAMX": "USD", "IIPAMY": "DOMESTIC", "IIPANL": "DOMESTIC", "IIPANO": "DOMESTIC", "IIPANP": "DOMESTIC", "IIPAPH": "USD", "IIPAPK": "USD", "IIPAPL": "DOMESTIC", "IIPAPT": "DOMESTIC", "IIPARO": "DOMESTIC", "IIPARU": "USD", "IIPASA": "DOMESTIC", "IIPASE": "DOMESTIC", "IIPASG": "DOMESTIC", "IIPASI": "DOMESTIC", "IIPASK": "DOMESTIC", "IIPATH": "USD", "IIPATR": "USD", "IIPATW": "USD", "IIPAUK": "DOMESTIC", "IIPAUS": "DOMESTIC", "IIPAXK": "DOMESTIC", "IIPAZA": "DOMESTIC", "IIPLAL": "DOMESTIC", "IIPLAR": "USD", "IIPLAT": "DOMESTIC", "IIPLAU": "DOMESTIC", "IIPLBA": "DOMESTIC", "IIPLBD": "DOMESTIC", "IIPLBE": "DOMESTIC", "IIPLBG": "DOMESTIC", "IIPLBR": "USD", "IIPLCA": "DOMESTIC", "IIPLCH": "DOMESTIC", "IIPLCL": "USD", "IIPLCN": "USD", "IIPLCO": "USD", "IIPLCY": "DOMESTIC", "IIPLCZ": "DOMESTIC", "IIPLDE": "DOMESTIC", "IIPLDK": "DOMESTIC", "IIPLEE": "DOMESTIC", "IIPLEG": "USD", "IIPLES": "DOMESTIC", "IIPLFI": "DOMESTIC", "IIPLFR": "DOMESTIC", "IIPLGR": "DOMESTIC", "IIPLHK": "DOMESTIC", "IIPLHR": "DOMESTIC", "IIPLHU": "DOMESTIC", "IIPLID": "USD", "IIPLIE": "DOMESTIC", "IIPLIL": "USD", "IIPLIN": "USD", "IIPLIS": "DOMESTIC", "IIPLIT": "DOMESTIC", "IIPLJP": "DOMESTIC", "IIPLKH": "DOMESTIC", "IIPLKR": "USD", "IIPLLT": "DOMESTIC", "IIPLLU": "DOMESTIC", "IIPLLV": "DOMESTIC", "IIPLMT": "DOMESTIC", "IIPLMX": "USD", "IIPLMY": "DOMESTIC", "IIPLNL": "DOMESTIC", "IIPLNO": "DOMESTIC", "IIPLNP": "DOMESTIC", "IIPLPH": "USD", "IIPLPK": "USD", "IIPLPL": "DOMESTIC", "IIPLPT": "DOMESTIC", "IIPLRO": "DOMESTIC", "IIPLRU": "USD", "IIPLSA": "DOMESTIC", "IIPLSE": "DOMESTIC", "IIPLSG": "DOMESTIC", "IIPLSI": "DOMESTIC", "IIPLSK": "DOMESTIC", "IIPLTH": "USD", "IIPLTR": "USD", "IIPLTW": "USD", "IIPLUK": "DOMESTIC", "IIPLUS": "DOMESTIC", "IIPLXK": "DOMESTIC", "IIPLZA": "DOMESTIC", "IMPAE": "DOMESTIC", "IMPAL": "DOMESTIC", "IMPAR": "DOMESTIC", "IMPAT": "DOMESTIC", "IMPAU": "DOMESTIC", "IMPAZ": "DOMESTIC", "IMPBD": "DOMESTIC", "IMPBE": "DOMESTIC", "IMPBG": "DOMESTIC", "IMPBR": "DOMESTIC", "IMPBW": "DOMESTIC", "IMPBY": "DOMESTIC", "IMPCA": "DOMESTIC", "IMPCH": "DOMESTIC", "IMPCL": "DOMESTIC", "IMPCM": "DOMESTIC", "IMPCN": "DOMESTIC", "IMPCO": "DOMESTIC", "IMPCY": "DOMESTIC", "IMPCZ": "DOMESTIC", "IMPDE": "DOMESTIC", "IMPDK": "DOMESTIC", "IMPEA": "DOMESTIC", "IMPEE": "DOMESTIC", "IMPES": "DOMESTIC", "IMPEU": "DOMESTIC", "IMPFI": "DOMESTIC", "IMPFR": "DOMESTIC", "IMPGR": "DOMESTIC", "IMPHK": "DOMESTIC", "IMPHR": "DOMESTIC", "IMPHU": "DOMESTIC", "IMPID": "DOMESTIC", "IMPIE": "DOMESTIC", "IMPIL": "USD", "IMPIN": "DOMESTIC", "IMPIR": "DOMESTIC", "IMPIT": "DOMESTIC", "IMPJO": "DOMESTIC", "IMPJP": "DOMESTIC", "IMPKR": "DOMESTIC", "IMPKZ": "DOMESTIC", "IMPLT": "DOMESTIC", "IMPLU": "DOMESTIC", "IMPLV": "DOMESTIC", "IMPMA": "DOMESTIC", "IMPME": "DOMESTIC", "IMPMK": "DOMESTIC", "IMPMN": "DOMESTIC", "IMPMONAR": "USD", "IMPMONAU": "DOMESTIC", "IMPMONBD": "USD", "IMPMONBE": "DOMESTIC", "IMPMONBG": "DOMESTIC", "IMPMONBR": "USD", "IMPMONCA": "DOMESTIC", "IMPMONCL": "USD", "IMPMONCN": "USD", "IMPMONCO": "USD", "IMPMONCR": "USD", "IMPMONCZ": "DOMESTIC", "IMPMONDE": "DOMESTIC", "IMPMONDK": "DOMESTIC", "IMPMONEE": "DOMESTIC", "IMPMONEG": "USD", "IMPMONES": "DOMESTIC", "IMPMONEU": "DOMESTIC", "IMPMONFI": "DOMESTIC", "IMPMONFR": "DOMESTIC", "IMPMONGR": "DOMESTIC", "IMPMONHK": "DOMESTIC", "IMPMONHR": "DOMESTIC", "IMPMONHU": "DOMESTIC", "IMPMONID": "USD", "IMPMONIN": "USD", "IMPMONIT": "DOMESTIC", "IMPMONJP": "DOMESTIC", "IMPMONKH": "DOMESTIC", "IMPMONKR": "USD", "IMPMONKZ": "USD", "IMPMONLT": "DOMESTIC", "IMPMONLU": "DOMESTIC", "IMPMONLV": "DOMESTIC", "IMPMONMK": "DOMESTIC", "IMPMONMT": "DOMESTIC", "IMPMONMX": "USD", "IMPMONMY": "DOMESTIC", "IMPMONNL": "DOMESTIC", "IMPMONNP": "USD", "IMPMONPH": "USD", "IMPMONPK": "DOMESTIC", "IMPMONPL": "DOMESTIC", "IMPMONPT": "DOMESTIC", "IMPMONQA": "DOMESTIC", "IMPMONRO": "DOMESTIC", "IMPMONRS": "DOMESTIC", "IMPMONRU": "USD", "IMPMONSA": "DOMESTIC", "IMPMONSE": "DOMESTIC", "IMPMONSG": "DOMESTIC", "IMPMONSI": "DOMESTIC", "IMPMONSK": "DOMESTIC", "IMPMONTH": "USD", "IMPMONTR": "USD", "IMPMONTW": "USD", "IMPMONUA": "USD", "IMPMONUK": "DOMESTIC", "IMPMONUS": "DOMESTIC", "IMPMONUY": "USD", "IMPMONVN": "USD", "IMPMONZA": "DOMESTIC", "IMPMT": "DOMESTIC", "IMPMX": "DOMESTIC", "IMPMY": "DOMESTIC", "IMPNG": "DOMESTIC", "IMPNL": "DOMESTIC", "IMPNO": "DOMESTIC", "IMPNZ": "DOMESTIC", "IMPPE": "DOMESTIC", "IMPPH": "DOMESTIC", "IMPPK": "DOMESTIC", "IMPPL": "DOMESTIC", "IMPPT": "DOMESTIC", "IMPQA": "DOMESTIC", "IMPRO": "DOMESTIC", "IMPRS": "DOMESTIC", "IMPRU": "DOMESTIC", "IMPRW": "DOMESTIC", "IMPSA": "DOMESTIC", "IMPSE": "DOMESTIC", "IMPSG": "DOMESTIC", "IMPSI": "DOMESTIC", "IMPSK": "DOMESTIC", "IMPSV": "DOMESTIC", "IMPTH": "DOMESTIC", "IMPTR": "DOMESTIC", "IMPTW": "DOMESTIC", "IMPUA": "DOMESTIC", "IMPUK": "DOMESTIC", "IMPUS": "DOMESTIC", "IMPZA": "DOMESTIC", "INVERAT": "PERCENT", "INVERBE": "PERCENT", "INVERCH": "PERCENT", "INVERCY": "PERCENT", "INVERCZ": "PERCENT", "INVERDE": "PERCENT", "INVERDK": "PERCENT", "INVEREE": "PERCENT", "INVERES": "PERCENT", "INVERFI": "PERCENT", "INVERFR": "PERCENT", "INVERGR": "PERCENT", "INVERHR": "PERCENT", "INVERHU": "PERCENT", "INVERIE": "PERCENT", "INVERIT": "PERCENT", "INVERLT": "PERCENT", "INVERLV": "PERCENT", "INVERNL": "PERCENT", "INVERNO": "PERCENT", "INVERPL": "PERCENT", "INVERPT": "PERCENT", "INVERRO": "PERCENT", "INVERSE": "PERCENT", "INVERSI": "PERCENT", "INVERSK": "PERCENT", "IPAR": "INDEX", "IPAT": "INDEX", "IPAU": "INDEX", "IPAZ": "INDEX", "IPBA": "INDEX", "IPBD": "INDEX", "IPBE": "INDEX", "IPBG": "INDEX", "IPBR": "INDEX", "IPBY": "DOMESTIC", "IPCA": "INDEX", "IPCH": "INDEX", "IPCL": "INDEX", "IPCM": "INDEX", "IPCN": "DOMESTIC", "IPCO": "INDEX", "IPCR": "INDEX", "IPCY": "INDEX", "IPCZ": "INDEX", "IPDE": "INDEX", "IPDK": "INDEX", "IPEE": "INDEX", "IPEG": "INDEX", "IPES": "INDEX", "IPEU": "INDEX", "IPFI": "INDEX", "IPFR": "INDEX", "IPGR": "INDEX", "IPHK": "INDEX", "IPHR": "INDEX", "IPHU": "INDEX", "IPID": "INDEX", "IPIE": "INDEX", "IPIL": "INDEX", "IPIN": "INDEX", "IPIT": "INDEX", "IPJO": "INDEX", "IPJP": "INDEX", "IPKR": "INDEX", "IPKZ": "INDEX", "IPLT": "INDEX", "IPLU": "INDEX", "IPLV": "INDEX", "IPMA": "INDEX", "IPME": "INDEX", "IPMK": "INDEX", "IPMT": "INDEX", "IPMX": "INDEX", "IPMY": "INDEX", "IPNL": "INDEX", "IPNO": "INDEX", "IPPA": "INDEX", "IPPH": "INDEX", "IPPK": "INDEX", "IPPL": "INDEX", "IPPT": "INDEX", "IPQA": "INDEX", "IPRO": "INDEX", "IPRS": "INDEX", "IPRU": "INDEX", "IPSA": "INDEX", "IPSE": "INDEX", "IPSG": "INDEX", "IPSI": "INDEX", "IPSK": "INDEX", "IPTH": "INDEX", "IPTR": "INDEX", "IPTW": "INDEX", "IPUA": "INDEX", "IPUK": "INDEX", "IPUS": "INDEX", "IPUY": "INDEX", "IPVN": "INDEX", "IPZA": "INDEX", "JHRUS": "PERCENT", "JLRUS": "PERCENT", "JQRUS": "PERCENT", "JVRAT": "PERCENT", "JVRBE": "PERCENT", "JVRBG": "PERCENT", "JVRCH": "PERCENT", "JVRCY": "PERCENT", "JVRCZ": "PERCENT", "JVRDE": "PERCENT", "JVREA": "PERCENT", "JVREE": "PERCENT", "JVRES": "PERCENT", "JVREU": "PERCENT", "JVRFI": "PERCENT", "JVRGR": "PERCENT", "JVRHR": "PERCENT", "JVRHU": "PERCENT", "JVRIE": "PERCENT", "JVRIT": "PERCENT", "JVRLT": "PERCENT", "JVRLU": "PERCENT", "JVRLV": "PERCENT", "JVRMK": "PERCENT", "JVRMT": "PERCENT", "JVRNL": "PERCENT", "JVRNO": "PERCENT", "JVRPL": "PERCENT", "JVRPT": "PERCENT", "JVRRO": "PERCENT", "JVRSE": "PERCENT", "JVRSI": "PERCENT", "JVRSK": "PERCENT", "JVRUK": "PERCENT", "JVRUS": "PERCENT", "KABE": "DOMESTIC", "KABG": "DOMESTIC", "KACN": "USD", "KACZ": "DOMESTIC", "KADE": "DOMESTIC", "KADK": "DOMESTIC", "KAEE": "DOMESTIC", "KAES": "DOMESTIC", "KAFI": "DOMESTIC", "KAFR": "DOMESTIC", "KAGR": "DOMESTIC", "KAHR": "DOMESTIC", "KAHU": "DOMESTIC", "KAIT": "DOMESTIC", "KALT": "DOMESTIC", "KALU": "DOMESTIC", "KALV": "DOMESTIC", "KAMT": "DOMESTIC", "KANL": "DOMESTIC", "KAPH": "USD", "KAPL": "DOMESTIC", "KAPT": "DOMESTIC", "KARO": "DOMESTIC", "KASE": "DOMESTIC", "KASI": "DOMESTIC", "KASK": "DOMESTIC", "LE00CN": "OTHER NUMBER", "LMICS": "USD", "M3AR": "DOMESTIC", "M3AU": "DOMESTIC", "M3BR": "DOMESTIC", "M3BY": "DOMESTIC", "M3CA": "DOMESTIC", "M3CH": "DOMESTIC", "M3CL": "DOMESTIC", "M3CN": "DOMESTIC", "M3CR": "DOMESTIC", "M3EA": "DOMESTIC", "M3HU": "DOMESTIC", "M3ID": "DOMESTIC", "M3IN": "DOMESTIC", "M3JP": "DOMESTIC", "M3KR": "DOMESTIC", "M3KZ": "DOMESTIC", "M3MA": "DOMESTIC", "M3MX": "DOMESTIC", "M3MY": "DOMESTIC", "M3NO": "DOMESTIC", "M3NP": "DOMESTIC", "M3PH": "DOMESTIC", "M3PL": "DOMESTIC", "M3RU": "DOMESTIC", "M3SA": "DOMESTIC", "M3SG": "DOMESTIC", "M3TH": "DOMESTIC", "M3TN": "DOMESTIC", "M3TR": "DOMESTIC", "M3UA": "DOMESTIC", "M3UK": "DOMESTIC", "M3US": "DOMESTIC", "M3UY": "DOMESTIC", "M3YDAE": "PERCENT", "M3YDAU": "PERCENT", "M3YDCA": "PERCENT", "M3YDCN": "PERCENT", "M3YDCZ": "PERCENT", "M3YDDK": "PERCENT", "M3YDEA": "PERCENT", "M3YDHK": "PERCENT", "M3YDHR": "PERCENT", "M3YDHU": "PERCENT", "M3YDID": "PERCENT", "M3YDIN": "PERCENT", "M3YDJP": "PERCENT", "M3YDKR": "PERCENT", "M3YDMO": "PERCENT", "M3YDMX": "PERCENT", "M3YDMY": "PERCENT", "M3YDNP": "PERCENT", "M3YDNZ": "PERCENT", "M3YDPA": "PERCENT", "M3YDPH": "PERCENT", "M3YDPL": "PERCENT", "M3YDQA": "PERCENT", "M3YDRO": "PERCENT", "M3YDRU": "PERCENT", "M3YDSA": "PERCENT", "M3YDSE": "PERCENT", "M3YDSG": "PERCENT", "M3YDTH": "PERCENT", "M3YDTR": "PERCENT", "M3YDUA": "PERCENT", "M3YDUK": "PERCENT", "M3YDUS": "PERCENT", "M3YDVN": "PERCENT", "M3YDZA": "PERCENT", "M3ZA": "DOMESTIC", "MBAR": "DOMESTIC", "MBAU": "DOMESTIC", "MBBR": "DOMESTIC", "MBCH": "DOMESTIC", "MBCN": "DOMESTIC", "MBEG": "DOMESTIC", "MBIN": "DOMESTIC", "MBJP": "DOMESTIC", "MBKR": "DOMESTIC", "MBMX": "DOMESTIC", "MBMY": "DOMESTIC", "MBNO": "DOMESTIC", "MBRU": "DOMESTIC", "MBSA": "DOMESTIC", "MBTH": "DOMESTIC", "MBTR": "DOMESTIC", "MBUA": "DOMESTIC", "MBUK": "DOMESTIC", "MBUS": "DOMESTIC", "NCTBE": "DOMESTIC", "NCTBG": "DOMESTIC", "NCTCN": "USD", "NCTCZ": "DOMESTIC", "NCTDE": "DOMESTIC", "NCTDK": "DOMESTIC", "NCTEE": "DOMESTIC", "NCTES": "DOMESTIC", "NCTFI": "DOMESTIC", "NCTFR": "DOMESTIC", "NCTGR": "DOMESTIC", "NCTHR": "DOMESTIC", "NCTHU": "DOMESTIC", "NCTIT": "DOMESTIC", "NCTLT": "DOMESTIC", "NCTLU": "DOMESTIC", "NCTLV": "DOMESTIC", "NCTMT": "DOMESTIC", "NCTMX": "DOMESTIC", "NCTNL": "DOMESTIC", "NCTPH": "USD", "NCTPL": "DOMESTIC", "NCTPT": "DOMESTIC", "NCTRO": "DOMESTIC", "NCTSE": "DOMESTIC", "NCTSI": "DOMESTIC", "NCTSK": "DOMESTIC", "NFCIAT": "PERCENT", "NFCIBE": "PERCENT", "NFCICZ": "PERCENT", "NFCIDE": "PERCENT", "NFCIDK": "PERCENT", "NFCIEE": "PERCENT", "NFCIES": "PERCENT", "NFCIEU": "PERCENT", "NFCIFI": "PERCENT", "NFCIFR": "PERCENT", "NFCIGR": "PERCENT", "NFCIHU": "PERCENT", "NFCIIE": "PERCENT", "NFCIIT": "PERCENT", "NFCINL": "PERCENT", "NFCINO": "PERCENT", "NFCIPL": "PERCENT", "NFCIPT": "PERCENT", "NFCIRO": "PERCENT", "NFCISE": "PERCENT", "NFCIUK": "PERCENT", "NFCLOANBG": "PERCENT", "NFCLOANCY": "PERCENT", "NFCLOANEE": "PERCENT", "NFCLOANHR": "PERCENT", "NFCLOANLT": "PERCENT", "NFCLOANLV": "PERCENT", "NFCLOANMT": "PERCENT", "NFCLOANRO": "PERCENT", "NFCLOANSI": "PERCENT", "NFCLOANSK": "PERCENT", "NIIPAL": "DOMESTIC", "NIIPAR": "USD", "NIIPAT": "DOMESTIC", "NIIPAU": "DOMESTIC", "NIIPBA": "DOMESTIC", "NIIPBD": "DOMESTIC", "NIIPBE": "DOMESTIC", "NIIPBG": "DOMESTIC", "NIIPBR": "USD", "NIIPCA": "DOMESTIC", "NIIPCH": "DOMESTIC", "NIIPCL": "USD", "NIIPCN": "USD", "NIIPCO": "USD", "NIIPCY": "DOMESTIC", "NIIPCZ": "DOMESTIC", "NIIPDE": "DOMESTIC", "NIIPDK": "DOMESTIC", "NIIPEE": "DOMESTIC", "NIIPEG": "USD", "NIIPES": "DOMESTIC", "NIIPFI": "DOMESTIC", "NIIPFR": "DOMESTIC", "NIIPGR": "DOMESTIC", "NIIPHK": "DOMESTIC", "NIIPHR": "DOMESTIC", "NIIPHU": "DOMESTIC", "NIIPID": "USD", "NIIPIE": "DOMESTIC", "NIIPIL": "USD", "NIIPIN": "USD", "NIIPIS": "DOMESTIC", "NIIPIT": "DOMESTIC", "NIIPJP": "DOMESTIC", "NIIPKH": "DOMESTIC", "NIIPKR": "USD", "NIIPLT": "DOMESTIC", "NIIPLU": "DOMESTIC", "NIIPLV": "DOMESTIC", "NIIPMK": "DOMESTIC", "NIIPMT": "DOMESTIC", "NIIPMX": "USD", "NIIPMY": "DOMESTIC", "NIIPNL": "DOMESTIC", "NIIPNO": "DOMESTIC", "NIIPNP": "DOMESTIC", "NIIPPH": "USD", "NIIPPK": "USD", "NIIPPL": "DOMESTIC", "NIIPPT": "DOMESTIC", "NIIPRO": "DOMESTIC", "NIIPRS": "DOMESTIC", "NIIPRU": "USD", "NIIPSA": "DOMESTIC", "NIIPSE": "DOMESTIC", "NIIPSG": "DOMESTIC", "NIIPSI": "DOMESTIC", "NIIPSK": "DOMESTIC", "NIIPTH": "USD", "NIIPTR": "USD", "NIIPTW": "USD", "NIIPUA": "USD", "NIIPUK": "DOMESTIC", "NIIPUS": "DOMESTIC", "NIIPXK": "DOMESTIC", "NIIPZA": "DOMESTIC", "NPLAR": "PERCENT", "NPLAT": "PERCENT", "NPLAU": "PERCENT", "NPLBE": "PERCENT", "NPLBR": "PERCENT", "NPLCN": "PERCENT", "NPLDK": "PERCENT", "NPLES": "PERCENT", "NPLFI": "PERCENT", "NPLFR": "PERCENT", "NPLHK": "PERCENT", "NPLID": "PERCENT", "NPLIE": "PERCENT", "NPLIN": "PERCENT", "NPLIT": "PERCENT", "NPLJP": "PERCENT", "NPLLU": "PERCENT", "NPLMX": "PERCENT", "NPLNL": "PERCENT", "NPLNO": "PERCENT", "NPLPL": "PERCENT", "NPLRU": "PERCENT", "NPLSA": "PERCENT", "NPLSE": "PERCENT", "NPLSG": "PERCENT", "NPLTR": "PERCENT", "NPLUS": "PERCENT", "NPLZA": "PERCENT", "NYBE": "DOMESTIC", "NYBG": "DOMESTIC", "NYCN": "USD", "NYCZ": "DOMESTIC", "NYDE": "DOMESTIC", "NYDK": "DOMESTIC", "NYEE": "DOMESTIC", "NYES": "DOMESTIC", "NYFI": "DOMESTIC", "NYFR": "DOMESTIC", "NYGR": "DOMESTIC", "NYHR": "DOMESTIC", "NYHU": "DOMESTIC", "NYIT": "DOMESTIC", "NYLT": "DOMESTIC", "NYLU": "DOMESTIC", "NYLV": "DOMESTIC", "NYMT": "DOMESTIC", "NYMX": "DOMESTIC", "NYNL": "DOMESTIC", "NYPH": "USD", "NYPL": "DOMESTIC", "NYPT": "DOMESTIC", "NYRO": "DOMESTIC", "NYSE": "DOMESTIC", "NYSI": "DOMESTIC", "NYSK": "DOMESTIC", "OILDEMAE": "BARRELS PER DAY", "OILDEMAL": "BARRELS PER DAY", "OILDEMAM": "BARRELS PER DAY", "OILDEMAO": "BARRELS PER DAY", "OILDEMAR": "BARRELS PER DAY", "OILDEMAT": "BARRELS PER DAY", "OILDEMAU": "BARRELS PER DAY", "OILDEMAZ": "BARRELS PER DAY", "OILDEMBB": "BARRELS PER DAY", "OILDEMBD": "BARRELS PER DAY", "OILDEMBE": "BARRELS PER DAY", "OILDEMBG": "BARRELS PER DAY", "OILDEMBH": "BARRELS PER DAY", "OILDEMBM": "BARRELS PER DAY", "OILDEMBN": "BARRELS PER DAY", "OILDEMBO": "BARRELS PER DAY", "OILDEMBR": "BARRELS PER DAY", "OILDEMBY": "BARRELS PER DAY", "OILDEMBZ": "BARRELS PER DAY", "OILDEMCA": "BARRELS PER DAY", "OILDEMCH": "BARRELS PER DAY", "OILDEMCL": "BARRELS PER DAY", "OILDEMCN": "BARRELS PER DAY", "OILDEMCO": "BARRELS PER DAY", "OILDEMCR": "BARRELS PER DAY", "OILDEMCU": "BARRELS PER DAY", "OILDEMCY": "BARRELS PER DAY", "OILDEMCZ": "BARRELS PER DAY", "OILDEMDE": "BARRELS PER DAY", "OILDEMDK": "BARRELS PER DAY", "OILDEMDO": "BARRELS PER DAY", "OILDEMDZ": "BARRELS PER DAY", "OILDEMEC": "BARRELS PER DAY", "OILDEMEE": "BARRELS PER DAY", "OILDEMEG": "BARRELS PER DAY", "OILDEMES": "BARRELS PER DAY", "OILDEMFI": "BARRELS PER DAY", "OILDEMFR": "BARRELS PER DAY", "OILDEMGA": "BARRELS PER DAY", "OILDEMGD": "BARRELS PER DAY", "OILDEMGE": "BARRELS PER DAY", "OILDEMGM": "BARRELS PER DAY", "OILDEMGQ": "BARRELS PER DAY", "OILDEMGR": "BARRELS PER DAY", "OILDEMGT": "BARRELS PER DAY", "OILDEMGY": "BARRELS PER DAY", "OILDEMHK": "BARRELS PER DAY", "OILDEMHN": "BARRELS PER DAY", "OILDEMHR": "BARRELS PER DAY", "OILDEMHT": "BARRELS PER DAY", "OILDEMHU": "BARRELS PER DAY", "OILDEMID": "BARRELS PER DAY", "OILDEMIE": "BARRELS PER DAY", "OILDEMIN": "BARRELS PER DAY", "OILDEMIQ": "BARRELS PER DAY", "OILDEMIR": "BARRELS PER DAY", "OILDEMIS": "BARRELS PER DAY", "OILDEMIT": "BARRELS PER DAY", "OILDEMJM": "BARRELS PER DAY", "OILDEMJP": "BARRELS PER DAY", "OILDEMKR": "BARRELS PER DAY", "OILDEMKW": "BARRELS PER DAY", "OILDEMKZ": "BARRELS PER DAY", "OILDEMLT": "BARRELS PER DAY", "OILDEMLU": "BARRELS PER DAY", "OILDEMLV": "BARRELS PER DAY", "OILDEMLY": "BARRELS PER DAY", "OILDEMMA": "BARRELS PER DAY", "OILDEMMD": "BARRELS PER DAY", "OILDEMMK": "BARRELS PER DAY", "OILDEMMM": "BARRELS PER DAY", "OILDEMMT": "BARRELS PER DAY", "OILDEMMU": "BARRELS PER DAY", "OILDEMMX": "BARRELS PER DAY", "OILDEMMY": "BARRELS PER DAY", "OILDEMNE": "BARRELS PER DAY", "OILDEMNG": "BARRELS PER DAY", "OILDEMNI": "BARRELS PER DAY", "OILDEMNL": "BARRELS PER DAY", "OILDEMNO": "BARRELS PER DAY", "OILDEMNP": "BARRELS PER DAY", "OILDEMNZ": "BARRELS PER DAY", "OILDEMOM": "BARRELS PER DAY", "OILDEMPA": "BARRELS PER DAY", "OILDEMPE": "BARRELS PER DAY", "OILDEMPG": "BARRELS PER DAY", "OILDEMPH": "BARRELS PER DAY", "OILDEMPL": "BARRELS PER DAY", "OILDEMPT": "BARRELS PER DAY", "OILDEMPY": "BARRELS PER DAY", "OILDEMQA": "BARRELS PER DAY", "OILDEMRO": "BARRELS PER DAY", "OILDEMRU": "BARRELS PER DAY", "OILDEMSA": "BARRELS PER DAY", "OILDEMSD": "BARRELS PER DAY", "OILDEMSE": "BARRELS PER DAY", "OILDEMSG": "BARRELS PER DAY", "OILDEMSI": "BARRELS PER DAY", "OILDEMSK": "BARRELS PER DAY", "OILDEMSR": "BARRELS PER DAY", "OILDEMSV": "BARRELS PER DAY", "OILDEMSY": "BARRELS PER DAY", "OILDEMSZ": "BARRELS PER DAY", "OILDEMTH": "BARRELS PER DAY", "OILDEMTJ": "BARRELS PER DAY", "OILDEMTN": "BARRELS PER DAY", "OILDEMTR": "BARRELS PER DAY", "OILDEMTT": "BARRELS PER DAY", "OILDEMTW": "BARRELS PER DAY", "OILDEMUA": "BARRELS PER DAY", "OILDEMUK": "BARRELS PER DAY", "OILDEMUS": "BARRELS PER DAY", "OILDEMUY": "BARRELS PER DAY", "OILDEMVE": "BARRELS PER DAY", "OILDEMVN": "BARRELS PER DAY", "OILDEMYE": "BARRELS PER DAY", "OILDEMZA": "BARRELS PER DAY", "OILPRODAE": "BARRELS PER DAY", "OILPRODAL": "BARRELS PER DAY", "OILPRODAM": "BARRELS PER DAY", "OILPRODAO": "BARRELS PER DAY", "OILPRODAR": "BARRELS PER DAY", "OILPRODAT": "BARRELS PER DAY", "OILPRODAU": "BARRELS PER DAY", "OILPRODAZ": "BARRELS PER DAY", "OILPRODBB": "BARRELS PER DAY", "OILPRODBD": "BARRELS PER DAY", "OILPRODBE": "BARRELS PER DAY", "OILPRODBG": "BARRELS PER DAY", "OILPRODBH": "BARRELS PER DAY", "OILPRODBM": "BARRELS PER DAY", "OILPRODBN": "BARRELS PER DAY", "OILPRODBO": "BARRELS PER DAY", "OILPRODBR": "BARRELS PER DAY", "OILPRODBY": "BARRELS PER DAY", "OILPRODBZ": "BARRELS PER DAY", "OILPRODCA": "BARRELS PER DAY", "OILPRODCH": "BARRELS PER DAY", "OILPRODCL": "BARRELS PER DAY", "OILPRODCN": "BARRELS PER DAY", "OILPRODCO": "BARRELS PER DAY", "OILPRODCR": "BARRELS PER DAY", "OILPRODCU": "BARRELS PER DAY", "OILPRODCY": "BARRELS PER DAY", "OILPRODCZ": "BARRELS PER DAY", "OILPRODDE": "BARRELS PER DAY", "OILPRODDK": "BARRELS PER DAY", "OILPRODDO": "BARRELS PER DAY", "OILPRODDZ": "BARRELS PER DAY", "OILPRODEC": "BARRELS PER DAY", "OILPRODEE": "BARRELS PER DAY", "OILPRODEG": "BARRELS PER DAY", "OILPRODES": "BARRELS PER DAY", "OILPRODFI": "BARRELS PER DAY", "OILPRODFR": "BARRELS PER DAY", "OILPRODGA": "BARRELS PER DAY", "OILPRODGD": "BARRELS PER DAY", "OILPRODGE": "BARRELS PER DAY", "OILPRODGM": "BARRELS PER DAY", "OILPRODGQ": "BARRELS PER DAY", "OILPRODGR": "BARRELS PER DAY", "OILPRODGT": "BARRELS PER DAY", "OILPRODGY": "BARRELS PER DAY", "OILPRODHK": "BARRELS PER DAY", "OILPRODHN": "BARRELS PER DAY", "OILPRODHR": "BARRELS PER DAY", "OILPRODHT": "BARRELS PER DAY", "OILPRODHU": "BARRELS PER DAY", "OILPRODID": "BARRELS PER DAY", "OILPRODIE": "BARRELS PER DAY", "OILPRODIN": "BARRELS PER DAY", "OILPRODIQ": "BARRELS PER DAY", "OILPRODIR": "BARRELS PER DAY", "OILPRODIS": "BARRELS PER DAY", "OILPRODIT": "BARRELS PER DAY", "OILPRODJM": "BARRELS PER DAY", "OILPRODJP": "BARRELS PER DAY", "OILPRODKR": "BARRELS PER DAY", "OILPRODKW": "BARRELS PER DAY", "OILPRODKZ": "BARRELS PER DAY", "OILPRODLT": "BARRELS PER DAY", "OILPRODLU": "BARRELS PER DAY", "OILPRODLV": "BARRELS PER DAY", "OILPRODLY": "BARRELS PER DAY", "OILPRODMA": "BARRELS PER DAY", "OILPRODMD": "BARRELS PER DAY", "OILPRODMK": "BARRELS PER DAY", "OILPRODMM": "BARRELS PER DAY", "OILPRODMT": "BARRELS PER DAY", "OILPRODMU": "BARRELS PER DAY", "OILPRODMX": "BARRELS PER DAY", "OILPRODMY": "BARRELS PER DAY", "OILPRODNE": "BARRELS PER DAY", "OILPRODNG": "BARRELS PER DAY", "OILPRODNI": "BARRELS PER DAY", "OILPRODNL": "BARRELS PER DAY", "OILPRODNO": "BARRELS PER DAY", "OILPRODNP": "BARRELS PER DAY", "OILPRODNZ": "BARRELS PER DAY", "OILPRODOM": "BARRELS PER DAY", "OILPRODPA": "BARRELS PER DAY", "OILPRODPE": "BARRELS PER DAY", "OILPRODPG": "BARRELS PER DAY", "OILPRODPH": "BARRELS PER DAY", "OILPRODPL": "BARRELS PER DAY", "OILPRODPT": "BARRELS PER DAY", "OILPRODPY": "BARRELS PER DAY", "OILPRODQA": "BARRELS PER DAY", "OILPRODRO": "BARRELS PER DAY", "OILPRODRU": "BARRELS PER DAY", "OILPRODSA": "BARRELS PER DAY", "OILPRODSD": "BARRELS PER DAY", "OILPRODSE": "BARRELS PER DAY", "OILPRODSG": "BARRELS PER DAY", "OILPRODSI": "BARRELS PER DAY", "OILPRODSK": "BARRELS PER DAY", "OILPRODSR": "BARRELS PER DAY", "OILPRODSV": "BARRELS PER DAY", "OILPRODSY": "BARRELS PER DAY", "OILPRODSZ": "BARRELS PER DAY", "OILPRODTH": "BARRELS PER DAY", "OILPRODTJ": "BARRELS PER DAY", "OILPRODTN": "BARRELS PER DAY", "OILPRODTR": "BARRELS PER DAY", "OILPRODTT": "BARRELS PER DAY", "OILPRODTW": "BARRELS PER DAY", "OILPRODUA": "BARRELS PER DAY", "OILPRODUK": "BARRELS PER DAY", "OILPRODUS": "BARRELS PER DAY", "OILPRODUY": "BARRELS PER DAY", "OILPRODVE": "BARRELS PER DAY", "OILPRODVN": "BARRELS PER DAY", "OILPRODYE": "BARRELS PER DAY", "OILPRODZA": "BARRELS PER DAY", "PALUM": "USD", "PAPPLE": "USD", "PARTCO": "PERCENT", "PARTDO": "PERCENT", "PARTLK": "PERCENT", "PARTNZ": "PERCENT", "PARTTR": "PERCENT", "PBANSOP": "USD", "PBARL": "USD", "PBEEF": "USD", "PCEUS": "INDEX", "PCHANA": "USD", "PCHROM": "USD", "PCOALAU": "USD", "PCOALSA": "USD", "PCOBA": "USD", "PCOCO": "USD", "PCOFFOTM": "USD", "PCOFFROB": "USD", "PCOIL": "USD", "PCOPP": "USD", "PCOTTIND": "USD", "PDAP": "USD", "PFSHMEAL": "USD", "PGASO": "USD", "PGNUTS": "USD", "PGOLD": "USD", "PHEATOIL": "USD", "PHIDE": "USD", "PIORECR": "USD", "PLAMB": "USD", "PLEAD": "USD", "PLITH": "USD", "PLMMODY": "USD", "PLOGORE": "USD", "PLOGSK": "USD", "PMAIZMT": "USD", "PMANGELE": "USD", "PMILK": "USD", "PNGASEU": "USD", "PNGASJP": "USD", "PNGASUS": "USD", "PNICK": "USD", "POATS": "USD", "POILAPSP": "USD", "POILBRE": "USD", "POILDUB": "USD", "POILWTI": "USD", "POLIRAR": "PERCENT", "POLIRAU": "PERCENT", "POLIRAZ": "PERCENT", "POLIRBR": "PERCENT", "POLIRCA": "PERCENT", "POLIRCH": "PERCENT", "POLIRCL": "PERCENT", "POLIRCN": "PERCENT", "POLIRCO": "PERCENT", "POLIRCZ": "PERCENT", "POLIRDK": "PERCENT", "POLIREA": "PERCENT", "POLIRHK": "PERCENT", "POLIRHR": "PERCENT", "POLIRHU": "PERCENT", "POLIRID": "PERCENT", "POLIRIL": "PERCENT", "POLIRIN": "PERCENT", "POLIRIS": "PERCENT", "POLIRJP": "PERCENT", "POLIRKR": "PERCENT", "POLIRMK": "PERCENT", "POLIRMO": "PERCENT", "POLIRMX": "PERCENT", "POLIRMY": "PERCENT", "POLIRNO": "PERCENT", "POLIRNP": "PERCENT", "POLIRNZ": "PERCENT", "POLIRPE": "PERCENT", "POLIRPH": "PERCENT", "POLIRPL": "PERCENT", "POLIRPY": "OTHER NUMBER", "POLIRQA": "PERCENT", "POLIRRO": "PERCENT", "POLIRRS": "PERCENT", "POLIRRU": "PERCENT", "POLIRSA": "PERCENT", "POLIRSE": "PERCENT", "POLIRSG": "PERCENT", "POLIRTH": "PERCENT", "POLIRTN": "PERCENT", "POLIRTR": "PERCENT", "POLIRTW": "PERCENT", "POLIRUA": "PERCENT", "POLIRUK": "PERCENT", "POLIRUS": "PERCENT", "POLIRUZ": "PERCENT", "POLIRZA": "PERCENT", "POLVOIL": "USD", "POPAD": "PERSONS", "POPAE": "PERSONS", "POPAL": "PERSONS", "POPAM": "PERSONS", "POPAR": "PERSONS", "POPAT": "PERSONS", "POPAU": "PERSONS", "POPAZ": "OTHER NUMBER", "POPBD": "PERSONS", "POPBE": "PERSONS", "POPBG": "PERSONS", "POPBO": "PERSONS", "POPBR": "PERSONS", "POPBY": "PERSONS", "POPCA": "PERSONS", "POPCD": "PERSONS", "POPCH": "PERSONS", "POPCL": "PERSONS", "POPCN": "PERSONS", "POPCO": "PERSONS", "POPCR": "PERSONS", "POPCY": "PERSONS", "POPCZ": "PERSONS", "POPDE": "PERSONS", "POPDK": "PERSONS", "POPDO": "PERSONS", "POPDZ": "PERSONS", "POPEC": "PERSONS", "POPEE": "PERSONS", "POPEG": "PERSONS", "POPES": "PERSONS", "POPET": "PERSONS", "POPEU": "PERSONS", "POPFI": "PERSONS", "POPFR": "PERSONS", "POPGE": "PERSONS", "POPGR": "PERSONS", "POPGT": "PERSONS", "POPHK": "PERSONS", "POPHR": "PERSONS", "POPHU": "PERSONS", "POPID": "PERSONS", "POPIE": "PERSONS", "POPIL": "PERSONS", "POPIN": "PERSONS", "POPIQ": "PERSONS", "POPIR": "PERSONS", "POPIS": "PERSONS", "POPIT": "PERSONS", "POPJO": "PERSONS", "POPJP": "PERSONS", "POPKG": "PERSONS", "POPKH": "PERSONS", "POPKR": "PERSONS", "POPKW": "PERSONS", "POPKZ": "PERSONS", "POPLB": "PERSONS", "POPLI": "PERSONS", "POPLK": "PERSONS", "POPLT": "PERSONS", "POPLU": "PERSONS", "POPLV": "PERSONS", "POPLY": "PERSONS", "POPMA": "PERSONS", "POPMD": "PERSONS", "POPME": "PERSONS", "POPMK": "PERSONS", "POPMM": "PERSONS", "POPMO": "PERSONS", "POPMT": "PERSONS", "POPMX": "PERSONS", "POPMY": "PERSONS", "POPNG": "PERSONS", "POPNI": "PERSONS", "POPNL": "PERSONS", "POPNO": "PERSONS", "POPNZ": "PERSONS", "POPPH": "PERSONS", "POPPL": "PERSONS", "POPPT": "PERSONS", "POPPY": "PERSONS", "POPQA": "PERSONS", "POPRO": "PERSONS", "POPRS": "PERSONS", "POPRU": "PERSONS", "POPSA": "PERSONS", "POPSD": "PERSONS", "POPSE": "PERSONS", "POPSG": "PERSONS", "POPSI": "PERSONS", "POPSK": "PERSONS", "POPSM": "PERSONS", "POPSN": "PERSONS", "POPSV": "PERSONS", "POPTH": "PERSONS", "POPTJ": "PERSONS", "POPTM": "PERSONS", "POPTN": "PERSONS", "POPTR": "PERSONS", "POPTW": "PERSONS", "POPUA": "PERSONS", "POPUK": "PERSONS", "POPUS": "PERSONS", "POPUY": "PERSONS", "POPUZ": "PERSONS", "POPVE": "PERSONS", "POPVN": "PERSONS", "POPXK": "PERSONS", "POPZA": "PERSONS", "PORANG": "USD", "PPALLA": "USD", "PPIAL": "INDEX", "PPIAR": "INDEX", "PPIAT": "INDEX", "PPIAU": "INDEX", "PPIBD": "INDEX", "PPIBE": "INDEX", "PPIBG": "INDEX", "PPIBR": "INDEX", "PPIBY": "INDEX", "PPICA": "INDEX", "PPICH": "INDEX", "PPICL": "INDEX", "PPICN": "INDEX", "PPICO": "INDEX", "PPICR": "INDEX", "PPICY": "INDEX", "PPICZ": "INDEX", "PPIDE": "INDEX", "PPIDK": "INDEX", "PPIEE": "INDEX", "PPIEG": "INDEX", "PPIES": "INDEX", "PPIEU": "INDEX", "PPIFI": "INDEX", "PPIFR": "INDEX", "PPIGR": "INDEX", "PPIHK": "INDEX", "PPIHR": "INDEX", "PPIHU": "INDEX", "PPIID": "INDEX", "PPIIE": "INDEX", "PPIIL": "INDEX", "PPIIN": "INDEX", "PPIIT": "INDEX", "PPIJO": "INDEX", "PPIJP": "INDEX", "PPIKR": "INDEX", "PPIKZ": "INDEX", "PPILT": "INDEX", "PPILU": "INDEX", "PPILV": "INDEX", "PPIMA": "INDEX", "PPIME": "INDEX", "PPIMK": "INDEX", "PPIMT": "INDEX", "PPIMX": "INDEX", "PPIMY": "INDEX", "PPINL": "INDEX", "PPINO": "INDEX", "PPIPA": "INDEX", "PPIPE": "INDEX", "PPIPH": "INDEX", "PPIPK": "INDEX", "PPIPL": "INDEX", "PPIPT": "INDEX", "PPIQA": "INDEX", "PPIRO": "INDEX", "PPIRS": "INDEX", "PPIRU": "INDEX", "PPISA": "INDEX", "PPISE": "INDEX", "PPISG": "INDEX", "PPISI": "INDEX", "PPISK": "INDEX", "PPISV": "INDEX", "PPITH": "INDEX", "PPITN": "INDEX", "PPITR": "INDEX", "PPITW": "INDEX", "PPIUA": "INDEX", "PPIUK": "INDEX", "PPIUS": "INDEX", "PPIUY": "INDEX", "PPIVN": "INDEX", "PPIZA": "INDEX", "PPLAT": "USD", "PPOIL": "USD", "PPORK": "USD", "PPOTASH": "USD", "PPOULT": "USD", "PPROPANE": "USD", "PRCAE": "DOMESTIC", "PRCAR": "DOMESTIC", "PRCAT": "DOMESTIC", "PRCAU": "DOMESTIC", "PRCAZ": "DOMESTIC", "PRCBD": "DOMESTIC", "PRCBE": "DOMESTIC", "PRCBG": "DOMESTIC", "PRCBR": "DOMESTIC", "PRCBW": "DOMESTIC", "PRCBY": "DOMESTIC", "PRCCA": "DOMESTIC", "PRCCH": "DOMESTIC", "PRCCL": "DOMESTIC", "PRCCN": "DOMESTIC", "PRCCO": "DOMESTIC", "PRCCY": "DOMESTIC", "PRCCZ": "DOMESTIC", "PRCDE": "DOMESTIC", "PRCDK": "DOMESTIC", "PRCEA": "DOMESTIC", "PRCEE": "DOMESTIC", "PRCES": "DOMESTIC", "PRCEU": "DOMESTIC", "PRCFI": "DOMESTIC", "PRCFR": "DOMESTIC", "PRCGR": "DOMESTIC", "PRCHK": "DOMESTIC", "PRCHR": "DOMESTIC", "PRCHU": "DOMESTIC", "PRCID": "DOMESTIC", "PRCIE": "DOMESTIC", "PRCIL": "DOMESTIC", "PRCIN": "DOMESTIC", "PRCIR": "DOMESTIC", "PRCIT": "DOMESTIC", "PRCJP": "DOMESTIC", "PRCKR": "DOMESTIC", "PRCKZ": "DOMESTIC", "PRCLT": "DOMESTIC", "PRCLU": "DOMESTIC", "PRCLV": "DOMESTIC", "PRCMA": "DOMESTIC", "PRCME": "DOMESTIC", "PRCMK": "DOMESTIC", "PRCMN": "DOMESTIC", "PRCMT": "DOMESTIC", "PRCMX": "DOMESTIC", "PRCMY": "DOMESTIC", "PRCNG": "DOMESTIC", "PRCNL": "DOMESTIC", "PRCNO": "DOMESTIC", "PRCNZ": "DOMESTIC", "PRCPE": "DOMESTIC", "PRCPH": "DOMESTIC", "PRCPK": "DOMESTIC", "PRCPL": "DOMESTIC", "PRCPT": "DOMESTIC", "PRCQA": "DOMESTIC", "PRCRO": "DOMESTIC", "PRCRS": "DOMESTIC", "PRCRU": "DOMESTIC", "PRCSA": "DOMESTIC", "PRCSE": "DOMESTIC", "PRCSG": "DOMESTIC", "PRCSI": "DOMESTIC", "PRCSK": "DOMESTIC", "PRCTH": "DOMESTIC", "PRCTR": "DOMESTIC", "PRCTW": "DOMESTIC", "PRCUA": "DOMESTIC", "PRCUK": "DOMESTIC", "PRCUS": "DOMESTIC", "PRCVN": "DOMESTIC", "PRCZA": "DOMESTIC", "PREODOM": "USD", "PRICENPQ": "USD", "PRIDEBTBG": "PERCENT", "PRIDEBTCY": "PERCENT", "PRIDEBTEE": "PERCENT", "PRIDEBTHR": "PERCENT", "PRIDEBTLT": "PERCENT", "PRIDEBTLV": "PERCENT", "PRIDEBTMT": "PERCENT", "PRIDEBTRO": "PERCENT", "PRIDEBTSI": "PERCENT", "PRIDEBTSK": "PERCENT", "PROIL": "USD", "PRUBB": "USD", "PSALM": "USD", "PSAWMAL": "USD", "PSAWORE": "USD", "PSHRI": "USD", "PSILLUMP": "USD", "PSILVER": "USD", "PSMEA": "USD", "PSOIL": "USD", "PSORG": "USD", "PSOYB": "USD", "PSUGAISA": "USD", "PSUGAUSA": "USD", "PSUNO": "USD", "PTEA": "USD", "PTEAINDIA": "USD", "PTEAMOM": "USD", "PTEASL": "USD", "PTIN": "USD", "PTOMATO": "USD", "PUCAE": "DOMESTIC", "PUCAL": "DOMESTIC", "PUCAR": "DOMESTIC", "PUCAT": "DOMESTIC", "PUCAU": "DOMESTIC", "PUCAZ": "DOMESTIC", "PUCBD": "DOMESTIC", "PUCBE": "DOMESTIC", "PUCBG": "DOMESTIC", "PUCBR": "DOMESTIC", "PUCBW": "DOMESTIC", "PUCBY": "DOMESTIC", "PUCCA": "DOMESTIC", "PUCCH": "DOMESTIC", "PUCCL": "DOMESTIC", "PUCCM": "DOMESTIC", "PUCCN": "DOMESTIC", "PUCCO": "DOMESTIC", "PUCCY": "DOMESTIC", "PUCCZ": "DOMESTIC", "PUCDE": "DOMESTIC", "PUCDK": "DOMESTIC", "PUCEA": "DOMESTIC", "PUCEE": "DOMESTIC", "PUCES": "DOMESTIC", "PUCEU": "DOMESTIC", "PUCFI": "DOMESTIC", "PUCFR": "DOMESTIC", "PUCGR": "DOMESTIC", "PUCHK": "DOMESTIC", "PUCHR": "DOMESTIC", "PUCHU": "DOMESTIC", "PUCID": "DOMESTIC", "PUCIE": "DOMESTIC", "PUCIL": "DOMESTIC", "PUCIN": "DOMESTIC", "PUCIR": "DOMESTIC", "PUCIT": "DOMESTIC", "PUCJP": "DOMESTIC", "PUCKR": "DOMESTIC", "PUCKZ": "DOMESTIC", "PUCLT": "DOMESTIC", "PUCLU": "DOMESTIC", "PUCLV": "DOMESTIC", "PUCMA": "DOMESTIC", "PUCME": "DOMESTIC", "PUCMK": "DOMESTIC", "PUCMT": "DOMESTIC", "PUCMX": "DOMESTIC", "PUCMY": "DOMESTIC", "PUCNG": "DOMESTIC", "PUCNL": "DOMESTIC", "PUCNO": "DOMESTIC", "PUCNZ": "DOMESTIC", "PUCPE": "DOMESTIC", "PUCPH": "DOMESTIC", "PUCPK": "DOMESTIC", "PUCPL": "DOMESTIC", "PUCPT": "DOMESTIC", "PUCQA": "DOMESTIC", "PUCRO": "DOMESTIC", "PUCRS": "DOMESTIC", "PUCRU": "DOMESTIC", "PUCSA": "DOMESTIC", "PUCSE": "DOMESTIC", "PUCSG": "DOMESTIC", "PUCSI": "DOMESTIC", "PUCSK": "DOMESTIC", "PUCTH": "DOMESTIC", "PUCTR": "DOMESTIC", "PUCTW": "DOMESTIC", "PUCUA": "DOMESTIC", "PUCUK": "DOMESTIC", "PUCUS": "DOMESTIC", "PUCVN": "DOMESTIC", "PUCZA": "DOMESTIC", "PURAN": "USD", "PUREA": "USD", "PVANPENT": "USD", "PWHEAMT": "USD", "PWOOLC": "USD", "PWOOLF": "USD", "PZINC": "USD", "RCIAE": "DOMESTIC", "RCIAR": "DOMESTIC", "RCIAU": "DOMESTIC", "RCIAZ": "DOMESTIC", "RCIBW": "DOMESTIC", "RCIBY": "DOMESTIC", "RCICN": "DOMESTIC", "RCIHK": "DOMESTIC", "RCIIN": "DOMESTIC", "RCIIR": "DOMESTIC", "RCIKH": "DOMESTIC", "RCIKR": "DOMESTIC", "RCIMN": "DOMESTIC", "RCIMO": "DOMESTIC", "RCIMY": "DOMESTIC", "RCING": "DOMESTIC", "RCINO": null, "RCINZ": "DOMESTIC", "RCIPA": "DOMESTIC", "RCIPH": "DOMESTIC", "RCIPK": "DOMESTIC", "RCISA": "DOMESTIC", "RCISG": "DOMESTIC", "RCITH": "DOMESTIC", "RCITW": "DOMESTIC", "RCIUA": "DOMESTIC", "RCIUK": "DOMESTIC", "RCIUS": "DOMESTIC", "RCIVN": "DOMESTIC", "RCIZA": "DOMESTIC", "RCONAE": "DOMESTIC", "RCONAL": "DOMESTIC", "RCONAT": "DOMESTIC", "RCONBA": "DOMESTIC", "RCONBD": "DOMESTIC", "RCONBE": "DOMESTIC", "RCONBG": "DOMESTIC", "RCONBY": "DOMESTIC", "RCONCA": "DOMESTIC", "RCONCH": "DOMESTIC", "RCONCL": "USD", "RCONCY": "DOMESTIC", "RCONCZ": "DOMESTIC", "RCONDE": "DOMESTIC", "RCONDK": "DOMESTIC", "RCONEA": "DOMESTIC", "RCONEE": "DOMESTIC", "RCONES": "DOMESTIC", "RCONEU": "DOMESTIC", "RCONFI": "DOMESTIC", "RCONFR": "DOMESTIC", "RCONGR": "DOMESTIC", "RCONHR": "DOMESTIC", "RCONHU": "DOMESTIC", "RCONIE": "DOMESTIC", "RCONIT": "DOMESTIC", "RCONKR": "DOMESTIC", "RCONLT": "DOMESTIC", "RCONLU": "DOMESTIC", "RCONLV": "DOMESTIC", "RCONMK": "DOMESTIC", "RCONMT": "DOMESTIC", "RCONMX": "DOMESTIC", "RCONNL": "DOMESTIC", "RCONNO": "DOMESTIC", "RCONPL": "DOMESTIC", "RCONPT": "DOMESTIC", "RCONRO": "DOMESTIC", "RCONRS": "DOMESTIC", "RCONSE": "DOMESTIC", "RCONSI": "DOMESTIC", "RCONSK": "DOMESTIC", "RCONTH": "DOMESTIC", "RCONUA": "DOMESTIC", "RCONUK": "DOMESTIC", "REERAE": "INDEX", "REERAR": "INDEX", "REERAT": "INDEX", "REERAU": "INDEX", "REERAZ": "INDEX", "REERBE": "INDEX", "REERBG": "INDEX", "REERBR": "INDEX", "REERCA": "INDEX", "REERCH": "INDEX", "REERCL": "INDEX", "REERCN": "INDEX", "REERCO": "INDEX", "REERCY": "INDEX", "REERCZ": "INDEX", "REERDE": "INDEX", "REERDK": "INDEX", "REERDZ": "INDEX", "REEREA": "INDEX", "REEREE": "INDEX", "REERES": "INDEX", "REERFI": "INDEX", "REERFR": "INDEX", "REERGR": "INDEX", "REERHK": "INDEX", "REERHR": "INDEX", "REERHU": "INDEX", "REERID": "INDEX", "REERIE": "INDEX", "REERIL": "INDEX", "REERIN": "INDEX", "REERIS": "INDEX", "REERIT": "INDEX", "REERJP": "INDEX", "REERKR": "INDEX", "REERLT": "INDEX", "REERLU": "INDEX", "REERLV": "INDEX", "REERMT": "INDEX", "REERMX": "INDEX", "REERMY": "INDEX", "REERNL": "INDEX", "REERNO": "INDEX", "REERNZ": "INDEX", "REERPE": "INDEX", "REERPH": "INDEX", "REERPL": "INDEX", "REERPT": "INDEX", "REERPY": "INDEX", "REERRO": "INDEX", "REERRS": "INDEX", "REERRU": "INDEX", "REERSA": "INDEX", "REERSE": "INDEX", "REERSG": "INDEX", "REERSI": "INDEX", "REERSK": "INDEX", "REERTH": "INDEX", "REERTR": "INDEX", "REERTW": "INDEX", "REERUK": "INDEX", "REERUS": "INDEX", "REERZA": "INDEX", "RETAAL": "INDEX", "RETAAR": "DOMESTIC", "RETAAT": "INDEX", "RETAAU": "DOMESTIC", "RETAAZ": "INDEX", "RETABA": "INDEX", "RETABE": "INDEX", "RETABG": "INDEX", "RETABR": "INDEX", "RETACA": "DOMESTIC", "RETACH": "INDEX", "RETACN": "DOMESTIC", "RETACO": "INDEX", "RETACY": "INDEX", "RETACZ": "INDEX", "RETADE": "INDEX", "RETADK": "INDEX", "RETAEE": "INDEX", "RETAES": "INDEX", "RETAEU": "INDEX", "RETAFI": "INDEX", "RETAFR": "INDEX", "RETAGR": "INDEX", "RETAHK": "INDEX", "RETAHR": "INDEX", "RETAHU": "INDEX", "RETAID": "INDEX", "RETAIE": "INDEX", "RETAIL": "INDEX", "RETAIR": "DOMESTIC", "RETAIT": "INDEX", "RETAJP": "INDEX", "RETAKR": "INDEX", "RETALT": "INDEX", "RETALU": "INDEX", "RETALV": "INDEX", "RETAME": "INDEX", "RETAMK": "INDEX", "RETAMT": "INDEX", "RETAMX": "INDEX", "RETAMY": "INDEX", "RETANL": "INDEX", "RETANO": "INDEX", "RETANZ": "DOMESTIC", "RETAPL": "INDEX", "RETAPT": "INDEX", "RETARO": "INDEX", "RETARS": "INDEX", "RETARU": "INDEX", "RETASE": "INDEX", "RETASG": "INDEX", "RETASI": "INDEX", "RETASK": "INDEX", "RETATH": "INDEX", "RETATR": "INDEX", "RETATW": "INDEX", "RETAUK": "INDEX", "RETAUS": "INDEX", "RETAVN": "INDEX", "RETAZA": "INDEX", "REXPAE": "DOMESTIC", "REXPAL": "DOMESTIC", "REXPAR": "DOMESTIC", "REXPAT": "DOMESTIC", "REXPAU": "DOMESTIC", "REXPAZ": "DOMESTIC", "REXPBA": "DOMESTIC", "REXPBD": "DOMESTIC", "REXPBE": "DOMESTIC", "REXPBG": "DOMESTIC", "REXPBR": "DOMESTIC", "REXPBW": "DOMESTIC", "REXPBY": "DOMESTIC", "REXPCA": "DOMESTIC", "REXPCH": "DOMESTIC", "REXPCL": "DOMESTIC", "REXPCN": "DOMESTIC", "REXPCO": "DOMESTIC", "REXPCY": "DOMESTIC", "REXPCZ": "DOMESTIC", "REXPDE": "DOMESTIC", "REXPDK": "DOMESTIC", "REXPEA": "DOMESTIC", "REXPEE": "DOMESTIC", "REXPES": "DOMESTIC", "REXPEU": "DOMESTIC", "REXPFI": "DOMESTIC", "REXPFR": "DOMESTIC", "REXPGR": "DOMESTIC", "REXPHK": "DOMESTIC", "REXPHN": "DOMESTIC", "REXPHR": "DOMESTIC", "REXPHU": "DOMESTIC", "REXPID": "DOMESTIC", "REXPIE": "DOMESTIC", "REXPIL": "DOMESTIC", "REXPIN": "DOMESTIC", "REXPIR": "DOMESTIC", "REXPIT": "DOMESTIC", "REXPJP": "DOMESTIC", "REXPKH": "DOMESTIC", "REXPKR": "DOMESTIC", "REXPLT": "DOMESTIC", "REXPLU": "DOMESTIC", "REXPLV": "DOMESTIC", "REXPMA": "DOMESTIC", "REXPMK": "DOMESTIC", "REXPMN": "DOMESTIC", "REXPMO": "DOMESTIC", "REXPMT": "DOMESTIC", "REXPMX": "DOMESTIC", "REXPMY": "DOMESTIC", "REXPNG": "DOMESTIC", "REXPNL": "DOMESTIC", "REXPNO": "DOMESTIC", "REXPNZ": "DOMESTIC", "REXPPA": "DOMESTIC", "REXPPE": "DOMESTIC", "REXPPH": "DOMESTIC", "REXPPK": "DOMESTIC", "REXPPL": "DOMESTIC", "REXPPT": "DOMESTIC", "REXPRO": "DOMESTIC", "REXPRS": "DOMESTIC", "REXPRU": "DOMESTIC", "REXPRW": "DOMESTIC", "REXPSA": "DOMESTIC", "REXPSE": "DOMESTIC", "REXPSG": "DOMESTIC", "REXPSI": "DOMESTIC", "REXPSK": "DOMESTIC", "REXPTH": "DOMESTIC", "REXPTR": "DOMESTIC", "REXPTW": "DOMESTIC", "REXPUA": "DOMESTIC", "REXPUK": "DOMESTIC", "REXPUS": "DOMESTIC", "REXPUZ": "DOMESTIC", "REXPZA": "DOMESTIC", "RGCFAT": "DOMESTIC", "RGCFBA": "DOMESTIC", "RGCFBE": "DOMESTIC", "RGCFBG": "DOMESTIC", "RGCFBY": "DOMESTIC", "RGCFCH": "DOMESTIC", "RGCFCO": "DOMESTIC", "RGCFCY": "DOMESTIC", "RGCFCZ": "DOMESTIC", "RGCFDE": "DOMESTIC", "RGCFDK": "DOMESTIC", "RGCFEA": "DOMESTIC", "RGCFEE": "DOMESTIC", "RGCFES": "DOMESTIC", "RGCFEU": "DOMESTIC", "RGCFFI": "DOMESTIC", "RGCFFR": "DOMESTIC", "RGCFGR": "DOMESTIC", "RGCFHR": "DOMESTIC", "RGCFHU": "DOMESTIC", "RGCFIE": "DOMESTIC", "RGCFIT": "DOMESTIC", "RGCFKR": "DOMESTIC", "RGCFLT": "DOMESTIC", "RGCFLU": "DOMESTIC", "RGCFLV": "DOMESTIC", "RGCFMK": "DOMESTIC", "RGCFMT": "DOMESTIC", "RGCFNL": "DOMESTIC", "RGCFNO": "DOMESTIC", "RGCFNZ": "DOMESTIC", "RGCFPE": "DOMESTIC", "RGCFPK": "DOMESTIC", "RGCFPL": "DOMESTIC", "RGCFPT": "DOMESTIC", "RGCFRO": "DOMESTIC", "RGCFRS": "DOMESTIC", "RGCFRU": "DOMESTIC", "RGCFRW": "DOMESTIC", "RGCFSE": "DOMESTIC", "RGCFSI": "DOMESTIC", "RGCFSK": "DOMESTIC", "RGCFUA": "DOMESTIC", "RGCFUK": "DOMESTIC", "RGDPAE": "DOMESTIC", "RGDPAL": "DOMESTIC", "RGDPAR": "DOMESTIC", "RGDPAT": "DOMESTIC", "RGDPAU": "DOMESTIC", "RGDPAZ": "DOMESTIC", "RGDPBA": "DOMESTIC", "RGDPBD": "DOMESTIC", "RGDPBE": "DOMESTIC", "RGDPBG": "DOMESTIC", "RGDPBR": "DOMESTIC", "RGDPBW": "DOMESTIC", "RGDPBY": "DOMESTIC", "RGDPCA": "DOMESTIC", "RGDPCH": "DOMESTIC", "RGDPCL": "DOMESTIC", "RGDPCM": "DOMESTIC", "RGDPCN": "DOMESTIC", "RGDPCO": "DOMESTIC", "RGDPCR": "DOMESTIC", "RGDPCY": "DOMESTIC", "RGDPCZ": "DOMESTIC", "RGDPDE": "DOMESTIC", "RGDPDK": "DOMESTIC", "RGDPEA": "DOMESTIC", "RGDPEE": "DOMESTIC", "RGDPEG": "DOMESTIC", "RGDPES": "DOMESTIC", "RGDPEU": "DOMESTIC", "RGDPFI": "DOMESTIC", "RGDPFR": "DOMESTIC", "RGDPGR": "DOMESTIC", "RGDPHK": "DOMESTIC", "RGDPHN": "DOMESTIC", "RGDPHR": "DOMESTIC", "RGDPHU": "DOMESTIC", "RGDPID": "DOMESTIC", "RGDPIE": "DOMESTIC", "RGDPIL": "DOMESTIC", "RGDPIN": "DOMESTIC", "RGDPIR": "DOMESTIC", "RGDPIT": "DOMESTIC", "RGDPJO": "DOMESTIC", "RGDPJP": "DOMESTIC", "RGDPKH": "DOMESTIC", "RGDPKR": "DOMESTIC", "RGDPKZ": "DOMESTIC", "RGDPLA": "DOMESTIC", "RGDPLT": "DOMESTIC", "RGDPLU": "DOMESTIC", "RGDPLV": "DOMESTIC", "RGDPMA": "DOMESTIC", "RGDPMK": "DOMESTIC", "RGDPMN": "DOMESTIC", "RGDPMO": "DOMESTIC", "RGDPMT": "DOMESTIC", "RGDPMX": "DOMESTIC", "RGDPMY": "DOMESTIC", "RGDPNG": "DOMESTIC", "RGDPNL": "DOMESTIC", "RGDPNO": "DOMESTIC", "RGDPNZ": "DOMESTIC", "RGDPPA": "DOMESTIC", "RGDPPCAL": "VOLUME", "RGDPPCAT": "VOLUME", "RGDPPCAU": "DOMESTIC", "RGDPPCBE": "VOLUME", "RGDPPCBG": "VOLUME", "RGDPPCBR": "INDEX", "RGDPPCCH": "VOLUME", "RGDPPCCY": "VOLUME", "RGDPPCCZ": "VOLUME", "RGDPPCDE": "VOLUME", "RGDPPCDK": "VOLUME", "RGDPPCEA": "VOLUME", "RGDPPCEE": "VOLUME", "RGDPPCES": "VOLUME", "RGDPPCEU": "VOLUME", "RGDPPCFI": "VOLUME", "RGDPPCFR": "VOLUME", "RGDPPCGR": "VOLUME", "RGDPPCHR": "VOLUME", "RGDPPCHU": "VOLUME", "RGDPPCIE": "VOLUME", "RGDPPCIS": "VOLUME", "RGDPPCIT": "VOLUME", "RGDPPCLT": "VOLUME", "RGDPPCLU": "VOLUME", "RGDPPCLV": "VOLUME", "RGDPPCME": "VOLUME", "RGDPPCMK": "VOLUME", "RGDPPCMT": "VOLUME", "RGDPPCNL": "VOLUME", "RGDPPCNO": "VOLUME", "RGDPPCNZ": "DOMESTIC", "RGDPPCPL": "VOLUME", "RGDPPCPT": "VOLUME", "RGDPPCRO": "VOLUME", "RGDPPCRS": "VOLUME", "RGDPPCSE": "VOLUME", "RGDPPCSI": "VOLUME", "RGDPPCSK": "VOLUME", "RGDPPCTR": "VOLUME", "RGDPPCUS": "DOMESTIC", "RGDPPE": "DOMESTIC", "RGDPPH": "DOMESTIC", "RGDPPK": "DOMESTIC", "RGDPPL": "DOMESTIC", "RGDPPT": "DOMESTIC", "RGDPQA": "DOMESTIC", "RGDPRO": "DOMESTIC", "RGDPRS": "DOMESTIC", "RGDPRU": "DOMESTIC", "RGDPRW": "DOMESTIC", "RGDPSA": "DOMESTIC", "RGDPSE": "DOMESTIC", "RGDPSG": "DOMESTIC", "RGDPSI": "DOMESTIC", "RGDPSK": "DOMESTIC", "RGDPTH": "DOMESTIC", "RGDPTN": "DOMESTIC", "RGDPTR": "DOMESTIC", "RGDPTW": "DOMESTIC", "RGDPUA": "DOMESTIC", "RGDPUK": "DOMESTIC", "RGDPUS": "DOMESTIC", "RGDPUY": "DOMESTIC", "RGDPUZ": "DOMESTIC", "RGDPVN": "DOMESTIC", "RGDPZA": "DOMESTIC", "RGFCFAE": "DOMESTIC", "RGFCFAL": "DOMESTIC", "RGFCFAR": "DOMESTIC", "RGFCFAT": "DOMESTIC", "RGFCFAU": "DOMESTIC", "RGFCFAZ": "DOMESTIC", "RGFCFBA": "DOMESTIC", "RGFCFBD": "DOMESTIC", "RGFCFBE": "DOMESTIC", "RGFCFBG": "DOMESTIC", "RGFCFBR": "DOMESTIC", "RGFCFBW": "DOMESTIC", "RGFCFBY": "DOMESTIC", "RGFCFCA": "DOMESTIC", "RGFCFCH": "DOMESTIC", "RGFCFCL": "DOMESTIC", "RGFCFCN": "INDEX", "RGFCFCO": "DOMESTIC", "RGFCFCR": "DOMESTIC", "RGFCFCY": "DOMESTIC", "RGFCFCZ": "DOMESTIC", "RGFCFDE": "DOMESTIC", "RGFCFDK": "DOMESTIC", "RGFCFEA": "DOMESTIC", "RGFCFEE": "DOMESTIC", "RGFCFES": "DOMESTIC", "RGFCFEU": "DOMESTIC", "RGFCFFI": "DOMESTIC", "RGFCFFR": "DOMESTIC", "RGFCFGR": "DOMESTIC", "RGFCFHK": "DOMESTIC", "RGFCFHN": "DOMESTIC", "RGFCFHR": "DOMESTIC", "RGFCFHU": "DOMESTIC", "RGFCFID": "DOMESTIC", "RGFCFIE": "DOMESTIC", "RGFCFIL": "DOMESTIC", "RGFCFIN": "DOMESTIC", "RGFCFIR": "DOMESTIC", "RGFCFIT": "DOMESTIC", "RGFCFJP": "DOMESTIC", "RGFCFKH": "DOMESTIC", "RGFCFKR": "DOMESTIC", "RGFCFLT": "DOMESTIC", "RGFCFLU": "DOMESTIC", "RGFCFLV": "DOMESTIC", "RGFCFMA": "DOMESTIC", "RGFCFMN": "DOMESTIC", "RGFCFMO": "DOMESTIC", "RGFCFMT": "DOMESTIC", "RGFCFMX": "DOMESTIC", "RGFCFMY": "DOMESTIC", "RGFCFNG": "DOMESTIC", "RGFCFNL": "DOMESTIC", "RGFCFNO": "DOMESTIC", "RGFCFNZ": "DOMESTIC", "RGFCFPH": "DOMESTIC", "RGFCFPK": "DOMESTIC", "RGFCFPL": "DOMESTIC", "RGFCFPT": "DOMESTIC", "RGFCFRO": "DOMESTIC", "RGFCFRS": "DOMESTIC", "RGFCFRU": "DOMESTIC", "RGFCFSA": "DOMESTIC", "RGFCFSE": "DOMESTIC", "RGFCFSG": "DOMESTIC", "RGFCFSI": "DOMESTIC", "RGFCFSK": "DOMESTIC", "RGFCFTH": "DOMESTIC", "RGFCFTR": "DOMESTIC", "RGFCFTW": "DOMESTIC", "RGFCFUA": "DOMESTIC", "RGFCFUK": "DOMESTIC", "RGFCFUS": "DOMESTIC", "RGFCFVN": "DOMESTIC", "RGFCFZA": "DOMESTIC", "RIMPAE": "DOMESTIC", "RIMPAL": "DOMESTIC", "RIMPAR": "DOMESTIC", "RIMPAT": "DOMESTIC", "RIMPAU": "DOMESTIC", "RIMPAZ": "DOMESTIC", "RIMPBA": "DOMESTIC", "RIMPBD": "DOMESTIC", "RIMPBE": "DOMESTIC", "RIMPBG": "DOMESTIC", "RIMPBR": "DOMESTIC", "RIMPBW": "DOMESTIC", "RIMPBY": "DOMESTIC", "RIMPCA": "DOMESTIC", "RIMPCH": "DOMESTIC", "RIMPCL": "DOMESTIC", "RIMPCN": "DOMESTIC", "RIMPCO": "DOMESTIC", "RIMPCY": "DOMESTIC", "RIMPCZ": "DOMESTIC", "RIMPDE": "DOMESTIC", "RIMPDK": "DOMESTIC", "RIMPEA": "DOMESTIC", "RIMPEE": "DOMESTIC", "RIMPES": "DOMESTIC", "RIMPEU": "DOMESTIC", "RIMPFI": "DOMESTIC", "RIMPFR": "DOMESTIC", "RIMPGR": "DOMESTIC", "RIMPHK": "DOMESTIC", "RIMPHN": "DOMESTIC", "RIMPHR": "DOMESTIC", "RIMPHU": "DOMESTIC", "RIMPID": "DOMESTIC", "RIMPIE": "DOMESTIC", "RIMPIL": "DOMESTIC", "RIMPIN": "DOMESTIC", "RIMPIR": "DOMESTIC", "RIMPIT": "DOMESTIC", "RIMPJP": "DOMESTIC", "RIMPKH": "DOMESTIC", "RIMPKR": "DOMESTIC", "RIMPLT": "DOMESTIC", "RIMPLU": "DOMESTIC", "RIMPLV": "DOMESTIC", "RIMPMA": "DOMESTIC", "RIMPMK": "DOMESTIC", "RIMPMN": "DOMESTIC", "RIMPMO": "DOMESTIC", "RIMPMT": "DOMESTIC", "RIMPMX": "DOMESTIC", "RIMPMY": "DOMESTIC", "RIMPNG": "DOMESTIC", "RIMPNL": "DOMESTIC", "RIMPNO": "DOMESTIC", "RIMPNZ": "DOMESTIC", "RIMPPA": "DOMESTIC", "RIMPPE": "DOMESTIC", "RIMPPH": "DOMESTIC", "RIMPPK": "DOMESTIC", "RIMPPL": "DOMESTIC", "RIMPPT": "DOMESTIC", "RIMPRO": "DOMESTIC", "RIMPRS": "DOMESTIC", "RIMPRU": "DOMESTIC", "RIMPRW": "DOMESTIC", "RIMPSA": "DOMESTIC", "RIMPSE": "DOMESTIC", "RIMPSG": "DOMESTIC", "RIMPSI": "DOMESTIC", "RIMPSK": "DOMESTIC", "RIMPTH": "DOMESTIC", "RIMPTR": "DOMESTIC", "RIMPTW": "DOMESTIC", "RIMPUA": "DOMESTIC", "RIMPUK": "DOMESTIC", "RIMPUS": "DOMESTIC", "RIMPUZ": "DOMESTIC", "RIMPZA": "DOMESTIC", "RPRCAE": "DOMESTIC", "RPRCAR": "DOMESTIC", "RPRCAT": "DOMESTIC", "RPRCAU": "DOMESTIC", "RPRCAZ": "DOMESTIC", "RPRCBA": "DOMESTIC", "RPRCBD": "DOMESTIC", "RPRCBE": "DOMESTIC", "RPRCBG": "DOMESTIC", "RPRCBR": "DOMESTIC", "RPRCBY": "DOMESTIC", "RPRCCA": "DOMESTIC", "RPRCCH": "DOMESTIC", "RPRCCL": "DOMESTIC", "RPRCCN": "DOMESTIC", "RPRCCO": "DOMESTIC", "RPRCCR": "DOMESTIC", "RPRCCY": "DOMESTIC", "RPRCCZ": "DOMESTIC", "RPRCDE": "DOMESTIC", "RPRCDK": "DOMESTIC", "RPRCEA": "DOMESTIC", "RPRCEE": "DOMESTIC", "RPRCES": "DOMESTIC", "RPRCEU": "DOMESTIC", "RPRCFI": "DOMESTIC", "RPRCFR": "DOMESTIC", "RPRCGR": "DOMESTIC", "RPRCHK": "DOMESTIC", "RPRCHN": "DOMESTIC", "RPRCHR": "DOMESTIC", "RPRCHU": "DOMESTIC", "RPRCID": "DOMESTIC", "RPRCIE": "DOMESTIC", "RPRCIL": "DOMESTIC", "RPRCIN": "DOMESTIC", "RPRCIR": "DOMESTIC", "RPRCIT": "DOMESTIC", "RPRCJP": "DOMESTIC", "RPRCKH": "DOMESTIC", "RPRCKR": "DOMESTIC", "RPRCLT": "DOMESTIC", "RPRCLU": "DOMESTIC", "RPRCLV": "DOMESTIC", "RPRCMA": "DOMESTIC", "RPRCMK": "DOMESTIC", "RPRCMO": "DOMESTIC", "RPRCMT": "DOMESTIC", "RPRCMX": "DOMESTIC", "RPRCMY": "DOMESTIC", "RPRCNG": "DOMESTIC", "RPRCNL": "DOMESTIC", "RPRCNO": "DOMESTIC", "RPRCNZ": "DOMESTIC", "RPRCPE": "DOMESTIC", "RPRCPH": "DOMESTIC", "RPRCPK": "DOMESTIC", "RPRCPL": "DOMESTIC", "RPRCPT": "DOMESTIC", "RPRCRO": "DOMESTIC", "RPRCRS": "DOMESTIC", "RPRCRU": "DOMESTIC", "RPRCRW": "DOMESTIC", "RPRCSA": "DOMESTIC", "RPRCSE": "DOMESTIC", "RPRCSG": "DOMESTIC", "RPRCSI": "DOMESTIC", "RPRCSK": "DOMESTIC", "RPRCTH": "DOMESTIC", "RPRCTR": "DOMESTIC", "RPRCTW": "DOMESTIC", "RPRCUA": "DOMESTIC", "RPRCUK": "DOMESTIC", "RPRCUS": "DOMESTIC", "RPRCUZ": "DOMESTIC", "RPRCVN": "DOMESTIC", "RPRCZA": "DOMESTIC", "RPUCAE": "DOMESTIC", "RPUCAL": "DOMESTIC", "RPUCAR": "DOMESTIC", "RPUCAT": "DOMESTIC", "RPUCAU": "DOMESTIC", "RPUCAZ": "DOMESTIC", "RPUCBA": "DOMESTIC", "RPUCBD": "DOMESTIC", "RPUCBE": "DOMESTIC", "RPUCBG": "DOMESTIC", "RPUCBR": "DOMESTIC", "RPUCBW": "DOMESTIC", "RPUCBY": "DOMESTIC", "RPUCCA": "DOMESTIC", "RPUCCH": "DOMESTIC", "RPUCCL": "DOMESTIC", "RPUCCN": "DOMESTIC", "RPUCCO": "DOMESTIC", "RPUCCR": "DOMESTIC", "RPUCCY": "DOMESTIC", "RPUCCZ": "DOMESTIC", "RPUCDE": "DOMESTIC", "RPUCDK": "DOMESTIC", "RPUCEA": "DOMESTIC", "RPUCEE": "DOMESTIC", "RPUCES": "DOMESTIC", "RPUCEU": "DOMESTIC", "RPUCFI": "DOMESTIC", "RPUCFR": "DOMESTIC", "RPUCGR": "DOMESTIC", "RPUCHK": "DOMESTIC", "RPUCHN": "DOMESTIC", "RPUCHR": "DOMESTIC", "RPUCHU": "DOMESTIC", "RPUCID": "DOMESTIC", "RPUCIE": "DOMESTIC", "RPUCIL": "DOMESTIC", "RPUCIN": "DOMESTIC", "RPUCIR": "DOMESTIC", "RPUCIT": "DOMESTIC", "RPUCJP": "DOMESTIC", "RPUCKH": "DOMESTIC", "RPUCKR": "DOMESTIC", "RPUCLT": "DOMESTIC", "RPUCLU": "DOMESTIC", "RPUCLV": "DOMESTIC", "RPUCMA": "DOMESTIC", "RPUCMK": "DOMESTIC", "RPUCMN": "DOMESTIC", "RPUCMO": "DOMESTIC", "RPUCMT": "DOMESTIC", "RPUCMX": "DOMESTIC", "RPUCMY": "DOMESTIC", "RPUCNG": "DOMESTIC", "RPUCNL": "DOMESTIC", "RPUCNO": "DOMESTIC", "RPUCNZ": "DOMESTIC", "RPUCPA": "DOMESTIC", "RPUCPE": "DOMESTIC", "RPUCPH": "DOMESTIC", "RPUCPK": "DOMESTIC", "RPUCPL": "DOMESTIC", "RPUCPT": "DOMESTIC", "RPUCRO": "DOMESTIC", "RPUCRS": "DOMESTIC", "RPUCRU": "DOMESTIC", "RPUCRW": "DOMESTIC", "RPUCSA": "DOMESTIC", "RPUCSE": "DOMESTIC", "RPUCSG": "DOMESTIC", "RPUCSI": "DOMESTIC", "RPUCSK": "DOMESTIC", "RPUCTH": "DOMESTIC", "RPUCTR": "DOMESTIC", "RPUCTW": "DOMESTIC", "RPUCUA": "DOMESTIC", "RPUCUK": "DOMESTIC", "RPUCUS": "DOMESTIC", "RPUCUZ": "DOMESTIC", "RPUCVN": "DOMESTIC", "RPUCZA": "DOMESTIC", "SEIAE": "INDEX", "SEIAT": "INDEX", "SEIAU": "INDEX", "SEIBD": "INDEX", "SEIBE": "INDEX", "SEIBR": "INDEX", "SEICA": "DOMESTIC", "SEICH": "INDEX", "SEICN": "INDEX", "SEIDE": "INDEX", "SEIDK": "INDEX", "SEIES": "INDEX", "SEIFI": "INDEX", "SEIFR": "INDEX", "SEIID": "INDEX", "SEIIE": "INDEX", "SEIIN": "INDEX", "SEIIT": "INDEX", "SEIJP": "INDEX", "SEIKR": "INDEX", "SEILA": "INDEX", "SEILU": "INDEX", "SEIMX": "INDEX", "SEINL": "INDEX", "SEINO": "INDEX", "SEIOM": "INDEX", "SEIPA": "INDEX", "SEIPK": "INDEX", "SEIPL": "INDEX", "SEIRS": "INDEX", "SEIRU": "INDEX", "SEISE": "INDEX", "SEITR": "INDEX", "SEIUS": "INDEX", "SEIUZ": "INDEX", "SEIZA": "INDEX", "SENTAL": "INDEX", "SENTAT": "INDEX", "SENTAU": "INDEX", "SENTBE": "INDEX", "SENTBG": "INDEX", "SENTBR": "INDEX", "SENTCY": "INDEX", "SENTCZ": "INDEX", "SENTDE": "INDEX", "SENTDK": "INDEX", "SENTEE": "INDEX", "SENTES": "INDEX", "SENTEU": "INDEX", "SENTFI": "INDEX", "SENTFR": "INDEX", "SENTGR": "INDEX", "SENTHR": "INDEX", "SENTHU": "INDEX", "SENTIE": "INDEX", "SENTIT": "INDEX", "SENTJP": "INDEX", "SENTKR": "INDEX", "SENTLT": "INDEX", "SENTLU": "INDEX", "SENTLV": "INDEX", "SENTME": "INDEX", "SENTMK": "INDEX", "SENTMT": "INDEX", "SENTNL": "INDEX", "SENTPL": "INDEX", "SENTPT": "INDEX", "SENTRO": "INDEX", "SENTRS": "INDEX", "SENTSE": "INDEX", "SENTSI": "INDEX", "SENTSK": "INDEX", "SENTTR": "INDEX", "SENTUK": "INDEX", "SENTUS": "INDEX", "TBBE": "DOMESTIC", "TBBG": "DOMESTIC", "TBBR": "USD", "TBCA": "DOMESTIC", "TBCZ": "DOMESTIC", "TBDE": "DOMESTIC", "TBDK": "DOMESTIC", "TBEE": "DOMESTIC", "TBEG": "USD", "TBFI": "DOMESTIC", "TBFR": "DOMESTIC", "TBGR": "DOMESTIC", "TBHR": "DOMESTIC", "TBHU": "DOMESTIC", "TBIN": "USD", "TBIT": "DOMESTIC", "TBLT": "DOMESTIC", "TBLU": "DOMESTIC", "TBLV": "DOMESTIC", "TBMK": "DOMESTIC", "TBMT": "DOMESTIC", "TBMX": "DOMESTIC", "TBNL": "DOMESTIC", "TBPL": "DOMESTIC", "TBPT": "DOMESTIC", "TBRO": "DOMESTIC", "TBRS": "DOMESTIC", "TBSE": "DOMESTIC", "TBSI": "DOMESTIC", "TBSK": "DOMESTIC", "TBTH": "USD", "TBUS": "DOMESTIC", "TBVN": "DOMESTIC", "URATEAE": "PERCENT", "URATEAR": "PERCENT", "URATEAT": "PERCENT", "URATEAU": "PERCENT", "URATEAZ": "OTHER NUMBER", "URATEBD": "PERCENT", "URATEBE": "PERCENT", "URATEBG": "PERCENT", "URATEBR": "PERCENT", "URATEBY": "PERCENT", "URATECA": "PERCENT", "URATECH": "PERCENT", "URATECL": "PERCENT", "URATECN": "PERCENT", "URATECO": "PERCENT", "URATECR": "PERCENT", "URATECY": "PERCENT", "URATECZ": "PERCENT", "URATEDE": "PERCENT", "URATEDK": "PERCENT", "URATEDO": "PERCENT", "URATEEA": "PERCENT", "URATEEE": "PERCENT", "URATEEG": "PERCENT", "URATEES": "PERCENT", "URATEEU": "PERCENT", "URATEFI": "PERCENT", "URATEFR": "PERCENT", "URATEGR": "PERCENT", "URATEHK": "PERCENT", "URATEHR": "PERCENT", "URATEHU": "PERCENT", "URATEID": "PERCENT", "URATEIE": "PERCENT", "URATEIL": "PERCENT", "URATEIS": "PERCENT", "URATEIT": "PERCENT", "URATEJO": "PERCENT", "URATEJP": "PERCENT", "URATEKH": "PERCENT", "URATEKR": "PERCENT", "URATEKZ": "PERCENT", "URATELK": "PERCENT", "URATELT": "PERCENT", "URATELU": "PERCENT", "URATELV": "PERCENT", "URATEMA": "PERCENT", "URATEMO": "PERCENT", "URATEMT": "PERCENT", "URATEMX": "PERCENT", "URATEMY": "PERCENT", "URATENL": "PERCENT", "URATENO": "PERCENT", "URATENZ": "PERCENT", "URATEPE": "PERCENT", "URATEPH": "PERCENT", "URATEPK": "PERSONS", "URATEPL": "PERCENT", "URATEPT": "PERCENT", "URATEQA": "PERCENT", "URATERO": "PERCENT", "URATERS": "PERSONS", "URATERU": "PERCENT", "URATESA": "PERCENT", "URATESE": "PERCENT", "URATESG": "PERCENT", "URATESI": "PERCENT", "URATESK": "PERCENT", "URATETH": "PERCENT", "URATETN": "PERCENT", "URATETR": "PERCENT", "URATETW": "PERCENT", "URATEUA": "PERCENT", "URATEUK": "PERCENT", "URATEUS": "PERCENT", "URATEUY": "PERCENT", "URATEVN": "PERCENT", "URATEZA": "PERCENT", "UTILAL": "INDEX", "UTILAR": "OTHER NUMBER", "UTILAT": "PERCENT", "UTILBE": "PERCENT", "UTILBG": "PERCENT", "UTILCA": "INDEX", "UTILCY": "PERCENT", "UTILCZ": "PERCENT", "UTILDE": "PERCENT", "UTILDK": "PERCENT", "UTILEE": "PERCENT", "UTILES": "INDEX", "UTILEU": "INDEX", "UTILFI": "PERCENT", "UTILFR": "PERCENT", "UTILGR": "PERCENT", "UTILHR": "PERCENT", "UTILHU": "PERCENT", "UTILIE": "PERCENT", "UTILIT": "PERCENT", "UTILLT": "PERCENT", "UTILLU": "PERCENT", "UTILLV": "PERCENT", "UTILME": "INDEX", "UTILMK": "INDEX", "UTILMT": "INDEX", "UTILNL": "PERCENT", "UTILPL": "PERCENT", "UTILPT": "PERCENT", "UTILRO": "PERCENT", "UTILRS": "PERCENT", "UTILSE": "PERCENT", "UTILSI": "PERCENT", "UTILSK": "PERCENT", "UTILTR": "INDEX", "UTILUK": "PERCENT", "UTILUS": "PERCENT", "WAGEMANCL": "INDEX", "WAGEMANMX": null, "WAGEMANUS": "DOMESTIC", "WAGEUY": "DOMESTIC", "WAGEVN": "DOMESTIC", "Y10YDAR": "PERCENT", "Y10YDAT": "PERCENT", "Y10YDAU": "PERCENT", "Y10YDBD": "PERCENT", "Y10YDBE": "PERCENT", "Y10YDBG": "PERCENT", "Y10YDCA": "PERCENT", "Y10YDCN": "PERCENT", "Y10YDCY": "PERCENT", "Y10YDCZ": "PERCENT", "Y10YDDE": "PERCENT", "Y10YDDK": "PERCENT", "Y10YDEA": "PERCENT", "Y10YDEE": "PERCENT", "Y10YDES": "PERCENT", "Y10YDEU": "PERCENT", "Y10YDFI": "PERCENT", "Y10YDFR": "PERCENT", "Y10YDGR": "PERCENT", "Y10YDHK": "PERCENT", "Y10YDHR": "PERCENT", "Y10YDHU": "PERCENT", "Y10YDID": "PERCENT", "Y10YDIE": "PERCENT", "Y10YDIN": "PERCENT", "Y10YDIT": "PERCENT", "Y10YDJP": "PERCENT", "Y10YDKR": "PERCENT", "Y10YDLT": "PERCENT", "Y10YDLU": "PERCENT", "Y10YDLV": "PERCENT", "Y10YDMT": "PERCENT", "Y10YDMX": "PERCENT", "Y10YDMY": "PERCENT", "Y10YDNL": "PERCENT", "Y10YDNZ": "PERCENT", "Y10YDPH": "PERCENT", "Y10YDPL": "PERCENT", "Y10YDPT": "PERCENT", "Y10YDQA": "PERCENT", "Y10YDRO": "PERCENT", "Y10YDRU": "PERCENT", "Y10YDSA": "PERCENT", "Y10YDSE": "PERCENT", "Y10YDSG": "PERCENT", "Y10YDSI": "PERCENT", "Y10YDSK": "PERCENT", "Y10YDTH": "PERCENT", "Y10YDTR": "PERCENT", "Y10YDTW": "PERCENT", "Y10YDUA": "PERCENT", "Y10YDUK": "PERCENT", "Y10YDUS": "PERCENT", "Y10YDVN": "PERCENT", "Y10YDZA": "PERCENT"} \ No newline at end of file diff --git a/openbb_platform/providers/econdb/poetry.lock b/openbb_platform/providers/econdb/poetry.lock index 778202cb9cd..7e0dc7e2257 100644 --- a/openbb_platform/providers/econdb/poetry.lock +++ b/openbb_platform/providers/econdb/poetry.lock @@ -1026,13 +1026,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2106,4 +2106,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "b33c6c1c0dbc40c4789cd6b4948e38861e677c69cbe4c73f8f4eb0bc2e2da394" +content-hash = "f98e7148849d822f5bec925699e2b110a3ccae2fa478b04935a3f1ba9de63075" diff --git a/openbb_platform/providers/econdb/pyproject.toml b/openbb_platform/providers/econdb/pyproject.toml index b7269293309..0cdc0c476ed 100644 --- a/openbb_platform/providers/econdb/pyproject.toml +++ b/openbb_platform/providers/econdb/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-econdb" -version = "1.1.2" +version = "1.1.3" description = "EconDB extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_econdb" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" aiohttp-client-cache = "^0.11.0" aiosqlite = "^0.20.0" diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/__init__.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/__init__.py index 008b7d2cfc4..cc04050917d 100644 --- a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/__init__.py +++ b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/__init__.py @@ -4,10 +4,16 @@ from openbb_core.provider.abstract.provider import Provider from openbb_federal_reserve.models.central_bank_holdings import ( FederalReserveCentralBankHoldingsFetcher, ) -from openbb_federal_reserve.models.fed_rates import FederalReserveFEDFetcher +from openbb_federal_reserve.models.federal_funds_rate import ( + FederalReserveFederalFundsRateFetcher, +) from openbb_federal_reserve.models.money_measures import ( FederalReserveMoneyMeasuresFetcher, ) +from openbb_federal_reserve.models.overnight_bank_funding_rate import ( + FederalReserveOvernightBankFundingRateFetcher, +) +from openbb_federal_reserve.models.sofr import FederalReserveSOFRFetcher from openbb_federal_reserve.models.treasury_rates import ( FederalReserveTreasuryRatesFetcher, ) @@ -21,7 +27,9 @@ federal_reserve_provider = Provider( "CentralBankHoldings": FederalReserveCentralBankHoldingsFetcher, "TreasuryRates": FederalReserveTreasuryRatesFetcher, "MoneyMeasures": FederalReserveMoneyMeasuresFetcher, - "FEDFUNDS": FederalReserveFEDFetcher, + "OvernightBankFundingRate": FederalReserveOvernightBankFundingRateFetcher, + "FederalFundsRate": FederalReserveFederalFundsRateFetcher, + "SOFR": FederalReserveSOFRFetcher, "YieldCurve": FederalReserveYieldCurveFetcher, }, repr_name="Federal Reserve (FED)", diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/central_bank_holdings.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/central_bank_holdings.py index 27b274c6037..36dcdc13c26 100644 --- a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/central_bank_holdings.py +++ b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/central_bank_holdings.py @@ -111,15 +111,21 @@ class FederalReserveCentralBankHoldingsData(CentralBankHoldingsData): ) face_value: Optional[float] = Field( default=None, - description="Current face value of the security (Thousands)." + description="Current face value of the security (Thousands of $USD)." + " Current face value of the securities, which is the remaining principal balance of the securities.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) par_value: Optional[float] = Field( default=None, - description="Par value of the security (Thousands)." + description="Par value of the security (Thousands of $USD)." + " Changes in par may reflect primary and secondary market transactions and/or custodial account activity.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) coupon: Optional[float] = Field( default=None, @@ -138,68 +144,101 @@ class FederalReserveCentralBankHoldingsData(CentralBankHoldingsData): ) bills: Optional[float] = Field( default=None, - description="Treasury bills amount (Thousands)." + description="Treasury bills amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) frn: Optional[float] = Field( default=None, - description="Floating rate Treasury notes amount (Thousands)." + description="Floating rate Treasury notes amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) notes_and_bonds: Optional[float] = Field( default=None, - description="Treasuy Notes and bonds amount (Thousands)." + description="Treasuy Notes and bonds amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) tips: Optional[float] = Field( default=None, - description="Treasury inflation-protected securities amount (Thousands)." + description="Treasury inflation-protected securities amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) mbs: Optional[float] = Field( default=None, - description="Mortgage-backed securities amount (Thousands)." + description="Mortgage-backed securities amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) cmbs: Optional[float] = Field( default=None, - description="Commercial mortgage-backed securities amount (Thousands)." + description="Commercial mortgage-backed securities amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) agencies: Optional[float] = Field( default=None, - description="Agency securities amount (Thousands)." + description="Agency securities amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) total: Optional[float] = Field( default=None, - description="Total SOMA holdings amount (Thousands)." + description="Total SOMA holdings amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) tips_inflation_compensation: Optional[float] = Field( default=None, - description="Treasury inflation-protected securities inflation compensation amount (Thousands)." + description="Treasury inflation-protected securities inflation compensation amount (Thousands of $USD)." + " Only returned when 'summary' is True.", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, alias="inflationCompensation", ) change_prior_week: Optional[float] = Field( default=None, - description="Change in SOMA holdings from the prior week (Thousands).", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + description="Change in SOMA holdings from the prior week (Thousands of $USD).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) change_prior_year: Optional[float] = Field( default=None, - description="Change in SOMA holdings from the prior year (Thousands).", - json_schema_extra={"x-unit_measurement": "usd", "x-frontend_multiply": 1000}, + description="Change in SOMA holdings from the prior year (Thousands of $USD).", + json_schema_extra={ + "x-unit_measurement": "currency", + "x-frontend_multiply": 1000, + }, ) @field_validator("security_type", mode="before", check_fields=False) diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/fed_rates.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/fed_rates.py deleted file mode 100644 index 3ea0ef1960c..00000000000 --- a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/fed_rates.py +++ /dev/null @@ -1,83 +0,0 @@ -"""Federal Reserve FED Model.""" - -from datetime import datetime, timedelta -from io import BytesIO -from typing import Any, Dict, List, Optional - -import pandas as pd -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.fed_rates import ( - FEDData, - FEDQueryParams, -) -from openbb_core.provider.utils.helpers import make_request -from pydantic import field_validator - - -class FederalReserveFEDQueryParams(FEDQueryParams): - """FederalReserve FED Query.""" - - -class FederalReserveFEDData(FEDData): - """FederalReserve FED Data.""" - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FederalReserveFEDFetcher( - Fetcher[FederalReserveFEDQueryParams, List[Dict[str, List[FederalReserveFEDData]]]] -): - """FederalReserve FED Model.""" - - data_type = FederalReserveFEDData - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FederalReserveFEDQueryParams: - """Transform query.""" - transformed_params = params - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - timedelta(days=10 * 365) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return FederalReserveFEDQueryParams(**transformed_params) - - # pylint: disable=unused-argument - @staticmethod - def extract_data( - query: FederalReserveFEDQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any - ) -> dict: - """Extract data.""" - url = ( - "https://www.federalreserve.gov/datadownload/Output.aspx?rel=H15&series=c5025f4bbbed155a6f17c587772ed69e" - "&lastobs=&from=01/01/1938&to=12/31/3023&filetype=csv&label=include&layout=seriescolumn" - ) - r = make_request(url, **kwargs) - df = pd.read_csv(BytesIO(r.content), header=5, index_col=None, parse_dates=True) - df.columns = ["date", "rate"] - df = df[ - (pd.to_datetime(df.date) >= pd.to_datetime(query.start_date)) - & (pd.to_datetime(df.date) <= pd.to_datetime(query.end_date)) - ] - - return df.to_dict(orient="records") - - # pylint: disable=unused-argument - @staticmethod - def transform_data( - query: FederalReserveFEDQueryParams, data: dict, **kwargs: Any - ) -> List[Dict[str, List[FederalReserveFEDData]]]: - """Transform data.""" - - return [FederalReserveFEDData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/federal_funds_rate.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/federal_funds_rate.py new file mode 100644 index 00000000000..256767d9d01 --- /dev/null +++ b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/federal_funds_rate.py @@ -0,0 +1,139 @@ +"""Federal Reserve Federal Funds Rate Model.""" + +# pylint: disable=unused-argument + +from datetime import datetime +from typing import Any, Dict, List, Optional + +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.federal_funds_rate import ( + FederalFundsRateData, + FederalFundsRateQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_core.provider.utils.helpers import amake_request +from pydantic import Field, field_validator + + +class FederalReserveFederalFundsRateQueryParams(FederalFundsRateQueryParams): + """FederalReserve FED Query.""" + + +class FederalReserveFederalFundsRateData(FederalFundsRateData): + """FederalReserve FED Data.""" + + __alias_dict__ = { + "date": "effectiveDate", + "rate": "percentRate", + "target_range_upper": "targetRateTo", + "target_range_lower": "targetRateFrom", + "percentile_1": "percentPercentile1", + "percentile_25": "percentPercentile25", + "percentile_75": "percentPercentile75", + "percentile_99": "percentPercentile99", + "volume": "volumeInBillions", + "intraday_low": "intraDayLow", + "intraday_high": "intraDayHigh", + "standard_deviation": "stdDeviation", + "revision_indicator": "revisionIndicator", + } + + intraday_low: Optional[float] = Field( + default=None, + description="Intraday low. This field is only present for data before 2016.", + ) + intraday_high: Optional[float] = Field( + default=None, + description="Intraday high. This field is only present for data before 2016.", + ) + standard_deviation: Optional[float] = Field( + default=None, + description="Standard deviation. This field is only present for data before 2016.", + ) + revision_indicator: Optional[str] = Field( + default=None, + description="Indicates a revision of the data for that date.", + ) + + @field_validator("revision_indicator", mode="before", check_fields=False) + @classmethod + def validate_revision_indicator(cls, v): + """Validate revision indicator.""" + return None if v in ("", "''") else v + + @field_validator( + "rate", + "target_range_upper", + "target_range_lower", + "percentile_1", + "percentile_25", + "percentile_75", + "percentile_99", + "intraday_high", + "intraday_low", + mode="before", + check_fields=False, + ) + @classmethod + def normalize_percent(cls, v): + """Normalize percent.""" + if v is not None: + return v / 100 if v != 0 else 0 + return None + + +class FederalReserveFederalFundsRateFetcher( + Fetcher[ + FederalReserveFederalFundsRateQueryParams, + List[FederalReserveFederalFundsRateData], + ] +): + """Federal Reserve Federal Funds Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FederalReserveFederalFundsRateQueryParams: + """Transform query.""" + transformed_params = params.copy() + now = datetime.now().date() + if params.get("start_date") is None: + transformed_params["start_date"] = datetime(2016, 3, 1).date() + if params.get("end_date") is None: + transformed_params["end_date"] = now + + return FederalReserveFederalFundsRateQueryParams(**transformed_params) + + @staticmethod + async def aextract_data( + query: FederalReserveFederalFundsRateQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> List[Dict]: + """Extract the raw data.""" + url = ( + "https://markets.newyorkfed.org/api/rates/unsecured/effr/search.json?" + + f"startDate={query.start_date}&endDate={query.end_date}" + ) + results: List[Dict] = [] + response = await amake_request(url, **kwargs) + if response.get("refRates"): + results = response["refRates"] + if not results: + raise EmptyDataError() + return results + + @staticmethod + def transform_data( + query: FederalReserveFederalFundsRateQueryParams, + data: List[Dict], + **kwargs: Any, + ) -> List[FederalReserveFederalFundsRateData]: + """Transform data.""" + results: List[FederalReserveFederalFundsRateData] = [] + for d in data.copy(): + _ = d.pop("type", None) + _ = d.pop("footnoteId", None) + results.append(FederalReserveFederalFundsRateData.model_validate(d)) + + return results diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/overnight_bank_funding_rate.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/overnight_bank_funding_rate.py new file mode 100644 index 00000000000..2d99ff73076 --- /dev/null +++ b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/overnight_bank_funding_rate.py @@ -0,0 +1,120 @@ +"""Federal Reserve Federal Funds Rate Model.""" + +# pylint: disable=unused-argument + +from datetime import datetime +from typing import Any, Dict, List, Optional + +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.overnight_bank_funding_rate import ( + OvernightBankFundingRateData, + OvernightBankFundingRateQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_core.provider.utils.helpers import amake_request +from pydantic import Field, field_validator + + +class FederalReserveOvernightBankFundingRateQueryParams( + OvernightBankFundingRateQueryParams +): + """FederalReserve Overnight Bank Funding Rate Query.""" + + +class FederalReserveOvernightBankFundingRateData(OvernightBankFundingRateData): + """FederalReserve Overnight Bank Funding Rate Data.""" + + __alias_dict__ = { + "date": "effectiveDate", + "rate": "percentRate", + "percentile_1": "percentPercentile1", + "percentile_25": "percentPercentile25", + "percentile_75": "percentPercentile75", + "percentile_99": "percentPercentile99", + "volume": "volumeInBillions", + } + + revision_indicator: Optional[str] = Field( + default=None, + description="Indicates a revision of the data for that date.", + ) + + @field_validator("revision_indicator", mode="before", check_fields=False) + @classmethod + def validate_revision_indicator(cls, v): + """Validate revision indicator.""" + return None if v in ("", "''") else v + + @field_validator( + "rate", + "percentile_1", + "percentile_25", + "percentile_75", + "percentile_99", + mode="before", + check_fields=False, + ) + @classmethod + def normalize_percent(cls, v): + """Normalize percent.""" + if v is not None: + return v / 100 if v != 0 else 0 + return None + + +class FederalReserveOvernightBankFundingRateFetcher( + Fetcher[ + FederalReserveOvernightBankFundingRateQueryParams, + List[FederalReserveOvernightBankFundingRateData], + ] +): + """Federal Reserve Federal Funds Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FederalReserveOvernightBankFundingRateQueryParams: + """Transform query.""" + transformed_params = params.copy() + now = datetime.now().date() + if params.get("start_date") is None: + transformed_params["start_date"] = datetime(2016, 3, 1).date() + if params.get("end_date") is None: + transformed_params["end_date"] = now + + return FederalReserveOvernightBankFundingRateQueryParams(**transformed_params) + + @staticmethod + async def aextract_data( + query: FederalReserveOvernightBankFundingRateQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> List[Dict]: + """Extract the raw data.""" + url = ( + "https://markets.newyorkfed.org/api/rates/unsecured/obfr/search.json?" + + f"startDate={query.start_date}&endDate={query.end_date}" + ) + results: List[Dict] = [] + response = await amake_request(url, **kwargs) + if response.get("refRates"): + results = response["refRates"] + if not results: + raise EmptyDataError() + return results + + @staticmethod + def transform_data( + query: FederalReserveOvernightBankFundingRateQueryParams, + data: List[Dict], + **kwargs: Any, + ) -> List[FederalReserveOvernightBankFundingRateData]: + """Transform data.""" + results: List[FederalReserveOvernightBankFundingRateData] = [] + for d in data.copy(): + _ = d.pop("type", None) + _ = d.pop("revisionIndicator", None) + _ = d.pop("footnoteId", None) + results.append(FederalReserveOvernightBankFundingRateData.model_validate(d)) + + return results diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/sofr.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/sofr.py new file mode 100644 index 00000000000..86fda823b76 --- /dev/null +++ b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/models/sofr.py @@ -0,0 +1,107 @@ +"""Federal Reserve SOFR Model.""" + +# pylint: disable=unused-argument + +from datetime import datetime +from typing import Any, Dict, List, Optional + +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.sofr import ( + SOFRData, + SOFRQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_core.provider.utils.helpers import amake_request +from pydantic import field_validator + + +class FederalReserveSOFRQueryParams(SOFRQueryParams): + """FederalReserve FED Query.""" + + +class FederalReserveSOFRData(SOFRData): + """FederalReserve FED Data.""" + + __alias_dict__ = { + "date": "effectiveDate", + "rate": "percentRate", + "percentile_1": "percentPercentile1", + "percentile_25": "percentPercentile25", + "percentile_75": "percentPercentile75", + "percentile_99": "percentPercentile99", + "volume": "volumeInBillions", + } + + @field_validator( + "rate", + "target_range_upper", + "target_range_lower", + "percentile_1", + "percentile_25", + "percentile_75", + "percentile_99", + mode="before", + check_fields=False, + ) + @classmethod + def normalize_percent(cls, v): + """Normalize percent.""" + if v not in (None, "", "''", "NA"): + return float(v) / 100 if v != 0 else 0 + return None + + +class FederalReserveSOFRFetcher( + Fetcher[ + FederalReserveSOFRQueryParams, + List[FederalReserveSOFRData], + ] +): + """Federal Reserve Federal Funds Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FederalReserveSOFRQueryParams: + """Transform query.""" + transformed_params = params.copy() + now = datetime.now().date() + if params.get("start_date") is None: + transformed_params["start_date"] = datetime(2018, 4, 2).date() + if params.get("end_date") is None: + transformed_params["end_date"] = now + + return FederalReserveSOFRQueryParams(**transformed_params) + + @staticmethod + async def aextract_data( + query: FederalReserveSOFRQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> List[Dict]: + """Extract the raw data.""" + url = ( + "https://markets.newyorkfed.org/api/rates/secured/sofr/search.json?" + + f"startDate={query.start_date}&endDate={query.end_date}" + ) + results: List[Dict] = [] + response = await amake_request(url, **kwargs) + if response.get("refRates"): + results = response["refRates"] + if not results: + raise EmptyDataError() + return results + + @staticmethod + def transform_data( + query: FederalReserveSOFRQueryParams, + data: List[Dict], + **kwargs: Any, + ) -> List[FederalReserveSOFRData]: + """Transform data.""" + results: List[FederalReserveSOFRData] = [] + for d in data.copy(): + _ = d.pop("type", None) + _ = d.pop("footnoteId", None) + _ = d.pop("revisionIndicator", None) + results.append(FederalReserveSOFRData.model_validate(d)) + + return results diff --git a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/utils/ny_fed_api.py b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/utils/ny_fed_api.py index 173d512c036..c67360fdca0 100644 --- a/openbb_platform/providers/federal_reserve/openbb_federal_reserve/utils/ny_fed_api.py +++ b/openbb_platform/providers/federal_reserve/openbb_federal_reserve/utils/ny_fed_api.py @@ -4,6 +4,7 @@ from typing import Dict, List, Literal, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import amake_request from pandas import DataFrame, DatetimeIndex, to_datetime @@ -111,8 +112,10 @@ def _get_endpoints( treasury_status: Optional[str] = "results", treasury_security_type: Optional[str] = "", ) -> Dict: - """Generating URLs to the all, or a category of, endpoints. - This function is not intended to be used directly.""" + """Generate URLs to the all, or a category of, endpoints. + + This function is not intended to be used directly. + """ is_latest: str = "latest" if ambs_security: ambs_security = AMBS_SECURITIES[ambs_security] @@ -378,8 +381,9 @@ def _get_endpoints( } return end_points if category is None else end_points[category] # type: ignore + async def fetch_data(url: str) -> Dict: - """Fetches the JSON response from the API.""" + """Fetch the JSON response from the API.""" try: response = await amake_request(url) except Exception as e: # pylint: disable=broad-except @@ -431,6 +435,7 @@ class SomaHoldings: """Initialize the SomaHoldings class.""" def __repr__(self) -> str: + """Replace original repr with docstring.""" return str(self.__doc__) async def get_as_of_dates(self) -> List: @@ -439,14 +444,14 @@ class SomaHoldings: dates_response = await fetch_data(dates_url) dates = dates_response.get("soma", {}).get("asOfDates", []) if not dates: - raise RuntimeError("Error requesting dates. Please try again later.") + raise OpenBBError("Error requesting dates. Please try again later.") return dates async def get_release_log( self, treasury: bool = False, ) -> List[Dict]: - """Returns the last three months Agency Release and as-of dates. + """Return the last three months Agency Release and as-of dates. Parameters ---------- @@ -469,12 +474,12 @@ class SomaHoldings: response = await fetch_data(url) release_log = response.get("soma", {}).get("dates", []) if not release_log: - raise ValueError("No data found. Try again later.") + raise OpenBBError("No data found. Try again later.") return release_log async def get_summary(self) -> List[Dict]: - """Returns historical weekly summary by holding type. + """Return historical weekly summary by holding type. Returns ------- @@ -501,7 +506,7 @@ class SomaHoldings: holding_type: Optional[str] = None, wam: bool = False, ) -> List[Dict]: - """Gets the latest agency holdings, or as of a single date. Data is updated weekly. + """Get the latest agency holdings, or as of a single date. Data is updated weekly. Parameters ---------- @@ -545,7 +550,7 @@ class SomaHoldings: url = _get_endpoints(date=as_of)["soma_holdings"]["get_as_of"] if holding_type is not None: if holding_type not in AGENCY_HOLDING_TYPES: - raise ValueError( + raise OpenBBError( "Invalid choice. Choose from: ['all', 'agency debts', 'mbs', 'cmbs']" ) url = _get_endpoints( @@ -568,7 +573,7 @@ class SomaHoldings: wam: Optional[bool] = False, monthly: Optional[bool] = False, ) -> List[Dict]: - """Gets the latest Treasury holdings, or as of a single date. + """Get the latest Treasury holdings, or as of a single date. Parameters ---------- @@ -617,8 +622,8 @@ class SomaHoldings: if holding_type is not None: if holding_type not in TREASURY_HOLDING_TYPES: - raise ValueError( - "Invalid choice. Choose from: ", TREASURY_HOLDING_TYPES + raise OpenBBError( + f"Invalid choice. Choose from: {', '.join(TREASURY_HOLDING_TYPES)}" ) url = _get_endpoints(treasury_holding_type=holding_type, date=as_of)[ "soma_holdings" diff --git a/openbb_platform/providers/federal_reserve/poetry.lock b/openbb_platform/providers/federal_reserve/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/federal_reserve/poetry.lock +++ b/openbb_platform/providers/federal_reserve/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/federal_reserve/pyproject.toml b/openbb_platform/providers/federal_reserve/pyproject.toml index 5ffc1001985..cf21c4ba0ce 100644 --- a/openbb_platform/providers/federal_reserve/pyproject.toml +++ b/openbb_platform/providers/federal_reserve/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-federal-reserve" -version = "1.2.2" +version = "1.2.3" description = "US Federal Reserve Data Extension for OpenBB" authors = ["OpenBB "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_federal_reserve" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_fed_fetcher.yaml b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_fed_fetcher.yaml deleted file mode 100644 index c60a6bf555d..00000000000 --- a/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_fed_fetcher.yaml +++ /dev/null @@ -1,53 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://www.federalreserve.gov/datadownload/Output.aspx?rel=H15&series=c5025f4bbbed155a6f17c587772ed69e&lastobs=&from=01/01/1938&to=12/31/3023&filetype=csv&label=include&layout=seriescolumn - response: - body: - string: "\"Series Description\",\"Federal funds effective rate\"\r\n\"Unit:\",\"Percent:_Per_Year\"\r\n\"Multiplier:\",\"1\"\r\n\"Currency:\",\"NA\"\r\n\"Unique - Identifier: \",\"H15/H15/RIFSPFF_N.D\"\r\n\"Time Period\",\"RIFSPFF_N.D\"\r\n1954-07-01,1.13\r\n1954-07-02,1.25\r\n1954-07-03,1.25\r\n1954-07-04,1.25\r\n1954-07-05,0.88\r\n1954-07-06,0.25\r\n1954-07-07,1.00\r\n1954-07-08,1.25\r\n1954-07-09,1.25\r\n1954-07-10,1.25\r\n1954-07-11,1.25\r\n1954-07-12,1.25\r\n1954-07-13,1.13\r\n1954-07-14,1.13\r\n1954-07-15,0.75\r\n1954-07-16,0.75\r\n1954-07-17,0.75\r\n1954-07-18,0.75\r\n1954-07-19,0.50\r\n1954-07-20,0.25\r\n1954-07-21,0.25\r\n1954-07-22,0.75\r\n1954-07-23,0.75\r\n1954-07-24,0.75\r\n1954-07-25,0.75\r\n1954-07-26,0.75\r\n1954-07-27,0.38\r\n1954-07-28,0.25\r\n1954-07-29,0.38\r\n1954-07-30,0.25\r\n1954-07-31,0.25\r\n1954-08-01,0.25\r\n1954-08-02,0.38\r\n1954-08-03,0.25\r\n1954-08-04,0.13\r\n1954-08-05,0.75\r\n1954-08-06,1.38\r\n1954-08-07,1.38\r\n1954-08-08,1.38\r\n1954-08-09,1.38\r\n1954-08-10,1.44\r\n1954-08-11,1.44\r\n1954-08-12,1.38\r\n1954-08-13,1.44\r\n1954-08-14,1.44\r\n1954-08-15,1.44\r\n1954-08-16,1.38\r\n1954-08-17,1.38\r\n1954-08-18,1.44\r\n1954-08-19,1.38\r\n1954-08-20,1.44\r\n1954-08-21,1.44\r\n1954-08-22,1.44\r\n1954-08-23,1.44\r\n1954-08-24,1.38\r\n1954-08-25,1.38\r\n1954-08-26,1.25\r\n1954-08-27,1.25\r\n1954-08-28,1.25\r\n1954-08-29,1.25\r\n1954-08-30,1.44\r\n1954-08-31,1.44\r\n1954-09-01,1.44\r\n1954-09-02,1.38\r\n1954-09-03,1.38\r\n1954-09-04,1.38\r\n1954-09-05,1.38\r\n1954-09-06,1.00\r\n1954-09-07,1.13\r\n1954-09-08,0.88\r\n1954-09-09,1.25\r\n1954-09-10,1.25\r\n1954-09-11,1.25\r\n1954-09-12,1.25\r\n1954-09-13,1.38\r\n1954-09-14,1.25\r\n1954-09-15,1.00\r\n1954-09-16,1.00\r\n1954-09-17,0.50\r\n1954-09-18,0.50\r\n1954-09-19,0.50\r\n1954-09-20,0.50\r\n1954-09-21,0.50\r\n1954-09-22,0.38\r\n1954-09-23,0.75\r\n1954-09-24,1.13\r\n1954-09-25,1.13\r\n1954-09-26,1.13\r\n1954-09-27,1.25\r\n1954-09-28,1.25\r\n1954-09-29,1.44\r\n1954-09-30,1.44\r\n1954-10-01,0.50\r\n1954-10-02,0.50\r\n1954-10-03,0.50\r\n1954-10-04,0.50\r\n1954-10-05,0.25\r\n1954-10-06,0.13\r\n1954-10-07,1.25\r\n1954-10-08,1.25\r\n1954-10-09,1.25\r\n1954-10-10,1.25\r\n1954-10-11,1.25\r\n1954-10-12,1.25\r\n1954-10-13,1.38\r\n1954-10-14,1.38\r\n1954-10-15,1.00\r\n1954-10-16,1.00\r\n1954-10-17,1.00\r\n1954-10-18,0.38\r\n1954-10-19,0.38\r\n1954-10-20,0.25\r\n1954-10-21,1.00\r\n1954-10-22,0.63\r\n1954-10-23,0.63\r\n1954-10-24,0.63\r\n1954-10-25,1.00\r\n1954-10-26,0.75\r\n1954-10-27,0.63\r\n1954-10-28,1.00\r\n1954-10-29,1.13\r\n1954-10-30,1.13\r\n1954-10-31,1.13\r\n1954-11-01,1.38\r\n1954-11-02,1.38\r\n1954-11-03,1.13\r\n1954-11-04,1.00\r\n1954-11-05,0.25\r\n1954-11-06,0.25\r\n1954-11-07,0.25\r\n1954-11-08,0.25\r\n1954-11-09,0.13\r\n1954-11-10,0.13\r\n1954-11-11,0.50\r\n1954-11-12,0.50\r\n1954-11-13,0.50\r\n1954-11-14,0.50\r\n1954-11-15,0.13\r\n1954-11-16,0.13\r\n1954-11-17,0.50\r\n1954-11-18,1.00\r\n1954-11-19,0.88\r\n1954-11-20,0.88\r\n1954-11-21,0.88\r\n1954-11-22,1.00\r\n1954-11-23,1.44\r\n1954-11-24,1.44\r\n1954-11-25,1.44\r\n1954-11-26,1.44\r\n1954-11-27,1.44\r\n1954-11-28,1.44\r\n1954-11-29,1.44\r\n1954-11-30,1.38\r\n1954-12-01,1.25\r\n1954-12-02,1.38\r\n1954-12-03,1.44\r\n1954-12-04,1.44\r\n1954-12-05,1.44\r\n1954-12-06,1.44\r\n1954-12-07,1.38\r\n1954-12-08,1.44\r\n1954-12-09,1.25\r\n1954-12-10,1.44\r\n1954-12-11,1.44\r\n1954-12-12,1.44\r\n1954-12-13,1.44\r\n1954-12-14,1.44\r\n1954-12-15,0.50\r\n1954-12-16,1.25\r\n1954-12-17,1.25\r\n1954-12-18,1.25\r\n1954-12-19,1.25\r\n1954-12-20,1.25\r\n1954-12-21,1.25\r\n1954-12-22,0.75\r\n1954-12-23,1.00\r\n1954-12-24,1.00\r\n1954-12-25,1.00\r\n1954-12-26,1.00\r\n1954-12-27,1.44\r\n1954-12-28,1.44\r\n1954-12-29,1.44\r\n1954-12-30,1.44\r\n1954-12-31,1.44\r\n1955-01-01,1.44\r\n1955-01-02,1.44\r\n1955-01-03,1.44\r\n1955-01-04,1.25\r\n1955-01-05,1.00\r\n1955-01-06,1.25\r\n1955-01-07,1.44\r\n1955-01-08,1.44\r\n1955-01-09,1.44\r\n1955-01-10,1.44\r\n1955-01-11,1.44\r\n1955-01-12,1.44\r\n1955-01-13,1.44\r\n1955-01-14,1.44\r\n1955-01-15,1.44\r\n1955-01-16,1.44\r\n1955-01-17,1.44\r\n1955-01-18,1.38\r\n1955-01-19,1.00\r\n1955-01-20,1.44\r\n1955-01-21,1.44\r\n1955-01-22,1.44\r\n1955-01-23,1.44\r\n1955-01-24,1.44\r\n1955-01-25,1.25\r\n1955-01-26,1.44\r\n1955-01-27,1.44\r\n1955-01-28,1.44\r\n1955-01-29,1.44\r\n1955-01-30,1.44\r\n1955-01-31,1.44\r\n1955-02-01,1.44\r\n1955-02-02,1.44\r\n1955-02-03,1.44\r\n1955-02-04,1.44\r\n1955-02-05,1.44\r\n1955-02-06,1.44\r\n1955-02-07,1.38\r\n1955-02-08,1.00\r\n1955-02-09,0.75\r\n1955-02-10,1.00\r\n1955-02-11,1.25\r\n1955-02-12,1.25\r\n1955-02-13,1.25\r\n1955-02-14,0.75\r\n1955-02-15,1.00\r\n1955-02-16,1.44\r\n1955-02-17,1.44\r\n1955-02-18,1.44\r\n1955-02-19,1.44\r\n1955-02-20,1.44\r\n1955-02-21,1.25\r\n1955-02-22,1.25\r\n1955-02-23,1.00\r\n1955-02-24,1.44\r\n1955-02-25,1.44\r\n1955-02-26,1.44\r\n1955-02-27,1.44\r\n1955-02-28,1.44\r\n1955-03-01,1.44\r\n1955-03-02,1.00\r\n1955-03-03,1.25\r\n1955-03-04,1.44\r\n1955-03-05,1.44\r\n1955-03-06,1.44\r\n1955-03-07,1.44\r\n1955-03-08,1.44\r\n1955-03-09,1.44\r\n1955-03-10,1.44\r\n1955-03-11,1.44\r\n1955-03-12,1.44\r\n1955-03-13,1.44\r\n1955-03-14,1.44\r\n1955-03-15,1.00\r\n1955-03-16,0.50\r\n1955-03-17,1.44\r\n1955-03-18,1.44\r\n1955-03-19,1.44\r\n1955-03-20,1.44\r\n1955-03-21,1.44\r\n1955-03-22,1.25\r\n1955-03-23,0.75\r\n1955-03-24,1.44\r\n1955-03-25,1.44\r\n1955-03-26,1.44\r\n1955-03-27,1.44\r\n1955-03-28,1.44\r\n1955-03-29,1.44\r\n1955-03-30,1.44\r\n1955-03-31,1.44\r\n1955-04-01,1.44\r\n1955-04-02,1.44\r\n1955-04-03,1.44\r\n1955-04-04,1.44\r\n1955-04-05,1.44\r\n1955-04-06,1.44\r\n1955-04-07,1.44\r\n1955-04-08,1.44\r\n1955-04-09,1.44\r\n1955-04-10,1.44\r\n1955-04-11,1.44\r\n1955-04-12,1.44\r\n1955-04-13,1.44\r\n1955-04-14,1.44\r\n1955-04-15,1.38\r\n1955-04-16,1.38\r\n1955-04-17,1.38\r\n1955-04-18,1.50\r\n1955-04-19,1.25\r\n1955-04-20,1.50\r\n1955-04-21,1.63\r\n1955-04-22,1.63\r\n1955-04-23,1.63\r\n1955-04-24,1.63\r\n1955-04-25,1.38\r\n1955-04-26,1.00\r\n1955-04-27,0.50\r\n1955-04-28,1.50\r\n1955-04-29,1.69\r\n1955-04-30,1.69\r\n1955-05-01,1.69\r\n1955-05-02,1.69\r\n1955-05-03,1.69\r\n1955-05-04,1.69\r\n1955-05-05,1.63\r\n1955-05-06,1.50\r\n1955-05-07,1.50\r\n1955-05-08,1.50\r\n1955-05-09,1.25\r\n1955-05-10,0.75\r\n1955-05-11,1.00\r\n1955-05-12,1.69\r\n1955-05-13,1.63\r\n1955-05-14,1.63\r\n1955-05-15,1.63\r\n1955-05-16,1.63\r\n1955-05-17,0.50\r\n1955-05-18,0.50\r\n1955-05-19,1.50\r\n1955-05-20,1.00\r\n1955-05-21,1.00\r\n1955-05-22,1.00\r\n1955-05-23,1.50\r\n1955-05-24,1.50\r\n1955-05-25,1.69\r\n1955-05-26,1.69\r\n1955-05-27,1.69\r\n1955-05-28,1.69\r\n1955-05-29,1.69\r\n1955-05-30,1.69\r\n1955-05-31,1.69\r\n1955-06-01,1.69\r\n1955-06-02,1.69\r\n1955-06-03,1.69\r\n1955-06-04,1.69\r\n1955-06-05,1.69\r\n1955-06-06,1.69\r\n1955-06-07,1.63\r\n1955-06-08,1.63\r\n1955-06-09,1.69\r\n1955-06-10,1.69\r\n1955-06-11,1.69\r\n1955-06-12,1.69\r\n1955-06-13,1.69\r\n1955-06-14,1.69\r\n1955-06-15,1.69\r\n1955-06-16,1.69\r\n1955-06-17,1.50\r\n1955-06-18,1.50\r\n1955-06-19,1.50\r\n1955-06-20,1.63\r\n1955-06-21,1.63\r\n1955-06-22,1.38\r\n1955-06-23,1.63\r\n1955-06-24,1.63\r\n1955-06-25,1.63\r\n1955-06-26,1.63\r\n1955-06-27,1.69\r\n1955-06-28,1.69\r\n1955-06-29,1.69\r\n1955-06-30,1.69\r\n1955-07-01,1.69\r\n1955-07-02,1.69\r\n1955-07-03,1.69\r\n1955-07-04,1.69\r\n1955-07-05,1.69\r\n1955-07-06,1.69\r\n1955-07-07,1.69\r\n1955-07-08,1.69\r\n1955-07-09,1.69\r\n1955-07-10,1.69\r\n1955-07-11,1.69\r\n1955-07-12,1.69\r\n1955-07-13,1.69\r\n1955-07-14,1.69\r\n1955-07-15,1.63\r\n1955-07-16,1.63\r\n1955-07-17,1.63\r\n1955-07-18,1.63\r\n1955-07-19,1.63\r\n1955-07-20,1.69\r\n1955-07-21,1.69\r\n1955-07-22,1.69\r\n1955-07-23,1.69\r\n1955-07-24,1.69\r\n1955-07-25,1.63\r\n1955-07-26,1.63\r\n1955-07-27,1.69\r\n1955-07-28,1.69\r\n1955-07-29,1.75\r\n1955-07-30,1.75\r\n1955-07-31,1.75\r\n1955-08-01,1.69\r\n1955-08-02,1.69\r\n1955-08-03,1.69\r\n1955-08-04,2.00\r\n1955-08-05,2.00\r\n1955-08-06,2.00\r\n1955-08-07,2.00\r\n1955-08-08,1.94\r\n1955-08-09,1.94\r\n1955-08-10,1.94\r\n1955-08-11,1.94\r\n1955-08-12,2.00\r\n1955-08-13,2.00\r\n1955-08-14,2.00\r\n1955-08-15,2.00\r\n1955-08-16,1.94\r\n1955-08-17,1.94\r\n1955-08-18,2.00\r\n1955-08-19,2.00\r\n1955-08-20,2.00\r\n1955-08-21,2.00\r\n1955-08-22,2.00\r\n1955-08-23,2.00\r\n1955-08-24,1.94\r\n1955-08-25,2.00\r\n1955-08-26,2.00\r\n1955-08-27,2.00\r\n1955-08-28,2.00\r\n1955-08-29,2.00\r\n1955-08-30,2.00\r\n1955-08-31,2.00\r\n1955-09-01,2.00\r\n1955-09-02,2.13\r\n1955-09-03,2.13\r\n1955-09-04,2.13\r\n1955-09-05,2.13\r\n1955-09-06,2.00\r\n1955-09-07,2.00\r\n1955-09-08,2.13\r\n1955-09-09,2.25\r\n1955-09-10,2.25\r\n1955-09-11,2.25\r\n1955-09-12,2.25\r\n1955-09-13,2.19\r\n1955-09-14,2.00\r\n1955-09-15,2.25\r\n1955-09-16,2.19\r\n1955-09-17,2.19\r\n1955-09-18,2.19\r\n1955-09-19,2.19\r\n1955-09-20,2.19\r\n1955-09-21,2.19\r\n1955-09-22,2.19\r\n1955-09-23,2.25\r\n1955-09-24,2.25\r\n1955-09-25,2.25\r\n1955-09-26,2.25\r\n1955-09-27,2.25\r\n1955-09-28,2.25\r\n1955-09-29,2.25\r\n1955-09-30,2.19\r\n1955-10-01,2.19\r\n1955-10-02,2.19\r\n1955-10-03,2.25\r\n1955-10-04,2.25\r\n1955-10-05,2.19\r\n1955-10-06,2.25\r\n1955-10-07,2.25\r\n1955-10-08,2.25\r\n1955-10-09,2.25\r\n1955-10-10,2.25\r\n1955-10-11,2.25\r\n1955-10-12,2.25\r\n1955-10-13,2.25\r\n1955-10-14,2.25\r\n1955-10-15,2.25\r\n1955-10-16,2.25\r\n1955-10-17,2.25\r\n1955-10-18,2.19\r\n1955-10-19,2.19\r\n1955-10-20,2.25\r\n1955-10-21,2.25\r\n1955-10-22,2.25\r\n1955-10-23,2.25\r\n1955-10-24,2.25\r\n1955-10-25,2.25\r\n1955-10-26,2.25\r\n1955-10-27,2.25\r\n1955-10-28,2.25\r\n1955-10-29,2.25\r\n1955-10-30,2.25\r\n1955-10-31,2.25\r\n1955-11-01,2.25\r\n1955-11-02,2.25\r\n1955-11-03,2.25\r\n1955-11-04,2.25\r\n1955-11-05,2.25\r\n1955-11-06,2.25\r\n1955-11-07,2.25\r\n1955-11-08,2.25\r\n1955-11-09,2.25\r\n1955-11-10,2.25\r\n1955-11-11,2.25\r\n1955-11-12,2.25\r\n1955-11-13,2.25\r\n1955-11-14,2.25\r\n1955-11-15,2.25\r\n1955-11-16,2.19\r\n1955-11-17,2.25\r\n1955-11-18,2.50\r\n1955-11-19,2.50\r\n1955-11-20,2.50\r\n1955-11-21,2.50\r\n1955-11-22,2.50\r\n1955-11-23,2.50\r\n1955-11-24,2.50\r\n1955-11-25,2.50\r\n1955-11-26,2.50\r\n1955-11-27,2.50\r\n1955-11-28,2.50\r\n1955-11-29,2.50\r\n1955-11-30,2.44\r\n1955-12-01,2.50\r\n1955-12-02,2.50\r\n1955-12-03,2.50\r\n1955-12-04,2.50\r\n1955-12-05,2.50\r\n1955-12-06,2.50\r\n1955-12-07,2.50\r\n1955-12-08,2.50\r\n1955-12-09,2.50\r\n1955-12-10,2.50\r\n1955-12-11,2.50\r\n1955-12-12,2.50\r\n1955-12-13,2.44\r\n1955-12-14,2.25\r\n1955-12-15,2.44\r\n1955-12-16,2.50\r\n1955-12-17,2.50\r\n1955-12-18,2.50\r\n1955-12-19,2.50\r\n1955-12-20,2.50\r\n1955-12-21,2.44\r\n1955-12-22,2.50\r\n1955-12-23,2.50\r\n1955-12-24,2.50\r\n1955-12-25,2.50\r\n1955-12-26,2.50\r\n1955-12-27,2.50\r\n1955-12-28,2.38\r\n1955-12-29,2.50\r\n1955-12-30,2.50\r\n1955-12-31,2.50\r\n1956-01-01,2.50\r\n1956-01-02,2.50\r\n1956-01-03,2.44\r\n1956-01-04,1.25\r\n1956-01-05,2.50\r\n1956-01-06,2.50\r\n1956-01-07,2.50\r\n1956-01-08,2.50\r\n1956-01-09,2.50\r\n1956-01-10,2.44\r\n1956-01-11,2.44\r\n1956-01-12,2.50\r\n1956-01-13,2.50\r\n1956-01-14,2.50\r\n1956-01-15,2.50\r\n1956-01-16,2.50\r\n1956-01-17,2.50\r\n1956-01-18,2.50\r\n1956-01-19,2.50\r\n1956-01-20,2.50\r\n1956-01-21,2.50\r\n1956-01-22,2.50\r\n1956-01-23,2.50\r\n1956-01-24,2.50\r\n1956-01-25,2.50\r\n1956-01-26,2.50\r\n1956-01-27,2.50\r\n1956-01-28,2.50\r\n1956-01-29,2.50\r\n1956-01-30,2.50\r\n1956-01-31,2.50\r\n1956-02-01,2.50\r\n1956-02-02,2.50\r\n1956-02-03,2.50\r\n1956-02-04,2.50\r\n1956-02-05,2.50\r\n1956-02-06,2.50\r\n1956-02-07,2.50\r\n1956-02-08,2.50\r\n1956-02-09,2.50\r\n1956-02-10,2.50\r\n1956-02-11,2.50\r\n1956-02-12,2.50\r\n1956-02-13,2.50\r\n1956-02-14,2.50\r\n1956-02-15,2.50\r\n1956-02-16,2.50\r\n1956-02-17,2.50\r\n1956-02-18,2.50\r\n1956-02-19,2.50\r\n1956-02-20,2.50\r\n1956-02-21,2.44\r\n1956-02-22,2.44\r\n1956-02-23,2.50\r\n1956-02-24,2.50\r\n1956-02-25,2.50\r\n1956-02-26,2.50\r\n1956-02-27,2.50\r\n1956-02-28,2.50\r\n1956-02-29,2.50\r\n1956-03-01,2.50\r\n1956-03-02,2.50\r\n1956-03-03,2.50\r\n1956-03-04,2.50\r\n1956-03-05,2.50\r\n1956-03-06,2.50\r\n1956-03-07,2.50\r\n1956-03-08,2.50\r\n1956-03-09,2.50\r\n1956-03-10,2.50\r\n1956-03-11,2.50\r\n1956-03-12,2.50\r\n1956-03-13,2.50\r\n1956-03-14,2.44\r\n1956-03-15,2.50\r\n1956-03-16,2.50\r\n1956-03-17,2.50\r\n1956-03-18,2.50\r\n1956-03-19,2.50\r\n1956-03-20,2.50\r\n1956-03-21,2.50\r\n1956-03-22,2.50\r\n1956-03-23,2.50\r\n1956-03-24,2.50\r\n1956-03-25,2.50\r\n1956-03-26,2.50\r\n1956-03-27,2.50\r\n1956-03-28,2.50\r\n1956-03-29,2.50\r\n1956-03-30,2.50\r\n1956-03-31,2.50\r\n1956-04-01,2.50\r\n1956-04-02,2.50\r\n1956-04-03,2.50\r\n1956-04-04,2.50\r\n1956-04-05,2.50\r\n1956-04-06,2.50\r\n1956-04-07,2.50\r\n1956-04-08,2.50\r\n1956-04-09,2.50\r\n1956-04-10,2.50\r\n1956-04-11,2.50\r\n1956-04-12,2.50\r\n1956-04-13,2.75\r\n1956-04-14,2.75\r\n1956-04-15,2.75\r\n1956-04-16,2.69\r\n1956-04-17,2.38\r\n1956-04-18,2.38\r\n1956-04-19,2.75\r\n1956-04-20,2.75\r\n1956-04-21,2.75\r\n1956-04-22,2.75\r\n1956-04-23,2.75\r\n1956-04-24,2.75\r\n1956-04-25,2.75\r\n1956-04-26,2.75\r\n1956-04-27,2.75\r\n1956-04-28,2.75\r\n1956-04-29,2.75\r\n1956-04-30,2.75\r\n1956-05-01,2.75\r\n1956-05-02,2.75\r\n1956-05-03,2.75\r\n1956-05-04,2.75\r\n1956-05-05,2.75\r\n1956-05-06,2.75\r\n1956-05-07,2.75\r\n1956-05-08,2.75\r\n1956-05-09,2.75\r\n1956-05-10,2.75\r\n1956-05-11,2.75\r\n1956-05-12,2.75\r\n1956-05-13,2.75\r\n1956-05-14,2.75\r\n1956-05-15,2.75\r\n1956-05-16,2.75\r\n1956-05-17,2.75\r\n1956-05-18,2.75\r\n1956-05-19,2.75\r\n1956-05-20,2.75\r\n1956-05-21,2.75\r\n1956-05-22,2.75\r\n1956-05-23,2.75\r\n1956-05-24,2.75\r\n1956-05-25,2.75\r\n1956-05-26,2.75\r\n1956-05-27,2.75\r\n1956-05-28,2.75\r\n1956-05-29,2.75\r\n1956-05-30,2.75\r\n1956-05-31,2.75\r\n1956-06-01,2.75\r\n1956-06-02,2.75\r\n1956-06-03,2.75\r\n1956-06-04,2.75\r\n1956-06-05,2.75\r\n1956-06-06,2.50\r\n1956-06-07,2.75\r\n1956-06-08,2.75\r\n1956-06-09,2.75\r\n1956-06-10,2.75\r\n1956-06-11,2.75\r\n1956-06-12,2.75\r\n1956-06-13,2.75\r\n1956-06-14,2.75\r\n1956-06-15,2.75\r\n1956-06-16,2.75\r\n1956-06-17,2.75\r\n1956-06-18,2.75\r\n1956-06-19,2.75\r\n1956-06-20,2.75\r\n1956-06-21,2.75\r\n1956-06-22,2.75\r\n1956-06-23,2.75\r\n1956-06-24,2.75\r\n1956-06-25,2.75\r\n1956-06-26,2.25\r\n1956-06-27,2.25\r\n1956-06-28,2.75\r\n1956-06-29,2.75\r\n1956-06-30,2.75\r\n1956-07-01,2.75\r\n1956-07-02,2.75\r\n1956-07-03,2.75\r\n1956-07-04,2.75\r\n1956-07-05,2.75\r\n1956-07-06,2.75\r\n1956-07-07,2.75\r\n1956-07-08,2.75\r\n1956-07-09,2.75\r\n1956-07-10,2.75\r\n1956-07-11,2.75\r\n1956-07-12,2.75\r\n1956-07-13,2.75\r\n1956-07-14,2.75\r\n1956-07-15,2.75\r\n1956-07-16,2.75\r\n1956-07-17,2.75\r\n1956-07-18,2.75\r\n1956-07-19,2.75\r\n1956-07-20,2.75\r\n1956-07-21,2.75\r\n1956-07-22,2.75\r\n1956-07-23,2.75\r\n1956-07-24,2.75\r\n1956-07-25,2.69\r\n1956-07-26,2.75\r\n1956-07-27,2.75\r\n1956-07-28,2.75\r\n1956-07-29,2.75\r\n1956-07-30,2.75\r\n1956-07-31,2.69\r\n1956-08-01,2.69\r\n1956-08-02,2.75\r\n1956-08-03,2.75\r\n1956-08-04,2.75\r\n1956-08-05,2.75\r\n1956-08-06,2.75\r\n1956-08-07,2.75\r\n1956-08-08,2.75\r\n1956-08-09,2.75\r\n1956-08-10,2.75\r\n1956-08-11,2.75\r\n1956-08-12,2.75\r\n1956-08-13,2.75\r\n1956-08-14,2.75\r\n1956-08-15,2.75\r\n1956-08-16,2.75\r\n1956-08-17,2.75\r\n1956-08-18,2.75\r\n1956-08-19,2.75\r\n1956-08-20,2.75\r\n1956-08-21,2.75\r\n1956-08-22,2.69\r\n1956-08-23,2.75\r\n1956-08-24,3.00\r\n1956-08-25,3.00\r\n1956-08-26,3.00\r\n1956-08-27,2.88\r\n1956-08-28,2.00\r\n1956-08-29,1.75\r\n1956-08-30,3.00\r\n1956-08-31,3.00\r\n1956-09-01,3.00\r\n1956-09-02,3.00\r\n1956-09-03,3.00\r\n1956-09-04,3.00\r\n1956-09-05,3.00\r\n1956-09-06,3.00\r\n1956-09-07,3.00\r\n1956-09-08,3.00\r\n1956-09-09,3.00\r\n1956-09-10,3.00\r\n1956-09-11,3.00\r\n1956-09-12,2.50\r\n1956-09-13,3.00\r\n1956-09-14,3.00\r\n1956-09-15,3.00\r\n1956-09-16,3.00\r\n1956-09-17,3.00\r\n1956-09-18,2.50\r\n1956-09-19,2.50\r\n1956-09-20,3.00\r\n1956-09-21,3.00\r\n1956-09-22,3.00\r\n1956-09-23,3.00\r\n1956-09-24,3.00\r\n1956-09-25,3.00\r\n1956-09-26,3.00\r\n1956-09-27,3.00\r\n1956-09-28,3.00\r\n1956-09-29,3.00\r\n1956-09-30,3.00\r\n1956-10-01,3.00\r\n1956-10-02,3.00\r\n1956-10-03,3.00\r\n1956-10-04,3.00\r\n1956-10-05,3.00\r\n1956-10-06,3.00\r\n1956-10-07,3.00\r\n1956-10-08,3.00\r\n1956-10-09,2.94\r\n1956-10-10,2.94\r\n1956-10-11,3.00\r\n1956-10-12,3.00\r\n1956-10-13,3.00\r\n1956-10-14,3.00\r\n1956-10-15,3.00\r\n1956-10-16,2.94\r\n1956-10-17,2.50\r\n1956-10-18,3.00\r\n1956-10-19,2.94\r\n1956-10-20,2.94\r\n1956-10-21,2.94\r\n1956-10-22,2.94\r\n1956-10-23,2.94\r\n1956-10-24,2.94\r\n1956-10-25,3.00\r\n1956-10-26,3.00\r\n1956-10-27,3.00\r\n1956-10-28,3.00\r\n1956-10-29,3.00\r\n1956-10-30,2.94\r\n1956-10-31,3.00\r\n1956-11-01,3.00\r\n1956-11-02,3.00\r\n1956-11-03,3.00\r\n1956-11-04,3.00\r\n1956-11-05,3.00\r\n1956-11-06,3.00\r\n1956-11-07,3.00\r\n1956-11-08,3.00\r\n1956-11-09,3.00\r\n1956-11-10,3.00\r\n1956-11-11,3.00\r\n1956-11-12,3.00\r\n1956-11-13,3.00\r\n1956-11-14,2.88\r\n1956-11-15,3.00\r\n1956-11-16,3.00\r\n1956-11-17,3.00\r\n1956-11-18,3.00\r\n1956-11-19,3.00\r\n1956-11-20,2.94\r\n1956-11-21,2.88\r\n1956-11-22,2.88\r\n1956-11-23,3.00\r\n1956-11-24,3.00\r\n1956-11-25,3.00\r\n1956-11-26,3.00\r\n1956-11-27,2.25\r\n1956-11-28,1.00\r\n1956-11-29,2.63\r\n1956-11-30,3.00\r\n1956-12-01,3.00\r\n1956-12-02,3.00\r\n1956-12-03,3.00\r\n1956-12-04,3.00\r\n1956-12-05,3.00\r\n1956-12-06,3.00\r\n1956-12-07,3.00\r\n1956-12-08,3.00\r\n1956-12-09,3.00\r\n1956-12-10,3.00\r\n1956-12-11,2.50\r\n1956-12-12,2.00\r\n1956-12-13,3.00\r\n1956-12-14,3.00\r\n1956-12-15,3.00\r\n1956-12-16,3.00\r\n1956-12-17,3.00\r\n1956-12-18,2.75\r\n1956-12-19,3.00\r\n1956-12-20,3.00\r\n1956-12-21,3.00\r\n1956-12-22,3.00\r\n1956-12-23,3.00\r\n1956-12-24,3.00\r\n1956-12-25,3.00\r\n1956-12-26,2.94\r\n1956-12-27,3.00\r\n1956-12-28,3.00\r\n1956-12-29,3.00\r\n1956-12-30,3.00\r\n1956-12-31,3.00\r\n1957-01-01,3.00\r\n1957-01-02,1.00\r\n1957-01-03,3.00\r\n1957-01-04,3.00\r\n1957-01-05,3.00\r\n1957-01-06,3.00\r\n1957-01-07,3.00\r\n1957-01-08,2.25\r\n1957-01-09,2.50\r\n1957-01-10,2.94\r\n1957-01-11,2.94\r\n1957-01-12,2.94\r\n1957-01-13,2.94\r\n1957-01-14,2.94\r\n1957-01-15,2.88\r\n1957-01-16,2.50\r\n1957-01-17,3.00\r\n1957-01-18,3.00\r\n1957-01-19,3.00\r\n1957-01-20,3.00\r\n1957-01-21,2.94\r\n1957-01-22,2.88\r\n1957-01-23,2.50\r\n1957-01-24,3.00\r\n1957-01-25,3.00\r\n1957-01-26,3.00\r\n1957-01-27,3.00\r\n1957-01-28,3.00\r\n1957-01-29,3.00\r\n1957-01-30,3.00\r\n1957-01-31,3.00\r\n1957-02-01,3.00\r\n1957-02-02,3.00\r\n1957-02-03,3.00\r\n1957-02-04,3.00\r\n1957-02-05,3.00\r\n1957-02-06,3.00\r\n1957-02-07,3.00\r\n1957-02-08,3.00\r\n1957-02-09,3.00\r\n1957-02-10,3.00\r\n1957-02-11,3.00\r\n1957-02-12,3.00\r\n1957-02-13,3.00\r\n1957-02-14,3.00\r\n1957-02-15,3.00\r\n1957-02-16,3.00\r\n1957-02-17,3.00\r\n1957-02-18,3.00\r\n1957-02-19,3.00\r\n1957-02-20,3.00\r\n1957-02-21,3.00\r\n1957-02-22,3.00\r\n1957-02-23,3.00\r\n1957-02-24,3.00\r\n1957-02-25,3.00\r\n1957-02-26,3.00\r\n1957-02-27,3.00\r\n1957-02-28,3.00\r\n1957-03-01,3.00\r\n1957-03-02,3.00\r\n1957-03-03,3.00\r\n1957-03-04,3.00\r\n1957-03-05,3.00\r\n1957-03-06,3.00\r\n1957-03-07,3.00\r\n1957-03-08,3.00\r\n1957-03-09,3.00\r\n1957-03-10,3.00\r\n1957-03-11,3.00\r\n1957-03-12,3.00\r\n1957-03-13,3.00\r\n1957-03-14,3.00\r\n1957-03-15,3.00\r\n1957-03-16,3.00\r\n1957-03-17,3.00\r\n1957-03-18,3.00\r\n1957-03-19,3.00\r\n1957-03-20,3.00\r\n1957-03-21,3.00\r\n1957-03-22,3.00\r\n1957-03-23,3.00\r\n1957-03-24,3.00\r\n1957-03-25,3.00\r\n1957-03-26,2.75\r\n1957-03-27,2.25\r\n1957-03-28,3.00\r\n1957-03-29,2.94\r\n1957-03-30,2.94\r\n1957-03-31,2.94\r\n1957-04-01,3.00\r\n1957-04-02,3.00\r\n1957-04-03,3.00\r\n1957-04-04,3.00\r\n1957-04-05,3.00\r\n1957-04-06,3.00\r\n1957-04-07,3.00\r\n1957-04-08,3.00\r\n1957-04-09,3.00\r\n1957-04-10,3.00\r\n1957-04-11,3.00\r\n1957-04-12,3.00\r\n1957-04-13,3.00\r\n1957-04-14,3.00\r\n1957-04-15,3.00\r\n1957-04-16,3.00\r\n1957-04-17,3.00\r\n1957-04-18,3.00\r\n1957-04-19,3.00\r\n1957-04-20,3.00\r\n1957-04-21,3.00\r\n1957-04-22,3.00\r\n1957-04-23,3.00\r\n1957-04-24,3.00\r\n1957-04-25,3.00\r\n1957-04-26,3.00\r\n1957-04-27,3.00\r\n1957-04-28,3.00\r\n1957-04-29,3.00\r\n1957-04-30,3.00\r\n1957-05-01,3.00\r\n1957-05-02,3.00\r\n1957-05-03,3.00\r\n1957-05-04,3.00\r\n1957-05-05,3.00\r\n1957-05-06,3.00\r\n1957-05-07,3.00\r\n1957-05-08,3.00\r\n1957-05-09,3.00\r\n1957-05-10,3.00\r\n1957-05-11,3.00\r\n1957-05-12,3.00\r\n1957-05-13,3.00\r\n1957-05-14,3.00\r\n1957-05-15,3.00\r\n1957-05-16,3.00\r\n1957-05-17,3.00\r\n1957-05-18,3.00\r\n1957-05-19,3.00\r\n1957-05-20,3.00\r\n1957-05-21,3.00\r\n1957-05-22,3.00\r\n1957-05-23,3.00\r\n1957-05-24,3.00\r\n1957-05-25,3.00\r\n1957-05-26,3.00\r\n1957-05-27,3.00\r\n1957-05-28,3.00\r\n1957-05-29,3.00\r\n1957-05-30,3.00\r\n1957-05-31,3.00\r\n1957-06-01,3.00\r\n1957-06-02,3.00\r\n1957-06-03,3.00\r\n1957-06-04,3.00\r\n1957-06-05,3.00\r\n1957-06-06,3.00\r\n1957-06-07,3.00\r\n1957-06-08,3.00\r\n1957-06-09,3.00\r\n1957-06-10,3.00\r\n1957-06-11,3.00\r\n1957-06-12,3.00\r\n1957-06-13,3.00\r\n1957-06-14,3.00\r\n1957-06-15,3.00\r\n1957-06-16,3.00\r\n1957-06-17,3.00\r\n1957-06-18,3.00\r\n1957-06-19,3.00\r\n1957-06-20,3.00\r\n1957-06-21,3.00\r\n1957-06-22,3.00\r\n1957-06-23,3.00\r\n1957-06-24,3.00\r\n1957-06-25,3.00\r\n1957-06-26,3.00\r\n1957-06-27,3.00\r\n1957-06-28,3.00\r\n1957-06-29,3.00\r\n1957-06-30,3.00\r\n1957-07-01,3.00\r\n1957-07-02,3.00\r\n1957-07-03,3.00\r\n1957-07-04,3.00\r\n1957-07-05,3.00\r\n1957-07-06,3.00\r\n1957-07-07,3.00\r\n1957-07-08,3.00\r\n1957-07-09,3.00\r\n1957-07-10,3.00\r\n1957-07-11,3.00\r\n1957-07-12,3.00\r\n1957-07-13,3.00\r\n1957-07-14,3.00\r\n1957-07-15,3.00\r\n1957-07-16,3.00\r\n1957-07-17,3.00\r\n1957-07-18,3.00\r\n1957-07-19,3.00\r\n1957-07-20,3.00\r\n1957-07-21,3.00\r\n1957-07-22,3.00\r\n1957-07-23,3.00\r\n1957-07-24,2.88\r\n1957-07-25,3.00\r\n1957-07-26,3.00\r\n1957-07-27,3.00\r\n1957-07-28,3.00\r\n1957-07-29,3.00\r\n1957-07-30,2.94\r\n1957-07-31,2.88\r\n1957-08-01,3.00\r\n1957-08-02,3.00\r\n1957-08-03,3.00\r\n1957-08-04,3.00\r\n1957-08-05,3.00\r\n1957-08-06,3.00\r\n1957-08-07,3.00\r\n1957-08-08,3.00\r\n1957-08-09,3.00\r\n1957-08-10,3.00\r\n1957-08-11,3.00\r\n1957-08-12,3.25\r\n1957-08-13,3.38\r\n1957-08-14,3.00\r\n1957-08-15,3.25\r\n1957-08-16,3.38\r\n1957-08-17,3.38\r\n1957-08-18,3.38\r\n1957-08-19,3.25\r\n1957-08-20,3.38\r\n1957-08-21,3.00\r\n1957-08-22,3.38\r\n1957-08-23,3.50\r\n1957-08-24,3.50\r\n1957-08-25,3.50\r\n1957-08-26,3.50\r\n1957-08-27,3.50\r\n1957-08-28,3.50\r\n1957-08-29,3.50\r\n1957-08-30,3.50\r\n1957-08-31,3.50\r\n1957-09-01,3.50\r\n1957-09-02,3.50\r\n1957-09-03,3.50\r\n1957-09-04,2.50\r\n1957-09-05,3.50\r\n1957-09-06,3.50\r\n1957-09-07,3.50\r\n1957-09-08,3.50\r\n1957-09-09,3.50\r\n1957-09-10,3.50\r\n1957-09-11,3.50\r\n1957-09-12,3.50\r\n1957-09-13,3.50\r\n1957-09-14,3.50\r\n1957-09-15,3.50\r\n1957-09-16,3.50\r\n1957-09-17,3.50\r\n1957-09-18,3.50\r\n1957-09-19,3.50\r\n1957-09-20,3.50\r\n1957-09-21,3.50\r\n1957-09-22,3.50\r\n1957-09-23,3.50\r\n1957-09-24,3.50\r\n1957-09-25,3.50\r\n1957-09-26,3.50\r\n1957-09-27,3.50\r\n1957-09-28,3.50\r\n1957-09-29,3.50\r\n1957-09-30,3.50\r\n1957-10-01,3.50\r\n1957-10-02,3.50\r\n1957-10-03,3.50\r\n1957-10-04,3.50\r\n1957-10-05,3.50\r\n1957-10-06,3.50\r\n1957-10-07,3.50\r\n1957-10-08,3.50\r\n1957-10-09,3.50\r\n1957-10-10,3.50\r\n1957-10-11,3.50\r\n1957-10-12,3.50\r\n1957-10-13,3.50\r\n1957-10-14,3.50\r\n1957-10-15,3.50\r\n1957-10-16,3.50\r\n1957-10-17,3.50\r\n1957-10-18,3.50\r\n1957-10-19,3.50\r\n1957-10-20,3.50\r\n1957-10-21,3.50\r\n1957-10-22,3.50\r\n1957-10-23,3.50\r\n1957-10-24,3.50\r\n1957-10-25,3.50\r\n1957-10-26,3.50\r\n1957-10-27,3.50\r\n1957-10-28,3.50\r\n1957-10-29,3.50\r\n1957-10-30,3.50\r\n1957-10-31,3.50\r\n1957-11-01,3.50\r\n1957-11-02,3.50\r\n1957-11-03,3.50\r\n1957-11-04,3.50\r\n1957-11-05,3.50\r\n1957-11-06,3.50\r\n1957-11-07,3.50\r\n1957-11-08,3.50\r\n1957-11-09,3.50\r\n1957-11-10,3.50\r\n1957-11-11,3.50\r\n1957-11-12,3.50\r\n1957-11-13,3.25\r\n1957-11-14,3.50\r\n1957-11-15,3.50\r\n1957-11-16,3.50\r\n1957-11-17,3.50\r\n1957-11-18,3.00\r\n1957-11-19,3.00\r\n1957-11-20,3.00\r\n1957-11-21,3.00\r\n1957-11-22,3.00\r\n1957-11-23,3.00\r\n1957-11-24,3.00\r\n1957-11-25,3.00\r\n1957-11-26,3.00\r\n1957-11-27,3.00\r\n1957-11-28,3.00\r\n1957-11-29,3.00\r\n1957-11-30,3.00\r\n1957-12-01,3.00\r\n1957-12-02,3.00\r\n1957-12-03,2.50\r\n1957-12-04,3.00\r\n1957-12-05,3.00\r\n1957-12-06,3.00\r\n1957-12-07,3.00\r\n1957-12-08,3.00\r\n1957-12-09,3.00\r\n1957-12-10,3.00\r\n1957-12-11,3.00\r\n1957-12-12,3.00\r\n1957-12-13,3.00\r\n1957-12-14,3.00\r\n1957-12-15,3.00\r\n1957-12-16,3.00\r\n1957-12-17,3.00\r\n1957-12-18,3.00\r\n1957-12-19,3.00\r\n1957-12-20,3.00\r\n1957-12-21,3.00\r\n1957-12-22,3.00\r\n1957-12-23,3.00\r\n1957-12-24,3.00\r\n1957-12-25,3.00\r\n1957-12-26,3.00\r\n1957-12-27,3.00\r\n1957-12-28,3.00\r\n1957-12-29,3.00\r\n1957-12-30,3.00\r\n1957-12-31,3.00\r\n1958-01-01,3.00\r\n1958-01-02,3.00\r\n1958-01-03,3.00\r\n1958-01-04,3.00\r\n1958-01-05,3.00\r\n1958-01-06,3.00\r\n1958-01-07,2.88\r\n1958-01-08,3.00\r\n1958-01-09,3.00\r\n1958-01-10,3.00\r\n1958-01-11,3.00\r\n1958-01-12,3.00\r\n1958-01-13,3.00\r\n1958-01-14,2.88\r\n1958-01-15,2.25\r\n1958-01-16,3.00\r\n1958-01-17,3.00\r\n1958-01-18,3.00\r\n1958-01-19,3.00\r\n1958-01-20,3.00\r\n1958-01-21,3.00\r\n1958-01-22,3.00\r\n1958-01-23,2.75\r\n1958-01-24,2.75\r\n1958-01-25,2.75\r\n1958-01-26,2.75\r\n1958-01-27,2.50\r\n1958-01-28,1.75\r\n1958-01-29,0.75\r\n1958-01-30,1.75\r\n1958-01-31,1.50\r\n1958-02-01,1.50\r\n1958-02-02,1.50\r\n1958-02-03,1.75\r\n1958-02-04,1.25\r\n1958-02-05,1.25\r\n1958-02-06,2.25\r\n1958-02-07,2.75\r\n1958-02-08,2.75\r\n1958-02-09,2.75\r\n1958-02-10,2.75\r\n1958-02-11,2.63\r\n1958-02-12,2.63\r\n1958-02-13,2.75\r\n1958-02-14,2.75\r\n1958-02-15,2.75\r\n1958-02-16,2.75\r\n1958-02-17,2.25\r\n1958-02-18,1.00\r\n1958-02-19,0.50\r\n1958-02-20,1.00\r\n1958-02-21,0.75\r\n1958-02-22,0.75\r\n1958-02-23,0.75\r\n1958-02-24,1.00\r\n1958-02-25,0.50\r\n1958-02-26,0.38\r\n1958-02-27,0.75\r\n1958-02-28,0.50\r\n1958-03-01,0.50\r\n1958-03-02,0.50\r\n1958-03-03,1.00\r\n1958-03-04,2.00\r\n1958-03-05,2.50\r\n1958-03-06,2.00\r\n1958-03-07,1.25\r\n1958-03-08,1.25\r\n1958-03-09,1.25\r\n1958-03-10,1.25\r\n1958-03-11,1.25\r\n1958-03-12,1.25\r\n1958-03-13,1.63\r\n1958-03-14,1.50\r\n1958-03-15,1.50\r\n1958-03-16,1.50\r\n1958-03-17,1.25\r\n1958-03-18,1.50\r\n1958-03-19,1.25\r\n1958-03-20,1.50\r\n1958-03-21,1.50\r\n1958-03-22,1.50\r\n1958-03-23,1.50\r\n1958-03-24,1.00\r\n1958-03-25,0.25\r\n1958-03-26,0.25\r\n1958-03-27,0.75\r\n1958-03-28,0.75\r\n1958-03-29,0.75\r\n1958-03-30,0.75\r\n1958-03-31,0.50\r\n1958-04-01,0.25\r\n1958-04-02,0.13\r\n1958-04-03,0.75\r\n1958-04-04,0.75\r\n1958-04-05,0.75\r\n1958-04-06,0.75\r\n1958-04-07,1.00\r\n1958-04-08,1.50\r\n1958-04-09,2.00\r\n1958-04-10,2.13\r\n1958-04-11,1.50\r\n1958-04-12,1.50\r\n1958-04-13,1.50\r\n1958-04-14,1.75\r\n1958-04-15,1.75\r\n1958-04-16,2.13\r\n1958-04-17,1.25\r\n1958-04-18,1.00\r\n1958-04-19,1.00\r\n1958-04-20,1.00\r\n1958-04-21,1.50\r\n1958-04-22,1.63\r\n1958-04-23,1.63\r\n1958-04-24,1.50\r\n1958-04-25,1.63\r\n1958-04-26,1.63\r\n1958-04-27,1.63\r\n1958-04-28,1.63\r\n1958-04-29,0.50\r\n1958-04-30,0.25\r\n1958-05-01,0.75\r\n1958-05-02,1.25\r\n1958-05-03,1.25\r\n1958-05-04,1.25\r\n1958-05-05,1.25\r\n1958-05-06,1.00\r\n1958-05-07,1.00\r\n1958-05-08,1.25\r\n1958-05-09,1.25\r\n1958-05-10,1.25\r\n1958-05-11,1.25\r\n1958-05-12,1.25\r\n1958-05-13,0.25\r\n1958-05-14,0.13\r\n1958-05-15,0.50\r\n1958-05-16,0.63\r\n1958-05-17,0.63\r\n1958-05-18,0.63\r\n1958-05-19,0.38\r\n1958-05-20,0.25\r\n1958-05-21,0.25\r\n1958-05-22,0.25\r\n1958-05-23,0.25\r\n1958-05-24,0.25\r\n1958-05-25,0.25\r\n1958-05-26,0.13\r\n1958-05-27,0.13\r\n1958-05-28,0.13\r\n1958-05-29,0.13\r\n1958-05-30,0.13\r\n1958-05-31,0.13\r\n1958-06-01,0.13\r\n1958-06-02,0.25\r\n1958-06-03,1.00\r\n1958-06-04,0.50\r\n1958-06-05,1.25\r\n1958-06-06,1.50\r\n1958-06-07,1.50\r\n1958-06-08,1.50\r\n1958-06-09,1.63\r\n1958-06-10,1.63\r\n1958-06-11,0.75\r\n1958-06-12,1.25\r\n1958-06-13,1.63\r\n1958-06-14,1.63\r\n1958-06-15,1.63\r\n1958-06-16,1.63\r\n1958-06-17,1.25\r\n1958-06-18,0.50\r\n1958-06-19,0.75\r\n1958-06-20,0.75\r\n1958-06-21,0.75\r\n1958-06-22,0.75\r\n1958-06-23,0.50\r\n1958-06-24,0.25\r\n1958-06-25,0.50\r\n1958-06-26,0.50\r\n1958-06-27,0.50\r\n1958-06-28,0.50\r\n1958-06-29,0.50\r\n1958-06-30,0.50\r\n1958-07-01,0.25\r\n1958-07-02,0.25\r\n1958-07-03,0.75\r\n1958-07-04,0.75\r\n1958-07-05,0.75\r\n1958-07-06,0.75\r\n1958-07-07,1.25\r\n1958-07-08,0.63\r\n1958-07-09,0.50\r\n1958-07-10,1.25\r\n1958-07-11,1.63\r\n1958-07-12,1.63\r\n1958-07-13,1.63\r\n1958-07-14,1.63\r\n1958-07-15,1.00\r\n1958-07-16,0.50\r\n1958-07-17,0.75\r\n1958-07-18,0.50\r\n1958-07-19,0.50\r\n1958-07-20,0.50\r\n1958-07-21,0.38\r\n1958-07-22,0.25\r\n1958-07-23,0.25\r\n1958-07-24,0.50\r\n1958-07-25,0.50\r\n1958-07-26,0.50\r\n1958-07-27,0.50\r\n1958-07-28,0.25\r\n1958-07-29,0.13\r\n1958-07-30,0.13\r\n1958-07-31,0.38\r\n1958-08-01,1.00\r\n1958-08-02,1.00\r\n1958-08-03,1.00\r\n1958-08-04,1.00\r\n1958-08-05,0.75\r\n1958-08-06,1.25\r\n1958-08-07,1.63\r\n1958-08-08,1.63\r\n1958-08-09,1.63\r\n1958-08-10,1.63\r\n1958-08-11,1.75\r\n1958-08-12,1.63\r\n1958-08-13,1.50\r\n1958-08-14,1.63\r\n1958-08-15,1.75\r\n1958-08-16,1.75\r\n1958-08-17,1.75\r\n1958-08-18,1.75\r\n1958-08-19,1.38\r\n1958-08-20,1.25\r\n1958-08-21,1.75\r\n1958-08-22,1.75\r\n1958-08-23,1.75\r\n1958-08-24,1.75\r\n1958-08-25,1.75\r\n1958-08-26,1.75\r\n1958-08-27,1.25\r\n1958-08-28,1.75\r\n1958-08-29,1.75\r\n1958-08-30,1.75\r\n1958-08-31,1.75\r\n1958-09-01,1.75\r\n1958-09-02,1.75\r\n1958-09-03,1.25\r\n1958-09-04,1.75\r\n1958-09-05,1.75\r\n1958-09-06,1.75\r\n1958-09-07,1.75\r\n1958-09-08,1.75\r\n1958-09-09,1.25\r\n1958-09-10,1.75\r\n1958-09-11,1.75\r\n1958-09-12,2.00\r\n1958-09-13,2.00\r\n1958-09-14,2.00\r\n1958-09-15,1.75\r\n1958-09-16,1.13\r\n1958-09-17,0.75\r\n1958-09-18,2.00\r\n1958-09-19,2.00\r\n1958-09-20,2.00\r\n1958-09-21,2.00\r\n1958-09-22,1.88\r\n1958-09-23,1.75\r\n1958-09-24,1.75\r\n1958-09-25,2.00\r\n1958-09-26,2.00\r\n1958-09-27,2.00\r\n1958-09-28,2.00\r\n1958-09-29,2.00\r\n1958-09-30,1.50\r\n1958-10-01,1.00\r\n1958-10-02,2.00\r\n1958-10-03,2.00\r\n1958-10-04,2.00\r\n1958-10-05,2.00\r\n1958-10-06,2.00\r\n1958-10-07,1.50\r\n1958-10-08,2.00\r\n1958-10-09,2.00\r\n1958-10-10,2.00\r\n1958-10-11,2.00\r\n1958-10-12,2.00\r\n1958-10-13,2.00\r\n1958-10-14,2.00\r\n1958-10-15,1.75\r\n1958-10-16,2.00\r\n1958-10-17,2.00\r\n1958-10-18,2.00\r\n1958-10-19,2.00\r\n1958-10-20,2.00\r\n1958-10-21,1.88\r\n1958-10-22,2.00\r\n1958-10-23,2.00\r\n1958-10-24,2.00\r\n1958-10-25,2.00\r\n1958-10-26,2.00\r\n1958-10-27,1.63\r\n1958-10-28,0.50\r\n1958-10-29,0.13\r\n1958-10-30,1.50\r\n1958-10-31,2.00\r\n1958-11-01,2.00\r\n1958-11-02,2.00\r\n1958-11-03,2.00\r\n1958-11-04,2.00\r\n1958-11-05,2.00\r\n1958-11-06,2.00\r\n1958-11-07,2.50\r\n1958-11-08,2.50\r\n1958-11-09,2.50\r\n1958-11-10,1.75\r\n1958-11-11,1.75\r\n1958-11-12,1.00\r\n1958-11-13,2.25\r\n1958-11-14,2.50\r\n1958-11-15,2.50\r\n1958-11-16,2.50\r\n1958-11-17,2.50\r\n1958-11-18,2.50\r\n1958-11-19,2.50\r\n1958-11-20,2.50\r\n1958-11-21,2.25\r\n1958-11-22,2.25\r\n1958-11-23,2.25\r\n1958-11-24,2.50\r\n1958-11-25,2.50\r\n1958-11-26,2.50\r\n1958-11-27,2.50\r\n1958-11-28,2.50\r\n1958-11-29,2.50\r\n1958-11-30,2.50\r\n1958-12-01,2.38\r\n1958-12-02,1.50\r\n1958-12-03,2.25\r\n1958-12-04,2.50\r\n1958-12-05,2.50\r\n1958-12-06,2.50\r\n1958-12-07,2.50\r\n1958-12-08,2.25\r\n1958-12-09,2.00\r\n1958-12-10,2.50\r\n1958-12-11,2.50\r\n1958-12-12,2.50\r\n1958-12-13,2.50\r\n1958-12-14,2.50\r\n1958-12-15,2.50\r\n1958-12-16,2.50\r\n1958-12-17,2.50\r\n1958-12-18,2.50\r\n1958-12-19,2.50\r\n1958-12-20,2.50\r\n1958-12-21,2.50\r\n1958-12-22,2.50\r\n1958-12-23,2.50\r\n1958-12-24,2.50\r\n1958-12-25,2.50\r\n1958-12-26,2.50\r\n1958-12-27,2.50\r\n1958-12-28,2.50\r\n1958-12-29,2.50\r\n1958-12-30,2.38\r\n1958-12-31,2.38\r\n1959-01-01,2.38\r\n1959-01-02,2.50\r\n1959-01-03,2.50\r\n1959-01-04,2.50\r\n1959-01-05,2.50\r\n1959-01-06,2.50\r\n1959-01-07,2.50\r\n1959-01-08,2.50\r\n1959-01-09,2.50\r\n1959-01-10,2.50\r\n1959-01-11,2.50\r\n1959-01-12,2.50\r\n1959-01-13,2.25\r\n1959-01-14,2.38\r\n1959-01-15,2.50\r\n1959-01-16,2.50\r\n1959-01-17,2.50\r\n1959-01-18,2.50\r\n1959-01-19,2.50\r\n1959-01-20,2.50\r\n1959-01-21,2.50\r\n1959-01-22,2.50\r\n1959-01-23,2.50\r\n1959-01-24,2.50\r\n1959-01-25,2.50\r\n1959-01-26,2.50\r\n1959-01-27,2.50\r\n1959-01-28,2.50\r\n1959-01-29,2.50\r\n1959-01-30,2.50\r\n1959-01-31,2.50\r\n1959-02-01,2.50\r\n1959-02-02,2.50\r\n1959-02-03,2.50\r\n1959-02-04,2.50\r\n1959-02-05,2.50\r\n1959-02-06,2.50\r\n1959-02-07,2.50\r\n1959-02-08,2.50\r\n1959-02-09,2.50\r\n1959-02-10,2.25\r\n1959-02-11,1.75\r\n1959-02-12,2.50\r\n1959-02-13,2.50\r\n1959-02-14,2.50\r\n1959-02-15,2.50\r\n1959-02-16,2.50\r\n1959-02-17,2.00\r\n1959-02-18,2.00\r\n1959-02-19,2.50\r\n1959-02-20,2.50\r\n1959-02-21,2.50\r\n1959-02-22,2.50\r\n1959-02-23,2.50\r\n1959-02-24,2.50\r\n1959-02-25,2.50\r\n1959-02-26,2.50\r\n1959-02-27,2.50\r\n1959-02-28,2.50\r\n1959-03-01,2.50\r\n1959-03-02,2.50\r\n1959-03-03,2.25\r\n1959-03-04,2.50\r\n1959-03-05,2.50\r\n1959-03-06,3.00\r\n1959-03-07,3.00\r\n1959-03-08,3.00\r\n1959-03-09,2.50\r\n1959-03-10,2.50\r\n1959-03-11,2.50\r\n1959-03-12,2.75\r\n1959-03-13,2.88\r\n1959-03-14,2.88\r\n1959-03-15,2.88\r\n1959-03-16,2.88\r\n1959-03-17,2.75\r\n1959-03-18,3.00\r\n1959-03-19,2.88\r\n1959-03-20,3.00\r\n1959-03-21,3.00\r\n1959-03-22,3.00\r\n1959-03-23,3.00\r\n1959-03-24,2.88\r\n1959-03-25,2.75\r\n1959-03-26,3.00\r\n1959-03-27,2.88\r\n1959-03-28,2.88\r\n1959-03-29,2.88\r\n1959-03-30,3.00\r\n1959-03-31,3.00\r\n1959-04-01,2.25\r\n1959-04-02,3.00\r\n1959-04-03,3.00\r\n1959-04-04,3.00\r\n1959-04-05,3.00\r\n1959-04-06,3.00\r\n1959-04-07,3.00\r\n1959-04-08,3.00\r\n1959-04-09,3.00\r\n1959-04-10,3.00\r\n1959-04-11,3.00\r\n1959-04-12,3.00\r\n1959-04-13,3.00\r\n1959-04-14,3.00\r\n1959-04-15,3.00\r\n1959-04-16,3.00\r\n1959-04-17,3.00\r\n1959-04-18,3.00\r\n1959-04-19,3.00\r\n1959-04-20,3.00\r\n1959-04-21,3.00\r\n1959-04-22,3.00\r\n1959-04-23,3.00\r\n1959-04-24,3.00\r\n1959-04-25,3.00\r\n1959-04-26,3.00\r\n1959-04-27,3.00\r\n1959-04-28,2.50\r\n1959-04-29,3.00\r\n1959-04-30,3.00\r\n1959-05-01,3.00\r\n1959-05-02,3.00\r\n1959-05-03,3.00\r\n1959-05-04,3.00\r\n1959-05-05,3.00\r\n1959-05-06,3.00\r\n1959-05-07,3.00\r\n1959-05-08,3.00\r\n1959-05-09,3.00\r\n1959-05-10,3.00\r\n1959-05-11,3.00\r\n1959-05-12,3.00\r\n1959-05-13,3.00\r\n1959-05-14,3.00\r\n1959-05-15,3.00\r\n1959-05-16,3.00\r\n1959-05-17,3.00\r\n1959-05-18,2.75\r\n1959-05-19,2.00\r\n1959-05-20,1.50\r\n1959-05-21,3.00\r\n1959-05-22,3.00\r\n1959-05-23,3.00\r\n1959-05-24,3.00\r\n1959-05-25,3.00\r\n1959-05-26,2.75\r\n1959-05-27,2.00\r\n1959-05-28,3.00\r\n1959-05-29,3.25\r\n1959-05-30,3.25\r\n1959-05-31,3.25\r\n1959-06-01,3.00\r\n1959-06-02,3.00\r\n1959-06-03,3.00\r\n1959-06-04,3.25\r\n1959-06-05,3.50\r\n1959-06-06,3.50\r\n1959-06-07,3.50\r\n1959-06-08,3.50\r\n1959-06-09,3.00\r\n1959-06-10,3.25\r\n1959-06-11,3.50\r\n1959-06-12,3.50\r\n1959-06-13,3.50\r\n1959-06-14,3.50\r\n1959-06-15,3.50\r\n1959-06-16,3.50\r\n1959-06-17,3.50\r\n1959-06-18,3.50\r\n1959-06-19,3.50\r\n1959-06-20,3.50\r\n1959-06-21,3.50\r\n1959-06-22,3.50\r\n1959-06-23,3.25\r\n1959-06-24,3.50\r\n1959-06-25,3.50\r\n1959-06-26,3.50\r\n1959-06-27,3.50\r\n1959-06-28,3.50\r\n1959-06-29,3.50\r\n1959-06-30,3.00\r\n1959-07-01,2.75\r\n1959-07-02,3.50\r\n1959-07-03,3.50\r\n1959-07-04,3.50\r\n1959-07-05,3.50\r\n1959-07-06,3.50\r\n1959-07-07,3.50\r\n1959-07-08,3.50\r\n1959-07-09,3.50\r\n1959-07-10,3.50\r\n1959-07-11,3.50\r\n1959-07-12,3.50\r\n1959-07-13,3.50\r\n1959-07-14,3.50\r\n1959-07-15,3.25\r\n1959-07-16,3.50\r\n1959-07-17,3.50\r\n1959-07-18,3.50\r\n1959-07-19,3.50\r\n1959-07-20,3.50\r\n1959-07-21,3.50\r\n1959-07-22,3.50\r\n1959-07-23,3.50\r\n1959-07-24,3.50\r\n1959-07-25,3.50\r\n1959-07-26,3.50\r\n1959-07-27,3.50\r\n1959-07-28,3.50\r\n1959-07-29,3.50\r\n1959-07-30,3.50\r\n1959-07-31,3.50\r\n1959-08-01,3.50\r\n1959-08-02,3.50\r\n1959-08-03,3.50\r\n1959-08-04,3.50\r\n1959-08-05,3.50\r\n1959-08-06,3.50\r\n1959-08-07,3.50\r\n1959-08-08,3.50\r\n1959-08-09,3.50\r\n1959-08-10,3.50\r\n1959-08-11,3.50\r\n1959-08-12,3.50\r\n1959-08-13,3.50\r\n1959-08-14,3.50\r\n1959-08-15,3.50\r\n1959-08-16,3.50\r\n1959-08-17,3.50\r\n1959-08-18,3.50\r\n1959-08-19,3.50\r\n1959-08-20,3.50\r\n1959-08-21,3.50\r\n1959-08-22,3.50\r\n1959-08-23,3.50\r\n1959-08-24,3.50\r\n1959-08-25,3.50\r\n1959-08-26,3.50\r\n1959-08-27,3.50\r\n1959-08-28,3.50\r\n1959-08-29,3.50\r\n1959-08-30,3.50\r\n1959-08-31,3.50\r\n1959-09-01,3.50\r\n1959-09-02,3.50\r\n1959-09-03,3.50\r\n1959-09-04,3.50\r\n1959-09-05,3.50\r\n1959-09-06,3.50\r\n1959-09-07,3.50\r\n1959-09-08,3.50\r\n1959-09-09,3.25\r\n1959-09-10,3.50\r\n1959-09-11,4.00\r\n1959-09-12,4.00\r\n1959-09-13,4.00\r\n1959-09-14,4.00\r\n1959-09-15,4.00\r\n1959-09-16,3.25\r\n1959-09-17,4.00\r\n1959-09-18,4.00\r\n1959-09-19,4.00\r\n1959-09-20,4.00\r\n1959-09-21,4.00\r\n1959-09-22,3.75\r\n1959-09-23,4.00\r\n1959-09-24,4.00\r\n1959-09-25,4.00\r\n1959-09-26,4.00\r\n1959-09-27,4.00\r\n1959-09-28,4.00\r\n1959-09-29,4.00\r\n1959-09-30,3.00\r\n1959-10-01,4.00\r\n1959-10-02,4.00\r\n1959-10-03,4.00\r\n1959-10-04,4.00\r\n1959-10-05,4.00\r\n1959-10-06,4.00\r\n1959-10-07,4.00\r\n1959-10-08,4.00\r\n1959-10-09,4.00\r\n1959-10-10,4.00\r\n1959-10-11,4.00\r\n1959-10-12,4.00\r\n1959-10-13,4.00\r\n1959-10-14,3.75\r\n1959-10-15,4.00\r\n1959-10-16,4.00\r\n1959-10-17,4.00\r\n1959-10-18,4.00\r\n1959-10-19,4.00\r\n1959-10-20,3.75\r\n1959-10-21,4.00\r\n1959-10-22,4.00\r\n1959-10-23,4.00\r\n1959-10-24,4.00\r\n1959-10-25,4.00\r\n1959-10-26,4.00\r\n1959-10-27,4.00\r\n1959-10-28,4.00\r\n1959-10-29,4.00\r\n1959-10-30,4.00\r\n1959-10-31,4.00\r\n1959-11-01,4.00\r\n1959-11-02,4.00\r\n1959-11-03,4.00\r\n1959-11-04,4.00\r\n1959-11-05,4.00\r\n1959-11-06,4.00\r\n1959-11-07,4.00\r\n1959-11-08,4.00\r\n1959-11-09,4.00\r\n1959-11-10,4.00\r\n1959-11-11,4.00\r\n1959-11-12,4.00\r\n1959-11-13,4.00\r\n1959-11-14,4.00\r\n1959-11-15,4.00\r\n1959-11-16,4.00\r\n1959-11-17,4.00\r\n1959-11-18,4.00\r\n1959-11-19,4.00\r\n1959-11-20,4.00\r\n1959-11-21,4.00\r\n1959-11-22,4.00\r\n1959-11-23,4.00\r\n1959-11-24,4.00\r\n1959-11-25,4.00\r\n1959-11-26,4.00\r\n1959-11-27,4.00\r\n1959-11-28,4.00\r\n1959-11-29,4.00\r\n1959-11-30,4.00\r\n1959-12-01,4.00\r\n1959-12-02,3.75\r\n1959-12-03,4.00\r\n1959-12-04,4.00\r\n1959-12-05,4.00\r\n1959-12-06,4.00\r\n1959-12-07,4.00\r\n1959-12-08,4.00\r\n1959-12-09,4.00\r\n1959-12-10,4.00\r\n1959-12-11,4.00\r\n1959-12-12,4.00\r\n1959-12-13,4.00\r\n1959-12-14,4.00\r\n1959-12-15,4.00\r\n1959-12-16,4.00\r\n1959-12-17,4.00\r\n1959-12-18,4.00\r\n1959-12-19,4.00\r\n1959-12-20,4.00\r\n1959-12-21,4.00\r\n1959-12-22,4.00\r\n1959-12-23,4.00\r\n1959-12-24,4.00\r\n1959-12-25,4.00\r\n1959-12-26,4.00\r\n1959-12-27,4.00\r\n1959-12-28,4.00\r\n1959-12-29,4.00\r\n1959-12-30,4.00\r\n1959-12-31,4.00\r\n1960-01-01,4.00\r\n1960-01-02,4.00\r\n1960-01-03,4.00\r\n1960-01-04,4.00\r\n1960-01-05,4.00\r\n1960-01-06,4.00\r\n1960-01-07,4.00\r\n1960-01-08,4.00\r\n1960-01-09,4.00\r\n1960-01-10,4.00\r\n1960-01-11,4.00\r\n1960-01-12,4.00\r\n1960-01-13,4.00\r\n1960-01-14,4.00\r\n1960-01-15,4.00\r\n1960-01-16,4.00\r\n1960-01-17,4.00\r\n1960-01-18,4.00\r\n1960-01-19,4.00\r\n1960-01-20,4.00\r\n1960-01-21,4.00\r\n1960-01-22,4.00\r\n1960-01-23,4.00\r\n1960-01-24,4.00\r\n1960-01-25,4.00\r\n1960-01-26,4.00\r\n1960-01-27,3.75\r\n1960-01-28,4.00\r\n1960-01-29,4.00\r\n1960-01-30,4.00\r\n1960-01-31,4.00\r\n1960-02-01,4.00\r\n1960-02-02,4.00\r\n1960-02-03,4.00\r\n1960-02-04,4.00\r\n1960-02-05,4.00\r\n1960-02-06,4.00\r\n1960-02-07,4.00\r\n1960-02-08,4.00\r\n1960-02-09,3.75\r\n1960-02-10,4.00\r\n1960-02-11,4.00\r\n1960-02-12,4.00\r\n1960-02-13,4.00\r\n1960-02-14,4.00\r\n1960-02-15,4.00\r\n1960-02-16,4.00\r\n1960-02-17,4.00\r\n1960-02-18,4.00\r\n1960-02-19,4.00\r\n1960-02-20,4.00\r\n1960-02-21,4.00\r\n1960-02-22,4.00\r\n1960-02-23,3.75\r\n1960-02-24,3.50\r\n1960-02-25,4.00\r\n1960-02-26,4.00\r\n1960-02-27,4.00\r\n1960-02-28,4.00\r\n1960-02-29,4.00\r\n1960-03-01,4.00\r\n1960-03-02,4.00\r\n1960-03-03,4.00\r\n1960-03-04,4.00\r\n1960-03-05,4.00\r\n1960-03-06,4.00\r\n1960-03-07,3.75\r\n1960-03-08,4.00\r\n1960-03-09,4.00\r\n1960-03-10,4.00\r\n1960-03-11,4.00\r\n1960-03-12,4.00\r\n1960-03-13,4.00\r\n1960-03-14,4.00\r\n1960-03-15,4.00\r\n1960-03-16,3.75\r\n1960-03-17,4.00\r\n1960-03-18,4.00\r\n1960-03-19,4.00\r\n1960-03-20,4.00\r\n1960-03-21,4.00\r\n1960-03-22,3.25\r\n1960-03-23,1.50\r\n1960-03-24,3.75\r\n1960-03-25,4.00\r\n1960-03-26,4.00\r\n1960-03-27,4.00\r\n1960-03-28,4.00\r\n1960-03-29,3.25\r\n1960-03-30,3.75\r\n1960-03-31,4.00\r\n1960-04-01,4.00\r\n1960-04-02,4.00\r\n1960-04-03,4.00\r\n1960-04-04,3.75\r\n1960-04-05,3.75\r\n1960-04-06,4.00\r\n1960-04-07,4.00\r\n1960-04-08,4.00\r\n1960-04-09,4.00\r\n1960-04-10,4.00\r\n1960-04-11,4.00\r\n1960-04-12,4.00\r\n1960-04-13,3.75\r\n1960-04-14,4.00\r\n1960-04-15,4.00\r\n1960-04-16,4.00\r\n1960-04-17,4.00\r\n1960-04-18,3.75\r\n1960-04-19,3.50\r\n1960-04-20,3.50\r\n1960-04-21,4.00\r\n1960-04-22,4.00\r\n1960-04-23,4.00\r\n1960-04-24,4.00\r\n1960-04-25,4.00\r\n1960-04-26,3.50\r\n1960-04-27,4.00\r\n1960-04-28,4.00\r\n1960-04-29,4.00\r\n1960-04-30,4.00\r\n1960-05-01,4.00\r\n1960-05-02,4.00\r\n1960-05-03,4.00\r\n1960-05-04,4.00\r\n1960-05-05,4.00\r\n1960-05-06,4.00\r\n1960-05-07,4.00\r\n1960-05-08,4.00\r\n1960-05-09,4.00\r\n1960-05-10,4.00\r\n1960-05-11,4.00\r\n1960-05-12,4.00\r\n1960-05-13,4.00\r\n1960-05-14,4.00\r\n1960-05-15,4.00\r\n1960-05-16,4.00\r\n1960-05-17,4.00\r\n1960-05-18,3.25\r\n1960-05-19,4.00\r\n1960-05-20,4.00\r\n1960-05-21,4.00\r\n1960-05-22,4.00\r\n1960-05-23,4.00\r\n1960-05-24,3.50\r\n1960-05-25,3.00\r\n1960-05-26,4.00\r\n1960-05-27,3.50\r\n1960-05-28,3.50\r\n1960-05-29,3.50\r\n1960-05-30,3.50\r\n1960-05-31,3.50\r\n1960-06-01,2.00\r\n1960-06-02,3.75\r\n1960-06-03,4.00\r\n1960-06-04,4.00\r\n1960-06-05,4.00\r\n1960-06-06,3.50\r\n1960-06-07,3.50\r\n1960-06-08,4.00\r\n1960-06-09,4.00\r\n1960-06-10,3.50\r\n1960-06-11,3.50\r\n1960-06-12,3.50\r\n1960-06-13,3.25\r\n1960-06-14,3.00\r\n1960-06-15,3.00\r\n1960-06-16,3.50\r\n1960-06-17,3.50\r\n1960-06-18,3.50\r\n1960-06-19,3.50\r\n1960-06-20,3.50\r\n1960-06-21,3.50\r\n1960-06-22,3.50\r\n1960-06-23,3.50\r\n1960-06-24,3.50\r\n1960-06-25,3.50\r\n1960-06-26,3.50\r\n1960-06-27,3.00\r\n1960-06-28,1.50\r\n1960-06-29,0.50\r\n1960-06-30,3.50\r\n1960-07-01,3.25\r\n1960-07-02,3.25\r\n1960-07-03,3.25\r\n1960-07-04,3.25\r\n1960-07-05,3.50\r\n1960-07-06,3.50\r\n1960-07-07,3.50\r\n1960-07-08,3.50\r\n1960-07-09,3.50\r\n1960-07-10,3.50\r\n1960-07-11,3.25\r\n1960-07-12,2.00\r\n1960-07-13,1.25\r\n1960-07-14,3.50\r\n1960-07-15,3.50\r\n1960-07-16,3.50\r\n1960-07-17,3.50\r\n1960-07-18,3.50\r\n1960-07-19,3.50\r\n1960-07-20,3.50\r\n1960-07-21,3.50\r\n1960-07-22,3.50\r\n1960-07-23,3.50\r\n1960-07-24,3.50\r\n1960-07-25,3.50\r\n1960-07-26,3.00\r\n1960-07-27,1.50\r\n1960-07-28,3.25\r\n1960-07-29,3.25\r\n1960-07-30,3.25\r\n1960-07-31,3.25\r\n1960-08-01,3.50\r\n1960-08-02,3.25\r\n1960-08-03,3.25\r\n1960-08-04,3.50\r\n1960-08-05,3.50\r\n1960-08-06,3.50\r\n1960-08-07,3.50\r\n1960-08-08,3.50\r\n1960-08-09,2.50\r\n1960-08-10,1.75\r\n1960-08-11,3.50\r\n1960-08-12,3.00\r\n1960-08-13,3.00\r\n1960-08-14,3.00\r\n1960-08-15,3.00\r\n1960-08-16,3.00\r\n1960-08-17,3.00\r\n1960-08-18,3.00\r\n1960-08-19,3.00\r\n1960-08-20,3.00\r\n1960-08-21,3.00\r\n1960-08-22,2.50\r\n1960-08-23,2.00\r\n1960-08-24,2.25\r\n1960-08-25,3.00\r\n1960-08-26,3.00\r\n1960-08-27,3.00\r\n1960-08-28,3.00\r\n1960-08-29,2.75\r\n1960-08-30,2.50\r\n1960-08-31,3.00\r\n1960-09-01,3.00\r\n1960-09-02,3.00\r\n1960-09-03,3.00\r\n1960-09-04,3.00\r\n1960-09-05,3.00\r\n1960-09-06,3.00\r\n1960-09-07,2.75\r\n1960-09-08,3.00\r\n1960-09-09,3.00\r\n1960-09-10,3.00\r\n1960-09-11,3.00\r\n1960-09-12,3.00\r\n1960-09-13,2.00\r\n1960-09-14,2.50\r\n1960-09-15,3.00\r\n1960-09-16,2.50\r\n1960-09-17,2.50\r\n1960-09-18,2.50\r\n1960-09-19,1.00\r\n1960-09-20,0.75\r\n1960-09-21,1.00\r\n1960-09-22,2.75\r\n1960-09-23,2.25\r\n1960-09-24,2.25\r\n1960-09-25,2.25\r\n1960-09-26,3.00\r\n1960-09-27,3.00\r\n1960-09-28,3.00\r\n1960-09-29,3.00\r\n1960-09-30,3.00\r\n1960-10-01,3.00\r\n1960-10-02,3.00\r\n1960-10-03,2.75\r\n1960-10-04,2.50\r\n1960-10-05,2.75\r\n1960-10-06,3.00\r\n1960-10-07,3.00\r\n1960-10-08,3.00\r\n1960-10-09,3.00\r\n1960-10-10,3.00\r\n1960-10-11,3.00\r\n1960-10-12,3.00\r\n1960-10-13,3.00\r\n1960-10-14,2.75\r\n1960-10-15,2.75\r\n1960-10-16,2.75\r\n1960-10-17,1.50\r\n1960-10-18,0.50\r\n1960-10-19,0.25\r\n1960-10-20,1.50\r\n1960-10-21,1.25\r\n1960-10-22,1.25\r\n1960-10-23,1.25\r\n1960-10-24,2.75\r\n1960-10-25,3.00\r\n1960-10-26,3.00\r\n1960-10-27,3.00\r\n1960-10-28,2.75\r\n1960-10-29,2.75\r\n1960-10-30,2.75\r\n1960-10-31,2.75\r\n1960-11-01,3.00\r\n1960-11-02,3.00\r\n1960-11-03,3.00\r\n1960-11-04,3.00\r\n1960-11-05,3.00\r\n1960-11-06,3.00\r\n1960-11-07,3.00\r\n1960-11-08,3.00\r\n1960-11-09,2.75\r\n1960-11-10,3.00\r\n1960-11-11,3.00\r\n1960-11-12,3.00\r\n1960-11-13,3.00\r\n1960-11-14,3.00\r\n1960-11-15,2.50\r\n1960-11-16,2.25\r\n1960-11-17,3.00\r\n1960-11-18,2.25\r\n1960-11-19,2.25\r\n1960-11-20,2.25\r\n1960-11-21,2.50\r\n1960-11-22,2.00\r\n1960-11-23,2.00\r\n1960-11-24,2.00\r\n1960-11-25,2.25\r\n1960-11-26,2.25\r\n1960-11-27,2.25\r\n1960-11-28,1.25\r\n1960-11-29,0.25\r\n1960-11-30,0.25\r\n1960-12-01,1.50\r\n1960-12-02,1.50\r\n1960-12-03,1.50\r\n1960-12-04,1.50\r\n1960-12-05,2.00\r\n1960-12-06,1.75\r\n1960-12-07,2.00\r\n1960-12-08,1.75\r\n1960-12-09,2.25\r\n1960-12-10,2.25\r\n1960-12-11,2.25\r\n1960-12-12,2.25\r\n1960-12-13,1.25\r\n1960-12-14,0.50\r\n1960-12-15,2.00\r\n1960-12-16,2.00\r\n1960-12-17,2.00\r\n1960-12-18,2.00\r\n1960-12-19,2.00\r\n1960-12-20,2.25\r\n1960-12-21,2.75\r\n1960-12-22,2.25\r\n1960-12-23,1.75\r\n1960-12-24,1.75\r\n1960-12-25,1.75\r\n1960-12-26,1.75\r\n1960-12-27,2.00\r\n1960-12-28,2.00\r\n1960-12-29,3.00\r\n1960-12-30,3.00\r\n1960-12-31,3.00\r\n1961-01-01,3.00\r\n1961-01-02,3.00\r\n1961-01-03,1.50\r\n1961-01-04,1.00\r\n1961-01-05,2.00\r\n1961-01-06,1.75\r\n1961-01-07,1.75\r\n1961-01-08,1.75\r\n1961-01-09,2.25\r\n1961-01-10,1.25\r\n1961-01-11,0.50\r\n1961-01-12,1.75\r\n1961-01-13,2.50\r\n1961-01-14,2.50\r\n1961-01-15,2.50\r\n1961-01-16,2.25\r\n1961-01-17,1.25\r\n1961-01-18,1.00\r\n1961-01-19,1.75\r\n1961-01-20,0.75\r\n1961-01-21,0.75\r\n1961-01-22,0.75\r\n1961-01-23,0.25\r\n1961-01-24,0.25\r\n1961-01-25,0.13\r\n1961-01-26,0.75\r\n1961-01-27,0.75\r\n1961-01-28,0.75\r\n1961-01-29,0.75\r\n1961-01-30,1.50\r\n1961-01-31,2.25\r\n1961-02-01,2.75\r\n1961-02-02,2.50\r\n1961-02-03,1.75\r\n1961-02-04,1.75\r\n1961-02-05,1.75\r\n1961-02-06,2.00\r\n1961-02-07,3.00\r\n1961-02-08,3.00\r\n1961-02-09,3.00\r\n1961-02-10,2.50\r\n1961-02-11,2.50\r\n1961-02-12,2.50\r\n1961-02-13,3.00\r\n1961-02-14,3.00\r\n1961-02-15,3.00\r\n1961-02-16,2.75\r\n1961-02-17,2.50\r\n1961-02-18,2.50\r\n1961-02-19,2.50\r\n1961-02-20,2.50\r\n1961-02-21,2.50\r\n1961-02-22,2.50\r\n1961-02-23,2.75\r\n1961-02-24,2.75\r\n1961-02-25,2.75\r\n1961-02-26,2.75\r\n1961-02-27,2.50\r\n1961-02-28,2.00\r\n1961-03-01,2.00\r\n1961-03-02,2.00\r\n1961-03-03,2.50\r\n1961-03-04,2.50\r\n1961-03-05,2.50\r\n1961-03-06,3.00\r\n1961-03-07,2.75\r\n1961-03-08,3.00\r\n1961-03-09,2.75\r\n1961-03-10,2.25\r\n1961-03-11,2.25\r\n1961-03-12,2.25\r\n1961-03-13,1.50\r\n1961-03-14,1.25\r\n1961-03-15,1.75\r\n1961-03-16,2.00\r\n1961-03-17,1.75\r\n1961-03-18,1.75\r\n1961-03-19,1.75\r\n1961-03-20,2.00\r\n1961-03-21,1.75\r\n1961-03-22,1.75\r\n1961-03-23,1.50\r\n1961-03-24,2.00\r\n1961-03-25,2.00\r\n1961-03-26,2.00\r\n1961-03-27,2.00\r\n1961-03-28,1.25\r\n1961-03-29,0.50\r\n1961-03-30,2.50\r\n1961-03-31,2.00\r\n1961-04-01,2.00\r\n1961-04-02,2.00\r\n1961-04-03,2.00\r\n1961-04-04,1.50\r\n1961-04-05,0.50\r\n1961-04-06,1.75\r\n1961-04-07,2.00\r\n1961-04-08,2.00\r\n1961-04-09,2.00\r\n1961-04-10,2.50\r\n1961-04-11,2.00\r\n1961-04-12,2.50\r\n1961-04-13,2.75\r\n1961-04-14,2.00\r\n1961-04-15,2.00\r\n1961-04-16,2.00\r\n1961-04-17,1.75\r\n1961-04-18,0.50\r\n1961-04-19,0.50\r\n1961-04-20,1.50\r\n1961-04-21,1.50\r\n1961-04-22,1.50\r\n1961-04-23,1.50\r\n1961-04-24,0.50\r\n1961-04-25,0.50\r\n1961-04-26,1.00\r\n1961-04-27,1.00\r\n1961-04-28,0.50\r\n1961-04-29,0.50\r\n1961-04-30,0.50\r\n1961-05-01,0.50\r\n1961-05-02,0.50\r\n1961-05-03,0.25\r\n1961-05-04,0.75\r\n1961-05-05,1.00\r\n1961-05-06,1.00\r\n1961-05-07,1.00\r\n1961-05-08,2.25\r\n1961-05-09,2.75\r\n1961-05-10,2.75\r\n1961-05-11,2.50\r\n1961-05-12,1.75\r\n1961-05-13,1.75\r\n1961-05-14,1.75\r\n1961-05-15,2.50\r\n1961-05-16,2.75\r\n1961-05-17,3.00\r\n1961-05-18,3.00\r\n1961-05-19,2.25\r\n1961-05-20,2.25\r\n1961-05-21,2.25\r\n1961-05-22,2.25\r\n1961-05-23,2.75\r\n1961-05-24,2.75\r\n1961-05-25,2.75\r\n1961-05-26,2.25\r\n1961-05-27,2.25\r\n1961-05-28,2.25\r\n1961-05-29,2.25\r\n1961-05-30,2.25\r\n1961-05-31,1.00\r\n1961-06-01,2.00\r\n1961-06-02,3.00\r\n1961-06-03,3.00\r\n1961-06-04,3.00\r\n1961-06-05,2.75\r\n1961-06-06,2.00\r\n1961-06-07,1.75\r\n1961-06-08,1.75\r\n1961-06-09,1.25\r\n1961-06-10,1.25\r\n1961-06-11,1.25\r\n1961-06-12,1.00\r\n1961-06-13,0.25\r\n1961-06-14,0.25\r\n1961-06-15,2.00\r\n1961-06-16,2.25\r\n1961-06-17,2.25\r\n1961-06-18,2.25\r\n1961-06-19,2.25\r\n1961-06-20,2.25\r\n1961-06-21,2.75\r\n1961-06-22,2.50\r\n1961-06-23,1.50\r\n1961-06-24,1.50\r\n1961-06-25,1.50\r\n1961-06-26,0.50\r\n1961-06-27,0.25\r\n1961-06-28,0.50\r\n1961-06-29,2.50\r\n1961-06-30,0.50\r\n1961-07-01,0.50\r\n1961-07-02,0.50\r\n1961-07-03,1.25\r\n1961-07-04,1.25\r\n1961-07-05,0.75\r\n1961-07-06,2.00\r\n1961-07-07,1.75\r\n1961-07-08,1.75\r\n1961-07-09,1.75\r\n1961-07-10,1.25\r\n1961-07-11,0.50\r\n1961-07-12,0.50\r\n1961-07-13,1.25\r\n1961-07-14,1.00\r\n1961-07-15,1.00\r\n1961-07-16,1.00\r\n1961-07-17,1.00\r\n1961-07-18,1.00\r\n1961-07-19,2.00\r\n1961-07-20,1.50\r\n1961-07-21,1.00\r\n1961-07-22,1.00\r\n1961-07-23,1.00\r\n1961-07-24,0.75\r\n1961-07-25,0.50\r\n1961-07-26,0.25\r\n1961-07-27,1.25\r\n1961-07-28,1.50\r\n1961-07-29,1.50\r\n1961-07-30,1.50\r\n1961-07-31,2.50\r\n1961-08-01,1.75\r\n1961-08-02,1.50\r\n1961-08-03,2.50\r\n1961-08-04,1.75\r\n1961-08-05,1.75\r\n1961-08-06,1.75\r\n1961-08-07,2.25\r\n1961-08-08,2.75\r\n1961-08-09,3.00\r\n1961-08-10,2.75\r\n1961-08-11,2.75\r\n1961-08-12,2.75\r\n1961-08-13,2.75\r\n1961-08-14,2.75\r\n1961-08-15,2.75\r\n1961-08-16,2.75\r\n1961-08-17,2.75\r\n1961-08-18,1.75\r\n1961-08-19,1.75\r\n1961-08-20,1.75\r\n1961-08-21,1.50\r\n1961-08-22,1.25\r\n1961-08-23,0.75\r\n1961-08-24,1.75\r\n1961-08-25,1.25\r\n1961-08-26,1.25\r\n1961-08-27,1.25\r\n1961-08-28,1.00\r\n1961-08-29,2.00\r\n1961-08-30,2.00\r\n1961-08-31,1.75\r\n1961-09-01,1.50\r\n1961-09-02,1.50\r\n1961-09-03,1.50\r\n1961-09-04,1.50\r\n1961-09-05,0.50\r\n1961-09-06,0.75\r\n1961-09-07,1.75\r\n1961-09-08,2.25\r\n1961-09-09,2.25\r\n1961-09-10,2.25\r\n1961-09-11,2.75\r\n1961-09-12,2.50\r\n1961-09-13,2.75\r\n1961-09-14,2.00\r\n1961-09-15,1.50\r\n1961-09-16,1.50\r\n1961-09-17,1.50\r\n1961-09-18,1.50\r\n1961-09-19,2.00\r\n1961-09-20,3.00\r\n1961-09-21,2.50\r\n1961-09-22,1.75\r\n1961-09-23,1.75\r\n1961-09-24,1.75\r\n1961-09-25,2.00\r\n1961-09-26,1.75\r\n1961-09-27,2.25\r\n1961-09-28,2.75\r\n1961-09-29,1.50\r\n1961-09-30,1.50\r\n1961-10-01,1.50\r\n1961-10-02,1.50\r\n1961-10-03,0.75\r\n1961-10-04,2.00\r\n1961-10-05,2.25\r\n1961-10-06,2.25\r\n1961-10-07,2.25\r\n1961-10-08,2.25\r\n1961-10-09,2.75\r\n1961-10-10,2.25\r\n1961-10-11,3.00\r\n1961-10-12,2.75\r\n1961-10-13,3.00\r\n1961-10-14,3.00\r\n1961-10-15,3.00\r\n1961-10-16,3.00\r\n1961-10-17,2.25\r\n1961-10-18,1.50\r\n1961-10-19,2.00\r\n1961-10-20,2.25\r\n1961-10-21,2.25\r\n1961-10-22,2.25\r\n1961-10-23,2.50\r\n1961-10-24,2.25\r\n1961-10-25,3.00\r\n1961-10-26,2.50\r\n1961-10-27,2.00\r\n1961-10-28,2.00\r\n1961-10-29,2.00\r\n1961-10-30,1.75\r\n1961-10-31,2.00\r\n1961-11-01,2.75\r\n1961-11-02,2.25\r\n1961-11-03,2.75\r\n1961-11-04,2.75\r\n1961-11-05,2.75\r\n1961-11-06,2.75\r\n1961-11-07,2.75\r\n1961-11-08,3.00\r\n1961-11-09,3.00\r\n1961-11-10,2.50\r\n1961-11-11,2.50\r\n1961-11-12,2.50\r\n1961-11-13,2.75\r\n1961-11-14,3.00\r\n1961-11-15,3.00\r\n1961-11-16,3.00\r\n1961-11-17,2.75\r\n1961-11-18,2.75\r\n1961-11-19,2.75\r\n1961-11-20,2.50\r\n1961-11-21,2.75\r\n1961-11-22,3.00\r\n1961-11-23,3.00\r\n1961-11-24,2.75\r\n1961-11-25,2.75\r\n1961-11-26,2.75\r\n1961-11-27,2.50\r\n1961-11-28,1.75\r\n1961-11-29,0.50\r\n1961-11-30,1.75\r\n1961-12-01,2.25\r\n1961-12-02,2.25\r\n1961-12-03,2.25\r\n1961-12-04,2.50\r\n1961-12-05,2.25\r\n1961-12-06,2.50\r\n1961-12-07,1.75\r\n1961-12-08,2.00\r\n1961-12-09,2.00\r\n1961-12-10,2.00\r\n1961-12-11,2.00\r\n1961-12-12,1.00\r\n1961-12-13,0.50\r\n1961-12-14,2.00\r\n1961-12-15,2.50\r\n1961-12-16,2.50\r\n1961-12-17,2.50\r\n1961-12-18,2.25\r\n1961-12-19,2.00\r\n1961-12-20,2.75\r\n1961-12-21,3.00\r\n1961-12-22,2.75\r\n1961-12-23,2.75\r\n1961-12-24,2.75\r\n1961-12-25,2.75\r\n1961-12-26,3.00\r\n1961-12-27,3.00\r\n1961-12-28,3.00\r\n1961-12-29,2.50\r\n1961-12-30,2.50\r\n1961-12-31,2.50\r\n1962-01-01,2.50\r\n1962-01-02,2.75\r\n1962-01-03,2.50\r\n1962-01-04,2.75\r\n1962-01-05,2.50\r\n1962-01-06,2.50\r\n1962-01-07,2.50\r\n1962-01-08,2.00\r\n1962-01-09,1.25\r\n1962-01-10,0.50\r\n1962-01-11,2.75\r\n1962-01-12,2.75\r\n1962-01-13,2.75\r\n1962-01-14,2.75\r\n1962-01-15,3.00\r\n1962-01-16,2.50\r\n1962-01-17,3.00\r\n1962-01-18,2.25\r\n1962-01-19,2.00\r\n1962-01-20,2.00\r\n1962-01-21,2.00\r\n1962-01-22,1.25\r\n1962-01-23,0.50\r\n1962-01-24,0.25\r\n1962-01-25,2.00\r\n1962-01-26,2.50\r\n1962-01-27,2.50\r\n1962-01-28,2.50\r\n1962-01-29,2.50\r\n1962-01-30,1.50\r\n1962-01-31,1.50\r\n1962-02-01,2.25\r\n1962-02-02,1.50\r\n1962-02-03,1.50\r\n1962-02-04,1.50\r\n1962-02-05,2.00\r\n1962-02-06,2.75\r\n1962-02-07,2.75\r\n1962-02-08,2.75\r\n1962-02-09,2.75\r\n1962-02-10,2.75\r\n1962-02-11,2.75\r\n1962-02-12,2.75\r\n1962-02-13,1.75\r\n1962-02-14,2.75\r\n1962-02-15,2.75\r\n1962-02-16,2.50\r\n1962-02-17,2.50\r\n1962-02-18,2.50\r\n1962-02-19,2.50\r\n1962-02-20,1.75\r\n1962-02-21,2.00\r\n1962-02-22,2.00\r\n1962-02-23,2.50\r\n1962-02-24,2.50\r\n1962-02-25,2.50\r\n1962-02-26,2.50\r\n1962-02-27,2.50\r\n1962-02-28,2.75\r\n1962-03-01,2.50\r\n1962-03-02,2.75\r\n1962-03-03,2.75\r\n1962-03-04,2.75\r\n1962-03-05,2.75\r\n1962-03-06,2.75\r\n1962-03-07,3.00\r\n1962-03-08,2.75\r\n1962-03-09,3.00\r\n1962-03-10,3.00\r\n1962-03-11,3.00\r\n1962-03-12,3.00\r\n1962-03-13,2.75\r\n1962-03-14,2.75\r\n1962-03-15,2.75\r\n1962-03-16,2.75\r\n1962-03-17,2.75\r\n1962-03-18,2.75\r\n1962-03-19,3.00\r\n1962-03-20,2.75\r\n1962-03-21,3.00\r\n1962-03-22,3.00\r\n1962-03-23,3.00\r\n1962-03-24,3.00\r\n1962-03-25,3.00\r\n1962-03-26,3.00\r\n1962-03-27,2.75\r\n1962-03-28,3.00\r\n1962-03-29,3.00\r\n1962-03-30,2.75\r\n1962-03-31,2.75\r\n1962-04-01,2.75\r\n1962-04-02,2.75\r\n1962-04-03,2.75\r\n1962-04-04,2.25\r\n1962-04-05,2.75\r\n1962-04-06,2.75\r\n1962-04-07,2.75\r\n1962-04-08,2.75\r\n1962-04-09,2.75\r\n1962-04-10,2.75\r\n1962-04-11,3.00\r\n1962-04-12,3.00\r\n1962-04-13,3.00\r\n1962-04-14,3.00\r\n1962-04-15,3.00\r\n1962-04-16,2.75\r\n1962-04-17,2.75\r\n1962-04-18,3.00\r\n1962-04-19,3.00\r\n1962-04-20,2.75\r\n1962-04-21,2.75\r\n1962-04-22,2.75\r\n1962-04-23,3.00\r\n1962-04-24,2.75\r\n1962-04-25,3.00\r\n1962-04-26,3.00\r\n1962-04-27,2.50\r\n1962-04-28,2.50\r\n1962-04-29,2.50\r\n1962-04-30,2.50\r\n1962-05-01,2.50\r\n1962-05-02,2.75\r\n1962-05-03,2.75\r\n1962-05-04,2.75\r\n1962-05-05,2.75\r\n1962-05-06,2.75\r\n1962-05-07,2.75\r\n1962-05-08,2.75\r\n1962-05-09,2.50\r\n1962-05-10,2.75\r\n1962-05-11,2.25\r\n1962-05-12,2.25\r\n1962-05-13,2.25\r\n1962-05-14,2.25\r\n1962-05-15,2.50\r\n1962-05-16,3.00\r\n1962-05-17,2.50\r\n1962-05-18,2.25\r\n1962-05-19,2.25\r\n1962-05-20,2.25\r\n1962-05-21,2.50\r\n1962-05-22,2.75\r\n1962-05-23,2.50\r\n1962-05-24,2.50\r\n1962-05-25,2.25\r\n1962-05-26,2.25\r\n1962-05-27,2.25\r\n1962-05-28,1.25\r\n1962-05-29,0.75\r\n1962-05-30,0.75\r\n1962-05-31,2.75\r\n1962-06-01,2.75\r\n1962-06-02,2.75\r\n1962-06-03,2.75\r\n1962-06-04,2.50\r\n1962-06-05,2.00\r\n1962-06-06,1.75\r\n1962-06-07,2.25\r\n1962-06-08,2.25\r\n1962-06-09,2.25\r\n1962-06-10,2.25\r\n1962-06-11,2.75\r\n1962-06-12,2.75\r\n1962-06-13,2.75\r\n1962-06-14,2.75\r\n1962-06-15,2.75\r\n1962-06-16,2.75\r\n1962-06-17,2.75\r\n1962-06-18,3.00\r\n1962-06-19,3.00\r\n1962-06-20,3.00\r\n1962-06-21,3.00\r\n1962-06-22,2.75\r\n1962-06-23,2.75\r\n1962-06-24,2.75\r\n1962-06-25,3.00\r\n1962-06-26,3.00\r\n1962-06-27,3.00\r\n1962-06-28,3.00\r\n1962-06-29,2.75\r\n1962-06-30,2.75\r\n1962-07-01,2.75\r\n1962-07-02,3.00\r\n1962-07-03,2.75\r\n1962-07-04,2.75\r\n1962-07-05,2.75\r\n1962-07-06,2.75\r\n1962-07-07,2.75\r\n1962-07-08,2.75\r\n1962-07-09,2.75\r\n1962-07-10,2.75\r\n1962-07-11,2.50\r\n1962-07-12,2.75\r\n1962-07-13,2.75\r\n1962-07-14,2.75\r\n1962-07-15,2.75\r\n1962-07-16,3.00\r\n1962-07-17,3.00\r\n1962-07-18,3.00\r\n1962-07-19,3.00\r\n1962-07-20,2.75\r\n1962-07-21,2.75\r\n1962-07-22,2.75\r\n1962-07-23,2.75\r\n1962-07-24,2.50\r\n1962-07-25,1.00\r\n1962-07-26,2.50\r\n1962-07-27,2.75\r\n1962-07-28,2.75\r\n1962-07-29,2.75\r\n1962-07-30,2.75\r\n1962-07-31,2.75\r\n1962-08-01,3.00\r\n1962-08-02,3.00\r\n1962-08-03,2.75\r\n1962-08-04,2.75\r\n1962-08-05,2.75\r\n1962-08-06,3.00\r\n1962-08-07,3.00\r\n1962-08-08,3.00\r\n1962-08-09,3.00\r\n1962-08-10,3.00\r\n1962-08-11,3.00\r\n1962-08-12,3.00\r\n1962-08-13,3.00\r\n1962-08-14,3.00\r\n1962-08-15,3.00\r\n1962-08-16,3.00\r\n1962-08-17,2.75\r\n1962-08-18,2.75\r\n1962-08-19,2.75\r\n1962-08-20,3.00\r\n1962-08-21,3.00\r\n1962-08-22,3.00\r\n1962-08-23,3.00\r\n1962-08-24,3.00\r\n1962-08-25,3.00\r\n1962-08-26,3.00\r\n1962-08-27,3.00\r\n1962-08-28,2.75\r\n1962-08-29,2.75\r\n1962-08-30,2.75\r\n1962-08-31,3.00\r\n1962-09-01,3.00\r\n1962-09-02,3.00\r\n1962-09-03,3.00\r\n1962-09-04,3.00\r\n1962-09-05,3.00\r\n1962-09-06,3.00\r\n1962-09-07,3.00\r\n1962-09-08,3.00\r\n1962-09-09,3.00\r\n1962-09-10,3.00\r\n1962-09-11,3.00\r\n1962-09-12,3.00\r\n1962-09-13,3.00\r\n1962-09-14,3.00\r\n1962-09-15,3.00\r\n1962-09-16,3.00\r\n1962-09-17,2.75\r\n1962-09-18,2.75\r\n1962-09-19,2.75\r\n1962-09-20,2.75\r\n1962-09-21,2.75\r\n1962-09-22,2.75\r\n1962-09-23,2.75\r\n1962-09-24,2.75\r\n1962-09-25,2.75\r\n1962-09-26,3.00\r\n1962-09-27,3.00\r\n1962-09-28,2.75\r\n1962-09-29,2.75\r\n1962-09-30,2.75\r\n1962-10-01,3.00\r\n1962-10-02,3.00\r\n1962-10-03,3.00\r\n1962-10-04,3.00\r\n1962-10-05,2.75\r\n1962-10-06,2.75\r\n1962-10-07,2.75\r\n1962-10-08,2.75\r\n1962-10-09,3.00\r\n1962-10-10,2.75\r\n1962-10-11,3.00\r\n1962-10-12,3.00\r\n1962-10-13,3.00\r\n1962-10-14,3.00\r\n1962-10-15,3.00\r\n1962-10-16,3.00\r\n1962-10-17,3.00\r\n1962-10-18,3.00\r\n1962-10-19,2.88\r\n1962-10-20,2.88\r\n1962-10-21,2.88\r\n1962-10-22,2.88\r\n1962-10-23,2.88\r\n1962-10-24,2.88\r\n1962-10-25,2.75\r\n1962-10-26,2.75\r\n1962-10-27,2.75\r\n1962-10-28,2.75\r\n1962-10-29,2.75\r\n1962-10-30,3.00\r\n1962-10-31,3.00\r\n1962-11-01,3.00\r\n1962-11-02,2.88\r\n1962-11-03,2.88\r\n1962-11-04,2.88\r\n1962-11-05,3.00\r\n1962-11-06,3.00\r\n1962-11-07,3.00\r\n1962-11-08,3.00\r\n1962-11-09,3.00\r\n1962-11-10,3.00\r\n1962-11-11,3.00\r\n1962-11-12,3.00\r\n1962-11-13,3.00\r\n1962-11-14,3.00\r\n1962-11-15,3.00\r\n1962-11-16,3.00\r\n1962-11-17,3.00\r\n1962-11-18,3.00\r\n1962-11-19,3.00\r\n1962-11-20,2.88\r\n1962-11-21,2.88\r\n1962-11-22,2.88\r\n1962-11-23,2.88\r\n1962-11-24,2.88\r\n1962-11-25,2.88\r\n1962-11-26,3.00\r\n1962-11-27,3.00\r\n1962-11-28,2.75\r\n1962-11-29,2.75\r\n1962-11-30,2.88\r\n1962-12-01,2.88\r\n1962-12-02,2.88\r\n1962-12-03,2.88\r\n1962-12-04,2.75\r\n1962-12-05,2.50\r\n1962-12-06,2.88\r\n1962-12-07,2.88\r\n1962-12-08,2.88\r\n1962-12-09,2.88\r\n1962-12-10,2.88\r\n1962-12-11,2.88\r\n1962-12-12,2.88\r\n1962-12-13,2.88\r\n1962-12-14,3.00\r\n1962-12-15,3.00\r\n1962-12-16,3.00\r\n1962-12-17,3.00\r\n1962-12-18,3.00\r\n1962-12-19,3.00\r\n1962-12-20,3.00\r\n1962-12-21,3.00\r\n1962-12-22,3.00\r\n1962-12-23,3.00\r\n1962-12-24,3.00\r\n1962-12-25,3.00\r\n1962-12-26,3.00\r\n1962-12-27,3.00\r\n1962-12-28,3.00\r\n1962-12-29,3.00\r\n1962-12-30,3.00\r\n1962-12-31,3.00\r\n1963-01-01,3.00\r\n1963-01-02,2.50\r\n1963-01-03,2.88\r\n1963-01-04,3.00\r\n1963-01-05,3.00\r\n1963-01-06,3.00\r\n1963-01-07,3.00\r\n1963-01-08,2.50\r\n1963-01-09,2.00\r\n1963-01-10,3.00\r\n1963-01-11,3.00\r\n1963-01-12,3.00\r\n1963-01-13,3.00\r\n1963-01-14,3.00\r\n1963-01-15,3.00\r\n1963-01-16,3.00\r\n1963-01-17,3.00\r\n1963-01-18,2.88\r\n1963-01-19,2.88\r\n1963-01-20,2.88\r\n1963-01-21,3.00\r\n1963-01-22,3.00\r\n1963-01-23,3.00\r\n1963-01-24,3.00\r\n1963-01-25,3.00\r\n1963-01-26,3.00\r\n1963-01-27,3.00\r\n1963-01-28,2.88\r\n1963-01-29,3.00\r\n1963-01-30,3.00\r\n1963-01-31,3.00\r\n1963-02-01,3.00\r\n1963-02-02,3.00\r\n1963-02-03,3.00\r\n1963-02-04,3.00\r\n1963-02-05,3.00\r\n1963-02-06,3.00\r\n1963-02-07,3.00\r\n1963-02-08,3.00\r\n1963-02-09,3.00\r\n1963-02-10,3.00\r\n1963-02-11,3.00\r\n1963-02-12,3.00\r\n1963-02-13,3.00\r\n1963-02-14,3.00\r\n1963-02-15,3.00\r\n1963-02-16,3.00\r\n1963-02-17,3.00\r\n1963-02-18,3.00\r\n1963-02-19,3.00\r\n1963-02-20,3.00\r\n1963-02-21,3.00\r\n1963-02-22,3.00\r\n1963-02-23,3.00\r\n1963-02-24,3.00\r\n1963-02-25,3.00\r\n1963-02-26,3.00\r\n1963-02-27,3.00\r\n1963-02-28,3.00\r\n1963-03-01,3.00\r\n1963-03-02,3.00\r\n1963-03-03,3.00\r\n1963-03-04,3.00\r\n1963-03-05,3.00\r\n1963-03-06,3.00\r\n1963-03-07,3.00\r\n1963-03-08,3.00\r\n1963-03-09,3.00\r\n1963-03-10,3.00\r\n1963-03-11,3.00\r\n1963-03-12,3.00\r\n1963-03-13,3.00\r\n1963-03-14,3.00\r\n1963-03-15,3.00\r\n1963-03-16,3.00\r\n1963-03-17,3.00\r\n1963-03-18,3.00\r\n1963-03-19,2.88\r\n1963-03-20,2.75\r\n1963-03-21,2.88\r\n1963-03-22,3.00\r\n1963-03-23,3.00\r\n1963-03-24,3.00\r\n1963-03-25,3.00\r\n1963-03-26,3.00\r\n1963-03-27,3.00\r\n1963-03-28,3.00\r\n1963-03-29,3.00\r\n1963-03-30,3.00\r\n1963-03-31,3.00\r\n1963-04-01,3.00\r\n1963-04-02,2.75\r\n1963-04-03,1.50\r\n1963-04-04,2.88\r\n1963-04-05,3.00\r\n1963-04-06,3.00\r\n1963-04-07,3.00\r\n1963-04-08,3.00\r\n1963-04-09,3.00\r\n1963-04-10,3.00\r\n1963-04-11,3.00\r\n1963-04-12,3.00\r\n1963-04-13,3.00\r\n1963-04-14,3.00\r\n1963-04-15,3.00\r\n1963-04-16,3.00\r\n1963-04-17,2.25\r\n1963-04-18,3.00\r\n1963-04-19,3.00\r\n1963-04-20,3.00\r\n1963-04-21,3.00\r\n1963-04-22,3.00\r\n1963-04-23,3.00\r\n1963-04-24,3.00\r\n1963-04-25,3.00\r\n1963-04-26,2.88\r\n1963-04-27,2.88\r\n1963-04-28,2.88\r\n1963-04-29,3.00\r\n1963-04-30,3.00\r\n1963-05-01,3.00\r\n1963-05-02,3.00\r\n1963-05-03,3.00\r\n1963-05-04,3.00\r\n1963-05-05,3.00\r\n1963-05-06,3.00\r\n1963-05-07,3.00\r\n1963-05-08,3.00\r\n1963-05-09,3.00\r\n1963-05-10,3.00\r\n1963-05-11,3.00\r\n1963-05-12,3.00\r\n1963-05-13,3.00\r\n1963-05-14,3.00\r\n1963-05-15,3.00\r\n1963-05-16,3.00\r\n1963-05-17,3.00\r\n1963-05-18,3.00\r\n1963-05-19,3.00\r\n1963-05-20,3.00\r\n1963-05-21,3.00\r\n1963-05-22,3.00\r\n1963-05-23,3.00\r\n1963-05-24,3.00\r\n1963-05-25,3.00\r\n1963-05-26,3.00\r\n1963-05-27,3.00\r\n1963-05-28,3.00\r\n1963-05-29,3.00\r\n1963-05-30,3.00\r\n1963-05-31,3.00\r\n1963-06-01,3.00\r\n1963-06-02,3.00\r\n1963-06-03,3.00\r\n1963-06-04,3.00\r\n1963-06-05,3.00\r\n1963-06-06,3.00\r\n1963-06-07,3.00\r\n1963-06-08,3.00\r\n1963-06-09,3.00\r\n1963-06-10,3.00\r\n1963-06-11,3.00\r\n1963-06-12,3.00\r\n1963-06-13,3.00\r\n1963-06-14,3.00\r\n1963-06-15,3.00\r\n1963-06-16,3.00\r\n1963-06-17,3.00\r\n1963-06-18,3.00\r\n1963-06-19,3.00\r\n1963-06-20,3.00\r\n1963-06-21,3.00\r\n1963-06-22,3.00\r\n1963-06-23,3.00\r\n1963-06-24,3.00\r\n1963-06-25,2.75\r\n1963-06-26,3.00\r\n1963-06-27,3.00\r\n1963-06-28,3.00\r\n1963-06-29,3.00\r\n1963-06-30,3.00\r\n1963-07-01,3.00\r\n1963-07-02,3.00\r\n1963-07-03,3.00\r\n1963-07-04,3.00\r\n1963-07-05,3.00\r\n1963-07-06,3.00\r\n1963-07-07,3.00\r\n1963-07-08,3.00\r\n1963-07-09,2.88\r\n1963-07-10,3.00\r\n1963-07-11,3.00\r\n1963-07-12,3.00\r\n1963-07-13,3.00\r\n1963-07-14,3.00\r\n1963-07-15,3.00\r\n1963-07-16,3.00\r\n1963-07-17,3.25\r\n1963-07-18,3.25\r\n1963-07-19,3.25\r\n1963-07-20,3.25\r\n1963-07-21,3.25\r\n1963-07-22,2.75\r\n1963-07-23,2.00\r\n1963-07-24,0.75\r\n1963-07-25,3.25\r\n1963-07-26,3.38\r\n1963-07-27,3.38\r\n1963-07-28,3.38\r\n1963-07-29,3.50\r\n1963-07-30,3.50\r\n1963-07-31,3.50\r\n1963-08-01,3.50\r\n1963-08-02,3.50\r\n1963-08-03,3.50\r\n1963-08-04,3.50\r\n1963-08-05,3.50\r\n1963-08-06,3.50\r\n1963-08-07,3.50\r\n1963-08-08,3.50\r\n1963-08-09,3.50\r\n1963-08-10,3.50\r\n1963-08-11,3.50\r\n1963-08-12,3.50\r\n1963-08-13,3.38\r\n1963-08-14,3.38\r\n1963-08-15,3.50\r\n1963-08-16,3.50\r\n1963-08-17,3.50\r\n1963-08-18,3.50\r\n1963-08-19,3.50\r\n1963-08-20,3.50\r\n1963-08-21,3.50\r\n1963-08-22,3.50\r\n1963-08-23,3.50\r\n1963-08-24,3.50\r\n1963-08-25,3.50\r\n1963-08-26,3.50\r\n1963-08-27,3.50\r\n1963-08-28,3.38\r\n1963-08-29,3.50\r\n1963-08-30,3.50\r\n1963-08-31,3.50\r\n1963-09-01,3.50\r\n1963-09-02,3.50\r\n1963-09-03,3.50\r\n1963-09-04,3.50\r\n1963-09-05,3.50\r\n1963-09-06,3.50\r\n1963-09-07,3.50\r\n1963-09-08,3.50\r\n1963-09-09,3.50\r\n1963-09-10,3.50\r\n1963-09-11,3.50\r\n1963-09-12,3.50\r\n1963-09-13,3.50\r\n1963-09-14,3.50\r\n1963-09-15,3.50\r\n1963-09-16,3.50\r\n1963-09-17,3.50\r\n1963-09-18,3.00\r\n1963-09-19,3.50\r\n1963-09-20,3.50\r\n1963-09-21,3.50\r\n1963-09-22,3.50\r\n1963-09-23,3.50\r\n1963-09-24,3.38\r\n1963-09-25,3.50\r\n1963-09-26,3.50\r\n1963-09-27,3.50\r\n1963-09-28,3.50\r\n1963-09-29,3.50\r\n1963-09-30,3.50\r\n1963-10-01,3.50\r\n1963-10-02,3.50\r\n1963-10-03,3.50\r\n1963-10-04,3.50\r\n1963-10-05,3.50\r\n1963-10-06,3.50\r\n1963-10-07,3.50\r\n1963-10-08,3.38\r\n1963-10-09,3.50\r\n1963-10-10,3.50\r\n1963-10-11,3.50\r\n1963-10-12,3.50\r\n1963-10-13,3.50\r\n1963-10-14,3.50\r\n1963-10-15,3.50\r\n1963-10-16,3.50\r\n1963-10-17,3.50\r\n1963-10-18,3.50\r\n1963-10-19,3.50\r\n1963-10-20,3.50\r\n1963-10-21,3.50\r\n1963-10-22,3.50\r\n1963-10-23,3.50\r\n1963-10-24,3.50\r\n1963-10-25,3.50\r\n1963-10-26,3.50\r\n1963-10-27,3.50\r\n1963-10-28,3.50\r\n1963-10-29,3.50\r\n1963-10-30,3.50\r\n1963-10-31,3.50\r\n1963-11-01,3.50\r\n1963-11-02,3.50\r\n1963-11-03,3.50\r\n1963-11-04,3.50\r\n1963-11-05,3.50\r\n1963-11-06,3.50\r\n1963-11-07,3.50\r\n1963-11-08,3.50\r\n1963-11-09,3.50\r\n1963-11-10,3.50\r\n1963-11-11,3.50\r\n1963-11-12,3.50\r\n1963-11-13,3.00\r\n1963-11-14,3.50\r\n1963-11-15,3.50\r\n1963-11-16,3.50\r\n1963-11-17,3.50\r\n1963-11-18,3.50\r\n1963-11-19,3.50\r\n1963-11-20,3.50\r\n1963-11-21,3.50\r\n1963-11-22,3.50\r\n1963-11-23,3.50\r\n1963-11-24,3.50\r\n1963-11-25,3.50\r\n1963-11-26,3.50\r\n1963-11-27,3.50\r\n1963-11-28,3.50\r\n1963-11-29,3.50\r\n1963-11-30,3.50\r\n1963-12-01,3.50\r\n1963-12-02,3.50\r\n1963-12-03,3.50\r\n1963-12-04,2.25\r\n1963-12-05,3.25\r\n1963-12-06,3.38\r\n1963-12-07,3.38\r\n1963-12-08,3.38\r\n1963-12-09,3.00\r\n1963-12-10,2.25\r\n1963-12-11,3.50\r\n1963-12-12,3.50\r\n1963-12-13,3.50\r\n1963-12-14,3.50\r\n1963-12-15,3.50\r\n1963-12-16,3.50\r\n1963-12-17,3.50\r\n1963-12-18,3.50\r\n1963-12-19,3.50\r\n1963-12-20,3.50\r\n1963-12-21,3.50\r\n1963-12-22,3.50\r\n1963-12-23,3.50\r\n1963-12-24,3.50\r\n1963-12-25,3.50\r\n1963-12-26,3.50\r\n1963-12-27,3.50\r\n1963-12-28,3.50\r\n1963-12-29,3.50\r\n1963-12-30,3.50\r\n1963-12-31,3.25\r\n1964-01-01,3.25\r\n1964-01-02,3.50\r\n1964-01-03,3.50\r\n1964-01-04,3.50\r\n1964-01-05,3.50\r\n1964-01-06,3.50\r\n1964-01-07,3.50\r\n1964-01-08,3.50\r\n1964-01-09,3.50\r\n1964-01-10,3.50\r\n1964-01-11,3.50\r\n1964-01-12,3.50\r\n1964-01-13,3.50\r\n1964-01-14,3.50\r\n1964-01-15,3.50\r\n1964-01-16,3.50\r\n1964-01-17,3.50\r\n1964-01-18,3.50\r\n1964-01-19,3.50\r\n1964-01-20,3.50\r\n1964-01-21,3.25\r\n1964-01-22,3.50\r\n1964-01-23,3.50\r\n1964-01-24,3.50\r\n1964-01-25,3.50\r\n1964-01-26,3.50\r\n1964-01-27,3.50\r\n1964-01-28,3.50\r\n1964-01-29,3.50\r\n1964-01-30,3.50\r\n1964-01-31,3.50\r\n1964-02-01,3.50\r\n1964-02-02,3.50\r\n1964-02-03,3.50\r\n1964-02-04,3.50\r\n1964-02-05,3.50\r\n1964-02-06,3.50\r\n1964-02-07,3.50\r\n1964-02-08,3.50\r\n1964-02-09,3.50\r\n1964-02-10,3.50\r\n1964-02-11,3.50\r\n1964-02-12,3.50\r\n1964-02-13,3.50\r\n1964-02-14,3.50\r\n1964-02-15,3.50\r\n1964-02-16,3.50\r\n1964-02-17,3.50\r\n1964-02-18,3.50\r\n1964-02-19,3.00\r\n1964-02-20,3.50\r\n1964-02-21,3.50\r\n1964-02-22,3.50\r\n1964-02-23,3.50\r\n1964-02-24,3.50\r\n1964-02-25,3.50\r\n1964-02-26,3.50\r\n1964-02-27,3.50\r\n1964-02-28,3.50\r\n1964-02-29,3.50\r\n1964-03-01,3.50\r\n1964-03-02,3.50\r\n1964-03-03,3.50\r\n1964-03-04,2.00\r\n1964-03-05,3.50\r\n1964-03-06,3.50\r\n1964-03-07,3.50\r\n1964-03-08,3.50\r\n1964-03-09,3.50\r\n1964-03-10,3.50\r\n1964-03-11,3.50\r\n1964-03-12,3.50\r\n1964-03-13,3.50\r\n1964-03-14,3.50\r\n1964-03-15,3.50\r\n1964-03-16,3.50\r\n1964-03-17,3.50\r\n1964-03-18,3.00\r\n1964-03-19,3.50\r\n1964-03-20,3.50\r\n1964-03-21,3.50\r\n1964-03-22,3.50\r\n1964-03-23,3.50\r\n1964-03-24,3.38\r\n1964-03-25,3.38\r\n1964-03-26,3.50\r\n1964-03-27,3.50\r\n1964-03-28,3.50\r\n1964-03-29,3.50\r\n1964-03-30,3.50\r\n1964-03-31,3.50\r\n1964-04-01,3.50\r\n1964-04-02,3.50\r\n1964-04-03,3.50\r\n1964-04-04,3.50\r\n1964-04-05,3.50\r\n1964-04-06,3.50\r\n1964-04-07,3.38\r\n1964-04-08,3.25\r\n1964-04-09,3.50\r\n1964-04-10,3.50\r\n1964-04-11,3.50\r\n1964-04-12,3.50\r\n1964-04-13,3.50\r\n1964-04-14,3.50\r\n1964-04-15,3.50\r\n1964-04-16,3.50\r\n1964-04-17,3.50\r\n1964-04-18,3.50\r\n1964-04-19,3.50\r\n1964-04-20,3.50\r\n1964-04-21,3.38\r\n1964-04-22,3.38\r\n1964-04-23,3.50\r\n1964-04-24,3.50\r\n1964-04-25,3.50\r\n1964-04-26,3.50\r\n1964-04-27,3.50\r\n1964-04-28,3.38\r\n1964-04-29,3.25\r\n1964-04-30,3.50\r\n1964-05-01,3.50\r\n1964-05-02,3.50\r\n1964-05-03,3.50\r\n1964-05-04,3.50\r\n1964-05-05,3.50\r\n1964-05-06,3.50\r\n1964-05-07,3.50\r\n1964-05-08,3.50\r\n1964-05-09,3.50\r\n1964-05-10,3.50\r\n1964-05-11,3.50\r\n1964-05-12,3.50\r\n1964-05-13,3.50\r\n1964-05-14,3.50\r\n1964-05-15,3.50\r\n1964-05-16,3.50\r\n1964-05-17,3.50\r\n1964-05-18,3.50\r\n1964-05-19,3.50\r\n1964-05-20,3.50\r\n1964-05-21,3.50\r\n1964-05-22,3.50\r\n1964-05-23,3.50\r\n1964-05-24,3.50\r\n1964-05-25,3.50\r\n1964-05-26,3.50\r\n1964-05-27,3.38\r\n1964-05-28,3.50\r\n1964-05-29,3.50\r\n1964-05-30,3.50\r\n1964-05-31,3.50\r\n1964-06-01,3.50\r\n1964-06-02,3.50\r\n1964-06-03,3.50\r\n1964-06-04,3.50\r\n1964-06-05,3.50\r\n1964-06-06,3.50\r\n1964-06-07,3.50\r\n1964-06-08,3.50\r\n1964-06-09,3.50\r\n1964-06-10,3.50\r\n1964-06-11,3.50\r\n1964-06-12,3.50\r\n1964-06-13,3.50\r\n1964-06-14,3.50\r\n1964-06-15,3.50\r\n1964-06-16,3.50\r\n1964-06-17,3.50\r\n1964-06-18,3.50\r\n1964-06-19,3.50\r\n1964-06-20,3.50\r\n1964-06-21,3.50\r\n1964-06-22,3.50\r\n1964-06-23,3.50\r\n1964-06-24,3.50\r\n1964-06-25,3.50\r\n1964-06-26,3.50\r\n1964-06-27,3.50\r\n1964-06-28,3.50\r\n1964-06-29,3.50\r\n1964-06-30,3.50\r\n1964-07-01,3.50\r\n1964-07-02,3.50\r\n1964-07-03,3.50\r\n1964-07-04,3.50\r\n1964-07-05,3.50\r\n1964-07-06,3.50\r\n1964-07-07,3.50\r\n1964-07-08,3.50\r\n1964-07-09,3.50\r\n1964-07-10,3.50\r\n1964-07-11,3.50\r\n1964-07-12,3.50\r\n1964-07-13,3.50\r\n1964-07-14,3.50\r\n1964-07-15,3.50\r\n1964-07-16,3.50\r\n1964-07-17,3.50\r\n1964-07-18,3.50\r\n1964-07-19,3.50\r\n1964-07-20,3.50\r\n1964-07-21,3.00\r\n1964-07-22,1.50\r\n1964-07-23,3.50\r\n1964-07-24,3.50\r\n1964-07-25,3.50\r\n1964-07-26,3.50\r\n1964-07-27,3.50\r\n1964-07-28,3.50\r\n1964-07-29,3.50\r\n1964-07-30,3.50\r\n1964-07-31,3.50\r\n1964-08-01,3.50\r\n1964-08-02,3.50\r\n1964-08-03,3.50\r\n1964-08-04,3.50\r\n1964-08-05,3.50\r\n1964-08-06,3.50\r\n1964-08-07,3.50\r\n1964-08-08,3.50\r\n1964-08-09,3.50\r\n1964-08-10,3.50\r\n1964-08-11,3.50\r\n1964-08-12,3.50\r\n1964-08-13,3.50\r\n1964-08-14,3.50\r\n1964-08-15,3.50\r\n1964-08-16,3.50\r\n1964-08-17,3.50\r\n1964-08-18,3.50\r\n1964-08-19,3.50\r\n1964-08-20,3.50\r\n1964-08-21,3.50\r\n1964-08-22,3.50\r\n1964-08-23,3.50\r\n1964-08-24,3.50\r\n1964-08-25,3.50\r\n1964-08-26,3.50\r\n1964-08-27,3.50\r\n1964-08-28,3.50\r\n1964-08-29,3.50\r\n1964-08-30,3.50\r\n1964-08-31,3.50\r\n1964-09-01,3.50\r\n1964-09-02,3.50\r\n1964-09-03,3.50\r\n1964-09-04,3.50\r\n1964-09-05,3.50\r\n1964-09-06,3.50\r\n1964-09-07,3.50\r\n1964-09-08,3.50\r\n1964-09-09,3.00\r\n1964-09-10,3.50\r\n1964-09-11,3.50\r\n1964-09-12,3.50\r\n1964-09-13,3.50\r\n1964-09-14,3.50\r\n1964-09-15,3.50\r\n1964-09-16,3.25\r\n1964-09-17,3.50\r\n1964-09-18,3.50\r\n1964-09-19,3.50\r\n1964-09-20,3.50\r\n1964-09-21,3.50\r\n1964-09-22,3.50\r\n1964-09-23,3.50\r\n1964-09-24,3.50\r\n1964-09-25,3.50\r\n1964-09-26,3.50\r\n1964-09-27,3.50\r\n1964-09-28,3.50\r\n1964-09-29,3.50\r\n1964-09-30,2.75\r\n1964-10-01,3.50\r\n1964-10-02,3.50\r\n1964-10-03,3.50\r\n1964-10-04,3.50\r\n1964-10-05,3.50\r\n1964-10-06,3.50\r\n1964-10-07,2.50\r\n1964-10-08,3.50\r\n1964-10-09,3.50\r\n1964-10-10,3.50\r\n1964-10-11,3.50\r\n1964-10-12,3.50\r\n1964-10-13,3.00\r\n1964-10-14,1.00\r\n1964-10-15,3.50\r\n1964-10-16,3.50\r\n1964-10-17,3.50\r\n1964-10-18,3.50\r\n1964-10-19,3.50\r\n1964-10-20,3.38\r\n1964-10-21,3.50\r\n1964-10-22,3.50\r\n1964-10-23,3.50\r\n1964-10-24,3.50\r\n1964-10-25,3.50\r\n1964-10-26,3.50\r\n1964-10-27,3.25\r\n1964-10-28,3.50\r\n1964-10-29,3.50\r\n1964-10-30,3.50\r\n1964-10-31,3.50\r\n1964-11-01,3.50\r\n1964-11-02,3.50\r\n1964-11-03,3.50\r\n1964-11-04,3.50\r\n1964-11-05,3.50\r\n1964-11-06,3.50\r\n1964-11-07,3.50\r\n1964-11-08,3.50\r\n1964-11-09,3.50\r\n1964-11-10,3.50\r\n1964-11-11,3.50\r\n1964-11-12,3.63\r\n1964-11-13,3.63\r\n1964-11-14,3.63\r\n1964-11-15,3.63\r\n1964-11-16,3.63\r\n1964-11-17,3.50\r\n1964-11-18,3.50\r\n1964-11-19,3.63\r\n1964-11-20,3.50\r\n1964-11-21,3.50\r\n1964-11-22,3.50\r\n1964-11-23,3.50\r\n1964-11-24,3.25\r\n1964-11-25,2.50\r\n1964-11-26,2.50\r\n1964-11-27,4.00\r\n1964-11-28,4.00\r\n1964-11-29,4.00\r\n1964-11-30,4.00\r\n1964-12-01,4.00\r\n1964-12-02,3.50\r\n1964-12-03,4.00\r\n1964-12-04,3.75\r\n1964-12-05,3.75\r\n1964-12-06,3.75\r\n1964-12-07,3.50\r\n1964-12-08,2.50\r\n1964-12-09,2.50\r\n1964-12-10,4.00\r\n1964-12-11,4.00\r\n1964-12-12,4.00\r\n1964-12-13,4.00\r\n1964-12-14,4.00\r\n1964-12-15,4.00\r\n1964-12-16,4.00\r\n1964-12-17,4.00\r\n1964-12-18,4.00\r\n1964-12-19,4.00\r\n1964-12-20,4.00\r\n1964-12-21,4.00\r\n1964-12-22,4.00\r\n1964-12-23,4.00\r\n1964-12-24,4.00\r\n1964-12-25,4.00\r\n1964-12-26,4.00\r\n1964-12-27,4.00\r\n1964-12-28,4.00\r\n1964-12-29,4.00\r\n1964-12-30,4.00\r\n1964-12-31,4.00\r\n1965-01-01,4.00\r\n1965-01-02,4.00\r\n1965-01-03,4.00\r\n1965-01-04,4.00\r\n1965-01-05,4.00\r\n1965-01-06,4.00\r\n1965-01-07,4.00\r\n1965-01-08,4.00\r\n1965-01-09,4.00\r\n1965-01-10,4.00\r\n1965-01-11,4.00\r\n1965-01-12,4.00\r\n1965-01-13,4.00\r\n1965-01-14,4.00\r\n1965-01-15,4.00\r\n1965-01-16,4.00\r\n1965-01-17,4.00\r\n1965-01-18,4.00\r\n1965-01-19,3.00\r\n1965-01-20,2.00\r\n1965-01-21,4.00\r\n1965-01-22,4.00\r\n1965-01-23,4.00\r\n1965-01-24,4.00\r\n1965-01-25,4.00\r\n1965-01-26,4.00\r\n1965-01-27,4.00\r\n1965-01-28,4.00\r\n1965-01-29,4.00\r\n1965-01-30,4.00\r\n1965-01-31,4.00\r\n1965-02-01,4.00\r\n1965-02-02,4.00\r\n1965-02-03,4.00\r\n1965-02-04,4.13\r\n1965-02-05,4.13\r\n1965-02-06,4.13\r\n1965-02-07,4.13\r\n1965-02-08,4.00\r\n1965-02-09,4.00\r\n1965-02-10,3.50\r\n1965-02-11,4.00\r\n1965-02-12,4.00\r\n1965-02-13,4.00\r\n1965-02-14,4.00\r\n1965-02-15,4.00\r\n1965-02-16,4.00\r\n1965-02-17,4.00\r\n1965-02-18,4.00\r\n1965-02-19,4.00\r\n1965-02-20,4.00\r\n1965-02-21,4.00\r\n1965-02-22,4.00\r\n1965-02-23,4.00\r\n1965-02-24,3.50\r\n1965-02-25,4.00\r\n1965-02-26,4.00\r\n1965-02-27,4.00\r\n1965-02-28,4.00\r\n1965-03-01,4.00\r\n1965-03-02,4.00\r\n1965-03-03,4.00\r\n1965-03-04,4.00\r\n1965-03-05,4.13\r\n1965-03-06,4.13\r\n1965-03-07,4.13\r\n1965-03-08,4.00\r\n1965-03-09,4.00\r\n1965-03-10,4.00\r\n1965-03-11,4.13\r\n1965-03-12,4.00\r\n1965-03-13,4.00\r\n1965-03-14,4.00\r\n1965-03-15,4.13\r\n1965-03-16,4.00\r\n1965-03-17,4.00\r\n1965-03-18,4.13\r\n1965-03-19,4.13\r\n1965-03-20,4.13\r\n1965-03-21,4.13\r\n1965-03-22,4.13\r\n1965-03-23,4.00\r\n1965-03-24,4.00\r\n1965-03-25,4.13\r\n1965-03-26,4.00\r\n1965-03-27,4.00\r\n1965-03-28,4.00\r\n1965-03-29,4.00\r\n1965-03-30,4.00\r\n1965-03-31,4.00\r\n1965-04-01,4.13\r\n1965-04-02,4.13\r\n1965-04-03,4.13\r\n1965-04-04,4.13\r\n1965-04-05,4.13\r\n1965-04-06,4.13\r\n1965-04-07,4.00\r\n1965-04-08,4.13\r\n1965-04-09,4.13\r\n1965-04-10,4.13\r\n1965-04-11,4.13\r\n1965-04-12,4.13\r\n1965-04-13,4.13\r\n1965-04-14,4.13\r\n1965-04-15,4.13\r\n1965-04-16,4.13\r\n1965-04-17,4.13\r\n1965-04-18,4.13\r\n1965-04-19,4.00\r\n1965-04-20,4.13\r\n1965-04-21,4.00\r\n1965-04-22,4.13\r\n1965-04-23,4.00\r\n1965-04-24,4.00\r\n1965-04-25,4.00\r\n1965-04-26,4.00\r\n1965-04-27,4.00\r\n1965-04-28,4.00\r\n1965-04-29,4.13\r\n1965-04-30,4.13\r\n1965-05-01,4.13\r\n1965-05-02,4.13\r\n1965-05-03,4.13\r\n1965-05-04,4.13\r\n1965-05-05,4.13\r\n1965-05-06,4.13\r\n1965-05-07,4.13\r\n1965-05-08,4.13\r\n1965-05-09,4.13\r\n1965-05-10,4.00\r\n1965-05-11,4.00\r\n1965-05-12,4.00\r\n1965-05-13,4.13\r\n1965-05-14,4.13\r\n1965-05-15,4.13\r\n1965-05-16,4.13\r\n1965-05-17,4.00\r\n1965-05-18,4.00\r\n1965-05-19,4.00\r\n1965-05-20,4.13\r\n1965-05-21,4.13\r\n1965-05-22,4.13\r\n1965-05-23,4.13\r\n1965-05-24,4.00\r\n1965-05-25,4.13\r\n1965-05-26,4.13\r\n1965-05-27,4.13\r\n1965-05-28,4.13\r\n1965-05-29,4.13\r\n1965-05-30,4.13\r\n1965-05-31,4.13\r\n1965-06-01,4.13\r\n1965-06-02,4.00\r\n1965-06-03,4.13\r\n1965-06-04,4.13\r\n1965-06-05,4.13\r\n1965-06-06,4.13\r\n1965-06-07,4.13\r\n1965-06-08,4.00\r\n1965-06-09,4.13\r\n1965-06-10,4.13\r\n1965-06-11,4.13\r\n1965-06-12,4.13\r\n1965-06-13,4.13\r\n1965-06-14,4.13\r\n1965-06-15,4.13\r\n1965-06-16,4.13\r\n1965-06-17,4.13\r\n1965-06-18,4.13\r\n1965-06-19,4.13\r\n1965-06-20,4.13\r\n1965-06-21,4.13\r\n1965-06-22,4.00\r\n1965-06-23,2.00\r\n1965-06-24,4.13\r\n1965-06-25,4.13\r\n1965-06-26,4.13\r\n1965-06-27,4.13\r\n1965-06-28,4.13\r\n1965-06-29,4.13\r\n1965-06-30,4.13\r\n1965-07-01,4.13\r\n1965-07-02,4.13\r\n1965-07-03,4.13\r\n1965-07-04,4.13\r\n1965-07-05,4.13\r\n1965-07-06,4.13\r\n1965-07-07,4.13\r\n1965-07-08,4.13\r\n1965-07-09,4.13\r\n1965-07-10,4.13\r\n1965-07-11,4.13\r\n1965-07-12,4.13\r\n1965-07-13,4.00\r\n1965-07-14,4.00\r\n1965-07-15,4.13\r\n1965-07-16,4.13\r\n1965-07-17,4.13\r\n1965-07-18,4.13\r\n1965-07-19,4.00\r\n1965-07-20,4.00\r\n1965-07-21,3.75\r\n1965-07-22,4.13\r\n1965-07-23,4.13\r\n1965-07-24,4.13\r\n1965-07-25,4.13\r\n1965-07-26,4.00\r\n1965-07-27,4.00\r\n1965-07-28,4.13\r\n1965-07-29,4.13\r\n1965-07-30,4.13\r\n1965-07-31,4.13\r\n1965-08-01,4.13\r\n1965-08-02,4.13\r\n1965-08-03,4.13\r\n1965-08-04,4.00\r\n1965-08-05,4.13\r\n1965-08-06,4.13\r\n1965-08-07,4.13\r\n1965-08-08,4.13\r\n1965-08-09,4.13\r\n1965-08-10,4.13\r\n1965-08-11,4.13\r\n1965-08-12,4.13\r\n1965-08-13,4.13\r\n1965-08-14,4.13\r\n1965-08-15,4.13\r\n1965-08-16,4.13\r\n1965-08-17,4.13\r\n1965-08-18,4.13\r\n1965-08-19,4.13\r\n1965-08-20,4.13\r\n1965-08-21,4.13\r\n1965-08-22,4.13\r\n1965-08-23,4.13\r\n1965-08-24,4.13\r\n1965-08-25,4.13\r\n1965-08-26,4.13\r\n1965-08-27,4.13\r\n1965-08-28,4.13\r\n1965-08-29,4.13\r\n1965-08-30,4.13\r\n1965-08-31,4.00\r\n1965-09-01,3.75\r\n1965-09-02,4.13\r\n1965-09-03,4.13\r\n1965-09-04,4.13\r\n1965-09-05,4.13\r\n1965-09-06,4.13\r\n1965-09-07,4.13\r\n1965-09-08,4.00\r\n1965-09-09,4.13\r\n1965-09-10,4.13\r\n1965-09-11,4.13\r\n1965-09-12,4.13\r\n1965-09-13,4.13\r\n1965-09-14,4.13\r\n1965-09-15,4.13\r\n1965-09-16,4.13\r\n1965-09-17,4.13\r\n1965-09-18,4.13\r\n1965-09-19,4.13\r\n1965-09-20,4.13\r\n1965-09-21,4.13\r\n1965-09-22,4.13\r\n1965-09-23,4.13\r\n1965-09-24,4.25\r\n1965-09-25,4.25\r\n1965-09-26,4.25\r\n1965-09-27,4.13\r\n1965-09-28,4.00\r\n1965-09-29,1.00\r\n1965-09-30,4.13\r\n1965-10-01,4.13\r\n1965-10-02,4.13\r\n1965-10-03,4.13\r\n1965-10-04,4.13\r\n1965-10-05,4.00\r\n1965-10-06,4.00\r\n1965-10-07,4.13\r\n1965-10-08,4.13\r\n1965-10-09,4.13\r\n1965-10-10,4.13\r\n1965-10-11,4.13\r\n1965-10-12,4.13\r\n1965-10-13,4.13\r\n1965-10-14,4.13\r\n1965-10-15,4.13\r\n1965-10-16,4.13\r\n1965-10-17,4.13\r\n1965-10-18,4.13\r\n1965-10-19,3.75\r\n1965-10-20,4.13\r\n1965-10-21,4.13\r\n1965-10-22,4.13\r\n1965-10-23,4.13\r\n1965-10-24,4.13\r\n1965-10-25,4.00\r\n1965-10-26,3.75\r\n1965-10-27,3.75\r\n1965-10-28,4.13\r\n1965-10-29,4.13\r\n1965-10-30,4.13\r\n1965-10-31,4.13\r\n1965-11-01,4.13\r\n1965-11-02,4.13\r\n1965-11-03,4.13\r\n1965-11-04,4.13\r\n1965-11-05,4.13\r\n1965-11-06,4.13\r\n1965-11-07,4.13\r\n1965-11-08,4.13\r\n1965-11-09,3.50\r\n1965-11-10,4.13\r\n1965-11-11,4.13\r\n1965-11-12,4.13\r\n1965-11-13,4.13\r\n1965-11-14,4.13\r\n1965-11-15,4.13\r\n1965-11-16,4.13\r\n1965-11-17,4.13\r\n1965-11-18,4.13\r\n1965-11-19,4.13\r\n1965-11-20,4.13\r\n1965-11-21,4.13\r\n1965-11-22,4.13\r\n1965-11-23,4.00\r\n1965-11-24,4.13\r\n1965-11-25,4.13\r\n1965-11-26,4.13\r\n1965-11-27,4.13\r\n1965-11-28,4.13\r\n1965-11-29,4.13\r\n1965-11-30,4.13\r\n1965-12-01,4.13\r\n1965-12-02,4.13\r\n1965-12-03,4.13\r\n1965-12-04,4.13\r\n1965-12-05,4.13\r\n1965-12-06,4.25\r\n1965-12-07,4.00\r\n1965-12-08,1.00\r\n1965-12-09,4.50\r\n1965-12-10,4.50\r\n1965-12-11,4.50\r\n1965-12-12,4.50\r\n1965-12-13,4.50\r\n1965-12-14,4.50\r\n1965-12-15,4.50\r\n1965-12-16,4.50\r\n1965-12-17,4.50\r\n1965-12-18,4.50\r\n1965-12-19,4.50\r\n1965-12-20,4.50\r\n1965-12-21,4.00\r\n1965-12-22,4.50\r\n1965-12-23,4.63\r\n1965-12-24,4.63\r\n1965-12-25,4.63\r\n1965-12-26,4.63\r\n1965-12-27,4.63\r\n1965-12-28,4.63\r\n1965-12-29,4.63\r\n1965-12-30,4.63\r\n1965-12-31,4.63\r\n1966-01-01,4.63\r\n1966-01-02,4.63\r\n1966-01-03,4.63\r\n1966-01-04,4.63\r\n1966-01-05,4.50\r\n1966-01-06,4.63\r\n1966-01-07,4.63\r\n1966-01-08,4.63\r\n1966-01-09,4.63\r\n1966-01-10,4.63\r\n1966-01-11,4.50\r\n1966-01-12,4.50\r\n1966-01-13,4.63\r\n1966-01-14,4.63\r\n1966-01-15,4.63\r\n1966-01-16,4.63\r\n1966-01-17,4.50\r\n1966-01-18,2.50\r\n1966-01-19,1.50\r\n1966-01-20,4.63\r\n1966-01-21,4.63\r\n1966-01-22,4.63\r\n1966-01-23,4.63\r\n1966-01-24,4.50\r\n1966-01-25,4.25\r\n1966-01-26,4.63\r\n1966-01-27,4.63\r\n1966-01-28,4.63\r\n1966-01-29,4.63\r\n1966-01-30,4.63\r\n1966-01-31,4.50\r\n1966-02-01,4.25\r\n1966-02-02,4.50\r\n1966-02-03,4.63\r\n1966-02-04,4.63\r\n1966-02-05,4.63\r\n1966-02-06,4.63\r\n1966-02-07,4.63\r\n1966-02-08,4.63\r\n1966-02-09,4.63\r\n1966-02-10,4.63\r\n1966-02-11,4.63\r\n1966-02-12,4.63\r\n1966-02-13,4.63\r\n1966-02-14,4.50\r\n1966-02-15,4.50\r\n1966-02-16,4.63\r\n1966-02-17,4.63\r\n1966-02-18,4.63\r\n1966-02-19,4.63\r\n1966-02-20,4.63\r\n1966-02-21,4.63\r\n1966-02-22,4.63\r\n1966-02-23,4.63\r\n1966-02-24,4.63\r\n1966-02-25,4.63\r\n1966-02-26,4.63\r\n1966-02-27,4.63\r\n1966-02-28,4.63\r\n1966-03-01,4.63\r\n1966-03-02,4.63\r\n1966-03-03,4.75\r\n1966-03-04,4.75\r\n1966-03-05,4.75\r\n1966-03-06,4.75\r\n1966-03-07,4.63\r\n1966-03-08,4.50\r\n1966-03-09,4.63\r\n1966-03-10,4.63\r\n1966-03-11,4.63\r\n1966-03-12,4.63\r\n1966-03-13,4.63\r\n1966-03-14,4.63\r\n1966-03-15,4.63\r\n1966-03-16,4.25\r\n1966-03-17,4.75\r\n1966-03-18,4.63\r\n1966-03-19,4.63\r\n1966-03-20,4.63\r\n1966-03-21,4.63\r\n1966-03-22,4.75\r\n1966-03-23,4.75\r\n1966-03-24,4.75\r\n1966-03-25,4.75\r\n1966-03-26,4.75\r\n1966-03-27,4.75\r\n1966-03-28,4.63\r\n1966-03-29,4.63\r\n1966-03-30,4.50\r\n1966-03-31,4.75\r\n1966-04-01,4.75\r\n1966-04-02,4.75\r\n1966-04-03,4.75\r\n1966-04-04,4.75\r\n1966-04-05,4.75\r\n1966-04-06,4.75\r\n1966-04-07,4.75\r\n1966-04-08,4.75\r\n1966-04-09,4.75\r\n1966-04-10,4.75\r\n1966-04-11,4.75\r\n1966-04-12,4.63\r\n1966-04-13,4.50\r\n1966-04-14,4.75\r\n1966-04-15,4.75\r\n1966-04-16,4.75\r\n1966-04-17,4.75\r\n1966-04-18,4.75\r\n1966-04-19,4.75\r\n1966-04-20,4.88\r\n1966-04-21,4.88\r\n1966-04-22,4.75\r\n1966-04-23,4.75\r\n1966-04-24,4.75\r\n1966-04-25,4.75\r\n1966-04-26,4.50\r\n1966-04-27,3.00\r\n1966-04-28,4.75\r\n1966-04-29,4.63\r\n1966-04-30,4.63\r\n1966-05-01,4.63\r\n1966-05-02,4.75\r\n1966-05-03,4.88\r\n1966-05-04,4.88\r\n1966-05-05,4.88\r\n1966-05-06,5.00\r\n1966-05-07,5.00\r\n1966-05-08,5.00\r\n1966-05-09,4.88\r\n1966-05-10,4.50\r\n1966-05-11,4.25\r\n1966-05-12,4.88\r\n1966-05-13,5.00\r\n1966-05-14,5.00\r\n1966-05-15,5.00\r\n1966-05-16,5.00\r\n1966-05-17,5.00\r\n1966-05-18,5.00\r\n1966-05-19,5.13\r\n1966-05-20,5.13\r\n1966-05-21,5.13\r\n1966-05-22,5.13\r\n1966-05-23,4.88\r\n1966-05-24,4.25\r\n1966-05-25,4.25\r\n1966-05-26,5.13\r\n1966-05-27,5.13\r\n1966-05-28,5.13\r\n1966-05-29,5.13\r\n1966-05-30,5.13\r\n1966-05-31,4.75\r\n1966-06-01,4.25\r\n1966-06-02,5.13\r\n1966-06-03,5.25\r\n1966-06-04,5.25\r\n1966-06-05,5.25\r\n1966-06-06,4.75\r\n1966-06-07,4.25\r\n1966-06-08,5.00\r\n1966-06-09,5.25\r\n1966-06-10,5.25\r\n1966-06-11,5.25\r\n1966-06-12,5.25\r\n1966-06-13,5.00\r\n1966-06-14,5.00\r\n1966-06-15,5.25\r\n1966-06-16,5.25\r\n1966-06-17,5.13\r\n1966-06-18,5.13\r\n1966-06-19,5.13\r\n1966-06-20,5.00\r\n1966-06-21,5.25\r\n1966-06-22,5.38\r\n1966-06-23,5.38\r\n1966-06-24,5.50\r\n1966-06-25,5.50\r\n1966-06-26,5.50\r\n1966-06-27,5.38\r\n1966-06-28,5.38\r\n1966-06-29,5.38\r\n1966-06-30,5.50\r\n1966-07-01,5.50\r\n1966-07-02,5.50\r\n1966-07-03,5.50\r\n1966-07-04,5.50\r\n1966-07-05,5.25\r\n1966-07-06,4.75\r\n1966-07-07,5.50\r\n1966-07-08,5.63\r\n1966-07-09,5.63\r\n1966-07-10,5.63\r\n1966-07-11,5.63\r\n1966-07-12,5.63\r\n1966-07-13,4.50\r\n1966-07-14,5.63\r\n1966-07-15,5.25\r\n1966-07-16,5.25\r\n1966-07-17,5.25\r\n1966-07-18,4.00\r\n1966-07-19,4.50\r\n1966-07-20,3.00\r\n1966-07-21,5.00\r\n1966-07-22,5.50\r\n1966-07-23,5.50\r\n1966-07-24,5.50\r\n1966-07-25,5.50\r\n1966-07-26,5.50\r\n1966-07-27,5.75\r\n1966-07-28,5.75\r\n1966-07-29,5.75\r\n1966-07-30,5.75\r\n1966-07-31,5.75\r\n1966-08-01,5.63\r\n1966-08-02,5.50\r\n1966-08-03,5.25\r\n1966-08-04,5.75\r\n1966-08-05,5.88\r\n1966-08-06,5.88\r\n1966-08-07,5.88\r\n1966-08-08,5.75\r\n1966-08-09,5.63\r\n1966-08-10,5.50\r\n1966-08-11,5.88\r\n1966-08-12,5.88\r\n1966-08-13,5.88\r\n1966-08-14,5.88\r\n1966-08-15,5.75\r\n1966-08-16,4.75\r\n1966-08-17,3.50\r\n1966-08-18,5.88\r\n1966-08-19,5.88\r\n1966-08-20,5.88\r\n1966-08-21,5.88\r\n1966-08-22,5.25\r\n1966-08-23,5.50\r\n1966-08-24,5.75\r\n1966-08-25,5.88\r\n1966-08-26,5.50\r\n1966-08-27,5.50\r\n1966-08-28,5.50\r\n1966-08-29,5.25\r\n1966-08-30,5.25\r\n1966-08-31,4.50\r\n1966-09-01,5.88\r\n1966-09-02,5.88\r\n1966-09-03,5.88\r\n1966-09-04,5.88\r\n1966-09-05,5.88\r\n1966-09-06,5.88\r\n1966-09-07,6.00\r\n1966-09-08,6.00\r\n1966-09-09,6.13\r\n1966-09-10,6.13\r\n1966-09-11,6.13\r\n1966-09-12,5.88\r\n1966-09-13,5.88\r\n1966-09-14,4.50\r\n1966-09-15,6.00\r\n1966-09-16,5.50\r\n1966-09-17,5.50\r\n1966-09-18,5.50\r\n1966-09-19,5.25\r\n1966-09-20,4.75\r\n1966-09-21,4.50\r\n1966-09-22,5.25\r\n1966-09-23,4.75\r\n1966-09-24,4.75\r\n1966-09-25,4.75\r\n1966-09-26,4.50\r\n1966-09-27,4.00\r\n1966-09-28,3.50\r\n1966-09-29,5.75\r\n1966-09-30,5.75\r\n1966-10-01,5.75\r\n1966-10-02,5.75\r\n1966-10-03,6.00\r\n1966-10-04,6.00\r\n1966-10-05,6.00\r\n1966-10-06,5.75\r\n1966-10-07,6.00\r\n1966-10-08,6.00\r\n1966-10-09,6.00\r\n1966-10-10,5.25\r\n1966-10-11,4.75\r\n1966-10-12,4.75\r\n1966-10-13,5.75\r\n1966-10-14,6.00\r\n1966-10-15,6.00\r\n1966-10-16,6.00\r\n1966-10-17,5.75\r\n1966-10-18,5.00\r\n1966-10-19,5.00\r\n1966-10-20,5.75\r\n1966-10-21,5.25\r\n1966-10-22,5.25\r\n1966-10-23,5.25\r\n1966-10-24,5.50\r\n1966-10-25,4.00\r\n1966-10-26,4.25\r\n1966-10-27,5.75\r\n1966-10-28,5.75\r\n1966-10-29,5.75\r\n1966-10-30,5.75\r\n1966-10-31,5.75\r\n1966-11-01,6.00\r\n1966-11-02,6.25\r\n1966-11-03,6.00\r\n1966-11-04,6.00\r\n1966-11-05,6.00\r\n1966-11-06,6.00\r\n1966-11-07,5.75\r\n1966-11-08,5.50\r\n1966-11-09,5.50\r\n1966-11-10,6.00\r\n1966-11-11,6.00\r\n1966-11-12,6.00\r\n1966-11-13,6.00\r\n1966-11-14,5.75\r\n1966-11-15,6.00\r\n1966-11-16,6.00\r\n1966-11-17,5.75\r\n1966-11-18,5.50\r\n1966-11-19,5.50\r\n1966-11-20,5.50\r\n1966-11-21,5.50\r\n1966-11-22,5.25\r\n1966-11-23,5.50\r\n1966-11-24,5.50\r\n1966-11-25,5.75\r\n1966-11-26,5.75\r\n1966-11-27,5.75\r\n1966-11-28,6.00\r\n1966-11-29,5.00\r\n1966-11-30,5.75\r\n1966-12-01,5.50\r\n1966-12-02,5.50\r\n1966-12-03,5.50\r\n1966-12-04,5.50\r\n1966-12-05,5.25\r\n1966-12-06,5.00\r\n1966-12-07,5.25\r\n1966-12-08,5.75\r\n1966-12-09,5.50\r\n1966-12-10,5.50\r\n1966-12-11,5.50\r\n1966-12-12,5.50\r\n1966-12-13,5.25\r\n1966-12-14,5.00\r\n1966-12-15,5.50\r\n1966-12-16,5.25\r\n1966-12-17,5.25\r\n1966-12-18,5.25\r\n1966-12-19,5.00\r\n1966-12-20,5.50\r\n1966-12-21,5.00\r\n1966-12-22,5.50\r\n1966-12-23,5.50\r\n1966-12-24,5.50\r\n1966-12-25,5.50\r\n1966-12-26,5.50\r\n1966-12-27,5.75\r\n1966-12-28,5.75\r\n1966-12-29,6.00\r\n1966-12-30,5.00\r\n1966-12-31,5.00\r\n1967-01-01,5.00\r\n1967-01-02,5.00\r\n1967-01-03,5.50\r\n1967-01-04,4.50\r\n1967-01-05,5.50\r\n1967-01-06,5.75\r\n1967-01-07,5.75\r\n1967-01-08,5.75\r\n1967-01-09,5.00\r\n1967-01-10,5.00\r\n1967-01-11,5.00\r\n1967-01-12,5.50\r\n1967-01-13,5.00\r\n1967-01-14,5.00\r\n1967-01-15,5.00\r\n1967-01-16,4.25\r\n1967-01-17,4.25\r\n1967-01-18,4.75\r\n1967-01-19,5.25\r\n1967-01-20,5.50\r\n1967-01-21,5.50\r\n1967-01-22,5.50\r\n1967-01-23,4.75\r\n1967-01-24,4.75\r\n1967-01-25,5.00\r\n1967-01-26,4.75\r\n1967-01-27,4.25\r\n1967-01-28,4.25\r\n1967-01-29,4.25\r\n1967-01-30,4.00\r\n1967-01-31,4.00\r\n1967-02-01,4.00\r\n1967-02-02,4.50\r\n1967-02-03,4.75\r\n1967-02-04,4.75\r\n1967-02-05,4.75\r\n1967-02-06,5.25\r\n1967-02-07,5.50\r\n1967-02-08,5.00\r\n1967-02-09,5.00\r\n1967-02-10,5.25\r\n1967-02-11,5.25\r\n1967-02-12,5.25\r\n1967-02-13,5.25\r\n1967-02-14,5.00\r\n1967-02-15,5.25\r\n1967-02-16,5.25\r\n1967-02-17,5.25\r\n1967-02-18,5.25\r\n1967-02-19,5.25\r\n1967-02-20,5.25\r\n1967-02-21,5.00\r\n1967-02-22,5.00\r\n1967-02-23,5.25\r\n1967-02-24,4.75\r\n1967-02-25,4.75\r\n1967-02-26,4.75\r\n1967-02-27,4.75\r\n1967-02-28,4.75\r\n1967-03-01,3.75\r\n1967-03-02,4.50\r\n1967-03-03,4.75\r\n1967-03-04,4.75\r\n1967-03-05,4.75\r\n1967-03-06,4.75\r\n1967-03-07,4.75\r\n1967-03-08,4.75\r\n1967-03-09,4.75\r\n1967-03-10,4.50\r\n1967-03-11,4.50\r\n1967-03-12,4.50\r\n1967-03-13,4.50\r\n1967-03-14,4.50\r\n1967-03-15,4.50\r\n1967-03-16,4.50\r\n1967-03-17,4.75\r\n1967-03-18,4.75\r\n1967-03-19,4.75\r\n1967-03-20,4.75\r\n1967-03-21,4.75\r\n1967-03-22,4.75\r\n1967-03-23,4.75\r\n1967-03-24,4.50\r\n1967-03-25,4.50\r\n1967-03-26,4.50\r\n1967-03-27,4.50\r\n1967-03-28,4.50\r\n1967-03-29,2.50\r\n1967-03-30,4.75\r\n1967-03-31,4.50\r\n1967-04-01,4.50\r\n1967-04-02,4.50\r\n1967-04-03,4.50\r\n1967-04-04,4.63\r\n1967-04-05,4.50\r\n1967-04-06,4.50\r\n1967-04-07,4.00\r\n1967-04-08,4.00\r\n1967-04-09,4.00\r\n1967-04-10,3.50\r\n1967-04-11,3.50\r\n1967-04-12,4.00\r\n1967-04-13,4.00\r\n1967-04-14,4.00\r\n1967-04-15,4.00\r\n1967-04-16,4.00\r\n1967-04-17,4.00\r\n1967-04-18,4.00\r\n1967-04-19,3.50\r\n1967-04-20,4.00\r\n1967-04-21,4.00\r\n1967-04-22,4.00\r\n1967-04-23,4.00\r\n1967-04-24,4.00\r\n1967-04-25,4.00\r\n1967-04-26,4.00\r\n1967-04-27,4.00\r\n1967-04-28,4.00\r\n1967-04-29,4.00\r\n1967-04-30,4.00\r\n1967-05-01,4.00\r\n1967-05-02,4.00\r\n1967-05-03,4.00\r\n1967-05-04,4.13\r\n1967-05-05,4.00\r\n1967-05-06,4.00\r\n1967-05-07,4.00\r\n1967-05-08,3.75\r\n1967-05-09,3.75\r\n1967-05-10,3.25\r\n1967-05-11,4.00\r\n1967-05-12,4.00\r\n1967-05-13,4.00\r\n1967-05-14,4.00\r\n1967-05-15,4.00\r\n1967-05-16,4.13\r\n1967-05-17,4.00\r\n1967-05-18,4.00\r\n1967-05-19,4.00\r\n1967-05-20,4.00\r\n1967-05-21,4.00\r\n1967-05-22,3.75\r\n1967-05-23,4.00\r\n1967-05-24,3.75\r\n1967-05-25,4.00\r\n1967-05-26,4.00\r\n1967-05-27,4.00\r\n1967-05-28,4.00\r\n1967-05-29,3.75\r\n1967-05-30,3.75\r\n1967-05-31,4.13\r\n1967-06-01,4.00\r\n1967-06-02,4.00\r\n1967-06-03,4.00\r\n1967-06-04,4.00\r\n1967-06-05,3.75\r\n1967-06-06,4.00\r\n1967-06-07,3.75\r\n1967-06-08,4.00\r\n1967-06-09,4.00\r\n1967-06-10,4.00\r\n1967-06-11,4.00\r\n1967-06-12,4.00\r\n1967-06-13,4.00\r\n1967-06-14,4.00\r\n1967-06-15,4.13\r\n1967-06-16,4.00\r\n1967-06-17,4.00\r\n1967-06-18,4.00\r\n1967-06-19,3.75\r\n1967-06-20,4.00\r\n1967-06-21,4.00\r\n1967-06-22,4.13\r\n1967-06-23,4.13\r\n1967-06-24,4.13\r\n1967-06-25,4.13\r\n1967-06-26,4.00\r\n1967-06-27,4.00\r\n1967-06-28,4.00\r\n1967-06-29,4.13\r\n1967-06-30,3.50\r\n1967-07-01,3.50\r\n1967-07-02,3.50\r\n1967-07-03,4.00\r\n1967-07-04,4.00\r\n1967-07-05,3.50\r\n1967-07-06,4.13\r\n1967-07-07,4.00\r\n1967-07-08,4.00\r\n1967-07-09,4.00\r\n1967-07-10,4.00\r\n1967-07-11,4.00\r\n1967-07-12,3.75\r\n1967-07-13,4.00\r\n1967-07-14,3.75\r\n1967-07-15,3.75\r\n1967-07-16,3.75\r\n1967-07-17,3.75\r\n1967-07-18,3.75\r\n1967-07-19,2.00\r\n1967-07-20,3.75\r\n1967-07-21,4.00\r\n1967-07-22,4.00\r\n1967-07-23,4.00\r\n1967-07-24,3.75\r\n1967-07-25,4.00\r\n1967-07-26,4.00\r\n1967-07-27,4.00\r\n1967-07-28,3.75\r\n1967-07-29,3.75\r\n1967-07-30,3.75\r\n1967-07-31,3.75\r\n1967-08-01,3.75\r\n1967-08-02,3.50\r\n1967-08-03,4.00\r\n1967-08-04,4.00\r\n1967-08-05,4.00\r\n1967-08-06,4.00\r\n1967-08-07,4.00\r\n1967-08-08,4.00\r\n1967-08-09,4.13\r\n1967-08-10,4.13\r\n1967-08-11,4.00\r\n1967-08-12,4.00\r\n1967-08-13,4.00\r\n1967-08-14,4.00\r\n1967-08-15,4.13\r\n1967-08-16,4.13\r\n1967-08-17,4.00\r\n1967-08-18,4.00\r\n1967-08-19,4.00\r\n1967-08-20,4.00\r\n1967-08-21,3.88\r\n1967-08-22,4.00\r\n1967-08-23,4.00\r\n1967-08-24,3.88\r\n1967-08-25,3.75\r\n1967-08-26,3.75\r\n1967-08-27,3.75\r\n1967-08-28,3.50\r\n1967-08-29,3.50\r\n1967-08-30,3.00\r\n1967-08-31,4.00\r\n1967-09-01,4.00\r\n1967-09-02,4.00\r\n1967-09-03,4.00\r\n1967-09-04,4.00\r\n1967-09-05,4.00\r\n1967-09-06,4.13\r\n1967-09-07,4.00\r\n1967-09-08,4.00\r\n1967-09-09,4.00\r\n1967-09-10,4.00\r\n1967-09-11,4.13\r\n1967-09-12,4.00\r\n1967-09-13,3.75\r\n1967-09-14,4.00\r\n1967-09-15,4.00\r\n1967-09-16,4.00\r\n1967-09-17,4.00\r\n1967-09-18,4.00\r\n1967-09-19,4.00\r\n1967-09-20,4.00\r\n1967-09-21,4.00\r\n1967-09-22,4.00\r\n1967-09-23,4.00\r\n1967-09-24,4.00\r\n1967-09-25,4.00\r\n1967-09-26,4.00\r\n1967-09-27,4.00\r\n1967-09-28,4.13\r\n1967-09-29,3.75\r\n1967-09-30,3.75\r\n1967-10-01,3.75\r\n1967-10-02,4.13\r\n1967-10-03,4.13\r\n1967-10-04,4.13\r\n1967-10-05,4.13\r\n1967-10-06,4.00\r\n1967-10-07,4.00\r\n1967-10-08,4.00\r\n1967-10-09,4.00\r\n1967-10-10,4.13\r\n1967-10-11,4.00\r\n1967-10-12,4.00\r\n1967-10-13,4.13\r\n1967-10-14,4.13\r\n1967-10-15,4.13\r\n1967-10-16,4.13\r\n1967-10-17,4.00\r\n1967-10-18,3.75\r\n1967-10-19,4.00\r\n1967-10-20,3.75\r\n1967-10-21,3.75\r\n1967-10-22,3.75\r\n1967-10-23,3.50\r\n1967-10-24,3.75\r\n1967-10-25,2.00\r\n1967-10-26,3.75\r\n1967-10-27,3.75\r\n1967-10-28,3.75\r\n1967-10-29,3.75\r\n1967-10-30,4.00\r\n1967-10-31,4.13\r\n1967-11-01,4.13\r\n1967-11-02,4.00\r\n1967-11-03,4.00\r\n1967-11-04,4.00\r\n1967-11-05,4.00\r\n1967-11-06,4.00\r\n1967-11-07,4.00\r\n1967-11-08,3.75\r\n1967-11-09,4.00\r\n1967-11-10,4.13\r\n1967-11-11,4.13\r\n1967-11-12,4.13\r\n1967-11-13,4.13\r\n1967-11-14,4.13\r\n1967-11-15,4.00\r\n1967-11-16,4.13\r\n1967-11-17,4.00\r\n1967-11-18,4.00\r\n1967-11-19,4.00\r\n1967-11-20,4.25\r\n1967-11-21,4.00\r\n1967-11-22,3.75\r\n1967-11-23,3.75\r\n1967-11-24,4.50\r\n1967-11-25,4.50\r\n1967-11-26,4.50\r\n1967-11-27,4.63\r\n1967-11-28,4.50\r\n1967-11-29,4.25\r\n1967-11-30,4.50\r\n1967-12-01,4.50\r\n1967-12-02,4.50\r\n1967-12-03,4.50\r\n1967-12-04,4.25\r\n1967-12-05,4.25\r\n1967-12-06,4.00\r\n1967-12-07,4.50\r\n1967-12-08,4.50\r\n1967-12-09,4.50\r\n1967-12-10,4.50\r\n1967-12-11,4.50\r\n1967-12-12,4.63\r\n1967-12-13,4.50\r\n1967-12-14,4.63\r\n1967-12-15,4.50\r\n1967-12-16,4.50\r\n1967-12-17,4.50\r\n1967-12-18,4.50\r\n1967-12-19,4.38\r\n1967-12-20,4.38\r\n1967-12-21,4.63\r\n1967-12-22,4.63\r\n1967-12-23,4.63\r\n1967-12-24,4.63\r\n1967-12-25,4.63\r\n1967-12-26,4.63\r\n1967-12-27,4.63\r\n1967-12-28,4.88\r\n1967-12-29,4.50\r\n1967-12-30,4.50\r\n1967-12-31,4.50\r\n1968-01-01,4.50\r\n1968-01-02,4.63\r\n1968-01-03,4.25\r\n1968-01-04,4.63\r\n1968-01-05,4.75\r\n1968-01-06,4.75\r\n1968-01-07,4.75\r\n1968-01-08,4.63\r\n1968-01-09,4.63\r\n1968-01-10,4.25\r\n1968-01-11,4.63\r\n1968-01-12,4.50\r\n1968-01-13,4.50\r\n1968-01-14,4.50\r\n1968-01-15,4.50\r\n1968-01-16,4.75\r\n1968-01-17,4.88\r\n1968-01-18,4.75\r\n1968-01-19,4.75\r\n1968-01-20,4.75\r\n1968-01-21,4.75\r\n1968-01-22,4.63\r\n1968-01-23,4.63\r\n1968-01-24,4.63\r\n1968-01-25,4.63\r\n1968-01-26,4.50\r\n1968-01-27,4.50\r\n1968-01-28,4.50\r\n1968-01-29,4.50\r\n1968-01-30,4.50\r\n1968-01-31,4.75\r\n1968-02-01,4.75\r\n1968-02-02,4.75\r\n1968-02-03,4.75\r\n1968-02-04,4.75\r\n1968-02-05,4.75\r\n1968-02-06,4.75\r\n1968-02-07,4.63\r\n1968-02-08,4.75\r\n1968-02-09,4.75\r\n1968-02-10,4.75\r\n1968-02-11,4.75\r\n1968-02-12,4.75\r\n1968-02-13,4.63\r\n1968-02-14,4.25\r\n1968-02-15,4.75\r\n1968-02-16,4.75\r\n1968-02-17,4.75\r\n1968-02-18,4.75\r\n1968-02-19,4.63\r\n1968-02-20,4.63\r\n1968-02-21,4.63\r\n1968-02-22,4.63\r\n1968-02-23,4.88\r\n1968-02-24,4.88\r\n1968-02-25,4.88\r\n1968-02-26,4.75\r\n1968-02-27,4.75\r\n1968-02-28,4.50\r\n1968-02-29,4.75\r\n1968-03-01,4.75\r\n1968-03-02,4.75\r\n1968-03-03,4.75\r\n1968-03-04,4.88\r\n1968-03-05,4.88\r\n1968-03-06,5.00\r\n1968-03-07,5.00\r\n1968-03-08,5.00\r\n1968-03-09,5.00\r\n1968-03-10,5.00\r\n1968-03-11,5.00\r\n1968-03-12,4.50\r\n1968-03-13,3.00\r\n1968-03-14,5.50\r\n1968-03-15,5.13\r\n1968-03-16,5.13\r\n1968-03-17,5.13\r\n1968-03-18,5.25\r\n1968-03-19,5.50\r\n1968-03-20,4.25\r\n1968-03-21,5.50\r\n1968-03-22,5.50\r\n1968-03-23,5.50\r\n1968-03-24,5.50\r\n1968-03-25,5.38\r\n1968-03-26,5.00\r\n1968-03-27,5.38\r\n1968-03-28,5.75\r\n1968-03-29,5.25\r\n1968-03-30,5.25\r\n1968-03-31,5.25\r\n1968-04-01,5.50\r\n1968-04-02,5.75\r\n1968-04-03,5.88\r\n1968-04-04,5.88\r\n1968-04-05,5.75\r\n1968-04-06,5.75\r\n1968-04-07,5.75\r\n1968-04-08,5.50\r\n1968-04-09,5.50\r\n1968-04-10,5.50\r\n1968-04-11,5.75\r\n1968-04-12,5.75\r\n1968-04-13,5.75\r\n1968-04-14,5.75\r\n1968-04-15,5.75\r\n1968-04-16,5.75\r\n1968-04-17,5.50\r\n1968-04-18,5.75\r\n1968-04-19,5.75\r\n1968-04-20,5.75\r\n1968-04-21,5.75\r\n1968-04-22,5.88\r\n1968-04-23,5.50\r\n1968-04-24,5.00\r\n1968-04-25,5.88\r\n1968-04-26,6.13\r\n1968-04-27,6.13\r\n1968-04-28,6.13\r\n1968-04-29,6.13\r\n1968-04-30,6.25\r\n1968-05-01,6.38\r\n1968-05-02,6.25\r\n1968-05-03,6.13\r\n1968-05-04,6.13\r\n1968-05-05,6.13\r\n1968-05-06,6.13\r\n1968-05-07,6.00\r\n1968-05-08,5.50\r\n1968-05-09,6.25\r\n1968-05-10,6.25\r\n1968-05-11,6.25\r\n1968-05-12,6.25\r\n1968-05-13,6.38\r\n1968-05-14,6.50\r\n1968-05-15,6.50\r\n1968-05-16,6.38\r\n1968-05-17,6.38\r\n1968-05-18,6.38\r\n1968-05-19,6.38\r\n1968-05-20,6.13\r\n1968-05-21,5.88\r\n1968-05-22,5.00\r\n1968-05-23,6.25\r\n1968-05-24,6.13\r\n1968-05-25,6.13\r\n1968-05-26,6.13\r\n1968-05-27,6.00\r\n1968-05-28,5.75\r\n1968-05-29,5.75\r\n1968-05-30,5.75\r\n1968-05-31,6.13\r\n1968-06-01,6.13\r\n1968-06-02,6.13\r\n1968-06-03,6.13\r\n1968-06-04,5.75\r\n1968-06-05,5.50\r\n1968-06-06,6.25\r\n1968-06-07,6.13\r\n1968-06-08,6.13\r\n1968-06-09,6.13\r\n1968-06-10,6.25\r\n1968-06-11,6.38\r\n1968-06-12,6.00\r\n1968-06-13,6.25\r\n1968-06-14,6.13\r\n1968-06-15,6.13\r\n1968-06-16,6.13\r\n1968-06-17,6.00\r\n1968-06-18,6.13\r\n1968-06-19,6.50\r\n1968-06-20,6.38\r\n1968-06-21,6.38\r\n1968-06-22,6.38\r\n1968-06-23,6.38\r\n1968-06-24,6.50\r\n1968-06-25,5.75\r\n1968-06-26,5.25\r\n1968-06-27,6.50\r\n1968-06-28,5.50\r\n1968-06-29,5.50\r\n1968-06-30,5.50\r\n1968-07-01,6.13\r\n1968-07-02,5.50\r\n1968-07-03,5.50\r\n1968-07-04,5.50\r\n1968-07-05,6.00\r\n1968-07-06,6.00\r\n1968-07-07,6.00\r\n1968-07-08,6.00\r\n1968-07-09,6.13\r\n1968-07-10,6.00\r\n1968-07-11,6.00\r\n1968-07-12,6.00\r\n1968-07-13,6.00\r\n1968-07-14,6.00\r\n1968-07-15,6.25\r\n1968-07-16,6.38\r\n1968-07-17,6.25\r\n1968-07-18,6.13\r\n1968-07-19,6.13\r\n1968-07-20,6.13\r\n1968-07-21,6.13\r\n1968-07-22,6.13\r\n1968-07-23,6.00\r\n1968-07-24,6.13\r\n1968-07-25,6.13\r\n1968-07-26,6.13\r\n1968-07-27,6.13\r\n1968-07-28,6.13\r\n1968-07-29,6.00\r\n1968-07-30,5.88\r\n1968-07-31,6.00\r\n1968-08-01,6.00\r\n1968-08-02,6.13\r\n1968-08-03,6.13\r\n1968-08-04,6.13\r\n1968-08-05,6.13\r\n1968-08-06,6.25\r\n1968-08-07,6.00\r\n1968-08-08,6.13\r\n1968-08-09,6.13\r\n1968-08-10,6.13\r\n1968-08-11,6.13\r\n1968-08-12,6.13\r\n1968-08-13,6.25\r\n1968-08-14,6.00\r\n1968-08-15,6.13\r\n1968-08-16,6.13\r\n1968-08-17,6.13\r\n1968-08-18,6.13\r\n1968-08-19,6.00\r\n1968-08-20,6.00\r\n1968-08-21,5.88\r\n1968-08-22,6.00\r\n1968-08-23,5.88\r\n1968-08-24,5.88\r\n1968-08-25,5.88\r\n1968-08-26,5.88\r\n1968-08-27,6.00\r\n1968-08-28,6.00\r\n1968-08-29,5.88\r\n1968-08-30,5.75\r\n1968-08-31,5.75\r\n1968-09-01,5.75\r\n1968-09-02,5.75\r\n1968-09-03,5.75\r\n1968-09-04,6.00\r\n1968-09-05,6.00\r\n1968-09-06,6.00\r\n1968-09-07,6.00\r\n1968-09-08,6.00\r\n1968-09-09,6.00\r\n1968-09-10,5.88\r\n1968-09-11,5.00\r\n1968-09-12,5.75\r\n1968-09-13,5.75\r\n1968-09-14,5.75\r\n1968-09-15,5.75\r\n1968-09-16,5.75\r\n1968-09-17,5.63\r\n1968-09-18,5.38\r\n1968-09-19,5.50\r\n1968-09-20,5.63\r\n1968-09-21,5.63\r\n1968-09-22,5.63\r\n1968-09-23,5.75\r\n1968-09-24,5.88\r\n1968-09-25,5.88\r\n1968-09-26,6.00\r\n1968-09-27,6.00\r\n1968-09-28,6.00\r\n1968-09-29,6.00\r\n1968-09-30,5.50\r\n1968-10-01,6.00\r\n1968-10-02,6.00\r\n1968-10-03,6.00\r\n1968-10-04,5.88\r\n1968-10-05,5.88\r\n1968-10-06,5.88\r\n1968-10-07,6.00\r\n1968-10-08,5.88\r\n1968-10-09,5.75\r\n1968-10-10,6.00\r\n1968-10-11,6.13\r\n1968-10-12,6.13\r\n1968-10-13,6.13\r\n1968-10-14,6.13\r\n1968-10-15,6.00\r\n1968-10-16,5.25\r\n1968-10-17,5.88\r\n1968-10-18,5.75\r\n1968-10-19,5.75\r\n1968-10-20,5.75\r\n1968-10-21,5.75\r\n1968-10-22,5.88\r\n1968-10-23,6.13\r\n1968-10-24,6.00\r\n1968-10-25,6.00\r\n1968-10-26,6.00\r\n1968-10-27,6.00\r\n1968-10-28,5.88\r\n1968-10-29,5.88\r\n1968-10-30,5.63\r\n1968-10-31,6.00\r\n1968-11-01,6.00\r\n1968-11-02,6.00\r\n1968-11-03,6.00\r\n1968-11-04,6.13\r\n1968-11-05,6.13\r\n1968-11-06,6.25\r\n1968-11-07,6.13\r\n1968-11-08,6.13\r\n1968-11-09,6.13\r\n1968-11-10,6.13\r\n1968-11-11,6.13\r\n1968-11-12,6.13\r\n1968-11-13,5.25\r\n1968-11-14,6.00\r\n1968-11-15,6.00\r\n1968-11-16,6.00\r\n1968-11-17,6.00\r\n1968-11-18,6.00\r\n1968-11-19,5.63\r\n1968-11-20,2.50\r\n1968-11-21,5.50\r\n1968-11-22,5.75\r\n1968-11-23,5.75\r\n1968-11-24,5.75\r\n1968-11-25,5.88\r\n1968-11-26,5.75\r\n1968-11-27,5.75\r\n1968-11-28,5.75\r\n1968-11-29,6.00\r\n1968-11-30,6.00\r\n1968-12-01,6.00\r\n1968-12-02,6.13\r\n1968-12-03,5.88\r\n1968-12-04,4.25\r\n1968-12-05,5.88\r\n1968-12-06,5.88\r\n1968-12-07,5.88\r\n1968-12-08,5.88\r\n1968-12-09,5.88\r\n1968-12-10,5.88\r\n1968-12-11,5.63\r\n1968-12-12,5.88\r\n1968-12-13,6.13\r\n1968-12-14,6.13\r\n1968-12-15,6.13\r\n1968-12-16,6.00\r\n1968-12-17,5.88\r\n1968-12-18,5.88\r\n1968-12-19,6.13\r\n1968-12-20,6.25\r\n1968-12-21,6.25\r\n1968-12-22,6.25\r\n1968-12-23,6.38\r\n1968-12-24,6.25\r\n1968-12-25,6.25\r\n1968-12-26,6.50\r\n1968-12-27,6.88\r\n1968-12-28,6.88\r\n1968-12-29,6.88\r\n1968-12-30,6.50\r\n1968-12-31,4.00\r\n1969-01-01,4.00\r\n1969-01-02,6.50\r\n1969-01-03,6.75\r\n1969-01-04,6.75\r\n1969-01-05,6.75\r\n1969-01-06,6.63\r\n1969-01-07,6.63\r\n1969-01-08,5.00\r\n1969-01-09,6.50\r\n1969-01-10,6.50\r\n1969-01-11,6.50\r\n1969-01-12,6.50\r\n1969-01-13,6.63\r\n1969-01-14,6.38\r\n1969-01-15,5.50\r\n1969-01-16,6.63\r\n1969-01-17,6.63\r\n1969-01-18,6.63\r\n1969-01-19,6.63\r\n1969-01-20,6.25\r\n1969-01-21,6.25\r\n1969-01-22,6.25\r\n1969-01-23,6.50\r\n1969-01-24,6.38\r\n1969-01-25,6.38\r\n1969-01-26,6.38\r\n1969-01-27,6.38\r\n1969-01-28,6.13\r\n1969-01-29,5.75\r\n1969-01-30,6.25\r\n1969-01-31,6.38\r\n1969-02-01,6.38\r\n1969-02-02,6.38\r\n1969-02-03,6.38\r\n1969-02-04,6.25\r\n1969-02-05,6.25\r\n1969-02-06,6.75\r\n1969-02-07,6.75\r\n1969-02-08,6.75\r\n1969-02-09,6.75\r\n1969-02-10,6.75\r\n1969-02-11,6.75\r\n1969-02-12,6.75\r\n1969-02-13,6.75\r\n1969-02-14,7.25\r\n1969-02-15,7.25\r\n1969-02-16,7.25\r\n1969-02-17,7.00\r\n1969-02-18,6.75\r\n1969-02-19,5.00\r\n1969-02-20,6.75\r\n1969-02-21,6.63\r\n1969-02-22,6.63\r\n1969-02-23,6.63\r\n1969-02-24,6.50\r\n1969-02-25,6.50\r\n1969-02-26,5.75\r\n1969-02-27,6.63\r\n1969-02-28,7.00\r\n1969-03-01,7.00\r\n1969-03-02,7.00\r\n1969-03-03,6.75\r\n1969-03-04,6.63\r\n1969-03-05,6.25\r\n1969-03-06,6.88\r\n1969-03-07,6.88\r\n1969-03-08,6.88\r\n1969-03-09,6.88\r\n1969-03-10,6.63\r\n1969-03-11,6.63\r\n1969-03-12,6.50\r\n1969-03-13,6.88\r\n1969-03-14,6.88\r\n1969-03-15,6.88\r\n1969-03-16,6.88\r\n1969-03-17,6.88\r\n1969-03-18,6.75\r\n1969-03-19,6.63\r\n1969-03-20,7.00\r\n1969-03-21,7.00\r\n1969-03-22,7.00\r\n1969-03-23,7.00\r\n1969-03-24,6.75\r\n1969-03-25,6.75\r\n1969-03-26,6.63\r\n1969-03-27,6.88\r\n1969-03-28,6.88\r\n1969-03-29,6.88\r\n1969-03-30,6.88\r\n1969-03-31,6.25\r\n1969-04-01,6.63\r\n1969-04-02,6.25\r\n1969-04-03,6.88\r\n1969-04-04,7.00\r\n1969-04-05,7.00\r\n1969-04-06,7.00\r\n1969-04-07,7.13\r\n1969-04-08,7.38\r\n1969-04-09,6.88\r\n1969-04-10,7.38\r\n1969-04-11,7.63\r\n1969-04-12,7.63\r\n1969-04-13,7.63\r\n1969-04-14,7.50\r\n1969-04-15,7.88\r\n1969-04-16,7.75\r\n1969-04-17,7.75\r\n1969-04-18,7.88\r\n1969-04-19,7.88\r\n1969-04-20,7.88\r\n1969-04-21,7.50\r\n1969-04-22,6.75\r\n1969-04-23,6.75\r\n1969-04-24,7.75\r\n1969-04-25,7.75\r\n1969-04-26,7.75\r\n1969-04-27,7.75\r\n1969-04-28,7.75\r\n1969-04-29,7.75\r\n1969-04-30,8.00\r\n1969-05-01,8.25\r\n1969-05-02,8.50\r\n1969-05-03,8.50\r\n1969-05-04,8.50\r\n1969-05-05,8.25\r\n1969-05-06,7.88\r\n1969-05-07,7.75\r\n1969-05-08,8.38\r\n1969-05-09,9.00\r\n1969-05-10,9.00\r\n1969-05-11,9.00\r\n1969-05-12,8.00\r\n1969-05-13,7.75\r\n1969-05-14,7.00\r\n1969-05-15,8.50\r\n1969-05-16,9.25\r\n1969-05-17,9.25\r\n1969-05-18,9.25\r\n1969-05-19,8.88\r\n1969-05-20,8.75\r\n1969-05-21,8.50\r\n1969-05-22,9.00\r\n1969-05-23,9.25\r\n1969-05-24,9.25\r\n1969-05-25,9.25\r\n1969-05-26,8.75\r\n1969-05-27,8.75\r\n1969-05-28,8.25\r\n1969-05-29,9.38\r\n1969-05-30,9.38\r\n1969-05-31,9.38\r\n1969-06-01,9.38\r\n1969-06-02,9.38\r\n1969-06-03,9.00\r\n1969-06-04,8.50\r\n1969-06-05,9.63\r\n1969-06-06,9.88\r\n1969-06-07,9.88\r\n1969-06-08,9.88\r\n1969-06-09,9.50\r\n1969-06-10,9.13\r\n1969-06-11,6.00\r\n1969-06-12,9.50\r\n1969-06-13,9.25\r\n1969-06-14,9.25\r\n1969-06-15,9.25\r\n1969-06-16,8.50\r\n1969-06-17,7.75\r\n1969-06-18,6.25\r\n1969-06-19,9.00\r\n1969-06-20,8.75\r\n1969-06-21,8.75\r\n1969-06-22,8.75\r\n1969-06-23,9.13\r\n1969-06-24,8.00\r\n1969-06-25,6.00\r\n1969-06-26,9.75\r\n1969-06-27,10.50\r\n1969-06-28,10.50\r\n1969-06-29,10.50\r\n1969-06-30,7.50\r\n1969-07-01,8.75\r\n1969-07-02,5.50\r\n1969-07-03,9.50\r\n1969-07-04,9.50\r\n1969-07-05,9.50\r\n1969-07-06,9.50\r\n1969-07-07,9.00\r\n1969-07-08,9.00\r\n1969-07-09,7.50\r\n1969-07-10,9.25\r\n1969-07-11,9.00\r\n1969-07-12,9.00\r\n1969-07-13,9.00\r\n1969-07-14,9.00\r\n1969-07-15,9.50\r\n1969-07-16,9.88\r\n1969-07-17,9.75\r\n1969-07-18,8.75\r\n1969-07-19,8.75\r\n1969-07-20,8.75\r\n1969-07-21,8.75\r\n1969-07-22,8.25\r\n1969-07-23,6.50\r\n1969-07-24,8.75\r\n1969-07-25,8.50\r\n1969-07-26,8.50\r\n1969-07-27,8.50\r\n1969-07-28,8.13\r\n1969-07-29,8.00\r\n1969-07-30,6.00\r\n1969-07-31,8.75\r\n1969-08-01,9.50\r\n1969-08-02,9.50\r\n1969-08-03,9.50\r\n1969-08-04,9.50\r\n1969-08-05,10.00\r\n1969-08-06,10.25\r\n1969-08-07,10.00\r\n1969-08-08,10.50\r\n1969-08-09,10.50\r\n1969-08-10,10.50\r\n1969-08-11,9.75\r\n1969-08-12,7.50\r\n1969-08-13,5.50\r\n1969-08-14,9.75\r\n1969-08-15,9.75\r\n1969-08-16,9.75\r\n1969-08-17,9.75\r\n1969-08-18,9.50\r\n1969-08-19,7.50\r\n1969-08-20,5.50\r\n1969-08-21,9.50\r\n1969-08-22,8.25\r\n1969-08-23,8.25\r\n1969-08-24,8.25\r\n1969-08-25,8.00\r\n1969-08-26,9.75\r\n1969-08-27,9.75\r\n1969-08-28,9.75\r\n1969-08-29,9.75\r\n1969-08-30,9.75\r\n1969-08-31,9.75\r\n1969-09-01,9.75\r\n1969-09-02,9.25\r\n1969-09-03,9.00\r\n1969-09-04,9.25\r\n1969-09-05,9.25\r\n1969-09-06,9.25\r\n1969-09-07,9.25\r\n1969-09-08,9.00\r\n1969-09-09,8.50\r\n1969-09-10,5.50\r\n1969-09-11,8.75\r\n1969-09-12,8.75\r\n1969-09-13,8.75\r\n1969-09-14,8.75\r\n1969-09-15,9.00\r\n1969-09-16,10.00\r\n1969-09-17,9.50\r\n1969-09-18,9.75\r\n1969-09-19,9.75\r\n1969-09-20,9.75\r\n1969-09-21,9.75\r\n1969-09-22,9.50\r\n1969-09-23,9.50\r\n1969-09-24,9.25\r\n1969-09-25,9.50\r\n1969-09-26,9.50\r\n1969-09-27,9.50\r\n1969-09-28,9.50\r\n1969-09-29,9.25\r\n1969-09-30,8.50\r\n1969-10-01,8.00\r\n1969-10-02,9.50\r\n1969-10-03,9.50\r\n1969-10-04,9.50\r\n1969-10-05,9.50\r\n1969-10-06,9.50\r\n1969-10-07,9.75\r\n1969-10-08,8.75\r\n1969-10-09,9.50\r\n1969-10-10,9.75\r\n1969-10-11,9.75\r\n1969-10-12,9.75\r\n1969-10-13,9.75\r\n1969-10-14,9.50\r\n1969-10-15,9.75\r\n1969-10-16,9.75\r\n1969-10-17,9.75\r\n1969-10-18,9.75\r\n1969-10-19,9.75\r\n1969-10-20,8.25\r\n1969-10-21,7.50\r\n1969-10-22,6.00\r\n1969-10-23,9.00\r\n1969-10-24,8.75\r\n1969-10-25,8.75\r\n1969-10-26,8.75\r\n1969-10-27,8.00\r\n1969-10-28,8.00\r\n1969-10-29,7.50\r\n1969-10-30,8.75\r\n1969-10-31,9.00\r\n1969-11-01,9.00\r\n1969-11-02,9.00\r\n1969-11-03,9.25\r\n1969-11-04,9.25\r\n1969-11-05,9.25\r\n1969-11-06,9.25\r\n1969-11-07,9.50\r\n1969-11-08,9.50\r\n1969-11-09,9.50\r\n1969-11-10,9.50\r\n1969-11-11,9.50\r\n1969-11-12,8.50\r\n1969-11-13,9.25\r\n1969-11-14,9.25\r\n1969-11-15,9.25\r\n1969-11-16,9.25\r\n1969-11-17,9.25\r\n1969-11-18,9.25\r\n1969-11-19,6.00\r\n1969-11-20,9.00\r\n1969-11-21,8.75\r\n1969-11-22,8.75\r\n1969-11-23,8.75\r\n1969-11-24,8.50\r\n1969-11-25,7.50\r\n1969-11-26,7.00\r\n1969-11-27,7.00\r\n1969-11-28,9.25\r\n1969-11-29,9.25\r\n1969-11-30,9.25\r\n1969-12-01,9.63\r\n1969-12-02,9.50\r\n1969-12-03,8.50\r\n1969-12-04,9.50\r\n1969-12-05,9.50\r\n1969-12-06,9.50\r\n1969-12-07,9.50\r\n1969-12-08,8.75\r\n1969-12-09,8.50\r\n1969-12-10,6.00\r\n1969-12-11,9.25\r\n1969-12-12,9.25\r\n1969-12-13,9.25\r\n1969-12-14,9.25\r\n1969-12-15,9.00\r\n1969-12-16,9.25\r\n1969-12-17,8.75\r\n1969-12-18,9.25\r\n1969-12-19,9.25\r\n1969-12-20,9.25\r\n1969-12-21,9.25\r\n1969-12-22,9.25\r\n1969-12-23,9.25\r\n1969-12-24,8.75\r\n1969-12-25,8.75\r\n1969-12-26,9.25\r\n1969-12-27,9.25\r\n1969-12-28,9.25\r\n1969-12-29,9.75\r\n1969-12-30,9.75\r\n1969-12-31,5.00\r\n1970-01-01,5.00\r\n1970-01-02,9.63\r\n1970-01-03,9.63\r\n1970-01-04,9.63\r\n1970-01-05,9.75\r\n1970-01-06,9.50\r\n1970-01-07,6.00\r\n1970-01-08,9.25\r\n1970-01-09,9.50\r\n1970-01-10,9.50\r\n1970-01-11,9.50\r\n1970-01-12,8.50\r\n1970-01-13,8.50\r\n1970-01-14,8.00\r\n1970-01-15,9.63\r\n1970-01-16,9.50\r\n1970-01-17,9.50\r\n1970-01-18,9.50\r\n1970-01-19,9.50\r\n1970-01-20,9.00\r\n1970-01-21,8.50\r\n1970-01-22,9.50\r\n1970-01-23,9.25\r\n1970-01-24,9.25\r\n1970-01-25,9.25\r\n1970-01-26,8.75\r\n1970-01-27,8.00\r\n1970-01-28,9.25\r\n1970-01-29,9.25\r\n1970-01-30,9.38\r\n1970-01-31,9.38\r\n1970-02-01,9.38\r\n1970-02-02,9.38\r\n1970-02-03,9.25\r\n1970-02-04,8.50\r\n1970-02-05,9.50\r\n1970-02-06,9.25\r\n1970-02-07,9.25\r\n1970-02-08,9.25\r\n1970-02-09,9.00\r\n1970-02-10,8.75\r\n1970-02-11,9.25\r\n1970-02-12,9.50\r\n1970-02-13,9.50\r\n1970-02-14,9.50\r\n1970-02-15,9.50\r\n1970-02-16,9.50\r\n1970-02-17,9.25\r\n1970-02-18,9.00\r\n1970-02-19,9.38\r\n1970-02-20,8.50\r\n1970-02-21,8.50\r\n1970-02-22,8.50\r\n1970-02-23,8.50\r\n1970-02-24,8.00\r\n1970-02-25,7.50\r\n1970-02-26,9.00\r\n1970-02-27,8.50\r\n1970-02-28,8.50\r\n1970-03-01,8.50\r\n1970-03-02,8.50\r\n1970-03-03,7.75\r\n1970-03-04,7.50\r\n1970-03-05,8.25\r\n1970-03-06,8.00\r\n1970-03-07,8.00\r\n1970-03-08,8.00\r\n1970-03-09,7.50\r\n1970-03-10,7.50\r\n1970-03-11,6.75\r\n1970-03-12,7.75\r\n1970-03-13,7.75\r\n1970-03-14,7.75\r\n1970-03-15,7.75\r\n1970-03-16,8.00\r\n1970-03-17,8.00\r\n1970-03-18,7.75\r\n1970-03-19,7.75\r\n1970-03-20,7.50\r\n1970-03-21,7.50\r\n1970-03-22,7.50\r\n1970-03-23,7.50\r\n1970-03-24,7.13\r\n1970-03-25,7.25\r\n1970-03-26,8.00\r\n1970-03-27,8.00\r\n1970-03-28,8.00\r\n1970-03-29,8.00\r\n1970-03-30,8.00\r\n1970-03-31,7.50\r\n1970-04-01,8.00\r\n1970-04-02,8.00\r\n1970-04-03,7.75\r\n1970-04-04,7.75\r\n1970-04-05,7.75\r\n1970-04-06,7.50\r\n1970-04-07,7.50\r\n1970-04-08,7.50\r\n1970-04-09,7.63\r\n1970-04-10,8.00\r\n1970-04-11,8.00\r\n1970-04-12,8.00\r\n1970-04-13,8.25\r\n1970-04-14,8.25\r\n1970-04-15,8.00\r\n1970-04-16,8.50\r\n1970-04-17,8.25\r\n1970-04-18,8.25\r\n1970-04-19,8.25\r\n1970-04-20,7.75\r\n1970-04-21,8.00\r\n1970-04-22,8.50\r\n1970-04-23,8.50\r\n1970-04-24,8.50\r\n1970-04-25,8.50\r\n1970-04-26,8.50\r\n1970-04-27,8.38\r\n1970-04-28,8.25\r\n1970-04-29,8.38\r\n1970-04-30,8.50\r\n1970-05-01,8.63\r\n1970-05-02,8.63\r\n1970-05-03,8.63\r\n1970-05-04,8.50\r\n1970-05-05,8.63\r\n1970-05-06,7.75\r\n1970-05-07,8.25\r\n1970-05-08,8.13\r\n1970-05-09,8.13\r\n1970-05-10,8.13\r\n1970-05-11,8.00\r\n1970-05-12,7.88\r\n1970-05-13,7.25\r\n1970-05-14,8.25\r\n1970-05-15,8.13\r\n1970-05-16,8.13\r\n1970-05-17,8.13\r\n1970-05-18,8.00\r\n1970-05-19,7.50\r\n1970-05-20,6.75\r\n1970-05-21,8.00\r\n1970-05-22,7.88\r\n1970-05-23,7.88\r\n1970-05-24,7.88\r\n1970-05-25,7.88\r\n1970-05-26,7.25\r\n1970-05-27,6.75\r\n1970-05-28,7.75\r\n1970-05-29,7.88\r\n1970-05-30,7.88\r\n1970-05-31,7.88\r\n1970-06-01,7.75\r\n1970-06-02,8.00\r\n1970-06-03,7.75\r\n1970-06-04,8.00\r\n1970-06-05,8.00\r\n1970-06-06,8.00\r\n1970-06-07,8.00\r\n1970-06-08,8.00\r\n1970-06-09,8.13\r\n1970-06-10,7.75\r\n1970-06-11,8.00\r\n1970-06-12,8.00\r\n1970-06-13,8.00\r\n1970-06-14,8.00\r\n1970-06-15,8.00\r\n1970-06-16,7.88\r\n1970-06-17,6.75\r\n1970-06-18,7.75\r\n1970-06-19,7.50\r\n1970-06-20,7.50\r\n1970-06-21,7.50\r\n1970-06-22,7.75\r\n1970-06-23,7.00\r\n1970-06-24,5.50\r\n1970-06-25,7.75\r\n1970-06-26,7.63\r\n1970-06-27,7.63\r\n1970-06-28,7.63\r\n1970-06-29,7.25\r\n1970-06-30,5.75\r\n1970-07-01,7.00\r\n1970-07-02,7.50\r\n1970-07-03,7.50\r\n1970-07-04,7.50\r\n1970-07-05,7.50\r\n1970-07-06,7.25\r\n1970-07-07,7.13\r\n1970-07-08,7.00\r\n1970-07-09,7.50\r\n1970-07-10,7.63\r\n1970-07-11,7.63\r\n1970-07-12,7.63\r\n1970-07-13,7.50\r\n1970-07-14,7.63\r\n1970-07-15,7.63\r\n1970-07-16,7.75\r\n1970-07-17,7.50\r\n1970-07-18,7.50\r\n1970-07-19,7.50\r\n1970-07-20,7.13\r\n1970-07-21,6.75\r\n1970-07-22,6.00\r\n1970-07-23,7.25\r\n1970-07-24,7.25\r\n1970-07-25,7.25\r\n1970-07-26,7.25\r\n1970-07-27,6.75\r\n1970-07-28,6.50\r\n1970-07-29,6.00\r\n1970-07-30,7.00\r\n1970-07-31,6.75\r\n1970-08-01,6.75\r\n1970-08-02,6.75\r\n1970-08-03,7.00\r\n1970-08-04,7.00\r\n1970-08-05,7.25\r\n1970-08-06,7.00\r\n1970-08-07,6.88\r\n1970-08-08,6.88\r\n1970-08-09,6.88\r\n1970-08-10,6.88\r\n1970-08-11,6.88\r\n1970-08-12,6.38\r\n1970-08-13,6.75\r\n1970-08-14,6.75\r\n1970-08-15,6.75\r\n1970-08-16,6.75\r\n1970-08-17,6.63\r\n1970-08-18,6.63\r\n1970-08-19,6.25\r\n1970-08-20,6.63\r\n1970-08-21,6.38\r\n1970-08-22,6.38\r\n1970-08-23,6.38\r\n1970-08-24,6.25\r\n1970-08-25,6.13\r\n1970-08-26,6.25\r\n1970-08-27,6.38\r\n1970-08-28,6.25\r\n1970-08-29,6.25\r\n1970-08-30,6.25\r\n1970-08-31,6.50\r\n1970-09-01,6.75\r\n1970-09-02,6.88\r\n1970-09-03,6.88\r\n1970-09-04,6.63\r\n1970-09-05,6.63\r\n1970-09-06,6.63\r\n1970-09-07,6.63\r\n1970-09-08,6.63\r\n1970-09-09,6.50\r\n1970-09-10,6.63\r\n1970-09-11,6.75\r\n1970-09-12,6.75\r\n1970-09-13,6.75\r\n1970-09-14,6.38\r\n1970-09-15,6.25\r\n1970-09-16,5.75\r\n1970-09-17,6.25\r\n1970-09-18,5.75\r\n1970-09-19,5.75\r\n1970-09-20,5.75\r\n1970-09-21,5.75\r\n1970-09-22,5.88\r\n1970-09-23,5.75\r\n1970-09-24,6.00\r\n1970-09-25,6.13\r\n1970-09-26,6.13\r\n1970-09-27,6.13\r\n1970-09-28,6.50\r\n1970-09-29,6.50\r\n1970-09-30,5.00\r\n1970-10-01,6.50\r\n1970-10-02,6.50\r\n1970-10-03,6.50\r\n1970-10-04,6.50\r\n1970-10-05,6.38\r\n1970-10-06,6.38\r\n1970-10-07,5.75\r\n1970-10-08,6.25\r\n1970-10-09,6.25\r\n1970-10-10,6.25\r\n1970-10-11,6.25\r\n1970-10-12,6.00\r\n1970-10-13,6.13\r\n1970-10-14,6.38\r\n1970-10-15,6.38\r\n1970-10-16,6.25\r\n1970-10-17,6.25\r\n1970-10-18,6.25\r\n1970-10-19,6.13\r\n1970-10-20,6.13\r\n1970-10-21,5.88\r\n1970-10-22,6.25\r\n1970-10-23,6.13\r\n1970-10-24,6.13\r\n1970-10-25,6.13\r\n1970-10-26,6.00\r\n1970-10-27,6.13\r\n1970-10-28,6.00\r\n1970-10-29,6.00\r\n1970-10-30,6.13\r\n1970-10-31,6.13\r\n1970-11-01,6.13\r\n1970-11-02,6.13\r\n1970-11-03,6.00\r\n1970-11-04,6.00\r\n1970-11-05,6.13\r\n1970-11-06,6.00\r\n1970-11-07,6.00\r\n1970-11-08,6.00\r\n1970-11-09,5.75\r\n1970-11-10,5.25\r\n1970-11-11,5.50\r\n1970-11-12,5.75\r\n1970-11-13,5.75\r\n1970-11-14,5.75\r\n1970-11-15,5.75\r\n1970-11-16,5.75\r\n1970-11-17,5.75\r\n1970-11-18,5.38\r\n1970-11-19,5.63\r\n1970-11-20,5.00\r\n1970-11-21,5.00\r\n1970-11-22,5.00\r\n1970-11-23,5.00\r\n1970-11-24,5.00\r\n1970-11-25,5.50\r\n1970-11-26,5.50\r\n1970-11-27,5.38\r\n1970-11-28,5.38\r\n1970-11-29,5.38\r\n1970-11-30,5.50\r\n1970-12-01,5.63\r\n1970-12-02,5.75\r\n1970-12-03,5.50\r\n1970-12-04,5.13\r\n1970-12-05,5.13\r\n1970-12-06,5.13\r\n1970-12-07,5.00\r\n1970-12-08,4.50\r\n1970-12-09,4.00\r\n1970-12-10,4.75\r\n1970-12-11,4.88\r\n1970-12-12,4.88\r\n1970-12-13,4.88\r\n1970-12-14,5.25\r\n1970-12-15,5.50\r\n1970-12-16,5.38\r\n1970-12-17,5.25\r\n1970-12-18,4.75\r\n1970-12-19,4.75\r\n1970-12-20,4.75\r\n1970-12-21,4.88\r\n1970-12-22,4.75\r\n1970-12-23,4.75\r\n1970-12-24,5.25\r\n1970-12-25,5.25\r\n1970-12-26,5.25\r\n1970-12-27,5.25\r\n1970-12-28,5.25\r\n1970-12-29,4.50\r\n1970-12-30,3.00\r\n1970-12-31,3.00\r\n1971-01-01,3.00\r\n1971-01-02,3.00\r\n1971-01-03,3.00\r\n1971-01-04,5.50\r\n1971-01-05,5.50\r\n1971-01-06,3.75\r\n1971-01-07,4.50\r\n1971-01-08,4.50\r\n1971-01-09,4.50\r\n1971-01-10,4.50\r\n1971-01-11,4.38\r\n1971-01-12,4.25\r\n1971-01-13,3.25\r\n1971-01-14,4.13\r\n1971-01-15,4.00\r\n1971-01-16,4.00\r\n1971-01-17,4.00\r\n1971-01-18,3.88\r\n1971-01-19,4.13\r\n1971-01-20,4.75\r\n1971-01-21,4.63\r\n1971-01-22,4.25\r\n1971-01-23,4.25\r\n1971-01-24,4.25\r\n1971-01-25,4.13\r\n1971-01-26,3.88\r\n1971-01-27,4.25\r\n1971-01-28,4.25\r\n1971-01-29,4.00\r\n1971-01-30,4.00\r\n1971-01-31,4.00\r\n1971-02-01,4.38\r\n1971-02-02,4.25\r\n1971-02-03,3.75\r\n1971-02-04,4.25\r\n1971-02-05,3.88\r\n1971-02-06,3.88\r\n1971-02-07,3.88\r\n1971-02-08,3.50\r\n1971-02-09,2.75\r\n1971-02-10,3.00\r\n1971-02-11,4.00\r\n1971-02-12,4.00\r\n1971-02-13,4.00\r\n1971-02-14,4.00\r\n1971-02-15,4.00\r\n1971-02-16,4.00\r\n1971-02-17,5.00\r\n1971-02-18,4.13\r\n1971-02-19,3.88\r\n1971-02-20,3.88\r\n1971-02-21,3.88\r\n1971-02-22,3.25\r\n1971-02-23,3.00\r\n1971-02-24,2.25\r\n1971-02-25,3.25\r\n1971-02-26,3.38\r\n1971-02-27,3.38\r\n1971-02-28,3.38\r\n1971-03-01,3.63\r\n1971-03-02,3.63\r\n1971-03-03,3.25\r\n1971-03-04,3.50\r\n1971-03-05,3.25\r\n1971-03-06,3.25\r\n1971-03-07,3.25\r\n1971-03-08,3.13\r\n1971-03-09,3.13\r\n1971-03-10,3.50\r\n1971-03-11,3.50\r\n1971-03-12,4.13\r\n1971-03-13,4.13\r\n1971-03-14,4.13\r\n1971-03-15,4.13\r\n1971-03-16,4.00\r\n1971-03-17,3.50\r\n1971-03-18,4.13\r\n1971-03-19,3.75\r\n1971-03-20,3.75\r\n1971-03-21,3.75\r\n1971-03-22,3.38\r\n1971-03-23,3.38\r\n1971-03-24,3.75\r\n1971-03-25,3.75\r\n1971-03-26,3.75\r\n1971-03-27,3.75\r\n1971-03-28,3.75\r\n1971-03-29,4.13\r\n1971-03-30,4.50\r\n1971-03-31,4.50\r\n1971-04-01,4.00\r\n1971-04-02,3.88\r\n1971-04-03,3.88\r\n1971-04-04,3.88\r\n1971-04-05,4.00\r\n1971-04-06,4.25\r\n1971-04-07,4.00\r\n1971-04-08,4.13\r\n1971-04-09,4.25\r\n1971-04-10,4.25\r\n1971-04-11,4.25\r\n1971-04-12,4.25\r\n1971-04-13,4.50\r\n1971-04-14,3.75\r\n1971-04-15,4.38\r\n1971-04-16,4.25\r\n1971-04-17,4.25\r\n1971-04-18,4.25\r\n1971-04-19,4.25\r\n1971-04-20,4.13\r\n1971-04-21,4.38\r\n1971-04-22,4.25\r\n1971-04-23,4.13\r\n1971-04-24,4.13\r\n1971-04-25,4.13\r\n1971-04-26,4.00\r\n1971-04-27,4.00\r\n1971-04-28,4.38\r\n1971-04-29,4.25\r\n1971-04-30,4.25\r\n1971-05-01,4.25\r\n1971-05-02,4.25\r\n1971-05-03,4.38\r\n1971-05-04,4.63\r\n1971-05-05,4.88\r\n1971-05-06,4.75\r\n1971-05-07,4.63\r\n1971-05-08,4.63\r\n1971-05-09,4.63\r\n1971-05-10,4.50\r\n1971-05-11,4.50\r\n1971-05-12,4.50\r\n1971-05-13,4.50\r\n1971-05-14,4.38\r\n1971-05-15,4.38\r\n1971-05-16,4.38\r\n1971-05-17,4.63\r\n1971-05-18,4.88\r\n1971-05-19,4.75\r\n1971-05-20,4.75\r\n1971-05-21,4.63\r\n1971-05-22,4.63\r\n1971-05-23,4.63\r\n1971-05-24,4.75\r\n1971-05-25,4.75\r\n1971-05-26,4.63\r\n1971-05-27,4.88\r\n1971-05-28,4.88\r\n1971-05-29,4.88\r\n1971-05-30,4.88\r\n1971-05-31,4.88\r\n1971-06-01,4.75\r\n1971-06-02,4.63\r\n1971-06-03,4.75\r\n1971-06-04,4.75\r\n1971-06-05,4.75\r\n1971-06-06,4.75\r\n1971-06-07,4.75\r\n1971-06-08,4.75\r\n1971-06-09,4.88\r\n1971-06-10,4.75\r\n1971-06-11,4.88\r\n1971-06-12,4.88\r\n1971-06-13,4.88\r\n1971-06-14,5.00\r\n1971-06-15,5.00\r\n1971-06-16,4.88\r\n1971-06-17,4.88\r\n1971-06-18,4.88\r\n1971-06-19,4.88\r\n1971-06-20,4.88\r\n1971-06-21,5.13\r\n1971-06-22,5.25\r\n1971-06-23,4.88\r\n1971-06-24,5.13\r\n1971-06-25,5.13\r\n1971-06-26,5.13\r\n1971-06-27,5.13\r\n1971-06-28,5.13\r\n1971-06-29,5.13\r\n1971-06-30,4.75\r\n1971-07-01,5.25\r\n1971-07-02,5.25\r\n1971-07-03,5.25\r\n1971-07-04,5.25\r\n1971-07-05,5.25\r\n1971-07-06,5.13\r\n1971-07-07,4.88\r\n1971-07-08,5.25\r\n1971-07-09,5.13\r\n1971-07-10,5.13\r\n1971-07-11,5.13\r\n1971-07-12,5.13\r\n1971-07-13,5.00\r\n1971-07-14,5.13\r\n1971-07-15,5.25\r\n1971-07-16,5.50\r\n1971-07-17,5.50\r\n1971-07-18,5.50\r\n1971-07-19,5.63\r\n1971-07-20,5.38\r\n1971-07-21,5.50\r\n1971-07-22,5.50\r\n1971-07-23,5.38\r\n1971-07-24,5.38\r\n1971-07-25,5.38\r\n1971-07-26,5.25\r\n1971-07-27,5.38\r\n1971-07-28,5.38\r\n1971-07-29,5.50\r\n1971-07-30,5.50\r\n1971-07-31,5.50\r\n1971-08-01,5.50\r\n1971-08-02,5.63\r\n1971-08-03,5.63\r\n1971-08-04,5.75\r\n1971-08-05,5.63\r\n1971-08-06,5.63\r\n1971-08-07,5.63\r\n1971-08-08,5.63\r\n1971-08-09,5.50\r\n1971-08-10,5.63\r\n1971-08-11,5.50\r\n1971-08-12,5.63\r\n1971-08-13,5.63\r\n1971-08-14,5.63\r\n1971-08-15,5.63\r\n1971-08-16,5.50\r\n1971-08-17,5.63\r\n1971-08-18,5.50\r\n1971-08-19,5.50\r\n1971-08-20,5.50\r\n1971-08-21,5.50\r\n1971-08-22,5.50\r\n1971-08-23,5.50\r\n1971-08-24,5.50\r\n1971-08-25,5.38\r\n1971-08-26,5.50\r\n1971-08-27,5.50\r\n1971-08-28,5.50\r\n1971-08-29,5.50\r\n1971-08-30,5.63\r\n1971-08-31,5.75\r\n1971-09-01,5.75\r\n1971-09-02,5.63\r\n1971-09-03,5.75\r\n1971-09-04,5.75\r\n1971-09-05,5.75\r\n1971-09-06,5.75\r\n1971-09-07,5.75\r\n1971-09-08,5.75\r\n1971-09-09,5.75\r\n1971-09-10,5.75\r\n1971-09-11,5.75\r\n1971-09-12,5.75\r\n1971-09-13,5.63\r\n1971-09-14,5.38\r\n1971-09-15,5.13\r\n1971-09-16,5.50\r\n1971-09-17,5.44\r\n1971-09-18,5.44\r\n1971-09-19,5.44\r\n1971-09-20,5.38\r\n1971-09-21,5.50\r\n1971-09-22,5.50\r\n1971-09-23,5.50\r\n1971-09-24,5.50\r\n1971-09-25,5.50\r\n1971-09-26,5.50\r\n1971-09-27,5.38\r\n1971-09-28,5.38\r\n1971-09-29,5.25\r\n1971-09-30,5.38\r\n1971-10-01,5.38\r\n1971-10-02,5.38\r\n1971-10-03,5.38\r\n1971-10-04,5.38\r\n1971-10-05,5.38\r\n1971-10-06,5.00\r\n1971-10-07,5.25\r\n1971-10-08,5.25\r\n1971-10-09,5.25\r\n1971-10-10,5.25\r\n1971-10-11,5.25\r\n1971-10-12,5.25\r\n1971-10-13,5.50\r\n1971-10-14,5.38\r\n1971-10-15,5.25\r\n1971-10-16,5.25\r\n1971-10-17,5.25\r\n1971-10-18,5.13\r\n1971-10-19,5.00\r\n1971-10-20,4.75\r\n1971-10-21,5.00\r\n1971-10-22,5.00\r\n1971-10-23,5.00\r\n1971-10-24,5.00\r\n1971-10-25,5.00\r\n1971-10-26,5.00\r\n1971-10-27,5.75\r\n1971-10-28,5.13\r\n1971-10-29,5.13\r\n1971-10-30,5.13\r\n1971-10-31,5.13\r\n1971-11-01,5.13\r\n1971-11-02,5.13\r\n1971-11-03,5.38\r\n1971-11-04,5.00\r\n1971-11-05,5.00\r\n1971-11-06,5.00\r\n1971-11-07,5.00\r\n1971-11-08,4.88\r\n1971-11-09,4.88\r\n1971-11-10,4.75\r\n1971-11-11,4.75\r\n1971-11-12,4.88\r\n1971-11-13,4.88\r\n1971-11-14,4.88\r\n1971-11-15,5.00\r\n1971-11-16,5.00\r\n1971-11-17,4.75\r\n1971-11-18,4.75\r\n1971-11-19,4.75\r\n1971-11-20,4.75\r\n1971-11-21,4.75\r\n1971-11-22,4.88\r\n1971-11-23,5.00\r\n1971-11-24,5.13\r\n1971-11-25,5.13\r\n1971-11-26,5.00\r\n1971-11-27,5.00\r\n1971-11-28,5.00\r\n1971-11-29,4.63\r\n1971-11-30,4.25\r\n1971-12-01,3.75\r\n1971-12-02,4.50\r\n1971-12-03,4.50\r\n1971-12-04,4.50\r\n1971-12-05,4.50\r\n1971-12-06,4.63\r\n1971-12-07,4.75\r\n1971-12-08,4.75\r\n1971-12-09,4.50\r\n1971-12-10,4.50\r\n1971-12-11,4.50\r\n1971-12-12,4.50\r\n1971-12-13,4.25\r\n1971-12-14,4.13\r\n1971-12-15,3.00\r\n1971-12-16,4.13\r\n1971-12-17,4.13\r\n1971-12-18,4.13\r\n1971-12-19,4.13\r\n1971-12-20,3.75\r\n1971-12-21,3.50\r\n1971-12-22,3.50\r\n1971-12-23,3.75\r\n1971-12-24,4.00\r\n1971-12-25,4.00\r\n1971-12-26,4.00\r\n1971-12-27,3.75\r\n1971-12-28,3.88\r\n1971-12-29,5.00\r\n1971-12-30,4.38\r\n1971-12-31,3.00\r\n1972-01-01,3.00\r\n1972-01-02,3.00\r\n1972-01-03,4.25\r\n1972-01-04,3.75\r\n1972-01-05,3.63\r\n1972-01-06,3.75\r\n1972-01-07,3.88\r\n1972-01-08,3.88\r\n1972-01-09,3.88\r\n1972-01-10,3.75\r\n1972-01-11,3.63\r\n1972-01-12,3.25\r\n1972-01-13,3.63\r\n1972-01-14,3.50\r\n1972-01-15,3.50\r\n1972-01-16,3.50\r\n1972-01-17,3.50\r\n1972-01-18,3.63\r\n1972-01-19,3.50\r\n1972-01-20,3.50\r\n1972-01-21,3.50\r\n1972-01-22,3.50\r\n1972-01-23,3.50\r\n1972-01-24,3.38\r\n1972-01-25,3.38\r\n1972-01-26,3.25\r\n1972-01-27,3.38\r\n1972-01-28,3.25\r\n1972-01-29,3.25\r\n1972-01-30,3.25\r\n1972-01-31,3.13\r\n1972-02-01,3.25\r\n1972-02-02,3.13\r\n1972-02-03,3.25\r\n1972-02-04,3.25\r\n1972-02-05,3.25\r\n1972-02-06,3.25\r\n1972-02-07,3.25\r\n1972-02-08,3.25\r\n1972-02-09,3.25\r\n1972-02-10,3.25\r\n1972-02-11,3.38\r\n1972-02-12,3.38\r\n1972-02-13,3.38\r\n1972-02-14,3.38\r\n1972-02-15,3.50\r\n1972-02-16,3.75\r\n1972-02-17,3.50\r\n1972-02-18,3.38\r\n1972-02-19,3.38\r\n1972-02-20,3.38\r\n1972-02-21,3.38\r\n1972-02-22,3.25\r\n1972-02-23,3.13\r\n1972-02-24,3.25\r\n1972-02-25,3.13\r\n1972-02-26,3.13\r\n1972-02-27,3.13\r\n1972-02-28,3.13\r\n1972-02-29,3.25\r\n1972-03-01,3.25\r\n1972-03-02,3.38\r\n1972-03-03,3.38\r\n1972-03-04,3.38\r\n1972-03-05,3.38\r\n1972-03-06,3.50\r\n1972-03-07,3.50\r\n1972-03-08,3.50\r\n1972-03-09,3.63\r\n1972-03-10,3.88\r\n1972-03-11,3.88\r\n1972-03-12,3.88\r\n1972-03-13,3.88\r\n1972-03-14,4.13\r\n1972-03-15,3.88\r\n1972-03-16,3.88\r\n1972-03-17,3.88\r\n1972-03-18,3.88\r\n1972-03-19,3.88\r\n1972-03-20,3.88\r\n1972-03-21,4.00\r\n1972-03-22,4.00\r\n1972-03-23,4.00\r\n1972-03-24,4.00\r\n1972-03-25,4.00\r\n1972-03-26,4.00\r\n1972-03-27,4.00\r\n1972-03-28,4.13\r\n1972-03-29,4.50\r\n1972-03-30,4.25\r\n1972-03-31,4.00\r\n1972-04-01,4.00\r\n1972-04-02,4.00\r\n1972-04-03,4.25\r\n1972-04-04,4.25\r\n1972-04-05,4.38\r\n1972-04-06,4.25\r\n1972-04-07,4.31\r\n1972-04-08,4.31\r\n1972-04-09,4.31\r\n1972-04-10,4.31\r\n1972-04-11,4.25\r\n1972-04-12,3.50\r\n1972-04-13,4.13\r\n1972-04-14,4.25\r\n1972-04-15,4.25\r\n1972-04-16,4.25\r\n1972-04-17,4.06\r\n1972-04-18,3.88\r\n1972-04-19,3.50\r\n1972-04-20,4.13\r\n1972-04-21,4.00\r\n1972-04-22,4.00\r\n1972-04-23,4.00\r\n1972-04-24,4.00\r\n1972-04-25,4.25\r\n1972-04-26,5.00\r\n1972-04-27,4.38\r\n1972-04-28,4.31\r\n1972-04-29,4.31\r\n1972-04-30,4.31\r\n1972-05-01,4.25\r\n1972-05-02,4.19\r\n1972-05-03,4.00\r\n1972-05-04,4.25\r\n1972-05-05,4.25\r\n1972-05-06,4.25\r\n1972-05-07,4.25\r\n1972-05-08,4.13\r\n1972-05-09,4.00\r\n1972-05-10,4.25\r\n1972-05-11,4.25\r\n1972-05-12,4.31\r\n1972-05-13,4.31\r\n1972-05-14,4.31\r\n1972-05-15,4.25\r\n1972-05-16,4.31\r\n1972-05-17,4.50\r\n1972-05-18,4.31\r\n1972-05-19,4.25\r\n1972-05-20,4.25\r\n1972-05-21,4.25\r\n1972-05-22,4.25\r\n1972-05-23,4.25\r\n1972-05-24,4.13\r\n1972-05-25,4.31\r\n1972-05-26,4.31\r\n1972-05-27,4.31\r\n1972-05-28,4.31\r\n1972-05-29,4.31\r\n1972-05-30,4.31\r\n1972-05-31,4.75\r\n1972-06-01,4.44\r\n1972-06-02,4.50\r\n1972-06-03,4.50\r\n1972-06-04,4.50\r\n1972-06-05,4.44\r\n1972-06-06,4.50\r\n1972-06-07,4.50\r\n1972-06-08,4.50\r\n1972-06-09,4.50\r\n1972-06-10,4.50\r\n1972-06-11,4.50\r\n1972-06-12,4.44\r\n1972-06-13,4.38\r\n1972-06-14,4.38\r\n1972-06-15,4.44\r\n1972-06-16,4.38\r\n1972-06-17,4.38\r\n1972-06-18,4.38\r\n1972-06-19,4.44\r\n1972-06-20,4.38\r\n1972-06-21,4.38\r\n1972-06-22,4.44\r\n1972-06-23,4.44\r\n1972-06-24,4.44\r\n1972-06-25,4.44\r\n1972-06-26,4.50\r\n1972-06-27,4.56\r\n1972-06-28,4.63\r\n1972-06-29,4.63\r\n1972-06-30,4.50\r\n1972-07-01,4.50\r\n1972-07-02,4.50\r\n1972-07-03,4.75\r\n1972-07-04,4.75\r\n1972-07-05,4.63\r\n1972-07-06,4.63\r\n1972-07-07,4.75\r\n1972-07-08,4.75\r\n1972-07-09,4.75\r\n1972-07-10,4.69\r\n1972-07-11,4.50\r\n1972-07-12,4.25\r\n1972-07-13,4.63\r\n1972-07-14,4.56\r\n1972-07-15,4.56\r\n1972-07-16,4.56\r\n1972-07-17,4.56\r\n1972-07-18,4.63\r\n1972-07-19,3.75\r\n1972-07-20,4.56\r\n1972-07-21,4.63\r\n1972-07-22,4.63\r\n1972-07-23,4.63\r\n1972-07-24,4.56\r\n1972-07-25,4.50\r\n1972-07-26,4.25\r\n1972-07-27,4.56\r\n1972-07-28,4.50\r\n1972-07-29,4.50\r\n1972-07-30,4.50\r\n1972-07-31,4.50\r\n1972-08-01,4.63\r\n1972-08-02,4.75\r\n1972-08-03,4.63\r\n1972-08-04,4.63\r\n1972-08-05,4.63\r\n1972-08-06,4.63\r\n1972-08-07,4.69\r\n1972-08-08,4.75\r\n1972-08-09,4.88\r\n1972-08-10,4.75\r\n1972-08-11,4.81\r\n1972-08-12,4.81\r\n1972-08-13,4.81\r\n1972-08-14,4.81\r\n1972-08-15,4.81\r\n1972-08-16,5.25\r\n1972-08-17,4.88\r\n1972-08-18,4.81\r\n1972-08-19,4.81\r\n1972-08-20,4.81\r\n1972-08-21,4.69\r\n1972-08-22,4.50\r\n1972-08-23,4.75\r\n1972-08-24,4.75\r\n1972-08-25,4.75\r\n1972-08-26,4.75\r\n1972-08-27,4.75\r\n1972-08-28,4.81\r\n1972-08-29,5.00\r\n1972-08-30,5.50\r\n1972-08-31,5.13\r\n1972-09-01,5.19\r\n1972-09-02,5.19\r\n1972-09-03,5.19\r\n1972-09-04,5.19\r\n1972-09-05,4.63\r\n1972-09-06,3.75\r\n1972-09-07,4.75\r\n1972-09-08,4.63\r\n1972-09-09,4.63\r\n1972-09-10,4.63\r\n1972-09-11,4.63\r\n1972-09-12,4.69\r\n1972-09-13,4.88\r\n1972-09-14,4.69\r\n1972-09-15,4.88\r\n1972-09-16,4.88\r\n1972-09-17,4.88\r\n1972-09-18,4.94\r\n1972-09-19,5.13\r\n1972-09-20,5.13\r\n1972-09-21,5.13\r\n1972-09-22,5.13\r\n1972-09-23,5.13\r\n1972-09-24,5.13\r\n1972-09-25,4.94\r\n1972-09-26,4.75\r\n1972-09-27,4.75\r\n1972-09-28,5.00\r\n1972-09-29,4.88\r\n1972-09-30,4.88\r\n1972-10-01,4.88\r\n1972-10-02,5.19\r\n1972-10-03,5.50\r\n1972-10-04,5.75\r\n1972-10-05,5.25\r\n1972-10-06,5.13\r\n1972-10-07,5.13\r\n1972-10-08,5.13\r\n1972-10-09,5.13\r\n1972-10-10,5.00\r\n1972-10-11,4.88\r\n1972-10-12,5.00\r\n1972-10-13,4.94\r\n1972-10-14,4.94\r\n1972-10-15,4.94\r\n1972-10-16,5.06\r\n1972-10-17,4.88\r\n1972-10-18,4.63\r\n1972-10-19,4.94\r\n1972-10-20,4.88\r\n1972-10-21,4.88\r\n1972-10-22,4.88\r\n1972-10-23,4.88\r\n1972-10-24,5.00\r\n1972-10-25,5.63\r\n1972-10-26,5.13\r\n1972-10-27,5.00\r\n1972-10-28,5.00\r\n1972-10-29,5.00\r\n1972-10-30,4.94\r\n1972-10-31,4.88\r\n1972-11-01,5.50\r\n1972-11-02,5.06\r\n1972-11-03,5.06\r\n1972-11-04,5.06\r\n1972-11-05,5.06\r\n1972-11-06,5.25\r\n1972-11-07,5.25\r\n1972-11-08,6.00\r\n1972-11-09,5.13\r\n1972-11-10,5.25\r\n1972-11-11,5.25\r\n1972-11-12,5.25\r\n1972-11-13,5.06\r\n1972-11-14,4.81\r\n1972-11-15,3.50\r\n1972-11-16,4.88\r\n1972-11-17,4.88\r\n1972-11-18,4.88\r\n1972-11-19,4.88\r\n1972-11-20,5.06\r\n1972-11-21,5.25\r\n1972-11-22,5.00\r\n1972-11-23,5.00\r\n1972-11-24,5.06\r\n1972-11-25,5.06\r\n1972-11-26,5.06\r\n1972-11-27,5.06\r\n1972-11-28,5.19\r\n1972-11-29,4.75\r\n1972-11-30,5.19\r\n1972-12-01,5.25\r\n1972-12-02,5.25\r\n1972-12-03,5.25\r\n1972-12-04,5.25\r\n1972-12-05,5.25\r\n1972-12-06,4.75\r\n1972-12-07,5.19\r\n1972-12-08,5.19\r\n1972-12-09,5.19\r\n1972-12-10,5.19\r\n1972-12-11,5.25\r\n1972-12-12,5.50\r\n1972-12-13,5.50\r\n1972-12-14,5.31\r\n1972-12-15,5.38\r\n1972-12-16,5.38\r\n1972-12-17,5.38\r\n1972-12-18,5.56\r\n1972-12-19,5.38\r\n1972-12-20,5.25\r\n1972-12-21,5.50\r\n1972-12-22,5.38\r\n1972-12-23,5.38\r\n1972-12-24,5.38\r\n1972-12-25,5.38\r\n1972-12-26,5.25\r\n1972-12-27,5.13\r\n1972-12-28,5.75\r\n1972-12-29,5.50\r\n1972-12-30,5.50\r\n1972-12-31,5.50\r\n1973-01-01,5.50\r\n1973-01-02,6.00\r\n1973-01-03,5.50\r\n1973-01-04,5.75\r\n1973-01-05,5.75\r\n1973-01-06,5.75\r\n1973-01-07,5.75\r\n1973-01-08,5.63\r\n1973-01-09,5.50\r\n1973-01-10,5.50\r\n1973-01-11,5.75\r\n1973-01-12,5.75\r\n1973-01-13,5.75\r\n1973-01-14,5.75\r\n1973-01-15,5.88\r\n1973-01-16,6.50\r\n1973-01-17,5.63\r\n1973-01-18,5.75\r\n1973-01-19,6.00\r\n1973-01-20,6.00\r\n1973-01-21,6.00\r\n1973-01-22,6.00\r\n1973-01-23,6.25\r\n1973-01-24,6.19\r\n1973-01-25,6.31\r\n1973-01-26,6.38\r\n1973-01-27,6.38\r\n1973-01-28,6.38\r\n1973-01-29,6.25\r\n1973-01-30,6.25\r\n1973-01-31,6.50\r\n1973-02-01,6.44\r\n1973-02-02,6.44\r\n1973-02-03,6.44\r\n1973-02-04,6.44\r\n1973-02-05,6.25\r\n1973-02-06,5.75\r\n1973-02-07,5.75\r\n1973-02-08,6.25\r\n1973-02-09,6.38\r\n1973-02-10,6.38\r\n1973-02-11,6.38\r\n1973-02-12,6.44\r\n1973-02-13,6.75\r\n1973-02-14,7.50\r\n1973-02-15,7.00\r\n1973-02-16,7.25\r\n1973-02-17,7.25\r\n1973-02-18,7.25\r\n1973-02-19,7.25\r\n1973-02-20,6.25\r\n1973-02-21,5.25\r\n1973-02-22,6.38\r\n1973-02-23,6.38\r\n1973-02-24,6.38\r\n1973-02-25,6.38\r\n1973-02-26,6.75\r\n1973-02-27,7.50\r\n1973-02-28,7.50\r\n1973-03-01,7.00\r\n1973-03-02,7.38\r\n1973-03-03,7.38\r\n1973-03-04,7.38\r\n1973-03-05,7.00\r\n1973-03-06,6.75\r\n1973-03-07,6.25\r\n1973-03-08,7.00\r\n1973-03-09,7.13\r\n1973-03-10,7.13\r\n1973-03-11,7.13\r\n1973-03-12,7.25\r\n1973-03-13,7.50\r\n1973-03-14,6.75\r\n1973-03-15,7.25\r\n1973-03-16,7.25\r\n1973-03-17,7.25\r\n1973-03-18,7.25\r\n1973-03-19,7.00\r\n1973-03-20,6.75\r\n1973-03-21,6.00\r\n1973-03-22,7.13\r\n1973-03-23,7.00\r\n1973-03-24,7.00\r\n1973-03-25,7.00\r\n1973-03-26,7.13\r\n1973-03-27,7.25\r\n1973-03-28,7.25\r\n1973-03-29,7.50\r\n1973-03-30,7.38\r\n1973-03-31,7.38\r\n1973-04-01,7.38\r\n1973-04-02,7.38\r\n1973-04-03,6.88\r\n1973-04-04,6.38\r\n1973-04-05,7.13\r\n1973-04-06,7.13\r\n1973-04-07,7.13\r\n1973-04-08,7.13\r\n1973-04-09,6.75\r\n1973-04-10,6.63\r\n1973-04-11,6.00\r\n1973-04-12,6.88\r\n1973-04-13,6.88\r\n1973-04-14,6.88\r\n1973-04-15,6.88\r\n1973-04-16,7.13\r\n1973-04-17,7.75\r\n1973-04-18,8.25\r\n1973-04-19,7.38\r\n1973-04-20,7.00\r\n1973-04-21,7.00\r\n1973-04-22,7.00\r\n1973-04-23,6.88\r\n1973-04-24,7.25\r\n1973-04-25,7.50\r\n1973-04-26,7.38\r\n1973-04-27,7.38\r\n1973-04-28,7.38\r\n1973-04-29,7.38\r\n1973-04-30,7.63\r\n1973-05-01,7.88\r\n1973-05-02,7.00\r\n1973-05-03,7.44\r\n1973-05-04,7.63\r\n1973-05-05,7.63\r\n1973-05-06,7.63\r\n1973-05-07,7.88\r\n1973-05-08,7.75\r\n1973-05-09,7.25\r\n1973-05-10,7.69\r\n1973-05-11,7.88\r\n1973-05-12,7.88\r\n1973-05-13,7.88\r\n1973-05-14,7.75\r\n1973-05-15,7.63\r\n1973-05-16,8.00\r\n1973-05-17,8.13\r\n1973-05-18,8.00\r\n1973-05-19,8.00\r\n1973-05-20,8.00\r\n1973-05-21,7.88\r\n1973-05-22,8.19\r\n1973-05-23,8.25\r\n1973-05-24,8.13\r\n1973-05-25,8.00\r\n1973-05-26,8.00\r\n1973-05-27,8.00\r\n1973-05-28,8.00\r\n1973-05-29,7.88\r\n1973-05-30,7.63\r\n1973-05-31,8.13\r\n1973-06-01,8.44\r\n1973-06-02,8.44\r\n1973-06-03,8.44\r\n1973-06-04,8.63\r\n1973-06-05,8.69\r\n1973-06-06,8.25\r\n1973-06-07,8.50\r\n1973-06-08,8.25\r\n1973-06-09,8.25\r\n1973-06-10,8.25\r\n1973-06-11,8.44\r\n1973-06-12,8.25\r\n1973-06-13,7.25\r\n1973-06-14,8.38\r\n1973-06-15,8.50\r\n1973-06-16,8.50\r\n1973-06-17,8.50\r\n1973-06-18,8.69\r\n1973-06-19,8.69\r\n1973-06-20,8.63\r\n1973-06-21,8.69\r\n1973-06-22,8.56\r\n1973-06-23,8.56\r\n1973-06-24,8.56\r\n1973-06-25,8.50\r\n1973-06-26,8.75\r\n1973-06-27,8.50\r\n1973-06-28,8.88\r\n1973-06-29,8.88\r\n1973-06-30,8.88\r\n1973-07-01,8.88\r\n1973-07-02,10.00\r\n1973-07-03,13.00\r\n1973-07-04,13.00\r\n1973-07-05,9.75\r\n1973-07-06,9.63\r\n1973-07-07,9.63\r\n1973-07-08,9.63\r\n1973-07-09,9.75\r\n1973-07-10,9.50\r\n1973-07-11,8.75\r\n1973-07-12,9.75\r\n1973-07-13,9.69\r\n1973-07-14,9.69\r\n1973-07-15,9.69\r\n1973-07-16,11.00\r\n1973-07-17,11.75\r\n1973-07-18,10.00\r\n1973-07-19,10.80\r\n1973-07-20,10.66\r\n1973-07-21,10.66\r\n1973-07-22,10.66\r\n1973-07-23,10.81\r\n1973-07-24,10.69\r\n1973-07-25,9.80\r\n1973-07-26,10.69\r\n1973-07-27,10.74\r\n1973-07-28,10.74\r\n1973-07-29,10.74\r\n1973-07-30,11.10\r\n1973-07-31,11.22\r\n1973-08-01,8.74\r\n1973-08-02,10.84\r\n1973-08-03,10.71\r\n1973-08-04,10.71\r\n1973-08-05,10.71\r\n1973-08-06,10.56\r\n1973-08-07,10.13\r\n1973-08-08,9.05\r\n1973-08-09,10.50\r\n1973-08-10,10.52\r\n1973-08-11,10.52\r\n1973-08-12,10.52\r\n1973-08-13,10.54\r\n1973-08-14,10.39\r\n1973-08-15,9.73\r\n1973-08-16,10.49\r\n1973-08-17,10.44\r\n1973-08-18,10.44\r\n1973-08-19,10.44\r\n1973-08-20,10.58\r\n1973-08-21,10.74\r\n1973-08-22,10.48\r\n1973-08-23,10.79\r\n1973-08-24,10.84\r\n1973-08-25,10.84\r\n1973-08-26,10.84\r\n1973-08-27,10.77\r\n1973-08-28,10.55\r\n1973-08-29,10.88\r\n1973-08-30,10.86\r\n1973-08-31,11.22\r\n1973-09-01,11.22\r\n1973-09-02,11.22\r\n1973-09-03,11.22\r\n1973-09-04,10.85\r\n1973-09-05,8.96\r\n1973-09-06,10.73\r\n1973-09-07,10.79\r\n1973-09-08,10.79\r\n1973-09-09,10.79\r\n1973-09-10,11.15\r\n1973-09-11,10.92\r\n1973-09-12,10.03\r\n1973-09-13,10.93\r\n1973-09-14,10.82\r\n1973-09-15,10.82\r\n1973-09-16,10.82\r\n1973-09-17,10.84\r\n1973-09-18,10.68\r\n1973-09-19,10.71\r\n1973-09-20,10.79\r\n1973-09-21,10.74\r\n1973-09-22,10.74\r\n1973-09-23,10.74\r\n1973-09-24,10.69\r\n1973-09-25,10.54\r\n1973-09-26,11.63\r\n1973-09-27,10.92\r\n1973-09-28,10.82\r\n1973-09-29,10.82\r\n1973-09-30,10.82\r\n1973-10-01,10.90\r\n1973-10-02,10.73\r\n1973-10-03,10.04\r\n1973-10-04,10.80\r\n1973-10-05,10.62\r\n1973-10-06,10.62\r\n1973-10-07,10.62\r\n1973-10-08,10.62\r\n1973-10-09,9.31\r\n1973-10-10,6.48\r\n1973-10-11,10.08\r\n1973-10-12,10.09\r\n1973-10-13,10.09\r\n1973-10-14,10.09\r\n1973-10-15,10.00\r\n1973-10-16,10.10\r\n1973-10-17,10.02\r\n1973-10-18,10.01\r\n1973-10-19,9.85\r\n1973-10-20,9.85\r\n1973-10-21,9.85\r\n1973-10-22,9.85\r\n1973-10-23,9.86\r\n1973-10-24,10.56\r\n1973-10-25,9.81\r\n1973-10-26,9.70\r\n1973-10-27,9.70\r\n1973-10-28,9.70\r\n1973-10-29,9.80\r\n1973-10-30,9.95\r\n1973-10-31,10.61\r\n1973-11-01,9.88\r\n1973-11-02,9.71\r\n1973-11-03,9.71\r\n1973-11-04,9.71\r\n1973-11-05,9.73\r\n1973-11-06,9.76\r\n1973-11-07,9.45\r\n1973-11-08,9.77\r\n1973-11-09,9.75\r\n1973-11-10,9.75\r\n1973-11-11,9.75\r\n1973-11-12,9.78\r\n1973-11-13,10.04\r\n1973-11-14,11.39\r\n1973-11-15,10.00\r\n1973-11-16,10.19\r\n1973-11-17,10.19\r\n1973-11-18,10.19\r\n1973-11-19,10.84\r\n1973-11-20,10.77\r\n1973-11-21,9.44\r\n1973-11-22,9.44\r\n1973-11-23,10.17\r\n1973-11-24,10.17\r\n1973-11-25,10.17\r\n1973-11-26,10.15\r\n1973-11-27,10.25\r\n1973-11-28,10.26\r\n1973-11-29,10.26\r\n1973-11-30,10.34\r\n1973-12-01,10.34\r\n1973-12-02,10.34\r\n1973-12-03,10.45\r\n1973-12-04,10.40\r\n1973-12-05,9.07\r\n1973-12-06,10.24\r\n1973-12-07,10.27\r\n1973-12-08,10.27\r\n1973-12-09,10.27\r\n1973-12-10,10.26\r\n1973-12-11,10.16\r\n1973-12-12,8.84\r\n1973-12-13,10.00\r\n1973-12-14,10.09\r\n1973-12-15,10.09\r\n1973-12-16,10.09\r\n1973-12-17,10.44\r\n1973-12-18,10.32\r\n1973-12-19,10.22\r\n1973-12-20,10.13\r\n1973-12-21,10.01\r\n1973-12-22,10.01\r\n1973-12-23,10.01\r\n1973-12-24,9.66\r\n1973-12-25,9.66\r\n1973-12-26,7.19\r\n1973-12-27,9.87\r\n1973-12-28,9.95\r\n1973-12-29,9.95\r\n1973-12-30,9.95\r\n1973-12-31,9.83\r\n1974-01-01,9.83\r\n1974-01-02,9.72\r\n1974-01-03,9.80\r\n1974-01-04,9.84\r\n1974-01-05,9.84\r\n1974-01-06,9.84\r\n1974-01-07,9.76\r\n1974-01-08,9.56\r\n1974-01-09,9.70\r\n1974-01-10,9.69\r\n1974-01-11,9.75\r\n1974-01-12,9.75\r\n1974-01-13,9.75\r\n1974-01-14,9.76\r\n1974-01-15,9.82\r\n1974-01-16,9.89\r\n1974-01-17,9.70\r\n1974-01-18,9.62\r\n1974-01-19,9.62\r\n1974-01-20,9.62\r\n1974-01-21,9.58\r\n1974-01-22,9.46\r\n1974-01-23,9.58\r\n1974-01-24,9.47\r\n1974-01-25,9.50\r\n1974-01-26,9.50\r\n1974-01-27,9.50\r\n1974-01-28,9.48\r\n1974-01-29,9.28\r\n1974-01-30,9.58\r\n1974-01-31,9.31\r\n1974-02-01,9.31\r\n1974-02-02,9.31\r\n1974-02-03,9.31\r\n1974-02-04,9.14\r\n1974-02-05,8.80\r\n1974-02-06,8.76\r\n1974-02-07,8.80\r\n1974-02-08,8.81\r\n1974-02-09,8.81\r\n1974-02-10,8.81\r\n1974-02-11,8.88\r\n1974-02-12,9.02\r\n1974-02-13,9.37\r\n1974-02-14,8.87\r\n1974-02-15,8.99\r\n1974-02-16,8.99\r\n1974-02-17,8.99\r\n1974-02-18,8.99\r\n1974-02-19,9.16\r\n1974-02-20,9.52\r\n1974-02-21,8.91\r\n1974-02-22,8.85\r\n1974-02-23,8.85\r\n1974-02-24,8.85\r\n1974-02-25,8.76\r\n1974-02-26,8.76\r\n1974-02-27,8.72\r\n1974-02-28,8.87\r\n1974-03-01,8.97\r\n1974-03-02,8.97\r\n1974-03-03,8.97\r\n1974-03-04,9.07\r\n1974-03-05,9.14\r\n1974-03-06,8.87\r\n1974-03-07,8.94\r\n1974-03-08,8.92\r\n1974-03-09,8.92\r\n1974-03-10,8.92\r\n1974-03-11,8.95\r\n1974-03-12,9.16\r\n1974-03-13,9.39\r\n1974-03-14,9.14\r\n1974-03-15,9.35\r\n1974-03-16,9.35\r\n1974-03-17,9.35\r\n1974-03-18,9.52\r\n1974-03-19,9.31\r\n1974-03-20,9.28\r\n1974-03-21,9.49\r\n1974-03-22,9.65\r\n1974-03-23,9.65\r\n1974-03-24,9.65\r\n1974-03-25,9.87\r\n1974-03-26,9.51\r\n1974-03-27,9.48\r\n1974-03-28,10.09\r\n1974-03-29,9.95\r\n1974-03-30,9.95\r\n1974-03-31,9.95\r\n1974-04-01,10.01\r\n1974-04-02,9.84\r\n1974-04-03,9.75\r\n1974-04-04,9.89\r\n1974-04-05,9.95\r\n1974-04-06,9.95\r\n1974-04-07,9.95\r\n1974-04-08,10.19\r\n1974-04-09,10.14\r\n1974-04-10,10.09\r\n1974-04-11,10.25\r\n1974-04-12,10.27\r\n1974-04-13,10.27\r\n1974-04-14,10.27\r\n1974-04-15,10.36\r\n1974-04-16,10.55\r\n1974-04-17,10.55\r\n1974-04-18,10.68\r\n1974-04-19,10.81\r\n1974-04-20,10.81\r\n1974-04-21,10.81\r\n1974-04-22,11.00\r\n1974-04-23,11.08\r\n1974-04-24,10.30\r\n1974-04-25,11.25\r\n1974-04-26,11.36\r\n1974-04-27,11.36\r\n1974-04-28,11.36\r\n1974-04-29,11.29\r\n1974-04-30,11.00\r\n1974-05-01,10.57\r\n1974-05-02,11.28\r\n1974-05-03,11.53\r\n1974-05-04,11.53\r\n1974-05-05,11.53\r\n1974-05-06,11.47\r\n1974-05-07,11.28\r\n1974-05-08,10.41\r\n1974-05-09,11.51\r\n1974-05-10,11.47\r\n1974-05-11,11.47\r\n1974-05-12,11.47\r\n1974-05-13,11.55\r\n1974-05-14,11.40\r\n1974-05-15,11.36\r\n1974-05-16,11.52\r\n1974-05-17,11.37\r\n1974-05-18,11.37\r\n1974-05-19,11.37\r\n1974-05-20,11.17\r\n1974-05-21,10.05\r\n1974-05-22,9.83\r\n1974-05-23,11.21\r\n1974-05-24,11.31\r\n1974-05-25,11.31\r\n1974-05-26,11.31\r\n1974-05-27,11.31\r\n1974-05-28,11.73\r\n1974-05-29,12.61\r\n1974-05-30,11.55\r\n1974-05-31,11.64\r\n1974-06-01,11.64\r\n1974-06-02,11.64\r\n1974-06-03,11.58\r\n1974-06-04,11.14\r\n1974-06-05,10.94\r\n1974-06-06,11.40\r\n1974-06-07,11.38\r\n1974-06-08,11.38\r\n1974-06-09,11.38\r\n1974-06-10,11.47\r\n1974-06-11,11.69\r\n1974-06-12,12.47\r\n1974-06-13,11.73\r\n1974-06-14,12.11\r\n1974-06-15,12.11\r\n1974-06-16,12.11\r\n1974-06-17,11.88\r\n1974-06-18,11.59\r\n1974-06-19,11.41\r\n1974-06-20,11.88\r\n1974-06-21,12.00\r\n1974-06-22,12.00\r\n1974-06-23,12.00\r\n1974-06-24,11.89\r\n1974-06-25,12.01\r\n1974-06-26,11.98\r\n1974-06-27,13.25\r\n1974-06-28,13.31\r\n1974-06-29,13.31\r\n1974-06-30,13.31\r\n1974-07-01,14.33\r\n1974-07-02,13.86\r\n1974-07-03,13.50\r\n1974-07-04,13.50\r\n1974-07-05,13.30\r\n1974-07-06,13.30\r\n1974-07-07,13.30\r\n1974-07-08,13.93\r\n1974-07-09,13.93\r\n1974-07-10,12.15\r\n1974-07-11,13.41\r\n1974-07-12,13.60\r\n1974-07-13,13.60\r\n1974-07-14,13.60\r\n1974-07-15,13.33\r\n1974-07-16,12.24\r\n1974-07-17,11.52\r\n1974-07-18,12.26\r\n1974-07-19,12.38\r\n1974-07-20,12.38\r\n1974-07-21,12.38\r\n1974-07-22,12.28\r\n1974-07-23,12.32\r\n1974-07-24,14.19\r\n1974-07-25,12.64\r\n1974-07-26,12.60\r\n1974-07-27,12.60\r\n1974-07-28,12.60\r\n1974-07-29,11.96\r\n1974-07-30,11.56\r\n1974-07-31,12.06\r\n1974-08-01,12.25\r\n1974-08-02,12.17\r\n1974-08-03,12.17\r\n1974-08-04,12.17\r\n1974-08-05,12.02\r\n1974-08-06,11.91\r\n1974-08-07,11.96\r\n1974-08-08,12.09\r\n1974-08-09,12.00\r\n1974-08-10,12.00\r\n1974-08-11,12.00\r\n1974-08-12,12.02\r\n1974-08-13,12.09\r\n1974-08-14,11.93\r\n1974-08-15,12.21\r\n1974-08-16,12.33\r\n1974-08-17,12.33\r\n1974-08-18,12.33\r\n1974-08-19,12.35\r\n1974-08-20,12.30\r\n1974-08-21,11.79\r\n1974-08-22,12.13\r\n1974-08-23,12.07\r\n1974-08-24,12.07\r\n1974-08-25,12.07\r\n1974-08-26,12.09\r\n1974-08-27,11.62\r\n1974-08-28,10.82\r\n1974-08-29,11.67\r\n1974-08-30,11.60\r\n1974-08-31,11.60\r\n1974-09-01,11.60\r\n1974-09-02,11.60\r\n1974-09-03,11.92\r\n1974-09-04,11.46\r\n1974-09-05,11.62\r\n1974-09-06,11.54\r\n1974-09-07,11.54\r\n1974-09-08,11.54\r\n1974-09-09,11.86\r\n1974-09-10,11.76\r\n1974-09-11,10.52\r\n1974-09-12,11.58\r\n1974-09-13,11.61\r\n1974-09-14,11.61\r\n1974-09-15,11.61\r\n1974-09-16,11.55\r\n1974-09-17,11.21\r\n1974-09-18,10.69\r\n1974-09-19,11.17\r\n1974-09-20,11.17\r\n1974-09-21,11.17\r\n1974-09-22,11.17\r\n1974-09-23,11.21\r\n1974-09-24,10.96\r\n1974-09-25,10.98\r\n1974-09-26,11.00\r\n1974-09-27,11.18\r\n1974-09-28,11.18\r\n1974-09-29,11.18\r\n1974-09-30,11.11\r\n1974-10-01,11.30\r\n1974-10-02,10.32\r\n1974-10-03,10.97\r\n1974-10-04,10.78\r\n1974-10-05,10.78\r\n1974-10-06,10.78\r\n1974-10-07,10.44\r\n1974-10-08,10.03\r\n1974-10-09,9.23\r\n1974-10-10,10.02\r\n1974-10-11,10.01\r\n1974-10-12,10.01\r\n1974-10-13,10.01\r\n1974-10-14,10.01\r\n1974-10-15,10.35\r\n1974-10-16,10.38\r\n1974-10-17,10.04\r\n1974-10-18,9.76\r\n1974-10-19,9.76\r\n1974-10-20,9.76\r\n1974-10-21,9.63\r\n1974-10-22,9.67\r\n1974-10-23,10.04\r\n1974-10-24,9.69\r\n1974-10-25,9.71\r\n1974-10-26,9.71\r\n1974-10-27,9.71\r\n1974-10-28,9.74\r\n1974-10-29,9.58\r\n1974-10-30,9.91\r\n1974-10-31,9.66\r\n1974-11-01,9.65\r\n1974-11-02,9.65\r\n1974-11-03,9.65\r\n1974-11-04,9.77\r\n1974-11-05,9.89\r\n1974-11-06,9.11\r\n1974-11-07,9.61\r\n1974-11-08,9.55\r\n1974-11-09,9.55\r\n1974-11-10,9.55\r\n1974-11-11,9.55\r\n1974-11-12,9.40\r\n1974-11-13,8.40\r\n1974-11-14,9.32\r\n1974-11-15,9.27\r\n1974-11-16,9.27\r\n1974-11-17,9.27\r\n1974-11-18,9.47\r\n1974-11-19,9.50\r\n1974-11-20,9.28\r\n1974-11-21,9.40\r\n1974-11-22,9.41\r\n1974-11-23,9.41\r\n1974-11-24,9.41\r\n1974-11-25,9.50\r\n1974-11-26,9.53\r\n1974-11-27,9.56\r\n1974-11-28,9.56\r\n1974-11-29,9.47\r\n1974-11-30,9.47\r\n1974-12-01,9.47\r\n1974-12-02,9.41\r\n1974-12-03,8.89\r\n1974-12-04,6.88\r\n1974-12-05,8.89\r\n1974-12-06,8.87\r\n1974-12-07,8.87\r\n1974-12-08,8.87\r\n1974-12-09,8.90\r\n1974-12-10,8.95\r\n1974-12-11,8.70\r\n1974-12-12,8.72\r\n1974-12-13,8.75\r\n1974-12-14,8.75\r\n1974-12-15,8.75\r\n1974-12-16,8.77\r\n1974-12-17,8.53\r\n1974-12-18,8.78\r\n1974-12-19,8.57\r\n1974-12-20,8.64\r\n1974-12-21,8.64\r\n1974-12-22,8.64\r\n1974-12-23,8.76\r\n1974-12-24,7.94\r\n1974-12-25,7.94\r\n1974-12-26,8.77\r\n1974-12-27,8.79\r\n1974-12-28,8.79\r\n1974-12-29,8.79\r\n1974-12-30,8.57\r\n1974-12-31,3.87\r\n1975-01-01,3.87\r\n1975-01-02,8.55\r\n1975-01-03,8.37\r\n1975-01-04,8.37\r\n1975-01-05,8.37\r\n1975-01-06,7.85\r\n1975-01-07,7.30\r\n1975-01-08,5.12\r\n1975-01-09,7.27\r\n1975-01-10,7.24\r\n1975-01-11,7.24\r\n1975-01-12,7.24\r\n1975-01-13,7.28\r\n1975-01-14,7.09\r\n1975-01-15,7.19\r\n1975-01-16,6.96\r\n1975-01-17,6.95\r\n1975-01-18,6.95\r\n1975-01-19,6.95\r\n1975-01-20,7.04\r\n1975-01-21,7.16\r\n1975-01-22,8.19\r\n1975-01-23,7.06\r\n1975-01-24,7.00\r\n1975-01-25,7.00\r\n1975-01-26,7.00\r\n1975-01-27,7.18\r\n1975-01-28,7.12\r\n1975-01-29,6.60\r\n1975-01-30,6.81\r\n1975-01-31,6.76\r\n1975-02-01,6.76\r\n1975-02-02,6.76\r\n1975-02-03,6.73\r\n1975-02-04,6.58\r\n1975-02-05,4.84\r\n1975-02-06,6.21\r\n1975-02-07,6.17\r\n1975-02-08,6.17\r\n1975-02-09,6.17\r\n1975-02-10,6.38\r\n1975-02-11,6.48\r\n1975-02-12,6.36\r\n1975-02-13,6.33\r\n1975-02-14,6.29\r\n1975-02-15,6.29\r\n1975-02-16,6.29\r\n1975-02-17,6.29\r\n1975-02-18,6.22\r\n1975-02-19,6.31\r\n1975-02-20,6.17\r\n1975-02-21,6.14\r\n1975-02-22,6.14\r\n1975-02-23,6.14\r\n1975-02-24,6.00\r\n1975-02-25,5.96\r\n1975-02-26,6.48\r\n1975-02-27,6.01\r\n1975-02-28,6.07\r\n1975-03-01,6.07\r\n1975-03-02,6.07\r\n1975-03-03,6.06\r\n1975-03-04,5.91\r\n1975-03-05,5.00\r\n1975-03-06,5.70\r\n1975-03-07,5.78\r\n1975-03-08,5.78\r\n1975-03-09,5.78\r\n1975-03-10,5.68\r\n1975-03-11,5.41\r\n1975-03-12,3.96\r\n1975-03-13,5.49\r\n1975-03-14,5.44\r\n1975-03-15,5.44\r\n1975-03-16,5.44\r\n1975-03-17,5.50\r\n1975-03-18,5.43\r\n1975-03-19,4.95\r\n1975-03-20,5.46\r\n1975-03-21,5.52\r\n1975-03-22,5.52\r\n1975-03-23,5.52\r\n1975-03-24,5.68\r\n1975-03-25,5.38\r\n1975-03-26,5.60\r\n1975-03-27,5.51\r\n1975-03-28,5.73\r\n1975-03-29,5.73\r\n1975-03-30,5.73\r\n1975-03-31,5.39\r\n1975-04-01,5.48\r\n1975-04-02,5.55\r\n1975-04-03,5.41\r\n1975-04-04,5.25\r\n1975-04-05,5.25\r\n1975-04-06,5.25\r\n1975-04-07,5.37\r\n1975-04-08,5.22\r\n1975-04-09,5.18\r\n1975-04-10,5.31\r\n1975-04-11,5.39\r\n1975-04-12,5.39\r\n1975-04-13,5.39\r\n1975-04-14,5.46\r\n1975-04-15,5.48\r\n1975-04-16,5.69\r\n1975-04-17,5.59\r\n1975-04-18,5.57\r\n1975-04-19,5.57\r\n1975-04-20,5.57\r\n1975-04-21,5.56\r\n1975-04-22,5.34\r\n1975-04-23,5.57\r\n1975-04-24,5.54\r\n1975-04-25,5.47\r\n1975-04-26,5.47\r\n1975-04-27,5.47\r\n1975-04-28,5.50\r\n1975-04-29,5.46\r\n1975-04-30,7.03\r\n1975-05-01,5.55\r\n1975-05-02,5.49\r\n1975-05-03,5.49\r\n1975-05-04,5.49\r\n1975-05-05,5.41\r\n1975-05-06,5.35\r\n1975-05-07,5.16\r\n1975-05-08,5.37\r\n1975-05-09,5.24\r\n1975-05-10,5.24\r\n1975-05-11,5.24\r\n1975-05-12,5.25\r\n1975-05-13,5.12\r\n1975-05-14,4.95\r\n1975-05-15,5.09\r\n1975-05-16,5.10\r\n1975-05-17,5.10\r\n1975-05-18,5.10\r\n1975-05-19,5.13\r\n1975-05-20,5.03\r\n1975-05-21,5.36\r\n1975-05-22,5.05\r\n1975-05-23,5.07\r\n1975-05-24,5.07\r\n1975-05-25,5.07\r\n1975-05-26,5.07\r\n1975-05-27,5.11\r\n1975-05-28,5.54\r\n1975-05-29,5.16\r\n1975-05-30,5.23\r\n1975-05-31,5.23\r\n1975-06-01,5.23\r\n1975-06-02,5.37\r\n1975-06-03,5.35\r\n1975-06-04,5.12\r\n1975-06-05,5.17\r\n1975-06-06,5.20\r\n1975-06-07,5.20\r\n1975-06-08,5.20\r\n1975-06-09,5.18\r\n1975-06-10,5.06\r\n1975-06-11,5.06\r\n1975-06-12,5.18\r\n1975-06-13,5.20\r\n1975-06-14,5.20\r\n1975-06-15,5.20\r\n1975-06-16,5.34\r\n1975-06-17,5.43\r\n1975-06-18,5.59\r\n1975-06-19,5.43\r\n1975-06-20,5.55\r\n1975-06-21,5.55\r\n1975-06-22,5.55\r\n1975-06-23,5.89\r\n1975-06-24,5.95\r\n1975-06-25,6.13\r\n1975-06-26,6.31\r\n1975-06-27,6.61\r\n1975-06-28,6.61\r\n1975-06-29,6.61\r\n1975-06-30,5.97\r\n1975-07-01,6.12\r\n1975-07-02,5.97\r\n1975-07-03,6.24\r\n1975-07-04,6.24\r\n1975-07-05,6.24\r\n1975-07-06,6.24\r\n1975-07-07,6.28\r\n1975-07-08,5.76\r\n1975-07-09,5.40\r\n1975-07-10,5.89\r\n1975-07-11,5.84\r\n1975-07-12,5.84\r\n1975-07-13,5.84\r\n1975-07-14,5.92\r\n1975-07-15,5.92\r\n1975-07-16,6.27\r\n1975-07-17,6.07\r\n1975-07-18,6.07\r\n1975-07-19,6.07\r\n1975-07-20,6.07\r\n1975-07-21,6.08\r\n1975-07-22,6.10\r\n1975-07-23,6.50\r\n1975-07-24,6.31\r\n1975-07-25,6.31\r\n1975-07-26,6.31\r\n1975-07-27,6.31\r\n1975-07-28,6.26\r\n1975-07-29,6.16\r\n1975-07-30,6.11\r\n1975-07-31,6.23\r\n1975-08-01,6.24\r\n1975-08-02,6.24\r\n1975-08-03,6.24\r\n1975-08-04,6.26\r\n1975-08-05,6.15\r\n1975-08-06,5.30\r\n1975-08-07,6.14\r\n1975-08-08,6.04\r\n1975-08-09,6.04\r\n1975-08-10,6.04\r\n1975-08-11,6.13\r\n1975-08-12,6.11\r\n1975-08-13,6.09\r\n1975-08-14,6.06\r\n1975-08-15,6.05\r\n1975-08-16,6.05\r\n1975-08-17,6.05\r\n1975-08-18,6.15\r\n1975-08-19,6.24\r\n1975-08-20,6.42\r\n1975-08-21,6.34\r\n1975-08-22,6.32\r\n1975-08-23,6.32\r\n1975-08-24,6.32\r\n1975-08-25,6.31\r\n1975-08-26,6.18\r\n1975-08-27,5.81\r\n1975-08-28,6.17\r\n1975-08-29,6.13\r\n1975-08-30,6.13\r\n1975-08-31,6.13\r\n1975-09-01,6.13\r\n1975-09-02,6.29\r\n1975-09-03,5.47\r\n1975-09-04,6.19\r\n1975-09-05,6.20\r\n1975-09-06,6.20\r\n1975-09-07,6.20\r\n1975-09-08,6.19\r\n1975-09-09,6.09\r\n1975-09-10,5.98\r\n1975-09-11,6.22\r\n1975-09-12,6.33\r\n1975-09-13,6.33\r\n1975-09-14,6.33\r\n1975-09-15,6.41\r\n1975-09-16,6.28\r\n1975-09-17,6.03\r\n1975-09-18,6.31\r\n1975-09-19,6.21\r\n1975-09-20,6.21\r\n1975-09-21,6.21\r\n1975-09-22,6.28\r\n1975-09-23,6.26\r\n1975-09-24,6.54\r\n1975-09-25,6.38\r\n1975-09-26,6.42\r\n1975-09-27,6.42\r\n1975-09-28,6.42\r\n1975-09-29,6.42\r\n1975-09-30,6.22\r\n1975-10-01,6.24\r\n1975-10-02,6.30\r\n1975-10-03,6.18\r\n1975-10-04,6.18\r\n1975-10-05,6.18\r\n1975-10-06,6.03\r\n1975-10-07,5.80\r\n1975-10-08,5.73\r\n1975-10-09,5.87\r\n1975-10-10,5.79\r\n1975-10-11,5.79\r\n1975-10-12,5.79\r\n1975-10-13,5.79\r\n1975-10-14,5.76\r\n1975-10-15,5.95\r\n1975-10-16,5.78\r\n1975-10-17,5.68\r\n1975-10-18,5.68\r\n1975-10-19,5.68\r\n1975-10-20,5.77\r\n1975-10-21,5.72\r\n1975-10-22,5.77\r\n1975-10-23,5.66\r\n1975-10-24,5.64\r\n1975-10-25,5.64\r\n1975-10-26,5.64\r\n1975-10-27,5.67\r\n1975-10-28,5.63\r\n1975-10-29,5.67\r\n1975-10-30,5.64\r\n1975-10-31,5.65\r\n1975-11-01,5.65\r\n1975-11-02,5.65\r\n1975-11-03,5.65\r\n1975-11-04,4.94\r\n1975-11-05,2.99\r\n1975-11-06,5.31\r\n1975-11-07,5.22\r\n1975-11-08,5.22\r\n1975-11-09,5.22\r\n1975-11-10,5.18\r\n1975-11-11,5.18\r\n1975-11-12,5.35\r\n1975-11-13,5.23\r\n1975-11-14,5.18\r\n1975-11-15,5.18\r\n1975-11-16,5.18\r\n1975-11-17,5.31\r\n1975-11-18,5.35\r\n1975-11-19,5.28\r\n1975-11-20,5.30\r\n1975-11-21,5.26\r\n1975-11-22,5.26\r\n1975-11-23,5.26\r\n1975-11-24,5.31\r\n1975-11-25,5.26\r\n1975-11-26,5.34\r\n1975-11-27,5.34\r\n1975-11-28,5.29\r\n1975-11-29,5.29\r\n1975-11-30,5.29\r\n1975-12-01,5.31\r\n1975-12-02,5.29\r\n1975-12-03,4.96\r\n1975-12-04,5.24\r\n1975-12-05,5.31\r\n1975-12-06,5.31\r\n1975-12-07,5.31\r\n1975-12-08,5.32\r\n1975-12-09,5.23\r\n1975-12-10,5.09\r\n1975-12-11,5.25\r\n1975-12-12,5.19\r\n1975-12-13,5.19\r\n1975-12-14,5.19\r\n1975-12-15,5.23\r\n1975-12-16,5.18\r\n1975-12-17,4.93\r\n1975-12-18,5.22\r\n1975-12-19,5.21\r\n1975-12-20,5.21\r\n1975-12-21,5.21\r\n1975-12-22,5.24\r\n1975-12-23,5.18\r\n1975-12-24,5.02\r\n1975-12-25,5.02\r\n1975-12-26,5.15\r\n1975-12-27,5.15\r\n1975-12-28,5.15\r\n1975-12-29,5.10\r\n1975-12-30,5.30\r\n1975-12-31,5.37\r\n1976-01-01,5.37\r\n1976-01-02,5.28\r\n1976-01-03,5.28\r\n1976-01-04,5.28\r\n1976-01-05,5.29\r\n1976-01-06,5.05\r\n1976-01-07,4.26\r\n1976-01-08,4.84\r\n1976-01-09,4.73\r\n1976-01-10,4.73\r\n1976-01-11,4.73\r\n1976-01-12,4.74\r\n1976-01-13,4.78\r\n1976-01-14,4.78\r\n1976-01-15,4.81\r\n1976-01-16,4.82\r\n1976-01-17,4.82\r\n1976-01-18,4.82\r\n1976-01-19,4.79\r\n1976-01-20,4.76\r\n1976-01-21,4.83\r\n1976-01-22,4.77\r\n1976-01-23,4.72\r\n1976-01-24,4.72\r\n1976-01-25,4.72\r\n1976-01-26,4.77\r\n1976-01-27,4.79\r\n1976-01-28,5.12\r\n1976-01-29,4.82\r\n1976-01-30,4.84\r\n1976-01-31,4.84\r\n1976-02-01,4.84\r\n1976-02-02,4.87\r\n1976-02-03,4.81\r\n1976-02-04,4.71\r\n1976-02-05,4.77\r\n1976-02-06,4.76\r\n1976-02-07,4.76\r\n1976-02-08,4.76\r\n1976-02-09,4.70\r\n1976-02-10,4.63\r\n1976-02-11,4.75\r\n1976-02-12,4.74\r\n1976-02-13,4.80\r\n1976-02-14,4.80\r\n1976-02-15,4.80\r\n1976-02-16,4.80\r\n1976-02-17,4.84\r\n1976-02-18,4.12\r\n1976-02-19,4.79\r\n1976-02-20,4.73\r\n1976-02-21,4.73\r\n1976-02-22,4.73\r\n1976-02-23,4.80\r\n1976-02-24,4.84\r\n1976-02-25,4.97\r\n1976-02-26,4.83\r\n1976-02-27,4.89\r\n1976-02-28,4.89\r\n1976-02-29,4.89\r\n1976-03-01,5.21\r\n1976-03-02,5.01\r\n1976-03-03,4.95\r\n1976-03-04,4.95\r\n1976-03-05,4.97\r\n1976-03-06,4.97\r\n1976-03-07,4.97\r\n1976-03-08,4.86\r\n1976-03-09,4.78\r\n1976-03-10,4.49\r\n1976-03-11,4.82\r\n1976-03-12,4.81\r\n1976-03-13,4.81\r\n1976-03-14,4.81\r\n1976-03-15,4.81\r\n1976-03-16,4.77\r\n1976-03-17,4.56\r\n1976-03-18,4.83\r\n1976-03-19,4.80\r\n1976-03-20,4.80\r\n1976-03-21,4.80\r\n1976-03-22,4.76\r\n1976-03-23,4.72\r\n1976-03-24,4.85\r\n1976-03-25,4.81\r\n1976-03-26,4.76\r\n1976-03-27,4.76\r\n1976-03-28,4.76\r\n1976-03-29,4.81\r\n1976-03-30,4.88\r\n1976-03-31,5.07\r\n1976-04-01,4.83\r\n1976-04-02,4.79\r\n1976-04-03,4.79\r\n1976-04-04,4.79\r\n1976-04-05,4.74\r\n1976-04-06,4.72\r\n1976-04-07,4.43\r\n1976-04-08,4.75\r\n1976-04-09,4.70\r\n1976-04-10,4.70\r\n1976-04-11,4.70\r\n1976-04-12,4.76\r\n1976-04-13,4.75\r\n1976-04-14,5.00\r\n1976-04-15,4.77\r\n1976-04-16,4.68\r\n1976-04-17,4.68\r\n1976-04-18,4.68\r\n1976-04-19,4.74\r\n1976-04-20,4.78\r\n1976-04-21,5.10\r\n1976-04-22,4.83\r\n1976-04-23,4.86\r\n1976-04-24,4.86\r\n1976-04-25,4.86\r\n1976-04-26,4.90\r\n1976-04-27,4.94\r\n1976-04-28,5.25\r\n1976-04-29,5.00\r\n1976-04-30,5.10\r\n1976-05-01,5.10\r\n1976-05-02,5.10\r\n1976-05-03,5.06\r\n1976-05-04,4.98\r\n1976-05-05,4.86\r\n1976-05-06,4.94\r\n1976-05-07,4.97\r\n1976-05-08,4.97\r\n1976-05-09,4.97\r\n1976-05-10,5.06\r\n1976-05-11,5.05\r\n1976-05-12,5.17\r\n1976-05-13,5.13\r\n1976-05-14,5.21\r\n1976-05-15,5.21\r\n1976-05-16,5.21\r\n1976-05-17,5.36\r\n1976-05-18,5.39\r\n1976-05-19,5.48\r\n1976-05-20,5.47\r\n1976-05-21,5.51\r\n1976-05-22,5.51\r\n1976-05-23,5.51\r\n1976-05-24,5.48\r\n1976-05-25,5.42\r\n1976-05-26,5.60\r\n1976-05-27,5.61\r\n1976-05-28,5.67\r\n1976-05-29,5.67\r\n1976-05-30,5.67\r\n1976-05-31,5.67\r\n1976-06-01,5.58\r\n1976-06-02,4.90\r\n1976-06-03,5.50\r\n1976-06-04,5.44\r\n1976-06-05,5.44\r\n1976-06-06,5.44\r\n1976-06-07,5.45\r\n1976-06-08,5.48\r\n1976-06-09,5.34\r\n1976-06-10,5.47\r\n1976-06-11,5.44\r\n1976-06-12,5.44\r\n1976-06-13,5.44\r\n1976-06-14,5.53\r\n1976-06-15,5.58\r\n1976-06-16,5.39\r\n1976-06-17,5.56\r\n1976-06-18,5.49\r\n1976-06-19,5.49\r\n1976-06-20,5.49\r\n1976-06-21,5.49\r\n1976-06-22,5.43\r\n1976-06-23,5.44\r\n1976-06-24,5.47\r\n1976-06-25,5.50\r\n1976-06-26,5.50\r\n1976-06-27,5.50\r\n1976-06-28,5.69\r\n1976-06-29,5.67\r\n1976-06-30,5.71\r\n1976-07-01,5.58\r\n1976-07-02,5.45\r\n1976-07-03,5.45\r\n1976-07-04,5.45\r\n1976-07-05,5.45\r\n1976-07-06,5.39\r\n1976-07-07,4.82\r\n1976-07-08,5.39\r\n1976-07-09,5.26\r\n1976-07-10,5.26\r\n1976-07-11,5.26\r\n1976-07-12,5.26\r\n1976-07-13,5.21\r\n1976-07-14,5.26\r\n1976-07-15,5.25\r\n1976-07-16,5.28\r\n1976-07-17,5.28\r\n1976-07-18,5.28\r\n1976-07-19,5.39\r\n1976-07-20,5.31\r\n1976-07-21,5.33\r\n1976-07-22,5.27\r\n1976-07-23,5.24\r\n1976-07-24,5.24\r\n1976-07-25,5.24\r\n1976-07-26,5.28\r\n1976-07-27,5.28\r\n1976-07-28,5.41\r\n1976-07-29,5.29\r\n1976-07-30,5.32\r\n1976-07-31,5.32\r\n1976-08-01,5.32\r\n1976-08-02,5.37\r\n1976-08-03,5.37\r\n1976-08-04,5.52\r\n1976-08-05,5.33\r\n1976-08-06,5.24\r\n1976-08-07,5.24\r\n1976-08-08,5.24\r\n1976-08-09,5.27\r\n1976-08-10,5.21\r\n1976-08-11,5.21\r\n1976-08-12,5.25\r\n1976-08-13,5.24\r\n1976-08-14,5.24\r\n1976-08-15,5.24\r\n1976-08-16,5.38\r\n1976-08-17,5.31\r\n1976-08-18,5.39\r\n1976-08-19,5.32\r\n1976-08-20,5.31\r\n1976-08-21,5.31\r\n1976-08-22,5.31\r\n1976-08-23,5.28\r\n1976-08-24,5.20\r\n1976-08-25,5.20\r\n1976-08-26,5.27\r\n1976-08-27,5.28\r\n1976-08-28,5.28\r\n1976-08-29,5.28\r\n1976-08-30,5.30\r\n1976-08-31,5.31\r\n1976-09-01,5.25\r\n1976-09-02,5.31\r\n1976-09-03,5.30\r\n1976-09-04,5.30\r\n1976-09-05,5.30\r\n1976-09-06,5.30\r\n1976-09-07,5.34\r\n1976-09-08,4.88\r\n1976-09-09,5.25\r\n1976-09-10,5.22\r\n1976-09-11,5.22\r\n1976-09-12,5.22\r\n1976-09-13,5.27\r\n1976-09-14,5.20\r\n1976-09-15,5.15\r\n1976-09-16,5.24\r\n1976-09-17,5.17\r\n1976-09-18,5.17\r\n1976-09-19,5.17\r\n1976-09-20,5.26\r\n1976-09-21,5.22\r\n1976-09-22,5.25\r\n1976-09-23,5.25\r\n1976-09-24,5.27\r\n1976-09-25,5.27\r\n1976-09-26,5.27\r\n1976-09-27,5.37\r\n1976-09-28,5.39\r\n1976-09-29,5.44\r\n1976-09-30,5.31\r\n1976-10-01,5.32\r\n1976-10-02,5.32\r\n1976-10-03,5.32\r\n1976-10-04,5.27\r\n1976-10-05,5.15\r\n1976-10-06,4.50\r\n1976-10-07,5.12\r\n1976-10-08,5.00\r\n1976-10-09,5.00\r\n1976-10-10,5.00\r\n1976-10-11,5.00\r\n1976-10-12,5.09\r\n1976-10-13,4.94\r\n1976-10-14,4.99\r\n1976-10-15,4.93\r\n1976-10-16,4.93\r\n1976-10-17,4.93\r\n1976-10-18,5.03\r\n1976-10-19,4.97\r\n1976-10-20,4.98\r\n1976-10-21,4.98\r\n1976-10-22,5.00\r\n1976-10-23,5.00\r\n1976-10-24,5.00\r\n1976-10-25,5.01\r\n1976-10-26,5.00\r\n1976-10-27,4.95\r\n1976-10-28,4.98\r\n1976-10-29,5.02\r\n1976-10-30,5.02\r\n1976-10-31,5.02\r\n1976-11-01,5.04\r\n1976-11-02,5.04\r\n1976-11-03,5.31\r\n1976-11-04,5.03\r\n1976-11-05,4.96\r\n1976-11-06,4.96\r\n1976-11-07,4.96\r\n1976-11-08,4.92\r\n1976-11-09,4.93\r\n1976-11-10,5.07\r\n1976-11-11,5.07\r\n1976-11-12,5.05\r\n1976-11-13,5.05\r\n1976-11-14,5.05\r\n1976-11-15,5.09\r\n1976-11-16,4.99\r\n1976-11-17,4.87\r\n1976-11-18,4.95\r\n1976-11-19,4.90\r\n1976-11-20,4.90\r\n1976-11-21,4.90\r\n1976-11-22,4.84\r\n1976-11-23,4.85\r\n1976-11-24,4.97\r\n1976-11-25,4.97\r\n1976-11-26,4.80\r\n1976-11-27,4.80\r\n1976-11-28,4.80\r\n1976-11-29,4.71\r\n1976-11-30,4.69\r\n1976-12-01,4.67\r\n1976-12-02,4.68\r\n1976-12-03,4.63\r\n1976-12-04,4.63\r\n1976-12-05,4.63\r\n1976-12-06,4.69\r\n1976-12-07,4.66\r\n1976-12-08,4.74\r\n1976-12-09,4.69\r\n1976-12-10,4.64\r\n1976-12-11,4.64\r\n1976-12-12,4.64\r\n1976-12-13,4.73\r\n1976-12-14,4.69\r\n1976-12-15,4.73\r\n1976-12-16,4.65\r\n1976-12-17,4.56\r\n1976-12-18,4.56\r\n1976-12-19,4.56\r\n1976-12-20,4.65\r\n1976-12-21,4.68\r\n1976-12-22,4.75\r\n1976-12-23,4.60\r\n1976-12-24,4.54\r\n1976-12-25,4.54\r\n1976-12-26,4.54\r\n1976-12-27,4.66\r\n1976-12-28,4.73\r\n1976-12-29,5.01\r\n1976-12-30,4.90\r\n1976-12-31,4.17\r\n1977-01-01,4.17\r\n1977-01-02,4.17\r\n1977-01-03,4.89\r\n1977-01-04,4.71\r\n1977-01-05,4.30\r\n1977-01-06,4.59\r\n1977-01-07,4.62\r\n1977-01-08,4.62\r\n1977-01-09,4.62\r\n1977-01-10,4.66\r\n1977-01-11,4.70\r\n1977-01-12,4.07\r\n1977-01-13,4.60\r\n1977-01-14,4.60\r\n1977-01-15,4.60\r\n1977-01-16,4.60\r\n1977-01-17,4.80\r\n1977-01-18,4.71\r\n1977-01-19,4.64\r\n1977-01-20,4.64\r\n1977-01-21,4.68\r\n1977-01-22,4.68\r\n1977-01-23,4.68\r\n1977-01-24,4.79\r\n1977-01-25,4.70\r\n1977-01-26,4.89\r\n1977-01-27,4.70\r\n1977-01-28,4.62\r\n1977-01-29,4.62\r\n1977-01-30,4.62\r\n1977-01-31,4.65\r\n1977-02-01,4.58\r\n1977-02-02,4.41\r\n1977-02-03,4.58\r\n1977-02-04,4.60\r\n1977-02-05,4.60\r\n1977-02-06,4.60\r\n1977-02-07,4.74\r\n1977-02-08,4.67\r\n1977-02-09,4.84\r\n1977-02-10,4.67\r\n1977-02-11,4.68\r\n1977-02-12,4.68\r\n1977-02-13,4.68\r\n1977-02-14,4.73\r\n1977-02-15,4.68\r\n1977-02-16,4.79\r\n1977-02-17,4.69\r\n1977-02-18,4.72\r\n1977-02-19,4.72\r\n1977-02-20,4.72\r\n1977-02-21,4.72\r\n1977-02-22,4.76\r\n1977-02-23,4.84\r\n1977-02-24,4.72\r\n1977-02-25,4.66\r\n1977-02-26,4.66\r\n1977-02-27,4.66\r\n1977-02-28,4.73\r\n1977-03-01,4.70\r\n1977-03-02,4.65\r\n1977-03-03,4.68\r\n1977-03-04,4.66\r\n1977-03-05,4.66\r\n1977-03-06,4.66\r\n1977-03-07,4.70\r\n1977-03-08,4.63\r\n1977-03-09,4.41\r\n1977-03-10,4.65\r\n1977-03-11,4.62\r\n1977-03-12,4.62\r\n1977-03-13,4.62\r\n1977-03-14,4.67\r\n1977-03-15,4.61\r\n1977-03-16,4.57\r\n1977-03-17,4.67\r\n1977-03-18,4.66\r\n1977-03-19,4.66\r\n1977-03-20,4.66\r\n1977-03-21,4.72\r\n1977-03-22,4.69\r\n1977-03-23,5.34\r\n1977-03-24,4.76\r\n1977-03-25,4.75\r\n1977-03-26,4.75\r\n1977-03-27,4.75\r\n1977-03-28,4.74\r\n1977-03-29,4.67\r\n1977-03-30,4.74\r\n1977-03-31,4.72\r\n1977-04-01,4.72\r\n1977-04-02,4.72\r\n1977-04-03,4.72\r\n1977-04-04,4.73\r\n1977-04-05,4.48\r\n1977-04-06,4.08\r\n1977-04-07,4.65\r\n1977-04-08,4.61\r\n1977-04-09,4.61\r\n1977-04-10,4.61\r\n1977-04-11,4.65\r\n1977-04-12,4.66\r\n1977-04-13,4.75\r\n1977-04-14,4.64\r\n1977-04-15,4.70\r\n1977-04-16,4.70\r\n1977-04-17,4.70\r\n1977-04-18,4.76\r\n1977-04-19,4.67\r\n1977-04-20,4.78\r\n1977-04-21,4.71\r\n1977-04-22,4.77\r\n1977-04-23,4.77\r\n1977-04-24,4.77\r\n1977-04-25,4.85\r\n1977-04-26,4.91\r\n1977-04-27,4.94\r\n1977-04-28,4.92\r\n1977-04-29,5.12\r\n1977-04-30,5.12\r\n1977-05-01,5.12\r\n1977-05-02,5.34\r\n1977-05-03,5.18\r\n1977-05-04,5.26\r\n1977-05-05,5.21\r\n1977-05-06,5.36\r\n1977-05-07,5.36\r\n1977-05-08,5.36\r\n1977-05-09,5.30\r\n1977-05-10,5.21\r\n1977-05-11,5.35\r\n1977-05-12,5.33\r\n1977-05-13,5.33\r\n1977-05-14,5.33\r\n1977-05-15,5.33\r\n1977-05-16,5.38\r\n1977-05-17,5.36\r\n1977-05-18,5.29\r\n1977-05-19,5.40\r\n1977-05-20,5.51\r\n1977-05-21,5.51\r\n1977-05-22,5.51\r\n1977-05-23,5.51\r\n1977-05-24,5.41\r\n1977-05-25,5.30\r\n1977-05-26,5.39\r\n1977-05-27,5.36\r\n1977-05-28,5.36\r\n1977-05-29,5.36\r\n1977-05-30,5.36\r\n1977-05-31,5.47\r\n1977-06-01,5.24\r\n1977-06-02,5.37\r\n1977-06-03,5.32\r\n1977-06-04,5.32\r\n1977-06-05,5.32\r\n1977-06-06,5.32\r\n1977-06-07,5.23\r\n1977-06-08,5.30\r\n1977-06-09,5.33\r\n1977-06-10,5.34\r\n1977-06-11,5.34\r\n1977-06-12,5.34\r\n1977-06-13,5.37\r\n1977-06-14,5.30\r\n1977-06-15,5.54\r\n1977-06-16,5.38\r\n1977-06-17,5.37\r\n1977-06-18,5.37\r\n1977-06-19,5.37\r\n1977-06-20,5.39\r\n1977-06-21,5.36\r\n1977-06-22,5.77\r\n1977-06-23,5.40\r\n1977-06-24,5.43\r\n1977-06-25,5.43\r\n1977-06-26,5.43\r\n1977-06-27,5.42\r\n1977-06-28,5.29\r\n1977-06-29,5.63\r\n1977-06-30,5.64\r\n1977-07-01,5.36\r\n1977-07-02,5.36\r\n1977-07-03,5.36\r\n1977-07-04,5.36\r\n1977-07-05,5.34\r\n1977-07-06,5.06\r\n1977-07-07,5.35\r\n1977-07-08,5.35\r\n1977-07-09,5.35\r\n1977-07-10,5.35\r\n1977-07-11,5.33\r\n1977-07-12,5.33\r\n1977-07-13,5.26\r\n1977-07-14,5.26\r\n1977-07-15,5.32\r\n1977-07-16,5.32\r\n1977-07-17,5.32\r\n1977-07-18,5.41\r\n1977-07-19,5.39\r\n1977-07-20,5.43\r\n1977-07-21,5.44\r\n1977-07-22,5.43\r\n1977-07-23,5.43\r\n1977-07-24,5.43\r\n1977-07-25,5.44\r\n1977-07-26,5.41\r\n1977-07-27,5.56\r\n1977-07-28,5.67\r\n1977-07-29,5.86\r\n1977-07-30,5.86\r\n1977-07-31,5.86\r\n1977-08-01,5.84\r\n1977-08-02,5.81\r\n1977-08-03,5.72\r\n1977-08-04,5.76\r\n1977-08-05,5.73\r\n1977-08-06,5.73\r\n1977-08-07,5.73\r\n1977-08-08,5.73\r\n1977-08-09,5.69\r\n1977-08-10,5.56\r\n1977-08-11,5.84\r\n1977-08-12,5.92\r\n1977-08-13,5.92\r\n1977-08-14,5.92\r\n1977-08-15,6.01\r\n1977-08-16,6.06\r\n1977-08-17,5.91\r\n1977-08-18,6.06\r\n1977-08-19,5.97\r\n1977-08-20,5.97\r\n1977-08-21,5.97\r\n1977-08-22,6.00\r\n1977-08-23,5.99\r\n1977-08-24,5.99\r\n1977-08-25,6.01\r\n1977-08-26,6.00\r\n1977-08-27,6.00\r\n1977-08-28,6.00\r\n1977-08-29,6.05\r\n1977-08-30,6.04\r\n1977-08-31,6.03\r\n1977-09-01,6.06\r\n1977-09-02,6.02\r\n1977-09-03,6.02\r\n1977-09-04,6.02\r\n1977-09-05,6.02\r\n1977-09-06,6.00\r\n1977-09-07,5.62\r\n1977-09-08,6.01\r\n1977-09-09,6.02\r\n1977-09-10,6.02\r\n1977-09-11,6.02\r\n1977-09-12,6.18\r\n1977-09-13,6.19\r\n1977-09-14,5.89\r\n1977-09-15,6.13\r\n1977-09-16,6.09\r\n1977-09-17,6.09\r\n1977-09-18,6.09\r\n1977-09-19,6.08\r\n1977-09-20,6.06\r\n1977-09-21,6.14\r\n1977-09-22,6.21\r\n1977-09-23,6.31\r\n1977-09-24,6.31\r\n1977-09-25,6.31\r\n1977-09-26,6.40\r\n1977-09-27,6.37\r\n1977-09-28,6.55\r\n1977-09-29,6.46\r\n1977-09-30,6.46\r\n1977-10-01,6.46\r\n1977-10-02,6.46\r\n1977-10-03,6.60\r\n1977-10-04,6.43\r\n1977-10-05,6.03\r\n1977-10-06,6.41\r\n1977-10-07,6.40\r\n1977-10-08,6.40\r\n1977-10-09,6.40\r\n1977-10-10,6.40\r\n1977-10-11,6.67\r\n1977-10-12,6.20\r\n1977-10-13,6.53\r\n1977-10-14,6.48\r\n1977-10-15,6.48\r\n1977-10-16,6.48\r\n1977-10-17,6.50\r\n1977-10-18,6.46\r\n1977-10-19,6.59\r\n1977-10-20,6.51\r\n1977-10-21,6.44\r\n1977-10-22,6.44\r\n1977-10-23,6.44\r\n1977-10-24,6.47\r\n1977-10-25,6.50\r\n1977-10-26,6.61\r\n1977-10-27,6.57\r\n1977-10-28,6.49\r\n1977-10-29,6.49\r\n1977-10-30,6.49\r\n1977-10-31,6.60\r\n1977-11-01,6.65\r\n1977-11-02,6.22\r\n1977-11-03,6.62\r\n1977-11-04,6.58\r\n1977-11-05,6.58\r\n1977-11-06,6.58\r\n1977-11-07,6.62\r\n1977-11-08,6.58\r\n1977-11-09,6.47\r\n1977-11-10,6.53\r\n1977-11-11,6.53\r\n1977-11-12,6.53\r\n1977-11-13,6.53\r\n1977-11-14,6.54\r\n1977-11-15,6.52\r\n1977-11-16,5.73\r\n1977-11-17,6.44\r\n1977-11-18,6.44\r\n1977-11-19,6.44\r\n1977-11-20,6.44\r\n1977-11-21,6.54\r\n1977-11-22,6.49\r\n1977-11-23,6.81\r\n1977-11-24,6.81\r\n1977-11-25,6.48\r\n1977-11-26,6.48\r\n1977-11-27,6.48\r\n1977-11-28,6.51\r\n1977-11-29,6.50\r\n1977-11-30,6.56\r\n1977-12-01,6.52\r\n1977-12-02,6.53\r\n1977-12-03,6.53\r\n1977-12-04,6.53\r\n1977-12-05,6.59\r\n1977-12-06,6.56\r\n1977-12-07,6.28\r\n1977-12-08,6.50\r\n1977-12-09,6.50\r\n1977-12-10,6.50\r\n1977-12-11,6.50\r\n1977-12-12,6.52\r\n1977-12-13,6.48\r\n1977-12-14,6.44\r\n1977-12-15,6.52\r\n1977-12-16,6.55\r\n1977-12-17,6.55\r\n1977-12-18,6.55\r\n1977-12-19,6.56\r\n1977-12-20,6.51\r\n1977-12-21,6.57\r\n1977-12-22,6.57\r\n1977-12-23,6.54\r\n1977-12-24,6.54\r\n1977-12-25,6.54\r\n1977-12-26,6.54\r\n1977-12-27,6.69\r\n1977-12-28,7.10\r\n1977-12-29,7.01\r\n1977-12-30,6.53\r\n1977-12-31,6.53\r\n1978-01-01,6.53\r\n1978-01-02,6.53\r\n1978-01-03,7.05\r\n1978-01-04,6.68\r\n1978-01-05,6.56\r\n1978-01-06,6.50\r\n1978-01-07,6.50\r\n1978-01-08,6.50\r\n1978-01-09,6.67\r\n1978-01-10,6.65\r\n1978-01-11,6.69\r\n1978-01-12,6.76\r\n1978-01-13,6.78\r\n1978-01-14,6.78\r\n1978-01-15,6.78\r\n1978-01-16,6.93\r\n1978-01-17,6.77\r\n1978-01-18,6.68\r\n1978-01-19,6.76\r\n1978-01-20,6.64\r\n1978-01-21,6.64\r\n1978-01-22,6.64\r\n1978-01-23,6.76\r\n1978-01-24,6.75\r\n1978-01-25,6.87\r\n1978-01-26,6.83\r\n1978-01-27,6.69\r\n1978-01-28,6.69\r\n1978-01-29,6.69\r\n1978-01-30,6.72\r\n1978-01-31,6.79\r\n1978-02-01,7.18\r\n1978-02-02,6.79\r\n1978-02-03,6.78\r\n1978-02-04,6.78\r\n1978-02-05,6.78\r\n1978-02-06,6.78\r\n1978-02-07,6.75\r\n1978-02-08,6.59\r\n1978-02-09,6.74\r\n1978-02-10,6.71\r\n1978-02-11,6.71\r\n1978-02-12,6.71\r\n1978-02-13,6.70\r\n1978-02-14,6.83\r\n1978-02-15,6.92\r\n1978-02-16,6.83\r\n1978-02-17,6.75\r\n1978-02-18,6.75\r\n1978-02-19,6.75\r\n1978-02-20,6.75\r\n1978-02-21,7.01\r\n1978-02-22,6.62\r\n1978-02-23,6.76\r\n1978-02-24,6.76\r\n1978-02-25,6.76\r\n1978-02-26,6.76\r\n1978-02-27,6.88\r\n1978-02-28,6.83\r\n1978-03-01,6.86\r\n1978-03-02,6.78\r\n1978-03-03,6.77\r\n1978-03-04,6.77\r\n1978-03-05,6.77\r\n1978-03-06,6.81\r\n1978-03-07,6.72\r\n1978-03-08,6.72\r\n1978-03-09,6.76\r\n1978-03-10,6.77\r\n1978-03-11,6.77\r\n1978-03-12,6.77\r\n1978-03-13,6.81\r\n1978-03-14,6.75\r\n1978-03-15,6.77\r\n1978-03-16,6.76\r\n1978-03-17,6.75\r\n1978-03-18,6.75\r\n1978-03-19,6.75\r\n1978-03-20,6.84\r\n1978-03-21,6.76\r\n1978-03-22,6.78\r\n1978-03-23,6.77\r\n1978-03-24,6.78\r\n1978-03-25,6.78\r\n1978-03-26,6.78\r\n1978-03-27,6.89\r\n1978-03-28,6.84\r\n1978-03-29,6.88\r\n1978-03-30,6.91\r\n1978-03-31,6.97\r\n1978-04-01,6.97\r\n1978-04-02,6.97\r\n1978-04-03,6.95\r\n1978-04-04,6.72\r\n1978-04-05,6.51\r\n1978-04-06,6.75\r\n1978-04-07,6.74\r\n1978-04-08,6.74\r\n1978-04-09,6.74\r\n1978-04-10,6.79\r\n1978-04-11,6.73\r\n1978-04-12,6.70\r\n1978-04-13,6.77\r\n1978-04-14,6.76\r\n1978-04-15,6.76\r\n1978-04-16,6.76\r\n1978-04-17,6.85\r\n1978-04-18,6.76\r\n1978-04-19,6.78\r\n1978-04-20,6.93\r\n1978-04-21,6.97\r\n1978-04-22,6.97\r\n1978-04-23,6.97\r\n1978-04-24,7.00\r\n1978-04-25,6.96\r\n1978-04-26,7.18\r\n1978-04-27,7.18\r\n1978-04-28,7.25\r\n1978-04-29,7.25\r\n1978-04-30,7.25\r\n1978-05-01,7.27\r\n1978-05-02,7.26\r\n1978-05-03,7.46\r\n1978-05-04,7.27\r\n1978-05-05,7.29\r\n1978-05-06,7.29\r\n1978-05-07,7.29\r\n1978-05-08,7.38\r\n1978-05-09,7.41\r\n1978-05-10,7.33\r\n1978-05-11,7.37\r\n1978-05-12,7.37\r\n1978-05-13,7.37\r\n1978-05-14,7.37\r\n1978-05-15,7.41\r\n1978-05-16,7.25\r\n1978-05-17,7.27\r\n1978-05-18,7.32\r\n1978-05-19,7.44\r\n1978-05-20,7.44\r\n1978-05-21,7.44\r\n1978-05-22,7.51\r\n1978-05-23,7.49\r\n1978-05-24,7.36\r\n1978-05-25,7.47\r\n1978-05-26,7.25\r\n1978-05-27,7.25\r\n1978-05-28,7.25\r\n1978-05-29,7.44\r\n1978-05-30,7.41\r\n1978-05-31,7.43\r\n1978-06-01,7.48\r\n1978-06-02,7.48\r\n1978-06-03,7.48\r\n1978-06-04,7.48\r\n1978-06-05,7.52\r\n1978-06-06,7.47\r\n1978-06-07,7.37\r\n1978-06-08,7.50\r\n1978-06-09,7.49\r\n1978-06-10,7.49\r\n1978-06-11,7.49\r\n1978-06-12,7.50\r\n1978-06-13,7.43\r\n1978-06-14,7.51\r\n1978-06-15,7.51\r\n1978-06-16,7.49\r\n1978-06-17,7.49\r\n1978-06-18,7.49\r\n1978-06-19,7.50\r\n1978-06-20,7.51\r\n1978-06-21,7.75\r\n1978-06-22,7.73\r\n1978-06-23,7.69\r\n1978-06-24,7.69\r\n1978-06-25,7.69\r\n1978-06-26,7.78\r\n1978-06-27,7.78\r\n1978-06-28,8.07\r\n1978-06-29,8.03\r\n1978-06-30,8.01\r\n1978-07-01,8.01\r\n1978-07-02,8.01\r\n1978-07-03,7.64\r\n1978-07-04,7.64\r\n1978-07-05,6.70\r\n1978-07-06,7.72\r\n1978-07-07,7.70\r\n1978-07-08,7.70\r\n1978-07-09,7.70\r\n1978-07-10,7.78\r\n1978-07-11,7.74\r\n1978-07-12,7.71\r\n1978-07-13,7.75\r\n1978-07-14,7.77\r\n1978-07-15,7.77\r\n1978-07-16,7.77\r\n1978-07-17,7.91\r\n1978-07-18,7.99\r\n1978-07-19,8.63\r\n1978-07-20,7.96\r\n1978-07-21,7.95\r\n1978-07-22,7.95\r\n1978-07-23,7.95\r\n1978-07-24,7.89\r\n1978-07-25,7.81\r\n1978-07-26,7.65\r\n1978-07-27,7.84\r\n1978-07-28,7.83\r\n1978-07-29,7.83\r\n1978-07-30,7.83\r\n1978-07-31,8.00\r\n1978-08-01,7.97\r\n1978-08-02,7.90\r\n1978-08-03,7.85\r\n1978-08-04,7.81\r\n1978-08-05,7.81\r\n1978-08-06,7.81\r\n1978-08-07,7.84\r\n1978-08-08,7.82\r\n1978-08-09,7.90\r\n1978-08-10,7.83\r\n1978-08-11,7.84\r\n1978-08-12,7.84\r\n1978-08-13,7.84\r\n1978-08-14,7.92\r\n1978-08-15,7.90\r\n1978-08-16,7.93\r\n1978-08-17,7.99\r\n1978-08-18,8.04\r\n1978-08-19,8.04\r\n1978-08-20,8.04\r\n1978-08-21,8.24\r\n1978-08-22,8.24\r\n1978-08-23,8.38\r\n1978-08-24,8.20\r\n1978-08-25,8.20\r\n1978-08-26,8.20\r\n1978-08-27,8.20\r\n1978-08-28,8.31\r\n1978-08-29,8.37\r\n1978-08-30,8.45\r\n1978-08-31,8.40\r\n1978-09-01,8.33\r\n1978-09-02,8.33\r\n1978-09-03,8.33\r\n1978-09-04,8.33\r\n1978-09-05,8.37\r\n1978-09-06,8.00\r\n1978-09-07,8.27\r\n1978-09-08,8.31\r\n1978-09-09,8.31\r\n1978-09-10,8.31\r\n1978-09-11,8.44\r\n1978-09-12,8.38\r\n1978-09-13,8.31\r\n1978-09-14,8.37\r\n1978-09-15,8.35\r\n1978-09-16,8.35\r\n1978-09-17,8.35\r\n1978-09-18,8.39\r\n1978-09-19,8.34\r\n1978-09-20,8.38\r\n1978-09-21,8.49\r\n1978-09-22,8.50\r\n1978-09-23,8.50\r\n1978-09-24,8.50\r\n1978-09-25,8.73\r\n1978-09-26,8.92\r\n1978-09-27,8.68\r\n1978-09-28,8.81\r\n1978-09-29,8.90\r\n1978-09-30,8.90\r\n1978-10-01,8.90\r\n1978-10-02,8.96\r\n1978-10-03,8.83\r\n1978-10-04,8.68\r\n1978-10-05,8.75\r\n1978-10-06,8.71\r\n1978-10-07,8.71\r\n1978-10-08,8.71\r\n1978-10-09,8.71\r\n1978-10-10,9.06\r\n1978-10-11,8.30\r\n1978-10-12,8.81\r\n1978-10-13,8.73\r\n1978-10-14,8.73\r\n1978-10-15,8.73\r\n1978-10-16,8.84\r\n1978-10-17,8.76\r\n1978-10-18,8.86\r\n1978-10-19,8.95\r\n1978-10-20,9.07\r\n1978-10-21,9.07\r\n1978-10-22,9.07\r\n1978-10-23,9.30\r\n1978-10-24,9.65\r\n1978-10-25,9.55\r\n1978-10-26,9.15\r\n1978-10-27,9.15\r\n1978-10-28,9.15\r\n1978-10-29,9.15\r\n1978-10-30,9.23\r\n1978-10-31,9.35\r\n1978-11-01,9.87\r\n1978-11-02,9.89\r\n1978-11-03,9.94\r\n1978-11-04,9.94\r\n1978-11-05,9.94\r\n1978-11-06,9.88\r\n1978-11-07,9.34\r\n1978-11-08,9.43\r\n1978-11-09,9.75\r\n1978-11-10,9.67\r\n1978-11-11,9.67\r\n1978-11-12,9.67\r\n1978-11-13,9.80\r\n1978-11-14,9.76\r\n1978-11-15,9.46\r\n1978-11-16,9.72\r\n1978-11-17,9.64\r\n1978-11-18,9.64\r\n1978-11-19,9.64\r\n1978-11-20,9.70\r\n1978-11-21,9.64\r\n1978-11-22,9.78\r\n1978-11-23,9.78\r\n1978-11-24,9.77\r\n1978-11-25,9.77\r\n1978-11-26,9.77\r\n1978-11-27,9.91\r\n1978-11-28,9.94\r\n1978-11-29,10.00\r\n1978-11-30,9.94\r\n1978-12-01,9.95\r\n1978-12-02,9.95\r\n1978-12-03,9.95\r\n1978-12-04,9.88\r\n1978-12-05,9.78\r\n1978-12-06,9.66\r\n1978-12-07,9.80\r\n1978-12-08,9.82\r\n1978-12-09,9.82\r\n1978-12-10,9.82\r\n1978-12-11,9.94\r\n1978-12-12,9.94\r\n1978-12-13,9.39\r\n1978-12-14,9.84\r\n1978-12-15,9.83\r\n1978-12-16,9.83\r\n1978-12-17,9.83\r\n1978-12-18,9.97\r\n1978-12-19,9.94\r\n1978-12-20,8.98\r\n1978-12-21,9.99\r\n1978-12-22,10.01\r\n1978-12-23,10.01\r\n1978-12-24,10.01\r\n1978-12-25,10.01\r\n1978-12-26,10.89\r\n1978-12-27,10.82\r\n1978-12-28,10.71\r\n1978-12-29,10.84\r\n1978-12-30,10.84\r\n1978-12-31,10.84\r\n1979-01-01,10.84\r\n1979-01-02,11.72\r\n1979-01-03,8.34\r\n1979-01-04,10.03\r\n1979-01-05,9.94\r\n1979-01-06,9.94\r\n1979-01-07,9.94\r\n1979-01-08,10.01\r\n1979-01-09,10.01\r\n1979-01-10,9.91\r\n1979-01-11,10.00\r\n1979-01-12,10.01\r\n1979-01-13,10.01\r\n1979-01-14,10.01\r\n1979-01-15,10.17\r\n1979-01-16,10.10\r\n1979-01-17,10.05\r\n1979-01-18,10.00\r\n1979-01-19,10.03\r\n1979-01-20,10.03\r\n1979-01-21,10.03\r\n1979-01-22,10.15\r\n1979-01-23,10.06\r\n1979-01-24,10.02\r\n1979-01-25,10.02\r\n1979-01-26,10.05\r\n1979-01-27,10.05\r\n1979-01-28,10.05\r\n1979-01-29,10.10\r\n1979-01-30,10.01\r\n1979-01-31,10.57\r\n1979-02-01,10.05\r\n1979-02-02,10.11\r\n1979-02-03,10.11\r\n1979-02-04,10.11\r\n1979-02-05,10.26\r\n1979-02-06,10.27\r\n1979-02-07,9.48\r\n1979-02-08,10.05\r\n1979-02-09,10.00\r\n1979-02-10,10.00\r\n1979-02-11,10.00\r\n1979-02-12,9.97\r\n1979-02-13,10.55\r\n1979-02-14,10.49\r\n1979-02-15,10.07\r\n1979-02-16,9.98\r\n1979-02-17,9.98\r\n1979-02-18,9.98\r\n1979-02-19,9.98\r\n1979-02-20,10.05\r\n1979-02-21,9.76\r\n1979-02-22,9.99\r\n1979-02-23,10.02\r\n1979-02-24,10.02\r\n1979-02-25,10.02\r\n1979-02-26,10.09\r\n1979-02-27,10.01\r\n1979-02-28,10.24\r\n1979-03-01,10.05\r\n1979-03-02,10.11\r\n1979-03-03,10.11\r\n1979-03-04,10.11\r\n1979-03-05,10.15\r\n1979-03-06,9.95\r\n1979-03-07,10.04\r\n1979-03-08,10.02\r\n1979-03-09,10.17\r\n1979-03-10,10.17\r\n1979-03-11,10.17\r\n1979-03-12,10.30\r\n1979-03-13,10.22\r\n1979-03-14,10.39\r\n1979-03-15,10.14\r\n1979-03-16,10.19\r\n1979-03-17,10.19\r\n1979-03-18,10.19\r\n1979-03-19,10.11\r\n1979-03-20,9.93\r\n1979-03-21,9.91\r\n1979-03-22,10.01\r\n1979-03-23,10.01\r\n1979-03-24,10.01\r\n1979-03-25,10.01\r\n1979-03-26,10.08\r\n1979-03-27,10.03\r\n1979-03-28,9.83\r\n1979-03-29,10.01\r\n1979-03-30,10.07\r\n1979-03-31,10.07\r\n1979-04-01,10.07\r\n1979-04-02,10.03\r\n1979-04-03,9.75\r\n1979-04-04,9.62\r\n1979-04-05,10.00\r\n1979-04-06,10.03\r\n1979-04-07,10.03\r\n1979-04-08,10.03\r\n1979-04-09,10.02\r\n1979-04-10,10.03\r\n1979-04-11,9.38\r\n1979-04-12,10.02\r\n1979-04-13,9.83\r\n1979-04-14,9.83\r\n1979-04-15,9.83\r\n1979-04-16,10.03\r\n1979-04-17,9.98\r\n1979-04-18,10.18\r\n1979-04-19,10.02\r\n1979-04-20,10.07\r\n1979-04-21,10.07\r\n1979-04-22,10.07\r\n1979-04-23,10.22\r\n1979-04-24,10.25\r\n1979-04-25,9.96\r\n1979-04-26,10.05\r\n1979-04-27,10.16\r\n1979-04-28,10.16\r\n1979-04-29,10.16\r\n1979-04-30,10.43\r\n1979-05-01,10.38\r\n1979-05-02,10.20\r\n1979-05-03,10.24\r\n1979-05-04,10.25\r\n1979-05-05,10.25\r\n1979-05-06,10.25\r\n1979-05-07,10.29\r\n1979-05-08,10.21\r\n1979-05-09,10.25\r\n1979-05-10,10.23\r\n1979-05-11,10.26\r\n1979-05-12,10.26\r\n1979-05-13,10.26\r\n1979-05-14,10.33\r\n1979-05-15,10.28\r\n1979-05-16,10.13\r\n1979-05-17,10.24\r\n1979-05-18,10.25\r\n1979-05-19,10.25\r\n1979-05-20,10.25\r\n1979-05-21,10.34\r\n1979-05-22,10.18\r\n1979-05-23,9.66\r\n1979-05-24,10.18\r\n1979-05-25,10.05\r\n1979-05-26,10.05\r\n1979-05-27,10.05\r\n1979-05-28,10.49\r\n1979-05-29,10.48\r\n1979-05-30,10.65\r\n1979-05-31,10.31\r\n1979-06-01,10.24\r\n1979-06-02,10.24\r\n1979-06-03,10.24\r\n1979-06-04,10.23\r\n1979-06-05,10.19\r\n1979-06-06,10.17\r\n1979-06-07,10.26\r\n1979-06-08,10.26\r\n1979-06-09,10.26\r\n1979-06-10,10.26\r\n1979-06-11,10.31\r\n1979-06-12,10.24\r\n1979-06-13,10.01\r\n1979-06-14,10.29\r\n1979-06-15,10.31\r\n1979-06-16,10.31\r\n1979-06-17,10.31\r\n1979-06-18,10.40\r\n1979-06-19,10.24\r\n1979-06-20,10.13\r\n1979-06-21,10.22\r\n1979-06-22,10.26\r\n1979-06-23,10.26\r\n1979-06-24,10.26\r\n1979-06-25,10.43\r\n1979-06-26,10.30\r\n1979-06-27,10.50\r\n1979-06-28,10.54\r\n1979-06-29,10.54\r\n1979-06-30,10.54\r\n1979-07-01,10.54\r\n1979-07-02,10.66\r\n1979-07-03,10.05\r\n1979-07-04,10.05\r\n1979-07-05,10.33\r\n1979-07-06,10.29\r\n1979-07-07,10.29\r\n1979-07-08,10.29\r\n1979-07-09,10.31\r\n1979-07-10,10.24\r\n1979-07-11,10.24\r\n1979-07-12,10.31\r\n1979-07-13,10.32\r\n1979-07-14,10.32\r\n1979-07-15,10.32\r\n1979-07-16,10.44\r\n1979-07-17,10.36\r\n1979-07-18,10.37\r\n1979-07-19,10.41\r\n1979-07-20,10.61\r\n1979-07-21,10.61\r\n1979-07-22,10.61\r\n1979-07-23,10.97\r\n1979-07-24,10.76\r\n1979-07-25,10.45\r\n1979-07-26,10.60\r\n1979-07-27,10.70\r\n1979-07-28,10.70\r\n1979-07-29,10.70\r\n1979-07-30,10.96\r\n1979-07-31,10.81\r\n1979-08-01,10.75\r\n1979-08-02,10.70\r\n1979-08-03,10.69\r\n1979-08-04,10.69\r\n1979-08-05,10.69\r\n1979-08-06,10.72\r\n1979-08-07,10.57\r\n1979-08-08,10.61\r\n1979-08-09,10.68\r\n1979-08-10,10.74\r\n1979-08-11,10.74\r\n1979-08-12,10.74\r\n1979-08-13,10.93\r\n1979-08-14,10.80\r\n1979-08-15,10.97\r\n1979-08-16,11.08\r\n1979-08-17,11.05\r\n1979-08-18,11.05\r\n1979-08-19,11.05\r\n1979-08-20,11.12\r\n1979-08-21,10.99\r\n1979-08-22,10.91\r\n1979-08-23,11.01\r\n1979-08-24,11.19\r\n1979-08-25,11.19\r\n1979-08-26,11.19\r\n1979-08-27,11.47\r\n1979-08-28,11.43\r\n1979-08-29,10.66\r\n1979-08-30,11.32\r\n1979-08-31,11.29\r\n1979-09-01,11.29\r\n1979-09-02,11.29\r\n1979-09-03,11.29\r\n1979-09-04,11.31\r\n1979-09-05,9.38\r\n1979-09-06,11.31\r\n1979-09-07,11.27\r\n1979-09-08,11.27\r\n1979-09-09,11.27\r\n1979-09-10,11.33\r\n1979-09-11,11.31\r\n1979-09-12,11.35\r\n1979-09-13,11.37\r\n1979-09-14,11.36\r\n1979-09-15,11.36\r\n1979-09-16,11.36\r\n1979-09-17,11.51\r\n1979-09-18,11.53\r\n1979-09-19,11.11\r\n1979-09-20,11.54\r\n1979-09-21,11.60\r\n1979-09-22,11.60\r\n1979-09-23,11.60\r\n1979-09-24,11.74\r\n1979-09-25,11.59\r\n1979-09-26,11.63\r\n1979-09-27,11.80\r\n1979-09-28,12.16\r\n1979-09-29,12.16\r\n1979-09-30,12.16\r\n1979-10-01,12.06\r\n1979-10-02,11.80\r\n1979-10-03,11.22\r\n1979-10-04,11.67\r\n1979-10-05,11.61\r\n1979-10-06,11.61\r\n1979-10-07,11.61\r\n1979-10-08,11.61\r\n1979-10-09,13.86\r\n1979-10-10,12.04\r\n1979-10-11,13.20\r\n1979-10-12,12.97\r\n1979-10-13,12.97\r\n1979-10-14,12.97\r\n1979-10-15,13.65\r\n1979-10-16,13.31\r\n1979-10-17,13.44\r\n1979-10-18,13.64\r\n1979-10-19,15.07\r\n1979-10-20,15.07\r\n1979-10-21,15.07\r\n1979-10-22,17.60\r\n1979-10-23,15.65\r\n1979-10-24,13.88\r\n1979-10-25,15.22\r\n1979-10-26,16.01\r\n1979-10-27,16.01\r\n1979-10-28,16.01\r\n1979-10-29,16.16\r\n1979-10-30,15.02\r\n1979-10-31,14.82\r\n1979-11-01,15.26\r\n1979-11-02,14.66\r\n1979-11-03,14.66\r\n1979-11-04,14.66\r\n1979-11-05,13.56\r\n1979-11-06,12.71\r\n1979-11-07,10.90\r\n1979-11-08,13.52\r\n1979-11-09,13.42\r\n1979-11-10,13.42\r\n1979-11-11,13.42\r\n1979-11-12,13.42\r\n1979-11-13,13.54\r\n1979-11-14,12.36\r\n1979-11-15,13.43\r\n1979-11-16,13.23\r\n1979-11-17,13.23\r\n1979-11-18,13.23\r\n1979-11-19,13.21\r\n1979-11-20,12.98\r\n1979-11-21,12.40\r\n1979-11-22,12.40\r\n1979-11-23,12.31\r\n1979-11-24,12.31\r\n1979-11-25,12.31\r\n1979-11-26,12.35\r\n1979-11-27,12.53\r\n1979-11-28,12.98\r\n1979-11-29,13.04\r\n1979-11-30,13.96\r\n1979-12-01,13.96\r\n1979-12-02,13.96\r\n1979-12-03,14.48\r\n1979-12-04,13.78\r\n1979-12-05,13.18\r\n1979-12-06,13.34\r\n1979-12-07,13.71\r\n1979-12-08,13.71\r\n1979-12-09,13.71\r\n1979-12-10,14.17\r\n1979-12-11,14.11\r\n1979-12-12,13.77\r\n1979-12-13,14.64\r\n1979-12-14,13.96\r\n1979-12-15,13.96\r\n1979-12-16,13.96\r\n1979-12-17,14.26\r\n1979-12-18,13.59\r\n1979-12-19,12.96\r\n1979-12-20,13.69\r\n1979-12-21,14.04\r\n1979-12-22,14.04\r\n1979-12-23,14.04\r\n1979-12-24,13.16\r\n1979-12-25,13.16\r\n1979-12-26,12.27\r\n1979-12-27,13.87\r\n1979-12-28,13.63\r\n1979-12-29,13.63\r\n1979-12-30,13.63\r\n1979-12-31,14.77\r\n1980-01-01,14.77\r\n1980-01-02,14.00\r\n1980-01-03,13.89\r\n1980-01-04,14.00\r\n1980-01-05,14.00\r\n1980-01-06,14.00\r\n1980-01-07,14.00\r\n1980-01-08,13.86\r\n1980-01-09,13.86\r\n1980-01-10,14.07\r\n1980-01-11,14.13\r\n1980-01-12,14.13\r\n1980-01-13,14.13\r\n1980-01-14,14.07\r\n1980-01-15,13.55\r\n1980-01-16,13.28\r\n1980-01-17,13.57\r\n1980-01-18,13.74\r\n1980-01-19,13.74\r\n1980-01-20,13.74\r\n1980-01-21,14.06\r\n1980-01-22,13.97\r\n1980-01-23,13.59\r\n1980-01-24,13.89\r\n1980-01-25,14.00\r\n1980-01-26,14.00\r\n1980-01-27,14.00\r\n1980-01-28,13.86\r\n1980-01-29,13.46\r\n1980-01-30,11.56\r\n1980-01-31,13.40\r\n1980-02-01,13.44\r\n1980-02-02,13.44\r\n1980-02-03,13.44\r\n1980-02-04,13.50\r\n1980-02-05,12.63\r\n1980-02-06,9.76\r\n1980-02-07,12.93\r\n1980-02-08,13.33\r\n1980-02-09,13.33\r\n1980-02-10,13.33\r\n1980-02-11,13.97\r\n1980-02-12,14.02\r\n1980-02-13,14.58\r\n1980-02-14,14.30\r\n1980-02-15,14.67\r\n1980-02-16,14.67\r\n1980-02-17,14.67\r\n1980-02-18,14.67\r\n1980-02-19,16.69\r\n1980-02-20,14.44\r\n1980-02-21,15.01\r\n1980-02-22,14.46\r\n1980-02-23,14.46\r\n1980-02-24,14.46\r\n1980-02-25,14.03\r\n1980-02-26,14.16\r\n1980-02-27,15.76\r\n1980-02-28,15.18\r\n1980-02-29,16.33\r\n1980-03-01,16.33\r\n1980-03-02,16.33\r\n1980-03-03,17.14\r\n1980-03-04,16.15\r\n1980-03-05,15.75\r\n1980-03-06,17.05\r\n1980-03-07,16.89\r\n1980-03-08,16.89\r\n1980-03-09,16.89\r\n1980-03-10,16.28\r\n1980-03-11,15.65\r\n1980-03-12,15.47\r\n1980-03-13,16.71\r\n1980-03-14,16.29\r\n1980-03-15,16.29\r\n1980-03-16,16.29\r\n1980-03-17,16.75\r\n1980-03-18,15.73\r\n1980-03-19,15.59\r\n1980-03-20,16.83\r\n1980-03-21,17.68\r\n1980-03-22,17.68\r\n1980-03-23,17.68\r\n1980-03-24,17.92\r\n1980-03-25,17.72\r\n1980-03-26,18.96\r\n1980-03-27,19.04\r\n1980-03-28,19.71\r\n1980-03-29,19.71\r\n1980-03-30,19.71\r\n1980-03-31,19.85\r\n1980-04-01,19.79\r\n1980-04-02,17.90\r\n1980-04-03,19.96\r\n1980-04-04,19.85\r\n1980-04-05,19.85\r\n1980-04-06,19.85\r\n1980-04-07,19.78\r\n1980-04-08,18.37\r\n1980-04-09,15.65\r\n1980-04-10,19.53\r\n1980-04-11,18.73\r\n1980-04-12,18.73\r\n1980-04-13,18.73\r\n1980-04-14,18.34\r\n1980-04-15,18.35\r\n1980-04-16,16.06\r\n1980-04-17,18.33\r\n1980-04-18,18.31\r\n1980-04-19,18.31\r\n1980-04-20,18.31\r\n1980-04-21,17.65\r\n1980-04-22,16.65\r\n1980-04-23,15.38\r\n1980-04-24,16.18\r\n1980-04-25,15.45\r\n1980-04-26,15.45\r\n1980-04-27,15.45\r\n1980-04-28,14.67\r\n1980-04-29,13.98\r\n1980-04-30,14.64\r\n1980-05-01,14.07\r\n1980-05-02,14.30\r\n1980-05-03,14.30\r\n1980-05-04,14.30\r\n1980-05-05,12.28\r\n1980-05-06,11.57\r\n1980-05-07,9.89\r\n1980-05-08,10.57\r\n1980-05-09,10.80\r\n1980-05-10,10.80\r\n1980-05-11,10.80\r\n1980-05-12,10.79\r\n1980-05-13,10.92\r\n1980-05-14,11.30\r\n1980-05-15,11.15\r\n1980-05-16,11.42\r\n1980-05-17,11.42\r\n1980-05-18,11.42\r\n1980-05-19,10.92\r\n1980-05-20,10.20\r\n1980-05-21,8.44\r\n1980-05-22,9.51\r\n1980-05-23,8.73\r\n1980-05-24,8.73\r\n1980-05-25,8.73\r\n1980-05-26,8.73\r\n1980-05-27,9.55\r\n1980-05-28,12.23\r\n1980-05-29,10.49\r\n1980-05-30,11.06\r\n1980-05-31,11.06\r\n1980-06-01,11.06\r\n1980-06-02,11.26\r\n1980-06-03,11.05\r\n1980-06-04,9.22\r\n1980-06-05,10.07\r\n1980-06-06,10.39\r\n1980-06-07,10.39\r\n1980-06-08,10.39\r\n1980-06-09,9.60\r\n1980-06-10,8.44\r\n1980-06-11,8.48\r\n1980-06-12,8.64\r\n1980-06-13,8.60\r\n1980-06-14,8.60\r\n1980-06-15,8.60\r\n1980-06-16,9.68\r\n1980-06-17,9.53\r\n1980-06-18,9.28\r\n1980-06-19,9.48\r\n1980-06-20,9.43\r\n1980-06-21,9.43\r\n1980-06-22,9.43\r\n1980-06-23,9.29\r\n1980-06-24,8.62\r\n1980-06-25,7.90\r\n1980-06-26,9.05\r\n1980-06-27,9.27\r\n1980-06-28,9.27\r\n1980-06-29,9.27\r\n1980-06-30,10.44\r\n1980-07-01,9.47\r\n1980-07-02,9.10\r\n1980-07-03,9.61\r\n1980-07-04,9.61\r\n1980-07-05,9.61\r\n1980-07-06,9.61\r\n1980-07-07,9.35\r\n1980-07-08,8.75\r\n1980-07-09,8.30\r\n1980-07-10,8.81\r\n1980-07-11,9.12\r\n1980-07-12,9.12\r\n1980-07-13,9.12\r\n1980-07-14,9.30\r\n1980-07-15,9.09\r\n1980-07-16,8.33\r\n1980-07-17,8.64\r\n1980-07-18,8.74\r\n1980-07-19,8.74\r\n1980-07-20,8.74\r\n1980-07-21,8.63\r\n1980-07-22,8.39\r\n1980-07-23,8.86\r\n1980-07-24,8.57\r\n1980-07-25,8.76\r\n1980-07-26,8.76\r\n1980-07-27,8.76\r\n1980-07-28,9.10\r\n1980-07-29,9.31\r\n1980-07-30,9.57\r\n1980-07-31,9.93\r\n1980-08-01,10.48\r\n1980-08-02,10.48\r\n1980-08-03,10.48\r\n1980-08-04,10.04\r\n1980-08-05,8.16\r\n1980-08-06,7.65\r\n1980-08-07,8.86\r\n1980-08-08,9.05\r\n1980-08-09,9.05\r\n1980-08-10,9.05\r\n1980-08-11,9.19\r\n1980-08-12,8.67\r\n1980-08-13,8.10\r\n1980-08-14,9.02\r\n1980-08-15,9.05\r\n1980-08-16,9.05\r\n1980-08-17,9.05\r\n1980-08-18,9.60\r\n1980-08-19,9.79\r\n1980-08-20,9.92\r\n1980-08-21,9.92\r\n1980-08-22,10.05\r\n1980-08-23,10.05\r\n1980-08-24,10.05\r\n1980-08-25,9.97\r\n1980-08-26,9.99\r\n1980-08-27,10.20\r\n1980-08-28,10.58\r\n1980-08-29,10.74\r\n1980-08-30,10.74\r\n1980-08-31,10.74\r\n1980-09-01,10.74\r\n1980-09-02,10.30\r\n1980-09-03,9.48\r\n1980-09-04,10.05\r\n1980-09-05,10.28\r\n1980-09-06,10.28\r\n1980-09-07,10.28\r\n1980-09-08,10.33\r\n1980-09-09,10.22\r\n1980-09-10,10.09\r\n1980-09-11,10.47\r\n1980-09-12,10.79\r\n1980-09-13,10.79\r\n1980-09-14,10.79\r\n1980-09-15,10.96\r\n1980-09-16,10.81\r\n1980-09-17,9.88\r\n1980-09-18,10.86\r\n1980-09-19,10.75\r\n1980-09-20,10.75\r\n1980-09-21,10.75\r\n1980-09-22,10.94\r\n1980-09-23,11.01\r\n1980-09-24,10.92\r\n1980-09-25,11.26\r\n1980-09-26,11.95\r\n1980-09-27,11.95\r\n1980-09-28,11.95\r\n1980-09-29,13.34\r\n1980-09-30,13.19\r\n1980-10-01,13.05\r\n1980-10-02,13.45\r\n1980-10-03,13.31\r\n1980-10-04,13.31\r\n1980-10-05,13.31\r\n1980-10-06,11.90\r\n1980-10-07,11.70\r\n1980-10-08,11.14\r\n1980-10-09,12.45\r\n1980-10-10,12.79\r\n1980-10-11,12.79\r\n1980-10-12,12.79\r\n1980-10-13,12.79\r\n1980-10-14,13.17\r\n1980-10-15,11.69\r\n1980-10-16,12.85\r\n1980-10-17,12.31\r\n1980-10-18,12.31\r\n1980-10-19,12.31\r\n1980-10-20,12.37\r\n1980-10-21,12.61\r\n1980-10-22,13.11\r\n1980-10-23,13.16\r\n1980-10-24,13.19\r\n1980-10-25,13.19\r\n1980-10-26,13.19\r\n1980-10-27,13.27\r\n1980-10-28,13.02\r\n1980-10-29,13.15\r\n1980-10-30,13.77\r\n1980-10-31,13.77\r\n1980-11-01,13.77\r\n1980-11-02,13.77\r\n1980-11-03,14.06\r\n1980-11-04,14.02\r\n1980-11-05,14.76\r\n1980-11-06,15.35\r\n1980-11-07,15.01\r\n1980-11-08,15.01\r\n1980-11-09,15.01\r\n1980-11-10,14.57\r\n1980-11-11,14.57\r\n1980-11-12,13.01\r\n1980-11-13,14.00\r\n1980-11-14,14.23\r\n1980-11-15,14.23\r\n1980-11-16,14.23\r\n1980-11-17,16.22\r\n1980-11-18,17.19\r\n1980-11-19,16.41\r\n1980-11-20,17.01\r\n1980-11-21,17.63\r\n1980-11-22,17.63\r\n1980-11-23,17.63\r\n1980-11-24,17.11\r\n1980-11-25,16.69\r\n1980-11-26,18.33\r\n1980-11-27,18.33\r\n1980-11-28,18.56\r\n1980-11-29,18.56\r\n1980-11-30,18.56\r\n1980-12-01,17.71\r\n1980-12-02,16.75\r\n1980-12-03,15.58\r\n1980-12-04,18.11\r\n1980-12-05,19.32\r\n1980-12-06,19.32\r\n1980-12-07,19.32\r\n1980-12-08,18.80\r\n1980-12-09,18.37\r\n1980-12-10,18.52\r\n1980-12-11,20.14\r\n1980-12-12,19.44\r\n1980-12-13,19.44\r\n1980-12-14,19.44\r\n1980-12-15,19.62\r\n1980-12-16,20.45\r\n1980-12-17,20.27\r\n1980-12-18,20.74\r\n1980-12-19,20.07\r\n1980-12-20,20.07\r\n1980-12-21,20.07\r\n1980-12-22,19.75\r\n1980-12-23,18.84\r\n1980-12-24,16.52\r\n1980-12-25,16.52\r\n1980-12-26,17.26\r\n1980-12-27,17.26\r\n1980-12-28,17.26\r\n1980-12-29,17.93\r\n1980-12-30,20.89\r\n1980-12-31,22.00\r\n1981-01-01,22.00\r\n1981-01-02,20.05\r\n1981-01-03,20.05\r\n1981-01-04,20.05\r\n1981-01-05,19.39\r\n1981-01-06,19.97\r\n1981-01-07,18.90\r\n1981-01-08,19.49\r\n1981-01-09,19.58\r\n1981-01-10,19.58\r\n1981-01-11,19.58\r\n1981-01-12,19.87\r\n1981-01-13,19.97\r\n1981-01-14,19.38\r\n1981-01-15,19.52\r\n1981-01-16,19.82\r\n1981-01-17,19.82\r\n1981-01-18,19.82\r\n1981-01-19,19.88\r\n1981-01-20,18.94\r\n1981-01-21,17.63\r\n1981-01-22,19.05\r\n1981-01-23,18.70\r\n1981-01-24,18.70\r\n1981-01-25,18.70\r\n1981-01-26,18.69\r\n1981-01-27,17.98\r\n1981-01-28,15.03\r\n1981-01-29,16.98\r\n1981-01-30,17.25\r\n1981-01-31,17.25\r\n1981-02-01,17.25\r\n1981-02-02,17.54\r\n1981-02-03,17.76\r\n1981-02-04,16.33\r\n1981-02-05,16.80\r\n1981-02-06,16.94\r\n1981-02-07,16.94\r\n1981-02-08,16.94\r\n1981-02-09,16.89\r\n1981-02-10,16.72\r\n1981-02-11,14.33\r\n1981-02-12,14.71\r\n1981-02-13,16.20\r\n1981-02-14,16.20\r\n1981-02-15,16.20\r\n1981-02-16,16.20\r\n1981-02-17,16.44\r\n1981-02-18,14.73\r\n1981-02-19,15.63\r\n1981-02-20,14.62\r\n1981-02-21,14.62\r\n1981-02-22,14.62\r\n1981-02-23,14.83\r\n1981-02-24,15.03\r\n1981-02-25,15.39\r\n1981-02-26,15.24\r\n1981-02-27,15.53\r\n1981-02-28,15.53\r\n1981-03-01,15.53\r\n1981-03-02,15.96\r\n1981-03-03,16.51\r\n1981-03-04,15.84\r\n1981-03-05,16.11\r\n1981-03-06,15.94\r\n1981-03-07,15.94\r\n1981-03-08,15.94\r\n1981-03-09,15.67\r\n1981-03-10,15.15\r\n1981-03-11,13.96\r\n1981-03-12,14.61\r\n1981-03-13,14.28\r\n1981-03-14,14.28\r\n1981-03-15,14.28\r\n1981-03-16,14.18\r\n1981-03-17,14.27\r\n1981-03-18,13.00\r\n1981-03-19,13.05\r\n1981-03-20,13.16\r\n1981-03-21,13.16\r\n1981-03-22,13.16\r\n1981-03-23,13.47\r\n1981-03-24,13.69\r\n1981-03-25,14.70\r\n1981-03-26,14.82\r\n1981-03-27,15.10\r\n1981-03-28,15.10\r\n1981-03-29,15.10\r\n1981-03-30,15.23\r\n1981-03-31,14.63\r\n1981-04-01,14.51\r\n1981-04-02,14.86\r\n1981-04-03,15.77\r\n1981-04-04,15.77\r\n1981-04-05,15.77\r\n1981-04-06,16.03\r\n1981-04-07,15.60\r\n1981-04-08,14.20\r\n1981-04-09,15.54\r\n1981-04-10,15.56\r\n1981-04-11,15.56\r\n1981-04-12,15.56\r\n1981-04-13,15.60\r\n1981-04-14,14.94\r\n1981-04-15,14.56\r\n1981-04-16,15.67\r\n1981-04-17,15.17\r\n1981-04-18,15.17\r\n1981-04-19,15.17\r\n1981-04-20,15.60\r\n1981-04-21,15.86\r\n1981-04-22,16.24\r\n1981-04-23,15.76\r\n1981-04-24,15.32\r\n1981-04-25,15.32\r\n1981-04-26,15.32\r\n1981-04-27,16.08\r\n1981-04-28,17.12\r\n1981-04-29,19.02\r\n1981-04-30,18.92\r\n1981-05-01,19.79\r\n1981-05-02,19.79\r\n1981-05-03,19.79\r\n1981-05-04,18.67\r\n1981-05-05,18.39\r\n1981-05-06,17.02\r\n1981-05-07,18.41\r\n1981-05-08,18.14\r\n1981-05-09,18.14\r\n1981-05-10,18.14\r\n1981-05-11,18.28\r\n1981-05-12,18.08\r\n1981-05-13,18.26\r\n1981-05-14,18.83\r\n1981-05-15,18.49\r\n1981-05-16,18.49\r\n1981-05-17,18.49\r\n1981-05-18,18.52\r\n1981-05-19,18.75\r\n1981-05-20,20.64\r\n1981-05-21,20.27\r\n1981-05-22,19.29\r\n1981-05-23,19.29\r\n1981-05-24,19.29\r\n1981-05-25,19.29\r\n1981-05-26,17.97\r\n1981-05-27,15.54\r\n1981-05-28,17.32\r\n1981-05-29,17.56\r\n1981-05-30,17.56\r\n1981-05-31,17.56\r\n1981-06-01,19.01\r\n1981-06-02,19.45\r\n1981-06-03,20.35\r\n1981-06-04,20.05\r\n1981-06-05,19.99\r\n1981-06-06,19.99\r\n1981-06-07,19.99\r\n1981-06-08,18.73\r\n1981-06-09,18.36\r\n1981-06-10,18.22\r\n1981-06-11,18.76\r\n1981-06-12,18.33\r\n1981-06-13,18.33\r\n1981-06-14,18.33\r\n1981-06-15,18.83\r\n1981-06-16,19.39\r\n1981-06-17,21.71\r\n1981-06-18,20.68\r\n1981-06-19,20.61\r\n1981-06-20,20.61\r\n1981-06-21,20.61\r\n1981-06-22,18.75\r\n1981-06-23,16.75\r\n1981-06-24,16.37\r\n1981-06-25,18.43\r\n1981-06-26,18.39\r\n1981-06-27,18.39\r\n1981-06-28,18.39\r\n1981-06-29,18.55\r\n1981-06-30,18.64\r\n1981-07-01,21.09\r\n1981-07-02,20.54\r\n1981-07-03,19.83\r\n1981-07-04,19.83\r\n1981-07-05,19.83\r\n1981-07-06,19.94\r\n1981-07-07,19.71\r\n1981-07-08,19.82\r\n1981-07-09,20.34\r\n1981-07-10,19.06\r\n1981-07-11,19.06\r\n1981-07-12,19.06\r\n1981-07-13,18.42\r\n1981-07-14,17.65\r\n1981-07-15,17.72\r\n1981-07-16,18.80\r\n1981-07-17,17.88\r\n1981-07-18,17.88\r\n1981-07-19,17.88\r\n1981-07-20,18.58\r\n1981-07-21,19.98\r\n1981-07-22,22.36\r\n1981-07-23,20.05\r\n1981-07-24,18.65\r\n1981-07-25,18.65\r\n1981-07-26,18.65\r\n1981-07-27,18.15\r\n1981-07-28,18.15\r\n1981-07-29,17.50\r\n1981-07-30,17.59\r\n1981-07-31,17.46\r\n1981-08-01,17.46\r\n1981-08-02,17.46\r\n1981-08-03,18.81\r\n1981-08-04,19.92\r\n1981-08-05,19.06\r\n1981-08-06,18.96\r\n1981-08-07,18.51\r\n1981-08-08,18.51\r\n1981-08-09,18.51\r\n1981-08-10,18.11\r\n1981-08-11,17.85\r\n1981-08-12,17.58\r\n1981-08-13,17.92\r\n1981-08-14,17.53\r\n1981-08-15,17.53\r\n1981-08-16,17.53\r\n1981-08-17,18.30\r\n1981-08-18,19.75\r\n1981-08-19,18.77\r\n1981-08-20,18.38\r\n1981-08-21,17.53\r\n1981-08-22,17.53\r\n1981-08-23,17.53\r\n1981-08-24,17.92\r\n1981-08-25,17.21\r\n1981-08-26,15.77\r\n1981-08-27,17.13\r\n1981-08-28,16.15\r\n1981-08-29,16.15\r\n1981-08-30,16.15\r\n1981-08-31,16.83\r\n1981-09-01,17.52\r\n1981-09-02,18.32\r\n1981-09-03,17.16\r\n1981-09-04,16.42\r\n1981-09-05,16.42\r\n1981-09-06,16.42\r\n1981-09-07,16.42\r\n1981-09-08,16.70\r\n1981-09-09,15.94\r\n1981-09-10,16.53\r\n1981-09-11,16.15\r\n1981-09-12,16.15\r\n1981-09-13,16.15\r\n1981-09-14,16.11\r\n1981-09-15,15.78\r\n1981-09-16,15.73\r\n1981-09-17,15.86\r\n1981-09-18,15.71\r\n1981-09-19,15.71\r\n1981-09-20,15.71\r\n1981-09-21,15.43\r\n1981-09-22,14.64\r\n1981-09-23,14.27\r\n1981-09-24,15.04\r\n1981-09-25,14.39\r\n1981-09-26,14.39\r\n1981-09-27,14.39\r\n1981-09-28,14.95\r\n1981-09-29,15.23\r\n1981-09-30,16.58\r\n1981-10-01,16.96\r\n1981-10-02,16.57\r\n1981-10-03,16.57\r\n1981-10-04,16.57\r\n1981-10-05,14.88\r\n1981-10-06,13.30\r\n1981-10-07,13.40\r\n1981-10-08,14.51\r\n1981-10-09,14.71\r\n1981-10-10,14.71\r\n1981-10-11,14.71\r\n1981-10-12,14.71\r\n1981-10-13,14.89\r\n1981-10-14,16.28\r\n1981-10-15,15.17\r\n1981-10-16,15.10\r\n1981-10-17,15.10\r\n1981-10-18,15.10\r\n1981-10-19,15.39\r\n1981-10-20,15.73\r\n1981-10-21,15.66\r\n1981-10-22,15.56\r\n1981-10-23,14.98\r\n1981-10-24,14.98\r\n1981-10-25,14.98\r\n1981-10-26,14.69\r\n1981-10-27,14.60\r\n1981-10-28,14.31\r\n1981-10-29,14.48\r\n1981-10-30,14.44\r\n1981-10-31,14.44\r\n1981-11-01,14.44\r\n1981-11-02,15.06\r\n1981-11-03,15.15\r\n1981-11-04,15.50\r\n1981-11-05,14.60\r\n1981-11-06,13.79\r\n1981-11-07,13.79\r\n1981-11-08,13.79\r\n1981-11-09,13.51\r\n1981-11-10,14.29\r\n1981-11-11,14.29\r\n1981-11-12,13.56\r\n1981-11-13,13.08\r\n1981-11-14,13.08\r\n1981-11-15,13.08\r\n1981-11-16,13.33\r\n1981-11-17,13.16\r\n1981-11-18,12.90\r\n1981-11-19,12.94\r\n1981-11-20,12.38\r\n1981-11-21,12.38\r\n1981-11-22,12.38\r\n1981-11-23,12.15\r\n1981-11-24,11.97\r\n1981-11-25,12.71\r\n1981-11-26,12.71\r\n1981-11-27,12.25\r\n1981-11-28,12.25\r\n1981-11-29,12.25\r\n1981-11-30,12.44\r\n1981-12-01,13.03\r\n1981-12-02,12.43\r\n1981-12-03,12.65\r\n1981-12-04,11.83\r\n1981-12-05,11.83\r\n1981-12-06,11.83\r\n1981-12-07,11.89\r\n1981-12-08,11.95\r\n1981-12-09,12.27\r\n1981-12-10,12.30\r\n1981-12-11,12.22\r\n1981-12-12,12.22\r\n1981-12-13,12.22\r\n1981-12-14,12.28\r\n1981-12-15,12.25\r\n1981-12-16,12.35\r\n1981-12-17,12.38\r\n1981-12-18,12.28\r\n1981-12-19,12.28\r\n1981-12-20,12.28\r\n1981-12-21,12.33\r\n1981-12-22,12.54\r\n1981-12-23,12.92\r\n1981-12-24,12.30\r\n1981-12-25,12.30\r\n1981-12-26,12.30\r\n1981-12-27,12.30\r\n1981-12-28,12.72\r\n1981-12-29,12.97\r\n1981-12-30,12.86\r\n1981-12-31,13.13\r\n1982-01-01,13.13\r\n1982-01-02,13.13\r\n1982-01-03,13.13\r\n1982-01-04,13.31\r\n1982-01-05,12.90\r\n1982-01-06,12.12\r\n1982-01-07,12.37\r\n1982-01-08,12.12\r\n1982-01-09,12.12\r\n1982-01-10,12.12\r\n1982-01-11,12.64\r\n1982-01-12,12.88\r\n1982-01-13,12.66\r\n1982-01-14,12.75\r\n1982-01-15,12.47\r\n1982-01-16,12.47\r\n1982-01-17,12.47\r\n1982-01-18,12.92\r\n1982-01-19,13.35\r\n1982-01-20,14.26\r\n1982-01-21,13.51\r\n1982-01-22,13.80\r\n1982-01-23,13.80\r\n1982-01-24,13.80\r\n1982-01-25,14.89\r\n1982-01-26,14.04\r\n1982-01-27,13.99\r\n1982-01-28,14.06\r\n1982-01-29,14.21\r\n1982-01-30,14.21\r\n1982-01-31,14.21\r\n1982-02-01,15.69\r\n1982-02-02,15.34\r\n1982-02-03,15.65\r\n1982-02-04,15.27\r\n1982-02-05,15.22\r\n1982-02-06,15.22\r\n1982-02-07,15.22\r\n1982-02-08,14.88\r\n1982-02-09,15.10\r\n1982-02-10,15.44\r\n1982-02-11,15.87\r\n1982-02-12,15.54\r\n1982-02-13,15.54\r\n1982-02-14,15.54\r\n1982-02-15,15.54\r\n1982-02-16,16.36\r\n1982-02-17,14.88\r\n1982-02-18,15.07\r\n1982-02-19,14.20\r\n1982-02-20,14.20\r\n1982-02-21,14.20\r\n1982-02-22,13.83\r\n1982-02-23,13.10\r\n1982-02-24,12.44\r\n1982-02-25,13.26\r\n1982-02-26,13.74\r\n1982-02-27,13.74\r\n1982-02-28,13.74\r\n1982-03-01,14.11\r\n1982-03-02,14.63\r\n1982-03-03,15.26\r\n1982-03-04,14.40\r\n1982-03-05,14.37\r\n1982-03-06,14.37\r\n1982-03-07,14.37\r\n1982-03-08,13.75\r\n1982-03-09,14.01\r\n1982-03-10,15.21\r\n1982-03-11,14.52\r\n1982-03-12,14.72\r\n1982-03-13,14.72\r\n1982-03-14,14.72\r\n1982-03-15,15.21\r\n1982-03-16,15.43\r\n1982-03-17,14.92\r\n1982-03-18,14.97\r\n1982-03-19,14.90\r\n1982-03-20,14.90\r\n1982-03-21,14.90\r\n1982-03-22,14.43\r\n1982-03-23,13.88\r\n1982-03-24,13.37\r\n1982-03-25,14.11\r\n1982-03-26,14.39\r\n1982-03-27,14.39\r\n1982-03-28,14.39\r\n1982-03-29,15.37\r\n1982-03-30,15.49\r\n1982-03-31,16.80\r\n1982-04-01,15.48\r\n1982-04-02,16.02\r\n1982-04-03,16.02\r\n1982-04-04,16.02\r\n1982-04-05,14.62\r\n1982-04-06,14.21\r\n1982-04-07,13.69\r\n1982-04-08,14.61\r\n1982-04-09,14.28\r\n1982-04-10,14.28\r\n1982-04-11,14.28\r\n1982-04-12,14.33\r\n1982-04-13,14.74\r\n1982-04-14,16.25\r\n1982-04-15,15.81\r\n1982-04-16,15.27\r\n1982-04-17,15.27\r\n1982-04-18,15.27\r\n1982-04-19,14.87\r\n1982-04-20,14.34\r\n1982-04-21,14.26\r\n1982-04-22,14.81\r\n1982-04-23,14.63\r\n1982-04-24,14.63\r\n1982-04-25,14.63\r\n1982-04-26,14.30\r\n1982-04-27,13.92\r\n1982-04-28,16.10\r\n1982-04-29,15.89\r\n1982-04-30,15.28\r\n1982-05-01,15.28\r\n1982-05-02,15.28\r\n1982-05-03,15.27\r\n1982-05-04,15.94\r\n1982-05-05,15.74\r\n1982-05-06,15.25\r\n1982-05-07,14.90\r\n1982-05-08,14.90\r\n1982-05-09,14.90\r\n1982-05-10,14.59\r\n1982-05-11,14.89\r\n1982-05-12,15.38\r\n1982-05-13,14.89\r\n1982-05-14,14.52\r\n1982-05-15,14.52\r\n1982-05-16,14.52\r\n1982-05-17,14.68\r\n1982-05-18,14.70\r\n1982-05-19,14.86\r\n1982-05-20,14.28\r\n1982-05-21,13.56\r\n1982-05-22,13.56\r\n1982-05-23,13.56\r\n1982-05-24,13.71\r\n1982-05-25,13.94\r\n1982-05-26,13.27\r\n1982-05-27,13.69\r\n1982-05-28,13.38\r\n1982-05-29,13.38\r\n1982-05-30,13.38\r\n1982-05-31,13.38\r\n1982-06-01,13.76\r\n1982-06-02,13.05\r\n1982-06-03,13.54\r\n1982-06-04,13.55\r\n1982-06-05,13.55\r\n1982-06-06,13.55\r\n1982-06-07,13.54\r\n1982-06-08,13.62\r\n1982-06-09,13.83\r\n1982-06-10,13.95\r\n1982-06-11,14.11\r\n1982-06-12,14.11\r\n1982-06-13,14.11\r\n1982-06-14,14.26\r\n1982-06-15,14.50\r\n1982-06-16,14.66\r\n1982-06-17,14.48\r\n1982-06-18,14.11\r\n1982-06-19,14.11\r\n1982-06-20,14.11\r\n1982-06-21,14.05\r\n1982-06-22,14.05\r\n1982-06-23,14.30\r\n1982-06-24,14.71\r\n1982-06-25,14.90\r\n1982-06-26,14.90\r\n1982-06-27,14.90\r\n1982-06-28,14.98\r\n1982-06-29,14.71\r\n1982-06-30,14.58\r\n1982-07-01,14.73\r\n1982-07-02,14.61\r\n1982-07-03,14.61\r\n1982-07-04,14.61\r\n1982-07-05,14.61\r\n1982-07-06,14.53\r\n1982-07-07,13.57\r\n1982-07-08,13.86\r\n1982-07-09,13.05\r\n1982-07-10,13.05\r\n1982-07-11,13.05\r\n1982-07-12,13.12\r\n1982-07-13,13.25\r\n1982-07-14,12.88\r\n1982-07-15,13.07\r\n1982-07-16,12.64\r\n1982-07-17,12.64\r\n1982-07-18,12.64\r\n1982-07-19,12.09\r\n1982-07-20,11.22\r\n1982-07-21,10.71\r\n1982-07-22,11.04\r\n1982-07-23,10.65\r\n1982-07-24,10.65\r\n1982-07-25,10.65\r\n1982-07-26,10.84\r\n1982-07-27,11.28\r\n1982-07-28,12.01\r\n1982-07-29,11.71\r\n1982-07-30,11.41\r\n1982-07-31,11.41\r\n1982-08-01,11.41\r\n1982-08-02,10.83\r\n1982-08-03,10.61\r\n1982-08-04,10.68\r\n1982-08-05,10.76\r\n1982-08-06,10.82\r\n1982-08-07,10.82\r\n1982-08-08,10.82\r\n1982-08-09,11.07\r\n1982-08-10,10.99\r\n1982-08-11,11.00\r\n1982-08-12,10.88\r\n1982-08-13,10.38\r\n1982-08-14,10.38\r\n1982-08-15,10.38\r\n1982-08-16,9.91\r\n1982-08-17,9.74\r\n1982-08-18,9.13\r\n1982-08-19,9.10\r\n1982-08-20,8.75\r\n1982-08-21,8.75\r\n1982-08-22,8.75\r\n1982-08-23,9.01\r\n1982-08-24,9.03\r\n1982-08-25,9.91\r\n1982-08-26,9.36\r\n1982-08-27,9.91\r\n1982-08-28,9.91\r\n1982-08-29,9.91\r\n1982-08-30,10.06\r\n1982-08-31,10.63\r\n1982-09-01,11.28\r\n1982-09-02,10.55\r\n1982-09-03,10.25\r\n1982-09-04,10.25\r\n1982-09-05,10.25\r\n1982-09-06,10.25\r\n1982-09-07,9.74\r\n1982-09-08,9.68\r\n1982-09-09,9.99\r\n1982-09-10,10.08\r\n1982-09-11,10.08\r\n1982-09-12,10.08\r\n1982-09-13,10.58\r\n1982-09-14,10.43\r\n1982-09-15,10.63\r\n1982-09-16,10.76\r\n1982-09-17,10.33\r\n1982-09-18,10.33\r\n1982-09-19,10.33\r\n1982-09-20,10.18\r\n1982-09-21,10.11\r\n1982-09-22,10.13\r\n1982-09-23,10.38\r\n1982-09-24,10.23\r\n1982-09-25,10.23\r\n1982-09-26,10.23\r\n1982-09-27,10.18\r\n1982-09-28,9.70\r\n1982-09-29,9.88\r\n1982-09-30,12.17\r\n1982-10-01,10.87\r\n1982-10-02,10.87\r\n1982-10-03,10.87\r\n1982-10-04,10.90\r\n1982-10-05,10.27\r\n1982-10-06,9.45\r\n1982-10-07,9.82\r\n1982-10-08,9.63\r\n1982-10-09,9.63\r\n1982-10-10,9.63\r\n1982-10-11,9.63\r\n1982-10-12,9.20\r\n1982-10-13,9.69\r\n1982-10-14,9.57\r\n1982-10-15,9.43\r\n1982-10-16,9.43\r\n1982-10-17,9.43\r\n1982-10-18,9.59\r\n1982-10-19,9.42\r\n1982-10-20,9.81\r\n1982-10-21,9.49\r\n1982-10-22,9.42\r\n1982-10-23,9.42\r\n1982-10-24,9.42\r\n1982-10-25,9.55\r\n1982-10-26,9.40\r\n1982-10-27,9.41\r\n1982-10-28,9.44\r\n1982-10-29,9.41\r\n1982-10-30,9.41\r\n1982-10-31,9.41\r\n1982-11-01,9.43\r\n1982-11-02,9.25\r\n1982-11-03,9.68\r\n1982-11-04,9.55\r\n1982-11-05,9.40\r\n1982-11-06,9.40\r\n1982-11-07,9.40\r\n1982-11-08,9.45\r\n1982-11-09,9.31\r\n1982-11-10,9.64\r\n1982-11-11,9.64\r\n1982-11-12,9.61\r\n1982-11-13,9.61\r\n1982-11-14,9.61\r\n1982-11-15,9.82\r\n1982-11-16,9.56\r\n1982-11-17,9.42\r\n1982-11-18,9.50\r\n1982-11-19,9.06\r\n1982-11-20,9.06\r\n1982-11-21,9.06\r\n1982-11-22,8.79\r\n1982-11-23,8.54\r\n1982-11-24,8.36\r\n1982-11-25,8.36\r\n1982-11-26,8.54\r\n1982-11-27,8.54\r\n1982-11-28,8.54\r\n1982-11-29,8.83\r\n1982-11-30,8.93\r\n1982-12-01,9.10\r\n1982-12-02,9.09\r\n1982-12-03,8.93\r\n1982-12-04,8.93\r\n1982-12-05,8.93\r\n1982-12-06,8.81\r\n1982-12-07,8.51\r\n1982-12-08,8.70\r\n1982-12-09,8.84\r\n1982-12-10,8.83\r\n1982-12-11,8.83\r\n1982-12-12,8.83\r\n1982-12-13,8.99\r\n1982-12-14,8.55\r\n1982-12-15,9.13\r\n1982-12-16,8.99\r\n1982-12-17,8.79\r\n1982-12-18,8.79\r\n1982-12-19,8.79\r\n1982-12-20,8.60\r\n1982-12-21,8.39\r\n1982-12-22,8.50\r\n1982-12-23,8.62\r\n1982-12-24,8.58\r\n1982-12-25,8.58\r\n1982-12-26,8.58\r\n1982-12-27,8.70\r\n1982-12-28,8.99\r\n1982-12-29,9.46\r\n1982-12-30,10.75\r\n1982-12-31,11.20\r\n1983-01-01,11.20\r\n1983-01-02,11.20\r\n1983-01-03,9.19\r\n1983-01-04,9.47\r\n1983-01-05,8.46\r\n1983-01-06,8.48\r\n1983-01-07,8.27\r\n1983-01-08,8.27\r\n1983-01-09,8.27\r\n1983-01-10,8.34\r\n1983-01-11,8.47\r\n1983-01-12,8.87\r\n1983-01-13,8.64\r\n1983-01-14,8.43\r\n1983-01-15,8.43\r\n1983-01-16,8.43\r\n1983-01-17,8.54\r\n1983-01-18,8.36\r\n1983-01-19,8.59\r\n1983-01-20,8.47\r\n1983-01-21,8.28\r\n1983-01-22,8.28\r\n1983-01-23,8.28\r\n1983-01-24,8.53\r\n1983-01-25,8.56\r\n1983-01-26,8.69\r\n1983-01-27,8.45\r\n1983-01-28,8.39\r\n1983-01-29,8.39\r\n1983-01-30,8.39\r\n1983-01-31,8.56\r\n1983-02-01,8.63\r\n1983-02-02,8.90\r\n1983-02-03,8.54\r\n1983-02-04,8.46\r\n1983-02-05,8.46\r\n1983-02-06,8.46\r\n1983-02-07,8.56\r\n1983-02-08,8.44\r\n1983-02-09,8.58\r\n1983-02-10,8.64\r\n1983-02-11,8.53\r\n1983-02-12,8.53\r\n1983-02-13,8.53\r\n1983-02-14,8.49\r\n1983-02-15,8.60\r\n1983-02-16,9.00\r\n1983-02-17,8.67\r\n1983-02-18,8.42\r\n1983-02-19,8.42\r\n1983-02-20,8.42\r\n1983-02-21,8.42\r\n1983-02-22,8.48\r\n1983-02-23,8.49\r\n1983-02-24,8.39\r\n1983-02-25,8.22\r\n1983-02-26,8.22\r\n1983-02-27,8.22\r\n1983-02-28,8.53\r\n1983-03-01,8.65\r\n1983-03-02,8.83\r\n1983-03-03,8.53\r\n1983-03-04,8.50\r\n1983-03-05,8.50\r\n1983-03-06,8.50\r\n1983-03-07,8.82\r\n1983-03-08,8.79\r\n1983-03-09,8.49\r\n1983-03-10,8.48\r\n1983-03-11,8.40\r\n1983-03-12,8.40\r\n1983-03-13,8.40\r\n1983-03-14,8.53\r\n1983-03-15,8.82\r\n1983-03-16,8.93\r\n1983-03-17,8.74\r\n1983-03-18,8.70\r\n1983-03-19,8.70\r\n1983-03-20,8.70\r\n1983-03-21,8.78\r\n1983-03-22,8.84\r\n1983-03-23,8.76\r\n1983-03-24,8.85\r\n1983-03-25,8.76\r\n1983-03-26,8.76\r\n1983-03-27,8.76\r\n1983-03-28,8.89\r\n1983-03-29,8.96\r\n1983-03-30,9.17\r\n1983-03-31,10.81\r\n1983-04-01,9.12\r\n1983-04-02,9.12\r\n1983-04-03,9.12\r\n1983-04-04,9.24\r\n1983-04-05,9.53\r\n1983-04-06,9.10\r\n1983-04-07,9.00\r\n1983-04-08,8.84\r\n1983-04-09,8.84\r\n1983-04-10,8.84\r\n1983-04-11,8.73\r\n1983-04-12,8.61\r\n1983-04-13,8.47\r\n1983-04-14,8.69\r\n1983-04-15,8.73\r\n1983-04-16,8.73\r\n1983-04-17,8.73\r\n1983-04-18,8.65\r\n1983-04-19,8.76\r\n1983-04-20,8.61\r\n1983-04-21,8.70\r\n1983-04-22,8.52\r\n1983-04-23,8.52\r\n1983-04-24,8.52\r\n1983-04-25,8.48\r\n1983-04-26,8.45\r\n1983-04-27,8.90\r\n1983-04-28,8.83\r\n1983-04-29,8.84\r\n1983-04-30,8.84\r\n1983-05-01,8.84\r\n1983-05-02,8.77\r\n1983-05-03,8.81\r\n1983-05-04,8.64\r\n1983-05-05,8.69\r\n1983-05-06,8.45\r\n1983-05-07,8.45\r\n1983-05-08,8.45\r\n1983-05-09,8.46\r\n1983-05-10,8.35\r\n1983-05-11,8.51\r\n1983-05-12,8.56\r\n1983-05-13,8.39\r\n1983-05-14,8.39\r\n1983-05-15,8.39\r\n1983-05-16,8.73\r\n1983-05-17,8.81\r\n1983-05-18,8.83\r\n1983-05-19,8.75\r\n1983-05-20,8.68\r\n1983-05-21,8.68\r\n1983-05-22,8.68\r\n1983-05-23,8.74\r\n1983-05-24,8.72\r\n1983-05-25,8.76\r\n1983-05-26,8.70\r\n1983-05-27,8.59\r\n1983-05-28,8.59\r\n1983-05-29,8.59\r\n1983-05-30,8.59\r\n1983-05-31,8.94\r\n1983-06-01,9.38\r\n1983-06-02,8.84\r\n1983-06-03,8.77\r\n1983-06-04,8.77\r\n1983-06-05,8.77\r\n1983-06-06,8.92\r\n1983-06-07,8.95\r\n1983-06-08,8.84\r\n1983-06-09,8.83\r\n1983-06-10,8.75\r\n1983-06-11,8.75\r\n1983-06-12,8.75\r\n1983-06-13,8.78\r\n1983-06-14,8.93\r\n1983-06-15,9.10\r\n1983-06-16,9.08\r\n1983-06-17,9.02\r\n1983-06-18,9.02\r\n1983-06-19,9.02\r\n1983-06-20,9.24\r\n1983-06-21,9.43\r\n1983-06-22,9.14\r\n1983-06-23,9.06\r\n1983-06-24,9.01\r\n1983-06-25,9.01\r\n1983-06-26,9.01\r\n1983-06-27,9.00\r\n1983-06-28,8.80\r\n1983-06-29,8.43\r\n1983-06-30,10.06\r\n1983-07-01,9.31\r\n1983-07-02,9.31\r\n1983-07-03,9.31\r\n1983-07-04,9.31\r\n1983-07-05,9.19\r\n1983-07-06,9.27\r\n1983-07-07,9.23\r\n1983-07-08,9.14\r\n1983-07-09,9.14\r\n1983-07-10,9.14\r\n1983-07-11,9.21\r\n1983-07-12,9.22\r\n1983-07-13,9.39\r\n1983-07-14,9.25\r\n1983-07-15,9.39\r\n1983-07-16,9.39\r\n1983-07-17,9.39\r\n1983-07-18,9.54\r\n1983-07-19,9.53\r\n1983-07-20,9.49\r\n1983-07-21,9.43\r\n1983-07-22,9.48\r\n1983-07-23,9.48\r\n1983-07-24,9.48\r\n1983-07-25,9.48\r\n1983-07-26,9.49\r\n1983-07-27,9.40\r\n1983-07-28,9.45\r\n1983-07-29,9.52\r\n1983-07-30,9.52\r\n1983-07-31,9.52\r\n1983-08-01,9.64\r\n1983-08-02,9.84\r\n1983-08-03,9.63\r\n1983-08-04,9.64\r\n1983-08-05,9.63\r\n1983-08-06,9.63\r\n1983-08-07,9.63\r\n1983-08-08,9.74\r\n1983-08-09,9.72\r\n1983-08-10,9.60\r\n1983-08-11,9.68\r\n1983-08-12,9.67\r\n1983-08-13,9.67\r\n1983-08-14,9.67\r\n1983-08-15,9.85\r\n1983-08-16,9.67\r\n1983-08-17,9.46\r\n1983-08-18,9.59\r\n1983-08-19,9.47\r\n1983-08-20,9.47\r\n1983-08-21,9.47\r\n1983-08-22,9.37\r\n1983-08-23,9.32\r\n1983-08-24,9.17\r\n1983-08-25,9.30\r\n1983-08-26,9.43\r\n1983-08-27,9.43\r\n1983-08-28,9.43\r\n1983-08-29,9.43\r\n1983-08-30,9.47\r\n1983-08-31,9.59\r\n1983-09-01,9.61\r\n1983-09-02,9.52\r\n1983-09-03,9.52\r\n1983-09-04,9.52\r\n1983-09-05,9.52\r\n1983-09-06,9.47\r\n1983-09-07,9.57\r\n1983-09-08,9.53\r\n1983-09-09,9.60\r\n1983-09-10,9.60\r\n1983-09-11,9.60\r\n1983-09-12,9.45\r\n1983-09-13,9.54\r\n1983-09-14,9.49\r\n1983-09-15,9.66\r\n1983-09-16,9.59\r\n1983-09-17,9.59\r\n1983-09-18,9.59\r\n1983-09-19,9.37\r\n1983-09-20,9.22\r\n1983-09-21,9.35\r\n1983-09-22,9.44\r\n1983-09-23,9.08\r\n1983-09-24,9.08\r\n1983-09-25,9.08\r\n1983-09-26,8.91\r\n1983-09-27,8.66\r\n1983-09-28,9.01\r\n1983-09-29,9.68\r\n1983-09-30,10.59\r\n1983-10-01,10.59\r\n1983-10-02,10.59\r\n1983-10-03,9.62\r\n1983-10-04,9.55\r\n1983-10-05,9.37\r\n1983-10-06,9.46\r\n1983-10-07,9.38\r\n1983-10-08,9.38\r\n1983-10-09,9.38\r\n1983-10-10,9.38\r\n1983-10-11,9.56\r\n1983-10-12,9.67\r\n1983-10-13,9.51\r\n1983-10-14,9.31\r\n1983-10-15,9.31\r\n1983-10-16,9.31\r\n1983-10-17,9.33\r\n1983-10-18,9.29\r\n1983-10-19,9.49\r\n1983-10-20,9.44\r\n1983-10-21,9.36\r\n1983-10-22,9.36\r\n1983-10-23,9.36\r\n1983-10-24,9.47\r\n1983-10-25,9.30\r\n1983-10-26,9.23\r\n1983-10-27,9.40\r\n1983-10-28,9.31\r\n1983-10-29,9.31\r\n1983-10-30,9.31\r\n1983-10-31,9.43\r\n1983-11-01,9.45\r\n1983-11-02,9.57\r\n1983-11-03,9.53\r\n1983-11-04,9.32\r\n1983-11-05,9.32\r\n1983-11-06,9.32\r\n1983-11-07,9.38\r\n1983-11-08,9.25\r\n1983-11-09,9.42\r\n1983-11-10,9.38\r\n1983-11-11,9.38\r\n1983-11-12,9.38\r\n1983-11-13,9.38\r\n1983-11-14,9.37\r\n1983-11-15,9.50\r\n1983-11-16,9.54\r\n1983-11-17,9.45\r\n1983-11-18,9.23\r\n1983-11-19,9.23\r\n1983-11-20,9.23\r\n1983-11-21,9.24\r\n1983-11-22,9.07\r\n1983-11-23,9.35\r\n1983-11-24,9.35\r\n1983-11-25,9.24\r\n1983-11-26,9.24\r\n1983-11-27,9.24\r\n1983-11-28,9.23\r\n1983-11-29,9.27\r\n1983-11-30,9.34\r\n1983-12-01,9.46\r\n1983-12-02,9.51\r\n1983-12-03,9.51\r\n1983-12-04,9.51\r\n1983-12-05,9.55\r\n1983-12-06,9.38\r\n1983-12-07,9.52\r\n1983-12-08,9.56\r\n1983-12-09,9.43\r\n1983-12-10,9.43\r\n1983-12-11,9.43\r\n1983-12-12,9.53\r\n1983-12-13,9.50\r\n1983-12-14,9.74\r\n1983-12-15,9.94\r\n1983-12-16,9.73\r\n1983-12-17,9.73\r\n1983-12-18,9.73\r\n1983-12-19,9.66\r\n1983-12-20,9.43\r\n1983-12-21,9.13\r\n1983-12-22,9.35\r\n1983-12-23,8.66\r\n1983-12-24,8.66\r\n1983-12-25,8.66\r\n1983-12-26,8.66\r\n1983-12-27,9.06\r\n1983-12-28,9.70\r\n1983-12-29,10.61\r\n1983-12-30,9.92\r\n1983-12-31,9.92\r\n1984-01-01,9.92\r\n1984-01-02,9.92\r\n1984-01-03,10.15\r\n1984-01-04,9.96\r\n1984-01-05,9.62\r\n1984-01-06,9.43\r\n1984-01-07,9.43\r\n1984-01-08,9.43\r\n1984-01-09,9.55\r\n1984-01-10,9.42\r\n1984-01-11,9.83\r\n1984-01-12,9.61\r\n1984-01-13,9.40\r\n1984-01-14,9.40\r\n1984-01-15,9.40\r\n1984-01-16,9.51\r\n1984-01-17,9.45\r\n1984-01-18,10.04\r\n1984-01-19,9.63\r\n1984-01-20,9.48\r\n1984-01-21,9.48\r\n1984-01-22,9.48\r\n1984-01-23,9.66\r\n1984-01-24,9.57\r\n1984-01-25,9.44\r\n1984-01-26,9.48\r\n1984-01-27,9.31\r\n1984-01-28,9.31\r\n1984-01-29,9.31\r\n1984-01-30,9.34\r\n1984-01-31,9.35\r\n1984-02-01,9.74\r\n1984-02-02,9.60\r\n1984-02-03,9.51\r\n1984-02-04,9.51\r\n1984-02-05,9.51\r\n1984-02-06,9.69\r\n1984-02-07,9.69\r\n1984-02-08,9.57\r\n1984-02-09,9.49\r\n1984-02-10,9.44\r\n1984-02-11,9.44\r\n1984-02-12,9.44\r\n1984-02-13,9.41\r\n1984-02-14,9.67\r\n1984-02-15,9.83\r\n1984-02-16,9.64\r\n1984-02-17,9.56\r\n1984-02-18,9.56\r\n1984-02-19,9.56\r\n1984-02-20,9.56\r\n1984-02-21,9.64\r\n1984-02-22,9.67\r\n1984-02-23,9.72\r\n1984-02-24,9.63\r\n1984-02-25,9.63\r\n1984-02-26,9.63\r\n1984-02-27,9.72\r\n1984-02-28,9.53\r\n1984-02-29,9.45\r\n1984-03-01,9.73\r\n1984-03-02,9.75\r\n1984-03-03,9.75\r\n1984-03-04,9.75\r\n1984-03-05,9.81\r\n1984-03-06,9.72\r\n1984-03-07,9.66\r\n1984-03-08,9.74\r\n1984-03-09,9.73\r\n1984-03-10,9.73\r\n1984-03-11,9.73\r\n1984-03-12,9.84\r\n1984-03-13,9.79\r\n1984-03-14,9.96\r\n1984-03-15,10.09\r\n1984-03-16,9.84\r\n1984-03-17,9.84\r\n1984-03-18,9.84\r\n1984-03-19,10.07\r\n1984-03-20,10.25\r\n1984-03-21,10.36\r\n1984-03-22,10.45\r\n1984-03-23,10.28\r\n1984-03-24,10.28\r\n1984-03-25,10.28\r\n1984-03-26,10.06\r\n1984-03-27,9.62\r\n1984-03-28,8.81\r\n1984-03-29,10.07\r\n1984-03-30,10.24\r\n1984-03-31,10.24\r\n1984-04-01,10.24\r\n1984-04-02,10.42\r\n1984-04-03,10.75\r\n1984-04-04,10.90\r\n1984-04-05,10.74\r\n1984-04-06,10.37\r\n1984-04-07,10.37\r\n1984-04-08,10.37\r\n1984-04-09,10.32\r\n1984-04-10,9.49\r\n1984-04-11,9.25\r\n1984-04-12,10.34\r\n1984-04-13,10.24\r\n1984-04-14,10.24\r\n1984-04-15,10.24\r\n1984-04-16,10.50\r\n1984-04-17,10.45\r\n1984-04-18,10.61\r\n1984-04-19,10.73\r\n1984-04-20,9.77\r\n1984-04-21,9.77\r\n1984-04-22,9.77\r\n1984-04-23,9.63\r\n1984-04-24,9.55\r\n1984-04-25,10.67\r\n1984-04-26,10.63\r\n1984-04-27,10.49\r\n1984-04-28,10.49\r\n1984-04-29,10.49\r\n1984-04-30,10.90\r\n1984-05-01,11.04\r\n1984-05-02,10.88\r\n1984-05-03,10.45\r\n1984-05-04,10.04\r\n1984-05-05,10.04\r\n1984-05-06,10.04\r\n1984-05-07,10.48\r\n1984-05-08,11.06\r\n1984-05-09,11.12\r\n1984-05-10,11.00\r\n1984-05-11,10.58\r\n1984-05-12,10.58\r\n1984-05-13,10.58\r\n1984-05-14,10.33\r\n1984-05-15,10.55\r\n1984-05-16,9.99\r\n1984-05-17,9.92\r\n1984-05-18,9.01\r\n1984-05-19,9.01\r\n1984-05-20,9.01\r\n1984-05-21,9.71\r\n1984-05-22,10.73\r\n1984-05-23,10.84\r\n1984-05-24,10.72\r\n1984-05-25,10.04\r\n1984-05-26,10.04\r\n1984-05-27,10.04\r\n1984-05-28,10.04\r\n1984-05-29,10.51\r\n1984-05-30,10.71\r\n1984-05-31,10.81\r\n1984-06-01,10.53\r\n1984-06-02,10.53\r\n1984-06-03,10.53\r\n1984-06-04,10.99\r\n1984-06-05,10.65\r\n1984-06-06,11.03\r\n1984-06-07,11.01\r\n1984-06-08,10.76\r\n1984-06-09,10.76\r\n1984-06-10,10.76\r\n1984-06-11,11.16\r\n1984-06-12,10.83\r\n1984-06-13,10.66\r\n1984-06-14,11.04\r\n1984-06-15,11.33\r\n1984-06-16,11.33\r\n1984-06-17,11.33\r\n1984-06-18,11.56\r\n1984-06-19,11.55\r\n1984-06-20,12.31\r\n1984-06-21,11.90\r\n1984-06-22,11.51\r\n1984-06-23,11.51\r\n1984-06-24,11.51\r\n1984-06-25,11.08\r\n1984-06-26,10.84\r\n1984-06-27,10.51\r\n1984-06-28,10.64\r\n1984-06-29,10.85\r\n1984-06-30,10.85\r\n1984-07-01,10.85\r\n1984-07-02,11.43\r\n1984-07-03,10.88\r\n1984-07-04,10.88\r\n1984-07-05,11.25\r\n1984-07-06,11.13\r\n1984-07-07,11.13\r\n1984-07-08,11.13\r\n1984-07-09,11.52\r\n1984-07-10,11.37\r\n1984-07-11,11.22\r\n1984-07-12,11.03\r\n1984-07-13,11.00\r\n1984-07-14,11.00\r\n1984-07-15,11.00\r\n1984-07-16,11.45\r\n1984-07-17,11.40\r\n1984-07-18,11.60\r\n1984-07-19,11.36\r\n1984-07-20,11.09\r\n1984-07-21,11.09\r\n1984-07-22,11.09\r\n1984-07-23,11.49\r\n1984-07-24,11.21\r\n1984-07-25,11.02\r\n1984-07-26,11.29\r\n1984-07-27,11.33\r\n1984-07-28,11.33\r\n1984-07-29,11.33\r\n1984-07-30,11.53\r\n1984-07-31,11.83\r\n1984-08-01,12.04\r\n1984-08-02,11.65\r\n1984-08-03,11.50\r\n1984-08-04,11.50\r\n1984-08-05,11.50\r\n1984-08-06,11.76\r\n1984-08-07,11.74\r\n1984-08-08,11.50\r\n1984-08-09,11.62\r\n1984-08-10,11.57\r\n1984-08-11,11.57\r\n1984-08-12,11.57\r\n1984-08-13,11.73\r\n1984-08-14,11.52\r\n1984-08-15,11.82\r\n1984-08-16,11.74\r\n1984-08-17,11.77\r\n1984-08-18,11.77\r\n1984-08-19,11.77\r\n1984-08-20,11.87\r\n1984-08-21,11.83\r\n1984-08-22,11.61\r\n1984-08-23,11.57\r\n1984-08-24,11.53\r\n1984-08-25,11.53\r\n1984-08-26,11.53\r\n1984-08-27,11.68\r\n1984-08-28,11.47\r\n1984-08-29,11.20\r\n1984-08-30,11.65\r\n1984-08-31,11.64\r\n1984-09-01,11.64\r\n1984-09-02,11.64\r\n1984-09-03,11.64\r\n1984-09-04,11.81\r\n1984-09-05,11.72\r\n1984-09-06,11.71\r\n1984-09-07,11.56\r\n1984-09-08,11.56\r\n1984-09-09,11.56\r\n1984-09-10,11.36\r\n1984-09-11,11.23\r\n1984-09-12,11.66\r\n1984-09-13,11.55\r\n1984-09-14,11.38\r\n1984-09-15,11.38\r\n1984-09-16,11.38\r\n1984-09-17,11.64\r\n1984-09-18,11.53\r\n1984-09-19,11.35\r\n1984-09-20,11.12\r\n1984-09-21,10.89\r\n1984-09-22,10.89\r\n1984-09-23,10.89\r\n1984-09-24,10.94\r\n1984-09-25,10.52\r\n1984-09-26,9.84\r\n1984-09-27,11.00\r\n1984-09-28,11.23\r\n1984-09-29,11.23\r\n1984-09-30,11.23\r\n1984-10-01,11.38\r\n1984-10-02,11.42\r\n1984-10-03,10.91\r\n1984-10-04,10.58\r\n1984-10-05,10.21\r\n1984-10-06,10.21\r\n1984-10-07,10.21\r\n1984-10-08,10.21\r\n1984-10-09,9.91\r\n1984-10-10,8.72\r\n1984-10-11,10.25\r\n1984-10-12,10.02\r\n1984-10-13,10.02\r\n1984-10-14,10.02\r\n1984-10-15,10.54\r\n1984-10-16,10.45\r\n1984-10-17,10.27\r\n1984-10-18,9.92\r\n1984-10-19,9.83\r\n1984-10-20,9.83\r\n1984-10-21,9.83\r\n1984-10-22,9.95\r\n1984-10-23,9.24\r\n1984-10-24,7.53\r\n1984-10-25,9.24\r\n1984-10-26,9.59\r\n1984-10-27,9.59\r\n1984-10-28,9.59\r\n1984-10-29,9.99\r\n1984-10-30,10.10\r\n1984-10-31,9.99\r\n1984-11-01,10.26\r\n1984-11-02,10.15\r\n1984-11-03,10.15\r\n1984-11-04,10.15\r\n1984-11-05,9.57\r\n1984-11-06,9.47\r\n1984-11-07,9.35\r\n1984-11-08,9.76\r\n1984-11-09,9.50\r\n1984-11-10,9.50\r\n1984-11-11,9.50\r\n1984-11-12,9.50\r\n1984-11-13,9.51\r\n1984-11-14,9.56\r\n1984-11-15,9.62\r\n1984-11-16,9.54\r\n1984-11-17,9.54\r\n1984-11-18,9.54\r\n1984-11-19,9.45\r\n1984-11-20,9.28\r\n1984-11-21,9.32\r\n1984-11-22,9.32\r\n1984-11-23,8.97\r\n1984-11-24,8.97\r\n1984-11-25,8.97\r\n1984-11-26,9.03\r\n1984-11-27,8.96\r\n1984-11-28,8.78\r\n1984-11-29,8.63\r\n1984-11-30,8.92\r\n1984-12-01,8.92\r\n1984-12-02,8.92\r\n1984-12-03,9.27\r\n1984-12-04,8.80\r\n1984-12-05,8.35\r\n1984-12-06,8.93\r\n1984-12-07,8.62\r\n1984-12-08,8.62\r\n1984-12-09,8.62\r\n1984-12-10,8.75\r\n1984-12-11,8.75\r\n1984-12-12,8.58\r\n1984-12-13,8.42\r\n1984-12-14,8.26\r\n1984-12-15,8.26\r\n1984-12-16,8.26\r\n1984-12-17,7.83\r\n1984-12-18,6.93\r\n1984-12-19,7.98\r\n1984-12-20,8.29\r\n1984-12-21,8.06\r\n1984-12-22,8.06\r\n1984-12-23,8.06\r\n1984-12-24,7.53\r\n1984-12-25,7.53\r\n1984-12-26,8.12\r\n1984-12-27,8.51\r\n1984-12-28,8.62\r\n1984-12-29,8.62\r\n1984-12-30,8.62\r\n1984-12-31,8.74\r\n1985-01-01,8.74\r\n1985-01-02,9.37\r\n1985-01-03,8.77\r\n1985-01-04,8.18\r\n1985-01-05,8.18\r\n1985-01-06,8.18\r\n1985-01-07,8.23\r\n1985-01-08,8.30\r\n1985-01-09,8.02\r\n1985-01-10,8.23\r\n1985-01-11,8.24\r\n1985-01-12,8.24\r\n1985-01-13,8.24\r\n1985-01-14,8.15\r\n1985-01-15,8.03\r\n1985-01-16,8.51\r\n1985-01-17,8.27\r\n1985-01-18,8.10\r\n1985-01-19,8.10\r\n1985-01-20,8.10\r\n1985-01-21,8.10\r\n1985-01-22,8.29\r\n1985-01-23,8.36\r\n1985-01-24,8.33\r\n1985-01-25,8.37\r\n1985-01-26,8.37\r\n1985-01-27,8.37\r\n1985-01-28,8.62\r\n1985-01-29,8.61\r\n1985-01-30,8.49\r\n1985-01-31,8.73\r\n1985-02-01,8.74\r\n1985-02-02,8.74\r\n1985-02-03,8.74\r\n1985-02-04,8.61\r\n1985-02-05,8.36\r\n1985-02-06,8.22\r\n1985-02-07,8.41\r\n1985-02-08,8.49\r\n1985-02-09,8.49\r\n1985-02-10,8.49\r\n1985-02-11,8.30\r\n1985-02-12,8.30\r\n1985-02-13,8.61\r\n1985-02-14,8.59\r\n1985-02-15,8.53\r\n1985-02-16,8.53\r\n1985-02-17,8.53\r\n1985-02-18,8.53\r\n1985-02-19,8.63\r\n1985-02-20,8.67\r\n1985-02-21,8.67\r\n1985-02-22,8.50\r\n1985-02-23,8.50\r\n1985-02-24,8.50\r\n1985-02-25,8.52\r\n1985-02-26,8.04\r\n1985-02-27,8.06\r\n1985-02-28,8.74\r\n1985-03-01,8.74\r\n1985-03-02,8.74\r\n1985-03-03,8.74\r\n1985-03-04,8.73\r\n1985-03-05,8.53\r\n1985-03-06,8.21\r\n1985-03-07,8.47\r\n1985-03-08,8.42\r\n1985-03-09,8.42\r\n1985-03-10,8.42\r\n1985-03-11,8.26\r\n1985-03-12,8.53\r\n1985-03-13,9.12\r\n1985-03-14,9.12\r\n1985-03-15,8.81\r\n1985-03-16,8.81\r\n1985-03-17,8.81\r\n1985-03-18,8.62\r\n1985-03-19,8.62\r\n1985-03-20,8.49\r\n1985-03-21,8.60\r\n1985-03-22,8.61\r\n1985-03-23,8.61\r\n1985-03-24,8.61\r\n1985-03-25,8.45\r\n1985-03-26,7.99\r\n1985-03-27,7.79\r\n1985-03-28,8.89\r\n1985-03-29,8.58\r\n1985-03-30,8.58\r\n1985-03-31,8.58\r\n1985-04-01,8.83\r\n1985-04-02,8.79\r\n1985-04-03,8.49\r\n1985-04-04,8.56\r\n1985-04-05,8.14\r\n1985-04-06,8.14\r\n1985-04-07,8.14\r\n1985-04-08,8.58\r\n1985-04-09,8.68\r\n1985-04-10,8.94\r\n1985-04-11,8.81\r\n1985-04-12,8.49\r\n1985-04-13,8.49\r\n1985-04-14,8.49\r\n1985-04-15,8.57\r\n1985-04-16,8.30\r\n1985-04-17,8.09\r\n1985-04-18,7.84\r\n1985-04-19,7.60\r\n1985-04-20,7.60\r\n1985-04-21,7.60\r\n1985-04-22,7.52\r\n1985-04-23,7.88\r\n1985-04-24,7.81\r\n1985-04-25,8.23\r\n1985-04-26,8.14\r\n1985-04-27,8.14\r\n1985-04-28,8.14\r\n1985-04-29,8.41\r\n1985-04-30,8.58\r\n1985-05-01,8.83\r\n1985-05-02,8.83\r\n1985-05-03,8.28\r\n1985-05-04,8.28\r\n1985-05-05,8.28\r\n1985-05-06,7.97\r\n1985-05-07,7.98\r\n1985-05-08,7.71\r\n1985-05-09,8.08\r\n1985-05-10,8.18\r\n1985-05-11,8.18\r\n1985-05-12,8.18\r\n1985-05-13,8.16\r\n1985-05-14,8.02\r\n1985-05-15,8.17\r\n1985-05-16,8.24\r\n1985-05-17,8.00\r\n1985-05-18,8.00\r\n1985-05-19,8.00\r\n1985-05-20,7.75\r\n1985-05-21,7.65\r\n1985-05-22,7.76\r\n1985-05-23,7.80\r\n1985-05-24,7.46\r\n1985-05-25,7.46\r\n1985-05-26,7.46\r\n1985-05-27,7.46\r\n1985-05-28,7.71\r\n1985-05-29,7.87\r\n1985-05-30,7.71\r\n1985-05-31,7.64\r\n1985-06-01,7.64\r\n1985-06-02,7.64\r\n1985-06-03,7.84\r\n1985-06-04,7.91\r\n1985-06-05,7.87\r\n1985-06-06,7.77\r\n1985-06-07,7.60\r\n1985-06-08,7.60\r\n1985-06-09,7.60\r\n1985-06-10,7.76\r\n1985-06-11,7.62\r\n1985-06-12,7.40\r\n1985-06-13,7.38\r\n1985-06-14,7.27\r\n1985-06-15,7.27\r\n1985-06-16,7.27\r\n1985-06-17,7.25\r\n1985-06-18,6.77\r\n1985-06-19,6.73\r\n1985-06-20,7.34\r\n1985-06-21,7.41\r\n1985-06-22,7.41\r\n1985-06-23,7.41\r\n1985-06-24,7.59\r\n1985-06-25,7.60\r\n1985-06-26,7.46\r\n1985-06-27,7.74\r\n1985-06-28,7.95\r\n1985-06-29,7.95\r\n1985-06-30,7.95\r\n1985-07-01,8.12\r\n1985-07-02,8.13\r\n1985-07-03,8.58\r\n1985-07-04,8.58\r\n1985-07-05,8.05\r\n1985-07-06,8.05\r\n1985-07-07,8.05\r\n1985-07-08,8.13\r\n1985-07-09,7.96\r\n1985-07-10,7.70\r\n1985-07-11,7.80\r\n1985-07-12,7.67\r\n1985-07-13,7.67\r\n1985-07-14,7.67\r\n1985-07-15,7.71\r\n1985-07-16,7.58\r\n1985-07-17,8.26\r\n1985-07-18,8.01\r\n1985-07-19,7.91\r\n1985-07-20,7.91\r\n1985-07-21,7.91\r\n1985-07-22,8.07\r\n1985-07-23,7.83\r\n1985-07-24,7.55\r\n1985-07-25,7.49\r\n1985-07-26,7.41\r\n1985-07-27,7.41\r\n1985-07-28,7.41\r\n1985-07-29,7.60\r\n1985-07-30,7.57\r\n1985-07-31,8.61\r\n1985-08-01,8.26\r\n1985-08-02,7.94\r\n1985-08-03,7.94\r\n1985-08-04,7.94\r\n1985-08-05,7.85\r\n1985-08-06,7.76\r\n1985-08-07,7.73\r\n1985-08-08,7.68\r\n1985-08-09,7.61\r\n1985-08-10,7.61\r\n1985-08-11,7.61\r\n1985-08-12,7.85\r\n1985-08-13,8.02\r\n1985-08-14,8.75\r\n1985-08-15,8.53\r\n1985-08-16,8.22\r\n1985-08-17,8.22\r\n1985-08-18,8.22\r\n1985-08-19,7.99\r\n1985-08-20,7.67\r\n1985-08-21,7.57\r\n1985-08-22,7.79\r\n1985-08-23,7.69\r\n1985-08-24,7.69\r\n1985-08-25,7.69\r\n1985-08-26,7.86\r\n1985-08-27,7.93\r\n1985-08-28,7.82\r\n1985-08-29,7.81\r\n1985-08-30,7.80\r\n1985-08-31,7.80\r\n1985-09-01,7.80\r\n1985-09-02,7.80\r\n1985-09-03,8.24\r\n1985-09-04,7.91\r\n1985-09-05,7.72\r\n1985-09-06,7.68\r\n1985-09-07,7.68\r\n1985-09-08,7.68\r\n1985-09-09,7.95\r\n1985-09-10,7.83\r\n1985-09-11,8.03\r\n1985-09-12,7.95\r\n1985-09-13,7.77\r\n1985-09-14,7.77\r\n1985-09-15,7.77\r\n1985-09-16,8.06\r\n1985-09-17,7.82\r\n1985-09-18,7.82\r\n1985-09-19,8.03\r\n1985-09-20,7.93\r\n1985-09-21,7.93\r\n1985-09-22,7.93\r\n1985-09-23,7.92\r\n1985-09-24,7.85\r\n1985-09-25,8.15\r\n1985-09-26,7.87\r\n1985-09-27,7.97\r\n1985-09-28,7.97\r\n1985-09-29,7.97\r\n1985-09-30,8.84\r\n1985-10-01,8.26\r\n1985-10-02,7.97\r\n1985-10-03,7.90\r\n1985-10-04,7.73\r\n1985-10-05,7.73\r\n1985-10-06,7.73\r\n1985-10-07,7.80\r\n1985-10-08,7.70\r\n1985-10-09,8.32\r\n1985-10-10,8.28\r\n1985-10-11,7.94\r\n1985-10-12,7.94\r\n1985-10-13,7.94\r\n1985-10-14,7.94\r\n1985-10-15,8.16\r\n1985-10-16,7.98\r\n1985-10-17,7.99\r\n1985-10-18,8.00\r\n1985-10-19,8.00\r\n1985-10-20,8.00\r\n1985-10-21,8.15\r\n1985-10-22,8.11\r\n1985-10-23,8.71\r\n1985-10-24,8.22\r\n1985-10-25,7.87\r\n1985-10-26,7.87\r\n1985-10-27,7.87\r\n1985-10-28,7.86\r\n1985-10-29,7.73\r\n1985-10-30,7.80\r\n1985-10-31,8.08\r\n1985-11-01,8.32\r\n1985-11-02,8.32\r\n1985-11-03,8.32\r\n1985-11-04,8.33\r\n1985-11-05,8.29\r\n1985-11-06,8.42\r\n1985-11-07,8.18\r\n1985-11-08,7.87\r\n1985-11-09,7.87\r\n1985-11-10,7.87\r\n1985-11-11,7.87\r\n1985-11-12,8.03\r\n1985-11-13,7.97\r\n1985-11-14,7.95\r\n1985-11-15,8.58\r\n1985-11-16,8.58\r\n1985-11-17,8.58\r\n1985-11-18,7.81\r\n1985-11-19,7.29\r\n1985-11-20,8.12\r\n1985-11-21,8.04\r\n1985-11-22,7.41\r\n1985-11-23,7.41\r\n1985-11-24,7.41\r\n1985-11-25,7.94\r\n1985-11-26,7.90\r\n1985-11-27,7.88\r\n1985-11-28,7.88\r\n1985-11-29,8.54\r\n1985-11-30,8.54\r\n1985-12-01,8.54\r\n1985-12-02,8.56\r\n1985-12-03,8.68\r\n1985-12-04,8.69\r\n1985-12-05,8.29\r\n1985-12-06,7.99\r\n1985-12-07,7.99\r\n1985-12-08,7.99\r\n1985-12-09,8.02\r\n1985-12-10,7.93\r\n1985-12-11,7.99\r\n1985-12-12,7.90\r\n1985-12-13,7.84\r\n1985-12-14,7.84\r\n1985-12-15,7.84\r\n1985-12-16,8.00\r\n1985-12-17,7.93\r\n1985-12-18,8.98\r\n1985-12-19,8.17\r\n1985-12-20,7.99\r\n1985-12-21,7.99\r\n1985-12-22,7.99\r\n1985-12-23,8.03\r\n1985-12-24,7.97\r\n1985-12-25,7.97\r\n1985-12-26,8.00\r\n1985-12-27,7.62\r\n1985-12-28,7.62\r\n1985-12-29,7.62\r\n1985-12-30,9.08\r\n1985-12-31,13.46\r\n1986-01-01,13.46\r\n1986-01-02,8.76\r\n1986-01-03,8.34\r\n1986-01-04,8.34\r\n1986-01-05,8.34\r\n1986-01-06,8.00\r\n1986-01-07,7.82\r\n1986-01-08,7.79\r\n1986-01-09,7.93\r\n1986-01-10,7.87\r\n1986-01-11,7.87\r\n1986-01-12,7.87\r\n1986-01-13,8.08\r\n1986-01-14,7.94\r\n1986-01-15,8.04\r\n1986-01-16,7.92\r\n1986-01-17,7.80\r\n1986-01-18,7.80\r\n1986-01-19,7.80\r\n1986-01-20,7.80\r\n1986-01-21,7.96\r\n1986-01-22,8.01\r\n1986-01-23,7.89\r\n1986-01-24,7.79\r\n1986-01-25,7.79\r\n1986-01-26,7.79\r\n1986-01-27,7.95\r\n1986-01-28,7.85\r\n1986-01-29,7.78\r\n1986-01-30,8.02\r\n1986-01-31,8.09\r\n1986-02-01,8.09\r\n1986-02-02,8.09\r\n1986-02-03,8.02\r\n1986-02-04,7.79\r\n1986-02-05,7.69\r\n1986-02-06,7.73\r\n1986-02-07,7.80\r\n1986-02-08,7.80\r\n1986-02-09,7.80\r\n1986-02-10,7.92\r\n1986-02-11,7.84\r\n1986-02-12,8.03\r\n1986-02-13,7.89\r\n1986-02-14,7.75\r\n1986-02-15,7.75\r\n1986-02-16,7.75\r\n1986-02-17,7.75\r\n1986-02-18,8.09\r\n1986-02-19,7.91\r\n1986-02-20,7.82\r\n1986-02-21,7.73\r\n1986-02-22,7.73\r\n1986-02-23,7.73\r\n1986-02-24,7.89\r\n1986-02-25,7.88\r\n1986-02-26,7.95\r\n1986-02-27,7.91\r\n1986-02-28,7.95\r\n1986-03-01,7.95\r\n1986-03-02,7.95\r\n1986-03-03,7.93\r\n1986-03-04,7.76\r\n1986-03-05,7.77\r\n1986-03-06,7.66\r\n1986-03-07,7.39\r\n1986-03-08,7.39\r\n1986-03-09,7.39\r\n1986-03-10,7.42\r\n1986-03-11,7.53\r\n1986-03-12,7.88\r\n1986-03-13,7.56\r\n1986-03-14,7.39\r\n1986-03-15,7.39\r\n1986-03-16,7.39\r\n1986-03-17,7.60\r\n1986-03-18,7.55\r\n1986-03-19,7.38\r\n1986-03-20,7.25\r\n1986-03-21,7.17\r\n1986-03-22,7.17\r\n1986-03-23,7.17\r\n1986-03-24,7.24\r\n1986-03-25,7.35\r\n1986-03-26,7.41\r\n1986-03-27,7.42\r\n1986-03-28,7.11\r\n1986-03-29,7.11\r\n1986-03-30,7.11\r\n1986-03-31,8.06\r\n1986-04-01,7.49\r\n1986-04-02,7.45\r\n1986-04-03,7.44\r\n1986-04-04,6.97\r\n1986-04-05,6.97\r\n1986-04-06,6.97\r\n1986-04-07,7.09\r\n1986-04-08,6.96\r\n1986-04-09,6.92\r\n1986-04-10,7.11\r\n1986-04-11,6.87\r\n1986-04-12,6.87\r\n1986-04-13,6.87\r\n1986-04-14,6.99\r\n1986-04-15,7.07\r\n1986-04-16,7.02\r\n1986-04-17,6.79\r\n1986-04-18,6.71\r\n1986-04-19,6.71\r\n1986-04-20,6.71\r\n1986-04-21,7.00\r\n1986-04-22,7.14\r\n1986-04-23,7.37\r\n1986-04-24,6.99\r\n1986-04-25,6.78\r\n1986-04-26,6.78\r\n1986-04-27,6.78\r\n1986-04-28,6.90\r\n1986-04-29,6.87\r\n1986-04-30,7.05\r\n1986-05-01,7.13\r\n1986-05-02,6.86\r\n1986-05-03,6.86\r\n1986-05-04,6.86\r\n1986-05-05,6.88\r\n1986-05-06,6.73\r\n1986-05-07,6.74\r\n1986-05-08,6.84\r\n1986-05-09,6.78\r\n1986-05-10,6.78\r\n1986-05-11,6.78\r\n1986-05-12,6.92\r\n1986-05-13,6.85\r\n1986-05-14,6.82\r\n1986-05-15,7.00\r\n1986-05-16,6.80\r\n1986-05-17,6.80\r\n1986-05-18,6.80\r\n1986-05-19,6.89\r\n1986-05-20,6.86\r\n1986-05-21,6.96\r\n1986-05-22,6.87\r\n1986-05-23,6.79\r\n1986-05-24,6.79\r\n1986-05-25,6.79\r\n1986-05-26,6.79\r\n1986-05-27,6.98\r\n1986-05-28,6.97\r\n1986-05-29,6.84\r\n1986-05-30,6.84\r\n1986-05-31,6.84\r\n1986-06-01,6.84\r\n1986-06-02,7.05\r\n1986-06-03,7.10\r\n1986-06-04,7.16\r\n1986-06-05,6.99\r\n1986-06-06,6.85\r\n1986-06-07,6.85\r\n1986-06-08,6.85\r\n1986-06-09,7.00\r\n1986-06-10,6.87\r\n1986-06-11,6.84\r\n1986-06-12,6.90\r\n1986-06-13,6.84\r\n1986-06-14,6.84\r\n1986-06-15,6.84\r\n1986-06-16,6.95\r\n1986-06-17,6.83\r\n1986-06-18,6.87\r\n1986-06-19,6.88\r\n1986-06-20,6.83\r\n1986-06-21,6.83\r\n1986-06-22,6.83\r\n1986-06-23,6.91\r\n1986-06-24,6.88\r\n1986-06-25,6.84\r\n1986-06-26,6.85\r\n1986-06-27,6.82\r\n1986-06-28,6.82\r\n1986-06-29,6.82\r\n1986-06-30,7.72\r\n1986-07-01,6.97\r\n1986-07-02,7.12\r\n1986-07-03,6.87\r\n1986-07-04,6.87\r\n1986-07-05,6.87\r\n1986-07-06,6.87\r\n1986-07-07,6.93\r\n1986-07-08,6.88\r\n1986-07-09,6.80\r\n1986-07-10,6.78\r\n1986-07-11,6.47\r\n1986-07-12,6.47\r\n1986-07-13,6.47\r\n1986-07-14,6.48\r\n1986-07-15,6.39\r\n1986-07-16,6.54\r\n1986-07-17,6.50\r\n1986-07-18,6.38\r\n1986-07-19,6.38\r\n1986-07-20,6.38\r\n1986-07-21,6.48\r\n1986-07-22,6.39\r\n1986-07-23,6.41\r\n1986-07-24,6.33\r\n1986-07-25,6.30\r\n1986-07-26,6.30\r\n1986-07-27,6.30\r\n1986-07-28,6.42\r\n1986-07-29,6.31\r\n1986-07-30,6.26\r\n1986-07-31,6.35\r\n1986-08-01,6.38\r\n1986-08-02,6.38\r\n1986-08-03,6.38\r\n1986-08-04,6.38\r\n1986-08-05,6.35\r\n1986-08-06,6.28\r\n1986-08-07,6.33\r\n1986-08-08,6.36\r\n1986-08-09,6.36\r\n1986-08-10,6.36\r\n1986-08-11,6.40\r\n1986-08-12,6.28\r\n1986-08-13,6.09\r\n1986-08-14,6.29\r\n1986-08-15,6.47\r\n1986-08-16,6.47\r\n1986-08-17,6.47\r\n1986-08-18,6.41\r\n1986-08-19,6.32\r\n1986-08-20,6.24\r\n1986-08-21,5.94\r\n1986-08-22,5.86\r\n1986-08-23,5.86\r\n1986-08-24,5.86\r\n1986-08-25,5.90\r\n1986-08-26,5.83\r\n1986-08-27,5.86\r\n1986-08-28,5.87\r\n1986-08-29,5.77\r\n1986-08-30,5.77\r\n1986-08-31,5.77\r\n1986-09-01,5.77\r\n1986-09-02,5.94\r\n1986-09-03,5.92\r\n1986-09-04,5.83\r\n1986-09-05,5.75\r\n1986-09-06,5.75\r\n1986-09-07,5.75\r\n1986-09-08,5.86\r\n1986-09-09,5.83\r\n1986-09-10,6.00\r\n1986-09-11,5.88\r\n1986-09-12,5.86\r\n1986-09-13,5.86\r\n1986-09-14,5.86\r\n1986-09-15,5.97\r\n1986-09-16,5.88\r\n1986-09-17,5.82\r\n1986-09-18,5.84\r\n1986-09-19,5.80\r\n1986-09-20,5.80\r\n1986-09-21,5.80\r\n1986-09-22,5.89\r\n1986-09-23,5.75\r\n1986-09-24,5.76\r\n1986-09-25,5.91\r\n1986-09-26,5.90\r\n1986-09-27,5.90\r\n1986-09-28,5.90\r\n1986-09-29,6.03\r\n1986-09-30,6.90\r\n1986-10-01,5.99\r\n1986-10-02,5.94\r\n1986-10-03,5.79\r\n1986-10-04,5.79\r\n1986-10-05,5.79\r\n1986-10-06,5.78\r\n1986-10-07,5.56\r\n1986-10-08,5.57\r\n1986-10-09,5.84\r\n1986-10-10,5.78\r\n1986-10-11,5.78\r\n1986-10-12,5.78\r\n1986-10-13,5.78\r\n1986-10-14,5.95\r\n1986-10-15,5.93\r\n1986-10-16,5.89\r\n1986-10-17,5.84\r\n1986-10-18,5.84\r\n1986-10-19,5.84\r\n1986-10-20,5.91\r\n1986-10-21,5.86\r\n1986-10-22,6.17\r\n1986-10-23,5.94\r\n1986-10-24,5.83\r\n1986-10-25,5.83\r\n1986-10-26,5.83\r\n1986-10-27,5.90\r\n1986-10-28,5.85\r\n1986-10-29,5.83\r\n1986-10-30,5.88\r\n1986-10-31,5.93\r\n1986-11-01,5.93\r\n1986-11-02,5.93\r\n1986-11-03,6.00\r\n1986-11-04,5.94\r\n1986-11-05,6.55\r\n1986-11-06,6.07\r\n1986-11-07,5.94\r\n1986-11-08,5.94\r\n1986-11-09,5.94\r\n1986-11-10,5.99\r\n1986-11-11,5.99\r\n1986-11-12,5.99\r\n1986-11-13,5.94\r\n1986-11-14,5.89\r\n1986-11-15,5.89\r\n1986-11-16,5.89\r\n1986-11-17,6.14\r\n1986-11-18,6.02\r\n1986-11-19,7.13\r\n1986-11-20,6.16\r\n1986-11-21,5.96\r\n1986-11-22,5.96\r\n1986-11-23,5.96\r\n1986-11-24,5.98\r\n1986-11-25,5.98\r\n1986-11-26,5.99\r\n1986-11-27,5.99\r\n1986-11-28,6.03\r\n1986-11-29,6.03\r\n1986-11-30,6.03\r\n1986-12-01,6.38\r\n1986-12-02,6.54\r\n1986-12-03,6.72\r\n1986-12-04,6.14\r\n1986-12-05,5.94\r\n1986-12-06,5.94\r\n1986-12-07,5.94\r\n1986-12-08,6.02\r\n1986-12-09,5.95\r\n1986-12-10,5.86\r\n1986-12-11,5.86\r\n1986-12-12,5.93\r\n1986-12-13,5.93\r\n1986-12-14,5.93\r\n1986-12-15,6.53\r\n1986-12-16,6.48\r\n1986-12-17,7.46\r\n1986-12-18,6.44\r\n1986-12-19,6.22\r\n1986-12-20,6.22\r\n1986-12-21,6.22\r\n1986-12-22,6.48\r\n1986-12-23,6.39\r\n1986-12-24,6.23\r\n1986-12-25,6.23\r\n1986-12-26,6.42\r\n1986-12-27,6.42\r\n1986-12-28,6.42\r\n1986-12-29,8.38\r\n1986-12-30,16.17\r\n1986-12-31,14.35\r\n1987-01-01,14.35\r\n1987-01-02,6.46\r\n1987-01-03,6.46\r\n1987-01-04,6.46\r\n1987-01-05,6.86\r\n1987-01-06,6.56\r\n1987-01-07,6.20\r\n1987-01-08,5.98\r\n1987-01-09,5.93\r\n1987-01-10,5.93\r\n1987-01-11,5.93\r\n1987-01-12,6.22\r\n1987-01-13,6.19\r\n1987-01-14,5.89\r\n1987-01-15,6.01\r\n1987-01-16,5.97\r\n1987-01-17,5.97\r\n1987-01-18,5.97\r\n1987-01-19,5.97\r\n1987-01-20,6.13\r\n1987-01-21,6.07\r\n1987-01-22,6.08\r\n1987-01-23,6.02\r\n1987-01-24,6.02\r\n1987-01-25,6.02\r\n1987-01-26,6.14\r\n1987-01-27,6.15\r\n1987-01-28,6.50\r\n1987-01-29,6.22\r\n1987-01-30,6.28\r\n1987-01-31,6.28\r\n1987-02-01,6.28\r\n1987-02-02,6.30\r\n1987-02-03,6.20\r\n1987-02-04,5.97\r\n1987-02-05,5.95\r\n1987-02-06,6.07\r\n1987-02-07,6.07\r\n1987-02-08,6.07\r\n1987-02-09,6.29\r\n1987-02-10,6.33\r\n1987-02-11,6.17\r\n1987-02-12,6.22\r\n1987-02-13,6.10\r\n1987-02-14,6.10\r\n1987-02-15,6.10\r\n1987-02-16,6.10\r\n1987-02-17,6.59\r\n1987-02-18,6.25\r\n1987-02-19,6.00\r\n1987-02-20,5.92\r\n1987-02-21,5.92\r\n1987-02-22,5.92\r\n1987-02-23,6.06\r\n1987-02-24,5.95\r\n1987-02-25,5.89\r\n1987-02-26,5.97\r\n1987-02-27,6.02\r\n1987-02-28,6.02\r\n1987-03-01,6.02\r\n1987-03-02,6.18\r\n1987-03-03,6.22\r\n1987-03-04,6.01\r\n1987-03-05,5.99\r\n1987-03-06,6.00\r\n1987-03-07,6.00\r\n1987-03-08,6.00\r\n1987-03-09,6.21\r\n1987-03-10,6.29\r\n1987-03-11,6.32\r\n1987-03-12,6.14\r\n1987-03-13,6.05\r\n1987-03-14,6.05\r\n1987-03-15,6.05\r\n1987-03-16,6.25\r\n1987-03-17,6.05\r\n1987-03-18,5.97\r\n1987-03-19,6.06\r\n1987-03-20,6.09\r\n1987-03-21,6.09\r\n1987-03-22,6.09\r\n1987-03-23,6.21\r\n1987-03-24,6.14\r\n1987-03-25,6.28\r\n1987-03-26,6.21\r\n1987-03-27,6.15\r\n1987-03-28,6.15\r\n1987-03-29,6.15\r\n1987-03-30,6.33\r\n1987-03-31,6.23\r\n1987-04-01,6.22\r\n1987-04-02,6.14\r\n1987-04-03,5.99\r\n1987-04-04,5.99\r\n1987-04-05,5.99\r\n1987-04-06,6.20\r\n1987-04-07,6.17\r\n1987-04-08,6.45\r\n1987-04-09,6.27\r\n1987-04-10,6.35\r\n1987-04-11,6.35\r\n1987-04-12,6.35\r\n1987-04-13,6.56\r\n1987-04-14,6.55\r\n1987-04-15,6.45\r\n1987-04-16,6.26\r\n1987-04-17,6.05\r\n1987-04-18,6.05\r\n1987-04-19,6.05\r\n1987-04-20,6.21\r\n1987-04-21,6.42\r\n1987-04-22,6.78\r\n1987-04-23,6.42\r\n1987-04-24,6.29\r\n1987-04-25,6.29\r\n1987-04-26,6.29\r\n1987-04-27,6.57\r\n1987-04-28,6.75\r\n1987-04-29,6.87\r\n1987-04-30,7.63\r\n1987-05-01,7.67\r\n1987-05-02,7.67\r\n1987-05-03,7.67\r\n1987-05-04,7.00\r\n1987-05-05,6.86\r\n1987-05-06,6.61\r\n1987-05-07,6.84\r\n1987-05-08,6.72\r\n1987-05-09,6.72\r\n1987-05-10,6.72\r\n1987-05-11,6.84\r\n1987-05-12,6.75\r\n1987-05-13,6.67\r\n1987-05-14,6.75\r\n1987-05-15,6.84\r\n1987-05-16,6.84\r\n1987-05-17,6.84\r\n1987-05-18,6.88\r\n1987-05-19,6.67\r\n1987-05-20,6.60\r\n1987-05-21,6.77\r\n1987-05-22,6.72\r\n1987-05-23,6.72\r\n1987-05-24,6.72\r\n1987-05-25,6.72\r\n1987-05-26,6.97\r\n1987-05-27,6.97\r\n1987-05-28,6.80\r\n1987-05-29,6.63\r\n1987-05-30,6.63\r\n1987-05-31,6.63\r\n1987-06-01,6.74\r\n1987-06-02,6.56\r\n1987-06-03,6.58\r\n1987-06-04,6.74\r\n1987-06-05,6.70\r\n1987-06-06,6.70\r\n1987-06-07,6.70\r\n1987-06-08,6.75\r\n1987-06-09,6.68\r\n1987-06-10,6.63\r\n1987-06-11,6.73\r\n1987-06-12,6.71\r\n1987-06-13,6.71\r\n1987-06-14,6.71\r\n1987-06-15,6.85\r\n1987-06-16,6.74\r\n1987-06-17,6.80\r\n1987-06-18,6.81\r\n1987-06-19,6.76\r\n1987-06-20,6.76\r\n1987-06-21,6.76\r\n1987-06-22,6.83\r\n1987-06-23,6.84\r\n1987-06-24,6.75\r\n1987-06-25,6.81\r\n1987-06-26,6.72\r\n1987-06-27,6.72\r\n1987-06-28,6.72\r\n1987-06-29,6.68\r\n1987-06-30,6.56\r\n1987-07-01,6.07\r\n1987-07-02,6.68\r\n1987-07-03,6.59\r\n1987-07-04,6.59\r\n1987-07-05,6.59\r\n1987-07-06,6.73\r\n1987-07-07,6.72\r\n1987-07-08,6.59\r\n1987-07-09,6.62\r\n1987-07-10,6.54\r\n1987-07-11,6.54\r\n1987-07-12,6.54\r\n1987-07-13,6.62\r\n1987-07-14,6.40\r\n1987-07-15,6.38\r\n1987-07-16,6.56\r\n1987-07-17,6.56\r\n1987-07-18,6.56\r\n1987-07-19,6.56\r\n1987-07-20,6.66\r\n1987-07-21,6.58\r\n1987-07-22,6.52\r\n1987-07-23,6.60\r\n1987-07-24,6.62\r\n1987-07-25,6.62\r\n1987-07-26,6.62\r\n1987-07-27,6.64\r\n1987-07-28,6.58\r\n1987-07-29,6.70\r\n1987-07-30,6.72\r\n1987-07-31,6.75\r\n1987-08-01,6.75\r\n1987-08-02,6.75\r\n1987-08-03,6.82\r\n1987-08-04,6.76\r\n1987-08-05,6.68\r\n1987-08-06,6.62\r\n1987-08-07,6.57\r\n1987-08-08,6.57\r\n1987-08-09,6.57\r\n1987-08-10,6.58\r\n1987-08-11,6.47\r\n1987-08-12,6.65\r\n1987-08-13,6.67\r\n1987-08-14,6.75\r\n1987-08-15,6.75\r\n1987-08-16,6.75\r\n1987-08-17,6.91\r\n1987-08-18,6.70\r\n1987-08-19,6.66\r\n1987-08-20,6.63\r\n1987-08-21,6.62\r\n1987-08-22,6.62\r\n1987-08-23,6.62\r\n1987-08-24,6.77\r\n1987-08-25,6.85\r\n1987-08-26,7.24\r\n1987-08-27,6.90\r\n1987-08-28,6.84\r\n1987-08-29,6.84\r\n1987-08-30,6.84\r\n1987-08-31,6.95\r\n1987-09-01,6.84\r\n1987-09-02,6.77\r\n1987-09-03,6.84\r\n1987-09-04,6.85\r\n1987-09-05,6.85\r\n1987-09-06,6.85\r\n1987-09-07,6.85\r\n1987-09-08,7.15\r\n1987-09-09,7.23\r\n1987-09-10,7.19\r\n1987-09-11,7.13\r\n1987-09-12,7.13\r\n1987-09-13,7.13\r\n1987-09-14,7.24\r\n1987-09-15,7.42\r\n1987-09-16,7.26\r\n1987-09-17,7.09\r\n1987-09-18,7.05\r\n1987-09-19,7.05\r\n1987-09-20,7.05\r\n1987-09-21,7.32\r\n1987-09-22,7.54\r\n1987-09-23,7.74\r\n1987-09-24,7.35\r\n1987-09-25,7.27\r\n1987-09-26,7.27\r\n1987-09-27,7.27\r\n1987-09-28,7.48\r\n1987-09-29,7.90\r\n1987-09-30,8.38\r\n1987-10-01,7.71\r\n1987-10-02,7.42\r\n1987-10-03,7.42\r\n1987-10-04,7.42\r\n1987-10-05,7.45\r\n1987-10-06,7.32\r\n1987-10-07,7.30\r\n1987-10-08,7.55\r\n1987-10-09,7.58\r\n1987-10-10,7.58\r\n1987-10-11,7.58\r\n1987-10-12,7.58\r\n1987-10-13,7.65\r\n1987-10-14,7.59\r\n1987-10-15,7.76\r\n1987-10-16,7.55\r\n1987-10-17,7.55\r\n1987-10-18,7.55\r\n1987-10-19,7.61\r\n1987-10-20,7.07\r\n1987-10-21,6.47\r\n1987-10-22,7.14\r\n1987-10-23,7.00\r\n1987-10-24,7.00\r\n1987-10-25,7.00\r\n1987-10-26,7.24\r\n1987-10-27,7.14\r\n1987-10-28,6.72\r\n1987-10-29,6.76\r\n1987-10-30,6.62\r\n1987-10-31,6.62\r\n1987-11-01,6.62\r\n1987-11-02,6.64\r\n1987-11-03,6.06\r\n1987-11-04,5.69\r\n1987-11-05,6.57\r\n1987-11-06,6.70\r\n1987-11-07,6.70\r\n1987-11-08,6.70\r\n1987-11-09,6.82\r\n1987-11-10,6.63\r\n1987-11-11,6.63\r\n1987-11-12,6.72\r\n1987-11-13,6.80\r\n1987-11-14,6.80\r\n1987-11-15,6.80\r\n1987-11-16,7.11\r\n1987-11-17,6.72\r\n1987-11-18,6.46\r\n1987-11-19,6.82\r\n1987-11-20,6.74\r\n1987-11-21,6.74\r\n1987-11-22,6.74\r\n1987-11-23,6.89\r\n1987-11-24,6.77\r\n1987-11-25,6.73\r\n1987-11-26,6.73\r\n1987-11-27,6.76\r\n1987-11-28,6.76\r\n1987-11-29,6.76\r\n1987-11-30,7.19\r\n1987-12-01,7.04\r\n1987-12-02,7.00\r\n1987-12-03,6.99\r\n1987-12-04,6.82\r\n1987-12-05,6.82\r\n1987-12-06,6.82\r\n1987-12-07,6.93\r\n1987-12-08,6.79\r\n1987-12-09,6.72\r\n1987-12-10,6.83\r\n1987-12-11,6.81\r\n1987-12-12,6.81\r\n1987-12-13,6.81\r\n1987-12-14,6.78\r\n1987-12-15,6.51\r\n1987-12-16,5.52\r\n1987-12-17,6.67\r\n1987-12-18,6.75\r\n1987-12-19,6.75\r\n1987-12-20,6.75\r\n1987-12-21,6.85\r\n1987-12-22,6.77\r\n1987-12-23,6.74\r\n1987-12-24,6.70\r\n1987-12-25,6.70\r\n1987-12-26,6.70\r\n1987-12-27,6.70\r\n1987-12-28,6.91\r\n1987-12-29,7.21\r\n1987-12-30,6.77\r\n1987-12-31,6.89\r\n1988-01-01,6.89\r\n1988-01-02,6.89\r\n1988-01-03,6.89\r\n1988-01-04,7.30\r\n1988-01-05,7.34\r\n1988-01-06,6.94\r\n1988-01-07,6.91\r\n1988-01-08,6.80\r\n1988-01-09,6.80\r\n1988-01-10,6.80\r\n1988-01-11,6.89\r\n1988-01-12,6.75\r\n1988-01-13,6.72\r\n1988-01-14,6.86\r\n1988-01-15,6.89\r\n1988-01-16,6.89\r\n1988-01-17,6.89\r\n1988-01-18,6.89\r\n1988-01-19,6.96\r\n1988-01-20,6.86\r\n1988-01-21,6.67\r\n1988-01-22,6.57\r\n1988-01-23,6.57\r\n1988-01-24,6.57\r\n1988-01-25,6.86\r\n1988-01-26,6.78\r\n1988-01-27,6.57\r\n1988-01-28,6.73\r\n1988-01-29,6.79\r\n1988-01-30,6.79\r\n1988-01-31,6.79\r\n1988-02-01,6.96\r\n1988-02-02,6.78\r\n1988-02-03,6.55\r\n1988-02-04,6.57\r\n1988-02-05,6.58\r\n1988-02-06,6.58\r\n1988-02-07,6.58\r\n1988-02-08,6.58\r\n1988-02-09,6.04\r\n1988-02-10,5.72\r\n1988-02-11,6.50\r\n1988-02-12,6.59\r\n1988-02-13,6.59\r\n1988-02-14,6.59\r\n1988-02-15,6.59\r\n1988-02-16,6.90\r\n1988-02-17,6.79\r\n1988-02-18,6.65\r\n1988-02-19,6.66\r\n1988-02-20,6.66\r\n1988-02-21,6.66\r\n1988-02-22,6.77\r\n1988-02-23,6.63\r\n1988-02-24,6.43\r\n1988-02-25,6.60\r\n1988-02-26,6.56\r\n1988-02-27,6.56\r\n1988-02-28,6.56\r\n1988-02-29,6.67\r\n1988-03-01,6.66\r\n1988-03-02,6.62\r\n1988-03-03,6.58\r\n1988-03-04,6.51\r\n1988-03-05,6.51\r\n1988-03-06,6.51\r\n1988-03-07,6.51\r\n1988-03-08,6.36\r\n1988-03-09,6.59\r\n1988-03-10,6.70\r\n1988-03-11,6.60\r\n1988-03-12,6.60\r\n1988-03-13,6.60\r\n1988-03-14,6.70\r\n1988-03-15,6.60\r\n1988-03-16,6.48\r\n1988-03-17,6.47\r\n1988-03-18,6.45\r\n1988-03-19,6.45\r\n1988-03-20,6.45\r\n1988-03-21,6.45\r\n1988-03-22,6.46\r\n1988-03-23,6.83\r\n1988-03-24,6.66\r\n1988-03-25,6.60\r\n1988-03-26,6.60\r\n1988-03-27,6.60\r\n1988-03-28,6.64\r\n1988-03-29,6.57\r\n1988-03-30,6.66\r\n1988-03-31,6.83\r\n1988-04-01,6.70\r\n1988-04-02,6.70\r\n1988-04-03,6.70\r\n1988-04-04,6.71\r\n1988-04-05,6.83\r\n1988-04-06,7.30\r\n1988-04-07,6.93\r\n1988-04-08,6.84\r\n1988-04-09,6.84\r\n1988-04-10,6.84\r\n1988-04-11,6.83\r\n1988-04-12,6.75\r\n1988-04-13,6.67\r\n1988-04-14,6.74\r\n1988-04-15,6.87\r\n1988-04-16,6.87\r\n1988-04-17,6.87\r\n1988-04-18,6.84\r\n1988-04-19,6.85\r\n1988-04-20,7.49\r\n1988-04-21,6.95\r\n1988-04-22,6.81\r\n1988-04-23,6.81\r\n1988-04-24,6.81\r\n1988-04-25,6.90\r\n1988-04-26,6.81\r\n1988-04-27,6.83\r\n1988-04-28,7.10\r\n1988-04-29,6.98\r\n1988-04-30,6.98\r\n1988-05-01,6.98\r\n1988-05-02,6.86\r\n1988-05-03,6.60\r\n1988-05-04,6.24\r\n1988-05-05,6.86\r\n1988-05-06,6.88\r\n1988-05-07,6.88\r\n1988-05-08,6.88\r\n1988-05-09,7.12\r\n1988-05-10,7.32\r\n1988-05-11,7.20\r\n1988-05-12,7.10\r\n1988-05-13,7.14\r\n1988-05-14,7.14\r\n1988-05-15,7.14\r\n1988-05-16,7.30\r\n1988-05-17,6.98\r\n1988-05-18,6.45\r\n1988-05-19,7.04\r\n1988-05-20,7.15\r\n1988-05-21,7.15\r\n1988-05-22,7.15\r\n1988-05-23,7.21\r\n1988-05-24,7.07\r\n1988-05-25,7.19\r\n1988-05-26,7.49\r\n1988-05-27,7.42\r\n1988-05-28,7.42\r\n1988-05-29,7.42\r\n1988-05-30,7.42\r\n1988-05-31,7.48\r\n1988-06-01,7.24\r\n1988-06-02,7.37\r\n1988-06-03,7.34\r\n1988-06-04,7.34\r\n1988-06-05,7.34\r\n1988-06-06,7.45\r\n1988-06-07,7.38\r\n1988-06-08,7.37\r\n1988-06-09,7.32\r\n1988-06-10,7.34\r\n1988-06-11,7.34\r\n1988-06-12,7.34\r\n1988-06-13,7.52\r\n1988-06-14,7.39\r\n1988-06-15,7.75\r\n1988-06-16,7.51\r\n1988-06-17,7.54\r\n1988-06-18,7.54\r\n1988-06-19,7.54\r\n1988-06-20,7.62\r\n1988-06-21,7.57\r\n1988-06-22,7.46\r\n1988-06-23,7.55\r\n1988-06-24,7.56\r\n1988-06-25,7.56\r\n1988-06-26,7.56\r\n1988-06-27,7.61\r\n1988-06-28,7.68\r\n1988-06-29,7.87\r\n1988-06-30,8.27\r\n1988-07-01,7.75\r\n1988-07-02,7.75\r\n1988-07-03,7.75\r\n1988-07-04,7.75\r\n1988-07-05,7.75\r\n1988-07-06,7.67\r\n1988-07-07,7.66\r\n1988-07-08,7.54\r\n1988-07-09,7.54\r\n1988-07-10,7.54\r\n1988-07-11,7.59\r\n1988-07-12,7.51\r\n1988-07-13,7.78\r\n1988-07-14,7.80\r\n1988-07-15,7.87\r\n1988-07-16,7.87\r\n1988-07-17,7.87\r\n1988-07-18,7.89\r\n1988-07-19,7.79\r\n1988-07-20,7.74\r\n1988-07-21,7.85\r\n1988-07-22,7.87\r\n1988-07-23,7.87\r\n1988-07-24,7.87\r\n1988-07-25,7.89\r\n1988-07-26,7.82\r\n1988-07-27,7.42\r\n1988-07-28,7.88\r\n1988-07-29,7.84\r\n1988-07-30,7.84\r\n1988-07-31,7.84\r\n1988-08-01,7.91\r\n1988-08-02,7.81\r\n1988-08-03,7.73\r\n1988-08-04,7.75\r\n1988-08-05,7.74\r\n1988-08-06,7.74\r\n1988-08-07,7.74\r\n1988-08-08,7.78\r\n1988-08-09,7.73\r\n1988-08-10,7.80\r\n1988-08-11,8.15\r\n1988-08-12,8.14\r\n1988-08-13,8.14\r\n1988-08-14,8.14\r\n1988-08-15,8.41\r\n1988-08-16,8.22\r\n1988-08-17,8.11\r\n1988-08-18,8.14\r\n1988-08-19,8.09\r\n1988-08-20,8.09\r\n1988-08-21,8.09\r\n1988-08-22,8.05\r\n1988-08-23,7.89\r\n1988-08-24,7.82\r\n1988-08-25,8.21\r\n1988-08-26,8.16\r\n1988-08-27,8.16\r\n1988-08-28,8.16\r\n1988-08-29,8.16\r\n1988-08-30,8.08\r\n1988-08-31,8.14\r\n1988-09-01,8.27\r\n1988-09-02,8.27\r\n1988-09-03,8.27\r\n1988-09-04,8.27\r\n1988-09-05,8.27\r\n1988-09-06,7.98\r\n1988-09-07,7.74\r\n1988-09-08,8.13\r\n1988-09-09,8.13\r\n1988-09-10,8.13\r\n1988-09-11,8.13\r\n1988-09-12,8.17\r\n1988-09-13,8.11\r\n1988-09-14,8.09\r\n1988-09-15,8.24\r\n1988-09-16,8.08\r\n1988-09-17,8.08\r\n1988-09-18,8.08\r\n1988-09-19,8.05\r\n1988-09-20,8.06\r\n1988-09-21,8.63\r\n1988-09-22,8.28\r\n1988-09-23,8.21\r\n1988-09-24,8.21\r\n1988-09-25,8.21\r\n1988-09-26,8.27\r\n1988-09-27,8.26\r\n1988-09-28,8.25\r\n1988-09-29,8.39\r\n1988-09-30,8.54\r\n1988-10-01,8.54\r\n1988-10-02,8.54\r\n1988-10-03,8.18\r\n1988-10-04,8.10\r\n1988-10-05,8.39\r\n1988-10-06,8.31\r\n1988-10-07,8.27\r\n1988-10-08,8.27\r\n1988-10-09,8.27\r\n1988-10-10,8.27\r\n1988-10-11,8.29\r\n1988-10-12,8.22\r\n1988-10-13,8.15\r\n1988-10-14,8.14\r\n1988-10-15,8.14\r\n1988-10-16,8.14\r\n1988-10-17,8.37\r\n1988-10-18,8.33\r\n1988-10-19,8.64\r\n1988-10-20,8.38\r\n1988-10-21,8.29\r\n1988-10-22,8.29\r\n1988-10-23,8.29\r\n1988-10-24,8.31\r\n1988-10-25,8.26\r\n1988-10-26,8.24\r\n1988-10-27,8.27\r\n1988-10-28,8.30\r\n1988-10-29,8.30\r\n1988-10-30,8.30\r\n1988-10-31,8.39\r\n1988-11-01,8.35\r\n1988-11-02,8.63\r\n1988-11-03,8.37\r\n1988-11-04,8.27\r\n1988-11-05,8.27\r\n1988-11-06,8.27\r\n1988-11-07,8.35\r\n1988-11-08,8.33\r\n1988-11-09,8.29\r\n1988-11-10,8.27\r\n1988-11-11,8.27\r\n1988-11-12,8.27\r\n1988-11-13,8.27\r\n1988-11-14,8.95\r\n1988-11-15,8.44\r\n1988-11-16,7.37\r\n1988-11-17,8.33\r\n1988-11-18,8.29\r\n1988-11-19,8.29\r\n1988-11-20,8.29\r\n1988-11-21,8.37\r\n1988-11-22,8.40\r\n1988-11-23,8.34\r\n1988-11-24,8.34\r\n1988-11-25,8.43\r\n1988-11-26,8.43\r\n1988-11-27,8.43\r\n1988-11-28,8.55\r\n1988-11-29,8.39\r\n1988-11-30,8.50\r\n1988-12-01,8.54\r\n1988-12-02,8.63\r\n1988-12-03,8.63\r\n1988-12-04,8.63\r\n1988-12-05,8.65\r\n1988-12-06,8.59\r\n1988-12-07,8.49\r\n1988-12-08,8.50\r\n1988-12-09,8.52\r\n1988-12-10,8.52\r\n1988-12-11,8.52\r\n1988-12-12,8.58\r\n1988-12-13,8.39\r\n1988-12-14,8.51\r\n1988-12-15,8.81\r\n1988-12-16,8.90\r\n1988-12-17,8.90\r\n1988-12-18,8.90\r\n1988-12-19,8.96\r\n1988-12-20,8.85\r\n1988-12-21,8.79\r\n1988-12-22,8.85\r\n1988-12-23,8.74\r\n1988-12-24,8.74\r\n1988-12-25,8.74\r\n1988-12-26,8.74\r\n1988-12-27,8.84\r\n1988-12-28,9.39\r\n1988-12-29,9.64\r\n1988-12-30,9.04\r\n1988-12-31,9.04\r\n1989-01-01,9.04\r\n1989-01-02,9.04\r\n1989-01-03,9.40\r\n1989-01-04,9.35\r\n1989-01-05,9.00\r\n1989-01-06,9.04\r\n1989-01-07,9.04\r\n1989-01-08,9.04\r\n1989-01-09,9.19\r\n1989-01-10,9.15\r\n1989-01-11,9.10\r\n1989-01-12,9.15\r\n1989-01-13,9.10\r\n1989-01-14,9.10\r\n1989-01-15,9.10\r\n1989-01-16,9.10\r\n1989-01-17,9.26\r\n1989-01-18,9.07\r\n1989-01-19,8.98\r\n1989-01-20,8.97\r\n1989-01-21,8.97\r\n1989-01-22,8.97\r\n1989-01-23,9.10\r\n1989-01-24,9.10\r\n1989-01-25,9.32\r\n1989-01-26,9.25\r\n1989-01-27,9.17\r\n1989-01-28,9.17\r\n1989-01-29,9.17\r\n1989-01-30,9.18\r\n1989-01-31,9.14\r\n1989-02-01,9.02\r\n1989-02-02,9.03\r\n1989-02-03,9.08\r\n1989-02-04,9.08\r\n1989-02-05,9.08\r\n1989-02-06,9.08\r\n1989-02-07,9.00\r\n1989-02-08,9.38\r\n1989-02-09,9.31\r\n1989-02-10,9.19\r\n1989-02-11,9.19\r\n1989-02-12,9.19\r\n1989-02-13,9.30\r\n1989-02-14,9.29\r\n1989-02-15,9.40\r\n1989-02-16,9.35\r\n1989-02-17,9.31\r\n1989-02-18,9.31\r\n1989-02-19,9.31\r\n1989-02-20,9.31\r\n1989-02-21,9.33\r\n1989-02-22,9.81\r\n1989-02-23,9.60\r\n1989-02-24,9.79\r\n1989-02-25,9.79\r\n1989-02-26,9.79\r\n1989-02-27,9.92\r\n1989-02-28,9.87\r\n1989-03-01,9.82\r\n1989-03-02,9.83\r\n1989-03-03,9.70\r\n1989-03-04,9.70\r\n1989-03-05,9.70\r\n1989-03-06,9.77\r\n1989-03-07,9.59\r\n1989-03-08,10.50\r\n1989-03-09,9.89\r\n1989-03-10,9.82\r\n1989-03-11,9.82\r\n1989-03-12,9.82\r\n1989-03-13,9.82\r\n1989-03-14,9.78\r\n1989-03-15,9.84\r\n1989-03-16,9.79\r\n1989-03-17,9.81\r\n1989-03-18,9.81\r\n1989-03-19,9.81\r\n1989-03-20,9.85\r\n1989-03-21,9.80\r\n1989-03-22,10.18\r\n1989-03-23,9.92\r\n1989-03-24,9.88\r\n1989-03-25,9.88\r\n1989-03-26,9.88\r\n1989-03-27,9.90\r\n1989-03-28,9.88\r\n1989-03-29,9.84\r\n1989-03-30,9.89\r\n1989-03-31,9.79\r\n1989-04-01,9.79\r\n1989-04-02,9.79\r\n1989-04-03,9.92\r\n1989-04-04,9.52\r\n1989-04-05,9.28\r\n1989-04-06,9.85\r\n1989-04-07,9.83\r\n1989-04-08,9.83\r\n1989-04-09,9.83\r\n1989-04-10,9.85\r\n1989-04-11,9.79\r\n1989-04-12,9.78\r\n1989-04-13,9.84\r\n1989-04-14,9.83\r\n1989-04-15,9.83\r\n1989-04-16,9.83\r\n1989-04-17,9.89\r\n1989-04-18,9.71\r\n1989-04-19,10.71\r\n1989-04-20,9.89\r\n1989-04-21,9.87\r\n1989-04-22,9.87\r\n1989-04-23,9.87\r\n1989-04-24,9.88\r\n1989-04-25,9.85\r\n1989-04-26,9.82\r\n1989-04-27,9.85\r\n1989-04-28,9.82\r\n1989-04-29,9.82\r\n1989-04-30,9.82\r\n1989-05-01,9.85\r\n1989-05-02,9.83\r\n1989-05-03,10.15\r\n1989-05-04,9.91\r\n1989-05-05,9.90\r\n1989-05-06,9.90\r\n1989-05-07,9.90\r\n1989-05-08,9.84\r\n1989-05-09,9.79\r\n1989-05-10,9.77\r\n1989-05-11,9.74\r\n1989-05-12,9.67\r\n1989-05-13,9.67\r\n1989-05-14,9.67\r\n1989-05-15,9.79\r\n1989-05-16,9.76\r\n1989-05-17,9.92\r\n1989-05-18,9.80\r\n1989-05-19,9.73\r\n1989-05-20,9.73\r\n1989-05-21,9.73\r\n1989-05-22,9.70\r\n1989-05-23,9.73\r\n1989-05-24,9.75\r\n1989-05-25,9.76\r\n1989-05-26,9.71\r\n1989-05-27,9.71\r\n1989-05-28,9.71\r\n1989-05-29,9.71\r\n1989-05-30,9.77\r\n1989-05-31,10.48\r\n1989-06-01,9.84\r\n1989-06-02,9.73\r\n1989-06-03,9.73\r\n1989-06-04,9.73\r\n1989-06-05,9.64\r\n1989-06-06,9.58\r\n1989-06-07,9.48\r\n1989-06-08,9.47\r\n1989-06-09,9.36\r\n1989-06-10,9.36\r\n1989-06-11,9.36\r\n1989-06-12,9.35\r\n1989-06-13,9.30\r\n1989-06-14,9.22\r\n1989-06-15,9.46\r\n1989-06-16,9.50\r\n1989-06-17,9.50\r\n1989-06-18,9.50\r\n1989-06-19,9.44\r\n1989-06-20,9.41\r\n1989-06-21,9.55\r\n1989-06-22,9.66\r\n1989-06-23,9.57\r\n1989-06-24,9.57\r\n1989-06-25,9.57\r\n1989-06-26,9.51\r\n1989-06-27,9.55\r\n1989-06-28,9.64\r\n1989-06-29,9.69\r\n1989-06-30,9.63\r\n1989-07-01,9.63\r\n1989-07-02,9.63\r\n1989-07-03,9.49\r\n1989-07-04,9.49\r\n1989-07-05,9.48\r\n1989-07-06,9.46\r\n1989-07-07,9.23\r\n1989-07-08,9.23\r\n1989-07-09,9.23\r\n1989-07-10,9.22\r\n1989-07-11,9.25\r\n1989-07-12,9.54\r\n1989-07-13,9.31\r\n1989-07-14,9.22\r\n1989-07-15,9.22\r\n1989-07-16,9.22\r\n1989-07-17,9.28\r\n1989-07-18,9.24\r\n1989-07-19,9.21\r\n1989-07-20,9.19\r\n1989-07-21,9.20\r\n1989-07-22,9.20\r\n1989-07-23,9.20\r\n1989-07-24,9.17\r\n1989-07-25,9.14\r\n1989-07-26,8.86\r\n1989-07-27,9.00\r\n1989-07-28,8.94\r\n1989-07-29,8.94\r\n1989-07-30,8.94\r\n1989-07-31,8.94\r\n1989-08-01,8.95\r\n1989-08-02,8.95\r\n1989-08-03,8.94\r\n1989-08-04,8.93\r\n1989-08-05,8.93\r\n1989-08-06,8.93\r\n1989-08-07,8.95\r\n1989-08-08,8.95\r\n1989-08-09,9.24\r\n1989-08-10,9.02\r\n1989-08-11,9.00\r\n1989-08-12,9.00\r\n1989-08-13,9.00\r\n1989-08-14,9.04\r\n1989-08-15,9.19\r\n1989-08-16,9.03\r\n1989-08-17,8.95\r\n1989-08-18,8.93\r\n1989-08-19,8.93\r\n1989-08-20,8.93\r\n1989-08-21,8.94\r\n1989-08-22,8.92\r\n1989-08-23,9.44\r\n1989-08-24,9.05\r\n1989-08-25,8.98\r\n1989-08-26,8.98\r\n1989-08-27,8.98\r\n1989-08-28,8.95\r\n1989-08-29,8.92\r\n1989-08-30,8.89\r\n1989-08-31,8.92\r\n1989-09-01,8.93\r\n1989-09-02,8.93\r\n1989-09-03,8.93\r\n1989-09-04,8.93\r\n1989-09-05,8.93\r\n1989-09-06,9.14\r\n1989-09-07,9.00\r\n1989-09-08,8.98\r\n1989-09-09,8.98\r\n1989-09-10,8.98\r\n1989-09-11,8.95\r\n1989-09-12,8.93\r\n1989-09-13,8.89\r\n1989-09-14,8.90\r\n1989-09-15,9.02\r\n1989-09-16,9.02\r\n1989-09-17,9.02\r\n1989-09-18,8.96\r\n1989-09-19,8.94\r\n1989-09-20,9.48\r\n1989-09-21,8.97\r\n1989-09-22,8.99\r\n1989-09-23,8.99\r\n1989-09-24,8.99\r\n1989-09-25,9.09\r\n1989-09-26,9.05\r\n1989-09-27,9.03\r\n1989-09-28,9.20\r\n1989-09-29,9.24\r\n1989-09-30,9.24\r\n1989-10-01,9.24\r\n1989-10-02,9.16\r\n1989-10-03,9.08\r\n1989-10-04,9.13\r\n1989-10-05,9.02\r\n1989-10-06,8.92\r\n1989-10-07,8.92\r\n1989-10-08,8.92\r\n1989-10-09,8.92\r\n1989-10-10,8.91\r\n1989-10-11,8.88\r\n1989-10-12,8.82\r\n1989-10-13,8.81\r\n1989-10-14,8.81\r\n1989-10-15,8.81\r\n1989-10-16,8.63\r\n1989-10-17,8.70\r\n1989-10-18,8.75\r\n1989-10-19,8.71\r\n1989-10-20,8.71\r\n1989-10-21,8.71\r\n1989-10-22,8.71\r\n1989-10-23,8.73\r\n1989-10-24,8.72\r\n1989-10-25,8.73\r\n1989-10-26,8.75\r\n1989-10-27,8.74\r\n1989-10-28,8.74\r\n1989-10-29,8.74\r\n1989-10-30,8.75\r\n1989-10-31,8.89\r\n1989-11-01,8.98\r\n1989-11-02,8.77\r\n1989-11-03,8.74\r\n1989-11-04,8.74\r\n1989-11-05,8.74\r\n1989-11-06,8.74\r\n1989-11-07,8.64\r\n1989-11-08,8.48\r\n1989-11-09,8.42\r\n1989-11-10,8.40\r\n1989-11-11,8.40\r\n1989-11-12,8.40\r\n1989-11-13,8.44\r\n1989-11-14,8.44\r\n1989-11-15,8.73\r\n1989-11-16,8.52\r\n1989-11-17,8.45\r\n1989-11-18,8.45\r\n1989-11-19,8.45\r\n1989-11-20,8.47\r\n1989-11-21,8.50\r\n1989-11-22,8.38\r\n1989-11-23,8.38\r\n1989-11-24,8.30\r\n1989-11-25,8.30\r\n1989-11-26,8.30\r\n1989-11-27,8.56\r\n1989-11-28,8.73\r\n1989-11-29,8.99\r\n1989-11-30,8.60\r\n1989-12-01,8.51\r\n1989-12-02,8.51\r\n1989-12-03,8.51\r\n1989-12-04,8.53\r\n1989-12-05,8.51\r\n1989-12-06,8.47\r\n1989-12-07,8.48\r\n1989-12-08,8.46\r\n1989-12-09,8.46\r\n1989-12-10,8.46\r\n1989-12-11,8.44\r\n1989-12-12,8.44\r\n1989-12-13,8.58\r\n1989-12-14,8.51\r\n1989-12-15,8.56\r\n1989-12-16,8.56\r\n1989-12-17,8.56\r\n1989-12-18,8.56\r\n1989-12-19,8.50\r\n1989-12-20,8.42\r\n1989-12-21,8.27\r\n1989-12-22,8.19\r\n1989-12-23,8.19\r\n1989-12-24,8.19\r\n1989-12-25,8.19\r\n1989-12-26,8.43\r\n1989-12-27,9.18\r\n1989-12-28,9.45\r\n1989-12-29,7.97\r\n1989-12-30,7.97\r\n1989-12-31,7.97\r\n1990-01-01,7.97\r\n1990-01-02,8.54\r\n1990-01-03,8.37\r\n1990-01-04,8.29\r\n1990-01-05,8.20\r\n1990-01-06,8.20\r\n1990-01-07,8.20\r\n1990-01-08,8.27\r\n1990-01-09,8.25\r\n1990-01-10,8.12\r\n1990-01-11,8.21\r\n1990-01-12,8.16\r\n1990-01-13,8.16\r\n1990-01-14,8.16\r\n1990-01-15,8.16\r\n1990-01-16,8.31\r\n1990-01-17,8.26\r\n1990-01-18,8.23\r\n1990-01-19,8.19\r\n1990-01-20,8.19\r\n1990-01-21,8.19\r\n1990-01-22,8.19\r\n1990-01-23,8.19\r\n1990-01-24,8.40\r\n1990-01-25,8.24\r\n1990-01-26,8.24\r\n1990-01-27,8.24\r\n1990-01-28,8.24\r\n1990-01-29,8.24\r\n1990-01-30,8.23\r\n1990-01-31,8.26\r\n1990-02-01,8.25\r\n1990-02-02,8.23\r\n1990-02-03,8.23\r\n1990-02-04,8.23\r\n1990-02-05,8.22\r\n1990-02-06,8.19\r\n1990-02-07,8.22\r\n1990-02-08,8.21\r\n1990-02-09,8.21\r\n1990-02-10,8.21\r\n1990-02-11,8.21\r\n1990-02-12,8.21\r\n1990-02-13,8.21\r\n1990-02-14,8.21\r\n1990-02-15,8.32\r\n1990-02-16,8.19\r\n1990-02-17,8.19\r\n1990-02-18,8.19\r\n1990-02-19,8.19\r\n1990-02-20,8.24\r\n1990-02-21,8.41\r\n1990-02-22,8.28\r\n1990-02-23,8.25\r\n1990-02-24,8.25\r\n1990-02-25,8.25\r\n1990-02-26,8.28\r\n1990-02-27,8.27\r\n1990-02-28,8.29\r\n1990-03-01,8.30\r\n1990-03-02,8.27\r\n1990-03-03,8.27\r\n1990-03-04,8.27\r\n1990-03-05,8.24\r\n1990-03-06,8.21\r\n1990-03-07,8.40\r\n1990-03-08,8.30\r\n1990-03-09,8.29\r\n1990-03-10,8.29\r\n1990-03-11,8.29\r\n1990-03-12,8.28\r\n1990-03-13,8.23\r\n1990-03-14,8.21\r\n1990-03-15,8.29\r\n1990-03-16,8.22\r\n1990-03-17,8.22\r\n1990-03-18,8.22\r\n1990-03-19,8.24\r\n1990-03-20,8.26\r\n1990-03-21,8.47\r\n1990-03-22,8.28\r\n1990-03-23,8.25\r\n1990-03-24,8.25\r\n1990-03-25,8.25\r\n1990-03-26,8.25\r\n1990-03-27,8.26\r\n1990-03-28,8.30\r\n1990-03-29,8.37\r\n1990-03-30,8.30\r\n1990-03-31,8.30\r\n1990-04-01,8.30\r\n1990-04-02,8.34\r\n1990-04-03,8.31\r\n1990-04-04,8.37\r\n1990-04-05,8.31\r\n1990-04-06,8.26\r\n1990-04-07,8.26\r\n1990-04-08,8.26\r\n1990-04-09,8.24\r\n1990-04-10,8.21\r\n1990-04-11,8.20\r\n1990-04-12,8.21\r\n1990-04-13,8.18\r\n1990-04-14,8.18\r\n1990-04-15,8.18\r\n1990-04-16,8.31\r\n1990-04-17,8.39\r\n1990-04-18,8.46\r\n1990-04-19,8.31\r\n1990-04-20,8.24\r\n1990-04-21,8.24\r\n1990-04-22,8.24\r\n1990-04-23,8.25\r\n1990-04-24,8.21\r\n1990-04-25,8.21\r\n1990-04-26,8.21\r\n1990-04-27,8.18\r\n1990-04-28,8.18\r\n1990-04-29,8.18\r\n1990-04-30,8.23\r\n1990-05-01,8.11\r\n1990-05-02,7.73\r\n1990-05-03,8.19\r\n1990-05-04,8.21\r\n1990-05-05,8.21\r\n1990-05-06,8.21\r\n1990-05-07,8.23\r\n1990-05-08,8.20\r\n1990-05-09,8.18\r\n1990-05-10,8.23\r\n1990-05-11,8.24\r\n1990-05-12,8.24\r\n1990-05-13,8.24\r\n1990-05-14,8.27\r\n1990-05-15,8.34\r\n1990-05-16,7.53\r\n1990-05-17,8.20\r\n1990-05-18,8.22\r\n1990-05-19,8.22\r\n1990-05-20,8.22\r\n1990-05-21,8.24\r\n1990-05-22,8.22\r\n1990-05-23,8.24\r\n1990-05-24,8.29\r\n1990-05-25,8.27\r\n1990-05-26,8.27\r\n1990-05-27,8.27\r\n1990-05-28,8.27\r\n1990-05-29,8.26\r\n1990-05-30,7.69\r\n1990-05-31,8.23\r\n1990-06-01,8.28\r\n1990-06-02,8.28\r\n1990-06-03,8.28\r\n1990-06-04,8.28\r\n1990-06-05,8.27\r\n1990-06-06,8.22\r\n1990-06-07,8.25\r\n1990-06-08,8.26\r\n1990-06-09,8.26\r\n1990-06-10,8.26\r\n1990-06-11,8.26\r\n1990-06-12,8.23\r\n1990-06-13,8.61\r\n1990-06-14,8.29\r\n1990-06-15,8.29\r\n1990-06-16,8.29\r\n1990-06-17,8.29\r\n1990-06-18,8.28\r\n1990-06-19,8.25\r\n1990-06-20,8.24\r\n1990-06-21,8.25\r\n1990-06-22,8.24\r\n1990-06-23,8.24\r\n1990-06-24,8.24\r\n1990-06-25,8.30\r\n1990-06-26,8.33\r\n1990-06-27,8.39\r\n1990-06-28,8.36\r\n1990-06-29,8.32\r\n1990-06-30,8.32\r\n1990-07-01,8.32\r\n1990-07-02,8.35\r\n1990-07-03,8.32\r\n1990-07-04,8.32\r\n1990-07-05,8.32\r\n1990-07-06,8.32\r\n1990-07-07,8.32\r\n1990-07-08,8.32\r\n1990-07-09,8.33\r\n1990-07-10,8.34\r\n1990-07-11,8.01\r\n1990-07-12,8.29\r\n1990-07-13,8.18\r\n1990-07-14,8.18\r\n1990-07-15,8.18\r\n1990-07-16,8.07\r\n1990-07-17,8.05\r\n1990-07-18,8.02\r\n1990-07-19,8.04\r\n1990-07-20,7.99\r\n1990-07-21,7.99\r\n1990-07-22,7.99\r\n1990-07-23,8.02\r\n1990-07-24,8.02\r\n1990-07-25,8.28\r\n1990-07-26,8.05\r\n1990-07-27,8.01\r\n1990-07-28,8.01\r\n1990-07-29,8.01\r\n1990-07-30,8.03\r\n1990-07-31,8.05\r\n1990-08-01,8.07\r\n1990-08-02,8.09\r\n1990-08-03,8.03\r\n1990-08-04,8.03\r\n1990-08-05,8.03\r\n1990-08-06,8.04\r\n1990-08-07,8.05\r\n1990-08-08,8.19\r\n1990-08-09,8.10\r\n1990-08-10,8.05\r\n1990-08-11,8.05\r\n1990-08-12,8.05\r\n1990-08-13,8.23\r\n1990-08-14,8.14\r\n1990-08-15,8.28\r\n1990-08-16,8.44\r\n1990-08-17,8.20\r\n1990-08-18,8.20\r\n1990-08-19,8.20\r\n1990-08-20,8.08\r\n1990-08-21,8.00\r\n1990-08-22,8.96\r\n1990-08-23,8.13\r\n1990-08-24,8.07\r\n1990-08-25,8.07\r\n1990-08-26,8.07\r\n1990-08-27,8.08\r\n1990-08-28,8.07\r\n1990-08-29,8.04\r\n1990-08-30,8.06\r\n1990-08-31,8.06\r\n1990-09-01,8.06\r\n1990-09-02,8.06\r\n1990-09-03,8.06\r\n1990-09-04,8.17\r\n1990-09-05,9.31\r\n1990-09-06,8.20\r\n1990-09-07,8.13\r\n1990-09-08,8.13\r\n1990-09-09,8.13\r\n1990-09-10,8.13\r\n1990-09-11,8.08\r\n1990-09-12,8.03\r\n1990-09-13,8.03\r\n1990-09-14,7.93\r\n1990-09-15,7.93\r\n1990-09-16,7.93\r\n1990-09-17,8.04\r\n1990-09-18,7.87\r\n1990-09-19,9.53\r\n1990-09-20,8.17\r\n1990-09-21,8.22\r\n1990-09-22,8.22\r\n1990-09-23,8.22\r\n1990-09-24,8.33\r\n1990-09-25,8.35\r\n1990-09-26,8.29\r\n1990-09-27,8.21\r\n1990-09-28,8.03\r\n1990-09-29,8.03\r\n1990-09-30,8.03\r\n1990-10-01,8.25\r\n1990-10-02,8.32\r\n1990-10-03,8.71\r\n1990-10-04,8.31\r\n1990-10-05,8.19\r\n1990-10-06,8.19\r\n1990-10-07,8.19\r\n1990-10-08,8.19\r\n1990-10-09,8.21\r\n1990-10-10,8.11\r\n1990-10-11,8.02\r\n1990-10-12,7.98\r\n1990-10-13,7.98\r\n1990-10-14,7.98\r\n1990-10-15,8.07\r\n1990-10-16,8.01\r\n1990-10-17,7.69\r\n1990-10-18,8.04\r\n1990-10-19,8.01\r\n1990-10-20,8.01\r\n1990-10-21,8.01\r\n1990-10-22,7.99\r\n1990-10-23,7.93\r\n1990-10-24,7.94\r\n1990-10-25,8.02\r\n1990-10-26,7.97\r\n1990-10-27,7.97\r\n1990-10-28,7.97\r\n1990-10-29,7.87\r\n1990-10-30,7.84\r\n1990-10-31,9.52\r\n1990-11-01,8.06\r\n1990-11-02,8.02\r\n1990-11-03,8.02\r\n1990-11-04,8.02\r\n1990-11-05,7.96\r\n1990-11-06,7.89\r\n1990-11-07,7.80\r\n1990-11-08,7.77\r\n1990-11-09,7.73\r\n1990-11-10,7.73\r\n1990-11-11,7.73\r\n1990-11-12,7.73\r\n1990-11-13,8.00\r\n1990-11-14,8.92\r\n1990-11-15,8.12\r\n1990-11-16,7.85\r\n1990-11-17,7.85\r\n1990-11-18,7.85\r\n1990-11-19,7.72\r\n1990-11-20,7.65\r\n1990-11-21,7.59\r\n1990-11-22,7.59\r\n1990-11-23,7.56\r\n1990-11-24,7.56\r\n1990-11-25,7.56\r\n1990-11-26,7.65\r\n1990-11-27,7.62\r\n1990-11-28,7.39\r\n1990-11-29,7.65\r\n1990-11-30,7.61\r\n1990-12-01,7.61\r\n1990-12-02,7.61\r\n1990-12-03,7.65\r\n1990-12-04,7.58\r\n1990-12-05,7.47\r\n1990-12-06,7.44\r\n1990-12-07,7.25\r\n1990-12-08,7.25\r\n1990-12-09,7.25\r\n1990-12-10,7.18\r\n1990-12-11,7.05\r\n1990-12-12,7.36\r\n1990-12-13,7.25\r\n1990-12-14,7.29\r\n1990-12-15,7.29\r\n1990-12-16,7.29\r\n1990-12-17,7.44\r\n1990-12-18,7.37\r\n1990-12-19,7.13\r\n1990-12-20,7.20\r\n1990-12-21,7.06\r\n1990-12-22,7.06\r\n1990-12-23,7.06\r\n1990-12-24,6.45\r\n1990-12-25,6.45\r\n1990-12-26,8.86\r\n1990-12-27,8.65\r\n1990-12-28,7.54\r\n1990-12-29,7.54\r\n1990-12-30,7.54\r\n1990-12-31,5.53\r\n1991-01-01,5.53\r\n1991-01-02,7.85\r\n1991-01-03,7.18\r\n1991-01-04,6.52\r\n1991-01-05,6.52\r\n1991-01-06,6.52\r\n1991-01-07,6.26\r\n1991-01-08,5.94\r\n1991-01-09,5.88\r\n1991-01-10,6.81\r\n1991-01-11,6.68\r\n1991-01-12,6.68\r\n1991-01-13,6.68\r\n1991-01-14,6.83\r\n1991-01-15,6.89\r\n1991-01-16,6.81\r\n1991-01-17,6.60\r\n1991-01-18,5.90\r\n1991-01-19,5.90\r\n1991-01-20,5.90\r\n1991-01-21,5.90\r\n1991-01-22,7.56\r\n1991-01-23,10.39\r\n1991-01-24,7.69\r\n1991-01-25,7.59\r\n1991-01-26,7.59\r\n1991-01-27,7.59\r\n1991-01-28,7.61\r\n1991-01-29,7.16\r\n1991-01-30,6.96\r\n1991-01-31,8.18\r\n1991-02-01,6.30\r\n1991-02-02,6.30\r\n1991-02-03,6.30\r\n1991-02-04,6.10\r\n1991-02-05,5.49\r\n1991-02-06,5.57\r\n1991-02-07,6.38\r\n1991-02-08,6.27\r\n1991-02-09,6.27\r\n1991-02-10,6.27\r\n1991-02-11,6.37\r\n1991-02-12,6.26\r\n1991-02-13,6.24\r\n1991-02-14,6.37\r\n1991-02-15,6.02\r\n1991-02-16,6.02\r\n1991-02-17,6.02\r\n1991-02-18,6.02\r\n1991-02-19,6.24\r\n1991-02-20,7.11\r\n1991-02-21,6.54\r\n1991-02-22,6.27\r\n1991-02-23,6.27\r\n1991-02-24,6.27\r\n1991-02-25,6.43\r\n1991-02-26,6.12\r\n1991-02-27,6.26\r\n1991-02-28,6.99\r\n1991-03-01,6.35\r\n1991-03-02,6.35\r\n1991-03-03,6.35\r\n1991-03-04,6.36\r\n1991-03-05,6.31\r\n1991-03-06,6.55\r\n1991-03-07,6.46\r\n1991-03-08,6.20\r\n1991-03-09,6.20\r\n1991-03-10,6.20\r\n1991-03-11,6.10\r\n1991-03-12,6.03\r\n1991-03-13,5.98\r\n1991-03-14,5.93\r\n1991-03-15,5.96\r\n1991-03-16,5.96\r\n1991-03-17,5.96\r\n1991-03-18,6.03\r\n1991-03-19,6.16\r\n1991-03-20,6.67\r\n1991-03-21,6.22\r\n1991-03-22,6.05\r\n1991-03-23,6.05\r\n1991-03-24,6.05\r\n1991-03-25,6.08\r\n1991-03-26,6.17\r\n1991-03-27,6.11\r\n1991-03-28,6.14\r\n1991-03-29,5.53\r\n1991-03-30,5.53\r\n1991-03-31,5.53\r\n1991-04-01,6.48\r\n1991-04-02,6.46\r\n1991-04-03,6.36\r\n1991-04-04,6.22\r\n1991-04-05,5.92\r\n1991-04-06,5.92\r\n1991-04-07,5.92\r\n1991-04-08,5.89\r\n1991-04-09,5.66\r\n1991-04-10,5.75\r\n1991-04-11,5.71\r\n1991-04-12,5.36\r\n1991-04-13,5.36\r\n1991-04-14,5.36\r\n1991-04-15,6.04\r\n1991-04-16,6.05\r\n1991-04-17,5.95\r\n1991-04-18,6.00\r\n1991-04-19,5.89\r\n1991-04-20,5.89\r\n1991-04-21,5.89\r\n1991-04-22,5.95\r\n1991-04-23,5.92\r\n1991-04-24,5.89\r\n1991-04-25,5.95\r\n1991-04-26,5.89\r\n1991-04-27,5.89\r\n1991-04-28,5.89\r\n1991-04-29,5.93\r\n1991-04-30,5.98\r\n1991-05-01,5.90\r\n1991-05-02,5.86\r\n1991-05-03,5.76\r\n1991-05-04,5.76\r\n1991-05-05,5.76\r\n1991-05-06,5.82\r\n1991-05-07,5.79\r\n1991-05-08,5.75\r\n1991-05-09,5.76\r\n1991-05-10,5.69\r\n1991-05-11,5.69\r\n1991-05-12,5.69\r\n1991-05-13,5.80\r\n1991-05-14,5.85\r\n1991-05-15,6.01\r\n1991-05-16,5.89\r\n1991-05-17,5.79\r\n1991-05-18,5.79\r\n1991-05-19,5.79\r\n1991-05-20,5.82\r\n1991-05-21,5.76\r\n1991-05-22,5.71\r\n1991-05-23,5.69\r\n1991-05-24,5.65\r\n1991-05-25,5.65\r\n1991-05-26,5.65\r\n1991-05-27,5.65\r\n1991-05-28,5.99\r\n1991-05-29,5.79\r\n1991-05-30,5.84\r\n1991-05-31,5.92\r\n1991-06-01,5.92\r\n1991-06-02,5.92\r\n1991-06-03,5.96\r\n1991-06-04,5.96\r\n1991-06-05,5.88\r\n1991-06-06,5.82\r\n1991-06-07,5.71\r\n1991-06-08,5.71\r\n1991-06-09,5.71\r\n1991-06-10,5.83\r\n1991-06-11,5.79\r\n1991-06-12,5.67\r\n1991-06-13,5.79\r\n1991-06-14,5.71\r\n1991-06-15,5.71\r\n1991-06-16,5.71\r\n1991-06-17,5.94\r\n1991-06-18,5.82\r\n1991-06-19,5.80\r\n1991-06-20,5.79\r\n1991-06-21,5.75\r\n1991-06-22,5.75\r\n1991-06-23,5.75\r\n1991-06-24,5.83\r\n1991-06-25,5.90\r\n1991-06-26,5.73\r\n1991-06-27,5.91\r\n1991-06-28,6.74\r\n1991-06-29,6.74\r\n1991-06-30,6.74\r\n1991-07-01,6.38\r\n1991-07-02,6.09\r\n1991-07-03,5.77\r\n1991-07-04,5.77\r\n1991-07-05,5.76\r\n1991-07-06,5.76\r\n1991-07-07,5.76\r\n1991-07-08,5.91\r\n1991-07-09,5.82\r\n1991-07-10,5.72\r\n1991-07-11,5.86\r\n1991-07-12,5.80\r\n1991-07-13,5.80\r\n1991-07-14,5.80\r\n1991-07-15,5.96\r\n1991-07-16,5.91\r\n1991-07-17,5.82\r\n1991-07-18,5.83\r\n1991-07-19,5.75\r\n1991-07-20,5.75\r\n1991-07-21,5.75\r\n1991-07-22,5.81\r\n1991-07-23,5.74\r\n1991-07-24,5.63\r\n1991-07-25,5.82\r\n1991-07-26,5.76\r\n1991-07-27,5.76\r\n1991-07-28,5.76\r\n1991-07-29,5.80\r\n1991-07-30,5.75\r\n1991-07-31,5.85\r\n1991-08-01,5.86\r\n1991-08-02,5.72\r\n1991-08-03,5.72\r\n1991-08-04,5.72\r\n1991-08-05,5.79\r\n1991-08-06,5.70\r\n1991-08-07,6.29\r\n1991-08-08,5.71\r\n1991-08-09,5.59\r\n1991-08-10,5.59\r\n1991-08-11,5.59\r\n1991-08-12,5.66\r\n1991-08-13,5.64\r\n1991-08-14,5.58\r\n1991-08-15,5.77\r\n1991-08-16,5.55\r\n1991-08-17,5.55\r\n1991-08-18,5.55\r\n1991-08-19,5.54\r\n1991-08-20,5.57\r\n1991-08-21,6.24\r\n1991-08-22,5.69\r\n1991-08-23,5.55\r\n1991-08-24,5.55\r\n1991-08-25,5.55\r\n1991-08-26,5.63\r\n1991-08-27,5.59\r\n1991-08-28,5.52\r\n1991-08-29,5.49\r\n1991-08-30,5.50\r\n1991-08-31,5.50\r\n1991-09-01,5.50\r\n1991-09-02,5.50\r\n1991-09-03,5.82\r\n1991-09-04,5.87\r\n1991-09-05,5.67\r\n1991-09-06,5.53\r\n1991-09-07,5.53\r\n1991-09-08,5.53\r\n1991-09-09,5.59\r\n1991-09-10,5.53\r\n1991-09-11,5.51\r\n1991-09-12,5.53\r\n1991-09-13,5.31\r\n1991-09-14,5.31\r\n1991-09-15,5.31\r\n1991-09-16,5.56\r\n1991-09-17,5.61\r\n1991-09-18,5.43\r\n1991-09-19,5.37\r\n1991-09-20,5.24\r\n1991-09-21,5.24\r\n1991-09-22,5.24\r\n1991-09-23,5.32\r\n1991-09-24,5.32\r\n1991-09-25,5.32\r\n1991-09-26,5.40\r\n1991-09-27,5.24\r\n1991-09-28,5.24\r\n1991-09-29,5.24\r\n1991-09-30,5.60\r\n1991-10-01,5.40\r\n1991-10-02,5.20\r\n1991-10-03,5.33\r\n1991-10-04,5.16\r\n1991-10-05,5.16\r\n1991-10-06,5.16\r\n1991-10-07,5.22\r\n1991-10-08,5.18\r\n1991-10-09,5.15\r\n1991-10-10,5.17\r\n1991-10-11,5.03\r\n1991-10-12,5.03\r\n1991-10-13,5.03\r\n1991-10-14,5.03\r\n1991-10-15,5.58\r\n1991-10-16,6.11\r\n1991-10-17,5.33\r\n1991-10-18,5.20\r\n1991-10-19,5.20\r\n1991-10-20,5.20\r\n1991-10-21,5.27\r\n1991-10-22,5.25\r\n1991-10-23,5.21\r\n1991-10-24,5.22\r\n1991-10-25,5.21\r\n1991-10-26,5.21\r\n1991-10-27,5.21\r\n1991-10-28,5.27\r\n1991-10-29,5.11\r\n1991-10-30,4.44\r\n1991-10-31,5.23\r\n1991-11-01,5.03\r\n1991-11-02,5.03\r\n1991-11-03,5.03\r\n1991-11-04,5.09\r\n1991-11-05,5.06\r\n1991-11-06,4.87\r\n1991-11-07,4.80\r\n1991-11-08,4.71\r\n1991-11-09,4.71\r\n1991-11-10,4.71\r\n1991-11-11,4.71\r\n1991-11-12,4.89\r\n1991-11-13,4.62\r\n1991-11-14,4.86\r\n1991-11-15,4.98\r\n1991-11-16,4.98\r\n1991-11-17,4.98\r\n1991-11-18,4.88\r\n1991-11-19,4.78\r\n1991-11-20,4.74\r\n1991-11-21,4.74\r\n1991-11-22,4.75\r\n1991-11-23,4.75\r\n1991-11-24,4.75\r\n1991-11-25,4.89\r\n1991-11-26,4.52\r\n1991-11-27,4.38\r\n1991-11-28,4.38\r\n1991-11-29,4.86\r\n1991-11-30,4.86\r\n1991-12-01,4.86\r\n1991-12-02,5.00\r\n1991-12-03,4.86\r\n1991-12-04,4.71\r\n1991-12-05,4.72\r\n1991-12-06,4.52\r\n1991-12-07,4.52\r\n1991-12-08,4.52\r\n1991-12-09,4.52\r\n1991-12-10,4.40\r\n1991-12-11,4.59\r\n1991-12-12,4.57\r\n1991-12-13,4.42\r\n1991-12-14,4.42\r\n1991-12-15,4.42\r\n1991-12-16,4.65\r\n1991-12-17,4.50\r\n1991-12-18,4.47\r\n1991-12-19,4.60\r\n1991-12-20,4.11\r\n1991-12-21,4.11\r\n1991-12-22,4.11\r\n1991-12-23,4.26\r\n1991-12-24,4.19\r\n1991-12-25,4.19\r\n1991-12-26,4.59\r\n1991-12-27,4.14\r\n1991-12-28,4.14\r\n1991-12-29,4.14\r\n1991-12-30,4.12\r\n1991-12-31,4.09\r\n1992-01-01,4.09\r\n1992-01-02,4.61\r\n1992-01-03,4.06\r\n1992-01-04,4.06\r\n1992-01-05,4.06\r\n1992-01-06,4.04\r\n1992-01-07,3.67\r\n1992-01-08,4.83\r\n1992-01-09,4.22\r\n1992-01-10,3.96\r\n1992-01-11,3.96\r\n1992-01-12,3.96\r\n1992-01-13,3.98\r\n1992-01-14,3.95\r\n1992-01-15,4.04\r\n1992-01-16,3.94\r\n1992-01-17,3.56\r\n1992-01-18,3.56\r\n1992-01-19,3.56\r\n1992-01-20,3.56\r\n1992-01-21,4.11\r\n1992-01-22,4.82\r\n1992-01-23,4.15\r\n1992-01-24,3.96\r\n1992-01-25,3.96\r\n1992-01-26,3.96\r\n1992-01-27,4.08\r\n1992-01-28,4.00\r\n1992-01-29,3.93\r\n1992-01-30,4.02\r\n1992-01-31,4.40\r\n1992-02-01,4.40\r\n1992-02-02,4.40\r\n1992-02-03,4.00\r\n1992-02-04,3.83\r\n1992-02-05,4.17\r\n1992-02-06,4.10\r\n1992-02-07,3.89\r\n1992-02-08,3.89\r\n1992-02-09,3.89\r\n1992-02-10,3.95\r\n1992-02-11,3.91\r\n1992-02-12,3.90\r\n1992-02-13,4.00\r\n1992-02-14,4.00\r\n1992-02-15,4.00\r\n1992-02-16,4.00\r\n1992-02-17,4.00\r\n1992-02-18,4.81\r\n1992-02-19,4.57\r\n1992-02-20,4.10\r\n1992-02-21,3.90\r\n1992-02-22,3.90\r\n1992-02-23,3.90\r\n1992-02-24,4.04\r\n1992-02-25,3.97\r\n1992-02-26,3.93\r\n1992-02-27,3.96\r\n1992-02-28,4.13\r\n1992-02-29,4.13\r\n1992-03-01,4.13\r\n1992-03-02,4.32\r\n1992-03-03,4.02\r\n1992-03-04,3.86\r\n1992-03-05,4.08\r\n1992-03-06,3.95\r\n1992-03-07,3.95\r\n1992-03-08,3.95\r\n1992-03-09,4.00\r\n1992-03-10,3.87\r\n1992-03-11,3.83\r\n1992-03-12,3.94\r\n1992-03-13,3.85\r\n1992-03-14,3.85\r\n1992-03-15,3.85\r\n1992-03-16,4.28\r\n1992-03-17,4.14\r\n1992-03-18,4.40\r\n1992-03-19,4.09\r\n1992-03-20,3.90\r\n1992-03-21,3.90\r\n1992-03-22,3.90\r\n1992-03-23,3.98\r\n1992-03-24,3.86\r\n1992-03-25,3.95\r\n1992-03-26,4.07\r\n1992-03-27,3.85\r\n1992-03-28,3.85\r\n1992-03-29,3.85\r\n1992-03-30,3.94\r\n1992-03-31,4.07\r\n1992-04-01,4.98\r\n1992-04-02,4.15\r\n1992-04-03,3.97\r\n1992-04-04,3.97\r\n1992-04-05,3.97\r\n1992-04-06,3.99\r\n1992-04-07,3.92\r\n1992-04-08,3.87\r\n1992-04-09,3.76\r\n1992-04-10,3.44\r\n1992-04-11,3.44\r\n1992-04-12,3.44\r\n1992-04-13,3.74\r\n1992-04-14,3.68\r\n1992-04-15,4.02\r\n1992-04-16,3.78\r\n1992-04-17,3.08\r\n1992-04-18,3.08\r\n1992-04-19,3.08\r\n1992-04-20,3.75\r\n1992-04-21,3.83\r\n1992-04-22,3.72\r\n1992-04-23,3.68\r\n1992-04-24,3.63\r\n1992-04-25,3.63\r\n1992-04-26,3.63\r\n1992-04-27,3.84\r\n1992-04-28,3.50\r\n1992-04-29,3.62\r\n1992-04-30,3.85\r\n1992-05-01,3.75\r\n1992-05-02,3.75\r\n1992-05-03,3.75\r\n1992-05-04,3.80\r\n1992-05-05,3.77\r\n1992-05-06,3.71\r\n1992-05-07,3.74\r\n1992-05-08,3.71\r\n1992-05-09,3.71\r\n1992-05-10,3.71\r\n1992-05-11,3.88\r\n1992-05-12,3.75\r\n1992-05-13,4.37\r\n1992-05-14,3.93\r\n1992-05-15,3.96\r\n1992-05-16,3.96\r\n1992-05-17,3.96\r\n1992-05-18,3.88\r\n1992-05-19,3.80\r\n1992-05-20,3.75\r\n1992-05-21,3.85\r\n1992-05-22,3.74\r\n1992-05-23,3.74\r\n1992-05-24,3.74\r\n1992-05-25,3.74\r\n1992-05-26,4.02\r\n1992-05-27,3.78\r\n1992-05-28,3.87\r\n1992-05-29,3.80\r\n1992-05-30,3.80\r\n1992-05-31,3.80\r\n1992-06-01,3.96\r\n1992-06-02,3.89\r\n1992-06-03,3.82\r\n1992-06-04,3.78\r\n1992-06-05,3.61\r\n1992-06-06,3.61\r\n1992-06-07,3.61\r\n1992-06-08,3.72\r\n1992-06-09,3.57\r\n1992-06-10,3.96\r\n1992-06-11,3.80\r\n1992-06-12,3.65\r\n1992-06-13,3.65\r\n1992-06-14,3.65\r\n1992-06-15,3.88\r\n1992-06-16,3.74\r\n1992-06-17,3.72\r\n1992-06-18,3.71\r\n1992-06-19,3.66\r\n1992-06-20,3.66\r\n1992-06-21,3.66\r\n1992-06-22,3.85\r\n1992-06-23,3.70\r\n1992-06-24,3.81\r\n1992-06-25,3.87\r\n1992-06-26,3.67\r\n1992-06-27,3.67\r\n1992-06-28,3.67\r\n1992-06-29,3.80\r\n1992-06-30,4.53\r\n1992-07-01,3.89\r\n1992-07-02,3.46\r\n1992-07-03,2.84\r\n1992-07-04,2.84\r\n1992-07-05,2.84\r\n1992-07-06,3.15\r\n1992-07-07,3.35\r\n1992-07-08,4.19\r\n1992-07-09,3.46\r\n1992-07-10,3.20\r\n1992-07-11,3.20\r\n1992-07-12,3.20\r\n1992-07-13,3.28\r\n1992-07-14,3.25\r\n1992-07-15,3.38\r\n1992-07-16,3.32\r\n1992-07-17,3.12\r\n1992-07-18,3.12\r\n1992-07-19,3.12\r\n1992-07-20,3.32\r\n1992-07-21,3.15\r\n1992-07-22,3.40\r\n1992-07-23,3.29\r\n1992-07-24,3.08\r\n1992-07-25,3.08\r\n1992-07-26,3.08\r\n1992-07-27,3.29\r\n1992-07-28,3.27\r\n1992-07-29,3.15\r\n1992-07-30,3.17\r\n1992-07-31,3.37\r\n1992-08-01,3.37\r\n1992-08-02,3.37\r\n1992-08-03,3.37\r\n1992-08-04,3.28\r\n1992-08-05,3.35\r\n1992-08-06,3.34\r\n1992-08-07,3.20\r\n1992-08-08,3.20\r\n1992-08-09,3.20\r\n1992-08-10,3.32\r\n1992-08-11,3.23\r\n1992-08-12,3.22\r\n1992-08-13,3.30\r\n1992-08-14,3.22\r\n1992-08-15,3.22\r\n1992-08-16,3.22\r\n1992-08-17,3.54\r\n1992-08-18,3.26\r\n1992-08-19,3.56\r\n1992-08-20,3.37\r\n1992-08-21,3.20\r\n1992-08-22,3.20\r\n1992-08-23,3.20\r\n1992-08-24,3.35\r\n1992-08-25,3.29\r\n1992-08-26,3.31\r\n1992-08-27,3.36\r\n1992-08-28,3.28\r\n1992-08-29,3.28\r\n1992-08-30,3.28\r\n1992-08-31,3.51\r\n1992-09-01,3.39\r\n1992-09-02,3.21\r\n1992-09-03,3.33\r\n1992-09-04,3.02\r\n1992-09-05,3.02\r\n1992-09-06,3.02\r\n1992-09-07,3.02\r\n1992-09-08,3.13\r\n1992-09-09,3.08\r\n1992-09-10,3.06\r\n1992-09-11,3.01\r\n1992-09-12,3.01\r\n1992-09-13,3.01\r\n1992-09-14,3.22\r\n1992-09-15,3.20\r\n1992-09-16,4.48\r\n1992-09-17,3.22\r\n1992-09-18,3.02\r\n1992-09-19,3.02\r\n1992-09-20,3.02\r\n1992-09-21,3.10\r\n1992-09-22,3.04\r\n1992-09-23,3.06\r\n1992-09-24,3.15\r\n1992-09-25,3.19\r\n1992-09-26,3.19\r\n1992-09-27,3.19\r\n1992-09-28,3.45\r\n1992-09-29,3.26\r\n1992-09-30,4.47\r\n1992-10-01,3.58\r\n1992-10-02,3.15\r\n1992-10-03,3.15\r\n1992-10-04,3.15\r\n1992-10-05,3.22\r\n1992-10-06,3.10\r\n1992-10-07,3.06\r\n1992-10-08,3.04\r\n1992-10-09,2.97\r\n1992-10-10,2.97\r\n1992-10-11,2.97\r\n1992-10-12,2.97\r\n1992-10-13,3.53\r\n1992-10-14,3.96\r\n1992-10-15,3.40\r\n1992-10-16,2.99\r\n1992-10-17,2.99\r\n1992-10-18,2.99\r\n1992-10-19,3.05\r\n1992-10-20,2.97\r\n1992-10-21,2.95\r\n1992-10-22,2.96\r\n1992-10-23,2.90\r\n1992-10-24,2.90\r\n1992-10-25,2.90\r\n1992-10-26,3.12\r\n1992-10-27,2.91\r\n1992-10-28,3.06\r\n1992-10-29,3.08\r\n1992-10-30,3.04\r\n1992-10-31,3.04\r\n1992-11-01,3.04\r\n1992-11-02,3.21\r\n1992-11-03,3.09\r\n1992-11-04,2.98\r\n1992-11-05,2.92\r\n1992-11-06,2.86\r\n1992-11-07,2.86\r\n1992-11-08,2.86\r\n1992-11-09,2.98\r\n1992-11-10,2.93\r\n1992-11-11,2.93\r\n1992-11-12,3.04\r\n1992-11-13,2.85\r\n1992-11-14,2.85\r\n1992-11-15,2.85\r\n1992-11-16,3.28\r\n1992-11-17,3.06\r\n1992-11-18,2.89\r\n1992-11-19,2.94\r\n1992-11-20,2.90\r\n1992-11-21,2.90\r\n1992-11-22,2.90\r\n1992-11-23,2.89\r\n1992-11-24,2.58\r\n1992-11-25,4.60\r\n1992-11-26,4.60\r\n1992-11-27,3.13\r\n1992-11-28,3.13\r\n1992-11-29,3.13\r\n1992-11-30,3.45\r\n1992-12-01,3.17\r\n1992-12-02,2.99\r\n1992-12-03,3.00\r\n1992-12-04,2.86\r\n1992-12-05,2.86\r\n1992-12-06,2.86\r\n1992-12-07,2.92\r\n1992-12-08,2.77\r\n1992-12-09,3.30\r\n1992-12-10,3.08\r\n1992-12-11,2.76\r\n1992-12-12,2.76\r\n1992-12-13,2.76\r\n1992-12-14,2.99\r\n1992-12-15,3.17\r\n1992-12-16,3.02\r\n1992-12-17,2.97\r\n1992-12-18,2.73\r\n1992-12-19,2.73\r\n1992-12-20,2.73\r\n1992-12-21,3.06\r\n1992-12-22,2.97\r\n1992-12-23,3.38\r\n1992-12-24,2.85\r\n1992-12-25,2.85\r\n1992-12-26,2.85\r\n1992-12-27,2.85\r\n1992-12-28,3.27\r\n1992-12-29,2.74\r\n1992-12-30,2.60\r\n1992-12-31,2.66\r\n1993-01-01,2.66\r\n1993-01-02,2.66\r\n1993-01-03,2.66\r\n1993-01-04,3.60\r\n1993-01-05,3.33\r\n1993-01-06,3.62\r\n1993-01-07,3.25\r\n1993-01-08,2.93\r\n1993-01-09,2.93\r\n1993-01-10,2.93\r\n1993-01-11,3.06\r\n1993-01-12,2.91\r\n1993-01-13,2.87\r\n1993-01-14,2.97\r\n1993-01-15,2.96\r\n1993-01-16,2.96\r\n1993-01-17,2.96\r\n1993-01-18,2.96\r\n1993-01-19,3.35\r\n1993-01-20,3.56\r\n1993-01-21,3.05\r\n1993-01-22,2.86\r\n1993-01-23,2.86\r\n1993-01-24,2.86\r\n1993-01-25,3.06\r\n1993-01-26,2.96\r\n1993-01-27,2.94\r\n1993-01-28,2.97\r\n1993-01-29,3.02\r\n1993-01-30,3.02\r\n1993-01-31,3.02\r\n1993-02-01,3.25\r\n1993-02-02,3.18\r\n1993-02-03,3.56\r\n1993-02-04,3.08\r\n1993-02-05,2.87\r\n1993-02-06,2.87\r\n1993-02-07,2.87\r\n1993-02-08,2.94\r\n1993-02-09,2.90\r\n1993-02-10,2.88\r\n1993-02-11,2.97\r\n1993-02-12,2.95\r\n1993-02-13,2.95\r\n1993-02-14,2.95\r\n1993-02-15,2.95\r\n1993-02-16,3.59\r\n1993-02-17,3.09\r\n1993-02-18,2.98\r\n1993-02-19,2.86\r\n1993-02-20,2.86\r\n1993-02-21,2.86\r\n1993-02-22,2.96\r\n1993-02-23,2.91\r\n1993-02-24,2.91\r\n1993-02-25,3.03\r\n1993-02-26,3.18\r\n1993-02-27,3.18\r\n1993-02-28,3.18\r\n1993-03-01,3.65\r\n1993-03-02,3.19\r\n1993-03-03,3.29\r\n1993-03-04,3.10\r\n1993-03-05,3.02\r\n1993-03-06,3.02\r\n1993-03-07,3.02\r\n1993-03-08,3.06\r\n1993-03-09,2.98\r\n1993-03-10,2.96\r\n1993-03-11,3.00\r\n1993-03-12,2.93\r\n1993-03-13,2.93\r\n1993-03-14,2.93\r\n1993-03-15,3.16\r\n1993-03-16,2.72\r\n1993-03-17,3.58\r\n1993-03-18,3.03\r\n1993-03-19,2.88\r\n1993-03-20,2.88\r\n1993-03-21,2.88\r\n1993-03-22,2.99\r\n1993-03-23,2.93\r\n1993-03-24,2.92\r\n1993-03-25,3.05\r\n1993-03-26,3.04\r\n1993-03-27,3.04\r\n1993-03-28,3.04\r\n1993-03-29,3.34\r\n1993-03-30,2.91\r\n1993-03-31,3.83\r\n1993-04-01,3.31\r\n1993-04-02,3.13\r\n1993-04-03,3.13\r\n1993-04-04,3.13\r\n1993-04-05,3.15\r\n1993-04-06,2.97\r\n1993-04-07,2.93\r\n1993-04-08,2.94\r\n1993-04-09,2.82\r\n1993-04-10,2.82\r\n1993-04-11,2.82\r\n1993-04-12,3.11\r\n1993-04-13,2.98\r\n1993-04-14,3.03\r\n1993-04-15,3.15\r\n1993-04-16,2.84\r\n1993-04-17,2.84\r\n1993-04-18,2.84\r\n1993-04-19,2.94\r\n1993-04-20,2.84\r\n1993-04-21,2.95\r\n1993-04-22,2.97\r\n1993-04-23,2.85\r\n1993-04-24,2.85\r\n1993-04-25,2.85\r\n1993-04-26,2.99\r\n1993-04-27,2.72\r\n1993-04-28,2.88\r\n1993-04-29,2.94\r\n1993-04-30,3.01\r\n1993-05-01,3.01\r\n1993-05-02,3.01\r\n1993-05-03,3.03\r\n1993-05-04,2.94\r\n1993-05-05,2.90\r\n1993-05-06,2.88\r\n1993-05-07,2.83\r\n1993-05-08,2.83\r\n1993-05-09,2.83\r\n1993-05-10,2.99\r\n1993-05-11,2.98\r\n1993-05-12,2.95\r\n1993-05-13,2.97\r\n1993-05-14,2.94\r\n1993-05-15,2.94\r\n1993-05-16,2.94\r\n1993-05-17,3.34\r\n1993-05-18,2.97\r\n1993-05-19,2.94\r\n1993-05-20,2.97\r\n1993-05-21,2.96\r\n1993-05-22,2.96\r\n1993-05-23,2.96\r\n1993-05-24,3.15\r\n1993-05-25,3.21\r\n1993-05-26,3.26\r\n1993-05-27,3.11\r\n1993-05-28,3.02\r\n1993-05-29,3.02\r\n1993-05-30,3.02\r\n1993-05-31,3.02\r\n1993-06-01,3.33\r\n1993-06-02,3.12\r\n1993-06-03,3.03\r\n1993-06-04,2.98\r\n1993-06-05,2.98\r\n1993-06-06,2.98\r\n1993-06-07,3.14\r\n1993-06-08,2.72\r\n1993-06-09,2.92\r\n1993-06-10,3.01\r\n1993-06-11,2.93\r\n1993-06-12,2.93\r\n1993-06-13,2.93\r\n1993-06-14,3.06\r\n1993-06-15,3.14\r\n1993-06-16,3.04\r\n1993-06-17,3.02\r\n1993-06-18,2.91\r\n1993-06-19,2.91\r\n1993-06-20,2.91\r\n1993-06-21,3.03\r\n1993-06-22,2.98\r\n1993-06-23,3.24\r\n1993-06-24,3.02\r\n1993-06-25,2.96\r\n1993-06-26,2.96\r\n1993-06-27,2.96\r\n1993-06-28,3.08\r\n1993-06-29,3.00\r\n1993-06-30,3.92\r\n1993-07-01,3.27\r\n1993-07-02,2.96\r\n1993-07-03,2.96\r\n1993-07-04,2.96\r\n1993-07-05,2.96\r\n1993-07-06,3.19\r\n1993-07-07,3.39\r\n1993-07-08,3.09\r\n1993-07-09,2.96\r\n1993-07-10,2.96\r\n1993-07-11,2.96\r\n1993-07-12,3.12\r\n1993-07-13,2.99\r\n1993-07-14,2.97\r\n1993-07-15,3.13\r\n1993-07-16,2.97\r\n1993-07-17,2.97\r\n1993-07-18,2.97\r\n1993-07-19,3.13\r\n1993-07-20,3.08\r\n1993-07-21,3.36\r\n1993-07-22,3.12\r\n1993-07-23,2.99\r\n1993-07-24,2.99\r\n1993-07-25,2.99\r\n1993-07-26,3.11\r\n1993-07-27,3.01\r\n1993-07-28,2.98\r\n1993-07-29,3.04\r\n1993-07-30,3.07\r\n1993-07-31,3.07\r\n1993-08-01,3.07\r\n1993-08-02,3.26\r\n1993-08-03,3.06\r\n1993-08-04,3.14\r\n1993-08-05,3.05\r\n1993-08-06,2.96\r\n1993-08-07,2.96\r\n1993-08-08,2.96\r\n1993-08-09,3.04\r\n1993-08-10,2.96\r\n1993-08-11,2.92\r\n1993-08-12,2.97\r\n1993-08-13,3.00\r\n1993-08-14,3.00\r\n1993-08-15,3.00\r\n1993-08-16,3.34\r\n1993-08-17,3.10\r\n1993-08-18,3.02\r\n1993-08-19,3.02\r\n1993-08-20,2.95\r\n1993-08-21,2.95\r\n1993-08-22,2.95\r\n1993-08-23,3.01\r\n1993-08-24,2.95\r\n1993-08-25,3.03\r\n1993-08-26,3.06\r\n1993-08-27,2.99\r\n1993-08-28,2.99\r\n1993-08-29,2.99\r\n1993-08-30,3.11\r\n1993-08-31,3.19\r\n1993-09-01,3.25\r\n1993-09-02,3.03\r\n1993-09-03,2.94\r\n1993-09-04,2.94\r\n1993-09-05,2.94\r\n1993-09-06,2.94\r\n1993-09-07,3.11\r\n1993-09-08,3.02\r\n1993-09-09,2.99\r\n1993-09-10,2.94\r\n1993-09-11,2.94\r\n1993-09-12,2.94\r\n1993-09-13,3.05\r\n1993-09-14,3.00\r\n1993-09-15,3.38\r\n1993-09-16,3.10\r\n1993-09-17,2.99\r\n1993-09-18,2.99\r\n1993-09-19,2.99\r\n1993-09-20,3.38\r\n1993-09-21,3.23\r\n1993-09-22,3.14\r\n1993-09-23,3.06\r\n1993-09-24,2.99\r\n1993-09-25,2.99\r\n1993-09-26,2.99\r\n1993-09-27,3.16\r\n1993-09-28,3.08\r\n1993-09-29,3.10\r\n1993-09-30,3.99\r\n1993-10-01,3.19\r\n1993-10-02,3.19\r\n1993-10-03,3.19\r\n1993-10-04,3.11\r\n1993-10-05,3.04\r\n1993-10-06,2.98\r\n1993-10-07,2.95\r\n1993-10-08,2.87\r\n1993-10-09,2.87\r\n1993-10-10,2.87\r\n1993-10-11,2.87\r\n1993-10-12,3.07\r\n1993-10-13,2.85\r\n1993-10-14,2.99\r\n1993-10-15,2.97\r\n1993-10-16,2.97\r\n1993-10-17,2.97\r\n1993-10-18,3.03\r\n1993-10-19,2.94\r\n1993-10-20,2.91\r\n1993-10-21,2.94\r\n1993-10-22,2.95\r\n1993-10-23,2.95\r\n1993-10-24,2.95\r\n1993-10-25,3.17\r\n1993-10-26,3.03\r\n1993-10-27,2.82\r\n1993-10-28,3.04\r\n1993-10-29,3.03\r\n1993-10-30,3.03\r\n1993-10-31,3.03\r\n1993-11-01,3.15\r\n1993-11-02,3.02\r\n1993-11-03,2.98\r\n1993-11-04,2.99\r\n1993-11-05,2.95\r\n1993-11-06,2.95\r\n1993-11-07,2.95\r\n1993-11-08,3.04\r\n1993-11-09,2.95\r\n1993-11-10,2.91\r\n1993-11-11,2.91\r\n1993-11-12,3.03\r\n1993-11-13,3.03\r\n1993-11-14,3.03\r\n1993-11-15,3.23\r\n1993-11-16,3.02\r\n1993-11-17,2.99\r\n1993-11-18,2.99\r\n1993-11-19,2.94\r\n1993-11-20,2.94\r\n1993-11-21,2.94\r\n1993-11-22,3.05\r\n1993-11-23,2.94\r\n1993-11-24,3.03\r\n1993-11-25,3.03\r\n1993-11-26,3.09\r\n1993-11-27,3.09\r\n1993-11-28,3.09\r\n1993-11-29,3.12\r\n1993-11-30,3.16\r\n1993-12-01,3.07\r\n1993-12-02,3.04\r\n1993-12-03,2.96\r\n1993-12-04,2.96\r\n1993-12-05,2.96\r\n1993-12-06,2.97\r\n1993-12-07,2.67\r\n1993-12-08,2.87\r\n1993-12-09,2.94\r\n1993-12-10,2.90\r\n1993-12-11,2.90\r\n1993-12-12,2.90\r\n1993-12-13,2.96\r\n1993-12-14,2.95\r\n1993-12-15,3.06\r\n1993-12-16,3.03\r\n1993-12-17,2.94\r\n1993-12-18,2.94\r\n1993-12-19,2.94\r\n1993-12-20,3.03\r\n1993-12-21,2.97\r\n1993-12-22,3.08\r\n1993-12-23,3.05\r\n1993-12-24,2.97\r\n1993-12-25,2.97\r\n1993-12-26,2.97\r\n1993-12-27,3.11\r\n1993-12-28,2.98\r\n1993-12-29,2.85\r\n1993-12-30,2.82\r\n1993-12-31,2.85\r\n1994-01-01,2.85\r\n1994-01-02,2.85\r\n1994-01-03,3.15\r\n1994-01-04,3.03\r\n1994-01-05,3.46\r\n1994-01-06,3.08\r\n1994-01-07,2.96\r\n1994-01-08,2.96\r\n1994-01-09,2.96\r\n1994-01-10,3.02\r\n1994-01-11,2.97\r\n1994-01-12,2.93\r\n1994-01-13,2.94\r\n1994-01-14,2.95\r\n1994-01-15,2.95\r\n1994-01-16,2.95\r\n1994-01-17,2.95\r\n1994-01-18,3.97\r\n1994-01-19,3.20\r\n1994-01-20,2.97\r\n1994-01-21,2.91\r\n1994-01-22,2.91\r\n1994-01-23,2.91\r\n1994-01-24,3.04\r\n1994-01-25,3.04\r\n1994-01-26,3.04\r\n1994-01-27,3.00\r\n1994-01-28,2.98\r\n1994-01-29,2.98\r\n1994-01-30,2.98\r\n1994-01-31,3.68\r\n1994-02-01,3.25\r\n1994-02-02,3.31\r\n1994-02-03,3.12\r\n1994-02-04,3.19\r\n1994-02-05,3.19\r\n1994-02-06,3.19\r\n1994-02-07,3.31\r\n1994-02-08,3.24\r\n1994-02-09,3.15\r\n1994-02-10,3.16\r\n1994-02-11,3.14\r\n1994-02-12,3.14\r\n1994-02-13,3.14\r\n1994-02-14,3.35\r\n1994-02-15,3.49\r\n1994-02-16,3.34\r\n1994-02-17,3.30\r\n1994-02-18,3.21\r\n1994-02-19,3.21\r\n1994-02-20,3.21\r\n1994-02-21,3.21\r\n1994-02-22,3.33\r\n1994-02-23,3.25\r\n1994-02-24,3.25\r\n1994-02-25,3.23\r\n1994-02-26,3.23\r\n1994-02-27,3.23\r\n1994-02-28,3.49\r\n1994-03-01,3.31\r\n1994-03-02,3.24\r\n1994-03-03,3.26\r\n1994-03-04,3.25\r\n1994-03-05,3.25\r\n1994-03-06,3.25\r\n1994-03-07,3.29\r\n1994-03-08,3.24\r\n1994-03-09,3.22\r\n1994-03-10,3.22\r\n1994-03-11,3.17\r\n1994-03-12,3.17\r\n1994-03-13,3.17\r\n1994-03-14,3.30\r\n1994-03-15,3.25\r\n1994-03-16,3.05\r\n1994-03-17,3.24\r\n1994-03-18,3.22\r\n1994-03-19,3.22\r\n1994-03-20,3.22\r\n1994-03-21,3.36\r\n1994-03-22,3.44\r\n1994-03-23,3.47\r\n1994-03-24,3.49\r\n1994-03-25,3.53\r\n1994-03-26,3.53\r\n1994-03-27,3.53\r\n1994-03-28,3.53\r\n1994-03-29,3.45\r\n1994-03-30,3.36\r\n1994-03-31,4.18\r\n1994-04-01,3.64\r\n1994-04-02,3.64\r\n1994-04-03,3.64\r\n1994-04-04,3.62\r\n1994-04-05,3.60\r\n1994-04-06,3.48\r\n1994-04-07,3.46\r\n1994-04-08,3.36\r\n1994-04-09,3.36\r\n1994-04-10,3.36\r\n1994-04-11,3.41\r\n1994-04-12,3.24\r\n1994-04-13,3.43\r\n1994-04-14,3.49\r\n1994-04-15,3.51\r\n1994-04-16,3.51\r\n1994-04-17,3.51\r\n1994-04-18,3.70\r\n1994-04-19,3.71\r\n1994-04-20,3.71\r\n1994-04-21,3.70\r\n1994-04-22,3.70\r\n1994-04-23,3.70\r\n1994-04-24,3.70\r\n1994-04-25,3.78\r\n1994-04-26,3.42\r\n1994-04-27,3.15\r\n1994-04-28,3.66\r\n1994-04-29,3.73\r\n1994-04-30,3.73\r\n1994-05-01,3.73\r\n1994-05-02,3.86\r\n1994-05-03,3.81\r\n1994-05-04,3.78\r\n1994-05-05,3.77\r\n1994-05-06,3.78\r\n1994-05-07,3.78\r\n1994-05-08,3.78\r\n1994-05-09,3.77\r\n1994-05-10,3.58\r\n1994-05-11,3.42\r\n1994-05-12,3.78\r\n1994-05-13,3.84\r\n1994-05-14,3.84\r\n1994-05-15,3.84\r\n1994-05-16,4.29\r\n1994-05-17,4.27\r\n1994-05-18,4.26\r\n1994-05-19,4.23\r\n1994-05-20,4.21\r\n1994-05-21,4.21\r\n1994-05-22,4.21\r\n1994-05-23,4.28\r\n1994-05-24,4.19\r\n1994-05-25,4.24\r\n1994-05-26,4.23\r\n1994-05-27,4.19\r\n1994-05-28,4.19\r\n1994-05-29,4.19\r\n1994-05-30,4.19\r\n1994-05-31,4.60\r\n1994-06-01,4.33\r\n1994-06-02,4.25\r\n1994-06-03,4.16\r\n1994-06-04,4.16\r\n1994-06-05,4.16\r\n1994-06-06,4.17\r\n1994-06-07,4.03\r\n1994-06-08,4.00\r\n1994-06-09,4.17\r\n1994-06-10,4.18\r\n1994-06-11,4.18\r\n1994-06-12,4.18\r\n1994-06-13,4.24\r\n1994-06-14,4.23\r\n1994-06-15,4.30\r\n1994-06-16,4.26\r\n1994-06-17,4.17\r\n1994-06-18,4.17\r\n1994-06-19,4.17\r\n1994-06-20,4.24\r\n1994-06-21,4.14\r\n1994-06-22,4.18\r\n1994-06-23,4.18\r\n1994-06-24,4.17\r\n1994-06-25,4.17\r\n1994-06-26,4.17\r\n1994-06-27,4.29\r\n1994-06-28,4.21\r\n1994-06-29,4.15\r\n1994-06-30,5.96\r\n1994-07-01,3.82\r\n1994-07-02,3.82\r\n1994-07-03,3.82\r\n1994-07-04,3.82\r\n1994-07-05,4.37\r\n1994-07-06,5.02\r\n1994-07-07,4.36\r\n1994-07-08,4.32\r\n1994-07-09,4.32\r\n1994-07-10,4.32\r\n1994-07-11,4.31\r\n1994-07-12,4.23\r\n1994-07-13,4.22\r\n1994-07-14,4.22\r\n1994-07-15,4.22\r\n1994-07-16,4.22\r\n1994-07-17,4.22\r\n1994-07-18,4.23\r\n1994-07-19,4.19\r\n1994-07-20,4.78\r\n1994-07-21,4.30\r\n1994-07-22,4.26\r\n1994-07-23,4.26\r\n1994-07-24,4.26\r\n1994-07-25,4.32\r\n1994-07-26,4.26\r\n1994-07-27,4.28\r\n1994-07-28,4.30\r\n1994-07-29,4.29\r\n1994-07-30,4.29\r\n1994-07-31,4.29\r\n1994-08-01,4.34\r\n1994-08-02,4.21\r\n1994-08-03,4.25\r\n1994-08-04,4.28\r\n1994-08-05,4.28\r\n1994-08-06,4.28\r\n1994-08-07,4.28\r\n1994-08-08,4.30\r\n1994-08-09,4.23\r\n1994-08-10,4.19\r\n1994-08-11,4.22\r\n1994-08-12,4.22\r\n1994-08-13,4.22\r\n1994-08-14,4.22\r\n1994-08-15,4.50\r\n1994-08-16,4.35\r\n1994-08-17,4.72\r\n1994-08-18,4.70\r\n1994-08-19,4.64\r\n1994-08-20,4.64\r\n1994-08-21,4.64\r\n1994-08-22,4.69\r\n1994-08-23,4.64\r\n1994-08-24,4.64\r\n1994-08-25,4.75\r\n1994-08-26,4.71\r\n1994-08-27,4.71\r\n1994-08-28,4.71\r\n1994-08-29,4.78\r\n1994-08-30,4.67\r\n1994-08-31,4.70\r\n1994-09-01,4.76\r\n1994-09-02,4.72\r\n1994-09-03,4.72\r\n1994-09-04,4.72\r\n1994-09-05,4.72\r\n1994-09-06,4.81\r\n1994-09-07,4.74\r\n1994-09-08,4.72\r\n1994-09-09,4.68\r\n1994-09-10,4.68\r\n1994-09-11,4.68\r\n1994-09-12,4.73\r\n1994-09-13,4.64\r\n1994-09-14,4.78\r\n1994-09-15,4.79\r\n1994-09-16,4.68\r\n1994-09-17,4.68\r\n1994-09-18,4.68\r\n1994-09-19,4.71\r\n1994-09-20,4.70\r\n1994-09-21,4.87\r\n1994-09-22,4.78\r\n1994-09-23,4.71\r\n1994-09-24,4.71\r\n1994-09-25,4.71\r\n1994-09-26,4.78\r\n1994-09-27,4.29\r\n1994-09-28,4.61\r\n1994-09-29,4.77\r\n1994-09-30,5.44\r\n1994-10-01,5.44\r\n1994-10-02,5.44\r\n1994-10-03,4.83\r\n1994-10-04,4.78\r\n1994-10-05,4.77\r\n1994-10-06,4.77\r\n1994-10-07,4.57\r\n1994-10-08,4.57\r\n1994-10-09,4.57\r\n1994-10-10,4.57\r\n1994-10-11,4.71\r\n1994-10-12,4.56\r\n1994-10-13,4.71\r\n1994-10-14,4.71\r\n1994-10-15,4.71\r\n1994-10-16,4.71\r\n1994-10-17,4.78\r\n1994-10-18,4.71\r\n1994-10-19,4.69\r\n1994-10-20,4.70\r\n1994-10-21,4.68\r\n1994-10-22,4.68\r\n1994-10-23,4.68\r\n1994-10-24,4.72\r\n1994-10-25,4.67\r\n1994-10-26,4.88\r\n1994-10-27,4.77\r\n1994-10-28,4.76\r\n1994-10-29,4.76\r\n1994-10-30,4.76\r\n1994-10-31,4.90\r\n1994-11-01,4.76\r\n1994-11-02,4.67\r\n1994-11-03,4.71\r\n1994-11-04,4.66\r\n1994-11-05,4.66\r\n1994-11-06,4.66\r\n1994-11-07,4.69\r\n1994-11-08,4.51\r\n1994-11-09,5.28\r\n1994-11-10,4.99\r\n1994-11-11,4.99\r\n1994-11-12,4.99\r\n1994-11-13,4.99\r\n1994-11-14,5.48\r\n1994-11-15,5.59\r\n1994-11-16,5.53\r\n1994-11-17,5.51\r\n1994-11-18,5.43\r\n1994-11-19,5.43\r\n1994-11-20,5.43\r\n1994-11-21,5.49\r\n1994-11-22,5.43\r\n1994-11-23,6.00\r\n1994-11-24,6.00\r\n1994-11-25,6.03\r\n1994-11-26,6.03\r\n1994-11-27,6.03\r\n1994-11-28,5.67\r\n1994-11-29,5.54\r\n1994-11-30,5.66\r\n1994-12-01,5.49\r\n1994-12-02,5.42\r\n1994-12-03,5.42\r\n1994-12-04,5.42\r\n1994-12-05,5.40\r\n1994-12-06,5.07\r\n1994-12-07,6.09\r\n1994-12-08,5.53\r\n1994-12-09,5.48\r\n1994-12-10,5.48\r\n1994-12-11,5.48\r\n1994-12-12,5.52\r\n1994-12-13,5.41\r\n1994-12-14,5.46\r\n1994-12-15,5.61\r\n1994-12-16,5.34\r\n1994-12-17,5.34\r\n1994-12-18,5.34\r\n1994-12-19,5.27\r\n1994-12-20,5.43\r\n1994-12-21,6.56\r\n1994-12-22,5.80\r\n1994-12-23,5.31\r\n1994-12-24,5.31\r\n1994-12-25,5.31\r\n1994-12-26,5.31\r\n1994-12-27,5.60\r\n1994-12-28,5.48\r\n1994-12-29,5.49\r\n1994-12-30,4.94\r\n1994-12-31,4.94\r\n1995-01-01,4.94\r\n1995-01-02,4.94\r\n1995-01-03,5.98\r\n1995-01-04,6.59\r\n1995-01-05,5.72\r\n1995-01-06,5.52\r\n1995-01-07,5.52\r\n1995-01-08,5.52\r\n1995-01-09,5.52\r\n1995-01-10,5.44\r\n1995-01-11,5.44\r\n1995-01-12,5.50\r\n1995-01-13,5.47\r\n1995-01-14,5.47\r\n1995-01-15,5.47\r\n1995-01-16,5.47\r\n1995-01-17,5.69\r\n1995-01-18,5.06\r\n1995-01-19,5.44\r\n1995-01-20,5.37\r\n1995-01-21,5.37\r\n1995-01-22,5.37\r\n1995-01-23,5.47\r\n1995-01-24,5.45\r\n1995-01-25,5.46\r\n1995-01-26,5.53\r\n1995-01-27,5.67\r\n1995-01-28,5.67\r\n1995-01-29,5.67\r\n1995-01-30,5.76\r\n1995-01-31,5.86\r\n1995-02-01,5.25\r\n1995-02-02,5.98\r\n1995-02-03,5.94\r\n1995-02-04,5.94\r\n1995-02-05,5.94\r\n1995-02-06,5.99\r\n1995-02-07,5.94\r\n1995-02-08,5.93\r\n1995-02-09,5.95\r\n1995-02-10,5.94\r\n1995-02-11,5.94\r\n1995-02-12,5.94\r\n1995-02-13,6.00\r\n1995-02-14,5.82\r\n1995-02-15,5.95\r\n1995-02-16,5.96\r\n1995-02-17,5.93\r\n1995-02-18,5.93\r\n1995-02-19,5.93\r\n1995-02-20,5.93\r\n1995-02-21,5.99\r\n1995-02-22,5.90\r\n1995-02-23,5.91\r\n1995-02-24,5.87\r\n1995-02-25,5.87\r\n1995-02-26,5.87\r\n1995-02-27,5.99\r\n1995-02-28,6.10\r\n1995-03-01,5.56\r\n1995-03-02,5.94\r\n1995-03-03,5.93\r\n1995-03-04,5.93\r\n1995-03-05,5.93\r\n1995-03-06,5.95\r\n1995-03-07,5.93\r\n1995-03-08,5.91\r\n1995-03-09,5.92\r\n1995-03-10,5.90\r\n1995-03-11,5.90\r\n1995-03-12,5.90\r\n1995-03-13,5.96\r\n1995-03-14,5.93\r\n1995-03-15,6.06\r\n1995-03-16,5.97\r\n1995-03-17,5.95\r\n1995-03-18,5.95\r\n1995-03-19,5.95\r\n1995-03-20,6.00\r\n1995-03-21,5.97\r\n1995-03-22,5.97\r\n1995-03-23,6.01\r\n1995-03-24,6.03\r\n1995-03-25,6.03\r\n1995-03-26,6.03\r\n1995-03-27,6.13\r\n1995-03-28,6.10\r\n1995-03-29,6.07\r\n1995-03-30,6.16\r\n1995-03-31,6.30\r\n1995-04-01,6.30\r\n1995-04-02,6.30\r\n1995-04-03,6.28\r\n1995-04-04,6.08\r\n1995-04-05,5.98\r\n1995-04-06,5.95\r\n1995-04-07,5.94\r\n1995-04-08,5.94\r\n1995-04-09,5.94\r\n1995-04-10,6.00\r\n1995-04-11,5.91\r\n1995-04-12,6.17\r\n1995-04-13,6.17\r\n1995-04-14,6.09\r\n1995-04-15,6.09\r\n1995-04-16,6.09\r\n1995-04-17,6.14\r\n1995-04-18,5.98\r\n1995-04-19,5.92\r\n1995-04-20,5.96\r\n1995-04-21,5.93\r\n1995-04-22,5.93\r\n1995-04-23,5.93\r\n1995-04-24,5.98\r\n1995-04-25,5.97\r\n1995-04-26,6.23\r\n1995-04-27,6.04\r\n1995-04-28,6.06\r\n1995-04-29,6.06\r\n1995-04-30,6.06\r\n1995-05-01,6.10\r\n1995-05-02,6.01\r\n1995-05-03,6.00\r\n1995-05-04,6.01\r\n1995-05-05,5.98\r\n1995-05-06,5.98\r\n1995-05-07,5.98\r\n1995-05-08,6.04\r\n1995-05-09,5.95\r\n1995-05-10,6.03\r\n1995-05-11,6.00\r\n1995-05-12,5.99\r\n1995-05-13,5.99\r\n1995-05-14,5.99\r\n1995-05-15,6.17\r\n1995-05-16,6.01\r\n1995-05-17,5.97\r\n1995-05-18,5.98\r\n1995-05-19,5.94\r\n1995-05-20,5.94\r\n1995-05-21,5.94\r\n1995-05-22,6.00\r\n1995-05-23,5.96\r\n1995-05-24,6.16\r\n1995-05-25,6.04\r\n1995-05-26,5.97\r\n1995-05-27,5.97\r\n1995-05-28,5.97\r\n1995-05-29,5.97\r\n1995-05-30,6.07\r\n1995-05-31,6.17\r\n1995-06-01,6.04\r\n1995-06-02,6.02\r\n1995-06-03,6.02\r\n1995-06-04,6.02\r\n1995-06-05,5.99\r\n1995-06-06,5.96\r\n1995-06-07,6.15\r\n1995-06-08,6.08\r\n1995-06-09,6.02\r\n1995-06-10,6.02\r\n1995-06-11,6.02\r\n1995-06-12,6.02\r\n1995-06-13,5.97\r\n1995-06-14,5.99\r\n1995-06-15,6.10\r\n1995-06-16,6.02\r\n1995-06-17,6.02\r\n1995-06-18,6.02\r\n1995-06-19,6.05\r\n1995-06-20,6.01\r\n1995-06-21,5.77\r\n1995-06-22,5.99\r\n1995-06-23,5.94\r\n1995-06-24,5.94\r\n1995-06-25,5.94\r\n1995-06-26,5.99\r\n1995-06-27,5.94\r\n1995-06-28,5.92\r\n1995-06-29,5.96\r\n1995-06-30,6.11\r\n1995-07-01,6.11\r\n1995-07-02,6.11\r\n1995-07-03,5.89\r\n1995-07-04,5.89\r\n1995-07-05,7.41\r\n1995-07-06,6.06\r\n1995-07-07,5.77\r\n1995-07-08,5.77\r\n1995-07-09,5.77\r\n1995-07-10,5.78\r\n1995-07-11,5.75\r\n1995-07-12,5.74\r\n1995-07-13,5.75\r\n1995-07-14,5.68\r\n1995-07-15,5.68\r\n1995-07-16,5.68\r\n1995-07-17,5.76\r\n1995-07-18,5.67\r\n1995-07-19,5.82\r\n1995-07-20,5.80\r\n1995-07-21,5.74\r\n1995-07-22,5.74\r\n1995-07-23,5.74\r\n1995-07-24,5.75\r\n1995-07-25,5.73\r\n1995-07-26,5.76\r\n1995-07-27,5.78\r\n1995-07-28,5.77\r\n1995-07-29,5.77\r\n1995-07-30,5.77\r\n1995-07-31,5.97\r\n1995-08-01,5.55\r\n1995-08-02,6.21\r\n1995-08-03,5.79\r\n1995-08-04,5.72\r\n1995-08-05,5.72\r\n1995-08-06,5.72\r\n1995-08-07,5.76\r\n1995-08-08,5.70\r\n1995-08-09,5.67\r\n1995-08-10,5.68\r\n1995-08-11,5.67\r\n1995-08-12,5.67\r\n1995-08-13,5.67\r\n1995-08-14,5.76\r\n1995-08-15,5.90\r\n1995-08-16,5.86\r\n1995-08-17,5.76\r\n1995-08-18,5.68\r\n1995-08-19,5.68\r\n1995-08-20,5.68\r\n1995-08-21,5.71\r\n1995-08-22,5.68\r\n1995-08-23,5.68\r\n1995-08-24,5.71\r\n1995-08-25,5.71\r\n1995-08-26,5.71\r\n1995-08-27,5.71\r\n1995-08-28,5.72\r\n1995-08-29,5.48\r\n1995-08-30,5.90\r\n1995-08-31,5.93\r\n1995-09-01,5.72\r\n1995-09-02,5.72\r\n1995-09-03,5.72\r\n1995-09-04,5.72\r\n1995-09-05,5.86\r\n1995-09-06,5.75\r\n1995-09-07,5.74\r\n1995-09-08,5.67\r\n1995-09-09,5.67\r\n1995-09-10,5.67\r\n1995-09-11,5.73\r\n1995-09-12,5.65\r\n1995-09-13,5.96\r\n1995-09-14,5.88\r\n1995-09-15,5.80\r\n1995-09-16,5.80\r\n1995-09-17,5.80\r\n1995-09-18,5.76\r\n1995-09-19,5.73\r\n1995-09-20,5.72\r\n1995-09-21,5.71\r\n1995-09-22,5.66\r\n1995-09-23,5.66\r\n1995-09-24,5.66\r\n1995-09-25,5.75\r\n1995-09-26,5.73\r\n1995-09-27,6.45\r\n1995-09-28,6.05\r\n1995-09-29,6.20\r\n1995-09-30,6.20\r\n1995-10-01,6.20\r\n1995-10-02,5.93\r\n1995-10-03,5.75\r\n1995-10-04,5.69\r\n1995-10-05,5.69\r\n1995-10-06,5.65\r\n1995-10-07,5.65\r\n1995-10-08,5.65\r\n1995-10-09,5.65\r\n1995-10-10,5.74\r\n1995-10-11,6.01\r\n1995-10-12,5.80\r\n1995-10-13,5.70\r\n1995-10-14,5.70\r\n1995-10-15,5.70\r\n1995-10-16,5.74\r\n1995-10-17,5.66\r\n1995-10-18,5.65\r\n1995-10-19,5.70\r\n1995-10-20,5.70\r\n1995-10-21,5.70\r\n1995-10-22,5.70\r\n1995-10-23,5.74\r\n1995-10-24,5.70\r\n1995-10-25,6.09\r\n1995-10-26,5.76\r\n1995-10-27,5.68\r\n1995-10-28,5.68\r\n1995-10-29,5.68\r\n1995-10-30,5.78\r\n1995-10-31,5.97\r\n1995-11-01,5.76\r\n1995-11-02,5.72\r\n1995-11-03,5.66\r\n1995-11-04,5.66\r\n1995-11-05,5.66\r\n1995-11-06,5.71\r\n1995-11-07,5.65\r\n1995-11-08,5.93\r\n1995-11-09,5.74\r\n1995-11-10,5.68\r\n1995-11-11,5.68\r\n1995-11-12,5.68\r\n1995-11-13,5.74\r\n1995-11-14,5.71\r\n1995-11-15,5.94\r\n1995-11-16,5.84\r\n1995-11-17,5.70\r\n1995-11-18,5.70\r\n1995-11-19,5.70\r\n1995-11-20,5.73\r\n1995-11-21,5.68\r\n1995-11-22,6.31\r\n1995-11-23,6.31\r\n1995-11-24,5.97\r\n1995-11-25,5.97\r\n1995-11-26,5.97\r\n1995-11-27,5.77\r\n1995-11-28,5.69\r\n1995-11-29,5.72\r\n1995-11-30,6.11\r\n1995-12-01,5.56\r\n1995-12-02,5.56\r\n1995-12-03,5.56\r\n1995-12-04,5.74\r\n1995-12-05,5.72\r\n1995-12-06,5.99\r\n1995-12-07,5.82\r\n1995-12-08,5.73\r\n1995-12-09,5.73\r\n1995-12-10,5.73\r\n1995-12-11,5.73\r\n1995-12-12,5.69\r\n1995-12-13,5.70\r\n1995-12-14,5.82\r\n1995-12-15,5.78\r\n1995-12-16,5.78\r\n1995-12-17,5.78\r\n1995-12-18,5.76\r\n1995-12-19,5.63\r\n1995-12-20,6.74\r\n1995-12-21,5.74\r\n1995-12-22,5.44\r\n1995-12-23,5.44\r\n1995-12-24,5.44\r\n1995-12-25,5.44\r\n1995-12-26,5.50\r\n1995-12-27,5.39\r\n1995-12-28,5.53\r\n1995-12-29,4.73\r\n1995-12-30,4.73\r\n1995-12-31,4.73\r\n1996-01-01,4.73\r\n1996-01-02,6.06\r\n1996-01-03,6.93\r\n1996-01-04,5.69\r\n1996-01-05,5.46\r\n1996-01-06,5.46\r\n1996-01-07,5.46\r\n1996-01-08,6.01\r\n1996-01-09,5.28\r\n1996-01-10,5.35\r\n1996-01-11,5.52\r\n1996-01-12,5.50\r\n1996-01-13,5.50\r\n1996-01-14,5.50\r\n1996-01-15,5.50\r\n1996-01-16,5.84\r\n1996-01-17,5.91\r\n1996-01-18,5.51\r\n1996-01-19,5.40\r\n1996-01-20,5.40\r\n1996-01-21,5.40\r\n1996-01-22,5.46\r\n1996-01-23,5.44\r\n1996-01-24,5.50\r\n1996-01-25,5.56\r\n1996-01-26,5.51\r\n1996-01-27,5.51\r\n1996-01-28,5.51\r\n1996-01-29,5.53\r\n1996-01-30,5.37\r\n1996-01-31,5.71\r\n1996-02-01,5.27\r\n1996-02-02,5.23\r\n1996-02-03,5.23\r\n1996-02-04,5.23\r\n1996-02-05,5.23\r\n1996-02-06,5.16\r\n1996-02-07,5.13\r\n1996-02-08,5.18\r\n1996-02-09,5.17\r\n1996-02-10,5.17\r\n1996-02-11,5.17\r\n1996-02-12,5.12\r\n1996-02-13,4.93\r\n1996-02-14,4.92\r\n1996-02-15,5.36\r\n1996-02-16,5.13\r\n1996-02-17,5.13\r\n1996-02-18,5.13\r\n1996-02-19,5.13\r\n1996-02-20,5.20\r\n1996-02-21,5.10\r\n1996-02-22,5.15\r\n1996-02-23,5.14\r\n1996-02-24,5.14\r\n1996-02-25,5.14\r\n1996-02-26,5.19\r\n1996-02-27,5.20\r\n1996-02-28,6.18\r\n1996-02-29,6.05\r\n1996-03-01,5.81\r\n1996-03-02,5.81\r\n1996-03-03,5.81\r\n1996-03-04,5.33\r\n1996-03-05,5.13\r\n1996-03-06,5.08\r\n1996-03-07,5.21\r\n1996-03-08,5.16\r\n1996-03-09,5.16\r\n1996-03-10,5.16\r\n1996-03-11,5.25\r\n1996-03-12,5.25\r\n1996-03-13,5.49\r\n1996-03-14,5.56\r\n1996-03-15,5.42\r\n1996-03-16,5.42\r\n1996-03-17,5.42\r\n1996-03-18,5.27\r\n1996-03-19,5.20\r\n1996-03-20,5.21\r\n1996-03-21,5.21\r\n1996-03-22,5.17\r\n1996-03-23,5.17\r\n1996-03-24,5.17\r\n1996-03-25,5.29\r\n1996-03-26,5.23\r\n1996-03-27,5.29\r\n1996-03-28,5.31\r\n1996-03-29,5.25\r\n1996-03-30,5.25\r\n1996-03-31,5.25\r\n1996-04-01,5.53\r\n1996-04-02,5.29\r\n1996-04-03,5.25\r\n1996-04-04,5.25\r\n1996-04-05,4.89\r\n1996-04-06,4.89\r\n1996-04-07,4.89\r\n1996-04-08,5.14\r\n1996-04-09,5.07\r\n1996-04-10,5.46\r\n1996-04-11,5.33\r\n1996-04-12,5.22\r\n1996-04-13,5.22\r\n1996-04-14,5.22\r\n1996-04-15,5.33\r\n1996-04-16,5.17\r\n1996-04-17,5.17\r\n1996-04-18,5.19\r\n1996-04-19,5.10\r\n1996-04-20,5.10\r\n1996-04-21,5.10\r\n1996-04-22,5.23\r\n1996-04-23,5.38\r\n1996-04-24,5.57\r\n1996-04-25,5.34\r\n1996-04-26,5.21\r\n1996-04-27,5.21\r\n1996-04-28,5.21\r\n1996-04-29,5.25\r\n1996-04-30,5.50\r\n1996-05-01,5.41\r\n1996-05-02,5.28\r\n1996-05-03,5.14\r\n1996-05-04,5.14\r\n1996-05-05,5.14\r\n1996-05-06,5.26\r\n1996-05-07,5.24\r\n1996-05-08,5.31\r\n1996-05-09,5.28\r\n1996-05-10,5.20\r\n1996-05-11,5.20\r\n1996-05-12,5.20\r\n1996-05-13,5.25\r\n1996-05-14,5.25\r\n1996-05-15,5.47\r\n1996-05-16,5.24\r\n1996-05-17,5.15\r\n1996-05-18,5.15\r\n1996-05-19,5.15\r\n1996-05-20,5.21\r\n1996-05-21,5.23\r\n1996-05-22,5.41\r\n1996-05-23,5.20\r\n1996-05-24,5.14\r\n1996-05-25,5.14\r\n1996-05-26,5.14\r\n1996-05-27,5.14\r\n1996-05-28,5.33\r\n1996-05-29,5.24\r\n1996-05-30,5.34\r\n1996-05-31,5.31\r\n1996-06-01,5.31\r\n1996-06-02,5.31\r\n1996-06-03,5.44\r\n1996-06-04,5.23\r\n1996-06-05,5.34\r\n1996-06-06,5.29\r\n1996-06-07,5.21\r\n1996-06-08,5.21\r\n1996-06-09,5.21\r\n1996-06-10,5.28\r\n1996-06-11,5.24\r\n1996-06-12,5.25\r\n1996-06-13,5.27\r\n1996-06-14,5.30\r\n1996-06-15,5.30\r\n1996-06-16,5.30\r\n1996-06-17,5.47\r\n1996-06-18,5.27\r\n1996-06-19,6.25\r\n1996-06-20,5.37\r\n1996-06-21,5.19\r\n1996-06-22,5.19\r\n1996-06-23,5.19\r\n1996-06-24,5.18\r\n1996-06-25,5.15\r\n1996-06-26,5.18\r\n1996-06-27,5.27\r\n1996-06-28,5.00\r\n1996-06-29,5.00\r\n1996-06-30,5.00\r\n1996-07-01,7.80\r\n1996-07-02,5.29\r\n1996-07-03,5.38\r\n1996-07-04,5.38\r\n1996-07-05,5.28\r\n1996-07-06,5.28\r\n1996-07-07,5.28\r\n1996-07-08,5.27\r\n1996-07-09,5.14\r\n1996-07-10,5.16\r\n1996-07-11,5.21\r\n1996-07-12,5.18\r\n1996-07-13,5.18\r\n1996-07-14,5.18\r\n1996-07-15,5.42\r\n1996-07-16,5.20\r\n1996-07-17,5.25\r\n1996-07-18,5.28\r\n1996-07-19,5.22\r\n1996-07-20,5.22\r\n1996-07-21,5.22\r\n1996-07-22,5.25\r\n1996-07-23,5.25\r\n1996-07-24,5.29\r\n1996-07-25,5.45\r\n1996-07-26,5.26\r\n1996-07-27,5.26\r\n1996-07-28,5.26\r\n1996-07-29,5.37\r\n1996-07-30,5.33\r\n1996-07-31,6.75\r\n1996-08-01,6.29\r\n1996-08-02,5.34\r\n1996-08-03,5.34\r\n1996-08-04,5.34\r\n1996-08-05,5.15\r\n1996-08-06,5.10\r\n1996-08-07,5.07\r\n1996-08-08,5.15\r\n1996-08-09,5.10\r\n1996-08-10,5.10\r\n1996-08-11,5.10\r\n1996-08-12,5.17\r\n1996-08-13,4.89\r\n1996-08-14,5.22\r\n1996-08-15,5.48\r\n1996-08-16,5.15\r\n1996-08-17,5.15\r\n1996-08-18,5.15\r\n1996-08-19,5.17\r\n1996-08-20,5.08\r\n1996-08-21,5.09\r\n1996-08-22,5.17\r\n1996-08-23,5.22\r\n1996-08-24,5.22\r\n1996-08-25,5.22\r\n1996-08-26,5.28\r\n1996-08-27,5.13\r\n1996-08-28,5.24\r\n1996-08-29,5.24\r\n1996-08-30,5.28\r\n1996-08-31,5.28\r\n1996-09-01,5.28\r\n1996-09-02,5.28\r\n1996-09-03,6.01\r\n1996-09-04,5.35\r\n1996-09-05,5.19\r\n1996-09-06,5.13\r\n1996-09-07,5.13\r\n1996-09-08,5.13\r\n1996-09-09,5.20\r\n1996-09-10,5.10\r\n1996-09-11,5.26\r\n1996-09-12,5.33\r\n1996-09-13,5.29\r\n1996-09-14,5.29\r\n1996-09-15,5.29\r\n1996-09-16,5.38\r\n1996-09-17,5.02\r\n1996-09-18,4.96\r\n1996-09-19,5.29\r\n1996-09-20,5.30\r\n1996-09-21,5.30\r\n1996-09-22,5.30\r\n1996-09-23,5.32\r\n1996-09-24,5.28\r\n1996-09-25,5.56\r\n1996-09-26,5.28\r\n1996-09-27,5.21\r\n1996-09-28,5.21\r\n1996-09-29,5.21\r\n1996-09-30,6.09\r\n1996-10-01,5.53\r\n1996-10-02,5.24\r\n1996-10-03,5.17\r\n1996-10-04,5.04\r\n1996-10-05,5.04\r\n1996-10-06,5.04\r\n1996-10-07,5.16\r\n1996-10-08,5.11\r\n1996-10-09,5.43\r\n1996-10-10,5.29\r\n1996-10-11,5.16\r\n1996-10-12,5.16\r\n1996-10-13,5.16\r\n1996-10-14,5.16\r\n1996-10-15,5.41\r\n1996-10-16,5.20\r\n1996-10-17,5.19\r\n1996-10-18,5.12\r\n1996-10-19,5.12\r\n1996-10-20,5.12\r\n1996-10-21,5.21\r\n1996-10-22,5.19\r\n1996-10-23,5.58\r\n1996-10-24,5.29\r\n1996-10-25,5.27\r\n1996-10-26,5.27\r\n1996-10-27,5.27\r\n1996-10-28,5.29\r\n1996-10-29,5.22\r\n1996-10-30,5.31\r\n1996-10-31,5.63\r\n1996-11-01,5.19\r\n1996-11-02,5.19\r\n1996-11-03,5.19\r\n1996-11-04,5.21\r\n1996-11-05,5.34\r\n1996-11-06,5.46\r\n1996-11-07,5.28\r\n1996-11-08,5.17\r\n1996-11-09,5.17\r\n1996-11-10,5.17\r\n1996-11-11,5.17\r\n1996-11-12,5.30\r\n1996-11-13,5.21\r\n1996-11-14,5.34\r\n1996-11-15,5.53\r\n1996-11-16,5.53\r\n1996-11-17,5.53\r\n1996-11-18,5.15\r\n1996-11-19,5.29\r\n1996-11-20,5.53\r\n1996-11-21,5.28\r\n1996-11-22,5.24\r\n1996-11-23,5.24\r\n1996-11-24,5.24\r\n1996-11-25,5.38\r\n1996-11-26,5.28\r\n1996-11-27,5.42\r\n1996-11-28,5.42\r\n1996-11-29,5.44\r\n1996-11-30,5.44\r\n1996-12-01,5.44\r\n1996-12-02,5.67\r\n1996-12-03,5.09\r\n1996-12-04,6.12\r\n1996-12-05,5.36\r\n1996-12-06,5.21\r\n1996-12-07,5.21\r\n1996-12-08,5.21\r\n1996-12-09,5.19\r\n1996-12-10,5.17\r\n1996-12-11,5.19\r\n1996-12-12,5.25\r\n1996-12-13,5.28\r\n1996-12-14,5.28\r\n1996-12-15,5.28\r\n1996-12-16,5.56\r\n1996-12-17,5.38\r\n1996-12-18,5.60\r\n1996-12-19,5.29\r\n1996-12-20,5.15\r\n1996-12-21,5.15\r\n1996-12-22,5.15\r\n1996-12-23,5.26\r\n1996-12-24,5.14\r\n1996-12-25,5.14\r\n1996-12-26,5.26\r\n1996-12-27,4.77\r\n1996-12-28,4.77\r\n1996-12-29,4.77\r\n1996-12-30,5.53\r\n1996-12-31,6.26\r\n1997-01-01,6.26\r\n1997-01-02,5.79\r\n1997-01-03,5.17\r\n1997-01-04,5.17\r\n1997-01-05,5.17\r\n1997-01-06,5.26\r\n1997-01-07,5.20\r\n1997-01-08,5.20\r\n1997-01-09,5.25\r\n1997-01-10,5.17\r\n1997-01-11,5.17\r\n1997-01-12,5.17\r\n1997-01-13,5.24\r\n1997-01-14,5.14\r\n1997-01-15,5.22\r\n1997-01-16,5.26\r\n1997-01-17,5.14\r\n1997-01-18,5.14\r\n1997-01-19,5.14\r\n1997-01-20,5.14\r\n1997-01-21,5.33\r\n1997-01-22,5.21\r\n1997-01-23,5.24\r\n1997-01-24,5.13\r\n1997-01-25,5.13\r\n1997-01-26,5.13\r\n1997-01-27,5.33\r\n1997-01-28,5.27\r\n1997-01-29,5.05\r\n1997-01-30,5.30\r\n1997-01-31,5.37\r\n1997-02-01,5.37\r\n1997-02-02,5.37\r\n1997-02-03,5.36\r\n1997-02-04,5.18\r\n1997-02-05,5.17\r\n1997-02-06,5.22\r\n1997-02-07,5.08\r\n1997-02-08,5.08\r\n1997-02-09,5.08\r\n1997-02-10,5.18\r\n1997-02-11,5.07\r\n1997-02-12,4.63\r\n1997-02-13,5.19\r\n1997-02-14,5.15\r\n1997-02-15,5.15\r\n1997-02-16,5.15\r\n1997-02-17,5.15\r\n1997-02-18,5.55\r\n1997-02-19,5.19\r\n1997-02-20,5.15\r\n1997-02-21,5.08\r\n1997-02-22,5.08\r\n1997-02-23,5.08\r\n1997-02-24,5.22\r\n1997-02-25,5.28\r\n1997-02-26,5.20\r\n1997-02-27,5.29\r\n1997-02-28,5.50\r\n1997-03-01,5.50\r\n1997-03-02,5.50\r\n1997-03-03,5.40\r\n1997-03-04,5.16\r\n1997-03-05,5.15\r\n1997-03-06,5.22\r\n1997-03-07,5.21\r\n1997-03-08,5.21\r\n1997-03-09,5.21\r\n1997-03-10,5.24\r\n1997-03-11,5.21\r\n1997-03-12,5.01\r\n1997-03-13,5.21\r\n1997-03-14,5.15\r\n1997-03-15,5.15\r\n1997-03-16,5.15\r\n1997-03-17,5.39\r\n1997-03-18,5.42\r\n1997-03-19,5.36\r\n1997-03-20,5.32\r\n1997-03-21,5.28\r\n1997-03-22,5.28\r\n1997-03-23,5.28\r\n1997-03-24,5.47\r\n1997-03-25,5.57\r\n1997-03-26,5.61\r\n1997-03-27,5.68\r\n1997-03-28,5.52\r\n1997-03-29,5.52\r\n1997-03-30,5.52\r\n1997-03-31,7.07\r\n1997-04-01,6.18\r\n1997-04-02,5.50\r\n1997-04-03,5.52\r\n1997-04-04,5.32\r\n1997-04-05,5.32\r\n1997-04-06,5.32\r\n1997-04-07,5.43\r\n1997-04-08,5.34\r\n1997-04-09,5.31\r\n1997-04-10,5.51\r\n1997-04-11,5.40\r\n1997-04-12,5.40\r\n1997-04-13,5.40\r\n1997-04-14,5.49\r\n1997-04-15,5.61\r\n1997-04-16,5.56\r\n1997-04-17,5.49\r\n1997-04-18,5.35\r\n1997-04-19,5.35\r\n1997-04-20,5.35\r\n1997-04-21,5.34\r\n1997-04-22,5.50\r\n1997-04-23,5.95\r\n1997-04-24,5.62\r\n1997-04-25,5.53\r\n1997-04-26,5.53\r\n1997-04-27,5.53\r\n1997-04-28,5.72\r\n1997-04-29,5.53\r\n1997-04-30,5.82\r\n1997-05-01,5.73\r\n1997-05-02,5.47\r\n1997-05-03,5.47\r\n1997-05-04,5.47\r\n1997-05-05,5.49\r\n1997-05-06,5.50\r\n1997-05-07,5.70\r\n1997-05-08,5.66\r\n1997-05-09,5.46\r\n1997-05-10,5.46\r\n1997-05-11,5.46\r\n1997-05-12,5.49\r\n1997-05-13,5.42\r\n1997-05-14,5.45\r\n1997-05-15,5.71\r\n1997-05-16,5.44\r\n1997-05-17,5.44\r\n1997-05-18,5.44\r\n1997-05-19,5.55\r\n1997-05-20,5.51\r\n1997-05-21,5.56\r\n1997-05-22,5.48\r\n1997-05-23,5.36\r\n1997-05-24,5.36\r\n1997-05-25,5.36\r\n1997-05-26,5.36\r\n1997-05-27,5.59\r\n1997-05-28,5.52\r\n1997-05-29,5.56\r\n1997-05-30,5.58\r\n1997-05-31,5.58\r\n1997-06-01,5.58\r\n1997-06-02,5.63\r\n1997-06-03,5.42\r\n1997-06-04,5.40\r\n1997-06-05,5.51\r\n1997-06-06,5.42\r\n1997-06-07,5.42\r\n1997-06-08,5.42\r\n1997-06-09,5.51\r\n1997-06-10,5.59\r\n1997-06-11,5.50\r\n1997-06-12,5.58\r\n1997-06-13,5.56\r\n1997-06-14,5.56\r\n1997-06-15,5.56\r\n1997-06-16,6.22\r\n1997-06-17,5.46\r\n1997-06-18,5.43\r\n1997-06-19,5.50\r\n1997-06-20,5.39\r\n1997-06-21,5.39\r\n1997-06-22,5.39\r\n1997-06-23,5.45\r\n1997-06-24,5.39\r\n1997-06-25,5.46\r\n1997-06-26,5.50\r\n1997-06-27,5.52\r\n1997-06-28,5.52\r\n1997-06-29,5.52\r\n1997-06-30,6.87\r\n1997-07-01,6.24\r\n1997-07-02,5.54\r\n1997-07-03,5.46\r\n1997-07-04,5.46\r\n1997-07-05,5.46\r\n1997-07-06,5.46\r\n1997-07-07,5.62\r\n1997-07-08,5.46\r\n1997-07-09,5.44\r\n1997-07-10,5.45\r\n1997-07-11,5.33\r\n1997-07-12,5.33\r\n1997-07-13,5.33\r\n1997-07-14,5.50\r\n1997-07-15,5.47\r\n1997-07-16,5.64\r\n1997-07-17,5.49\r\n1997-07-18,5.37\r\n1997-07-19,5.37\r\n1997-07-20,5.37\r\n1997-07-21,5.50\r\n1997-07-22,5.44\r\n1997-07-23,5.48\r\n1997-07-24,5.57\r\n1997-07-25,5.51\r\n1997-07-26,5.51\r\n1997-07-27,5.51\r\n1997-07-28,5.59\r\n1997-07-29,5.52\r\n1997-07-30,5.78\r\n1997-07-31,5.96\r\n1997-08-01,5.65\r\n1997-08-02,5.65\r\n1997-08-03,5.65\r\n1997-08-04,5.53\r\n1997-08-05,5.48\r\n1997-08-06,5.45\r\n1997-08-07,5.48\r\n1997-08-08,5.34\r\n1997-08-09,5.34\r\n1997-08-10,5.34\r\n1997-08-11,5.56\r\n1997-08-12,5.52\r\n1997-08-13,5.56\r\n1997-08-14,5.63\r\n1997-08-15,5.59\r\n1997-08-16,5.59\r\n1997-08-17,5.59\r\n1997-08-18,5.49\r\n1997-08-19,5.47\r\n1997-08-20,5.80\r\n1997-08-21,5.64\r\n1997-08-22,5.49\r\n1997-08-23,5.49\r\n1997-08-24,5.49\r\n1997-08-25,5.65\r\n1997-08-26,5.62\r\n1997-08-27,5.52\r\n1997-08-28,5.64\r\n1997-08-29,5.52\r\n1997-08-30,5.52\r\n1997-08-31,5.52\r\n1997-09-01,5.52\r\n1997-09-02,6.23\r\n1997-09-03,5.54\r\n1997-09-04,5.48\r\n1997-09-05,5.39\r\n1997-09-06,5.39\r\n1997-09-07,5.39\r\n1997-09-08,5.58\r\n1997-09-09,5.50\r\n1997-09-10,5.61\r\n1997-09-11,5.55\r\n1997-09-12,5.49\r\n1997-09-13,5.49\r\n1997-09-14,5.49\r\n1997-09-15,5.77\r\n1997-09-16,5.52\r\n1997-09-17,5.74\r\n1997-09-18,5.53\r\n1997-09-19,5.36\r\n1997-09-20,5.36\r\n1997-09-21,5.36\r\n1997-09-22,5.51\r\n1997-09-23,5.45\r\n1997-09-24,5.57\r\n1997-09-25,5.59\r\n1997-09-26,5.44\r\n1997-09-27,5.44\r\n1997-09-28,5.44\r\n1997-09-29,5.68\r\n1997-09-30,5.81\r\n1997-10-01,5.65\r\n1997-10-02,5.52\r\n1997-10-03,5.42\r\n1997-10-04,5.42\r\n1997-10-05,5.42\r\n1997-10-06,5.48\r\n1997-10-07,5.42\r\n1997-10-08,5.52\r\n1997-10-09,5.45\r\n1997-10-10,5.37\r\n1997-10-11,5.37\r\n1997-10-12,5.37\r\n1997-10-13,5.37\r\n1997-10-14,5.61\r\n1997-10-15,5.64\r\n1997-10-16,5.50\r\n1997-10-17,5.47\r\n1997-10-18,5.47\r\n1997-10-19,5.47\r\n1997-10-20,5.57\r\n1997-10-21,5.53\r\n1997-10-22,5.76\r\n1997-10-23,5.57\r\n1997-10-24,5.47\r\n1997-10-25,5.47\r\n1997-10-26,5.47\r\n1997-10-27,5.58\r\n1997-10-28,5.49\r\n1997-10-29,5.43\r\n1997-10-30,5.54\r\n1997-10-31,5.56\r\n1997-11-01,5.56\r\n1997-11-02,5.56\r\n1997-11-03,5.72\r\n1997-11-04,5.54\r\n1997-11-05,5.75\r\n1997-11-06,5.60\r\n1997-11-07,5.45\r\n1997-11-08,5.45\r\n1997-11-09,5.45\r\n1997-11-10,5.50\r\n1997-11-11,5.50\r\n1997-11-12,5.53\r\n1997-11-13,5.50\r\n1997-11-14,5.44\r\n1997-11-15,5.44\r\n1997-11-16,5.44\r\n1997-11-17,5.68\r\n1997-11-18,5.45\r\n1997-11-19,5.59\r\n1997-11-20,5.57\r\n1997-11-21,5.41\r\n1997-11-22,5.41\r\n1997-11-23,5.41\r\n1997-11-24,5.51\r\n1997-11-25,5.55\r\n1997-11-26,5.57\r\n1997-11-27,5.57\r\n1997-11-28,5.50\r\n1997-11-29,5.50\r\n1997-11-30,5.50\r\n1997-12-01,5.92\r\n1997-12-02,5.55\r\n1997-12-03,5.50\r\n1997-12-04,5.51\r\n1997-12-05,5.39\r\n1997-12-06,5.39\r\n1997-12-07,5.39\r\n1997-12-08,5.41\r\n1997-12-09,5.29\r\n1997-12-10,5.43\r\n1997-12-11,5.52\r\n1997-12-12,5.55\r\n1997-12-13,5.55\r\n1997-12-14,5.55\r\n1997-12-15,5.97\r\n1997-12-16,5.56\r\n1997-12-17,5.95\r\n1997-12-18,5.63\r\n1997-12-19,5.46\r\n1997-12-20,5.46\r\n1997-12-21,5.46\r\n1997-12-22,5.55\r\n1997-12-23,5.45\r\n1997-12-24,5.08\r\n1997-12-25,5.08\r\n1997-12-26,5.19\r\n1997-12-27,5.19\r\n1997-12-28,5.19\r\n1997-12-29,5.57\r\n1997-12-30,6.07\r\n1997-12-31,5.84\r\n1998-01-01,5.84\r\n1998-01-02,6.06\r\n1998-01-03,6.06\r\n1998-01-04,6.06\r\n1998-01-05,5.51\r\n1998-01-06,5.35\r\n1998-01-07,5.29\r\n1998-01-08,5.42\r\n1998-01-09,5.48\r\n1998-01-10,5.48\r\n1998-01-11,5.48\r\n1998-01-12,5.48\r\n1998-01-13,5.42\r\n1998-01-14,5.36\r\n1998-01-15,5.60\r\n1998-01-16,5.54\r\n1998-01-17,5.54\r\n1998-01-18,5.54\r\n1998-01-19,5.54\r\n1998-01-20,5.52\r\n1998-01-21,5.40\r\n1998-01-22,5.47\r\n1998-01-23,5.51\r\n1998-01-24,5.51\r\n1998-01-25,5.51\r\n1998-01-26,5.62\r\n1998-01-27,5.52\r\n1998-01-28,5.58\r\n1998-01-29,5.63\r\n1998-01-30,5.48\r\n1998-01-31,5.48\r\n1998-02-01,5.48\r\n1998-02-02,5.71\r\n1998-02-03,5.47\r\n1998-02-04,5.41\r\n1998-02-05,5.45\r\n1998-02-06,5.40\r\n1998-02-07,5.40\r\n1998-02-08,5.40\r\n1998-02-09,5.47\r\n1998-02-10,5.44\r\n1998-02-11,5.48\r\n1998-02-12,5.52\r\n1998-02-13,5.45\r\n1998-02-14,5.45\r\n1998-02-15,5.45\r\n1998-02-16,5.45\r\n1998-02-17,6.00\r\n1998-02-18,5.44\r\n1998-02-19,5.43\r\n1998-02-20,5.46\r\n1998-02-21,5.46\r\n1998-02-22,5.46\r\n1998-02-23,5.55\r\n1998-02-24,5.49\r\n1998-02-25,5.69\r\n1998-02-26,5.61\r\n1998-02-27,5.57\r\n1998-02-28,5.57\r\n1998-03-01,5.57\r\n1998-03-02,5.82\r\n1998-03-03,5.57\r\n1998-03-04,5.46\r\n1998-03-05,5.48\r\n1998-03-06,5.41\r\n1998-03-07,5.41\r\n1998-03-08,5.41\r\n1998-03-09,5.50\r\n1998-03-10,5.44\r\n1998-03-11,5.52\r\n1998-03-12,5.52\r\n1998-03-13,5.43\r\n1998-03-14,5.43\r\n1998-03-15,5.43\r\n1998-03-16,5.64\r\n1998-03-17,5.47\r\n1998-03-18,5.35\r\n1998-03-19,5.39\r\n1998-03-20,5.34\r\n1998-03-21,5.34\r\n1998-03-22,5.34\r\n1998-03-23,5.41\r\n1998-03-24,5.41\r\n1998-03-25,5.75\r\n1998-03-26,5.55\r\n1998-03-27,5.47\r\n1998-03-28,5.47\r\n1998-03-29,5.47\r\n1998-03-30,5.62\r\n1998-03-31,5.88\r\n1998-04-01,5.72\r\n1998-04-02,5.45\r\n1998-04-03,5.47\r\n1998-04-04,5.47\r\n1998-04-05,5.47\r\n1998-04-06,5.46\r\n1998-04-07,5.40\r\n1998-04-08,5.64\r\n1998-04-09,5.50\r\n1998-04-10,5.41\r\n1998-04-11,5.41\r\n1998-04-12,5.41\r\n1998-04-13,5.52\r\n1998-04-14,5.47\r\n1998-04-15,5.56\r\n1998-04-16,5.50\r\n1998-04-17,5.36\r\n1998-04-18,5.36\r\n1998-04-19,5.36\r\n1998-04-20,5.36\r\n1998-04-21,5.37\r\n1998-04-22,5.29\r\n1998-04-23,5.46\r\n1998-04-24,5.43\r\n1998-04-25,5.43\r\n1998-04-26,5.43\r\n1998-04-27,5.45\r\n1998-04-28,5.28\r\n1998-04-29,5.33\r\n1998-04-30,5.59\r\n1998-05-01,5.46\r\n1998-05-02,5.46\r\n1998-05-03,5.46\r\n1998-05-04,5.22\r\n1998-05-05,5.22\r\n1998-05-06,5.04\r\n1998-05-07,5.34\r\n1998-05-08,5.47\r\n1998-05-09,5.47\r\n1998-05-10,5.47\r\n1998-05-11,5.53\r\n1998-05-12,5.54\r\n1998-05-13,5.58\r\n1998-05-14,5.66\r\n1998-05-15,5.72\r\n1998-05-16,5.72\r\n1998-05-17,5.72\r\n1998-05-18,5.52\r\n1998-05-19,5.35\r\n1998-05-20,5.52\r\n1998-05-21,5.49\r\n1998-05-22,5.38\r\n1998-05-23,5.38\r\n1998-05-24,5.38\r\n1998-05-25,5.38\r\n1998-05-26,5.62\r\n1998-05-27,5.53\r\n1998-05-28,5.63\r\n1998-05-29,5.63\r\n1998-05-30,5.63\r\n1998-05-31,5.63\r\n1998-06-01,5.79\r\n1998-06-02,5.50\r\n1998-06-03,5.60\r\n1998-06-04,5.55\r\n1998-06-05,5.38\r\n1998-06-06,5.38\r\n1998-06-07,5.38\r\n1998-06-08,5.44\r\n1998-06-09,5.38\r\n1998-06-10,5.53\r\n1998-06-11,5.62\r\n1998-06-12,5.53\r\n1998-06-13,5.53\r\n1998-06-14,5.53\r\n1998-06-15,5.78\r\n1998-06-16,5.55\r\n1998-06-17,5.55\r\n1998-06-18,5.54\r\n1998-06-19,5.36\r\n1998-06-20,5.36\r\n1998-06-21,5.36\r\n1998-06-22,5.42\r\n1998-06-23,5.36\r\n1998-06-24,5.54\r\n1998-06-25,5.64\r\n1998-06-26,5.47\r\n1998-06-27,5.47\r\n1998-06-28,5.47\r\n1998-06-29,5.69\r\n1998-06-30,7.06\r\n1998-07-01,6.35\r\n1998-07-02,5.62\r\n1998-07-03,5.41\r\n1998-07-04,5.41\r\n1998-07-05,5.41\r\n1998-07-06,5.54\r\n1998-07-07,5.46\r\n1998-07-08,5.44\r\n1998-07-09,5.51\r\n1998-07-10,5.43\r\n1998-07-11,5.43\r\n1998-07-12,5.43\r\n1998-07-13,5.50\r\n1998-07-14,5.45\r\n1998-07-15,5.70\r\n1998-07-16,5.57\r\n1998-07-17,5.42\r\n1998-07-18,5.42\r\n1998-07-19,5.42\r\n1998-07-20,5.65\r\n1998-07-21,5.51\r\n1998-07-22,5.48\r\n1998-07-23,5.55\r\n1998-07-24,5.53\r\n1998-07-25,5.53\r\n1998-07-26,5.53\r\n1998-07-27,5.68\r\n1998-07-28,5.50\r\n1998-07-29,5.49\r\n1998-07-30,5.61\r\n1998-07-31,5.63\r\n1998-08-01,5.63\r\n1998-08-02,5.63\r\n1998-08-03,5.69\r\n1998-08-04,5.54\r\n1998-08-05,5.53\r\n1998-08-06,5.54\r\n1998-08-07,5.44\r\n1998-08-08,5.44\r\n1998-08-09,5.44\r\n1998-08-10,5.56\r\n1998-08-11,5.47\r\n1998-08-12,5.58\r\n1998-08-13,5.60\r\n1998-08-14,5.56\r\n1998-08-15,5.56\r\n1998-08-16,5.56\r\n1998-08-17,5.80\r\n1998-08-18,5.54\r\n1998-08-19,5.48\r\n1998-08-20,5.51\r\n1998-08-21,5.46\r\n1998-08-22,5.46\r\n1998-08-23,5.46\r\n1998-08-24,5.51\r\n1998-08-25,5.50\r\n1998-08-26,5.49\r\n1998-08-27,5.55\r\n1998-08-28,5.51\r\n1998-08-29,5.51\r\n1998-08-30,5.51\r\n1998-08-31,5.89\r\n1998-09-01,5.75\r\n1998-09-02,5.53\r\n1998-09-03,5.52\r\n1998-09-04,5.41\r\n1998-09-05,5.41\r\n1998-09-06,5.41\r\n1998-09-07,5.41\r\n1998-09-08,5.66\r\n1998-09-09,5.45\r\n1998-09-10,5.55\r\n1998-09-11,5.46\r\n1998-09-12,5.46\r\n1998-09-13,5.46\r\n1998-09-14,5.65\r\n1998-09-15,5.71\r\n1998-09-16,5.49\r\n1998-09-17,5.47\r\n1998-09-18,5.38\r\n1998-09-19,5.38\r\n1998-09-20,5.38\r\n1998-09-21,5.47\r\n1998-09-22,5.38\r\n1998-09-23,5.48\r\n1998-09-24,5.42\r\n1998-09-25,5.51\r\n1998-09-26,5.51\r\n1998-09-27,5.51\r\n1998-09-28,5.55\r\n1998-09-29,5.44\r\n1998-09-30,6.14\r\n1998-10-01,5.73\r\n1998-10-02,5.39\r\n1998-10-03,5.39\r\n1998-10-04,5.39\r\n1998-10-05,5.45\r\n1998-10-06,4.65\r\n1998-10-07,4.57\r\n1998-10-08,5.15\r\n1998-10-09,5.02\r\n1998-10-10,5.02\r\n1998-10-11,5.02\r\n1998-10-12,5.02\r\n1998-10-13,5.40\r\n1998-10-14,5.33\r\n1998-10-15,5.49\r\n1998-10-16,4.73\r\n1998-10-17,4.73\r\n1998-10-18,4.73\r\n1998-10-19,4.79\r\n1998-10-20,4.80\r\n1998-10-21,4.83\r\n1998-10-22,4.96\r\n1998-10-23,4.86\r\n1998-10-24,4.86\r\n1998-10-25,4.86\r\n1998-10-26,5.03\r\n1998-10-27,5.00\r\n1998-10-28,5.06\r\n1998-10-29,5.24\r\n1998-10-30,5.35\r\n1998-10-31,5.35\r\n1998-11-01,5.35\r\n1998-11-02,5.35\r\n1998-11-03,5.04\r\n1998-11-04,4.85\r\n1998-11-05,5.05\r\n1998-11-06,4.64\r\n1998-11-07,4.64\r\n1998-11-08,4.64\r\n1998-11-09,4.95\r\n1998-11-10,4.84\r\n1998-11-11,4.84\r\n1998-11-12,5.13\r\n1998-11-13,4.98\r\n1998-11-14,4.98\r\n1998-11-15,4.98\r\n1998-11-16,5.45\r\n1998-11-17,4.61\r\n1998-11-18,4.07\r\n1998-11-19,4.38\r\n1998-11-20,4.40\r\n1998-11-21,4.40\r\n1998-11-22,4.40\r\n1998-11-23,4.58\r\n1998-11-24,4.64\r\n1998-11-25,4.98\r\n1998-11-26,4.98\r\n1998-11-27,4.84\r\n1998-11-28,4.84\r\n1998-11-29,4.84\r\n1998-11-30,5.11\r\n1998-12-01,4.82\r\n1998-12-02,4.58\r\n1998-12-03,4.66\r\n1998-12-04,4.67\r\n1998-12-05,4.67\r\n1998-12-06,4.67\r\n1998-12-07,4.71\r\n1998-12-08,4.66\r\n1998-12-09,4.70\r\n1998-12-10,4.97\r\n1998-12-11,4.91\r\n1998-12-12,4.91\r\n1998-12-13,4.91\r\n1998-12-14,5.09\r\n1998-12-15,5.10\r\n1998-12-16,4.91\r\n1998-12-17,4.80\r\n1998-12-18,4.67\r\n1998-12-19,4.67\r\n1998-12-20,4.67\r\n1998-12-21,4.72\r\n1998-12-22,4.63\r\n1998-12-23,4.66\r\n1998-12-24,4.27\r\n1998-12-25,4.27\r\n1998-12-26,4.27\r\n1998-12-27,4.27\r\n1998-12-28,4.88\r\n1998-12-29,4.60\r\n1998-12-30,4.80\r\n1998-12-31,4.07\r\n1999-01-01,4.07\r\n1999-01-02,4.07\r\n1999-01-03,4.07\r\n1999-01-04,5.04\r\n1999-01-05,4.54\r\n1999-01-06,4.23\r\n1999-01-07,4.49\r\n1999-01-08,4.74\r\n1999-01-09,4.74\r\n1999-01-10,4.74\r\n1999-01-11,5.17\r\n1999-01-12,4.78\r\n1999-01-13,4.62\r\n1999-01-14,4.82\r\n1999-01-15,4.68\r\n1999-01-16,4.68\r\n1999-01-17,4.68\r\n1999-01-18,4.68\r\n1999-01-19,4.55\r\n1999-01-20,4.41\r\n1999-01-21,4.36\r\n1999-01-22,4.62\r\n1999-01-23,4.62\r\n1999-01-24,4.62\r\n1999-01-25,4.97\r\n1999-01-26,4.84\r\n1999-01-27,4.61\r\n1999-01-28,4.80\r\n1999-01-29,4.79\r\n1999-01-30,4.79\r\n1999-01-31,4.79\r\n1999-02-01,4.86\r\n1999-02-02,4.56\r\n1999-02-03,4.65\r\n1999-02-04,4.88\r\n1999-02-05,4.76\r\n1999-02-06,4.76\r\n1999-02-07,4.76\r\n1999-02-08,4.85\r\n1999-02-09,4.73\r\n1999-02-10,4.66\r\n1999-02-11,4.73\r\n1999-02-12,4.68\r\n1999-02-13,4.68\r\n1999-02-14,4.68\r\n1999-02-15,4.68\r\n1999-02-16,5.09\r\n1999-02-17,4.73\r\n1999-02-18,4.71\r\n1999-02-19,4.72\r\n1999-02-20,4.72\r\n1999-02-21,4.72\r\n1999-02-22,4.78\r\n1999-02-23,4.73\r\n1999-02-24,4.88\r\n1999-02-25,4.89\r\n1999-02-26,4.84\r\n1999-02-27,4.84\r\n1999-02-28,4.84\r\n1999-03-01,5.10\r\n1999-03-02,4.73\r\n1999-03-03,4.74\r\n1999-03-04,4.80\r\n1999-03-05,4.80\r\n1999-03-06,4.80\r\n1999-03-07,4.80\r\n1999-03-08,4.83\r\n1999-03-09,4.74\r\n1999-03-10,4.82\r\n1999-03-11,4.80\r\n1999-03-12,4.74\r\n1999-03-13,4.74\r\n1999-03-14,4.74\r\n1999-03-15,5.01\r\n1999-03-16,4.77\r\n1999-03-17,4.73\r\n1999-03-18,4.72\r\n1999-03-19,4.75\r\n1999-03-20,4.75\r\n1999-03-21,4.75\r\n1999-03-22,4.81\r\n1999-03-23,4.79\r\n1999-03-24,4.93\r\n1999-03-25,4.97\r\n1999-03-26,4.78\r\n1999-03-27,4.78\r\n1999-03-28,4.78\r\n1999-03-29,4.84\r\n1999-03-30,4.77\r\n1999-03-31,4.98\r\n1999-04-01,5.41\r\n1999-04-02,4.69\r\n1999-04-03,4.69\r\n1999-04-04,4.69\r\n1999-04-05,4.76\r\n1999-04-06,4.70\r\n1999-04-07,4.64\r\n1999-04-08,4.72\r\n1999-04-09,4.65\r\n1999-04-10,4.65\r\n1999-04-11,4.65\r\n1999-04-12,4.69\r\n1999-04-13,4.66\r\n1999-04-14,4.72\r\n1999-04-15,4.77\r\n1999-04-16,4.62\r\n1999-04-17,4.62\r\n1999-04-18,4.62\r\n1999-04-19,4.60\r\n1999-04-20,4.49\r\n1999-04-21,4.58\r\n1999-04-22,4.65\r\n1999-04-23,4.71\r\n1999-04-24,4.71\r\n1999-04-25,4.71\r\n1999-04-26,5.09\r\n1999-04-27,4.83\r\n1999-04-28,4.83\r\n1999-04-29,4.91\r\n1999-04-30,5.03\r\n1999-05-01,5.03\r\n1999-05-02,5.03\r\n1999-05-03,5.01\r\n1999-05-04,4.71\r\n1999-05-05,4.60\r\n1999-05-06,4.77\r\n1999-05-07,4.67\r\n1999-05-08,4.67\r\n1999-05-09,4.67\r\n1999-05-10,4.69\r\n1999-05-11,4.69\r\n1999-05-12,4.72\r\n1999-05-13,4.78\r\n1999-05-14,4.81\r\n1999-05-15,4.81\r\n1999-05-16,4.81\r\n1999-05-17,5.01\r\n1999-05-18,4.64\r\n1999-05-19,4.48\r\n1999-05-20,4.75\r\n1999-05-21,4.67\r\n1999-05-22,4.67\r\n1999-05-23,4.67\r\n1999-05-24,4.73\r\n1999-05-25,4.80\r\n1999-05-26,4.81\r\n1999-05-27,4.87\r\n1999-05-28,4.61\r\n1999-05-29,4.61\r\n1999-05-30,4.61\r\n1999-05-31,4.61\r\n1999-06-01,4.78\r\n1999-06-02,4.45\r\n1999-06-03,4.77\r\n1999-06-04,4.69\r\n1999-06-05,4.69\r\n1999-06-06,4.69\r\n1999-06-07,4.73\r\n1999-06-08,4.68\r\n1999-06-09,4.72\r\n1999-06-10,4.79\r\n1999-06-11,4.74\r\n1999-06-12,4.74\r\n1999-06-13,4.74\r\n1999-06-14,4.74\r\n1999-06-15,4.67\r\n1999-06-16,4.71\r\n1999-06-17,4.73\r\n1999-06-18,4.69\r\n1999-06-19,4.69\r\n1999-06-20,4.69\r\n1999-06-21,4.74\r\n1999-06-22,4.69\r\n1999-06-23,4.71\r\n1999-06-24,4.87\r\n1999-06-25,4.91\r\n1999-06-26,4.91\r\n1999-06-27,4.91\r\n1999-06-28,5.04\r\n1999-06-29,4.91\r\n1999-06-30,5.12\r\n1999-07-01,5.76\r\n1999-07-02,4.82\r\n1999-07-03,4.82\r\n1999-07-04,4.82\r\n1999-07-05,4.82\r\n1999-07-06,5.03\r\n1999-07-07,4.92\r\n1999-07-08,4.94\r\n1999-07-09,4.98\r\n1999-07-10,4.98\r\n1999-07-11,4.98\r\n1999-07-12,5.01\r\n1999-07-13,4.90\r\n1999-07-14,4.99\r\n1999-07-15,5.14\r\n1999-07-16,4.92\r\n1999-07-17,4.92\r\n1999-07-18,4.92\r\n1999-07-19,4.97\r\n1999-07-20,4.92\r\n1999-07-21,4.96\r\n1999-07-22,5.06\r\n1999-07-23,5.00\r\n1999-07-24,5.00\r\n1999-07-25,5.00\r\n1999-07-26,5.09\r\n1999-07-27,4.91\r\n1999-07-28,4.98\r\n1999-07-29,5.12\r\n1999-07-30,5.07\r\n1999-07-31,5.07\r\n1999-08-01,5.07\r\n1999-08-02,5.18\r\n1999-08-03,4.98\r\n1999-08-04,4.94\r\n1999-08-05,5.00\r\n1999-08-06,4.93\r\n1999-08-07,4.93\r\n1999-08-08,4.93\r\n1999-08-09,4.99\r\n1999-08-10,4.92\r\n1999-08-11,5.05\r\n1999-08-12,5.10\r\n1999-08-13,5.01\r\n1999-08-14,5.01\r\n1999-08-15,5.01\r\n1999-08-16,5.24\r\n1999-08-17,4.94\r\n1999-08-18,4.89\r\n1999-08-19,4.97\r\n1999-08-20,4.95\r\n1999-08-21,4.95\r\n1999-08-22,4.95\r\n1999-08-23,5.06\r\n1999-08-24,5.08\r\n1999-08-25,5.20\r\n1999-08-26,5.30\r\n1999-08-27,5.24\r\n1999-08-28,5.24\r\n1999-08-29,5.24\r\n1999-08-30,5.37\r\n1999-08-31,5.57\r\n1999-09-01,5.41\r\n1999-09-02,5.26\r\n1999-09-03,5.09\r\n1999-09-04,5.09\r\n1999-09-05,5.09\r\n1999-09-06,5.09\r\n1999-09-07,5.33\r\n1999-09-08,5.17\r\n1999-09-09,5.24\r\n1999-09-10,5.17\r\n1999-09-11,5.17\r\n1999-09-12,5.17\r\n1999-09-13,5.27\r\n1999-09-14,5.26\r\n1999-09-15,5.41\r\n1999-09-16,5.23\r\n1999-09-17,5.11\r\n1999-09-18,5.11\r\n1999-09-19,5.11\r\n1999-09-20,5.20\r\n1999-09-21,5.12\r\n1999-09-22,5.21\r\n1999-09-23,5.29\r\n1999-09-24,5.23\r\n1999-09-25,5.23\r\n1999-09-26,5.23\r\n1999-09-27,5.35\r\n1999-09-28,5.32\r\n1999-09-29,5.26\r\n1999-09-30,5.51\r\n1999-10-01,5.26\r\n1999-10-02,5.26\r\n1999-10-03,5.26\r\n1999-10-04,5.23\r\n1999-10-05,5.16\r\n1999-10-06,5.21\r\n1999-10-07,5.28\r\n1999-10-08,5.10\r\n1999-10-09,5.10\r\n1999-10-10,5.10\r\n1999-10-11,5.10\r\n1999-10-12,5.30\r\n1999-10-13,5.20\r\n1999-10-14,5.22\r\n1999-10-15,5.28\r\n1999-10-16,5.28\r\n1999-10-17,5.28\r\n1999-10-18,5.20\r\n1999-10-19,5.07\r\n1999-10-20,4.92\r\n1999-10-21,5.20\r\n1999-10-22,5.11\r\n1999-10-23,5.11\r\n1999-10-24,5.11\r\n1999-10-25,5.23\r\n1999-10-26,5.22\r\n1999-10-27,5.29\r\n1999-10-28,5.31\r\n1999-10-29,5.27\r\n1999-10-30,5.27\r\n1999-10-31,5.27\r\n1999-11-01,5.38\r\n1999-11-02,5.18\r\n1999-11-03,5.21\r\n1999-11-04,5.27\r\n1999-11-05,5.14\r\n1999-11-06,5.14\r\n1999-11-07,5.14\r\n1999-11-08,5.23\r\n1999-11-09,5.22\r\n1999-11-10,5.27\r\n1999-11-11,5.27\r\n1999-11-12,5.45\r\n1999-11-13,5.45\r\n1999-11-14,5.45\r\n1999-11-15,5.64\r\n1999-11-16,5.40\r\n1999-11-17,5.41\r\n1999-11-18,5.49\r\n1999-11-19,5.43\r\n1999-11-20,5.43\r\n1999-11-21,5.43\r\n1999-11-22,5.53\r\n1999-11-23,5.59\r\n1999-11-24,5.72\r\n1999-11-25,5.72\r\n1999-11-26,5.59\r\n1999-11-27,5.59\r\n1999-11-28,5.59\r\n1999-11-29,5.61\r\n1999-11-30,5.63\r\n1999-12-01,5.71\r\n1999-12-02,5.58\r\n1999-12-03,5.42\r\n1999-12-04,5.42\r\n1999-12-05,5.42\r\n1999-12-06,5.48\r\n1999-12-07,5.42\r\n1999-12-08,5.42\r\n1999-12-09,5.51\r\n1999-12-10,5.42\r\n1999-12-11,5.42\r\n1999-12-12,5.42\r\n1999-12-13,5.46\r\n1999-12-14,5.31\r\n1999-12-15,5.56\r\n1999-12-16,5.54\r\n1999-12-17,5.40\r\n1999-12-18,5.40\r\n1999-12-19,5.40\r\n1999-12-20,5.54\r\n1999-12-21,5.52\r\n1999-12-22,5.45\r\n1999-12-23,5.40\r\n1999-12-24,4.96\r\n1999-12-25,4.96\r\n1999-12-26,4.96\r\n1999-12-27,5.33\r\n1999-12-28,4.86\r\n1999-12-29,4.61\r\n1999-12-30,4.88\r\n1999-12-31,3.99\r\n2000-01-01,3.99\r\n2000-01-02,3.99\r\n2000-01-03,5.43\r\n2000-01-04,5.38\r\n2000-01-05,5.41\r\n2000-01-06,5.54\r\n2000-01-07,5.61\r\n2000-01-08,5.61\r\n2000-01-09,5.61\r\n2000-01-10,5.74\r\n2000-01-11,5.63\r\n2000-01-12,5.59\r\n2000-01-13,5.58\r\n2000-01-14,5.56\r\n2000-01-15,5.56\r\n2000-01-16,5.56\r\n2000-01-17,5.56\r\n2000-01-18,5.83\r\n2000-01-19,5.47\r\n2000-01-20,5.44\r\n2000-01-21,5.36\r\n2000-01-22,5.36\r\n2000-01-23,5.36\r\n2000-01-24,5.53\r\n2000-01-25,5.46\r\n2000-01-26,5.52\r\n2000-01-27,5.61\r\n2000-01-28,5.58\r\n2000-01-29,5.58\r\n2000-01-30,5.58\r\n2000-01-31,5.87\r\n2000-02-01,5.79\r\n2000-02-02,5.64\r\n2000-02-03,5.71\r\n2000-02-04,5.70\r\n2000-02-05,5.70\r\n2000-02-06,5.70\r\n2000-02-07,5.76\r\n2000-02-08,5.67\r\n2000-02-09,5.76\r\n2000-02-10,5.79\r\n2000-02-11,5.71\r\n2000-02-12,5.71\r\n2000-02-13,5.71\r\n2000-02-14,5.79\r\n2000-02-15,5.85\r\n2000-02-16,5.67\r\n2000-02-17,5.66\r\n2000-02-18,5.70\r\n2000-02-19,5.70\r\n2000-02-20,5.70\r\n2000-02-21,5.70\r\n2000-02-22,5.81\r\n2000-02-23,5.77\r\n2000-02-24,5.76\r\n2000-02-25,5.73\r\n2000-02-26,5.73\r\n2000-02-27,5.73\r\n2000-02-28,5.81\r\n2000-02-29,5.85\r\n2000-03-01,5.78\r\n2000-03-02,5.76\r\n2000-03-03,5.72\r\n2000-03-04,5.72\r\n2000-03-05,5.72\r\n2000-03-06,5.73\r\n2000-03-07,5.68\r\n2000-03-08,5.77\r\n2000-03-09,5.79\r\n2000-03-10,5.75\r\n2000-03-11,5.75\r\n2000-03-12,5.75\r\n2000-03-13,5.81\r\n2000-03-14,5.80\r\n2000-03-15,5.90\r\n2000-03-16,5.77\r\n2000-03-17,5.76\r\n2000-03-18,5.76\r\n2000-03-19,5.76\r\n2000-03-20,5.82\r\n2000-03-21,5.81\r\n2000-03-22,6.02\r\n2000-03-23,6.04\r\n2000-03-24,5.98\r\n2000-03-25,5.98\r\n2000-03-26,5.98\r\n2000-03-27,6.07\r\n2000-03-28,6.02\r\n2000-03-29,5.98\r\n2000-03-30,6.11\r\n2000-03-31,6.17\r\n2000-04-01,6.17\r\n2000-04-02,6.17\r\n2000-04-03,6.15\r\n2000-04-04,5.98\r\n2000-04-05,6.08\r\n2000-04-06,6.05\r\n2000-04-07,5.95\r\n2000-04-08,5.95\r\n2000-04-09,5.95\r\n2000-04-10,6.05\r\n2000-04-11,5.97\r\n2000-04-12,5.93\r\n2000-04-13,5.97\r\n2000-04-14,6.08\r\n2000-04-15,6.08\r\n2000-04-16,6.08\r\n2000-04-17,6.18\r\n2000-04-18,5.93\r\n2000-04-19,5.93\r\n2000-04-20,6.05\r\n2000-04-21,5.94\r\n2000-04-22,5.94\r\n2000-04-23,5.94\r\n2000-04-24,5.90\r\n2000-04-25,5.99\r\n2000-04-26,6.00\r\n2000-04-27,6.00\r\n2000-04-28,6.06\r\n2000-04-29,6.06\r\n2000-04-30,6.06\r\n2000-05-01,6.17\r\n2000-05-02,6.05\r\n2000-05-03,6.05\r\n2000-05-04,6.05\r\n2000-05-05,5.94\r\n2000-05-06,5.94\r\n2000-05-07,5.94\r\n2000-05-08,6.01\r\n2000-05-09,5.92\r\n2000-05-10,5.95\r\n2000-05-11,6.05\r\n2000-05-12,6.11\r\n2000-05-13,6.11\r\n2000-05-14,6.11\r\n2000-05-15,6.34\r\n2000-05-16,6.13\r\n2000-05-17,6.25\r\n2000-05-18,6.49\r\n2000-05-19,6.51\r\n2000-05-20,6.51\r\n2000-05-21,6.51\r\n2000-05-22,6.52\r\n2000-05-23,6.47\r\n2000-05-24,6.48\r\n2000-05-25,6.56\r\n2000-05-26,6.40\r\n2000-05-27,6.40\r\n2000-05-28,6.40\r\n2000-05-29,6.40\r\n2000-05-30,6.71\r\n2000-05-31,6.83\r\n2000-06-01,6.65\r\n2000-06-02,6.44\r\n2000-06-03,6.44\r\n2000-06-04,6.44\r\n2000-06-05,6.51\r\n2000-06-06,6.47\r\n2000-06-07,6.50\r\n2000-06-08,6.54\r\n2000-06-09,6.47\r\n2000-06-10,6.47\r\n2000-06-11,6.47\r\n2000-06-12,6.54\r\n2000-06-13,6.46\r\n2000-06-14,6.54\r\n2000-06-15,6.70\r\n2000-06-16,6.46\r\n2000-06-17,6.46\r\n2000-06-18,6.46\r\n2000-06-19,6.51\r\n2000-06-20,6.49\r\n2000-06-21,6.47\r\n2000-06-22,6.52\r\n2000-06-23,6.51\r\n2000-06-24,6.51\r\n2000-06-25,6.51\r\n2000-06-26,6.63\r\n2000-06-27,6.56\r\n2000-06-28,6.50\r\n2000-06-29,6.76\r\n2000-06-30,6.86\r\n2000-07-01,6.86\r\n2000-07-02,6.86\r\n2000-07-03,7.03\r\n2000-07-04,7.03\r\n2000-07-05,6.52\r\n2000-07-06,6.51\r\n2000-07-07,6.42\r\n2000-07-08,6.42\r\n2000-07-09,6.42\r\n2000-07-10,6.51\r\n2000-07-11,6.39\r\n2000-07-12,6.38\r\n2000-07-13,6.50\r\n2000-07-14,6.51\r\n2000-07-15,6.51\r\n2000-07-16,6.51\r\n2000-07-17,6.58\r\n2000-07-18,6.47\r\n2000-07-19,6.45\r\n2000-07-20,6.52\r\n2000-07-21,6.51\r\n2000-07-22,6.51\r\n2000-07-23,6.51\r\n2000-07-24,6.52\r\n2000-07-25,6.46\r\n2000-07-26,6.49\r\n2000-07-27,6.52\r\n2000-07-28,6.44\r\n2000-07-29,6.44\r\n2000-07-30,6.44\r\n2000-07-31,6.64\r\n2000-08-01,6.51\r\n2000-08-02,6.42\r\n2000-08-03,6.45\r\n2000-08-04,6.44\r\n2000-08-05,6.44\r\n2000-08-06,6.44\r\n2000-08-07,6.46\r\n2000-08-08,6.44\r\n2000-08-09,6.48\r\n2000-08-10,6.52\r\n2000-08-11,6.50\r\n2000-08-12,6.50\r\n2000-08-13,6.50\r\n2000-08-14,6.58\r\n2000-08-15,6.63\r\n2000-08-16,6.48\r\n2000-08-17,6.47\r\n2000-08-18,6.44\r\n2000-08-19,6.44\r\n2000-08-20,6.44\r\n2000-08-21,6.48\r\n2000-08-22,6.42\r\n2000-08-23,6.50\r\n2000-08-24,6.56\r\n2000-08-25,6.54\r\n2000-08-26,6.54\r\n2000-08-27,6.54\r\n2000-08-28,6.57\r\n2000-08-29,6.51\r\n2000-08-30,6.51\r\n2000-08-31,6.65\r\n2000-09-01,6.52\r\n2000-09-02,6.52\r\n2000-09-03,6.52\r\n2000-09-04,6.52\r\n2000-09-05,6.61\r\n2000-09-06,6.56\r\n2000-09-07,6.53\r\n2000-09-08,6.50\r\n2000-09-09,6.50\r\n2000-09-10,6.50\r\n2000-09-11,6.50\r\n2000-09-12,6.47\r\n2000-09-13,6.47\r\n2000-09-14,6.50\r\n2000-09-15,6.55\r\n2000-09-16,6.55\r\n2000-09-17,6.55\r\n2000-09-18,6.44\r\n2000-09-19,6.40\r\n2000-09-20,6.50\r\n2000-09-21,6.53\r\n2000-09-22,6.48\r\n2000-09-23,6.48\r\n2000-09-24,6.48\r\n2000-09-25,6.54\r\n2000-09-26,6.50\r\n2000-09-27,6.50\r\n2000-09-28,6.59\r\n2000-09-29,6.60\r\n2000-09-30,6.60\r\n2000-10-01,6.60\r\n2000-10-02,6.68\r\n2000-10-03,6.46\r\n2000-10-04,6.51\r\n2000-10-05,6.54\r\n2000-10-06,6.43\r\n2000-10-07,6.43\r\n2000-10-08,6.43\r\n2000-10-09,6.43\r\n2000-10-10,6.57\r\n2000-10-11,6.46\r\n2000-10-12,6.47\r\n2000-10-13,6.46\r\n2000-10-14,6.46\r\n2000-10-15,6.46\r\n2000-10-16,6.59\r\n2000-10-17,6.45\r\n2000-10-18,6.53\r\n2000-10-19,6.54\r\n2000-10-20,6.50\r\n2000-10-21,6.50\r\n2000-10-22,6.50\r\n2000-10-23,6.53\r\n2000-10-24,6.49\r\n2000-10-25,6.53\r\n2000-10-26,6.53\r\n2000-10-27,6.51\r\n2000-10-28,6.51\r\n2000-10-29,6.51\r\n2000-10-30,6.59\r\n2000-10-31,6.59\r\n2000-11-01,6.61\r\n2000-11-02,6.54\r\n2000-11-03,6.48\r\n2000-11-04,6.48\r\n2000-11-05,6.48\r\n2000-11-06,6.49\r\n2000-11-07,6.48\r\n2000-11-08,6.51\r\n2000-11-09,6.52\r\n2000-11-10,6.48\r\n2000-11-11,6.48\r\n2000-11-12,6.48\r\n2000-11-13,6.55\r\n2000-11-14,6.52\r\n2000-11-15,6.61\r\n2000-11-16,6.55\r\n2000-11-17,6.48\r\n2000-11-18,6.48\r\n2000-11-19,6.48\r\n2000-11-20,6.52\r\n2000-11-21,6.50\r\n2000-11-22,6.58\r\n2000-11-23,6.58\r\n2000-11-24,6.49\r\n2000-11-25,6.49\r\n2000-11-26,6.49\r\n2000-11-27,6.50\r\n2000-11-28,6.46\r\n2000-11-29,6.50\r\n2000-11-30,6.62\r\n2000-12-01,6.60\r\n2000-12-02,6.60\r\n2000-12-03,6.60\r\n2000-12-04,6.57\r\n2000-12-05,6.51\r\n2000-12-06,6.48\r\n2000-12-07,6.49\r\n2000-12-08,6.47\r\n2000-12-09,6.47\r\n2000-12-10,6.47\r\n2000-12-11,6.49\r\n2000-12-12,6.43\r\n2000-12-13,6.47\r\n2000-12-14,6.53\r\n2000-12-15,6.58\r\n2000-12-16,6.58\r\n2000-12-17,6.58\r\n2000-12-18,6.50\r\n2000-12-19,6.47\r\n2000-12-20,6.47\r\n2000-12-21,6.48\r\n2000-12-22,6.44\r\n2000-12-23,6.44\r\n2000-12-24,6.44\r\n2000-12-25,6.44\r\n2000-12-26,6.58\r\n2000-12-27,6.53\r\n2000-12-28,6.53\r\n2000-12-29,5.41\r\n2000-12-30,5.41\r\n2000-12-31,5.41\r\n2001-01-01,5.41\r\n2001-01-02,6.67\r\n2001-01-03,6.35\r\n2001-01-04,5.92\r\n2001-01-05,5.83\r\n2001-01-06,5.83\r\n2001-01-07,5.83\r\n2001-01-08,5.98\r\n2001-01-09,5.95\r\n2001-01-10,6.06\r\n2001-01-11,6.05\r\n2001-01-12,5.98\r\n2001-01-13,5.98\r\n2001-01-14,5.98\r\n2001-01-15,5.98\r\n2001-01-16,6.20\r\n2001-01-17,5.94\r\n2001-01-18,5.93\r\n2001-01-19,5.92\r\n2001-01-20,5.92\r\n2001-01-21,5.92\r\n2001-01-22,6.00\r\n2001-01-23,5.97\r\n2001-01-24,6.05\r\n2001-01-25,6.10\r\n2001-01-26,5.96\r\n2001-01-27,5.96\r\n2001-01-28,5.96\r\n2001-01-29,5.98\r\n2001-01-30,5.90\r\n2001-01-31,5.74\r\n2001-02-01,5.57\r\n2001-02-02,5.50\r\n2001-02-03,5.50\r\n2001-02-04,5.50\r\n2001-02-05,5.52\r\n2001-02-06,5.48\r\n2001-02-07,5.50\r\n2001-02-08,5.50\r\n2001-02-09,5.44\r\n2001-02-10,5.44\r\n2001-02-11,5.44\r\n2001-02-12,5.48\r\n2001-02-13,5.46\r\n2001-02-14,5.50\r\n2001-02-15,5.57\r\n2001-02-16,5.46\r\n2001-02-17,5.46\r\n2001-02-18,5.46\r\n2001-02-19,5.46\r\n2001-02-20,5.57\r\n2001-02-21,5.50\r\n2001-02-22,5.52\r\n2001-02-23,5.46\r\n2001-02-24,5.46\r\n2001-02-25,5.46\r\n2001-02-26,5.55\r\n2001-02-27,5.49\r\n2001-02-28,5.59\r\n2001-03-01,5.59\r\n2001-03-02,5.52\r\n2001-03-03,5.52\r\n2001-03-04,5.52\r\n2001-03-05,5.52\r\n2001-03-06,5.39\r\n2001-03-07,5.34\r\n2001-03-08,5.46\r\n2001-03-09,5.42\r\n2001-03-10,5.42\r\n2001-03-11,5.42\r\n2001-03-12,5.50\r\n2001-03-13,5.50\r\n2001-03-14,5.48\r\n2001-03-15,5.52\r\n2001-03-16,5.40\r\n2001-03-17,5.40\r\n2001-03-18,5.40\r\n2001-03-19,5.38\r\n2001-03-20,5.14\r\n2001-03-21,5.05\r\n2001-03-22,5.04\r\n2001-03-23,4.94\r\n2001-03-24,4.94\r\n2001-03-25,4.94\r\n2001-03-26,5.03\r\n2001-03-27,5.04\r\n2001-03-28,5.05\r\n2001-03-29,5.19\r\n2001-03-30,5.29\r\n2001-03-31,5.29\r\n2001-04-01,5.29\r\n2001-04-02,5.30\r\n2001-04-03,5.10\r\n2001-04-04,5.01\r\n2001-04-05,5.04\r\n2001-04-06,4.94\r\n2001-04-07,4.94\r\n2001-04-08,4.94\r\n2001-04-09,4.98\r\n2001-04-10,4.96\r\n2001-04-11,4.95\r\n2001-04-12,5.02\r\n2001-04-13,5.01\r\n2001-04-14,5.01\r\n2001-04-15,5.01\r\n2001-04-16,5.17\r\n2001-04-17,4.99\r\n2001-04-18,4.67\r\n2001-04-19,4.47\r\n2001-04-20,4.38\r\n2001-04-21,4.38\r\n2001-04-22,4.38\r\n2001-04-23,4.40\r\n2001-04-24,4.41\r\n2001-04-25,4.54\r\n2001-04-26,4.57\r\n2001-04-27,4.51\r\n2001-04-28,4.51\r\n2001-04-29,4.51\r\n2001-04-30,4.67\r\n2001-05-01,4.61\r\n2001-05-02,4.35\r\n2001-05-03,4.48\r\n2001-05-04,4.41\r\n2001-05-05,4.41\r\n2001-05-06,4.41\r\n2001-05-07,4.47\r\n2001-05-08,4.41\r\n2001-05-09,4.43\r\n2001-05-10,4.51\r\n2001-05-11,4.47\r\n2001-05-12,4.47\r\n2001-05-13,4.47\r\n2001-05-14,4.43\r\n2001-05-15,4.22\r\n2001-05-16,4.04\r\n2001-05-17,4.04\r\n2001-05-18,3.95\r\n2001-05-19,3.95\r\n2001-05-20,3.95\r\n2001-05-21,4.02\r\n2001-05-22,3.99\r\n2001-05-23,3.97\r\n2001-05-24,3.98\r\n2001-05-25,3.94\r\n2001-05-26,3.94\r\n2001-05-27,3.94\r\n2001-05-28,3.94\r\n2001-05-29,4.09\r\n2001-05-30,4.05\r\n2001-05-31,4.24\r\n2001-06-01,4.14\r\n2001-06-02,4.14\r\n2001-06-03,4.14\r\n2001-06-04,4.03\r\n2001-06-05,3.93\r\n2001-06-06,3.91\r\n2001-06-07,3.92\r\n2001-06-08,4.02\r\n2001-06-09,4.02\r\n2001-06-10,4.02\r\n2001-06-11,4.03\r\n2001-06-12,3.98\r\n2001-06-13,4.04\r\n2001-06-14,4.03\r\n2001-06-15,3.94\r\n2001-06-16,3.94\r\n2001-06-17,3.94\r\n2001-06-18,3.91\r\n2001-06-19,3.91\r\n2001-06-20,3.98\r\n2001-06-21,4.02\r\n2001-06-22,3.98\r\n2001-06-23,3.98\r\n2001-06-24,3.98\r\n2001-06-25,3.97\r\n2001-06-26,3.75\r\n2001-06-27,3.68\r\n2001-06-28,3.86\r\n2001-06-29,3.95\r\n2001-06-30,3.95\r\n2001-07-01,3.95\r\n2001-07-02,4.11\r\n2001-07-03,3.69\r\n2001-07-04,3.69\r\n2001-07-05,3.72\r\n2001-07-06,3.60\r\n2001-07-07,3.60\r\n2001-07-08,3.60\r\n2001-07-09,3.67\r\n2001-07-10,3.71\r\n2001-07-11,3.78\r\n2001-07-12,3.78\r\n2001-07-13,3.75\r\n2001-07-14,3.75\r\n2001-07-15,3.75\r\n2001-07-16,3.82\r\n2001-07-17,3.71\r\n2001-07-18,3.73\r\n2001-07-19,3.77\r\n2001-07-20,3.80\r\n2001-07-21,3.80\r\n2001-07-22,3.80\r\n2001-07-23,3.82\r\n2001-07-24,3.82\r\n2001-07-25,3.89\r\n2001-07-26,3.87\r\n2001-07-27,3.75\r\n2001-07-28,3.75\r\n2001-07-29,3.75\r\n2001-07-30,3.79\r\n2001-07-31,3.82\r\n2001-08-01,3.79\r\n2001-08-02,3.68\r\n2001-08-03,3.69\r\n2001-08-04,3.69\r\n2001-08-05,3.69\r\n2001-08-06,3.73\r\n2001-08-07,3.69\r\n2001-08-08,3.75\r\n2001-08-09,3.77\r\n2001-08-10,3.70\r\n2001-08-11,3.70\r\n2001-08-12,3.70\r\n2001-08-13,3.79\r\n2001-08-14,3.76\r\n2001-08-15,3.83\r\n2001-08-16,3.75\r\n2001-08-17,3.66\r\n2001-08-18,3.66\r\n2001-08-19,3.66\r\n2001-08-20,3.64\r\n2001-08-21,3.53\r\n2001-08-22,3.51\r\n2001-08-23,3.55\r\n2001-08-24,3.51\r\n2001-08-25,3.51\r\n2001-08-26,3.51\r\n2001-08-27,3.54\r\n2001-08-28,3.50\r\n2001-08-29,3.50\r\n2001-08-30,3.58\r\n2001-08-31,3.66\r\n2001-09-01,3.66\r\n2001-09-02,3.66\r\n2001-09-03,3.66\r\n2001-09-04,3.67\r\n2001-09-05,3.49\r\n2001-09-06,3.52\r\n2001-09-07,3.44\r\n2001-09-08,3.44\r\n2001-09-09,3.44\r\n2001-09-10,3.50\r\n2001-09-11,3.50\r\n2001-09-12,3.56\r\n2001-09-13,3.31\r\n2001-09-14,3.13\r\n2001-09-15,3.13\r\n2001-09-16,3.13\r\n2001-09-17,2.13\r\n2001-09-18,1.25\r\n2001-09-19,1.19\r\n2001-09-20,2.22\r\n2001-09-21,3.11\r\n2001-09-22,3.11\r\n2001-09-23,3.11\r\n2001-09-24,3.31\r\n2001-09-25,3.11\r\n2001-09-26,2.96\r\n2001-09-27,3.08\r\n2001-09-28,2.75\r\n2001-09-29,2.75\r\n2001-09-30,2.75\r\n2001-10-01,3.02\r\n2001-10-02,2.35\r\n2001-10-03,2.27\r\n2001-10-04,2.45\r\n2001-10-05,2.42\r\n2001-10-06,2.42\r\n2001-10-07,2.42\r\n2001-10-08,2.42\r\n2001-10-09,2.50\r\n2001-10-10,2.42\r\n2001-10-11,2.42\r\n2001-10-12,2.39\r\n2001-10-13,2.39\r\n2001-10-14,2.39\r\n2001-10-15,2.51\r\n2001-10-16,2.47\r\n2001-10-17,2.51\r\n2001-10-18,2.50\r\n2001-10-19,2.47\r\n2001-10-20,2.47\r\n2001-10-21,2.47\r\n2001-10-22,2.52\r\n2001-10-23,2.48\r\n2001-10-24,2.53\r\n2001-10-25,2.54\r\n2001-10-26,2.51\r\n2001-10-27,2.51\r\n2001-10-28,2.51\r\n2001-10-29,2.55\r\n2001-10-30,2.55\r\n2001-10-31,2.66\r\n2001-11-01,2.61\r\n2001-11-02,2.43\r\n2001-11-03,2.43\r\n2001-11-04,2.43\r\n2001-11-05,2.45\r\n2001-11-06,2.13\r\n2001-11-07,2.04\r\n2001-11-08,2.03\r\n2001-11-09,1.98\r\n2001-11-10,1.98\r\n2001-11-11,1.98\r\n2001-11-12,1.98\r\n2001-11-13,2.10\r\n2001-11-14,2.16\r\n2001-11-15,2.22\r\n2001-11-16,1.98\r\n2001-11-17,1.98\r\n2001-11-18,1.98\r\n2001-11-19,2.01\r\n2001-11-20,1.97\r\n2001-11-21,1.93\r\n2001-11-22,1.93\r\n2001-11-23,1.88\r\n2001-11-24,1.88\r\n2001-11-25,1.88\r\n2001-11-26,2.04\r\n2001-11-27,2.01\r\n2001-11-28,2.04\r\n2001-11-29,2.09\r\n2001-11-30,2.06\r\n2001-12-01,2.06\r\n2001-12-02,2.06\r\n2001-12-03,2.05\r\n2001-12-04,1.93\r\n2001-12-05,1.89\r\n2001-12-06,1.87\r\n2001-12-07,1.92\r\n2001-12-08,1.92\r\n2001-12-09,1.92\r\n2001-12-10,1.90\r\n2001-12-11,1.80\r\n2001-12-12,1.81\r\n2001-12-13,1.86\r\n2001-12-14,1.88\r\n2001-12-15,1.88\r\n2001-12-16,1.88\r\n2001-12-17,1.93\r\n2001-12-18,1.71\r\n2001-12-19,1.71\r\n2001-12-20,1.79\r\n2001-12-21,1.78\r\n2001-12-22,1.78\r\n2001-12-23,1.78\r\n2001-12-24,1.68\r\n2001-12-25,1.68\r\n2001-12-26,1.89\r\n2001-12-27,1.85\r\n2001-12-28,1.54\r\n2001-12-29,1.54\r\n2001-12-30,1.54\r\n2001-12-31,1.52\r\n2002-01-01,1.52\r\n2002-01-02,1.92\r\n2002-01-03,1.72\r\n2002-01-04,1.61\r\n2002-01-05,1.61\r\n2002-01-06,1.61\r\n2002-01-07,1.61\r\n2002-01-08,1.61\r\n2002-01-09,1.74\r\n2002-01-10,1.81\r\n2002-01-11,1.71\r\n2002-01-12,1.71\r\n2002-01-13,1.71\r\n2002-01-14,1.78\r\n2002-01-15,1.75\r\n2002-01-16,1.69\r\n2002-01-17,1.68\r\n2002-01-18,1.71\r\n2002-01-19,1.71\r\n2002-01-20,1.71\r\n2002-01-21,1.71\r\n2002-01-22,1.84\r\n2002-01-23,1.81\r\n2002-01-24,1.80\r\n2002-01-25,1.78\r\n2002-01-26,1.78\r\n2002-01-27,1.78\r\n2002-01-28,1.79\r\n2002-01-29,1.78\r\n2002-01-30,1.78\r\n2002-01-31,1.85\r\n2002-02-01,1.77\r\n2002-02-02,1.77\r\n2002-02-03,1.77\r\n2002-02-04,1.74\r\n2002-02-05,1.64\r\n2002-02-06,1.66\r\n2002-02-07,1.74\r\n2002-02-08,1.69\r\n2002-02-09,1.69\r\n2002-02-10,1.69\r\n2002-02-11,1.76\r\n2002-02-12,1.72\r\n2002-02-13,1.75\r\n2002-02-14,1.81\r\n2002-02-15,1.73\r\n2002-02-16,1.73\r\n2002-02-17,1.73\r\n2002-02-18,1.73\r\n2002-02-19,1.77\r\n2002-02-20,1.76\r\n2002-02-21,1.77\r\n2002-02-22,1.71\r\n2002-02-23,1.71\r\n2002-02-24,1.71\r\n2002-02-25,1.80\r\n2002-02-26,1.77\r\n2002-02-27,1.76\r\n2002-02-28,1.83\r\n2002-03-01,1.78\r\n2002-03-02,1.78\r\n2002-03-03,1.78\r\n2002-03-04,1.68\r\n2002-03-05,1.63\r\n2002-03-06,1.71\r\n2002-03-07,1.77\r\n2002-03-08,1.69\r\n2002-03-09,1.69\r\n2002-03-10,1.69\r\n2002-03-11,1.75\r\n2002-03-12,1.68\r\n2002-03-13,1.73\r\n2002-03-14,1.79\r\n2002-03-15,1.80\r\n2002-03-16,1.80\r\n2002-03-17,1.80\r\n2002-03-18,1.71\r\n2002-03-19,1.67\r\n2002-03-20,1.78\r\n2002-03-21,1.74\r\n2002-03-22,1.68\r\n2002-03-23,1.68\r\n2002-03-24,1.68\r\n2002-03-25,1.75\r\n2002-03-26,1.71\r\n2002-03-27,1.69\r\n2002-03-28,1.77\r\n2002-03-29,1.74\r\n2002-03-30,1.74\r\n2002-03-31,1.74\r\n2002-04-01,1.88\r\n2002-04-02,1.74\r\n2002-04-03,1.81\r\n2002-04-04,1.74\r\n2002-04-05,1.70\r\n2002-04-06,1.70\r\n2002-04-07,1.70\r\n2002-04-08,1.72\r\n2002-04-09,1.68\r\n2002-04-10,1.73\r\n2002-04-11,1.83\r\n2002-04-12,1.79\r\n2002-04-13,1.79\r\n2002-04-14,1.79\r\n2002-04-15,1.84\r\n2002-04-16,1.68\r\n2002-04-17,1.73\r\n2002-04-18,1.71\r\n2002-04-19,1.67\r\n2002-04-20,1.67\r\n2002-04-21,1.67\r\n2002-04-22,1.73\r\n2002-04-23,1.71\r\n2002-04-24,1.76\r\n2002-04-25,1.82\r\n2002-04-26,1.79\r\n2002-04-27,1.79\r\n2002-04-28,1.79\r\n2002-04-29,1.81\r\n2002-04-30,1.82\r\n2002-05-01,1.88\r\n2002-05-02,1.79\r\n2002-05-03,1.73\r\n2002-05-04,1.73\r\n2002-05-05,1.73\r\n2002-05-06,1.75\r\n2002-05-07,1.72\r\n2002-05-08,1.71\r\n2002-05-09,1.74\r\n2002-05-10,1.74\r\n2002-05-11,1.74\r\n2002-05-12,1.74\r\n2002-05-13,1.75\r\n2002-05-14,1.69\r\n2002-05-15,1.84\r\n2002-05-16,1.76\r\n2002-05-17,1.70\r\n2002-05-18,1.70\r\n2002-05-19,1.70\r\n2002-05-20,1.72\r\n2002-05-21,1.68\r\n2002-05-22,1.73\r\n2002-05-23,1.76\r\n2002-05-24,1.75\r\n2002-05-25,1.75\r\n2002-05-26,1.75\r\n2002-05-27,1.75\r\n2002-05-28,1.88\r\n2002-05-29,1.79\r\n2002-05-30,1.80\r\n2002-05-31,1.79\r\n2002-06-01,1.79\r\n2002-06-02,1.79\r\n2002-06-03,1.83\r\n2002-06-04,1.73\r\n2002-06-05,1.70\r\n2002-06-06,1.75\r\n2002-06-07,1.73\r\n2002-06-08,1.73\r\n2002-06-09,1.73\r\n2002-06-10,1.76\r\n2002-06-11,1.72\r\n2002-06-12,1.75\r\n2002-06-13,1.76\r\n2002-06-14,1.75\r\n2002-06-15,1.75\r\n2002-06-16,1.75\r\n2002-06-17,1.82\r\n2002-06-18,1.71\r\n2002-06-19,1.69\r\n2002-06-20,1.75\r\n2002-06-21,1.74\r\n2002-06-22,1.74\r\n2002-06-23,1.74\r\n2002-06-24,1.77\r\n2002-06-25,1.75\r\n2002-06-26,1.78\r\n2002-06-27,1.81\r\n2002-06-28,1.73\r\n2002-06-29,1.73\r\n2002-06-30,1.73\r\n2002-07-01,1.83\r\n2002-07-02,1.72\r\n2002-07-03,1.71\r\n2002-07-04,1.71\r\n2002-07-05,1.72\r\n2002-07-06,1.72\r\n2002-07-07,1.72\r\n2002-07-08,1.75\r\n2002-07-09,1.72\r\n2002-07-10,1.74\r\n2002-07-11,1.76\r\n2002-07-12,1.71\r\n2002-07-13,1.71\r\n2002-07-14,1.71\r\n2002-07-15,1.83\r\n2002-07-16,1.72\r\n2002-07-17,1.71\r\n2002-07-18,1.74\r\n2002-07-19,1.72\r\n2002-07-20,1.72\r\n2002-07-21,1.72\r\n2002-07-22,1.77\r\n2002-07-23,1.73\r\n2002-07-24,1.67\r\n2002-07-25,1.75\r\n2002-07-26,1.69\r\n2002-07-27,1.69\r\n2002-07-28,1.69\r\n2002-07-29,1.75\r\n2002-07-30,1.71\r\n2002-07-31,1.76\r\n2002-08-01,1.79\r\n2002-08-02,1.72\r\n2002-08-03,1.72\r\n2002-08-04,1.72\r\n2002-08-05,1.77\r\n2002-08-06,1.74\r\n2002-08-07,1.71\r\n2002-08-08,1.71\r\n2002-08-09,1.68\r\n2002-08-10,1.68\r\n2002-08-11,1.68\r\n2002-08-12,1.76\r\n2002-08-13,1.74\r\n2002-08-14,1.78\r\n2002-08-15,1.87\r\n2002-08-16,1.70\r\n2002-08-17,1.70\r\n2002-08-18,1.70\r\n2002-08-19,1.72\r\n2002-08-20,1.70\r\n2002-08-21,1.72\r\n2002-08-22,1.73\r\n2002-08-23,1.72\r\n2002-08-24,1.72\r\n2002-08-25,1.72\r\n2002-08-26,1.81\r\n2002-08-27,1.79\r\n2002-08-28,1.80\r\n2002-08-29,1.82\r\n2002-08-30,1.81\r\n2002-08-31,1.81\r\n2002-09-01,1.81\r\n2002-09-02,1.81\r\n2002-09-03,1.87\r\n2002-09-04,1.74\r\n2002-09-05,1.75\r\n2002-09-06,1.71\r\n2002-09-07,1.71\r\n2002-09-08,1.71\r\n2002-09-09,1.76\r\n2002-09-10,1.74\r\n2002-09-11,1.72\r\n2002-09-12,1.74\r\n2002-09-13,1.72\r\n2002-09-14,1.72\r\n2002-09-15,1.72\r\n2002-09-16,1.83\r\n2002-09-17,1.72\r\n2002-09-18,1.68\r\n2002-09-19,1.69\r\n2002-09-20,1.70\r\n2002-09-21,1.70\r\n2002-09-22,1.70\r\n2002-09-23,1.74\r\n2002-09-24,1.75\r\n2002-09-25,1.79\r\n2002-09-26,1.80\r\n2002-09-27,1.78\r\n2002-09-28,1.78\r\n2002-09-29,1.78\r\n2002-09-30,1.85\r\n2002-10-01,1.85\r\n2002-10-02,1.75\r\n2002-10-03,1.76\r\n2002-10-04,1.72\r\n2002-10-05,1.72\r\n2002-10-06,1.72\r\n2002-10-07,1.74\r\n2002-10-08,1.72\r\n2002-10-09,1.73\r\n2002-10-10,1.75\r\n2002-10-11,1.73\r\n2002-10-12,1.73\r\n2002-10-13,1.73\r\n2002-10-14,1.73\r\n2002-10-15,1.88\r\n2002-10-16,1.73\r\n2002-10-17,1.74\r\n2002-10-18,1.71\r\n2002-10-19,1.71\r\n2002-10-20,1.71\r\n2002-10-21,1.73\r\n2002-10-22,1.71\r\n2002-10-23,1.76\r\n2002-10-24,1.80\r\n2002-10-25,1.82\r\n2002-10-26,1.82\r\n2002-10-27,1.82\r\n2002-10-28,1.79\r\n2002-10-29,1.75\r\n2002-10-30,1.72\r\n2002-10-31,1.82\r\n2002-11-01,1.74\r\n2002-11-02,1.74\r\n2002-11-03,1.74\r\n2002-11-04,1.71\r\n2002-11-05,1.64\r\n2002-11-06,1.48\r\n2002-11-07,1.27\r\n2002-11-08,1.18\r\n2002-11-09,1.18\r\n2002-11-10,1.18\r\n2002-11-11,1.18\r\n2002-11-12,1.29\r\n2002-11-13,1.17\r\n2002-11-14,1.29\r\n2002-11-15,1.35\r\n2002-11-16,1.35\r\n2002-11-17,1.35\r\n2002-11-18,1.21\r\n2002-11-19,1.20\r\n2002-11-20,1.23\r\n2002-11-21,1.27\r\n2002-11-22,1.25\r\n2002-11-23,1.25\r\n2002-11-24,1.25\r\n2002-11-25,1.32\r\n2002-11-26,1.26\r\n2002-11-27,1.27\r\n2002-11-28,1.27\r\n2002-11-29,1.23\r\n2002-11-30,1.23\r\n2002-12-01,1.23\r\n2002-12-02,1.27\r\n2002-12-03,1.24\r\n2002-12-04,1.23\r\n2002-12-05,1.24\r\n2002-12-06,1.21\r\n2002-12-07,1.21\r\n2002-12-08,1.21\r\n2002-12-09,1.22\r\n2002-12-10,1.22\r\n2002-12-11,1.29\r\n2002-12-12,1.29\r\n2002-12-13,1.25\r\n2002-12-14,1.25\r\n2002-12-15,1.25\r\n2002-12-16,1.36\r\n2002-12-17,1.26\r\n2002-12-18,1.25\r\n2002-12-19,1.28\r\n2002-12-20,1.26\r\n2002-12-21,1.26\r\n2002-12-22,1.26\r\n2002-12-23,1.28\r\n2002-12-24,1.15\r\n2002-12-25,1.15\r\n2002-12-26,1.28\r\n2002-12-27,1.20\r\n2002-12-28,1.20\r\n2002-12-29,1.20\r\n2002-12-30,1.23\r\n2002-12-31,1.16\r\n2003-01-01,1.16\r\n2003-01-02,1.30\r\n2003-01-03,1.12\r\n2003-01-04,1.12\r\n2003-01-05,1.12\r\n2003-01-06,1.22\r\n2003-01-07,1.20\r\n2003-01-08,1.29\r\n2003-01-09,1.29\r\n2003-01-10,1.25\r\n2003-01-11,1.25\r\n2003-01-12,1.25\r\n2003-01-13,1.26\r\n2003-01-14,1.24\r\n2003-01-15,1.30\r\n2003-01-16,1.24\r\n2003-01-17,1.20\r\n2003-01-18,1.20\r\n2003-01-19,1.20\r\n2003-01-20,1.20\r\n2003-01-21,1.31\r\n2003-01-22,1.26\r\n2003-01-23,1.27\r\n2003-01-24,1.21\r\n2003-01-25,1.21\r\n2003-01-26,1.21\r\n2003-01-27,1.30\r\n2003-01-28,1.23\r\n2003-01-29,1.26\r\n2003-01-30,1.29\r\n2003-01-31,1.33\r\n2003-02-01,1.33\r\n2003-02-02,1.33\r\n2003-02-03,1.30\r\n2003-02-04,1.21\r\n2003-02-05,1.21\r\n2003-02-06,1.23\r\n2003-02-07,1.21\r\n2003-02-08,1.21\r\n2003-02-09,1.21\r\n2003-02-10,1.25\r\n2003-02-11,1.22\r\n2003-02-12,1.23\r\n2003-02-13,1.28\r\n2003-02-14,1.30\r\n2003-02-15,1.30\r\n2003-02-16,1.30\r\n2003-02-17,1.30\r\n2003-02-18,1.35\r\n2003-02-19,1.24\r\n2003-02-20,1.25\r\n2003-02-21,1.21\r\n2003-02-22,1.21\r\n2003-02-23,1.21\r\n2003-02-24,1.25\r\n2003-02-25,1.28\r\n2003-02-26,1.28\r\n2003-02-27,1.31\r\n2003-02-28,1.33\r\n2003-03-01,1.33\r\n2003-03-02,1.33\r\n2003-03-03,1.33\r\n2003-03-04,1.20\r\n2003-03-05,1.22\r\n2003-03-06,1.23\r\n2003-03-07,1.20\r\n2003-03-08,1.20\r\n2003-03-09,1.20\r\n2003-03-10,1.23\r\n2003-03-11,1.21\r\n2003-03-12,1.23\r\n2003-03-13,1.31\r\n2003-03-14,1.30\r\n2003-03-15,1.30\r\n2003-03-16,1.30\r\n2003-03-17,1.31\r\n2003-03-18,1.20\r\n2003-03-19,1.20\r\n2003-03-20,1.23\r\n2003-03-21,1.20\r\n2003-03-22,1.20\r\n2003-03-23,1.20\r\n2003-03-24,1.23\r\n2003-03-25,1.24\r\n2003-03-26,1.26\r\n2003-03-27,1.29\r\n2003-03-28,1.26\r\n2003-03-29,1.26\r\n2003-03-30,1.26\r\n2003-03-31,1.38\r\n2003-04-01,1.29\r\n2003-04-02,1.19\r\n2003-04-03,1.24\r\n2003-04-04,1.22\r\n2003-04-05,1.22\r\n2003-04-06,1.22\r\n2003-04-07,1.25\r\n2003-04-08,1.22\r\n2003-04-09,1.24\r\n2003-04-10,1.27\r\n2003-04-11,1.24\r\n2003-04-12,1.24\r\n2003-04-13,1.24\r\n2003-04-14,1.32\r\n2003-04-15,1.34\r\n2003-04-16,1.26\r\n2003-04-17,1.28\r\n2003-04-18,1.24\r\n2003-04-19,1.24\r\n2003-04-20,1.24\r\n2003-04-21,1.29\r\n2003-04-22,1.26\r\n2003-04-23,1.24\r\n2003-04-24,1.24\r\n2003-04-25,1.28\r\n2003-04-26,1.28\r\n2003-04-27,1.28\r\n2003-04-28,1.29\r\n2003-04-29,1.27\r\n2003-04-30,1.31\r\n2003-05-01,1.30\r\n2003-05-02,1.24\r\n2003-05-03,1.24\r\n2003-05-04,1.24\r\n2003-05-05,1.27\r\n2003-05-06,1.28\r\n2003-05-07,1.28\r\n2003-05-08,1.27\r\n2003-05-09,1.24\r\n2003-05-10,1.24\r\n2003-05-11,1.24\r\n2003-05-12,1.25\r\n2003-05-13,1.23\r\n2003-05-14,1.30\r\n2003-05-15,1.36\r\n2003-05-16,1.26\r\n2003-05-17,1.26\r\n2003-05-18,1.26\r\n2003-05-19,1.26\r\n2003-05-20,1.23\r\n2003-05-21,1.23\r\n2003-05-22,1.25\r\n2003-05-23,1.21\r\n2003-05-24,1.21\r\n2003-05-25,1.21\r\n2003-05-26,1.21\r\n2003-05-27,1.32\r\n2003-05-28,1.29\r\n2003-05-29,1.29\r\n2003-05-30,1.28\r\n2003-05-31,1.28\r\n2003-06-01,1.28\r\n2003-06-02,1.27\r\n2003-06-03,1.21\r\n2003-06-04,1.22\r\n2003-06-05,1.26\r\n2003-06-06,1.24\r\n2003-06-07,1.24\r\n2003-06-08,1.24\r\n2003-06-09,1.25\r\n2003-06-10,1.22\r\n2003-06-11,1.25\r\n2003-06-12,1.25\r\n2003-06-13,1.24\r\n2003-06-14,1.24\r\n2003-06-15,1.24\r\n2003-06-16,1.33\r\n2003-06-17,1.24\r\n2003-06-18,1.22\r\n2003-06-19,1.22\r\n2003-06-20,1.23\r\n2003-06-21,1.23\r\n2003-06-22,1.23\r\n2003-06-23,1.21\r\n2003-06-24,1.15\r\n2003-06-25,1.18\r\n2003-06-26,1.10\r\n2003-06-27,1.08\r\n2003-06-28,1.08\r\n2003-06-29,1.08\r\n2003-06-30,1.45\r\n2003-07-01,1.11\r\n2003-07-02,1.01\r\n2003-07-03,0.96\r\n2003-07-04,0.96\r\n2003-07-05,0.96\r\n2003-07-06,0.96\r\n2003-07-07,1.00\r\n2003-07-08,0.93\r\n2003-07-09,0.96\r\n2003-07-10,1.00\r\n2003-07-11,0.98\r\n2003-07-12,0.98\r\n2003-07-13,0.98\r\n2003-07-14,1.07\r\n2003-07-15,1.13\r\n2003-07-16,1.01\r\n2003-07-17,1.02\r\n2003-07-18,0.99\r\n2003-07-19,0.99\r\n2003-07-20,0.99\r\n2003-07-21,1.02\r\n2003-07-22,1.00\r\n2003-07-23,1.05\r\n2003-07-24,1.04\r\n2003-07-25,1.03\r\n2003-07-26,1.03\r\n2003-07-27,1.03\r\n2003-07-28,1.05\r\n2003-07-29,1.04\r\n2003-07-30,1.03\r\n2003-07-31,1.04\r\n2003-08-01,1.00\r\n2003-08-02,1.00\r\n2003-08-03,1.00\r\n2003-08-04,1.00\r\n2003-08-05,0.86\r\n2003-08-06,0.88\r\n2003-08-07,0.95\r\n2003-08-08,0.96\r\n2003-08-09,0.96\r\n2003-08-10,0.96\r\n2003-08-11,1.02\r\n2003-08-12,0.99\r\n2003-08-13,1.01\r\n2003-08-14,1.22\r\n2003-08-15,1.39\r\n2003-08-16,1.39\r\n2003-08-17,1.39\r\n2003-08-18,1.03\r\n2003-08-19,0.93\r\n2003-08-20,0.89\r\n2003-08-21,1.01\r\n2003-08-22,0.99\r\n2003-08-23,0.99\r\n2003-08-24,0.99\r\n2003-08-25,1.04\r\n2003-08-26,1.00\r\n2003-08-27,0.98\r\n2003-08-28,1.04\r\n2003-08-29,1.01\r\n2003-08-30,1.01\r\n2003-08-31,1.01\r\n2003-09-01,1.01\r\n2003-09-02,1.06\r\n2003-09-03,0.96\r\n2003-09-04,0.98\r\n2003-09-05,0.96\r\n2003-09-06,0.96\r\n2003-09-07,0.96\r\n2003-09-08,0.99\r\n2003-09-09,0.95\r\n2003-09-10,0.95\r\n2003-09-11,1.00\r\n2003-09-12,1.02\r\n2003-09-13,1.02\r\n2003-09-14,1.02\r\n2003-09-15,1.11\r\n2003-09-16,0.97\r\n2003-09-17,0.97\r\n2003-09-18,1.00\r\n2003-09-19,0.99\r\n2003-09-20,0.99\r\n2003-09-21,0.99\r\n2003-09-22,1.02\r\n2003-09-23,1.01\r\n2003-09-24,1.03\r\n2003-09-25,1.08\r\n2003-09-26,1.03\r\n2003-09-27,1.03\r\n2003-09-28,1.03\r\n2003-09-29,1.04\r\n2003-09-30,1.17\r\n2003-10-01,1.11\r\n2003-10-02,1.02\r\n2003-10-03,0.99\r\n2003-10-04,0.99\r\n2003-10-05,0.99\r\n2003-10-06,0.99\r\n2003-10-07,0.98\r\n2003-10-08,0.99\r\n2003-10-09,1.02\r\n2003-10-10,1.00\r\n2003-10-11,1.00\r\n2003-10-12,1.00\r\n2003-10-13,1.00\r\n2003-10-14,1.08\r\n2003-10-15,1.09\r\n2003-10-16,1.04\r\n2003-10-17,0.98\r\n2003-10-18,0.98\r\n2003-10-19,0.98\r\n2003-10-20,1.02\r\n2003-10-21,0.99\r\n2003-10-22,0.99\r\n2003-10-23,1.02\r\n2003-10-24,1.01\r\n2003-10-25,1.01\r\n2003-10-26,1.01\r\n2003-10-27,1.03\r\n2003-10-28,0.98\r\n2003-10-29,0.97\r\n2003-10-30,1.02\r\n2003-10-31,1.03\r\n2003-11-01,1.03\r\n2003-11-02,1.03\r\n2003-11-03,1.02\r\n2003-11-04,0.98\r\n2003-11-05,0.98\r\n2003-11-06,1.00\r\n2003-11-07,0.98\r\n2003-11-08,0.98\r\n2003-11-09,0.98\r\n2003-11-10,0.99\r\n2003-11-11,0.99\r\n2003-11-12,1.00\r\n2003-11-13,0.99\r\n2003-11-14,0.98\r\n2003-11-15,0.98\r\n2003-11-16,0.98\r\n2003-11-17,1.04\r\n2003-11-18,0.98\r\n2003-11-19,0.98\r\n2003-11-20,1.00\r\n2003-11-21,0.98\r\n2003-11-22,0.98\r\n2003-11-23,0.98\r\n2003-11-24,0.98\r\n2003-11-25,1.02\r\n2003-11-26,1.01\r\n2003-11-27,1.01\r\n2003-11-28,1.01\r\n2003-11-29,1.01\r\n2003-11-30,1.01\r\n2003-12-01,1.03\r\n2003-12-02,0.97\r\n2003-12-03,0.98\r\n2003-12-04,0.99\r\n2003-12-05,0.98\r\n2003-12-06,0.98\r\n2003-12-07,0.98\r\n2003-12-08,0.99\r\n2003-12-09,0.97\r\n2003-12-10,0.99\r\n2003-12-11,0.99\r\n2003-12-12,0.99\r\n2003-12-13,0.99\r\n2003-12-14,0.99\r\n2003-12-15,1.04\r\n2003-12-16,0.99\r\n2003-12-17,0.99\r\n2003-12-18,1.01\r\n2003-12-19,0.98\r\n2003-12-20,0.98\r\n2003-12-21,0.98\r\n2003-12-22,1.02\r\n2003-12-23,1.00\r\n2003-12-24,0.97\r\n2003-12-25,0.97\r\n2003-12-26,0.97\r\n2003-12-27,0.97\r\n2003-12-28,0.97\r\n2003-12-29,0.98\r\n2003-12-30,0.93\r\n2003-12-31,0.94\r\n2004-01-01,0.94\r\n2004-01-02,1.01\r\n2004-01-03,1.01\r\n2004-01-04,1.01\r\n2004-01-05,0.97\r\n2004-01-06,0.92\r\n2004-01-07,0.94\r\n2004-01-08,0.99\r\n2004-01-09,0.99\r\n2004-01-10,0.99\r\n2004-01-11,0.99\r\n2004-01-12,1.00\r\n2004-01-13,0.99\r\n2004-01-14,1.01\r\n2004-01-15,1.04\r\n2004-01-16,0.98\r\n2004-01-17,0.98\r\n2004-01-18,0.98\r\n2004-01-19,0.98\r\n2004-01-20,1.02\r\n2004-01-21,1.00\r\n2004-01-22,1.02\r\n2004-01-23,1.00\r\n2004-01-24,1.00\r\n2004-01-25,1.00\r\n2004-01-26,1.08\r\n2004-01-27,1.02\r\n2004-01-28,0.99\r\n2004-01-29,1.00\r\n2004-01-30,1.03\r\n2004-01-31,1.03\r\n2004-02-01,1.03\r\n2004-02-02,1.01\r\n2004-02-03,0.97\r\n2004-02-04,1.00\r\n2004-02-05,1.01\r\n2004-02-06,0.99\r\n2004-02-07,0.99\r\n2004-02-08,0.99\r\n2004-02-09,1.01\r\n2004-02-10,1.00\r\n2004-02-11,1.00\r\n2004-02-12,1.02\r\n2004-02-13,1.01\r\n2004-02-14,1.01\r\n2004-02-15,1.01\r\n2004-02-16,1.01\r\n2004-02-17,1.02\r\n2004-02-18,1.00\r\n2004-02-19,1.00\r\n2004-02-20,0.99\r\n2004-02-21,0.99\r\n2004-02-22,0.99\r\n2004-02-23,1.00\r\n2004-02-24,0.99\r\n2004-02-25,1.02\r\n2004-02-26,1.03\r\n2004-02-27,1.04\r\n2004-02-28,1.04\r\n2004-02-29,1.04\r\n2004-03-01,1.04\r\n2004-03-02,1.00\r\n2004-03-03,1.00\r\n2004-03-04,0.99\r\n2004-03-05,1.00\r\n2004-03-06,1.00\r\n2004-03-07,1.00\r\n2004-03-08,1.00\r\n2004-03-09,0.99\r\n2004-03-10,1.00\r\n2004-03-11,1.01\r\n2004-03-12,0.99\r\n2004-03-13,0.99\r\n2004-03-14,0.99\r\n2004-03-15,1.05\r\n2004-03-16,0.99\r\n2004-03-17,1.00\r\n2004-03-18,1.00\r\n2004-03-19,0.99\r\n2004-03-20,0.99\r\n2004-03-21,0.99\r\n2004-03-22,1.01\r\n2004-03-23,0.99\r\n2004-03-24,0.99\r\n2004-03-25,1.02\r\n2004-03-26,1.00\r\n2004-03-27,1.00\r\n2004-03-28,1.00\r\n2004-03-29,1.00\r\n2004-03-30,0.98\r\n2004-03-31,1.05\r\n2004-04-01,1.03\r\n2004-04-02,1.00\r\n2004-04-03,1.00\r\n2004-04-04,1.00\r\n2004-04-05,1.01\r\n2004-04-06,1.00\r\n2004-04-07,1.00\r\n2004-04-08,1.02\r\n2004-04-09,1.01\r\n2004-04-10,1.01\r\n2004-04-11,1.01\r\n2004-04-12,1.00\r\n2004-04-13,1.00\r\n2004-04-14,1.01\r\n2004-04-15,1.03\r\n2004-04-16,0.99\r\n2004-04-17,0.99\r\n2004-04-18,0.99\r\n2004-04-19,1.00\r\n2004-04-20,0.99\r\n2004-04-21,0.99\r\n2004-04-22,1.00\r\n2004-04-23,0.99\r\n2004-04-24,0.99\r\n2004-04-25,0.99\r\n2004-04-26,1.01\r\n2004-04-27,0.99\r\n2004-04-28,1.01\r\n2004-04-29,1.03\r\n2004-04-30,1.03\r\n2004-05-01,1.03\r\n2004-05-02,1.03\r\n2004-05-03,1.03\r\n2004-05-04,1.00\r\n2004-05-05,0.99\r\n2004-05-06,1.00\r\n2004-05-07,0.99\r\n2004-05-08,0.99\r\n2004-05-09,0.99\r\n2004-05-10,1.00\r\n2004-05-11,0.96\r\n2004-05-12,0.98\r\n2004-05-13,1.00\r\n2004-05-14,1.02\r\n2004-05-15,1.02\r\n2004-05-16,1.02\r\n2004-05-17,1.05\r\n2004-05-18,1.00\r\n2004-05-19,1.00\r\n2004-05-20,1.00\r\n2004-05-21,0.99\r\n2004-05-22,0.99\r\n2004-05-23,0.99\r\n2004-05-24,1.00\r\n2004-05-25,1.00\r\n2004-05-26,0.99\r\n2004-05-27,1.00\r\n2004-05-28,1.02\r\n2004-05-29,1.02\r\n2004-05-30,1.02\r\n2004-05-31,1.02\r\n2004-06-01,1.02\r\n2004-06-02,0.98\r\n2004-06-03,0.99\r\n2004-06-04,0.99\r\n2004-06-05,0.99\r\n2004-06-06,0.99\r\n2004-06-07,0.99\r\n2004-06-08,0.97\r\n2004-06-09,0.99\r\n2004-06-10,1.00\r\n2004-06-11,1.00\r\n2004-06-12,1.00\r\n2004-06-13,1.00\r\n2004-06-14,1.02\r\n2004-06-15,1.03\r\n2004-06-16,1.00\r\n2004-06-17,1.01\r\n2004-06-18,1.00\r\n2004-06-19,1.00\r\n2004-06-20,1.00\r\n2004-06-21,1.00\r\n2004-06-22,1.00\r\n2004-06-23,1.02\r\n2004-06-24,1.03\r\n2004-06-25,1.05\r\n2004-06-26,1.05\r\n2004-06-27,1.05\r\n2004-06-28,1.09\r\n2004-06-29,1.13\r\n2004-06-30,1.38\r\n2004-07-01,1.40\r\n2004-07-02,1.25\r\n2004-07-03,1.25\r\n2004-07-04,1.25\r\n2004-07-05,1.25\r\n2004-07-06,1.30\r\n2004-07-07,1.26\r\n2004-07-08,1.26\r\n2004-07-09,1.24\r\n2004-07-10,1.24\r\n2004-07-11,1.24\r\n2004-07-12,1.26\r\n2004-07-13,1.24\r\n2004-07-14,1.24\r\n2004-07-15,1.30\r\n2004-07-16,1.24\r\n2004-07-17,1.24\r\n2004-07-18,1.24\r\n2004-07-19,1.25\r\n2004-07-20,1.25\r\n2004-07-21,1.25\r\n2004-07-22,1.26\r\n2004-07-23,1.25\r\n2004-07-24,1.25\r\n2004-07-25,1.25\r\n2004-07-26,1.27\r\n2004-07-27,1.27\r\n2004-07-28,1.29\r\n2004-07-29,1.30\r\n2004-07-30,1.29\r\n2004-07-31,1.29\r\n2004-08-01,1.29\r\n2004-08-02,1.28\r\n2004-08-03,1.24\r\n2004-08-04,1.22\r\n2004-08-05,1.30\r\n2004-08-06,1.32\r\n2004-08-07,1.32\r\n2004-08-08,1.32\r\n2004-08-09,1.35\r\n2004-08-10,1.43\r\n2004-08-11,1.50\r\n2004-08-12,1.51\r\n2004-08-13,1.48\r\n2004-08-14,1.48\r\n2004-08-15,1.48\r\n2004-08-16,1.43\r\n2004-08-17,1.20\r\n2004-08-18,1.39\r\n2004-08-19,1.50\r\n2004-08-20,1.50\r\n2004-08-21,1.50\r\n2004-08-22,1.50\r\n2004-08-23,1.51\r\n2004-08-24,1.51\r\n2004-08-25,1.55\r\n2004-08-26,1.55\r\n2004-08-27,1.52\r\n2004-08-28,1.52\r\n2004-08-29,1.52\r\n2004-08-30,1.54\r\n2004-08-31,1.55\r\n2004-09-01,1.53\r\n2004-09-02,1.51\r\n2004-09-03,1.48\r\n2004-09-04,1.48\r\n2004-09-05,1.48\r\n2004-09-06,1.48\r\n2004-09-07,1.54\r\n2004-09-08,1.51\r\n2004-09-09,1.49\r\n2004-09-10,1.48\r\n2004-09-11,1.48\r\n2004-09-12,1.48\r\n2004-09-13,1.51\r\n2004-09-14,1.40\r\n2004-09-15,1.57\r\n2004-09-16,1.61\r\n2004-09-17,1.58\r\n2004-09-18,1.58\r\n2004-09-19,1.58\r\n2004-09-20,1.64\r\n2004-09-21,1.70\r\n2004-09-22,1.78\r\n2004-09-23,1.80\r\n2004-09-24,1.76\r\n2004-09-25,1.76\r\n2004-09-26,1.76\r\n2004-09-27,1.76\r\n2004-09-28,1.72\r\n2004-09-29,1.76\r\n2004-09-30,1.94\r\n2004-10-01,1.86\r\n2004-10-02,1.86\r\n2004-10-03,1.86\r\n2004-10-04,1.77\r\n2004-10-05,1.73\r\n2004-10-06,1.74\r\n2004-10-07,1.76\r\n2004-10-08,1.71\r\n2004-10-09,1.71\r\n2004-10-10,1.71\r\n2004-10-11,1.71\r\n2004-10-12,1.78\r\n2004-10-13,1.73\r\n2004-10-14,1.77\r\n2004-10-15,1.79\r\n2004-10-16,1.79\r\n2004-10-17,1.79\r\n2004-10-18,1.73\r\n2004-10-19,1.72\r\n2004-10-20,1.74\r\n2004-10-21,1.76\r\n2004-10-22,1.72\r\n2004-10-23,1.72\r\n2004-10-24,1.72\r\n2004-10-25,1.76\r\n2004-10-26,1.72\r\n2004-10-27,1.77\r\n2004-10-28,1.79\r\n2004-10-29,1.79\r\n2004-10-30,1.79\r\n2004-10-31,1.79\r\n2004-11-01,1.83\r\n2004-11-02,1.74\r\n2004-11-03,1.73\r\n2004-11-04,1.77\r\n2004-11-05,1.76\r\n2004-11-06,1.76\r\n2004-11-07,1.76\r\n2004-11-08,1.80\r\n2004-11-09,1.79\r\n2004-11-10,1.92\r\n2004-11-11,1.92\r\n2004-11-12,2.02\r\n2004-11-13,2.02\r\n2004-11-14,2.02\r\n2004-11-15,2.06\r\n2004-11-16,1.98\r\n2004-11-17,1.99\r\n2004-11-18,1.99\r\n2004-11-19,1.99\r\n2004-11-20,1.99\r\n2004-11-21,1.99\r\n2004-11-22,2.01\r\n2004-11-23,2.00\r\n2004-11-24,2.02\r\n2004-11-25,2.02\r\n2004-11-26,2.01\r\n2004-11-27,2.01\r\n2004-11-28,2.01\r\n2004-11-29,2.03\r\n2004-11-30,2.02\r\n2004-12-01,2.04\r\n2004-12-02,2.00\r\n2004-12-03,1.98\r\n2004-12-04,1.98\r\n2004-12-05,1.98\r\n2004-12-06,2.04\r\n2004-12-07,1.99\r\n2004-12-08,2.01\r\n2004-12-09,2.05\r\n2004-12-10,2.09\r\n2004-12-11,2.09\r\n2004-12-12,2.09\r\n2004-12-13,2.18\r\n2004-12-14,2.24\r\n2004-12-15,2.31\r\n2004-12-16,2.26\r\n2004-12-17,2.23\r\n2004-12-18,2.23\r\n2004-12-19,2.23\r\n2004-12-20,2.26\r\n2004-12-21,2.24\r\n2004-12-22,2.25\r\n2004-12-23,2.34\r\n2004-12-24,2.27\r\n2004-12-25,2.27\r\n2004-12-26,2.27\r\n2004-12-27,2.24\r\n2004-12-28,2.24\r\n2004-12-29,2.23\r\n2004-12-30,2.24\r\n2004-12-31,1.97\r\n2005-01-01,1.97\r\n2005-01-02,1.97\r\n2005-01-03,2.31\r\n2005-01-04,2.25\r\n2005-01-05,2.25\r\n2005-01-06,2.25\r\n2005-01-07,2.24\r\n2005-01-08,2.24\r\n2005-01-09,2.24\r\n2005-01-10,2.26\r\n2005-01-11,2.24\r\n2005-01-12,2.25\r\n2005-01-13,2.29\r\n2005-01-14,2.29\r\n2005-01-15,2.29\r\n2005-01-16,2.29\r\n2005-01-17,2.29\r\n2005-01-18,2.31\r\n2005-01-19,2.19\r\n2005-01-20,2.25\r\n2005-01-21,2.26\r\n2005-01-22,2.26\r\n2005-01-23,2.26\r\n2005-01-24,2.26\r\n2005-01-25,2.29\r\n2005-01-26,2.33\r\n2005-01-27,2.39\r\n2005-01-28,2.48\r\n2005-01-29,2.48\r\n2005-01-30,2.48\r\n2005-01-31,2.50\r\n2005-02-01,2.40\r\n2005-02-02,2.29\r\n2005-02-03,2.49\r\n2005-02-04,2.51\r\n2005-02-05,2.51\r\n2005-02-06,2.51\r\n2005-02-07,2.50\r\n2005-02-08,2.48\r\n2005-02-09,2.50\r\n2005-02-10,2.51\r\n2005-02-11,2.50\r\n2005-02-12,2.50\r\n2005-02-13,2.50\r\n2005-02-14,2.51\r\n2005-02-15,2.53\r\n2005-02-16,2.48\r\n2005-02-17,2.50\r\n2005-02-18,2.51\r\n2005-02-19,2.51\r\n2005-02-20,2.51\r\n2005-02-21,2.51\r\n2005-02-22,2.57\r\n2005-02-23,2.53\r\n2005-02-24,2.55\r\n2005-02-25,2.54\r\n2005-02-26,2.54\r\n2005-02-27,2.54\r\n2005-02-28,2.52\r\n2005-03-01,2.39\r\n2005-03-02,2.48\r\n2005-03-03,2.51\r\n2005-03-04,2.50\r\n2005-03-05,2.50\r\n2005-03-06,2.50\r\n2005-03-07,2.51\r\n2005-03-08,2.49\r\n2005-03-09,2.50\r\n2005-03-10,2.52\r\n2005-03-11,2.51\r\n2005-03-12,2.51\r\n2005-03-13,2.51\r\n2005-03-14,2.59\r\n2005-03-15,2.61\r\n2005-03-16,2.57\r\n2005-03-17,2.68\r\n2005-03-18,2.70\r\n2005-03-19,2.70\r\n2005-03-20,2.70\r\n2005-03-21,2.71\r\n2005-03-22,2.72\r\n2005-03-23,2.73\r\n2005-03-24,2.75\r\n2005-03-25,2.80\r\n2005-03-26,2.80\r\n2005-03-27,2.80\r\n2005-03-28,2.79\r\n2005-03-29,2.72\r\n2005-03-30,2.74\r\n2005-03-31,2.96\r\n2005-04-01,2.83\r\n2005-04-02,2.83\r\n2005-04-03,2.83\r\n2005-04-04,2.78\r\n2005-04-05,2.72\r\n2005-04-06,2.73\r\n2005-04-07,2.76\r\n2005-04-08,2.75\r\n2005-04-09,2.75\r\n2005-04-10,2.75\r\n2005-04-11,2.78\r\n2005-04-12,2.77\r\n2005-04-13,2.76\r\n2005-04-14,2.79\r\n2005-04-15,2.82\r\n2005-04-16,2.82\r\n2005-04-17,2.82\r\n2005-04-18,2.75\r\n2005-04-19,2.74\r\n2005-04-20,2.74\r\n2005-04-21,2.75\r\n2005-04-22,2.74\r\n2005-04-23,2.74\r\n2005-04-24,2.74\r\n2005-04-25,2.82\r\n2005-04-26,2.78\r\n2005-04-27,2.63\r\n2005-04-28,2.89\r\n2005-04-29,2.97\r\n2005-04-30,2.97\r\n2005-05-01,2.97\r\n2005-05-02,2.98\r\n2005-05-03,2.95\r\n2005-05-04,2.99\r\n2005-05-05,2.99\r\n2005-05-06,2.98\r\n2005-05-07,2.98\r\n2005-05-08,2.98\r\n2005-05-09,2.99\r\n2005-05-10,2.99\r\n2005-05-11,2.99\r\n2005-05-12,3.01\r\n2005-05-13,3.01\r\n2005-05-14,3.01\r\n2005-05-15,3.01\r\n2005-05-16,3.06\r\n2005-05-17,2.99\r\n2005-05-18,3.00\r\n2005-05-19,3.02\r\n2005-05-20,3.01\r\n2005-05-21,3.01\r\n2005-05-22,3.01\r\n2005-05-23,3.01\r\n2005-05-24,2.99\r\n2005-05-25,3.01\r\n2005-05-26,3.01\r\n2005-05-27,3.01\r\n2005-05-28,3.01\r\n2005-05-29,3.01\r\n2005-05-30,3.01\r\n2005-05-31,3.09\r\n2005-06-01,3.02\r\n2005-06-02,3.00\r\n2005-06-03,2.99\r\n2005-06-04,2.99\r\n2005-06-05,2.99\r\n2005-06-06,3.00\r\n2005-06-07,2.96\r\n2005-06-08,2.96\r\n2005-06-09,3.01\r\n2005-06-10,3.01\r\n2005-06-11,3.01\r\n2005-06-12,3.01\r\n2005-06-13,3.04\r\n2005-06-14,3.01\r\n2005-06-15,3.05\r\n2005-06-16,3.00\r\n2005-06-17,2.99\r\n2005-06-18,2.99\r\n2005-06-19,2.99\r\n2005-06-20,3.01\r\n2005-06-21,2.96\r\n2005-06-22,2.93\r\n2005-06-23,3.05\r\n2005-06-24,3.07\r\n2005-06-25,3.07\r\n2005-06-26,3.07\r\n2005-06-27,3.17\r\n2005-06-28,3.17\r\n2005-06-29,3.20\r\n2005-06-30,3.35\r\n2005-07-01,3.36\r\n2005-07-02,3.36\r\n2005-07-03,3.36\r\n2005-07-04,3.36\r\n2005-07-05,3.27\r\n2005-07-06,2.99\r\n2005-07-07,3.18\r\n2005-07-08,3.22\r\n2005-07-09,3.22\r\n2005-07-10,3.22\r\n2005-07-11,3.23\r\n2005-07-12,3.23\r\n2005-07-13,3.27\r\n2005-07-14,3.32\r\n2005-07-15,3.32\r\n2005-07-16,3.32\r\n2005-07-17,3.32\r\n2005-07-18,3.19\r\n2005-07-19,3.13\r\n2005-07-20,3.25\r\n2005-07-21,3.27\r\n2005-07-22,3.25\r\n2005-07-23,3.25\r\n2005-07-24,3.25\r\n2005-07-25,3.28\r\n2005-07-26,3.25\r\n2005-07-27,3.27\r\n2005-07-28,3.27\r\n2005-07-29,3.31\r\n2005-07-30,3.31\r\n2005-07-31,3.31\r\n2005-08-01,3.30\r\n2005-08-02,3.20\r\n2005-08-03,3.35\r\n2005-08-04,3.44\r\n2005-08-05,3.49\r\n2005-08-06,3.49\r\n2005-08-07,3.49\r\n2005-08-08,3.50\r\n2005-08-09,3.47\r\n2005-08-10,3.48\r\n2005-08-11,3.51\r\n2005-08-12,3.55\r\n2005-08-13,3.55\r\n2005-08-14,3.55\r\n2005-08-15,3.61\r\n2005-08-16,3.46\r\n2005-08-17,3.57\r\n2005-08-18,3.50\r\n2005-08-19,3.54\r\n2005-08-20,3.54\r\n2005-08-21,3.54\r\n2005-08-22,3.51\r\n2005-08-23,3.49\r\n2005-08-24,3.50\r\n2005-08-25,3.55\r\n2005-08-26,3.54\r\n2005-08-27,3.54\r\n2005-08-28,3.54\r\n2005-08-29,3.54\r\n2005-08-30,3.52\r\n2005-08-31,3.63\r\n2005-09-01,3.57\r\n2005-09-02,3.49\r\n2005-09-03,3.49\r\n2005-09-04,3.49\r\n2005-09-05,3.49\r\n2005-09-06,3.57\r\n2005-09-07,3.48\r\n2005-09-08,3.49\r\n2005-09-09,3.49\r\n2005-09-10,3.49\r\n2005-09-11,3.49\r\n2005-09-12,3.50\r\n2005-09-13,3.45\r\n2005-09-14,3.54\r\n2005-09-15,3.67\r\n2005-09-16,3.62\r\n2005-09-17,3.62\r\n2005-09-18,3.62\r\n2005-09-19,3.62\r\n2005-09-20,3.67\r\n2005-09-21,3.72\r\n2005-09-22,3.77\r\n2005-09-23,3.76\r\n2005-09-24,3.76\r\n2005-09-25,3.76\r\n2005-09-26,3.83\r\n2005-09-27,3.73\r\n2005-09-28,3.76\r\n2005-09-29,3.82\r\n2005-09-30,3.93\r\n2005-10-01,3.93\r\n2005-10-02,3.93\r\n2005-10-03,3.87\r\n2005-10-04,3.75\r\n2005-10-05,3.75\r\n2005-10-06,3.76\r\n2005-10-07,3.73\r\n2005-10-08,3.73\r\n2005-10-09,3.73\r\n2005-10-10,3.73\r\n2005-10-11,3.72\r\n2005-10-12,3.36\r\n2005-10-13,3.75\r\n2005-10-14,3.77\r\n2005-10-15,3.77\r\n2005-10-16,3.77\r\n2005-10-17,3.82\r\n2005-10-18,3.71\r\n2005-10-19,3.71\r\n2005-10-20,3.77\r\n2005-10-21,3.76\r\n2005-10-22,3.76\r\n2005-10-23,3.76\r\n2005-10-24,3.76\r\n2005-10-25,3.74\r\n2005-10-26,3.75\r\n2005-10-27,3.85\r\n2005-10-28,3.90\r\n2005-10-29,3.90\r\n2005-10-30,3.90\r\n2005-10-31,4.02\r\n2005-11-01,3.99\r\n2005-11-02,3.99\r\n2005-11-03,4.01\r\n2005-11-04,4.00\r\n2005-11-05,4.00\r\n2005-11-06,4.00\r\n2005-11-07,3.99\r\n2005-11-08,3.95\r\n2005-11-09,4.02\r\n2005-11-10,3.98\r\n2005-11-11,3.98\r\n2005-11-12,3.98\r\n2005-11-13,3.98\r\n2005-11-14,4.03\r\n2005-11-15,3.97\r\n2005-11-16,3.96\r\n2005-11-17,3.98\r\n2005-11-18,4.00\r\n2005-11-19,4.00\r\n2005-11-20,4.00\r\n2005-11-21,4.03\r\n2005-11-22,3.99\r\n2005-11-23,4.01\r\n2005-11-24,4.01\r\n2005-11-25,4.03\r\n2005-11-26,4.03\r\n2005-11-27,4.03\r\n2005-11-28,4.01\r\n2005-11-29,3.99\r\n2005-11-30,4.03\r\n2005-12-01,4.03\r\n2005-12-02,4.00\r\n2005-12-03,4.00\r\n2005-12-04,4.00\r\n2005-12-05,4.02\r\n2005-12-06,3.97\r\n2005-12-07,3.98\r\n2005-12-08,4.09\r\n2005-12-09,4.16\r\n2005-12-10,4.16\r\n2005-12-11,4.16\r\n2005-12-12,4.24\r\n2005-12-13,4.23\r\n2005-12-14,4.26\r\n2005-12-15,4.29\r\n2005-12-16,4.25\r\n2005-12-17,4.25\r\n2005-12-18,4.25\r\n2005-12-19,4.25\r\n2005-12-20,4.30\r\n2005-12-21,4.08\r\n2005-12-22,4.25\r\n2005-12-23,4.21\r\n2005-12-24,4.21\r\n2005-12-25,4.21\r\n2005-12-26,4.21\r\n2005-12-27,4.26\r\n2005-12-28,4.19\r\n2005-12-29,4.18\r\n2005-12-30,4.09\r\n2005-12-31,4.09\r\n2006-01-01,4.09\r\n2006-01-02,4.09\r\n2006-01-03,4.34\r\n2006-01-04,4.22\r\n2006-01-05,4.24\r\n2006-01-06,4.22\r\n2006-01-07,4.22\r\n2006-01-08,4.22\r\n2006-01-09,4.25\r\n2006-01-10,4.24\r\n2006-01-11,4.24\r\n2006-01-12,4.28\r\n2006-01-13,4.30\r\n2006-01-14,4.30\r\n2006-01-15,4.30\r\n2006-01-16,4.30\r\n2006-01-17,4.32\r\n2006-01-18,4.24\r\n2006-01-19,4.23\r\n2006-01-20,4.24\r\n2006-01-21,4.24\r\n2006-01-22,4.24\r\n2006-01-23,4.26\r\n2006-01-24,4.28\r\n2006-01-25,4.36\r\n2006-01-26,4.37\r\n2006-01-27,4.42\r\n2006-01-28,4.42\r\n2006-01-29,4.42\r\n2006-01-30,4.48\r\n2006-01-31,4.47\r\n2006-02-01,4.47\r\n2006-02-02,4.48\r\n2006-02-03,4.51\r\n2006-02-04,4.51\r\n2006-02-05,4.51\r\n2006-02-06,4.51\r\n2006-02-07,4.47\r\n2006-02-08,4.48\r\n2006-02-09,4.52\r\n2006-02-10,4.51\r\n2006-02-11,4.51\r\n2006-02-12,4.51\r\n2006-02-13,4.44\r\n2006-02-14,4.45\r\n2006-02-15,4.50\r\n2006-02-16,4.48\r\n2006-02-17,4.48\r\n2006-02-18,4.48\r\n2006-02-19,4.48\r\n2006-02-20,4.48\r\n2006-02-21,4.54\r\n2006-02-22,4.49\r\n2006-02-23,4.47\r\n2006-02-24,4.48\r\n2006-02-25,4.48\r\n2006-02-26,4.48\r\n2006-02-27,4.52\r\n2006-02-28,4.52\r\n2006-03-01,4.52\r\n2006-03-02,4.50\r\n2006-03-03,4.51\r\n2006-03-04,4.51\r\n2006-03-05,4.51\r\n2006-03-06,4.51\r\n2006-03-07,4.51\r\n2006-03-08,4.51\r\n2006-03-09,4.51\r\n2006-03-10,4.51\r\n2006-03-11,4.51\r\n2006-03-12,4.51\r\n2006-03-13,4.52\r\n2006-03-14,4.51\r\n2006-03-15,4.47\r\n2006-03-16,4.55\r\n2006-03-17,4.60\r\n2006-03-18,4.60\r\n2006-03-19,4.60\r\n2006-03-20,4.55\r\n2006-03-21,4.54\r\n2006-03-22,4.58\r\n2006-03-23,4.64\r\n2006-03-24,4.69\r\n2006-03-25,4.69\r\n2006-03-26,4.69\r\n2006-03-27,4.77\r\n2006-03-28,4.70\r\n2006-03-29,4.69\r\n2006-03-30,4.76\r\n2006-03-31,5.00\r\n2006-04-01,5.00\r\n2006-04-02,5.00\r\n2006-04-03,4.87\r\n2006-04-04,4.76\r\n2006-04-05,4.76\r\n2006-04-06,4.76\r\n2006-04-07,4.76\r\n2006-04-08,4.76\r\n2006-04-09,4.76\r\n2006-04-10,4.78\r\n2006-04-11,4.74\r\n2006-04-12,4.78\r\n2006-04-13,4.82\r\n2006-04-14,4.80\r\n2006-04-15,4.80\r\n2006-04-16,4.80\r\n2006-04-17,4.78\r\n2006-04-18,4.72\r\n2006-04-19,4.70\r\n2006-04-20,4.73\r\n2006-04-21,4.74\r\n2006-04-22,4.74\r\n2006-04-23,4.74\r\n2006-04-24,4.77\r\n2006-04-25,4.74\r\n2006-04-26,4.73\r\n2006-04-27,4.79\r\n2006-04-28,4.86\r\n2006-04-29,4.86\r\n2006-04-30,4.86\r\n2006-05-01,4.84\r\n2006-05-02,4.79\r\n2006-05-03,4.81\r\n2006-05-04,4.83\r\n2006-05-05,4.83\r\n2006-05-06,4.83\r\n2006-05-07,4.83\r\n2006-05-08,4.88\r\n2006-05-09,4.78\r\n2006-05-10,4.88\r\n2006-05-11,4.99\r\n2006-05-12,5.01\r\n2006-05-13,5.01\r\n2006-05-14,5.01\r\n2006-05-15,5.01\r\n2006-05-16,4.98\r\n2006-05-17,4.96\r\n2006-05-18,5.00\r\n2006-05-19,5.00\r\n2006-05-20,5.00\r\n2006-05-21,5.00\r\n2006-05-22,5.00\r\n2006-05-23,4.94\r\n2006-05-24,4.90\r\n2006-05-25,5.01\r\n2006-05-26,4.99\r\n2006-05-27,4.99\r\n2006-05-28,4.99\r\n2006-05-29,4.99\r\n2006-05-30,5.02\r\n2006-05-31,5.05\r\n2006-06-01,5.02\r\n2006-06-02,4.97\r\n2006-06-03,4.97\r\n2006-06-04,4.97\r\n2006-06-05,5.01\r\n2006-06-06,4.99\r\n2006-06-07,4.99\r\n2006-06-08,5.02\r\n2006-06-09,5.00\r\n2006-06-10,5.00\r\n2006-06-11,5.00\r\n2006-06-12,5.01\r\n2006-06-13,5.00\r\n2006-06-14,5.00\r\n2006-06-15,5.02\r\n2006-06-16,4.94\r\n2006-06-17,4.94\r\n2006-06-18,4.94\r\n2006-06-19,4.95\r\n2006-06-20,4.92\r\n2006-06-21,4.91\r\n2006-06-22,4.98\r\n2006-06-23,4.98\r\n2006-06-24,4.98\r\n2006-06-25,4.98\r\n2006-06-26,5.03\r\n2006-06-27,5.02\r\n2006-06-28,5.06\r\n2006-06-29,5.08\r\n2006-06-30,5.05\r\n2006-07-01,5.05\r\n2006-07-02,5.05\r\n2006-07-03,5.25\r\n2006-07-04,5.25\r\n2006-07-05,5.25\r\n2006-07-06,5.24\r\n2006-07-07,5.22\r\n2006-07-08,5.22\r\n2006-07-09,5.22\r\n2006-07-10,5.24\r\n2006-07-11,5.25\r\n2006-07-12,5.27\r\n2006-07-13,5.26\r\n2006-07-14,5.26\r\n2006-07-15,5.26\r\n2006-07-16,5.26\r\n2006-07-17,5.28\r\n2006-07-18,5.22\r\n2006-07-19,5.23\r\n2006-07-20,5.24\r\n2006-07-21,5.23\r\n2006-07-22,5.23\r\n2006-07-23,5.23\r\n2006-07-24,5.24\r\n2006-07-25,5.24\r\n2006-07-26,5.24\r\n2006-07-27,5.27\r\n2006-07-28,5.26\r\n2006-07-29,5.26\r\n2006-07-30,5.26\r\n2006-07-31,5.31\r\n2006-08-01,5.27\r\n2006-08-02,5.25\r\n2006-08-03,5.27\r\n2006-08-04,5.25\r\n2006-08-05,5.25\r\n2006-08-06,5.25\r\n2006-08-07,5.24\r\n2006-08-08,5.26\r\n2006-08-09,5.25\r\n2006-08-10,5.24\r\n2006-08-11,5.24\r\n2006-08-12,5.24\r\n2006-08-13,5.24\r\n2006-08-14,5.26\r\n2006-08-15,5.24\r\n2006-08-16,5.17\r\n2006-08-17,5.20\r\n2006-08-18,5.25\r\n2006-08-19,5.25\r\n2006-08-20,5.25\r\n2006-08-21,5.24\r\n2006-08-22,5.24\r\n2006-08-23,5.25\r\n2006-08-24,5.25\r\n2006-08-25,5.25\r\n2006-08-26,5.25\r\n2006-08-27,5.25\r\n2006-08-28,5.25\r\n2006-08-29,5.23\r\n2006-08-30,5.25\r\n2006-08-31,5.31\r\n2006-09-01,5.25\r\n2006-09-02,5.25\r\n2006-09-03,5.25\r\n2006-09-04,5.25\r\n2006-09-05,5.26\r\n2006-09-06,5.21\r\n2006-09-07,5.23\r\n2006-09-08,5.23\r\n2006-09-09,5.23\r\n2006-09-10,5.23\r\n2006-09-11,5.24\r\n2006-09-12,5.21\r\n2006-09-13,5.26\r\n2006-09-14,5.26\r\n2006-09-15,5.25\r\n2006-09-16,5.25\r\n2006-09-17,5.25\r\n2006-09-18,5.23\r\n2006-09-19,5.21\r\n2006-09-20,5.23\r\n2006-09-21,5.24\r\n2006-09-22,5.27\r\n2006-09-23,5.27\r\n2006-09-24,5.27\r\n2006-09-25,5.30\r\n2006-09-26,5.25\r\n2006-09-27,5.30\r\n2006-09-28,5.28\r\n2006-09-29,5.34\r\n2006-09-30,5.34\r\n2006-10-01,5.34\r\n2006-10-02,5.33\r\n2006-10-03,5.25\r\n2006-10-04,5.23\r\n2006-10-05,5.23\r\n2006-10-06,5.22\r\n2006-10-07,5.22\r\n2006-10-08,5.22\r\n2006-10-09,5.22\r\n2006-10-10,5.28\r\n2006-10-11,5.25\r\n2006-10-12,5.25\r\n2006-10-13,5.21\r\n2006-10-14,5.21\r\n2006-10-15,5.21\r\n2006-10-16,5.28\r\n2006-10-17,5.21\r\n2006-10-18,5.23\r\n2006-10-19,5.22\r\n2006-10-20,5.25\r\n2006-10-21,5.25\r\n2006-10-22,5.25\r\n2006-10-23,5.24\r\n2006-10-24,5.24\r\n2006-10-25,5.26\r\n2006-10-26,5.23\r\n2006-10-27,5.23\r\n2006-10-28,5.23\r\n2006-10-29,5.23\r\n2006-10-30,5.27\r\n2006-10-31,5.31\r\n2006-11-01,5.23\r\n2006-11-02,5.22\r\n2006-11-03,5.25\r\n2006-11-04,5.25\r\n2006-11-05,5.25\r\n2006-11-06,5.24\r\n2006-11-07,5.22\r\n2006-11-08,5.22\r\n2006-11-09,5.23\r\n2006-11-10,5.23\r\n2006-11-11,5.23\r\n2006-11-12,5.23\r\n2006-11-13,5.27\r\n2006-11-14,5.25\r\n2006-11-15,5.29\r\n2006-11-16,5.25\r\n2006-11-17,5.20\r\n2006-11-18,5.20\r\n2006-11-19,5.20\r\n2006-11-20,5.25\r\n2006-11-21,5.29\r\n2006-11-22,5.26\r\n2006-11-23,5.26\r\n2006-11-24,5.24\r\n2006-11-25,5.24\r\n2006-11-26,5.24\r\n2006-11-27,5.32\r\n2006-11-28,5.24\r\n2006-11-29,5.26\r\n2006-11-30,5.31\r\n2006-12-01,5.27\r\n2006-12-02,5.27\r\n2006-12-03,5.27\r\n2006-12-04,5.22\r\n2006-12-05,5.21\r\n2006-12-06,5.22\r\n2006-12-07,5.25\r\n2006-12-08,5.25\r\n2006-12-09,5.25\r\n2006-12-10,5.25\r\n2006-12-11,5.25\r\n2006-12-12,5.23\r\n2006-12-13,5.23\r\n2006-12-14,5.29\r\n2006-12-15,5.27\r\n2006-12-16,5.27\r\n2006-12-17,5.27\r\n2006-12-18,5.21\r\n2006-12-19,5.21\r\n2006-12-20,5.26\r\n2006-12-21,5.25\r\n2006-12-22,5.24\r\n2006-12-23,5.24\r\n2006-12-24,5.24\r\n2006-12-25,5.24\r\n2006-12-26,5.29\r\n2006-12-27,5.17\r\n2006-12-28,5.25\r\n2006-12-29,5.17\r\n2006-12-30,5.17\r\n2006-12-31,5.17\r\n2007-01-01,5.17\r\n2007-01-02,5.30\r\n2007-01-03,5.28\r\n2007-01-04,5.24\r\n2007-01-05,5.21\r\n2007-01-06,5.21\r\n2007-01-07,5.21\r\n2007-01-08,5.23\r\n2007-01-09,5.25\r\n2007-01-10,5.26\r\n2007-01-11,5.27\r\n2007-01-12,5.22\r\n2007-01-13,5.22\r\n2007-01-14,5.22\r\n2007-01-15,5.22\r\n2007-01-16,5.28\r\n2007-01-17,5.25\r\n2007-01-18,5.23\r\n2007-01-19,5.25\r\n2007-01-20,5.25\r\n2007-01-21,5.25\r\n2007-01-22,5.24\r\n2007-01-23,5.26\r\n2007-01-24,5.27\r\n2007-01-25,5.31\r\n2007-01-26,5.26\r\n2007-01-27,5.26\r\n2007-01-28,5.26\r\n2007-01-29,5.26\r\n2007-01-30,5.23\r\n2007-01-31,5.33\r\n2007-02-01,5.29\r\n2007-02-02,5.24\r\n2007-02-03,5.24\r\n2007-02-04,5.24\r\n2007-02-05,5.25\r\n2007-02-06,5.24\r\n2007-02-07,5.23\r\n2007-02-08,5.25\r\n2007-02-09,5.25\r\n2007-02-10,5.25\r\n2007-02-11,5.25\r\n2007-02-12,5.28\r\n2007-02-13,5.26\r\n2007-02-14,5.27\r\n2007-02-15,5.29\r\n2007-02-16,5.24\r\n2007-02-17,5.24\r\n2007-02-18,5.24\r\n2007-02-19,5.24\r\n2007-02-20,5.27\r\n2007-02-21,5.23\r\n2007-02-22,5.26\r\n2007-02-23,5.24\r\n2007-02-24,5.24\r\n2007-02-25,5.24\r\n2007-02-26,5.30\r\n2007-02-27,5.27\r\n2007-02-28,5.41\r\n2007-03-01,5.31\r\n2007-03-02,5.23\r\n2007-03-03,5.23\r\n2007-03-04,5.23\r\n2007-03-05,5.27\r\n2007-03-06,5.22\r\n2007-03-07,5.24\r\n2007-03-08,5.24\r\n2007-03-09,5.24\r\n2007-03-10,5.24\r\n2007-03-11,5.24\r\n2007-03-12,5.25\r\n2007-03-13,5.25\r\n2007-03-14,5.27\r\n2007-03-15,5.29\r\n2007-03-16,5.25\r\n2007-03-17,5.25\r\n2007-03-18,5.25\r\n2007-03-19,5.26\r\n2007-03-20,5.26\r\n2007-03-21,5.26\r\n2007-03-22,5.27\r\n2007-03-23,5.24\r\n2007-03-24,5.24\r\n2007-03-25,5.24\r\n2007-03-26,5.28\r\n2007-03-27,5.25\r\n2007-03-28,5.27\r\n2007-03-29,5.29\r\n2007-03-30,5.30\r\n2007-03-31,5.30\r\n2007-04-01,5.30\r\n2007-04-02,5.25\r\n2007-04-03,5.20\r\n2007-04-04,5.21\r\n2007-04-05,5.30\r\n2007-04-06,5.30\r\n2007-04-07,5.30\r\n2007-04-08,5.30\r\n2007-04-09,5.28\r\n2007-04-10,5.26\r\n2007-04-11,5.24\r\n2007-04-12,5.27\r\n2007-04-13,5.25\r\n2007-04-14,5.25\r\n2007-04-15,5.25\r\n2007-04-16,5.29\r\n2007-04-17,5.20\r\n2007-04-18,5.19\r\n2007-04-19,5.23\r\n2007-04-20,5.25\r\n2007-04-21,5.25\r\n2007-04-22,5.25\r\n2007-04-23,5.23\r\n2007-04-24,5.20\r\n2007-04-25,5.19\r\n2007-04-26,5.24\r\n2007-04-27,5.24\r\n2007-04-28,5.24\r\n2007-04-29,5.24\r\n2007-04-30,5.29\r\n2007-05-01,5.26\r\n2007-05-02,5.21\r\n2007-05-03,5.24\r\n2007-05-04,5.24\r\n2007-05-05,5.24\r\n2007-05-06,5.24\r\n2007-05-07,5.24\r\n2007-05-08,5.21\r\n2007-05-09,5.21\r\n2007-05-10,5.25\r\n2007-05-11,5.27\r\n2007-05-12,5.27\r\n2007-05-13,5.27\r\n2007-05-14,5.26\r\n2007-05-15,5.29\r\n2007-05-16,5.25\r\n2007-05-17,5.25\r\n2007-05-18,5.24\r\n2007-05-19,5.24\r\n2007-05-20,5.24\r\n2007-05-21,5.24\r\n2007-05-22,5.23\r\n2007-05-23,5.25\r\n2007-05-24,5.24\r\n2007-05-25,5.29\r\n2007-05-26,5.29\r\n2007-05-27,5.29\r\n2007-05-28,5.29\r\n2007-05-29,5.29\r\n2007-05-30,5.25\r\n2007-05-31,5.28\r\n2007-06-01,5.23\r\n2007-06-02,5.23\r\n2007-06-03,5.23\r\n2007-06-04,5.24\r\n2007-06-05,5.19\r\n2007-06-06,5.25\r\n2007-06-07,5.25\r\n2007-06-08,5.26\r\n2007-06-09,5.26\r\n2007-06-10,5.26\r\n2007-06-11,5.27\r\n2007-06-12,5.26\r\n2007-06-13,5.26\r\n2007-06-14,5.28\r\n2007-06-15,5.26\r\n2007-06-16,5.26\r\n2007-06-17,5.26\r\n2007-06-18,5.23\r\n2007-06-19,5.21\r\n2007-06-20,5.27\r\n2007-06-21,5.26\r\n2007-06-22,5.24\r\n2007-06-23,5.24\r\n2007-06-24,5.24\r\n2007-06-25,5.29\r\n2007-06-26,5.25\r\n2007-06-27,5.26\r\n2007-06-28,5.26\r\n2007-06-29,5.31\r\n2007-06-30,5.31\r\n2007-07-01,5.31\r\n2007-07-02,5.31\r\n2007-07-03,5.24\r\n2007-07-04,5.24\r\n2007-07-05,5.25\r\n2007-07-06,5.22\r\n2007-07-07,5.22\r\n2007-07-08,5.22\r\n2007-07-09,5.22\r\n2007-07-10,5.24\r\n2007-07-11,5.24\r\n2007-07-12,5.26\r\n2007-07-13,5.25\r\n2007-07-14,5.25\r\n2007-07-15,5.25\r\n2007-07-16,5.32\r\n2007-07-17,5.28\r\n2007-07-18,5.26\r\n2007-07-19,5.25\r\n2007-07-20,5.25\r\n2007-07-21,5.25\r\n2007-07-22,5.25\r\n2007-07-23,5.26\r\n2007-07-24,5.25\r\n2007-07-25,5.32\r\n2007-07-26,5.28\r\n2007-07-27,5.25\r\n2007-07-28,5.25\r\n2007-07-29,5.25\r\n2007-07-30,5.29\r\n2007-07-31,5.28\r\n2007-08-01,5.30\r\n2007-08-02,5.24\r\n2007-08-03,5.24\r\n2007-08-04,5.24\r\n2007-08-05,5.24\r\n2007-08-06,5.26\r\n2007-08-07,5.26\r\n2007-08-08,5.27\r\n2007-08-09,5.41\r\n2007-08-10,4.68\r\n2007-08-11,4.68\r\n2007-08-12,4.68\r\n2007-08-13,4.81\r\n2007-08-14,4.54\r\n2007-08-15,4.71\r\n2007-08-16,4.97\r\n2007-08-17,4.91\r\n2007-08-18,4.91\r\n2007-08-19,4.91\r\n2007-08-20,5.03\r\n2007-08-21,4.89\r\n2007-08-22,4.77\r\n2007-08-23,4.88\r\n2007-08-24,5.11\r\n2007-08-25,5.11\r\n2007-08-26,5.11\r\n2007-08-27,5.27\r\n2007-08-28,5.30\r\n2007-08-29,5.00\r\n2007-08-30,5.00\r\n2007-08-31,4.96\r\n2007-09-01,4.96\r\n2007-09-02,4.96\r\n2007-09-03,4.96\r\n2007-09-04,5.22\r\n2007-09-05,5.18\r\n2007-09-06,4.98\r\n2007-09-07,4.86\r\n2007-09-08,4.86\r\n2007-09-09,4.86\r\n2007-09-10,5.07\r\n2007-09-11,5.06\r\n2007-09-12,5.18\r\n2007-09-13,5.09\r\n2007-09-14,5.25\r\n2007-09-15,5.25\r\n2007-09-16,5.25\r\n2007-09-17,5.33\r\n2007-09-18,4.92\r\n2007-09-19,4.74\r\n2007-09-20,4.77\r\n2007-09-21,4.76\r\n2007-09-22,4.76\r\n2007-09-23,4.76\r\n2007-09-24,4.74\r\n2007-09-25,4.82\r\n2007-09-26,4.88\r\n2007-09-27,4.93\r\n2007-09-28,4.58\r\n2007-09-29,4.58\r\n2007-09-30,4.58\r\n2007-10-01,4.92\r\n2007-10-02,4.78\r\n2007-10-03,4.68\r\n2007-10-04,4.74\r\n2007-10-05,4.77\r\n2007-10-06,4.77\r\n2007-10-07,4.77\r\n2007-10-08,4.77\r\n2007-10-09,4.91\r\n2007-10-10,4.52\r\n2007-10-11,4.75\r\n2007-10-12,4.75\r\n2007-10-13,4.75\r\n2007-10-14,4.75\r\n2007-10-15,4.81\r\n2007-10-16,4.68\r\n2007-10-17,4.70\r\n2007-10-18,4.69\r\n2007-10-19,4.77\r\n2007-10-20,4.77\r\n2007-10-21,4.77\r\n2007-10-22,4.71\r\n2007-10-23,4.67\r\n2007-10-24,4.74\r\n2007-10-25,4.86\r\n2007-10-26,4.80\r\n2007-10-27,4.80\r\n2007-10-28,4.80\r\n2007-10-29,4.84\r\n2007-10-30,4.78\r\n2007-10-31,4.60\r\n2007-11-01,4.59\r\n2007-11-02,4.28\r\n2007-11-03,4.28\r\n2007-11-04,4.28\r\n2007-11-05,4.29\r\n2007-11-06,4.22\r\n2007-11-07,4.39\r\n2007-11-08,4.58\r\n2007-11-09,4.49\r\n2007-11-10,4.49\r\n2007-11-11,4.49\r\n2007-11-12,4.49\r\n2007-11-13,4.61\r\n2007-11-14,4.60\r\n2007-11-15,4.54\r\n2007-11-16,4.51\r\n2007-11-17,4.51\r\n2007-11-18,4.51\r\n2007-11-19,4.51\r\n2007-11-20,4.51\r\n2007-11-21,4.50\r\n2007-11-22,4.50\r\n2007-11-23,4.56\r\n2007-11-24,4.56\r\n2007-11-25,4.56\r\n2007-11-26,4.62\r\n2007-11-27,4.39\r\n2007-11-28,4.53\r\n2007-11-29,4.55\r\n2007-11-30,4.66\r\n2007-12-01,4.66\r\n2007-12-02,4.66\r\n2007-12-03,4.52\r\n2007-12-04,4.50\r\n2007-12-05,4.31\r\n2007-12-06,4.49\r\n2007-12-07,4.41\r\n2007-12-08,4.41\r\n2007-12-09,4.41\r\n2007-12-10,4.46\r\n2007-12-11,4.29\r\n2007-12-12,4.28\r\n2007-12-13,4.30\r\n2007-12-14,4.24\r\n2007-12-15,4.24\r\n2007-12-16,4.24\r\n2007-12-17,4.31\r\n2007-12-18,4.16\r\n2007-12-19,3.98\r\n2007-12-20,4.37\r\n2007-12-21,4.28\r\n2007-12-22,4.28\r\n2007-12-23,4.28\r\n2007-12-24,4.00\r\n2007-12-25,4.00\r\n2007-12-26,4.26\r\n2007-12-27,4.15\r\n2007-12-28,4.01\r\n2007-12-29,4.01\r\n2007-12-30,4.01\r\n2007-12-31,3.06\r\n2008-01-01,3.06\r\n2008-01-02,4.11\r\n2008-01-03,4.25\r\n2008-01-04,4.18\r\n2008-01-05,4.18\r\n2008-01-06,4.18\r\n2008-01-07,4.27\r\n2008-01-08,4.27\r\n2008-01-09,4.26\r\n2008-01-10,4.26\r\n2008-01-11,4.23\r\n2008-01-12,4.23\r\n2008-01-13,4.23\r\n2008-01-14,4.24\r\n2008-01-15,4.24\r\n2008-01-16,4.22\r\n2008-01-17,4.23\r\n2008-01-18,4.17\r\n2008-01-19,4.17\r\n2008-01-20,4.17\r\n2008-01-21,4.17\r\n2008-01-22,3.68\r\n2008-01-23,3.43\r\n2008-01-24,3.47\r\n2008-01-25,3.60\r\n2008-01-26,3.60\r\n2008-01-27,3.60\r\n2008-01-28,3.50\r\n2008-01-29,3.47\r\n2008-01-30,3.26\r\n2008-01-31,3.22\r\n2008-02-01,3.12\r\n2008-02-02,3.12\r\n2008-02-03,3.12\r\n2008-02-04,2.82\r\n2008-02-05,2.71\r\n2008-02-06,2.94\r\n2008-02-07,3.03\r\n2008-02-08,3.05\r\n2008-02-09,3.05\r\n2008-02-10,3.05\r\n2008-02-11,2.88\r\n2008-02-12,2.91\r\n2008-02-13,3.02\r\n2008-02-14,3.03\r\n2008-02-15,2.97\r\n2008-02-16,2.97\r\n2008-02-17,2.97\r\n2008-02-18,2.97\r\n2008-02-19,2.94\r\n2008-02-20,3.00\r\n2008-02-21,3.01\r\n2008-02-22,2.97\r\n2008-02-23,2.97\r\n2008-02-24,2.97\r\n2008-02-25,3.00\r\n2008-02-26,2.85\r\n2008-02-27,2.93\r\n2008-02-28,3.06\r\n2008-02-29,3.01\r\n2008-03-01,3.01\r\n2008-03-02,3.01\r\n2008-03-03,3.10\r\n2008-03-04,2.90\r\n2008-03-05,2.93\r\n2008-03-06,2.99\r\n2008-03-07,2.96\r\n2008-03-08,2.96\r\n2008-03-09,2.96\r\n2008-03-10,2.99\r\n2008-03-11,2.95\r\n2008-03-12,2.97\r\n2008-03-13,2.98\r\n2008-03-14,2.99\r\n2008-03-15,2.99\r\n2008-03-16,2.99\r\n2008-03-17,2.69\r\n2008-03-18,2.16\r\n2008-03-19,2.08\r\n2008-03-20,2.22\r\n2008-03-21,2.08\r\n2008-03-22,2.08\r\n2008-03-23,2.08\r\n2008-03-24,2.08\r\n2008-03-25,2.42\r\n2008-03-26,2.30\r\n2008-03-27,2.27\r\n2008-03-28,2.09\r\n2008-03-29,2.09\r\n2008-03-30,2.09\r\n2008-03-31,2.51\r\n2008-04-01,2.38\r\n2008-04-02,2.18\r\n2008-04-03,2.19\r\n2008-04-04,2.26\r\n2008-04-05,2.26\r\n2008-04-06,2.26\r\n2008-04-07,2.24\r\n2008-04-08,2.23\r\n2008-04-09,2.20\r\n2008-04-10,2.30\r\n2008-04-11,2.37\r\n2008-04-12,2.37\r\n2008-04-13,2.37\r\n2008-04-14,2.32\r\n2008-04-15,2.32\r\n2008-04-16,2.35\r\n2008-04-17,2.37\r\n2008-04-18,2.32\r\n2008-04-19,2.32\r\n2008-04-20,2.32\r\n2008-04-21,2.28\r\n2008-04-22,1.99\r\n2008-04-23,2.18\r\n2008-04-24,2.26\r\n2008-04-25,2.28\r\n2008-04-26,2.28\r\n2008-04-27,2.28\r\n2008-04-28,2.29\r\n2008-04-29,2.21\r\n2008-04-30,2.37\r\n2008-05-01,2.16\r\n2008-05-02,1.88\r\n2008-05-03,1.88\r\n2008-05-04,1.88\r\n2008-05-05,1.85\r\n2008-05-06,1.91\r\n2008-05-07,2.01\r\n2008-05-08,1.99\r\n2008-05-09,1.97\r\n2008-05-10,1.97\r\n2008-05-11,1.97\r\n2008-05-12,1.88\r\n2008-05-13,1.93\r\n2008-05-14,2.03\r\n2008-05-15,2.03\r\n2008-05-16,1.91\r\n2008-05-17,1.91\r\n2008-05-18,1.91\r\n2008-05-19,1.95\r\n2008-05-20,1.99\r\n2008-05-21,2.03\r\n2008-05-22,2.05\r\n2008-05-23,1.99\r\n2008-05-24,1.99\r\n2008-05-25,1.99\r\n2008-05-26,1.99\r\n2008-05-27,2.23\r\n2008-05-28,2.08\r\n2008-05-29,2.01\r\n2008-05-30,1.98\r\n2008-05-31,1.98\r\n2008-06-01,1.98\r\n2008-06-02,2.06\r\n2008-06-03,1.95\r\n2008-06-04,1.98\r\n2008-06-05,1.98\r\n2008-06-06,2.01\r\n2008-06-07,2.01\r\n2008-06-08,2.01\r\n2008-06-09,2.02\r\n2008-06-10,1.96\r\n2008-06-11,1.95\r\n2008-06-12,2.01\r\n2008-06-13,2.02\r\n2008-06-14,2.02\r\n2008-06-15,2.02\r\n2008-06-16,2.06\r\n2008-06-17,1.87\r\n2008-06-18,1.84\r\n2008-06-19,1.94\r\n2008-06-20,1.99\r\n2008-06-21,1.99\r\n2008-06-22,1.99\r\n2008-06-23,1.98\r\n2008-06-24,1.93\r\n2008-06-25,1.97\r\n2008-06-26,2.05\r\n2008-06-27,1.99\r\n2008-06-28,1.99\r\n2008-06-29,1.99\r\n2008-06-30,2.47\r\n2008-07-01,2.11\r\n2008-07-02,1.95\r\n2008-07-03,1.92\r\n2008-07-04,1.92\r\n2008-07-05,1.92\r\n2008-07-06,1.92\r\n2008-07-07,1.99\r\n2008-07-08,1.97\r\n2008-07-09,1.99\r\n2008-07-10,2.01\r\n2008-07-11,1.97\r\n2008-07-12,1.97\r\n2008-07-13,1.97\r\n2008-07-14,2.06\r\n2008-07-15,2.16\r\n2008-07-16,1.95\r\n2008-07-17,2.03\r\n2008-07-18,1.96\r\n2008-07-19,1.96\r\n2008-07-20,1.96\r\n2008-07-21,1.98\r\n2008-07-22,1.97\r\n2008-07-23,2.04\r\n2008-07-24,2.06\r\n2008-07-25,2.13\r\n2008-07-26,2.13\r\n2008-07-27,2.13\r\n2008-07-28,2.00\r\n2008-07-29,2.05\r\n2008-07-30,2.03\r\n2008-07-31,2.09\r\n2008-08-01,2.04\r\n2008-08-02,2.04\r\n2008-08-03,2.04\r\n2008-08-04,1.97\r\n2008-08-05,1.97\r\n2008-08-06,2.01\r\n2008-08-07,1.96\r\n2008-08-08,2.01\r\n2008-08-09,2.01\r\n2008-08-10,2.01\r\n2008-08-11,1.99\r\n2008-08-12,1.95\r\n2008-08-13,1.98\r\n2008-08-14,2.09\r\n2008-08-15,2.08\r\n2008-08-16,2.08\r\n2008-08-17,2.08\r\n2008-08-18,1.91\r\n2008-08-19,1.94\r\n2008-08-20,1.98\r\n2008-08-21,2.01\r\n2008-08-22,2.02\r\n2008-08-23,2.02\r\n2008-08-24,2.02\r\n2008-08-25,2.01\r\n2008-08-26,1.88\r\n2008-08-27,1.98\r\n2008-08-28,1.99\r\n2008-08-29,1.94\r\n2008-08-30,1.94\r\n2008-08-31,1.94\r\n2008-09-01,1.94\r\n2008-09-02,1.96\r\n2008-09-03,2.01\r\n2008-09-04,1.99\r\n2008-09-05,1.97\r\n2008-09-06,1.97\r\n2008-09-07,1.97\r\n2008-09-08,1.92\r\n2008-09-09,1.96\r\n2008-09-10,2.12\r\n2008-09-11,2.00\r\n2008-09-12,2.10\r\n2008-09-13,2.10\r\n2008-09-14,2.10\r\n2008-09-15,2.64\r\n2008-09-16,1.98\r\n2008-09-17,2.80\r\n2008-09-18,2.16\r\n2008-09-19,1.48\r\n2008-09-20,1.48\r\n2008-09-21,1.48\r\n2008-09-22,1.51\r\n2008-09-23,1.46\r\n2008-09-24,1.19\r\n2008-09-25,1.23\r\n2008-09-26,1.08\r\n2008-09-27,1.08\r\n2008-09-28,1.08\r\n2008-09-29,1.56\r\n2008-09-30,2.03\r\n2008-10-01,1.15\r\n2008-10-02,0.67\r\n2008-10-03,1.10\r\n2008-10-04,1.10\r\n2008-10-05,1.10\r\n2008-10-06,1.96\r\n2008-10-07,2.97\r\n2008-10-08,2.24\r\n2008-10-09,1.40\r\n2008-10-10,0.79\r\n2008-10-11,0.79\r\n2008-10-12,0.79\r\n2008-10-13,0.79\r\n2008-10-14,1.10\r\n2008-10-15,1.04\r\n2008-10-16,0.83\r\n2008-10-17,0.60\r\n2008-10-18,0.60\r\n2008-10-19,0.60\r\n2008-10-20,0.70\r\n2008-10-21,0.67\r\n2008-10-22,0.81\r\n2008-10-23,0.93\r\n2008-10-24,0.95\r\n2008-10-25,0.95\r\n2008-10-26,0.95\r\n2008-10-27,0.92\r\n2008-10-28,0.67\r\n2008-10-29,0.36\r\n2008-10-30,0.30\r\n2008-10-31,0.22\r\n2008-11-01,0.22\r\n2008-11-02,0.22\r\n2008-11-03,0.23\r\n2008-11-04,0.23\r\n2008-11-05,0.23\r\n2008-11-06,0.23\r\n2008-11-07,0.27\r\n2008-11-08,0.27\r\n2008-11-09,0.27\r\n2008-11-10,0.29\r\n2008-11-11,0.29\r\n2008-11-12,0.35\r\n2008-11-13,0.35\r\n2008-11-14,0.34\r\n2008-11-15,0.34\r\n2008-11-16,0.34\r\n2008-11-17,0.37\r\n2008-11-18,0.38\r\n2008-11-19,0.38\r\n2008-11-20,0.49\r\n2008-11-21,0.57\r\n2008-11-22,0.57\r\n2008-11-23,0.57\r\n2008-11-24,0.62\r\n2008-11-25,0.59\r\n2008-11-26,0.53\r\n2008-11-27,0.53\r\n2008-11-28,0.52\r\n2008-11-29,0.52\r\n2008-11-30,0.52\r\n2008-12-01,0.52\r\n2008-12-02,0.47\r\n2008-12-03,0.36\r\n2008-12-04,0.20\r\n2008-12-05,0.12\r\n2008-12-06,0.12\r\n2008-12-07,0.12\r\n2008-12-08,0.12\r\n2008-12-09,0.13\r\n2008-12-10,0.11\r\n2008-12-11,0.14\r\n2008-12-12,0.15\r\n2008-12-13,0.15\r\n2008-12-14,0.15\r\n2008-12-15,0.18\r\n2008-12-16,0.17\r\n2008-12-17,0.12\r\n2008-12-18,0.11\r\n2008-12-19,0.11\r\n2008-12-20,0.11\r\n2008-12-21,0.11\r\n2008-12-22,0.11\r\n2008-12-23,0.11\r\n2008-12-24,0.11\r\n2008-12-25,0.11\r\n2008-12-26,0.09\r\n2008-12-27,0.09\r\n2008-12-28,0.09\r\n2008-12-29,0.10\r\n2008-12-30,0.09\r\n2008-12-31,0.14\r\n2009-01-01,0.14\r\n2009-01-02,0.08\r\n2009-01-03,0.08\r\n2009-01-04,0.08\r\n2009-01-05,0.11\r\n2009-01-06,0.09\r\n2009-01-07,0.11\r\n2009-01-08,0.10\r\n2009-01-09,0.09\r\n2009-01-10,0.09\r\n2009-01-11,0.09\r\n2009-01-12,0.10\r\n2009-01-13,0.10\r\n2009-01-14,0.15\r\n2009-01-15,0.18\r\n2009-01-16,0.19\r\n2009-01-17,0.19\r\n2009-01-18,0.19\r\n2009-01-19,0.19\r\n2009-01-20,0.20\r\n2009-01-21,0.23\r\n2009-01-22,0.21\r\n2009-01-23,0.18\r\n2009-01-24,0.18\r\n2009-01-25,0.18\r\n2009-01-26,0.19\r\n2009-01-27,0.18\r\n2009-01-28,0.19\r\n2009-01-29,0.23\r\n2009-01-30,0.23\r\n2009-01-31,0.23\r\n2009-02-01,0.23\r\n2009-02-02,0.24\r\n2009-02-03,0.24\r\n2009-02-04,0.24\r\n2009-02-05,0.23\r\n2009-02-06,0.23\r\n2009-02-07,0.23\r\n2009-02-08,0.23\r\n2009-02-09,0.22\r\n2009-02-10,0.24\r\n2009-02-11,0.22\r\n2009-02-12,0.23\r\n2009-02-13,0.22\r\n2009-02-14,0.22\r\n2009-02-15,0.22\r\n2009-02-16,0.22\r\n2009-02-17,0.25\r\n2009-02-18,0.23\r\n2009-02-19,0.21\r\n2009-02-20,0.20\r\n2009-02-21,0.20\r\n2009-02-22,0.20\r\n2009-02-23,0.19\r\n2009-02-24,0.21\r\n2009-02-25,0.21\r\n2009-02-26,0.22\r\n2009-02-27,0.22\r\n2009-02-28,0.22\r\n2009-03-01,0.22\r\n2009-03-02,0.22\r\n2009-03-03,0.20\r\n2009-03-04,0.21\r\n2009-03-05,0.20\r\n2009-03-06,0.20\r\n2009-03-07,0.20\r\n2009-03-08,0.20\r\n2009-03-09,0.20\r\n2009-03-10,0.20\r\n2009-03-11,0.19\r\n2009-03-12,0.18\r\n2009-03-13,0.15\r\n2009-03-14,0.15\r\n2009-03-15,0.15\r\n2009-03-16,0.20\r\n2009-03-17,0.20\r\n2009-03-18,0.18\r\n2009-03-19,0.17\r\n2009-03-20,0.18\r\n2009-03-21,0.18\r\n2009-03-22,0.18\r\n2009-03-23,0.17\r\n2009-03-24,0.17\r\n2009-03-25,0.17\r\n2009-03-26,0.16\r\n2009-03-27,0.15\r\n2009-03-28,0.15\r\n2009-03-29,0.15\r\n2009-03-30,0.16\r\n2009-03-31,0.16\r\n2009-04-01,0.16\r\n2009-04-02,0.16\r\n2009-04-03,0.13\r\n2009-04-04,0.13\r\n2009-04-05,0.13\r\n2009-04-06,0.14\r\n2009-04-07,0.14\r\n2009-04-08,0.14\r\n2009-04-09,0.14\r\n2009-04-10,0.15\r\n2009-04-11,0.15\r\n2009-04-12,0.15\r\n2009-04-13,0.13\r\n2009-04-14,0.16\r\n2009-04-15,0.16\r\n2009-04-16,0.15\r\n2009-04-17,0.13\r\n2009-04-18,0.13\r\n2009-04-19,0.13\r\n2009-04-20,0.14\r\n2009-04-21,0.15\r\n2009-04-22,0.15\r\n2009-04-23,0.17\r\n2009-04-24,0.16\r\n2009-04-25,0.16\r\n2009-04-26,0.16\r\n2009-04-27,0.17\r\n2009-04-28,0.16\r\n2009-04-29,0.18\r\n2009-04-30,0.20\r\n2009-05-01,0.22\r\n2009-05-02,0.22\r\n2009-05-03,0.22\r\n2009-05-04,0.22\r\n2009-05-05,0.20\r\n2009-05-06,0.18\r\n2009-05-07,0.18\r\n2009-05-08,0.17\r\n2009-05-09,0.17\r\n2009-05-10,0.17\r\n2009-05-11,0.17\r\n2009-05-12,0.16\r\n2009-05-13,0.16\r\n2009-05-14,0.16\r\n2009-05-15,0.17\r\n2009-05-16,0.17\r\n2009-05-17,0.17\r\n2009-05-18,0.16\r\n2009-05-19,0.15\r\n2009-05-20,0.14\r\n2009-05-21,0.17\r\n2009-05-22,0.17\r\n2009-05-23,0.17\r\n2009-05-24,0.17\r\n2009-05-25,0.17\r\n2009-05-26,0.18\r\n2009-05-27,0.17\r\n2009-05-28,0.17\r\n2009-05-29,0.19\r\n2009-05-30,0.19\r\n2009-05-31,0.19\r\n2009-06-01,0.21\r\n2009-06-02,0.20\r\n2009-06-03,0.21\r\n2009-06-04,0.20\r\n2009-06-05,0.21\r\n2009-06-06,0.21\r\n2009-06-07,0.21\r\n2009-06-08,0.21\r\n2009-06-09,0.18\r\n2009-06-10,0.18\r\n2009-06-11,0.17\r\n2009-06-12,0.17\r\n2009-06-13,0.17\r\n2009-06-14,0.17\r\n2009-06-15,0.22\r\n2009-06-16,0.22\r\n2009-06-17,0.24\r\n2009-06-18,0.25\r\n2009-06-19,0.25\r\n2009-06-20,0.25\r\n2009-06-21,0.25\r\n2009-06-22,0.24\r\n2009-06-23,0.24\r\n2009-06-24,0.21\r\n2009-06-25,0.19\r\n2009-06-26,0.18\r\n2009-06-27,0.18\r\n2009-06-28,0.18\r\n2009-06-29,0.17\r\n2009-06-30,0.22\r\n2009-07-01,0.20\r\n2009-07-02,0.17\r\n2009-07-03,0.16\r\n2009-07-04,0.16\r\n2009-07-05,0.16\r\n2009-07-06,0.18\r\n2009-07-07,0.18\r\n2009-07-08,0.16\r\n2009-07-09,0.15\r\n2009-07-10,0.15\r\n2009-07-11,0.15\r\n2009-07-12,0.15\r\n2009-07-13,0.13\r\n2009-07-14,0.13\r\n2009-07-15,0.14\r\n2009-07-16,0.15\r\n2009-07-17,0.15\r\n2009-07-18,0.15\r\n2009-07-19,0.15\r\n2009-07-20,0.15\r\n2009-07-21,0.14\r\n2009-07-22,0.14\r\n2009-07-23,0.15\r\n2009-07-24,0.15\r\n2009-07-25,0.15\r\n2009-07-26,0.15\r\n2009-07-27,0.16\r\n2009-07-28,0.15\r\n2009-07-29,0.17\r\n2009-07-30,0.17\r\n2009-07-31,0.18\r\n2009-08-01,0.18\r\n2009-08-02,0.18\r\n2009-08-03,0.18\r\n2009-08-04,0.17\r\n2009-08-05,0.17\r\n2009-08-06,0.17\r\n2009-08-07,0.17\r\n2009-08-08,0.17\r\n2009-08-09,0.17\r\n2009-08-10,0.17\r\n2009-08-11,0.16\r\n2009-08-12,0.15\r\n2009-08-13,0.15\r\n2009-08-14,0.15\r\n2009-08-15,0.15\r\n2009-08-16,0.15\r\n2009-08-17,0.17\r\n2009-08-18,0.17\r\n2009-08-19,0.17\r\n2009-08-20,0.17\r\n2009-08-21,0.16\r\n2009-08-22,0.16\r\n2009-08-23,0.16\r\n2009-08-24,0.16\r\n2009-08-25,0.15\r\n2009-08-26,0.15\r\n2009-08-27,0.14\r\n2009-08-28,0.14\r\n2009-08-29,0.14\r\n2009-08-30,0.14\r\n2009-08-31,0.15\r\n2009-09-01,0.15\r\n2009-09-02,0.16\r\n2009-09-03,0.15\r\n2009-09-04,0.15\r\n2009-09-05,0.15\r\n2009-09-06,0.15\r\n2009-09-07,0.15\r\n2009-09-08,0.15\r\n2009-09-09,0.15\r\n2009-09-10,0.16\r\n2009-09-11,0.15\r\n2009-09-12,0.15\r\n2009-09-13,0.15\r\n2009-09-14,0.16\r\n2009-09-15,0.17\r\n2009-09-16,0.17\r\n2009-09-17,0.16\r\n2009-09-18,0.16\r\n2009-09-19,0.16\r\n2009-09-20,0.16\r\n2009-09-21,0.15\r\n2009-09-22,0.15\r\n2009-09-23,0.15\r\n2009-09-24,0.14\r\n2009-09-25,0.13\r\n2009-09-26,0.13\r\n2009-09-27,0.13\r\n2009-09-28,0.13\r\n2009-09-29,0.11\r\n2009-09-30,0.07\r\n2009-10-01,0.11\r\n2009-10-02,0.13\r\n2009-10-03,0.13\r\n2009-10-04,0.13\r\n2009-10-05,0.13\r\n2009-10-06,0.12\r\n2009-10-07,0.13\r\n2009-10-08,0.12\r\n2009-10-09,0.12\r\n2009-10-10,0.12\r\n2009-10-11,0.12\r\n2009-10-12,0.12\r\n2009-10-13,0.12\r\n2009-10-14,0.12\r\n2009-10-15,0.13\r\n2009-10-16,0.12\r\n2009-10-17,0.12\r\n2009-10-18,0.12\r\n2009-10-19,0.12\r\n2009-10-20,0.12\r\n2009-10-21,0.11\r\n2009-10-22,0.11\r\n2009-10-23,0.11\r\n2009-10-24,0.11\r\n2009-10-25,0.11\r\n2009-10-26,0.11\r\n2009-10-27,0.11\r\n2009-10-28,0.11\r\n2009-10-29,0.11\r\n2009-10-30,0.11\r\n2009-10-31,0.11\r\n2009-11-01,0.11\r\n2009-11-02,0.12\r\n2009-11-03,0.12\r\n2009-11-04,0.13\r\n2009-11-05,0.13\r\n2009-11-06,0.12\r\n2009-11-07,0.12\r\n2009-11-08,0.12\r\n2009-11-09,0.12\r\n2009-11-10,0.13\r\n2009-11-11,0.13\r\n2009-11-12,0.12\r\n2009-11-13,0.12\r\n2009-11-14,0.12\r\n2009-11-15,0.12\r\n2009-11-16,0.12\r\n2009-11-17,0.12\r\n2009-11-18,0.11\r\n2009-11-19,0.11\r\n2009-11-20,0.11\r\n2009-11-21,0.11\r\n2009-11-22,0.11\r\n2009-11-23,0.12\r\n2009-11-24,0.12\r\n2009-11-25,0.11\r\n2009-11-26,0.11\r\n2009-11-27,0.12\r\n2009-11-28,0.12\r\n2009-11-29,0.12\r\n2009-11-30,0.13\r\n2009-12-01,0.13\r\n2009-12-02,0.13\r\n2009-12-03,0.13\r\n2009-12-04,0.12\r\n2009-12-05,0.12\r\n2009-12-06,0.12\r\n2009-12-07,0.12\r\n2009-12-08,0.12\r\n2009-12-09,0.12\r\n2009-12-10,0.12\r\n2009-12-11,0.12\r\n2009-12-12,0.12\r\n2009-12-13,0.12\r\n2009-12-14,0.12\r\n2009-12-15,0.13\r\n2009-12-16,0.14\r\n2009-12-17,0.13\r\n2009-12-18,0.12\r\n2009-12-19,0.12\r\n2009-12-20,0.12\r\n2009-12-21,0.12\r\n2009-12-22,0.12\r\n2009-12-23,0.11\r\n2009-12-24,0.11\r\n2009-12-25,0.11\r\n2009-12-26,0.11\r\n2009-12-27,0.11\r\n2009-12-28,0.12\r\n2009-12-29,0.12\r\n2009-12-30,0.11\r\n2009-12-31,0.05\r\n2010-01-01,0.05\r\n2010-01-02,0.05\r\n2010-01-03,0.05\r\n2010-01-04,0.12\r\n2010-01-05,0.12\r\n2010-01-06,0.12\r\n2010-01-07,0.10\r\n2010-01-08,0.11\r\n2010-01-09,0.11\r\n2010-01-10,0.11\r\n2010-01-11,0.11\r\n2010-01-12,0.11\r\n2010-01-13,0.11\r\n2010-01-14,0.11\r\n2010-01-15,0.12\r\n2010-01-16,0.12\r\n2010-01-17,0.12\r\n2010-01-18,0.12\r\n2010-01-19,0.13\r\n2010-01-20,0.13\r\n2010-01-21,0.12\r\n2010-01-22,0.11\r\n2010-01-23,0.11\r\n2010-01-24,0.11\r\n2010-01-25,0.12\r\n2010-01-26,0.12\r\n2010-01-27,0.12\r\n2010-01-28,0.12\r\n2010-01-29,0.12\r\n2010-01-30,0.12\r\n2010-01-31,0.12\r\n2010-02-01,0.14\r\n2010-02-02,0.14\r\n2010-02-03,0.13\r\n2010-02-04,0.14\r\n2010-02-05,0.13\r\n2010-02-06,0.13\r\n2010-02-07,0.13\r\n2010-02-08,0.13\r\n2010-02-09,0.13\r\n2010-02-10,0.12\r\n2010-02-11,0.12\r\n2010-02-12,0.12\r\n2010-02-13,0.12\r\n2010-02-14,0.12\r\n2010-02-15,0.12\r\n2010-02-16,0.13\r\n2010-02-17,0.12\r\n2010-02-18,0.12\r\n2010-02-19,0.13\r\n2010-02-20,0.13\r\n2010-02-21,0.13\r\n2010-02-22,0.12\r\n2010-02-23,0.12\r\n2010-02-24,0.11\r\n2010-02-25,0.12\r\n2010-02-26,0.13\r\n2010-02-27,0.13\r\n2010-02-28,0.13\r\n2010-03-01,0.14\r\n2010-03-02,0.14\r\n2010-03-03,0.15\r\n2010-03-04,0.16\r\n2010-03-05,0.17\r\n2010-03-06,0.17\r\n2010-03-07,0.17\r\n2010-03-08,0.15\r\n2010-03-09,0.14\r\n2010-03-10,0.14\r\n2010-03-11,0.15\r\n2010-03-12,0.17\r\n2010-03-13,0.17\r\n2010-03-14,0.17\r\n2010-03-15,0.20\r\n2010-03-16,0.20\r\n2010-03-17,0.18\r\n2010-03-18,0.18\r\n2010-03-19,0.18\r\n2010-03-20,0.18\r\n2010-03-21,0.18\r\n2010-03-22,0.18\r\n2010-03-23,0.17\r\n2010-03-24,0.17\r\n2010-03-25,0.17\r\n2010-03-26,0.17\r\n2010-03-27,0.17\r\n2010-03-28,0.17\r\n2010-03-29,0.16\r\n2010-03-30,0.16\r\n2010-03-31,0.09\r\n2010-04-01,0.17\r\n2010-04-02,0.20\r\n2010-04-03,0.20\r\n2010-04-04,0.20\r\n2010-04-05,0.20\r\n2010-04-06,0.20\r\n2010-04-07,0.19\r\n2010-04-08,0.19\r\n2010-04-09,0.19\r\n2010-04-10,0.19\r\n2010-04-11,0.19\r\n2010-04-12,0.19\r\n2010-04-13,0.20\r\n2010-04-14,0.20\r\n2010-04-15,0.22\r\n2010-04-16,0.21\r\n2010-04-17,0.21\r\n2010-04-18,0.21\r\n2010-04-19,0.20\r\n2010-04-20,0.20\r\n2010-04-21,0.20\r\n2010-04-22,0.20\r\n2010-04-23,0.20\r\n2010-04-24,0.20\r\n2010-04-25,0.20\r\n2010-04-26,0.20\r\n2010-04-27,0.20\r\n2010-04-28,0.20\r\n2010-04-29,0.19\r\n2010-04-30,0.20\r\n2010-05-01,0.20\r\n2010-05-02,0.20\r\n2010-05-03,0.20\r\n2010-05-04,0.21\r\n2010-05-05,0.21\r\n2010-05-06,0.20\r\n2010-05-07,0.20\r\n2010-05-08,0.20\r\n2010-05-09,0.20\r\n2010-05-10,0.20\r\n2010-05-11,0.20\r\n2010-05-12,0.20\r\n2010-05-13,0.20\r\n2010-05-14,0.20\r\n2010-05-15,0.20\r\n2010-05-16,0.20\r\n2010-05-17,0.21\r\n2010-05-18,0.21\r\n2010-05-19,0.20\r\n2010-05-20,0.20\r\n2010-05-21,0.20\r\n2010-05-22,0.20\r\n2010-05-23,0.20\r\n2010-05-24,0.21\r\n2010-05-25,0.21\r\n2010-05-26,0.20\r\n2010-05-27,0.20\r\n2010-05-28,0.19\r\n2010-05-29,0.19\r\n2010-05-30,0.19\r\n2010-05-31,0.19\r\n2010-06-01,0.20\r\n2010-06-02,0.20\r\n2010-06-03,0.19\r\n2010-06-04,0.19\r\n2010-06-05,0.19\r\n2010-06-06,0.19\r\n2010-06-07,0.19\r\n2010-06-08,0.19\r\n2010-06-09,0.18\r\n2010-06-10,0.18\r\n2010-06-11,0.18\r\n2010-06-12,0.18\r\n2010-06-13,0.18\r\n2010-06-14,0.18\r\n2010-06-15,0.19\r\n2010-06-16,0.19\r\n2010-06-17,0.19\r\n2010-06-18,0.18\r\n2010-06-19,0.18\r\n2010-06-20,0.18\r\n2010-06-21,0.17\r\n2010-06-22,0.18\r\n2010-06-23,0.17\r\n2010-06-24,0.16\r\n2010-06-25,0.16\r\n2010-06-26,0.16\r\n2010-06-27,0.16\r\n2010-06-28,0.17\r\n2010-06-29,0.15\r\n2010-06-30,0.09\r\n2010-07-01,0.17\r\n2010-07-02,0.18\r\n2010-07-03,0.18\r\n2010-07-04,0.18\r\n2010-07-05,0.18\r\n2010-07-06,0.18\r\n2010-07-07,0.18\r\n2010-07-08,0.17\r\n2010-07-09,0.18\r\n2010-07-10,0.18\r\n2010-07-11,0.18\r\n2010-07-12,0.17\r\n2010-07-13,0.17\r\n2010-07-14,0.17\r\n2010-07-15,0.19\r\n2010-07-16,0.19\r\n2010-07-17,0.19\r\n2010-07-18,0.19\r\n2010-07-19,0.19\r\n2010-07-20,0.18\r\n2010-07-21,0.18\r\n2010-07-22,0.18\r\n2010-07-23,0.19\r\n2010-07-24,0.19\r\n2010-07-25,0.19\r\n2010-07-26,0.19\r\n2010-07-27,0.19\r\n2010-07-28,0.20\r\n2010-07-29,0.19\r\n2010-07-30,0.18\r\n2010-07-31,0.18\r\n2010-08-01,0.18\r\n2010-08-02,0.19\r\n2010-08-03,0.19\r\n2010-08-04,0.19\r\n2010-08-05,0.19\r\n2010-08-06,0.18\r\n2010-08-07,0.18\r\n2010-08-08,0.18\r\n2010-08-09,0.18\r\n2010-08-10,0.18\r\n2010-08-11,0.17\r\n2010-08-12,0.18\r\n2010-08-13,0.19\r\n2010-08-14,0.19\r\n2010-08-15,0.19\r\n2010-08-16,0.20\r\n2010-08-17,0.20\r\n2010-08-18,0.19\r\n2010-08-19,0.19\r\n2010-08-20,0.20\r\n2010-08-21,0.20\r\n2010-08-22,0.20\r\n2010-08-23,0.19\r\n2010-08-24,0.19\r\n2010-08-25,0.19\r\n2010-08-26,0.19\r\n2010-08-27,0.19\r\n2010-08-28,0.19\r\n2010-08-29,0.19\r\n2010-08-30,0.19\r\n2010-08-31,0.21\r\n2010-09-01,0.19\r\n2010-09-02,0.19\r\n2010-09-03,0.19\r\n2010-09-04,0.19\r\n2010-09-05,0.19\r\n2010-09-06,0.19\r\n2010-09-07,0.20\r\n2010-09-08,0.19\r\n2010-09-09,0.18\r\n2010-09-10,0.18\r\n2010-09-11,0.18\r\n2010-09-12,0.18\r\n2010-09-13,0.18\r\n2010-09-14,0.19\r\n2010-09-15,0.21\r\n2010-09-16,0.21\r\n2010-09-17,0.21\r\n2010-09-18,0.21\r\n2010-09-19,0.21\r\n2010-09-20,0.21\r\n2010-09-21,0.20\r\n2010-09-22,0.21\r\n2010-09-23,0.20\r\n2010-09-24,0.21\r\n2010-09-25,0.21\r\n2010-09-26,0.21\r\n2010-09-27,0.19\r\n2010-09-28,0.19\r\n2010-09-29,0.19\r\n2010-09-30,0.15\r\n2010-10-01,0.20\r\n2010-10-02,0.20\r\n2010-10-03,0.20\r\n2010-10-04,0.20\r\n2010-10-05,0.20\r\n2010-10-06,0.19\r\n2010-10-07,0.18\r\n2010-10-08,0.18\r\n2010-10-09,0.18\r\n2010-10-10,0.18\r\n2010-10-11,0.18\r\n2010-10-12,0.18\r\n2010-10-13,0.18\r\n2010-10-14,0.19\r\n2010-10-15,0.20\r\n2010-10-16,0.20\r\n2010-10-17,0.20\r\n2010-10-18,0.19\r\n2010-10-19,0.19\r\n2010-10-20,0.19\r\n2010-10-21,0.19\r\n2010-10-22,0.19\r\n2010-10-23,0.19\r\n2010-10-24,0.19\r\n2010-10-25,0.19\r\n2010-10-26,0.19\r\n2010-10-27,0.19\r\n2010-10-28,0.19\r\n2010-10-29,0.20\r\n2010-10-30,0.20\r\n2010-10-31,0.20\r\n2010-11-01,0.20\r\n2010-11-02,0.20\r\n2010-11-03,0.20\r\n2010-11-04,0.19\r\n2010-11-05,0.18\r\n2010-11-06,0.18\r\n2010-11-07,0.18\r\n2010-11-08,0.18\r\n2010-11-09,0.17\r\n2010-11-10,0.17\r\n2010-11-11,0.17\r\n2010-11-12,0.19\r\n2010-11-13,0.19\r\n2010-11-14,0.19\r\n2010-11-15,0.21\r\n2010-11-16,0.21\r\n2010-11-17,0.20\r\n2010-11-18,0.20\r\n2010-11-19,0.21\r\n2010-11-20,0.21\r\n2010-11-21,0.21\r\n2010-11-22,0.19\r\n2010-11-23,0.20\r\n2010-11-24,0.20\r\n2010-11-25,0.20\r\n2010-11-26,0.20\r\n2010-11-27,0.20\r\n2010-11-28,0.20\r\n2010-11-29,0.20\r\n2010-11-30,0.20\r\n2010-12-01,0.20\r\n2010-12-02,0.19\r\n2010-12-03,0.18\r\n2010-12-04,0.18\r\n2010-12-05,0.18\r\n2010-12-06,0.18\r\n2010-12-07,0.17\r\n2010-12-08,0.17\r\n2010-12-09,0.16\r\n2010-12-10,0.16\r\n2010-12-11,0.16\r\n2010-12-12,0.16\r\n2010-12-13,0.17\r\n2010-12-14,0.19\r\n2010-12-15,0.20\r\n2010-12-16,0.20\r\n2010-12-17,0.20\r\n2010-12-18,0.20\r\n2010-12-19,0.20\r\n2010-12-20,0.21\r\n2010-12-21,0.20\r\n2010-12-22,0.19\r\n2010-12-23,0.19\r\n2010-12-24,0.19\r\n2010-12-25,0.19\r\n2010-12-26,0.19\r\n2010-12-27,0.19\r\n2010-12-28,0.18\r\n2010-12-29,0.18\r\n2010-12-30,0.19\r\n2010-12-31,0.13\r\n2011-01-01,0.13\r\n2011-01-02,0.13\r\n2011-01-03,0.19\r\n2011-01-04,0.18\r\n2011-01-05,0.18\r\n2011-01-06,0.17\r\n2011-01-07,0.17\r\n2011-01-08,0.17\r\n2011-01-09,0.17\r\n2011-01-10,0.17\r\n2011-01-11,0.17\r\n2011-01-12,0.16\r\n2011-01-13,0.16\r\n2011-01-14,0.16\r\n2011-01-15,0.16\r\n2011-01-16,0.16\r\n2011-01-17,0.16\r\n2011-01-18,0.19\r\n2011-01-19,0.18\r\n2011-01-20,0.18\r\n2011-01-21,0.17\r\n2011-01-22,0.17\r\n2011-01-23,0.17\r\n2011-01-24,0.18\r\n2011-01-25,0.17\r\n2011-01-26,0.17\r\n2011-01-27,0.17\r\n2011-01-28,0.17\r\n2011-01-29,0.17\r\n2011-01-30,0.17\r\n2011-01-31,0.17\r\n2011-02-01,0.18\r\n2011-02-02,0.18\r\n2011-02-03,0.17\r\n2011-02-04,0.17\r\n2011-02-05,0.17\r\n2011-02-06,0.17\r\n2011-02-07,0.17\r\n2011-02-08,0.16\r\n2011-02-09,0.15\r\n2011-02-10,0.15\r\n2011-02-11,0.15\r\n2011-02-12,0.15\r\n2011-02-13,0.15\r\n2011-02-14,0.15\r\n2011-02-15,0.16\r\n2011-02-16,0.15\r\n2011-02-17,0.15\r\n2011-02-18,0.15\r\n2011-02-19,0.15\r\n2011-02-20,0.15\r\n2011-02-21,0.15\r\n2011-02-22,0.15\r\n2011-02-23,0.15\r\n2011-02-24,0.15\r\n2011-02-25,0.15\r\n2011-02-26,0.15\r\n2011-02-27,0.15\r\n2011-02-28,0.16\r\n2011-03-01,0.15\r\n2011-03-02,0.16\r\n2011-03-03,0.15\r\n2011-03-04,0.15\r\n2011-03-05,0.15\r\n2011-03-06,0.15\r\n2011-03-07,0.14\r\n2011-03-08,0.14\r\n2011-03-09,0.14\r\n2011-03-10,0.14\r\n2011-03-11,0.13\r\n2011-03-12,0.13\r\n2011-03-13,0.13\r\n2011-03-14,0.14\r\n2011-03-15,0.14\r\n2011-03-16,0.14\r\n2011-03-17,0.14\r\n2011-03-18,0.15\r\n2011-03-19,0.15\r\n2011-03-20,0.15\r\n2011-03-21,0.14\r\n2011-03-22,0.14\r\n2011-03-23,0.14\r\n2011-03-24,0.13\r\n2011-03-25,0.13\r\n2011-03-26,0.13\r\n2011-03-27,0.13\r\n2011-03-28,0.13\r\n2011-03-29,0.13\r\n2011-03-30,0.13\r\n2011-03-31,0.10\r\n2011-04-01,0.11\r\n2011-04-02,0.11\r\n2011-04-03,0.11\r\n2011-04-04,0.09\r\n2011-04-05,0.09\r\n2011-04-06,0.10\r\n2011-04-07,0.10\r\n2011-04-08,0.09\r\n2011-04-09,0.09\r\n2011-04-10,0.09\r\n2011-04-11,0.09\r\n2011-04-12,0.08\r\n2011-04-13,0.08\r\n2011-04-14,0.09\r\n2011-04-15,0.12\r\n2011-04-16,0.12\r\n2011-04-17,0.12\r\n2011-04-18,0.10\r\n2011-04-19,0.11\r\n2011-04-20,0.10\r\n2011-04-21,0.10\r\n2011-04-22,0.10\r\n2011-04-23,0.10\r\n2011-04-24,0.10\r\n2011-04-25,0.10\r\n2011-04-26,0.09\r\n2011-04-27,0.09\r\n2011-04-28,0.09\r\n2011-04-29,0.09\r\n2011-04-30,0.09\r\n2011-05-01,0.09\r\n2011-05-02,0.09\r\n2011-05-03,0.09\r\n2011-05-04,0.09\r\n2011-05-05,0.09\r\n2011-05-06,0.09\r\n2011-05-07,0.09\r\n2011-05-08,0.09\r\n2011-05-09,0.09\r\n2011-05-10,0.09\r\n2011-05-11,0.09\r\n2011-05-12,0.09\r\n2011-05-13,0.09\r\n2011-05-14,0.09\r\n2011-05-15,0.09\r\n2011-05-16,0.10\r\n2011-05-17,0.09\r\n2011-05-18,0.10\r\n2011-05-19,0.09\r\n2011-05-20,0.10\r\n2011-05-21,0.10\r\n2011-05-22,0.10\r\n2011-05-23,0.10\r\n2011-05-24,0.10\r\n2011-05-25,0.09\r\n2011-05-26,0.09\r\n2011-05-27,0.10\r\n2011-05-28,0.10\r\n2011-05-29,0.10\r\n2011-05-30,0.10\r\n2011-05-31,0.10\r\n2011-06-01,0.10\r\n2011-06-02,0.10\r\n2011-06-03,0.11\r\n2011-06-04,0.11\r\n2011-06-05,0.11\r\n2011-06-06,0.10\r\n2011-06-07,0.09\r\n2011-06-08,0.09\r\n2011-06-09,0.09\r\n2011-06-10,0.09\r\n2011-06-11,0.09\r\n2011-06-12,0.09\r\n2011-06-13,0.10\r\n2011-06-14,0.10\r\n2011-06-15,0.10\r\n2011-06-16,0.10\r\n2011-06-17,0.10\r\n2011-06-18,0.10\r\n2011-06-19,0.10\r\n2011-06-20,0.09\r\n2011-06-21,0.09\r\n2011-06-22,0.09\r\n2011-06-23,0.08\r\n2011-06-24,0.08\r\n2011-06-25,0.08\r\n2011-06-26,0.08\r\n2011-06-27,0.08\r\n2011-06-28,0.08\r\n2011-06-29,0.07\r\n2011-06-30,0.07\r\n2011-07-01,0.08\r\n2011-07-02,0.08\r\n2011-07-03,0.08\r\n2011-07-04,0.08\r\n2011-07-05,0.08\r\n2011-07-06,0.07\r\n2011-07-07,0.07\r\n2011-07-08,0.07\r\n2011-07-09,0.07\r\n2011-07-10,0.07\r\n2011-07-11,0.07\r\n2011-07-12,0.06\r\n2011-07-13,0.06\r\n2011-07-14,0.06\r\n2011-07-15,0.06\r\n2011-07-16,0.06\r\n2011-07-17,0.06\r\n2011-07-18,0.06\r\n2011-07-19,0.06\r\n2011-07-20,0.06\r\n2011-07-21,0.06\r\n2011-07-22,0.06\r\n2011-07-23,0.06\r\n2011-07-24,0.06\r\n2011-07-25,0.06\r\n2011-07-26,0.06\r\n2011-07-27,0.07\r\n2011-07-28,0.08\r\n2011-07-29,0.11\r\n2011-07-30,0.11\r\n2011-07-31,0.11\r\n2011-08-01,0.17\r\n2011-08-02,0.16\r\n2011-08-03,0.12\r\n2011-08-04,0.09\r\n2011-08-05,0.08\r\n2011-08-06,0.08\r\n2011-08-07,0.08\r\n2011-08-08,0.11\r\n2011-08-09,0.10\r\n2011-08-10,0.10\r\n2011-08-11,0.09\r\n2011-08-12,0.10\r\n2011-08-13,0.10\r\n2011-08-14,0.10\r\n2011-08-15,0.10\r\n2011-08-16,0.09\r\n2011-08-17,0.09\r\n2011-08-18,0.09\r\n2011-08-19,0.09\r\n2011-08-20,0.09\r\n2011-08-21,0.09\r\n2011-08-22,0.09\r\n2011-08-23,0.08\r\n2011-08-24,0.08\r\n2011-08-25,0.08\r\n2011-08-26,0.09\r\n2011-08-27,0.09\r\n2011-08-28,0.09\r\n2011-08-29,0.09\r\n2011-08-30,0.08\r\n2011-08-31,0.08\r\n2011-09-01,0.08\r\n2011-09-02,0.08\r\n2011-09-03,0.08\r\n2011-09-04,0.08\r\n2011-09-05,0.08\r\n2011-09-06,0.09\r\n2011-09-07,0.09\r\n2011-09-08,0.09\r\n2011-09-09,0.09\r\n2011-09-10,0.09\r\n2011-09-11,0.09\r\n2011-09-12,0.09\r\n2011-09-13,0.09\r\n2011-09-14,0.08\r\n2011-09-15,0.09\r\n2011-09-16,0.09\r\n2011-09-17,0.09\r\n2011-09-18,0.09\r\n2011-09-19,0.09\r\n2011-09-20,0.09\r\n2011-09-21,0.08\r\n2011-09-22,0.08\r\n2011-09-23,0.08\r\n2011-09-24,0.08\r\n2011-09-25,0.08\r\n2011-09-26,0.08\r\n2011-09-27,0.08\r\n2011-09-28,0.08\r\n2011-09-29,0.08\r\n2011-09-30,0.06\r\n2011-10-01,0.06\r\n2011-10-02,0.06\r\n2011-10-03,0.08\r\n2011-10-04,0.07\r\n2011-10-05,0.07\r\n2011-10-06,0.07\r\n2011-10-07,0.07\r\n2011-10-08,0.07\r\n2011-10-09,0.07\r\n2011-10-10,0.07\r\n2011-10-11,0.07\r\n2011-10-12,0.07\r\n2011-10-13,0.07\r\n2011-10-14,0.07\r\n2011-10-15,0.07\r\n2011-10-16,0.07\r\n2011-10-17,0.07\r\n2011-10-18,0.07\r\n2011-10-19,0.07\r\n2011-10-20,0.07\r\n2011-10-21,0.07\r\n2011-10-22,0.07\r\n2011-10-23,0.07\r\n2011-10-24,0.07\r\n2011-10-25,0.07\r\n2011-10-26,0.08\r\n2011-10-27,0.07\r\n2011-10-28,0.07\r\n2011-10-29,0.07\r\n2011-10-30,0.07\r\n2011-10-31,0.09\r\n2011-11-01,0.08\r\n2011-11-02,0.08\r\n2011-11-03,0.09\r\n2011-11-04,0.08\r\n2011-11-05,0.08\r\n2011-11-06,0.08\r\n2011-11-07,0.08\r\n2011-11-08,0.08\r\n2011-11-09,0.08\r\n2011-11-10,0.08\r\n2011-11-11,0.08\r\n2011-11-12,0.08\r\n2011-11-13,0.08\r\n2011-11-14,0.08\r\n2011-11-15,0.09\r\n2011-11-16,0.08\r\n2011-11-17,0.08\r\n2011-11-18,0.08\r\n2011-11-19,0.08\r\n2011-11-20,0.08\r\n2011-11-21,0.08\r\n2011-11-22,0.08\r\n2011-11-23,0.09\r\n2011-11-24,0.09\r\n2011-11-25,0.07\r\n2011-11-26,0.07\r\n2011-11-27,0.07\r\n2011-11-28,0.08\r\n2011-11-29,0.08\r\n2011-11-30,0.10\r\n2011-12-01,0.08\r\n2011-12-02,0.08\r\n2011-12-03,0.08\r\n2011-12-04,0.08\r\n2011-12-05,0.08\r\n2011-12-06,0.08\r\n2011-12-07,0.08\r\n2011-12-08,0.07\r\n2011-12-09,0.07\r\n2011-12-10,0.07\r\n2011-12-11,0.07\r\n2011-12-12,0.07\r\n2011-12-13,0.07\r\n2011-12-14,0.07\r\n2011-12-15,0.07\r\n2011-12-16,0.07\r\n2011-12-17,0.07\r\n2011-12-18,0.07\r\n2011-12-19,0.07\r\n2011-12-20,0.07\r\n2011-12-21,0.07\r\n2011-12-22,0.07\r\n2011-12-23,0.08\r\n2011-12-24,0.08\r\n2011-12-25,0.08\r\n2011-12-26,0.08\r\n2011-12-27,0.07\r\n2011-12-28,0.07\r\n2011-12-29,0.07\r\n2011-12-30,0.04\r\n2011-12-31,0.04\r\n2012-01-01,0.04\r\n2012-01-02,0.04\r\n2012-01-03,0.07\r\n2012-01-04,0.07\r\n2012-01-05,0.07\r\n2012-01-06,0.07\r\n2012-01-07,0.07\r\n2012-01-08,0.07\r\n2012-01-09,0.08\r\n2012-01-10,0.08\r\n2012-01-11,0.08\r\n2012-01-12,0.08\r\n2012-01-13,0.09\r\n2012-01-14,0.09\r\n2012-01-15,0.09\r\n2012-01-16,0.09\r\n2012-01-17,0.09\r\n2012-01-18,0.09\r\n2012-01-19,0.10\r\n2012-01-20,0.09\r\n2012-01-21,0.09\r\n2012-01-22,0.09\r\n2012-01-23,0.09\r\n2012-01-24,0.09\r\n2012-01-25,0.08\r\n2012-01-26,0.08\r\n2012-01-27,0.09\r\n2012-01-28,0.09\r\n2012-01-29,0.09\r\n2012-01-30,0.09\r\n2012-01-31,0.11\r\n2012-02-01,0.11\r\n2012-02-02,0.11\r\n2012-02-03,0.11\r\n2012-02-04,0.11\r\n2012-02-05,0.11\r\n2012-02-06,0.11\r\n2012-02-07,0.11\r\n2012-02-08,0.11\r\n2012-02-09,0.11\r\n2012-02-10,0.12\r\n2012-02-11,0.12\r\n2012-02-12,0.12\r\n2012-02-13,0.12\r\n2012-02-14,0.12\r\n2012-02-15,0.12\r\n2012-02-16,0.11\r\n2012-02-17,0.09\r\n2012-02-18,0.09\r\n2012-02-19,0.09\r\n2012-02-20,0.09\r\n2012-02-21,0.10\r\n2012-02-22,0.08\r\n2012-02-23,0.08\r\n2012-02-24,0.09\r\n2012-02-25,0.09\r\n2012-02-26,0.09\r\n2012-02-27,0.10\r\n2012-02-28,0.10\r\n2012-02-29,0.10\r\n2012-03-01,0.11\r\n2012-03-02,0.11\r\n2012-03-03,0.11\r\n2012-03-04,0.11\r\n2012-03-05,0.11\r\n2012-03-06,0.11\r\n2012-03-07,0.11\r\n2012-03-08,0.11\r\n2012-03-09,0.12\r\n2012-03-10,0.12\r\n2012-03-11,0.12\r\n2012-03-12,0.12\r\n2012-03-13,0.12\r\n2012-03-14,0.13\r\n2012-03-15,0.14\r\n2012-03-16,0.15\r\n2012-03-17,0.15\r\n2012-03-18,0.15\r\n2012-03-19,0.15\r\n2012-03-20,0.15\r\n2012-03-21,0.15\r\n2012-03-22,0.14\r\n2012-03-23,0.14\r\n2012-03-24,0.14\r\n2012-03-25,0.14\r\n2012-03-26,0.14\r\n2012-03-27,0.14\r\n2012-03-28,0.13\r\n2012-03-29,0.13\r\n2012-03-30,0.09\r\n2012-03-31,0.09\r\n2012-04-01,0.09\r\n2012-04-02,0.15\r\n2012-04-03,0.15\r\n2012-04-04,0.15\r\n2012-04-05,0.15\r\n2012-04-06,0.12\r\n2012-04-07,0.12\r\n2012-04-08,0.12\r\n2012-04-09,0.16\r\n2012-04-10,0.15\r\n2012-04-11,0.16\r\n2012-04-12,0.15\r\n2012-04-13,0.15\r\n2012-04-14,0.15\r\n2012-04-15,0.15\r\n2012-04-16,0.15\r\n2012-04-17,0.16\r\n2012-04-18,0.15\r\n2012-04-19,0.13\r\n2012-04-20,0.12\r\n2012-04-21,0.12\r\n2012-04-22,0.12\r\n2012-04-23,0.13\r\n2012-04-24,0.14\r\n2012-04-25,0.15\r\n2012-04-26,0.14\r\n2012-04-27,0.13\r\n2012-04-28,0.13\r\n2012-04-29,0.13\r\n2012-04-30,0.16\r\n2012-05-01,0.16\r\n2012-05-02,0.15\r\n2012-05-03,0.15\r\n2012-05-04,0.16\r\n2012-05-05,0.16\r\n2012-05-06,0.16\r\n2012-05-07,0.16\r\n2012-05-08,0.16\r\n2012-05-09,0.15\r\n2012-05-10,0.15\r\n2012-05-11,0.15\r\n2012-05-12,0.15\r\n2012-05-13,0.15\r\n2012-05-14,0.16\r\n2012-05-15,0.16\r\n2012-05-16,0.16\r\n2012-05-17,0.16\r\n2012-05-18,0.16\r\n2012-05-19,0.16\r\n2012-05-20,0.16\r\n2012-05-21,0.16\r\n2012-05-22,0.16\r\n2012-05-23,0.15\r\n2012-05-24,0.15\r\n2012-05-25,0.15\r\n2012-05-26,0.15\r\n2012-05-27,0.15\r\n2012-05-28,0.15\r\n2012-05-29,0.16\r\n2012-05-30,0.16\r\n2012-05-31,0.16\r\n2012-06-01,0.16\r\n2012-06-02,0.16\r\n2012-06-03,0.16\r\n2012-06-04,0.17\r\n2012-06-05,0.17\r\n2012-06-06,0.16\r\n2012-06-07,0.16\r\n2012-06-08,0.17\r\n2012-06-09,0.17\r\n2012-06-10,0.17\r\n2012-06-11,0.17\r\n2012-06-12,0.16\r\n2012-06-13,0.17\r\n2012-06-14,0.17\r\n2012-06-15,0.18\r\n2012-06-16,0.18\r\n2012-06-17,0.18\r\n2012-06-18,0.17\r\n2012-06-19,0.17\r\n2012-06-20,0.16\r\n2012-06-21,0.17\r\n2012-06-22,0.17\r\n2012-06-23,0.17\r\n2012-06-24,0.17\r\n2012-06-25,0.17\r\n2012-06-26,0.16\r\n2012-06-27,0.15\r\n2012-06-28,0.15\r\n2012-06-29,0.09\r\n2012-06-30,0.09\r\n2012-07-01,0.09\r\n2012-07-02,0.18\r\n2012-07-03,0.17\r\n2012-07-04,0.17\r\n2012-07-05,0.17\r\n2012-07-06,0.17\r\n2012-07-07,0.17\r\n2012-07-08,0.17\r\n2012-07-09,0.17\r\n2012-07-10,0.17\r\n2012-07-11,0.17\r\n2012-07-12,0.18\r\n2012-07-13,0.19\r\n2012-07-14,0.19\r\n2012-07-15,0.19\r\n2012-07-16,0.18\r\n2012-07-17,0.17\r\n2012-07-18,0.16\r\n2012-07-19,0.13\r\n2012-07-20,0.13\r\n2012-07-21,0.13\r\n2012-07-22,0.13\r\n2012-07-23,0.14\r\n2012-07-24,0.15\r\n2012-07-25,0.15\r\n2012-07-26,0.14\r\n2012-07-27,0.14\r\n2012-07-28,0.14\r\n2012-07-29,0.14\r\n2012-07-30,0.14\r\n2012-07-31,0.13\r\n2012-08-01,0.14\r\n2012-08-02,0.14\r\n2012-08-03,0.14\r\n2012-08-04,0.14\r\n2012-08-05,0.14\r\n2012-08-06,0.14\r\n2012-08-07,0.13\r\n2012-08-08,0.13\r\n2012-08-09,0.13\r\n2012-08-10,0.13\r\n2012-08-11,0.13\r\n2012-08-12,0.13\r\n2012-08-13,0.13\r\n2012-08-14,0.13\r\n2012-08-15,0.13\r\n2012-08-16,0.13\r\n2012-08-17,0.13\r\n2012-08-18,0.13\r\n2012-08-19,0.13\r\n2012-08-20,0.13\r\n2012-08-21,0.13\r\n2012-08-22,0.13\r\n2012-08-23,0.13\r\n2012-08-24,0.13\r\n2012-08-25,0.13\r\n2012-08-26,0.13\r\n2012-08-27,0.13\r\n2012-08-28,0.13\r\n2012-08-29,0.13\r\n2012-08-30,0.14\r\n2012-08-31,0.13\r\n2012-09-01,0.13\r\n2012-09-02,0.13\r\n2012-09-03,0.13\r\n2012-09-04,0.14\r\n2012-09-05,0.16\r\n2012-09-06,0.16\r\n2012-09-07,0.15\r\n2012-09-08,0.15\r\n2012-09-09,0.15\r\n2012-09-10,0.15\r\n2012-09-11,0.15\r\n2012-09-12,0.15\r\n2012-09-13,0.15\r\n2012-09-14,0.16\r\n2012-09-15,0.16\r\n2012-09-16,0.16\r\n2012-09-17,0.16\r\n2012-09-18,0.16\r\n2012-09-19,0.15\r\n2012-09-20,0.16\r\n2012-09-21,0.15\r\n2012-09-22,0.15\r\n2012-09-23,0.15\r\n2012-09-24,0.16\r\n2012-09-25,0.15\r\n2012-09-26,0.15\r\n2012-09-27,0.14\r\n2012-09-28,0.09\r\n2012-09-29,0.09\r\n2012-09-30,0.09\r\n2012-10-01,0.15\r\n2012-10-02,0.16\r\n2012-10-03,0.16\r\n2012-10-04,0.15\r\n2012-10-05,0.15\r\n2012-10-06,0.15\r\n2012-10-07,0.15\r\n2012-10-08,0.15\r\n2012-10-09,0.16\r\n2012-10-10,0.16\r\n2012-10-11,0.16\r\n2012-10-12,0.16\r\n2012-10-13,0.16\r\n2012-10-14,0.16\r\n2012-10-15,0.16\r\n2012-10-16,0.16\r\n2012-10-17,0.15\r\n2012-10-18,0.15\r\n2012-10-19,0.16\r\n2012-10-20,0.16\r\n2012-10-21,0.16\r\n2012-10-22,0.15\r\n2012-10-23,0.15\r\n2012-10-24,0.17\r\n2012-10-25,0.16\r\n2012-10-26,0.16\r\n2012-10-27,0.16\r\n2012-10-28,0.16\r\n2012-10-29,0.17\r\n2012-10-30,0.17\r\n2012-10-31,0.18\r\n2012-11-01,0.17\r\n2012-11-02,0.16\r\n2012-11-03,0.16\r\n2012-11-04,0.16\r\n2012-11-05,0.17\r\n2012-11-06,0.16\r\n2012-11-07,0.16\r\n2012-11-08,0.16\r\n2012-11-09,0.16\r\n2012-11-10,0.16\r\n2012-11-11,0.16\r\n2012-11-12,0.16\r\n2012-11-13,0.16\r\n2012-11-14,0.16\r\n2012-11-15,0.16\r\n2012-11-16,0.16\r\n2012-11-17,0.16\r\n2012-11-18,0.16\r\n2012-11-19,0.16\r\n2012-11-20,0.16\r\n2012-11-21,0.16\r\n2012-11-22,0.16\r\n2012-11-23,0.16\r\n2012-11-24,0.16\r\n2012-11-25,0.16\r\n2012-11-26,0.16\r\n2012-11-27,0.16\r\n2012-11-28,0.16\r\n2012-11-29,0.16\r\n2012-11-30,0.16\r\n2012-12-01,0.16\r\n2012-12-02,0.16\r\n2012-12-03,0.16\r\n2012-12-04,0.17\r\n2012-12-05,0.16\r\n2012-12-06,0.16\r\n2012-12-07,0.16\r\n2012-12-08,0.16\r\n2012-12-09,0.16\r\n2012-12-10,0.16\r\n2012-12-11,0.17\r\n2012-12-12,0.17\r\n2012-12-13,0.16\r\n2012-12-14,0.17\r\n2012-12-15,0.17\r\n2012-12-16,0.17\r\n2012-12-17,0.16\r\n2012-12-18,0.17\r\n2012-12-19,0.17\r\n2012-12-20,0.17\r\n2012-12-21,0.17\r\n2012-12-22,0.17\r\n2012-12-23,0.17\r\n2012-12-24,0.18\r\n2012-12-25,0.18\r\n2012-12-26,0.17\r\n2012-12-27,0.17\r\n2012-12-28,0.17\r\n2012-12-29,0.17\r\n2012-12-30,0.17\r\n2012-12-31,0.09\r\n2013-01-01,0.09\r\n2013-01-02,0.17\r\n2013-01-03,0.17\r\n2013-01-04,0.16\r\n2013-01-05,0.16\r\n2013-01-06,0.16\r\n2013-01-07,0.16\r\n2013-01-08,0.15\r\n2013-01-09,0.14\r\n2013-01-10,0.14\r\n2013-01-11,0.14\r\n2013-01-12,0.14\r\n2013-01-13,0.14\r\n2013-01-14,0.14\r\n2013-01-15,0.15\r\n2013-01-16,0.14\r\n2013-01-17,0.14\r\n2013-01-18,0.14\r\n2013-01-19,0.14\r\n2013-01-20,0.14\r\n2013-01-21,0.14\r\n2013-01-22,0.14\r\n2013-01-23,0.13\r\n2013-01-24,0.15\r\n2013-01-25,0.14\r\n2013-01-26,0.14\r\n2013-01-27,0.14\r\n2013-01-28,0.14\r\n2013-01-29,0.12\r\n2013-01-30,0.12\r\n2013-01-31,0.15\r\n2013-02-01,0.14\r\n2013-02-02,0.14\r\n2013-02-03,0.14\r\n2013-02-04,0.13\r\n2013-02-05,0.13\r\n2013-02-06,0.13\r\n2013-02-07,0.13\r\n2013-02-08,0.14\r\n2013-02-09,0.14\r\n2013-02-10,0.14\r\n2013-02-11,0.14\r\n2013-02-12,0.13\r\n2013-02-13,0.14\r\n2013-02-14,0.14\r\n2013-02-15,0.16\r\n2013-02-16,0.16\r\n2013-02-17,0.16\r\n2013-02-18,0.16\r\n2013-02-19,0.15\r\n2013-02-20,0.15\r\n2013-02-21,0.16\r\n2013-02-22,0.16\r\n2013-02-23,0.16\r\n2013-02-24,0.16\r\n2013-02-25,0.15\r\n2013-02-26,0.14\r\n2013-02-27,0.14\r\n2013-02-28,0.14\r\n2013-03-01,0.14\r\n2013-03-02,0.14\r\n2013-03-03,0.14\r\n2013-03-04,0.16\r\n2013-03-05,0.15\r\n2013-03-06,0.15\r\n2013-03-07,0.16\r\n2013-03-08,0.15\r\n2013-03-09,0.15\r\n2013-03-10,0.15\r\n2013-03-11,0.16\r\n2013-03-12,0.15\r\n2013-03-13,0.14\r\n2013-03-14,0.15\r\n2013-03-15,0.16\r\n2013-03-16,0.16\r\n2013-03-17,0.16\r\n2013-03-18,0.16\r\n2013-03-19,0.15\r\n2013-03-20,0.15\r\n2013-03-21,0.16\r\n2013-03-22,0.15\r\n2013-03-23,0.15\r\n2013-03-24,0.15\r\n2013-03-25,0.15\r\n2013-03-26,0.14\r\n2013-03-27,0.12\r\n2013-03-28,0.13\r\n2013-03-29,0.09\r\n2013-03-30,0.09\r\n2013-03-31,0.09\r\n2013-04-01,0.16\r\n2013-04-02,0.15\r\n2013-04-03,0.14\r\n2013-04-04,0.14\r\n2013-04-05,0.15\r\n2013-04-06,0.15\r\n2013-04-07,0.15\r\n2013-04-08,0.15\r\n2013-04-09,0.15\r\n2013-04-10,0.15\r\n2013-04-11,0.15\r\n2013-04-12,0.15\r\n2013-04-13,0.15\r\n2013-04-14,0.15\r\n2013-04-15,0.15\r\n2013-04-16,0.15\r\n2013-04-17,0.15\r\n2013-04-18,0.15\r\n2013-04-19,0.15\r\n2013-04-20,0.15\r\n2013-04-21,0.15\r\n2013-04-22,0.15\r\n2013-04-23,0.14\r\n2013-04-24,0.13\r\n2013-04-25,0.13\r\n2013-04-26,0.13\r\n2013-04-27,0.13\r\n2013-04-28,0.13\r\n2013-04-29,0.13\r\n2013-04-30,0.14\r\n2013-05-01,0.14\r\n2013-05-02,0.15\r\n2013-05-03,0.14\r\n2013-05-04,0.14\r\n2013-05-05,0.14\r\n2013-05-06,0.14\r\n2013-05-07,0.12\r\n2013-05-08,0.12\r\n2013-05-09,0.12\r\n2013-05-10,0.12\r\n2013-05-11,0.12\r\n2013-05-12,0.12\r\n2013-05-13,0.12\r\n2013-05-14,0.11\r\n2013-05-15,0.12\r\n2013-05-16,0.11\r\n2013-05-17,0.10\r\n2013-05-18,0.10\r\n2013-05-19,0.10\r\n2013-05-20,0.10\r\n2013-05-21,0.09\r\n2013-05-22,0.08\r\n2013-05-23,0.08\r\n2013-05-24,0.09\r\n2013-05-25,0.09\r\n2013-05-26,0.09\r\n2013-05-27,0.09\r\n2013-05-28,0.09\r\n2013-05-29,0.08\r\n2013-05-30,0.08\r\n2013-05-31,0.09\r\n2013-06-01,0.09\r\n2013-06-02,0.09\r\n2013-06-03,0.10\r\n2013-06-04,0.11\r\n2013-06-05,0.09\r\n2013-06-06,0.10\r\n2013-06-07,0.09\r\n2013-06-08,0.09\r\n2013-06-09,0.09\r\n2013-06-10,0.09\r\n2013-06-11,0.09\r\n2013-06-12,0.08\r\n2013-06-13,0.09\r\n2013-06-14,0.10\r\n2013-06-15,0.10\r\n2013-06-16,0.10\r\n2013-06-17,0.11\r\n2013-06-18,0.12\r\n2013-06-19,0.10\r\n2013-06-20,0.10\r\n2013-06-21,0.10\r\n2013-06-22,0.10\r\n2013-06-23,0.10\r\n2013-06-24,0.10\r\n2013-06-25,0.09\r\n2013-06-26,0.09\r\n2013-06-27,0.09\r\n2013-06-28,0.07\r\n2013-06-29,0.07\r\n2013-06-30,0.07\r\n2013-07-01,0.10\r\n2013-07-02,0.10\r\n2013-07-03,0.10\r\n2013-07-04,0.10\r\n2013-07-05,0.10\r\n2013-07-06,0.10\r\n2013-07-07,0.10\r\n2013-07-08,0.10\r\n2013-07-09,0.10\r\n2013-07-10,0.09\r\n2013-07-11,0.09\r\n2013-07-12,0.09\r\n2013-07-13,0.09\r\n2013-07-14,0.09\r\n2013-07-15,0.09\r\n2013-07-16,0.09\r\n2013-07-17,0.09\r\n2013-07-18,0.09\r\n2013-07-19,0.09\r\n2013-07-20,0.09\r\n2013-07-21,0.09\r\n2013-07-22,0.09\r\n2013-07-23,0.09\r\n2013-07-24,0.09\r\n2013-07-25,0.09\r\n2013-07-26,0.09\r\n2013-07-27,0.09\r\n2013-07-28,0.09\r\n2013-07-29,0.08\r\n2013-07-30,0.09\r\n2013-07-31,0.09\r\n2013-08-01,0.08\r\n2013-08-02,0.09\r\n2013-08-03,0.09\r\n2013-08-04,0.09\r\n2013-08-05,0.08\r\n2013-08-06,0.09\r\n2013-08-07,0.09\r\n2013-08-08,0.09\r\n2013-08-09,0.08\r\n2013-08-10,0.08\r\n2013-08-11,0.08\r\n2013-08-12,0.08\r\n2013-08-13,0.08\r\n2013-08-14,0.09\r\n2013-08-15,0.08\r\n2013-08-16,0.09\r\n2013-08-17,0.09\r\n2013-08-18,0.09\r\n2013-08-19,0.09\r\n2013-08-20,0.09\r\n2013-08-21,0.08\r\n2013-08-22,0.09\r\n2013-08-23,0.08\r\n2013-08-24,0.08\r\n2013-08-25,0.08\r\n2013-08-26,0.08\r\n2013-08-27,0.07\r\n2013-08-28,0.07\r\n2013-08-29,0.08\r\n2013-08-30,0.07\r\n2013-08-31,0.07\r\n2013-09-01,0.07\r\n2013-09-02,0.07\r\n2013-09-03,0.09\r\n2013-09-04,0.08\r\n2013-09-05,0.08\r\n2013-09-06,0.08\r\n2013-09-07,0.08\r\n2013-09-08,0.08\r\n2013-09-09,0.08\r\n2013-09-10,0.08\r\n2013-09-11,0.08\r\n2013-09-12,0.08\r\n2013-09-13,0.08\r\n2013-09-14,0.08\r\n2013-09-15,0.08\r\n2013-09-16,0.08\r\n2013-09-17,0.08\r\n2013-09-18,0.08\r\n2013-09-19,0.09\r\n2013-09-20,0.08\r\n2013-09-21,0.08\r\n2013-09-22,0.08\r\n2013-09-23,0.09\r\n2013-09-24,0.09\r\n2013-09-25,0.08\r\n2013-09-26,0.08\r\n2013-09-27,0.08\r\n2013-09-28,0.08\r\n2013-09-29,0.08\r\n2013-09-30,0.06\r\n2013-10-01,0.08\r\n2013-10-02,0.07\r\n2013-10-03,0.08\r\n2013-10-04,0.08\r\n2013-10-05,0.08\r\n2013-10-06,0.08\r\n2013-10-07,0.08\r\n2013-10-08,0.08\r\n2013-10-09,0.09\r\n2013-10-10,0.09\r\n2013-10-11,0.10\r\n2013-10-12,0.10\r\n2013-10-13,0.10\r\n2013-10-14,0.10\r\n2013-10-15,0.10\r\n2013-10-16,0.11\r\n2013-10-17,0.10\r\n2013-10-18,0.10\r\n2013-10-19,0.10\r\n2013-10-20,0.10\r\n2013-10-21,0.09\r\n2013-10-22,0.08\r\n2013-10-23,0.08\r\n2013-10-24,0.08\r\n2013-10-25,0.08\r\n2013-10-26,0.08\r\n2013-10-27,0.08\r\n2013-10-28,0.08\r\n2013-10-29,0.08\r\n2013-10-30,0.08\r\n2013-10-31,0.07\r\n2013-11-01,0.08\r\n2013-11-02,0.08\r\n2013-11-03,0.08\r\n2013-11-04,0.08\r\n2013-11-05,0.08\r\n2013-11-06,0.08\r\n2013-11-07,0.08\r\n2013-11-08,0.08\r\n2013-11-09,0.08\r\n2013-11-10,0.08\r\n2013-11-11,0.08\r\n2013-11-12,0.08\r\n2013-11-13,0.08\r\n2013-11-14,0.09\r\n2013-11-15,0.09\r\n2013-11-16,0.09\r\n2013-11-17,0.09\r\n2013-11-18,0.09\r\n2013-11-19,0.09\r\n2013-11-20,0.09\r\n2013-11-21,0.09\r\n2013-11-22,0.09\r\n2013-11-23,0.09\r\n2013-11-24,0.09\r\n2013-11-25,0.09\r\n2013-11-26,0.09\r\n2013-11-27,0.09\r\n2013-11-28,0.09\r\n2013-11-29,0.07\r\n2013-11-30,0.07\r\n2013-12-01,0.07\r\n2013-12-02,0.09\r\n2013-12-03,0.09\r\n2013-12-04,0.09\r\n2013-12-05,0.09\r\n2013-12-06,0.09\r\n2013-12-07,0.09\r\n2013-12-08,0.09\r\n2013-12-09,0.09\r\n2013-12-10,0.09\r\n2013-12-11,0.08\r\n2013-12-12,0.09\r\n2013-12-13,0.08\r\n2013-12-14,0.08\r\n2013-12-15,0.08\r\n2013-12-16,0.09\r\n2013-12-17,0.09\r\n2013-12-18,0.09\r\n2013-12-19,0.09\r\n2013-12-20,0.09\r\n2013-12-21,0.09\r\n2013-12-22,0.09\r\n2013-12-23,0.09\r\n2013-12-24,0.08\r\n2013-12-25,0.08\r\n2013-12-26,0.08\r\n2013-12-27,0.08\r\n2013-12-28,0.08\r\n2013-12-29,0.08\r\n2013-12-30,0.08\r\n2013-12-31,0.07\r\n2014-01-01,0.07\r\n2014-01-02,0.08\r\n2014-01-03,0.08\r\n2014-01-04,0.08\r\n2014-01-05,0.08\r\n2014-01-06,0.08\r\n2014-01-07,0.07\r\n2014-01-08,0.07\r\n2014-01-09,0.07\r\n2014-01-10,0.07\r\n2014-01-11,0.07\r\n2014-01-12,0.07\r\n2014-01-13,0.07\r\n2014-01-14,0.07\r\n2014-01-15,0.07\r\n2014-01-16,0.07\r\n2014-01-17,0.07\r\n2014-01-18,0.07\r\n2014-01-19,0.07\r\n2014-01-20,0.07\r\n2014-01-21,0.07\r\n2014-01-22,0.07\r\n2014-01-23,0.07\r\n2014-01-24,0.07\r\n2014-01-25,0.07\r\n2014-01-26,0.07\r\n2014-01-27,0.07\r\n2014-01-28,0.07\r\n2014-01-29,0.07\r\n2014-01-30,0.07\r\n2014-01-31,0.07\r\n2014-02-01,0.07\r\n2014-02-02,0.07\r\n2014-02-03,0.07\r\n2014-02-04,0.07\r\n2014-02-05,0.07\r\n2014-02-06,0.07\r\n2014-02-07,0.06\r\n2014-02-08,0.06\r\n2014-02-09,0.06\r\n2014-02-10,0.07\r\n2014-02-11,0.06\r\n2014-02-12,0.07\r\n2014-02-13,0.06\r\n2014-02-14,0.06\r\n2014-02-15,0.06\r\n2014-02-16,0.06\r\n2014-02-17,0.06\r\n2014-02-18,0.07\r\n2014-02-19,0.07\r\n2014-02-20,0.07\r\n2014-02-21,0.07\r\n2014-02-22,0.07\r\n2014-02-23,0.07\r\n2014-02-24,0.07\r\n2014-02-25,0.07\r\n2014-02-26,0.07\r\n2014-02-27,0.07\r\n2014-02-28,0.06\r\n2014-03-01,0.06\r\n2014-03-02,0.06\r\n2014-03-03,0.07\r\n2014-03-04,0.07\r\n2014-03-05,0.08\r\n2014-03-06,0.08\r\n2014-03-07,0.08\r\n2014-03-08,0.08\r\n2014-03-09,0.08\r\n2014-03-10,0.08\r\n2014-03-11,0.08\r\n2014-03-12,0.08\r\n2014-03-13,0.08\r\n2014-03-14,0.08\r\n2014-03-15,0.08\r\n2014-03-16,0.08\r\n2014-03-17,0.08\r\n2014-03-18,0.08\r\n2014-03-19,0.08\r\n2014-03-20,0.08\r\n2014-03-21,0.08\r\n2014-03-22,0.08\r\n2014-03-23,0.08\r\n2014-03-24,0.09\r\n2014-03-25,0.09\r\n2014-03-26,0.08\r\n2014-03-27,0.08\r\n2014-03-28,0.08\r\n2014-03-29,0.08\r\n2014-03-30,0.08\r\n2014-03-31,0.06\r\n2014-04-01,0.08\r\n2014-04-02,0.09\r\n2014-04-03,0.08\r\n2014-04-04,0.08\r\n2014-04-05,0.08\r\n2014-04-06,0.08\r\n2014-04-07,0.09\r\n2014-04-08,0.08\r\n2014-04-09,0.08\r\n2014-04-10,0.08\r\n2014-04-11,0.09\r\n2014-04-12,0.09\r\n2014-04-13,0.09\r\n2014-04-14,0.09\r\n2014-04-15,0.10\r\n2014-04-16,0.09\r\n2014-04-17,0.09\r\n2014-04-18,0.10\r\n2014-04-19,0.10\r\n2014-04-20,0.10\r\n2014-04-21,0.10\r\n2014-04-22,0.10\r\n2014-04-23,0.10\r\n2014-04-24,0.10\r\n2014-04-25,0.09\r\n2014-04-26,0.09\r\n2014-04-27,0.09\r\n2014-04-28,0.09\r\n2014-04-29,0.10\r\n2014-04-30,0.09\r\n2014-05-01,0.09\r\n2014-05-02,0.09\r\n2014-05-03,0.09\r\n2014-05-04,0.09\r\n2014-05-05,0.09\r\n2014-05-06,0.09\r\n2014-05-07,0.08\r\n2014-05-08,0.08\r\n2014-05-09,0.08\r\n2014-05-10,0.08\r\n2014-05-11,0.08\r\n2014-05-12,0.08\r\n2014-05-13,0.09\r\n2014-05-14,0.08\r\n2014-05-15,0.09\r\n2014-05-16,0.09\r\n2014-05-17,0.09\r\n2014-05-18,0.09\r\n2014-05-19,0.09\r\n2014-05-20,0.09\r\n2014-05-21,0.09\r\n2014-05-22,0.09\r\n2014-05-23,0.09\r\n2014-05-24,0.09\r\n2014-05-25,0.09\r\n2014-05-26,0.09\r\n2014-05-27,0.09\r\n2014-05-28,0.09\r\n2014-05-29,0.09\r\n2014-05-30,0.08\r\n2014-05-31,0.08\r\n2014-06-01,0.08\r\n2014-06-02,0.09\r\n2014-06-03,0.10\r\n2014-06-04,0.09\r\n2014-06-05,0.09\r\n2014-06-06,0.09\r\n2014-06-07,0.09\r\n2014-06-08,0.09\r\n2014-06-09,0.09\r\n2014-06-10,0.09\r\n2014-06-11,0.09\r\n2014-06-12,0.09\r\n2014-06-13,0.10\r\n2014-06-14,0.10\r\n2014-06-15,0.10\r\n2014-06-16,0.10\r\n2014-06-17,0.10\r\n2014-06-18,0.10\r\n2014-06-19,0.10\r\n2014-06-20,0.10\r\n2014-06-21,0.10\r\n2014-06-22,0.10\r\n2014-06-23,0.10\r\n2014-06-24,0.10\r\n2014-06-25,0.10\r\n2014-06-26,0.10\r\n2014-06-27,0.10\r\n2014-06-28,0.10\r\n2014-06-29,0.10\r\n2014-06-30,0.09\r\n2014-07-01,0.10\r\n2014-07-02,0.10\r\n2014-07-03,0.09\r\n2014-07-04,0.09\r\n2014-07-05,0.09\r\n2014-07-06,0.09\r\n2014-07-07,0.10\r\n2014-07-08,0.09\r\n2014-07-09,0.09\r\n2014-07-10,0.09\r\n2014-07-11,0.09\r\n2014-07-12,0.09\r\n2014-07-13,0.09\r\n2014-07-14,0.09\r\n2014-07-15,0.09\r\n2014-07-16,0.09\r\n2014-07-17,0.09\r\n2014-07-18,0.09\r\n2014-07-19,0.09\r\n2014-07-20,0.09\r\n2014-07-21,0.10\r\n2014-07-22,0.09\r\n2014-07-23,0.09\r\n2014-07-24,0.09\r\n2014-07-25,0.09\r\n2014-07-26,0.09\r\n2014-07-27,0.09\r\n2014-07-28,0.09\r\n2014-07-29,0.09\r\n2014-07-30,0.09\r\n2014-07-31,0.08\r\n2014-08-01,0.09\r\n2014-08-02,0.09\r\n2014-08-03,0.09\r\n2014-08-04,0.09\r\n2014-08-05,0.09\r\n2014-08-06,0.09\r\n2014-08-07,0.09\r\n2014-08-08,0.09\r\n2014-08-09,0.09\r\n2014-08-10,0.09\r\n2014-08-11,0.09\r\n2014-08-12,0.09\r\n2014-08-13,0.09\r\n2014-08-14,0.09\r\n2014-08-15,0.09\r\n2014-08-16,0.09\r\n2014-08-17,0.09\r\n2014-08-18,0.09\r\n2014-08-19,0.09\r\n2014-08-20,0.09\r\n2014-08-21,0.09\r\n2014-08-22,0.09\r\n2014-08-23,0.09\r\n2014-08-24,0.09\r\n2014-08-25,0.09\r\n2014-08-26,0.09\r\n2014-08-27,0.09\r\n2014-08-28,0.09\r\n2014-08-29,0.07\r\n2014-08-30,0.07\r\n2014-08-31,0.07\r\n2014-09-01,0.07\r\n2014-09-02,0.09\r\n2014-09-03,0.09\r\n2014-09-04,0.09\r\n2014-09-05,0.09\r\n2014-09-06,0.09\r\n2014-09-07,0.09\r\n2014-09-08,0.09\r\n2014-09-09,0.09\r\n2014-09-10,0.09\r\n2014-09-11,0.09\r\n2014-09-12,0.09\r\n2014-09-13,0.09\r\n2014-09-14,0.09\r\n2014-09-15,0.09\r\n2014-09-16,0.09\r\n2014-09-17,0.09\r\n2014-09-18,0.09\r\n2014-09-19,0.09\r\n2014-09-20,0.09\r\n2014-09-21,0.09\r\n2014-09-22,0.09\r\n2014-09-23,0.09\r\n2014-09-24,0.09\r\n2014-09-25,0.09\r\n2014-09-26,0.09\r\n2014-09-27,0.09\r\n2014-09-28,0.09\r\n2014-09-29,0.08\r\n2014-09-30,0.07\r\n2014-10-01,0.09\r\n2014-10-02,0.09\r\n2014-10-03,0.09\r\n2014-10-04,0.09\r\n2014-10-05,0.09\r\n2014-10-06,0.09\r\n2014-10-07,0.09\r\n2014-10-08,0.09\r\n2014-10-09,0.08\r\n2014-10-10,0.09\r\n2014-10-11,0.09\r\n2014-10-12,0.09\r\n2014-10-13,0.09\r\n2014-10-14,0.09\r\n2014-10-15,0.09\r\n2014-10-16,0.09\r\n2014-10-17,0.09\r\n2014-10-18,0.09\r\n2014-10-19,0.09\r\n2014-10-20,0.09\r\n2014-10-21,0.09\r\n2014-10-22,0.09\r\n2014-10-23,0.09\r\n2014-10-24,0.09\r\n2014-10-25,0.09\r\n2014-10-26,0.09\r\n2014-10-27,0.09\r\n2014-10-28,0.09\r\n2014-10-29,0.09\r\n2014-10-30,0.09\r\n2014-10-31,0.07\r\n2014-11-01,0.07\r\n2014-11-02,0.07\r\n2014-11-03,0.09\r\n2014-11-04,0.10\r\n2014-11-05,0.09\r\n2014-11-06,0.09\r\n2014-11-07,0.09\r\n2014-11-08,0.09\r\n2014-11-09,0.09\r\n2014-11-10,0.09\r\n2014-11-11,0.09\r\n2014-11-12,0.09\r\n2014-11-13,0.09\r\n2014-11-14,0.09\r\n2014-11-15,0.09\r\n2014-11-16,0.09\r\n2014-11-17,0.10\r\n2014-11-18,0.11\r\n2014-11-19,0.10\r\n2014-11-20,0.10\r\n2014-11-21,0.10\r\n2014-11-22,0.10\r\n2014-11-23,0.10\r\n2014-11-24,0.10\r\n2014-11-25,0.10\r\n2014-11-26,0.10\r\n2014-11-27,0.10\r\n2014-11-28,0.08\r\n2014-11-29,0.08\r\n2014-11-30,0.08\r\n2014-12-01,0.13\r\n2014-12-02,0.12\r\n2014-12-03,0.12\r\n2014-12-04,0.12\r\n2014-12-05,0.12\r\n2014-12-06,0.12\r\n2014-12-07,0.12\r\n2014-12-08,0.12\r\n2014-12-09,0.12\r\n2014-12-10,0.12\r\n2014-12-11,0.12\r\n2014-12-12,0.12\r\n2014-12-13,0.12\r\n2014-12-14,0.12\r\n2014-12-15,0.11\r\n2014-12-16,0.12\r\n2014-12-17,0.13\r\n2014-12-18,0.13\r\n2014-12-19,0.13\r\n2014-12-20,0.13\r\n2014-12-21,0.13\r\n2014-12-22,0.13\r\n2014-12-23,0.13\r\n2014-12-24,0.13\r\n2014-12-25,0.13\r\n2014-12-26,0.13\r\n2014-12-27,0.13\r\n2014-12-28,0.13\r\n2014-12-29,0.13\r\n2014-12-30,0.13\r\n2014-12-31,0.06\r\n2015-01-01,0.06\r\n2015-01-02,0.12\r\n2015-01-03,0.12\r\n2015-01-04,0.12\r\n2015-01-05,0.12\r\n2015-01-06,0.12\r\n2015-01-07,0.12\r\n2015-01-08,0.12\r\n2015-01-09,0.12\r\n2015-01-10,0.12\r\n2015-01-11,0.12\r\n2015-01-12,0.12\r\n2015-01-13,0.12\r\n2015-01-14,0.12\r\n2015-01-15,0.12\r\n2015-01-16,0.13\r\n2015-01-17,0.13\r\n2015-01-18,0.13\r\n2015-01-19,0.13\r\n2015-01-20,0.12\r\n2015-01-21,0.12\r\n2015-01-22,0.12\r\n2015-01-23,0.12\r\n2015-01-24,0.12\r\n2015-01-25,0.12\r\n2015-01-26,0.12\r\n2015-01-27,0.11\r\n2015-01-28,0.12\r\n2015-01-29,0.11\r\n2015-01-30,0.06\r\n2015-01-31,0.06\r\n2015-02-01,0.06\r\n2015-02-02,0.12\r\n2015-02-03,0.12\r\n2015-02-04,0.11\r\n2015-02-05,0.12\r\n2015-02-06,0.11\r\n2015-02-07,0.11\r\n2015-02-08,0.11\r\n2015-02-09,0.12\r\n2015-02-10,0.12\r\n2015-02-11,0.12\r\n2015-02-12,0.12\r\n2015-02-13,0.12\r\n2015-02-14,0.12\r\n2015-02-15,0.12\r\n2015-02-16,0.12\r\n2015-02-17,0.12\r\n2015-02-18,0.12\r\n2015-02-19,0.12\r\n2015-02-20,0.12\r\n2015-02-21,0.12\r\n2015-02-22,0.12\r\n2015-02-23,0.11\r\n2015-02-24,0.11\r\n2015-02-25,0.11\r\n2015-02-26,0.11\r\n2015-02-27,0.06\r\n2015-02-28,0.06\r\n2015-03-01,0.06\r\n2015-03-02,0.12\r\n2015-03-03,0.12\r\n2015-03-04,0.11\r\n2015-03-05,0.11\r\n2015-03-06,0.12\r\n2015-03-07,0.12\r\n2015-03-08,0.12\r\n2015-03-09,0.12\r\n2015-03-10,0.12\r\n2015-03-11,0.11\r\n2015-03-12,0.11\r\n2015-03-13,0.11\r\n2015-03-14,0.11\r\n2015-03-15,0.11\r\n2015-03-16,0.12\r\n2015-03-17,0.12\r\n2015-03-18,0.11\r\n2015-03-19,0.12\r\n2015-03-20,0.12\r\n2015-03-21,0.12\r\n2015-03-22,0.12\r\n2015-03-23,0.12\r\n2015-03-24,0.11\r\n2015-03-25,0.12\r\n2015-03-26,0.11\r\n2015-03-27,0.12\r\n2015-03-28,0.12\r\n2015-03-29,0.12\r\n2015-03-30,0.12\r\n2015-03-31,0.06\r\n2015-04-01,0.12\r\n2015-04-02,0.12\r\n2015-04-03,0.12\r\n2015-04-04,0.12\r\n2015-04-05,0.12\r\n2015-04-06,0.13\r\n2015-04-07,0.12\r\n2015-04-08,0.12\r\n2015-04-09,0.12\r\n2015-04-10,0.12\r\n2015-04-11,0.12\r\n2015-04-12,0.12\r\n2015-04-13,0.13\r\n2015-04-14,0.13\r\n2015-04-15,0.13\r\n2015-04-16,0.13\r\n2015-04-17,0.13\r\n2015-04-18,0.13\r\n2015-04-19,0.13\r\n2015-04-20,0.13\r\n2015-04-21,0.13\r\n2015-04-22,0.13\r\n2015-04-23,0.13\r\n2015-04-24,0.13\r\n2015-04-25,0.13\r\n2015-04-26,0.13\r\n2015-04-27,0.13\r\n2015-04-28,0.13\r\n2015-04-29,0.13\r\n2015-04-30,0.08\r\n2015-05-01,0.13\r\n2015-05-02,0.13\r\n2015-05-03,0.13\r\n2015-05-04,0.13\r\n2015-05-05,0.13\r\n2015-05-06,0.13\r\n2015-05-07,0.13\r\n2015-05-08,0.13\r\n2015-05-09,0.13\r\n2015-05-10,0.13\r\n2015-05-11,0.13\r\n2015-05-12,0.13\r\n2015-05-13,0.13\r\n2015-05-14,0.13\r\n2015-05-15,0.13\r\n2015-05-16,0.13\r\n2015-05-17,0.13\r\n2015-05-18,0.13\r\n2015-05-19,0.12\r\n2015-05-20,0.12\r\n2015-05-21,0.12\r\n2015-05-22,0.13\r\n2015-05-23,0.13\r\n2015-05-24,0.13\r\n2015-05-25,0.13\r\n2015-05-26,0.12\r\n2015-05-27,0.12\r\n2015-05-28,0.12\r\n2015-05-29,0.08\r\n2015-05-30,0.08\r\n2015-05-31,0.08\r\n2015-06-01,0.12\r\n2015-06-02,0.12\r\n2015-06-03,0.13\r\n2015-06-04,0.13\r\n2015-06-05,0.13\r\n2015-06-06,0.13\r\n2015-06-07,0.13\r\n2015-06-08,0.13\r\n2015-06-09,0.13\r\n2015-06-10,0.13\r\n2015-06-11,0.13\r\n2015-06-12,0.13\r\n2015-06-13,0.13\r\n2015-06-14,0.13\r\n2015-06-15,0.13\r\n2015-06-16,0.14\r\n2015-06-17,0.14\r\n2015-06-18,0.14\r\n2015-06-19,0.13\r\n2015-06-20,0.13\r\n2015-06-21,0.13\r\n2015-06-22,0.13\r\n2015-06-23,0.13\r\n2015-06-24,0.13\r\n2015-06-25,0.13\r\n2015-06-26,0.13\r\n2015-06-27,0.13\r\n2015-06-28,0.13\r\n2015-06-29,0.14\r\n2015-06-30,0.08\r\n2015-07-01,0.13\r\n2015-07-02,0.13\r\n2015-07-03,0.13\r\n2015-07-04,0.13\r\n2015-07-05,0.13\r\n2015-07-06,0.13\r\n2015-07-07,0.13\r\n2015-07-08,0.13\r\n2015-07-09,0.13\r\n2015-07-10,0.13\r\n2015-07-11,0.13\r\n2015-07-12,0.13\r\n2015-07-13,0.13\r\n2015-07-14,0.13\r\n2015-07-15,0.13\r\n2015-07-16,0.14\r\n2015-07-17,0.13\r\n2015-07-18,0.13\r\n2015-07-19,0.13\r\n2015-07-20,0.14\r\n2015-07-21,0.13\r\n2015-07-22,0.13\r\n2015-07-23,0.13\r\n2015-07-24,0.13\r\n2015-07-25,0.13\r\n2015-07-26,0.13\r\n2015-07-27,0.14\r\n2015-07-28,0.14\r\n2015-07-29,0.14\r\n2015-07-30,0.14\r\n2015-07-31,0.08\r\n2015-08-01,0.08\r\n2015-08-02,0.08\r\n2015-08-03,0.14\r\n2015-08-04,0.14\r\n2015-08-05,0.14\r\n2015-08-06,0.14\r\n2015-08-07,0.14\r\n2015-08-08,0.14\r\n2015-08-09,0.14\r\n2015-08-10,0.14\r\n2015-08-11,0.15\r\n2015-08-12,0.15\r\n2015-08-13,0.15\r\n2015-08-14,0.14\r\n2015-08-15,0.14\r\n2015-08-16,0.14\r\n2015-08-17,0.15\r\n2015-08-18,0.15\r\n2015-08-19,0.15\r\n2015-08-20,0.15\r\n2015-08-21,0.15\r\n2015-08-22,0.15\r\n2015-08-23,0.15\r\n2015-08-24,0.15\r\n2015-08-25,0.15\r\n2015-08-26,0.14\r\n2015-08-27,0.14\r\n2015-08-28,0.14\r\n2015-08-29,0.14\r\n2015-08-30,0.14\r\n2015-08-31,0.08\r\n2015-09-01,0.14\r\n2015-09-02,0.14\r\n2015-09-03,0.14\r\n2015-09-04,0.14\r\n2015-09-05,0.14\r\n2015-09-06,0.14\r\n2015-09-07,0.14\r\n2015-09-08,0.14\r\n2015-09-09,0.14\r\n2015-09-10,0.14\r\n2015-09-11,0.14\r\n2015-09-12,0.14\r\n2015-09-13,0.14\r\n2015-09-14,0.14\r\n2015-09-15,0.14\r\n2015-09-16,0.14\r\n2015-09-17,0.14\r\n2015-09-18,0.14\r\n2015-09-19,0.14\r\n2015-09-20,0.14\r\n2015-09-21,0.14\r\n2015-09-22,0.14\r\n2015-09-23,0.14\r\n2015-09-24,0.14\r\n2015-09-25,0.13\r\n2015-09-26,0.13\r\n2015-09-27,0.13\r\n2015-09-28,0.13\r\n2015-09-29,0.13\r\n2015-09-30,0.07\r\n2015-10-01,0.13\r\n2015-10-02,0.13\r\n2015-10-03,0.13\r\n2015-10-04,0.13\r\n2015-10-05,0.13\r\n2015-10-06,0.13\r\n2015-10-07,0.13\r\n2015-10-08,0.13\r\n2015-10-09,0.13\r\n2015-10-10,0.13\r\n2015-10-11,0.13\r\n2015-10-12,0.13\r\n2015-10-13,0.13\r\n2015-10-14,0.13\r\n2015-10-15,0.13\r\n2015-10-16,0.13\r\n2015-10-17,0.13\r\n2015-10-18,0.13\r\n2015-10-19,0.13\r\n2015-10-20,0.13\r\n2015-10-21,0.13\r\n2015-10-22,0.12\r\n2015-10-23,0.12\r\n2015-10-24,0.12\r\n2015-10-25,0.12\r\n2015-10-26,0.12\r\n2015-10-27,0.12\r\n2015-10-28,0.12\r\n2015-10-29,0.12\r\n2015-10-30,0.07\r\n2015-10-31,0.07\r\n2015-11-01,0.07\r\n2015-11-02,0.12\r\n2015-11-03,0.12\r\n2015-11-04,0.12\r\n2015-11-05,0.12\r\n2015-11-06,0.12\r\n2015-11-07,0.12\r\n2015-11-08,0.12\r\n2015-11-09,0.12\r\n2015-11-10,0.12\r\n2015-11-11,0.12\r\n2015-11-12,0.12\r\n2015-11-13,0.12\r\n2015-11-14,0.12\r\n2015-11-15,0.12\r\n2015-11-16,0.13\r\n2015-11-17,0.13\r\n2015-11-18,0.12\r\n2015-11-19,0.12\r\n2015-11-20,0.12\r\n2015-11-21,0.12\r\n2015-11-22,0.12\r\n2015-11-23,0.12\r\n2015-11-24,0.12\r\n2015-11-25,0.12\r\n2015-11-26,0.12\r\n2015-11-27,0.12\r\n2015-11-28,0.12\r\n2015-11-29,0.12\r\n2015-11-30,0.08\r\n2015-12-01,0.13\r\n2015-12-02,0.13\r\n2015-12-03,0.13\r\n2015-12-04,0.13\r\n2015-12-05,0.13\r\n2015-12-06,0.13\r\n2015-12-07,0.13\r\n2015-12-08,0.13\r\n2015-12-09,0.14\r\n2015-12-10,0.14\r\n2015-12-11,0.14\r\n2015-12-12,0.14\r\n2015-12-13,0.14\r\n2015-12-14,0.15\r\n2015-12-15,0.15\r\n2015-12-16,0.15\r\n2015-12-17,0.37\r\n2015-12-18,0.37\r\n2015-12-19,0.37\r\n2015-12-20,0.37\r\n2015-12-21,0.36\r\n2015-12-22,0.36\r\n2015-12-23,0.36\r\n2015-12-24,0.36\r\n2015-12-25,0.36\r\n2015-12-26,0.36\r\n2015-12-27,0.36\r\n2015-12-28,0.36\r\n2015-12-29,0.36\r\n2015-12-30,0.35\r\n2015-12-31,0.20\r\n2016-01-01,0.20\r\n2016-01-02,0.20\r\n2016-01-03,0.20\r\n2016-01-04,0.36\r\n2016-01-05,0.36\r\n2016-01-06,0.36\r\n2016-01-07,0.36\r\n2016-01-08,0.36\r\n2016-01-09,0.36\r\n2016-01-10,0.36\r\n2016-01-11,0.36\r\n2016-01-12,0.36\r\n2016-01-13,0.36\r\n2016-01-14,0.36\r\n2016-01-15,0.36\r\n2016-01-16,0.36\r\n2016-01-17,0.36\r\n2016-01-18,0.36\r\n2016-01-19,0.36\r\n2016-01-20,0.37\r\n2016-01-21,0.37\r\n2016-01-22,0.38\r\n2016-01-23,0.38\r\n2016-01-24,0.38\r\n2016-01-25,0.38\r\n2016-01-26,0.38\r\n2016-01-27,0.38\r\n2016-01-28,0.38\r\n2016-01-29,0.29\r\n2016-01-30,0.29\r\n2016-01-31,0.29\r\n2016-02-01,0.38\r\n2016-02-02,0.38\r\n2016-02-03,0.38\r\n2016-02-04,0.38\r\n2016-02-05,0.38\r\n2016-02-06,0.38\r\n2016-02-07,0.38\r\n2016-02-08,0.38\r\n2016-02-09,0.38\r\n2016-02-10,0.38\r\n2016-02-11,0.38\r\n2016-02-12,0.38\r\n2016-02-13,0.38\r\n2016-02-14,0.38\r\n2016-02-15,0.38\r\n2016-02-16,0.38\r\n2016-02-17,0.37\r\n2016-02-18,0.38\r\n2016-02-19,0.38\r\n2016-02-20,0.38\r\n2016-02-21,0.38\r\n2016-02-22,0.38\r\n2016-02-23,0.38\r\n2016-02-24,0.38\r\n2016-02-25,0.37\r\n2016-02-26,0.37\r\n2016-02-27,0.37\r\n2016-02-28,0.37\r\n2016-02-29,0.29\r\n2016-03-01,0.36\r\n2016-03-02,0.37\r\n2016-03-03,0.37\r\n2016-03-04,0.36\r\n2016-03-05,0.36\r\n2016-03-06,0.36\r\n2016-03-07,0.36\r\n2016-03-08,0.36\r\n2016-03-09,0.36\r\n2016-03-10,0.36\r\n2016-03-11,0.36\r\n2016-03-12,0.36\r\n2016-03-13,0.36\r\n2016-03-14,0.36\r\n2016-03-15,0.37\r\n2016-03-16,0.37\r\n2016-03-17,0.37\r\n2016-03-18,0.37\r\n2016-03-19,0.37\r\n2016-03-20,0.37\r\n2016-03-21,0.37\r\n2016-03-22,0.37\r\n2016-03-23,0.37\r\n2016-03-24,0.37\r\n2016-03-25,0.37\r\n2016-03-26,0.37\r\n2016-03-27,0.37\r\n2016-03-28,0.37\r\n2016-03-29,0.37\r\n2016-03-30,0.37\r\n2016-03-31,0.25\r\n2016-04-01,0.37\r\n2016-04-02,0.37\r\n2016-04-03,0.37\r\n2016-04-04,0.37\r\n2016-04-05,0.37\r\n2016-04-06,0.37\r\n2016-04-07,0.37\r\n2016-04-08,0.37\r\n2016-04-09,0.37\r\n2016-04-10,0.37\r\n2016-04-11,0.37\r\n2016-04-12,0.37\r\n2016-04-13,0.37\r\n2016-04-14,0.37\r\n2016-04-15,0.37\r\n2016-04-16,0.37\r\n2016-04-17,0.37\r\n2016-04-18,0.37\r\n2016-04-19,0.37\r\n2016-04-20,0.37\r\n2016-04-21,0.37\r\n2016-04-22,0.37\r\n2016-04-23,0.37\r\n2016-04-24,0.37\r\n2016-04-25,0.37\r\n2016-04-26,0.37\r\n2016-04-27,0.37\r\n2016-04-28,0.37\r\n2016-04-29,0.30\r\n2016-04-30,0.30\r\n2016-05-01,0.30\r\n2016-05-02,0.37\r\n2016-05-03,0.37\r\n2016-05-04,0.37\r\n2016-05-05,0.37\r\n2016-05-06,0.37\r\n2016-05-07,0.37\r\n2016-05-08,0.37\r\n2016-05-09,0.37\r\n2016-05-10,0.37\r\n2016-05-11,0.37\r\n2016-05-12,0.37\r\n2016-05-13,0.37\r\n2016-05-14,0.37\r\n2016-05-15,0.37\r\n2016-05-16,0.37\r\n2016-05-17,0.37\r\n2016-05-18,0.37\r\n2016-05-19,0.37\r\n2016-05-20,0.37\r\n2016-05-21,0.37\r\n2016-05-22,0.37\r\n2016-05-23,0.37\r\n2016-05-24,0.37\r\n2016-05-25,0.37\r\n2016-05-26,0.37\r\n2016-05-27,0.37\r\n2016-05-28,0.37\r\n2016-05-29,0.37\r\n2016-05-30,0.37\r\n2016-05-31,0.29\r\n2016-06-01,0.37\r\n2016-06-02,0.37\r\n2016-06-03,0.37\r\n2016-06-04,0.37\r\n2016-06-05,0.37\r\n2016-06-06,0.37\r\n2016-06-07,0.37\r\n2016-06-08,0.37\r\n2016-06-09,0.37\r\n2016-06-10,0.37\r\n2016-06-11,0.37\r\n2016-06-12,0.37\r\n2016-06-13,0.37\r\n2016-06-14,0.37\r\n2016-06-15,0.37\r\n2016-06-16,0.38\r\n2016-06-17,0.38\r\n2016-06-18,0.38\r\n2016-06-19,0.38\r\n2016-06-20,0.38\r\n2016-06-21,0.38\r\n2016-06-22,0.38\r\n2016-06-23,0.39\r\n2016-06-24,0.40\r\n2016-06-25,0.40\r\n2016-06-26,0.40\r\n2016-06-27,0.41\r\n2016-06-28,0.41\r\n2016-06-29,0.41\r\n2016-06-30,0.30\r\n2016-07-01,0.41\r\n2016-07-02,0.41\r\n2016-07-03,0.41\r\n2016-07-04,0.41\r\n2016-07-05,0.40\r\n2016-07-06,0.40\r\n2016-07-07,0.40\r\n2016-07-08,0.40\r\n2016-07-09,0.40\r\n2016-07-10,0.40\r\n2016-07-11,0.40\r\n2016-07-12,0.40\r\n2016-07-13,0.40\r\n2016-07-14,0.40\r\n2016-07-15,0.40\r\n2016-07-16,0.40\r\n2016-07-17,0.40\r\n2016-07-18,0.40\r\n2016-07-19,0.40\r\n2016-07-20,0.40\r\n2016-07-21,0.40\r\n2016-07-22,0.40\r\n2016-07-23,0.40\r\n2016-07-24,0.40\r\n2016-07-25,0.40\r\n2016-07-26,0.40\r\n2016-07-27,0.40\r\n2016-07-28,0.40\r\n2016-07-29,0.30\r\n2016-07-30,0.30\r\n2016-07-31,0.30\r\n2016-08-01,0.40\r\n2016-08-02,0.40\r\n2016-08-03,0.40\r\n2016-08-04,0.40\r\n2016-08-05,0.40\r\n2016-08-06,0.40\r\n2016-08-07,0.40\r\n2016-08-08,0.40\r\n2016-08-09,0.40\r\n2016-08-10,0.40\r\n2016-08-11,0.40\r\n2016-08-12,0.40\r\n2016-08-13,0.40\r\n2016-08-14,0.40\r\n2016-08-15,0.40\r\n2016-08-16,0.40\r\n2016-08-17,0.40\r\n2016-08-18,0.40\r\n2016-08-19,0.40\r\n2016-08-20,0.40\r\n2016-08-21,0.40\r\n2016-08-22,0.40\r\n2016-08-23,0.40\r\n2016-08-24,0.40\r\n2016-08-25,0.40\r\n2016-08-26,0.40\r\n2016-08-27,0.40\r\n2016-08-28,0.40\r\n2016-08-29,0.40\r\n2016-08-30,0.40\r\n2016-08-31,0.30\r\n2016-09-01,0.40\r\n2016-09-02,0.40\r\n2016-09-03,0.40\r\n2016-09-04,0.40\r\n2016-09-05,0.40\r\n2016-09-06,0.40\r\n2016-09-07,0.40\r\n2016-09-08,0.40\r\n2016-09-09,0.40\r\n2016-09-10,0.40\r\n2016-09-11,0.40\r\n2016-09-12,0.40\r\n2016-09-13,0.40\r\n2016-09-14,0.40\r\n2016-09-15,0.40\r\n2016-09-16,0.40\r\n2016-09-17,0.40\r\n2016-09-18,0.40\r\n2016-09-19,0.40\r\n2016-09-20,0.40\r\n2016-09-21,0.40\r\n2016-09-22,0.40\r\n2016-09-23,0.40\r\n2016-09-24,0.40\r\n2016-09-25,0.40\r\n2016-09-26,0.40\r\n2016-09-27,0.40\r\n2016-09-28,0.40\r\n2016-09-29,0.40\r\n2016-09-30,0.29\r\n2016-10-01,0.29\r\n2016-10-02,0.29\r\n2016-10-03,0.40\r\n2016-10-04,0.40\r\n2016-10-05,0.40\r\n2016-10-06,0.40\r\n2016-10-07,0.40\r\n2016-10-08,0.40\r\n2016-10-09,0.40\r\n2016-10-10,0.40\r\n2016-10-11,0.41\r\n2016-10-12,0.41\r\n2016-10-13,0.41\r\n2016-10-14,0.41\r\n2016-10-15,0.41\r\n2016-10-16,0.41\r\n2016-10-17,0.41\r\n2016-10-18,0.41\r\n2016-10-19,0.41\r\n2016-10-20,0.41\r\n2016-10-21,0.41\r\n2016-10-22,0.41\r\n2016-10-23,0.41\r\n2016-10-24,0.41\r\n2016-10-25,0.41\r\n2016-10-26,0.41\r\n2016-10-27,0.41\r\n2016-10-28,0.41\r\n2016-10-29,0.41\r\n2016-10-30,0.41\r\n2016-10-31,0.31\r\n2016-11-01,0.41\r\n2016-11-02,0.41\r\n2016-11-03,0.41\r\n2016-11-04,0.41\r\n2016-11-05,0.41\r\n2016-11-06,0.41\r\n2016-11-07,0.41\r\n2016-11-08,0.41\r\n2016-11-09,0.41\r\n2016-11-10,0.41\r\n2016-11-11,0.41\r\n2016-11-12,0.41\r\n2016-11-13,0.41\r\n2016-11-14,0.41\r\n2016-11-15,0.41\r\n2016-11-16,0.41\r\n2016-11-17,0.41\r\n2016-11-18,0.41\r\n2016-11-19,0.41\r\n2016-11-20,0.41\r\n2016-11-21,0.41\r\n2016-11-22,0.41\r\n2016-11-23,0.41\r\n2016-11-24,0.41\r\n2016-11-25,0.41\r\n2016-11-26,0.41\r\n2016-11-27,0.41\r\n2016-11-28,0.41\r\n2016-11-29,0.41\r\n2016-11-30,0.31\r\n2016-12-01,0.41\r\n2016-12-02,0.41\r\n2016-12-03,0.41\r\n2016-12-04,0.41\r\n2016-12-05,0.41\r\n2016-12-06,0.41\r\n2016-12-07,0.41\r\n2016-12-08,0.41\r\n2016-12-09,0.41\r\n2016-12-10,0.41\r\n2016-12-11,0.41\r\n2016-12-12,0.41\r\n2016-12-13,0.41\r\n2016-12-14,0.41\r\n2016-12-15,0.66\r\n2016-12-16,0.66\r\n2016-12-17,0.66\r\n2016-12-18,0.66\r\n2016-12-19,0.66\r\n2016-12-20,0.66\r\n2016-12-21,0.66\r\n2016-12-22,0.66\r\n2016-12-23,0.66\r\n2016-12-24,0.66\r\n2016-12-25,0.66\r\n2016-12-26,0.66\r\n2016-12-27,0.66\r\n2016-12-28,0.66\r\n2016-12-29,0.66\r\n2016-12-30,0.55\r\n2016-12-31,0.55\r\n2017-01-01,0.55\r\n2017-01-02,0.55\r\n2017-01-03,0.66\r\n2017-01-04,0.66\r\n2017-01-05,0.66\r\n2017-01-06,0.66\r\n2017-01-07,0.66\r\n2017-01-08,0.66\r\n2017-01-09,0.66\r\n2017-01-10,0.66\r\n2017-01-11,0.66\r\n2017-01-12,0.66\r\n2017-01-13,0.66\r\n2017-01-14,0.66\r\n2017-01-15,0.66\r\n2017-01-16,0.66\r\n2017-01-17,0.66\r\n2017-01-18,0.66\r\n2017-01-19,0.66\r\n2017-01-20,0.66\r\n2017-01-21,0.66\r\n2017-01-22,0.66\r\n2017-01-23,0.66\r\n2017-01-24,0.66\r\n2017-01-25,0.66\r\n2017-01-26,0.66\r\n2017-01-27,0.66\r\n2017-01-28,0.66\r\n2017-01-29,0.66\r\n2017-01-30,0.66\r\n2017-01-31,0.56\r\n2017-02-01,0.66\r\n2017-02-02,0.66\r\n2017-02-03,0.66\r\n2017-02-04,0.66\r\n2017-02-05,0.66\r\n2017-02-06,0.66\r\n2017-02-07,0.66\r\n2017-02-08,0.66\r\n2017-02-09,0.66\r\n2017-02-10,0.66\r\n2017-02-11,0.66\r\n2017-02-12,0.66\r\n2017-02-13,0.66\r\n2017-02-14,0.66\r\n2017-02-15,0.66\r\n2017-02-16,0.66\r\n2017-02-17,0.66\r\n2017-02-18,0.66\r\n2017-02-19,0.66\r\n2017-02-20,0.66\r\n2017-02-21,0.66\r\n2017-02-22,0.66\r\n2017-02-23,0.66\r\n2017-02-24,0.66\r\n2017-02-25,0.66\r\n2017-02-26,0.66\r\n2017-02-27,0.66\r\n2017-02-28,0.57\r\n2017-03-01,0.66\r\n2017-03-02,0.66\r\n2017-03-03,0.66\r\n2017-03-04,0.66\r\n2017-03-05,0.66\r\n2017-03-06,0.66\r\n2017-03-07,0.66\r\n2017-03-08,0.66\r\n2017-03-09,0.66\r\n2017-03-10,0.66\r\n2017-03-11,0.66\r\n2017-03-12,0.66\r\n2017-03-13,0.66\r\n2017-03-14,0.66\r\n2017-03-15,0.66\r\n2017-03-16,0.91\r\n2017-03-17,0.91\r\n2017-03-18,0.91\r\n2017-03-19,0.91\r\n2017-03-20,0.91\r\n2017-03-21,0.91\r\n2017-03-22,0.91\r\n2017-03-23,0.91\r\n2017-03-24,0.91\r\n2017-03-25,0.91\r\n2017-03-26,0.91\r\n2017-03-27,0.91\r\n2017-03-28,0.91\r\n2017-03-29,0.91\r\n2017-03-30,0.91\r\n2017-03-31,0.82\r\n2017-04-01,0.82\r\n2017-04-02,0.82\r\n2017-04-03,0.91\r\n2017-04-04,0.91\r\n2017-04-05,0.91\r\n2017-04-06,0.91\r\n2017-04-07,0.91\r\n2017-04-08,0.91\r\n2017-04-09,0.91\r\n2017-04-10,0.91\r\n2017-04-11,0.91\r\n2017-04-12,0.91\r\n2017-04-13,0.91\r\n2017-04-14,0.91\r\n2017-04-15,0.91\r\n2017-04-16,0.91\r\n2017-04-17,0.91\r\n2017-04-18,0.91\r\n2017-04-19,0.91\r\n2017-04-20,0.91\r\n2017-04-21,0.91\r\n2017-04-22,0.91\r\n2017-04-23,0.91\r\n2017-04-24,0.91\r\n2017-04-25,0.91\r\n2017-04-26,0.91\r\n2017-04-27,0.91\r\n2017-04-28,0.83\r\n2017-04-29,0.83\r\n2017-04-30,0.83\r\n2017-05-01,0.91\r\n2017-05-02,0.91\r\n2017-05-03,0.91\r\n2017-05-04,0.91\r\n2017-05-05,0.91\r\n2017-05-06,0.91\r\n2017-05-07,0.91\r\n2017-05-08,0.91\r\n2017-05-09,0.91\r\n2017-05-10,0.91\r\n2017-05-11,0.91\r\n2017-05-12,0.91\r\n2017-05-13,0.91\r\n2017-05-14,0.91\r\n2017-05-15,0.91\r\n2017-05-16,0.91\r\n2017-05-17,0.91\r\n2017-05-18,0.91\r\n2017-05-19,0.91\r\n2017-05-20,0.91\r\n2017-05-21,0.91\r\n2017-05-22,0.91\r\n2017-05-23,0.91\r\n2017-05-24,0.91\r\n2017-05-25,0.91\r\n2017-05-26,0.91\r\n2017-05-27,0.91\r\n2017-05-28,0.91\r\n2017-05-29,0.91\r\n2017-05-30,0.91\r\n2017-05-31,0.83\r\n2017-06-01,0.91\r\n2017-06-02,0.91\r\n2017-06-03,0.91\r\n2017-06-04,0.91\r\n2017-06-05,0.91\r\n2017-06-06,0.91\r\n2017-06-07,0.91\r\n2017-06-08,0.91\r\n2017-06-09,0.91\r\n2017-06-10,0.91\r\n2017-06-11,0.91\r\n2017-06-12,0.91\r\n2017-06-13,0.91\r\n2017-06-14,0.91\r\n2017-06-15,1.16\r\n2017-06-16,1.16\r\n2017-06-17,1.16\r\n2017-06-18,1.16\r\n2017-06-19,1.16\r\n2017-06-20,1.16\r\n2017-06-21,1.16\r\n2017-06-22,1.16\r\n2017-06-23,1.16\r\n2017-06-24,1.16\r\n2017-06-25,1.16\r\n2017-06-26,1.16\r\n2017-06-27,1.16\r\n2017-06-28,1.16\r\n2017-06-29,1.16\r\n2017-06-30,1.06\r\n2017-07-01,1.06\r\n2017-07-02,1.06\r\n2017-07-03,1.16\r\n2017-07-04,1.16\r\n2017-07-05,1.16\r\n2017-07-06,1.16\r\n2017-07-07,1.16\r\n2017-07-08,1.16\r\n2017-07-09,1.16\r\n2017-07-10,1.16\r\n2017-07-11,1.16\r\n2017-07-12,1.16\r\n2017-07-13,1.16\r\n2017-07-14,1.16\r\n2017-07-15,1.16\r\n2017-07-16,1.16\r\n2017-07-17,1.16\r\n2017-07-18,1.16\r\n2017-07-19,1.16\r\n2017-07-20,1.16\r\n2017-07-21,1.16\r\n2017-07-22,1.16\r\n2017-07-23,1.16\r\n2017-07-24,1.16\r\n2017-07-25,1.16\r\n2017-07-26,1.16\r\n2017-07-27,1.16\r\n2017-07-28,1.16\r\n2017-07-29,1.16\r\n2017-07-30,1.16\r\n2017-07-31,1.07\r\n2017-08-01,1.16\r\n2017-08-02,1.16\r\n2017-08-03,1.16\r\n2017-08-04,1.16\r\n2017-08-05,1.16\r\n2017-08-06,1.16\r\n2017-08-07,1.16\r\n2017-08-08,1.16\r\n2017-08-09,1.16\r\n2017-08-10,1.16\r\n2017-08-11,1.16\r\n2017-08-12,1.16\r\n2017-08-13,1.16\r\n2017-08-14,1.16\r\n2017-08-15,1.16\r\n2017-08-16,1.16\r\n2017-08-17,1.16\r\n2017-08-18,1.16\r\n2017-08-19,1.16\r\n2017-08-20,1.16\r\n2017-08-21,1.16\r\n2017-08-22,1.16\r\n2017-08-23,1.16\r\n2017-08-24,1.16\r\n2017-08-25,1.16\r\n2017-08-26,1.16\r\n2017-08-27,1.16\r\n2017-08-28,1.16\r\n2017-08-29,1.16\r\n2017-08-30,1.16\r\n2017-08-31,1.07\r\n2017-09-01,1.16\r\n2017-09-02,1.16\r\n2017-09-03,1.16\r\n2017-09-04,1.16\r\n2017-09-05,1.16\r\n2017-09-06,1.16\r\n2017-09-07,1.16\r\n2017-09-08,1.16\r\n2017-09-09,1.16\r\n2017-09-10,1.16\r\n2017-09-11,1.16\r\n2017-09-12,1.16\r\n2017-09-13,1.16\r\n2017-09-14,1.16\r\n2017-09-15,1.16\r\n2017-09-16,1.16\r\n2017-09-17,1.16\r\n2017-09-18,1.16\r\n2017-09-19,1.16\r\n2017-09-20,1.16\r\n2017-09-21,1.16\r\n2017-09-22,1.16\r\n2017-09-23,1.16\r\n2017-09-24,1.16\r\n2017-09-25,1.16\r\n2017-09-26,1.16\r\n2017-09-27,1.16\r\n2017-09-28,1.16\r\n2017-09-29,1.06\r\n2017-09-30,1.06\r\n2017-10-01,1.06\r\n2017-10-02,1.16\r\n2017-10-03,1.16\r\n2017-10-04,1.16\r\n2017-10-05,1.16\r\n2017-10-06,1.16\r\n2017-10-07,1.16\r\n2017-10-08,1.16\r\n2017-10-09,1.16\r\n2017-10-10,1.16\r\n2017-10-11,1.16\r\n2017-10-12,1.16\r\n2017-10-13,1.16\r\n2017-10-14,1.16\r\n2017-10-15,1.16\r\n2017-10-16,1.16\r\n2017-10-17,1.16\r\n2017-10-18,1.16\r\n2017-10-19,1.16\r\n2017-10-20,1.16\r\n2017-10-21,1.16\r\n2017-10-22,1.16\r\n2017-10-23,1.16\r\n2017-10-24,1.16\r\n2017-10-25,1.16\r\n2017-10-26,1.16\r\n2017-10-27,1.16\r\n2017-10-28,1.16\r\n2017-10-29,1.16\r\n2017-10-30,1.16\r\n2017-10-31,1.07\r\n2017-11-01,1.16\r\n2017-11-02,1.16\r\n2017-11-03,1.16\r\n2017-11-04,1.16\r\n2017-11-05,1.16\r\n2017-11-06,1.16\r\n2017-11-07,1.16\r\n2017-11-08,1.16\r\n2017-11-09,1.16\r\n2017-11-10,1.16\r\n2017-11-11,1.16\r\n2017-11-12,1.16\r\n2017-11-13,1.16\r\n2017-11-14,1.16\r\n2017-11-15,1.16\r\n2017-11-16,1.16\r\n2017-11-17,1.16\r\n2017-11-18,1.16\r\n2017-11-19,1.16\r\n2017-11-20,1.16\r\n2017-11-21,1.16\r\n2017-11-22,1.16\r\n2017-11-23,1.16\r\n2017-11-24,1.16\r\n2017-11-25,1.16\r\n2017-11-26,1.16\r\n2017-11-27,1.16\r\n2017-11-28,1.16\r\n2017-11-29,1.16\r\n2017-11-30,1.07\r\n2017-12-01,1.16\r\n2017-12-02,1.16\r\n2017-12-03,1.16\r\n2017-12-04,1.16\r\n2017-12-05,1.16\r\n2017-12-06,1.16\r\n2017-12-07,1.16\r\n2017-12-08,1.16\r\n2017-12-09,1.16\r\n2017-12-10,1.16\r\n2017-12-11,1.16\r\n2017-12-12,1.17\r\n2017-12-13,1.17\r\n2017-12-14,1.41\r\n2017-12-15,1.41\r\n2017-12-16,1.41\r\n2017-12-17,1.41\r\n2017-12-18,1.42\r\n2017-12-19,1.42\r\n2017-12-20,1.42\r\n2017-12-21,1.42\r\n2017-12-22,1.42\r\n2017-12-23,1.42\r\n2017-12-24,1.42\r\n2017-12-25,1.42\r\n2017-12-26,1.42\r\n2017-12-27,1.42\r\n2017-12-28,1.42\r\n2017-12-29,1.33\r\n2017-12-30,1.33\r\n2017-12-31,1.33\r\n2018-01-01,1.33\r\n2018-01-02,1.42\r\n2018-01-03,1.42\r\n2018-01-04,1.42\r\n2018-01-05,1.42\r\n2018-01-06,1.42\r\n2018-01-07,1.42\r\n2018-01-08,1.42\r\n2018-01-09,1.42\r\n2018-01-10,1.42\r\n2018-01-11,1.42\r\n2018-01-12,1.42\r\n2018-01-13,1.42\r\n2018-01-14,1.42\r\n2018-01-15,1.42\r\n2018-01-16,1.42\r\n2018-01-17,1.42\r\n2018-01-18,1.42\r\n2018-01-19,1.42\r\n2018-01-20,1.42\r\n2018-01-21,1.42\r\n2018-01-22,1.42\r\n2018-01-23,1.42\r\n2018-01-24,1.42\r\n2018-01-25,1.42\r\n2018-01-26,1.42\r\n2018-01-27,1.42\r\n2018-01-28,1.42\r\n2018-01-29,1.42\r\n2018-01-30,1.42\r\n2018-01-31,1.34\r\n2018-02-01,1.42\r\n2018-02-02,1.42\r\n2018-02-03,1.42\r\n2018-02-04,1.42\r\n2018-02-05,1.42\r\n2018-02-06,1.42\r\n2018-02-07,1.42\r\n2018-02-08,1.42\r\n2018-02-09,1.42\r\n2018-02-10,1.42\r\n2018-02-11,1.42\r\n2018-02-12,1.42\r\n2018-02-13,1.42\r\n2018-02-14,1.42\r\n2018-02-15,1.42\r\n2018-02-16,1.42\r\n2018-02-17,1.42\r\n2018-02-18,1.42\r\n2018-02-19,1.42\r\n2018-02-20,1.42\r\n2018-02-21,1.42\r\n2018-02-22,1.42\r\n2018-02-23,1.42\r\n2018-02-24,1.42\r\n2018-02-25,1.42\r\n2018-02-26,1.42\r\n2018-02-27,1.42\r\n2018-02-28,1.35\r\n2018-03-01,1.42\r\n2018-03-02,1.42\r\n2018-03-03,1.42\r\n2018-03-04,1.42\r\n2018-03-05,1.42\r\n2018-03-06,1.42\r\n2018-03-07,1.42\r\n2018-03-08,1.42\r\n2018-03-09,1.42\r\n2018-03-10,1.42\r\n2018-03-11,1.42\r\n2018-03-12,1.42\r\n2018-03-13,1.42\r\n2018-03-14,1.42\r\n2018-03-15,1.43\r\n2018-03-16,1.43\r\n2018-03-17,1.43\r\n2018-03-18,1.43\r\n2018-03-19,1.43\r\n2018-03-20,1.44\r\n2018-03-21,1.44\r\n2018-03-22,1.68\r\n2018-03-23,1.68\r\n2018-03-24,1.68\r\n2018-03-25,1.68\r\n2018-03-26,1.68\r\n2018-03-27,1.68\r\n2018-03-28,1.68\r\n2018-03-29,1.68\r\n2018-03-30,1.67\r\n2018-03-31,1.67\r\n2018-04-01,1.67\r\n2018-04-02,1.68\r\n2018-04-03,1.69\r\n2018-04-04,1.69\r\n2018-04-05,1.69\r\n2018-04-06,1.69\r\n2018-04-07,1.69\r\n2018-04-08,1.69\r\n2018-04-09,1.69\r\n2018-04-10,1.69\r\n2018-04-11,1.69\r\n2018-04-12,1.69\r\n2018-04-13,1.69\r\n2018-04-14,1.69\r\n2018-04-15,1.69\r\n2018-04-16,1.69\r\n2018-04-17,1.69\r\n2018-04-18,1.69\r\n2018-04-19,1.69\r\n2018-04-20,1.70\r\n2018-04-21,1.70\r\n2018-04-22,1.70\r\n2018-04-23,1.70\r\n2018-04-24,1.70\r\n2018-04-25,1.70\r\n2018-04-26,1.70\r\n2018-04-27,1.70\r\n2018-04-28,1.70\r\n2018-04-29,1.70\r\n2018-04-30,1.69\r\n2018-05-01,1.70\r\n2018-05-02,1.70\r\n2018-05-03,1.70\r\n2018-05-04,1.70\r\n2018-05-05,1.70\r\n2018-05-06,1.70\r\n2018-05-07,1.70\r\n2018-05-08,1.70\r\n2018-05-09,1.70\r\n2018-05-10,1.70\r\n2018-05-11,1.70\r\n2018-05-12,1.70\r\n2018-05-13,1.70\r\n2018-05-14,1.70\r\n2018-05-15,1.70\r\n2018-05-16,1.70\r\n2018-05-17,1.70\r\n2018-05-18,1.70\r\n2018-05-19,1.70\r\n2018-05-20,1.70\r\n2018-05-21,1.70\r\n2018-05-22,1.70\r\n2018-05-23,1.70\r\n2018-05-24,1.70\r\n2018-05-25,1.70\r\n2018-05-26,1.70\r\n2018-05-27,1.70\r\n2018-05-28,1.70\r\n2018-05-29,1.70\r\n2018-05-30,1.70\r\n2018-05-31,1.70\r\n2018-06-01,1.70\r\n2018-06-02,1.70\r\n2018-06-03,1.70\r\n2018-06-04,1.70\r\n2018-06-05,1.70\r\n2018-06-06,1.70\r\n2018-06-07,1.70\r\n2018-06-08,1.70\r\n2018-06-09,1.70\r\n2018-06-10,1.70\r\n2018-06-11,1.70\r\n2018-06-12,1.70\r\n2018-06-13,1.70\r\n2018-06-14,1.90\r\n2018-06-15,1.90\r\n2018-06-16,1.90\r\n2018-06-17,1.90\r\n2018-06-18,1.90\r\n2018-06-19,1.91\r\n2018-06-20,1.92\r\n2018-06-21,1.92\r\n2018-06-22,1.92\r\n2018-06-23,1.92\r\n2018-06-24,1.92\r\n2018-06-25,1.92\r\n2018-06-26,1.92\r\n2018-06-27,1.91\r\n2018-06-28,1.91\r\n2018-06-29,1.91\r\n2018-06-30,1.91\r\n2018-07-01,1.91\r\n2018-07-02,1.91\r\n2018-07-03,1.91\r\n2018-07-04,1.91\r\n2018-07-05,1.91\r\n2018-07-06,1.91\r\n2018-07-07,1.91\r\n2018-07-08,1.91\r\n2018-07-09,1.91\r\n2018-07-10,1.91\r\n2018-07-11,1.91\r\n2018-07-12,1.91\r\n2018-07-13,1.91\r\n2018-07-14,1.91\r\n2018-07-15,1.91\r\n2018-07-16,1.91\r\n2018-07-17,1.91\r\n2018-07-18,1.91\r\n2018-07-19,1.91\r\n2018-07-20,1.91\r\n2018-07-21,1.91\r\n2018-07-22,1.91\r\n2018-07-23,1.91\r\n2018-07-24,1.91\r\n2018-07-25,1.91\r\n2018-07-26,1.91\r\n2018-07-27,1.91\r\n2018-07-28,1.91\r\n2018-07-29,1.91\r\n2018-07-30,1.91\r\n2018-07-31,1.91\r\n2018-08-01,1.91\r\n2018-08-02,1.91\r\n2018-08-03,1.91\r\n2018-08-04,1.91\r\n2018-08-05,1.91\r\n2018-08-06,1.91\r\n2018-08-07,1.91\r\n2018-08-08,1.91\r\n2018-08-09,1.91\r\n2018-08-10,1.91\r\n2018-08-11,1.91\r\n2018-08-12,1.91\r\n2018-08-13,1.91\r\n2018-08-14,1.91\r\n2018-08-15,1.91\r\n2018-08-16,1.92\r\n2018-08-17,1.92\r\n2018-08-18,1.92\r\n2018-08-19,1.92\r\n2018-08-20,1.92\r\n2018-08-21,1.92\r\n2018-08-22,1.92\r\n2018-08-23,1.92\r\n2018-08-24,1.92\r\n2018-08-25,1.92\r\n2018-08-26,1.92\r\n2018-08-27,1.92\r\n2018-08-28,1.92\r\n2018-08-29,1.92\r\n2018-08-30,1.92\r\n2018-08-31,1.91\r\n2018-09-01,1.91\r\n2018-09-02,1.91\r\n2018-09-03,1.91\r\n2018-09-04,1.92\r\n2018-09-05,1.92\r\n2018-09-06,1.92\r\n2018-09-07,1.92\r\n2018-09-08,1.92\r\n2018-09-09,1.92\r\n2018-09-10,1.92\r\n2018-09-11,1.92\r\n2018-09-12,1.92\r\n2018-09-13,1.92\r\n2018-09-14,1.92\r\n2018-09-15,1.92\r\n2018-09-16,1.92\r\n2018-09-17,1.92\r\n2018-09-18,1.92\r\n2018-09-19,1.92\r\n2018-09-20,1.92\r\n2018-09-21,1.92\r\n2018-09-22,1.92\r\n2018-09-23,1.92\r\n2018-09-24,1.93\r\n2018-09-25,1.93\r\n2018-09-26,1.93\r\n2018-09-27,2.18\r\n2018-09-28,2.18\r\n2018-09-29,2.18\r\n2018-09-30,2.18\r\n2018-10-01,2.18\r\n2018-10-02,2.18\r\n2018-10-03,2.18\r\n2018-10-04,2.18\r\n2018-10-05,2.18\r\n2018-10-06,2.18\r\n2018-10-07,2.18\r\n2018-10-08,2.18\r\n2018-10-09,2.18\r\n2018-10-10,2.18\r\n2018-10-11,2.18\r\n2018-10-12,2.18\r\n2018-10-13,2.18\r\n2018-10-14,2.18\r\n2018-10-15,2.18\r\n2018-10-16,2.18\r\n2018-10-17,2.19\r\n2018-10-18,2.19\r\n2018-10-19,2.19\r\n2018-10-20,2.19\r\n2018-10-21,2.19\r\n2018-10-22,2.19\r\n2018-10-23,2.20\r\n2018-10-24,2.20\r\n2018-10-25,2.20\r\n2018-10-26,2.20\r\n2018-10-27,2.20\r\n2018-10-28,2.20\r\n2018-10-29,2.20\r\n2018-10-30,2.20\r\n2018-10-31,2.20\r\n2018-11-01,2.20\r\n2018-11-02,2.19\r\n2018-11-03,2.19\r\n2018-11-04,2.19\r\n2018-11-05,2.20\r\n2018-11-06,2.20\r\n2018-11-07,2.20\r\n2018-11-08,2.20\r\n2018-11-09,2.19\r\n2018-11-10,2.19\r\n2018-11-11,2.19\r\n2018-11-12,2.19\r\n2018-11-13,2.20\r\n2018-11-14,2.20\r\n2018-11-15,2.20\r\n2018-11-16,2.20\r\n2018-11-17,2.20\r\n2018-11-18,2.20\r\n2018-11-19,2.20\r\n2018-11-20,2.20\r\n2018-11-21,2.20\r\n2018-11-22,2.20\r\n2018-11-23,2.20\r\n2018-11-24,2.20\r\n2018-11-25,2.20\r\n2018-11-26,2.20\r\n2018-11-27,2.20\r\n2018-11-28,2.20\r\n2018-11-29,2.20\r\n2018-11-30,2.20\r\n2018-12-01,2.20\r\n2018-12-02,2.20\r\n2018-12-03,2.19\r\n2018-12-04,2.20\r\n2018-12-05,2.20\r\n2018-12-06,2.20\r\n2018-12-07,2.19\r\n2018-12-08,2.19\r\n2018-12-09,2.19\r\n2018-12-10,2.20\r\n2018-12-11,2.19\r\n2018-12-12,2.19\r\n2018-12-13,2.19\r\n2018-12-14,2.19\r\n2018-12-15,2.19\r\n2018-12-16,2.19\r\n2018-12-17,2.20\r\n2018-12-18,2.20\r\n2018-12-19,2.20\r\n2018-12-20,2.40\r\n2018-12-21,2.40\r\n2018-12-22,2.40\r\n2018-12-23,2.40\r\n2018-12-24,2.40\r\n2018-12-25,2.40\r\n2018-12-26,2.40\r\n2018-12-27,2.40\r\n2018-12-28,2.40\r\n2018-12-29,2.40\r\n2018-12-30,2.40\r\n2018-12-31,2.40\r\n2019-01-01,2.40\r\n2019-01-02,2.40\r\n2019-01-03,2.40\r\n2019-01-04,2.40\r\n2019-01-05,2.40\r\n2019-01-06,2.40\r\n2019-01-07,2.40\r\n2019-01-08,2.40\r\n2019-01-09,2.40\r\n2019-01-10,2.40\r\n2019-01-11,2.40\r\n2019-01-12,2.40\r\n2019-01-13,2.40\r\n2019-01-14,2.40\r\n2019-01-15,2.40\r\n2019-01-16,2.40\r\n2019-01-17,2.40\r\n2019-01-18,2.40\r\n2019-01-19,2.40\r\n2019-01-20,2.40\r\n2019-01-21,2.40\r\n2019-01-22,2.40\r\n2019-01-23,2.40\r\n2019-01-24,2.40\r\n2019-01-25,2.40\r\n2019-01-26,2.40\r\n2019-01-27,2.40\r\n2019-01-28,2.40\r\n2019-01-29,2.40\r\n2019-01-30,2.40\r\n2019-01-31,2.40\r\n2019-02-01,2.40\r\n2019-02-02,2.40\r\n2019-02-03,2.40\r\n2019-02-04,2.40\r\n2019-02-05,2.40\r\n2019-02-06,2.40\r\n2019-02-07,2.40\r\n2019-02-08,2.40\r\n2019-02-09,2.40\r\n2019-02-10,2.40\r\n2019-02-11,2.40\r\n2019-02-12,2.40\r\n2019-02-13,2.40\r\n2019-02-14,2.40\r\n2019-02-15,2.40\r\n2019-02-16,2.40\r\n2019-02-17,2.40\r\n2019-02-18,2.40\r\n2019-02-19,2.40\r\n2019-02-20,2.40\r\n2019-02-21,2.40\r\n2019-02-22,2.40\r\n2019-02-23,2.40\r\n2019-02-24,2.40\r\n2019-02-25,2.40\r\n2019-02-26,2.40\r\n2019-02-27,2.40\r\n2019-02-28,2.40\r\n2019-03-01,2.40\r\n2019-03-02,2.40\r\n2019-03-03,2.40\r\n2019-03-04,2.40\r\n2019-03-05,2.40\r\n2019-03-06,2.40\r\n2019-03-07,2.40\r\n2019-03-08,2.40\r\n2019-03-09,2.40\r\n2019-03-10,2.40\r\n2019-03-11,2.40\r\n2019-03-12,2.40\r\n2019-03-13,2.40\r\n2019-03-14,2.40\r\n2019-03-15,2.40\r\n2019-03-16,2.40\r\n2019-03-17,2.40\r\n2019-03-18,2.40\r\n2019-03-19,2.40\r\n2019-03-20,2.41\r\n2019-03-21,2.41\r\n2019-03-22,2.41\r\n2019-03-23,2.41\r\n2019-03-24,2.41\r\n2019-03-25,2.40\r\n2019-03-26,2.40\r\n2019-03-27,2.41\r\n2019-03-28,2.41\r\n2019-03-29,2.43\r\n2019-03-30,2.43\r\n2019-03-31,2.43\r\n2019-04-01,2.41\r\n2019-04-02,2.41\r\n2019-04-03,2.41\r\n2019-04-04,2.41\r\n2019-04-05,2.41\r\n2019-04-06,2.41\r\n2019-04-07,2.41\r\n2019-04-08,2.41\r\n2019-04-09,2.41\r\n2019-04-10,2.41\r\n2019-04-11,2.41\r\n2019-04-12,2.41\r\n2019-04-13,2.41\r\n2019-04-14,2.41\r\n2019-04-15,2.41\r\n2019-04-16,2.41\r\n2019-04-17,2.42\r\n2019-04-18,2.43\r\n2019-04-19,2.44\r\n2019-04-20,2.44\r\n2019-04-21,2.44\r\n2019-04-22,2.44\r\n2019-04-23,2.44\r\n2019-04-24,2.44\r\n2019-04-25,2.44\r\n2019-04-26,2.44\r\n2019-04-27,2.44\r\n2019-04-28,2.44\r\n2019-04-29,2.45\r\n2019-04-30,2.45\r\n2019-05-01,2.45\r\n2019-05-02,2.41\r\n2019-05-03,2.40\r\n2019-05-04,2.40\r\n2019-05-05,2.40\r\n2019-05-06,2.40\r\n2019-05-07,2.40\r\n2019-05-08,2.39\r\n2019-05-09,2.38\r\n2019-05-10,2.38\r\n2019-05-11,2.38\r\n2019-05-12,2.38\r\n2019-05-13,2.38\r\n2019-05-14,2.38\r\n2019-05-15,2.40\r\n2019-05-16,2.39\r\n2019-05-17,2.39\r\n2019-05-18,2.39\r\n2019-05-19,2.39\r\n2019-05-20,2.39\r\n2019-05-21,2.39\r\n2019-05-22,2.38\r\n2019-05-23,2.38\r\n2019-05-24,2.38\r\n2019-05-25,2.38\r\n2019-05-26,2.38\r\n2019-05-27,2.38\r\n2019-05-28,2.39\r\n2019-05-29,2.39\r\n2019-05-30,2.39\r\n2019-05-31,2.40\r\n2019-06-01,2.40\r\n2019-06-02,2.40\r\n2019-06-03,2.38\r\n2019-06-04,2.38\r\n2019-06-05,2.38\r\n2019-06-06,2.37\r\n2019-06-07,2.37\r\n2019-06-08,2.37\r\n2019-06-09,2.37\r\n2019-06-10,2.37\r\n2019-06-11,2.37\r\n2019-06-12,2.37\r\n2019-06-13,2.37\r\n2019-06-14,2.36\r\n2019-06-15,2.36\r\n2019-06-16,2.36\r\n2019-06-17,2.38\r\n2019-06-18,2.37\r\n2019-06-19,2.37\r\n2019-06-20,2.37\r\n2019-06-21,2.38\r\n2019-06-22,2.38\r\n2019-06-23,2.38\r\n2019-06-24,2.38\r\n2019-06-25,2.38\r\n2019-06-26,2.38\r\n2019-06-27,2.38\r\n2019-06-28,2.40\r\n2019-06-29,2.40\r\n2019-06-30,2.40\r\n2019-07-01,2.39\r\n2019-07-02,2.40\r\n2019-07-03,2.41\r\n2019-07-04,2.41\r\n2019-07-05,2.42\r\n2019-07-06,2.42\r\n2019-07-07,2.42\r\n2019-07-08,2.41\r\n2019-07-09,2.41\r\n2019-07-10,2.41\r\n2019-07-11,2.40\r\n2019-07-12,2.38\r\n2019-07-13,2.38\r\n2019-07-14,2.38\r\n2019-07-15,2.40\r\n2019-07-16,2.41\r\n2019-07-17,2.41\r\n2019-07-18,2.41\r\n2019-07-19,2.41\r\n2019-07-20,2.41\r\n2019-07-21,2.41\r\n2019-07-22,2.40\r\n2019-07-23,2.40\r\n2019-07-24,2.40\r\n2019-07-25,2.40\r\n2019-07-26,2.40\r\n2019-07-27,2.40\r\n2019-07-28,2.40\r\n2019-07-29,2.40\r\n2019-07-30,2.39\r\n2019-07-31,2.40\r\n2019-08-01,2.14\r\n2019-08-02,2.14\r\n2019-08-03,2.14\r\n2019-08-04,2.14\r\n2019-08-05,2.13\r\n2019-08-06,2.13\r\n2019-08-07,2.12\r\n2019-08-08,2.12\r\n2019-08-09,2.12\r\n2019-08-10,2.12\r\n2019-08-11,2.12\r\n2019-08-12,2.12\r\n2019-08-13,2.12\r\n2019-08-14,2.12\r\n2019-08-15,2.13\r\n2019-08-16,2.13\r\n2019-08-17,2.13\r\n2019-08-18,2.13\r\n2019-08-19,2.13\r\n2019-08-20,2.13\r\n2019-08-21,2.12\r\n2019-08-22,2.12\r\n2019-08-23,2.12\r\n2019-08-24,2.12\r\n2019-08-25,2.12\r\n2019-08-26,2.12\r\n2019-08-27,2.12\r\n2019-08-28,2.12\r\n2019-08-29,2.12\r\n2019-08-30,2.13\r\n2019-08-31,2.13\r\n2019-09-01,2.13\r\n2019-09-02,2.13\r\n2019-09-03,2.13\r\n2019-09-04,2.13\r\n2019-09-05,2.13\r\n2019-09-06,2.12\r\n2019-09-07,2.12\r\n2019-09-08,2.12\r\n2019-09-09,2.13\r\n2019-09-10,2.13\r\n2019-09-11,2.13\r\n2019-09-12,2.13\r\n2019-09-13,2.14\r\n2019-09-14,2.14\r\n2019-09-15,2.14\r\n2019-09-16,2.25\r\n2019-09-17,2.30\r\n2019-09-18,2.25\r\n2019-09-19,1.90\r\n2019-09-20,1.90\r\n2019-09-21,1.90\r\n2019-09-22,1.90\r\n2019-09-23,1.90\r\n2019-09-24,1.90\r\n2019-09-25,1.90\r\n2019-09-26,1.85\r\n2019-09-27,1.83\r\n2019-09-28,1.83\r\n2019-09-29,1.83\r\n2019-09-30,1.90\r\n2019-10-01,1.88\r\n2019-10-02,1.85\r\n2019-10-03,1.83\r\n2019-10-04,1.82\r\n2019-10-05,1.82\r\n2019-10-06,1.82\r\n2019-10-07,1.82\r\n2019-10-08,1.82\r\n2019-10-09,1.82\r\n2019-10-10,1.82\r\n2019-10-11,1.82\r\n2019-10-12,1.82\r\n2019-10-13,1.82\r\n2019-10-14,1.82\r\n2019-10-15,1.90\r\n2019-10-16,1.90\r\n2019-10-17,1.85\r\n2019-10-18,1.85\r\n2019-10-19,1.85\r\n2019-10-20,1.85\r\n2019-10-21,1.85\r\n2019-10-22,1.85\r\n2019-10-23,1.85\r\n2019-10-24,1.85\r\n2019-10-25,1.83\r\n2019-10-26,1.83\r\n2019-10-27,1.83\r\n2019-10-28,1.83\r\n2019-10-29,1.82\r\n2019-10-30,1.82\r\n2019-10-31,1.58\r\n2019-11-01,1.57\r\n2019-11-02,1.57\r\n2019-11-03,1.57\r\n2019-11-04,1.56\r\n2019-11-05,1.56\r\n2019-11-06,1.55\r\n2019-11-07,1.55\r\n2019-11-08,1.55\r\n2019-11-09,1.55\r\n2019-11-10,1.55\r\n2019-11-11,1.55\r\n2019-11-12,1.55\r\n2019-11-13,1.55\r\n2019-11-14,1.55\r\n2019-11-15,1.55\r\n2019-11-16,1.55\r\n2019-11-17,1.55\r\n2019-11-18,1.55\r\n2019-11-19,1.55\r\n2019-11-20,1.55\r\n2019-11-21,1.55\r\n2019-11-22,1.55\r\n2019-11-23,1.55\r\n2019-11-24,1.55\r\n2019-11-25,1.55\r\n2019-11-26,1.55\r\n2019-11-27,1.55\r\n2019-11-28,1.55\r\n2019-11-29,1.56\r\n2019-11-30,1.56\r\n2019-12-01,1.56\r\n2019-12-02,1.56\r\n2019-12-03,1.55\r\n2019-12-04,1.55\r\n2019-12-05,1.55\r\n2019-12-06,1.55\r\n2019-12-07,1.55\r\n2019-12-08,1.55\r\n2019-12-09,1.55\r\n2019-12-10,1.55\r\n2019-12-11,1.55\r\n2019-12-12,1.55\r\n2019-12-13,1.55\r\n2019-12-14,1.55\r\n2019-12-15,1.55\r\n2019-12-16,1.56\r\n2019-12-17,1.55\r\n2019-12-18,1.55\r\n2019-12-19,1.55\r\n2019-12-20,1.55\r\n2019-12-21,1.55\r\n2019-12-22,1.55\r\n2019-12-23,1.55\r\n2019-12-24,1.55\r\n2019-12-25,1.55\r\n2019-12-26,1.55\r\n2019-12-27,1.55\r\n2019-12-28,1.55\r\n2019-12-29,1.55\r\n2019-12-30,1.55\r\n2019-12-31,1.55\r\n2020-01-01,1.55\r\n2020-01-02,1.55\r\n2020-01-03,1.55\r\n2020-01-04,1.55\r\n2020-01-05,1.55\r\n2020-01-06,1.55\r\n2020-01-07,1.55\r\n2020-01-08,1.55\r\n2020-01-09,1.55\r\n2020-01-10,1.54\r\n2020-01-11,1.54\r\n2020-01-12,1.54\r\n2020-01-13,1.54\r\n2020-01-14,1.54\r\n2020-01-15,1.54\r\n2020-01-16,1.54\r\n2020-01-17,1.55\r\n2020-01-18,1.55\r\n2020-01-19,1.55\r\n2020-01-20,1.55\r\n2020-01-21,1.55\r\n2020-01-22,1.55\r\n2020-01-23,1.55\r\n2020-01-24,1.55\r\n2020-01-25,1.55\r\n2020-01-26,1.55\r\n2020-01-27,1.55\r\n2020-01-28,1.55\r\n2020-01-29,1.55\r\n2020-01-30,1.60\r\n2020-01-31,1.59\r\n2020-02-01,1.59\r\n2020-02-02,1.59\r\n2020-02-03,1.59\r\n2020-02-04,1.59\r\n2020-02-05,1.59\r\n2020-02-06,1.59\r\n2020-02-07,1.58\r\n2020-02-08,1.58\r\n2020-02-09,1.58\r\n2020-02-10,1.58\r\n2020-02-11,1.58\r\n2020-02-12,1.58\r\n2020-02-13,1.58\r\n2020-02-14,1.58\r\n2020-02-15,1.58\r\n2020-02-16,1.58\r\n2020-02-17,1.58\r\n2020-02-18,1.59\r\n2020-02-19,1.59\r\n2020-02-20,1.59\r\n2020-02-21,1.58\r\n2020-02-22,1.58\r\n2020-02-23,1.58\r\n2020-02-24,1.58\r\n2020-02-25,1.58\r\n2020-02-26,1.58\r\n2020-02-27,1.58\r\n2020-02-28,1.58\r\n2020-02-29,1.58\r\n2020-03-01,1.58\r\n2020-03-02,1.59\r\n2020-03-03,1.59\r\n2020-03-04,1.09\r\n2020-03-05,1.09\r\n2020-03-06,1.09\r\n2020-03-07,1.09\r\n2020-03-08,1.09\r\n2020-03-09,1.09\r\n2020-03-10,1.09\r\n2020-03-11,1.09\r\n2020-03-12,1.10\r\n2020-03-13,1.10\r\n2020-03-14,1.10\r\n2020-03-15,1.10\r\n2020-03-16,0.25\r\n2020-03-17,0.25\r\n2020-03-18,0.25\r\n2020-03-19,0.20\r\n2020-03-20,0.15\r\n2020-03-21,0.15\r\n2020-03-22,0.15\r\n2020-03-23,0.15\r\n2020-03-24,0.12\r\n2020-03-25,0.10\r\n2020-03-26,0.10\r\n2020-03-27,0.10\r\n2020-03-28,0.10\r\n2020-03-29,0.10\r\n2020-03-30,0.09\r\n2020-03-31,0.08\r\n2020-04-01,0.06\r\n2020-04-02,0.05\r\n2020-04-03,0.05\r\n2020-04-04,0.05\r\n2020-04-05,0.05\r\n2020-04-06,0.05\r\n2020-04-07,0.05\r\n2020-04-08,0.05\r\n2020-04-09,0.05\r\n2020-04-10,0.05\r\n2020-04-11,0.05\r\n2020-04-12,0.05\r\n2020-04-13,0.05\r\n2020-04-14,0.05\r\n2020-04-15,0.05\r\n2020-04-16,0.05\r\n2020-04-17,0.05\r\n2020-04-18,0.05\r\n2020-04-19,0.05\r\n2020-04-20,0.05\r\n2020-04-21,0.05\r\n2020-04-22,0.05\r\n2020-04-23,0.04\r\n2020-04-24,0.05\r\n2020-04-25,0.05\r\n2020-04-26,0.05\r\n2020-04-27,0.04\r\n2020-04-28,0.04\r\n2020-04-29,0.04\r\n2020-04-30,0.05\r\n2020-05-01,0.05\r\n2020-05-02,0.05\r\n2020-05-03,0.05\r\n2020-05-04,0.05\r\n2020-05-05,0.05\r\n2020-05-06,0.05\r\n2020-05-07,0.05\r\n2020-05-08,0.05\r\n2020-05-09,0.05\r\n2020-05-10,0.05\r\n2020-05-11,0.05\r\n2020-05-12,0.05\r\n2020-05-13,0.05\r\n2020-05-14,0.05\r\n2020-05-15,0.05\r\n2020-05-16,0.05\r\n2020-05-17,0.05\r\n2020-05-18,0.05\r\n2020-05-19,0.05\r\n2020-05-20,0.05\r\n2020-05-21,0.05\r\n2020-05-22,0.05\r\n2020-05-23,0.05\r\n2020-05-24,0.05\r\n2020-05-25,0.05\r\n2020-05-26,0.05\r\n2020-05-27,0.05\r\n2020-05-28,0.05\r\n2020-05-29,0.05\r\n2020-05-30,0.05\r\n2020-05-31,0.05\r\n2020-06-01,0.05\r\n2020-06-02,0.06\r\n2020-06-03,0.06\r\n2020-06-04,0.06\r\n2020-06-05,0.07\r\n2020-06-06,0.07\r\n2020-06-07,0.07\r\n2020-06-08,0.07\r\n2020-06-09,0.07\r\n2020-06-10,0.08\r\n2020-06-11,0.08\r\n2020-06-12,0.08\r\n2020-06-13,0.08\r\n2020-06-14,0.08\r\n2020-06-15,0.09\r\n2020-06-16,0.09\r\n2020-06-17,0.09\r\n2020-06-18,0.09\r\n2020-06-19,0.09\r\n2020-06-20,0.09\r\n2020-06-21,0.09\r\n2020-06-22,0.08\r\n2020-06-23,0.08\r\n2020-06-24,0.08\r\n2020-06-25,0.08\r\n2020-06-26,0.08\r\n2020-06-27,0.08\r\n2020-06-28,0.08\r\n2020-06-29,0.08\r\n2020-06-30,0.08\r\n2020-07-01,0.08\r\n2020-07-02,0.09\r\n2020-07-03,0.09\r\n2020-07-04,0.09\r\n2020-07-05,0.09\r\n2020-07-06,0.09\r\n2020-07-07,0.09\r\n2020-07-08,0.09\r\n2020-07-09,0.09\r\n2020-07-10,0.09\r\n2020-07-11,0.09\r\n2020-07-12,0.09\r\n2020-07-13,0.09\r\n2020-07-14,0.09\r\n2020-07-15,0.10\r\n2020-07-16,0.10\r\n2020-07-17,0.09\r\n2020-07-18,0.09\r\n2020-07-19,0.09\r\n2020-07-20,0.10\r\n2020-07-21,0.10\r\n2020-07-22,0.09\r\n2020-07-23,0.09\r\n2020-07-24,0.09\r\n2020-07-25,0.09\r\n2020-07-26,0.09\r\n2020-07-27,0.10\r\n2020-07-28,0.10\r\n2020-07-29,0.10\r\n2020-07-30,0.10\r\n2020-07-31,0.10\r\n2020-08-01,0.10\r\n2020-08-02,0.10\r\n2020-08-03,0.10\r\n2020-08-04,0.10\r\n2020-08-05,0.10\r\n2020-08-06,0.10\r\n2020-08-07,0.10\r\n2020-08-08,0.10\r\n2020-08-09,0.10\r\n2020-08-10,0.10\r\n2020-08-11,0.10\r\n2020-08-12,0.10\r\n2020-08-13,0.10\r\n2020-08-14,0.10\r\n2020-08-15,0.10\r\n2020-08-16,0.10\r\n2020-08-17,0.10\r\n2020-08-18,0.09\r\n2020-08-19,0.09\r\n2020-08-20,0.09\r\n2020-08-21,0.09\r\n2020-08-22,0.09\r\n2020-08-23,0.09\r\n2020-08-24,0.09\r\n2020-08-25,0.09\r\n2020-08-26,0.09\r\n2020-08-27,0.08\r\n2020-08-28,0.09\r\n2020-08-29,0.09\r\n2020-08-30,0.09\r\n2020-08-31,0.09\r\n2020-09-01,0.09\r\n2020-09-02,0.09\r\n2020-09-03,0.09\r\n2020-09-04,0.09\r\n2020-09-05,0.09\r\n2020-09-06,0.09\r\n2020-09-07,0.09\r\n2020-09-08,0.09\r\n2020-09-09,0.09\r\n2020-09-10,0.09\r\n2020-09-11,0.09\r\n2020-09-12,0.09\r\n2020-09-13,0.09\r\n2020-09-14,0.09\r\n2020-09-15,0.09\r\n2020-09-16,0.09\r\n2020-09-17,0.09\r\n2020-09-18,0.09\r\n2020-09-19,0.09\r\n2020-09-20,0.09\r\n2020-09-21,0.09\r\n2020-09-22,0.09\r\n2020-09-23,0.09\r\n2020-09-24,0.09\r\n2020-09-25,0.09\r\n2020-09-26,0.09\r\n2020-09-27,0.09\r\n2020-09-28,0.09\r\n2020-09-29,0.09\r\n2020-09-30,0.09\r\n2020-10-01,0.09\r\n2020-10-02,0.09\r\n2020-10-03,0.09\r\n2020-10-04,0.09\r\n2020-10-05,0.09\r\n2020-10-06,0.09\r\n2020-10-07,0.09\r\n2020-10-08,0.09\r\n2020-10-09,0.09\r\n2020-10-10,0.09\r\n2020-10-11,0.09\r\n2020-10-12,0.09\r\n2020-10-13,0.09\r\n2020-10-14,0.09\r\n2020-10-15,0.09\r\n2020-10-16,0.09\r\n2020-10-17,0.09\r\n2020-10-18,0.09\r\n2020-10-19,0.09\r\n2020-10-20,0.09\r\n2020-10-21,0.09\r\n2020-10-22,0.09\r\n2020-10-23,0.09\r\n2020-10-24,0.09\r\n2020-10-25,0.09\r\n2020-10-26,0.09\r\n2020-10-27,0.09\r\n2020-10-28,0.09\r\n2020-10-29,0.09\r\n2020-10-30,0.09\r\n2020-10-31,0.09\r\n2020-11-01,0.09\r\n2020-11-02,0.09\r\n2020-11-03,0.09\r\n2020-11-04,0.09\r\n2020-11-05,0.09\r\n2020-11-06,0.09\r\n2020-11-07,0.09\r\n2020-11-08,0.09\r\n2020-11-09,0.09\r\n2020-11-10,0.09\r\n2020-11-11,0.09\r\n2020-11-12,0.09\r\n2020-11-13,0.09\r\n2020-11-14,0.09\r\n2020-11-15,0.09\r\n2020-11-16,0.09\r\n2020-11-17,0.09\r\n2020-11-18,0.09\r\n2020-11-19,0.08\r\n2020-11-20,0.08\r\n2020-11-21,0.08\r\n2020-11-22,0.08\r\n2020-11-23,0.08\r\n2020-11-24,0.08\r\n2020-11-25,0.08\r\n2020-11-26,0.08\r\n2020-11-27,0.08\r\n2020-11-28,0.08\r\n2020-11-29,0.08\r\n2020-11-30,0.09\r\n2020-12-01,0.09\r\n2020-12-02,0.09\r\n2020-12-03,0.09\r\n2020-12-04,0.09\r\n2020-12-05,0.09\r\n2020-12-06,0.09\r\n2020-12-07,0.09\r\n2020-12-08,0.09\r\n2020-12-09,0.09\r\n2020-12-10,0.09\r\n2020-12-11,0.09\r\n2020-12-12,0.09\r\n2020-12-13,0.09\r\n2020-12-14,0.09\r\n2020-12-15,0.09\r\n2020-12-16,0.09\r\n2020-12-17,0.09\r\n2020-12-18,0.09\r\n2020-12-19,0.09\r\n2020-12-20,0.09\r\n2020-12-21,0.09\r\n2020-12-22,0.09\r\n2020-12-23,0.09\r\n2020-12-24,0.09\r\n2020-12-25,0.09\r\n2020-12-26,0.09\r\n2020-12-27,0.09\r\n2020-12-28,0.09\r\n2020-12-29,0.09\r\n2020-12-30,0.09\r\n2020-12-31,0.09\r\n2021-01-01,0.09\r\n2021-01-02,0.09\r\n2021-01-03,0.09\r\n2021-01-04,0.09\r\n2021-01-05,0.09\r\n2021-01-06,0.09\r\n2021-01-07,0.09\r\n2021-01-08,0.09\r\n2021-01-09,0.09\r\n2021-01-10,0.09\r\n2021-01-11,0.09\r\n2021-01-12,0.09\r\n2021-01-13,0.09\r\n2021-01-14,0.09\r\n2021-01-15,0.09\r\n2021-01-16,0.09\r\n2021-01-17,0.09\r\n2021-01-18,0.09\r\n2021-01-19,0.09\r\n2021-01-20,0.09\r\n2021-01-21,0.08\r\n2021-01-22,0.08\r\n2021-01-23,0.08\r\n2021-01-24,0.08\r\n2021-01-25,0.08\r\n2021-01-26,0.08\r\n2021-01-27,0.08\r\n2021-01-28,0.07\r\n2021-01-29,0.07\r\n2021-01-30,0.07\r\n2021-01-31,0.07\r\n2021-02-01,0.08\r\n2021-02-02,0.08\r\n2021-02-03,0.08\r\n2021-02-04,0.08\r\n2021-02-05,0.08\r\n2021-02-06,0.08\r\n2021-02-07,0.08\r\n2021-02-08,0.07\r\n2021-02-09,0.08\r\n2021-02-10,0.08\r\n2021-02-11,0.08\r\n2021-02-12,0.08\r\n2021-02-13,0.08\r\n2021-02-14,0.08\r\n2021-02-15,0.08\r\n2021-02-16,0.08\r\n2021-02-17,0.08\r\n2021-02-18,0.07\r\n2021-02-19,0.07\r\n2021-02-20,0.07\r\n2021-02-21,0.07\r\n2021-02-22,0.07\r\n2021-02-23,0.07\r\n2021-02-24,0.07\r\n2021-02-25,0.07\r\n2021-02-26,0.07\r\n2021-02-27,0.07\r\n2021-02-28,0.07\r\n2021-03-01,0.07\r\n2021-03-02,0.07\r\n2021-03-03,0.07\r\n2021-03-04,0.07\r\n2021-03-05,0.07\r\n2021-03-06,0.07\r\n2021-03-07,0.07\r\n2021-03-08,0.07\r\n2021-03-09,0.07\r\n2021-03-10,0.07\r\n2021-03-11,0.07\r\n2021-03-12,0.07\r\n2021-03-13,0.07\r\n2021-03-14,0.07\r\n2021-03-15,0.07\r\n2021-03-16,0.07\r\n2021-03-17,0.07\r\n2021-03-18,0.07\r\n2021-03-19,0.07\r\n2021-03-20,0.07\r\n2021-03-21,0.07\r\n2021-03-22,0.07\r\n2021-03-23,0.07\r\n2021-03-24,0.07\r\n2021-03-25,0.07\r\n2021-03-26,0.07\r\n2021-03-27,0.07\r\n2021-03-28,0.07\r\n2021-03-29,0.07\r\n2021-03-30,0.07\r\n2021-03-31,0.06\r\n2021-04-01,0.07\r\n2021-04-02,0.07\r\n2021-04-03,0.07\r\n2021-04-04,0.07\r\n2021-04-05,0.07\r\n2021-04-06,0.07\r\n2021-04-07,0.07\r\n2021-04-08,0.07\r\n2021-04-09,0.07\r\n2021-04-10,0.07\r\n2021-04-11,0.07\r\n2021-04-12,0.07\r\n2021-04-13,0.07\r\n2021-04-14,0.07\r\n2021-04-15,0.07\r\n2021-04-16,0.07\r\n2021-04-17,0.07\r\n2021-04-18,0.07\r\n2021-04-19,0.07\r\n2021-04-20,0.07\r\n2021-04-21,0.07\r\n2021-04-22,0.07\r\n2021-04-23,0.07\r\n2021-04-24,0.07\r\n2021-04-25,0.07\r\n2021-04-26,0.07\r\n2021-04-27,0.07\r\n2021-04-28,0.07\r\n2021-04-29,0.06\r\n2021-04-30,0.05\r\n2021-05-01,0.05\r\n2021-05-02,0.05\r\n2021-05-03,0.06\r\n2021-05-04,0.06\r\n2021-05-05,0.06\r\n2021-05-06,0.06\r\n2021-05-07,0.06\r\n2021-05-08,0.06\r\n2021-05-09,0.06\r\n2021-05-10,0.06\r\n2021-05-11,0.06\r\n2021-05-12,0.06\r\n2021-05-13,0.06\r\n2021-05-14,0.06\r\n2021-05-15,0.06\r\n2021-05-16,0.06\r\n2021-05-17,0.06\r\n2021-05-18,0.06\r\n2021-05-19,0.06\r\n2021-05-20,0.06\r\n2021-05-21,0.06\r\n2021-05-22,0.06\r\n2021-05-23,0.06\r\n2021-05-24,0.06\r\n2021-05-25,0.06\r\n2021-05-26,0.06\r\n2021-05-27,0.06\r\n2021-05-28,0.05\r\n2021-05-29,0.05\r\n2021-05-30,0.05\r\n2021-05-31,0.05\r\n2021-06-01,0.06\r\n2021-06-02,0.06\r\n2021-06-03,0.06\r\n2021-06-04,0.06\r\n2021-06-05,0.06\r\n2021-06-06,0.06\r\n2021-06-07,0.06\r\n2021-06-08,0.06\r\n2021-06-09,0.06\r\n2021-06-10,0.06\r\n2021-06-11,0.06\r\n2021-06-12,0.06\r\n2021-06-13,0.06\r\n2021-06-14,0.06\r\n2021-06-15,0.06\r\n2021-06-16,0.06\r\n2021-06-17,0.10\r\n2021-06-18,0.10\r\n2021-06-19,0.10\r\n2021-06-20,0.10\r\n2021-06-21,0.10\r\n2021-06-22,0.10\r\n2021-06-23,0.10\r\n2021-06-24,0.10\r\n2021-06-25,0.10\r\n2021-06-26,0.10\r\n2021-06-27,0.10\r\n2021-06-28,0.10\r\n2021-06-29,0.10\r\n2021-06-30,0.08\r\n2021-07-01,0.10\r\n2021-07-02,0.10\r\n2021-07-03,0.10\r\n2021-07-04,0.10\r\n2021-07-05,0.10\r\n2021-07-06,0.10\r\n2021-07-07,0.10\r\n2021-07-08,0.10\r\n2021-07-09,0.10\r\n2021-07-10,0.10\r\n2021-07-11,0.10\r\n2021-07-12,0.10\r\n2021-07-13,0.10\r\n2021-07-14,0.10\r\n2021-07-15,0.10\r\n2021-07-16,0.10\r\n2021-07-17,0.10\r\n2021-07-18,0.10\r\n2021-07-19,0.10\r\n2021-07-20,0.10\r\n2021-07-21,0.10\r\n2021-07-22,0.10\r\n2021-07-23,0.10\r\n2021-07-24,0.10\r\n2021-07-25,0.10\r\n2021-07-26,0.10\r\n2021-07-27,0.10\r\n2021-07-28,0.10\r\n2021-07-29,0.10\r\n2021-07-30,0.07\r\n2021-07-31,0.07\r\n2021-08-01,0.07\r\n2021-08-02,0.10\r\n2021-08-03,0.10\r\n2021-08-04,0.10\r\n2021-08-05,0.10\r\n2021-08-06,0.10\r\n2021-08-07,0.10\r\n2021-08-08,0.10\r\n2021-08-09,0.10\r\n2021-08-10,0.10\r\n2021-08-11,0.10\r\n2021-08-12,0.10\r\n2021-08-13,0.10\r\n2021-08-14,0.10\r\n2021-08-15,0.10\r\n2021-08-16,0.10\r\n2021-08-17,0.10\r\n2021-08-18,0.09\r\n2021-08-19,0.09\r\n2021-08-20,0.09\r\n2021-08-21,0.09\r\n2021-08-22,0.09\r\n2021-08-23,0.09\r\n2021-08-24,0.09\r\n2021-08-25,0.09\r\n2021-08-26,0.09\r\n2021-08-27,0.08\r\n2021-08-28,0.08\r\n2021-08-29,0.08\r\n2021-08-30,0.08\r\n2021-08-31,0.06\r\n2021-09-01,0.08\r\n2021-09-02,0.08\r\n2021-09-03,0.08\r\n2021-09-04,0.08\r\n2021-09-05,0.08\r\n2021-09-06,0.08\r\n2021-09-07,0.08\r\n2021-09-08,0.08\r\n2021-09-09,0.08\r\n2021-09-10,0.08\r\n2021-09-11,0.08\r\n2021-09-12,0.08\r\n2021-09-13,0.08\r\n2021-09-14,0.08\r\n2021-09-15,0.08\r\n2021-09-16,0.08\r\n2021-09-17,0.08\r\n2021-09-18,0.08\r\n2021-09-19,0.08\r\n2021-09-20,0.08\r\n2021-09-21,0.08\r\n2021-09-22,0.08\r\n2021-09-23,0.08\r\n2021-09-24,0.08\r\n2021-09-25,0.08\r\n2021-09-26,0.08\r\n2021-09-27,0.08\r\n2021-09-28,0.08\r\n2021-09-29,0.08\r\n2021-09-30,0.06\r\n2021-10-01,0.08\r\n2021-10-02,0.08\r\n2021-10-03,0.08\r\n2021-10-04,0.08\r\n2021-10-05,0.08\r\n2021-10-06,0.08\r\n2021-10-07,0.08\r\n2021-10-08,0.08\r\n2021-10-09,0.08\r\n2021-10-10,0.08\r\n2021-10-11,0.08\r\n2021-10-12,0.08\r\n2021-10-13,0.08\r\n2021-10-14,0.08\r\n2021-10-15,0.08\r\n2021-10-16,0.08\r\n2021-10-17,0.08\r\n2021-10-18,0.08\r\n2021-10-19,0.08\r\n2021-10-20,0.08\r\n2021-10-21,0.08\r\n2021-10-22,0.08\r\n2021-10-23,0.08\r\n2021-10-24,0.08\r\n2021-10-25,0.08\r\n2021-10-26,0.08\r\n2021-10-27,0.08\r\n2021-10-28,0.08\r\n2021-10-29,0.07\r\n2021-10-30,0.07\r\n2021-10-31,0.07\r\n2021-11-01,0.08\r\n2021-11-02,0.08\r\n2021-11-03,0.08\r\n2021-11-04,0.08\r\n2021-11-05,0.08\r\n2021-11-06,0.08\r\n2021-11-07,0.08\r\n2021-11-08,0.08\r\n2021-11-09,0.08\r\n2021-11-10,0.08\r\n2021-11-11,0.08\r\n2021-11-12,0.08\r\n2021-11-13,0.08\r\n2021-11-14,0.08\r\n2021-11-15,0.08\r\n2021-11-16,0.08\r\n2021-11-17,0.08\r\n2021-11-18,0.08\r\n2021-11-19,0.08\r\n2021-11-20,0.08\r\n2021-11-21,0.08\r\n2021-11-22,0.08\r\n2021-11-23,0.08\r\n2021-11-24,0.08\r\n2021-11-25,0.08\r\n2021-11-26,0.08\r\n2021-11-27,0.08\r\n2021-11-28,0.08\r\n2021-11-29,0.08\r\n2021-11-30,0.07\r\n2021-12-01,0.08\r\n2021-12-02,0.08\r\n2021-12-03,0.08\r\n2021-12-04,0.08\r\n2021-12-05,0.08\r\n2021-12-06,0.08\r\n2021-12-07,0.08\r\n2021-12-08,0.08\r\n2021-12-09,0.08\r\n2021-12-10,0.08\r\n2021-12-11,0.08\r\n2021-12-12,0.08\r\n2021-12-13,0.08\r\n2021-12-14,0.08\r\n2021-12-15,0.08\r\n2021-12-16,0.08\r\n2021-12-17,0.08\r\n2021-12-18,0.08\r\n2021-12-19,0.08\r\n2021-12-20,0.08\r\n2021-12-21,0.08\r\n2021-12-22,0.08\r\n2021-12-23,0.08\r\n2021-12-24,0.08\r\n2021-12-25,0.08\r\n2021-12-26,0.08\r\n2021-12-27,0.08\r\n2021-12-28,0.08\r\n2021-12-29,0.08\r\n2021-12-30,0.08\r\n2021-12-31,0.07\r\n2022-01-01,0.07\r\n2022-01-02,0.07\r\n2022-01-03,0.08\r\n2022-01-04,0.08\r\n2022-01-05,0.08\r\n2022-01-06,0.08\r\n2022-01-07,0.08\r\n2022-01-08,0.08\r\n2022-01-09,0.08\r\n2022-01-10,0.08\r\n2022-01-11,0.08\r\n2022-01-12,0.08\r\n2022-01-13,0.08\r\n2022-01-14,0.08\r\n2022-01-15,0.08\r\n2022-01-16,0.08\r\n2022-01-17,0.08\r\n2022-01-18,0.08\r\n2022-01-19,0.08\r\n2022-01-20,0.08\r\n2022-01-21,0.08\r\n2022-01-22,0.08\r\n2022-01-23,0.08\r\n2022-01-24,0.08\r\n2022-01-25,0.08\r\n2022-01-26,0.08\r\n2022-01-27,0.08\r\n2022-01-28,0.08\r\n2022-01-29,0.08\r\n2022-01-30,0.08\r\n2022-01-31,0.08\r\n2022-02-01,0.08\r\n2022-02-02,0.08\r\n2022-02-03,0.08\r\n2022-02-04,0.08\r\n2022-02-05,0.08\r\n2022-02-06,0.08\r\n2022-02-07,0.08\r\n2022-02-08,0.08\r\n2022-02-09,0.08\r\n2022-02-10,0.08\r\n2022-02-11,0.08\r\n2022-02-12,0.08\r\n2022-02-13,0.08\r\n2022-02-14,0.08\r\n2022-02-15,0.08\r\n2022-02-16,0.08\r\n2022-02-17,0.08\r\n2022-02-18,0.08\r\n2022-02-19,0.08\r\n2022-02-20,0.08\r\n2022-02-21,0.08\r\n2022-02-22,0.08\r\n2022-02-23,0.08\r\n2022-02-24,0.08\r\n2022-02-25,0.08\r\n2022-02-26,0.08\r\n2022-02-27,0.08\r\n2022-02-28,0.08\r\n2022-03-01,0.08\r\n2022-03-02,0.08\r\n2022-03-03,0.08\r\n2022-03-04,0.08\r\n2022-03-05,0.08\r\n2022-03-06,0.08\r\n2022-03-07,0.08\r\n2022-03-08,0.08\r\n2022-03-09,0.08\r\n2022-03-10,0.08\r\n2022-03-11,0.08\r\n2022-03-12,0.08\r\n2022-03-13,0.08\r\n2022-03-14,0.08\r\n2022-03-15,0.08\r\n2022-03-16,0.08\r\n2022-03-17,0.33\r\n2022-03-18,0.33\r\n2022-03-19,0.33\r\n2022-03-20,0.33\r\n2022-03-21,0.33\r\n2022-03-22,0.33\r\n2022-03-23,0.33\r\n2022-03-24,0.33\r\n2022-03-25,0.33\r\n2022-03-26,0.33\r\n2022-03-27,0.33\r\n2022-03-28,0.33\r\n2022-03-29,0.33\r\n2022-03-30,0.33\r\n2022-03-31,0.33\r\n2022-04-01,0.33\r\n2022-04-02,0.33\r\n2022-04-03,0.33\r\n2022-04-04,0.33\r\n2022-04-05,0.33\r\n2022-04-06,0.33\r\n2022-04-07,0.33\r\n2022-04-08,0.33\r\n2022-04-09,0.33\r\n2022-04-10,0.33\r\n2022-04-11,0.33\r\n2022-04-12,0.33\r\n2022-04-13,0.33\r\n2022-04-14,0.33\r\n2022-04-15,0.33\r\n2022-04-16,0.33\r\n2022-04-17,0.33\r\n2022-04-18,0.33\r\n2022-04-19,0.33\r\n2022-04-20,0.33\r\n2022-04-21,0.33\r\n2022-04-22,0.33\r\n2022-04-23,0.33\r\n2022-04-24,0.33\r\n2022-04-25,0.33\r\n2022-04-26,0.33\r\n2022-04-27,0.33\r\n2022-04-28,0.33\r\n2022-04-29,0.33\r\n2022-04-30,0.33\r\n2022-05-01,0.33\r\n2022-05-02,0.33\r\n2022-05-03,0.33\r\n2022-05-04,0.33\r\n2022-05-05,0.83\r\n2022-05-06,0.83\r\n2022-05-07,0.83\r\n2022-05-08,0.83\r\n2022-05-09,0.83\r\n2022-05-10,0.83\r\n2022-05-11,0.83\r\n2022-05-12,0.83\r\n2022-05-13,0.83\r\n2022-05-14,0.83\r\n2022-05-15,0.83\r\n2022-05-16,0.83\r\n2022-05-17,0.83\r\n2022-05-18,0.83\r\n2022-05-19,0.83\r\n2022-05-20,0.83\r\n2022-05-21,0.83\r\n2022-05-22,0.83\r\n2022-05-23,0.83\r\n2022-05-24,0.83\r\n2022-05-25,0.83\r\n2022-05-26,0.83\r\n2022-05-27,0.83\r\n2022-05-28,0.83\r\n2022-05-29,0.83\r\n2022-05-30,0.83\r\n2022-05-31,0.83\r\n2022-06-01,0.83\r\n2022-06-02,0.83\r\n2022-06-03,0.83\r\n2022-06-04,0.83\r\n2022-06-05,0.83\r\n2022-06-06,0.83\r\n2022-06-07,0.83\r\n2022-06-08,0.83\r\n2022-06-09,0.83\r\n2022-06-10,0.83\r\n2022-06-11,0.83\r\n2022-06-12,0.83\r\n2022-06-13,0.83\r\n2022-06-14,0.83\r\n2022-06-15,0.83\r\n2022-06-16,1.58\r\n2022-06-17,1.58\r\n2022-06-18,1.58\r\n2022-06-19,1.58\r\n2022-06-20,1.58\r\n2022-06-21,1.58\r\n2022-06-22,1.58\r\n2022-06-23,1.58\r\n2022-06-24,1.58\r\n2022-06-25,1.58\r\n2022-06-26,1.58\r\n2022-06-27,1.58\r\n2022-06-28,1.58\r\n2022-06-29,1.58\r\n2022-06-30,1.58\r\n2022-07-01,1.58\r\n2022-07-02,1.58\r\n2022-07-03,1.58\r\n2022-07-04,1.58\r\n2022-07-05,1.58\r\n2022-07-06,1.58\r\n2022-07-07,1.58\r\n2022-07-08,1.58\r\n2022-07-09,1.58\r\n2022-07-10,1.58\r\n2022-07-11,1.58\r\n2022-07-12,1.58\r\n2022-07-13,1.58\r\n2022-07-14,1.58\r\n2022-07-15,1.58\r\n2022-07-16,1.58\r\n2022-07-17,1.58\r\n2022-07-18,1.58\r\n2022-07-19,1.58\r\n2022-07-20,1.58\r\n2022-07-21,1.58\r\n2022-07-22,1.58\r\n2022-07-23,1.58\r\n2022-07-24,1.58\r\n2022-07-25,1.58\r\n2022-07-26,1.58\r\n2022-07-27,1.58\r\n2022-07-28,2.33\r\n2022-07-29,2.32\r\n2022-07-30,2.32\r\n2022-07-31,2.32\r\n2022-08-01,2.33\r\n2022-08-02,2.33\r\n2022-08-03,2.33\r\n2022-08-04,2.33\r\n2022-08-05,2.33\r\n2022-08-06,2.33\r\n2022-08-07,2.33\r\n2022-08-08,2.33\r\n2022-08-09,2.33\r\n2022-08-10,2.33\r\n2022-08-11,2.33\r\n2022-08-12,2.33\r\n2022-08-13,2.33\r\n2022-08-14,2.33\r\n2022-08-15,2.33\r\n2022-08-16,2.33\r\n2022-08-17,2.33\r\n2022-08-18,2.33\r\n2022-08-19,2.33\r\n2022-08-20,2.33\r\n2022-08-21,2.33\r\n2022-08-22,2.33\r\n2022-08-23,2.33\r\n2022-08-24,2.33\r\n2022-08-25,2.33\r\n2022-08-26,2.33\r\n2022-08-27,2.33\r\n2022-08-28,2.33\r\n2022-08-29,2.33\r\n2022-08-30,2.33\r\n2022-08-31,2.33\r\n2022-09-01,2.33\r\n2022-09-02,2.33\r\n2022-09-03,2.33\r\n2022-09-04,2.33\r\n2022-09-05,2.33\r\n2022-09-06,2.33\r\n2022-09-07,2.33\r\n2022-09-08,2.33\r\n2022-09-09,2.33\r\n2022-09-10,2.33\r\n2022-09-11,2.33\r\n2022-09-12,2.33\r\n2022-09-13,2.33\r\n2022-09-14,2.33\r\n2022-09-15,2.33\r\n2022-09-16,2.33\r\n2022-09-17,2.33\r\n2022-09-18,2.33\r\n2022-09-19,2.33\r\n2022-09-20,2.33\r\n2022-09-21,2.33\r\n2022-09-22,3.08\r\n2022-09-23,3.08\r\n2022-09-24,3.08\r\n2022-09-25,3.08\r\n2022-09-26,3.08\r\n2022-09-27,3.08\r\n2022-09-28,3.08\r\n2022-09-29,3.08\r\n2022-09-30,3.08\r\n2022-10-01,3.08\r\n2022-10-02,3.08\r\n2022-10-03,3.08\r\n2022-10-04,3.08\r\n2022-10-05,3.08\r\n2022-10-06,3.08\r\n2022-10-07,3.08\r\n2022-10-08,3.08\r\n2022-10-09,3.08\r\n2022-10-10,3.08\r\n2022-10-11,3.08\r\n2022-10-12,3.08\r\n2022-10-13,3.08\r\n2022-10-14,3.08\r\n2022-10-15,3.08\r\n2022-10-16,3.08\r\n2022-10-17,3.08\r\n2022-10-18,3.08\r\n2022-10-19,3.08\r\n2022-10-20,3.08\r\n2022-10-21,3.08\r\n2022-10-22,3.08\r\n2022-10-23,3.08\r\n2022-10-24,3.08\r\n2022-10-25,3.08\r\n2022-10-26,3.08\r\n2022-10-27,3.08\r\n2022-10-28,3.08\r\n2022-10-29,3.08\r\n2022-10-30,3.08\r\n2022-10-31,3.08\r\n2022-11-01,3.08\r\n2022-11-02,3.08\r\n2022-11-03,3.83\r\n2022-11-04,3.83\r\n2022-11-05,3.83\r\n2022-11-06,3.83\r\n2022-11-07,3.83\r\n2022-11-08,3.83\r\n2022-11-09,3.83\r\n2022-11-10,3.83\r\n2022-11-11,3.83\r\n2022-11-12,3.83\r\n2022-11-13,3.83\r\n2022-11-14,3.83\r\n2022-11-15,3.83\r\n2022-11-16,3.83\r\n2022-11-17,3.83\r\n2022-11-18,3.83\r\n2022-11-19,3.83\r\n2022-11-20,3.83\r\n2022-11-21,3.83\r\n2022-11-22,3.83\r\n2022-11-23,3.83\r\n2022-11-24,3.83\r\n2022-11-25,3.83\r\n2022-11-26,3.83\r\n2022-11-27,3.83\r\n2022-11-28,3.83\r\n2022-11-29,3.83\r\n2022-11-30,3.83\r\n2022-12-01,3.83\r\n2022-12-02,3.83\r\n2022-12-03,3.83\r\n2022-12-04,3.83\r\n2022-12-05,3.83\r\n2022-12-06,3.83\r\n2022-12-07,3.83\r\n2022-12-08,3.83\r\n2022-12-09,3.83\r\n2022-12-10,3.83\r\n2022-12-11,3.83\r\n2022-12-12,3.83\r\n2022-12-13,3.83\r\n2022-12-14,3.83\r\n2022-12-15,4.33\r\n2022-12-16,4.33\r\n2022-12-17,4.33\r\n2022-12-18,4.33\r\n2022-12-19,4.33\r\n2022-12-20,4.33\r\n2022-12-21,4.33\r\n2022-12-22,4.33\r\n2022-12-23,4.33\r\n2022-12-24,4.33\r\n2022-12-25,4.33\r\n2022-12-26,4.33\r\n2022-12-27,4.33\r\n2022-12-28,4.33\r\n2022-12-29,4.33\r\n2022-12-30,4.33\r\n2022-12-31,4.33\r\n2023-01-01,4.33\r\n2023-01-02,4.33\r\n2023-01-03,4.33\r\n2023-01-04,4.33\r\n2023-01-05,4.33\r\n2023-01-06,4.33\r\n2023-01-07,4.33\r\n2023-01-08,4.33\r\n2023-01-09,4.33\r\n2023-01-10,4.33\r\n2023-01-11,4.33\r\n2023-01-12,4.33\r\n2023-01-13,4.33\r\n2023-01-14,4.33\r\n2023-01-15,4.33\r\n2023-01-16,4.33\r\n2023-01-17,4.33\r\n2023-01-18,4.33\r\n2023-01-19,4.33\r\n2023-01-20,4.33\r\n2023-01-21,4.33\r\n2023-01-22,4.33\r\n2023-01-23,4.33\r\n2023-01-24,4.33\r\n2023-01-25,4.33\r\n2023-01-26,4.33\r\n2023-01-27,4.33\r\n2023-01-28,4.33\r\n2023-01-29,4.33\r\n2023-01-30,4.33\r\n2023-01-31,4.33\r\n2023-02-01,4.33\r\n2023-02-02,4.58\r\n2023-02-03,4.58\r\n2023-02-04,4.58\r\n2023-02-05,4.58\r\n2023-02-06,4.58\r\n2023-02-07,4.58\r\n2023-02-08,4.58\r\n2023-02-09,4.57\r\n2023-02-10,4.58\r\n2023-02-11,4.58\r\n2023-02-12,4.58\r\n2023-02-13,4.58\r\n2023-02-14,4.58\r\n2023-02-15,4.58\r\n2023-02-16,4.58\r\n2023-02-17,4.58\r\n2023-02-18,4.58\r\n2023-02-19,4.58\r\n2023-02-20,4.58\r\n2023-02-21,4.58\r\n2023-02-22,4.58\r\n2023-02-23,4.58\r\n2023-02-24,4.58\r\n2023-02-25,4.58\r\n2023-02-26,4.58\r\n2023-02-27,4.57\r\n2023-02-28,4.57\r\n2023-03-01,4.58\r\n2023-03-02,4.57\r\n2023-03-03,4.57\r\n2023-03-04,4.57\r\n2023-03-05,4.57\r\n2023-03-06,4.57\r\n2023-03-07,4.57\r\n2023-03-08,4.57\r\n2023-03-09,4.57\r\n2023-03-10,4.57\r\n2023-03-11,4.57\r\n2023-03-12,4.57\r\n2023-03-13,4.58\r\n2023-03-14,4.58\r\n2023-03-15,4.58\r\n2023-03-16,4.58\r\n2023-03-17,4.58\r\n2023-03-18,4.58\r\n2023-03-19,4.58\r\n2023-03-20,4.58\r\n2023-03-21,4.58\r\n2023-03-22,4.58\r\n2023-03-23,4.83\r\n2023-03-24,4.83\r\n2023-03-25,4.83\r\n2023-03-26,4.83\r\n2023-03-27,4.83\r\n2023-03-28,4.83\r\n2023-03-29,4.83\r\n2023-03-30,4.83\r\n2023-03-31,4.83\r\n2023-04-01,4.83\r\n2023-04-02,4.83\r\n2023-04-03,4.83\r\n2023-04-04,4.83\r\n2023-04-05,4.83\r\n2023-04-06,4.83\r\n2023-04-07,4.83\r\n2023-04-08,4.83\r\n2023-04-09,4.83\r\n2023-04-10,4.83\r\n2023-04-11,4.83\r\n2023-04-12,4.83\r\n2023-04-13,4.83\r\n2023-04-14,4.83\r\n2023-04-15,4.83\r\n2023-04-16,4.83\r\n2023-04-17,4.83\r\n2023-04-18,4.83\r\n2023-04-19,4.83\r\n2023-04-20,4.83\r\n2023-04-21,4.83\r\n2023-04-22,4.83\r\n2023-04-23,4.83\r\n2023-04-24,4.83\r\n2023-04-25,4.83\r\n2023-04-26,4.83\r\n2023-04-27,4.83\r\n2023-04-28,4.83\r\n2023-04-29,4.83\r\n2023-04-30,4.83\r\n2023-05-01,4.83\r\n2023-05-02,4.83\r\n2023-05-03,4.83\r\n2023-05-04,5.08\r\n2023-05-05,5.08\r\n2023-05-06,5.08\r\n2023-05-07,5.08\r\n2023-05-08,5.08\r\n2023-05-09,5.08\r\n2023-05-10,5.08\r\n2023-05-11,5.08\r\n2023-05-12,5.08\r\n2023-05-13,5.08\r\n2023-05-14,5.08\r\n2023-05-15,5.08\r\n2023-05-16,5.08\r\n2023-05-17,5.08\r\n2023-05-18,5.08\r\n2023-05-19,5.08\r\n2023-05-20,5.08\r\n2023-05-21,5.08\r\n2023-05-22,5.08\r\n2023-05-23,5.08\r\n2023-05-24,5.08\r\n2023-05-25,5.08\r\n2023-05-26,5.08\r\n2023-05-27,5.08\r\n2023-05-28,5.08\r\n2023-05-29,5.08\r\n2023-05-30,5.08\r\n2023-05-31,5.08\r\n2023-06-01,5.08\r\n2023-06-02,5.08\r\n2023-06-03,5.08\r\n2023-06-04,5.08\r\n2023-06-05,5.08\r\n2023-06-06,5.08\r\n2023-06-07,5.08\r\n2023-06-08,5.08\r\n2023-06-09,5.08\r\n2023-06-10,5.08\r\n2023-06-11,5.08\r\n2023-06-12,5.08\r\n2023-06-13,5.08\r\n2023-06-14,5.08\r\n2023-06-15,5.07\r\n2023-06-16,5.08\r\n2023-06-17,5.08\r\n2023-06-18,5.08\r\n2023-06-19,5.08\r\n2023-06-20,5.07\r\n2023-06-21,5.07\r\n2023-06-22,5.07\r\n2023-06-23,5.07\r\n2023-06-24,5.07\r\n2023-06-25,5.07\r\n2023-06-26,5.07\r\n2023-06-27,5.07\r\n2023-06-28,5.07\r\n2023-06-29,5.07\r\n2023-06-30,5.08\r\n2023-07-01,5.08\r\n2023-07-02,5.08\r\n2023-07-03,5.08\r\n2023-07-04,5.08\r\n2023-07-05,5.08\r\n2023-07-06,5.08\r\n2023-07-07,5.08\r\n2023-07-08,5.08\r\n2023-07-09,5.08\r\n2023-07-10,5.07\r\n2023-07-11,5.08\r\n2023-07-12,5.08\r\n2023-07-13,5.08\r\n2023-07-14,5.08\r\n2023-07-15,5.08\r\n2023-07-16,5.08\r\n2023-07-17,5.08\r\n2023-07-18,5.08\r\n2023-07-19,5.08\r\n2023-07-20,5.08\r\n2023-07-21,5.08\r\n2023-07-22,5.08\r\n2023-07-23,5.08\r\n2023-07-24,5.08\r\n2023-07-25,5.08\r\n2023-07-26,5.08\r\n2023-07-27,5.33\r\n2023-07-28,5.33\r\n2023-07-29,5.33\r\n2023-07-30,5.33\r\n2023-07-31,5.33\r\n2023-08-01,5.33\r\n2023-08-02,5.33\r\n2023-08-03,5.33\r\n2023-08-04,5.33\r\n2023-08-05,5.33\r\n2023-08-06,5.33\r\n2023-08-07,5.33\r\n2023-08-08,5.33\r\n2023-08-09,5.33\r\n2023-08-10,5.33\r\n2023-08-11,5.33\r\n2023-08-12,5.33\r\n2023-08-13,5.33\r\n2023-08-14,5.33\r\n2023-08-15,5.33\r\n2023-08-16,5.33\r\n2023-08-17,5.33\r\n2023-08-18,5.33\r\n2023-08-19,5.33\r\n2023-08-20,5.33\r\n2023-08-21,5.33\r\n2023-08-22,5.33\r\n2023-08-23,5.33\r\n2023-08-24,5.33\r\n2023-08-25,5.33\r\n2023-08-26,5.33\r\n2023-08-27,5.33\r\n2023-08-28,5.33\r\n2023-08-29,5.33\r\n2023-08-30,5.33\r\n2023-08-31,5.33\r\n2023-09-01,5.33\r\n2023-09-02,5.33\r\n2023-09-03,5.33\r\n2023-09-04,5.33\r\n2023-09-05,5.33\r\n2023-09-06,5.33\r\n2023-09-07,5.33\r\n2023-09-08,5.33\r\n2023-09-09,5.33\r\n2023-09-10,5.33\r\n2023-09-11,5.33\r\n2023-09-12,5.33\r\n2023-09-13,5.33\r\n2023-09-14,5.33\r\n2023-09-15,5.33\r\n2023-09-16,5.33\r\n2023-09-17,5.33\r\n2023-09-18,5.33\r\n2023-09-19,5.33\r\n2023-09-20,5.33\r\n2023-09-21,5.33\r\n2023-09-22,5.33\r\n2023-09-23,5.33\r\n2023-09-24,5.33\r\n2023-09-25,5.33\r\n2023-09-26,5.33\r\n2023-09-27,5.33\r\n2023-09-28,5.33\r\n2023-09-29,5.33\r\n2023-09-30,5.33\r\n2023-10-01,5.33\r\n2023-10-02,5.33\r\n2023-10-03,5.33\r\n2023-10-04,5.33\r\n2023-10-05,5.33\r\n2023-10-06,5.33\r\n2023-10-07,5.33\r\n2023-10-08,5.33\r\n2023-10-09,5.33\r\n2023-10-10,5.33\r\n2023-10-11,5.33\r\n2023-10-12,5.33\r\n2023-10-13,5.33\r\n2023-10-14,5.33\r\n2023-10-15,5.33\r\n2023-10-16,5.33\r\n2023-10-17,5.33\r\n2023-10-18,5.33\r\n2023-10-19,5.33\r\n2023-10-20,5.33\r\n2023-10-21,5.33\r\n2023-10-22,5.33\r\n2023-10-23,5.33\r\n2023-10-24,5.33\r\n2023-10-25,5.33\r\n2023-10-26,5.33\r\n2023-10-27,5.33\r\n2023-10-28,5.33\r\n2023-10-29,5.33\r\n2023-10-30,5.33\r\n2023-10-31,5.33\r\n2023-11-01,5.33\r\n2023-11-02,5.33\r\n2023-11-03,5.33\r\n2023-11-04,5.33\r\n2023-11-05,5.33\r\n2023-11-06,5.33\r\n2023-11-07,5.33\r\n2023-11-08,5.33\r\n2023-11-09,5.33\r\n2023-11-10,5.33\r\n2023-11-11,5.33\r\n2023-11-12,5.33\r\n2023-11-13,5.33\r\n2023-11-14,5.33\r\n2023-11-15,5.33\r\n2023-11-16,5.33\r\n2023-11-17,5.33\r\n2023-11-18,5.33\r\n2023-11-19,5.33\r\n2023-11-20,5.33\r\n2023-11-21,5.33\r\n2023-11-22,5.33\r\n2023-11-23,5.33\r\n2023-11-24,5.33\r\n2023-11-25,5.33\r\n2023-11-26,5.33\r\n2023-11-27,5.33\r\n2023-11-28,5.33\r\n2023-11-29,5.33\r\n2023-11-30,5.33\r\n2023-12-01,5.33\r\n2023-12-02,5.33\r\n2023-12-03,5.33\r\n2023-12-04,5.33\r\n2023-12-05,5.33\r\n2023-12-06,5.33\r\n2023-12-07,5.33\r\n2023-12-08,5.33\r\n2023-12-09,5.33\r\n2023-12-10,5.33\r\n2023-12-11,5.33\r\n2023-12-12,5.33\r\n2023-12-13,5.33\r\n2023-12-14,5.33\r\n2023-12-15,5.33\r\n2023-12-16,5.33\r\n2023-12-17,5.33\r\n2023-12-18,5.33\r\n2023-12-19,5.33\r\n2023-12-20,5.33\r\n2023-12-21,5.33\r\n2023-12-22,5.33\r\n2023-12-23,5.33\r\n2023-12-24,5.33\r\n2023-12-25,5.33\r\n2023-12-26,5.33\r\n2023-12-27,5.33\r\n2023-12-28,5.33\r\n2023-12-29,5.33\r\n2023-12-30,5.33\r\n2023-12-31,5.33\r\n2024-01-01,5.33\r\n2024-01-02,5.33\r\n2024-01-03,5.33\r\n2024-01-04,5.33\r\n2024-01-05,5.33\r\n2024-01-06,5.33\r\n2024-01-07,5.33\r\n2024-01-08,5.33\r\n2024-01-09,5.33\r\n2024-01-10,5.33\r\n2024-01-11,5.33\r\n2024-01-12,5.33\r\n2024-01-13,5.33\r\n2024-01-14,5.33\r\n2024-01-15,5.33\r\n2024-01-16,5.33\r\n2024-01-17,5.33\r\n2024-01-18,5.33\r\n2024-01-19,5.33\r\n2024-01-20,5.33\r\n2024-01-21,5.33\r\n2024-01-22,5.33\r\n2024-01-23,5.33\r\n2024-01-24,5.33\r\n2024-01-25,5.33\r\n2024-01-26,5.33\r\n2024-01-27,5.33\r\n2024-01-28,5.33\r\n2024-01-29,5.33\r\n2024-01-30,5.33\r\n2024-01-31,5.33\r\n2024-02-01,5.33\r\n2024-02-02,5.33\r\n2024-02-03,5.33\r\n2024-02-04,5.33\r\n2024-02-05,5.33\r\n2024-02-06,5.33\r\n2024-02-07,5.33\r\n2024-02-08,5.33\r\n2024-02-09,5.33\r\n2024-02-10,5.33\r\n2024-02-11,5.33\r\n2024-02-12,5.33\r\n2024-02-13,5.33\r\n2024-02-14,5.33\r\n2024-02-15,5.33\r\n2024-02-16,5.33\r\n2024-02-17,5.33\r\n2024-02-18,5.33\r\n2024-02-19,5.33\r\n2024-02-20,5.33\r\n2024-02-21,5.33\r\n2024-02-22,5.33\r\n2024-02-23,5.33\r\n2024-02-24,5.33\r\n2024-02-25,5.33\r\n2024-02-26,5.33\r\n2024-02-27,5.33\r\n2024-02-28,5.33\r\n2024-02-29,5.33\r\n2024-03-01,5.33\r\n2024-03-02,5.33\r\n2024-03-03,5.33\r\n2024-03-04,5.33\r\n2024-03-05,5.33\r\n2024-03-06,5.33\r\n2024-03-07,5.33\r\n2024-03-08,5.33\r\n2024-03-09,5.33\r\n2024-03-10,5.33\r\n2024-03-11,5.33\r\n2024-03-12,5.33\r\n2024-03-13,5.33\r\n2024-03-14,5.33\r\n2024-03-15,5.33\r\n2024-03-16,5.33\r\n2024-03-17,5.33\r\n2024-03-18,5.33\r\n2024-03-19,5.33\r\n2024-03-20,5.33\r\n2024-03-21,5.33\r\n2024-03-22,5.33\r\n2024-03-23,5.33\r\n2024-03-24,5.33\r\n2024-03-25,5.33\r\n2024-03-26,5.33\r\n2024-03-27,5.33\r\n2024-03-28,5.33\r\n2024-03-29,5.33\r\n2024-03-30,5.33\r\n2024-03-31,5.33\r\n2024-04-01,5.33\r\n2024-04-02,5.33\r\n2024-04-03,5.33\r\n2024-04-04,5.33\r\n2024-04-05,5.33\r\n2024-04-06,5.33\r\n2024-04-07,5.33\r\n2024-04-08,5.33\r\n2024-04-09,5.33\r\n2024-04-10,5.33\r\n2024-04-11,5.33\r\n2024-04-12,5.33\r\n2024-04-13,5.33\r\n2024-04-14,5.33\r\n2024-04-15,5.33\r\n2024-04-16,5.33\r\n2024-04-17,5.33\r\n2024-04-18,5.33\r\n2024-04-19,5.33\r\n2024-04-20,5.33\r\n2024-04-21,5.33\r\n2024-04-22,5.33\r\n2024-04-23,5.33\r\n2024-04-24,5.33\r\n2024-04-25,5.33\r\n2024-04-26,5.33\r\n2024-04-27,5.33\r\n2024-04-28,5.33\r\n2024-04-29,5.33\r\n2024-04-30,5.33\r\n2024-05-01,5.33\r\n2024-05-02,5.33\r\n2024-05-03,5.33\r\n2024-05-04,5.33\r\n2024-05-05,5.33\r\n2024-05-06,5.33\r\n2024-05-07,5.33\r\n2024-05-08,5.33\r\n2024-05-09,5.33\r\n2024-05-10,5.33\r\n2024-05-11,5.33\r\n2024-05-12,5.33\r\n2024-05-13,5.33\r\n2024-05-14,5.33\r\n2024-05-15,5.33\r\n2024-05-16,5.33\r\n2024-05-17,5.33\r\n2024-05-18,5.33\r\n2024-05-19,5.33\r\n2024-05-20,5.33\r\n2024-05-21,5.33\r\n2024-05-22,5.33\r\n2024-05-23,5.33" - headers: - CF-Cache-Status: - - EXPIRED - CF-RAY: - - 88a34cdf5cc78413-YVR - Cache-Control: - - private - Connection: - - keep-alive - Content-Disposition: - - attachment; filename=FRB_H15.csv - Content-Type: - - text/csv - Date: - - Mon, 27 May 2024 04:35:47 GMT - Last-Modified: - - Mon, 27 May 2024 01:32:02 GMT - Server: - - cloudflare - Set-Cookie: - - __cf_bm=yiZWF38q7PPS778eRVICGOJmnUDy0lZtD9gadrYwY7Q-1716784547-1.0.1.1-ojMLaOPrChVBYB_1OJYgOCbPrtl8m48SKjSD7ZNil8QE85FnCiYiK_hs0_iRgR33ha0VXxllBe3h5YF3AdZP4g; - path=/; expires=Mon, 27-May-24 05:05:47 GMT; domain=.federalreserve.gov; HttpOnly; - Secure; SameSite=None - - _cfuvid=6Zji8nA_8zJldmfpvlI8X7uuHHBVom7iTIgTJDUSuFY-1716784547909-0.0.1.1-604800000; - path=/; domain=.federalreserve.gov; HttpOnly; Secure; SameSite=None - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - X-Frame-Options: - - SAMEORIGIN - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_federal_funds_rate_fetcher.yaml b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_federal_funds_rate_fetcher.yaml new file mode 100644 index 00000000000..d216ddfa336 --- /dev/null +++ b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_federal_funds_rate_fetcher.yaml @@ -0,0 +1,92 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://markets.newyorkfed.org/api/rates/unsecured/effr/search.json?startDate=2023-01-01&endDate=2023-06-06 + response: + body: + string: !!binary | + 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 + YHcAAA== + headers: + Access-Control-Allow-Headers: + - Content-Type,Content-Disposition + Access-Control-Allow-Methods: + - OPTIONS,GET + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - Content-Disposition + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1828' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 06 Jun 2024 20:57:40 GMT + Pragma: + - no-cache + Set-Cookie: + - ak_bmsc=708282FD0DF0D37D7B8EEC7F6E7FE0D5~000000000000000000000000000000~YAAQ1pUeuGBXpLmPAQAAQ9BX7xhONWLFcCw0okbGYS1e9pk21yRgiUPaNTZNMp5Sv9xCMmLwMKLdnw8O6Hc7zrRz89eYCSlfosascqu+Yqns9+dnqyMafbNYXR1i4J9ECjdQLp8lM2L6xh8gQsdf6ZZVkGVSqC5IDB3Pi1i4wvt78Ceorh+Mf4dGp/TidQtDSRT6Ed4NntmHOWnqzNYlBqwdeijotrIOFBRsrkEbmcsTX+4Ohj+5tKKfXG9+EdvLCrb2eJvB7+U9cthYZec/uWt5lDrA7WEnXvXskwrJFBCOTrHgZnk6pJQtGhkE9oewQLQl0h0gV7izDf/SYN64eCW7wHrSnKgkOj4nXN4Zj0ZdDBdI1o+h6pD9xB1d7PiDHAtWWuMlPcqXReNef/lMse81AoQXJSvvXB4=; + Domain=.newyorkfed.org; Path=/; Expires=Thu, 06 Jun 2024 22:57:40 GMT; Max-Age=7200 + Vary: + - Accept-Encoding + strict-transport-security: + - max-age=31536000; includeSubDomains + x-amz-apigw-id: + - Y9pewFa8CYcFueA= + x-amzn-requestid: + - 6cc5ccab-5d40-4dfc-a97f-37ab9cdd7ef5 + x-amzn-trace-id: + - Root=1-666222c4-11bb458333c0ee1d7b67d155;Parent=42d70ec18dfba284;Sampled=0;lineage=e7c0e2ee:0 + x-frame-options: + - SAMEORIGIN + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_overnight_bank_funding_rate_fetcher.yaml b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_overnight_bank_funding_rate_fetcher.yaml new file mode 100644 index 00000000000..d226109becf --- /dev/null +++ b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_overnight_bank_funding_rate_fetcher.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://markets.newyorkfed.org/api/rates/unsecured/obfr/search.json?startDate=2024-06-01&endDate=2024-06-06 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWUCpKTQtKLEktVrJSiFaoVlBKTUtLTS7JLEt1SSxJVbJSUDIyMDLRNTDTNTBT + 0lFQKqksAIv6O7kFKSnoKBWkFiWn5pWAjFCyUjDVMzZCCAZA5DJzUg3Bckam2OSMTMGSxobYJM2h + ksbYJC0tITotFXSUyvJzSnNTPfOcMnNyMvPzQN4xsgDZV5RallmcmZ/nmZeSmZxYkl8E8pOSQq0O + fs+aDlbPWuDwrDlIgkzPmgw1z1oYKOgokelZ46HmWXN8yRgwhViFWgD5Rz99xgMAAA== + headers: + Access-Control-Allow-Headers: + - Content-Type,Content-Disposition + Access-Control-Allow-Methods: + - OPTIONS,GET + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - Content-Disposition + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '220' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 11 Jun 2024 02:34:03 GMT + Pragma: + - no-cache + Set-Cookie: + - cookiesession1=678A3E0EE607407E823ED4EA4F0C28B9;Expires=Wed, 11 Jun 2025 02:34:03 + GMT;Path=/;Secure;HttpOnly + Vary: + - Accept-Encoding + strict-transport-security: + - max-age=31536000; includeSubDomains + x-amz-apigw-id: + - ZLmgUG4BCYcFe8Q= + x-amzn-requestid: + - b77d47db-cd3e-492d-a63f-1ab9a17c16f8 + x-amzn-trace-id: + - Root=1-6667b79b-358f5ab1a50c2313c1e18089;Parent=15119c60494acd17;Sampled=0;lineage=e7c0e2ee:0 + x-frame-options: + - SAMEORIGIN + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_sofr_fetcher.yaml b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_sofr_fetcher.yaml new file mode 100644 index 00000000000..8ee54843854 --- /dev/null +++ b/openbb_platform/providers/federal_reserve/tests/record/http/test_federal_reserve_fetchers/test_federal_reserve_sofr_fetcher.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://markets.newyorkfed.org/api/rates/secured/sofr/search.json?startDate=2024-06-01&endDate=2024-06-06 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWUCpKTQtKLEktVrJSiFaoVlBKTUtLTS7JLEt1SSxJVbJSUDIyMDLRNTDTNTBT + 0lFQKqksAIsG+7sFKSnoKBWkFiWn5pWAjFCyUjDVMzZGCAZA5DJzUg3BckaW2OSMTMGSxkbYJM0h + kiYG2CQtLcE6TUwUdJTK8nNKc1M985wyc3Iy8/NA3jEyMLBQ0FEqSi3LLM7Mz/PMS8lMTizJLwJ5 + SkmhVge/b00p9a0xVjcT41tjrOEE8y0ogLH41tDSAqSNTN+aUOpbusetJSi9kOlbY6J8a4otzQ1I + Sja0NMTnW8AUYhVqAQ8xhrzKAwAA + headers: + Access-Control-Allow-Headers: + - Content-Type,Content-Disposition + Access-Control-Allow-Methods: + - OPTIONS,GET + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - Content-Disposition + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '249' + Content-Type: + - application/json; charset=utf-8 + Date: + - Sat, 08 Jun 2024 05:59:35 GMT + Pragma: + - no-cache + Set-Cookie: + - cookiesession1=678A3E0EBA19E6E38D9D5186C73F260F;Expires=Sun, 08 Jun 2025 05:59:35 + GMT;Path=/;Secure;HttpOnly + Vary: + - Accept-Encoding + strict-transport-security: + - max-age=31536000; includeSubDomains + x-amz-apigw-id: + - ZCLzNFtZiYcFmHQ= + x-amzn-requestid: + - 67713ca6-2c16-438f-a2a5-fd48b4fb02a1 + x-amzn-trace-id: + - Root=1-6663f347-775ee28c7594e08357ca5722;Parent=7fe874cce0755572;Sampled=0;lineage=e7c0e2ee:0 + x-frame-options: + - SAMEORIGIN + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/federal_reserve/tests/test_federal_reserve_fetchers.py b/openbb_platform/providers/federal_reserve/tests/test_federal_reserve_fetchers.py index 5da582dd69d..ac8b4f2d4c4 100644 --- a/openbb_platform/providers/federal_reserve/tests/test_federal_reserve_fetchers.py +++ b/openbb_platform/providers/federal_reserve/tests/test_federal_reserve_fetchers.py @@ -7,10 +7,16 @@ from openbb_core.app.service.user_service import UserService from openbb_federal_reserve.models.central_bank_holdings import ( FederalReserveCentralBankHoldingsFetcher, ) -from openbb_federal_reserve.models.fed_rates import FederalReserveFEDFetcher +from openbb_federal_reserve.models.federal_funds_rate import ( + FederalReserveFederalFundsRateFetcher, +) from openbb_federal_reserve.models.money_measures import ( FederalReserveMoneyMeasuresFetcher, ) +from openbb_federal_reserve.models.overnight_bank_funding_rate import ( + FederalReserveOvernightBankFundingRateFetcher, +) +from openbb_federal_reserve.models.sofr import FederalReserveSOFRFetcher from openbb_federal_reserve.models.treasury_rates import ( FederalReserveTreasuryRatesFetcher, ) @@ -51,11 +57,53 @@ def test_federal_reserve_money_measures_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_federal_reserve_fed_fetcher(credentials=test_credentials): - """Test the Federal Reserve FED fetcher.""" +def test_federal_reserve_federal_funds_rate_fetcher(credentials=test_credentials): + """Test the Federal Reserve Federal Funds Rate fetcher.""" params = {"start_date": date(2023, 1, 1), "end_date": date(2023, 6, 6)} - fetcher = FederalReserveFEDFetcher() + fetcher = FederalReserveFederalFundsRateFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_federal_reserve_yield_curve_fetcher(credentials=test_credentials): + """Test the Federal Reserve yield curve fetcher.""" + params = {"date": "2024-05-13,2020-05-09"} + + fetcher = FederalReserveYieldCurveFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_federal_reserve_central_bank_holdings_fetcher(credentials=test_credentials): + """Test the Federal Reserve Central Bank Holdings Fetcher.""" + params = {"date": date(2019, 1, 2), "holding_type": "agency_debts"} + + fetcher = FederalReserveCentralBankHoldingsFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_federal_reserve_sofr_fetcher(credentials=test_credentials): + """Test the Federal Reserve SOFR Fetcher.""" + params = {"start_date": date(2024, 6, 1), "end_date": date(2024, 6, 6)} + + fetcher = FederalReserveSOFRFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_federal_reserve_overnight_bank_funding_rate_fetcher( + credentials=test_credentials, +): + """Test the Federal Reserve Overnight Bank Funding Rate Fetcher.""" + params = {"start_date": date(2024, 6, 1), "end_date": date(2024, 6, 6)} + + fetcher = FederalReserveOvernightBankFundingRateFetcher() result = fetcher.test(params, credentials) assert result is None diff --git a/openbb_platform/providers/finra/poetry.lock b/openbb_platform/providers/finra/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/finra/poetry.lock +++ b/openbb_platform/providers/finra/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/finra/pyproject.toml b/openbb_platform/providers/finra/pyproject.toml index 625e5dba7f0..f4a42cb08d6 100644 --- a/openbb_platform/providers/finra/pyproject.toml +++ b/openbb_platform/providers/finra/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-finra" -version = "1.2.2" +version = "1.2.3" description = "FINRA extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_finra" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/finviz/poetry.lock b/openbb_platform/providers/finviz/poetry.lock index 0dafdc39d50..dca2f1d3e77 100644 --- a/openbb_platform/providers/finviz/poetry.lock +++ b/openbb_platform/providers/finviz/poetry.lock @@ -822,13 +822,9 @@ files = [ {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, @@ -1197,13 +1193,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2342,4 +2338,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "ff401fc6b93a28266e3bb839bf574765e28c29a507c3ae155c0694bad14f081c" +content-hash = "e7622754fd1e691cf24ae051c650703c85c12eeb9508d348fe5af0effbea1e8e" diff --git a/openbb_platform/providers/finviz/pyproject.toml b/openbb_platform/providers/finviz/pyproject.toml index 25ab3b06729..1ca46da57d7 100644 --- a/openbb_platform/providers/finviz/pyproject.toml +++ b/openbb_platform/providers/finviz/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-finviz" -version = "1.1.2" +version = "1.1.3" description = "Finviz extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_finviz" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" finvizfinance = "0.14.7" diff --git a/openbb_platform/providers/fmp/openbb_fmp/__init__.py b/openbb_platform/providers/fmp/openbb_fmp/__init__.py index dac9f3e8d35..7ae1d68fb91 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/__init__.py +++ b/openbb_platform/providers/fmp/openbb_fmp/__init__.py @@ -138,6 +138,6 @@ stock market information (news, currencies, and stock prices).""", "YieldCurve": FMPYieldCurveFetcher, }, repr_name="Financial Modeling Prep (FMP)", - v3_credentials=["API_KEY_FINANCIALMODELINGPREP"], + deprecated_credentials={"API_KEY_FINANCIALMODELINGPREP": "fmp_api_key"}, instructions='Go to: https://site.financialmodelingprep.com/developer/docs\n\n![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207821920-64553d05-d461-4984-b0fe-be0368c71186.png)\n\nClick on, "Get my API KEY here", and sign up for a free account.\n\n![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207822184-a723092e-ef42-4f87-8c55-db150f09741b.png)\n\nWith an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the "Dashboard" button which will show the API key.\n\n![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207823170-dd8191db-e125-44e5-b4f3-2df0e115c91d.png)', # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/earnings_call_transcript.py b/openbb_platform/providers/fmp/openbb_fmp/models/earnings_call_transcript.py index 47073b67fe2..e0c47582969 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/earnings_call_transcript.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/earnings_call_transcript.py @@ -1,5 +1,7 @@ """FMP Earnings Call Transcript Model.""" +# pylint: disable=unused-argument + from datetime import datetime from typing import Any, Dict, List, Optional @@ -8,7 +10,7 @@ from openbb_core.provider.standard_models.earnings_call_transcript import ( EarningsCallTranscriptData, EarningsCallTranscriptQueryParams, ) -from openbb_fmp.utils.helpers import create_url, get_data_many +from openbb_core.provider.utils.helpers import amake_requests from pydantic import field_validator @@ -18,12 +20,10 @@ class FMPEarningsCallTranscriptQueryParams(EarningsCallTranscriptQueryParams): Source: https://site.financialmodelingprep.com/developer/docs/earning-call-transcript-api/ """ - @field_validator("year", mode="before", check_fields=False) - @classmethod - def time_validate(cls, v: int): # pylint: disable=E0213 - """Return the year as an integer.""" - current_year = datetime.now().year - return current_year if v > current_year or v < 1950 else v + __json_schema_extra__ = { + "symbol": {"multiple_items_allowed": True}, + "year": {"multiple_items_allowed": True}, + } class FMPEarningsCallTranscriptData(EarningsCallTranscriptData): @@ -31,7 +31,7 @@ class FMPEarningsCallTranscriptData(EarningsCallTranscriptData): @field_validator("date", mode="before", check_fields=False) @classmethod - def date_validate(cls, v: str): # pylint: disable=E0213 + def date_validate(cls, v): """Return the date as a datetime object.""" return datetime.strptime(v, "%Y-%m-%d %H:%M:%S") @@ -42,7 +42,7 @@ class FMPEarningsCallTranscriptFetcher( List[FMPEarningsCallTranscriptData], ] ): - """Transform the query, extract and transform the data from the FMP endpoints.""" + """FMP Earnings Call Transcript Fetcher.""" @staticmethod def transform_query(params: Dict[str, Any]) -> FMPEarningsCallTranscriptQueryParams: @@ -57,16 +57,23 @@ class FMPEarningsCallTranscriptFetcher( ) -> List[Dict]: """Return the raw data from the FMP endpoint.""" api_key = credentials.get("fmp_api_key") if credentials else "" + symbols = query.symbol.split(",") + years = query.year.split(",") if isinstance(query.year, str) else [query.year] - url = create_url( - 4, - f"batch_earning_call_transcript/{query.symbol}", - api_key, - query, - ["symbol"], - ) + def generate_url(symbol, year): + """Generate the URL.""" + url = ( + f"https://financialmodelingprep.com/api/v4/batch_earning_call_transcript/{symbol}?" + + f"year={year}&apikey={api_key}" + ) + return url - return await get_data_many(url, **kwargs) + urls: List = [] + for symbol in symbols: + for year in years: + urls.append(generate_url(symbol, year)) + + return await amake_requests(urls, **kwargs) # type: ignore @staticmethod def transform_data( diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/forward_ebitda_estimates.py b/openbb_platform/providers/fmp/openbb_fmp/models/forward_ebitda_estimates.py index 3da4fe24d11..223eeac6203 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/forward_ebitda_estimates.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/forward_ebitda_estimates.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_ebitda_estimates import ( ForwardEbitdaEstimatesData, @@ -46,7 +47,7 @@ class FMPForwardEbitdaEstimatesQueryParams(ForwardEbitdaEstimatesQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for FMP.") + raise OpenBBError("Symbol is a required field for FMP.") return value @@ -110,7 +111,6 @@ class FMPForwardEbitdaEstimatesFetcher( query: FMPForwardEbitdaEstimatesQueryParams, data: List[Dict], **kwargs: Any ) -> List[FMPForwardEbitdaEstimatesData]: """Return the transformed data.""" - symbols = query.symbol.split(",") if query.symbol else [] cols = [ "symbol", diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/forward_eps_estimates.py b/openbb_platform/providers/fmp/openbb_fmp/models/forward_eps_estimates.py index 8a3a714e33c..cf065d5dd9a 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/forward_eps_estimates.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/forward_eps_estimates.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_eps_estimates import ( ForwardEpsEstimatesData, @@ -46,7 +47,7 @@ class FMPForwardEpsEstimatesQueryParams(ForwardEpsEstimatesQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for FMP.") + raise OpenBBError("Symbol is a required field for FMP.") return value @@ -112,7 +113,6 @@ class FMPForwardEpsEstimatesFetcher( query: FMPForwardEpsEstimatesQueryParams, data: List[Dict], **kwargs: Any ) -> List[FMPForwardEpsEstimatesData]: """Return the transformed data.""" - symbols = query.symbol.split(",") if query.symbol else [] cols = [ "symbol", diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/price_target_consensus.py b/openbb_platform/providers/fmp/openbb_fmp/models/price_target_consensus.py index 0cf0f8d3c54..2dbbcfe1bec 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/price_target_consensus.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/price_target_consensus.py @@ -6,6 +6,7 @@ import asyncio from typing import Any, Dict, List, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.price_target_consensus import ( PriceTargetConsensusData, @@ -30,7 +31,7 @@ class FMPPriceTargetConsensusQueryParams(PriceTargetConsensusQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for FMP.") + raise OpenBBError("Symbol is a required field for FMP.") return value diff --git a/openbb_platform/providers/fmp/openbb_fmp/utils/helpers.py b/openbb_platform/providers/fmp/openbb_fmp/utils/helpers.py index c37c5718cdc..d88d6f4a056 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/utils/helpers.py +++ b/openbb_platform/providers/fmp/openbb_fmp/utils/helpers.py @@ -3,6 +3,7 @@ from datetime import date as dateType from typing import Any, Dict, List, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.utils.client import ClientSession from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import ( @@ -20,10 +21,10 @@ async def response_callback( """Use callback for make_request.""" data = await response.json() if isinstance(data, dict) and "Error Message" in data: - raise RuntimeError(f"FMP Error Message -> {data['Error Message']}") + raise OpenBBError(f"FMP Error Message -> {data['Error Message']}") if isinstance(data, dict) and "error" in data: - raise RuntimeError( + raise OpenBBError( f"FMP Error Message -> {data['error']}. Status code: {response.status}" ) diff --git a/openbb_platform/providers/fmp/poetry.lock b/openbb_platform/providers/fmp/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/fmp/poetry.lock +++ b/openbb_platform/providers/fmp/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/fmp/pyproject.toml b/openbb_platform/providers/fmp/pyproject.toml index 20dfe2507cc..94619cc811b 100644 --- a/openbb_platform/providers/fmp/pyproject.toml +++ b/openbb_platform/providers/fmp/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-fmp" -version = "1.2.2" +version = "1.2.3" description = "FMP extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_fmp" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/fred/openbb_fred/__init__.py b/openbb_platform/providers/fred/openbb_fred/__init__.py index d4a86ac40f8..24be680a52a 100644 --- a/openbb_platform/providers/fred/openbb_fred/__init__.py +++ b/openbb_platform/providers/fred/openbb_fred/__init__.py @@ -1,33 +1,50 @@ """FRED provider module.""" from openbb_core.provider.abstract.provider import Provider -from openbb_fred.models.ameribor_rates import FREDAMERIBORFetcher +from openbb_fred.models.ameribor import FredAmeriborFetcher from openbb_fred.models.balance_of_payments import FredBalanceOfPaymentsFetcher +from openbb_fred.models.bond_indices import FredBondIndicesFetcher +from openbb_fred.models.commercial_paper import FREDCommercialPaperFetcher from openbb_fred.models.consumer_price_index import FREDConsumerPriceIndexFetcher -from openbb_fred.models.cp import FREDCommercialPaperFetcher from openbb_fred.models.dwpcr_rates import FREDDiscountWindowPrimaryCreditRateFetcher from openbb_fred.models.ecb_interest_rates import ( FREDEuropeanCentralBankInterestRatesFetcher, ) -from openbb_fred.models.estr_rates import FREDESTRFetcher +from openbb_fred.models.euro_short_term_rate import FredEuroShortTermRateFetcher from openbb_fred.models.fed_projections import FREDPROJECTIONFetcher -from openbb_fred.models.fed_rates import FREDFEDFetcher +from openbb_fred.models.federal_funds_rate import FredFederalFundsRateFetcher from openbb_fred.models.ffrmc import FREDSelectedTreasuryConstantMaturityFetcher -from openbb_fred.models.hqm import FREDHighQualityMarketCorporateBondFetcher +from openbb_fred.models.high_quality_market import ( + FredHighQualityMarketCorporateBondFetcher, +) from openbb_fred.models.ice_bofa import FREDICEBofAFetcher from openbb_fred.models.iorb_rates import FREDIORBFetcher +from openbb_fred.models.manufacturing_outlook_texas import ( + FredManufacturingOutlookTexasFetcher, +) from openbb_fred.models.moody import FREDMoodyCorporateBondIndexFetcher +from openbb_fred.models.mortgage_indices import FredMortgageIndicesFetcher +from openbb_fred.models.overnight_bank_funding_rate import ( + FredOvernightBankFundingRateFetcher, +) from openbb_fred.models.regional import FredRegionalDataFetcher from openbb_fred.models.retail_prices import FredRetailPricesFetcher from openbb_fred.models.search import ( FredSearchFetcher, ) +from openbb_fred.models.senior_loan_officer_survey import ( + FredSeniorLoanOfficerSurveyFetcher, +) from openbb_fred.models.series import FredSeriesFetcher -from openbb_fred.models.sofr_rates import FREDSOFRFetcher +from openbb_fred.models.sofr import FREDSOFRFetcher from openbb_fred.models.sonia_rates import FREDSONIAFetcher from openbb_fred.models.spot import FREDSpotRateFetcher +from openbb_fred.models.survey_of_economic_conditions_chicago import ( + FredSurveyOfEconomicConditionsChicagoFetcher, +) from openbb_fred.models.tbffr import FREDSelectedTreasuryBillFetcher from openbb_fred.models.tmc import FREDTreasuryConstantMaturityFetcher +from openbb_fred.models.university_of_michigan import FredUofMichiganFetcher from openbb_fred.models.us_yield_curve import ( FREDYieldCurveFetcher as FREDUSYieldCurveFetcher, ) @@ -42,32 +59,39 @@ Research division of the Federal Reserve Bank of St. Louis that has more than credentials=["api_key"], fetcher_dict={ "BalanceOfPayments": FredBalanceOfPaymentsFetcher, + "BondIndices": FredBondIndicesFetcher, "ConsumerPriceIndex": FREDConsumerPriceIndexFetcher, "USYieldCurve": FREDUSYieldCurveFetcher, "SOFR": FREDSOFRFetcher, - "ESTR": FREDESTRFetcher, + "EuroShortTermRate": FredEuroShortTermRateFetcher, "SONIA": FREDSONIAFetcher, - "AMERIBOR": FREDAMERIBORFetcher, - "FEDFUNDS": FREDFEDFetcher, + "Ameribor": FredAmeriborFetcher, + "FederalFundsRate": FredFederalFundsRateFetcher, "PROJECTIONS": FREDPROJECTIONFetcher, "IORB": FREDIORBFetcher, "DiscountWindowPrimaryCreditRate": FREDDiscountWindowPrimaryCreditRateFetcher, "EuropeanCentralBankInterestRates": FREDEuropeanCentralBankInterestRatesFetcher, "ICEBofA": FREDICEBofAFetcher, + "ManufacturingOutlookTexas": FredManufacturingOutlookTexasFetcher, "MoodyCorporateBondIndex": FREDMoodyCorporateBondIndexFetcher, + "MortgageIndices": FredMortgageIndicesFetcher, + "OvernightBankFundingRate": FredOvernightBankFundingRateFetcher, "CommercialPaper": FREDCommercialPaperFetcher, "FredSearch": FredSearchFetcher, "FredSeries": FredSeriesFetcher, "FredRegional": FredRegionalDataFetcher, "RetailPrices": FredRetailPricesFetcher, + "SeniorLoanOfficerSurvey": FredSeniorLoanOfficerSurveyFetcher, "SpotRate": FREDSpotRateFetcher, - "HighQualityMarketCorporateBond": FREDHighQualityMarketCorporateBondFetcher, + "HighQualityMarketCorporateBond": FredHighQualityMarketCorporateBondFetcher, "TreasuryConstantMaturity": FREDTreasuryConstantMaturityFetcher, "SelectedTreasuryConstantMaturity": FREDSelectedTreasuryConstantMaturityFetcher, "SelectedTreasuryBill": FREDSelectedTreasuryBillFetcher, + "SurveyOfEconomicConditionsChicago": FredSurveyOfEconomicConditionsChicagoFetcher, + "UniversityOfMichigan": FredUofMichiganFetcher, "YieldCurve": FREDYieldCurveFetcher, }, repr_name="Federal Reserve Economic Data | St. Louis FED (FRED)", - v3_credentials=["API_FRED_KEY"], + deprecated_credentials={"API_FRED_KEY": "fred_api_key"}, instructions='Go to: https://fred.stlouisfed.org\n\n![FRED](https://user-images.githubusercontent.com/46355364/207827137-d143ba4c-72cb-467d-a7f4-5cc27c597aec.png)\n\nClick on, "My Account", create a new account or sign in with Google:\n\n![FRED](https://user-images.githubusercontent.com/46355364/207827011-65cdd501-27e3-436f-bd9d-b0d8381d46a7.png)\n\nAfter completing the sign-up, go to "My Account", and select "API Keys". Then, click on, "Request API Key".\n\n![FRED](https://user-images.githubusercontent.com/46355364/207827577-c869f989-4ef4-4949-ab57-6f3931f2ae9d.png)\n\nFill in the box for information about the use-case for FRED, and by clicking, "Request API key", at the bottom of the page, the API key will be issued.\n\n![FRED](https://user-images.githubusercontent.com/46355364/207828032-0a32d3b8-1378-4db2-9064-aa1eb2111632.png)', # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/ameribor.py b/openbb_platform/providers/fred/openbb_fred/models/ameribor.py new file mode 100644 index 00000000000..5e0a75c3b5f --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/ameribor.py @@ -0,0 +1,227 @@ +"""FRED AMERIBOR Model.""" + +# pylint: disable=unused-argument + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.ameribor import ( + AmeriborData, + AmeriborQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import Categorical, DataFrame +from pydantic import Field + +MATURITY_TO_FRED_ID = { + "all": "AMERIBOR,AMBOR30,AMBOR90,AMBOR30T,AMBOR90T", + "overnight": "AMERIBOR", + "average_30d": "AMBOR30", + "average_90d": "AMBOR90", + "term_30d": "AMBOR30T", + "term_90d": "AMBOR90T", +} + + +class FredAmeriborQueryParams(AmeriborQueryParams): + """FRED AMERIBOR Query.""" + + __json_schema_extra__ = {"maturity": {"multiple_items_allowed": True}} + + maturity: Union[ + Literal[ + "all", + "overnight", + "average_30d", + "average_90d", + "term_30d", + "term_90d", + ], + str, + ] = Field( + default="all", + description="Period of AMERIBOR rate.", + json_schema_extra={ + "choices": [ + "all", + "overnight", + "average_30d", + "average_90d", + "term_30d", + "term_90d", + ] + }, + ) + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FredAmeriborData(AmeriborData): + """FRED AMERIBOR Data.""" + + +class FredAmeriborFetcher(Fetcher[FredAmeriborQueryParams, List[FredAmeriborData]]): + """FRED Ameribor Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FredAmeriborQueryParams: + """Transform query.""" + return FredAmeriborQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredAmeriborQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Extract data.""" + maturities = query.maturity.split(",") + ids = "" + if len(maturities) == 1 or "all" in maturities: + ids = MATURITY_TO_FRED_ID[query.maturity] + else: + ids = ",".join([MATURITY_TO_FRED_ID[m] for m in maturities]) + + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=ids, + start_date=query.start_date, + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredAmeriborQueryParams, + data: Dict, + **kwargs: Any, + ) -> AnnotatedResult[List[FredAmeriborData]]: + """Transform data.""" + if not data["data"]: + raise EmptyDataError("The request was returned with no data.") + metadata = data.get("metadata", {}) + maturity_dict = { + "AMERIBOR": "overnight", + "AMBOR30": "day_30", + "AMBOR90": "day_90", + "AMBOR30T": "day_30", + "AMBOR90T": "day_90", + } + + df = DataFrame(data.get("data", [])) + # Flatten data + df = df.melt(id_vars="date", var_name="symbol", value_name="value").query( + "value.notnull()" + ) + df = df.rename(columns={"value": "rate"}).sort_values(by="date") + # Normalize percent values + df["rate"] = df["rate"].astype(float) / 100 + + df["maturity"] = df["symbol"].apply(lambda x: maturity_dict.get(x, x)) + df["title"] = df["symbol"].apply(lambda x: metadata.get(x, {}).get("title", x)) + maturity_categories = ["overnight", "day_30", "day_90"] + df["maturity"] = Categorical( + df["maturity"], categories=maturity_categories, ordered=True + ) + df.sort_values(by=["date", "maturity"], inplace=True) + records = df.to_dict(orient="records") + + return AnnotatedResult( + result=[FredAmeriborData.model_validate(d) for d in records], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/ameribor_rates.py b/openbb_platform/providers/fred/openbb_fred/models/ameribor_rates.py deleted file mode 100644 index e96a2b67a94..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/models/ameribor_rates.py +++ /dev/null @@ -1,92 +0,0 @@ -"""FRED AMERIBOR Model.""" - -from typing import Any, Dict, List, Literal, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.ameribor_rates import ( - AMERIBORData, - AMERIBORQueryParams, -) -from openbb_fred.utils.fred_base import Fred -from pydantic import Field, field_validator - -AMERIBOR_PARAMETER_TO_FRED_ID = { - "overnight": "AMERIBOR", - "term_30": "AMBOR30T", - "term_90": "AMBOR90T", - "1_week_term_structure": "AMBOR1W", - "1_month_term_structure": "AMBOR1M", - "3_month_term_structure": "AMBOR3M", - "6_month_term_structure": "AMBOR6M", - "1_year_term_structure": "AMBOR1Y", - "2_year_term_structure": "AMBOR2Y", - "30_day_ma": "AMBOR30", - "90_day_ma": "AMBOR90", -} - - -class FREDAMERIBORQueryParams(AMERIBORQueryParams): - """FRED AMERIBOR Query.""" - - parameter: Literal[ - "overnight", - "term_30", - "term_90", - "1_week_term_structure", - "1_month_term_structure", - "3_month_term_structure", - "6_month_term_structure", - "1_year_term_structure", - "2_year_term_structure", - "30_day_ma", - "90_day_ma", - ] = Field(default="overnight", description="Period of AMERIBOR rate.") - - -class FREDAMERIBORData(AMERIBORData): - """FRED AMERIBOR Data.""" - - __alias_dict__ = {"rate": "value"} - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FREDAMERIBORFetcher( - Fetcher[FREDAMERIBORQueryParams, List[Dict[str, List[FREDAMERIBORData]]]] -): - """Transform the query, extract and transform the data from the FRED endpoints.""" - - data_type = FREDAMERIBORData - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FREDAMERIBORQueryParams: - """Transform query.""" - return FREDAMERIBORQueryParams(**params) - - @staticmethod - def extract_data( - query: FREDAMERIBORQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any, - ) -> dict: - """Extract data.""" - key = credentials.get("fred_api_key") if credentials else "" - fred_series = AMERIBOR_PARAMETER_TO_FRED_ID[query.parameter] - fred = Fred(key) - data = fred.get_series(fred_series, query.start_date, query.end_date, **kwargs) - return data - - @staticmethod - def transform_data( - query: FREDAMERIBORQueryParams, data: dict, **kwargs: Any - ) -> List[Dict[str, List[FREDAMERIBORData]]]: - """Transform data.""" - keys = ["date", "value"] - return [FREDAMERIBORData(**{k: x[k] for k in keys}) for x in data] diff --git a/openbb_platform/providers/fred/openbb_fred/models/bond_indices.py b/openbb_platform/providers/fred/openbb_fred/models/bond_indices.py new file mode 100644 index 00000000000..b0ba05e8d71 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/bond_indices.py @@ -0,0 +1,604 @@ +"""FRED Bond Indices Model.""" + +# pylint: disable=unused-argument,too-many-statements,too-many-branches + +from typing import Any, Dict, List, Literal, Optional, Union +from warnings import warn + +from openbb_core.app.model.abstract.error import OpenBBError +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.bond_indices import ( + BondIndicesData, + BondIndicesQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import Categorical, DataFrame +from pydantic import Field, PrivateAttr + +BAML_CATEGORIES = { + "high_yield": { + "us": { + "total_return": "BAMLHYH0A0HYM2TRIV", + "yield": "BAMLH0A0HYM2EY", + "oas": "BAMLH0A0HYM2", + "yield_to_worst": "BAMLH0A0HYM2SYTW", + }, + "europe": { + "total_return": "BAMLHE00EHYITRIV", + "yield": "BAMLHE00EHYIEY", + "oas": "BAMLHE00EHYIOAS", + "yield_to_worst": "BAMLHE00EHYISYTW", + }, + "emerging": { + "total_return": "BAMLEMHBHYCRPITRIV", + "yield": "BAMLEMHBHYCRPIEY", + "oas": "BAMLEMHBHYCRPIOAS", + "yield_to_worst": "BAMLEMHBHYCRPISYTW", + }, + }, + "us": { + "corporate": { + "total_return": "BAMLCC0A0CMTRIV", + "yield": "BAMLC0A0CMEY", + "oas": "BAMLC0A0CM", + "yield_to_worst": "BAMLC0A0CMSYTW", + }, + "seasoned_corporate": { + "total_return": "", + "yield": "DAAA,AAA10Y,AAAFF,DBAA,BAA10Y,BAAFF", + "oas": "", + "yield_to_worst": "", + }, + "high_yield": { + "total_return": "BAMLHYH0A0HYM2TRIV", + "yield": "BAMLH0A0HYM2EY", + "oas": "BAMLH0A0HYM2", + "yield_to_worst": "BAMLH0A0HYM2SYTW", + }, + "yield_curve": { + "year1_year3": { + "total_return": "BAMLCC1A013YTRIV", + "yield": "BAMLC1A0C13YEY", + "oas": "BAMLC1A0C13Y", + "yield_to_worst": "BAMLC1A0C13YSYTW", + }, + "year3_year5": { + "total_return": "BAMLCC2A035YTRIV", + "yield": "BAMLC2A0C35YEY", + "oas": "BAMLC2A0C35Y", + "yield_to_worst": "BAMLC2A0C35YSYTW", + }, + "year5_year7": { + "total_return": "BAMLCC3A057YTRIV", + "yield": "BAMLC3A0C57YEY", + "oas": "BAMLC3A0C57Y", + "yield_to_worst": "BAMLC3A0C57YSYTW", + }, + "year7_year10": { + "total_return": "BAMLCC4A0710YTRIV", + "yield": "BAMLC4A0C710YEY", + "oas": "BAMLC4A0C710Y", + "yield_to_worst": "BAMLC4A0C710YSYTW", + }, + "year10_year15": { + "total_return": "BAMLCC7A01015YTRIV", + "yield": "BAMLC7A0C1015YEY", + "oas": "BAMLC7A0C1015Y", + "yield_to_worst": "BAMLC7A0C1015YSYTW", + }, + "year15+": { + "total_return": "BAMLCC8A015PYTRIV", + "yield": "BAMLC8A0C15PYEY", + "oas": "BAMLC8A0C15PY", + "yield_to_worst": "BAMLC8A0C15PYSYTW", + }, + }, + "aaa": { + "total_return": "BAMLCC0A1AAATRIV", + "yield": "BAMLC0A1CAAAEY", + "oas": "BAMLC0A1CAAA", + "yield_to_worst": "BAMLC0A1CAAASYTW", + }, + "aa": { + "total_return": "BAMLCC0A2AATRIV", + "yield": "BAMLC0A2CAAEY", + "oas": "BAMLC0A2CAA", + "yield_to_worst": "BAMLC0A2CAASYTW", + }, + "a": { + "total_return": "BAMLCC0A3ATRIV", + "yield": "BAMLC0A3CAEY", + "oas": "BAMLC0A3CA", + "yield_to_worst": "BAMLC0A3CASYTW", + }, + "bbb": { + "total_return": "BAMLCC0A4BBBTRIV", + "yield": "BAMLC0A4CBBBEY", + "oas": "BAMLC0A4CBBB", + "yield_to_worst": "BAMLC0A4CBBBSYTW", + }, + "bb": { + "total_return": "BAMLHYH0A1BBTRIV", + "yield": "BAMLH0A1HYBBEY", + "oas": "BAMLH0A1HYBB", + "yield_to_worst": "BAMLH0A1HYBBSYTW", + }, + "b": { + "total_return": "BAMLHYH0A2BTRIV", + "yield": "BAMLH0A2HYBEY", + "oas": "BAMLH0A2HYB", + "yield_to_worst": "BAMLH0A2HYBSYTW", + }, + "ccc": { + "total_return": "BAMLHYH0A3CMTRIV", + "yield": "BAMLH0A3HYCEY", + "oas": "BAMLH0A3HYCC", + "yield_to_worst": "BAMLH0A3HYCCSYTW", + }, + }, + "emerging_markets": { + "corporate": { + "total_return": "BAMLEMCBPITRIV", + "yield": "BAMLEMCBPIEY", + "yield_to_worst": "BAMLEMCBPISYTW", + "oas": "BAMLEMCBPIOAS", + }, + "liquid_corporate": { + "total_return": "BAMLEMCLLCRPIUSTRIV", + "yield": "BAMLEMCLLCRPIUSEY", + "yield_to_worst": "BAMLEMCLLCRPIUSSYTW", + "oas": "BAMLEMCLLCRPIUSOAS", + }, + "crossover": { + "total_return": "BAMLEM5BCOCRPITRIV", + "yield": "BAMLEM5BCOCRPIEY", + "oas": "BAMLEM5BCOCRPIOAS", + "yield_to_worst": "BAMLEM5BCOCRPISYTW", + }, + "public_sector": { + "total_return": "BAMLEMPUPUBSLCRPIUSTRIV", + "yield": "BAMLEMPUPUBSLCRPIUSEY", + "oas": "BAMLEMPUPUBSLCRPIUSOAS", + "yield_to_worst": "BAMLEMPUPUBSLCRPIUSSYTW", + }, + "private_sector": { + "total_return": "BAMLEMFSFCRPITRIV", + "yield": "BAMLEMFSFCRPIEY", + "oas": "BAMLEMFSFCRPIOAS", + "yield_to_worst": "BAMLEMFSFCRPISYTW", + }, + "non_financial": { + "total_return": "BAMLEMNFNFLCRPIUSTRIV", + "yield": "BAMLEMNFNFLCRPIUSEY", + "oas": "BAMLEMNFNFLCRPIUSOAS", + "yield_to_worst": "BAMLEMNFNFLCRPIUSSYTW", + }, + "high_grade": { + "total_return": "BAMLEMIBHGCRPITRIV", + "yield": "BAMLEMIBHGCRPIEY", + "oas": "BAMLEMIBHGCRPIOAS", + "yield_to_worst": "BAMLEMIBHGCRPISYTW", + }, + "high_yield": { + "total_return": "BAMLEMHBHYCRPITRIV", + "yield": "BAMLEMHBHYCRPIEY", + "oas": "BAMLEMHBHYCRPIOAS", + "yield_to_worst": "BAMLEMHBHYCRPISYTW", + }, + "liquid_emea": { + "total_return": "BAMLEMELLCRPIEMEAUSTRIV", + "yield": "BAMLEMELLCRPIEMEAUSEY", + "oas": "BAMLEMELLCRPIEMEAUSOAS", + "yield_to_worst": "BAMLEMELLCRPIEMEAUSSYTW", + }, + "emea": { + "total_return": "BAMLEMRECRPIEMEATRIV", + "yield": "BAMLEMRECRPIEMEAEY", + "oas": "BAMLEMRECRPIEMEAOAS", + "yield_to_worst": "BAMLEMRECRPIEMEASYTW", + }, + "liquid_asia": { + "total_return": "BAMLEMALLCRPIASIAUSTRIV", + "yield": "BAMLEMALLCRPIASIAUSEY", + "oas": "BAMLEMALLCRPIASIAUSOAS", + "yield_to_worst": "BAMLEMALLCRPIASIAUSSYTW", + }, + "asia": { + "total_return": "BAMLEMRACRPIASIATRIV", + "yield": "BAMLEMRACRPIASIAEY", + "oas": "BAMLEMRACRPIASIAOAS", + "yield_to_worst": "BAMLEMRACRPIASIASYTW", + }, + "liquid_latam": { + "total_return": "BAMLEMLLLCRPILAUSTRIV", + "yield": "BAMLEMLLLCRPILAUSEY", + "oas": "BAMLEMLLLCRPILAUSOAS", + "yield_to_worst": "BAMLEMLLLCRPILAUSSYTW", + }, + "latam": { + "total_return": "BAMLEMRLCRPILATRIV", + "yield": "BAMLEMRLCRPILAEY", + "oas": "BAMLEMRLCRPILAOAS", + "yield_to_worst": "BAMLEMRLCRPILASYTW", + }, + "liquid_aaa": { + "total_return": "BAMLEM1RAAA2ALCRPIUSTRIV", + "yield": "BAMLEM1RAAA2ALCRPIUSEY", + "oas": "BAMLEM1RAAA2ALCRPIUSOAS", + "yield_to_worst": "BAMLEM1RAAA2ALCRPIUSSYTW", + }, + "liquid_bbb": { + "total_return": "BAMLEM2RBBBLCRPIUSTRIV", + "yield": "BAMLEM2RBBBLCRPIUSEY", + "oas": "BAMLEM2RBBBLCRPIUSOAS", + "yield_to_worst": "BAMLEM2RBBBLCRPIUSSYTW", + }, + "aaa": { + "total_return": "BAMLEM1BRRAAA2ACRPITRIV", + "yield": "BAMLEM1BRRAAA2ACRPIEY", + "oas": "BAMLEM1BRRAAA2ACRPIOAS", + "yield_to_worst": "BAMLEM1BRRAAA2ACRPISYTW", + }, + "bbb": { + "total_return": "BAMLEM2BRRBBBCRPITRIV", + "yield": "BAMLEM2BRRBBBCRPIEY", + "oas": "BAMLEM2BRRBBBCRPIOAS", + "yield_to_worst": "BAMLEM2BRRBBBCRPISYTW", + }, + "bb": { + "total_return": "BAMLEM3BRRBBCRPITRIV", + "yield": "BAMLEM3BRRBBCRPIEY", + "oas": "BAMLEM3BRRBBCRPIOAS", + "yield_to_worst": "BAMLEM3BRRBBCRPISYTW", + }, + "b": { + "total_return": "BAMLEM4BRRBLCRPITRIV", + "yield": "BAMLEM4BRRBLCRPIEY", + "oas": "BAMLEM4BRRBLCRPIOAS", + "yield_to_worst": "BAMLEM4BRRBLCRPISYTW", + }, + }, +} + +BamlCategories = Literal["high_yield", "us", "emerging_markets"] +INDEX_CHOICES = [ + "corporate", + "seasoned_corporate", + "liquid_corporate", + "yield_curve", + "crossover", + "public_sector", + "private_sector", + "non_financial", + "high_grade", + "high_yield", + "liquid_emea", + "emea", + "liquid_asia", + "asia", + "liquid_latam", + "latam", + "liquid_aaa", + "liquid_bbb", + "aaa", + "aa", + "a", + "bbb", + "bb", + "b", + "ccc", +] + + +class FredBondIndicesQueryParams(BondIndicesQueryParams): + """FRED Bond Indices Query.""" + + __json_schema_extra__ = {"index": {"multiple_items_allowed": True}} + + category: BamlCategories = Field( + default="us", + description="The type of index category. Used in conjunction with 'index', default is 'us'.", + ) + index: str = Field( + default="yield_curve", + description="The specific index to query." + + " Used in conjunction with 'category' and 'index_type', default is 'yield_curve'.", + choices=sorted(INDEX_CHOICES), + ) + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "d", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + None = No change + a = Annual + q = Quarterly + m = Monthly + w = Weekly + d = Daily + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "d", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Literal["avg", "sum", "eop"] = Field( + default="avg", + description=""" + A key that indicates the aggregation method used for frequency aggregation. + This parameter has no affect if the frequency parameter is not set, default is 'avg'. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + _symbols: Optional[str] = PrivateAttr(default=None) + + +class FredBondIndicesData(BondIndicesData): + """FRED Bond Indices Data.""" + + maturity: Optional[str] = Field( + default=None, + description="The maturity range of the bond index." + + " Only applicable when 'index' is 'yield_curve'.", + ) + title: str = Field( + description="The title of the index.", + ) + + +class FredBondIndicesFetcher( + Fetcher[ + FredBondIndicesQueryParams, + List[FredBondIndicesData], + ] +): + """FRED Bond Indices Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FredBondIndicesQueryParams: + """Transform query.""" + values = params.copy() + new_index = [] + messages = [] + values.setdefault("index", "yield_curve") + values.setdefault("category", "us") + values.setdefault("index_type", "yield") + is_yield_curve = False + if "yield_curve" in values["index"]: + values["category"] = "us" + values["index"] = "yield_curve" + new_index.append("yield_curve") + is_yield_curve = True + if ( + isinstance(values["index"], list) + and len(values["index"] > 1) + or isinstance(values["index"], str) + and "," in values["index"] + ): + message = "Multiple indices not allowed for: 'yield_curve'." + messages.append(message) + if is_yield_curve is False: + indices = ( + values["index"] + if isinstance(values["index"], list) + else values["index"].split(",") + ) + for index in indices: + if values["category"] == "us": + if index not in BAML_CATEGORIES.get("us"): + message = ( + "Invalid index for category: 'us'." + + f" Must be one of {','.join(BAML_CATEGORIES.get('us'))}." + ) + messages.append(message) + elif ( + index == "seasoned_corporate" + and values["index_type"] != "yield" + ): + message = ( + "Invalid index_type for index: 'seasoned_corporate'." + + " Must be 'yield'." + ) + messages.append(message) + else: + new_index.append(index) + if values["category"] == "high_yield": + if index not in ("us", "europe", "emerging"): + message = ( + "Invalid index for category: 'high_yield'." + + f" Must be one of {','.join(BAML_CATEGORIES.get('high_yield', ''))}." + ) + messages.append(message) + else: + new_index.append(index) + if values["category"] == "emerging_markets": + if index not in BAML_CATEGORIES.get("emerging_markets"): + message = ( + "Invalid index for category: 'emerging_markets'." + + f" Must be one of {','.join(BAML_CATEGORIES.get('emerging_markets', ''))}." + ) + messages.append(message) + else: + new_index.append(index) + if not new_index: + raise OpenBBError( + "No valid combinations of parameters were found." + + f"\n{','.join(messages) if messages else ''}" + ) + if messages: + warn(",".join(messages)) + + symbols: List = [] + if "yield_curve" in values["index"]: + maturities_dict = BAML_CATEGORIES[values["category"]][values["index"]] + maturities = list(maturities_dict) + symbols = [ + maturities_dict[item][values["index_type"]] for item in maturities + ] + else: + items = ( + values["index"] + if isinstance(values["index"], list) + else values["index"].split(",") + ) + symbols = [ + BAML_CATEGORIES[values["category"]] + .get(item, {}) + .get(values["index_type"]) + for item in items + ] + symbols = [symbol for symbol in symbols if symbol] + if not symbols: + raise OpenBBError( + "Error mapping the provided choices to series ID." + + f"\n{','.join(messages) if messages else ''}" + ) + values["index"] = ",".join(new_index) + new_params = FredBondIndicesQueryParams(**values) + new_params._symbols = ",".join(symbols) # pylint: disable=protected-access + + return new_params + + @staticmethod + async def aextract_data( + query: FredBondIndicesQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Extract data.""" + api_key = credentials.get("fred_api_key") if credentials else "" + series_ids = query._symbols # pylint: disable=protected-access + credentials = {"fred_api_key": api_key} + item_query = dict( # pylint: disable=R1735 + symbol=series_ids, + start_date=query.start_date, + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + ) + results: Dict = {} + temp = await FredSeriesFetcher.fetch_data(item_query, credentials) + result = [d.model_dump() for d in temp.result] + results["metadata"] = temp.metadata + results["data"] = result + + return results + + @staticmethod + def transform_data( + query: FredBondIndicesQueryParams, + data: Dict, + **kwargs: Any, + ) -> List[FredBondIndicesData]: + """Transform data.""" + if not data: + raise EmptyDataError("The request was returned empty.") + df = DataFrame.from_records(data["data"]) + if df.empty: + raise EmptyDataError( + "No data found for the given query. Try adjusting the parameters." + ) + # Flatten the data as a pivot table. + df = ( + df.melt(id_vars="date", var_name="symbol", value_name="value") + .query("value.notnull()") + .set_index(["date", "symbol"]) + .sort_index() + .reset_index() + ) + # Normalize the percent values. + if query.index_type != "total_return": + df["value"] = df["value"] / 100 + + titles_dict = { + symbol: data["metadata"][symbol].get("title") + for symbol in query._symbols.split(",") # pylint: disable=protected-access + } + df["title"] = df.symbol.map(titles_dict) + + if query.index == "yield_curve": + maturities_dict = BAML_CATEGORIES[query.category][query.index] + maturities = list(maturities_dict) + maturity_dict = { + maturities_dict[item][query.index_type]: item for item in maturities + } + df["maturity"] = df.symbol.map(maturity_dict) + df["maturity"] = Categorical( + df["maturity"], + categories=maturities, + ordered=True, + ) + df = df.sort_values(by=["date", "maturity"]).reset_index(drop=True) + + records = df.to_dict(orient="records") + metadata = data.get("metadata", {}) + + return AnnotatedResult( + result=[FredBondIndicesData.model_validate(r) for r in records], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/commercial_paper.py b/openbb_platform/providers/fred/openbb_fred/models/commercial_paper.py new file mode 100644 index 00000000000..d4e895217fc --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/commercial_paper.py @@ -0,0 +1,372 @@ +"""FRED Commercial Paper Model.""" + +# pylint: disable=unused-argument + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.commercial_paper import ( + CommercialPaperData, + CommercialPaperParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import Categorical, DataFrame +from pydantic import Field + +CP_SERIES_IDS = { + "RIFSPPAAAD01NB": { + "maturity": "overnight", + "asset": "asset_backed", + "title": "Overnight AA Asset-Backed Commercial Paper Interest Rate", + }, + "RIFSPPAAAD07NB": { + "maturity": "day_7", + "asset": "asset_backed", + "title": "7-Day AA Asset-Backed Commercial Paper Interest Rate", + }, + "RIFSPPAAAD15NB": { + "maturity": "day_15", + "asset": "asset_backed", + "title": "15-Day AA Asset-Backed Commercial Paper Interest Rate", + }, + "RIFSPPAAAD30NB": { + "maturity": "day_30", + "asset": "asset_backed", + "title": "30-Day AA Asset-Backed Commercial Paper Interest Rate", + }, + "RIFSPPAAAD60NB": { + "maturity": "day_60", + "asset": "asset_backed", + "title": "60-Day AA Asset-Backed Commercial Paper Interest Rate", + }, + "RIFSPPAAAD90NB": { + "maturity": "day_90", + "asset": "asset_backed", + "title": "90-Day AA Asset-Backed Commercial Paper Interest Rate", + }, + "RIFSPPFAAD01NB": { + "maturity": "overnight", + "asset": "financial", + "title": "Overnight AA Financial Commercial Paper Interest Rate", + }, + "RIFSPPFAAD07NB": { + "maturity": "day_7", + "asset": "financial", + "title": "7-Day AA Financial Commercial Paper Interest Rate", + }, + "RIFSPPFAAD15NB": { + "maturity": "day_15", + "asset": "financial", + "title": "15-Day AA Financial Commercial Paper Interest Rate", + }, + "RIFSPPFAAD30NB": { + "maturity": "day_30", + "asset": "financial", + "title": "30-Day AA Financial Commercial Paper Interest Rate", + }, + "RIFSPPFAAD60NB": { + "maturity": "day_60", + "asset": "financial", + "title": "60-Day AA Financial Commercial Paper Interest Rate", + }, + "RIFSPPFAAD90NB": { + "maturity": "day_90", + "asset": "financial", + "title": "90-Day AA Financial Commercial Paper Interest Rate", + }, + "RIFSPPNAAD01NB": { + "maturity": "overnight", + "asset": "nonfinancial", + "title": "Overnight AA Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNAAD07NB": { + "maturity": "day_7", + "asset": "nonfinancial", + "title": "7-Day AA Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNAAD15NB": { + "maturity": "day_15", + "asset": "nonfinancial", + "title": "15-Day AA Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNAAD30NB": { + "maturity": "day_30", + "asset": "nonfinancial", + "title": "30-Day AA Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNAAD60NB": { + "maturity": "day_60", + "asset": "nonfinancial", + "title": "60-Day AA Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNAAD90NB": { + "maturity": "day_90", + "asset": "nonfinancial", + "title": "90-Day AA Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNA2P2D01NB": { + "maturity": "overnight", + "asset": "a2p2", + "title": "Overnight A2/P2 Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNA2P2D07NB": { + "maturity": "day_7", + "asset": "a2p2", + "title": "7-Day A2/P2 Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNA2P2D15NB": { + "maturity": "day_15", + "asset": "a2p2", + "title": "15-Day A2/P2 Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNA2P2D30NB": { + "maturity": "day_30", + "asset": "a2p2", + "title": "30-Day A2/P2 Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNA2P2D60NB": { + "maturity": "day_60", + "asset": "a2p2", + "title": "60-Day A2/P2 Nonfinancial Commercial Paper Interest Rate", + }, + "RIFSPPNA2P2D90NB": { + "maturity": "day_90", + "asset": "a2p2", + "title": "90-Day A2/P2 Nonfinancial Commercial Paper Interest Rate", + }, +} +ALL_IDS = list(CP_SERIES_IDS) + + +class FREDCommercialPaperParams(CommercialPaperParams): + """FRED Commercial Paper Query.""" + + __json_schema_extra__ = { + "maturity": {"multiple_items_allowed": True}, + "category": {"multiple_items_allowed": True}, + } + maturity: Union[ + str, Literal["all", "overnight", "7d", "15d", "30d", "60d", "90d"] + ] = Field( + default="all", + description="A target maturity.", + json_schema_extra={ + "choices": ["all", "overnight", "7d", "15d", "30d", "60d", "90d"] + }, + ) + category: Union[ + str, Literal["all", "asset_backed", "financial", "nonfinancial", "a2p2"] + ] = Field( + default="all", + description="The category of asset.", + json_schema_extra={ + "choices": ["all", "asset_backed", "financial", "nonfinancial", "a2p2"] + }, + ) + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FREDCommercialPaperData(CommercialPaperData): + """FRED Commercial Paper Data.""" + + asset_type: Literal["asset_backed", "financial", "nonfinancial", "a2p2"] = Field( + description="The category of asset." + ) + + +class FREDCommercialPaperFetcher( + Fetcher[ + FREDCommercialPaperParams, + List[FREDCommercialPaperData], + ] +): + """FRED Commercial Paper Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FREDCommercialPaperParams: + """Transform query.""" + return FREDCommercialPaperParams(**params) + + @staticmethod + async def aextract_data( + query: FREDCommercialPaperParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Extract data.""" + ids: List[str] = [] + if query.maturity == "all" and query.category == "all": + ids = ALL_IDS + else: + MAT_DICT = { + "overnight": "01", + "7d": "07", + "15d": "15", + "30d": "30", + "60d": "60", + "90d": "90", + } + CAT_DICT = { + "asset_backed": "AAAD", + "financial": "FAAD", + "nonfinancial": "NAAD", + "a2p2": "NA2P2D", + } + maturities = query.maturity.split(",") + categories = query.category.split(",") + if "all" in categories: + categories = list(CAT_DICT) + if "all" in maturities: + maturities = list(MAT_DICT) + for cat in categories: + for mat in maturities: + ids.append(f"RIFSPP{CAT_DICT.get(cat)}{MAT_DICT.get(mat)}NB") + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date if query.start_date else "2019-01-01", + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FREDCommercialPaperParams, + data: Dict, + **kwargs: Any, + ) -> List[FREDCommercialPaperData]: + """Transform data.""" + if not data: + raise EmptyDataError("The request was returned empty.") + df = DataFrame(data["data"]) + metadata = data.get("metadata", {}) + # Flatten data + df = df.melt(id_vars="date", var_name="symbol", value_name="value").query( + "value.notnull()" + ) + df = df.rename(columns={"value": "rate"}).sort_values(by="date") + # Normalize percent values + df["rate"] = df["rate"].astype(float) / 100 + # Add asset type, maturity, and title + df["asset_type"] = df["symbol"].apply(lambda x: CP_SERIES_IDS[x]["asset"]) + df["title"] = df["symbol"].apply(lambda x: CP_SERIES_IDS[x]["title"]) + df["maturity"] = df["symbol"].apply(lambda x: CP_SERIES_IDS[x]["maturity"]) + # Categorize and order. + asset_type_categories = ["asset_backed", "financial", "nonfinancial", "a2p2"] + maturity_categories = [ + "overnight", + "day_7", + "day_15", + "day_30", + "day_60", + "day_90", + ] + df["asset_type"] = Categorical( + df["asset_type"], categories=asset_type_categories, ordered=True + ) + df["maturity"] = Categorical( + df["maturity"], categories=maturity_categories, ordered=True + ) + df.sort_values(by=["date", "asset_type", "maturity"], inplace=True) + records = df.to_dict(orient="records") + + return AnnotatedResult( + result=[FREDCommercialPaperData.model_validate(d) for d in records], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/cp.py b/openbb_platform/providers/fred/openbb_fred/models/cp.py deleted file mode 100644 index b957ff08495..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/models/cp.py +++ /dev/null @@ -1,87 +0,0 @@ -"""FRED Commercial Paper Model.""" - -from typing import Any, Dict, List, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.cp import ( - CommercialPaperData, - CommercialPaperParams, -) -from openbb_fred.utils.fred_base import Fred -from openbb_fred.utils.fred_helpers import get_cp_series_id -from pydantic import field_validator - - -class FREDCommercialPaperParams(CommercialPaperParams): - """FRED Commercial Paper Query.""" - - -class FREDCommercialPaperData(CommercialPaperData): - """FRED Commercial Paper Data.""" - - __alias_dict__ = {"rate": "value"} - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FREDCommercialPaperFetcher( - Fetcher[ - FREDCommercialPaperParams, - List[FREDCommercialPaperData], - ] -): - """Transform the query, extract and transform the data from the FRED endpoints.""" - - data_type = FREDCommercialPaperData - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FREDCommercialPaperParams: - """Transform query.""" - return FREDCommercialPaperParams(**params) - - @staticmethod - def extract_data( - query: FREDCommercialPaperParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any - ) -> list: - """Extract data.""" - key = credentials.get("fred_api_key") if credentials else "" - fred = Fred(key) - - series = get_cp_series_id( - maturity=query.maturity, - category=query.category, - grade=query.grade, - ) - - data = [] - - for s in series: - id_ = s["FRED Series ID"] - title = s["Title"] - d = fred.get_series( - series_id=id_, - start_date=query.start_date, - end_date=query.end_date, - **kwargs, - ) - for item in d: - item["title"] = title - data.extend(d) - - return data - - @staticmethod - def transform_data( - query: FREDCommercialPaperParams, data: list, **kwargs: Any - ) -> List[FREDCommercialPaperData]: - """Transform data.""" - return [FREDCommercialPaperData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fred/openbb_fred/models/estr_rates.py b/openbb_platform/providers/fred/openbb_fred/models/estr_rates.py deleted file mode 100644 index fcdbf1e99f8..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/models/estr_rates.py +++ /dev/null @@ -1,81 +0,0 @@ -"""FRED ESTR Model.""" - -from typing import Any, Dict, List, Literal, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.estr_rates import ESTRData, ESTRQueryParams -from openbb_fred.utils.fred_base import Fred -from pydantic import Field, field_validator - -ESTR_PARAMETER_TO_ID = { - "volume_weighted_trimmed_mean_rate": "ECBESTRVOLWGTTRMDMNRT", - "number_of_transactions": "ECBESTRNUMTRANS", - "number_of_active_banks": "ECBESTRNUMACTBANKS", - "total_volume": "ECBESTRTOTVOL", - "share_of_volume_of_the_5_largest_active_banks": "ECBESTRSHRVOL5LRGACTBNK", - "rate_at_75th_percentile_of_volume": "ECBESTRRT75THPCTVOL", - "rate_at_25th_percentile_of_volume": "ECBESTRRT25THPCTVOL", -} - - -class FREDESTRQueryParams(ESTRQueryParams): - """FRED ESTR Query.""" - - parameter: Literal[ - "volume_weighted_trimmed_mean_rate", - "number_of_transactions", - "number_of_active_banks", - "total_volume", - "share_of_volume_of_the_5_largest_active_banks", - "rate_at_75th_percentile_of_volume", - "rate_at_25th_percentile_of_volume", - ] = Field( - default="volume_weighted_trimmed_mean_rate", description="Period of ESTR rate." - ) - - -class FREDESTRData(ESTRData): - """FRED ESTR Data.""" - - __alias_dict__ = {"rate": "value"} - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FREDESTRFetcher( - Fetcher[FREDESTRQueryParams, List[Dict[str, List[FREDESTRData]]]] -): - """Transform the query, extract and transform the data from the FRED endpoints.""" - - data_type = FREDESTRData - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FREDESTRQueryParams: - """Transform query""" - return FREDESTRQueryParams(**params) - - @staticmethod - def extract_data( - query: FREDESTRQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any - ) -> dict: - """Extract data""" - key = credentials.get("fred_api_key") if credentials else "" - fred_series = ESTR_PARAMETER_TO_ID[query.parameter] - fred = Fred(key) - data = fred.get_series(fred_series, query.start_date, query.end_date, **kwargs) - return data - - @staticmethod - def transform_data( - query: FREDESTRQueryParams, data: dict, **kwargs: Any - ) -> List[Dict[str, List[FREDESTRData]]]: - """Transform data""" - keys = ["date", "value"] - return [FREDESTRData(**{k: x[k] for k in keys}) for x in data] diff --git a/openbb_platform/providers/fred/openbb_fred/models/euro_short_term_rate.py b/openbb_platform/providers/fred/openbb_fred/models/euro_short_term_rate.py new file mode 100644 index 00000000000..9cbe46c8b20 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/euro_short_term_rate.py @@ -0,0 +1,194 @@ +"""FRED Euro Short Term Rate Standard Model.""" + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.euro_short_term_rate import ( + EuroShortTermRateData, + EuroShortTermRateQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pydantic import Field, field_validator + + +class FredEuroShortTermRateQueryParams(EuroShortTermRateQueryParams): + """FRED Euro Short Term Rate Query.""" + + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FredEuroShortTermRateData(EuroShortTermRateData): + """FRED Euro Short Term Rate Data.""" + + __alias_dict__ = { + "rate": "ECBESTRVOLWGTTRMDMNRT", + "transactions": "ECBESTRNUMTRANS", + "number_of_banks": "ECBESTRNUMACTBANKS", + "volume": "ECBESTRTOTVOL", + "large_bank_share_of_volume": "ECBESTRSHRVOL5LRGACTBNK", + "percentile_75": "ECBESTRRT75THPCTVOL", + "percentile_25": "ECBESTRRT25THPCTVOL", + } + + @field_validator( + "rate", + "percentile_25", + "percentile_75", + "large_bank_share_of_volume", + mode="before", + check_fields=False, + ) + @classmethod + def normalize_percent(cls, v): + """Normalize percent.""" + return float(v) / 100 if v else None + + +class FredEuroShortTermRateFetcher( + Fetcher[FredEuroShortTermRateQueryParams, List[FredEuroShortTermRateData]] +): + """FRED Euro Short Term Rate Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FredEuroShortTermRateQueryParams: + """Transform query""" + return FredEuroShortTermRateQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredEuroShortTermRateQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Extract data""" + + ids = [ + "ECBESTRVOLWGTTRMDMNRT", + "ECBESTRNUMTRANS", + "ECBESTRNUMACTBANKS", + "ECBESTRTOTVOL", + "ECBESTRSHRVOL5LRGACTBNK", + "ECBESTRRT75THPCTVOL", + "ECBESTRRT25THPCTVOL", + ] + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date if query.start_date else "2019-10-02", + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredEuroShortTermRateQueryParams, + data: Dict, + **kwargs: Any, + ) -> List[List[FredEuroShortTermRateData]]: + """Transform data""" + if not data: + raise EmptyDataError("The request was returned empty.") + return AnnotatedResult( + result=[ + FredEuroShortTermRateData.model_validate(d) + for d in data.get("data", []) + if d.get("ECBESTRVOLWGTTRMDMNRT") + ], + metadata=data.get("metadata", {}), + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/fed_rates.py b/openbb_platform/providers/fred/openbb_fred/models/fed_rates.py deleted file mode 100644 index 220ee8cf26f..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/models/fed_rates.py +++ /dev/null @@ -1,80 +0,0 @@ -"""FRED FED Model.""" - -from typing import Any, Dict, List, Literal, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.fed_rates import ( - FEDData, - FEDQueryParams, -) -from openbb_fred.utils.fred_base import Fred -from pydantic import Field, field_validator - -FED_PARAMETER_TO_FRED_ID = { - "monthly": "FEDFUNDS", - "daily": "DFF", - "weekly": "FF", - "daily_excl_weekend": "RIFSPFFNB", - "annual": "RIFSPFFNA", - "biweekly": "RIFSPFFNBWAW", - "volume": "EFFRVOL", -} - - -class FREDFEDQueryParams(FEDQueryParams): - """FRED FED Query.""" - - parameter: Literal[ - "monthly", - "daily", - "weekly", - "daily_excl_weekend", - "annual", - "biweekly", - "volume", - ] = Field(default="weekly", description="Period of FED rate.") - - -class FREDFEDData(FEDData): - """FRED FED Data.""" - - __alias_dict__ = {"rate": "value"} - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FREDFEDFetcher(Fetcher[FREDFEDQueryParams, List[Dict[str, List[FREDFEDData]]]]): - """FRED FED Model.""" - - data_type = FREDFEDData - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FREDFEDQueryParams: - """Transform query.""" - return FREDFEDQueryParams(**params) - - @staticmethod - def extract_data( - query: FREDFEDQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any - ) -> dict: - """Extract data.""" - key = credentials.get("fred_api_key") if credentials else "" - fred_series = FED_PARAMETER_TO_FRED_ID[query.parameter] - fred = Fred(key) - data = fred.get_series(fred_series, query.start_date, query.end_date, **kwargs) - return data - - @staticmethod - def transform_data( - query: FREDFEDQueryParams, data: dict, **kwargs: Any - ) -> List[Dict[str, List[FREDFEDData]]]: - """Transform data.""" - keys = ["date", "value"] - return [FREDFEDData(**{k: x[k] for k in keys}) for x in data] diff --git a/openbb_platform/providers/fred/openbb_fred/models/federal_funds_rate.py b/openbb_platform/providers/fred/openbb_fred/models/federal_funds_rate.py new file mode 100644 index 00000000000..d6cc7f57f52 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/federal_funds_rate.py @@ -0,0 +1,203 @@ +"""FRED Federal Funds Rate Model.""" + +from datetime import datetime +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.federal_funds_rate import ( + FederalFundsRateData, + FederalFundsRateQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import DataFrame, to_datetime +from pydantic import Field + +EFFR_SERIES_IDS = { + "rate": "DFF", + "target_range_upper": "DFEDTARU", + "target_range_lower": "DFEDTARL", + "percentile_1": "EFFR1", + "percentile_25": "EFFR25", + "percentile_75": "EFFR75", + "percentile_99": "EFFR99", + "volume": "EFFRVOL", +} + + +class FredFederalFundsRateQueryParams(FederalFundsRateQueryParams): + """FRED Federal Funds Rate Query.""" + + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + effr_only: bool = Field( + default=False, + description="Return data without quantiles, target ranges, and volume.", + ) + + +class FredFederalFundsRateData(FederalFundsRateData): + """FRED Federal Funds Rate Data.""" + + +class FredFederalFundsRateFetcher( + Fetcher[FredFederalFundsRateQueryParams, List[FredFederalFundsRateData]] +): + """FRED Federal Funds Rate Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FredFederalFundsRateQueryParams: + """Transform query.""" + transformed_params = params.copy() + now = datetime.now().date() + if params.get("start_date") is None: + transformed_params["start_date"] = ( + datetime(2016, 1, 1).date() + if params.get("effr_only") is False + else None + ) + if params.get("end_date") is None: + transformed_params["end_date"] = now + return FredFederalFundsRateQueryParams(**transformed_params) + + @staticmethod + async def aextract_data( + query: FredFederalFundsRateQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Extract the raw data.""" + ids = ( + "DFF" + if query.effr_only is True + else ",".join(list(EFFR_SERIES_IDS.values())) + ) + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=ids, + start_date=query.start_date, + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredFederalFundsRateQueryParams, data: dict, **kwargs: Any + ) -> AnnotatedResult[List[FredFederalFundsRateData]]: + """Transform and validate the data.""" + metadata = data.get("metadata", {}) + df = DataFrame(data.get("data", [])).dropna() + if df.empty: + raise EmptyDataError( + "There was an error with the request and it was returned empty." + ) + col_map = {v: k for k, v in EFFR_SERIES_IDS.items()} + df.date = df.date.apply(to_datetime) + df = df.set_index("date") + df = df.rename(columns=col_map) + for col in df.columns: + df[col] = ( + df[col].astype(float) / 100 + if col != "volume" + else df[col].astype(float) + ) + records = df.reset_index().to_dict(orient="records") + + return AnnotatedResult( + result=[FredFederalFundsRateData.model_validate(d) for d in records], + metadata={col_map[k]: v for k, v in metadata.items()}, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py b/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py new file mode 100644 index 00000000000..d8372614644 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/high_quality_market.py @@ -0,0 +1,143 @@ +"""FRED High Quality Market Corporate Bond Model.""" + +import asyncio +from datetime import date as dateType +from typing import Any, Dict, List, Literal, Optional + +from dateutil import parser +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.high_quality_market import ( + HighQualityMarketCorporateBondData, + HighQualityMarketCorporateBondQueryParams, +) +from openbb_core.provider.utils.helpers import amake_request +from pandas import Categorical, DataFrame +from pydantic import Field, field_validator + + +class FredHighQualityMarketCorporateBondQueryParams( + HighQualityMarketCorporateBondQueryParams +): + """FRED High Quality Market Corporate Bond Query.""" + + __json_schema_extra__ = {"date": {"multiple_items_allowed": True}} + + yield_curve: Literal["spot", "par"] = Field( + default="spot", + description="The yield curve type.", + json_schema_extra={"choices": ["spot", "par"]}, + ) + + @field_validator("date", mode="before", check_fields=False) + @classmethod + def validate_date(cls, v): + """Validate the dates entered.""" + if v is None: + return None + if isinstance(v, (list, dateType)): + return v + new_dates: List = [] + date_param = v + if isinstance(date_param, str): + new_dates = date_param.split(",") + elif isinstance(date_param, dateType): + new_dates.append(date_param.strftime("%Y-%m-%d")) + elif isinstance(date_param, list) and isinstance(date_param[0], dateType): + new_dates = [d.strftime("%Y-%m-%d") for d in new_dates] + else: + new_dates = date_param + return ",".join(new_dates) if len(new_dates) > 1 else new_dates[0] + + +class FredHighQualityMarketCorporateBondData(HighQualityMarketCorporateBondData): + """FRED High Quality Market Corporate Bond Data.""" + + +class FredHighQualityMarketCorporateBondFetcher( + Fetcher[ + FredHighQualityMarketCorporateBondQueryParams, + List[FredHighQualityMarketCorporateBondData], + ] +): + """FRED High Quality Market Corporate Bond Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FredHighQualityMarketCorporateBondQueryParams: + """Transform query.""" + return FredHighQualityMarketCorporateBondQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredHighQualityMarketCorporateBondQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> List[Dict]: + """Extract data.""" + api_key = credentials.get("fred_api_key") if credentials else "" + + element_id = "219299" if query.yield_curve == "spot" else "219294" + dates: List = [""] + if query.date: + if query.date and isinstance(query.date, dateType): + query.date = query.date.strftime("%Y-%m-%d") + dates = query.date.split(",") + dates = [d.replace(d[-2:], "01") if len(d) == 10 else d for d in dates] + dates = list(set(dates)) + dates = ( + [f"&observation_date={date}" for date in dates if date] if dates else "" + ) + URLS = [ + f"https://api.stlouisfed.org/fred/release/tables?release_id=402&element_id={element_id}" + + f"{date}&include_observation_values=true&api_key={api_key}" + + "&file_type=json" + for date in dates + ] + results = [] + + async def get_one(URL): + """Get the observations for a single date.""" + data = await amake_request(URL) + if data: + elements = {k: v for k, v in data["elements"].items()} + for k, v in elements.items(): + value = v.get("observation_value") + if not value: + continue + maturity = v.get("name").lower().split("-") + results.append( + { + "date": parser.parse( + v.get("observation_date"), + ).date(), + "rate": float(value) / 100, + "maturity": (maturity[1] + "_" + maturity[0]).replace( + " ", "" + ), + } + ) + + await asyncio.gather(*[get_one(URL) for URL in URLS]) + + return results + + @staticmethod + def transform_data( + query: FredHighQualityMarketCorporateBondQueryParams, + data: List[Dict], + **kwargs: Any, + ) -> List[FredHighQualityMarketCorporateBondData]: + """Transform data.""" + df = DataFrame(data) + df["maturity_int"] = df["maturity"].str.replace("year_", "").astype(float) + maturity_categories = sorted(df.maturity_int.unique().tolist()) + df["maturity_int"] = Categorical( + df["maturity_int"], categories=maturity_categories, ordered=True + ) + df = df.sort_values(by=["date", "maturity_int"]).reset_index(drop=True) + df = df.drop(columns=["maturity_int"]) + records = df.to_dict("records") + return [ + FredHighQualityMarketCorporateBondData.model_validate(d) for d in records + ] diff --git a/openbb_platform/providers/fred/openbb_fred/models/hqm.py b/openbb_platform/providers/fred/openbb_fred/models/hqm.py deleted file mode 100644 index bb028a33c32..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/models/hqm.py +++ /dev/null @@ -1,109 +0,0 @@ -"""FRED High Quality Market Corporate Bond Model.""" - -from datetime import datetime, timedelta -from typing import Any, Dict, List, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.hqm import ( - HighQualityMarketCorporateBondData, - HighQualityMarketCorporateBondQueryParams, -) -from openbb_fred.utils.fred_base import Fred -from openbb_fred.utils.fred_helpers import ( - YIELD_CURVE_SERIES_CORPORATE_PAR, - YIELD_CURVE_SERIES_CORPORATE_SPOT, -) -from pydantic import Field, field_validator - - -class FREDHighQualityMarketCorporateBondQueryParams( - HighQualityMarketCorporateBondQueryParams -): - """FRED High Quality Market Corporate Bond Query.""" - - -class FREDHighQualityMarketCorporateBondData(HighQualityMarketCorporateBondData): - """FRED High Quality Market Corporate Bond Data.""" - - __alias_dict__ = {"rate": "value"} - - series_id: str = Field(description="FRED series id.") - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FREDHighQualityMarketCorporateBondFetcher( - Fetcher[ - FREDHighQualityMarketCorporateBondQueryParams, - List[FREDHighQualityMarketCorporateBondData], - ] -): - """Transform the query, extract and transform the data from the FRED endpoints.""" - - @staticmethod - def transform_query( - params: Dict[str, Any] - ) -> FREDHighQualityMarketCorporateBondQueryParams: - """Transform query.""" - return FREDHighQualityMarketCorporateBondQueryParams(**params) - - @staticmethod - def extract_data( - query: FREDHighQualityMarketCorporateBondQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any - ) -> list: - """Extract data.""" - key = credentials.get("fred_api_key") if credentials else "" - fred = Fred(key) - - data = [] - - today = datetime.today().date() - if query.date and query.date >= today: - raise ValueError("Date must be in the past.") - - start_date = ( - query.date - timedelta(days=50) - if query.date - else today - timedelta(days=50) - ) - - if query.yield_curve == "spot": - fred_series = YIELD_CURVE_SERIES_CORPORATE_SPOT - elif query.yield_curve == "par": - fred_series = YIELD_CURVE_SERIES_CORPORATE_PAR - else: - raise ValueError("Invalid yield curve type.") - - for maturity, id_ in fred_series.items(): - d = fred.get_series( - series_id=id_, - start_date=start_date, - **kwargs, - ) - for observation in d: - series_data = { - "series_id": id_, - "maturity": maturity, - "yield_curve": query.yield_curve, - "date": observation["date"], - "value": observation["value"], - } - data.append(series_data) - - return data - - @staticmethod - def transform_data( - query: FREDHighQualityMarketCorporateBondQueryParams, data: list, **kwargs: Any - ) -> List[FREDHighQualityMarketCorporateBondData]: - """Transform data.""" - return [FREDHighQualityMarketCorporateBondData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fred/openbb_fred/models/manufacturing_outlook_texas.py b/openbb_platform/providers/fred/openbb_fred/models/manufacturing_outlook_texas.py new file mode 100644 index 00000000000..200d91228fa --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/manufacturing_outlook_texas.py @@ -0,0 +1,431 @@ +"""FRED Manufacturing Outlook - Texas - Model.""" + +# pylint: disable=unused-argument + +from typing import Any, Dict, List, Literal, Optional, Union +from warnings import warn + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.manufacturing_outlook_texas import ( + ManufacturingOutlookTexasData, + ManufacturingOutlookTexasQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import Categorical, DataFrame +from pydantic import Field, field_validator + +TEXAS_MANUFACTURING_OUTLOOK = { + "current_business_activity": { + "diffusion_index": "BACTSAMFRBDAL", + "percent_reporting_increase": "BACTISAMFRBDAL", + "percent_reporting_decrease": "BACTDSAMFRBDAL", + "percent_reporting_no_change": "BACTNSAMFRBDAL", + }, + "future_business_activity": { + "diffusion_index": "FBACTSAMFRBDAL", + "percent_reporting_increase": "FBACTISAMFRBDAL", + "percent_reporting_decrease": "FBACTDSAMFRBDAL", + "percent_reporting_no_change": "FBACTNSAMFRBDAL", + }, + "current_business_outlook": { + "diffusion_index": "COLKSAMFRBDAL", + "percent_reporting_increase": "COLKISAMFRBDAL", + "percent_reporting_decrease": "COLKDSAMFRBDAL", + "percent_reporting_no_change": "COLKNSAMFRBDAL", + }, + "future_business_outlook": { + "diffusion_index": "FCOLKSAMFRBDAL", + "percent_reporting_increase": "FCOLKISAMFRBDAL", + "percent_reporting_decrease": "FCOLKDSAMFRBDAL", + "percent_reporting_no_change": "FCOLKNSAMFRBDAL", + }, + "current_capex": { + "diffusion_index": "CEXPSAMFRBDAL", + "percent_reporting_increase": "CEXPISAMFRBDAL", + "percent_reporting_decrease": "CEXPDSAMFRBDAL", + "percent_reporting_no_change": "CEXPNSAMFRBDAL", + }, + "future_capex": { + "diffusion_index": "FCEXPSAMFRBDAL", + "percent_reporting_increase": "FCEXPISAMFRBDAL", + "percent_reporting_decrease": "FCEXPDSAMFRBDAL", + "percent_reporting_no_change": "FCEXPNSAMFRBDAL", + }, + "current_prices_paid": { + "diffusion_index": "PRMSAMFRBDAL", + "percent_reporting_increase": "PRMISAMFRBDAL", + "percent_reporting_decrease": "PRMDSAMFRBDAL", + "percent_reporting_no_change": "PRMNSAMFRBDAL", + }, + "future_prices_paid": { + "diffusion_index": "FPRMSAMFRBDAL", + "percent_reporting_increase": "FPRMISAMFRBDAL", + "percent_reporting_decrease": "FPRMDSAMFRBDAL", + "percent_reporting_no_change": "FPRMNSAMFRBDAL", + }, + "current_production": { + "diffusion_index": "PRODSAMFRBDAL", + "percent_reporting_increase": "PRODISAMFRBDAL", + "percent_reporting_decrease": "PRODDSAMFRBDAL", + "percent_reporting_no_change": "PRODNSAMFRBDAL", + }, + "future_production": { + "diffusion_index": "FPRODSAMFRBDAL", + "percent_reporting_increase": "FPRODISAMFRBDAL", + "percent_reporting_decrease": "FPRODDSAMFRBDAL", + "percent_reporting_no_change": "FPRODNSAMFRBDAL", + }, + "current_inventory": { + "diffusion_index": "FGISAMFRBDAL", + "percent_reporting_increase": "FGIISAMFRBDAL", + "percent_reporting_decrease": "FGIDSAMFRBDAL", + "percent_reporting_no_change": "FGINSAMFRBDAL", + }, + "future_inventory": { + "diffusion_index": "FFGISAMFRBDAL", + "percent_reporting_increase": "FFGIISAMFRBDAL", + "percent_reporting_decrease": "FFGIDSAMFRBDAL", + "percent_reporting_no_change": "FFGINSAMFRBDAL", + }, + "current_new_orders": { + "diffusion_index": "VNWOSAMFRBDAL", + "percent_reporting_increase": "VNWOISAMFRBDAL", + "percent_reporting_decrease": "VNWODSAMFRBDAL", + "percent_reporting_no_change": "VNWONSAMFRBDAL", + }, + "future_new_orders": { + "diffusion_index": "FVNWOSAMFRBDAL", + "percent_reporting_increase": "FVNWOISAMFRBDAL", + "percent_reporting_decrease": "FVNWODSAMFRBDAL", + "percent_reporting_no_change": "FVNWONSAMFRBDAL", + }, + "current_new_orders_growth": { + "diffusion_index": "GROSAMFRBDAL", + "percent_reporting_increase": "GROISAMFRBDAL", + "percent_reporting_decrease": "GRODSAMFRBDAL", + "percent_reporting_no_change": "GRONSAMFRBDAL", + }, + "future_new_orders_growth": { + "diffusion_index": "FGROSAMFRBDAL", + "percent_reporting_increase": "FGROISAMFRBDAL", + "percent_reporting_decrease": "FGRODSAMFRBDAL", + "percent_reporting_no_change": "FGRONSAMFRBDAL", + }, + "current_unfilled_orders": { + "diffusion_index": "UFILSAMFRBDAL", + "percent_reporting_increase": "UFILISAMFRBDAL", + "percent_reporting_decrease": "UFILDSAMFRBDAL", + "percent_reporting_no_change": "UFILNSAMFRBDAL", + }, + "future_unfilled_orders": { + "diffusion_index": "FUFILSAMFRBDAL", + "percent_reporting_increase": "FUFILISAMFRBDAL", + "percent_reporting_decrease": "FUFILDSAMFRBDAL", + "percent_reporting_no_change": "FUFILNSAMFRBDAL", + }, + "current_shipments": { + "diffusion_index": "VSHPSAMFRBDAL", + "percent_reporting_increase": "VSHPISAMFRBDAL", + "percent_reporting_decrease": "VSHPDSAMFRBDAL", + "percent_reporting_no_change": "VSHPNSAMFRBDAL", + }, + "future_shipments": { + "diffusion_index": "FVSHPSAMFRBDAL", + "percent_reporting_increase": "FVSHPISAMFRBDAL", + "percent_reporting_decrease": "FVSHPDSAMFRBDAL", + "percent_reporting_no_change": "FVSHPNSAMFRBDAL", + }, + "current_delivery_time": { + "diffusion_index": "DTMSAMFRBDAL", + "percent_reporting_increase": "DTMISAMFRBDAL", + "percent_reporting_decrease": "DTMDSAMFRBDAL", + "percent_reporting_no_change": "DTMNSAMFRBDAL", + }, + "future_delivery_time": { + "diffusion_index": "FDTMSAMFRBDAL", + "percent_reporting_increase": "FDTMISAMFRBDAL", + "percent_reporting_decrease": "FDTMDSAMFRBDAL", + "percent_reporting_no_change": "FDTMNSAMFRBDAL", + }, + "current_employment": { + "diffusion_index": "NEMPSAMFRBDAL", + "percent_reporting_increase": "NEMPISAMFRBDAL", + "percent_reporting_decrease": "NEMPDSAMFRBDAL", + "percent_reporting_no_change": "NEMPNSAMFRBDAL", + }, + "future_employment": { + "diffusion_index": "FNEMPSAMFRBDAL", + "percent_reporting_increase": "FNEMPISAMFRBDAL", + "percent_reporting_decrease": "FNEMPDSAMFRBDAL", + "percent_reporting_no_change": "FNEMPNSAMFRBDAL", + }, + "current_wages": { + "diffusion_index": "WGSSAMFRBDAL", + "percent_reporting_increase": "WGSISAMFRBDAL", + "percent_reporting_decrease": "WGSDSAMFRBDAL", + "percent_reporting_no_change": "WGSNSAMFRBDAL", + }, + "future_wages": { + "diffusion_index": "FWGSSAMFRBDAL", + "percent_reporting_increase": "FWGSISAMFRBDAL", + "percent_reporting_decrease": "FWGSDSAMFRBDAL", + "percent_reporting_no_change": "FWGSNSAMFRBDAL", + }, + "current_hours_worked": { + "diffusion_index": "AVGWKSAMFRBDAL", + "percent_reporting_increase": "AVGWKISAMFRBDAL", + "percent_reporting_decrease": "AVGWKDSAMFRBDAL", + "percent_reporting_no_change": "AVGWKNSAMFRBDAL", + }, + "future_hours_worked": { + "diffusion_index": "FAVGWKSAMFRBDAL", + "percent_reporting_increase": "FAVGWKISAMFRBDAL", + "percent_reporting_decrease": "FAVGWKDSAMFRBDAL", + "percent_reporting_no_change": "FAVGWKNSAMFRBDAL", + }, +} + +ID_TO_FIELD = {} +for topic, subtopics in TEXAS_MANUFACTURING_OUTLOOK.items(): + for subtopic, code in subtopics.items(): + ID_TO_FIELD[code] = subtopic + +ID_TO_TOPIC = {} +for topic, subtopics in TEXAS_MANUFACTURING_OUTLOOK.items(): + for subtopic, code in subtopics.items(): + ID_TO_TOPIC[code] = topic + +TEXAS_MANUFACTURING_OUTLOOK_CHOICES = [ + "business_activity", + "business_outlook", + "capex", + "prices_paid", + "production", + "inventory", + "new_orders", + "new_orders_growth", + "unfilled_orders", + "shipments", + "delivery_time", + "employment", + "wages", + "hours_worked", +] + +TexasManufacturingOutlookChoices = Literal[ + "business_activity", + "business_outlook", + "capex", + "prices_paid", + "production", + "inventory", + "new_orders", + "new_orders_growth", + "unfilled_orders", + "shipments", + "delivery_time", + "employment", + "wages", + "hours_worked", +] + + +class FredManufacturingOutlookTexasQueryParams(ManufacturingOutlookTexasQueryParams): + """FRED Manufacturing Outlook - Texas - Query Params.""" + + __json_schema_extra__ = {"topic": {"multiple_items_allowed": True}} + + topic: Union[TexasManufacturingOutlookChoices, str] = Field( + default="new_orders_growth", + description="The topic for the survey response.", + json_schema_extra={"choices": TEXAS_MANUFACTURING_OUTLOOK_CHOICES}, + ) + frequency: Union[ + None, + Literal[ + "annual", + "quarter", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert monthly data to lower frequency. None is monthly. + """, + json_schema_extra={ + "choices": [ + "annual", + "quarter", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + @field_validator("topic", mode="before", check_fields=False) + def validate_topic(cls, v): + """Validate topic.""" + if v is None: + return "new_orders_growth" + new_topics: List = [] + topics: List = [] + if isinstance(v, list): + topics = v + if isinstance(v, str): + topics = v.split(",") + for topic in topics: + if topic in TEXAS_MANUFACTURING_OUTLOOK_CHOICES: + new_topics.append(topic) + else: + warn(f"Invalid topic: {topic}") + if not new_topics: + new_topics = ["new_orders_growth"] + + v = ",".join(new_topics) + + return v + + +class FredManufacturingOutlookTexasData(ManufacturingOutlookTexasData): + """FRED Manufacturing Outlook - Texas - Data.""" + + +class FredManufacturingOutlookTexasFetcher( + Fetcher[ + FredManufacturingOutlookTexasQueryParams, + List[FredManufacturingOutlookTexasData], + ] +): + """FRED Manufacturing Outlook - Texas - Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FredManufacturingOutlookTexasQueryParams: + """Transform query parameters.""" + return FredManufacturingOutlookTexasQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredManufacturingOutlookTexasQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Fetch data.""" + ids: List = [] + topics = query.topic.split(",") + for topic in topics: + future_series = list( + TEXAS_MANUFACTURING_OUTLOOK["future_" + topic].values() + ) + current_series = list( + TEXAS_MANUFACTURING_OUTLOOK["current_" + topic].values() + ) + topic_ids = future_series + current_series + ids.extend(topic_ids) + + frequency = query.frequency[:1].lower() if query.frequency else None + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date, + end_date=query.end_date, + transform=query.transform, + frequency=frequency, + aggregation_method=query.aggregation_method, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredManufacturingOutlookTexasQueryParams, + data: Dict, + **kwargs: Any, + ) -> AnnotatedResult[List[FredManufacturingOutlookTexasData]]: + """Transform data.""" + df = DataFrame(data.get("data", [])) + if df.empty: + raise EmptyDataError( + "The request was returned empty." + + " You may be experiencing rate limiting from the FRED API." + + " Please try again later and reduce the number of topics selected." + ) + metadata = data.get("metadata", {}) + df = df.melt(id_vars="date", var_name="symbol", value_name="value").query( + "value.notnull()" + ) + df["topic"] = df.symbol.map(ID_TO_TOPIC) + df["field"] = df["symbol"].map(ID_TO_FIELD) + + df = df.pivot( + columns="field", index=["date", "topic"], values="value" + ).reset_index() + topic_categories = [ + d for d in TEXAS_MANUFACTURING_OUTLOOK if d in df["topic"].unique() + ] + df = df.fillna("N/A").replace("N/A", None) + + df["topic"] = Categorical( + df["topic"], + categories=topic_categories, + ordered=True, + ) + df.sort_values(["date", "topic"], inplace=True) + + for col in df.columns: + if col in [ + "percent_reporting_increase", + "percent_reporting_decrease", + "percent_reporting_no_change", + ]: + df[col] = df[col] / 100 + + if query.transform in ["pch", "pc1", "pca", "cch", "cca"]: + df["diffusion_index"] = df["diffusion_index"] / 100 + + records = df.to_dict(orient="records") + + return AnnotatedResult( + result=[ + FredManufacturingOutlookTexasData.model_validate(r) for r in records + ], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/mortgage_indices.py b/openbb_platform/providers/fred/openbb_fred/models/mortgage_indices.py new file mode 100644 index 00000000000..68a59dca4fd --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/mortgage_indices.py @@ -0,0 +1,312 @@ +"""FRED Mortgage Indices Model.""" + +# pylint: disable=unused-argument + +from typing import Any, Dict, List, Literal, Optional, Union +from warnings import warn + +from openbb_core.app.model.abstract.error import OpenBBError +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.mortgage_indices import ( + MortgageIndicesData, + MortgageIndicesQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import Categorical, DataFrame +from pydantic import Field, field_validator + +MORTGAGE_ID_TO_TITLE = { + "OBMMIC30YF": "30-Year Fixed Rate Conforming", + "OBMMIC30YFNA": "30-Year Fixed Rate Conforming Non-Adjusted", + "OBMMIJUMBO30YF": "30-Year Fixed Rate Jumbo", + "OBMMIFHA30YF": "30-Year Fixed Rate FHA", + "OBMMIVA30YF": "30-Year Fixed Rate Veterans Affairs", + "OBMMIUSDA30YF": "30-Year Fixed Rate USDA", + "OBMMIC15YF": "15-Year Fixed Rate Conforming", + "OBMMIC30YFLVLE80FGE740": "30-Year Fixed Rate Conforming LTV <= 80 FICO >= 740", + "OBMMIC30YFLVLE80FB720A739": "30-Year Fixed Rate Conforming LTV <= 80 FICO 720-739", + "OBMMIC30YFLVLE80FB700A719": "30-Year Fixed Rate Conforming LTV <= 80 FICO 700-719", + "OBMMIC30YFLVLE80FB680A699": "30-Year Fixed Rate Conforming LTV <= 80 FICO 680-699", + "OBMMIC30YFLVLE80FLT680": "30-Year Fixed Rate Conforming LTV <= 80 FICO < 680", + "OBMMIC30YFLVGT80FGE740": "30-Year Fixed Rate Conforming LTV > 80 FICO >= 740", + "OBMMIC30YFLVGT80FB720A739": "30-Year Fixed Rate Conforming LTV > 80 FICO 720-739", + "OBMMIC30YFLVGT80FB700A719": "30-Year Fixed Rate Conforming LTV > 80 FICO 700-719", + "OBMMIC30YFLVGT80FB680A699": "30-Year Fixed Rate Conforming LTV > 80 FICO 680-699", + "OBMMIC30YFLVGT80FLT680": "30-Year Fixed Rate Conforming LTV > 80 FICO < 680", +} + +MORTGAGE_GROUPS = { + "primary": [ + "OBMMIC30YF", + "OBMMIC30YFNA", + "OBMMIJUMBO30YF", + "OBMMIFHA30YF", + "OBMMIVA30YF", + "OBMMIUSDA30YF", + "OBMMIC15YF", + ], + "ltv_lte_80": [ + "OBMMIC30YFLVLE80FGE740", + "OBMMIC30YFLVLE80FB720A739", + "OBMMIC30YFLVLE80FB700A719", + "OBMMIC30YFLVLE80FB680A699", + "OBMMIC30YFLVLE80FLT680", + ], + "ltv_gt_80": [ + "OBMMIC30YFLVGT80FGE740", + "OBMMIC30YFLVGT80FB720A739", + "OBMMIC30YFLVGT80FB700A719", + "OBMMIC30YFLVGT80FB680A699", + "OBMMIC30YFLVGT80FLT680", + ], +} + +MORTGAGE_CHOICES_TO_ID = { + "primary": ",".join(MORTGAGE_GROUPS["primary"]), + "ltv_lte_80": ",".join(MORTGAGE_GROUPS["ltv_lte_80"]), + "ltv_gt_80": ",".join(MORTGAGE_GROUPS["ltv_gt_80"]), + "conforming_30y": "OBMMIC30YF", + "conforming_30y_na": "OBMMIC30YFNA", + "jumbo_30y": "OBMMIJUMBO30YF", + "fha_30y": "OBMMIFHA30YF", + "va_30y": "OBMMIVA30YF", + "usda_30y": "OBMMIUSDA30YF", + "conforming_15y": "OBMMIC15YF", + "ltv_lte80_fico_ge740": "OBMMIC30YFLVLE80FGE740", + "ltv_lte80_fico_a720b739": "OBMMIC30YFLVLE80FB720A739", + "ltv_lte80_fico_a700b719": "OBMMIC30YFLVLE80FB700A719", + "ltv_lte80_fico_a680b699": "OBMMIC30YFLVLE80FB680A699", + "ltv_lte80_fico_lt680": "OBMMIC30YFLVLE80FLT680", + "ltv_gt80_fico_ge740": "OBMMIC30YFLVGT80FGE740", + "ltv_gt80_fico_a720b739": "OBMMIC30YFLVGT80FB720A739", + "ltv_gt80_fico_a700b719": "OBMMIC30YFLVGT80FB700A719", + "ltv_gt80_fico_a680b699": "OBMMIC30YFLVGT80FB680A699", + "ltv_gt80_fico_lt680": "OBMMIC30YFLVGT80FLT680", +} + +MortgageChoices = Literal[ + "primary", + "ltv_lte_80", + "ltv_gt_80", + "conforming_30y", + "conforming_30y_na", + "jumbo_30y", + "fha_30y", + "va_30y", + "usda_30y", + "conforming_15y", + "ltv_lte80_fico_ge740", + "ltv_lte80_fico_a720b739", + "ltv_lte80_fico_a700b719", + "ltv_lte80_fico_a680b699", + "ltv_lte80_fico_lt680", + "ltv_gt80_fico_ge740", + "ltv_gt80_fico_a720b739", + "ltv_gt80_fico_a700b719", + "ltv_gt80_fico_a680b699", + "ltv_gt80_fico_lt680", +] + + +class FredMortgageIndicesQueryParams(MortgageIndicesQueryParams): + """FRED Mortgage Indices Query.""" + + __json_schema_extra__ = {"index": {"multiple_items_allowed": True}} + + index: Union[MortgageChoices, str] = Field( + default="primary", + description="The specific index, or index group, to query. Default is the 'primary' group.", + choices=list(MORTGAGE_CHOICES_TO_ID.keys()), + ) + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "d", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + None = No change + a = Annual + q = Quarterly + m = Monthly + w = Weekly + d = Daily + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "d", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Literal["avg", "sum", "eop"] = Field( + default="avg", + description=""" + A key that indicates the aggregation method used for frequency aggregation. + This parameter has no affect if the frequency parameter is not set, default is 'avg'. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + @field_validator("index", mode="before", check_fields=False) + @classmethod + def validate_index(cls, v): + """Validate index.""" + indices = v.split(",") + new_indices: List = [] + for index in indices: + if index in MORTGAGE_CHOICES_TO_ID: + new_indices.append(index) + else: + warn(f"Invalid index '{index}' will be ignored.") + if not new_indices: + raise OpenBBError( + f"No valid indices found. Must be any of: {list(MORTGAGE_CHOICES_TO_ID.keys())}" + ) + return ",".join(new_indices) + + +class FredMortgageIndicesData(MortgageIndicesData): + """FRED Mortgage Indices Data.""" + + +class FredMortgageIndicesFetcher( + Fetcher[ + FredMortgageIndicesQueryParams, + List[FredMortgageIndicesData], + ] +): + """FRED Mortgage Indices Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FredMortgageIndicesQueryParams: + """Transform query.""" + return FredMortgageIndicesQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredMortgageIndicesQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> Dict: + """Extract data.""" + indices = query.index.split(",") + ids = [MORTGAGE_CHOICES_TO_ID[index] for index in indices] + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date, + end_date=query.end_date, + transform=query.transform, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredMortgageIndicesQueryParams, + data: Dict, + **kwargs: Any, + ) -> AnnotatedResult[List[FredMortgageIndicesData]]: + """Transform data.""" + if not data.get("data"): + raise EmptyDataError("The request was returned empty.") + df = DataFrame.from_records(data["data"]) + metadata = data.get("metadata", {}) + # Flatten the data. + df = ( + df.melt(id_vars="date", var_name="symbol", value_name="value") + .query("value.notnull()") + .rename(columns={"value": "rate"}) + ) + df["name"] = df.symbol.map(MORTGAGE_ID_TO_TITLE) + # Normalize the percent values. + df["rate"] = df["rate"] / 100 + df = df.fillna("N/A").replace("N/A", None) + df["name"] = Categorical( + df["name"], + categories=[ + d + for d in list(MORTGAGE_ID_TO_TITLE.values()) + if d in df["name"].unique() + ], + ordered=True, + ) + df.sort_values(["date", "name"], inplace=True) + records = df.to_dict(orient="records") + + return AnnotatedResult( + result=[FredMortgageIndicesData.model_validate(r) for r in records], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/overnight_bank_funding_rate.py b/openbb_platform/providers/fred/openbb_fred/models/overnight_bank_funding_rate.py new file mode 100644 index 00000000000..78b6145ab5d --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/overnight_bank_funding_rate.py @@ -0,0 +1,196 @@ +"""FRED Overnight Bank Funding Rate Model.""" + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.overnight_bank_funding_rate import ( + OvernightBankFundingRateData, + OvernightBankFundingRateQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pydantic import Field, field_validator + +OBFR_ID_TO_FIELD = { + "OBFR": "rate", + "OBFR1": "percentile_1", + "OBFR25": "percentile_25", + "OBFR75": "percentile_75", + "OBFR99": "percentile_99", + "OBFRVOL": "volume", +} +ALL_IDS = list(OBFR_ID_TO_FIELD) + + +class FredOvernightBankFundingRateQueryParams(OvernightBankFundingRateQueryParams): + """FRED Overnight Bank Funding Rate Query Params.""" + + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FredOvernightBankFundingRateData(OvernightBankFundingRateData): + """Fred Overnight Bank Funding Rate Data.""" + + __alias_dict__ = { + "rate": "OBFR", + "percentile_1": "OBFR1", + "percentile_25": "OBFR25", + "percentile_75": "OBFR75", + "percentile_99": "OBFR99", + "volume": "OBFRVOL", + } + + @field_validator( + "rate", + "percentile_1", + "percentile_25", + "percentile_75", + "percentile_99", + mode="before", + check_fields=False, + ) + @classmethod + def normalize_percent(cls, v): + """Normalize percent.""" + return float(v) / 100 if v else None + + +class FredOvernightBankFundingRateFetcher( + Fetcher[ + FredOvernightBankFundingRateQueryParams, List[FredOvernightBankFundingRateData] + ] +): + """Fred Overnight Bank Funding Rate Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FredOvernightBankFundingRateQueryParams: + """Transform query.""" + return FredOvernightBankFundingRateQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredOvernightBankFundingRateQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any + ) -> Dict: + """Extract data.""" + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ALL_IDS), + start_date=query.start_date, + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredOvernightBankFundingRateQueryParams, data: dict, **kwargs: Any + ) -> AnnotatedResult[List[FredOvernightBankFundingRateData]]: + """Transform data""" + if not data: + raise EmptyDataError("The request was returned empty.") + return AnnotatedResult( + result=[ + FredOvernightBankFundingRateData.model_validate(d) + for d in data.get("data", []) + if d.get("OBFR") + ], + metadata=data.get("metadata", {}), + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/regional.py b/openbb_platform/providers/fred/openbb_fred/models/regional.py index 64d8b12cc6f..7da7515e118 100644 --- a/openbb_platform/providers/fred/openbb_fred/models/regional.py +++ b/openbb_platform/providers/fred/openbb_fred/models/regional.py @@ -6,6 +6,7 @@ import warnings from datetime import datetime from typing import Any, Dict, List, Literal, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.fred_series import ( SeriesData, @@ -152,7 +153,7 @@ class FredRegionalQueryParams(SeriesQueryParams): required = ["frequency", "region_type", "units"] for key in required: if values.get(key) is None: - raise ValueError( + raise OpenBBError( f"{key} is a required field missing for series_group." ) @@ -210,7 +211,7 @@ class FredRegionalDataFetcher( ) -> Dict: """Extract the raw data.""" api_key = credentials.get("fred_api_key") if credentials else "" - if query.is_series_group is True: + if query.is_series_group: base_url = "https://api.stlouisfed.org/geofred/regional/data?" url = ( base_url @@ -219,7 +220,7 @@ class FredRegionalDataFetcher( ) + f"&file_type=json&api_key={api_key}" ) - if query.is_series_group is False: + else: base_url = "https://api.stlouisfed.org/geofred/series/data?" url = ( base_url @@ -246,7 +247,6 @@ class FredRegionalDataFetcher( **kwargs, ) -> List[FredRegionalData]: """Flatten the response object and validate the model.""" - results: List[FredRegionalData] = [] if data.get("meta") is None: raise EmptyDataError() diff --git a/openbb_platform/providers/fred/openbb_fred/models/senior_loan_officer_survey.py b/openbb_platform/providers/fred/openbb_fred/models/senior_loan_officer_survey.py new file mode 100644 index 00000000000..00d89241792 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/senior_loan_officer_survey.py @@ -0,0 +1,142 @@ +"""FRED Senior Loan Officer Opinion Survey Model.""" + +# pylint: disable=unused-argument + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.senior_loan_officer_survey import ( + SeniorLoanOfficerSurveyData, + SeniorLoanOfficerSurveyQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import DataFrame +from pydantic import Field + +SLOOS_CATEGORIES = { + "spreads": "DRISCFLM,DRISCFS,SUBLPDCLCTSNQ", + "consumer": "DRIWCIL,STDSOTHCONS,SUBLPDCLHSNQ", + "auto": "DEMAUTO,STDSAUTO", + "credit_card": "DEMCC,DRTSCLCC,SUBLPDCLCTSNQ", + "firms": "DRISCFLM,DRISCFS,DRTSCILM,DRTSCIS", + "mortgage": "DRTSSP,SUBLPDHMSGNQ,SUBLPDHMSENQ,SUBLPDHMSJNQ,SUBLPDHMSQNQ,SUBLPDHMSMNQ", + "commercial_real_estate": "SUBLPDRCSN,SUBLPDRCSM,SUBLPDRCDCLGNQ,SUBLPFRCSNQ", + "standards": "DRTSCILM,DRTSCIS,DRTSCLCC,STDSAUTO,DRTSSP,SUBLPDHMSGNQ,STDSOTHCONS,SUBLPDHMSENQ,SUBLPDHMSJNQ,SUBLPDHMSQNQ,SUBLPDHMSMNQ,SUBLPDCLHSNQ,SUBLPDRCSN,SUBLPDRCSM,SUBLPFRCSNQ,SUBLPFCISNQ,SUBLPDMBSXWBNQ", + "demand": "DEMCC,DEMAUTO,SUBLPDMODXWBNQ,SUBLPDMBDXWBNQ,SUBLPDRCDCLGNQ", + "foreign_banks": "SUBLPFRCSNQ,SUBLPFCISNQ", +} + + +class FredSeniorLoanOfficerSurveyQueryParams(SeniorLoanOfficerSurveyQueryParams): + """FRED Senior Loan Officer Opinion Survey Query Params.""" + + category: Literal[ + "spreads", + "consumer", + "auto", + "credit_card", + "firms", + "mortgage", + "commercial_real_estate", + "standards", + "demand", + "foreign_banks", + ] = Field( + default="spreads", + description="Category of survey response.", + json_schema_extra={"choices": list(SLOOS_CATEGORIES.keys())}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FredSeniorLoanOfficerSurveyData(SeniorLoanOfficerSurveyData): + """FRED Senior Loan Officer Opinion Survey Data.""" + + +class FredSeniorLoanOfficerSurveyFetcher( + Fetcher[ + FredSeniorLoanOfficerSurveyQueryParams, List[FredSeniorLoanOfficerSurveyData] + ] +): + """FRED Senior Loan Officer Opinion Survey Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FredSeniorLoanOfficerSurveyQueryParams: + """Transform query.""" + return FredSeniorLoanOfficerSurveyQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredSeniorLoanOfficerSurveyQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> List[Dict]: + """Extract data.""" + ids = SLOOS_CATEGORIES[query.category] + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=ids, + start_date=query.start_date, + end_date=query.end_date, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredSeniorLoanOfficerSurveyQueryParams, + data: Dict, + **kwargs: Any, + ) -> AnnotatedResult[List[FredSeniorLoanOfficerSurveyData]]: + """Transform data.""" + metadata = data.get("metadata", {}) + df = DataFrame(data.get("data", [])).dropna() + if df.empty: + raise EmptyDataError( + "There was an error with the request and it was returned empty." + ) + # Flatten data + df = df.melt(id_vars="date", var_name="symbol", value_name="value").query( + "value.notnull()" + ) + df["title"] = df.symbol.apply(lambda x: metadata[x].get("title", "")) + df["value"] = df["value"].astype(float) / 100 + df = df.fillna("N/A").replace("N/A", None) + records = df.sort_values(by="date").to_dict(orient="records") + + return AnnotatedResult( + result=[FredSeniorLoanOfficerSurveyData.model_validate(d) for d in records], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/sofr.py b/openbb_platform/providers/fred/openbb_fred/models/sofr.py new file mode 100644 index 00000000000..36b9d444e5e --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/sofr.py @@ -0,0 +1,216 @@ +"""FRED SOFR Model.""" + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.sofr import SOFRData, SOFRQueryParams +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pydantic import Field, field_validator + +SOFR_ID_TO_FIELD = { + "SOFR": "rate", + "SOFR1": "percentile_1", + "SOFR25": "percentile_25", + "SOFR75": "percentile_75", + "SOFR99": "percentile_99", + "SOFRVOL": "volume", + "SOFR30DAYAVG": "average_30d", + "SOFR90DAYAVG": "average_90d", + "SOFR180DAYAVG": "average_180d", + "SOFRINDEX": "index", +} + + +class FREDSOFRQueryParams(SOFRQueryParams): + """FRED SOFR Query.""" + + frequency: Union[ + None, + Literal[ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert daily data to lower frequency. + a = Annual + q = Quarterly + m = Monthly + w = Weekly + wef = Weekly, Ending Friday + weth = Weekly, Ending Thursday + wew = Weekly, Ending Wednesday + wetu = Weekly, Ending Tuesday + wem = Weekly, Ending Monday + wesu = Weekly, Ending Sunday + wesa = Weekly, Ending Saturday + bwew = Biweekly, Ending Wednesday + bwem = Biweekly, Ending Monday + """, + json_schema_extra={ + "choices": [ + "a", + "q", + "m", + "w", + "wef", + "weth", + "wew", + "wetu", + "wem", + "wesu", + "wesa", + "bwew", + "bwem", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FREDSOFRData(SOFRData): + """FRED SOFR Data.""" + + __alias_dict__ = { + "rate": "SOFR", + "percentile_1": "SOFR1", + "percentile_25": "SOFR25", + "percentile_75": "SOFR75", + "percentile_99": "SOFR99", + "volume": "SOFRVOL", + "average_30d": "SOFR30DAYAVG", + "average_90d": "SOFR90DAYAVG", + "average_180d": "SOFR180DAYAVG", + "index": "SOFRINDEX", + } + + average_30d: Optional[float] = Field( + default=None, + description="30-Day Average SOFR", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + average_90d: Optional[float] = Field( + default=None, + description="90-Day Average SOFR", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + average_180d: Optional[float] = Field( + default=None, + description="180-Day Average SOFR", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + index: Optional[float] = Field( + default=None, + description="SOFR index as 2018-04-02 = 1", + ) + + @field_validator( + "rate", + "percentile_1", + "percentile_25", + "percentile_75", + "percentile_99", + "average_30d", + "average_90d", + "average_180d", + mode="before", + check_fields=False, + ) + @classmethod + def normalize_percent(cls, v): + """Normalize percent.""" + return float(v) / 100 if v else None + + +class FREDSOFRFetcher(Fetcher[FREDSOFRQueryParams, List[FREDSOFRData]]): + """FRED SOFR Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FREDSOFRQueryParams: + """Transform query.""" + return FREDSOFRQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FREDSOFRQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any + ) -> Dict: + """Extract data.""" + ids = list(SOFR_ID_TO_FIELD) + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date if query.start_date else "2018-04-02", + end_date=query.end_date, + frequency=query.frequency, + aggregation_method=query.aggregation_method, + transform=query.transform, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FREDSOFRQueryParams, data: dict, **kwargs: Any + ) -> AnnotatedResult[List[FREDSOFRData]]: + """Transform data""" + if not data: + raise EmptyDataError("The request was returned empty.") + return AnnotatedResult( + result=[ + FREDSOFRData.model_validate(d) + for d in data.get("data", []) + if d.get("SOFR") + ], + metadata=data.get("metadata", {}), + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/sofr_rates.py b/openbb_platform/providers/fred/openbb_fred/models/sofr_rates.py deleted file mode 100644 index c50e6e1b1cd..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/models/sofr_rates.py +++ /dev/null @@ -1,71 +0,0 @@ -"""FRED SOFR Model.""" - -from typing import Any, Dict, List, Literal, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.sofr_rates import SOFRData, SOFRQueryParams -from openbb_fred.utils.fred_base import Fred -from pydantic import Field, field_validator - -SOFR_PARAMETER_TO_FRED_ID = { - "overnight": "SOFR", - "30_day": "SOFR30DAYAVG", - "90_day": "SOFR90DAYAVG", - "180_day": "SOFR180DAYAVG", - "index": "SOFRINDEX", -} - - -class FREDSOFRQueryParams(SOFRQueryParams): - """FRED SOFR Query.""" - - period: Literal["overnight", "30_day", "90_day", "180_day", "index"] = Field( - default="overnight", description="Period of SOFR rate." - ) - - -class FREDSOFRData(SOFRData): - """FRED SOFR Data.""" - - __alias_dict__ = {"rate": "value"} - - @field_validator("rate", mode="before", check_fields=False) - @classmethod - def value_validate(cls, v): - """Validate rate.""" - try: - return float(v) - except ValueError: - return None - - -class FREDSOFRFetcher( - Fetcher[FREDSOFRQueryParams, List[Dict[str, List[FREDSOFRData]]]] -): - """Transform the query, extract and transform the data from the FRED endpoints.""" - - data_type = FREDSOFRData - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FREDSOFRQueryParams: - """Transform query.""" - return FREDSOFRQueryParams(**params) - - @staticmethod - def extract_data( - query: FREDSOFRQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any - ) -> dict: - """Extract data.""" - key = credentials.get("fred_api_key") if credentials else "" - fred_series = SOFR_PARAMETER_TO_FRED_ID[query.period] - fred = Fred(key) - data = fred.get_series(fred_series, query.start_date, query.end_date, **kwargs) - return data - - @staticmethod - def transform_data( - query: FREDSOFRQueryParams, data: dict, **kwargs: Any - ) -> List[Dict[str, List[FREDSOFRData]]]: - """Transform data""" - keys = ["date", "value"] - return [FREDSOFRData(**{k: x[k] for k in keys}) for x in data] diff --git a/openbb_platform/providers/fred/openbb_fred/models/spot.py b/openbb_platform/providers/fred/openbb_fred/models/spot.py index 31747a67abb..d41014ea1bf 100644 --- a/openbb_platform/providers/fred/openbb_fred/models/spot.py +++ b/openbb_platform/providers/fred/openbb_fred/models/spot.py @@ -2,6 +2,7 @@ from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.spot import ( SpotRateData, @@ -67,7 +68,7 @@ class FREDSpotRateFetcher( else [query.maturity] ) if any(1 > m > 100 for m in maturity): - raise ValueError("Maturity must be between 1 and 100") + raise OpenBBError("Maturity must be between 1 and 100") series = get_spot_series_id( maturity=maturity, diff --git a/openbb_platform/providers/fred/openbb_fred/models/survey_of_economic_conditions_chicago.py b/openbb_platform/providers/fred/openbb_fred/models/survey_of_economic_conditions_chicago.py new file mode 100644 index 00000000000..4b70e5f7787 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/survey_of_economic_conditions_chicago.py @@ -0,0 +1,159 @@ +"""FRED Survey Of Economic Conditions - Chicago - Model""" + +# pylint: disable=unused-argument + +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.survey_of_economic_conditions_chicago import ( + SurveyOfEconomicConditionsChicagoData, + SurveyOfEconomicConditionsChicagoQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import DataFrame +from pydantic import Field + +ID_TO_FIELD = { + "CFSBCACTIVITY": "activity_index", + "CFSBCOUTLOOK": "one_year_outlook", + "CFSBCACTIVITYMFG": "manufacturing_activity", + "CFSBCACTIVITYNMFG": "non_manufacturing_activity", + "CFSBCCAPXEXP": "capital_spending_expectations", + "CFSBCHIRINGEXP": "hiring_expectations", + "CFSBCHIRING": "current_hiring_index", + "CFSBCLABORCOSTS": "labor_costs_index", + "CFSBCNONLABORCOSTS": "non_labor_costs_index", +} + + +class FredSurveyOfEconomicConditionsChicagoQueryParams( + SurveyOfEconomicConditionsChicagoQueryParams +): + """FRED Survey Of Economic Conditions - Chicago - Query Params.""" + + frequency: Union[ + None, + Literal[ + "annual", + "quarter", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert monthly data to lower frequency. None is monthly. + """, + json_schema_extra={ + "choices": [ + "annual", + "quarter", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FredSurveyOfEconomicConditionsChicagoData(SurveyOfEconomicConditionsChicagoData): + """FRED Survey Of Economic Conditions - Chicago - Data.""" + + +class FredSurveyOfEconomicConditionsChicagoFetcher( + Fetcher[ + FredSurveyOfEconomicConditionsChicagoQueryParams, + List[FredSurveyOfEconomicConditionsChicagoData], + ] +): + """FRED Survey Of Economic Conditions - Chicago - Fetcher.""" + + @staticmethod + def transform_query( + params: Dict[str, Any] + ) -> FredSurveyOfEconomicConditionsChicagoQueryParams: + """Transform query.""" + return FredSurveyOfEconomicConditionsChicagoQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredSurveyOfEconomicConditionsChicagoQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any + ) -> Dict: + """Extract data.""" + ids = list(ID_TO_FIELD.keys()) + frequency = query.frequency[:1].lower() if query.frequency else None + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date, + end_date=query.end_date, + transform=query.transform, + frequency=frequency, + aggregation_method=query.aggregation_method, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredSurveyOfEconomicConditionsChicagoQueryParams, + data: Dict, + **kwargs: Any + ) -> AnnotatedResult[List[FredSurveyOfEconomicConditionsChicagoData]]: + """Transform data.""" + df = DataFrame(data["data"]) + metadata = data.get("metadata", {}) + if df.empty: + raise EmptyDataError( + "There was an error with the request and was returned empty." + ) + df = df.set_index("date").sort_index() + df.columns = [ID_TO_FIELD.get(c, c) for c in df.columns] + if query.transform in ["pch", "pc1", "pca", "cch", "cca"]: + df = df / 100 + df = df.reset_index().fillna("N/A").replace("N/A", None) + records = df.to_dict(orient="records") + return AnnotatedResult( + result=[ + FredSurveyOfEconomicConditionsChicagoData.model_validate(d) + for d in records + ], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/university_of_michigan.py b/openbb_platform/providers/fred/openbb_fred/models/university_of_michigan.py new file mode 100644 index 00000000000..d83f43cccb4 --- /dev/null +++ b/openbb_platform/providers/fred/openbb_fred/models/university_of_michigan.py @@ -0,0 +1,154 @@ +"""FRED University of Michigan Survey Model.""" + +# pylint: disable=unused-argument + +from datetime import datetime +from typing import Any, Dict, List, Literal, Optional, Union + +from openbb_core.provider.abstract.annotated_result import AnnotatedResult +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.university_of_michigan import ( + UofMichiganData, + UofMichiganQueryParams, +) +from openbb_core.provider.utils.errors import EmptyDataError +from openbb_fred.models.series import FredSeriesFetcher +from pandas import DataFrame +from pydantic import Field + + +class FredUofMichiganQueryParams(UofMichiganQueryParams): + """FRED University of Michigan Survey Query. Data from FRED is delayed by 1 month.""" + + frequency: Union[ + None, + Literal[ + "annual", + "quarter", + ], + ] = Field( + default=None, + description=""" + Frequency aggregation to convert monthly data to lower frequency. None is monthly. + """, + json_schema_extra={ + "choices": [ + "annual", + "quarter", + ] + }, + ) + aggregation_method: Union[None, Literal["avg", "sum", "eop"]] = Field( + default=None, + description=""" + A key that indicates the aggregation method used for frequency aggregation. + avg = Average + sum = Sum + eop = End of Period + """, + json_schema_extra={"choices": ["avg", "sum", "eop"]}, + ) + transform: Union[ + None, Literal["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + ] = Field( + default=None, + description=""" + Transformation type + None = No transformation + chg = Change + ch1 = Change from Year Ago + pch = Percent Change + pc1 = Percent Change from Year Ago + pca = Compounded Annual Rate of Change + cch = Continuously Compounded Rate of Change + cca = Continuously Compounded Annual Rate of Change + log = Natural Log + """, + json_schema_extra={ + "choices": ["chg", "ch1", "pch", "pc1", "pca", "cch", "cca", "log"] + }, + ) + + +class FredUofMichiganData(UofMichiganData): + """FRED University of Michigan Survey Data.""" + + +class FredUofMichiganFetcher( + Fetcher[FredUofMichiganQueryParams, List[FredUofMichiganData]] +): + """FRED University of Michigan Survey Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FredUofMichiganQueryParams: + """Transform query.""" + return FredUofMichiganQueryParams(**params) + + @staticmethod + async def aextract_data( + query: FredUofMichiganQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any + ) -> Dict: + """Extract data.""" + ids = ["UMCSENT", "MICH"] + frequency = query.frequency[:1].lower() if query.frequency else None + if ( + query.start_date and query.start_date < datetime(1978, 1, 1).date() + ) or not query.start_date: + ids = ids + ["UMCSENT1"] + try: + response = await FredSeriesFetcher.fetch_data( + dict( + symbol=",".join(ids), + start_date=query.start_date, + end_date=query.end_date, + transform=query.transform, + frequency=frequency, + aggregation_method=query.aggregation_method, + ), + credentials, + ) + except Exception as e: + raise e from e + + return { + "metadata": response.metadata, + "data": [d.model_dump() for d in response.result], + } + + @staticmethod + def transform_data( + query: FredUofMichiganQueryParams, data: Dict, **kwargs: Any + ) -> List[FredUofMichiganData]: + """Transform data.""" + df = DataFrame(data.get("data", [])) + if df.empty: + raise EmptyDataError( + "There was an error with the request and was returned empty." + ) + metadata = data.get("metadata", {}) + # Combine the legacy series with the new one. + if "UMCSENT1" in df.columns: + df["UMCSENT"] = df["UMCSENT"].fillna(df["UMCSENT1"]) + df = df.drop(columns=["UMCSENT1"]) + metadata.pop("UMCSENT1", None) + + # Normalize the percent values. + df["MICH"] = df["MICH"] / 100 + if query.transform and query.transform not in ["chg", "ch1", "log"]: + df["UMCSENT"] = df["UMCSENT"] / 100 + + df = df.rename( + columns={"UMCSENT": "consumer_sentiment", "MICH": "inflation_expectation"} + ) + records = ( + df.sort_values(by="date") + .fillna("N/A") + .replace("N/A", None) + .to_dict(orient="records") + ) + return AnnotatedResult( + result=[FredUofMichiganData.model_validate(r) for r in records], + metadata=metadata, + ) diff --git a/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py b/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py index 0be0ba37f87..0b8aa22e4a5 100644 --- a/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py +++ b/openbb_platform/providers/fred/openbb_fred/models/yield_curve.py @@ -22,12 +22,27 @@ class FREDYieldCurveQueryParams(YieldCurveQueryParams): __json_schema_extra__ = {"date": {"multiple_items_allowed": True}} yield_curve_type: Literal[ - "nominal", "real", "breakeven", "corporate_spot", "corporate_par" + "nominal", + "real", + "breakeven", + "treasury_minus_fed_funds", + "corporate_spot", + "corporate_par", ] = Field( default="nominal", description="Yield curve type." + " Nominal and Real Rates are available daily, others are monthly." + " The closest date to the requested date will be returned.", + json_schema_extra={ + "choices": [ + "nominal", + "real", + "breakeven", + "treasury_minus_fed_funds", + "corporate_spot", + "corporate_par", + ] + }, ) diff --git a/openbb_platform/providers/fred/openbb_fred/utils/commercial_paper.csv b/openbb_platform/providers/fred/openbb_fred/utils/commercial_paper.csv deleted file mode 100644 index 8897cb334c5..00000000000 --- a/openbb_platform/providers/fred/openbb_fred/utils/commercial_paper.csv +++ /dev/null @@ -1,241 +0,0 @@ -Maturity,Category,Grade,Title,Description,FRED Series ID -overnight,asset_backed,aa,Overnight AA Asset-Backed Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPAAAD01NB -7d,asset_backed,aa,7-Day AA Asset-Backed Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPAAAD07NB -15d,asset_backed,aa,15-Day AA Asset-Backed Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPAAAD15NB -30d,asset_backed,aa,30-Day AA Asset-Backed Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPAAAD30NB -60d,asset_backed,aa,60-Day AA Asset-Backed Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPAAAD60NB -90d,asset_backed,aa,90-Day AA Asset-Backed Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPAAAD90NB -overnight,financial,aa,Overnight AA Financial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPFAAD01NB -7d,financial,aa,7-Day AA Financial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPFAAD07NB -15d,financial,aa,15-Day AA Financial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPFAAD15NB -30d,financial,aa,30-Day AA Financial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPFAAD30NB -60d,financial,aa,60-Day AA Financial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPFAAD60NB -90d,financial,aa,90-Day AA Financial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPFAAD90NB -overnight,non_financial,aa,Overnight AA Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNAAD01NB -7d,non_financial,aa,7-Day AA Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNAAD07NB -15d,non_financial,aa,15-Day AA Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNAAD15NB -30d,non_financial,aa,30-Day AA Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNAAD30NB -60d,non_financial,aa,60-Day AA Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNAAD60NB -90d,non_financial,aa,90-Day AA Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNAAD90NB -overnight,non_financial,a2_p2,Overnight A2/P2 Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNA2P2D01NB -7d,non_financial,a2_p2,7-Day A2/P2 Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNA2P2D07NB -15d,non_financial,a2_p2,15-Day A2/P2 Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNA2P2D15NB -30d,non_financial,a2_p2,30-Day A2/P2 Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNA2P2D30NB -60d,non_financial,a2_p2,60-Day A2/P2 Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNA2P2D60NB -90d,non_financial,a2_p2,90-Day A2/P2 Nonfinancial Commercial Paper Interest Rate,"To calculate CP interest rate indexes, the Federal Reserve Board uses DTCC's data for certain trades to estimate a relation between interest rates on the traded securities and their maturities. In this calculation, the trades represent sales of CP by dealers or direct issuers to investors (that is, the offer side) and are weighted according to the face value of the CP so that larger trades have a greater effect on the resulting index. With the relation between interest rates and maturities established, the reported interest rates represent the estimated interest rates for the specified maturities. - -Interest rates calculated through the process described above are a statistical aggregation of numerous data reflecting many trades for different issuers, maturities, and so forth. Accordingly, the reported interest rates purport to reflect activity in certain segments of the market, but they may not equal interest rates for any specific trade. As with other statistical processes, this one is designed to minimize the difference between the interest rates at which actual trades occur and the estimated interest rates. - -CP trades included in the calculation are chosen according to the specifications listed in the table below. Data to assess CP trades relative to these criteria are updated daily from numerous publicly available sources. Standard Industrial Classification (SIC) code classifications are taken from the Securities and Exchange Commission (SEC) Directory of Companies Required to File Annual Reports with the SEC. When an issuer's primary SIC code is not reported in the SEC directory, the primary SIC code reported in the issuer's financial reports is used; otherwise, SIC codes are determined upon consultation with the Office of Management and Budget's Standard Industrial Classification Manual or its Supplement. - -For a discussion of econometric techniques for fitting the term structure of interest rates, including bibliographic information, see, for example, William S. Cleveland, 1979, ""Robust Locally Weighted Regression and Smoothing Scatterplots,"" Journal of the American Statistical Association, 74, 829-36, or William S. Cleveland, Susan J. Devlin, and Eric Grosse, 1988, ""Regression by Local Fitting,"" Journal of Econometrics, 37, 87-114. - -Source: https://www.federalreserve.gov/releases/cp/about.htm -",RIFSPPNA2P2D90NB diff --git a/openbb_platform/providers/fred/openbb_fred/utils/fred_base.py b/openbb_platform/providers/fred/openbb_fred/utils/fred_base.py index 791d5aa113c..adf2db7614a 100644 --- a/openbb_platform/providers/fred/openbb_fred/utils/fred_base.py +++ b/openbb_platform/providers/fred/openbb_fred/utils/fred_base.py @@ -4,6 +4,7 @@ from datetime import date from typing import Any, Optional from urllib.parse import urlencode +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider import helpers ROOT_URL = "https://api.stlouisfed.org/fred" @@ -68,7 +69,7 @@ class Fred: ) root = self.__fetch_data(url, **kwargs) if root is None: - raise ValueError("No data exists for series id: " + series_id) + raise OpenBBError("No data exists for series id: " + series_id) if "error_code" in root and "error_message" in root and root["error_message"]: - raise ValueError(root["error_message"]) + raise OpenBBError(root["error_message"]) return root["observations"] diff --git a/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py b/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py index a51cf745474..9eb72b4dfdb 100644 --- a/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py +++ b/openbb_platform/providers/fred/openbb_fred/utils/fred_helpers.py @@ -1,10 +1,12 @@ -""" FRED helpers. """ +"""FRED helpers.""" import csv import os from pathlib import Path from typing import Dict, List, Literal +from openbb_core.app.model.abstract.error import OpenBBError + YIELD_CURVE_NOMINAL_RATES = [round(1 / 12, 3), 0.25, 0.5, 1, 2, 3, 5, 7, 10, 20, 30] YIELD_CURVE_SPOT_RATES = [0.5, 1, 2, 3, 5, 7, 10, 20, 30, 50, 75, 100] YIELD_CURVE_REAL_RATES = [5.0, 7, 10, 20, 30] @@ -77,6 +79,13 @@ YIELD_CURVES = { "T20YIEM": "year_20", "T30YIEM": "year_30", }, + "treasury_minus_fed_funds": { + "T3MFF": "month_3", + "T6MFF": "month_6", + "T1YFF": "year_1", + "T5YFF": "year_5", + "T10YFF": "year_10", + }, "corporate_spot": { "HQMCB6MT": "month_6", "HQMCB1YR": "year_1", @@ -157,7 +166,7 @@ def comma_to_float_list(v: str) -> List[float]: try: return [float(m) for m in v.split(",")] except ValueError as e: - raise ValueError( + raise OpenBBError( "maturity must be a float or a comma-separated string of floats" ) from e @@ -230,7 +239,6 @@ def get_ice_bofa_series_id( ], ) -> List[dict]: """Get ICE BofA series id.""" - current_dir = os.path.dirname(os.path.realpath(__file__)) file = "ice_bofa_indices.csv" @@ -264,7 +272,6 @@ def get_ice_bofa_series_id( def get_cp_series_id(maturity, category, grade) -> List[dict]: """Get CP series id.""" - current_dir = os.path.dirname(os.path.realpath(__file__)) file = "commercial_paper.csv" @@ -297,7 +304,6 @@ def get_cp_series_id(maturity, category, grade) -> List[dict]: def get_spot_series_id(maturity: List[float], category: List[str]) -> List[dict]: """Get Spot series id.""" - current_dir = os.path.dirname(os.path.realpath(__file__)) file = "corporate_spot_rates.csv" diff --git a/openbb_platform/providers/fred/poetry.lock b/openbb_platform/providers/fred/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/fred/poetry.lock +++ b/openbb_platform/providers/fred/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/fred/pyproject.toml b/openbb_platform/providers/fred/pyproject.toml index b9dab88f776..dc22c57775e 100644 --- a/openbb_platform/providers/fred/pyproject.toml +++ b/openbb_platform/providers/fred/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-fred" -version = "1.2.2" +version = "1.2.3" description = "FRED extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_fred" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_ameribor_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_ameribor_fetcher.yaml new file mode 100644 index 00000000000..8d31dbb4e2f --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_ameribor_fetcher.yaml @@ -0,0 +1,130 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2023-06-06&observation_start=2023-01-01&series_id=AMERIBOR + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1644' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 16:56:10 GMT + Expires: + - Mon, 10 Jun 2024 16:56:10 GMT + Last-Modified: + - Mon, 10 Jun 2024 12:03:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=AMERIBOR + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkHX1dgzyd/IOQ9ZFsaklmSU6qkpWSf1lqUV5mekaJQmhecWpyaVFqigLMAgWn1LzkjNzE + omwFz7yS1KLU4hKFoMSSVCUdpfyk4tSissSSzPw8JB8ZmuoaGukaGqIpQPWUgaWSjlJaUWphaWpe + cqWSlZJLYmZOpY6Cua5LYiWyVHxxRj44qFyUdJRK8zJLipWslAJSi5JT80pgInA1qko6SsWpicX5 + eYk58YkpWaXFJbkgdVZKfvklCsFQmZxKBUewXGoKdvVw8/yCHZV0lHISi0viSwtSEktSQSGPiDMF + A3MrA2MrA2NdA1MlHaWC/ILSnMSizJJKJStTYx2lvPySVJBrXRJLEhUKijLzixRK8hW8SvNSFQzN + dRSMDAwtFTKLFfLzcioVEssSM3MSk3JSFdKK8nMVfPPzUhIrQcrdijJBLI3UiuSc0pTMvHSFkqJE + MJ2RnwOSKtbUi8mLyYNFV0ypgUFiqoKGY25qUWZyYh4k0pIS87IV/NPSUkExC4o9TZDNiQpJ8LjN + hMVtUWJJqkJSYnFqikJ+nkI+PGWUwlNGTn5iXjHIGXnFicklEHUlGakKcCvdMvMS85IzE3MUXCuS + MxLz0kHucYvQ1IMnKqgrM4sVkhNzkktzQEGrkFisADKmpCgRbHBmfp5CWX5OaW6qQnkqKHGmpigk + lqUWJaanKqC6Nj8NrDEFlITg7srMzytWyMwDy6AFDi5PKYBSeWoJyN8ghzi6Regp+OYXpSqkpJYk + ZuYUKyQm5ZeWoHsiN7UkIz8lPyc/vVIBFOBJqQpp+aV54OADGVOcX1qUnKperFCemlScWZKqoJFR + UlJQbBWjH6OfCIqlpPwivbzUEk0dhdK8lNQisIuDUiHaihWKU5NBGQxbJGcWKyQqFKWmZxaD8mUK + yOspqSA/KEBDhIgYAceEpYJzfkFlESiQdYiKxpwchSCQ6mKFoFRQGQBYaoqeUm1sLQBJPKmi4gQA + AA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '799' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 16:56:10 GMT + Expires: + - Mon, 10 Jun 2024 16:56:10 GMT + Last-Modified: + - Mon, 10 Jun 2024 12:03:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_bond_indices_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_bond_indices_fetcher.yaml new file mode 100644 index 00000000000..068896b69a9 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_bond_indices_fetcher.yaml @@ -0,0 +1,168 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?aggregation_method=avg&api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-04&observation_start=2024-06-01&series_id=BAMLC0A0CMEY + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwVdJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30RJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKSEcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmeiYWSrU61DQeFIZIxgNmrFQbWwsA + QjFl2dABAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '236' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 06 Jun 2024 03:18:32 GMT + Expires: + - Thu, 06 Jun 2024 03:18:32 GMT + Last-Modified: + - Wed, 05 Jun 2024 12:43:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=81940D9F2B9DA1F344016ADD98A66DDB~000000000000000000000000000000~YAAQRPAPFzQeWqOPAQAAjSOO6xjjISR3qU9p9ehCD7atzjNROSt0ALRbveNn0wXMB9gQK56uh0Xc1awlcFf3GpvzR24NvzsUh4Tip6bCOYUE3V7ijpdew8ar7pkb9+iovo+hcEff5STTUGwjvtpLhEjVfAhhZKN41Hc0FXWVyltY6sLcwskwRyqmSmgUToABM1HjfCo3Y17QWqLhSTJCHbsfAk9Hmkbt6xReN2Wy4vDBrBfYhbZJ5Ce0PAct8CtKXzwAWkAByJLv091DhYjuqNY5mck+sXgpj2fF+5uQ+QeQDhj3+tgq8+BdCLPe8j8LwGcIZzA26+1QquiWbzCLwBAyJC7+xhVymELNuty/K/nPCe5qM7KQOeB5N+KgVgKg; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 06 Jun 2024 05:18:31 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=81940D9F2B9DA1F344016ADD98A66DDB~000000000000000000000000000000~YAAQRPAPFzQeWqOPAQAAjSOO6xjjISR3qU9p9ehCD7atzjNROSt0ALRbveNn0wXMB9gQK56uh0Xc1awlcFf3GpvzR24NvzsUh4Tip6bCOYUE3V7ijpdew8ar7pkb9+iovo+hcEff5STTUGwjvtpLhEjVfAhhZKN41Hc0FXWVyltY6sLcwskwRyqmSmgUToABM1HjfCo3Y17QWqLhSTJCHbsfAk9Hmkbt6xReN2Wy4vDBrBfYhbZJ5Ce0PAct8CtKXzwAWkAByJLv091DhYjuqNY5mck+sXgpj2fF+5uQ+QeQDhj3+tgq8+BdCLPe8j8LwGcIZzA26+1QquiWbzCLwBAyJC7+xhVymELNuty/K/nPCe5qM7KQOeB5N+KgVgKg + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=BAMLC0A0CMEY + response: + body: + string: !!binary | + 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 + NrYWAA7lQACDGQAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '3888' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 06 Jun 2024 03:18:32 GMT + Expires: + - Thu, 06 Jun 2024 03:18:32 GMT + Last-Modified: + - Wed, 05 Jun 2024 12:43:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=81940D9F2B9DA1F344016ADD98A66DDB~000000000000000000000000000000~YAAQRPAPF0QeWqOPAQAANySO6xggPtiJI26HwaQCFYSkTpJXySafy3DEM4vZNvm3exMUfozy6uVg66m5sv4oM9LlyFj+8yyVWg5wQr6vZx9LQHQPDOpxrchiU50SMAYsewvYmmftgNGBwdY/YeL8KU81mQ64Tg4YfKdXv2cG426TAtiQws2IrCCudBcvQ2/qYWVuuxXTlXqyZfr1f8OLre5KIjyHxzuWrHNSP6Jh8KFYLqCModUWeMAUo303zhvuIpUj6EfTKteFE9wfr7Kp4HpaclX7hI3tIkFNQOLFp3D/Szmg39r5sxc4G+x8w7CpPv1yVtGzDyz3LzMytMgrymB5V5xV2Et4u33N+v1tweP+66vcxlI0R0yFWM2lrtm5nKLZqh7NOR56NWk=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 06 Jun 2024 05:18:31 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_commercial_paper_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_commercial_paper_fetcher.yaml index 54e88d9426c..b14b4bba195 100644 --- a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_commercial_paper_fetcher.yaml +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_commercial_paper_fetcher.yaml @@ -3,57 +3,106 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_end=2023-06-06&observation_start=2023-01-01&series_id=RIFSPPFAAD30NB + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-02-01&observation_start=2024-01-01&series_id=RIFSPPAAAD30NB response: body: string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uehajYw1DUwVNJRQlaApN/ATNfATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycV - ylPKKs4HKylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycrQ0EhHKT8t - rTi1RMnKQEcpJzM3EyRsAAIozixWsoqmJEjAToEGISgUQEFYlphTmqpkpaSnVKtDTbONlXSUYGab - 6BmbU9l4E1TjzahsvCmq8YZUNh6UvhCBY2JMZeMtkVxP5Xg1NEAy20TPhMoBbwjKmEghQ+VkY0jD - FG+ImuJNqO105DRD7Ug1R4pUapttQUOzaZjQjZATOpXDxAg5qVDbbOSSkdpmoxaLpibULbeMaJjE - jZCTuImeKXVdbkzDxGKMWiSaUbUuMoI0hRAlLtWNp1mJa6RrgJyNTPRMqVriGkFagUghQ80kY6Rr - gJwgqZpPjXQNkMtcEz1TSyo7nWbFrpEuWvuCqs0LI120OpraptOs6DXSNUQueqmcXAyRy10TPVOq - Fo5GuoY0TOm0q6WNdI3QCl6q1nZGukY0LBlp18Aw0jWiYSpHqaWpnMqNUAtFM6pmfmOMepTaxiOn - FhM96lbTxuhVqZkFNWsMY9SqlKrxakzDitQYtSKltrtpVosao9aiVHY3Sh1KbbNpVrYY07AGNdY1 - RK5BqR0mNKs+jXVpV30ao1afVA4T2tWdxroodaeJngVV+1vGNKw+jXVpV30a66JVnxZG1K0hjGhY - GqL0zk30LKhcuaF00Kma0E3Q62ULqjbNTXQNaFbemuga0KzHYoLanjDRs6RqHjWhYZPChIZVs4ku - 2ug5tVMLyui5iR7VjUcezqFyPjKkYUKnXf/WRNcQudNC7TBBLnJN9CyoOnxmQsO2hQlq28JEz4Kq - A1wmNKyjTXSNaFgs0m4A3YSGbQsT1LYFVVO5KWq/3FTPgKrtFlPIMgTYILGpniFVM5Epav1vqmdA - 1VEFU9T631TPgKr5yBS1CWCqZ0DV1ospau/cRM+Squ06U10D5PLRVM+AquN/pjRsCJiiNgRM9Qyp - 7XTkwSjqxyvKWLepniFVW3emqJ116ucp2jUHTFGbA6Z6BlQubQxRUzyVwx2l026qZ0jVVS+mqP12 - Uz1DKhf0KMPeNHA9crOA+lkKpWVA/QKBdr13U12U3juVGwe067qboTY8qOpuM9RWB7XNRk6J1DYb - bZwUsNhaAK2Pz5/iKQAA + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwU9JByKbmpaDL5ScVpxaVJZZk + 5uehaTbUNTBU0lFCVoCs3wgiXZqXWVKsZKWUk5kHUlxaUlBaEl9SWZCqZGWoo5SWmZMK5SllFeeD + lRSlpBbFJ1UqWaEYnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVkoqOUn5ZWnFqiZGWg + o5STmZtZomRlaAACKK4sVrKKpiREwC6BhSA0EMoSc0pTlayU9JRqdahptpGSjhLMbFM9Y3MqG2+M + arwZlY03QTXelMrGm6IaT+3AsUA1ntqut0Q1nsphb2iAajyVA8cQlPOREiaVA8cQLd1T23jklEPl + LGsIKlCRQobaAW+OGq/UTjZoid6EulnWkLaJ3gg12ZgYUtf1RmjFJZVTpRFacUnlqDVCTvTUr0uM + 0NI9lVOOEVrKoXLYG6MVl9Q2Hq24pGrgQBtaSGUOYKZKtbG1AItJ1uf1CQAA headers: - Accept-Ranges: - - bytes + Cache-Control: + - max-age=0, no-cache Connection: - keep-alive Content-Encoding: - gzip Content-Length: - - '984' + - '387' Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 02 Nov 2023 13:45:30 GMT + - Fri, 07 Jun 2024 04:58:35 GMT Expires: - - Thu, 02 Nov 2023 13:46:30 GMT + - Fri, 07 Jun 2024 04:58:35 GMT Last-Modified: - - Tue, 31 Oct 2023 17:04:03 GMT + - Thu, 06 Jun 2024 17:04:29 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=47D9BE5E15556CE0609ECA6AD74283A3~000000000000000000000000000000~YAAQlJUeuHw1aPCPAQAANRkQ8Rghc0UgHMPiZAV62XWGKnY4klZo+GLY7mp8DOtQLxVzPLZKOdbmnT/SNjRrHp5LEjacvILwy6/tqk5Hnmxt2TXwnIp3M5TLPWmJjZizAKOZEuuID4NUGMaSspmgMWmDg5do9WZ9v4QdcEU78hQCwi/7JyNzGBmKa39hrkGQgB8zh7sXQ98g1hTVuxjLcgBl3OrGa5ORZH5ERNdNq7vE06smayO0TtDdvEDdffILB9KtEsYfcKqgFG6wbeLRTH8UZo//S2ZeQne6AJ++iGiO+pA+7sGloMwcM2a+EkazH/XumwZhxWP8GHk0XnGy4Ky9T+FK8wgz0NLcSKPMX/XG1ef0mUrcIzpZp2zZE41Z; + Domain=.stlouisfed.org; Path=/; Expires=Fri, 07 Jun 2024 06:58:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=47D9BE5E15556CE0609ECA6AD74283A3~000000000000000000000000000000~YAAQlJUeuHw1aPCPAQAANRkQ8Rghc0UgHMPiZAV62XWGKnY4klZo+GLY7mp8DOtQLxVzPLZKOdbmnT/SNjRrHp5LEjacvILwy6/tqk5Hnmxt2TXwnIp3M5TLPWmJjZizAKOZEuuID4NUGMaSspmgMWmDg5do9WZ9v4QdcEU78hQCwi/7JyNzGBmKa39hrkGQgB8zh7sXQ98g1hTVuxjLcgBl3OrGa5ORZH5ERNdNq7vE06smayO0TtDdvEDdffILB9KtEsYfcKqgFG6wbeLRTH8UZo//S2ZeQne6AJ++iGiO+pA+7sGloMwcM2a+EkazH/XumwZhxWP8GHk0XnGy4Ky9T+FK8wgz0NLcSKPMX/XG1ef0mUrcIzpZp2zZE41Z + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=RIFSPPAAAD30NB + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwU9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkgzzdggMCHB0dXYwN/JyQdZNsdklmSU6qkpWSsYGuS2KlgqOjgmNxcWqJrlNicnZqioJz + fm5ualFyZmKOQkBiQWqRgmdeSWpRanGJQlBiSaqSjlJ+UnFqUVliSWZ+HpLHDAx1QcgITQGa30yV + dJTSilILS1PzkiuVrJRcEjNzKpHF4osz8sFB5aKko1Sal1lSrGSlFJBalJyaVwITgatRVdJRKk5N + LM7PS8yJT0zJKi0uyQWps1Lyyy9RCIbK5FQqOILlUlOwq4eb5xfsqKSjlJNYXBJfWpCSWJIKCnlE + nCkYGlkZmFgZWeoagPxRkF9QmpNYlFlSqWRlaKmjlJdfkgpyrVt+kUJuflGqQmZeWn5RLjigdBQK + clITi1MVilNTFTJKSgqsYvRj9MvLy/XSUlNSixJzilJBgZqql55fFqNflApWDFhxjH5yQYx+YlJ+ + aYleRkmunlJtbC0AeMHAjFYCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '419' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Fri, 07 Jun 2024 04:58:35 GMT + Expires: + - Fri, 07 Jun 2024 04:58:35 GMT + Last-Modified: + - Thu, 06 Jun 2024 17:04:29 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=47D9BE5E15556CE0609ECA6AD74283A3~000000000000000000000000000000~YAAQlJUeuJc1aPCPAQAAvhkQ8RjdYrxcLCShD13TKH2G9ACe1fVrusjEUz9KloUqVJYOx6DaZHfDY+cxAK04Qzdm7trNRvjpgwYsaRLMK226qzxdn+Jjv9bt+QEzmEwhMb2Zfqj4drMCP2jUqGpdrSThOeveLbqsN+ZLADrqruI5OA2IIcYHPhu8FPtO/6cIH3cCs1I6SvH2vAbAgLthRGKFkLf+NoOMFDLpBu2n37dPdSbRBhCjlRVf3bivcRDT5TbaRSeMYwgN3z6ruk1JCh3UoaKa9MNoTXNhbHdEZjLDSKU3AGFc7Sqc3HcrzP6ux8gmqKJv+GNcpz4UqgORC6RN03xlsIxN0ap+w5ne9QG/B5kpd/JDS6UWPushJuXHAOhn6gQnhpuhtQ==; + Domain=.stlouisfed.org; Path=/; Expires=Fri, 07 Jun 2024 06:58:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 Vary: - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '106' status: code: 200 message: OK diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_euro_short_term_rate_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_euro_short_term_rate_fetcher.yaml new file mode 100644 index 00000000000..8b5903c3176 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_euro_short_term_rate_fetcher.yaml @@ -0,0 +1,785 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRRT75THPCTVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkrGepbFSrQ41jTehrfGmtDUe + lAJQAwew2FoAksAkU44CAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '245' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRTOTVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkqmBpaGBUq0ONc03QTbf1MDM + kMrmm6KYb2lKbfeDEgE8fAAzMjIwU6qNrQUAVd76d5ICAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '263' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:02 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRNUMACTBANKS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkrGxUq0ONQ03QTbchMqGm9LS + cFDcw4MFMFOl2thaAL7Xi7+GAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '249' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRRT75THPCTVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgoJCzE1DPAKcQ8L8fZCNINmCksySnFQlKyXX0qJ8heCM/KIS3ZDUolyFoMSS + VCswqZBYomBuWpKhEJBalJyaV5KZk6qQn6YQlp9TmpuqpKOUn1ScWlSWWJKZn4fkP0NLXUMDXQOQ + /5AVoHnRQElHKa0otbA0NS+5UslKySUxM6cSWSy+GOQkkIySjlJpXmZJsZKVEtQhMBG4GlUlHaXi + 1MTi/LzEnPjElKzS4pLc1DxQePvllygEQ2VyKhUcwXKpKdjVw83zC3ZU0lHKSSwuiS8tSEksSQVF + ACLqFAyMrYwNrQyMdQ1MlXSUCvILSnMSizJLKpWszHSU8vJLUkGODclIVUgFBS7YJ7oloMAtSixJ + VdCIKTUySEwODgnSVChKTctJTS4pVijJSFUoz8jPSS1OzIHqK80rTk0uLUpNUcgvSy3Ky0zPKFFI + yi8qyi/PzEtXSM4vLikGxUdSYl52sUJOfjLInQqZeWCjwBYnFqUm6imA3OHq7KRQUJqUk1mckVqs + kJ+nkFlSrFCemlScWZIKVg93EijSDSysDAwUnF1DQCpTE5MzFEIcg9xdQ4wUkkqLM/NSi4sVQIEC + MRqhE5TQFSDpViGzWAEaciAzQJ5zdXYCKTW0LFYILkksySwuyUxOzFFwSSxJVAhPLErNyC8tTlXQ + CHYJ11QAh1hOpUJiWklqEZr7wN5IBqc6vZi8mDyQ91JAqUcBZDw4WEG2JyUWgwIOEholRYl5xYnJ + oJRarFCeWZKBFKK5iSWloLhTKMlILFEoTy1KVSgpSkxJTVFIzEtRKE4tKclBGFRQlFqWmV9aDA8Q + SDh45ikEu4TroLkUGhSJRakKmXkpqRWpKQpJlQqgUNJRKM8AW5SRCuZD5FETA9gR4HAGRTIoBEvz + UlKLcipBkY/sIT0Ft/wihdSKxNyCnFSIG5AyHji2QbpBSU9HoQyceaE+1FFILUnWgwQIyFlQZxgq + +CeX5CelFikYGRhawlwF1gOyGxSOZZkllZCITSxRSEms1AEHVnJ+UVFqcUF+XopCST5aYICjrTgD + EpRGKDaAoxHkh7TSopKM1CKFzLy0/KJccBSDbAclAYhxNokKGUWpabbqGSUlBcVWMfox+uXl5Xqp + yUl6oARfkKiXWhqjX1ySWFIco5+WmZeYl5yZmBOfm1iUnVpSHJ+YlxKfmVeSWpRaXBIPCo/iGH2Q + Pki+B+dQsHCMfkZJbg5ErrikKB6U/coyU8v1UvP0QDLqdv5lqUUgEVDUxMByM2AKNjH6dnpKtbG1 + APGLPo75BQAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1035' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRRT25THPCTVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkrGehYVSrQ41jTehrfGmtDUe + lAJQAwew2FoAwv7SiI4CAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '245' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F2CB758BB06C0DEE0931D25DD;Expires=Thu, 12 Jun 2025 00:45:30 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRTOTVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgkL8Q8L8fZA1k2x0SWZJTqqSlZJraVG+QnBGflGJbkhqUa5CUGJJqpVCSH5J + Yo5CWH5OaW6qko5SflJxalFZYklmfh6SJwwtdQ0NdA1AnkBWgOYPAyUdpbSi1MLS1LzkSiUrJZfE + zJxKZLH4YpDtIBklHaXSvMySYiUrJd/MnJzM/Lxihfw0BZATYVJwxapKOkrFqYnF+XmJOfGJKVml + xSW5qXmg0PXLL1EIhsrkVCo4guVSU7Crh5vnF+yopKOUk1hcEl9akJJYkgoKbkREKRgYWxkbWhkY + 6RqYKukoFeQXlOYkFmWWVCpZGRnpKOXll6SCnB2SkaqQCgpRsJ90S0AhWpRYkqqgEVNqZJCYHBwS + pKlQlJqWk5pcUqxQkpGqUJ6Rn5NanJgD1VeaV5yaXFqUmqKQX5ZalJeZnlGikJRfVJRfnpmXrpCc + X1wCDpKkxLzsYoWc/GSQQxUy88BGgS1OLEpN1FMAucPV2UmhoDQpJ7M4I7VYIT9PIbOkWKE8Nak4 + syQVrB7uJIXEEgUDCysDAwVn1xCQytTE5AyFEMcgd9cQI4Wk0uLMvNTiYgVQqECMRugEpWsFSDJV + yCxWgAYdyAyQ51ydnUBKDS2LFYJLEksyi0sykxNzFFwSSxIVwhOLUjPyS4tTFTSCXcI1FcAhllOp + kJhWklqE5j6wN5LB6U8vJi8mD+S9FFA6UgAZDw5WkO1JicWggIOERklRYl5xYjIozRYrlGeWZCCF + aG5iSSko8hRKMhJLFMpTi1IVSooSU1JTFBLzUhSKU0tKchAGFRSllmXmlxbDAwQSDp55CsEu4Tpo + LoUGRWJRqkJmXkpqRWqKQlKlAiiUdBTKM8AWZaSC+RB51MQAdgQ4nEHpHhSCpXkpqUU5laDIR/aQ + noJbfpFCakVibkFOKsQNSFkQHNsg3aCkp6NQBs7GUB/qKKSWJOtBAgTkLKgzDBX8k0vyk1KLFIwM + DC1hrgLrAdkNCseyzJJKSMQmliikJFbqgAMrOb+oKLW4ID8vRaEkHy0wwNFWnAEJSiMUG8DRCPJD + WmlRSUZqkUJmXlp+US44ikG2g5IAxDibRIWMotQ0W/WMkpKCYqsY/Rj98vJyvdTkJD1Qgi9I1Est + jdEvLkksKY7RT8vMS8xLzkzMic9NLMpOLSmOT8xLic/MK0ktSi0uiQeFR3GMPkgfJOODcyhYOEY/ + oyQ3ByJXXFIUD8p+ZZmp5XqpeXogGXU7/7LUIpAIKGpiYLkZMAWbGH07PaXa2FoAJD9WsOgFAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1025' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:02 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRNUMACTBANKS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgvxCfR2dQ5wc/byDkU0g2fySzJKcVCUrJdfSonyF4Iz8ohLdkNSiXIWgxJJU + KwW/0tyk1CKF/DQFx+SSzLJUBafEvOxiJR2l/KTi1KKyxJLM/DwkPxla6hoa6BqA/ISsAM1bBko6 + SmlFqYWlqXnJlUpWSi6JmTmVyGLxxSB3gGSUdJRK8zJLipWslCBOgQnAlfhm5uiB3Adyv5KOUnFq + YnF+XmJOfGJKVmlxSW5qHii0/fJLFIKhMjmVCo5gudQU7OrhRvsFOyrpKOUkFpfElxakJJakgoIf + EXEKBsZWxoZWBsa6BqZKOkoF+QWlOYlFmSWVSlamOkp5+SWpIGeHZKQqpILCFuwn3RJQ2BYllqQq + aMSUGhkkJgeHBGkqFKWm5aQmlxQrlGSkKpRn5OekFifmQPWV5hWnJpcWpaYo5JelFuVlpmeUKCTl + FxXll2fmpSsk5xeXFIP8nwSKGIWc/GSQOxUy88BGgS1OLEpN1FMAucPV2UmhoDQpJ7M4I7VYIT9P + IbOkWKE8Nak4syQVrB7uJIXEEgUDCysDAwVn1xCQytTE5AyFEMcgd9cQI4Wk0uLMvNTiYgVQoECM + RugEJXMFSKpVyCxWgIYcyAyQ51ydnUBKDS2LFYJLEksyi0sykxNzFFwSSxIVwhOLUjPyS4tTFTSC + XcI1FcAhllOpkJhWklqE5j6wN5LB6U8vJi8mD+S9FFA6UgAZDw5WkO1JicWggIOERklRYl5xYjIo + zRYrlGeWZCCFaG5iSSko7hRKMhJLFMpTi1IVSooSU1JTFBLzUhSKU0tKchAGFRSllmXmlxbDAwQS + Dp55CsEu4TpoLoUGRWJRqkJmXkpqRWqKQlKlAiiUdBTKM8AWZaSC+RB51MQAdgQ4nEGRDArB0ryU + 1KKcSlDkI3tIT8Etv0ghtSIxtyAnFeIGpCwIjm2QblDS01Eoy88pzYX5UEchtSRZDxIgIGdBnWGo + 4J9ckg/K/UYGhpYwV4FDBWQ3KBzLMksqIRGbWKKQklipAw6s5PyiotTigvy8FIWSfLTAAEdbcQYk + KI1QbABHI8gPaaVFJRmpRQqZeWn5RbngKAbZDkoCEONsEhUyilLTbNUzSkoKiq1i9GP0y8vL9VKT + k/RACb4gUS+1NEa/uCSxpDhGPy0zLzEvOTMxJz43sSg7taQ4PjEvJT4zryS1KLW4JB4UHsUx+iB9 + kHwPzqFg4Rj9jJLcHIhccUlRPCj7lWWmluul5umBZNTt/MtSi0AioKiJgeVmwBRsYvTt9JRqY2sB + w+VlTPcFAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1034' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - cookiesession1=678A3E1F2CB758BB06C0DEE0931D25DD + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRRT25THPCTVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgoJCjExDPAKcQ8L8fZCNINmCksySnFQlKyXX0qJ8heCM/KIS3ZDUolyFoMSS + VCswqZBYomBkWpKhEJBalJyaV5KZk6qQn6YQlp9TmpuqpKOUn1ScWlSWWJKZn4fkP0NLXUMDXQOQ + /5AVoHnRQElHKa0otbA0NS+5UslKySUxM6cSWSy+GOQkkIySjlJpXmZJsZKVEtQhMBG4Gr/S3KTU + IiUdpeLUxOL8vMSc+MSUrNLiktzUPFCg++WXKARDZXIqFRzBcqkp2NUjDA12VNJRykksLokvLUhJ + LEkFxQIi/hQMjK2MDa0MjHUNTJV0lAryC0pzEosySyqVrEx1lPLyS1JBLg7JSFVIBYUw2Du6JaAQ + LkosSVXQiCk1MkhMDg4J0lQoSk3LSU0uKVYoyUhVKM/Iz0ktTsyB6ivNK05NLi1KTVHIL0stystM + zyhRSMovKsovz8xLV0jOLy4pBkVKUmJedrFCTn4yyJ0KmXlgo8AWJxalJuopgNzh6uykUFCalJNZ + nJFarJCfp5BZUqxQnppUnFmSClYPdxIo5g0srAwMFJxdQ0AqUxOTMxRCHIPcXUOMFJJKizPzUouL + FUCBAjEaoROU2hUgiVchs1gBGnIgM0Cec3V2Aik1tCxWCC5JLMksLslMTsxRcEksSVQITyxKzcgv + LU5V0Ah2CddUAIdYTqVCYlpJahGa+8DeSAYnPb2YvJg8kPdSQElIAWQ8OFhBticlFoMCDhIaJUWJ + ecWJyaDkWqxQnlmSgRSiuYklpaC4UyjJSCxRKE8tSlUoKUpMSU1RSMxLUShOLSnJQRhUUJRalplf + WgwPEEg4eOYpBLuE66C5FBoUiUWpCpl5KakVqSkKSZUKoFDSUSjPAFuUkQrmQ+RREwPYEeBwBkUy + KARL81JSi3IqQZGP7CE9Bbf8IoXUisTcgpxUiBuQch84tkG6QUlPR6EMnIOhPtRRSC1J1oMECMhZ + UGcYKvgnl+QnpRYpGBkYWsJcBdYDshsUjmWZJZWQiE0sUUhJrNQBB1ZyflFRanFBfl6KQkk+WmCA + o604AxKURig2gKMR5Ie00qKSjNQihcy8tPyiXHAUg2wHJQGIcTaJChlFqWm26hklJQXFVjH6Mfrl + 5eV6qclJeqAEX5Col1oao19cklhSHKOflpmXmJecmZgTn5tYlJ1aUhyfmJcSn5lXklqUWlwSDwqP + 4hh9kD5IvgfnULBwjH5GSW4ORK64pCgelP3KMlPL9VLz9EAy6nb+ZalFIBFQ1MTAcjNgCjYx+nZ6 + SrWxtQB4WEb5/gUAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1039' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:30 GMT + Expires: + - Wed, 12 Jun 2024 00:45:30 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRVOLWGTTRMDMNRT + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkrGepaExyEYYNlaq1aGmZSZo + lhlS2XxTNPNp6hlQ8kAOOcAMlWpjawEvUhJYrAIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '259' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:31 GMT + Expires: + - Wed, 12 Jun 2024 00:45:31 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:01 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRSHRVOL5LRGACTBNK + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkqmRUq0ONQ03QTLcxILKhpsi + G25JZcNBcQ8PFsAMlGpjawGSSg7rhgIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:31 GMT + Expires: + - Wed, 12 Jun 2024 00:45:31 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:02 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=B1ED63987E645FBC544D109EBF062C1E~000000000000000000000000000000~YAAQb/TVF3Ifks2PAQAAdDfoCRjJWLtikVPFr8sA5LA6vk7t9WKk0I+2aFtrBG0z06ujHQ04hlrRs23LSYDS9cLtbcYVKuHR2s0ZMgLqbKWmr1jylEDR3S9/691Ork3uIjTbX3CRP5lCRmPa+L9QeuIvPsBHvo3GRKixwVECRYOvE8RrMfWfS7Xpja8NW62MvIb7KOfCpgIeXXWlk1i6U7dnJdsAbdXEfwLX6SlkU44G8B2Hm25gEzVZONV32PIPsGM0yYKlA3SH6jiDO+I1XFHbH2KCWVpHr9uKGgWa/mbeixv0y0ZWgF324gkTZF64tRsCdo8/x/J0NW3Wyz4W0EOg+CwOTWlA07m0HE1C8tC8v/zbltSlVFgJlv+UVBeE; + Domain=.stlouisfed.org; Path=/; Expires=Wed, 12 Jun 2024 02:45:29 GMT; Max-Age=7198 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=ECBESTRNUMTRANS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYAaUZWgKrfwExJR6k0L7OkWMlKKSczT0lHKb+0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUslJCNjolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpA + RyknMzezRMnK0AAEdJBNKlayiqYkQMAOQQSggbGSjlJZYk5pqpKVkrmBhVKtDjVNN0E23diIyqab + IptuRG3TQdEPCxnAzCyNlWpjawFzwxEMigIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '256' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:31 GMT + Expires: + - Wed, 12 Jun 2024 00:45:31 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F63E6E6EB614EDBC8D77ADECD;Expires=Thu, 12 Jun 2025 00:45:31 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - cookiesession1=678A3E1F2CB758BB06C0DEE0931D25DD + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRVOLWGTTRMDMNRT + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgsL8fcLdQ0KCfF18/YJCkA0h2YqSzJKcVCUrJdfSonyF4Iz8ohLdkNSiXIWg + xJJUK4Ww/JzS3FTd8NTM9IyS1BSFkKLM3NzUFAXf1MQ8sBIlHaX8pOLUorLEksz8PCQfGlrqGhro + GoB8iKwAzZMGSjpKaUWphaWpecmVSlZKLomZOZXIYvHFICeBZJR0lErzMkuKlayUAlKLklPzSmAi + cDWqSjpKxamJxfl5iTnxiSlZpcUluSB1Vkp++SUKwVCZnEoFR7Bcagp29XDz/IIdlXSUchKLS+JL + C1ISS1JBUYCIPAUDYytjQysDQ10DUyUdpYL8gtKcxKLMkkolK1NDHaW8/JJUkGtDMlIVUkGhC/aK + bgkodIsSS1IVNGJKjQwSk4NDgjQVilLTclKTS4oVSjJSFcoz8nNSixNzoPpK84pTk0uLUlMU8stS + i/JAUaGQlF9UlF+emZeukJxfXFKskJ+mkJSYl12skJOfDHKoQmYe2CiwxYlFqYl6CiB3uDo7KRSU + JuVkFmekFivk5ylklhQrlKcmFWeWpILVw52kkFiiYGBhZWCg4OwaAlKZmpicoRDiGOTuGmKkkFRa + nJmXWlysAAoViNEInaC0rgBJugqZxQrQoAOZAfKcq7MTSKmhZbFCcEliSWZxSWZyYo6CS2JJokJ4 + YlFqRn5pcaqCRrBLuKYCOMRyKhUS00pSi9DcB/ZGMjjZ6cXkxeSBvJcCSj4KIOPBwQqyPSmxGBRw + kNAoKUrMK05MBiXVYoXyzJIMpBDNTSwpBUWeQklGYolCeWpRqkJJUWJKaopCYl6KQnFqSUkOwqCC + otSyzPzSYniAQMLBM08h2CVcB82l0KBILEpVyMxLSa1ITVFIqlQAhZKOQnkG2KKMVDAfIo+aGMCO + AIczKJJBIVial5JalFMJinxkD+kpuOUXKaRWJOYW5KRC3ICU88CxDdINSno6CmXgjA31oY5Cakmy + HiRAQM6COsNQwT+5JD8ptUjByMDQEuYqsB6Q3aBwLMssqYREbGKJQkpipQ44sJLzi4pSiwvy81IU + SvLRAgMcbcUZkKA0QrEBHI0gP6SVFpVkpBYpZOal5RflgqMYZDsoCUCMs0lUyChKTbNVzygpKSi2 + itGP0S8vL9dLTU7SAyX4gkS91NIY/eKSxJLiGP20zLzEvOTMxJz43MSi7NSS4vjEvJT4zLyS1KLU + 4pJ4UHgUx+iD9EEyPjiHgoVj9DNKcnMgcsUlRfGg7FeWmVqul5qnB5JRt/MvSy0CiYCiJgaWmwFT + sInRt9NTqo2tBQBvXqJv/AUAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1045' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:32 GMT + Expires: + - Wed, 12 Jun 2024 00:45:32 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:01 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=B1ED63987E645FBC544D109EBF062C1E~000000000000000000000000000000~YAAQb/TVF3Ifks2PAQAAdDfoCRjJWLtikVPFr8sA5LA6vk7t9WKk0I+2aFtrBG0z06ujHQ04hlrRs23LSYDS9cLtbcYVKuHR2s0ZMgLqbKWmr1jylEDR3S9/691Ork3uIjTbX3CRP5lCRmPa+L9QeuIvPsBHvo3GRKixwVECRYOvE8RrMfWfS7Xpja8NW62MvIb7KOfCpgIeXXWlk1i6U7dnJdsAbdXEfwLX6SlkU44G8B2Hm25gEzVZONV32PIPsGM0yYKlA3SH6jiDO+I1XFHbH2KCWVpHr9uKGgWa/mbeixv0y0ZWgF324gkTZF64tRsCdo8/x/J0NW3Wyz4W0EOg+CwOTWlA07m0HE1C8tC8v/zbltSlVFgJlv+UVBeE; + cookiesession1=678A3E1F63E6E6EB614EDBC8D77ADECD + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRNUMTRANS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgvxCfUOCHP2CkbWTbHhJZklOqpKVkmtpUb5CcEZ+UYluSGpRrkJQYkmqlYJf + aW5SapFCfppCSFFiXnFicklmfl6xko5SflJxalFZIoiL5CFDS11DA10DkIeQFaD5yUBJRymtKLWw + NDUvuVLJSsklMTOnElksvhjkDpCMko5SaV5mSbGSlRLEKTABuBK4cHFqYnF+XmJOfGJKVmlxSW5q + HiiQ/fJLFIKhMjmVCo5gudQUJR0lLOoRhgY7Kuko5SQWl8SXFqQklqSCQh0RXwoGxlbGhlYGxroG + pko6SgX5BaU5iUWZJZVKVmY6Snn5JakgB4dkpCqkgkIV7BvdElCoFiWWpCpoxJQaGSQmB4cEaSoU + pablpCaXFCuUZKQqlGfk56QWJ+ZA9ZXmFacmlxalpijkl6UW5WWmZ5QoJOUXFeWXZ+alKyTnF5cU + g2ImKTEvu1ghJz8Z5E6FzDywUWCLE4tSE/UUQO5wdXZSKChNyskszkgtVsjPU8gsKVYoT00qzixJ + BauHO0khsUTBwMLKwEDB2TUEpDI1MTlDIcQxyN01xEghqbQ4My+1uFgBFCgQoxE6QalbAZJYFTKL + FaAhBzID5DlXZyeQUkPLYoXgksSSzOKSzOTEHAWXxJJEhfDEotSM/NLiVAWNYJdwTQVwiOVUKiSm + laQWobkP7I1kcMrTi8mLyQN5LwWUghRAxoODFWR7UmIxKOAgoVGClHgVyjNLMpBCNDexpBQUdwol + GYklCuWpRakKJUWJKakpCol5KQrFqSUlOQiDCopSyzLzS4vhAQIJB888hWCXcB00l0KDIrEoVSEz + LyW1IjVFIalSARRKOgrlGWCLMlLBfIg8amIAOwIczqBIBoVgaV5KalFOJSjykT2kp+CWX6SQWpGY + W5CTCnEDUuYDxzZINyjp6SiU5eeU5sJ8qKOQWpKsBwkQkLOgzjBU8E8uyQfleyMDQ0uYq8ChArIb + VAiUZZZUQiI2sUQhJbFSBxxYyflFRanFBfl5KQol+WiBAY624gxIUBqh2ACORpAf0kqLSjJSixQy + 89Lyi3LBUQyyHZQEIMbZJCpkFKWm2apnlJQUFFvF6Mfol5eX66UmJ+mBEnxBol5qaYx+cUliSXGM + flpmXmJecmZiTnxuYlF2aklxfGJeSnxmXklqUWpxSTwoPIpj9EH6IPkenEPBwjH6GSW5ORC54pKi + eFD2K8tMLddLzdMDyajb+ZelFoFEQFETA8vNgCnYxOjb6SnVxtYCAKOf0NHuBQAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1017' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:32 GMT + Expires: + - Wed, 12 Jun 2024 00:45:32 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:03 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - bm_sv=91F0A72F7D156D3A652156DC7B92A4EA~YAAQb/TVF3kfks2PAQAAIjnoCRhx2kckIuIMda4fQ5nGlVPANgBEeZ13Xil9TebC0aW40wdbAc8SCIv7T7uUmRhPN+MMy2mtkyt95XPYlDpCBFCmopVsOlHnT3fNF64esgLWWMhmdMZBQa0YETWB/U5DzL0DUNagax2iSfwhbqN9HGmXkZ8bP2BT0Q2v3/S+gJPDQeUq7F6nrO+PiUhZmRzQdaoOAkqZBjpOEg2R9fqwrvyG8KKK9nB8cllP8ziqrMf7NA==~1; + Domain=.stlouisfed.org; Path=/; Expires=Wed, 12 Jun 2024 02:45:32 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=B1ED63987E645FBC544D109EBF062C1E~000000000000000000000000000000~YAAQb/TVF3Ifks2PAQAAdDfoCRjJWLtikVPFr8sA5LA6vk7t9WKk0I+2aFtrBG0z06ujHQ04hlrRs23LSYDS9cLtbcYVKuHR2s0ZMgLqbKWmr1jylEDR3S9/691Ork3uIjTbX3CRP5lCRmPa+L9QeuIvPsBHvo3GRKixwVECRYOvE8RrMfWfS7Xpja8NW62MvIb7KOfCpgIeXXWlk1i6U7dnJdsAbdXEfwLX6SlkU44G8B2Hm25gEzVZONV32PIPsGM0yYKlA3SH6jiDO+I1XFHbH2KCWVpHr9uKGgWa/mbeixv0y0ZWgF324gkTZF64tRsCdo8/x/J0NW3Wyz4W0EOg+CwOTWlA07m0HE1C8tC8v/zbltSlVFgJlv+UVBeE; + cookiesession1=678A3E1F2CB758BB06C0DEE0931D25DD + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRSHRVOL5LRGACTBNK + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXZ2dXINDgoI9gsL8fUx9gtwdnUOc/LyRjSHZkpLMkpxUJSsl19KifIXgjPyiEt2Q1KJc + haDEklQrheCMxKJUhfw0hbD8nNJcMKskI1XBVMEnsSg9tbhEwTG5JLMsVcEpMS+7WElHKT+pOLWo + LLEkMz8Pyb+GlrqGBroGIP8iK0DzsoGSjlJaUWphaWpecqWSlZJLYmZOJbJYfDHIeSAZJR2l0rzM + kmIlK6WA1KLk1LwSmAhcjaqSjlJxamJxfl5iTnxiSlZpcUkuSJ2Vkl9+iUIwVCanUsERLJeagl09 + 3Dy/YEclHaWcxOKS+NKClMSSVFCEIKJSwcDYytjQysBI18BUSUepIL+gNCexKLOkUsnKVEcpL78k + FeTYkIxUhVRQQIN9olsCCuiixJJUBY2YUiODxOTgkCBNhaLUtJzU5JJiBVBIl2fk56QWJ+ZA9ZXm + Facmlxalpijkl6UW5WWmZ5QoJOUXFeWXZ+alKyTnF5cUg2IrCRQdCjn5ySB3KmTmgY0CW5xYlJqo + pwByh6uzk0JBaVJOZnFGarFCfp5CZkmxQnlqUnFmSSpYPdxJCoklCgYWVgYGCs6uISCVqYnJGQoh + jkHuriFGCkmlxZl5qcXFCqBAgRiN0AlK+AqQdKyQWawADTmQGSDPuTo7gZQaWhYrBJcklmQWl2Qm + J+YouCSWJCqEJxalZuSXFqcqaAS7hGsqgEMsp1IhMa0ktQjNfWBvJINTnV5MXkweyHspoNSjADIe + HKwg25MSi0EBBwmNkqLEvOLEZFBKLVYozyzJQArR3MSSUlDcKZRkJJYolKcWpSqUFCWmpKYoJOal + KBSnlpTkIAwqKEoty8wvLYYHCCQcPPMUgl3CddBcCg0KUKbKzEtJrUhNUUiqVACFko5CeQbYooxU + MF8BLI+aGMCOAIczKJJBIVial5JalFMJinxkD+kpuOUXKaRWJOYW5KRC3ICU8cCxDdINSno6CmWQ + rA02PEVHIbUkWQ8SICBnQZ1hqOCfXJKflFqkYGRgaAlzFThUQHaDwrEss6QSErGJJQopiZU64MBK + zi8qSi0uyM9LUSjJRwsMcLQVZ0CC0gjFBnA0gvyQVlpUkpFapJCZl5ZflAuOYpDtoCQAMc4mUSGj + KDXNVj2jpKSg2CpGP0a/vLxcLzU5SQ+U4AsS9VJLY/SLSxJLimP00zLzEvOSMxNz4nMTi7JTS4rj + E/NS4jPzSlKLUotL4kHhURyjD9IHyffgHAoWjtHPKMnNgcgVlxTFg7JfWWZquV5qnh5IRt3Ovyy1 + CCQCipoYWG4GTMEmRt9OT6k2thYAv8w/ZQkGAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1055' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 00:45:32 GMT + Expires: + - Wed, 12 Jun 2024 00:45:32 GMT + Last-Modified: + - Tue, 11 Jun 2024 08:31:02 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=B1ED63987E645FBC544D109EBF062C1E~000000000000000000000000000000~YAAQb/TVF3ofks2PAQAALjnoCRiuxQ9zeqe8SGJnJ/g64/VTn4BJg2QpCnbeJnkxqtdpd3YPrWTuSWkIjGAKiXEfzqQq8M1mX1ndeF/t1ZldL5XE9MgGrY7i35Y3cC38Y/XdVrE027A+fBQyrK9wNrt5dQ419+9IkEiyLN00dDJbBnWsxaQLZxXnenCUJzi9XI2AUpsPDOIPAyRycyhrm41IIRBAqdAv0NQ6Y5FH8IJyI2S1i4Q5xGrSZGo3fkJEwdWVtlLi67uA/Y9kWuGj6mivxMutHZCIcsTzgUjhpamTF8KcsD3I/mlifZWj4SX7ewQtaFwQDYvYFUXtX6h0f0vnhxyL+pSkhXEO6hmQMHiK9Ora5wqkHaCoc0OPLLo0n1/cfAXvs5iuYLttC7Emnw==; + Domain=.stlouisfed.org; Path=/; Expires=Wed, 12 Jun 2024 02:45:29 GMT; Max-Age=7197 + - bm_sv=F2E4C843CEC69299AF558F1FD752888D~YAAQb/TVF3sfks2PAQAALjnoCRjgjrmVUPUgELzMM5DKAL9U+ryt4QH3Oh9nZjeYzxDNFU6NAZAtonUJFWC3MwvalRNeIn4taplp4y2WkoePjXj6WEBBEbEeqgVr2HMlab5aMEUcmdd8efs71FQL0fXTCNxJlu5Z4t5xG70DPQtrByMfpZUXu41abKuxgCrCOGWLK1e9GkPSJJos3TeTtfv7oGuTc+Nx0mPU67zFuk3Xtun/WsoKM07jBJpeO+LsGiS/ng==~1; + Domain=.stlouisfed.org; Path=/; Expires=Wed, 12 Jun 2024 02:45:32 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_federal_funds_rate_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_federal_funds_rate_fetcher.yaml new file mode 100644 index 00000000000..2fd6a10ca73 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_federal_funds_rate_fetcher.yaml @@ -0,0 +1,146 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2023-06-06&observation_start=2023-01-01&series_id=DFF + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwU9JByKbmpaDL5ScVpxaVJZZk + 5uchazbWNTDUNTBU0lFCVgDXbww3uzQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPK + Ks4HKylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycrQ1FxHKT8trTi1 + RMnKQEcpJzM3EyRsAAIozixWsoqmJEjATgEHISIUyhJzSlOVrJRM9IyNlWp1qGm8kZKOEg2NN6at + 8Sa0Nd6UtsaDcgcNw96ctq63oK3xljQ13tCAtsaDyi7aRa0hbXOtIW1zrSFtc60hbXOtIW1zrSFt + c60hbXOtIW1zrRFtc60RbXOtEW1zrRFtc60RbXOtEW1zrRFtc60RbXOtEW1zrRFtc60xbXOtMS1z + rRGkG0KrqtxI1wC1UDC1oGb73kjXALVQoLrxqIUC1Y1HLRSobjxqoUB141ELBaobj1ooUN141ELB + 1Jy6CROtAU5t1xuiFgpUN562uRatAU5119M216I1wKnuetrmWrQGONVdT9tci9YAp7br0RrgVDee + trkWrQFOddfTtq5Fa4BT3fW0rWvRGuBUdz1aXUvl2gqtAU7dyhA0zosyGkXdwDHGaGNSNXCMMdqY + 1DYerbaitvFo6Z7axqPVVtQ2npbp3ljXAK22orbradnGNNZFb2NS2fXobUxqG4/WxqS28bSsrYx1 + 0QZ5qV2k0bSNaayLNshLddej5VqqdvqNddEGeanuerRcS2XX07SNaayLNshL7cChaRvTWBdtkNeC + qtPBxrpobUyqG49a11LdeNS6lurGo+ZaqhuPWtdS3XjUXEtt49EGealuPGrPkLrGm6AP8lLdeNSq + nOrGo1blVDcetQFOdeNpWSiYQNYgIcbvqe56WhYKJugNcKq7npaFggl6A5zarkdrgFPdeNrmWrRB + Xqq7nra5Fq0BTnXX07IqN9FFG+SluutpWZWb6KIN8lLb9WgNcKobT9uqHK0BTnXX07aupWkD3EQX + bZUF1QOHtrkWbZUF1V1P21yLtsqC2q6naQPclLYtZFP0IWrqBo4p+hA11Y1HrmtN9QyoOiJiqmuA + 3EKmgfHIuZYGxiO3kGlgPHKupYHxyC1k6huPMkRNA+OR61oaGI/cQqaB8ch1LQ2Mp22uRWkh08D1 + tM21KC1kGrietrkWpYVMfdejtJBpYDxtcy1KC5kGrqdtrkVpIdPA9bSta1GWQdDA9bSta1GWQdDA + 9bSta1FayNR3Pco6ZGobb4baAKeB8bSsys1QG+A0cD0tq3Iz2jbAodtkYUPUkMABLLYWAKC4bi9X + OwAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1029' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 06 Jun 2024 22:09:16 GMT + Expires: + - Thu, 06 Jun 2024 22:09:16 GMT + Last-Modified: + - Thu, 06 Jun 2024 20:17:46 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=DFF + response: + body: + string: !!binary | + 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 + XOmQJQ4AAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '2116' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 06 Jun 2024 22:09:16 GMT + Expires: + - Thu, 06 Jun 2024 22:09:16 GMT + Last-Modified: + - Thu, 06 Jun 2024 20:17:46 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=03D5EFA8F4BE5D33B0F594EB88A9E7C9~000000000000000000000000000000~YAAQZWIsF3GwKOePAQAA4F2Z7xhJfhKN4PXQvLYy/jri7QIbL9HRccp6zs1uHVvGac9hpUqaoyMWuEaX9vrGjggJ3Vpci5MurtvqaZufPVzRPDBXMLRHN6WKu6bPo8fd7cUdkcj5wa55llMHeREFrUVb/QWrXk2Am8lxyvSEZbCcKuLMbDHWK5X2dqnuH13y/wA7+TjjRiOxVv0SXaxt2HFvHjmM1FYwl8yPbvSAu/qf90/Vy8vz/RYc3HyiQczjEXWmismjJ2cqSGjqwapRxLpspoXUZHHxJKz7KHoJz9a5y755i8up/cujOYeo4JeKyfSOVH69T64nTb1TZ3scTvZADoMa1hO0/Gx9fU6JlXZfqaNfk+Zz7GuWJC6LsBMQ; + Domain=.stlouisfed.org; Path=/; Expires=Fri, 07 Jun 2024 00:09:16 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_high_quality_market_corporate_bond_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_high_quality_market_corporate_bond_fetcher.yaml index 495047d064c..f9a5217fc66 100644 --- a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_high_quality_market_corporate_bond_fetcher.yaml +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_high_quality_market_corporate_bond_fetcher.yaml @@ -3,551 +3,112 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB6MT + uri: https://api.stlouisfed.org/fred/release/tables?api_key=MOCK_API_KEY&element_id=219299&file_type=json&include_observation_values=true&observation_date=2023-01-01&release_id=402 response: body: string: !!binary | - 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 + EHfSraEBJUMshgakjbGQ6D3AamsBU668ljOuAAA= headers: - Accept-Ranges: - - bytes + Cache-Control: + - max-age=0, no-cache Connection: - keep-alive Content-Encoding: - gzip Content-Length: - - '325' + - '4019' Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 02 Nov 2023 13:45:31 GMT + - Tue, 11 Jun 2024 20:43:18 GMT Expires: - - Thu, 02 Nov 2023 13:46:31 GMT + - Tue, 11 Jun 2024 20:43:18 GMT Last-Modified: - - Tue, 10 Oct 2023 20:03:04 GMT + - Tue, 11 Jun 2024 20:43:15 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 Vary: - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '104' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB1YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9QxMlGp1 - qGa8kS6K8SZ6ltQz3ljXwBDdeAtLqrneWNcAzfWmeoam1DQe5AElHSVE2BuaUdN4E9TAMdUzoGrg - mKIbb0RV15uhG09V080xTLegZtBboBtvbkhN4y0xjAfMUqk2thYA0w3BlicFAAA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '332' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:31 GMT - Expires: - - Thu, 02 Nov 2023 13:46:31 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:04:03 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '103' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB2YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9QxNlGp1 - qGa8kS6K8SZ6FpZUM95Y18AQw3hDahqP5npTPQNzahoP8oCSjhIi7A1MqWm8CXrgmFPV9aboxlsa - U9P1ZqjGm+oZUzVwzNGNNzGjpust0I03pV62MtY1sEQ3HjAzc6Xa2FoAgopyRigFAAA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '335' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:31 GMT - Expires: - - Thu, 02 Nov 2023 13:46:31 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:04:05 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '102' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB3YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9QyNlWp1 - qGa8kS6K8SZ6FoZUM95Y18AQ3XhzapqO4XhLU2oaD3K/ko4SLOhN9KhrvAl62JgZUdP1pujGm5tR - 03gzVONN9QypGvbm6MYbUdX1FujGG1M1YVqiGw+YqbFSbWwtAMVmGZAnBQAA - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '330' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:31 GMT - Expires: - - Thu, 02 Nov 2023 13:46:31 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:03:03 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '101' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB5YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9QyVanWo - ZrqRLorpJnrmplQz3ljXwBDdeDNqmo7heAsjahoPcr+SjhIs5E30LMypabwJetiYWlLTeFN046nq - eDN00y2pGrPmqMab6hlQNVlaoBtvRL1MZaxrYIluPGDGFkq1sbUAlUEwUSUFAAA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '332' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:32 GMT - Expires: - - Thu, 02 Nov 2023 13:46:32 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:03:02 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '100' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB7YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9YwslGp1 - qGa8kS6K8SZ6llQz3VjXwBDddHMjahqP6XhDahoP8oCSjhIs6E30LM2pabwJRuBQ1fWm6MZbGFPT - 9WaoxpvqGVDV9eboxlPVdAt006mYqYx1DSzRjQfMxFSpNrYWAKaOQr0mBQAA - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '330' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:32 GMT - Expires: - - Thu, 02 Nov 2023 13:46:32 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:03:04 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '99' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB10YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9cyUanWo - ZrqRLprphuZUM95Y18AQ1XgTPUsLahqP6XpjahoP8oCSjhIi6A2p6noTjMAxoqbrTVGNN9UzsKSm - 8WboxhtR1fXmGMZTNewt0I03pWbYWKKbDpiZqVJtbC0AfHlcKCYFAAA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '326' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:33 GMT - Expires: - - Thu, 02 Nov 2023 13:46:32 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:04:02 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '98' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB20YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9cxMlWp1 - qGa8kS6a8YbGVDPeWNfAEN14AyNqGo/pehNqGg/ygJKOEiLsjcyoabwJeuAYUjVwTNGNN6Zq1Jqh - G29kSc3AMccw3oKaxlugG29qTk3jLdGNB8xcqTa2FgDjW2ZaJwUAAA== - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '325' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:33 GMT - Expires: - - Thu, 02 Nov 2023 13:46:33 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:04:03 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '97' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB30YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9UzMlGp1 - qGa8kS6K8SZ6lkZUM95Y18AQ3XgLC2oaj+Z6Uz0DapoOcr+SjhIi6A3NqWm8CWrYmOoZUjXoTdGN - NzahpuvN0I03tKSm8eYYxlPV9RboxlMxVxnrGliiGw+YqaVSbWwtAAaPtjInBQAA - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '333' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:33 GMT - Expires: - - Thu, 02 Nov 2023 13:46:33 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:04:03 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '96' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB50YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9YxNlGp1 - qGa8kS6K8SZ65uZUM95Y18AQw3hLahqP4XpLQ2oaD/KAko4SIuwNqWq8CWrgmOoZGlPT9aboxhub - UtN4M3TjDY2oabw5uvEGVHW9BbrxxlRNmJboxgNmaqRUG1sLALHRryooBQAA - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '330' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:34 GMT - Expires: - - Thu, 02 Nov 2023 13:46:34 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:03:03 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '95' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB75YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9YwslGp1 - qGa8kS6K8SZ65lQz3VjXwBDDdFNqGo/heAszahoP8oCSjhIi6A0sqWm8CWrgmOoZmlDTeFN0442p - Gjhm6MZTN3DMMYynZthYoJtO3bCxRDceMBMLpdrYWgCStsiQJgUAAA== - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '325' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:34 GMT - Expires: - - Thu, 02 Nov 2023 13:46:34 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:03:06 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '94' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&observation_start=2022-11-12&series_id=HQMCB100YR - response: - body: - string: !!binary | - H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy1jU01DUwUtJByKbmpaDL5ScVpxaVJZZk - 5uchazYCaTYEaUZWANFvaWlpqWtopGtsqKSjVJqXWVKsZKWUk5mnpKOUX1pSUFoSX1JZkKpkZaij - lJaZkwrlKWUV54OVFKWkFsUnVSpZKSEbnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVo - qKOUn5ZWnFqiZGWgo5STmZsJEjUAAR1ko4qVrKIpCRGwS8AhCA4EA5AvyxJzSlOVrJRM9YxMlWp1 - qGa8kS6K8SZ6ZuZUM95Y18AQ3XhzI2oaj+F6C2NqGg/ygJKOEiLsDagaOCaogWOqZ2hCTdebohtv - bEZN483QjTewoKbx5qjGm+hZUtV4C1TjTfWMqRr2lujGA2ZirlQbWwsAhzw7LCgFAAA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '335' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Thu, 02 Nov 2023 13:45:34 GMT - Expires: - - Thu, 02 Nov 2023 13:46:34 GMT - Last-Modified: - - Tue, 10 Oct 2023 20:04:04 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '93' status: code: 200 message: OK diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_manufacturing_outlook_texas_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_manufacturing_outlook_texas_fetcher.yaml new file mode 100644 index 00000000000..181d7cf0574 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_manufacturing_outlook_texas_fetcher.yaml @@ -0,0 +1,853 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=GRODSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslIwN9IyUanWoZrwJJIhhxhsZ6hlS + 03hTVOMhrgcsthYAPu+A/C8CAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '248' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:44 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=GROISAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslAwN9EyUanWoZrwJJIhhxhuZ6FlS + 03hTNOMBM9AzVKqNrQUAD5z3VC8CAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '251' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:16 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=FGRODSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslAwN9cyUanWoZrwJJIjhxhvpGVLT + eFM04wGz1DNSqo2tBQBf7RznLwIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '250' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:25 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=FGRONSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslEwt9IyUanWoZrwJJIjhxpvpmVDT + eFM04wEz0TNTqo2tBQCjTWaVLwIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '250' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:39 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=FGROISAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslIwN9IyUanWoZrwJJIjhxhvqmVLT + eFNU443MQK4HLLYWAGQTL1YvAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '249' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:26 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=FGROSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslAwt9MyUanWoZrwJJIjhxlvqmVDT + eFNU4wEz1zNQqo2tBQClD4ENLgIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '250' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:26 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F1F77B8601822B1C2B48F8694;Expires=Fri, 13 Jun 2025 17:43:47 + GMT;Path=/;Secure;HttpOnly + - ak_bmsc=217D9710A5EFDF5A429C117CF2FA153A~000000000000000000000000000000~YAAQlr8mF3QDTQ6QAQAANtOyEhhUDsGy/DA3rrPCCYYktuE0e5jG1hIr4rl7XGOxOj1KxlQNy/ZfL0PK1a61PYsrOUrohPZPdrWa0yngZ76xrbS/EY1zMh21CW5VdobWevxDE034gxuEZMHKna5R4P/hNXvdrAPJu6zRFyK4JlNpRmFSDyrNiVSccOSc8Z+5kvGjM1ia6L3MA2vPIto4yOmfd+Q50cR87qJr+uwRs7yDzNjFqVAKZMFp2OUhdOwkKkts5i6yejOL1pomyPEKZGASe/X+BZJS/2IBNdpgVdKA1/f7ZOV8rImBppCPEDzB9FaEfTKrcZPS6bTQJPXa3ukWPJO+y8SZAP5NbvGW30+kg2G/0aQr26KrkLuKejTQ; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=GROSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHQNLfUslGp1qGa+CSSMYeYbU9d0 + U1TTAdM1NNAzVKqNrQUAMW+OGDACAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '251' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:16 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F1DCD7AB2D2C3607434C30111;Expires=Fri, 13 Jun 2025 17:43:47 + GMT;Path=/;Secure;HttpOnly + - ak_bmsc=6F2FC099CBF45C16A201761E920969E8~000000000000000000000000000000~YAAQlr8mF3YDTQ6QAQAARNOyEhi0PL17nweGohTPIwAVbnYL4t0L8Vcb6n8OTJ2BSpsSkv5ckyUAwbZM7Q6YoSWaUQODMxni1/r3K/6ZGWvIxT5EqzJeGeT2nJGFTr6q7LX2T5OyZRO+2iXv/HUmzuAxO1ryXMQ3TFI/1rWMGrUtMWGc2yK5geZLMmHU84LUJQBQdQlZJLghdmw5ZNcEeoU+uthgIxuGf3eyfal/P2IJx7jQqkH6kbn07D4w9LQFcl3QfHK5kPWptYkkSRbzsHawy9GxBVgoT8JH/VWCqRbmNaWfVTPlzTi5d7GfwZD0As2B1gbn45VTnQ8KOKKUuHoY76Eh/VqwsnvEpk4937jXAz85FnCItbskAnY95xp4; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=GRONSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslEwt9UyUanWoZrwJJIjhxpvoGVDT + eFNU4wEzsdQzV6qNrQUAZG8T+S8CAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '251' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:16 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F80B2E29FAFD9E3B4E191B007;Expires=Fri, 13 Jun 2025 17:43:47 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=FGRODSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3dyD/F2CHX3dgpxcHH2QdZNsdklmSU6qkpWSW2lJaVGqgntRfnlJhkJQYkmqQn6agn9R + SmpRsbVCQGpRcmpeSWJ6qkJQakF+UUlmXrqCS2pyUWpicWqxQlp+kUJIakVisZKOUn5ScWpRWWJJ + Zn4ekk8NwD41MERTgOxZU12wdFpRamFpal5ypZKVkm9+XklGTqWSjhJcNL44Ix8cer5KOkqleZkl + xUpWSlDnwUTgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAYR8MFc2pVHAEi6emYFcLNyvYUUlHKSex + uCS+tCAlsSQVFA+QGDTVNbJQMLC0MjazMjLVNTBV0lEqyC8ozUksyiypVLIy1FHKyy9JBbkTXyAr + FIEDtlihJCNVISczOzWnUiElsyg1GRSSoLhIh0RNETRq8sFRAw56kI7cxLzStMTkktIiUNQUpyaX + 5Bcp5JelFoHNK86sUMgFBWaxQmJGamIKXFtxCdQ4cPTpKbjlFymklRaVZKQWKWTmpeUX5YJjUqEo + NT2xKAVkNMgysGIFXxQr/UtLcvLzsxWCS4vKUisVilJzQGlDIa0oPxfsBLfUlNSixByFoFRQ+khV + cErMywZ5yyUxJyexWKEsszizxEoho6SkoNgqRj9Gv7y8XC8FLJeWmqKXX5Qeo1+UWpyaWJScEaNf + DLakOEa/JDe/WC+xuKBCuSQxSRcahIDpKdXG1gIApz1mNXEDAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '608' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:25 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=GRODSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3YP8XYIdfd2CnFwcfZA1k2x0SWZJTqqSlZJzaVFRal6JgntRfnlJhkJQYkmqQn6agn9R + SmpRsbVCQGpRcmpeSWJ6qkJQakF+UUlmXrqCS2pyUWpicWqxQlp+kUJIakVisZKOUn5ScWpRWWJJ + Zn4ekk8NwD41MERTgOxZU12wdFpRamFpal5ypZKVkm9+XklGTqWSjhJcNL44Ix8cer5KOkqleZkl + xUpWSlDnwUTgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAYR8MFc2pVHAEi6emYFcLNyvYUUlHKSex + uCS+tCAlsSQVFA+QGDTVNbJQMLC0MjazMjHRNTBV0lEqyC8ozUksyiypVLIy0FHKyy9JBbkTbygr + FIFDtlihJCNVITkjMS89VSEzTyEdEiNF0BjJB8cIOMRB6nIT80rTEpNLSotAMVKcmlySX6SQX5Za + BDaloCi1LDO/tFghFxSQcE3FJVDDwHGmp+CWX6SQVlpUkpFapJCZl5ZflAuOPoWi1PTEohSQwSCr + wIoVfFEs9C8tycnPz1YILi0qS61UKErNASUIhbSi/FywA9xSU1KLEnMUglJBiSJVwSkxLxuUrlwS + c3ISixXKMoszS6wUMkpKCoqtYvRj9MvLy/VSwHJpqSl6+UXpMfpFqcWpiUXJGTH6xWBLimP0S3Lz + i/USiwsqlEsSk3ShwQaYnlJtbC0Ap/MSTmYDAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '599' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:44 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=FGROISAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3dyD/D2DHX3dgpxcHH2QdZNsdklmSU6qkpWSW2lJaVGqgntRfnlJhkJQYkmqQn6agn9R + SmpRsbVCQGpRcmpeSWJ6qkJQakF+UUlmXrqCZ15yUWpicWqxQlp+kUJIakVisZKOUn5ScWpRWWJJ + Zn4ekk8NwD41MERTgOxZU12wdFpRamFpal5ypZKVkm9+XklGTqWSjhJcNL44Ix8cer5KOkqleZkl + xUpWSlDnwUTgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAYR8MFc2pVHAEi6emYFcLNyvYUUlHKSex + uCS+tCAlsSQVFA+QGDTVNbJQMLC0MjazMjLTNTBV0lEqyC8ozUksyiypVLIy1FHKyy9JBbkTXyAr + FIEDtlihJCNVISczOzWnUiElsyg1GRSSoLhIh0RNETRq8sFRAw56kI7cxLzStMTkktIiUNQUpyaX + 5Bcp5JelFoHNK86sUMgFBWaxQmJGamIKXFtxCdQ4cPTpKbjlFymklRaVZKQWKWTmpeUX5YJjUqEo + NT2xKAVkNMgysGIFXxQr/UtLcvLzsxWCS4vKUisVilJzQGlDIa0oPxfsBLfUlNSixByFoFRQ+khV + cErMywZ5yyUxJyexWKEsszizxEoho6SkoNgqRj9Gv7y8XC8FLJeWmqKXX5Qeo1+UWpyaWJScEaNf + DLakOEa/JDe/WC+xuKBCuSQxSRcahIDpKdXG1gIApWaLhXEDAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '608' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:26 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=4625AA9A86B20372221E640E8FE293BC~000000000000000000000000000000~YAAQlr8mF3sDTQ6QAQAAnNOyEhiJiY2Z5dPuvkr5NS9IHGnZgmNVuwRNgl0rqla7gipZ0Vb0beYPMKabG3Z2rvnoR1fAB6uVObrSP1YkBZFO+TbRK2OoVCeU93qEJ/urdiGZZmJ3AzdswFHwTQqnKIGrPtgwcy6wD4fHx+y62oTehC+uQ0bh88SpmZBPVHI35kvNNncP3PKv9DtEIq0dtQ3SXEbrOzmZOJCJcr53KLPyadtcjub2oABw2gIbVq2PtAMm8gmwB7Bf59QwVptK726RseMcEG+rCe1PDZWzgizxv2fHX0u5pjEosE4/dTrr5CFYWNlPqHO3OZKxNotv1DEvWFNVLRJXfT2HHfIj/zLPFWhjCS0n8OJmKeSlNMLh; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=FGRONSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3dyD/P2CHX3dgpxcHH2QdZNsdklmSU6qkpWSW2lJaVGqgntRfnlJhkJQYkmqQn6agn9R + SmpRsbVCQGpRcmpeSWJ6qkJQakF+UUlmXrqCX76Cc0ZiXnqqQlp+kUJIakVisZKOUn5ScWpRWWJJ + Zn4ekk8NwD41MERTgOxZU12wdFpRamFpal5ypZKVkm9+XklGTqWSjhJcNL44Ix8cer5KOkqleZkl + xUpWSlDnwUTgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAYR8MFc2pVHAEi6emYFcLNyvYUUlHKSex + uCS+tCAlsSQ1BR5LprpGFgoGllbGZlbGlroGpko6SgX5BaU5iUWZJZVKVgY6Snn5Jakgd+ILZIUi + cMAWK5RkpCrkZGan5lQqpGQWpSaDQhIUF+mQqCmCRk0+OGrAQQ/SkZuYV5qWmFxSWgSKmuLU5JL8 + IoX8stQisHnFmRUKuaDALFZIzEhNTIFrKy6BGgeOPj0Ft/wihbTSopKM1CKFzLy0/KJccEwqFKWm + JxalgIwGWQZWrOCLYqV/aUlOfn62QnBpUVlqpUJRak5qYnGqQlpRfi7YCW6pKalFiTkKQamg9JGq + 4JSYlw3ylktiTk5isUJZZnFmiZVCRklJQbFVjH6Mfnl5uV4KWC4tNUUvvyg9Rr8otTg1sSg5I0a/ + GGxJcYx+SW5+sV5icUGFckliki40CAHTU6qNrQUApEGvf3EDAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '608' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:39 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=B28DD6711F6D7A15419632799EA072BD~000000000000000000000000000000~YAAQlr8mF3wDTQ6QAQAAnNOyEhgEYN9noq08hfA37TSMbaJFZUPrbN6Bj40YWJK39rExlVD9Ci/UJP2CtE5TxGL7Jbylbn1UagcmGW3jtqEUFMbgiuCYikt60kfNEJAoBB/aW1ApkjuB8zpifPOmxdElQ2H3lZSFLwmuqsUwmraKV1TOJv0/NIkgb2kMV18EgkMh9DQ7Lbe3YonAYbtCjxs4Z9VpwPlXDOE1uydjTuL2+qFXtnjKUx4ZBAmG7Ty1j7P7fLBsakocc9yaURAA20tP8WP3gXHJ3D3c5eZq8It9OtXTI9Z4pgTgKOcXF2yq7PISVkyGggMCWVbLHCjgDa5z3sHZ0VvG8s4iPs/acVEMZGAYv4TVNcD8+RcAV4M6; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=6F2FC099CBF45C16A201761E920969E8~000000000000000000000000000000~YAAQlr8mF3YDTQ6QAQAARNOyEhi0PL17nweGohTPIwAVbnYL4t0L8Vcb6n8OTJ2BSpsSkv5ckyUAwbZM7Q6YoSWaUQODMxni1/r3K/6ZGWvIxT5EqzJeGeT2nJGFTr6q7LX2T5OyZRO+2iXv/HUmzuAxO1ryXMQ3TFI/1rWMGrUtMWGc2yK5geZLMmHU84LUJQBQdQlZJLghdmw5ZNcEeoU+uthgIxuGf3eyfal/P2IJx7jQqkH6kbn07D4w9LQFcl3QfHK5kPWptYkkSRbzsHawy9GxBVgoT8JH/VWCqRbmNaWfVTPlzTi5d7GfwZD0As2B1gbn45VTnQ8KOKKUuHoY76Eh/VqwsnvEpk4937jXAz85FnCItbskAnY95xp4; + cookiesession1=678A3E1F1DCD7AB2D2C3607434C30111 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=GROSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3YP8gx193YKcXBx9kPWSbHJJZklOqpKVknNpUVFqXomCe1F+eUmGQlBiSapCfpqCf1FK + alGxtYJLZlpaaXFmfp6CZ15KaoVCWn6RQkhqRWKxko5SflJxalFZYklmfh6SzwzAPjMwRFOA7DlT + XbB0WlFqYWlqXnKlkpWSb35eSUZOpZKOElw0vjgjHxxavko6SqV5mSXFSlZKYFfA+HAVmSC3Keko + FacmFufnJebEJ6ZklRaX5KbmgUI7GCqaU6ngCBZPTcGuFm5esKOSjlJOYnFJfGlBSmJJKijkIXFm + qmtkoWBgaWVsZmVopmtgqqSjVJBfUJqTWJRZUqlkZaijlJdfkgpyKd6AVShKLcgvKilWKMlIVUjO + SMxLT1XIzFNIh0RCETQS8sGRAA5zkLrcxLzStMTkktKizLx0heLU5JL8IoX8stQisCkFRallmfml + xQq5oKCEayougRoGjjU9heDSorLUSoWi1OKC/Lzi1GKFxKJUhdLi1BSFknyF5MSc5NIckIbEPAVw + oILNSU1MzgBxM5MTS/KL9BRcofzUCoXMYoSmFIWkSoXi0qSSosTkEpATQY4uSC1KTs0rSUxPBSUr + iLUpqXklxdAgAKlLVEhJTS5KTSxOVUgrys+FeAehDxJWYIUgV0FU6imEZ6TmgZUWZ4D8kJ+mkJZZ + lItiLkK5QmpFcmpqCiTAcWuAO0QHbDIkCMozc3IUklIV0otSE0vAoZ2Yp1CVWpSvo1Bcmp6eWgz3 + bGZeCiSMFDISixUy8yBOTUGOpMz8IkgM6Sl4poEtIcI1WFyPNVCwuTopNSe/nBjnwuIAl3MdQaEJ + KgNg4QEKAoVyWCzkleYmpRaBIhlfNGQWK6QWlibmgFIbKHng0QWPCz0Ft/wihbTSopKM1CKFzLy0 + /KJccKmjUJSanliUAkoZILPAKVzBFyWX+JeW5OTnZyOSfQ5qMnNLTUktSsxRCEoFlWWpCk6Jedkg + P7gk5uQkFiuUZRZnllgpZJSUFBRbxejH6JeXl+ulgOXSUlP08ovSY/SLUotTE4uSM2L0i8F5qzhG + vyQ3v1gvsbigQrkkMUkXElWAFesp1cbWAgDQqiYODQYAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '889' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:16 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - bm_sv=462427043D64F05A9E916328367E2B9B~YAAQlr8mF4ADTQ6QAQAA29OyEhj43Y48YGLTXVh8rwgDWSWI4IS3PNBaJ7xduTqFegqDMb6FG0j253qmi3SpzfKzrltzgcnaBPKHQXwTleeqcTTun7phviIJXN7kvJzUplcaIhR7zjSEPXBGH5QWXgqP5kkkURzChkVGRHycA8yBNlOKVH+VrYbRXC3td9HPMexuTVER0NjkS8Hj/R7o2rDi6aVrj1s+hSrwWoS0Uj6ufrV0tHMI9hn8oU8k+vcdxOtYfw==~1; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=217D9710A5EFDF5A429C117CF2FA153A~000000000000000000000000000000~YAAQlr8mF3QDTQ6QAQAANtOyEhhUDsGy/DA3rrPCCYYktuE0e5jG1hIr4rl7XGOxOj1KxlQNy/ZfL0PK1a61PYsrOUrohPZPdrWa0yngZ76xrbS/EY1zMh21CW5VdobWevxDE034gxuEZMHKna5R4P/hNXvdrAPJu6zRFyK4JlNpRmFSDyrNiVSccOSc8Z+5kvGjM1ia6L3MA2vPIto4yOmfd+Q50cR87qJr+uwRs7yDzNjFqVAKZMFp2OUhdOwkKkts5i6yejOL1pomyPEKZGASe/X+BZJS/2IBNdpgVdKA1/f7ZOV8rImBppCPEDzB9FaEfTKrcZPS6bTQJPXa3ukWPJO+y8SZAP5NbvGW30+kg2G/0aQr26KrkLuKejTQ; + cookiesession1=678A3E1F1F77B8601822B1C2B48F8694 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=FGROSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3dyD/IMdfd2CnFwcfZA1k2x0SWZJTqqSlZJbaUlpUaqCe1F+eUmGQlBiSapCfpqCf1FK + alGxtYJLZlpaaXFmfp6CZ15KaoVCWn6RQkhqRWKxko5SflJxalFZYklmfh6SzwzAPjMwRFOA7DlT + XbB0WlFqYWlqXnKlkpWSb35eSUZOpZKOElw0vjgjHxxavko6SqV5mSXFSlZKYFfA+HAVmSC3Keko + FacmFufnJebEJ6ZklRaX5KbmgUI7GCqaU6ngCBZPTcGuFm5esKOSjlJOYnFJfGlBSmJJKijkIXFm + qmtkoWBgaWVsZmVkpmtgqqSjVJBfUJqTWJRZUqlkZaijlJdfkgpyKb5wVShKLcgvKilWKMlIVcjJ + zE7NqVRIySxKTQaFJSj40yGxUQSNjXxwbIADH6QjNzGvNC0xuaS0KDMvXaE4Nbkkv0ghvyy1CGxe + cWaFQi4oOIsVEjNSE1Pg2opLoMaBI1BPIbi0qCy1UqEotbggP684tVghsShVobQ4NUWhJF8hOTEn + uTQHpCExTwEcvmBzUhOTM0DczOTEkvwiPQVXKD+1QiGzGKEpRSGpUqG4NKmkKDG5BORIkLMLUouS + U/NKEtNTQV6EWJuSmldSDA0OkLpEhZTU5KLUxOJUhbSi/Fywh5D0QcINrBDkKohKPYXwjNQ8sNLi + DJAf8tMU0jKLclHMRShXSK1ITk1NgQQ+bg1wh+iATYYEQXlmTo5CUqpCelFqYgk4vBPzFKpSi/J1 + FIpL09NTi+GezcxLgYSRQkZisUJmHsSpKYhoKijKzC+CRJSegmca2BIiXIPF9VgDBZurk1Jz8suJ + cS4sDnA51xEUmqDiABYeoCBQKIfFQl5pblJqESiS8UVDZrFCamFpYg4otYGSBx5d8LjQU3DLL1JI + Ky0qyUgtUsjMS8svygUXQApFqemJRSmglAEyC5zCFXxR8ol/aUlOfn42ItnnoCYzt9SU1KLEHIWg + VFCxlqrglJiXDfKDS2JOTmKxQllmcWaJlUJGSUlBsVWMfox+eXm5XgpYLi01RS+/KD1Gvyi1ODWx + KDkjRr8YnLeKY/RLcvOL9RKLCyqUSxKTdCFRBVixnlJtbC0AItf6sRgGAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '899' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:26 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=217D9710A5EFDF5A429C117CF2FA153A~000000000000000000000000000000~YAAQlr8mF4EDTQ6QAQAA29OyEhjDzIeT5G4nAT7GyR9w4/hMNWxXUUUbwbATC6NIziVYTnGi5O2gmZQDdjNkaIdz4Mco6JI2aZzxLIWX5KaYAgIDnGbIPz8lVVWSXx3tDbobfRHwHZ36veJT8lxiZWJktUIiNPH3qeZrhq0+mAiruosVfjpBWIJB6X3lWNIqfbJFsY1ovZ9R/SsTp/eqHYZtZBo/Jm5Ty2IMP6e2p8Tu+zY4FTeE+4XXxXBqjslGozr8385XcIeqJDYKYyU80AhZLagIGnOrR/B3urAYzusyZcRWrx83rlddCfcEZUyEk2X5OPQo/LWcEju/wQxwqMl29BOl8sMl8QRTwa1TAw0BVOL3NA63OlEYmRje9hek0tppNfPE+NggzFg=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=6F2FC099CBF45C16A201761E920969E8~000000000000000000000000000000~YAAQlr8mF3YDTQ6QAQAARNOyEhi0PL17nweGohTPIwAVbnYL4t0L8Vcb6n8OTJ2BSpsSkv5ckyUAwbZM7Q6YoSWaUQODMxni1/r3K/6ZGWvIxT5EqzJeGeT2nJGFTr6q7LX2T5OyZRO+2iXv/HUmzuAxO1ryXMQ3TFI/1rWMGrUtMWGc2yK5geZLMmHU84LUJQBQdQlZJLghdmw5ZNcEeoU+uthgIxuGf3eyfal/P2IJx7jQqkH6kbn07D4w9LQFcl3QfHK5kPWptYkkSRbzsHawy9GxBVgoT8JH/VWCqRbmNaWfVTPlzTi5d7GfwZD0As2B1gbn45VTnQ8KOKKUuHoY76Eh/VqwsnvEpk4937jXAz85FnCItbskAnY95xp4; + cookiesession1=678A3E1F80B2E29FAFD9E3B4E191B007 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=GRONSAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3YP8/YIdfd2CnFwcfZA1k2x0SWZJTqqSlZJzaVFRal6JgntRfnlJhkJQYkmqQn6agn9R + SmpRsbVCQGpRcmpeSWJ6qkJQakF+UUlmXrqCX76Cc0ZiXnqqQlp+kUJIakVisZKOUn5ScWpRWWJJ + Zn4ekk8NwD41MERTgOxZU12wdFpRamFpal5ypZKVkm9+XklGTqWSjhJcNL44Ix8cer5KOkqleZkl + xUpWSlDnwUTgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAYR8MFc2pVHAEi6emYFcLNyvYUUlHKSex + uCS+tCAlsSQ1BR5LprpGFgoGllbGZlaGZroGpko6SgX5BaU5iUWZJZVKVoY6Snn5Jakgd+INZYUi + cMgWK5RkpCokZ4ADNjNPIR0SI0XQGMkHxwg4xEHqchPzStMSk0tKi0AxUpyaXJJfpJBflloENqWg + KLUsM7+0WCEXFJBwTcUlUMPAcaan4JZfpJBWWlSSkVqkkJmXll+UC44+haLU9MSiFJDBIKvAihV8 + USz0Ly3Jyc/PVgguLSpLrVQoSs1JTSxOVUgrys8FO8AtNSW1KDFHISgVlChSFZwS87JB6colMScn + sVihLLM4s8RKIaOkpKDYKkY/Rr+8vFwvBSyXlpqil1+UHqNflFqcmliUnBGjXwy2pDhGvyQ3v1gv + sbigQrkkMUkXGmyA6SnVxtYCAEMKS+dmAwAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '597' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:47 GMT + Expires: + - Thu, 13 Jun 2024 17:43:47 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:16 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=6F2FC099CBF45C16A201761E920969E8~000000000000000000000000000000~YAAQlr8mF4QDTQ6QAQAABdSyEhg1bojNwv+gZd/CNx5x6nqjZtWdmvllGX3UM63INxqcal4qpA8L3p2Km9JhlM/Iyuh1oDEiJz3jEy3HpNq7HFQXrT8bmKuzDM/i7MLhWIz327mYJYuPsEBcMzO09DtB2SBJSfa4y60IgJpgDdnmtrJcM03gQtBTwMUfFi9IE6718C2BpN0BQDOek8/cei7oOlHu7BMvD41/SR2SQRM+dNijLn6ZO7HL3BxgPCLwb2WTF5XnS1CMsCoIGy3ni+tIzQ0omgPFCeZEXam7SWRl8TaYYOJiZ5yx0xmZlq2RuA3TXg1yvTFoSnUUR/+8PqPX/rLL7PBN97WHfzPHDm30tF99NvSkgQNAlxUejXuysL/uM1zAryGJtkY=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=GROISAMFRBDAL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk3YP8PYMdfd2CnFwcfZA1k2x0SWZJTqqSlZJzaVFRal6JgntRfnlJhkJQYkmqQn6agn9R + SmpRsbVCQGpRcmpeSWJ6qkJQakF+UUlmXrqCZ15yUWpicWqxQlp+kUJIakVisZKOUn5ScWpRWWJJ + Zn4ekk8NwD41MERTgOxZU12wdFpRamFpal5ypZKVkm9+XklGTqWSjhJcNL44Ix8cer5KOkqleZkl + xUpWSlDnwUTgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAYR8MFc2pVHAEi6emYFcLNyvYUUlHKSex + uCS+tCAlsSQVFA+QGDTVNbJQMLC0MjazMjTTNTBV0lEqyC8ozUksyiypVLIy1FHKyy9JBbkTbygr + FIFDtlihJCNVITkjMS89VSEzTyEdEiNF0BjJB8cIOMRB6nIT80rTEpNLSotAMVKcmlySX6SQX5Za + BDaloCi1LDO/tFghFxSQcE3FJVDDwHGmp+CWX6SQVlpUkpFapJCZl5ZflAuOPoWi1PTEohSQwSCr + wIoVfFEs9C8tycnPz1YILi0qS61UKErNASUIhbSi/FywA9xSU1KLEnMUglJBiSJVwSkxLxuUrlwS + c3ISixXKMoszS6wUMkpKCoqtYvRj9MvLy/VSwHJpqSl6+UXpMfpFqcWpiUXJGTH6xWBLimP0S3Lz + i/USiwsqlEsSk3ShwQaYnlJtbC0A0QAHI2YDAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '599' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 17:43:48 GMT + Expires: + - Thu, 13 Jun 2024 17:43:48 GMT + Last-Modified: + - Tue, 28 May 2024 14:36:16 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=89E98A7219B45E9CFA26FB50EBC28842~000000000000000000000000000000~YAAQlr8mF5ADTQ6QAQAAy9SyEhhjMRbwdLsmeUQkrgCshiAPms3UAuyRFsDMXPUP8u/GZll4XmfGLJuwI2zBCuWqcFGnpQtLEzgNwFIAkzsWhonBe3IJ1W31/ns+aKZYlu9rhQdpXu6Qz8cYB4ox30GUrq9Sv4YI329wHeaEmw3i9UQCWhJWcRP4KOreQpVXFnYsWy4JgWdfgvtDgOhFr6x6kaPivS5riF500uN4IlRzrpT9rJajnoV90Bep81Vt2Qgp6OqPWXhVyy89y4QEDb4GVRQDTVKkqO7G7da/kyZw3aboVL/C7Mxlp2sqIzMyhC1Vu8j/Mi7L1exF6hDP71/TaUuSKkn4vH1UE5tw+1Ov47odI76oSVrci1chzgLQ; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 19:43:47 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_mortgage_indices_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_mortgage_indices_fetcher.yaml new file mode 100644 index 00000000000..c86b1408abb --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_mortgage_indices_fetcher.yaml @@ -0,0 +1,105 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?aggregation_method=avg&api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-04&observation_start=2024-06-01&series_id=OBMMIJUMBO30YF + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UdJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt8AZHZpXmZJsZKVUk5mHkhxaUlBaUl8SWVBqpKVoY5SWmZOKpSnlFWcD1ZS + lJJaFJ9UqWSFYnRKYkmqko5ScX5RSXw+SImSlVJicbKSjlJyfmleiZKVkY5SflpacWqJkpWBjlJO + Zm5miZKVoQEIoDiyWMkqmpIAATsEEYAGxko6SmWJOaWpSlZK5nqGppZKtTrUNB8UiEjmA2ZmrFQb + WwsAU848LNIBAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '239' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Fri, 14 Jun 2024 05:34:53 GMT + Expires: + - Fri, 14 Jun 2024 05:34:53 GMT + Last-Modified: + - Thu, 13 Jun 2024 12:01:06 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBMMIJUMBO30YF + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z18fT29Qn2d/I0NIt2QdZNsdklmSU6qkpWSsYFuZGpikYJbZkVqikJQYkmqgldpblK+ + gm9+UUl6YnqqgmdeSmqFko5SflJxalFZYklmfh6SVwzNdQ0MdQ1AXkFWgOYbIyUdpbSi1MLS1Lzk + SiUrJZfEzJxKZLH44ox8cOC4KOkoleZllhQrWSkFpBYlp+aVwETgalSVdJSKUxOL8/MSc+ITU7JK + i0tyQeqslPzySxSCoTI5lQqOYLnUFOzq4eb5BTsq6SjlJBaXxJcWpCSWpILCGhFLCgbmVgaGVgZm + ugamSjpKBfkFpTmJRZkllUpWZqY6Snn5Jakg1/oXlGTmJuYoOOWUpiJCzzexKDu1BBSImcmpxQoa + GSUlBcVWMfox+uXl5UZ6+RBNSTmlqXrJ+bkx+vlJubmZMfqaMaVGhkZGChr+oCiHcDQVMosVkhNz + kktzQG5USCvKz1VITC4pTcxRyMlPzk5NUShKLEktVijPLMlQSM7PKy7NTS0qVkhMLsovLlbIL0st + UsjPS9UtycgsSlHIT1NIzMlRyIVFc0lRYl5xYjIoeosV8sDRXJ6ZkqqnAHaBQmZeck5pSmqxQm5p + TklmQU4qQmdBUWZyZl66QmZeCtiPKallqTn5BakpColF+aV5KQolGSDVxSUK0KBTKCjKTylNLilW + SMxLUSguSE3OTMtMVkjKLyrKL08tAovm5CfmKeSATFJILCkpykwqLUkt1ovJi8lzTUzOANmVWoEW + HonFYJsSy1KLQOkW6sHEgoKi/IKiTFDKBgUPOKiKwWQqyGlF+aXpGWCNKBEIdaJCak5memZSZk5m + SSXYXTDPpualZ+alKuTnKSQqpGeWpeYppCRW6oHiPVUhJbUkMTOnWCExKb+0RCE3tSQjPyU/Jz8d + YkJKalpmXiYknBOLUhUSyxIzcxKTclIVMlKLUolPIYDpKdXG1gIAFK52ql8EAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '788' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Fri, 14 Jun 2024 05:34:53 GMT + Expires: + - Fri, 14 Jun 2024 05:34:53 GMT + Last-Modified: + - Thu, 13 Jun 2024 12:01:06 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_overnight_bank_funding_rate_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_overnight_bank_funding_rate_fetcher.yaml new file mode 100644 index 00000000000..242b6ce73b8 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_overnight_bank_funding_rate_fetcher.yaml @@ -0,0 +1,684 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=OBFRVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt/ATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycpERyk/La04tUTJykBH + KSczN7NEycrQAARQHFmsZBVNSYCAHYIIQANjJR2lssSc0lRQyJmb6hko1epQ03wTZPMtDKhuvimy + +eYWVDcflAjg4WMBDh/AYmsBhOg3xZICAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '254' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:15 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=AAB461B1AF2A7904FB64045131A155DF~000000000000000000000000000000~YAAQlJUeuBLxN/WPAQAAXrRgAxhRzNDCys8rutwk12gmxwwCXs24YhilPRfzyrhKTlFsIPkONLzhV/c7521WkWGKCBT/L9cR/BUveeYX+hqZuc8BzRv+xwSlpwNPG15hhmjmVYhdoG5LRQnlk1qOTtRVBiiEHc3iszn0ohx9AkFtbUQUdsA6PUNgC6xSnVNlXYRltXEGhHKDl3KhMnq6nELXLXA6yRuX+CySIvCd3JXxOakZXR4dfvY0LOc2/smS1/jj/uQBr0zpTwyKTmw6BNED2HwaL/zJmYehyo28UMuJNckQLPP0ORhntV+36KKgGWFsd5wUwTesODiKAwqP1KCZp4GsLrpQFTvh5VUwahH9ZSjAwkPWkLqfoQhr+7U1; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=OBFR99 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt/ATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycpERyk/La04tUTJykBH + KSczN7NEycrQAARQHFmsZBVNSYCAHYIIQANjJR2lssSc0lQlKyVTPWMLpVodahpvQlvjTWlrPCgF + IAUOYJZKtbG1AH16TpKOAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '246' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuBXxN/WPAQAAYLRgAxhDw7CCLMCG3ZQVi/WYhq/NuL+dx0wUUYFz3AOQuv2Bf4QcHQaNlhKv4dIDSVo5GqTUuc3k5qi1azrbNhlnVDCLvkoPtKLAvnw4TIyHoC941MqJZgrZ0rNmK8aAuScTeQUPsf0Oh/lkoxeVKmODDsZMyu601YkQyxm0P5/Lt0gOUzFKOAp35wPGyZzX0cqD4UaDIJaJiqTxUh6huFnim+3MCO/sB6TMTxIrHqGHmNIlLZ4csX8/sWXKkxhd+XWNMG4qeQFHKeToiaS0+7A58IdADdW6bK3fAC1Yp12qe+zuEa8vDhbgtEey7zC2nTjZosCkv4z9u2/AhC/gBu7ZGdKa1zn2yQI0RefrfHRL; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=OBFR1 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt/ATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycpERyk/La04tUTJykBH + KSczN7NEycrQAARQHFmsZBVNSYCAHYIIQANjJR2lssSc0lQlKyVTPSNTpVodahpvQlvjTWlrPCgF + oAYOYLG1AGCGr96OAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '243' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:13 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=OBFR + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt/ATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycpERyk/La04tUTJykBH + KSczN7NEycrQAARQHFmsZBVNSYCAHYIIQANjJR2lssSc0lQlKyVTPWMjpVodahpvQlvjTWlrPCgF + oAYOYLG1AItpx4qOAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '243' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:13 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F0CA6C8A55474606044EDFF5F;Expires=Tue, 10 Jun 2025 18:19:47 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=OBFR25 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt/ATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycpERyk/La04tUTJykBH + KSczN7NEycrQAARQHFmsZBVNSYCAHYIIQANjJR2lssSc0lQlKyVTPWNDpVodahpvQlvjTWlrPCgF + oAYOYLG1AFUfRDKOAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '243' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F28617F081F9D927A2400B314;Expires=Tue, 10 Jun 2025 18:19:47 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuBXxN/WPAQAAYLRgAxhDw7CCLMCG3ZQVi/WYhq/NuL+dx0wUUYFz3AOQuv2Bf4QcHQaNlhKv4dIDSVo5GqTUuc3k5qi1azrbNhlnVDCLvkoPtKLAvnw4TIyHoC941MqJZgrZ0rNmK8aAuScTeQUPsf0Oh/lkoxeVKmODDsZMyu601YkQyxm0P5/Lt0gOUzFKOAp35wPGyZzX0cqD4UaDIJaJiqTxUh6huFnim+3MCO/sB6TMTxIrHqGHmNIlLZ4csX8/sWXKkxhd+XWNMG4qeQFHKeToiaS0+7A58IdADdW6bK3fAC1Yp12qe+zuEa8vDhbgtEey7zC2nTjZosCkv4z9u2/AhC/gBu7ZGdKa1zn2yQI0RefrfHRL + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBFR99 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z3cgiwtkXWRbGZJZklOqpKVkn9ZalFeZnpGiYJTYl62gltpXkpmXrpCUGJJqpWCpWVJ + hkJAalFyal5JZk6qko5SflJxalFZYklmfh6SPwzNdA2MdQ0M0RSgesXAXElHKa0otbA0NS+5UslK + ySUxM6cSWSy+OCMfHDIuSjpKpXmZJcVKVkpQ62EicDWqSjpKxamJxfl5iTnxiSlZpcUlual5oHD1 + yy9RCIbK5FQqOILlUlOwq4eb5xfsqKSjlJNYXBJfWpCSWJIKCmhEFCkYWFgZGFoZmugamCrpKBXk + F5TmJBZlllQqWRka6Cjl5ZekglwbkpGqkA8P0iRQkKZBg7QosSRVIbNYITkxJ7k0B2SBQmkxKKzT + UlNSixJzFEAKixVKihLzihOTQSFcrJCYl6KQnFpUkpiZp+BaWpSfkp+Tk1iEokZPAWQnqhm5iUXZ + qSUKyfl5xZnFJcUK+WkKKfm5qcUlmckKpXnFqcmlRakpCkn5RUX55Zl56cUKmXkKoXrBegoQ84sV + kioVUlIL8oszS/KLKhUy84pLMktKIU5KK8rPVcgvyUgtwqkE2dUQlaD0U5KZWqyjUFCUmZtYlJlT + qZAODidQnOkWF+TnFeeD3JSaV5JaVFCUWQxSW56RmZOqUJKRiux3LH4rhXsJyRMw1xUrZKTmpCgk + liiAYqNYIb8IzFBIKkrMS85ILVbILy0pzkxJBQUSyKrQvMyS1BSF4JLEktRiPXCw6CYlFoPCKzEv + GxR9eQqJOcX5CiWJ2SgOgwZYMTyoE3NyKhVKMoryS9MzFDJBHstLBIVhYg7YBeCoT0zOzMkEhYyC + hqeTW7EmJDbBIQPOlCA3gxMGSDU4BWmAMr8mWkJKLFZIVCjLzynNTdUtTwXpTE1RyE1NyUzMA/kL + YR5qOsFIazjSmEJRakF+EShYMvPA8eEWpGBkYmSgEAQWB1kRnJqTmgxS4Zufl1qp4AtJgaBipFhP + wS2/SCE3vyhVITMvLb8oFxwKOgrFqakKGSUlBcVWMfox+uXl5Xp5qeWV+UXZaakpevlF6TH6kLgu + jtHPT0orAukFTKk2thYATHKpf0oFAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '878' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuC/xN/WPAQAA5rRgAxjOtnszbWwtck9+pTsnGMNjInRc5xsWd2QHmwEszVMcbMMcDCGUFwI15fZW6uBRLDndA3VIU3fNqOIDASslyHK++LDsRTU4xT5Rb45uj/pDdjGji3GlDWspaOLSxMBSSqhR6Ge81gi4t6L6p4cgpPGXbdXMEzDqKlz/LRbeNPkleuOW7VyBKDgUnjaap14MzB/cEFvKaDeXhpVe2F3p+ClhIqJrrAfLY7VFRNVmqlonLay0Ku2iZiqg6w5AKLTRYZzBdIeXTSa+vt94OgKHzP+uUYeO+VIYluiwo2FbYYTJdeVakLPD2yPY74sLoepExOnxUBF1CSecMLNwbowaCCbQGhNAJxn+66wRPzpbHWl1ccaW0Kuo7Go=; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=AAB461B1AF2A7904FB64045131A155DF~000000000000000000000000000000~YAAQlJUeuBLxN/WPAQAAXrRgAxhRzNDCys8rutwk12gmxwwCXs24YhilPRfzyrhKTlFsIPkONLzhV/c7521WkWGKCBT/L9cR/BUveeYX+hqZuc8BzRv+xwSlpwNPG15hhmjmVYhdoG5LRQnlk1qOTtRVBiiEHc3iszn0ohx9AkFtbUQUdsA6PUNgC6xSnVNlXYRltXEGhHKDl3KhMnq6nELXLXA6yRuX+CySIvCd3JXxOakZXR4dfvY0LOc2/smS1/jj/uQBr0zpTwyKTmw6BNED2HwaL/zJmYehyo28UMuJNckQLPP0ORhntV+36KKgGWFsd5wUwTesODiKAwqP1KCZp4GsLrpQFTvh5VUwahH9ZSjAwkPWkLqfoQhr+7U1 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBFRVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z3cgsL8fZC1kWxoSWZJTqqSlZJ/WWpRXmZ6RomCU2JetoJbaV5KZl66Qlh+TmluqpKO + Un5ScWpRWWJJZn4ekssNzXQNjHUNDNEUoDrewFxJRymtKLWwNDUvuVLJSsklMTOnElksvjgjHxwW + Lko6SqV5mSXFSlZKTpk5OZn5ecUK+WkKoXrBegou+Tk5iUXFMCVwTU6ZOXpwRSpKOkrFqYnF+XmJ + OfGJKVmlxSW5qXmgcPbLL1EIhsrkVCo4guVSU7CrhxvuF+yopKOUk1hcEl9akJJYkgoKeESUKRhY + WBkYWhma6hqYKukoFeQXlOYkFmWWVCpZGZvoKOXll6SC/BKSkaqQDw/hJFAIp0FDOLNYITkxJ7k0 + B2S2QmkxKNTTUlNSixJzFEBqihVKihLzihOTQUFfrJCYl6KQnFpUkpiZp+BaWpSfAg4UFDV6CiDr + UM3ITSzKTi1RSM7PK84sLgGHaUp+bmpxSWayQmlecWpyaVFqikJSflFRfnlmXnqxQmYeJNAh5hcr + JFUqpKQW5BdnluQXVSpk5hWXZJaUQpyUVpSfq5BfkpFahFMJsqshKlPzSjJLMlOLdRQKijJzE4sy + cyoV0sFBBIou3eKC/LzifJCbUvNKUosKijKLQWrLMzJzUhVKMlKR/Y7FbwgvgVMOxBMw1xUrZKTm + pCgkliiAIqJYIb8IzFBIKkrMS85ILVbILy0pzkxJBaUpkFWheZklqSkKwSWJJanFeuBg0U1KLAaF + V2JeNij68hQSc4rzFUoSs1EcBg2wYgVYUCfm5FQqlGQU5ZemZyhkgjyWlwgKw8QcsAvAUZ+YnJkD + DhkFDU8nt2JNSGyCQwacPUFuBicMkOqixJJUBQ1QOaCpgJqQEosVEhXKwLlXtzwVpDM1RSE3NSUz + MQ/kL4R5qOkEI63hSGMKRakF+UWgYMnMA8eHW5CCkYmRgUIQWBxkRXBqTmoySIVvfl5qpYIvJAUG + QQLRLb9IITe/KFUhMy8tvygXHAo6CsWpqQoZJSUFxVYx+jH65eXlenmp5ZX5RdlpqSl6+UXpMfqQ + uC6O0c9PSisC6QVMqTa2FgCeyedZVQUAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '880' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:15 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=AAB461B1AF2A7904FB64045131A155DF~000000000000000000000000000000~YAAQlJUeuDDxN/WPAQAA6LRgAxhgSduyVrWI2nOZlmt3OV+2M24EYtm8IQ1WoylYFTK1pjQPTZbQcSCB2lCbabsXt1uFcm2qMoRX1gscvXJ71RR109YfXJCucD3ejnCJ0hvCkrAcnFD//B4IdXAnAWNy5sdmMP2CYC/7Sx58WfuEC3pzmIV1B3+9Iri75FvqWpPIXRcJrdPZBNp8OU/3yUL2vFXGOEKvm0oImXq5bviReHEnyDb1li2QVL9Jzhq8XWvDpnnFS2+ylGja/FBZ0ZxdjEmLAKAiB+qUuUsRxtHjzUsCm+0YCsTDFkdsXXtvuxGJmOg3TxVQYRf04LTBMuri1yeUPx+Zcea9Ns1H/MzQAsj9lMHRxFHbHMz5fCRFjCgzpQtQQ/43xsU=; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=OBFR75 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDL5ScVpxaVJZZk + 5udhaDYwVNJRQlaAqt/ATElHqTQvs6RYyUopJzMPpLi0pKC0JL6ksiBVycpQRyktMycVylPKKs4H + KylKSS2KT6pUskIxOiWxJFVJR6k4v6gkPh+kRMlKKbE4WUlHKTm/NK9EycpERyk/La04tUTJykBH + KSczN7NEycrQAARQHFmsZBVNSYCAHYIIQANjJR2lssSc0lQlKyVTPWNjpVodahpvQlvjTWlrPCgF + oAYOYLG1AMG7ueKOAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '243' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:14 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuBXxN/WPAQAAYLRgAxhDw7CCLMCG3ZQVi/WYhq/NuL+dx0wUUYFz3AOQuv2Bf4QcHQaNlhKv4dIDSVo5GqTUuc3k5qi1azrbNhlnVDCLvkoPtKLAvnw4TIyHoC941MqJZgrZ0rNmK8aAuScTeQUPsf0Oh/lkoxeVKmODDsZMyu601YkQyxm0P5/Lt0gOUzFKOAp35wPGyZzX0cqD4UaDIJaJiqTxUh6huFnim+3MCO/sB6TMTxIrHqGHmNIlLZ4csX8/sWXKkxhd+XWNMG4qeQFHKeToiaS0+7A58IdADdW6bK3fAC1Yp12qe+zuEa8vDhbgtEey7zC2nTjZosCkv4z9u2/AhC/gBu7ZGdKa1zn2yQI0RefrfHRL + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBFR1 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z3cggyRNZFsZElmSU6qkpWSf1lqUV5mekaJglNiXraCW2leSmZeukJQYkmqlYJhcYlC + QGpRcmpeSWZOqpKOUn5ScWpRWWJJZn4eki8MzXQNjHUNQA5CVoDqEQNzJR2ltKLUwtLUvORKJSsl + l8TMnEpksfjijHxwuLgo6SiV5mWWFCtZKUGth4nA1agq6SgVpyYW5+cl5sQnpmSVFpfkpuaBQtUv + v0QhGCqTU6ngCJZLTcGuHm6eX7Cjko5STmJxSXxpQUpiSSoomBERpGBgYWVgaGVorGtgqqSjVJBf + UJqTWJRZUqlkZWSoo5SXX5IKcm1IRqpCPjxEk0AhmgYN0aLEklSFzGKF5MSc5NIckAUKpcWgoE5L + TUktSsxRACksVigpSswrTkwGhXCxQmJeikJyalFJYmaegmtpUX5Kfk5OYhGKGj0FkJ2oZuQmFmWn + ligk5+cVZxaXFCvkpymk5OemFpdkJiuU5hWnJpcWpaYoJOUXFeWXZ+alFytk5imE6gXrKUDML1ZI + qlRISS3IL84syS+qVMjMKy7JLCmFOCmtKD9XIb8kI7UIpxJkV0NUgtJPSWZqsY5CQVFmbmJRZk6l + Qjo4nEBxpltckJ9XnA9yU2peSWpRQVFmMUhteUZmTqpCSUYqst+x+K0U7iUkT8BcV6yQkZqTopBY + ogCKjWKF/CIwQyGpKDEvOSO1WCG/tKQ4MyUVFEggq0LzMktSUxSCSxJLUov1wMGim5RYDAqvxLxs + UPTlKSTmFOcrlCRmozgMGmDF8KBOzMmpVCjJKMovTc9QyAR5LC8RFIaJOWAXgKM+MTkzJxMUMgoa + nk5uxZqQ2ASHDDhPgtwMThgg1eAUpAHK+ppoCSmxWCFRoSw/pzQ3Vbc8FaQzNUUhNzUlMzEP5C+E + eajpBCOt4UhjCkWpBflFoGDJzAPHh1uQgpGJkYFCEFgcZEVwak5qMkiFb35eaqWCLyQFgkqRYj0F + t/wihdz8olSFzLy0/KJccCjoKBSnpipklJQUFFvF6Mfol5eX6+WlllfmF2Wnpabo5Relx+hD4ro4 + Rj8/Ka0IpBcwpdrYWgBw9UPdSAUAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '877' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:13 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuDTxN/WPAQAAE7VgAxjh6dMptSkflG37KK/TGq2gr00nJFwNPLoaYxVSKGxVwnXO5v8WO7rjpBKJxGFfg82y4Z7RIOvFdnDVR0oj8ZgWZzE/m+tTGotj+uyNDqtcWxoBxoq+1E1fW7hl56xQ5vijeoc3P9MQDW87qFXyiTp8mEChJtM+eBzyrnulkn3NNSqbRnG+W+TBQ6y+2XeWkG0DA5rSz6a+dmCUHwT27cGt3PtCaS15mKjcUa/2FN7OubrzO0od4HM5amM/jwkr2djwT1fB79WGv6fHd9hPL29ztw+75XObTV4y2kWuuE70Ce16aD5cAuClSDbEcRfhKLLh4YEekdZEe3CF3Z1dudiLPIrNC/bMWaREiF8MzQ6K+BvDXm9ZBtk=; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuBXxN/WPAQAAYLRgAxhDw7CCLMCG3ZQVi/WYhq/NuL+dx0wUUYFz3AOQuv2Bf4QcHQaNlhKv4dIDSVo5GqTUuc3k5qi1azrbNhlnVDCLvkoPtKLAvnw4TIyHoC941MqJZgrZ0rNmK8aAuScTeQUPsf0Oh/lkoxeVKmODDsZMyu601YkQyxm0P5/Lt0gOUzFKOAp35wPGyZzX0cqD4UaDIJaJiqTxUh6huFnim+3MCO/sB6TMTxIrHqGHmNIlLZ4csX8/sWXKkxhd+XWNMG4qeQFHKeToiaS0+7A58IdADdW6bK3fAC1Yp12qe+zuEa8vDhbgtEey7zC2nTjZosCkv4z9u2/AhC/gBu7ZGdKa1zn2yQI0RefrfHRL; + cookiesession1=678A3E1F0CA6C8A55474606044EDFF5F + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBFR + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z3cgpD1kGxiSWZJTqqSlZJ/WWpRXmZ6RomCU2JetoJbaV5KZl66QlBiSaqSjlJ+UnFq + UVliSWZ+HpKjDc10DYx1DQzRFKC628BcSUcprSi1sDQ1L7lSyUrJJTEzpxJZLL44Ix8cDC5KOkql + eZklxUpWSgGpRcmpeSUwEbgaVSUdpeLUxOL8vMSc+MSUrNLiklyQOislv/wShWCoTE6lgiNYLjUF + u3q4eX7Bjko6SjmJxSXxpQUpiSWpoFBFxIeCgYWVgaGVobGugamSjlJBfkFpTmJRZkmlkpWZgY5S + Xn5JKsi1IRmpCvnwEEwChWAaNASLEktSFTKLFZITc5JLc0AWKJQWg4I2LTUltSgxRwGksFihpCgx + rzgxGRTCxQqJeSkKyalFJYmZeQqupUX5Kfk5OYlFKGr0FEB2opqRm1iUnVqikJyfV5xZXFKskJ+m + kJKfm1pckpmsUJpXnJpcWpSaopCUX1SUX56Zl16skJmnEKoXrKcAMb9YIalSISW1IL84syS/qFIh + M6+4JLOkFOKktKL8XIX8kozUIpxKkF0NUZmaV5JZkplarKNQUJSZm1iUmVOpkA4OJ1Cc6RYX5OcV + 54PclJpXklpUUJRZDFJbnpGZk6pQkpGK7HcsfiuFewnJEzDXFStkpOakKCSWKIBio1ghvwjMUEgq + SsxLzkgtVsgvLSnOTEkFBRLIqtC8zJLUFIXgksSS1GI9cLDoJiUWg8IrMS8bFH15Cok5xfkKJYnZ + KA6DBlgxPKgTc3IqFUoyivJL0zMUMkEey0sEhWFiDtgF4KhPTM7MAYeMgoank1uxJiQ2wSEDzoMg + N4MTBkg1OAVpgHK6JlpCSixWSFQoy88pzU3VLU8F6UxNUchNTclMzAP5C2EeajrBSGs40phCUWpB + fhEoWDLzwPHhFqRgZGJkoBAEFgdZEZyak5oMUuGbn5daqeALSYGgUqNYLyYvDLvTMovBpoH9lVhc + nJ+cCc4W5ZklGShpHBR7oLgxNSjJUCiAFAigpJGfhqwMGgB6CsEFqcmZaZnJoAjQAduAI2jAFqNm + yaRKhfyilNQiUHiDrEQJInDaz8kvTy0uUSjJV8jITM8AMUHG6CiUJGbDNCWX5oJyeGZZqkJxaS4o + eCAOAOfEkozU4lRkdxfrgPN5Zgool6RVwgwBmaqAESoZYK0pqcV4wgSSi+HBASofCkqTcjKLM1JT + FEDGFiskFkEyFsRdGGkG5muoeh2FovzSvJTUFJCvQaGSl5pYBPJ5UmJxZrFCQX5mXoleTJ5bfpFC + bn5RqkJmXlp+UW4iKLHrKBSnpipklJQUFFvF6Mfol5eX6+WlllfmF2Wnpabo5Relx+hDsnRxjH5+ + UloRSC9gSrWxtQDdJyygHgcAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1102' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:13 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuEPxN/WPAQAASrVgAxgrJbYAK3JO+4sNISl1Z0G8LktiOYFjcR6LRLJA6Lub+KFkOhAKK/ETa9AL6CGyKI1X4MYTYZxZOETwmzDH6zMt3o3PSYPPD+NpG7OMws5UVAuTl+X6RMcgkUn2cOCShcgop6eKAYdb+mAkQ4UERaoHkek2xXRUpBxxZGjOn7/89I8lw6CCdAQHOxhWyCvUc9wR+CK/D++Ju2gw0oMSE/gUshKQQRBMILq8NBMslujhaq+iOrkDBWnC5rp7ZMw9ekiQL4tX1KZP26fObnQMny+R5Q/2/OzIjw/Il7SMo0WJ7GcMsn1HzGflAWMF3clrcPFlXWKCdJwS7z5ize6wt67aBEUzdGqcZ06Gdxqk70D2A8JtIyWrd8w=; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuBXxN/WPAQAAYLRgAxhDw7CCLMCG3ZQVi/WYhq/NuL+dx0wUUYFz3AOQuv2Bf4QcHQaNlhKv4dIDSVo5GqTUuc3k5qi1azrbNhlnVDCLvkoPtKLAvnw4TIyHoC941MqJZgrZ0rNmK8aAuScTeQUPsf0Oh/lkoxeVKmODDsZMyu601YkQyxm0P5/Lt0gOUzFKOAp35wPGyZzX0cqD4UaDIJaJiqTxUh6huFnim+3MCO/sB6TMTxIrHqGHmNIlLZ4csX8/sWXKkxhd+XWNMG4qeQFHKeToiaS0+7A58IdADdW6bK3fAC1Yp12qe+zuEa8vDhbgtEey7zC2nTjZosCkv4z9u2/AhC/gBu7ZGdKa1zn2yQI0RefrfHRL; + cookiesession1=678A3E1F28617F081F9D927A2400B314 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBFR25 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z3cgoxMkXWRbGZJZklOqpKVkn9ZalFeZnpGiYJTYl62gltpXkpmXrpCUGJJqpWCkWlJ + hkJAalFyal5JZk6qko5SflJxalFZYklmfh6SPwzNdA2MdQ0M0RSgesXAXElHKa0otbA0NS+5UslK + ySUxM6cSWSy+OCMfHDIuSjpKpXmZJcVKVkpQ62EicDWqSjpKxamJxfl5iTnxiSlZpcUlual5oHD1 + yy9RCIbK5FQqOILlUlOwq4eb5xfsqKSjlJNYXBJfWpCSWJIKCmhEFCkYWFgZGFoZmugagAK+IL+g + NCexKLOkUsnKQkcpL78kFeTYkIxUhXx4iCaBQjQNGqJFiSWpCpnFCsmJOcmlOSDzFUqLQUGdlpqS + WpSYowBSWKxQUpSYV5yYDArgYoXEvBSF5NSiksTMPAXX0qL8lPycnMQiFDV6CiA7Uc3ITSzKTi1R + SM7PK84sLilWyE9TSMnPTS0uyUxWKM0rTk0uLUpNUUjKLyrKL8/MSy9WyMxTCNUL1lOAmF+skFSp + kJJakF+cWZJfVKmQmVdckllSCnFSWlF+rkJ+SUZqEU4lyK6GqAQln5LM1GIdhYKizNzEosycSoV0 + cDiBoky3uCA/rzgf5KbUvJLUooKizGKQ2vKMzJxUhZKMVGS/Y/FbKdxLSJ6Aua5YISM1J0UhsUQB + FBvFCvlFYIZCUlFiXnJGarFCfmlJcWZKKiiQQFaF5mWWpKYoBJcklqQW64GDRTcpsRgUXol52aDo + y1NIzCnOVyhJzEZxGDTAiuFBnZiTU6lQklGUX5qeoZAJ8lheIigME3PALgBHfWJyZk4mKGQUNDyd + 3Io1IbEJDhlwngS5GZwwQKrBKUgDlPc10RJSYrFCokJZfk5pbqpueSpIZ2qKQm5qSmZiHshfCPNQ + 0wlGWsORxhSKUgvyi0DBkpkHjg+3IAUjEyMDhSCwOMiK4NSc1GSQCt/8vNRKBV9ICgSVIsV6Cm75 + RQq5+UWpCpl5aflFueBQ0FEoTk1VyCgpKSi2itGP0S8vL9fLSy2vzC/KTktN0csvSo/Rh8R1cYx+ + flJaEUgvYEq1sbUALuz0ZUkFAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '875' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:47 GMT + Expires: + - Mon, 10 Jun 2024 18:19:47 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E9163914DA8EF717A905B89E7988EFA1~000000000000000000000000000000~YAAQlJUeuEnxN/WPAQAAZbVgAxiY3sLkbh8bRJM++9EYNJW/5I7pXpsdBoH6kV5Mh/fhdTFPLZV5H4mrWsR+wdFaWQlaqMgu+f7ik6MvHUSjZDMCXE1Ux1BkSHbVU1dvAvA1RvMsk6QlSvfnR+sgoQ+33S+s+MpjFfIbUlpNUiAczNPoChOcJtqtlATno+wHh4EhGE//f9B7P7NBieArVPGwj1H7M4FdiZBpiTl2WOOq8gaFDQgOrtAPsC+hs9XuTWgxxjEvgfdNUoGh7gAR8m4ADxmqrvAtAhsycoFkXT/Py55JDiPDTmbL44EvftG66D5MW+n8fsdi47qMPayxyCW76fZdB1Yu2AL6m/MvnF8nUqUX5JW2c0QPEBgxhjz4OuqFB5mKwphTpzuxZwqn4A==; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200 + - bm_sv=63F21E791AEBECCCD85CA154B53AADFF~YAAQlJUeuErxN/WPAQAAZbVgAxgqeZNXkb5VIHsfmPAAf5i1EoxAeB3rLnl+ErMa5kZZs5uM1bX+yH5OCF3Afdo+heuZ+LPqT1djCpdtuAim927tP0v5A8zdxIZfXiHwqdvK6V/KPUiQwU0ucYkVw/kYvWL49NWHz/rbnYSJSk2xlUBLi+uhcCTwfMQxH8R9eYInwYgOFYuBLBYj7nYd9MUx8RLV/ee/QeNx+kRQ/3InzRg4jjiHomGwVPkrnSZ5cQoPNw==~1; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=AAB461B1AF2A7904FB64045131A155DF~000000000000000000000000000000~YAAQlJUeuDDxN/WPAQAA6LRgAxhgSduyVrWI2nOZlmt3OV+2M24EYtm8IQ1WoylYFTK1pjQPTZbQcSCB2lCbabsXt1uFcm2qMoRX1gscvXJ71RR109YfXJCucD3ejnCJ0hvCkrAcnFD//B4IdXAnAWNy5sdmMP2CYC/7Sx58WfuEC3pzmIV1B3+9Iri75FvqWpPIXRcJrdPZBNp8OU/3yUL2vFXGOEKvm0oImXq5bviReHEnyDb1li2QVL9Jzhq8XWvDpnnFS2+ylGja/FBZ0ZxdjEmLAKAiB+qUuUsRxtHjzUsCm+0YCsTDFkdsXXtvuxGJmOg3TxVQYRf04LTBMuri1yeUPx+Zcea9Ns1H/MzQAsj9lMHRxFHbHMz5fCRFjCgzpQtQQ/43xsU=; + cookiesession1=678A3E1F28617F081F9D927A2400B314 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=OBFR75 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJk/Z3cgsxNkXWRbGZJZklOqpKVkn9ZalFeZnpGiYJTYl62gltpXkpmXrpCUGJJqpWCuWlJ + hkJAalFyal5JZk6qko5SflJxalFZYklmfh6SPwzNdA2MdQ0M0RSgesXAXElHKa0otbA0NS+5UslK + ySUxM6cSWSy+OCMfHDIuSjpKpXmZJcVKVkpQ62EicDWqSjpKxamJxfl5iTnxiSlZpcUlual5oHD1 + yy9RCIbK5FQqOILlUlOwq4eb5xfsqKSjlJNYXBJfWpCSWJIKCmhEFCkYWFgZGFoZmugagAK+IL+g + NCexKLOkUsnKQkcpL78kFeTYkIxUhXx4iCaBQjQNGqJFiSWpCpnFCsmJOcmlOSDzFUqLQUGdlpqS + WpSYowBSWKxQUpSYV5yYDArgYoXEvBSF5NSiksTMPAXX0qL8lPycnMQiFDV6CiA7Uc3ITSzKTi1R + SM7PK84sLilWyE9TSMnPTS0uyUxWKM0rTk0uLUpNUUjKLyrKL8/MSy9WyMxTCNUL1lOAmF+skFSp + kJJakF+cWZJfVKmQmVdckllSCnFSWlF+rkJ+SUZqEU4lyK6GqAQln5LM1GIdhYKizNzEosycSoV0 + cDiBoky3uCA/rzgf5KbUvJLUooKizGKQ2vKMzJxUhZKMVGS/Y/FbKdxLSJ6Aua5YISM1J0UhsUQB + FBvFCvlFYIZCUlFiXnJGarFCfmlJcWZKKiiQQFaF5mWWpKYoBJcklqQW64GDRTcpsRgUXol52aDo + y1NIzCnOVyhJzEZxGDTAiuFBnZiTU6lQklGUX5qeoZAJ8lheIigME3PALgBHfWJyZk4mKGQUNDyd + 3Io1IbEJDhlwngS5GZwwQKrBKUgDlPc10RJSYrFCokJZfk5pbqpueSpIZ2qKQm5qSmZiHshfCPNQ + 0wlGWsORxhSKUgvyi0DBkpkHjg+3IAUjEyMDhSCwOMiK4NSc1GSQCt/8vNRKBV9ICgSVIsV6Cm75 + RQq5+UWpCpl5aflFueBQ0FEoTk1VyCgpKSi2itGP0S8vL9fLSy2vzC/KTktN0csvSo/Rh8R1cYx+ + flJaEUgvYEq1sbUAKfZB0UkFAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '875' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 10 Jun 2024 18:19:48 GMT + Expires: + - Mon, 10 Jun 2024 18:19:48 GMT + Last-Modified: + - Mon, 10 Jun 2024 13:01:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=AAB461B1AF2A7904FB64045131A155DF~000000000000000000000000000000~YAAQlJUeuGnxN/WPAQAAD7ZgAxhbU3GyRPyEidOPJVcdXTub9wRVSDQRz4K4LoqQdhU5qkU1gyINziNgBpp+3TT7VdDq4Ce74wsfsCGgc5R2Ya77EDVJEOOS9lYwMDyhtIPrgv9ZqMYRYL+C2K+60PQThCLGyP3p1jo9m+gA13z4dSzOMToeClQsjr2Y2JPsezEUinlAZJDitkV8z2RUhM9gUYDrO+9uenV3vHG1yQY3+87m4uypkb7cGcvZlXSkNX1yFGKpmP3HHG9quHQQy6AKrkbV3ZvapeqW6a9G+omoRxWf6kYUr1yMStqTmiq3FufnnRmbo5MfNodYavLaryJlWENL0tGOJE4nnQ7u5frZ1UIaWyWEJj/oaSfm5+Z9N1QqrNXWSQO3T+m88oZtaFcV4+Ma; + Domain=.stlouisfed.org; Path=/; Expires=Mon, 10 Jun 2024 20:19:47 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_senior_loan_officer_survey_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_senior_loan_officer_survey_fetcher.yaml new file mode 100644 index 00000000000..275b6d5e955 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_senior_loan_officer_survey_fetcher.yaml @@ -0,0 +1,208 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?aggregation_method=eop&api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2022-06-01&series_id=DEMAUTO + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UtJByKbmpaDL5ScVpxaVJZZk + 5uchazYCaTYwVNJRQlaArN9U1xgkXZqXWVKsZKWUk5kHUlxaUlBaEl9SWZCqZGWoo5SWmZMK5Sll + FeeDlRSlpBbFJ1UqWaEYnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGWpo5SfllacWqJk + ZaCjlJOZm1miZGVoAAIojixWsoqmJEDADgEHoJGugYkuOAzKEnNKU5WslAyN9UyVanWoZrw5qvG6 + hqZ65lQ039AAzXwjCz0DqplvrGtgiGa+saWeETXNRwt+XSMzKoa/sa4BevgbGeoZU9H9mOFvomdC + NfNBgYMW/oZmVEw/JhjJHxT+gBko1cbWAgC/CJKFcQQAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '319' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:12 GMT + Expires: + - Wed, 12 Jun 2024 23:06:12 GMT + Last-Modified: + - Mon, 06 May 2024 18:18:07 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?aggregation_method=eop&api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2022-06-01&series_id=STDSAUTO + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UtJByKbmpaDL5ScVpxaVJZZk + 5uchazYCaTYwVNJRQlaArN9U1xgkXZqXWVKsZKWUk5kHUlxaUlBaEl9SWZCqZGWoo5SWmZMK5Sll + FeeDlRSlpBbFJ1UqWaEYnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGWpo5SfllacWqJk + ZaCjlJOZm1miZGVoAAIojixWsoqmJEDADgEHoJGugYkuOAzKEnNKU5WslHRN9SyUanWoZrw5qvGG + epZUNN3QANV0Iz0DqplurGtgiGq6obmeMTWNRwt5I3M9U2oajx7yJnpmVDQePegNqWk8KGRQw96M + ikFvgpHoLUFpHrDYWgDvyG9HZQQAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '307' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:12 GMT + Expires: + - Wed, 12 Jun 2024 23:06:12 GMT + Last-Modified: + - Mon, 06 May 2024 18:18:05 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=DEMAUTO + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkXVx9HUND/JG1kWxoSWZJTqqSlZJfaolCQGpRcmpeSWJ6qkJ+moJLfm5qcUlmsoJTYl52 + sUJQakF+UUlmXrpCcElRfl56apGCS2puYl6KQlp+kYJjaUm+gk9+Yl6xko5SflJxalFZYklmfh6S + Lw0NdQ1MdA1AvkRWgOxRqHRaUWphaWpecqWSlVJgaWJRSWpRTqWSjhJcPL44Ix8cdoFKOkqleZkl + xUpWSlDXw0TgalSVdJSKUxOL8/MSc+ITU7JKi0tyU/NAIe+XX6IQDJXJqVRwBMulpmBXDzfPL9hR + SUcpJ7G4JL60ICWxJBUUFZBINNU1MFMwNLYytLAyMNc1MFXSUSrILyjNSSzKLKlUsjKy1FHKyy9J + BbnWLb9IIa20qCQjtUghMy8tvygXHF46CgU5qYnFqQpFqWmpRQol+QolGakKTvmJRSmgOHHPL0st + yssvKgZxQDJuqSmpRYk5CkGpoCBPVQiuLC5JzVUvVghOzcvMLwJHiYJ/WlpmcmqRgn9BZl5mfp5C + cGlRWWqlQn4eOGoVfFLzUkDxGlCUmFySmZxarFCUCnaEjkJ+Xk5mXqpCYolCRklJgVWMfox+eXm5 + XhrE1iKIpXrp+WUx+kkgN6bkJxfH6AfngVICxBbAYvT1lGpjawH29KzF+AIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '559' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:12 GMT + Expires: + - Wed, 12 Jun 2024 23:06:12 GMT + Last-Modified: + - Mon, 06 May 2024 18:18:07 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=D87BE1B3D1453941416320973C7984B1~000000000000000000000000000000~YAAQZWIsF/UkI/iPAQAA0aSzDhgpuoyIMiq3+rAMwizqNGvioBHI13zGenIo2BM7w3EjNk+TMwB3Ih5jAWFm/J9ECcmWORbXBL78+a4zUUhqlsKkLlrjQnnNkobBnFj9dEnp2z8UVyTBf+DhoBkq0lsNsjfdD9xhePwBHZDZp68Ufi0TLqAzIH4Br8M18GLz/mJV7PHomw2DId1jIbxyQZd7BmENGStJgJLKj2ee7q2RVYgVzkObeYfDPPgCRmz52sSRw0388cdLjB1+gb/fznFrjbzcpsUYVp2xoO5vtoZ5kqbO6mHZeAl4uybVRyyBevYfnwwAOre7a5MpBpKJlSMSjqvm05XcyYtni6rBu072Gx+/v5WXMbP2scPR6z5f; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 01:06:12 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=STDSAUTO + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkg0Ncgh1DQ/yR9ZFsaklmSU6qkpWSX2qJQkBqUXJqXklieqpCfpqCS35uanFJZrKCU2Je + drFCSGZ6RklqXmZeukJwSWJeSmJRSrFCWn6RgmNpSb6CT35iXrGSjlJ+UnFqUVliSWZ+HpIPDQ11 + DUx0DQzRFCB7EiqdVpRaWJqal1ypZKUUWJpYVJJalFOppKMEF48vzsgHh1ugko5SaV5mSbGSlRLU + 4TARuBpVJR2l4tTE4vy8xJz4xJSs0uKS3NQ8UKj75ZcoBENlcioVHMFyqSnY1cPN8wt2VNJRykks + LokvLUhJLEkFRQMkAk11DcwUDI2tDC2sDEx1DUyVdJQK8gtKcxKLMksqlaxMTHWU8vJLUkGudcsv + UkgrLSrJSC1SyMxLyy/KBYeXjkJBTmpicapCUWpaapFCSb5CSUaqglN+YlEKKDrc88tSi/Lyi4pB + HJCMW2pKalFijkJQKijIUxWCK4tLUnPVixWCU/My84vAUaLgn5aWmZxapOBfkJmXmZ+nEFxaVJZa + qZCfB45VBZ/UvBRQjAYUJSaXZCanFisUpYIdoaOQn5eTmZeqkFiikFFSUmAVox+jX15erpcGsbUI + Yqleen5ZjH4SyI0p+cnFMfrBeaCUALEFsBh9PaXa2FoA5w29w/QCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '554' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:12 GMT + Expires: + - Wed, 12 Jun 2024 23:06:12 GMT + Last-Modified: + - Mon, 06 May 2024 18:18:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=B299B41D1BF163310E7738B3205E7CE0~000000000000000000000000000000~YAAQZWIsF/gkI/iPAQAA2aSzDhh+3kdT8TF9TZ21GBiZ3njBEJyjICs5ZKhD43qWZ+BB+MbYcimiYWQ7828kyCiC4MTicdBXh2k9nyahjL66mTJoKG1vI0JHRbAGNmwFA914arv4+cjY644Kw10cytcnaCU8+79HNCuYQdOrpTtl0RCXeaq98kag8y5Iv12sxdGAoffu6oIpGPpYMuiVlZxr8pKOxFJXWb1qcaqzyne1bfn7uXdquX9GaECWb7T7QNrFaO/sMv1mVVXJc0EX8OG9lEg+CcjUTjga2YpLOFfSx0B4OZ4CCSjNkGvf9B1s6f+gPsNvz6YVRncAGF041KcOdoE163MS6WjS8exVLognoMtgznLe+l4ia56lHv/6; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 01:06:12 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_sofr_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_sofr_fetcher.yaml new file mode 100644 index 00000000000..d151db6e2c6 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_sofr_fetcher.yaml @@ -0,0 +1,1030 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR99 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmeiYmSrU61DTehLbGm6Iab0xl14NS + AGrgABZbCwAP/KWZjgIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '244' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:05 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR90DAYAVG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmesamBqZmlnCgVKtDTbtM0OwyNDCi + sg2m6DYYmVLZBlCiQA4vwAxNzJVqY2sB+9/KUaQCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '260' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:07 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmesamSrU61DTeBNV4Yyobb0pb40Ep + AClwADNWqo2tBQA0rQSgjgIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR1 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmekaWSrU61DTehLbGm6IYb0xlx4MS + AGrYABZbCwD9Y6/KjQIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '244' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:04 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E1F05472AE91B8A58DB14E94B7EB9387~000000000000000000000000000000~YAAQlJUeuCwRovOPAQAABnZ39hgdljBtJyKpac7lnhUOcDHSEZj9BnwzAIKiA/QxSKnWW4XReO3r5mAAE4XOmhUBrGcSU6czblARJg1pcOzXGaiU9lhJLgmYLrzBXpVswlOcApOB0hu0eXZYxHUT87s3w20B0LGI6ciAL9Y5x69jvYztKiAODqvSk8JYOT2ayV3FzXqtm9lRiR9H3nr4WrjuBFErVIZWoMY5wc96emco1ZC9LqNYLPF1xtCeuNM2xDUQ7oMbIJCCHthj2585x1MLDl/RyAhnzl70xpoOoxH2X/vsfK3fLqYNratuaZLkLf2+TE3NRyV0TunjF9bTvQNvN9CRNlkSZyic+yfcNZvShaldE7BijcUgR6oVH/UE; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR30DAYAVG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmesZGZpYWIDvB2FCpVoeadpmg2WVh + bEJlG0zRbLA0oLYfQIkCObwszVDCC7DYWgCSqmkwrgIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '262' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:07 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR25 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmesZGSrU61DTehLbGm9LWeFAKQA0c + wGJrAXZvu/WOAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '240' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:04 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1FA0F2FFD7C5F80DE8AD88F6D5;Expires=Sun, 08 Jun 2025 06:09:35 + GMT;Path=/;Secure;HttpOnly + - ak_bmsc=DDE742053FED849139C144A4FF76EB79~000000000000000000000000000000~YAAQlJUeuDIRovOPAQAAOnZ39hhy+8SmmvNVBYZLYUESLoYYTJvYNc0pVrqZZWQS871wOF2DWglJyRDTxfTNtYvbUx2rFCdXcuhcxgqWXO4C485tEacnCuDDDeLdMCaFYaeKzNEW2zKC/4DPtkYHcUTI89IQdmpkGjRFKM8+nJmA2JCbtW+OYFc8/1EPmRfINZgIgDxePa54/oQLbpaNrKBG3D5Ww1nvP0gDrIc3I/Z1j/5ctMNMY0are1+RB1DVpibP2qwm2/xJYtMmqS95U1n+a7AeIfG2FPTxzcrFUBXbTufNIicvgY7kg7yXyg35VmE7LObu4Zg3c2GPebS+q3v7YsS2WQJovcSsC85maIav5J6BduK5+3p6EsS1GNWD; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFRVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqGloZGegZKtTrUtMAEyQIjA0vqW2CK + ZIGhpYUl1X0ASgewIDIyMLAAWQBYbC0Ain4DYJYCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '260' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1FADF8E2AA5B9F18BFF832DC2F;Expires=Sun, 08 Jun 2025 06:09:35 + GMT;Path=/;Secure;HttpOnly + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuDMRovOPAQAASHZ39hj134L9K4BLC/KmWpV9WWwvoTOaCCgZrpaVoV0Y7rpA01oFNOoKrPCNdOxcyVgXd07oj+wSTUy4e0kqdxvTO8zi3/KyzJZqdCeLJP93hoYq5MaET4c7ygl5WKUjmPngSIqRVnIjDP0/ZcWrK8J7VwXYZn8Xz//4lYKFsYEoZvk6OKh/wqrBJAaLmXzUuA+A/jRwOZp1wQfEg+A/DwZexFgFD/y2P2iJFM9lgDaRNKcAqf87TiQlfxmCFnEcgMnIqeC8QAki/45av2M314TXzj0M3KUxeRZwvJ83/whUHvjgzdlLij4NNdXxVb/tmJGy7xvrCWOb+AAbpcZImpP7rFVb5y7ORktZsHQw6DIp; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFRINDEX + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqGeoYmBuamxoaWSrU61LTEBN0SSyMj + cyMqW2KKZomhgaWhmQmVLQGlCeTgAszQyMzA1EKpNrYWAH1nDHCmAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '270' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:08 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1FE55EA34D66E00AEE2AD72E2F;Expires=Sun, 08 Jun 2025 06:09:35 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR75 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmeiZKtTrUNN2EpqabophubEllx4Pi + HyVoAIutBQAnIZYBiwIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '244' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1FBF20F945734A58A0FB623A0A;Expires=Sun, 08 Jun 2025 06:09:35 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-06-06&observation_start=2024-06-01&series_id=SOFR180DAYAVG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDL5ScVpxaVJZZk + 5udhajZU0lFCVoCm30xJR6k0L7OkWMlKKSczD6S4tKSgtCS+pLIgVcnKUEcpLTMnFcpTyirOBysp + Skktik+qVLJCMTolsSRVSUepOL+oJD4fpETJSimxOFlJRyk5vzSvRMnKREcpPy2tOLVEycpARykn + MzezRMnK0AAEUBxZrGQVTUmAgB2CFIDGSjpKZYk5palKVkqmesYWFoZmSrU61LTBBN0GY2OQr8DY + kMp2mWLYZUllG0CJAiW8ADMxVaqNrQUA0lZhXKQCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '260' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:07 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F29A2AEB217AD2EBAF56AB714;Expires=Sun, 08 Jun 2025 06:09:35 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR90DAYAVG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwV9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgiwNXBwjHcPckfWSbHJJZklOqpKVkqWBrktipYJjWWpRYnqqAsh8JR2l/KTi1KKy + xJLM/DwkRxta6BqY6xoYoSnA4u60otTC0tS85EolKyWXxMycSiUdJbhYfHFGPjgYXJR0lErzMkuK + layUAlKLklPzSmAicDWqSjpKxamJxfl5iTnxiSlZpcUluSB1Vkp++SUKwVCZnEoFR7Bcagp29XDz + /IIdlXSUchKLS+JLC1ISS1JBoYqIDwUDcysDQyuQN02VdJQK8gtKcxKLMksqlazMzHSU8vJLUkGu + dSxWSMxTSK0oSc0rzszPU8hPUyjJSFVITEnJBIVZYo5CSn5yKcih4DBUSEzKLy0BKwkpSk0sLi2q + VAhKLchXCEpNSy1KzUtOVQhKLEkt1lPQyCgpKSi2itGP0S8vL9fLSy2vzC/KTktN0csvSo/Rz00s + yk4tKY7RL4Eao1uUWpCvWwQzRrcIZIxuZl5aflEu2GrANJVqY2sBbMNZ64MCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '446' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:07 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=E1F05472AE91B8A58DB14E94B7EB9387~000000000000000000000000000000~YAAQlJUeuCwRovOPAQAABnZ39hgdljBtJyKpac7lnhUOcDHSEZj9BnwzAIKiA/QxSKnWW4XReO3r5mAAE4XOmhUBrGcSU6czblARJg1pcOzXGaiU9lhJLgmYLrzBXpVswlOcApOB0hu0eXZYxHUT87s3w20B0LGI6ciAL9Y5x69jvYztKiAODqvSk8JYOT2ayV3FzXqtm9lRiR9H3nr4WrjuBFErVIZWoMY5wc96emco1ZC9LqNYLPF1xtCeuNM2xDUQ7oMbIJCCHthj2585x1MLDl/RyAhnzl70xpoOoxH2X/vsfK3fLqYNratuaZLkLf2+TE3NRyV0TunjF9bTvQNvN9CRNlkSZyic+yfcNZvShaldE7BijcUgR6oVH/UE + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR30DAYAVG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwV9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgowNXBwjHcPckfWSbHJJZklOqpKVkrGBrktipYJjWWpRYnqqAsh8JR2l/KTi1KKy + xJLM/DwkRxta6BqY6hoYoSnA4u60otTC0tS85EolKyWXxMycSiUdJbhYfHFGPjgYXJR0lErzMkuK + layUAlKLklPzSmAicDWqSjpKxamJxfl5iTnxiSlZpcUluSB1Vkp++SUKwVCZnEoFR7Bcagp29XDz + /IIdlXSUchKLS+JLC1ISS1JBoYqIDwUDcysDQysDc10DUyUdpYL8gtKcxKLMkkolK3MzHaW8/JJU + kGsdixUS8xRSK0pS84oz8/MU8tMUSjJSFRJTUjJBYZaYo5CSn1wKcig4DBUSk/JLS8BKQopSE4tL + iyoVglIL8hWCUtNSi1LzklMVghJLUov1FDQySkoKiq1i9GP0y8vL9fJSyyvzi7LTUlP08ovSY/Rz + E4uyU0uKY/RLoMboFqUW5OsWwYzRLQIZo5uZl5ZflAu2GjBNpdrYWgA+OmoOgwIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '448' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:07 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - bm_sv=53B2300B8F118CA577D46C1D8024E678~YAAQlJUeuDgRovOPAQAAgXZ39hgWHpd8s3qEpaM1QyE1bDwRYAZ8SeuuZcbdgPMMDieJSTmcEq6zf/zf+HgsE4bNa5ZKN5V74X9v0yJBBtuSILdaqd6CJL2voCQSS7efsKETtZeVHq+9DzDJex+r+G4hfdt6KuG4XOtrWLKzizC7I9bxQGGqHhNRngrs3+DVtRwJYmy2sVltqK20cdEEHZBXI9UgyvJGzQXFnHYH0vDOlI6iSsd45K1e5o1QOW+VsbMERw==~1; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=E1F05472AE91B8A58DB14E94B7EB9387~000000000000000000000000000000~YAAQlJUeuCwRovOPAQAABnZ39hgdljBtJyKpac7lnhUOcDHSEZj9BnwzAIKiA/QxSKnWW4XReO3r5mAAE4XOmhUBrGcSU6czblARJg1pcOzXGaiU9lhJLgmYLrzBXpVswlOcApOB0hu0eXZYxHUT87s3w20B0LGI6ciAL9Y5x69jvYztKiAODqvSk8JYOT2ayV3FzXqtm9lRiR9H3nr4WrjuBFErVIZWoMY5wc96emco1ZC9LqNYLPF1xtCeuNM2xDUQ7oMbIJCCHthj2585x1MLDl/RyAhnzl70xpoOoxH2X/vsfK3fLqYNratuaZLkLf2+TE3NRyV0TunjF9bTvQNvN9CRNlkSZyic+yfcNZvShaldE7BijcUgR6oVH/UE + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR1 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dggyRNZFsZElmSU6qkpVScGpyaVFqioJ/WWpRXmZ6RomCW2ZeYl5yZl66QlBiSaqV + gmFxiUJAalFyal5JZk6qko5SflJxalFZYklmfh6SVwwtdA1MdA2M0RSg+cZMSUcprSi1sDQ1L7lS + yUrJJTEzpxJZLL44Ix8cOC5KOkqleZklxUpWSlDrYSJwNapKOkrFqYnF+XmJOfGJKVmlxSW5qXmg + oPXLL1EIhsrkVCo4guVSU7Crh5vnF+yopKOUk1hcEl9akJJYkgoKa3gsmSsYmFsZGFqBvAmYqZKO + UkF+QWlOYlFmSaWSlbFBbWwtAOcJ2ZnjAQAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '312' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:04 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=E1F05472AE91B8A58DB14E94B7EB9387~000000000000000000000000000000~YAAQlJUeuDcRovOPAQAAgXZ39hjA7NRyEcD5R1MrsIo638uVS1lnOmERCH2Mqv1rvVMZrFqx21EFnWwFbpLwNiHN/LfNIcpp6w8m9XCa6sV+8G8X644GgdM7ZboJ78HA1N3D4dKv5pgE5ByHC+wJidjzgSg7Z0VHT1vn3GmMkVHStSgTOBA02Y7cINHxwjZuYPumZBRP98vVlZPlh+p5SS5CgIRGx2YkHkjtXp+mCIPjP1rDpR0+3Ylo75W35bStnYh6mr1lxqSMsz6g0XSfLZIkWR5DWPFq8Fyk6toxrWCUQ68BN8YHVXJGWyjGspilI6sR8GySFTatJ0GBwTdl2OHoMar3HKxhPunrp8iMqdwesCo5yxnhkZ0BDlGkRfFVldqQIU5oRou5/gIUXIDzCQ==; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + - bm_sv=F92B59854A8022252DAEC98E62BDA8B5~YAAQlJUeuDkRovOPAQAAgXZ39hh+OfhQuRG6yLSHI2/MGxtoo1bw1tqj9CwOhPIeFzZ9rPhlad5AVoG345B6pnYM+EiFIZ9Y6+MNOOsHK4ZsjyXCw8G0dv91RMDnooGnZFQzoR3fPeqQQxOJ8k/wCPVpPqTlOHFg+hPhxNJl5vrB6YCEeTc4TETcSQzf02c29gU/QRRtyLmYf8MfmPlNJaLsFcdULk2S5q/RR4cnzC9ucJzfMexBaldqOXEZ/QW4r07Gaw==~1; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwV9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgpD1kGxiSWZJTqqSlVJwanJpUWqKgn9ZalFeZnpGiYJbZl5iXnJmXrpCUGJJqpKO + Un5ScWpRWWJJZn4ekssNLXQNTHQNjNEUoDneTElHKa0otbA0NS+5UslKySUxM6cSWSy+OCMfHBYu + SjpKpXmZJcVKVkoBqUXJqXklMBG4GlUlHaXi1MTi/LzEnPjElKzS4pJckDorJb/8EoVgqExOpYIj + WC41Bbt6uHl+wY5KOko5icUl8aUFKYklqaCgRUQKYAoG5lYGhlYGxroGpko6SgX5BaU5iUWZJZVK + VhbGtbG1ANMjoB7SAQAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '300' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR99 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgiwtkXWRbGZJZklOqpKVUnBqcmlRaoqCf1lqUV5mekaJgltmXmJecmZeukJQYkmq + lYKlZUmGQkBqUXJqXklmTqqSjlJ+UnFqUVliSWZ+HpJnDC10DUx0DYzRFKD5x0xJRymtKLWwNDUv + uVLJSsklMTOnElksvjgjHxw8Lko6SqV5mSXFSlZKUOthInA1qko6SsWpicX5eYk58YkpWaXFJbmp + eaDA9csvUQiGyuRUKjiC5VJTsKuHm+cX7Kiko5STWFwSX1qQkliSCgpteDwBZq5gYG5lYGhlYKpr + YKqko1SQX1Cak1iUWVKpZGVkVhtbCwAl0WsM5QEAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '316' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:05 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=DDE742053FED849139C144A4FF76EB79~000000000000000000000000000000~YAAQlJUeuDIRovOPAQAAOnZ39hhy+8SmmvNVBYZLYUESLoYYTJvYNc0pVrqZZWQS871wOF2DWglJyRDTxfTNtYvbUx2rFCdXcuhcxgqWXO4C485tEacnCuDDDeLdMCaFYaeKzNEW2zKC/4DPtkYHcUTI89IQdmpkGjRFKM8+nJmA2JCbtW+OYFc8/1EPmRfINZgIgDxePa54/oQLbpaNrKBG3D5Ww1nvP0gDrIc3I/Z1j/5ctMNMY0are1+RB1DVpibP2qwm2/xJYtMmqS95U1n+a7AeIfG2FPTxzcrFUBXbTufNIicvgY7kg7yXyg35VmE7LObu4Zg3c2GPebS+q3v7YsS2WQJovcSsC85maIav5J6BduK5+3p6EsS1GNWD; + cookiesession1=678A3E1FA0F2FFD7C5F80DE8AD88F6D5 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR25 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgoxMkXWRbGZJZklOqpKVUnBqcmlRaoqCf1lqUV5mekaJgltmXmJecmZeukJQYkmq + lYKRaUmGQkBqUXJqXklmTqqSjlJ+UnFqUVliSWZ+HpJnDC10DUx0DYzRFKD5x0xJRymtKLWwNDUv + uVLJSsklMTOnElksvjgjHxw8Lko6SqV5mSXFSlZKUOthInA1qko6SsWpicX5eYk58YkpWaXFJbmp + eaDA9csvUQiGyuRUKjiC5VJTsKuHm+cX7Kiko5STWFwSX1qQkliSCgpteDyZKxiYWxkYWoG8CQp9 + wAryC0pzEosySyqVrAxNa2NrAdx8R/DlAQAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '312' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:04 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=DDE742053FED849139C144A4FF76EB79~000000000000000000000000000000~YAAQlJUeuEURovOPAQAAtnZ39hhAIoTSOwcOtPyz5AKaTmHlkqYtU+AHaBNU8OGxolt2Kr9Wso5CrbTw1/W0g3oAjCHXmG4hPRt+qmnEIq0+YADuoj/EDn7ddunO/Io+0HYfkhXLJgy4nRGXGyMHG2oPSQJ12RIBLvXJizwYfkQyz7C6BdmlYh8mXYbFcLwhSGQH1tTheeLQ0Upfx7FQSx3FPuW2/CryCKmNm6LQ8e/YeHEVjFj46j4lIiekOZYLp7q9o8azz7eYIADu9BUG4GKSm8QcE3HEZeW3UOWCmx+3lNBhOn+plUUSYpYf3lqYaSI+haDwL7BIdMOLJiKCqzSOPtVNWo66Gckn+SgxkWbjLhYi/epTzw2R+sX0kg+lmH0EHIC6P+83Syk=; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuDMRovOPAQAASHZ39hj134L9K4BLC/KmWpV9WWwvoTOaCCgZrpaVoV0Y7rpA01oFNOoKrPCNdOxcyVgXd07oj+wSTUy4e0kqdxvTO8zi3/KyzJZqdCeLJP93hoYq5MaET4c7ygl5WKUjmPngSIqRVnIjDP0/ZcWrK8J7VwXYZn8Xz//4lYKFsYEoZvk6OKh/wqrBJAaLmXzUuA+A/jRwOZp1wQfEg+A/DwZexFgFD/y2P2iJFM9lgDaRNKcAqf87TiQlfxmCFnEcgMnIqeC8QAki/45av2M314TXzj0M3KUxeRZwvJ83/whUHvjgzdlLij4NNdXxVb/tmJGy7xvrCWOb+AAbpcZImpP7rFVb5y7ORktZsHQw6DIp; + cookiesession1=678A3E1FE55EA34D66E00AEE2AD72E2F + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFRINDEX + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwV9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgjz9XFwjkDWSbGxJZklOqpKVEsg0Bc+8lNQKJR2l/KTi1KKyxJLM/Dwkhxpa6BqY + 6BoYoSnA4ta0otTC0tS85EolKyWXxMycSiUdJbhYfHFGPtjrLko6SqV5mSXFSlZKYJsVHAuKFIx0 + FIwMDC0UbBUMYfJwHbhUFacmFufnJebEJ6ZklRaX5KbmgYLWL79EIRgqk1Op4AiWS01R0lHCoh5u + h1+wo5KOUk5icUl8aUFKYkkqKKwRsaRgYG5lYGhlYKFrYKqko1SQX1Cak1iUWVKpZGVmpKOUl1+S + CvKPY7FCYp5CakVJal5xZn6eQn6aQklGqkJiSkomKFQTcxRS8pNLQQ4Fh7JCYlJ+aQlYSUhRamJx + aVGlQlBqQb5CUGpaalFqXnKqQlBiSWqxnoJGRklJQbFVjH6Mfnl5uV5eanllflF2WmqKXn5Reox+ + bmJRdmpJcYx+CdQY3aLUgnzdIpgxukUgY3Qz89Lyi3LBVgOmqVQbWwsASrykspkCAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '449' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:08 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuEYRovOPAQAAx3Z39hgPF7byk2TbrzSVoEeU9mmowYjYa5+ICjmMCvHboW4gfthAXbxHiE8LtOIbxBSX6G0z7QfU6S8Xi7pK2QmrfOf8ULUv4MW9rhcojLpuamaC4Ao7i7yIScvoWewBxb8akKVGBLjQsFGLbRUT8WxO4yZ2Zxe/j7X/zVDrgsoRJAiGBqtCaEN3pKPzx4WisWDa0rdPyWoGqJJ/39XCCDDCalypbmU8sCmIT5O8LegfENcRlxE6SAEAihG4F/cJ3bbfAKCOe3CqyNdZnkePzz47EPBO/2aJ3K7UqTXNoKimpXkx5r+hNFf9jG8q9+sflq7hRpxFcSFJtaM782WtOVlq4oMXA15vJR16jfmopgiyiW3egeL+bec1I24=; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuDMRovOPAQAASHZ39hj134L9K4BLC/KmWpV9WWwvoTOaCCgZrpaVoV0Y7rpA01oFNOoKrPCNdOxcyVgXd07oj+wSTUy4e0kqdxvTO8zi3/KyzJZqdCeLJP93hoYq5MaET4c7ygl5WKUjmPngSIqRVnIjDP0/ZcWrK8J7VwXYZn8Xz//4lYKFsYEoZvk6OKh/wqrBJAaLmXzUuA+A/jRwOZp1wQfEg+A/DwZexFgFD/y2P2iJFM9lgDaRNKcAqf87TiQlfxmCFnEcgMnIqeC8QAki/45av2M314TXzj0M3KUxeRZwvJ83/whUHvjgzdlLij4NNdXxVb/tmJGy7xvrCWOb+AAbpcZImpP7rFVb5y7ORktZsHQw6DIp; + cookiesession1=678A3E1FADF8E2AA5B9F18BFF832DC2F + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFRVOL + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwV9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgsL8fZC1kWxoSWZJTqqSlVJwanJpUWqKgn9ZalFeZnpGiYJbZl5iXnJmXrpCWH5O + aW6qko5SflJxalFZYklmfh6S8w0tdA1MdA2M0RSg+cBMSUcprSi1sDQ1L7lSyUrJJTEzpxJZLL44 + Ix8cIC5KOkqleZklxUpWSk6ZOTmZ+XnFCvlpCqF6wXoKLvk5OYlFxTAlcE1OmTl6cEUqSjpKxamJ + xfl5iTnxiSlZpcUlual5oMD2yy9RCIbK5FQqOILlUlOwq4cb7hfsqKSjlJNYXBJfWpCSWJIKCn1E + vAGmYGBuZWBoZWCqa2CqpKNUkF9QmpNYlFlSqWRlYlEbWwsACYQwqvUBAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '329' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuEkRovOPAQAAy3Z39hioQPZj4U6z2jFalW9V5YGAv3dyg6Mdm1bhX2nUaQSBuR8p2Tu9FCJV7Qy66/gMaxH5yVktldTT4kGkZ5Q34RhaTlSzZY3sCETP4rhh+dk/oYBCiOS7byzf4xjTogxakYPfbZiZzubHUQgiOnUw7LuAowc91O3m62spO7Ft96C3dnFJ1Si1L6lvSLUREbZElg14cfEYSRqE67D6JCYut6R0lIcp11WMmJwGLCm9pmqnPIMdc00QU8ooqKkizMY5BJhUogTSJKDvzsScPbedOVH/i7gNBC5UX5A85ihVywFH8KZg7rLvR2oImBGzB3aZHdW0oyd7B5xWnTfqoMd7xgr9x7/V5h69/Cc6pyK4amtnFQhmgbTNityLWdO2Ow==; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + - bm_sv=F46A752D8DA7591068FDFC21549F5CEF~YAAQlJUeuEoRovOPAQAAy3Z39hjwoC7n68Ov3GF3HPntWsWrR6S9p/n2QCo5NbYYWZRMXTQVVl5lBziUKyalsToFoqWaHk/cHwBdVxmo1kcuBgWMtog5ExL8PYFjhjHRiWm31pLTyYalkhzq1hbIfdH40aHddgi2AMv+nTHjmB8xiwDE3PXQzHdfHEgpndiGgaySKDlQoAYvNqpROEhdIHSlBm34WP2+/dTLXfg3eUXKwGP3AEWUYhIVq51O0AAuK4Qh2w==~1; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuDMRovOPAQAASHZ39hj134L9K4BLC/KmWpV9WWwvoTOaCCgZrpaVoV0Y7rpA01oFNOoKrPCNdOxcyVgXd07oj+wSTUy4e0kqdxvTO8zi3/KyzJZqdCeLJP93hoYq5MaET4c7ygl5WKUjmPngSIqRVnIjDP0/ZcWrK8J7VwXYZn8Xz//4lYKFsYEoZvk6OKh/wqrBJAaLmXzUuA+A/jRwOZp1wQfEg+A/DwZexFgFD/y2P2iJFM9lgDaRNKcAqf87TiQlfxmCFnEcgMnIqeC8QAki/45av2M314TXzj0M3KUxeRZwvJ83/whUHvjgzdlLij4NNdXxVb/tmJGy7xvrCWOb+AAbpcZImpP7rFVb5y7ORktZsHQw6DIp; + cookiesession1=678A3E1FBF20F945734A58A0FB623A0A + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR75 + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zWwUNJByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dgsxNkXWRbGZJZklOqpKVUnBqcmlRaoqCf1lqUV5mekaJgltmXmJecmZeukJQYkmq + lYK5aUmGQkBqUXJqXklmTqqSjlJ+UnFqUVliSWZ+HpJnDC10DUx0DYzRFKD5x0xJRymtKLWwNDUv + uVLJSsklMTOnElksvjgjHxw8Lko6SqV5mSXFSlZKUOthInA1qko6SsWpicX5eYk58YkpWaXFJbmp + eaDA9csvUQiGyuRUKjiC5VJTsKuHm+cX7Kiko5STWFwSX1qQkliSCgpteDyZKxiYWxkYWhmY6hqA + Qh+wgvyC0pzEosySSiUrQ4va2FoA2m/YVeUBAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '314' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:05 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - bm_sv=F0BAF467A190AA029852D2E030C6D8FF~YAAQlJUeuE0RovOPAQAA2XZ39hieKBAGwmqSuN7mtHpvJmmR7/BLFGWwnV/eNON4W4rQ4vMB7x633LLKS6taZoaSre1PzUo0/PoZb8rWDitp3N3h/Ofb5uc4yB10ETUDhBabuticjZV5IEt61srlNEeWcHJvTSRfjobdFJqq+tRMKwz9X9YF/tmK5lzAQmj0qEruHp1Bjfnyb8XTU3kCr3CAr9wBYJnbFKyqkjSNfM+d91Qm9OmhnhV56yM7ol5elZvkgA==~1; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200; + Secure + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuDMRovOPAQAASHZ39hj134L9K4BLC/KmWpV9WWwvoTOaCCgZrpaVoV0Y7rpA01oFNOoKrPCNdOxcyVgXd07oj+wSTUy4e0kqdxvTO8zi3/KyzJZqdCeLJP93hoYq5MaET4c7ygl5WKUjmPngSIqRVnIjDP0/ZcWrK8J7VwXYZn8Xz//4lYKFsYEoZvk6OKh/wqrBJAaLmXzUuA+A/jRwOZp1wQfEg+A/DwZexFgFD/y2P2iJFM9lgDaRNKcAqf87TiQlfxmCFnEcgMnIqeC8QAki/45av2M314TXzj0M3KUxeRZwvJ83/whUHvjgzdlLij4NNdXxVb/tmJGy7xvrCWOb+AAbpcZImpP7rFVb5y7ORktZsHQw6DIp; + cookiesession1=678A3E1F29A2AEB217AD2EBAF56AB714 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR180DAYAVG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zUwV9JByKbmpaDLFacWZaYWFytZ + RVcrZYJkg/3dggwtDFwcIx3D3JE1k2x0SWZJTqqSlZKhhYGuS2KlgmNZalFieqoCyAYlHaX8pOLU + orLEksz8PCRnG1roGhroGhiiKcDi8rSi1MLS1LzkSiUrJZfEzJxKJR0luFh8cUY+OCBclHSUSvMy + S4qVrJQCUouSU/NKYCJwNapKOkrFqYnF+XmJOfGJKVmlxSW5IHVWSn75JQrBUJmcSgVHsFxqCnb1 + cPP8gh2VdJRyEotL4ksLUhJLUkHhiogRBQNzKwNDKwNzXQNTJR2lgvyC0pzEosySSiUrUzMdpbz8 + klSQax2LFRLzFFIrSlLzijPz8xTy0xRKMlIVElNSMkFhlpijkJKfXApyKDgMFRKT8ktLwEpCilIT + i0uLKhWCUgvyFYJS01KLUvOSUxWCEktSi/UUNDJKSgqKrWL0Y/TLy8v18lLLK/OLstNSU/Tyi9Jj + 9HMTi7JTS4pj9EugxugWpRbk6xbBjNEtAhmjm5mXll+UC7YaME2l2thaAMdpnSiFAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '450' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Sat, 08 Jun 2024 06:09:35 GMT + Expires: + - Sat, 08 Jun 2024 06:09:35 GMT + Last-Modified: + - Fri, 07 Jun 2024 12:01:07 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=AF3E995DCE2F7F5481E1C6EE033D121C~000000000000000000000000000000~YAAQlJUeuE4RovOPAQAA3XZ39hh8OYU24g00e1jwvQ7USlq2oSePfuzkM1SstfuGLDi8BUdvGbsVzvvJF7XgWHV9u55kEYqFoFCvF1oZv/ntdVuCU34TnbOngn8lZGUrvB3T9PJphmFaXTTePe9H6A+S+d61Scl50VJd1dgLksQqE6qHzJh8TRPSqOb9izf14odnnBU/Ux6VBSH51mjBq1a2FVzl+Pdy24Jc2QqeW+wml4XV+5b9AWfDWoSQWCpxRBxxGzjp36/PHWRt6BvTtH5EBi5Wr/3n0FZSMa2o8BrYjMrqAqOuS0ABPVVtevJ8ncLJdyrvDf/etS35rG4IM0AlntjFtp2sEuEB7duIzHatagreH3yFKABAFMZg9YWU+kYk+MXKlBgeDNk=; + Domain=.stlouisfed.org; Path=/; Expires=Sat, 08 Jun 2024 08:09:35 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_survey_of_economic_conditions_chicago_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_survey_of_economic_conditions_chicago_fetcher.yaml new file mode 100644 index 00000000000..d498a8f8c58 --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_survey_of_economic_conditions_chicago_fetcher.yaml @@ -0,0 +1,1137 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCNONLABORCOSTS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHQNTfVMLUxMDE1NjE3NLQ0NjJRq + dahmmQkkwBGWGeqZWBgbmZqYGBuZmVsYUdUyUzTLjA31LAxBEDBLS0NTc3NDU6Xa2FoAwsCilVkC + AAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:14 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCACTIVITYMFG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHRN9SwsjIxNjSyMLCzNLU0sjZRq + dahmmQkkwOGWGZrpmYGBgbGBhYWxuSU1LTNFtQwwYz0TEwsjc1MLAxNTQ0szU2Ol2thaAGg/FtlY + AgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '288' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:01 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCACTIVITYNMFG + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHRN9AwtTS0MTAwNLQ0NDQwNzJVq + dahmmQkkwGGWGekZgYGxkYWhhZmBsSk17TJFtQswXUNLPQMTczNDCwszU0szMwul2thaAPL0z5lX + AgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '288' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:03 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCHIRINGEXP + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHQNLfVMLE1MLUwNjM2NjA1NTJVq + dahmmQkkwBGWGegZmZkZmhkYGBoaWRpS1S5TNLsAMzbVszSyMDQxMjUxNzMwNzFSqo2tBQCNFvmD + WAIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '289' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:06 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCACTIVITY + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHRN9CwszS1NLY2MjYyNDYyNjJRq + dahmmQkkwOGWmetZmpmYGRiaGpqZGxmbGRtT0zJTNMsAs9AztjQ0M7AwMrYwMjIwMjRVqo2tBQD7 + J/m2WQIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '292' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:09 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCOUTLOOK + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslAxN9YxNLYzNjAwtzS3MTS0tlGp1 + qGaXCSS84XbpGZhbGhqbmRtZGpkYmBiaU9MuU1S7dM30zMAAMFMDc3MjA0sTc6Xa2FoAj/3SE1cC + AAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:08 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF9dWns2PAQAAz3EEEBi2axrDUUC+Wc41d55ahSSUmD6CCJAFbm1JOvh+Q21a/qOQo/mvtTQcgWF3vCgzOCRumO82tWOvXx9qStFfzj+mF4DR8asmfxLVPZfXs/f6jCiTIdS2V4X0+OOMl2ShQGQtVb8s2rgPyTpfnJOQRDQ7vLfeugoRLi9kw146+sZzgLUspQ5QOGIxZ8bip6ljz4VNGsk4b3OkQxeNDh1ofYAxRIyAGrelgaQaEtmpcSahSChBiC6gBrTR7OF6Z9SkNINWJ5pVfNbhlK/XkMmI9/hPiQs7Y0r8BllfbJnpotvpIoD30oZVZUD6jR8p6dBaTvM6UP9xMzOmxrXDB+lf2MlDKe4a2CsYzQ0rRO1r; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 07:14:04 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCCAPXEXP + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHRN9UxMwdDS3MLSxMjCXKlWh2qW + mUACHG6ZoZGeATXNN0UzHzATAz0zI1Ol2thaALbel91BAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '264' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:03 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F181E9FA4AC31F879A4FE5AF8;Expires=Fri, 13 Jun 2025 05:14:05 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCLABORCOSTS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHQNjfUsTY1NLCyMTSwtDU1MTZVq + dahmmQkkwBGWGekZWZoaWBgaGluYGRpYmFDTMlM0ywAzMtYzNjczMzI2NDU2szAzNVKqja0FAC9r + oINZAgAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '291' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F63BF38BB62B4655981536F3D;Expires=Fri, 13 Jun 2025 05:14:05 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2024-03-01&series_id=CFSBCHIRING + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VtJByKbmpaDL5ScVpxaVJZZk + 5uehaTbWNTBU0lFCVoCs31TXGCRdmpdZUqxkpZSTmQdSXFpSUFoSX1JZkKpkZaijlJaZkwrlKWUV + 54OVFKWkFsUnVSpZoRidkliSqqSjVJxfVBKfD1KiZKWUWJyspKOUnF+aV6JkZayjlJ+WVpxaomRl + oKOUk5mbWaJkZWgAAiiOLFayiqYkQMAOgQUgNAzKEnNKU5WslHTN9SwsTcyNzY1MjM1MjYxNTJRq + dahmmQkkwOGWGRrqmZuZmBuYmpmaW5paWFpQ0zJTNMuMTPSMTEAQMANDQyNjAxNzpdrYWgAcom/d + WQIAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '289' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:13 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - cookiesession1=678A3E1F9C76A2F1BF5DAEEA0C2A01E8;Expires=Fri, 13 Jun 2025 05:14:05 + GMT;Path=/;Secure;HttpOnly + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCACTIVITYMFG + response: + body: + string: !!binary | + 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 + C1hySbGeUm1sLQBsQdUBegsAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1786' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:01 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCNONLABORCOSTS + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJknd2CnZz9/P18HJ38g5z9g0OCkU0g2fySzJKcVCUrJeeMzOTE9HwFt9QUheDSorLUSoX8 + NAXX5Py8/NzMZAXn/LyUzJLM/LxiKwW//LycxKT8IgXn/OKSYgXPvJTUCoXMPJDW1KLEHIWg1OLU + orJUBZfM4pKizOQSBXMrBajxSjpK+Ukg2USQWUihYWisa2CkawAKDWQFyAFiCpFOK0otLE3NS65U + slLyzc8rycipVNJRgovGF2fkg0PYV0lHqTQvs6RYyUoJ7EQYH64CJlqcmlicn5eYE5+YklVaXJKb + mgeKIb/8EoVgqExOpYIjWC41RUlHCYt6uJl+wY5KOko5icUl8aUFKYklqaAog0S2qa6RkYKBpZWB + iZWhia6BqZKOUkF+QWlOYlFmSaWSlaGOUl5+SSrIueEZiSUKmcUKJRmp+OPCPibPOT+vJDG5pFgh + Jz8ZZB0oIsD6UstS80oycEdKYlGqQmJxdmqKQkm+QlFiSapCWWJRZn5psUJicUEqyMT8NIVUWPwn + w+NfITEnPy9dIVGhGGSDbkF+Zl6JQnFyYk6qQlFiXnpmXrpCWlF+rkKMUk5iUXqqQmZeclFqYnFq + jBLIIphoSipEVC9GScFRAZLIQQkuJTMtrbQ4Mz9PIROUrFKLFYpLc3MTizKrQAaDPJYCTlVJpaAE + BNJRlFpckJ9XnFoMDbE8heTEnOTSnMSS1BS9mLyYPI/8cgWQZ0GaYYYm5+cVlxSVJpekptjH5AWB + jUhJzSspVldIzCsuTy0qVsjPA4c/pi9BZiUWF2em56WmKCQq5JXmphZlJiuUJeaUogWBtjHYy6VG + BobGxnoKronJGQpoHgQ5GuFehURIpIMUpRal5iWnKiSllpSnpkLckleam5RahPA02MUK5ZklGXBX + Jybll6WCHJ5ZpAAKmdTkksyyVIXEstSixPRUsBAksBLzUkDKQM4nZGZSak5+OUgxATN1FFIyyzJT + UlMUkipByhVK8ksSc7DboKcQkpEKiWNQEJRkpOYp5JbmlGQW5GRCDDA0MFAozlcoAeeFEnDaSi2G + JC1tkFxJvkJMqZGRoRGIA/JNeWZOjkJSqgJYNjNNIbUstagS6mNQSCkUFOWDnFeskJinAA4nXViw + QOJcAWRKDDi2QGbiN0IBHCpoJuiByr6C/DyQdcWQiMnLVygoyswvUsjILC7JLwKXqqCIgcZCUapC + akVyTiko1MDZBpRKYQkiMz8PnILB5UEKKCxSoaFZrJCbmpiHnnRB5qJFOMRnxaB0mKhQWJpaDM42 + yYl5oJDKzCtJLSooSi0BJeRihaLUgqLU4tS8EmhWy4Q5OjM5MUehpCg1L6VYRyG/SAFUAOgWlebB + klUxKDZLi3UUqlKL8qGRCs4OxSBOJqhc0lHIz1NISsxJzEtO1YHpU0gvyi8vyVDQyC9SSFTISy0t + AVUf+aUlOfn52ZoKaSBhUPrNLKnUUcjILMrMS9dRSE4syAQlq+KC1LwUsAgo2pLzi0sUQM4vLi1K + LdZTCMgvzgSnfHCOh2ROhGvQoh/ZGXkK+QUlmbmZxSWZyQpwp6A4Pi9FIS81PRFsPJo30VIFssEK + BanFxXgMBse0U2p6Zl4eKPzBuRqUGHwTKxUMjXQUjAyMDBSKUnNAZakOOHs5uwW7Oivk5pdByvBE + hVxIdQhTpVCcnJGaUpqTCoqeTFD8QjWDzU5JLEkEB7FjQVFmDth4HYW8/HKFZFCNkplXrABKLLmg + YhRuMCQNZ4KSA9TjoDgCuRLiFnBgpxbrgMoxcHZMzMlRSCstKS0CFT1g24v1FNxA8ZoCaU4k5ihk + 5qXlF+WCGwSgRJKRDy5rFIohjRBQ5EKNVUjOSMxLT03RUShOBZdxChBb3RwDixUSyxIzcxKTclIV + MlKLUhU0MkpKCoqtYvRj9MvLy/WSIa2btNQUvfyi9Bj9otTi1MSi5IwYfVAwxOgnpxWnJsfoJ5cW + FaXmleiCBDXBERIAzrsl+QrwUDKCBj7ERFD9ir+OVihPLFbIS8wFRVJGKqwhhKbPqbQ4My+1uBip + naWgAW7paYIiLxVsANT/YANzE1NSQZk6KbWkJBVU1IPSfmpeCThhQIIOXJJZFiskZuaCS7akxOJU + hfw0pBIRnG9TFdLzE3NAEqB4hGgFF8n5ConFxSA3gcVLQC2E/DSw+ZBWQSWxTQ09Bd/8otT8stQi + HYXiTFClBjIxCZ7UoaZCrNZRyCwB+zAJVOulZebkpKaA8iGoTknKL8lQSIIFFShl5OXnwfngdAtY + ckmxnlJtbC0AvIlt33MLAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1784' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:14 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCHIRINGEXP + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1801' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:06 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF9dWns2PAQAAz3EEEBi2axrDUUC+Wc41d55ahSSUmD6CCJAFbm1JOvh+Q21a/qOQo/mvtTQcgWF3vCgzOCRumO82tWOvXx9qStFfzj+mF4DR8asmfxLVPZfXs/f6jCiTIdS2V4X0+OOMl2ShQGQtVb8s2rgPyTpfnJOQRDQ7vLfeugoRLi9kw146+sZzgLUspQ5QOGIxZ8bip6ljz4VNGsk4b3OkQxeNDh1ofYAxRIyAGrelgaQaEtmpcSahSChBiC6gBrTR7OF6Z9SkNINWJ5pVfNbhlK/XkMmI9/hPiQs7Y0r8BllfbJnpotvpIoD30oZVZUD6jR8p6dBaTvM6UP9xMzOmxrXDB+lf2MlDKe4a2CsYzQ0rRO1r + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCOUTLOOK + response: + body: + string: !!binary | + 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 + l58H54PTLWDJJcV6SrWxtQBGorKnfAsAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1792' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:08 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF9tWns2PAQAAdnIEEBgFbGNuyHcK26q8bj1M0igp25s4C+Wyqk3Skwze11WoINrtz37nDNOlaL9eW3XY2dpTE4ShMN88Y2qXrD0BNM7E03Jp47cJ2G+m4R9t1ysu4/1J/qFlaY9K7Skl6/YQFQsjqPjO74lyqEwR7mqBhkUdo73nq1DV3FwhP1Lmv4K+62JpPtzGLKWuwGZjw5DZF/JdLuQ1Bor2QkUFftz+VPV2ZEQLOX1PCbIVw0F2d18F8o95vnuDp22H6q/QyZPqXxA+B+S1TATixOfZTzS5al+nApVCHF7bOumFb1K89P0zJhRytvkGoBtaE8/4ya6OTykyO6NuSyJu/dITvd49AvUDKoPbTt3Wm1csjnbPFpMahLwuGqA7JHY=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 07:14:04 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCACTIVITYNMFG + response: + body: + string: !!binary | + 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 + g/PB6Raw5JJiPaXa2FoA/rUZHH4LAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1790' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:03 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=85ECCEB172EFA02223423CED8D3AF54D~000000000000000000000000000000~YAAQb/TVF9xWns2PAQAAf3IEEBiLcSKLBB6XgwKU2bCMdh40udGkI3l+EPfNOPn25FWRxdxNBQ9tWMhKpOqnZQGguN6NzG1lqCQhDDFSJwms3dyfYti6exMqmZAkuzt5/k3xgvssvXwqFa+z4IROc9sEKwDoLLD085PkyAKikbHWQtEncS/0hNm/z8V7/qHmQjE5ZxPKz3IWqpdlAZZN1NShdsPoeaQ5xLNtYBib34HnuaRU8WpvfldQEvyHZlV/rTOKXjagt/JBN/s9oo8Q+bfBgBCn3f4hQZAyDqB9Bc5pT/S3Kvc3uJ4mQGGgF1/d0CPthfEuEAkrO2TrD94FtQGFOvwEGw199CART6uCBKU5apVAXkWtf4KCu06i+Dq8; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 07:14:05 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCACTIVITY + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0VNJByKbmpaDLFacWZaYWFytZ + RVcrZYJknd2CnZwdnUM8wzxDIpE1k2x0SWZJTqqSlZJzRmZyYnq+gltqikJwaVFZaqVCfpqCa3J+ + Xn5uZrKCc35eSmZJZn5esZWCY3JJZllmSaWCZ15KaoVCZh5IU2pRYo5CUGpxalFZqoJLZnFJUWZy + iYK5lQLUYCUdpfwkkGwiyBSkIDA01jUw0jUABQGyAuRQMIVIpxWlFpam5iVXKlkp+ebnlWTkVCrp + KMFF44sz8sHB6quko1Sal1lSrGSlBHYijA9XARMtTk0szs9LzIlPTMkqLS7JTc0DRYtffolCMFQm + p1LBESyXmqKko4RFPdxMv2BHJR2lnMTikvjSgpTEklRQPEFi2FTXyEjBwNLKwMTKwFLXwFRJR6kg + v6A0J7Eos6RSycpYRykvvyQV5NzwjMQShcxihZKMVPyxYB+T55yfV5KYXFKskJOfDLIOFBFgfall + qXklGbgjJbEoVSGxODs1RaEkX6EosSRVoSyxKDO/tFghsbggFWRifppCKizmk+Exr5CYk5+XrpCo + UAyyQbcgPzOvRKE4OTEnVaEoMS89My9dIa0oP1chRiknsSg9VSEzL7koNbE4NUYJZBFMNCUVIqoX + o6TgqABJ2aCklpKZllZanJmfp5AJSlapxQrFpbm5iUWZVSCDQR5LAaeqpFJQAgLpKEotLsjPK04t + hoZYnkJyYk5yaU5iSWqKXkxeTJ5HfrkCyLMgzTBDk/PzikuKSpNLUlPsY/KCwEakpOaVFKsrJOYV + l6cWFSvk54HDH9OXILMSi4sz0/NSUxQSFfJKc1OLMpMVyhJzStGCQNsY7OVSIwNDY2M9BdfE5AwF + NA+CHI1wr0IiJNJBilKLUvOSUxWSUkvKU1MhbskrzU1KLUJ4GuxihfLMkgy4qxOT8stSQQ7PLFIA + hUwqKJemKiSWpRYlpqeChSCBlZiXAlIGcj4hM5NSc/LLQYoJmKmjkJJZlpmSmqKQVAlSrlCSX5KY + g90GPYWQjFRIHIOCoCQjNU8htzSnJLMgJxNigKGBgUJxvkIJOC+UgNNWajEkaWmD5EryFWJKjYwM + jUAckG/KM3NyFJJSFcCymWkKqWWpRZVQH4NCSqGgKB/kvGKFxDwFcDjpwoIFEucKIFNiwLEFMhO/ + EQrgUEEzQQ9U9hXk54GsK4ZETF6+QkFRZn6RQkZmcUl+Ebg8BUUMNBaKUhVSK5JzSkGhBs42oFQK + SxCZ+XngFAwuD1JAYZEKDc1ihdzUxDz0pAsyFy3CIT4rBqXDRIXC0tRicLZJTswDhVRmXklqUUFR + agkoIRcrFKUWFKUWp+aVQLNaJszRmcmJOQolRal5KcU6CvlFCqACQLeoNA+WrIpBsVlarKNQlVqU + D41UcHYoBnEyQeWSjkJ+nkJSYk5iXnKqDkyfQnpRfnlJhoJGfpFCokJeamkJqPrILy3Jyc/P1lRI + AwmD0m9mSaWOQkZmUWZeuo5CcmJBJihZFRek5qWARUDRlpxfXKIAcn5xaVFqsZ5CQH5xZklmGSyJ + obkGLfqRnZGnkF9QkpmbWVySmawAdwqK4/NSFPJS0xPBxqMbjJoqkA1WKEgtLsZjMDimnVLTM/Py + QOEPztWgxOCbWKlgaKSjYGRgZKBQlJoDKkt1wNnL2S3Y1VkhN78MUoYnKuRCqkOYKoXi5IzUlNKc + VFD0ZILiF6oZbHZKYkkiOIgdC4oyc8DG6yjk5ZcrJINqlMy8YgVQYskFFaNwgyFpOBOUHKAeB8UR + yJUQt0CLVx1QOQbOjok5OQpppSWlRaCiB2x7sZ6CGyheUyANicQchcy8tPyiXHCDAJRIMvLBZY1C + MaT5AYpcqLEKyRmJeempKToKxangMk4BYqubY2CxQmJZYmZOYlJOqkJGalGqgkZGSUlBsVWMfox+ + eXm5XjKkXZOWmqKXX5Qeo1+UWpyaWJScEaMPCoYY/eS04tTkGP3k0qKi1LwSXZCgJjhCAsB5tyRf + AR5KRtDAh5gIql/x19EK5YnFCnmJuaBIykiFNYTQ9DmVFmfmpRYXI7WwFDTAzTtNUOSlgg2A+h9s + YG5iSiooUyellpSkgop6UNpPzSsBJwxI0IFLMstihcTMXHDJlpRYnKqQn4ZUIoLzbapCen5iDkgC + FI8QreAiOV8hsbgY5CaweAmohZCfBjYf0iqoJLapoafgm1+Uml+WWqSjUJwJqtRAJibBkzrUVIjV + OgqZJWAfJoFqvbTMnJzUFFA+BNUpSfklGQpJsKACpYy8/Dw4H5xuAUsuKdZTqo2tBQAmutQcaAsA + AA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1768' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:09 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF9dWns2PAQAAz3EEEBi2axrDUUC+Wc41d55ahSSUmD6CCJAFbm1JOvh+Q21a/qOQo/mvtTQcgWF3vCgzOCRumO82tWOvXx9qStFfzj+mF4DR8asmfxLVPZfXs/f6jCiTIdS2V4X0+OOMl2ShQGQtVb8s2rgPyTpfnJOQRDQ7vLfeugoRLi9kw146+sZzgLUspQ5QOGIxZ8bip6ljz4VNGsk4b3OkQxeNDh1ofYAxRIyAGrelgaQaEtmpcSahSChBiC6gBrTR7OF6Z9SkNINWJ5pVfNbhlK/XkMmI9/hPiQs7Y0r8BllfbJnpotvpIoD30oZVZUD6jR8p6dBaTvM6UP9xMzOmxrXDB+lf2MlDKe4a2CsYzQ0rRO1r; + cookiesession1=678A3E1F181E9FA4AC31F879A4FE5AF8 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCCAPXEXP + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1804' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:03 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF95Wns2PAQAA0XIEEBjMMtUO7+B/sqB8cuv8kVcU9eUl0HQTbYABXPvQpt6tmjozPOBFJwXCR7Z0u9srXJUOsmyTxRTkUt2KihzDk4G5YTByTb0LwzknRtkGcEvXOjUiKTuywdo1F/u2KzrwGI/OqURt6qQlBUEBW+WcEixidjhfE15My9MW5anizLcyVsb2HmZGsqsstEvQs1CBW7bv8IbfzewwsB56MY8hqH3FxjOgFe80xv4TC8TtG7n57ZOmm62XPy6QXJdnnjKJ0j0Ma/IvW50i4ekqqrWpJAIx4r7cSRfAn/3kyzHwHFAOJu7iebXmkkn3fTN+eqEzit8abDHN1WjPPXjJJ79cwouja4I9KJFUm6Bk7MjNkY4e7kxcVIXibVw=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 07:14:04 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF9dWns2PAQAAz3EEEBi2axrDUUC+Wc41d55ahSSUmD6CCJAFbm1JOvh+Q21a/qOQo/mvtTQcgWF3vCgzOCRumO82tWOvXx9qStFfzj+mF4DR8asmfxLVPZfXs/f6jCiTIdS2V4X0+OOMl2ShQGQtVb8s2rgPyTpfnJOQRDQ7vLfeugoRLi9kw146+sZzgLUspQ5QOGIxZ8bip6ljz4VNGsk4b3OkQxeNDh1ofYAxRIyAGrelgaQaEtmpcSahSChBiC6gBrTR7OF6Z9SkNINWJ5pVfNbhlK/XkMmI9/hPiQs7Y0r8BllfbJnpotvpIoD30oZVZUD6jR8p6dBaTvM6UP9xMzOmxrXDB+lf2MlDKe4a2CsYzQ0rRO1r; + cookiesession1=678A3E1F63BF38BB62B4655981536F3D + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCLABORCOSTS + response: + body: + string: !!binary | + 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 + thYA8FEHuW0LAAA= + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1778' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:14 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF99Wns2PAQAA5nIEEBhctGOUyDawKMwFSssZEpn4o+f9zz+ZziC1A2ERQX7e4dG5BNbl4vYxoCU9BnfMIjt9bp70DqNTMB7+hCzcQcqqzBa3vCNj0cK46UNlqWc3ldhVCPbAESyYyG9qD8xlCnGCuO4lssjga7ZxhHn0Js5AqCVcTjUPJfKlcjWZH4zVXmVnX+AEcqFHcviT7hVFFISc1MpSbfNnCMzs5ixLZYaGss9bf1vWhBFgDhluOTo4pHqrwN2icHgWyw1A/gWyp085QD6TUAmHrWFBExkLvKwnB5pxD8s4pbeVtTyRbURSVcnVM5XcL/bD+qu9bvEFuFzERtKwWHPDxFnx5xX6tYpAJBp0pA5iBDVmxxD0OF1o5ljG6fC2+JQ=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 07:14:04 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF9dWns2PAQAAz3EEEBi2axrDUUC+Wc41d55ahSSUmD6CCJAFbm1JOvh+Q21a/qOQo/mvtTQcgWF3vCgzOCRumO82tWOvXx9qStFfzj+mF4DR8asmfxLVPZfXs/f6jCiTIdS2V4X0+OOMl2ShQGQtVb8s2rgPyTpfnJOQRDQ7vLfeugoRLi9kw146+sZzgLUspQ5QOGIxZ8bip6ljz4VNGsk4b3OkQxeNDh1ofYAxRIyAGrelgaQaEtmpcSahSChBiC6gBrTR7OF6Z9SkNINWJ5pVfNbhlK/XkMmI9/hPiQs7Y0r8BllfbJnpotvpIoD30oZVZUD6jR8p6dBaTvM6UP9xMzOmxrXDB+lf2MlDKe4a2CsYzQ0rRO1r; + cookiesession1=678A3E1F9C76A2F1BF5DAEEA0C2A01E8 + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=CFSBCHIRING + response: + body: + string: !!binary | + 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 + CwAA + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '1770' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Thu, 13 Jun 2024 05:14:05 GMT + Expires: + - Thu, 13 Jun 2024 05:14:05 GMT + Last-Modified: + - Wed, 22 May 2024 14:04:13 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=5A754B461BA23E908D25C4C20FBC7DFE~000000000000000000000000000000~YAAQb/TVF+FWns2PAQAAA3MEEBh1fq70CPsxOSfsW8UadmfCADiKzOguWZqAaTkpC9Um08ScJJAvKe61qQGz/LW3MEqfI+mDyCnSQqZ26ndxSkSB0bcti86Bx5dTLcm+2iRkDPFmZ70+8Oa5cO5FGgc2/Z6f5hLqwGLCI1Wqonz1gi6VQfwO868f/MqOkwyfhf2gakp5PlUgC8HsccRU/lRE3IJQeJkEu0oraOtWKbJIDZRnI8pRagtMUnoMoLB2S1QBMr4ve3q67bWx5orywgMI0tDYxZuu4DKoTKpkNP6dQE753H6kbNshUxPLcWAS2R5AfUlXmwmWOXLbHZRpoKLiX6t3osr1ZwJfJD5DNEfzB5dW6HkzXNOAxg1q7p8U5RId2jF4cQP2Kd0=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 07:14:04 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_university_of_michigan_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_university_of_michigan_fetcher.yaml new file mode 100644 index 00000000000..4e08dab165d --- /dev/null +++ b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fred_university_of_michigan_fetcher.yaml @@ -0,0 +1,224 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2022-06-01&series_id=MICH + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UtJByKbmpaDL5ScVpxaVJZZk + 5uchazYCaTYwVNJRQlaArN9U1xgkXZqXWVKsZKWUk5kHUlxaUlBaEl9SWZCqZGWoo5SWmZMK5Sll + FeeDlRSlpBbFJ1UqWaEYnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVkrKOUn5ZWnFqi + ZGWgo5STmZtZomRlaAACKK4sVrKKpiREwC4BhyAiEMoSc0pTlayUTPWMlWp1qGa6uS44iBGmG1HT + dAtU0030LKhpuiW66eZUNN3QANV0U2qabUhDs41QzTahYnox1jVAc7mxniXVwsVY1wDD7dRLjca6 + BiDnK+kowdK6sZ4ZNd1ugh7u1EuNxroGpuimUzVkzFBNN6ZumkErY4z1TKgZ7mhljLEe9XKqsa6B + JXrIUDPc0csYEz2qmo6WV02oGjKGaHnVWM+QarEKykqo4W5ExXLGBKOcoV6NaoJRylDZ5aCgQSnD + ADNSqo2tBQDvUpFcfwkAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '415' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:11 GMT + Expires: + - Wed, 12 Jun 2024 23:06:11 GMT + Last-Modified: + - Fri, 24 May 2024 15:01:10 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=69EE080FE1A2E86FC2C79E372E24B32E~000000000000000000000000000000~YAAQZWIsF7IkI/iPAQAAVKKzDhiHmbnEi7CAH/1mGE7JPJ7rw1B/mTTU1vxM+K5CGJAZBOVS3d3j58D4L/06CO6hu0vbkVqx8ozEwXHGzugGhpcu28FWAE5yTl9JSZbmkh88iaZuSCxjP1Y1JopODgUMLmDgAKy7vVstA496eW92h/+QYOX27gUl5PvswHF0tcCFsn3bkIglRx3uf0OUKY5e9ISWkwhYu0C4+MEhZewgHSCrdWQy7aKeBiu6c7TesYFYC1aEF1jvyKnVZ5vh56CYVzWa18NqUuyCllJXG5r3j5BiFspc7JO2hqsI1wUUC2i3YBISglxJDU9e79CC849/P+YrhotQwJL4oUFFbfXbxqqnDud/Y9QRGC5JNIoL; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 01:06:11 GMT; Max-Age=7200 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&limit=100000&observation_end=2024-05-31&observation_start=2022-06-01&series_id=UMCSENT + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw0zU0UtJByKbmpaDL5ScVpxaVJZZk + 5uchazYCaTYwVNJRQlaArN9U1xgkXZqXWVKsZKWUk5kHUlxaUlBaEl9SWZCqZGWoo5SWmZMK5Sll + FeeDlRSlpBbFJ1UqWaEYnZJYkqqko1ScX1QSnw9SomSllFicrKSjlJxfmleiZGVkrKOUn5ZWnFqi + ZGWgo5STmZtZomRlaAACKK4sVrKKpiREwC4BhyAiEMoSc0pTlayUTA2UanWoZri5LjiE4YYb6plS + 03gLNOMt9IyoabwlhvFmVDTe0ADNeEs9S2oab4hmvJmeOTWNN0Iz3lLPgmrGG+saoLnezISKgWOs + a4DmejMz6hoP8oCSjhIs3ZtRL1ka6xqYoIa8mTEVI9ZY18AU1XhT6iVKY3iRCw8YEyrmWGNdA7Ty + xpya5Y2xrgFaeWNmqWdCzTRviRryZuZUzVLo5Y2ZMXWNR8+xhnrGVAwcQ/Qca0nFVA/KUahhb069 + VG+CUdqYU7O0MdE1QCttzKmZLE0wyhtzc1CeBSy2FgCx1TBulAkAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '439' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:11 GMT + Expires: + - Wed, 12 Jun 2024 23:06:11 GMT + Last-Modified: + - Fri, 24 May 2024 15:01:01 GMT + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=69EE080FE1A2E86FC2C79E372E24B32E~000000000000000000000000000000~YAAQZWIsF7IkI/iPAQAAVKKzDhiHmbnEi7CAH/1mGE7JPJ7rw1B/mTTU1vxM+K5CGJAZBOVS3d3j58D4L/06CO6hu0vbkVqx8ozEwXHGzugGhpcu28FWAE5yTl9JSZbmkh88iaZuSCxjP1Y1JopODgUMLmDgAKy7vVstA496eW92h/+QYOX27gUl5PvswHF0tcCFsn3bkIglRx3uf0OUKY5e9ISWkwhYu0C4+MEhZewgHSCrdWQy7aKeBiu6c7TesYFYC1aEF1jvyKnVZ5vh56CYVzWa18NqUuyCllJXG5r3j5BiFspc7JO2hqsI1wUUC2i3YBISglxJDU9e79CC849/P+YrhotQwJL4oUFFbfXbxqqnDud/Y9QRGC5JNIoL + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=MICH + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw1TUyVdJByKbmpaDLFacWZaYWFytZ + RVcrZYJkfT2dPZD1kGxiSWZJTqqSlVJoXmZZalFxZkmlQn6agm9mckZmemKelYJnXlpOYklmfp6C + a0VBanIJmK2ko5SfVJxaVAbmwb1haGluoWtgqGtgiKYA2ScmEOm0otTC0tS85EolKyXf/LySjJxK + JR0luGh8cUY+OGh8lXSUSvMyS4qVrJQCUouSU/NKYCJwNapKOkrFqYnF+XmJOfGJKVmlxSW5IHVW + Sn75JQrBUJmcSgVHsFxqCnb1cPP8gh2VdJRyEotL4ksLUhJLUkEhDY8jEwVDAysDQytDA10DUHwV + 5BeU5iQWZZZUKlmZWeoo5eWXpIJc65uakpmYp5AKDrbUFIWCoszkVIXkjMS89FSFvNSKEgVDI4Vc + kNeLdRSCS4vKUiuLQWHvnJ9XXJqbWlSspxCSkaqQm19colCUCvK4QlliTmmqQmaxQl5+iUJxRn55 + nkJKaapCSb5CYp5CYnpRairI3wrlmSUZCiUZqQrF+aVFyal6MXkxeSEZmcUKKYkliSB9pTkpCkmp + CsmZJakpConFCmn5OTn55cVWCjFK2Byio4A9deASx5FqYkoNDBItFaJBaTZWR6EotaQoM7UsNUUh + rSg/V8EtyNVFR8EtNSW1KDFHISgVlLxSFZwS87JBgRJcoqfgk1+aWayQUVJSUGwVox+jn1aUmqJX + XJIDEk5LTdHLL0qP0YfkkBh9kCUx+joKGo7JyanFxakpCvl5IP+nasYogcLDOb+gsigzPaNER8HI + wNAMewzg8qCeQlBqQVFmHij4wIENWEFqUW5mcXFmfp6eUm1sLQA+2NUY4wMAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '673' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:12 GMT + Expires: + - Wed, 12 Jun 2024 23:06:12 GMT + Last-Modified: + - Fri, 24 May 2024 15:01:10 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=69EE080FE1A2E86FC2C79E372E24B32E~000000000000000000000000000000~YAAQZWIsF8kkI/iPAQAA/KKzDhjUkCVqu6dvR7aKvXoCjpe27HwkROyFBegRWFDvmVztLYKiiJ0jy7nIFR/oAVQ72rxP/hScrbTapXode4fUSfKtkteJCoXrxh16/uDJu9OAV1Vc+YDBaDZnESlcfj0s7oy2XFqLEZs1Y8bnSfiS7uWkKsqeOfdIAVKDzm8yY48w/SBzEJwR+OrrFzovtyB60oVHWS9J9ONteSM/NKbw3iVBaKvenwTC/08XfSuYQrcy3IR+rWgTjyiyo35XEZ2yj2g73ChWO1gJkN1VfSbho1aLQqbJOfpEAb9FW8WZ7x1VynD89aFbc67AJ6OhORtt8feR/00brrASDu0J3WeFKtSD3gCO3dYzewZVz3GQ6QJ+yy9KIZSHmsE=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 01:06:11 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - ak_bmsc=69EE080FE1A2E86FC2C79E372E24B32E~000000000000000000000000000000~YAAQZWIsF7IkI/iPAQAAVKKzDhiHmbnEi7CAH/1mGE7JPJ7rw1B/mTTU1vxM+K5CGJAZBOVS3d3j58D4L/06CO6hu0vbkVqx8ozEwXHGzugGhpcu28FWAE5yTl9JSZbmkh88iaZuSCxjP1Y1JopODgUMLmDgAKy7vVstA496eW92h/+QYOX27gUl5PvswHF0tcCFsn3bkIglRx3uf0OUKY5e9ISWkwhYu0C4+MEhZewgHSCrdWQy7aKeBiu6c7TesYFYC1aEF1jvyKnVZ5vh56CYVzWa18NqUuyCllJXG5r3j5BiFspc7JO2hqsI1wUUC2i3YBISglxJDU9e79CC849/P+YrhotQwJL4oUFFbfXbxqqnDud/Y9QRGC5JNIoL + method: GET + uri: https://api.stlouisfed.org/fred/series?api_key=MOCK_API_KEY&file_type=json&series_id=UMCSENT + response: + body: + string: !!binary | + H4sIAAAAAAAEA6pWKkpNzCnJzE2NLy5JLCpRslIyMjAy0TUw1TUyVdJByKbmpaDLFacWZaYWFytZ + RVcrZYJkQ32dg139QpC1kWxoSWZJTqqSlVJoXmZZalFxZkmlQn6agm9mckZmemKelYJzfl5xaW5q + kUJwah7I2XklSjpK+UnFqUVliSWZ+XlwbxhamhrpGhrqGhiiKUhF8okJRDqtKLWwNDUvuVLJSsk3 + P68kI6dSSUcJLhpfnJEPDhpfJR2l0rzMkmIlKyXPvJTUCgVDSzMzq0BDW0MDA5gcXDU2FcWpicX5 + eYk58YkpWaXFJbmpeSVKVkp++SUKwVCZnEoFR7BcaoqSjhIW9XDz/YIdlXSUchKLS+JLC1ISS1JB + cQCPPRMFQwMrA0MrA0NdA1BMFuQXlOYkFmWWVCpZWRjoKOXll6SC/OFYolCSkaoADoHiElBgg7jF + +aVFyak6YKmUxJJEhcxihZTUnMTK1BSFpEoFQ4VcUDDpKYTkK+QnlSRm5ilkZBaX5BdlJifmKIA1 + FBRl5hcplOQreCXmlSYWVSoYWppb6CgU5KQmFqcqFKemKrgFubpA1EJSkgI0/RjqxeTF5IVkgKwE + WV2ckV+ak6KQlKqQnFmSmqKQWKyQlp+Tk19ebKUQoxRcWlSWWlkMcrgzNG0U6yhgTz64xLElK4WY + UgODREuFaKirYnUUilJLijJTy1JTFNKK8nPB7tdRcEtNSS1KzFEISgWlwVQFp8S8bJBjgkv0FHzy + SzOLFTQySkoKiq1i9GP004pSU/SKS3JA4mmpKXr5Rekx+hDfx+hDLYrR19RR0HBMTk4tLk5NUcjP + A4VRqmaMEihUnPMLKosy0zNKdBSMDAzNdBRI8b6eQlBqQVFmHigQASvPLMlQKEgtys0sLs7Mz9NT + qo2tBQDNyTV3DQQAAA== + headers: + Cache-Control: + - max-age=0, no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Length: + - '697' + Content-Type: + - application/json; charset=UTF-8 + Date: + - Wed, 12 Jun 2024 23:06:12 GMT + Expires: + - Wed, 12 Jun 2024 23:06:12 GMT + Last-Modified: + - Fri, 24 May 2024 15:01:01 GMT + Pragma: + - no-cache + Server: + - Apache + Set-Cookie: + - ak_bmsc=69EE080FE1A2E86FC2C79E372E24B32E~000000000000000000000000000000~YAAQZWIsF9IkI/iPAQAAR6OzDhgKYCLanFH2VfvqqymEmxSd8wSjK3cJcaHtE75rQUSjFYzoO4cZmsgWIxLHYD9fgSwEZVGdiD49VHur/d42LM81wbEk+e8PIIME58gWcYNfSDTRbHh/ZFjzPCgvAWRv7Yl5VTnFqwdpqaO06Cqw3ShvACFEaz+zTbMj9siICD+GL2KdnytPbjLhJ8XXm+aTzvMmgUINCmRhg0x+7ANPdpIsv67wJZ/BI5/kwPhr+6c5UjRvgsGkHGTgKdWn3wCIPs8mHTX2wmtQfg+tGG8rPkZFwncDfthcybh2ITuLOovXV/05EXAJcPSPrSgPYLerZ5nYIYJz+9g7hRx+M7rOWfHHuNKbVqMQGjXoez9Yqd5+tMJ0u+7YtYg=; + Domain=.stlouisfed.org; Path=/; Expires=Thu, 13 Jun 2024 01:06:11 GMT; Max-Age=7199 + Strict-Transport-Security: + - max-age=86400 + Vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredameribor_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredameribor_fetcher.yaml deleted file mode 100644 index 01bae4aa200..00000000000 --- a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredameribor_fetcher.yaml +++ /dev/null @@ -1,538 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&series_id=AMERIBOR - response: - body: - string: !!binary | - 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 - AUAtA1RAVAQA - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '28224' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 18 Sep 2023 09:59:52 GMT - Expires: - - Mon, 18 Sep 2023 10:00:51 GMT - Last-Modified: - - Fri, 15 Sep 2023 12:03:10 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '104' - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredestr_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredestr_fetcher.yaml deleted file mode 100644 index 63c7fc75585..00000000000 --- a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredestr_fetcher.yaml +++ /dev/null @@ -1,179 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&series_id=ECBESTRVOLWGTTRMDMNRT - response: - body: - string: !!binary | - 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 - 0zJmMFpV1I4Z9AwEmFJtbC0AfauOfIeVAQA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '7550' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 18 Sep 2023 09:59:51 GMT - Expires: - - Mon, 18 Sep 2023 10:00:51 GMT - Last-Modified: - - Mon, 18 Sep 2023 08:31:03 GMT - Set-Cookie: - - ak_bmsc=6BB4D3D3A59B20D3818DD1E14A5E85C7~000000000000000000000000000000~YAAQFk4SAk8HZJOKAQAAUGa7pxUGEDWHb3oa/qFWKkiodi7FWgH58ieCCMVauAQl7DOYb3FAAEmFJtMW0Dh2ZjXVTjeDrQo2tUowbJwSuN1srdvQ0GqlozvQjows4fxAvMkJZ5wnXGbPE/9O3JFjGGt4UbSa8ru5z4nrFuO+6uusFQs9yJkCwUZL+5wfqG2YI9PEoIW3LbsMAinEFfT5Rwsp/qedwPskTOX2iuMrdksKnl8d9uUoNF1gxEyl9ywh/Kn6+ufh7PwgO8chH0KXZVWfxCIHMo0cj8lNzWW4WkB1NtFepZyEC1uSOHF7sHJGPVRy7mbdaRtg4GOr8QrH0P6uxqAxTEDJ1E9+/zA02N2E/210A1e+TWFDtkzczU53; - Domain=.stlouisfed.org; Path=/; Expires=Mon, 18 Sep 2023 11:59:50 GMT; Max-Age=7199; - HttpOnly - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '106' - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredfed_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredfed_fetcher.yaml deleted file mode 100644 index 3168da58063..00000000000 --- a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredfed_fetcher.yaml +++ /dev/null @@ -1,597 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&series_id=FF - response: - body: - string: !!binary | - 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 - HaKmvvEoQ9QQ4wGLrQUA3ab+KsY7BQA= - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '31601' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 18 Sep 2023 09:59:52 GMT - Expires: - - Mon, 18 Sep 2023 10:00:52 GMT - Last-Modified: - - Thu, 14 Sep 2023 20:19:06 GMT - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '103' - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredsofr_fetcher.yaml b/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredsofr_fetcher.yaml deleted file mode 100644 index 99c3b806808..00000000000 --- a/openbb_platform/providers/fred/tests/record/http/test_fred_fetchers/test_fredsofr_fetcher.yaml +++ /dev/null @@ -1,212 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - method: GET - uri: https://api.stlouisfed.org/fred/series/observations?api_key=MOCK_API_KEY&file_type=json&series_id=SOFR - response: - body: - string: !!binary | - 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 - headers: - Accept-Ranges: - - bytes - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Length: - - '9457' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 18 Sep 2023 09:59:50 GMT - Expires: - - Mon, 18 Sep 2023 10:00:50 GMT - Last-Modified: - - Fri, 15 Sep 2023 12:01:03 GMT - Set-Cookie: - - ak_bmsc=3717B9CDF3F78B0F7113C27E36096262~000000000000000000000000000000~YAAQFk4SAscGZJOKAQAAXWO7pxVe9bV2HlkCKt3BUW7oB4jPnA73V+BVxba3AFaBWIPkkT78l8H3w72OoCXZNV0RccLajhniT1Vzk93Cdhk7PuHmgkMdjVG1wWOvSqzT5MmNOr/Hplz0oYhpD6HyXQHuoQWmiCRXOhuB5QFKGUTJVGYH1gREW5RjKtRnVCQsRGup4PnVFwfnlp61wU1EFN1LUmC4xji6RiaKaVipJkgk1mUnJQrSwpS5sLAGr3BSXGEBkp9RHg1yyvOitz0VQDRvCvPYJHKDlMXlFplEjWbF3m4XAJmsUX++mv9snBCH4BWVEGOYLXhMdtua9ug4SCFJyS/AK4NpsCFTd2025NFPvszvsC58F4JqqKAioZ7B; - Domain=.stlouisfed.org; Path=/; Expires=Mon, 18 Sep 2023 11:59:50 GMT; Max-Age=7200; - HttpOnly - Vary: - - Accept-Encoding - x-rate-limit-limit: - - '120' - x-rate-limit-remaining: - - '107' - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/fred/tests/test_fred_fetchers.py b/openbb_platform/providers/fred/tests/test_fred_fetchers.py index e6aba0b0d28..ce1ac3df531 100644 --- a/openbb_platform/providers/fred/tests/test_fred_fetchers.py +++ b/openbb_platform/providers/fred/tests/test_fred_fetchers.py @@ -4,33 +4,50 @@ import datetime import pytest from openbb_core.app.service.user_service import UserService -from openbb_fred.models.ameribor_rates import FREDAMERIBORFetcher +from openbb_fred.models.ameribor import FredAmeriborFetcher from openbb_fred.models.balance_of_payments import FredBalanceOfPaymentsFetcher +from openbb_fred.models.bond_indices import FredBondIndicesFetcher +from openbb_fred.models.commercial_paper import FREDCommercialPaperFetcher from openbb_fred.models.consumer_price_index import FREDConsumerPriceIndexFetcher -from openbb_fred.models.cp import FREDCommercialPaperFetcher from openbb_fred.models.dwpcr_rates import FREDDiscountWindowPrimaryCreditRateFetcher from openbb_fred.models.ecb_interest_rates import ( FREDEuropeanCentralBankInterestRatesFetcher, ) -from openbb_fred.models.estr_rates import FREDESTRFetcher +from openbb_fred.models.euro_short_term_rate import FredEuroShortTermRateFetcher from openbb_fred.models.fed_projections import FREDPROJECTIONFetcher -from openbb_fred.models.fed_rates import FREDFEDFetcher +from openbb_fred.models.federal_funds_rate import FredFederalFundsRateFetcher from openbb_fred.models.ffrmc import FREDSelectedTreasuryConstantMaturityFetcher -from openbb_fred.models.hqm import FREDHighQualityMarketCorporateBondFetcher +from openbb_fred.models.high_quality_market import ( + FredHighQualityMarketCorporateBondFetcher, +) from openbb_fred.models.ice_bofa import FREDICEBofAFetcher from openbb_fred.models.iorb_rates import FREDIORBFetcher +from openbb_fred.models.manufacturing_outlook_texas import ( + FredManufacturingOutlookTexasFetcher, +) from openbb_fred.models.moody import FREDMoodyCorporateBondIndexFetcher +from openbb_fred.models.mortgage_indices import FredMortgageIndicesFetcher +from openbb_fred.models.overnight_bank_funding_rate import ( + FredOvernightBankFundingRateFetcher, +) from openbb_fred.models.regional import FredRegionalDataFetcher from openbb_fred.models.retail_prices import FredRetailPricesFetcher from openbb_fred.models.search import ( FredSearchFetcher, ) +from openbb_fred.models.senior_loan_officer_survey import ( + FredSeniorLoanOfficerSurveyFetcher, +) from openbb_fred.models.series import FredSeriesFetcher -from openbb_fred.models.sofr_rates import FREDSOFRFetcher +from openbb_fred.models.sofr import FREDSOFRFetcher from openbb_fred.models.sonia_rates import FREDSONIAFetcher from openbb_fred.models.spot import FREDSpotRateFetcher +from openbb_fred.models.survey_of_economic_conditions_chicago import ( + FredSurveyOfEconomicConditionsChicagoFetcher, +) from openbb_fred.models.tbffr import FREDSelectedTreasuryBillFetcher from openbb_fred.models.tmc import FREDTreasuryConstantMaturityFetcher +from openbb_fred.models.university_of_michigan import FredUofMichiganFetcher from openbb_fred.models.us_yield_curve import ( FREDYieldCurveFetcher as FREDUSYieldCurveFetcher, ) @@ -73,9 +90,12 @@ def test_fred_us_yield_curve_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fredsofr_fetcher(credentials=test_credentials): +def test_fred_sofr_fetcher(credentials=test_credentials): """Test FREDSOFRFetcher.""" - params = {} + params = { + "start_date": datetime.date(2024, 6, 1), + "end_date": datetime.date(2024, 6, 6), + } fetcher = FREDSOFRFetcher() result = fetcher.test(params, credentials) @@ -83,11 +103,14 @@ def test_fredsofr_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fredestr_fetcher(credentials=test_credentials): - """Test FREDESTRFetcher.""" - params = {} +def test_fred_euro_short_term_rate_fetcher(credentials=test_credentials): + """Test FREDEuroShortTermRateFetcher.""" + params = { + "start_date": datetime.date(2024, 6, 1), + "end_date": datetime.date(2024, 6, 6), + } - fetcher = FREDESTRFetcher() + fetcher = FredEuroShortTermRateFetcher() result = fetcher.test(params, credentials) assert result is None @@ -103,21 +126,29 @@ def test_fredsonia_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fredameribor_fetcher(credentials=test_credentials): - """Test FREDAMERIBORFetcher.""" - params = {} +def test_fred_ameribor_fetcher(credentials=test_credentials): + """Test FredAmeriborFetcher.""" + params = { + "start_date": datetime.date(2023, 1, 1), + "end_date": datetime.date(2023, 6, 6), + "maturity": "overnight", + } - fetcher = FREDAMERIBORFetcher() + fetcher = FredAmeriborFetcher() result = fetcher.test(params, credentials) assert result is None @pytest.mark.record_http -def test_fredfed_fetcher(credentials=test_credentials): - """Test FREDFEDFetcher.""" - params = {} +def test_fred_federal_funds_rate_fetcher(credentials=test_credentials): + """Test FRED Federal Funds Rate Fetcher.""" + params = { + "start_date": datetime.date(2023, 1, 1), + "end_date": datetime.date(2023, 6, 6), + "effr_only": True, + } - fetcher = FREDFEDFetcher() + fetcher = FredFederalFundsRateFetcher() result = fetcher.test(params, credentials) assert result is None @@ -200,8 +231,10 @@ def test_fred_moody_corporate_bond_index_fetcher(credentials=test_credentials): def test_fred_commercial_paper_fetcher(credentials=test_credentials): """Test FREDCommercialPaperFetcher.""" params = { - "start_date": datetime.date(2023, 1, 1), - "end_date": datetime.date(2023, 6, 6), + "start_date": datetime.date(2024, 1, 1), + "end_date": datetime.date(2024, 2, 1), + "category": "asset_backed", + "maturity": "30d", } fetcher = FREDCommercialPaperFetcher() @@ -224,10 +257,10 @@ def test_fred_spot_rate_fetcher(credentials=test_credentials): @pytest.mark.record_http def test_fred_high_quality_market_corporate_bond_fetcher(credentials=test_credentials): - """Test FREDHighQualityMarketCorporateBondFetcher.""" - params = {"date": datetime.date(2023, 1, 1)} + """Test FredHighQualityMarketCorporateBondFetcher.""" + params = {"date": "2023-01-01"} - fetcher = FREDHighQualityMarketCorporateBondFetcher() + fetcher = FredHighQualityMarketCorporateBondFetcher() result = fetcher.test(params, credentials) assert result is None @@ -341,3 +374,102 @@ def test_fred_retail_prices_fetcher(credentials=test_credentials): fetcher = FredRetailPricesFetcher() result = fetcher.test(params, credentials) assert result is None + + +@pytest.mark.record_http +def test_fred_bond_indices_fetcher(credentials=test_credentials): + """Test FredBondIndicesFetcher.""" + params = { + "category": "us", + "index": "corporate", + "start_date": datetime.date(2024, 6, 1), + "end_date": datetime.date(2024, 6, 4), + } + + fetcher = FredBondIndicesFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_fred_mortgage_indices_fetcher(credentials=test_credentials): + """Test FredMortgageIndicesFetcher.""" + params = { + "index": "jumbo_30y", + "start_date": datetime.date(2024, 6, 1), + "end_date": datetime.date(2024, 6, 4), + } + + fetcher = FredMortgageIndicesFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_fred_university_of_michigan_fetcher(credentials=test_credentials): + """Test FredUofMichiganFetcher.""" + params = { + "start_date": datetime.date(2022, 6, 1), + "end_date": datetime.date(2024, 5, 31), + } + + fetcher = FredUofMichiganFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_fred_senior_loan_officer_survey_fetcher(credentials=test_credentials): + """Test FredSeniorLoanOfficerSurveyFetcher.""" + params = { + "category": "auto", + "start_date": datetime.date(2022, 6, 1), + "end_date": datetime.date(2024, 5, 31), + } + + fetcher = FredSeniorLoanOfficerSurveyFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_fred_survey_of_economic_conditions_chicago_fetcher( + credentials=test_credentials, +): + """Test FredSurveyOfEconomicConditionsChicagoFetcher.""" + params = { + "start_date": datetime.date(2024, 3, 1), + "end_date": datetime.date(2024, 5, 31), + } + + fetcher = FredSurveyOfEconomicConditionsChicagoFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_fred_manufacturing_outlook_texas_fetcher( + credentials=test_credentials, +): + """Test FredManufacturingOutlookTexasFetcher.""" + params = { + "start_date": datetime.date(2024, 3, 1), + "end_date": datetime.date(2024, 5, 31), + } + + fetcher = FredManufacturingOutlookTexasFetcher() + result = fetcher.test(params, credentials) + assert result is None + + +@pytest.mark.record_http +def test_fred_overnight_bank_funding_rate_fetcher(credentials=test_credentials): + """Test FRED Overnight Bank Funding Rate Fetcher.""" + params = { + "start_date": datetime.date(2024, 6, 1), + "end_date": datetime.date(2024, 6, 6), + } + + fetcher = FredOvernightBankFundingRateFetcher() + result = fetcher.test(params, credentials) + assert result is None diff --git a/openbb_platform/providers/government_us/openbb_government_us/models/treasury_prices.py b/openbb_platform/providers/government_us/openbb_government_us/models/treasury_prices.py index 3fb167bf1e9..5677f842f23 100644 --- a/openbb_platform/providers/government_us/openbb_government_us/models/treasury_prices.py +++ b/openbb_platform/providers/government_us/openbb_government_us/models/treasury_prices.py @@ -7,6 +7,7 @@ from io import StringIO from typing import Any, Dict, List, Literal, Optional import requests +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.treasury_prices import ( TreasuryPricesData, @@ -87,12 +88,10 @@ class GovernmentUSTreasuryPricesFetcher( r = requests.post(url=url, headers=HEADERS, data=payload, timeout=5) if r.status_code != 200: - raise RuntimeError("Error with the request: " + str(r.status_code)) + raise OpenBBError("Error with the request: " + str(r.status_code)) if r.encoding != "ISO-8859-1": - raise RuntimeError( - f"Expected ISO-8859-1 encoding but got: {r.encoding}" - ) + raise OpenBBError(f"Expected ISO-8859-1 encoding but got: {r.encoding}") return r.content.decode("utf-8") loop = asyncio.get_running_loop() diff --git a/openbb_platform/providers/government_us/poetry.lock b/openbb_platform/providers/government_us/poetry.lock index 81c4a7e9e60..26a764c570d 100644 --- a/openbb_platform/providers/government_us/poetry.lock +++ b/openbb_platform/providers/government_us/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2048,4 +2048,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "b152442caa9bc7073d8c2d32ec3307626b28e59b9b1b8459fbac492ac7d272bd" +content-hash = "892abf07bf53a0e6826e4d177e61c459758aaa9077dd5d273581c0cc4cbd8985" diff --git a/openbb_platform/providers/government_us/pyproject.toml b/openbb_platform/providers/government_us/pyproject.toml index 655b256808b..db286745ef9 100644 --- a/openbb_platform/providers/government_us/pyproject.toml +++ b/openbb_platform/providers/government_us/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-government-us" -version = "1.2.2" +version = "1.2.3" description = "US Government Data Extension for OpenBB" authors = ["OpenBB "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_government_us" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" random-user-agent = "^1.0.1" [build-system] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py index 7c0cf34a9ce..7854b282db5 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py @@ -48,6 +48,7 @@ from openbb_intrinio.models.key_metrics import IntrinioKeyMetricsFetcher from openbb_intrinio.models.latest_attributes import IntrinioLatestAttributesFetcher from openbb_intrinio.models.market_snapshots import IntrinioMarketSnapshotsFetcher from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher +from openbb_intrinio.models.options_snapshots import IntrinioOptionsSnapshotsFetcher from openbb_intrinio.models.options_unusual import IntrinioOptionsUnusualFetcher from openbb_intrinio.models.price_target_consensus import ( IntrinioPriceTargetConsensusFetcher, @@ -98,6 +99,7 @@ historical financial market data to businesses and developers through an API.""" "MarketIndices": IntrinioIndexHistoricalFetcher, "MarketSnapshots": IntrinioMarketSnapshotsFetcher, "OptionsChains": IntrinioOptionsChainsFetcher, + "OptionsSnapshots": IntrinioOptionsSnapshotsFetcher, "OptionsUnusual": IntrinioOptionsUnusualFetcher, "PriceTargetConsensus": IntrinioPriceTargetConsensusFetcher, "ReportedFinancials": IntrinioReportedFinancialsFetcher, @@ -106,6 +108,6 @@ historical financial market data to businesses and developers through an API.""" "WorldNews": IntrinioWorldNewsFetcher, }, repr_name="Intrinio", - v3_credentials=["API_INTRINIO_KEY"], + deprecated_credentials={"API_INTRINIO_KEY": "intrinio_api_key"}, instructions="Go to: https://intrinio.com/starter-plan\n\n![Intrinio](https://user-images.githubusercontent.com/85772166/219207556-fcfee614-59f1-46ae-bff4-c63dd2f6991d.png)\n\nAn API key will be issued with a subscription. Find the token value within the account dashboard.", # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py index 3441983152d..2a1452450c6 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/cash_flow.py @@ -5,6 +5,7 @@ from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.cash_flow import ( CashFlowStatementData, @@ -251,13 +252,14 @@ class IntrinioCashFlowStatementFetcher( **kwargs: Any, ) -> List[Dict]: """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" statement_code = "cash_flow_statement" if query.period in ["quarter", "annual"]: period_type = "FY" if query.period == "annual" else "QTR" - if query.period in ["ttm", "ytd"]: + elif query.period in ["ttm", "ytd"]: period_type = query.period.upper() + else: + raise OpenBBError(f"Period '{query.period}' not supported.") base_url = "https://api-v2.intrinio.com" fundamentals_url = ( diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py index 7577e4225e9..0eb980e6f85 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py @@ -5,6 +5,7 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Literal, Optional, Union from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.company_news import ( CompanyNewsData, @@ -145,7 +146,7 @@ class IntrinioCompanyNewsData(CompanyNewsData): @field_validator("topics", mode="before", check_fields=False) @classmethod def topics_validate(cls, v): - """ "Parse the topics as a string.""" + """Parse the topics as a string.""" if v: topics = [t.get("name") for t in v if t and t not in ["", " "]] return ", ".join(topics) @@ -154,7 +155,7 @@ class IntrinioCompanyNewsData(CompanyNewsData): @field_validator("copyright", mode="before", check_fields=False) @classmethod def copyright_validate(cls, v): - """Clean empty strings""" + """Clean empty strings.""" return None if v in ["", " "] else v @@ -205,7 +206,7 @@ class IntrinioCompanyNewsFetcher( """Response callback.""" result = await response.json() if "error" in result: - raise RuntimeError(f"Intrinio Error Message -> {result['error']}") + raise OpenBBError(f"Intrinio Error Message -> {result['error']}") symbol = response.url.parts[-2] _data = result.get("news", []) data = [] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py index f1c9e5ba57d..dfa4d271810 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py @@ -6,6 +6,7 @@ from datetime import datetime, time from typing import Any, Dict, List, Literal, Optional from dateutil.relativedelta import relativedelta +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.equity_historical import ( EquityHistoricalData, @@ -212,7 +213,7 @@ class IntrinioEquityHistoricalFetcher( """Return the response.""" init_response = await response.json() if "error" in init_response: - raise RuntimeError( + raise OpenBBError( f"Intrinio Error Message -> {init_response['error']}: {init_response.get('message')}" # type: ignore ) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py index 6843380c2f8..5f6c43af563 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_holdings.py @@ -5,6 +5,7 @@ from datetime import date as dateType from typing import Any, Dict, List, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.etf_holdings import ( EtfHoldingsData, @@ -188,15 +189,14 @@ class IntrinioEtfHoldingsFetcher( **kwargs: Any, ) -> List[IntrinioEtfHoldingsData]: """Transform data.""" - if not data or isinstance(data, dict) and data.get("error"): if isinstance(data, list) and data == []: - raise RuntimeError( + raise OpenBBError( str( f"No holdings were found for {query.symbol}, and the response from Intrinio was empty." ) ) - raise RuntimeError(str(f"{data.get('message')} {query.symbol}: {data['error']}")) # type: ignore + raise OpenBBError(str(f"{data.get('message')} {query.symbol}: {data['error']}")) # type: ignore results: List[IntrinioEtfHoldingsData] = [] for d in sorted(data, key=lambda x: x["weighting"], reverse=True): diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py index 9668444ff46..79c945af4e1 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/etf_search.py @@ -4,6 +4,7 @@ import re from typing import Any, Dict, List, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.etf_search import ( EtfSearchData, @@ -85,7 +86,6 @@ class IntrinioEtfSearchFetcher( **kwargs: Any, ) -> List[Dict]: """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" BASE = "https://api-v2.intrinio.com/etfs" if query.exchange is not None: @@ -103,7 +103,7 @@ class IntrinioEtfSearchFetcher( if results.get("messages"): # type: ignore messages = results.get("messages") # type: ignore - raise RuntimeError(str(messages)) + raise OpenBBError(str(messages)) if results.get("etfs") and len(results.get("etfs")) > 0: # type: ignore data.extend(results.get("etfs")) # type: ignore @@ -127,7 +127,6 @@ class IntrinioEtfSearchFetcher( **kwargs: Any, ) -> List[IntrinioEtfSearchData]: """Transform data.""" - if not data: raise EmptyDataError("No data found.") diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py index 28cba446a2e..7c52b59b37d 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/financial_ratios.py @@ -3,6 +3,7 @@ import warnings from typing import Any, Dict, List, Literal, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.financial_ratios import ( FinancialRatiosData, @@ -153,13 +154,14 @@ class IntrinioFinancialRatiosFetcher( **kwargs: Any, ) -> List[Dict]: """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" statement_code = "calculations" if query.period in ["quarter", "annual"]: period_type = "FY" if query.period == "annual" else "QTR" - if query.period in ["ttm", "ytd"]: + elif query.period in ["ttm", "ytd"]: period_type = query.period.upper() + else: + raise OpenBBError(f"Period '{query.period}' not supported.") fundamentals_data: Dict = {} diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py index d3fa255b00c..574b61c9c9b 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_ebitda_estimates.py @@ -6,6 +6,7 @@ import asyncio from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_ebitda_estimates import ( ForwardEbitdaEstimatesData, @@ -136,7 +137,7 @@ class IntrinioForwardEbitdaEstimatesFetcher( data = await response.json() messages = data.get("messages") if messages: - raise RuntimeError(str(messages)) + raise OpenBBError(str(messages)) estimates = data.get("ebitda_consensus", []) # type: ignore if estimates and len(estimates) > 0: results.extend(estimates) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py index 3fab49a6684..aebfcbd9c1f 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_eps_estimates.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Literal, Optional, Union from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_eps_estimates import ( ForwardEpsEstimatesData, @@ -166,7 +167,7 @@ class IntrinioForwardEpsEstimatesFetcher( data = await response.json() messages = data.get("messages", None) if messages: - raise RuntimeError(str(messages)) + raise OpenBBError(str(messages)) if data.get("estimates") and len(data.get("estimates")) > 0: # type: ignore results.extend(data.get("estimates")) # type: ignore while data.get("next_page"): # type: ignore diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py index 0791c02e916..5498703e368 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py @@ -7,6 +7,7 @@ from datetime import date as dateType from typing import Any, Dict, List, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_pe_estimates import ( ForwardPeEstimatesData, @@ -108,7 +109,7 @@ class IntrinioForwardPeEstimatesFetcher( error = data.get("error", None) if error: message = data.get("message", None) - raise RuntimeError(f"Error: {error} -> {message}") + raise OpenBBError(f"Error: {error} -> {message}") forward_pe = data.get("forward_pe") if forward_pe and len(forward_pe) > 0: # type: ignore results.extend(forward_pe) # type: ignore diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py index b50259f0025..d68223a42b6 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Literal, Optional, Union from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_sales_estimates import ( ForwardSalesEstimatesData, @@ -185,7 +186,7 @@ class IntrinioForwardSalesEstimatesFetcher( data = await response.json() messages = data.get("messages") if messages: - raise RuntimeError(str(messages)) + raise OpenBBError(str(messages)) if data.get("estimates") and len(data.get("estimates")) > 0: # type: ignore results.extend(data.get("estimates")) # type: ignore while data.get("next_page"): # type: ignore diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py index 04e9d7fa8fd..59ff32e1002 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/income_statement.py @@ -5,6 +5,7 @@ from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.income_statement import ( IncomeStatementData, @@ -402,8 +403,11 @@ class IntrinioIncomeStatementFetcher( statement_code = "income_statement" if query.period in ["quarter", "annual"]: period_type = "FY" if query.period == "annual" else "QTR" - if query.period in ["ttm", "ytd"]: + elif query.period in ["ttm", "ytd"]: period_type = query.period.upper() + else: + raise OpenBBError(f"Period '{query.period}' not supported.") + data_tags = [ "ebit", "ebitda", diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py index 3e8f24879f5..c1dee2a6baa 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/market_snapshots.py @@ -12,6 +12,7 @@ from datetime import ( from io import BytesIO from typing import Any, Dict, List, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.market_snapshots import ( MarketSnapshotsData, @@ -124,7 +125,7 @@ class IntrinioMarketSnapshotsFetcher( try: dt = datetime.fromisoformat(str(transformed_params["date"])) # type: ignore except ValueError as exc: - raise ValueError( + raise OpenBBError( "Invalid date format. Please use '2024-03-08T12:15-0400'." ) from exc @@ -154,7 +155,7 @@ class IntrinioMarketSnapshotsFetcher( response = await amake_request(url, **kwargs) if isinstance(response, dict) and "error" in response: - raise RuntimeError( + raise OpenBBError( f"Error: {response.get('error')}. Message: {response.get('message')}" ) urls = [] @@ -166,7 +167,7 @@ class IntrinioMarketSnapshotsFetcher( if f.get("url"): urls.append(f.get("url")) if not urls: - raise RuntimeError("No snapshots found.") + raise OpenBBError("No snapshots found.") results = [] @@ -184,7 +185,7 @@ class IntrinioMarketSnapshotsFetcher( file = gzip.decompress(response) df = read_csv(BytesIO(file)) if df.empty: - raise RuntimeError("Empty CSV file") + raise OpenBBError("Empty CSV file.") df.columns = df.columns.str.lower().str.replace(" ", "_") df = ( diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py index 252a16766b3..e36828e8aee 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py @@ -6,7 +6,8 @@ from datetime import ( datetime, timedelta, ) -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Literal, Optional, Union +from warnings import warn from dateutil import parser from openbb_core.provider.abstract.fetcher import Fetcher @@ -14,12 +15,17 @@ from openbb_core.provider.standard_models.options_chains import ( OptionsChainsData, OptionsChainsQueryParams, ) +from openbb_core.provider.utils.errors import OpenBBError from openbb_core.provider.utils.helpers import ( ClientResponse, amake_requests, + get_querystring, ) +from openbb_intrinio.models.equity_historical import IntrinioEquityHistoricalFetcher +from openbb_intrinio.models.index_historical import IntrinioIndexHistoricalFetcher from openbb_intrinio.utils.helpers import get_data_many, get_weekday from pydantic import Field, field_validator +from pytz import timezone class IntrinioOptionsChainsQueryParams(OptionsChainsQueryParams): @@ -28,9 +34,75 @@ class IntrinioOptionsChainsQueryParams(OptionsChainsQueryParams): source: https://docs.intrinio.com/documentation/web_api/get_options_chain_eod_v2 """ + __alias_dict__ = { + "strike_gt": "strike_greater_than", + "strike_lt": "strike_less_than", + "volume_gt": "volume_greater_than", + "volume_lt": "volume_less_than", + "oi_gt": "open_interest_greater_than", + "oi_lt": "open_interest_less_than", + "option_type": "type", + } + date: Optional[dateType] = Field( default=None, description="The end-of-day date for options chains data." ) + option_type: Literal[None, Union["call", "put"]] = Field( + default=None, + description="The option type, call or put, 'None' is both (default).", + json_schema_extra={"choices": ["call", "put"]}, + ) + moneyness: Literal["otm", "itm", "all"] = Field( + default="all", + description="Return only contracts that are in or out of the money, default is 'all'." + + " Parameter is ignored when a date is supplied.", + json_schema_extra={"choices": ["otm", "itm", "all"]}, + ) + strike_gt: Optional[int] = Field( + default=None, + description="Return options with a strike price greater than the given value." + + " Parameter is ignored when a date is supplied.", + ) + strike_lt: Optional[int] = Field( + default=None, + description="Return options with a strike price less than the given value." + + " Parameter is ignored when a date is supplied.", + ) + volume_gt: Optional[int] = Field( + default=None, + description="Return options with a volume greater than the given value." + + " Parameter is ignored when a date is supplied.", + ) + volume_lt: Optional[int] = Field( + default=None, + description="Return options with a volume less than the given value." + + " Parameter is ignored when a date is supplied.", + ) + oi_gt: Optional[int] = Field( + default=None, + description="Return options with an open interest greater than the given value." + + " Parameter is ignored when a date is supplied.", + ) + oi_lt: Optional[int] = Field( + default=None, + description="Return options with an open interest less than the given value." + + " Parameter is ignored when a date is supplied.", + ) + model: Literal["black_scholes", "bjerk"] = Field( + default="black_scholes", + description="The pricing model to use for options chains data, default is 'black_scholes'." + + " Parameter is ignored when a date is supplied.", + ) + show_extended_price: bool = Field( + default=True, + description="Whether to include OHLC type fields, default is True." + + " Parameter is ignored when a date is supplied.", + ) + include_related_symbols: bool = Field( + default=False, + description="Include related symbols that end in a 1 or 2 because of a corporate action," + + " default is False.", + ) class IntrinioOptionsChainsData(OptionsChainsData): @@ -41,28 +113,42 @@ class IntrinioOptionsChainsData(OptionsChainsData): "symbol": "ticker", "eod_date": "date", "option_type": "type", + "last_trade_time": "last_timestamp", + "last_trade_price": "last", + "last_trade_size": "last_size", + "ask_time": "ask_timestamp", + "bid_time": "bid_timestamp", + "open": "trade_open", + "high": "trade_high", + "low": "trade_low", + "close": "trade_close", } - exercise_style: Optional[str] = Field( - default=None, - description="The exercise style of the option, American or European.", - ) - @field_validator( - "date", "close_time", "close_ask_time", "close_bid_time", + "ask_time", + "bid_time", + "last_trade_time", mode="before", check_fields=False, ) @classmethod - def date_validate(cls, v): # pylint: disable=E0213 + def date_validate(cls, v): """Return the datetime object from the date string.""" - # only pass it to the parser if it is not a datetime object if isinstance(v, str): - return parser.parse(v) - return v + dt = parser.parse(v) + dt = dt.replace(tzinfo=timezone("UTC")) + dt = dt.astimezone(timezone("America/New_York")) + return dt.replace(microsecond=0) + return v if v else None + + @field_validator("volume", "open_interest", mode="before", check_fields=False) + @classmethod + def volume_oi_validate(cls, v): + """Return the volume as an integer.""" + return 0 if v is None else v class IntrinioOptionsChainsFetcher( @@ -73,28 +159,27 @@ class IntrinioOptionsChainsFetcher( @staticmethod def transform_query(params: Dict[str, Any]) -> IntrinioOptionsChainsQueryParams: """Transform the query.""" - transform_params = params.copy() - if params.get("date") is not None: - if isinstance(params["date"], dateType): - transform_params["date"] = params["date"].strftime("%Y-%m-%d") - else: - transform_params["date"] = parser.parse(params["date"]).date() - - return IntrinioOptionsChainsQueryParams(**transform_params) + return IntrinioOptionsChainsQueryParams(**params) @staticmethod async def aextract_data( query: IntrinioOptionsChainsQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, - ) -> List[Dict]: + ) -> Dict: """Return the raw data from the Intrinio endpoint.""" api_key = credentials.get("intrinio_api_key") if credentials else "" base_url = "https://api-v2.intrinio.com/options" + date = query.date if query.date is not None else datetime.now().date() + date = get_weekday(date) + async def get_urls(date: str) -> List[str]: """Return the urls for the given date.""" + date = (datetime.strptime(date, "%Y-%m-%d") - timedelta(days=1)).strftime( + "%Y-%m-%d" + ) url = ( f"{base_url}/expirations/{query.symbol}/eod?" f"after={date}&api_key={api_key}" @@ -102,9 +187,37 @@ class IntrinioOptionsChainsFetcher( expirations = await get_data_many(url, "expirations", **kwargs) def generate_url(expiration) -> str: - url = f"{base_url}/chain/{query.symbol}/{expiration}/eod?date=" + url = f"{base_url}/chain/{query.symbol}/{expiration}/" if query.date is not None: - url += date + query_string = get_querystring( + query.model_dump(exclude_none=True), + [ + "symbol", + "date", + "model", + "volume_greater_than", + "volume_less_than", + "moneyness", + "open_interest_greater_than", + "open_interest_less_than", + "show_extended_price", + ], + ) + url = url + f"eod?date={query.date}&{query_string}" + else: + if query.moneyness: + moneyness = ( + "out_of_the_money" + if query.moneyness == "otm" + else "in_the_money" if query.moneyness == "itm" else "all" + ) + + query_string = get_querystring( + query.model_dump(exclude_none=True), + ["symbol", "date", "moneyness"], + ) + url = url + f"realtime?{query_string}&moneyness={moneyness}" + return url + f"&api_key={api_key}" return [generate_url(expiration) for expiration in expirations] @@ -114,28 +227,98 @@ class IntrinioOptionsChainsFetcher( response_data = await response.json() return response_data.get("chain", []) - date = datetime.now().date() if query.date is None else query.date - date = get_weekday(date) - results = await amake_requests( await get_urls(date.strftime("%Y-%m-%d")), callback, **kwargs ) - - if not results: - urls = await get_urls( - get_weekday(date - timedelta(days=1)).strftime("%Y-%m-%d") - ) + # If the EOD chains are not available for the given date, try the previous day + if not results and query.date is not None: + date = get_weekday(date - timedelta(days=1)).strftime("%Y-%m-%d") + urls = await get_urls(date) results = await amake_requests(urls, response_callback=callback, **kwargs) - return results + if not results: + raise OpenBBError(f"No data found for the given symbol: {query.symbol}") + + output: Dict = {} + underlying_price: Dict = {} + # If the EOD chains are requested, get the underlying price on the given date. + if query.date is not None: + if query.symbol.endswith("W") and query.symbol.startswith("SPX"): + query.symbol = query.symbol[:-1] + temp = None + try: + temp = await IntrinioEquityHistoricalFetcher.fetch_data( + {"symbol": query.symbol, "start_date": date, "end_date": date}, + credentials, + ) + temp = temp[0] + # If the symbol is SPX, or similar, try to get the underlying price from the index. + except Exception as e: + try: + temp = await IntrinioIndexHistoricalFetcher.fetch_data( + {"symbol": query.symbol, "start_date": date, "end_date": date}, + credentials, + ) + temp = temp[0] + except Exception: + warn(f"Failed to get underlying price for {query.symbol}: {e}") + if temp: + underlying_price["symbol"] = query.symbol + underlying_price["price"] = temp.close + underlying_price["date"] = temp.date.strftime("%Y-%m-%d") + + output = {"underlying": underlying_price, "data": results} + + return output @staticmethod def transform_data( - query: IntrinioOptionsChainsQueryParams, data: List[Dict], **kwargs: Any + query: IntrinioOptionsChainsQueryParams, + data: Dict, + **kwargs: Any, ) -> List[IntrinioOptionsChainsData]: """Return the transformed data.""" - data = [{**item["option"], **item["prices"]} for item in data] - data = sorted( - data, key=lambda x: (x["expiration"], x["strike"], x["type"]), reverse=False + results: List[IntrinioOptionsChainsData] = [] + chains = data.get("data", []) + underlying = data.get("underlying", {}) + last_price = underlying.get("price") + if query.date is not None: + for item in chains: + new_item = {**item["option"], **item["prices"]} + new_item["dte"] = ( + datetime.strptime(new_item["expiration"], "%Y-%m-%d").date() + - datetime.strptime(new_item["date"], "%Y-%m-%d").date() + ).days + if last_price: + new_item["underlying_price"] = last_price + _ = new_item.pop("exercise_style", None) + new_item["underlying_symbol"] = new_item.pop("ticker") + results.append(IntrinioOptionsChainsData.model_validate(new_item)) + else: + for item in chains: + new_item = { + **item["option"], + **item["price"], + **item["stats"], + **item["extended_price"], + } + dte = ( + datetime.strptime(new_item["expiration"], "%Y-%m-%d").date() + - datetime.now().date() + ).days + new_item["dte"] = dte + new_item["underlying_symbol"] = new_item.pop( + "underlying_price_ticker", None + ) + underlying["date"] = datetime.now().date() + new_item["underlying_price"] = new_item.pop("underlying_price", None) + _ = new_item.pop("ticker", None) + _ = new_item.pop("trade_exchange", None) + _ = new_item.pop("exercise_style", None) + results.append(IntrinioOptionsChainsData.model_validate(new_item)) + + return sorted( + results, + key=lambda x: (x.expiration, x.strike, x.option_type), + reverse=False, ) - return [IntrinioOptionsChainsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py new file mode 100644 index 00000000000..cee1273238f --- /dev/null +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_snapshots.py @@ -0,0 +1,329 @@ +"""Intrinio Options Snapshots Model.""" + +# pylint: disable=unused-argument + +import gzip +from datetime import ( + date as dateType, + datetime, +) +from io import BytesIO +from typing import Any, Dict, List, Optional, Union + +import numpy as np +from openbb_core.app.model.abstract.error import OpenBBError +from openbb_core.provider.abstract.fetcher import Fetcher +from openbb_core.provider.standard_models.options_snapshots import ( + OptionsSnapshotsData, + OptionsSnapshotsQueryParams, +) +from openbb_core.provider.utils.helpers import amake_request +from pandas import DataFrame, NaT, Series, read_csv, to_datetime +from pydantic import Field +from pytz import timezone + + +class IntrinioOptionsSnapshotsQueryParams(OptionsSnapshotsQueryParams): + """Intrinio Options Snapshots Query. + + Source: https://docs.intrinio.com/documentation/web_api/get_options_snapshots_v2 + """ + + date: Optional[Union[dateType, datetime, str]] = Field( + default=None, + description="The date of the data. Can be a datetime or an ISO datetime string." + + " Data appears to go back to around 2022-06-01" + + " Example: '2024-03-08T12:15:00+0400'", + ) + only_traded: bool = Field( + default=True, + description="Only include options that have been traded during the session, default is True." + + " Setting to false will dramatically increase the size of the response - use with caution.", + ) + + +class IntrinioOptionsSnapshotsData(OptionsSnapshotsData): + """Intrinio Options Snapshots Data. Warning: This is a large file.""" + + bid: Optional[float] = Field( + default=None, + description="The last bid price at the time.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + bid_size: Optional[int] = Field( + default=None, + description="The size of the last bid price.", + ) + bid_timestamp: Optional[datetime] = Field( + default=None, + description="The timestamp of the last bid price.", + ) + ask: Optional[float] = Field( + default=None, + description="The last ask price at the time.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + ask_size: Optional[int] = Field( + default=None, + description="The size of the last ask price.", + ) + ask_timestamp: Optional[datetime] = Field( + default=None, + description="The timestamp of the last ask price.", + ) + total_bid_volume: Optional[int] = Field( + default=None, + description="Total volume of bids.", + ) + bid_high: Optional[float] = Field( + default=None, + description="The highest bid price.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + bid_low: Optional[float] = Field( + default=None, + description="The lowest bid price.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + total_ask_volume: Optional[int] = Field( + default=None, + description="Total volume of asks.", + ) + ask_high: Optional[float] = Field( + default=None, + description="The highest ask price.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + ask_low: Optional[float] = Field( + default=None, + description="The lowest ask price.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) + + +class IntrinioOptionsSnapshotsFetcher( + Fetcher[ + IntrinioOptionsSnapshotsQueryParams, + List[IntrinioOptionsSnapshotsData], + ] +): + """Intrinio Options Snapshots Fetcher.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> IntrinioOptionsSnapshotsQueryParams: + """Transform the query params.""" + transformed_params = params.copy() + if "date" in transformed_params: + if isinstance(transformed_params["date"], datetime): + dt = transformed_params["date"] + dt = dt.astimezone(tz=timezone("America/New_York")) + if isinstance(transformed_params["date"], dateType): + dt = transformed_params["date"] # type: ignore + if isinstance(dt, dateType): + dt = datetime( + dt.year, + dt.month, + dt.day, + 16, + 15, + 0, + 0, + tzinfo=timezone("America/New_York"), + ) + if isinstance(transformed_params["date"], str): + dt = datetime.fromisoformat(transformed_params["date"]) + else: + try: + dt = datetime.fromisoformat(str(transformed_params["date"])) # type: ignore + except ValueError as exc: + raise OpenBBError( + "Invalid date format. Please use '2024-03-08T12:15-0400'." + ) from exc + + transformed_params["date"] = ( + dt.strftime("%Y-%m-%dT%H:%M:%S.%f%z") + .replace("+", "-") + .replace("T00:", "T20:") + if isinstance(dt, datetime) + else dt + ) + return IntrinioOptionsSnapshotsQueryParams(**transformed_params) + + @staticmethod + async def aextract_data( + query: IntrinioOptionsSnapshotsQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> DataFrame: + """Return the raw data from the Intrinio endpoint.""" + api_key = credentials.get("intrinio_api_key") if credentials else "" + + # This gets the URL to the actual file. + url = f"https://api-v2.intrinio.com/options/snapshots?api_key={api_key}" + if query.date: + url += f"&at_datetime={query.date}" + + try: + response = await amake_request(url, **kwargs) + except Exception as exc: + raise OpenBBError("Could not fetch data from Intrinio.") from exc + + if isinstance(response, dict) and "error" in response: + raise OpenBBError( + f"{response.get('error')}. Message: {response.get('message')}" + ) + urls = [] + # Get the URL to the CSV file. + if response.get("snapshots"): # type: ignore + for d in response["snapshots"]: # type: ignore + if d.get("files"): + for f in d["files"]: + if f.get("url"): + urls.append(f.get("url")) + if not urls: + raise OpenBBError("No snapshots found.") + + async def response_callback(response, _): + """Response Callback.""" + return await response.read() + + async def get_csv(url) -> DataFrame: + """Return the CSV data.""" + try: + response = await amake_request( + url, response_callback=response_callback, **kwargs + ) + df = DataFrame() + if isinstance(response, bytes): + file = gzip.decompress(response) + df = read_csv(BytesIO(file)) + + return df + + except Exception as exc: + try: + df = read_csv(response) + return df + except Exception: + raise OpenBBError("Could not read file from URL.") from exc + + # There should only be one URL with this bulk data. + return await get_csv(urls[0]) + + @staticmethod + def transform_data( + query: IntrinioOptionsSnapshotsQueryParams, + data: DataFrame, + **kwargs: Any, + ) -> List[IntrinioOptionsSnapshotsData]: + """Return the transformed data.""" + df = data + if df.empty: + raise OpenBBError("Empty CSV file") + COL_MAP = { + "CONTRACT ID": "contract_symbol", + "OPEN INTEREST": "open_interest", + "TRADE PRICE": "last_price", + "TRADE SIZE": "last_size", + "TOTAL TRADE VOLUME": "volume", + "LAST TRADE TIMESTAMP": "last_timestamp", + "TRADE HIGH PRICE": "high", + "TRADE LOW PRICE": "low", + "ASK PRICE": "ask", + "ASK SIZE": "ask_size", + "LAST ASK TIMESTAMP": "ask_timestamp", + "BID PRICE": "bid", + "BID SIZE": "bid_size", + "LAST BID TIMESTAMP": "bid_timestamp", + "TOTAL ASK VOLUME": "total_ask_volume", + "ASK HIGH PRICE": "ask_high", + "ASK LOW PRICE": "ask_low", + "TOTAL BID VOLUME": "total_bid_volume", + "BID HIGH PRICE": "bid_high", + "BID LOW PRICE": "bid_low", + } + df = df.rename(columns=COL_MAP) + to_drop_na = ( + ["bid_timestamp", "ask_timestamp", "last_timestamp"] + if query.only_traded is True + else ["bid_timestamp", "ask_timestamp"] + ) + df = df.dropna(subset=to_drop_na + ["contract_symbol"]) + for col in ["last_timestamp", "bid_timestamp", "ask_timestamp"]: + # Convert Unix timestamp to tz-aware datetime + df[col] = ( + to_datetime(df[col].replace("", None).astype(float), unit="s") + .dt.tz_localize(timezone("UTC")) + .dt.tz_convert(timezone("America/New_York")) + .dt.floor("s") + ) + + # Extract the underlying symbol, expiration, option type, and strike. + symbols = Series(df["contract_symbol"].copy()) + df["underlying_symbol"] = symbols.str.extract(r"^(?P[^_]*)") + split_symbols = symbols.str.rsplit("_", n=1).str[-1] + df["expiration"] = to_datetime( + [symbol[:6] for symbol in split_symbols], + format="%y%m%d", + ) + df["option_type"] = split_symbols.str.extract( + r"^\d*(?P\D)" + ).replace({"C": "call", "P": "put"}) + df["strike"] = [ + ( + symbol[7:].lstrip("0")[:-3] + "." + symbol[7:].lstrip("0")[-3:] + if "." not in symbol[7:] + else symbol[7:] + ) + for symbol in split_symbols + ] + + def calculate_dte(df): + """Calculate the DTE.""" + new_df = df[ + ["expiration", "last_timestamp", "bid_timestamp", "ask_timestamp"] + ].copy() + conditions = [ + new_df["last_timestamp"].notna(), + new_df["bid_timestamp"].notna(), + new_df["ask_timestamp"].notna(), + ] + choices = [ + (new_df["expiration"].dt.date - new_df["last_timestamp"].dt.date) + .apply(lambda x: x) + .dt.days, + (new_df["expiration"].dt.date - new_df["bid_timestamp"].dt.date) + .apply(lambda x: x) + .dt.days, + (new_df["expiration"].dt.date - new_df["ask_timestamp"].dt.date) + .apply(lambda x: x) + .dt.days, + ] + new_df["dte"] = np.select(conditions, choices, default=None) + return new_df["dte"] + + df["dte"] = calculate_dte(df) + + def apply_contract_symbol(x): + """Construct the OCC Contract Symbol.""" + symbol = x.split("_")[0].replace("_", "") + exp = x.rsplit("_")[-1][:6] + cp = x.rsplit("_")[-1][6] + strike = x.rsplit("_")[-1][7:] + _strike = strike.split(".") + front = "0" * (5 - len(_strike[0])) + back = "0" * (3 - len(_strike[1])) + strike = f"{front}{_strike[0]}{_strike[1]}{back}" + return symbol + exp + cp + strike + + if symbols.str.contains("\.").any(): # noqa + df["contract_symbol"] = df["contract_symbol"].apply(apply_contract_symbol) + else: + df["contract_symbol"] = symbols.str.replace("_", "") + df = df.replace({NaT: None, np.nan: None}) + df = df.sort_values(by="volume", ascending=False) + + return [ + IntrinioOptionsSnapshotsData.model_validate(d) + for d in df.to_dict(orient="records") + ] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py index 1719d65f85e..b462a7c8338 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_unusual.py @@ -10,6 +10,7 @@ from datetime import ( from typing import Any, Dict, List, Literal, Optional, Union from dateutil.parser import parse +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.options_unusual import ( OptionsUnusualData, @@ -88,7 +89,6 @@ class IntrinioOptionsUnusualQueryParams(OptionsUnusualQueryParams): @classmethod def validate_params(cls, params): """Validate the query parameters.""" - if params.get("start_date") is None: # If the symbol is provided, there will be considerably less results. # Broad market data needs to be confined to a single date. @@ -120,7 +120,7 @@ class IntrinioOptionsUnusualQueryParams(OptionsUnusualQueryParams): params.get("symbol") is None and (params.get("end_date") - params.get("start_date")).days >= 1 ): - raise RuntimeError( + raise OpenBBError( "When no symbol is supplied, queries are not allowed if" + " the date range covers more than one trading day." + " Supply only the start_date for queries with no symbol." diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py index fce965c4c7f..6a5ad530618 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/price_target_consensus.py @@ -7,6 +7,7 @@ from datetime import date as dateType from typing import Any, Dict, List, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.price_target_consensus import ( PriceTargetConsensusData, @@ -132,7 +133,7 @@ class IntrinioPriceTargetConsensusFetcher( data = await response.json() messages = data.get("messages") if messages: - raise RuntimeError(str(messages)) + raise OpenBBError(str(messages)) _data = data.get("target_price_consensuses") if _data and len(_data) > 0: results.extend(_data) # type: ignore diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py index 6b60ab9c289..7b14b4f399f 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/reported_financials.py @@ -3,6 +3,7 @@ import warnings from typing import Any, Dict, List, Literal, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.reported_financials import ( ReportedFinancialsData, @@ -99,7 +100,7 @@ class IntrinioReportedFinancialsFetcher( ids = filings.iloc[: query.limit]["id"].to_list() if ids == []: - raise RuntimeError("No reports found.") + raise OpenBBError("No reports found.") async def callback(response: ClientResponse, _: Any) -> Dict: """Return the response.""" diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py b/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py index 572a0ce6393..b55b72543a5 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/utils/helpers.py @@ -9,6 +9,7 @@ from datetime import ( from io import StringIO from typing import Any, Dict, List, Optional, TypeVar, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import ( ClientResponse, @@ -64,10 +65,10 @@ async def response_callback( if isinstance(data, dict) and response.status != 200: if message := data.get("error", None) or data.get("message", None): - raise RuntimeError(f"Error in Intrinio request -> {message}") + raise OpenBBError(f"Error in Intrinio request -> {message}") if error := data.get("Error Message", None): - raise RuntimeError(f"Intrinio Error Message -> {error}") + raise OpenBBError(f"Intrinio Error Message -> {error}") if isinstance(data, (str, float)): data = {"value": data} diff --git a/openbb_platform/providers/intrinio/poetry.lock b/openbb_platform/providers/intrinio/poetry.lock index 03fe1c42e21..0f2ad166822 100644 --- a/openbb_platform/providers/intrinio/poetry.lock +++ b/openbb_platform/providers/intrinio/poetry.lock @@ -996,13 +996,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2122,4 +2122,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "00118ad9613d637364467a191d8088cea8837b1ad9b6d8d95d2ace27f7724ec1" +content-hash = "b43271976f223a951406fc8e66b4b8203bad9390dd44856a1c1009ad803958cc" diff --git a/openbb_platform/providers/intrinio/pyproject.toml b/openbb_platform/providers/intrinio/pyproject.toml index 1c4a723deb7..b2531ba4550 100644 --- a/openbb_platform/providers/intrinio/pyproject.toml +++ b/openbb_platform/providers/intrinio/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-intrinio" -version = "1.2.2" +version = "1.2.3" description = "Intrinio extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -10,7 +10,7 @@ packages = [{ include = "openbb_intrinio" }] [tool.poetry.dependencies] python = "^3.8" requests-cache = "^1.1.0" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher.yaml index 1bafb9f775d..b7eef521956 100644 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher.yaml +++ b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_options_chains_fetcher.yaml @@ -9,13 +9,15 @@ interactions: Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/options/expirations/AAPL/eod?after=2023-09-15&api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/options/expirations/AAPL/eod?after=2023-09-14&api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIABTfgWUAA0zQMQ7CMAwF0LtkxtK36yaEqyAGBoYugIABCXF3kpZYf3yyv+3kky7v+/I4v5bb - 9ZkOx2SwLFDRnHYds6iJ1gFURhZDoGXKBu+ZUfGeIZQY4OsADThXJtE5YHGO9z3GoEyDEfAfMK3n - VIYRlNuwZ2igLXXCeOkGEDAFIFYYICi3IQ/0r6oMS6fvDwAA//8DAKERWVGkAQAA + H4sIAADobGYAA0zSMU7EMBBG4bukxtL8Y8dJuAqioKDYhl0BBRLi7tixPHnlp4zsp4l/l/efx+3z + 7ft2//hanl8WN69JnrQvTwNWCSXVgfUcOybsIGpyC+TkCrQDtoHSD5hjDe3LGrC4tPSjrzHbo+CE + eWBLXoGZM8Axi3t66E4IUAEsqm1NWYAXQByTAZYDhaGFoYWhhaGZoQ0OiGPGMbtC264zgCV62zBx + HS2GiqFiqCI0n//0IBwQx2bogAKKjZ6YGx0wYG409+fiG2GAOGZ1or+qg3Cghb7+/QMAAP//AwAb + QEJ4HQMAAA== headers: Connection: - keep-alive @@ -24,7 +26,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Dec 2023 18:21:08 GMT + - Sat, 15 Jun 2024 01:01:52 GMT Transfer-Encoding: - chunked Vary: @@ -42,193 +44,11 @@ interactions: Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-15/eod?api_key=MOCK_API_KEY&date=2023-09-15 + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-05/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False response: body: string: !!binary | - H4sIABTfgWUAA7ydS49cubHnv4vW1gEjGHzV7mK2d+GFVzMYGJpuwRasdje65TvjMfzdhzwPMiLI - yuRh9kgwjJYqk1lZ+at/MN7/+vDDXz99+fuHt//xrw8///Lty8/5P//14Yeff/z84e3Df/zHH/8T - yVhw/83k/zf5z4c/fPj25Ye/ff71/HL+++f/88uXXz8dT/2ABumjsR/B5a/89u3XL3/LB+WnbiY/ - 8Z+/lFN/+PT164d//+HDL79++eHzb+Xlfvz07fPxXPvRpOO5P3z9+bf8j/mJ/vzLn3/78n/zv8D1 - 129ffpLP+hOEN0pvCJv3+N+vM/78v778uJ/j2D9cZxnD/3FwYnpz+X+wgbXtxE+//U1+Z/kfrhOd - 5f/4/MT/+vnrP3463tbPv3z++3Vu+e/6Oun8+/VO7Pn3L3//9vnXz799y8+OMR/w1y9/+ev1hK8/ - /+/rrJ8+/Xqc4/KPoHxX/HHl7+yx5cdQv3z+/fqyLZ/1519/+FI+i2///Lojkt/Cl59++frl849/ - zm8lY/D1y7d/lodjgvwt/fj567dP+7ONg3zAXz799NP5d0P569/++rl8/WP5B3Ax/zw+/+X4OkQM - //73H55iadaxNL8jlkTuIZgmvQFtBsMUmDSDJcEWU+iwBNdj6XCKStoQkFMZnHnAZVRcUs8lWHrK - JUgqIdyikm5SScELLGOIEkvvJJboEsMSk53BEtMylvmpL2AZJJb2AZTxzcQ3dFsIrofS91D6MCuW - xvViGXoqyUxRaTdHwKm0jMkgmQRQTLqOSSTbkCyPv0gKTCq9ewxlUFAGCaW7B6Wn6ASU5eU5k84r - qeRKiejsDJLRLSMZ3e+HJJj3mKQ/gctC+oY2/1qbnsmwKJQubjamHsk4sN8xTTFZT6z22zyAEp9C - Cc6Fi8q//+Pr15PK4z8rlcEZ/kcLJ0pGo2I0vsao8VI4g2LUk9LN8v01SPMbnIJ0XTfjK7oZFaTu - XUoPBtxbvj2ENDDnA0o9zionDJQz9ZjaOUr9RiBvmc4zTKPC1CpMfYcpJXbNLI+/YEqM0qiwtI+x - TBJLfw9LZxNJe66vmUFdMxEEl4GmuAzr4hleEc8kucSHVNJ+h0vGTtlzmnN+MCPdOz8wEM9Je14P - vKgkxmRSTJJiMgx8n/K6lTYaQnlp4/UwJZVJMgkvKaULNnIkAbxCMilzni+VDEkbHE0huS6V4QWp - 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 - AQA= + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= headers: Connection: - keep-alive @@ -237,7 +57,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Dec 2023 18:21:08 GMT + - Sat, 15 Jun 2024 01:01:52 GMT Transfer-Encoding: - chunked Vary: @@ -255,11 +75,383 @@ interactions: Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-13/eod?api_key=MOCK_API_KEY&date=2023-09-15 + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-10/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False response: body: string: !!binary | - H4sIABTfgWUAA9ydS5MkN27Hv0ufNRkESPBRt429+jAHnexwbIxHHasOjR4xGtkrb+i7m8ysYhJI + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-12-18/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-03/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-29/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-03-21/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-08/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-24/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-05/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-28/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-12/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-02/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-03/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-13/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA9ydS5MkN27Hv0ufNRkESPBRt429+jAHnexwbIxHHasOjR4xGtkrb+i7m8ysYhJI dhXIqh7L3tiDqjqT9frNnwCIxz+fPn7/4eWnp9O//fPp51++vPyc//OfTx9//u756fT0l7+8/xe0 YMD+1Rj0ZIx5+ubpy8vHH54/n/+cHz//45eXzx+2W5/QoH0H5h3Y/Jdfv3x++SEvlG9dTL7x91/K qh8/fPr09Mc3T798fvn4/Gt5ue8+fHm+3GvSO6B878dPP/+anzSLwfODv/368t/5GX95+OXlx/Yu @@ -403,7 +595,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Dec 2023 18:21:08 GMT + - Sat, 15 Jun 2024 01:01:52 GMT Transfer-Encoding: - chunked Vary: @@ -421,11 +613,715 @@ interactions: Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-06/eod?api_key=MOCK_API_KEY&date=2023-09-15 + uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-01-16/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False response: body: string: !!binary | - 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 + //8DAFbpwfqCBwEA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-26/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-16/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-10-18/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-24/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-23/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-31/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-26/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-09/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-14/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-08-02/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-05-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-10/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-06-18/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-09-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-01/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-05/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-06/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA9ydS3McuZHHvwvPUgUyE8++OXzdgw4+7caGQ9YwPIzRPEIj79rrmO++AKq6gMwC uwF0UTveiTmIZDeaTf74zwfy8c+nT99/fPnp6fIf/3z6+ZevLz/Hf/7z6dPP3z0/XZ7+8IcP/4YE Stk/KoXWKKWe3j19ffn0w/OX7cvx4+e///Ly5eP61CdUSO9BvVc2fuXXr19efogHxacuKj7xH7+k Uz99/Pz56bd3T798efn0/Gt6ue8+fn2+PleF92Dicz99/vnX+Em1KNg++POvL/8TP6OvH359+ZE9 @@ -568,7 +1464,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Dec 2023 18:21:08 GMT + - Sat, 15 Jun 2024 01:01:52 GMT Transfer-Encoding: - chunked Vary: @@ -586,2505 +1482,11 @@ interactions: Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-08/eod?api_key=MOCK_API_KEY&date=2023-09-15 + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-16/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False response: body: string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-12-19/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - mdX677//r9//HwAAAP//AwAADGOo+vQAAA== - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-17/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - gTJnd/7rj/8HAAD//wMAWSnLfwAEAQA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-01/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-09-20/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-03/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-20/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - //8DAKM962j+/gAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-19/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - cFscMea6jP/64/8BAAD//wMAggb4WjzUAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-22/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-10/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-22/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA+ydS48lubHfv0uv1QnGg6/aXXjrxV14ZcMQRqOG1FCPZjDTsq8s6LubZOYhGZGs - c5g8Va2+sAez6KqTyfP61Z8RwXj848OPf/7h818/vPyPf3z4+Zevn39O//zHhx9//uOnDy8f/u3f - /v2/IpmI+F+MQWeNMR9+9+Hr5x//8unX4+H086f/+OXzrz/st35Ag/TRxI+I6ZHfvv76+S9poXTr - ZtKNf/8lr/rjD1++fPjn7z788uvnHz/9lp/ujz98/dTdCzbd++OXn39LvzSbgeOH3//2+f+k39Qf - v37+Sd713yC8ILxQ3ADif7+t8fs/fP6jXCf94rYWxv6XYsXwEdOK9oX4hcwWyLcVf/jtL3LF9Itj - RXKu/+XgNcYXm/73mwPKK/6vn7/8LV+Dv0uf/6e/3tbN/+6fp/zcvZPy8+e/fv3066ffvqY3wi4t - 8OfPf/pzuSC9qy8//+/btT/98GtdJ7+o/rL8c3dp/hTqw8fP3cOf/uPTrz9+zl/F179/KYSkd/D5 - p1++fP70x9+nd5Io+PL569/z5TE4THf88dOXrz+U2w3Y9BL/9MNPPx0/m/z41z9/yo9/zL8I7NPn - 8elPt+vxn//83WMqzTqV5r2pDB/JZIasy984Rpyi0gZ7h0qCwlBIqKW7eYpKIDNFpduCiz2VzjyF - ZbTxRuVf//bly0Hl/s9/DZVsWUEZFJSooQQJJc9Qade10n4jraQkay/Gb8bZKSrZmlepjB8N5BUT - Qxw3tvFNqYQNjOuphKegtMF/Z1JpyCqpdKyoZEUlsaQyTFG5rpX2DbUyvkKlSd84vxj3YuzGht6I - ypAgfwG3MeAclWwXqbynlfHxFu7C96WVwRlHEkuvd3CnsES5g9OUWPK6WPIbimW4g2USS3ph3NDM - iaVluodlWZHNC4aNon3fLRzvqeVjLGOE7wxLcE6ppd7Co6ISoqByDsp1reRntBLndvCMkH8h+2Jw - 4zjp7bzu7KQFXaGcM+XGva1Z6Tfw5jVnBy8jiei/M6n0vuwaPZNRMknarARpVrKbgZLWlZLeUCnp - FSiBju2WKL2nOaUkcg+ptMkLhy16eF+lpKeEEinvht8VlcgxCCrV9k16+84XdFDaKaWkdaWkN7Qq - s+kxlkpfvnFKwryR83NS+boHvi9Ytm8TNwduDkqcgzJsFmwPpaWntJIgL/A9UemSWEqtRCDJJavA - kI+SS0czXOK6WOJb+uDu1T085G+dMO/hBufATH9sd8iE4oUnq8DaLfI7k+nvOTzePnZ4yOJlNPO6 - 74cm+ijDQ4jKtswhSoFmkGj6OTTXJRPfUjLv7ON5E0/isxFMKqYJ98DEw1zlitFDMCMGntzIvY9v - F0tPcrQgmfSOXFqfHe8eS3YSS2sVll6al8HOYAnermIJfrPvjiVniNKXzglLHyY38rt6WbDkRGby - osKkIz6pl9mNcrNU0uOoZXYwvisoLWQnp6fSekmlMi+9swLKOKWVsL6Nw7cIpSetdC8GEhebJZ6D - Eu9CSUe8KUm9D2YOSrsYSr/n8zyGEth8b1KJ7BWVTrniTmulFeEhNDCFJa5rJb6dVr6KJeavnJMl - GDfmufgQmXuu+I5l8nqSJRj8257wnANEcM/teQwm5r+H74lLjj44yWUAyaVHzSVKLuMUl+umJbyh - acmvcVnillgoin7yPPwBlfySbUu/GTuXo5HMfJrCkjZPII54+Cm5RGjB9P2GmaPHd8XSF4+mxzIq - 09KraLpncfSY3tMMlmbdtDRvaFqCucNlKFxy+lDmuIQHXJa8j2xZ8uTJ42rgEp47EAfD+J1hyeik - x0M6RhQ0liSOHnHKtjTrtqV5Q9uSX/V4yneO9sUkKfJmikq+R+V+lOmTvZp2pDBFpV89d6R7VOJj - sTTRdlTiHJX4nlQCowwPEUkqddwSpWXJc1CuW5bmDS3L+0wyZi88xMmoZSP8FSo5LZczN930IU+c - wjI7PCy0MtyzLB9jGewrWon/Iq2k9IpkPJ1yNKinElT2kJcH4minsofMumVpnrEsJ0/Ej+88pO0s - mW1z2UPurh9+g4hhC2Hg8OAZS5zL/nXJVlU7eD6+esK0jA7DxB5uvyWYHlQGsCV5AAkqmB6z7dm4 - JD+BJcRlyzLd+oRcXsXSmi2gmzMsH8rljlH6jOPgkGfAJSBOgVlXrGC6CBc8cTwblwF7weRXBFOD - yRJMVGDiU2BSjDKxzXrp9EBU1mU+R+/AjHNkLluX6dYnBJOukplcntEpDw7IvB+5rBzxBiNnnAZk - 2jnJrCtW+7J4ppVMVmTyYzK941fQ5A5NfIAmKTRJoonX0EQPUjMjy/AlqaoJYCdE08Ecm8tGZrr1 - m6mmezEuGTiDzfwJNmuw8TGbk0c9p/BlxB5Nq9DUR+N8QpO96cl0jUy6R6a7TyY/QyZGlNnAya6W - Z+MUUZGZvaOOzKmzcYjLZma69ZupZjmEFCkWt2+TzmQi3T0b781CGpDJZzItTRuaJMgEdNyz6RSb - XrHpBhu6pd7U9A1O28FJGk4v4WQFp5Nw0jU4XRThopL01KFpoxJNVT8RaQrNsG5qhmdMTSvRvO+Z - ZzSTQptBtMgO0AxzaMbN4sDUdAM0pbv+eMWa6WZzLVYlM0gydRgznsHE2O/neR+90eQ7MK0CE0CC - 6RSYUYJpr4HJ3onjSGQr9/PoJJpoqT8lh0lbM6zbmuEJW3P2NLKSGbZgB4fk8Uwm4b0Sin5F686Z - G4OQEcUpzWwL1t3c9ec+oLZzUJJZH+9CmT7kwGElrkkm9N551GQqyYySzPxEPZnhGpnoSZDJ6kAS - nJX7ObnY7+eIZiZnPfl/66L5hKV5zdBMX7vbYoQTmTAgE++fk3cKFwdkjrxzmpXMKMkEcrZzz0k5 - QaScIBo4QVS+9htTeWe/oRkamqDRzNd1aGZSezRJ+ufgrqEJyCLOHigI/xyL/96haYPvHXTyNFM7 - DmHd1AxPmJrsL7KZvngXzqYmuwGbPOcExY0sndhsr6w7/5k8AKor1tQiB6Hb0L3STZ0h7M9wJlu1 - b2vgm25St6Nzsmj7/7zKGJYqSgpVL/11uoiqcaE/PwfPTnhFFkgGOaNzfVqHS77BDKp+3fT0y6Yn - dAbePKrR6FhSv05DNcwFOWP+ghWpUEw6TWqYVdFjwWp4eog1ORM2KyzP9LOosuge71TUdqYnbK6F - 33OMagc1fwhCRffrOjS92OD3J+rQ9Bc3eOOFw07oheXps8A3MIGC6TU0+TpTGurXDU+/bHhi2XGu - gem3cDoVwg0GPtGkhPrNRe2tY9nrTvv7ZBTpWK8KqPex+uqkfHXcohDQ9PMgscM1/aTtFuDcwdup - zJ9AaQtw+w97RMs9ldD9vkZoespePNPDF0NKwNiLp037hTgg8s6LFGJwxvfBzmQNzeS1g183Qf2y - CUplh7vEKKbPGzSj/Todo3POEW3u1IyDtnBGlKcYbevdGGV/wzL9ewtij7ebIJQ3Ou/wGCug5fJC - EnWhpJz4ImSzXFaZpCwhDUkuH1ZFMhEaL3pFAXvRdBFl0aQjJ7wisE5U8gY7lXkEft309Mumpy17 - SI+kfYQkJ4FgXclrNz4Taee2c5v+ivXJkB0SOdeGo67XzoVC3czdJjwiv7Eg0m0DXx1D7Vnkt5s7 - tKO9E2k31/NYLqo87hc2IN3Wx484v55LCultn9sRmJxw0tmy3MXBxD4PzgYzFT5y6+alWzYvw2Yu - CqQJG57CR+n5BwIJc6kdYfOsBTJ0kdKLm3hbr1ZJ3pD78BI3cXwOXayovJGwuTOP3tZuRccNhSSf - P7udxwRgv4HL5KPjnsqnl3qZXlKvly4/es1Txz6IFMlHkXuE5AWfxvkeT4xTpbyw3noQ1lsPpo+O - ru7ghBudurztH/JpB59M8RCdkG7g2AGgfkov64I3QIOtZbwAm7Axoeyune/THhfZw7XWYr+hoBTL - h7cTGrcomCxXVSTjJqzK9CS+QzJuV5I7eDOfPpommZCfqeEoI+0ksjqmOFw3JN2yIZnLheylbdu8 - mHz0oDlMC13NYu+wgZNOpu9xxOGct1MXrLHM5uukhWWUHazauYHaMXrfgqNp5X7H7phAsQoPNxy3 - IA/Oj0ubm1MBPB5nGWqHPXZ1KeGIREAzWiMLeAGdjBKF0k+m6SSHmaI0WG+GCevNMNPndy3Ybgue - 4YQnF5f2Dfkc2pWLeJZv6MDTKpn0KqcD3HYOZrJrcPryTneadroOOO1G0ts5Lm1wNhiPC9zWH52n - x69t4Wxi6DOOIsswERgvY+3RW3EMZMNUnMiuW5h2PYDpNxUnerV10f7N5x4Fm/PaB0/rLCunz3EM - TeZu6q3GiY4Fq3J2O3jYpHBG6YPD0MYEX6t40VSfJ5PVyExWpiRzv7KBWTk8uIzlj6KBafNXcQXM - 9DVI0SRZMBlkIS8Y6fqkzWCmfRGst2qF9Vat6dOJ9hKZx56uszrSQuEJ0SSjQ+v717oqmqSKLbiS - iVBtyf15qGrkHr80A820rQRov35HqThSR/wyB7b7ACYJRstNjdFiTHYBTCgGTGM0bNcimDbntPeM - OjayB0I5n+3Vs7zClt4RYcoBsuuGp102PBE7lXpGPtNCtAypS1DpgBHSZlYhreu1WvNqeCI1edyf - iKV+9hf0dmdNiENXMcViRx6Ypo9SyacTaCJI+UxPLOQTLxudjBLNWKoKOjRRdW+lKHsSWjcVXF9v - KgzrTYVxwebMB3A6wQN5GF2/3zSma4nFRhdRohuhOdmeoy7YegrXzCPkduKzP5NX8aP01IMyytj2 - 9tDiR2m1mnqEJ6vzuLLRyUo4nXSJ0p/FtRKMpJNKOMnKEgwLanePLIWTpujkuEwnx2U6/XRkk3P3 - GLC55bU/Da3A4mis7+0DNsOy2VkXrLrZZNPKODt6fTjpB2SWxnh3e3RkjZS++t4wsnFpFZdecbl7 - S5e6GkUvwAykWsCRamvkQORrmrmAO4d1LsMTXF5I2OSX0np18+Gkmu6J/Zw2y6f9fD+ZWQOzLnga - D9Bhtz9N1IoZRlyamqtJXcQ9veloOzKj4lIKplNgBgWmvZZJfCmuCRYuxjXZr9Pol2ksvuqsStqX - 8v+W/h4HNK7CiDlZUMMYtwGLc/WTdb1Tf619T2gskj79wThikfiRRnpFIigSvSIxKhLd+wXYgdxV - EN06iG4ZxHjpoIdfyOXhO9acdNEPI5iT1iQlpT3lapjG9mVrsi54Fsb9HQsa5Y5NZkCjqwc91A56 - 0p9xzRTOcKkNW5717ILbaCSVxr7T+k40Il6lcT00tD6YIg8bU1karQxx2BHTQI4NuaDTLtOH/RyO - TvctSuLyFI77gq1DTE1uM/JoPHd7lzjCCMdHw6UyXQpHlji2IKVQz8ZjuBROv8aj8Vd5XHe112dS - pI9Mudr3Th99+kzL+QdqZyatM8rTmKfxlGxJ7jkaZbZl6zhI3Wnj7YkUjiNP2zWzMVZ1zJ9ey2Wz - OSojeIyCR2LNo3K0ia5WoEUTjDjfcV4VR5I43wEi0TsY/FSVz/pkClifTMHQVY497h2cwOQXTh/x - qQ0HdSbfiqOtt23uU0dWHG2ZY1kTLI3KsMwtmCSYsdVV9Onpj4QyblGCyVIoSQtleimCy/B+/gxE - d3XjXh9JAesjKdh2TuxMd1bD5Rs9Verm9tZPeNekwz78TNinLnim0algeSnuFBm/PKKRH23b2XaS - 8UiWMslaJtmKnCHek+Pfh8YQ4kUa1wdRwPogivSR4YVgj09/wmX006kRTPpWl2n0m0VdAWlh5F7P - Hn0f6516qh9vt0s+19LIY2msSRmW66a943bAqJLXrBTG/dJGopW6yP49SYSrBuT63AlYnzuRPrFw - oYyM8y6dPsYIepfO0yjWLchsfurDblvCeIsWZF3w5F4f77iDUStjusKfWKQaD7ehJQjtSQZH6rnV - Ds1xZeXRqpMaK5XRXrcfHYmZKDEG0MNJrXRsVNtL4Kk8jPU+/7De59/h7ElNHvrE+YQbcKMzmn1C - z0KGEGvfxsETuZV1wROZ+/ttYDqtkjYOwHy0YefcQVGCyz2i6TkkotqWdOaWAbw//p6a6YRzM8Xl - umauN1R3dl4zOXeuzlFJFbHZS1x4/QjRbjbo4Lhz26Dydg7Lut4ZS6sE05WgYlepwy1g2fVifcSl - 3WTJrZN2pNPJlE6qpbtoR8IWIhmhlh5kPhDI2WaIpT9M87atn0r0XW9cDeuNqz22uq97kaCQnvE4 - sMGcx6f9GxfWc9aSNYqoofTQ1fFer9g5FjzPcU5vWHYt8KSwjIOaxofetq+H2EcFmTQpncpSS5dz - b1O694tJgsWrJzbrXYFhvSuw96U9yayrzWVYYzYpdVAyfaF+VR5HGRZ+GJJcTLCo8ni83Y5DJY9+ - VFv7mEOrOJTq6LWX7aU6+vf0slkkmU+AaNa7ra43Ww0wfYRdJo1Zt2dgn0oYwzANbb70QXOYXtig - a+B86UMYOtkBt1uu5PE0Sg/9SA8fWY+5lY4M9wQpiF752OkG1wuif0dBpHDRXjTr/SvX21cG2zUD - egxiyNNwDQ/8mNAd9lw3F82pG3VwHdjX7UUTxxP00rJWRHuCEsQwEsQduvsspg9SsShFMWhRDFbC - GOgSjHk6TAwsM86scrCd6EYNwVkx6yRODdIz6y0C1zsEpk8PZ8GkJkA+6JYDaaF1BzvHk/VYiQjP - kelhuFUfb7iRGUkVh0UzKl18lAqZ7hJ9raJszRKURKbL+6qwUJKELkCZWJFQ+qAG4XoxUwIdirA4 - 4FRHVbPegW29AVtMGjfbPeguk2mhdSZHBYvRvWlBbe07sL/hjsmgmbRLTKpOGLGcFFQmIysmrQjz - xIvmI2YIDQqlxOwYvTpxFIlt784k13eGyfWOVusNrbIvdOG0xh29BiJoSzLG9dOakUOTX9gb5oxX - Jo833HfD0EJZ/MMzla3PWroDb1HyWI5pjlrFfKPvmwLKjhj7bY1TpZ35drGlx2vqCQlMJ2tq0w7d - qhvszf4UZzlWNKQ2diZmbta7CK03EdoVoCe1/82OQv+b47ukkWFpZ7N07akvOhg3KlS0c2DWFW9g - 7q94Z7P9+/ZUWi9LEO2M5oSBeYTfehz3xSuO+aOKVgKpbEwwWP4o38flMVePFc16e5YnurMA6dru - VxUTSpakz187R62YYOJTzvdAMwGeTP95RTP3t9yBeW7QYuovuhZCj5g8Gsp0UMJ+1NpBqUUSjAgG - gbl4apMLKWWoPDg1eZSiDJWXEVdNI8OcibneE+OJlhgQp+HEY9p3bn/hTp1TgYbNg8JcdyuUg30O - aIbC2Uah3Y2W1xVPPjnkCm8r8QwaTzvA81GFQ7lLtWwBLZqg/fJ8lxRNwEvb+BXNNMFfTFEz62Wz - 61WzgLyFC3WzNleAYe7AqCsdkn83ypicTuYVSW87LDh2fqbTeY8lb1y6xmWD7ngmjSWOsITq/kBf - OFs+Q9u6CZ3Z1MWz+Q6pnWhFkhDgO0bSjccr2/m/G4Pr2zmK/fyXv329EihSgnkvk7cc6GQj7tRq - Ojxb83DKMo8wdIBW08yxixRJp9xIKoMfQInmcZxIJF9ElDCmZ2UVKIpWRoquhC9hc4xdE9+PebnS - EbVvNCAzzNNGLpIwEO3DM++C5fr8UbGTX8FyydkJw/zdJ8puwtjVWSy7uefqBKsgxAGEc3F0I1Qx - cYUyjC77pAZ308j9cdiudDuH3HURJIaerQxZgmombawsdGB6WOmQMVzvF4R2VR2XMPShy0e/6tfk - Limnw5xn3Jq64BSGSgv9SAsnMPQqeTcoNUyPB0EhyK4r3l1qWgV5HoSJAsPAQc0IJ9kRiElOY474 - sIFAwXBdDe2qGvqut4nusjvOKTelsY07pV3wej+1BOEpcO7degJQW3CQAOSk6eiVPPqRPELdo3ds - b8kU3OVdqCxeL9Vxv7hLvJDiuD/rFXGEPnCeqXSBWTUDkm3N0fXxSPAQZ6BcL5hFXtVGRzor7dUU - Xpe/cuJcucKnoaLu2U5q2nD00LnuK1GgV1J4STU1V1rpVrVSB4ESZijT0iSUIKB0Vw1HZjRyx+aS - Oylm3YquqMlOpN7NRv84WbJQuS6VvCqVrvcaZjLLmUorBtThScfDANB6baJ7RitPtYkNS1C1iU5p - pRtq5eMMXjGQxEmhdCx7RzsplOk1XTu4Sa5MBCmUp65pQWzfyWoUQ+vTRza1fa/XyyJ9UyvShid6 - /dg88+hc2fBU4oWcgHfPinRKGe2iMjqjnBmnzMi9aKLDEG4ZvPvD7qIzY3wg6cuYINPI0Yr0CxON - yJeEZIVOUbiujPRNXerkxb6tL2PdEx14L/kyVumgXXSprXaprVcUKqsxD3/unRl71Ww8Rnz3alia - owk1lG3LvcgfB+emNuj1AlnEVTHkfirD4wobn4Qwf8LuFHHkcTXDdAtJOHVDs2ZUYzPdQhJe6YZ2 - vOOOTKWPPNLHRzt0Lqv1fQNekRJkpQ2ZLmYR9rHSiORrRqSOg398LRCeu5teDoOvF8siroojn0ps - xlCGo1SWOd9CRpd9MT/pzJx6CNj3KGzY327XQUBpJa/YjIP2AdJqTB+OpJCl2cjXzMbcrwnBSqFk - OeDBkJNdI0OQ7UxDnAo+wnIX/XRr1wf63TdshlFhzZwopq8LTgWxTMMWkXOq2Fac2bEZZdNnioM5 - YRM7dl5Hgci1ILGSJkkkkbe7P/MVEpmjivSQivRQlPHH4Fjs2fFh5lkBcX3Lhm/qv1AY+s/zmWdR - Z46z6Y4YOxJnO0QeK06RaFTiGfnFvLNEktiYWW7MFNV5DKtI+PHE77M1l2jopb0ZlvvhI+CiDia/ - W89scMPNef+6qbSJzOOQg9qcyY1qsv2UNIY8klL3QYujofKTylgXrJtzPaGmoLry7ZP2Ohq5/WJM - Y1rC3Tqh9f1z01JRDK0TcFKUMnnc2uikILtP7a/jik5GClIniUAGemyUVTe+TPJuM+aBp3yb9fYB - CKtWJJ2649Or5zRUysFKzz4XdKU2PVEem6u3dL8VesbrrgvWFJ96TrO/4Y5Uq3UTR7pJj0TTpq9d - bOCkfG7SpmQWiZ5MvNpvxfsyaaoPi0cv8ymslR37TKRePyfTKcy6KWm+qSm59/5c9K9zTFf7MnsT - 0EX/ui44s38TKsXMvaXX9m9UpzPEt4KwHTRtSZK0JI8nvjKiwZfRpb0paVT0x4KcWucNi1C4nQqF - r/eyQLNqSu4NZ4VC2jt7eXZiS79y0scz+EyShd3cKTBJz4XHnQxM3pqmDFrsatMSh6ZltswOoLBN - ttnDOK3JrgBTWpaoQz6kMs7womWZi3MiyiQLW6I7/dglQOnkYBQpZ+Tm0Fw3M82qmYl+m21tUb73 - kmaxedB7d56p8JYRoP51PR0Bqlh2ubi3Z1GKObQxawzo0LXBhAYvHR5UNiVqmxKlTYmXbUqXTEQZ - LrdlIl2PpY8SS0MCS54KAq23XEGzalLmQUmqkPvVWWCluSmU1EOi0yywcUHDfHbkqZIb7VAx59Mj - ZSl3aCMbVKYFaqsSh1alezSxocwU68j0p2FLUjFRhifxok15xRXHeKkpeaIR4vpgz7hqR+a2UrpH - /h0a3QvbMtzPniY2YJcMcZlGHjTbxS61rYNxTidZN9utvvjxjjsYsZ3m/KGbBKmFEh/RSDoZDfmm - nDtucPNojodJtqOCBcuSvciyCBFBWJZQ5p50Lk40opI7Rzmn2FxvkxZXTUs0p9Ivcy9LMr6YmGdO - R9BxokTssvedx7Vq0/KZ0Z51vZYk6To2nazl7lrt/uGYnzto39dNncV+uKdt5TX7Qh2bqAd6WimV - MvMC3LWpiZekMhBflcr1KZ5x1ZzMskeKxzs0+twaiHFz8VSK6J4Yz12mB+uKLz+Mo8/zKBKBbBvP - 7VVf8vQLJZU8kkpXN26INWq5F0vWGcgsaIQolHK/tqvzCno0t7s2Nt77oDzwMrOzn4EcZQIGOi/y - dmOciQXBes8qiKsW5T4kXRiU4b5O5v67yTs+DfGEcW8BN0Vmtv9OtYh2fNY42zH/WLGiaUOrklWj - EoG1VOJIKjG0YTf7MPIbUs0RTz+QKkX0N9e8v7oD1Em1xKeGL90VS++u9FHLTIZ1uzKs2pWAlyaB - le/b2A34hKQZiyVOMZmUlnToHGjUNt9OEVnXq5t3Sf+/dRUonl1fH1sRvb2XQRIGhVq3fXB1VFm3 - 2dxpITW+87iyEVmu7oAk4YPHd9y9/dUzR1jvnwZh1ZjcP/spr/s25ziffQTd128432byDDx9C5E0 - jWaYRD6HY12wejmubt5xIxGm7AbV7RU3QyfH+9YVaPeO9yrCws9RGLsFXactWwjsF3csqlFg7lqN - dk4NR+nmxOiN3L67Cdwl/GNFJRhCmOJy3aoMq1al72r1p7gMOcnKB52n5oczwWDK/ebEgtNgDo/C - Hc1w2darXIY64tipohuV0ztIECKm6t/ssccDI6pMBj13W8Uo92sbkkHOcriYG0SOZKV2si6F100k - z3PAoUgN8sbP5AbBelM/CKvWpC26cWnjhlKKrgc5jEq3ac6UTOsFzaMd9eFtLTEfRM2P9eqBd4nO - HamTqhUvy02bhlHzfJ5xY9JtNyT7EXW29v3prmr5auXKrtChArofQl6NBCE4IyodAhQNbEzaMiWx - P2MM3HcBcvx4Pl1m0q9bk37VmqTzPLD7Ds4eAhT97Y8vc3CSY+dsSUqO8mlw4tC94elOK9K98aVx - 0xEK2pzYvtP+Ivry4kAog2med6nn2sOOWxan44hRj01k0Whyv7TLXauUHg/zlfKbTCXIykTnohBK - b4JwuwE49tZkSBvdFJTrFqVftii3qMKTDw6+S02B86fgZLdOg5LnAudBToXYTcotDmYxTUJZF6xb - dyKmNU7bSPZN2xiEh7ORO4tloDbRE0uEc/dZNmoRoS3HX7rwZMG/uTfl0i46KeNB5VkvcUlWHDBy - ABAGpfdGVicSh34Hj84+bIFawFw3Kf1yoDL93VzcwZMnYVn3FujX6dQyToEZ066q0yuTHzA40Ylz - e3hdsPk6EatcJhtMyKVRwaDu8f5IB5plCUXcCk/pYmpg7vMQ6n+iina/qWK639h5Phv3dub+Iq5w - is6KuCUZ5wWnjmTcEjCKPvu5/fQUp+uWpl+1NM3mrmJqt3Cq0DGbRPIWIJrOHALNaffCumg6zglo - XbBxanpOKUhOWWJaH+77p5mWPJQtu4op1U69+UMQG/t+XUcmibNHcwuwd49eATO5ZNyDmX1nkVvJ - LJN+jRNcOoaHPSczl27d2nSr1qY5eUAhPiTTy9jO7dschNOJ5hQ0rXg6E08rjrwgnHLL24ptUje5 - Ds3bGPnbc6GS0Pp413LSO9PQzLHQAyjkhiaRJJNZkIksyWQSaOZnvYKmK7H7Dk3jhM2JQbavMqEY - od2ROE9t7evN/WC5uZ+5NIo2Ho1G01/bicwRmDAnmcmTZR1U719YBybzFJh1xToaWWzt4CWX9efj - vcDgRBwdNS7RVS6zmXfjck+YfWVr3+/qMAUnMRWu0f4irmAaDYiYpnHWifoyCCCPJB1yH9VMIM5x - um6CulUTNBvM11I3chv+/JHrMFK/Ur+7z7lHSUxOVWfjgDt5P4VqXbFu79Ty3LL9pVAlhSoMwpst - 5r6zfSMKG6rAkk3wkk2UbIKTbF45jcy7lvHCPTJcNq0+rSjIthkJMdmJcm53X7c6lxtRnsZDvJrv - 1oWzLehzSTPsuzaJJaUvSMc3zdA5AhPm3KO6ZD0rh3YWpCZEtB+Pt2LORqdl6jZ2aDan6WxOUAIK - ClJpgRplgYJg1FwLLZHlIBkl3dpF9hcyjKbveQUuTHlGdt0CtesWqNGZbw/2eftiMBnxOrbUL9Qw - RZk3fE/r+OwbmUHqm6U4q54sayRtr55G+UYmKE7PwSVbnKsbUhmxG0++cWr8XU5NlJx6yamRrpK5 - mHsUWO7zCBRUFZoElcgKUHGqPhLW26nCcjvV/dMQavpwm8ewhdPsiL2G5gzq3PllyDMPzqCOvHg/ - BWpbsYIab1amALF7KgHq2SJlps6JN22bN51Faqxy4o3c542yQY3c5y+W/3COago2waopy6W4V6TF - xYUeq2DXbVC7boMafWh0F02kF+M2Nrr8J28d61s9bIxnC9QMLFAX5pylumI9NjIdmKzAVC58fbzL - 1vSx49I2Lm3HJWsureTSKi5ZcnnN/mQO8nw92Zs+qHZZJLkkkdZu/JwPv977F5Z7//Y8HRHwB+El - ynrk/Tm8ZEauEc+mxsGpo2D/0hqYAeYin3XFltlOnRdvVHTJqMinOUeX0MTOCDUtumS66JIhzaYM - LxkVXjIyvGSuhZfYp81LsGmC6kuNcnieAdHX0lg/01EQOC6jyXEdTeW2twSLsWZyKZnkAZqjANPk - du4S7OfI5wjNKJsgPF6xauZtDPiQTOW0m/PRkc/9+kZgUg/mfS7pPpcXNTN4HyWXPhsTr7ftTz8z - CDAfT3UsYIZ1MMM6mJeSkjKXnPaROS6RZrnkqJsA938y/WHRlNfeVrxxGZ+i0uJjKPGBWj6g8toB - JkfO4tdT6Uh2hwGWUc60sQoLk2nK+2G/TqV/M7l8kLtp8vEgoR5/O6Zy3sKEU++D16ic66xVVzwV - ma9RSfz2WOIzYmkBPSksVdMikDPzsgsjqJxq4w/s1ql0b6eV4Q6W4YViLrAi+E+HJQTowMTLYJLr - 9ZIamHgPTJJg4puCScbKaJGxUYMJGkypl2bKI18fMAHLAyYGZD6IFpns+ZAbhDWfIDNnAw9c8hGZ - PJ9fLF1yyxfIPJ8JQTA8RvOuZtJ7aiaXUieBppcNMQFJoUkCTZpqzQrrUyZgecrEGc0HPjmUXnnx - fCxk1s+FkuSnj/RM5qAQg4KbEs22ZDuv7NGEy2gGsGMyoSMTHpAJikx4hkxnWHk+hDJaZJyyMWW3 - GINT1RjrkyZgedJEz9PkQbrPhWtsB7v5iExCfoCmf0HIkVGyg7Og0ZHl3Iklxw1Ibufo3VNoIrsw - wea3RDP9h5JNVJVrRh6kG89935j0lzR1Srk+fwKW50+c2bx3lJ5buJaWJ6jzjMdk3u8cgzeKklEY - dNv/MZcOJ1M8aItBxDHxDpX6JH1ApbX9CSXMUQnvSGWyTqKMrxtQMUxDqLAUZedpk56qy1ifRwHL - 8ygGkvkallyaC5tceY6nisoxlv5+tRDkWQJo8yFnPDV+e5LLbG+MR0YtqaWzj/r/f2OxDMlbVsEi - kClxos53x9KTwBKn3PL1gRSwPJDijKW/i2UuQOfN4aSF+QBKyqdIhJt3A5981GYrutnUzWRLCdfn - KbF08Kjp2wBK945QRi6HWAJKjgpKUFAGFlDClEe+PggAlgcBXNjCOU+xx5BbndAgn3gE5d00IxMy - lUx74/SBPz4yLSlMQXmKFN3bweNjb9yb61DGd4MS0p9cAL2BkzzsMSp52PgooZwLE603XYflpusX - NvAyuoco948axi9HUGK4R+U+QhJL53w3Z1jmg9opLH0+C57dwB9rJeXkoF4EZ+zK99PK9EdHMVqF - JSq7MkcGeiyDERu4iVMb+Hqna1judD2PZZa28EJQuubBnFa+voGHj2TKBu7LLJFRotsISgxzR+OY - JzbMQqnT3EZWZbTfl1jmZjAqPgSgqVTeTgCQVE6dQa63E4bldsJnKsM4ZSN8xJC/cw4ZI4eDo/EB - lnzHDU8rxuJAlXzJEHQd+qtgzlmWuVpN5goD3YsPPWYTiuX2PbFJtjREEGyq0c2lTEiyKYLqJsxk - bZj1Bq7L/VsHgjkOXe5ocvJwy8g5nPPEAV+vo0wrFtNgLxwXvv0985KnJDOPC5WNO8g8ZV9ieNRb - +Dks95WuTBT3qsFRBqiFLeOtPZzAUgwszfbmFJbLkrncLvOM5bhvR/gIrrgosQxOOY25f4VK+3o8 - PVEJ2TIwXA7czeCo5wkq3RacnFdqn8OSzHfm9iTTwin70oTmi4chlmLQfcJypjDNrHcoXG5QaE4n - kDQOECUui1oam4ccxlN74TGX8RGWlA1WazeAuX0cwlzJj98cCPuS3HPeuPvesPTIATWWLWnDj7EM - Aks3c8pj1vvBLbeDm/V6QnGdbTEGk9fjNJVqGNVgaFXjsv/tPQLtXHYG3o4ua3U53rMjhePdzaHq - SnlwIkhp9BH4PQT3e9c3bO8M6Q2bG4I8QpCdVEaaCQiZ9U5by422lmadvQdvDGsb8b3BZlryhsBN - jDX71sSFGPKJoCCuqxGnMXFWEjeTdmHWWxMtdyb6boibDCxm4qZH6f3nJA63hA9FTZx7RJyXxM2c - Wpv1zi7LjV2+G+L+v8Y14tBYcJq4Fp3BIXEKuCnelhVuuQvG98PbnA33/wRvlMxm7d/mRMX7vEkr - DqccifW612fKXi+c6u1pObn5os79/hdDGGaPSq4RaF5NDPumBHoXUO+x3UBQGBMorbqcTPs///l/ - AQAA//8DAKrHVTEPOwEA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-27/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - rWclsKvcAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-01-17/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-09-19/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-19/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABXfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:09 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-15/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - uyn0AAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-06-20/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABbfgWUAA7SdS5Mkt5Gg/0ufxTC4w/Gq29he99CHOc3amoxLtUltaoo0sjWzWpn++wKISIS7 - A5UBROXQeOisikRWZH7p78c/P/30lx+//u3T2//656dffv3+9Zf8z39++umXP3359Pbp3/7t8/9E - Zzya/2GMBZP/+/SHT9+//vTXL78dv86Pv/zfX7/+9uP+1E9o0P1g/A9Yrvz9+29f/5oPyk/dTH7i - P34tp/7047dvn/71h0+//vb1py+/l5f704/fv+zPtT+Y9AO4/Nyfvv3ye/4hbDYcD/74+9f/V37y - ePj968/yWf8O6c3QG6TNgfuPxxl//D9f/1TPsewHx1nEfzQ8z+X/7eaIzvN+/P2v5TzHHj+OM/xn - 1+f95y/f/l6u8X/I7/2Xv5VTaf/n40WiOx4fNwHHw69/+/7lty+/f88/cyE//S9f//yX/Ppb+sOn - b7/8V73d/Myff/ytnkKQH5Q/iV1WHrJLyxuw/7Zcvj8+fg3lI/7y209fy0fw/R/fKhn5r//686/f - vn750x/zXeRP/9vX7//49GY2RBfy8X/68u37j+Wx8am8+p9//Pnn/XEGJN/k9798Kb//ofzAp3wH - //nlz/X31iTj/vWvP1ziaO7jaD6AY3ASR/sUR0dv6LfoY4djuI2jKZ9nh2OIPY9+jsd24INHd/IY - HAcSN5Q8kuuAzB8QPYC0BZ4DowAnkMEJIOtlDMgAEsgQBJDlRZeIJBc4kdEqIJMCMprAgHQ+xAkg - Md0GMj/1LpC4gQLSPQEyvFn7hi5/yQZAuh7IOAtksApI3JztgYx2Fsj9wA7I/XY5kEECmXogkfDB - oytvc6VoP2jnMf/bJv5f4HCGwnyDc3/eCWf+RjgBp1lkEzFyNlNyIOC0Nkk4E8IJJxlvaQbOeB/O - +AE4o5tU3vTvQG82vrlYPgwFJ27+pXBa9ncxOPEenHDCGQWcdvMcTmzK/WTTFtG2k/S3v3/7dsC5 - /3OH01bAOI5R4BgUjpEYjqbq9hUerQVkPIL1GASPZKzgEbB8IR48OhPCjPbGcJ/HcJtHuwWa5NGW - j5vozRXNqo1Ju1GPI5gZHok2wtDxGAY8+jjD43ngg0d88GhPaVhfhk51fdwG9tLSRrok0gWBZKxf - z8Zk/r1g0m5cfe8vuqa+SSDpwFuJpFNERiYhHTk/pb79fSL9bSKpsyfxiYSMb1WDZyJBEUkjInFO - QuaPz3tFZHURNJBuTkC28x5A2geQ1LR1fRFXQTl5pCqttH9TPuynPFLD76HkHceRFI7URObx61WN - 7ctfdOIYPZHA0RmpsYFSOnn0aNHO8Oju8+hu8+g3mMfRvRn/RjF/xbTC9pvpcZzzbtwWOvnI/ipG - 45xz087rbElXNOlJYyzInzC6bWBJOmsuYMx3LmCE7F4zGF01EU4YfTMnj1+vysZUvP8GI2II0rdx - 3ksYg40njMHAnHAkdxtGcndhDPW9FL6NeaKvwxv54ty4ZDscR86Nm+KRtuweKh7jiEcwc0C2A5v9 - aOMDyaDcm3Bq8ONGBg43VJPtKZUh2wgay8iFpK8y9OQylM+MYZkWrchYrIgTS2+s9GpcVDo7EXO5 - gyPwU1jel5F0W0aGzorEd7GsnzrFN1OCGGEKy1kx6VLqsDQfEJPHec2KhBNKH54IyjByawqmB2mm - yLSKUaia+EGklUbkfl0DMiitvX8TGpG737MkKUMQRFY5yIj0iIpI4ILSk5vS2va+oLS3BWU6P/hr - tyZkGZmdqC1Yr3iMQzeb0hSQ+QOLWm+n+iHeNCPbgZ2fXW/35DEpIRmHQhLNlaedtprhaP+BwHP3 - 0RqfcRN4JiUvF21KGz2Pmdvq0nA4i/hkcCIUl+gBZ4TstU/BeV9c2vshczNNZ/7sbQ2Z4xYROzpv - S8tso3oDOmRuhuIyzMB5HtjBuR/Lcjhn0qbeRmpBIQanOTX4fn3FKBVB+2BTi0uZxKmnspC50XZl - WATSIPe5bfZyZBjIl8eCSBYFitnCSTNA4n1pibelZX5zogTyMmQO2U6P2qpMLIrIrMo5pztbgYCa - SKySqzMsEaYEZjuy+d1nHgda4ubxSiqzaIapHNd87yz/6KHH9zfwyOVkXEkEzwWlFbwzs1OfyDDd - czkNU1/+yg/YmdZVM5djqii1lhim2XOfkpt4X27ifbmJXWwI3rUza3AIobzhxnW575q2u+f+5Dc1 - abUu/jIWr5zDtJ3YROeZ/sbNSk7pDFHut8JS4lx+FvX5VLmX71YnQZFrdNCpnfIl4amd9cQjGSfU - ekQtRaMMpiNZFiqK0U95QXBfisJ9KWpZCnumMsO5Nwobmo5Ou6Wbej2zBH1lBrGU6I1cOMjaDGpw - 0ma8gPMMID1upPeEPIYWT9+fsMNkq619sJlPVu65E1me42qGJrWijQe7aZVNG7iGJ7BAis0o2XRM - wydDCafYvC86P1A05OpXe5bNquKpOIXa5szvc7yt4lP2Gjuj022DOg2XpthsB/Zsuo1EMBPCJuWm - G5QOuTP5uF+/s+RKxPIg0z2il/yyk0vXst/H773wgwqmi1Ri4fqkkoyXgaNglCfkwTIswfspw9Pc - F5nmvsgMzB++zoe7/LV+syHrra5YwzND8eQyTGUgM0aUouZyHDuaK9doB/ZchjPFs79O2qzg0rdg - 0sllAn+lzUOpMxNkJhFnhxbAbOAKXb6H6ZfI9FGQGSwkKS9VFREG7hIlpDhH5n2B+YGytqTzPs9c - ovRW2CyfunaJIG4DLuflZRdBgjQs1ZgMIbUTm6l5uumZFyExERSZcUAmhFJmd5Ra1CfsOMXTUy9v - pTQ0UaaA9osZmkkmJHd0V9B0RtQQuaybVWwzeoVmEmj6NOMGQbotNPNTb9cQZQcT53V5fKNUkkCm - qwDOntjAzoQpNilmDHWOPP9lw/DmlBt0ntiXEe13zNC0ssot30no0bShOev7E/ZAuTnRzAcrqblf - eFYTGYlmfgKXmvnXi/65s5bnyp31qrrNB5kHwugSJ3Mqrgn3Ky/hA5WXlinhIw/kn0pN9G/kSipB - kzmsJ7Jz2rz4DkaT6VjmlBW4+Smp2U5sqSDfEpRolULPLyWj74jDGkwPLSN0PGVHqpb+HnhSh+d+ - 5clnvZrxSfU+T0Cx/nUrhHpHPIHugkEVeVcRpOS56AR0M1od4n3RGe+LzgxbUoQ+AdTl9+/N4EY9 - oG5ob84WYNrUiU4/9NGnCt7OA5vkDA1Pr/GMZ03R41YGRUbhrOs4nrHz5KpqPvAs7+a7VcLH005U - 3UYCVb/xwsyD3CVSjXCNXIpJJ4mSQpWH5FO0Mw473C8Uhg8UCseVHFEokc78XQ+xKxQOo0int5Og - GqtD8piGoc40J0nbia326CQ1KlKtkWn1fCu9/Rli0/EWzlr2yIRo1HHO/cITzKB0fDNHH7+GVTC9 - 4eanx0RKhoLy2VPkZIb83wyZ4b4MDbdlaP5YvNLyzzt+jC0+OzjtGmEamp9zSt5v1muX3eK4CmmK - zHbgg8xgWtVwNj+FZ2RVHXt5S/o4Z2r63Z7Wp61FHUfZcOPwuOwslWPXsrJheOQ0dzD9cuGwr0nL - E0wXE6oqpKjBZFVI0SFNicz7tezwgVr2rEFUGVJ8CmYpjkubw66YvX689+LvUBoENJduxCVNYdnO - a6q9pTCtbfJwfxnfou2P2+ij7xCxhZLyEx563e5F6AeX1DT3cWGUBcTH1YxMEro8fxEXHfaQSoX6 - CWb0SmI6VdJuDfC8ENo4U4wE/r7E9PclZv5glMNOT8B8pC0D6Sinrcnj20an6cAMW+jBnLY5jQDz - 5NJvUo8nZXHmCwYWZ8KWsSQ4wfSnJs//FhbmftlJpZe+UL47y6GsrcRLUAbkUAYgZV86fOYKhRin - MkJwv88CPtBnYTalxd8NcFIxMI0pEZoQdULI8pK2VWlZ+r51425JOw0MzDlx2Q5sWrxRmVQvGqFu - /knDMrlQem+ft/+kTdR4EIkYUv61TKPnOxTSMq5Ky2gDty8DGedl/0/S9iWxKo/gMM6k0cHdl5bu - trQk3JQWv8hUmuJaAmjPh2CkxdOceYmlo0uDWXN3XRZ9Tly2A5seb01plLWpUOTkpHmZ35FBhRza - lqvcn7A379R372gDwhYsOq4LssY9X2AFmFYYmBnMuAimKNoM3iXVl6ai7tX8bFgCTtXIwf0+ILjf - B5TfY+dXuCw1xZkY1KGjvfvjnhIvjYa6xj1/qCOHfDIh1E58cJkalr6lf/bXiSquSW4U18xfxCYv - nWnjNwqizcAsR0uXvFwpyHS6R80Lpzx/uVed8mRFujJrZydzQoQqXRmJTeHwAefCRfcbg+B+Y1Cp - 0tG1R89aMEp1R3F+yOgWDBomLO/bmDTOV+Jsa7myMrF55ccts+ZJVHYmpaGdeUaMjmfsRO1/5wFo - l7J0JFt6SeUsnZH1R1lZLPIZk2jqjUBRptNtUtZmsKyrN9NHU0Gj+x1CcL9DyPW1ce+6QHsfZSr2 - u+nimfkgM+BzrnQzOwiduenGmaG5qvfzxK7Q47hjhqdT7ZQ4CmfiVW+vI9VP6aKYFeNQhtmd1OnO - LHJpswHMM5YRnSrzsKSi7MEz19yl6KaMzft9QnC/Tyh/gGm2zqMO5DBYa7hIt5u7oVafDGaWPLCO - s+ePdcRlmItmthObuXnKTa9GGHkjK+OcHzT6kr0E05dQGifTg6jZdF5WIDnpnztY7Km0xjpe6x6d - Lti0qOxNx8Pszs71VML9JiG43ySU37zpik06BmtlCD3pHjYXx10Zc2hm49JrNL0ZW5xzIrOd2JV5 - HLfMyLSq2N2b0YCOhFcDOlx6kHiQ6WQPenoM5GjgIifTrfpBKSVua8bg1ESEmokUZe7c1qQQYGaG - EdzvFoL73UKejcK4HomQ9TjV+HDXLeTxA92+5U3VnpAfxtmnJWaUjlDrwcj3a0S7rw+ygS1f0JcS - k7sSmJnupASmLNnMFwgfyDtZ3OHSanGHBbTcQ48xqmFG6GXTL9rAlDkRxDkw74vM+/1B+XOxa0Xu - pub2jNFkhlHoCCbB7H0gz/uIWWbyngt0ystw+jf1dQK0Tsv9PmJ7zBx0psqDbSnz/Z4PMrNJqWZs - WZEy90Eamb41/z7AXZyylTU1CDBTUt3oaFVjkAUx9S35qQTQ/c4guN8ZFFhC8UJiYv3YQ421O63K - gzkjkEyTz4GphiTtwNBwjswcmO3AzvcJVoPpJJgBB2C6eCUx89Pg3c7KEASiASSiQc0l9H7V3LTe - cnMzAYBC1ChzE1l00wY71bsG9/uD4H5/UAg6G/RsYEK2NLFKTuwIJSaClxEdtQCH4WiZSUS7BuCW - Dgp+I9G7FpJU6sEPlDqGS0S9LtmMstoouNbhe4DphewMsFhSbIkMNzYTYpLZIIh6VgJwMK0LUzXF - 9zuE4H6HUOxF5ziuGfP/tUPIV2vfaZ0extMS5sDMDDpdUhxhNBFujst2XhOdLRsUqU6bZsNlSMnO - NBxSeJmljEXLSjLd9hiDvaOXVNA9mtZluV9Aqw2/1qFo+E02i1EJp1MVR8awVGV2ve1UVPN+kxDc - bxKKbkVqutKIUcJxVrMZcVTXMYdmGVOkY5rRjzKVc2i28zpzMzpZ1xGDGpkQ7agVHelqzEykTXK5 - J+Ibl9FK9zySHJJQuF2j0iPxmGbamyw5larIHSKfWIg+4owuN/f7g+63B8U4nT+3pdjIYqnnylpA - QxnuC0zK2jXq8sxkhl7Q3Diu88Seyyh3BCSsbjLjMg5UuY1wNSEhc4icy1R10YnlOYHr4DJKcRnt - sn+eUNqYVJOSHExUw4Zj8BxMwJkUurnfH3S/PSi/fU7lgM7Hw5ojF0sfvzO65ijBqKh9Tl6GDTo3 - KNGwB30ucNQObIVwbbrrcccMTa9SlAlHKUobr9BMVpYOpyCHH+EjgHn8GuWwuEN0r5CZLSqenkwu - GBk5AqPGxfnEHPRsh08tsTD3+4LutwWBgc1PFXdkKzPVdl9fe/+CLu5I7gNWZpm0oa3MFIfp89nQ - 0XFgNwi73LFQ5uUHwsxMoywQuKtIewpqPoJBWdSevDIyk0wDHdJ7SWgGMZoreYuyp9JEpc0dr2rP - InQSzdtC834fUPlcdPHws3YLl8XPm8nyrKs7SmlkZE6mgbIFljSaYOxo5c+k2GwndjOxH7fM4VTx - I04rszTTOTPOnLXt5eLQmtENPJS4uLLxWdwB2Y1ensGF5/7NWACUTCSh1X0yCtAgS4+AAgfUo53S - 6vf7ge63A4GZ7lQzoSp1WxcAdYVHYFgw8hWiE0wY8XlTdLJxhmdU/XidpOn0IzrDlewsmIs0JQBI - D71cYSWcar7MTu8KnPlMXkycgjfS5Kwjuzic1YVvcNr8N0zBeVt63m8JAuiq3J9lhHytcqfSxNzB - Ge+nhDKGXQ4d+Ai6GzaneyeHftwxn7ZpVZ07jEcbWojnxE3HZhsCa1mrz5WIOumsl2+D8NYfL8cY - dYtDkLIXZEAympJiVO9gicxfB/RTQ93N/fag+91BUOqJYAbS+ANCbUqH0pQO1M2aARx1VE6qeNqC - 6SbHgR92CM3OdT9O7M3PMmpQjucCHU0q14wmG/qrQGd94vtjiyEJVwmO6XgcWGo7CRrSi8C6SCLs - GY2X/WyGlMYHAaxJbsokvd86dL9zKP+p3ZyPcdFc/AFikaplzEd2dEEXzZUPfTDnYw5Yyo6373Q+ - wnCOwmSQqR3Zd2mUu/Zy2iFapff3YU8K2EtfvhCJahInkhyeUF9dQpqE21SgXfSbKPsIwiyNslnD - 2KgQ5UsATQppSqbebyK630NUPpqY5hV/OrwmBJ3QBMRhu8bsAAUxOuTAxt2PzrcDe8V/3DLnU488 - ZMAyvX82BMM++uAYoLlXWj+GxVq1U+i49iT0uJ4hilbN8YK4uqSAkvOSUe+colRAalJi0w+Lyz7l - Od1vKbrfUQSYulWV70KKtS841KEYveuEfph2n88gddMP7XAW/HwKKY71PrIey+OFUAlRRi3vwrxK - vBceVc8G7B3wDFG9Q6M8SW6rxOWYvcMIEtGghioYVYZsEi8MMQHTJaOfX7ht+te/f19g1HQrh951 - 7x9DFWDU9gbH0ICb1mmZg9CNQrT+dMqWfah24kCUmjODdLySDkDZUQXTpWVqSZd8lp4aOdjYqTmd - Vluj1qxm4V3wrJM9I+iNqpRHNfcj+1Ns10tMPl5m4T+/cAP1EqL7fogpQuHYiVUsrtSrejssr5t1 - nyx1UrQEuu6HSNuRAy//3KHRjAolRkeA7jBeyNF8UqD31hfso26YSNW4opOLNsqXya/R6oAN4t5p - VUUjVs08No4Xg2ZcZwTqy9ZTr9CaWBP5M1jDD1ijpSaUTVnR9q6T/YDKh2zp6ur5d3z9OZXfDuyi - +cnKFZdHGS33mu6SWk5S0hSNWmEAms+yJkY792sRU4ekhCmqXW4WZL7J8OaOTKe9LFX+/MIF1UvC - 1LgNVbrpPd++BKNsGRSfVVaKfTh/rO/n6kcgm+66ir7EukeTQSZ9+3ZkN7DmcdNPE053ITW0Kav0 - WEUkgvqSUdMxahZHhFDCFCSkqgOpBvE5ozZaDqm7jup/fuHW6iUZylzyi2R9DT8ZqKGEzm1KH7VI - Qfv2ifthdyxSGDv36aRvfx2FZ7pjje5VLzwTah71TnueU2GZVPtR1oGwBqUnpxQ7qgEh1inJKXJN - mcp0GRb9/MLN1StU7m8tp5L/ZP/Q+U/20jS6X8k0comiHy7MuusS7X/vzuD57+OlFIPxpoTM56i6 - 5KQEZFQgRmVihlUNTmQgchBdqqNiOYghaRD5nqyUwpSJ+aqV1Ssgli6wMCcfcZ/CHd+yag1Gj5sL - H0knZZa6LcHhg/56GkvH44YX240uNwRrxR0VlkFhGZyIyAezOp6TSmeGxDIoLAlk2ig/Q/jpCS9n - 1Hx+4fLq/3b56NNwUdusS47QdbzBxzzy48QZARmMpNCHewIyGD1YIagp8PsrMRLVMBrvF81Hm1hm - qIAYVW6obhUUHHomHlPm9DI39PmF26pXOHSwTUnHPVyU3qBuz/Bdtt0Pt7RNj1UwXbTIuw+UerYD - O+m43y/rXlfC0Q+F42VxvKcy1kBQKSOZXolH78TUQ2+We4SDsUGKR+3UVPuSYwk+ciztnFPzqpXV - /+3i0YURgx6nGMSNUGvofWSLRtDjFIPtwBnp6JV0dCPpeOXClE4/sWtV1CZl4rg/45WULHNvxDgF - t9p56TCiFJNerbMktc2lFM9xIJ2Z0tevWlO9JCed9rKfDS2uA+WgTLLUVqSjV+d9nP9AI1Hv5Jwj - u5z0so/RYGJkV/sBGz/TxsmFNk3B0blkyJ0Vcg08YUjuF59gOqfAXN0yZAmCF2AGH/SEWJU3Bxc4 - mOl6A8HnF66rXgGTsrunYujvbhmqHW7g9mZ1rcFpPLp4slkdywY7TSYMs+Z2bmtgO7GR2YZxlnpk - EaF0Ri5no9Aei1q5y8lIRtceOSfq4Z2SmuUWOZy0ukndIpCCE9UQGqetSygvea4YgjAVQH/Vkuol - OHnG73psl81klg0jAbo5nLba+F1oyPgpOvOf4btJseP4uZ2Tm+3EzsI87vmEk9SoQxqNOkz+qi+Y - 3GOy4YmenBErdqeTHKSwv+jSPDlDMirkPUmp6bySmsYhB5Ouq40+v3A99RKYuIXZrYFPwbRpOE8O - 4pzVOZrxkVkfFW0CzcnNbsrHSeZ+04xMkGTa0U5Le7k7/dw80NCTg7VB1sCfg7Yfg7XX0MSkCjgc - eScjQy54bWmKvYHGT0XOX7WdegXNstdhcnF6aSEqqyLrit0ezeGyqzgnMbPMMjpaZNOoSWNya2A7 - sJ/Bmf9QLyRmJgIFl6495k755SaCKDvWSY7tsmrTlY2yM8MuDy0ukxMEl0hGRopcVC458kARuilN - /qrl1EtU2m439XuNl4VKX8Lo2cy0Xo8stpa5KwzLuZnaxXDVitzSqFLDTm8UwnGphtWrLG3NEDIq - oT1mY7vMFZSkCzPz14oXER37hhiXquQN02IJEUaLMoBpnJWhIq+GdRnk/g/OVRC9ajX1Epf5A1wY - 8JFKhUZZj560tMQ0KnerAyKn9DhQJy7t2MDE2Wldx5GdHj/umZEJckUGxsGKDDRXRcP5GOX9WCt3 - CoHaKaR6gffXXSPTipgRhQRWkam8H8tHfGSReT2u6/MLd1OvsImBOS3X47RrRbsrJdgdm37IpjQ8 - n4Dku+Gw1oxUOaQ556ed2E2HPW75RDMjIXdTu8Fuanvl+xyF6QxMWZyx7wc9wcQodwO65fUDJgrn - h1xtDBFc6qo2ETLKFuYcly9aTb3EpZurutw/cqqDurI08rpEGGnUrzY35T37CD4M9lKPNqZPxdvP - A/uF6U7ubkEvg+3DRiBIvuXE8RyfkM86VwPmNyBJgZn5F/M9jssZmU6uTLfLuwEJRLyIsshWuhyU - Lq+zali8aMr3edlK6iUy7dqe3/r/5rvVgAjjWOacMg/ZPNDpSKRhLdvkOtV2YhdlR9xE5y9a2aWG - ZtD/UyuEDp72RscdJuTrqMuQI973KwbR4FnOwZ/KOLVi6DuuLsrAkJLg1KYIaomlDrrX+CwrDL5e - nf75hQuplzg1Xc/vs/CReyMse+6M7bos0miQgptT7MUM1IodzTBtbudylu3EXoYa1aqGah/1sNsX - yF8ZnaVGXep2VDOSjip2xqYRMnR/5SU2vUyd22BAhTZ1B5B3vLIoBLoc/P75hSupl4rWY7eR+nLu - e9nR6LsetcDikCyfPpeqLF5m1wGUhkJ0dsXqcWDf/xNV/Aii9NTBD3b/Rn9O+EhswAdblg7a7IQk - I5v7xaxWPcpc5f7CHxKbVKMFIuquit4Cr1R3c0UdL9tJvUSm72JIz8jch3Fm/6EbxgnunWzQFJnD - 6V1hPChhDs1uehe0KBJ4tcUFvJ7sQcP5M8a2sHv+47Dhud/6wWd+Q0XBh1gIfDzthNWpCZ3ghZcE - tFqDlD1QEe+0+zYFDqtV3ntIvIId6XoSzecXLqpeopU2N5siqiTYuK+47AbRsMFwLOA5GYb3tmtN - 86O0+hyp7bzOEC2fvpxB4+QIeMCB5w7Bn/MSdu/twRKcmHZNP1547/3MGVKjEpY3qMdqbJ5kYgxO - kWlUSXu0LKseEk7VbL5sW/VaG3pX8vFcwxOVknYb+rbJkfU5R2Y2XFFHPIFn6VfRbAe2SHyLKoFy - kgZDvEalSGBO6xP2adwPnNwJZ8ZaNPjKDl9S87xQz0ywcuIcrM6dEVuCC6ne6Cp3Na/TRLG9mnCm - Null26vXmtE3uyBCqz+fXffU7RNMwzmyk+6822gwGWlcNJcmpSjJwUjubEXfRIYdsFmeO6hmFGqq - Jt6jZ7c8obF0dvfKVGb5RgguQTf2ylxmWscyKQlqKaoNwbo7rU75OvdX2+vlWJ9fuL96rbF3OyuH - piQolrw8gd5VkIb7VycNUS/ToxWYNJSgk1vb2oGDMZ31hnlPr0yxx4FyR/Anl+aUn4ktr06y9ANA - 2pypJYjaMaJeLi6Wy2U97oXrjiZG6R+RiipFZJ6792Eq+PmqtdUrUMaV9RlZUKY3k000r52jMMyv - z+0RzDh7q4iMo8Uuk9XF7bx+TYHanqG2qYeRT4R1zuXz9kmdwUyi5COqbUNR2pl2dSAXplrNeuII - 0athxjZ5zSNfU41T0w9etqZ6qXNyZVisK33lJfvXjT7gPbjMyAxTQGY1nfTkgzBMErm5CGc7sEtd - Brk3I8jw5iiCBI5atUctNdrbz6oXfTSryb0ExXrkjWqq0CMId3x59BZmn0XIRvBWhdytrtgMfPS7 - C3MFSC9bTr1Co++imu/m0h9RzTKHpdtJ4EbOuJv1eQLqmGYY54UmE0PtxM6S9Cqm6ZWEdCMJGU2r - iUvnLksGZMYYO4XNu4IUkipCtFjeUYJYwogECkZqa72U2gS+WshZ8jMtQS9bSr3UErQUZ49lWXpW - 2I60DemGAnIqBVQqaUPXEDRer4pTRJ4n9g1Bqh7OKSLp3KTOdHadvPKAKT1MSHcO0S7Hvjuf2MvW - XidXALtHXfFeZrxMZ5RFHoBJ0Yk6RRl4ByXFNBdsf9Vi6qUK9+m11PsKS6pVDt1aaho6OHPWpJdD - jveS82F6MszVELcDu2JNUtLSSe+GBl43krkaekAbichQkpYlr9okVeIuSzbtaleQ8UFUbIKJSc0o - VKupjU8sfknWxqn45atWU6+hCbrn3DzV5fmzh9LS3VW4j3Q5wJxpmW3/LoBJwyzQWY7/lM52YF/h - vt8xa7yQRR521K0Gp7NDrfyI2BRiu0Wpy1VNB6kJxCTnxODqmkCw5fknkyYRyUhlnfz2btbcpnxP - M0y+aiv1Uh1xl5p07zKJlUlfsj3ed6VH4zlvsxEh8trdsUN3J865O+3AJjGhOTx6LbVV+hxH+hwC - XbVd4CbkpJUq3CoX3MqM+WqdkVWFmllDq+WVSkw6zxKQ1lqasi9ftYZ6DUmjJ7maCznpqgve5Xlw - i6PFAnNT20uHuI4J5Y94MBiB5lvOZVAoxlZmtCVZ2a4SPTja9gtELc9jz0rNrfgeDUmQTIoCo3ol - R9IIObk4uMhmJqWgDODUmt+gBwzzOe0WwlxU6FU7qJdK3+Yr36qctL50lvvYM4mDYR0wZ1lmhIxe - 85v12YBJmG4DMmLPL55Eys3oVlqWw3Ex1lzLSLJCdwdFpBSSqIXk6lJAW61DhmRt+BGLp5Wn44jF - KTHENJVlvN8CBLdbgLAbeJ2eSElbqooKkUYHzvNHOZo+OCUlKTuqSVuT2ZWmgeaecsPbeU1IppNI - MexaZxhPT4hLSNeIPBOMeFa65X+G9G4lEQlXJ79PUcIJJOBc3YpOKYi4pXEWpGFZo+xywjUzLLGM - yJ6g81ULqJcyjdoNf9bLS8WqrMOrtBtu2AKXRTe8DALo+n/GaE7JyvO8ZlOGpr/z7QYJp6whGu33 - 9WeW8b2xwZsH977vDbVhmiUZRXmwqV/rJR6DEzWYhkAVD4Hycwj5PnTjp6qDX7V2eg3HFe0dy87p - 0o/eNVjkD3LQkTbp5WTHomuWzBpuACTK2Pr1iU19m5NItWJFlQYPC4fsVZ4xcy71t1d1QkqBgxjG - sVwkZKPMemcBQTLNqPdNZ9OQhYMw39FMpPJV+6bXkAQlIuN7SFJpLHdQB50ZHUaH+/tSYxkpqSuE - NhxMZ510cdqBDx6ZgHwo8sfLOGFPmtGWP6wxrQsgQWz5M7JcSMlLlFXrG0oFvroN3ack5nEYTFGv - 9NUDhPnS1JJ4nKLztsC8vwKgmx4c3qOzxtHLhooSWOkVOA5c8Lm0Y02kdXiaAZ5+Ds924BkVOvmU - w4OZxj7uo+8sj5d70I1el6b2+anitc1YqcDX9k3a/OUTaUcD0cugkHF63gEfaA3ZPZoyKF+0YnoF - yPztVO7OOLETf8BUy4RcKbcO3QYqs4XYAznnfpsywqIDcjRqHWEuTtlO7LKOpUtAAqnk5SANftak - vy8tpUFpxfa+/TVPIE2Nn923KAk8SiAzQrKY0njQApLt8IH8aEp/v2it9BqQXpdSPg1T0lsZj4nl - O9chaQcO+FQifBgRAubQs4iQn97bJ+cPWmNOKL2SkkZJyT6hQ7ZJSWgu+H5QE5Kyf0es69t/y5n0 - QTK5uH4iezXSpgTvldJWW3nreqFz46k3U0r7RVuk15DUyRz/LCSUiaRCJEXdnlty/HeFJA22SpUp - egOtPScjSW+V8unkUZZmqN7cfcJqX3XeRrW2WiHDOiNMNU1PHvf6Dwak7IQwXYwyLgrJGkfgQGKS - QUqju8nQML/bhOBmct6vWhO9RiTNNkJUv7ss6YnZsNYZb1ObtG55OUT5b+iBHGrtMAPkeWBX3bvf - LucxSh5HTne4KscojIhSIUPvB4XKXhOJJ9FHQuiEwcioEBg1EqYOzRJDBwOLUhpv7VRY6EUrotfw - tFpgPhtvTSUuBMWC7FX4yM2Zi1OWjbU9n8MNUvMCU0zCRMc0uEx+s8acx430bnhi3RCnxLRMYmKS - fo4R5edGVVeqxRTrOtyScrxNILW2XK8A4JtMDYW5wPmLFkKvIYmzHTq7xKSa+zYDx/t2mjFLFNJD - rc0m51cvEdkOHEhM1P05lzxad+XnlFOfA4nKqEQZOl/0c1yKUkYaXY1h9DJI4KHzEmnPRuX//tf/ - BwAA//8DANphTlB39AAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-29/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-26/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABbfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-29/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABbfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-02-16/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABbfgWUAA8ydS48kN5Lnv0uduxy0B195G+x1Dn3QaQaLRq1U6C50qSVI1TPT2+jvvqR7BJ1m + H4sIAADobGYAA8ydS48kN5Lnv0uduxy0B195G+x1Dn3QaQaLRq1U6C50qSVI1TPT2+jvvqR7BJ1m ZGaYM6TECjpUZngwwiN++ae9+c8P3//l05e/fXj5z39++Onnb19+Kv/854fvf/rh84eXD//2b3/8 d2SHEP6Xc4Su/PfhDx++ffn+r59/uT1cfv78Pz9/+eXT8dQP6JA/OvwIoTzy67dfvvy1LFSeurny xH/8XFf9/tPXrx/+9YcPP//y5fvPv9aX++HTt8/Hc+mjyx/Bl+d+//WnX8svyxPp9sOffv3yf8tv @@ -3278,7 +1680,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Dec 2023 18:21:10 GMT + - Sat, 15 Jun 2024 01:01:52 GMT Transfer-Encoding: - chunked Vary: @@ -3296,751 +1698,11 @@ interactions: Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-24/eod?api_key=MOCK_API_KEY&date=2023-09-15 + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-12-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False response: body: string: !!binary | - H4sIABbfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-19/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-12/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABbfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-21/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - DgEA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:10 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2026-01-16/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - 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 - //8DAFbpwfqCBwEA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:11 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-05/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABjfgWUAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 19 Dec 2023 18:21:12 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-12-20/eod?api_key=MOCK_API_KEY&date=2023-09-15 - response: - body: - string: !!binary | - H4sIABjfgWUAA7ydS5Mkt5Gg/0ufxTC4OxyPvI3tdQ9z0GnW1mRcsk1qU1Okka2Z1cr43xcIRAJw + H4sIAADobGYAA7ydS5Mkt5Gg/0ufxTC4OxyPvI3tdQ9z0GnW1mRcsk1qU1Okka2Z1cr43xcIRAJw B7oSgdI0jYeurEhkReaX/n7888MPf/n+098+PP7XPz/8/MuXTz+nf/7zww8///jxw+PDv/3bv/9P tIBo/ocxBCb99+EPH758+uGvH3+9fp1+/vh/f/n06/flqR/QoP0O8DvMV/725ddPf00HpaceJj3x H7/kU3/4/vPnD7//4cMvv3764eNv+eV+/P7Lx/Jc+s7E74DTc3/4/PNv6UFz8PXvP/326f+lB8Lz @@ -4240,7 +1902,3430 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Dec 2023 18:21:12 GMT + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-12-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + mdX677//r9//HwAAAP//AwAADGOo+vQAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-06-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA7SdS5Mkt5Gg/0ufxTC4w/Gq29he99CHOc3amoxLtUltaoo0sjWzWpn++wKISIS7 + A5UBROXQeOisikRWZH7p78c/P/30lx+//u3T2//656dffv3+9Zf8z39++umXP3359Pbp3/7t8/9E + Zzya/2GMBZP/+/SHT9+//vTXL78dv86Pv/zfX7/+9uP+1E9o0P1g/A9Yrvz9+29f/5oPyk/dTH7i + P34tp/7047dvn/71h0+//vb1py+/l5f704/fv+zPtT+Y9AO4/Nyfvv3ye/4hbDYcD/74+9f/V37y + ePj968/yWf8O6c3QG6TNgfuPxxl//D9f/1TPsewHx1nEfzQ8z+X/7eaIzvN+/P2v5TzHHj+OM/xn + 1+f95y/f/l6u8X/I7/2Xv5VTaf/n40WiOx4fNwHHw69/+/7lty+/f88/cyE//S9f//yX/Ppb+sOn + b7/8V73d/Myff/ytnkKQH5Q/iV1WHrJLyxuw/7Zcvj8+fg3lI/7y209fy0fw/R/fKhn5r//686/f + vn750x/zXeRP/9vX7//49GY2RBfy8X/68u37j+Wx8am8+p9//Pnn/XEGJN/k9798Kb//ofzAp3wH + //nlz/X31iTj/vWvP1ziaO7jaD6AY3ASR/sUR0dv6LfoY4djuI2jKZ9nh2OIPY9+jsd24INHd/IY + HAcSN5Q8kuuAzB8QPYC0BZ4DowAnkMEJIOtlDMgAEsgQBJDlRZeIJBc4kdEqIJMCMprAgHQ+xAkg + Md0GMj/1LpC4gQLSPQEyvFn7hi5/yQZAuh7IOAtksApI3JztgYx2Fsj9wA7I/XY5kEECmXogkfDB + oytvc6VoP2jnMf/bJv5f4HCGwnyDc3/eCWf+RjgBp1lkEzFyNlNyIOC0Nkk4E8IJJxlvaQbOeB/O + +AE4o5tU3vTvQG82vrlYPgwFJ27+pXBa9ncxOPEenHDCGQWcdvMcTmzK/WTTFtG2k/S3v3/7dsC5 + /3OH01bAOI5R4BgUjpEYjqbq9hUerQVkPIL1GASPZKzgEbB8IR48OhPCjPbGcJ/HcJtHuwWa5NGW + j5vozRXNqo1Ju1GPI5gZHok2wtDxGAY8+jjD43ngg0d88GhPaVhfhk51fdwG9tLSRrok0gWBZKxf + z8Zk/r1g0m5cfe8vuqa+SSDpwFuJpFNERiYhHTk/pb79fSL9bSKpsyfxiYSMb1WDZyJBEUkjInFO + QuaPz3tFZHURNJBuTkC28x5A2geQ1LR1fRFXQTl5pCqttH9TPuynPFLD76HkHceRFI7URObx61WN + 7ctfdOIYPZHA0RmpsYFSOnn0aNHO8Oju8+hu8+g3mMfRvRn/RjF/xbTC9pvpcZzzbtwWOvnI/ipG + 45xz087rbElXNOlJYyzInzC6bWBJOmsuYMx3LmCE7F4zGF01EU4YfTMnj1+vysZUvP8GI2II0rdx + 3ksYg40njMHAnHAkdxtGcndhDPW9FL6NeaKvwxv54ty4ZDscR86Nm+KRtuweKh7jiEcwc0C2A5v9 + aOMDyaDcm3Bq8ONGBg43VJPtKZUh2wgay8iFpK8y9OQylM+MYZkWrchYrIgTS2+s9GpcVDo7EXO5 + gyPwU1jel5F0W0aGzorEd7GsnzrFN1OCGGEKy1kx6VLqsDQfEJPHec2KhBNKH54IyjByawqmB2mm + yLSKUaia+EGklUbkfl0DMiitvX8TGpG737MkKUMQRFY5yIj0iIpI4ILSk5vS2va+oLS3BWU6P/hr + tyZkGZmdqC1Yr3iMQzeb0hSQ+QOLWm+n+iHeNCPbgZ2fXW/35DEpIRmHQhLNlaedtprhaP+BwHP3 + 0RqfcRN4JiUvF21KGz2Pmdvq0nA4i/hkcCIUl+gBZ4TstU/BeV9c2vshczNNZ/7sbQ2Z4xYROzpv + S8tso3oDOmRuhuIyzMB5HtjBuR/Lcjhn0qbeRmpBIQanOTX4fn3FKBVB+2BTi0uZxKmnspC50XZl + WATSIPe5bfZyZBjIl8eCSBYFitnCSTNA4n1pibelZX5zogTyMmQO2U6P2qpMLIrIrMo5pztbgYCa + SKySqzMsEaYEZjuy+d1nHgda4ubxSiqzaIapHNd87yz/6KHH9zfwyOVkXEkEzwWlFbwzs1OfyDDd + czkNU1/+yg/YmdZVM5djqii1lhim2XOfkpt4X27ifbmJXWwI3rUza3AIobzhxnW575q2u+f+5Dc1 + abUu/jIWr5zDtJ3YROeZ/sbNSk7pDFHut8JS4lx+FvX5VLmX71YnQZFrdNCpnfIl4amd9cQjGSfU + ekQtRaMMpiNZFiqK0U95QXBfisJ9KWpZCnumMsO5Nwobmo5Ou6Wbej2zBH1lBrGU6I1cOMjaDGpw + 0ma8gPMMID1upPeEPIYWT9+fsMNkq619sJlPVu65E1me42qGJrWijQe7aZVNG7iGJ7BAis0o2XRM + wydDCafYvC86P1A05OpXe5bNquKpOIXa5szvc7yt4lP2Gjuj022DOg2XpthsB/Zsuo1EMBPCJuWm + G5QOuTP5uF+/s+RKxPIg0z2il/yyk0vXst/H773wgwqmi1Ri4fqkkoyXgaNglCfkwTIswfspw9Pc + F5nmvsgMzB++zoe7/LV+syHrra5YwzND8eQyTGUgM0aUouZyHDuaK9doB/ZchjPFs79O2qzg0rdg + 0sllAn+lzUOpMxNkJhFnhxbAbOAKXb6H6ZfI9FGQGSwkKS9VFREG7hIlpDhH5n2B+YGytqTzPs9c + ovRW2CyfunaJIG4DLuflZRdBgjQs1ZgMIbUTm6l5uumZFyExERSZcUAmhFJmd5Ra1CfsOMXTUy9v + pTQ0UaaA9osZmkkmJHd0V9B0RtQQuaybVWwzeoVmEmj6NOMGQbotNPNTb9cQZQcT53V5fKNUkkCm + qwDOntjAzoQpNilmDHWOPP9lw/DmlBt0ntiXEe13zNC0ssot30no0bShOev7E/ZAuTnRzAcrqblf + eFYTGYlmfgKXmvnXi/65s5bnyp31qrrNB5kHwugSJ3Mqrgn3Ky/hA5WXlinhIw/kn0pN9G/kSipB + kzmsJ7Jz2rz4DkaT6VjmlBW4+Smp2U5sqSDfEpRolULPLyWj74jDGkwPLSN0PGVHqpb+HnhSh+d+ + 5clnvZrxSfU+T0Cx/nUrhHpHPIHugkEVeVcRpOS56AR0M1od4n3RGe+LzgxbUoQ+AdTl9+/N4EY9 + oG5ob84WYNrUiU4/9NGnCt7OA5vkDA1Pr/GMZ03R41YGRUbhrOs4nrHz5KpqPvAs7+a7VcLH005U + 3UYCVb/xwsyD3CVSjXCNXIpJJ4mSQpWH5FO0Mw473C8Uhg8UCseVHFEokc78XQ+xKxQOo0int5Og + GqtD8piGoc40J0nbia326CQ1KlKtkWn1fCu9/Rli0/EWzlr2yIRo1HHO/cITzKB0fDNHH7+GVTC9 + 4eanx0RKhoLy2VPkZIb83wyZ4b4MDbdlaP5YvNLyzzt+jC0+OzjtGmEamp9zSt5v1muX3eK4CmmK + zHbgg8xgWtVwNj+FZ2RVHXt5S/o4Z2r63Z7Wp61FHUfZcOPwuOwslWPXsrJheOQ0dzD9cuGwr0nL + E0wXE6oqpKjBZFVI0SFNicz7tezwgVr2rEFUGVJ8CmYpjkubw66YvX689+LvUBoENJduxCVNYdnO + a6q9pTCtbfJwfxnfou2P2+ij7xCxhZLyEx563e5F6AeX1DT3cWGUBcTH1YxMEro8fxEXHfaQSoX6 + CWb0SmI6VdJuDfC8ENo4U4wE/r7E9PclZv5glMNOT8B8pC0D6Sinrcnj20an6cAMW+jBnLY5jQDz + 5NJvUo8nZXHmCwYWZ8KWsSQ4wfSnJs//FhbmftlJpZe+UL47y6GsrcRLUAbkUAYgZV86fOYKhRin + MkJwv88CPtBnYTalxd8NcFIxMI0pEZoQdULI8pK2VWlZ+r51425JOw0MzDlx2Q5sWrxRmVQvGqFu + /knDMrlQem+ft/+kTdR4EIkYUv61TKPnOxTSMq5Ky2gDty8DGedl/0/S9iWxKo/gMM6k0cHdl5bu + trQk3JQWv8hUmuJaAmjPh2CkxdOceYmlo0uDWXN3XRZ9Tly2A5seb01plLWpUOTkpHmZ35FBhRza + lqvcn7A379R372gDwhYsOq4LssY9X2AFmFYYmBnMuAimKNoM3iXVl6ai7tX8bFgCTtXIwf0+ILjf + B5TfY+dXuCw1xZkY1KGjvfvjnhIvjYa6xj1/qCOHfDIh1E58cJkalr6lf/bXiSquSW4U18xfxCYv + nWnjNwqizcAsR0uXvFwpyHS6R80Lpzx/uVed8mRFujJrZydzQoQqXRmJTeHwAefCRfcbg+B+Y1Cp + 0tG1R89aMEp1R3F+yOgWDBomLO/bmDTOV+Jsa7myMrF55ccts+ZJVHYmpaGdeUaMjmfsRO1/5wFo + l7J0JFt6SeUsnZH1R1lZLPIZk2jqjUBRptNtUtZmsKyrN9NHU0Gj+x1CcL9DyPW1ce+6QHsfZSr2 + u+nimfkgM+BzrnQzOwiduenGmaG5qvfzxK7Q47hjhqdT7ZQ4CmfiVW+vI9VP6aKYFeNQhtmd1OnO + LHJpswHMM5YRnSrzsKSi7MEz19yl6KaMzft9QnC/Tyh/gGm2zqMO5DBYa7hIt5u7oVafDGaWPLCO + s+ePdcRlmItmthObuXnKTa9GGHkjK+OcHzT6kr0E05dQGifTg6jZdF5WIDnpnztY7Km0xjpe6x6d + Lti0qOxNx8Pszs71VML9JiG43ySU37zpik06BmtlCD3pHjYXx10Zc2hm49JrNL0ZW5xzIrOd2JV5 + HLfMyLSq2N2b0YCOhFcDOlx6kHiQ6WQPenoM5GjgIifTrfpBKSVua8bg1ESEmokUZe7c1qQQYGaG + EdzvFoL73UKejcK4HomQ9TjV+HDXLeTxA92+5U3VnpAfxtmnJWaUjlDrwcj3a0S7rw+ygS1f0JcS + k7sSmJnupASmLNnMFwgfyDtZ3OHSanGHBbTcQ48xqmFG6GXTL9rAlDkRxDkw74vM+/1B+XOxa0Xu + pub2jNFkhlHoCCbB7H0gz/uIWWbyngt0ystw+jf1dQK0Tsv9PmJ7zBx0psqDbSnz/Z4PMrNJqWZs + WZEy90Eamb41/z7AXZyylTU1CDBTUt3oaFVjkAUx9S35qQTQ/c4guN8ZFFhC8UJiYv3YQ421O63K + gzkjkEyTz4GphiTtwNBwjswcmO3AzvcJVoPpJJgBB2C6eCUx89Pg3c7KEASiASSiQc0l9H7V3LTe + cnMzAYBC1ChzE1l00wY71bsG9/uD4H5/UAg6G/RsYEK2NLFKTuwIJSaClxEdtQCH4WiZSUS7BuCW + Dgp+I9G7FpJU6sEPlDqGS0S9LtmMstoouNbhe4DphewMsFhSbIkMNzYTYpLZIIh6VgJwMK0LUzXF + 9zuE4H6HUOxF5ziuGfP/tUPIV2vfaZ0extMS5sDMDDpdUhxhNBFujst2XhOdLRsUqU6bZsNlSMnO + NBxSeJmljEXLSjLd9hiDvaOXVNA9mtZluV9Aqw2/1qFo+E02i1EJp1MVR8awVGV2ve1UVPN+kxDc + bxKKbkVqutKIUcJxVrMZcVTXMYdmGVOkY5rRjzKVc2i28zpzMzpZ1xGDGpkQ7agVHelqzEykTXK5 + J+Ibl9FK9zySHJJQuF2j0iPxmGbamyw5larIHSKfWIg+4owuN/f7g+63B8U4nT+3pdjIYqnnylpA + QxnuC0zK2jXq8sxkhl7Q3Diu88Seyyh3BCSsbjLjMg5UuY1wNSEhc4icy1R10YnlOYHr4DJKcRnt + sn+eUNqYVJOSHExUw4Zj8BxMwJkUurnfH3S/PSi/fU7lgM7Hw5ojF0sfvzO65ijBqKh9Tl6GDTo3 + KNGwB30ucNQObIVwbbrrcccMTa9SlAlHKUobr9BMVpYOpyCHH+EjgHn8GuWwuEN0r5CZLSqenkwu + GBk5AqPGxfnEHPRsh08tsTD3+4LutwWBgc1PFXdkKzPVdl9fe/+CLu5I7gNWZpm0oa3MFIfp89nQ + 0XFgNwi73LFQ5uUHwsxMoywQuKtIewpqPoJBWdSevDIyk0wDHdJ7SWgGMZoreYuyp9JEpc0dr2rP + InQSzdtC834fUPlcdPHws3YLl8XPm8nyrKs7SmlkZE6mgbIFljSaYOxo5c+k2GwndjOxH7fM4VTx + I04rszTTOTPOnLXt5eLQmtENPJS4uLLxWdwB2Y1ensGF5/7NWACUTCSh1X0yCtAgS4+AAgfUo53S + 6vf7ge63A4GZ7lQzoSp1WxcAdYVHYFgw8hWiE0wY8XlTdLJxhmdU/XidpOn0IzrDlewsmIs0JQBI + D71cYSWcar7MTu8KnPlMXkycgjfS5Kwjuzic1YVvcNr8N0zBeVt63m8JAuiq3J9lhHytcqfSxNzB + Ge+nhDKGXQ4d+Ai6GzaneyeHftwxn7ZpVZ07jEcbWojnxE3HZhsCa1mrz5WIOumsl2+D8NYfL8cY + dYtDkLIXZEAympJiVO9gicxfB/RTQ93N/fag+91BUOqJYAbS+ANCbUqH0pQO1M2aARx1VE6qeNqC + 6SbHgR92CM3OdT9O7M3PMmpQjucCHU0q14wmG/qrQGd94vtjiyEJVwmO6XgcWGo7CRrSi8C6SCLs + GY2X/WyGlMYHAaxJbsokvd86dL9zKP+p3ZyPcdFc/AFikaplzEd2dEEXzZUPfTDnYw5Yyo6373Q+ + wnCOwmSQqR3Zd2mUu/Zy2iFapff3YU8K2EtfvhCJahInkhyeUF9dQpqE21SgXfSbKPsIwiyNslnD + 2KgQ5UsATQppSqbebyK630NUPpqY5hV/OrwmBJ3QBMRhu8bsAAUxOuTAxt2PzrcDe8V/3DLnU488 + ZMAyvX82BMM++uAYoLlXWj+GxVq1U+i49iT0uJ4hilbN8YK4uqSAkvOSUe+colRAalJi0w+Lyz7l + Od1vKbrfUQSYulWV70KKtS841KEYveuEfph2n88gddMP7XAW/HwKKY71PrIey+OFUAlRRi3vwrxK + vBceVc8G7B3wDFG9Q6M8SW6rxOWYvcMIEtGghioYVYZsEi8MMQHTJaOfX7ht+te/f19g1HQrh951 + 7x9DFWDU9gbH0ICb1mmZg9CNQrT+dMqWfah24kCUmjODdLySDkDZUQXTpWVqSZd8lp4aOdjYqTmd + Vluj1qxm4V3wrJM9I+iNqpRHNfcj+1Ns10tMPl5m4T+/cAP1EqL7fogpQuHYiVUsrtSrejssr5t1 + nyx1UrQEuu6HSNuRAy//3KHRjAolRkeA7jBeyNF8UqD31hfso26YSNW4opOLNsqXya/R6oAN4t5p + VUUjVs08No4Xg2ZcZwTqy9ZTr9CaWBP5M1jDD1ijpSaUTVnR9q6T/YDKh2zp6ur5d3z9OZXfDuyi + +cnKFZdHGS33mu6SWk5S0hSNWmEAms+yJkY792sRU4ekhCmqXW4WZL7J8OaOTKe9LFX+/MIF1UvC + 1LgNVbrpPd++BKNsGRSfVVaKfTh/rO/n6kcgm+66ir7EukeTQSZ9+3ZkN7DmcdNPE053ITW0Kav0 + WEUkgvqSUdMxahZHhFDCFCSkqgOpBvE5ozZaDqm7jup/fuHW6iUZylzyi2R9DT8ZqKGEzm1KH7VI + Qfv2ifthdyxSGDv36aRvfx2FZ7pjje5VLzwTah71TnueU2GZVPtR1oGwBqUnpxQ7qgEh1inJKXJN + mcp0GRb9/MLN1StU7m8tp5L/ZP/Q+U/20jS6X8k0comiHy7MuusS7X/vzuD57+OlFIPxpoTM56i6 + 5KQEZFQgRmVihlUNTmQgchBdqqNiOYghaRD5nqyUwpSJ+aqV1Ssgli6wMCcfcZ/CHd+yag1Gj5sL + H0knZZa6LcHhg/56GkvH44YX240uNwRrxR0VlkFhGZyIyAezOp6TSmeGxDIoLAlk2ig/Q/jpCS9n + 1Hx+4fLq/3b56NNwUdusS47QdbzBxzzy48QZARmMpNCHewIyGD1YIagp8PsrMRLVMBrvF81Hm1hm + qIAYVW6obhUUHHomHlPm9DI39PmF26pXOHSwTUnHPVyU3qBuz/Bdtt0Pt7RNj1UwXbTIuw+UerYD + O+m43y/rXlfC0Q+F42VxvKcy1kBQKSOZXolH78TUQ2+We4SDsUGKR+3UVPuSYwk+ciztnFPzqpXV + /+3i0YURgx6nGMSNUGvofWSLRtDjFIPtwBnp6JV0dCPpeOXClE4/sWtV1CZl4rg/45WULHNvxDgF + t9p56TCiFJNerbMktc2lFM9xIJ2Z0tevWlO9JCed9rKfDS2uA+WgTLLUVqSjV+d9nP9AI1Hv5Jwj + u5z0so/RYGJkV/sBGz/TxsmFNk3B0blkyJ0Vcg08YUjuF59gOqfAXN0yZAmCF2AGH/SEWJU3Bxc4 + mOl6A8HnF66rXgGTsrunYujvbhmqHW7g9mZ1rcFpPLp4slkdywY7TSYMs+Z2bmtgO7GR2YZxlnpk + EaF0Ri5no9Aei1q5y8lIRtceOSfq4Z2SmuUWOZy0ukndIpCCE9UQGqetSygvea4YgjAVQH/Vkuol + OHnG73psl81klg0jAbo5nLba+F1oyPgpOvOf4btJseP4uZ2Tm+3EzsI87vmEk9SoQxqNOkz+qi+Y + 3GOy4YmenBErdqeTHKSwv+jSPDlDMirkPUmp6bySmsYhB5Ouq40+v3A99RKYuIXZrYFPwbRpOE8O + 4pzVOZrxkVkfFW0CzcnNbsrHSeZ+04xMkGTa0U5Le7k7/dw80NCTg7VB1sCfg7Yfg7XX0MSkCjgc + eScjQy54bWmKvYHGT0XOX7WdegXNstdhcnF6aSEqqyLrit0ezeGyqzgnMbPMMjpaZNOoSWNya2A7 + sJ/Bmf9QLyRmJgIFl6495k755SaCKDvWSY7tsmrTlY2yM8MuDy0ukxMEl0hGRopcVC458kARuilN + /qrl1EtU2m439XuNl4VKX8Lo2cy0Xo8stpa5KwzLuZnaxXDVitzSqFLDTm8UwnGphtWrLG3NEDIq + oT1mY7vMFZSkCzPz14oXER37hhiXquQN02IJEUaLMoBpnJWhIq+GdRnk/g/OVRC9ajX1Epf5A1wY + 8JFKhUZZj560tMQ0KnerAyKn9DhQJy7t2MDE2Wldx5GdHj/umZEJckUGxsGKDDRXRcP5GOX9WCt3 + CoHaKaR6gffXXSPTipgRhQRWkam8H8tHfGSReT2u6/MLd1OvsImBOS3X47RrRbsrJdgdm37IpjQ8 + n4Dku+Gw1oxUOaQ556ed2E2HPW75RDMjIXdTu8Fuanvl+xyF6QxMWZyx7wc9wcQodwO65fUDJgrn + h1xtDBFc6qo2ETLKFuYcly9aTb3EpZurutw/cqqDurI08rpEGGnUrzY35T37CD4M9lKPNqZPxdvP + A/uF6U7ubkEvg+3DRiBIvuXE8RyfkM86VwPmNyBJgZn5F/M9jssZmU6uTLfLuwEJRLyIsshWuhyU + Lq+zali8aMr3edlK6iUy7dqe3/r/5rvVgAjjWOacMg/ZPNDpSKRhLdvkOtV2YhdlR9xE5y9a2aWG + ZtD/UyuEDp72RscdJuTrqMuQI973KwbR4FnOwZ/KOLVi6DuuLsrAkJLg1KYIaomlDrrX+CwrDL5e + nf75hQuplzg1Xc/vs/CReyMse+6M7bos0miQgptT7MUM1IodzTBtbudylu3EXoYa1aqGah/1sNsX + yF8ZnaVGXep2VDOSjip2xqYRMnR/5SU2vUyd22BAhTZ1B5B3vLIoBLoc/P75hSupl4rWY7eR+nLu + e9nR6LsetcDikCyfPpeqLF5m1wGUhkJ0dsXqcWDf/xNV/Aii9NTBD3b/Rn9O+EhswAdblg7a7IQk + I5v7xaxWPcpc5f7CHxKbVKMFIuquit4Cr1R3c0UdL9tJvUSm72JIz8jch3Fm/6EbxgnunWzQFJnD + 6V1hPChhDs1uehe0KBJ4tcUFvJ7sQcP5M8a2sHv+47Dhud/6wWd+Q0XBh1gIfDzthNWpCZ3ghZcE + tFqDlD1QEe+0+zYFDqtV3ntIvIId6XoSzecXLqpeopU2N5siqiTYuK+47AbRsMFwLOA5GYb3tmtN + 86O0+hyp7bzOEC2fvpxB4+QIeMCB5w7Bn/MSdu/twRKcmHZNP1547/3MGVKjEpY3qMdqbJ5kYgxO + kWlUSXu0LKseEk7VbL5sW/VaG3pX8vFcwxOVknYb+rbJkfU5R2Y2XFFHPIFn6VfRbAe2SHyLKoFy + kgZDvEalSGBO6xP2adwPnNwJZ8ZaNPjKDl9S87xQz0ywcuIcrM6dEVuCC6ne6Cp3Na/TRLG9mnCm + Null26vXmtE3uyBCqz+fXffU7RNMwzmyk+6822gwGWlcNJcmpSjJwUjubEXfRIYdsFmeO6hmFGqq + Jt6jZ7c8obF0dvfKVGb5RgguQTf2ylxmWscyKQlqKaoNwbo7rU75OvdX2+vlWJ9fuL96rbF3OyuH + piQolrw8gd5VkIb7VycNUS/ToxWYNJSgk1vb2oGDMZ31hnlPr0yxx4FyR/Anl+aUn4ktr06y9ANA + 2pypJYjaMaJeLi6Wy2U97oXrjiZG6R+RiipFZJ6792Eq+PmqtdUrUMaV9RlZUKY3k000r52jMMyv + z+0RzDh7q4iMo8Uuk9XF7bx+TYHanqG2qYeRT4R1zuXz9kmdwUyi5COqbUNR2pl2dSAXplrNeuII + 0athxjZ5zSNfU41T0w9etqZ6qXNyZVisK33lJfvXjT7gPbjMyAxTQGY1nfTkgzBMErm5CGc7sEtd + Brk3I8jw5iiCBI5atUctNdrbz6oXfTSryb0ExXrkjWqq0CMId3x59BZmn0XIRvBWhdytrtgMfPS7 + C3MFSC9bTr1Co++imu/m0h9RzTKHpdtJ4EbOuJv1eQLqmGYY54UmE0PtxM6S9Cqm6ZWEdCMJGU2r + iUvnLksGZMYYO4XNu4IUkipCtFjeUYJYwogECkZqa72U2gS+WshZ8jMtQS9bSr3UErQUZ49lWXpW + 2I60DemGAnIqBVQqaUPXEDRer4pTRJ4n9g1Bqh7OKSLp3KTOdHadvPKAKT1MSHcO0S7Hvjuf2MvW + XidXALtHXfFeZrxMZ5RFHoBJ0Yk6RRl4ByXFNBdsf9Vi6qUK9+m11PsKS6pVDt1aaho6OHPWpJdD + jveS82F6MszVELcDu2JNUtLSSe+GBl43krkaekAbichQkpYlr9okVeIuSzbtaleQ8UFUbIKJSc0o + VKupjU8sfknWxqn45atWU6+hCbrn3DzV5fmzh9LS3VW4j3Q5wJxpmW3/LoBJwyzQWY7/lM52YF/h + vt8xa7yQRR521K0Gp7NDrfyI2BRiu0Wpy1VNB6kJxCTnxODqmkCw5fknkyYRyUhlnfz2btbcpnxP + M0y+aiv1Uh1xl5p07zKJlUlfsj3ed6VH4zlvsxEh8trdsUN3J865O+3AJjGhOTx6LbVV+hxH+hwC + XbVd4CbkpJUq3CoX3MqM+WqdkVWFmllDq+WVSkw6zxKQ1lqasi9ftYZ6DUmjJ7maCznpqgve5Xlw + i6PFAnNT20uHuI4J5Y94MBiB5lvOZVAoxlZmtCVZ2a4SPTja9gtELc9jz0rNrfgeDUmQTIoCo3ol + R9IIObk4uMhmJqWgDODUmt+gBwzzOe0WwlxU6FU7qJdK3+Yr36qctL50lvvYM4mDYR0wZ1lmhIxe + 85v12YBJmG4DMmLPL55Eys3oVlqWw3Ex1lzLSLJCdwdFpBSSqIXk6lJAW61DhmRt+BGLp5Wn44jF + KTHENJVlvN8CBLdbgLAbeJ2eSElbqooKkUYHzvNHOZo+OCUlKTuqSVuT2ZWmgeaecsPbeU1IppNI + MexaZxhPT4hLSNeIPBOMeFa65X+G9G4lEQlXJ79PUcIJJOBc3YpOKYi4pXEWpGFZo+xywjUzLLGM + yJ6g81ULqJcyjdoNf9bLS8WqrMOrtBtu2AKXRTe8DALo+n/GaE7JyvO8ZlOGpr/z7QYJp6whGu33 + 9WeW8b2xwZsH977vDbVhmiUZRXmwqV/rJR6DEzWYhkAVD4Hycwj5PnTjp6qDX7V2eg3HFe0dy87p + 0o/eNVjkD3LQkTbp5WTHomuWzBpuACTK2Pr1iU19m5NItWJFlQYPC4fsVZ4xcy71t1d1QkqBgxjG + sVwkZKPMemcBQTLNqPdNZ9OQhYMw39FMpPJV+6bXkAQlIuN7SFJpLHdQB50ZHUaH+/tSYxkpqSuE + NhxMZ510cdqBDx6ZgHwo8sfLOGFPmtGWP6wxrQsgQWz5M7JcSMlLlFXrG0oFvroN3ack5nEYTFGv + 9NUDhPnS1JJ4nKLztsC8vwKgmx4c3qOzxtHLhooSWOkVOA5c8Lm0Y02kdXiaAZ5+Ds924BkVOvmU + w4OZxj7uo+8sj5d70I1el6b2+anitc1YqcDX9k3a/OUTaUcD0cugkHF63gEfaA3ZPZoyKF+0YnoF + yPztVO7OOLETf8BUy4RcKbcO3QYqs4XYAznnfpsywqIDcjRqHWEuTtlO7LKOpUtAAqnk5SANftak + vy8tpUFpxfa+/TVPIE2Nn923KAk8SiAzQrKY0njQApLt8IH8aEp/v2it9BqQXpdSPg1T0lsZj4nl + O9chaQcO+FQifBgRAubQs4iQn97bJ+cPWmNOKL2SkkZJyT6hQ7ZJSWgu+H5QE5Kyf0es69t/y5n0 + QTK5uH4iezXSpgTvldJWW3nreqFz46k3U0r7RVuk15DUyRz/LCSUiaRCJEXdnlty/HeFJA22SpUp + egOtPScjSW+V8unkUZZmqN7cfcJqX3XeRrW2WiHDOiNMNU1PHvf6Dwak7IQwXYwyLgrJGkfgQGKS + QUqju8nQML/bhOBmct6vWhO9RiTNNkJUv7ss6YnZsNYZb1ObtG55OUT5b+iBHGrtMAPkeWBX3bvf + LucxSh5HTne4KscojIhSIUPvB4XKXhOJJ9FHQuiEwcioEBg1EqYOzRJDBwOLUhpv7VRY6EUrotfw + tFpgPhtvTSUuBMWC7FX4yM2Zi1OWjbU9n8MNUvMCU0zCRMc0uEx+s8acx430bnhi3RCnxLRMYmKS + fo4R5edGVVeqxRTrOtyScrxNILW2XK8A4JtMDYW5wPmLFkKvIYmzHTq7xKSa+zYDx/t2mjFLFNJD + rc0m51cvEdkOHEhM1P05lzxad+XnlFOfA4nKqEQZOl/0c1yKUkYaXY1h9DJI4KHzEmnPRuX//tf/ + BwAA//8DANphTlB39AAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-07/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-28/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-12/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-27/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + rWclsKvcAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-08/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-12/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-10-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + //8DAKM962j+/gAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-04-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + cFscMea6jP/64/8BAAD//wMAggb4WjzUAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + uyn0AAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-29/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-07-19/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-06-21/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + DgEA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-09-20/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + 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 + AAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-12-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-09-22/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA+ydS48lubHfv0uv1QnGg6/aXXjrxV14ZcMQRqOG1FCPZjDTsq8s6LubZOYhGZGs + c5g8Va2+sAez6KqTyfP61Z8RwXj848OPf/7h818/vPyPf3z4+Zevn39O//zHhx9//uOnDy8f/u3f + /v2/IpmI+F+MQWeNMR9+9+Hr5x//8unX4+H086f/+OXzrz/st35Ag/TRxI+I6ZHfvv76+S9poXTr + ZtKNf/8lr/rjD1++fPjn7z788uvnHz/9lp/ujz98/dTdCzbd++OXn39LvzSbgeOH3//2+f+k39Qf + v37+Sd713yC8ILxQ3ADif7+t8fs/fP6jXCf94rYWxv6XYsXwEdOK9oX4hcwWyLcVf/jtL3LF9Itj + RXKu/+XgNcYXm/73mwPKK/6vn7/8LV+Dv0uf/6e/3tbN/+6fp/zcvZPy8+e/fv3066ffvqY3wi4t + 8OfPf/pzuSC9qy8//+/btT/98GtdJ7+o/rL8c3dp/hTqw8fP3cOf/uPTrz9+zl/F179/KYSkd/D5 + p1++fP70x9+nd5Io+PL569/z5TE4THf88dOXrz+U2w3Y9BL/9MNPPx0/m/z41z9/yo9/zL8I7NPn + 8elPt+vxn//83WMqzTqV5r2pDB/JZIasy984Rpyi0gZ7h0qCwlBIqKW7eYpKIDNFpduCiz2VzjyF + ZbTxRuVf//bly0Hl/s9/DZVsWUEZFJSooQQJJc9Qade10n4jraQkay/Gb8bZKSrZmlepjB8N5BUT + Qxw3tvFNqYQNjOuphKegtMF/Z1JpyCqpdKyoZEUlsaQyTFG5rpX2DbUyvkKlSd84vxj3YuzGht6I + ypAgfwG3MeAclWwXqbynlfHxFu7C96WVwRlHEkuvd3CnsES5g9OUWPK6WPIbimW4g2USS3ph3NDM + iaVluodlWZHNC4aNon3fLRzvqeVjLGOE7wxLcE6ppd7Co6ISoqByDsp1reRntBLndvCMkH8h+2Jw + 4zjp7bzu7KQFXaGcM+XGva1Z6Tfw5jVnBy8jiei/M6n0vuwaPZNRMknarARpVrKbgZLWlZLeUCnp + FSiBju2WKL2nOaUkcg+ptMkLhy16eF+lpKeEEinvht8VlcgxCCrV9k16+84XdFDaKaWkdaWkN7Qq + s+kxlkpfvnFKwryR83NS+boHvi9Ytm8TNwduDkqcgzJsFmwPpaWntJIgL/A9UemSWEqtRCDJJavA + kI+SS0czXOK6WOJb+uDu1T085G+dMO/hBufATH9sd8iE4oUnq8DaLfI7k+nvOTzePnZ4yOJlNPO6 + 74cm+ijDQ4jKtswhSoFmkGj6OTTXJRPfUjLv7ON5E0/isxFMKqYJ98DEw1zlitFDMCMGntzIvY9v + F0tPcrQgmfSOXFqfHe8eS3YSS2sVll6al8HOYAnermIJfrPvjiVniNKXzglLHyY38rt6WbDkRGby + osKkIz6pl9mNcrNU0uOoZXYwvisoLWQnp6fSekmlMi+9swLKOKWVsL6Nw7cIpSetdC8GEhebJZ6D + Eu9CSUe8KUm9D2YOSrsYSr/n8zyGEth8b1KJ7BWVTrniTmulFeEhNDCFJa5rJb6dVr6KJeavnJMl + GDfmufgQmXuu+I5l8nqSJRj8257wnANEcM/teQwm5r+H74lLjj44yWUAyaVHzSVKLuMUl+umJbyh + acmvcVnillgoin7yPPwBlfySbUu/GTuXo5HMfJrCkjZPII54+Cm5RGjB9P2GmaPHd8XSF4+mxzIq + 09KraLpncfSY3tMMlmbdtDRvaFqCucNlKFxy+lDmuIQHXJa8j2xZ8uTJ42rgEp47EAfD+J1hyeik + x0M6RhQ0liSOHnHKtjTrtqV5Q9uSX/V4yneO9sUkKfJmikq+R+V+lOmTvZp2pDBFpV89d6R7VOJj + sTTRdlTiHJX4nlQCowwPEUkqddwSpWXJc1CuW5bmDS3L+0wyZi88xMmoZSP8FSo5LZczN930IU+c + wjI7PCy0MtyzLB9jGewrWon/Iq2k9IpkPJ1yNKinElT2kJcH4minsofMumVpnrEsJ0/Ej+88pO0s + mW1z2UPurh9+g4hhC2Hg8OAZS5zL/nXJVlU7eD6+esK0jA7DxB5uvyWYHlQGsCV5AAkqmB6z7dm4 + JD+BJcRlyzLd+oRcXsXSmi2gmzMsH8rljlH6jOPgkGfAJSBOgVlXrGC6CBc8cTwblwF7weRXBFOD + yRJMVGDiU2BSjDKxzXrp9EBU1mU+R+/AjHNkLluX6dYnBJOukplcntEpDw7IvB+5rBzxBiNnnAZk + 2jnJrCtW+7J4ppVMVmTyYzK941fQ5A5NfIAmKTRJoonX0EQPUjMjy/AlqaoJYCdE08Ecm8tGZrr1 + m6mmezEuGTiDzfwJNmuw8TGbk0c9p/BlxB5Nq9DUR+N8QpO96cl0jUy6R6a7TyY/QyZGlNnAya6W + Z+MUUZGZvaOOzKmzcYjLZma69ZupZjmEFCkWt2+TzmQi3T0b781CGpDJZzItTRuaJMgEdNyz6RSb + XrHpBhu6pd7U9A1O28FJGk4v4WQFp5Nw0jU4XRThopL01KFpoxJNVT8RaQrNsG5qhmdMTSvRvO+Z + ZzSTQptBtMgO0AxzaMbN4sDUdAM0pbv+eMWa6WZzLVYlM0gydRgznsHE2O/neR+90eQ7MK0CE0CC + 6RSYUYJpr4HJ3onjSGQr9/PoJJpoqT8lh0lbM6zbmuEJW3P2NLKSGbZgB4fk8Uwm4b0Sin5F686Z + G4OQEcUpzWwL1t3c9ec+oLZzUJJZH+9CmT7kwGElrkkm9N551GQqyYySzPxEPZnhGpnoSZDJ6kAS + nJX7ObnY7+eIZiZnPfl/66L5hKV5zdBMX7vbYoQTmTAgE++fk3cKFwdkjrxzmpXMKMkEcrZzz0k5 + QaScIBo4QVS+9htTeWe/oRkamqDRzNd1aGZSezRJ+ufgrqEJyCLOHigI/xyL/96haYPvHXTyNFM7 + DmHd1AxPmJrsL7KZvngXzqYmuwGbPOcExY0sndhsr6w7/5k8AKor1tQiB6Hb0L3STZ0h7M9wJlu1 + b2vgm25St6Nzsmj7/7zKGJYqSgpVL/11uoiqcaE/PwfPTnhFFkgGOaNzfVqHS77BDKp+3fT0y6Yn + dAbePKrR6FhSv05DNcwFOWP+ghWpUEw6TWqYVdFjwWp4eog1ORM2KyzP9LOosuge71TUdqYnbK6F + 33OMagc1fwhCRffrOjS92OD3J+rQ9Bc3eOOFw07oheXps8A3MIGC6TU0+TpTGurXDU+/bHhi2XGu + gem3cDoVwg0GPtGkhPrNRe2tY9nrTvv7ZBTpWK8KqPex+uqkfHXcohDQ9PMgscM1/aTtFuDcwdup + zJ9AaQtw+w97RMs9ldD9vkZoespePNPDF0NKwNiLp037hTgg8s6LFGJwxvfBzmQNzeS1g183Qf2y + CUplh7vEKKbPGzSj/Todo3POEW3u1IyDtnBGlKcYbevdGGV/wzL9ewtij7ebIJQ3Ou/wGCug5fJC + EnWhpJz4ImSzXFaZpCwhDUkuH1ZFMhEaL3pFAXvRdBFl0aQjJ7wisE5U8gY7lXkEft309Mumpy17 + SI+kfYQkJ4FgXclrNz4Taee2c5v+ivXJkB0SOdeGo67XzoVC3czdJjwiv7Eg0m0DXx1D7Vnkt5s7 + tKO9E2k31/NYLqo87hc2IN3Wx484v55LCultn9sRmJxw0tmy3MXBxD4PzgYzFT5y6+alWzYvw2Yu + CqQJG57CR+n5BwIJc6kdYfOsBTJ0kdKLm3hbr1ZJ3pD78BI3cXwOXayovJGwuTOP3tZuRccNhSSf + P7udxwRgv4HL5KPjnsqnl3qZXlKvly4/es1Txz6IFMlHkXuE5AWfxvkeT4xTpbyw3noQ1lsPpo+O + ru7ghBudurztH/JpB59M8RCdkG7g2AGgfkov64I3QIOtZbwAm7Axoeyune/THhfZw7XWYr+hoBTL + h7cTGrcomCxXVSTjJqzK9CS+QzJuV5I7eDOfPpommZCfqeEoI+0ksjqmOFw3JN2yIZnLheylbdu8 + mHz0oDlMC13NYu+wgZNOpu9xxOGct1MXrLHM5uukhWWUHazauYHaMXrfgqNp5X7H7phAsQoPNxy3 + IA/Oj0ubm1MBPB5nGWqHPXZ1KeGIREAzWiMLeAGdjBKF0k+m6SSHmaI0WG+GCevNMNPndy3Ybgue + 4YQnF5f2Dfkc2pWLeJZv6MDTKpn0KqcD3HYOZrJrcPryTneadroOOO1G0ts5Lm1wNhiPC9zWH52n + x69t4Wxi6DOOIsswERgvY+3RW3EMZMNUnMiuW5h2PYDpNxUnerV10f7N5x4Fm/PaB0/rLCunz3EM + TeZu6q3GiY4Fq3J2O3jYpHBG6YPD0MYEX6t40VSfJ5PVyExWpiRzv7KBWTk8uIzlj6KBafNXcQXM + 9DVI0SRZMBlkIS8Y6fqkzWCmfRGst2qF9Vat6dOJ9hKZx56uszrSQuEJ0SSjQ+v717oqmqSKLbiS + iVBtyf15qGrkHr80A820rQRov35HqThSR/wyB7b7ACYJRstNjdFiTHYBTCgGTGM0bNcimDbntPeM + OjayB0I5n+3Vs7zClt4RYcoBsuuGp102PBE7lXpGPtNCtAypS1DpgBHSZlYhreu1WvNqeCI1edyf + iKV+9hf0dmdNiENXMcViRx6Ypo9SyacTaCJI+UxPLOQTLxudjBLNWKoKOjRRdW+lKHsSWjcVXF9v + KgzrTYVxwebMB3A6wQN5GF2/3zSma4nFRhdRohuhOdmeoy7YegrXzCPkduKzP5NX8aP01IMyytj2 + 9tDiR2m1mnqEJ6vzuLLRyUo4nXSJ0p/FtRKMpJNKOMnKEgwLanePLIWTpujkuEwnx2U6/XRkk3P3 + GLC55bU/Da3A4mis7+0DNsOy2VkXrLrZZNPKODt6fTjpB2SWxnh3e3RkjZS++t4wsnFpFZdecbl7 + S5e6GkUvwAykWsCRamvkQORrmrmAO4d1LsMTXF5I2OSX0np18+Gkmu6J/Zw2y6f9fD+ZWQOzLnga + D9Bhtz9N1IoZRlyamqtJXcQ9veloOzKj4lIKplNgBgWmvZZJfCmuCRYuxjXZr9Pol2ksvuqsStqX + 8v+W/h4HNK7CiDlZUMMYtwGLc/WTdb1Tf619T2gskj79wThikfiRRnpFIigSvSIxKhLd+wXYgdxV + EN06iG4ZxHjpoIdfyOXhO9acdNEPI5iT1iQlpT3lapjG9mVrsi54Fsb9HQsa5Y5NZkCjqwc91A56 + 0p9xzRTOcKkNW5717ILbaCSVxr7T+k40Il6lcT00tD6YIg8bU1karQxx2BHTQI4NuaDTLtOH/RyO + TvctSuLyFI77gq1DTE1uM/JoPHd7lzjCCMdHw6UyXQpHlji2IKVQz8ZjuBROv8aj8Vd5XHe112dS + pI9Mudr3Th99+kzL+QdqZyatM8rTmKfxlGxJ7jkaZbZl6zhI3Wnj7YkUjiNP2zWzMVZ1zJ9ey2Wz + OSojeIyCR2LNo3K0ia5WoEUTjDjfcV4VR5I43wEi0TsY/FSVz/pkClifTMHQVY497h2cwOQXTh/x + qQ0HdSbfiqOtt23uU0dWHG2ZY1kTLI3KsMwtmCSYsdVV9Onpj4QyblGCyVIoSQtleimCy/B+/gxE + d3XjXh9JAesjKdh2TuxMd1bD5Rs9Verm9tZPeNekwz78TNinLnim0algeSnuFBm/PKKRH23b2XaS + 8UiWMslaJtmKnCHek+Pfh8YQ4kUa1wdRwPogivSR4YVgj09/wmX006kRTPpWl2n0m0VdAWlh5F7P + Hn0f6516qh9vt0s+19LIY2msSRmW66a943bAqJLXrBTG/dJGopW6yP49SYSrBuT63AlYnzuRPrFw + oYyM8y6dPsYIepfO0yjWLchsfurDblvCeIsWZF3w5F4f77iDUStjusKfWKQaD7ehJQjtSQZH6rnV + Ds1xZeXRqpMaK5XRXrcfHYmZKDEG0MNJrXRsVNtL4Kk8jPU+/7De59/h7ElNHvrE+YQbcKMzmn1C + z0KGEGvfxsETuZV1wROZ+/ttYDqtkjYOwHy0YefcQVGCyz2i6TkkotqWdOaWAbw//p6a6YRzM8Xl + umauN1R3dl4zOXeuzlFJFbHZS1x4/QjRbjbo4Lhz26Dydg7Lut4ZS6sE05WgYlepwy1g2fVifcSl + 3WTJrZN2pNPJlE6qpbtoR8IWIhmhlh5kPhDI2WaIpT9M87atn0r0XW9cDeuNqz22uq97kaCQnvE4 + sMGcx6f9GxfWc9aSNYqoofTQ1fFer9g5FjzPcU5vWHYt8KSwjIOaxofetq+H2EcFmTQpncpSS5dz + b1O694tJgsWrJzbrXYFhvSuw96U9yayrzWVYYzYpdVAyfaF+VR5HGRZ+GJJcTLCo8ni83Y5DJY9+ + VFv7mEOrOJTq6LWX7aU6+vf0slkkmU+AaNa7ra43Ww0wfYRdJo1Zt2dgn0oYwzANbb70QXOYXtig + a+B86UMYOtkBt1uu5PE0Sg/9SA8fWY+5lY4M9wQpiF752OkG1wuif0dBpHDRXjTr/SvX21cG2zUD + egxiyNNwDQ/8mNAd9lw3F82pG3VwHdjX7UUTxxP00rJWRHuCEsQwEsQduvsspg9SsShFMWhRDFbC + GOgSjHk6TAwsM86scrCd6EYNwVkx6yRODdIz6y0C1zsEpk8PZ8GkJkA+6JYDaaF1BzvHk/VYiQjP + kelhuFUfb7iRGUkVh0UzKl18lAqZ7hJ9raJszRKURKbL+6qwUJKELkCZWJFQ+qAG4XoxUwIdirA4 + 4FRHVbPegW29AVtMGjfbPeguk2mhdSZHBYvRvWlBbe07sL/hjsmgmbRLTKpOGLGcFFQmIysmrQjz + xIvmI2YIDQqlxOwYvTpxFIlt784k13eGyfWOVusNrbIvdOG0xh29BiJoSzLG9dOakUOTX9gb5oxX + Jo833HfD0EJZ/MMzla3PWroDb1HyWI5pjlrFfKPvmwLKjhj7bY1TpZ35drGlx2vqCQlMJ2tq0w7d + qhvszf4UZzlWNKQ2diZmbta7CK03EdoVoCe1/82OQv+b47ukkWFpZ7N07akvOhg3KlS0c2DWFW9g + 7q94Z7P9+/ZUWi9LEO2M5oSBeYTfehz3xSuO+aOKVgKpbEwwWP4o38flMVePFc16e5YnurMA6dru + VxUTSpakz187R62YYOJTzvdAMwGeTP95RTP3t9yBeW7QYuovuhZCj5g8Gsp0UMJ+1NpBqUUSjAgG + gbl4apMLKWWoPDg1eZSiDJWXEVdNI8OcibneE+OJlhgQp+HEY9p3bn/hTp1TgYbNg8JcdyuUg30O + aIbC2Uah3Y2W1xVPPjnkCm8r8QwaTzvA81GFQ7lLtWwBLZqg/fJ8lxRNwEvb+BXNNMFfTFEz62Wz + 61WzgLyFC3WzNleAYe7AqCsdkn83ypicTuYVSW87LDh2fqbTeY8lb1y6xmWD7ngmjSWOsITq/kBf + OFs+Q9u6CZ3Z1MWz+Q6pnWhFkhDgO0bSjccr2/m/G4Pr2zmK/fyXv329EihSgnkvk7cc6GQj7tRq + Ojxb83DKMo8wdIBW08yxixRJp9xIKoMfQInmcZxIJF9ElDCmZ2UVKIpWRoquhC9hc4xdE9+PebnS + EbVvNCAzzNNGLpIwEO3DM++C5fr8UbGTX8FyydkJw/zdJ8puwtjVWSy7uefqBKsgxAGEc3F0I1Qx + cYUyjC77pAZ308j9cdiudDuH3HURJIaerQxZgmombawsdGB6WOmQMVzvF4R2VR2XMPShy0e/6tfk + Limnw5xn3Jq64BSGSgv9SAsnMPQqeTcoNUyPB0EhyK4r3l1qWgV5HoSJAsPAQc0IJ9kRiElOY474 + sIFAwXBdDe2qGvqut4nusjvOKTelsY07pV3wej+1BOEpcO7degJQW3CQAOSk6eiVPPqRPELdo3ds + b8kU3OVdqCxeL9Vxv7hLvJDiuD/rFXGEPnCeqXSBWTUDkm3N0fXxSPAQZ6BcL5hFXtVGRzor7dUU + Xpe/cuJcucKnoaLu2U5q2nD00LnuK1GgV1J4STU1V1rpVrVSB4ESZijT0iSUIKB0Vw1HZjRyx+aS + Oylm3YquqMlOpN7NRv84WbJQuS6VvCqVrvcaZjLLmUorBtThScfDANB6baJ7RitPtYkNS1C1iU5p + pRtq5eMMXjGQxEmhdCx7RzsplOk1XTu4Sa5MBCmUp65pQWzfyWoUQ+vTRza1fa/XyyJ9UyvShid6 + /dg88+hc2fBU4oWcgHfPinRKGe2iMjqjnBmnzMi9aKLDEG4ZvPvD7qIzY3wg6cuYINPI0Yr0CxON + yJeEZIVOUbiujPRNXerkxb6tL2PdEx14L/kyVumgXXSprXaprVcUKqsxD3/unRl71Ww8Rnz3alia + owk1lG3LvcgfB+emNuj1AlnEVTHkfirD4wobn4Qwf8LuFHHkcTXDdAtJOHVDs2ZUYzPdQhJe6YZ2 + vOOOTKWPPNLHRzt0Lqv1fQNekRJkpQ2ZLmYR9rHSiORrRqSOg398LRCeu5teDoOvF8siroojn0ps + xlCGo1SWOd9CRpd9MT/pzJx6CNj3KGzY327XQUBpJa/YjIP2AdJqTB+OpJCl2cjXzMbcrwnBSqFk + OeDBkJNdI0OQ7UxDnAo+wnIX/XRr1wf63TdshlFhzZwopq8LTgWxTMMWkXOq2Fac2bEZZdNnioM5 + YRM7dl5Hgci1ILGSJkkkkbe7P/MVEpmjivSQivRQlPHH4Fjs2fFh5lkBcX3Lhm/qv1AY+s/zmWdR + Z46z6Y4YOxJnO0QeK06RaFTiGfnFvLNEktiYWW7MFNV5DKtI+PHE77M1l2jopb0ZlvvhI+CiDia/ + W89scMPNef+6qbSJzOOQg9qcyY1qsv2UNIY8klL3QYujofKTylgXrJtzPaGmoLry7ZP2Ohq5/WJM + Y1rC3Tqh9f1z01JRDK0TcFKUMnnc2uikILtP7a/jik5GClIniUAGemyUVTe+TPJuM+aBp3yb9fYB + CKtWJJ2649Or5zRUysFKzz4XdKU2PVEem6u3dL8VesbrrgvWFJ96TrO/4Y5Uq3UTR7pJj0TTpq9d + bOCkfG7SpmQWiZ5MvNpvxfsyaaoPi0cv8ymslR37TKRePyfTKcy6KWm+qSm59/5c9K9zTFf7MnsT + 0EX/ui44s38TKsXMvaXX9m9UpzPEt4KwHTRtSZK0JI8nvjKiwZfRpb0paVT0x4KcWucNi1C4nQqF + r/eyQLNqSu4NZ4VC2jt7eXZiS79y0scz+EyShd3cKTBJz4XHnQxM3pqmDFrsatMSh6ZltswOoLBN + ttnDOK3JrgBTWpaoQz6kMs7womWZi3MiyiQLW6I7/dglQOnkYBQpZ+Tm0Fw3M82qmYl+m21tUb73 + kmaxedB7d56p8JYRoP51PR0Bqlh2ubi3Z1GKObQxawzo0LXBhAYvHR5UNiVqmxKlTYmXbUqXTEQZ + LrdlIl2PpY8SS0MCS54KAq23XEGzalLmQUmqkPvVWWCluSmU1EOi0yywcUHDfHbkqZIb7VAx59Mj + ZSl3aCMbVKYFaqsSh1alezSxocwU68j0p2FLUjFRhifxok15xRXHeKkpeaIR4vpgz7hqR+a2UrpH + /h0a3QvbMtzPniY2YJcMcZlGHjTbxS61rYNxTidZN9utvvjxjjsYsZ3m/KGbBKmFEh/RSDoZDfmm + nDtucPNojodJtqOCBcuSvciyCBFBWJZQ5p50Lk40opI7Rzmn2FxvkxZXTUs0p9Ivcy9LMr6YmGdO + R9BxokTssvedx7Vq0/KZ0Z51vZYk6To2nazl7lrt/uGYnzto39dNncV+uKdt5TX7Qh2bqAd6WimV + MvMC3LWpiZekMhBflcr1KZ5x1ZzMskeKxzs0+twaiHFz8VSK6J4Yz12mB+uKLz+Mo8/zKBKBbBvP + 7VVf8vQLJZU8kkpXN26INWq5F0vWGcgsaIQolHK/tqvzCno0t7s2Nt77oDzwMrOzn4EcZQIGOi/y + dmOciQXBes8qiKsW5T4kXRiU4b5O5v67yTs+DfGEcW8BN0Vmtv9OtYh2fNY42zH/WLGiaUOrklWj + EoG1VOJIKjG0YTf7MPIbUs0RTz+QKkX0N9e8v7oD1Em1xKeGL90VS++u9FHLTIZ1uzKs2pWAlyaB + le/b2A34hKQZiyVOMZmUlnToHGjUNt9OEVnXq5t3Sf+/dRUonl1fH1sRvb2XQRIGhVq3fXB1VFm3 + 2dxpITW+87iyEVmu7oAk4YPHd9y9/dUzR1jvnwZh1ZjcP/spr/s25ziffQTd128432byDDx9C5E0 + jWaYRD6HY12wejmubt5xIxGm7AbV7RU3QyfH+9YVaPeO9yrCws9RGLsFXactWwjsF3csqlFg7lqN + dk4NR+nmxOiN3L67Cdwl/GNFJRhCmOJy3aoMq1al72r1p7gMOcnKB52n5oczwWDK/ebEgtNgDo/C + Hc1w2darXIY64tipohuV0ztIECKm6t/ssccDI6pMBj13W8Uo92sbkkHOcriYG0SOZKV2si6F100k + z3PAoUgN8sbP5AbBelM/CKvWpC26cWnjhlKKrgc5jEq3ac6UTOsFzaMd9eFtLTEfRM2P9eqBd4nO + HamTqhUvy02bhlHzfJ5xY9JtNyT7EXW29v3prmr5auXKrtChArofQl6NBCE4IyodAhQNbEzaMiWx + P2MM3HcBcvx4Pl1m0q9bk37VmqTzPLD7Ds4eAhT97Y8vc3CSY+dsSUqO8mlw4tC94elOK9K98aVx + 0xEK2pzYvtP+Ivry4kAog2med6nn2sOOWxan44hRj01k0Whyv7TLXauUHg/zlfKbTCXIykTnohBK + b4JwuwE49tZkSBvdFJTrFqVftii3qMKTDw6+S02B86fgZLdOg5LnAudBToXYTcotDmYxTUJZF6xb + dyKmNU7bSPZN2xiEh7ORO4tloDbRE0uEc/dZNmoRoS3HX7rwZMG/uTfl0i46KeNB5VkvcUlWHDBy + ABAGpfdGVicSh34Hj84+bIFawFw3Kf1yoDL93VzcwZMnYVn3FujX6dQyToEZ066q0yuTHzA40Ylz + e3hdsPk6EatcJhtMyKVRwaDu8f5IB5plCUXcCk/pYmpg7vMQ6n+iina/qWK639h5Phv3dub+Iq5w + is6KuCUZ5wWnjmTcEjCKPvu5/fQUp+uWpl+1NM3mrmJqt3Cq0DGbRPIWIJrOHALNaffCumg6zglo + XbBxanpOKUhOWWJaH+77p5mWPJQtu4op1U69+UMQG/t+XUcmibNHcwuwd49eATO5ZNyDmX1nkVvJ + LJN+jRNcOoaHPSczl27d2nSr1qY5eUAhPiTTy9jO7dschNOJ5hQ0rXg6E08rjrwgnHLL24ptUje5 + Ds3bGPnbc6GS0Pp413LSO9PQzLHQAyjkhiaRJJNZkIksyWQSaOZnvYKmK7H7Dk3jhM2JQbavMqEY + od2ROE9t7evN/WC5uZ+5NIo2Ho1G01/bicwRmDAnmcmTZR1U719YBybzFJh1xToaWWzt4CWX9efj + vcDgRBwdNS7RVS6zmXfjck+YfWVr3+/qMAUnMRWu0f4irmAaDYiYpnHWifoyCCCPJB1yH9VMIM5x + um6CulUTNBvM11I3chv+/JHrMFK/Ur+7z7lHSUxOVWfjgDt5P4VqXbFu79Ty3LL9pVAlhSoMwpst + 5r6zfSMKG6rAkk3wkk2UbIKTbF45jcy7lvHCPTJcNq0+rSjIthkJMdmJcm53X7c6lxtRnsZDvJrv + 1oWzLehzSTPsuzaJJaUvSMc3zdA5AhPm3KO6ZD0rh3YWpCZEtB+Pt2LORqdl6jZ2aDan6WxOUAIK + ClJpgRplgYJg1FwLLZHlIBkl3dpF9hcyjKbveQUuTHlGdt0CtesWqNGZbw/2eftiMBnxOrbUL9Qw + RZk3fE/r+OwbmUHqm6U4q54sayRtr55G+UYmKE7PwSVbnKsbUhmxG0++cWr8XU5NlJx6yamRrpK5 + mHsUWO7zCBRUFZoElcgKUHGqPhLW26nCcjvV/dMQavpwm8ewhdPsiL2G5gzq3PllyDMPzqCOvHg/ + BWpbsYIab1amALF7KgHq2SJlps6JN22bN51Faqxy4o3c542yQY3c5y+W/3COago2waopy6W4V6TF + xYUeq2DXbVC7boMafWh0F02kF+M2Nrr8J28d61s9bIxnC9QMLFAX5pylumI9NjIdmKzAVC58fbzL + 1vSx49I2Lm3HJWsureTSKi5ZcnnN/mQO8nw92Zs+qHZZJLkkkdZu/JwPv977F5Z7//Y8HRHwB+El + ynrk/Tm8ZEauEc+mxsGpo2D/0hqYAeYin3XFltlOnRdvVHTJqMinOUeX0MTOCDUtumS66JIhzaYM + LxkVXjIyvGSuhZfYp81LsGmC6kuNcnieAdHX0lg/01EQOC6jyXEdTeW2twSLsWZyKZnkAZqjANPk + du4S7OfI5wjNKJsgPF6xauZtDPiQTOW0m/PRkc/9+kZgUg/mfS7pPpcXNTN4HyWXPhsTr7ftTz8z + CDAfT3UsYIZ1MMM6mJeSkjKXnPaROS6RZrnkqJsA938y/WHRlNfeVrxxGZ+i0uJjKPGBWj6g8toB + JkfO4tdT6Uh2hwGWUc60sQoLk2nK+2G/TqV/M7l8kLtp8vEgoR5/O6Zy3sKEU++D16ic66xVVzwV + ma9RSfz2WOIzYmkBPSksVdMikDPzsgsjqJxq4w/s1ql0b6eV4Q6W4YViLrAi+E+HJQTowMTLYJLr + 9ZIamHgPTJJg4puCScbKaJGxUYMJGkypl2bKI18fMAHLAyYGZD6IFpns+ZAbhDWfIDNnAw9c8hGZ + PJ9fLF1yyxfIPJ8JQTA8RvOuZtJ7aiaXUieBppcNMQFJoUkCTZpqzQrrUyZgecrEGc0HPjmUXnnx + fCxk1s+FkuSnj/RM5qAQg4KbEs22ZDuv7NGEy2gGsGMyoSMTHpAJikx4hkxnWHk+hDJaZJyyMWW3 + GINT1RjrkyZgedJEz9PkQbrPhWtsB7v5iExCfoCmf0HIkVGyg7Og0ZHl3Iklxw1Ibufo3VNoIrsw + wea3RDP9h5JNVJVrRh6kG89935j0lzR1Srk+fwKW50+c2bx3lJ5buJaWJ6jzjMdk3u8cgzeKklEY + dNv/MZcOJ1M8aItBxDHxDpX6JH1ApbX9CSXMUQnvSGWyTqKMrxtQMUxDqLAUZedpk56qy1ifRwHL + 8ygGkvkallyaC5tceY6nisoxlv5+tRDkWQJo8yFnPDV+e5LLbG+MR0YtqaWzj/r/f2OxDMlbVsEi + kClxos53x9KTwBKn3PL1gRSwPJDijKW/i2UuQOfN4aSF+QBKyqdIhJt3A5981GYrutnUzWRLCdfn + KbF08Kjp2wBK945QRi6HWAJKjgpKUFAGFlDClEe+PggAlgcBXNjCOU+xx5BbndAgn3gE5d00IxMy + lUx74/SBPz4yLSlMQXmKFN3bweNjb9yb61DGd4MS0p9cAL2BkzzsMSp52PgooZwLE603XYflpusX + NvAyuoco948axi9HUGK4R+U+QhJL53w3Z1jmg9opLH0+C57dwB9rJeXkoF4EZ+zK99PK9EdHMVqF + JSq7MkcGeiyDERu4iVMb+Hqna1judD2PZZa28EJQuubBnFa+voGHj2TKBu7LLJFRotsISgxzR+OY + JzbMQqnT3EZWZbTfl1jmZjAqPgSgqVTeTgCQVE6dQa63E4bldsJnKsM4ZSN8xJC/cw4ZI4eDo/EB + lnzHDU8rxuJAlXzJEHQd+qtgzlmWuVpN5goD3YsPPWYTiuX2PbFJtjREEGyq0c2lTEiyKYLqJsxk + bZj1Bq7L/VsHgjkOXe5ocvJwy8g5nPPEAV+vo0wrFtNgLxwXvv0985KnJDOPC5WNO8g8ZV9ieNRb + +Dks95WuTBT3qsFRBqiFLeOtPZzAUgwszfbmFJbLkrncLvOM5bhvR/gIrrgosQxOOY25f4VK+3o8 + PVEJ2TIwXA7czeCo5wkq3RacnFdqn8OSzHfm9iTTwin70oTmi4chlmLQfcJypjDNrHcoXG5QaE4n + kDQOECUui1oam4ccxlN74TGX8RGWlA1WazeAuX0cwlzJj98cCPuS3HPeuPvesPTIATWWLWnDj7EM + Aks3c8pj1vvBLbeDm/V6QnGdbTEGk9fjNJVqGNVgaFXjsv/tPQLtXHYG3o4ua3U53rMjhePdzaHq + SnlwIkhp9BH4PQT3e9c3bO8M6Q2bG4I8QpCdVEaaCQiZ9U5by422lmadvQdvDGsb8b3BZlryhsBN + jDX71sSFGPKJoCCuqxGnMXFWEjeTdmHWWxMtdyb6boibDCxm4qZH6f3nJA63hA9FTZx7RJyXxM2c + Wpv1zi7LjV2+G+L+v8Y14tBYcJq4Fp3BIXEKuCnelhVuuQvG98PbnA33/wRvlMxm7d/mRMX7vEkr + DqccifW612fKXi+c6u1pObn5os79/hdDGGaPSq4RaF5NDPumBHoXUO+x3UBQGBMorbqcTPs///l/ + AQAA//8DAKrHVTEPOwEA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2025-01-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA7ydS48kN5Kg/0udWw6aGY2PvA3mOoc57GkXi4ZGKnQXutQSpOrZ6W30fx+S7kHS + jMwIOlMYQYfKDA9GesQX9n7849MPf/7+y18/vf2ff3z6+ZdvX35O//zHpx9+/vHzp7dP//Iv//5v + yAbA/6sxBCb99+kPn759+eEvn3+9Hk4/f/6vX778+v351E9okL8z8B349Mhv33798pd0UHrqYdIT + //5LPvWH779+/fTPP3z65dcvP3z+Lb/cj99/+3w+l74z8Tvg9Nwfvv78W/qlORxcP/zxty//P/0m + PH789uUn+az/BeEN45u1B5D5348z/vgfX34s53Q/X0dx/6vJcfGN0/94WHTtuO9/+0s5DrtfPM7z + /e9eH/ifP3/9W74GOP0lP//y+a/lYHv++/FCAa6fr/uw/vr5y1+/ff7182/f0ltiY/rln7/86c+P + J3z9+f89/sifvv/1L4/3Mf9Z/WX558el6cf8Njwezk/NP18P51f9/F+ff/3hS/4gvv39a+Ej3cOX + n375+uXzj39M95IY+Prl29/z5YiB4h8+/fj567fv88+GXL7HP33/00/nzwY8JSL+/Dk//l3+hc2v + +J+f/1QeB4fo/vnPP7yE0uxDaT4ApfcSSnwCZfrEzZuBg00coPQTKu0Sle4ILgxU+jBSiWaJynrg + g0oLZBuW+eSGJeS3rqfSxYFKNDbaB5ZwYKUy3/SDyvxGNirLVR2U+coeSh8FlPlFb0HJ7HooLWMQ + UKIJEkq2oYMykvELUGLchjI9dR/KGCSU9FRSWv9G9uDgBygj7YrKeKDVUMIRJ6LSr0FZD3xA6RqR + URGJXiIZYUASMJhGpK1EZvF5Epl+i9wjiQdIQZmvbUymL4IUlPlV7zBpEy49k56yqO2ZDE4yGbhj + EgNaWmEy8DaTgXeZTO9OlEzCEyYTkD5JnYPADkwaHJl0fgnKBLnjAcp99V3Pq+r7weR5uz2TlhWT + PDIJWco9aMpaspAEhbu58qb8eVQkzyt7JMELJM09JCH6LLc7MQn5hB5JiEp35z+7ikkfEJeQ3BeT + YVtMJrzWibTJNEsvlowhUERmSjdVt/VH0jMDkES7qrsdWFV3I5JAEukEkSc7gzlpuBHpG5EETUwS + SsXtWSCJSkqS65A8X/WW5sasqXspaaSUJK25g7G9lAS0K0j6fSnpPyAlmSWT/IRJeiN8o5isNTcw + aUckw5KMNAd7r5DEg92IJAAsScl64oNJbkw+3J0HkyFKJmmiuLMR8YApNiTZNSSzQdArbo4CSauQ + ZC+QpHtEEnvoiYzBkSQyO3IdkWBcp7eJEZaEpN8Xkv4DQjKsEmmz3rb8xukNjprIpLj8iCSYJSY5 + fc44iMkwU9y4hGQ9cIJkEEhiUaE9kmxHJmNWiydNf/3b168Xk+c/H0yiZam5g2DSK80dSDo49h6U + xmavuhOTyYeTUJISkz5T28SkpRWvG92+mHTbYhKLIbNuTCYfB+JhnXZwkpXGEygXqYwH98GlC5c4 + Ud7diS98nOvEwZ4877hhydLrPnHRVFKo5mS5vqB0nlQFZXFQ639Ck8ccKOsIjbEnNH0xJKFZLN8h + NBmXvQsOxloZF7JZsQuxmcV4FZvOAy8Rui823bbYxMPadULjG0Gy8A50Oi50WlcDoTJY9CSQYwgU + oXQgTwi1a7q8nvgglBqhFKXgFKo84RLGuBBnmfOQh1gJzQbwSSgmSaTEJvfm5XltT6WVgaG75iWE + 2MvNxFC2K3oqrVLmkK2HSmWMS2KT98Umf0BstvjLCyiLLufwZmxSHVpsYpE2g3kJS0wma5B0DB2L + 3bepy+uBE6GZ77chSYeVSLpRZrK3LzR5+mOdEJrU88maT4+SzyilZnaWbrk/xD2eFFWMyEp/HIg6 + Oq1dxXNfZvK2zKTO8V2RmTnBk3SU0wkeOmZRS1yiM/mjlhSddhYhWlXp9cAqMM0DT6rezUWnEJh0 + jO649833KZcXiIrkPNmk6nyfF9mDehrLlQ3G8n2oLJYXvOX3oBWi0kWQMXQmGa8EzgbJA0YGWApX + 2n1RabdFpT2MRPHdtI7Nn7SBkssDGlCMI4p2DcX0jlrtiNvy+Q6Ccg3FeuADRcSGotDd9mCJ4pho + BNciQ+8IygQfKhqDpDHfTMOxvOcdjjfzjIRR2JMhSnOySPaeRo9dmpFtBFjCcV802m3RmLMzKqNj + nspGi+n/IzlnCkh7TGKVYNYdHq26bQnBDNJx3d8RqttW3W1VaIgP7JG0x8QLD8DN37GPyNB50gNJ + lkiyRNI+JOKDSC+IvKur2fXRczQ6eu5AI8mdD85JoC6FKmlfQtK2hOQ70XNOvL6ZkN1NBSQXDbWt + rZ2zCkh3wERC8qKyvs6rEvKBIx+iFsOVwEHDsdHZcLSQ3dUTpPP6QhEX/+vEkZN1KHB0Ul/zAUJC + 8sGCx5seN1nsJWT68IOMCTkrY0JoTJfNcUmALXnctC8iaVtEukP5Ns/ilPRGLpmqhwfNo+vc447H + NQGZ/RhtPfrDTOTjosquBw5xSnegBDIKIN3EerTWv1LZLn3IAkh/UMfjiXHj0RUpW4G0ty3IYhA2 + IB1GBWSO8fZAQmdAOgdr2UXcl4+4LR/9oUKUzwqDkqMds3ykoQbDTeWjW/O1w+GsjpuHYxKgdGvR + n3reA8dY04teOjNBCUhfJJkCkqKp7kxoEtKXf55Aem1DhsP2EtIrIr2QkHxbQkobEoMjCaRHkEBi + H/1xIbo1IvclJG5LyPOtWy0LyuUNyY47MOqEd5jZkGvJRToc6Hx3nBZgrMV+6nkPIP2Dx6DCkbHI + 9QZkKN8rBaTztuZxYrmgYHReewKZvwKx/09GzAWcQanvIMzJkD/HW3B67s1JQmOlv+2tLKREazsP + J5kaS4WUCPviErbFZWxVua/NySQuOYcmkXW8PB5ml81soEfFZuK/pT8bnXbV4b5OrJFJrPo7So87 + vZAsx4jFOdZ8Gtty3+czCkrxqHymc6XAvG6hQhmrzq6PGxZYuptYxvxlbVhykaE9lvnv7LHk0KW/ + k8tjlhzv/aJz3C86hz5F+LrqPGY9np7DkXUix3xIauJQJQRTMtflJoZ5KCgdXCXj+UrYdPd5K9Bk + aWOTHbcSX6rpxnTfsaYbc8mkhFPVr5WLOzbhEMVC5rbIdL4vFqKA+QvUsxkVm853Ho/3tKTOzb7E + NPu1QjgEhZ5nwbM+T37BWCwEsyjlYhI82aeDywM088HtWk1lPbAKzVZUiao4I71QkGjirK7SOl+b + IsDWPGN+Ayua5d8dmFbUn58Pd2CW2H0D8yymu0Vm4D54bsHn8GRHZlBlbNjLzAiLYO7LzP2eiPTe + uRu1vvGNwhvmYLGOnqeDmsV6X2imL68G8wyoaDL9qtC8TnyQGaq1mQ8WYHJT349bGdPf4Ev57IWU + y7LuxMl2MaLzmR2ZTpZlnNd2aPIjyVMfv1mGXsKojUyORunzIHOMGHPq98FmMJZW9DnEbaGZnrrN + Zu9PLxma5o2SE+p1HXo6iCdswlrg0h5sdCQd/OFHNtEsl6IbEUovaF10Kuc8/RwEnK6J0U5qds4Q + hGZs5rewwpn8emVunlc2Pp3MOaZnYG9uJlxvtu4wiwoNG31gZW9KPgmwxzPwihcE+507sN+5k949 + JTmf1f/GNwvpc5ZNDecnGo5twck5k6vZjLOo0XKx5XVgRZNDRTMconcHjazRSC9sRjTBAtTStvMp + J0y9p36+l10VcLmugXle25EZ6y8eF9yUnGxFtwQTWqnTvVdgOt+TyXEFzP32Hdhv30HQ4XX/FEzG + 3HwbjRabCDMH3S7ZmjaJFqNtTYTORrjrobcTm7Fpa0gTobF3vhbViqHzZsykgihEqlH28wlnIZA5 + amdZfjNVaxkJpX5e3FUNgYgcpYdvWpsc+s4ydkHF2b0qG0q2GPXmprNhCc19mbnfxoPU9OZi2RDk + thNtbfbnNDT9mhuUZJzRlZZoZ6mfaFeFphGFluirPkdVroFOJseRJunIUD7SiyfXii276iGkQxZb + ntc1LFX9EFqpy/H0vu6A6azrlbkzNsgUuYegyAxdEbAPSxlJ2G/mgf1mnvTu8a0iYPZZaFrW2hzn + SSBe6jHjpPaGuGY6cWJrrpFZz6sy0zYyuzzk+UJBJSaRZx46M1Vb83rKSdRZn3Hh6XT1xnVpA5Sz + NdEBev45DVC+KzhdBMEnRRVAcqonlwh6ycnBLUnO/d4e2O/tSW+fbu550UcRSzRwcNQxTksu15py + fTKUhoazeEwKgsMSn/W8FnWveMZD0Emg4kfXO6LpNFzjR9dTTpxCi21i7ZYQ1zU0T7+oYzMefaU6 + 3k4HeW/6XKXziLqagxSafS3wWmgT9vt7YL+/h2C9Ur146cDZlku2m66/hBmYa+YmY5K6GkyiaQRp + TXLWAyuZVXASSj+IrJKbBNPIJrlGpm1yk0rg/KoJRm1tkpM9ulTD7NfjKMUm3Y67exd6sekNg1OV + b6zVep9Hj2uVb7Df2wP7vT3U1zy+9tLLJKIcQwKdSCeeeeluLYSUA2/aGSKe1wcv6vXrwDpgo1Wq + u1oBfL6OU7XqPCvviIB1xMb5jJMm7uo70g+q4ohkyRFZVSWcTgIBp70LZ2DXJ4U8WSU42Sk/Hb3t + y45sWIJzv8cH9nt8KBxeic7nVR6588znyioNZ4nMDDp9CU7rkqWk45sUZ+7QEpvtvMmcrPyHyup1 + UOXr4RjhpJgzg1eZb3nCSdOppi84VQTpvK6hGVTxEUWRrkyk3s0KRZPFYEPToRSbjFaRCbEv0HS0 + 0lIB++09sN/eY7FTnTrH+J6nnnSm97rII500K9JcbiYf2bTUeVh3DU7WcGJV6/kvFWiqvt30uBnQ + 9L6lK62vmfSTvquOHWVS6LyslbGDTFem2xM1HvauQidjpcwMrGqPrBriRn1vRdLmS1zut/rAB1p9 + WJcePROYnJzK/EVnHzSVdhY/Wq/wGJg8xccHKjwElLVR97zfjsmgSo/yBRNTE6HWHiUhQA8quVma + +d+yvoONiGtaVhLzuscezHBTYgYx5yBAiSSIfl3Jpelr4tgmsJfI3JeYH+j6iZ05pxyN6TiYM+ru + rdbl6SDYF5h55IXuskgnTuYL2jVLsx44DCmyXdnb2fZDqm7TxlnhJmMLul9POXmKffNPPKzvizet + QPV8WmM1KMMzQy9Y9TeDSWQ89to95BEGciZHlMGkUklXm3dj9Et25347EHygHYjuFHBSentLGNvr + UFJuo5zFOtfkqD0o6gFvzNNqpDUxWg9swc7aEkRlZkvHqpfKnWdheMgDKSqqTbuni20lNR9dQtaP + /0RoiYNIZKZ3jCWoVlSA8G1lj2WIbOOUIeceek5ZVcFH7IKeyVTwS5nM/T4h2O8TSu+5LoN/1plh + 80Sj/LUIqEl1s7I5XuE0qz3Uo2Ny4HKi791aJrOeOOh79jLo6dTEVnYTTF2XLXLYSuH5bOS4MPUH + 4rsC9Xpa49RJozQ9W0SZmG5ziraPgIb0lVHyVEWZsC/utOCXIqD73UOw3z2U3jxdd/xsVkcGoBQQ + gabUdYn7TvMvhphomE7ooMn5rp9tMcJEcjgh1TqQdL9CljrlKDkzqzmGMnnteUcbHFZM6xCi1Dmp + 9NPLSFl6fQ4N0jMVd4dSUtI0RJTSFL2q9HSuq6ejgGEphbTfUwT7PUXpDSSl998tDDlnypicJgbS + Pr2jztu5Cyolg1Krfef2Qa3nDW1F1/12oEaZe3d2EmxiDPSKU9aVdN7I3ksrg/TOSTLd3XZgIhLz + hqMJTs3AHvqJfD+3kHBlBDbstxPBfjuRR11I9574NL6ITzqTTjr17vwsCrpGpZ/Mh/Nmlnhfo9IP + 0+GgcumxDRg+X0gNO3JhNu0IXk47cvFQWFoRBHVBptxPahuV9q6TlD3ynkpE5dAjKOOTbKfVMVq/ + VH68304E++1EnlaxzB+7ezOUbc8YtZfkaV59vKzWtbT0PB8Lt6zXhbisCXevKpW8cpE8TaiMrhbF + +9CGDntqFXTeHsLWvK6rVHp6zJKp0Io4k7vb5XZ1DnVYGqnE1RxstCb2UIY1132/kQj2G4l80MOO + 3oWScjqTfM4YuTBA6bq86F0oMTcSaijjvgqv5w2TE3ysDJZXCaBCTAnSyQqLlxo8vY0oo5+BRPlc + OldWHPsgI0r+biqTfIz96OFITuXZwakBCqWfoHLJZJd8oP0+ItjvIwp4J6QU36jEa6zVOjzALDC/ + KithiH0G2/lm92UlyNhna29L9yuGzASuWffzPnDad8lttUrwtRT+vOmrZx2zbyzI9LJLI4AsOE7P + 6AuO/dnJfoNMa0jUwkcLWmBq4xK483qQVnwes99DtN9CFNxQ/vFMXhbXPOfrrB41E3g+fnjb5Qlh + 2hO86fM0LnVRZzTVWT9vxM0SRmcr7VORmU+27w5TADEhO5SRNh2i/vFzR/AtQq0RspNLCVJPqBSd + EPsB2ZCMsjVEt0XnfhtRDAermvj3cprGla51m+tocHB/QpwtElgdkJ3k9zB+OM4z7avjNOuRQ5jz + uueOUjXFMMKslYjDqwhSeh5J6RlV1CgaGdmMIKbQBHdzo4CFEISxyTpkBEYKTwidCwTew4pnbvY7 + ifYbiSLf84DIli6EQXjGrrmii76vNq2LUZ0nLtP2y8U5XfXAQXie99tRGWTpXPd4l2uPrfPSlIjB + yRk3nR5Z9WpcFzYoWbpACdp+vGY8I513qCQnCo6jsywFpgkykAm+98whfdVW0kJmv4voA7uAcqhp + cZOfKWDavBEoR3c1mGEqMheVuje64hgMzl1zt6jWryMH3/xxy/0QGhU0ykyNczYtvAoa5eeRHkPD + whmKUU1UyC/VS814RiTuAComKkQXWQaOjJfZIHDUlXVCrghcwXO/l+gDe4EgDKUg7wY0S9YSOVfS + xmEPS8Zp5qUvSk6bcNL+EBg3LTuOqyn268hxidp11z2hXopPMHZWF4/GhJeMWi1Bz7heRTRfYSSj + LGVovNvvZj2JYUnRk+wQNnpVEFMvQtH6lXIls99O9IFNQaarGH6GaPgOIRfSMeW0tR+MzutD3iPU + 5gT1sOMP5lv+VneqXSeOIjSPtJUiFFCL0DhJCEHZGvCCz1y71CUuQbJq5ay5/Kewkqix/qbyfM8Q + ZRNF2Wf0ZTVvzyurHS3FdKm8Ji9pSabudxntNxll/Qc6wPReI0fOEtk3E3JvDA+RTwCcF9gtydR4 + GKfzRPmPm1V/rvny9cRWLt9rfXASWa+GdWa4Jq6So/iKWSBZMQ8QpUg9R0N1kF4v1UF6NzTPSUYK + xZ8n0EhIrdpDUGyTB6SJcVppIjb7zUb7vUZAeKzqfSjBJpMFlh0WTAO4/QT7dPJCrhqY7bpakqnj + 4IUK6HnH/fw5kGMXslkwZo1Ka/ALOpNprubPIal1lecUnh7QIGfQQbGR7/BpkUQoNGBUhimppS1i + +kLe8rvE536/0X67UX4D1Rx4ercApGSPLOYN6MkM1YAizLs6lmQoHxwHzwntB+Kh9cQmQ2s/XL7r + qCBVMxhgOoQBrDWvKMWzWaOHNEghiqhnfrXJDBek4a6m97LzKAZGpelJhUOBugxn8oqWFP1+59F+ + 4xGg77byLUXsIfdjwzC9Jn/K+0LUpXd5GKyEcT+Z1E4cLdPrnvtZiUbPpEvXTIbMpq8mvmTUH+F9 + 2zRJcClU8Rww1gPrH2UjFel7Y8AcoZPAWqeiUaR5hZ7XgC/LRP49V5BuA0uiTOSXv327pfT94kyb + bJiGvKktd8rxsOCSpkNtFp19NSXnwshNw1GLgdJ65FBZl286SF+K9JZLmrXLvVT7uV9bqX2rZoGR + CpbmX/S7scqX555AjdSNUfwuD2tW6y1Jrbc0sS8Z8XZhvWUGdD81T2Yb0PR1bdt3PwQo0ny2zZqz + Hw87pOeztJmtgFlz9uuJI6CIWqSiBhRngL5cDZzsFLUHJvMm3XvUhKJcBpOt8ZvdxuyQFaJerTsg + lErfhH4hjLf2tWWaGMX9HCjGbUbPYN1KOMqUjTC5zyMXi4/OPc1STbg2fSkxM06VBzcbb+PW4qX1 + xNF1MixLm64C2t51mgF6wvjCd7J11NIDQCP7O64X610nVgEoMHdj+kwlh9QzyqiaPIZF1h56Rt1r + yzQzup8MRZENvcVoHs6/GDOFUFriOYsonIT1u1q5u86TPRB0nh76qeC31Xw9cZJ1yhM3JKRGQWr8 + LqRG7b98hNE6SI2GVBYs5+/QzcQoE/koGLWeVMOcKnZKPn0/ionxdXloYXRfjoZ9OWoPXqrDS4z6 + nBllLCsCcAhBpZNmUdKPWKPmA7p+NEa7wL49goySGi1Kza4oNUOrR4ZQRfO1LDWsptMauFlZz1AS + oL0oRTVznlQ0/2xYbqI0UbuC6X6GFP2uKD3f4R7S/jcnAv1vHrn62dy6ZR6HuXX5U7Ef4VFOrjv/ + 4BPJ9u/HSymxGTelZoxDJYlM1V+vJHP1Asaz1uROHjRiV0tyekdexptIoVh2E3Za/XViqaC4LzH9 + rsSMuFwgejpHYHJBvUXtHEX6yDLCXO6m00rRzavvFvG8DhzEZSRpd0YlK+NMVL4KMkW9+MAYVXan + K5yUuRlvW5vWOwCFpaq8I7WR0DiDwmt/PVYxc7mf8ET3PyoiQ5guh1lMxcdhmXqcz+teTsVHuU39 + mYSMSkCGXQGZSyr5nWBnZNGlGZWojEbEkcLdAbTJe+EgbcsyX1wMDVG2peuBZMCXo5cKkPuC0u0K + yoBdF9vTiWDhMRHMZUkZhm0cwX5MkQ+GZXDTYQy7hiXU1NF1z6LLQ1K6aVamc6y0KqOSl0HJy8Cy + 4i6Yu3XKXcFdQZNJ6nBrWKEJwu2xa8JyP7GJvCsssyGqckbvjgmB0hXn3rKCGjxzHz8Q4JwameF3 + tTFbr+Z5xx2ZSn76mfx8pcUzVEPvEQgslcgMRqpxzzfXCstC5QImBenoWB3XZNfH3plfz6srYO4L + Td4Vmv53E5p+GtdcBDOkt1lH3r2b7yRcI7OeOApNr4WmV0LT78TdvdW7Mi/0KppeSUzPohbEw123 + B7pKkAKmUxNrrBpXZ2w/C8Tz656jzOX+HEW0uwIzT3BZylme8faQjLm80NEPE8Bc+ACWs1Cm/10j + mbXhyKF0erwSl24mLl+OAYkqzH415jcklbT0RiDp+KYOp+icCl7qPjjrNJMoLEy3lKjE/RGKaHeF + pbNNVb6eonSGLpNUGCZ1p3M+oMTTZ2J1Dsh9JAVUDxxSQOcNP5mjNBOUC7Np3DCbpo8QOSUnHatx + C+bubJoQjBdUlpJNMW82Kij7Gd3eES9BuT8rEWlXUmYvFiSVLcyjRCWZK+uTDDcXtAbn31tUut83 + 6VOrjq9b7rhUwpJ3bEvWwtIVU7FhqWSlU5Yl810sHYBU4FQmcvcTukF54yQ2aTlwLxs4Cpf7wpJ2 + hSUPCfNno7wolxrnSk4cqLQfC1uOHg/Pi+F3XZ5a0sEqX85KWvJUWr6q4GSdKnfKEWclLlmalXzX + DyeL0t8hA3KSF2uzEoPrqUzUrlC5PwoRcVdaki9lYUvRdLi2CRs+wjCv004jmTdiRNrd4fkK9rAe + I7JTRzzvFRCFcNlXFJWb1k9b2f0rMAdf/JzJ2cA0aj43GzWf+26ihzAaFGxCVCsNPCg0+6HH3qfr + l9DcF5i4KzDTu6EV+YvVg5BH87tBYlqaDukkWmKTsl7S87n9LC/enfiUzXriYF9et9zYtCzr3ruN + B50nHm21MdnU3YP2FJR1eDz0JcVq5rERoF7PbKBaJ6aBnHsVbs3mdijj7GCtdIPKaCUBKghQ+fUq + wgzq/jhEhG2LEw57a5TSu6CaaQUH+bXx3GUvhCYVp+O5ac0TqieOpJ733JFq1LK3rFlGKepjNTvT + 15IfqJpuPLcFXcBhndy/0XrZ+80xFc/rle/tOUDhEHHUGzicHQRpvyiTlzT8frk7bpe7k9N2Z3wP + Tnste8v1MgOcNF+TuTisJpOknXSaj+TGxeHx9cgHnG3dm5OGJznNJs3YTC/8avQCOWV8WpClRekC + K5YWeVnLQefE41sLtTyKrDl756RX5PzgFfXeep5bt0Ln/nhENNv253o1R24esvmTB5ttao3nfLMB + kF/iMxx2SKYTTZPpxGtqvh457OG4Ong6QKlteDvvxsxWvmGAVz3C1/vZACUvejHO9s+OTxKiE8Nt + PL3GM3lDsqjDG41n6IqNggGzlKfcb8XA7VYMjHox+zPNbot3lJvY9Dyla5XuQKdbgTPv3gxaseN0 + euea6GwHDqLz3DXbyMSo2trQzbraAoQ6EYRMt8M1ZvOj7nBVEzxzT1IvPM+rOzhrhOl82N6tOEIX + g4QTgxqU6DHolBD1cLqlokzYH5UIcVd25qZYNe1rHuisstPnHc1m6MFANx+VuLYqM/E+NAenE2ei + c3GDUT1xmC573XLHp1OS89wzr4NKZeb/U8GJTk3iPnsoG5v8WCh8PezqAqPzcbrZwoYuiMyQjWr4 + hyedRe+jSsEEXqlqh/3uINjuDkpvhtUtwe+ieU6XLdFO53RqKE8nmKC5RmbSbYPrjjQvPYpLZNYT + q0NUo525SVyiiXo5+3wdIVfnHc9pHSdP2Da/nf/u0LS1h727tmOT5PJruDnzAzmQcIdssjgVnKwS + RK5flRly3GkFzv22INhuC0KjBx+/6xAVnZ43v4XDgd5IiGa2XxhgtXoTWIc80UxDnnbJ3mwnjmNp + zlvu0DRqjFJs+w16NE2NeaJp66/PiN6FptFLCRNtonENVZooPS42DF+vfUtyqq41i1HNpPFqk6vx + oXfXI4eXsxILnvuyc78jKNwxOfPw4+KVxmGaQl8u1EXk1/whewQYTE4zHaZgzWoC8zpyMjbJyzGe + oOfQ+ToSuQvIl/W9V/V6qLEk8N2O4TyTRoQ9SaBqpBy9ntq1YgQxqBvc3eY19GVqZ0OVovXaO1KB + pRD7lGYwuITqflcQbHcFgdOoPlfynJQ8JUmqlTzM7U+3FFrKcm/sXHOziXRLMz3beZVTbD3Aat5s + 9/N5JzxR8em72QbOlr1JJ03cbc9Mv9dda04sd+26fevjor4Y7iaP0Jc5xx2bzjjJpguKzZj/hlab + FF7PSyxs7ovR7TYhyPUSt0xQjGfkWOv5dBJM5OiaCZo+FDs0/9ouGNDR6ZfEaD2x4kkNT6s61K3M + uJ/z4XT6yJtuIPK5yuUay9FLUpuc53enyZ/wNVhJC1KrYKWbVcfogxe1IZQ8eRUF1XO+TD8f2ed9 + hiuw7vcOwXbvEOCwNfMZq/4tz/xISt/oOBPMd7eHtQSSP8w4QmkeBOWwBGs9cfDkQa/UAlSLYgAm + 05F9DE3pn0dcnedZED8mfuiWS0UnSFceUM2guzmCDpW3hHEI0Bs13cvEHs2E3hKZ+2J0u4no6vnv + yXy2zzWWAXRJ6vhhFI2ZrokxS+ZoXksNA5lmtiR7KcLUzhsXD4Np6zYeryMWxcRZ7gjIZNX46KVs + EVA4m3kfzenDBAVlgRq1xAiMXOMab6c2g5FNl+gokKoRUQM8je8qkJ1DWgqB7vcRwXYfURzkZqvB + mHz4IceZLB1hEJxxKjfjmrOU3lTQQ5HjVMevSc16Xs0c1V6NWAJrXRdmDdef7W0zPx4Mtpnysen3 + 2Nz4KANMYGQTUVRtl3IBx23/PQQvDE8kxwpJVIOPwXSxT5egW0NyX2JudxCFA+5oclti8sHrfKaf + J4wW0+15BOjQ2Db13tci8vW82qfRuoekRxRUMZ2fbhY2pYfsagvKb9jZfVGk49XZ9lDZj4tkn0YN + vteH+86h23miIEfMYHKEZPmH1bal6zLs7CMsOUL7nUOw3znUhYFex5P4DSnnNoiGxqFpOAnMkh+U + FC6EYdn1VETapUh8O/BB5EMpP/7SrhpexeHdLLce0NXKY9/C8K5zgZycvu3lAmHl8XiRunR3N7xh + JBBVx1By/6KXjbW708WNmJiW3J39viHY7hviAcnnNiVzTqB7p5Hkd5BcyqpzOCg4hSTPGjTWiGzn + DUl1HoCUdfDTUcaMNS9Urj9LiNuKItZbB52sRGI5aVvuJ7rbmoHRy0Q6sO75VTCaTj7aEOOSh7Pf + LwTb/UKs9fUz8ejzGsxct+Z1DNPO9fVikXGyFoclBdwVg3YW5JoJWQ+s4rEWwFtVY8wqg24nbjew + 9TVGxK3EuID94NGISLuY46HaLK0aWMyyvPim/01J8gkHHMgrF2cYvZVc9I5P69aE5X7fEGz3DdkD + lmYYPvJBGdBkUuHQoDGLYq7FhZIoGbZh2umoo7iUqmwHDm2/Vq3PsDJROSvuAFtqeq56zLqi9ZyG + d5UU5+WLomxTdqLbmpJ8PCyLNm+Xu8ukT6InqjlHuto9CnmZp8ys8LjfMQT7HUOHs+vKO7zluqMk + coa9wfMd67hEpM0JTx1Wp2lB3Fo8qJ43NLGlP1NIS1L1cDTrFQIbW8ERtSXrpdjyKtRMOkQWw8mp + 7qTqNGWnEN0t0yRgkvak0SuD0SsZGWw3ToZ4rcYd9luFYLtVKL0dqqTjeaonV3WEI5CeoYmHnDus + Y90vqo28H5mc+txrBe71wBqkDI1K2cNGsk0I27LWfsGQsY3JWsxRpm5fxRx5yJBkUlRylEt7Jnut + nd67m+2+YERGxwSjun1RTyn0fU8QGYhLqfH9niDY7gnCwyqtjfMxMmfbRdkslEwEDsPo4YMmcXNc + zOjM2i5w2u1b+rGWYpOq6wJrJOi8567K6HBRUgmjo8PsX5ZmHtKYJDEdAUsjUldfJJM5RZPfoxKE + MZnzirL2DeJQ+9Z53pgE7UqrGuw3A8F2M1D6CFRdJj+TlFl15xwFDHtYoZvfddecjLL17WIFaALl + WmVRPbBq71b5dhjFJIaeSZhWs9vme2Op6rxIM7UkEw4W4zPPyzoojYIS+oUsJtlDN6ksU2E6KhlY + dvqCUyYl901AmA9YoXK/CQi2m4DSh7DaP0klZk45+x1gyH4fdqa+11YJsFyDfab+Dj8b2LE6RuY6 + cNwkUO63yzC2zReP+xihdMG+XBB4OBD6+zy4ZRcPjyK5WNaMdLLypptDIUoNbktIqofSKg3O/fhM + NGsbLmC/9Qf2t7DozYAvTEooBcFuGMt+2In+5iUkQzKphuKhzrC4jWQ9sPrd2PLeSnvnBmUJJc5a + zz232qHyjAul/E18UKnXApbrOiqtlVQyCCrv2pXMTmFJRoaDADWWfewcAi/VXJr9pp/tnh/oPBRV + 1DgRlZz1N6X32w/7AA8zGdex5nwnzykOO4AP3Nbf7cAHlq5B+QD08TIka4SKaahNytIw/0JSntU0 + 82hlepUoAFVSE6WFae6VspEDGa40pDsmQYXTTdm+Vvlku7TQwuy3/uzvBTrM6kg4ylOOyGdVboZw + uplNk1k3L3Xpem+u3paa9cCJIjcKTxAy0xyBBjzRRfcCz3T37v1gOhRbueKZLpblbOWP6mzNcHPe + kUcryjPy9h6p1ss2S8FnP3kYaK1iyOx3/2w3/5iyeEQUDL3HJxa33Jaq/8HUPN/VPbXuk5mgC9bT + eZOpw4v+Tz1wCKcbtWfFKEvTHC6MSp3iqzkI+faFTjfS0jzfnsbk+Xd0TOaXvTWx0KNi0qp8eCla + k13mnakJwEuT2s1+y892x09uoVrU6SVUZGKuYaNhA5DpNgk1Jte8n9zjp+szzlVSmklYnh1znViV + umtUuiCp9F5SyeMG6pzmeUmlil+eB3dUuiCp9ALKm5GiZP6JnLiBoCJFhlVzOXVImkhLWR6z39qz + 3dljFpdSPTxyMrlGjKPuncj7uTfFZB5S4HV9hjl44v0sismxc6IByUpMOiuBnLVHulcTNM9jexyd + FTiykziyDBLdrKu0ULKcPZAyRGSswhH7VjMTYGlOodlv59nu5snt8YtJRypNkVQqhuzIo0ww3ti3 + kvEZ3B4z9cZxNUBkpNuDjUcbJY+s1DZNBGSJAL4AkoIEkqXWtgpIKwUk3lwVAGWiUg8kSEfcECsi + ewGZXLQlO3K/ZWe7Y+f8BJYEJOYsuLFFoA0ZRzNN76zqbJ44OrPOsrUi33reRD6Sko+s5COOfo6H + V4mdbDSqyJDikbzkkRSP9zwbBsdKQEa1o89YFUW3/WI0E71Z8rz3W3W2O3VykmBdZbs3NLkvyoWR + yJmIbCr2BZJkdBA99+pt6+x64IxJkEzWgYSP+xgjQwuODRn5n5UC00qDUnk5JPG8ue8nsCjRSM4I + KntSjzWAfpKWscwrZZZmv1Nnu1HHjN24z+Ul5DHDQGNcCCYG5aq8pImPg7OqoWU4pYvTwYkaTsnm + pGiI8FXUsq4FqDCCgBEVjShxvKm8XRm23uPIqq2xZMoFjtTjSLjSFGH2m3S2e3TMek1liaJjLIML + zGhOzua12riEY05s6DR4/zXp7MklGut5ExpB+dsyim4mXeG2TO17gSMoa1IMfjE15/14WOXAb/IY + yUjlndwZUDxq8Yg9jxgo+Tf/95//DQAA//8DAFTOWHGLCQEA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2023-11-17/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA7ydy44kN3aG36XX6gDPhbfaDbz1QotZ2TAGstQYNaZ1gdQz9nigdzcZEUnyHLIy + GczqFrToqopkVGR+9fPc+a933//43cef373857/e/fLr54+/pH/+6933v/zw4d3Luz/96dt/RwIA + /2/GkMn/vfvm3eeP3//tw2/nj9PXH/7314+/fXe89B0apPcA78Gnn/z++bePf0sLpZduJr3wn7/m + Vb//7tOnd3988+7X3z5+/+H3fLsfvvv84fZaE9+DTa/9/tMvv6dvphfC+cVffv/4f+k79vbl548/ + yVf9GfgF/Qvixsb+x22Nv/z3xx/kOukb51oxmvabgxXDC8YXps3GZsXvfv+bXDF941wR0LTfHKwY + X2z6P61IIa/4j18+/T1fA/xN+gA+/HxbOP+73IjOr5tH2b/++PPnD799+P3zu/TQIX7z7sePf/3x + 9oJPv/zP7dqfvvut/ML5t2ovy183l+a3ofz4/Lr58Yf//fDb9x/zZ/H5n592RNIjfPzp108fP/zw + l/QoCYNPHz//M1/OYEL45t0PHz59/m5/uQFMn91fv/vpp/Nrk5/5848f8s/f7xfkW/zjw1/Pn2OM + f/zxzSMuMS5zmV76dlyCMXfJZP/CZqPop8hkwgdk7hwxbASxJxMHZM5wyWED7wSX+bGeAdOCacDk + Cia2YFpFJn9JMo3xJMkMTpKJCkwWYDLBDJjBLoMZ7BNgogLzNSzxz+BfCF8Mbd7PYWnzn/Q6lrws + mBzTc1ELJt7Bkh9jGfBG5c9///TppPL4Z6ESNZVWUolvS6VzUi8xsqSSJJUIoaXSWZ6icl0uwzNy + qajEO1TGF0pgxs3y3DZ+gUqEKbFkN7WLw4ZoX4MSFZT2IZSW42MoO6n8klCStyyVMnqllKSlUijl + HJN+XSn911DKfQMn82LdFnFOKRtdu8tk2KLxb6qUZcURlKSgdA+hBPS+2cDdeAPXUglwn0p8jsro + rcCSAJVUstZKJ7RyyrL061Lp31Aq4Z5hmT7zkLn0EHoucZnL6qAILt/S46F7Yvl4BweCCS6dkf9p + TPELYsrZUhSYOqfU0ylMmdstHciGGU7duny6Z+STJuWTd8/cZAY84hSm81s6ut7QHGFqp7b0ZGeC + BeEA3VHPx1s6Ge8e7+mPKP2iYprclCgpzaEEQWnUlLKgNM5Ruq6m7hk1VZS61yil3R1KlPLGI8Nz + XUzTlhz4rTf5c8Xqp/s7oGo5xR5UnLA9SXGp4kekuKSnuORkrAsu2aj4URZLscmzbzf54GewtOvi + ad9QPO3d8NEOJtgt/dpTYDqa4hI3hH6TzyStymdnfFpzRUB7Ll1sd/lYd3lquGR7Xz/5i3KKKPVz + 37uEfnrJKUn9RLBToK7rp31D/Xx1l6fMANMLhs3RYJendf10m/V9/B1omdOk8QjYchraMCdfxhQD + msf6GRSX9otyGbIcNlxGL61P0AGlPf5QuQxz8XdeF1B+RkBZcXlXQMML8wu4caCTn9rZg+kV1D2j + oOeKxU8SCqrR1A489Y7SnuUaOUrcoKmjSk6iyQpNfgpNIOkXKa8oR+OFXjrBJYOb4nJdL/kZvbST + etlEEckPtvUnqPRbdNhTaXsq2U7JZQ508msxJaeQ9ApJO0Aya3eByVckrdjVFZNeMmkVk1YySZeY + xIhOOetemZtBuUFEVrhBHmewpHW5pGfkchZLzmJpIN1tQzuIKdkRlpNaCX7gBQ20cn9nJ7BMHxuY + 15x1q7AMCkvXY2myYfZoE7cayyCxdApLJ7G017AM+77RYBlI7eI5OiCwjG2yEpyd2sVpXS3pGbUM + 81jGF+NeIGweB2rpl9XSxs2bQVooDPZwN5VFryveuHTUgOkVmFGB6XswA4XHYHrpBaliD1CYeoWp + fwpTTyySlwAkg0jZ1hUxpNju6Qh+KqWO6+KJz4inpvR+RJ4TqbixG6hnGGAa50KdMckn9ZjGHlOU + 33y8YpFPWzFVOXUARWnsKA3AjaGZN4UbTLH1gdIn3/53PyAfFaVRUhquUWqDEWKa7FBFaehcotZV + R54LdeK6mOITYgo6x37fI7L2xfrNca+msJ7QTKYiGNf76qOKJBum1LSsWDFtiuVAg6pindAH5Z0o + loNakwRN6gjgPqgypgQqJg8yJn/NP0L2QaTdIaDMb6IOfbrQckpop2xRWJdTeEJO4ZKLROGFOD2T + 6zEd2qJzmPKwFgQGxiiGOUzLigXT0JijEBSmyhyFgZdEkVpOQ+XUNZxqe1Rt9KDsUZD2KFzc6Mnl + vG1FM7Eq0SRS0c7QekmMU/s8rAsoPCGgeKEgJH3imCOTwfT6iQP9xDkvKfk03vQRJRzpJ01t83XF + EpMPTa4IVUweVUQJBxEl8h4rmFij8thUG6OuVMIowERV1IkypoTXuDw4rFwSs3TfWUXhwfhWMq3l + qaiSWZdM84RkEl3Y2mPe2g1v8YjZCDRpFIb3dgrN5MBjv7XTyFGaLAopKxbN9KEJLZEKLbEyQqn3 + 4YnBNmxmCE6gqNncSYsmy3gnqe08P2PDJl3czyGCqFdKVqV04l2UdidYatgMBqdSmesdGvhMh4b1 + kk2+j2Z8wYQmxw7NGiBv0Kwa96BcyVHvHNlRJnO6Xulc8YZmdG2OyKlAvFP7uetlE52raMLuYp88 + 2SaZaZ1AE3SBp1VZIifDnvaibsL+51LRDJQVokEzRqmbaHyzoSf0eIZNiMu6mV66yiZs5tKGfiQG + rVbNZpmGzEkzM22Dikt4qnOorFgrP8AUfwg2UUkHys6E3THRkpk001QuqXIZC5ewqaz6cV3DZRTb + OeyGZcNlvIjlXlhcsASyIDx1YJQ9GhhdU+GZXEszY2jCevMQrDcPweZnw54lVkPJcNeS2a6z4gFZ + p3dz2J7YzMuCJUkUuICJqvgDVeoStthHlNjYTNmBFG43MGFzUMH0wjPfrypYHldWLFEWy8Fmr3Ip + iz3S11EUe0BQESQWcpnkFmciSLDeOwTrvUPUhNGnuAwvJhd76DgnDbNEdtb/ga51iEYVnTwXiy/r + FSoNln2cdgOxUkmbKPWgXeR0l4anDNUBFBUocfPFK89vpFBLElSmS0XuMv0WDZTpp3wRSi+C7wRW + 1hkn50imLm0Wz8KkDVPRIljvHIL1ziHeokTSP5RKu1lDCslmmUokTwXerU0+sbYt03qjbLqfQrIs + WLfwWGNFdvMipGklk3bjXifRh7KDu33r3VHireTTszdoX8sOOVmKtL+s4mkFnrz/yVxyzcm1UXcm + DMLERAYZzXRgWs0MNs50EcF6FxGsdxH5rZZQ3Co5Jyo+vNVRI7+tF3ykBRk0on4bEGrnCC3rlSIk + 590N0LDHECugYbOCUL+FXjURHJdK+Jjf7Z0mt197IHq8lZXK/aoC5XFlpTLIgg+3XcwF0Z4EKFRa + i05YmLgXIbRUOmhVM3hLU1Suq+Z6ExEkv1Dt5HFiK/ddwQc0zRQVyzBHZbLFuvJiODzWxTqksmJJ + rLvq+uxuWuP77MZsY2HCKMjuOJRSJDg25p2nuAv8aWPujZDC+zmuLHBGBSfsfliBM+ZP41qUHdra + Tecsiw71ZHfKqg9nTRPNRMd+SjLXO4dgvXMI+GIGiDHXvjvs/B/alaej003R6TcTtaGZfrUwoDNM + lW7WFUvIqOTTYTdAGjjt/mfQ0FkvaEzNUN0fcPvDHn4L7a8+6eQNBZvHhdUHKubl+fPDdqlOEF2u + 9rBWlBYnJZStGSBDRo5cE85MHtRUVzCsNwzBesMQ+CYOORPPNJjVAKzRcPqRyTnJJm2RO+UMQ+cc + ZsOZ54plR6/CGTbpmuuK9+POvW9evCA8RP3A6djGTzZDCROJKyucfr+goTNubcc6uMsZymQGtt5Q + gIhijgKQqkWyMTZ4Qkw+/Qye641DsN44hAm1Sz46mhdK1lzU2XOEEZ52LqoZk4vKCk88nOXO4Jyu + mGNRYAyxRI5wIxHURFbauZeqDqo5Q2kdwt2HOdxraLQzre1k6/pxZXXVoQTYz5/T1oon7kbHpYJO + H1vtDJ4IVcBdRjYtcRtwt2CmAu7r7UKw3i6EvoFgKoTk9hw6aH89LbQcc0/WmtEbe1pv1JMxGUE6 + 17uxycUVSssWm/K4T6wo3h5k4A2B58ImmZoKwkPuTjj9Jhouychc0Hlxw6byiRLLVxsznHCKosEo + s+ielXYaauo4ATlMbe3rPUOw3jOUdDBc0k6GbNOx0S1D6YOoVuJVOpN+sC48IqzO/1U6y3pFOUsk + KS0rq+CJtijoTFfYns69fvRkjrdb2dH51GeEE7RwHlcWOM+rmyDncasK5+FhXWrRiNSWxUWOKo3O + XgaSktfW1sJ766YCneudQ7DeOUSucWYe02nzQLn8mqgDSWSb2GSztc/57El3Qxd+95sfbe1zlmdZ + sViehU9X4+vHjYLa2cmPIvDAsZie6Q2/iee53AnoES+qfB4XVj6t2tjJizAnXdZO74XdGSnK1JBh + FVBiFv3qwbmpgNJ6AxGsNxAx1DjQY68ovOyDMwep9PQpjFKWk3F447TVyTh0iibD8Od6JZh0A5Nh + B76CyaRinLl1flBXXEJJxy51BMxN4xAx3FSyva5G3o9rK5XpPtSqZp6Kdk01GUk465GdKibei6EE + l6Lf0sepyjhY7yCC9Q6iZDyqEg97n0vO8Y4k05pLu42qjya5FCJ8AONG0fdZLs/1Ssay+ELHsg2X + YRNZdPalb6Ni2RRrcqzlHemRq1zm91HKZZQFHufVDZlelngwb9fSlnQM8KhgJsVUAw/Vdo57rXMz + OGGu9Gi9aQjWm4ZsI3RnU+NdMNNunnZKAg1m7nEc7eZTaKbPJHpd42GxCb9eddTriv3g4twlLOi0 + TXr9eBgsIfrWTy+u0F59deJp9xLgg04LMsR5XlfgPK5tMpao2IzbtW5gRjF7JvoYnWpnU2hGbDWT + 7FTFJqw3CsF6o1ASGH8VzaQ7rkPTPuEG5ZouvZlbP5zcNVvmQWIzLyXu6deURR42aCzdIPbOUFTT + xppST6tVDz29kGVi6Ly0kmmVj273wEYhM5F8zcy0SSSFE3QUlbZoyloPirYdfZicxSky11uDYL01 + yHVpy4dW5p6q1tO63DBrORncDBuA1ky3m3uLsc2yYOm/uKHpQLZZOqrhpONBYBQ9IlfQdLzdBnq4 + dnxCXlm0AztR77G/qqbW9TCF9GqRIrLxYpTTIpm2fjMGACWgKoGZnPt2byeaMzrXG4VgvVHIxS1M + dQqF98jn6NhkLnmno5yOh676HKduEOZ0fri3z3HqdJyzBJLOB25ADQXc40FcdZgaTh81rbtsdb5a + lBRlHvNIODeQ7iUftQCELtYYWwvC/AxKR43qyUBPrbuOfqqVDdYbhmC9YciDLpt7dd72PlghCynl + pildlGSWw/DJNbFRj/vwsLzD1/VKGP6GpwcVR/JU7MzjMWDrhyqg50cz4L3ZZKOQ51KjdEAXN9Gh + 7kEyGS4xyZv58D4r8QnlnluqRKoOITFpe4rEda1cbw/yfpuSyvje+D8Dpb0t5zV8V+vh7bjdd9bY + ZL2le/eEVJYFu3lI6XnFfI/0tQy5p/u6XiqbMYevsWg32Rnko8hUelYBd+9KmfFxAV0qkbsEIzNe + g9Gs9wOttwOFo7R2KsQOe+s55rAwoK6K83FYeDQZYqfNBx0vCq845bPFHeeK3c4ddDVxILlzBxhl + gOogj1doDEaF1wPLeFF6i4Io14StbTz34WK9pvN7l1MTLTL60BYZxcS9M6MGi3yc2a7NekPQej9Q + NPONF5CHweZTrpIT67VHHnh7CkuvG8/D0COfp9KboUiGqFzy0GTJjyepgc52RvEjKq2Mrod4y6Dv + l6a3RzZeBCdzkumPw1+i0h8hyYZKULMMWRmRCK0RCW4qhGnW24HWu4Fi6ErbX9263T40jvbOXqtL + jUJcz/nkjVYbkRFGzvj8xi2MSCrZSDCkijkilrjQ/iDpxn1X70MjMpbE41nWroKX6e2Rmch0GwHl + kRT9Mhs3or24ca93Aa03AYFpCiQeo7hv3DkT77Q/E/nJkKXu5Y1uG00hng5ZytODTGXRKpcmRtkG + lKygUYf5IxbtZj2/MtTouEWtaWfNpSvJyeMCuljW7oKxMuOz1zeLIwFlVCifgNGOdKepme5mvRNo + vRFojydd0EvOg42SU5t2CA1pHEUvZ4NCwXX95gaGs19no0Lnip1teXvipqrdsKQ0O46D0kx65Ozs + DueroJ63qaQqWzO/WsQvz63sy0ioCXBRQtdbgp7pCPJNIvGxJx6ShZlruiLq4Hp+90dnYUzmyp3R + jWryV7ueLT9X7KzMvK7CM6rMT9bZvo6DH+OZ3CpZ/nZbu1a2G62f+VVtdGg3OC5QCbmgzcN9J4iU + vclWeUEzFXBmvS/oibYgYF1jdM8LcvvRlek9cbo8M/1FPrHLp9/fa+8cAJ8i9FxxoKAsE0D5G2J+ + YdbYQdfaY0JBhy7PpRs+Y3F+bleoaTL5jcQrugl5PIyYDxcj69MwZHV7JrIF1Ew1rpn13qAnWoOg + a0a/nzjPp/6mt7QLH+WFnuDTRj3bPb0pT+zwZcWuQBO6tjUIaoMHO3DUsZRn5hfEW+78fO4boUlD + VVfleXFlFFQren5RG0YCoEuVHclz9M6KEveg2oPyYYK6tEPMgE3iOEPoenvQencQQGyU70HiRyDa + tVbiMPMzGUoazYDNK46qiOcY7WbANozGGjs676TrjvK9ucfUcu383bOHJ1OHMJ6Y4qD5d7+4obRT + UjRyp09/n1fCnXlXM+KIyxh3nTwxjTf7tBVSaAuQcin8FKXLOrreJAS5cWVyo+cc7rQ+b/QQuhZL + 5OHQhPV9Hv16aOnONn88cEtoUL3pyIMWS3i4y2OyKF+d+Z7vIjhF1s2WqOQUr1qklqKVampUFh3l + YS6EYrRhHvT1iNNvkySv5y5J5C5//fvnC5xORp2OMo/wYmzuYDC+85jSGz88N2MK1OTEdKMNM1G8 + LKZlxQGpWOzP80ZWptLzFYMazglQlb+EXpqj6T3ykk0nKuXOG18IN4UQYk0ZJfjSl8pd2o+BF4OR + RDsbIT20Rr/NB7WvD96My3RmU2jqbLbwHsLeCgy5q4Wh85eAGpiubva5DrxraANwo37LucRRXbGr + 9MgPHb20SDWgMAL0gPGBy2T1OdZ53/baIJXDFMDJnsvz9lcwxaY/Y6c0WukyYZTHBDO3p1mnv6TH + B7VlSteTSCiySFcoPd7gltH2OwcB7XdOBz4+1/3b+0dPpYzOBW80Hr/vAWT99+1ORuFo/CqOexFr + C6OabWiiZhGkYh63voKicRQli06572TcN683CwEZnmNxXTHDqmIussjr0fihjWlsjSI8bWPeZdFo + aTSr0mhKm9otlLmXOYlgZ5SxTq2LBi7WZ3rPRm3fIcrZxARKGPdwaBXG8PjsqwzjeroI/VcVxhhG + mfRppxy76e05U/JEa29Zcg5HJY1xURlj7AJHRs/j6gZydSmhvcDkCo60l7BXHOPRbi5wVO3n4ii2 + 5Fw9rEDaaVyXRv9VpTHSaITME7l0u97L2+XS75EYlS7GRVk8qwmaDLqX042iUsUoXZp4WRITIiAZ + BDm10Oiphcc5GJVBN+Vv43oCCN1XlcTwhCRyMqCiHrMV4YlKzLriFIdKEMOiIIaYnCIJIooGn6DK + 1KM0FMNVO9FFS0HbiXS3qZxcW6+e7MTH0zN3DtfF0K2KYaD9YJGpuA/mSRzW7mN+og6iH+WE6wKp + +yODG47YWmyQrNWY6XmFTx2UPoZFfQydQx28cGGCivkEqY8BLpZjOo+MKuIjJxMa8tJkJCv2aKLH + 07Uyl+vZHbSr+uhyX/JM/tG/x70KDjkPOPNd464PzQzWy3Zk2Bi68nVoCuIvm5FlxS65cz5yg6aS + TL8qmcq5ToiLndsr3zoo89FflkxrnArzGFUrTOqkFdrniVQ0nX3YErmjuS6ZdlUyPc7PfYNc+8Y+ + T5SIoZuCTbWe8qpk5klYuoDdu3Vnu6zXhcnPx226fJRi+pUgubeSSS99bK9Cj16Kpb8ad3SIwp8J + IbDM3TAqU9ILHgNMmZLrs96Qv6op6cKwq2c+7NjBB08kacqCM5akV7LoFmXxWKdBEAWCThVaelBD + 2K+qog1tNcYOoR6axbIag0xbL5REMUyFeNZHuiF/Vafa0dumtI8u6a8QbXRKAt2i0eiUCjqVgnHK + ZnT25tscP77qU1vHypcJpBn0KocN4qwpxsdnTWUG1we3IX1VIczTeBcZZL9hd6qUaw5QW0gGopuO + MTqlg3ZRB51Rc6udsg+tUkKnlNC6q3NdrIlyO06+jHSprRqZQbbtugULYQ7DdSmkryqF9gn3Oc/2 + 0/FF654oQCsLzmBolRYO515NYJhPCpIOtPWio9Eqm/DArlIIF4PcFgBBUkgkyyOtVfOFoD15Io+n + nvJS1oeyIa6KIdttykkJe90Z53MnOOaSJT0scNig88SAVTs2FFcHrBY/ha1sgLBKHnkkj4/cFHvM + 2H9ltJDF26i22+Q12XJrZeiRr6ZhOCDIrKDzitD9nB5hMlIb4kkAPyyN3Ald10lc1cljn28JHZfv + hveG92kZkD/D0B3bw/TEYKGRK8P2mT5H5cmUyCNVnbzdRfK54kYz69HULEWT9aQMtjK4c45/vULl + kQsU0R1NJanzx1XhhOOp3Xt9LhvCqm6Snz6wJ7eOJeGk3NnI3Zko9MaGJT+jm71lWXST9Fh/NupI + FPL1G01B+SM085HUEk0UaFLU83+N8G7oslwmX4UEmLwnBNuR/k6ZlQitXHpyUxv6+iQ2hGW5pC7s + WI9gHDY1WspzqYWbfHyew1z25JaerLQumZ0+qcHh45M7elmwFECGgiaqIatZQyWaOEITH010IatO + m5DRR2JFJinRPG97aWJ6VGh6GRAPVuZqkEV5jwd82ImTyVyfwIZmVTLRNimWB404sE/zj9l0Yqtt + TQwN4m8RECIYHsC3GBGq5zs7WThOWjFxqJjwEEsVkSQpmKgFk5QjjlcVk5CVC2SR5VYe1VzqvSij + YOm8m7Iv11sacLmlARsz7vjc7x8LmdvA3YZRz9HAZyrG80HhoA1MdM9kEMuKZcRqrGf0JGgFmqgV + E4eKSaFs5+jr+WZHn8J5Qo8qi0RV/6N7GlRLA16WTEySaKVmGlmgC+AUnCwS3N49nkz9bR4ivD62 + Mi6LptF0vppE3D95svnovRi0ZkJ8QjNHY1UR1qf5d1NVbZlMjUbt5RBVW5gfNNeCIVsPNsNyPo9o + W8wNj+pgMxTn83Q9iwhyZjr4i/P8kzEtt/NkE4oAJrB2gWI7URXzOeVTaK7PsVzvtkn7+exE1dtH + n4cGdAlusMPYEU6xmf4+nBbO3EY9Ek6corOsWM5AwdpsY+W5kKBOIgcaHDaRD/MuY39htyEPnI7Z + a2c9udV0gqon15PaQE1qg2uNivnUUTAivu69c6IZDIKa6Q+uEU5Mm/yMtQnrXTaw3GUDyabzb0In + DKesPoPneHL6Ip1IzYisTTWC1ZqMo6p3fPAeUh1OsBebnO0J7XnP+e2UeJKwOqFWA92aFSWex72v + 4SnLg1zYT0dpjnxGdaouutbsRBvDHJ/r6rnceRMuHW0Wz4NGnNeTBP2wjXbyTN1cJNtVVA6rg0yc + orMsODiM3JdzeY76jDoe/XwQ16HJZLmcHxXrQSi+Oa/Ud4W+cpag1yPbxDHkV6sz0DgW1RnW26yJ + DZTOqGzQbo4WKMPEeZAZyvUOHFjuwOlOjnrIZG5yIh1qb5apSHKYQTIxTrFLlg8nuYQZIut6JaJJ + vvhBViJp5aCh0ThBAlPP5nHlnL323CinK3ydKDzXh0apXdxePJYHCa0IszN7FP0PSCSBTP4RtkD6 + qbpzWG/CgeUmHL54tLPdz9jz2KUnh3t4jJN7uCHdEsHD4VeTp5+UBUvIKFnhJZq5t7A3UaOypx+h + zIFMpm3QFAOznn5CjUqyPC1KHnZCSiJZInl1piXy7o1VJImCrOvNA4MkkgitRjobZgLssN6SA8st + OdiPEzL3mfQ5jBmCnjGQvjdwe8L0OKGu4rz9zSqTPKWTdcFyWJQtJeeoRlOnr4VPnr7uvZ60C7ky + e3V3TY4Az5Yjh6dHvgUZX5cHRR2XNnFMUchx3PQKlpascHeQrZwqkP6MVLl5bOo4EMMkletCudyg + A1ucPFOiQJlTwLGLE21h1MCIs0rJXUKy/c0agxLnophlxbp9h+qNq0H+h8vXeOMjrTTBFiyxYJku + LVhC7mNt5qxGMUA9vQZav2d/YRMzEpDCVelUASPwe79sgyjp4UF7JWaJZQY3FWmH9WYdWG7WAR3K + pPuRdmtfjM21pB2jo34InBbOfg7bRoOR/oBzHnk3hw2IsSIK0iXfgCWipj9nD0yIhVHYVfCkCbBC + SuKcKCP29+NFDaQgDoNMPyZBqblWIIxh97wbThFJjhGKQRqdGH1bmcmep1zz9c4dWO7cMVtUs9hm + OEXSG7wZa6md881ps52W5iO0B6DydPOO1lIurpBREwPNbp1UUM3mezFNf3TWVlDNyWm6Nt44Pd7M + lkzTyudxaUtmmw06bnrtAF0jBNQEp2ZZen3KnkwG5Yj8DJjrLTyw3MJjupDmnIDqaeqmmZLVKqid + VdDuUJQcnHtKQeWpKARUuXQSSyeptIOo0V4gfPCUh1QUKrO1d6PSyVHAx3UNllbUsudjTQSX9iKX + KOe2GAdeV7KrKdUmNEMKTAh2Si/Xm3pguakn10gr2/ORS9S3Jt4+zp5LJJ4UTGbtpudjN58RzHPF + 4qfXY8fNvoW2YLIis3TpVjLjPjb1hpTlQmb1iY43swVTnPholE90rNKAme96BUx2IMJHhp0MshsK + 0uKE0PrqJvlMU+Gj9VYfWG71MbNHpJToEcfNdWfnprdp6BTNWZxmkD1vfrEGS5oLspsufe6wYklB + YkkKS+qDmhZbLLkKZg1q5rdACSZLwZRRzQPEhku65qyTB5RcEkevBlUqLuWhzm4uN7ne+gPLrT/H + hyC4DHfATK56yFWvfrCR4whMP+etj1yhvFWte+udK4SNfYlegnnT0vIo/U6e1IkqmFT1EpudnIwC + k1iAiWonJxJg4kUwozMSTHRyJ0fVa5FHpjZgMk8NUIX1biBY7gY6PoQWTHdfMN1evx70lBez4WAj + Bz+XM4+5zqDjsv5mDZeTtXBlxeL5NIKJrLhkxWUf2ySq/vkB2A0mqlyitjAxSC5Jcon+GS4Z926K + lkujBHMvexfj0UMLJrnHU/x3MNcVc7kJ6Hg75ndy8tnziV0TkBke0xNhhstkGlDsN3IchI4oTDk+ + dcXCJVQuIUouQeklDDwfIG64xMIlNHqJMm4kA0fHqxpKQakngqAUrvlBbFm2qiUoZbYy8aUoNdj4 + 5wbj1MgXWG8KguWmINP3BN3zgziJ50s+T4b6fd2MmoImDc7063enjB+f1Oq+XlYsnJqGUxU3AmVw + Qm9wHjP7bkiBr5w2BieA0k+Q+gnK4ASpnxfLiNkGLwo7jIlOze33MjtknLA4ITw+p2cnc10/l7uC + zJ60aMm0r5LJdTC6GXjoAAMy52KaHKQk34AZxTTnyKwr3siMzc5+2+XbGwkyB2C6R2eXHssKLqW9 + KUPtx13XubSGQXMpa4jNPkVLcNlGNPNxUjNYrrcEwXJLUI/lPXvT5+PN8oBdo2s0zXAedaApucxO + iy6Ca3+xCqWbrNEsK1Zzs9VLUFRKKI3vqETb+ucARS5NE2YHta2rKBLIbd1EBalk9NqMQUuRnGTU + W7mrG0uKURKMWpwZnAXrDUKw3CCUo68qb3kHUptbMBA2dj2kJqxLJ2/e9Zu6GdRqIvLsps7iyJNQ + GTXKVzdBQTrw1R03PpGJFVJfITVBJNblGabHq1pIvYTUBEnpNdvTep0bMjaqc87UZC2zz3StlOJU + d6VZbxRa7hM63o1ZSF3yxXOhHJqB5ekGkE5anj4Zf72HVG3ZRkrlNx+v2M3BbCC83UcZnqXFrUIa + 6tHkx+/VoFQYdcruNF5S6RSVTlJ5cchR9EHGkwyr3kqjpJPbFqFEG884RGa9RWi5Q8h0pz/fPxzy + OKKcukPNjo9SQ2mnvPZckj4Iv5uBNxTmwu9lwa7hd4CkVUj2vpCrpZvH6xs7sSCpiXSSSOUJiW7f + y0Q69NJFN3rekUEZ4TwmW1ciPc1s5ma9LWi5K6glacJD31NC5Dbn+pSQGaXQzZxO5gPE+winGeWE + zJzJWVYsOtlYnEZFOI2KcJpBphJbKm2lsklUGtJYykylUZlKw09haSHKAGd6E5SDDrKq2GA7lDDn + 2GdKO8x6O9ByN9CIy/tgZkPTbzQKHY1CnE9Ux7Wov0FKaH+waTJ7Fz20oXdTU0KmCb2rBozjupZM + FXo39BSZPjrl/oDKCRlQhiWa9ohnQ2Emh27We4KWW4Janh5E3vcBcXmgjN8YdJ/a8a72XE45P37z + vo8bDbGk6ci7HCfTBN6NChsZeggl7IeEPYgb6Ui7kQl0o+JGBp+B0oPT2zhgLdEMg+NyzT4noYFy + 6lwUs94XtNwWdAFKyoYl2v1Ib9dXaI6gpCnDkkOeHNFDOUqfWzetlW8J5X4w3SModZRdUwlvSqWF + oKg0zSHObkglCalEnHJ31luDljuDWpoeS2VCEvM5D9TNN3pNKqfCmTlQ5PXkrTGWdhFKUxsoG+6a + Gz3iMgC9PZfwDJchedGay1BnwtkxlyS4hJlhhWa9OWi5N+gal+7F0O7k4sC0HHF5x+cJ7zGeMzlt + PplLH0LarniVy87jAQzxKS5xb+1+yOXXxJLRqOSPsXUTpxGWJgpfHHgmKWnW+4GW24F6LF+pGk4U + QaaIj6IOnNvF7wzokAs67rM/IyznPR6UcXVnnsIy0KMZml+Zypg2ANJU4jUqp2rgzHr3zxPNP3Ni + eUgb52xPciZid9DZK2J5J9sT3hs6V0zySzjYxEelRlNx9GqsjkzL60xyCDOm5deE0ker4ujttBic + gTJnd/7rj/8HAAD//wMAWSnLfwAEAQA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA7ydS49cubHnv4vW1gEjGHzV7mK2d+GFVzMYGJpuwRasdje65TvjMfzdhzwPMiLI + yuRh9kgwjJYqk1lZ+at/MN7/+vDDXz99+fuHt//xrw8///Lty8/5P//14Yeff/z84e3Df/zHH/8T + yVhw/83k/zf5z4c/fPj25Ye/ff71/HL+++f/88uXXz8dT/2ABumjsR/B5a/89u3XL3/LB+WnbiY/ + 8Z+/lFN/+PT164d//+HDL79++eHzb+Xlfvz07fPxXPvRpOO5P3z9+bf8j/mJ/vzLn3/78n/zv8D1 + 129ffpLP+hOEN0pvCJv3+N+vM/78v778uJ/j2D9cZxnD/3FwYnpz+X+wgbXtxE+//U1+Z/kfrhOd + 5f/4/MT/+vnrP3463tbPv3z++3Vu+e/6Oun8+/VO7Pn3L3//9vnXz799y8+OMR/w1y9/+ev1hK8/ + /+/rrJ8+/Xqc4/KPoHxX/HHl7+yx5cdQv3z+/fqyLZ/1519/+FI+i2///Lojkt/Cl59++frl849/ + zm8lY/D1y7d/lodjgvwt/fj567dP+7ONg3zAXz799NP5d0P569/++rl8/WP5B3Ax/zw+/+X4OkQM + //73H55iadaxNL8jlkTuIZgmvQFtBsMUmDSDJcEWU+iwBNdj6XCKStoQkFMZnHnAZVRcUs8lWHrK + JUgqIdyikm5SScELLGOIEkvvJJboEsMSk53BEtMylvmpL2AZJJb2AZTxzcQ3dFsIrofS91D6MCuW + xvViGXoqyUxRaTdHwKm0jMkgmQRQTLqOSSTbkCyPv0gKTCq9ewxlUFAGCaW7B6Wn6ASU5eU5k84r + qeRKiejsDJLRLSMZ3e+HJJj3mKQ/gctC+oY2/1qbnsmwKJQubjamHsk4sN8xTTFZT6z22zyAEp9C + Cc6Fi8q//+Pr15PK4z8rlcEZ/kcLJ0pGo2I0vsao8VI4g2LUk9LN8v01SPMbnIJ0XTfjK7oZFaTu + XUoPBtxbvj2ENDDnA0o9zionDJQz9ZjaOUr9RiBvmc4zTKPC1CpMfYcpJXbNLI+/YEqM0qiwtI+x + TBJLfw9LZxNJe66vmUFdMxEEl4GmuAzr4hleEc8kucSHVNJ+h0vGTtlzmnN+MCPdOz8wEM9Je14P + vKgkxmRSTJJiMgx8n/K6lTYaQnlp4/UwJZVJMgkvKaULNnIkAbxCMilzni+VDEkbHE0huS6V4QWp + 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 + AQA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-03-01/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-11-15/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/options/chain/AAPL/2024-01-26/eod?api_key=MOCK_API_KEY&date=2023-09-15&include_related_symbols=False + response: + body: + string: !!binary | + H4sIAADobGYAA6pWSs5IzMxTsoqOrQUAAAD//wMAHQXYeAwAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:52 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/securities/AAPL/prices?api_key=MOCK_API_KEY&end_date=2023-09-15&end_time=23%3A59%3A59&frequency=daily&source=realtime&start_date=2023-09-15&start_time=00%3A00%3A00&timezone=America%2FNew_York + response: + body: + string: !!binary | + H4sIAAHobGYAA2xSXW/bMAz8K4OeHUN27MT2W4MNxYCt+wg6pBgGQZBpR4kieZLcxA3y30vVSbGs + fdMdyeOR1JE4b8SWdVYKcKT6fSQ190AqktJ0OqHlJMlJRKT2lndgpalJ1XDlICKNhb89aDFgcs2l + GjDPdKBJlcxncVZEZC3b9YjyiCizD+9pXKQREco4CDCPaRKRR6P6XcC0TPMymyUxjQivN+yil8fz + YmQumnl8Jl51k2wkXrWzeJqO1Lv6DRfeWCQDcJ2SnlnupTkztXyUNWiclwYo1ly3KDGh8XwaEdyF + AO3ZPzSlGbZrZOMH5veG7QG2F7vlPE6KN8HReorWZ6c/6AFEb6XHfR6JxL6BYLzd2HaDqxVm13E9 + sJcIAna3mt0+fcPIeEE4jF7GBHdomXn6astwFc3D8OSm6xR8+KzFi1odqE8/lgH01p4Peb/8iISX + Ygs2lNx8/3LubZz0wK4i1X2obmQrkVgsbimli/IhX6VXJf/FVz8fsmB6zS3grbhzVxnJMr8rfhWY + gV9yx+3AlHRe6pZU3vZwwmng4FnHw9Z1r9TpGQAA//8DAP87WvrDAgAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Sat, 15 Jun 2024 01:01:53 GMT Transfer-Encoding: - chunked Vary: diff --git a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py index e0141e99cd3..2318a56dc92 100644 --- a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py +++ b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py @@ -53,6 +53,7 @@ from openbb_intrinio.models.latest_attributes import IntrinioLatestAttributesFet from openbb_intrinio.models.market_indices import IntrinioMarketIndicesFetcher from openbb_intrinio.models.market_snapshots import IntrinioMarketSnapshotsFetcher from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher +from openbb_intrinio.models.options_snapshots import IntrinioOptionsSnapshotsFetcher from openbb_intrinio.models.options_unusual import IntrinioOptionsUnusualFetcher from openbb_intrinio.models.price_target_consensus import ( IntrinioPriceTargetConsensusFetcher, @@ -531,3 +532,13 @@ def test_intrinio_forward_ebitda_fetcher(credentials=test_credentials): fetcher = IntrinioForwardEbitdaEstimatesFetcher() result = fetcher.test(params, credentials) assert result is None + + +@pytest.mark.skip(reason="HTTP request is too large and unreasonable to store.") +def test_intrinio_options_snapshots(credentials=test_credentials): + """Test options snapshots fetcher.""" + params = {"date": "2024-06-11"} + + fetcher = IntrinioOptionsSnapshotsFetcher() + result = fetcher.test(params, credentials) + assert result is None diff --git a/openbb_platform/providers/nasdaq/openbb_nasdaq/__init__.py b/openbb_platform/providers/nasdaq/openbb_nasdaq/__init__.py index 28babefdc60..190be561181 100644 --- a/openbb_platform/providers/nasdaq/openbb_nasdaq/__init__.py +++ b/openbb_platform/providers/nasdaq/openbb_nasdaq/__init__.py @@ -34,6 +34,6 @@ unmatched technology, insights and markets expertise.""", "TopRetail": NasdaqTopRetailFetcher, }, repr_name="NASDAQ", - v3_credentials=["API_KEY_QUANDL"], + deprecated_credentials={"API_KEY_QUANDL": "nasdaq_api_key"}, instructions='Go to: https://www.quandl.com\n\n![Quandl](https://user-images.githubusercontent.com/46355364/207823899-208a3952-f557-4b73-aee6-64ac00faedb7.png)\n\nClick on, "Sign Up", and register a new account.\n\n![Quandl](https://user-images.githubusercontent.com/46355364/207824214-4b6b2b74-e709-4ed4-adf2-14803e6f3568.png)\n\nFollow the sign-up instructions, and upon completion the API key will be assigned.\n\n![Quandl](https://user-images.githubusercontent.com/46355364/207824664-3c82befb-9c69-42df-8a82-510d85c19a97.png)', # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/nasdaq/openbb_nasdaq/models/equity_search.py b/openbb_platform/providers/nasdaq/openbb_nasdaq/models/equity_search.py index 77ada033b51..dcf5197d416 100644 --- a/openbb_platform/providers/nasdaq/openbb_nasdaq/models/equity_search.py +++ b/openbb_platform/providers/nasdaq/openbb_nasdaq/models/equity_search.py @@ -7,6 +7,7 @@ from typing import Any, Dict, List, Optional import requests import requests_cache +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.equity_search import ( @@ -124,7 +125,7 @@ class NasdaqEquitySearchFetcher( else requests.get(url, timeout=5) ) if r.status_code != 200: - raise RuntimeError(f"Error with the request: {r.status_code}") + raise OpenBBError(f"Error with the request: {r.status_code}") return r.text loop = asyncio.get_running_loop() diff --git a/openbb_platform/providers/nasdaq/openbb_nasdaq/utils/helpers.py b/openbb_platform/providers/nasdaq/openbb_nasdaq/utils/helpers.py index aa8c5cf556c..d4e3e2c848f 100644 --- a/openbb_platform/providers/nasdaq/openbb_nasdaq/utils/helpers.py +++ b/openbb_platform/providers/nasdaq/openbb_nasdaq/utils/helpers.py @@ -7,6 +7,7 @@ from io import StringIO from typing import Any, List, Optional, TypeVar, Union import requests +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider import helpers from openbb_core.provider.utils.errors import EmptyDataError from pydantic import BaseModel @@ -94,7 +95,7 @@ def get_data(url: str, **kwargs: Any) -> Union[list, dict]: except SSLError: r = request(url) if r.status_code == 404: - raise RuntimeError("Nasdaq endpoint doesn't exist") + raise OpenBBError("Nasdaq endpoint doesn't exist") data = r.json() if len(data) == 0: @@ -102,7 +103,7 @@ def get_data(url: str, **kwargs: Any) -> Union[list, dict]: if data["data"] is None: message = data["status"]["bCodeMessage"]["errorMessage"] - raise RuntimeError(f"Error in Nasdaq request -> {message}") + raise OpenBBError(f"Error in Nasdaq request -> {message}") return data diff --git a/openbb_platform/providers/nasdaq/poetry.lock b/openbb_platform/providers/nasdaq/poetry.lock index 586639625d1..e9fbaa12d65 100644 --- a/openbb_platform/providers/nasdaq/poetry.lock +++ b/openbb_platform/providers/nasdaq/poetry.lock @@ -968,13 +968,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2045,4 +2045,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "274e589378ad2d0fc342cee431da06989920690aeb3badfa2ebadeb96aa30c13" +content-hash = "6da4ede56ad522e5c59ee257a815447768d7c6382ba70641fab099ee457f47db" diff --git a/openbb_platform/providers/nasdaq/pyproject.toml b/openbb_platform/providers/nasdaq/pyproject.toml index 772a895d6e4..6b8832b7922 100644 --- a/openbb_platform/providers/nasdaq/pyproject.toml +++ b/openbb_platform/providers/nasdaq/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-nasdaq" -version = "1.2.2" +version = "1.2.3" description = "Nasdaq extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_nasdaq" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" random-user-agent = "^1.0.1" nasdaq-data-link = "^1.0.4" diff --git a/openbb_platform/providers/oecd/openbb_oecd/models/consumer_price_index.py b/openbb_platform/providers/oecd/openbb_oecd/models/consumer_price_index.py index 51ebaecc78a..cd3028e7cd9 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/models/consumer_price_index.py +++ b/openbb_platform/providers/oecd/openbb_oecd/models/consumer_price_index.py @@ -5,6 +5,7 @@ from datetime import date from typing import Any, Dict, List, Literal, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.consumer_price_index import ( ConsumerPriceIndexData, @@ -168,8 +169,8 @@ class OECDCPIFetcher(Fetcher[OECDCPIQueryParams, List[OECDCPIData]]): def country_string(input_str: str): if input_str == "all": return "" - countries = input_str.split(",") - return "+".join([COUNTRY_TO_CODE_CPI[country] for country in countries]) + _countries = input_str.split(",") + return "+".join([COUNTRY_TO_CODE_CPI[country] for country in _countries]) country = country_string(query.country) # For caching, include this in the key @@ -187,15 +188,15 @@ class OECDCPIFetcher(Fetcher[OECDCPIQueryParams, List[OECDCPIData]]): data = helpers.get_possibly_cached_data( url, function="economy_cpi", query_dict=query_dict ) - except HTTPError: - raise ValueError("No data found for the given query.") + except HTTPError as exc: + raise OpenBBError("No data found for the given query.") from exc url_query = f"METHODOLOGY=='{methodology}' & UNIT_MEASURE=='{units}' & FREQ=='{frequency}'" if country != "all": if "+" in country: - countries = country.split("+") + _countries = country.split("+") country_conditions = " or ".join( - [f"REF_AREA=='{c}'" for c in countries] + [f"REF_AREA=='{c}'" for c in _countries] ) url_query += f" & ({country_conditions})" else: diff --git a/openbb_platform/providers/oecd/openbb_oecd/models/gdp_forecast.py b/openbb_platform/providers/oecd/openbb_oecd/models/gdp_forecast.py index dcf61e6a0b6..40c79fddd02 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/models/gdp_forecast.py +++ b/openbb_platform/providers/oecd/openbb_oecd/models/gdp_forecast.py @@ -4,6 +4,7 @@ import re from datetime import date from typing import Any, Dict, List, Literal, Optional, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.gdp_forecast import ( GdpForecastData, @@ -39,10 +40,10 @@ class OECDGdpForecastData(GdpForecastData): if isinstance(in_date, str): if re.match(r"\d{4}-Q[1-4]$", in_date): year, quarter = in_date.split("-") - quarter = int(quarter[1]) - month = quarter * 3 + quarter_int = int(quarter[1]) + month = quarter_int * 3 return date(int(year), month, 1) - raise ValueError("Date string does not match the format YYYY-QN") + raise OpenBBError("Date string does not match the format YYYY-QN") if isinstance(in_date, int): return date(in_date, 12, 31) return date diff --git a/openbb_platform/providers/oecd/openbb_oecd/models/house_price_index.py b/openbb_platform/providers/oecd/openbb_oecd/models/house_price_index.py index eaa2bc45290..7d7bf5b54ad 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/models/house_price_index.py +++ b/openbb_platform/providers/oecd/openbb_oecd/models/house_price_index.py @@ -7,6 +7,7 @@ from io import StringIO from typing import Any, Dict, List, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.house_price_index import ( HousePriceIndexData, @@ -62,13 +63,12 @@ class OECDHousePriceIndexQueryParams(HousePriceIndexQueryParams): except Exception as e: if len(values) == 1: raise e from e - else: - warn(f"Invalid country: {v}. Skipping...") - continue + warn(f"Invalid country: {v}. Skipping...") + continue result.append(v.lower()) if result: return ",".join(result) - raise ValueError(f"No valid country found. -> {values}") + raise OpenBBError(f"No valid country found. -> {values}") class OECDHousePriceIndexData(HousePriceIndexData): @@ -110,8 +110,8 @@ class OECDHousePriceIndexFetcher( def country_string(input_str: str): if input_str == "all": return "" - countries = input_str.split(",") - return "+".join([COUNTRY_TO_CODE_RGDP[country] for country in countries]) + _countries = input_str.split(",") + return "+".join([COUNTRY_TO_CODE_RGDP[country] for country in _countries]) country = country_string(query.country) if query.country else "" start_date = query.start_date.strftime("%Y-%m") if query.start_date else "" diff --git a/openbb_platform/providers/oecd/openbb_oecd/models/immediate_interest_rate.py b/openbb_platform/providers/oecd/openbb_oecd/models/immediate_interest_rate.py index dfca5420edf..99d20efab9c 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/models/immediate_interest_rate.py +++ b/openbb_platform/providers/oecd/openbb_oecd/models/immediate_interest_rate.py @@ -7,6 +7,7 @@ from io import StringIO from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.immediate_interest_rate import ( ImmediateInterestRateData, @@ -62,13 +63,12 @@ class OECDImmediateInterestRateQueryParams(ImmediateInterestRateQueryParams): except Exception as e: if len(values) == 1: raise e from e - else: - warn(f"Invalid country: {v}. Skipping...") - continue + warn(f"Invalid country: {v}. Skipping...") + continue result.append(v.lower()) if result: return ",".join(result) - raise ValueError(f"No valid country found. -> {values}") + raise OpenBBError(f"No valid country found. -> {values}") class OECDImmediateInterestRateData(ImmediateInterestRateData): @@ -109,8 +109,8 @@ class OECDImmediateInterestRateFetcher( def country_string(input_str: str): if input_str == "all": return "" - countries = input_str.split(",") - return "+".join([COUNTRY_TO_CODE_IR[country] for country in countries]) + _countries = input_str.split(",") + return "+".join([COUNTRY_TO_CODE_IR[country] for country in _countries]) country = country_string(query.country) if query.country else "" start_date = query.start_date.strftime("%Y-%m") if query.start_date else "" diff --git a/openbb_platform/providers/oecd/openbb_oecd/models/share_price_index.py b/openbb_platform/providers/oecd/openbb_oecd/models/share_price_index.py index 36aa346f8b9..5238bcfdad6 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/models/share_price_index.py +++ b/openbb_platform/providers/oecd/openbb_oecd/models/share_price_index.py @@ -7,6 +7,7 @@ from io import StringIO from typing import Any, Dict, List, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.share_price_index import ( SharePriceIndexData, @@ -61,13 +62,12 @@ class OECDSharePriceIndexQueryParams(SharePriceIndexQueryParams): except Exception as e: if len(values) == 1: raise e from e - else: - warn(f"Invalid country: {v}. Skipping...") - continue + warn(f"Invalid country: {v}. Skipping...") + continue result.append(v.lower()) if result: return ",".join(result) - raise ValueError(f"No valid country found. -> {values}") + raise OpenBBError(f"No valid country found. -> {values}") class OECDSharePriceIndexData(SharePriceIndexData): @@ -108,8 +108,8 @@ class OECDSharePriceIndexFetcher( def country_string(input_str: str): if input_str == "all": return "" - countries = input_str.split(",") - return "+".join([COUNTRY_TO_CODE_RGDP[country] for country in countries]) + _countries = input_str.split(",") + return "+".join([COUNTRY_TO_CODE_RGDP[country] for country in _countries]) country = country_string(query.country) start_date = query.start_date.strftime("%Y-%m") if query.start_date else "" diff --git a/openbb_platform/providers/oecd/openbb_oecd/models/unemployment.py b/openbb_platform/providers/oecd/openbb_oecd/models/unemployment.py index 2f91d735b5c..236513430d2 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/models/unemployment.py +++ b/openbb_platform/providers/oecd/openbb_oecd/models/unemployment.py @@ -7,6 +7,7 @@ from io import StringIO from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.unemployment import ( UnemploymentData, @@ -86,13 +87,12 @@ class OECDUnemploymentQueryParams(UnemploymentQueryParams): except Exception as e: if len(values) == 1: raise e from e - else: - warn(f"Invalid country: {v}. Skipping...") - continue + warn(f"Invalid country: {v}. Skipping...") + continue result.append(v.lower()) if result: return ",".join(result) - raise ValueError(f"No valid country found. -> {values}") + raise OpenBBError(f"No valid country found. -> {values}") class OECDUnemploymentData(UnemploymentData): @@ -141,9 +141,9 @@ class OECDUnemploymentFetcher( def country_string(input_str: str): if input_str == "all": return "" - countries = input_str.split(",") + _countries = input_str.split(",") return "+".join( - [COUNTRY_TO_CODE_UNEMPLOYMENT[country] for country in countries] + [COUNTRY_TO_CODE_UNEMPLOYMENT[country] for country in _countries] ) country = country_string(query.country) @@ -158,7 +158,7 @@ class OECDUnemploymentFetcher( headers = {"Accept": "application/vnd.sdmx.data+csv; charset=utf-8"} response = make_request(url, headers=headers, timeout=20) if response.status_code != 200: - raise Exception(f"Error: {response.status_code}") + raise OpenBBError(f"Error: {response.status_code} -> {response.text}") df = read_csv(StringIO(response.text)).get( ["REF_AREA", "TIME_PERIOD", "OBS_VALUE"] ) @@ -178,6 +178,9 @@ class OECDUnemploymentFetcher( ) df = df[(df["date"] <= query.end_date) & (df["date"] >= query.start_date)] + # in column "country" if NaN replace with "all" + df["country"] = df["country"].fillna("all") + return df.to_dict(orient="records") @staticmethod diff --git a/openbb_platform/providers/oecd/openbb_oecd/utils/helpers.py b/openbb_platform/providers/oecd/openbb_oecd/utils/helpers.py index b2bbaf439f4..98fd9a7477c 100644 --- a/openbb_platform/providers/oecd/openbb_oecd/utils/helpers.py +++ b/openbb_platform/providers/oecd/openbb_oecd/utils/helpers.py @@ -4,11 +4,12 @@ import ssl from datetime import date from io import StringIO from pathlib import Path -from typing import Any, Dict, Optional, Union +from typing import Any, Dict, Literal, Optional, Union import requests import urllib3 from defusedxml.ElementTree import fromstring +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider import helpers from pandas import DataFrame, read_csv, read_parquet, to_datetime @@ -207,7 +208,7 @@ def get_possibly_cached_data( url: str, function: Optional[str] = None, query_dict: Optional[dict] = None, - cache_method: str = "csv", + cache_method: Literal["csv", "parquet"] = "csv", skip_cache: bool = False, ) -> DataFrame: """Retrieve data from a given URL or from the cache if available and valid. @@ -231,15 +232,11 @@ def get_possibly_cached_data( base_cache = ( f"{cache}/{function}_{query_dict_to_path(query_dict if query_dict else {})}" ) - if cache_method == "parquet": - cache_path = base_cache + ".parquet" - elif cache_method == "csv": - cache_path = base_cache + ".csv" - use_cache = check_cache_exists_and_valid( cache_str=base_cache, cache_method=cache_method ) if use_cache and not skip_cache: + cache_path = f"{base_cache}.{cache_method}" if cache_method == "csv": data = read_csv(cache_path) elif cache_method == "parquet": @@ -260,4 +257,4 @@ def oecd_date_to_python_date(input_date: Union[str, int]) -> date: return date(int(input_date), 1, 1) if len(input_date) == 7: return to_datetime(input_date).to_period("M").start_time.date() - raise ValueError("Date not in expected format") + raise OpenBBError("Date not in expected format") diff --git a/openbb_platform/providers/oecd/poetry.lock b/openbb_platform/providers/oecd/poetry.lock index cadc2c580cd..169f12754e2 100644 --- a/openbb_platform/providers/oecd/poetry.lock +++ b/openbb_platform/providers/oecd/poetry.lock @@ -982,13 +982,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2048,4 +2048,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "f765a0d552e45908c6f796320770e40d9a7b8bcb5b35c34a44d938e58463de29" +content-hash = "fad15e0b78ad61402c25f1b84261376a606502646b3c45ca8a3722859d1cc788" diff --git a/openbb_platform/providers/oecd/pyproject.toml b/openbb_platform/providers/oecd/pyproject.toml index bfc0e00e92e..b442926bc3f 100644 --- a/openbb_platform/providers/oecd/pyproject.toml +++ b/openbb_platform/providers/oecd/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-oecd" -version = "1.2.2" +version = "1.2.3" description = "OECD extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_oecd" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" urllib3 = ">1.26.16" defusedxml = "^0.8.0rc2" diff --git a/openbb_platform/providers/polygon/openbb_polygon/__init__.py b/openbb_platform/providers/polygon/openbb_polygon/__init__.py index 27b715652c1..c8de4baf566 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/__init__.py +++ b/openbb_platform/providers/polygon/openbb_polygon/__init__.py @@ -40,6 +40,6 @@ company financials, stock market holidays, corporate actions, and more.""", "MarketSnapshots": PolygonMarketSnapshotsFetcher, }, repr_name="Polygon.io", - v3_credentials=["API_POLYGON_KEY"], + deprecated_credentials={"API_POLYGON_KEY": "polygon_api_key"}, instructions='Go to: https://polygon.io\n\n![Polygon](https://user-images.githubusercontent.com/46355364/207825623-fcd7f0a3-131a-4294-808c-754c13e38e2a.png)\n\nClick on, "Get your Free API Key".\n\n![Polygon](https://user-images.githubusercontent.com/46355364/207825952-ca5540ec-6ed2-4cef-a0ed-bb50b813932c.png)\n\nAfter signing up, the API Key is found at the bottom of the account dashboard page.\n\n![Polygon](https://user-images.githubusercontent.com/46355364/207826258-b1f318fa-fd9c-41d9-bf5c-fe16722e6601.png)', # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/polygon/openbb_polygon/models/currency_pairs.py b/openbb_platform/providers/polygon/openbb_polygon/models/currency_pairs.py index 83cb753b64c..423a94b3d1b 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/models/currency_pairs.py +++ b/openbb_platform/providers/polygon/openbb_polygon/models/currency_pairs.py @@ -8,6 +8,7 @@ from datetime import ( ) from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.currency_pairs import ( CurrencyPairsData, @@ -93,7 +94,7 @@ class PolygonCurrencyPairsFetcher( if isinstance(data, list): raise ValueError("Expected a dict, got a list") if len(data["results"]) == 0: - raise RuntimeError( + raise OpenBBError( "No results found. Please change your query parameters." ) if data["status"] == "OK": diff --git a/openbb_platform/providers/polygon/openbb_polygon/models/currency_snapshots.py b/openbb_platform/providers/polygon/openbb_polygon/models/currency_snapshots.py index 0815d097ccc..4f024bfc3a8 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/models/currency_snapshots.py +++ b/openbb_platform/providers/polygon/openbb_polygon/models/currency_snapshots.py @@ -1,10 +1,11 @@ -"""Polygon Currency Snapshots""" +"""Polygon Currency Snapshots.""" # pylint: disable=unused-argument from datetime import datetime, timezone from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.currency_snapshots import ( CurrencySnapshotsData, @@ -19,7 +20,6 @@ from pydantic import Field class PolygonCurrencySnapshotsQueryParams(CurrencySnapshotsQueryParams): """Polygon Currency Snapshots Query Parameters. - Source: https://polygon.io/docs/forex/get_v2_snapshot_locale_global_markets_forex_tickers """ @@ -116,7 +116,7 @@ class PolygonCurrencySnapshotsFetcher( url = f"https://api.polygon.io/v2/snapshot/locale/global/markets/forex/tickers?apiKey={api_key}" results = await amake_request(url, **kwargs) if results.get("status") != "OK": # type: ignore[union-attr] - raise RuntimeError(f"Error: {results.get('status')}") # type: ignore[union-attr] + raise OpenBBError(f"Error: {results.get('status')}") # type: ignore[union-attr] return results.get("tickers", []) # type: ignore[union-attr] @staticmethod diff --git a/openbb_platform/providers/polygon/openbb_polygon/utils/helpers.py b/openbb_platform/providers/polygon/openbb_polygon/utils/helpers.py index c825898c52d..fac1276e977 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/utils/helpers.py +++ b/openbb_platform/providers/polygon/openbb_polygon/utils/helpers.py @@ -4,6 +4,7 @@ import json from io import StringIO from typing import Any, Dict, List, Optional, Tuple, TypeVar, Union +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import ( ClientResponse, @@ -60,7 +61,7 @@ async def response_callback( if response.status != 200: message = data.get("error") or data.get("message") - raise RuntimeError(f"Error in Polygon request -> {message}") + raise OpenBBError(f"Error in Polygon request -> {message}") keys_in_data = "results" in data or "tickers" in data diff --git a/openbb_platform/providers/polygon/poetry.lock b/openbb_platform/providers/polygon/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/polygon/poetry.lock +++ b/openbb_platform/providers/polygon/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/polygon/pyproject.toml b/openbb_platform/providers/polygon/pyproject.toml index 35e33269276..80e68a2af4a 100644 --- a/openbb_platform/providers/polygon/pyproject.toml +++ b/openbb_platform/providers/polygon/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-polygon" -version = "1.2.2" +version = "1.2.3" description = "Polygon extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_polygon" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/sec/openbb_sec/models/company_filings.py b/openbb_platform/providers/sec/openbb_sec/models/company_filings.py index 9a8b4b8f090..d4360319ac9 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/company_filings.py +++ b/openbb_platform/providers/sec/openbb_sec/models/company_filings.py @@ -10,6 +10,7 @@ from typing import Any, Dict, List, Optional, Union from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.company_filings import ( @@ -158,9 +159,9 @@ class SecCompanyFilingsFetcher( query.symbol.lower(), use_cache=query.use_cache ) if not query.cik: - raise ValueError(f"CIK not found for symbol {query.symbol}") + raise OpenBBError(f"CIK not found for symbol {query.symbol}") if query.cik is None: - raise ValueError("Error: CIK or symbol must be provided.") + raise OpenBBError("CIK or symbol must be provided.") # The leading 0s need to be inserted but are typically removed from the data to store as an integer. if len(query.cik) != 10: # type: ignore diff --git a/openbb_platform/providers/sec/openbb_sec/models/etf_holdings.py b/openbb_platform/providers/sec/openbb_sec/models/etf_holdings.py index 86747169fe9..a8eb80fd230 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/etf_holdings.py +++ b/openbb_platform/providers/sec/openbb_sec/models/etf_holdings.py @@ -11,6 +11,7 @@ import pandas as pd import xmltodict from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.abstract.annotated_result import AnnotatedResult from openbb_core.provider.abstract.fetcher import Fetcher @@ -348,7 +349,7 @@ class SecEtfHoldingsFetcher( raise e filing_candidates = pd.DataFrame.from_records(filings) if filing_candidates.empty: - raise ValueError(f"No N-Port records found for {query.symbol}.") + raise OpenBBError(f"No N-Port records found for {query.symbol}.") dates = filing_candidates.period_ending.to_list() new_date: str = "" if query.date is not None: @@ -397,7 +398,6 @@ class SecEtfHoldingsFetcher( **kwargs: Any, ) -> AnnotatedResult[List[SecEtfHoldingsData]]: """Transform the data.""" - if not data: raise EmptyDataError(f"No data was returned for the symbol, {query.symbol}") results = [] diff --git a/openbb_platform/providers/sec/openbb_sec/models/schema_files.py b/openbb_platform/providers/sec/openbb_sec/models/schema_files.py index 682d03985b1..280979b7459 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/schema_files.py +++ b/openbb_platform/providers/sec/openbb_sec/models/schema_files.py @@ -2,6 +2,7 @@ from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.cot_search import CotSearchQueryParams @@ -43,7 +44,7 @@ class SecSchemaFilesFetcher(Fetcher[SecSchemaFilesQueryParams, SecSchemaFilesDat ) -> Dict: """Return the raw data from the SEC endpoint.""" if query.url and ".xsd" in query.url or query.url and ".xml" in query.url: - raise ValueError("Invalid URL. This endpoint does not parse the files.") + raise OpenBBError("Invalid URL. This endpoint does not parse the files.") results = get_schema_filelist(query.query, query.url) return {"files": results} diff --git a/openbb_platform/providers/sec/openbb_sec/models/symbol_map.py b/openbb_platform/providers/sec/openbb_sec/models/symbol_map.py index cfcdd22dcc4..e12a6aed55b 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/symbol_map.py +++ b/openbb_platform/providers/sec/openbb_sec/models/symbol_map.py @@ -4,6 +4,7 @@ from typing import Any, Dict, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.symbol_map import SymbolMapQueryParams @@ -46,7 +47,7 @@ class SecSymbolMapFetcher( ) -> Dict: """Return the raw data from the SEC endpoint.""" if not query.query.isdigit(): - raise ValueError("Query is required and must be a valid CIK.") + raise OpenBBError("Query is required and must be a valid CIK.") symbol = await cik_map(int(query.query), query.use_cache) response = {"symbol": symbol} return response diff --git a/openbb_platform/providers/sec/openbb_sec/utils/frames.py b/openbb_platform/providers/sec/openbb_sec/utils/frames.py index 6b8f5769a16..1af4a0d09e7 100644 --- a/openbb_platform/providers/sec/openbb_sec/utils/frames.py +++ b/openbb_platform/providers/sec/openbb_sec/utils/frames.py @@ -9,6 +9,7 @@ from warnings import warn from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import amake_request @@ -180,7 +181,7 @@ FACTS = [ "LongTermDebt", "LongTermDebtCurrent", "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive", - "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", + "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", # pragma: allowlist secret "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive", "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", @@ -736,7 +737,7 @@ async def get_frame( # pylint: disable =too-many-arguments,too-many-locals, too try: response = await fetch_data(url, use_cache, persist) except Exception: - raise ValueError(message) from e + raise OpenBBError(message) from e elif "Q" in url and not url.endswith("I.json"): warn( "No frame was found for the requested quarter, trying instantaneous data." @@ -745,9 +746,9 @@ async def get_frame( # pylint: disable =too-many-arguments,too-many-locals, too try: response = await fetch_data(url, use_cache, persist) except Exception: - raise ValueError(message) from e + raise OpenBBError(message) from e else: - raise ValueError(message) from e + raise OpenBBError(message) from e data = sorted(response.get("data", {}), key=lambda x: x["val"], reverse=True) # type: ignore metadata = { @@ -779,9 +780,9 @@ async def get_concept( taxonomy: Optional[TAXONOMIES] = "us-gaap", use_cache: bool = True, ) -> Dict: - """Return all the XBRL disclosures from a single company (CIK) - and concept (a taxonomy and tag) into a single JSON file, with a separate array of facts - for each units on measure that the company has chosen to disclose + """Return all the XBRL disclosures from a single company (CIK) Concept (a taxonomy and tag) into a single JSON file. + + Each entry contains a separate array of facts for each units of measure that the company has chosen to disclose (e.g. net profits reported in U.S. dollars and in Canadian dollars). Parameters diff --git a/openbb_platform/providers/sec/openbb_sec/utils/helpers.py b/openbb_platform/providers/sec/openbb_sec/utils/helpers.py index 3a5638eee7e..631bd254ecf 100644 --- a/openbb_platform/providers/sec/openbb_sec/utils/helpers.py +++ b/openbb_platform/providers/sec/openbb_sec/utils/helpers.py @@ -9,6 +9,7 @@ from zipfile import ZipFile import pandas as pd from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.utils.helpers import amake_request, make_request from openbb_sec.utils.definitions import HEADERS, SEC_HEADERS @@ -280,7 +281,7 @@ async def get_series_id( results = pd.DataFrame() if not symbol and not cik: - raise ValueError("Either symbol or cik must be provided.") + raise OpenBBError("Either symbol or cik must be provided.") target = symbol if symbol else cik choice = "cik" if not symbol else "symbol" @@ -310,9 +311,9 @@ async def get_nport_candidates(symbol: str, use_cache: bool = True) -> List[Dict else _series_id["seriesId"].iloc[0] ) except IndexError as e: - raise ValueError("Fund not found for, the symbol: " + symbol) from e + raise OpenBBError("Fund not found for, the symbol: " + symbol) from e if series_id == "" or series_id is None: - raise ValueError("Fund not found for, the symbol: " + symbol) + raise OpenBBError("Fund not found for, the symbol: " + symbol) url = f"https://efts.sec.gov/LATEST/search-index?q={series_id}&dateRange=all&forms=NPORT-P" response: Union[dict, List[dict]] = {} diff --git a/openbb_platform/providers/sec/openbb_sec/utils/parse_13f.py b/openbb_platform/providers/sec/openbb_sec/utils/parse_13f.py index 12cdd4c3813..9cc57fffce1 100644 --- a/openbb_platform/providers/sec/openbb_sec/utils/parse_13f.py +++ b/openbb_platform/providers/sec/openbb_sec/utils/parse_13f.py @@ -4,6 +4,7 @@ from typing import Any, Dict, Optional import xmltodict from bs4 import BeautifulSoup +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.utils.helpers import amake_request from openbb_sec.models.company_filings import SecCompanyFilingsFetcher from openbb_sec.utils.definitions import HEADERS @@ -28,14 +29,14 @@ async def get_13f_candidates(symbol: Optional[str] = None, cik: Optional[str] = if symbol is not None: params["symbol"] = symbol if cik is None and symbol is None: - raise ValueError("Either symbol or cik must be provided.") + raise OpenBBError("Either symbol or cik must be provided.") params["use_cache"] = False params["form_type"] = "13F-HR" filings = await fetcher.fetch_data(params, {}) filings = [d.model_dump() for d in filings] if len(filings) == 0: - raise ValueError(f"No 13F-HR filings found for {symbol if symbol else cik}.") + raise OpenBBError(f"No 13F-HR filings found for {symbol if symbol else cik}.") # Filings before June 30, 2013 are non-structured and are not supported by downstream parsers. up_to = to_datetime("2013-06-30").date() # pylint: disable=unused-variable # noqa @@ -52,7 +53,7 @@ async def complete_submission_callback(response, _): """Use callback function for processing the response object.""" if response.status == 200: return await response.text() - raise RuntimeError(f"Request failed with status code {response.status}") + raise OpenBBError(f"Request failed with status code {response.status}") async def get_complete_submission(url: str): @@ -75,7 +76,7 @@ def parse_header(filing_str: str) -> Dict: header_dict = xmltodict.parse(str(header_xml)).get("type") if header_dict: return header_dict # type: ignore - raise ValueError( + raise OpenBBError( "Failed to parse the form header." + " Check the `filing_str` to for the tag, 'headerData'." ) @@ -91,7 +92,7 @@ def get_submission_type(filing_str: str): except KeyError: form_type = header["#text"] return form_type - raise ValueError( + raise OpenBBError( "Failed to get the submission type from the form header." + " Check the response from `parse_header`." ) @@ -102,7 +103,7 @@ def get_period_ending(filing_str: str): header = parse_header(filing_str) if header.get("filerInfo"): return header["filerInfo"].get("periodOfReport") - raise ValueError( + raise OpenBBError( "Failed to get the period of report from the form header." + " Check the response from `parse_header`." ) @@ -118,12 +119,12 @@ async def parse_13f_hr(filing: str): # Validate the submission so we know that we can parse it. if get_submission_type(filing) not in ("13F-HR", "13F-HR/A"): - raise ValueError("Submission type is not 13F-HR.") + raise OpenBBError("Submission type is not 13F-HR.") soup = BeautifulSoup(filing, "lxml-xml") info_table = soup.find_all("informationTable") - if info_table == []: + if not info_table: info_table = soup.find_all("table")[-1] parsed_xml = xmltodict.parse( @@ -131,7 +132,7 @@ async def parse_13f_hr(filing: str): )["informationTable"]["infoTable"] if parsed_xml is None: - raise ValueError( + raise OpenBBError( "Failed to parse the 13F-HR information table." + " Check the `filing_str` to make sure it is valid and contains the tag 'informationTable'." + " Documents filed before Q2 2013 are not supported." diff --git a/openbb_platform/providers/sec/poetry.lock b/openbb_platform/providers/sec/poetry.lock index 1951964db52..5cc2720c980 100644 --- a/openbb_platform/providers/sec/poetry.lock +++ b/openbb_platform/providers/sec/poetry.lock @@ -844,13 +844,9 @@ files = [ {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, @@ -1219,13 +1215,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2321,4 +2317,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "04797ddd30c2e5b5bc962456a8cdd4201c3f4a335bd9805ac85ed0d6853550fc" +content-hash = "237d7b9ff887a5a67cd54dcbf1cd5e692a0607957f068eb09ae860491d99f96f" diff --git a/openbb_platform/providers/sec/pyproject.toml b/openbb_platform/providers/sec/pyproject.toml index 0a0611e409f..2e32755b1f4 100644 --- a/openbb_platform/providers/sec/pyproject.toml +++ b/openbb_platform/providers/sec/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-sec" -version = "1.2.2" +version = "1.2.3" description = "SEC extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_sec" }] [tool.poetry.dependencies] python = ">=3.8,<3.12" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" aiohttp-client-cache = "^0.11.0" aiosqlite = "^0.20.0" xmltodict = "^0.13.0" diff --git a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/calendar_earnings.py b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/calendar_earnings.py index 67b6ee13339..ebb83d0289a 100644 --- a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/calendar_earnings.py +++ b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/calendar_earnings.py @@ -8,6 +8,7 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.calendar_earnings import ( CalendarEarningsData, @@ -114,7 +115,7 @@ class SACalendarEarningsFetcher( await asyncio.gather(*[get_date(date, currency) for date in dates]) if not results: - raise RuntimeError(f"Error with the Seeking Alpha request -> {messages}") + raise OpenBBError(f"Error with the Seeking Alpha request -> {messages}") return results diff --git a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_eps_estimates.py b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_eps_estimates.py index fb0c4458eca..52cf3a02fac 100644 --- a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_eps_estimates.py +++ b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_eps_estimates.py @@ -5,6 +5,7 @@ from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_eps_estimates import ( ForwardEpsEstimatesData, @@ -34,7 +35,7 @@ class SAForwardEpsEstimatesQueryParams(ForwardEpsEstimatesQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for Seeking Alpha.") + raise OpenBBError("Symbol is a required field for Seeking Alpha.") return value @@ -106,7 +107,7 @@ class SAForwardEpsEstimatesFetcher( ) estimates: Dict = response.get("estimates", {}) # type: ignore if not estimates: - raise RuntimeError(f"No estimates data was returned for: {query.symbol}") + raise OpenBBError(f"No estimates data was returned for: {query.symbol}") output: Dict = {"ids": ids, "estimates": estimates} @@ -120,19 +121,21 @@ class SAForwardEpsEstimatesFetcher( ) -> List[SAForwardEpsEstimatesData]: """Transform the data to the standard format.""" tickers = query.symbol.split(",") - ids = data.get("ids") - estimates = data.get("estimates") + ids = data.get("ids", {}) + estimates = data.get("estimates", {}) results: List[SAForwardEpsEstimatesData] = [] for ticker in tickers: sa_id = str(ids.get(ticker, "")) if sa_id == "" or sa_id not in estimates: warn(f"Symbol Error: No data found for, {ticker}") - seek_object = estimates.get(sa_id) + seek_object = estimates.get(sa_id, {}) items = len(seek_object["eps_normalized_num_of_estimates"]) for i in range(0, items - 4): eps_estimates: Dict = {} eps_estimates["symbol"] = ticker - num_estimates = seek_object["eps_normalized_num_of_estimates"].get(str(i)) + num_estimates = seek_object["eps_normalized_num_of_estimates"].get( + str(i) + ) if not num_estimates: continue period = num_estimates[0].get("period", {}) diff --git a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_sales_estimates.py b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_sales_estimates.py index c20e371bac0..bb5db6a970c 100644 --- a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_sales_estimates.py +++ b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/forward_sales_estimates.py @@ -5,6 +5,7 @@ from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.forward_sales_estimates import ( ForwardSalesEstimatesData, @@ -34,7 +35,7 @@ class SAForwardSalesEstimatesQueryParams(ForwardSalesEstimatesQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for Seeking Alpha.") + raise OpenBBError("Symbol is a required field for Seeking Alpha.") return value @@ -89,7 +90,7 @@ class SAForwardSalesEstimatesFetcher( ) estimates = response.get("estimates", {}) # type: ignore if not estimates: - raise RuntimeError(f"No estimates data was returned for: {query.symbol}") + raise OpenBBError(f"No estimates data was returned for: {query.symbol}") output: Dict = {"ids": ids, "estimates": estimates} return output @@ -102,14 +103,14 @@ class SAForwardSalesEstimatesFetcher( ) -> List[SAForwardSalesEstimatesData]: """Transform the data to the standard format.""" tickers = query.symbol.split(",") - ids = data.get("ids") - estimates = data.get("estimates") + ids = data.get("ids", {}) + estimates = data.get("estimates", {}) results: List[SAForwardSalesEstimatesData] = [] for ticker in tickers: sa_id = str(ids.get(ticker, "")) if sa_id == "" or sa_id not in estimates: warn(f"Symbol Error: No data found for, {ticker}") - seek_object = estimates.get(sa_id) + seek_object = estimates.get(sa_id, {}) items = len(seek_object["revenue_num_of_estimates"]) for i in range(0, items - 4): rev_estimates: Dict = {} diff --git a/openbb_platform/providers/seeking_alpha/poetry.lock b/openbb_platform/providers/seeking_alpha/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/seeking_alpha/poetry.lock +++ b/openbb_platform/providers/seeking_alpha/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/seeking_alpha/pyproject.toml b/openbb_platform/providers/seeking_alpha/pyproject.toml index b8c939faf1e..5c475c18db2 100644 --- a/openbb_platform/providers/seeking_alpha/pyproject.toml +++ b/openbb_platform/providers/seeking_alpha/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-seeking-alpha" -version = "1.2.2" +version = "1.2.3" description = "Seeking Alpha extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_seeking_alpha" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/stockgrid/poetry.lock b/openbb_platform/providers/stockgrid/poetry.lock index 2793255f270..f31985a2455 100644 --- a/openbb_platform/providers/stockgrid/poetry.lock +++ b/openbb_platform/providers/stockgrid/poetry.lock @@ -996,13 +996,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2136,4 +2136,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "5584a69ca7702af024a79040f2951bcb82e8ae7908f38db88493f093cd7a34bc" +content-hash = "244c3f58f07ca7aad02bc57a38acaa9e67f337c22042d19a203359dae6b13e62" diff --git a/openbb_platform/providers/stockgrid/pyproject.toml b/openbb_platform/providers/stockgrid/pyproject.toml index 1931edebf3b..6a79769f20d 100644 --- a/openbb_platform/providers/stockgrid/pyproject.toml +++ b/openbb_platform/providers/stockgrid/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-stockgrid" -version = "1.2.2" +version = "1.2.3" description = "stockgrid extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_stockgrid" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" pytest-freezegun = "^0.4.2" [build-system] diff --git a/openbb_platform/providers/tiingo/openbb_tiingo/utils/helpers.py b/openbb_platform/providers/tiingo/openbb_tiingo/utils/helpers.py index 3564d654655..13f7b4093d7 100644 --- a/openbb_platform/providers/tiingo/openbb_tiingo/utils/helpers.py +++ b/openbb_platform/providers/tiingo/openbb_tiingo/utils/helpers.py @@ -5,6 +5,7 @@ from io import StringIO from typing import Any, List, Optional, TypeVar, Union import requests +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider import helpers from openbb_core.provider.utils.errors import EmptyDataError from pydantic import BaseModel @@ -56,12 +57,12 @@ def get_data(url: str, **kwargs: Any) -> Union[list, dict]: except SSLError: r = request(url) if r.status_code == 404: - raise RuntimeError("Tiingo endpoint doesn't exist") + raise OpenBBError("Tiingo endpoint doesn't exist.") data = r.json() if r.status_code != 200: error = data.get("detail") - raise RuntimeError(f"Error in Tiingo request -> {error}") + raise OpenBBError(f"Error in Tiingo request -> {error}") if len(data) == 0: raise EmptyDataError() diff --git a/openbb_platform/providers/tiingo/poetry.lock b/openbb_platform/providers/tiingo/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/tiingo/poetry.lock +++ b/openbb_platform/providers/tiingo/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/tiingo/pyproject.toml b/openbb_platform/providers/tiingo/pyproject.toml index 9648c841db3..a4216f11de6 100644 --- a/openbb_platform/providers/tiingo/pyproject.toml +++ b/openbb_platform/providers/tiingo/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-tiingo" -version = "1.2.2" +version = "1.2.3" description = "Tiingo extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_tiingo" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/tmx/openbb_tmx/models/company_news.py b/openbb_platform/providers/tmx/openbb_tmx/models/company_news.py index b8d8664477f..8b534362865 100644 --- a/openbb_platform/providers/tmx/openbb_tmx/models/company_news.py +++ b/openbb_platform/providers/tmx/openbb_tmx/models/company_news.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Optional import pytz +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.company_news import ( CompanyNewsData, @@ -31,7 +32,7 @@ class TmxCompanyNewsQueryParams(CompanyNewsQueryParams): def symbols_validate(cls, v): """Validate the symbols.""" if v is None: - raise ValueError("Symbol is a required field for TMX.") + raise OpenBBError("Symbol is a required field for TMX.") return v diff --git a/openbb_platform/providers/tmx/openbb_tmx/models/equity_historical.py b/openbb_platform/providers/tmx/openbb_tmx/models/equity_historical.py index ca20de58589..4027b3313c8 100644 --- a/openbb_platform/providers/tmx/openbb_tmx/models/equity_historical.py +++ b/openbb_platform/providers/tmx/openbb_tmx/models/equity_historical.py @@ -10,6 +10,7 @@ from typing import Any, Dict, List, Literal, Optional, Union from warnings import warn import pytz +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.equity_historical import ( EquityHistoricalData, @@ -78,7 +79,7 @@ class TmxEquityHistoricalQueryParams(EquityHistoricalQueryParams): return "week" if v.isnumeric(): return int(v) - raise ValueError(f"Invalid interval: {v}") + raise OpenBBError(f"Invalid interval: {v}") class TmxEquityHistoricalData(EquityHistoricalData): diff --git a/openbb_platform/providers/tmx/openbb_tmx/models/index_constituents.py b/openbb_platform/providers/tmx/openbb_tmx/models/index_constituents.py index 9d299d3fa24..88ce3032928 100644 --- a/openbb_platform/providers/tmx/openbb_tmx/models/index_constituents.py +++ b/openbb_platform/providers/tmx/openbb_tmx/models/index_constituents.py @@ -3,6 +3,7 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.index_constituents import ( IndexConstituentsData, @@ -83,12 +84,12 @@ class TmxIndexConstituentsFetcher( if data == {}: raise EmptyDataError if query.symbol not in data.get("indices"): # type: ignore - raise ValueError(f"Index {query.symbol} was not found. Check the symbol.") + raise OpenBBError(f"Index {query.symbol} was not found. Check the symbol.") index_data = data["indices"][query.symbol] if ( index_data.get("nb_constituents") == 0 or index_data.get("constituents") is None ): - raise ValueError(f"No constituents found for index, {query.symbol}") + raise OpenBBError(f"No constituents found for index, {query.symbol}") results = index_data["constituents"] return [TmxIndexConstituentsData.model_validate(d) for d in results] diff --git a/openbb_platform/providers/tmx/openbb_tmx/models/options_chains.py b/openbb_platform/providers/tmx/openbb_tmx/models/options_chains.py index 7e5e455a48d..2368b3f9942 100644 --- a/openbb_platform/providers/tmx/openbb_tmx/models/options_chains.py +++ b/openbb_platform/providers/tmx/openbb_tmx/models/options_chains.py @@ -15,6 +15,7 @@ from openbb_core.provider.standard_models.options_chains import ( from openbb_core.provider.utils.descriptions import ( QUERY_DESCRIPTIONS, ) +from openbb_tmx.models.equity_quote import TmxEquityQuoteFetcher from openbb_tmx.utils.helpers import download_eod_chains, get_current_options from pydantic import Field, field_validator @@ -48,12 +49,6 @@ class TmxOptionsChainsData(OptionsChainsData): settlement_price: Optional[float] = Field( description="Settlement price on that date.", default=None ) - underlying_price: Optional[float] = Field( - description="Price of the underlying stock on that date.", default=None - ) - dte: Optional[int] = Field( - description="Days to expiration for the option.", default=None - ) @field_validator("expiration", mode="before", check_fields=False) @classmethod @@ -89,6 +84,13 @@ class TmxOptionsChainsFetcher( ) else: chains = await get_current_options(query.symbol, use_cache=query.use_cache) + underlying_quote = await TmxEquityQuoteFetcher.fetch_data( + {"symbol": query.symbol}, credentials + ) + underlying_price = underlying_quote[0].last_price + if underlying_price and not chains.empty: + chains["underlying_price"] = underlying_price + chains["underlying_symbol"] = query.symbol + ":CA" if not chains.empty: results = chains.to_dict(orient="records") diff --git a/openbb_platform/providers/tmx/openbb_tmx/models/price_target_consensus.py b/openbb_platform/providers/tmx/openbb_tmx/models/price_target_consensus.py index bfc2ed32b26..b9502b8ed63 100644 --- a/openbb_platform/providers/tmx/openbb_tmx/models/price_target_consensus.py +++ b/openbb_platform/providers/tmx/openbb_tmx/models/price_target_consensus.py @@ -1,10 +1,11 @@ -"""TMX Stock Analysts Model""" +"""TMX Stock Analysts Model.""" # pylint: disable=unused-argument import asyncio import json from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.price_target_consensus import ( PriceTargetConsensusData, @@ -25,7 +26,7 @@ class TmxPriceTargetConsensusQueryParams(PriceTargetConsensusQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for TMX.") + raise OpenBBError("Symbol is a required field for TMX.") return value diff --git a/openbb_platform/providers/tmx/openbb_tmx/utils/helpers.py b/openbb_platform/providers/tmx/openbb_tmx/utils/helpers.py index 04e769c8b4c..6d95c3d57eb 100644 --- a/openbb_platform/providers/tmx/openbb_tmx/utils/helpers.py +++ b/openbb_platform/providers/tmx/openbb_tmx/utils/helpers.py @@ -20,6 +20,7 @@ import pytz from aiohttp_client_cache import SQLiteBackend from aiohttp_client_cache.session import CachedSession from dateutil import rrule +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.utils import get_user_cache_directory from openbb_core.provider.utils.helpers import amake_request, to_snake_case from openbb_tmx.utils import gql @@ -361,7 +362,7 @@ async def get_all_etfs(use_cache: bool = True) -> List[Dict]: ) if not response or response is None: - raise RuntimeError("There was a problem with the request. Could not get ETFs.") + raise OpenBBError("There was a problem with the request. Could not get ETFs.") response = replace_values_in_list_of_dicts(response) @@ -430,7 +431,7 @@ async def get_all_options_tickers(use_cache: bool = True) -> pd.DataFrame: r = await get_data_from_url(url, use_cache=use_cache, backend=tmx_companies_backend) if r is None or r == []: - raise RuntimeError("Error with the request") # mypy: ignore + raise OpenBBError("Error with the request") # mypy: ignore options_listings = pd.read_html(StringIO(r)) listings = pd.concat(options_listings) @@ -461,7 +462,7 @@ async def get_current_options(symbol: str, use_cache: bool = True) -> pd.DataFra symbol = SYMBOLS[SYMBOLS["underlying_symbol"] == symbol].index.values[0] # Check if the symbol has options trading. if symbol not in SYMBOLS.index and not SYMBOLS.empty: - raise ValueError( + raise OpenBBError( f"The symbol, {symbol}, is not a valid listing or does not trade options." ) @@ -561,7 +562,7 @@ async def download_eod_chains( symbol = SYMBOLS[SYMBOLS["underlying_symbol"] == symbol].index.values[0] # Check if the symbol has options trading. if symbol not in SYMBOLS.index and not SYMBOLS.empty: - raise ValueError( + raise OpenBBError( f"The symbol, {symbol}, is not a valid listing or does not trade options." ) @@ -571,7 +572,7 @@ async def download_eod_chains( if date is None: EOD_URL = BASE_URL + f"{symbol}" "&dnld=1#quotes" - if date is not None: + else: date = check_weekday(date) # type: ignore if cal.is_session(date) is False: # type: ignore date = (pd.to_datetime(date) + timedelta(days=1)).strftime("%Y-%m-%d") # type: ignore @@ -586,11 +587,11 @@ async def download_eod_chains( r = await get_data_from_url(EOD_URL, use_cache=use_cache) # type: ignore if r is None: - raise RuntimeError("Error with the request, no data was returned.") + raise OpenBBError("Error with the request, no data was returned.") data = pd.read_csv(StringIO(r)) if data.empty: - raise ValueError( + raise OpenBBError( f"No data found for, {symbol}, on, {date}." "The symbol may not have been listed, or traded options, before that date." ) @@ -635,7 +636,7 @@ async def download_eod_chains( ] data.columns = cols - + data["underlying_symbol"] = symbol + ":CA" data["expiration"] = pd.to_datetime(data["expiration"], format="%Y-%m-%d") data["eod_date"] = pd.to_datetime(data["eod_date"], format="%Y-%m-%d") data["impliedVolatility"] = 0.01 * data["impliedVolatility"] @@ -698,7 +699,7 @@ async def get_company_filings( }, ) except Exception as _e: - raise RuntimeError(_e) from _e + raise OpenBBError(_e) from _e if r["data"]["filings"] is None: results = [] results = r.get("data").get("filings") diff --git a/openbb_platform/providers/tmx/poetry.lock b/openbb_platform/providers/tmx/poetry.lock index f5efdf96139..e1fb6a295b4 100644 --- a/openbb_platform/providers/tmx/poetry.lock +++ b/openbb_platform/providers/tmx/poetry.lock @@ -1015,13 +1015,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2132,4 +2132,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "a6eff0a1a13b7745ad7d8915514e0153df2cbb602e98b1621be5daecfae2f29e" +content-hash = "b35baf37dea68aa6f2c11b8676f2aa8cc27cf45e6a8c9ecd327c98eb8a688c91" diff --git a/openbb_platform/providers/tmx/pyproject.toml b/openbb_platform/providers/tmx/pyproject.toml index 192451cb85d..41b8216d10d 100644 --- a/openbb_platform/providers/tmx/pyproject.toml +++ b/openbb_platform/providers/tmx/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-tmx" -version = "1.1.2" +version = "1.1.3" description = "Unofficial TMX data provider extension for the OpenBB Platform - Public Canadian markets data for Python and Fast API." authors = ["OpenBB "] license = "AGPL-3.0-only" @@ -13,7 +13,7 @@ aiohttp-client-cache = "^0.11.0" aiosqlite = "^0.20.0" random-user-agent = "^1.0.1" exchange-calendars = "^4.2.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/tmx/tests/record/http/test_tmx_fetchers/test_tmx_options_chains_fetcher.yaml b/openbb_platform/providers/tmx/tests/record/http/test_tmx_fetchers/test_tmx_options_chains_fetcher.yaml index 153f3f4fd4b..dfe9efae80b 100644 --- a/openbb_platform/providers/tmx/tests/record/http/test_tmx_fetchers/test_tmx_options_chains_fetcher.yaml +++ b/openbb_platform/providers/tmx/tests/record/http/test_tmx_fetchers/test_tmx_options_chains_fetcher.yaml @@ -13,303 +13,301 @@ interactions: response: body: string: !!binary | - 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 headers: Cache-Control: - no-store, no-cache, must-revalidate @@ -318,11 +316,11 @@ interactions: Content-Encoding: - gzip Content-Length: - - '16921' + - '16799' Content-Type: - text/html; charset=UTF-8 Date: - - Wed, 27 Dec 2023 22:03:34 GMT + - Sat, 15 Jun 2024 01:03:13 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Pragma: @@ -330,20 +328,22 @@ interactions: Server: - Apache Set-Cookie: - - PHPSESSID=61u0ku86kpt1jpn8623g6gt58r; expires=Thu, 28-Dec-2023 02:03:34 GMT; + - PHPSESSID=kl3nrtn18lei0n4gmpa25fqqnt; expires=Sat, 15-Jun-2024 05:03:13 GMT; Max-Age=14400; path=/ - - tmx_locale=en; Expires=Thu, 26-Dec-2024 22:03:34 GMT; Path=/ - - tmx_locale=en; Expires=Thu, 26-Dec-2024 22:03:34 GMT; Path=/ + - tmx_locale=en; Expires=Sun, 15-Jun-2025 01:03:13 GMT; Path=/ + - tmx_locale=en; Expires=Sun, 15-Jun-2025 01:03:13 GMT; Path=/ Vary: - Accept-Encoding Via: - - 1.1 b618c0f73dc30c968057784ed0185d7a.cloudfront.net (CloudFront) + - 1.1 2ced8aa6f1e86ef142188592abc2b142.cloudfront.net (CloudFront) X-Amz-Cf-Id: - - 5HtPxnMNHG-f0GsC-GajiP2wNngbZXA_nfGhPt6zEZyp2McxU13KPg== + - tdOMhc2FMh74XblVM8jzAcxDK0WpNmRTStEGxD88fVDIJEHN_-kftw== X-Amz-Cf-Pop: - - SEA19-C3 + - YVR52-P1 X-Cache: - Miss from cloudfront + X-Frame-Options: + - SAMEORIGIN status: code: 200 message: OK @@ -361,887 +361,965 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAAA+39+3LbSJb/i/7fT8HxxJnq2tuCkYl7V9kTRdm03e1bWaoqtScmHLRE2+ySRI1I - 2eW5RJx3OA9xYj/H703Ok5zMJEVmAvguIsEEIHLYEU2VCazEhQu5Pli5Lj/+0+PXh8d/f/Ok93l2 - cf7oTz/KP73T8+F0+vDe5eTgH9N7vT8uzi/Fvz7PZld/efDg69ev3tfAm1x/esCyLHvwh5S41zsf - Xn56eG90udj9L5NPS4nJ1ejy0/Xw6vPV9WQ2OZ2cK+Hp6efRxfDB7f4fPxhH+Dg8HX2YTH73TicX - D7jvpw8+fhCHkSc4Gp6JPxej2bB3+nl4PR3NHt67mX08SO/1HogNs/HsfPTo+OVJ76D3cnI5u/4/ - /8/wvPfkD7Hv5aeR+PLnm8lsNP3xwXzH+UCXw4vRw3tfxqOvV5Pr2b3eqRAcXcqBp6Prg+np8Hz4 - 4Xz08Ntoer83vhzPxsNz9e3oIbvfuxDfXNxcaF8M/9C+CO73vo7PZp8fno2+jE9HB+of83NVxxZ3 - 5Wp0Pfv28N7k01/GF8NPI+348pZMF/dkdvGHuh3itxnNpg+GV1fn49PhbDy5fDC++PRAbH5/Pvk0 - ef95/Onz9Wjq/ePq073iQWZfx7PZ6LqxI81v5bW41ul4djD8KI6lHYX1zobftIuf7/1pNPGuzsVP - Lv+p7X04vByeDUt3vx59Eqej7bv8rQu7y9MfHVxMPozFn6+jDwfii4PT4ZX8SbUBxI9bTXQ6G85u - pgcfhkIzZt+MMT6Ii/h9Psr5+PL33vXo/HaQ2eTm9PPB+FSetLhpHx/eg7d3uefB+Orz5HLkXV1+ - Wj/odPyfI/GYJvyPhFsdYnhmdQDGwj/E/62vIqxylIOr65HQvKvJdHRmcYTh5dn1ZFx6HcYd/zj8 - Iv/tiY97vdm3K/ETq+fgwR+LazRlp5/FbHB6M+ttMoh49D6OpZbMxReT3MX4VHw/ub4YzqZqPlzs - 9uCznDQuz4bX83Gmp9fjq9mjP3+8uTyVV/7nr/fP7k/vn98ff/9fX//t/N8fyo///u9/+/cf5H94 - VzfTz3/+r+8+zS48oabXs+/+8qfL0dfe4+Fs9OfvvU+j2fH4QvzX/dEXoa9/Ufv9Y/rd/3z/w5fh - de/jwzO5y5Pz0YXYOu1/Ox5+eiWegz9Pv/83/9/v/+kfYvvp9UiMtdhFbLh/dv7w/J8efnc2nA1f - DL+Nrr/71+/+5fzhd//3+V++++6Hf3jD6bfL04ez65uR+Mf0+vThn77TZ5pPk8mnc/G8fboQj/qn - 0bWaduZn9a/jMzHM+P8+O//ho3c1vBbHezU5G3njSzEnz/ojcfNGf/7H/Y/f//Cn//n+z1/Hl2cT - cW8mpzfyzO5/N79x393Xzuz+d0+PXx787fFvUZq8+e77H358sLi7y9v8T8vbPL0/vD+6/+X+5f3Z - /f/8/r/GH/889abD//j+ejS7ub784fKh+ufD5f7f/9elJ36585ej2efJ2b/q//Ck4n778+X94fUn - dXLT7/9y6f3HzehmNP+9Vt//zw/iQP809d7LQ83/PBQHU7up/zifDM9GZw//yRf//WV0PRWHfvgd - 8/zvfliM+FBowuzhMPc7jb7/Ybb4KYToTP0QX374T7Ff6e89kr/3D/8J77q8Jf9D3PLbX1j8ruI2 - XX+Runj6u5jKr2bqB1baN5Wa9/0P4hL//N1s+t393ndnPw1G8eWzT39/m14Pz7/89v71Ty//9nPZ - D9UTunHvVPDBeKSm7flTOBv9MXvwj+GX4XwnMWOJy1wattOzy4OliDqN0/OxOI/3UkEefIg+nkUf - wvj07EMSstMgjaMsys6CxZHFud57pJ2GNkdIEzD9PBrNjNM4nU6p+UtsfqAkPRanQRr6mc88ARKe - krsYnY2HYnI8P9cmE3oweREzadGmYsQwYEEWZrwwojj/kWS0dWde7Zj/oUiKuoLKx/vxwYLrPkzO - vt3y5+iyN7seno0vP/Xk5fXmx7unfvwrMVscjM8OYiZP9nKy+GV+HH+8Fhps/vJwormcepJe5Uyj - zQzidxsJsBHm3L+3QDf5X+r0H947G08Fqnz7y6UwaT9IyBFsMJ59+8vn8dmZvFSFlYJR1PF6i6PJ - C5yfmfiP5cn+6cez8ZeFKl/OhuNLwZoT8VSr331xD4pbFmKL7RdXB3JykJAlB1r9U96V4ZfbL8UD - enNPk1H/Lox0Lh7MwgHEngen58Igi4sYLjTin+dHU1+//3AzmwmzJ+79xaf5jUcWW+2vji2UJuBp - HPM4nhvt4bm43yfi7/V4eCBoWyrMody991Kd+gNx44bi/+LMxPndnCsNnV+dHM8/+Dy50M/wgfwt - FpcgN72X+nzv0TPxn/OBzseFIdhKYjg9OP08Pj8T85+8H6vrfvTTh4kAgl+mcpRK9+9KkKKEQvF0 - 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 - wa0n7fPs4vzR/x9XvxMYC/cJAA== + H4sIAAAAAAAAA+3963LcRpb3jX7vq6hHE3vc/b4mhMzEIdG2NWHKoq1pnSzKttoTE4oSWZLYpkgO + D7I1h4h9D/sidrzX8dzJvpKdmVUsZAL4LxwqAbDqQUc0aTGxEijUQq4fVq7D1//ru+cPX/39xaPZ + h+uPpw/+9LX+NTs6nV9dfXPv7HzvH1f3Zn98PD1T//pwfX3x1/v3f//99+B3EZxfvr/Psiy7/4eW + uDc7nZ+9/+be4mx1+F/P368lzi8WZ+8v5xcfLi7Pr8+Pzk+N8NXRh8XH+f3b49+9dc7wbn60eHt+ + /ltwdP7xPg9Def/dW3UafYGL+bH69XFxPZ8dfZhfXi2uv7l3c/1uT96b3VcD1yfXp4sHr56+nu3N + np6fXV/+7/9nfjp79Ic69uz9Qv3xx5vz68XV1/eXBy4nOpt/XHxz79PJ4veL88vre7MjJbg40xNf + LS73ro7mp/O3p4tvPi+uvpydnJ1cn8xPzV8X37AvZx/VXz7efLT+MP/D+oP4cvb7yfH1h2+OF59O + jhZ75h/LazXnVnflYnF5/fmbe+fv/3rycf5+YZ1f35Kr1T25/viHuR3qu1lcX92fX1ycnhzNr0/O + z+6ffHx/Xw2/OT1/f/7mw8n7D5eLq+AfF+/vlU9y/fvJ9fXisrczLW/lpfqsVyfXe/N36lzWWdjs + eP7Z+vDLo98vzoOLU/WV639aRz+cn82P55WHXy7eq8uxjl1/16XD9eUv9j6evz1Rv35fvN1Tf9g7 + ml/or9SaQH25zUSvrufXN1d7b+dKM64/O3O8VR/it+Uspydnv80uF6e3k1yf3xx92Ds50hetbtq7 + b+7B27s+cu/k4sP52SK4OHtfP+nVyX8u1GOa8j9S3uoU8+NWJ2As+kP9v/WniJqcZe/icqE07+L8 + anHc4gzzs+PL85PKz+Hc8XfzT/rfgfpxb3b9+UJ9xeY5uP/H6jO6slcf1GpwdHM922QS9ei9O9Fa + shRfLXIfT47U388vP86vr8x6uDrs/ge9aJwdzy+X81wdXZ5cXD/487ubsyP9yf/8+5fHX159efrl + yV/+6/d/O/33b/SP//7vf/v3r/R/BBc3Vx/+/F9fvL/+GCg1vbz+4q9/Olv8Pvtufr3481+C94vr + Vycf1X99ufik9PWv5rh/XH3xP3/56tP8cvbum2N9yKPTxUc1erX/+dX8/TP1HPz56i//Fv77l3/6 + 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 + yb7Ju9gn8i72zd7sPrE3u2/2ZveJvdl9s/O6T+y87puKcvtERbl9s6+6T+yr7ptsp30i22n/0DwN + h8TTcGi+20PiuzV7s/vE3uy+2ZvdJ/Zm983O6z6x87r/ytz1V8RdN3uz+8Te7L6pEbJP1AjZ/8ms + MD8RK8xP5rn9iXhuTWziPhGbuP+zWU9/JtbTn41+/Ezoh9m93Sd2b/fN3uw+sTe7b/Zm94m92f1f + DDv8QrCD2ZvdJ/Zm9019kH2iPsi+cdntEy67feOy2ydcdvvG47pPeFz3zV7RPrFXtG/i0veJuPR9 + 45DbJxxy+8bdtk+42/b/blapvxOr1K/mefmVeF7MntU+sWe1/6thqV8JlvrVPC+/Es/Lr+Z+/Erc + j1/Ns/8r8ez/ajj517vpXFz984N48PTzbF3VWag/XTx49WExu6f+fPs6umrwNntvuid9Pr+ZzdXY + ydFvpuHXYn71ebas/zy7PtfDl0tJU2w4mL06X+XuWkNXX5ppPt5cXc+c0tw36lz3T8/f61rT5pep + zH1+WXHU5eL9ydW1bmJw+1/mWHUJujazOr053cXluW5BGXx9/wLdErLedrR8xz05XrzVfTbd+vOV + f/395Fi9t8+Wv96oS313c3p6cvabeXFUd/gn85fZd+dHN7oP3e1td65iWaR/OcU9851YHTXfXNy8 + PT1Z9nW4eqNux9FnXX/+jdIt9a/g4vgd7HKgxmbLvzx49MfFyeXn2UMju6xUf1F7Jl0EXF3a4uby + 6s3H+eXRh0WLM+Ydv9a18evPuPKPmL6qFx/mV4urFmd0O69qZT28VjrZ+ORXi+vrU9Mt8I1pr9Di + 1M/fvTsxbbZue2QvzvSVPNGNCdD5qVap//LpGx7yaC9M9lhE9U1dX8ByHrdHav1HvlTC6kLfHF2e + XxmVmh+10iqn9vXsoZ5lcXvrb3sEzf5//+//z+zbC/Voflocz16Y1gonF/Mzvatgzt70Yk233zfL + O/bmtlNNi6td9gJeXuy6oU3Tk88/Ken529PFm98Xi9/W19Hm/N/eTjH7xUzhtlKvvwSlVGef36xa + 4L1p0FT39sQvtOBtHzyr0/OFYxlWK9UTtXi1XaRKnYU/XpyeLI5150N1+aem+evj5d90C+jV39Zt + Xk5um/LARbu8hOfV4defmO6J8Pb0/Oi3pftRF5IwyzM3NSVm/3x2PL/68NXs8MP5xcm7z7p5oLIg + arRcqH5Pt09dfvwnc2XObi7UB178dfb12wf/enO2+Oezt1cXX7Hoy+V/6Gd4+V/z6+Xv7K+hWP7X + RfBRneTtg9nyn7M/v1zoJnYnHxd/Wd4I0zbi9GR5ngvdZN6cJuNBFoVaMu938UwttMs2nfqQ2wu+ + uZi91y1+7j2IgjAuiOyfHLuTyrBwxLdXvxVOmxaOEOHe8fzzLG9YPMu/cCOUpEEm/l+W0KqNzvJr + vDbPwupitd68Mn84PV8u46sH7N7MNC4+vzxeXH7zxb/92yz8cnZvfnV0b/bvX87+bZau//XvX+g5 + Pyzmx/r3pd2HYk83g1wY0339QV2L+qH/Sxt73fTgm3uJblJ4qpfq1RA46MXN9e0xSuOd8+gT355i + tmrFsLK6WkXWWrowf3tj/vbAOiA/4Up4/Q2t7oD6b3WXrz9/cy+y2k8cvzHHzHSnp3v5t1qabf1t + lmaL17PNr35zZlvLlGbLdbI0HV9Pp9uiOPPlUqUJcw0uTSjXE54pwlp1o11OmEuVJjTd5deNVotz + pus5dUPWN7fHraa9lQ1Ksy7715emS9bTLXu9ruZRR5enUIbx5Der2Yn555vqe8nuPVgevqFymJ0a + X7phJvOnGmY6j5ph5vOuGGbWzfXCTGOpxXIRub9etd6dn1+bVYVahIrNhGq7CCWzQtvhPzk3wSzV + ymbFkdRLdbM3pWS2/EhqsuWHX1oJGTtT3P6iV9VePhAXX2YR2/QDpYLjD3T77d1+a2/Pjz87Zsc0 + kZqdnf9+OTcbospa2L3b1ow4z3tJaSDZ09wQJizaS6MwXGmVui/ffPFf/6wp5Cu9vCz/66+rvyx3 + VFd/W/4yaDNbTvQwVQgQLv/+5WoOfe43QM458lJ9vEYH3qgPdnn6Wb9QNDncsoTOgfmbj3O4vVKu + jk+j1djJmRo1L9hvtN9kNRyuRvPVZjXA4oDFq8Hlt16QWC+dhb+vV8GK43Wvq4rDK/6cr1aFAesN + tOoszpJUGDu5Wr2R3H7E/O/LF5bC3809WfbiQ3fGnK7qOj4ota4cOD3/vfLvZ2/f6PeDxVXh7zku + rgYEy4Ik5v+zGlfLZSs1fzGpuXP7AyYmLa/QcuvGjKDkEZfqXYr9z/+YF5bj5fJ+dX6p3uFtp0/V + +4J+x5wpUz3TB87+vPQjqPfF6+PSVLl50dZitv6u7z0Imxy/1gF0vFkpXJlcAe89MMNNTpSrScMr + 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 + vrD+ujr46/u3032tZl/rwulifvnu5A91bYWTzw2jvZ0f/fbm+vzi3uzD5eLdN/f+yfz3SvjDyfHx + 4uzeg1fnF1/fn68m1lIX8/eLvXfKqiwu1wev/mkdtfzLm4uT09P55VV+v5b/nv1+Ob+4yCWc0dny + FysMHs3NonjvwcP5xcn1/HR2cH75ca7/9PXVxfxMfcTVr+VHvDlVP05PHqjPuvx0H66vL67+ev/+ + 77//Hlxf/REcnX+8/y+nSje+UR/z9iRv1R9+0x/68vzs+nx2eH1+9Nvs0R9LHdL34ev7as4NJj58 + PftZWYaby0XLaZWBvLqunfuVPsqa8L65Datbgu40R3f66fzyt8X1Vfv7+3FP3Yb5/cXZfTWJupOX + //v/UV+Yz/t4976g2mm/Pb34MPc5qZlw7/Vsfna8mvy7l39rMO/Vh/PLo/mZmbs45+FyrK0KCaRC + L86vrvdeaWJor0VHx0dHWo3Mi+ab8ud/+N3Dhw0+7tHxlZ4F3cWH3x22/bQR+rSPz64UUHV5Yq4/ + /nFy9k4x3OUnZeGuaGV6+nr2nbJGpydnfzRRo8v5Z21JKr9vPder1QEN5vqk2Hb+7gRO9bMePzip + menj+dnis/7IZh69SlRM9VQf1OTjraaZn81PP1+fHF1VTfbt7WCDrxqbTeuglX1TX8FvVwVtqLZt + p+fvz+8Z04s/wr3Z9Yl6dfjmnrpk/Qd9/MnH97Ory6Nv7t1X06jF+L6a/PTkyBi++2rwvhJ+oydX + D0jAEsFlkvAkCa4+vVd2faHVcVncen56bSa+N7uvP9E8/1g3p7cXeTb/dPJ+vtRlc8fz69Vf05Fa + c+dH1+vLfLj89+wndQvy/17NffuluVOom/bxau/83d7N1SL/uPqPs/N3SljddPtf5FwKBj/Njz7v + XSgYOvq8nu3F8s+zF8s/P3D/Tc747nJ+c7ye6ED/a/bicvFJGQRzT4p/sSdbqpP1jV+dH53MT9W7 + 4/Hi7fyy6ru//v3kWt0Q890/vT69NQ35BZyfqvew2Y26G2ezV8uD19p9cnS+t5pgttL0P5l1Z33+ + y73zs1N1A1aSt8uRfcy7uULI22nu3a5YK/WoUtV386PF2/Pz38w1f9SmfTE/XZAXfrASca78dp6a + S7+Vxdd+O5HSqXcn+oY3+RT6sV0cnyxNoPq/Ovzz+tPs0R/niZF9fOZ8nNsJaz7OrSz+OLcTNfkU + n89vrm/eLpYfQl3x2eL0/k8P97/98Y+Ln9jbP5LoH1c/v5v/7dHVd+9+r/4sfz+/eaVmcD7Kataa + T7KSxB9kNc3exen8c/HDtFlzy8eeLt4rmKxeZY9PrtR/nXxcDlyYtf/7y/ObC/W1fTy5XhwbWDq5 + vprNlbqcnsyvF1ez4/PZ2fn1bHF2fH55tZidX84uF+qeflR/UId/nl0tjm4uT65P1KEnV1c3apK3 + n83AUnPM34/1gvDuRI2dn32pp1h+kbPrD+rs7z98qf7j5Gp2pS4hmL1QH1ad52qx+G12cXn+bnF1 + pdYS9Znmx9r4zxTXLj7NT2/Uxc2uLhZHat4j+yLU7OfXH9Rjr9djdV79TVrTf3t6uh7588nZ0emN + 0qf35oKNudLzq8Mvj2cX88vrz0bq6i/qo+mL+aQ+yfHsnTqFxpHVC5a6tIubywtFJ1prTj/P/qzv + or5n+kDtD9InuD3kL18ub/KVOUK/TJ/pOdVZV/PPzDeojjo6Or9Rt+3svbo98z++VMd+Uq/d2nP2 + 5ezdydn8TD/P+cdd3R49uULYm9PlJShVvVyc6jt/c6FuhL6iq5ujD6ujg9mrD4vZp5PF71fqa7k4 + OVMf58pMsZpN2Rl9Z+wboh6004UyZdcfzq/MAers6tqUmp0c3+iv6UaNXK5mUe8JlvIY1Sgrnb6d + js4FFQdVaOaH+afl9BeXC727cvylujj9YZZz3lxoj9mxub61LryzPovRFks5tFDh4OKHN9qw/AbV + E3XzUZ9fnfRK3durk7fGw5ffY0tHgq/vX1Q/2ucXny81hqgn8uHtf8/+Wf/5K+3fi2b75zf6uVOK + kb8rPj47WmqyOfxKX4FC48Vx8PXbSzWPgr3jE7XkfLfQxv36ROnN+s1Ka54aurUHs4/qLVZ/Unga + 9b/qRYf6tXS4zLS/+pt714s/ru//Y/5pvvzrPUxs/7jS9kaZGsVqWRLzJJUi+Kgs0T+uzCp568bp + Pr32UxmX05XGQZFEScgyv6fQHt7l9GnKdHvODlNX8a/6vbha/lQz3r7+/PP848VXZ+dHV1fmvwyE + npwtLr8xB+5dLXSzxL31n/c+nis1XZhjl1uUH/+wLu7r+7d+uQ/XH08f/P8B/RlGPiM3CwA= headers: Cache-Control: - no-store, no-cache, must-revalidate @@ -1250,11 +1328,11 @@ interactions: Content-Encoding: - gzip Content-Length: - - '50179' + - '54659' Content-Type: - text/html; charset=UTF-8 Date: - - Wed, 27 Dec 2023 22:03:35 GMT + - Sat, 15 Jun 2024 01:03:15 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Pragma: @@ -1262,20 +1340,95 @@ interactions: Server: - Apache Set-Cookie: - - PHPSESSID=2bo04gh96ig9kqatj2i9dh0hja; expires=Thu, 28-Dec-2023 02:03:34 GMT; + - PHPSESSID=dmise768emmn719robc013e5tf; expires=Sat, 15-Jun-2024 05:03:14 GMT; Max-Age=14400; path=/ - - tmx_locale=en; Expires=Thu, 26-Dec-2024 22:03:34 GMT; Path=/ - - tmx_locale=en; Expires=Thu, 26-Dec-2024 22:03:35 GMT; Path=/ + - tmx_locale=en; Expires=Sun, 15-Jun-2025 01:03:14 GMT; Path=/ + - tmx_locale=en; Expires=Sun, 15-Jun-2025 01:03:14 GMT; Path=/ Vary: - Accept-Encoding Via: - - 1.1 85ee490c179dc0af42b771f11421073e.cloudfront.net (CloudFront) + - 1.1 4897e76050357a420e38a218b9a13c7e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - - lqg0mD4c7CzaksPx6eiFoUHM_KBOenjAsaJXoONCJ-iSBa9v_qXB4Q== + - X96MxhaC396cb3rBm_vMKJumUHqsLUyvnyjgW0j6T921dtGlPpjTWw== X-Amz-Cf-Pop: - - SEA19-C3 + - YVR52-P1 X-Cache: - Miss from cloudfront + X-Frame-Options: + - SAMEORIGIN + status: + code: 200 + message: OK +- request: + body: '{"operationName": "getQuoteBySymbol", "variables": {"locale": "en", "symbol": + "SHOP"}, "query": " query getQuoteBySymbol(\n $symbol: String,\n $locale: + String\n) {\n getQuoteBySymbol(symbol: $symbol, locale: $locale) {\n symbol\n name\n price\n priceChange\n percentChange\n exchangeName\n exShortName\n exchangeCode\n sector\n industry\n volume\n openPrice\n dayHigh\n dayLow\n MarketCap\n MarketCapAllClasses\n peRatio\n prevClose\n dividendFrequency\n dividendYield\n dividendAmount\n dividendCurrency\n beta\n eps\n exDividendDate\n shortDescription\n longDescription\n website\n email\n phoneNumber\n fullAddress\n employees\n shareOutStanding\n totalDebtToEquity\n totalSharesOutStanding\n sharesESCROW\n vwap\n dividendPayDate\n weeks52high\n weeks52low\n alpha\n averageVolume10D\n averageVolume30D\n averageVolume50D\n priceToBook\n priceToCashFlow\n returnOnEquity\n returnOnAssets\n day21MovingAvg\n day50MovingAvg\n day200MovingAvg\n dividend3Years\n dividend5Years\n datatype\n issueType\n qmdescription\n }\n}\n"}' + headers: + Accept: + - '*/*' + Content-Type: + - application/json + authority: + - app-money.tmx.com + locale: + - en + referer: + - https://money.tmx.com/en/quote/SHOP + method: POST + uri: https://app-money.tmx.com/graphql + response: + body: + string: !!binary | + H4sIAAAAAAAAA7VV23LbNhB971dgONNJM5UY3i9+qkLbTWZiyzU9afMIkSsRIxCgAVAKk/G/d0Hq + FnfyWL1Q2MVizx7sHnx3amqoc/Xd2YD5q5cG3g/l0K4ktzZ9+OeUH5YPzswRtAW7amTH1gP5KCqX + FJxqTRak7FdS1UxQA+SzNExsSNlQBRrjOsUqDMwDN48Oq6KhYoO2yPViNIGqQJizMY4TPw9nDnyt + Rtv9lPlJKimMJKWR1ZbcHJyO3YeglDluK/9xzrGFrM9GDZWRyi6haoTkcjOglYm610YNtji5NnvE + jdad5L09L4hjL/T8mSM7EA+HWjw3TWbI3vCBbRpch26SjetPcj+6fYR/R9UWTEE758r3gyjKsjRM + svjCseB8ZBB5wi15mmKmNMk9y8kjNUwipJFB2BVcasycZW6WYya2YzWI+lbBcw+iQuyi5/zs+MKA + 16+Ni1b2wry2Fr1Sl0eswPZEgFfj5VGKTHb66IKv14ega7zpCZy21F+DrhTrELG4aBG5XoPShAoC + 80q2rb1n0nFq1lK1BDuhpYrxgeCd6pZyjjtr0rJas29AVr1mAiw3LmbhUmz+3yTkqQGyZhjTUE3M + HrfDpsW+1FdE96tTaqKxMewfTX6Lwl8xP0bpinISeH5G8KpA9PB2SoNgsAvNZUyc/jRmwvCTZAc0 + BEuQe02O5R9TaFtgJbGVK3PJBJ5ByQ4pAGO5OjGjZ4SJive1nVWDaTGio2J4o8keVpoZmJGuGTSz + KDVODWBEJ7t5352WWyb1Fr9aVgx3CUDW1BZrvKUVrKTcvp2NNCxa+k0Kl9z9lw6cNULreo4wOyUt + eE0Q3ojodImmoYasacU4M1ZhLsqzx091wImSBzqM9zY7WcqGdR0WOsE5WnEA8Txu2+tQMrZVY0yn + r9692+/3rp42upjNKkpLmZXDj49//OjoGingvm9XYKXld58kfkiCyJ8HWZChf42zs6hrpAwHyfFj + nyzfFFIILLM0CsDM/lQ4mDW55VKqGVkaQ/cUv/czUizGzB2XA8AY7uFvHDukbtmb0mBJWBoKSODl + uZcFCcqHkVjYNazMk7x57pnB4Z40aXRM0vwqOMuSLPIz73C0vimLx+Xfx8nf7a2MoYZHeRJkeXqW + D2R7EoNp4x5gq+OgGXXRD0I3ONm41cYkdH2UTsq7hlpQnh+GAaor3YGiG/g8qq7vXaMC+SiHafzK + FY6uNA1S73VUPLoSZCHMDg/Nk3yPbYhAQtdK2cFWUN3cjmhQTlFNFZheiaU4UjXHMv2zeYH6YJD7 + uT9pLx0C/07ukLfFDqnLAjcJ49QfPbF36cndPIimCO/Sge9FlOTZmcTwC1ClJ0E92uJLG77TZuhs + g8IEEp8trXt4moxFiYbntv5BIRddx3F8Rx05PWwvLy+//AuSSnGP+AcAAA== + headers: + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Sat, 15 Jun 2024 01:03:15 GMT + Etag: + - W/"7f8-3aw6g0xq4RAxUg9BOOYV/wTi0jQ" + Strict-Transport-Security: + - max-age=15552000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - Origin, Accept-Encoding + X-Content-Security-Policy: + - frame-ancestors 'none'; default-src 'self' + X-Content-Type-Options: + - nosniff + X-DNS-Prefetch-Control: + - 'off' + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' status: code: 200 message: OK diff --git a/openbb_platform/providers/tradier/openbb_tradier/__init__.py b/openbb_platform/providers/tradier/openbb_tradier/__init__.py index 85b5d219ec8..fc94f4711ab 100644 --- a/openbb_platform/providers/tradier/openbb_tradier/__init__.py +++ b/openbb_platform/providers/tradier/openbb_tradier/__init__.py @@ -26,6 +26,6 @@ Tradier Brokerage accounts through our APIs.""", "OptionsChains": TradierOptionsChainsFetcher, }, repr_name="Tradier", - v3_credentials=["API_TRADIER_TOKEN"], + deprecated_credentials={"API_TRADIER_TOKEN": "tradier_api_key"}, instructions='Go to: https://documentation.tradier.com\n\n![Tradier](https://user-images.githubusercontent.com/46355364/207829178-a8bba770-f2ea-4480-b28e-efd81cf30980.png)\n\nClick on, "Open Account", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token.', # noqa: E501 pylint: disable=line-too-long ) diff --git a/openbb_platform/providers/tradier/openbb_tradier/models/equity_historical.py b/openbb_platform/providers/tradier/openbb_tradier/models/equity_historical.py index 32b5bc1c7a6..cbded8f5a86 100644 --- a/openbb_platform/providers/tradier/openbb_tradier/models/equity_historical.py +++ b/openbb_platform/providers/tradier/openbb_tradier/models/equity_historical.py @@ -7,6 +7,7 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Literal, Optional from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.equity_historical import ( EquityHistoricalData, @@ -88,7 +89,7 @@ class TradierEquityHistoricalFetcher( sandbox = True if api_key and credentials.get("tradier_account_type") not in ["sandbox", "live"]: # type: ignore - raise ValueError( + raise OpenBBError( "Invalid account type for Tradier. Must be either 'sandbox' or 'live'." ) diff --git a/openbb_platform/providers/tradier/openbb_tradier/models/equity_quote.py b/openbb_platform/providers/tradier/openbb_tradier/models/equity_quote.py index 88829f5faaa..14e5ef0c138 100644 --- a/openbb_platform/providers/tradier/openbb_tradier/models/equity_quote.py +++ b/openbb_platform/providers/tradier/openbb_tradier/models/equity_quote.py @@ -9,6 +9,7 @@ from datetime import ( from typing import Any, Dict, List, Literal, Optional from dateutil.parser import parse +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.equity_quote import ( EquityQuoteData, @@ -207,7 +208,7 @@ class TradierEquityQuoteFetcher( sandbox = True if api_key and credentials.get("tradier_account_type") not in ["sandbox", "live"]: # type: ignore - raise ValueError( + raise OpenBBError( "Invalid account type for Tradier. Must be either 'sandbox' or 'live'." ) diff --git a/openbb_platform/providers/tradier/openbb_tradier/models/equity_search.py b/openbb_platform/providers/tradier/openbb_tradier/models/equity_search.py index d36d9f42136..b2a824a0837 100644 --- a/openbb_platform/providers/tradier/openbb_tradier/models/equity_search.py +++ b/openbb_platform/providers/tradier/openbb_tradier/models/equity_search.py @@ -1,9 +1,10 @@ -"""Tradier Equity Search Model""" +"""Tradier Equity Search Model.""" # pylint: disable = unused-argument from typing import Any, Dict, List, Literal, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.equity_search import ( EquitySearchData, @@ -67,12 +68,11 @@ class TradierEquitySearchFetcher( **kwargs: Any, ) -> List[Dict]: """Return the raw data from the Tradier endpoint.""" - api_key = credentials.get("tradier_api_key") if credentials else "" sandbox = True if api_key and credentials.get("tradier_account_type") not in ["sandbox", "live"]: # type: ignore - raise ValueError( + raise OpenBBError( "Invalid account type for Tradier. Must be either 'sandbox' or 'live'." ) @@ -115,7 +115,6 @@ class TradierEquitySearchFetcher( **kwargs: Any, ) -> List[TradierEquitySearchData]: """Transform and validate the data.""" - results: List[TradierEquitySearchData] = [] for d in data: diff --git a/openbb_platform/providers/tradier/openbb_tradier/models/options_chains.py b/openbb_platform/providers/tradier/openbb_tradier/models/options_chains.py index 16cdbab51f0..abb34dce072 100644 --- a/openbb_platform/providers/tradier/openbb_tradier/models/options_chains.py +++ b/openbb_platform/providers/tradier/openbb_tradier/models/options_chains.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Optional from dateutil.parser import parse +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.options_chains import ( OptionsChainsData, @@ -14,6 +15,7 @@ from openbb_core.provider.standard_models.options_chains import ( ) from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import amake_request, safe_fromtimestamp +from openbb_tradier.models.equity_quote import TradierEquityQuoteFetcher from openbb_tradier.utils.constants import OPTIONS_EXCHANGES, STOCK_EXCHANGES from pydantic import Field, field_validator, model_validator from pytz import timezone @@ -34,6 +36,7 @@ class TradierOptionsChainsData(OptionsChainsData): __alias_dict__ = { "expiration": "expiration_date", + "underlying_symbol": "underlying", "contract_symbol": "symbol", "last_trade_price": "last", "bid_size": "bidsize", @@ -41,16 +44,16 @@ class TradierOptionsChainsData(OptionsChainsData): "change_percent": "change_percentage", "orats_final_iv": "smv_vol", "implied_volatility": "mid_iv", - "greeks_timestamp": "updated_at", + "greeks_time": "updated_at", "prev_close": "prevclose", "year_high": "week_52_high", "year_low": "week_52_low", - "last_trade_timestamp": "trade_date", - "last_trade_volume": "last_volume", + "last_trade_time": "trade_date", + "last_trade_size": "last_volume", "ask_exchange": "askexch", - "ask_timestamp": "ask_date", + "ask_time": "ask_date", "bid_exchange": "bidexch", - "bid_timestamp": "bid_date", + "bid_time": "bid_date", } phi: Optional[float] = Field( @@ -77,48 +80,21 @@ class TradierOptionsChainsData(OptionsChainsData): default=None, description="52-week low price of the option.", ) - last_trade_volume: Optional[int] = Field( - default=None, - description="Volume of the last trade.", - ) - dte: Optional[int] = Field( - default=None, - description="Days to expiration.", - ) contract_size: Optional[int] = Field( default=None, description="Size of the contract.", ) - bid_exchange: Optional[str] = Field( - default=None, - description="Exchange of the bid price.", - ) - bid_timestamp: Optional[datetime] = Field( - default=None, - description="Timestamp of the bid price.", - ) - ask_exchange: Optional[str] = Field( - default=None, - description="Exchange of the ask price.", - ) - ask_timestamp: Optional[datetime] = Field( - default=None, - description="Timestamp of the ask price.", - ) - greeks_timestamp: Optional[datetime] = Field( + greeks_time: Optional[datetime] = Field( default=None, description="Timestamp of the last greeks update." + " Greeks/IV data is updated once per hour.", ) - last_trade_timestamp: Optional[datetime] = Field( - default=None, description="Timestamp of the last trade." - ) @field_validator( - "last_trade_timestamp", - "greeks_timestamp", - "ask_timestamp", - "bid_timestamp", + "last_trade_time", + "greeks_time", + "ask_time", + "bid_time", mode="before", check_fields=False, ) @@ -162,7 +138,12 @@ class TradierOptionsChainsData(OptionsChainsData): """Check for zero values and replace with None.""" return ( { - k: None if (v == 0 or str(v) == "0") and k != "dte" else v + k: ( + None + if (v == 0 or str(v) == "0") + and k not in ["dte", "open_interest", "volume"] + else v + ) for k, v in values.items() } if isinstance(values, dict) @@ -191,7 +172,7 @@ class TradierOptionsChainsFetcher( sandbox = True if api_key and credentials.get("tradier_account_type") not in ["sandbox", "live"]: # type: ignore - raise ValueError( + raise OpenBBError( "Invalid account type for Tradier. Must be either 'sandbox' or 'live'." ) @@ -227,18 +208,23 @@ class TradierOptionsChainsFetcher( expirations = await get_expirations(query.symbol) if expirations == []: - raise ValueError(f"No expiration dates found for {query.symbol}") + raise OpenBBError(f"No expiration dates found for {query.symbol}") results = [] - async def get_one(url): + underlying_quote = await TradierEquityQuoteFetcher.fetch_data( + {"symbol": query.symbol}, credentials + ) + underlying_price = underlying_quote[0].last_price + + async def get_one(url, underlying_price): """Get the chain for a single expiration.""" chain = await amake_request(url, headers=HEADERS) if chain.get("options") and isinstance(chain["options"].get("option", []), list): # type: ignore data = chain["options"]["option"] # type: ignore for d in data.copy(): # Remove any strikes returned without data. - keys = ["volume", "open_interest", "last", "bid", "ask"] + keys = ["last", "bid", "ask"] if all(d.get(key) in [0, "0", None] for key in keys): data.remove(d) continue @@ -252,7 +238,6 @@ class TradierOptionsChainsFetcher( "exch", "type", "expiration_type", - "underlying", "description", "average_volume", ] @@ -262,6 +247,8 @@ class TradierOptionsChainsFetcher( datetime.strptime(d["expiration_date"], "%Y-%m-%d").date() - datetime.now().date() ).days + if underlying_price is not None: + d["underlying_price"] = underlying_price results.extend(data) @@ -270,7 +257,7 @@ class TradierOptionsChainsFetcher( for expiration in expirations # type: ignore ] - tasks = [get_one(url) for url in urls] + tasks = [get_one(url, underlying_price) for url in urls] await asyncio.gather(*tasks) diff --git a/openbb_platform/providers/tradier/poetry.lock b/openbb_platform/providers/tradier/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/tradier/poetry.lock +++ b/openbb_platform/providers/tradier/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/tradier/pyproject.toml b/openbb_platform/providers/tradier/pyproject.toml index e6facb968dd..81b41435870 100644 --- a/openbb_platform/providers/tradier/pyproject.toml +++ b/openbb_platform/providers/tradier/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-tradier" -version = "1.1.2" +version = "1.1.3" description = "Tradier Provider Extension for the OpenBB Platform" authors = ["OpenBB "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_tradier" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/tradier/tests/record/http/test_tradier_fetchers/test_tradier_derivatives_options_chains_fetcher.yaml b/openbb_platform/providers/tradier/tests/record/http/test_tradier_fetchers/test_tradier_derivatives_options_chains_fetcher.yaml index d6d05adb12b..14965cb5c05 100644 --- a/openbb_platform/providers/tradier/tests/record/http/test_tradier_fetchers/test_tradier_derivatives_options_chains_fetcher.yaml +++ b/openbb_platform/providers/tradier/tests/record/http/test_tradier_fetchers/test_tradier_derivatives_options_chains_fetcher.yaml @@ -10,7 +10,7 @@ interactions: uri: https://sandbox.tradier.com/v1/markets/options/expirations?symbol=PLTR&includeAllRoots=true&strikes=false&contractSize=false&expirationType=false response: body: - string: '{"expirations":{"date":["2024-03-15","2024-03-22","2024-03-28","2024-04-05","2024-04-12","2024-04-19","2024-04-26","2024-05-17","2024-06-21","2024-07-19","2024-08-16","2024-09-20","2024-10-18","2024-11-15","2024-12-20","2025-01-17","2025-06-20","2026-01-16"]}}' + string: '{"expirations":{"date":["2024-06-21","2024-06-28","2024-07-05","2024-07-12","2024-07-19","2024-07-26","2024-08-02","2024-08-16","2024-09-20","2024-10-18","2024-11-15","2024-12-20","2025-01-17","2025-03-21","2025-06-20","2026-01-16"]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -23,7 +23,144 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:49 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '199' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '1' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/quotes?symbols=PLTR&greeks=true + response: + body: + string: '{"quotes":{"quote":{"symbol":"PLTR","description":"Palantir Technologies + Inc","exch":"N","type":"stock","last":23.57,"change":0.30,"volume":26618284,"open":23.15,"high":23.72,"low":22.84,"close":23.57,"bid":23.38,"ask":23.44,"change_percentage":1.29,"average_volume":42388654,"last_volume":0,"trade_date":1718406000001,"prevclose":23.27,"week_52_high":27.5,"week_52_low":13.56,"bidsize":10,"bidexch":"P","bid_date":1718409600000,"asksize":5,"askexch":"P","ask_date":1718409596000,"root_symbols":"PLTR"}}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '199' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '1' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2026-01-16&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR260116P00003000","description":"PLTR + Jan 16 2026 $3.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.15,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-3.93006789243E-4,"gamma":8.413381217588057E-5,"theta":-3.7657304863373414E-4,"vega":4.958421559604348E-4,"rho":0.04414689770940452,"phi":-0.3749028273958288,"bid_iv":0.0,"mid_iv":0.98135,"ask_iv":0.98135,"smv_vol":0.618,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":39,"trade_date":1717423316235,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"D","bid_date":1718394928000,"asksize":1598,"askexch":"E","ask_date":1718395168000,"open_interest":333,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00003000","description":"PLTR + Jan 16 2026 $3.00 Call","exch":"Z","type":"option","last":21.0,"change":0.50,"volume":1,"open":21.0,"high":21.0,"low":21.0,"close":21.0,"bid":20.7,"ask":21.5,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.999606993210757,"gamma":8.413381217588057E-5,"theta":-3.7657304863373414E-4,"vega":4.958421559604348E-4,"rho":0.04414689770940452,"phi":-0.3749028273958288,"bid_iv":0.948448,"mid_iv":1.21834,"ask_iv":1.488233,"smv_vol":0.618,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.44,"average_volume":0,"last_volume":1,"trade_date":1718391562428,"prevclose":20.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":477,"bidexch":"A","bid_date":1718393999000,"asksize":110,"askexch":"N","ask_date":1718395199000,"open_interest":763,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00005000","description":"PLTR + Jan 16 2026 $5.00 Put","exch":"Z","type":"option","last":0.1,"change":0.01,"volume":30,"open":0.1,"high":0.1,"low":0.1,"close":0.1,"bid":0.05,"ask":0.15,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-0.0040934429850414,"gamma":7.166142863396314E-4,"theta":-8.195871741529734E-4,"vega":0.003779520481524114,"rho":0.07125428314982618,"phi":-0.3735125991610744,"bid_iv":0.617804,"mid_iv":0.680698,"ask_iv":0.743593,"smv_vol":0.616,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.12,"average_volume":0,"last_volume":15,"trade_date":1718371959999,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":168,"bidexch":"E","bid_date":1718395198000,"asksize":799,"askexch":"E","ask_date":1718395168000,"open_interest":2310,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00005000","description":"PLTR + Jan 16 2026 $5.00 Call","exch":"Z","type":"option","last":19.85,"change":0.00,"volume":1,"open":19.85,"high":19.85,"low":19.85,"close":19.85,"bid":17.75,"ask":20.75,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9959065570149586,"gamma":7.166142863396314E-4,"theta":-8.195871741529734E-4,"vega":0.003779520481524114,"rho":0.07125428314982618,"phi":-0.3735125991610744,"bid_iv":0.0,"mid_iv":1.683099,"ask_iv":1.683099,"smv_vol":0.616,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718286959646,"prevclose":19.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":594,"bidexch":"A","bid_date":1718395100000,"asksize":377,"askexch":"X","ask_date":1718395170000,"open_interest":493,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00008000","description":"PLTR + Jan 16 2026 $8.00 Put","exch":"Z","type":"option","last":0.35,"change":0.03,"volume":3,"open":0.26,"high":0.35,"low":0.26,"close":0.35,"bid":0.26,"ask":0.4,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0233701220866285,"gamma":0.0032878721034179815,"theta":-0.0017577222937007321,"vega":0.01565887006038124,"rho":0.10525937192013857,"phi":-0.3662732106590738,"bid_iv":0.600676,"mid_iv":0.63326,"ask_iv":0.665844,"smv_vol":0.608,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.38,"average_volume":0,"last_volume":1,"trade_date":1718379267375,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"M","bid_date":1718395199000,"asksize":311,"askexch":"E","ask_date":1718395198000,"open_interest":2627,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00008000","description":"PLTR + Jan 16 2026 $8.00 Call","exch":"Z","type":"option","last":16.36,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":14.35,"ask":17.1,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9766298779133715,"gamma":0.0032878721034179815,"theta":-0.0017577222937007321,"vega":0.01565887006038124,"rho":0.10525937192013857,"phi":-0.3662732106590738,"bid_iv":0.0,"mid_iv":0.892143,"ask_iv":0.892143,"smv_vol":0.608,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718299153007,"prevclose":16.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":638,"bidexch":"A","bid_date":1718395168000,"asksize":469,"askexch":"A","ask_date":1718395168000,"open_interest":1063,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00010000","description":"PLTR + Jan 16 2026 $10.00 Put","exch":"Z","type":"option","last":0.55,"change":-0.01,"volume":47,"open":0.56,"high":0.57,"low":0.55,"close":0.55,"bid":0.53,"ask":0.57,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0466387443085342,"gamma":0.00582755155015041,"theta":-0.0025244073795197435,"vega":0.027614834261803854,"rho":0.12192601256209977,"phi":-0.3575367549757402,"bid_iv":0.592624,"mid_iv":0.598165,"ask_iv":0.603706,"smv_vol":0.594,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.79,"average_volume":0,"last_volume":1,"trade_date":1718394057093,"prevclose":0.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":56,"bidexch":"E","bid_date":1718395168000,"asksize":1,"askexch":"D","ask_date":1718392103000,"open_interest":4125,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00010000","description":"PLTR + Jan 16 2026 $10.00 Call","exch":"Z","type":"option","last":15.05,"change":0.29,"volume":30,"open":14.67,"high":15.06,"low":14.5,"close":15.05,"bid":13.6,"ask":16.9,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9533612556914658,"gamma":0.00582755155015041,"theta":-0.0025244073795197435,"vega":0.027614834261803854,"rho":0.12192601256209977,"phi":-0.3575367549757402,"bid_iv":0.0,"mid_iv":1.074483,"ask_iv":1.074483,"smv_vol":0.594,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.97,"average_volume":0,"last_volume":10,"trade_date":1718393556852,"prevclose":14.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1288,"bidexch":"A","bid_date":1718395127000,"asksize":1208,"askexch":"A","ask_date":1718395128000,"open_interest":7376,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00013000","description":"PLTR + Jan 16 2026 $13.00 Put","exch":"Z","type":"option","last":1.15,"change":0.01,"volume":50,"open":1.13,"high":1.19,"low":1.13,"close":1.15,"bid":0.88,"ask":1.2,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0947529203117751,"gamma":0.010119463436621576,"theta":-0.003697608286091691,"vega":0.049876893517399476,"rho":0.1381732479866015,"phi":-0.3394753842300702,"bid_iv":0.522892,"mid_iv":0.555609,"ask_iv":0.588325,"smv_vol":0.578,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.88,"average_volume":0,"last_volume":6,"trade_date":1718387233423,"prevclose":1.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1127,"bidexch":"A","bid_date":1718395169000,"asksize":1,"askexch":"D","ask_date":1718395169000,"open_interest":4427,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00013000","description":"PLTR + Jan 16 2026 $13.00 Call","exch":"Z","type":"option","last":12.85,"change":0.30,"volume":36,"open":12.25,"high":12.85,"low":12.25,"close":12.85,"bid":12.45,"ask":12.9,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9052470796882249,"gamma":0.010119463436621576,"theta":-0.003697608286091691,"vega":0.049876893517399476,"rho":0.1381732479866015,"phi":-0.3394753842300702,"bid_iv":0.506637,"mid_iv":0.56079,"ask_iv":0.614942,"smv_vol":0.578,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.39,"average_volume":0,"last_volume":3,"trade_date":1718393392110,"prevclose":12.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":192,"bidexch":"A","bid_date":1718395170000,"asksize":118,"askexch":"A","ask_date":1718395170000,"open_interest":4693,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00015000","description":"PLTR + Jan 16 2026 $15.00 Put","exch":"Z","type":"option","last":1.7,"change":0.02,"volume":19,"open":1.71,"high":1.87,"low":1.7,"close":1.7,"bid":1.56,"ask":1.83,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.1330051843006783,"gamma":0.012948804122378754,"theta":-0.0044119833041185,"vega":0.06364894263800482,"rho":0.14422115121447102,"phi":-0.3251182169350386,"bid_iv":0.547641,"mid_iv":0.568419,"ask_iv":0.589197,"smv_vol":0.563,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.19,"average_volume":0,"last_volume":1,"trade_date":1718385359395,"prevclose":1.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":673,"bidexch":"A","bid_date":1718395169000,"asksize":674,"askexch":"E","ask_date":1718395169000,"open_interest":3984,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00015000","description":"PLTR + Jan 16 2026 $15.00 Call","exch":"Z","type":"option","last":11.45,"change":0.22,"volume":38,"open":11.0,"high":11.53,"low":10.9,"close":11.45,"bid":11.4,"ask":14.0,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.8669948156993217,"gamma":0.012948804122378754,"theta":-0.0044119833041185,"vega":0.06364894263800482,"rho":0.14422115121447102,"phi":-0.3251182169350386,"bid_iv":0.564401,"mid_iv":0.576176,"ask_iv":0.587952,"smv_vol":0.563,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.96,"average_volume":0,"last_volume":2,"trade_date":1718394580854,"prevclose":11.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"B","bid_date":1718395131000,"asksize":491,"askexch":"E","ask_date":1718395199000,"open_interest":13867,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00017000","description":"PLTR + Jan 16 2026 $17.00 Put","exch":"Z","type":"option","last":2.36,"change":-0.04,"volume":38,"open":2.43,"high":2.46,"low":2.36,"close":2.36,"bid":2.32,"ask":2.43,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1745082182774056,"gamma":0.015570466620914809,"theta":-0.00503897823314212,"vega":0.07715750030883438,"rho":0.14711190581217803,"phi":-0.30954263174010066,"bid_iv":0.554547,"mid_iv":0.56151,"ask_iv":0.568473,"smv_vol":0.562,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.67,"average_volume":0,"last_volume":1,"trade_date":1718395044823,"prevclose":2.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":187,"bidexch":"E","bid_date":1718395168000,"asksize":111,"askexch":"E","ask_date":1718395168000,"open_interest":6285,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00017000","description":"PLTR + Jan 16 2026 $17.00 Call","exch":"Z","type":"option","last":10.29,"change":0.19,"volume":48,"open":9.75,"high":10.35,"low":9.75,"close":10.29,"bid":10.05,"ask":11.0,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8254917817225944,"gamma":0.015570466620914809,"theta":-0.00503897823314212,"vega":0.07715750030883438,"rho":0.14711190581217803,"phi":-0.30954263174010066,"bid_iv":0.535509,"mid_iv":0.555529,"ask_iv":0.57555,"smv_vol":0.562,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.89,"average_volume":0,"last_volume":1,"trade_date":1718394422227,"prevclose":10.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":736,"bidexch":"E","bid_date":1718395168000,"asksize":220,"askexch":"E","ask_date":1718395199000,"open_interest":6935,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00020000","description":"PLTR + Jan 16 2026 $20.00 Put","exch":"Z","type":"option","last":3.7,"change":0.05,"volume":205,"open":3.67,"high":3.75,"low":3.63,"close":3.7,"bid":3.55,"ask":3.7,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.240113658173512,"gamma":0.01892297168619934,"theta":-0.005785845212072362,"vega":0.09222511872956222,"rho":0.14680943853210093,"phi":-0.28492467963658896,"bid_iv":0.546172,"mid_iv":0.554138,"ask_iv":0.562105,"smv_vol":0.556,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.37,"average_volume":0,"last_volume":4,"trade_date":1718393750302,"prevclose":3.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":695,"bidexch":"E","bid_date":1718395168000,"asksize":5,"askexch":"C","ask_date":1718394597000,"open_interest":10235,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00020000","description":"PLTR + Jan 16 2026 $20.00 Call","exch":"Z","type":"option","last":8.8,"change":0.32,"volume":172,"open":8.4,"high":8.8,"low":8.2,"close":8.8,"bid":8.7,"ask":8.85,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.759886341826488,"gamma":0.01892297168619934,"theta":-0.005785845212072362,"vega":0.09222511872956222,"rho":0.14680943853210093,"phi":-0.28492467963658896,"bid_iv":0.545323,"mid_iv":0.556171,"ask_iv":0.567019,"smv_vol":0.556,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.78,"average_volume":0,"last_volume":2,"trade_date":1718393764294,"prevclose":8.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1718395198000,"asksize":5,"askexch":"Q","ask_date":1718395199000,"open_interest":18669,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00022000","description":"PLTR + Jan 16 2026 $22.00 Put","exch":"Z","type":"option","last":4.73,"change":0.05,"volume":41,"open":4.74,"high":4.74,"low":4.65,"close":4.73,"bid":4.15,"ask":5.15,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2845086478434877,"gamma":0.020731898601727167,"theta":-0.0061596594236438445,"vega":0.10132696060471687,"rho":0.14437402094013063,"phi":-0.26826751821751316,"bid_iv":0.506596,"mid_iv":0.555358,"ask_iv":0.60412,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.07,"average_volume":0,"last_volume":4,"trade_date":1718393750302,"prevclose":4.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":472,"bidexch":"E","bid_date":1718395199000,"asksize":278,"askexch":"E","ask_date":1718395198000,"open_interest":3813,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00022000","description":"PLTR + Jan 16 2026 $22.00 Call","exch":"Z","type":"option","last":7.85,"change":0.26,"volume":173,"open":7.55,"high":7.9,"low":7.35,"close":7.85,"bid":7.7,"ask":8.0,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7154913521565123,"gamma":0.020731898601727167,"theta":-0.0061596594236438445,"vega":0.10132696060471687,"rho":0.14437402094013063,"phi":-0.26826751821751316,"bid_iv":0.543648,"mid_iv":0.555996,"ask_iv":0.568343,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.43,"average_volume":0,"last_volume":6,"trade_date":1718394869494,"prevclose":7.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":111,"bidexch":"E","bid_date":1718395198000,"asksize":382,"askexch":"A","ask_date":1718395170000,"open_interest":8609,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00025000","description":"PLTR + Jan 16 2026 $25.00 Put","exch":"Z","type":"option","last":6.28,"change":-0.07,"volume":4,"open":6.28,"high":6.5,"low":6.28,"close":6.28,"bid":5.95,"ask":6.45,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.349990171824623,"gamma":0.022714309268923608,"theta":-0.006526965552382414,"vega":0.11049118487851559,"rho":0.13818392476310273,"phi":-0.24370118901551052,"bid_iv":0.544381,"mid_iv":0.548888,"ask_iv":0.553396,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.11,"average_volume":0,"last_volume":1,"trade_date":1718390874844,"prevclose":6.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1718395199000,"asksize":157,"askexch":"Z","ask_date":1718395198000,"open_interest":4928,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00025000","description":"PLTR + Jan 16 2026 $25.00 Call","exch":"Z","type":"option","last":6.55,"change":0.10,"volume":289,"open":6.5,"high":6.7,"low":6.1,"close":6.55,"bid":6.5,"ask":6.75,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.650009828175377,"gamma":0.022714309268923608,"theta":-0.006526965552382414,"vega":0.11049118487851559,"rho":0.13818392476310273,"phi":-0.24370118901551052,"bid_iv":0.538033,"mid_iv":0.54708,"ask_iv":0.556126,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.55,"average_volume":0,"last_volume":2,"trade_date":1718394422546,"prevclose":6.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":181,"bidexch":"E","bid_date":1718395198000,"asksize":95,"askexch":"Z","ask_date":1718395199000,"open_interest":15215,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00027000","description":"PLTR + Jan 16 2026 $27.00 Put","exch":"Z","type":"option","last":7.55,"change":-0.05,"volume":23,"open":7.69,"high":7.74,"low":7.55,"close":7.55,"bid":7.45,"ask":8.0,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.3921585143267144,"gamma":0.023622574433606883,"theta":-0.006669810341497681,"vega":0.11529107251300962,"rho":0.13303462346221928,"phi":-0.22788251613725663,"bid_iv":0.539347,"mid_iv":0.54594,"ask_iv":0.552534,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.66,"average_volume":0,"last_volume":1,"trade_date":1718388050024,"prevclose":7.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":182,"bidexch":"E","bid_date":1718395198000,"asksize":174,"askexch":"Z","ask_date":1718395199000,"open_interest":824,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00027000","description":"PLTR + Jan 16 2026 $27.00 Call","exch":"Z","type":"option","last":6.0,"change":0.20,"volume":92,"open":5.6,"high":6.0,"low":5.57,"close":6.0,"bid":5.85,"ask":6.0,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.6078414856732856,"gamma":0.023622574433606883,"theta":-0.006669810341497681,"vega":0.11529107251300962,"rho":0.13303462346221928,"phi":-0.22788251613725663,"bid_iv":0.539145,"mid_iv":0.54565,"ask_iv":0.552155,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.45,"average_volume":0,"last_volume":1,"trade_date":1718394511859,"prevclose":5.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":31,"bidexch":"E","bid_date":1718395200000,"asksize":171,"askexch":"A","ask_date":1718395168000,"open_interest":8062,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00030000","description":"PLTR + Jan 16 2026 $30.00 Put","exch":"Z","type":"option","last":9.55,"change":-0.05,"volume":3,"open":9.64,"high":9.65,"low":9.55,"close":9.55,"bid":9.5,"ask":9.7,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.4517332822103126,"gamma":0.024364764118512128,"theta":-0.006740122068329243,"vega":0.1178790813312077,"rho":0.12434500096922886,"phi":-0.20553617782859135,"bid_iv":0.539454,"mid_iv":0.546005,"ask_iv":0.552556,"smv_vol":0.547,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.53,"average_volume":0,"last_volume":1,"trade_date":1718390944566,"prevclose":9.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":61,"bidexch":"B","bid_date":1718395131000,"asksize":357,"askexch":"E","ask_date":1718395168000,"open_interest":612,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00030000","description":"PLTR + Jan 16 2026 $30.00 Call","exch":"Z","type":"option","last":5.08,"change":0.18,"volume":128,"open":4.75,"high":5.1,"low":4.75,"close":5.08,"bid":4.75,"ask":5.45,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.5482667177896874,"gamma":0.024364764118512128,"theta":-0.006740122068329243,"vega":0.1178790813312077,"rho":0.12434500096922886,"phi":-0.20553617782859135,"bid_iv":0.538864,"mid_iv":0.543102,"ask_iv":0.54734,"smv_vol":0.547,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.68,"average_volume":0,"last_volume":1,"trade_date":1718395173941,"prevclose":4.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":151,"bidexch":"E","bid_date":1718395198000,"asksize":138,"askexch":"Z","ask_date":1718395199000,"open_interest":12979,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00035000","description":"PLTR + Jan 16 2026 $35.00 Put","exch":"Z","type":"option","last":12.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.2,"ask":13.55,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.540874589007396,"gamma":0.024451279911363116,"theta":-0.0066065488064414556,"vega":0.11980190039351277,"rho":0.10911385345920797,"phi":-0.17210335709449964,"bid_iv":0.537501,"mid_iv":0.563931,"ask_iv":0.590361,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718201890210,"prevclose":12.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":92,"bidexch":"E","bid_date":1718395199000,"asksize":110,"askexch":"Q","ask_date":1718395199000,"open_interest":253,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00035000","description":"PLTR + Jan 16 2026 $35.00 Call","exch":"Z","type":"option","last":3.95,"change":0.15,"volume":1189,"open":3.75,"high":3.95,"low":3.75,"close":3.95,"bid":3.85,"ask":4.0,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.459125410992604,"gamma":0.024451279911363116,"theta":-0.0066065488064414556,"vega":0.11980190039351277,"rho":0.10911385345920797,"phi":-0.17210335709449964,"bid_iv":0.537624,"mid_iv":0.543878,"ask_iv":0.550132,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.95,"average_volume":0,"last_volume":2,"trade_date":1718393148750,"prevclose":3.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":168,"bidexch":"E","bid_date":1718395169000,"asksize":4,"askexch":"H","ask_date":1718392863000,"open_interest":10521,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116C00037000","description":"PLTR + Jan 16 2026 $37.00 Call","exch":"Z","type":"option","last":3.6,"change":0.20,"volume":74,"open":3.3,"high":3.6,"low":3.25,"close":3.6,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.42736135021104477,"gamma":0.024168937881485643,"theta":-0.006485513183791144,"vega":0.11725407168565843,"rho":0.10310784524187733,"phi":-0.16019129136513044,"bid_iv":0.539128,"mid_iv":0.543386,"ask_iv":0.547645,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.89,"average_volume":0,"last_volume":1,"trade_date":1718393590952,"prevclose":3.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":150,"bidexch":"E","bid_date":1718395169000,"asksize":1,"askexch":"P","ask_date":1718394339000,"open_interest":6282,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00037000","description":"PLTR + Jan 16 2026 $37.00 Put","exch":"Z","type":"option","last":15.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.8,"ask":17.35,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.5726386497889552,"gamma":0.024168937881485643,"theta":-0.006485513183791144,"vega":0.11725407168565843,"rho":0.10310784524187733,"phi":-0.16019129136513044,"bid_iv":0.536224,"mid_iv":0.546001,"ask_iv":0.555777,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717685218727,"prevclose":15.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":184,"bidexch":"E","bid_date":1718395198000,"asksize":135,"askexch":"N","ask_date":1718395199000,"open_interest":97,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116P00040000","description":"PLTR + Jan 16 2026 $40.00 Put","exch":"Z","type":"option","last":17.55,"change":-0.05,"volume":25,"open":17.8,"high":17.8,"low":17.55,"close":17.55,"bid":17.2,"ask":17.55,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.6162794890316718,"gamma":0.023512705729796853,"theta":-0.006259201570073636,"vega":0.11535917718917797,"rho":0.09442611454066688,"phi":-0.14382623525932559,"bid_iv":0.518244,"mid_iv":0.536591,"ask_iv":0.554937,"smv_vol":0.544,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.29,"average_volume":0,"last_volume":5,"trade_date":1718382497019,"prevclose":17.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1306,"bidexch":"E","bid_date":1718395169000,"asksize":121,"askexch":"T","ask_date":1718395131000,"open_interest":423,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00040000","description":"PLTR + Jan 16 2026 $40.00 Call","exch":"Z","type":"option","last":3.1,"change":0.15,"volume":609,"open":2.95,"high":3.15,"low":2.79,"close":3.1,"bid":3.05,"ask":3.1,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.3837205109683281,"gamma":0.023512705729796853,"theta":-0.006259201570073636,"vega":0.11535917718917797,"rho":0.09442611454066688,"phi":-0.14382623525932559,"bid_iv":0.54199,"mid_iv":0.546324,"ask_iv":0.550659,"smv_vol":0.544,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.09,"average_volume":0,"last_volume":2,"trade_date":1718394561399,"prevclose":2.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"N","bid_date":1718394566000,"asksize":20,"askexch":"Q","ask_date":1718394561000,"open_interest":22466,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: @@ -31,7 +168,7 @@ interactions: X-Ratelimit-Available: - '198' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - '2' status: @@ -49,70 +186,70 @@ interactions: response: body: string: '{"options":{"option":[{"symbol":"PLTR241220P00003000","description":"PLTR - Dec 20 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-6.7947591407E-5,"gamma":1.6588004101556877E-5,"theta":-3.976013061450692E-4,"vega":8.909148171344948E-5,"rho":0.022676015688011687,"phi":-0.2047416498385246,"bid_iv":0.0,"mid_iv":1.03737,"ask_iv":1.03737,"smv_vol":0.734,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709740865993,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"W","bid_date":1709930344000,"asksize":80,"askexch":"P","ask_date":1709931300000,"open_interest":16,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00003000","description":"PLTR - Dec 20 2024 $3.00 Call","exch":"Z","type":"option","last":23.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.3,"ask":23.85,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.999932052408593,"gamma":1.6588004101556877E-5,"theta":-3.976013061450692E-4,"vega":8.909148171344948E-5,"rho":0.022676015688011687,"phi":-0.2047416498385246,"bid_iv":0.0,"mid_iv":2.686959,"ask_iv":2.686959,"smv_vol":0.734,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709746008894,"prevclose":23.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":120,"bidexch":"Z","bid_date":1709931586000,"asksize":101,"askexch":"N","ask_date":1709931586000,"open_interest":49,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00005000","description":"PLTR - Dec 20 2024 $5.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-0.0013582461512227,"gamma":2.695049752817806E-4,"theta":-8.329189238156863E-4,"vega":0.0012255416566690817,"rho":0.037339076397485405,"phi":-0.20447693508174325,"bid_iv":0.735008,"mid_iv":0.802599,"ask_iv":0.870191,"smv_vol":0.732,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709149955809,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"P","bid_date":1709931510000,"asksize":72,"askexch":"P","ask_date":1709931486000,"open_interest":106,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00005000","description":"PLTR - Dec 20 2024 $5.00 Call","exch":"Z","type":"option","last":19.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.25,"ask":22.4,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9986417538487773,"gamma":2.695049752817806E-4,"theta":-8.329189238156863E-4,"vega":0.0012255416566690817,"rho":0.037339076397485405,"phi":-0.20447693508174325,"bid_iv":0.0,"mid_iv":1.526144,"ask_iv":1.526144,"smv_vol":0.732,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709062247157,"prevclose":19.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"J","bid_date":1709931596000,"asksize":110,"askexch":"N","ask_date":1709931587000,"open_interest":2,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00008000","description":"PLTR - Dec 20 2024 $8.00 Put","exch":"Z","type":"option","last":0.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.09,"ask":0.11,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.011987330071138,"gamma":0.0019006264863653945,"theta":-0.001976202780354906,"vega":0.007614653299180813,"rho":0.05715416575332168,"phi":-0.20229722711206932,"bid_iv":0.717512,"mid_iv":0.73017,"ask_iv":0.742828,"smv_vol":0.72,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709749193170,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":129,"bidexch":"D","bid_date":1709931586000,"asksize":44,"askexch":"D","ask_date":1709931598000,"open_interest":207,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00008000","description":"PLTR - Dec 20 2024 $8.00 Call","exch":"Z","type":"option","last":19.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.6,"ask":19.05,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.988012669928862,"gamma":0.0019006264863653945,"theta":-0.001976202780354906,"vega":0.007614653299180813,"rho":0.05715416575332168,"phi":-0.20229722711206932,"bid_iv":0.0,"mid_iv":1.016509,"ask_iv":1.016509,"smv_vol":0.72,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709835414530,"prevclose":19.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"Z","bid_date":1709931597000,"asksize":101,"askexch":"Z","ask_date":1709931597000,"open_interest":4,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00010000","description":"PLTR - Dec 20 2024 $10.00 Put","exch":"Z","type":"option","last":0.22,"change":-0.02,"volume":14,"open":0.22,"high":0.22,"low":0.21,"close":0.22,"bid":0.2,"ask":0.23,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0270634995343493,"gamma":0.0038774822279834973,"theta":-0.0030486849792017976,"vega":0.01446556152129696,"rho":0.06813430636588844,"phi":-0.1992062451350307,"bid_iv":0.68895,"mid_iv":0.699261,"ask_iv":0.709571,"smv_vol":0.7,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.34,"average_volume":0,"last_volume":1,"trade_date":1709920387821,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":389,"bidexch":"E","bid_date":1709931577000,"asksize":152,"askexch":"D","ask_date":1709931136000,"open_interest":619,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00010000","description":"PLTR - Dec 20 2024 $10.00 Call","exch":"Z","type":"option","last":17.19,"change":0.00,"volume":46,"open":null,"high":null,"low":null,"close":null,"bid":16.0,"ask":17.75,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9729365004656507,"gamma":0.0038774822279834973,"theta":-0.0030486849792017976,"vega":0.01446556152129696,"rho":0.06813430636588844,"phi":-0.1992062451350307,"bid_iv":0.0,"mid_iv":0.938027,"ask_iv":0.938027,"smv_vol":0.7,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709843405921,"prevclose":17.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":110,"bidexch":"Q","bid_date":1709931595000,"asksize":10,"askexch":"X","ask_date":1709931595000,"open_interest":109,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00013000","description":"PLTR - Dec 20 2024 $13.00 Put","exch":"Z","type":"option","last":0.54,"change":-0.02,"volume":22,"open":0.51,"high":0.54,"low":0.51,"close":0.54,"bid":0.52,"ask":0.55,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0630724975044755,"gamma":0.007940373893376396,"theta":-0.004912187612785666,"vega":0.029040182754766677,"rho":0.08065280559547663,"phi":-0.19182487223545763,"bid_iv":0.662554,"mid_iv":0.667701,"ask_iv":0.672849,"smv_vol":0.672,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.58,"average_volume":0,"last_volume":1,"trade_date":1709914726445,"prevclose":0.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":375,"bidexch":"E","bid_date":1709931586000,"asksize":49,"askexch":"C","ask_date":1709931592000,"open_interest":5334,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00013000","description":"PLTR - Dec 20 2024 $13.00 Call","exch":"Z","type":"option","last":14.15,"change":-0.15,"volume":1,"open":14.15,"high":14.15,"low":14.15,"close":14.15,"bid":14.05,"ask":14.25,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9369275024955245,"gamma":0.007940373893376396,"theta":-0.004912187612785666,"vega":0.029040182754766677,"rho":0.08065280559547663,"phi":-0.19182487223545763,"bid_iv":0.64296,"mid_iv":0.67778,"ask_iv":0.712601,"smv_vol":0.672,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.05,"average_volume":0,"last_volume":1,"trade_date":1709917229340,"prevclose":14.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"D","bid_date":1709931564000,"asksize":22,"askexch":"C","ask_date":1709931516000,"open_interest":118,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00015000","description":"PLTR - Dec 20 2024 $15.00 Put","exch":"Z","type":"option","last":0.88,"change":0.01,"volume":11,"open":0.83,"high":0.88,"low":0.83,"close":0.88,"bid":0.87,"ask":0.9,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0958416229234063,"gamma":0.011142525060858633,"theta":-0.006187520631306541,"vega":0.039063062633441545,"rho":0.08626514292881357,"phi":-0.1851086467574703,"bid_iv":0.651121,"mid_iv":0.654932,"ask_iv":0.658742,"smv_vol":0.657,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.15,"average_volume":0,"last_volume":5,"trade_date":1709930718704,"prevclose":0.87,"week_52_high":0.0,"week_52_low":0.0,"bidsize":89,"bidexch":"E","bid_date":1709931580000,"asksize":36,"askexch":"C","ask_date":1709931560000,"open_interest":1842,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00015000","description":"PLTR - Dec 20 2024 $15.00 Call","exch":"Z","type":"option","last":12.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.4,"ask":12.65,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9041583770765937,"gamma":0.011142525060858633,"theta":-0.006187520631306541,"vega":0.039063062633441545,"rho":0.08626514292881357,"phi":-0.1851086467574703,"bid_iv":0.642856,"mid_iv":0.662065,"ask_iv":0.681274,"smv_vol":0.657,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709844551154,"prevclose":12.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":161,"bidexch":"X","bid_date":1709931596000,"asksize":19,"askexch":"M","ask_date":1709931589000,"open_interest":485,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00017000","description":"PLTR - Dec 20 2024 $17.00 Put","exch":"Z","type":"option","last":1.35,"change":0.01,"volume":85,"open":1.31,"high":1.39,"low":1.3,"close":1.35,"bid":1.35,"ask":1.38,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1352043390846093,"gamma":0.014507949776850373,"theta":-0.007408755489257696,"vega":0.04998605673800143,"rho":0.0896515438005685,"phi":-0.17704201312085388,"bid_iv":0.643686,"mid_iv":0.646657,"ask_iv":0.649629,"smv_vol":0.648,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.75,"average_volume":0,"last_volume":26,"trade_date":1709916885712,"prevclose":1.34,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"D","bid_date":1709931575000,"asksize":247,"askexch":"D","ask_date":1709931586000,"open_interest":5013,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00017000","description":"PLTR - Dec 20 2024 $17.00 Call","exch":"Z","type":"option","last":11.1,"change":-0.57,"volume":33,"open":12.0,"high":12.0,"low":11.1,"close":11.1,"bid":11.05,"ask":11.15,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8647956609153907,"gamma":0.014507949776850373,"theta":-0.007408755489257696,"vega":0.04998605673800143,"rho":0.0896515438005685,"phi":-0.17704201312085388,"bid_iv":0.636335,"mid_iv":0.646343,"ask_iv":0.656351,"smv_vol":0.648,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.89,"average_volume":0,"last_volume":2,"trade_date":1709931512970,"prevclose":11.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"X","bid_date":1709931586000,"asksize":352,"askexch":"E","ask_date":1709931589000,"open_interest":2356,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00020000","description":"PLTR - Dec 20 2024 $20.00 Put","exch":"Z","type":"option","last":2.31,"change":0.09,"volume":119,"open":2.17,"high":2.36,"low":2.16,"close":2.31,"bid":2.32,"ask":2.35,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2044416027781494,"gamma":0.01936289356702515,"theta":-0.009013876532365829,"vega":0.06620847216741296,"rho":0.09082954765043598,"phi":-0.1628553460975013,"bid_iv":0.635548,"mid_iv":0.637793,"ask_iv":0.640038,"smv_vol":0.637,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.06,"average_volume":0,"last_volume":20,"trade_date":1709926690920,"prevclose":2.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"T","bid_date":1709931598000,"asksize":17,"askexch":"Q","ask_date":1709931560000,"open_interest":4265,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00020000","description":"PLTR - Dec 20 2024 $20.00 Call","exch":"Z","type":"option","last":9.16,"change":-0.58,"volume":13,"open":10.0,"high":10.05,"low":9.16,"close":9.16,"bid":9.1,"ask":9.2,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7955583972218506,"gamma":0.01936289356702515,"theta":-0.009013876532365829,"vega":0.06620847216741296,"rho":0.09082954765043598,"phi":-0.1628553460975013,"bid_iv":0.633952,"mid_iv":0.637729,"ask_iv":0.641506,"smv_vol":0.637,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.96,"average_volume":0,"last_volume":1,"trade_date":1709917895119,"prevclose":9.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":242,"bidexch":"E","bid_date":1709931589000,"asksize":53,"askexch":"X","ask_date":1709931590000,"open_interest":2094,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00022000","description":"PLTR - Dec 20 2024 $22.00 Put","exch":"Z","type":"option","last":3.2,"change":0.15,"volume":39,"open":2.93,"high":3.2,"low":2.92,"close":3.2,"bid":3.1,"ask":3.2,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2552969951977038,"gamma":0.02217743307780969,"theta":-0.009876866228628036,"vega":0.07320128972253889,"rho":0.08939866392132192,"phi":-0.15243665210107338,"bid_iv":0.627365,"mid_iv":0.634038,"ask_iv":0.640711,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.92,"average_volume":0,"last_volume":1,"trade_date":1709915322808,"prevclose":3.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1086,"bidexch":"E","bid_date":1709931585000,"asksize":605,"askexch":"C","ask_date":1709931589000,"open_interest":621,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00022000","description":"PLTR - Dec 20 2024 $22.00 Call","exch":"Z","type":"option","last":8.25,"change":-0.43,"volume":67,"open":8.97,"high":8.97,"low":8.08,"close":8.25,"bid":8.0,"ask":8.1,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7447030048022962,"gamma":0.02217743307780969,"theta":-0.009876866228628036,"vega":0.07320128972253889,"rho":0.08939866392132192,"phi":-0.15243665210107338,"bid_iv":0.626793,"mid_iv":0.63356,"ask_iv":0.640326,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.96,"average_volume":0,"last_volume":1,"trade_date":1709927011384,"prevclose":8.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":97,"bidexch":"C","bid_date":1709931592000,"asksize":400,"askexch":"E","ask_date":1709931589000,"open_interest":1191,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00025000","description":"PLTR - Dec 20 2024 $25.00 Put","exch":"Z","type":"option","last":4.55,"change":0.00,"volume":212,"open":4.35,"high":4.7,"low":4.35,"close":4.55,"bid":4.6,"ask":4.65,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3344587201248801,"gamma":0.02534534538390144,"theta":-0.010780780501128573,"vega":0.08431816138100205,"rho":0.08468290393202409,"phi":-0.13622135000446178,"bid_iv":0.627376,"mid_iv":0.630327,"ask_iv":0.633278,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709928219984,"prevclose":4.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"P","bid_date":1709931600000,"asksize":40,"askexch":"Z","ask_date":1709931587000,"open_interest":1614,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00025000","description":"PLTR - Dec 20 2024 $25.00 Call","exch":"Z","type":"option","last":6.6,"change":-0.35,"volume":100,"open":7.25,"high":8.05,"low":6.42,"close":6.6,"bid":6.55,"ask":6.65,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6655412798751199,"gamma":0.02534534538390144,"theta":-0.010780780501128573,"vega":0.08431816138100205,"rho":0.08468290393202409,"phi":-0.13622135000446178,"bid_iv":0.622832,"mid_iv":0.628767,"ask_iv":0.634701,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.04,"average_volume":0,"last_volume":10,"trade_date":1709931375391,"prevclose":6.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":182,"bidexch":"E","bid_date":1709931595000,"asksize":182,"askexch":"E","ask_date":1709931591000,"open_interest":5491,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00027000","description":"PLTR - Dec 20 2024 $27.00 Put","exch":"Z","type":"option","last":5.8,"change":0.20,"volume":64,"open":5.4,"high":5.8,"low":5.4,"close":5.8,"bid":5.7,"ask":5.8,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.3868077197102961,"gamma":0.02671933188199629,"theta":-0.01113948781976547,"vega":0.08858638656217269,"rho":0.08044847979699746,"phi":-0.12549978736231537,"bid_iv":0.622453,"mid_iv":0.628094,"ask_iv":0.633736,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.58,"average_volume":0,"last_volume":1,"trade_date":1709918397605,"prevclose":5.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"Z","bid_date":1709931584000,"asksize":50,"askexch":"U","ask_date":1709931573000,"open_interest":3753,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00027000","description":"PLTR - Dec 20 2024 $27.00 Call","exch":"Z","type":"option","last":5.85,"change":-0.46,"volume":144,"open":6.56,"high":6.56,"low":5.7,"close":5.85,"bid":5.75,"ask":5.85,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.6131922802897039,"gamma":0.02671933188199629,"theta":-0.01113948781976547,"vega":0.08858638656217269,"rho":0.08044847979699746,"phi":-0.12549978736231537,"bid_iv":0.623872,"mid_iv":0.629524,"ask_iv":0.635175,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.29,"average_volume":0,"last_volume":1,"trade_date":1709929482045,"prevclose":6.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"P","bid_date":1709931588000,"asksize":1016,"askexch":"E","ask_date":1709931588000,"open_interest":6629,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00030000","description":"PLTR - Dec 20 2024 $30.00 Put","exch":"Z","type":"option","last":7.64,"change":0.29,"volume":6,"open":7.25,"high":7.64,"low":7.25,"close":7.64,"bid":7.6,"ask":7.7,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.4617160391655248,"gamma":0.027736027856784758,"theta":-0.011350867883012315,"vega":0.09198880170481669,"rho":0.07326763480056395,"phi":-0.11015980533102265,"bid_iv":0.621657,"mid_iv":0.627146,"ask_iv":0.632635,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.95,"average_volume":0,"last_volume":4,"trade_date":1709929777057,"prevclose":7.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":329,"bidexch":"C","bid_date":1709931589000,"asksize":27,"askexch":"P","ask_date":1709931578000,"open_interest":151,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00030000","description":"PLTR - Dec 20 2024 $30.00 Call","exch":"Z","type":"option","last":4.7,"change":-0.30,"volume":291,"open":5.2,"high":5.48,"low":4.7,"close":4.7,"bid":4.7,"ask":4.8,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.5382839608344752,"gamma":0.027736027856784758,"theta":-0.011350867883012315,"vega":0.09198880170481669,"rho":0.07326763480056395,"phi":-0.11015980533102265,"bid_iv":0.621952,"mid_iv":0.627395,"ask_iv":0.632837,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.00,"average_volume":0,"last_volume":20,"trade_date":1709931344542,"prevclose":5.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":248,"bidexch":"C","bid_date":1709931592000,"asksize":1072,"askexch":"E","ask_date":1709931582000,"open_interest":6332,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00032000","description":"PLTR - Dec 20 2024 $32.00 Put","exch":"Z","type":"option","last":8.58,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.0,"ask":9.1,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.5082243150984755,"gamma":0.027827919476866532,"theta":-0.011311180328181854,"vega":0.0930401633338252,"rho":0.06828381049980595,"phi":-0.10063678579363966,"bid_iv":0.623298,"mid_iv":0.628784,"ask_iv":0.63427,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709826498290,"prevclose":8.58,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"U","bid_date":1709931597000,"asksize":39,"askexch":"P","ask_date":1709931590000,"open_interest":758,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00032000","description":"PLTR - Dec 20 2024 $32.00 Call","exch":"Z","type":"option","last":4.2,"change":-0.46,"volume":83,"open":4.75,"high":4.85,"low":4.15,"close":4.2,"bid":4.1,"ask":4.2,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.49177568490152446,"gamma":0.027827919476866532,"theta":-0.011311180328181854,"vega":0.0930401633338252,"rho":0.06828381049980595,"phi":-0.10063678579363966,"bid_iv":0.620219,"mid_iv":0.625598,"ask_iv":0.630976,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.88,"average_volume":0,"last_volume":5,"trade_date":1709924413802,"prevclose":4.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1424,"bidexch":"E","bid_date":1709931578000,"asksize":112,"askexch":"C","ask_date":1709931576000,"open_interest":2564,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00035000","description":"PLTR - Dec 20 2024 $35.00 Put","exch":"Z","type":"option","last":10.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.15,"ask":11.35,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.571703093511234,"gamma":0.027279615913145858,"theta":-0.011039591062981347,"vega":0.09005306995394805,"rho":0.06094010587721713,"phi":-0.08764027455310242,"bid_iv":0.614613,"mid_iv":0.623047,"ask_iv":0.63148,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709822265729,"prevclose":10.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":883,"bidexch":"C","bid_date":1709931582000,"asksize":124,"askexch":"E","ask_date":1709931582000,"open_interest":194,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00035000","description":"PLTR - Dec 20 2024 $35.00 Call","exch":"Z","type":"option","last":3.47,"change":-0.33,"volume":192,"open":4.0,"high":4.0,"low":3.45,"close":3.47,"bid":3.4,"ask":3.45,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.4282969064887659,"gamma":0.027279615913145858,"theta":-0.011039591062981347,"vega":0.09005306995394805,"rho":0.06094010587721713,"phi":-0.08764027455310242,"bid_iv":0.624351,"mid_iv":0.62713,"ask_iv":0.629909,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.69,"average_volume":0,"last_volume":13,"trade_date":1709925735471,"prevclose":3.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"Z","bid_date":1709931574000,"asksize":14,"askexch":"B","ask_date":1709931600000,"open_interest":2506,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220C00037000","description":"PLTR - Dec 20 2024 $37.00 Call","exch":"Z","type":"option","last":3.1,"change":-0.15,"volume":20,"open":3.35,"high":3.35,"low":3.06,"close":3.1,"bid":3.0,"ask":3.05,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.3900860137480917,"gamma":0.026593611000427505,"theta":-0.010756662474231841,"vega":0.08786886471491076,"rho":0.056270168411844,"phi":-0.07981778733512357,"bid_iv":0.626239,"mid_iv":0.629087,"ask_iv":0.631936,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.62,"average_volume":0,"last_volume":1,"trade_date":1709925727512,"prevclose":3.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"Z","bid_date":1709931572000,"asksize":75,"askexch":"E","ask_date":1709931588000,"open_interest":3197,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00037000","description":"PLTR - Dec 20 2024 $37.00 Put","exch":"Z","type":"option","last":12.85,"change":-0.70,"volume":301,"open":12.8,"high":12.85,"low":12.8,"close":12.85,"bid":12.8,"ask":12.9,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.6099139862519083,"gamma":0.026593611000427505,"theta":-0.010756662474231841,"vega":0.08786886471491076,"rho":0.056270168411844,"phi":-0.07981778733512357,"bid_iv":0.623281,"mid_iv":0.629295,"ask_iv":0.635309,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.17,"average_volume":0,"last_volume":1,"trade_date":1709918149907,"prevclose":13.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":61,"bidexch":"X","bid_date":1709931573000,"asksize":43,"askexch":"E","ask_date":1709931571000,"open_interest":17,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220P00040000","description":"PLTR - Dec 20 2024 $40.00 Put","exch":"Z","type":"option","last":14.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.3,"ask":15.4,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.6610441900692743,"gamma":0.025236387505684667,"theta":-0.010224603057580694,"vega":0.08605557098686255,"rho":0.049751926332204606,"phi":-0.06935137378150102,"bid_iv":0.627377,"mid_iv":0.633785,"ask_iv":0.640193,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709827396854,"prevclose":14.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":26,"bidexch":"P","bid_date":1709931589000,"asksize":62,"askexch":"A","ask_date":1709931582000,"open_interest":66,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00040000","description":"PLTR - Dec 20 2024 $40.00 Call","exch":"Z","type":"option","last":2.55,"change":-0.26,"volume":261,"open":2.93,"high":3.0,"low":2.51,"close":2.55,"bid":2.49,"ask":2.53,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.3389558099307257,"gamma":0.025236387505684667,"theta":-0.010224603057580694,"vega":0.08605557098686255,"rho":0.049751926332204606,"phi":-0.06935137378150102,"bid_iv":0.628287,"mid_iv":0.630615,"ask_iv":0.632942,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.26,"average_volume":0,"last_volume":1,"trade_date":1709928701888,"prevclose":2.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1709931571000,"asksize":39,"askexch":"P","ask_date":1709931586000,"open_interest":3190,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + Dec 20 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-1.90667926E-8,"gamma":1.1244272477677496E-8,"theta":-4.06021094884922E-4,"vega":2.0016606417620027E-5,"rho":0.015135026443729343,"phi":-0.12202286189477718,"bid_iv":0.0,"mid_iv":1.226435,"ask_iv":1.226435,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":13,"trade_date":1717603434850,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718371804000,"asksize":9,"askexch":"N","ask_date":1718371805000,"open_interest":24,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00003000","description":"PLTR + Dec 20 2024 $3.00 Call","exch":"Z","type":"option","last":20.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.65,"ask":20.85,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999999809332074,"gamma":1.1244272477677496E-8,"theta":-4.06021094884922E-4,"vega":2.0016606417620027E-5,"rho":0.015135026443729343,"phi":-0.12202286189477718,"bid_iv":0.0,"mid_iv":1.709604,"ask_iv":1.709604,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714746146338,"prevclose":20.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"E","bid_date":1718395027000,"asksize":130,"askexch":"Q","ask_date":1718395027000,"open_interest":50,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00005000","description":"PLTR + Dec 20 2024 $5.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.03,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-1.56684936679E-5,"gamma":7.205833088371639E-6,"theta":-6.783612603780415E-4,"vega":3.248450169911954E-5,"rho":0.025222940010159775,"phi":-0.12202094332280922,"bid_iv":0.0,"mid_iv":0.975606,"ask_iv":0.975606,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1716301544539,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718371804000,"asksize":5,"askexch":"N","ask_date":1718371805000,"open_interest":1227,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00005000","description":"PLTR + Dec 20 2024 $5.00 Call","exch":"Z","type":"option","last":16.19,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.7,"ask":19.0,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999843315063321,"gamma":7.205833088371639E-6,"theta":-6.783612603780415E-4,"vega":3.248450169911954E-5,"rho":0.025222940010159775,"phi":-0.12202094332280922,"bid_iv":0.0,"mid_iv":1.47521,"ask_iv":1.47521,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1716570957379,"prevclose":16.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1718395090000,"asksize":114,"askexch":"Q","ask_date":1718395090000,"open_interest":17,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00008000","description":"PLTR + Dec 20 2024 $8.00 Put","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":7,"open":0.03,"high":0.04,"low":0.03,"close":0.04,"bid":0.02,"ask":0.06,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0014746406308901,"gamma":5.071678605669739E-4,"theta":-0.0013119838077090792,"vega":9.435966053866582E-4,"rho":0.04004109379876393,"phi":-0.12184230181233602,"bid_iv":0.658947,"mid_iv":0.713232,"ask_iv":0.767517,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":2,"trade_date":1718395087391,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1718389833000,"asksize":167,"askexch":"E","ask_date":1718395199000,"open_interest":1113,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00008000","description":"PLTR + Dec 20 2024 $8.00 Call","exch":"Z","type":"option","last":15.86,"change":-0.33,"volume":1,"open":15.86,"high":15.86,"low":15.86,"close":15.86,"bid":15.55,"ask":16.05,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9985253593691099,"gamma":5.071678605669739E-4,"theta":-0.0013119838077090792,"vega":9.435966053866582E-4,"rho":0.04004109379876393,"phi":-0.12184230181233602,"bid_iv":0.0,"mid_iv":0.913815,"ask_iv":0.913815,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.04,"average_volume":0,"last_volume":1,"trade_date":1718394523966,"prevclose":16.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"N","bid_date":1718395199000,"asksize":102,"askexch":"N","ask_date":1718395199000,"open_interest":55,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00010000","description":"PLTR + Dec 20 2024 $10.00 Put","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":28,"open":0.06,"high":0.08,"low":0.06,"close":0.08,"bid":0.05,"ask":0.12,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0079476677326413,"gamma":0.002304430040073003,"theta":-0.0020146007292154134,"vega":0.003624552491982931,"rho":0.0491820290172034,"phi":-0.12105025065878294,"bid_iv":0.605474,"mid_iv":0.654318,"ask_iv":0.703163,"smv_vol":0.584,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":14,"trade_date":1718377081202,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"C","bid_date":1718371847000,"asksize":1056,"askexch":"E","ask_date":1718395199000,"open_interest":1536,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00010000","description":"PLTR + Dec 20 2024 $10.00 Call","exch":"Z","type":"option","last":13.81,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":13.8,"ask":14.0,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9920523322673587,"gamma":0.002304430040073003,"theta":-0.0020146007292154134,"vega":0.003624552491982931,"rho":0.0491820290172034,"phi":-0.12105025065878294,"bid_iv":0.0,"mid_iv":0.781284,"ask_iv":0.781284,"smv_vol":0.584,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718288663136,"prevclose":13.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":162,"bidexch":"E","bid_date":1718395169000,"asksize":1,"askexch":"Z","ask_date":1718395169000,"open_interest":192,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00013000","description":"PLTR + Dec 20 2024 $13.00 Put","exch":"Z","type":"option","last":0.21,"change":0.03,"volume":43,"open":0.23,"high":0.23,"low":0.21,"close":0.21,"bid":0.2,"ask":0.24,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0389273992519571,"gamma":0.00897735987182778,"theta":-0.0039040320768625935,"vega":0.015282065964068154,"rho":0.059726053028286596,"phi":-0.11726186546212602,"bid_iv":0.572775,"mid_iv":0.587904,"ask_iv":0.603033,"smv_vol":0.577,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.67,"average_volume":0,"last_volume":2,"trade_date":1718391398426,"prevclose":0.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"N","bid_date":1718388252000,"asksize":84,"askexch":"E","ask_date":1718395059000,"open_interest":13361,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00013000","description":"PLTR + Dec 20 2024 $13.00 Call","exch":"Z","type":"option","last":11.12,"change":0.34,"volume":18,"open":11.09,"high":11.12,"low":11.09,"close":11.12,"bid":10.95,"ask":11.55,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9610726007480429,"gamma":0.00897735987182778,"theta":-0.0039040320768625935,"vega":0.015282065964068154,"rho":0.059726053028286596,"phi":-0.11726186546212602,"bid_iv":0.577081,"mid_iv":0.605437,"ask_iv":0.633793,"smv_vol":0.577,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.16,"average_volume":0,"last_volume":1,"trade_date":1718385098869,"prevclose":10.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"Q","bid_date":1718395198000,"asksize":101,"askexch":"Z","ask_date":1718395198000,"open_interest":333,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00015000","description":"PLTR + Dec 20 2024 $15.00 Put","exch":"Z","type":"option","last":0.45,"change":0.02,"volume":24,"open":0.6,"high":0.6,"low":0.45,"close":0.45,"bid":0.42,"ask":0.45,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0792756551268616,"gamma":0.01581382003702079,"theta":-0.0055987966495192705,"vega":0.02480483955606174,"rho":0.06365884673299826,"phi":-0.11233010871691818,"bid_iv":0.558883,"mid_iv":0.564843,"ask_iv":0.570803,"smv_vol":0.567,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.66,"average_volume":0,"last_volume":1,"trade_date":1718385372581,"prevclose":0.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"H","bid_date":1718395199000,"asksize":38,"askexch":"X","ask_date":1718395199000,"open_interest":2173,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00015000","description":"PLTR + Dec 20 2024 $15.00 Call","exch":"Z","type":"option","last":9.19,"change":0.09,"volume":43,"open":9.15,"high":9.19,"low":9.15,"close":9.19,"bid":9.4,"ask":9.55,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9207243448731384,"gamma":0.01581382003702079,"theta":-0.0055987966495192705,"vega":0.02480483955606174,"rho":0.06365884673299826,"phi":-0.11233010871691818,"bid_iv":0.550233,"mid_iv":0.569255,"ask_iv":0.588277,"smv_vol":0.567,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.99,"average_volume":0,"last_volume":1,"trade_date":1718377719901,"prevclose":9.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"M","bid_date":1718395198000,"asksize":35,"askexch":"N","ask_date":1718395198000,"open_interest":585,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00017000","description":"PLTR + Dec 20 2024 $17.00 Put","exch":"Z","type":"option","last":0.77,"change":-0.02,"volume":9,"open":0.85,"high":0.85,"low":0.77,"close":0.77,"bid":0.77,"ask":0.81,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1353382816911446,"gamma":0.02349941259774855,"theta":-0.007354244953162375,"vega":0.036386335292169975,"rho":0.06493343276476693,"phi":-0.10547980353159403,"bid_iv":0.545968,"mid_iv":0.551405,"ask_iv":0.556843,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.54,"average_volume":0,"last_volume":1,"trade_date":1718393435757,"prevclose":0.79,"week_52_high":0.0,"week_52_low":0.0,"bidsize":63,"bidexch":"M","bid_date":1718395200000,"asksize":33,"askexch":"D","ask_date":1718395198000,"open_interest":9154,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00017000","description":"PLTR + Dec 20 2024 $17.00 Call","exch":"Z","type":"option","last":7.8,"change":0.15,"volume":18,"open":7.77,"high":7.8,"low":7.77,"close":7.8,"bid":7.8,"ask":8.85,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8646617183088554,"gamma":0.02349941259774855,"theta":-0.007354244953162375,"vega":0.036386335292169975,"rho":0.06493343276476693,"phi":-0.10547980353159403,"bid_iv":0.538118,"mid_iv":0.551264,"ask_iv":0.564411,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.97,"average_volume":0,"last_volume":1,"trade_date":1718385098869,"prevclose":7.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":741,"bidexch":"E","bid_date":1718395199000,"asksize":293,"askexch":"E","ask_date":1718395199000,"open_interest":3960,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00020000","description":"PLTR + Dec 20 2024 $20.00 Put","exch":"Z","type":"option","last":1.66,"change":-0.04,"volume":559,"open":1.8,"high":1.8,"low":1.64,"close":1.66,"bid":1.63,"ask":1.68,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.243660322596682,"gamma":0.034321436913140456,"theta":-0.009577623544949038,"vega":0.05263254452334209,"rho":0.06223844586593374,"phi":-0.09224882724367944,"bid_iv":0.536983,"mid_iv":0.540746,"ask_iv":0.544509,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.36,"average_volume":0,"last_volume":2,"trade_date":1718395087391,"prevclose":1.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":44,"bidexch":"E","bid_date":1718395198000,"asksize":91,"askexch":"E","ask_date":1718395169000,"open_interest":10085,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00020000","description":"PLTR + Dec 20 2024 $20.00 Call","exch":"Z","type":"option","last":5.8,"change":0.15,"volume":48,"open":5.45,"high":5.82,"low":5.4,"close":5.8,"bid":5.75,"ask":6.15,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.756339677403318,"gamma":0.034321436913140456,"theta":-0.009577623544949038,"vega":0.05263254452334209,"rho":0.06223844586593374,"phi":-0.09224882724367944,"bid_iv":0.531206,"mid_iv":0.540709,"ask_iv":0.550212,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.66,"average_volume":0,"last_volume":5,"trade_date":1718394579306,"prevclose":5.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":955,"bidexch":"E","bid_date":1718395199000,"asksize":360,"askexch":"E","ask_date":1718395199000,"open_interest":6840,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00022000","description":"PLTR + Dec 20 2024 $22.00 Put","exch":"Z","type":"option","last":2.43,"change":-0.06,"volume":10,"open":2.57,"high":2.67,"low":2.43,"close":2.43,"bid":2.46,"ask":2.61,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3259354444596209,"gamma":0.039731751727898376,"theta":-0.01055032389950865,"vega":0.061491162373855796,"rho":0.05802546591405277,"phi":-0.08220277459614067,"bid_iv":0.532915,"mid_iv":0.536152,"ask_iv":0.539389,"smv_vol":0.537,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.41,"average_volume":0,"last_volume":1,"trade_date":1718392072550,"prevclose":2.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"D","bid_date":1718395199000,"asksize":185,"askexch":"N","ask_date":1718395199000,"open_interest":3591,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00022000","description":"PLTR + Dec 20 2024 $22.00 Call","exch":"Z","type":"option","last":4.68,"change":0.29,"volume":184,"open":4.24,"high":4.75,"low":4.24,"close":4.68,"bid":4.65,"ask":4.75,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6740645555403791,"gamma":0.039731751727898376,"theta":-0.01055032389950865,"vega":0.061491162373855796,"rho":0.05802546591405277,"phi":-0.08220277459614067,"bid_iv":0.533109,"mid_iv":0.537176,"ask_iv":0.541243,"smv_vol":0.537,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.61,"average_volume":0,"last_volume":1,"trade_date":1718394755445,"prevclose":4.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":224,"bidexch":"E","bid_date":1718395198000,"asksize":58,"askexch":"B","ask_date":1718395199000,"open_interest":3150,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00025000","description":"PLTR + Dec 20 2024 $25.00 Put","exch":"Z","type":"option","last":4.13,"change":-0.02,"volume":13,"open":4.2,"high":4.2,"low":4.1,"close":4.13,"bid":4.05,"ask":4.15,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.4520692011701499,"gamma":0.043894169085606644,"theta":-0.011119060096920106,"vega":0.06730621353956681,"rho":0.04960404267133128,"phi":-0.06680649093038227,"bid_iv":0.529664,"mid_iv":0.537136,"ask_iv":0.544608,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.49,"average_volume":0,"last_volume":1,"trade_date":1718394743093,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":181,"bidexch":"B","bid_date":1718395168000,"asksize":692,"askexch":"E","ask_date":1718395168000,"open_interest":3803,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00025000","description":"PLTR + Dec 20 2024 $25.00 Call","exch":"Z","type":"option","last":3.4,"change":0.28,"volume":167,"open":3.0,"high":3.4,"low":2.99,"close":3.4,"bid":3.25,"ask":3.35,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.5479307988298501,"gamma":0.043894169085606644,"theta":-0.011119060096920106,"vega":0.06730621353956681,"rho":0.04960404267133128,"phi":-0.06680649093038227,"bid_iv":0.522531,"mid_iv":0.529961,"ask_iv":0.537391,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.98,"average_volume":0,"last_volume":2,"trade_date":1718392746714,"prevclose":3.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1332,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"N","ask_date":1718395129000,"open_interest":13126,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00027000","description":"PLTR + Dec 20 2024 $27.00 Put","exch":"Z","type":"option","last":5.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.3,"ask":5.4,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5315316580991585,"gamma":0.0440797507368092,"theta":-0.010971675810414937,"vega":0.06766944226039255,"rho":0.04348768495656219,"phi":-0.057110028022222536,"bid_iv":0.524585,"mid_iv":0.53213,"ask_iv":0.539675,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718210048278,"prevclose":5.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":303,"bidexch":"E","bid_date":1718395198000,"asksize":180,"askexch":"B","ask_date":1718395169000,"open_interest":3848,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00027000","description":"PLTR + Dec 20 2024 $27.00 Call","exch":"Z","type":"option","last":2.66,"change":0.16,"volume":196,"open":2.4,"high":2.66,"low":2.4,"close":2.66,"bid":2.6,"ask":2.96,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.46846834190084147,"gamma":0.0440797507368092,"theta":-0.010971675810414937,"vega":0.06766944226039255,"rho":0.04348768495656219,"phi":-0.057110028022222536,"bid_iv":0.528534,"mid_iv":0.531489,"ask_iv":0.534444,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.40,"average_volume":0,"last_volume":1,"trade_date":1718394346186,"prevclose":2.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395199000,"asksize":900,"askexch":"E","ask_date":1718395199000,"open_interest":10197,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00030000","description":"PLTR + Dec 20 2024 $30.00 Put","exch":"Z","type":"option","last":7.45,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":7.5,"ask":8.0,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.6369202753765637,"gamma":0.04144217948346342,"theta":-0.010190447922820511,"vega":0.06288084541838515,"rho":0.03468718079159238,"phi":-0.044253426563223286,"bid_iv":0.525069,"mid_iv":0.537495,"ask_iv":0.549922,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718287166530,"prevclose":7.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":202,"bidexch":"E","bid_date":1718395199000,"asksize":192,"askexch":"E","ask_date":1718395198000,"open_interest":560,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00030000","description":"PLTR + Dec 20 2024 $30.00 Call","exch":"Z","type":"option","last":1.86,"change":0.12,"volume":289,"open":1.7,"high":1.87,"low":1.66,"close":1.86,"bid":1.75,"ask":1.94,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.36307972462343635,"gamma":0.04144217948346342,"theta":-0.010190447922820511,"vega":0.06288084541838515,"rho":0.03468718079159238,"phi":-0.044253426563223286,"bid_iv":0.522629,"mid_iv":0.535355,"ask_iv":0.548081,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.90,"average_volume":0,"last_volume":2,"trade_date":1718394220659,"prevclose":1.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1496,"bidexch":"X","bid_date":1718395170000,"asksize":800,"askexch":"A","ask_date":1718395170000,"open_interest":9165,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00032000","description":"PLTR + Dec 20 2024 $32.00 Put","exch":"Z","type":"option","last":9.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.75,"ask":9.25,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.696579810676361,"gamma":0.038462276758285584,"theta":-0.009436024439814998,"vega":0.06142400260793328,"rho":0.02942436378531815,"phi":-0.036977238395685674,"bid_iv":0.531801,"mid_iv":0.541069,"ask_iv":0.550337,"smv_vol":0.537,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717783221331,"prevclose":9.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":168,"bidexch":"E","bid_date":1718395199000,"asksize":34,"askexch":"X","ask_date":1718395199000,"open_interest":723,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00032000","description":"PLTR + Dec 20 2024 $32.00 Call","exch":"Z","type":"option","last":1.45,"change":0.14,"volume":14,"open":1.31,"high":1.45,"low":1.31,"close":1.45,"bid":1.42,"ask":1.5,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.303420189323639,"gamma":0.038462276758285584,"theta":-0.009436024439814998,"vega":0.06142400260793328,"rho":0.02942436378531815,"phi":-0.036977238395685674,"bid_iv":0.530027,"mid_iv":0.538487,"ask_iv":0.546947,"smv_vol":0.537,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.69,"average_volume":0,"last_volume":1,"trade_date":1718392570504,"prevclose":1.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1718395198000,"asksize":314,"askexch":"C","ask_date":1718395199000,"open_interest":4970,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00035000","description":"PLTR + Dec 20 2024 $35.00 Put","exch":"Z","type":"option","last":11.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.75,"ask":11.85,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7698428600116836,"gamma":0.033180418142498794,"theta":-0.00815809656806206,"vega":0.050060207641718,"rho":0.022716602475687204,"phi":-0.02804392032818015,"bid_iv":0.521597,"mid_iv":0.54161,"ask_iv":0.561623,"smv_vol":0.539,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718289946819,"prevclose":11.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"T","bid_date":1718395133000,"asksize":41,"askexch":"X","ask_date":1718395198000,"open_interest":186,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00035000","description":"PLTR + Dec 20 2024 $35.00 Call","exch":"Z","type":"option","last":1.01,"change":0.05,"volume":16,"open":0.9,"high":1.01,"low":0.9,"close":1.01,"bid":0.99,"ask":1.04,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.2301571399883164,"gamma":0.033180418142498794,"theta":-0.00815809656806206,"vega":0.050060207641718,"rho":0.022716602475687204,"phi":-0.02804392032818015,"bid_iv":0.532749,"mid_iv":0.536748,"ask_iv":0.540748,"smv_vol":0.539,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.21,"average_volume":0,"last_volume":1,"trade_date":1718394496353,"prevclose":0.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1718395167000,"asksize":50,"askexch":"B","ask_date":1718395199000,"open_interest":4708,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220C00037000","description":"PLTR + Dec 20 2024 $37.00 Call","exch":"Z","type":"option","last":0.78,"change":0.04,"volume":12,"open":0.8,"high":0.8,"low":0.78,"close":0.78,"bid":0.78,"ask":0.86,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.19092582692766571,"gamma":0.02955841981868633,"theta":-0.007290848800842017,"vega":0.04664981857143688,"rho":0.019022887243466558,"phi":-0.023261225863269175,"bid_iv":0.534772,"mid_iv":0.539055,"ask_iv":0.543338,"smv_vol":0.54,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.41,"average_volume":0,"last_volume":2,"trade_date":1718394793767,"prevclose":0.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":215,"bidexch":"B","bid_date":1718395198000,"asksize":1,"askexch":"Q","ask_date":1718395199000,"open_interest":4267,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241220P00037000","description":"PLTR + Dec 20 2024 $37.00 Put","exch":"Z","type":"option","last":12.95,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.55,"ask":13.95,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.8090741730723343,"gamma":0.02955841981868633,"theta":-0.007290848800842017,"vega":0.04664981857143688,"rho":0.019022887243466558,"phi":-0.023261225863269175,"bid_iv":0.518994,"mid_iv":0.541548,"ask_iv":0.564103,"smv_vol":0.54,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718199788427,"prevclose":12.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":259,"bidexch":"E","bid_date":1718395168000,"asksize":128,"askexch":"E","ask_date":1718395199000,"open_interest":173,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220P00040000","description":"PLTR + Dec 20 2024 $40.00 Put","exch":"Z","type":"option","last":15.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.4,"ask":17.0,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.8565855758593962,"gamma":0.02440152455533953,"theta":-0.00604817706780459,"vega":0.03841041712601212,"rho":0.014464868810937725,"phi":-0.01747004500840532,"bid_iv":0.0,"mid_iv":0.602216,"ask_iv":0.602216,"smv_vol":0.543,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715024736504,"prevclose":15.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"Z","bid_date":1718395199000,"asksize":108,"askexch":"Q","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241220C00040000","description":"PLTR + Dec 20 2024 $40.00 Call","exch":"Z","type":"option","last":0.56,"change":0.02,"volume":352,"open":0.51,"high":0.58,"low":0.51,"close":0.56,"bid":0.55,"ask":0.59,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.14341442414060382,"gamma":0.02440152455533953,"theta":-0.00604817706780459,"vega":0.03841041712601212,"rho":0.014464868810937725,"phi":-0.01747004500840532,"bid_iv":0.538498,"mid_iv":0.542398,"ask_iv":0.546298,"smv_vol":0.543,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.71,"average_volume":0,"last_volume":1,"trade_date":1718394899235,"prevclose":0.54,"week_52_high":0.0,"week_52_low":0.0,"bidsize":177,"bidexch":"B","bid_date":1718395168000,"asksize":299,"askexch":"E","ask_date":1718395134000,"open_interest":5164,"contract_size":100,"expiration_date":"2024-12-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -125,17 +262,17 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: - '200' X-Ratelimit-Available: - - '197' + - '198' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - - '3' + - '2' status: code: 200 message: '' @@ -151,70 +288,70 @@ interactions: response: body: string: '{"options":{"option":[{"symbol":"PLTR250620P00003000","description":"PLTR - Jun 20 2025 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.03,"volume":1,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.07,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-3.045071628429E-4,"gamma":5.892846169060079E-5,"theta":-3.7081063660094384E-4,"vega":3.768764152983676E-4,"rho":0.036254071107509646,"phi":-0.33446694878591643,"bid_iv":0.0,"mid_iv":1.287872,"ask_iv":1.287872,"smv_vol":0.714,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-75.00,"average_volume":0,"last_volume":1,"trade_date":1709757699950,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709930999000,"asksize":42,"askexch":"P","ask_date":1709931600000,"open_interest":145,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00003000","description":"PLTR - Jun 20 2025 $3.00 Call","exch":"Z","type":"option","last":23.58,"change":-0.40,"volume":2,"open":23.3,"high":23.58,"low":23.3,"close":23.58,"bid":22.65,"ask":24.5,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9996954928371571,"gamma":5.892846169060079E-5,"theta":-3.7081063660094384E-4,"vega":3.768764152983676E-4,"rho":0.036254071107509646,"phi":-0.33446694878591643,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.714,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.67,"average_volume":0,"last_volume":1,"trade_date":1709928148492,"prevclose":23.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":115,"bidexch":"Q","bid_date":1709931570000,"asksize":191,"askexch":"X","ask_date":1709931570000,"open_interest":159,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00005000","description":"PLTR - Jun 20 2025 $5.00 Put","exch":"Z","type":"option","last":0.1,"change":-0.01,"volume":3,"open":0.16,"high":0.16,"low":0.08,"close":0.1,"bid":0.05,"ask":0.12,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-0.0031856313599615,"gamma":5.090655355951601E-4,"theta":-8.378028134431164E-4,"vega":0.003038872141100392,"rho":0.05878978564536983,"phi":-0.3335015045280443,"bid_iv":0.712026,"mid_iv":0.874522,"ask_iv":1.037017,"smv_vol":0.712,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.10,"average_volume":0,"last_volume":1,"trade_date":1709758056798,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":184,"bidexch":"E","bid_date":1709931597000,"asksize":91,"askexch":"E","ask_date":1709931562000,"open_interest":352,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00005000","description":"PLTR - Jun 20 2025 $5.00 Call","exch":"Z","type":"option","last":21.8,"change":0.79,"volume":1,"open":21.8,"high":21.8,"low":21.8,"close":21.8,"bid":19.35,"ask":22.65,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9968143686400385,"gamma":5.090655355951601E-4,"theta":-8.378028134431164E-4,"vega":0.003038872141100392,"rho":0.05878978564536983,"phi":-0.3335015045280443,"bid_iv":0.0,"mid_iv":1.08669,"ask_iv":1.08669,"smv_vol":0.712,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.76,"average_volume":0,"last_volume":1,"trade_date":1709927203002,"prevclose":21.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":484,"bidexch":"X","bid_date":1709931585000,"asksize":55,"askexch":"Z","ask_date":1709931585000,"open_interest":236,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00008000","description":"PLTR - Jun 20 2025 $8.00 Put","exch":"Z","type":"option","last":0.26,"change":0.04,"volume":100,"open":0.3,"high":0.3,"low":0.26,"close":0.26,"bid":0.25,"ask":0.28,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0187943398490605,"gamma":0.0024272232527297027,"theta":-0.0018915668366677333,"vega":0.01312804772745859,"rho":0.08775094193514392,"phi":-0.32827288201531246,"bid_iv":0.700917,"mid_iv":0.712342,"ask_iv":0.723768,"smv_vol":0.699,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":18.19,"average_volume":0,"last_volume":25,"trade_date":1709931482122,"prevclose":0.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"D","bid_date":1709931586000,"asksize":45,"askexch":"A","ask_date":1709931552000,"open_interest":517,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00008000","description":"PLTR - Jun 20 2025 $8.00 Call","exch":"Z","type":"option","last":19.53,"change":-0.15,"volume":2,"open":19.65,"high":19.65,"low":19.53,"close":19.53,"bid":18.3,"ask":21.05,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9812056601509395,"gamma":0.0024272232527297027,"theta":-0.0018915668366677333,"vega":0.01312804772745859,"rho":0.08775094193514392,"phi":-0.32827288201531246,"bid_iv":0.0,"mid_iv":0.900018,"ask_iv":0.900018,"smv_vol":0.699,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.77,"average_volume":0,"last_volume":1,"trade_date":1709911435314,"prevclose":19.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":282,"bidexch":"X","bid_date":1709931595000,"asksize":1,"askexch":"E","ask_date":1709931590000,"open_interest":629,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00010000","description":"PLTR - Jun 20 2025 $10.00 Put","exch":"Z","type":"option","last":0.5,"change":0.01,"volume":33,"open":0.49,"high":0.53,"low":0.48,"close":0.5,"bid":0.45,"ask":0.57,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0381115236491661,"gamma":0.004387389403121769,"theta":-0.0028012413679361727,"vega":0.023620779862760188,"rho":0.10252145802655198,"phi":-0.32180338450871204,"bid_iv":0.662224,"mid_iv":0.683931,"ask_iv":0.705639,"smv_vol":0.681,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.05,"average_volume":0,"last_volume":10,"trade_date":1709928679189,"prevclose":0.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":443,"bidexch":"E","bid_date":1709931577000,"asksize":588,"askexch":"E","ask_date":1709931577000,"open_interest":2244,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00010000","description":"PLTR - Jun 20 2025 $10.00 Call","exch":"Z","type":"option","last":17.15,"change":-0.62,"volume":23,"open":18.1,"high":18.35,"low":17.15,"close":17.15,"bid":17.1,"ask":17.4,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9618884763508339,"gamma":0.004387389403121769,"theta":-0.0028012413679361727,"vega":0.023620779862760188,"rho":0.10252145802655198,"phi":-0.32180338450871204,"bid_iv":0.0,"mid_iv":0.742507,"ask_iv":0.742507,"smv_vol":0.681,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.49,"average_volume":0,"last_volume":1,"trade_date":1709929925770,"prevclose":17.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"M","bid_date":1709931561000,"asksize":1,"askexch":"H","ask_date":1709931596000,"open_interest":2258,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00013000","description":"PLTR - Jun 20 2025 $13.00 Put","exch":"Z","type":"option","last":1.04,"change":-0.01,"volume":47,"open":1.0,"high":1.04,"low":1.0,"close":1.04,"bid":1.02,"ask":1.06,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0787743797793985,"gamma":0.007809152537226959,"theta":-0.004260171511374678,"vega":0.04399477486894779,"rho":0.11796468463267605,"phi":-0.30818738535387524,"bid_iv":0.653595,"mid_iv":0.658049,"ask_iv":0.662502,"smv_vol":0.66,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.96,"average_volume":0,"last_volume":13,"trade_date":1709917764353,"prevclose":1.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":51,"bidexch":"D","bid_date":1709931586000,"asksize":58,"askexch":"X","ask_date":1709931595000,"open_interest":2610,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00013000","description":"PLTR - Jun 20 2025 $13.00 Call","exch":"Z","type":"option","last":14.93,"change":-0.57,"volume":5,"open":15.58,"high":15.69,"low":14.93,"close":14.93,"bid":14.85,"ask":15.05,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9212256202206015,"gamma":0.007809152537226959,"theta":-0.004260171511374678,"vega":0.04399477486894779,"rho":0.11796468463267605,"phi":-0.30818738535387524,"bid_iv":0.637092,"mid_iv":0.664222,"ask_iv":0.691352,"smv_vol":0.66,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.68,"average_volume":0,"last_volume":1,"trade_date":1709929837517,"prevclose":15.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"T","bid_date":1709931581000,"asksize":15,"askexch":"M","ask_date":1709931597000,"open_interest":1048,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00015000","description":"PLTR - Jun 20 2025 $15.00 Put","exch":"Z","type":"option","last":1.55,"change":0.04,"volume":76,"open":1.49,"high":1.55,"low":1.47,"close":1.55,"bid":1.5,"ask":1.6,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.1117808871243094,"gamma":0.010142011492924395,"theta":-0.005194507262759198,"vega":0.05697186623460322,"rho":0.12438582911730854,"phi":-0.29713661270136527,"bid_iv":0.640436,"mid_iv":0.649131,"ask_iv":0.657827,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.65,"average_volume":0,"last_volume":5,"trade_date":1709931566099,"prevclose":1.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":89,"bidexch":"P","bid_date":1709931598000,"asksize":20,"askexch":"A","ask_date":1709931595000,"open_interest":10277,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00015000","description":"PLTR - Jun 20 2025 $15.00 Call","exch":"Z","type":"option","last":13.65,"change":-0.41,"volume":37,"open":14.29,"high":14.55,"low":13.0,"close":13.65,"bid":13.45,"ask":13.6,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.8882191128756906,"gamma":0.010142011492924395,"theta":-0.005194507262759198,"vega":0.05697186623460322,"rho":0.12438582911730854,"phi":-0.29713661270136527,"bid_iv":0.636274,"mid_iv":0.649441,"ask_iv":0.662607,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.92,"average_volume":0,"last_volume":10,"trade_date":1709928858958,"prevclose":14.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":51,"bidexch":"E","bid_date":1709931589000,"asksize":313,"askexch":"E","ask_date":1709931593000,"open_interest":2949,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00017000","description":"PLTR - Jun 20 2025 $17.00 Put","exch":"Z","type":"option","last":2.03,"change":-0.10,"volume":16,"open":2.09,"high":2.22,"low":2.03,"close":2.03,"bid":2.12,"ask":2.23,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1480015280765565,"gamma":0.012375169940943195,"theta":-0.006049715629683861,"vega":0.07012078647745255,"rho":0.12829524440762635,"phi":-0.2850108241148064,"bid_iv":0.634478,"mid_iv":0.64081,"ask_iv":0.647142,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.70,"average_volume":0,"last_volume":1,"trade_date":1709928327288,"prevclose":2.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"N","bid_date":1709931593000,"asksize":20,"askexch":"B","ask_date":1709931592000,"open_interest":3592,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00017000","description":"PLTR - Jun 20 2025 $17.00 Call","exch":"Z","type":"option","last":12.4,"change":-0.25,"volume":67,"open":12.8,"high":13.16,"low":12.2,"close":12.4,"bid":12.15,"ask":12.3,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8519984719234435,"gamma":0.012375169940943195,"theta":-0.006049715629683861,"vega":0.07012078647745255,"rho":0.12829524440762635,"phi":-0.2850108241148064,"bid_iv":0.633955,"mid_iv":0.64112,"ask_iv":0.648285,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.98,"average_volume":0,"last_volume":5,"trade_date":1709929503700,"prevclose":12.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":279,"bidexch":"E","bid_date":1709931589000,"asksize":38,"askexch":"D","ask_date":1709931588000,"open_interest":6826,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00020000","description":"PLTR - Jun 20 2025 $20.00 Put","exch":"Z","type":"option","last":3.3,"change":0.03,"volume":77,"open":3.13,"high":3.3,"low":3.13,"close":3.3,"bid":3.25,"ask":3.4,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2062727889281059,"gamma":0.015347189863791534,"theta":-0.007121478038655215,"vega":0.08491425168118355,"rho":0.13012622048542807,"phi":-0.2655051043021217,"bid_iv":0.62477,"mid_iv":0.630573,"ask_iv":0.636377,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.92,"average_volume":0,"last_volume":5,"trade_date":1709928293038,"prevclose":3.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":316,"bidexch":"E","bid_date":1709931595000,"asksize":462,"askexch":"E","ask_date":1709931589000,"open_interest":2937,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00020000","description":"PLTR - Jun 20 2025 $20.00 Call","exch":"Z","type":"option","last":10.5,"change":-0.30,"volume":41,"open":11.3,"high":11.51,"low":9.85,"close":10.5,"bid":10.5,"ask":10.6,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7937272110718941,"gamma":0.015347189863791534,"theta":-0.007121478038655215,"vega":0.08491425168118355,"rho":0.13012622048542807,"phi":-0.2655051043021217,"bid_iv":0.625911,"mid_iv":0.634746,"ask_iv":0.643581,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.78,"average_volume":0,"last_volume":1,"trade_date":1709931344108,"prevclose":10.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"B","bid_date":1709931595000,"asksize":7,"askexch":"B","ask_date":1709931595000,"open_interest":5148,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00022000","description":"PLTR - Jun 20 2025 $22.00 Put","exch":"Z","type":"option","last":4.2,"change":0.90,"volume":22,"open":4.05,"high":4.2,"low":4.0,"close":4.2,"bid":4.15,"ask":4.8,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2463414147285226,"gamma":0.01703437341641968,"theta":-0.007689882668383666,"vega":0.09290733275088706,"rho":0.12936789897392173,"phi":-0.252093727990399,"bid_iv":0.620855,"mid_iv":0.674556,"ask_iv":0.728258,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":27.28,"average_volume":0,"last_volume":5,"trade_date":1709916050628,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":260,"bidexch":"E","bid_date":1709931596000,"asksize":143,"askexch":"X","ask_date":1709931592000,"open_interest":2092,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00022000","description":"PLTR - Jun 20 2025 $22.00 Call","exch":"Z","type":"option","last":9.5,"change":-0.44,"volume":65,"open":10.75,"high":10.75,"low":9.5,"close":9.5,"bid":9.5,"ask":9.6,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7536585852714774,"gamma":0.01703437341641968,"theta":-0.007689882668383666,"vega":0.09290733275088706,"rho":0.12936789897392173,"phi":-0.252093727990399,"bid_iv":0.622245,"mid_iv":0.627627,"ask_iv":0.63301,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.43,"average_volume":0,"last_volume":1,"trade_date":1709930520476,"prevclose":9.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931584000,"asksize":17,"askexch":"B","ask_date":1709931600000,"open_interest":4157,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620C00025000","description":"PLTR - Jun 20 2025 $25.00 Call","exch":"Z","type":"option","last":8.2,"change":-0.50,"volume":71,"open":9.0,"high":9.15,"low":7.9,"close":8.2,"bid":8.15,"ask":8.3,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6933760693860761,"gamma":0.019080548834306817,"theta":-0.008323122240964145,"vega":0.10380271042269852,"rho":0.12601178796999998,"phi":-0.23191821037826799,"bid_iv":0.61523,"mid_iv":0.622455,"ask_iv":0.629679,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.75,"average_volume":0,"last_volume":1,"trade_date":1709931081269,"prevclose":8.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":64,"bidexch":"E","bid_date":1709931593000,"asksize":183,"askexch":"A","ask_date":1709931592000,"open_interest":4651,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00025000","description":"PLTR - Jun 20 2025 $25.00 Put","exch":"Z","type":"option","last":5.75,"change":0.11,"volume":59,"open":5.75,"high":5.75,"low":5.7,"close":5.75,"bid":5.7,"ask":5.85,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3066239306139239,"gamma":0.019080548834306817,"theta":-0.008323122240964145,"vega":0.10380271042269852,"rho":0.12601178796999998,"phi":-0.23191821037826799,"bid_iv":0.616972,"mid_iv":0.621716,"ask_iv":0.626459,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.95,"average_volume":0,"last_volume":48,"trade_date":1709931279754,"prevclose":5.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":132,"bidexch":"E","bid_date":1709931582000,"asksize":170,"askexch":"E","ask_date":1709931577000,"open_interest":1240,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620P00027000","description":"PLTR - Jun 20 2025 $27.00 Put","exch":"Z","type":"option","last":6.65,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":6.85,"ask":7.0,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.3462193947520112,"gamma":0.020126498976010876,"theta":-0.00860940734825433,"vega":0.10902591110869259,"rho":0.12267489410961745,"phi":-0.21866728931563273,"bid_iv":0.614891,"mid_iv":0.62173,"ask_iv":0.62857,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709835564271,"prevclose":6.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":62,"bidexch":"E","bid_date":1709931582000,"asksize":156,"askexch":"E","ask_date":1709931582000,"open_interest":1042,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00027000","description":"PLTR - Jun 20 2025 $27.00 Call","exch":"Z","type":"option","last":7.45,"change":-0.40,"volume":202,"open":7.95,"high":8.05,"low":7.35,"close":7.45,"bid":7.4,"ask":7.5,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.6537806052479888,"gamma":0.020126498976010876,"theta":-0.00860940734825433,"vega":0.10902591110869259,"rho":0.12267489410961745,"phi":-0.21866728931563273,"bid_iv":0.615208,"mid_iv":0.619793,"ask_iv":0.624378,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.10,"average_volume":0,"last_volume":1,"trade_date":1709931285013,"prevclose":7.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"D","bid_date":1709931558000,"asksize":14,"askexch":"M","ask_date":1709931589000,"open_interest":3041,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00030000","description":"PLTR - Jun 20 2025 $30.00 Put","exch":"Z","type":"option","last":8.9,"change":0.30,"volume":63,"open":8.4,"high":8.9,"low":8.4,"close":8.9,"bid":8.75,"ask":8.9,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.4039981608064873,"gamma":0.021274261118201084,"theta":-0.008869341346510953,"vega":0.11323790252046403,"rho":0.11658358116205868,"phi":-0.19933245707370872,"bid_iv":0.614352,"mid_iv":0.620979,"ask_iv":0.627607,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.49,"average_volume":0,"last_volume":5,"trade_date":1709915468223,"prevclose":8.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"Z","bid_date":1709931586000,"asksize":64,"askexch":"M","ask_date":1709931598000,"open_interest":774,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00030000","description":"PLTR - Jun 20 2025 $30.00 Call","exch":"Z","type":"option","last":6.45,"change":-0.33,"volume":322,"open":7.0,"high":7.2,"low":6.4,"close":6.45,"bid":6.35,"ask":6.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.5960018391935127,"gamma":0.021274261118201084,"theta":-0.008869341346510953,"vega":0.11323790252046403,"rho":0.11658358116205868,"phi":-0.19933245707370872,"bid_iv":0.610223,"mid_iv":0.616853,"ask_iv":0.623482,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.87,"average_volume":0,"last_volume":1,"trade_date":1709931171630,"prevclose":6.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":246,"bidexch":"E","bid_date":1709931592000,"asksize":16,"askexch":"B","ask_date":1709931600000,"open_interest":5341,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00032000","description":"PLTR - Jun 20 2025 $32.00 Put","exch":"Z","type":"option","last":10.1,"change":-0.35,"volume":168,"open":9.8,"high":10.3,"low":9.8,"close":10.1,"bid":10.1,"ask":10.25,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.4408254083352922,"gamma":0.021745800113550557,"theta":-0.008930412265656773,"vega":0.1180451716839055,"rho":0.11197760722823392,"phi":-0.18700962185036474,"bid_iv":0.608795,"mid_iv":0.617399,"ask_iv":0.626004,"smv_vol":0.613,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.35,"average_volume":0,"last_volume":1,"trade_date":1709930713454,"prevclose":10.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931598000,"asksize":80,"askexch":"E","ask_date":1709931599000,"open_interest":325,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00032000","description":"PLTR - Jun 20 2025 $32.00 Call","exch":"Z","type":"option","last":5.8,"change":-0.64,"volume":68,"open":6.3,"high":6.42,"low":5.63,"close":5.8,"bid":5.8,"ask":5.9,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.5591745916647078,"gamma":0.021745800113550557,"theta":-0.008930412265656773,"vega":0.1180451716839055,"rho":0.11197760722823392,"phi":-0.18700962185036474,"bid_iv":0.612603,"mid_iv":0.616845,"ask_iv":0.621087,"smv_vol":0.613,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.94,"average_volume":0,"last_volume":1,"trade_date":1709923349143,"prevclose":6.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"B","bid_date":1709931585000,"asksize":10,"askexch":"B","ask_date":1709931592000,"open_interest":1055,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00035000","description":"PLTR - Jun 20 2025 $35.00 Put","exch":"Z","type":"option","last":12.35,"change":-0.25,"volume":340,"open":12.3,"high":12.45,"low":12.3,"close":12.35,"bid":11.15,"ask":12.4,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.4930628836715754,"gamma":0.022079902050498697,"theta":-0.008886983650655716,"vega":0.11668572806930534,"rho":0.10464661763473428,"phi":-0.1695314603633591,"bid_iv":0.516612,"mid_iv":0.570362,"ask_iv":0.624111,"smv_vol":0.602,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.99,"average_volume":0,"last_volume":4,"trade_date":1709923988410,"prevclose":12.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1363,"bidexch":"X","bid_date":1709931571000,"asksize":75,"askexch":"X","ask_date":1709931571000,"open_interest":14,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00035000","description":"PLTR - Jun 20 2025 $35.00 Call","exch":"Z","type":"option","last":5.12,"change":-0.40,"volume":121,"open":5.6,"high":5.8,"low":5.05,"close":5.12,"bid":5.0,"ask":5.15,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.5069371163284246,"gamma":0.022079902050498697,"theta":-0.008886983650655716,"vega":0.11668572806930534,"rho":0.10464661763473428,"phi":-0.1695314603633591,"bid_iv":0.608483,"mid_iv":0.614917,"ask_iv":0.621351,"smv_vol":0.602,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.25,"average_volume":0,"last_volume":4,"trade_date":1709930245781,"prevclose":5.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":161,"bidexch":"E","bid_date":1709931589000,"asksize":229,"askexch":"E","ask_date":1709931593000,"open_interest":4342,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00037000","description":"PLTR - Jun 20 2025 $37.00 Put","exch":"Z","type":"option","last":14.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.3,"ask":13.95,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.5264509641820139,"gamma":0.022139423272714252,"theta":-0.008784335634539923,"vega":0.11514464618817638,"rho":0.09961754214322394,"phi":-0.15836064370944314,"bid_iv":0.443089,"mid_iv":0.532984,"ask_iv":0.622879,"smv_vol":0.603,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709044875777,"prevclose":14.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":181,"bidexch":"X","bid_date":1709931596000,"asksize":72,"askexch":"E","ask_date":1709931569000,"open_interest":23,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00037000","description":"PLTR - Jun 20 2025 $37.00 Call","exch":"Z","type":"option","last":4.64,"change":-0.31,"volume":103,"open":5.05,"high":5.05,"low":4.6,"close":4.64,"bid":4.55,"ask":4.7,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.4735490358179861,"gamma":0.022139423272714252,"theta":-0.008784335634539923,"vega":0.11514464618817638,"rho":0.09961754214322394,"phi":-0.15836064370944314,"bid_iv":0.608171,"mid_iv":0.614695,"ask_iv":0.621219,"smv_vol":0.603,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.27,"average_volume":0,"last_volume":2,"trade_date":1709931506057,"prevclose":4.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"X","bid_date":1709931598000,"asksize":219,"askexch":"E","ask_date":1709931589000,"open_interest":1753,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00040000","description":"PLTR - Jun 20 2025 $40.00 Put","exch":"Z","type":"option","last":15.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.05,"ask":16.45,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.5721094371267739,"gamma":0.02188318556183683,"theta":-0.008563823550765305,"vega":0.11410944087090855,"rho":0.092104934204688,"phi":-0.14308559097120366,"bid_iv":0.601591,"mid_iv":0.627183,"ask_iv":0.652774,"smv_vol":0.608,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709826541015,"prevclose":15.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"N","bid_date":1709931594000,"asksize":2,"askexch":"B","ask_date":1709931594000,"open_interest":29,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00040000","description":"PLTR - Jun 20 2025 $40.00 Call","exch":"Z","type":"option","last":3.95,"change":-0.30,"volume":1340,"open":4.55,"high":4.65,"low":3.95,"close":3.95,"bid":3.5,"ask":4.2,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.4278905628732261,"gamma":0.02188318556183683,"theta":-0.008563823550765305,"vega":0.11410944087090855,"rho":0.092104934204688,"phi":-0.14308559097120366,"bid_iv":0.610938,"mid_iv":0.617535,"ask_iv":0.624131,"smv_vol":0.608,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.06,"average_volume":0,"last_volume":2,"trade_date":1709931379574,"prevclose":4.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1709931598000,"asksize":1,"askexch":"N","ask_date":1709931588000,"open_interest":7242,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + Jun 20 2025 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.05,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-2.20253320699E-4,"gamma":5.259339539369697E-5,"theta":-3.8380634237617406E-4,"vega":2.5102522106283854E-4,"rho":0.02901311061709656,"phi":-0.23942026466272637,"bid_iv":0.0,"mid_iv":1.002951,"ask_iv":1.002951,"smv_vol":0.679,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715002211102,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718395089000,"asksize":255,"askexch":"E","ask_date":1718395132000,"open_interest":169,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00003000","description":"PLTR + Jun 20 2025 $3.00 Call","exch":"Z","type":"option","last":21.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.05,"ask":21.75,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.999779746679301,"gamma":5.259339539369697E-5,"theta":-3.8380634237617406E-4,"vega":2.5102522106283854E-4,"rho":0.02901311061709656,"phi":-0.23942026466272637,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.679,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718286059223,"prevclose":21.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":486,"bidexch":"E","bid_date":1718395090000,"asksize":405,"askexch":"E","ask_date":1718395093000,"open_interest":288,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00005000","description":"PLTR + Jun 20 2025 $5.00 Put","exch":"Z","type":"option","last":0.05,"change":0.01,"volume":6,"open":0.02,"high":0.05,"low":0.02,"close":0.05,"bid":0.01,"ask":0.07,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-0.0029783232781195,"gamma":5.77467298086745E-4,"theta":-9.241021441282894E-4,"vega":0.002069837782823162,"rho":0.04704024367619346,"phi":-0.23875852065202707,"bid_iv":0.62149,"mid_iv":0.712082,"ask_iv":0.802674,"smv_vol":0.676,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":25.00,"average_volume":0,"last_volume":1,"trade_date":1718389974315,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1718389834000,"asksize":88,"askexch":"N","ask_date":1718395100000,"open_interest":577,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00005000","description":"PLTR + Jun 20 2025 $5.00 Call","exch":"Z","type":"option","last":18.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.15,"ask":19.0,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9970216767218805,"gamma":5.77467298086745E-4,"theta":-9.241021441282894E-4,"vega":0.002069837782823162,"rho":0.04704024367619346,"phi":-0.23875852065202707,"bid_iv":0.0,"mid_iv":0.979786,"ask_iv":0.979786,"smv_vol":0.676,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717601698621,"prevclose":18.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":251,"bidexch":"E","bid_date":1718395168000,"asksize":40,"askexch":"Q","ask_date":1718395168000,"open_interest":250,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00008000","description":"PLTR + Jun 20 2025 $8.00 Put","exch":"Z","type":"option","last":0.14,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.1,"ask":0.37,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0186401866143413,"gamma":0.002988629596961377,"theta":-0.00204592185893363,"vega":0.011261975691106176,"rho":0.07087354831128473,"phi":-0.23500214759053506,"bid_iv":0.610273,"mid_iv":0.705963,"ask_iv":0.801653,"smv_vol":0.659,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1718292632019,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":66,"bidexch":"E","bid_date":1718395199000,"asksize":1020,"askexch":"E","ask_date":1718395199000,"open_interest":565,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00008000","description":"PLTR + Jun 20 2025 $8.00 Call","exch":"Z","type":"option","last":15.0,"change":-0.90,"volume":1,"open":15.0,"high":15.0,"low":15.0,"close":15.0,"bid":15.45,"ask":17.0,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9813598133856587,"gamma":0.002988629596961377,"theta":-0.00204592185893363,"vega":0.011261975691106176,"rho":0.07087354831128473,"phi":-0.23500214759053506,"bid_iv":0.0,"mid_iv":1.180744,"ask_iv":1.180744,"smv_vol":0.659,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-5.66,"average_volume":0,"last_volume":1,"trade_date":1718373845988,"prevclose":15.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":376,"bidexch":"E","bid_date":1718395167000,"asksize":263,"askexch":"E","ask_date":1718395167000,"open_interest":700,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00010000","description":"PLTR + Jun 20 2025 $10.00 Put","exch":"Z","type":"option","last":0.22,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.22,"ask":0.4,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0393044440072161,"gamma":0.0056794834063814,"theta":-0.0030195630343917068,"vega":0.020273636563832055,"rho":0.0833040425729029,"phi":-0.23004715892227523,"bid_iv":0.582669,"mid_iv":0.627115,"ask_iv":0.671561,"smv_vol":0.619,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718291981010,"prevclose":0.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":987,"bidexch":"E","bid_date":1718395198000,"asksize":1013,"askexch":"E","ask_date":1718395198000,"open_interest":2639,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00010000","description":"PLTR + Jun 20 2025 $10.00 Call","exch":"Z","type":"option","last":14.0,"change":-0.04,"volume":2,"open":14.0,"high":14.0,"low":14.0,"close":14.0,"bid":14.3,"ask":14.65,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9606955559927839,"gamma":0.0056794834063814,"theta":-0.0030195630343917068,"vega":0.020273636563832055,"rho":0.0833040425729029,"phi":-0.23004715892227523,"bid_iv":0.580915,"mid_iv":0.617438,"ask_iv":0.653961,"smv_vol":0.619,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.29,"average_volume":0,"last_volume":1,"trade_date":1718374941721,"prevclose":14.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":100,"bidexch":"Q","bid_date":1718395197000,"asksize":104,"askexch":"Q","ask_date":1718395197000,"open_interest":2256,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00013000","description":"PLTR + Jun 20 2025 $13.00 Put","exch":"Z","type":"option","last":0.67,"change":0.02,"volume":4,"open":0.7,"high":0.7,"low":0.67,"close":0.67,"bid":0.63,"ask":0.67,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0840834368656137,"gamma":0.010787955325773863,"theta":-0.004511043280567501,"vega":0.03781927803821948,"rho":0.09704478879373488,"phi":-0.21931154559950983,"bid_iv":0.573377,"mid_iv":0.57913,"ask_iv":0.584883,"smv_vol":0.585,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.08,"average_volume":0,"last_volume":3,"trade_date":1718386283679,"prevclose":0.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":432,"bidexch":"E","bid_date":1718395198000,"asksize":50,"askexch":"Z","ask_date":1718394301000,"open_interest":5257,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00013000","description":"PLTR + Jun 20 2025 $13.00 Call","exch":"Z","type":"option","last":12.05,"change":0.35,"volume":34,"open":11.8,"high":12.05,"low":11.8,"close":12.05,"bid":11.85,"ask":12.05,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9159165631343863,"gamma":0.010787955325773863,"theta":-0.004511043280567501,"vega":0.03781927803821948,"rho":0.09704478879373488,"phi":-0.21931154559950983,"bid_iv":0.485663,"mid_iv":0.546646,"ask_iv":0.607629,"smv_vol":0.585,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.00,"average_volume":0,"last_volume":1,"trade_date":1718391651030,"prevclose":11.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"N","bid_date":1718395199000,"asksize":21,"askexch":"N","ask_date":1718395198000,"open_interest":1621,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00015000","description":"PLTR + Jun 20 2025 $15.00 Put","exch":"Z","type":"option","last":1.1,"change":0.02,"volume":16,"open":1.09,"high":1.12,"low":1.06,"close":1.1,"bid":1.04,"ask":1.1,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.1229466305301239,"gamma":0.014683921164873857,"theta":-0.005432337172890577,"vega":0.04909911283890581,"rho":0.1028582813782871,"phi":-0.2099955150569599,"bid_iv":0.562986,"mid_iv":0.569034,"ask_iv":0.575083,"smv_vol":0.569,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.86,"average_volume":0,"last_volume":7,"trade_date":1718387254681,"prevclose":1.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":227,"bidexch":"E","bid_date":1718395199000,"asksize":120,"askexch":"B","ask_date":1718395132000,"open_interest":11692,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00015000","description":"PLTR + Jun 20 2025 $15.00 Call","exch":"Z","type":"option","last":10.4,"change":0.15,"volume":45,"open":10.0,"high":10.4,"low":10.0,"close":10.4,"bid":10.4,"ask":10.55,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.8770533694698761,"gamma":0.014683921164873857,"theta":-0.005432337172890577,"vega":0.04909911283890581,"rho":0.1028582813782871,"phi":-0.2099955150569599,"bid_iv":0.554718,"mid_iv":0.570154,"ask_iv":0.58559,"smv_vol":0.569,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.47,"average_volume":0,"last_volume":30,"trade_date":1718389066102,"prevclose":10.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":340,"bidexch":"E","bid_date":1718395199000,"asksize":24,"askexch":"X","ask_date":1718395198000,"open_interest":3704,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00017000","description":"PLTR + Jun 20 2025 $17.00 Put","exch":"Z","type":"option","last":1.65,"change":0.00,"volume":4,"open":1.71,"high":1.71,"low":1.65,"close":1.65,"bid":1.62,"ask":1.66,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1688373621600568,"gamma":0.01871283195455061,"theta":-0.00625836094725723,"vega":0.06067473153470709,"rho":0.1058462291740477,"phi":-0.19899625600672266,"bid_iv":0.559633,"mid_iv":0.562831,"ask_iv":0.566029,"smv_vol":0.562,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718385094852,"prevclose":1.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"Z","bid_date":1718395170000,"asksize":26,"askexch":"X","ask_date":1718395198000,"open_interest":15980,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00017000","description":"PLTR + Jun 20 2025 $17.00 Call","exch":"Z","type":"option","last":9.15,"change":0.25,"volume":26,"open":8.63,"high":9.15,"low":8.63,"close":9.15,"bid":9.05,"ask":9.7,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8311626378399432,"gamma":0.01871283195455061,"theta":-0.00625836094725723,"vega":0.06067473153470709,"rho":0.1058462291740477,"phi":-0.19899625600672266,"bid_iv":0.548641,"mid_iv":0.561013,"ask_iv":0.573385,"smv_vol":0.562,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.81,"average_volume":0,"last_volume":1,"trade_date":1718393462155,"prevclose":8.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":349,"bidexch":"E","bid_date":1718395199000,"asksize":606,"askexch":"E","ask_date":1718395199000,"open_interest":6806,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00020000","description":"PLTR + Jun 20 2025 $20.00 Put","exch":"Z","type":"option","last":2.75,"change":-0.04,"volume":7,"open":2.82,"high":2.82,"low":2.75,"close":2.75,"bid":2.7,"ask":2.99,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2485536080320125,"gamma":0.024345233572341196,"theta":-0.007253137624526281,"vega":0.07633964247062416,"rho":0.10527292930151277,"phi":-0.17989285674424593,"bid_iv":0.547559,"mid_iv":0.552697,"ask_iv":0.557835,"smv_vol":0.55,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.44,"average_volume":0,"last_volume":1,"trade_date":1718382173878,"prevclose":2.79,"week_52_high":0.0,"week_52_low":0.0,"bidsize":52,"bidexch":"E","bid_date":1718395197000,"asksize":217,"askexch":"E","ask_date":1718395199000,"open_interest":11020,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00020000","description":"PLTR + Jun 20 2025 $20.00 Call","exch":"Z","type":"option","last":7.35,"change":0.29,"volume":67,"open":6.95,"high":7.45,"low":6.95,"close":7.35,"bid":7.3,"ask":7.55,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7514463919679875,"gamma":0.024345233572341196,"theta":-0.007253137624526281,"vega":0.07633964247062416,"rho":0.10527292930151277,"phi":-0.17989285674424593,"bid_iv":0.543932,"mid_iv":0.550483,"ask_iv":0.557034,"smv_vol":0.55,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.11,"average_volume":0,"last_volume":10,"trade_date":1718394807170,"prevclose":7.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":186,"bidexch":"E","bid_date":1718395199000,"asksize":366,"askexch":"E","ask_date":1718395199000,"open_interest":7408,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00022000","description":"PLTR + Jun 20 2025 $22.00 Put","exch":"Z","type":"option","last":3.65,"change":-0.05,"volume":856,"open":3.77,"high":3.8,"low":3.65,"close":3.65,"bid":3.6,"ask":3.7,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3062906269774762,"gamma":0.027345184554518082,"theta":-0.007709623672539788,"vega":0.08320649925932248,"rho":0.1019462790008793,"phi":-0.1660591973440262,"bid_iv":0.541155,"mid_iv":0.547102,"ask_iv":0.553049,"smv_vol":0.547,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.36,"average_volume":0,"last_volume":600,"trade_date":1718391387265,"prevclose":3.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":955,"bidexch":"E","bid_date":1718395135000,"asksize":1,"askexch":"N","ask_date":1718394907000,"open_interest":3068,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00022000","description":"PLTR + Jun 20 2025 $22.00 Call","exch":"Z","type":"option","last":6.45,"change":0.25,"volume":182,"open":6.03,"high":6.45,"low":6.0,"close":6.45,"bid":6.3,"ask":7.0,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6937093730225238,"gamma":0.027345184554518082,"theta":-0.007709623672539788,"vega":0.08320649925932248,"rho":0.1019462790008793,"phi":-0.1660591973440262,"bid_iv":0.540492,"mid_iv":0.546505,"ask_iv":0.552518,"smv_vol":0.547,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.04,"average_volume":0,"last_volume":1,"trade_date":1718394316235,"prevclose":6.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":203,"bidexch":"E","bid_date":1718395199000,"asksize":199,"askexch":"E","ask_date":1718395199000,"open_interest":10045,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620C00025000","description":"PLTR + Jun 20 2025 $25.00 Call","exch":"Z","type":"option","last":5.1,"change":0.20,"volume":203,"open":4.63,"high":5.15,"low":4.63,"close":5.1,"bid":5.0,"ask":5.5,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6060297203015932,"gamma":0.030356503192296068,"theta":-0.008098726074452259,"vega":0.09104717295619379,"rho":0.09412621970138951,"phi":-0.14505505610884484,"bid_iv":0.533832,"mid_iv":0.542081,"ask_iv":0.550329,"smv_vol":0.543,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.09,"average_volume":0,"last_volume":2,"trade_date":1718394529726,"prevclose":4.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":783,"bidexch":"E","bid_date":1718395199000,"asksize":10,"askexch":"Z","ask_date":1718395198000,"open_interest":13634,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00025000","description":"PLTR + Jun 20 2025 $25.00 Put","exch":"Z","type":"option","last":5.41,"change":0.06,"volume":9,"open":5.45,"high":5.45,"low":5.41,"close":5.41,"bid":5.25,"ask":7.3,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3939702796984068,"gamma":0.030356503192296068,"theta":-0.008098726074452259,"vega":0.09104717295619379,"rho":0.09412621970138951,"phi":-0.14505505610884484,"bid_iv":0.539145,"mid_iv":0.544645,"ask_iv":0.550144,"smv_vol":0.543,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.13,"average_volume":0,"last_volume":3,"trade_date":1718374376705,"prevclose":5.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":126,"bidexch":"E","bid_date":1718395198000,"asksize":298,"askexch":"E","ask_date":1718395199000,"open_interest":1597,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620P00027000","description":"PLTR + Jun 20 2025 $27.00 Put","exch":"Z","type":"option","last":6.75,"change":0.19,"volume":582,"open":6.85,"high":6.85,"low":6.75,"close":6.75,"bid":6.5,"ask":6.7,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.4500460327897985,"gamma":0.031275775276769786,"theta":-0.008167129229542575,"vega":0.09422940222627525,"rho":0.08779962975609379,"phi":-0.13162421583778894,"bid_iv":0.537545,"mid_iv":0.542933,"ask_iv":0.54832,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.90,"average_volume":0,"last_volume":120,"trade_date":1718377985867,"prevclose":6.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":58,"bidexch":"E","bid_date":1718395198000,"asksize":94,"askexch":"E","ask_date":1718395198000,"open_interest":1958,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00027000","description":"PLTR + Jun 20 2025 $27.00 Call","exch":"Z","type":"option","last":4.37,"change":0.18,"volume":8,"open":4.22,"high":4.4,"low":4.05,"close":4.37,"bid":3.5,"ask":5.2,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.5499539672102015,"gamma":0.031275775276769786,"theta":-0.008167129229542575,"vega":0.09422940222627525,"rho":0.08779962975609379,"phi":-0.13162421583778894,"bid_iv":0.537798,"mid_iv":0.543117,"ask_iv":0.548435,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.30,"average_volume":0,"last_volume":1,"trade_date":1718391149191,"prevclose":4.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1718395199000,"asksize":347,"askexch":"E","ask_date":1718395199000,"open_interest":5235,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00030000","description":"PLTR + Jun 20 2025 $30.00 Put","exch":"Z","type":"option","last":8.95,"change":0.20,"volume":5,"open":8.95,"high":8.95,"low":8.95,"close":8.95,"bid":8.55,"ask":9.15,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.5275198391857516,"gamma":0.031375921750061764,"theta":-0.008061817768326774,"vega":0.0946257886399116,"rho":0.07790330618976615,"phi":-0.11307107919300563,"bid_iv":0.533164,"mid_iv":0.542122,"ask_iv":0.551079,"smv_vol":0.541,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.29,"average_volume":0,"last_volume":1,"trade_date":1718375791241,"prevclose":8.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":209,"bidexch":"E","bid_date":1718395198000,"asksize":1326,"askexch":"E","ask_date":1718395135000,"open_interest":1466,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00030000","description":"PLTR + Jun 20 2025 $30.00 Call","exch":"Z","type":"option","last":3.5,"change":0.11,"volume":99,"open":3.25,"high":3.55,"low":3.25,"close":3.5,"bid":3.45,"ask":3.55,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.4724801608142484,"gamma":0.031375921750061764,"theta":-0.008061817768326774,"vega":0.0946257886399116,"rho":0.07790330618976615,"phi":-0.11307107919300563,"bid_iv":0.533786,"mid_iv":0.539078,"ask_iv":0.54437,"smv_vol":0.541,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.25,"average_volume":0,"last_volume":10,"trade_date":1718394807170,"prevclose":3.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":223,"bidexch":"E","bid_date":1718395198000,"asksize":5,"askexch":"N","ask_date":1718394973000,"open_interest":12566,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00032000","description":"PLTR + Jun 20 2025 $32.00 Put","exch":"Z","type":"option","last":10.4,"change":0.05,"volume":228,"open":10.45,"high":10.45,"low":10.4,"close":10.4,"bid":10.05,"ask":10.2,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.5736634237792699,"gamma":0.030773946986505277,"theta":-0.007887588159088355,"vega":0.09413635932696625,"rho":0.07147257818627072,"phi":-0.10202237382461732,"bid_iv":0.532072,"mid_iv":0.54066,"ask_iv":0.549247,"smv_vol":0.541,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.49,"average_volume":0,"last_volume":1,"trade_date":1718376676646,"prevclose":10.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":100,"bidexch":"E","bid_date":1718395198000,"asksize":87,"askexch":"P","ask_date":1718395131000,"open_interest":1391,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00032000","description":"PLTR + Jun 20 2025 $32.00 Call","exch":"Z","type":"option","last":3.05,"change":0.17,"volume":6,"open":2.64,"high":3.05,"low":2.64,"close":3.05,"bid":3.0,"ask":3.55,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.4263365762207301,"gamma":0.030773946986505277,"theta":-0.007887588159088355,"vega":0.09413635932696625,"rho":0.07147257818627072,"phi":-0.10202237382461732,"bid_iv":0.536551,"mid_iv":0.541872,"ask_iv":0.547193,"smv_vol":0.541,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.91,"average_volume":0,"last_volume":5,"trade_date":1718392544436,"prevclose":2.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"X","bid_date":1718395198000,"asksize":199,"askexch":"Z","ask_date":1718395199000,"open_interest":2195,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00035000","description":"PLTR + Jun 20 2025 $35.00 Put","exch":"Z","type":"option","last":12.6,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.45,"ask":12.95,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.6347206565984335,"gamma":0.029267368123374056,"theta":-0.007519069688048503,"vega":0.08792915271841718,"rho":0.0624892607355847,"phi":-0.08740441951982092,"bid_iv":0.529943,"mid_iv":0.544154,"ask_iv":0.558365,"smv_vol":0.547,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1717690229767,"prevclose":12.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":456,"bidexch":"E","bid_date":1718395135000,"asksize":1170,"askexch":"E","ask_date":1718395135000,"open_interest":557,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00035000","description":"PLTR + Jun 20 2025 $35.00 Call","exch":"Z","type":"option","last":2.45,"change":0.10,"volume":11,"open":2.3,"high":2.46,"low":2.29,"close":2.45,"bid":2.42,"ask":2.89,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.3652793434015665,"gamma":0.029267368123374056,"theta":-0.007519069688048503,"vega":0.08792915271841718,"rho":0.0624892607355847,"phi":-0.08740441951982092,"bid_iv":0.5379,"mid_iv":0.542447,"ask_iv":0.546995,"smv_vol":0.547,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.26,"average_volume":0,"last_volume":1,"trade_date":1718389077051,"prevclose":2.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"X","bid_date":1718395198000,"asksize":145,"askexch":"N","ask_date":1718395198000,"open_interest":4497,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00037000","description":"PLTR + Jun 20 2025 $37.00 Put","exch":"Z","type":"option","last":13.9,"change":-1.07,"volume":1,"open":13.9,"high":13.9,"low":13.9,"close":13.9,"bid":14.15,"ask":15.0,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.6712178202492177,"gamma":0.02805436296020955,"theta":-0.007203167808570907,"vega":0.0843572591431615,"rho":0.056934663481107865,"phi":-0.0786672371511088,"bid_iv":0.530128,"mid_iv":0.598872,"ask_iv":0.667615,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.15,"average_volume":0,"last_volume":1,"trade_date":1718212625420,"prevclose":14.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":123,"bidexch":"E","bid_date":1718395198000,"asksize":185,"askexch":"E","ask_date":1718395198000,"open_interest":108,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00037000","description":"PLTR + Jun 20 2025 $37.00 Call","exch":"Z","type":"option","last":2.17,"change":0.17,"volume":7,"open":2.09,"high":2.17,"low":1.99,"close":2.17,"bid":2.11,"ask":2.21,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.3287821797507823,"gamma":0.02805436296020955,"theta":-0.007203167808570907,"vega":0.0843572591431615,"rho":0.056934663481107865,"phi":-0.0786672371511088,"bid_iv":0.539927,"mid_iv":0.54527,"ask_iv":0.550613,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.50,"average_volume":0,"last_volume":5,"trade_date":1718392032595,"prevclose":2.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":30,"bidexch":"X","bid_date":1718395198000,"asksize":1776,"askexch":"D","ask_date":1718395134000,"open_interest":2284,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250620P00040000","description":"PLTR + Jun 20 2025 $40.00 Put","exch":"Z","type":"option","last":16.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.55,"ask":17.3,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.7162879185177986,"gamma":0.02594412396127493,"theta":-0.006758267643173773,"vega":0.0811513514882145,"rho":0.049745235798931094,"phi":-0.06787921952966514,"bid_iv":0.51833,"mid_iv":0.570598,"ask_iv":0.622866,"smv_vol":0.559,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718209658754,"prevclose":16.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":232,"bidexch":"M","bid_date":1718395199000,"asksize":251,"askexch":"M","ask_date":1718395199000,"open_interest":22,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250620C00040000","description":"PLTR + Jun 20 2025 $40.00 Call","exch":"Z","type":"option","last":1.76,"change":0.05,"volume":296,"open":1.57,"high":1.76,"low":1.56,"close":1.76,"bid":1.71,"ask":1.76,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.2837120814822014,"gamma":0.02594412396127493,"theta":-0.006758267643173773,"vega":0.0811513514882145,"rho":0.049745235798931094,"phi":-0.06787921952966514,"bid_iv":0.539523,"mid_iv":0.543209,"ask_iv":0.546894,"smv_vol":0.559,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.93,"average_volume":0,"last_volume":1,"trade_date":1718394929716,"prevclose":1.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"P","bid_date":1718395132000,"asksize":7,"askexch":"P","ask_date":1718392472000,"open_interest":11658,"contract_size":100,"expiration_date":"2025-06-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -227,17 +364,17 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: - '200' X-Ratelimit-Available: - - '198' + - '197' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - - '2' + - '3' status: code: 200 message: '' @@ -253,70 +390,70 @@ interactions: response: body: string: '{"options":{"option":[{"symbol":"PLTR250117P00003000","description":"PLTR - Jan 17 2025 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":54,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-9.16860567316E-5,"gamma":2.14591088937283E-5,"theta":-3.9791791160976274E-4,"vega":1.0335169709786235E-4,"rho":0.024787803595533116,"phi":-0.22471081720709662,"bid_iv":0.0,"mid_iv":0.991861,"ask_iv":0.991861,"smv_vol":0.745,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709837290129,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709918507000,"asksize":13,"askexch":"Z","ask_date":1709930966000,"open_interest":4620,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00003000","description":"PLTR - Jan 17 2025 $3.00 Call","exch":"Z","type":"option","last":24.2,"change":0.95,"volume":2,"open":24.85,"high":24.85,"low":24.2,"close":24.2,"bid":22.9,"ask":24.25,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999083139432684,"gamma":2.14591088937283E-5,"theta":-3.9791791160976274E-4,"vega":1.0335169709786235E-4,"rho":0.024787803595533116,"phi":-0.22471081720709662,"bid_iv":0.0,"mid_iv":2.811135,"ask_iv":2.811135,"smv_vol":0.745,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.09,"average_volume":0,"last_volume":1,"trade_date":1709917365336,"prevclose":23.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":174,"bidexch":"X","bid_date":1709931555000,"asksize":217,"askexch":"X","ask_date":1709931519000,"open_interest":1641,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00005000","description":"PLTR - Jan 17 2025 $5.00 Put","exch":"Z","type":"option","last":0.03,"change":-0.01,"volume":101,"open":0.04,"high":0.04,"low":0.03,"close":0.03,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-0.0016142436112893,"gamma":3.0776477450671086E-4,"theta":-8.37971143008464E-4,"vega":0.0012675059892328635,"rho":0.0407440933256554,"phi":-0.22436800215075436,"bid_iv":0.801475,"mid_iv":0.816985,"ask_iv":0.832495,"smv_vol":0.739,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.00,"average_volume":0,"last_volume":1,"trade_date":1709923230972,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"N","bid_date":1709923230000,"asksize":101,"askexch":"C","ask_date":1709931588000,"open_interest":3830,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00005000","description":"PLTR - Jan 17 2025 $5.00 Call","exch":"Z","type":"option","last":21.35,"change":-0.30,"volume":7,"open":22.5,"high":22.5,"low":21.35,"close":21.35,"bid":20.2,"ask":21.4,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9983857563887107,"gamma":3.0776477450671086E-4,"theta":-8.37971143008464E-4,"vega":0.0012675059892328635,"rho":0.0407440933256554,"phi":-0.22436800215075436,"bid_iv":0.0,"mid_iv":1.008969,"ask_iv":1.008969,"smv_vol":0.739,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.39,"average_volume":0,"last_volume":1,"trade_date":1709929957791,"prevclose":21.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":151,"bidexch":"X","bid_date":1709931596000,"asksize":3,"askexch":"Q","ask_date":1709931598000,"open_interest":2641,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00007000","description":"PLTR - Jan 17 2025 $7.00 Put","exch":"Z","type":"option","last":0.08,"change":-0.01,"volume":3,"open":0.1,"high":0.1,"low":0.07,"close":0.08,"bid":0.07,"ask":0.09,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-0.0076827917541314,"gamma":0.0012506689493370473,"theta":-0.001520691748763142,"vega":0.004931840961422015,"rho":0.05547387468448851,"phi":-0.22300209042924735,"bid_iv":0.727685,"mid_iv":0.742954,"ask_iv":0.758224,"smv_vol":0.71,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.12,"average_volume":0,"last_volume":1,"trade_date":1709923230972,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1274,"bidexch":"D","bid_date":1709931588000,"asksize":458,"askexch":"A","ask_date":1709931587000,"open_interest":13126,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00007000","description":"PLTR - Jan 17 2025 $7.00 Call","exch":"Z","type":"option","last":19.53,"change":-0.32,"volume":10,"open":19.75,"high":19.75,"low":19.53,"close":19.53,"bid":19.25,"ask":19.5,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9923172082458686,"gamma":0.0012506689493370473,"theta":-0.001520691748763142,"vega":0.004931840961422015,"rho":0.05547387468448851,"phi":-0.22300209042924735,"bid_iv":0.676547,"mid_iv":0.749517,"ask_iv":0.822486,"smv_vol":0.71,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.62,"average_volume":0,"last_volume":1,"trade_date":1709930082571,"prevclose":19.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931588000,"asksize":1,"askexch":"U","ask_date":1709931595000,"open_interest":7826,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00010000","description":"PLTR - Jan 17 2025 $10.00 Put","exch":"Z","type":"option","last":0.26,"change":-0.01,"volume":21,"open":0.24,"high":0.26,"low":0.24,"close":0.26,"bid":0.23,"ask":0.26,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0291087066592536,"gamma":0.004000173371258978,"theta":-0.0030246008505393136,"vega":0.015031849935442381,"rho":0.07375891866295847,"phi":-0.2181808252643691,"bid_iv":0.679656,"mid_iv":0.688874,"ask_iv":0.698092,"smv_vol":0.684,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.71,"average_volume":0,"last_volume":1,"trade_date":1709931041148,"prevclose":0.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":664,"bidexch":"C","bid_date":1709931582000,"asksize":343,"askexch":"E","ask_date":1709931578000,"open_interest":32691,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00010000","description":"PLTR - Jan 17 2025 $10.00 Call","exch":"Z","type":"option","last":16.78,"change":-0.73,"volume":48,"open":17.8,"high":17.8,"low":16.3,"close":16.78,"bid":16.25,"ask":16.8,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9708912933407464,"gamma":0.004000173371258978,"theta":-0.0030246008505393136,"vega":0.015031849935442381,"rho":0.07375891866295847,"phi":-0.2181808252643691,"bid_iv":0.658739,"mid_iv":0.689102,"ask_iv":0.719465,"smv_vol":0.684,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.17,"average_volume":0,"last_volume":1,"trade_date":1709929878712,"prevclose":17.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"M","bid_date":1709931593000,"asksize":15,"askexch":"M","ask_date":1709931598000,"open_interest":13409,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00012000","description":"PLTR - Jan 17 2025 $12.00 Put","exch":"Z","type":"option","last":0.45,"change":-0.03,"volume":18,"open":0.44,"high":0.46,"low":0.44,"close":0.45,"bid":0.45,"ask":0.47,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0525190114407909,"gamma":0.006557433362437744,"theta":-0.00422435570067892,"vega":0.025550538344474592,"rho":0.08295137693816328,"phi":-0.21291404161516425,"bid_iv":0.666416,"mid_iv":0.670288,"ask_iv":0.67416,"smv_vol":0.67,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.25,"average_volume":0,"last_volume":2,"trade_date":1709928662115,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":255,"bidexch":"D","bid_date":1709931590000,"asksize":93,"askexch":"Z","ask_date":1709931572000,"open_interest":21375,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00012000","description":"PLTR - Jan 17 2025 $12.00 Call","exch":"Z","type":"option","last":15.1,"change":-0.56,"volume":41,"open":16.0,"high":16.0,"low":14.85,"close":15.1,"bid":15.0,"ask":15.1,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9474809885592091,"gamma":0.006557433362437744,"theta":-0.00422435570067892,"vega":0.025550538344474592,"rho":0.08295137693816328,"phi":-0.21291404161516425,"bid_iv":0.651327,"mid_iv":0.670922,"ask_iv":0.690517,"smv_vol":0.67,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.58,"average_volume":0,"last_volume":10,"trade_date":1709921558903,"prevclose":15.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"J","bid_date":1709931592000,"asksize":17,"askexch":"M","ask_date":1709931592000,"open_interest":12946,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00015000","description":"PLTR - Jan 17 2025 $15.00 Put","exch":"Z","type":"option","last":0.95,"change":-0.02,"volume":61,"open":0.94,"high":0.98,"low":0.91,"close":0.95,"bid":0.96,"ask":0.98,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.100032297756859,"gamma":0.01100044216716236,"theta":-0.006067760276388808,"vega":0.041046358984377515,"rho":0.092350369613768,"phi":-0.20222631720301365,"bid_iv":0.646203,"mid_iv":0.648629,"ask_iv":0.651055,"smv_vol":0.651,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.07,"average_volume":0,"last_volume":1,"trade_date":1709920402053,"prevclose":0.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"D","bid_date":1709931586000,"asksize":6,"askexch":"J","ask_date":1709931459000,"open_interest":22632,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00015000","description":"PLTR - Jan 17 2025 $15.00 Call","exch":"Z","type":"option","last":12.69,"change":-0.47,"volume":148,"open":13.7,"high":13.8,"low":12.45,"close":12.69,"bid":12.55,"ask":12.7,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.899967702243141,"gamma":0.01100044216716236,"theta":-0.006067760276388808,"vega":0.041046358984377515,"rho":0.092350369613768,"phi":-0.20222631720301365,"bid_iv":0.640216,"mid_iv":0.652347,"ask_iv":0.664477,"smv_vol":0.651,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.58,"average_volume":0,"last_volume":1,"trade_date":1709931244634,"prevclose":13.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":138,"bidexch":"X","bid_date":1709931571000,"asksize":13,"askexch":"D","ask_date":1709931600000,"open_interest":20958,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00017000","description":"PLTR - Jan 17 2025 $17.00 Put","exch":"Z","type":"option","last":1.44,"change":0.01,"volume":23,"open":1.36,"high":1.46,"low":1.36,"close":1.44,"bid":1.46,"ask":1.48,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1391005537082379,"gamma":0.014099214435780006,"theta":-0.00721392698161464,"vega":0.05207703876608322,"rho":0.09576156162392692,"phi":-0.19343947563754682,"bid_iv":0.636431,"mid_iv":0.639272,"ask_iv":0.642114,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.70,"average_volume":0,"last_volume":1,"trade_date":1709930104033,"prevclose":1.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"J","bid_date":1709931599000,"asksize":5,"askexch":"N","ask_date":1709931592000,"open_interest":7147,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00017000","description":"PLTR - Jan 17 2025 $17.00 Call","exch":"Z","type":"option","last":11.41,"change":-0.44,"volume":109,"open":12.13,"high":12.27,"low":11.15,"close":11.41,"bid":11.2,"ask":11.3,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8608994462917621,"gamma":0.014099214435780006,"theta":-0.00721392698161464,"vega":0.05207703876608322,"rho":0.09576156162392692,"phi":-0.19343947563754682,"bid_iv":0.628,"mid_iv":0.63761,"ask_iv":0.64722,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.72,"average_volume":0,"last_volume":1,"trade_date":1709928400476,"prevclose":11.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":427,"bidexch":"C","bid_date":1709931571000,"asksize":151,"askexch":"E","ask_date":1709931599000,"open_interest":12081,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00020000","description":"PLTR - Jan 17 2025 $20.00 Put","exch":"Z","type":"option","last":2.44,"change":-0.01,"volume":219,"open":2.29,"high":2.49,"low":2.29,"close":2.44,"bid":2.45,"ask":2.49,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2061545845357248,"gamma":0.018505878779245907,"theta":-0.008675332988280741,"vega":0.06897742834022882,"rho":0.09709728778413218,"phi":-0.17836041230623323,"bid_iv":0.628634,"mid_iv":0.63151,"ask_iv":0.634386,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.41,"average_volume":0,"last_volume":1,"trade_date":1709930104033,"prevclose":2.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"B","bid_date":1709931600000,"asksize":63,"askexch":"B","ask_date":1709931596000,"open_interest":5114,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00020000","description":"PLTR - Jan 17 2025 $20.00 Call","exch":"Z","type":"option","last":9.45,"change":-0.25,"volume":316,"open":10.35,"high":10.4,"low":9.25,"close":9.45,"bid":9.3,"ask":9.4,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7938454154642752,"gamma":0.018505878779245907,"theta":-0.008675332988280741,"vega":0.06897742834022882,"rho":0.09709728778413218,"phi":-0.17836041230623323,"bid_iv":0.62083,"mid_iv":0.62808,"ask_iv":0.635329,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.58,"average_volume":0,"last_volume":1,"trade_date":1709930786982,"prevclose":9.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":678,"bidexch":"C","bid_date":1709931597000,"asksize":186,"askexch":"E","ask_date":1709931595000,"open_interest":31074,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00022000","description":"PLTR - Jan 17 2025 $22.00 Put","exch":"Z","type":"option","last":3.2,"change":-0.01,"volume":16,"open":3.09,"high":3.2,"low":3.09,"close":3.2,"bid":3.25,"ask":3.35,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2546854474697794,"gamma":0.021090108471841455,"theta":-0.009447302611591823,"vega":0.0785689614370306,"rho":0.0958990990417334,"phi":-0.16744818298164432,"bid_iv":0.62144,"mid_iv":0.624593,"ask_iv":0.627746,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.32,"average_volume":0,"last_volume":1,"trade_date":1709916968039,"prevclose":3.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":396,"bidexch":"C","bid_date":1709931578000,"asksize":1401,"askexch":"E","ask_date":1709931598000,"open_interest":3577,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00022000","description":"PLTR - Jan 17 2025 $22.00 Call","exch":"Z","type":"option","last":8.32,"change":-0.43,"volume":4227,"open":9.06,"high":9.25,"low":8.24,"close":8.32,"bid":8.2,"ask":8.3,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7453145525302206,"gamma":0.021090108471841455,"theta":-0.009447302611591823,"vega":0.0785689614370306,"rho":0.0958990990417334,"phi":-0.16744818298164432,"bid_iv":0.618916,"mid_iv":0.62528,"ask_iv":0.631643,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.92,"average_volume":0,"last_volume":1,"trade_date":1709930879383,"prevclose":8.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":165,"bidexch":"C","bid_date":1709931569000,"asksize":659,"askexch":"E","ask_date":1709931575000,"open_interest":11780,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00025000","description":"PLTR - Jan 17 2025 $25.00 Put","exch":"Z","type":"option","last":4.66,"change":-0.04,"volume":65,"open":4.41,"high":4.8,"low":4.41,"close":4.66,"bid":4.75,"ask":4.8,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3301690822843911,"gamma":0.02411868656294353,"theta":-0.010248486981602816,"vega":0.08786028631895702,"rho":0.09154925064905042,"phi":-0.15047782191857095,"bid_iv":0.619733,"mid_iv":0.622562,"ask_iv":0.625391,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.86,"average_volume":0,"last_volume":1,"trade_date":1709928276706,"prevclose":4.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"P","bid_date":1709931589000,"asksize":179,"askexch":"A","ask_date":1709931587000,"open_interest":7249,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00025000","description":"PLTR - Jan 17 2025 $25.00 Call","exch":"Z","type":"option","last":6.85,"change":-0.30,"volume":943,"open":7.55,"high":7.65,"low":6.7,"close":6.85,"bid":6.75,"ask":6.85,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6698309177156089,"gamma":0.02411868656294353,"theta":-0.010248486981602816,"vega":0.08786028631895702,"rho":0.09154925064905042,"phi":-0.15047782191857095,"bid_iv":0.618786,"mid_iv":0.621632,"ask_iv":0.624478,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.20,"average_volume":0,"last_volume":1,"trade_date":1709930710089,"prevclose":7.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":415,"bidexch":"E","bid_date":1709931592000,"asksize":213,"askexch":"C","ask_date":1709931584000,"open_interest":19599,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00027000","description":"PLTR - Jan 17 2025 $27.00 Put","exch":"Z","type":"option","last":5.93,"change":0.18,"volume":44,"open":5.51,"high":5.95,"low":5.5,"close":5.93,"bid":5.85,"ask":5.95,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.3804285945060724,"gamma":0.025522005679045993,"theta":-0.010561924462192184,"vega":0.09233082001544161,"rho":0.0874713718138591,"phi":-0.13917977138788729,"bid_iv":0.614506,"mid_iv":0.619913,"ask_iv":0.62532,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.13,"average_volume":0,"last_volume":3,"trade_date":1709921338257,"prevclose":5.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":108,"bidexch":"E","bid_date":1709931592000,"asksize":948,"askexch":"C","ask_date":1709931578000,"open_interest":1457,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00027000","description":"PLTR - Jan 17 2025 $27.00 Call","exch":"Z","type":"option","last":6.0,"change":-0.35,"volume":199,"open":6.75,"high":6.85,"low":5.9,"close":6.0,"bid":5.95,"ask":6.05,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.6195714054939276,"gamma":0.025522005679045993,"theta":-0.010561924462192184,"vega":0.09233082001544161,"rho":0.0874713718138591,"phi":-0.13917977138788729,"bid_iv":0.618907,"mid_iv":0.621617,"ask_iv":0.624326,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.52,"average_volume":0,"last_volume":1,"trade_date":1709931557940,"prevclose":6.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":150,"bidexch":"E","bid_date":1709931592000,"asksize":687,"askexch":"E","ask_date":1709931592000,"open_interest":10541,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00030000","description":"PLTR - Jan 17 2025 $30.00 Put","exch":"Z","type":"option","last":7.75,"change":0.07,"volume":844,"open":7.32,"high":7.85,"low":7.32,"close":7.75,"bid":7.75,"ask":7.85,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.4531222577615394,"gamma":0.02670782492649113,"theta":-0.010739087283252968,"vega":0.09593010710542299,"rho":0.08032433526242802,"phi":-0.12284055202371746,"bid_iv":0.613644,"mid_iv":0.618902,"ask_iv":0.624159,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.92,"average_volume":0,"last_volume":1,"trade_date":1709920433677,"prevclose":7.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"C","bid_date":1709931578000,"asksize":850,"askexch":"C","ask_date":1709931583000,"open_interest":3213,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00030000","description":"PLTR - Jan 17 2025 $30.00 Call","exch":"Z","type":"option","last":4.97,"change":-0.28,"volume":2771,"open":5.5,"high":5.7,"low":4.85,"close":4.97,"bid":4.95,"ask":5.0,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.5468777422384606,"gamma":0.02670782492649113,"theta":-0.010739087283252968,"vega":0.09593010710542299,"rho":0.08032433526242802,"phi":-0.12284055202371746,"bid_iv":0.616626,"mid_iv":0.619236,"ask_iv":0.621845,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.34,"average_volume":0,"last_volume":1,"trade_date":1709931467388,"prevclose":5.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"P","bid_date":1709931513000,"asksize":1249,"askexch":"C","ask_date":1709931578000,"open_interest":28132,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117C00032000","description":"PLTR - Jan 17 2025 $32.00 Call","exch":"Z","type":"option","last":4.47,"change":-0.13,"volume":165,"open":4.9,"high":5.02,"low":4.34,"close":4.47,"bid":4.35,"ask":4.4,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.5012771510000699,"gamma":0.02694863250177945,"theta":-0.01069303775216177,"vega":0.09706825808124711,"rho":0.0752292058949766,"phi":-0.11259212126191187,"bid_iv":0.609821,"mid_iv":0.614975,"ask_iv":0.62013,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.83,"average_volume":0,"last_volume":6,"trade_date":1709928396890,"prevclose":4.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1709931588000,"asksize":369,"askexch":"E","ask_date":1709931589000,"open_interest":7635,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00032000","description":"PLTR - Jan 17 2025 $32.00 Put","exch":"Z","type":"option","last":8.62,"change":-0.22,"volume":10,"open":8.62,"high":8.62,"low":8.62,"close":8.62,"bid":9.1,"ask":9.25,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.4987228489999301,"gamma":0.02694863250177945,"theta":-0.01069303775216177,"vega":0.09706825808124711,"rho":0.0752292058949766,"phi":-0.11259212126191187,"bid_iv":0.61016,"mid_iv":0.615411,"ask_iv":0.620661,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.49,"average_volume":0,"last_volume":5,"trade_date":1709910324797,"prevclose":8.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"B","bid_date":1709931595000,"asksize":234,"askexch":"X","ask_date":1709931599000,"open_interest":3429,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117P00035000","description":"PLTR - Jan 17 2025 $35.00 Put","exch":"Z","type":"option","last":11.35,"change":-0.10,"volume":51,"open":11.22,"high":11.35,"low":11.22,"close":11.35,"bid":11.3,"ask":11.45,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.5617474196853268,"gamma":0.026651694955201317,"theta":-0.01043983929724696,"vega":0.09402008252324111,"rho":0.0675587594961027,"phi":-0.09842918439417758,"bid_iv":0.608094,"mid_iv":0.616265,"ask_iv":0.624436,"smv_vol":0.616,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.88,"average_volume":0,"last_volume":1,"trade_date":1709929762401,"prevclose":11.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"C","bid_date":1709931588000,"asksize":225,"askexch":"E","ask_date":1709931589000,"open_interest":1150,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00035000","description":"PLTR - Jan 17 2025 $35.00 Call","exch":"Z","type":"option","last":3.68,"change":-0.16,"volume":702,"open":4.25,"high":4.25,"low":3.55,"close":3.68,"bid":3.55,"ask":3.65,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.4382525803146732,"gamma":0.026651694955201317,"theta":-0.01043983929724696,"vega":0.09402008252324111,"rho":0.0675587594961027,"phi":-0.09842918439417758,"bid_iv":0.614756,"mid_iv":0.617419,"ask_iv":0.620082,"smv_vol":0.616,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.17,"average_volume":0,"last_volume":1,"trade_date":1709931424683,"prevclose":3.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":195,"bidexch":"C","bid_date":1709931582000,"asksize":97,"askexch":"X","ask_date":1709931587000,"open_interest":16175,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00037000","description":"PLTR - Jan 17 2025 $37.00 Put","exch":"Z","type":"option","last":13.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.9,"ask":13.05,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.5998769311836637,"gamma":0.02610902077652583,"theta":-0.010177166004030134,"vega":0.09177830390057957,"rho":0.06260447547512003,"phi":-0.08986150496603784,"bid_iv":0.611797,"mid_iv":0.617543,"ask_iv":0.623289,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709138946894,"prevclose":13.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"P","bid_date":1709931584000,"asksize":82,"askexch":"X","ask_date":1709931586000,"open_interest":28,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00037000","description":"PLTR - Jan 17 2025 $37.00 Call","exch":"Z","type":"option","last":3.2,"change":-0.29,"volume":76,"open":3.5,"high":3.69,"low":3.15,"close":3.2,"bid":3.15,"ask":3.25,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.4001230688163363,"gamma":0.02610902077652583,"theta":-0.010177166004030134,"vega":0.09177830390057957,"rho":0.06260447547512003,"phi":-0.08986150496603784,"bid_iv":0.611817,"mid_iv":0.617273,"ask_iv":0.622729,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.31,"average_volume":0,"last_volume":1,"trade_date":1709931430768,"prevclose":3.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":212,"bidexch":"C","bid_date":1709931582000,"asksize":1167,"askexch":"E","ask_date":1709931582000,"open_interest":7863,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00040000","description":"PLTR - Jan 17 2025 $40.00 Put","exch":"Z","type":"option","last":14.93,"change":0.03,"volume":2,"open":14.93,"high":14.93,"low":14.93,"close":14.93,"bid":15.25,"ask":15.7,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.650896277637413,"gamma":0.02492635576159323,"theta":-0.009683097357021893,"vega":0.08992907571726537,"rho":0.05563747806688334,"phi":-0.07839851317470448,"bid_iv":0.598273,"mid_iv":0.625694,"ask_iv":0.653116,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.21,"average_volume":0,"last_volume":1,"trade_date":1709912004724,"prevclose":14.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"N","bid_date":1709931558000,"asksize":28,"askexch":"N","ask_date":1709931558000,"open_interest":56,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00040000","description":"PLTR - Jan 17 2025 $40.00 Call","exch":"Z","type":"option","last":2.7,"change":-0.14,"volume":787,"open":3.0,"high":3.2,"low":2.62,"close":2.7,"bid":2.66,"ask":2.7,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.34910372236258697,"gamma":0.02492635576159323,"theta":-0.009683097357021893,"vega":0.08992907571726537,"rho":0.05563747806688334,"phi":-0.07839851317470448,"bid_iv":0.616619,"mid_iv":0.618291,"ask_iv":0.619964,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.93,"average_volume":0,"last_volume":5,"trade_date":1709931549339,"prevclose":2.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"N","bid_date":1709931588000,"asksize":5,"askexch":"B","ask_date":1709931588000,"open_interest":17025,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + Jan 17 2025 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.23,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-9.98757922E-8,"gamma":5.2732695951714684E-8,"theta":-4.0447008836110726E-4,"vega":2.0093481491499373E-5,"rho":0.017309286547217518,"phi":-0.14009626369215766,"bid_iv":0.0,"mid_iv":1.146744,"ask_iv":1.146744,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1716918732463,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"U","bid_date":1718371801000,"asksize":100,"askexch":"Q","ask_date":1718371803000,"open_interest":4637,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00003000","description":"PLTR + Jan 17 2025 $3.00 Call","exch":"Z","type":"option","last":20.5,"change":0.20,"volume":6,"open":20.21,"high":20.5,"low":20.18,"close":20.5,"bid":20.4,"ask":20.8,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999999001242078,"gamma":5.2732695951714684E-8,"theta":-4.0447008836110726E-4,"vega":2.0093481491499373E-5,"rho":0.017309286547217518,"phi":-0.14009626369215766,"bid_iv":0.0,"mid_iv":1.576976,"ask_iv":1.576976,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.99,"average_volume":0,"last_volume":4,"trade_date":1718384471919,"prevclose":20.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":262,"bidexch":"E","bid_date":1718395155000,"asksize":155,"askexch":"Q","ask_date":1718395099000,"open_interest":1672,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00005000","description":"PLTR + Jan 17 2025 $5.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":1,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-3.78515435459E-5,"gamma":1.5669297582078996E-5,"theta":-7.763493235432799E-4,"vega":4.7747075931936E-5,"rho":0.028711320383839126,"phi":-0.14009095249178927,"bid_iv":0.801102,"mid_iv":0.858088,"ask_iv":0.915074,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718391993988,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"A","bid_date":1718394888000,"asksize":2,"askexch":"P","ask_date":1718394224000,"open_interest":4806,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00005000","description":"PLTR + Jan 17 2025 $5.00 Call","exch":"Z","type":"option","last":18.65,"change":-0.23,"volume":4,"open":18.65,"high":18.65,"low":18.65,"close":18.65,"bid":18.55,"ask":18.9,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999621484564541,"gamma":1.5669297582078996E-5,"theta":-7.763493235432799E-4,"vega":4.7747075931936E-5,"rho":0.028711320383839126,"phi":-0.14009095249178927,"bid_iv":0.0,"mid_iv":1.213136,"ask_iv":1.213136,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.22,"average_volume":0,"last_volume":4,"trade_date":1718384471919,"prevclose":18.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":481,"bidexch":"E","bid_date":1718395111000,"asksize":143,"askexch":"Z","ask_date":1718395111000,"open_interest":2195,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00007000","description":"PLTR + Jan 17 2025 $7.00 Put","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":11,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.02,"ask":0.05,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-8.171988152236E-4,"gamma":2.775220215521185E-4,"theta":-0.001143700646139048,"vega":5.271255217003727E-4,"rho":0.04007389464906366,"phi":-0.13998139888116157,"bid_iv":0.688605,"mid_iv":0.734151,"ask_iv":0.779698,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":1,"trade_date":1718391472446,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":163,"bidexch":"E","bid_date":1718395113000,"asksize":167,"askexch":"C","ask_date":1718395198000,"open_interest":13210,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00007000","description":"PLTR + Jan 17 2025 $7.00 Call","exch":"Z","type":"option","last":16.85,"change":-0.21,"volume":2,"open":16.75,"high":16.85,"low":16.75,"close":16.85,"bid":16.8,"ask":16.95,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9991828011847764,"gamma":2.775220215521185E-4,"theta":-0.001143700646139048,"vega":5.271255217003727E-4,"rho":0.04007389464906366,"phi":-0.13998139888116157,"bid_iv":0.0,"mid_iv":0.941851,"ask_iv":0.941851,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.24,"average_volume":0,"last_volume":1,"trade_date":1718386079444,"prevclose":17.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"B","bid_date":1718395153000,"asksize":101,"askexch":"Q","ask_date":1718395195000,"open_interest":7633,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00010000","description":"PLTR + Jan 17 2025 $10.00 Put","exch":"Z","type":"option","last":0.09,"change":0.02,"volume":13,"open":0.09,"high":0.09,"low":0.09,"close":0.09,"bid":0.07,"ask":0.11,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0104627014628561,"gamma":0.0027642617784187683,"theta":-0.002146473702990546,"vega":0.0047335692122800884,"rho":0.055715933085199836,"phi":-0.1386266122160862,"bid_iv":0.599766,"mid_iv":0.624334,"ask_iv":0.648902,"smv_vol":0.601,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":28.58,"average_volume":0,"last_volume":6,"trade_date":1718391588418,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":382,"bidexch":"H","bid_date":1718395199000,"asksize":555,"askexch":"E","ask_date":1718395198000,"open_interest":31676,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00010000","description":"PLTR + Jan 17 2025 $10.00 Call","exch":"Z","type":"option","last":14.0,"change":0.13,"volume":31,"open":13.5,"high":14.0,"low":13.5,"close":14.0,"bid":13.85,"ask":14.05,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9895372985371439,"gamma":0.0027642617784187683,"theta":-0.002146473702990546,"vega":0.0047335692122800884,"rho":0.055715933085199836,"phi":-0.1386266122160862,"bid_iv":0.0,"mid_iv":0.801035,"ask_iv":0.801035,"smv_vol":0.601,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.94,"average_volume":0,"last_volume":4,"trade_date":1718390619647,"prevclose":13.87,"week_52_high":0.0,"week_52_low":0.0,"bidsize":404,"bidexch":"A","bid_date":1718395159000,"asksize":23,"askexch":"P","ask_date":1718395114000,"open_interest":13022,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00012000","description":"PLTR + Jan 17 2025 $12.00 Put","exch":"Z","type":"option","last":0.19,"change":0.03,"volume":16,"open":0.18,"high":0.19,"low":0.18,"close":0.19,"bid":0.15,"ask":0.21,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0297616454692635,"gamma":0.006767981662863977,"theta":-0.003291741969657422,"vega":0.013175983080704218,"rho":0.06392934989805511,"phi":-0.13591728835748995,"bid_iv":0.561315,"mid_iv":0.582278,"ask_iv":0.60324,"smv_vol":0.578,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":18.75,"average_volume":0,"last_volume":5,"trade_date":1718386455968,"prevclose":0.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1661,"bidexch":"C","bid_date":1718395196000,"asksize":495,"askexch":"C","ask_date":1718395196000,"open_interest":23606,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00012000","description":"PLTR + Jan 17 2025 $12.00 Call","exch":"Z","type":"option","last":12.1,"change":0.16,"volume":2,"open":11.76,"high":12.1,"low":11.76,"close":12.1,"bid":12.15,"ask":12.4,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9702383545307365,"gamma":0.006767981662863977,"theta":-0.003291741969657422,"vega":0.013175983080704218,"rho":0.06392934989805511,"phi":-0.13591728835748995,"bid_iv":0.0,"mid_iv":0.646139,"ask_iv":0.646139,"smv_vol":0.578,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.34,"average_volume":0,"last_volume":1,"trade_date":1718389009672,"prevclose":11.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":18,"bidexch":"P","bid_date":1718395158000,"asksize":219,"askexch":"E","ask_date":1718395160000,"open_interest":12581,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00015000","description":"PLTR + Jan 17 2025 $15.00 Put","exch":"Z","type":"option","last":0.5,"change":-0.01,"volume":54,"open":0.52,"high":0.53,"low":0.5,"close":0.5,"bid":0.48,"ask":0.51,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0855631403939499,"gamma":0.015847806339211814,"theta":-0.005515339893565893,"vega":0.02936081157318029,"rho":0.07134030948634391,"phi":-0.12808698206967506,"bid_iv":0.546999,"mid_iv":0.552061,"ask_iv":0.557124,"smv_vol":0.555,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.97,"average_volume":0,"last_volume":2,"trade_date":1718390946706,"prevclose":0.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":708,"bidexch":"E","bid_date":1718395161000,"asksize":21,"askexch":"D","ask_date":1718395200000,"open_interest":29440,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00015000","description":"PLTR + Jan 17 2025 $15.00 Call","exch":"Z","type":"option","last":9.7,"change":0.29,"volume":150,"open":9.0,"high":9.7,"low":9.0,"close":9.7,"bid":9.55,"ask":9.8,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9144368596060501,"gamma":0.015847806339211814,"theta":-0.005515339893565893,"vega":0.02936081157318029,"rho":0.07134030948634391,"phi":-0.12808698206967506,"bid_iv":0.544887,"mid_iv":0.561265,"ask_iv":0.577644,"smv_vol":0.555,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.09,"average_volume":0,"last_volume":1,"trade_date":1718391617141,"prevclose":9.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1718395199000,"asksize":130,"askexch":"Q","ask_date":1718395199000,"open_interest":21443,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00017000","description":"PLTR + Jan 17 2025 $17.00 Put","exch":"Z","type":"option","last":0.87,"change":-0.02,"volume":136,"open":0.93,"high":0.93,"low":0.87,"close":0.87,"bid":0.85,"ask":0.9,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1406129079234788,"gamma":0.022870426681989447,"theta":-0.00703778684433067,"vega":0.04184820120013954,"rho":0.07277332203591685,"phi":-0.12036486811695113,"bid_iv":0.534086,"mid_iv":0.540021,"ask_iv":0.545955,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.25,"average_volume":0,"last_volume":2,"trade_date":1718393262736,"prevclose":0.89,"week_52_high":0.0,"week_52_low":0.0,"bidsize":412,"bidexch":"E","bid_date":1718395199000,"asksize":300,"askexch":"B","ask_date":1718395194000,"open_interest":11660,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00017000","description":"PLTR + Jan 17 2025 $17.00 Call","exch":"Z","type":"option","last":8.07,"change":0.17,"volume":92,"open":7.63,"high":8.07,"low":7.63,"close":8.07,"bid":7.95,"ask":8.25,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8593870920765212,"gamma":0.022870426681989447,"theta":-0.00703778684433067,"vega":0.04184820120013954,"rho":0.07277332203591685,"phi":-0.12036486811695113,"bid_iv":0.536928,"mid_iv":0.5429,"ask_iv":0.548871,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.16,"average_volume":0,"last_volume":1,"trade_date":1718392643851,"prevclose":7.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":166,"bidexch":"E","bid_date":1718395199000,"asksize":521,"askexch":"E","ask_date":1718395199000,"open_interest":15053,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00020000","description":"PLTR + Jan 17 2025 $20.00 Put","exch":"Z","type":"option","last":1.77,"change":-0.04,"volume":204,"open":1.91,"high":1.91,"low":1.74,"close":1.77,"bid":1.75,"ask":1.78,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2445891092503163,"gamma":0.03274767690674331,"theta":-0.008919301649297188,"vega":0.05634027012262021,"rho":0.07014519710859055,"phi":-0.10578434185504193,"bid_iv":0.527325,"mid_iv":0.52907,"ask_iv":0.530814,"smv_vol":0.531,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.21,"average_volume":0,"last_volume":1,"trade_date":1718393982740,"prevclose":1.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"H","bid_date":1718395199000,"asksize":2,"askexch":"N","ask_date":1718394915000,"open_interest":17393,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00020000","description":"PLTR + Jan 17 2025 $20.00 Call","exch":"Z","type":"option","last":6.0,"change":0.30,"volume":293,"open":5.63,"high":6.05,"low":5.48,"close":6.0,"bid":5.95,"ask":6.05,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7554108907496837,"gamma":0.03274767690674331,"theta":-0.008919301649297188,"vega":0.05634027012262021,"rho":0.07014519710859055,"phi":-0.10578434185504193,"bid_iv":0.521609,"mid_iv":0.530345,"ask_iv":0.53908,"smv_vol":0.531,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.27,"average_volume":0,"last_volume":3,"trade_date":1718394653535,"prevclose":5.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":607,"bidexch":"E","bid_date":1718395199000,"asksize":33,"askexch":"X","ask_date":1718395198000,"open_interest":30117,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00022000","description":"PLTR + Jan 17 2025 $22.00 Put","exch":"Z","type":"option","last":2.61,"change":-0.03,"volume":290,"open":2.71,"high":2.71,"low":2.6,"close":2.61,"bid":2.58,"ask":2.64,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3231407189763005,"gamma":0.037750435939253715,"theta":-0.009723283162194563,"vega":0.06555728589559363,"rho":0.06578527977817465,"phi":-0.09477254002909774,"bid_iv":0.520765,"mid_iv":0.526824,"ask_iv":0.532884,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.14,"average_volume":0,"last_volume":2,"trade_date":1718394832815,"prevclose":2.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":297,"bidexch":"B","bid_date":1718395195000,"asksize":8,"askexch":"J","ask_date":1718395199000,"open_interest":9958,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00022000","description":"PLTR + Jan 17 2025 $22.00 Call","exch":"Z","type":"option","last":4.85,"change":0.20,"volume":217,"open":4.55,"high":4.95,"low":4.45,"close":4.85,"bid":4.85,"ask":4.95,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6768592810236995,"gamma":0.037750435939253715,"theta":-0.009723283162194563,"vega":0.06555728589559363,"rho":0.06578527977817465,"phi":-0.09477254002909774,"bid_iv":0.520819,"mid_iv":0.524634,"ask_iv":0.528448,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.31,"average_volume":0,"last_volume":1,"trade_date":1718394687294,"prevclose":4.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1718395199000,"asksize":3,"askexch":"J","ask_date":1718395197000,"open_interest":14237,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00025000","description":"PLTR + Jan 17 2025 $25.00 Put","exch":"Z","type":"option","last":4.15,"change":-0.20,"volume":16,"open":4.5,"high":4.5,"low":4.15,"close":4.15,"bid":4.15,"ask":4.25,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.4437948924282887,"gamma":0.04186441955615007,"theta":-0.01019982950736402,"vega":0.07184688827381315,"rho":0.05693356893831452,"phi":-0.07786357333117166,"bid_iv":0.513796,"mid_iv":0.520792,"ask_iv":0.527788,"smv_vol":0.521,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.60,"average_volume":0,"last_volume":1,"trade_date":1718391356099,"prevclose":4.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":167,"bidexch":"H","bid_date":1718395198000,"asksize":253,"askexch":"E","ask_date":1718395198000,"open_interest":12911,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00025000","description":"PLTR + Jan 17 2025 $25.00 Call","exch":"Z","type":"option","last":3.5,"change":0.18,"volume":821,"open":3.15,"high":3.6,"low":3.1,"close":3.5,"bid":3.5,"ask":3.55,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.5562051075717113,"gamma":0.04186441955615007,"theta":-0.01019982950736402,"vega":0.07184688827381315,"rho":0.05693356893831452,"phi":-0.07786357333117166,"bid_iv":0.517518,"mid_iv":0.520998,"ask_iv":0.524479,"smv_vol":0.521,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.43,"average_volume":0,"last_volume":3,"trade_date":1718395048362,"prevclose":3.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":170,"bidexch":"D","bid_date":1718395160000,"asksize":46,"askexch":"B","ask_date":1718395195000,"open_interest":31232,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00027000","description":"PLTR + Jan 17 2025 $27.00 Put","exch":"Z","type":"option","last":5.48,"change":-0.17,"volume":87,"open":5.76,"high":5.76,"low":5.48,"close":5.48,"bid":5.4,"ask":5.65,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5203241678909556,"gamma":0.04229110510296914,"theta":-0.01008122370731661,"vega":0.07226185621158505,"rho":0.05038812903757557,"phi":-0.06714150818432074,"bid_iv":0.516347,"mid_iv":0.519874,"ask_iv":0.523401,"smv_vol":0.519,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.01,"average_volume":0,"last_volume":1,"trade_date":1718394743093,"prevclose":5.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":197,"bidexch":"E","bid_date":1718395199000,"asksize":373,"askexch":"E","ask_date":1718395199000,"open_interest":3086,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00027000","description":"PLTR + Jan 17 2025 $27.00 Call","exch":"Z","type":"option","last":2.81,"change":0.09,"volume":469,"open":2.5,"high":2.85,"low":2.5,"close":2.81,"bid":2.79,"ask":2.9,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.4796758321090444,"gamma":0.04229110510296914,"theta":-0.01008122370731661,"vega":0.07226185621158505,"rho":0.05038812903757557,"phi":-0.06714150818432074,"bid_iv":0.515662,"mid_iv":0.518427,"ask_iv":0.521193,"smv_vol":0.519,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.31,"average_volume":0,"last_volume":1,"trade_date":1718394782051,"prevclose":2.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1718395199000,"asksize":5,"askexch":"J","ask_date":1718395199000,"open_interest":13025,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00030000","description":"PLTR + Jan 17 2025 $30.00 Put","exch":"Z","type":"option","last":7.7,"change":0.35,"volume":70,"open":7.9,"high":7.9,"low":7.7,"close":7.7,"bid":7.6,"ask":7.7,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.6228712128473299,"gamma":0.0402544367239631,"theta":-0.009440887757260062,"vega":0.06714669282987054,"rho":0.04081680894618467,"phi":-0.052777904153700206,"bid_iv":0.511625,"mid_iv":0.519438,"ask_iv":0.527251,"smv_vol":0.521,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.77,"average_volume":0,"last_volume":2,"trade_date":1718394329162,"prevclose":7.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":214,"bidexch":"E","bid_date":1718395197000,"asksize":156,"askexch":"E","ask_date":1718395158000,"open_interest":2480,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00030000","description":"PLTR + Jan 17 2025 $30.00 Call","exch":"Z","type":"option","last":2.0,"change":0.12,"volume":1798,"open":1.88,"high":2.03,"low":1.75,"close":2.0,"bid":1.98,"ask":2.05,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.3771287871526701,"gamma":0.0402544367239631,"theta":-0.009440887757260062,"vega":0.06714669282987054,"rho":0.04081680894618467,"phi":-0.052777904153700206,"bid_iv":0.516023,"mid_iv":0.519697,"ask_iv":0.52337,"smv_vol":0.521,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.39,"average_volume":0,"last_volume":5,"trade_date":1718395173226,"prevclose":1.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":245,"bidexch":"B","bid_date":1718395194000,"asksize":7,"askexch":"E","ask_date":1718395196000,"open_interest":34533,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117C00032000","description":"PLTR + Jan 17 2025 $32.00 Call","exch":"Z","type":"option","last":1.61,"change":0.09,"volume":303,"open":1.45,"high":1.62,"low":1.44,"close":1.61,"bid":1.56,"ask":1.8,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.3191453854621599,"gamma":0.03766930224016583,"theta":-0.008800428573809256,"vega":0.06556693558729378,"rho":0.035059625192612846,"phi":-0.044658270352826435,"bid_iv":0.515738,"mid_iv":0.52263,"ask_iv":0.529521,"smv_vol":0.522,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.93,"average_volume":0,"last_volume":2,"trade_date":1718395041569,"prevclose":1.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":53,"bidexch":"X","bid_date":1718395198000,"asksize":1189,"askexch":"E","ask_date":1718395199000,"open_interest":9038,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00032000","description":"PLTR + Jan 17 2025 $32.00 Put","exch":"Z","type":"option","last":8.85,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.2,"ask":9.35,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.6808546145378401,"gamma":0.03766930224016583,"theta":-0.008800428573809256,"vega":0.06556693558729378,"rho":0.035059625192612846,"phi":-0.044658270352826435,"bid_iv":0.518396,"mid_iv":0.529094,"ask_iv":0.539792,"smv_vol":0.522,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718199150657,"prevclose":8.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"E","bid_date":1718395198000,"asksize":100,"askexch":"E","ask_date":1718395199000,"open_interest":3429,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117P00035000","description":"PLTR + Jan 17 2025 $35.00 Put","exch":"Z","type":"option","last":12.14,"change":0.04,"volume":3,"open":12.14,"high":12.14,"low":12.14,"close":12.14,"bid":11.75,"ask":11.9,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7533105246253368,"gamma":0.03301490294424477,"theta":-0.00773109505443539,"vega":0.05895752803303579,"rho":0.027592741079904705,"phi":-0.034513992326346,"bid_iv":0.513937,"mid_iv":0.524763,"ask_iv":0.535589,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.34,"average_volume":0,"last_volume":3,"trade_date":1718380204565,"prevclose":12.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":145,"bidexch":"E","bid_date":1718395198000,"asksize":65,"askexch":"X","ask_date":1718395198000,"open_interest":1169,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00035000","description":"PLTR + Jan 17 2025 $35.00 Call","exch":"Z","type":"option","last":1.18,"change":0.09,"volume":202,"open":1.03,"high":1.18,"low":1.03,"close":1.18,"bid":1.11,"ask":1.19,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.2466894753746632,"gamma":0.03301490294424477,"theta":-0.00773109505443539,"vega":0.05895752803303579,"rho":0.027592741079904705,"phi":-0.034513992326346,"bid_iv":0.518966,"mid_iv":0.522354,"ask_iv":0.525743,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.26,"average_volume":0,"last_volume":2,"trade_date":1718393949302,"prevclose":1.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"X","bid_date":1718395198000,"asksize":4,"askexch":"J","ask_date":1718395197000,"open_interest":15424,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00037000","description":"PLTR + Jan 17 2025 $37.00 Put","exch":"Z","type":"option","last":14.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.55,"ask":14.05,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.7929869430418305,"gamma":0.029761903766256394,"theta":-0.006990518970141301,"vega":0.04971465506806758,"rho":0.023387825938079504,"phi":-0.028960033813252295,"bid_iv":0.507057,"mid_iv":0.57626,"ask_iv":0.645463,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717607987303,"prevclose":14.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":165,"bidexch":"M","bid_date":1718395197000,"asksize":599,"askexch":"E","ask_date":1718395199000,"open_interest":147,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00037000","description":"PLTR + Jan 17 2025 $37.00 Call","exch":"Z","type":"option","last":0.9,"change":0.04,"volume":8,"open":0.85,"high":0.9,"low":0.85,"close":0.9,"bid":0.86,"ask":1.28,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.20701305695816954,"gamma":0.029761903766256394,"theta":-0.006990518970141301,"vega":0.04971465506806758,"rho":0.023387825938079504,"phi":-0.028960033813252295,"bid_iv":0.501404,"mid_iv":0.514476,"ask_iv":0.527548,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.66,"average_volume":0,"last_volume":2,"trade_date":1718384171220,"prevclose":0.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":54,"bidexch":"X","bid_date":1718395198000,"asksize":200,"askexch":"E","ask_date":1718395199000,"open_interest":8970,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250117P00040000","description":"PLTR + Jan 17 2025 $40.00 Put","exch":"Z","type":"option","last":18.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.15,"ask":16.85,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.8408799334194884,"gamma":0.025041731766445207,"theta":-0.00592524539420875,"vega":0.046561913848016785,"rho":0.01819819150561462,"phi":-0.022257021878857586,"bid_iv":0.0,"mid_iv":0.637035,"ask_iv":0.637035,"smv_vol":0.526,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1715091140704,"prevclose":18.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"N","bid_date":1718395107000,"asksize":103,"askexch":"N","ask_date":1718395107000,"open_interest":0,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250117C00040000","description":"PLTR + Jan 17 2025 $40.00 Call","exch":"Z","type":"option","last":0.65,"change":0.05,"volume":789,"open":0.6,"high":0.7,"low":0.57,"close":0.65,"bid":0.55,"ask":0.69,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.15912006658051156,"gamma":0.025041731766445207,"theta":-0.00592524539420875,"vega":0.046561913848016785,"rho":0.01819819150561462,"phi":-0.022257021878857586,"bid_iv":0.516924,"mid_iv":0.524767,"ask_iv":0.532609,"smv_vol":0.526,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.34,"average_volume":0,"last_volume":1,"trade_date":1718395090954,"prevclose":0.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":381,"bidexch":"M","bid_date":1718395195000,"asksize":349,"askexch":"M","ask_date":1718395158000,"open_interest":24421,"contract_size":100,"expiration_date":"2025-01-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -329,17 +466,95 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: - '200' X-Ratelimit-Available: - - '196' + - '197' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - - '4' + - '3' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2025-03-21&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR250321P00013000","description":"PLTR + Mar 21 2025 $13.00 Put","exch":"Z","type":"option","last":0.44,"change":0.01,"volume":32,"open":0.46,"high":0.46,"low":0.44,"close":0.44,"bid":0.41,"ask":0.45,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0647934083182302,"gamma":0.010641195352728505,"theta":-0.004343734091643357,"vega":0.027074275614597187,"rho":0.08051991684135887,"phi":-0.16900490047433436,"bid_iv":0.572395,"mid_iv":0.579723,"ask_iv":0.58705,"smv_vol":0.587,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.33,"average_volume":0,"last_volume":30,"trade_date":1718385719621,"prevclose":0.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":466,"bidexch":"E","bid_date":1718395199000,"asksize":1,"askexch":"N","ask_date":1718386972000,"open_interest":6136,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00013000","description":"PLTR + Mar 21 2025 $13.00 Call","exch":"Z","type":"option","last":11.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.45,"ask":12.45,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9352065916817698,"gamma":0.010641195352728505,"theta":-0.004343734091643357,"vega":0.027074275614597187,"rho":0.08051991684135887,"phi":-0.16900490047433436,"bid_iv":0.540838,"mid_iv":0.694918,"ask_iv":0.848999,"smv_vol":0.587,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718132826480,"prevclose":11.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":305,"bidexch":"E","bid_date":1718395156000,"asksize":377,"askexch":"E","ask_date":1718395156000,"open_interest":99,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00015000","description":"PLTR + Mar 21 2025 $15.00 Put","exch":"Z","type":"option","last":0.78,"change":0.01,"volume":1,"open":0.78,"high":0.78,"low":0.78,"close":0.78,"bid":0.5,"ask":1.4,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.1067330693265065,"gamma":0.015732373431405475,"theta":-0.0056099359120735295,"vega":0.0366727387476202,"rho":0.08501581581618162,"phi":-0.16141574329608943,"bid_iv":0.487001,"mid_iv":0.604921,"ask_iv":0.722842,"smv_vol":0.58,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.30,"average_volume":0,"last_volume":1,"trade_date":1718388600077,"prevclose":0.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1389,"bidexch":"E","bid_date":1718395197000,"asksize":1721,"askexch":"C","ask_date":1718395196000,"open_interest":2474,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00015000","description":"PLTR + Mar 21 2025 $15.00 Call","exch":"Z","type":"option","last":10.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.95,"ask":10.35,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.8932669306734935,"gamma":0.015732373431405475,"theta":-0.0056099359120735295,"vega":0.0366727387476202,"rho":0.08501581581618162,"phi":-0.16141574329608943,"bid_iv":0.56446,"mid_iv":0.577284,"ask_iv":0.590107,"smv_vol":0.58,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718212953820,"prevclose":10.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1718395199000,"asksize":121,"askexch":"N","ask_date":1718395199000,"open_interest":679,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00018000","description":"PLTR + Mar 21 2025 $18.00 Put","exch":"Z","type":"option","last":1.7,"change":0.16,"volume":1,"open":1.7,"high":1.7,"low":1.7,"close":1.7,"bid":1.47,"ask":1.86,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.188213530409046,"gamma":0.023474733314895413,"theta":-0.007338254811584649,"vega":0.05584483373132767,"rho":0.08632366458469301,"phi":-0.1466754029788575,"bid_iv":0.541498,"mid_iv":0.57592,"ask_iv":0.610341,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.39,"average_volume":0,"last_volume":1,"trade_date":1718393404804,"prevclose":1.54,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1128,"bidexch":"E","bid_date":1718395198000,"asksize":1571,"askexch":"E","ask_date":1718395198000,"open_interest":1860,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00018000","description":"PLTR + Mar 21 2025 $18.00 Call","exch":"Z","type":"option","last":7.95,"change":0.25,"volume":18,"open":7.35,"high":7.95,"low":7.35,"close":7.95,"bid":7.8,"ask":8.1,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.811786469590954,"gamma":0.023474733314895413,"theta":-0.007338254811584649,"vega":0.05584483373132767,"rho":0.08632366458469301,"phi":-0.1466754029788575,"bid_iv":0.545533,"mid_iv":0.558966,"ask_iv":0.5724,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.25,"average_volume":0,"last_volume":2,"trade_date":1718394981617,"prevclose":7.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":479,"bidexch":"E","bid_date":1718395199000,"asksize":374,"askexch":"E","ask_date":1718395199000,"open_interest":3250,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00020000","description":"PLTR + Mar 21 2025 $20.00 Put","exch":"Z","type":"option","last":2.3,"change":-0.01,"volume":2,"open":2.25,"high":2.3,"low":2.25,"close":2.3,"bid":2.2,"ask":2.53,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2509936886862625,"gamma":0.028041053604867958,"theta":-0.008225431584153285,"vega":0.06560612722764793,"rho":0.08428471635691923,"phi":-0.13532059859322487,"bid_iv":0.539031,"mid_iv":0.562362,"ask_iv":0.585693,"smv_vol":0.554,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.44,"average_volume":0,"last_volume":1,"trade_date":1718377189200,"prevclose":2.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":753,"bidexch":"E","bid_date":1718395160000,"asksize":2434,"askexch":"X","ask_date":1718395160000,"open_interest":4732,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00020000","description":"PLTR + Mar 21 2025 $20.00 Call","exch":"Z","type":"option","last":6.7,"change":0.30,"volume":16,"open":6.3,"high":6.7,"low":6.3,"close":6.7,"bid":5.6,"ask":8.6,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7490063113137375,"gamma":0.028041053604867958,"theta":-0.008225431584153285,"vega":0.06560612722764793,"rho":0.08428471635691923,"phi":-0.13532059859322487,"bid_iv":0.543188,"mid_iv":0.550812,"ask_iv":0.558436,"smv_vol":0.554,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.69,"average_volume":0,"last_volume":1,"trade_date":1718394263816,"prevclose":6.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":378,"bidexch":"E","bid_date":1718395199000,"asksize":521,"askexch":"E","ask_date":1718395199000,"open_interest":1009,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00022000","description":"PLTR + Mar 21 2025 $22.00 Put","exch":"Z","type":"option","last":3.2,"change":0.05,"volume":5,"open":3.2,"high":3.2,"low":3.2,"close":3.2,"bid":3.05,"ask":3.4,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.317683800479347,"gamma":0.031727746299065294,"theta":-0.008845851665221262,"vega":0.0736222619816053,"rho":0.08040434060193145,"phi":-0.12326072179824621,"bid_iv":0.531095,"mid_iv":0.537834,"ask_iv":0.544573,"smv_vol":0.544,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.59,"average_volume":0,"last_volume":4,"trade_date":1718382625167,"prevclose":3.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1029,"bidexch":"E","bid_date":1718395199000,"asksize":311,"askexch":"E","ask_date":1718395199000,"open_interest":1052,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00022000","description":"PLTR + Mar 21 2025 $22.00 Call","exch":"Z","type":"option","last":5.35,"change":-0.05,"volume":24,"open":5.2,"high":5.41,"low":5.15,"close":5.35,"bid":5.5,"ask":5.6,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.682316199520653,"gamma":0.031727746299065294,"theta":-0.008845851665221262,"vega":0.0736222619816053,"rho":0.08040434060193145,"phi":-0.12326072179824621,"bid_iv":0.533783,"mid_iv":0.540575,"ask_iv":0.547367,"smv_vol":0.544,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.93,"average_volume":0,"last_volume":1,"trade_date":1718379994218,"prevclose":5.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":415,"bidexch":"E","bid_date":1718395197000,"asksize":77,"askexch":"A","ask_date":1718395161000,"open_interest":885,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00025000","description":"PLTR + Mar 21 2025 $25.00 Put","exch":"Z","type":"option","last":4.75,"change":0.15,"volume":57,"open":4.93,"high":4.93,"low":4.75,"close":4.75,"bid":4.65,"ask":4.8,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.4194350844469753,"gamma":0.03523628663906284,"theta":-0.009268628345846073,"vega":0.08048922011864704,"rho":0.0722387880396608,"phi":-0.10486440152668308,"bid_iv":0.525442,"mid_iv":0.534849,"ask_iv":0.544255,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.27,"average_volume":0,"last_volume":1,"trade_date":1718394686907,"prevclose":4.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1269,"bidexch":"E","bid_date":1718395198000,"asksize":44,"askexch":"X","ask_date":1718395197000,"open_interest":2018,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00025000","description":"PLTR + Mar 21 2025 $25.00 Call","exch":"Z","type":"option","last":4.25,"change":0.15,"volume":483,"open":3.91,"high":4.3,"low":3.9,"close":4.25,"bid":4.2,"ask":4.3,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.5805649155530247,"gamma":0.03523628663906284,"theta":-0.009268628345846073,"vega":0.08048922011864704,"rho":0.0722387880396608,"phi":-0.10486440152668308,"bid_iv":0.532004,"mid_iv":0.538217,"ask_iv":0.54443,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.66,"average_volume":0,"last_volume":13,"trade_date":1718392598351,"prevclose":4.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":213,"bidexch":"C","bid_date":1718395196000,"asksize":30,"askexch":"B","ask_date":1718395195000,"open_interest":1828,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00027000","description":"PLTR + Mar 21 2025 $27.00 Put","exch":"Z","type":"option","last":6.05,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":4.95,"ask":6.55,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.4852586163672148,"gamma":0.03620960812937447,"theta":-0.009245347296468542,"vega":0.08330519194529318,"rho":0.06592393633057625,"phi":-0.09296605408160019,"bid_iv":0.52915,"mid_iv":0.53536,"ask_iv":0.541571,"smv_vol":0.535,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718292304886,"prevclose":6.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":118,"bidexch":"N","bid_date":1718395199000,"asksize":400,"askexch":"E","ask_date":1718395199000,"open_interest":267,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00027000","description":"PLTR + Mar 21 2025 $27.00 Call","exch":"Z","type":"option","last":3.56,"change":0.21,"volume":155,"open":3.45,"high":3.57,"low":3.45,"close":3.56,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.5147413836327852,"gamma":0.03620960812937447,"theta":-0.009245347296468542,"vega":0.08330519194529318,"rho":0.06592393633057625,"phi":-0.09296605408160019,"bid_iv":0.531944,"mid_iv":0.537951,"ask_iv":0.543957,"smv_vol":0.535,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.27,"average_volume":0,"last_volume":2,"trade_date":1718393215675,"prevclose":3.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":288,"bidexch":"E","bid_date":1718395199000,"asksize":44,"askexch":"X","ask_date":1718395195000,"open_interest":1022,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00030000","description":"PLTR + Mar 21 2025 $30.00 Put","exch":"Z","type":"option","last":8.85,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.05,"ask":8.65,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.5762907922111309,"gamma":0.03578857257727603,"theta":-0.008844828658532363,"vega":0.07966758734006943,"rho":0.05614720111950921,"phi":-0.0765141556868798,"bid_iv":0.524558,"mid_iv":0.531122,"ask_iv":0.537687,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717598504281,"prevclose":8.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":72,"bidexch":"E","bid_date":1718395197000,"asksize":291,"askexch":"E","ask_date":1718395197000,"open_interest":56,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00030000","description":"PLTR + Mar 21 2025 $30.00 Call","exch":"Z","type":"option","last":2.71,"change":0.15,"volume":624,"open":2.89,"high":2.89,"low":2.51,"close":2.71,"bid":2.65,"ask":3.0,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.42370920778886906,"gamma":0.03578857257727603,"theta":-0.008844828658532363,"vega":0.07966758734006943,"rho":0.05614720111950921,"phi":-0.0765141556868798,"bid_iv":0.53064,"mid_iv":0.535039,"ask_iv":0.539438,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.86,"average_volume":0,"last_volume":20,"trade_date":1718392274613,"prevclose":2.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"E","bid_date":1718395198000,"asksize":386,"askexch":"E","ask_date":1718395198000,"open_interest":3300,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321C00032000","description":"PLTR + Mar 21 2025 $32.00 Call","exch":"Z","type":"option","last":2.25,"change":0.13,"volume":11,"open":2.0,"high":2.25,"low":2.0,"close":2.25,"bid":2.05,"ask":2.27,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.3692949357980408,"gamma":0.03457541760731851,"theta":-0.008406781350319989,"vega":0.07857735498909835,"rho":0.049846035493352,"phi":-0.06668181096181058,"bid_iv":0.510023,"mid_iv":0.525241,"ask_iv":0.54046,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.14,"average_volume":0,"last_volume":1,"trade_date":1718392893722,"prevclose":2.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":734,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"J","ask_date":1718395195000,"open_interest":1005,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR250321P00032000","description":"PLTR + Mar 21 2025 $32.00 Put","exch":"Z","type":"option","last":9.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.35,"ask":11.8,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.6307050642019592,"gamma":0.03457541760731851,"theta":-0.008406781350319989,"vega":0.07857735498909835,"rho":0.049846035493352,"phi":-0.06668181096181058,"bid_iv":0.523998,"mid_iv":0.534652,"ask_iv":0.545306,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718210315945,"prevclose":9.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":48,"bidexch":"M","bid_date":1718395199000,"asksize":716,"askexch":"E","ask_date":1718395199000,"open_interest":87,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321P00035000","description":"PLTR + Mar 21 2025 $35.00 Put","exch":"Z","type":"option","last":14.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.05,"ask":14.15,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7018939128156683,"gamma":0.031835113965736454,"theta":-0.007608216242152854,"vega":0.07212967662394329,"rho":0.041159682680158634,"phi":-0.053820483210120784,"bid_iv":0.509344,"mid_iv":0.527383,"ask_iv":0.545422,"smv_vol":0.524,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717078272887,"prevclose":14.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":145,"bidexch":"E","bid_date":1718395197000,"asksize":358,"askexch":"E","ask_date":1718395197000,"open_interest":53,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR250321C00035000","description":"PLTR + Mar 21 2025 $35.00 Call","exch":"Z","type":"option","last":1.74,"change":0.09,"volume":73,"open":1.65,"high":1.75,"low":1.5,"close":1.74,"bid":1.44,"ask":1.83,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.2981060871843317,"gamma":0.031835113965736454,"theta":-0.007608216242152854,"vega":0.07212967662394329,"rho":0.041159682680158634,"phi":-0.053820483210120784,"bid_iv":0.490849,"mid_iv":0.51648,"ask_iv":0.54211,"smv_vol":0.524,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.46,"average_volume":0,"last_volume":3,"trade_date":1718394221177,"prevclose":1.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":333,"bidexch":"E","bid_date":1718395198000,"asksize":472,"askexch":"E","ask_date":1718395198000,"open_interest":563,"contract_size":100,"expiration_date":"2025-03-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '199' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '1' status: code: 200 message: '' @@ -355,90 +570,98 @@ interactions: response: body: string: '{"options":{"option":[{"symbol":"PLTR241115P00013000","description":"PLTR - Nov 15 2024 $13.00 Put","exch":"Z","type":"option","last":0.46,"change":-0.02,"volume":1,"open":0.46,"high":0.46,"low":0.46,"close":0.46,"bid":0.44,"ask":0.47,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0561011403413552,"gamma":0.007748691924210586,"theta":-0.004916075878960603,"vega":0.024279441077293122,"rho":0.07319953201281476,"phi":-0.16968562301045154,"bid_iv":0.672621,"mid_iv":0.678745,"ask_iv":0.684868,"smv_vol":0.675,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.17,"average_volume":0,"last_volume":1,"trade_date":1709914851422,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":707,"bidexch":"D","bid_date":1709931584000,"asksize":302,"askexch":"B","ask_date":1709931587000,"open_interest":72,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00013000","description":"PLTR - Nov 15 2024 $13.00 Call","exch":"Z","type":"option","last":14.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.0,"ask":14.05,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9438988596586448,"gamma":0.007748691924210586,"theta":-0.004916075878960603,"vega":0.024279441077293122,"rho":0.07319953201281476,"phi":-0.16968562301045154,"bid_iv":0.188132,"mid_iv":0.443885,"ask_iv":0.699638,"smv_vol":0.675,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709756066601,"prevclose":14.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"X","bid_date":1709931595000,"asksize":16,"askexch":"M","ask_date":1709931586000,"open_interest":107,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00015000","description":"PLTR - Nov 15 2024 $15.00 Put","exch":"Z","type":"option","last":0.78,"change":-0.02,"volume":3,"open":0.77,"high":0.78,"low":0.77,"close":0.78,"bid":0.77,"ask":0.79,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0893501909744523,"gamma":0.01124732996213523,"theta":-0.006381764236275857,"vega":0.03681859085419051,"rho":0.07826672506898587,"phi":-0.16370161851853027,"bid_iv":0.664501,"mid_iv":0.667267,"ask_iv":0.670033,"smv_vol":0.665,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.50,"average_volume":0,"last_volume":1,"trade_date":1709914998440,"prevclose":0.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":191,"bidexch":"D","bid_date":1709931590000,"asksize":179,"askexch":"B","ask_date":1709931586000,"open_interest":77,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00015000","description":"PLTR - Nov 15 2024 $15.00 Call","exch":"Z","type":"option","last":12.45,"change":-0.67,"volume":1,"open":12.45,"high":12.45,"low":12.45,"close":12.45,"bid":12.3,"ask":12.45,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9106498090255477,"gamma":0.01124732996213523,"theta":-0.006381764236275857,"vega":0.03681859085419051,"rho":0.07826672506898587,"phi":-0.16370161851853027,"bid_iv":0.642052,"mid_iv":0.66332,"ask_iv":0.684588,"smv_vol":0.665,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.11,"average_volume":0,"last_volume":1,"trade_date":1709925746497,"prevclose":13.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"C","bid_date":1709931560000,"asksize":20,"askexch":"M","ask_date":1709931560000,"open_interest":44,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00016000","description":"PLTR - Nov 15 2024 $16.00 Put","exch":"Z","type":"option","last":0.99,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":0.97,"ask":1.0,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.1089426540581935,"gamma":0.013086740543248609,"theta":-0.007109346054402665,"vega":0.041916380740197025,"rho":0.0799523969661712,"phi":-0.16017586361272151,"bid_iv":0.658054,"mid_iv":0.661608,"ask_iv":0.665162,"smv_vol":0.661,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709831983310,"prevclose":0.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":308,"bidexch":"B","bid_date":1709931573000,"asksize":311,"askexch":"B","ask_date":1709931585000,"open_interest":1011,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00016000","description":"PLTR - Nov 15 2024 $16.00 Call","exch":"Z","type":"option","last":11.6,"change":-0.35,"volume":6,"open":12.61,"high":12.61,"low":11.6,"close":11.6,"bid":11.55,"ask":11.65,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.8910573459418065,"gamma":0.013086740543248609,"theta":-0.007109346054402665,"vega":0.041916380740197025,"rho":0.0799523969661712,"phi":-0.16017586361272151,"bid_iv":0.639085,"mid_iv":0.653226,"ask_iv":0.667367,"smv_vol":0.661,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.93,"average_volume":0,"last_volume":1,"trade_date":1709922619570,"prevclose":11.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":286,"bidexch":"E","bid_date":1709931573000,"asksize":167,"askexch":"E","ask_date":1709931573000,"open_interest":15,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00017000","description":"PLTR - Nov 15 2024 $17.00 Put","exch":"Z","type":"option","last":1.21,"change":0.00,"volume":22,"open":null,"high":null,"low":null,"close":null,"bid":1.21,"ask":1.24,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1303145183961957,"gamma":0.014932520946141462,"theta":-0.007816202783391233,"vega":0.047125609847936324,"rho":0.08109346657700334,"phi":-0.15633018470850857,"bid_iv":0.653831,"mid_iv":0.656991,"ask_iv":0.66015,"smv_vol":0.657,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1709843093864,"prevclose":1.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":175,"bidexch":"B","bid_date":1709931585000,"asksize":368,"askexch":"D","ask_date":1709931584000,"open_interest":62,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00017000","description":"PLTR - Nov 15 2024 $17.00 Call","exch":"Z","type":"option","last":11.0,"change":-0.25,"volume":7,"open":11.75,"high":11.75,"low":11.0,"close":11.0,"bid":10.85,"ask":10.9,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8696854816038043,"gamma":0.014932520946141462,"theta":-0.007816202783391233,"vega":0.047125609847936324,"rho":0.08109346657700334,"phi":-0.15633018470850857,"bid_iv":0.646414,"mid_iv":0.657036,"ask_iv":0.667658,"smv_vol":0.657,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.23,"average_volume":0,"last_volume":1,"trade_date":1709928600403,"prevclose":11.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Q","bid_date":1709931594000,"asksize":14,"askexch":"D","ask_date":1709931586000,"open_interest":41,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00018000","description":"PLTR - Nov 15 2024 $18.00 Put","exch":"Z","type":"option","last":1.47,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.49,"ask":1.52,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1531874387207047,"gamma":0.016754649676833457,"theta":-0.008493632693284677,"vega":0.05236504682480772,"rho":0.08175049983251713,"phi":-0.15221468327553112,"bid_iv":0.651593,"mid_iv":0.654436,"ask_iv":0.657278,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709837321302,"prevclose":1.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":178,"bidexch":"A","bid_date":1709931563000,"asksize":173,"askexch":"D","ask_date":1709931590000,"open_interest":73,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00018000","description":"PLTR - Nov 15 2024 $18.00 Call","exch":"Z","type":"option","last":10.55,"change":0.05,"volume":10,"open":10.55,"high":10.55,"low":10.55,"close":10.55,"bid":10.15,"ask":10.25,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8468125612792953,"gamma":0.016754649676833457,"theta":-0.008493632693284677,"vega":0.05236504682480772,"rho":0.08175049983251713,"phi":-0.15221468327553112,"bid_iv":0.642465,"mid_iv":0.652018,"ask_iv":0.661571,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.48,"average_volume":0,"last_volume":1,"trade_date":1709914551351,"prevclose":10.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"C","bid_date":1709931593000,"asksize":746,"askexch":"E","ask_date":1709931582000,"open_interest":603,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00019000","description":"PLTR - Nov 15 2024 $19.00 Put","exch":"Z","type":"option","last":1.96,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.8,"ask":1.83,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.177454462648138,"gamma":0.018513644180011044,"theta":-0.009130292309620388,"vega":0.05749859857299678,"rho":0.08191879702976851,"phi":-0.14784865065564645,"bid_iv":0.648633,"mid_iv":0.651221,"ask_iv":0.65381,"smv_vol":0.651,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709736999486,"prevclose":1.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":83,"bidexch":"B","bid_date":1709931599000,"asksize":73,"askexch":"B","ask_date":1709931599000,"open_interest":15,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00019000","description":"PLTR - Nov 15 2024 $19.00 Call","exch":"Z","type":"option","last":9.6,"change":-0.26,"volume":1,"open":9.6,"high":9.6,"low":9.6,"close":9.6,"bid":9.5,"ask":9.6,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.822545537351862,"gamma":0.018513644180011044,"theta":-0.009130292309620388,"vega":0.05749859857299678,"rho":0.08191879702976851,"phi":-0.14784865065564645,"bid_iv":0.641713,"mid_iv":0.650412,"ask_iv":0.659111,"smv_vol":0.651,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.64,"average_volume":0,"last_volume":1,"trade_date":1709915766232,"prevclose":9.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":45,"bidexch":"C","bid_date":1709931571000,"asksize":675,"askexch":"E","ask_date":1709931560000,"open_interest":340,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115C00020000","description":"PLTR - Nov 15 2024 $20.00 Call","exch":"Z","type":"option","last":9.85,"change":0.60,"volume":8,"open":9.85,"high":9.85,"low":9.85,"close":9.85,"bid":8.85,"ask":8.95,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7971737783609317,"gamma":0.020189414431076438,"theta":-0.009722118529445692,"vega":0.062416149408691037,"rho":0.08166618192220082,"phi":-0.14328415648634518,"bid_iv":0.643737,"mid_iv":0.647778,"ask_iv":0.65182,"smv_vol":0.649,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.49,"average_volume":0,"last_volume":2,"trade_date":1709909390029,"prevclose":9.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":458,"bidexch":"E","bid_date":1709931588000,"asksize":243,"askexch":"X","ask_date":1709931588000,"open_interest":1816,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00020000","description":"PLTR - Nov 15 2024 $20.00 Put","exch":"Z","type":"option","last":2.13,"change":0.08,"volume":1,"open":2.13,"high":2.13,"low":2.13,"close":2.13,"bid":2.15,"ask":2.18,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2028262216390683,"gamma":0.020189414431076438,"theta":-0.009722118529445692,"vega":0.062416149408691037,"rho":0.08166618192220082,"phi":-0.14328415648634518,"bid_iv":0.647103,"mid_iv":0.649487,"ask_iv":0.651872,"smv_vol":0.649,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.91,"average_volume":0,"last_volume":1,"trade_date":1709917680559,"prevclose":2.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":92,"bidexch":"B","bid_date":1709931591000,"asksize":10,"askexch":"U","ask_date":1709931573000,"open_interest":191,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115P00021000","description":"PLTR - Nov 15 2024 $21.00 Put","exch":"Z","type":"option","last":2.51,"change":0.10,"volume":1,"open":2.51,"high":2.51,"low":2.51,"close":2.51,"bid":2.53,"ask":2.57,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2291205284964609,"gamma":0.02175023775488702,"theta":-0.010260502864401963,"vega":0.06481432361947762,"rho":0.08101165040880043,"phi":-0.1385540050335976,"bid_iv":0.644981,"mid_iv":0.648001,"ask_iv":0.651022,"smv_vol":0.647,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.15,"average_volume":0,"last_volume":1,"trade_date":1709931010285,"prevclose":2.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":119,"bidexch":"B","bid_date":1709931555000,"asksize":89,"askexch":"B","ask_date":1709931552000,"open_interest":84,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00021000","description":"PLTR - Nov 15 2024 $21.00 Call","exch":"Z","type":"option","last":8.3,"change":-0.45,"volume":7,"open":8.4,"high":8.4,"low":8.3,"close":8.3,"bid":7.75,"ask":8.4,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7708794715035391,"gamma":0.02175023775488702,"theta":-0.010260502864401963,"vega":0.06481432361947762,"rho":0.08101165040880043,"phi":-0.1385540050335976,"bid_iv":0.64025,"mid_iv":0.647829,"ask_iv":0.655409,"smv_vol":0.647,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.15,"average_volume":0,"last_volume":5,"trade_date":1709931291400,"prevclose":8.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":598,"bidexch":"X","bid_date":1709931596000,"asksize":950,"askexch":"E","ask_date":1709931566000,"open_interest":111,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00022000","description":"PLTR - Nov 15 2024 $22.00 Put","exch":"Z","type":"option","last":2.84,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":2.95,"ask":2.99,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2561397142360081,"gamma":0.02315548193803173,"theta":-0.010731870295947694,"vega":0.06898416573336534,"rho":0.07996285242980294,"phi":-0.13369381420602622,"bid_iv":0.643435,"mid_iv":0.645588,"ask_iv":0.647741,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709834325038,"prevclose":2.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":110,"bidexch":"B","bid_date":1709931598000,"asksize":120,"askexch":"D","ask_date":1709931589000,"open_interest":83,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00022000","description":"PLTR - Nov 15 2024 $22.00 Call","exch":"Z","type":"option","last":8.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.2,"ask":7.8,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7438602857639919,"gamma":0.02315548193803173,"theta":-0.010731870295947694,"vega":0.06898416573336534,"rho":0.07996285242980294,"phi":-0.13369381420602622,"bid_iv":0.639118,"mid_iv":0.646367,"ask_iv":0.653616,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709842023259,"prevclose":8.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":370,"bidexch":"E","bid_date":1709931589000,"asksize":65,"askexch":"D","ask_date":1709931598000,"open_interest":30,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00023000","description":"PLTR - Nov 15 2024 $23.00 Put","exch":"Z","type":"option","last":3.45,"change":0.20,"volume":24,"open":3.45,"high":3.45,"low":3.45,"close":3.45,"bid":3.4,"ask":3.45,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2835441079529964,"gamma":0.02441282915276407,"theta":-0.011143654711356112,"vega":0.07310473252978149,"rho":0.07862212772107607,"phi":-0.12876462992750248,"bid_iv":0.641624,"mid_iv":0.645018,"ask_iv":0.648411,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.16,"average_volume":0,"last_volume":12,"trade_date":1709921093968,"prevclose":3.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":179,"bidexch":"A","bid_date":1709931571000,"asksize":70,"askexch":"D","ask_date":1709931589000,"open_interest":97,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00023000","description":"PLTR - Nov 15 2024 $23.00 Call","exch":"Z","type":"option","last":7.3,"change":-0.56,"volume":29,"open":7.65,"high":7.65,"low":7.2,"close":7.3,"bid":7.2,"ask":7.3,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7164558920470036,"gamma":0.02441282915276407,"theta":-0.011143654711356112,"vega":0.07310473252978149,"rho":0.07862212772107607,"phi":-0.12876462992750248,"bid_iv":0.63379,"mid_iv":0.640631,"ask_iv":0.647472,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.13,"average_volume":0,"last_volume":13,"trade_date":1709930489200,"prevclose":7.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":572,"bidexch":"E","bid_date":1709931588000,"asksize":478,"askexch":"E","ask_date":1709931589000,"open_interest":102,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00024000","description":"PLTR - Nov 15 2024 $24.00 Put","exch":"Z","type":"option","last":4.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.85,"ask":3.95,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3111348133469851,"gamma":0.02551391370875909,"theta":-0.011494755238776534,"vega":0.07661716910234172,"rho":0.07702979743239999,"phi":-0.123802231355441,"bid_iv":0.635831,"mid_iv":0.642318,"ask_iv":0.648804,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709668768393,"prevclose":4.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1331,"bidexch":"E","bid_date":1709931580000,"asksize":814,"askexch":"C","ask_date":1709931592000,"open_interest":743,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00024000","description":"PLTR - Nov 15 2024 $24.00 Call","exch":"Z","type":"option","last":6.87,"change":-0.38,"volume":51,"open":7.35,"high":7.35,"low":6.75,"close":6.87,"bid":6.7,"ask":6.8,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6888651866530149,"gamma":0.02551391370875909,"theta":-0.011494755238776534,"vega":0.07661716910234172,"rho":0.07702979743239999,"phi":-0.123802231355441,"bid_iv":0.637994,"mid_iv":0.641258,"ask_iv":0.644521,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.25,"average_volume":0,"last_volume":10,"trade_date":1709928598126,"prevclose":7.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":644,"bidexch":"E","bid_date":1709931584000,"asksize":212,"askexch":"E","ask_date":1709931591000,"open_interest":132,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00025000","description":"PLTR - Nov 15 2024 $25.00 Put","exch":"Z","type":"option","last":4.4,"change":0.10,"volume":23,"open":4.33,"high":4.45,"low":4.3,"close":4.4,"bid":4.4,"ask":4.45,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3387420765869561,"gamma":0.02646664273497775,"theta":-0.011790459438985294,"vega":0.07942249826975586,"rho":0.07523765956491893,"phi":-0.1188371267701882,"bid_iv":0.639338,"mid_iv":0.642472,"ask_iv":0.645605,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.33,"average_volume":0,"last_volume":1,"trade_date":1709917251737,"prevclose":4.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":46,"bidexch":"B","bid_date":1709931598000,"asksize":80,"askexch":"D","ask_date":1709931591000,"open_interest":131,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00025000","description":"PLTR - Nov 15 2024 $25.00 Call","exch":"Z","type":"option","last":6.3,"change":-0.68,"volume":162,"open":7.0,"high":7.0,"low":6.3,"close":6.3,"bid":6.25,"ask":6.35,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6612579234130439,"gamma":0.02646664273497775,"theta":-0.011790459438985294,"vega":0.07942249826975586,"rho":0.07523765956491893,"phi":-0.1188371267701882,"bid_iv":0.638416,"mid_iv":0.641564,"ask_iv":0.644713,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.75,"average_volume":0,"last_volume":21,"trade_date":1709922627619,"prevclose":6.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":353,"bidexch":"E","bid_date":1709931583000,"asksize":485,"askexch":"E","ask_date":1709931573000,"open_interest":492,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00026000","description":"PLTR - Nov 15 2024 $26.00 Put","exch":"Z","type":"option","last":4.92,"change":0.12,"volume":45,"open":4.7,"high":4.92,"low":4.7,"close":4.92,"bid":4.95,"ask":5.05,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.3662283383951843,"gamma":0.02726799370016651,"theta":-0.012030455449216838,"vega":0.08143734896878436,"rho":0.07327391732403829,"phi":-0.1138940468603522,"bid_iv":0.639233,"mid_iv":0.645364,"ask_iv":0.651495,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.50,"average_volume":0,"last_volume":1,"trade_date":1709919828712,"prevclose":4.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":48,"bidexch":"Z","bid_date":1709931574000,"asksize":1247,"askexch":"C","ask_date":1709931579000,"open_interest":110,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00026000","description":"PLTR - Nov 15 2024 $26.00 Call","exch":"Z","type":"option","last":5.96,"change":-0.64,"volume":23,"open":6.43,"high":6.43,"low":5.96,"close":5.96,"bid":5.85,"ask":5.95,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.6337716616048157,"gamma":0.02726799370016651,"theta":-0.012030455449216838,"vega":0.08143734896878436,"rho":0.07327391732403829,"phi":-0.1138940468603522,"bid_iv":0.635531,"mid_iv":0.641673,"ask_iv":0.647816,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.70,"average_volume":0,"last_volume":10,"trade_date":1709931027407,"prevclose":6.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":161,"bidexch":"E","bid_date":1709931582000,"asksize":1047,"askexch":"E","ask_date":1709931584000,"open_interest":406,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00027000","description":"PLTR - Nov 15 2024 $27.00 Put","exch":"Z","type":"option","last":5.47,"change":0.11,"volume":1,"open":5.47,"high":5.47,"low":5.47,"close":5.47,"bid":5.5,"ask":5.6,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.393248144521207,"gamma":0.02786134517431897,"theta":-0.012192713157889468,"vega":0.08341590981196285,"rho":0.07113705764050653,"phi":-0.10903520376359666,"bid_iv":0.634786,"mid_iv":0.640777,"ask_iv":0.646768,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.06,"average_volume":0,"last_volume":1,"trade_date":1709919828712,"prevclose":5.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":729,"bidexch":"E","bid_date":1709931588000,"asksize":372,"askexch":"C","ask_date":1709931592000,"open_interest":890,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00027000","description":"PLTR - Nov 15 2024 $27.00 Call","exch":"Z","type":"option","last":5.6,"change":-0.40,"volume":44,"open":5.97,"high":5.97,"low":5.43,"close":5.6,"bid":5.45,"ask":5.55,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.606751855478793,"gamma":0.02786134517431897,"theta":-0.012192713157889468,"vega":0.08341590981196285,"rho":0.07113705764050653,"phi":-0.10903520376359666,"bid_iv":0.634473,"mid_iv":0.64047,"ask_iv":0.646466,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.67,"average_volume":0,"last_volume":10,"trade_date":1709926764191,"prevclose":6.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":147,"bidexch":"C","bid_date":1709931592000,"asksize":1128,"askexch":"E","ask_date":1709931577000,"open_interest":454,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00028000","description":"PLTR - Nov 15 2024 $28.00 Put","exch":"Z","type":"option","last":6.08,"change":-1.37,"volume":1,"open":6.08,"high":6.08,"low":6.08,"close":6.08,"bid":6.1,"ask":6.25,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.4198346172216795,"gamma":0.02832604452127127,"theta":-0.012309681223860745,"vega":0.08452897659862522,"rho":0.06892042599300767,"phi":-0.10425449773698858,"bid_iv":0.633485,"mid_iv":0.63941,"ask_iv":0.645334,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.39,"average_volume":0,"last_volume":1,"trade_date":1709919705301,"prevclose":7.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1709931599000,"asksize":293,"askexch":"E","ask_date":1709931593000,"open_interest":12,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00028000","description":"PLTR - Nov 15 2024 $28.00 Call","exch":"Z","type":"option","last":5.23,"change":-0.31,"volume":7,"open":5.85,"high":5.85,"low":5.23,"close":5.23,"bid":5.05,"ask":5.15,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.5801653827783205,"gamma":0.02832604452127127,"theta":-0.012309681223860745,"vega":0.08452897659862522,"rho":0.06892042599300767,"phi":-0.10425449773698858,"bid_iv":0.636771,"mid_iv":0.63973,"ask_iv":0.642688,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.60,"average_volume":0,"last_volume":1,"trade_date":1709919828712,"prevclose":5.54,"week_52_high":0.0,"week_52_low":0.0,"bidsize":620,"bidexch":"E","bid_date":1709931582000,"asksize":290,"askexch":"E","ask_date":1709931588000,"open_interest":131,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00029000","description":"PLTR - Nov 15 2024 $29.00 Put","exch":"Z","type":"option","last":6.71,"change":0.46,"volume":1,"open":6.71,"high":6.71,"low":6.71,"close":6.71,"bid":6.75,"ask":6.85,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.4460206056198291,"gamma":0.028681899052266376,"theta":-0.012388806042488605,"vega":0.08474769728389848,"rho":0.06664258169506647,"phi":-0.09954598924721836,"bid_iv":0.635613,"mid_iv":0.641538,"ask_iv":0.647462,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.36,"average_volume":0,"last_volume":1,"trade_date":1709919705301,"prevclose":6.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1171,"bidexch":"E","bid_date":1709931574000,"asksize":225,"askexch":"E","ask_date":1709931574000,"open_interest":150,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00029000","description":"PLTR - Nov 15 2024 $29.00 Call","exch":"Z","type":"option","last":4.84,"change":-0.55,"volume":34,"open":5.3,"high":5.48,"low":4.7,"close":4.84,"bid":4.7,"ask":4.8,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.5539793943801709,"gamma":0.028681899052266376,"theta":-0.012388806042488605,"vega":0.08474769728389848,"rho":0.06664258169506647,"phi":-0.09954598924721836,"bid_iv":0.636872,"mid_iv":0.639823,"ask_iv":0.642774,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.21,"average_volume":0,"last_volume":1,"trade_date":1709929718189,"prevclose":5.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":535,"bidexch":"E","bid_date":1709931596000,"asksize":124,"askexch":"E","ask_date":1709931599000,"open_interest":159,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00030000","description":"PLTR - Nov 15 2024 $30.00 Put","exch":"Z","type":"option","last":7.15,"change":0.00,"volume":3,"open":7.08,"high":7.15,"low":7.08,"close":7.15,"bid":7.4,"ask":7.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.4712284854392824,"gamma":0.02884411436310534,"theta":-0.012396827753627519,"vega":0.08659265383839405,"rho":0.06430049507062849,"phi":-0.09501368014142031,"bid_iv":0.633941,"mid_iv":0.639773,"ask_iv":0.645604,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709912111493,"prevclose":7.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":811,"bidexch":"E","bid_date":1709931572000,"asksize":5,"askexch":"C","ask_date":1709931600000,"open_interest":226,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00030000","description":"PLTR - Nov 15 2024 $30.00 Call","exch":"Z","type":"option","last":4.5,"change":-0.40,"volume":496,"open":5.15,"high":5.2,"low":4.35,"close":4.5,"bid":4.4,"ask":4.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.5287715145607176,"gamma":0.02884411436310534,"theta":-0.012396827753627519,"vega":0.08659265383839405,"rho":0.06430049507062849,"phi":-0.09501368014142031,"bid_iv":0.633113,"mid_iv":0.638888,"ask_iv":0.644664,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.17,"average_volume":0,"last_volume":1,"trade_date":1709930860460,"prevclose":4.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":627,"bidexch":"C","bid_date":1709931592000,"asksize":1220,"askexch":"E","ask_date":1709931582000,"open_interest":3616,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00032000","description":"PLTR - Nov 15 2024 $32.00 Put","exch":"Z","type":"option","last":8.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.8,"ask":8.9,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.5197641127549987,"gamma":0.028884578545759605,"theta":-0.01231415609240687,"vega":0.08757825041736857,"rho":0.05958959626397692,"phi":-0.08628759326612112,"bid_iv":0.635254,"mid_iv":0.641096,"ask_iv":0.646937,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":94,"trade_date":1709825212005,"prevclose":8.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":422,"bidexch":"E","bid_date":1709931591000,"asksize":92,"askexch":"B","ask_date":1709931590000,"open_interest":420,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00032000","description":"PLTR - Nov 15 2024 $32.00 Call","exch":"Z","type":"option","last":3.85,"change":-0.65,"volume":19,"open":4.5,"high":4.5,"low":3.85,"close":3.85,"bid":3.85,"ask":3.9,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.48023588724500127,"gamma":0.028884578545759605,"theta":-0.01231415609240687,"vega":0.08757825041736857,"rho":0.05958959626397692,"phi":-0.08628759326612112,"bid_iv":0.637012,"mid_iv":0.639868,"ask_iv":0.642723,"smv_vol":0.64,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.45,"average_volume":0,"last_volume":5,"trade_date":1709923576841,"prevclose":4.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":59,"bidexch":"B","bid_date":1709931584000,"asksize":105,"askexch":"E","ask_date":1709931583000,"open_interest":365,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00035000","description":"PLTR - Nov 15 2024 $35.00 Put","exch":"Z","type":"option","last":10.68,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":11.05,"ask":11.15,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.5859410736203228,"gamma":0.028184703895168965,"theta":-0.01191828987823381,"vega":0.08477608481418873,"rho":0.05266766714019424,"phi":-0.07439117863938804,"bid_iv":0.635879,"mid_iv":0.642023,"ask_iv":0.648166,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709827769413,"prevclose":10.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"E","bid_date":1709931584000,"asksize":50,"askexch":"E","ask_date":1709931595000,"open_interest":180,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00035000","description":"PLTR - Nov 15 2024 $35.00 Call","exch":"Z","type":"option","last":3.15,"change":-0.45,"volume":23,"open":3.67,"high":3.67,"low":3.15,"close":3.15,"bid":3.1,"ask":3.2,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.4140589263796772,"gamma":0.028184703895168965,"theta":-0.01191828987823381,"vega":0.08477608481418873,"rho":0.05266766714019424,"phi":-0.07439117863938804,"bid_iv":0.634228,"mid_iv":0.640128,"ask_iv":0.646028,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.50,"average_volume":0,"last_volume":5,"trade_date":1709931291400,"prevclose":3.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1200,"bidexch":"E","bid_date":1709931578000,"asksize":1395,"askexch":"E","ask_date":1709931584000,"open_interest":986,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00037000","description":"PLTR - Nov 15 2024 $37.00 Put","exch":"Z","type":"option","last":12.65,"change":0.35,"volume":300,"open":12.65,"high":12.65,"low":12.65,"close":12.65,"bid":12.65,"ask":12.75,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.625934372687926,"gamma":0.02738013987852196,"theta":-0.011533383818371374,"vega":0.08274024626826774,"rho":0.0482651654258621,"phi":-0.06720240114166387,"bid_iv":0.638113,"mid_iv":0.644539,"ask_iv":0.650965,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.85,"average_volume":0,"last_volume":53,"trade_date":1709921402735,"prevclose":12.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":68,"bidexch":"A","bid_date":1709931599000,"asksize":143,"askexch":"E","ask_date":1709931588000,"open_interest":5,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00037000","description":"PLTR - Nov 15 2024 $37.00 Call","exch":"Z","type":"option","last":2.74,"change":-0.51,"volume":61,"open":2.83,"high":2.83,"low":2.74,"close":2.74,"bid":2.73,"ask":2.78,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.374065627312074,"gamma":0.02738013987852196,"theta":-0.011533383818371374,"vega":0.08274024626826774,"rho":0.0482651654258621,"phi":-0.06720240114166387,"bid_iv":0.639985,"mid_iv":0.642404,"ask_iv":0.644823,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.70,"average_volume":0,"last_volume":7,"trade_date":1709931273767,"prevclose":3.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"P","bid_date":1709931571000,"asksize":128,"askexch":"D","ask_date":1709931598000,"open_interest":1529,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00040000","description":"PLTR - Nov 15 2024 $40.00 Put","exch":"Z","type":"option","last":15.15,"change":null,"volume":94,"open":15.15,"high":15.15,"low":15.15,"close":15.15,"bid":15.15,"ask":15.25,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.6798467651904038,"gamma":0.025823283611806205,"theta":-0.01083028615728765,"vega":0.07489166423727868,"rho":0.042091048173188914,"phi":-0.05751252180274946,"bid_iv":0.640151,"mid_iv":0.647267,"ask_iv":0.654382,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":2,"trade_date":1709925233388,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":121,"bidexch":"E","bid_date":1709931598000,"asksize":56,"askexch":"E","ask_date":1709931598000,"open_interest":0,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00040000","description":"PLTR - Nov 15 2024 $40.00 Call","exch":"Z","type":"option","last":2.31,"change":null,"volume":229,"open":2.67,"high":2.67,"low":2.3,"close":2.31,"bid":2.25,"ask":2.31,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.32015323480959623,"gamma":0.025823283611806205,"theta":-0.01083028615728765,"vega":0.07489166423727868,"rho":0.042091048173188914,"phi":-0.05751252180274946,"bid_iv":0.643466,"mid_iv":0.646007,"ask_iv":0.648547,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709925815259,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"P","bid_date":1709931587000,"asksize":8,"askexch":"C","ask_date":1709931600000,"open_interest":0,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + Nov 15 2024 $13.00 Put","exch":"Z","type":"option","last":0.19,"change":0.02,"volume":20,"open":0.18,"high":0.19,"low":0.18,"close":0.19,"bid":0.15,"ask":0.33,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0401789246951268,"gamma":0.009157279604537057,"theta":-0.004667838180322554,"vega":0.013974777246837058,"rho":0.04865623708235154,"phi":-0.0954269460073931,"bid_iv":0.594,"mid_iv":0.653895,"ask_iv":0.71379,"smv_vol":0.616,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.77,"average_volume":0,"last_volume":10,"trade_date":1718374910381,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2081,"bidexch":"X","bid_date":1718395156000,"asksize":2143,"askexch":"C","ask_date":1718395196000,"open_interest":548,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00013000","description":"PLTR + Nov 15 2024 $13.00 Call","exch":"Z","type":"option","last":10.87,"change":-0.78,"volume":1,"open":10.87,"high":10.87,"low":10.87,"close":10.87,"bid":11.0,"ask":11.2,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9598210753048732,"gamma":0.009157279604537057,"theta":-0.004667838180322554,"vega":0.013974777246837058,"rho":0.04865623708235154,"phi":-0.0954269460073931,"bid_iv":0.57712,"mid_iv":0.618269,"ask_iv":0.659417,"smv_vol":0.616,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-6.70,"average_volume":0,"last_volume":1,"trade_date":1718383800059,"prevclose":11.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"M","bid_date":1718395196000,"asksize":110,"askexch":"N","ask_date":1718395197000,"open_interest":253,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00014000","description":"PLTR + Nov 15 2024 $14.00 Put","exch":"Z","type":"option","last":0.25,"change":0.02,"volume":33,"open":0.26,"high":0.26,"low":0.24,"close":0.25,"bid":0.24,"ask":0.26,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0574156518705494,"gamma":0.012325722065729303,"theta":-0.00559580731032948,"vega":0.01684139578047799,"rho":0.050664092280756225,"phi":-0.09370992643198406,"bid_iv":0.592534,"mid_iv":0.598461,"ask_iv":0.604388,"smv_vol":0.606,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.70,"average_volume":0,"last_volume":2,"trade_date":1718391343269,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":354,"bidexch":"D","bid_date":1718395158000,"asksize":293,"askexch":"E","ask_date":1718395157000,"open_interest":2358,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00014000","description":"PLTR + Nov 15 2024 $14.00 Call","exch":"Z","type":"option","last":10.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.15,"ask":10.25,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9425843481294506,"gamma":0.012325722065729303,"theta":-0.00559580731032948,"vega":0.01684139578047799,"rho":0.050664092280756225,"phi":-0.09370992643198406,"bid_iv":0.577682,"mid_iv":0.605989,"ask_iv":0.634295,"smv_vol":0.606,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718289319389,"prevclose":10.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1718395198000,"asksize":43,"askexch":"E","ask_date":1718395097000,"open_interest":82,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00015000","description":"PLTR + Nov 15 2024 $15.00 Put","exch":"Z","type":"option","last":0.34,"change":-0.02,"volume":16,"open":0.37,"high":0.37,"low":0.33,"close":0.34,"bid":0.34,"ask":0.37,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.076841545388543,"gamma":0.015809404824952588,"theta":-0.006451098759537925,"vega":0.022561265520229766,"rho":0.052401664691710384,"phi":-0.09177492440670676,"bid_iv":0.581071,"mid_iv":0.587705,"ask_iv":0.59434,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-5.56,"average_volume":0,"last_volume":2,"trade_date":1718395087391,"prevclose":0.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":301,"bidexch":"B","bid_date":1718395199000,"asksize":302,"askexch":"B","ask_date":1718395199000,"open_interest":6383,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00015000","description":"PLTR + Nov 15 2024 $15.00 Call","exch":"Z","type":"option","last":9.13,"change":-0.02,"volume":3,"open":9.2,"high":9.2,"low":9.13,"close":9.13,"bid":9.25,"ask":9.65,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.923158454611457,"gamma":0.015809404824952588,"theta":-0.006451098759537925,"vega":0.022561265520229766,"rho":0.052401664691710384,"phi":-0.09177492440670676,"bid_iv":0.55686,"mid_iv":0.580101,"ask_iv":0.603341,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.22,"average_volume":0,"last_volume":1,"trade_date":1718383800059,"prevclose":9.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"M","bid_date":1718395197000,"asksize":132,"askexch":"N","ask_date":1718395195000,"open_interest":141,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00016000","description":"PLTR + Nov 15 2024 $16.00 Put","exch":"Z","type":"option","last":0.49,"change":-0.01,"volume":21,"open":0.49,"high":0.5,"low":0.48,"close":0.49,"bid":0.47,"ask":0.51,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.1004353022631946,"gamma":0.019722448763286753,"theta":-0.007348219635507986,"vega":0.026245322690682565,"rho":0.05360316458825884,"phi":-0.08942507889742046,"bid_iv":0.566044,"mid_iv":0.575512,"ask_iv":0.58498,"smv_vol":0.577,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.00,"average_volume":0,"last_volume":7,"trade_date":1718394596592,"prevclose":0.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1139,"bidexch":"E","bid_date":1718395199000,"asksize":682,"askexch":"E","ask_date":1718395199000,"open_interest":2090,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00016000","description":"PLTR + Nov 15 2024 $16.00 Call","exch":"Z","type":"option","last":8.25,"change":-0.55,"volume":59,"open":8.0,"high":8.25,"low":8.0,"close":8.25,"bid":8.4,"ask":8.55,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.8995646977368054,"gamma":0.019722448763286753,"theta":-0.007348219635507986,"vega":0.026245322690682565,"rho":0.05360316458825884,"phi":-0.08942507889742046,"bid_iv":0.549148,"mid_iv":0.568216,"ask_iv":0.587283,"smv_vol":0.577,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-6.25,"average_volume":0,"last_volume":3,"trade_date":1718380965028,"prevclose":8.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":143,"bidexch":"C","bid_date":1718395196000,"asksize":169,"askexch":"E","ask_date":1718395113000,"open_interest":262,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00017000","description":"PLTR + Nov 15 2024 $17.00 Put","exch":"Z","type":"option","last":0.66,"change":-0.03,"volume":6,"open":0.69,"high":0.69,"low":0.66,"close":0.66,"bid":0.65,"ask":0.68,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1281943257358578,"gamma":0.02396154932364502,"theta":-0.008226996514219773,"vega":0.03298116037397358,"rho":0.0542578996834413,"phi":-0.08666075169472265,"bid_iv":0.565259,"mid_iv":0.569784,"ask_iv":0.574309,"smv_vol":0.568,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.35,"average_volume":0,"last_volume":5,"trade_date":1718390564538,"prevclose":0.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":512,"bidexch":"E","bid_date":1718395155000,"asksize":39,"askexch":"C","ask_date":1718395196000,"open_interest":3400,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00017000","description":"PLTR + Nov 15 2024 $17.00 Call","exch":"Z","type":"option","last":7.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.6,"ask":7.75,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8718056742641422,"gamma":0.02396154932364502,"theta":-0.008226996514219773,"vega":0.03298116037397358,"rho":0.0542578996834413,"phi":-0.08666075169472265,"bid_iv":0.546724,"mid_iv":0.562413,"ask_iv":0.578102,"smv_vol":0.568,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718118179114,"prevclose":7.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":728,"bidexch":"E","bid_date":1718395198000,"asksize":83,"askexch":"E","ask_date":1718395198000,"open_interest":1352,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00018000","description":"PLTR + Nov 15 2024 $18.00 Put","exch":"Z","type":"option","last":0.88,"change":0.04,"volume":65,"open":0.95,"high":0.95,"low":0.88,"close":0.88,"bid":0.86,"ask":0.9,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1608435117688025,"gamma":0.028366101879552557,"theta":-0.009104556412687745,"vega":0.03709902988005472,"rho":0.05423912757779166,"phi":-0.08341002565970257,"bid_iv":0.559507,"mid_iv":0.563518,"ask_iv":0.567529,"smv_vol":0.562,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.77,"average_volume":0,"last_volume":1,"trade_date":1718391258448,"prevclose":0.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"M","bid_date":1718395199000,"asksize":301,"askexch":"B","ask_date":1718395198000,"open_interest":7347,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00018000","description":"PLTR + Nov 15 2024 $18.00 Call","exch":"Z","type":"option","last":6.9,"change":-0.35,"volume":1,"open":6.9,"high":6.9,"low":6.9,"close":6.9,"bid":6.85,"ask":8.9,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8391564882311975,"gamma":0.028366101879552557,"theta":-0.009104556412687745,"vega":0.03709902988005472,"rho":0.05423912757779166,"phi":-0.08341002565970257,"bid_iv":0.545826,"mid_iv":0.559317,"ask_iv":0.572808,"smv_vol":0.562,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.83,"average_volume":0,"last_volume":1,"trade_date":1718389141201,"prevclose":7.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":744,"bidexch":"E","bid_date":1718395199000,"asksize":201,"askexch":"H","ask_date":1718395199000,"open_interest":784,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00019000","description":"PLTR + Nov 15 2024 $19.00 Put","exch":"Z","type":"option","last":1.16,"change":-0.02,"volume":37,"open":1.25,"high":1.25,"low":1.13,"close":1.16,"bid":1.13,"ask":1.26,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1976960199136726,"gamma":0.03273042854621894,"theta":-0.009944086252152153,"vega":0.04380618801865401,"rho":0.053612291646831595,"phi":-0.07974139865751795,"bid_iv":0.553898,"mid_iv":0.557255,"ask_iv":0.560612,"smv_vol":0.557,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.70,"average_volume":0,"last_volume":2,"trade_date":1718395087391,"prevclose":1.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":300,"bidexch":"B","bid_date":1718395195000,"asksize":527,"askexch":"E","ask_date":1718395199000,"open_interest":11077,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00019000","description":"PLTR + Nov 15 2024 $19.00 Call","exch":"Z","type":"option","last":5.9,"change":-0.53,"volume":1,"open":5.9,"high":5.9,"low":5.9,"close":5.9,"bid":6.15,"ask":6.25,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8023039800863274,"gamma":0.03273042854621894,"theta":-0.009944086252152153,"vega":0.04380618801865401,"rho":0.053612291646831595,"phi":-0.07974139865751795,"bid_iv":0.546417,"mid_iv":0.557939,"ask_iv":0.569461,"smv_vol":0.557,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.25,"average_volume":0,"last_volume":1,"trade_date":1718374017663,"prevclose":6.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":409,"bidexch":"E","bid_date":1718395197000,"asksize":40,"askexch":"X","ask_date":1718395197000,"open_interest":630,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115C00020000","description":"PLTR + Nov 15 2024 $20.00 Call","exch":"Z","type":"option","last":5.58,"change":0.18,"volume":4,"open":5.5,"high":5.58,"low":5.44,"close":5.58,"bid":5.5,"ask":5.65,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.761291660902489,"gamma":0.03673915802376507,"theta":-0.010707460888618727,"vega":0.04770982677834437,"rho":0.05232024669759196,"phi":-0.07565951134047566,"bid_iv":0.545672,"mid_iv":0.550915,"ask_iv":0.556158,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.34,"average_volume":0,"last_volume":1,"trade_date":1718393106726,"prevclose":5.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"E","bid_date":1718395198000,"asksize":121,"askexch":"E","ask_date":1718395199000,"open_interest":2390,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00020000","description":"PLTR + Nov 15 2024 $20.00 Put","exch":"Z","type":"option","last":1.5,"change":0.00,"volume":37,"open":1.52,"high":1.58,"low":1.5,"close":1.5,"bid":1.46,"ask":1.47,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.238708339097511,"gamma":0.03673915802376507,"theta":-0.010707460888618727,"vega":0.04770982677834437,"rho":0.05232024669759196,"phi":-0.07565951134047566,"bid_iv":0.552445,"mid_iv":0.554534,"ask_iv":0.556624,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718384729193,"prevclose":1.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Q","bid_date":1718395154000,"asksize":549,"askexch":"Z","ask_date":1718395198000,"open_interest":4338,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115P00021000","description":"PLTR + Nov 15 2024 $21.00 Put","exch":"Z","type":"option","last":1.89,"change":-0.06,"volume":4,"open":1.93,"high":2.0,"low":1.89,"close":1.89,"bid":1.82,"ask":1.85,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2824111494917789,"gamma":0.04025007598975395,"theta":-0.01137026242037501,"vega":0.05137509517979583,"rho":0.05053594851806914,"phi":-0.071310600899821,"bid_iv":0.547535,"mid_iv":0.550433,"ask_iv":0.553332,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.08,"average_volume":0,"last_volume":1,"trade_date":1718382241010,"prevclose":1.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":300,"bidexch":"B","bid_date":1718395199000,"asksize":321,"askexch":"Z","ask_date":1718395100000,"open_interest":1365,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00021000","description":"PLTR + Nov 15 2024 $21.00 Call","exch":"Z","type":"option","last":4.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.85,"ask":5.3,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7175888505082211,"gamma":0.04025007598975395,"theta":-0.01137026242037501,"vega":0.05137509517979583,"rho":0.05053594851806914,"phi":-0.071310600899821,"bid_iv":0.54537,"mid_iv":0.550238,"ask_iv":0.555106,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718289302915,"prevclose":4.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":200,"bidexch":"E","bid_date":1718395199000,"asksize":447,"askexch":"E","ask_date":1718395199000,"open_interest":754,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00022000","description":"PLTR + Nov 15 2024 $22.00 Put","exch":"Z","type":"option","last":2.29,"change":0.16,"volume":1,"open":2.29,"high":2.29,"low":2.29,"close":2.29,"bid":2.22,"ask":2.28,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3278514632522963,"gamma":0.043086934823872054,"theta":-0.01190742848590884,"vega":0.055795078419630696,"rho":0.04834003487243812,"phi":-0.06678959859840461,"bid_iv":0.546584,"mid_iv":0.549262,"ask_iv":0.55194,"smv_vol":0.55,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.52,"average_volume":0,"last_volume":1,"trade_date":1718387812755,"prevclose":2.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"T","bid_date":1718395199000,"asksize":275,"askexch":"Z","ask_date":1718395101000,"open_interest":823,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00022000","description":"PLTR + Nov 15 2024 $22.00 Call","exch":"Z","type":"option","last":4.3,"change":0.10,"volume":217,"open":3.97,"high":4.3,"low":3.96,"close":4.3,"bid":4.3,"ask":4.75,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6721485367477037,"gamma":0.043086934823872054,"theta":-0.01190742848590884,"vega":0.055795078419630696,"rho":0.04834003487243812,"phi":-0.06678959859840461,"bid_iv":0.545281,"mid_iv":0.549763,"ask_iv":0.554246,"smv_vol":0.55,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.39,"average_volume":0,"last_volume":199,"trade_date":1718382284192,"prevclose":4.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":138,"bidexch":"E","bid_date":1718395199000,"asksize":122,"askexch":"N","ask_date":1718395199000,"open_interest":1801,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00023000","description":"PLTR + Nov 15 2024 $23.00 Put","exch":"Z","type":"option","last":2.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.73,"ask":3.1,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3739482675100877,"gamma":0.045119937199162435,"theta":-0.012289122773064019,"vega":0.058150639495282264,"rho":0.04582962856291949,"phi":-0.062204120578890354,"bid_iv":0.544968,"mid_iv":0.556113,"ask_iv":0.567258,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718215560288,"prevclose":2.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":300,"bidexch":"B","bid_date":1718395196000,"asksize":151,"askexch":"Z","ask_date":1718395196000,"open_interest":883,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00023000","description":"PLTR + Nov 15 2024 $23.00 Call","exch":"Z","type":"option","last":3.85,"change":0.10,"volume":33,"open":3.53,"high":3.9,"low":3.5,"close":3.85,"bid":3.8,"ask":3.9,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6260517324899123,"gamma":0.045119937199162435,"theta":-0.012289122773064019,"vega":0.058150639495282264,"rho":0.04582962856291949,"phi":-0.062204120578890354,"bid_iv":0.535956,"mid_iv":0.544555,"ask_iv":0.553155,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.67,"average_volume":0,"last_volume":20,"trade_date":1718394886367,"prevclose":3.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":511,"bidexch":"E","bid_date":1718395199000,"asksize":144,"askexch":"E","ask_date":1718395160000,"open_interest":1193,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00024000","description":"PLTR + Nov 15 2024 $24.00 Put","exch":"Z","type":"option","last":3.3,"change":-0.05,"volume":16,"open":3.45,"high":3.45,"low":3.3,"close":3.3,"bid":3.25,"ask":3.35,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.4196627127461143,"gamma":0.04642401953602721,"theta":-0.012528924953446253,"vega":0.05992313455675799,"rho":0.043144717199997705,"phi":-0.05765738627427908,"bid_iv":0.542117,"mid_iv":0.550464,"ask_iv":0.558812,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.50,"average_volume":0,"last_volume":1,"trade_date":1718387258794,"prevclose":3.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":216,"bidexch":"E","bid_date":1718395199000,"asksize":132,"askexch":"E","ask_date":1718395198000,"open_interest":1816,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00024000","description":"PLTR + Nov 15 2024 $24.00 Call","exch":"Z","type":"option","last":3.45,"change":0.17,"volume":44,"open":3.19,"high":3.45,"low":3.19,"close":3.45,"bid":3.35,"ask":3.95,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.5803372872538857,"gamma":0.04642401953602721,"theta":-0.012528924953446253,"vega":0.05992313455675799,"rho":0.043144717199997705,"phi":-0.05765738627427908,"bid_iv":0.536244,"mid_iv":0.544588,"ask_iv":0.552931,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.19,"average_volume":0,"last_volume":8,"trade_date":1718393119659,"prevclose":3.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":548,"bidexch":"E","bid_date":1718395199000,"asksize":5,"askexch":"Q","ask_date":1718395198000,"open_interest":1677,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00025000","description":"PLTR + Nov 15 2024 $25.00 Put","exch":"Z","type":"option","last":4.0,"change":0.05,"volume":4,"open":4.0,"high":4.0,"low":4.0,"close":4.0,"bid":3.85,"ask":3.95,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.4642863459807692,"gamma":0.04705037454099756,"theta":-0.012626764314934527,"vega":0.06105821448728304,"rho":0.0403724343811726,"phi":-0.05321978665318028,"bid_iv":0.544795,"mid_iv":0.548935,"ask_iv":0.553075,"smv_vol":0.548,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.27,"average_volume":0,"last_volume":4,"trade_date":1718383653276,"prevclose":3.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":76,"bidexch":"C","bid_date":1718395156000,"asksize":224,"askexch":"C","ask_date":1718395198000,"open_interest":1492,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00025000","description":"PLTR + Nov 15 2024 $25.00 Call","exch":"Z","type":"option","last":3.02,"change":0.10,"volume":50,"open":2.71,"high":3.02,"low":2.71,"close":3.02,"bid":2.99,"ask":3.05,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.5357136540192308,"gamma":0.04705037454099756,"theta":-0.012626764314934527,"vega":0.06105821448728304,"rho":0.0403724343811726,"phi":-0.05321978665318028,"bid_iv":0.543942,"mid_iv":0.548855,"ask_iv":0.553768,"smv_vol":0.548,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.43,"average_volume":0,"last_volume":1,"trade_date":1718394957881,"prevclose":2.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":154,"bidexch":"B","bid_date":1718395198000,"asksize":154,"askexch":"B","ask_date":1718395198000,"open_interest":1905,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00026000","description":"PLTR + Nov 15 2024 $26.00 Put","exch":"Z","type":"option","last":4.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.45,"ask":4.55,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.5072999132009388,"gamma":0.047074538559898856,"theta":-0.0125918119549916,"vega":0.06152380586344908,"rho":0.03758189231258691,"phi":-0.04894287688461674,"bid_iv":0.540232,"mid_iv":0.548462,"ask_iv":0.556693,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1718124182740,"prevclose":4.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":208,"bidexch":"E","bid_date":1718395198000,"asksize":535,"askexch":"E","ask_date":1718395160000,"open_interest":923,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00026000","description":"PLTR + Nov 15 2024 $26.00 Call","exch":"Z","type":"option","last":2.63,"change":0.07,"volume":13,"open":2.46,"high":2.63,"low":2.45,"close":2.63,"bid":2.63,"ask":2.95,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.4927000867990612,"gamma":0.047074538559898856,"theta":-0.0125918119549916,"vega":0.06152380586344908,"rho":0.03758189231258691,"phi":-0.04894287688461674,"bid_iv":0.543074,"mid_iv":0.54712,"ask_iv":0.551166,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.74,"average_volume":0,"last_volume":3,"trade_date":1718389247379,"prevclose":2.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"E","bid_date":1718395199000,"asksize":370,"askexch":"E","ask_date":1718395199000,"open_interest":7810,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00027000","description":"PLTR + Nov 15 2024 $27.00 Put","exch":"Z","type":"option","last":4.95,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.15,"ask":5.25,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5483923212869752,"gamma":0.04658985937433487,"theta":-0.01242899316617121,"vega":0.061311443733466905,"rho":0.03482393821095373,"phi":-0.044857496077632675,"bid_iv":0.544917,"mid_iv":0.549357,"ask_iv":0.553798,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718216339877,"prevclose":4.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":122,"bidexch":"B","bid_date":1718395198000,"asksize":88,"askexch":"B","ask_date":1718395197000,"open_interest":1820,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00027000","description":"PLTR + Nov 15 2024 $27.00 Call","exch":"Z","type":"option","last":2.37,"change":0.17,"volume":87,"open":2.06,"high":2.37,"low":2.06,"close":2.37,"bid":2.31,"ask":2.69,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.45160767871302476,"gamma":0.04658985937433487,"theta":-0.01242899316617121,"vega":0.061311443733466905,"rho":0.03482393821095373,"phi":-0.044857496077632675,"bid_iv":0.543829,"mid_iv":0.551997,"ask_iv":0.560165,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.73,"average_volume":0,"last_volume":8,"trade_date":1718391755041,"prevclose":2.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":90,"bidexch":"B","bid_date":1718395197000,"asksize":828,"askexch":"E","ask_date":1718395199000,"open_interest":1550,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00028000","description":"PLTR + Nov 15 2024 $28.00 Put","exch":"Z","type":"option","last":5.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.85,"ask":5.95,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.587307204760964,"gamma":0.04567195659602419,"theta":-0.01216322538534584,"vega":0.06043430268441651,"rho":0.03213724764823037,"phi":-0.04098905992400148,"bid_iv":0.54354,"mid_iv":0.552234,"ask_iv":0.560927,"smv_vol":0.552,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1718126101411,"prevclose":5.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":445,"bidexch":"E","bid_date":1718395160000,"asksize":489,"askexch":"E","ask_date":1718395160000,"open_interest":693,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00028000","description":"PLTR + Nov 15 2024 $28.00 Call","exch":"Z","type":"option","last":2.05,"change":0.21,"volume":2,"open":1.8,"high":2.05,"low":1.8,"close":2.05,"bid":2.02,"ask":2.4,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.41269279523903596,"gamma":0.04567195659602419,"theta":-0.01216322538534584,"vega":0.06043430268441651,"rho":0.03213724764823037,"phi":-0.04098905992400148,"bid_iv":0.545275,"mid_iv":0.554393,"ask_iv":0.56351,"smv_vol":0.552,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.42,"average_volume":0,"last_volume":1,"trade_date":1718390985210,"prevclose":1.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":488,"bidexch":"E","bid_date":1718395199000,"asksize":416,"askexch":"E","ask_date":1718395199000,"open_interest":2349,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00029000","description":"PLTR + Nov 15 2024 $29.00 Put","exch":"Z","type":"option","last":6.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.55,"ask":6.7,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.6237774012827331,"gamma":0.04438046789537519,"theta":-0.011809785052453533,"vega":0.05891972532677832,"rho":0.029555411999568272,"phi":-0.03736407329757441,"bid_iv":0.544219,"mid_iv":0.553115,"ask_iv":0.562011,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718215619319,"prevclose":6.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":84,"bidexch":"C","bid_date":1718395199000,"asksize":79,"askexch":"B","ask_date":1718395199000,"open_interest":480,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00029000","description":"PLTR + Nov 15 2024 $29.00 Call","exch":"Z","type":"option","last":1.73,"change":-0.17,"volume":2,"open":1.67,"high":1.73,"low":1.67,"close":1.73,"bid":1.58,"ask":2.15,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.37622259871726693,"gamma":0.04438046789537519,"theta":-0.011809785052453533,"vega":0.05891972532677832,"rho":0.029555411999568272,"phi":-0.03736407329757441,"bid_iv":0.546037,"mid_iv":0.549425,"ask_iv":0.552813,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.95,"average_volume":0,"last_volume":1,"trade_date":1718377257534,"prevclose":1.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":754,"bidexch":"E","bid_date":1718395199000,"asksize":393,"askexch":"E","ask_date":1718395199000,"open_interest":2511,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00030000","description":"PLTR + Nov 15 2024 $30.00 Put","exch":"Z","type":"option","last":7.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.35,"ask":7.55,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.6579758156735,"gamma":0.042828678310351836,"theta":-0.01138557294992269,"vega":0.056831151767325554,"rho":0.027088674753198934,"phi":-0.03396523146959041,"bid_iv":0.538781,"mid_iv":0.549223,"ask_iv":0.559666,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":25,"trade_date":1718206510734,"prevclose":7.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":121,"bidexch":"E","bid_date":1718395198000,"asksize":81,"askexch":"B","ask_date":1718395197000,"open_interest":546,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00030000","description":"PLTR + Nov 15 2024 $30.00 Call","exch":"Z","type":"option","last":1.6,"change":0.12,"volume":111,"open":1.42,"high":1.6,"low":1.42,"close":1.6,"bid":1.55,"ask":1.92,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.3420241843265,"gamma":0.042828678310351836,"theta":-0.01138557294992269,"vega":0.056831151767325554,"rho":0.027088674753198934,"phi":-0.03396523146959041,"bid_iv":0.543306,"mid_iv":0.548675,"ask_iv":0.554044,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.11,"average_volume":0,"last_volume":1,"trade_date":1718394090308,"prevclose":1.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":256,"bidexch":"B","bid_date":1718395195000,"asksize":276,"askexch":"E","ask_date":1718395199000,"open_interest":11876,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00031000","description":"PLTR + Nov 15 2024 $31.00 Put","exch":"Z","type":"option","last":8.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.15,"ask":8.55,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.6899957056944691,"gamma":0.04107783864838133,"theta":-0.010891163184009366,"vega":0.05422881253279036,"rho":0.024741680439954908,"phi":-0.03078320063520934,"bid_iv":0.536438,"mid_iv":0.551532,"ask_iv":0.566626,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718297144758,"prevclose":8.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":119,"bidexch":"E","bid_date":1718395198000,"asksize":132,"askexch":"N","ask_date":1718395197000,"open_interest":84,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00031000","description":"PLTR + Nov 15 2024 $31.00 Call","exch":"Z","type":"option","last":1.27,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.35,"ask":1.5,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.3100042943055309,"gamma":0.04107783864838133,"theta":-0.010891163184009366,"vega":0.05422881253279036,"rho":0.024741680439954908,"phi":-0.03078320063520934,"bid_iv":0.546611,"mid_iv":0.566987,"ask_iv":0.587363,"smv_vol":0.553,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718308411873,"prevclose":1.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":54,"bidexch":"C","bid_date":1718395200000,"asksize":140,"askexch":"X","ask_date":1718395199000,"open_interest":1052,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00032000","description":"PLTR + Nov 15 2024 $32.00 Put","exch":"Z","type":"option","last":8.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.0,"ask":9.5,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.7193911807443325,"gamma":0.039147220448109775,"theta":-0.010380475471860549,"vega":0.05119561910566614,"rho":0.02254919816686612,"phi":-0.027862297029557226,"bid_iv":0.538768,"mid_iv":0.554623,"ask_iv":0.570478,"smv_vol":0.558,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718219754481,"prevclose":8.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"E","bid_date":1718395196000,"asksize":105,"askexch":"N","ask_date":1718395199000,"open_interest":434,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00032000","description":"PLTR + Nov 15 2024 $32.00 Call","exch":"Z","type":"option","last":1.23,"change":0.11,"volume":8,"open":1.07,"high":1.23,"low":1.04,"close":1.23,"bid":1.18,"ask":1.53,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.28060881925566755,"gamma":0.039147220448109775,"theta":-0.010380475471860549,"vega":0.05119561910566614,"rho":0.02254919816686612,"phi":-0.027862297029557226,"bid_iv":0.549537,"mid_iv":0.552434,"ask_iv":0.555332,"smv_vol":0.558,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.83,"average_volume":0,"last_volume":1,"trade_date":1718394184027,"prevclose":1.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"N","bid_date":1718395199000,"asksize":163,"askexch":"B","ask_date":1718395199000,"open_interest":944,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00035000","description":"PLTR + Nov 15 2024 $35.00 Put","exch":"Z","type":"option","last":13.11,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.6,"ask":11.9,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7943401896398881,"gamma":0.03290341234768434,"theta":-0.008711919761859777,"vega":0.04507675568314211,"rho":0.016822693986630353,"phi":-0.020416246859777942,"bid_iv":0.521083,"mid_iv":0.554898,"ask_iv":0.588712,"smv_vol":0.56,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714154480128,"prevclose":13.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":132,"bidexch":"E","bid_date":1718395198000,"asksize":844,"askexch":"E","ask_date":1718395160000,"open_interest":956,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00035000","description":"PLTR + Nov 15 2024 $35.00 Call","exch":"Z","type":"option","last":0.82,"change":0.07,"volume":79,"open":0.79,"high":0.84,"low":0.79,"close":0.82,"bid":0.79,"ask":0.98,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.2056598103601119,"gamma":0.03290341234768434,"theta":-0.008711919761859777,"vega":0.04507675568314211,"rho":0.016822693986630353,"phi":-0.020416246859777942,"bid_iv":0.545438,"mid_iv":0.572025,"ask_iv":0.598612,"smv_vol":0.56,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.34,"average_volume":0,"last_volume":1,"trade_date":1718394408976,"prevclose":0.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":260,"bidexch":"E","bid_date":1718395199000,"asksize":357,"askexch":"E","ask_date":1718395199000,"open_interest":1757,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00037000","description":"PLTR + Nov 15 2024 $37.00 Put","exch":"Z","type":"option","last":14.64,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.45,"ask":13.7,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.8336702382387274,"gamma":0.02872782470522096,"theta":-0.0076144222350312965,"vega":0.03723633616267949,"rho":0.013736165492317858,"phi":-0.016509771052497513,"bid_iv":0.524625,"mid_iv":0.560138,"ask_iv":0.595651,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1712935300935,"prevclose":14.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":138,"bidexch":"M","bid_date":1718395197000,"asksize":47,"askexch":"E","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00037000","description":"PLTR + Nov 15 2024 $37.00 Call","exch":"Z","type":"option","last":0.64,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.42,"ask":0.95,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.16632976176127254,"gamma":0.02872782470522096,"theta":-0.0076144222350312965,"vega":0.03723633616267949,"rho":0.013736165492317858,"phi":-0.016509771052497513,"bid_iv":0.557576,"mid_iv":0.564285,"ask_iv":0.570995,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718286772914,"prevclose":0.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":311,"bidexch":"E","bid_date":1718395199000,"asksize":141,"askexch":"E","ask_date":1718395199000,"open_interest":1916,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241115P00040000","description":"PLTR + Nov 15 2024 $40.00 Put","exch":"Z","type":"option","last":18.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.1,"ask":16.75,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.8788601402363719,"gamma":0.02298808441553224,"theta":-0.006145519627930525,"vega":0.029974010946289577,"rho":0.010117601087195276,"phi":-0.012022199716854587,"bid_iv":0.0,"mid_iv":0.736287,"ask_iv":0.736287,"smv_vol":0.569,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":18,"trade_date":1715281345373,"prevclose":18.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":151,"bidexch":"Z","bid_date":1718395158000,"asksize":107,"askexch":"Q","ask_date":1718395158000,"open_interest":0,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241115C00040000","description":"PLTR + Nov 15 2024 $40.00 Call","exch":"Z","type":"option","last":0.45,"change":0.04,"volume":7,"open":0.4,"high":0.45,"low":0.4,"close":0.45,"bid":0.42,"ask":0.49,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.12113985976362802,"gamma":0.02298808441553224,"theta":-0.006145519627930525,"vega":0.029974010946289577,"rho":0.010117601087195276,"phi":-0.012022199716854587,"bid_iv":0.558311,"mid_iv":0.571213,"ask_iv":0.584115,"smv_vol":0.569,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.76,"average_volume":0,"last_volume":1,"trade_date":1718391459454,"prevclose":0.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1718395199000,"asksize":104,"askexch":"B","ask_date":1718395196000,"open_interest":2507,"contract_size":100,"expiration_date":"2024-11-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -451,7 +674,7 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: @@ -459,7 +682,7 @@ interactions: X-Ratelimit-Available: - '196' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - '4' status: @@ -473,70 +696,122 @@ interactions: Authorization: - MOCK_API_KEY method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2026-01-16&greeks=true + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-08-02&greeks=true response: body: - string: '{"options":{"option":[{"symbol":"PLTR260116P00003000","description":"PLTR - Jan 16 2026 $3.00 Put","exch":"Z","type":"option","last":0.06,"change":-0.03,"volume":3,"open":0.06,"high":0.06,"low":0.06,"close":0.06,"bid":0.05,"ask":0.07,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-0.001446383781728,"gamma":2.0256049100365563E-4,"theta":-4.490236787416978E-4,"vega":0.0016102906862257192,"rho":0.049917785201312716,"phi":-0.48371605206654067,"bid_iv":0.782204,"mid_iv":0.802917,"ask_iv":0.823629,"smv_vol":0.735,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":3,"trade_date":1709929941289,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"T","bid_date":1709931560000,"asksize":21,"askexch":"E","ask_date":1709931587000,"open_interest":341,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00003000","description":"PLTR - Jan 16 2026 $3.00 Call","exch":"Z","type":"option","last":23.05,"change":-0.80,"volume":21,"open":24.45,"high":24.65,"low":23.05,"close":23.05,"bid":22.3,"ask":25.7,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.998553616218272,"gamma":2.0256049100365563E-4,"theta":-4.490236787416978E-4,"vega":0.0016102906862257192,"rho":0.049917785201312716,"phi":-0.48371605206654067,"bid_iv":0.0,"mid_iv":1.17844,"ask_iv":1.17844,"smv_vol":0.735,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.36,"average_volume":0,"last_volume":1,"trade_date":1709915446389,"prevclose":23.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":440,"bidexch":"X","bid_date":1709931592000,"asksize":454,"askexch":"X","ask_date":1709931592000,"open_interest":585,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00005000","description":"PLTR - Jan 16 2026 $5.00 Put","exch":"Z","type":"option","last":0.18,"change":-0.03,"volume":3,"open":0.18,"high":0.18,"low":0.18,"close":0.18,"bid":0.14,"ask":0.25,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-0.0081450204345217,"gamma":9.573129440005334E-4,"theta":-9.668765359446724E-4,"vega":0.00800947332275695,"rho":0.07920192485168259,"phi":-0.48046745288132797,"bid_iv":0.711343,"mid_iv":0.754965,"ask_iv":0.798587,"smv_vol":0.715,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.29,"average_volume":0,"last_volume":2,"trade_date":1709929941289,"prevclose":0.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":126,"bidexch":"E","bid_date":1709931597000,"asksize":98,"askexch":"E","ask_date":1709931597000,"open_interest":2397,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00005000","description":"PLTR - Jan 16 2026 $5.00 Call","exch":"Z","type":"option","last":21.85,"change":-0.75,"volume":5,"open":21.9,"high":21.9,"low":21.85,"close":21.85,"bid":19.5,"ask":23.9,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9918549795654783,"gamma":9.573129440005334E-4,"theta":-9.668765359446724E-4,"vega":0.00800947332275695,"rho":0.07920192485168259,"phi":-0.48046745288132797,"bid_iv":0.0,"mid_iv":1.183052,"ask_iv":1.183052,"smv_vol":0.715,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.32,"average_volume":0,"last_volume":1,"trade_date":1709929383092,"prevclose":22.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":391,"bidexch":"A","bid_date":1709931600000,"asksize":274,"askexch":"A","ask_date":1709931600000,"open_interest":491,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00008000","description":"PLTR - Jan 16 2026 $8.00 Put","exch":"Z","type":"option","last":0.5,"change":-0.04,"volume":4,"open":0.5,"high":0.5,"low":0.5,"close":0.5,"bid":0.5,"ask":0.6,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0301180105184764,"gamma":0.0029537267676611792,"theta":-0.0020069328713501647,"vega":0.023763418475927924,"rho":0.113786953343145,"phi":-0.4698136502057082,"bid_iv":0.690819,"mid_iv":0.70849,"ask_iv":0.726162,"smv_vol":0.69,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.41,"average_volume":0,"last_volume":1,"trade_date":1709929941289,"prevclose":0.54,"week_52_high":0.0,"week_52_low":0.0,"bidsize":155,"bidexch":"D","bid_date":1709931596000,"asksize":217,"askexch":"A","ask_date":1709931587000,"open_interest":2323,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00008000","description":"PLTR - Jan 16 2026 $8.00 Call","exch":"Z","type":"option","last":19.2,"change":0.21,"volume":2,"open":20.2,"high":20.2,"low":19.2,"close":19.2,"bid":19.2,"ask":19.5,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9698819894815236,"gamma":0.0029537267676611792,"theta":-0.0020069328713501647,"vega":0.023763418475927924,"rho":0.113786953343145,"phi":-0.4698136502057082,"bid_iv":0.673481,"mid_iv":0.721913,"ask_iv":0.770346,"smv_vol":0.69,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.11,"average_volume":0,"last_volume":1,"trade_date":1709923308841,"prevclose":18.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"T","bid_date":1709931594000,"asksize":15,"askexch":"M","ask_date":1709931584000,"open_interest":986,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00010000","description":"PLTR - Jan 16 2026 $10.00 Put","exch":"Z","type":"option","last":0.88,"change":-0.01,"volume":48,"open":0.86,"high":0.88,"low":0.86,"close":0.88,"bid":0.83,"ask":0.88,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0514269134762286,"gamma":0.004589741415495006,"theta":-0.0027628711472545307,"vega":0.03906625927226095,"rho":0.1309605965903629,"phi":-0.45948329528755494,"bid_iv":0.668052,"mid_iv":0.674321,"ask_iv":0.68059,"smv_vol":0.676,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.13,"average_volume":0,"last_volume":1,"trade_date":1709929941289,"prevclose":0.89,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"N","bid_date":1709931579000,"asksize":18,"askexch":"A","ask_date":1709931587000,"open_interest":2364,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00010000","description":"PLTR - Jan 16 2026 $10.00 Call","exch":"Z","type":"option","last":17.8,"change":-0.35,"volume":127,"open":18.55,"high":19.0,"low":17.75,"close":17.8,"bid":17.65,"ask":17.85,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9485730865237714,"gamma":0.004589741415495006,"theta":-0.0027628711472545307,"vega":0.03906625927226095,"rho":0.1309605965903629,"phi":-0.45948329528755494,"bid_iv":0.643533,"mid_iv":0.669128,"ask_iv":0.694723,"smv_vol":0.676,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.93,"average_volume":0,"last_volume":1,"trade_date":1709931068886,"prevclose":18.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"P","bid_date":1709931560000,"asksize":189,"askexch":"A","ask_date":1709931558000,"open_interest":6689,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00013000","description":"PLTR - Jan 16 2026 $13.00 Put","exch":"Z","type":"option","last":1.56,"change":-0.02,"volume":98,"open":1.56,"high":1.61,"low":1.55,"close":1.56,"bid":1.54,"ask":1.6,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0904950593114071,"gamma":0.007161885556149435,"theta":-0.003854557513423826,"vega":0.06012151177707547,"rho":0.14938273324535462,"phi":-0.4405455075051634,"bid_iv":0.651787,"mid_iv":0.655023,"ask_iv":0.658259,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.27,"average_volume":0,"last_volume":10,"trade_date":1709927362340,"prevclose":1.58,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"Z","bid_date":1709931600000,"asksize":20,"askexch":"B","ask_date":1709931589000,"open_interest":3629,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00013000","description":"PLTR - Jan 16 2026 $13.00 Call","exch":"Z","type":"option","last":15.65,"change":-0.54,"volume":43,"open":16.7,"high":16.7,"low":15.6,"close":15.65,"bid":15.7,"ask":15.8,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9095049406885929,"gamma":0.007161885556149435,"theta":-0.003854557513423826,"vega":0.06012151177707547,"rho":0.14938273324535462,"phi":-0.4405455075051634,"bid_iv":0.640651,"mid_iv":0.653141,"ask_iv":0.665631,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.34,"average_volume":0,"last_volume":9,"trade_date":1709923658118,"prevclose":16.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"Z","bid_date":1709931597000,"asksize":15,"askexch":"M","ask_date":1709931586000,"open_interest":3916,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00015000","description":"PLTR - Jan 16 2026 $15.00 Put","exch":"Z","type":"option","last":2.18,"change":-0.09,"volume":47,"open":2.19,"high":2.26,"low":2.17,"close":2.18,"bid":2.16,"ask":2.22,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.1198719848581745,"gamma":0.00883058231266314,"theta":-0.004512154684303041,"vega":0.07046713591422056,"rho":0.15756986300540965,"phi":-0.4263067025078726,"bid_iv":0.640501,"mid_iv":0.644652,"ask_iv":0.648802,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.97,"average_volume":0,"last_volume":1,"trade_date":1709926311818,"prevclose":2.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"B","bid_date":1709931592000,"asksize":14,"askexch":"T","ask_date":1709931576000,"open_interest":2717,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00015000","description":"PLTR - Jan 16 2026 $15.00 Call","exch":"Z","type":"option","last":14.37,"change":-0.83,"volume":109,"open":15.45,"high":15.56,"low":14.35,"close":14.37,"bid":14.15,"ask":14.55,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.8801280151418255,"gamma":0.00883058231266314,"theta":-0.004512154684303041,"vega":0.07046713591422056,"rho":0.15756986300540965,"phi":-0.4263067025078726,"bid_iv":0.630752,"mid_iv":0.641402,"ask_iv":0.652052,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.47,"average_volume":0,"last_volume":5,"trade_date":1709930390494,"prevclose":15.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":469,"bidexch":"E","bid_date":1709931576000,"asksize":150,"askexch":"A","ask_date":1709931589000,"open_interest":7463,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00017000","description":"PLTR - Jan 16 2026 $17.00 Put","exch":"Z","type":"option","last":2.98,"change":0.05,"volume":49,"open":2.82,"high":2.98,"low":2.8,"close":2.98,"bid":2.87,"ask":2.94,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1508632229591848,"gamma":0.01041078551224784,"theta":-0.005105579750820659,"vega":0.08502600663968587,"rho":0.16327803471316524,"phi":-0.41128632648934627,"bid_iv":0.631873,"mid_iv":0.636284,"ask_iv":0.640694,"smv_vol":0.637,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.71,"average_volume":0,"last_volume":1,"trade_date":1709924014892,"prevclose":2.93,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931571000,"asksize":5,"askexch":"C","ask_date":1709931600000,"open_interest":2573,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00017000","description":"PLTR - Jan 16 2026 $17.00 Call","exch":"Z","type":"option","last":13.3,"change":-0.50,"volume":108,"open":14.23,"high":14.36,"low":13.0,"close":13.3,"bid":13.25,"ask":13.4,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8491367770408152,"gamma":0.01041078551224784,"theta":-0.005105579750820659,"vega":0.08502600663968587,"rho":0.16327803471316524,"phi":-0.41128632648934627,"bid_iv":0.624073,"mid_iv":0.635842,"ask_iv":0.647611,"smv_vol":0.637,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.63,"average_volume":0,"last_volume":1,"trade_date":1709931324258,"prevclose":13.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931547000,"asksize":7,"askexch":"Z","ask_date":1709931588000,"open_interest":6141,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00020000","description":"PLTR - Jan 16 2026 $20.00 Put","exch":"Z","type":"option","last":4.19,"change":0.00,"volume":1012,"open":4.13,"high":4.25,"low":4.03,"close":4.19,"bid":4.15,"ask":4.25,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.199281583597544,"gamma":0.012540713749210066,"theta":-0.005846796773867025,"vega":0.09801892505935267,"rho":0.16778863329900967,"phi":-0.3878212698893435,"bid_iv":0.625735,"mid_iv":0.630703,"ask_iv":0.63567,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931106629,"prevclose":4.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"Q","bid_date":1709931600000,"asksize":75,"askexch":"Q","ask_date":1709931600000,"open_interest":3462,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00020000","description":"PLTR - Jan 16 2026 $20.00 Call","exch":"Z","type":"option","last":11.8,"change":-0.45,"volume":237,"open":12.2,"high":12.9,"low":11.7,"close":11.8,"bid":11.75,"ask":11.9,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.800718416402456,"gamma":0.012540713749210066,"theta":-0.005846796773867025,"vega":0.09801892505935267,"rho":0.16778863329900967,"phi":-0.3878212698893435,"bid_iv":0.609754,"mid_iv":0.622515,"ask_iv":0.635275,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.68,"average_volume":0,"last_volume":1,"trade_date":1709931337992,"prevclose":12.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931566000,"asksize":219,"askexch":"A","ask_date":1709931560000,"open_interest":10346,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00022000","description":"PLTR - Jan 16 2026 $22.00 Put","exch":"Z","type":"option","last":5.2,"change":0.08,"volume":23,"open":5.04,"high":5.2,"low":5.0,"close":5.2,"bid":5.1,"ask":5.2,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2320829351141527,"gamma":0.013778237557987622,"theta":-0.006251855508140547,"vega":0.10942963310058999,"rho":0.16866208993601794,"phi":-0.3719257084711103,"bid_iv":0.620385,"mid_iv":0.624867,"ask_iv":0.629349,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.57,"average_volume":0,"last_volume":1,"trade_date":1709923440964,"prevclose":5.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931563000,"asksize":4,"askexch":"N","ask_date":1709931560000,"open_interest":1010,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00022000","description":"PLTR - Jan 16 2026 $22.00 Call","exch":"Z","type":"option","last":11.0,"change":-0.15,"volume":286,"open":11.7,"high":11.7,"low":10.8,"close":11.0,"bid":10.75,"ask":11.0,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7679170648858473,"gamma":0.013778237557987622,"theta":-0.006251855508140547,"vega":0.10942963310058999,"rho":0.16866208993601794,"phi":-0.3719257084711103,"bid_iv":0.581062,"mid_iv":0.606193,"ask_iv":0.631325,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.35,"average_volume":0,"last_volume":4,"trade_date":1709930601715,"prevclose":11.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":64,"bidexch":"E","bid_date":1709931579000,"asksize":195,"askexch":"A","ask_date":1709931579000,"open_interest":4497,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00025000","description":"PLTR - Jan 16 2026 $25.00 Put","exch":"Z","type":"option","last":6.7,"change":0.05,"volume":33,"open":6.55,"high":6.75,"low":6.55,"close":6.7,"bid":6.7,"ask":6.85,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.2809660047009194,"gamma":0.015311075234794436,"theta":-0.006719648307599644,"vega":0.11986330807779484,"rho":0.16730563849743565,"phi":-0.34823844030640316,"bid_iv":0.614352,"mid_iv":0.618424,"ask_iv":0.622495,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.76,"average_volume":0,"last_volume":11,"trade_date":1709922454698,"prevclose":6.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"B","bid_date":1709931560000,"asksize":27,"askexch":"N","ask_date":1709931589000,"open_interest":796,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00025000","description":"PLTR - Jan 16 2026 $25.00 Call","exch":"Z","type":"option","last":9.75,"change":-0.30,"volume":261,"open":10.75,"high":10.75,"low":9.5,"close":9.75,"bid":9.6,"ask":9.75,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.7190339952990806,"gamma":0.015311075234794436,"theta":-0.006719648307599644,"vega":0.11986330807779484,"rho":0.16730563849743565,"phi":-0.34823844030640316,"bid_iv":0.60983,"mid_iv":0.616084,"ask_iv":0.622338,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.99,"average_volume":0,"last_volume":19,"trade_date":1709930174745,"prevclose":10.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1709931510000,"asksize":17,"askexch":"B","ask_date":1709931600000,"open_interest":9289,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00027000","description":"PLTR - Jan 16 2026 $27.00 Put","exch":"Z","type":"option","last":7.84,"change":0.04,"volume":17,"open":7.73,"high":7.95,"low":7.55,"close":7.84,"bid":7.85,"ask":8.05,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.3129620694824832,"gamma":0.01614692524546337,"theta":-0.00695795245410329,"vega":0.12589354021216306,"rho":0.1651886939700167,"phi":-0.33273492084262557,"bid_iv":0.610152,"mid_iv":0.618003,"ask_iv":0.625853,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.52,"average_volume":0,"last_volume":1,"trade_date":1709914156196,"prevclose":7.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"P","bid_date":1709931589000,"asksize":13,"askexch":"B","ask_date":1709931436000,"open_interest":605,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00027000","description":"PLTR - Jan 16 2026 $27.00 Call","exch":"Z","type":"option","last":9.0,"change":-0.40,"volume":305,"open":9.9,"high":9.9,"low":8.4,"close":9.0,"bid":8.9,"ask":9.05,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.6870379305175168,"gamma":0.01614692524546337,"theta":-0.00695795245410329,"vega":0.12589354021216306,"rho":0.1651886939700167,"phi":-0.33273492084262557,"bid_iv":0.609553,"mid_iv":0.615507,"ask_iv":0.621461,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.26,"average_volume":0,"last_volume":1,"trade_date":1709930485902,"prevclose":9.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1709931584000,"asksize":168,"askexch":"A","ask_date":1709931570000,"open_interest":6668,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00030000","description":"PLTR - Jan 16 2026 $30.00 Put","exch":"Z","type":"option","last":9.97,"change":0.32,"volume":22,"open":9.6,"high":9.97,"low":9.52,"close":9.97,"bid":9.7,"ask":9.95,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.3594330495275272,"gamma":0.01711908698319063,"theta":-0.007213889992869877,"vega":0.13332002201593593,"rho":0.16059451437820177,"phi":-0.31021883856396926,"bid_iv":0.607986,"mid_iv":0.61548,"ask_iv":0.622975,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.32,"average_volume":0,"last_volume":1,"trade_date":1709923513380,"prevclose":9.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"P","bid_date":1709931589000,"asksize":17,"askexch":"B","ask_date":1709931600000,"open_interest":472,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00030000","description":"PLTR - Jan 16 2026 $30.00 Call","exch":"Z","type":"option","last":8.0,"change":-0.37,"volume":744,"open":8.8,"high":8.9,"low":7.85,"close":8.0,"bid":7.95,"ask":8.1,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.6405669504724728,"gamma":0.01711908698319063,"theta":-0.007213889992869877,"vega":0.13332002201593593,"rho":0.16059451437820177,"phi":-0.31021883856396926,"bid_iv":0.612071,"mid_iv":0.615822,"ask_iv":0.619574,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.43,"average_volume":0,"last_volume":10,"trade_date":1709931552950,"prevclose":8.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":141,"bidexch":"E","bid_date":1709931557000,"asksize":169,"askexch":"A","ask_date":1709931571000,"open_interest":7995,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00035000","description":"PLTR - Jan 16 2026 $35.00 Put","exch":"Z","type":"option","last":13.4,"change":0.21,"volume":2,"open":13.19,"high":13.4,"low":13.19,"close":13.4,"bid":13.25,"ask":13.4,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.4313709565296051,"gamma":0.01806756388833466,"theta":-0.007414073704550643,"vega":0.1399465371213686,"rho":0.1505558177898909,"phi":-0.27536623526280835,"bid_iv":0.606958,"mid_iv":0.612432,"ask_iv":0.617907,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.60,"average_volume":0,"last_volume":1,"trade_date":1709923440964,"prevclose":13.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"B","bid_date":1709931593000,"asksize":5,"askexch":"C","ask_date":1709931593000,"open_interest":165,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00035000","description":"PLTR - Jan 16 2026 $35.00 Call","exch":"Z","type":"option","last":6.74,"change":-0.41,"volume":247,"open":7.45,"high":7.5,"low":6.65,"close":6.74,"bid":6.6,"ask":6.75,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.5686290434703949,"gamma":0.01806756388833466,"theta":-0.007414073704550643,"vega":0.1399465371213686,"rho":0.1505558177898909,"phi":-0.27536623526280835,"bid_iv":0.608341,"mid_iv":0.611913,"ask_iv":0.615486,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.74,"average_volume":0,"last_volume":9,"trade_date":1709930675412,"prevclose":7.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"X","bid_date":1709931600000,"asksize":17,"askexch":"M","ask_date":1709931591000,"open_interest":6444,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116C00037000","description":"PLTR - Jan 16 2026 $37.00 Call","exch":"Z","type":"option","last":6.2,"change":-0.47,"volume":98,"open":6.93,"high":6.93,"low":6.2,"close":6.2,"bid":6.2,"ask":6.3,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.541886406369782,"gamma":0.018261357666694972,"theta":-0.007437142474157244,"vega":0.13933438041936358,"rho":0.1461050548264206,"phi":-0.2624106868598375,"bid_iv":0.608318,"mid_iv":0.611906,"ask_iv":0.615495,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.05,"average_volume":0,"last_volume":1,"trade_date":1709931324246,"prevclose":6.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"A","bid_date":1709931592000,"asksize":5,"askexch":"C","ask_date":1709931600000,"open_interest":5686,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR260116P00037000","description":"PLTR - Jan 16 2026 $37.00 Put","exch":"Z","type":"option","last":14.55,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":14.7,"ask":14.9,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.458113593630218,"gamma":0.018261357666694972,"theta":-0.007437142474157244,"vega":0.13933438041936358,"rho":0.1461050548264206,"phi":-0.2624106868598375,"bid_iv":0.603742,"mid_iv":0.611261,"ask_iv":0.618779,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709835938063,"prevclose":14.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"Z","bid_date":1709931572000,"asksize":5,"askexch":"C","ask_date":1709931600000,"open_interest":61,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116P00040000","description":"PLTR - Jan 16 2026 $40.00 Put","exch":"Z","type":"option","last":17.05,"change":0.16,"volume":13,"open":16.91,"high":17.07,"low":16.91,"close":17.05,"bid":17.0,"ask":17.25,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.4956455475770941,"gamma":0.018369958621490757,"theta":-0.007416255642408113,"vega":0.13927694290445056,"rho":0.13921440557917975,"phi":-0.24422901770293493,"bid_iv":0.601718,"mid_iv":0.612977,"ask_iv":0.624237,"smv_vol":0.611,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.95,"average_volume":0,"last_volume":10,"trade_date":1709930762196,"prevclose":16.89,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931588000,"asksize":5,"askexch":"C","ask_date":1709931571000,"open_interest":199,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR260116C00040000","description":"PLTR - Jan 16 2026 $40.00 Call","exch":"Z","type":"option","last":5.65,"change":-0.29,"volume":715,"open":6.45,"high":6.45,"low":5.55,"close":5.65,"bid":5.55,"ask":5.65,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.5043544524229059,"gamma":0.018369958621490757,"theta":-0.007416255642408113,"vega":0.13927694290445056,"rho":0.13921440557917975,"phi":-0.24422901770293493,"bid_iv":0.608494,"mid_iv":0.61029,"ask_iv":0.612086,"smv_vol":0.611,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.89,"average_volume":0,"last_volume":100,"trade_date":1709931503777,"prevclose":5.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":86,"bidexch":"A","bid_date":1709931586000,"asksize":6,"askexch":"U","ask_date":1709931560000,"open_interest":5368,"contract_size":100,"expiration_date":"2026-01-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + string: '{"options":{"option":[{"symbol":"PLTR240802P00015000","description":"PLTR + Aug 2 2024 $15.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":2.14,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0048481695294973,"gamma":0.00238700127952296,"theta":-0.0018649963581875246,"vega":9.772316601656945E-4,"rho":0.01988015459331759,"phi":-0.03147426433553512,"bid_iv":0.0,"mid_iv":1.995774,"ask_iv":1.995774,"smv_vol":0.517,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718393841000,"asksize":127,"askexch":"N","ask_date":1718395127000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00015000","description":"PLTR + Aug 2 2024 $15.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.55,"ask":10.35,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9951518304705027,"gamma":0.00238700127952296,"theta":-0.0018649963581875246,"vega":9.772316601656945E-4,"rho":0.01988015459331759,"phi":-0.03147426433553512,"bid_iv":0.0,"mid_iv":1.914125,"ask_iv":1.914125,"smv_vol":0.517,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":76,"bidexch":"Q","bid_date":1718395166000,"asksize":130,"askexch":"N","ask_date":1718395167000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00016000","description":"PLTR + Aug 2 2024 $16.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":2.15,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0109617979636017,"gamma":0.0061456614023406,"theta":-0.002643782177928664,"vega":0.002100729701636832,"rho":0.021005388654761065,"phi":-0.03127971148207094,"bid_iv":0.0,"mid_iv":1.818186,"ask_iv":1.818186,"smv_vol":0.517,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718393841000,"asksize":122,"askexch":"N","ask_date":1718394595000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00016000","description":"PLTR + Aug 2 2024 $16.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.35,"ask":9.6,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9890382020363983,"gamma":0.0061456614023406,"theta":-0.002643782177928664,"vega":0.002100729701636832,"rho":0.021005388654761065,"phi":-0.03127971148207094,"bid_iv":0.0,"mid_iv":1.666702,"ask_iv":1.666702,"smv_vol":0.517,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":117,"bidexch":"Q","bid_date":1718395134000,"asksize":101,"askexch":"Z","ask_date":1718395134000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00017000","description":"PLTR + Aug 2 2024 $17.00 Call","exch":"Z","type":"option","last":6.3,"change":null,"volume":5,"open":6.3,"high":6.3,"low":6.3,"close":6.3,"bid":6.6,"ask":8.3,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9757700889748072,"gamma":0.013162373494114601,"theta":-0.003958172988506129,"vega":0.004968902285108616,"rho":0.021884699683899958,"phi":-0.030857843589899455,"bid_iv":0.0,"mid_iv":1.371353,"ask_iv":1.371353,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":5,"trade_date":1718376178988,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":73,"bidexch":"N","bid_date":1718395135000,"asksize":121,"askexch":"N","ask_date":1718395135000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00017000","description":"PLTR + Aug 2 2024 $17.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":2.17,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0242299110251928,"gamma":0.013162373494114601,"theta":-0.003958172988506129,"vega":0.004968902285108616,"rho":0.021884699683899958,"phi":-0.030857843589899455,"bid_iv":0.0,"mid_iv":1.654316,"ask_iv":1.654316,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718393841000,"asksize":53,"askexch":"X","ask_date":1718394904000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00017500","description":"PLTR + Aug 2 2024 $17.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.7,"ask":7.75,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9652019813847278,"gamma":0.018136049743792043,"theta":-0.004852089619001809,"vega":0.0060588362108994235,"rho":0.02218779911093841,"phi":-0.030522018603830147,"bid_iv":0.0,"mid_iv":1.339569,"ask_iv":1.339569,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":118,"bidexch":"N","bid_date":1718395136000,"asksize":1,"askexch":"N","ask_date":1718395136000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00017500","description":"PLTR + Aug 2 2024 $17.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":2.19,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0347980186152722,"gamma":0.018136049743792043,"theta":-0.004852089619001809,"vega":0.0060588362108994235,"rho":0.02218779911093841,"phi":-0.030522018603830147,"bid_iv":0.0,"mid_iv":1.580635,"ask_iv":1.580635,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718393841000,"asksize":121,"askexch":"N","ask_date":1718394907000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00018000","description":"PLTR + Aug 2 2024 $18.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":2.16,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0487953683919233,"gamma":0.024139674952521575,"theta":-0.005910501129118348,"vega":0.008590273169081394,"rho":0.02237061020134742,"phi":-0.030077406540047803,"bid_iv":0.0,"mid_iv":1.472979,"ask_iv":1.472979,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718394832000,"asksize":130,"askexch":"Z","ask_date":1718395092000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00018000","description":"PLTR + Aug 2 2024 $18.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.95,"ask":6.85,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9512046316080767,"gamma":0.024139674952521575,"theta":-0.005910501129118348,"vega":0.008590273169081394,"rho":0.02237061020134742,"phi":-0.030077406540047803,"bid_iv":0.0,"mid_iv":1.243744,"ask_iv":1.243744,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":140,"bidexch":"N","bid_date":1718395199000,"asksize":130,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00018500","description":"PLTR + Aug 2 2024 $18.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.2,"ask":5.6,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9335659333151018,"gamma":0.031037268769169703,"theta":-0.00711690404915046,"vega":0.011692540810439089,"rho":0.022424470708528634,"phi":-0.029517341855717326,"bid_iv":0.370152,"mid_iv":0.522975,"ask_iv":0.675799,"smv_vol":0.515,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"W","bid_date":1718395095000,"asksize":17,"askexch":"N","ask_date":1718395094000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00018500","description":"PLTR + Aug 2 2024 $18.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":1.91,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0664340666848982,"gamma":0.031037268769169703,"theta":-0.00711690404915046,"vega":0.011692540810439089,"rho":0.022424470708528634,"phi":-0.029517341855717326,"bid_iv":0.0,"mid_iv":1.313546,"ask_iv":1.313546,"smv_vol":0.515,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718394596000,"asksize":160,"askexch":"Z","ask_date":1718395131000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00019000","description":"PLTR + Aug 2 2024 $19.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.04,"ask":0.65,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0901498195138928,"gamma":0.0389597172619631,"theta":-0.008608778345609525,"vega":0.013573585288360663,"rho":0.02225962012519606,"phi":-0.0287647457581324,"bid_iv":0.340715,"mid_iv":0.470059,"ask_iv":0.599403,"smv_vol":0.515,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"N","bid_date":1718395062000,"asksize":130,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00019000","description":"PLTR + Aug 2 2024 $19.00 Call","exch":"Z","type":"option","last":5.0,"change":null,"volume":52,"open":5.0,"high":5.0,"low":5.0,"close":5.0,"bid":3.4,"ask":6.05,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9098501804861072,"gamma":0.0389597172619631,"theta":-0.008608778345609525,"vega":0.013573585288360663,"rho":0.02225962012519606,"phi":-0.0287647457581324,"bid_iv":0.0,"mid_iv":1.040156,"ask_iv":1.040156,"smv_vol":0.515,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":11,"trade_date":1718393291811,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"N","bid_date":1718395128000,"asksize":117,"askexch":"Z","ask_date":1718395128000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00019500","description":"PLTR + Aug 2 2024 $19.50 Call","exch":"Z","type":"option","last":4.35,"change":-0.15,"volume":6,"open":4.0,"high":4.35,"low":4.0,"close":4.35,"bid":2.57,"ask":4.8,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.8838729847156226,"gamma":0.04704944887356442,"theta":-0.009999256539894863,"vega":0.017370083642035402,"rho":0.022011495382261454,"phi":-0.02794057104501479,"bid_iv":0.0,"mid_iv":0.670112,"ask_iv":0.670112,"smv_vol":0.514,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.34,"average_volume":0,"last_volume":5,"trade_date":1718384599943,"prevclose":4.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395136000,"asksize":18,"askexch":"N","ask_date":1718395136000,"open_interest":5,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00019500","description":"PLTR + Aug 2 2024 $19.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.07,"ask":0.34,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.1161270152843774,"gamma":0.04704944887356442,"theta":-0.009999256539894863,"vega":0.017370083642035402,"rho":0.022011495382261454,"phi":-0.02794057104501479,"bid_iv":0.343914,"mid_iv":0.438977,"ask_iv":0.53404,"smv_vol":0.514,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"N","bid_date":1718395096000,"asksize":2,"askexch":"J","ask_date":1718395096000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00020000","description":"PLTR + Aug 2 2024 $20.00 Put","exch":"Z","type":"option","last":0.28,"change":-0.08,"volume":3,"open":0.26,"high":0.28,"low":0.26,"close":0.28,"bid":0.27,"ask":0.44,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1458649198843188,"gamma":0.05540878693508512,"theta":-0.011359349663728572,"vega":0.01951362513822733,"rho":0.0216246567005957,"phi":-0.026997366010893954,"bid_iv":0.444584,"mid_iv":0.484472,"ask_iv":0.52436,"smv_vol":0.513,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-22.23,"average_volume":0,"last_volume":1,"trade_date":1718394849786,"prevclose":0.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"W","bid_date":1718395132000,"asksize":1,"askexch":"Z","ask_date":1718395136000,"open_interest":4,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00020000","description":"PLTR + Aug 2 2024 $20.00 Call","exch":"Z","type":"option","last":4.15,"change":null,"volume":1,"open":4.15,"high":4.15,"low":4.15,"close":4.15,"bid":2.2,"ask":4.9,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8541350801156812,"gamma":0.05540878693508512,"theta":-0.011359349663728572,"vega":0.01951362513822733,"rho":0.0216246567005957,"phi":-0.026997366010893954,"bid_iv":0.0,"mid_iv":1.047771,"ask_iv":1.047771,"smv_vol":0.513,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718387938984,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":120,"bidexch":"N","bid_date":1718395199000,"asksize":120,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00020500","description":"PLTR + Aug 2 2024 $20.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.01,"ask":4.25,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.8198913933810902,"gamma":0.06375390893030675,"theta":-0.01276103393430967,"vega":0.023502730760571192,"rho":0.02106785414299955,"phi":-0.025911654974302974,"bid_iv":0.0,"mid_iv":0.871616,"ask_iv":0.871616,"smv_vol":0.469,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":117,"bidexch":"N","bid_date":1718395170000,"asksize":117,"askexch":"Q","ask_date":1718395167000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00020500","description":"PLTR + Aug 2 2024 $20.50 Put","exch":"Z","type":"option","last":0.36,"change":null,"volume":2,"open":0.52,"high":0.52,"low":0.36,"close":0.36,"bid":0.17,"ask":0.42,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.1801086066189098,"gamma":0.06375390893030675,"theta":-0.01276103393430967,"vega":0.023502730760571192,"rho":0.02106785414299955,"phi":-0.025911654974302974,"bid_iv":0.366613,"mid_iv":0.418301,"ask_iv":0.469988,"smv_vol":0.469,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718384644690,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"Q","bid_date":1718395095000,"asksize":1,"askexch":"D","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00021000","description":"PLTR + Aug 2 2024 $21.00 Put","exch":"Z","type":"option","last":0.44,"change":-0.02,"volume":3,"open":0.56,"high":0.56,"low":0.44,"close":0.44,"bid":0.36,"ask":1.06,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2178379379004237,"gamma":0.07182231479688915,"theta":-0.01400587767491332,"vega":0.025614286689057374,"rho":0.020376288759232773,"phi":-0.024715786230924186,"bid_iv":0.394294,"mid_iv":0.467946,"ask_iv":0.541597,"smv_vol":0.462,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.35,"average_volume":0,"last_volume":1,"trade_date":1718383151312,"prevclose":0.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"N","bid_date":1718395199000,"asksize":103,"askexch":"N","ask_date":1718395199000,"open_interest":3,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00021000","description":"PLTR + Aug 2 2024 $21.00 Call","exch":"Z","type":"option","last":3.25,"change":null,"volume":2,"open":3.05,"high":3.25,"low":3.05,"close":3.25,"bid":2.57,"ask":4.7,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7821620620995763,"gamma":0.07182231479688915,"theta":-0.01400587767491332,"vega":0.025614286689057374,"rho":0.020376288759232773,"phi":-0.024715786230924186,"bid_iv":0.0,"mid_iv":0.971256,"ask_iv":0.971256,"smv_vol":0.462,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718388239300,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"Q","bid_date":1718395134000,"asksize":101,"askexch":"Q","ask_date":1718395134000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00021500","description":"PLTR + Aug 2 2024 $21.50 Call","exch":"Z","type":"option","last":2.95,"change":-0.05,"volume":6,"open":2.59,"high":2.95,"low":2.59,"close":2.95,"bid":2.18,"ask":3.9,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.7408230924372199,"gamma":0.07924990943776437,"theta":-0.015154850465778235,"vega":0.02762809329317601,"rho":0.019540071532496425,"phi":-0.023405953223905897,"bid_iv":0.150202,"mid_iv":0.495773,"ask_iv":0.841344,"smv_vol":0.476,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.67,"average_volume":0,"last_volume":2,"trade_date":1718391715751,"prevclose":3.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":117,"bidexch":"N","bid_date":1718395136000,"asksize":117,"askexch":"Q","ask_date":1718395197000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00021500","description":"PLTR + Aug 2 2024 $21.50 Put","exch":"Z","type":"option","last":0.7,"change":null,"volume":1,"open":0.7,"high":0.7,"low":0.7,"close":0.7,"bid":0.38,"ask":0.86,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.2591769075627801,"gamma":0.07924990943776437,"theta":-0.015154850465778235,"vega":0.02762809329317601,"rho":0.019540071532496425,"phi":-0.023405953223905897,"bid_iv":0.392597,"mid_iv":0.461299,"ask_iv":0.530002,"smv_vol":0.476,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718377744582,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"X","bid_date":1718395097000,"asksize":5,"askexch":"J","ask_date":1718395130000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00022000","description":"PLTR + Aug 2 2024 $22.00 Put","exch":"Z","type":"option","last":0.75,"change":null,"volume":107,"open":0.85,"high":0.85,"low":0.75,"close":0.75,"bid":0.62,"ask":1.0,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3033205455152053,"gamma":0.08580126047486486,"theta":-0.016140877044280584,"vega":0.03069245087462589,"rho":0.01858535734703029,"phi":-0.02200769033119245,"bid_iv":0.389272,"mid_iv":0.452693,"ask_iv":0.516115,"smv_vol":0.486,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":2,"trade_date":1718390854113,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"N","bid_date":1718395136000,"asksize":5,"askexch":"E","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00022000","description":"PLTR + Aug 2 2024 $22.00 Call","exch":"Z","type":"option","last":2.37,"change":null,"volume":2,"open":2.37,"high":2.37,"low":2.37,"close":2.37,"bid":2.04,"ask":3.45,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6966794544847947,"gamma":0.08580126047486486,"theta":-0.016140877044280584,"vega":0.03069245087462589,"rho":0.01858535734703029,"phi":-0.02200769033119245,"bid_iv":0.292325,"mid_iv":0.524473,"ask_iv":0.756622,"smv_vol":0.486,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":2,"trade_date":1718384711116,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":172,"bidexch":"X","bid_date":1718395169000,"asksize":130,"askexch":"N","ask_date":1718395170000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00022500","description":"PLTR + Aug 2 2024 $22.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.0,"ask":3.3,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.6501059203737252,"gamma":0.09106702699305265,"theta":-0.016894492835377733,"vega":0.032114226072804515,"rho":0.017518414910114705,"phi":-0.020532980393898316,"bid_iv":0.392712,"mid_iv":0.593458,"ask_iv":0.794205,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":35,"bidexch":"N","bid_date":1718395170000,"asksize":100,"askexch":"N","ask_date":1718395170000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00022500","description":"PLTR + Aug 2 2024 $22.50 Put","exch":"Z","type":"option","last":0.96,"change":null,"volume":24,"open":1.02,"high":1.06,"low":0.94,"close":0.96,"bid":0.8,"ask":1.26,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.3498940796262748,"gamma":0.09106702699305265,"theta":-0.016894492835377733,"vega":0.032114226072804515,"rho":0.017518414910114705,"phi":-0.020532980393898316,"bid_iv":0.389942,"mid_iv":0.461963,"ask_iv":0.533985,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":5,"trade_date":1718389897443,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"N","bid_date":1718395100000,"asksize":5,"askexch":"C","ask_date":1718395169000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00023000","description":"PLTR + Aug 2 2024 $23.00 Put","exch":"Z","type":"option","last":1.15,"change":-0.10,"volume":11,"open":1.2,"high":1.26,"low":1.12,"close":1.15,"bid":1.11,"ask":1.48,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3978783847141291,"gamma":0.09497187605921396,"theta":-0.017429469184061807,"vega":0.03325966636712393,"rho":0.016374063924802403,"phi":-0.019014080537058692,"bid_iv":0.42365,"mid_iv":0.477745,"ask_iv":0.531839,"smv_vol":0.486,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.00,"average_volume":0,"last_volume":1,"trade_date":1718394674390,"prevclose":1.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"Z","bid_date":1718395197000,"asksize":38,"askexch":"X","ask_date":1718395168000,"open_interest":18,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00023000","description":"PLTR + Aug 2 2024 $23.00 Call","exch":"Z","type":"option","last":1.82,"change":0.17,"volume":34,"open":1.5,"high":1.99,"low":1.5,"close":1.82,"bid":1.74,"ask":2.21,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6021216152858709,"gamma":0.09497187605921396,"theta":-0.017429469184061807,"vega":0.03325966636712393,"rho":0.016374063924802403,"phi":-0.019014080537058692,"bid_iv":0.401583,"mid_iv":0.621123,"ask_iv":0.840663,"smv_vol":0.486,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.31,"average_volume":0,"last_volume":1,"trade_date":1718388882376,"prevclose":1.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"N","bid_date":1718395170000,"asksize":19,"askexch":"Q","ask_date":1718395169000,"open_interest":12,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00023500","description":"PLTR + Aug 2 2024 $23.50 Call","exch":"Z","type":"option","last":1.7,"change":-0.05,"volume":188,"open":1.5,"high":1.72,"low":1.43,"close":1.7,"bid":1.62,"ask":1.85,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.5535062948295849,"gamma":0.09744440464503316,"theta":-0.017730555697000498,"vega":0.034095535742330596,"rho":0.015177636825599567,"phi":-0.017475675698675974,"bid_iv":0.442717,"mid_iv":0.470597,"ask_iv":0.498477,"smv_vol":0.482,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.86,"average_volume":0,"last_volume":4,"trade_date":1718393831179,"prevclose":1.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"E","bid_date":1718395136000,"asksize":10,"askexch":"Q","ask_date":1718395136000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00023500","description":"PLTR + Aug 2 2024 $23.50 Put","exch":"Z","type":"option","last":1.41,"change":null,"volume":14,"open":1.43,"high":1.43,"low":1.41,"close":1.41,"bid":1.34,"ask":1.68,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.4464937051704151,"gamma":0.09744440464503316,"theta":-0.017730555697000498,"vega":0.034095535742330596,"rho":0.015177636825599567,"phi":-0.017475675698675974,"bid_iv":0.417718,"mid_iv":0.467599,"ask_iv":0.517479,"smv_vol":0.482,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":13,"trade_date":1718391455412,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"Z","bid_date":1718395100000,"asksize":3,"askexch":"J","ask_date":1718395100000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00024000","description":"PLTR + Aug 2 2024 $24.00 Put","exch":"Z","type":"option","last":1.7,"change":null,"volume":3,"open":1.81,"high":1.81,"low":1.7,"close":1.7,"bid":1.6,"ask":2.31,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.4949504690660672,"gamma":0.09835077590249094,"theta":-0.01778161266588474,"vega":0.03425504974746278,"rho":0.013952295682411351,"phi":-0.01594278111355445,"bid_iv":0.432696,"mid_iv":0.475066,"ask_iv":0.517437,"smv_vol":0.475,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718395064021,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"Z","bid_date":1718395198000,"asksize":64,"askexch":"N","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00024000","description":"PLTR + Aug 2 2024 $24.00 Call","exch":"Z","type":"option","last":1.42,"change":-0.03,"volume":48,"open":1.12,"high":1.6,"low":1.12,"close":1.42,"bid":1.4,"ask":1.7,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.5050495309339328,"gamma":0.09835077590249094,"theta":-0.01778161266588474,"vega":0.03425504974746278,"rho":0.013952295682411351,"phi":-0.01594278111355445,"bid_iv":0.445619,"mid_iv":0.489415,"ask_iv":0.533211,"smv_vol":0.475,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.07,"average_volume":0,"last_volume":2,"trade_date":1718394777036,"prevclose":1.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"N","bid_date":1718394286000,"asksize":2,"askexch":"Z","ask_date":1718395199000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00024500","description":"PLTR + Aug 2 2024 $24.50 Call","exch":"Z","type":"option","last":1.14,"change":null,"volume":1,"open":1.14,"high":1.14,"low":1.14,"close":1.14,"bid":1.14,"ask":1.84,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.45760989898905263,"gamma":0.09768796796359742,"theta":-0.017583962740100663,"vega":0.03406484173809292,"rho":0.012725046388481341,"phi":-0.01444255303913573,"bid_iv":0.429217,"mid_iv":0.482108,"ask_iv":0.535,"smv_vol":0.473,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718382115005,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1718395199000,"asksize":50,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00024500","description":"PLTR + Aug 2 2024 $24.50 Put","exch":"Z","type":"option","last":1.9,"change":0.13,"volume":4,"open":1.9,"high":1.9,"low":1.9,"close":1.9,"bid":1.66,"ask":2.6,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.5423901010109474,"gamma":0.09768796796359742,"theta":-0.017583962740100663,"vega":0.03406484173809292,"rho":0.012725046388481341,"phi":-0.01444255303913573,"bid_iv":0.40461,"mid_iv":0.467934,"ask_iv":0.531258,"smv_vol":0.473,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.35,"average_volume":0,"last_volume":4,"trade_date":1718393549464,"prevclose":1.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"B","bid_date":1718395198000,"asksize":57,"askexch":"N","ask_date":1718395198000,"open_interest":1,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00025000","description":"PLTR + Aug 2 2024 $25.00 Call","exch":"Z","type":"option","last":1.1,"change":null,"volume":103,"open":0.86,"high":1.12,"low":0.85,"close":1.1,"bid":0.96,"ask":1.1,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.4118258421692472,"gamma":0.0956868660182032,"theta":-0.01717957603061396,"vega":0.03353038597540106,"rho":0.011519898582293681,"phi":-0.01299511137375013,"bid_iv":0.435278,"mid_iv":0.453162,"ask_iv":0.471047,"smv_vol":0.464,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":11,"trade_date":1718395115706,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1718395199000,"asksize":4,"askexch":"E","ask_date":1718395092000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00025000","description":"PLTR + Aug 2 2024 $25.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.12,"ask":2.83,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.5881741578307528,"gamma":0.0956868660182032,"theta":-0.01717957603061396,"vega":0.03353038597540106,"rho":0.011519898582293681,"phi":-0.01299511137375013,"bid_iv":0.385405,"mid_iv":0.491678,"ask_iv":0.597951,"smv_vol":0.464,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1718395199000,"asksize":17,"askexch":"N","ask_date":1718395170000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00025500","description":"PLTR + Aug 2 2024 $25.50 Call","exch":"Z","type":"option","last":0.9,"change":null,"volume":19,"open":0.66,"high":0.9,"low":0.66,"close":0.9,"bid":0.73,"ask":0.97,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.3682457765852025,"gamma":0.09251722870224373,"theta":-0.016601921398395322,"vega":0.03266853574798746,"rho":0.010355961180070363,"phi":-0.011617747919659017,"bid_iv":0.406248,"mid_iv":0.443562,"ask_iv":0.480876,"smv_vol":0.462,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":15,"trade_date":1718391406718,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1718395092000,"asksize":50,"askexch":"D","ask_date":1718395057000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00025500","description":"PLTR + Aug 2 2024 $25.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.1,"ask":3.5,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.6317542234147975,"gamma":0.09251722870224373,"theta":-0.016601921398395322,"vega":0.03266853574798746,"rho":0.010355961180070363,"phi":-0.011617747919659017,"bid_iv":0.0,"mid_iv":0.668274,"ask_iv":0.668274,"smv_vol":0.462,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Z","bid_date":1718395136000,"asksize":117,"askexch":"Q","ask_date":1718395136000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00026000","description":"PLTR + Aug 2 2024 $26.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.62,"ask":3.55,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.6727942085433575,"gamma":0.08840572396930939,"theta":-0.01585971138325695,"vega":0.031503557465298544,"rho":0.009246670151626831,"phi":-0.010321020941711388,"bid_iv":0.310574,"mid_iv":0.461757,"ask_iv":0.61294,"smv_vol":0.473,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":133,"bidexch":"N","bid_date":1718395136000,"asksize":30,"askexch":"Z","ask_date":1718395136000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00026000","description":"PLTR + Aug 2 2024 $26.00 Call","exch":"Z","type":"option","last":0.71,"change":null,"volume":20,"open":0.63,"high":0.83,"low":0.63,"close":0.71,"bid":0.7,"ask":0.8,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.3272057914566425,"gamma":0.08840572396930939,"theta":-0.01585971138325695,"vega":0.031503557465298544,"rho":0.009246670151626831,"phi":-0.010321020941711388,"bid_iv":0.440312,"mid_iv":0.456369,"ask_iv":0.472425,"smv_vol":0.473,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":4,"trade_date":1718390696790,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"E","bid_date":1718395136000,"asksize":5,"askexch":"D","ask_date":1718394859000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00026500","description":"PLTR + Aug 2 2024 $26.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.48,"ask":0.88,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.2888967703817733,"gamma":0.08357213886784655,"theta":-0.014993250681021088,"vega":0.030073675662854495,"rho":0.008200773675852636,"phi":-0.009110898253305072,"bid_iv":0.404,"mid_iv":0.4722,"ask_iv":0.5404,"smv_vol":0.48,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"X","bid_date":1718395131000,"asksize":8,"askexch":"C","ask_date":1718395131000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00026500","description":"PLTR + Aug 2 2024 $26.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.89,"ask":4.85,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.7111032296182267,"gamma":0.08357213886784655,"theta":-0.014993250681021088,"vega":0.030073675662854495,"rho":0.008200773675852636,"phi":-0.009110898253305072,"bid_iv":0.0,"mid_iv":0.999864,"ask_iv":0.999864,"smv_vol":0.48,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"Q","bid_date":1718395168000,"asksize":111,"askexch":"Q","ask_date":1718395168000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00027000","description":"PLTR + Aug 2 2024 $27.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.6,"ask":4.9,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.7464479984172008,"gamma":0.07818461260407104,"theta":-0.014022472033645246,"vega":0.028413229883894154,"rho":0.0072270314760965225,"phi":-0.007994705207152357,"bid_iv":0.357107,"mid_iv":0.617051,"ask_iv":0.876995,"smv_vol":0.494,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"B","bid_date":1718395097000,"asksize":120,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00027000","description":"PLTR + Aug 2 2024 $27.00 Call","exch":"Z","type":"option","last":0.5,"change":null,"volume":54,"open":0.43,"high":0.55,"low":0.43,"close":0.5,"bid":0.39,"ask":1.12,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.2535520015827992,"gamma":0.07818461260407104,"theta":-0.014022472033645246,"vega":0.028413229883894154,"rho":0.0072270314760965225,"phi":-0.007994705207152357,"bid_iv":0.406212,"mid_iv":0.476419,"ask_iv":0.546627,"smv_vol":0.494,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718392693138,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395197000,"asksize":79,"askexch":"N","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00027500","description":"PLTR + Aug 2 2024 $27.50 Call","exch":"Z","type":"option","last":0.43,"change":null,"volume":3,"open":0.43,"high":0.43,"low":0.43,"close":0.43,"bid":0.3,"ask":1.03,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.22168006958881062,"gamma":0.07240978737560992,"theta":-0.013031622620212964,"vega":0.02657398658286294,"rho":0.006341228503017397,"phi":-0.006988474782723474,"bid_iv":0.399271,"mid_iv":0.475646,"ask_iv":0.552021,"smv_vol":0.512,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":3,"trade_date":1718386076684,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"X","bid_date":1718394997000,"asksize":85,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00027500","description":"PLTR + Aug 2 2024 $27.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.05,"ask":5.6,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.7783199304111894,"gamma":0.07240978737560992,"theta":-0.013031622620212964,"vega":0.02657398658286294,"rho":0.006341228503017397,"phi":-0.006988474782723474,"bid_iv":0.361406,"mid_iv":0.610041,"ask_iv":0.858676,"smv_vol":0.512,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"N","bid_date":1718395132000,"asksize":120,"askexch":"N","ask_date":1718395135000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00028000","description":"PLTR + Aug 2 2024 $28.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.5,"ask":6.25,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.807200995771721,"gamma":0.06648533593415598,"theta":-0.01199149108689361,"vega":0.0245941068643726,"rho":0.00553331619788328,"phi":-0.006076887890480691,"bid_iv":0.356498,"mid_iv":0.639171,"ask_iv":0.921843,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"Q","bid_date":1718395134000,"asksize":101,"askexch":"Q","ask_date":1718395135000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00028000","description":"PLTR + Aug 2 2024 $28.00 Call","exch":"Z","type":"option","last":0.43,"change":null,"volume":1,"open":0.43,"high":0.43,"low":0.43,"close":0.43,"bid":0.21,"ask":0.62,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.19279900422827903,"gamma":0.06648533593415598,"theta":-0.01199149108689361,"vega":0.0245941068643726,"rho":0.00553331619788328,"phi":-0.006076887890480691,"bid_iv":0.390471,"mid_iv":0.475843,"ask_iv":0.561216,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718387957951,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"Q","bid_date":1718394905000,"asksize":8,"askexch":"C","ask_date":1718395131000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00028500","description":"PLTR + Aug 2 2024 $28.50 Call","exch":"Z","type":"option","last":0.19,"change":null,"volume":408,"open":0.18,"high":0.19,"low":0.18,"close":0.19,"bid":0.19,"ask":0.56,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.16661964090997364,"gamma":0.06055376354598275,"theta":-0.010935366536776882,"vega":0.02254028227196536,"rho":0.004797092607037651,"phi":-0.005250753646208208,"bid_iv":0.401507,"mid_iv":0.48634,"ask_iv":0.571172,"smv_vol":0.5,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":312,"trade_date":1718394224945,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"C","bid_date":1718395167000,"asksize":13,"askexch":"C","ask_date":1718395167000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00028500","description":"PLTR + Aug 2 2024 $28.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.8,"ask":6.5,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.8333803590900264,"gamma":0.06055376354598275,"theta":-0.010935366536776882,"vega":0.02254028227196536,"rho":0.004797092607037651,"phi":-0.005250753646208208,"bid_iv":0.0,"mid_iv":1.002928,"ask_iv":1.002928,"smv_vol":0.5,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":87,"bidexch":"N","bid_date":1718395170000,"asksize":117,"askexch":"N","ask_date":1718395170000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802P00029000","description":"PLTR + Aug 2 2024 $29.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.55,"ask":6.65,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.8559468780594056,"gamma":0.05476022927598236,"theta":-0.009942635154620802,"vega":0.020432114599145415,"rho":0.0041581020371137985,"phi":-0.004538844086704655,"bid_iv":0.0,"mid_iv":0.962478,"ask_iv":0.962478,"smv_vol":0.499,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"Z","bid_date":1718395133000,"asksize":109,"askexch":"Z","ask_date":1718395166000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240802C00029000","description":"PLTR + Aug 2 2024 $29.00 Call","exch":"Z","type":"option","last":0.16,"change":null,"volume":817,"open":0.23,"high":0.23,"low":0.16,"close":0.16,"bid":0.18,"ask":0.31,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.14405312194059441,"gamma":0.05476022927598236,"theta":-0.009942635154620802,"vega":0.020432114599145415,"rho":0.0041581020371137985,"phi":-0.004538844086704655,"bid_iv":0.421161,"mid_iv":0.456611,"ask_iv":0.492062,"smv_vol":0.499,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":316,"trade_date":1718394235958,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"B","bid_date":1718395199000,"asksize":2,"askexch":"E","ask_date":1718394906000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802C00030000","description":"PLTR + Aug 2 2024 $30.00 Call","exch":"Z","type":"option","last":0.25,"change":null,"volume":1519,"open":0.16,"high":0.25,"low":0.12,"close":0.25,"bid":0.13,"ask":0.27,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.10515670454942835,"gamma":0.04378996653536972,"theta":-0.007958867176501806,"vega":0.016295528336281322,"rho":0.0030512116985765914,"phi":-0.003312083949663452,"bid_iv":0.43812,"mid_iv":0.481405,"ask_iv":0.524689,"smv_vol":0.491,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":10,"trade_date":1718395155773,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"N","bid_date":1718395200000,"asksize":1,"askexch":"N","ask_date":1718394464000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240802P00030000","description":"PLTR + Aug 2 2024 $30.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.35,"ask":6.75,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.8948432954505716,"gamma":0.04378996653536972,"theta":-0.007958867176501806,"vega":0.016295528336281322,"rho":0.0030512116985765914,"phi":-0.003312083949663452,"bid_iv":0.0,"mid_iv":0.607848,"ask_iv":0.607848,"smv_vol":0.491,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"N","bid_date":1718395058000,"asksize":39,"askexch":"Z","ask_date":1718395128000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-02","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -549,17 +824,17 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: - '200' X-Ratelimit-Available: - - '197' + - '199' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - - '3' + - '1' status: code: 200 message: '' @@ -571,150 +846,206 @@ interactions: Authorization: - MOCK_API_KEY method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-03-28&greeks=true + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-06-21&greeks=true response: body: - string: '{"options":{"option":[{"symbol":"PLTR240328P00013000","description":"PLTR - Mar 28 2024 $13.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-1.35121903411E-5,"gamma":1.3273346133369547E-5,"theta":-0.0024518721119563087,"vega":2.3646653413235747E-5,"rho":0.007082897567274156,"phi":-0.01424137208161369,"bid_iv":0.0,"mid_iv":1.19767,"ask_iv":1.19767,"smv_vol":0.815,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709827903245,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"T","bid_date":1709927117000,"asksize":18,"askexch":"U","ask_date":1709931578000,"open_interest":30,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00013000","description":"PLTR - Mar 28 2024 $13.00 Call","exch":"Z","type":"option","last":13.5,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":11.75,"ask":14.15,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9999864878096589,"gamma":1.3273346133369547E-5,"theta":-0.0024518721119563087,"vega":2.3646653413235747E-5,"rho":0.007082897567274156,"phi":-0.01424137208161369,"bid_iv":0.0,"mid_iv":1.526541,"ask_iv":1.526541,"smv_vol":0.815,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709844442917,"prevclose":13.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":127,"bidexch":"X","bid_date":1709931597000,"asksize":10,"askexch":"X","ask_date":1709931595000,"open_interest":3,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00014000","description":"PLTR - Mar 28 2024 $14.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-8.76767575111E-5,"gamma":7.803694778772237E-5,"theta":-0.002672326621594376,"vega":4.652960498713019E-5,"rho":0.0076266390337423095,"phi":-0.014240306693835691,"bid_iv":0.0,"mid_iv":1.07892,"ask_iv":1.07892,"smv_vol":0.814,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1709929258000,"asksize":12,"askexch":"Z","ask_date":1709931590000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00014000","description":"PLTR - Mar 28 2024 $14.00 Call","exch":"Z","type":"option","last":12.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.05,"ask":12.2,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9999123232424889,"gamma":7.803694778772237E-5,"theta":-0.002672326621594376,"vega":4.652960498713019E-5,"rho":0.0076266390337423095,"phi":-0.014240306693835691,"bid_iv":0.0,"mid_iv":2.118417,"ask_iv":2.118417,"smv_vol":0.814,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709844773709,"prevclose":12.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":190,"bidexch":"E","bid_date":1709931599000,"asksize":10,"askexch":"U","ask_date":1709931598000,"open_interest":2,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00015000","description":"PLTR - Mar 28 2024 $15.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":270,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-3.437865272976E-4,"gamma":2.8529690842315505E-4,"theta":-0.0029589292275238764,"vega":1.0257258464409706E-4,"rho":0.008167642708212271,"phi":-0.014236630416775142,"bid_iv":0.0,"mid_iv":1.055255,"ask_iv":1.055255,"smv_vol":0.812,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":40,"trade_date":1709926428372,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709929805000,"asksize":27,"askexch":"T","ask_date":1709931578000,"open_interest":20,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00015000","description":"PLTR - Mar 28 2024 $15.00 Call","exch":"Z","type":"option","last":11.77,"change":2.97,"volume":1,"open":11.77,"high":11.77,"low":11.77,"close":11.77,"bid":11.0,"ask":11.4,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9996562134727024,"gamma":2.8529690842315505E-4,"theta":-0.0029589292275238764,"vega":1.0257258464409706E-4,"rho":0.008167642708212271,"phi":-0.014236630416775142,"bid_iv":0.0,"mid_iv":1.921777,"ask_iv":1.921777,"smv_vol":0.812,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":33.75,"average_volume":0,"last_volume":1,"trade_date":1709736260684,"prevclose":8.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"U","bid_date":1709931595000,"asksize":12,"askexch":"M","ask_date":1709931593000,"open_interest":12,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00016000","description":"PLTR - Mar 28 2024 $16.00 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":5,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0015649547741021,"gamma":0.0011339919204689643,"theta":-0.0035746944137881897,"vega":3.203592495348042E-4,"rho":0.008694036896683827,"phi":-0.014219117545621884,"bid_iv":0.865655,"mid_iv":0.905066,"ask_iv":0.944477,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":5,"trade_date":1709931326406,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"P","bid_date":1709931581000,"asksize":30,"askexch":"P","ask_date":1709931581000,"open_interest":169,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00016000","description":"PLTR - Mar 28 2024 $16.00 Call","exch":"Z","type":"option","last":11.18,"change":0.18,"volume":1,"open":11.18,"high":11.18,"low":11.18,"close":11.18,"bid":8.5,"ask":10.2,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9984350452258979,"gamma":0.0011339919204689643,"theta":-0.0035746944137881897,"vega":3.203592495348042E-4,"rho":0.008694036896683827,"phi":-0.014219117545621884,"bid_iv":0.0,"mid_iv":2.340419,"ask_iv":2.340419,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.64,"average_volume":0,"last_volume":1,"trade_date":1709910804821,"prevclose":11.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931593000,"asksize":36,"askexch":"X","ask_date":1709931600000,"open_interest":20,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00017000","description":"PLTR - Mar 28 2024 $17.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0047012160001205,"gamma":0.003063018859420448,"theta":-0.004721637233771199,"vega":9.353243454434712E-4,"rho":0.009191244397140566,"phi":-0.014174177618286876,"bid_iv":0.767147,"mid_iv":0.802737,"ask_iv":0.838327,"smv_vol":0.755,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709822550320,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":494,"bidexch":"D","bid_date":1709931589000,"asksize":346,"askexch":"B","ask_date":1709931540000,"open_interest":240,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00017000","description":"PLTR - Mar 28 2024 $17.00 Call","exch":"Z","type":"option","last":9.1,"change":2.15,"volume":1,"open":9.1,"high":9.1,"low":9.1,"close":9.1,"bid":9.05,"ask":9.5,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9952987839998795,"gamma":0.003063018859420448,"theta":-0.004721637233771199,"vega":9.353243454434712E-4,"rho":0.009191244397140566,"phi":-0.014174177618286876,"bid_iv":0.0,"mid_iv":1.083051,"ask_iv":1.083051,"smv_vol":0.755,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":30.94,"average_volume":0,"last_volume":1,"trade_date":1709920892445,"prevclose":6.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"E","bid_date":1709931587000,"asksize":2,"askexch":"N","ask_date":1709931591000,"open_interest":20,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00017500","description":"PLTR - Mar 28 2024 $17.50 Call","exch":"Z","type":"option","last":7.12,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.7,"ask":8.85,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9925148478870783,"gamma":0.004641813949109449,"theta":-0.005583794773626545,"vega":0.0012037844597438505,"rho":0.009421228959413934,"phi":-0.014134305583723972,"bid_iv":0.0,"mid_iv":1.254543,"ask_iv":1.254543,"smv_vol":0.74,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709565264650,"prevclose":7.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":135,"bidexch":"X","bid_date":1709931588000,"asksize":18,"askexch":"M","ask_date":1709931585000,"open_interest":3,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00017500","description":"PLTR - Mar 28 2024 $17.50 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":2,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0074851521129217,"gamma":0.004641813949109449,"theta":-0.005583794773626545,"vega":0.0012037844597438505,"rho":0.009421228959413934,"phi":-0.014134305583723972,"bid_iv":0.719921,"mid_iv":0.777614,"ask_iv":0.835307,"smv_vol":0.74,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":2,"trade_date":1709915399343,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":815,"bidexch":"D","bid_date":1709931599000,"asksize":116,"askexch":"C","ask_date":1709931592000,"open_interest":59,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00018000","description":"PLTR - Mar 28 2024 $18.00 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":2,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0103130776357823,"gamma":0.0062866838672237255,"theta":-0.006355205354245974,"vega":0.0019148258283589415,"rho":0.009650609756709467,"phi":-0.014093796618652732,"bid_iv":0.738641,"mid_iv":0.761499,"ask_iv":0.784357,"smv_vol":0.73,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":1,"trade_date":1709917402011,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":187,"bidexch":"P","bid_date":1709931137000,"asksize":202,"askexch":"W","ask_date":1709931576000,"open_interest":2280,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00018000","description":"PLTR - Mar 28 2024 $18.00 Call","exch":"Z","type":"option","last":8.21,"change":1.81,"volume":5,"open":8.21,"high":8.21,"low":8.21,"close":8.21,"bid":6.7,"ask":8.2,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9896869223642177,"gamma":0.0062866838672237255,"theta":-0.006355205354245974,"vega":0.0019148258283589415,"rho":0.009650609756709467,"phi":-0.014093796618652732,"bid_iv":0.0,"mid_iv":0.951919,"ask_iv":0.951919,"smv_vol":0.73,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":28.29,"average_volume":0,"last_volume":1,"trade_date":1709917590079,"prevclose":6.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":212,"bidexch":"X","bid_date":1709931595000,"asksize":1,"askexch":"Q","ask_date":1709931595000,"open_interest":15,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00018500","description":"PLTR - Mar 28 2024 $18.50 Call","exch":"Z","type":"option","last":5.57,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.0,"ask":8.85,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9846103577519273,"gamma":0.008936508071276012,"theta":-0.007648312475213507,"vega":0.002406498591390956,"rho":0.009845374335614936,"phi":-0.014021120984253344,"bid_iv":0.0,"mid_iv":2.498214,"ask_iv":2.498214,"smv_vol":0.72,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709650559787,"prevclose":5.57,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"N","bid_date":1709931596000,"asksize":25,"askexch":"Z","ask_date":1709931596000,"open_interest":16,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00018500","description":"PLTR - Mar 28 2024 $18.50 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":6,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0153896422480727,"gamma":0.008936508071276012,"theta":-0.007648312475213507,"vega":0.002406498591390956,"rho":0.009845374335614936,"phi":-0.014021120984253344,"bid_iv":0.69079,"mid_iv":0.712341,"ask_iv":0.733892,"smv_vol":0.72,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709917680849,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":674,"bidexch":"D","bid_date":1709931597000,"asksize":70,"askexch":"P","ask_date":1709931589000,"open_interest":100,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00019000","description":"PLTR - Mar 28 2024 $19.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":7,"open":0.02,"high":0.04,"low":0.02,"close":0.04,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.01999696028788,"gamma":0.01151058794267108,"theta":-0.008625404043072103,"vega":0.002974987326237292,"rho":0.010047601263893195,"phi":-0.013955139177568299,"bid_iv":0.683811,"mid_iv":0.700334,"ask_iv":0.716857,"smv_vol":0.68,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709925866050,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"D","bid_date":1709930665000,"asksize":308,"askexch":"D","ask_date":1709931598000,"open_interest":221,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00019000","description":"PLTR - Mar 28 2024 $19.00 Call","exch":"Z","type":"option","last":7.08,"change":-0.46,"volume":3,"open":8.05,"high":8.05,"low":6.81,"close":7.08,"bid":6.45,"ask":7.5,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.98000303971212,"gamma":0.01151058794267108,"theta":-0.008625404043072103,"vega":0.002974987326237292,"rho":0.010047601263893195,"phi":-0.013955139177568299,"bid_iv":0.0,"mid_iv":0.911503,"ask_iv":0.911503,"smv_vol":0.68,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.11,"average_volume":0,"last_volume":1,"trade_date":1709931366834,"prevclose":7.54,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"X","bid_date":1709931593000,"asksize":102,"askexch":"Z","ask_date":1709931593000,"open_interest":52,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00019500","description":"PLTR - Mar 28 2024 $19.50 Call","exch":"Z","type":"option","last":7.4,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":4.85,"ask":6.7,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9716787152192621,"gamma":0.015543415014338993,"theta":-0.010389605355191357,"vega":0.004375278697347781,"rho":0.010192309143578469,"phi":-0.013836013375012612,"bid_iv":0.0,"mid_iv":0.768869,"ask_iv":0.768869,"smv_vol":0.664,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709824287011,"prevclose":7.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":151,"bidexch":"X","bid_date":1709931578000,"asksize":37,"askexch":"X","ask_date":1709931559000,"open_interest":16,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00019500","description":"PLTR - Mar 28 2024 $19.50 Put","exch":"Z","type":"option","last":0.04,"change":-0.01,"volume":11,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0283212847807379,"gamma":0.015543415014338993,"theta":-0.010389605355191357,"vega":0.004375278697347781,"rho":0.010192309143578469,"phi":-0.013836013375012612,"bid_iv":0.635043,"mid_iv":0.661969,"ask_iv":0.688895,"smv_vol":0.664,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":5,"trade_date":1709914478200,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":846,"bidexch":"D","bid_date":1709931598000,"asksize":924,"askexch":"E","ask_date":1709931591000,"open_interest":634,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00020000","description":"PLTR - Mar 28 2024 $20.00 Put","exch":"Z","type":"option","last":0.05,"change":-0.01,"volume":410,"open":0.05,"high":0.06,"low":0.04,"close":0.05,"bid":0.04,"ask":0.06,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.03636630252039,"gamma":0.019670538890830935,"theta":-0.011779133366626669,"vega":0.00526455461886049,"rho":0.01034175934472421,"phi":-0.013720852019005747,"bid_iv":0.616651,"mid_iv":0.638394,"ask_iv":0.660138,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.67,"average_volume":0,"last_volume":2,"trade_date":1709928072753,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2316,"bidexch":"D","bid_date":1709931587000,"asksize":1160,"askexch":"E","ask_date":1709931582000,"open_interest":2814,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00020000","description":"PLTR - Mar 28 2024 $20.00 Call","exch":"Z","type":"option","last":6.45,"change":0.37,"volume":4,"open":7.45,"high":7.45,"low":6.18,"close":6.45,"bid":5.0,"ask":6.2,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.96363369747961,"gamma":0.019670538890830935,"theta":-0.011779133366626669,"vega":0.00526455461886049,"rho":0.01034175934472421,"phi":-0.013720852019005747,"bid_iv":0.0,"mid_iv":1.931972,"ask_iv":1.931972,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.09,"average_volume":0,"last_volume":1,"trade_date":1709927137828,"prevclose":6.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931595000,"asksize":34,"askexch":"X","ask_date":1709931590000,"open_interest":312,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00020500","description":"PLTR - Mar 28 2024 $20.50 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":52,"open":0.06,"high":0.07,"low":0.06,"close":0.07,"bid":0.05,"ask":0.07,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0456371595344087,"gamma":0.02449396505124857,"theta":-0.013136548720615782,"vega":0.006253593289240585,"rho":0.01047270508644407,"phi":-0.013588133898068122,"bid_iv":0.591114,"mid_iv":0.611093,"ask_iv":0.631073,"smv_vol":0.604,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":50,"trade_date":1709917773370,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":993,"bidexch":"D","bid_date":1709931592000,"asksize":1026,"askexch":"D","ask_date":1709931592000,"open_interest":827,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00020500","description":"PLTR - Mar 28 2024 $20.50 Call","exch":"Z","type":"option","last":5.76,"change":-0.84,"volume":7,"open":6.72,"high":6.72,"low":5.75,"close":5.76,"bid":5.6,"ask":5.85,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9543628404655913,"gamma":0.02449396505124857,"theta":-0.013136548720615782,"vega":0.006253593289240585,"rho":0.01047270508644407,"phi":-0.013588133898068122,"bid_iv":0.0,"mid_iv":1.542289,"ask_iv":1.542289,"smv_vol":0.604,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.73,"average_volume":0,"last_volume":1,"trade_date":1709930790220,"prevclose":6.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":58,"bidexch":"X","bid_date":1709931599000,"asksize":161,"askexch":"X","ask_date":1709931599000,"open_interest":138,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00021000","description":"PLTR - Mar 28 2024 $21.00 Put","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":96,"open":0.08,"high":0.1,"low":0.07,"close":0.08,"bid":0.07,"ask":0.08,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0575533358212443,"gamma":0.03046820209355658,"theta":-0.01472299814038626,"vega":0.007368589721689189,"rho":0.010563070383482066,"phi":-0.0134175777866119,"bid_iv":0.579395,"mid_iv":0.587339,"ask_iv":0.595284,"smv_vol":0.585,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931230314,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":308,"bidexch":"D","bid_date":1709931594000,"asksize":407,"askexch":"D","ask_date":1709931594000,"open_interest":967,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00021000","description":"PLTR - Mar 28 2024 $21.00 Call","exch":"Z","type":"option","last":5.44,"change":-0.56,"volume":4,"open":6.3,"high":6.3,"low":5.44,"close":5.44,"bid":4.0,"ask":5.4,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9424466641787557,"gamma":0.03046820209355658,"theta":-0.01472299814038626,"vega":0.007368589721689189,"rho":0.010563070383482066,"phi":-0.0134175777866119,"bid_iv":0.348617,"mid_iv":0.500859,"ask_iv":0.653102,"smv_vol":0.585,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.34,"average_volume":0,"last_volume":1,"trade_date":1709927199574,"prevclose":6.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1008,"bidexch":"X","bid_date":1709931599000,"asksize":195,"askexch":"X","ask_date":1709931599000,"open_interest":844,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00021500","description":"PLTR - Mar 28 2024 $21.50 Call","exch":"Z","type":"option","last":4.8,"change":-0.65,"volume":14,"open":5.58,"high":5.58,"low":4.8,"close":4.8,"bid":4.65,"ask":4.75,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.9287764075729572,"gamma":0.037452180961818245,"theta":-0.016209356513877362,"vega":0.008578184355496274,"rho":0.010627089932103513,"phi":-0.013221897310344843,"bid_iv":0.435825,"mid_iv":0.515911,"ask_iv":0.595997,"smv_vol":0.569,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.93,"average_volume":0,"last_volume":5,"trade_date":1709916468503,"prevclose":5.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"X","bid_date":1709931561000,"asksize":42,"askexch":"X","ask_date":1709931571000,"open_interest":113,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00021500","description":"PLTR - Mar 28 2024 $21.50 Put","exch":"Z","type":"option","last":0.11,"change":-0.02,"volume":25,"open":0.12,"high":0.12,"low":0.1,"close":0.11,"bid":0.09,"ask":0.11,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.0712235924270428,"gamma":0.037452180961818245,"theta":-0.016209356513877362,"vega":0.008578184355496274,"rho":0.010627089932103513,"phi":-0.013221897310344843,"bid_iv":0.557854,"mid_iv":0.571304,"ask_iv":0.584755,"smv_vol":0.569,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.39,"average_volume":0,"last_volume":2,"trade_date":1709931449354,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1138,"bidexch":"E","bid_date":1709931589000,"asksize":1237,"askexch":"D","ask_date":1709931587000,"open_interest":665,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00022000","description":"PLTR - Mar 28 2024 $22.00 Call","exch":"Z","type":"option","last":4.15,"change":-0.35,"volume":20,"open":5.12,"high":5.45,"low":4.15,"close":4.15,"bid":4.2,"ask":4.3,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.9120138708792469,"gamma":0.045874604288554596,"theta":-0.01778268710869079,"vega":0.009898689112157237,"rho":0.010644036120718339,"phi":-0.01298197259913536,"bid_iv":0.478369,"mid_iv":0.534995,"ask_iv":0.591622,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.78,"average_volume":0,"last_volume":1,"trade_date":1709931366834,"prevclose":4.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"Z","bid_date":1709931600000,"asksize":24,"askexch":"Z","ask_date":1709931557000,"open_interest":495,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00022000","description":"PLTR - Mar 28 2024 $22.00 Put","exch":"Z","type":"option","last":0.13,"change":-0.01,"volume":1082,"open":0.11,"high":0.16,"low":0.1,"close":0.13,"bid":0.13,"ask":0.15,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.0879861291207531,"gamma":0.045874604288554596,"theta":-0.01778268710869079,"vega":0.009898689112157237,"rho":0.010644036120718339,"phi":-0.01298197259913536,"bid_iv":0.552852,"mid_iv":0.563273,"ask_iv":0.573694,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.15,"average_volume":0,"last_volume":1,"trade_date":1709931057513,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":282,"bidexch":"D","bid_date":1709931594000,"asksize":1258,"askexch":"D","ask_date":1709931594000,"open_interest":1844,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00022500","description":"PLTR - Mar 28 2024 $22.50 Call","exch":"Z","type":"option","last":4.45,"change":0.65,"volume":13,"open":4.65,"high":4.75,"low":4.45,"close":4.45,"bid":3.75,"ask":3.85,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.8904984620297937,"gamma":0.05607178279334474,"theta":-0.019553450916416623,"vega":0.01130088056907429,"rho":0.010587942184580298,"phi":-0.012674107443544358,"bid_iv":0.0,"mid_iv":0.582563,"ask_iv":0.582563,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":17.11,"average_volume":0,"last_volume":2,"trade_date":1709912216379,"prevclose":3.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":279,"bidexch":"C","bid_date":1709931582000,"asksize":165,"askexch":"E","ask_date":1709931584000,"open_interest":176,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00022500","description":"PLTR - Mar 28 2024 $22.50 Put","exch":"Z","type":"option","last":0.17,"change":0.00,"volume":125,"open":0.16,"high":0.21,"low":0.13,"close":0.17,"bid":0.18,"ask":0.2,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.1095015379702063,"gamma":0.05607178279334474,"theta":-0.019553450916416623,"vega":0.01130088056907429,"rho":0.010587942184580298,"phi":-0.012674107443544358,"bid_iv":0.54419,"mid_iv":0.553042,"ask_iv":0.561894,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709930437539,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":448,"bidexch":"E","bid_date":1709931582000,"asksize":1419,"askexch":"D","ask_date":1709931587000,"open_interest":1615,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00023000","description":"PLTR - Mar 28 2024 $23.00 Put","exch":"Z","type":"option","last":0.25,"change":-0.01,"volume":2099,"open":0.2,"high":0.3,"low":0.17,"close":0.25,"bid":0.25,"ask":0.26,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.1377040940267348,"gamma":0.06810179875679204,"theta":-0.021677456117983437,"vega":0.01412511798603806,"rho":0.010428038722086606,"phi":-0.012270745184395082,"bid_iv":0.539983,"mid_iv":0.543521,"ask_iv":0.547059,"smv_vol":0.54,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.85,"average_volume":0,"last_volume":1,"trade_date":1709931510541,"prevclose":0.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":275,"bidexch":"P","bid_date":1709931572000,"asksize":260,"askexch":"D","ask_date":1709931598000,"open_interest":2813,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00023000","description":"PLTR - Mar 28 2024 $23.00 Call","exch":"Z","type":"option","last":3.55,"change":-0.65,"volume":38,"open":4.4,"high":4.4,"low":3.5,"close":3.55,"bid":3.3,"ask":3.4,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.8622959059732652,"gamma":0.06810179875679204,"theta":-0.021677456117983437,"vega":0.01412511798603806,"rho":0.010428038722086606,"phi":-0.012270745184395082,"bid_iv":0.51372,"mid_iv":0.531957,"ask_iv":0.550195,"smv_vol":0.54,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.48,"average_volume":0,"last_volume":10,"trade_date":1709925043456,"prevclose":4.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":842,"bidexch":"E","bid_date":1709931586000,"asksize":90,"askexch":"E","ask_date":1709931586000,"open_interest":1793,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00023500","description":"PLTR - Mar 28 2024 $23.50 Call","exch":"Z","type":"option","last":3.15,"change":-0.44,"volume":29,"open":3.73,"high":4.05,"low":2.9,"close":3.15,"bid":2.59,"ask":2.99,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.8247301359991145,"gamma":0.08138004143740098,"theta":-0.02424913763232423,"vega":0.01568250629278448,"rho":0.010120260469051005,"phi":-0.011733858822360332,"bid_iv":0.0,"mid_iv":0.549189,"ask_iv":0.549189,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.26,"average_volume":0,"last_volume":1,"trade_date":1709924959419,"prevclose":3.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":975,"bidexch":"E","bid_date":1709931593000,"asksize":10,"askexch":"J","ask_date":1709931600000,"open_interest":785,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00023500","description":"PLTR - Mar 28 2024 $23.50 Put","exch":"Z","type":"option","last":0.33,"change":0.03,"volume":63,"open":0.25,"high":0.42,"low":0.24,"close":0.33,"bid":0.34,"ask":0.36,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.1752698640008855,"gamma":0.08138004143740098,"theta":-0.02424913763232423,"vega":0.01568250629278448,"rho":0.010120260469051005,"phi":-0.011733858822360332,"bid_iv":0.535764,"mid_iv":0.54213,"ask_iv":0.548496,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.00,"average_volume":0,"last_volume":1,"trade_date":1709930804973,"prevclose":0.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":215,"bidexch":"E","bid_date":1709931589000,"asksize":532,"askexch":"D","ask_date":1709931591000,"open_interest":855,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00024000","description":"PLTR - Mar 28 2024 $24.00 Put","exch":"Z","type":"option","last":0.46,"change":0.02,"volume":1625,"open":0.37,"high":0.54,"low":0.3,"close":0.46,"bid":0.46,"ask":0.47,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.2220432628284768,"gamma":0.09442004455846838,"theta":-0.027133723952576027,"vega":0.018486777748687365,"rho":0.009663484941476732,"phi":-0.011065874909732543,"bid_iv":0.535181,"mid_iv":0.537875,"ask_iv":0.54057,"smv_vol":0.534,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.55,"average_volume":0,"last_volume":4,"trade_date":1709931057512,"prevclose":0.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":90,"bidexch":"E","bid_date":1709931599000,"asksize":4,"askexch":"Q","ask_date":1709931587000,"open_interest":1645,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00024000","description":"PLTR - Mar 28 2024 $24.00 Call","exch":"Z","type":"option","last":2.56,"change":-0.41,"volume":83,"open":3.5,"high":3.57,"low":2.44,"close":2.56,"bid":2.55,"ask":2.71,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.7779567371715232,"gamma":0.09442004455846838,"theta":-0.027133723952576027,"vega":0.018486777748687365,"rho":0.009663484941476732,"phi":-0.011065874909732543,"bid_iv":0.503588,"mid_iv":0.522521,"ask_iv":0.541455,"smv_vol":0.534,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.81,"average_volume":0,"last_volume":1,"trade_date":1709931303413,"prevclose":2.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"E","bid_date":1709931587000,"asksize":32,"askexch":"M","ask_date":1709931591000,"open_interest":1450,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00024500","description":"PLTR - Mar 28 2024 $24.50 Call","exch":"Z","type":"option","last":2.28,"change":-0.50,"volume":40,"open":3.08,"high":3.08,"low":2.1,"close":2.28,"bid":2.12,"ask":2.28,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.7234355951866253,"gamma":0.10549095210733499,"theta":-0.030076002711804554,"vega":0.020830391573384864,"rho":0.009075477414362446,"phi":-0.01028783177314807,"bid_iv":0.517638,"mid_iv":0.536791,"ask_iv":0.555945,"smv_vol":0.535,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.99,"average_volume":0,"last_volume":2,"trade_date":1709929695920,"prevclose":2.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":351,"bidexch":"X","bid_date":1709931596000,"asksize":1,"askexch":"Q","ask_date":1709931592000,"open_interest":1562,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00024500","description":"PLTR - Mar 28 2024 $24.50 Put","exch":"Z","type":"option","last":0.61,"change":0.09,"volume":466,"open":0.45,"high":0.71,"low":0.4,"close":0.61,"bid":0.61,"ask":0.63,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.2765644048133747,"gamma":0.10549095210733499,"theta":-0.030076002711804554,"vega":0.020830391573384864,"rho":0.009075477414362446,"phi":-0.01028783177314807,"bid_iv":0.531731,"mid_iv":0.538901,"ask_iv":0.546072,"smv_vol":0.535,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":17.31,"average_volume":0,"last_volume":1,"trade_date":1709931174446,"prevclose":0.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":181,"bidexch":"E","bid_date":1709931598000,"asksize":454,"askexch":"D","ask_date":1709931593000,"open_interest":1129,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00025000","description":"PLTR - Mar 28 2024 $25.00 Put","exch":"Z","type":"option","last":0.8,"change":0.06,"volume":493,"open":0.52,"high":0.9,"low":0.51,"close":0.8,"bid":0.79,"ask":0.82,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3360676835301077,"gamma":0.11314978161685808,"theta":-0.03266077521628094,"vega":0.022131529026459283,"rho":0.008393676763811956,"phi":-0.009439321027038261,"bid_iv":0.537509,"mid_iv":0.542023,"ask_iv":0.546537,"smv_vol":0.54,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.11,"average_volume":0,"last_volume":1,"trade_date":1709931069840,"prevclose":0.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":266,"bidexch":"C","bid_date":1709931592000,"asksize":1050,"askexch":"E","ask_date":1709931587000,"open_interest":2159,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00025000","description":"PLTR - Mar 28 2024 $25.00 Call","exch":"Z","type":"option","last":1.99,"change":-0.26,"volume":1117,"open":2.8,"high":2.85,"low":1.83,"close":1.99,"bid":1.9,"ask":1.94,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6639323164698923,"gamma":0.11314978161685808,"theta":-0.03266077521628094,"vega":0.022131529026459283,"rho":0.008393676763811956,"phi":-0.009439321027038261,"bid_iv":0.523743,"mid_iv":0.532787,"ask_iv":0.541831,"smv_vol":0.54,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.56,"average_volume":0,"last_volume":2,"trade_date":1709930978944,"prevclose":2.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"C","bid_date":1709931589000,"asksize":86,"askexch":"E","ask_date":1709931599000,"open_interest":2607,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00025500","description":"PLTR - Mar 28 2024 $25.50 Call","exch":"Z","type":"option","last":1.63,"change":-0.44,"volume":122,"open":2.4,"high":2.44,"low":1.56,"close":1.63,"bid":1.61,"ask":1.65,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.6031482523744839,"gamma":0.1173757808462433,"theta":-0.03466327533932529,"vega":0.023604481396146886,"rho":0.007674220135725499,"phi":-0.008573058907224151,"bid_iv":0.529344,"mid_iv":0.537824,"ask_iv":0.546305,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.26,"average_volume":0,"last_volume":1,"trade_date":1709931507902,"prevclose":2.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":189,"bidexch":"E","bid_date":1709931599000,"asksize":55,"askexch":"E","ask_date":1709931594000,"open_interest":1345,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00025500","description":"PLTR - Mar 28 2024 $25.50 Put","exch":"Z","type":"option","last":1.02,"change":0.07,"volume":146,"open":0.7,"high":1.09,"low":0.67,"close":1.02,"bid":1.01,"ask":1.04,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.3968517476255161,"gamma":0.1173757808462433,"theta":-0.03466327533932529,"vega":0.023604481396146886,"rho":0.007674220135725499,"phi":-0.008573058907224151,"bid_iv":0.542495,"mid_iv":0.548852,"ask_iv":0.555209,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.37,"average_volume":0,"last_volume":1,"trade_date":1709931466715,"prevclose":0.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":71,"bidexch":"E","bid_date":1709931589000,"asksize":545,"askexch":"D","ask_date":1709931585000,"open_interest":359,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00026000","description":"PLTR - Mar 28 2024 $26.00 Put","exch":"Z","type":"option","last":1.26,"change":0.14,"volume":296,"open":0.93,"high":1.4,"low":0.85,"close":1.26,"bid":1.26,"ask":1.29,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4568050880536254,"gamma":0.11868877186510042,"theta":-0.03591361699151001,"vega":0.024180999066601684,"rho":0.006950258494843603,"phi":-0.0077190422853590235,"bid_iv":0.547308,"mid_iv":0.55145,"ask_iv":0.555593,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":12.50,"average_volume":0,"last_volume":2,"trade_date":1709931525491,"prevclose":1.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":95,"bidexch":"P","bid_date":1709931589000,"asksize":225,"askexch":"D","ask_date":1709931592000,"open_interest":1690,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00026000","description":"PLTR - Mar 28 2024 $26.00 Call","exch":"Z","type":"option","last":1.39,"change":-0.27,"volume":2554,"open":2.15,"high":2.17,"low":1.33,"close":1.39,"bid":1.38,"ask":1.4,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5431949119463746,"gamma":0.11868877186510042,"theta":-0.03591361699151001,"vega":0.024180999066601684,"rho":0.006950258494843603,"phi":-0.0077190422853590235,"bid_iv":0.538455,"mid_iv":0.544663,"ask_iv":0.550872,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.27,"average_volume":0,"last_volume":2,"trade_date":1709931591280,"prevclose":1.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":31,"bidexch":"N","bid_date":1709931594000,"asksize":110,"askexch":"D","ask_date":1709931599000,"open_interest":2295,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00026500","description":"PLTR - Mar 28 2024 $26.50 Call","exch":"Z","type":"option","last":1.16,"change":-0.31,"volume":587,"open":1.85,"high":1.89,"low":1.13,"close":1.16,"bid":1.16,"ask":1.18,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.48525900128470867,"gamma":0.11753351442050004,"theta":-0.03627750483709517,"vega":0.024271971598870904,"rho":0.006240291116698113,"phi":-0.0068941085840101834,"bid_iv":0.54654,"mid_iv":0.550664,"ask_iv":0.554788,"smv_vol":0.554,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.09,"average_volume":0,"last_volume":1,"trade_date":1709931568991,"prevclose":1.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"Z","bid_date":1709931598000,"asksize":6,"askexch":"B","ask_date":1709931600000,"open_interest":864,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00026500","description":"PLTR - Mar 28 2024 $26.50 Put","exch":"Z","type":"option","last":1.58,"change":0.14,"volume":76,"open":1.21,"high":1.67,"low":1.06,"close":1.58,"bid":1.54,"ask":1.57,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.5147409987152913,"gamma":0.11753351442050004,"theta":-0.03627750483709517,"vega":0.024271971598870904,"rho":0.006240291116698113,"phi":-0.0068941085840101834,"bid_iv":0.547132,"mid_iv":0.555386,"ask_iv":0.56364,"smv_vol":0.554,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.73,"average_volume":0,"last_volume":1,"trade_date":1709931580305,"prevclose":1.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"N","bid_date":1709931596000,"asksize":167,"askexch":"D","ask_date":1709931594000,"open_interest":386,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00027000","description":"PLTR - Mar 28 2024 $27.00 Put","exch":"Z","type":"option","last":1.83,"change":0.31,"volume":155,"open":1.47,"high":1.98,"low":1.3,"close":1.83,"bid":1.85,"ask":1.89,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5702738329301913,"gamma":0.11462027639711689,"theta":-0.03585665922544772,"vega":0.024113078390820983,"rho":0.005552980800214031,"phi":-0.006103648888533542,"bid_iv":0.556262,"mid_iv":0.564588,"ask_iv":0.572913,"smv_vol":0.56,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":20.40,"average_volume":0,"last_volume":44,"trade_date":1709931031353,"prevclose":1.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"E","bid_date":1709931594000,"asksize":328,"askexch":"B","ask_date":1709931591000,"open_interest":480,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00027000","description":"PLTR - Mar 28 2024 $27.00 Call","exch":"Z","type":"option","last":0.99,"change":-0.23,"volume":8368,"open":1.43,"high":1.65,"low":0.96,"close":0.99,"bid":0.98,"ask":0.99,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.42972616706980876,"gamma":0.11462027639711689,"theta":-0.03585665922544772,"vega":0.024113078390820983,"rho":0.005552980800214031,"phi":-0.006103648888533542,"bid_iv":0.551645,"mid_iv":0.555795,"ask_iv":0.559946,"smv_vol":0.56,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.86,"average_volume":0,"last_volume":5,"trade_date":1709931598035,"prevclose":1.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"D","bid_date":1709931589000,"asksize":6,"askexch":"P","ask_date":1709931592000,"open_interest":6071,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00027500","description":"PLTR - Mar 28 2024 $27.50 Call","exch":"Z","type":"option","last":0.83,"change":-0.25,"volume":3157,"open":1.3,"high":1.41,"low":0.82,"close":0.83,"bid":0.81,"ask":0.84,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.376881000848287,"gamma":0.11017213242173003,"theta":-0.0347068967278535,"vega":0.022789132796570778,"rho":0.004892884189910849,"phi":-0.005351684564391945,"bid_iv":0.553648,"mid_iv":0.560232,"ask_iv":0.566817,"smv_vol":0.567,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-23.15,"average_volume":0,"last_volume":1,"trade_date":1709931238128,"prevclose":1.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"B","bid_date":1709931600000,"asksize":477,"askexch":"E","ask_date":1709931599000,"open_interest":938,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00027500","description":"PLTR - Mar 28 2024 $27.50 Put","exch":"Z","type":"option","last":2.25,"change":0.25,"volume":107,"open":1.78,"high":2.25,"low":1.6,"close":2.25,"bid":2.18,"ask":2.22,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.623118999151713,"gamma":0.11017213242173003,"theta":-0.0347068967278535,"vega":0.022789132796570778,"rho":0.004892884189910849,"phi":-0.005351684564391945,"bid_iv":0.558212,"mid_iv":0.569236,"ask_iv":0.58026,"smv_vol":0.567,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":12.50,"average_volume":0,"last_volume":1,"trade_date":1709917829228,"prevclose":2.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"E","bid_date":1709931586000,"asksize":5,"askexch":"N","ask_date":1709931600000,"open_interest":47,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00028000","description":"PLTR - Mar 28 2024 $28.00 Put","exch":"Z","type":"option","last":2.62,"change":0.44,"volume":34,"open":2.08,"high":2.62,"low":1.95,"close":2.62,"bid":2.54,"ask":2.61,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.6725855471086702,"gamma":0.10421389256289636,"theta":-0.03292559193628182,"vega":0.021962840035626298,"rho":0.0042688596294301,"phi":-0.004648052086553278,"bid_iv":0.561287,"mid_iv":0.607361,"ask_iv":0.653434,"smv_vol":0.576,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":20.19,"average_volume":0,"last_volume":1,"trade_date":1709918587403,"prevclose":2.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"T","bid_date":1709931589000,"asksize":264,"askexch":"E","ask_date":1709931599000,"open_interest":59,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00028000","description":"PLTR - Mar 28 2024 $28.00 Call","exch":"Z","type":"option","last":0.69,"change":-0.21,"volume":1079,"open":1.11,"high":1.2,"low":0.66,"close":0.69,"bid":0.67,"ask":0.69,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.32741445289132975,"gamma":0.10421389256289636,"theta":-0.03292559193628182,"vega":0.021962840035626298,"rho":0.0042688596294301,"phi":-0.004648052086553278,"bid_iv":0.562414,"mid_iv":0.566972,"ask_iv":0.57153,"smv_vol":0.576,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-23.34,"average_volume":0,"last_volume":53,"trade_date":1709931519900,"prevclose":0.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":148,"bidexch":"D","bid_date":1709931599000,"asksize":18,"askexch":"W","ask_date":1709931589000,"open_interest":3809,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00028500","description":"PLTR - Mar 28 2024 $28.50 Call","exch":"Z","type":"option","last":0.58,"change":-0.20,"volume":241,"open":0.95,"high":1.03,"low":0.57,"close":0.58,"bid":0.55,"ask":0.58,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.28140127237575335,"gamma":0.09717252474215393,"theta":-0.030740681205841027,"vega":0.020954028918065123,"rho":0.00368381073572422,"phi":-0.003993755152142953,"bid_iv":0.56681,"mid_iv":0.571588,"ask_iv":0.576365,"smv_vol":0.584,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.65,"average_volume":0,"last_volume":1,"trade_date":1709929722832,"prevclose":0.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":921,"bidexch":"D","bid_date":1709931597000,"asksize":298,"askexch":"E","ask_date":1709931594000,"open_interest":667,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00028500","description":"PLTR - Mar 28 2024 $28.50 Put","exch":"Z","type":"option","last":2.46,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.93,"ask":3.15,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.7185987276242467,"gamma":0.09717252474215393,"theta":-0.030740681205841027,"vega":0.020954028918065123,"rho":0.00368381073572422,"phi":-0.003993755152142953,"bid_iv":0.561051,"mid_iv":0.72592,"ask_iv":0.890789,"smv_vol":0.584,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1709830939269,"prevclose":2.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"P","bid_date":1709931591000,"asksize":16,"askexch":"Q","ask_date":1709931590000,"open_interest":29,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328P00029000","description":"PLTR - Mar 28 2024 $29.00 Put","exch":"Z","type":"option","last":3.35,"change":0.53,"volume":6,"open":2.6,"high":3.35,"low":2.6,"close":3.35,"bid":3.3,"ask":3.4,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.7602146915412195,"gamma":0.08920363364022163,"theta":-0.028313602045729552,"vega":0.018275546617208555,"rho":0.003150272273907801,"phi":-0.003402213626380046,"bid_iv":0.558112,"mid_iv":0.584862,"ask_iv":0.611612,"smv_vol":0.585,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":18.80,"average_volume":0,"last_volume":1,"trade_date":1709931539404,"prevclose":2.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":546,"bidexch":"E","bid_date":1709931596000,"asksize":260,"askexch":"E","ask_date":1709931596000,"open_interest":29,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00029000","description":"PLTR - Mar 28 2024 $29.00 Call","exch":"Z","type":"option","last":0.47,"change":-0.20,"volume":392,"open":0.78,"high":0.87,"low":0.46,"close":0.47,"bid":0.46,"ask":0.48,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.23978530845878054,"gamma":0.08920363364022163,"theta":-0.028313602045729552,"vega":0.018275546617208555,"rho":0.003150272273907801,"phi":-0.003402213626380046,"bid_iv":0.57152,"mid_iv":0.579417,"ask_iv":0.587315,"smv_vol":0.585,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-29.86,"average_volume":0,"last_volume":1,"trade_date":1709930370004,"prevclose":0.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":293,"bidexch":"D","bid_date":1709931591000,"asksize":200,"askexch":"E","ask_date":1709931597000,"open_interest":1629,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00030000","description":"PLTR - Mar 28 2024 $30.00 Put","exch":"Z","type":"option","last":4.15,"change":0.63,"volume":14,"open":4.0,"high":4.17,"low":4.0,"close":4.15,"bid":4.15,"ask":4.25,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.8278048269395971,"gamma":0.07214616820194746,"theta":-0.023390788693626416,"vega":0.015485731704790683,"rho":0.002274312860094798,"phi":-0.0024420535715830027,"bid_iv":0.562246,"mid_iv":0.59524,"ask_iv":0.628235,"smv_vol":0.592,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":17.90,"average_volume":0,"last_volume":1,"trade_date":1709930726661,"prevclose":3.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":179,"bidexch":"E","bid_date":1709931589000,"asksize":187,"askexch":"E","ask_date":1709931589000,"open_interest":264,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00030000","description":"PLTR - Mar 28 2024 $30.00 Call","exch":"Z","type":"option","last":0.32,"change":-0.14,"volume":7093,"open":0.58,"high":0.63,"low":0.32,"close":0.32,"bid":0.32,"ask":0.33,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.1721951730604029,"gamma":0.07214616820194746,"theta":-0.023390788693626416,"vega":0.015485731704790683,"rho":0.002274312860094798,"phi":-0.0024420535715830027,"bid_iv":0.588243,"mid_iv":0.591486,"ask_iv":0.594729,"smv_vol":0.592,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-30.44,"average_volume":0,"last_volume":1,"trade_date":1709931448751,"prevclose":0.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":180,"bidexch":"P","bid_date":1709931560000,"asksize":208,"askexch":"P","ask_date":1709931560000,"open_interest":13109,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00031000","description":"PLTR - Mar 28 2024 $31.00 Put","exch":"Z","type":"option","last":5.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.05,"ask":5.2,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.8759086633429755,"gamma":0.056413146455024564,"theta":-0.019161387862456605,"vega":0.01258196711470836,"rho":0.0016443062031667427,"phi":-0.0017592203599425815,"bid_iv":0.56116,"mid_iv":0.604687,"ask_iv":0.648215,"smv_vol":0.606,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":100,"trade_date":1709755995846,"prevclose":5.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"E","bid_date":1709931589000,"asksize":399,"askexch":"E","ask_date":1709931584000,"open_interest":101,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00031000","description":"PLTR - Mar 28 2024 $31.00 Call","exch":"Z","type":"option","last":0.22,"change":-0.11,"volume":1018,"open":0.4,"high":0.47,"low":0.22,"close":0.22,"bid":0.22,"ask":0.24,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.12409133665702458,"gamma":0.056413146455024564,"theta":-0.019161387862456605,"vega":0.01258196711470836,"rho":0.0016443062031667427,"phi":-0.0017592203599425815,"bid_iv":0.602521,"mid_iv":0.610489,"ask_iv":0.618457,"smv_vol":0.606,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":40,"trade_date":1709931407480,"prevclose":0.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"W","bid_date":1709931590000,"asksize":1530,"askexch":"E","ask_date":1709931599000,"open_interest":442,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00032000","description":"PLTR - Mar 28 2024 $32.00 Put","exch":"Z","type":"option","last":5.4,"change":null,"volume":3,"open":5.4,"high":5.4,"low":5.4,"close":5.4,"bid":5.85,"ask":6.1,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.9085701854993882,"gamma":0.04368624792155544,"theta":-0.015852357008241193,"vega":0.009800684515358857,"rho":0.0012135441664025296,"phi":-0.0012958817657837685,"bid_iv":0.215688,"mid_iv":0.527915,"ask_iv":0.840142,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":3,"trade_date":1709908855278,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":90,"bidexch":"E","bid_date":1709931596000,"asksize":18,"askexch":"Z","ask_date":1709931583000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00032000","description":"PLTR - Mar 28 2024 $32.00 Call","exch":"Z","type":"option","last":0.16,"change":-0.09,"volume":1036,"open":0.33,"high":0.34,"low":0.16,"close":0.16,"bid":0.15,"ask":0.17,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.0914298145006118,"gamma":0.04368624792155544,"theta":-0.015852357008241193,"vega":0.009800684515358857,"rho":0.0012135441664025296,"phi":-0.0012958817657837685,"bid_iv":0.615178,"mid_iv":0.625395,"ask_iv":0.635612,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-36.00,"average_volume":0,"last_volume":5,"trade_date":1709930420598,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":367,"bidexch":"D","bid_date":1709931576000,"asksize":985,"askexch":"E","ask_date":1709931595000,"open_interest":255,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00033000","description":"PLTR - Mar 28 2024 $33.00 Put","exch":"Z","type":"option","last":6.95,"change":0.62,"volume":2,"open":5.95,"high":6.95,"low":5.95,"close":6.95,"bid":6.95,"ask":7.1,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.930200492079065,"gamma":0.03414087568350058,"theta":-0.013428655800958348,"vega":0.008578429200376948,"rho":9.268501185611122E-4,"phi":-9.89191812489354E-4,"bid_iv":0.0,"mid_iv":0.696681,"ask_iv":0.696681,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.80,"average_volume":0,"last_volume":1,"trade_date":1709918802654,"prevclose":6.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"Q","bid_date":1709931575000,"asksize":44,"askexch":"X","ask_date":1709931575000,"open_interest":55,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00033000","description":"PLTR - Mar 28 2024 $33.00 Call","exch":"Z","type":"option","last":0.12,"change":-0.08,"volume":51,"open":0.23,"high":0.24,"low":0.12,"close":0.12,"bid":0.11,"ask":0.12,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.06979950792093507,"gamma":0.03414087568350058,"theta":-0.013428655800958348,"vega":0.008578429200376948,"rho":9.268501185611122E-4,"phi":-9.89191812489354E-4,"bid_iv":0.636287,"mid_iv":0.642695,"ask_iv":0.649103,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-40.00,"average_volume":0,"last_volume":1,"trade_date":1709930865160,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":167,"bidexch":"D","bid_date":1709931508000,"asksize":241,"askexch":"D","ask_date":1709931509000,"open_interest":221,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00034000","description":"PLTR - Mar 28 2024 $34.00 Put","exch":"Z","type":"option","last":8.1,"change":null,"volume":2,"open":6.95,"high":8.1,"low":6.95,"close":8.1,"bid":7.95,"ask":8.4,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9467252468129457,"gamma":0.026674317001062903,"theta":-0.011235741275460263,"vega":0.006271905331505595,"rho":7.078314920003308E-4,"phi":-7.549168443143905E-4,"bid_iv":0.0,"mid_iv":0.818494,"ask_iv":0.818494,"smv_vol":0.66,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709915323003,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"X","bid_date":1709931592000,"asksize":2,"askexch":"N","ask_date":1709931592000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240328C00034000","description":"PLTR - Mar 28 2024 $34.00 Call","exch":"Z","type":"option","last":0.1,"change":-0.03,"volume":117,"open":0.19,"high":0.19,"low":0.09,"close":0.1,"bid":0.08,"ask":0.09,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.0532747531870543,"gamma":0.026674317001062903,"theta":-0.011235741275460263,"vega":0.006271905331505595,"rho":7.078314920003308E-4,"phi":-7.549168443143905E-4,"bid_iv":0.655407,"mid_iv":0.663402,"ask_iv":0.671398,"smv_vol":0.66,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-23.08,"average_volume":0,"last_volume":2,"trade_date":1709927507377,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1299,"bidexch":"D","bid_date":1709931582000,"asksize":256,"askexch":"W","ask_date":1709931513000,"open_interest":266,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328C00035000","description":"PLTR - Mar 28 2024 $35.00 Call","exch":"Z","type":"option","last":0.07,"change":-0.03,"volume":812,"open":0.14,"high":0.15,"low":0.06,"close":0.07,"bid":0.06,"ask":0.07,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.04178910231259383,"gamma":0.021148576763702295,"theta":-0.009573846164705154,"vega":0.005328277330099785,"rho":5.55235442432922E-4,"phi":-5.921301921008038E-4,"bid_iv":0.676211,"mid_iv":0.685624,"ask_iv":0.695038,"smv_vol":0.683,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-30.00,"average_volume":0,"last_volume":1,"trade_date":1709931492801,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":608,"bidexch":"D","bid_date":1709931594000,"asksize":250,"askexch":"D","ask_date":1709931560000,"open_interest":1270,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240328P00035000","description":"PLTR - Mar 28 2024 $35.00 Put","exch":"Z","type":"option","last":8.65,"change":0.40,"volume":1,"open":8.65,"high":8.65,"low":8.65,"close":8.65,"bid":8.9,"ask":9.05,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9582108976874062,"gamma":0.021148576763702295,"theta":-0.009573846164705154,"vega":0.005328277330099785,"rho":5.55235442432922E-4,"phi":-5.921301921008038E-4,"bid_iv":0.0,"mid_iv":0.824636,"ask_iv":0.824636,"smv_vol":0.683,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.85,"average_volume":0,"last_volume":1,"trade_date":1709908243060,"prevclose":8.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"N","bid_date":1709931590000,"asksize":34,"askexch":"X","ask_date":1709931562000,"open_interest":51,"contract_size":100,"expiration_date":"2024-03-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"}]}}' + string: '{"options":{"option":[{"symbol":"PLTR240621P00003000","description":"PLTR + Jun 21 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":2.0E-16,"gamma":1.7130848786701248E-14,"theta":-9.332831607791216E-4,"vega":2.0000000719459714E-5,"rho":5.741365385755099E-4,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1714743008952,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"U","bid_date":1718371801000,"asksize":8,"askexch":"I","ask_date":1718371803000,"open_interest":580,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00003000","description":"PLTR + Jun 21 2024 $3.00 Call","exch":"Z","type":"option","last":18.39,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.45,"ask":20.7,"underlying":"PLTR","strike":3.0,"greeks":{"delta":1.0000000000000002,"gamma":1.7130848786701248E-14,"theta":-9.332831607791216E-4,"vega":2.0000000719459714E-5,"rho":5.741365385755099E-4,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":9.001524,"ask_iv":9.001524,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717430771698,"prevclose":18.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":306,"bidexch":"X","bid_date":1718395057000,"asksize":123,"askexch":"E","ask_date":1718395057000,"open_interest":132,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00005000","description":"PLTR + Jun 21 2024 $5.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.07,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-1.0E-16,"gamma":-7.253550481533576E-15,"theta":-0.0015554719346279995,"vega":2.000000057060598E-5,"rho":9.568942248726821E-4,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1713537170575,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1718395200000,"asksize":67,"askexch":"N","ask_date":1718395200000,"open_interest":594,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00005000","description":"PLTR + Jun 21 2024 $5.00 Call","exch":"Z","type":"option","last":18.67,"change":1.82,"volume":5,"open":18.67,"high":18.67,"low":18.67,"close":18.67,"bid":18.5,"ask":18.65,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999999999999999,"gamma":-7.253550481533576E-15,"theta":-0.0015554719346279995,"vega":2.000000057060598E-5,"rho":9.568942248726821E-4,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":6.695334,"ask_iv":6.695334,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.81,"average_volume":0,"last_volume":5,"trade_date":1718393176070,"prevclose":16.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":122,"bidexch":"E","bid_date":1718395115000,"asksize":2,"askexch":"J","ask_date":1718395115000,"open_interest":248,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00006000","description":"PLTR + Jun 21 2024 $6.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.07,"underlying":"PLTR","strike":6.0,"greeks":{"delta":2.0E-16,"gamma":1.7130848786701248E-14,"theta":-0.001866566321571121,"vega":2.0000000545797025E-5,"rho":0.0011482730672475606,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715881373457,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"B","bid_date":1718395200000,"asksize":66,"askexch":"N","ask_date":1718395200000,"open_interest":1041,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00006000","description":"PLTR + Jun 21 2024 $6.00 Call","exch":"Z","type":"option","last":17.97,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.5,"ask":17.65,"underlying":"PLTR","strike":6.0,"greeks":{"delta":1.0000000000000002,"gamma":1.7130848786701248E-14,"theta":-0.001866566321571121,"vega":2.0000000545797025E-5,"rho":0.0011482730672475606,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":5.913114,"ask_iv":5.913114,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718212610248,"prevclose":17.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"N","bid_date":1718395111000,"asksize":30,"askexch":"E","ask_date":1718395111000,"open_interest":15,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00007000","description":"PLTR + Jun 21 2024 $7.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.07,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-1.0E-16,"gamma":-7.37459540159382E-15,"theta":-0.00217766070847637,"vega":2.0000000421752245E-5,"rho":0.0013396519096224389,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1716925248044,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1718395200000,"asksize":63,"askexch":"N","ask_date":1718395200000,"open_interest":6702,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00007000","description":"PLTR + Jun 21 2024 $7.00 Call","exch":"Z","type":"option","last":16.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.45,"ask":16.7,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9999999999999999,"gamma":-7.37459540159382E-15,"theta":-0.00217766070847637,"vega":2.0000000421752245E-5,"rho":0.0013396519096224389,"phi":-0.004518740261971743,"bid_iv":0.0,"mid_iv":5.264545,"ask_iv":5.264545,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718135538649,"prevclose":16.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1718395197000,"asksize":63,"askexch":"N","ask_date":1718395197000,"open_interest":970,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00008000","description":"PLTR + Jun 21 2024 $8.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.04,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-1.2E-15,"gamma":-1.2045941171771627E-14,"theta":-0.002488755095387931,"vega":2.0000000568755727E-5,"rho":0.0015310307519199465,"phi":-0.004518739764591828,"bid_iv":0.0,"mid_iv":3.084032,"ask_iv":3.084032,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":9,"trade_date":1718287361547,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718280000000,"asksize":100,"askexch":"H","ask_date":1718395200000,"open_interest":381,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00008000","description":"PLTR + Jun 21 2024 $8.00 Call","exch":"Z","type":"option","last":15.82,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":15.5,"ask":15.7,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9999999999999988,"gamma":-1.2045941171771627E-14,"theta":-0.002488755095387931,"vega":2.0000000568755727E-5,"rho":0.0015310307519199465,"phi":-0.004518739764591828,"bid_iv":0.0,"mid_iv":4.710953,"ask_iv":4.710953,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718222016776,"prevclose":15.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":129,"bidexch":"E","bid_date":1718395156000,"asksize":74,"askexch":"E","ask_date":1718395057000,"open_interest":141,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00009000","description":"PLTR + Jun 21 2024 $9.00 Call","exch":"Z","type":"option","last":14.84,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.5,"ask":16.65,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9999999999999998,"gamma":-1.8742134613713285E-14,"theta":-0.0027998494823121165,"vega":2.0000000568755727E-5,"rho":0.0017224095946043081,"phi":-0.004518739888936807,"bid_iv":0.0,"mid_iv":3.597117,"ask_iv":3.597117,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1717702722773,"prevclose":14.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"N","bid_date":1718395198000,"asksize":118,"askexch":"Q","ask_date":1718395199000,"open_interest":121,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00009000","description":"PLTR + Jun 21 2024 $9.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.07,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-2.0E-16,"gamma":-1.8742134613713285E-14,"theta":-0.0027998494823121165,"vega":2.0000000568755727E-5,"rho":0.0017224095946043081,"phi":-0.004518739888936807,"bid_iv":0.0,"mid_iv":2.765547,"ask_iv":2.765547,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1716919008241,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"B","bid_date":1718395200000,"asksize":36,"askexch":"N","ask_date":1718395200000,"open_interest":2447,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00010000","description":"PLTR + Jun 21 2024 $10.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.23,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-2.0E-16,"gamma":-1.8958140853775918E-14,"theta":-0.0031109438692364286,"vega":2.000000055760365E-5,"rho":0.0019137884374434112,"phi":-0.004518739924463944,"bid_iv":0.0,"mid_iv":2.481993,"ask_iv":2.481993,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718201819085,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718366400000,"asksize":33,"askexch":"P","ask_date":1718371804000,"open_interest":21303,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00010000","description":"PLTR + Jun 21 2024 $10.00 Call","exch":"Z","type":"option","last":13.68,"change":-0.13,"volume":11,"open":13.16,"high":13.68,"low":13.07,"close":13.68,"bid":13.45,"ask":15.0,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9999999999999998,"gamma":-1.8958140853775918E-14,"theta":-0.0031109438692364286,"vega":2.000000055760365E-5,"rho":0.0019137884374434112,"phi":-0.004518739924463944,"bid_iv":0.0,"mid_iv":3.544393,"ask_iv":3.544393,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.95,"average_volume":0,"last_volume":1,"trade_date":1718393344205,"prevclose":13.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"N","bid_date":1718395198000,"asksize":100,"askexch":"Q","ask_date":1718395199000,"open_interest":5370,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00011000","description":"PLTR + Jun 21 2024 $11.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.1,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-1.127E-13,"gamma":3.172514553389762E-13,"theta":-0.0034220382563199376,"vega":2.000000055760365E-5,"rho":0.002105167280205143,"phi":-0.004518739888936807,"bid_iv":0.0,"mid_iv":2.222829,"ask_iv":2.222829,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717680606036,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718371804000,"asksize":130,"askexch":"C","ask_date":1718371805000,"open_interest":7967,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00011000","description":"PLTR + Jun 21 2024 $11.00 Call","exch":"Z","type":"option","last":12.7,"change":0.85,"volume":4,"open":12.33,"high":12.7,"low":12.33,"close":12.7,"bid":12.45,"ask":14.65,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9999999999998873,"gamma":3.172514553389762E-13,"theta":-0.0034220382563199376,"vega":2.000000055760365E-5,"rho":0.002105167280205143,"phi":-0.004518739888936807,"bid_iv":0.0,"mid_iv":3.179412,"ask_iv":3.179412,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.18,"average_volume":0,"last_volume":1,"trade_date":1718394548079,"prevclose":11.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"N","bid_date":1718395198000,"asksize":112,"askexch":"Z","ask_date":1718395199000,"open_interest":225,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00012000","description":"PLTR + Jun 21 2024 $12.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-6.72582E-11,"gamma":1.6902128005255628E-10,"theta":-0.0037331327238878864,"vega":2.0000014620367696E-5,"rho":0.0022965461221931675,"phi":-0.004518739906700375,"bid_iv":0.0,"mid_iv":1.98579,"ask_iv":1.98579,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718292624347,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718366400000,"asksize":2,"askexch":"A","ask_date":1718371806000,"open_interest":25589,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00012000","description":"PLTR + Jun 21 2024 $12.00 Call","exch":"Z","type":"option","last":11.66,"change":0.36,"volume":5,"open":11.2,"high":11.66,"low":11.2,"close":11.66,"bid":11.45,"ask":13.65,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9999999999327418,"gamma":1.6902128005255628E-10,"theta":-0.0037331327238878864,"vega":2.0000014620367696E-5,"rho":0.0022965461221931675,"phi":-0.004518739906700375,"bid_iv":0.0,"mid_iv":2.569378,"ask_iv":2.569378,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.19,"average_volume":0,"last_volume":1,"trade_date":1718394937079,"prevclose":11.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"N","bid_date":1718395198000,"asksize":111,"askexch":"Z","ask_date":1718395199000,"open_interest":2538,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00013000","description":"PLTR + Jun 21 2024 $13.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-9.0606991E-9,"gamma":2.0224315259358713E-8,"theta":-0.0040442366910003694,"vega":2.0002383220302933E-5,"rho":0.002487924922400974,"phi":-0.004518739924463944,"bid_iv":0.0,"mid_iv":1.768264,"ask_iv":1.768264,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":9,"trade_date":1718287361547,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718280000000,"asksize":1,"askexch":"P","ask_date":1718395200000,"open_interest":13535,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00013000","description":"PLTR + Jun 21 2024 $13.00 Call","exch":"Z","type":"option","last":10.5,"change":0.14,"volume":12,"open":10.05,"high":10.5,"low":10.05,"close":10.5,"bid":10.55,"ask":12.65,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9999999909393009,"gamma":2.0224315259358713E-8,"theta":-0.0040442366910003694,"vega":2.0002383220302933E-5,"rho":0.002487924922400974,"phi":-0.004518739924463944,"bid_iv":0.0,"mid_iv":2.283565,"ask_iv":2.283565,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.36,"average_volume":0,"last_volume":2,"trade_date":1718385385169,"prevclose":10.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"E","bid_date":1718395198000,"asksize":112,"askexch":"Z","ask_date":1718395199000,"open_interest":3582,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00014000","description":"PLTR + Jun 21 2024 $14.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.23,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-4.846331401E-7,"gamma":9.526132213846578E-7,"theta":-0.004355776030142028,"vega":2.007823153555421E-5,"rho":0.0026793015258977345,"phi":-0.0045187377573086,"bid_iv":0.0,"mid_iv":1.567006,"ask_iv":1.567006,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":100,"trade_date":1718208011764,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718371804000,"asksize":90,"askexch":"Q","ask_date":1718371806000,"open_interest":15218,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00014000","description":"PLTR + Jun 21 2024 $14.00 Call","exch":"Z","type":"option","last":9.63,"change":0.85,"volume":1,"open":9.63,"high":9.63,"low":9.63,"close":9.63,"bid":9.45,"ask":11.65,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9999995153668599,"gamma":9.526132213846578E-7,"theta":-0.004355776030142028,"vega":2.007823153555421E-5,"rho":0.0026793015258977345,"phi":-0.0045187377573086,"bid_iv":0.0,"mid_iv":2.258357,"ask_iv":2.258357,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.69,"average_volume":0,"last_volume":1,"trade_date":1718394432595,"prevclose":8.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":90,"bidexch":"N","bid_date":1718395199000,"asksize":112,"askexch":"Z","ask_date":1718395199000,"open_interest":1323,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00015000","description":"PLTR + Jun 21 2024 $15.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":15,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-1.11133975966E-5,"gamma":1.9203667427183954E-5,"theta":-0.00467557000406165,"vega":2.14195357732318E-5,"rho":0.0028706303031141235,"phi":-0.004518688907495516,"bid_iv":0.0,"mid_iv":1.375915,"ask_iv":1.375915,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1718381609634,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718373019000,"asksize":65,"askexch":"D","ask_date":1718373576000,"open_interest":17810,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00015000","description":"PLTR + Jun 21 2024 $15.00 Call","exch":"Z","type":"option","last":8.65,"change":0.30,"volume":206,"open":8.05,"high":8.7,"low":8.05,"close":8.65,"bid":8.55,"ask":9.05,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9999888866024034,"gamma":1.9203667427183954E-5,"theta":-0.00467557000406165,"vega":2.14195357732318E-5,"rho":0.0028706303031141235,"phi":-0.004518688907495516,"bid_iv":0.0,"mid_iv":1.7725,"ask_iv":1.7725,"smv_vol":0.762,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.60,"average_volume":0,"last_volume":3,"trade_date":1718393889466,"prevclose":8.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"E","bid_date":1718395199000,"asksize":140,"askexch":"N","ask_date":1718395199000,"open_interest":12364,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00016000","description":"PLTR + Jun 21 2024 $16.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":2,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-1.415918392812E-4,"gamma":2.129923646742892E-4,"theta":-0.005078900060753606,"vega":3.667012290439285E-5,"rho":0.003061393849293949,"phi":-0.004518090612748438,"bid_iv":0.0,"mid_iv":1.197492,"ask_iv":1.197492,"smv_vol":0.761,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718289546012,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718371803000,"asksize":50,"askexch":"H","ask_date":1718372928000,"open_interest":6450,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00016000","description":"PLTR + Jun 21 2024 $16.00 Call","exch":"Z","type":"option","last":7.67,"change":0.46,"volume":1,"open":7.67,"high":7.67,"low":7.67,"close":7.67,"bid":7.45,"ask":7.75,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9998584081607188,"gamma":2.129923646742892E-4,"theta":-0.005078900060753606,"vega":3.667012290439285E-5,"rho":0.003061393849293949,"phi":-0.004518090612748438,"bid_iv":0.0,"mid_iv":1.542901,"ask_iv":1.542901,"smv_vol":0.761,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.38,"average_volume":0,"last_volume":1,"trade_date":1718393694794,"prevclose":7.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"M","bid_date":1718395197000,"asksize":73,"askexch":"Q","ask_date":1718395198000,"open_interest":2365,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00017000","description":"PLTR + Jun 21 2024 $17.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":47,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-2.586073995305E-4,"gamma":4.2526250858297894E-4,"theta":-0.005445326312471637,"vega":5.4907090990997514E-5,"rho":0.0032522222353167833,"phi":-0.004517551719374069,"bid_iv":0.0,"mid_iv":1.131661,"ask_iv":1.131661,"smv_vol":0.761,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718392934824,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718390733000,"asksize":13,"askexch":"B","ask_date":1718390735000,"open_interest":10583,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00017000","description":"PLTR + Jun 21 2024 $17.00 Call","exch":"Z","type":"option","last":6.6,"change":0.15,"volume":93,"open":6.05,"high":6.68,"low":6.05,"close":6.6,"bid":6.45,"ask":6.75,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9997413926004695,"gamma":4.2526250858297894E-4,"theta":-0.005445326312471637,"vega":5.4907090990997514E-5,"rho":0.0032522222353167833,"phi":-0.004517551719374069,"bid_iv":0.0,"mid_iv":1.324688,"ask_iv":1.324688,"smv_vol":0.761,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.33,"average_volume":0,"last_volume":2,"trade_date":1718394895707,"prevclose":6.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"Q","bid_date":1718395197000,"asksize":72,"askexch":"N","ask_date":1718395197000,"open_interest":9095,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00017500","description":"PLTR + Jun 21 2024 $17.50 Call","exch":"Z","type":"option","last":5.86,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":5.95,"ask":6.25,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.999689146066997,"gamma":5.470872333032025E-4,"theta":-0.005616211315808436,"vega":5.52436693081491E-5,"rho":0.003347666349870007,"phi":-0.004517310339124947,"bid_iv":0.0,"mid_iv":1.395555,"ask_iv":1.395555,"smv_vol":0.761,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718307996235,"prevclose":5.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"Q","bid_date":1718395197000,"asksize":89,"askexch":"N","ask_date":1718395197000,"open_interest":15,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00017500","description":"PLTR + Jun 21 2024 $17.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.06,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-3.10853933003E-4,"gamma":5.470872333032025E-4,"theta":-0.005616211315808436,"vega":5.52436693081491E-5,"rho":0.003347666349870007,"phi":-0.004517310339124947,"bid_iv":0.0,"mid_iv":1.253871,"ask_iv":1.253871,"smv_vol":0.761,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718308701282,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718394588000,"asksize":308,"askexch":"A","ask_date":1718395158000,"open_interest":400,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00018000","description":"PLTR + Jun 21 2024 $18.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":510,"open":0.01,"high":0.04,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0043089729416587,"gamma":0.005107321506212085,"theta":-0.007849012874103611,"vega":4.3221114427036204E-4,"rho":0.0034244373247753856,"phi":-0.0044990387593202286,"bid_iv":0.867939,"mid_iv":0.912381,"ask_iv":0.956823,"smv_vol":0.747,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718395044649,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"Z","bid_date":1718395195000,"asksize":5,"askexch":"P","ask_date":1718395195000,"open_interest":14579,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00018000","description":"PLTR + Jun 21 2024 $18.00 Call","exch":"Z","type":"option","last":5.65,"change":0.35,"volume":160,"open":5.13,"high":5.71,"low":5.13,"close":5.65,"bid":5.55,"ask":5.75,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9956910270583413,"gamma":0.005107321506212085,"theta":-0.007849012874103611,"vega":4.3221114427036204E-4,"rho":0.0034244373247753856,"phi":-0.0044990387593202286,"bid_iv":0.0,"mid_iv":1.117928,"ask_iv":1.117928,"smv_vol":0.747,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.61,"average_volume":0,"last_volume":10,"trade_date":1718394936214,"prevclose":5.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"E","bid_date":1718395199000,"asksize":77,"askexch":"N","ask_date":1718395197000,"open_interest":4788,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00018500","description":"PLTR + Jun 21 2024 $18.50 Call","exch":"Z","type":"option","last":4.8,"change":0.09,"volume":2,"open":4.8,"high":4.8,"low":4.8,"close":4.8,"bid":5.05,"ask":5.25,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9946721464912522,"gamma":0.006686522453406706,"theta":-0.008267668163028317,"vega":5.59215023499442E-4,"rho":0.003515340287608016,"phi":-0.004494363023965775,"bid_iv":0.0,"mid_iv":1.018989,"ask_iv":1.018989,"smv_vol":0.743,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.92,"average_volume":0,"last_volume":2,"trade_date":1718379997249,"prevclose":4.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"N","bid_date":1718395199000,"asksize":82,"askexch":"N","ask_date":1718395198000,"open_interest":12,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00018500","description":"PLTR + Jun 21 2024 $18.50 Put","exch":"Z","type":"option","last":0.03,"change":0.01,"volume":3,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.0,"ask":0.05,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0053278535087478,"gamma":0.006686522453406706,"theta":-0.008267668163028317,"vega":5.59215023499442E-4,"rho":0.003515340287608016,"phi":-0.004494363023965775,"bid_iv":0.790361,"mid_iv":0.905221,"ask_iv":1.020081,"smv_vol":0.743,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":50.00,"average_volume":0,"last_volume":1,"trade_date":1718387946694,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"B","bid_date":1718395197000,"asksize":1167,"askexch":"A","ask_date":1718395156000,"open_interest":1103,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00019000","description":"PLTR + Jun 21 2024 $19.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":473,"open":0.03,"high":0.03,"low":0.01,"close":0.02,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0103856705929705,"gamma":0.012225262808736127,"theta":-0.010357697454817127,"vega":9.025117380246393E-4,"rho":0.003587091637927424,"phi":-0.004471257897264991,"bid_iv":0.714343,"mid_iv":0.821092,"ask_iv":0.92784,"smv_vol":0.724,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":50,"trade_date":1718390109277,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":923,"bidexch":"D","bid_date":1718395155000,"asksize":232,"askexch":"E","ask_date":1718395199000,"open_interest":11760,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00019000","description":"PLTR + Jun 21 2024 $19.00 Call","exch":"Z","type":"option","last":4.55,"change":0.20,"volume":37,"open":4.06,"high":4.75,"low":4.06,"close":4.55,"bid":4.55,"ask":4.7,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9896143294070295,"gamma":0.012225262808736127,"theta":-0.010357697454817127,"vega":9.025117380246393E-4,"rho":0.003587091637927424,"phi":-0.004471257897264991,"bid_iv":0.0,"mid_iv":1.070011,"ask_iv":1.070011,"smv_vol":0.724,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.60,"average_volume":0,"last_volume":1,"trade_date":1718394658757,"prevclose":4.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"Q","bid_date":1718395199000,"asksize":48,"askexch":"N","ask_date":1718395198000,"open_interest":2610,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00019500","description":"PLTR + Jun 21 2024 $19.50 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":83,"open":0.04,"high":0.04,"low":0.01,"close":0.02,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0230083920416986,"gamma":0.023624196467130015,"theta":-0.015050773773670586,"vega":0.001715990115705922,"rho":0.0036228037488508376,"phi":-0.004413703651451328,"bid_iv":0.638904,"mid_iv":0.69936,"ask_iv":0.759816,"smv_vol":0.738,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-33.34,"average_volume":0,"last_volume":10,"trade_date":1718392153543,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1718395199000,"asksize":34,"askexch":"N","ask_date":1718395112000,"open_interest":3492,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00019500","description":"PLTR + Jun 21 2024 $19.50 Call","exch":"Z","type":"option","last":4.1,"change":-0.55,"volume":5,"open":4.14,"high":4.25,"low":4.1,"close":4.1,"bid":4.05,"ask":4.2,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9769916079583014,"gamma":0.023624196467130015,"theta":-0.015050773773670586,"vega":0.001715990115705922,"rho":0.0036228037488508376,"phi":-0.004413703651451328,"bid_iv":0.0,"mid_iv":0.96558,"ask_iv":0.96558,"smv_vol":0.738,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-11.83,"average_volume":0,"last_volume":2,"trade_date":1718394739969,"prevclose":4.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"N","bid_date":1718395199000,"asksize":82,"askexch":"E","ask_date":1718395159000,"open_interest":56,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00020000","description":"PLTR + Jun 21 2024 $20.00 Call","exch":"Z","type":"option","last":3.6,"change":0.18,"volume":210,"open":3.05,"high":3.75,"low":3.05,"close":3.6,"bid":3.55,"ask":3.7,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9720794020441317,"gamma":0.03075044460374916,"theta":-0.015753926463655223,"vega":0.0020974560178708673,"rho":0.0036954746686269874,"phi":-0.004391184544871862,"bid_iv":0.0,"mid_iv":0.861503,"ask_iv":0.861503,"smv_vol":0.622,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.27,"average_volume":0,"last_volume":1,"trade_date":1718394642197,"prevclose":3.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"N","bid_date":1718395199000,"asksize":34,"askexch":"N","ask_date":1718395198000,"open_interest":13220,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00020000","description":"PLTR + Jun 21 2024 $20.00 Put","exch":"Z","type":"option","last":0.03,"change":0.01,"volume":2398,"open":0.04,"high":0.05,"low":0.02,"close":0.03,"bid":0.02,"ask":0.05,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0279205979558683,"gamma":0.03075044460374916,"theta":-0.015753926463655223,"vega":0.0020974560178708673,"rho":0.0036954746686269874,"phi":-0.004391184544871862,"bid_iv":0.628862,"mid_iv":0.686707,"ask_iv":0.744553,"smv_vol":0.622,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":50.00,"average_volume":0,"last_volume":1,"trade_date":1718394912861,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":76,"bidexch":"P","bid_date":1718395199000,"asksize":185,"askexch":"E","ask_date":1718395199000,"open_interest":36289,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00020500","description":"PLTR + Jun 21 2024 $20.50 Call","exch":"Z","type":"option","last":3.05,"change":0.15,"volume":142,"open":2.7,"high":3.21,"low":2.6,"close":3.05,"bid":3.1,"ask":3.2,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9496915871345668,"gamma":0.04994761887343034,"theta":-0.02164924106785145,"vega":0.003544259183726331,"rho":0.0036847844644817924,"phi":-0.004289152273351249,"bid_iv":0.0,"mid_iv":0.758944,"ask_iv":0.758944,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.18,"average_volume":0,"last_volume":1,"trade_date":1718394644855,"prevclose":2.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395199000,"asksize":76,"askexch":"E","ask_date":1718395160000,"open_interest":1694,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00020500","description":"PLTR + Jun 21 2024 $20.50 Put","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":400,"open":0.05,"high":0.05,"low":0.02,"close":0.04,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0503084128654332,"gamma":0.04994761887343034,"theta":-0.02164924106785145,"vega":0.003544259183726331,"rho":0.0036847844644817924,"phi":-0.004289152273351249,"bid_iv":0.548702,"mid_iv":0.586573,"ask_iv":0.624444,"smv_vol":0.607,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":1,"trade_date":1718394712480,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":301,"bidexch":"Q","bid_date":1718395199000,"asksize":313,"askexch":"E","ask_date":1718395195000,"open_interest":5838,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00021000","description":"PLTR + Jun 21 2024 $21.00 Put","exch":"Z","type":"option","last":0.04,"change":-0.01,"volume":1180,"open":0.05,"high":0.06,"low":0.02,"close":0.04,"bid":0.03,"ask":0.06,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0671032538503878,"gamma":0.06889642194093111,"theta":-0.0239014666200676,"vega":0.004168347730068134,"rho":0.003701316423134191,"phi":-0.004212404736136932,"bid_iv":0.506506,"mid_iv":0.547288,"ask_iv":0.588071,"smv_vol":0.527,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-20.00,"average_volume":0,"last_volume":100,"trade_date":1718395133121,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":390,"bidexch":"D","bid_date":1718395199000,"asksize":373,"askexch":"E","ask_date":1718395199000,"open_interest":14969,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00021000","description":"PLTR + Jun 21 2024 $21.00 Call","exch":"Z","type":"option","last":2.63,"change":0.25,"volume":415,"open":2.27,"high":2.75,"low":2.02,"close":2.63,"bid":2.45,"ask":2.68,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9328967461496122,"gamma":0.06889642194093111,"theta":-0.0239014666200676,"vega":0.004168347730068134,"rho":0.003701316423134191,"phi":-0.004212404736136932,"bid_iv":0.371561,"mid_iv":0.484301,"ask_iv":0.597041,"smv_vol":0.527,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.51,"average_volume":0,"last_volume":3,"trade_date":1718395148394,"prevclose":2.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":71,"bidexch":"N","bid_date":1718395197000,"asksize":7,"askexch":"Q","ask_date":1718395198000,"open_interest":15584,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00021500","description":"PLTR + Jun 21 2024 $21.50 Call","exch":"Z","type":"option","last":2.18,"change":0.32,"volume":341,"open":1.43,"high":2.22,"low":1.43,"close":2.18,"bid":2.12,"ask":2.21,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.9021677457177328,"gamma":0.09871668248454005,"theta":-0.027976827611193772,"vega":0.0055317732880678675,"rho":0.0036517156495489062,"phi":-0.0040722007321747355,"bid_iv":0.362634,"mid_iv":0.432951,"ask_iv":0.503267,"smv_vol":0.476,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":17.21,"average_volume":0,"last_volume":1,"trade_date":1718395048617,"prevclose":1.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"J","bid_date":1718395197000,"asksize":26,"askexch":"Q","ask_date":1718395195000,"open_interest":4732,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00021500","description":"PLTR + Jun 21 2024 $21.50 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":523,"open":0.08,"high":0.09,"low":0.04,"close":0.06,"bid":0.04,"ask":0.07,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.0978322542822672,"gamma":0.09871668248454005,"theta":-0.027976827611193772,"vega":0.0055317732880678675,"rho":0.0036517156495489062,"phi":-0.0040722007321747355,"bid_iv":0.449984,"mid_iv":0.482545,"ask_iv":0.515107,"smv_vol":0.476,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718394814744,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":606,"bidexch":"E","bid_date":1718395161000,"asksize":38,"askexch":"E","ask_date":1718395196000,"open_interest":3591,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00022000","description":"PLTR + Jun 21 2024 $22.00 Put","exch":"Z","type":"option","last":0.08,"change":-0.01,"volume":10117,"open":0.14,"high":0.21,"low":0.06,"close":0.08,"bid":0.06,"ask":0.08,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.1407263717394617,"gamma":0.14024880746723511,"theta":-0.03172782354915928,"vega":0.007056032845609583,"rho":0.003544899880244273,"phi":-0.00387649670585688,"bid_iv":0.401006,"mid_iv":0.417769,"ask_iv":0.434532,"smv_vol":0.438,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-11.12,"average_volume":0,"last_volume":63,"trade_date":1718395102063,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"N","bid_date":1718395195000,"asksize":1,"askexch":"Q","ask_date":1718395112000,"open_interest":15043,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00022000","description":"PLTR + Jun 21 2024 $22.00 Call","exch":"Z","type":"option","last":1.68,"change":0.25,"volume":1898,"open":1.2,"high":1.8,"low":1.05,"close":1.68,"bid":1.65,"ask":1.77,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.8592736282605383,"gamma":0.14024880746723511,"theta":-0.03172782354915928,"vega":0.007056032845609583,"rho":0.003544899880244273,"phi":-0.00387649670585688,"bid_iv":0.358642,"mid_iv":0.399426,"ask_iv":0.44021,"smv_vol":0.438,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":17.49,"average_volume":0,"last_volume":2,"trade_date":1718395158527,"prevclose":1.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1718395199000,"asksize":70,"askexch":"E","ask_date":1718395199000,"open_interest":19390,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00022500","description":"PLTR + Jun 21 2024 $22.50 Call","exch":"Z","type":"option","last":1.23,"change":0.22,"volume":1324,"open":0.85,"high":1.35,"low":0.71,"close":1.23,"bid":1.2,"ask":1.35,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.8075339369142133,"gamma":0.20226446813215024,"theta":-0.032508128108377964,"vega":0.009347207730026386,"rho":0.0033980949600998234,"phi":-0.0036398960334693697,"bid_iv":0.33747,"mid_iv":0.368139,"ask_iv":0.398808,"smv_vol":0.389,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":21.79,"average_volume":0,"last_volume":1,"trade_date":1718395122406,"prevclose":1.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"H","bid_date":1718395199000,"asksize":105,"askexch":"E","ask_date":1718395199000,"open_interest":5028,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00022500","description":"PLTR + Jun 21 2024 $22.50 Put","exch":"Z","type":"option","last":0.12,"change":-0.08,"volume":11691,"open":0.2,"high":0.32,"low":0.09,"close":0.12,"bid":0.11,"ask":0.15,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.1924660630857867,"gamma":0.20226446813215024,"theta":-0.032508128108377964,"vega":0.009347207730026386,"rho":0.0033980949600998234,"phi":-0.0036398960334693697,"bid_iv":0.382561,"mid_iv":0.400456,"ask_iv":0.418351,"smv_vol":0.389,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-40.00,"average_volume":0,"last_volume":1,"trade_date":1718395193970,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":726,"bidexch":"D","bid_date":1718395199000,"asksize":76,"askexch":"C","ask_date":1718395195000,"open_interest":4207,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00023000","description":"PLTR + Jun 21 2024 $23.00 Put","exch":"Z","type":"option","last":0.23,"change":-0.12,"volume":8640,"open":0.4,"high":0.58,"low":0.19,"close":0.23,"bid":0.22,"ask":0.25,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.292874949013164,"gamma":0.2865615046974229,"theta":-0.03488206305854933,"vega":0.011409850268097509,"rho":0.0030207307617300806,"phi":-0.0031823651824858246,"bid_iv":0.369884,"mid_iv":0.378648,"ask_iv":0.387413,"smv_vol":0.367,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-34.29,"average_volume":0,"last_volume":2,"trade_date":1718395191393,"prevclose":0.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":254,"bidexch":"Q","bid_date":1718395198000,"asksize":400,"askexch":"E","ask_date":1718395160000,"open_interest":19168,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00023000","description":"PLTR + Jun 21 2024 $23.00 Call","exch":"Z","type":"option","last":0.85,"change":0.17,"volume":14144,"open":0.54,"high":0.92,"low":0.44,"close":0.85,"bid":0.83,"ask":0.88,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.707125050986836,"gamma":0.2865615046974229,"theta":-0.03488206305854933,"vega":0.011409850268097509,"rho":0.0030207307617300806,"phi":-0.0031823651824858246,"bid_iv":0.34475,"mid_iv":0.34915,"ask_iv":0.35355,"smv_vol":0.367,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":25.00,"average_volume":0,"last_volume":10,"trade_date":1718395199001,"prevclose":0.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395200000,"asksize":6,"askexch":"N","ask_date":1718395199000,"open_interest":25222,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00023500","description":"PLTR + Jun 21 2024 $23.50 Call","exch":"Z","type":"option","last":0.52,"change":0.09,"volume":8340,"open":0.29,"high":0.59,"low":0.07,"close":0.52,"bid":0.51,"ask":0.54,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.5505372470490116,"gamma":0.333481218549878,"theta":-0.03771888006807255,"vega":0.01296182307723998,"rho":0.002370473973044392,"phi":-0.0024726653058415593,"bid_iv":0.351324,"mid_iv":0.359051,"ask_iv":0.366778,"smv_vol":0.359,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.93,"average_volume":0,"last_volume":9,"trade_date":1718395170092,"prevclose":0.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"C","bid_date":1718395195000,"asksize":3,"askexch":"N","ask_date":1718395195000,"open_interest":6368,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00023500","description":"PLTR + Jun 21 2024 $23.50 Put","exch":"Z","type":"option","last":0.43,"change":-0.19,"volume":1988,"open":0.75,"high":0.85,"low":0.35,"close":0.43,"bid":0.42,"ask":0.45,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.4494627529509884,"gamma":0.333481218549878,"theta":-0.03771888006807255,"vega":0.01296182307723998,"rho":0.002370473973044392,"phi":-0.0024726653058415593,"bid_iv":0.372974,"mid_iv":0.384562,"ask_iv":0.39615,"smv_vol":0.359,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-30.65,"average_volume":0,"last_volume":11,"trade_date":1718395173642,"prevclose":0.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"N","bid_date":1718395194000,"asksize":12,"askexch":"J","ask_date":1718395195000,"open_interest":3510,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00024000","description":"PLTR + Jun 21 2024 $24.00 Put","exch":"Z","type":"option","last":0.72,"change":-0.20,"volume":1197,"open":1.06,"high":1.24,"low":0.61,"close":0.72,"bid":0.7,"ask":0.74,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.6009641910499302,"gamma":0.292782742432915,"theta":-0.03929480188673973,"vega":0.012530084801214758,"rho":0.00172079981130493,"phi":-0.0017899087473294273,"bid_iv":0.374346,"mid_iv":0.386453,"ask_iv":0.39856,"smv_vol":0.369,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-21.74,"average_volume":0,"last_volume":2,"trade_date":1718394845006,"prevclose":0.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"B","bid_date":1718395198000,"asksize":120,"askexch":"B","ask_date":1718395195000,"open_interest":14572,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00024000","description":"PLTR + Jun 21 2024 $24.00 Call","exch":"Z","type":"option","last":0.32,"change":0.07,"volume":9826,"open":0.22,"high":0.35,"low":0.14,"close":0.32,"bid":0.31,"ask":0.33,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.3990358089500699,"gamma":0.292782742432915,"theta":-0.03929480188673973,"vega":0.012530084801214758,"rho":0.00172079981130493,"phi":-0.0017899087473294273,"bid_iv":0.361549,"mid_iv":0.369529,"ask_iv":0.377508,"smv_vol":0.369,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":28.00,"average_volume":0,"last_volume":10,"trade_date":1718395198493,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395194000,"asksize":11,"askexch":"P","ask_date":1718395199000,"open_interest":24025,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00024500","description":"PLTR + Jun 21 2024 $24.50 Call","exch":"Z","type":"option","last":0.18,"change":0.03,"volume":10437,"open":0.14,"high":0.21,"low":0.08,"close":0.18,"bid":0.18,"ask":0.19,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.29888644112357954,"gamma":0.225772064770837,"theta":-0.04029210714851038,"vega":0.011662465299683678,"rho":0.001286800165143715,"phi":-0.0013403879123297102,"bid_iv":0.377303,"mid_iv":0.382141,"ask_iv":0.38698,"smv_vol":0.399,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.00,"average_volume":0,"last_volume":2,"trade_date":1718395185074,"prevclose":0.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":107,"bidexch":"B","bid_date":1718395199000,"asksize":58,"askexch":"P","ask_date":1718395110000,"open_interest":8295,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00024500","description":"PLTR + Jun 21 2024 $24.50 Put","exch":"Z","type":"option","last":1.08,"change":-0.15,"volume":136,"open":1.58,"high":1.58,"low":1.0,"close":1.08,"bid":0.87,"ask":1.11,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.7011135588764205,"gamma":0.225772064770837,"theta":-0.04029210714851038,"vega":0.011662465299683678,"rho":0.001286800165143715,"phi":-0.0013403879123297102,"bid_iv":0.366939,"mid_iv":0.392462,"ask_iv":0.417985,"smv_vol":0.399,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-12.20,"average_volume":0,"last_volume":1,"trade_date":1718395189746,"prevclose":1.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":458,"bidexch":"E","bid_date":1718395199000,"asksize":3,"askexch":"J","ask_date":1718395198000,"open_interest":268,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00025000","description":"PLTR + Jun 21 2024 $25.00 Put","exch":"Z","type":"option","last":1.46,"change":-0.29,"volume":266,"open":2.05,"high":2.12,"low":1.4,"close":1.46,"bid":1.29,"ask":1.54,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.7644981290610332,"gamma":0.17420259798195664,"theta":-0.040442572214023434,"vega":0.010385898224038858,"rho":0.0010115921103841037,"phi":-0.0010562998153940129,"bid_iv":0.0,"mid_iv":0.454149,"ask_iv":0.454149,"smv_vol":0.419,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.58,"average_volume":0,"last_volume":8,"trade_date":1718394936109,"prevclose":1.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":653,"bidexch":"E","bid_date":1718395199000,"asksize":400,"askexch":"E","ask_date":1718395199000,"open_interest":8010,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00025000","description":"PLTR + Jun 21 2024 $25.00 Call","exch":"Z","type":"option","last":0.12,"change":0.02,"volume":17171,"open":0.08,"high":0.12,"low":0.05,"close":0.12,"bid":0.1,"ask":0.12,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.2355018709389668,"gamma":0.17420259798195664,"theta":-0.040442572214023434,"vega":0.010385898224038858,"rho":0.0010115921103841037,"phi":-0.0010562998153940129,"bid_iv":0.391249,"mid_iv":0.403644,"ask_iv":0.416038,"smv_vol":0.419,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.00,"average_volume":0,"last_volume":19,"trade_date":1718395164584,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":180,"bidexch":"B","bid_date":1718395200000,"asksize":224,"askexch":"A","ask_date":1718395160000,"open_interest":53737,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00025500","description":"PLTR + Jun 21 2024 $25.50 Call","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":2349,"open":0.05,"high":0.08,"low":0.04,"close":0.06,"bid":0.06,"ask":0.07,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.19216628987406847,"gamma":0.13782840019379083,"theta":-0.039909514124527104,"vega":0.00887120858434023,"rho":8.235983851007652E-4,"phi":-8.621212935211453E-4,"bid_iv":0.414948,"mid_iv":0.423662,"ask_iv":0.432377,"smv_vol":0.44,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718395182935,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":460,"bidexch":"P","bid_date":1718395159000,"asksize":9,"askexch":"P","ask_date":1718395159000,"open_interest":4004,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00025500","description":"PLTR + Jun 21 2024 $25.50 Put","exch":"Z","type":"option","last":1.91,"change":-0.30,"volume":13,"open":2.31,"high":2.32,"low":1.91,"close":1.91,"bid":1.9,"ask":2.03,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.8078337101259315,"gamma":0.13782840019379083,"theta":-0.039909514124527104,"vega":0.00887120858434023,"rho":8.235983851007652E-4,"phi":-8.621212935211453E-4,"bid_iv":0.0,"mid_iv":0.534707,"ask_iv":0.534707,"smv_vol":0.44,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-13.58,"average_volume":0,"last_volume":1,"trade_date":1718393902978,"prevclose":2.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"E","bid_date":1718395199000,"asksize":62,"askexch":"E","ask_date":1718395159000,"open_interest":34,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00026000","description":"PLTR + Jun 21 2024 $26.00 Put","exch":"Z","type":"option","last":2.36,"change":-0.29,"volume":127,"open":2.89,"high":2.9,"low":2.36,"close":2.36,"bid":2.39,"ask":2.49,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.8417112440449045,"gamma":0.11155252439045267,"theta":-0.03836076057162217,"vega":0.00812008110619223,"rho":6.773231677633503E-4,"phi":-7.102248908430475E-4,"bid_iv":0.0,"mid_iv":0.574599,"ask_iv":0.574599,"smv_vol":0.467,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.95,"average_volume":0,"last_volume":4,"trade_date":1718393442968,"prevclose":2.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"E","bid_date":1718395199000,"asksize":77,"askexch":"E","ask_date":1718395158000,"open_interest":4345,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00026000","description":"PLTR + Jun 21 2024 $26.00 Call","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":692,"open":0.04,"high":0.07,"low":0.03,"close":0.04,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.15828875595509548,"gamma":0.11155252439045267,"theta":-0.03836076057162217,"vega":0.00812008110619223,"rho":6.773231677633503E-4,"phi":-7.102248908430475E-4,"bid_iv":0.421245,"mid_iv":0.445754,"ask_iv":0.470263,"smv_vol":0.467,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":16,"trade_date":1718394987598,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1039,"bidexch":"H","bid_date":1718395198000,"asksize":83,"askexch":"W","ask_date":1718395198000,"open_interest":17427,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00026500","description":"PLTR + Jun 21 2024 $26.50 Call","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":108,"open":0.05,"high":0.1,"low":0.01,"close":0.03,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.1259549049098023,"gamma":0.0907944807705695,"theta":-0.03442486784439969,"vega":0.006535170246157724,"rho":5.389616848207155E-4,"phi":-5.650546339164286E-4,"bid_iv":0.451346,"mid_iv":0.483064,"ask_iv":0.514782,"smv_vol":0.493,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1718394881943,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1350,"bidexch":"H","bid_date":1718395199000,"asksize":155,"askexch":"X","ask_date":1718394919000,"open_interest":1966,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00026500","description":"PLTR + Jun 21 2024 $26.50 Put","exch":"Z","type":"option","last":2.76,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.74,"ask":3.05,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.8740450950901977,"gamma":0.0907944807705695,"theta":-0.03442486784439969,"vega":0.006535170246157724,"rho":5.389616848207155E-4,"phi":-5.650546339164286E-4,"bid_iv":0.0,"mid_iv":0.614878,"ask_iv":0.614878,"smv_vol":0.493,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718125514915,"prevclose":2.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"N","bid_date":1718395198000,"asksize":64,"askexch":"N","ask_date":1718395198000,"open_interest":3,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00027000","description":"PLTR + Jun 21 2024 $27.00 Put","exch":"Z","type":"option","last":3.8,"change":0.55,"volume":1,"open":3.8,"high":3.8,"low":3.8,"close":3.8,"bid":3.35,"ask":3.5,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.9027384505919295,"gamma":0.07312659334346297,"theta":-0.029359557097320604,"vega":0.005807251006081159,"rho":4.165165849537898E-4,"phi":-4.361952041231909E-4,"bid_iv":0.0,"mid_iv":0.707969,"ask_iv":0.707969,"smv_vol":0.513,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.93,"average_volume":0,"last_volume":1,"trade_date":1718373240281,"prevclose":3.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":56,"bidexch":"N","bid_date":1718395110000,"asksize":46,"askexch":"E","ask_date":1718395109000,"open_interest":624,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00027000","description":"PLTR + Jun 21 2024 $27.00 Call","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":510,"open":0.02,"high":0.04,"low":0.02,"close":0.03,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.09726154940807058,"gamma":0.07312659334346297,"theta":-0.029359557097320604,"vega":0.005807251006081159,"rho":4.165165849537898E-4,"phi":-4.361952041231909E-4,"bid_iv":0.510557,"mid_iv":0.529666,"ask_iv":0.548775,"smv_vol":0.513,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718394944520,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":180,"bidexch":"D","bid_date":1718395199000,"asksize":15,"askexch":"P","ask_date":1718395199000,"open_interest":10992,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00027500","description":"PLTR + Jun 21 2024 $27.50 Put","exch":"Z","type":"option","last":3.76,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.8,"ask":4.0,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.9188358116489895,"gamma":0.06045204266725836,"theta":-0.027069834889313325,"vega":0.005103417889563167,"rho":3.472829437096354E-4,"phi":-3.6402814554414853E-4,"bid_iv":0.0,"mid_iv":0.777887,"ask_iv":0.777887,"smv_vol":0.561,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718287011646,"prevclose":3.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"E","bid_date":1718395196000,"asksize":34,"askexch":"N","ask_date":1718395197000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00027500","description":"PLTR + Jun 21 2024 $27.50 Call","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":28,"open":0.02,"high":0.02,"low":0.01,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.08116418835101047,"gamma":0.06045204266725836,"theta":-0.027069834889313325,"vega":0.005103417889563167,"rho":3.472829437096354E-4,"phi":-3.6402814554414853E-4,"bid_iv":0.510982,"mid_iv":0.539239,"ask_iv":0.567496,"smv_vol":0.561,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-33.34,"average_volume":0,"last_volume":1,"trade_date":1718394317093,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":459,"bidexch":"E","bid_date":1718395199000,"asksize":98,"askexch":"P","ask_date":1718394339000,"open_interest":367,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00028000","description":"PLTR + Jun 21 2024 $28.00 Put","exch":"Z","type":"option","last":4.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.35,"ask":4.55,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.9401947567015286,"gamma":0.04736172761334259,"theta":-0.02151369060838816,"vega":0.003793594980083789,"rho":2.5630730147255395E-4,"phi":-2.6810415984512836E-4,"bid_iv":0.0,"mid_iv":0.691987,"ask_iv":0.691987,"smv_vol":0.592,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718293993986,"prevclose":4.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"E","bid_date":1718395156000,"asksize":32,"askexch":"E","ask_date":1718395155000,"open_interest":27,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00028000","description":"PLTR + Jun 21 2024 $28.00 Call","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":225,"open":0.01,"high":0.02,"low":0.01,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.05980524329847136,"gamma":0.04736172761334259,"theta":-0.02151369060838816,"vega":0.003793594980083789,"rho":2.5630730147255395E-4,"phi":-2.6810415984512836E-4,"bid_iv":0.562375,"mid_iv":0.592802,"ask_iv":0.62323,"smv_vol":0.592,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":21,"trade_date":1718393911209,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"N","bid_date":1718395199000,"asksize":41,"askexch":"D","ask_date":1718392932000,"open_interest":20148,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00028500","description":"PLTR + Jun 21 2024 $28.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.85,"ask":5.0,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.9636364867164411,"gamma":0.032919889072094796,"theta":-0.013867807827927375,"vega":0.0027180982145661088,"rho":1.5641512839982617E-4,"phi":-1.6282967307823526E-4,"bid_iv":0.0,"mid_iv":0.748818,"ask_iv":0.748818,"smv_vol":0.623,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"N","bid_date":1718395197000,"asksize":34,"askexch":"N","ask_date":1718395196000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00028500","description":"PLTR + Jun 21 2024 $28.50 Call","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.03636351328355896,"gamma":0.032919889072094796,"theta":-0.013867807827927375,"vega":0.0027180982145661088,"rho":1.5641512839982617E-4,"phi":-1.6282967307823526E-4,"bid_iv":0.611779,"mid_iv":0.701818,"ask_iv":0.791857,"smv_vol":0.623,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718303925518,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":700,"bidexch":"P","bid_date":1718395110000,"asksize":1144,"askexch":"E","ask_date":1718395158000,"open_interest":101,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00029000","description":"PLTR + Jun 21 2024 $29.00 Put","exch":"Z","type":"option","last":5.23,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":5.35,"ask":5.45,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.9688709657577464,"gamma":0.027544354429860585,"theta":-0.012798203957002551,"vega":0.002263606391514634,"rho":1.33775548067535E-4,"phi":-1.3941933538208495E-4,"bid_iv":0.0,"mid_iv":0.804545,"ask_iv":0.804545,"smv_vol":0.726,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718221850625,"prevclose":5.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"E","bid_date":1718395156000,"asksize":15,"askexch":"E","ask_date":1718395156000,"open_interest":1,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00029000","description":"PLTR + Jun 21 2024 $29.00 Call","exch":"Z","type":"option","last":0.03,"change":0.01,"volume":226,"open":0.02,"high":0.03,"low":0.01,"close":0.03,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.031129034242253592,"gamma":0.027544354429860585,"theta":-0.012798203957002551,"vega":0.002263606391514634,"rho":1.33775548067535E-4,"phi":-1.3941933538208495E-4,"bid_iv":0.659985,"mid_iv":0.693995,"ask_iv":0.728005,"smv_vol":0.726,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":50.00,"average_volume":0,"last_volume":1,"trade_date":1718391344674,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":558,"bidexch":"P","bid_date":1718395110000,"asksize":5,"askexch":"Z","ask_date":1718391570000,"open_interest":11646,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00030000","description":"PLTR + Jun 21 2024 $30.00 Put","exch":"Z","type":"option","last":5.8,"change":-0.78,"volume":3,"open":5.8,"high":5.8,"low":5.8,"close":5.8,"bid":6.35,"ask":6.45,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.9846627190016684,"gamma":0.01497305411012989,"theta":-0.007091274367245311,"vega":0.001239260573200916,"rho":6.605629828392136E-5,"phi":-6.862858061354449E-5,"bid_iv":0.0,"mid_iv":0.911198,"ask_iv":0.911198,"smv_vol":0.741,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-11.86,"average_volume":0,"last_volume":1,"trade_date":1718199969586,"prevclose":6.58,"week_52_high":0.0,"week_52_low":0.0,"bidsize":35,"bidexch":"Z","bid_date":1718395160000,"asksize":7,"askexch":"C","ask_date":1718395155000,"open_interest":3,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00030000","description":"PLTR + Jun 21 2024 $30.00 Call","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":173,"open":0.02,"high":0.02,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.015337280998331607,"gamma":0.01497305411012989,"theta":-0.007091274367245311,"vega":0.001239260573200916,"rho":6.605629828392136E-5,"phi":-6.862858061354449E-5,"bid_iv":0.752125,"mid_iv":0.789775,"ask_iv":0.827425,"smv_vol":0.741,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718394402447,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":136,"bidexch":"D","bid_date":1718395157000,"asksize":392,"askexch":"N","ask_date":1718395107000,"open_interest":35835,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00031000","description":"PLTR + Jun 21 2024 $31.00 Put","exch":"Z","type":"option","last":10.14,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.35,"ask":7.45,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.9928049719357587,"gamma":0.007665796188339962,"theta":-0.0036836825007930426,"vega":6.191417617057768E-4,"rho":3.1042749626206824E-5,"phi":-3.216605734372713E-5,"bid_iv":0.0,"mid_iv":1.209169,"ask_iv":1.209169,"smv_vol":0.783,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1716991398384,"prevclose":10.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":48,"bidexch":"Z","bid_date":1718395112000,"asksize":10,"askexch":"E","ask_date":1718395160000,"open_interest":1,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00031000","description":"PLTR + Jun 21 2024 $31.00 Call","exch":"Z","type":"option","last":0.02,"change":-0.02,"volume":449,"open":0.01,"high":0.02,"low":0.01,"close":0.02,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.007195028064241351,"gamma":0.007665796188339962,"theta":-0.0036836825007930426,"vega":6.191417617057768E-4,"rho":3.1042749626206824E-5,"phi":-3.216605734372713E-5,"bid_iv":0.84068,"mid_iv":0.881284,"ask_iv":0.921888,"smv_vol":0.783,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-50.00,"average_volume":0,"last_volume":1,"trade_date":1718394270192,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718394393000,"asksize":2,"askexch":"D","ask_date":1718395155000,"open_interest":5963,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00032000","description":"PLTR + Jun 21 2024 $32.00 Put","exch":"Z","type":"option","last":10.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.35,"ask":8.45,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.9962212779330992,"gamma":0.004207633957161421,"theta":-0.00212177058347147,"vega":3.760935280268129E-4,"rho":1.6314734051830774E-5,"phi":-1.6884927006924344E-5,"bid_iv":0.0,"mid_iv":1.110275,"ask_iv":1.110275,"smv_vol":0.8,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1717091214842,"prevclose":10.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"E","bid_date":1718395156000,"asksize":20,"askexch":"E","ask_date":1718395156000,"open_interest":3,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00032000","description":"PLTR + Jun 21 2024 $32.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":60,"open":0.01,"high":0.03,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.003778722066900746,"gamma":0.004207633957161421,"theta":-0.00212177058347147,"vega":3.760935280268129E-4,"rho":1.6314734051830774E-5,"phi":-1.6884927006924344E-5,"bid_iv":0.0,"mid_iv":0.925138,"ask_iv":0.925138,"smv_vol":0.8,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-50.00,"average_volume":0,"last_volume":10,"trade_date":1718394727277,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"X","bid_date":1718380503000,"asksize":106,"askexch":"N","ask_date":1718383901000,"open_interest":10062,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00033000","description":"PLTR + Jun 21 2024 $33.00 Call","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":1,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.75,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.0016220287808466443,"gamma":0.0019483640386521429,"theta":-9.891007975977079E-4,"vega":2.2301510627915398E-4,"rho":7.0121794073564915E-6,"phi":-7.241483307093843E-6,"bid_iv":0.0,"mid_iv":1.00509,"ask_iv":1.00509,"smv_vol":0.811,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718379218576,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718371812000,"asksize":1,"askexch":"J","ask_date":1718371802000,"open_interest":2334,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00033000","description":"PLTR + Jun 21 2024 $33.00 Put","exch":"Z","type":"option","last":9.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.35,"ask":9.45,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.9983779712191534,"gamma":0.0019483640386521429,"theta":-9.891007975977079E-4,"vega":2.2301510627915398E-4,"rho":7.0121794073564915E-6,"phi":-7.241483307093843E-6,"bid_iv":0.0,"mid_iv":1.20289,"ask_iv":1.20289,"smv_vol":0.811,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718219535112,"prevclose":9.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"Z","bid_date":1718395160000,"asksize":11,"askexch":"Z","ask_date":1718395160000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00034000","description":"PLTR + Jun 21 2024 $34.00 Put","exch":"Z","type":"option","last":10.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.35,"ask":10.45,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9993972207088806,"gamma":7.88308550698828E-4,"theta":-3.9514002032577274E-4,"vega":1.0048748389422788E-4,"rho":2.609181211366385E-6,"phi":-2.688180586875137E-6,"bid_iv":0.0,"mid_iv":1.520055,"ask_iv":1.520055,"smv_vol":0.816,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718219535117,"prevclose":10.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":44,"bidexch":"Q","bid_date":1718395103000,"asksize":12,"askexch":"U","ask_date":1718395098000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00034000","description":"PLTR + Jun 21 2024 $34.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":3,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":34.0,"greeks":{"delta":6.027792911193679E-4,"gamma":7.88308550698828E-4,"theta":-3.9514002032577274E-4,"vega":1.0048748389422788E-4,"rho":2.609181211366385E-6,"phi":-2.688180586875137E-6,"bid_iv":0.0,"mid_iv":1.081575,"ask_iv":1.081575,"smv_vol":0.816,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-50.00,"average_volume":0,"last_volume":2,"trade_date":1718376361981,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"H","bid_date":1718374874000,"asksize":10,"askexch":"X","ask_date":1718376366000,"open_interest":2597,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00035000","description":"PLTR + Jun 21 2024 $35.00 Put","exch":"Z","type":"option","last":11.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.35,"ask":11.45,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9998249519781639,"gamma":2.5342065342912545E-4,"theta":-1.2224136968688273E-4,"vega":3.9789393651885104E-5,"rho":7.586444812139979E-7,"phi":-7.795448757807934E-7,"bid_iv":0.0,"mid_iv":1.873526,"ask_iv":1.873526,"smv_vol":0.818,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717681928721,"prevclose":11.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":41,"bidexch":"Z","bid_date":1718395161000,"asksize":11,"askexch":"Z","ask_date":1718395104000,"open_interest":6,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00035000","description":"PLTR + Jun 21 2024 $35.00 Call","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":1,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":35.0,"greeks":{"delta":1.7504802183607298E-4,"gamma":2.5342065342912545E-4,"theta":-1.2224136968688273E-4,"vega":3.9789393651885104E-5,"rho":7.586444812139979E-7,"phi":-7.795448757807934E-7,"bid_iv":0.0,"mid_iv":1.155814,"ask_iv":1.155814,"smv_vol":0.818,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718371816632,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718371804000,"asksize":20,"askexch":"X","ask_date":1718371805000,"open_interest":10591,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00036000","description":"PLTR + Jun 21 2024 $36.00 Put","exch":"Z","type":"option","last":12.25,"change":0.00,"volume":10,"open":null,"high":null,"low":null,"close":null,"bid":12.35,"ask":12.5,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.9999071674268547,"gamma":1.3602767161632033E-4,"theta":-6.89136394865809E-5,"vega":3.348733318755635E-5,"rho":4.0235010284254563E-7,"phi":-4.1333941139059215E-7,"bid_iv":0.0,"mid_iv":1.461427,"ask_iv":1.461427,"smv_vol":0.818,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718219535147,"prevclose":12.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"N","bid_date":1718395197000,"asksize":47,"askexch":"N","ask_date":1718395197000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00036000","description":"PLTR + Jun 21 2024 $36.00 Call","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":18,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":36.0,"greeks":{"delta":9.283257314532326E-5,"gamma":1.3602767161632033E-4,"theta":-6.89136394865809E-5,"vega":3.348733318755635E-5,"rho":4.0235010284254563E-7,"phi":-4.1333941139059215E-7,"bid_iv":0.0,"mid_iv":1.227149,"ask_iv":1.227149,"smv_vol":0.818,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":14,"trade_date":1718285457333,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718366400000,"asksize":71,"askexch":"P","ask_date":1718373466000,"open_interest":2926,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00037000","description":"PLTR + Jun 21 2024 $37.00 Put","exch":"Z","type":"option","last":14.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.35,"ask":13.45,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.9999939420432234,"gamma":1.1067287000240094E-5,"theta":-4.713503067971996E-6,"vega":2.1077332001588705E-5,"rho":2.6293798764452246E-8,"phi":-2.6874219931969474E-8,"bid_iv":0.0,"mid_iv":1.540488,"ask_iv":1.540488,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1717595184110,"prevclose":14.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"Z","bid_date":1718395155000,"asksize":24,"askexch":"E","ask_date":1718395156000,"open_interest":3,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00037000","description":"PLTR + Jun 21 2024 $37.00 Call","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.05,"underlying":"PLTR","strike":37.0,"greeks":{"delta":6.057956776602667E-6,"gamma":1.1067287000240094E-5,"theta":-4.713503067971996E-6,"vega":2.1077332001588705E-5,"rho":2.6293798764452246E-8,"phi":-2.6874219931969474E-8,"bid_iv":0.0,"mid_iv":1.597621,"ask_iv":1.597621,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718201916476,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718394224000,"asksize":234,"askexch":"X","ask_date":1718395195000,"open_interest":3354,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00038000","description":"PLTR + Jun 21 2024 $38.00 Put","exch":"Z","type":"option","last":13.9,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":14.4,"ask":14.5,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9999954758632387,"gamma":8.018462465713626E-6,"theta":-3.728884187545292E-6,"vega":2.0698392941990683E-5,"rho":1.96336451824152E-8,"phi":-2.0081057381716484E-8,"bid_iv":0.0,"mid_iv":1.880412,"ask_iv":1.880412,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718286009783,"prevclose":13.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"U","bid_date":1718395155000,"asksize":53,"askexch":"C","ask_date":1718395154000,"open_interest":1,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00038000","description":"PLTR + Jun 21 2024 $38.00 Call","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":11,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.05,"underlying":"PLTR","strike":38.0,"greeks":{"delta":4.52413676138188E-6,"gamma":8.018462465713626E-6,"theta":-3.728884187545292E-6,"vega":2.0698392941990683E-5,"rho":1.96336451824152E-8,"phi":-2.0081057381716484E-8,"bid_iv":0.0,"mid_iv":1.360121,"ask_iv":1.360121,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":11,"trade_date":1718372184946,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718366400000,"asksize":1,"askexch":"I","ask_date":1718371803000,"open_interest":2166,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00039000","description":"PLTR + Jun 21 2024 $39.00 Put","exch":"Z","type":"option","last":17.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.35,"ask":15.5,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.9999985071117857,"gamma":2.7536674381402443E-6,"theta":-1.2920270562084035E-6,"vega":2.0269002787722742E-5,"rho":6.479317463289014E-9,"phi":-6.621540145905518E-9,"bid_iv":0.0,"mid_iv":2.251051,"ask_iv":2.251051,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715090865319,"prevclose":17.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"Z","bid_date":1718395153000,"asksize":39,"askexch":"N","ask_date":1718395160000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00039000","description":"PLTR + Jun 21 2024 $39.00 Call","exch":"Z","type":"option","last":0.04,"change":0.03,"volume":1,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.0,"ask":0.87,"underlying":"PLTR","strike":39.0,"greeks":{"delta":1.492888214276289E-6,"gamma":2.7536674381402443E-6,"theta":-1.2920270562084035E-6,"vega":2.0269002787722742E-5,"rho":6.479317463289014E-9,"phi":-6.621540145905518E-9,"bid_iv":0.0,"mid_iv":1.543744,"ask_iv":1.543744,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":300.00,"average_volume":0,"last_volume":1,"trade_date":1718394856040,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718371808000,"asksize":1,"askexch":"M","ask_date":1718371802000,"open_interest":831,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00040000","description":"PLTR + Jun 21 2024 $40.00 Put","exch":"Z","type":"option","last":15.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.3,"ask":18.35,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9999999990948862,"gamma":2.4916228142078922E-9,"theta":-8.068432228807166E-10,"vega":2.0000134529334597E-5,"rho":3.9195379851534095E-12,"phi":-3.977381222019699E-12,"bid_iv":0.0,"mid_iv":4.430459,"ask_iv":4.430459,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1715013980640,"prevclose":15.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":116,"bidexch":"N","bid_date":1718395107000,"asksize":125,"askexch":"N","ask_date":1718395107000,"open_interest":1,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00040000","description":"PLTR + Jun 21 2024 $40.00 Call","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":40.0,"greeks":{"delta":9.051137254484602E-10,"gamma":2.4916228142078922E-9,"theta":-8.068432228807166E-10,"vega":2.0000134529334597E-5,"rho":3.9195379851534095E-12,"phi":-3.977381222019699E-12,"bid_iv":0.0,"mid_iv":1.486264,"ask_iv":1.486264,"smv_vol":0.819,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718215617319,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"U","bid_date":1718371801000,"asksize":289,"askexch":"D","ask_date":1718395200000,"open_interest":15961,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -727,7 +1058,7 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: @@ -735,7 +1066,7 @@ interactions: X-Ratelimit-Available: - '199' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - '1' status: @@ -753,142 +1084,142 @@ interactions: response: body: string: '{"options":{"option":[{"symbol":"PLTR240816P00003000","description":"PLTR - Aug 16 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-1.401622418E-6,"gamma":5.208903461831439E-7,"theta":-4.290587779342491E-4,"vega":2.11033912190697E-5,"rho":0.012921686745766442,"phi":-0.11483425979008643,"bid_iv":0.0,"mid_iv":1.270375,"ask_iv":1.270375,"smv_vol":0.789,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707852718530,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1709929258000,"asksize":57,"askexch":"Z","ask_date":1709931300000,"open_interest":6,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00003000","description":"PLTR - Aug 16 2024 $3.00 Call","exch":"Z","type":"option","last":23.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.25,"ask":24.15,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.999998598377582,"gamma":5.208903461831439E-7,"theta":-4.290587779342491E-4,"vega":2.11033912190697E-5,"rho":0.012921686745766442,"phi":-0.11483425979008643,"bid_iv":0.0,"mid_iv":3.7463,"ask_iv":3.7463,"smv_vol":0.789,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709744193686,"prevclose":23.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"E","bid_date":1709931516000,"asksize":1,"askexch":"Q","ask_date":1709931516000,"open_interest":12,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00005000","description":"PLTR - Aug 16 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":6,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-1.429766027171E-4,"gamma":4.242258137484159E-5,"theta":-7.364364307614709E-4,"vega":1.0452407374737774E-4,"rho":0.02151767081573866,"phi":-0.11481795386458771,"bid_iv":0.0,"mid_iv":1.050929,"ask_iv":1.050929,"smv_vol":0.788,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709834435775,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1709927120000,"asksize":84,"askexch":"W","ask_date":1709929802000,"open_interest":740,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00005000","description":"PLTR - Aug 16 2024 $5.00 Call","exch":"Z","type":"option","last":20.33,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.95,"ask":21.25,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9998570233972829,"gamma":4.242258137484159E-5,"theta":-7.364364307614709E-4,"vega":1.0452407374737774E-4,"rho":0.02151767081573866,"phi":-0.11481795386458771,"bid_iv":0.0,"mid_iv":1.311425,"ask_iv":1.311425,"smv_vol":0.788,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707936948218,"prevclose":20.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"N","bid_date":1709931589000,"asksize":13,"askexch":"M","ask_date":1709931569000,"open_interest":3,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00009000","description":"PLTR - Aug 16 2024 $9.00 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.04,"ask":0.07,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-0.0075084538993317,"gamma":0.0015938723343560776,"theta":-0.0021707429160738763,"vega":0.0034741090064810665,"rho":0.037675530145252704,"phi":-0.11397035702742642,"bid_iv":0.758035,"mid_iv":0.790801,"ask_iv":0.823568,"smv_vol":0.772,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709752706330,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1054,"bidexch":"D","bid_date":1709931576000,"asksize":702,"askexch":"A","ask_date":1709931587000,"open_interest":1036,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00009000","description":"PLTR - Aug 16 2024 $9.00 Call","exch":"Z","type":"option","last":15.6,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.1,"ask":17.5,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9924915461006683,"gamma":0.0015938723343560776,"theta":-0.0021707429160738763,"vega":0.0034741090064810665,"rho":0.037675530145252704,"phi":-0.11397035702742642,"bid_iv":0.0,"mid_iv":0.925788,"ask_iv":0.925788,"smv_vol":0.772,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709649347078,"prevclose":15.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"Q","bid_date":1709931588000,"asksize":101,"askexch":"Q","ask_date":1709931588000,"open_interest":20,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00010000","description":"PLTR - Aug 16 2024 $10.00 Put","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":3,"open":0.08,"high":0.08,"low":0.08,"close":0.08,"bid":0.07,"ask":0.09,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0127125117967485,"gamma":0.0025482808402036536,"theta":-0.0027767331945084545,"vega":0.0055742948108418,"rho":0.04124505538924749,"phi":-0.11337165876312838,"bid_iv":0.749325,"mid_iv":0.765192,"ask_iv":0.78106,"smv_vol":0.758,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709930303651,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":995,"bidexch":"D","bid_date":1709931596000,"asksize":168,"askexch":"D","ask_date":1709931596000,"open_interest":20733,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00010000","description":"PLTR - Aug 16 2024 $10.00 Call","exch":"Z","type":"option","last":16.5,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":16.3,"ask":16.5,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9872874882032515,"gamma":0.0025482808402036536,"theta":-0.0027767331945084545,"vega":0.0055742948108418,"rho":0.04124505538924749,"phi":-0.11337165876312838,"bid_iv":0.578822,"mid_iv":0.740016,"ask_iv":0.90121,"smv_vol":0.758,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709753168618,"prevclose":16.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":8,"bidexch":"M","bid_date":1709931582000,"asksize":104,"askexch":"Z","ask_date":1709931560000,"open_interest":535,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00011000","description":"PLTR - Aug 16 2024 $11.00 Put","exch":"Z","type":"option","last":0.1,"change":-0.04,"volume":1,"open":0.1,"high":0.1,"low":0.1,"close":0.1,"bid":0.1,"ask":0.13,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0197199243985349,"gamma":0.0037580519506307014,"theta":-0.0034754574224019575,"vega":0.008538361323679649,"rho":0.044551811319999086,"phi":-0.11256557524319533,"bid_iv":0.724586,"mid_iv":0.74212,"ask_iv":0.759655,"smv_vol":0.745,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-28.58,"average_volume":0,"last_volume":1,"trade_date":1709931503054,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":716,"bidexch":"C","bid_date":1709931587000,"asksize":217,"askexch":"C","ask_date":1709931599000,"open_interest":2679,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00011000","description":"PLTR - Aug 16 2024 $11.00 Call","exch":"Z","type":"option","last":14.17,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.35,"ask":15.55,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9802800756014651,"gamma":0.0037580519506307014,"theta":-0.0034754574224019575,"vega":0.008538361323679649,"rho":0.044551811319999086,"phi":-0.11256557524319533,"bid_iv":0.670028,"mid_iv":0.758784,"ask_iv":0.847541,"smv_vol":0.745,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709231766837,"prevclose":14.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"A","bid_date":1709931586000,"asksize":13,"askexch":"M","ask_date":1709931525000,"open_interest":54,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00012000","description":"PLTR - Aug 16 2024 $12.00 Put","exch":"Z","type":"option","last":0.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.15,"ask":0.18,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0285814819404465,"gamma":0.005213298092066154,"theta":-0.004248292219000495,"vega":0.010663579019448432,"rho":0.04758610172514514,"phi":-0.11154629321552534,"bid_iv":0.711273,"mid_iv":0.724537,"ask_iv":0.737801,"smv_vol":0.724,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709757943043,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":681,"bidexch":"C","bid_date":1709931592000,"asksize":423,"askexch":"E","ask_date":1709931588000,"open_interest":2316,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00012000","description":"PLTR - Aug 16 2024 $12.00 Call","exch":"Z","type":"option","last":14.7,"change":2.00,"volume":5,"open":14.7,"high":14.7,"low":14.7,"close":14.7,"bid":14.3,"ask":14.55,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9714185180595535,"gamma":0.005213298092066154,"theta":-0.004248292219000495,"vega":0.010663579019448432,"rho":0.04758610172514514,"phi":-0.11154629321552534,"bid_iv":0.66587,"mid_iv":0.752664,"ask_iv":0.839457,"smv_vol":0.724,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":15.75,"average_volume":0,"last_volume":5,"trade_date":1709747209526,"prevclose":12.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"Z","bid_date":1709931577000,"asksize":14,"askexch":"M","ask_date":1709931592000,"open_interest":150,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00013000","description":"PLTR - Aug 16 2024 $13.00 Put","exch":"Z","type":"option","last":0.24,"change":0.00,"volume":11,"open":null,"high":null,"low":null,"close":null,"bid":0.21,"ask":0.24,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0398529237049661,"gamma":0.006947248201505721,"theta":-0.00510072287479206,"vega":0.015232328740750574,"rho":0.05025938196040124,"phi":-0.11024994726938075,"bid_iv":0.694887,"mid_iv":0.705121,"ask_iv":0.715355,"smv_vol":0.709,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709828889226,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":802,"bidexch":"C","bid_date":1709931571000,"asksize":232,"askexch":"E","ask_date":1709931588000,"open_interest":8358,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00013000","description":"PLTR - Aug 16 2024 $13.00 Call","exch":"Z","type":"option","last":13.47,"change":-0.77,"volume":1,"open":13.47,"high":13.47,"low":13.47,"close":13.47,"bid":13.5,"ask":13.65,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9601470762950339,"gamma":0.006947248201505721,"theta":-0.00510072287479206,"vega":0.015232328740750574,"rho":0.05025938196040124,"phi":-0.11024994726938075,"bid_iv":0.673012,"mid_iv":0.707351,"ask_iv":0.741689,"smv_vol":0.709,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.41,"average_volume":0,"last_volume":1,"trade_date":1709915370641,"prevclose":14.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"Z","bid_date":1709931582000,"asksize":15,"askexch":"M","ask_date":1709931595000,"open_interest":69,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00014000","description":"PLTR - Aug 16 2024 $14.00 Put","exch":"Z","type":"option","last":0.32,"change":0.00,"volume":1,"open":0.32,"high":0.32,"low":0.32,"close":0.32,"bid":0.3,"ask":0.33,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0531487943041574,"gamma":0.008903850894125018,"theta":-0.005980626680659071,"vega":0.01828604430682409,"rho":0.05262848048112383,"phi":-0.10872087642610495,"bid_iv":0.686383,"mid_iv":0.694567,"ask_iv":0.702752,"smv_vol":0.695,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931503054,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":675,"bidexch":"D","bid_date":1709931583000,"asksize":310,"askexch":"E","ask_date":1709931591000,"open_interest":3571,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00014000","description":"PLTR - Aug 16 2024 $14.00 Call","exch":"Z","type":"option","last":12.57,"change":-0.73,"volume":1,"open":12.57,"high":12.57,"low":12.57,"close":12.57,"bid":12.6,"ask":12.8,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9468512056958426,"gamma":0.008903850894125018,"theta":-0.005980626680659071,"vega":0.01828604430682409,"rho":0.05262848048112383,"phi":-0.10872087642610495,"bid_iv":0.662292,"mid_iv":0.701692,"ask_iv":0.741093,"smv_vol":0.695,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.49,"average_volume":0,"last_volume":1,"trade_date":1709915370641,"prevclose":13.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":65,"bidexch":"Z","bid_date":1709931585000,"asksize":28,"askexch":"C","ask_date":1709931560000,"open_interest":309,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00015000","description":"PLTR - Aug 16 2024 $15.00 Put","exch":"Z","type":"option","last":0.43,"change":0.01,"volume":21,"open":0.41,"high":0.43,"low":0.41,"close":0.43,"bid":0.41,"ask":0.44,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0687905548197687,"gamma":0.011086509333944006,"theta":-0.006897031910576703,"vega":0.02444823720909956,"rho":0.05463937496716843,"phi":-0.10692215406393757,"bid_iv":0.677167,"mid_iv":0.684022,"ask_iv":0.690876,"smv_vol":0.685,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.39,"average_volume":0,"last_volume":1,"trade_date":1709931503054,"prevclose":0.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"D","bid_date":1709931589000,"asksize":475,"askexch":"E","ask_date":1709931597000,"open_interest":1105,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00015000","description":"PLTR - Aug 16 2024 $15.00 Call","exch":"Z","type":"option","last":12.0,"change":2.20,"volume":3,"open":11.9,"high":12.1,"low":11.9,"close":12.0,"bid":11.75,"ask":11.85,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9312094451802313,"gamma":0.011086509333944006,"theta":-0.006897031910576703,"vega":0.02444823720909956,"rho":0.05463937496716843,"phi":-0.10692215406393757,"bid_iv":0.66219,"mid_iv":0.695563,"ask_iv":0.728937,"smv_vol":0.685,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":22.45,"average_volume":0,"last_volume":1,"trade_date":1709929587165,"prevclose":9.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"Z","bid_date":1709931579000,"asksize":14,"askexch":"M","ask_date":1709931600000,"open_interest":908,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00016000","description":"PLTR - Aug 16 2024 $16.00 Put","exch":"Z","type":"option","last":0.58,"change":0.03,"volume":6,"open":0.52,"high":0.58,"low":0.52,"close":0.58,"bid":0.55,"ask":0.57,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0872366877015668,"gamma":0.01348403327412959,"theta":-0.007838215784343353,"vega":0.02836490622742189,"rho":0.05621043388297303,"phi":-0.1048011507620572,"bid_iv":0.670255,"mid_iv":0.673772,"ask_iv":0.67729,"smv_vol":0.675,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.46,"average_volume":0,"last_volume":1,"trade_date":1709923529225,"prevclose":0.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":816,"bidexch":"D","bid_date":1709931598000,"asksize":65,"askexch":"D","ask_date":1709931599000,"open_interest":971,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00016000","description":"PLTR - Aug 16 2024 $16.00 Call","exch":"Z","type":"option","last":11.05,"change":-0.54,"volume":1,"open":11.05,"high":11.05,"low":11.05,"close":11.05,"bid":10.9,"ask":11.05,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9127633122984332,"gamma":0.01348403327412959,"theta":-0.007838215784343353,"vega":0.02836490622742189,"rho":0.05621043388297303,"phi":-0.1048011507620572,"bid_iv":0.654569,"mid_iv":0.681675,"ask_iv":0.708782,"smv_vol":0.675,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.66,"average_volume":0,"last_volume":1,"trade_date":1709916188170,"prevclose":11.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"N","bid_date":1709931581000,"asksize":14,"askexch":"C","ask_date":1709931584000,"open_interest":692,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00017000","description":"PLTR - Aug 16 2024 $17.00 Put","exch":"Z","type":"option","last":0.71,"change":-0.01,"volume":15,"open":0.67,"high":0.75,"low":0.67,"close":0.71,"bid":0.72,"ask":0.74,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1083413087577662,"gamma":0.01604157685669661,"theta":-0.008780385809459244,"vega":0.03249765831492722,"rho":0.05735533172294233,"phi":-0.10237467474638606,"bid_iv":0.662563,"mid_iv":0.665628,"ask_iv":0.668693,"smv_vol":0.666,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.39,"average_volume":0,"last_volume":5,"trade_date":1709926231053,"prevclose":0.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":520,"bidexch":"E","bid_date":1709931597000,"asksize":146,"askexch":"D","ask_date":1709931595000,"open_interest":3669,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00017000","description":"PLTR - Aug 16 2024 $17.00 Call","exch":"Z","type":"option","last":10.32,"change":-0.72,"volume":1,"open":10.32,"high":10.32,"low":10.32,"close":10.32,"bid":10.1,"ask":10.2,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8916586912422338,"gamma":0.01604157685669661,"theta":-0.008780385809459244,"vega":0.03249765831492722,"rho":0.05735533172294233,"phi":-0.10237467474638606,"bid_iv":0.651877,"mid_iv":0.659639,"ask_iv":0.667401,"smv_vol":0.666,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.53,"average_volume":0,"last_volume":1,"trade_date":1709926915665,"prevclose":11.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":604,"bidexch":"X","bid_date":1709931595000,"asksize":32,"askexch":"Z","ask_date":1709931582000,"open_interest":1599,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00018000","description":"PLTR - Aug 16 2024 $18.00 Put","exch":"Z","type":"option","last":0.92,"change":0.04,"volume":146,"open":0.86,"high":0.96,"low":0.86,"close":0.92,"bid":0.92,"ask":0.95,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1320798360355154,"gamma":0.018708094485639072,"theta":-0.00971501892397948,"vega":0.03681603149287146,"rho":0.05806627315695831,"phi":-0.0996456092039466,"bid_iv":0.655365,"mid_iv":0.659417,"ask_iv":0.66347,"smv_vol":0.659,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.55,"average_volume":0,"last_volume":2,"trade_date":1709930061251,"prevclose":0.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":923,"bidexch":"E","bid_date":1709931589000,"asksize":318,"askexch":"D","ask_date":1709931587000,"open_interest":1367,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00018000","description":"PLTR - Aug 16 2024 $18.00 Call","exch":"Z","type":"option","last":9.5,"change":-0.45,"volume":25,"open":9.5,"high":9.5,"low":9.5,"close":9.5,"bid":9.35,"ask":9.45,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8679201639644846,"gamma":0.018708094485639072,"theta":-0.00971501892397948,"vega":0.03681603149287146,"rho":0.05806627315695831,"phi":-0.0996456092039466,"bid_iv":0.64002,"mid_iv":0.653617,"ask_iv":0.667214,"smv_vol":0.659,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.53,"average_volume":0,"last_volume":25,"trade_date":1709919180045,"prevclose":9.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":472,"bidexch":"C","bid_date":1709931571000,"asksize":192,"askexch":"E","ask_date":1709931589000,"open_interest":2274,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00019000","description":"PLTR - Aug 16 2024 $19.00 Call","exch":"Z","type":"option","last":8.75,"change":-0.25,"volume":5,"open":9.5,"high":9.5,"low":8.62,"close":8.75,"bid":8.6,"ask":8.7,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.841429956088714,"gamma":0.021410713636059123,"theta":-0.01062675681738921,"vega":0.04121804022633409,"rho":0.05830153649129983,"phi":-0.09660051668802794,"bid_iv":0.64551,"mid_iv":0.651579,"ask_iv":0.657648,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.78,"average_volume":0,"last_volume":1,"trade_date":1709921983361,"prevclose":9.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":582,"bidexch":"X","bid_date":1709931574000,"asksize":66,"askexch":"E","ask_date":1709931573000,"open_interest":1615,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00019000","description":"PLTR - Aug 16 2024 $19.00 Put","exch":"Z","type":"option","last":1.16,"change":0.04,"volume":85,"open":1.1,"high":1.16,"low":1.1,"close":1.16,"bid":1.17,"ask":1.19,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.158570043911286,"gamma":0.021410713636059123,"theta":-0.01062675681738921,"vega":0.04121804022633409,"rho":0.05830153649129983,"phi":-0.09660051668802794,"bid_iv":0.652366,"mid_iv":0.654776,"ask_iv":0.657185,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.58,"average_volume":0,"last_volume":8,"trade_date":1709930028917,"prevclose":1.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":130,"bidexch":"D","bid_date":1709931590000,"asksize":92,"askexch":"D","ask_date":1709931587000,"open_interest":1008,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816P00020000","description":"PLTR - Aug 16 2024 $20.00 Put","exch":"Z","type":"option","last":1.46,"change":0.01,"volume":26,"open":1.39,"high":1.5,"low":1.39,"close":1.46,"bid":1.46,"ask":1.48,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1875401810865791,"gamma":0.024068854769061204,"theta":-0.011501255761370925,"vega":0.04563530179385375,"rho":0.058083509815359556,"phi":-0.09327069586007042,"bid_iv":0.650204,"mid_iv":0.652364,"ask_iv":0.654523,"smv_vol":0.651,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.69,"average_volume":0,"last_volume":1,"trade_date":1709931503054,"prevclose":1.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":63,"bidexch":"W","bid_date":1709931589000,"asksize":404,"askexch":"D","ask_date":1709931587000,"open_interest":4327,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00020000","description":"PLTR - Aug 16 2024 $20.00 Call","exch":"Z","type":"option","last":8.17,"change":-0.18,"volume":436,"open":8.71,"high":8.9,"low":7.95,"close":8.17,"bid":7.95,"ask":8.0,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8124598189134209,"gamma":0.024068854769061204,"theta":-0.011501255761370925,"vega":0.04563530179385375,"rho":0.058083509815359556,"phi":-0.09327069586007042,"bid_iv":0.6416,"mid_iv":0.647081,"ask_iv":0.652562,"smv_vol":0.651,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.16,"average_volume":0,"last_volume":1,"trade_date":1709926915665,"prevclose":8.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"C","bid_date":1709931588000,"asksize":32,"askexch":"X","ask_date":1709931588000,"open_interest":3038,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00021000","description":"PLTR - Aug 16 2024 $21.00 Put","exch":"Z","type":"option","last":1.74,"change":0.07,"volume":4,"open":1.67,"high":1.75,"low":1.67,"close":1.74,"bid":1.78,"ask":1.81,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2187695634574159,"gamma":0.026588604935330426,"theta":-0.012315920185045248,"vega":0.04995214433259829,"rho":0.05741659238185346,"phi":-0.08968159371569584,"bid_iv":0.646032,"mid_iv":0.64897,"ask_iv":0.651908,"smv_vol":0.648,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.20,"average_volume":0,"last_volume":1,"trade_date":1709927422162,"prevclose":1.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":377,"bidexch":"E","bid_date":1709931599000,"asksize":65,"askexch":"P","ask_date":1709931591000,"open_interest":8000,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00021000","description":"PLTR - Aug 16 2024 $21.00 Call","exch":"Z","type":"option","last":7.42,"change":-0.53,"volume":11,"open":8.0,"high":8.35,"low":7.42,"close":7.42,"bid":7.3,"ask":7.35,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7812304365425841,"gamma":0.026588604935330426,"theta":-0.012315920185045248,"vega":0.04995214433259829,"rho":0.05741659238185346,"phi":-0.08968159371569584,"bid_iv":0.640168,"mid_iv":0.645158,"ask_iv":0.650149,"smv_vol":0.648,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.67,"average_volume":0,"last_volume":2,"trade_date":1709916957130,"prevclose":7.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1709931593000,"asksize":36,"askexch":"X","ask_date":1709931582000,"open_interest":987,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00022000","description":"PLTR - Aug 16 2024 $22.00 Put","exch":"Z","type":"option","last":2.13,"change":0.09,"volume":1,"open":2.13,"high":2.13,"low":2.13,"close":2.13,"bid":2.16,"ask":2.19,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2518127603865303,"gamma":0.028879187153253834,"theta":-0.013053955026680072,"vega":0.05626198387503221,"rho":0.05633969979589018,"phi":-0.08588446280377582,"bid_iv":0.643805,"mid_iv":0.64646,"ask_iv":0.649114,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.42,"average_volume":0,"last_volume":1,"trade_date":1709919971003,"prevclose":2.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Q","bid_date":1709931589000,"asksize":258,"askexch":"D","ask_date":1709931591000,"open_interest":1374,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00022000","description":"PLTR - Aug 16 2024 $22.00 Call","exch":"Z","type":"option","last":6.7,"change":-0.30,"volume":31,"open":7.45,"high":7.45,"low":6.7,"close":6.7,"bid":6.65,"ask":6.75,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7481872396134697,"gamma":0.028879187153253834,"theta":-0.013053955026680072,"vega":0.05626198387503221,"rho":0.05633969979589018,"phi":-0.08588446280377582,"bid_iv":0.640565,"mid_iv":0.64501,"ask_iv":0.649455,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.29,"average_volume":0,"last_volume":1,"trade_date":1709931301451,"prevclose":7.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1073,"bidexch":"E","bid_date":1709931576000,"asksize":198,"askexch":"E","ask_date":1709931576000,"open_interest":1607,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00023000","description":"PLTR - Aug 16 2024 $23.00 Put","exch":"Z","type":"option","last":2.59,"change":0.07,"volume":108,"open":2.64,"high":2.64,"low":2.56,"close":2.59,"bid":2.57,"ask":2.61,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2861221288302996,"gamma":0.030879633935086612,"theta":-0.013700861259486812,"vega":0.05963036335849548,"rho":0.054916097466495034,"phi":-0.08194226860602782,"bid_iv":0.643428,"mid_iv":0.646773,"ask_iv":0.650117,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.78,"average_volume":0,"last_volume":2,"trade_date":1709924495659,"prevclose":2.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":18,"bidexch":"B","bid_date":1709931589000,"asksize":212,"askexch":"E","ask_date":1709931591000,"open_interest":1672,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00023000","description":"PLTR - Aug 16 2024 $23.00 Call","exch":"Z","type":"option","last":6.12,"change":-0.52,"volume":150,"open":6.8,"high":7.0,"low":6.12,"close":6.12,"bid":6.1,"ask":6.2,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7138778711697004,"gamma":0.030879633935086612,"theta":-0.013700861259486812,"vega":0.05963036335849548,"rho":0.054916097466495034,"phi":-0.08194226860602782,"bid_iv":0.633957,"mid_iv":0.642345,"ask_iv":0.650733,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.84,"average_volume":0,"last_volume":5,"trade_date":1709924102492,"prevclose":6.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":874,"bidexch":"E","bid_date":1709931584000,"asksize":796,"askexch":"E","ask_date":1709931589000,"open_interest":1984,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00024000","description":"PLTR - Aug 16 2024 $24.00 Put","exch":"Z","type":"option","last":3.03,"change":0.05,"volume":278,"open":3.07,"high":3.07,"low":3.0,"close":3.03,"bid":3.0,"ask":3.1,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3211358306523746,"gamma":0.03254747917203884,"theta":-0.01424703072805738,"vega":0.06250253166666497,"rho":0.05321321282468812,"phi":-0.0779195768885188,"bid_iv":0.638284,"mid_iv":0.642271,"ask_iv":0.646257,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.68,"average_volume":0,"last_volume":1,"trade_date":1709925536420,"prevclose":2.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1566,"bidexch":"E","bid_date":1709931595000,"asksize":1758,"askexch":"X","ask_date":1709931585000,"open_interest":692,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00024000","description":"PLTR - Aug 16 2024 $24.00 Call","exch":"Z","type":"option","last":5.7,"change":-0.40,"volume":31,"open":6.54,"high":6.55,"low":5.6,"close":5.7,"bid":5.6,"ask":5.65,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6788641693476254,"gamma":0.03254747917203884,"theta":-0.01424703072805738,"vega":0.06250253166666497,"rho":0.05321321282468812,"phi":-0.0779195768885188,"bid_iv":0.637698,"mid_iv":0.641699,"ask_iv":0.645701,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.56,"average_volume":0,"last_volume":1,"trade_date":1709931028539,"prevclose":6.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":465,"bidexch":"D","bid_date":1709931596000,"asksize":67,"askexch":"X","ask_date":1709931597000,"open_interest":2484,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00025000","description":"PLTR - Aug 16 2024 $25.00 Put","exch":"Z","type":"option","last":3.5,"change":0.07,"volume":38,"open":3.34,"high":3.57,"low":3.34,"close":3.5,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3563466435728857,"gamma":0.033872182482843016,"theta":-0.014690575689766073,"vega":0.06479411651472954,"rho":0.051300048707174646,"phi":-0.073874638495397,"bid_iv":0.638425,"mid_iv":0.642275,"ask_iv":0.646124,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.05,"average_volume":0,"last_volume":5,"trade_date":1709928598141,"prevclose":3.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1411,"bidexch":"E","bid_date":1709931594000,"asksize":1504,"askexch":"E","ask_date":1709931589000,"open_interest":885,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00025000","description":"PLTR - Aug 16 2024 $25.00 Call","exch":"Z","type":"option","last":5.15,"change":-0.25,"volume":136,"open":5.8,"high":6.0,"low":5.11,"close":5.15,"bid":5.1,"ask":5.2,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6436533564271143,"gamma":0.033872182482843016,"theta":-0.014690575689766073,"vega":0.06479411651472954,"rho":0.051300048707174646,"phi":-0.073874638495397,"bid_iv":0.635424,"mid_iv":0.643145,"ask_iv":0.650866,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.63,"average_volume":0,"last_volume":15,"trade_date":1709931267274,"prevclose":5.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1100,"bidexch":"E","bid_date":1709931582000,"asksize":1220,"askexch":"E","ask_date":1709931582000,"open_interest":2957,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00026000","description":"PLTR - Aug 16 2024 $26.00 Put","exch":"Z","type":"option","last":4.05,"change":0.30,"volume":34,"open":3.85,"high":4.05,"low":3.85,"close":4.05,"bid":4.05,"ask":4.15,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.3912906981959908,"gamma":0.034838504661278635,"theta":-0.015024316333305596,"vega":0.06643449755650674,"rho":0.049230884809052584,"phi":-0.06986074984283164,"bid_iv":0.640338,"mid_iv":0.644097,"ask_iv":0.647857,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.00,"average_volume":0,"last_volume":31,"trade_date":1709928626824,"prevclose":3.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":560,"bidexch":"C","bid_date":1709931589000,"asksize":1772,"askexch":"E","ask_date":1709931582000,"open_interest":3233,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00026000","description":"PLTR - Aug 16 2024 $26.00 Call","exch":"Z","type":"option","last":4.65,"change":-0.36,"volume":90,"open":5.15,"high":5.44,"low":4.61,"close":4.65,"bid":4.65,"ask":4.75,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.6087093018040092,"gamma":0.034838504661278635,"theta":-0.015024316333305596,"vega":0.06643449755650674,"rho":0.049230884809052584,"phi":-0.06986074984283164,"bid_iv":0.635158,"mid_iv":0.642689,"ask_iv":0.650219,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.19,"average_volume":0,"last_volume":6,"trade_date":1709931344106,"prevclose":5.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1224,"bidexch":"E","bid_date":1709931599000,"asksize":1147,"askexch":"E","ask_date":1709931599000,"open_interest":3640,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00027000","description":"PLTR - Aug 16 2024 $27.00 Call","exch":"Z","type":"option","last":4.35,"change":-0.15,"volume":356,"open":5.01,"high":5.01,"low":4.25,"close":4.35,"bid":4.25,"ask":4.35,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.5744580195219907,"gamma":0.03545473527265832,"theta":-0.015246471031560812,"vega":0.06804589103670917,"rho":0.047062066614946475,"phi":-0.0659268147806813,"bid_iv":0.636868,"mid_iv":0.64422,"ask_iv":0.651572,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.34,"average_volume":0,"last_volume":25,"trade_date":1709930597767,"prevclose":4.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1044,"bidexch":"E","bid_date":1709931583000,"asksize":1395,"askexch":"E","ask_date":1709931583000,"open_interest":4566,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00027000","description":"PLTR - Aug 16 2024 $27.00 Put","exch":"Z","type":"option","last":4.75,"change":0.37,"volume":3,"open":4.38,"high":4.75,"low":4.25,"close":4.75,"bid":4.6,"ask":4.7,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.4255419804780093,"gamma":0.03545473527265832,"theta":-0.015246471031560812,"vega":0.06804589103670917,"rho":0.047062066614946475,"phi":-0.0659268147806813,"bid_iv":0.636585,"mid_iv":0.643946,"ask_iv":0.651307,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.45,"average_volume":0,"last_volume":1,"trade_date":1709915384161,"prevclose":4.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1342,"bidexch":"C","bid_date":1709931592000,"asksize":394,"askexch":"E","ask_date":1709931589000,"open_interest":2643,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816P00028000","description":"PLTR - Aug 16 2024 $28.00 Put","exch":"Z","type":"option","last":5.2,"change":0.13,"volume":2,"open":5.2,"high":5.2,"low":5.2,"close":5.2,"bid":5.25,"ask":5.3,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.4588168116170964,"gamma":0.035766819391344726,"theta":-0.015368561206357332,"vega":0.06894211885956882,"rho":0.04484795342586104,"phi":-0.062105360671971255,"bid_iv":0.642462,"mid_iv":0.646103,"ask_iv":0.649745,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.57,"average_volume":0,"last_volume":2,"trade_date":1709916800393,"prevclose":5.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":152,"bidexch":"E","bid_date":1709931591000,"asksize":24,"askexch":"C","ask_date":1709931560000,"open_interest":456,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00028000","description":"PLTR - Aug 16 2024 $28.00 Call","exch":"Z","type":"option","last":4.0,"change":-0.20,"volume":252,"open":4.65,"high":4.65,"low":3.85,"close":4.0,"bid":3.85,"ask":3.95,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.5411831883829036,"gamma":0.035766819391344726,"theta":-0.015368561206357332,"vega":0.06894211885956882,"rho":0.04484795342586104,"phi":-0.062105360671971255,"bid_iv":0.640961,"mid_iv":0.644588,"ask_iv":0.648216,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.77,"average_volume":0,"last_volume":2,"trade_date":1709924814802,"prevclose":4.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1409,"bidexch":"E","bid_date":1709931583000,"asksize":340,"askexch":"E","ask_date":1709931589000,"open_interest":3912,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00029000","description":"PLTR - Aug 16 2024 $29.00 Put","exch":"Z","type":"option","last":5.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.9,"ask":5.95,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.4909446664045884,"gamma":0.035819264364925586,"theta":-0.015403046337583772,"vega":0.06909925089214297,"rho":0.04262664024236058,"phi":-0.058415916761589415,"bid_iv":0.643721,"mid_iv":0.647364,"ask_iv":0.651007,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709828759003,"prevclose":5.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":84,"bidexch":"E","bid_date":1709931595000,"asksize":5,"askexch":"N","ask_date":1709931600000,"open_interest":133,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00029000","description":"PLTR - Aug 16 2024 $29.00 Call","exch":"Z","type":"option","last":3.57,"change":-0.28,"volume":47,"open":4.15,"high":4.28,"low":3.57,"close":3.57,"bid":3.55,"ask":3.6,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.5090553335954116,"gamma":0.035819264364925586,"theta":-0.015403046337583772,"vega":0.06909925089214297,"rho":0.04262664024236058,"phi":-0.058415916761589415,"bid_iv":0.640692,"mid_iv":0.64431,"ask_iv":0.647929,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.28,"average_volume":0,"last_volume":10,"trade_date":1709921229639,"prevclose":3.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":242,"bidexch":"D","bid_date":1709931582000,"asksize":135,"askexch":"E","ask_date":1709931589000,"open_interest":5928,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00030000","description":"PLTR - Aug 16 2024 $30.00 Put","exch":"Z","type":"option","last":6.7,"change":0.25,"volume":3,"open":6.7,"high":6.7,"low":6.7,"close":6.7,"bid":6.55,"ask":6.65,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.5218225850677255,"gamma":0.03564849180154514,"theta":-0.015357337815034724,"vega":0.06851551416034121,"rho":0.04042368848614937,"phi":-0.05487026559780617,"bid_iv":0.640653,"mid_iv":0.648024,"ask_iv":0.655395,"smv_vol":0.647,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.88,"average_volume":0,"last_volume":3,"trade_date":1709923209634,"prevclose":6.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":885,"bidexch":"C","bid_date":1709931579000,"asksize":381,"askexch":"E","ask_date":1709931588000,"open_interest":101,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00030000","description":"PLTR - Aug 16 2024 $30.00 Call","exch":"Z","type":"option","last":3.27,"change":-0.23,"volume":567,"open":3.8,"high":3.9,"low":3.22,"close":3.27,"bid":3.25,"ask":3.3,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.4781774149322745,"gamma":0.03564849180154514,"theta":-0.015357337815034724,"vega":0.06851551416034121,"rho":0.04042368848614937,"phi":-0.05487026559780617,"bid_iv":0.643632,"mid_iv":0.647281,"ask_iv":0.650931,"smv_vol":0.647,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.58,"average_volume":0,"last_volume":1,"trade_date":1709931488459,"prevclose":3.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931592000,"asksize":243,"askexch":"E","ask_date":1709931590000,"open_interest":8880,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00031000","description":"PLTR - Aug 16 2024 $31.00 Put","exch":"Z","type":"option","last":6.85,"change":0.00,"volume":211,"open":null,"high":null,"low":null,"close":null,"bid":7.25,"ask":7.35,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.5514970687558597,"gamma":0.03530101064548597,"theta":-0.015246742270519531,"vega":0.06721643234750516,"rho":0.03825414556210525,"phi":-0.05146301285119392,"bid_iv":0.641075,"mid_iv":0.64861,"ask_iv":0.656145,"smv_vol":0.649,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":81,"trade_date":1709834941423,"prevclose":6.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":780,"bidexch":"E","bid_date":1709931582000,"asksize":150,"askexch":"E","ask_date":1709931582000,"open_interest":497,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00031000","description":"PLTR - Aug 16 2024 $31.00 Call","exch":"Z","type":"option","last":2.97,"change":-0.38,"volume":14,"open":3.6,"high":3.6,"low":2.97,"close":2.97,"bid":2.96,"ask":3.0,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.44850293124414026,"gamma":0.03530101064548597,"theta":-0.015246742270519531,"vega":0.06721643234750516,"rho":0.03825414556210525,"phi":-0.05146301285119392,"bid_iv":0.64607,"mid_iv":0.648301,"ask_iv":0.650533,"smv_vol":0.649,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.35,"average_volume":0,"last_volume":9,"trade_date":1709923773467,"prevclose":3.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"E","bid_date":1709931589000,"asksize":88,"askexch":"E","ask_date":1709931584000,"open_interest":521,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00032000","description":"PLTR - Aug 16 2024 $32.00 Call","exch":"Z","type":"option","last":2.83,"change":-0.32,"volume":52,"open":3.3,"high":3.3,"low":2.83,"close":2.83,"bid":2.7,"ask":2.74,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.4205798544873716,"gamma":0.0347367310016585,"theta":-0.015048544705124999,"vega":0.06855900055048351,"rho":0.036148759990038956,"phi":-0.04825712926592729,"bid_iv":0.647002,"mid_iv":0.649189,"ask_iv":0.651377,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.16,"average_volume":0,"last_volume":10,"trade_date":1709916698884,"prevclose":3.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":316,"bidexch":"D","bid_date":1709931583000,"asksize":42,"askexch":"D","ask_date":1709931588000,"open_interest":465,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00032000","description":"PLTR - Aug 16 2024 $32.00 Put","exch":"Z","type":"option","last":8.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.0,"ask":8.1,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.5794201455126284,"gamma":0.0347367310016585,"theta":-0.015048544705124999,"vega":0.06855900055048351,"rho":0.036148759990038956,"phi":-0.04825712926592729,"bid_iv":0.644582,"mid_iv":0.652053,"ask_iv":0.659524,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709131019599,"prevclose":8.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":200,"bidexch":"E","bid_date":1709931589000,"asksize":189,"askexch":"E","ask_date":1709931589000,"open_interest":3,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816P00033000","description":"PLTR - Aug 16 2024 $33.00 Put","exch":"Z","type":"option","last":8.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.75,"ask":8.85,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.605905258570648,"gamma":0.034043460408775775,"theta":-0.014797887897014417,"vega":0.06649433589748154,"rho":0.0341142511828256,"phi":-0.04521652364974926,"bid_iv":0.644097,"mid_iv":0.651827,"ask_iv":0.659557,"smv_vol":0.652,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1709829754566,"prevclose":8.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":403,"bidexch":"E","bid_date":1709931582000,"asksize":141,"askexch":"E","ask_date":1709931582000,"open_interest":13,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00033000","description":"PLTR - Aug 16 2024 $33.00 Call","exch":"Z","type":"option","last":2.48,"change":-0.44,"volume":17,"open":2.93,"high":2.93,"low":2.48,"close":2.48,"bid":2.47,"ask":2.51,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.39409474142935197,"gamma":0.034043460408775775,"theta":-0.014797887897014417,"vega":0.06649433589748154,"rho":0.0341142511828256,"phi":-0.04521652364974926,"bid_iv":0.647393,"mid_iv":0.6504,"ask_iv":0.653407,"smv_vol":0.652,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.07,"average_volume":0,"last_volume":1,"trade_date":1709921046232,"prevclose":2.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":98,"bidexch":"D","bid_date":1709931598000,"asksize":159,"askexch":"E","ask_date":1709931588000,"open_interest":150,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00034000","description":"PLTR - Aug 16 2024 $34.00 Put","exch":"Z","type":"option","last":11.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.55,"ask":9.65,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.6313456438009554,"gamma":0.033274997503308486,"theta":-0.014510761754388568,"vega":0.063822967815499,"rho":0.03213725321110776,"phi":-0.042295975188899604,"bid_iv":0.648537,"mid_iv":0.656624,"ask_iv":0.66471,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1708531026723,"prevclose":11.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":81,"bidexch":"E","bid_date":1709931586000,"asksize":91,"askexch":"E","ask_date":1709931586000,"open_interest":17,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00034000","description":"PLTR - Aug 16 2024 $34.00 Call","exch":"Z","type":"option","last":2.69,"change":0.00,"volume":45,"open":null,"high":null,"low":null,"close":null,"bid":2.25,"ask":2.3,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.36865435619904463,"gamma":0.033274997503308486,"theta":-0.014510761754388568,"vega":0.063822967815499,"rho":0.03213725321110776,"phi":-0.042295975188899604,"bid_iv":0.648362,"mid_iv":0.652278,"ask_iv":0.656194,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":19,"trade_date":1709826289762,"prevclose":2.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":389,"bidexch":"E","bid_date":1709931571000,"asksize":256,"askexch":"B","ask_date":1709931536000,"open_interest":237,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00035000","description":"PLTR - Aug 16 2024 $35.00 Put","exch":"Z","type":"option","last":9.95,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":10.35,"ask":10.45,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.6550693199678556,"gamma":0.03238625884845658,"theta":-0.01417050189098113,"vega":0.064977424805547,"rho":0.03025500014647776,"phi":-0.03957270124921308,"bid_iv":0.649634,"mid_iv":0.657729,"ask_iv":0.665823,"smv_vol":0.655,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709841555511,"prevclose":9.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":81,"bidexch":"E","bid_date":1709931588000,"asksize":93,"askexch":"E","ask_date":1709931588000,"open_interest":304,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00035000","description":"PLTR - Aug 16 2024 $35.00 Call","exch":"Z","type":"option","last":2.16,"change":-0.14,"volume":64,"open":2.58,"high":2.58,"low":2.08,"close":2.16,"bid":2.06,"ask":2.11,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.3449306800321444,"gamma":0.03238625884845658,"theta":-0.01417050189098113,"vega":0.064977424805547,"rho":0.03025500014647776,"phi":-0.03957270124921308,"bid_iv":0.650768,"mid_iv":0.654615,"ask_iv":0.658461,"smv_vol":0.655,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.09,"average_volume":0,"last_volume":1,"trade_date":1709926801411,"prevclose":2.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":248,"bidexch":"E","bid_date":1709931596000,"asksize":5,"askexch":"C","ask_date":1709931595000,"open_interest":2475,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00036000","description":"PLTR - Aug 16 2024 $36.00 Put","exch":"Z","type":"option","last":11.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.15,"ask":11.25,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.6773435184293257,"gamma":0.03142835098891829,"theta":-0.01379889494117878,"vega":0.06166703727851433,"rho":0.028462853706557566,"phi":-0.037015958795905135,"bid_iv":0.646768,"mid_iv":0.655342,"ask_iv":0.663916,"smv_vol":0.657,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":7,"trade_date":1709746434339,"prevclose":11.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":257,"bidexch":"E","bid_date":1709931588000,"asksize":71,"askexch":"B","ask_date":1709931573000,"open_interest":292,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00036000","description":"PLTR - Aug 16 2024 $36.00 Call","exch":"Z","type":"option","last":1.96,"change":-0.16,"volume":4,"open":2.1,"high":2.1,"low":1.93,"close":1.96,"bid":1.88,"ask":1.93,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.3226564815706743,"gamma":0.03142835098891829,"theta":-0.01379889494117878,"vega":0.06166703727851433,"rho":0.028462853706557566,"phi":-0.037015958795905135,"bid_iv":0.654558,"mid_iv":0.656989,"ask_iv":0.659419,"smv_vol":0.657,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.55,"average_volume":0,"last_volume":1,"trade_date":1709926581806,"prevclose":2.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":398,"bidexch":"E","bid_date":1709931599000,"asksize":71,"askexch":"B","ask_date":1709931564000,"open_interest":220,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00037000","description":"PLTR - Aug 16 2024 $37.00 Put","exch":"Z","type":"option","last":11.35,"change":-1.75,"volume":6,"open":11.35,"high":11.35,"low":11.35,"close":11.35,"bid":12.0,"ask":12.1,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.6988766456747175,"gamma":0.030446037853458934,"theta":-0.01340794992658092,"vega":0.06272119600005825,"rho":0.02671985592821247,"phi":-0.03454434299277054,"bid_iv":0.650109,"mid_iv":0.659142,"ask_iv":0.668175,"smv_vol":0.659,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.36,"average_volume":0,"last_volume":1,"trade_date":1709911680054,"prevclose":13.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"E","bid_date":1709931590000,"asksize":71,"askexch":"E","ask_date":1709931589000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00037000","description":"PLTR - Aug 16 2024 $37.00 Call","exch":"Z","type":"option","last":2.08,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.73,"ask":1.77,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.30112335432528253,"gamma":0.030446037853458934,"theta":-0.01340794992658092,"vega":0.06272119600005825,"rho":0.02671985592821247,"phi":-0.03454434299277054,"bid_iv":0.65701,"mid_iv":0.659598,"ask_iv":0.662186,"smv_vol":0.659,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1709836497517,"prevclose":2.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"B","bid_date":1709931589000,"asksize":97,"askexch":"B","ask_date":1709931555000,"open_interest":385,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00038000","description":"PLTR - Aug 16 2024 $38.00 Put","exch":"Z","type":"option","last":12.51,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.85,"ask":13.05,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.7184547909598312,"gamma":0.029395304970375014,"theta":-0.012983669843811912,"vega":0.05888938467218497,"rho":0.025104648632430355,"phi":-0.03229730453080393,"bid_iv":0.650286,"mid_iv":0.659567,"ask_iv":0.668847,"smv_vol":0.66,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709748607005,"prevclose":12.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"E","bid_date":1709931588000,"asksize":14,"askexch":"B","ask_date":1709931600000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00038000","description":"PLTR - Aug 16 2024 $38.00 Call","exch":"Z","type":"option","last":1.73,"change":-0.22,"volume":22,"open":1.89,"high":1.89,"low":1.73,"close":1.73,"bid":1.59,"ask":1.62,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.2815452090401688,"gamma":0.029395304970375014,"theta":-0.012983669843811912,"vega":0.05888938467218497,"rho":0.025104648632430355,"phi":-0.03229730453080393,"bid_iv":0.657651,"mid_iv":0.661046,"ask_iv":0.66444,"smv_vol":0.66,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.29,"average_volume":0,"last_volume":5,"trade_date":1709914901907,"prevclose":1.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":448,"bidexch":"D","bid_date":1709931588000,"asksize":285,"askexch":"B","ask_date":1709931578000,"open_interest":62,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00039000","description":"PLTR - Aug 16 2024 $39.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.7,"ask":13.9,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.7372837871108927,"gamma":0.02833887861772,"theta":-0.012551026155777016,"vega":0.05470419486759181,"rho":0.023543938715231475,"phi":-0.03013630153869684,"bid_iv":0.638841,"mid_iv":0.653437,"ask_iv":0.668033,"smv_vol":0.662,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"B","bid_date":1709931581000,"asksize":71,"askexch":"Z","ask_date":1709931580000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00039000","description":"PLTR - Aug 16 2024 $39.00 Call","exch":"Z","type":"option","last":1.48,"change":-0.15,"volume":2,"open":1.81,"high":1.81,"low":1.48,"close":1.48,"bid":1.46,"ask":1.49,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.26271621288910724,"gamma":0.02833887861772,"theta":-0.012551026155777016,"vega":0.05470419486759181,"rho":0.023543938715231475,"phi":-0.03013630153869684,"bid_iv":0.659863,"mid_iv":0.662604,"ask_iv":0.665344,"smv_vol":0.662,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.21,"average_volume":0,"last_volume":1,"trade_date":1709915348873,"prevclose":1.63,"week_52_high":0.0,"week_52_low":0.0,"bidsize":163,"bidexch":"B","bid_date":1709931595000,"asksize":163,"askexch":"B","ask_date":1709931595000,"open_interest":333,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00040000","description":"PLTR - Aug 16 2024 $40.00 Call","exch":"Z","type":"option","last":1.36,"change":-0.15,"volume":378,"open":1.6,"high":1.7,"low":1.36,"close":1.36,"bid":1.34,"ask":1.37,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.24533826239703574,"gamma":0.027256931736628562,"theta":-0.012104709512462083,"vega":0.05556094943303709,"rho":0.022084451774513174,"phi":-0.028141958907657028,"bid_iv":0.661785,"mid_iv":0.665384,"ask_iv":0.668982,"smv_vol":0.663,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.94,"average_volume":0,"last_volume":1,"trade_date":1709931181198,"prevclose":1.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":286,"bidexch":"B","bid_date":1709931595000,"asksize":12,"askexch":"Z","ask_date":1709931586000,"open_interest":1198,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00040000","description":"PLTR - Aug 16 2024 $40.00 Put","exch":"Z","type":"option","last":14.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.6,"ask":14.75,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.7546617376029643,"gamma":0.027256931736628562,"theta":-0.012104709512462083,"vega":0.05556094943303709,"rho":0.022084451774513174,"phi":-0.028141958907657028,"bid_iv":0.651666,"mid_iv":0.661956,"ask_iv":0.672245,"smv_vol":0.663,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709748236094,"prevclose":14.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":8,"bidexch":"B","bid_date":1709931592000,"asksize":11,"askexch":"B","ask_date":1709931592000,"open_interest":19,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"}]}}' + Aug 16 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.23,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-7.832E-13,"gamma":7.495239884035772E-13,"theta":-5.808761257684368E-4,"vega":2.0000001484346935E-5,"rho":0.005114581400430912,"phi":-0.040665584393195786,"bid_iv":0.0,"mid_iv":1.946269,"ask_iv":1.946269,"smv_vol":0.733,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":100,"trade_date":1715713152481,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718280000000,"asksize":40,"askexch":"X","ask_date":1718371805000,"open_interest":200,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00003000","description":"PLTR + Aug 16 2024 $3.00 Call","exch":"Z","type":"option","last":20.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.55,"ask":20.7,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999999999992168,"gamma":7.495239884035772E-13,"theta":-5.808761257684368E-4,"vega":2.0000001484346935E-5,"rho":0.005114581400430912,"phi":-0.040665584393195786,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.733,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717617122127,"prevclose":20.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":98,"bidexch":"Q","bid_date":1718394905000,"asksize":78,"askexch":"N","ask_date":1718395027000,"open_interest":11,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00005000","description":"PLTR + Aug 16 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.56,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-7.26086585E-8,"gamma":5.2982087755128154E-8,"theta":-9.681493689639953E-4,"vega":2.004353448182586E-5,"rho":0.008524299187542437,"phi":-0.040665581302334886,"bid_iv":0.0,"mid_iv":1.589027,"ask_iv":1.589027,"smv_vol":0.733,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715177542489,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"P","bid_date":1718371802000,"asksize":1,"askexch":"M","ask_date":1718371803000,"open_interest":740,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00005000","description":"PLTR + Aug 16 2024 $5.00 Call","exch":"Z","type":"option","last":18.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.6,"ask":18.75,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999999273913415,"gamma":5.2982087755128154E-8,"theta":-9.681493689639953E-4,"vega":2.004353448182586E-5,"rho":0.008524299187542437,"phi":-0.040665581302334886,"bid_iv":0.0,"mid_iv":2.105679,"ask_iv":2.105679,"smv_vol":0.733,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1711992589172,"prevclose":18.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":26,"bidexch":"E","bid_date":1718395027000,"asksize":116,"askexch":"N","ask_date":1718395089000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00009000","description":"PLTR + Aug 16 2024 $9.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.09,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-3.698721710961E-4,"gamma":1.8698207650969306E-4,"theta":-0.0018174661395498305,"vega":1.5905451142187357E-4,"rho":0.015327320690354767,"phi":-0.0406504673655661,"bid_iv":0.0,"mid_iv":1.26179,"ask_iv":1.26179,"smv_vol":0.732,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718034261078,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718394595000,"asksize":1581,"askexch":"A","ask_date":1718395131000,"open_interest":2353,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00009000","description":"PLTR + Aug 16 2024 $9.00 Call","exch":"Z","type":"option","last":14.4,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":14.55,"ask":14.75,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9996301278289039,"gamma":1.8698207650969306E-4,"theta":-0.0018174661395498305,"vega":1.5905451142187357E-4,"rho":0.015327320690354767,"phi":-0.0406504673655661,"bid_iv":0.0,"mid_iv":1.236403,"ask_iv":1.236403,"smv_vol":0.732,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718301906228,"prevclose":14.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1718395135000,"asksize":95,"askexch":"N","ask_date":1718395168000,"open_interest":41,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00010000","description":"PLTR + Aug 16 2024 $10.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.08,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0015714194092857,"gamma":6.918876740128612E-4,"theta":-0.00222665893969015,"vega":5.199032208620314E-4,"rho":0.01697807630184881,"phi":-0.0406013999310062,"bid_iv":0.835682,"mid_iv":0.974559,"ask_iv":1.113437,"smv_vol":0.73,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":30,"trade_date":1718307684465,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":228,"bidexch":"P","bid_date":1718394928000,"asksize":1564,"askexch":"X","ask_date":1718395131000,"open_interest":15240,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00010000","description":"PLTR + Aug 16 2024 $10.00 Call","exch":"Z","type":"option","last":13.78,"change":0.53,"volume":7,"open":13.1,"high":13.78,"low":13.1,"close":13.78,"bid":13.65,"ask":15.8,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9984285805907143,"gamma":6.918876740128612E-4,"theta":-0.00222665893969015,"vega":5.199032208620314E-4,"rho":0.01697807630184881,"phi":-0.0406013999310062,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.73,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.00,"average_volume":0,"last_volume":1,"trade_date":1718393344205,"prevclose":13.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1718395199000,"asksize":113,"askexch":"Z","ask_date":1718395199000,"open_interest":796,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00011000","description":"PLTR + Aug 16 2024 $11.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.1,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0039112570460623,"gamma":0.001589957303680782,"theta":-0.0027872253853003246,"vega":0.0011957458010360984,"rho":0.018576770628338343,"phi":-0.040505884051356134,"bid_iv":0.749347,"mid_iv":0.89585,"ask_iv":1.042353,"smv_vol":0.726,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1718285413928,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":265,"bidexch":"D","bid_date":1718395198000,"asksize":1068,"askexch":"E","ask_date":1718395198000,"open_interest":2697,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00011000","description":"PLTR + Aug 16 2024 $11.00 Call","exch":"Z","type":"option","last":12.72,"change":-0.58,"volume":4,"open":12.45,"high":12.72,"low":12.45,"close":12.72,"bid":12.65,"ask":12.8,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9960887429539377,"gamma":0.001589957303680782,"theta":-0.0027872253853003246,"vega":0.0011957458010360984,"rho":0.018576770628338343,"phi":-0.040505884051356134,"bid_iv":0.0,"mid_iv":1.052297,"ask_iv":1.052297,"smv_vol":0.726,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.37,"average_volume":0,"last_volume":1,"trade_date":1718394519281,"prevclose":13.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":51,"bidexch":"N","bid_date":1718395199000,"asksize":121,"askexch":"N","ask_date":1718395197000,"open_interest":73,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00012000","description":"PLTR + Aug 16 2024 $12.00 Put","exch":"Z","type":"option","last":0.03,"change":-0.02,"volume":100,"open":0.04,"high":0.04,"low":0.02,"close":0.03,"bid":0.01,"ask":0.06,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0090857847897443,"gamma":0.0033359020006734565,"theta":-0.003715252574158131,"vega":0.0025078781859714495,"rho":0.02004408534671267,"phi":-0.04029474828470825,"bid_iv":0.670862,"mid_iv":0.764745,"ask_iv":0.858629,"smv_vol":0.716,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-40.00,"average_volume":0,"last_volume":10,"trade_date":1718375720446,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":867,"bidexch":"E","bid_date":1718395199000,"asksize":377,"askexch":"E","ask_date":1718395199000,"open_interest":2359,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00012000","description":"PLTR + Aug 16 2024 $12.00 Call","exch":"Z","type":"option","last":11.8,"change":0.34,"volume":2,"open":11.8,"high":11.8,"low":11.8,"close":11.8,"bid":11.65,"ask":11.8,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9909142152102557,"gamma":0.0033359020006734565,"theta":-0.003715252574158131,"vega":0.0025078781859714495,"rho":0.02004408534671267,"phi":-0.04029474828470825,"bid_iv":0.0,"mid_iv":0.925061,"ask_iv":0.925061,"smv_vol":0.716,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.97,"average_volume":0,"last_volume":2,"trade_date":1718393179505,"prevclose":11.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":108,"bidexch":"E","bid_date":1718395128000,"asksize":77,"askexch":"Z","ask_date":1718395091000,"open_interest":173,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00013000","description":"PLTR + Aug 16 2024 $13.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":4,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.12,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0153035980790371,"gamma":0.00541617362810716,"theta":-0.0046298399956012926,"vega":0.003956721244614427,"rho":0.02146353214295587,"phi":-0.04004105084831622,"bid_iv":0.652783,"mid_iv":0.762151,"ask_iv":0.871518,"smv_vol":0.706,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718298039311,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":544,"bidexch":"M","bid_date":1718395199000,"asksize":2954,"askexch":"X","ask_date":1718395132000,"open_interest":8748,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00013000","description":"PLTR + Aug 16 2024 $13.00 Call","exch":"Z","type":"option","last":10.5,"change":-0.55,"volume":2,"open":10.45,"high":10.5,"low":10.45,"close":10.5,"bid":10.7,"ask":12.75,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9846964019209629,"gamma":0.00541617362810716,"theta":-0.0046298399956012926,"vega":0.003956721244614427,"rho":0.02146353214295587,"phi":-0.04004105084831622,"bid_iv":0.0,"mid_iv":0.886922,"ask_iv":0.886922,"smv_vol":0.706,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.98,"average_volume":0,"last_volume":1,"trade_date":1718377572095,"prevclose":11.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"M","bid_date":1718395199000,"asksize":119,"askexch":"N","ask_date":1718395199000,"open_interest":1664,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00014000","description":"PLTR + Aug 16 2024 $14.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.03,"ask":0.09,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0271280973526467,"gamma":0.008851163850935977,"theta":-0.006111564389688145,"vega":0.005999899432319529,"rho":0.02261826003496987,"phi":-0.03955880327310979,"bid_iv":0.613913,"mid_iv":0.675498,"ask_iv":0.737082,"smv_vol":0.686,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718135730562,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2495,"bidexch":"X","bid_date":1718395131000,"asksize":1005,"askexch":"M","ask_date":1718395131000,"open_interest":4264,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00014000","description":"PLTR + Aug 16 2024 $14.00 Call","exch":"Z","type":"option","last":9.8,"change":0.20,"volume":5,"open":9.6,"high":9.8,"low":9.6,"close":9.8,"bid":9.6,"ask":9.85,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9728719026473533,"gamma":0.008851163850935977,"theta":-0.006111564389688145,"vega":0.005999899432319529,"rho":0.02261826003496987,"phi":-0.03955880327310979,"bid_iv":0.0,"mid_iv":0.77732,"ask_iv":0.77732,"smv_vol":0.686,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.09,"average_volume":0,"last_volume":1,"trade_date":1718390832014,"prevclose":9.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":156,"bidexch":"E","bid_date":1718395132000,"asksize":65,"askexch":"Q","ask_date":1718395198000,"open_interest":544,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00015000","description":"PLTR + Aug 16 2024 $15.00 Put","exch":"Z","type":"option","last":0.1,"change":0.00,"volume":40,"open":0.1,"high":0.11,"low":0.1,"close":0.1,"bid":0.07,"ask":0.11,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0407689901932468,"gamma":0.012800252836925954,"theta":-0.007482182701824328,"vega":0.0086862047807225,"rho":0.023689234951241797,"phi":-0.039002482115080284,"bid_iv":0.62353,"mid_iv":0.652118,"ask_iv":0.680705,"smv_vol":0.649,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718377388781,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"E","bid_date":1718394667000,"asksize":1292,"askexch":"E","ask_date":1718395169000,"open_interest":3859,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00015000","description":"PLTR + Aug 16 2024 $15.00 Call","exch":"Z","type":"option","last":8.59,"change":-0.03,"volume":5,"open":8.59,"high":8.59,"low":8.59,"close":8.59,"bid":8.75,"ask":8.9,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9592310098067532,"gamma":0.012800252836925954,"theta":-0.007482182701824328,"vega":0.0086862047807225,"rho":0.023689234951241797,"phi":-0.039002482115080284,"bid_iv":0.429503,"mid_iv":0.575757,"ask_iv":0.722011,"smv_vol":0.649,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.35,"average_volume":0,"last_volume":5,"trade_date":1718374030292,"prevclose":8.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":35,"bidexch":"Q","bid_date":1718395198000,"asksize":132,"askexch":"A","ask_date":1718395166000,"open_interest":783,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00016000","description":"PLTR + Aug 16 2024 $16.00 Put","exch":"Z","type":"option","last":0.13,"change":-0.01,"volume":5,"open":0.13,"high":0.13,"low":0.13,"close":0.13,"bid":0.12,"ask":0.15,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.058737194330353,"gamma":0.01777802915325116,"theta":-0.008978949264231333,"vega":0.012051803298857239,"rho":0.02455699091995741,"phi":-0.038269769779830654,"bid_iv":0.610525,"mid_iv":0.62588,"ask_iv":0.641235,"smv_vol":0.63,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.15,"average_volume":0,"last_volume":5,"trade_date":1718375116585,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":360,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"H","ask_date":1718373237000,"open_interest":3090,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00016000","description":"PLTR + Aug 16 2024 $16.00 Call","exch":"Z","type":"option","last":8.15,"change":0.06,"volume":4,"open":8.39,"high":8.39,"low":8.15,"close":8.15,"bid":7.65,"ask":7.95,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.941262805669647,"gamma":0.01777802915325116,"theta":-0.008978949264231333,"vega":0.012051803298857239,"rho":0.02455699091995741,"phi":-0.038269769779830654,"bid_iv":0.0,"mid_iv":0.680998,"ask_iv":0.680998,"smv_vol":0.63,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.75,"average_volume":0,"last_volume":3,"trade_date":1718217421284,"prevclose":8.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395198000,"asksize":48,"askexch":"Q","ask_date":1718395198000,"open_interest":1963,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00017000","description":"PLTR + Aug 16 2024 $17.00 Put","exch":"Z","type":"option","last":0.21,"change":0.00,"volume":10,"open":0.24,"high":0.24,"low":0.2,"close":0.21,"bid":0.2,"ask":0.23,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0809355937196963,"gamma":0.02382178199789223,"theta":-0.010445830657387191,"vega":0.014225115781569325,"rho":0.025228818973781122,"phi":-0.03736460092440552,"bid_iv":0.601686,"mid_iv":0.61261,"ask_iv":0.623534,"smv_vol":0.61,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718395003301,"prevclose":0.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":770,"bidexch":"E","bid_date":1718395132000,"asksize":81,"askexch":"C","ask_date":1718395198000,"open_interest":7599,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00017000","description":"PLTR + Aug 16 2024 $17.00 Call","exch":"Z","type":"option","last":6.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.9,"ask":7.15,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9190644062803037,"gamma":0.02382178199789223,"theta":-0.010445830657387191,"vega":0.014225115781569325,"rho":0.025228818973781122,"phi":-0.03736460092440552,"bid_iv":0.545425,"mid_iv":0.581675,"ask_iv":0.617925,"smv_vol":0.61,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718300260399,"prevclose":6.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":305,"bidexch":"A","bid_date":1718395169000,"asksize":1,"askexch":"Q","ask_date":1718395198000,"open_interest":1576,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00018000","description":"PLTR + Aug 16 2024 $18.00 Put","exch":"Z","type":"option","last":0.32,"change":0.01,"volume":37,"open":0.36,"high":0.36,"low":0.3,"close":0.32,"bid":0.31,"ask":0.34,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1102465881509629,"gamma":0.031211546928434628,"theta":-0.012018451632672095,"vega":0.01851809688807685,"rho":0.02556248156986414,"phi":-0.03616964687758184,"bid_iv":0.589217,"mid_iv":0.59747,"ask_iv":0.605724,"smv_vol":0.595,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.23,"average_volume":0,"last_volume":3,"trade_date":1718395146042,"prevclose":0.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"N","bid_date":1718395200000,"asksize":301,"askexch":"B","ask_date":1718395198000,"open_interest":12976,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00018000","description":"PLTR + Aug 16 2024 $18.00 Call","exch":"Z","type":"option","last":6.1,"change":0.24,"volume":17,"open":5.5,"high":6.1,"low":5.5,"close":6.1,"bid":6.05,"ask":6.15,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8897534118490371,"gamma":0.031211546928434628,"theta":-0.012018451632672095,"vega":0.01851809688807685,"rho":0.02556248156986414,"phi":-0.03616964687758184,"bid_iv":0.560263,"mid_iv":0.588798,"ask_iv":0.617333,"smv_vol":0.595,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.10,"average_volume":0,"last_volume":7,"trade_date":1718394368158,"prevclose":5.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":395,"bidexch":"E","bid_date":1718395169000,"asksize":35,"askexch":"D","ask_date":1718395199000,"open_interest":3326,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00019000","description":"PLTR + Aug 16 2024 $19.00 Call","exch":"Z","type":"option","last":5.15,"change":0.12,"volume":10,"open":5.15,"high":5.15,"low":5.15,"close":5.15,"bid":5.2,"ask":5.3,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8519096084265168,"gamma":0.039816722934497915,"theta":-0.013663032045657218,"vega":0.02315133268252965,"rho":0.025483887981462325,"phi":-0.034627205831583296,"bid_iv":0.548186,"mid_iv":0.570993,"ask_iv":0.593799,"smv_vol":0.582,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.39,"average_volume":0,"last_volume":1,"trade_date":1718388560292,"prevclose":5.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":310,"bidexch":"E","bid_date":1718395199000,"asksize":22,"askexch":"X","ask_date":1718395198000,"open_interest":2878,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00019000","description":"PLTR + Aug 16 2024 $19.00 Put","exch":"Z","type":"option","last":0.45,"change":-0.03,"volume":236,"open":0.52,"high":0.56,"low":0.45,"close":0.45,"bid":0.46,"ask":0.49,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1480903915734832,"gamma":0.039816722934497915,"theta":-0.013663032045657218,"vega":0.02315133268252965,"rho":0.025483887981462325,"phi":-0.034627205831583296,"bid_iv":0.576092,"mid_iv":0.582657,"ask_iv":0.589222,"smv_vol":0.582,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-6.25,"average_volume":0,"last_volume":2,"trade_date":1718392213552,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":645,"bidexch":"E","bid_date":1718395169000,"asksize":86,"askexch":"D","ask_date":1718395198000,"open_interest":15706,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816P00020000","description":"PLTR + Aug 16 2024 $20.00 Put","exch":"Z","type":"option","last":0.68,"change":-0.01,"volume":201,"open":0.7,"high":0.77,"low":0.66,"close":0.68,"bid":0.68,"ask":0.7,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1958575347268033,"gamma":0.04916058618478122,"theta":-0.015308895429203525,"vega":0.027805581910478057,"rho":0.024911810984419663,"phi":-0.03268092724439953,"bid_iv":0.570679,"mid_iv":0.574268,"ask_iv":0.577858,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.45,"average_volume":0,"last_volume":3,"trade_date":1718395146042,"prevclose":0.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":226,"bidexch":"D","bid_date":1718395170000,"asksize":421,"askexch":"D","ask_date":1718395136000,"open_interest":15011,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00020000","description":"PLTR + Aug 16 2024 $20.00 Call","exch":"Z","type":"option","last":4.5,"change":0.30,"volume":289,"open":4.0,"high":4.5,"low":4.0,"close":4.5,"bid":4.45,"ask":4.5,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8041424652731967,"gamma":0.04916058618478122,"theta":-0.015308895429203525,"vega":0.027805581910478057,"rho":0.024911810984419663,"phi":-0.03268092724439953,"bid_iv":0.555914,"mid_iv":0.565165,"ask_iv":0.574417,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.15,"average_volume":0,"last_volume":1,"trade_date":1718392128864,"prevclose":4.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":26,"bidexch":"X","bid_date":1718395198000,"asksize":53,"askexch":"X","ask_date":1718395170000,"open_interest":5653,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00021000","description":"PLTR + Aug 16 2024 $21.00 Put","exch":"Z","type":"option","last":0.95,"change":-0.03,"volume":386,"open":1.1,"high":1.1,"low":0.95,"close":0.95,"bid":0.96,"ask":1.0,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.253932135579427,"gamma":0.05824397464527948,"theta":-0.016854406669059695,"vega":0.03208580286437524,"rho":0.023799873914185955,"phi":-0.030315594918839395,"bid_iv":0.564052,"mid_iv":0.570269,"ask_iv":0.576485,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.07,"average_volume":0,"last_volume":10,"trade_date":1718394302248,"prevclose":0.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"E","bid_date":1718395198000,"asksize":301,"askexch":"B","ask_date":1718395198000,"open_interest":9864,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00021000","description":"PLTR + Aug 16 2024 $21.00 Call","exch":"Z","type":"option","last":3.72,"change":0.22,"volume":25,"open":3.3,"high":3.72,"low":3.3,"close":3.72,"bid":3.7,"ask":3.85,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.746067864420573,"gamma":0.05824397464527948,"theta":-0.016854406669059695,"vega":0.03208580286437524,"rho":0.023799873914185955,"phi":-0.030315594918839395,"bid_iv":0.555086,"mid_iv":0.562882,"ask_iv":0.570679,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.29,"average_volume":0,"last_volume":5,"trade_date":1718387368249,"prevclose":3.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"E","bid_date":1718395198000,"asksize":48,"askexch":"X","ask_date":1718395198000,"open_interest":4895,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00022000","description":"PLTR + Aug 16 2024 $22.00 Put","exch":"Z","type":"option","last":1.33,"change":-0.04,"volume":278,"open":1.5,"high":1.51,"low":1.29,"close":1.33,"bid":1.33,"ask":1.37,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3203798007729793,"gamma":0.06584404235740236,"theta":-0.018129343845333483,"vega":0.03556220809351008,"rho":0.022206357447177,"phi":-0.027610370847419574,"bid_iv":0.563558,"mid_iv":0.566364,"ask_iv":0.569171,"smv_vol":0.564,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.92,"average_volume":0,"last_volume":1,"trade_date":1718395120488,"prevclose":1.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"Z","bid_date":1718395198000,"asksize":10,"askexch":"P","ask_date":1718395200000,"open_interest":7925,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00022000","description":"PLTR + Aug 16 2024 $22.00 Call","exch":"Z","type":"option","last":3.15,"change":0.25,"volume":174,"open":2.85,"high":3.2,"low":2.5,"close":3.15,"bid":3.1,"ask":3.2,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6796201992270207,"gamma":0.06584404235740236,"theta":-0.018129343845333483,"vega":0.03556220809351008,"rho":0.022206357447177,"phi":-0.027610370847419574,"bid_iv":0.547569,"mid_iv":0.561677,"ask_iv":0.575785,"smv_vol":0.564,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.63,"average_volume":0,"last_volume":20,"trade_date":1718394886367,"prevclose":2.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":757,"bidexch":"E","bid_date":1718395198000,"asksize":816,"askexch":"E","ask_date":1718395169000,"open_interest":7011,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00023000","description":"PLTR + Aug 16 2024 $23.00 Put","exch":"Z","type":"option","last":1.78,"change":-0.05,"volume":217,"open":2.0,"high":2.0,"low":1.72,"close":1.78,"bid":1.57,"ask":1.81,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3917030979436256,"gamma":0.07103154422796235,"theta":-0.018965943956192263,"vega":0.037469730157843405,"rho":0.020266599215108025,"phi":-0.02470785726238489,"bid_iv":0.561737,"mid_iv":0.567061,"ask_iv":0.572386,"smv_vol":0.563,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.74,"average_volume":0,"last_volume":5,"trade_date":1718394706833,"prevclose":1.83,"week_52_high":0.0,"week_52_low":0.0,"bidsize":276,"bidexch":"E","bid_date":1718395199000,"asksize":51,"askexch":"B","ask_date":1718395199000,"open_interest":9057,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00023000","description":"PLTR + Aug 16 2024 $23.00 Call","exch":"Z","type":"option","last":2.61,"change":0.26,"volume":752,"open":2.28,"high":2.65,"low":2.0,"close":2.61,"bid":2.57,"ask":2.61,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6082969020563744,"gamma":0.07103154422796235,"theta":-0.018965943956192263,"vega":0.037469730157843405,"rho":0.020266599215108025,"phi":-0.02470785726238489,"bid_iv":0.552935,"mid_iv":0.558275,"ask_iv":0.563616,"smv_vol":0.563,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.07,"average_volume":0,"last_volume":10,"trade_date":1718394993522,"prevclose":2.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":362,"bidexch":"E","bid_date":1718395170000,"asksize":282,"askexch":"D","ask_date":1718395170000,"open_interest":14976,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00024000","description":"PLTR + Aug 16 2024 $24.00 Put","exch":"Z","type":"option","last":2.3,"change":-0.06,"volume":64,"open":2.52,"high":2.52,"low":2.3,"close":2.3,"bid":2.29,"ask":2.32,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.4640766391836183,"gamma":0.07343104644388342,"theta":-0.019271912701149734,"vega":0.03904024219754799,"rho":0.01814033682534287,"phi":-0.021763768933702465,"bid_iv":0.561029,"mid_iv":0.566164,"ask_iv":0.571298,"smv_vol":0.563,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.55,"average_volume":0,"last_volume":1,"trade_date":1718389822575,"prevclose":2.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"B","bid_date":1718395198000,"asksize":2,"askexch":"J","ask_date":1718395198000,"open_interest":3327,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00024000","description":"PLTR + Aug 16 2024 $24.00 Call","exch":"Z","type":"option","last":2.14,"change":0.22,"volume":670,"open":1.85,"high":2.15,"low":1.68,"close":2.14,"bid":2.12,"ask":2.14,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.5359233608163817,"gamma":0.07343104644388342,"theta":-0.019271912701149734,"vega":0.03904024219754799,"rho":0.01814033682534287,"phi":-0.021763768933702465,"bid_iv":0.55651,"mid_iv":0.560354,"ask_iv":0.564198,"smv_vol":0.563,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.46,"average_volume":0,"last_volume":1,"trade_date":1718395177211,"prevclose":1.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"P","bid_date":1718395198000,"asksize":8,"askexch":"N","ask_date":1718395198000,"open_interest":8392,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00025000","description":"PLTR + Aug 16 2024 $25.00 Put","exch":"Z","type":"option","last":2.86,"change":-0.10,"volume":144,"open":3.1,"high":3.12,"low":2.86,"close":2.86,"bid":2.89,"ask":2.93,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.5343173115197137,"gamma":0.07322320498242559,"theta":-0.019057657783961537,"vega":0.039040908317309005,"rho":0.015970804428298856,"phi":-0.018907475463070256,"bid_iv":0.56261,"mid_iv":0.567764,"ask_iv":0.572919,"smv_vol":0.564,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.38,"average_volume":0,"last_volume":1,"trade_date":1718394020092,"prevclose":2.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"H","bid_date":1718395198000,"asksize":5,"askexch":"J","ask_date":1718395198000,"open_interest":3445,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00025000","description":"PLTR + Aug 16 2024 $25.00 Call","exch":"Z","type":"option","last":1.73,"change":0.18,"volume":1138,"open":1.46,"high":1.75,"low":1.34,"close":1.73,"bid":1.71,"ask":1.75,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.46568268848028627,"gamma":0.07322320498242559,"theta":-0.019057657783961537,"vega":0.039040908317309005,"rho":0.015970804428298856,"phi":-0.018907475463070256,"bid_iv":0.557453,"mid_iv":0.560018,"ask_iv":0.562583,"smv_vol":0.564,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.62,"average_volume":0,"last_volume":5,"trade_date":1718394932875,"prevclose":1.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"B","bid_date":1718395198000,"asksize":10,"askexch":"D","ask_date":1718395198000,"open_interest":13647,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00026000","description":"PLTR + Aug 16 2024 $26.00 Put","exch":"Z","type":"option","last":3.7,"change":-0.05,"volume":31,"open":3.9,"high":3.9,"low":3.7,"close":3.7,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.6002304603413111,"gamma":0.07084407730351248,"theta":-0.018403826613828476,"vega":0.03747090526862462,"rho":0.013862271160664961,"phi":-0.016228046475497138,"bid_iv":0.562791,"mid_iv":0.569658,"ask_iv":0.576526,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.34,"average_volume":0,"last_volume":1,"trade_date":1718383663040,"prevclose":3.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":319,"bidexch":"C","bid_date":1718395199000,"asksize":168,"askexch":"C","ask_date":1718395199000,"open_interest":3396,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00026000","description":"PLTR + Aug 16 2024 $26.00 Call","exch":"Z","type":"option","last":1.39,"change":0.15,"volume":749,"open":1.25,"high":1.43,"low":1.06,"close":1.39,"bid":1.37,"ask":1.45,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.3997695396586889,"gamma":0.07084407730351248,"theta":-0.018403826613828476,"vega":0.03747090526862462,"rho":0.013862271160664961,"phi":-0.016228046475497138,"bid_iv":0.55763,"mid_iv":0.562972,"ask_iv":0.568315,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":12.10,"average_volume":0,"last_volume":1,"trade_date":1718394342673,"prevclose":1.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":253,"bidexch":"B","bid_date":1718395197000,"asksize":262,"askexch":"B","ask_date":1718395197000,"open_interest":15270,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00027000","description":"PLTR + Aug 16 2024 $27.00 Call","exch":"Z","type":"option","last":1.11,"change":0.12,"volume":1081,"open":0.84,"high":1.17,"low":0.84,"close":1.11,"bid":1.1,"ask":1.14,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.3398182911574626,"gamma":0.06675809674305347,"theta":-0.017402783683755415,"vega":0.036633179435637236,"rho":0.011891815890638075,"phi":-0.013791755988368237,"bid_iv":0.56113,"mid_iv":0.566596,"ask_iv":0.572062,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":12.13,"average_volume":0,"last_volume":1,"trade_date":1718394919305,"prevclose":0.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":391,"bidexch":"E","bid_date":1718395168000,"asksize":511,"askexch":"E","ask_date":1718395168000,"open_interest":8579,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00027000","description":"PLTR + Aug 16 2024 $27.00 Put","exch":"Z","type":"option","last":4.35,"change":0.20,"volume":5,"open":4.6,"high":4.6,"low":4.34,"close":4.35,"bid":4.25,"ask":4.35,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.6601817088425374,"gamma":0.06675809674305347,"theta":-0.017402783683755415,"vega":0.036633179435637236,"rho":0.011891815890638075,"phi":-0.013791755988368237,"bid_iv":0.557629,"mid_iv":0.571706,"ask_iv":0.585783,"smv_vol":0.566,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.82,"average_volume":0,"last_volume":1,"trade_date":1718388072672,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":384,"bidexch":"E","bid_date":1718395169000,"asksize":507,"askexch":"E","ask_date":1718395169000,"open_interest":3551,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816P00028000","description":"PLTR + Aug 16 2024 $28.00 Put","exch":"Z","type":"option","last":5.5,"change":0.65,"volume":6,"open":5.5,"high":5.5,"low":5.5,"close":5.5,"bid":4.9,"ask":5.2,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.7128386702433723,"gamma":0.061501769483934904,"theta":-0.01619422931671656,"vega":0.0330300319462823,"rho":0.010123205141471659,"phi":-0.011652567850628515,"bid_iv":0.549479,"mid_iv":0.565307,"ask_iv":0.581135,"smv_vol":0.569,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.41,"average_volume":0,"last_volume":6,"trade_date":1718372143277,"prevclose":4.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":161,"bidexch":"E","bid_date":1718395199000,"asksize":409,"askexch":"E","ask_date":1718395199000,"open_interest":516,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00028000","description":"PLTR + Aug 16 2024 $28.00 Call","exch":"Z","type":"option","last":0.92,"change":0.11,"volume":469,"open":0.75,"high":0.92,"low":0.53,"close":0.92,"bid":0.88,"ask":0.9,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.28716132975662767,"gamma":0.061501769483934904,"theta":-0.01619422931671656,"vega":0.0330300319462823,"rho":0.010123205141471659,"phi":-0.011652567850628515,"bid_iv":0.564408,"mid_iv":0.567438,"ask_iv":0.570468,"smv_vol":0.569,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.58,"average_volume":0,"last_volume":1,"trade_date":1718394090308,"prevclose":0.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":429,"bidexch":"E","bid_date":1718395169000,"asksize":1,"askexch":"Q","ask_date":1718395089000,"open_interest":9101,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00029000","description":"PLTR + Aug 16 2024 $29.00 Put","exch":"Z","type":"option","last":5.9,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":5.8,"ask":5.95,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.7584473975794187,"gamma":0.05570887744233775,"theta":-0.01489334067219113,"vega":0.03125786103394904,"rho":0.008567427180000082,"phi":-0.009800218543354333,"bid_iv":0.556279,"mid_iv":0.574453,"ask_iv":0.592628,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718289012411,"prevclose":5.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":159,"bidexch":"E","bid_date":1718395198000,"asksize":119,"askexch":"E","ask_date":1718395198000,"open_interest":177,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00029000","description":"PLTR + Aug 16 2024 $29.00 Call","exch":"Z","type":"option","last":0.73,"change":0.09,"volume":54,"open":0.6,"high":0.73,"low":0.54,"close":0.73,"bid":0.7,"ask":0.96,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.24155260242058135,"gamma":0.05570887744233775,"theta":-0.01489334067219113,"vega":0.03125786103394904,"rho":0.008567427180000082,"phi":-0.009800218543354333,"bid_iv":0.567843,"mid_iv":0.572645,"ask_iv":0.577447,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.07,"average_volume":0,"last_volume":1,"trade_date":1718393896209,"prevclose":0.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":477,"bidexch":"E","bid_date":1718395168000,"asksize":503,"askexch":"E","ask_date":1718395199000,"open_interest":9717,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00030000","description":"PLTR + Aug 16 2024 $30.00 Put","exch":"Z","type":"option","last":6.7,"change":0.35,"volume":4,"open":6.68,"high":6.7,"low":6.68,"close":6.7,"bid":6.7,"ask":6.8,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7969941830376326,"gamma":0.04980549659621903,"theta":-0.013595409427935115,"vega":0.02647337797708522,"rho":0.007235604566403994,"phi":-0.00823509214376017,"bid_iv":0.554004,"mid_iv":0.574555,"ask_iv":0.595107,"smv_vol":0.578,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.52,"average_volume":0,"last_volume":1,"trade_date":1718394941313,"prevclose":6.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":295,"bidexch":"E","bid_date":1718395168000,"asksize":212,"askexch":"E","ask_date":1718395168000,"open_interest":262,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00030000","description":"PLTR + Aug 16 2024 $30.00 Call","exch":"Z","type":"option","last":0.58,"change":0.08,"volume":378,"open":0.46,"high":0.6,"low":0.41,"close":0.58,"bid":0.57,"ask":0.59,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.2030058169623674,"gamma":0.04980549659621903,"theta":-0.013595409427935115,"vega":0.02647337797708522,"rho":0.007235604566403994,"phi":-0.00823509214376017,"bid_iv":0.57649,"mid_iv":0.58012,"ask_iv":0.58375,"smv_vol":0.578,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.00,"average_volume":0,"last_volume":3,"trade_date":1718395163837,"prevclose":0.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":144,"bidexch":"D","bid_date":1718395168000,"asksize":119,"askexch":"D","ask_date":1718395136000,"open_interest":14421,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00031000","description":"PLTR + Aug 16 2024 $31.00 Put","exch":"Z","type":"option","last":8.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.55,"ask":7.7,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.8285781597323232,"gamma":0.0441389212214187,"theta":-0.012356424604647729,"vega":0.024233389733029343,"rho":0.006131922554401504,"phi":-0.006953016174482407,"bid_iv":0.555287,"mid_iv":0.579594,"ask_iv":0.603901,"smv_vol":0.584,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718049570615,"prevclose":8.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"E","bid_date":1718395199000,"asksize":37,"askexch":"X","ask_date":1718395199000,"open_interest":500,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00031000","description":"PLTR + Aug 16 2024 $31.00 Call","exch":"Z","type":"option","last":0.46,"change":0.05,"volume":76,"open":0.42,"high":0.48,"low":0.42,"close":0.46,"bid":0.45,"ask":0.48,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.1714218402676768,"gamma":0.0441389212214187,"theta":-0.012356424604647729,"vega":0.024233389733029343,"rho":0.006131922554401504,"phi":-0.006953016174482407,"bid_iv":0.578012,"mid_iv":0.584201,"ask_iv":0.59039,"smv_vol":0.584,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":12.20,"average_volume":0,"last_volume":1,"trade_date":1718394025625,"prevclose":0.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":451,"bidexch":"B","bid_date":1718395198000,"asksize":38,"askexch":"B","ask_date":1718395199000,"open_interest":3006,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00032000","description":"PLTR + Aug 16 2024 $32.00 Call","exch":"Z","type":"option","last":0.38,"change":0.06,"volume":1007,"open":0.31,"high":0.39,"low":0.31,"close":0.38,"bid":0.37,"ask":0.39,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.14484283888706134,"gamma":0.03890231933035516,"theta":-0.011184952795084559,"vega":0.021952902468881267,"rho":0.005197212564972098,"phi":-0.005874295500030158,"bid_iv":0.587567,"mid_iv":0.5944,"ask_iv":0.601234,"smv_vol":0.588,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":18.75,"average_volume":0,"last_volume":1,"trade_date":1718393190817,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":424,"bidexch":"D","bid_date":1718395166000,"asksize":412,"askexch":"D","ask_date":1718395059000,"open_interest":3360,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00032000","description":"PLTR + Aug 16 2024 $32.00 Put","exch":"Z","type":"option","last":8.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.45,"ask":8.6,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.8551571611129387,"gamma":0.03890231933035516,"theta":-0.011184952795084559,"vega":0.021952902468881267,"rho":0.005197212564972098,"phi":-0.005874295500030158,"bid_iv":0.534702,"mid_iv":0.567385,"ask_iv":0.600067,"smv_vol":0.588,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718219384375,"prevclose":8.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"N","bid_date":1718395198000,"asksize":21,"askexch":"X","ask_date":1718395198000,"open_interest":130,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816P00033000","description":"PLTR + Aug 16 2024 $33.00 Put","exch":"Z","type":"option","last":9.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.45,"ask":9.55,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.8763884783714153,"gamma":0.034241248517620324,"theta":-0.010172415001961073,"vega":0.019641010074736093,"rho":0.004444552360050406,"phi":-0.005012807440252232,"bid_iv":0.517843,"mid_iv":0.565017,"ask_iv":0.61219,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":8,"trade_date":1718201423575,"prevclose":9.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"T","bid_date":1718395133000,"asksize":26,"askexch":"E","ask_date":1718395134000,"open_interest":21,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00033000","description":"PLTR + Aug 16 2024 $33.00 Call","exch":"Z","type":"option","last":0.27,"change":0.00,"volume":10,"open":0.27,"high":0.27,"low":0.27,"close":0.27,"bid":0.3,"ask":0.32,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.12361152162858471,"gamma":0.034241248517620324,"theta":-0.010172415001961073,"vega":0.019641010074736093,"rho":0.004444552360050406,"phi":-0.005012807440252232,"bid_iv":0.593753,"mid_iv":0.598838,"ask_iv":0.603923,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718374195926,"prevclose":0.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"D","bid_date":1718395198000,"asksize":2,"askexch":"Q","ask_date":1718392068000,"open_interest":1769,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00034000","description":"PLTR + Aug 16 2024 $34.00 Put","exch":"Z","type":"option","last":9.9,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":10.2,"ask":10.6,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.8947194157503836,"gamma":0.030058533217822436,"theta":-0.009193221400033261,"vega":0.017405894450895763,"rho":0.003793404424322711,"phi":-0.004269070428830624,"bid_iv":0.0,"mid_iv":0.608778,"ask_iv":0.608778,"smv_vol":0.603,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718206052320,"prevclose":9.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"Z","bid_date":1718395198000,"asksize":104,"askexch":"N","ask_date":1718395198000,"open_interest":16,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00034000","description":"PLTR + Aug 16 2024 $34.00 Call","exch":"Z","type":"option","last":0.25,"change":0.03,"volume":103,"open":0.26,"high":0.26,"low":0.25,"close":0.25,"bid":0.25,"ask":0.47,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.1052805842496164,"gamma":0.030058533217822436,"theta":-0.009193221400033261,"vega":0.017405894450895763,"rho":0.003793404424322711,"phi":-0.004269070428830624,"bid_iv":0.603772,"mid_iv":0.609511,"ask_iv":0.615249,"smv_vol":0.603,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.64,"average_volume":0,"last_volume":1,"trade_date":1718392835860,"prevclose":0.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":350,"bidexch":"D","bid_date":1718395168000,"asksize":470,"askexch":"E","ask_date":1718395199000,"open_interest":4900,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00035000","description":"PLTR + Aug 16 2024 $35.00 Put","exch":"Z","type":"option","last":11.7,"change":0.60,"volume":39,"open":11.85,"high":11.87,"low":11.7,"close":11.7,"bid":11.35,"ask":11.5,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9094771390256287,"gamma":0.026438493829493207,"theta":-0.008349565896217489,"vega":0.015230276008711487,"rho":0.0032663810744616396,"phi":-0.003670411410638952,"bid_iv":0.0,"mid_iv":0.645698,"ask_iv":0.645698,"smv_vol":0.614,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.41,"average_volume":0,"last_volume":21,"trade_date":1718379709361,"prevclose":11.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":63,"bidexch":"Q","bid_date":1718395134000,"asksize":39,"askexch":"E","ask_date":1718395169000,"open_interest":5,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00035000","description":"PLTR + Aug 16 2024 $35.00 Call","exch":"Z","type":"option","last":0.22,"change":0.03,"volume":29,"open":0.22,"high":0.23,"low":0.19,"close":0.22,"bid":0.2,"ask":0.23,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.0905228609743713,"gamma":0.026438493829493207,"theta":-0.008349565896217489,"vega":0.015230276008711487,"rho":0.0032663810744616396,"phi":-0.003670411410638952,"bid_iv":0.606933,"mid_iv":0.616763,"ask_iv":0.626593,"smv_vol":0.614,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":15.79,"average_volume":0,"last_volume":2,"trade_date":1718391589435,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":851,"bidexch":"E","bid_date":1718395167000,"asksize":405,"askexch":"E","ask_date":1718395167000,"open_interest":6477,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00036000","description":"PLTR + Aug 16 2024 $36.00 Put","exch":"Z","type":"option","last":12.95,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.3,"ask":12.5,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.9225701213269704,"gamma":0.02317927955515838,"theta":-0.0075176707047836105,"vega":0.015487761924038996,"rho":0.002798701566347395,"phi":-0.0031393032728921355,"bid_iv":0.0,"mid_iv":0.755352,"ask_iv":0.755352,"smv_vol":0.625,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717680680068,"prevclose":12.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"M","bid_date":1718395168000,"asksize":29,"askexch":"E","ask_date":1718395169000,"open_interest":2,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00036000","description":"PLTR + Aug 16 2024 $36.00 Call","exch":"Z","type":"option","last":0.19,"change":0.04,"volume":555,"open":0.18,"high":0.19,"low":0.18,"close":0.19,"bid":0.17,"ask":0.2,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.07742987867302965,"gamma":0.02317927955515838,"theta":-0.0075176707047836105,"vega":0.015487761924038996,"rho":0.002798701566347395,"phi":-0.0031393032728921355,"bid_iv":0.618064,"mid_iv":0.629154,"ask_iv":0.640243,"smv_vol":0.625,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":26.67,"average_volume":0,"last_volume":1,"trade_date":1718391224747,"prevclose":0.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":711,"bidexch":"E","bid_date":1718395169000,"asksize":648,"askexch":"E","ask_date":1718395169000,"open_interest":1133,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00037000","description":"PLTR + Aug 16 2024 $37.00 Put","exch":"Z","type":"option","last":14.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.15,"ask":13.6,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.9338209591275811,"gamma":0.020293135458086167,"theta":-0.006727386809621999,"vega":0.013430850308533637,"rho":0.002396112824542977,"phi":-0.002682955315136404,"bid_iv":0.0,"mid_iv":0.791493,"ask_iv":0.791493,"smv_vol":0.637,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1713188340428,"prevclose":14.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":114,"bidexch":"Q","bid_date":1718395127000,"asksize":102,"askexch":"Z","ask_date":1718395130000,"open_interest":6,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00037000","description":"PLTR + Aug 16 2024 $37.00 Call","exch":"Z","type":"option","last":0.17,"change":0.03,"volume":10,"open":0.11,"high":0.17,"low":0.11,"close":0.17,"bid":0.15,"ask":0.18,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.0661790408724189,"gamma":0.020293135458086167,"theta":-0.006727386809621999,"vega":0.013430850308533637,"rho":0.002396112824542977,"phi":-0.002682955315136404,"bid_iv":0.632697,"mid_iv":0.644594,"ask_iv":0.656491,"smv_vol":0.637,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":21.43,"average_volume":0,"last_volume":3,"trade_date":1718392213363,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":477,"bidexch":"E","bid_date":1718395168000,"asksize":301,"askexch":"B","ask_date":1718395199000,"open_interest":565,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00038000","description":"PLTR + Aug 16 2024 $38.00 Put","exch":"Z","type":"option","last":14.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.4,"ask":14.5,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9430720879510572,"gamma":0.017805088835980414,"theta":-0.006034001860965876,"vega":0.01149606188857617,"rho":0.0020639221484159385,"phi":-0.0023077647420821634,"bid_iv":0.0,"mid_iv":0.680695,"ask_iv":0.680695,"smv_vol":0.652,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717775175160,"prevclose":14.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":8,"bidexch":"Q","bid_date":1718395166000,"asksize":1,"askexch":"N","ask_date":1718395135000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00038000","description":"PLTR + Aug 16 2024 $38.00 Call","exch":"Z","type":"option","last":0.12,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.13,"ask":0.16,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.05692791204894274,"gamma":0.017805088835980414,"theta":-0.006034001860965876,"vega":0.01149606188857617,"rho":0.0020639221484159385,"phi":-0.0023077647420821634,"bid_iv":0.644067,"mid_iv":0.657148,"ask_iv":0.67023,"smv_vol":0.652,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718304692282,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":451,"bidexch":"B","bid_date":1718395199000,"asksize":301,"askexch":"B","ask_date":1718395199000,"open_interest":252,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00039000","description":"PLTR + Aug 16 2024 $39.00 Put","exch":"Z","type":"option","last":15.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.35,"ask":15.5,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.9512701303903187,"gamma":0.015571198632723925,"theta":-0.005383867860704583,"vega":0.009762316628002234,"rho":0.0017694091503463452,"phi":-0.0019752951826990106,"bid_iv":0.0,"mid_iv":0.710469,"ask_iv":0.710469,"smv_vol":0.664,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":42,"trade_date":1710959766875,"prevclose":15.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":107,"bidexch":"N","bid_date":1718395167000,"asksize":116,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240816C00039000","description":"PLTR + Aug 16 2024 $39.00 Call","exch":"Z","type":"option","last":0.11,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.12,"ask":0.14,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.048729869609681294,"gamma":0.015571198632723925,"theta":-0.005383867860704583,"vega":0.009762316628002234,"rho":0.0017694091503463452,"phi":-0.0019752951826990106,"bid_iv":0.661725,"mid_iv":0.671294,"ask_iv":0.680863,"smv_vol":0.664,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718200522574,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":254,"bidexch":"E","bid_date":1718395167000,"asksize":263,"askexch":"B","ask_date":1718395199000,"open_interest":571,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816C00040000","description":"PLTR + Aug 16 2024 $40.00 Call","exch":"Z","type":"option","last":0.11,"change":0.01,"volume":66,"open":0.12,"high":0.12,"low":0.07,"close":0.11,"bid":0.1,"ask":0.13,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.04192731324739688,"gamma":0.013647021784590338,"theta":-0.0048164297089641015,"vega":0.00817510639469733,"rho":0.0015243608211504822,"phi":-0.0016994478853338268,"bid_iv":0.666511,"mid_iv":0.682346,"ask_iv":0.69818,"smv_vol":0.674,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.00,"average_volume":0,"last_volume":12,"trade_date":1718387322563,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":772,"bidexch":"E","bid_date":1718395169000,"asksize":849,"askexch":"E","ask_date":1718395169000,"open_interest":7107,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240816P00040000","description":"PLTR + Aug 16 2024 $40.00 Put","exch":"Z","type":"option","last":15.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.35,"ask":16.55,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9580726867526032,"gamma":0.013647021784590338,"theta":-0.0048164297089641015,"vega":0.00817510639469733,"rho":0.0015243608211504822,"phi":-0.0016994478853338268,"bid_iv":0.0,"mid_iv":0.739426,"ask_iv":0.739426,"smv_vol":0.674,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715017902330,"prevclose":15.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"Q","bid_date":1718395198000,"asksize":130,"askexch":"N","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-08-16","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -901,427 +1232,7 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '199' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '1' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-09-20&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240920P00003000","description":"PLTR - Sep 20 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-5.3760086117E-6,"gamma":1.7622743614853595E-6,"theta":-3.9558373581776747E-4,"vega":2.4698720391154085E-5,"rho":0.0156849174101246,"phi":-0.13980351202036445,"bid_iv":0.0,"mid_iv":1.152801,"ask_iv":1.152801,"smv_vol":0.782,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1708970028407,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"T","bid_date":1709925832000,"asksize":53,"askexch":"P","ask_date":1709931003000,"open_interest":469,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00003000","description":"PLTR - Sep 20 2024 $3.00 Call","exch":"Z","type":"option","last":23.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.6,"ask":23.7,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999946239913883,"gamma":1.7622743614853595E-6,"theta":-3.9558373581776747E-4,"vega":2.4698720391154085E-5,"rho":0.0156849174101246,"phi":-0.13980351202036445,"bid_iv":0.0,"mid_iv":1.661881,"ask_iv":1.661881,"smv_vol":0.782,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709755176011,"prevclose":23.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"N","bid_date":1709931577000,"asksize":104,"askexch":"N","ask_date":1709931577000,"open_interest":35,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00005000","description":"PLTR - Sep 20 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":6,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-3.141445390136E-4,"gamma":8.254454572048745E-5,"theta":-6.97814569804195E-4,"vega":2.717107888351956E-4,"rho":0.026091879790475666,"phi":-0.13976023197415088,"bid_iv":0.0,"mid_iv":0.953974,"ask_iv":0.953974,"smv_vol":0.781,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709834431705,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709927631000,"asksize":72,"askexch":"W","ask_date":1709931000000,"open_interest":2556,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00005000","description":"PLTR - Sep 20 2024 $5.00 Call","exch":"Z","type":"option","last":19.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":21.0,"ask":21.3,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9996858554609864,"gamma":8.254454572048745E-5,"theta":-6.97814569804195E-4,"vega":2.717107888351956E-4,"rho":0.026091879790475666,"phi":-0.13976023197415088,"bid_iv":0.0,"mid_iv":1.259254,"ask_iv":1.259254,"smv_vol":0.781,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707857271703,"prevclose":19.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"N","bid_date":1709931597000,"asksize":13,"askexch":"M","ask_date":1709931572000,"open_interest":51,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00006000","description":"PLTR - Sep 20 2024 $6.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-0.0010742167833555,"gamma":2.571178620827685E-4,"theta":-9.134074263426067E-4,"vega":6.974019490528336E-4,"rho":0.03119457798924445,"phi":-0.1396537263076425,"bid_iv":0.0,"mid_iv":0.896704,"ask_iv":0.896704,"smv_vol":0.778,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":240,"trade_date":1709140426360,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":225,"bidexch":"D","bid_date":1709930835000,"asksize":76,"askexch":"Z","ask_date":1709929803000,"open_interest":1922,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00006000","description":"PLTR - Sep 20 2024 $6.00 Call","exch":"Z","type":"option","last":18.91,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.15,"ask":20.35,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9989257832166445,"gamma":2.571178620827685E-4,"theta":-9.134074263426067E-4,"vega":6.974019490528336E-4,"rho":0.03119457798924445,"phi":-0.1396537263076425,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.778,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":7,"trade_date":1707416108505,"prevclose":18.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931554000,"asksize":6,"askexch":"M","ask_date":1709931475000,"open_interest":7,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00007000","description":"PLTR - Sep 20 2024 $7.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-0.0026839258269077,"gamma":5.926234514454991E-4,"theta":-0.0013084974810172467,"vega":0.0016401081790263338,"rho":0.03603993826526552,"phi":-0.13942821425416696,"bid_iv":0.76747,"mid_iv":0.80368,"ask_iv":0.839889,"smv_vol":0.771,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708528712285,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"C","bid_date":1709931512000,"asksize":18,"askexch":"D","ask_date":1709931559000,"open_interest":23,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00007000","description":"PLTR - Sep 20 2024 $7.00 Call","exch":"Z","type":"option","last":19.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":19.1,"ask":19.35,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9973160741730923,"gamma":5.926234514454991E-4,"theta":-0.0013084974810172467,"vega":0.0016401081790263338,"rho":0.03603993826526552,"phi":-0.13942821425416696,"bid_iv":0.0,"mid_iv":1.04937,"ask_iv":1.04937,"smv_vol":0.771,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709749959773,"prevclose":19.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931596000,"asksize":12,"askexch":"M","ask_date":1709931600000,"open_interest":5,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00008000","description":"PLTR - Sep 20 2024 $8.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":6,"open":null,"high":null,"low":null,"close":null,"bid":0.03,"ask":0.06,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0056433056396146,"gamma":0.0011549438451209115,"theta":-0.0017215859487268437,"vega":0.003432655274711681,"rho":0.04074729770353325,"phi":-0.1390136945289555,"bid_iv":0.731388,"mid_iv":0.769059,"ask_iv":0.80673,"smv_vol":0.756,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709755016501,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":798,"bidexch":"D","bid_date":1709931582000,"asksize":114,"askexch":"D","ask_date":1709931582000,"open_interest":106,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00008000","description":"PLTR - Sep 20 2024 $8.00 Call","exch":"Z","type":"option","last":16.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.25,"ask":18.4,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9943566943603854,"gamma":0.0011549438451209115,"theta":-0.0017215859487268437,"vega":0.003432655274711681,"rho":0.04074729770353325,"phi":-0.1390136945289555,"bid_iv":0.0,"mid_iv":0.913637,"ask_iv":0.913637,"smv_vol":0.756,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709061207604,"prevclose":16.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"T","bid_date":1709931588000,"asksize":13,"askexch":"M","ask_date":1709931584000,"open_interest":1,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00009000","description":"PLTR - Sep 20 2024 $9.00 Put","exch":"Z","type":"option","last":0.08,"change":-0.02,"volume":40,"open":0.08,"high":0.08,"low":0.08,"close":0.08,"bid":0.06,"ask":0.08,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-0.0102891596187643,"gamma":0.0019649421721675484,"theta":-0.0022443780379059054,"vega":0.005720413448322906,"rho":0.04515498645391064,"phi":-0.13836304912473452,"bid_iv":0.731926,"mid_iv":0.749304,"ask_iv":0.766683,"smv_vol":0.743,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":40,"trade_date":1709827499093,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":158,"bidexch":"B","bid_date":1709931137000,"asksize":40,"askexch":"X","ask_date":1709931582000,"open_interest":55,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00009000","description":"PLTR - Sep 20 2024 $9.00 Call","exch":"Z","type":"option","last":15.76,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.3,"ask":17.45,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9897108403812357,"gamma":0.0019649421721675484,"theta":-0.0022443780379059054,"vega":0.005720413448322906,"rho":0.04515498645391064,"phi":-0.13836304912473452,"bid_iv":0.0,"mid_iv":0.854773,"ask_iv":0.854773,"smv_vol":0.743,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709145556568,"prevclose":15.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"H","bid_date":1709931582000,"asksize":12,"askexch":"M","ask_date":1709931595000,"open_interest":4,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00010000","description":"PLTR - Sep 20 2024 $10.00 Put","exch":"Z","type":"option","last":0.1,"change":-0.01,"volume":1,"open":0.1,"high":0.1,"low":0.1,"close":0.1,"bid":0.1,"ask":0.12,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0164533480346561,"gamma":0.0029795859652505916,"theta":-0.002836304470591313,"vega":0.0073752137045538435,"rho":0.04928914876267034,"phi":-0.13749985420474786,"bid_iv":0.724254,"mid_iv":0.735662,"ask_iv":0.747069,"smv_vol":0.727,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.10,"average_volume":0,"last_volume":1,"trade_date":1709930324095,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"N","bid_date":1709931006000,"asksize":376,"askexch":"E","ask_date":1709931555000,"open_interest":5425,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00010000","description":"PLTR - Sep 20 2024 $10.00 Call","exch":"Z","type":"option","last":16.25,"change":-0.74,"volume":58,"open":16.46,"high":16.6,"low":16.25,"close":16.25,"bid":16.35,"ask":16.5,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9835466519653439,"gamma":0.0029795859652505916,"theta":-0.002836304470591313,"vega":0.0073752137045538435,"rho":0.04928914876267034,"phi":-0.13749985420474786,"bid_iv":0.55503,"mid_iv":0.657464,"ask_iv":0.759898,"smv_vol":0.727,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.36,"average_volume":0,"last_volume":5,"trade_date":1709923474392,"prevclose":16.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"B","bid_date":1709931588000,"asksize":5,"askexch":"B","ask_date":1709931595000,"open_interest":358,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00011000","description":"PLTR - Sep 20 2024 $11.00 Put","exch":"Z","type":"option","last":0.18,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.13,"ask":0.16,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0248322704017088,"gamma":0.004257146497482184,"theta":-0.003528975885441409,"vega":0.01107391727179178,"rho":0.053015894257661345,"phi":-0.136326652455665,"bid_iv":0.691682,"mid_iv":0.705483,"ask_iv":0.719284,"smv_vol":0.71,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709144650087,"prevclose":0.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1013,"bidexch":"C","bid_date":1709931558000,"asksize":132,"askexch":"E","ask_date":1709931555000,"open_interest":14,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00011000","description":"PLTR - Sep 20 2024 $11.00 Call","exch":"Z","type":"option","last":13.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.45,"ask":15.65,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9751677295982912,"gamma":0.004257146497482184,"theta":-0.003528975885441409,"vega":0.01107391727179178,"rho":0.053015894257661345,"phi":-0.136326652455665,"bid_iv":0.639116,"mid_iv":0.72365,"ask_iv":0.808184,"smv_vol":0.71,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709569625720,"prevclose":13.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1709931558000,"asksize":16,"askexch":"M","ask_date":1709931558000,"open_interest":19,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00012000","description":"PLTR - Sep 20 2024 $12.00 Put","exch":"Z","type":"option","last":0.2,"change":-0.03,"volume":6,"open":0.2,"high":0.2,"low":0.2,"close":0.2,"bid":0.19,"ask":0.22,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0349574159155367,"gamma":0.005727301653830807,"theta":-0.004266010290600231,"vega":0.015890354033436423,"rho":0.05641826101341938,"phi":-0.13490905805824127,"bid_iv":0.678968,"mid_iv":0.689928,"ask_iv":0.700887,"smv_vol":0.69,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.05,"average_volume":0,"last_volume":3,"trade_date":1709918298247,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1160,"bidexch":"X","bid_date":1709931570000,"asksize":325,"askexch":"B","ask_date":1709931564000,"open_interest":51,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00012000","description":"PLTR - Sep 20 2024 $12.00 Call","exch":"Z","type":"option","last":13.19,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.55,"ask":14.7,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9650425840844633,"gamma":0.005727301653830807,"theta":-0.004266010290600231,"vega":0.015890354033436423,"rho":0.05641826101341938,"phi":-0.13490905805824127,"bid_iv":0.651645,"mid_iv":0.702712,"ask_iv":0.753778,"smv_vol":0.69,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709225764559,"prevclose":13.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931590000,"asksize":16,"askexch":"M","ask_date":1709931558000,"open_interest":36,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920C00013000","description":"PLTR - Sep 20 2024 $13.00 Call","exch":"Z","type":"option","last":14.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.65,"ask":13.75,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9525525098506721,"gamma":0.007420123832757623,"theta":-0.005057083181291377,"vega":0.019149139338925324,"rho":0.05937057428010519,"phi":-0.1331605260723734,"bid_iv":0.642436,"mid_iv":0.669147,"ask_iv":0.695858,"smv_vol":0.677,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709845072443,"prevclose":14.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"M","bid_date":1709931598000,"asksize":15,"askexch":"M","ask_date":1709931561000,"open_interest":157,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00013000","description":"PLTR - Sep 20 2024 $13.00 Put","exch":"Z","type":"option","last":0.28,"change":-0.03,"volume":89,"open":0.27,"high":0.3,"low":0.27,"close":0.28,"bid":0.26,"ask":0.3,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0474474901493279,"gamma":0.007420123832757623,"theta":-0.005057083181291377,"vega":0.019149139338925324,"rho":0.05937057428010519,"phi":-0.1331605260723734,"bid_iv":0.663582,"mid_iv":0.674871,"ask_iv":0.68616,"smv_vol":0.677,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.68,"average_volume":0,"last_volume":20,"trade_date":1709929237521,"prevclose":0.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":785,"bidexch":"C","bid_date":1709931592000,"asksize":305,"askexch":"B","ask_date":1709931564000,"open_interest":7170,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920P00014000","description":"PLTR - Sep 20 2024 $14.00 Put","exch":"Z","type":"option","last":0.38,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.37,"ask":0.39,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0617865785014392,"gamma":0.009278314253071374,"theta":-0.005863127248340406,"vega":0.022798176278270948,"rho":0.06197004665428411,"phi":-0.1311532608916366,"bid_iv":0.659694,"mid_iv":0.664078,"ask_iv":0.668462,"smv_vol":0.665,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709823621531,"prevclose":0.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"C","bid_date":1709931495000,"asksize":70,"askexch":"D","ask_date":1709931592000,"open_interest":319,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00014000","description":"PLTR - Sep 20 2024 $14.00 Call","exch":"Z","type":"option","last":10.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.75,"ask":12.95,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9382134214985608,"gamma":0.009278314253071374,"theta":-0.005863127248340406,"vega":0.022798176278270948,"rho":0.06197004665428411,"phi":-0.1311532608916366,"bid_iv":0.623653,"mid_iv":0.669322,"ask_iv":0.714991,"smv_vol":0.665,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708700416541,"prevclose":10.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"C","bid_date":1709931583000,"asksize":28,"askexch":"C","ask_date":1709931513000,"open_interest":3,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00015000","description":"PLTR - Sep 20 2024 $15.00 Put","exch":"Z","type":"option","last":0.5,"change":-0.02,"volume":96,"open":0.49,"high":0.51,"low":0.48,"close":0.5,"bid":0.5,"ask":0.52,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0782773704992186,"gamma":0.011300789132626108,"theta":-0.006678697211765839,"vega":0.02676944770175712,"rho":0.06415079275362645,"phi":-0.128844951028384,"bid_iv":0.648416,"mid_iv":0.654011,"ask_iv":0.659605,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.85,"average_volume":0,"last_volume":1,"trade_date":1709919774211,"prevclose":0.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":111,"bidexch":"D","bid_date":1709931589000,"asksize":180,"askexch":"D","ask_date":1709931589000,"open_interest":3799,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00015000","description":"PLTR - Sep 20 2024 $15.00 Call","exch":"Z","type":"option","last":12.15,"change":-0.45,"volume":3,"open":12.15,"high":12.15,"low":12.15,"close":12.15,"bid":11.95,"ask":12.05,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9217226295007814,"gamma":0.011300789132626108,"theta":-0.006678697211765839,"vega":0.02676944770175712,"rho":0.06415079275362645,"phi":-0.128844951028384,"bid_iv":0.640191,"mid_iv":0.658925,"ask_iv":0.677659,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.58,"average_volume":0,"last_volume":3,"trade_date":1709916330368,"prevclose":12.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Q","bid_date":1709931557000,"asksize":17,"askexch":"M","ask_date":1709931600000,"open_interest":1100,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00016000","description":"PLTR - Sep 20 2024 $16.00 Put","exch":"Z","type":"option","last":0.67,"change":-0.01,"volume":99,"open":0.63,"high":0.68,"low":0.62,"close":0.67,"bid":0.66,"ask":0.68,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0970692986575755,"gamma":0.013461733918014265,"theta":-0.007495560091276772,"vega":0.03431116143949743,"rho":0.06587150186005376,"phi":-0.12621473299390118,"bid_iv":0.643266,"mid_iv":0.648067,"ask_iv":0.652868,"smv_vol":0.649,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.48,"average_volume":0,"last_volume":2,"trade_date":1709924604715,"prevclose":0.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":460,"bidexch":"D","bid_date":1709931593000,"asksize":112,"askexch":"D","ask_date":1709931593000,"open_interest":210,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00016000","description":"PLTR - Sep 20 2024 $16.00 Call","exch":"Z","type":"option","last":11.26,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.1,"ask":11.3,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9029307013424245,"gamma":0.013461733918014265,"theta":-0.007495560091276772,"vega":0.03431116143949743,"rho":0.06587150186005376,"phi":-0.12621473299390118,"bid_iv":0.624436,"mid_iv":0.655421,"ask_iv":0.686406,"smv_vol":0.649,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709743440935,"prevclose":11.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"Z","bid_date":1709931585000,"asksize":32,"askexch":"C","ask_date":1709931560000,"open_interest":48,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00017000","description":"PLTR - Sep 20 2024 $17.00 Put","exch":"Z","type":"option","last":0.82,"change":0.00,"volume":29,"open":0.8,"high":0.82,"low":0.8,"close":0.82,"bid":0.85,"ask":0.87,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1181296561595803,"gamma":0.015726134815614023,"theta":-0.008298267141708173,"vega":0.03894545378927565,"rho":0.06712804004467712,"phi":-0.12326723712874355,"bid_iv":0.640619,"mid_iv":0.643504,"ask_iv":0.64639,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709912163338,"prevclose":0.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":86,"bidexch":"D","bid_date":1709931598000,"asksize":288,"askexch":"D","ask_date":1709931598000,"open_interest":114,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00017000","description":"PLTR - Sep 20 2024 $17.00 Call","exch":"Z","type":"option","last":10.48,"change":-1.18,"volume":45,"open":10.6,"high":10.6,"low":10.4,"close":10.48,"bid":10.35,"ask":10.4,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8818703438404197,"gamma":0.015726134815614023,"theta":-0.008298267141708173,"vega":0.03894545378927565,"rho":0.06712804004467712,"phi":-0.12326723712874355,"bid_iv":0.631012,"mid_iv":0.644585,"ask_iv":0.658158,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.12,"average_volume":0,"last_volume":10,"trade_date":1709921594327,"prevclose":11.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"J","bid_date":1709931596000,"asksize":69,"askexch":"D","ask_date":1709931599000,"open_interest":16,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00018000","description":"PLTR - Sep 20 2024 $18.00 Put","exch":"Z","type":"option","last":1.07,"change":0.01,"volume":14,"open":1.01,"high":1.08,"low":1.01,"close":1.07,"bid":1.04,"ask":1.1,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1414408643512154,"gamma":0.01804756992836697,"theta":-0.009073499110691243,"vega":0.04367434534989512,"rho":0.06790623454624527,"phi":-0.12000497985553693,"bid_iv":0.634764,"mid_iv":0.638184,"ask_iv":0.641604,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.95,"average_volume":0,"last_volume":2,"trade_date":1709929995238,"prevclose":1.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"E","bid_date":1709931599000,"asksize":536,"askexch":"D","ask_date":1709931593000,"open_interest":4719,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00018000","description":"PLTR - Sep 20 2024 $18.00 Call","exch":"Z","type":"option","last":9.8,"change":-0.40,"volume":1,"open":9.8,"high":9.8,"low":9.8,"close":9.8,"bid":9.6,"ask":9.7,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8585591356487846,"gamma":0.01804756992836697,"theta":-0.009073499110691243,"vega":0.04367434534989512,"rho":0.06790623454624527,"phi":-0.12000497985553693,"bid_iv":0.627529,"mid_iv":0.639009,"ask_iv":0.65049,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.93,"average_volume":0,"last_volume":1,"trade_date":1709926871177,"prevclose":10.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":84,"bidexch":"D","bid_date":1709931598000,"asksize":65,"askexch":"X","ask_date":1709931596000,"open_interest":2010,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00019000","description":"PLTR - Sep 20 2024 $19.00 Put","exch":"Z","type":"option","last":1.34,"change":-0.01,"volume":21,"open":1.25,"high":1.34,"low":1.25,"close":1.34,"bid":1.34,"ask":1.36,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1668585941989144,"gamma":0.020379782102118875,"theta":-0.009815616682874347,"vega":0.04842656761753143,"rho":0.06821937480269226,"phi":-0.11644821428902219,"bid_iv":0.632146,"mid_iv":0.6342,"ask_iv":0.636253,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.75,"average_volume":0,"last_volume":2,"trade_date":1709929719136,"prevclose":1.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":148,"bidexch":"B","bid_date":1709931596000,"asksize":18,"askexch":"B","ask_date":1709931591000,"open_interest":1531,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00019000","description":"PLTR - Sep 20 2024 $19.00 Call","exch":"Z","type":"option","last":10.0,"change":0.55,"volume":3,"open":10.0,"high":10.0,"low":10.0,"close":10.0,"bid":8.9,"ask":8.95,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8331414058010856,"gamma":0.020379782102118875,"theta":-0.009815616682874347,"vega":0.04842656761753143,"rho":0.06821937480269226,"phi":-0.11644821428902219,"bid_iv":0.626641,"mid_iv":0.631809,"ask_iv":0.636976,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.82,"average_volume":0,"last_volume":3,"trade_date":1709910397633,"prevclose":9.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931600000,"asksize":59,"askexch":"X","ask_date":1709931596000,"open_interest":468,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00020000","description":"PLTR - Sep 20 2024 $20.00 Put","exch":"Z","type":"option","last":1.66,"change":0.04,"volume":95,"open":1.5,"high":1.68,"low":1.5,"close":1.66,"bid":1.65,"ask":1.67,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.19431048728318,"gamma":0.02265837470122128,"theta":-0.010509530421260654,"vega":0.053079749321389,"rho":0.06805213508301199,"phi":-0.1126071337864687,"bid_iv":0.628208,"mid_iv":0.631017,"ask_iv":0.633825,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.47,"average_volume":0,"last_volume":1,"trade_date":1709922619294,"prevclose":1.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":189,"bidexch":"D","bid_date":1709931598000,"asksize":15,"askexch":"D","ask_date":1709931600000,"open_interest":5494,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00020000","description":"PLTR - Sep 20 2024 $20.00 Call","exch":"Z","type":"option","last":8.5,"change":-0.26,"volume":45,"open":9.25,"high":9.25,"low":8.21,"close":8.5,"bid":8.2,"ask":8.3,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.80568951271682,"gamma":0.02265837470122128,"theta":-0.010509530421260654,"vega":0.053079749321389,"rho":0.06805213508301199,"phi":-0.1126071337864687,"bid_iv":0.618579,"mid_iv":0.628006,"ask_iv":0.637432,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.97,"average_volume":0,"last_volume":1,"trade_date":1709927477236,"prevclose":8.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":660,"bidexch":"E","bid_date":1709931588000,"asksize":228,"askexch":"E","ask_date":1709931588000,"open_interest":6562,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00021000","description":"PLTR - Sep 20 2024 $21.00 Put","exch":"Z","type":"option","last":1.98,"change":0.09,"volume":22,"open":1.89,"high":2.02,"low":1.89,"close":1.98,"bid":1.99,"ask":2.03,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2234995120535609,"gamma":0.02483071494371922,"theta":-0.011149470083396767,"vega":0.0575341593742498,"rho":0.06744281850443323,"phi":-0.10852334356492577,"bid_iv":0.626946,"mid_iv":0.629537,"ask_iv":0.632128,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.77,"average_volume":0,"last_volume":1,"trade_date":1709930619521,"prevclose":1.89,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931591000,"asksize":212,"askexch":"D","ask_date":1709931592000,"open_interest":612,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00021000","description":"PLTR - Sep 20 2024 $21.00 Call","exch":"Z","type":"option","last":8.25,"change":0.06,"volume":1,"open":8.25,"high":8.25,"low":8.25,"close":8.25,"bid":7.6,"ask":7.65,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7765004879464391,"gamma":0.02483071494371922,"theta":-0.011149470083396767,"vega":0.0575341593742498,"rho":0.06744281850443323,"phi":-0.10852334356492577,"bid_iv":0.622708,"mid_iv":0.627055,"ask_iv":0.631402,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.74,"average_volume":0,"last_volume":1,"trade_date":1709908855830,"prevclose":8.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":144,"bidexch":"D","bid_date":1709931599000,"asksize":80,"askexch":"D","ask_date":1709931591000,"open_interest":211,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00022000","description":"PLTR - Sep 20 2024 $22.00 Put","exch":"Z","type":"option","last":2.27,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.38,"ask":2.41,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2541542997321046,"gamma":0.026830816994870926,"theta":-0.011722142560781027,"vega":0.061665904059515456,"rho":0.06641098082024566,"phi":-0.10423487561972422,"bid_iv":0.625897,"mid_iv":0.628315,"ask_iv":0.630733,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709825854597,"prevclose":2.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":123,"bidexch":"E","bid_date":1709931593000,"asksize":15,"askexch":"D","ask_date":1709931600000,"open_interest":1281,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00022000","description":"PLTR - Sep 20 2024 $22.00 Call","exch":"Z","type":"option","last":7.17,"change":-0.63,"volume":14,"open":7.75,"high":7.75,"low":7.17,"close":7.17,"bid":7.0,"ask":7.1,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7458457002678954,"gamma":0.026830816994870926,"theta":-0.011722142560781027,"vega":0.061665904059515456,"rho":0.06641098082024566,"phi":-0.10423487561972422,"bid_iv":0.619955,"mid_iv":0.628066,"ask_iv":0.636177,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.08,"average_volume":0,"last_volume":10,"trade_date":1709928598126,"prevclose":7.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":234,"bidexch":"E","bid_date":1709931586000,"asksize":216,"askexch":"X","ask_date":1709931591000,"open_interest":1434,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00023000","description":"PLTR - Sep 20 2024 $23.00 Put","exch":"Z","type":"option","last":2.84,"change":0.20,"volume":1,"open":2.84,"high":2.84,"low":2.84,"close":2.84,"bid":2.75,"ask":2.85,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2858717307385561,"gamma":0.028620305005600886,"theta":-0.012223853692685985,"vega":0.06536674492798407,"rho":0.06501723009857888,"phi":-0.09979814110216978,"bid_iv":0.625326,"mid_iv":0.627609,"ask_iv":0.629892,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.58,"average_volume":0,"last_volume":1,"trade_date":1709920856396,"prevclose":2.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":910,"bidexch":"X","bid_date":1709931599000,"asksize":16,"askexch":"B","ask_date":1709931599000,"open_interest":154,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00023000","description":"PLTR - Sep 20 2024 $23.00 Call","exch":"Z","type":"option","last":6.55,"change":-0.40,"volume":28,"open":7.15,"high":7.38,"low":6.51,"close":6.55,"bid":6.45,"ask":6.8,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7141282692614439,"gamma":0.028620305005600886,"theta":-0.012223853692685985,"vega":0.06536674492798407,"rho":0.06501723009857888,"phi":-0.09979814110216978,"bid_iv":0.619567,"mid_iv":0.62722,"ask_iv":0.634872,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.76,"average_volume":0,"last_volume":5,"trade_date":1709930609325,"prevclose":6.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":416,"bidexch":"E","bid_date":1709931590000,"asksize":853,"askexch":"X","ask_date":1709931591000,"open_interest":555,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00024000","description":"PLTR - Sep 20 2024 $24.00 Put","exch":"Z","type":"option","last":3.25,"change":0.05,"volume":44,"open":3.05,"high":3.35,"low":3.05,"close":3.25,"bid":3.25,"ask":3.35,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3182680876071629,"gamma":0.03015645751419554,"theta":-0.012646819178715912,"vega":0.06852760553517212,"rho":0.06330901544672815,"phi":-0.09526684178418066,"bid_iv":0.620782,"mid_iv":0.628048,"ask_iv":0.635315,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.57,"average_volume":0,"last_volume":10,"trade_date":1709926400024,"prevclose":3.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1261,"bidexch":"E","bid_date":1709931583000,"asksize":1575,"askexch":"C","ask_date":1709931592000,"open_interest":316,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00024000","description":"PLTR - Sep 20 2024 $24.00 Call","exch":"Z","type":"option","last":6.83,"change":0.18,"volume":25,"open":6.6,"high":6.83,"low":6.6,"close":6.83,"bid":5.95,"ask":6.0,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6817319123928371,"gamma":0.03015645751419554,"theta":-0.012646819178715912,"vega":0.06852760553517212,"rho":0.06330901544672815,"phi":-0.09526684178418066,"bid_iv":0.621148,"mid_iv":0.624798,"ask_iv":0.628447,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.71,"average_volume":0,"last_volume":2,"trade_date":1709911749318,"prevclose":6.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":114,"bidexch":"D","bid_date":1709931598000,"asksize":110,"askexch":"D","ask_date":1709931598000,"open_interest":1115,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00025000","description":"PLTR - Sep 20 2024 $25.00 Put","exch":"Z","type":"option","last":3.78,"change":0.15,"volume":124,"open":3.54,"high":3.8,"low":3.5,"close":3.78,"bid":3.75,"ask":3.85,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3509514676659028,"gamma":0.03142671372591584,"theta":-0.0129919125557332,"vega":0.07105648199605388,"rho":0.061351625742217315,"phi":-0.09069578739584472,"bid_iv":0.620019,"mid_iv":0.627036,"ask_iv":0.634053,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.14,"average_volume":0,"last_volume":1,"trade_date":1709925536420,"prevclose":3.63,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1359,"bidexch":"E","bid_date":1709931583000,"asksize":1280,"askexch":"E","ask_date":1709931592000,"open_interest":381,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00025000","description":"PLTR - Sep 20 2024 $25.00 Call","exch":"Z","type":"option","last":5.5,"change":-0.30,"volume":148,"open":6.3,"high":6.3,"low":5.35,"close":5.5,"bid":5.45,"ask":5.55,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6490485323340972,"gamma":0.03142671372591584,"theta":-0.0129919125557332,"vega":0.07105648199605388,"rho":0.061351625742217315,"phi":-0.09069578739584472,"bid_iv":0.617801,"mid_iv":0.624842,"ask_iv":0.631882,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.18,"average_volume":0,"last_volume":1,"trade_date":1709931085975,"prevclose":5.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1171,"bidexch":"E","bid_date":1709931589000,"asksize":951,"askexch":"E","ask_date":1709931589000,"open_interest":3780,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920C00026000","description":"PLTR - Sep 20 2024 $26.00 Call","exch":"Z","type":"option","last":5.13,"change":-0.27,"volume":298,"open":5.62,"high":5.8,"low":4.95,"close":5.13,"bid":5.05,"ask":5.1,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.6164517077254718,"gamma":0.03241140973052454,"theta":-0.013254584730323728,"vega":0.07287558196524645,"rho":0.05919583285645641,"phi":-0.0861372377514158,"bid_iv":0.623652,"mid_iv":0.627086,"ask_iv":0.630519,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.00,"average_volume":0,"last_volume":10,"trade_date":1709930402370,"prevclose":5.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"Z","bid_date":1709931560000,"asksize":495,"askexch":"E","ask_date":1709931599000,"open_interest":2521,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00026000","description":"PLTR - Sep 20 2024 $26.00 Put","exch":"Z","type":"option","last":4.37,"change":0.16,"volume":44,"open":4.05,"high":4.4,"low":4.05,"close":4.37,"bid":4.3,"ask":4.4,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.3835482922745282,"gamma":0.03241140973052454,"theta":-0.013254584730323728,"vega":0.07287558196524645,"rho":0.05919583285645641,"phi":-0.0861372377514158,"bid_iv":0.621316,"mid_iv":0.628168,"ask_iv":0.63502,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.80,"average_volume":0,"last_volume":1,"trade_date":1709922619294,"prevclose":4.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":801,"bidexch":"E","bid_date":1709931587000,"asksize":1430,"askexch":"C","ask_date":1709931584000,"open_interest":355,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920P00027000","description":"PLTR - Sep 20 2024 $27.00 Put","exch":"Z","type":"option","last":4.9,"change":0.12,"volume":1,"open":4.9,"high":4.9,"low":4.9,"close":4.9,"bid":4.9,"ask":5.0,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.415634265969238,"gamma":0.03308676596599657,"theta":-0.013426343230705191,"vega":0.07466449613068006,"rho":0.05689123858534129,"phi":-0.081650536127853,"bid_iv":0.624238,"mid_iv":0.627591,"ask_iv":0.630945,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.51,"average_volume":0,"last_volume":1,"trade_date":1709915180194,"prevclose":4.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":94,"bidexch":"D","bid_date":1709931589000,"asksize":111,"askexch":"C","ask_date":1709931593000,"open_interest":96,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00027000","description":"PLTR - Sep 20 2024 $27.00 Call","exch":"Z","type":"option","last":4.75,"change":-0.30,"volume":112,"open":5.35,"high":5.45,"low":4.65,"close":4.75,"bid":4.6,"ask":4.7,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.584365734030762,"gamma":0.03308676596599657,"theta":-0.013426343230705191,"vega":0.07466449613068006,"rho":0.05689123858534129,"phi":-0.081650536127853,"bid_iv":0.624339,"mid_iv":0.627693,"ask_iv":0.631046,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.95,"average_volume":0,"last_volume":1,"trade_date":1709930369731,"prevclose":5.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1281,"bidexch":"E","bid_date":1709931599000,"asksize":787,"askexch":"E","ask_date":1709931599000,"open_interest":4608,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00028000","description":"PLTR - Sep 20 2024 $28.00 Put","exch":"Z","type":"option","last":5.17,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.5,"ask":5.6,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.446978964617501,"gamma":0.03350604743999544,"theta":-0.013525456265065091,"vega":0.07567159594754654,"rho":0.05450885279183738,"phi":-0.07726782585315561,"bid_iv":0.622913,"mid_iv":0.626231,"ask_iv":0.629548,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709823823963,"prevclose":5.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":108,"bidexch":"E","bid_date":1709931582000,"asksize":1055,"askexch":"E","ask_date":1709931580000,"open_interest":215,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00028000","description":"PLTR - Sep 20 2024 $28.00 Call","exch":"Z","type":"option","last":4.4,"change":-0.25,"volume":102,"open":5.0,"high":5.05,"low":4.29,"close":4.4,"bid":4.25,"ask":4.35,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.553021035382499,"gamma":0.03350604743999544,"theta":-0.013525456265065091,"vega":0.07567159594754654,"rho":0.05450885279183738,"phi":-0.07726782585315561,"bid_iv":0.621117,"mid_iv":0.627732,"ask_iv":0.634348,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.38,"average_volume":0,"last_volume":6,"trade_date":1709917693257,"prevclose":4.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":784,"bidexch":"E","bid_date":1709931583000,"asksize":1203,"askexch":"X","ask_date":1709931575000,"open_interest":2909,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00029000","description":"PLTR - Sep 20 2024 $29.00 Put","exch":"Z","type":"option","last":5.95,"change":0.00,"volume":153,"open":null,"high":null,"low":null,"close":null,"bid":6.15,"ask":6.25,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.4774391851072598,"gamma":0.03370349496404493,"theta":-0.013561310030498893,"vega":0.07586937477764746,"rho":0.05209036295220738,"phi":-0.07300907992835448,"bid_iv":0.624484,"mid_iv":0.627802,"ask_iv":0.63112,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":48,"trade_date":1709748342422,"prevclose":5.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":158,"bidexch":"E","bid_date":1709931582000,"asksize":526,"askexch":"E","ask_date":1709931582000,"open_interest":214,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00029000","description":"PLTR - Sep 20 2024 $29.00 Call","exch":"Z","type":"option","last":4.42,"change":0.06,"volume":3,"open":4.55,"high":4.55,"low":4.42,"close":4.42,"bid":3.9,"ask":4.0,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.5225608148927402,"gamma":0.03370349496404493,"theta":-0.013561310030498893,"vega":0.07586937477764746,"rho":0.05209036295220738,"phi":-0.07300907992835448,"bid_iv":0.621052,"mid_iv":0.627649,"ask_iv":0.634247,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.38,"average_volume":0,"last_volume":1,"trade_date":1709912187685,"prevclose":4.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":955,"bidexch":"E","bid_date":1709931582000,"asksize":1350,"askexch":"E","ask_date":1709931582000,"open_interest":4118,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00030000","description":"PLTR - Sep 20 2024 $30.00 Put","exch":"Z","type":"option","last":6.45,"change":-0.05,"volume":1,"open":6.45,"high":6.45,"low":6.45,"close":6.45,"bid":6.8,"ask":6.9,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.506908170697886,"gamma":0.0337027914572681,"theta":-0.013540078894010531,"vega":0.07525387137563826,"rho":0.049663812771278036,"phi":-0.06888919203529298,"bid_iv":0.62253,"mid_iv":0.629239,"ask_iv":0.635949,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.77,"average_volume":0,"last_volume":1,"trade_date":1709909798135,"prevclose":6.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":278,"bidexch":"E","bid_date":1709931582000,"asksize":402,"askexch":"E","ask_date":1709931579000,"open_interest":131,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00030000","description":"PLTR - Sep 20 2024 $30.00 Call","exch":"Z","type":"option","last":3.62,"change":-0.28,"volume":206,"open":4.25,"high":4.25,"low":3.6,"close":3.62,"bid":3.6,"ask":3.65,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.49309182930211404,"gamma":0.0337027914572681,"theta":-0.013540078894010531,"vega":0.07525387137563826,"rho":0.049663812771278036,"phi":-0.06888919203529298,"bid_iv":0.624346,"mid_iv":0.627671,"ask_iv":0.630997,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.18,"average_volume":0,"last_volume":1,"trade_date":1709931488459,"prevclose":3.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":230,"bidexch":"D","bid_date":1709931592000,"asksize":368,"askexch":"E","ask_date":1709931593000,"open_interest":6199,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00031000","description":"PLTR - Sep 20 2024 $31.00 Put","exch":"Z","type":"option","last":7.4,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":7.5,"ask":7.6,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.535050275797805,"gamma":0.03348681023475472,"theta":-0.013450372172084857,"vega":0.07683688093957007,"rho":0.04725682462796446,"phi":-0.06495510707971164,"bid_iv":0.623303,"mid_iv":0.629935,"ask_iv":0.636566,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709844495151,"prevclose":7.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"B","bid_date":1709931588000,"asksize":127,"askexch":"D","ask_date":1709931582000,"open_interest":113,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00031000","description":"PLTR - Sep 20 2024 $31.00 Call","exch":"Z","type":"option","last":3.4,"change":-0.20,"volume":42,"open":3.93,"high":3.93,"low":3.4,"close":3.4,"bid":3.3,"ask":3.35,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.4649497242021951,"gamma":0.03348681023475472,"theta":-0.013450372172084857,"vega":0.07683688093957007,"rho":0.04725682462796446,"phi":-0.06495510707971164,"bid_iv":0.623751,"mid_iv":0.630268,"ask_iv":0.636784,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.56,"average_volume":0,"last_volume":10,"trade_date":1709917217906,"prevclose":3.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":945,"bidexch":"E","bid_date":1709931570000,"asksize":6,"askexch":"J","ask_date":1709931592000,"open_interest":8708,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00032000","description":"PLTR - Sep 20 2024 $32.00 Put","exch":"Z","type":"option","last":9.6,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.25,"ask":8.35,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.5618488475801479,"gamma":0.033107390872101856,"theta":-0.01330945886227562,"vega":0.07534301178022416,"rho":0.044900516780321725,"phi":-0.06120908213613774,"bid_iv":0.627118,"mid_iv":0.633972,"ask_iv":0.640827,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708627802819,"prevclose":9.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"E","bid_date":1709931597000,"asksize":187,"askexch":"E","ask_date":1709931597000,"open_interest":1,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00032000","description":"PLTR - Sep 20 2024 $32.00 Call","exch":"Z","type":"option","last":3.11,"change":-0.20,"volume":57,"open":3.65,"high":3.65,"low":3.07,"close":3.11,"bid":3.05,"ask":3.1,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.4381511524198521,"gamma":0.033107390872101856,"theta":-0.01330945886227562,"vega":0.07534301178022416,"rho":0.044900516780321725,"phi":-0.06120908213613774,"bid_iv":0.626585,"mid_iv":0.629907,"ask_iv":0.633229,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.05,"average_volume":0,"last_volume":10,"trade_date":1709929729505,"prevclose":3.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1709931592000,"asksize":802,"askexch":"E","ask_date":1709931568000,"open_interest":13540,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00033000","description":"PLTR - Sep 20 2024 $33.00 Put","exch":"Z","type":"option","last":9.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.95,"ask":9.1,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.5875747259959975,"gamma":0.03262146989387543,"theta":-0.013132780257874753,"vega":0.07309668851400669,"rho":0.042596785697393995,"phi":-0.057613175483695045,"bid_iv":0.621726,"mid_iv":0.632164,"ask_iv":0.642601,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1709755058001,"prevclose":9.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1709931588000,"asksize":154,"askexch":"E","ask_date":1709931582000,"open_interest":70,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00033000","description":"PLTR - Sep 20 2024 $33.00 Call","exch":"Z","type":"option","last":2.94,"change":-0.11,"volume":846,"open":3.22,"high":3.22,"low":2.85,"close":2.94,"bid":2.8,"ask":2.85,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.4124252740040025,"gamma":0.03262146989387543,"theta":-0.013132780257874753,"vega":0.07309668851400669,"rho":0.042596785697393995,"phi":-0.057613175483695045,"bid_iv":0.629819,"mid_iv":0.631874,"ask_iv":0.633929,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.61,"average_volume":0,"last_volume":5,"trade_date":1709927360550,"prevclose":3.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":233,"bidexch":"E","bid_date":1709931591000,"asksize":14,"askexch":"B","ask_date":1709931600000,"open_interest":3541,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00034000","description":"PLTR - Sep 20 2024 $34.00 Put","exch":"Z","type":"option","last":9.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.75,"ask":9.85,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.6118758321923381,"gamma":0.03200571585186328,"theta":-0.012911976976294363,"vega":0.07448001086429605,"rho":0.040368026658905425,"phi":-0.054216638107895676,"bid_iv":0.626618,"mid_iv":0.633607,"ask_iv":0.640596,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709755054363,"prevclose":9.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":78,"bidexch":"E","bid_date":1709931597000,"asksize":81,"askexch":"E","ask_date":1709931592000,"open_interest":10,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00034000","description":"PLTR - Sep 20 2024 $34.00 Call","exch":"Z","type":"option","last":2.65,"change":-0.20,"volume":24,"open":3.05,"high":3.15,"low":2.59,"close":2.65,"bid":2.59,"ask":2.62,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.38812416780766185,"gamma":0.03200571585186328,"theta":-0.012911976976294363,"vega":0.07448001086429605,"rho":0.040368026658905425,"phi":-0.054216638107895676,"bid_iv":0.629919,"mid_iv":0.632607,"ask_iv":0.635296,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.02,"average_volume":0,"last_volume":1,"trade_date":1709921982424,"prevclose":2.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":165,"bidexch":"D","bid_date":1709931584000,"asksize":12,"askexch":"Z","ask_date":1709931569000,"open_interest":1811,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00035000","description":"PLTR - Sep 20 2024 $35.00 Put","exch":"Z","type":"option","last":10.0,"change":-0.05,"volume":10,"open":10.0,"high":10.0,"low":10.0,"close":10.0,"bid":10.55,"ask":10.65,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.6348373319940621,"gamma":0.031301114244262275,"theta":-0.012658706071916062,"vega":0.07145800307413457,"rho":0.03822536640895975,"phi":-0.05100750880782101,"bid_iv":0.628637,"mid_iv":0.635949,"ask_iv":0.643261,"smv_vol":0.635,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.50,"average_volume":0,"last_volume":4,"trade_date":1709908655694,"prevclose":10.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":57,"bidexch":"A","bid_date":1709931592000,"asksize":71,"askexch":"E","ask_date":1709931588000,"open_interest":57,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00035000","description":"PLTR - Sep 20 2024 $35.00 Call","exch":"Z","type":"option","last":2.4,"change":-0.29,"volume":171,"open":2.9,"high":2.9,"low":2.38,"close":2.4,"bid":2.39,"ask":2.42,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.36516266800593783,"gamma":0.031301114244262275,"theta":-0.012658706071916062,"vega":0.07145800307413457,"rho":0.03822536640895975,"phi":-0.05100750880782101,"bid_iv":0.631602,"mid_iv":0.633703,"ask_iv":0.635803,"smv_vol":0.635,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.79,"average_volume":0,"last_volume":1,"trade_date":1709931407585,"prevclose":2.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"P","bid_date":1709931589000,"asksize":206,"askexch":"D","ask_date":1709931591000,"open_interest":5452,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00036000","description":"PLTR - Sep 20 2024 $36.00 Put","exch":"Z","type":"option","last":11.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.35,"ask":11.45,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.656982585396273,"gamma":0.030553077331396943,"theta":-0.012386010133425844,"vega":0.06783633999380828,"rho":0.03613956102575296,"phi":-0.047912555136697677,"bid_iv":0.628486,"mid_iv":0.636043,"ask_iv":0.643601,"smv_vol":0.636,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709754373801,"prevclose":11.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":51,"bidexch":"E","bid_date":1709931596000,"asksize":12,"askexch":"Z","ask_date":1709931586000,"open_interest":37,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00036000","description":"PLTR - Sep 20 2024 $36.00 Call","exch":"Z","type":"option","last":2.62,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.2,"ask":2.23,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.34301741460372703,"gamma":0.030553077331396943,"theta":-0.012386010133425844,"vega":0.06783633999380828,"rho":0.03613956102575296,"phi":-0.047912555136697677,"bid_iv":0.634596,"mid_iv":0.636645,"ask_iv":0.638694,"smv_vol":0.636,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709826337824,"prevclose":2.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":127,"bidexch":"B","bid_date":1709931599000,"asksize":10,"askexch":"J","ask_date":1709931589000,"open_interest":1555,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00037000","description":"PLTR - Sep 20 2024 $37.00 Put","exch":"Z","type":"option","last":12.1,"change":0.00,"volume":16,"open":null,"high":null,"low":null,"close":null,"bid":12.15,"ask":12.3,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.6772301755427331,"gamma":0.02970544832952426,"theta":-0.012075096940010502,"vega":0.06900080649453111,"rho":0.03418563732199546,"phi":-0.04508304034978039,"bid_iv":0.624755,"mid_iv":0.636405,"ask_iv":0.648055,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709754293234,"prevclose":12.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":329,"bidexch":"E","bid_date":1709931583000,"asksize":151,"askexch":"E","ask_date":1709931583000,"open_interest":16,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00037000","description":"PLTR - Sep 20 2024 $37.00 Call","exch":"Z","type":"option","last":2.15,"change":-0.24,"volume":4,"open":2.3,"high":2.3,"low":2.15,"close":2.15,"bid":2.03,"ask":2.06,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.3227698244572669,"gamma":0.02970544832952426,"theta":-0.012075096940010502,"vega":0.06900080649453111,"rho":0.03418563732199546,"phi":-0.04508304034978039,"bid_iv":0.635285,"mid_iv":0.637462,"ask_iv":0.639638,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.05,"average_volume":0,"last_volume":3,"trade_date":1709917037158,"prevclose":2.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":142,"bidexch":"D","bid_date":1709931575000,"asksize":2,"askexch":"T","ask_date":1709931592000,"open_interest":458,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00038000","description":"PLTR - Sep 20 2024 $38.00 Put","exch":"Z","type":"option","last":13.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.0,"ask":13.15,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.6970140796743477,"gamma":0.02885478154154403,"theta":-0.01175753492369756,"vega":0.06480156338444755,"rho":0.032272562494370015,"phi":-0.04231835687429353,"bid_iv":0.635046,"mid_iv":0.643218,"ask_iv":0.651389,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709753471219,"prevclose":13.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931597000,"asksize":148,"askexch":"E","ask_date":1709931599000,"open_interest":11,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00038000","description":"PLTR - Sep 20 2024 $38.00 Call","exch":"Z","type":"option","last":1.88,"change":-0.37,"volume":4,"open":2.26,"high":2.26,"low":1.88,"close":1.88,"bid":1.88,"ask":1.91,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.30298592032565225,"gamma":0.02885478154154403,"theta":-0.01175753492369756,"vega":0.06480156338444755,"rho":0.032272562494370015,"phi":-0.04231835687429353,"bid_iv":0.636765,"mid_iv":0.639083,"ask_iv":0.6414,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.45,"average_volume":0,"last_volume":1,"trade_date":1709915370927,"prevclose":2.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"P","bid_date":1709931577000,"asksize":191,"askexch":"D","ask_date":1709931584000,"open_interest":1277,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920C00039000","description":"PLTR - Sep 20 2024 $39.00 Call","exch":"Z","type":"option","last":1.77,"change":-0.28,"volume":8,"open":1.75,"high":1.77,"low":1.75,"close":1.77,"bid":1.74,"ask":1.77,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.2847643792601711,"gamma":0.02795174456867407,"theta":-0.011418197013202753,"vega":0.06585447009610597,"rho":0.030479317982302932,"phi":-0.03977217057693494,"bid_iv":0.638344,"mid_iv":0.640624,"ask_iv":0.642904,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.66,"average_volume":0,"last_volume":6,"trade_date":1709924241760,"prevclose":2.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":123,"bidexch":"D","bid_date":1709931583000,"asksize":271,"askexch":"D","ask_date":1709931592000,"open_interest":282,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00039000","description":"PLTR - Sep 20 2024 $39.00 Put","exch":"Z","type":"option","last":15.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.9,"ask":14.0,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.7152356207398289,"gamma":0.02795174456867407,"theta":-0.011418197013202753,"vega":0.06585447009610597,"rho":0.030479317982302932,"phi":-0.03977217057693494,"bid_iv":0.627012,"mid_iv":0.639202,"ask_iv":0.651392,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1708095611475,"prevclose":15.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931589000,"asksize":42,"askexch":"C","ask_date":1709931593000,"open_interest":39,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920P00040000","description":"PLTR - Sep 20 2024 $40.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.7,"ask":14.85,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.7326243531675205,"gamma":0.027039257066856743,"theta":-0.01107134614944304,"vega":0.06115670582322961,"rho":0.028756670115413926,"phi":-0.03734242886910266,"bid_iv":0.631549,"mid_iv":0.640691,"ask_iv":0.649832,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":45,"bidexch":"X","bid_date":1709931598000,"asksize":1,"askexch":"N","ask_date":1709931597000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00040000","description":"PLTR - Sep 20 2024 $40.00 Call","exch":"Z","type":"option","last":1.62,"change":-0.16,"volume":645,"open":1.94,"high":2.02,"low":1.62,"close":1.62,"bid":1.61,"ask":1.64,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.2673756468324795,"gamma":0.027039257066856743,"theta":-0.01107134614944304,"vega":0.06115670582322961,"rho":0.028756670115413926,"phi":-0.03734242886910266,"bid_iv":0.640166,"mid_iv":0.642622,"ask_iv":0.645078,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.99,"average_volume":0,"last_volume":1,"trade_date":1709931432044,"prevclose":1.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":30,"bidexch":"Z","bid_date":1709931574000,"asksize":261,"askexch":"B","ask_date":1709931582000,"open_interest":4208,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '199' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '1' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-03-22&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240322C00002500","description":"PLTR - Mar 22 2024 $2.50 Call","exch":"Z","type":"option","last":24.45,"change":0.40,"volume":1,"open":24.45,"high":24.45,"low":24.45,"close":24.45,"bid":23.4,"ask":23.75,"underlying":"PLTR","strike":2.5,"greeks":{"delta":0.9999999999999982,"gamma":-7.141159714263392E-15,"theta":-4.3861360335377213E-4,"vega":2.0000000636261678E-5,"rho":9.539735142246551E-4,"phi":-0.009961017823911789,"bid_iv":0.0,"mid_iv":6.429776,"ask_iv":6.429776,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.67,"average_volume":0,"last_volume":1,"trade_date":1709824256906,"prevclose":24.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":88,"bidexch":"X","bid_date":1709931596000,"asksize":93,"askexch":"X","ask_date":1709931586000,"open_interest":1,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00002500","description":"PLTR - Mar 22 2024 $2.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":2.5,"greeks":{"delta":-1.8E-15,"gamma":-7.141159714263392E-15,"theta":-4.3861360335377213E-4,"vega":2.0000000636261678E-5,"rho":9.539735142246551E-4,"phi":-0.009961017823911789,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1709931564000,"asksize":137,"askexch":"Z","ask_date":1709931001000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00005000","description":"PLTR - Mar 22 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-1.7E-15,"gamma":-7.042172309502629E-15,"theta":-8.772272066822259E-4,"vega":2.0000000440488854E-5,"rho":0.0019079470491573873,"phi":-0.00996101746864042,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707406238548,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1709931564000,"asksize":183,"askexch":"P","ask_date":1709931005000,"open_interest":11,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00005000","description":"PLTR - Mar 22 2024 $5.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":21.0,"ask":21.15,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999999999999983,"gamma":-7.042172309502629E-15,"theta":-8.772272066822259E-4,"vega":2.0000000440488854E-5,"rho":0.0019079470491573873,"phi":-0.00996101746864042,"bid_iv":0.0,"mid_iv":4.763289,"ask_iv":4.763289,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"X","bid_date":1709931590000,"asksize":45,"askexch":"Z","ask_date":1709931560000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00007500","description":"PLTR - Mar 22 2024 $7.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":7.5,"greeks":{"delta":-1.7E-15,"gamma":1.3258954898605707E-15,"theta":-0.001315840810036252,"vega":1.9999999609012954E-5,"rho":0.002861920591174462,"phi":-0.009961016189663496,"bid_iv":0.0,"mid_iv":2.47505,"ask_iv":2.47505,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":8,"trade_date":1707253051984,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"E","bid_date":1709930184000,"asksize":137,"askexch":"Z","ask_date":1709931003000,"open_interest":28,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00007500","description":"PLTR - Mar 22 2024 $7.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.35,"ask":18.65,"underlying":"PLTR","strike":7.5,"greeks":{"delta":0.9999999999999983,"gamma":1.3258954898605707E-15,"theta":-0.001315840810036252,"vega":1.9999999609012954E-5,"rho":0.002861920591174462,"phi":-0.009961016189663496,"bid_iv":0.0,"mid_iv":3.330669,"ask_iv":3.330669,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":75,"bidexch":"N","bid_date":1709931595000,"asksize":34,"askexch":"X","ask_date":1709931587000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00010000","description":"PLTR - Mar 22 2024 $10.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-4.932E-13,"gamma":9.345420075176298E-13,"theta":-0.0017544544138376789,"vega":1.999999985337986E-5,"rho":0.003815894124199871,"phi":-0.009961016083082086,"bid_iv":0.0,"mid_iv":1.926094,"ask_iv":1.926094,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709825295954,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709929807000,"asksize":149,"askexch":"P","ask_date":1709931006000,"open_interest":80,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00010000","description":"PLTR - Mar 22 2024 $10.00 Call","exch":"Z","type":"option","last":16.2,"change":-0.80,"volume":36,"open":17.29,"high":17.29,"low":16.2,"close":16.2,"bid":16.0,"ask":16.15,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9999999999995068,"gamma":9.345420075176298E-13,"theta":-0.0017544544138376789,"vega":1.999999985337986E-5,"rho":0.003815894124199871,"phi":-0.009961016083082086,"bid_iv":0.0,"mid_iv":2.577459,"ask_iv":2.577459,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.71,"average_volume":0,"last_volume":32,"trade_date":1709922485408,"prevclose":17.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":66,"bidexch":"X","bid_date":1709931586000,"asksize":33,"askexch":"X","ask_date":1709931586000,"open_interest":16,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00011000","description":"PLTR - Mar 22 2024 $11.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-8.37717E-11,"gamma":1.4638136657826156E-10,"theta":-0.0019298999259795488,"vega":2.000003235417832E-5,"rho":0.004197483536837837,"phi":-0.009961015958737107,"bid_iv":0.0,"mid_iv":1.745545,"ask_iv":1.745545,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708100345252,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709929807000,"asksize":44,"askexch":"Z","ask_date":1709931564000,"open_interest":3,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00011000","description":"PLTR - Mar 22 2024 $11.00 Call","exch":"Z","type":"option","last":15.91,"change":0.16,"volume":1,"open":15.91,"high":15.91,"low":15.91,"close":15.91,"bid":15.0,"ask":15.15,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9999999999162283,"gamma":1.4638136657826156E-10,"theta":-0.0019298999259795488,"vega":2.000003235417832E-5,"rho":0.004197483536837837,"phi":-0.009961015958737107,"bid_iv":0.0,"mid_iv":2.331299,"ask_iv":2.331299,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.02,"average_volume":0,"last_volume":1,"trade_date":1709912598036,"prevclose":15.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":58,"bidexch":"X","bid_date":1709931596000,"asksize":1,"askexch":"P","ask_date":1709931586000,"open_interest":33,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00011500","description":"PLTR - Mar 22 2024 $11.50 Call","exch":"Z","type":"option","last":13.14,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.5,"ask":14.65,"underlying":"PLTR","strike":11.5,"greeks":{"delta":0.9999999991469481,"gamma":1.4099664767378692E-9,"theta":-0.002017623261554867,"vega":2.0000317017186792E-5,"rho":0.004388278236140597,"phi":-0.009961015976500676,"bid_iv":0.0,"mid_iv":2.216044,"ask_iv":2.216044,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709225764559,"prevclose":13.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":46,"bidexch":"X","bid_date":1709931596000,"asksize":6,"askexch":"U","ask_date":1709931595000,"open_interest":3,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00011500","description":"PLTR - Mar 22 2024 $11.50 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":11.5,"greeks":{"delta":-8.530519E-10,"gamma":1.4099664767378692E-9,"theta":-0.002017623261554867,"vega":2.0000317017186792E-5,"rho":0.004388278236140597,"phi":-0.009961015976500676,"bid_iv":0.0,"mid_iv":1.661551,"ask_iv":1.661551,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1708446507459,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709929807000,"asksize":44,"askexch":"Z","ask_date":1709931564000,"open_interest":37,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00012000","description":"PLTR - Mar 22 2024 $12.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-5.802132E-9,"gamma":9.148506762798405E-9,"theta":-0.0021053497469598675,"vega":2.000225516442611E-5,"rho":0.004579072891029982,"phi":-0.009961015852155697,"bid_iv":0.0,"mid_iv":1.581256,"ask_iv":1.581256,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709653712493,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709929807000,"asksize":44,"askexch":"Z","ask_date":1709931564000,"open_interest":37,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00012000","description":"PLTR - Mar 22 2024 $12.00 Call","exch":"Z","type":"option","last":13.95,"change":-0.33,"volume":26,"open":14.0,"high":14.0,"low":13.95,"close":13.95,"bid":14.0,"ask":14.2,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.999999994197868,"gamma":9.148506762798405E-9,"theta":-0.0021053497469598675,"vega":2.000225516442611E-5,"rho":0.004579072891029982,"phi":-0.009961015852155697,"bid_iv":0.0,"mid_iv":2.105941,"ask_iv":2.105941,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.32,"average_volume":0,"last_volume":25,"trade_date":1709918625051,"prevclose":14.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":54,"bidexch":"X","bid_date":1709931591000,"asksize":12,"askexch":"M","ask_date":1709931595000,"open_interest":39,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00012500","description":"PLTR - Mar 22 2024 $12.50 Call","exch":"Z","type":"option","last":11.47,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.5,"ask":13.65,"underlying":"PLTR","strike":12.5,"greeks":{"delta":0.9999999638415642,"gamma":5.403207328586361E-8,"theta":-0.002193094295135131,"vega":2.0012755695893222E-5,"rho":0.004769867282981281,"phi":-0.009961015514647897,"bid_iv":0.0,"mid_iv":2.000549,"ask_iv":2.000549,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":14,"trade_date":1709650691346,"prevclose":11.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"X","bid_date":1709931598000,"asksize":33,"askexch":"X","ask_date":1709931598000,"open_interest":29,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00012500","description":"PLTR - Mar 22 2024 $12.50 Put","exch":"Z","type":"option","last":0.24,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":12.5,"greeks":{"delta":-3.61584358E-8,"gamma":5.403207328586361E-8,"theta":-0.002193094295135131,"vega":2.0012755695893222E-5,"rho":0.004769867282981281,"phi":-0.009961015514647897,"bid_iv":0.0,"mid_iv":1.504354,"ask_iv":1.504354,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707155892625,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709929807000,"asksize":44,"askexch":"Z","ask_date":1709931564000,"open_interest":6,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00013000","description":"PLTR - Mar 22 2024 $13.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":6,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-1.747653524E-7,"gamma":2.4880654134265814E-7,"theta":-0.0022809117042185342,"vega":2.0039421525815645E-5,"rho":0.004960660550701973,"phi":-0.009961014093562426,"bid_iv":0.0,"mid_iv":1.429922,"ask_iv":1.429922,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709649780750,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709929259000,"asksize":15,"askexch":"J","ask_date":1709931578000,"open_interest":18,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00013000","description":"PLTR - Mar 22 2024 $13.00 Call","exch":"Z","type":"option","last":14.05,"change":0.28,"volume":2,"open":14.06,"high":14.06,"low":14.05,"close":14.05,"bid":13.0,"ask":13.3,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9999998252346476,"gamma":2.4880654134265814E-7,"theta":-0.0022809117042185342,"vega":2.0039421525815645E-5,"rho":0.004960660550701973,"phi":-0.009961014093562426,"bid_iv":0.0,"mid_iv":1.899485,"ask_iv":1.899485,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.04,"average_volume":0,"last_volume":1,"trade_date":1709911149282,"prevclose":13.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":35,"bidexch":"X","bid_date":1709931598000,"asksize":101,"askexch":"X","ask_date":1709931598000,"open_interest":12,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00013500","description":"PLTR - Mar 22 2024 $13.50 Call","exch":"Z","type":"option","last":9.27,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.5,"ask":12.8,"underlying":"PLTR","strike":13.5,"greeks":{"delta":0.9999992478199835,"gamma":1.0163674733963032E-6,"theta":-0.002369007419066069,"vega":2.019727877144064E-5,"rho":0.0051514492584223415,"phi":-0.00996100830263913,"bid_iv":0.0,"mid_iv":1.802407,"ask_iv":1.802407,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708532442456,"prevclose":9.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"X","bid_date":1709931596000,"asksize":96,"askexch":"Q","ask_date":1709931596000,"open_interest":1,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00013500","description":"PLTR - Mar 22 2024 $13.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":4,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":13.5,"greeks":{"delta":-7.521800165E-7,"gamma":1.0163674733963032E-6,"theta":-0.002369007419066069,"vega":2.019727877144064E-5,"rho":0.0051514492584223415,"phi":-0.00996100830263913,"bid_iv":0.0,"mid_iv":1.357509,"ask_iv":1.357509,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709832974237,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709923881000,"asksize":15,"askexch":"J","ask_date":1709931578000,"open_interest":1017,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00014000","description":"PLTR - Mar 22 2024 $14.00 Call","exch":"Z","type":"option","last":12.49,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.0,"ask":12.2,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9999971303486579,"gamma":3.6744522089195834E-6,"theta":-0.0024580212574969646,"vega":2.0830583844204234E-5,"rho":0.005342221950352381,"phi":-0.009960986862012078,"bid_iv":0.0,"mid_iv":1.709015,"ask_iv":1.709015,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709844627095,"prevclose":12.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":65,"bidexch":"E","bid_date":1709931594000,"asksize":12,"askexch":"M","ask_date":1709931593000,"open_interest":13,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00014000","description":"PLTR - Mar 22 2024 $14.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-2.8696513421E-6,"gamma":3.6744522089195834E-6,"theta":-0.0024580212574969646,"vega":2.0830583844204234E-5,"rho":0.005342221950352381,"phi":-0.009960986862012078,"bid_iv":0.0,"mid_iv":1.2878,"ask_iv":1.2878,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709832982226,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1709923882000,"asksize":15,"askexch":"J","ask_date":1709931578000,"open_interest":160,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00014500","description":"PLTR - Mar 22 2024 $14.50 Call","exch":"Z","type":"option","last":11.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.5,"ask":11.65,"underlying":"PLTR","strike":14.5,"greeks":{"delta":0.9999904922348197,"gamma":1.1552700292294611E-5,"theta":-0.0025495689376090354,"vega":2.2090454362690078E-5,"rho":0.005532947576637778,"phi":-0.009960919999940643,"bid_iv":0.0,"mid_iv":1.619042,"ask_iv":1.619042,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709735649230,"prevclose":11.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"X","bid_date":1709931586000,"asksize":15,"askexch":"M","ask_date":1709931540000,"open_interest":6,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00014500","description":"PLTR - Mar 22 2024 $14.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":14.5,"greeks":{"delta":-9.5077651803E-6,"gamma":1.1552700292294611E-5,"theta":-0.0025495689376090354,"vega":2.2090454362690078E-5,"rho":0.005532947576637778,"phi":-0.009960919999940643,"bid_iv":0.0,"mid_iv":1.220603,"ask_iv":1.220603,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709743016708,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1709930193000,"asksize":100,"askexch":"B","ask_date":1709930501000,"open_interest":80,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00015000","description":"PLTR - Mar 22 2024 $15.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-2.75430266928E-5,"gamma":3.18149855413342E-5,"theta":-0.0026471244856221166,"vega":2.501133742103595E-5,"rho":0.005723554407769091,"phi":-0.009960738225345267,"bid_iv":0.0,"mid_iv":1.155749,"ask_iv":1.155749,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709822648882,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709929259000,"asksize":44,"askexch":"Z","ask_date":1709931564000,"open_interest":312,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00015000","description":"PLTR - Mar 22 2024 $15.00 Call","exch":"Z","type":"option","last":12.23,"change":0.03,"volume":50,"open":12.23,"high":12.23,"low":12.23,"close":12.23,"bid":11.0,"ask":11.3,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9999724569733072,"gamma":3.18149855413342E-5,"theta":-0.0026471244856221166,"vega":2.501133742103595E-5,"rho":0.005723554407769091,"phi":-0.009960738225345267,"bid_iv":0.0,"mid_iv":1.532247,"ask_iv":1.532247,"smv_vol":0.856,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.25,"average_volume":0,"last_volume":25,"trade_date":1709910324285,"prevclose":12.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"E","bid_date":1709931595000,"asksize":87,"askexch":"Z","ask_date":1709931586000,"open_interest":30,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00015500","description":"PLTR - Mar 22 2024 $15.50 Call","exch":"Z","type":"option","last":7.94,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.35,"ask":10.65,"underlying":"PLTR","strike":15.5,"greeks":{"delta":0.9999247391346863,"gamma":8.222301189802968E-5,"theta":-0.0027592951389061172,"vega":3.706585815586439E-5,"rho":0.005913851407239071,"phi":-0.009960257862928756,"bid_iv":0.0,"mid_iv":1.448416,"ask_iv":1.448416,"smv_vol":0.855,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1708614536125,"prevclose":7.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":79,"bidexch":"N","bid_date":1709931586000,"asksize":13,"askexch":"M","ask_date":1709931586000,"open_interest":23,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00015500","description":"PLTR - Mar 22 2024 $15.50 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":23,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":15.5,"greeks":{"delta":-7.52608653137E-5,"gamma":8.222301189802968E-5,"theta":-0.0027592951389061172,"vega":3.706585815586439E-5,"rho":0.005913851407239071,"phi":-0.009960257862928756,"bid_iv":0.0,"mid_iv":1.093081,"ask_iv":1.093081,"smv_vol":0.855,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709655024826,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709929259000,"asksize":39,"askexch":"P","ask_date":1709931503000,"open_interest":276,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00016000","description":"PLTR - Mar 22 2024 $16.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-1.863661242365E-4,"gamma":1.92657533016391E-4,"theta":-0.002900546480339385,"vega":5.630052337941713E-5,"rho":0.00610348567698914,"phi":-0.0099591401259147,"bid_iv":0.0,"mid_iv":1.032462,"ask_iv":1.032462,"smv_vol":0.852,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709828042014,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1709930193000,"asksize":41,"askexch":"D","ask_date":1709931300000,"open_interest":111,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00016000","description":"PLTR - Mar 22 2024 $16.00 Call","exch":"Z","type":"option","last":11.1,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":10.0,"ask":10.15,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9998136338757635,"gamma":1.92657533016391E-4,"theta":-0.002900546480339385,"vega":5.630052337941713E-5,"rho":0.00610348567698914,"phi":-0.0099591401259147,"bid_iv":0.0,"mid_iv":1.367354,"ask_iv":1.367354,"smv_vol":0.852,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709835069055,"prevclose":11.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":71,"bidexch":"X","bid_date":1709931595000,"asksize":32,"askexch":"X","ask_date":1709931567000,"open_interest":71,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00016500","description":"PLTR - Mar 22 2024 $16.50 Call","exch":"Z","type":"option","last":9.59,"change":2.39,"volume":3,"open":9.59,"high":9.59,"low":9.59,"close":9.59,"bid":9.5,"ask":9.65,"underlying":"PLTR","strike":16.5,"greeks":{"delta":0.9995757092839074,"gamma":4.148988435022294E-4,"theta":-0.0030959210245715785,"vega":9.378596899430551E-5,"rho":0.006291791605198257,"phi":-0.009956747994976922,"bid_iv":0.0,"mid_iv":1.28889,"ask_iv":1.28889,"smv_vol":0.847,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":33.20,"average_volume":0,"last_volume":3,"trade_date":1709924407438,"prevclose":7.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931583000,"asksize":35,"askexch":"X","ask_date":1709931562000,"open_interest":54,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00016500","description":"PLTR - Mar 22 2024 $16.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":50,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":16.5,"greeks":{"delta":-4.242907160926E-4,"gamma":4.148988435022294E-4,"theta":-0.0030959210245715785,"vega":9.378596899430551E-5,"rho":0.006291791605198257,"phi":-0.009956747994976922,"bid_iv":0.0,"mid_iv":0.973373,"ask_iv":0.973373,"smv_vol":0.847,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709842335903,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931000000,"asksize":56,"askexch":"W","ask_date":1709931300000,"open_interest":177,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00017000","description":"PLTR - Mar 22 2024 $17.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":29,"open":0.02,"high":0.02,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-8.993526165977E-4,"gamma":8.30993172015361E-4,"theta":-0.003385050061729263,"vega":1.634188963642068E-4,"rho":0.006477608505097614,"phi":-0.00995197440900597,"bid_iv":0.915062,"mid_iv":0.957516,"ask_iv":0.99997,"smv_vol":0.835,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709929571837,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"D","bid_date":1709930823000,"asksize":137,"askexch":"Z","ask_date":1709931003000,"open_interest":2116,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00017000","description":"PLTR - Mar 22 2024 $17.00 Call","exch":"Z","type":"option","last":9.95,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.85,"ask":9.15,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9991006473834023,"gamma":8.30993172015361E-4,"theta":-0.003385050061729263,"vega":1.634188963642068E-4,"rho":0.006477608505097614,"phi":-0.00995197440900597,"bid_iv":0.0,"mid_iv":1.212596,"ask_iv":1.212596,"smv_vol":0.835,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709827748998,"prevclose":9.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":779,"bidexch":"X","bid_date":1709931597000,"asksize":34,"askexch":"X","ask_date":1709931597000,"open_interest":1125,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00017500","description":"PLTR - Mar 22 2024 $17.50 Call","exch":"Z","type":"option","last":9.62,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":8.5,"ask":8.65,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9982096747572164,"gamma":0.0015605639300286123,"theta":-0.0038256264979183888,"vega":3.412169022467124E-4,"rho":0.006659049392668659,"phi":-0.00994302668644309,"bid_iv":0.0,"mid_iv":1.266986,"ask_iv":1.266986,"smv_vol":0.807,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709830488910,"prevclose":9.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"U","bid_date":1709931598000,"asksize":32,"askexch":"X","ask_date":1709931569000,"open_interest":169,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00017500","description":"PLTR - Mar 22 2024 $17.50 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0017903252427836,"gamma":0.0015605639300286123,"theta":-0.0038256264979183888,"vega":3.412169022467124E-4,"rho":0.006659049392668659,"phi":-0.00994302668644309,"bid_iv":0.858489,"mid_iv":0.898769,"ask_iv":0.939049,"smv_vol":0.807,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709822936622,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"P","bid_date":1709931586000,"asksize":60,"askexch":"P","ask_date":1709931586000,"open_interest":144,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00018000","description":"PLTR - Mar 22 2024 $18.00 Put","exch":"Z","type":"option","last":0.02,"change":0.01,"volume":9,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0033588922491898,"gamma":0.0027581171632938177,"theta":-0.0044920122521124655,"vega":5.426576902239764E-4,"rho":0.006833341096582441,"phi":-0.009927282853539054,"bid_iv":0.803558,"mid_iv":0.84173,"ask_iv":0.879901,"smv_vol":0.78,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":100.00,"average_volume":0,"last_volume":1,"trade_date":1709926845571,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":90,"bidexch":"P","bid_date":1709931582000,"asksize":76,"askexch":"P","ask_date":1709931582000,"open_interest":525,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00018000","description":"PLTR - Mar 22 2024 $18.00 Call","exch":"Z","type":"option","last":9.17,"change":0.32,"volume":22,"open":8.7,"high":9.19,"low":8.7,"close":9.17,"bid":7.9,"ask":8.15,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9966411077508102,"gamma":0.0027581171632938177,"theta":-0.0044920122521124655,"vega":5.426576902239764E-4,"rho":0.006833341096582441,"phi":-0.009927282853539054,"bid_iv":0.0,"mid_iv":1.064494,"ask_iv":1.064494,"smv_vol":0.78,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.62,"average_volume":0,"last_volume":1,"trade_date":1709911799252,"prevclose":8.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":215,"bidexch":"X","bid_date":1709931599000,"asksize":35,"askexch":"X","ask_date":1709931543000,"open_interest":188,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00018500","description":"PLTR - Mar 22 2024 $18.50 Call","exch":"Z","type":"option","last":7.46,"change":-1.04,"volume":1,"open":7.46,"high":7.46,"low":7.46,"close":7.46,"bid":7.55,"ask":7.85,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9940234415801841,"gamma":0.004614302517650978,"theta":-0.0054757193732795405,"vega":8.300674339036499E-4,"rho":0.0069965280764989176,"phi":-0.009901023325653568,"bid_iv":0.0,"mid_iv":0.993608,"ask_iv":0.993608,"smv_vol":0.753,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.24,"average_volume":0,"last_volume":1,"trade_date":1709931342875,"prevclose":8.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"A","bid_date":1709931557000,"asksize":10,"askexch":"X","ask_date":1709931595000,"open_interest":155,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00018500","description":"PLTR - Mar 22 2024 $18.50 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":35,"open":0.03,"high":0.03,"low":0.01,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0059765584198159,"gamma":0.004614302517650978,"theta":-0.0054757193732795405,"vega":8.300674339036499E-4,"rho":0.0069965280764989176,"phi":-0.009901023325653568,"bid_iv":0.750184,"mid_iv":0.786307,"ask_iv":0.822431,"smv_vol":0.753,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":1,"trade_date":1709929762801,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":586,"bidexch":"D","bid_date":1709931595000,"asksize":45,"askexch":"P","ask_date":1709931456000,"open_interest":827,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00019000","description":"PLTR - Mar 22 2024 $19.00 Put","exch":"Z","type":"option","last":0.03,"change":0.01,"volume":89,"open":0.02,"high":0.03,"low":0.02,"close":0.03,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0093406871898121,"gamma":0.006929991046452483,"theta":-0.006589018789252062,"vega":0.0013427570960452776,"rho":0.0071518105618574935,"phi":-0.009867282280140444,"bid_iv":0.698287,"mid_iv":0.756251,"ask_iv":0.814215,"smv_vol":0.735,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":50.00,"average_volume":0,"last_volume":5,"trade_date":1709929277970,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1625,"bidexch":"D","bid_date":1709931587000,"asksize":351,"askexch":"B","ask_date":1709931584000,"open_interest":4839,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00019000","description":"PLTR - Mar 22 2024 $19.00 Call","exch":"Z","type":"option","last":8.07,"change":0.04,"volume":11,"open":8.2,"high":8.26,"low":8.07,"close":8.07,"bid":6.85,"ask":7.2,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9906593128101879,"gamma":0.006929991046452483,"theta":-0.006589018789252062,"vega":0.0013427570960452776,"rho":0.0071518105618574935,"phi":-0.009867282280140444,"bid_iv":0.0,"mid_iv":0.924683,"ask_iv":0.924683,"smv_vol":0.735,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.50,"average_volume":0,"last_volume":1,"trade_date":1709911484883,"prevclose":8.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":202,"bidexch":"A","bid_date":1709931599000,"asksize":34,"askexch":"X","ask_date":1709931595000,"open_interest":152,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00019500","description":"PLTR - Mar 22 2024 $19.50 Call","exch":"Z","type":"option","last":6.75,"change":-0.75,"volume":10,"open":7.5,"high":7.5,"low":6.75,"close":6.75,"bid":6.55,"ask":6.8,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9862451961599531,"gamma":0.00989430293669419,"theta":-0.007889591642276933,"vega":0.0016917303610217308,"rho":0.0072959813273627515,"phi":-0.009823017093069097,"bid_iv":0.0,"mid_iv":0.85762,"ask_iv":0.85762,"smv_vol":0.717,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.00,"average_volume":0,"last_volume":5,"trade_date":1709917065263,"prevclose":7.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"X","bid_date":1709931597000,"asksize":94,"askexch":"X","ask_date":1709931597000,"open_interest":95,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00019500","description":"PLTR - Mar 22 2024 $19.50 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":9,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0137548038400469,"gamma":0.00989430293669419,"theta":-0.007889591642276933,"vega":0.0016917303610217308,"rho":0.0072959813273627515,"phi":-0.009823017093069097,"bid_iv":0.712113,"mid_iv":0.734356,"ask_iv":0.756599,"smv_vol":0.717,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709923686009,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":61,"bidexch":"P","bid_date":1709931587000,"asksize":75,"askexch":"P","ask_date":1709931587000,"open_interest":691,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00020000","description":"PLTR - Mar 22 2024 $20.00 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":145,"open":0.03,"high":0.04,"low":0.02,"close":0.02,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0204409152137047,"gamma":0.014082348227201566,"theta":-0.009674921405046435,"vega":0.002584702106638741,"rho":0.007415988355925801,"phi":-0.009756000212135518,"bid_iv":0.657444,"mid_iv":0.695884,"ask_iv":0.734324,"smv_vol":0.69,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":7,"trade_date":1709931350268,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1139,"bidexch":"D","bid_date":1709931587000,"asksize":1150,"askexch":"E","ask_date":1709931587000,"open_interest":3777,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00020000","description":"PLTR - Mar 22 2024 $20.00 Call","exch":"Z","type":"option","last":7.15,"change":0.20,"volume":3,"open":7.2,"high":7.2,"low":7.15,"close":7.15,"bid":6.05,"ask":6.15,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9795590847862953,"gamma":0.014082348227201566,"theta":-0.009674921405046435,"vega":0.002584702106638741,"rho":0.007415988355925801,"phi":-0.009756000212135518,"bid_iv":0.0,"mid_iv":0.79233,"ask_iv":0.79233,"smv_vol":0.69,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.88,"average_volume":0,"last_volume":1,"trade_date":1709909634181,"prevclose":6.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":95,"bidexch":"X","bid_date":1709931586000,"asksize":19,"askexch":"Z","ask_date":1709931586000,"open_interest":538,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00020500","description":"PLTR - Mar 22 2024 $20.50 Call","exch":"Z","type":"option","last":5.55,"change":-0.63,"volume":9,"open":6.81,"high":6.81,"low":5.55,"close":5.55,"bid":5.55,"ask":5.7,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9709753941066656,"gamma":0.019280706169337587,"theta":-0.011725836008116757,"vega":0.0035008477288422,"rho":0.007515822347272532,"phi":-0.009669980292059677,"bid_iv":0.0,"mid_iv":0.826553,"ask_iv":0.826553,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.20,"average_volume":0,"last_volume":5,"trade_date":1709924082836,"prevclose":6.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":46,"bidexch":"X","bid_date":1709931558000,"asksize":15,"askexch":"M","ask_date":1709931560000,"open_interest":212,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00020500","description":"PLTR - Mar 22 2024 $20.50 Put","exch":"Z","type":"option","last":0.04,"change":-0.01,"volume":25,"open":0.04,"high":0.04,"low":0.03,"close":0.04,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0290246058933344,"gamma":0.019280706169337587,"theta":-0.011725836008116757,"vega":0.0035008477288422,"rho":0.007515822347272532,"phi":-0.009669980292059677,"bid_iv":0.644316,"mid_iv":0.66047,"ask_iv":0.676624,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":1,"trade_date":1709929078640,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1326,"bidexch":"D","bid_date":1709931561000,"asksize":461,"askexch":"W","ask_date":1709931583000,"open_interest":640,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00021000","description":"PLTR - Mar 22 2024 $21.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":63,"open":0.05,"high":0.05,"low":0.04,"close":0.05,"bid":0.04,"ask":0.05,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0398334925787367,"gamma":0.025649656571800513,"theta":-0.013936761915776539,"vega":0.004562926154965012,"rho":0.007592015308556513,"phi":-0.009561678480096703,"bid_iv":0.618989,"mid_iv":0.632085,"ask_iv":0.645181,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709928748823,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":511,"bidexch":"D","bid_date":1709931589000,"asksize":427,"askexch":"D","ask_date":1709931589000,"open_interest":3025,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00021000","description":"PLTR - Mar 22 2024 $21.00 Call","exch":"Z","type":"option","last":5.14,"change":-0.71,"volume":37,"open":5.98,"high":5.98,"low":5.14,"close":5.14,"bid":5.05,"ask":5.2,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9601665074212633,"gamma":0.025649656571800513,"theta":-0.013936761915776539,"vega":0.004562926154965012,"rho":0.007592015308556513,"phi":-0.009561678480096703,"bid_iv":0.467339,"mid_iv":0.601989,"ask_iv":0.736639,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.14,"average_volume":0,"last_volume":1,"trade_date":1709930704502,"prevclose":5.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":52,"bidexch":"E","bid_date":1709931595000,"asksize":1,"askexch":"A","ask_date":1709931596000,"open_interest":696,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00021500","description":"PLTR - Mar 22 2024 $21.50 Call","exch":"Z","type":"option","last":4.7,"change":-0.58,"volume":91,"open":5.1,"high":5.1,"low":4.55,"close":4.7,"bid":4.6,"ask":4.7,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.9468952852057023,"gamma":0.03334107345145354,"theta":-0.01626481801138937,"vega":0.005419024822704792,"rho":0.00764211207980059,"phi":-0.00942871727360739,"bid_iv":0.415168,"mid_iv":0.544111,"ask_iv":0.673053,"smv_vol":0.605,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.99,"average_volume":0,"last_volume":1,"trade_date":1709931054688,"prevclose":5.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"X","bid_date":1709931586000,"asksize":37,"askexch":"X","ask_date":1709931589000,"open_interest":191,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00021500","description":"PLTR - Mar 22 2024 $21.50 Put","exch":"Z","type":"option","last":0.05,"change":-0.02,"volume":88,"open":0.07,"high":0.07,"low":0.05,"close":0.05,"bid":0.05,"ask":0.07,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.0531047147942977,"gamma":0.03334107345145354,"theta":-0.01626481801138937,"vega":0.005419024822704792,"rho":0.00764211207980059,"phi":-0.00942871727360739,"bid_iv":0.58692,"mid_iv":0.607406,"ask_iv":0.627893,"smv_vol":0.605,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-28.58,"average_volume":0,"last_volume":1,"trade_date":1709930682334,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1203,"bidexch":"E","bid_date":1709931584000,"asksize":1001,"askexch":"D","ask_date":1709931591000,"open_interest":1953,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00022000","description":"PLTR - Mar 22 2024 $22.00 Put","exch":"Z","type":"option","last":0.09,"change":0.00,"volume":427,"open":0.07,"high":0.1,"low":0.06,"close":0.09,"bid":0.07,"ask":0.09,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.0693691881046242,"gamma":0.042628437343662694,"theta":-0.018693285983311173,"vega":0.0073316490555843175,"rho":0.007660527287231782,"phi":-0.00926578119120336,"bid_iv":0.567415,"mid_iv":0.58393,"ask_iv":0.600446,"smv_vol":0.585,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931341371,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1542,"bidexch":"E","bid_date":1709931583000,"asksize":385,"askexch":"D","ask_date":1709931593000,"open_interest":2140,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00022000","description":"PLTR - Mar 22 2024 $22.00 Call","exch":"Z","type":"option","last":4.04,"change":-0.56,"volume":167,"open":5.05,"high":5.28,"low":3.99,"close":4.04,"bid":4.1,"ask":4.2,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.9306308118953758,"gamma":0.042628437343662694,"theta":-0.018693285983311173,"vega":0.0073316490555843175,"rho":0.007660527287231782,"phi":-0.00926578119120336,"bid_iv":0.43365,"mid_iv":0.554916,"ask_iv":0.676181,"smv_vol":0.585,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.18,"average_volume":0,"last_volume":1,"trade_date":1709923553667,"prevclose":4.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":264,"bidexch":"E","bid_date":1709931591000,"asksize":41,"askexch":"Q","ask_date":1709931588000,"open_interest":1304,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00022500","description":"PLTR - Mar 22 2024 $22.50 Call","exch":"Z","type":"option","last":3.8,"change":-0.69,"volume":8,"open":4.25,"high":4.25,"low":3.7,"close":3.8,"bid":3.65,"ask":3.75,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.9103475917181293,"gamma":0.053925923784996985,"theta":-0.021176715509453933,"vega":0.008458246705095653,"rho":0.00763636290343464,"phi":-0.0090626143434136,"bid_iv":0.469335,"mid_iv":0.538935,"ask_iv":0.608534,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.37,"average_volume":0,"last_volume":2,"trade_date":1709925417828,"prevclose":4.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":187,"bidexch":"C","bid_date":1709931592000,"asksize":92,"askexch":"E","ask_date":1709931589000,"open_interest":281,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00022500","description":"PLTR - Mar 22 2024 $22.50 Put","exch":"Z","type":"option","last":0.1,"change":-0.02,"volume":123,"open":0.09,"high":0.14,"low":0.08,"close":0.1,"bid":0.11,"ask":0.12,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.0896524082818707,"gamma":0.053925923784996985,"theta":-0.021176715509453933,"vega":0.008458246705095653,"rho":0.00763636290343464,"phi":-0.0090626143434136,"bid_iv":0.563606,"mid_iv":0.571184,"ask_iv":0.578762,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.67,"average_volume":0,"last_volume":1,"trade_date":1709930643561,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":631,"bidexch":"D","bid_date":1709931594000,"asksize":581,"askexch":"D","ask_date":1709931594000,"open_interest":1096,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00023000","description":"PLTR - Mar 22 2024 $23.00 Put","exch":"Z","type":"option","last":0.16,"change":-0.01,"volume":147,"open":0.13,"high":0.19,"low":0.11,"close":0.16,"bid":0.16,"ask":0.17,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.1147275805683541,"gamma":0.06756255755155918,"theta":-0.023672853199705423,"vega":0.009650843639954065,"rho":0.00756150325305111,"phi":-0.008811481908566066,"bid_iv":0.556303,"mid_iv":0.561505,"ask_iv":0.566708,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.89,"average_volume":0,"last_volume":2,"trade_date":1709931445751,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":369,"bidexch":"D","bid_date":1709931597000,"asksize":504,"askexch":"D","ask_date":1709931597000,"open_interest":2372,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00023000","description":"PLTR - Mar 22 2024 $23.00 Call","exch":"Z","type":"option","last":3.19,"change":-0.46,"volume":237,"open":4.0,"high":4.21,"low":3.1,"close":3.19,"bid":3.2,"ask":3.3,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.8852724194316459,"gamma":0.06756255755155918,"theta":-0.023672853199705423,"vega":0.009650843639954065,"rho":0.00756150325305111,"phi":-0.008811481908566066,"bid_iv":0.483492,"mid_iv":0.536462,"ask_iv":0.589431,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.61,"average_volume":0,"last_volume":7,"trade_date":1709931350268,"prevclose":3.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":516,"bidexch":"C","bid_date":1709931591000,"asksize":262,"askexch":"E","ask_date":1709931589000,"open_interest":2322,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00023500","description":"PLTR - Mar 22 2024 $23.50 Call","exch":"Z","type":"option","last":2.85,"change":-0.40,"volume":31,"open":3.6,"high":3.7,"low":2.58,"close":2.85,"bid":2.79,"ask":2.86,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.8515247359749383,"gamma":0.08392501076276257,"theta":-0.026595860146852262,"vega":0.01205380038528125,"rho":0.007393543430766491,"phi":-0.008473690691346292,"bid_iv":0.518686,"mid_iv":0.543606,"ask_iv":0.568527,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.31,"average_volume":0,"last_volume":2,"trade_date":1709931410571,"prevclose":3.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"X","bid_date":1709931596000,"asksize":118,"askexch":"E","ask_date":1709931593000,"open_interest":1040,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00023500","description":"PLTR - Mar 22 2024 $23.50 Put","exch":"Z","type":"option","last":0.23,"change":0.00,"volume":254,"open":0.15,"high":0.27,"low":0.14,"close":0.23,"bid":0.23,"ask":0.24,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.1484752640250617,"gamma":0.08392501076276257,"theta":-0.026595860146852262,"vega":0.01205380038528125,"rho":0.007393543430766491,"phi":-0.008473690691346292,"bid_iv":0.541146,"mid_iv":0.549446,"ask_iv":0.557747,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931574108,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":965,"bidexch":"D","bid_date":1709931589000,"asksize":161,"askexch":"D","ask_date":1709931589000,"open_interest":1358,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00024000","description":"PLTR - Mar 22 2024 $24.00 Put","exch":"Z","type":"option","last":0.33,"change":0.01,"volume":604,"open":0.25,"high":0.39,"low":0.19,"close":0.33,"bid":0.32,"ask":0.33,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.1932176395695522,"gamma":0.10213029594064446,"theta":-0.03000301614222646,"vega":0.014475270097769262,"rho":0.007106128062101927,"phi":-0.008026197622079678,"bid_iv":0.540963,"mid_iv":0.547871,"ask_iv":0.554778,"smv_vol":0.545,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.13,"average_volume":0,"last_volume":5,"trade_date":1709931566237,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":733,"bidexch":"D","bid_date":1709931596000,"asksize":2,"askexch":"N","ask_date":1709931591000,"open_interest":1012,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00024000","description":"PLTR - Mar 22 2024 $24.00 Call","exch":"Z","type":"option","last":2.41,"change":-0.35,"volume":171,"open":3.3,"high":3.5,"low":2.36,"close":2.41,"bid":2.4,"ask":2.44,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.8067823604304478,"gamma":0.10213029594064446,"theta":-0.03000301614222646,"vega":0.014475270097769262,"rho":0.007106128062101927,"phi":-0.008026197622079678,"bid_iv":0.521658,"mid_iv":0.538939,"ask_iv":0.55622,"smv_vol":0.545,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.69,"average_volume":0,"last_volume":3,"trade_date":1709931580695,"prevclose":2.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931597000,"asksize":27,"askexch":"A","ask_date":1709931594000,"open_interest":1827,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00024500","description":"PLTR - Mar 22 2024 $24.50 Call","exch":"Z","type":"option","last":2.07,"change":-0.31,"volume":150,"open":2.99,"high":3.1,"low":1.83,"close":2.07,"bid":2.02,"ask":2.07,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.750098033389376,"gamma":0.11991256932936929,"theta":-0.03364738004153108,"vega":0.01671262821097637,"rho":0.006686122380526427,"phi":-0.007459792645825303,"bid_iv":0.529872,"mid_iv":0.541843,"ask_iv":0.553815,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.03,"average_volume":0,"last_volume":1,"trade_date":1709931547998,"prevclose":2.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":44,"bidexch":"B","bid_date":1709931600000,"asksize":11,"askexch":"T","ask_date":1709931598000,"open_interest":951,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00024500","description":"PLTR - Mar 22 2024 $24.50 Put","exch":"Z","type":"option","last":0.45,"change":0.00,"volume":492,"open":0.34,"high":0.54,"low":0.28,"close":0.45,"bid":0.45,"ask":0.47,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.249901966610624,"gamma":0.11991256932936929,"theta":-0.03364738004153108,"vega":0.01671262821097637,"rho":0.006686122380526427,"phi":-0.007459792645825303,"bid_iv":0.54106,"mid_iv":0.547041,"ask_iv":0.553022,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931578232,"prevclose":0.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"B","bid_date":1709931600000,"asksize":170,"askexch":"D","ask_date":1709931591000,"open_interest":1083,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00025000","description":"PLTR - Mar 22 2024 $25.00 Put","exch":"Z","type":"option","last":0.62,"change":0.03,"volume":5503,"open":0.45,"high":0.72,"low":0.38,"close":0.62,"bid":0.62,"ask":0.64,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3169053836954844,"gamma":0.1340278716102924,"theta":-0.03716329482284454,"vega":0.018547209776961695,"rho":0.006146153055359139,"phi":-0.00679096460842743,"bid_iv":0.545002,"mid_iv":0.550392,"ask_iv":0.555783,"smv_vol":0.546,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.09,"average_volume":0,"last_volume":1,"trade_date":1709931537742,"prevclose":0.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"J","bid_date":1709931595000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":4557,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00025000","description":"PLTR - Mar 22 2024 $25.00 Call","exch":"Z","type":"option","last":1.72,"change":-0.35,"volume":541,"open":2.71,"high":2.71,"low":1.62,"close":1.72,"bid":1.69,"ask":1.74,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6830946163045156,"gamma":0.1340278716102924,"theta":-0.03716329482284454,"vega":0.018547209776961695,"rho":0.006146153055359139,"phi":-0.00679096460842743,"bid_iv":0.534611,"mid_iv":0.542704,"ask_iv":0.550797,"smv_vol":0.546,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.91,"average_volume":0,"last_volume":8,"trade_date":1709931495788,"prevclose":2.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":118,"bidexch":"X","bid_date":1709931596000,"asksize":18,"askexch":"B","ask_date":1709931600000,"open_interest":4045,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00025500","description":"PLTR - Mar 22 2024 $25.50 Call","exch":"Z","type":"option","last":1.43,"change":-0.37,"volume":407,"open":2.23,"high":2.32,"low":1.35,"close":1.43,"bid":1.42,"ask":1.44,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.6105314356233372,"gamma":0.14220236767158329,"theta":-0.040032107923616396,"vega":0.01938854323396455,"rho":0.005532752055639758,"phi":-0.006067347373406307,"bid_iv":0.541101,"mid_iv":0.548643,"ask_iv":0.556186,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.56,"average_volume":0,"last_volume":25,"trade_date":1709931593617,"prevclose":1.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"T","bid_date":1709931594000,"asksize":12,"askexch":"B","ask_date":1709931600000,"open_interest":1663,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00025500","description":"PLTR - Mar 22 2024 $25.50 Put","exch":"Z","type":"option","last":0.86,"change":0.09,"volume":342,"open":0.53,"high":0.93,"low":0.5,"close":0.86,"bid":0.83,"ask":0.86,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.3894685643766628,"gamma":0.14220236767158329,"theta":-0.040032107923616396,"vega":0.01938854323396455,"rho":0.005532752055639758,"phi":-0.006067347373406307,"bid_iv":0.545969,"mid_iv":0.553607,"ask_iv":0.561245,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":11.69,"average_volume":0,"last_volume":1,"trade_date":1709931377988,"prevclose":0.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"Z","bid_date":1709931589000,"asksize":1059,"askexch":"D","ask_date":1709931599000,"open_interest":527,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00026000","description":"PLTR - Mar 22 2024 $26.00 Put","exch":"Z","type":"option","last":1.1,"change":0.09,"volume":1265,"open":0.75,"high":1.21,"low":0.67,"close":1.1,"bid":1.07,"ask":1.1,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4624536759956829,"gamma":0.14405379569584373,"theta":-0.0418390765461096,"vega":0.020256655134192992,"rho":0.004898065648868859,"phi":-0.005340157143152169,"bid_iv":0.558117,"mid_iv":0.56306,"ask_iv":0.568003,"smv_vol":0.558,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.92,"average_volume":0,"last_volume":3,"trade_date":1709931568088,"prevclose":1.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":196,"bidexch":"D","bid_date":1709931594000,"asksize":28,"askexch":"H","ask_date":1709931594000,"open_interest":640,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00026000","description":"PLTR - Mar 22 2024 $26.00 Call","exch":"Z","type":"option","last":1.16,"change":-0.32,"volume":3246,"open":1.9,"high":1.99,"low":1.14,"close":1.16,"bid":1.16,"ask":1.19,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5375463240043171,"gamma":0.14405379569584373,"theta":-0.0418390765461096,"vega":0.020256655134192992,"rho":0.004898065648868859,"phi":-0.005340157143152169,"bid_iv":0.548306,"mid_iv":0.555721,"ask_iv":0.563136,"smv_vol":0.558,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.63,"average_volume":0,"last_volume":1,"trade_date":1709931565652,"prevclose":1.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":80,"bidexch":"D","bid_date":1709931594000,"asksize":5,"askexch":"N","ask_date":1709931590000,"open_interest":4673,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00026500","description":"PLTR - Mar 22 2024 $26.50 Call","exch":"Z","type":"option","last":0.98,"change":-0.32,"volume":2244,"open":1.61,"high":1.69,"low":0.9,"close":0.98,"bid":0.95,"ask":0.98,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.4678959599409863,"gamma":0.14080961990679086,"theta":-0.042462429077938395,"vega":0.020327745537416345,"rho":0.004282074859644968,"phi":-0.0046466920711196735,"bid_iv":0.557449,"mid_iv":0.562376,"ask_iv":0.567304,"smv_vol":0.566,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-24.62,"average_volume":0,"last_volume":1,"trade_date":1709931529381,"prevclose":1.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"W","bid_date":1709931591000,"asksize":179,"askexch":"X","ask_date":1709931594000,"open_interest":2661,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00026500","description":"PLTR - Mar 22 2024 $26.50 Put","exch":"Z","type":"option","last":1.3,"change":0.01,"volume":460,"open":0.91,"high":1.46,"low":0.9,"close":1.3,"bid":1.35,"ask":1.4,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.5321040400590137,"gamma":0.14080961990679086,"theta":-0.042462429077938395,"vega":0.020327745537416345,"rho":0.004282074859644968,"phi":-0.0046466920711196735,"bid_iv":0.557333,"mid_iv":0.567191,"ask_iv":0.577049,"smv_vol":0.566,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.78,"average_volume":0,"last_volume":1,"trade_date":1709929579305,"prevclose":1.29,"week_52_high":0.0,"week_52_low":0.0,"bidsize":342,"bidexch":"E","bid_date":1709931599000,"asksize":714,"askexch":"E","ask_date":1709931593000,"open_interest":436,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00027000","description":"PLTR - Mar 22 2024 $27.00 Call","exch":"Z","type":"option","last":0.78,"change":-0.26,"volume":5037,"open":1.33,"high":1.44,"low":0.75,"close":0.78,"bid":0.77,"ask":0.8,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.403365087398674,"gamma":0.1340787728173548,"theta":-0.041984690318963035,"vega":0.019594044199651675,"rho":0.0037052787641346906,"phi":-0.004004569511550926,"bid_iv":0.570505,"mid_iv":0.573065,"ask_iv":0.575625,"smv_vol":0.573,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.00,"average_volume":0,"last_volume":1,"trade_date":1709931587490,"prevclose":1.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"J","bid_date":1709931595000,"asksize":39,"askexch":"J","ask_date":1709931595000,"open_interest":3582,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00027000","description":"PLTR - Mar 22 2024 $27.00 Put","exch":"Z","type":"option","last":1.7,"change":0.11,"volume":1001,"open":1.28,"high":1.8,"low":1.13,"close":1.7,"bid":1.67,"ask":1.71,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.596634912601326,"gamma":0.1340787728173548,"theta":-0.041984690318963035,"vega":0.019594044199651675,"rho":0.0037052787641346906,"phi":-0.004004569511550926,"bid_iv":0.565068,"mid_iv":0.572753,"ask_iv":0.580439,"smv_vol":0.573,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.92,"average_volume":0,"last_volume":1,"trade_date":1709931527856,"prevclose":1.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":218,"bidexch":"W","bid_date":1709931598000,"asksize":22,"askexch":"D","ask_date":1709931597000,"open_interest":879,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00027500","description":"PLTR - Mar 22 2024 $27.50 Call","exch":"Z","type":"option","last":0.64,"change":-0.23,"volume":1115,"open":1.08,"high":1.21,"low":0.61,"close":0.64,"bid":0.63,"ask":0.64,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.34473139981380085,"gamma":0.12496788909758047,"theta":-0.040547205704111494,"vega":0.019065555086116025,"rho":0.0031769201668300747,"phi":-0.0034214260224985082,"bid_iv":0.578868,"mid_iv":0.581495,"ask_iv":0.584122,"smv_vol":0.581,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-26.44,"average_volume":0,"last_volume":1,"trade_date":1709931575069,"prevclose":0.87,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"Z","bid_date":1709931600000,"asksize":5,"askexch":"P","ask_date":1709931600000,"open_interest":1143,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00027500","description":"PLTR - Mar 22 2024 $27.50 Put","exch":"Z","type":"option","last":2.01,"change":0.11,"volume":164,"open":1.49,"high":2.11,"low":1.39,"close":2.01,"bid":2.02,"ask":2.07,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.6552686001861991,"gamma":0.12496788909758047,"theta":-0.040547205704111494,"vega":0.019065555086116025,"rho":0.0031769201668300747,"phi":-0.0034214260224985082,"bid_iv":0.572893,"mid_iv":0.583475,"ask_iv":0.594056,"smv_vol":0.581,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.79,"average_volume":0,"last_volume":1,"trade_date":1709931162994,"prevclose":1.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"B","bid_date":1709931599000,"asksize":98,"askexch":"E","ask_date":1709931597000,"open_interest":433,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00028000","description":"PLTR - Mar 22 2024 $28.00 Put","exch":"Z","type":"option","last":2.35,"change":0.41,"volume":525,"open":1.84,"high":2.35,"low":1.71,"close":2.35,"bid":2.4,"ask":2.45,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.7076392542731946,"gamma":0.11440960466184008,"theta":-0.03833023344222909,"vega":0.017298643690686708,"rho":0.002701944421426384,"phi":-0.002900812895445526,"bid_iv":0.57044,"mid_iv":0.587896,"ask_iv":0.605352,"smv_vol":0.588,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":21.14,"average_volume":0,"last_volume":1,"trade_date":1709930350747,"prevclose":1.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"Q","bid_date":1709931594000,"asksize":99,"askexch":"E","ask_date":1709931597000,"open_interest":189,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00028000","description":"PLTR - Mar 22 2024 $28.00 Call","exch":"Z","type":"option","last":0.5,"change":-0.22,"volume":2514,"open":0.93,"high":1.02,"low":0.49,"close":0.5,"bid":0.5,"ask":0.52,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.29236074572680537,"gamma":0.11440960466184008,"theta":-0.03833023344222909,"vega":0.017298643690686708,"rho":0.002701944421426384,"phi":-0.002900812895445526,"bid_iv":0.57754,"mid_iv":0.586213,"ask_iv":0.594886,"smv_vol":0.588,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-30.56,"average_volume":0,"last_volume":1,"trade_date":1709931599943,"prevclose":0.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"B","bid_date":1709931594000,"asksize":302,"askexch":"E","ask_date":1709931596000,"open_interest":3850,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00028500","description":"PLTR - Mar 22 2024 $28.50 Put","exch":"Z","type":"option","last":2.78,"change":0.42,"volume":2,"open":2.74,"high":2.78,"low":2.74,"close":2.78,"bid":2.8,"ask":2.85,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.7538809509146411,"gamma":0.10315925615173158,"theta":-0.035590786403569684,"vega":0.016322602437561395,"rho":0.0022803465763005194,"phi":-0.0024413193416839007,"bid_iv":0.583904,"mid_iv":0.599447,"ask_iv":0.61499,"smv_vol":0.596,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":17.80,"average_volume":0,"last_volume":1,"trade_date":1709925483446,"prevclose":2.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"Z","bid_date":1709931576000,"asksize":50,"askexch":"B","ask_date":1709931596000,"open_interest":14,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00028500","description":"PLTR - Mar 22 2024 $28.50 Call","exch":"Z","type":"option","last":0.41,"change":-0.20,"volume":377,"open":0.76,"high":0.85,"low":0.4,"close":0.41,"bid":0.4,"ask":0.42,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.24611904908535892,"gamma":0.10315925615173158,"theta":-0.035590786403569684,"vega":0.016322602437561395,"rho":0.0022803465763005194,"phi":-0.0024413193416839007,"bid_iv":0.586111,"mid_iv":0.592239,"ask_iv":0.598367,"smv_vol":0.596,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-32.79,"average_volume":0,"last_volume":1,"trade_date":1709931512397,"prevclose":0.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"P","bid_date":1709931600000,"asksize":407,"askexch":"E","ask_date":1709931599000,"open_interest":608,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00029000","description":"PLTR - Mar 22 2024 $29.00 Put","exch":"Z","type":"option","last":2.83,"change":0.09,"volume":7,"open":2.47,"high":2.83,"low":2.47,"close":2.83,"bid":3.2,"ask":3.3,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.794336583264345,"gamma":0.0918040929881002,"theta":-0.03256511665822479,"vega":0.01393975953208404,"rho":0.001909937619311736,"phi":-0.0020394713301508105,"bid_iv":0.583691,"mid_iv":0.618815,"ask_iv":0.65394,"smv_vol":0.604,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.29,"average_volume":0,"last_volume":1,"trade_date":1709914380856,"prevclose":2.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":72,"bidexch":"X","bid_date":1709931596000,"asksize":701,"askexch":"C","ask_date":1709931588000,"open_interest":73,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00029000","description":"PLTR - Mar 22 2024 $29.00 Call","exch":"Z","type":"option","last":0.32,"change":-0.16,"volume":2286,"open":0.64,"high":0.7,"low":0.32,"close":0.32,"bid":0.32,"ask":0.34,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.20566341673565497,"gamma":0.0918040929881002,"theta":-0.03256511665822479,"vega":0.01393975953208404,"rho":0.001909937619311736,"phi":-0.0020394713301508105,"bid_iv":0.594706,"mid_iv":0.601882,"ask_iv":0.609059,"smv_vol":0.604,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":2,"trade_date":1709931525668,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931600000,"asksize":1261,"askexch":"E","ask_date":1709931599000,"open_interest":1421,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00029500","description":"PLTR - Mar 22 2024 $29.50 Put","exch":"Z","type":"option","last":2.81,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.65,"ask":3.75,"underlying":"PLTR","strike":29.5,"greeks":{"delta":-0.82884097392516,"gamma":0.08071477145653883,"theta":-0.02938870233208569,"vega":0.012761037581648916,"rho":0.0015926203438012118,"phi":-0.0016968772559300405,"bid_iv":0.557542,"mid_iv":0.599809,"ask_iv":0.642077,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709823161831,"prevclose":2.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"C","bid_date":1709931595000,"asksize":584,"askexch":"E","ask_date":1709931582000,"open_interest":1,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00029500","description":"PLTR - Mar 22 2024 $29.50 Call","exch":"Z","type":"option","last":0.26,"change":-0.16,"volume":229,"open":0.56,"high":0.56,"low":0.25,"close":0.26,"bid":0.26,"ask":0.28,"underlying":"PLTR","strike":29.5,"greeks":{"delta":0.17115902607483996,"gamma":0.08071477145653883,"theta":-0.02938870233208569,"vega":0.012761037581648916,"rho":0.0015926203438012118,"phi":-0.0016968772559300405,"bid_iv":0.607028,"mid_iv":0.614869,"ask_iv":0.622709,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-38.10,"average_volume":0,"last_volume":1,"trade_date":1709931324258,"prevclose":0.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931600000,"asksize":861,"askexch":"E","ask_date":1709931599000,"open_interest":289,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00030000","description":"PLTR - Mar 22 2024 $30.00 Put","exch":"Z","type":"option","last":3.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.1,"ask":4.2,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.8576798074732943,"gamma":0.07030596129827264,"theta":-0.026359375492392815,"vega":0.011554371912789473,"rho":0.0013263784479491294,"phi":-0.0014106500528798804,"bid_iv":0.556689,"mid_iv":0.605967,"ask_iv":0.655245,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709844983809,"prevclose":3.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"B","bid_date":1709931588000,"asksize":637,"askexch":"E","ask_date":1709931588000,"open_interest":66,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00030000","description":"PLTR - Mar 22 2024 $30.00 Call","exch":"Z","type":"option","last":0.22,"change":-0.13,"volume":2983,"open":0.42,"high":0.49,"low":0.2,"close":0.22,"bid":0.21,"ask":0.22,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.14232019252670572,"gamma":0.07030596129827264,"theta":-0.026359375492392815,"vega":0.011554371912789473,"rho":0.0013263784479491294,"phi":-0.0014106500528798804,"bid_iv":0.617736,"mid_iv":0.622072,"ask_iv":0.626408,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-37.15,"average_volume":0,"last_volume":1,"trade_date":1709931458130,"prevclose":0.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"P","bid_date":1709931600000,"asksize":312,"askexch":"D","ask_date":1709931581000,"open_interest":6474,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322C00030500","description":"PLTR - Mar 22 2024 $30.50 Call","exch":"Z","type":"option","last":0.2,"change":-0.11,"volume":390,"open":0.32,"high":0.39,"low":0.16,"close":0.2,"bid":0.17,"ask":0.18,"underlying":"PLTR","strike":30.5,"greeks":{"delta":0.11781129143249935,"gamma":0.06076056711732347,"theta":-0.02343518914304311,"vega":0.010362204983154787,"rho":0.0010995755947898736,"phi":-0.0011674673933148583,"bid_iv":0.628377,"mid_iv":0.633521,"ask_iv":0.638666,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-35.49,"average_volume":0,"last_volume":1,"trade_date":1709928171766,"prevclose":0.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"U","bid_date":1709931576000,"asksize":178,"askexch":"D","ask_date":1709931599000,"open_interest":589,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00030500","description":"PLTR - Mar 22 2024 $30.50 Put","exch":"Z","type":"option","last":4.45,"change":0.30,"volume":21,"open":4.15,"high":4.45,"low":4.15,"close":4.45,"bid":4.55,"ask":4.65,"underlying":"PLTR","strike":30.5,"greeks":{"delta":-0.8821887085675006,"gamma":0.06076056711732347,"theta":-0.02343518914304311,"vega":0.010362204983154787,"rho":0.0010995755947898736,"phi":-0.0011674673933148583,"bid_iv":0.60394,"mid_iv":0.655364,"ask_iv":0.706787,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.23,"average_volume":0,"last_volume":20,"trade_date":1709914726365,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"X","bid_date":1709931598000,"asksize":371,"askexch":"E","ask_date":1709931589000,"open_interest":21,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322P00031000","description":"PLTR - Mar 22 2024 $31.00 Put","exch":"Z","type":"option","last":4.7,"change":-0.35,"volume":4,"open":4.45,"high":4.7,"low":4.45,"close":4.7,"bid":5.0,"ask":5.1,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.9020954188438642,"gamma":0.052277955665788516,"theta":-0.020802151057757883,"vega":0.009187815985059298,"rho":9.147919771626222E-4,"phi":-9.70021333535076E-4,"bid_iv":0.576467,"mid_iv":0.642127,"ask_iv":0.707788,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.94,"average_volume":0,"last_volume":1,"trade_date":1709914497039,"prevclose":5.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":61,"bidexch":"X","bid_date":1709931575000,"asksize":15,"askexch":"Z","ask_date":1709931575000,"open_interest":2,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00031000","description":"PLTR - Mar 22 2024 $31.00 Call","exch":"Z","type":"option","last":0.13,"change":-0.11,"volume":239,"open":0.3,"high":0.35,"low":0.13,"close":0.13,"bid":0.13,"ask":0.15,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.0979045811561358,"gamma":0.052277955665788516,"theta":-0.020802151057757883,"vega":0.009187815985059298,"rho":9.147919771626222E-4,"phi":-9.70021333535076E-4,"bid_iv":0.630404,"mid_iv":0.641638,"ask_iv":0.652872,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-45.84,"average_volume":0,"last_volume":1,"trade_date":1709931569880,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1683,"bidexch":"D","bid_date":1709931583000,"asksize":1048,"askexch":"E","ask_date":1709931582000,"open_interest":594,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00032000","description":"PLTR - Mar 22 2024 $32.00 Put","exch":"Z","type":"option","last":5.13,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":5.95,"ask":6.05,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.9332890546613759,"gamma":0.03805004331346977,"theta":-0.015956505779261526,"vega":0.007011132189803156,"rho":6.246697064345918E-4,"phi":-6.607183811180306E-4,"bid_iv":0.0,"mid_iv":0.725719,"ask_iv":0.725719,"smv_vol":0.667,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709826042006,"prevclose":5.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":63,"bidexch":"X","bid_date":1709931581000,"asksize":10,"askexch":"J","ask_date":1709931600000,"open_interest":3,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00032000","description":"PLTR - Mar 22 2024 $32.00 Call","exch":"Z","type":"option","last":0.09,"change":-0.09,"volume":732,"open":0.24,"high":0.24,"low":0.09,"close":0.09,"bid":0.09,"ask":0.1,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.06671094533862412,"gamma":0.03805004331346977,"theta":-0.015956505779261526,"vega":0.007011132189803156,"rho":6.246697064345918E-4,"phi":-6.607183811180306E-4,"bid_iv":0.658794,"mid_iv":0.665947,"ask_iv":0.6731,"smv_vol":0.667,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":4,"trade_date":1709930688265,"prevclose":0.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":163,"bidexch":"P","bid_date":1709931579000,"asksize":292,"askexch":"D","ask_date":1709931579000,"open_interest":717,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00033000","description":"PLTR - Mar 22 2024 $33.00 Put","exch":"Z","type":"option","last":5.86,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":6.95,"ask":7.25,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.9539078860448623,"gamma":0.027562676345763974,"theta":-0.012232699492477074,"vega":0.00513256576637728,"rho":4.3220925157335034E-4,"phi":-4.563785831190881E-4,"bid_iv":0.0,"mid_iv":0.806767,"ask_iv":0.806767,"smv_vol":0.692,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709822262227,"prevclose":5.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"Z","bid_date":1709931582000,"asksize":1,"askexch":"I","ask_date":1709931595000,"open_interest":2,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00033000","description":"PLTR - Mar 22 2024 $33.00 Call","exch":"Z","type":"option","last":0.07,"change":-0.09,"volume":146,"open":0.16,"high":0.16,"low":0.07,"close":0.07,"bid":0.06,"ask":0.07,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.04609211395513769,"gamma":0.027562676345763974,"theta":-0.012232699492477074,"vega":0.00513256576637728,"rho":4.3220925157335034E-4,"phi":-4.563785831190881E-4,"bid_iv":0.678434,"mid_iv":0.688217,"ask_iv":0.698001,"smv_vol":0.692,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-56.25,"average_volume":0,"last_volume":2,"trade_date":1709929108058,"prevclose":0.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1083,"bidexch":"D","bid_date":1709931585000,"asksize":241,"askexch":"D","ask_date":1709931585000,"open_interest":369,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00034000","description":"PLTR - Mar 22 2024 $34.00 Put","exch":"Z","type":"option","last":7.45,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":7.8,"ask":8.05,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9680149798292775,"gamma":0.019887689235128642,"theta":-0.009314702972126984,"vega":0.003605588803217044,"rho":3.0026747425299696E-4,"phi":-3.1662215738137434E-4,"bid_iv":0.0,"mid_iv":0.882595,"ask_iv":0.882595,"smv_vol":0.718,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709844298328,"prevclose":7.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"Z","bid_date":1709931595000,"asksize":34,"askexch":"X","ask_date":1709931580000,"open_interest":1,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00034000","description":"PLTR - Mar 22 2024 $34.00 Call","exch":"Z","type":"option","last":0.05,"change":-0.07,"volume":307,"open":0.13,"high":0.13,"low":0.05,"close":0.05,"bid":0.04,"ask":0.06,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.03198502017072243,"gamma":0.019887689235128642,"theta":-0.009314702972126984,"vega":0.003605588803217044,"rho":3.0026747425299696E-4,"phi":-3.1662215738137434E-4,"bid_iv":0.696205,"mid_iv":0.723706,"ask_iv":0.751207,"smv_vol":0.718,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-58.34,"average_volume":0,"last_volume":20,"trade_date":1709928006078,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1621,"bidexch":"D","bid_date":1709931582000,"asksize":1448,"askexch":"C","ask_date":1709931560000,"open_interest":596,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240322P00035000","description":"PLTR - Mar 22 2024 $35.00 Put","exch":"Z","type":"option","last":8.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.9,"ask":9.1,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9784601609870492,"gamma":0.014007009487927082,"theta":-0.006819798993536987,"vega":0.002432278382658645,"rho":2.0249817372366418E-4,"phi":-2.131633515534137E-4,"bid_iv":0.0,"mid_iv":1.089844,"ask_iv":1.089844,"smv_vol":0.74,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709749885911,"prevclose":8.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"X","bid_date":1709931582000,"asksize":32,"askexch":"X","ask_date":1709931600000,"open_interest":2,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240322C00035000","description":"PLTR - Mar 22 2024 $35.00 Call","exch":"Z","type":"option","last":0.04,"change":-0.03,"volume":501,"open":0.1,"high":0.1,"low":0.04,"close":0.04,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.021539839012950708,"gamma":0.014007009487927082,"theta":-0.006819798993536987,"vega":0.002432278382658645,"rho":2.0249817372366418E-4,"phi":-2.131633515534137E-4,"bid_iv":0.726087,"mid_iv":0.742456,"ask_iv":0.758825,"smv_vol":0.74,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-42.86,"average_volume":0,"last_volume":3,"trade_date":1709931470283,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1391,"bidexch":"D","bid_date":1709931597000,"asksize":288,"askexch":"D","ask_date":1709931597000,"open_interest":2754,"contract_size":100,"expiration_date":"2024-03-22","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: @@ -1329,7 +1240,7 @@ interactions: X-Ratelimit-Available: - '198' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - '2' status: @@ -1343,158 +1254,118 @@ interactions: Authorization: - MOCK_API_KEY method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-05-17&greeks=true + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-07-26&greeks=true response: body: - string: '{"options":{"option":[{"symbol":"PLTR240517P00003000","description":"PLTR - May 17 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-1.19909E-10,"gamma":8.012050909326065E-11,"theta":-5.030687847911062E-4,"vega":2.000008654137901E-5,"rho":0.00568246604344535,"phi":-0.0499127929387555,"bid_iv":0.0,"mid_iv":1.917415,"ask_iv":1.917415,"smv_vol":0.889,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1707229840800,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709930978000,"asksize":25,"askexch":"P","ask_date":1709931578000,"open_interest":3,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00003000","description":"PLTR - May 17 2024 $3.00 Call","exch":"Z","type":"option","last":20.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":23.0,"ask":23.25,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.999999999880091,"gamma":8.012050909326065E-11,"theta":-5.030687847911062E-4,"vega":2.000008654137901E-5,"rho":0.00568246604344535,"phi":-0.0499127929387555,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.889,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709664973709,"prevclose":20.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"Z","bid_date":1709931584000,"asksize":100,"askexch":"P","ask_date":1709931584000,"open_interest":97,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00005000","description":"PLTR - May 17 2024 $5.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-7.149443758E-7,"gamma":3.741922055829184E-7,"theta":-8.386858198694168E-4,"vega":2.0392273454972124E-5,"rho":0.009470738119970954,"phi":-0.04991275744714585,"bid_iv":0.0,"mid_iv":1.463688,"ask_iv":1.463688,"smv_vol":0.889,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1706715111896,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1709924580000,"asksize":15,"askexch":"M","ask_date":1709931578000,"open_interest":4106,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00005000","description":"PLTR - May 17 2024 $5.00 Call","exch":"Z","type":"option","last":21.1,"change":0.25,"volume":3,"open":21.1,"high":21.1,"low":21.1,"close":21.1,"bid":20.95,"ask":21.2,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999992850556242,"gamma":3.741922055829184E-7,"theta":-8.386858198694168E-4,"vega":2.0392273454972124E-5,"rho":0.009470738119970954,"phi":-0.04991275744714585,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.889,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.20,"average_volume":0,"last_volume":3,"trade_date":1709931070069,"prevclose":20.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"Z","bid_date":1709931574000,"asksize":7,"askexch":"J","ask_date":1709931564000,"open_interest":23,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00006000","description":"PLTR - May 17 2024 $6.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-8.5469676425E-6,"gamma":4.042212143741136E-6,"theta":-0.0010087034814539493,"vega":2.4366138559881983E-5,"rho":0.011364466974154084,"phi":-0.04991236458806725,"bid_iv":0.0,"mid_iv":1.305101,"ask_iv":1.305101,"smv_vol":0.889,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1708622750031,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"P","bid_date":1709918507000,"asksize":10,"askexch":"J","ask_date":1709931564000,"open_interest":1089,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00006000","description":"PLTR - May 17 2024 $6.00 Call","exch":"Z","type":"option","last":19.95,"change":-1.25,"volume":5,"open":19.9,"high":19.95,"low":19.9,"close":19.95,"bid":20.05,"ask":20.15,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9999914530323575,"gamma":4.042212143741136E-6,"theta":-0.0010087034814539493,"vega":2.4366138559881983E-5,"rho":0.011364466974154084,"phi":-0.04991236458806725,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.889,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.90,"average_volume":0,"last_volume":1,"trade_date":1709923698745,"prevclose":21.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1709931583000,"asksize":2,"askexch":"B","ask_date":1709931595000,"open_interest":22,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00007000","description":"PLTR - May 17 2024 $7.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":4,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-5.61382260723E-5,"gamma":2.4162366435647132E-5,"theta":-0.0011891391524327952,"vega":4.5657325991271534E-5,"rho":0.013256010390742055,"phi":-0.04990997918952189,"bid_iv":0.0,"mid_iv":1.172189,"ask_iv":1.172189,"smv_vol":0.888,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709833100561,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1709931103000,"asksize":129,"askexch":"P","ask_date":1709930966000,"open_interest":515,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00007000","description":"PLTR - May 17 2024 $7.00 Call","exch":"Z","type":"option","last":20.0,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":19.05,"ask":19.2,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9999438617739277,"gamma":2.4162366435647132E-5,"theta":-0.0011891391524327952,"vega":4.5657325991271534E-5,"rho":0.013256010390742055,"phi":-0.04990997918952189,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.888,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709831208953,"prevclose":20.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"Q","bid_date":1709931598000,"asksize":15,"askexch":"M","ask_date":1709931600000,"open_interest":126,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00008000","description":"PLTR - May 17 2024 $8.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-2.485535991745E-4,"gamma":9.768592195207681E-5,"theta":-0.0014033079862149531,"vega":1.2733514953649583E-4,"rho":0.015139516060278843,"phi":-0.04990033865226451,"bid_iv":0.0,"mid_iv":1.145621,"ask_iv":1.145621,"smv_vol":0.887,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709830585571,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709918842000,"asksize":34,"askexch":"Z","ask_date":1709931578000,"open_interest":1427,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00008000","description":"PLTR - May 17 2024 $8.00 Call","exch":"Z","type":"option","last":16.76,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.05,"ask":18.2,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9997514464008255,"gamma":9.768592195207681E-5,"theta":-0.0014033079862149531,"vega":1.2733514953649583E-4,"rho":0.015139516060278843,"phi":-0.04990033865226451,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.887,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709227509490,"prevclose":16.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"A","bid_date":1709931591000,"asksize":17,"askexch":"M","ask_date":1709931562000,"open_interest":40,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00009000","description":"PLTR - May 17 2024 $9.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":9,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-8.145568453052E-4,"gamma":2.938134263293732E-4,"theta":-0.001694700219118105,"vega":3.163007175809994E-4,"rho":0.01700206700682426,"phi":-0.04987198991557307,"bid_iv":0.0,"mid_iv":1.037514,"ask_iv":1.037514,"smv_vol":0.884,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":9,"trade_date":1709908946026,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":182,"bidexch":"D","bid_date":1709930966000,"asksize":96,"askexch":"P","ask_date":1709931280000,"open_interest":1455,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00009000","description":"PLTR - May 17 2024 $9.00 Call","exch":"Z","type":"option","last":15.98,"change":0.92,"volume":3,"open":17.05,"high":17.15,"low":15.98,"close":15.98,"bid":17.1,"ask":17.25,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9991854431546948,"gamma":2.938134263293732E-4,"theta":-0.001694700219118105,"vega":3.163007175809994E-4,"rho":0.01700206700682426,"phi":-0.04987198991557307,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.884,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.11,"average_volume":0,"last_volume":1,"trade_date":1709737700093,"prevclose":15.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1709931600000,"asksize":15,"askexch":"M","ask_date":1709931573000,"open_interest":115,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00010000","description":"PLTR - May 17 2024 $10.00 Put","exch":"Z","type":"option","last":0.02,"change":0.01,"volume":7,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0021388693026688,"gamma":7.10824880945366E-4,"theta":-0.0021247510969411585,"vega":7.664823929261836E-4,"rho":0.018821586154213386,"phi":-0.04980568164114629,"bid_iv":0.868419,"mid_iv":0.93072,"ask_iv":0.993022,"smv_vol":0.877,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":100.00,"average_volume":0,"last_volume":2,"trade_date":1709927253564,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":94,"bidexch":"D","bid_date":1709931580000,"asksize":97,"askexch":"E","ask_date":1709931578000,"open_interest":3356,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00010000","description":"PLTR - May 17 2024 $10.00 Call","exch":"Z","type":"option","last":16.26,"change":-0.74,"volume":72,"open":17.15,"high":17.15,"low":16.25,"close":16.26,"bid":16.1,"ask":16.25,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9978611306973312,"gamma":7.10824880945366E-4,"theta":-0.0021247510969411585,"vega":7.664823929261836E-4,"rho":0.018821586154213386,"phi":-0.04980568164114629,"bid_iv":0.0,"mid_iv":1.174992,"ask_iv":1.174992,"smv_vol":0.877,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.36,"average_volume":0,"last_volume":1,"trade_date":1709920474953,"prevclose":17.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931595000,"asksize":5,"askexch":"C","ask_date":1709931595000,"open_interest":240,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00011000","description":"PLTR - May 17 2024 $11.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0048013455657068,"gamma":0.0014712854861279468,"theta":-0.0027695122295663963,"vega":0.0017020149563698548,"rho":0.02056416449425464,"phi":-0.049672410415979584,"bid_iv":0.854859,"mid_iv":0.896543,"ask_iv":0.938227,"smv_vol":0.859,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709314796787,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1445,"bidexch":"D","bid_date":1709931593000,"asksize":416,"askexch":"D","ask_date":1709931593000,"open_interest":1710,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00011000","description":"PLTR - May 17 2024 $11.00 Call","exch":"Z","type":"option","last":13.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.15,"ask":15.25,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9951986544342932,"gamma":0.0014712854861279468,"theta":-0.0027695122295663963,"vega":0.0017020149563698548,"rho":0.02056416449425464,"phi":-0.049672410415979584,"bid_iv":0.0,"mid_iv":1.13773,"ask_iv":1.13773,"smv_vol":0.859,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709569549059,"prevclose":13.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931600000,"asksize":15,"askexch":"M","ask_date":1709931598000,"open_interest":139,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00012000","description":"PLTR - May 17 2024 $12.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":220,"open":null,"high":null,"low":null,"close":null,"bid":0.04,"ask":0.05,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.009072581580052,"gamma":0.0026025512587268002,"theta":-0.003620997921765209,"vega":0.0028075020196844315,"rho":0.022213183991553146,"phi":-0.0494586567612032,"bid_iv":0.851715,"mid_iv":0.866107,"ask_iv":0.880499,"smv_vol":0.84,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709842771998,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2253,"bidexch":"D","bid_date":1709931565000,"asksize":122,"askexch":"D","ask_date":1709931565000,"open_interest":9644,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00012000","description":"PLTR - May 17 2024 $12.00 Call","exch":"Z","type":"option","last":15.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.15,"ask":14.3,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.990927418419948,"gamma":0.0026025512587268002,"theta":-0.003620997921765209,"vega":0.0028075020196844315,"rho":0.022213183991553146,"phi":-0.0494586567612032,"bid_iv":0.0,"mid_iv":1.016871,"ask_iv":1.016871,"smv_vol":0.84,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709837820550,"prevclose":15.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Q","bid_date":1709931564000,"asksize":6,"askexch":"C","ask_date":1709931564000,"open_interest":525,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517C00013000","description":"PLTR - May 17 2024 $13.00 Call","exch":"Z","type":"option","last":13.1,"change":-0.88,"volume":10,"open":14.2,"high":14.2,"low":13.1,"close":13.1,"bid":13.2,"ask":13.3,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9851525079992631,"gamma":0.004070277875964791,"theta":-0.004594814027969034,"vega":0.004428641377157731,"rho":0.02377458306785152,"phi":-0.0491696838444966,"bid_iv":0.595122,"mid_iv":0.718468,"ask_iv":0.841815,"smv_vol":0.82,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.30,"average_volume":0,"last_volume":7,"trade_date":1709923564785,"prevclose":13.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"M","bid_date":1709931600000,"asksize":14,"askexch":"M","ask_date":1709931571000,"open_interest":2359,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00013000","description":"PLTR - May 17 2024 $13.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":22,"open":0.07,"high":0.07,"low":0.06,"close":0.06,"bid":0.06,"ask":0.07,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0148474920007369,"gamma":0.004070277875964791,"theta":-0.004594814027969034,"vega":0.004428641377157731,"rho":0.02377458306785152,"phi":-0.0491696838444966,"bid_iv":0.821402,"mid_iv":0.832279,"ask_iv":0.843157,"smv_vol":0.82,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931441700,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1445,"bidexch":"D","bid_date":1709931561000,"asksize":252,"askexch":"W","ask_date":1709931565000,"open_interest":2679,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517P00014000","description":"PLTR - May 17 2024 $14.00 Put","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":1,"open":0.08,"high":0.08,"low":0.08,"close":0.08,"bid":0.08,"ask":0.1,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.02288763470003,"gamma":0.0060082144273322525,"theta":-0.005762914555447433,"vega":0.006689464896389029,"rho":0.025203034818502498,"phi":-0.04876740966608395,"bid_iv":0.781191,"mid_iv":0.796673,"ask_iv":0.812155,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709909678834,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":839,"bidexch":"E","bid_date":1709931597000,"asksize":619,"askexch":"D","ask_date":1709931593000,"open_interest":5039,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00014000","description":"PLTR - May 17 2024 $14.00 Call","exch":"Z","type":"option","last":12.4,"change":-0.80,"volume":10,"open":12.4,"high":12.4,"low":12.4,"close":12.4,"bid":12.2,"ask":12.35,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.97711236529997,"gamma":0.0060082144273322525,"theta":-0.005762914555447433,"vega":0.006689464896389029,"rho":0.025203034818502498,"phi":-0.04876740966608395,"bid_iv":0.696672,"mid_iv":0.777197,"ask_iv":0.857722,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.07,"average_volume":0,"last_volume":10,"trade_date":1709922017801,"prevclose":13.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931593000,"asksize":15,"askexch":"M","ask_date":1709931600000,"open_interest":1107,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00015000","description":"PLTR - May 17 2024 $15.00 Put","exch":"Z","type":"option","last":0.13,"change":0.01,"volume":197,"open":0.11,"high":0.14,"low":0.11,"close":0.13,"bid":0.12,"ask":0.14,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0333986243932874,"gamma":0.008433828026982159,"theta":-0.0070719259338774985,"vega":0.008255136538812385,"rho":0.026486027245252224,"phi":-0.04824156420113468,"bid_iv":0.76046,"mid_iv":0.772573,"ask_iv":0.784686,"smv_vol":0.769,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.34,"average_volume":0,"last_volume":1,"trade_date":1709929730196,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":533,"bidexch":"D","bid_date":1709931593000,"asksize":776,"askexch":"D","ask_date":1709931593000,"open_interest":15136,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00015000","description":"PLTR - May 17 2024 $15.00 Call","exch":"Z","type":"option","last":12.13,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.25,"ask":11.45,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9666013756067126,"gamma":0.008433828026982159,"theta":-0.0070719259338774985,"vega":0.008255136538812385,"rho":0.026486027245252224,"phi":-0.04824156420113468,"bid_iv":0.660824,"mid_iv":0.73953,"ask_iv":0.818237,"smv_vol":0.769,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709836515544,"prevclose":12.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"Z","bid_date":1709931600000,"asksize":79,"askexch":"N","ask_date":1709931585000,"open_interest":1170,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00016000","description":"PLTR - May 17 2024 $16.00 Put","exch":"Z","type":"option","last":0.18,"change":0.01,"volume":6,"open":0.16,"high":0.18,"low":0.16,"close":0.18,"bid":0.17,"ask":0.19,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0472397463843908,"gamma":0.011439851981935997,"theta":-0.008565355181257185,"vega":0.011672887803619253,"rho":0.027570626077462267,"phi":-0.04754921556937575,"bid_iv":0.736653,"mid_iv":0.745829,"ask_iv":0.755005,"smv_vol":0.746,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.89,"average_volume":0,"last_volume":4,"trade_date":1709923360858,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":533,"bidexch":"E","bid_date":1709931578000,"asksize":1255,"askexch":"D","ask_date":1709931574000,"open_interest":13863,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00016000","description":"PLTR - May 17 2024 $16.00 Call","exch":"Z","type":"option","last":11.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.35,"ask":10.45,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9527602536156092,"gamma":0.011439851981935997,"theta":-0.008565355181257185,"vega":0.011672887803619253,"rho":0.027570626077462267,"phi":-0.04754921556937575,"bid_iv":0.678545,"mid_iv":0.747584,"ask_iv":0.816622,"smv_vol":0.746,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709837655264,"prevclose":11.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"Z","bid_date":1709931563000,"asksize":1,"askexch":"N","ask_date":1709931563000,"open_interest":4276,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00017000","description":"PLTR - May 17 2024 $17.00 Put","exch":"Z","type":"option","last":0.25,"change":0.02,"volume":33,"open":0.2,"high":0.26,"low":0.2,"close":0.25,"bid":0.24,"ask":0.26,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0645686879314625,"gamma":0.015005995917573508,"theta":-0.0101698977110812,"vega":0.013892377491717879,"rho":0.028446395272032025,"phi":-0.04668250044304045,"bid_iv":0.716262,"mid_iv":0.723466,"ask_iv":0.73067,"smv_vol":0.725,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.70,"average_volume":0,"last_volume":2,"trade_date":1709923771087,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":320,"bidexch":"E","bid_date":1709931597000,"asksize":1143,"askexch":"D","ask_date":1709931576000,"open_interest":5067,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00017000","description":"PLTR - May 17 2024 $17.00 Call","exch":"Z","type":"option","last":9.44,"change":-0.83,"volume":19,"open":10.25,"high":10.35,"low":9.44,"close":9.44,"bid":9.4,"ask":9.55,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9354313120685375,"gamma":0.015005995917573508,"theta":-0.0101698977110812,"vega":0.013892377491717879,"rho":0.028446395272032025,"phi":-0.04668250044304045,"bid_iv":0.68739,"mid_iv":0.722993,"ask_iv":0.758596,"smv_vol":0.725,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.09,"average_volume":0,"last_volume":10,"trade_date":1709931315034,"prevclose":10.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":53,"bidexch":"X","bid_date":1709931586000,"asksize":29,"askexch":"N","ask_date":1709931575000,"open_interest":5093,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00018000","description":"PLTR - May 17 2024 $18.00 Put","exch":"Z","type":"option","last":0.35,"change":0.03,"volume":26,"open":0.31,"high":0.36,"low":0.31,"close":0.35,"bid":0.34,"ask":0.36,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0862083144917833,"gamma":0.019147963713586045,"theta":-0.011887527946253978,"vega":0.018432590097081987,"rho":0.029059940665676208,"phi":-0.04560033708855826,"bid_iv":0.702248,"mid_iv":0.708006,"ask_iv":0.713765,"smv_vol":0.708,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.38,"average_volume":0,"last_volume":10,"trade_date":1709931227824,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":320,"bidexch":"B","bid_date":1709931558000,"asksize":1184,"askexch":"D","ask_date":1709931576000,"open_interest":6296,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00018000","description":"PLTR - May 17 2024 $18.00 Call","exch":"Z","type":"option","last":8.7,"change":-0.30,"volume":124,"open":9.65,"high":9.65,"low":8.4,"close":8.7,"bid":8.55,"ask":8.6,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9137916855082167,"gamma":0.019147963713586045,"theta":-0.011887527946253978,"vega":0.018432590097081987,"rho":0.029059940665676208,"phi":-0.04560033708855826,"bid_iv":0.672425,"mid_iv":0.701021,"ask_iv":0.729617,"smv_vol":0.708,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.34,"average_volume":0,"last_volume":4,"trade_date":1709929570856,"prevclose":9.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"A","bid_date":1709931512000,"asksize":14,"askexch":"M","ask_date":1709931575000,"open_interest":3498,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00019000","description":"PLTR - May 17 2024 $19.00 Put","exch":"Z","type":"option","last":0.46,"change":0.02,"volume":121,"open":0.4,"high":0.51,"low":0.4,"close":0.46,"bid":0.47,"ask":0.49,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1120514316964333,"gamma":0.02379369624955102,"theta":-0.013622214772674118,"vega":0.021243400129426458,"rho":0.029416744069135463,"phi":-0.04430811586964012,"bid_iv":0.688806,"mid_iv":0.693507,"ask_iv":0.698208,"smv_vol":0.692,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.55,"average_volume":0,"last_volume":1,"trade_date":1709929600605,"prevclose":0.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":320,"bidexch":"B","bid_date":1709931571000,"asksize":807,"askexch":"D","ask_date":1709931574000,"open_interest":2273,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00019000","description":"PLTR - May 17 2024 $19.00 Call","exch":"Z","type":"option","last":7.73,"change":-0.87,"volume":43,"open":8.5,"high":8.55,"low":7.6,"close":7.73,"bid":7.65,"ask":7.75,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8879485683035667,"gamma":0.02379369624955102,"theta":-0.013622214772674118,"vega":0.021243400129426458,"rho":0.029416744069135463,"phi":-0.04430811586964012,"bid_iv":0.669245,"mid_iv":0.680953,"ask_iv":0.692661,"smv_vol":0.692,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.12,"average_volume":0,"last_volume":10,"trade_date":1709931438845,"prevclose":8.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":749,"bidexch":"E","bid_date":1709931583000,"asksize":71,"askexch":"E","ask_date":1709931591000,"open_interest":3186,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00020000","description":"PLTR - May 17 2024 $20.00 Put","exch":"Z","type":"option","last":0.64,"change":0.03,"volume":197,"open":0.59,"high":0.69,"low":0.53,"close":0.64,"bid":0.64,"ask":0.66,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1434608202331861,"gamma":0.028852621109137496,"theta":-0.015417277365655213,"vega":0.02647031643005601,"rho":0.02942173204027387,"phi":-0.04273785917163764,"bid_iv":0.678554,"mid_iv":0.682328,"ask_iv":0.686101,"smv_vol":0.681,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.92,"average_volume":0,"last_volume":5,"trade_date":1709931340876,"prevclose":0.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"E","bid_date":1709931598000,"asksize":340,"askexch":"D","ask_date":1709931596000,"open_interest":7263,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00020000","description":"PLTR - May 17 2024 $20.00 Call","exch":"Z","type":"option","last":6.95,"change":-0.35,"volume":1111,"open":7.5,"high":8.0,"low":6.8,"close":6.95,"bid":6.85,"ask":6.95,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8565391797668139,"gamma":0.028852621109137496,"theta":-0.015417277365655213,"vega":0.02647031643005601,"rho":0.02942173204027387,"phi":-0.04273785917163764,"bid_iv":0.64948,"mid_iv":0.669169,"ask_iv":0.688857,"smv_vol":0.681,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.80,"average_volume":0,"last_volume":1,"trade_date":1709931178658,"prevclose":7.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":678,"bidexch":"E","bid_date":1709931595000,"asksize":565,"askexch":"E","ask_date":1709931595000,"open_interest":7093,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00021000","description":"PLTR - May 17 2024 $21.00 Put","exch":"Z","type":"option","last":0.86,"change":0.04,"volume":88,"open":0.75,"high":0.89,"low":0.74,"close":0.86,"bid":0.87,"ask":0.89,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.1803417109512945,"gamma":0.03409436013177186,"theta":-0.017183069636722708,"vega":0.02953179041896254,"rho":0.02907007870701141,"phi":-0.040894413979586375,"bid_iv":0.670702,"mid_iv":0.674079,"ask_iv":0.677455,"smv_vol":0.673,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.88,"average_volume":0,"last_volume":5,"trade_date":1709930806171,"prevclose":0.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"B","bid_date":1709931598000,"asksize":629,"askexch":"D","ask_date":1709931598000,"open_interest":6567,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00021000","description":"PLTR - May 17 2024 $21.00 Call","exch":"Z","type":"option","last":6.29,"change":-0.21,"volume":65,"open":6.85,"high":7.17,"low":6.05,"close":6.29,"bid":6.1,"ask":6.2,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.8196582890487055,"gamma":0.03409436013177186,"theta":-0.017183069636722708,"vega":0.02953179041896254,"rho":0.02907007870701141,"phi":-0.040894413979586375,"bid_iv":0.6529,"mid_iv":0.669849,"ask_iv":0.686798,"smv_vol":0.673,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.24,"average_volume":0,"last_volume":1,"trade_date":1709928884695,"prevclose":6.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":148,"bidexch":"E","bid_date":1709931585000,"asksize":168,"askexch":"X","ask_date":1709931598000,"open_interest":7563,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00022000","description":"PLTR - May 17 2024 $22.00 Put","exch":"Z","type":"option","last":1.14,"change":0.06,"volume":388,"open":0.95,"high":1.21,"low":0.94,"close":1.14,"bid":1.14,"ask":1.17,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2224797466460309,"gamma":0.03921144748810961,"theta":-0.01885346956380553,"vega":0.03459709334783627,"rho":0.02835774706650408,"phi":-0.03878863248374387,"bid_iv":0.667444,"mid_iv":0.670328,"ask_iv":0.673212,"smv_vol":0.669,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.56,"average_volume":0,"last_volume":4,"trade_date":1709930920195,"prevclose":1.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":595,"bidexch":"E","bid_date":1709931593000,"asksize":465,"askexch":"D","ask_date":1709931588000,"open_interest":22633,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00022000","description":"PLTR - May 17 2024 $22.00 Call","exch":"Z","type":"option","last":5.5,"change":-0.30,"volume":120,"open":6.11,"high":6.35,"low":5.35,"close":5.5,"bid":5.4,"ask":5.45,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7775202533539691,"gamma":0.03921144748810961,"theta":-0.01885346956380553,"vega":0.03459709334783627,"rho":0.02835774706650408,"phi":-0.03878863248374387,"bid_iv":0.655323,"mid_iv":0.662555,"ask_iv":0.669787,"smv_vol":0.669,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.18,"average_volume":0,"last_volume":1,"trade_date":1709928637061,"prevclose":5.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"D","bid_date":1709931600000,"asksize":36,"askexch":"X","ask_date":1709931585000,"open_interest":4620,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00023000","description":"PLTR - May 17 2024 $23.00 Put","exch":"Z","type":"option","last":1.48,"change":0.07,"volume":204,"open":1.26,"high":1.55,"low":1.24,"close":1.48,"bid":1.48,"ask":1.51,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.269254195394025,"gamma":0.04385673604639922,"theta":-0.020353706936834685,"vega":0.037399186606808084,"rho":0.027301572352349295,"phi":-0.03645166968269109,"bid_iv":0.666058,"mid_iv":0.668723,"ask_iv":0.671388,"smv_vol":0.667,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.97,"average_volume":0,"last_volume":10,"trade_date":1709931227824,"prevclose":1.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":927,"bidexch":"E","bid_date":1709931591000,"asksize":305,"askexch":"B","ask_date":1709931595000,"open_interest":10660,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00023000","description":"PLTR - May 17 2024 $23.00 Call","exch":"Z","type":"option","last":4.75,"change":-0.45,"volume":118,"open":5.62,"high":5.65,"low":4.7,"close":4.75,"bid":4.75,"ask":4.8,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.730745804605975,"gamma":0.04385673604639922,"theta":-0.020353706936834685,"vega":0.037399186606808084,"rho":0.027301572352349295,"phi":-0.03645166968269109,"bid_iv":0.655099,"mid_iv":0.668472,"ask_iv":0.681845,"smv_vol":0.667,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.66,"average_volume":0,"last_volume":2,"trade_date":1709923766515,"prevclose":5.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"D","bid_date":1709931596000,"asksize":115,"askexch":"E","ask_date":1709931583000,"open_interest":12344,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00024000","description":"PLTR - May 17 2024 $24.00 Put","exch":"Z","type":"option","last":1.87,"change":0.06,"volume":132,"open":1.57,"high":1.98,"low":1.57,"close":1.87,"bid":1.89,"ask":1.91,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3193872055125488,"gamma":0.04771732701987395,"theta":-0.02160984558011155,"vega":0.04119658400688579,"rho":0.02595864646958167,"phi":-0.033947463196071226,"bid_iv":0.665793,"mid_iv":0.668217,"ask_iv":0.67064,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.32,"average_volume":0,"last_volume":1,"trade_date":1709930040487,"prevclose":1.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":272,"bidexch":"D","bid_date":1709931596000,"asksize":160,"askexch":"D","ask_date":1709931596000,"open_interest":5699,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00024000","description":"PLTR - May 17 2024 $24.00 Call","exch":"Z","type":"option","last":4.19,"change":-0.36,"volume":330,"open":4.95,"high":5.05,"low":4.19,"close":4.19,"bid":4.15,"ask":4.25,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6806127944874512,"gamma":0.04771732701987395,"theta":-0.02160984558011155,"vega":0.04119658400688579,"rho":0.02595864646958167,"phi":-0.033947463196071226,"bid_iv":0.653934,"mid_iv":0.666076,"ask_iv":0.678219,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.92,"average_volume":0,"last_volume":1,"trade_date":1709931263862,"prevclose":4.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":909,"bidexch":"E","bid_date":1709931598000,"asksize":871,"askexch":"E","ask_date":1709931598000,"open_interest":6685,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00025000","description":"PLTR - May 17 2024 $25.00 Put","exch":"Z","type":"option","last":2.3,"change":0.04,"volume":508,"open":1.85,"high":2.44,"low":1.85,"close":2.3,"bid":2.35,"ask":2.38,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.371460953777704,"gamma":0.05052351519301128,"theta":-0.022545670394353578,"vega":0.04313789192458172,"rho":0.024391191840395617,"phi":-0.031346916244956446,"bid_iv":0.66848,"mid_iv":0.670795,"ask_iv":0.673111,"smv_vol":0.669,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.77,"average_volume":0,"last_volume":1,"trade_date":1709928978194,"prevclose":2.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"D","bid_date":1709931595000,"asksize":135,"askexch":"E","ask_date":1709931594000,"open_interest":8001,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00025000","description":"PLTR - May 17 2024 $25.00 Call","exch":"Z","type":"option","last":3.65,"change":-0.28,"volume":2184,"open":3.95,"high":4.45,"low":3.55,"close":3.65,"bid":3.6,"ask":3.7,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.628539046222296,"gamma":0.05052351519301128,"theta":-0.022545670394353578,"vega":0.04313789192458172,"rho":0.024391191840395617,"phi":-0.031346916244956446,"bid_iv":0.662372,"mid_iv":0.668173,"ask_iv":0.673975,"smv_vol":0.669,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.13,"average_volume":0,"last_volume":1,"trade_date":1709931592783,"prevclose":3.93,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1529,"bidexch":"E","bid_date":1709931594000,"asksize":1415,"askexch":"E","ask_date":1709931594000,"open_interest":57108,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517C00026000","description":"PLTR - May 17 2024 $26.00 Call","exch":"Z","type":"option","last":3.2,"change":-0.25,"volume":796,"open":3.95,"high":3.95,"low":3.1,"close":3.2,"bid":3.15,"ask":3.2,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5761433694324118,"gamma":0.052295183857117074,"theta":-0.023180368581058597,"vega":0.0446790337487281,"rho":0.0226952185747004,"phi":-0.028730817156485955,"bid_iv":0.658997,"mid_iv":0.670196,"ask_iv":0.681396,"smv_vol":0.671,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.25,"average_volume":0,"last_volume":2,"trade_date":1709931056607,"prevclose":3.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1481,"bidexch":"E","bid_date":1709931596000,"asksize":13,"askexch":"B","ask_date":1709931595000,"open_interest":5866,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00026000","description":"PLTR - May 17 2024 $26.00 Put","exch":"Z","type":"option","last":2.86,"change":0.21,"volume":647,"open":2.48,"high":2.98,"low":2.45,"close":2.86,"bid":2.87,"ask":2.89,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4238566305675882,"gamma":0.052295183857117074,"theta":-0.023180368581058597,"vega":0.0446790337487281,"rho":0.0226952185747004,"phi":-0.028730817156485955,"bid_iv":0.670738,"mid_iv":0.672976,"ask_iv":0.675215,"smv_vol":0.671,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.93,"average_volume":0,"last_volume":2,"trade_date":1709931412928,"prevclose":2.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":207,"bidexch":"D","bid_date":1709931591000,"asksize":7,"askexch":"P","ask_date":1709931596000,"open_interest":2477,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517P00027000","description":"PLTR - May 17 2024 $27.00 Put","exch":"Z","type":"option","last":3.44,"change":0.19,"volume":625,"open":2.95,"high":3.58,"low":2.95,"close":3.44,"bid":3.4,"ask":3.5,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.4751327560348366,"gamma":0.05289433736374465,"theta":-0.023446371651184086,"vega":0.04531645657928219,"rho":0.020931583338318318,"phi":-0.026171183331591408,"bid_iv":0.662512,"mid_iv":0.673572,"ask_iv":0.684631,"smv_vol":0.672,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.85,"average_volume":0,"last_volume":1,"trade_date":1709929878338,"prevclose":3.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2130,"bidexch":"E","bid_date":1709931599000,"asksize":1877,"askexch":"E","ask_date":1709931584000,"open_interest":1531,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00027000","description":"PLTR - May 17 2024 $27.00 Call","exch":"Z","type":"option","last":2.78,"change":-0.21,"volume":1287,"open":4.0,"high":4.0,"low":2.68,"close":2.78,"bid":2.76,"ask":2.77,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.5248672439651634,"gamma":0.05289433736374465,"theta":-0.023446371651184086,"vega":0.04531645657928219,"rho":0.020931583338318318,"phi":-0.026171183331591408,"bid_iv":0.667465,"mid_iv":0.669673,"ask_iv":0.671882,"smv_vol":0.672,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.03,"average_volume":0,"last_volume":1,"trade_date":1709931545359,"prevclose":2.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"N","bid_date":1709931600000,"asksize":5,"askexch":"N","ask_date":1709931596000,"open_interest":10394,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00028000","description":"PLTR - May 17 2024 $28.00 Put","exch":"Z","type":"option","last":4.04,"change":0.14,"volume":40,"open":3.6,"high":4.05,"low":3.6,"close":4.04,"bid":4.05,"ask":4.1,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.5242578104679767,"gamma":0.05255169284428547,"theta":-0.02341337328095705,"vega":0.04546217029171082,"rho":0.01917300436093383,"phi":-0.02371938559342368,"bid_iv":0.670196,"mid_iv":0.675723,"ask_iv":0.681249,"smv_vol":0.674,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.59,"average_volume":0,"last_volume":1,"trade_date":1709929962395,"prevclose":3.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":753,"bidexch":"D","bid_date":1709931591000,"asksize":13,"askexch":"Z","ask_date":1709931587000,"open_interest":1026,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00028000","description":"PLTR - May 17 2024 $28.00 Call","exch":"Z","type":"option","last":2.41,"change":-0.19,"volume":1166,"open":3.09,"high":3.09,"low":2.35,"close":2.41,"bid":2.39,"ask":2.41,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.47574218953202335,"gamma":0.05255169284428547,"theta":-0.02341337328095705,"vega":0.04546217029171082,"rho":0.01917300436093383,"phi":-0.02371938559342368,"bid_iv":0.669764,"mid_iv":0.671965,"ask_iv":0.674166,"smv_vol":0.674,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.31,"average_volume":0,"last_volume":4,"trade_date":1709931527392,"prevclose":2.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"Z","bid_date":1709931597000,"asksize":17,"askexch":"B","ask_date":1709931600000,"open_interest":14403,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00029000","description":"PLTR - May 17 2024 $29.00 Put","exch":"Z","type":"option","last":4.75,"change":0.35,"volume":255,"open":4.3,"high":4.75,"low":4.2,"close":4.75,"bid":4.7,"ask":4.8,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.5705164789091205,"gamma":0.051432427323754124,"theta":-0.02311640197532407,"vega":0.04511248541564473,"rho":0.017465907236929902,"phi":-0.021411044919261712,"bid_iv":0.667858,"mid_iv":0.679045,"ask_iv":0.690231,"smv_vol":0.676,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.96,"average_volume":0,"last_volume":1,"trade_date":1709917245332,"prevclose":4.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1507,"bidexch":"C","bid_date":1709931571000,"asksize":518,"askexch":"E","ask_date":1709931588000,"open_interest":480,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00029000","description":"PLTR - May 17 2024 $29.00 Call","exch":"Z","type":"option","last":2.09,"change":-0.24,"volume":231,"open":2.5,"high":2.64,"low":2.05,"close":2.09,"bid":2.06,"ask":2.08,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.4294835210908795,"gamma":0.051432427323754124,"theta":-0.02311640197532407,"vega":0.04511248541564473,"rho":0.017465907236929902,"phi":-0.021411044919261712,"bid_iv":0.671217,"mid_iv":0.674544,"ask_iv":0.677871,"smv_vol":0.676,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.30,"average_volume":0,"last_volume":5,"trade_date":1709931440698,"prevclose":2.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":220,"bidexch":"B","bid_date":1709931589000,"asksize":5,"askexch":"C","ask_date":1709931589000,"open_interest":6827,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00030000","description":"PLTR - May 17 2024 $30.00 Put","exch":"Z","type":"option","last":5.45,"change":0.30,"volume":26,"open":4.77,"high":5.6,"low":4.77,"close":5.45,"bid":5.4,"ask":5.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.6134823870810056,"gamma":0.04971110881632058,"theta":-0.02260167662703041,"vega":0.04428211164423119,"rho":0.015842139043396347,"phi":-0.019267356041741124,"bid_iv":0.667323,"mid_iv":0.678787,"ask_iv":0.690252,"smv_vol":0.679,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.83,"average_volume":0,"last_volume":1,"trade_date":1709931472159,"prevclose":5.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1389,"bidexch":"C","bid_date":1709931571000,"asksize":170,"askexch":"E","ask_date":1709931591000,"open_interest":809,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00030000","description":"PLTR - May 17 2024 $30.00 Call","exch":"Z","type":"option","last":1.79,"change":-0.20,"volume":3413,"open":2.24,"high":2.33,"low":1.76,"close":1.79,"bid":1.78,"ask":1.81,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.3865176129189944,"gamma":0.04971110881632058,"theta":-0.02260167662703041,"vega":0.04428211164423119,"rho":0.015842139043396347,"phi":-0.019267356041741124,"bid_iv":0.674954,"mid_iv":0.678343,"ask_iv":0.681732,"smv_vol":0.679,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.05,"average_volume":0,"last_volume":1,"trade_date":1709931270553,"prevclose":1.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":89,"bidexch":"W","bid_date":1709931589000,"asksize":88,"askexch":"B","ask_date":1709931588000,"open_interest":15772,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00031000","description":"PLTR - May 17 2024 $31.00 Put","exch":"Z","type":"option","last":5.55,"change":-0.45,"volume":21,"open":5.55,"high":5.55,"low":5.55,"close":5.55,"bid":6.15,"ask":7.05,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.6528087163126696,"gamma":0.047528962755691725,"theta":-0.021907194298409864,"vega":0.0429960018227879,"rho":0.014325556812354052,"phi":-0.017305558213109862,"bid_iv":0.669179,"mid_iv":0.681084,"ask_iv":0.69299,"smv_vol":0.683,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.50,"average_volume":0,"last_volume":19,"trade_date":1709908512735,"prevclose":6.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1363,"bidexch":"E","bid_date":1709931599000,"asksize":751,"askexch":"X","ask_date":1709931599000,"open_interest":380,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00031000","description":"PLTR - May 17 2024 $31.00 Call","exch":"Z","type":"option","last":1.55,"change":-0.20,"volume":558,"open":2.0,"high":2.05,"low":1.55,"close":1.55,"bid":1.55,"ask":1.56,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.34719128368733043,"gamma":0.047528962755691725,"theta":-0.021907194298409864,"vega":0.0429960018227879,"rho":0.014325556812354052,"phi":-0.017305558213109862,"bid_iv":0.679332,"mid_iv":0.681658,"ask_iv":0.683985,"smv_vol":0.683,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.43,"average_volume":0,"last_volume":3,"trade_date":1709931554824,"prevclose":1.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":57,"bidexch":"Z","bid_date":1709931593000,"asksize":14,"askexch":"H","ask_date":1709931592000,"open_interest":3805,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00032000","description":"PLTR - May 17 2024 $32.00 Put","exch":"Z","type":"option","last":6.95,"change":0.50,"volume":385,"open":6.25,"high":6.95,"low":6.24,"close":6.95,"bid":6.95,"ask":7.05,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.6886417087742119,"gamma":0.045068380876096714,"theta":-0.02107883567970905,"vega":0.04130355019292788,"rho":0.012922812176858837,"phi":-0.015518261866631633,"bid_iv":0.674772,"mid_iv":0.687378,"ask_iv":0.699985,"smv_vol":0.686,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.76,"average_volume":0,"last_volume":8,"trade_date":1709915738831,"prevclose":6.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1097,"bidexch":"E","bid_date":1709931583000,"asksize":153,"askexch":"B","ask_date":1709931574000,"open_interest":491,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00032000","description":"PLTR - May 17 2024 $32.00 Call","exch":"Z","type":"option","last":1.35,"change":-0.16,"volume":1073,"open":1.76,"high":1.76,"low":1.32,"close":1.35,"bid":1.33,"ask":1.36,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.31135829122578806,"gamma":0.045068380876096714,"theta":-0.02107883567970905,"vega":0.04130355019292788,"rho":0.012922812176858837,"phi":-0.015518261866631633,"bid_iv":0.685726,"mid_iv":0.688147,"ask_iv":0.690569,"smv_vol":0.686,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.60,"average_volume":0,"last_volume":150,"trade_date":1709931399424,"prevclose":1.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":350,"bidexch":"D","bid_date":1709931574000,"asksize":122,"askexch":"B","ask_date":1709931590000,"open_interest":4438,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00033000","description":"PLTR - May 17 2024 $33.00 Put","exch":"Z","type":"option","last":7.75,"change":0.50,"volume":44,"open":7.05,"high":8.0,"low":7.05,"close":7.75,"bid":7.8,"ask":7.9,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.7209094788184917,"gamma":0.04243005700517402,"theta":-0.02015069192638529,"vega":0.03924851148972404,"rho":0.01164230421505867,"phi":-0.013909004499268462,"bid_iv":0.672296,"mid_iv":0.685821,"ask_iv":0.699346,"smv_vol":0.691,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.90,"average_volume":0,"last_volume":5,"trade_date":1709930771801,"prevclose":7.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"D","bid_date":1709931594000,"asksize":32,"askexch":"W","ask_date":1709931591000,"open_interest":182,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00033000","description":"PLTR - May 17 2024 $33.00 Call","exch":"Z","type":"option","last":1.19,"change":-0.17,"volume":341,"open":1.48,"high":1.55,"low":1.15,"close":1.19,"bid":1.15,"ask":1.18,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.2790905211815083,"gamma":0.04243005700517402,"theta":-0.02015069192638529,"vega":0.03924851148972404,"rho":0.01164230421505867,"phi":-0.013909004499268462,"bid_iv":0.68732,"mid_iv":0.691142,"ask_iv":0.694964,"smv_vol":0.691,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.50,"average_volume":0,"last_volume":1,"trade_date":1709929714079,"prevclose":1.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":468,"bidexch":"D","bid_date":1709931571000,"asksize":121,"askexch":"E","ask_date":1709931588000,"open_interest":3671,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517C00034000","description":"PLTR - May 17 2024 $34.00 Call","exch":"Z","type":"option","last":1.03,"change":-0.13,"volume":114,"open":1.25,"high":1.28,"low":1.03,"close":1.03,"bid":1.0,"ask":1.03,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.24993790486422254,"gamma":0.039736554725706946,"theta":-0.019163948956420596,"vega":0.03690773301507024,"rho":0.01047409087057277,"phi":-0.01245526070059455,"bid_iv":0.695649,"mid_iv":0.698358,"ask_iv":0.701067,"smv_vol":0.696,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.21,"average_volume":0,"last_volume":1,"trade_date":1709930180494,"prevclose":1.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":652,"bidexch":"D","bid_date":1709931587000,"asksize":142,"askexch":"D","ask_date":1709931587000,"open_interest":1819,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00034000","description":"PLTR - May 17 2024 $34.00 Put","exch":"Z","type":"option","last":8.1,"change":0.10,"volume":80,"open":8.05,"high":8.1,"low":7.95,"close":8.1,"bid":8.65,"ask":8.75,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.7500620951357775,"gamma":0.039736554725706946,"theta":-0.019163948956420596,"vega":0.03690773301507024,"rho":0.01047409087057277,"phi":-0.01245526070059455,"bid_iv":0.675969,"mid_iv":0.69056,"ask_iv":0.705151,"smv_vol":0.696,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.25,"average_volume":0,"last_volume":1,"trade_date":1709913300757,"prevclose":8.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"P","bid_date":1709931584000,"asksize":17,"askexch":"Z","ask_date":1709931577000,"open_interest":88,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517P00035000","description":"PLTR - May 17 2024 $35.00 Put","exch":"Z","type":"option","last":9.4,"change":0.50,"volume":20,"open":8.95,"high":9.4,"low":8.95,"close":9.4,"bid":9.5,"ask":9.6,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7760678759441415,"gamma":0.037043029158188294,"theta":-0.018147316189262498,"vega":0.034327972438114515,"rho":0.009421754611367133,"phi":-0.011158584252157766,"bid_iv":0.688387,"mid_iv":0.703938,"ask_iv":0.719489,"smv_vol":0.703,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.62,"average_volume":0,"last_volume":5,"trade_date":1709929285490,"prevclose":8.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"E","bid_date":1709931580000,"asksize":63,"askexch":"E","ask_date":1709931580000,"open_interest":52,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00035000","description":"PLTR - May 17 2024 $35.00 Call","exch":"Z","type":"option","last":0.88,"change":-0.13,"volume":701,"open":1.19,"high":1.19,"low":0.88,"close":0.88,"bid":0.87,"ask":0.9,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.22393212405585847,"gamma":0.037043029158188294,"theta":-0.018147316189262498,"vega":0.034327972438114515,"rho":0.009421754611367133,"phi":-0.011158584252157766,"bid_iv":0.698233,"mid_iv":0.702352,"ask_iv":0.706471,"smv_vol":0.703,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.88,"average_volume":0,"last_volume":2,"trade_date":1709931086765,"prevclose":1.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":854,"bidexch":"D","bid_date":1709931584000,"asksize":141,"askexch":"D","ask_date":1709931591000,"open_interest":4450,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00036000","description":"PLTR - May 17 2024 $36.00 Put","exch":"Z","type":"option","last":9.65,"change":0.00,"volume":30,"open":9.75,"high":9.75,"low":9.6,"close":9.65,"bid":10.4,"ask":10.5,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.7995590685001932,"gamma":0.03441311751892632,"theta":-0.01712300573400078,"vega":0.031605342610104774,"rho":0.008464989850382494,"phi":-0.009987386155874134,"bid_iv":0.693524,"mid_iv":0.710947,"ask_iv":0.72837,"smv_vol":0.71,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709910756238,"prevclose":9.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":63,"bidexch":"D","bid_date":1709931598000,"asksize":79,"askexch":"D","ask_date":1709931589000,"open_interest":308,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00036000","description":"PLTR - May 17 2024 $36.00 Call","exch":"Z","type":"option","last":0.8,"change":-0.08,"volume":87,"open":1.02,"high":1.04,"low":0.77,"close":0.8,"bid":0.77,"ask":0.79,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.20044093149980682,"gamma":0.03441311751892632,"theta":-0.01712300573400078,"vega":0.031605342610104774,"rho":0.008464989850382494,"phi":-0.009987386155874134,"bid_iv":0.706896,"mid_iv":0.710162,"ask_iv":0.713428,"smv_vol":0.71,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.10,"average_volume":0,"last_volume":1,"trade_date":1709924465825,"prevclose":0.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"N","bid_date":1709931588000,"asksize":133,"askexch":"E","ask_date":1709931589000,"open_interest":3325,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00037000","description":"PLTR - May 17 2024 $37.00 Put","exch":"Z","type":"option","last":11.1,"change":0.20,"volume":33,"open":10.55,"high":11.4,"low":10.5,"close":11.1,"bid":11.3,"ask":11.4,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.8205489374214885,"gamma":0.03187429403271904,"theta":-0.01610401529355108,"vega":0.028775725961695003,"rho":0.007604257617335214,"phi":-0.008940990644523694,"bid_iv":0.696019,"mid_iv":0.715213,"ask_iv":0.734407,"smv_vol":0.716,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.84,"average_volume":0,"last_volume":1,"trade_date":1709927134367,"prevclose":10.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":68,"bidexch":"X","bid_date":1709931597000,"asksize":42,"askexch":"X","ask_date":1709931572000,"open_interest":69,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00037000","description":"PLTR - May 17 2024 $37.00 Call","exch":"Z","type":"option","last":0.72,"change":-0.11,"volume":43,"open":0.91,"high":0.92,"low":0.71,"close":0.72,"bid":0.67,"ask":0.69,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.1794510625785115,"gamma":0.03187429403271904,"theta":-0.01610401529355108,"vega":0.028775725961695003,"rho":0.007604257617335214,"phi":-0.008940990644523694,"bid_iv":0.71135,"mid_iv":0.716581,"ask_iv":0.721812,"smv_vol":0.716,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.26,"average_volume":0,"last_volume":3,"trade_date":1709928449207,"prevclose":0.83,"week_52_high":0.0,"week_52_low":0.0,"bidsize":629,"bidexch":"D","bid_date":1709931587000,"asksize":146,"askexch":"D","ask_date":1709931587000,"open_interest":1662,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00038000","description":"PLTR - May 17 2024 $38.00 Put","exch":"Z","type":"option","last":12.2,"change":0.20,"volume":37,"open":11.6,"high":12.25,"low":11.35,"close":12.2,"bid":12.2,"ask":12.6,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.8393034684652272,"gamma":0.0294467550027121,"theta":-0.015096340477841166,"vega":0.02922739288330144,"rho":0.006830454174055461,"phi":-0.00800611163587206,"bid_iv":0.672057,"mid_iv":0.702179,"ask_iv":0.732301,"smv_vol":0.723,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.67,"average_volume":0,"last_volume":1,"trade_date":1709918795336,"prevclose":12.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":84,"bidexch":"E","bid_date":1709931589000,"asksize":963,"askexch":"E","ask_date":1709931587000,"open_interest":18,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00038000","description":"PLTR - May 17 2024 $38.00 Call","exch":"Z","type":"option","last":0.65,"change":-0.14,"volume":10,"open":0.74,"high":0.8,"low":0.65,"close":0.65,"bid":0.59,"ask":0.62,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.16069653153477276,"gamma":0.0294467550027121,"theta":-0.015096340477841166,"vega":0.02922739288330144,"rho":0.006830454174055461,"phi":-0.00800611163587206,"bid_iv":0.719113,"mid_iv":0.724355,"ask_iv":0.729597,"smv_vol":0.723,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.73,"average_volume":0,"last_volume":1,"trade_date":1709917921624,"prevclose":0.79,"week_52_high":0.0,"week_52_low":0.0,"bidsize":780,"bidexch":"D","bid_date":1709931584000,"asksize":894,"askexch":"E","ask_date":1709931586000,"open_interest":3377,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00039000","description":"PLTR - May 17 2024 $39.00 Put","exch":"Z","type":"option","last":12.5,"change":-0.40,"volume":12,"open":12.5,"high":12.5,"low":12.4,"close":12.5,"bid":13.15,"ask":13.3,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.8559571458499655,"gamma":0.027157475872943804,"theta":-0.014115482430419945,"vega":0.0263388210587842,"rho":0.0061396378334178945,"phi":-0.00717602295807751,"bid_iv":0.69837,"mid_iv":0.722038,"ask_iv":0.745706,"smv_vol":0.729,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.11,"average_volume":0,"last_volume":5,"trade_date":1709913310243,"prevclose":12.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":63,"bidexch":"E","bid_date":1709931594000,"asksize":10,"askexch":"J","ask_date":1709931595000,"open_interest":33,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00039000","description":"PLTR - May 17 2024 $39.00 Call","exch":"Z","type":"option","last":0.57,"change":-0.10,"volume":28,"open":0.66,"high":0.68,"low":0.55,"close":0.57,"bid":0.53,"ask":0.55,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.14404285415003443,"gamma":0.027157475872943804,"theta":-0.014115482430419945,"vega":0.0263388210587842,"rho":0.0061396378334178945,"phi":-0.00717602295807751,"bid_iv":0.728557,"mid_iv":0.73237,"ask_iv":0.736183,"smv_vol":0.729,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.93,"average_volume":0,"last_volume":1,"trade_date":1709924819778,"prevclose":0.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931600000,"asksize":822,"askexch":"E","ask_date":1709931591000,"open_interest":1097,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240517P00040000","description":"PLTR - May 17 2024 $40.00 Put","exch":"Z","type":"option","last":13.25,"change":-0.05,"volume":5,"open":13.25,"high":13.25,"low":13.25,"close":13.25,"bid":14.1,"ask":14.4,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.8709259330152014,"gamma":0.025002774727020047,"theta":-0.01316531935256408,"vega":0.02346535261032701,"rho":0.005516195588125164,"phi":-0.00642996471955648,"bid_iv":0.703323,"mid_iv":0.729752,"ask_iv":0.756181,"smv_vol":0.736,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.38,"average_volume":0,"last_volume":5,"trade_date":1709910078173,"prevclose":13.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"X","bid_date":1709931588000,"asksize":87,"askexch":"Z","ask_date":1709931591000,"open_interest":23,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240517C00040000","description":"PLTR - May 17 2024 $40.00 Call","exch":"Z","type":"option","last":0.47,"change":-0.08,"volume":1050,"open":0.6,"high":0.65,"low":0.47,"close":0.47,"bid":0.47,"ask":0.48,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.12907406698479862,"gamma":0.025002774727020047,"theta":-0.01316531935256408,"vega":0.02346535261032701,"rho":0.005516195588125164,"phi":-0.00642996471955648,"bid_iv":0.73546,"mid_iv":0.737304,"ask_iv":0.739148,"smv_vol":0.736,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.55,"average_volume":0,"last_volume":1,"trade_date":1709931233818,"prevclose":0.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":515,"bidexch":"D","bid_date":1709931594000,"asksize":91,"askexch":"D","ask_date":1709931592000,"open_interest":5830,"contract_size":100,"expiration_date":"2024-05-17","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + string: '{"options":{"option":[{"symbol":"PLTR240726P00015000","description":"PLTR + Jul 26 2024 $15.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.11,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-5.197042538265E-4,"gamma":5.443763605357965E-4,"theta":-0.0027367411893898406,"vega":1.6309354632118914E-4,"rho":0.017116479888902743,"phi":-0.027096281609573225,"bid_iv":0.0,"mid_iv":0.826009,"ask_iv":0.826009,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"X","bid_date":1718393262000,"asksize":88,"askexch":"N","ask_date":1718394907000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00015000","description":"PLTR + Jul 26 2024 $15.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.35,"ask":10.5,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9994802957461735,"gamma":5.443763605357965E-4,"theta":-0.0027367411893898406,"vega":1.6309354632118914E-4,"rho":0.017116479888902743,"phi":-0.027096281609573225,"bid_iv":0.0,"mid_iv":1.998215,"ask_iv":1.998215,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":121,"bidexch":"N","bid_date":1718395128000,"asksize":120,"askexch":"N","ask_date":1718395129000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00016000","description":"PLTR + Jul 26 2024 $16.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.12,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.002303197576472,"gamma":0.0021396472582874476,"theta":-0.003124881542042831,"vega":6.276726926418627E-4,"rho":0.018207535850728252,"phi":-0.027047497095367135,"bid_iv":0.0,"mid_iv":0.739904,"ask_iv":0.739904,"smv_vol":0.532,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1718392824000,"asksize":158,"askexch":"E","ask_date":1718395132000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00016000","description":"PLTR + Jul 26 2024 $16.00 Call","exch":"Z","type":"option","last":7.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.8,"ask":9.1,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.997696802423528,"gamma":0.0021396472582874476,"theta":-0.003124881542042831,"vega":6.276726926418627E-4,"rho":0.018207535850728252,"phi":-0.027047497095367135,"bid_iv":0.0,"mid_iv":1.734192,"ask_iv":1.734192,"smv_vol":0.532,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718033117478,"prevclose":7.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395167000,"asksize":7,"askexch":"Q","ask_date":1718395167000,"open_interest":14,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00017000","description":"PLTR + Jul 26 2024 $17.00 Put","exch":"Z","type":"option","last":0.07,"change":null,"volume":1,"open":0.07,"high":0.07,"low":0.07,"close":0.07,"bid":0.01,"ask":0.14,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0085810051223504,"gamma":0.006857216617985465,"theta":-0.003938014251626155,"vega":0.0019244177317462993,"rho":0.019168973930150403,"phi":-0.026876022927169174,"bid_iv":0.425949,"mid_iv":0.546882,"ask_iv":0.667814,"smv_vol":0.523,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1718379080302,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":144,"bidexch":"E","bid_date":1718395198000,"asksize":382,"askexch":"E","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00017000","description":"PLTR + Jul 26 2024 $17.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.4,"ask":8.05,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9914189948776496,"gamma":0.006857216617985465,"theta":-0.003938014251626155,"vega":0.0019244177317462993,"rho":0.019168973930150403,"phi":-0.026876022927169174,"bid_iv":0.0,"mid_iv":1.560861,"ask_iv":1.560861,"smv_vol":0.523,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"N","bid_date":1718395133000,"asksize":5,"askexch":"Q","ask_date":1718395170000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00017500","description":"PLTR + Jul 26 2024 $17.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.15,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0144144123982749,"gamma":0.01078936776594452,"theta":-0.00454287151559987,"vega":0.0030289795671399745,"rho":0.019571497468944515,"phi":-0.026716809573557043,"bid_iv":0.432586,"mid_iv":0.532091,"ask_iv":0.631597,"smv_vol":0.514,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":126,"bidexch":"E","bid_date":1718395199000,"asksize":639,"askexch":"E","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00017500","description":"PLTR + Jul 26 2024 $17.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.85,"ask":7.15,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9855855876017251,"gamma":0.01078936776594452,"theta":-0.00454287151559987,"vega":0.0030289795671399745,"rho":0.019571497468944515,"phi":-0.026716809573557043,"bid_iv":0.0,"mid_iv":1.3149,"ask_iv":1.3149,"smv_vol":0.514,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"Q","bid_date":1718395197000,"asksize":111,"askexch":"Q","ask_date":1718395197000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00018000","description":"PLTR + Jul 26 2024 $18.00 Put","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":20,"open":null,"high":null,"low":null,"close":null,"bid":0.03,"ask":0.16,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0230989774524117,"gamma":0.01615888741259264,"theta":-0.005329420454512235,"vega":0.004578945951230062,"rho":0.019890813518945276,"phi":-0.026479910832932774,"bid_iv":0.423672,"mid_iv":0.508702,"ask_iv":0.593731,"smv_vol":0.503,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718295785767,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":881,"bidexch":"E","bid_date":1718395167000,"asksize":1724,"askexch":"E","ask_date":1718395135000,"open_interest":30,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00018000","description":"PLTR + Jul 26 2024 $18.00 Call","exch":"Z","type":"option","last":5.61,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":4.95,"ask":5.85,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9769010225475883,"gamma":0.01615888741259264,"theta":-0.005329420454512235,"vega":0.004578945951230062,"rho":0.019890813518945276,"phi":-0.026479910832932774,"bid_iv":0.0,"mid_iv":0.589383,"ask_iv":0.589383,"smv_vol":0.503,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718288486255,"prevclose":5.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395136000,"asksize":33,"askexch":"N","ask_date":1718395133000,"open_interest":12,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726C00018500","description":"PLTR + Jul 26 2024 $18.50 Call","exch":"Z","type":"option","last":5.11,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":4.45,"ask":5.35,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9646847908572215,"gamma":0.023071450112174333,"theta":-0.006301811742847842,"vega":0.006645020060767062,"rho":0.02010648578496981,"phi":-0.026146848624009067,"bid_iv":0.0,"mid_iv":0.539988,"ask_iv":0.539988,"smv_vol":0.465,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718301738095,"prevclose":5.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"B","bid_date":1718395167000,"asksize":16,"askexch":"Q","ask_date":1718395198000,"open_interest":5,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00018500","description":"PLTR + Jul 26 2024 $18.50 Put","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":8,"open":0.08,"high":0.08,"low":0.08,"close":0.08,"bid":0.04,"ask":0.19,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0353152091427785,"gamma":0.023071450112174333,"theta":-0.006301811742847842,"vega":0.006645020060767062,"rho":0.02010648578496981,"phi":-0.026146848624009067,"bid_iv":0.406887,"mid_iv":0.489738,"ask_iv":0.572588,"smv_vol":0.465,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":8,"trade_date":1718387739642,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":390,"bidexch":"E","bid_date":1718395199000,"asksize":905,"askexch":"E","ask_date":1718395198000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00019000","description":"PLTR + Jul 26 2024 $19.00 Call","exch":"Z","type":"option","last":5.0,"change":0.00,"volume":10,"open":null,"high":null,"low":null,"close":null,"bid":4.15,"ask":5.95,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9479045298669028,"gamma":0.03164976935825457,"theta":-0.007481831197672688,"vega":0.008468821030217615,"rho":0.020187274908955347,"phi":-0.025689601219625047,"bid_iv":0.0,"mid_iv":1.173168,"ask_iv":1.173168,"smv_vol":0.447,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718217865260,"prevclose":5.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"Z","bid_date":1718395135000,"asksize":11,"askexch":"T","ask_date":1718395169000,"open_interest":12,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00019000","description":"PLTR + Jul 26 2024 $19.00 Put","exch":"Z","type":"option","last":0.1,"change":-0.01,"volume":10,"open":0.1,"high":0.1,"low":0.1,"close":0.1,"bid":0.09,"ask":0.12,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0520954701330972,"gamma":0.03164976935825457,"theta":-0.007481831197672688,"vega":0.008468821030217615,"rho":0.020187274908955347,"phi":-0.025689601219625047,"bid_iv":0.436202,"mid_iv":0.451265,"ask_iv":0.466328,"smv_vol":0.447,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-9.10,"average_volume":0,"last_volume":10,"trade_date":1718391381776,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":628,"bidexch":"E","bid_date":1718395132000,"asksize":963,"askexch":"E","ask_date":1718395132000,"open_interest":46,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00019500","description":"PLTR + Jul 26 2024 $19.50 Call","exch":"Z","type":"option","last":4.16,"change":0.00,"volume":10,"open":null,"high":null,"low":null,"close":null,"bid":2.45,"ask":5.35,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9261270383841217,"gamma":0.041686282049760166,"theta":-0.008801314532020108,"vega":0.010874275495274068,"rho":0.02011914717876677,"phi":-0.025096480733566295,"bid_iv":0.0,"mid_iv":1.158541,"ask_iv":1.158541,"smv_vol":0.436,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718293444151,"prevclose":4.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1718395169000,"asksize":169,"askexch":"N","ask_date":1718395198000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00019500","description":"PLTR + Jul 26 2024 $19.50 Put","exch":"Z","type":"option","last":0.14,"change":0.02,"volume":14,"open":0.15,"high":0.15,"low":0.13,"close":0.14,"bid":0.13,"ask":0.15,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0738729616158783,"gamma":0.041686282049760166,"theta":-0.008801314532020108,"vega":0.010874275495274068,"rho":0.02011914717876677,"phi":-0.025096480733566295,"bid_iv":0.42349,"mid_iv":0.43601,"ask_iv":0.448529,"smv_vol":0.436,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.67,"average_volume":0,"last_volume":10,"trade_date":1718394777418,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":287,"bidexch":"E","bid_date":1718395198000,"asksize":12,"askexch":"H","ask_date":1718395198000,"open_interest":266,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726P00020000","description":"PLTR + Jul 26 2024 $20.00 Put","exch":"Z","type":"option","last":0.2,"change":0.00,"volume":39,"open":0.14,"high":0.22,"low":0.14,"close":0.2,"bid":0.17,"ask":0.2,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.100921982109472,"gamma":0.05290015618949533,"theta":-0.010210914141778224,"vega":0.014249644913436967,"rho":0.01989251714099221,"phi":-0.02436012679574162,"bid_iv":0.418578,"mid_iv":0.429043,"ask_iv":0.439509,"smv_vol":0.42,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718379502701,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":172,"bidexch":"E","bid_date":1718395199000,"asksize":3,"askexch":"Q","ask_date":1718394712000,"open_interest":205,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00020000","description":"PLTR + Jul 26 2024 $20.00 Call","exch":"Z","type":"option","last":3.9,"change":0.00,"volume":5,"open":3.9,"high":3.9,"low":3.9,"close":3.9,"bid":3.85,"ask":4.9,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.899078017890528,"gamma":0.05290015618949533,"theta":-0.010210914141778224,"vega":0.014249644913436967,"rho":0.01989251714099221,"phi":-0.02436012679574162,"bid_iv":0.390796,"mid_iv":0.424754,"ask_iv":0.458711,"smv_vol":0.42,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718394747376,"prevclose":3.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"X","bid_date":1718395198000,"asksize":338,"askexch":"E","ask_date":1718395199000,"open_interest":14,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726C00020500","description":"PLTR + Jul 26 2024 $20.50 Call","exch":"Z","type":"option","last":3.4,"change":-0.29,"volume":1,"open":3.4,"high":3.4,"low":3.4,"close":3.4,"bid":1.93,"ask":4.2,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.8662323640311368,"gamma":0.06498690486098581,"theta":-0.011676211190454458,"vega":0.017932466844240706,"rho":0.019489701299713315,"phi":-0.023466386771531234,"bid_iv":0.0,"mid_iv":0.469436,"ask_iv":0.469436,"smv_vol":0.42,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.86,"average_volume":0,"last_volume":1,"trade_date":1718385104160,"prevclose":3.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"X","bid_date":1718395199000,"asksize":234,"askexch":"E","ask_date":1718395198000,"open_interest":21,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00020500","description":"PLTR + Jul 26 2024 $20.50 Put","exch":"Z","type":"option","last":0.22,"change":-0.04,"volume":6,"open":0.35,"high":0.35,"low":0.22,"close":0.22,"bid":0.23,"ask":0.25,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.1337676359688632,"gamma":0.06498690486098581,"theta":-0.011676211190454458,"vega":0.017932466844240706,"rho":0.019489701299713315,"phi":-0.023466386771531234,"bid_iv":0.411091,"mid_iv":0.416662,"ask_iv":0.422233,"smv_vol":0.42,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-15.39,"average_volume":0,"last_volume":2,"trade_date":1718392644530,"prevclose":0.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":8,"bidexch":"B","bid_date":1718395127000,"asksize":1,"askexch":"H","ask_date":1718390592000,"open_interest":188,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726P00021000","description":"PLTR + Jul 26 2024 $21.00 Put","exch":"Z","type":"option","last":0.33,"change":-0.02,"volume":149,"open":0.3,"high":0.43,"low":0.3,"close":0.33,"bid":0.32,"ask":0.35,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.1726053468228164,"gamma":0.07747790104975334,"theta":-0.013110589419666795,"vega":0.020019929607121744,"rho":0.018902210666983596,"phi":-0.022410089997038085,"bid_iv":0.409497,"mid_iv":0.416927,"ask_iv":0.424356,"smv_vol":0.415,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-5.72,"average_volume":0,"last_volume":2,"trade_date":1718387196945,"prevclose":0.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"N","bid_date":1718395168000,"asksize":44,"askexch":"X","ask_date":1718395200000,"open_interest":300,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00021000","description":"PLTR + Jul 26 2024 $21.00 Call","exch":"Z","type":"option","last":3.05,"change":0.14,"volume":2,"open":3.05,"high":3.05,"low":3.05,"close":3.05,"bid":2.48,"ask":3.25,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.8273946531771836,"gamma":0.07747790104975334,"theta":-0.013110589419666795,"vega":0.020019929607121744,"rho":0.018902210666983596,"phi":-0.022410089997038085,"bid_iv":0.0,"mid_iv":0.570278,"ask_iv":0.570278,"smv_vol":0.415,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.82,"average_volume":0,"last_volume":1,"trade_date":1718390770948,"prevclose":2.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":289,"bidexch":"E","bid_date":1718395199000,"asksize":989,"askexch":"E","ask_date":1718395199000,"open_interest":69,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726C00021500","description":"PLTR + Jul 26 2024 $21.50 Call","exch":"Z","type":"option","last":2.66,"change":0.23,"volume":4,"open":2.18,"high":2.66,"low":2.18,"close":2.66,"bid":2.44,"ask":2.87,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.7824193460283507,"gamma":0.08971011082647178,"theta":-0.014444052434910808,"vega":0.023710605015487073,"rho":0.018121452460548037,"phi":-0.021187469467776054,"bid_iv":0.3927,"mid_iv":0.409899,"ask_iv":0.427098,"smv_vol":0.412,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.47,"average_volume":0,"last_volume":1,"trade_date":1718382147768,"prevclose":2.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":206,"bidexch":"E","bid_date":1718395199000,"asksize":417,"askexch":"E","ask_date":1718395198000,"open_interest":21,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00021500","description":"PLTR + Jul 26 2024 $21.50 Put","exch":"Z","type":"option","last":0.44,"change":-0.03,"volume":30,"open":0.49,"high":0.54,"low":0.42,"close":0.44,"bid":0.29,"ask":0.46,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.2175806539716493,"gamma":0.08971011082647178,"theta":-0.014444052434910808,"vega":0.023710605015487073,"rho":0.018121452460548037,"phi":-0.021187469467776054,"bid_iv":0.402289,"mid_iv":0.410705,"ask_iv":0.419122,"smv_vol":0.412,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-6.39,"average_volume":0,"last_volume":10,"trade_date":1718394777418,"prevclose":0.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":210,"bidexch":"E","bid_date":1718395199000,"asksize":564,"askexch":"E","ask_date":1718395132000,"open_interest":217,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726P00022000","description":"PLTR + Jul 26 2024 $22.00 Put","exch":"Z","type":"option","last":0.56,"change":-0.05,"volume":221,"open":0.63,"high":0.71,"low":0.53,"close":0.56,"bid":0.39,"ask":0.59,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2679845224704613,"gamma":0.10101481059625826,"theta":-0.015625461442992115,"vega":0.026981005320939753,"rho":0.017164773530055282,"phi":-0.019817929381993338,"bid_iv":0.401763,"mid_iv":0.407412,"ask_iv":0.413061,"smv_vol":0.41,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.20,"average_volume":0,"last_volume":2,"trade_date":1718394706451,"prevclose":0.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":123,"bidexch":"U","bid_date":1718395199000,"asksize":150,"askexch":"B","ask_date":1718395199000,"open_interest":495,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00022000","description":"PLTR + Jul 26 2024 $22.00 Call","exch":"Z","type":"option","last":2.23,"change":0.08,"volume":15,"open":1.86,"high":2.23,"low":1.86,"close":2.23,"bid":2.25,"ask":2.43,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7320154775295387,"gamma":0.10101481059625826,"theta":-0.015625461442992115,"vega":0.026981005320939753,"rho":0.017164773530055282,"phi":-0.019817929381993338,"bid_iv":0.372258,"mid_iv":0.421901,"ask_iv":0.471544,"smv_vol":0.41,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.73,"average_volume":0,"last_volume":2,"trade_date":1718385319100,"prevclose":2.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395199000,"asksize":467,"askexch":"E","ask_date":1718395199000,"open_interest":131,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726C00022500","description":"PLTR + Jul 26 2024 $22.50 Call","exch":"Z","type":"option","last":1.96,"change":0.15,"volume":4,"open":2.01,"high":2.01,"low":1.96,"close":1.96,"bid":1.16,"ask":2.45,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.6765282195831485,"gamma":0.11035582480066403,"theta":-0.01656113121971357,"vega":0.02863500278880803,"rho":0.016033961865220374,"phi":-0.01831110832073435,"bid_iv":0.0,"mid_iv":0.717161,"ask_iv":0.717161,"smv_vol":0.41,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.29,"average_volume":0,"last_volume":1,"trade_date":1718394301194,"prevclose":1.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":147,"bidexch":"E","bid_date":1718395199000,"asksize":348,"askexch":"E","ask_date":1718395199000,"open_interest":95,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00022500","description":"PLTR + Jul 26 2024 $22.50 Put","exch":"Z","type":"option","last":0.73,"change":-0.07,"volume":19,"open":0.9,"high":0.92,"low":0.71,"close":0.73,"bid":0.73,"ask":0.76,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.3234717804168515,"gamma":0.11035582480066403,"theta":-0.01656113121971357,"vega":0.02863500278880803,"rho":0.016033961865220374,"phi":-0.01831110832073435,"bid_iv":0.400952,"mid_iv":0.40618,"ask_iv":0.411408,"smv_vol":0.41,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.75,"average_volume":0,"last_volume":1,"trade_date":1718394706451,"prevclose":0.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":146,"bidexch":"E","bid_date":1718395168000,"asksize":114,"askexch":"B","ask_date":1718395199000,"open_interest":281,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726P00023000","description":"PLTR + Jul 26 2024 $23.00 Put","exch":"Z","type":"option","last":0.92,"change":-0.08,"volume":146,"open":1.05,"high":1.22,"low":0.92,"close":0.92,"bid":0.93,"ask":0.97,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3821723839052941,"gamma":0.11718796575873948,"theta":-0.017224010847023928,"vega":0.030684942982891563,"rho":0.014780259342445739,"phi":-0.016717851947234408,"bid_iv":0.403529,"mid_iv":0.408415,"ask_iv":0.413302,"smv_vol":0.408,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.00,"average_volume":0,"last_volume":1,"trade_date":1718394740585,"prevclose":1.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1718395198000,"asksize":71,"askexch":"Z","ask_date":1718395198000,"open_interest":343,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00023000","description":"PLTR + Jul 26 2024 $23.00 Call","exch":"Z","type":"option","last":1.69,"change":0.20,"volume":59,"open":1.28,"high":1.69,"low":1.28,"close":1.69,"bid":1.64,"ask":1.98,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6178276160947059,"gamma":0.11718796575873948,"theta":-0.017224010847023928,"vega":0.030684942982891563,"rho":0.014780259342445739,"phi":-0.016717851947234408,"bid_iv":0.392941,"mid_iv":0.415738,"ask_iv":0.438535,"smv_vol":0.408,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.43,"average_volume":0,"last_volume":1,"trade_date":1718394187949,"prevclose":1.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"B","bid_date":1718395198000,"asksize":612,"askexch":"E","ask_date":1718395199000,"open_interest":278,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00023500","description":"PLTR + Jul 26 2024 $23.50 Put","exch":"Z","type":"option","last":1.12,"change":-0.14,"volume":63,"open":1.17,"high":1.22,"low":1.12,"close":1.12,"bid":1.15,"ask":1.28,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.4424686146190556,"gamma":0.12095356225208734,"theta":-0.01757631679522903,"vega":0.03158932806640952,"rho":0.013444772767291373,"phi":-0.01508216900036885,"bid_iv":0.399083,"mid_iv":0.405422,"ask_iv":0.411761,"smv_vol":0.409,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-11.12,"average_volume":0,"last_volume":1,"trade_date":1718394108997,"prevclose":1.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"Z","bid_date":1718395199000,"asksize":315,"askexch":"E","ask_date":1718395199000,"open_interest":188,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00023500","description":"PLTR + Jul 26 2024 $23.50 Call","exch":"Z","type":"option","last":1.43,"change":0.17,"volume":72,"open":0.87,"high":1.43,"low":0.87,"close":1.43,"bid":1.28,"ask":1.5,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.5575313853809444,"gamma":0.12095356225208734,"theta":-0.01757631679522903,"vega":0.03158932806640952,"rho":0.013444772767291373,"phi":-0.01508216900036885,"bid_iv":0.394949,"mid_iv":0.402869,"ask_iv":0.410789,"smv_vol":0.409,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.50,"average_volume":0,"last_volume":1,"trade_date":1718392213163,"prevclose":1.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"Q","bid_date":1718395199000,"asksize":407,"askexch":"E","ask_date":1718395199000,"open_interest":299,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00024000","description":"PLTR + Jul 26 2024 $24.00 Put","exch":"Z","type":"option","last":1.45,"change":-0.15,"volume":9,"open":1.66,"high":1.66,"low":1.45,"close":1.45,"bid":1.1,"ask":1.6,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.5023159201842619,"gamma":0.121447734625772,"theta":-0.017599809602609547,"vega":0.03186444884797518,"rho":0.012082194514557094,"phi":-0.013459543659610773,"bid_iv":0.397112,"mid_iv":0.430226,"ask_iv":0.46334,"smv_vol":0.409,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-9.38,"average_volume":0,"last_volume":2,"trade_date":1718393707359,"prevclose":1.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":213,"bidexch":"E","bid_date":1718395199000,"asksize":952,"askexch":"E","ask_date":1718395199000,"open_interest":33,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00024000","description":"PLTR + Jul 26 2024 $24.00 Call","exch":"Z","type":"option","last":1.22,"change":0.19,"volume":239,"open":0.9,"high":1.25,"low":0.61,"close":1.22,"bid":1.15,"ask":1.21,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.4976840798157382,"gamma":0.121447734625772,"theta":-0.017599809602609547,"vega":0.03186444884797518,"rho":0.012082194514557094,"phi":-0.013459543659610773,"bid_iv":0.396279,"mid_iv":0.404129,"ask_iv":0.411978,"smv_vol":0.409,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":18.45,"average_volume":0,"last_volume":1,"trade_date":1718393372932,"prevclose":1.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":229,"bidexch":"E","bid_date":1718395170000,"asksize":60,"askexch":"B","ask_date":1718395131000,"open_interest":4426,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00024500","description":"PLTR + Jul 26 2024 $24.50 Put","exch":"Z","type":"option","last":1.82,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.56,"ask":2.18,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.5599148453594333,"gamma":0.11898960246821527,"theta":-0.017348804499216493,"vega":0.031803602507799206,"rho":0.010743849032318334,"phi":-0.011898673366594892,"bid_iv":0.39841,"mid_iv":0.415924,"ask_iv":0.433437,"smv_vol":0.415,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718298376466,"prevclose":1.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":157,"bidexch":"E","bid_date":1718395199000,"asksize":363,"askexch":"E","ask_date":1718395199000,"open_interest":50,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00024500","description":"PLTR + Jul 26 2024 $24.50 Call","exch":"Z","type":"option","last":1.01,"change":0.14,"volume":19,"open":0.74,"high":1.01,"low":0.74,"close":1.01,"bid":0.95,"ask":1.04,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.4400851546405668,"gamma":0.11898960246821527,"theta":-0.017348804499216493,"vega":0.031803602507799206,"rho":0.010743849032318334,"phi":-0.011898673366594892,"bid_iv":0.394561,"mid_iv":0.404157,"ask_iv":0.413752,"smv_vol":0.415,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.10,"average_volume":0,"last_volume":1,"trade_date":1718392003211,"prevclose":0.87,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"B","bid_date":1718395199000,"asksize":1136,"askexch":"E","ask_date":1718395135000,"open_interest":407,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00025000","description":"PLTR + Jul 26 2024 $25.00 Put","exch":"Z","type":"option","last":1.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.97,"ask":2.28,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.6141563016188814,"gamma":0.1143205999272717,"theta":-0.016806917330656385,"vega":0.03018708238267489,"rho":0.009465849705821216,"phi":-0.010429425331137665,"bid_iv":0.399455,"mid_iv":0.448081,"ask_iv":0.496706,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":27,"trade_date":1718202096826,"prevclose":1.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"E","bid_date":1718395199000,"asksize":958,"askexch":"E","ask_date":1718395199000,"open_interest":47,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00025000","description":"PLTR + Jul 26 2024 $25.00 Call","exch":"Z","type":"option","last":0.83,"change":0.12,"volume":212,"open":0.65,"high":0.83,"low":0.55,"close":0.83,"bid":0.78,"ask":0.84,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.3858436983811186,"gamma":0.1143205999272717,"theta":-0.016806917330656385,"vega":0.03018708238267489,"rho":0.009465849705821216,"phi":-0.010429425331137665,"bid_iv":0.399718,"mid_iv":0.407995,"ask_iv":0.416272,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.91,"average_volume":0,"last_volume":1,"trade_date":1718394927996,"prevclose":0.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"E","bid_date":1718395199000,"asksize":1,"askexch":"N","ask_date":1718395130000,"open_interest":1111,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00025500","description":"PLTR + Jul 26 2024 $25.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.34,"ask":2.55,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.6632579936561748,"gamma":0.1075204628859161,"theta":-0.016106253889302036,"vega":0.029199662103136757,"rho":0.008292044587829497,"phi":-0.009100096879377517,"bid_iv":0.37821,"mid_iv":0.411342,"ask_iv":0.444473,"smv_vol":0.418,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":219,"bidexch":"E","bid_date":1718395170000,"asksize":344,"askexch":"E","ask_date":1718395170000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00025500","description":"PLTR + Jul 26 2024 $25.50 Call","exch":"Z","type":"option","last":0.65,"change":0.08,"volume":19,"open":0.55,"high":0.65,"low":0.55,"close":0.65,"bid":0.64,"ask":1.85,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.3367420063438252,"gamma":0.1075204628859161,"theta":-0.016106253889302036,"vega":0.029199662103136757,"rho":0.008292044587829497,"phi":-0.009100096879377517,"bid_iv":0.403249,"mid_iv":0.410088,"ask_iv":0.416928,"smv_vol":0.418,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.04,"average_volume":0,"last_volume":1,"trade_date":1718394675602,"prevclose":0.57,"week_52_high":0.0,"week_52_low":0.0,"bidsize":117,"bidexch":"E","bid_date":1718395199000,"asksize":808,"askexch":"E","ask_date":1718395199000,"open_interest":204,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00026000","description":"PLTR + Jul 26 2024 $26.00 Put","exch":"Z","type":"option","last":2.41,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.69,"ask":2.93,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.7091620645232974,"gamma":0.10016792443178578,"theta":-0.015140550287795927,"vega":0.027959351911287754,"rho":0.007190009956822003,"phi":-0.007857607284833534,"bid_iv":0.401504,"mid_iv":0.430861,"ask_iv":0.460219,"smv_vol":0.416,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1718201022748,"prevclose":2.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"E","bid_date":1718395199000,"asksize":192,"askexch":"E","ask_date":1718395199000,"open_interest":69,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00026000","description":"PLTR + Jul 26 2024 $26.00 Call","exch":"Z","type":"option","last":0.55,"change":0.07,"volume":115,"open":0.48,"high":0.55,"low":0.36,"close":0.55,"bid":0.52,"ask":0.57,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.29083793547670256,"gamma":0.10016792443178578,"theta":-0.015140550287795927,"vega":0.027959351911287754,"rho":0.007190009956822003,"phi":-0.007857607284833534,"bid_iv":0.405592,"mid_iv":0.415028,"ask_iv":0.424465,"smv_vol":0.416,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.59,"average_volume":0,"last_volume":2,"trade_date":1718394918116,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":304,"bidexch":"E","bid_date":1718395199000,"asksize":284,"askexch":"B","ask_date":1718395199000,"open_interest":380,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726C00026500","description":"PLTR + Jul 26 2024 $26.50 Call","exch":"Z","type":"option","last":0.43,"change":0.06,"volume":25,"open":0.29,"high":0.46,"low":0.29,"close":0.43,"bid":0.4,"ask":0.48,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.25250369370018144,"gamma":0.09156744169615351,"theta":-0.01429461849163279,"vega":0.026463617229179684,"rho":0.006256572434163222,"phi":-0.006820678160601723,"bid_iv":0.395634,"mid_iv":0.427029,"ask_iv":0.458424,"smv_vol":0.423,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.22,"average_volume":0,"last_volume":2,"trade_date":1718394812374,"prevclose":0.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"U","bid_date":1718395168000,"asksize":536,"askexch":"E","ask_date":1718395199000,"open_interest":110,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00026500","description":"PLTR + Jul 26 2024 $26.50 Put","exch":"Z","type":"option","last":3.19,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":2.7,"ask":3.3,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.7474963062998186,"gamma":0.09156744169615351,"theta":-0.01429461849163279,"vega":0.026463617229179684,"rho":0.006256572434163222,"phi":-0.006820678160601723,"bid_iv":0.0,"mid_iv":0.559584,"ask_iv":0.559584,"smv_vol":0.423,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718220674505,"prevclose":3.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":135,"bidexch":"E","bid_date":1718395198000,"asksize":433,"askexch":"E","ask_date":1718395198000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726P00027000","description":"PLTR + Jul 26 2024 $27.00 Put","exch":"Z","type":"option","last":3.5,"change":null,"volume":4,"open":3.5,"high":3.5,"low":3.5,"close":3.5,"bid":3.6,"ask":3.7,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.7834807320353099,"gamma":0.08325352030825403,"theta":-0.013176573386316077,"vega":0.02268139737464864,"rho":0.005380521824475215,"phi":-0.005847375968426327,"bid_iv":0.390433,"mid_iv":0.417838,"ask_iv":0.445243,"smv_vol":0.428,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":4,"trade_date":1718376731446,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"U","bid_date":1718395170000,"asksize":303,"askexch":"E","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00027000","description":"PLTR + Jul 26 2024 $27.00 Call","exch":"Z","type":"option","last":0.36,"change":0.06,"volume":29,"open":0.3,"high":0.36,"low":0.3,"close":0.36,"bid":0.35,"ask":0.38,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.21651926796469012,"gamma":0.08325352030825403,"theta":-0.013176573386316077,"vega":0.02268139737464864,"rho":0.005380521824475215,"phi":-0.005847375968426327,"bid_iv":0.416039,"mid_iv":0.422617,"ask_iv":0.429194,"smv_vol":0.428,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.00,"average_volume":0,"last_volume":10,"trade_date":1718394777418,"prevclose":0.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":308,"bidexch":"D","bid_date":1718395199000,"asksize":346,"askexch":"B","ask_date":1718395199000,"open_interest":479,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726C00027500","description":"PLTR + Jul 26 2024 $27.50 Call","exch":"Z","type":"option","last":0.32,"change":0.07,"volume":40,"open":0.27,"high":0.32,"low":0.27,"close":0.32,"bid":0.28,"ask":0.34,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.18373777865589405,"gamma":0.07497214122372071,"theta":-0.011940537130435426,"vega":0.020843833194105744,"rho":0.0045795640179899415,"phi":-0.004960898241090916,"bid_iv":0.417062,"mid_iv":0.436662,"ask_iv":0.456261,"smv_vol":0.427,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":28.00,"average_volume":0,"last_volume":1,"trade_date":1718391534798,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":477,"bidexch":"E","bid_date":1718395199000,"asksize":1274,"askexch":"E","ask_date":1718395199000,"open_interest":106,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00027500","description":"PLTR + Jul 26 2024 $27.50 Put","exch":"Z","type":"option","last":3.95,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.05,"ask":4.15,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.816262221344106,"gamma":0.07497214122372071,"theta":-0.011940537130435426,"vega":0.020843833194105744,"rho":0.0045795640179899415,"phi":-0.004960898241090916,"bid_iv":0.391227,"mid_iv":0.424516,"ask_iv":0.457806,"smv_vol":0.427,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718217842910,"prevclose":3.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Z","bid_date":1718395134000,"asksize":459,"askexch":"E","ask_date":1718395135000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726P00028000","description":"PLTR + Jul 26 2024 $28.00 Put","exch":"Z","type":"option","last":4.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.25,"ask":4.6,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.841841351320958,"gamma":0.0669638125860893,"theta":-0.010974887566753508,"vega":0.018921680526310783,"rho":0.003948159422831598,"phi":-0.004269606184159613,"bid_iv":0.0,"mid_iv":0.460496,"ask_iv":0.460496,"smv_vol":0.435,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718201607713,"prevclose":4.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":225,"bidexch":"E","bid_date":1718395135000,"asksize":160,"askexch":"E","ask_date":1718395135000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00028000","description":"PLTR + Jul 26 2024 $28.00 Call","exch":"Z","type":"option","last":0.25,"change":0.02,"volume":33,"open":0.19,"high":0.25,"low":0.17,"close":0.25,"bid":0.23,"ask":0.26,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.15815864867904192,"gamma":0.0669638125860893,"theta":-0.010974887566753508,"vega":0.018921680526310783,"rho":0.003948159422831598,"phi":-0.004269606184159613,"bid_iv":0.424215,"mid_iv":0.432112,"ask_iv":0.440009,"smv_vol":0.435,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.70,"average_volume":0,"last_volume":1,"trade_date":1718392539613,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":517,"bidexch":"E","bid_date":1718395136000,"asksize":510,"askexch":"E","ask_date":1718395136000,"open_interest":327,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00029000","description":"PLTR + Jul 26 2024 $29.00 Put","exch":"Z","type":"option","last":4.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.15,"ask":5.75,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.8871415415260376,"gamma":0.05225575805612169,"theta":-0.008772243922652691,"vega":0.015147148982205795,"rho":0.002829251794303553,"phi":-0.0030454825217240966,"bid_iv":0.0,"mid_iv":0.60433,"ask_iv":0.60433,"smv_vol":0.443,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718199895868,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":113,"bidexch":"Z","bid_date":1718395134000,"asksize":111,"askexch":"Z","ask_date":1718395133000,"open_interest":2,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00029000","description":"PLTR + Jul 26 2024 $29.00 Call","exch":"Z","type":"option","last":0.17,"change":0.02,"volume":27,"open":0.15,"high":0.17,"low":0.15,"close":0.17,"bid":0.16,"ask":0.19,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.11285845847396236,"gamma":0.05225575805612169,"theta":-0.008772243922652691,"vega":0.015147148982205795,"rho":0.002829251794303553,"phi":-0.0030454825217240966,"bid_iv":0.43876,"mid_iv":0.448651,"ask_iv":0.458541,"smv_vol":0.443,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.34,"average_volume":0,"last_volume":10,"trade_date":1718394777418,"prevclose":0.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":359,"bidexch":"E","bid_date":1718395199000,"asksize":729,"askexch":"E","ask_date":1718395199000,"open_interest":179,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240726P00030000","description":"PLTR + Jul 26 2024 $30.00 Put","exch":"Z","type":"option","last":6.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.65,"ask":7.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.9206642739870672,"gamma":0.03972554679205287,"theta":-0.0068188191868127305,"vega":0.011630741967739736,"rho":0.001996009261325635,"phi":-0.002140061359234835,"bid_iv":0.0,"mid_iv":1.121838,"ask_iv":1.121838,"smv_vol":0.453,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718115700694,"prevclose":6.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":134,"bidexch":"N","bid_date":1718395167000,"asksize":112,"askexch":"Z","ask_date":1718395167000,"open_interest":2,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240726C00030000","description":"PLTR + Jul 26 2024 $30.00 Call","exch":"Z","type":"option","last":0.12,"change":0.00,"volume":66,"open":0.06,"high":0.13,"low":0.06,"close":0.12,"bid":0.1,"ask":0.13,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.07933572601293286,"gamma":0.03972554679205287,"theta":-0.0068188191868127305,"vega":0.011630741967739736,"rho":0.001996009261325635,"phi":-0.002140061359234835,"bid_iv":0.449996,"mid_iv":0.458809,"ask_iv":0.467622,"smv_vol":0.453,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718393304474,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":192,"bidexch":"E","bid_date":1718395136000,"asksize":1,"askexch":"N","ask_date":1718394525000,"open_interest":112,"contract_size":100,"expiration_date":"2024-07-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -1507,7 +1378,7 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: @@ -1515,1302 +1386,12 @@ interactions: X-Ratelimit-Available: - '197' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - '3' status: code: 200 message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-06-21&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240621P00003000","description":"PLTR - Jun 21 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-1.38122945E-8,"gamma":7.1793179104262614E-9,"theta":-4.322857550283032E-4,"vega":2.0015078398928304E-5,"rho":0.008495567891985113,"phi":-0.0748826544239023,"bid_iv":0.0,"mid_iv":1.567706,"ask_iv":1.567706,"smv_vol":0.878,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709737542406,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709908221000,"asksize":103,"askexch":"A","ask_date":1709930966000,"open_interest":580,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00003000","description":"PLTR - Jun 21 2024 $3.00 Call","exch":"Z","type":"option","last":24.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":23.0,"ask":23.15,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999999861877055,"gamma":7.1793179104262614E-9,"theta":-4.322857550283032E-4,"vega":2.0015078398928304E-5,"rho":0.008495567891985113,"phi":-0.0748826544239023,"bid_iv":0.0,"mid_iv":2.200807,"ask_iv":2.200807,"smv_vol":0.878,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709825411775,"prevclose":24.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"M","bid_date":1709931586000,"asksize":14,"askexch":"M","ask_date":1709931571000,"open_interest":136,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00005000","description":"PLTR - Jun 21 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-1.04015428666E-5,"gamma":4.258810623515385E-6,"theta":-7.228189907637608E-4,"vega":2.714239219451658E-5,"rho":0.014158421790532488,"phi":-0.0748818732532186,"bid_iv":0.0,"mid_iv":1.197192,"ask_iv":1.197192,"smv_vol":0.878,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709668564240,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1709931103000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":607,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00005000","description":"PLTR - Jun 21 2024 $5.00 Call","exch":"Z","type":"option","last":21.21,"change":-0.64,"volume":5,"open":21.21,"high":21.21,"low":21.21,"close":21.21,"bid":21.05,"ask":21.2,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999895984571334,"gamma":4.258810623515385E-6,"theta":-7.228189907637608E-4,"vega":2.714239219451658E-5,"rho":0.014158421790532488,"phi":-0.0748818732532186,"bid_iv":0.0,"mid_iv":1.584705,"ask_iv":1.584705,"smv_vol":0.878,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.93,"average_volume":0,"last_volume":3,"trade_date":1709930135463,"prevclose":21.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"M","bid_date":1709931586000,"asksize":4,"askexch":"P","ask_date":1709931595000,"open_interest":262,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00006000","description":"PLTR - Jun 21 2024 $6.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-7.12266629798E-5,"gamma":2.6426665168354605E-5,"theta":-8.791109673873699E-4,"vega":5.807245400516125E-5,"rho":0.01698519720166458,"phi":-0.07487730194100095,"bid_iv":0.0,"mid_iv":1.155673,"ask_iv":1.155673,"smv_vol":0.876,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709828696302,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"J","bid_date":1709924580000,"asksize":37,"askexch":"P","ask_date":1709931527000,"open_interest":1040,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00006000","description":"PLTR - Jun 21 2024 $6.00 Call","exch":"Z","type":"option","last":20.22,"change":1.14,"volume":5,"open":20.22,"high":20.22,"low":20.22,"close":20.22,"bid":20.05,"ask":20.25,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9999287733370202,"gamma":2.6426665168354605E-5,"theta":-8.791109673873699E-4,"vega":5.807245400516125E-5,"rho":0.01698519720166458,"phi":-0.07487730194100095,"bid_iv":0.0,"mid_iv":1.500458,"ask_iv":1.500458,"smv_vol":0.876,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.98,"average_volume":0,"last_volume":3,"trade_date":1709930135463,"prevclose":19.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"M","bid_date":1709931586000,"asksize":19,"askexch":"M","ask_date":1709931600000,"open_interest":6,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00007000","description":"PLTR - Jun 21 2024 $7.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":2,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-3.084797698367E-4,"gamma":1.0441279844037472E-4,"theta":-0.0011027194526061278,"vega":1.856545053395118E-4,"rho":0.019785763507404696,"phi":-0.07485947474350496,"bid_iv":0.959638,"mid_iv":0.999252,"ask_iv":1.038867,"smv_vol":0.868,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709922635496,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":145,"bidexch":"W","bid_date":1709930966000,"asksize":100,"askexch":"B","ask_date":1709931461000,"open_interest":4281,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00007000","description":"PLTR - Jun 21 2024 $7.00 Call","exch":"Z","type":"option","last":19.22,"change":-0.93,"volume":11,"open":19.61,"high":19.61,"low":19.22,"close":19.22,"bid":19.1,"ask":19.25,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9996915202301633,"gamma":1.0441279844037472E-4,"theta":-0.0011027194526061278,"vega":1.856545053395118E-4,"rho":0.019785763507404696,"phi":-0.07485947474350496,"bid_iv":0.0,"mid_iv":1.309322,"ask_iv":1.309322,"smv_vol":0.868,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.62,"average_volume":0,"last_volume":3,"trade_date":1709930135463,"prevclose":20.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"J","bid_date":1709931595000,"asksize":5,"askexch":"M","ask_date":1709931595000,"open_interest":1215,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00008000","description":"PLTR - Jun 21 2024 $8.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-9.715319023657E-4,"gamma":3.022337735752967E-4,"theta":-0.0013602837377380329,"vega":4.735497378476419E-4,"rho":0.02255946120342435,"phi":-0.0748096741176596,"bid_iv":0.866373,"mid_iv":0.927446,"ask_iv":0.988519,"smv_vol":0.841,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709737542406,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"P","bid_date":1709931578000,"asksize":80,"askexch":"P","ask_date":1709931587000,"open_interest":381,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00008000","description":"PLTR - Jun 21 2024 $8.00 Call","exch":"Z","type":"option","last":18.26,"change":1.46,"volume":5,"open":18.26,"high":18.26,"low":18.26,"close":18.26,"bid":18.05,"ask":18.25,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9990284680976343,"gamma":3.022337735752967E-4,"theta":-0.0013602837377380329,"vega":4.735497378476419E-4,"rho":0.02255946120342435,"phi":-0.0748096741176596,"bid_iv":0.0,"mid_iv":1.246657,"ask_iv":1.246657,"smv_vol":0.841,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.69,"average_volume":0,"last_volume":3,"trade_date":1709930135463,"prevclose":16.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"N","bid_date":1709931586000,"asksize":14,"askexch":"M","ask_date":1709931600000,"open_interest":136,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00009000","description":"PLTR - Jun 21 2024 $9.00 Call","exch":"Z","type":"option","last":17.64,"change":-0.37,"volume":1,"open":17.64,"high":17.64,"low":17.64,"close":17.64,"bid":17.15,"ask":17.3,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9975167036804354,"gamma":7.11179008717395E-4,"theta":-0.0017326497667241392,"vega":0.0011228913464761785,"rho":0.0252593191192216,"phi":-0.07469616239319521,"bid_iv":0.0,"mid_iv":1.007865,"ask_iv":1.007865,"smv_vol":0.821,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.06,"average_volume":0,"last_volume":1,"trade_date":1709914483624,"prevclose":18.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1709931600000,"asksize":8,"askexch":"N","ask_date":1709931564000,"open_interest":127,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00009000","description":"PLTR - Jun 21 2024 $9.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-0.0024832963195646,"gamma":7.11179008717395E-4,"theta":-0.0017326497667241392,"vega":0.0011228913464761785,"rho":0.0252593191192216,"phi":-0.07469616239319521,"bid_iv":0.850022,"mid_iv":0.890643,"ask_iv":0.931263,"smv_vol":0.821,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709303525115,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":94,"bidexch":"D","bid_date":1709931571000,"asksize":159,"askexch":"C","ask_date":1709931588000,"open_interest":182,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00010000","description":"PLTR - Jun 21 2024 $10.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":70,"open":0.04,"high":0.04,"low":0.03,"close":0.04,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0053002235839491,"gamma":0.0014070222311272607,"theta":-0.0022601631548484695,"vega":0.0019490423279396579,"rho":0.02784393391696788,"phi":-0.07448470093152082,"bid_iv":0.813461,"mid_iv":0.843612,"ask_iv":0.873763,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1709923363638,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":137,"bidexch":"P","bid_date":1709931578000,"asksize":756,"askexch":"E","ask_date":1709931596000,"open_interest":21310,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00010000","description":"PLTR - Jun 21 2024 $10.00 Call","exch":"Z","type":"option","last":16.4,"change":-0.27,"volume":11,"open":16.35,"high":16.4,"low":16.35,"close":16.4,"bid":16.15,"ask":16.3,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9946997764160509,"gamma":0.0014070222311272607,"theta":-0.0022601631548484695,"vega":0.0019490423279396579,"rho":0.02784393391696788,"phi":-0.07448470093152082,"bid_iv":0.0,"mid_iv":1.055963,"ask_iv":1.055963,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.62,"average_volume":0,"last_volume":10,"trade_date":1709917419901,"prevclose":16.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"M","bid_date":1709931586000,"asksize":16,"askexch":"M","ask_date":1709931561000,"open_interest":5565,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00011000","description":"PLTR - Jun 21 2024 $11.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.04,"ask":0.06,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0098080289238651,"gamma":0.0024341131261570834,"theta":-0.0029519391516304077,"vega":0.004000207147925153,"rho":0.03027708573099906,"phi":-0.07414637630986931,"bid_iv":0.769332,"mid_iv":0.792875,"ask_iv":0.816418,"smv_vol":0.773,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709755963920,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1093,"bidexch":"D","bid_date":1709931589000,"asksize":381,"askexch":"D","ask_date":1709931589000,"open_interest":7449,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00011000","description":"PLTR - Jun 21 2024 $11.00 Call","exch":"Z","type":"option","last":13.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.2,"ask":15.35,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9901919710761349,"gamma":0.0024341131261570834,"theta":-0.0029519391516304077,"vega":0.004000207147925153,"rho":0.03027708573099906,"phi":-0.07414637630986931,"bid_iv":0.0,"mid_iv":0.941053,"ask_iv":0.941053,"smv_vol":0.773,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709585358000,"prevclose":13.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"M","bid_date":1709931600000,"asksize":16,"askexch":"M","ask_date":1709931581000,"open_interest":204,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00012000","description":"PLTR - Jun 21 2024 $12.00 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":4,"open":0.07,"high":0.07,"low":0.06,"close":0.07,"bid":0.06,"ask":0.08,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0157147719127368,"gamma":0.003726661790948648,"theta":-0.0037225649310743693,"vega":0.005125008922656046,"rho":0.032584563883134486,"phi":-0.07370309718979229,"bid_iv":0.742228,"mid_iv":0.760262,"ask_iv":0.778297,"smv_vol":0.754,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709918975657,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1141,"bidexch":"D","bid_date":1709931589000,"asksize":390,"askexch":"D","ask_date":1709931589000,"open_interest":26016,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00012000","description":"PLTR - Jun 21 2024 $12.00 Call","exch":"Z","type":"option","last":14.72,"change":-0.25,"volume":2,"open":14.85,"high":14.85,"low":14.72,"close":14.72,"bid":14.25,"ask":14.35,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9842852280872632,"gamma":0.003726661790948648,"theta":-0.0037225649310743693,"vega":0.005125008922656046,"rho":0.032584563883134486,"phi":-0.07370309718979229,"bid_iv":0.618315,"mid_iv":0.698612,"ask_iv":0.778909,"smv_vol":0.754,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.67,"average_volume":0,"last_volume":1,"trade_date":1709914483624,"prevclose":14.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1709931558000,"asksize":13,"askexch":"M","ask_date":1709931600000,"open_interest":2934,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00013000","description":"PLTR - Jun 21 2024 $13.00 Put","exch":"Z","type":"option","last":0.09,"change":-0.01,"volume":5,"open":0.09,"high":0.09,"low":0.09,"close":0.09,"bid":0.09,"ask":0.11,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0235667333790842,"gamma":0.005366814960123802,"theta":-0.004597685674158984,"vega":0.007768787167435199,"rho":0.03471622018856956,"phi":-0.07311389179420758,"bid_iv":0.722038,"mid_iv":0.734935,"ask_iv":0.747832,"smv_vol":0.734,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.00,"average_volume":0,"last_volume":1,"trade_date":1709914807199,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1152,"bidexch":"D","bid_date":1709931589000,"asksize":363,"askexch":"D","ask_date":1709931589000,"open_interest":13323,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00013000","description":"PLTR - Jun 21 2024 $13.00 Call","exch":"Z","type":"option","last":13.6,"change":-0.30,"volume":2,"open":13.6,"high":13.6,"low":13.6,"close":13.6,"bid":13.3,"ask":13.4,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9764332666209158,"gamma":0.005366814960123802,"theta":-0.004597685674158984,"vega":0.007768787167435199,"rho":0.03471622018856956,"phi":-0.07311389179420758,"bid_iv":0.651274,"mid_iv":0.751102,"ask_iv":0.850929,"smv_vol":0.734,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.16,"average_volume":0,"last_volume":2,"trade_date":1709927328420,"prevclose":13.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"M","bid_date":1709931600000,"asksize":14,"askexch":"M","ask_date":1709931600000,"open_interest":4285,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00014000","description":"PLTR - Jun 21 2024 $14.00 Put","exch":"Z","type":"option","last":0.14,"change":0.01,"volume":32,"open":0.14,"high":0.14,"low":0.14,"close":0.14,"bid":0.13,"ask":0.15,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0335576513598886,"gamma":0.007371015409735949,"theta":-0.005569400355075931,"vega":0.011274569490342303,"rho":0.036653853517880204,"phi":-0.07236424611534176,"bid_iv":0.700761,"mid_iv":0.711157,"ask_iv":0.721553,"smv_vol":0.713,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.70,"average_volume":0,"last_volume":2,"trade_date":1709919756604,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":736,"bidexch":"C","bid_date":1709931584000,"asksize":180,"askexch":"D","ask_date":1709931589000,"open_interest":15219,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00014000","description":"PLTR - Jun 21 2024 $14.00 Call","exch":"Z","type":"option","last":12.65,"change":0.95,"volume":1,"open":12.65,"high":12.65,"low":12.65,"close":12.65,"bid":12.35,"ask":12.5,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9664423486401114,"gamma":0.007371015409735949,"theta":-0.005569400355075931,"vega":0.011274569490342303,"rho":0.036653853517880204,"phi":-0.07236424611534176,"bid_iv":0.644197,"mid_iv":0.716379,"ask_iv":0.788561,"smv_vol":0.713,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.12,"average_volume":0,"last_volume":1,"trade_date":1709914679820,"prevclose":11.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":31,"bidexch":"N","bid_date":1709931574000,"asksize":19,"askexch":"N","ask_date":1709931466000,"open_interest":1743,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00015000","description":"PLTR - Jun 21 2024 $15.00 Put","exch":"Z","type":"option","last":0.2,"change":0.01,"volume":38,"open":0.17,"high":0.2,"low":0.17,"close":0.2,"bid":0.19,"ask":0.2,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0461925722837514,"gamma":0.009786171048064894,"theta":-0.0066265492420751505,"vega":0.013636843382617891,"rho":0.038349500699451734,"phi":-0.07141629511764336,"bid_iv":0.687201,"mid_iv":0.691005,"ask_iv":0.694809,"smv_vol":0.695,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.27,"average_volume":0,"last_volume":5,"trade_date":1709923434367,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":201,"bidexch":"D","bid_date":1709931589000,"asksize":57,"askexch":"D","ask_date":1709931581000,"open_interest":17136,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00015000","description":"PLTR - Jun 21 2024 $15.00 Call","exch":"Z","type":"option","last":11.58,"change":-0.47,"volume":20,"open":12.32,"high":12.5,"low":11.54,"close":11.58,"bid":11.4,"ask":11.55,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9538074277162486,"gamma":0.009786171048064894,"theta":-0.0066265492420751505,"vega":0.013636843382617891,"rho":0.038349500699451734,"phi":-0.07141629511764336,"bid_iv":0.665929,"mid_iv":0.702882,"ask_iv":0.739836,"smv_vol":0.695,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.90,"average_volume":0,"last_volume":1,"trade_date":1709925675807,"prevclose":12.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"Z","bid_date":1709931565000,"asksize":17,"askexch":"M","ask_date":1709931600000,"open_interest":13809,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00016000","description":"PLTR - Jun 21 2024 $16.00 Put","exch":"Z","type":"option","last":0.23,"change":-0.04,"volume":2,"open":0.23,"high":0.23,"low":0.23,"close":0.23,"bid":0.27,"ask":0.29,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0612701297759367,"gamma":0.01258091492352951,"theta":-0.007710289376345589,"vega":0.016264782724103758,"rho":0.03982291136897465,"phi":-0.07028515724982753,"bid_iv":0.673325,"mid_iv":0.679469,"ask_iv":0.685613,"smv_vol":0.678,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.82,"average_volume":0,"last_volume":2,"trade_date":1709909358883,"prevclose":0.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":560,"bidexch":"D","bid_date":1709931589000,"asksize":694,"askexch":"D","ask_date":1709931589000,"open_interest":6875,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00016000","description":"PLTR - Jun 21 2024 $16.00 Call","exch":"Z","type":"option","last":10.56,"change":-0.21,"volume":122,"open":11.66,"high":11.66,"low":10.56,"close":10.56,"bid":10.5,"ask":10.65,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9387298702240633,"gamma":0.01258091492352951,"theta":-0.007710289376345589,"vega":0.016264782724103758,"rho":0.03982291136897465,"phi":-0.07028515724982753,"bid_iv":0.626934,"mid_iv":0.672687,"ask_iv":0.718439,"smv_vol":0.678,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.95,"average_volume":0,"last_volume":10,"trade_date":1709918306460,"prevclose":10.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"C","bid_date":1709931560000,"asksize":21,"askexch":"C","ask_date":1709931556000,"open_interest":2826,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00017000","description":"PLTR - Jun 21 2024 $17.00 Put","exch":"Z","type":"option","last":0.38,"change":0.04,"volume":47,"open":0.34,"high":0.38,"low":0.34,"close":0.38,"bid":0.37,"ask":0.39,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0800785756037053,"gamma":0.015828193450854334,"theta":-0.008889099395165289,"vega":0.021625693428390852,"rho":0.040946845621700326,"phi":-0.06887429821134106,"bid_iv":0.659934,"mid_iv":0.664697,"ask_iv":0.669461,"smv_vol":0.666,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":11.77,"average_volume":0,"last_volume":1,"trade_date":1709924644965,"prevclose":0.34,"week_52_high":0.0,"week_52_low":0.0,"bidsize":378,"bidexch":"E","bid_date":1709931595000,"asksize":475,"askexch":"D","ask_date":1709931597000,"open_interest":8657,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00017000","description":"PLTR - Jun 21 2024 $17.00 Call","exch":"Z","type":"option","last":9.65,"change":-0.80,"volume":7,"open":10.85,"high":10.85,"low":9.5,"close":9.65,"bid":9.65,"ask":9.75,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9199214243962947,"gamma":0.015828193450854334,"theta":-0.008889099395165289,"vega":0.021625693428390852,"rho":0.040946845621700326,"phi":-0.06887429821134106,"bid_iv":0.641243,"mid_iv":0.665366,"ask_iv":0.689488,"smv_vol":0.666,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.66,"average_volume":0,"last_volume":1,"trade_date":1709923653019,"prevclose":10.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"D","bid_date":1709931600000,"asksize":21,"askexch":"M","ask_date":1709931555000,"open_interest":12500,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00018000","description":"PLTR - Jun 21 2024 $18.00 Put","exch":"Z","type":"option","last":0.5,"change":0.01,"volume":22,"open":0.45,"high":0.53,"low":0.45,"close":0.5,"bid":0.51,"ask":0.53,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1025458967426225,"gamma":0.019464370239458354,"theta":-0.010100330499528453,"vega":0.024971748448239163,"rho":0.04172516963609052,"phi":-0.06718916329973013,"bid_iv":0.647595,"mid_iv":0.653589,"ask_iv":0.659583,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.05,"average_volume":0,"last_volume":2,"trade_date":1709926651719,"prevclose":0.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"D","bid_date":1709931591000,"asksize":796,"askexch":"C","ask_date":1709931589000,"open_interest":6670,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00018000","description":"PLTR - Jun 21 2024 $18.00 Call","exch":"Z","type":"option","last":8.9,"change":-0.30,"volume":78,"open":9.69,"high":9.8,"low":8.75,"close":8.9,"bid":8.8,"ask":8.9,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8974541032573775,"gamma":0.019464370239458354,"theta":-0.010100330499528453,"vega":0.024971748448239163,"rho":0.04172516963609052,"phi":-0.06718916329973013,"bid_iv":0.634804,"mid_iv":0.654848,"ask_iv":0.674891,"smv_vol":0.654,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.27,"average_volume":0,"last_volume":10,"trade_date":1709930945170,"prevclose":9.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"E","bid_date":1709931584000,"asksize":144,"askexch":"X","ask_date":1709931585000,"open_interest":6057,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00019000","description":"PLTR - Jun 21 2024 $19.00 Put","exch":"Z","type":"option","last":0.69,"change":0.04,"volume":39,"open":0.58,"high":0.69,"low":0.58,"close":0.69,"bid":0.68,"ask":0.7,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1292111502163478,"gamma":0.02342124188513593,"theta":-0.01135082990428644,"vega":0.028497045243351615,"rho":0.04209636324627864,"phi":-0.06518943367339602,"bid_iv":0.642848,"mid_iv":0.646348,"ask_iv":0.649848,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.16,"average_volume":0,"last_volume":1,"trade_date":1709931435329,"prevclose":0.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":86,"bidexch":"D","bid_date":1709931591000,"asksize":461,"askexch":"D","ask_date":1709931591000,"open_interest":4751,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00019000","description":"PLTR - Jun 21 2024 $19.00 Call","exch":"Z","type":"option","last":7.84,"change":-0.71,"volume":7,"open":9.0,"high":9.01,"low":7.84,"close":7.84,"bid":7.95,"ask":8.05,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8707888497836522,"gamma":0.02342124188513593,"theta":-0.01135082990428644,"vega":0.028497045243351615,"rho":0.04209636324627864,"phi":-0.06518943367339602,"bid_iv":0.633507,"mid_iv":0.642288,"ask_iv":0.651068,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.31,"average_volume":0,"last_volume":1,"trade_date":1709915418672,"prevclose":8.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":643,"bidexch":"E","bid_date":1709931582000,"asksize":54,"askexch":"X","ask_date":1709931588000,"open_interest":2384,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00020000","description":"PLTR - Jun 21 2024 $20.00 Call","exch":"Z","type":"option","last":7.42,"change":-0.23,"volume":374,"open":8.2,"high":8.27,"low":7.1,"close":7.42,"bid":7.2,"ask":7.3,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8395259918779784,"gamma":0.027548279822337842,"theta":-0.012601827991317328,"vega":0.034831866804650516,"rho":0.04200346869360642,"phi":-0.0628452961137782,"bid_iv":0.620429,"mid_iv":0.634791,"ask_iv":0.649154,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.01,"average_volume":0,"last_volume":3,"trade_date":1709928446959,"prevclose":7.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":684,"bidexch":"E","bid_date":1709931594000,"asksize":207,"askexch":"E","ask_date":1709931589000,"open_interest":15869,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00020000","description":"PLTR - Jun 21 2024 $20.00 Put","exch":"Z","type":"option","last":0.89,"change":0.04,"volume":269,"open":0.79,"high":0.93,"low":0.76,"close":0.89,"bid":0.9,"ask":0.92,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1604740081220216,"gamma":0.027548279822337842,"theta":-0.012601827991317328,"vega":0.034831866804650516,"rho":0.04200346869360642,"phi":-0.0628452961137782,"bid_iv":0.634993,"mid_iv":0.637855,"ask_iv":0.640718,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.71,"average_volume":0,"last_volume":1,"trade_date":1709930110009,"prevclose":0.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":137,"bidexch":"D","bid_date":1709931589000,"asksize":562,"askexch":"D","ask_date":1709931589000,"open_interest":7977,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00021000","description":"PLTR - Jun 21 2024 $21.00 Put","exch":"Z","type":"option","last":1.15,"change":0.07,"volume":111,"open":1.05,"high":1.2,"low":1.05,"close":1.15,"bid":1.16,"ask":1.18,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.19604281952579,"gamma":0.03165378895583234,"theta":-0.013822788313646021,"vega":0.038504678046040186,"rho":0.04145550723481736,"phi":-0.060178734395677225,"bid_iv":0.63255,"mid_iv":0.635136,"ask_iv":0.637721,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.49,"average_volume":0,"last_volume":1,"trade_date":1709931435329,"prevclose":1.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":97,"bidexch":"D","bid_date":1709931598000,"asksize":311,"askexch":"B","ask_date":1709931591000,"open_interest":7430,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00021000","description":"PLTR - Jun 21 2024 $21.00 Call","exch":"Z","type":"option","last":6.7,"change":-0.14,"volume":10,"open":7.4,"high":7.4,"low":6.49,"close":6.7,"bid":6.5,"ask":6.55,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.80395718047421,"gamma":0.03165378895583234,"theta":-0.013822788313646021,"vega":0.038504678046040186,"rho":0.04145550723481736,"phi":-0.060178734395677225,"bid_iv":0.62359,"mid_iv":0.636578,"ask_iv":0.649565,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.05,"average_volume":0,"last_volume":2,"trade_date":1709926752984,"prevclose":6.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931600000,"asksize":14,"askexch":"B","ask_date":1709931570000,"open_interest":3447,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00022000","description":"PLTR - Jun 21 2024 $22.00 Put","exch":"Z","type":"option","last":1.46,"change":0.10,"volume":50,"open":1.25,"high":1.51,"low":1.25,"close":1.46,"bid":1.47,"ask":1.5,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.235413115159907,"gamma":0.035515515888408226,"theta":-0.01498003799598475,"vega":0.04209487829089599,"rho":0.040475223795430205,"phi":-0.05722768739779838,"bid_iv":0.629133,"mid_iv":0.632629,"ask_iv":0.636124,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.36,"average_volume":0,"last_volume":1,"trade_date":1709928798299,"prevclose":1.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":941,"bidexch":"E","bid_date":1709931589000,"asksize":305,"askexch":"B","ask_date":1709931597000,"open_interest":2000,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00022000","description":"PLTR - Jun 21 2024 $22.00 Call","exch":"Z","type":"option","last":5.84,"change":-0.36,"volume":70,"open":6.81,"high":6.81,"low":5.84,"close":5.84,"bid":5.8,"ask":5.9,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.764586884840093,"gamma":0.035515515888408226,"theta":-0.01498003799598475,"vega":0.04209487829089599,"rho":0.040475223795430205,"phi":-0.05722768739779838,"bid_iv":0.615507,"mid_iv":0.627166,"ask_iv":0.638825,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.81,"average_volume":0,"last_volume":2,"trade_date":1709921218587,"prevclose":6.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1093,"bidexch":"E","bid_date":1709931571000,"asksize":66,"askexch":"E","ask_date":1709931571000,"open_interest":11627,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00023000","description":"PLTR - Jun 21 2024 $23.00 Put","exch":"Z","type":"option","last":1.84,"change":0.14,"volume":124,"open":1.6,"high":1.89,"low":1.6,"close":1.84,"bid":1.84,"ask":1.87,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2779530255240652,"gamma":0.03886135338601364,"theta":-0.015998660246191655,"vega":0.04736061605758058,"rho":0.039083295668180223,"phi":-0.054039681467443756,"bid_iv":0.627397,"mid_iv":0.629502,"ask_iv":0.631607,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.24,"average_volume":0,"last_volume":2,"trade_date":1709931016451,"prevclose":1.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":630,"bidexch":"E","bid_date":1709931596000,"asksize":300,"askexch":"B","ask_date":1709931583000,"open_interest":3948,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00023000","description":"PLTR - Jun 21 2024 $23.00 Call","exch":"Z","type":"option","last":5.37,"change":-0.58,"volume":112,"open":5.9,"high":6.12,"low":5.15,"close":5.37,"bid":5.2,"ask":5.3,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7220469744759348,"gamma":0.03886135338601364,"theta":-0.015998660246191655,"vega":0.04736061605758058,"rho":0.039083295668180223,"phi":-0.054039681467443756,"bid_iv":0.619029,"mid_iv":0.629589,"ask_iv":0.640149,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.75,"average_volume":0,"last_volume":1,"trade_date":1709927722007,"prevclose":5.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":391,"bidexch":"E","bid_date":1709931584000,"asksize":117,"askexch":"X","ask_date":1709931596000,"open_interest":3006,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00024000","description":"PLTR - Jun 21 2024 $24.00 Put","exch":"Z","type":"option","last":2.3,"change":0.17,"volume":40,"open":1.96,"high":2.35,"low":1.96,"close":2.3,"bid":2.27,"ask":2.3,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3223630914024059,"gamma":0.041579146483533364,"theta":-0.016860863429139037,"vega":0.050147768800457564,"rho":0.037387696297510355,"phi":-0.050712102854788554,"bid_iv":0.628424,"mid_iv":0.630413,"ask_iv":0.632402,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.99,"average_volume":0,"last_volume":3,"trade_date":1709931341235,"prevclose":2.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":476,"bidexch":"D","bid_date":1709931599000,"asksize":112,"askexch":"E","ask_date":1709931599000,"open_interest":18914,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00024000","description":"PLTR - Jun 21 2024 $24.00 Call","exch":"Z","type":"option","last":4.7,"change":-0.25,"volume":308,"open":5.46,"high":5.5,"low":4.55,"close":4.7,"bid":4.65,"ask":4.7,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6776369085975941,"gamma":0.041579146483533364,"theta":-0.016860863429139037,"vega":0.050147768800457564,"rho":0.037387696297510355,"phi":-0.050712102854788554,"bid_iv":0.622214,"mid_iv":0.627201,"ask_iv":0.632188,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.06,"average_volume":0,"last_volume":36,"trade_date":1709929900162,"prevclose":4.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":549,"bidexch":"D","bid_date":1709931593000,"asksize":120,"askexch":"E","ask_date":1709931583000,"open_interest":4198,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00025000","description":"PLTR - Jun 21 2024 $25.00 Put","exch":"Z","type":"option","last":2.7,"change":0.07,"volume":33,"open":2.38,"high":2.8,"low":2.38,"close":2.7,"bid":2.74,"ask":2.77,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.367548561365643,"gamma":0.04359591590692405,"theta":-0.01754118428168435,"vega":0.05251576731833265,"rho":0.035475212323550366,"phi":-0.047326981178485994,"bid_iv":0.627883,"mid_iv":0.630736,"ask_iv":0.633588,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.67,"average_volume":0,"last_volume":1,"trade_date":1709928338752,"prevclose":2.63,"week_52_high":0.0,"week_52_low":0.0,"bidsize":326,"bidexch":"B","bid_date":1709931590000,"asksize":169,"askexch":"D","ask_date":1709931589000,"open_interest":7016,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00025000","description":"PLTR - Jun 21 2024 $25.00 Call","exch":"Z","type":"option","last":4.17,"change":-0.24,"volume":1088,"open":4.8,"high":5.0,"low":4.1,"close":4.17,"bid":4.1,"ask":4.2,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.632451438634357,"gamma":0.04359591590692405,"theta":-0.01754118428168435,"vega":0.05251576731833265,"rho":0.035475212323550366,"phi":-0.047326981178485994,"bid_iv":0.62568,"mid_iv":0.630443,"ask_iv":0.635207,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.45,"average_volume":0,"last_volume":4,"trade_date":1709931119314,"prevclose":4.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1440,"bidexch":"E","bid_date":1709931583000,"asksize":1188,"askexch":"E","ask_date":1709931583000,"open_interest":15502,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00026000","description":"PLTR - Jun 21 2024 $26.00 Put","exch":"Z","type":"option","last":3.24,"change":0.14,"volume":2593,"open":2.89,"high":3.39,"low":2.86,"close":3.24,"bid":3.25,"ask":3.3,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4125486548380405,"gamma":0.04490307299805068,"theta":-0.018025762725875385,"vega":0.05439281303418795,"rho":0.03342573680067952,"phi":-0.04395627788866818,"bid_iv":0.626139,"mid_iv":0.630735,"ask_iv":0.635332,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.52,"average_volume":0,"last_volume":1,"trade_date":1709930885099,"prevclose":3.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1520,"bidexch":"E","bid_date":1709931597000,"asksize":97,"askexch":"D","ask_date":1709931598000,"open_interest":519,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00026000","description":"PLTR - Jun 21 2024 $26.00 Call","exch":"Z","type":"option","last":3.7,"change":-0.25,"volume":342,"open":4.5,"high":4.5,"low":3.6,"close":3.7,"bid":3.65,"ask":3.75,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5874513451619595,"gamma":0.04490307299805068,"theta":-0.018025762725875385,"vega":0.05439281303418795,"rho":0.03342573680067952,"phi":-0.04395627788866818,"bid_iv":0.62051,"mid_iv":0.629708,"ask_iv":0.638906,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.33,"average_volume":0,"last_volume":1,"trade_date":1709931263862,"prevclose":3.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1420,"bidexch":"C","bid_date":1709931584000,"asksize":1043,"askexch":"X","ask_date":1709931560000,"open_interest":4987,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00027000","description":"PLTR - Jun 21 2024 $27.00 Put","exch":"Z","type":"option","last":3.75,"change":0.27,"volume":36,"open":3.52,"high":3.95,"low":3.45,"close":3.75,"bid":3.85,"ask":3.9,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.4564965520074422,"gamma":0.04549313814111337,"theta":-0.018295298170539355,"vega":0.05516978210933528,"rho":0.03130450667023036,"phi":-0.04066490012721857,"bid_iv":0.622956,"mid_iv":0.632035,"ask_iv":0.641113,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.76,"average_volume":0,"last_volume":6,"trade_date":1709927986325,"prevclose":3.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931594000,"asksize":397,"askexch":"E","ask_date":1709931599000,"open_interest":817,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00027000","description":"PLTR - Jun 21 2024 $27.00 Call","exch":"Z","type":"option","last":3.28,"change":-0.22,"volume":533,"open":3.86,"high":4.0,"low":3.2,"close":3.28,"bid":3.25,"ask":3.3,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.5435034479925578,"gamma":0.04549313814111337,"theta":-0.018295298170539355,"vega":0.05516978210933528,"rho":0.03130450667023036,"phi":-0.04066490012721857,"bid_iv":0.625048,"mid_iv":0.629582,"ask_iv":0.634117,"smv_vol":0.632,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.29,"average_volume":0,"last_volume":5,"trade_date":1709931566099,"prevclose":3.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1343,"bidexch":"E","bid_date":1709931596000,"asksize":246,"askexch":"E","ask_date":1709931596000,"open_interest":5789,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00028000","description":"PLTR - Jun 21 2024 $28.00 Put","exch":"Z","type":"option","last":4.35,"change":0.25,"volume":30,"open":3.95,"high":4.55,"low":3.95,"close":4.35,"bid":4.45,"ask":4.5,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.4987975271162732,"gamma":0.04548203670574637,"theta":-0.01837271486479861,"vega":0.05534935630825722,"rho":0.02917667235811919,"phi":-0.0374973003003376,"bid_iv":0.630052,"mid_iv":0.634586,"ask_iv":0.639121,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.10,"average_volume":0,"last_volume":3,"trade_date":1709928063182,"prevclose":4.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1201,"bidexch":"E","bid_date":1709931587000,"asksize":148,"askexch":"D","ask_date":1709931589000,"open_interest":398,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00028000","description":"PLTR - Jun 21 2024 $28.00 Call","exch":"Z","type":"option","last":2.94,"change":-0.36,"volume":252,"open":3.45,"high":3.6,"low":2.88,"close":2.94,"bid":2.89,"ask":2.93,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.5012024728837268,"gamma":0.04548203670574637,"theta":-0.01837271486479861,"vega":0.05534935630825722,"rho":0.02917667235811919,"phi":-0.0374973003003376,"bid_iv":0.630857,"mid_iv":0.633569,"ask_iv":0.636281,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.91,"average_volume":0,"last_volume":3,"trade_date":1709931426035,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":553,"bidexch":"E","bid_date":1709931597000,"asksize":283,"askexch":"B","ask_date":1709931595000,"open_interest":4511,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00029000","description":"PLTR - Jun 21 2024 $29.00 Put","exch":"Z","type":"option","last":5.15,"change":0.25,"volume":106,"open":4.75,"high":5.2,"low":4.6,"close":5.15,"bid":5.1,"ask":5.2,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.5390783978813053,"gamma":0.04497448860133268,"theta":-0.01827832074048796,"vega":0.054928898102484795,"rho":0.027085730653757772,"phi":-0.034481340334124866,"bid_iv":0.629838,"mid_iv":0.634454,"ask_iv":0.639069,"smv_vol":0.636,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.11,"average_volume":0,"last_volume":8,"trade_date":1709924485463,"prevclose":4.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1335,"bidexch":"C","bid_date":1709931592000,"asksize":218,"askexch":"E","ask_date":1709931588000,"open_interest":159,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00029000","description":"PLTR - Jun 21 2024 $29.00 Call","exch":"Z","type":"option","last":2.57,"change":-0.27,"volume":373,"open":3.1,"high":3.18,"low":2.57,"close":2.57,"bid":2.57,"ask":2.59,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.46092160211869476,"gamma":0.04497448860133268,"theta":-0.01827832074048796,"vega":0.054928898102484795,"rho":0.027085730653757772,"phi":-0.034481340334124866,"bid_iv":0.63326,"mid_iv":0.634172,"ask_iv":0.635083,"smv_vol":0.636,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.51,"average_volume":0,"last_volume":1,"trade_date":1709931554351,"prevclose":2.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":48,"bidexch":"P","bid_date":1709931600000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":5763,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00030000","description":"PLTR - Jun 21 2024 $30.00 Put","exch":"Z","type":"option","last":5.7,"change":0.15,"volume":34,"open":5.4,"high":5.95,"low":5.35,"close":5.7,"bid":5.8,"ask":5.9,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.57713334374712,"gamma":0.044064594788244364,"theta":-0.018039879893038898,"vega":0.053926927039350876,"rho":0.02505997357176477,"phi":-0.03163236809822223,"bid_iv":0.632077,"mid_iv":0.64145,"ask_iv":0.650824,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.71,"average_volume":0,"last_volume":2,"trade_date":1709928071325,"prevclose":5.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":861,"bidexch":"E","bid_date":1709931589000,"asksize":185,"askexch":"E","ask_date":1709931589000,"open_interest":853,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00030000","description":"PLTR - Jun 21 2024 $30.00 Call","exch":"Z","type":"option","last":2.29,"change":-0.20,"volume":1571,"open":2.74,"high":2.88,"low":2.24,"close":2.29,"bid":2.28,"ask":2.29,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.42286665625287995,"gamma":0.044064594788244364,"theta":-0.018039879893038898,"vega":0.053926927039350876,"rho":0.02505997357176477,"phi":-0.03163236809822223,"bid_iv":0.636623,"mid_iv":0.637551,"ask_iv":0.638478,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.04,"average_volume":0,"last_volume":1,"trade_date":1709931599110,"prevclose":2.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":71,"bidexch":"Z","bid_date":1709931591000,"asksize":4,"askexch":"N","ask_date":1709931591000,"open_interest":24893,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00031000","description":"PLTR - Jun 21 2024 $31.00 Put","exch":"Z","type":"option","last":6.15,"change":0.15,"volume":282,"open":5.95,"high":6.15,"low":5.9,"close":6.15,"bid":6.55,"ask":6.65,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.6128175888362372,"gamma":0.0428320281537122,"theta":-0.017671453243504276,"vega":0.05237479070838182,"rho":0.02312012588684704,"phi":-0.028961158933249465,"bid_iv":0.637323,"mid_iv":0.642172,"ask_iv":0.64702,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.50,"average_volume":0,"last_volume":1,"trade_date":1709912248852,"prevclose":6.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":178,"bidexch":"E","bid_date":1709931591000,"asksize":135,"askexch":"E","ask_date":1709931599000,"open_interest":3368,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00031000","description":"PLTR - Jun 21 2024 $31.00 Call","exch":"Z","type":"option","last":2.03,"change":-0.28,"volume":82,"open":2.56,"high":2.56,"low":2.03,"close":2.03,"bid":2.01,"ask":2.04,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.3871824111637628,"gamma":0.0428320281537122,"theta":-0.017671453243504276,"vega":0.05237479070838182,"rho":0.02312012588684704,"phi":-0.028961158933249465,"bid_iv":0.639501,"mid_iv":0.641411,"ask_iv":0.643322,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.13,"average_volume":0,"last_volume":1,"trade_date":1709931193502,"prevclose":2.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":178,"bidexch":"B","bid_date":1709931597000,"asksize":173,"askexch":"B","ask_date":1709931591000,"open_interest":3674,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00032000","description":"PLTR - Jun 21 2024 $32.00 Put","exch":"Z","type":"option","last":6.9,"change":0.00,"volume":47,"open":null,"high":null,"low":null,"close":null,"bid":7.3,"ask":7.4,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.6460853891020225,"gamma":0.04134837410770323,"theta":-0.017196643966770467,"vega":0.053418386922705174,"rho":0.021278814132781584,"phi":-0.026471089911161982,"bid_iv":0.636699,"mid_iv":0.646512,"ask_iv":0.656325,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709837809691,"prevclose":6.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":505,"bidexch":"E","bid_date":1709931576000,"asksize":199,"askexch":"E","ask_date":1709931576000,"open_interest":83,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00032000","description":"PLTR - Jun 21 2024 $32.00 Call","exch":"Z","type":"option","last":1.87,"change":-0.13,"volume":390,"open":2.28,"high":2.28,"low":1.78,"close":1.87,"bid":1.78,"ask":1.81,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.35391461089797754,"gamma":0.04134837410770323,"theta":-0.017196643966770467,"vega":0.053418386922705174,"rho":0.021278814132781584,"phi":-0.026471089911161982,"bid_iv":0.640799,"mid_iv":0.643608,"ask_iv":0.646416,"smv_vol":0.645,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.50,"average_volume":0,"last_volume":1,"trade_date":1709927622547,"prevclose":2.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":62,"bidexch":"D","bid_date":1709931582000,"asksize":182,"askexch":"B","ask_date":1709931571000,"open_interest":4514,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621C00033000","description":"PLTR - Jun 21 2024 $33.00 Call","exch":"Z","type":"option","last":1.7,"change":-0.13,"volume":351,"open":1.95,"high":2.01,"low":1.6,"close":1.7,"bid":1.58,"ask":1.6,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.32321051414153373,"gamma":0.03967083102343054,"theta":-0.016632802971099755,"vega":0.051296641976406265,"rho":0.019551601715945187,"phi":-0.02417314257430192,"bid_iv":0.644085,"mid_iv":0.646034,"ask_iv":0.647983,"smv_vol":0.647,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.11,"average_volume":0,"last_volume":1,"trade_date":1709927156648,"prevclose":1.83,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"N","bid_date":1709931600000,"asksize":57,"askexch":"P","ask_date":1709931585000,"open_interest":1182,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00033000","description":"PLTR - Jun 21 2024 $33.00 Put","exch":"Z","type":"option","last":7.56,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.1,"ask":8.2,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.6767894858584663,"gamma":0.03967083102343054,"theta":-0.016632802971099755,"vega":0.051296641976406265,"rho":0.019551601715945187,"phi":-0.02417314257430192,"bid_iv":0.640244,"mid_iv":0.650378,"ask_iv":0.660512,"smv_vol":0.647,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709827374030,"prevclose":7.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":170,"bidexch":"E","bid_date":1709931589000,"asksize":154,"askexch":"E","ask_date":1709931589000,"open_interest":101,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621P00034000","description":"PLTR - Jun 21 2024 $34.00 Put","exch":"Z","type":"option","last":8.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.9,"ask":9.0,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.7050461523984459,"gamma":0.03786742750906169,"theta":-0.016008878406875624,"vega":0.04873176520806566,"rho":0.017940427617114663,"phi":-0.02205855976766813,"bid_iv":0.638017,"mid_iv":0.648773,"ask_iv":0.659528,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":8,"trade_date":1709822155233,"prevclose":8.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":587,"bidexch":"E","bid_date":1709931577000,"asksize":111,"askexch":"B","ask_date":1709931580000,"open_interest":16,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00034000","description":"PLTR - Jun 21 2024 $34.00 Call","exch":"Z","type":"option","last":1.47,"change":-0.17,"volume":127,"open":1.81,"high":1.81,"low":1.47,"close":1.47,"bid":1.4,"ask":1.42,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.2949538476015541,"gamma":0.03786742750906169,"theta":-0.016008878406875624,"vega":0.04873176520806566,"rho":0.017940427617114663,"phi":-0.02205855976766813,"bid_iv":0.646527,"mid_iv":0.648578,"ask_iv":0.650628,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.37,"average_volume":0,"last_volume":1,"trade_date":1709918471779,"prevclose":1.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"P","bid_date":1709931579000,"asksize":53,"askexch":"E","ask_date":1709931593000,"open_interest":2857,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00035000","description":"PLTR - Jun 21 2024 $35.00 Put","exch":"Z","type":"option","last":9.25,"change":-2.45,"volume":5,"open":9.25,"high":9.25,"low":9.25,"close":9.25,"bid":9.75,"ask":9.85,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7313672531554577,"gamma":0.036011094272433535,"theta":-0.015338907423231058,"vega":0.04581993306583945,"rho":0.016426344528881014,"phi":-0.020088956158570426,"bid_iv":0.641757,"mid_iv":0.653309,"ask_iv":0.664862,"smv_vol":0.652,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.94,"average_volume":0,"last_volume":5,"trade_date":1709912688632,"prevclose":11.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":215,"bidexch":"E","bid_date":1709931599000,"asksize":101,"askexch":"E","ask_date":1709931599000,"open_interest":26,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00035000","description":"PLTR - Jun 21 2024 $35.00 Call","exch":"Z","type":"option","last":1.25,"change":-0.13,"volume":1254,"open":1.53,"high":1.64,"low":1.24,"close":1.25,"bid":1.25,"ask":1.26,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.26863274684454225,"gamma":0.036011094272433535,"theta":-0.015338907423231058,"vega":0.04581993306583945,"rho":0.016426344528881014,"phi":-0.020088956158570426,"bid_iv":0.651339,"mid_iv":0.65243,"ask_iv":0.65352,"smv_vol":0.652,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.42,"average_volume":0,"last_volume":4,"trade_date":1709931589729,"prevclose":1.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Q","bid_date":1709931588000,"asksize":85,"askexch":"D","ask_date":1709931590000,"open_interest":9717,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00036000","description":"PLTR - Jun 21 2024 $36.00 Put","exch":"Z","type":"option","last":9.95,"change":-2.60,"volume":15,"open":10.0,"high":10.0,"low":9.95,"close":9.95,"bid":10.6,"ask":10.7,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.755538875327686,"gamma":0.034112775750758474,"theta":-0.01464304413027904,"vega":0.04261614541597543,"rho":0.015021406690665231,"phi":-0.01828034313922089,"bid_iv":0.640538,"mid_iv":0.653119,"ask_iv":0.665701,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.72,"average_volume":0,"last_volume":1,"trade_date":1709910756060,"prevclose":12.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":116,"bidexch":"E","bid_date":1709931598000,"asksize":22,"askexch":"U","ask_date":1709931561000,"open_interest":4,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00036000","description":"PLTR - Jun 21 2024 $36.00 Call","exch":"Z","type":"option","last":1.17,"change":-0.10,"volume":3,"open":1.2,"high":1.2,"low":1.17,"close":1.17,"bid":1.1,"ask":1.12,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.24446112467231393,"gamma":0.034112775750758474,"theta":-0.01464304413027904,"vega":0.04261614541597543,"rho":0.015021406690665231,"phi":-0.01828034313922089,"bid_iv":0.652084,"mid_iv":0.655603,"ask_iv":0.659121,"smv_vol":0.656,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.88,"average_volume":0,"last_volume":1,"trade_date":1709918471779,"prevclose":1.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":82,"bidexch":"P","bid_date":1709931590000,"asksize":13,"askexch":"W","ask_date":1709931589000,"open_interest":2415,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00037000","description":"PLTR - Jun 21 2024 $37.00 Put","exch":"Z","type":"option","last":10.78,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":11.5,"ask":11.6,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.7776460763326272,"gamma":0.03220063211725585,"theta":-0.01392898437785499,"vega":0.043333217361036035,"rho":0.013723847120620018,"phi":-0.016626329732982725,"bid_iv":0.647807,"mid_iv":0.66097,"ask_iv":0.674132,"smv_vol":0.659,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709828879176,"prevclose":10.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"E","bid_date":1709931588000,"asksize":71,"askexch":"E","ask_date":1709931574000,"open_interest":10,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00037000","description":"PLTR - Jun 21 2024 $37.00 Call","exch":"Z","type":"option","last":1.0,"change":-0.22,"volume":220,"open":1.1,"high":1.1,"low":1.0,"close":1.0,"bid":0.98,"ask":1.0,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.22235392366737283,"gamma":0.03220063211725585,"theta":-0.01392898437785499,"vega":0.043333217361036035,"rho":0.013723847120620018,"phi":-0.016626329732982725,"bid_iv":0.656484,"mid_iv":0.659945,"ask_iv":0.663406,"smv_vol":0.659,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.04,"average_volume":0,"last_volume":1,"trade_date":1709930524407,"prevclose":1.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"D","bid_date":1709931584000,"asksize":95,"askexch":"D","ask_date":1709931584000,"open_interest":4368,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00038000","description":"PLTR - Jun 21 2024 $38.00 Put","exch":"Z","type":"option","last":12.6,"change":0.15,"volume":5,"open":12.6,"high":12.6,"low":12.6,"close":12.6,"bid":12.4,"ask":12.5,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.7976640752593604,"gamma":0.0303103543097993,"theta":-0.013208142875631077,"vega":0.03987716856336629,"rho":0.012538395380093305,"phi":-0.015128744562664664,"bid_iv":0.650998,"mid_iv":0.665115,"ask_iv":0.679232,"smv_vol":0.663,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.21,"average_volume":0,"last_volume":1,"trade_date":1709923698748,"prevclose":12.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":81,"bidexch":"E","bid_date":1709931588000,"asksize":49,"askexch":"X","ask_date":1709931588000,"open_interest":11,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00038000","description":"PLTR - Jun 21 2024 $38.00 Call","exch":"Z","type":"option","last":1.03,"change":0.03,"volume":5,"open":1.15,"high":1.15,"low":1.03,"close":1.03,"bid":0.88,"ask":0.9,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.2023359247406395,"gamma":0.0303103543097993,"theta":-0.013208142875631077,"vega":0.03987716856336629,"rho":0.012538395380093305,"phi":-0.015128744562664664,"bid_iv":0.658656,"mid_iv":0.662416,"ask_iv":0.666177,"smv_vol":0.663,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.00,"average_volume":0,"last_volume":1,"trade_date":1709914369172,"prevclose":1.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"T","bid_date":1709931527000,"asksize":211,"askexch":"A","ask_date":1709931552000,"open_interest":2069,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00039000","description":"PLTR - Jun 21 2024 $39.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.3,"ask":13.4,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.8160895068000747,"gamma":0.028461292511840253,"theta":-0.01248909516475483,"vega":0.036293697127451674,"rho":0.011440535407332069,"phi":-0.013750384600941246,"bid_iv":0.648992,"mid_iv":0.664854,"ask_iv":0.680715,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":65,"bidexch":"E","bid_date":1709931595000,"asksize":9,"askexch":"U","ask_date":1709931581000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00039000","description":"PLTR - Jun 21 2024 $39.00 Call","exch":"Z","type":"option","last":0.84,"change":-0.06,"volume":16,"open":1.0,"high":1.03,"low":0.84,"close":0.84,"bid":0.78,"ask":0.81,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.1839104931999252,"gamma":0.028461292511840253,"theta":-0.01248909516475483,"vega":0.036293697127451674,"rho":0.011440535407332069,"phi":-0.013750384600941246,"bid_iv":0.66292,"mid_iv":0.667054,"ask_iv":0.671187,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.67,"average_volume":0,"last_volume":1,"trade_date":1709928402328,"prevclose":0.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"Z","bid_date":1709931582000,"asksize":261,"askexch":"E","ask_date":1709931583000,"open_interest":608,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240621P00040000","description":"PLTR - Jun 21 2024 $40.00 Put","exch":"Z","type":"option","last":16.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.25,"ask":15.4,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.8330219047156336,"gamma":0.026658779033468544,"theta":-0.01178328291663054,"vega":0.036852486565314584,"rho":0.010425296205874695,"phi":-0.012483792347639522,"bid_iv":0.64134,"mid_iv":0.690431,"ask_iv":0.739523,"smv_vol":0.673,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1708614814324,"prevclose":16.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":167,"bidexch":"M","bid_date":1709931587000,"asksize":119,"askexch":"N","ask_date":1709931574000,"open_interest":10,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240621C00040000","description":"PLTR - Jun 21 2024 $40.00 Call","exch":"Z","type":"option","last":0.71,"change":-0.10,"volume":1019,"open":0.92,"high":0.94,"low":0.7,"close":0.71,"bid":0.7,"ask":0.72,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.16697809528436636,"gamma":0.026658779033468544,"theta":-0.01178328291663054,"vega":0.036852486565314584,"rho":0.010425296205874695,"phi":-0.012483792347639522,"bid_iv":0.670814,"mid_iv":0.673528,"ask_iv":0.676242,"smv_vol":0.673,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.35,"average_volume":0,"last_volume":20,"trade_date":1709931584396,"prevclose":0.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"D","bid_date":1709931599000,"asksize":39,"askexch":"P","ask_date":1709931598000,"open_interest":9366,"contract_size":100,"expiration_date":"2024-06-21","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '198' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '2' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-03-15&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240315P00001000","description":"PLTR - Mar 15 2024 $1.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":1.0,"greeks":{"delta":0.0,"gamma":1.35179341683612E-15,"theta":-1.8339670529397964E-4,"vega":2.0000000845490925E-5,"rho":1.9050306062376628E-4,"phi":-0.004967046542958542,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1709928222000,"asksize":252,"askexch":"W","ask_date":1709931527000,"open_interest":5,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00001000","description":"PLTR - Mar 15 2024 $1.00 Call","exch":"Z","type":"option","last":24.85,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":24.85,"ask":25.1,"underlying":"PLTR","strike":1.0,"greeks":{"delta":1.0,"gamma":1.35179341683612E-15,"theta":-1.8339670529397964E-4,"vega":2.0000000845490925E-5,"rho":1.9050306062376628E-4,"phi":-0.004967046542958542,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709741801176,"prevclose":24.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931589000,"asksize":1,"askexch":"Z","ask_date":1709931598000,"open_interest":4,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00002000","description":"PLTR - Mar 15 2024 $2.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":2.0,"greeks":{"delta":-2.8E-15,"gamma":1.6102856014130384E-15,"theta":-3.6679341058795927E-4,"vega":2.000000075649188E-5,"rho":3.810061181139179E-4,"phi":-0.0049670466140128156,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709747596578,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1709928222000,"asksize":252,"askexch":"W","ask_date":1709931527000,"open_interest":11,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00002000","description":"PLTR - Mar 15 2024 $2.00 Call","exch":"Z","type":"option","last":23.95,"change":-0.30,"volume":1,"open":23.95,"high":23.95,"low":23.95,"close":23.95,"bid":24.0,"ask":24.1,"underlying":"PLTR","strike":2.0,"greeks":{"delta":0.9999999999999972,"gamma":1.6102856014130384E-15,"theta":-3.6679341058795927E-4,"vega":2.000000075649188E-5,"rho":3.810061181139179E-4,"phi":-0.0049670466140128156,"bid_iv":0.0,"mid_iv":9.096056,"ask_iv":9.096056,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.24,"average_volume":0,"last_volume":1,"trade_date":1709923929620,"prevclose":24.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"B","bid_date":1709931598000,"asksize":34,"askexch":"X","ask_date":1709931598000,"open_interest":6,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00003000","description":"PLTR - Mar 15 2024 $3.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.0,"gamma":6.825599210197133E-15,"theta":-5.50190115907326E-4,"vega":2.000000077874164E-5,"rho":5.715091756040695E-4,"phi":-0.004967046720594226,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707415191271,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709925432000,"asksize":195,"askexch":"H","ask_date":1709931282000,"open_interest":30,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00003000","description":"PLTR - Mar 15 2024 $3.00 Call","exch":"Z","type":"option","last":23.85,"change":0.00,"volume":19,"open":null,"high":null,"low":null,"close":null,"bid":22.85,"ask":23.1,"underlying":"PLTR","strike":3.0,"greeks":{"delta":1.0,"gamma":6.825599210197133E-15,"theta":-5.50190115907326E-4,"vega":2.000000077874164E-5,"rho":5.715091756040695E-4,"phi":-0.004967046720594226,"bid_iv":0.0,"mid_iv":7.547142,"ask_iv":7.547142,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":12,"trade_date":1709824365916,"prevclose":23.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931594000,"asksize":33,"askexch":"X","ask_date":1709931586000,"open_interest":25,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00004000","description":"PLTR - Mar 15 2024 $4.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":4.0,"greeks":{"delta":0.0,"gamma":-4.122012376524893E-15,"theta":-7.335868211754082E-4,"vega":2.0000000711992356E-5,"rho":7.620122323108175E-4,"phi":-0.004967046685067089,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709925432000,"asksize":252,"askexch":"W","ask_date":1709931527000,"open_interest":92,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00004000","description":"PLTR - Mar 15 2024 $4.00 Call","exch":"Z","type":"option","last":19.41,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.0,"ask":22.3,"underlying":"PLTR","strike":4.0,"greeks":{"delta":1.0,"gamma":-4.122012376524893E-15,"theta":-7.335868211754082E-4,"vega":2.0000000711992356E-5,"rho":7.620122323108175E-4,"phi":-0.004967046685067089,"bid_iv":0.0,"mid_iv":6.496757,"ask_iv":6.496757,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708616393911,"prevclose":19.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"X","bid_date":1709931560000,"asksize":20,"askexch":"X","ask_date":1709931595000,"open_interest":80,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00005000","description":"PLTR - Mar 15 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.0,"gamma":-4.040915470732583E-15,"theta":-9.169835264947749E-4,"vega":2.0000000645243074E-5,"rho":9.525152908455073E-4,"phi":-0.004967046827175636,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1707231372089,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":195,"askexch":"H","ask_date":1709931282000,"open_interest":1055,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00005000","description":"PLTR - Mar 15 2024 $5.00 Call","exch":"Z","type":"option","last":16.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.9,"ask":21.15,"underlying":"PLTR","strike":5.0,"greeks":{"delta":1.0,"gamma":-4.040915470732583E-15,"theta":-9.169835264947749E-4,"vega":2.0000000645243074E-5,"rho":9.525152908455073E-4,"phi":-0.004967046827175636,"bid_iv":0.0,"mid_iv":5.699704,"ask_iv":5.699704,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1707232306311,"prevclose":16.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"E","bid_date":1709931598000,"asksize":7,"askexch":"J","ask_date":1709931598000,"open_interest":23,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00006000","description":"PLTR - Mar 15 2024 $6.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-2.8E-15,"gamma":1.5458383218527213E-15,"theta":-0.0011003802317758058,"vega":2.0000000622993314E-5,"rho":0.0011430183478133898,"phi":-0.004967046756121363,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":252,"askexch":"W","ask_date":1709931527000,"open_interest":2206,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00006000","description":"PLTR - Mar 15 2024 $6.00 Call","exch":"Z","type":"option","last":20.15,"change":1.10,"volume":1,"open":20.15,"high":20.15,"low":20.15,"close":20.15,"bid":19.8,"ask":20.1,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9999999999999972,"gamma":1.5458383218527213E-15,"theta":-0.0011003802317758058,"vega":2.0000000622993314E-5,"rho":0.0011430183478133898,"phi":-0.004967046756121363,"bid_iv":0.0,"mid_iv":5.630477,"ask_iv":5.630477,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.78,"average_volume":0,"last_volume":1,"trade_date":1709922448834,"prevclose":19.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":138,"bidexch":"E","bid_date":1709931589000,"asksize":33,"askexch":"X","ask_date":1709931573000,"open_interest":68,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00007000","description":"PLTR - Mar 15 2024 $7.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.0,"gamma":6.825599210197133E-15,"theta":-0.001283776937056837,"vega":2.0000000645243074E-5,"rho":0.0013335214047812724,"phi":-0.0049670467916484995,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709145466182,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":213,"askexch":"H","ask_date":1709931269000,"open_interest":430,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00007000","description":"PLTR - Mar 15 2024 $7.00 Call","exch":"Z","type":"option","last":19.15,"change":-0.90,"volume":1,"open":19.15,"high":19.15,"low":19.15,"close":19.15,"bid":18.85,"ask":19.15,"underlying":"PLTR","strike":7.0,"greeks":{"delta":1.0,"gamma":6.825599210197133E-15,"theta":-0.001283776937056837,"vega":2.0000000645243074E-5,"rho":0.0013335214047812724,"phi":-0.0049670467916484995,"bid_iv":0.0,"mid_iv":5.047216,"ask_iv":5.047216,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.49,"average_volume":0,"last_volume":1,"trade_date":1709922448834,"prevclose":20.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":262,"bidexch":"X","bid_date":1709931594000,"asksize":35,"askexch":"X","ask_date":1709931587000,"open_interest":145,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00008000","description":"PLTR - Mar 15 2024 $8.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-1.0E-16,"gamma":-9.529922731293585E-15,"theta":-0.0014671736423378678,"vega":2.0000000600743554E-5,"rho":0.0015240244620102893,"phi":-0.0049670467916484995,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709839363964,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":203,"askexch":"H","ask_date":1709931269000,"open_interest":479,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00008000","description":"PLTR - Mar 15 2024 $8.00 Call","exch":"Z","type":"option","last":19.1,"change":0.00,"volume":40,"open":null,"high":null,"low":null,"close":null,"bid":17.85,"ask":18.1,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9999999999999999,"gamma":-9.529922731293585E-15,"theta":-0.0014671736423378678,"vega":2.0000000600743554E-5,"rho":0.0015240244620102893,"phi":-0.0049670467916484995,"bid_iv":0.0,"mid_iv":4.074629,"ask_iv":4.074629,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709835414530,"prevclose":19.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":116,"bidexch":"X","bid_date":1709931590000,"asksize":33,"askexch":"X","ask_date":1709931589000,"open_interest":233,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00009000","description":"PLTR - Mar 15 2024 $9.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":6,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.0,"gamma":-4.056116937932571E-15,"theta":-0.001650570347631592,"vega":2.000000051174451E-5,"rho":0.0017145275197615756,"phi":-0.004967046933757047,"bid_iv":0.0,"mid_iv":3.008337,"ask_iv":3.008337,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":3,"trade_date":1709825295954,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":203,"askexch":"H","ask_date":1709931269000,"open_interest":7685,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00009000","description":"PLTR - Mar 15 2024 $9.00 Call","exch":"Z","type":"option","last":17.5,"change":-0.55,"volume":6,"open":17.6,"high":17.6,"low":17.5,"close":17.5,"bid":17.0,"ask":17.3,"underlying":"PLTR","strike":9.0,"greeks":{"delta":1.0,"gamma":-4.056116937932571E-15,"theta":-0.001650570347631592,"vega":2.000000051174451E-5,"rho":0.0017145275197615756,"phi":-0.004967046933757047,"bid_iv":0.0,"mid_iv":4.111819,"ask_iv":4.111819,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.05,"average_volume":0,"last_volume":3,"trade_date":1709914010532,"prevclose":18.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":47,"bidexch":"X","bid_date":1709931587000,"asksize":171,"askexch":"X","ask_date":1709931587000,"open_interest":214,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00010000","description":"PLTR - Mar 15 2024 $10.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.0,"gamma":-1.2634641211559219E-15,"theta":-0.0018339670529382652,"vega":2.0000000556244027E-5,"rho":0.0019050305769905925,"phi":-0.00496704689822991,"bid_iv":0.0,"mid_iv":2.724536,"ask_iv":2.724536,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709652522588,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":203,"askexch":"H","ask_date":1709931269000,"open_interest":35220,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00010000","description":"PLTR - Mar 15 2024 $10.00 Call","exch":"Z","type":"option","last":16.15,"change":-0.42,"volume":9,"open":16.26,"high":16.26,"low":16.15,"close":16.15,"bid":16.0,"ask":16.2,"underlying":"PLTR","strike":10.0,"greeks":{"delta":1.0,"gamma":-1.2634641211559219E-15,"theta":-0.0018339670529382652,"vega":2.0000000556244027E-5,"rho":0.0019050305769905925,"phi":-0.00496704689822991,"bid_iv":0.0,"mid_iv":3.322303,"ask_iv":3.322303,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.54,"average_volume":0,"last_volume":2,"trade_date":1709921584219,"prevclose":16.57,"week_52_high":0.0,"week_52_low":0.0,"bidsize":31,"bidexch":"X","bid_date":1709931566000,"asksize":73,"askexch":"X","ask_date":1709931592000,"open_interest":466,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00011000","description":"PLTR - Mar 15 2024 $11.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.0,"gamma":4.144446233612769E-15,"theta":-0.00201736375823199,"vega":2.000000044499522E-5,"rho":0.0020955336346113115,"phi":-0.004967046844939205,"bid_iv":0.0,"mid_iv":2.468729,"ask_iv":2.468729,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709828560232,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":25,"askexch":"C","ask_date":1709931599000,"open_interest":17008,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00011000","description":"PLTR - Mar 15 2024 $11.00 Call","exch":"Z","type":"option","last":15.04,"change":-0.67,"volume":10,"open":15.09,"high":15.09,"low":15.04,"close":15.04,"bid":15.0,"ask":15.15,"underlying":"PLTR","strike":11.0,"greeks":{"delta":1.0,"gamma":4.144446233612769E-15,"theta":-0.00201736375823199,"vega":2.000000044499522E-5,"rho":0.0020955336346113115,"phi":-0.004967046844939205,"bid_iv":0.0,"mid_iv":3.002317,"ask_iv":3.002317,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.27,"average_volume":0,"last_volume":1,"trade_date":1709931254700,"prevclose":15.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":45,"bidexch":"X","bid_date":1709931585000,"asksize":2,"askexch":"B","ask_date":1709931598000,"open_interest":534,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00012000","description":"PLTR - Mar 15 2024 $12.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":10,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-3.73E-14,"gamma":1.0635833033457802E-13,"theta":-0.0022007604635836007,"vega":2.000000044499522E-5,"rho":0.0022860366917097615,"phi":-0.004967046915993478,"bid_iv":0.0,"mid_iv":2.235925,"ask_iv":2.235925,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709914448056,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":25,"askexch":"C","ask_date":1709931599000,"open_interest":31917,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00012000","description":"PLTR - Mar 15 2024 $12.00 Call","exch":"Z","type":"option","last":13.95,"change":-0.53,"volume":27,"open":14.8,"high":14.8,"low":13.95,"close":13.95,"bid":14.0,"ask":14.15,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9999999999999627,"gamma":1.0635833033457802E-13,"theta":-0.0022007604635836007,"vega":2.000000044499522E-5,"rho":0.0022860366917097615,"phi":-0.004967046915993478,"bid_iv":0.0,"mid_iv":2.71138,"ask_iv":2.71138,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.66,"average_volume":0,"last_volume":25,"trade_date":1709918625051,"prevclose":14.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"X","bid_date":1709931595000,"asksize":21,"askexch":"Z","ask_date":1709931598000,"open_interest":374,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00013000","description":"PLTR - Mar 15 2024 $13.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":6,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-1.7459E-11,"gamma":4.076021181846902E-11,"theta":-0.0023841571928065993,"vega":2.0000004182955094E-5,"rho":0.002476539749199913,"phi":-0.004967046987047752,"bid_iv":0.0,"mid_iv":2.022254,"ask_iv":2.022254,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709913901461,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931599000,"asksize":23,"askexch":"C","ask_date":1709931599000,"open_interest":21366,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00013000","description":"PLTR - Mar 15 2024 $13.00 Call","exch":"Z","type":"option","last":13.11,"change":-0.77,"volume":13,"open":14.15,"high":14.15,"low":13.11,"close":13.11,"bid":13.0,"ask":13.1,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.999999999982541,"gamma":4.076021181846902E-11,"theta":-0.0023841571928065993,"vega":2.0000004182955094E-5,"rho":0.002476539749199913,"phi":-0.004967046987047752,"bid_iv":0.0,"mid_iv":2.444665,"ask_iv":2.444665,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.55,"average_volume":0,"last_volume":1,"trade_date":1709922559495,"prevclose":13.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":94,"bidexch":"C","bid_date":1709931561000,"asksize":67,"askexch":"C","ask_date":1709931561000,"open_interest":749,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00014000","description":"PLTR - Mar 15 2024 $14.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":3,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-2.0671591E-9,"gamma":4.332871269324061E-9,"theta":-0.002567556422919108,"vega":2.000051632795652E-5,"rho":0.002667042795983548,"phi":-0.004967046951520615,"bid_iv":0.0,"mid_iv":1.820828,"ask_iv":1.820828,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709921400767,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709925432000,"asksize":25,"askexch":"C","ask_date":1709931599000,"open_interest":20915,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00014000","description":"PLTR - Mar 15 2024 $14.00 Call","exch":"Z","type":"option","last":11.95,"change":-1.05,"volume":41,"open":12.84,"high":12.95,"low":11.95,"close":11.95,"bid":12.0,"ask":12.1,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9999999979328409,"gamma":4.332871269324061E-9,"theta":-0.002567556422919108,"vega":2.000051632795652E-5,"rho":0.002667042795983548,"phi":-0.004967046951520615,"bid_iv":0.0,"mid_iv":2.198462,"ask_iv":2.198462,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.08,"average_volume":0,"last_volume":5,"trade_date":1709923496914,"prevclose":13.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":217,"bidexch":"C","bid_date":1709931592000,"asksize":13,"askexch":"M","ask_date":1709931600000,"open_interest":1330,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00015000","description":"PLTR - Mar 15 2024 $15.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":22,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-9.98726191E-8,"gamma":1.873517654922986E-7,"theta":-0.0027510607369792533,"vega":2.0018527843328254E-5,"rho":0.002857545348178338,"phi":-0.004967046507431405,"bid_iv":0.0,"mid_iv":1.633635,"ask_iv":1.633635,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709930745546,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709925432000,"asksize":38,"askexch":"E","ask_date":1709931599000,"open_interest":23014,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00015000","description":"PLTR - Mar 15 2024 $15.00 Call","exch":"Z","type":"option","last":11.06,"change":-0.36,"volume":23,"open":12.1,"high":12.15,"low":10.97,"close":11.06,"bid":11.0,"ask":11.1,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9999999001273809,"gamma":1.873517654922986E-7,"theta":-0.0027510607369792533,"vega":2.0018527843328254E-5,"rho":0.002857545348178338,"phi":-0.004967046507431405,"bid_iv":0.0,"mid_iv":1.969847,"ask_iv":1.969847,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.16,"average_volume":0,"last_volume":1,"trade_date":1709931254700,"prevclose":11.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":409,"bidexch":"C","bid_date":1709931569000,"asksize":56,"askexch":"X","ask_date":1709931599000,"open_interest":4245,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00016000","description":"PLTR - Mar 15 2024 $16.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":35,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-2.39321132E-6,"gamma":3.997486912671045E-6,"theta":-0.002936696386868072,"vega":2.0412832603052184E-5,"rho":0.003048036555513007,"phi":-0.004967034925584812,"bid_iv":0.0,"mid_iv":1.458818,"ask_iv":1.458818,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":13,"trade_date":1709823179508,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1709931265000,"asksize":191,"askexch":"P","ask_date":1709931280000,"open_interest":16471,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00016000","description":"PLTR - Mar 15 2024 $16.00 Call","exch":"Z","type":"option","last":10.15,"change":-0.70,"volume":63,"open":11.15,"high":11.15,"low":10.0,"close":10.15,"bid":10.0,"ask":10.1,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.99999760678868,"gamma":3.997486912671045E-6,"theta":-0.002936696386868072,"vega":2.0412832603052184E-5,"rho":0.003048036555513007,"phi":-0.004967034925584812,"bid_iv":0.0,"mid_iv":1.756489,"ask_iv":1.756489,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.46,"average_volume":0,"last_volume":1,"trade_date":1709921983361,"prevclose":10.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":86,"bidexch":"X","bid_date":1709931583000,"asksize":49,"askexch":"C","ask_date":1709931582000,"open_interest":13386,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00017000","description":"PLTR - Mar 15 2024 $17.00 Call","exch":"Z","type":"option","last":9.04,"change":-0.47,"volume":134,"open":10.0,"high":10.2,"low":9.04,"close":9.04,"bid":9.0,"ask":9.1,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.99996811196266,"gamma":4.725032314784407E-5,"theta":-0.0031454923593155475,"vega":2.5898746464636226E-5,"rho":0.0032383870807849925,"phi":-0.0049668863333351965,"bid_iv":0.0,"mid_iv":1.554189,"ask_iv":1.554189,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.95,"average_volume":0,"last_volume":10,"trade_date":1709931315034,"prevclose":9.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":575,"bidexch":"C","bid_date":1709931582000,"asksize":128,"askexch":"C","ask_date":1709931582000,"open_interest":12605,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00017000","description":"PLTR - Mar 15 2024 $17.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":5,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-3.188803734E-5,"gamma":4.725032314784407E-5,"theta":-0.0031454923593155475,"vega":2.5898746464636226E-5,"rho":0.0032383870807849925,"phi":-0.0049668863333351965,"bid_iv":0.0,"mid_iv":1.293061,"ask_iv":1.293061,"smv_vol":0.799,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709910520224,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Z","bid_date":1709925432000,"asksize":112,"askexch":"Z","ask_date":1709931280000,"open_interest":23458,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00018000","description":"PLTR - Mar 15 2024 $18.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":18,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-2.748627015038E-4,"gamma":3.5763159349677605E-4,"theta":-0.0035109957950300377,"vega":5.907962580824943E-5,"rho":0.0034276316842480666,"phi":-0.004965664093248279,"bid_iv":0.0,"mid_iv":1.134887,"ask_iv":1.134887,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709927373851,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"J","bid_date":1709931599000,"asksize":100,"askexch":"B","ask_date":1709931280000,"open_interest":16261,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00018000","description":"PLTR - Mar 15 2024 $18.00 Call","exch":"Z","type":"option","last":8.11,"change":-0.51,"volume":169,"open":8.9,"high":9.15,"low":7.95,"close":8.11,"bid":8.0,"ask":8.1,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9997251372984962,"gamma":3.5763159349677605E-4,"theta":-0.0035109957950300377,"vega":5.907962580824943E-5,"rho":0.0034276316842480666,"phi":-0.004965664093248279,"bid_iv":0.0,"mid_iv":1.362611,"ask_iv":1.362611,"smv_vol":0.798,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.92,"average_volume":0,"last_volume":2,"trade_date":1709931046480,"prevclose":8.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":604,"bidexch":"C","bid_date":1709931592000,"asksize":96,"askexch":"C","ask_date":1709931592000,"open_interest":14740,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00019000","description":"PLTR - Mar 15 2024 $19.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":18,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0015649122283234,"gamma":0.0017825277471102603,"theta":-0.0045295218843370575,"vega":2.196003120635631E-4,"rho":0.0036114382317882967,"phi":-0.004959185595510007,"bid_iv":0.0,"mid_iv":0.985472,"ask_iv":0.985472,"smv_vol":0.794,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709929002627,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1709931265000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":12980,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00019000","description":"PLTR - Mar 15 2024 $19.00 Call","exch":"Z","type":"option","last":7.13,"change":-0.47,"volume":26,"open":7.85,"high":8.16,"low":6.93,"close":7.13,"bid":7.0,"ask":7.1,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9984350877716766,"gamma":0.0017825277471102603,"theta":-0.0045295218843370575,"vega":2.196003120635631E-4,"rho":0.0036114382317882967,"phi":-0.004959185595510007,"bid_iv":0.0,"mid_iv":1.18167,"ask_iv":1.18167,"smv_vol":0.794,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.19,"average_volume":0,"last_volume":10,"trade_date":1709931438845,"prevclose":7.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":381,"bidexch":"E","bid_date":1709931592000,"asksize":62,"askexch":"C","ask_date":1709931572000,"open_interest":9359,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00019500","description":"PLTR - Mar 15 2024 $19.50 Call","exch":"Z","type":"option","last":6.65,"change":-0.60,"volume":7,"open":7.8,"high":7.8,"low":6.65,"close":6.65,"bid":6.5,"ask":6.6,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9966745494722875,"gamma":0.0035285680362236406,"theta":-0.005643655854930089,"vega":3.7476946576102556E-4,"rho":0.0036975326739529637,"phi":-0.004950354188792971,"bid_iv":0.0,"mid_iv":1.094842,"ask_iv":1.094842,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.28,"average_volume":0,"last_volume":1,"trade_date":1709924748552,"prevclose":7.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":82,"bidexch":"X","bid_date":1709931591000,"asksize":37,"askexch":"C","ask_date":1709931599000,"open_interest":116,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00019500","description":"PLTR - Mar 15 2024 $19.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":98,"open":0.01,"high":0.02,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0033254505277125,"gamma":0.0035285680362236406,"theta":-0.005643655854930089,"vega":3.7476946576102556E-4,"rho":0.0036975326739529637,"phi":-0.004950354188792971,"bid_iv":0.0,"mid_iv":0.913825,"ask_iv":0.913825,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709926756814,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931280000,"asksize":6,"askexch":"J","ask_date":1709931564000,"open_interest":298,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00020000","description":"PLTR - Mar 15 2024 $20.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":744,"open":0.01,"high":0.02,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0065442153754655,"gamma":0.006458853189263624,"theta":-0.007449900359260412,"vega":7.874120122047874E-4,"rho":0.0037760116064961703,"phi":-0.004934220889651897,"bid_iv":0.0,"mid_iv":0.842032,"ask_iv":0.842032,"smv_vol":0.782,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":1,"trade_date":1709931041378,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931265000,"asksize":34,"askexch":"N","ask_date":1709931599000,"open_interest":45759,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00020000","description":"PLTR - Mar 15 2024 $20.00 Call","exch":"Z","type":"option","last":6.1,"change":-0.30,"volume":1016,"open":6.5,"high":7.29,"low":5.95,"close":6.1,"bid":6.0,"ask":6.1,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9934557846245345,"gamma":0.006458853189263624,"theta":-0.007449900359260412,"vega":7.874120122047874E-4,"rho":0.0037760116064961703,"phi":-0.004934220889651897,"bid_iv":0.0,"mid_iv":1.010355,"ask_iv":1.010355,"smv_vol":0.782,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.69,"average_volume":0,"last_volume":20,"trade_date":1709931410216,"prevclose":6.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":410,"bidexch":"E","bid_date":1709931596000,"asksize":94,"askexch":"C","ask_date":1709931594000,"open_interest":17838,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00020500","description":"PLTR - Mar 15 2024 $20.50 Put","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":19,"open":0.01,"high":0.02,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0100430699911165,"gamma":0.009722433368546175,"theta":-0.009084992045691223,"vega":0.0010041472464340044,"rho":0.0038530469692732027,"phi":-0.004916680262923023,"bid_iv":0.772888,"mid_iv":0.812435,"ask_iv":0.851981,"smv_vol":0.775,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":1,"trade_date":1709929609690,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":730,"bidexch":"D","bid_date":1709931598000,"asksize":239,"askexch":"P","ask_date":1709931587000,"open_interest":1117,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00020500","description":"PLTR - Mar 15 2024 $20.50 Call","exch":"Z","type":"option","last":5.51,"change":-0.89,"volume":9,"open":6.35,"high":6.51,"low":5.51,"close":5.51,"bid":5.5,"ask":5.6,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9899569300088835,"gamma":0.009722433368546175,"theta":-0.009084992045691223,"vega":0.0010041472464340044,"rho":0.0038530469692732027,"phi":-0.004916680262923023,"bid_iv":0.0,"mid_iv":0.925823,"ask_iv":0.925823,"smv_vol":0.775,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.91,"average_volume":0,"last_volume":4,"trade_date":1709920864372,"prevclose":6.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":269,"bidexch":"E","bid_date":1709931596000,"asksize":17,"askexch":"M","ask_date":1709931588000,"open_interest":138,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00021000","description":"PLTR - Mar 15 2024 $21.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.02,"volume":150,"open":0.03,"high":0.06,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0171369189073816,"gamma":0.015590079773280837,"theta":-0.012207296549078652,"vega":0.0015593715352857443,"rho":0.003911263078180498,"phi":-0.004881153063962529,"bid_iv":0.704589,"mid_iv":0.741474,"ask_iv":0.778359,"smv_vol":0.767,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-66.67,"average_volume":0,"last_volume":1,"trade_date":1709931375363,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1705,"bidexch":"D","bid_date":1709931599000,"asksize":15,"askexch":"W","ask_date":1709931546000,"open_interest":17387,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00021000","description":"PLTR - Mar 15 2024 $21.00 Call","exch":"Z","type":"option","last":5.1,"change":-0.38,"volume":314,"open":5.65,"high":6.1,"low":4.98,"close":5.1,"bid":5.05,"ask":5.1,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9828630810926184,"gamma":0.015590079773280837,"theta":-0.012207296549078652,"vega":0.0015593715352857443,"rho":0.003911263078180498,"phi":-0.004881153063962529,"bid_iv":0.0,"mid_iv":0.843393,"ask_iv":0.843393,"smv_vol":0.767,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.94,"average_volume":0,"last_volume":1,"trade_date":1709931445904,"prevclose":5.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"C","bid_date":1709931599000,"asksize":15,"askexch":"B","ask_date":1709931599000,"open_interest":16219,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00021500","description":"PLTR - Mar 15 2024 $21.50 Call","exch":"Z","type":"option","last":4.65,"change":-0.60,"volume":85,"open":5.45,"high":5.6,"low":4.5,"close":4.65,"bid":4.55,"ask":4.65,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.9777415947955256,"gamma":0.020749433455985504,"theta":-0.013721037423960173,"vega":0.0019205944802212222,"rho":0.003979941790670231,"phi":-0.0048554579823445465,"bid_iv":0.0,"mid_iv":0.916334,"ask_iv":0.916334,"smv_vol":0.716,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.43,"average_volume":0,"last_volume":3,"trade_date":1709929942199,"prevclose":5.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"C","bid_date":1709931586000,"asksize":37,"askexch":"X","ask_date":1709931595000,"open_interest":185,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00021500","description":"PLTR - Mar 15 2024 $21.50 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":346,"open":0.02,"high":0.03,"low":0.02,"close":0.02,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.0222584052044744,"gamma":0.020749433455985504,"theta":-0.013721037423960173,"vega":0.0019205944802212222,"rho":0.003979941790670231,"phi":-0.0048554579823445465,"bid_iv":0.704371,"mid_iv":0.728708,"ask_iv":0.753044,"smv_vol":0.716,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709928532728,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":176,"bidexch":"D","bid_date":1709931584000,"asksize":285,"askexch":"W","ask_date":1709931587000,"open_interest":971,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00022000","description":"PLTR - Mar 15 2024 $22.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":1407,"open":0.03,"high":0.05,"low":0.02,"close":0.04,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.0308757322848903,"gamma":0.02879133735215487,"theta":-0.016233200230645978,"vega":0.002810002967373528,"rho":0.004030396532402379,"phi":-0.0048122560869501285,"bid_iv":0.677332,"mid_iv":0.695377,"ask_iv":0.713423,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709931241702,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"D","bid_date":1709931588000,"asksize":1891,"askexch":"D","ask_date":1709931588000,"open_interest":14151,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00022000","description":"PLTR - Mar 15 2024 $22.00 Call","exch":"Z","type":"option","last":4.09,"change":-0.36,"volume":252,"open":5.0,"high":5.3,"low":3.9,"close":4.09,"bid":4.05,"ask":4.15,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.9691242677151097,"gamma":0.02879133735215487,"theta":-0.016233200230645978,"vega":0.002810002967373528,"rho":0.004030396532402379,"phi":-0.0048122560869501285,"bid_iv":0.0,"mid_iv":0.826964,"ask_iv":0.826964,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.09,"average_volume":0,"last_volume":1,"trade_date":1709931295969,"prevclose":4.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":93,"bidexch":"C","bid_date":1709931594000,"asksize":130,"askexch":"E","ask_date":1709931594000,"open_interest":27774,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00022500","description":"PLTR - Mar 15 2024 $22.50 Call","exch":"Z","type":"option","last":3.65,"change":-0.35,"volume":105,"open":4.75,"high":4.78,"low":3.5,"close":3.65,"bid":3.55,"ask":3.65,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.9506524198466879,"gamma":0.0428331253768064,"theta":-0.021662713875022974,"vega":0.00395762585223785,"rho":0.004029158206822555,"phi":-0.004719808068820441,"bid_iv":0.0,"mid_iv":0.737921,"ask_iv":0.737921,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.75,"average_volume":0,"last_volume":1,"trade_date":1709931425178,"prevclose":4.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":645,"bidexch":"C","bid_date":1709931592000,"asksize":280,"askexch":"E","ask_date":1709931577000,"open_interest":927,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00022500","description":"PLTR - Mar 15 2024 $22.50 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":254,"open":0.05,"high":0.05,"low":0.03,"close":0.04,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.0493475801533121,"gamma":0.0428331253768064,"theta":-0.021662713875022974,"vega":0.00395762585223785,"rho":0.004029158206822555,"phi":-0.004719808068820441,"bid_iv":0.601222,"mid_iv":0.618153,"ask_iv":0.635085,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709931565913,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":746,"bidexch":"D","bid_date":1709931598000,"asksize":10,"askexch":"P","ask_date":1709931599000,"open_interest":7229,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00023000","description":"PLTR - Mar 15 2024 $23.00 Put","exch":"Z","type":"option","last":0.06,"change":-0.01,"volume":2138,"open":0.05,"high":0.09,"low":0.04,"close":0.06,"bid":0.05,"ask":0.06,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.0655760983782221,"gamma":0.0575463197218955,"theta":-0.024602141273832354,"vega":0.004651860432078814,"rho":0.004040135153230115,"phi":-0.0046384690755019164,"bid_iv":0.583246,"mid_iv":0.595469,"ask_iv":0.607692,"smv_vol":0.594,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.29,"average_volume":0,"last_volume":2,"trade_date":1709931573068,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1415,"bidexch":"D","bid_date":1709931590000,"asksize":646,"askexch":"D","ask_date":1709931590000,"open_interest":14497,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00023000","description":"PLTR - Mar 15 2024 $23.00 Call","exch":"Z","type":"option","last":3.18,"change":-0.27,"volume":436,"open":4.25,"high":4.3,"low":2.95,"close":3.18,"bid":3.05,"ask":3.15,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.9344239016217779,"gamma":0.0575463197218955,"theta":-0.024602141273832354,"vega":0.004651860432078814,"rho":0.004040135153230115,"phi":-0.0046384690755019164,"bid_iv":0.507457,"mid_iv":0.56859,"ask_iv":0.629724,"smv_vol":0.594,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.83,"average_volume":0,"last_volume":1,"trade_date":1709931436068,"prevclose":3.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":732,"bidexch":"E","bid_date":1709931598000,"asksize":59,"askexch":"X","ask_date":1709931591000,"open_interest":13417,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00023500","description":"PLTR - Mar 15 2024 $23.50 Call","exch":"Z","type":"option","last":2.65,"change":-0.18,"volume":157,"open":3.67,"high":3.82,"low":2.5,"close":2.65,"bid":2.62,"ask":2.67,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.9101336870813258,"gamma":0.07829556686538687,"theta":-0.028460334281499317,"vega":0.006157532714375063,"rho":0.004009140241321592,"phi":-0.004516787943664724,"bid_iv":0.508491,"mid_iv":0.552822,"ask_iv":0.597153,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.36,"average_volume":0,"last_volume":1,"trade_date":1709931202351,"prevclose":2.83,"week_52_high":0.0,"week_52_low":0.0,"bidsize":82,"bidexch":"E","bid_date":1709931592000,"asksize":44,"askexch":"M","ask_date":1709931594000,"open_interest":4569,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00023500","description":"PLTR - Mar 15 2024 $23.50 Put","exch":"Z","type":"option","last":0.09,"change":-0.01,"volume":1794,"open":0.05,"high":0.11,"low":0.05,"close":0.09,"bid":0.08,"ask":0.09,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.0898663129186742,"gamma":0.07829556686538687,"theta":-0.028460334281499317,"vega":0.006157532714375063,"rho":0.004009140241321592,"phi":-0.004516787943664724,"bid_iv":0.562751,"mid_iv":0.571689,"ask_iv":0.580628,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.00,"average_volume":0,"last_volume":1,"trade_date":1709931546876,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1046,"bidexch":"D","bid_date":1709931596000,"asksize":613,"askexch":"D","ask_date":1709931596000,"open_interest":4340,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00024000","description":"PLTR - Mar 15 2024 $24.00 Put","exch":"Z","type":"option","last":0.13,"change":-0.01,"volume":17929,"open":0.1,"high":0.19,"low":0.07,"close":0.13,"bid":0.13,"ask":0.14,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.1276090460434716,"gamma":0.1067479735609473,"theta":-0.033647650301684894,"vega":0.007837814617580952,"rho":0.0039078120283718544,"phi":-0.004327904914447345,"bid_iv":0.547465,"mid_iv":0.5542,"ask_iv":0.560935,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.15,"average_volume":0,"last_volume":1,"trade_date":1709931502442,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":939,"bidexch":"D","bid_date":1709931588000,"asksize":6,"askexch":"H","ask_date":1709931600000,"open_interest":11930,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00024000","description":"PLTR - Mar 15 2024 $24.00 Call","exch":"Z","type":"option","last":2.25,"change":-0.43,"volume":1594,"open":3.12,"high":3.4,"low":2.07,"close":2.25,"bid":2.17,"ask":2.22,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.8723909539565284,"gamma":0.1067479735609473,"theta":-0.033647650301684894,"vega":0.007837814617580952,"rho":0.0039078120283718544,"phi":-0.004327904914447345,"bid_iv":0.507004,"mid_iv":0.533715,"ask_iv":0.560425,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.05,"average_volume":0,"last_volume":1,"trade_date":1709931431877,"prevclose":2.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":345,"bidexch":"E","bid_date":1709931598000,"asksize":10,"askexch":"J","ask_date":1709931598000,"open_interest":26627,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00024500","description":"PLTR - Mar 15 2024 $24.50 Call","exch":"Z","type":"option","last":1.79,"change":-0.35,"volume":4594,"open":2.49,"high":2.9,"low":1.66,"close":1.79,"bid":1.76,"ask":1.8,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.8149705281647707,"gamma":0.14177338777520143,"theta":-0.04025853602794796,"vega":0.009596541707557362,"rho":0.0037028556597759094,"phi":-0.004040954872941427,"bid_iv":0.506313,"mid_iv":0.531023,"ask_iv":0.555733,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.36,"average_volume":0,"last_volume":1,"trade_date":1709931558454,"prevclose":2.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931600000,"asksize":17,"askexch":"B","ask_date":1709931594000,"open_interest":4345,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00024500","description":"PLTR - Mar 15 2024 $24.50 Put","exch":"Z","type":"option","last":0.22,"change":0.00,"volume":3862,"open":0.13,"high":0.27,"low":0.1,"close":0.22,"bid":0.21,"ask":0.22,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.1850294718352293,"gamma":0.14177338777520143,"theta":-0.04025853602794796,"vega":0.009596541707557362,"rho":0.0037028556597759094,"phi":-0.004040954872941427,"bid_iv":0.528125,"mid_iv":0.538551,"ask_iv":0.548976,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":100,"trade_date":1709931583690,"prevclose":0.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":539,"bidexch":"D","bid_date":1709931599000,"asksize":15,"askexch":"E","ask_date":1709931597000,"open_interest":2615,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00025000","description":"PLTR - Mar 15 2024 $25.00 Call","exch":"Z","type":"option","last":1.41,"change":-0.38,"volume":4336,"open":1.8,"high":2.46,"low":1.29,"close":1.41,"bid":1.4,"ask":1.42,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.7337299089138811,"gamma":0.17588423034993456,"theta":-0.04787505496007227,"vega":0.011994516244243837,"rho":0.00337023675900267,"phi":-0.003635734751039621,"bid_iv":0.523297,"mid_iv":0.535827,"ask_iv":0.548356,"smv_vol":0.534,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.23,"average_volume":0,"last_volume":1,"trade_date":1709931566809,"prevclose":1.79,"week_52_high":0.0,"week_52_low":0.0,"bidsize":62,"bidexch":"Z","bid_date":1709931591000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":33416,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00025000","description":"PLTR - Mar 15 2024 $25.00 Put","exch":"Z","type":"option","last":0.35,"change":0.03,"volume":11900,"open":0.21,"high":0.43,"low":0.16,"close":0.35,"bid":0.33,"ask":0.35,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.2662700910861189,"gamma":0.17588423034993456,"theta":-0.04787505496007227,"vega":0.011994516244243837,"rho":0.00337023675900267,"phi":-0.003635734751039621,"bid_iv":0.532686,"mid_iv":0.536857,"ask_iv":0.541028,"smv_vol":0.534,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.38,"average_volume":0,"last_volume":1,"trade_date":1709931574146,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1014,"bidexch":"E","bid_date":1709931599000,"asksize":483,"askexch":"D","ask_date":1709931592000,"open_interest":14313,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00025500","description":"PLTR - Mar 15 2024 $25.50 Call","exch":"Z","type":"option","last":1.07,"change":-0.35,"volume":3931,"open":1.93,"high":2.04,"low":0.99,"close":1.07,"bid":1.08,"ask":1.1,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.6352070032471425,"gamma":0.19823114995384972,"theta":-0.05463676876100406,"vega":0.013712848442176653,"rho":0.0029404894132097686,"phi":-0.0031452568727274866,"bid_iv":0.523237,"mid_iv":0.534181,"ask_iv":0.545125,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-24.65,"average_volume":0,"last_volume":5,"trade_date":1709931569219,"prevclose":1.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"H","bid_date":1709931592000,"asksize":326,"askexch":"D","ask_date":1709931599000,"open_interest":5859,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00025500","description":"PLTR - Mar 15 2024 $25.50 Put","exch":"Z","type":"option","last":0.51,"change":0.03,"volume":5666,"open":0.29,"high":0.63,"low":0.24,"close":0.51,"bid":0.51,"ask":0.53,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.3647929967528575,"gamma":0.19823114995384972,"theta":-0.05463676876100406,"vega":0.013712848442176653,"rho":0.0029404894132097686,"phi":-0.0031452568727274866,"bid_iv":0.538819,"mid_iv":0.546119,"ask_iv":0.553419,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.25,"average_volume":0,"last_volume":1,"trade_date":1709931599139,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":709,"bidexch":"E","bid_date":1709931599000,"asksize":265,"askexch":"D","ask_date":1709931593000,"open_interest":2227,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00026000","description":"PLTR - Mar 15 2024 $26.00 Put","exch":"Z","type":"option","last":0.76,"change":0.07,"volume":7991,"open":0.5,"high":0.88,"low":0.37,"close":0.76,"bid":0.75,"ask":0.77,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.468073427480034,"gamma":0.20432260069590752,"theta":-0.058478837115678875,"vega":0.014330260410682714,"rho":0.0024762080110276984,"phi":-0.0026319554036202675,"bid_iv":0.550293,"mid_iv":0.553793,"ask_iv":0.557293,"smv_vol":0.553,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.15,"average_volume":0,"last_volume":2,"trade_date":1709931594674,"prevclose":0.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":280,"bidexch":"P","bid_date":1709931597000,"asksize":21,"askexch":"P","ask_date":1709931597000,"open_interest":5794,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00026000","description":"PLTR - Mar 15 2024 $26.00 Call","exch":"Z","type":"option","last":0.83,"change":-0.31,"volume":8940,"open":1.55,"high":1.69,"low":0.75,"close":0.83,"bid":0.8,"ask":0.83,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.531926572519966,"gamma":0.20432260069590752,"theta":-0.058478837115678875,"vega":0.014330260410682714,"rho":0.0024762080110276984,"phi":-0.0026319554036202675,"bid_iv":0.542381,"mid_iv":0.549365,"ask_iv":0.556348,"smv_vol":0.553,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-27.20,"average_volume":0,"last_volume":1,"trade_date":1709931594391,"prevclose":1.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1575,"bidexch":"E","bid_date":1709931599000,"asksize":23,"askexch":"D","ask_date":1709931597000,"open_interest":25974,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00026500","description":"PLTR - Mar 15 2024 $26.50 Call","exch":"Z","type":"option","last":0.63,"change":-0.28,"volume":9139,"open":1.18,"high":1.35,"low":0.57,"close":0.63,"bid":0.62,"ask":0.63,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.43338903384731586,"gamma":0.19697875715087151,"theta":-0.05871814147498985,"vega":0.014100998819309964,"rho":0.002026330185610787,"phi":-0.0021428796004308026,"bid_iv":0.560293,"mid_iv":0.563849,"ask_iv":0.567405,"smv_vol":0.564,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-30.77,"average_volume":0,"last_volume":9,"trade_date":1709931599023,"prevclose":0.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"D","bid_date":1709931582000,"asksize":1315,"askexch":"P","ask_date":1709931597000,"open_interest":6729,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00026500","description":"PLTR - Mar 15 2024 $26.50 Put","exch":"Z","type":"option","last":1.07,"change":0.12,"volume":6488,"open":0.69,"high":1.19,"low":0.54,"close":1.07,"bid":1.05,"ask":1.07,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.5666109661526841,"gamma":0.19697875715087151,"theta":-0.05871814147498985,"vega":0.014100998819309964,"rho":0.002026330185610787,"phi":-0.0021428796004308026,"bid_iv":0.561042,"mid_iv":0.568144,"ask_iv":0.575245,"smv_vol":0.564,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":12.64,"average_volume":0,"last_volume":1,"trade_date":1709931599170,"prevclose":0.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":30,"bidexch":"D","bid_date":1709931598000,"asksize":513,"askexch":"E","ask_date":1709931599000,"open_interest":2684,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00027000","description":"PLTR - Mar 15 2024 $27.00 Put","exch":"Z","type":"option","last":1.39,"change":0.13,"volume":4983,"open":0.85,"high":1.55,"low":0.77,"close":1.39,"bid":1.38,"ask":1.4,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.6554790454683613,"gamma":0.18007467627023993,"theta":-0.05581899066813524,"vega":0.01332769428414699,"rho":0.0016164671014324385,"phi":-0.0017023072912403237,"bid_iv":0.567338,"mid_iv":0.578652,"ask_iv":0.589966,"smv_vol":0.576,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.32,"average_volume":0,"last_volume":4,"trade_date":1709931592783,"prevclose":1.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":622,"bidexch":"D","bid_date":1709931599000,"asksize":18,"askexch":"D","ask_date":1709931599000,"open_interest":3510,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00027000","description":"PLTR - Mar 15 2024 $27.00 Call","exch":"Z","type":"option","last":0.46,"change":-0.25,"volume":17171,"open":1.01,"high":1.09,"low":0.42,"close":0.46,"bid":0.45,"ask":0.46,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.34452095453163867,"gamma":0.18007467627023993,"theta":-0.05581899066813524,"vega":0.01332769428414699,"rho":0.0016164671014324385,"phi":-0.0017023072912403237,"bid_iv":0.566954,"mid_iv":0.570711,"ask_iv":0.574468,"smv_vol":0.576,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-35.22,"average_volume":0,"last_volume":3,"trade_date":1709931597417,"prevclose":0.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"N","bid_date":1709931596000,"asksize":872,"askexch":"D","ask_date":1709931596000,"open_interest":22325,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00027500","description":"PLTR - Mar 15 2024 $27.50 Call","exch":"Z","type":"option","last":0.32,"change":-0.23,"volume":11650,"open":0.79,"high":0.88,"low":0.3,"close":0.32,"bid":0.32,"ask":0.34,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.26821850461301794,"gamma":0.15744662015137756,"theta":-0.05083547903260298,"vega":0.01209956899825345,"rho":0.0012619429398786385,"phi":-0.0013244333996187407,"bid_iv":0.582232,"mid_iv":0.586371,"ask_iv":0.59051,"smv_vol":0.588,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-41.82,"average_volume":0,"last_volume":3,"trade_date":1709931594662,"prevclose":0.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2600,"bidexch":"D","bid_date":1709931596000,"asksize":578,"askexch":"D","ask_date":1709931596000,"open_interest":5935,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00027500","description":"PLTR - Mar 15 2024 $27.50 Put","exch":"Z","type":"option","last":1.76,"change":0.16,"volume":1905,"open":1.13,"high":1.95,"low":1.04,"close":1.76,"bid":1.75,"ask":1.79,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.731781495386982,"gamma":0.15744662015137756,"theta":-0.05083547903260298,"vega":0.01209956899825345,"rho":0.0012619429398786385,"phi":-0.0013244333996187407,"bid_iv":0.588819,"mid_iv":0.597885,"ask_iv":0.60695,"smv_vol":0.588,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.00,"average_volume":0,"last_volume":1,"trade_date":1709931552824,"prevclose":1.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":216,"bidexch":"D","bid_date":1709931597000,"asksize":274,"askexch":"E","ask_date":1709931599000,"open_interest":386,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00028000","description":"PLTR - Mar 15 2024 $28.00 Put","exch":"Z","type":"option","last":2.02,"change":0.03,"volume":459,"open":1.59,"high":2.31,"low":1.39,"close":2.02,"bid":2.16,"ask":2.21,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.7938408014158977,"gamma":0.1326696622621145,"theta":-0.04490903796331358,"vega":0.01054996339469252,"rho":9.719164845371755E-4,"phi":-0.0010174125783524168,"bid_iv":0.583994,"mid_iv":0.6136,"ask_iv":0.643205,"smv_vol":0.601,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.51,"average_volume":0,"last_volume":2,"trade_date":1709929302915,"prevclose":1.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"D","bid_date":1709931593000,"asksize":375,"askexch":"C","ask_date":1709931597000,"open_interest":945,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00028000","description":"PLTR - Mar 15 2024 $28.00 Call","exch":"Z","type":"option","last":0.25,"change":-0.18,"volume":20146,"open":0.62,"high":0.68,"low":0.22,"close":0.25,"bid":0.23,"ask":0.25,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.20615919858410225,"gamma":0.1326696622621145,"theta":-0.04490903796331358,"vega":0.01054996339469252,"rho":9.719164845371755E-4,"phi":-0.0010174125783524168,"bid_iv":0.587307,"mid_iv":0.596794,"ask_iv":0.606281,"smv_vol":0.601,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-41.86,"average_volume":0,"last_volume":1,"trade_date":1709931599948,"prevclose":0.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1013,"bidexch":"D","bid_date":1709931593000,"asksize":1193,"askexch":"E","ask_date":1709931600000,"open_interest":13172,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00028500","description":"PLTR - Mar 15 2024 $28.50 Call","exch":"Z","type":"option","last":0.18,"change":-0.15,"volume":3545,"open":0.44,"high":0.53,"low":0.17,"close":0.18,"bid":0.17,"ask":0.18,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.15747789901689085,"gamma":0.1089188769493503,"theta":-0.038822695724596686,"vega":0.008834374001347652,"rho":7.434936053506181E-4,"phi":-7.76789988721216E-4,"bid_iv":0.606763,"mid_iv":0.612435,"ask_iv":0.618108,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-45.46,"average_volume":0,"last_volume":2,"trade_date":1709931566509,"prevclose":0.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":468,"bidexch":"D","bid_date":1709931596000,"asksize":1292,"askexch":"D","ask_date":1709931596000,"open_interest":3030,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00028500","description":"PLTR - Mar 15 2024 $28.50 Put","exch":"Z","type":"option","last":2.46,"change":0.23,"volume":286,"open":1.8,"high":2.62,"low":1.76,"close":2.46,"bid":2.59,"ask":2.64,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.8425221009831092,"gamma":0.1089188769493503,"theta":-0.038822695724596686,"vega":0.008834374001347652,"rho":7.434936053506181E-4,"phi":-7.76789988721216E-4,"bid_iv":0.578882,"mid_iv":0.620084,"ask_iv":0.661287,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.32,"average_volume":0,"last_volume":28,"trade_date":1709929656698,"prevclose":2.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"B","bid_date":1709931597000,"asksize":199,"askexch":"C","ask_date":1709931594000,"open_interest":392,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00029000","description":"PLTR - Mar 15 2024 $29.00 Put","exch":"Z","type":"option","last":2.87,"change":0.14,"volume":128,"open":2.54,"high":3.0,"low":2.43,"close":2.87,"bid":3.0,"ask":3.1,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.8788725930583021,"gamma":0.08809447316418162,"theta":-0.03344275597161875,"vega":0.007103209052356815,"rho":5.723643829276421E-4,"phi":-5.972697567080409E-4,"bid_iv":0.537829,"mid_iv":0.616133,"ask_iv":0.694438,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.13,"average_volume":0,"last_volume":110,"trade_date":1709926613995,"prevclose":2.73,"week_52_high":0.0,"week_52_low":0.0,"bidsize":688,"bidexch":"X","bid_date":1709931594000,"asksize":196,"askexch":"E","ask_date":1709931588000,"open_interest":262,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00029000","description":"PLTR - Mar 15 2024 $29.00 Call","exch":"Z","type":"option","last":0.13,"change":-0.13,"volume":5984,"open":0.37,"high":0.4,"low":0.12,"close":0.13,"bid":0.12,"ask":0.13,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.12112740694169788,"gamma":0.08809447316418162,"theta":-0.03344275597161875,"vega":0.007103209052356815,"rho":5.723643829276421E-4,"phi":-5.972697567080409E-4,"bid_iv":0.617376,"mid_iv":0.624432,"ask_iv":0.631487,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":4,"trade_date":1709931551765,"prevclose":0.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1451,"bidexch":"D","bid_date":1709931594000,"asksize":81,"askexch":"D","ask_date":1709931594000,"open_interest":9268,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00029500","description":"PLTR - Mar 15 2024 $29.50 Call","exch":"Z","type":"option","last":0.09,"change":-0.11,"volume":1849,"open":0.29,"high":0.31,"low":0.09,"close":0.09,"bid":0.09,"ask":0.1,"underlying":"PLTR","strike":29.5,"greeks":{"delta":0.09287655078653675,"gamma":0.07054272809319682,"theta":-0.028370549825727724,"vega":0.006301335797973138,"rho":4.391929046903781E-4,"phi":-4.578182449810342E-4,"bid_iv":0.63879,"mid_iv":0.64707,"ask_iv":0.65535,"smv_vol":0.648,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-55.00,"average_volume":0,"last_volume":1,"trade_date":1709931569880,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1204,"bidexch":"D","bid_date":1709931594000,"asksize":774,"askexch":"D","ask_date":1709931594000,"open_interest":2166,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00029500","description":"PLTR - Mar 15 2024 $29.50 Put","exch":"Z","type":"option","last":3.45,"change":0.47,"volume":41,"open":2.77,"high":3.65,"low":2.62,"close":3.45,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":29.5,"greeks":{"delta":-0.9071234492134632,"gamma":0.07054272809319682,"theta":-0.028370549825727724,"vega":0.006301335797973138,"rho":4.391929046903781E-4,"phi":-4.578182449810342E-4,"bid_iv":0.602307,"mid_iv":0.649387,"ask_iv":0.696468,"smv_vol":0.648,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":15.78,"average_volume":0,"last_volume":25,"trade_date":1709925281972,"prevclose":2.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"C","bid_date":1709931594000,"asksize":314,"askexch":"E","ask_date":1709931590000,"open_interest":17,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00030000","description":"PLTR - Mar 15 2024 $30.00 Call","exch":"Z","type":"option","last":0.08,"change":-0.07,"volume":24132,"open":0.22,"high":0.25,"low":0.07,"close":0.08,"bid":0.07,"ask":0.08,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.07103180062260649,"gamma":0.056057269048528306,"theta":-0.023735657115730658,"vega":0.004766594669846884,"rho":3.3611282363149825E-4,"phi":-3.500338592588026E-4,"bid_iv":0.662759,"mid_iv":0.673296,"ask_iv":0.683833,"smv_vol":0.667,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-46.67,"average_volume":0,"last_volume":8,"trade_date":1709931597156,"prevclose":0.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":471,"bidexch":"D","bid_date":1709931597000,"asksize":1104,"askexch":"D","ask_date":1709931596000,"open_interest":40428,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00030000","description":"PLTR - Mar 15 2024 $30.00 Put","exch":"Z","type":"option","last":4.02,"change":0.31,"volume":141,"open":3.2,"high":4.02,"low":3.0,"close":4.02,"bid":3.95,"ask":4.05,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.9289681993773935,"gamma":0.056057269048528306,"theta":-0.023735657115730658,"vega":0.004766594669846884,"rho":3.3611282363149825E-4,"phi":-3.500338592588026E-4,"bid_iv":0.0,"mid_iv":0.748364,"ask_iv":0.748364,"smv_vol":0.667,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.36,"average_volume":0,"last_volume":7,"trade_date":1709931285959,"prevclose":3.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":213,"bidexch":"E","bid_date":1709931599000,"asksize":37,"askexch":"X","ask_date":1709931598000,"open_interest":129,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00030500","description":"PLTR - Mar 15 2024 $30.50 Call","exch":"Z","type":"option","last":0.06,"change":-0.07,"volume":5516,"open":0.18,"high":0.19,"low":0.05,"close":0.06,"bid":0.05,"ask":0.06,"underlying":"PLTR","strike":30.5,"greeks":{"delta":0.055350419097204145,"gamma":0.044727823794995854,"theta":-0.020125236843260938,"vega":0.004105885498306756,"rho":2.619849347085739E-4,"phi":-2.727064445789962E-4,"bid_iv":0.675019,"mid_iv":0.687278,"ask_iv":0.699537,"smv_vol":0.691,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-53.85,"average_volume":0,"last_volume":2,"trade_date":1709931560493,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1305,"bidexch":"D","bid_date":1709931586000,"asksize":582,"askexch":"D","ask_date":1709931586000,"open_interest":1169,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00030500","description":"PLTR - Mar 15 2024 $30.50 Put","exch":"Z","type":"option","last":4.05,"change":-0.20,"volume":2,"open":3.4,"high":4.05,"low":3.4,"close":4.05,"bid":4.45,"ask":4.55,"underlying":"PLTR","strike":30.5,"greeks":{"delta":-0.9446495809027958,"gamma":0.044727823794995854,"theta":-0.020125236843260938,"vega":0.004105885498306756,"rho":2.619849347085739E-4,"phi":-2.727064445789962E-4,"bid_iv":0.0,"mid_iv":0.812797,"ask_iv":0.812797,"smv_vol":0.691,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.71,"average_volume":0,"last_volume":1,"trade_date":1709914421793,"prevclose":4.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":93,"bidexch":"C","bid_date":1709931577000,"asksize":118,"askexch":"C","ask_date":1709931587000,"open_interest":15,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00031000","description":"PLTR - Mar 15 2024 $31.00 Put","exch":"Z","type":"option","last":4.83,"change":0.68,"volume":63,"open":4.4,"high":5.15,"low":4.39,"close":4.83,"bid":4.95,"ask":5.05,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.9580316873747458,"gamma":0.035079084074642844,"theta":-0.016449425916778247,"vega":0.0034940431000918515,"rho":1.9876545605759907E-4,"phi":-2.067161589819344E-4,"bid_iv":0.0,"mid_iv":0.958496,"ask_iv":0.958496,"smv_vol":0.709,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":16.39,"average_volume":0,"last_volume":6,"trade_date":1709929536518,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"C","bid_date":1709931583000,"asksize":54,"askexch":"X","ask_date":1709931584000,"open_interest":115,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00031000","description":"PLTR - Mar 15 2024 $31.00 Call","exch":"Z","type":"option","last":0.05,"change":-0.04,"volume":9220,"open":0.14,"high":0.16,"low":0.04,"close":0.05,"bid":0.04,"ask":0.05,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.0419683126252542,"gamma":0.035079084074642844,"theta":-0.016449425916778247,"vega":0.0034940431000918515,"rho":1.9876545605759907E-4,"phi":-2.067161589819344E-4,"bid_iv":0.700312,"mid_iv":0.714714,"ask_iv":0.729116,"smv_vol":0.709,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-44.45,"average_volume":0,"last_volume":5,"trade_date":1709931503977,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":844,"bidexch":"D","bid_date":1709931598000,"asksize":558,"askexch":"D","ask_date":1709931598000,"open_interest":21212,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00032000","description":"PLTR - Mar 15 2024 $32.00 Put","exch":"Z","type":"option","last":5.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.95,"ask":6.05,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.9744849697151452,"gamma":0.02211353599565941,"theta":-0.011451112419946678,"vega":0.0020173514631039026,"rho":1.2089625827024296E-4,"phi":-1.2563594463388394E-4,"bid_iv":0.0,"mid_iv":0.872218,"ask_iv":0.872218,"smv_vol":0.773,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709836159183,"prevclose":5.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"P","bid_date":1709931597000,"asksize":40,"askexch":"X","ask_date":1709931596000,"open_interest":37,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00032000","description":"PLTR - Mar 15 2024 $32.00 Call","exch":"Z","type":"option","last":0.02,"change":-0.05,"volume":1281,"open":0.08,"high":0.1,"low":0.02,"close":0.02,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.025515030284854835,"gamma":0.02211353599565941,"theta":-0.011451112419946678,"vega":0.0020173514631039026,"rho":1.2089625827024296E-4,"phi":-1.2563594463388394E-4,"bid_iv":0.717311,"mid_iv":0.765097,"ask_iv":0.812884,"smv_vol":0.773,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-71.43,"average_volume":0,"last_volume":11,"trade_date":1709931120949,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1606,"bidexch":"D","bid_date":1709931599000,"asksize":1153,"askexch":"E","ask_date":1709931584000,"open_interest":5244,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00033000","description":"PLTR - Mar 15 2024 $33.00 Put","exch":"Z","type":"option","last":6.2,"change":0.01,"volume":30,"open":6.3,"high":6.3,"low":6.2,"close":6.2,"bid":6.9,"ask":7.0,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.9874060527175459,"gamma":0.012004811698214674,"theta":-0.006301232076078471,"vega":0.0010628993712061276,"rho":5.979152483183488E-5,"phi":-6.195843171852289E-5,"bid_iv":0.0,"mid_iv":0.974402,"ask_iv":0.974402,"smv_vol":0.803,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.17,"average_volume":0,"last_volume":15,"trade_date":1709912481987,"prevclose":6.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":66,"bidexch":"C","bid_date":1709931592000,"asksize":33,"askexch":"X","ask_date":1709931588000,"open_interest":30,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00033000","description":"PLTR - Mar 15 2024 $33.00 Call","exch":"Z","type":"option","last":0.03,"change":-0.02,"volume":1646,"open":0.06,"high":0.07,"low":0.02,"close":0.03,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.012593947282454134,"gamma":0.012004811698214674,"theta":-0.006301232076078471,"vega":0.0010628993712061276,"rho":5.979152483183488E-5,"phi":-6.195843171852289E-5,"bid_iv":0.806139,"mid_iv":0.831987,"ask_iv":0.857836,"smv_vol":0.803,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-40.00,"average_volume":0,"last_volume":2,"trade_date":1709931594593,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":270,"bidexch":"D","bid_date":1709931589000,"asksize":107,"askexch":"Z","ask_date":1709931594000,"open_interest":3377,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00034000","description":"PLTR - Mar 15 2024 $34.00 Put","exch":"Z","type":"option","last":7.05,"change":-0.50,"volume":8,"open":6.9,"high":7.05,"low":6.9,"close":7.05,"bid":7.9,"ask":8.0,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9927000015351921,"gamma":0.007192213155343026,"theta":-0.0040396162578709895,"vega":6.650541750654449E-4,"rho":3.467401546564963E-5,"phi":-3.590218835766712E-5,"bid_iv":0.0,"mid_iv":1.073314,"ask_iv":1.073314,"smv_vol":0.818,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.63,"average_volume":0,"last_volume":4,"trade_date":1709909781773,"prevclose":7.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"Z","bid_date":1709931574000,"asksize":41,"askexch":"X","ask_date":1709931591000,"open_interest":2,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00034000","description":"PLTR - Mar 15 2024 $34.00 Call","exch":"Z","type":"option","last":0.02,"change":-0.02,"volume":885,"open":0.03,"high":0.04,"low":0.01,"close":0.02,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.0072999984648078374,"gamma":0.007192213155343026,"theta":-0.0040396162578709895,"vega":6.650541750654449E-4,"rho":3.467401546564963E-5,"phi":-3.590218835766712E-5,"bid_iv":0.814822,"mid_iv":0.85358,"ask_iv":0.892337,"smv_vol":0.818,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":2,"trade_date":1709930467543,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1734,"bidexch":"D","bid_date":1709931579000,"asksize":49,"askexch":"W","ask_date":1709931560000,"open_interest":1516,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00035000","description":"PLTR - Mar 15 2024 $35.00 Put","exch":"Z","type":"option","last":8.05,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":8.95,"ask":9.0,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.996560861518365,"gamma":0.0036512160465435486,"theta":-0.0020668613357853424,"vega":4.028191949530241E-4,"rho":1.6357598858926725E-5,"phi":-1.6901001583490005E-5,"bid_iv":0.0,"mid_iv":1.165774,"ask_iv":1.165774,"smv_vol":0.85,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709835703622,"prevclose":8.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"Q","bid_date":1709931569000,"asksize":38,"askexch":"C","ask_date":1709931568000,"open_interest":2,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00035000","description":"PLTR - Mar 15 2024 $35.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.02,"volume":1051,"open":0.04,"high":0.04,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.0034391384816349906,"gamma":0.0036512160465435486,"theta":-0.0020668613357853424,"vega":4.028191949530241E-4,"rho":1.6357598858926725E-5,"phi":-1.6901001583490005E-5,"bid_iv":0.892077,"mid_iv":0.933467,"ask_iv":0.974856,"smv_vol":0.85,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-66.67,"average_volume":0,"last_volume":5,"trade_date":1709931351691,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"P","bid_date":1709931586000,"asksize":323,"askexch":"D","ask_date":1709931598000,"open_interest":10287,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00036000","description":"PLTR - Mar 15 2024 $36.00 Put","exch":"Z","type":"option","last":10.2,"change":0.00,"volume":14,"open":null,"high":null,"low":null,"close":null,"bid":9.9,"ask":10.0,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.9983160177567993,"gamma":0.0018862338109011433,"theta":-0.0010951067347455246,"vega":2.3737578187414432E-4,"rho":8.016306307761628E-6,"phi":-8.27072713267818E-6,"bid_iv":0.0,"mid_iv":1.255496,"ask_iv":1.255496,"smv_vol":0.862,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709742379290,"prevclose":10.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":65,"bidexch":"C","bid_date":1709931565000,"asksize":45,"askexch":"C","ask_date":1709931565000,"open_interest":14,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00036000","description":"PLTR - Mar 15 2024 $36.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":259,"open":0.03,"high":0.03,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.001683982243200601,"gamma":0.0018862338109011433,"theta":-0.0010951067347455246,"vega":2.3737578187414432E-4,"rho":8.016306307761628E-6,"phi":-8.27072713267818E-6,"bid_iv":0.0,"mid_iv":0.964433,"ask_iv":0.964433,"smv_vol":0.862,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":15,"trade_date":1709930884950,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1709930968000,"asksize":72,"askexch":"P","ask_date":1709931600000,"open_interest":1190,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00037000","description":"PLTR - Mar 15 2024 $37.00 Put","exch":"Z","type":"option","last":10.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.9,"ask":11.0,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.999292861688373,"gamma":8.499861443724689E-4,"theta":-4.932501135414724E-4,"vega":1.0582054093736321E-4,"rho":3.369768081149858E-6,"phi":-3.4701692387673067E-6,"bid_iv":0.0,"mid_iv":1.342081,"ask_iv":1.342081,"smv_vol":0.868,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709748933856,"prevclose":10.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"C","bid_date":1709931592000,"asksize":35,"askexch":"X","ask_date":1709931589000,"open_interest":7,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00037000","description":"PLTR - Mar 15 2024 $37.00 Call","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":1719,"open":0.02,"high":0.02,"low":0.01,"close":0.02,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":37.0,"greeks":{"delta":7.071383116270329E-4,"gamma":8.499861443724689E-4,"theta":-4.932501135414724E-4,"vega":1.0582054093736321E-4,"rho":3.369768081149858E-6,"phi":-3.4701692387673067E-6,"bid_iv":0.0,"mid_iv":1.034805,"ask_iv":1.034805,"smv_vol":0.868,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":34,"trade_date":1709923008280,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"A","bid_date":1709931280000,"asksize":8,"askexch":"Q","ask_date":1709931600000,"open_interest":2213,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315C00038000","description":"PLTR - Mar 15 2024 $38.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":303,"open":0.02,"high":0.02,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":38.0,"greeks":{"delta":2.8394087535075455E-4,"gamma":3.642211177795921E-4,"theta":-2.1127247884095282E-4,"vega":6.374049013729305E-5,"rho":1.3542168661963747E-6,"phi":-1.392256278797896E-6,"bid_iv":0.0,"mid_iv":1.103292,"ask_iv":1.103292,"smv_vol":0.871,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":16,"trade_date":1709914884842,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"T","bid_date":1709931280000,"asksize":52,"askexch":"W","ask_date":1709931527000,"open_interest":1146,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00038000","description":"PLTR - Mar 15 2024 $38.00 Put","exch":"Z","type":"option","last":12.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.9,"ask":12.0,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9997160591246492,"gamma":3.642211177795921E-4,"theta":-2.1127247884095282E-4,"vega":6.374049013729305E-5,"rho":1.3542168661963747E-6,"phi":-1.392256278797896E-6,"bid_iv":0.0,"mid_iv":1.423649,"ask_iv":1.423649,"smv_vol":0.871,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709740687917,"prevclose":12.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"X","bid_date":1709931559000,"asksize":40,"askexch":"C","ask_date":1709931560000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315P00039000","description":"PLTR - Mar 15 2024 $39.00 Put","exch":"Z","type":"option","last":11.9,"change":-1.15,"volume":4,"open":11.9,"high":11.9,"low":11.9,"close":11.9,"bid":12.9,"ask":13.0,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.9998880416226354,"gamma":1.5206747124253345E-4,"theta":-8.817931075916609E-5,"vega":3.429994241879307E-5,"rho":5.343054979521622E-7,"phi":-5.485491073420161E-7,"bid_iv":0.0,"mid_iv":1.503067,"ask_iv":1.503067,"smv_vol":0.872,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.82,"average_volume":0,"last_volume":1,"trade_date":1709909461335,"prevclose":13.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"Z","bid_date":1709931571000,"asksize":35,"askexch":"X","ask_date":1709931562000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00039000","description":"PLTR - Mar 15 2024 $39.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":19,"open":0.01,"high":0.02,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":39.0,"greeks":{"delta":1.119583773645041E-4,"gamma":1.5206747124253345E-4,"theta":-8.817931075916609E-5,"vega":3.429994241879307E-5,"rho":5.343054979521622E-7,"phi":-5.485491073420161E-7,"bid_iv":0.0,"mid_iv":1.168324,"ask_iv":1.168324,"smv_vol":0.872,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":1,"trade_date":1709914570155,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"T","bid_date":1709931280000,"asksize":18,"askexch":"D","ask_date":1709931578000,"open_interest":2813,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240315P00040000","description":"PLTR - Mar 15 2024 $40.00 Put","exch":"Z","type":"option","last":15.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.8,"ask":14.2,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9999964632325431,"gamma":6.436040193417441E-6,"theta":-2.908649782501939E-6,"vega":2.0729489891960024E-5,"rho":1.6908021150531805E-8,"phi":-1.724760218535718E-8,"bid_iv":0.0,"mid_iv":3.279735,"ask_iv":3.279735,"smv_vol":0.872,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1707491010673,"prevclose":15.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":113,"bidexch":"N","bid_date":1709931592000,"asksize":93,"askexch":"N","ask_date":1709931593000,"open_interest":0,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240315C00040000","description":"PLTR - Mar 15 2024 $40.00 Call","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":134,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":40.0,"greeks":{"delta":3.5367674568685114E-6,"gamma":6.436040193417441E-6,"theta":-2.908649782501939E-6,"vega":2.0729489891960024E-5,"rho":1.6908021150531805E-8,"phi":-1.724760218535718E-8,"bid_iv":0.0,"mid_iv":1.230794,"ask_iv":1.230794,"smv_vol":0.872,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":100,"trade_date":1709910417188,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"B","bid_date":1709931599000,"asksize":58,"askexch":"U","ask_date":1709931599000,"open_interest":11680,"contract_size":100,"expiration_date":"2024-03-15","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '198' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '2' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-04-12&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240412P00015000","description":"PLTR - Apr 12 2024 $15.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":320,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0051478511181764,"gamma":0.0025020946293469308,"theta":-0.003591153147485369,"vega":0.001149167794301418,"rho":0.014150197408677363,"phi":-0.024813906485121606,"bid_iv":0.733953,"mid_iv":0.789673,"ask_iv":0.845393,"smv_vol":0.757,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709836430635,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":385,"bidexch":"D","bid_date":1709931593000,"asksize":454,"askexch":"E","ask_date":1709931593000,"open_interest":321,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00015000","description":"PLTR - Apr 12 2024 $15.00 Call","exch":"Z","type":"option","last":11.31,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.8,"ask":11.7,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9948521488818236,"gamma":0.0025020946293469308,"theta":-0.003591153147485369,"vega":0.001149167794301418,"rho":0.014150197408677363,"phi":-0.024813906485121606,"bid_iv":0.0,"mid_iv":2.149357,"ask_iv":2.149357,"smv_vol":0.757,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709752456800,"prevclose":11.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"X","bid_date":1709931591000,"asksize":102,"askexch":"Z","ask_date":1709931591000,"open_interest":8,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00016000","description":"PLTR - Apr 12 2024 $16.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":271,"open":0.03,"high":0.03,"low":0.02,"close":0.03,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0104082536254834,"gamma":0.004727100346250748,"theta":-0.0047769009671377715,"vega":0.002366796652301842,"rho":0.014959502546971558,"phi":-0.02468214269413238,"bid_iv":0.716293,"mid_iv":0.753683,"ask_iv":0.791074,"smv_vol":0.729,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1709926791150,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":425,"bidexch":"D","bid_date":1709931583000,"asksize":964,"askexch":"E","ask_date":1709931590000,"open_interest":45,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00016000","description":"PLTR - Apr 12 2024 $16.00 Call","exch":"Z","type":"option","last":9.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.85,"ask":10.25,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9895917463745166,"gamma":0.004727100346250748,"theta":-0.0047769009671377715,"vega":0.002366796652301842,"rho":0.014959502546971558,"phi":-0.02468214269413238,"bid_iv":0.0,"mid_iv":1.488531,"ask_iv":1.488531,"smv_vol":0.729,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709310658790,"prevclose":9.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1709931590000,"asksize":15,"askexch":"M","ask_date":1709931600000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00017000","description":"PLTR - Apr 12 2024 $17.00 Put","exch":"Z","type":"option","last":0.03,"change":-0.01,"volume":238,"open":0.04,"high":0.04,"low":0.03,"close":0.03,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0181422587769635,"gamma":0.007864906167848705,"theta":-0.006218790084030775,"vega":0.003691048597799949,"rho":0.015700978988080802,"phi":-0.024488450431903175,"bid_iv":0.674,"mid_iv":0.702405,"ask_iv":0.730809,"smv_vol":0.692,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.00,"average_volume":0,"last_volume":75,"trade_date":1709908221117,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":381,"bidexch":"D","bid_date":1709931580000,"asksize":700,"askexch":"E","ask_date":1709931597000,"open_interest":364,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00017000","description":"PLTR - Apr 12 2024 $17.00 Call","exch":"Z","type":"option","last":9.3,"change":1.52,"volume":1,"open":9.3,"high":9.3,"low":9.3,"close":9.3,"bid":8.65,"ask":10.9,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9818577412230365,"gamma":0.007864906167848705,"theta":-0.006218790084030775,"vega":0.003691048597799949,"rho":0.015700978988080802,"phi":-0.024488450431903175,"bid_iv":0.0,"mid_iv":0.853523,"ask_iv":0.853523,"smv_vol":0.692,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":19.54,"average_volume":0,"last_volume":1,"trade_date":1709926282757,"prevclose":7.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Q","bid_date":1709931596000,"asksize":1,"askexch":"Q","ask_date":1709931596000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00017500","description":"PLTR - Apr 12 2024 $17.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.15,"ask":8.85,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9765278831240913,"gamma":0.009934192020186989,"theta":-0.0070976088290207765,"vega":0.004545257749252605,"rho":0.016031434180106274,"phi":-0.024354993186648244,"bid_iv":0.0,"mid_iv":1.05894,"ask_iv":1.05894,"smv_vol":0.662,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1709931582000,"asksize":107,"askexch":"N","ask_date":1709931575000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00017500","description":"PLTR - Apr 12 2024 $17.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0234721168759087,"gamma":0.009934192020186989,"theta":-0.0070976088290207765,"vega":0.004545257749252605,"rho":0.016031434180106274,"phi":-0.024354993186648244,"bid_iv":0.64048,"mid_iv":0.664037,"ask_iv":0.687594,"smv_vol":0.662,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":817,"bidexch":"E","bid_date":1709931593000,"asksize":48,"askexch":"D","ask_date":1709931590000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00018000","description":"PLTR - Apr 12 2024 $18.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":3,"open":0.05,"high":0.05,"low":0.05,"close":0.05,"bid":0.04,"ask":0.06,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0301867239355633,"gamma":0.012431876845473389,"theta":-0.008110327758582234,"vega":0.005521976265732284,"rho":0.016323532765026808,"phi":-0.024186887408461644,"bid_iv":0.622185,"mid_iv":0.644467,"ask_iv":0.666749,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709920221478,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":683,"bidexch":"E","bid_date":1709931589000,"asksize":205,"askexch":"P","ask_date":1709931557000,"open_interest":24,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00018000","description":"PLTR - Apr 12 2024 $18.00 Call","exch":"Z","type":"option","last":8.28,"change":0.33,"volume":3,"open":9.25,"high":9.25,"low":8.28,"close":8.28,"bid":7.7,"ask":8.95,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9698132760644367,"gamma":0.012431876845473389,"theta":-0.008110327758582234,"vega":0.005521976265732284,"rho":0.016323532765026808,"phi":-0.024186887408461644,"bid_iv":0.503034,"mid_iv":0.564093,"ask_iv":0.625151,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.16,"average_volume":0,"last_volume":1,"trade_date":1709930857185,"prevclose":7.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":730,"bidexch":"X","bid_date":1709931599000,"asksize":743,"askexch":"X","ask_date":1709931599000,"open_interest":958,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00019000","description":"PLTR - Apr 12 2024 $19.00 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.07,"ask":0.09,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0440125809998195,"gamma":0.017931894997819695,"theta":-0.009759986708172443,"vega":0.007908159241096717,"rho":0.016899327832025506,"phi":-0.023840658149865135,"bid_iv":0.601033,"mid_iv":0.616047,"ask_iv":0.631061,"smv_vol":0.603,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709823294508,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":280,"bidexch":"D","bid_date":1709931582000,"asksize":819,"askexch":"E","ask_date":1709931584000,"open_interest":9,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00019000","description":"PLTR - Apr 12 2024 $19.00 Call","exch":"Z","type":"option","last":6.56,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.1,"ask":7.45,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9559874190001805,"gamma":0.017931894997819695,"theta":-0.009759986708172443,"vega":0.007908159241096717,"rho":0.016899327832025506,"phi":-0.023840658149865135,"bid_iv":0.0,"mid_iv":1.419386,"ask_iv":1.419386,"smv_vol":0.603,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709736563063,"prevclose":6.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1709931599000,"asksize":16,"askexch":"M","ask_date":1709931584000,"open_interest":19,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00019500","description":"PLTR - Apr 12 2024 $19.50 Put","exch":"Z","type":"option","last":0.09,"change":-0.02,"volume":40,"open":0.09,"high":0.1,"low":0.09,"close":0.09,"bid":0.08,"ask":0.11,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0543927571622644,"gamma":0.02167288416854357,"theta":-0.010921512844222282,"vega":0.009332118141402942,"rho":0.017090948746076747,"phi":-0.023580813239831855,"bid_iv":0.574373,"mid_iv":0.593013,"ask_iv":0.611653,"smv_vol":0.593,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.19,"average_volume":0,"last_volume":24,"trade_date":1709930405910,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1057,"bidexch":"E","bid_date":1709931596000,"asksize":1190,"askexch":"E","ask_date":1709931596000,"open_interest":33,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00019500","description":"PLTR - Apr 12 2024 $19.50 Call","exch":"Z","type":"option","last":4.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.75,"ask":7.9,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9456072428377356,"gamma":0.02167288416854357,"theta":-0.010921512844222282,"vega":0.009332118141402942,"rho":0.017090948746076747,"phi":-0.023580813239831855,"bid_iv":0.351539,"mid_iv":0.431906,"ask_iv":0.512274,"smv_vol":0.593,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709565862444,"prevclose":4.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":156,"bidexch":"E","bid_date":1709931596000,"asksize":1,"askexch":"Z","ask_date":1709931590000,"open_interest":10,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00020000","description":"PLTR - Apr 12 2024 $20.00 Put","exch":"Z","type":"option","last":0.12,"change":0.02,"volume":27,"open":0.1,"high":0.14,"low":0.09,"close":0.12,"bid":0.11,"ask":0.13,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0635212627576439,"gamma":0.025467632975591886,"theta":-0.011665844533658232,"vega":0.01086879864174028,"rho":0.01732008694280503,"phi":-0.023352174514101876,"bid_iv":0.570808,"mid_iv":0.58149,"ask_iv":0.592173,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":20.00,"average_volume":0,"last_volume":4,"trade_date":1709929313507,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":653,"bidexch":"D","bid_date":1709931560000,"asksize":450,"askexch":"D","ask_date":1709931560000,"open_interest":74,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00020000","description":"PLTR - Apr 12 2024 $20.00 Call","exch":"Z","type":"option","last":6.94,"change":0.54,"volume":6,"open":7.19,"high":7.19,"low":6.94,"close":6.94,"bid":5.85,"ask":7.3,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9364787372423561,"gamma":0.025467632975591886,"theta":-0.011665844533658232,"vega":0.01086879864174028,"rho":0.01732008694280503,"phi":-0.023352174514101876,"bid_iv":0.47885,"mid_iv":0.587654,"ask_iv":0.696459,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.44,"average_volume":0,"last_volume":1,"trade_date":1709913269787,"prevclose":6.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":480,"bidexch":"X","bid_date":1709931591000,"asksize":251,"askexch":"X","ask_date":1709931591000,"open_interest":238,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00020500","description":"PLTR - Apr 12 2024 $20.50 Call","exch":"Z","type":"option","last":6.66,"change":-0.14,"volume":1,"open":6.66,"high":6.66,"low":6.66,"close":6.66,"bid":4.75,"ask":5.95,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9242724659817941,"gamma":0.030125797593020805,"theta":-0.012639409246186879,"vega":0.011020610817240407,"rho":0.01746390473561692,"phi":-0.023046552701799783,"bid_iv":0.0,"mid_iv":0.748637,"ask_iv":0.748637,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.06,"average_volume":0,"last_volume":1,"trade_date":1709909740816,"prevclose":6.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"N","bid_date":1709931595000,"asksize":66,"askexch":"N","ask_date":1709931595000,"open_interest":9,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00020500","description":"PLTR - Apr 12 2024 $20.50 Put","exch":"Z","type":"option","last":0.16,"change":-0.04,"volume":6,"open":0.15,"high":0.18,"low":0.15,"close":0.16,"bid":0.14,"ask":0.16,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0757275340182059,"gamma":0.030125797593020805,"theta":-0.012639409246186879,"vega":0.011020610817240407,"rho":0.01746390473561692,"phi":-0.023046552701799783,"bid_iv":0.558486,"mid_iv":0.567593,"ask_iv":0.576699,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":2,"trade_date":1709920221478,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":486,"bidexch":"D","bid_date":1709931570000,"asksize":241,"askexch":"P","ask_date":1709931557000,"open_interest":276,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00021000","description":"PLTR - Apr 12 2024 $21.00 Put","exch":"Z","type":"option","last":0.21,"change":0.03,"volume":631,"open":0.17,"high":0.21,"low":0.15,"close":0.21,"bid":0.18,"ask":0.2,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0900585005660732,"gamma":0.03549496469724208,"theta":-0.013648970415329614,"vega":0.012725599625866425,"rho":0.017549819483919076,"phi":-0.022687756766615053,"bid_iv":0.548897,"mid_iv":0.556769,"ask_iv":0.564641,"smv_vol":0.555,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":16.67,"average_volume":0,"last_volume":1,"trade_date":1709921208019,"prevclose":0.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":486,"bidexch":"E","bid_date":1709931581000,"asksize":251,"askexch":"D","ask_date":1709931575000,"open_interest":124,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00021000","description":"PLTR - Apr 12 2024 $21.00 Call","exch":"Z","type":"option","last":5.4,"change":-0.90,"volume":1,"open":5.4,"high":5.4,"low":5.4,"close":5.4,"bid":4.8,"ask":5.4,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9099414994339268,"gamma":0.03549496469724208,"theta":-0.013648970415329614,"vega":0.012725599625866425,"rho":0.017549819483919076,"phi":-0.022687756766615053,"bid_iv":0.0,"mid_iv":0.295185,"ask_iv":0.590371,"smv_vol":0.555,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.29,"average_volume":0,"last_volume":1,"trade_date":1709925483447,"prevclose":6.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":126,"bidexch":"X","bid_date":1709931588000,"asksize":43,"askexch":"X","ask_date":1709931569000,"open_interest":11,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00021500","description":"PLTR - Apr 12 2024 $21.50 Call","exch":"Z","type":"option","last":4.75,"change":-1.35,"volume":2,"open":4.85,"high":4.85,"low":4.75,"close":4.75,"bid":3.8,"ask":4.95,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.8926094645074465,"gamma":0.04169663822064836,"theta":-0.014736600784453269,"vega":0.014534448364492898,"rho":0.017553060218450375,"phi":-0.022253897746793427,"bid_iv":0.507027,"mid_iv":0.557976,"ask_iv":0.608925,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-22.14,"average_volume":0,"last_volume":1,"trade_date":1709923489077,"prevclose":6.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":140,"bidexch":"X","bid_date":1709931595000,"asksize":49,"askexch":"X","ask_date":1709931593000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00021500","description":"PLTR - Apr 12 2024 $21.50 Put","exch":"Z","type":"option","last":0.24,"change":0.00,"volume":19,"open":0.19,"high":0.28,"low":0.19,"close":0.24,"bid":0.23,"ask":0.26,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.1073905354925535,"gamma":0.04169663822064836,"theta":-0.014736600784453269,"vega":0.014534448364492898,"rho":0.017553060218450375,"phi":-0.022253897746793427,"bid_iv":0.53971,"mid_iv":0.550023,"ask_iv":0.560335,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709929762801,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1498,"bidexch":"E","bid_date":1709931588000,"asksize":557,"askexch":"E","ask_date":1709931588000,"open_interest":453,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00022000","description":"PLTR - Apr 12 2024 $22.00 Put","exch":"Z","type":"option","last":0.3,"change":0.00,"volume":57,"open":0.25,"high":0.35,"low":0.23,"close":0.3,"bid":0.3,"ask":0.33,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.1289469794375907,"gamma":0.04874965201861561,"theta":-0.016011686394272657,"vega":0.016453874961711717,"rho":0.017438128761929843,"phi":-0.02171445744991729,"bid_iv":0.536537,"mid_iv":0.542431,"ask_iv":0.548324,"smv_vol":0.542,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709928626874,"prevclose":0.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":762,"bidexch":"E","bid_date":1709931599000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":207,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00022000","description":"PLTR - Apr 12 2024 $22.00 Call","exch":"Z","type":"option","last":4.55,"change":-0.65,"volume":41,"open":5.44,"high":5.44,"low":4.4,"close":4.55,"bid":4.2,"ask":4.55,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.8710530205624093,"gamma":0.04874965201861561,"theta":-0.016011686394272657,"vega":0.016453874961711717,"rho":0.017438128761929843,"phi":-0.02171445744991729,"bid_iv":0.0,"mid_iv":0.586458,"ask_iv":0.586458,"smv_vol":0.542,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.50,"average_volume":0,"last_volume":10,"trade_date":1709928600369,"prevclose":5.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":236,"bidexch":"E","bid_date":1709931597000,"asksize":14,"askexch":"M","ask_date":1709931591000,"open_interest":24,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00022500","description":"PLTR - Apr 12 2024 $22.50 Call","exch":"Z","type":"option","last":4.1,"change":-0.50,"volume":8,"open":3.64,"high":4.14,"low":3.64,"close":4.1,"bid":3.9,"ask":4.1,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.8447002370853643,"gamma":0.05647129297356942,"theta":-0.017434860464642314,"vega":0.020165929536458148,"rho":0.017187409990263712,"phi":-0.02105521530459953,"bid_iv":0.503066,"mid_iv":0.528729,"ask_iv":0.554391,"smv_vol":0.533,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.87,"average_volume":0,"last_volume":1,"trade_date":1709929946387,"prevclose":4.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":257,"bidexch":"X","bid_date":1709931592000,"asksize":38,"askexch":"X","ask_date":1709931589000,"open_interest":5,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00022500","description":"PLTR - Apr 12 2024 $22.50 Put","exch":"Z","type":"option","last":0.38,"change":-0.01,"volume":61,"open":0.32,"high":0.43,"low":0.32,"close":0.38,"bid":0.39,"ask":0.41,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.1552997629146357,"gamma":0.05647129297356942,"theta":-0.017434860464642314,"vega":0.020165929536458148,"rho":0.017187409990263712,"phi":-0.02105521530459953,"bid_iv":0.53533,"mid_iv":0.54028,"ask_iv":0.54523,"smv_vol":0.533,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.57,"average_volume":0,"last_volume":5,"trade_date":1709928599009,"prevclose":0.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1709931581000,"asksize":23,"askexch":"U","ask_date":1709931572000,"open_interest":133,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00023000","description":"PLTR - Apr 12 2024 $23.00 Put","exch":"Z","type":"option","last":0.5,"change":0.08,"volume":148,"open":0.37,"high":0.57,"low":0.37,"close":0.5,"bid":0.49,"ask":0.52,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.1875866999069268,"gamma":0.0644089556094626,"theta":-0.01902675063746911,"vega":0.02216039177665354,"rho":0.016764270186230012,"phi":-0.020247904033432462,"bid_iv":0.530031,"mid_iv":0.536784,"ask_iv":0.543537,"smv_vol":0.526,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":19.05,"average_volume":0,"last_volume":1,"trade_date":1709931439922,"prevclose":0.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1042,"bidexch":"E","bid_date":1709931599000,"asksize":364,"askexch":"D","ask_date":1709931597000,"open_interest":632,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00023000","description":"PLTR - Apr 12 2024 $23.00 Call","exch":"Z","type":"option","last":3.9,"change":-0.25,"volume":55,"open":4.6,"high":4.6,"low":3.6,"close":3.9,"bid":2.93,"ask":3.7,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.8124133000930732,"gamma":0.0644089556094626,"theta":-0.01902675063746911,"vega":0.02216039177665354,"rho":0.016764270186230012,"phi":-0.020247904033432462,"bid_iv":0.167299,"mid_iv":0.356836,"ask_iv":0.546374,"smv_vol":0.526,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.03,"average_volume":0,"last_volume":1,"trade_date":1709928300555,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":486,"bidexch":"X","bid_date":1709931597000,"asksize":10,"askexch":"J","ask_date":1709931600000,"open_interest":145,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00023500","description":"PLTR - Apr 12 2024 $23.50 Call","exch":"Z","type":"option","last":3.4,"change":-0.29,"volume":3,"open":3.45,"high":3.45,"low":3.26,"close":3.4,"bid":2.85,"ask":3.35,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.7750174031896059,"gamma":0.07199044646025526,"theta":-0.02071930585251883,"vega":0.024120442114778214,"rho":0.016187956821280314,"phi":-0.019313249537411536,"bid_iv":0.405559,"mid_iv":0.479012,"ask_iv":0.552465,"smv_vol":0.528,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.86,"average_volume":0,"last_volume":1,"trade_date":1709925616815,"prevclose":3.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":144,"bidexch":"X","bid_date":1709931597000,"asksize":70,"askexch":"E","ask_date":1709931597000,"open_interest":32,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00023500","description":"PLTR - Apr 12 2024 $23.50 Put","exch":"Z","type":"option","last":0.62,"change":0.02,"volume":107,"open":0.5,"high":0.7,"low":0.5,"close":0.62,"bid":0.62,"ask":0.65,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.2249825968103941,"gamma":0.07199044646025526,"theta":-0.02071930585251883,"vega":0.024120442114778214,"rho":0.016187956821280314,"phi":-0.019313249537411536,"bid_iv":0.530196,"mid_iv":0.536402,"ask_iv":0.542607,"smv_vol":0.528,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.34,"average_volume":0,"last_volume":1,"trade_date":1709931419334,"prevclose":0.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":170,"bidexch":"E","bid_date":1709931594000,"asksize":683,"askexch":"D","ask_date":1709931586000,"open_interest":142,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00024000","description":"PLTR - Apr 12 2024 $24.00 Put","exch":"Z","type":"option","last":0.78,"change":0.05,"volume":77,"open":0.56,"high":0.86,"low":0.56,"close":0.78,"bid":0.77,"ask":0.8,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.2665698270773152,"gamma":0.07864359800293065,"theta":-0.02240303658197865,"vega":0.025988837722736514,"rho":0.015478996858252235,"phi":-0.018274282149732812,"bid_iv":0.529876,"mid_iv":0.535375,"ask_iv":0.540874,"smv_vol":0.532,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.85,"average_volume":0,"last_volume":1,"trade_date":1709931277221,"prevclose":0.73,"week_52_high":0.0,"week_52_low":0.0,"bidsize":509,"bidexch":"E","bid_date":1709931599000,"asksize":18,"askexch":"P","ask_date":1709931576000,"open_interest":278,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00024000","description":"PLTR - Apr 12 2024 $24.00 Call","exch":"Z","type":"option","last":2.92,"change":-0.63,"volume":51,"open":3.8,"high":3.9,"low":2.91,"close":2.92,"bid":2.72,"ask":2.98,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.7334301729226848,"gamma":0.07864359800293065,"theta":-0.02240303658197865,"vega":0.025988837722736514,"rho":0.015478996858252235,"phi":-0.018274282149732812,"bid_iv":0.523121,"mid_iv":0.532279,"ask_iv":0.541437,"smv_vol":0.532,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.75,"average_volume":0,"last_volume":1,"trade_date":1709931295969,"prevclose":3.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":739,"bidexch":"X","bid_date":1709931599000,"asksize":9,"askexch":"C","ask_date":1709931597000,"open_interest":391,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00024500","description":"PLTR - Apr 12 2024 $24.50 Call","exch":"Z","type":"option","last":2.67,"change":-0.73,"volume":22,"open":3.24,"high":3.3,"low":2.67,"close":2.67,"bid":2.6,"ask":2.65,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.6887731447681249,"gamma":0.08384222264730481,"theta":-0.023928245836188067,"vega":0.02884151271635015,"rho":0.014662451464247727,"phi":-0.017159108223196995,"bid_iv":0.524475,"mid_iv":0.533159,"ask_iv":0.541844,"smv_vol":0.534,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.48,"average_volume":0,"last_volume":1,"trade_date":1709930669268,"prevclose":3.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":75,"bidexch":"D","bid_date":1709931593000,"asksize":112,"askexch":"D","ask_date":1709931589000,"open_interest":107,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00024500","description":"PLTR - Apr 12 2024 $24.50 Put","exch":"Z","type":"option","last":0.9,"change":0.05,"volume":45,"open":0.76,"high":1.03,"low":0.75,"close":0.9,"bid":0.95,"ask":0.98,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.3112268552318751,"gamma":0.08384222264730481,"theta":-0.023928245836188067,"vega":0.02884151271635015,"rho":0.014662451464247727,"phi":-0.017159108223196995,"bid_iv":0.531157,"mid_iv":0.536352,"ask_iv":0.541548,"smv_vol":0.534,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.89,"average_volume":0,"last_volume":1,"trade_date":1709927619079,"prevclose":0.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"B","bid_date":1709931582000,"asksize":17,"askexch":"B","ask_date":1709931600000,"open_interest":56,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00025000","description":"PLTR - Apr 12 2024 $25.00 Put","exch":"Z","type":"option","last":1.18,"change":0.09,"volume":181,"open":0.92,"high":1.25,"low":0.85,"close":1.18,"bid":1.16,"ask":1.19,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3572814819867085,"gamma":0.08749029559354002,"theta":-0.025231073153461233,"vega":0.03014430245635892,"rho":0.013783007184753539,"phi":-0.016009460708232837,"bid_iv":0.531546,"mid_iv":0.536519,"ask_iv":0.541492,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.26,"average_volume":0,"last_volume":1,"trade_date":1709931341371,"prevclose":1.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931594000,"asksize":349,"askexch":"E","ask_date":1709931598000,"open_interest":366,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00025000","description":"PLTR - Apr 12 2024 $25.00 Call","exch":"Z","type":"option","last":2.32,"change":-0.56,"volume":78,"open":3.0,"high":3.2,"low":2.3,"close":2.32,"bid":2.3,"ask":2.55,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6427185180132915,"gamma":0.08749029559354002,"theta":-0.025231073153461233,"vega":0.03014430245635892,"rho":0.013783007184753539,"phi":-0.016009460708232837,"bid_iv":0.518065,"mid_iv":0.529681,"ask_iv":0.541297,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-19.45,"average_volume":0,"last_volume":50,"trade_date":1709931064776,"prevclose":2.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":54,"bidexch":"X","bid_date":1709931599000,"asksize":595,"askexch":"X","ask_date":1709931599000,"open_interest":222,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00025500","description":"PLTR - Apr 12 2024 $25.50 Call","exch":"Z","type":"option","last":2.19,"change":-0.49,"volume":57,"open":2.7,"high":2.7,"low":2.0,"close":2.19,"bid":2.04,"ask":2.09,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.5965324228051424,"gamma":0.08971919858745295,"theta":-0.026231157652922596,"vega":0.031180021257763466,"rho":0.012876139015498096,"phi":-0.014856887853298417,"bid_iv":0.527059,"mid_iv":0.539912,"ask_iv":0.552765,"smv_vol":0.538,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.29,"average_volume":0,"last_volume":10,"trade_date":1709924966204,"prevclose":2.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"B","bid_date":1709931600000,"asksize":26,"askexch":"B","ask_date":1709931595000,"open_interest":76,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00025500","description":"PLTR - Apr 12 2024 $25.50 Put","exch":"Z","type":"option","last":1.36,"change":0.25,"volume":48,"open":1.05,"high":1.49,"low":1.03,"close":1.36,"bid":1.38,"ask":1.42,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.4034675771948576,"gamma":0.08971919858745295,"theta":-0.026231157652922596,"vega":0.031180021257763466,"rho":0.012876139015498096,"phi":-0.014856887853298417,"bid_iv":0.534062,"mid_iv":0.538872,"ask_iv":0.543682,"smv_vol":0.538,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":22.53,"average_volume":0,"last_volume":10,"trade_date":1709930676687,"prevclose":1.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":171,"bidexch":"B","bid_date":1709931595000,"asksize":248,"askexch":"D","ask_date":1709931593000,"open_interest":191,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00026000","description":"PLTR - Apr 12 2024 $26.00 Put","exch":"Z","type":"option","last":1.61,"change":0.22,"volume":398,"open":1.27,"high":1.76,"low":1.27,"close":1.61,"bid":1.64,"ask":1.68,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4490440874015983,"gamma":0.0907203875249859,"theta":-0.026885238192119767,"vega":0.03191869087177262,"rho":0.011963438798025638,"phi":-0.01371982617515144,"bid_iv":0.535465,"mid_iv":0.541735,"ask_iv":0.548005,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":15.83,"average_volume":0,"last_volume":10,"trade_date":1709929998088,"prevclose":1.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"Z","bid_date":1709931563000,"asksize":1033,"askexch":"E","ask_date":1709931599000,"open_interest":138,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00026000","description":"PLTR - Apr 12 2024 $26.00 Call","exch":"Z","type":"option","last":1.96,"change":-0.16,"volume":127,"open":2.25,"high":2.88,"low":1.8,"close":1.96,"bid":1.8,"ask":1.84,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5509559125984017,"gamma":0.0907203875249859,"theta":-0.026885238192119767,"vega":0.03191869087177262,"rho":0.011963438798025638,"phi":-0.01371982617515144,"bid_iv":0.53152,"mid_iv":0.537789,"ask_iv":0.544059,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.55,"average_volume":0,"last_volume":1,"trade_date":1709931044382,"prevclose":2.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"C","bid_date":1709931582000,"asksize":187,"askexch":"D","ask_date":1709931599000,"open_interest":815,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00026500","description":"PLTR - Apr 12 2024 $26.50 Put","exch":"Z","type":"option","last":1.95,"change":0.19,"volume":55,"open":1.45,"high":1.95,"low":1.45,"close":1.95,"bid":1.92,"ask":1.96,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.4935640162852386,"gamma":0.09062158800317575,"theta":-0.02716737470584429,"vega":0.03202017866475683,"rho":0.011057450872501831,"phi":-0.012609392985307721,"bid_iv":0.538676,"mid_iv":0.54337,"ask_iv":0.548064,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.80,"average_volume":0,"last_volume":4,"trade_date":1709916039113,"prevclose":1.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"B","bid_date":1709931576000,"asksize":654,"askexch":"E","ask_date":1709931599000,"open_interest":136,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00026500","description":"PLTR - Apr 12 2024 $26.50 Call","exch":"Z","type":"option","last":1.59,"change":-0.27,"volume":120,"open":2.28,"high":2.3,"low":1.59,"close":1.59,"bid":1.58,"ask":1.62,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.5064359837147614,"gamma":0.09062158800317575,"theta":-0.02716737470584429,"vega":0.03202017866475683,"rho":0.011057450872501831,"phi":-0.012609392985307721,"bid_iv":0.537749,"mid_iv":0.542436,"ask_iv":0.547124,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.52,"average_volume":0,"last_volume":1,"trade_date":1709931524748,"prevclose":1.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931600000,"asksize":557,"askexch":"E","ask_date":1709931584000,"open_interest":472,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412C00027000","description":"PLTR - Apr 12 2024 $27.00 Call","exch":"Z","type":"option","last":1.4,"change":-0.29,"volume":439,"open":2.04,"high":2.13,"low":1.38,"close":1.4,"bid":1.38,"ask":1.42,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.46327174502525464,"gamma":0.08957465016894976,"theta":-0.027075386423147222,"vega":0.03179426730305506,"rho":0.010167361503890518,"phi":-0.011533011319286857,"bid_iv":0.539858,"mid_iv":0.544578,"ask_iv":0.549297,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.16,"average_volume":0,"last_volume":1,"trade_date":1709931057512,"prevclose":1.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":310,"bidexch":"B","bid_date":1709931595000,"asksize":591,"askexch":"D","ask_date":1709931589000,"open_interest":836,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00027000","description":"PLTR - Apr 12 2024 $27.00 Put","exch":"Z","type":"option","last":2.11,"change":0.19,"volume":88,"open":1.72,"high":2.32,"low":1.7,"close":2.11,"bid":2.22,"ask":2.26,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5367282549747454,"gamma":0.08957465016894976,"theta":-0.027075386423147222,"vega":0.03179426730305506,"rho":0.010167361503890518,"phi":-0.011533011319286857,"bid_iv":0.540893,"mid_iv":0.547197,"ask_iv":0.553501,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.90,"average_volume":0,"last_volume":1,"trade_date":1709926989822,"prevclose":1.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931592000,"asksize":6,"askexch":"C","ask_date":1709931595000,"open_interest":96,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412P00027500","description":"PLTR - Apr 12 2024 $27.50 Put","exch":"Z","type":"option","last":2.15,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":2.53,"ask":2.67,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.5783832407636098,"gamma":0.08774167064329425,"theta":-0.02665295535452563,"vega":0.031249273741211874,"rho":0.009299041824113308,"phi":-0.010494471129884886,"bid_iv":0.542717,"mid_iv":0.565164,"ask_iv":0.587611,"smv_vol":0.551,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709823883830,"prevclose":2.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"C","bid_date":1709931595000,"asksize":11,"askexch":"C","ask_date":1709931595000,"open_interest":8,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00027500","description":"PLTR - Apr 12 2024 $27.50 Call","exch":"Z","type":"option","last":1.23,"change":-0.26,"volume":204,"open":1.79,"high":1.83,"low":1.21,"close":1.23,"bid":1.21,"ask":1.24,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.4216167592363902,"gamma":0.08774167064329425,"theta":-0.02665295535452563,"vega":0.031249273741211874,"rho":0.009299041824113308,"phi":-0.010494471129884886,"bid_iv":0.544894,"mid_iv":0.548095,"ask_iv":0.551296,"smv_vol":0.551,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.45,"average_volume":0,"last_volume":4,"trade_date":1709931528434,"prevclose":1.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931600000,"asksize":95,"askexch":"D","ask_date":1709931589000,"open_interest":293,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00028000","description":"PLTR - Apr 12 2024 $28.00 Put","exch":"Z","type":"option","last":2.69,"change":0.23,"volume":1,"open":2.69,"high":2.69,"low":2.69,"close":2.69,"bid":2.86,"ask":2.93,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.6183917514419071,"gamma":0.08520758512151128,"theta":-0.025943083366717586,"vega":0.03040368649298562,"rho":0.008456674281505629,"phi":-0.009497173594219532,"bid_iv":0.544524,"mid_iv":0.554588,"ask_iv":0.564651,"smv_vol":0.554,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.35,"average_volume":0,"last_volume":1,"trade_date":1709913823980,"prevclose":2.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":53,"bidexch":"X","bid_date":1709931589000,"asksize":7,"askexch":"B","ask_date":1709931595000,"open_interest":35,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00028000","description":"PLTR - Apr 12 2024 $28.00 Call","exch":"Z","type":"option","last":1.05,"change":-0.23,"volume":434,"open":1.5,"high":1.65,"low":1.04,"close":1.05,"bid":1.05,"ask":1.09,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.38160824855809294,"gamma":0.08520758512151128,"theta":-0.025943083366717586,"vega":0.03040368649298562,"rho":0.008456674281505629,"phi":-0.009497173594219532,"bid_iv":0.547062,"mid_iv":0.551997,"ask_iv":0.556931,"smv_vol":0.554,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.97,"average_volume":0,"last_volume":1,"trade_date":1709931324258,"prevclose":1.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"H","bid_date":1709931592000,"asksize":1288,"askexch":"E","ask_date":1709931599000,"open_interest":429,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00028500","description":"PLTR - Apr 12 2024 $28.50 Put","exch":"Z","type":"option","last":2.74,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.17,"ask":3.3,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.6564623093389966,"gamma":0.08200811362584698,"theta":-0.024984371686412505,"vega":0.02928075487034041,"rho":0.007647112740870796,"phi":-0.008548380326933724,"bid_iv":0.536691,"mid_iv":0.553952,"ask_iv":0.571212,"smv_vol":0.555,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709823699817,"prevclose":2.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":487,"bidexch":"X","bid_date":1709931598000,"asksize":79,"askexch":"E","ask_date":1709931596000,"open_interest":4,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00028500","description":"PLTR - Apr 12 2024 $28.50 Call","exch":"Z","type":"option","last":1.0,"change":-0.16,"volume":59,"open":1.29,"high":1.43,"low":0.97,"close":1.0,"bid":0.91,"ask":0.95,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.3435376906610034,"gamma":0.08200811362584698,"theta":-0.024984371686412505,"vega":0.02928075487034041,"rho":0.007647112740870796,"phi":-0.008548380326933724,"bid_iv":0.546358,"mid_iv":0.55319,"ask_iv":0.560022,"smv_vol":0.555,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.80,"average_volume":0,"last_volume":1,"trade_date":1709920502225,"prevclose":1.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":200,"bidexch":"E","bid_date":1709931589000,"asksize":1098,"askexch":"E","ask_date":1709931589000,"open_interest":152,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00029000","description":"PLTR - Apr 12 2024 $29.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.6,"ask":3.7,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.6924244430704461,"gamma":0.07824383520887988,"theta":-0.023839034386203203,"vega":0.02791660446469406,"rho":0.0068754258742094836,"phi":-0.007652318279038894,"bid_iv":0.546983,"mid_iv":0.564057,"ask_iv":0.58113,"smv_vol":0.559,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"E","bid_date":1709931589000,"asksize":202,"askexch":"E","ask_date":1709931589000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00029000","description":"PLTR - Apr 12 2024 $29.00 Call","exch":"Z","type":"option","last":0.86,"change":-0.17,"volume":187,"open":1.17,"high":1.27,"low":0.83,"close":0.86,"bid":0.79,"ask":0.84,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.30757555692955385,"gamma":0.07824383520887988,"theta":-0.023839034386203203,"vega":0.02791660446469406,"rho":0.0068754258742094836,"phi":-0.007652318279038894,"bid_iv":0.550309,"mid_iv":0.555685,"ask_iv":0.561061,"smv_vol":0.559,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.51,"average_volume":0,"last_volume":2,"trade_date":1709929406968,"prevclose":1.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"E","bid_date":1709931594000,"asksize":1,"askexch":"Q","ask_date":1709931592000,"open_interest":522,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00029500","description":"PLTR - Apr 12 2024 $29.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.0,"ask":4.1,"underlying":"PLTR","strike":29.5,"greeks":{"delta":-0.7257807067309378,"gamma":0.07397128563306828,"theta":-0.02256783725320025,"vega":0.026342101939220222,"rho":0.006152999378429901,"phi":-0.006821380983401681,"bid_iv":0.552023,"mid_iv":0.57112,"ask_iv":0.590216,"smv_vol":0.563,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"B","bid_date":1709931571000,"asksize":78,"askexch":"X","ask_date":1709931599000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00029500","description":"PLTR - Apr 12 2024 $29.50 Call","exch":"Z","type":"option","last":0.74,"change":-0.27,"volume":115,"open":1.0,"high":1.1,"low":0.74,"close":0.74,"bid":0.68,"ask":0.72,"underlying":"PLTR","strike":29.5,"greeks":{"delta":0.2742192932690623,"gamma":0.07397128563306828,"theta":-0.02256783725320025,"vega":0.026342101939220222,"rho":0.006152999378429901,"phi":-0.006821380983401681,"bid_iv":0.5561,"mid_iv":0.561797,"ask_iv":0.567495,"smv_vol":0.563,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-26.74,"average_volume":0,"last_volume":5,"trade_date":1709918648998,"prevclose":1.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":378,"bidexch":"E","bid_date":1709931598000,"asksize":726,"askexch":"E","ask_date":1709931598000,"open_interest":249,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00030000","description":"PLTR - Apr 12 2024 $30.00 Put","exch":"Z","type":"option","last":4.0,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":3.3,"ask":4.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7564912958153379,"gamma":0.06935598446825086,"theta":-0.021231133743686112,"vega":0.024608351015654287,"rho":0.005482625822159069,"phi":-0.006056520078789873,"bid_iv":0.551763,"mid_iv":0.571997,"ask_iv":0.592232,"smv_vol":0.566,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709842800648,"prevclose":4.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":309,"bidexch":"X","bid_date":1709931598000,"asksize":73,"askexch":"E","ask_date":1709931589000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00030000","description":"PLTR - Apr 12 2024 $30.00 Call","exch":"Z","type":"option","last":0.61,"change":-0.17,"volume":703,"open":0.93,"high":1.0,"low":0.59,"close":0.61,"bid":0.6,"ask":0.62,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.24350870418466208,"gamma":0.06935598446825086,"theta":-0.021231133743686112,"vega":0.024608351015654287,"rho":0.005482625822159069,"phi":-0.006056520078789873,"bid_iv":0.561092,"mid_iv":0.56313,"ask_iv":0.565169,"smv_vol":0.566,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.80,"average_volume":0,"last_volume":1,"trade_date":1709931457153,"prevclose":0.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"Q","bid_date":1709931563000,"asksize":110,"askexch":"D","ask_date":1709931594000,"open_interest":545,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00031000","description":"PLTR - Apr 12 2024 $31.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.25,"ask":5.35,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.808957071367087,"gamma":0.05964294392222784,"theta":-0.018545044804842082,"vega":0.022990114859927736,"rho":0.004325064200127078,"phi":-0.004750292715849369,"bid_iv":0.526289,"mid_iv":0.564419,"ask_iv":0.602548,"smv_vol":0.573,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"U","bid_date":1709931582000,"asksize":11,"askexch":"Z","ask_date":1709931561000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00031000","description":"PLTR - Apr 12 2024 $31.00 Call","exch":"Z","type":"option","last":0.51,"change":-0.10,"volume":208,"open":0.69,"high":0.74,"low":0.45,"close":0.51,"bid":0.45,"ask":0.47,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.1910429286329129,"gamma":0.05964294392222784,"theta":-0.018545044804842082,"vega":0.022990114859927736,"rho":0.004325064200127078,"phi":-0.004750292715849369,"bid_iv":0.569153,"mid_iv":0.575687,"ask_iv":0.582221,"smv_vol":0.573,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.40,"average_volume":0,"last_volume":1,"trade_date":1709927104551,"prevclose":0.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":39,"bidexch":"D","bid_date":1709931574000,"asksize":5,"askexch":"C","ask_date":1709931600000,"open_interest":226,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00032000","description":"PLTR - Apr 12 2024 $32.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.0,"ask":6.25,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.8496883389359942,"gamma":0.0502601525551621,"theta":-0.016072303110062247,"vega":0.0190342695766621,"rho":0.00341588221410942,"phi":-0.003736675993071259,"bid_iv":0.0,"mid_iv":0.66633,"ask_iv":0.66633,"smv_vol":0.583,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":119,"bidexch":"Z","bid_date":1709931588000,"asksize":39,"askexch":"X","ask_date":1709931561000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00032000","description":"PLTR - Apr 12 2024 $32.00 Call","exch":"Z","type":"option","last":0.35,"change":-0.14,"volume":120,"open":0.59,"high":0.61,"low":0.35,"close":0.35,"bid":0.34,"ask":0.37,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.15031166106400587,"gamma":0.0502601525551621,"theta":-0.016072303110062247,"vega":0.0190342695766621,"rho":0.00341588221410942,"phi":-0.003736675993071259,"bid_iv":0.578264,"mid_iv":0.586156,"ask_iv":0.594048,"smv_vol":0.583,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-28.58,"average_volume":0,"last_volume":45,"trade_date":1709930136399,"prevclose":0.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":123,"bidexch":"D","bid_date":1709931574000,"asksize":21,"askexch":"Z","ask_date":1709931592000,"open_interest":471,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00033000","description":"PLTR - Apr 12 2024 $33.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.05,"ask":7.2,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.8807600599166359,"gamma":0.0419363667194927,"theta":-0.013987127895539,"vega":0.015115337587816136,"rho":0.002716754336408448,"phi":-0.002963732526617413,"bid_iv":0.552175,"mid_iv":0.603312,"ask_iv":0.654449,"smv_vol":0.596,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"U","bid_date":1709931592000,"asksize":54,"askexch":"X","ask_date":1709931588000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00033000","description":"PLTR - Apr 12 2024 $33.00 Call","exch":"Z","type":"option","last":0.28,"change":-0.09,"volume":56,"open":0.49,"high":0.49,"low":0.28,"close":0.28,"bid":0.26,"ask":0.28,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.11923994008336417,"gamma":0.0419363667194927,"theta":-0.013987127895539,"vega":0.015115337587816136,"rho":0.002716754336408448,"phi":-0.002963732526617413,"bid_iv":0.590181,"mid_iv":0.596048,"ask_iv":0.601916,"smv_vol":0.596,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-24.33,"average_volume":0,"last_volume":1,"trade_date":1709930558876,"prevclose":0.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":248,"bidexch":"D","bid_date":1709931576000,"asksize":248,"askexch":"E","ask_date":1709931583000,"open_interest":141,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00034000","description":"PLTR - Apr 12 2024 $34.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.45,"ask":8.6,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9043263017538806,"gamma":0.03489752841668664,"theta":-0.012173395376850527,"vega":0.013387636218802356,"rho":0.0021835026250503157,"phi":-0.002377677233711406,"bid_iv":0.0,"mid_iv":0.704476,"ask_iv":0.704476,"smv_vol":0.608,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"J","bid_date":1709931598000,"asksize":104,"askexch":"N","ask_date":1709931597000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00034000","description":"PLTR - Apr 12 2024 $34.00 Call","exch":"Z","type":"option","last":0.23,"change":-0.15,"volume":41,"open":0.32,"high":0.36,"low":0.23,"close":0.23,"bid":0.2,"ask":0.22,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.09567369824611935,"gamma":0.03489752841668664,"theta":-0.012173395376850527,"vega":0.013387636218802356,"rho":0.0021835026250503157,"phi":-0.002377677233711406,"bid_iv":0.600928,"mid_iv":0.608347,"ask_iv":0.615767,"smv_vol":0.608,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-39.48,"average_volume":0,"last_volume":2,"trade_date":1709919020158,"prevclose":0.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":273,"bidexch":"P","bid_date":1709931560000,"asksize":313,"askexch":"E","ask_date":1709931583000,"open_interest":66,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240412P00035000","description":"PLTR - Apr 12 2024 $35.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.95,"ask":10.1,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9213847493783573,"gamma":0.02924378883104432,"theta":-0.010788616637873201,"vega":0.011703697563624826,"rho":0.001795293964007038,"phi":-0.001953599874648937,"bid_iv":0.0,"mid_iv":0.985815,"ask_iv":0.985815,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"X","bid_date":1709931590000,"asksize":116,"askexch":"N","ask_date":1709931589000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240412C00035000","description":"PLTR - Apr 12 2024 $35.00 Call","exch":"Z","type":"option","last":0.17,"change":-0.08,"volume":167,"open":0.28,"high":0.31,"low":0.17,"close":0.17,"bid":0.15,"ask":0.18,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.0786152506216426,"gamma":0.02924378883104432,"theta":-0.010788616637873201,"vega":0.011703697563624826,"rho":0.001795293964007038,"phi":-0.001953599874648937,"bid_iv":0.60776,"mid_iv":0.620585,"ask_iv":0.63341,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-32.00,"average_volume":0,"last_volume":1,"trade_date":1709931381494,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1031,"bidexch":"E","bid_date":1709931591000,"asksize":876,"askexch":"E","ask_date":1709931585000,"open_interest":298,"contract_size":100,"expiration_date":"2024-04-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '197' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '3' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-04-26&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240426P00015000","description":"PLTR - Apr 26 2024 $15.00 Put","exch":"Z","type":"option","last":0.04,"change":null,"volume":15,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.02,"ask":0.05,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0079289401123805,"gamma":0.0034109519363891114,"theta":-0.0038756219694478897,"vega":0.0021269861342292262,"rho":0.019654761692816533,"phi":-0.034652723162054144,"bid_iv":0.6786,"mid_iv":0.713582,"ask_iv":0.748563,"smv_vol":0.679,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":15,"trade_date":1709923835106,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":435,"bidexch":"D","bid_date":1709931589000,"asksize":388,"askexch":"E","ask_date":1709931582000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00015000","description":"PLTR - Apr 26 2024 $15.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.4,"ask":11.8,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9920710598876195,"gamma":0.0034109519363891114,"theta":-0.0038756219694478897,"vega":0.0021269861342292262,"rho":0.019654761692816533,"phi":-0.034652723162054144,"bid_iv":0.0,"mid_iv":1.046322,"ask_iv":1.046322,"smv_vol":0.679,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":112,"bidexch":"N","bid_date":1709931583000,"asksize":25,"askexch":"X","ask_date":1709931585000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00017000","description":"PLTR - Apr 26 2024 $17.00 Put","exch":"Z","type":"option","last":0.07,"change":null,"volume":52,"open":0.05,"high":0.07,"low":0.05,"close":0.07,"bid":0.05,"ask":0.08,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0240539520433305,"gamma":0.009301681818423847,"theta":-0.00625433906471134,"vega":0.005199316676136126,"rho":0.021693696821977974,"phi":-0.03408740486321449,"bid_iv":0.620547,"mid_iv":0.646863,"ask_iv":0.673178,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":2,"trade_date":1709912754592,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":521,"bidexch":"E","bid_date":1709931597000,"asksize":383,"askexch":"E","ask_date":1709931580000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00017000","description":"PLTR - Apr 26 2024 $17.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.05,"ask":11.35,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9759460479566695,"gamma":0.009301681818423847,"theta":-0.00625433906471134,"vega":0.005199316676136126,"rho":0.021693696821977974,"phi":-0.03408740486321449,"bid_iv":0.0,"mid_iv":1.19941,"ask_iv":1.19941,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":47,"bidexch":"Q","bid_date":1709931595000,"asksize":112,"askexch":"Z","ask_date":1709931589000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00017500","description":"PLTR - Apr 26 2024 $17.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.05,"ask":10.7,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.969350981433165,"gamma":0.011524049235353027,"theta":-0.007048022739283099,"vega":0.00632469768836284,"rho":0.022103214740918323,"phi":-0.03385625699792172,"bid_iv":0.0,"mid_iv":0.967124,"ask_iv":0.967124,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":112,"bidexch":"Q","bid_date":1709931577000,"asksize":102,"askexch":"Q","ask_date":1709931577000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00017500","description":"PLTR - Apr 26 2024 $17.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.06,"ask":0.09,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.030649018566835,"gamma":0.011524049235353027,"theta":-0.007048022739283099,"vega":0.00632469768836284,"rho":0.022103214740918323,"phi":-0.03385625699792172,"bid_iv":0.603188,"mid_iv":0.626255,"ask_iv":0.649322,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":681,"bidexch":"E","bid_date":1709931592000,"asksize":101,"askexch":"D","ask_date":1709931591000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00018000","description":"PLTR - Apr 26 2024 $18.00 Put","exch":"Z","type":"option","last":0.09,"change":null,"volume":1,"open":0.09,"high":0.09,"low":0.09,"close":0.09,"bid":0.08,"ask":0.1,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0381877601618941,"gamma":0.014017497487188337,"theta":-0.007872264266263562,"vega":0.007632128683811346,"rho":0.022475897084088634,"phi":-0.03359205139830124,"bid_iv":0.597612,"mid_iv":0.610754,"ask_iv":0.623897,"smv_vol":0.61,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709931160334,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":136,"bidexch":"E","bid_date":1709931593000,"asksize":2,"askexch":"N","ask_date":1709931451000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00018000","description":"PLTR - Apr 26 2024 $18.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.05,"ask":8.55,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9618122398381059,"gamma":0.014017497487188337,"theta":-0.007872264266263562,"vega":0.007632128683811346,"rho":0.022475897084088634,"phi":-0.03359205139830124,"bid_iv":0.0,"mid_iv":0.913774,"ask_iv":0.913774,"smv_vol":0.61,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":100,"bidexch":"U","bid_date":1709931590000,"asksize":32,"askexch":"Z","ask_date":1709931587000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00019000","description":"PLTR - Apr 26 2024 $19.00 Put","exch":"Z","type":"option","last":0.15,"change":null,"volume":5,"open":0.12,"high":0.15,"low":0.12,"close":0.15,"bid":0.13,"ask":0.14,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0571825214338006,"gamma":0.02004247517093539,"theta":-0.00965167370897864,"vega":0.010740274500031495,"rho":0.02306766015630887,"phi":-0.03292644120911348,"bid_iv":0.580252,"mid_iv":0.584922,"ask_iv":0.589593,"smv_vol":0.589,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":4,"trade_date":1709915403907,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"J","bid_date":1709931592000,"asksize":1,"askexch":"D","ask_date":1709931300000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00019000","description":"PLTR - Apr 26 2024 $19.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.15,"ask":8.65,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9428174785661994,"gamma":0.02004247517093539,"theta":-0.00965167370897864,"vega":0.010740274500031495,"rho":0.02306766015630887,"phi":-0.03292644120911348,"bid_iv":0.0,"mid_iv":0.836917,"ask_iv":0.836917,"smv_vol":0.589,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"Z","bid_date":1709931580000,"asksize":106,"askexch":"Q","ask_date":1709931581000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00020000","description":"PLTR - Apr 26 2024 $20.00 Put","exch":"Z","type":"option","last":0.22,"change":null,"volume":12,"open":0.19,"high":0.23,"low":0.18,"close":0.22,"bid":0.17,"ask":0.22,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0824080400623769,"gamma":0.027587023295663943,"theta":-0.01156572661063188,"vega":0.014499921314451783,"rho":0.02341434350714527,"phi":-0.03204265699885411,"bid_iv":0.560555,"mid_iv":0.567462,"ask_iv":0.574369,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":2,"trade_date":1709918212886,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":310,"bidexch":"E","bid_date":1709931599000,"asksize":5,"askexch":"N","ask_date":1709931438000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00020000","description":"PLTR - Apr 26 2024 $20.00 Call","exch":"Z","type":"option","last":6.61,"change":null,"volume":11,"open":6.87,"high":6.87,"low":6.61,"close":6.61,"bid":6.25,"ask":7.25,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9175919599376231,"gamma":0.027587023295663943,"theta":-0.01156572661063188,"vega":0.014499921314451783,"rho":0.02341434350714527,"phi":-0.03204265699885411,"bid_iv":0.0,"mid_iv":1.394694,"ask_iv":1.394694,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709915031649,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"Z","bid_date":1709931595000,"asksize":8,"askexch":"J","ask_date":1709931594000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00021000","description":"PLTR - Apr 26 2024 $21.00 Put","exch":"Z","type":"option","last":0.31,"change":null,"volume":21,"open":0.26,"high":0.33,"low":0.26,"close":0.31,"bid":0.28,"ask":0.34,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.1163005856119463,"gamma":0.03680297731305225,"theta":-0.01365511224007881,"vega":0.018796515682143848,"rho":0.02341577766939635,"phi":-0.03085554075354935,"bid_iv":0.546768,"mid_iv":0.554745,"ask_iv":0.562721,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709931160334,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931593000,"asksize":191,"askexch":"E","ask_date":1709931599000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00021000","description":"PLTR - Apr 26 2024 $21.00 Call","exch":"Z","type":"option","last":5.85,"change":null,"volume":1,"open":5.85,"high":5.85,"low":5.85,"close":5.85,"bid":5.3,"ask":6.5,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.8836994143880537,"gamma":0.03680297731305225,"theta":-0.01365511224007881,"vega":0.018796515682143848,"rho":0.02341577766939635,"phi":-0.03085554075354935,"bid_iv":0.0,"mid_iv":0.994596,"ask_iv":0.994596,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709917747227,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":75,"bidexch":"E","bid_date":1709931596000,"asksize":168,"askexch":"X","ask_date":1709931599000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00021500","description":"PLTR - Apr 26 2024 $21.50 Call","exch":"Z","type":"option","last":5.71,"change":null,"volume":60,"open":5.71,"high":5.71,"low":5.71,"close":5.71,"bid":4.25,"ask":5.3,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.8624787933723514,"gamma":0.041963698404140326,"theta":-0.014783238949115445,"vega":0.02107821590465492,"rho":0.023242929953289804,"phi":-0.030112482454214273,"bid_iv":0.487389,"mid_iv":0.569652,"ask_iv":0.651915,"smv_vol":0.553,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":30,"trade_date":1709912856480,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":658,"bidexch":"X","bid_date":1709931599000,"asksize":14,"askexch":"B","ask_date":1709931567000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00021500","description":"PLTR - Apr 26 2024 $21.50 Put","exch":"Z","type":"option","last":0.38,"change":0.00,"volume":2,"open":0.31,"high":0.38,"low":0.31,"close":0.38,"bid":0.38,"ask":0.41,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.1375212066276486,"gamma":0.041963698404140326,"theta":-0.014783238949115445,"vega":0.02107821590465492,"rho":0.023242929953289804,"phi":-0.030112482454214273,"bid_iv":0.539514,"mid_iv":0.546625,"ask_iv":0.553737,"smv_vol":0.553,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709930468285,"prevclose":0.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"C","bid_date":1709931592000,"asksize":153,"askexch":"D","ask_date":1709931599000,"open_interest":19,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00022000","description":"PLTR - Apr 26 2024 $22.00 Put","exch":"Z","type":"option","last":0.46,"change":0.01,"volume":25,"open":0.53,"high":0.53,"low":0.46,"close":0.46,"bid":0.47,"ask":0.5,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.1615691596305148,"gamma":0.04735590522822251,"theta":-0.015928328851304775,"vega":0.023410943847565337,"rho":0.022953576259432663,"phi":-0.029270582402318723,"bid_iv":0.536008,"mid_iv":0.542405,"ask_iv":0.548801,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.23,"average_volume":0,"last_volume":10,"trade_date":1709928024688,"prevclose":0.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931436000,"asksize":8,"askexch":"N","ask_date":1709931564000,"open_interest":3,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00022000","description":"PLTR - Apr 26 2024 $22.00 Call","exch":"Z","type":"option","last":5.46,"change":null,"volume":8,"open":5.45,"high":5.48,"low":5.45,"close":5.46,"bid":4.55,"ask":5.05,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.8384308403694852,"gamma":0.04735590522822251,"theta":-0.015928328851304775,"vega":0.023410943847565337,"rho":0.022953576259432663,"phi":-0.029270582402318723,"bid_iv":0.493157,"mid_iv":0.583116,"ask_iv":0.673075,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":2,"trade_date":1709909933640,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":176,"bidexch":"E","bid_date":1709931582000,"asksize":7,"askexch":"C","ask_date":1709931595000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00022500","description":"PLTR - Apr 26 2024 $22.50 Call","exch":"Z","type":"option","last":4.7,"change":-0.28,"volume":12,"open":4.94,"high":4.94,"low":4.3,"close":4.7,"bid":4.15,"ask":4.6,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.8111690669810457,"gamma":0.052817488819177826,"theta":-0.01708178613856562,"vega":0.025735553965361903,"rho":0.022528622438976114,"phi":-0.028316396685212908,"bid_iv":0.0,"mid_iv":0.696688,"ask_iv":0.696688,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.63,"average_volume":0,"last_volume":1,"trade_date":1709917634431,"prevclose":4.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"B","bid_date":1709931581000,"asksize":10,"askexch":"Z","ask_date":1709931595000,"open_interest":78,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00022500","description":"PLTR - Apr 26 2024 $22.50 Put","exch":"Z","type":"option","last":0.64,"change":0.12,"volume":7,"open":0.46,"high":0.64,"low":0.46,"close":0.64,"bid":0.58,"ask":0.62,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.1888309330189543,"gamma":0.052817488819177826,"theta":-0.01708178613856562,"vega":0.025735553965361903,"rho":0.022528622438976114,"phi":-0.028316396685212908,"bid_iv":0.534329,"mid_iv":0.540143,"ask_iv":0.545957,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":23.08,"average_volume":0,"last_volume":3,"trade_date":1709915351050,"prevclose":0.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931592000,"asksize":138,"askexch":"E","ask_date":1709931582000,"open_interest":8,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00023000","description":"PLTR - Apr 26 2024 $23.00 Put","exch":"Z","type":"option","last":0.69,"change":-0.06,"volume":85,"open":0.54,"high":0.77,"low":0.54,"close":0.69,"bid":0.71,"ask":0.74,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2191126084728973,"gamma":0.05815207646596188,"theta":-0.018224213208479657,"vega":0.028015437167444267,"rho":0.021972717750537066,"phi":-0.02725676705228608,"bid_iv":0.533963,"mid_iv":0.5393,"ask_iv":0.544638,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.00,"average_volume":0,"last_volume":1,"trade_date":1709929030945,"prevclose":0.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":18,"bidexch":"C","bid_date":1709931592000,"asksize":159,"askexch":"D","ask_date":1709931575000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00023000","description":"PLTR - Apr 26 2024 $23.00 Call","exch":"Z","type":"option","last":4.05,"change":-0.77,"volume":4,"open":4.86,"high":4.86,"low":4.05,"close":4.05,"bid":3.85,"ask":4.2,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7808873915271027,"gamma":0.05815207646596188,"theta":-0.018224213208479657,"vega":0.028015437167444267,"rho":0.021972717750537066,"phi":-0.02725676705228608,"bid_iv":0.500741,"mid_iv":0.560739,"ask_iv":0.620736,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.98,"average_volume":0,"last_volume":1,"trade_date":1709917776614,"prevclose":4.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"Q","bid_date":1709931570000,"asksize":21,"askexch":"C","ask_date":1709931530000,"open_interest":3,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00023500","description":"PLTR - Apr 26 2024 $23.50 Call","exch":"Z","type":"option","last":4.31,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.55,"ask":3.75,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.7477197985757654,"gamma":0.06311204869741174,"theta":-0.019320115252641847,"vega":0.030188240451590468,"rho":0.021286210918126283,"phi":-0.026096461147595562,"bid_iv":0.518759,"mid_iv":0.551712,"ask_iv":0.584665,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":39,"trade_date":1709841977790,"prevclose":4.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":636,"bidexch":"X","bid_date":1709931595000,"asksize":17,"askexch":"C","ask_date":1709931565000,"open_interest":78,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00023500","description":"PLTR - Apr 26 2024 $23.50 Put","exch":"Z","type":"option","last":0.85,"change":0.07,"volume":100,"open":0.7,"high":0.9,"low":0.7,"close":0.85,"bid":0.86,"ask":0.89,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.2522802014242346,"gamma":0.06311204869741174,"theta":-0.019320115252641847,"vega":0.030188240451590468,"rho":0.021286210918126283,"phi":-0.026096461147595562,"bid_iv":0.533976,"mid_iv":0.538928,"ask_iv":0.54388,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.98,"average_volume":0,"last_volume":5,"trade_date":1709929757246,"prevclose":0.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"P","bid_date":1709931557000,"asksize":231,"askexch":"D","ask_date":1709931558000,"open_interest":27,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00024000","description":"PLTR - Apr 26 2024 $24.00 Put","exch":"Z","type":"option","last":1.04,"change":0.14,"volume":48,"open":0.79,"high":1.12,"low":0.79,"close":1.04,"bid":1.03,"ask":1.06,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.2877184525776473,"gamma":0.0675175777619172,"theta":-0.020331712809901713,"vega":0.032204781997811585,"rho":0.020490476523616998,"phi":-0.024857032707714666,"bid_iv":0.531204,"mid_iv":0.537393,"ask_iv":0.543583,"smv_vol":0.54,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":15.56,"average_volume":0,"last_volume":5,"trade_date":1709929850574,"prevclose":0.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"Z","bid_date":1709931584000,"asksize":97,"askexch":"D","ask_date":1709931598000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00024000","description":"PLTR - Apr 26 2024 $24.00 Call","exch":"Z","type":"option","last":3.45,"change":-0.21,"volume":134,"open":3.8,"high":4.21,"low":3.35,"close":3.45,"bid":2.69,"ask":3.55,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.7122815474223527,"gamma":0.0675175777619172,"theta":-0.020331712809901713,"vega":0.032204781997811585,"rho":0.020490476523616998,"phi":-0.024857032707714666,"bid_iv":0.513035,"mid_iv":0.567285,"ask_iv":0.621536,"smv_vol":0.54,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.74,"average_volume":0,"last_volume":1,"trade_date":1709917114169,"prevclose":3.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":840,"bidexch":"X","bid_date":1709931595000,"asksize":20,"askexch":"C","ask_date":1709931560000,"open_interest":15,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00024500","description":"PLTR - Apr 26 2024 $24.50 Call","exch":"Z","type":"option","last":3.05,"change":null,"volume":2,"open":3.15,"high":3.15,"low":3.05,"close":3.05,"bid":2.73,"ask":3.05,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.675101017652548,"gamma":0.07119516829427916,"theta":-0.021214588088847047,"vega":0.034006369131217504,"rho":0.019602384277175963,"phi":-0.023556999351193042,"bid_iv":0.440469,"mid_iv":0.500605,"ask_iv":0.560741,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709930815983,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":272,"bidexch":"X","bid_date":1709931599000,"asksize":14,"askexch":"B","ask_date":1709931597000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00024500","description":"PLTR - Apr 26 2024 $24.50 Put","exch":"Z","type":"option","last":1.3,"change":null,"volume":46,"open":0.98,"high":1.3,"low":0.98,"close":1.3,"bid":1.22,"ask":1.26,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.324898982347452,"gamma":0.07119516829427916,"theta":-0.021214588088847047,"vega":0.034006369131217504,"rho":0.019602384277175963,"phi":-0.023556999351193042,"bid_iv":0.534513,"mid_iv":0.54038,"ask_iv":0.546246,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709921173932,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1709931560000,"asksize":17,"askexch":"B","ask_date":1709931595000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00025000","description":"PLTR - Apr 26 2024 $25.00 Put","exch":"Z","type":"option","last":1.39,"change":0.07,"volume":21,"open":1.13,"high":1.43,"low":1.12,"close":1.39,"bid":1.43,"ask":1.48,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3631726631351032,"gamma":0.07403225286972202,"theta":-0.021952883922653866,"vega":0.03554449968453927,"rho":0.018644316895790852,"phi":-0.02221907466903872,"bid_iv":0.534696,"mid_iv":0.541719,"ask_iv":0.548742,"smv_vol":0.542,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.31,"average_volume":0,"last_volume":1,"trade_date":1709928972618,"prevclose":1.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"P","bid_date":1709931579000,"asksize":168,"askexch":"D","ask_date":1709931593000,"open_interest":20,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00025000","description":"PLTR - Apr 26 2024 $25.00 Call","exch":"Z","type":"option","last":2.73,"change":-0.37,"volume":54,"open":3.0,"high":3.0,"low":2.56,"close":2.73,"bid":2.63,"ask":2.85,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6368273368648968,"gamma":0.07403225286972202,"theta":-0.021952883922653866,"vega":0.03554449968453927,"rho":0.018644316895790852,"phi":-0.02221907466903872,"bid_iv":0.51699,"mid_iv":0.562794,"ask_iv":0.608598,"smv_vol":0.542,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.94,"average_volume":0,"last_volume":12,"trade_date":1709931575209,"prevclose":3.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":115,"bidexch":"E","bid_date":1709931594000,"asksize":14,"askexch":"B","ask_date":1709931596000,"open_interest":58,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00025500","description":"PLTR - Apr 26 2024 $25.50 Call","exch":"Z","type":"option","last":2.5,"change":-0.50,"volume":2,"open":2.5,"high":2.5,"low":2.5,"close":2.5,"bid":2.32,"ask":2.68,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.5981065485745612,"gamma":0.0760105368074354,"theta":-0.022508219233474076,"vega":0.03677265974341773,"rho":0.017640400887499595,"phi":-0.020865832293104347,"bid_iv":0.511686,"mid_iv":0.560485,"ask_iv":0.609285,"smv_vol":0.545,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.67,"average_volume":0,"last_volume":1,"trade_date":1709925927389,"prevclose":3.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931595000,"asksize":7,"askexch":"C","ask_date":1709931595000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00025500","description":"PLTR - Apr 26 2024 $25.50 Put","exch":"Z","type":"option","last":1.76,"change":null,"volume":4,"open":1.35,"high":1.76,"low":1.35,"close":1.76,"bid":1.66,"ask":1.71,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.4018934514254388,"gamma":0.0760105368074354,"theta":-0.022508219233474076,"vega":0.03677265974341773,"rho":0.017640400887499595,"phi":-0.020865832293104347,"bid_iv":0.534725,"mid_iv":0.541518,"ask_iv":0.548311,"smv_vol":0.545,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709915520636,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"P","bid_date":1709931546000,"asksize":12,"askexch":"Z","ask_date":1709931581000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00026000","description":"PLTR - Apr 26 2024 $26.00 Put","exch":"Z","type":"option","last":1.91,"change":0.06,"volume":44,"open":1.66,"high":2.0,"low":1.64,"close":1.91,"bid":1.93,"ask":1.98,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4405082907470659,"gamma":0.07713919935928704,"theta":-0.022875790293253265,"vega":0.03765476651890217,"rho":0.016611112428500004,"phi":-0.01951658780807719,"bid_iv":0.537376,"mid_iv":0.542692,"ask_iv":0.548007,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.25,"average_volume":0,"last_volume":2,"trade_date":1709930003739,"prevclose":1.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"B","bid_date":1709931581000,"asksize":235,"askexch":"D","ask_date":1709931599000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00026000","description":"PLTR - Apr 26 2024 $26.00 Call","exch":"Z","type":"option","last":2.17,"change":-0.35,"volume":62,"open":2.95,"high":2.95,"low":2.17,"close":2.17,"bid":2.15,"ask":2.54,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5594917092529341,"gamma":0.07713919935928704,"theta":-0.022875790293253265,"vega":0.03765476651890217,"rho":0.016611112428500004,"phi":-0.01951658780807719,"bid_iv":0.538402,"mid_iv":0.542388,"ask_iv":0.546375,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.89,"average_volume":0,"last_volume":15,"trade_date":1709931557947,"prevclose":2.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"H","bid_date":1709931590000,"asksize":12,"askexch":"T","ask_date":1709931595000,"open_interest":38,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00026500","description":"PLTR - Apr 26 2024 $26.50 Call","exch":"Z","type":"option","last":1.92,"change":-0.27,"volume":305,"open":2.6,"high":2.6,"low":1.89,"close":1.92,"bid":1.92,"ask":1.97,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.5214515833539921,"gamma":0.07746421823233178,"theta":-0.023052378035278338,"vega":0.038164138153515104,"rho":0.015574280204126567,"phi":-0.01818769922001806,"bid_iv":0.535473,"mid_iv":0.540716,"ask_iv":0.545959,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.33,"average_volume":0,"last_volume":1,"trade_date":1709931241391,"prevclose":2.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"J","bid_date":1709931587000,"asksize":134,"askexch":"D","ask_date":1709931598000,"open_interest":11,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00026500","description":"PLTR - Apr 26 2024 $26.50 Put","exch":"Z","type":"option","last":1.9,"change":-0.19,"volume":14,"open":1.9,"high":1.9,"low":1.86,"close":1.9,"bid":2.19,"ask":2.26,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.4785484166460079,"gamma":0.07746421823233178,"theta":-0.023052378035278338,"vega":0.038164138153515104,"rho":0.015574280204126567,"phi":-0.01818769922001806,"bid_iv":0.539994,"mid_iv":0.545252,"ask_iv":0.550511,"smv_vol":0.544,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.10,"average_volume":0,"last_volume":3,"trade_date":1709913337729,"prevclose":2.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"B","bid_date":1709931592000,"asksize":284,"askexch":"D","ask_date":1709931584000,"open_interest":7,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00027000","description":"PLTR - Apr 26 2024 $27.00 Put","exch":"Z","type":"option","last":2.51,"change":0.10,"volume":225,"open":2.01,"high":2.52,"low":2.01,"close":2.51,"bid":2.48,"ask":2.56,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5156401436188535,"gamma":0.07706511854905582,"theta":-0.02304142415043258,"vega":0.038285595739137195,"rho":0.014544904684400405,"phi":-0.016892191658790523,"bid_iv":0.540178,"mid_iv":0.546738,"ask_iv":0.553297,"smv_vol":0.545,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.15,"average_volume":0,"last_volume":5,"trade_date":1709918795495,"prevclose":2.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"B","bid_date":1709931597000,"asksize":195,"askexch":"E","ask_date":1709931599000,"open_interest":17,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00027000","description":"PLTR - Apr 26 2024 $27.00 Call","exch":"Z","type":"option","last":1.83,"change":-0.17,"volume":156,"open":2.14,"high":2.35,"low":1.71,"close":1.83,"bid":1.71,"ask":1.77,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.4843598563811465,"gamma":0.07706511854905582,"theta":-0.02304142415043258,"vega":0.038285595739137195,"rho":0.014544904684400405,"phi":-0.016892191658790523,"bid_iv":0.538076,"mid_iv":0.543302,"ask_iv":0.548528,"smv_vol":0.545,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.50,"average_volume":0,"last_volume":5,"trade_date":1709924760317,"prevclose":2.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":80,"bidexch":"P","bid_date":1709931561000,"asksize":232,"askexch":"D","ask_date":1709931591000,"open_interest":184,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00027500","description":"PLTR - Apr 26 2024 $27.50 Call","exch":"Z","type":"option","last":1.61,"change":-0.22,"volume":80,"open":1.99,"high":2.19,"low":1.53,"close":1.61,"bid":1.53,"ask":1.58,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.4485054725061895,"gamma":0.07602984315420284,"theta":-0.022861631824212802,"vega":0.038015889482357644,"rho":0.013534927652591186,"phi":-0.01564012841015483,"bid_iv":0.538614,"mid_iv":0.545193,"ask_iv":0.551771,"smv_vol":0.546,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.03,"average_volume":0,"last_volume":2,"trade_date":1709926214419,"prevclose":1.83,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931587000,"asksize":64,"askexch":"P","ask_date":1709931582000,"open_interest":11,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00027500","description":"PLTR - Apr 26 2024 $27.50 Put","exch":"Z","type":"option","last":2.4,"change":-0.14,"volume":1,"open":2.4,"high":2.4,"low":2.4,"close":2.4,"bid":2.75,"ask":2.92,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.5514945274938104,"gamma":0.07602984315420284,"theta":-0.022861631824212802,"vega":0.038015889482357644,"rho":0.013534927652591186,"phi":-0.01564012841015483,"bid_iv":0.527419,"mid_iv":0.550011,"ask_iv":0.572602,"smv_vol":0.546,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.52,"average_volume":0,"last_volume":1,"trade_date":1709911215090,"prevclose":2.54,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"B","bid_date":1709931595000,"asksize":14,"askexch":"C","ask_date":1709931296000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00028000","description":"PLTR - Apr 26 2024 $28.00 Put","exch":"Z","type":"option","last":3.15,"change":0.15,"volume":60,"open":2.76,"high":3.15,"low":2.6,"close":3.15,"bid":2.72,"ask":3.4,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.585965107235968,"gamma":0.07447233798712484,"theta":-0.022513065167793105,"vega":0.03736388893213214,"rho":0.012552210291541157,"phi":-0.014436584965249466,"bid_iv":0.410736,"mid_iv":0.512874,"ask_iv":0.615012,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.00,"average_volume":0,"last_volume":30,"trade_date":1709915199345,"prevclose":3.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931595000,"asksize":11,"askexch":"C","ask_date":1709931595000,"open_interest":17,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00028000","description":"PLTR - Apr 26 2024 $28.00 Call","exch":"Z","type":"option","last":1.44,"change":-0.16,"volume":82,"open":1.95,"high":1.95,"low":1.39,"close":1.44,"bid":1.36,"ask":1.42,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.414034892764032,"gamma":0.07447233798712484,"theta":-0.022513065167793105,"vega":0.03736388893213214,"rho":0.012552210291541157,"phi":-0.014436584965249466,"bid_iv":0.542521,"mid_iv":0.547874,"ask_iv":0.553228,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.00,"average_volume":0,"last_volume":1,"trade_date":1709929380494,"prevclose":1.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":270,"bidexch":"E","bid_date":1709931594000,"asksize":242,"askexch":"E","ask_date":1709931589000,"open_interest":41,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00028500","description":"PLTR - Apr 26 2024 $28.50 Call","exch":"Z","type":"option","last":1.27,"change":-0.43,"volume":82,"open":1.78,"high":1.79,"low":1.26,"close":1.27,"bid":1.22,"ask":1.27,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.3812862727502151,"gamma":0.07240524033837639,"theta":-0.02205638102108543,"vega":0.036348854079866565,"rho":0.011607162282791588,"phi":-0.013293368898992242,"bid_iv":0.542285,"mid_iv":0.549164,"ask_iv":0.556042,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.30,"average_volume":0,"last_volume":13,"trade_date":1709931000132,"prevclose":1.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":298,"bidexch":"D","bid_date":1709931585000,"asksize":489,"askexch":"E","ask_date":1709931589000,"open_interest":52,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00028500","description":"PLTR - Apr 26 2024 $28.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.89,"ask":4.25,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.6187137272497849,"gamma":0.07240524033837639,"theta":-0.02205638102108543,"vega":0.036348854079866565,"rho":0.011607162282791588,"phi":-0.013293368898992242,"bid_iv":0.420812,"mid_iv":0.587207,"ask_iv":0.753602,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":289,"bidexch":"X","bid_date":1709931599000,"asksize":14,"askexch":"B","ask_date":1709931470000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00029000","description":"PLTR - Apr 26 2024 $29.00 Call","exch":"Z","type":"option","last":1.19,"change":-0.27,"volume":36,"open":1.49,"high":1.54,"low":1.12,"close":1.19,"bid":1.08,"ask":1.13,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.35004238199994625,"gamma":0.07002001916134151,"theta":-0.02145590517974878,"vega":0.035001698740412805,"rho":0.01069841085297317,"phi":-0.012202825612206425,"bid_iv":0.543318,"mid_iv":0.55046,"ask_iv":0.557603,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.50,"average_volume":0,"last_volume":3,"trade_date":1709926970166,"prevclose":1.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":182,"bidexch":"D","bid_date":1709931593000,"asksize":142,"askexch":"D","ask_date":1709931593000,"open_interest":183,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00029000","description":"PLTR - Apr 26 2024 $29.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.76,"ask":4.1,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.6499576180000538,"gamma":0.07002001916134151,"theta":-0.02145590517974878,"vega":0.035001698740412805,"rho":0.01069841085297317,"phi":-0.012202825612206425,"bid_iv":0.0,"mid_iv":0.617624,"ask_iv":0.617624,"smv_vol":0.548,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931593000,"asksize":14,"askexch":"B","ask_date":1709931565000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00029500","description":"PLTR - Apr 26 2024 $29.50 Call","exch":"Z","type":"option","last":1.05,"change":-0.22,"volume":10,"open":1.3,"high":1.34,"low":1.05,"close":1.05,"bid":0.96,"ask":1.01,"underlying":"PLTR","strike":29.5,"greeks":{"delta":0.32050972937837874,"gamma":0.06732783849668171,"theta":-0.020774394564843406,"vega":0.03336409825832386,"rho":0.009832090864403106,"phi":-0.011172164655626204,"bid_iv":0.546395,"mid_iv":0.553888,"ask_iv":0.561381,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.33,"average_volume":0,"last_volume":1,"trade_date":1709924665650,"prevclose":1.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":688,"bidexch":"D","bid_date":1709931559000,"asksize":153,"askexch":"X","ask_date":1709931583000,"open_interest":63,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00029500","description":"PLTR - Apr 26 2024 $29.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.1,"ask":4.85,"underlying":"PLTR","strike":29.5,"greeks":{"delta":-0.6794902706216213,"gamma":0.06732783849668171,"theta":-0.020774394564843406,"vega":0.03336409825832386,"rho":0.009832090864403106,"phi":-0.011172164655626204,"bid_iv":0.0,"mid_iv":0.740746,"ask_iv":0.740746,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":81,"bidexch":"X","bid_date":1709931594000,"asksize":18,"askexch":"B","ask_date":1709931492000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00030000","description":"PLTR - Apr 26 2024 $30.00 Put","exch":"Z","type":"option","last":4.06,"change":null,"volume":1,"open":4.06,"high":4.06,"low":4.06,"close":4.06,"bid":4.25,"ask":5.3,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7070095118705304,"gamma":0.06436039013492299,"theta":-0.02000698665906508,"vega":0.033744754547740397,"rho":0.009017638683171961,"phi":-0.010211930060455288,"bid_iv":0.324158,"mid_iv":0.540028,"ask_iv":0.755899,"smv_vol":0.561,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709909664616,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":312,"bidexch":"X","bid_date":1709931599000,"asksize":14,"askexch":"B","ask_date":1709931600000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00030000","description":"PLTR - Apr 26 2024 $30.00 Call","exch":"Z","type":"option","last":0.88,"change":-0.22,"volume":596,"open":1.19,"high":1.3,"low":0.87,"close":0.88,"bid":0.85,"ask":0.9,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.29299048812946965,"gamma":0.06436039013492299,"theta":-0.02000698665906508,"vega":0.033744754547740397,"rho":0.009017638683171961,"phi":-0.010211930060455288,"bid_iv":0.548794,"mid_iv":0.556379,"ask_iv":0.563964,"smv_vol":0.561,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":1,"trade_date":1709931070070,"prevclose":1.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":442,"bidexch":"E","bid_date":1709931589000,"asksize":348,"askexch":"D","ask_date":1709931590000,"open_interest":182,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00030500","description":"PLTR - Apr 26 2024 $30.50 Call","exch":"Z","type":"option","last":0.85,"change":-0.22,"volume":96,"open":1.1,"high":1.1,"low":0.85,"close":0.85,"bid":0.75,"ask":0.8,"underlying":"PLTR","strike":30.5,"greeks":{"delta":0.26762350835524423,"gamma":0.0611969975100553,"theta":-0.019180369126546318,"vega":0.031825124851928246,"rho":0.008260713311015666,"phi":-0.009326944320209307,"bid_iv":0.556369,"mid_iv":0.561081,"ask_iv":0.565794,"smv_vol":0.569,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.57,"average_volume":0,"last_volume":1,"trade_date":1709919780187,"prevclose":1.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":729,"bidexch":"E","bid_date":1709931599000,"asksize":12,"askexch":"B","ask_date":1709931578000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00030500","description":"PLTR - Apr 26 2024 $30.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.7,"ask":5.65,"underlying":"PLTR","strike":30.5,"greeks":{"delta":-0.7323764916447558,"gamma":0.0611969975100553,"theta":-0.019180369126546318,"vega":0.031825124851928246,"rho":0.008260713311015666,"phi":-0.009326944320209307,"bid_iv":0.0,"mid_iv":0.759298,"ask_iv":0.759298,"smv_vol":0.569,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"B","bid_date":1709931592000,"asksize":14,"askexch":"B","ask_date":1709931592000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00031000","description":"PLTR - Apr 26 2024 $31.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.35,"ask":5.95,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.7561513399715948,"gamma":0.057974366354985166,"theta":-0.01832296369296784,"vega":0.02971595301910297,"rho":0.00754806796718026,"phi":-0.008497593859679853,"bid_iv":0.0,"mid_iv":0.735156,"ask_iv":0.735156,"smv_vol":0.575,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1709931564000,"asksize":10,"askexch":"J","ask_date":1709931564000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00031000","description":"PLTR - Apr 26 2024 $31.00 Call","exch":"Z","type":"option","last":1.01,"change":-0.01,"volume":24,"open":0.97,"high":1.01,"low":0.97,"close":1.01,"bid":0.67,"ask":0.72,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.2438486600284052,"gamma":0.057974366354985166,"theta":-0.01832296369296784,"vega":0.02971595301910297,"rho":0.00754806796718026,"phi":-0.008497593859679853,"bid_iv":0.554526,"mid_iv":0.561257,"ask_iv":0.567988,"smv_vol":0.575,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-0.98,"average_volume":0,"last_volume":1,"trade_date":1709911548056,"prevclose":1.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":278,"bidexch":"D","bid_date":1709931565000,"asksize":385,"askexch":"E","ask_date":1709931599000,"open_interest":11,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426C00031500","description":"PLTR - Apr 26 2024 $31.50 Call","exch":"Z","type":"option","last":0.61,"change":-0.26,"volume":9,"open":0.96,"high":0.96,"low":0.61,"close":0.61,"bid":0.59,"ask":0.64,"underlying":"PLTR","strike":31.5,"greeks":{"delta":0.22194677398715418,"gamma":0.05470285209083237,"theta":-0.017459035024278553,"vega":0.027454565684343183,"rho":0.00688773959682692,"phi":-0.0077336846038278395,"bid_iv":0.5632,"mid_iv":0.566842,"ask_iv":0.570484,"smv_vol":0.579,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-29.89,"average_volume":0,"last_volume":1,"trade_date":1709923219484,"prevclose":0.87,"week_52_high":0.0,"week_52_low":0.0,"bidsize":672,"bidexch":"E","bid_date":1709931597000,"asksize":111,"askexch":"D","ask_date":1709931568000,"open_interest":7,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00031500","description":"PLTR - Apr 26 2024 $31.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.8,"ask":6.45,"underlying":"PLTR","strike":31.5,"greeks":{"delta":-0.7780532260128458,"gamma":0.05470285209083237,"theta":-0.017459035024278553,"vega":0.027454565684343183,"rho":0.00688773959682692,"phi":-0.0077336846038278395,"bid_iv":0.0,"mid_iv":0.753491,"ask_iv":0.753491,"smv_vol":0.579,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"J","bid_date":1709931511000,"asksize":18,"askexch":"B","ask_date":1709931437000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426P00032000","description":"PLTR - Apr 26 2024 $32.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.5,"ask":7.3,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.7979006437507579,"gamma":0.05142460053628448,"theta":-0.016590099651507494,"vega":0.027737572710072267,"rho":0.0062855499839699226,"phi":-0.007041542191554839,"bid_iv":0.0,"mid_iv":1.018708,"ask_iv":1.018708,"smv_vol":0.583,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931592000,"asksize":188,"askexch":"E","ask_date":1709931591000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00032000","description":"PLTR - Apr 26 2024 $32.00 Call","exch":"Z","type":"option","last":0.56,"change":null,"volume":5,"open":0.84,"high":0.87,"low":0.56,"close":0.56,"bid":0.53,"ask":0.58,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.20209935624924213,"gamma":0.05142460053628448,"theta":-0.016590099651507494,"vega":0.027737572710072267,"rho":0.0062855499839699226,"phi":-0.007041542191554839,"bid_iv":0.562359,"mid_iv":0.569568,"ask_iv":0.576777,"smv_vol":0.583,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709923219484,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":129,"bidexch":"D","bid_date":1709931580000,"asksize":503,"askexch":"E","ask_date":1709931597000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00033000","description":"PLTR - Apr 26 2024 $33.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.9,"ask":9.05,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.8328065738653585,"gamma":0.045091469152511145,"theta":-0.01488266935971901,"vega":0.022952989801601494,"rho":0.0052205800209859845,"phi":-0.005824459940462212,"bid_iv":0.0,"mid_iv":1.112138,"ask_iv":1.112138,"smv_vol":0.591,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"N","bid_date":1709931595000,"asksize":224,"askexch":"E","ask_date":1709931595000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00033000","description":"PLTR - Apr 26 2024 $33.00 Call","exch":"Z","type":"option","last":0.45,"change":null,"volume":2,"open":0.47,"high":0.47,"low":0.45,"close":0.45,"bid":0.39,"ask":0.46,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.1671934261346415,"gamma":0.045091469152511145,"theta":-0.01488266935971901,"vega":0.022952989801601494,"rho":0.0052205800209859845,"phi":-0.005824459940462212,"bid_iv":0.573337,"mid_iv":0.57987,"ask_iv":0.586404,"smv_vol":0.591,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709929728127,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":404,"bidexch":"X","bid_date":1709931599000,"asksize":220,"askexch":"E","ask_date":1709931589000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00034000","description":"PLTR - Apr 26 2024 $34.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.05,"ask":8.8,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.8616152674475831,"gamma":0.03920468179442436,"theta":-0.01325421672273491,"vega":0.020762731438355178,"rho":0.004335058744847425,"phi":-0.004820203605704343,"bid_iv":0.0,"mid_iv":0.800481,"ask_iv":0.800481,"smv_vol":0.599,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":163,"bidexch":"X","bid_date":1709931598000,"asksize":80,"askexch":"X","ask_date":1709931598000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00034000","description":"PLTR - Apr 26 2024 $34.00 Call","exch":"Z","type":"option","last":0.36,"change":null,"volume":6,"open":0.56,"high":0.56,"low":0.36,"close":0.36,"bid":0.34,"ask":0.41,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.13838473255241693,"gamma":0.03920468179442436,"theta":-0.01325421672273491,"vega":0.020762731438355178,"rho":0.004335058744847425,"phi":-0.004820203605704343,"bid_iv":0.579701,"mid_iv":0.589337,"ask_iv":0.598972,"smv_vol":0.599,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709928800924,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"D","bid_date":1709931583000,"asksize":355,"askexch":"E","ask_date":1709931597000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240426P00035000","description":"PLTR - Apr 26 2024 $35.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.95,"ask":9.6,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.8848683138300685,"gamma":0.03393344012426611,"theta":-0.011797969614321922,"vega":0.018556380724278083,"rho":0.0036155868170535247,"phi":-0.004009795804282845,"bid_iv":0.0,"mid_iv":0.833338,"ask_iv":0.833338,"smv_vol":0.607,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931569000,"asksize":10,"askexch":"J","ask_date":1709931584000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240426C00035000","description":"PLTR - Apr 26 2024 $35.00 Call","exch":"Z","type":"option","last":0.3,"change":null,"volume":49,"open":0.41,"high":0.46,"low":0.3,"close":0.3,"bid":0.27,"ask":0.31,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.11513168616993157,"gamma":0.03393344012426611,"theta":-0.011797969614321922,"vega":0.018556380724278083,"rho":0.0036155868170535247,"phi":-0.004009795804282845,"bid_iv":0.586448,"mid_iv":0.597227,"ask_iv":0.608007,"smv_vol":0.607,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709930167684,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":235,"bidexch":"E","bid_date":1709931589000,"asksize":437,"askexch":"E","ask_date":1709931596000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-26","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '197' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '3' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-10-18&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR241018P00013000","description":"PLTR - Oct 18 2024 $13.00 Put","exch":"Z","type":"option","last":0.33,"change":-0.02,"volume":6,"open":0.33,"high":0.33,"low":0.33,"close":0.33,"bid":0.31,"ask":0.35,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0421176051715562,"gamma":0.007026707763056306,"theta":-0.004246047628020672,"vega":0.017525043470146547,"rho":0.06878149995980753,"phi":-0.15303935166244287,"bid_iv":0.649141,"mid_iv":0.658965,"ask_iv":0.668789,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.72,"average_volume":0,"last_volume":1,"trade_date":1709912181423,"prevclose":0.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":716,"bidexch":"C","bid_date":1709931587000,"asksize":129,"askexch":"E","ask_date":1709931579000,"open_interest":58,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00013000","description":"PLTR - Oct 18 2024 $13.00 Call","exch":"Z","type":"option","last":14.72,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.65,"ask":13.85,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9578823948284438,"gamma":0.007026707763056306,"theta":-0.004246047628020672,"vega":0.017525043470146547,"rho":0.06878149995980753,"phi":-0.15303935166244287,"bid_iv":0.433887,"mid_iv":0.55479,"ask_iv":0.675694,"smv_vol":0.65,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709834492297,"prevclose":14.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"N","bid_date":1709931586000,"asksize":15,"askexch":"M","ask_date":1709931559000,"open_interest":2,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00014000","description":"PLTR - Oct 18 2024 $14.00 Put","exch":"Z","type":"option","last":0.43,"change":-0.04,"volume":1,"open":0.43,"high":0.43,"low":0.43,"close":0.43,"bid":0.43,"ask":0.46,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0574607309013916,"gamma":0.009013048568339928,"theta":-0.0050350401334928905,"vega":0.024040116634753816,"rho":0.07152968962375073,"phi":-0.15058465068662485,"bid_iv":0.644322,"mid_iv":0.650477,"ask_iv":0.656631,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.52,"average_volume":0,"last_volume":1,"trade_date":1709909903276,"prevclose":0.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":754,"bidexch":"C","bid_date":1709931592000,"asksize":376,"askexch":"E","ask_date":1709931555000,"open_interest":2016,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00014000","description":"PLTR - Oct 18 2024 $14.00 Call","exch":"Z","type":"option","last":11.92,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.9,"ask":13.05,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9425392690986084,"gamma":0.009013048568339928,"theta":-0.0050350401334928905,"vega":0.024040116634753816,"rho":0.07152968962375073,"phi":-0.15058465068662485,"bid_iv":0.548209,"mid_iv":0.618767,"ask_iv":0.689324,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709312347649,"prevclose":11.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931592000,"asksize":22,"askexch":"M","ask_date":1709931510000,"open_interest":11,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00015000","description":"PLTR - Oct 18 2024 $15.00 Put","exch":"Z","type":"option","last":0.59,"change":-0.03,"volume":26,"open":0.58,"high":0.6,"low":0.57,"close":0.59,"bid":0.58,"ask":0.6,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0753169590169579,"gamma":0.011134724924649357,"theta":-0.005854212236637722,"vega":0.028291913970220774,"rho":0.07369616165371888,"phi":-0.14772818655472975,"bid_iv":0.640817,"mid_iv":0.64404,"ask_iv":0.647264,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.84,"average_volume":0,"last_volume":1,"trade_date":1709920874378,"prevclose":0.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":18,"bidexch":"T","bid_date":1709931556000,"asksize":110,"askexch":"D","ask_date":1709931589000,"open_interest":77,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00015000","description":"PLTR - Oct 18 2024 $15.00 Call","exch":"Z","type":"option","last":12.91,"change":0.00,"volume":6,"open":null,"high":null,"low":null,"close":null,"bid":12.05,"ask":12.25,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9246830409830421,"gamma":0.011134724924649357,"theta":-0.005854212236637722,"vega":0.028291913970220774,"rho":0.07369616165371888,"phi":-0.14772818655472975,"bid_iv":0.548245,"mid_iv":0.61723,"ask_iv":0.686215,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709836244742,"prevclose":12.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"C","bid_date":1709931573000,"asksize":21,"askexch":"M","ask_date":1709931571000,"open_interest":28,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00016000","description":"PLTR - Oct 18 2024 $16.00 Put","exch":"Z","type":"option","last":0.78,"change":-0.03,"volume":62,"open":0.75,"high":0.78,"low":0.75,"close":0.78,"bid":0.75,"ask":0.78,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0954874194413199,"gamma":0.013335611019730794,"theta":-0.006682050768381684,"vega":0.03633176080361954,"rho":0.075305356669928,"phi":-0.14450183011049944,"bid_iv":0.633534,"mid_iv":0.637632,"ask_iv":0.64173,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.71,"average_volume":0,"last_volume":1,"trade_date":1709914785505,"prevclose":0.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":208,"bidexch":"D","bid_date":1709931589000,"asksize":258,"askexch":"D","ask_date":1709931589000,"open_interest":20,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00016000","description":"PLTR - Oct 18 2024 $16.00 Call","exch":"Z","type":"option","last":12.26,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.25,"ask":11.45,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9045125805586801,"gamma":0.013335611019730794,"theta":-0.006682050768381684,"vega":0.03633176080361954,"rho":0.075305356669928,"phi":-0.14450183011049944,"bid_iv":0.616202,"mid_iv":0.64383,"ask_iv":0.671458,"smv_vol":0.638,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709827309742,"prevclose":12.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":61,"bidexch":"Z","bid_date":1709931558000,"asksize":34,"askexch":"C","ask_date":1709931560000,"open_interest":65,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00017000","description":"PLTR - Oct 18 2024 $17.00 Put","exch":"Z","type":"option","last":0.97,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.96,"ask":0.99,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1180648028943524,"gamma":0.0155657801369563,"theta":-0.007499841102481597,"vega":0.041299628959370074,"rho":0.07630648429192602,"phi":-0.1408908421041133,"bid_iv":0.629489,"mid_iv":0.633103,"ask_iv":0.636717,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709836765254,"prevclose":0.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":197,"bidexch":"B","bid_date":1709931585000,"asksize":203,"askexch":"D","ask_date":1709931598000,"open_interest":124,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00017000","description":"PLTR - Oct 18 2024 $17.00 Call","exch":"Z","type":"option","last":11.6,"change":0.65,"volume":10,"open":11.6,"high":11.6,"low":11.6,"close":11.6,"bid":10.5,"ask":10.6,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8819351971056476,"gamma":0.0155657801369563,"theta":-0.007499841102481597,"vega":0.041299628959370074,"rho":0.07630648429192602,"phi":-0.1408908421041133,"bid_iv":0.617042,"mid_iv":0.629128,"ask_iv":0.641214,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.94,"average_volume":0,"last_volume":5,"trade_date":1709909468947,"prevclose":10.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":403,"bidexch":"E","bid_date":1709931573000,"asksize":95,"askexch":"E","ask_date":1709931573000,"open_interest":772,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00018000","description":"PLTR - Oct 18 2024 $18.00 Put","exch":"Z","type":"option","last":1.21,"change":0.02,"volume":171,"open":1.25,"high":1.25,"low":1.21,"close":1.21,"bid":1.21,"ask":1.23,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1426165757344554,"gamma":0.01776662378922684,"theta":-0.008287792920264922,"vega":0.04636659731417634,"rho":0.07677654024663384,"phi":-0.13696443838639993,"bid_iv":0.624788,"mid_iv":0.627998,"ask_iv":0.631208,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.69,"average_volume":0,"last_volume":159,"trade_date":1709916977056,"prevclose":1.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"Z","bid_date":1709931568000,"asksize":33,"askexch":"D","ask_date":1709931588000,"open_interest":54,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00018000","description":"PLTR - Oct 18 2024 $18.00 Call","exch":"Z","type":"option","last":10.2,"change":-0.18,"volume":13,"open":10.75,"high":10.75,"low":10.2,"close":10.2,"bid":9.8,"ask":9.85,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8573834242655446,"gamma":0.01776662378922684,"theta":-0.008287792920264922,"vega":0.04636659731417634,"rho":0.07677654024663384,"phi":-0.13696443838639993,"bid_iv":0.620354,"mid_iv":0.631136,"ask_iv":0.641917,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.74,"average_volume":0,"last_volume":1,"trade_date":1709914269703,"prevclose":10.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":62,"bidexch":"D","bid_date":1709931591000,"asksize":5,"askexch":"C","ask_date":1709931588000,"open_interest":644,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00019000","description":"PLTR - Oct 18 2024 $19.00 Put","exch":"Z","type":"option","last":1.44,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":1.49,"ask":1.51,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1688160726698872,"gamma":0.01989768386591051,"theta":-0.009033966528778702,"vega":0.05145282982028442,"rho":0.0767727823590074,"phi":-0.13277487020957324,"bid_iv":0.62174,"mid_iv":0.624632,"ask_iv":0.627523,"smv_vol":0.625,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709827315312,"prevclose":1.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"A","bid_date":1709931563000,"asksize":1,"askexch":"Z","ask_date":1709931563000,"open_interest":23,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00019000","description":"PLTR - Oct 18 2024 $19.00 Call","exch":"Z","type":"option","last":9.3,"change":0.00,"volume":21,"open":null,"high":null,"low":null,"close":null,"bid":9.1,"ask":9.2,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8311839273301128,"gamma":0.01989768386591051,"theta":-0.009033966528778702,"vega":0.05145282982028442,"rho":0.0767727823590074,"phi":-0.13277487020957324,"bid_iv":0.616172,"mid_iv":0.625892,"ask_iv":0.635611,"smv_vol":0.625,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709752532045,"prevclose":9.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":137,"bidexch":"C","bid_date":1709931582000,"asksize":235,"askexch":"E","ask_date":1709931585000,"open_interest":44,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00020000","description":"PLTR - Oct 18 2024 $20.00 Put","exch":"Z","type":"option","last":1.83,"change":0.11,"volume":115,"open":1.72,"high":1.83,"low":1.72,"close":1.83,"bid":1.81,"ask":1.84,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1964884391986312,"gamma":0.021911910687668498,"theta":-0.009722969228771316,"vega":0.056425736704897346,"rho":0.07630521055612798,"phi":-0.12835015690271234,"bid_iv":0.619416,"mid_iv":0.622939,"ask_iv":0.626463,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.40,"average_volume":0,"last_volume":100,"trade_date":1709914687683,"prevclose":1.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":8,"bidexch":"Z","bid_date":1709931589000,"asksize":163,"askexch":"B","ask_date":1709931510000,"open_interest":248,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00020000","description":"PLTR - Oct 18 2024 $20.00 Call","exch":"Z","type":"option","last":8.54,"change":-0.72,"volume":4,"open":8.85,"high":8.85,"low":8.54,"close":8.54,"bid":8.45,"ask":8.55,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8035115608013688,"gamma":0.021911910687668498,"theta":-0.009722969228771316,"vega":0.056425736704897346,"rho":0.07630521055612798,"phi":-0.12835015690271234,"bid_iv":0.614844,"mid_iv":0.623707,"ask_iv":0.63257,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.78,"average_volume":0,"last_volume":1,"trade_date":1709915249967,"prevclose":9.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":170,"bidexch":"D","bid_date":1709931584000,"asksize":64,"askexch":"X","ask_date":1709931584000,"open_interest":572,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00021000","description":"PLTR - Oct 18 2024 $21.00 Put","exch":"Z","type":"option","last":2.12,"change":0.01,"volume":1190,"open":2.01,"high":2.18,"low":2.01,"close":2.12,"bid":2.17,"ask":2.2,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2252819868869778,"gamma":0.023781750354142102,"theta":-0.01034843782803454,"vega":0.06117787325700256,"rho":0.07543982835566126,"phi":-0.12374653201696617,"bid_iv":0.617906,"mid_iv":0.621155,"ask_iv":0.624405,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.48,"average_volume":0,"last_volume":4,"trade_date":1709928290530,"prevclose":2.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1709931600000,"asksize":67,"askexch":"B","ask_date":1709931595000,"open_interest":162,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00021000","description":"PLTR - Oct 18 2024 $21.00 Call","exch":"Z","type":"option","last":8.66,"change":0.13,"volume":2,"open":8.66,"high":8.66,"low":8.66,"close":8.66,"bid":7.55,"ask":7.9,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7747180131130222,"gamma":0.023781750354142102,"theta":-0.01034843782803454,"vega":0.06117787325700256,"rho":0.07543982835566126,"phi":-0.12374653201696617,"bid_iv":0.615974,"mid_iv":0.620062,"ask_iv":0.62415,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.53,"average_volume":0,"last_volume":2,"trade_date":1709909928693,"prevclose":8.53,"week_52_high":0.0,"week_52_low":0.0,"bidsize":486,"bidexch":"E","bid_date":1709931599000,"asksize":14,"askexch":"D","ask_date":1709931597000,"open_interest":83,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00022000","description":"PLTR - Oct 18 2024 $22.00 Put","exch":"Z","type":"option","last":2.58,"change":0.12,"volume":674,"open":2.55,"high":2.58,"low":2.55,"close":2.58,"bid":2.56,"ask":2.6,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2549475124958613,"gamma":0.025471982795629813,"theta":-0.010900472601711623,"vega":0.06557774994901025,"rho":0.07420685960068897,"phi":-0.11900386517105233,"bid_iv":0.616832,"mid_iv":0.61986,"ask_iv":0.622889,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.88,"average_volume":0,"last_volume":1,"trade_date":1709931206805,"prevclose":2.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":764,"bidexch":"E","bid_date":1709931594000,"asksize":5,"askexch":"J","ask_date":1709931565000,"open_interest":54,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00022000","description":"PLTR - Oct 18 2024 $22.00 Call","exch":"Z","type":"option","last":7.91,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":7.25,"ask":7.35,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7450524875041387,"gamma":0.025471982795629813,"theta":-0.010900472601711623,"vega":0.06557774994901025,"rho":0.07420685960068897,"phi":-0.11900386517105233,"bid_iv":0.611234,"mid_iv":0.618861,"ask_iv":0.626488,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709832225279,"prevclose":7.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":301,"bidexch":"C","bid_date":1709931582000,"asksize":452,"askexch":"E","ask_date":1709931576000,"open_interest":23,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018C00023000","description":"PLTR - Oct 18 2024 $23.00 Call","exch":"Z","type":"option","last":7.29,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.7,"ask":6.8,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7148353102389741,"gamma":0.026971744282567666,"theta":-0.011378884095409708,"vega":0.06951185385587512,"rho":0.07267103957204522,"phi":-0.11417336284402779,"bid_iv":0.609212,"mid_iv":0.616407,"ask_iv":0.623602,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709843219578,"prevclose":7.29,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1026,"bidexch":"X","bid_date":1709931595000,"asksize":330,"askexch":"X","ask_date":1709931560000,"open_interest":85,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00023000","description":"PLTR - Oct 18 2024 $23.00 Put","exch":"Z","type":"option","last":2.93,"change":0.06,"volume":814,"open":2.87,"high":3.0,"low":2.87,"close":2.93,"bid":3.0,"ask":3.05,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2851646897610259,"gamma":0.026971744282567666,"theta":-0.011378884095409708,"vega":0.06951185385587512,"rho":0.07267103957204522,"phi":-0.11417336284402779,"bid_iv":0.616443,"mid_iv":0.620017,"ask_iv":0.623591,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.10,"average_volume":0,"last_volume":1,"trade_date":1709927356054,"prevclose":2.87,"week_52_high":0.0,"week_52_low":0.0,"bidsize":441,"bidexch":"D","bid_date":1709931598000,"asksize":168,"askexch":"D","ask_date":1709931598000,"open_interest":772,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018P00024000","description":"PLTR - Oct 18 2024 $24.00 Put","exch":"Z","type":"option","last":3.47,"change":0.02,"volume":1,"open":3.47,"high":3.47,"low":3.47,"close":3.47,"bid":3.45,"ask":3.55,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3156744639212427,"gamma":0.028264148277414736,"theta":-0.011780326294305895,"vega":0.07286666262694651,"rho":0.07087374934119581,"phi":-0.10929643823764934,"bid_iv":0.612566,"mid_iv":0.619393,"ask_iv":0.62622,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.58,"average_volume":0,"last_volume":1,"trade_date":1709920429796,"prevclose":3.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1509,"bidexch":"E","bid_date":1709931598000,"asksize":1337,"askexch":"C","ask_date":1709931592000,"open_interest":614,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00024000","description":"PLTR - Oct 18 2024 $24.00 Call","exch":"Z","type":"option","last":6.2,"change":-0.88,"volume":9,"open":6.95,"high":6.95,"low":6.2,"close":6.2,"bid":6.2,"ask":6.3,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6843255360787573,"gamma":0.028264148277414736,"theta":-0.011780326294305895,"vega":0.07286666262694651,"rho":0.07087374934119581,"phi":-0.10929643823764934,"bid_iv":0.609467,"mid_iv":0.61633,"ask_iv":0.623193,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.43,"average_volume":0,"last_volume":1,"trade_date":1709923643317,"prevclose":7.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1079,"bidexch":"X","bid_date":1709931595000,"asksize":469,"askexch":"E","ask_date":1709931584000,"open_interest":163,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00025000","description":"PLTR - Oct 18 2024 $25.00 Put","exch":"Z","type":"option","last":3.97,"change":0.02,"volume":1,"open":3.97,"high":3.97,"low":3.97,"close":3.97,"bid":3.95,"ask":4.05,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3462355048529376,"gamma":0.029353528707726638,"theta":-0.012108946236444368,"vega":0.07554730547057718,"rho":0.06886959161411779,"phi":-0.10441164869590125,"bid_iv":0.611181,"mid_iv":0.617774,"ask_iv":0.624367,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.51,"average_volume":0,"last_volume":1,"trade_date":1709919219577,"prevclose":3.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1095,"bidexch":"X","bid_date":1709931595000,"asksize":344,"askexch":"E","ask_date":1709931595000,"open_interest":34,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00025000","description":"PLTR - Oct 18 2024 $25.00 Call","exch":"Z","type":"option","last":5.83,"change":-0.47,"volume":127,"open":6.39,"high":6.39,"low":5.75,"close":5.83,"bid":5.75,"ask":5.85,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6537644951470624,"gamma":0.029353528707726638,"theta":-0.012108946236444368,"vega":0.07554730547057718,"rho":0.06886959161411779,"phi":-0.10441164869590125,"bid_iv":0.612076,"mid_iv":0.618696,"ask_iv":0.625317,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.46,"average_volume":0,"last_volume":19,"trade_date":1709922603085,"prevclose":6.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":278,"bidexch":"C","bid_date":1709931593000,"asksize":1072,"askexch":"E","ask_date":1709931590000,"open_interest":540,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00026000","description":"PLTR - Oct 18 2024 $26.00 Put","exch":"Z","type":"option","last":4.55,"change":0.30,"volume":22,"open":4.23,"high":4.57,"low":4.23,"close":4.55,"bid":4.5,"ask":4.6,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.3766297449800864,"gamma":0.030231420453046696,"theta":-0.012363583059312974,"vega":0.07747374951539239,"rho":0.0666930799366579,"phi":-0.09955385111837245,"bid_iv":0.612072,"mid_iv":0.618511,"ask_iv":0.62495,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.06,"average_volume":0,"last_volume":1,"trade_date":1709917778606,"prevclose":4.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1224,"bidexch":"E","bid_date":1709931584000,"asksize":899,"askexch":"C","ask_date":1709931592000,"open_interest":31,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00026000","description":"PLTR - Oct 18 2024 $26.00 Call","exch":"Z","type":"option","last":5.4,"change":-0.30,"volume":5,"open":5.95,"high":5.95,"low":5.3,"close":5.4,"bid":5.3,"ask":5.4,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.6233702550199136,"gamma":0.030231420453046696,"theta":-0.012363583059312974,"vega":0.07747374951539239,"rho":0.0666930799366579,"phi":-0.09955385111837245,"bid_iv":0.610432,"mid_iv":0.616887,"ask_iv":0.623342,"smv_vol":0.618,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.27,"average_volume":0,"last_volume":1,"trade_date":1709930609049,"prevclose":5.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":687,"bidexch":"X","bid_date":1709931597000,"asksize":668,"askexch":"X","ask_date":1709931597000,"open_interest":305,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00027000","description":"PLTR - Oct 18 2024 $27.00 Put","exch":"Z","type":"option","last":5.11,"change":0.16,"volume":5,"open":4.89,"high":5.11,"low":4.75,"close":5.11,"bid":5.05,"ask":5.2,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.406517214596526,"gamma":0.030858668289679623,"theta":-0.012531303667058003,"vega":0.07936790020415953,"rho":0.06436769820004117,"phi":-0.09477742294095037,"bid_iv":0.614551,"mid_iv":0.620855,"ask_iv":0.627158,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.24,"average_volume":0,"last_volume":1,"trade_date":1709916516678,"prevclose":4.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1178,"bidexch":"E","bid_date":1709931593000,"asksize":1253,"askexch":"C","ask_date":1709931593000,"open_interest":102,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00027000","description":"PLTR - Oct 18 2024 $27.00 Call","exch":"Z","type":"option","last":5.05,"change":-0.30,"volume":65,"open":5.05,"high":5.57,"low":4.95,"close":5.05,"bid":4.9,"ask":5.0,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.593482785403474,"gamma":0.030858668289679623,"theta":-0.012531303667058003,"vega":0.07936790020415953,"rho":0.06436769820004117,"phi":-0.09477742294095037,"bid_iv":0.6106,"mid_iv":0.616901,"ask_iv":0.623202,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.61,"average_volume":0,"last_volume":1,"trade_date":1709922417965,"prevclose":5.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":974,"bidexch":"C","bid_date":1709931592000,"asksize":991,"askexch":"E","ask_date":1709931582000,"open_interest":358,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00028000","description":"PLTR - Oct 18 2024 $28.00 Put","exch":"Z","type":"option","last":5.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.7,"ask":5.8,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.4358099306080734,"gamma":0.031299491712408235,"theta":-0.01263673401354913,"vega":0.08043513452198724,"rho":0.06196698495618835,"phi":-0.09009632108814003,"bid_iv":0.613335,"mid_iv":0.619569,"ask_iv":0.625803,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1709833124641,"prevclose":5.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":200,"bidexch":"E","bid_date":1709931584000,"asksize":427,"askexch":"E","ask_date":1709931594000,"open_interest":255,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00028000","description":"PLTR - Oct 18 2024 $28.00 Call","exch":"Z","type":"option","last":4.56,"change":-0.57,"volume":6,"open":5.05,"high":5.05,"low":4.56,"close":4.56,"bid":4.55,"ask":4.6,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.5641900693919266,"gamma":0.031299491712408235,"theta":-0.01263673401354913,"vega":0.08043513452198724,"rho":0.06196698495618835,"phi":-0.09009632108814003,"bid_iv":0.613602,"mid_iv":0.619822,"ask_iv":0.626041,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.12,"average_volume":0,"last_volume":5,"trade_date":1709918684735,"prevclose":5.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":125,"bidexch":"B","bid_date":1709931595000,"asksize":123,"askexch":"D","ask_date":1709931593000,"open_interest":252,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00029000","description":"PLTR - Oct 18 2024 $29.00 Put","exch":"Z","type":"option","last":6.33,"change":0.21,"volume":3,"open":5.9,"high":6.33,"low":5.9,"close":6.33,"bid":6.3,"ask":6.45,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.4644586144257807,"gamma":0.03157829654848235,"theta":-0.012688985466412233,"vega":0.08064715208680166,"rho":0.05951963490377128,"phi":-0.08551838571513315,"bid_iv":0.60894,"mid_iv":0.618276,"ask_iv":0.627612,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.44,"average_volume":0,"last_volume":1,"trade_date":1709914676072,"prevclose":6.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1179,"bidexch":"X","bid_date":1709931599000,"asksize":1263,"askexch":"C","ask_date":1709931592000,"open_interest":76,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00029000","description":"PLTR - Oct 18 2024 $29.00 Call","exch":"Z","type":"option","last":4.3,"change":-0.46,"volume":8,"open":4.4,"high":4.4,"low":4.3,"close":4.3,"bid":4.2,"ask":4.3,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.5355413855742193,"gamma":0.03157829654848235,"theta":-0.012688985466412233,"vega":0.08064715208680166,"rho":0.05951963490377128,"phi":-0.08551838571513315,"bid_iv":0.613631,"mid_iv":0.619833,"ask_iv":0.626036,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.67,"average_volume":0,"last_volume":3,"trade_date":1709916552343,"prevclose":4.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":184,"bidexch":"C","bid_date":1709931560000,"asksize":1518,"askexch":"X","ask_date":1709931577000,"open_interest":359,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00030000","description":"PLTR - Oct 18 2024 $30.00 Put","exch":"Z","type":"option","last":6.6,"change":0.00,"volume":151,"open":null,"high":null,"low":null,"close":null,"bid":7.0,"ask":7.1,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.4922981202894486,"gamma":0.03168645942484215,"theta":-0.012685552803597972,"vega":0.08241588381680874,"rho":0.05704205276720909,"phi":-0.08107001156165694,"bid_iv":0.613789,"mid_iv":0.619947,"ask_iv":0.626105,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709828181914,"prevclose":6.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":187,"bidexch":"B","bid_date":1709931582000,"asksize":163,"askexch":"B","ask_date":1709931584000,"open_interest":173,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00030000","description":"PLTR - Oct 18 2024 $30.00 Call","exch":"Z","type":"option","last":3.94,"change":-0.46,"volume":42,"open":4.39,"high":4.55,"low":3.85,"close":3.94,"bid":3.85,"ask":3.95,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.5077018797105514,"gamma":0.03168645942484215,"theta":-0.012685552803597972,"vega":0.08241588381680874,"rho":0.05704205276720909,"phi":-0.08107001156165694,"bid_iv":0.61683,"mid_iv":0.619864,"ask_iv":0.622897,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.46,"average_volume":0,"last_volume":2,"trade_date":1709930379842,"prevclose":4.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1708,"bidexch":"E","bid_date":1709931578000,"asksize":757,"askexch":"E","ask_date":1709931578000,"open_interest":138,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00031000","description":"PLTR - Oct 18 2024 $31.00 Put","exch":"Z","type":"option","last":7.75,"change":-0.10,"volume":3,"open":7.45,"high":7.75,"low":7.45,"close":7.75,"bid":7.7,"ask":7.8,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.5188999945209843,"gamma":0.031593545881567056,"theta":-0.012613992722124625,"vega":0.08168447632193326,"rho":0.05456677532987002,"phi":-0.07681970928263837,"bid_iv":0.614572,"mid_iv":0.620792,"ask_iv":0.627011,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.28,"average_volume":0,"last_volume":1,"trade_date":1709915220938,"prevclose":7.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":695,"bidexch":"E","bid_date":1709931573000,"asksize":162,"askexch":"E","ask_date":1709931592000,"open_interest":110,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00031000","description":"PLTR - Oct 18 2024 $31.00 Call","exch":"Z","type":"option","last":4.12,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":3.6,"ask":3.65,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.4811000054790157,"gamma":0.031593545881567056,"theta":-0.012613992722124625,"vega":0.08168447632193326,"rho":0.05456677532987002,"phi":-0.07681970928263837,"bid_iv":0.616104,"mid_iv":0.619165,"ask_iv":0.622226,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709831318896,"prevclose":4.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"Q","bid_date":1709931583000,"asksize":195,"askexch":"E","ask_date":1709931591000,"open_interest":104,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00032000","description":"PLTR - Oct 18 2024 $32.00 Put","exch":"Z","type":"option","last":8.1,"change":0.00,"volume":131,"open":null,"high":null,"low":null,"close":null,"bid":8.45,"ask":8.55,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.544721810211135,"gamma":0.03140215262570309,"theta":-0.012512273455284679,"vega":0.0801100534741197,"rho":0.05211399648728452,"phi":-0.0726942008899556,"bid_iv":0.612896,"mid_iv":0.619258,"ask_iv":0.62562,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709836524111,"prevclose":8.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"I","bid_date":1709931596000,"asksize":464,"askexch":"E","ask_date":1709931596000,"open_interest":202,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00032000","description":"PLTR - Oct 18 2024 $32.00 Call","exch":"Z","type":"option","last":3.47,"change":-0.37,"volume":10,"open":3.94,"high":3.95,"low":3.45,"close":3.47,"bid":3.3,"ask":3.4,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.455278189788865,"gamma":0.03140215262570309,"theta":-0.012512273455284679,"vega":0.0801100534741197,"rho":0.05211399648728452,"phi":-0.0726942008899556,"bid_iv":0.613352,"mid_iv":0.619595,"ask_iv":0.625837,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.64,"average_volume":0,"last_volume":1,"trade_date":1709927023165,"prevclose":3.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1304,"bidexch":"E","bid_date":1709931582000,"asksize":1452,"askexch":"E","ask_date":1709931582000,"open_interest":109,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00033000","description":"PLTR - Oct 18 2024 $33.00 Put","exch":"Z","type":"option","last":8.7,"change":-0.25,"volume":1,"open":8.7,"high":8.7,"low":8.7,"close":8.7,"bid":9.15,"ask":9.25,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.5695258818281137,"gamma":0.03108857555619706,"theta":-0.012369801830007668,"vega":0.08169449537456307,"rho":0.049694778191743116,"phi":-0.0687315058645055,"bid_iv":0.614997,"mid_iv":0.621325,"ask_iv":0.627653,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.80,"average_volume":0,"last_volume":1,"trade_date":1709910919067,"prevclose":8.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"B","bid_date":1709931587000,"asksize":7,"askexch":"B","ask_date":1709931592000,"open_interest":16,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00033000","description":"PLTR - Oct 18 2024 $33.00 Call","exch":"Z","type":"option","last":3.55,"change":-0.05,"volume":36,"open":3.55,"high":3.55,"low":3.55,"close":3.55,"bid":3.05,"ask":3.15,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.4304741181718863,"gamma":0.03108857555619706,"theta":-0.012369801830007668,"vega":0.08169449537456307,"rho":0.049694778191743116,"phi":-0.0687315058645055,"bid_iv":0.614496,"mid_iv":0.620617,"ask_iv":0.626739,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.39,"average_volume":0,"last_volume":10,"trade_date":1709912179237,"prevclose":3.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1358,"bidexch":"E","bid_date":1709931582000,"asksize":1542,"askexch":"E","ask_date":1709931582000,"open_interest":69,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00034000","description":"PLTR - Oct 18 2024 $34.00 Put","exch":"Z","type":"option","last":12.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.9,"ask":10.05,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.5929026281352433,"gamma":0.030638024856779307,"theta":-0.012181311678107683,"vega":0.07921694144279783,"rho":0.04734590240762441,"phi":-0.06499708607776711,"bid_iv":0.613472,"mid_iv":0.623274,"ask_iv":0.633077,"smv_vol":0.622,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1708531025793,"prevclose":12.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"Z","bid_date":1709931591000,"asksize":178,"askexch":"E","ask_date":1709931599000,"open_interest":17,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00034000","description":"PLTR - Oct 18 2024 $34.00 Call","exch":"Z","type":"option","last":2.91,"change":-0.44,"volume":27,"open":3.3,"high":3.35,"low":2.88,"close":2.91,"bid":2.85,"ask":2.89,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.4070973718647567,"gamma":0.030638024856779307,"theta":-0.012181311678107683,"vega":0.07921694144279783,"rho":0.04734590240762441,"phi":-0.06499708607776711,"bid_iv":0.618406,"mid_iv":0.621563,"ask_iv":0.624719,"smv_vol":0.622,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.14,"average_volume":0,"last_volume":1,"trade_date":1709920399316,"prevclose":3.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"N","bid_date":1709931592000,"asksize":3,"askexch":"B","ask_date":1709931581000,"open_interest":168,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00035000","description":"PLTR - Oct 18 2024 $35.00 Put","exch":"Z","type":"option","last":10.75,"change":-1.00,"volume":1,"open":10.75,"high":10.75,"low":10.75,"close":10.75,"bid":10.7,"ask":10.8,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.6157082865263267,"gamma":0.030145017459361007,"theta":-0.011980141041019758,"vega":0.07602307938568538,"rho":0.045032813269470146,"phi":-0.061353982925282935,"bid_iv":0.616778,"mid_iv":0.623615,"ask_iv":0.630451,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.52,"average_volume":0,"last_volume":1,"trade_date":1709920720281,"prevclose":11.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931587000,"asksize":15,"askexch":"B","ask_date":1709931596000,"open_interest":98,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00035000","description":"PLTR - Oct 18 2024 $35.00 Call","exch":"Z","type":"option","last":2.73,"change":-0.17,"volume":50,"open":3.0,"high":3.2,"low":2.73,"close":2.73,"bid":2.64,"ask":2.68,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.3842917134736733,"gamma":0.030145017459361007,"theta":-0.011980141041019758,"vega":0.07602307938568538,"rho":0.045032813269470146,"phi":-0.061353982925282935,"bid_iv":0.620081,"mid_iv":0.622713,"ask_iv":0.625345,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.87,"average_volume":0,"last_volume":2,"trade_date":1709921446517,"prevclose":2.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"D","bid_date":1709931589000,"asksize":6,"askexch":"J","ask_date":1709931592000,"open_interest":1459,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018C00036000","description":"PLTR - Oct 18 2024 $36.00 Call","exch":"Z","type":"option","last":2.54,"change":-0.32,"volume":1,"open":2.54,"high":2.54,"low":2.54,"close":2.54,"bid":2.42,"ask":2.49,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.3631419566473991,"gamma":0.02953189804447048,"theta":-0.011739601414707436,"vega":0.07738428712169146,"rho":0.04282480710804837,"phi":-0.057975652349995244,"bid_iv":0.621255,"mid_iv":0.624486,"ask_iv":0.627717,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.19,"average_volume":0,"last_volume":1,"trade_date":1709920188996,"prevclose":2.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"B","bid_date":1709931598000,"asksize":589,"askexch":"D","ask_date":1709931597000,"open_interest":93,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00036000","description":"PLTR - Oct 18 2024 $36.00 Put","exch":"Z","type":"option","last":11.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.4,"ask":11.6,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.6368580433526009,"gamma":0.02953189804447048,"theta":-0.011739601414707436,"vega":0.07738428712169146,"rho":0.04282480710804837,"phi":-0.057975652349995244,"bid_iv":0.571116,"mid_iv":0.600989,"ask_iv":0.630863,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709825227362,"prevclose":11.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":738,"bidexch":"X","bid_date":1709931589000,"asksize":6,"askexch":"Z","ask_date":1709931586000,"open_interest":27,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018P00037000","description":"PLTR - Oct 18 2024 $37.00 Put","exch":"Z","type":"option","last":12.3,"change":0.40,"volume":295,"open":12.25,"high":12.3,"low":12.25,"close":12.3,"bid":12.3,"ask":12.45,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.6572866623320746,"gamma":0.02888559155944622,"theta":-0.011484395878473589,"vega":0.07343664779727192,"rho":0.04067336934222087,"phi":-0.054712598034356574,"bid_iv":0.622363,"mid_iv":0.629597,"ask_iv":0.636831,"smv_vol":0.624,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.37,"average_volume":0,"last_volume":1,"trade_date":1709917558369,"prevclose":11.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"N","bid_date":1709931588000,"asksize":144,"askexch":"E","ask_date":1709931589000,"open_interest":165,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00037000","description":"PLTR - Oct 18 2024 $37.00 Call","exch":"Z","type":"option","last":2.34,"change":-0.15,"volume":2,"open":2.63,"high":2.63,"low":2.34,"close":2.34,"bid":2.27,"ask":2.31,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.3427133376679254,"gamma":0.02888559155944622,"theta":-0.011484395878473589,"vega":0.07343664779727192,"rho":0.04067336934222087,"phi":-0.054712598034356574,"bid_iv":0.622202,"mid_iv":0.625608,"ask_iv":0.629014,"smv_vol":0.624,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.03,"average_volume":0,"last_volume":1,"trade_date":1709920375745,"prevclose":2.49,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"B","bid_date":1709931600000,"asksize":169,"askexch":"B","ask_date":1709931591000,"open_interest":218,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00038000","description":"PLTR - Oct 18 2024 $38.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.15,"ask":13.3,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.676454777891291,"gamma":0.028174408824016853,"theta":-0.011211995063734836,"vega":0.07467703149065752,"rho":0.038616405203230175,"phi":-0.05165104999260706,"bid_iv":0.613209,"mid_iv":0.623029,"ask_iv":0.632849,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931595000,"asksize":67,"askexch":"E","ask_date":1709931595000,"open_interest":0,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00038000","description":"PLTR - Oct 18 2024 $38.00 Call","exch":"Z","type":"option","last":2.15,"change":-0.23,"volume":480,"open":2.52,"high":2.6,"low":2.15,"close":2.15,"bid":2.11,"ask":2.15,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.3235452221087089,"gamma":0.028174408824016853,"theta":-0.011211995063734836,"vega":0.07467703149065752,"rho":0.038616405203230175,"phi":-0.05165104999260706,"bid_iv":0.623863,"mid_iv":0.627212,"ask_iv":0.630561,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.67,"average_volume":0,"last_volume":373,"trade_date":1709920768774,"prevclose":2.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"M","bid_date":1709931592000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":3046,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00040000","description":"PLTR - Oct 18 2024 $40.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.9,"ask":15.0,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.7121436546320138,"gamma":0.026669151885912155,"theta":-0.010629266773804713,"vega":0.07123434263114557,"rho":0.03472790278168377,"phi":-0.04595108317184682,"bid_iv":0.625822,"mid_iv":0.633708,"ask_iv":0.641594,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Z","bid_date":1709931577000,"asksize":10,"askexch":"N","ask_date":1709931578000,"open_interest":0,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00040000","description":"PLTR - Oct 18 2024 $40.00 Call","exch":"Z","type":"option","last":1.85,"change":null,"volume":160,"open":2.24,"high":2.24,"low":1.85,"close":1.85,"bid":1.83,"ask":1.87,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.28785634536798616,"gamma":0.026669151885912155,"theta":-0.010629266773804713,"vega":0.07123434263114557,"rho":0.03472790278168377,"phi":-0.04595108317184682,"bid_iv":0.627868,"mid_iv":0.630679,"ask_iv":0.63349,"smv_vol":0.63,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709930609049,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"E","bid_date":1709931571000,"asksize":816,"askexch":"D","ask_date":1709931599000,"open_interest":0,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '196' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '4' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-04-05&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240405P00013000","description":"PLTR - Apr 5 2024 $13.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-2.205935525422E-4,"gamma":1.5408788317547553E-4,"theta":-0.0022587110554221483,"vega":8.374669060173378E-5,"rho":0.009907684975847032,"phi":-0.019944530524895754,"bid_iv":0.0,"mid_iv":1.101106,"ask_iv":1.101106,"smv_vol":0.857,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709742909356,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1709930966000,"asksize":322,"askexch":"P","ask_date":1709928384000,"open_interest":3,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00013000","description":"PLTR - Apr 5 2024 $13.00 Call","exch":"Z","type":"option","last":13.12,"change":-0.93,"volume":1,"open":13.12,"high":13.12,"low":13.12,"close":13.12,"bid":12.1,"ask":13.2,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9997794064474578,"gamma":1.5408788317547553E-4,"theta":-0.0022587110554221483,"vega":8.374669060173378E-5,"rho":0.009907684975847032,"phi":-0.019944530524895754,"bid_iv":0.0,"mid_iv":1.691726,"ask_iv":1.691726,"smv_vol":0.857,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.62,"average_volume":0,"last_volume":1,"trade_date":1709918281238,"prevclose":14.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":166,"bidexch":"X","bid_date":1709931599000,"asksize":34,"askexch":"X","ask_date":1709931579000,"open_interest":16,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00014000","description":"PLTR - Apr 5 2024 $14.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-8.129868960687E-4,"gamma":5.178466452853131E-4,"theta":-0.002612801507862075,"vega":2.6362616326096767E-4,"rho":0.010657544889947024,"phi":-0.019932640409336955,"bid_iv":0.912773,"mid_iv":0.952972,"ask_iv":0.993171,"smv_vol":0.848,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709828226250,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":43,"bidexch":"P","bid_date":1709931513000,"asksize":45,"askexch":"P","ask_date":1709931513000,"open_interest":3,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00014000","description":"PLTR - Apr 5 2024 $14.00 Call","exch":"Z","type":"option","last":11.7,"change":-2.30,"volume":4,"open":12.6,"high":12.6,"low":11.7,"close":11.7,"bid":12.0,"ask":14.05,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9991870131039313,"gamma":5.178466452853131E-4,"theta":-0.002612801507862075,"vega":2.6362616326096767E-4,"rho":0.010657544889947024,"phi":-0.019932640409336955,"bid_iv":0.0,"mid_iv":2.285507,"ask_iv":2.285507,"smv_vol":0.848,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.43,"average_volume":0,"last_volume":2,"trade_date":1709920872408,"prevclose":14.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"X","bid_date":1709931587000,"asksize":16,"askexch":"M","ask_date":1709931585000,"open_interest":3,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00015000","description":"PLTR - Apr 5 2024 $15.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":25,"open":0.01,"high":0.02,"low":0.01,"close":0.02,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0024810573214233,"gamma":0.0014347061359368432,"theta":-0.0032494982375123453,"vega":6.216041058133208E-4,"rho":0.011384278029180874,"phi":-0.019899181165072832,"bid_iv":0.819651,"mid_iv":0.881863,"ask_iv":0.944075,"smv_vol":0.815,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1709926902920,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1097,"bidexch":"D","bid_date":1709931599000,"asksize":334,"askexch":"P","ask_date":1709931592000,"open_interest":322,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00015000","description":"PLTR - Apr 5 2024 $15.00 Call","exch":"Z","type":"option","last":12.17,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.6,"ask":12.1,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9975189426785767,"gamma":0.0014347061359368432,"theta":-0.0032494982375123453,"vega":6.216041058133208E-4,"rho":0.011384278029180874,"phi":-0.019899181165072832,"bid_iv":0.0,"mid_iv":1.559627,"ask_iv":1.559627,"smv_vol":0.815,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709830374393,"prevclose":12.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":323,"bidexch":"X","bid_date":1709931599000,"asksize":209,"askexch":"X","ask_date":1709931599000,"open_interest":122,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00016000","description":"PLTR - Apr 5 2024 $16.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":252,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0060146829550665,"gamma":0.003199467151803189,"theta":-0.004290112524682257,"vega":0.001351872393233746,"rho":0.012070640728198861,"phi":-0.019828336981220218,"bid_iv":0.799494,"mid_iv":0.822632,"ask_iv":0.84577,"smv_vol":0.78,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":40,"trade_date":1709926772087,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"D","bid_date":1709931275000,"asksize":140,"askexch":"Z","ask_date":1709930970000,"open_interest":44,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00016000","description":"PLTR - Apr 5 2024 $16.00 Call","exch":"Z","type":"option","last":11.25,"change":0.00,"volume":6,"open":null,"high":null,"low":null,"close":null,"bid":9.05,"ask":12.1,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9939853170449335,"gamma":0.003199467151803189,"theta":-0.004290112524682257,"vega":0.001351872393233746,"rho":0.012070640728198861,"phi":-0.019828336981220218,"bid_iv":0.0,"mid_iv":2.603848,"ask_iv":2.603848,"smv_vol":0.78,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709822903692,"prevclose":11.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":219,"bidexch":"E","bid_date":1709931599000,"asksize":1,"askexch":"W","ask_date":1709931597000,"open_interest":6,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00017000","description":"PLTR - Apr 5 2024 $17.00 Call","exch":"Z","type":"option","last":9.99,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.75,"ask":10.45,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.98848644503658,"gamma":0.005831150452340978,"theta":-0.005604713210892487,"vega":0.0021921021151037863,"rho":0.012714440070558521,"phi":-0.019718116668343555,"bid_iv":0.0,"mid_iv":1.688983,"ask_iv":1.688983,"smv_vol":0.738,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709834942286,"prevclose":9.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":153,"bidexch":"E","bid_date":1709931597000,"asksize":1,"askexch":"Z","ask_date":1709931596000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00017000","description":"PLTR - Apr 5 2024 $17.00 Put","exch":"Z","type":"option","last":0.03,"change":-0.01,"volume":243,"open":0.04,"high":0.04,"low":0.03,"close":0.03,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.01151355496342,"gamma":0.005831150452340978,"theta":-0.005604713210892487,"vega":0.0021921021151037863,"rho":0.012714440070558521,"phi":-0.019718116668343555,"bid_iv":0.70687,"mid_iv":0.746451,"ask_iv":0.786032,"smv_vol":0.738,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.00,"average_volume":0,"last_volume":5,"trade_date":1709913198471,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1049,"bidexch":"D","bid_date":1709931591000,"asksize":488,"askexch":"E","ask_date":1709931577000,"open_interest":362,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00017500","description":"PLTR - Apr 5 2024 $17.50 Call","exch":"Z","type":"option","last":9.74,"change":2.44,"volume":12,"open":9.73,"high":9.74,"low":9.73,"close":9.74,"bid":8.55,"ask":10.75,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9845185750385256,"gamma":0.007654287114596795,"theta":-0.006435863382379337,"vega":0.0027550267772116733,"rho":0.01300988004660437,"phi":-0.019638596366888805,"bid_iv":0.0,"mid_iv":0.829202,"ask_iv":0.829202,"smv_vol":0.718,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":33.43,"average_volume":0,"last_volume":3,"trade_date":1709909356424,"prevclose":7.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"X","bid_date":1709931582000,"asksize":3,"askexch":"C","ask_date":1709931582000,"open_interest":9,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00017500","description":"PLTR - Apr 5 2024 $17.50 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0154814249614744,"gamma":0.007654287114596795,"theta":-0.006435863382379337,"vega":0.0027550267772116733,"rho":0.01300988004660437,"phi":-0.019638596366888805,"bid_iv":0.707761,"mid_iv":0.737715,"ask_iv":0.767669,"smv_vol":0.718,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1709736776823,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":781,"bidexch":"D","bid_date":1709931585000,"asksize":1005,"askexch":"E","ask_date":1709931592000,"open_interest":138,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00018000","description":"PLTR - Apr 5 2024 $18.00 Put","exch":"Z","type":"option","last":0.04,"change":-0.01,"volume":10,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.04,"ask":0.05,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0205911554922763,"gamma":0.009920613676982338,"theta":-0.00740882250905219,"vega":0.0034123301092359184,"rho":0.0132804400065041,"phi":-0.019536211031123685,"bid_iv":0.694448,"mid_iv":0.707595,"ask_iv":0.720743,"smv_vol":0.695,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":6,"trade_date":1709915492725,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"E","bid_date":1709931503000,"asksize":110,"askexch":"D","ask_date":1709931589000,"open_interest":93,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00018000","description":"PLTR - Apr 5 2024 $18.00 Call","exch":"Z","type":"option","last":5.77,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.4,"ask":8.25,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9794088445077237,"gamma":0.009920613676982338,"theta":-0.00740882250905219,"vega":0.0034123301092359184,"rho":0.0132804400065041,"phi":-0.019536211031123685,"bid_iv":0.0,"mid_iv":0.857864,"ask_iv":0.857864,"smv_vol":0.695,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709564717402,"prevclose":5.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":228,"bidexch":"X","bid_date":1709931590000,"asksize":15,"askexch":"M","ask_date":1709931600000,"open_interest":37,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00018500","description":"PLTR - Apr 5 2024 $18.50 Call","exch":"Z","type":"option","last":8.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.85,"ask":8.3,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9730229676945099,"gamma":0.012659609518841328,"theta":-0.008523436892710158,"vega":0.005018510782836338,"rho":0.013523138208446979,"phi":-0.019408272349252798,"bid_iv":0.0,"mid_iv":1.413515,"ask_iv":1.413515,"smv_vol":0.671,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709740918319,"prevclose":8.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":114,"bidexch":"N","bid_date":1709931597000,"asksize":102,"askexch":"N","ask_date":1709931585000,"open_interest":6,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00018500","description":"PLTR - Apr 5 2024 $18.50 Put","exch":"Z","type":"option","last":0.05,"change":-0.01,"volume":164,"open":0.05,"high":0.05,"low":0.05,"close":0.05,"bid":0.04,"ask":0.06,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0269770323054901,"gamma":0.012659609518841328,"theta":-0.008523436892710158,"vega":0.005018510782836338,"rho":0.013523138208446979,"phi":-0.019408272349252798,"bid_iv":0.65054,"mid_iv":0.673731,"ask_iv":0.696923,"smv_vol":0.671,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.67,"average_volume":0,"last_volume":17,"trade_date":1709910804529,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":756,"bidexch":"D","bid_date":1709931561000,"asksize":875,"askexch":"E","ask_date":1709931560000,"open_interest":7,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00019000","description":"PLTR - Apr 5 2024 $19.00 Put","exch":"Z","type":"option","last":0.06,"change":-0.01,"volume":12,"open":0.06,"high":0.06,"low":0.06,"close":0.06,"bid":0.05,"ask":0.07,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0338903716123761,"gamma":0.01568693030760729,"theta":-0.00956141254937484,"vega":0.005093423694536639,"rho":0.013754713620025843,"phi":-0.01926975467192449,"bid_iv":0.630858,"mid_iv":0.650778,"ask_iv":0.670697,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.29,"average_volume":0,"last_volume":4,"trade_date":1709916356279,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":733,"bidexch":"D","bid_date":1709931597000,"asksize":1109,"askexch":"E","ask_date":1709931597000,"open_interest":497,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00019000","description":"PLTR - Apr 5 2024 $19.00 Call","exch":"Z","type":"option","last":7.1,"change":-1.13,"volume":4,"open":7.1,"high":7.1,"low":7.1,"close":7.1,"bid":6.2,"ask":7.25,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9661096283876239,"gamma":0.01568693030760729,"theta":-0.00956141254937484,"vega":0.005093423694536639,"rho":0.013754713620025843,"phi":-0.01926975467192449,"bid_iv":0.0,"mid_iv":0.74835,"ask_iv":0.74835,"smv_vol":0.633,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.73,"average_volume":0,"last_volume":4,"trade_date":1709924121908,"prevclose":8.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"E","bid_date":1709931596000,"asksize":9,"askexch":"C","ask_date":1709931598000,"open_interest":213,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00019500","description":"PLTR - Apr 5 2024 $19.50 Call","exch":"Z","type":"option","last":6.7,"change":1.78,"volume":5,"open":7.89,"high":7.89,"low":6.7,"close":6.7,"bid":5.9,"ask":6.75,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9563620627810251,"gamma":0.01959148485368752,"theta":-0.010960478258543446,"vega":0.007191238388788403,"rho":0.013923844694952971,"phi":-0.019074521340201045,"bid_iv":0.0,"mid_iv":0.695863,"ask_iv":0.695863,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":36.18,"average_volume":0,"last_volume":1,"trade_date":1709922363445,"prevclose":4.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"N","bid_date":1709931592000,"asksize":35,"askexch":"X","ask_date":1709931591000,"open_interest":57,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00019500","description":"PLTR - Apr 5 2024 $19.50 Put","exch":"Z","type":"option","last":0.07,"change":-0.01,"volume":5,"open":0.07,"high":0.07,"low":0.07,"close":0.07,"bid":0.06,"ask":0.07,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0436379372189749,"gamma":0.01959148485368752,"theta":-0.010960478258543446,"vega":0.007191238388788403,"rho":0.013923844694952971,"phi":-0.019074521340201045,"bid_iv":0.606152,"mid_iv":0.6153,"ask_iv":0.624449,"smv_vol":0.612,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.50,"average_volume":0,"last_volume":5,"trade_date":1709928045021,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":142,"bidexch":"D","bid_date":1709931599000,"asksize":20,"askexch":"U","ask_date":1709931571000,"open_interest":32,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00020000","description":"PLTR - Apr 5 2024 $20.00 Put","exch":"Z","type":"option","last":0.09,"change":0.00,"volume":31,"open":0.08,"high":0.1,"low":0.07,"close":0.09,"bid":0.07,"ask":0.09,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0532091492451554,"gamma":0.023694163445538298,"theta":-0.012085903030654736,"vega":0.007983559923289203,"rho":0.014097978312916797,"phi":-0.018882767784944576,"bid_iv":0.57912,"mid_iv":0.594193,"ask_iv":0.609267,"smv_vol":0.588,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709926408111,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1113,"bidexch":"E","bid_date":1709931582000,"asksize":245,"askexch":"D","ask_date":1709931571000,"open_interest":1159,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00020000","description":"PLTR - Apr 5 2024 $20.00 Call","exch":"Z","type":"option","last":6.5,"change":-0.40,"volume":26,"open":7.13,"high":7.33,"low":6.5,"close":6.5,"bid":4.7,"ask":6.3,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9467908507548446,"gamma":0.023694163445538298,"theta":-0.012085903030654736,"vega":0.007983559923289203,"rho":0.014097978312916797,"phi":-0.018882767784944576,"bid_iv":0.0,"mid_iv":1.215484,"ask_iv":1.215484,"smv_vol":0.588,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.80,"average_volume":0,"last_volume":1,"trade_date":1709927452070,"prevclose":6.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":232,"bidexch":"X","bid_date":1709931589000,"asksize":35,"askexch":"X","ask_date":1709931579000,"open_interest":183,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00020500","description":"PLTR - Apr 5 2024 $20.50 Call","exch":"Z","type":"option","last":5.8,"change":-0.32,"volume":2,"open":5.8,"high":5.8,"low":5.8,"close":5.8,"bid":4.65,"ask":5.8,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9358313047996792,"gamma":0.02843344615549965,"theta":-0.01318067088851761,"vega":0.008676145042342742,"rho":0.01424247676860673,"phi":-0.018663190504142335,"bid_iv":0.0,"mid_iv":0.646742,"ask_iv":0.646742,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.23,"average_volume":0,"last_volume":2,"trade_date":1709929232072,"prevclose":6.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931596000,"asksize":35,"askexch":"X","ask_date":1709931560000,"open_interest":71,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00020500","description":"PLTR - Apr 5 2024 $20.50 Put","exch":"Z","type":"option","last":0.1,"change":-0.01,"volume":28,"open":0.08,"high":0.11,"low":0.08,"close":0.1,"bid":0.09,"ask":0.11,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0641686952003208,"gamma":0.02843344615549965,"theta":-0.01318067088851761,"vega":0.008676145042342742,"rho":0.01424247676860673,"phi":-0.018663190504142335,"bid_iv":0.563183,"mid_iv":0.57603,"ask_iv":0.588876,"smv_vol":0.571,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.10,"average_volume":0,"last_volume":10,"trade_date":1709921838722,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":954,"bidexch":"E","bid_date":1709931597000,"asksize":374,"askexch":"D","ask_date":1709931591000,"open_interest":708,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00021000","description":"PLTR - Apr 5 2024 $21.00 Put","exch":"Z","type":"option","last":0.13,"change":0.00,"volume":11,"open":0.11,"high":0.15,"low":0.11,"close":0.13,"bid":0.12,"ask":0.14,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0765537314542367,"gamma":0.03391238220273533,"theta":-0.014197388875130718,"vega":0.01000511780486225,"rho":0.01435694872799912,"phi":-0.01841502854205146,"bid_iv":0.553402,"mid_iv":0.563586,"ask_iv":0.573771,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709926055070,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":653,"bidexch":"E","bid_date":1709931592000,"asksize":321,"askexch":"D","ask_date":1709931582000,"open_interest":359,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00021000","description":"PLTR - Apr 5 2024 $21.00 Call","exch":"Z","type":"option","last":6.3,"change":0.25,"volume":1,"open":6.3,"high":6.3,"low":6.3,"close":6.3,"bid":5.2,"ask":5.3,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9234462685457633,"gamma":0.03391238220273533,"theta":-0.014197388875130718,"vega":0.01000511780486225,"rho":0.01435694872799912,"phi":-0.01841502854205146,"bid_iv":0.468544,"mid_iv":0.497302,"ask_iv":0.52606,"smv_vol":0.557,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.14,"average_volume":0,"last_volume":1,"trade_date":1709911827232,"prevclose":6.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":51,"bidexch":"C","bid_date":1709931560000,"asksize":29,"askexch":"B","ask_date":1709931549000,"open_interest":35,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00021500","description":"PLTR - Apr 5 2024 $21.50 Call","exch":"Z","type":"option","last":4.84,"change":-0.23,"volume":1,"open":4.84,"high":4.84,"low":4.84,"close":4.84,"bid":3.5,"ask":4.85,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.9085290340217888,"gamma":0.04039684915175234,"theta":-0.015284986973679832,"vega":0.011546374861119778,"rho":0.014416873747438575,"phi":-0.0181161518764128,"bid_iv":0.40005,"mid_iv":0.486347,"ask_iv":0.572644,"smv_vol":0.546,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.54,"average_volume":0,"last_volume":1,"trade_date":1709930545430,"prevclose":5.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"Z","bid_date":1709931589000,"asksize":6,"askexch":"J","ask_date":1709931593000,"open_interest":19,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00021500","description":"PLTR - Apr 5 2024 $21.50 Put","exch":"Z","type":"option","last":0.15,"change":0.01,"volume":10,"open":0.13,"high":0.2,"low":0.13,"close":0.15,"bid":0.16,"ask":0.18,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.0914709659782112,"gamma":0.04039684915175234,"theta":-0.015284986973679832,"vega":0.011546374861119778,"rho":0.014416873747438575,"phi":-0.0181161518764128,"bid_iv":0.544337,"mid_iv":0.553016,"ask_iv":0.561695,"smv_vol":0.546,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.15,"average_volume":0,"last_volume":1,"trade_date":1709928119989,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":786,"bidexch":"D","bid_date":1709931574000,"asksize":232,"askexch":"D","ask_date":1709931561000,"open_interest":198,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00022000","description":"PLTR - Apr 5 2024 $22.00 Put","exch":"Z","type":"option","last":0.21,"change":-0.01,"volume":103,"open":0.18,"high":0.26,"low":0.17,"close":0.21,"bid":0.21,"ask":0.23,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.1104439990646437,"gamma":0.048114366264805884,"theta":-0.016553691691024486,"vega":0.01318357577945457,"rho":0.014388175611545546,"phi":-0.01773611961297661,"bid_iv":0.534797,"mid_iv":0.54238,"ask_iv":0.549963,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.55,"average_volume":0,"last_volume":6,"trade_date":1709930231381,"prevclose":0.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":633,"bidexch":"E","bid_date":1709931596000,"asksize":20,"askexch":"N","ask_date":1709931570000,"open_interest":1486,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00022000","description":"PLTR - Apr 5 2024 $22.00 Call","exch":"Z","type":"option","last":4.23,"change":-0.86,"volume":20,"open":5.38,"high":5.38,"low":4.2,"close":4.23,"bid":4.3,"ask":4.4,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.8895560009353563,"gamma":0.048114366264805884,"theta":-0.016553691691024486,"vega":0.01318357577945457,"rho":0.014388175611545546,"phi":-0.01773611961297661,"bid_iv":0.485333,"mid_iv":0.52357,"ask_iv":0.561806,"smv_vol":0.541,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.90,"average_volume":0,"last_volume":4,"trade_date":1709923317882,"prevclose":5.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"X","bid_date":1709931589000,"asksize":53,"askexch":"X","ask_date":1709931592000,"open_interest":137,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00022500","description":"PLTR - Apr 5 2024 $22.50 Call","exch":"Z","type":"option","last":4.8,"change":0.15,"volume":1,"open":4.8,"high":4.8,"low":4.8,"close":4.8,"bid":3.85,"ask":4.3,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.8658689810907343,"gamma":0.05703372782822865,"theta":-0.01799244778633254,"vega":0.016475968085252906,"rho":0.014255927709249425,"phi":-0.01726180848038439,"bid_iv":0.508564,"mid_iv":0.539566,"ask_iv":0.570569,"smv_vol":0.535,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.23,"average_volume":0,"last_volume":1,"trade_date":1709917620425,"prevclose":4.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":226,"bidexch":"E","bid_date":1709931588000,"asksize":361,"askexch":"E","ask_date":1709931592000,"open_interest":46,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00022500","description":"PLTR - Apr 5 2024 $22.50 Put","exch":"Z","type":"option","last":0.27,"change":0.03,"volume":310,"open":0.23,"high":0.33,"low":0.2,"close":0.27,"bid":0.28,"ask":0.3,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.1341310189092657,"gamma":0.05703372782822865,"theta":-0.01799244778633254,"vega":0.016475968085252906,"rho":0.014255927709249425,"phi":-0.01726180848038439,"bid_iv":0.530902,"mid_iv":0.536967,"ask_iv":0.543032,"smv_vol":0.535,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":12.50,"average_volume":0,"last_volume":2,"trade_date":1709927444715,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":866,"bidexch":"E","bid_date":1709931599000,"asksize":19,"askexch":"P","ask_date":1709931573000,"open_interest":349,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00023000","description":"PLTR - Apr 5 2024 $23.00 Put","exch":"Z","type":"option","last":0.37,"change":0.01,"volume":141,"open":0.29,"high":0.44,"low":0.26,"close":0.37,"bid":0.37,"ask":0.39,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.1646557341206084,"gamma":0.06692333051514514,"theta":-0.01969583983367265,"vega":0.018285484183593357,"rho":0.013970622658207752,"phi":-0.01665089953029053,"bid_iv":0.527782,"mid_iv":0.533238,"ask_iv":0.538693,"smv_vol":0.531,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.78,"average_volume":0,"last_volume":1,"trade_date":1709930532034,"prevclose":0.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":602,"bidexch":"E","bid_date":1709931599000,"asksize":10,"askexch":"P","ask_date":1709931588000,"open_interest":1689,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00023000","description":"PLTR - Apr 5 2024 $23.00 Call","exch":"Z","type":"option","last":3.6,"change":0.30,"volume":18,"open":3.6,"high":3.65,"low":3.5,"close":3.6,"bid":3.45,"ask":3.55,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.8353442658793916,"gamma":0.06692333051514514,"theta":-0.01969583983367265,"vega":0.018285484183593357,"rho":0.013970622658207752,"phi":-0.01665089953029053,"bid_iv":0.509473,"mid_iv":0.522333,"ask_iv":0.535193,"smv_vol":0.531,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":9.10,"average_volume":0,"last_volume":1,"trade_date":1709926139763,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"B","bid_date":1709931595000,"asksize":17,"askexch":"Z","ask_date":1709931584000,"open_interest":307,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00023500","description":"PLTR - Apr 5 2024 $23.50 Call","exch":"Z","type":"option","last":3.55,"change":0.20,"volume":38,"open":3.93,"high":3.95,"low":3.55,"close":3.55,"bid":3.1,"ask":3.2,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.7977030899978039,"gamma":0.07703923220412948,"theta":-0.021634884783777765,"vega":0.020097596490040278,"rho":0.013522688561860272,"phi":-0.015897978902223997,"bid_iv":0.506401,"mid_iv":0.530325,"ask_iv":0.554249,"smv_vol":0.53,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.97,"average_volume":0,"last_volume":3,"trade_date":1709844452117,"prevclose":3.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931600000,"asksize":15,"askexch":"B","ask_date":1709931600000,"open_interest":374,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00023500","description":"PLTR - Apr 5 2024 $23.50 Put","exch":"Z","type":"option","last":0.5,"change":0.06,"volume":91,"open":0.4,"high":0.54,"low":0.37,"close":0.5,"bid":0.49,"ask":0.51,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.2022969100021961,"gamma":0.07703923220412948,"theta":-0.021634884783777765,"vega":0.020097596490040278,"rho":0.013522688561860272,"phi":-0.015897978902223997,"bid_iv":0.525472,"mid_iv":0.532828,"ask_iv":0.540184,"smv_vol":0.53,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":13.64,"average_volume":0,"last_volume":2,"trade_date":1709931324245,"prevclose":0.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"W","bid_date":1709931593000,"asksize":419,"askexch":"D","ask_date":1709931593000,"open_interest":246,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00024000","description":"PLTR - Apr 5 2024 $24.00 Put","exch":"Z","type":"option","last":0.61,"change":0.01,"volume":186,"open":0.49,"high":0.71,"low":0.45,"close":0.61,"bid":0.62,"ask":0.66,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.2465212910180244,"gamma":0.08636484343140748,"theta":-0.023678203680242125,"vega":0.023222782001081282,"rho":0.012918734715374518,"phi":-0.015013887892934008,"bid_iv":0.525768,"mid_iv":0.534371,"ask_iv":0.542974,"smv_vol":0.529,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.67,"average_volume":0,"last_volume":5,"trade_date":1709930736680,"prevclose":0.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":544,"bidexch":"E","bid_date":1709931598000,"asksize":2156,"askexch":"E","ask_date":1709931598000,"open_interest":722,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00024000","description":"PLTR - Apr 5 2024 $24.00 Call","exch":"Z","type":"option","last":2.84,"change":-0.29,"volume":165,"open":3.4,"high":3.7,"low":2.64,"close":2.84,"bid":2.71,"ask":2.83,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.7534787089819756,"gamma":0.08636484343140748,"theta":-0.023678203680242125,"vega":0.023222782001081282,"rho":0.012918734715374518,"phi":-0.015013887892934008,"bid_iv":0.512903,"mid_iv":0.523666,"ask_iv":0.534429,"smv_vol":0.529,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.27,"average_volume":0,"last_volume":2,"trade_date":1709930231459,"prevclose":3.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":169,"bidexch":"E","bid_date":1709931593000,"asksize":121,"askexch":"E","ask_date":1709931593000,"open_interest":1461,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00024500","description":"PLTR - Apr 5 2024 $24.50 Call","exch":"Z","type":"option","last":2.45,"change":-0.43,"volume":48,"open":3.1,"high":3.2,"low":2.45,"close":2.45,"bid":2.42,"ask":2.49,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.7041665696015279,"gamma":0.09393993673207589,"theta":-0.02564504361714689,"vega":0.02478234404446935,"rho":0.012186010416274066,"phi":-0.014028650330288883,"bid_iv":0.516095,"mid_iv":0.522153,"ask_iv":0.528212,"smv_vol":0.53,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.94,"average_volume":0,"last_volume":2,"trade_date":1709921366442,"prevclose":2.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"Z","bid_date":1709931576000,"asksize":90,"askexch":"B","ask_date":1709931537000,"open_interest":360,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00024500","description":"PLTR - Apr 5 2024 $24.50 Put","exch":"Z","type":"option","last":0.79,"change":0.14,"volume":425,"open":0.56,"high":0.88,"low":0.56,"close":0.79,"bid":0.79,"ask":0.82,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.2958334303984721,"gamma":0.09393993673207589,"theta":-0.02564504361714689,"vega":0.02478234404446935,"rho":0.012186010416274066,"phi":-0.014028650330288883,"bid_iv":0.528741,"mid_iv":0.532766,"ask_iv":0.536791,"smv_vol":0.53,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":21.54,"average_volume":0,"last_volume":2,"trade_date":1709931458717,"prevclose":0.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":81,"bidexch":"D","bid_date":1709931591000,"asksize":462,"askexch":"E","ask_date":1709931592000,"open_interest":548,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00025000","description":"PLTR - Apr 5 2024 $25.00 Call","exch":"Z","type":"option","last":2.13,"change":-0.32,"volume":706,"open":2.89,"high":3.0,"low":2.08,"close":2.13,"bid":2.11,"ask":2.16,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6521059107234942,"gamma":0.09925058068990028,"theta":-0.027375992244222172,"vega":0.02696586092954887,"rho":0.011371965465256387,"phi":-0.012989034758881246,"bid_iv":0.520411,"mid_iv":0.52783,"ask_iv":0.535249,"smv_vol":0.532,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.07,"average_volume":0,"last_volume":14,"trade_date":1709931270776,"prevclose":2.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"H","bid_date":1709931596000,"asksize":70,"askexch":"E","ask_date":1709931594000,"open_interest":1685,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00025000","description":"PLTR - Apr 5 2024 $25.00 Put","exch":"Z","type":"option","last":1.0,"change":0.08,"volume":326,"open":0.7,"high":1.1,"low":0.69,"close":1.0,"bid":0.99,"ask":1.02,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3478940892765058,"gamma":0.09925058068990028,"theta":-0.027375992244222172,"vega":0.02696586092954887,"rho":0.011371965465256387,"phi":-0.012989034758881246,"bid_iv":0.528702,"mid_iv":0.534263,"ask_iv":0.539824,"smv_vol":0.532,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.70,"average_volume":0,"last_volume":5,"trade_date":1709931303129,"prevclose":0.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"P","bid_date":1709931600000,"asksize":897,"askexch":"D","ask_date":1709931599000,"open_interest":2344,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00025500","description":"PLTR - Apr 5 2024 $25.50 Call","exch":"Z","type":"option","last":1.84,"change":-0.47,"volume":101,"open":2.5,"high":2.73,"low":1.79,"close":1.84,"bid":1.84,"ask":1.88,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.5992655939209839,"gamma":0.10217963708599918,"theta":-0.02869018811911238,"vega":0.027907237000692385,"rho":0.010517118589656614,"phi":-0.011934340951036404,"bid_iv":0.52502,"mid_iv":0.530398,"ask_iv":0.535777,"smv_vol":0.535,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.35,"average_volume":0,"last_volume":1,"trade_date":1709931598762,"prevclose":2.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":62,"bidexch":"B","bid_date":1709931592000,"asksize":18,"askexch":"B","ask_date":1709931595000,"open_interest":262,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00025500","description":"PLTR - Apr 5 2024 $25.50 Put","exch":"Z","type":"option","last":1.21,"change":0.08,"volume":94,"open":0.94,"high":1.33,"low":0.86,"close":1.21,"bid":1.21,"ask":1.25,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.4007344060790161,"gamma":0.10217963708599918,"theta":-0.02869018811911238,"vega":0.027907237000692385,"rho":0.010517118589656614,"phi":-0.011934340951036404,"bid_iv":0.533385,"mid_iv":0.53876,"ask_iv":0.544135,"smv_vol":0.535,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.08,"average_volume":0,"last_volume":2,"trade_date":1709931070098,"prevclose":1.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"W","bid_date":1709931590000,"asksize":1344,"askexch":"E","ask_date":1709931599000,"open_interest":85,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00026000","description":"PLTR - Apr 5 2024 $26.00 Put","exch":"Z","type":"option","last":1.46,"change":0.07,"volume":342,"open":1.08,"high":1.6,"low":1.06,"close":1.46,"bid":1.46,"ask":1.5,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4527590053042473,"gamma":0.10323357721375936,"theta":-0.029570282843710816,"vega":0.028581194658457907,"rho":0.009658927509317785,"phi":-0.010896293993756245,"bid_iv":0.536111,"mid_iv":0.541366,"ask_iv":0.546622,"smv_vol":0.539,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.04,"average_volume":0,"last_volume":2,"trade_date":1709931058720,"prevclose":1.39,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"Z","bid_date":1709931591000,"asksize":310,"askexch":"E","ask_date":1709931599000,"open_interest":589,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00026000","description":"PLTR - Apr 5 2024 $26.00 Call","exch":"Z","type":"option","last":1.68,"change":-0.27,"volume":667,"open":2.22,"high":2.4,"low":1.55,"close":1.68,"bid":1.6,"ask":1.64,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5472409946957527,"gamma":0.10323357721375936,"theta":-0.029570282843710816,"vega":0.028581194658457907,"rho":0.009658927509317785,"phi":-0.010896293993756245,"bid_iv":0.527741,"mid_iv":0.534744,"ask_iv":0.541746,"smv_vol":0.539,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-13.85,"average_volume":0,"last_volume":1,"trade_date":1709930096486,"prevclose":1.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"E","bid_date":1709931588000,"asksize":253,"askexch":"E","ask_date":1709931596000,"open_interest":1209,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00026500","description":"PLTR - Apr 5 2024 $26.50 Call","exch":"Z","type":"option","last":1.4,"change":-0.28,"volume":499,"open":2.1,"high":2.12,"low":1.33,"close":1.4,"bid":1.38,"ask":1.41,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.49682030820974626,"gamma":0.10254548957193971,"theta":-0.02992422795022811,"vega":0.028682241933261583,"rho":0.008813415286744133,"phi":-0.009890590801919785,"bid_iv":0.534672,"mid_iv":0.539906,"ask_iv":0.54514,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.67,"average_volume":0,"last_volume":5,"trade_date":1709931513483,"prevclose":1.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"B","bid_date":1709931596000,"asksize":12,"askexch":"Z","ask_date":1709931600000,"open_interest":694,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00026500","description":"PLTR - Apr 5 2024 $26.50 Put","exch":"Z","type":"option","last":1.76,"change":0.20,"volume":275,"open":1.28,"high":1.86,"low":1.28,"close":1.76,"bid":1.75,"ask":1.77,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.5031796917902538,"gamma":0.10254548957193971,"theta":-0.02992422795022811,"vega":0.028682241933261583,"rho":0.008813415286744133,"phi":-0.009890590801919785,"bid_iv":0.539597,"mid_iv":0.54484,"ask_iv":0.550084,"smv_vol":0.543,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":12.83,"average_volume":0,"last_volume":10,"trade_date":1709931559639,"prevclose":1.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"Z","bid_date":1709931594000,"asksize":6,"askexch":"P","ask_date":1709931600000,"open_interest":192,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00027000","description":"PLTR - Apr 5 2024 $27.00 Put","exch":"Z","type":"option","last":2.05,"change":0.15,"volume":54,"open":1.54,"high":2.1,"low":1.51,"close":2.05,"bid":2.05,"ask":2.08,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5515345184747027,"gamma":0.10051793239340207,"theta":-0.0297895209756891,"vega":0.028487753908286,"rho":0.007992895669516113,"phi":-0.008926366781292217,"bid_iv":0.541303,"mid_iv":0.548343,"ask_iv":0.555384,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.90,"average_volume":0,"last_volume":2,"trade_date":1709931117399,"prevclose":1.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"B","bid_date":1709931600000,"asksize":5,"askexch":"N","ask_date":1709931571000,"open_interest":57,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00027000","description":"PLTR - Apr 5 2024 $27.00 Call","exch":"Z","type":"option","last":1.21,"change":-0.25,"volume":1417,"open":1.7,"high":1.89,"low":1.17,"close":1.21,"bid":1.2,"ask":1.22,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.44846548152529736,"gamma":0.10051793239340207,"theta":-0.0297895209756891,"vega":0.028487753908286,"rho":0.007992895669516113,"phi":-0.008926366781292217,"bid_iv":0.539828,"mid_iv":0.545096,"ask_iv":0.550364,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.13,"average_volume":0,"last_volume":100,"trade_date":1709931142876,"prevclose":1.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931560000,"asksize":84,"askexch":"D","ask_date":1709931599000,"open_interest":2348,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00027500","description":"PLTR - Apr 5 2024 $27.50 Call","exch":"Z","type":"option","last":1.05,"change":-0.27,"volume":1666,"open":1.6,"high":1.65,"low":1.0,"close":1.05,"bid":1.02,"ask":1.05,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.40239174051139376,"gamma":0.09742797030121977,"theta":-0.029224612257479063,"vega":0.02800531968065979,"rho":0.007203599510597294,"phi":-0.008007859895187153,"bid_iv":0.540527,"mid_iv":0.547671,"ask_iv":0.554815,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.46,"average_volume":0,"last_volume":1,"trade_date":1709931498238,"prevclose":1.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"B","bid_date":1709931600000,"asksize":192,"askexch":"D","ask_date":1709931599000,"open_interest":730,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00027500","description":"PLTR - Apr 5 2024 $27.50 Put","exch":"Z","type":"option","last":1.82,"change":-0.24,"volume":25,"open":1.82,"high":1.82,"low":1.82,"close":1.82,"bid":2.37,"ask":2.42,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.5976082594886062,"gamma":0.09742797030121977,"theta":-0.029224612257479063,"vega":0.02800531968065979,"rho":0.007203599510597294,"phi":-0.008007859895187153,"bid_iv":0.545466,"mid_iv":0.554439,"ask_iv":0.563413,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.65,"average_volume":0,"last_volume":25,"trade_date":1709909281829,"prevclose":2.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"B","bid_date":1709931598000,"asksize":15,"askexch":"B","ask_date":1709931595000,"open_interest":45,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00028000","description":"PLTR - Apr 5 2024 $28.00 Put","exch":"Z","type":"option","last":2.89,"change":0.52,"volume":69,"open":2.3,"high":2.89,"low":2.21,"close":2.89,"bid":2.55,"ask":2.8,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.6412261373932545,"gamma":0.09344655791848572,"theta":-0.028291183498724136,"vega":0.027251692224383933,"rho":0.006449914912190649,"phi":-0.007138522861716012,"bid_iv":0.549248,"mid_iv":0.565879,"ask_iv":0.582511,"smv_vol":0.555,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":21.95,"average_volume":0,"last_volume":50,"trade_date":1709923707681,"prevclose":2.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":519,"bidexch":"X","bid_date":1709931599000,"asksize":13,"askexch":"B","ask_date":1709931600000,"open_interest":95,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00028000","description":"PLTR - Apr 5 2024 $28.00 Call","exch":"Z","type":"option","last":0.88,"change":-0.22,"volume":747,"open":1.38,"high":1.44,"low":0.88,"close":0.88,"bid":0.87,"ask":0.91,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.3587738626067455,"gamma":0.09344655791848572,"theta":-0.028291183498724136,"vega":0.027251692224383933,"rho":0.006449914912190649,"phi":-0.007138522861716012,"bid_iv":0.548136,"mid_iv":0.553642,"ask_iv":0.559148,"smv_vol":0.555,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":2,"trade_date":1709931305381,"prevclose":1.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"D","bid_date":1709931597000,"asksize":1620,"askexch":"E","ask_date":1709931596000,"open_interest":1365,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00028500","description":"PLTR - Apr 5 2024 $28.50 Call","exch":"Z","type":"option","last":0.8,"change":-0.17,"volume":320,"open":1.18,"high":1.26,"low":0.77,"close":0.8,"bid":0.74,"ask":0.77,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.31805918214512713,"gamma":0.08863959049460288,"theta":-0.0270658777152413,"vega":0.02624728254897449,"rho":0.00574007590105598,"phi":-0.006327266202088566,"bid_iv":0.55229,"mid_iv":0.556102,"ask_iv":0.559915,"smv_vol":0.559,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.53,"average_volume":0,"last_volume":1,"trade_date":1709928933889,"prevclose":0.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":422,"bidexch":"E","bid_date":1709931588000,"asksize":115,"askexch":"E","ask_date":1709931588000,"open_interest":534,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00028500","description":"PLTR - Apr 5 2024 $28.50 Put","exch":"Z","type":"option","last":3.1,"change":0.54,"volume":1,"open":3.1,"high":3.1,"low":3.1,"close":3.1,"bid":3.05,"ask":3.15,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.6819408178548728,"gamma":0.08863959049460288,"theta":-0.0270658777152413,"vega":0.02624728254897449,"rho":0.00574007590105598,"phi":-0.006327266202088566,"bid_iv":0.537025,"mid_iv":0.556654,"ask_iv":0.576282,"smv_vol":0.559,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":21.10,"average_volume":0,"last_volume":1,"trade_date":1709915759933,"prevclose":2.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":125,"bidexch":"E","bid_date":1709931592000,"asksize":6,"askexch":"J","ask_date":1709931588000,"open_interest":63,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00029000","description":"PLTR - Apr 5 2024 $29.00 Put","exch":"Z","type":"option","last":3.45,"change":0.48,"volume":26,"open":2.83,"high":3.45,"low":2.83,"close":3.45,"bid":3.45,"ask":3.55,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.7195946589404922,"gamma":0.0832308555331934,"theta":-0.02563068282499151,"vega":0.02502474849965182,"rho":0.005078541750311827,"phi":-0.005577190211880634,"bid_iv":0.54443,"mid_iv":0.565405,"ask_iv":0.586379,"smv_vol":0.562,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":16.17,"average_volume":0,"last_volume":12,"trade_date":1709916669127,"prevclose":2.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":194,"bidexch":"E","bid_date":1709931581000,"asksize":106,"askexch":"D","ask_date":1709931582000,"open_interest":9,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00029000","description":"PLTR - Apr 5 2024 $29.00 Call","exch":"Z","type":"option","last":0.66,"change":-0.20,"volume":4746,"open":1.06,"high":1.11,"low":0.65,"close":0.66,"bid":0.63,"ask":0.67,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.2804053410595078,"gamma":0.0832308555331934,"theta":-0.02563068282499151,"vega":0.02502474849965182,"rho":0.005078541750311827,"phi":-0.005577190211880634,"bid_iv":0.557313,"mid_iv":0.563445,"ask_iv":0.569578,"smv_vol":0.562,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-23.26,"average_volume":0,"last_volume":10,"trade_date":1709930146721,"prevclose":0.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"E","bid_date":1709931596000,"asksize":2023,"askexch":"E","ask_date":1709931588000,"open_interest":4609,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405C00030000","description":"PLTR - Apr 5 2024 $30.00 Call","exch":"Z","type":"option","last":0.47,"change":-0.14,"volume":1126,"open":0.75,"high":0.83,"low":0.46,"close":0.47,"bid":0.46,"ask":0.48,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.21581359321001864,"gamma":0.07128151644089777,"theta":-0.02247202258115478,"vega":0.021273308274295574,"rho":0.003931257404315134,"phi":-0.0042910359088210726,"bid_iv":0.565439,"mid_iv":0.570178,"ask_iv":0.574916,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-22.96,"average_volume":0,"last_volume":2,"trade_date":1709931579377,"prevclose":0.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":345,"bidexch":"D","bid_date":1709931587000,"asksize":280,"askexch":"D","ask_date":1709931587000,"open_interest":2550,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00030000","description":"PLTR - Apr 5 2024 $30.00 Put","exch":"Z","type":"option","last":4.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.0,"ask":4.6,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7841864067899813,"gamma":0.07128151644089777,"theta":-0.02247202258115478,"vega":0.021273308274295574,"rho":0.003931257404315134,"phi":-0.0042910359088210726,"bid_iv":0.0,"mid_iv":0.584222,"ask_iv":0.584222,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709752530217,"prevclose":4.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":308,"bidexch":"E","bid_date":1709931598000,"asksize":123,"askexch":"E","ask_date":1709931598000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405P00031000","description":"PLTR - Apr 5 2024 $31.00 Put","exch":"Z","type":"option","last":4.9,"change":0.05,"volume":2,"open":4.9,"high":4.9,"low":4.9,"close":4.9,"bid":5.15,"ask":5.75,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.8340820939132026,"gamma":0.059323106716007705,"theta":-0.019408407598009922,"vega":0.018647953743612142,"rho":0.003034261927303391,"phi":-0.0032980545300320685,"bid_iv":0.555458,"mid_iv":0.58522,"ask_iv":0.614981,"smv_vol":0.584,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.04,"average_volume":0,"last_volume":2,"trade_date":1709913823752,"prevclose":4.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"P","bid_date":1709931595000,"asksize":2,"askexch":"U","ask_date":1709931590000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00031000","description":"PLTR - Apr 5 2024 $31.00 Call","exch":"Z","type":"option","last":0.36,"change":-0.14,"volume":157,"open":0.54,"high":0.61,"low":0.34,"close":0.36,"bid":0.34,"ask":0.36,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.1659179060867973,"gamma":0.059323106716007705,"theta":-0.019408407598009922,"vega":0.018647953743612142,"rho":0.003034261927303391,"phi":-0.0032980545300320685,"bid_iv":0.579925,"mid_iv":0.585292,"ask_iv":0.590659,"smv_vol":0.584,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-28.00,"average_volume":0,"last_volume":3,"trade_date":1709931452233,"prevclose":0.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1709931597000,"asksize":751,"askexch":"E","ask_date":1709931599000,"open_interest":383,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00032000","description":"PLTR - Apr 5 2024 $32.00 Put","exch":"Z","type":"option","last":5.4,"change":-3.20,"volume":2,"open":5.4,"high":5.4,"low":5.4,"close":5.4,"bid":4.8,"ask":6.2,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.8713379766035672,"gamma":0.0486585029373025,"theta":-0.01672141977596122,"vega":0.015124929215625658,"rho":0.002358884830545932,"phi":-0.0025569660355717616,"bid_iv":0.0,"mid_iv":0.88306,"ask_iv":0.88306,"smv_vol":0.6,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-37.21,"average_volume":0,"last_volume":2,"trade_date":1709911221688,"prevclose":8.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":293,"bidexch":"X","bid_date":1709931592000,"asksize":149,"askexch":"E","ask_date":1709931588000,"open_interest":3,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00032000","description":"PLTR - Apr 5 2024 $32.00 Call","exch":"Z","type":"option","last":0.28,"change":-0.09,"volume":122,"open":0.42,"high":0.48,"low":0.26,"close":0.28,"bid":0.25,"ask":0.27,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.1286620233964328,"gamma":0.0486585029373025,"theta":-0.01672141977596122,"vega":0.015124929215625658,"rho":0.002358884830545932,"phi":-0.0025569660355717616,"bid_iv":0.592174,"mid_iv":0.598789,"ask_iv":0.605404,"smv_vol":0.6,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-24.33,"average_volume":0,"last_volume":2,"trade_date":1709928592594,"prevclose":0.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":431,"bidexch":"D","bid_date":1709931582000,"asksize":806,"askexch":"E","ask_date":1709931599000,"open_interest":844,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00033000","description":"PLTR - Apr 5 2024 $33.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.0,"ask":7.15,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.8994012010541611,"gamma":0.03967898176516581,"theta":-0.014397088998251099,"vega":0.013523610285377331,"rho":0.0018476140694575125,"phi":-0.001998925327206802,"bid_iv":0.0,"mid_iv":0.934392,"ask_iv":0.934392,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":48,"bidexch":"Z","bid_date":1709931561000,"asksize":7,"askexch":"Z","ask_date":1709931598000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00033000","description":"PLTR - Apr 5 2024 $33.00 Call","exch":"Z","type":"option","last":0.2,"change":-0.10,"volume":15,"open":0.36,"high":0.36,"low":0.2,"close":0.2,"bid":0.17,"ask":0.21,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.10059879894583888,"gamma":0.03967898176516581,"theta":-0.014397088998251099,"vega":0.013523610285377331,"rho":0.0018476140694575125,"phi":-0.001998925327206802,"bid_iv":0.608539,"mid_iv":0.61655,"ask_iv":0.62456,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-33.34,"average_volume":0,"last_volume":1,"trade_date":1709923284385,"prevclose":0.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"N","bid_date":1709931595000,"asksize":1304,"askexch":"E","ask_date":1709931592000,"open_interest":108,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00034000","description":"PLTR - Apr 5 2024 $34.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.95,"ask":8.25,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9207317378021995,"gamma":0.03231542116131404,"theta":-0.01234636153188383,"vega":0.010300592890463745,"rho":0.0014577674380412669,"phi":-0.0015748723455888403,"bid_iv":0.0,"mid_iv":0.703279,"ask_iv":0.703279,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":150,"bidexch":"E","bid_date":1709931597000,"asksize":1,"askexch":"W","ask_date":1709931596000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00034000","description":"PLTR - Apr 5 2024 $34.00 Call","exch":"Z","type":"option","last":0.17,"change":-0.07,"volume":52,"open":0.29,"high":0.29,"low":0.17,"close":0.17,"bid":0.14,"ask":0.16,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.07926826219780049,"gamma":0.03231542116131404,"theta":-0.01234636153188383,"vega":0.010300592890463745,"rho":0.0014577674380412669,"phi":-0.0015748723455888403,"bid_iv":0.619634,"mid_iv":0.629357,"ask_iv":0.63908,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-29.17,"average_volume":0,"last_volume":3,"trade_date":1709928556919,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1056,"bidexch":"D","bid_date":1709931579000,"asksize":736,"askexch":"E","ask_date":1709931571000,"open_interest":229,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240405P00035000","description":"PLTR - Apr 5 2024 $35.00 Put","exch":"Z","type":"option","last":10.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.95,"ask":10.6,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9371451313427581,"gamma":0.026325095601018148,"theta":-0.010578912999551344,"vega":0.008933360708798148,"rho":0.0011571132401691387,"phi":-0.001248637308409739,"bid_iv":0.0,"mid_iv":0.759554,"ask_iv":0.759554,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1709222456696,"prevclose":10.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"X","bid_date":1709931592000,"asksize":12,"askexch":"M","ask_date":1709931596000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240405C00035000","description":"PLTR - Apr 5 2024 $35.00 Call","exch":"Z","type":"option","last":0.13,"change":-0.05,"volume":563,"open":0.21,"high":0.23,"low":0.11,"close":0.13,"bid":0.11,"ask":0.13,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.06285486865724192,"gamma":0.026325095601018148,"theta":-0.010578912999551344,"vega":0.008933360708798148,"rho":0.0011571132401691387,"phi":-0.001248637308409739,"bid_iv":0.638408,"mid_iv":0.649628,"ask_iv":0.660848,"smv_vol":0.646,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-27.78,"average_volume":0,"last_volume":5,"trade_date":1709925284197,"prevclose":0.18,"week_52_high":0.0,"week_52_low":0.0,"bidsize":732,"bidexch":"D","bid_date":1709931585000,"asksize":949,"askexch":"E","ask_date":1709931592000,"open_interest":947,"contract_size":100,"expiration_date":"2024-04-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '198' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '2' - status: - code: 200 - message: '' -- request: - body: null - headers: - Accept: - - application/json - Authorization: - - MOCK_API_KEY - method: GET - uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-04-19&greeks=true - response: - body: - string: '{"options":{"option":[{"symbol":"PLTR240419P00001000","description":"PLTR - Apr 19 2024 $1.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":1.0,"greeks":{"delta":-9.3E-15,"gamma":-1.855633165792841E-15,"theta":-1.5320934293134854E-4,"vega":2.000000121242416E-5,"rho":0.001142236276822517,"phi":-0.02993690245034486,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1709930966000,"asksize":114,"askexch":"C","ask_date":1709931282000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00001000","description":"PLTR - Apr 19 2024 $1.00 Call","exch":"Z","type":"option","last":23.44,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":24.9,"ask":25.25,"underlying":"PLTR","strike":1.0,"greeks":{"delta":0.9999999999999907,"gamma":-1.855633165792841E-15,"theta":-1.5320934293134854E-4,"vega":2.000000121242416E-5,"rho":0.001142236276822517,"phi":-0.02993690245034486,"bid_iv":0.0,"mid_iv":5.931057,"ask_iv":5.931057,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709066238892,"prevclose":23.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"E","bid_date":1709931586000,"asksize":100,"askexch":"Q","ask_date":1709931590000,"open_interest":8,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00002000","description":"PLTR - Apr 19 2024 $2.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":2.0,"greeks":{"delta":-7.8E-15,"gamma":4.931158937440961E-16,"theta":-3.0641868587339674E-4,"vega":2.0000001161906486E-5,"rho":0.0022844725511641227,"phi":-0.029936902485871997,"bid_iv":0.0,"mid_iv":2.951054,"ask_iv":2.951054,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1709930966000,"asksize":16,"askexch":"H","ask_date":1709931580000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00002000","description":"PLTR - Apr 19 2024 $2.00 Call","exch":"Z","type":"option","last":24.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":24.0,"ask":24.1,"underlying":"PLTR","strike":2.0,"greeks":{"delta":0.9999999999999922,"gamma":4.931158937440961E-16,"theta":-3.0641868587339674E-4,"vega":2.0000001161906486E-5,"rho":0.0022844725511641227,"phi":-0.029936902485871997,"bid_iv":0.0,"mid_iv":4.056975,"ask_iv":4.056975,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709843460079,"prevclose":24.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":55,"bidexch":"E","bid_date":1709931584000,"asksize":35,"askexch":"X","ask_date":1709931600000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00003000","description":"PLTR - Apr 19 2024 $3.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-9.3E-15,"gamma":-1.855633165792841E-15,"theta":-4.596280288090844E-4,"vega":2.0000001111388815E-5,"rho":0.003426708823955159,"phi":-0.029936902592453407,"bid_iv":0.0,"mid_iv":2.470292,"ask_iv":2.470292,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"C","bid_date":1709931280000,"asksize":16,"askexch":"H","ask_date":1709931580000,"open_interest":0,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00003000","description":"PLTR - Apr 19 2024 $3.00 Call","exch":"Z","type":"option","last":20.71,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":23.0,"ask":23.2,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999999999999907,"gamma":-1.855633165792841E-15,"theta":-4.596280288090844E-4,"vega":2.0000001111388815E-5,"rho":0.003426708823955159,"phi":-0.029936902592453407,"bid_iv":0.0,"mid_iv":3.327352,"ask_iv":3.327352,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709564393765,"prevclose":20.71,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"X","bid_date":1709931596000,"asksize":150,"askexch":"X","ask_date":1709931596000,"open_interest":6,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00004000","description":"PLTR - Apr 19 2024 $4.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":4.0,"greeks":{"delta":-9.3E-15,"gamma":4.770430788298909E-16,"theta":-6.128373717468783E-4,"vega":2.0000001161906486E-5,"rho":0.0045689450973664236,"phi":-0.029936902592453407,"bid_iv":0.0,"mid_iv":2.138142,"ask_iv":2.138142,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1709930966000,"asksize":166,"askexch":"Z","ask_date":1709931268000,"open_interest":4,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00004000","description":"PLTR - Apr 19 2024 $4.00 Call","exch":"Z","type":"option","last":21.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.0,"ask":22.15,"underlying":"PLTR","strike":4.0,"greeks":{"delta":0.9999999999999907,"gamma":4.770430788298909E-16,"theta":-6.128373717468783E-4,"vega":2.0000001161906486E-5,"rho":0.0045689450973664236,"phi":-0.029936902592453407,"bid_iv":0.0,"mid_iv":2.833683,"ask_iv":2.833683,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709735766028,"prevclose":21.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":56,"bidexch":"E","bid_date":1709931596000,"asksize":18,"askexch":"M","ask_date":1709931527000,"open_interest":7,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00005000","description":"PLTR - Apr 19 2024 $5.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-7.3E-14,"gamma":7.476313993773239E-14,"theta":-7.660467147208563E-4,"vega":2.0000001035612305E-5,"rho":0.0057111813698473455,"phi":-0.029936902734561954,"bid_iv":0.0,"mid_iv":1.88465,"ask_iv":1.88465,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1709931280000,"asksize":52,"askexch":"C","ask_date":1709931280000,"open_interest":1039,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00005000","description":"PLTR - Apr 19 2024 $5.00 Call","exch":"Z","type":"option","last":18.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":21.0,"ask":22.1,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.999999999999927,"gamma":7.476313993773239E-14,"theta":-7.660467147208563E-4,"vega":2.0000001035612305E-5,"rho":0.0057111813698473455,"phi":-0.029936902734561954,"bid_iv":0.0,"mid_iv":2.464,"ask_iv":2.464,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708612511288,"prevclose":18.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":78,"bidexch":"E","bid_date":1709931598000,"asksize":128,"askexch":"X","ask_date":1709931599000,"open_interest":8,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419C00006000","description":"PLTR - Apr 19 2024 $6.00 Call","exch":"Z","type":"option","last":18.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":19.9,"ask":20.15,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9999999999677123,"gamma":3.400973935729171E-11,"theta":-9.192560730743105E-4,"vega":2.0000025258836647E-5,"rho":0.006853417642638383,"phi":-0.029936902841143365,"bid_iv":0.0,"mid_iv":2.168615,"ask_iv":2.168615,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707405290216,"prevclose":18.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":170,"bidexch":"E","bid_date":1709931599000,"asksize":1,"askexch":"T","ask_date":1709931598000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00006000","description":"PLTR - Apr 19 2024 $6.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-3.22877E-11,"gamma":3.400973935729171E-11,"theta":-9.192560730743105E-4,"vega":2.0000025258836647E-5,"rho":0.006853417642638383,"phi":-0.029936902841143365,"bid_iv":0.0,"mid_iv":1.679843,"ask_iv":1.679843,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707921004074,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1709930966000,"asksize":52,"askexch":"C","ask_date":1709931280000,"open_interest":1239,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419P00007000","description":"PLTR - Apr 19 2024 $7.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-2.9537983E-9,"gamma":2.8097711532087865E-9,"theta":-0.001072466675649901,"vega":2.0001445234856396E-5,"rho":0.007995653823945821,"phi":-0.029936902912197638,"bid_iv":0.0,"mid_iv":1.50813,"ask_iv":1.50813,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709320462240,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"C","bid_date":1709925439000,"asksize":12,"askexch":"J","ask_date":1709931595000,"open_interest":1387,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00007000","description":"PLTR - Apr 19 2024 $7.00 Call","exch":"Z","type":"option","last":19.24,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.95,"ask":19.3,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9999999970462017,"gamma":2.8097711532087865E-9,"theta":-0.001072466675649901,"vega":2.0001445234856396E-5,"rho":0.007995653823945821,"phi":-0.029936902912197638,"bid_iv":0.0,"mid_iv":1.919408,"ask_iv":1.919408,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709747673744,"prevclose":19.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":18,"bidexch":"M","bid_date":1709931596000,"asksize":113,"askexch":"Z","ask_date":1709931596000,"open_interest":21,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00008000","description":"PLTR - Apr 19 2024 $8.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-9.37429364E-8,"gamma":8.069728274703563E-8,"theta":-0.0012257113254364226,"vega":2.0050647731042643E-5,"rho":0.009137887229423838,"phi":-0.029936900070026695,"bid_iv":0.0,"mid_iv":1.360372,"ask_iv":1.360372,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":12,"trade_date":1708008482404,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"N","bid_date":1709910547000,"asksize":74,"askexch":"Z","ask_date":1709931096000,"open_interest":875,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00008000","description":"PLTR - Apr 19 2024 $8.00 Call","exch":"Z","type":"option","last":18.16,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.95,"ask":18.3,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9999999062570636,"gamma":8.069728274703563E-8,"theta":-0.0012257113254364226,"vega":2.0050647731042643E-5,"rho":0.009137887229423838,"phi":-0.029936900070026695,"bid_iv":0.0,"mid_iv":1.705553,"ask_iv":1.705553,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709752693208,"prevclose":18.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":292,"bidexch":"X","bid_date":1709931596000,"asksize":301,"askexch":"E","ask_date":1709931593000,"open_interest":91,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00009000","description":"PLTR - Apr 19 2024 $9.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-1.3476813542E-6,"gamma":1.0576668469062038E-6,"theta":-0.001379363027814208,"vega":2.070281743029208E-5,"rho":0.01028008375925928,"phi":-0.029936862340207426,"bid_iv":0.0,"mid_iv":1.230754,"ask_iv":1.230754,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709147578950,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"C","bid_date":1709918836000,"asksize":39,"askexch":"J","ask_date":1709931280000,"open_interest":632,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00009000","description":"PLTR - Apr 19 2024 $9.00 Call","exch":"Z","type":"option","last":17.55,"change":0.55,"volume":6,"open":17.65,"high":17.65,"low":17.55,"close":17.55,"bid":17.05,"ask":17.3,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9999986523186458,"gamma":1.0576668469062038E-6,"theta":-0.001379363027814208,"vega":2.070281743029208E-5,"rho":0.01028008375925928,"phi":-0.029936862340207426,"bid_iv":0.0,"mid_iv":1.518685,"ask_iv":1.518685,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.24,"average_volume":0,"last_volume":3,"trade_date":1709914010532,"prevclose":17.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"E","bid_date":1709931589000,"asksize":247,"askexch":"X","ask_date":1709931594000,"open_interest":89,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00010000","description":"PLTR - Apr 19 2024 $10.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":4,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-1.18423620004E-5,"gamma":8.464280347316763E-6,"theta":-0.001535921609432458,"vega":2.4517533234810673E-5,"rho":0.011421986062650097,"phi":-0.02993654597105433,"bid_iv":0.0,"mid_iv":1.11535,"ask_iv":1.11535,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":4,"trade_date":1709921787197,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"C","bid_date":1709925281000,"asksize":26,"askexch":"C","ask_date":1709931280000,"open_interest":1121,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00010000","description":"PLTR - Apr 19 2024 $10.00 Call","exch":"Z","type":"option","last":16.28,"change":-0.64,"volume":11,"open":16.6,"high":16.6,"low":16.09,"close":16.28,"bid":16.05,"ask":16.25,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9999881576379996,"gamma":8.464280347316763E-6,"theta":-0.001535921609432458,"vega":2.4517533234810673E-5,"rho":0.011421986062650097,"phi":-0.02993654597105433,"bid_iv":0.0,"mid_iv":1.519862,"ask_iv":1.519862,"smv_vol":0.777,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.79,"average_volume":0,"last_volume":1,"trade_date":1709926461607,"prevclose":16.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"E","bid_date":1709931594000,"asksize":12,"askexch":"M","ask_date":1709931593000,"open_interest":88,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00011000","description":"PLTR - Apr 19 2024 $11.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":5,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-6.93147727264E-5,"gamma":4.5208865646957366E-5,"theta":-0.0017057225117993325,"vega":4.389913884483304E-5,"rho":0.012562385190990075,"phi":-0.02993481462709724,"bid_iv":1.011388,"mid_iv":1.054302,"ask_iv":1.097216,"smv_vol":0.776,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709909491230,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"X","bid_date":1709910957000,"asksize":291,"askexch":"W","ask_date":1709931561000,"open_interest":6908,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00011000","description":"PLTR - Apr 19 2024 $11.00 Call","exch":"Z","type":"option","last":15.94,"change":0.26,"volume":1,"open":15.94,"high":15.94,"low":15.94,"close":15.94,"bid":15.05,"ask":15.2,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9999306852272736,"gamma":4.5208865646957366E-5,"theta":-0.0017057225117993325,"vega":4.389913884483304E-5,"rho":0.012562385190990075,"phi":-0.02993481462709724,"bid_iv":0.0,"mid_iv":1.200133,"ask_iv":1.200133,"smv_vol":0.776,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.66,"average_volume":0,"last_volume":1,"trade_date":1709912598036,"prevclose":15.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":276,"bidexch":"X","bid_date":1709931597000,"asksize":20,"askexch":"M","ask_date":1709931598000,"open_interest":321,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00012000","description":"PLTR - Apr 19 2024 $12.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":5,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-2.98644579611E-4,"gamma":1.7783627530868433E-4,"theta":-0.0019187193287128028,"vega":1.248461830747344E-4,"rho":0.013697253936467675,"phi":-0.02992790950173685,"bid_iv":0.0,"mid_iv":0.995427,"ask_iv":0.995427,"smv_vol":0.774,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709909171524,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"E","bid_date":1709930966000,"asksize":109,"askexch":"P","ask_date":1709931280000,"open_interest":9232,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00012000","description":"PLTR - Apr 19 2024 $12.00 Call","exch":"Z","type":"option","last":15.16,"change":0.56,"volume":1,"open":15.16,"high":15.16,"low":15.16,"close":15.16,"bid":14.05,"ask":14.25,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.999701355420389,"gamma":1.7783627530868433E-4,"theta":-0.0019187193287128028,"vega":1.248461830747344E-4,"rho":0.013697253936467675,"phi":-0.02992790950173685,"bid_iv":0.0,"mid_iv":1.224985,"ask_iv":1.224985,"smv_vol":0.774,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.84,"average_volume":0,"last_volume":1,"trade_date":1709910079681,"prevclose":14.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":349,"bidexch":"E","bid_date":1709931596000,"asksize":166,"askexch":"A","ask_date":1709931597000,"open_interest":401,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00013000","description":"PLTR - Apr 19 2024 $13.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.01,"volume":3,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0010112422379851,"gamma":5.497685669342898E-4,"theta":-0.002239276375761381,"vega":3.036291741444705E-4,"rho":0.014816468222437075,"phi":-0.029906465339735178,"bid_iv":0.82865,"mid_iv":0.864663,"ask_iv":0.900675,"smv_vol":0.765,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-50.00,"average_volume":0,"last_volume":1,"trade_date":1709909137766,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":213,"bidexch":"D","bid_date":1709931273000,"asksize":129,"askexch":"D","ask_date":1709931517000,"open_interest":8057,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00013000","description":"PLTR - Apr 19 2024 $13.00 Call","exch":"Z","type":"option","last":13.18,"change":-1.05,"volume":2,"open":13.18,"high":13.18,"low":13.18,"close":13.18,"bid":13.1,"ask":13.2,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9989887577620149,"gamma":5.497685669342898E-4,"theta":-0.002239276375761381,"vega":3.036291741444705E-4,"rho":0.014816468222437075,"phi":-0.029906465339735178,"bid_iv":0.0,"mid_iv":1.09647,"ask_iv":1.09647,"smv_vol":0.765,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.38,"average_volume":0,"last_volume":1,"trade_date":1709915217324,"prevclose":14.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931593000,"asksize":32,"askexch":"X","ask_date":1709931563000,"open_interest":430,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419C00014000","description":"PLTR - Apr 19 2024 $14.00 Call","exch":"Z","type":"option","last":12.92,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.1,"ask":12.15,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9972143049231169,"gamma":0.0013854091486425277,"theta":-0.0027676763035950915,"vega":7.228116224393616E-4,"rho":0.015901025782343387,"phi":-0.02985309356162702,"bid_iv":0.0,"mid_iv":0.977908,"ask_iv":0.977908,"smv_vol":0.738,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709833130185,"prevclose":12.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":160,"bidexch":"A","bid_date":1709931555000,"asksize":5,"askexch":"P","ask_date":1709931576000,"open_interest":1920,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00014000","description":"PLTR - Apr 19 2024 $14.00 Put","exch":"Z","type":"option","last":0.01,"change":-0.02,"volume":17,"open":0.02,"high":0.02,"low":0.01,"close":0.01,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0027856950768831,"gamma":0.0013854091486425277,"theta":-0.0027676763035950915,"vega":7.228116224393616E-4,"rho":0.015901025782343387,"phi":-0.02985309356162702,"bid_iv":0.746907,"mid_iv":0.80247,"ask_iv":0.858033,"smv_vol":0.738,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-66.67,"average_volume":0,"last_volume":1,"trade_date":1709910738236,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1344,"bidexch":"D","bid_date":1709931598000,"asksize":305,"askexch":"B","ask_date":1709931587000,"open_interest":6587,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419P00015000","description":"PLTR - Apr 19 2024 $15.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":110,"open":0.04,"high":0.04,"low":0.02,"close":0.03,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0066428097000313,"gamma":0.003012709081967241,"theta":-0.003649018073208679,"vega":0.0015818844879322467,"rho":0.016916999631676005,"phi":-0.02973713755238805,"bid_iv":0.730991,"mid_iv":0.751958,"ask_iv":0.772925,"smv_vol":0.712,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709923698882,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":732,"bidexch":"D","bid_date":1709931560000,"asksize":20,"askexch":"D","ask_date":1709931592000,"open_interest":8269,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00015000","description":"PLTR - Apr 19 2024 $15.00 Call","exch":"Z","type":"option","last":11.24,"change":-0.51,"volume":13,"open":11.3,"high":11.31,"low":11.19,"close":11.24,"bid":11.1,"ask":11.25,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9933571902999687,"gamma":0.003012709081967241,"theta":-0.003649018073208679,"vega":0.0015818844879322467,"rho":0.016916999631676005,"phi":-0.02973713755238805,"bid_iv":0.0,"mid_iv":0.86785,"ask_iv":0.86785,"smv_vol":0.712,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.34,"average_volume":0,"last_volume":1,"trade_date":1709925675807,"prevclose":11.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":78,"bidexch":"X","bid_date":1709931563000,"asksize":20,"askexch":"X","ask_date":1709931512000,"open_interest":2318,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00016000","description":"PLTR - Apr 19 2024 $16.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":46,"open":0.03,"high":0.04,"low":0.03,"close":0.03,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0121747663519258,"gamma":0.005253047280975579,"theta":-0.004690930558089582,"vega":0.002574305852909312,"rho":0.017877727677794657,"phi":-0.029570856252547628,"bid_iv":0.692837,"mid_iv":0.708046,"ask_iv":0.723256,"smv_vol":0.688,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709920354397,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1271,"bidexch":"D","bid_date":1709931587000,"asksize":397,"askexch":"D","ask_date":1709931587000,"open_interest":7367,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00016000","description":"PLTR - Apr 19 2024 $16.00 Call","exch":"Z","type":"option","last":10.37,"change":-0.75,"volume":15,"open":11.2,"high":11.2,"low":10.28,"close":10.37,"bid":10.1,"ask":10.4,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9878252336480742,"gamma":0.005253047280975579,"theta":-0.004690930558089582,"vega":0.002574305852909312,"rho":0.017877727677794657,"phi":-0.029570856252547628,"bid_iv":0.535836,"mid_iv":0.728414,"ask_iv":0.920992,"smv_vol":0.688,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.75,"average_volume":0,"last_volume":1,"trade_date":1709925043381,"prevclose":11.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":298,"bidexch":"E","bid_date":1709931589000,"asksize":457,"askexch":"X","ask_date":1709931599000,"open_interest":3166,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00017000","description":"PLTR - Apr 19 2024 $17.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":95,"open":0.05,"high":0.05,"low":0.04,"close":0.05,"bid":0.04,"ask":0.05,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0205878973098421,"gamma":0.0084959564916452,"theta":-0.0060085474820056346,"vega":0.004522321937250089,"rho":0.018743182781077575,"phi":-0.02931802351113788,"bid_iv":0.643813,"mid_iv":0.655255,"ask_iv":0.666697,"smv_vol":0.665,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":50,"trade_date":1709931409079,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":855,"bidexch":"D","bid_date":1709931598000,"asksize":268,"askexch":"D","ask_date":1709931589000,"open_interest":6488,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00017000","description":"PLTR - Apr 19 2024 $17.00 Call","exch":"Z","type":"option","last":9.43,"change":-0.72,"volume":38,"open":10.19,"high":10.19,"low":9.42,"close":9.43,"bid":9.15,"ask":9.2,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9794121026901579,"gamma":0.0084959564916452,"theta":-0.0060085474820056346,"vega":0.004522321937250089,"rho":0.018743182781077575,"phi":-0.02931802351113788,"bid_iv":0.36918,"mid_iv":0.552226,"ask_iv":0.735272,"smv_vol":0.665,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.10,"average_volume":0,"last_volume":1,"trade_date":1709914779623,"prevclose":10.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"X","bid_date":1709931577000,"asksize":1,"askexch":"P","ask_date":1709931577000,"open_interest":3644,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00018000","description":"PLTR - Apr 19 2024 $18.00 Put","exch":"Z","type":"option","last":0.08,"change":0.02,"volume":73,"open":0.07,"high":0.08,"low":0.07,"close":0.08,"bid":0.07,"ask":0.08,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0319492774558581,"gamma":0.01279901934457252,"theta":-0.007453970906707025,"vega":0.006006351443967151,"rho":0.019511662878962506,"phi":-0.02897661007139618,"bid_iv":0.626562,"mid_iv":0.634893,"ask_iv":0.643225,"smv_vol":0.625,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":33.34,"average_volume":0,"last_volume":2,"trade_date":1709931291762,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709928365000,"asksize":814,"askexch":"D","ask_date":1709931589000,"open_interest":4571,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00018000","description":"PLTR - Apr 19 2024 $18.00 Call","exch":"Z","type":"option","last":8.15,"change":-0.54,"volume":71,"open":9.21,"high":9.21,"low":8.05,"close":8.15,"bid":8.15,"ask":8.3,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9680507225441419,"gamma":0.01279901934457252,"theta":-0.007453970906707025,"vega":0.006006351443967151,"rho":0.019511662878962506,"phi":-0.02897661007139618,"bid_iv":0.562038,"mid_iv":0.604333,"ask_iv":0.646628,"smv_vol":0.625,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.22,"average_volume":0,"last_volume":5,"trade_date":1709924002558,"prevclose":8.69,"week_52_high":0.0,"week_52_low":0.0,"bidsize":226,"bidexch":"E","bid_date":1709931596000,"asksize":11,"askexch":"Z","ask_date":1709931594000,"open_interest":6798,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00019000","description":"PLTR - Apr 19 2024 $19.00 Put","exch":"Z","type":"option","last":0.1,"change":0.00,"volume":279,"open":0.09,"high":0.12,"low":0.08,"close":0.1,"bid":0.1,"ask":0.11,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0484239341390715,"gamma":0.0187174972907017,"theta":-0.009201425203934167,"vega":0.008616246744001688,"rho":0.020110599443151977,"phi":-0.02848163691560046,"bid_iv":0.589745,"mid_iv":0.595567,"ask_iv":0.60139,"smv_vol":0.598,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709931386129,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":909,"bidexch":"D","bid_date":1709931587000,"asksize":831,"askexch":"D","ask_date":1709931587000,"open_interest":7968,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00019000","description":"PLTR - Apr 19 2024 $19.00 Call","exch":"Z","type":"option","last":7.35,"change":-0.54,"volume":115,"open":8.22,"high":8.28,"low":7.17,"close":7.35,"bid":7.2,"ask":7.3,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9515760658609285,"gamma":0.0187174972907017,"theta":-0.009201425203934167,"vega":0.008616246744001688,"rho":0.020110599443151977,"phi":-0.02848163691560046,"bid_iv":0.481423,"mid_iv":0.551057,"ask_iv":0.620691,"smv_vol":0.598,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.85,"average_volume":0,"last_volume":2,"trade_date":1709930880338,"prevclose":7.89,"week_52_high":0.0,"week_52_low":0.0,"bidsize":472,"bidexch":"E","bid_date":1709931591000,"asksize":159,"askexch":"A","ask_date":1709931600000,"open_interest":5995,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00020000","description":"PLTR - Apr 19 2024 $20.00 Put","exch":"Z","type":"option","last":0.16,"change":0.00,"volume":336,"open":0.12,"high":0.18,"low":0.12,"close":0.16,"bid":0.15,"ask":0.16,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0703460610331464,"gamma":0.02637191411614788,"theta":-0.01104849516488322,"vega":0.011854254132408502,"rho":0.02052981264449256,"phi":-0.027823064563392563,"bid_iv":0.560849,"mid_iv":0.565079,"ask_iv":0.569309,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709931386129,"prevclose":0.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":476,"bidexch":"W","bid_date":1709931593000,"asksize":30,"askexch":"D","ask_date":1709931594000,"open_interest":13135,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00020000","description":"PLTR - Apr 19 2024 $20.00 Call","exch":"Z","type":"option","last":6.39,"change":-0.36,"volume":251,"open":7.5,"high":7.5,"low":6.15,"close":6.39,"bid":6.25,"ask":6.35,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9296539389668536,"gamma":0.02637191411614788,"theta":-0.01104849516488322,"vega":0.011854254132408502,"rho":0.02052981264449256,"phi":-0.027823064563392563,"bid_iv":0.535127,"mid_iv":0.578235,"ask_iv":0.621343,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.34,"average_volume":0,"last_volume":1,"trade_date":1709931021288,"prevclose":6.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":476,"bidexch":"E","bid_date":1709931597000,"asksize":39,"askexch":"X","ask_date":1709931596000,"open_interest":6066,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00021000","description":"PLTR - Apr 19 2024 $21.00 Put","exch":"Z","type":"option","last":0.25,"change":-0.01,"volume":539,"open":0.21,"high":0.29,"low":0.19,"close":0.25,"bid":0.24,"ask":0.26,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0999265347679981,"gamma":0.03621502106487472,"theta":-0.013007925315804343,"vega":0.015653747963829755,"rho":0.020695301888983345,"phi":-0.02693457017421963,"bid_iv":0.543972,"mid_iv":0.55036,"ask_iv":0.556748,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.85,"average_volume":0,"last_volume":2,"trade_date":1709931140189,"prevclose":0.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1136,"bidexch":"E","bid_date":1709931589000,"asksize":738,"askexch":"D","ask_date":1709931587000,"open_interest":6379,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00021000","description":"PLTR - Apr 19 2024 $21.00 Call","exch":"Z","type":"option","last":5.38,"change":-0.52,"volume":54,"open":6.25,"high":6.67,"low":5.3,"close":5.38,"bid":5.35,"ask":5.45,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9000734652320019,"gamma":0.03621502106487472,"theta":-0.013007925315804343,"vega":0.015653747963829755,"rho":0.020695301888983345,"phi":-0.02693457017421963,"bid_iv":0.528357,"mid_iv":0.544351,"ask_iv":0.560346,"smv_vol":0.549,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.82,"average_volume":0,"last_volume":1,"trade_date":1709931338531,"prevclose":5.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":823,"bidexch":"E","bid_date":1709931592000,"asksize":115,"askexch":"C","ask_date":1709931593000,"open_interest":6394,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00022000","description":"PLTR - Apr 19 2024 $22.00 Put","exch":"Z","type":"option","last":0.39,"change":0.01,"volume":282,"open":0.31,"high":0.44,"low":0.29,"close":0.39,"bid":0.39,"ask":0.4,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.1425595354773407,"gamma":0.04851414352962038,"theta":-0.015344760637857797,"vega":0.019869057697195616,"rho":0.020418570283892757,"phi":-0.02565458749437255,"bid_iv":0.532433,"mid_iv":0.537451,"ask_iv":0.54247,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.64,"average_volume":0,"last_volume":2,"trade_date":1709931449354,"prevclose":0.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":478,"bidexch":"D","bid_date":1709931591000,"asksize":629,"askexch":"D","ask_date":1709931591000,"open_interest":6542,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00022000","description":"PLTR - Apr 19 2024 $22.00 Call","exch":"Z","type":"option","last":4.57,"change":-0.33,"volume":207,"open":5.34,"high":5.55,"low":4.47,"close":4.57,"bid":4.5,"ask":4.6,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.8574404645226593,"gamma":0.04851414352962038,"theta":-0.015344760637857797,"vega":0.019869057697195616,"rho":0.020418570283892757,"phi":-0.02565458749437255,"bid_iv":0.522301,"mid_iv":0.534882,"ask_iv":0.547463,"smv_vol":0.536,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.74,"average_volume":0,"last_volume":1,"trade_date":1709931272410,"prevclose":4.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1010,"bidexch":"E","bid_date":1709931588000,"asksize":230,"askexch":"E","ask_date":1709931588000,"open_interest":5365,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00023000","description":"PLTR - Apr 19 2024 $23.00 Put","exch":"Z","type":"option","last":0.61,"change":0.03,"volume":370,"open":0.51,"high":0.68,"low":0.44,"close":0.61,"bid":0.6,"ask":0.62,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2022425944210093,"gamma":0.06190739190710792,"theta":-0.018099291947170373,"vega":0.02425189567130957,"rho":0.019544385060391835,"phi":-0.023863851539296377,"bid_iv":0.531094,"mid_iv":0.532871,"ask_iv":0.534649,"smv_vol":0.529,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.18,"average_volume":0,"last_volume":4,"trade_date":1709931512663,"prevclose":0.58,"week_52_high":0.0,"week_52_low":0.0,"bidsize":172,"bidexch":"D","bid_date":1709931589000,"asksize":1023,"askexch":"D","ask_date":1709931591000,"open_interest":4209,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00023000","description":"PLTR - Apr 19 2024 $23.00 Call","exch":"Z","type":"option","last":3.8,"change":-0.40,"volume":222,"open":4.44,"high":4.84,"low":3.65,"close":3.8,"bid":3.75,"ask":3.85,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7977574055789907,"gamma":0.06190739190710792,"theta":-0.018099291947170373,"vega":0.02425189567130957,"rho":0.019544385060391835,"phi":-0.023863851539296377,"bid_iv":0.5125,"mid_iv":0.532051,"ask_iv":0.551601,"smv_vol":0.529,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.53,"average_volume":0,"last_volume":1,"trade_date":1709931269521,"prevclose":4.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":786,"bidexch":"C","bid_date":1709931585000,"asksize":1132,"askexch":"E","ask_date":1709931589000,"open_interest":5794,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00024000","description":"PLTR - Apr 19 2024 $24.00 Put","exch":"Z","type":"option","last":0.9,"change":0.05,"volume":826,"open":0.72,"high":1.0,"low":0.67,"close":0.9,"bid":0.89,"ask":0.92,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.2776208476595441,"gamma":0.07337771820639033,"theta":-0.020860729716505787,"vega":0.02989008923259482,"rho":0.018080798879750632,"phi":-0.02160382532423455,"bid_iv":0.526079,"mid_iv":0.529419,"ask_iv":0.532759,"smv_vol":0.529,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.89,"average_volume":0,"last_volume":1,"trade_date":1709931564883,"prevclose":0.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":893,"bidexch":"E","bid_date":1709931598000,"asksize":415,"askexch":"E","ask_date":1709931599000,"open_interest":10163,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00024000","description":"PLTR - Apr 19 2024 $24.00 Call","exch":"Z","type":"option","last":3.11,"change":-0.29,"volume":568,"open":3.9,"high":4.04,"low":3.0,"close":3.11,"bid":3.05,"ask":3.15,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.7223791523404559,"gamma":0.07337771820639033,"theta":-0.020860729716505787,"vega":0.02989008923259482,"rho":0.018080798879750632,"phi":-0.02160382532423455,"bid_iv":0.512782,"mid_iv":0.529512,"ask_iv":0.546241,"smv_vol":0.529,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.53,"average_volume":0,"last_volume":1,"trade_date":1709931459841,"prevclose":3.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1293,"bidexch":"E","bid_date":1709931594000,"asksize":1361,"askexch":"E","ask_date":1709931594000,"open_interest":13177,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00025000","description":"PLTR - Apr 19 2024 $25.00 Put","exch":"Z","type":"option","last":1.29,"change":0.07,"volume":932,"open":1.02,"high":1.4,"low":0.96,"close":1.29,"bid":1.29,"ask":1.31,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3610929504307874,"gamma":0.08073304627430997,"theta":-0.02307955918352847,"vega":0.032983956938860366,"rho":0.016252859820618946,"phi":-0.019102726613873244,"bid_iv":0.530312,"mid_iv":0.53334,"ask_iv":0.536369,"smv_vol":0.532,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.74,"average_volume":0,"last_volume":26,"trade_date":1709931399648,"prevclose":1.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":129,"bidexch":"D","bid_date":1709931598000,"asksize":707,"askexch":"D","ask_date":1709931598000,"open_interest":6560,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00025000","description":"PLTR - Apr 19 2024 $25.00 Call","exch":"Z","type":"option","last":2.48,"change":-0.32,"volume":2289,"open":3.35,"high":3.35,"low":2.4,"close":2.48,"bid":2.47,"ask":2.5,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6389070495692126,"gamma":0.08073304627430997,"theta":-0.02307955918352847,"vega":0.032983956938860366,"rho":0.016252859820618946,"phi":-0.019102726613873244,"bid_iv":0.529297,"mid_iv":0.53233,"ask_iv":0.535362,"smv_vol":0.532,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.43,"average_volume":0,"last_volume":1,"trade_date":1709931573345,"prevclose":2.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":154,"bidexch":"D","bid_date":1709931596000,"asksize":216,"askexch":"D","ask_date":1709931596000,"open_interest":18157,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00026000","description":"PLTR - Apr 19 2024 $26.00 Put","exch":"Z","type":"option","last":1.77,"change":0.09,"volume":1526,"open":1.49,"high":1.92,"low":1.36,"close":1.77,"bid":1.78,"ask":1.8,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4455284854583486,"gamma":0.08378418217651615,"theta":-0.024349057643714186,"vega":0.03492474138315892,"rho":0.014289561882172876,"phi":-0.016574074397368577,"bid_iv":0.534852,"mid_iv":0.537717,"ask_iv":0.540581,"smv_vol":0.537,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.36,"average_volume":0,"last_volume":1,"trade_date":1709931490944,"prevclose":1.68,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"D","bid_date":1709931593000,"asksize":71,"askexch":"D","ask_date":1709931598000,"open_interest":5241,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00026000","description":"PLTR - Apr 19 2024 $26.00 Call","exch":"Z","type":"option","last":1.91,"change":-0.34,"volume":2009,"open":2.57,"high":2.9,"low":1.91,"close":1.91,"bid":1.96,"ask":1.99,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5544715145416514,"gamma":0.08378418217651615,"theta":-0.024349057643714186,"vega":0.03492474138315892,"rho":0.014289561882172876,"phi":-0.016574074397368577,"bid_iv":0.530333,"mid_iv":0.533199,"ask_iv":0.536064,"smv_vol":0.537,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-15.12,"average_volume":0,"last_volume":4,"trade_date":1709931445228,"prevclose":2.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":721,"bidexch":"E","bid_date":1709931597000,"asksize":295,"askexch":"D","ask_date":1709931597000,"open_interest":8324,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419C00027000","description":"PLTR - Apr 19 2024 $27.00 Call","exch":"Z","type":"option","last":1.58,"change":-0.22,"volume":3011,"open":2.08,"high":2.25,"low":1.52,"close":1.58,"bid":1.55,"ask":1.57,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.4730652917562305,"gamma":0.08331388312508817,"theta":-0.02452147827960775,"vega":0.035489602587377114,"rho":0.012328622632251107,"phi":-0.014137165109673333,"bid_iv":0.538509,"mid_iv":0.541328,"ask_iv":0.544147,"smv_vol":0.542,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.23,"average_volume":0,"last_volume":3,"trade_date":1709931438051,"prevclose":1.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"D","bid_date":1709931600000,"asksize":26,"askexch":"B","ask_date":1709931592000,"open_interest":10062,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00027000","description":"PLTR - Apr 19 2024 $27.00 Put","exch":"Z","type":"option","last":2.3,"change":0.07,"volume":969,"open":1.92,"high":2.48,"low":1.83,"close":2.3,"bid":2.36,"ask":2.39,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5269347082437695,"gamma":0.08331388312508817,"theta":-0.02452147827960775,"vega":0.035489602587377114,"rho":0.012328622632251107,"phi":-0.014137165109673333,"bid_iv":0.537629,"mid_iv":0.541877,"ask_iv":0.546125,"smv_vol":0.542,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.14,"average_volume":0,"last_volume":2,"trade_date":1709930414569,"prevclose":2.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"D","bid_date":1709931599000,"asksize":186,"askexch":"D","ask_date":1709931597000,"open_interest":1046,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419P00028000","description":"PLTR - Apr 19 2024 $28.00 Put","exch":"Z","type":"option","last":2.88,"change":0.02,"volume":93,"open":2.42,"high":3.05,"low":2.4,"close":2.88,"bid":3.0,"ask":3.1,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.6033245770983424,"gamma":0.0800527743926586,"theta":-0.023687661322386623,"vega":0.034621444720395265,"rho":0.010441172090870388,"phi":-0.011851265306894732,"bid_iv":0.540569,"mid_iv":0.547872,"ask_iv":0.555175,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.70,"average_volume":0,"last_volume":3,"trade_date":1709926969928,"prevclose":2.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":195,"bidexch":"C","bid_date":1709931593000,"asksize":1555,"askexch":"E","ask_date":1709931593000,"open_interest":579,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00028000","description":"PLTR - Apr 19 2024 $28.00 Call","exch":"Z","type":"option","last":1.22,"change":-0.21,"volume":2774,"open":1.73,"high":1.82,"low":1.2,"close":1.22,"bid":1.21,"ask":1.22,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.3966754229016576,"gamma":0.0800527743926586,"theta":-0.023687661322386623,"vega":0.034621444720395265,"rho":0.010441172090870388,"phi":-0.011851265306894732,"bid_iv":0.544381,"mid_iv":0.547271,"ask_iv":0.55016,"smv_vol":0.547,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-14.69,"average_volume":0,"last_volume":60,"trade_date":1709931595870,"prevclose":1.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":72,"bidexch":"D","bid_date":1709931595000,"asksize":10,"askexch":"D","ask_date":1709931589000,"open_interest":8095,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00029000","description":"PLTR - Apr 19 2024 $29.00 Put","exch":"Z","type":"option","last":3.71,"change":0.39,"volume":2,"open":3.51,"high":3.71,"low":3.51,"close":3.71,"bid":3.7,"ask":3.8,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.6730282716076215,"gamma":0.07451858493397988,"theta":-0.022094108682145286,"vega":0.032428237707290426,"rho":0.008681914033335012,"phi":-0.00976620953663243,"bid_iv":0.537008,"mid_iv":0.552706,"ask_iv":0.568405,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":11.75,"average_volume":0,"last_volume":1,"trade_date":1709919219577,"prevclose":3.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1454,"bidexch":"C","bid_date":1709931584000,"asksize":483,"askexch":"E","ask_date":1709931582000,"open_interest":463,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00029000","description":"PLTR - Apr 19 2024 $29.00 Call","exch":"Z","type":"option","last":0.94,"change":-0.19,"volume":1864,"open":1.32,"high":1.44,"low":0.91,"close":0.94,"bid":0.94,"ask":0.96,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.32697172839237854,"gamma":0.07451858493397988,"theta":-0.022094108682145286,"vega":0.032428237707290426,"rho":0.008681914033335012,"phi":-0.00976620953663243,"bid_iv":0.547846,"mid_iv":0.550932,"ask_iv":0.554017,"smv_vol":0.552,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.82,"average_volume":0,"last_volume":5,"trade_date":1709931504755,"prevclose":1.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"D","bid_date":1709931600000,"asksize":265,"askexch":"E","ask_date":1709931598000,"open_interest":4991,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00030000","description":"PLTR - Apr 19 2024 $30.00 Put","exch":"Z","type":"option","last":4.4,"change":0.10,"volume":49,"open":3.73,"high":4.7,"low":3.73,"close":4.4,"bid":4.5,"ask":4.6,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7342937683750009,"gamma":0.06731610587714718,"theta":-0.020060883110349183,"vega":0.029159954146135068,"rho":0.007107062618733137,"phi":-0.007934266754716646,"bid_iv":0.545812,"mid_iv":0.563422,"ask_iv":0.581033,"smv_vol":0.556,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.33,"average_volume":0,"last_volume":1,"trade_date":1709924877838,"prevclose":4.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":273,"bidexch":"C","bid_date":1709931589000,"asksize":1309,"askexch":"C","ask_date":1709931587000,"open_interest":229,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00030000","description":"PLTR - Apr 19 2024 $30.00 Call","exch":"Z","type":"option","last":0.72,"change":-0.16,"volume":10796,"open":1.12,"high":1.16,"low":0.7,"close":0.72,"bid":0.72,"ask":0.74,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.26570623162499907,"gamma":0.06731610587714718,"theta":-0.020060883110349183,"vega":0.029159954146135068,"rho":0.007107062618733137,"phi":-0.007934266754716646,"bid_iv":0.551991,"mid_iv":0.555423,"ask_iv":0.558855,"smv_vol":0.556,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.19,"average_volume":0,"last_volume":1,"trade_date":1709931595697,"prevclose":0.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":300,"bidexch":"B","bid_date":1709931591000,"asksize":213,"askexch":"D","ask_date":1709931595000,"open_interest":20925,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00031000","description":"PLTR - Apr 19 2024 $31.00 Put","exch":"Z","type":"option","last":5.34,"change":0.38,"volume":5,"open":5.25,"high":5.35,"low":5.25,"close":5.34,"bid":5.35,"ask":5.45,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.7860238830579395,"gamma":0.0592568941016877,"theta":-0.01789453999138612,"vega":0.02516654524610357,"rho":0.005757155540488283,"phi":-0.006388040280080887,"bid_iv":0.535558,"mid_iv":0.556325,"ask_iv":0.577092,"smv_vol":0.562,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.67,"average_volume":0,"last_volume":1,"trade_date":1709922129131,"prevclose":4.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"D","bid_date":1709931591000,"asksize":1044,"askexch":"E","ask_date":1709931589000,"open_interest":109,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00031000","description":"PLTR - Apr 19 2024 $31.00 Call","exch":"Z","type":"option","last":0.55,"change":-0.15,"volume":1191,"open":0.88,"high":0.91,"low":0.55,"close":0.55,"bid":0.55,"ask":0.57,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.21397611694206053,"gamma":0.0592568941016877,"theta":-0.01789453999138612,"vega":0.02516654524610357,"rho":0.005757155540488283,"phi":-0.006388040280080887,"bid_iv":0.557328,"mid_iv":0.561307,"ask_iv":0.565286,"smv_vol":0.562,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.43,"average_volume":0,"last_volume":1,"trade_date":1709931581921,"prevclose":0.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"D","bid_date":1709931600000,"asksize":171,"askexch":"D","ask_date":1709931599000,"open_interest":3581,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419C00032000","description":"PLTR - Apr 19 2024 $32.00 Call","exch":"Z","type":"option","last":0.44,"change":-0.11,"volume":1623,"open":0.66,"high":0.72,"low":0.44,"close":0.44,"bid":0.43,"ask":0.45,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.172353046702261,"gamma":0.05115245241064547,"theta":-0.015839643283548685,"vega":0.023258907786002002,"rho":0.004657101369169405,"phi":-0.005144400977985519,"bid_iv":0.567715,"mid_iv":0.57202,"ask_iv":0.576325,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-20.00,"average_volume":0,"last_volume":5,"trade_date":1709931566099,"prevclose":0.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"J","bid_date":1709931596000,"asksize":391,"askexch":"D","ask_date":1709931590000,"open_interest":3641,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00032000","description":"PLTR - Apr 19 2024 $32.00 Put","exch":"Z","type":"option","last":5.71,"change":0.16,"volume":3,"open":5.35,"high":5.71,"low":5.35,"close":5.71,"bid":6.2,"ask":6.3,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.827646953297739,"gamma":0.05115245241064547,"theta":-0.015839643283548685,"vega":0.023258907786002002,"rho":0.004657101369169405,"phi":-0.005144400977985519,"bid_iv":0.549206,"mid_iv":0.572803,"ask_iv":0.5964,"smv_vol":0.57,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.89,"average_volume":0,"last_volume":2,"trade_date":1709913544170,"prevclose":5.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":226,"bidexch":"E","bid_date":1709931592000,"asksize":101,"askexch":"E","ask_date":1709931592000,"open_interest":148,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419P00033000","description":"PLTR - Apr 19 2024 $33.00 Put","exch":"Z","type":"option","last":6.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.1,"ask":7.25,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.860538934070056,"gamma":0.0436636992532059,"theta":-0.013978541722021821,"vega":0.018856341707701698,"rho":0.0037800106865319683,"phi":-0.004161959137327642,"bid_iv":0.547299,"mid_iv":0.57589,"ask_iv":0.604482,"smv_vol":0.58,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709825293491,"prevclose":6.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":209,"bidexch":"C","bid_date":1709931597000,"asksize":422,"askexch":"E","ask_date":1709931597000,"open_interest":27,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00033000","description":"PLTR - Apr 19 2024 $33.00 Call","exch":"Z","type":"option","last":0.36,"change":-0.10,"volume":194,"open":0.57,"high":0.58,"low":0.33,"close":0.36,"bid":0.33,"ask":0.35,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.13946106592994406,"gamma":0.0436636992532059,"theta":-0.013978541722021821,"vega":0.018856341707701698,"rho":0.0037800106865319683,"phi":-0.004161959137327642,"bid_iv":0.574342,"mid_iv":0.579456,"ask_iv":0.58457,"smv_vol":0.58,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.74,"average_volume":0,"last_volume":2,"trade_date":1709931536110,"prevclose":0.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1681,"bidexch":"D","bid_date":1709931589000,"asksize":451,"askexch":"D","ask_date":1709931589000,"open_interest":2124,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00034000","description":"PLTR - Apr 19 2024 $34.00 Put","exch":"Z","type":"option","last":6.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.05,"ask":8.15,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.8857657102756171,"gamma":0.03713158906312527,"theta":-0.012380654187652133,"vega":0.01685340078865733,"rho":0.003102274771516266,"phi":-0.0034087033090601793,"bid_iv":0.560097,"mid_iv":0.59417,"ask_iv":0.628244,"smv_vol":0.591,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709823339306,"prevclose":6.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":92,"bidexch":"C","bid_date":1709931583000,"asksize":60,"askexch":"B","ask_date":1709931585000,"open_interest":39,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00034000","description":"PLTR - Apr 19 2024 $34.00 Call","exch":"Z","type":"option","last":0.28,"change":-0.09,"volume":487,"open":0.42,"high":0.47,"low":0.26,"close":0.28,"bid":0.26,"ask":0.28,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.11423428972438286,"gamma":0.03713158906312527,"theta":-0.012380654187652133,"vega":0.01685340078865733,"rho":0.003102274771516266,"phi":-0.0034087033090601793,"bid_iv":0.584348,"mid_iv":0.59029,"ask_iv":0.596233,"smv_vol":0.591,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-24.33,"average_volume":0,"last_volume":2,"trade_date":1709931320655,"prevclose":0.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2230,"bidexch":"D","bid_date":1709931589000,"asksize":772,"askexch":"D","ask_date":1709931589000,"open_interest":1707,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00035000","description":"PLTR - Apr 19 2024 $35.00 Put","exch":"Z","type":"option","last":9.1,"change":0.85,"volume":1,"open":9.1,"high":9.1,"low":9.1,"close":9.1,"bid":9.0,"ask":9.1,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9055169080724349,"gamma":0.03158037461377575,"theta":-0.011022922358362561,"vega":0.014913212913710444,"rho":0.002569255998165099,"phi":-0.0028190757020429835,"bid_iv":0.556708,"mid_iv":0.60028,"ask_iv":0.643853,"smv_vol":0.603,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.31,"average_volume":0,"last_volume":1,"trade_date":1709931340243,"prevclose":8.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":117,"bidexch":"C","bid_date":1709931581000,"asksize":35,"askexch":"C","ask_date":1709931581000,"open_interest":30,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00035000","description":"PLTR - Apr 19 2024 $35.00 Call","exch":"Z","type":"option","last":0.22,"change":-0.06,"volume":2437,"open":0.37,"high":0.37,"low":0.21,"close":0.22,"bid":0.21,"ask":0.23,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.09448309192756515,"gamma":0.03158037461377575,"theta":-0.011022922358362561,"vega":0.014913212913710444,"rho":0.002569255998165099,"phi":-0.0028190757020429835,"bid_iv":0.597738,"mid_iv":0.604447,"ask_iv":0.611156,"smv_vol":0.603,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-21.43,"average_volume":0,"last_volume":1,"trade_date":1709931078454,"prevclose":0.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":330,"bidexch":"P","bid_date":1709931586000,"asksize":1222,"askexch":"D","ask_date":1709931574000,"open_interest":5735,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00036000","description":"PLTR - Apr 19 2024 $36.00 Put","exch":"Z","type":"option","last":9.3,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":10.0,"ask":10.1,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.9211015896456345,"gamma":0.02692848085458136,"theta":-0.009837179256492629,"vega":0.01303311306810203,"rho":0.0021473522770625772,"phi":-0.002353911429664457,"bid_iv":0.560293,"mid_iv":0.588995,"ask_iv":0.617697,"smv_vol":0.616,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709836257105,"prevclose":9.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"E","bid_date":1709931589000,"asksize":59,"askexch":"C","ask_date":1709931588000,"open_interest":2,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00036000","description":"PLTR - Apr 19 2024 $36.00 Call","exch":"Z","type":"option","last":0.19,"change":-0.06,"volume":159,"open":0.3,"high":0.3,"low":0.19,"close":0.19,"bid":0.17,"ask":0.19,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.07889841035436551,"gamma":0.02692848085458136,"theta":-0.009837179256492629,"vega":0.01303311306810203,"rho":0.0021473522770625772,"phi":-0.002353911429664457,"bid_iv":0.609762,"mid_iv":0.617438,"ask_iv":0.625114,"smv_vol":0.616,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-24.00,"average_volume":0,"last_volume":30,"trade_date":1709925918387,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":374,"bidexch":"P","bid_date":1709931560000,"asksize":1005,"askexch":"C","ask_date":1709931584000,"open_interest":809,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00037000","description":"PLTR - Apr 19 2024 $37.00 Put","exch":"Z","type":"option","last":11.05,"change":0.75,"volume":4,"open":11.05,"high":11.05,"low":11.05,"close":11.05,"bid":10.95,"ask":11.05,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.9339493854754856,"gamma":0.0229787494131405,"theta":-0.00876368439235254,"vega":0.011289006554133563,"rho":0.0017991696854244572,"phi":-0.0019704707923673404,"bid_iv":0.0,"mid_iv":0.683946,"ask_iv":0.683946,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":7.29,"average_volume":0,"last_volume":4,"trade_date":1709918606539,"prevclose":10.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":57,"bidexch":"C","bid_date":1709931595000,"asksize":28,"askexch":"U","ask_date":1709931561000,"open_interest":118,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00037000","description":"PLTR - Apr 19 2024 $37.00 Call","exch":"Z","type":"option","last":0.15,"change":-0.05,"volume":37,"open":0.22,"high":0.25,"low":0.15,"close":0.15,"bid":0.14,"ask":0.16,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.06605061452451445,"gamma":0.0229787494131405,"theta":-0.00876368439235254,"vega":0.011289006554133563,"rho":0.0017991696854244572,"phi":-0.0019704707923673404,"bid_iv":0.623234,"mid_iv":0.632097,"ask_iv":0.640961,"smv_vol":0.627,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-25.00,"average_volume":0,"last_volume":1,"trade_date":1709931381494,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":853,"bidexch":"D","bid_date":1709931589000,"asksize":1180,"askexch":"C","ask_date":1709931592000,"open_interest":1182,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00038000","description":"PLTR - Apr 19 2024 $38.00 Put","exch":"Z","type":"option","last":11.35,"change":0.00,"volume":55,"open":null,"high":null,"low":null,"close":null,"bid":11.1,"ask":12.3,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9440768483017965,"gamma":0.019718061627482526,"theta":-0.007852065205210751,"vega":0.009651109714190845,"rho":0.001524019215562209,"phi":-0.001668262197829229,"bid_iv":0.0,"mid_iv":0.723365,"ask_iv":0.723365,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":29,"trade_date":1709841628908,"prevclose":11.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931598000,"asksize":186,"askexch":"E","ask_date":1709931598000,"open_interest":57,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00038000","description":"PLTR - Apr 19 2024 $38.00 Call","exch":"Z","type":"option","last":0.12,"change":-0.07,"volume":35,"open":0.18,"high":0.19,"low":0.12,"close":0.12,"bid":0.11,"ask":0.13,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.05592315169820353,"gamma":0.019718061627482526,"theta":-0.007852065205210751,"vega":0.009651109714190845,"rho":0.001524019215562209,"phi":-0.001668262197829229,"bid_iv":0.629475,"mid_iv":0.639848,"ask_iv":0.65022,"smv_vol":0.641,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-36.85,"average_volume":0,"last_volume":4,"trade_date":1709923529084,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1881,"bidexch":"D","bid_date":1709931594000,"asksize":751,"askexch":"D","ask_date":1709931594000,"open_interest":3024,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00039000","description":"PLTR - Apr 19 2024 $39.00 Put","exch":"Z","type":"option","last":13.0,"change":0.40,"volume":2,"open":13.0,"high":13.0,"low":13.0,"close":13.0,"bid":11.95,"ask":13.3,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.9526471676322471,"gamma":0.01692480566723602,"theta":-0.00701955570645228,"vega":0.008185186369574974,"rho":0.0012911564810869419,"phi":-0.0014125297152778327,"bid_iv":0.0,"mid_iv":0.705536,"ask_iv":0.705536,"smv_vol":0.658,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.18,"average_volume":0,"last_volume":2,"trade_date":1709915890168,"prevclose":12.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":164,"bidexch":"X","bid_date":1709931599000,"asksize":20,"askexch":"Q","ask_date":1709931598000,"open_interest":1,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240419C00039000","description":"PLTR - Apr 19 2024 $39.00 Call","exch":"Z","type":"option","last":0.11,"change":-0.06,"volume":34,"open":0.16,"high":0.18,"low":0.11,"close":0.11,"bid":0.1,"ask":0.11,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.04735283236775288,"gamma":0.01692480566723602,"theta":-0.00701955570645228,"vega":0.008185186369574974,"rho":0.0012911564810869419,"phi":-0.0014125297152778327,"bid_iv":0.652421,"mid_iv":0.658264,"ask_iv":0.664108,"smv_vol":0.658,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-35.30,"average_volume":0,"last_volume":10,"trade_date":1709931564604,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":262,"bidexch":"P","bid_date":1709931592000,"asksize":741,"askexch":"D","ask_date":1709931576000,"open_interest":559,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419C00040000","description":"PLTR - Apr 19 2024 $40.00 Call","exch":"Z","type":"option","last":0.1,"change":-0.02,"volume":1388,"open":0.15,"high":0.15,"low":0.08,"close":0.1,"bid":0.09,"ask":0.1,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.03862196294799645,"gamma":0.014217269244012497,"theta":-0.005996640633357816,"vega":0.006855629032490823,"rho":0.0010549733265535482,"phi":-0.0011519651706148881,"bid_iv":0.672677,"mid_iv":0.678725,"ask_iv":0.684773,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-16.67,"average_volume":0,"last_volume":2,"trade_date":1709931548201,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"D","bid_date":1709931268000,"asksize":1056,"askexch":"E","ask_date":1709931590000,"open_interest":6658,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240419P00040000","description":"PLTR - Apr 19 2024 $40.00 Put","exch":"Z","type":"option","last":13.1,"change":-3.00,"volume":7,"open":13.1,"high":13.1,"low":13.1,"close":13.1,"bid":13.9,"ask":14.1,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9613780370520035,"gamma":0.014217269244012497,"theta":-0.005996640633357816,"vega":0.006855629032490823,"rho":0.0010549733265535482,"phi":-0.0011519651706148881,"bid_iv":0.0,"mid_iv":0.798979,"ask_iv":0.798979,"smv_vol":0.668,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.64,"average_volume":0,"last_volume":7,"trade_date":1709823903023,"prevclose":16.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":47,"bidexch":"X","bid_date":1709931591000,"asksize":32,"askexch":"X","ask_date":1709931600000,"open_interest":10,"contract_size":100,"expiration_date":"2024-04-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"}]}}' - headers: - Access-Control-Allow-Headers: - - accept, authorization - Access-Control-Allow-Methods: - - GET, PUT, POST, DELETE - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Type: - - application/json;charset=UTF-8 - Date: - - Sat, 09 Mar 2024 16:46:59 GMT - Transfer-Encoding: - - chunked - X-Ratelimit-Allowed: - - '200' - X-Ratelimit-Available: - - '196' - X-Ratelimit-Expiry: - - '1710002820000' - X-Ratelimit-Used: - - '4' - status: - code: 200 - message: '' - request: body: null headers: @@ -2823,158 +1404,158 @@ interactions: response: body: string: '{"options":{"option":[{"symbol":"PLTR240719P00003000","description":"PLTR - Jul 19 2024 $3.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-1.377067445E-7,"gamma":6.146100086111751E-8,"theta":-4.305636990806535E-4,"vega":2.0143492742090884E-5,"rho":0.010717859219740462,"phi":-0.094858519474883,"bid_iv":0.0,"mid_iv":1.395306,"ask_iv":1.395306,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"C","bid_date":1709916830000,"asksize":10,"askexch":"J","ask_date":1709931564000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00003000","description":"PLTR - Jul 19 2024 $3.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.25,"ask":23.25,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999998622932555,"gamma":6.146100086111751E-8,"theta":-4.305636990806535E-4,"vega":2.0143492742090884E-5,"rho":0.010717859219740462,"phi":-0.094858519474883,"bid_iv":0.0,"mid_iv":1.723118,"ask_iv":1.723118,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":113,"bidexch":"N","bid_date":1709931591000,"asksize":101,"askexch":"Z","ask_date":1709931592000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00004000","description":"PLTR - Jul 19 2024 $4.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.01,"underlying":"PLTR","strike":4.0,"greeks":{"delta":-3.9490923059E-6,"gamma":1.5550270326497818E-6,"theta":-5.748393609993795E-4,"vega":2.29480993469511E-5,"rho":0.01429008279060867,"phi":-0.09485815649412643,"bid_iv":0.0,"mid_iv":1.208484,"ask_iv":1.208484,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1706715201436,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1709931103000,"asksize":53,"askexch":"P","ask_date":1709931280000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00004000","description":"PLTR - Jul 19 2024 $4.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":22.05,"ask":22.2,"underlying":"PLTR","strike":4.0,"greeks":{"delta":0.9999960509076941,"gamma":1.5550270326497818E-6,"theta":-5.748393609993795E-4,"vega":2.29480993469511E-5,"rho":0.01429008279060867,"phi":-0.09485815649412643,"bid_iv":0.0,"mid_iv":1.599047,"ask_iv":1.599047,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1709931584000,"asksize":12,"askexch":"M","ask_date":1709931571000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00005000","description":"PLTR - Jul 19 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-3.7657914458E-5,"gamma":1.3332588485195169E-5,"theta":-7.243650999858045E-4,"vega":4.63693017070122E-5,"rho":0.01785912205963506,"phi":-0.0948549476476046,"bid_iv":0.0,"mid_iv":1.153763,"ask_iv":1.153763,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707231734853,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"C","bid_date":1709924747000,"asksize":37,"askexch":"P","ask_date":1709931527000,"open_interest":31,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00005000","description":"PLTR - Jul 19 2024 $5.00 Call","exch":"Z","type":"option","last":18.7,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":21.05,"ask":21.2,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.999962342085542,"gamma":1.3332588485195169E-5,"theta":-7.243650999858045E-4,"vega":4.63693017070122E-5,"rho":0.01785912205963506,"phi":-0.0948549476476046,"bid_iv":0.0,"mid_iv":1.486994,"ask_iv":1.486994,"smv_vol":0.79,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709668471047,"prevclose":18.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1709931595000,"asksize":12,"askexch":"M","ask_date":1709931595000,"open_interest":5,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00006000","description":"PLTR - Jul 19 2024 $6.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-1.976418680198E-4,"gamma":6.350756522517523E-5,"theta":-8.934233534272558E-4,"vega":1.422276514862453E-4,"rho":0.021414536196593104,"phi":-0.09483972434054522,"bid_iv":0.0,"mid_iv":1.029324,"ask_iv":1.029324,"smv_vol":0.789,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709828692390,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"U","bid_date":1709930978000,"asksize":15,"askexch":"M","ask_date":1709931547000,"open_interest":240,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00006000","description":"PLTR - Jul 19 2024 $6.00 Call","exch":"Z","type":"option","last":10.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.0,"ask":20.25,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9998023581319802,"gamma":6.350756522517523E-5,"theta":-8.934233534272558E-4,"vega":1.422276514862453E-4,"rho":0.021414536196593104,"phi":-0.09483972434054522,"bid_iv":0.0,"mid_iv":1.384551,"ask_iv":1.384551,"smv_vol":0.789,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1705677801299,"prevclose":10.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1709931593000,"asksize":5,"askexch":"J","ask_date":1709931564000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00007000","description":"PLTR - Jul 19 2024 $7.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.03,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-6.998451732259E-4,"gamma":2.058109312540072E-4,"theta":-0.0011091557720457762,"vega":3.6502583058605436E-4,"rho":0.024932505282243132,"phi":-0.09479195092865211,"bid_iv":0.0,"mid_iv":0.974503,"ask_iv":0.974503,"smv_vol":0.787,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709140308880,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"D","bid_date":1709931560000,"asksize":60,"askexch":"P","ask_date":1709931587000,"open_interest":280,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00007000","description":"PLTR - Jul 19 2024 $7.00 Call","exch":"Z","type":"option","last":18.33,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":19.05,"ask":19.3,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9993001548267741,"gamma":2.058109312540072E-4,"theta":-0.0011091557720457762,"vega":3.6502583058605436E-4,"rho":0.024932505282243132,"phi":-0.09479195092865211,"bid_iv":0.0,"mid_iv":1.21448,"ask_iv":1.21448,"smv_vol":0.787,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708007420035,"prevclose":18.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"A","bid_date":1709931591000,"asksize":13,"askexch":"M","ask_date":1709931566000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00008000","description":"PLTR - Jul 19 2024 $8.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-0.0018925703919771,"gamma":5.124935396876469E-4,"theta":-0.0014248017946111881,"vega":9.028024853766741E-4,"rho":0.028365287602519124,"phi":-0.09467852258637777,"bid_iv":0.772079,"mid_iv":0.826517,"ask_iv":0.880956,"smv_vol":0.78,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707421890273,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"N","bid_date":1709931589000,"asksize":35,"askexch":"P","ask_date":1709931578000,"open_interest":122,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00008000","description":"PLTR - Jul 19 2024 $8.00 Call","exch":"Z","type":"option","last":18.28,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.05,"ask":18.4,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9981074296080229,"gamma":5.124935396876469E-4,"theta":-0.0014248017946111881,"vega":9.028024853766741E-4,"rho":0.028365287602519124,"phi":-0.09467852258637777,"bid_iv":0.0,"mid_iv":1.140624,"ask_iv":1.140624,"smv_vol":0.78,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709752693208,"prevclose":18.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"Q","bid_date":1709931575000,"asksize":10,"askexch":"U","ask_date":1709931575000,"open_interest":25,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00009000","description":"PLTR - Jul 19 2024 $9.00 Call","exch":"Z","type":"option","last":16.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.2,"ask":17.35,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9957096281447636,"gamma":0.001071576567473556,"theta":-0.0018519955389952446,"vega":0.002037313955692555,"rho":0.03166929511995857,"phi":-0.09445053812839888,"bid_iv":0.0,"mid_iv":1.008981,"ask_iv":1.008981,"smv_vol":0.765,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1709138954320,"prevclose":16.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"U","bid_date":1709931586000,"asksize":13,"askexch":"M","ask_date":1709931584000,"open_interest":16,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00009000","description":"PLTR - Jul 19 2024 $9.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.04,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-0.0042903718552364,"gamma":0.001071576567473556,"theta":-0.0018519955389952446,"vega":0.002037313955692555,"rho":0.03166929511995857,"phi":-0.09445053812839888,"bid_iv":0.75777,"mid_iv":0.793973,"ask_iv":0.830176,"smv_vol":0.765,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709320617081,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":333,"bidexch":"D","bid_date":1709931598000,"asksize":627,"askexch":"E","ask_date":1709931598000,"open_interest":24,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00010000","description":"PLTR - Jul 19 2024 $10.00 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":20,"open":null,"high":null,"low":null,"close":null,"bid":0.04,"ask":0.06,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-0.0083261823425289,"gamma":0.0019315087651846456,"theta":-0.0024283854713159176,"vega":0.0034046143973996846,"rho":0.0347848260324554,"phi":-0.09406689191138184,"bid_iv":0.754557,"mid_iv":0.777702,"ask_iv":0.800848,"smv_vol":0.752,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1709657244222,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":246,"bidexch":"D","bid_date":1709931598000,"asksize":475,"askexch":"D","ask_date":1709931589000,"open_interest":130,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00010000","description":"PLTR - Jul 19 2024 $10.00 Call","exch":"Z","type":"option","last":17.26,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.2,"ask":16.35,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9916738176574711,"gamma":0.0019315087651846456,"theta":-0.0024283854713159176,"vega":0.0034046143973996846,"rho":0.0347848260324554,"phi":-0.09406689191138184,"bid_iv":0.0,"mid_iv":0.955152,"ask_iv":0.955152,"smv_vol":0.752,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709825944437,"prevclose":17.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1709931564000,"asksize":5,"askexch":"B","ask_date":1709931564000,"open_interest":41,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00011000","description":"PLTR - Jul 19 2024 $11.00 Put","exch":"Z","type":"option","last":0.11,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.06,"ask":0.08,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0137629545801564,"gamma":0.0030315568069710593,"theta":-0.0030829046053302204,"vega":0.005425989662742134,"rho":0.03773773707500359,"phi":-0.09355012641876215,"bid_iv":0.728289,"mid_iv":0.745832,"ask_iv":0.763375,"smv_vol":0.734,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708459232009,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":256,"bidexch":"D","bid_date":1709931582000,"asksize":818,"askexch":"A","ask_date":1709931584000,"open_interest":25,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00011000","description":"PLTR - Jul 19 2024 $11.00 Call","exch":"Z","type":"option","last":14.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.25,"ask":15.4,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9862370454198436,"gamma":0.0030315568069710593,"theta":-0.0030829046053302204,"vega":0.005425989662742134,"rho":0.03773773707500359,"phi":-0.09355012641876215,"bid_iv":0.0,"mid_iv":0.900962,"ask_iv":0.900962,"smv_vol":0.734,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708108339791,"prevclose":14.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"M","bid_date":1709931595000,"asksize":12,"askexch":"M","ask_date":1709931595000,"open_interest":14,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00012000","description":"PLTR - Jul 19 2024 $12.00 Put","exch":"Z","type":"option","last":0.14,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.09,"ask":0.1,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0211558288746923,"gamma":0.0044424361342953874,"theta":-0.003847915333687337,"vega":0.008266267174527568,"rho":0.04046137239045029,"phi":-0.09284750728255631,"bid_iv":0.708823,"mid_iv":0.715223,"ask_iv":0.721623,"smv_vol":0.717,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709652495038,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":173,"bidexch":"D","bid_date":1709931571000,"asksize":142,"askexch":"D","ask_date":1709931571000,"open_interest":213,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00012000","description":"PLTR - Jul 19 2024 $12.00 Call","exch":"Z","type":"option","last":14.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.35,"ask":14.45,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9788441711253077,"gamma":0.0044424361342953874,"theta":-0.003847915333687337,"vega":0.008266267174527568,"rho":0.04046137239045029,"phi":-0.09284750728255631,"bid_iv":0.0,"mid_iv":0.804028,"ask_iv":0.804028,"smv_vol":0.717,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709744867593,"prevclose":14.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"B","bid_date":1709931513000,"asksize":12,"askexch":"M","ask_date":1709931593000,"open_interest":32,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00013000","description":"PLTR - Jul 19 2024 $13.00 Put","exch":"Z","type":"option","last":0.13,"change":-0.01,"volume":1,"open":0.13,"high":0.13,"low":0.13,"close":0.13,"bid":0.13,"ask":0.14,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0303462132711056,"gamma":0.00613177063176801,"theta":-0.004674630363258514,"vega":0.010274222315190934,"rho":0.042974199638513094,"phi":-0.09197412445871578,"bid_iv":0.689108,"mid_iv":0.693986,"ask_iv":0.698865,"smv_vol":0.696,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.15,"average_volume":0,"last_volume":1,"trade_date":1709931097600,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":512,"bidexch":"D","bid_date":1709931581000,"asksize":409,"askexch":"D","ask_date":1709931581000,"open_interest":323,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00013000","description":"PLTR - Jul 19 2024 $13.00 Call","exch":"Z","type":"option","last":12.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.35,"ask":13.5,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9696537867288944,"gamma":0.00613177063176801,"theta":-0.004674630363258514,"vega":0.010274222315190934,"rho":0.042974199638513094,"phi":-0.09197412445871578,"bid_iv":0.653427,"mid_iv":0.724717,"ask_iv":0.796006,"smv_vol":0.696,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1709737571267,"prevclose":12.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"J","bid_date":1709931576000,"asksize":6,"askexch":"M","ask_date":1709931591000,"open_interest":24,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00014000","description":"PLTR - Jul 19 2024 $14.00 Put","exch":"Z","type":"option","last":0.19,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.18,"ask":0.2,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.041884491117664,"gamma":0.008150000245764429,"theta":-0.005569657360165498,"vega":0.01461455225559088,"rho":0.04520835251876906,"phi":-0.09087769784699162,"bid_iv":0.668203,"mid_iv":0.676158,"ask_iv":0.684113,"smv_vol":0.68,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709827106787,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":778,"bidexch":"E","bid_date":1709931597000,"asksize":76,"askexch":"D","ask_date":1709931559000,"open_interest":370,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00014000","description":"PLTR - Jul 19 2024 $14.00 Call","exch":"Z","type":"option","last":10.58,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.45,"ask":12.6,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.958115508882336,"gamma":0.008150000245764429,"theta":-0.005569657360165498,"vega":0.01461455225559088,"rho":0.04520835251876906,"phi":-0.09087769784699162,"bid_iv":0.625284,"mid_iv":0.680815,"ask_iv":0.736346,"smv_vol":0.68,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1709651407506,"prevclose":10.58,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"M","bid_date":1709931555000,"asksize":15,"askexch":"M","ask_date":1709931587000,"open_interest":120,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00015000","description":"PLTR - Jul 19 2024 $15.00 Put","exch":"Z","type":"option","last":0.26,"change":0.01,"volume":11,"open":0.25,"high":0.26,"low":0.24,"close":0.26,"bid":0.26,"ask":0.28,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0558010808440259,"gamma":0.010483069100073883,"theta":-0.006504768248709273,"vega":0.017481953871919993,"rho":0.047159265499014474,"phi":-0.08955537818877701,"bid_iv":0.659101,"mid_iv":0.664825,"ask_iv":0.67055,"smv_vol":0.666,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.00,"average_volume":0,"last_volume":4,"trade_date":1709917054593,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":530,"bidexch":"D","bid_date":1709931589000,"asksize":511,"askexch":"D","ask_date":1709931579000,"open_interest":6891,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00015000","description":"PLTR - Jul 19 2024 $15.00 Call","exch":"Z","type":"option","last":11.6,"change":0.75,"volume":10,"open":11.6,"high":11.6,"low":11.6,"close":11.6,"bid":11.55,"ask":11.7,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9441989191559741,"gamma":0.010483069100073883,"theta":-0.006504768248709273,"vega":0.017481953871919993,"rho":0.047159265499014474,"phi":-0.08955537818877701,"bid_iv":0.626522,"mid_iv":0.670904,"ask_iv":0.715285,"smv_vol":0.666,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.92,"average_volume":0,"last_volume":10,"trade_date":1709918302165,"prevclose":10.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1709931573000,"asksize":18,"askexch":"M","ask_date":1709931573000,"open_interest":405,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00016000","description":"PLTR - Jul 19 2024 $16.00 Put","exch":"Z","type":"option","last":0.37,"change":0.02,"volume":30,"open":0.35,"high":0.37,"low":0.35,"close":0.37,"bid":0.36,"ask":0.38,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0720951613284603,"gamma":0.013120199081275225,"theta":-0.0074587844424116355,"vega":0.020681003358881768,"rho":0.048827400139843796,"phi":-0.08800724142332683,"bid_iv":0.648042,"mid_iv":0.65287,"ask_iv":0.657697,"smv_vol":0.653,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.72,"average_volume":0,"last_volume":5,"trade_date":1709925240846,"prevclose":0.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":273,"bidexch":"D","bid_date":1709931574000,"asksize":462,"askexch":"E","ask_date":1709931582000,"open_interest":2348,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00016000","description":"PLTR - Jul 19 2024 $16.00 Call","exch":"Z","type":"option","last":11.65,"change":-0.32,"volume":50,"open":11.65,"high":11.65,"low":11.65,"close":11.65,"bid":10.65,"ask":10.75,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9279048386715397,"gamma":0.013120199081275225,"theta":-0.0074587844424116355,"vega":0.020681003358881768,"rho":0.048827400139843796,"phi":-0.08800724142332683,"bid_iv":0.613733,"mid_iv":0.659708,"ask_iv":0.705682,"smv_vol":0.653,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-2.68,"average_volume":0,"last_volume":23,"trade_date":1709911936986,"prevclose":11.97,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"M","bid_date":1709931572000,"asksize":15,"askexch":"M","ask_date":1709931573000,"open_interest":921,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00017000","description":"PLTR - Jul 19 2024 $17.00 Call","exch":"Z","type":"option","last":10.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.8,"ask":9.95,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9082006159873415,"gamma":0.016090879082493726,"theta":-0.008457665902897643,"vega":0.026958347756624253,"rho":0.05007653385022195,"phi":-0.08613530807721759,"bid_iv":0.611335,"mid_iv":0.640813,"ask_iv":0.670291,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709749718715,"prevclose":10.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"M","bid_date":1709931586000,"asksize":33,"askexch":"C","ask_date":1709931560000,"open_interest":579,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00017000","description":"PLTR - Jul 19 2024 $17.00 Put","exch":"Z","type":"option","last":0.51,"change":0.03,"volume":5,"open":0.47,"high":0.51,"low":0.47,"close":0.51,"bid":0.48,"ask":0.51,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0917993840126585,"gamma":0.016090879082493726,"theta":-0.008457665902897643,"vega":0.026958347756624253,"rho":0.05007653385022195,"phi":-0.08613530807721759,"bid_iv":0.63569,"mid_iv":0.641721,"ask_iv":0.647751,"smv_vol":0.643,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.25,"average_volume":0,"last_volume":1,"trade_date":1709923567570,"prevclose":0.48,"week_52_high":0.0,"week_52_low":0.0,"bidsize":325,"bidexch":"B","bid_date":1709931599000,"asksize":515,"askexch":"D","ask_date":1709931591000,"open_interest":811,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00018000","description":"PLTR - Jul 19 2024 $18.00 Put","exch":"Z","type":"option","last":0.64,"change":0.00,"volume":10,"open":0.62,"high":0.65,"low":0.62,"close":0.64,"bid":0.65,"ask":0.67,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1148521755852512,"gamma":0.019329491071968487,"theta":-0.009462617689088963,"vega":0.03081563889281534,"rho":0.050907766336558725,"phi":-0.08394548101975374,"bid_iv":0.630971,"mid_iv":0.634207,"ask_iv":0.637444,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709927241011,"prevclose":0.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":83,"bidexch":"E","bid_date":1709931571000,"asksize":166,"askexch":"D","ask_date":1709931586000,"open_interest":6822,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00018000","description":"PLTR - Jul 19 2024 $18.00 Call","exch":"Z","type":"option","last":9.84,"change":-0.16,"volume":1,"open":9.84,"high":9.84,"low":9.84,"close":9.84,"bid":9.0,"ask":9.1,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8851478244147488,"gamma":0.019329491071968487,"theta":-0.009462617689088963,"vega":0.03081563889281534,"rho":0.050907766336558725,"phi":-0.08394548101975374,"bid_iv":0.615441,"mid_iv":0.631688,"ask_iv":0.647935,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-1.60,"average_volume":0,"last_volume":1,"trade_date":1709913354879,"prevclose":10.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":138,"bidexch":"E","bid_date":1709931582000,"asksize":388,"askexch":"E","ask_date":1709931571000,"open_interest":810,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00019000","description":"PLTR - Jul 19 2024 $19.00 Put","exch":"Z","type":"option","last":0.85,"change":0.01,"volume":14,"open":0.78,"high":0.85,"low":0.78,"close":0.85,"bid":0.85,"ask":0.87,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1414324679852855,"gamma":0.022762969082829352,"theta":-0.010477194958888322,"vega":0.034845462144477084,"rho":0.05128685707207596,"phi":-0.08142085661688725,"bid_iv":0.624865,"mid_iv":0.627719,"ask_iv":0.630574,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.19,"average_volume":0,"last_volume":1,"trade_date":1709930172613,"prevclose":0.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":76,"bidexch":"D","bid_date":1709931599000,"asksize":245,"askexch":"D","ask_date":1709931596000,"open_interest":4699,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00019000","description":"PLTR - Jul 19 2024 $19.00 Call","exch":"Z","type":"option","last":9.15,"change":0.35,"volume":50,"open":9.15,"high":9.15,"low":9.15,"close":9.15,"bid":8.2,"ask":8.3,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8585675320147145,"gamma":0.022762969082829352,"theta":-0.010477194958888322,"vega":0.034845462144477084,"rho":0.05128685707207596,"phi":-0.08142085661688725,"bid_iv":0.620352,"mid_iv":0.62753,"ask_iv":0.634709,"smv_vol":0.628,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":3.98,"average_volume":0,"last_volume":23,"trade_date":1709911936986,"prevclose":8.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":276,"bidexch":"E","bid_date":1709931571000,"asksize":121,"askexch":"E","ask_date":1709931571000,"open_interest":683,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00020000","description":"PLTR - Jul 19 2024 $20.00 Put","exch":"Z","type":"option","last":1.09,"change":0.06,"volume":31,"open":0.97,"high":1.13,"low":0.97,"close":1.09,"bid":1.09,"ask":1.12,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1716901332274172,"gamma":0.026274501598675375,"theta":-0.011478389439273108,"vega":0.03895327452476763,"rho":0.05117417155998207,"phi":-0.0785473276554427,"bid_iv":0.619845,"mid_iv":0.623641,"ask_iv":0.627438,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":5.83,"average_volume":0,"last_volume":1,"trade_date":1709930144147,"prevclose":1.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":391,"bidexch":"E","bid_date":1709931571000,"asksize":331,"askexch":"D","ask_date":1709931587000,"open_interest":2395,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00020000","description":"PLTR - Jul 19 2024 $20.00 Call","exch":"Z","type":"option","last":7.68,"change":-0.32,"volume":106,"open":8.14,"high":8.52,"low":7.45,"close":7.68,"bid":7.5,"ask":7.55,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8283098667725828,"gamma":0.026274501598675375,"theta":-0.011478389439273108,"vega":0.03895327452476763,"rho":0.05117417155998207,"phi":-0.0785473276554427,"bid_iv":0.613944,"mid_iv":0.626743,"ask_iv":0.639541,"smv_vol":0.623,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-4.00,"average_volume":0,"last_volume":12,"trade_date":1709926350586,"prevclose":8.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":71,"bidexch":"D","bid_date":1709931598000,"asksize":52,"askexch":"D","ask_date":1709931591000,"open_interest":12578,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00021000","description":"PLTR - Jul 19 2024 $21.00 Put","exch":"Z","type":"option","last":1.38,"change":0.09,"volume":25,"open":1.37,"high":1.43,"low":1.37,"close":1.38,"bid":1.38,"ask":1.41,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2055787536830931,"gamma":0.02969035326478441,"theta":-0.012433383358115621,"vega":0.04571632194199917,"rho":0.050542196269742705,"phi":-0.0753294577204855,"bid_iv":0.616395,"mid_iv":0.619663,"ask_iv":0.622931,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.98,"average_volume":0,"last_volume":1,"trade_date":1709930308780,"prevclose":1.29,"week_52_high":0.0,"week_52_low":0.0,"bidsize":334,"bidexch":"B","bid_date":1709931587000,"asksize":597,"askexch":"D","ask_date":1709931581000,"open_interest":966,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00021000","description":"PLTR - Jul 19 2024 $21.00 Call","exch":"Z","type":"option","last":6.96,"change":-0.54,"volume":15,"open":7.7,"high":7.85,"low":6.96,"close":6.96,"bid":6.8,"ask":6.85,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7944212463169069,"gamma":0.02969035326478441,"theta":-0.012433383358115621,"vega":0.04571632194199917,"rho":0.050542196269742705,"phi":-0.0753294577204855,"bid_iv":0.609964,"mid_iv":0.620901,"ask_iv":0.631837,"smv_vol":0.62,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.20,"average_volume":0,"last_volume":1,"trade_date":1709929102344,"prevclose":7.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"X","bid_date":1709931575000,"asksize":16,"askexch":"D","ask_date":1709931600000,"open_interest":3949,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00022000","description":"PLTR - Jul 19 2024 $22.00 Call","exch":"Z","type":"option","last":6.18,"change":-0.84,"volume":67,"open":7.1,"high":7.1,"low":6.18,"close":6.18,"bid":6.15,"ask":6.2,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7575079792640138,"gamma":0.03284974314288333,"theta":-0.013319226480020385,"vega":0.04949886458729668,"rho":0.049437974142000324,"phi":-0.07182492067769886,"bid_iv":0.607399,"mid_iv":0.617501,"ask_iv":0.627604,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.97,"average_volume":0,"last_volume":1,"trade_date":1709931182416,"prevclose":7.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":81,"bidexch":"E","bid_date":1709931598000,"asksize":10,"askexch":"J","ask_date":1709931600000,"open_interest":1397,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00022000","description":"PLTR - Jul 19 2024 $22.00 Put","exch":"Z","type":"option","last":1.74,"change":0.16,"volume":107,"open":1.55,"high":1.74,"low":1.55,"close":1.74,"bid":1.72,"ask":1.75,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2424920207359862,"gamma":0.03284974314288333,"theta":-0.013319226480020385,"vega":0.04949886458729668,"rho":0.049437974142000324,"phi":-0.07182492067769886,"bid_iv":0.614547,"mid_iv":0.617563,"ask_iv":0.620579,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":10.13,"average_volume":0,"last_volume":1,"trade_date":1709922973469,"prevclose":1.58,"week_52_high":0.0,"week_52_low":0.0,"bidsize":274,"bidexch":"E","bid_date":1709931582000,"asksize":480,"askexch":"D","ask_date":1709931579000,"open_interest":882,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00023000","description":"PLTR - Jul 19 2024 $23.00 Put","exch":"Z","type":"option","last":2.11,"change":0.17,"volume":6,"open":1.92,"high":2.11,"low":1.92,"close":2.11,"bid":2.11,"ask":2.14,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.2816371015142203,"gamma":0.03561338253260208,"theta":-0.014107324750259415,"vega":0.05300341242842317,"rho":0.047931400351865855,"phi":-0.06810905581744464,"bid_iv":0.61194,"mid_iv":0.614762,"ask_iv":0.617584,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.77,"average_volume":0,"last_volume":1,"trade_date":1709931580849,"prevclose":1.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":111,"bidexch":"D","bid_date":1709931589000,"asksize":328,"askexch":"D","ask_date":1709931589000,"open_interest":9935,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00023000","description":"PLTR - Jul 19 2024 $23.00 Call","exch":"Z","type":"option","last":5.67,"change":-0.33,"volume":53,"open":6.4,"high":6.45,"low":5.67,"close":5.67,"bid":5.55,"ask":5.65,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.7183628984857797,"gamma":0.03561338253260208,"theta":-0.014107324750259415,"vega":0.05300341242842317,"rho":0.047931400351865855,"phi":-0.06810905581744464,"bid_iv":0.606202,"mid_iv":0.615638,"ask_iv":0.625074,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.50,"average_volume":0,"last_volume":5,"trade_date":1709919437633,"prevclose":6.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":171,"bidexch":"E","bid_date":1709931591000,"asksize":11,"askexch":"B","ask_date":1709931591000,"open_interest":1271,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00024000","description":"PLTR - Jul 19 2024 $24.00 Put","exch":"Z","type":"option","last":2.52,"change":0.20,"volume":678,"open":2.32,"high":2.6,"low":2.32,"close":2.52,"bid":2.54,"ask":2.57,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.3221603771186612,"gamma":0.03788822579434996,"theta":-0.01477862065484001,"vega":0.056133999943464345,"rho":0.04610449725131253,"phi":-0.06426291763617087,"bid_iv":0.612389,"mid_iv":0.615054,"ask_iv":0.617719,"smv_vol":0.614,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":8.63,"average_volume":0,"last_volume":3,"trade_date":1709930151010,"prevclose":2.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":203,"bidexch":"B","bid_date":1709931585000,"asksize":71,"askexch":"D","ask_date":1709931589000,"open_interest":2450,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00024000","description":"PLTR - Jul 19 2024 $24.00 Call","exch":"Z","type":"option","last":5.1,"change":-0.28,"volume":25,"open":5.62,"high":5.92,"low":4.98,"close":5.1,"bid":5.0,"ask":5.05,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.6778396228813388,"gamma":0.03788822579434996,"theta":-0.01477862065484001,"vega":0.056133999943464345,"rho":0.04610449725131253,"phi":-0.06426291763617087,"bid_iv":0.606276,"mid_iv":0.615187,"ask_iv":0.624099,"smv_vol":0.614,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.21,"average_volume":0,"last_volume":1,"trade_date":1709920638307,"prevclose":5.38,"week_52_high":0.0,"week_52_low":0.0,"bidsize":192,"bidexch":"E","bid_date":1709931597000,"asksize":103,"askexch":"D","ask_date":1709931591000,"open_interest":1530,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00025000","description":"PLTR - Jul 19 2024 $25.00 Put","exch":"Z","type":"option","last":2.93,"change":0.12,"volume":1736,"open":2.8,"high":3.11,"low":2.8,"close":2.93,"bid":3.0,"ask":3.1,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.3632398797349423,"gamma":0.03960654566479429,"theta":-0.015313306552022093,"vega":0.0587952150405963,"rho":0.04403407425727975,"phi":-0.06036454441193939,"bid_iv":0.608539,"mid_iv":0.61278,"ask_iv":0.617021,"smv_vol":0.613,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.27,"average_volume":0,"last_volume":5,"trade_date":1709928044821,"prevclose":2.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":160,"bidexch":"E","bid_date":1709931589000,"asksize":1899,"askexch":"C","ask_date":1709931587000,"open_interest":1178,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00025000","description":"PLTR - Jul 19 2024 $25.00 Call","exch":"Z","type":"option","last":4.5,"change":-0.30,"volume":1660,"open":5.19,"high":5.3,"low":4.46,"close":4.5,"bid":4.5,"ask":4.55,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.6367601202650577,"gamma":0.03960654566479429,"theta":-0.015313306552022093,"vega":0.0587952150405963,"rho":0.04403407425727975,"phi":-0.06036454441193939,"bid_iv":0.607336,"mid_iv":0.611591,"ask_iv":0.615845,"smv_vol":0.613,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.25,"average_volume":0,"last_volume":6,"trade_date":1709931359933,"prevclose":4.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":155,"bidexch":"E","bid_date":1709931596000,"asksize":248,"askexch":"E","ask_date":1709931596000,"open_interest":4340,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00026000","description":"PLTR - Jul 19 2024 $26.00 Put","exch":"Z","type":"option","last":3.5,"change":0.05,"volume":601,"open":3.26,"high":3.55,"low":3.15,"close":3.5,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.4040914173741091,"gamma":0.04076745361231227,"theta":-0.015703043177162816,"vega":0.06090704888563478,"rho":0.0418055813776355,"phi":-0.05648832818394567,"bid_iv":0.604358,"mid_iv":0.612566,"ask_iv":0.620775,"smv_vol":0.613,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":1.45,"average_volume":0,"last_volume":1,"trade_date":1709928479664,"prevclose":3.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1431,"bidexch":"E","bid_date":1709931599000,"asksize":570,"askexch":"E","ask_date":1709931599000,"open_interest":261,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00026000","description":"PLTR - Jul 19 2024 $26.00 Call","exch":"Z","type":"option","last":4.05,"change":-0.45,"volume":290,"open":4.85,"high":4.85,"low":4.04,"close":4.05,"bid":4.0,"ask":4.1,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.5959085826258909,"gamma":0.04076745361231227,"theta":-0.015703043177162816,"vega":0.06090704888563478,"rho":0.0418055813776355,"phi":-0.05648832818394567,"bid_iv":0.609546,"mid_iv":0.613653,"ask_iv":0.617761,"smv_vol":0.613,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-10.00,"average_volume":0,"last_volume":1,"trade_date":1709931306579,"prevclose":4.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1463,"bidexch":"E","bid_date":1709931583000,"asksize":975,"askexch":"E","ask_date":1709931589000,"open_interest":2959,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00027000","description":"PLTR - Jul 19 2024 $27.00 Put","exch":"Z","type":"option","last":4.2,"change":0.25,"volume":12,"open":3.82,"high":4.2,"low":3.82,"close":4.2,"bid":4.1,"ask":4.2,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.4440652493912269,"gamma":0.04139344416321746,"theta":-0.015947172857449586,"vega":0.062404573754284376,"rho":0.03949046401975445,"phi":-0.052695872505559294,"bid_iv":0.609614,"mid_iv":0.613638,"ask_iv":0.617661,"smv_vol":0.614,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.33,"average_volume":0,"last_volume":1,"trade_date":1709915532905,"prevclose":3.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":220,"bidexch":"E","bid_date":1709931589000,"asksize":1654,"askexch":"E","ask_date":1709931587000,"open_interest":477,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00027000","description":"PLTR - Jul 19 2024 $27.00 Call","exch":"Z","type":"option","last":3.75,"change":-0.25,"volume":711,"open":4.2,"high":4.4,"low":3.6,"close":3.75,"bid":3.6,"ask":3.7,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.5559347506087731,"gamma":0.04139344416321746,"theta":-0.015947172857449586,"vega":0.062404573754284376,"rho":0.03949046401975445,"phi":-0.052695872505559294,"bid_iv":0.605059,"mid_iv":0.613076,"ask_iv":0.621093,"smv_vol":0.614,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.25,"average_volume":0,"last_volume":1,"trade_date":1709929962558,"prevclose":4.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1249,"bidexch":"E","bid_date":1709931594000,"asksize":1419,"askexch":"E","ask_date":1709931560000,"open_interest":4391,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00028000","description":"PLTR - Jul 19 2024 $28.00 Put","exch":"Z","type":"option","last":4.3,"change":-0.30,"volume":2,"open":4.3,"high":4.3,"low":4.3,"close":4.3,"bid":4.7,"ask":4.8,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.4826702605864398,"gamma":0.04154287941965021,"theta":-0.0160496566761218,"vega":0.0632431554978209,"rho":0.037150589321713674,"phi":-0.04903371566999937,"bid_iv":0.608325,"mid_iv":0.616294,"ask_iv":0.624263,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-6.53,"average_volume":0,"last_volume":2,"trade_date":1709909594892,"prevclose":4.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1468,"bidexch":"E","bid_date":1709931581000,"asksize":697,"askexch":"E","ask_date":1709931587000,"open_interest":242,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00028000","description":"PLTR - Jul 19 2024 $28.00 Call","exch":"Z","type":"option","last":3.25,"change":-0.25,"volume":278,"open":4.2,"high":4.2,"low":3.25,"close":3.25,"bid":3.25,"ask":3.3,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.5173297394135602,"gamma":0.04154287941965021,"theta":-0.0160496566761218,"vega":0.0632431554978209,"rho":0.037150589321713674,"phi":-0.04903371566999937,"bid_iv":0.610322,"mid_iv":0.614277,"ask_iv":0.618232,"smv_vol":0.615,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.15,"average_volume":0,"last_volume":1,"trade_date":1709931328570,"prevclose":3.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":244,"bidexch":"E","bid_date":1709931594000,"asksize":461,"askexch":"E","ask_date":1709931594000,"open_interest":1213,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00029000","description":"PLTR - Jul 19 2024 $29.00 Put","exch":"Z","type":"option","last":5.05,"change":0.10,"volume":24,"open":4.95,"high":5.05,"low":4.95,"close":5.05,"bid":5.35,"ask":5.45,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.5195966169089271,"gamma":0.04129287645861753,"theta":-0.01602398373615237,"vega":0.06340038670620651,"rho":0.034833471173606634,"phi":-0.045531173240576095,"bid_iv":0.609109,"mid_iv":0.617038,"ask_iv":0.624968,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":2.02,"average_volume":0,"last_volume":4,"trade_date":1709912010899,"prevclose":4.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1008,"bidexch":"X","bid_date":1709931599000,"asksize":18,"askexch":"B","ask_date":1709931599000,"open_interest":243,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00029000","description":"PLTR - Jul 19 2024 $29.00 Call","exch":"Z","type":"option","last":2.98,"change":-0.31,"volume":617,"open":3.4,"high":3.55,"low":2.93,"close":2.98,"bid":2.93,"ask":2.96,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.4804033830910729,"gamma":0.04129287645861753,"theta":-0.01602398373615237,"vega":0.06340038670620651,"rho":0.034833471173606634,"phi":-0.045531173240576095,"bid_iv":0.614543,"mid_iv":0.616909,"ask_iv":0.619276,"smv_vol":0.617,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.43,"average_volume":0,"last_volume":100,"trade_date":1709925927709,"prevclose":3.29,"week_52_high":0.0,"week_52_low":0.0,"bidsize":31,"bidexch":"P","bid_date":1709931568000,"asksize":268,"askexch":"E","ask_date":1709931599000,"open_interest":408,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00030000","description":"PLTR - Jul 19 2024 $30.00 Call","exch":"Z","type":"option","last":2.64,"change":-0.27,"volume":450,"open":3.15,"high":3.25,"low":2.6,"close":2.64,"bid":2.63,"ask":2.65,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.44539969701664434,"gamma":0.04070036813170869,"theta":-0.01588405312293955,"vega":0.06287363374541637,"rho":0.03257251015851385,"phi":-0.04221133633297569,"bid_iv":0.616551,"mid_iv":0.618142,"ask_iv":0.619733,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.28,"average_volume":0,"last_volume":10,"trade_date":1709931510551,"prevclose":2.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"Z","bid_date":1709931591000,"asksize":216,"askexch":"D","ask_date":1709931598000,"open_interest":3295,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00030000","description":"PLTR - Jul 19 2024 $30.00 Put","exch":"Z","type":"option","last":6.1,"change":0.36,"volume":23,"open":5.6,"high":6.1,"low":5.6,"close":6.1,"bid":6.05,"ask":6.15,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.5546003029833556,"gamma":0.04070036813170869,"theta":-0.01588405312293955,"vega":0.06287363374541637,"rho":0.03257251015851385,"phi":-0.04221133633297569,"bid_iv":0.612009,"mid_iv":0.620079,"ask_iv":0.628149,"smv_vol":0.619,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":6.28,"average_volume":0,"last_volume":1,"trade_date":1709931312288,"prevclose":5.74,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1180,"bidexch":"E","bid_date":1709931586000,"asksize":262,"askexch":"D","ask_date":1709931596000,"open_interest":339,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00031000","description":"PLTR - Jul 19 2024 $31.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.8,"ask":6.9,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.5876936757781203,"gamma":0.03985498906454498,"theta":-0.015649221526886935,"vega":0.0616872348390652,"rho":0.030388597752021785,"phi":-0.039072950857033106,"bid_iv":0.618092,"mid_iv":0.622225,"ask_iv":0.626358,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":114,"bidexch":"E","bid_date":1709931590000,"asksize":370,"askexch":"E","ask_date":1709931589000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00031000","description":"PLTR - Jul 19 2024 $31.00 Call","exch":"Z","type":"option","last":2.41,"change":-0.31,"volume":68,"open":2.87,"high":2.87,"low":2.37,"close":2.41,"bid":2.35,"ask":2.38,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.4123063242218797,"gamma":0.03985498906454498,"theta":-0.015649221526886935,"vega":0.0616872348390652,"rho":0.030388597752021785,"phi":-0.039072950857033106,"bid_iv":0.618641,"mid_iv":0.620262,"ask_iv":0.621883,"smv_vol":0.621,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.40,"average_volume":0,"last_volume":4,"trade_date":1709928752723,"prevclose":2.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1709931595000,"asksize":17,"askexch":"Z","ask_date":1709931590000,"open_interest":1651,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00032000","description":"PLTR - Jul 19 2024 $32.00 Put","exch":"Z","type":"option","last":6.95,"change":0.00,"volume":48,"open":null,"high":null,"low":null,"close":null,"bid":7.55,"ask":7.65,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.6188068470458054,"gamma":0.038800302819771586,"theta":-0.015331053143016825,"vega":0.059877138109095326,"rho":0.028295879385117784,"phi":-0.036122600937105176,"bid_iv":0.619382,"mid_iv":0.623661,"ask_iv":0.62794,"smv_vol":0.624,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1709828465189,"prevclose":6.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":132,"bidexch":"E","bid_date":1709931594000,"asksize":178,"askexch":"E","ask_date":1709931594000,"open_interest":110,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00032000","description":"PLTR - Jul 19 2024 $32.00 Call","exch":"Z","type":"option","last":2.19,"change":-0.21,"volume":123,"open":2.65,"high":2.65,"low":2.15,"close":2.19,"bid":2.11,"ask":2.15,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.38119315295419465,"gamma":0.038800302819771586,"theta":-0.015331053143016825,"vega":0.059877138109095326,"rho":0.028295879385117784,"phi":-0.036122600937105176,"bid_iv":0.621081,"mid_iv":0.623586,"ask_iv":0.626091,"smv_vol":0.624,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-8.75,"average_volume":0,"last_volume":10,"trade_date":1709926292221,"prevclose":2.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":499,"bidexch":"D","bid_date":1709931578000,"asksize":314,"askexch":"E","ask_date":1709931583000,"open_interest":4534,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00033000","description":"PLTR - Jul 19 2024 $33.00 Put","exch":"Z","type":"option","last":7.85,"change":-1.65,"volume":6,"open":7.85,"high":7.85,"low":7.85,"close":7.85,"bid":8.35,"ask":8.4,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.6481514165817835,"gamma":0.037602736597467136,"theta":-0.014950082125524336,"vega":0.057511329955990585,"rho":0.026293665743994943,"phi":-0.03334015541867075,"bid_iv":0.616133,"mid_iv":0.6251,"ask_iv":0.634067,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.37,"average_volume":0,"last_volume":1,"trade_date":1709909089890,"prevclose":9.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1709931596000,"asksize":47,"askexch":"X","ask_date":1709931598000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00033000","description":"PLTR - Jul 19 2024 $33.00 Call","exch":"Z","type":"option","last":1.92,"change":-0.15,"volume":498,"open":2.32,"high":2.32,"low":1.89,"close":1.92,"bid":1.91,"ask":1.92,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.3518485834182165,"gamma":0.037602736597467136,"theta":-0.014950082125524336,"vega":0.057511329955990585,"rho":0.026293665743994943,"phi":-0.03334015541867075,"bid_iv":0.62652,"mid_iv":0.627389,"ask_iv":0.628258,"smv_vol":0.626,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-7.25,"average_volume":0,"last_volume":1,"trade_date":1709931553234,"prevclose":2.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"N","bid_date":1709931555000,"asksize":131,"askexch":"D","ask_date":1709931586000,"open_interest":3474,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00034000","description":"PLTR - Jul 19 2024 $34.00 Put","exch":"Z","type":"option","last":11.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.1,"ask":9.5,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.6756698341213846,"gamma":0.03628327856770305,"theta":-0.014514851905352337,"vega":0.05464926559830337,"rho":0.024389557250191554,"phi":-0.03073105067530335,"bid_iv":0.617203,"mid_iv":0.626702,"ask_iv":0.636201,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1708530985449,"prevclose":11.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"B","bid_date":1709931596000,"asksize":231,"askexch":"E","ask_date":1709931598000,"open_interest":22,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00034000","description":"PLTR - Jul 19 2024 $34.00 Call","exch":"Z","type":"option","last":1.76,"change":-0.24,"volume":104,"open":2.06,"high":2.09,"low":1.69,"close":1.76,"bid":1.7,"ask":1.74,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.3243301658786154,"gamma":0.03628327856770305,"theta":-0.014514851905352337,"vega":0.05464926559830337,"rho":0.024389557250191554,"phi":-0.03073105067530335,"bid_iv":0.62643,"mid_iv":0.629174,"ask_iv":0.631918,"smv_vol":0.629,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-12.00,"average_volume":0,"last_volume":1,"trade_date":1709929705516,"prevclose":2.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":429,"bidexch":"D","bid_date":1709931590000,"asksize":343,"askexch":"E","ask_date":1709931588000,"open_interest":2038,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00035000","description":"PLTR - Jul 19 2024 $35.00 Put","exch":"Z","type":"option","last":10.15,"change":0.43,"volume":11,"open":9.3,"high":10.15,"low":9.3,"close":10.15,"bid":9.95,"ask":10.05,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.7008622627754104,"gamma":0.0348398676484796,"theta":-0.014018491563245012,"vega":0.055640589491362726,"rho":0.022615834433592528,"phi":-0.02834270384166615,"bid_iv":0.623618,"mid_iv":0.633157,"ask_iv":0.642696,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":4.43,"average_volume":0,"last_volume":1,"trade_date":1709915384165,"prevclose":9.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":151,"bidexch":"E","bid_date":1709931592000,"asksize":137,"askexch":"E","ask_date":1709931592000,"open_interest":325,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00035000","description":"PLTR - Jul 19 2024 $35.00 Call","exch":"Z","type":"option","last":1.58,"change":-0.20,"volume":10,"open":1.97,"high":1.97,"low":1.57,"close":1.58,"bid":1.53,"ask":1.56,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.2991377372245896,"gamma":0.0348398676484796,"theta":-0.014018491563245012,"vega":0.055640589491362726,"rho":0.022615834433592528,"phi":-0.02834270384166615,"bid_iv":0.627329,"mid_iv":0.630023,"ask_iv":0.632717,"smv_vol":0.631,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.24,"average_volume":0,"last_volume":2,"trade_date":1709925866322,"prevclose":1.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":255,"bidexch":"B","bid_date":1709931595000,"asksize":254,"askexch":"B","ask_date":1709931595000,"open_interest":2536,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00036000","description":"PLTR - Jul 19 2024 $36.00 Put","exch":"Z","type":"option","last":12.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.8,"ask":10.9,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.724490179486489,"gamma":0.03335945741019331,"theta":-0.013501379303720857,"vega":0.0522964088255,"rho":0.020938189553590822,"phi":-0.02610279876913424,"bid_iv":0.625969,"mid_iv":0.636204,"ask_iv":0.64644,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709649999243,"prevclose":12.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":73,"bidexch":"E","bid_date":1709931600000,"asksize":43,"askexch":"X","ask_date":1709931581000,"open_interest":4,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00036000","description":"PLTR - Jul 19 2024 $36.00 Call","exch":"Z","type":"option","last":1.41,"change":-0.14,"volume":153,"open":1.72,"high":1.72,"low":1.41,"close":1.41,"bid":1.38,"ask":1.41,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.27550982051351103,"gamma":0.03335945741019331,"theta":-0.013501379303720857,"vega":0.0522964088255,"rho":0.020938189553590822,"phi":-0.02610279876913424,"bid_iv":0.630415,"mid_iv":0.633281,"ask_iv":0.636147,"smv_vol":0.634,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-9.04,"average_volume":0,"last_volume":4,"trade_date":1709930245781,"prevclose":1.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"P","bid_date":1709931563000,"asksize":251,"askexch":"E","ask_date":1709931585000,"open_interest":454,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00037000","description":"PLTR - Jul 19 2024 $37.00 Put","exch":"Z","type":"option","last":11.9,"change":-0.75,"volume":5,"open":11.9,"high":11.9,"low":11.9,"close":11.9,"bid":11.65,"ask":11.75,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.7466478826258428,"gamma":0.03185224043156202,"theta":-0.012959893144073737,"vega":0.04862620408859519,"rho":0.019351690724290466,"phi":-0.024002381937560102,"bid_iv":0.624495,"mid_iv":0.635648,"ask_iv":0.646801,"smv_vol":0.636,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-5.93,"average_volume":0,"last_volume":5,"trade_date":1709923441229,"prevclose":12.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":129,"bidexch":"E","bid_date":1709931588000,"asksize":37,"askexch":"X","ask_date":1709931581000,"open_interest":4,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00037000","description":"PLTR - Jul 19 2024 $37.00 Call","exch":"Z","type":"option","last":1.28,"change":-0.28,"volume":3,"open":1.62,"high":1.62,"low":1.28,"close":1.28,"bid":1.24,"ask":1.27,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.25335211737415714,"gamma":0.03185224043156202,"theta":-0.012959893144073737,"vega":0.04862620408859519,"rho":0.019351690724290466,"phi":-0.024002381937560102,"bid_iv":0.632594,"mid_iv":0.635678,"ask_iv":0.638761,"smv_vol":0.636,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-17.95,"average_volume":0,"last_volume":1,"trade_date":1709915445688,"prevclose":1.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":218,"bidexch":"B","bid_date":1709931588000,"asksize":183,"askexch":"E","ask_date":1709931588000,"open_interest":283,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00038000","description":"PLTR - Jul 19 2024 $38.00 Put","exch":"Z","type":"option","last":13.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.55,"ask":12.65,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.7668280874082293,"gamma":0.03031716084110635,"theta":-0.012401844184648804,"vega":0.049431162358863655,"rho":0.01788866401205437,"phi":-0.02208957374794096,"bid_iv":0.628902,"mid_iv":0.64129,"ask_iv":0.653678,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1708008817766,"prevclose":13.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":80,"bidexch":"E","bid_date":1709931588000,"asksize":65,"askexch":"D","ask_date":1709931574000,"open_interest":15,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00038000","description":"PLTR - Jul 19 2024 $38.00 Call","exch":"Z","type":"option","last":1.32,"change":-0.05,"volume":2,"open":1.38,"high":1.38,"low":1.32,"close":1.32,"bid":1.12,"ask":1.15,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.2331719125917707,"gamma":0.03031716084110635,"theta":-0.012401844184648804,"vega":0.049431162358863655,"rho":0.01788866401205437,"phi":-0.02208957374794096,"bid_iv":0.635906,"mid_iv":0.638938,"ask_iv":0.64197,"smv_vol":0.639,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-3.65,"average_volume":0,"last_volume":1,"trade_date":1709913689394,"prevclose":1.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"B","bid_date":1709931600000,"asksize":348,"askexch":"E","ask_date":1709931595000,"open_interest":668,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00039000","description":"PLTR - Jul 19 2024 $39.00 Put","exch":"Z","type":"option","last":13.15,"change":null,"volume":2,"open":13.15,"high":13.15,"low":13.15,"close":13.15,"bid":13.45,"ask":13.55,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.7856161764251154,"gamma":0.028794722438155753,"theta":-0.011839269054638894,"vega":0.04547911626173291,"rho":0.01651750914797821,"phi":-0.020308808943436674,"bid_iv":0.631816,"mid_iv":0.644487,"ask_iv":0.657158,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":null,"average_volume":0,"last_volume":1,"trade_date":1709914486775,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"M","bid_date":1709931589000,"asksize":79,"askexch":"E","ask_date":1709931589000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00039000","description":"PLTR - Jul 19 2024 $39.00 Call","exch":"Z","type":"option","last":1.03,"change":-0.23,"volume":22,"open":1.31,"high":1.31,"low":1.03,"close":1.03,"bid":1.01,"ask":1.04,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.21438382357488459,"gamma":0.028794722438155753,"theta":-0.011839269054638894,"vega":0.04547911626173291,"rho":0.01651750914797821,"phi":-0.020308808943436674,"bid_iv":0.638165,"mid_iv":0.641461,"ask_iv":0.644756,"smv_vol":0.642,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-18.26,"average_volume":0,"last_volume":1,"trade_date":1709923185781,"prevclose":1.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"E","bid_date":1709931591000,"asksize":371,"askexch":"E","ask_date":1709931599000,"open_interest":2315,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00040000","description":"PLTR - Jul 19 2024 $40.00 Put","exch":"Z","type":"option","last":16.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.35,"ask":14.45,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.8033375018836917,"gamma":0.027287456940836854,"theta":-0.011269975302982642,"vega":0.041386277014750845,"rho":0.015217338218159597,"phi":-0.018629219735721847,"bid_iv":0.632914,"mid_iv":0.646577,"ask_iv":0.660241,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1708442623434,"prevclose":16.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"E","bid_date":1709931588000,"asksize":64,"askexch":"D","ask_date":1709931583000,"open_interest":13,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00040000","description":"PLTR - Jul 19 2024 $40.00 Call","exch":"Z","type":"option","last":0.94,"change":-0.12,"volume":646,"open":1.2,"high":1.21,"low":0.91,"close":0.94,"bid":0.91,"ask":0.94,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.19666249811630826,"gamma":0.027287456940836854,"theta":-0.011269975302982642,"vega":0.041386277014750845,"rho":0.015217338218159597,"phi":-0.018629219735721847,"bid_iv":0.640574,"mid_iv":0.644197,"ask_iv":0.647821,"smv_vol":0.644,"updated_at":"2024-03-08 - 20:59:27"},"change_percentage":-11.33,"average_volume":0,"last_volume":5,"trade_date":1709930701259,"prevclose":1.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":734,"bidexch":"D","bid_date":1709931593000,"asksize":324,"askexch":"E","ask_date":1709931599000,"open_interest":7690,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + Jul 19 2024 $3.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.23,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.0,"gamma":8.68307146261907E-15,"theta":-5.657311632118369E-4,"vega":1.999999830990287E-5,"rho":0.0028577114056854984,"phi":-0.022592158792633654,"bid_iv":0.0,"mid_iv":2.604304,"ask_iv":2.604304,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717097388166,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718193600000,"asksize":33,"askexch":"P","ask_date":1718371804000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00003000","description":"PLTR + Jul 19 2024 $3.00 Call","exch":"Z","type":"option","last":20.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.45,"ask":20.7,"underlying":"PLTR","strike":3.0,"greeks":{"delta":1.0,"gamma":8.68307146261907E-15,"theta":-5.657311632118369E-4,"vega":1.999999830990287E-5,"rho":0.0028577114056854984,"phi":-0.022592158792633654,"bid_iv":0.0,"mid_iv":3.973768,"ask_iv":3.973768,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718219327057,"prevclose":20.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"N","bid_date":1718395195000,"asksize":124,"askexch":"N","ask_date":1718395196000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00004000","description":"PLTR + Jul 19 2024 $4.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.08,"underlying":"PLTR","strike":4.0,"greeks":{"delta":0.0,"gamma":7.605556982360689E-16,"theta":-7.543082176089815E-4,"vega":1.999999830990287E-5,"rho":0.003810281864896072,"phi":-0.022592158899215065,"bid_iv":0.0,"mid_iv":2.959146,"ask_iv":2.959146,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1706715201436,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"P","bid_date":1718394224000,"asksize":413,"askexch":"E","ask_date":1718395156000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00004000","description":"PLTR + Jul 19 2024 $4.00 Call","exch":"Z","type":"option","last":19.13,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":19.55,"ask":19.8,"underlying":"PLTR","strike":4.0,"greeks":{"delta":1.0,"gamma":7.605556982360689E-16,"theta":-7.543082176089815E-4,"vega":1.999999830990287E-5,"rho":0.003810281864896072,"phi":-0.022592158899215065,"bid_iv":0.0,"mid_iv":3.565327,"ask_iv":3.565327,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1712250743950,"prevclose":19.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"E","bid_date":1718395104000,"asksize":112,"askexch":"Q","ask_date":1718395102000,"open_interest":7,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00005000","description":"PLTR + Jul 19 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.08,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.0,"gamma":-5.418141575073989E-15,"theta":-9.428852720087019E-4,"vega":1.9999998448435423E-5,"rho":0.004762852324359382,"phi":-0.022592158970269338,"bid_iv":0.0,"mid_iv":2.589469,"ask_iv":2.589469,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1707231734853,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718394393000,"asksize":580,"askexch":"E","ask_date":1718395156000,"open_interest":31,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00005000","description":"PLTR + Jul 19 2024 $5.00 Call","exch":"Z","type":"option","last":16.19,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.55,"ask":18.7,"underlying":"PLTR","strike":5.0,"greeks":{"delta":1.0,"gamma":-5.418141575073989E-15,"theta":-9.428852720087019E-4,"vega":1.9999998448435423E-5,"rho":0.004762852324359382,"phi":-0.022592158970269338,"bid_iv":0.0,"mid_iv":2.924406,"ask_iv":2.924406,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1716312044005,"prevclose":16.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":26,"bidexch":"E","bid_date":1718395113000,"asksize":127,"askexch":"N","ask_date":1718395113000,"open_interest":5,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00006000","description":"PLTR + Jul 19 2024 $6.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.04,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-8.02E-14,"gamma":1.4335649347025846E-13,"theta":-0.001131462326454278,"vega":1.9999998448435423E-5,"rho":0.005715422784075429,"phi":-0.022592159112377885,"bid_iv":0.0,"mid_iv":2.062287,"ask_iv":2.062287,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1710768602611,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718392858000,"asksize":432,"askexch":"A","ask_date":1718395159000,"open_interest":251,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00006000","description":"PLTR + Jul 19 2024 $6.00 Call","exch":"Z","type":"option","last":15.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.5,"ask":17.75,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9999999999999198,"gamma":1.4335649347025846E-13,"theta":-0.001131462326454278,"vega":1.9999998448435423E-5,"rho":0.005715422784075429,"phi":-0.022592159112377885,"bid_iv":0.0,"mid_iv":2.720807,"ask_iv":2.720807,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715785909520,"prevclose":15.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":116,"bidexch":"N","bid_date":1718395107000,"asksize":93,"askexch":"N","ask_date":1718394988000,"open_interest":4,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00007000","description":"PLTR + Jul 19 2024 $7.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.03,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-4.75998E-11,"gamma":6.633369336303622E-11,"theta":-0.0013200394012611374,"vega":2.000002047511112E-5,"rho":0.006667993242780529,"phi":-0.022592159147905022,"bid_iv":0.0,"mid_iv":1.769432,"ask_iv":1.769432,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715010471583,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"E","bid_date":1718392860000,"asksize":180,"askexch":"E","ask_date":1718395156000,"open_interest":306,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00007000","description":"PLTR + Jul 19 2024 $7.00 Call","exch":"Z","type":"option","last":16.92,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.45,"ask":16.8,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9999999999524002,"gamma":6.633369336303622E-11,"theta":-0.0013200394012611374,"vega":2.000002047511112E-5,"rho":0.006667993242780529,"phi":-0.022592159147905022,"bid_iv":0.0,"mid_iv":2.272671,"ask_iv":2.272671,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718135538649,"prevclose":16.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"Q","bid_date":1718395107000,"asksize":137,"askexch":"N","ask_date":1718395107000,"open_interest":18,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00008000","description":"PLTR + Jul 19 2024 $8.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.08,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-2.9298786E-9,"gamma":3.767763562448963E-9,"theta":-0.0015086175602517726,"vega":2.0001292476666618E-5,"rho":0.007620563631098447,"phi":-0.022592161776913144,"bid_iv":0.0,"mid_iv":1.837209,"ask_iv":1.837209,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1716481875520,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718394339000,"asksize":299,"askexch":"E","ask_date":1718395156000,"open_interest":125,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00008000","description":"PLTR + Jul 19 2024 $8.00 Call","exch":"Z","type":"option","last":15.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.45,"ask":15.7,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9999999970701214,"gamma":3.767763562448963E-9,"theta":-0.0015086175602517726,"vega":2.0001292476666618E-5,"rho":0.007620563631098447,"phi":-0.022592161776913144,"bid_iv":0.0,"mid_iv":2.150382,"ask_iv":2.150382,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718048635171,"prevclose":15.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":112,"bidexch":"N","bid_date":1718395197000,"asksize":92,"askexch":"N","ask_date":1718395195000,"open_interest":37,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00009000","description":"PLTR + Jul 19 2024 $9.00 Call","exch":"Z","type":"option","last":14.35,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":14.45,"ask":14.75,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.9999998274017515,"gamma":1.9413287219604503E-7,"theta":-0.001697253179740114,"vega":2.0080043027726047E-5,"rho":0.00857313006699288,"phi":-0.022592155435319228,"bid_iv":0.0,"mid_iv":1.922034,"ask_iv":1.922034,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718295277429,"prevclose":14.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":111,"bidexch":"Q","bid_date":1718395107000,"asksize":95,"askexch":"Z","ask_date":1718395027000,"open_interest":35,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00009000","description":"PLTR + Jul 19 2024 $9.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.5,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-1.725982485E-7,"gamma":1.9413287219604503E-7,"theta":-0.001697253179740114,"vega":2.0080043027726047E-5,"rho":0.00857313006699288,"phi":-0.022592155435319228,"bid_iv":0.0,"mid_iv":1.242529,"ask_iv":1.242529,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718034232783,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718373219000,"asksize":1,"askexch":"C","ask_date":1718371803000,"open_interest":41,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00010000","description":"PLTR + Jul 19 2024 $10.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.08,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-1.597154086E-6,"gamma":1.7030546655782737E-6,"theta":-0.001886265298019278,"vega":2.0624715768956398E-5,"rho":0.009525666674518323,"phi":-0.02259212420696599,"bid_iv":0.0,"mid_iv":1.485554,"ask_iv":1.485554,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1717787030610,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718394224000,"asksize":1235,"askexch":"E","ask_date":1718395156000,"open_interest":577,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00010000","description":"PLTR + Jul 19 2024 $10.00 Call","exch":"Z","type":"option","last":13.45,"change":-0.45,"volume":7,"open":13.21,"high":13.45,"low":13.12,"close":13.45,"bid":13.5,"ask":13.75,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.999998402845914,"gamma":1.7030546655782737E-6,"theta":-0.001886265298019278,"vega":2.0624715768956398E-5,"rho":0.009525666674518323,"phi":-0.02259212420696599,"bid_iv":0.0,"mid_iv":1.719918,"ask_iv":1.719918,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.24,"average_volume":0,"last_volume":1,"trade_date":1718379434576,"prevclose":13.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":113,"bidexch":"Q","bid_date":1718395107000,"asksize":100,"askexch":"Z","ask_date":1718395027000,"open_interest":53,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00011000","description":"PLTR + Jul 19 2024 $11.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.08,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-1.56116611457E-5,"gamma":1.5154022010653585E-5,"theta":-0.002078683374610651,"vega":2.599377859684459E-5,"rho":0.010477903154007534,"phi":-0.02259180389430071,"bid_iv":0.0,"mid_iv":1.336229,"ask_iv":1.336229,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1717682058228,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718394224000,"asksize":1236,"askexch":"E","ask_date":1718395156000,"open_interest":369,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00011000","description":"PLTR + Jul 19 2024 $11.00 Call","exch":"Z","type":"option","last":12.56,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.6,"ask":12.75,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9999843883388543,"gamma":1.5154022010653585E-5,"theta":-0.002078683374610651,"vega":2.599377859684459E-5,"rho":0.010477903154007534,"phi":-0.02259180389430071,"bid_iv":0.0,"mid_iv":1.538448,"ask_iv":1.538448,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717685596563,"prevclose":12.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"C","bid_date":1718395195000,"asksize":101,"askexch":"Q","ask_date":1718395195000,"open_interest":29,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00012000","description":"PLTR + Jul 19 2024 $12.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":30,"open":0.01,"high":0.01,"low":0.01,"close":0.01,"bid":0.0,"ask":0.05,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-1.742928042665E-4,"gamma":1.4310578300909927E-4,"theta":-0.0023066962836735204,"vega":6.462218067545563E-5,"rho":0.011426668852561907,"phi":-0.022588189736438835,"bid_iv":0.893235,"mid_iv":1.001205,"ask_iv":1.109174,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":30,"trade_date":1718385664374,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718395197000,"asksize":1108,"askexch":"E","ask_date":1718395156000,"open_interest":410,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00012000","description":"PLTR + Jul 19 2024 $12.00 Call","exch":"Z","type":"option","last":11.71,"change":0.31,"volume":2,"open":11.35,"high":11.71,"low":11.35,"close":11.71,"bid":11.45,"ask":11.85,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9998257071957335,"gamma":1.4310578300909927E-4,"theta":-0.0023066962836735204,"vega":6.462218067545563E-5,"rho":0.011426668852561907,"phi":-0.022588189736438835,"bid_iv":0.0,"mid_iv":1.27388,"ask_iv":1.27388,"smv_vol":0.597,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.72,"average_volume":0,"last_volume":1,"trade_date":1718394937079,"prevclose":11.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":104,"bidexch":"Q","bid_date":1718395195000,"asksize":103,"askexch":"Q","ask_date":1718395195000,"open_interest":47,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00013000","description":"PLTR + Jul 19 2024 $13.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-7.851181442485E-4,"gamma":5.797521993118781E-4,"theta":-0.002628439115751098,"vega":2.344875555410126E-4,"rho":0.012364521010002969,"phi":-0.022574291360655252,"bid_iv":0.796306,"mid_iv":0.832241,"ask_iv":0.868176,"smv_vol":0.596,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718204739357,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"X","bid_date":1718394339000,"asksize":1,"askexch":"P","ask_date":1718372123000,"open_interest":472,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00013000","description":"PLTR + Jul 19 2024 $13.00 Call","exch":"Z","type":"option","last":10.4,"change":-0.83,"volume":5,"open":10.28,"high":10.43,"low":10.28,"close":10.4,"bid":10.45,"ask":10.75,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9992148818557515,"gamma":5.797521993118781E-4,"theta":-0.002628439115751098,"vega":2.344875555410126E-4,"rho":0.012364521010002969,"phi":-0.022574291360655252,"bid_iv":0.0,"mid_iv":1.128893,"ask_iv":1.128893,"smv_vol":0.596,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.40,"average_volume":0,"last_volume":1,"trade_date":1718378368992,"prevclose":11.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":113,"bidexch":"Z","bid_date":1718395196000,"asksize":122,"askexch":"N","ask_date":1718395195000,"open_interest":84,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00014000","description":"PLTR + Jul 19 2024 $14.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0027147200613797,"gamma":0.001800688440365084,"theta":-0.0031869638976484873,"vega":6.21166641031651E-4,"rho":0.013270336774933486,"phi":-0.022530423002820044,"bid_iv":0.705451,"mid_iv":0.77861,"ask_iv":0.851769,"smv_vol":0.593,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718215163346,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":52,"bidexch":"B","bid_date":1718394797000,"asksize":100,"askexch":"B","ask_date":1718395195000,"open_interest":418,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00014000","description":"PLTR + Jul 19 2024 $14.00 Call","exch":"Z","type":"option","last":9.42,"change":0.00,"volume":6,"open":null,"high":null,"low":null,"close":null,"bid":9.6,"ask":9.85,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9972852799386203,"gamma":0.001800688440365084,"theta":-0.0031869638976484873,"vega":6.21166641031651E-4,"rho":0.013270336774933486,"phi":-0.022530423002820044,"bid_iv":0.0,"mid_iv":1.080658,"ask_iv":1.080658,"smv_vol":0.593,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718293713278,"prevclose":9.42,"week_52_high":0.0,"week_52_low":0.0,"bidsize":68,"bidexch":"X","bid_date":1718395112000,"asksize":114,"askexch":"Q","ask_date":1718395153000,"open_interest":158,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00015000","description":"PLTR + Jul 19 2024 $15.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":2,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.02,"ask":0.06,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0065310317621882,"gamma":0.00404823120011978,"theta":-0.003994275467569286,"vega":0.0013561530812155234,"rho":0.01413013419735728,"phi":-0.02244369575521432,"bid_iv":0.678624,"mid_iv":0.742302,"ask_iv":0.80598,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718371915573,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"I","bid_date":1718372034000,"asksize":1074,"askexch":"E","ask_date":1718395156000,"open_interest":7450,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00015000","description":"PLTR + Jul 19 2024 $15.00 Call","exch":"Z","type":"option","last":8.4,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":8.55,"ask":8.75,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9934689682378118,"gamma":0.00404823120011978,"theta":-0.003994275467569286,"vega":0.0013561530812155234,"rho":0.01413013419735728,"phi":-0.02244369575521432,"bid_iv":0.0,"mid_iv":0.869844,"ask_iv":0.869844,"smv_vol":0.586,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718295403762,"prevclose":8.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":143,"bidexch":"E","bid_date":1718395160000,"asksize":58,"askexch":"Q","ask_date":1718395160000,"open_interest":680,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00016000","description":"PLTR + Jul 19 2024 $16.00 Put","exch":"Z","type":"option","last":0.02,"change":-0.02,"volume":42,"open":0.03,"high":0.03,"low":0.02,"close":0.02,"bid":0.0,"ask":0.08,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0155527919772599,"gamma":0.008684022856032534,"theta":-0.005484171276362605,"vega":0.0027421551340822696,"rho":0.014861837256855864,"phi":-0.022238827286358287,"bid_iv":0.541714,"mid_iv":0.644018,"ask_iv":0.746321,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-50.00,"average_volume":0,"last_volume":10,"trade_date":1718394199384,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"B","bid_date":1718395197000,"asksize":57,"askexch":"N","ask_date":1718395198000,"open_interest":3418,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00016000","description":"PLTR + Jul 19 2024 $16.00 Call","exch":"Z","type":"option","last":7.47,"change":0.00,"volume":9,"open":null,"high":null,"low":null,"close":null,"bid":7.5,"ask":7.75,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9844472080227401,"gamma":0.008684022856032534,"theta":-0.005484171276362605,"vega":0.0027421551340822696,"rho":0.014861837256855864,"phi":-0.022238827286358287,"bid_iv":0.0,"mid_iv":0.753124,"ask_iv":0.753124,"smv_vol":0.572,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718300844727,"prevclose":7.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":102,"bidexch":"Q","bid_date":1718395195000,"asksize":45,"askexch":"N","ask_date":1718395195000,"open_interest":1465,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00017000","description":"PLTR + Jul 19 2024 $17.00 Call","exch":"Z","type":"option","last":6.98,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.5,"ask":6.9,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9679092794102332,"gamma":0.016130769977758246,"theta":-0.007690556035652295,"vega":0.005035599687510295,"rho":0.01540655908877376,"phi":-0.02186351795607777,"bid_iv":0.0,"mid_iv":0.64381,"ask_iv":0.64381,"smv_vol":0.554,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":14,"trade_date":1718286854504,"prevclose":6.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"X","bid_date":1718395197000,"asksize":106,"askexch":"N","ask_date":1718395197000,"open_interest":1030,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00017000","description":"PLTR + Jul 19 2024 $17.00 Put","exch":"Z","type":"option","last":0.03,"change":-0.01,"volume":23,"open":0.04,"high":0.04,"low":0.03,"close":0.03,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0320907205897668,"gamma":0.016130769977758246,"theta":-0.007690556035652295,"vega":0.005035599687510295,"rho":0.01540655908877376,"phi":-0.02186351795607777,"bid_iv":0.544362,"mid_iv":0.557589,"ask_iv":0.570815,"smv_vol":0.554,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-25.00,"average_volume":0,"last_volume":1,"trade_date":1718383995555,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"N","bid_date":1718395107000,"asksize":5,"askexch":"N","ask_date":1718395107000,"open_interest":2708,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00018000","description":"PLTR + Jul 19 2024 $18.00 Put","exch":"Z","type":"option","last":0.05,"change":-0.01,"volume":954,"open":0.07,"high":0.07,"low":0.04,"close":0.05,"bid":0.03,"ask":0.08,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0551812774346216,"gamma":0.02588406738781906,"theta":-0.010077002436683132,"vega":0.008433977076243153,"rho":0.015788028669084284,"phi":-0.02133964827955026,"bid_iv":0.463094,"mid_iv":0.508745,"ask_iv":0.554396,"smv_vol":0.508,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.67,"average_volume":0,"last_volume":10,"trade_date":1718394199384,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":276,"bidexch":"C","bid_date":1718395196000,"asksize":2819,"askexch":"C","ask_date":1718395196000,"open_interest":13195,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00018000","description":"PLTR + Jul 19 2024 $18.00 Call","exch":"Z","type":"option","last":5.75,"change":0.25,"volume":3,"open":5.75,"high":5.75,"low":5.75,"close":5.75,"bid":5.7,"ask":5.8,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9448187225653784,"gamma":0.02588406738781906,"theta":-0.010077002436683132,"vega":0.008433977076243153,"rho":0.015788028669084284,"phi":-0.02133964827955026,"bid_iv":0.0,"mid_iv":0.660014,"ask_iv":0.660014,"smv_vol":0.508,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.55,"average_volume":0,"last_volume":3,"trade_date":1718390936140,"prevclose":5.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"E","bid_date":1718395156000,"asksize":49,"askexch":"Q","ask_date":1718395157000,"open_interest":1547,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00019000","description":"PLTR + Jul 19 2024 $19.00 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":80,"open":0.1,"high":0.11,"low":0.07,"close":0.07,"bid":0.07,"ask":0.09,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.087429930227476,"gamma":0.03870625613549379,"theta":-0.01259789597387078,"vega":0.011413845181628492,"rho":0.01594145115426653,"phi":-0.020608184518877692,"bid_iv":0.451051,"mid_iv":0.463798,"ask_iv":0.476546,"smv_vol":0.464,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718392721497,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"X","bid_date":1718394589000,"asksize":638,"askexch":"X","ask_date":1718395154000,"open_interest":13158,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00019000","description":"PLTR + Jul 19 2024 $19.00 Call","exch":"Z","type":"option","last":4.37,"change":-0.18,"volume":10,"open":4.05,"high":4.37,"low":4.05,"close":4.37,"bid":4.7,"ask":4.95,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.912570069772524,"gamma":0.03870625613549379,"theta":-0.01259789597387078,"vega":0.011413845181628492,"rho":0.01594145115426653,"phi":-0.020608184518877692,"bid_iv":0.333097,"mid_iv":0.41559,"ask_iv":0.498083,"smv_vol":0.464,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.96,"average_volume":0,"last_volume":1,"trade_date":1718375632547,"prevclose":4.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"Z","bid_date":1718395198000,"asksize":130,"askexch":"Q","ask_date":1718395198000,"open_interest":980,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00020000","description":"PLTR + Jul 19 2024 $20.00 Put","exch":"Z","type":"option","last":0.14,"change":0.00,"volume":375,"open":0.15,"high":0.21,"low":0.13,"close":0.14,"bid":0.12,"ask":0.14,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.1296425209250157,"gamma":0.05514887345131661,"theta":-0.014854585009260757,"vega":0.014914225684688032,"rho":0.015849909640232945,"phi":-0.019650795883841,"bid_iv":0.415883,"mid_iv":0.424543,"ask_iv":0.433203,"smv_vol":0.439,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718395003464,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":421,"bidexch":"E","bid_date":1718395199000,"asksize":960,"askexch":"H","ask_date":1718395198000,"open_interest":15109,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00020000","description":"PLTR + Jul 19 2024 $20.00 Call","exch":"Z","type":"option","last":3.8,"change":0.23,"volume":174,"open":3.3,"high":3.94,"low":3.3,"close":3.8,"bid":3.7,"ask":3.9,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.8703574790749843,"gamma":0.05514887345131661,"theta":-0.014854585009260757,"vega":0.014914225684688032,"rho":0.015849909640232945,"phi":-0.019650795883841,"bid_iv":0.398429,"mid_iv":0.422204,"ask_iv":0.445979,"smv_vol":0.439,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.45,"average_volume":0,"last_volume":1,"trade_date":1718394806290,"prevclose":3.57,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"N","bid_date":1718395198000,"asksize":24,"askexch":"N","ask_date":1718395198000,"open_interest":14298,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00021000","description":"PLTR + Jul 19 2024 $21.00 Put","exch":"Z","type":"option","last":0.26,"change":-0.01,"volume":586,"open":0.28,"high":0.35,"low":0.24,"close":0.26,"bid":0.24,"ask":0.26,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.183796722720145,"gamma":0.07685009277616504,"theta":-0.016368288249356745,"vega":0.01996783424370038,"rho":0.015472229379090516,"phi":-0.018422431886655488,"bid_iv":0.406885,"mid_iv":0.409878,"ask_iv":0.41287,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.71,"average_volume":0,"last_volume":5,"trade_date":1718395171187,"prevclose":0.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"B","bid_date":1718395199000,"asksize":226,"askexch":"H","ask_date":1718395199000,"open_interest":11066,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00021000","description":"PLTR + Jul 19 2024 $21.00 Call","exch":"Z","type":"option","last":2.95,"change":0.20,"volume":92,"open":2.69,"high":3.06,"low":2.37,"close":2.95,"bid":2.92,"ask":3.05,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.816203277279855,"gamma":0.07685009277616504,"theta":-0.016368288249356745,"vega":0.01996783424370038,"rho":0.015472229379090516,"phi":-0.018422431886655488,"bid_iv":0.384347,"mid_iv":0.400645,"ask_iv":0.416943,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.28,"average_volume":0,"last_volume":1,"trade_date":1718394451935,"prevclose":2.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":47,"bidexch":"E","bid_date":1718395199000,"asksize":44,"askexch":"Q","ask_date":1718395199000,"open_interest":13095,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00022000","description":"PLTR + Jul 19 2024 $22.00 Call","exch":"Z","type":"option","last":2.18,"change":0.22,"volume":455,"open":1.85,"high":2.25,"low":1.67,"close":2.18,"bid":2.15,"ask":2.33,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.738597916484066,"gamma":0.10526982966992218,"theta":-0.0174074600044481,"vega":0.023468048144716005,"rho":0.014518398860621597,"phi":-0.016662737718498022,"bid_iv":0.386091,"mid_iv":0.394664,"ask_iv":0.403238,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.23,"average_volume":0,"last_volume":10,"trade_date":1718395170433,"prevclose":1.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"X","bid_date":1718395198000,"asksize":121,"askexch":"Z","ask_date":1718395198000,"open_interest":10884,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00022000","description":"PLTR + Jul 19 2024 $22.00 Put","exch":"Z","type":"option","last":0.45,"change":-0.06,"volume":452,"open":0.32,"high":0.66,"low":0.32,"close":0.45,"bid":0.46,"ask":0.48,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.261402083515934,"gamma":0.10526982966992218,"theta":-0.0174074600044481,"vega":0.023468048144716005,"rho":0.014518398860621597,"phi":-0.016662737718498022,"bid_iv":0.395373,"mid_iv":0.399639,"ask_iv":0.403905,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-11.77,"average_volume":0,"last_volume":3,"trade_date":1718394993572,"prevclose":0.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":228,"bidexch":"B","bid_date":1718395198000,"asksize":10,"askexch":"N","ask_date":1718395198000,"open_interest":6433,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00023000","description":"PLTR + Jul 19 2024 $23.00 Put","exch":"Z","type":"option","last":0.81,"change":-0.10,"volume":2251,"open":1.26,"high":1.26,"low":0.78,"close":0.81,"bid":0.81,"ask":0.84,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3752989450468484,"gamma":0.13389340777095862,"theta":-0.018038348147424707,"vega":0.027997380682873843,"rho":0.012634061462797812,"phi":-0.014083093984318396,"bid_iv":0.396597,"mid_iv":0.400167,"ask_iv":0.403736,"smv_vol":0.393,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.99,"average_volume":0,"last_volume":1,"trade_date":1718395045260,"prevclose":0.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"N","bid_date":1718395198000,"asksize":7,"askexch":"Z","ask_date":1718395198000,"open_interest":12137,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00023000","description":"PLTR + Jul 19 2024 $23.00 Call","exch":"Z","type":"option","last":1.54,"change":0.20,"volume":855,"open":1.22,"high":1.61,"low":1.09,"close":1.54,"bid":1.53,"ask":1.56,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6247010549531516,"gamma":0.13389340777095862,"theta":-0.018038348147424707,"vega":0.027997380682873843,"rho":0.012634061462797812,"phi":-0.014083093984318396,"bid_iv":0.391592,"mid_iv":0.396951,"ask_iv":0.40231,"smv_vol":0.393,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.93,"average_volume":0,"last_volume":4,"trade_date":1718395159079,"prevclose":1.34,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"D","bid_date":1718395199000,"asksize":9,"askexch":"Z","ask_date":1718395199000,"open_interest":11122,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00024000","description":"PLTR + Jul 19 2024 $24.00 Put","exch":"Z","type":"option","last":1.35,"change":-0.11,"volume":101,"open":1.5,"high":1.64,"low":1.29,"close":1.35,"bid":1.31,"ask":1.34,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.5163615137166092,"gamma":0.1464555549922163,"theta":-0.017584088151427004,"vega":0.02917893263787819,"rho":0.009970837430455697,"phi":-0.010893347305307444,"bid_iv":0.39734,"mid_iv":0.400799,"ask_iv":0.404258,"smv_vol":0.396,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.54,"average_volume":0,"last_volume":5,"trade_date":1718394590009,"prevclose":1.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"N","bid_date":1718395199000,"asksize":7,"askexch":"N","ask_date":1718395200000,"open_interest":3282,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00024000","description":"PLTR + Jul 19 2024 $24.00 Call","exch":"Z","type":"option","last":1.04,"change":0.16,"volume":2856,"open":0.85,"high":1.1,"low":0.71,"close":1.04,"bid":1.02,"ask":1.04,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.48363848628339084,"gamma":0.1464555549922163,"theta":-0.017584088151427004,"vega":0.02917893263787819,"rho":0.009970837430455697,"phi":-0.010893347305307444,"bid_iv":0.392627,"mid_iv":0.397773,"ask_iv":0.40292,"smv_vol":0.396,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":18.19,"average_volume":0,"last_volume":1,"trade_date":1718395193037,"prevclose":0.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":93,"bidexch":"B","bid_date":1718395195000,"asksize":24,"askexch":"U","ask_date":1718395107000,"open_interest":11355,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00025000","description":"PLTR + Jul 19 2024 $25.00 Put","exch":"Z","type":"option","last":1.94,"change":-0.18,"volume":68,"open":1.98,"high":2.4,"low":1.9,"close":1.94,"bid":1.95,"ask":1.99,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.6529657077743399,"gamma":0.13544213788882373,"theta":-0.01589027946380693,"vega":0.026443631390182246,"rho":0.007238380469718054,"phi":-0.0078096518696391115,"bid_iv":0.40457,"mid_iv":0.408221,"ask_iv":0.411873,"smv_vol":0.403,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.50,"average_volume":0,"last_volume":1,"trade_date":1718394950593,"prevclose":2.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"P","bid_date":1718395199000,"asksize":2,"askexch":"P","ask_date":1718395194000,"open_interest":3104,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00025000","description":"PLTR + Jul 19 2024 $25.00 Call","exch":"Z","type":"option","last":0.67,"change":0.10,"volume":7906,"open":0.54,"high":0.71,"low":0.46,"close":0.67,"bid":0.65,"ask":0.7,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.3470342922256601,"gamma":0.13544213788882373,"theta":-0.01589027946380693,"vega":0.026443631390182246,"rho":0.007238380469718054,"phi":-0.0078096518696391115,"bid_iv":0.400652,"mid_iv":0.404351,"ask_iv":0.40805,"smv_vol":0.403,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":17.55,"average_volume":0,"last_volume":2,"trade_date":1718395163901,"prevclose":0.57,"week_52_high":0.0,"week_52_low":0.0,"bidsize":133,"bidexch":"E","bid_date":1718395199000,"asksize":6,"askexch":"Q","ask_date":1718395199000,"open_interest":23898,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00026000","description":"PLTR + Jul 19 2024 $26.00 Put","exch":"Z","type":"option","last":3.15,"change":0.23,"volume":1,"open":3.15,"high":3.15,"low":3.15,"close":3.15,"bid":2.64,"ask":2.98,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.7600816991931437,"gamma":0.11041083321366,"theta":-0.013519904398245778,"vega":0.02225493289823764,"rho":0.005036152635535224,"phi":-0.005395325889390179,"bid_iv":0.401045,"mid_iv":0.418401,"ask_iv":0.435757,"smv_vol":0.411,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.88,"average_volume":0,"last_volume":1,"trade_date":1718371937534,"prevclose":2.92,"week_52_high":0.0,"week_52_low":0.0,"bidsize":65,"bidexch":"E","bid_date":1718395198000,"asksize":282,"askexch":"E","ask_date":1718395199000,"open_interest":1200,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00026000","description":"PLTR + Jul 19 2024 $26.00 Call","exch":"Z","type":"option","last":0.43,"change":0.06,"volume":935,"open":0.35,"high":0.45,"low":0.29,"close":0.43,"bid":0.42,"ask":0.45,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.23991830080685633,"gamma":0.11041083321366,"theta":-0.013519904398245778,"vega":0.02225493289823764,"rho":0.005036152635535224,"phi":-0.005395325889390179,"bid_iv":0.404935,"mid_iv":0.411358,"ask_iv":0.41778,"smv_vol":0.411,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.22,"average_volume":0,"last_volume":1,"trade_date":1718395153753,"prevclose":0.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":26,"bidexch":"P","bid_date":1718395195000,"asksize":116,"askexch":"E","ask_date":1718395200000,"open_interest":12704,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00027000","description":"PLTR + Jul 19 2024 $27.00 Put","exch":"Z","type":"option","last":3.77,"change":0.00,"volume":5,"open":null,"high":null,"low":null,"close":null,"bid":3.35,"ask":3.65,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.8343639388298435,"gamma":0.08431270461449905,"theta":-0.011187823044758611,"vega":0.018998587716226024,"rho":0.003488408576008014,"phi":-0.0037230263760790194,"bid_iv":0.39773,"mid_iv":0.426341,"ask_iv":0.454952,"smv_vol":0.418,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718298293219,"prevclose":3.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":30,"bidexch":"N","bid_date":1718395198000,"asksize":336,"askexch":"E","ask_date":1718395198000,"open_interest":927,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00027000","description":"PLTR + Jul 19 2024 $27.00 Call","exch":"Z","type":"option","last":0.28,"change":0.05,"volume":2858,"open":0.24,"high":0.28,"low":0.19,"close":0.28,"bid":0.26,"ask":0.28,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.1656360611701565,"gamma":0.08431270461449905,"theta":-0.011187823044758611,"vega":0.018998587716226024,"rho":0.003488408576008014,"phi":-0.0037230263760790194,"bid_iv":0.411852,"mid_iv":0.417158,"ask_iv":0.422464,"smv_vol":0.418,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":21.74,"average_volume":0,"last_volume":3,"trade_date":1718395186815,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":241,"bidexch":"E","bid_date":1718395199000,"asksize":328,"askexch":"Q","ask_date":1718395197000,"open_interest":20925,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00028000","description":"PLTR + Jul 19 2024 $28.00 Put","exch":"Z","type":"option","last":4.73,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.25,"ask":4.6,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.8820649920614831,"gamma":0.06315027609353839,"theta":-0.009311681909516006,"vega":0.01361074774720892,"rho":0.0024866295439067653,"phi":-0.0026501380942511865,"bid_iv":0.369575,"mid_iv":0.420144,"ask_iv":0.470713,"smv_vol":0.43,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718299377431,"prevclose":4.73,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1718395198000,"asksize":69,"askexch":"N","ask_date":1718395198000,"open_interest":278,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00028000","description":"PLTR + Jul 19 2024 $28.00 Call","exch":"Z","type":"option","last":0.18,"change":0.01,"volume":209,"open":0.17,"high":0.18,"low":0.14,"close":0.18,"bid":0.16,"ask":0.19,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.11793500793851687,"gamma":0.06315027609353839,"theta":-0.009311681909516006,"vega":0.01361074774720892,"rho":0.0024866295439067653,"phi":-0.0026501380942511865,"bid_iv":0.419958,"mid_iv":0.42704,"ask_iv":0.434121,"smv_vol":0.43,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.89,"average_volume":0,"last_volume":1,"trade_date":1718395171469,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":259,"bidexch":"E","bid_date":1718395197000,"asksize":23,"askexch":"N","ask_date":1718395200000,"open_interest":6921,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00029000","description":"PLTR + Jul 19 2024 $29.00 Put","exch":"Z","type":"option","last":5.72,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.4,"ask":5.55,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.9136900170135845,"gamma":0.047492704373089084,"theta":-0.007786156791542635,"vega":0.012111387667778094,"rho":0.0018203531599868413,"phi":-0.001939198209927051,"bid_iv":0.0,"mid_iv":0.486198,"ask_iv":0.486198,"smv_vol":0.448,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718117739526,"prevclose":5.72,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"M","bid_date":1718395198000,"asksize":63,"askexch":"N","ask_date":1718395198000,"open_interest":201,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00029000","description":"PLTR + Jul 19 2024 $29.00 Call","exch":"Z","type":"option","last":0.12,"change":-0.01,"volume":175,"open":0.11,"high":0.13,"low":0.1,"close":0.12,"bid":0.1,"ask":0.12,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.08630998298641543,"gamma":0.047492704373089084,"theta":-0.007786156791542635,"vega":0.012111387667778094,"rho":0.0018203531599868413,"phi":-0.001939198209927051,"bid_iv":0.430442,"mid_iv":0.43996,"ask_iv":0.449479,"smv_vol":0.448,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.70,"average_volume":0,"last_volume":1,"trade_date":1718394915548,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":558,"bidexch":"D","bid_date":1718395197000,"asksize":1,"askexch":"N","ask_date":1718393149000,"open_interest":5240,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719C00030000","description":"PLTR + Jul 19 2024 $30.00 Call","exch":"Z","type":"option","last":0.08,"change":-0.02,"volume":9808,"open":0.09,"high":0.12,"low":0.08,"close":0.08,"bid":0.08,"ask":0.09,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.06188405381301265,"gamma":0.035367104856904745,"theta":-0.006236864276403388,"vega":0.009087316782927868,"rho":0.0013065689902155343,"phi":-0.001390103423620781,"bid_iv":0.46295,"mid_iv":0.46846,"ask_iv":0.47397,"smv_vol":0.466,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-20.00,"average_volume":0,"last_volume":1,"trade_date":1718394846539,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"N","bid_date":1718394766000,"asksize":42,"askexch":"X","ask_date":1718395112000,"open_interest":16318,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00030000","description":"PLTR + Jul 19 2024 $30.00 Put","exch":"Z","type":"option","last":6.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.35,"ask":6.55,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.9381159461869873,"gamma":0.035367104856904745,"theta":-0.006236864276403388,"vega":0.009087316782927868,"rho":0.0013065689902155343,"phi":-0.001390103423620781,"bid_iv":0.0,"mid_iv":0.544663,"ask_iv":0.544663,"smv_vol":0.466,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718129389257,"prevclose":6.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":58,"bidexch":"Q","bid_date":1718395195000,"asksize":24,"askexch":"E","ask_date":1718395115000,"open_interest":295,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719P00031000","description":"PLTR + Jul 19 2024 $31.00 Put","exch":"Z","type":"option","last":8.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.35,"ask":7.55,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.9557556949717965,"gamma":0.02619849365332585,"theta":-0.00491825101655813,"vega":0.00654055937273362,"rho":9.351442361838911E-4,"phi":-9.93654992245685E-4,"bid_iv":0.0,"mid_iv":0.689425,"ask_iv":0.689425,"smv_vol":0.497,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1712670261028,"prevclose":8.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":76,"bidexch":"N","bid_date":1718395110000,"asksize":7,"askexch":"Q","ask_date":1718395112000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00031000","description":"PLTR + Jul 19 2024 $31.00 Call","exch":"Z","type":"option","last":0.09,"change":0.02,"volume":15,"open":0.06,"high":0.09,"low":0.06,"close":0.09,"bid":0.05,"ask":0.09,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.044244305028203555,"gamma":0.02619849365332585,"theta":-0.00491825101655813,"vega":0.00654055937273362,"rho":9.351442361838911E-4,"phi":-9.93654992245685E-4,"bid_iv":0.469891,"mid_iv":0.497279,"ask_iv":0.524667,"smv_vol":0.497,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":28.58,"average_volume":0,"last_volume":2,"trade_date":1718393700768,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":866,"bidexch":"C","bid_date":1718395196000,"asksize":805,"askexch":"E","ask_date":1718395195000,"open_interest":3630,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00032000","description":"PLTR + Jul 19 2024 $32.00 Put","exch":"Z","type":"option","last":9.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.2,"ask":8.45,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.970940837447017,"gamma":0.018356042854187744,"theta":-0.0035093743461875604,"vega":0.004530670215340866,"rho":6.157451646259678E-4,"phi":-6.523617906983858E-4,"bid_iv":0.0,"mid_iv":0.572494,"ask_iv":0.572494,"smv_vol":0.512,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1712756947404,"prevclose":9.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"N","bid_date":1718395197000,"asksize":2,"askexch":"J","ask_date":1718395197000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00032000","description":"PLTR + Jul 19 2024 $32.00 Call","exch":"Z","type":"option","last":0.05,"change":-0.01,"volume":109,"open":0.1,"high":0.1,"low":0.05,"close":0.05,"bid":0.05,"ask":0.09,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.02905916255298301,"gamma":0.018356042854187744,"theta":-0.0035093743461875604,"vega":0.004530670215340866,"rho":6.157451646259678E-4,"phi":-6.523617906983858E-4,"bid_iv":0.513842,"mid_iv":0.542788,"ask_iv":0.571735,"smv_vol":0.512,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.67,"average_volume":0,"last_volume":5,"trade_date":1718394319716,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"D","bid_date":1718372157000,"asksize":1505,"askexch":"C","ask_date":1718395196000,"open_interest":6065,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00033000","description":"PLTR + Jul 19 2024 $33.00 Put","exch":"Z","type":"option","last":10.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.35,"ask":9.45,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.9749453521198437,"gamma":0.015218051396968824,"theta":-0.003292506685067501,"vega":0.004587154203151787,"rho":5.29683083754728E-4,"phi":-5.626001665232083E-4,"bid_iv":0.0,"mid_iv":0.83881,"ask_iv":0.83881,"smv_vol":0.552,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718027564350,"prevclose":10.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"N","bid_date":1718395195000,"asksize":13,"askexch":"E","ask_date":1718395157000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00033000","description":"PLTR + Jul 19 2024 $33.00 Call","exch":"Z","type":"option","last":0.05,"change":-0.03,"volume":1890,"open":0.07,"high":0.07,"low":0.04,"close":0.05,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.025054647880156267,"gamma":0.015218051396968824,"theta":-0.003292506685067501,"vega":0.004587154203151787,"rho":5.29683083754728E-4,"phi":-5.626001665232083E-4,"bid_iv":0.513535,"mid_iv":0.534777,"ask_iv":0.556019,"smv_vol":0.552,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-37.50,"average_volume":0,"last_volume":2,"trade_date":1718383603517,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":247,"bidexch":"C","bid_date":1718395196000,"asksize":1,"askexch":"E","ask_date":1718390779000,"open_interest":6599,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00034000","description":"PLTR + Jul 19 2024 $34.00 Put","exch":"Z","type":"option","last":11.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.35,"ask":10.65,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.9835285336005785,"gamma":0.010596769721600416,"theta":-0.0023109350973674345,"vega":0.0030462100435583095,"rho":3.490398074216998E-4,"phi":-3.6973171420318085E-4,"bid_iv":0.0,"mid_iv":0.851871,"ask_iv":0.851871,"smv_vol":0.557,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714589720717,"prevclose":11.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":59,"bidexch":"Q","bid_date":1718395160000,"asksize":116,"askexch":"N","ask_date":1718395107000,"open_interest":2,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00034000","description":"PLTR + Jul 19 2024 $34.00 Call","exch":"Z","type":"option","last":0.03,"change":-0.03,"volume":1,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.02,"ask":0.07,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.016471466399421538,"gamma":0.010596769721600416,"theta":-0.0023109350973674345,"vega":0.0030462100435583095,"rho":3.490398074216998E-4,"phi":-3.6973171420318085E-4,"bid_iv":0.521687,"mid_iv":0.576643,"ask_iv":0.631599,"smv_vol":0.557,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-50.00,"average_volume":0,"last_volume":1,"trade_date":1718380478211,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1425,"bidexch":"C","bid_date":1718395196000,"asksize":2803,"askexch":"X","ask_date":1718395110000,"open_interest":5790,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00035000","description":"PLTR + Jul 19 2024 $35.00 Put","exch":"Z","type":"option","last":10.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.2,"ask":11.5,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.9877499369459853,"gamma":0.007996234428877487,"theta":-0.0018311182317747332,"vega":0.0024516767439425498,"rho":2.5967799788074525E-4,"phi":-2.749486729264339E-4,"bid_iv":0.0,"mid_iv":0.979068,"ask_iv":0.979068,"smv_vol":0.59,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718286009783,"prevclose":10.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"N","bid_date":1718395197000,"asksize":93,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00035000","description":"PLTR + Jul 19 2024 $35.00 Call","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":1,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.02,"ask":0.05,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.01225006305401464,"gamma":0.007996234428877487,"theta":-0.0018311182317747332,"vega":0.0024516767439425498,"rho":2.5967799788074525E-4,"phi":-2.749486729264339E-4,"bid_iv":0.557295,"mid_iv":0.59656,"ask_iv":0.635825,"smv_vol":0.59,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":1,"trade_date":1718383121154,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":548,"bidexch":"E","bid_date":1718395195000,"asksize":2237,"askexch":"X","ask_date":1718395195000,"open_interest":5412,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00036000","description":"PLTR + Jul 19 2024 $36.00 Put","exch":"Z","type":"option","last":14.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.15,"ask":12.55,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.9903231648809884,"gamma":0.006307648493170309,"theta":-0.0015375857492871596,"vega":0.001961704093385023,"rho":2.0506220949707482E-4,"phi":-2.171954236775131E-4,"bid_iv":0.0,"mid_iv":0.990405,"ask_iv":0.990405,"smv_vol":0.605,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717185000311,"prevclose":14.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"Z","bid_date":1718395153000,"asksize":109,"askexch":"Q","ask_date":1718395113000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00036000","description":"PLTR + Jul 19 2024 $36.00 Call","exch":"Z","type":"option","last":0.06,"change":0.01,"volume":54,"open":0.03,"high":0.07,"low":0.03,"close":0.06,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.009676835119011601,"gamma":0.006307648493170309,"theta":-0.0015375857492871596,"vega":0.001961704093385023,"rho":2.0506220949707482E-4,"phi":-2.171954236775131E-4,"bid_iv":0.543427,"mid_iv":0.608268,"ask_iv":0.673108,"smv_vol":0.605,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.00,"average_volume":0,"last_volume":2,"trade_date":1718393053013,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1326,"bidexch":"E","bid_date":1718395199000,"asksize":2007,"askexch":"E","ask_date":1718395199000,"open_interest":3545,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00037000","description":"PLTR + Jul 19 2024 $37.00 Put","exch":"Z","type":"option","last":15.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.35,"ask":13.5,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.9948338490003282,"gamma":0.003706069622722587,"theta":-8.613741337891227E-4,"vega":0.0012069352274472686,"rho":1.0991051444826143E-4,"phi":-1.1587714034838603E-4,"bid_iv":0.0,"mid_iv":1.075302,"ask_iv":1.075302,"smv_vol":0.641,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715697294056,"prevclose":15.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"Q","bid_date":1718395156000,"asksize":69,"askexch":"Q","ask_date":1718395153000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00037000","description":"PLTR + Jul 19 2024 $37.00 Call","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.08,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.005166150999671804,"gamma":0.003706069622722587,"theta":-8.613741337891227E-4,"vega":0.0012069352274472686,"rho":1.0991051444826143E-4,"phi":-1.1587714034838603E-4,"bid_iv":0.573881,"mid_iv":0.66936,"ask_iv":0.76484,"smv_vol":0.641,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1718306161643,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":185,"bidexch":"E","bid_date":1718395195000,"asksize":2526,"askexch":"C","ask_date":1718395195000,"open_interest":324,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00038000","description":"PLTR + Jul 19 2024 $38.00 Put","exch":"Z","type":"option","last":13.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.35,"ask":14.45,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9966340102867329,"gamma":0.002509932368409289,"theta":-5.891171050663039E-4,"vega":7.108964721820637E-4,"rho":7.17114070359546E-5,"phi":-7.54778700564479E-5,"bid_iv":0.0,"mid_iv":0.925665,"ask_iv":0.925665,"smv_vol":0.66,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718286009784,"prevclose":13.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":64,"bidexch":"Z","bid_date":1718395155000,"asksize":10,"askexch":"J","ask_date":1718395154000,"open_interest":7,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00038000","description":"PLTR + Jul 19 2024 $38.00 Call","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.08,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.003365989713267108,"gamma":0.002509932368409289,"theta":-5.891171050663039E-4,"vega":7.108964721820637E-4,"rho":7.17114070359546E-5,"phi":-7.54778700564479E-5,"bid_iv":0.60349,"mid_iv":0.702018,"ask_iv":0.800545,"smv_vol":0.66,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1718289088617,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":279,"bidexch":"E","bid_date":1718395196000,"asksize":1693,"askexch":"E","ask_date":1718395195000,"open_interest":747,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00039000","description":"PLTR + Jul 19 2024 $39.00 Put","exch":"Z","type":"option","last":13.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.35,"ask":15.45,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.9971972359627753,"gamma":0.002061436639935569,"theta":-5.149812037934967E-4,"vega":7.189841646989622E-4,"rho":5.9669503086557657E-5,"phi":-6.285472133223113E-5,"bid_iv":0.0,"mid_iv":1.124967,"ask_iv":1.124967,"smv_vol":0.664,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1709914486775,"prevclose":13.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":68,"bidexch":"Q","bid_date":1718395111000,"asksize":10,"askexch":"E","ask_date":1718395111000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00039000","description":"PLTR + Jul 19 2024 $39.00 Call","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":40,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.0028027640372247278,"gamma":0.002061436639935569,"theta":-5.149812037934967E-4,"vega":7.189841646989622E-4,"rho":5.9669503086557657E-5,"phi":-6.285472133223113E-5,"bid_iv":0.632305,"mid_iv":0.704707,"ask_iv":0.777109,"smv_vol":0.664,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718285403023,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":339,"bidexch":"E","bid_date":1718395197000,"asksize":1516,"askexch":"E","ask_date":1718395195000,"open_interest":757,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240719P00040000","description":"PLTR + Jul 19 2024 $40.00 Put","exch":"Z","type":"option","last":18.11,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.35,"ask":16.55,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9983910887795169,"gamma":0.0012554995975410858,"theta":-3.0754085214496275E-4,"vega":4.10532745868477E-4,"rho":3.432799787942022E-5,"phi":-3.606510511023828E-5,"bid_iv":0.0,"mid_iv":1.004459,"ask_iv":1.004459,"smv_vol":0.685,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1715696784716,"prevclose":18.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":64,"bidexch":"N","bid_date":1718395197000,"asksize":121,"askexch":"N","ask_date":1718395197000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240719C00040000","description":"PLTR + Jul 19 2024 $40.00 Call","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":31,"open":0.02,"high":0.04,"low":0.02,"close":0.04,"bid":0.02,"ask":0.03,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.0016089112204831389,"gamma":0.0012554995975410858,"theta":-3.0754085214496275E-4,"vega":4.10532745868477E-4,"rho":3.432799787942022E-5,"phi":-3.606510511023828E-5,"bid_iv":0.715379,"mid_iv":0.749297,"ask_iv":0.783215,"smv_vol":0.685,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":2,"trade_date":1718395179124,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"H","bid_date":1718394676000,"asksize":69,"askexch":"P","ask_date":1718395195000,"open_interest":13248,"contract_size":100,"expiration_date":"2024-07-19","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' headers: Access-Control-Allow-Headers: - accept, authorization @@ -2987,7 +1568,457 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Sat, 09 Mar 2024 16:46:59 GMT + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '199' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '1' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-07-05&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR240705C00015000","description":"PLTR + Jul 5 2024 $15.00 Call","exch":"Z","type":"option","last":9.14,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.45,"ask":8.7,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9999997418060412,"gamma":6.125987291004041E-7,"theta":-0.0031684362682520783,"vega":2.007524804815529E-5,"rho":0.008592009256186172,"phi":-0.013555444713375664,"bid_iv":0.0,"mid_iv":1.073549,"ask_iv":1.073549,"smv_vol":0.381,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718203183333,"prevclose":9.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1718395195000,"asksize":65,"askexch":"Z","ask_date":1718395154000,"open_interest":14,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00015000","description":"PLTR + Jul 5 2024 $15.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.75,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-2.581939588E-7,"gamma":6.125987291004041E-7,"theta":-0.0031684362682520783,"vega":2.007524804815529E-5,"rho":0.008592009256186172,"phi":-0.013555444713375664,"bid_iv":0.0,"mid_iv":0.872572,"ask_iv":0.872572,"smv_vol":0.381,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717426873219,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"P","bid_date":1718371802000,"asksize":13,"askexch":"B","ask_date":1718371805000,"open_interest":6,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00016500","description":"PLTR + Jul 5 2024 $16.50 Call","exch":"Z","type":"option","last":6.95,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":6.95,"ask":9.25,"underlying":"PLTR","strike":16.5,"greeks":{"delta":0.9999611346482126,"gamma":7.431958616749287E-5,"theta":-0.0034936332312090913,"vega":3.061280065520332E-5,"rho":0.009450665378707961,"phi":-0.013554912037250233,"bid_iv":0.0,"mid_iv":1.118041,"ask_iv":1.118041,"smv_vol":0.381,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718289813199,"prevclose":6.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":110,"bidexch":"N","bid_date":1718395198000,"asksize":121,"askexch":"N","ask_date":1718395198000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00016500","description":"PLTR + Jul 5 2024 $16.50 Put","exch":"Z","type":"option","last":0.04,"change":-0.05,"volume":1,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":16.5,"greeks":{"delta":-3.88653517874E-5,"gamma":7.431958616749287E-5,"theta":-0.0034936332312090913,"vega":3.061280065520332E-5,"rho":0.009450665378707961,"phi":-0.013554912037250233,"bid_iv":0.0,"mid_iv":0.699539,"ask_iv":0.752898,"smv_vol":0.381,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-55.56,"average_volume":0,"last_volume":1,"trade_date":1718371848529,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":199,"bidexch":"P","bid_date":1718395101000,"asksize":1,"askexch":"N","ask_date":1718392233000,"open_interest":18,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00017000","description":"PLTR + Jul 5 2024 $17.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":7,"open":0.02,"high":0.03,"low":0.02,"close":0.03,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-1.46272995833E-4,"gamma":2.590499078216467E-4,"theta":-0.003620140731092707,"vega":5.578049411007887E-5,"rho":0.009735548751397604,"phi":-0.013553430822099699,"bid_iv":0.597923,"mid_iv":0.648012,"ask_iv":0.6981,"smv_vol":0.382,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718307628528,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"U","bid_date":1718395114000,"asksize":1,"askexch":"N","ask_date":1718392858000,"open_interest":57,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00017000","description":"PLTR + Jul 5 2024 $17.00 Call","exch":"Z","type":"option","last":6.64,"change":0.74,"volume":2,"open":6.64,"high":6.64,"low":6.64,"close":6.64,"bid":6.45,"ask":8.7,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.999853727004167,"gamma":2.590499078216467E-4,"theta":-0.003620140731092707,"vega":5.578049411007887E-5,"rho":0.009735548751397604,"phi":-0.013553430822099699,"bid_iv":0.0,"mid_iv":0.97536,"ask_iv":0.97536,"smv_vol":0.382,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":12.55,"average_volume":0,"last_volume":2,"trade_date":1718394895707,"prevclose":5.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"N","bid_date":1718395198000,"asksize":111,"askexch":"Q","ask_date":1718395199000,"open_interest":172,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00017500","description":"PLTR + Jul 5 2024 $17.50 Call","exch":"Z","type":"option","last":4.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.1,"ask":6.25,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.999514791546443,"gamma":7.90841831319406E-4,"theta":-0.0037857243469069527,"vega":1.3096430236821777E-4,"rho":0.010017159398065958,"phi":-0.013548763968529443,"bid_iv":0.0,"mid_iv":0.902853,"ask_iv":0.902853,"smv_vol":0.382,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717099004618,"prevclose":4.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"B","bid_date":1718395195000,"asksize":100,"askexch":"N","ask_date":1718395153000,"open_interest":2,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00017500","description":"PLTR + Jul 5 2024 $17.50 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":4,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-4.85208453557E-4,"gamma":7.90841831319406E-4,"theta":-0.0037857243469069527,"vega":1.3096430236821777E-4,"rho":0.010017159398065958,"phi":-0.013548763968529443,"bid_iv":0.550636,"mid_iv":0.613734,"ask_iv":0.676832,"smv_vol":0.382,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718372337923,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":991,"bidexch":"D","bid_date":1718395107000,"asksize":189,"askexch":"C","ask_date":1718395196000,"open_interest":23,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00018000","description":"PLTR + Jul 5 2024 $18.00 Put","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.08,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0013721609077615,"gamma":0.0020616421537156403,"theta":-0.004034070737853433,"vega":3.087745764922219E-4,"rho":0.010291015895263503,"phi":-0.013536568959082729,"bid_iv":0.50477,"mid_iv":0.607712,"ask_iv":0.710655,"smv_vol":0.383,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718286644215,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":431,"bidexch":"D","bid_date":1718395155000,"asksize":1150,"askexch":"C","ask_date":1718395197000,"open_interest":190,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00018000","description":"PLTR + Jul 5 2024 $18.00 Call","exch":"Z","type":"option","last":5.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.45,"ask":5.85,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9986278390922385,"gamma":0.0020616421537156403,"theta":-0.004034070737853433,"vega":3.087745764922219E-4,"rho":0.010291015895263503,"phi":-0.013536568959082729,"bid_iv":0.0,"mid_iv":0.762028,"ask_iv":0.762028,"smv_vol":0.383,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718308166274,"prevclose":5.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"Z","bid_date":1718395198000,"asksize":121,"askexch":"N","ask_date":1718395197000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00018500","description":"PLTR + Jul 5 2024 $18.50 Call","exch":"Z","type":"option","last":5.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.95,"ask":5.3,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9964880058216949,"gamma":0.004829156498718702,"theta":-0.004449385329170654,"vega":6.932660363526535E-4,"rho":0.010547118152471668,"phi":-0.013507187084371708,"bid_iv":0.0,"mid_iv":0.696646,"ask_iv":0.696646,"smv_vol":0.384,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718131599840,"prevclose":5.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":122,"bidexch":"N","bid_date":1718395197000,"asksize":121,"askexch":"N","ask_date":1718395197000,"open_interest":14,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00018500","description":"PLTR + Jul 5 2024 $18.50 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.09,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0035119941783051,"gamma":0.004829156498718702,"theta":-0.004449385329170654,"vega":6.932660363526535E-4,"rho":0.010547118152471668,"phi":-0.013507187084371708,"bid_iv":0.459819,"mid_iv":0.564354,"ask_iv":0.668889,"smv_vol":0.384,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718204588211,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":477,"bidexch":"E","bid_date":1718395196000,"asksize":1877,"askexch":"E","ask_date":1718395196000,"open_interest":797,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00019000","description":"PLTR + Jul 5 2024 $19.00 Put","exch":"Z","type":"option","last":0.04,"change":-0.01,"volume":21,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.02,"ask":0.06,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0080156324624244,"gamma":0.01006568370502525,"theta":-0.005138532970474422,"vega":0.0011565051714657359,"rho":0.010769655233507223,"phi":-0.013445428264091674,"bid_iv":0.459392,"mid_iv":0.509459,"ask_iv":0.559527,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-20.00,"average_volume":0,"last_volume":20,"trade_date":1718381848309,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"E","bid_date":1718395197000,"asksize":194,"askexch":"E","ask_date":1718395199000,"open_interest":909,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00019000","description":"PLTR + Jul 5 2024 $19.00 Call","exch":"Z","type":"option","last":4.5,"change":0.30,"volume":2,"open":4.5,"high":4.5,"low":4.5,"close":4.5,"bid":4.6,"ask":4.75,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9919843675375756,"gamma":0.01006568370502525,"theta":-0.005138532970474422,"vega":0.0011565051714657359,"rho":0.010769655233507223,"phi":-0.013445428264091674,"bid_iv":0.0,"mid_iv":0.63314,"ask_iv":0.63314,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.15,"average_volume":0,"last_volume":2,"trade_date":1718383216097,"prevclose":4.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":24,"bidexch":"E","bid_date":1718395153000,"asksize":67,"askexch":"N","ask_date":1718395153000,"open_interest":56,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00019500","description":"PLTR + Jul 5 2024 $19.50 Call","exch":"Z","type":"option","last":4.8,"change":0.82,"volume":10,"open":4.8,"high":4.8,"low":4.8,"close":4.8,"bid":4.0,"ask":4.25,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9833099962981057,"gamma":0.01901999885553288,"theta":-0.00623501032838118,"vega":0.002296314969925469,"rho":0.01093280116727573,"phi":-0.013326629773047216,"bid_iv":0.281219,"mid_iv":0.404386,"ask_iv":0.527552,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.61,"average_volume":0,"last_volume":10,"trade_date":1718199824475,"prevclose":3.98,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"M","bid_date":1718395197000,"asksize":51,"askexch":"Z","ask_date":1718395197000,"open_interest":954,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00019500","description":"PLTR + Jul 5 2024 $19.50 Put","exch":"Z","type":"option","last":0.04,"change":-0.01,"volume":2,"open":0.07,"high":0.07,"low":0.04,"close":0.04,"bid":0.02,"ask":0.08,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0166900037018943,"gamma":0.01901999885553288,"theta":-0.00623501032838118,"vega":0.002296314969925469,"rho":0.01093280116727573,"phi":-0.013326629773047216,"bid_iv":0.413311,"mid_iv":0.482784,"ask_iv":0.552256,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-20.00,"average_volume":0,"last_volume":1,"trade_date":1718387451339,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":507,"bidexch":"E","bid_date":1718395196000,"asksize":848,"askexch":"E","ask_date":1718395198000,"open_interest":319,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00020000","description":"PLTR + Jul 5 2024 $20.00 Call","exch":"Z","type":"option","last":3.45,"change":0.10,"volume":14,"open":3.2,"high":3.45,"low":3.1,"close":3.45,"bid":3.6,"ask":5.0,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9681260131206484,"gamma":0.03276419271772635,"theta":-0.007849295849703406,"vega":0.004152435753479033,"rho":0.011002889943307902,"phi":-0.013118940613843222,"bid_iv":0.0,"mid_iv":0.614497,"ask_iv":0.614497,"smv_vol":0.44,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.99,"average_volume":0,"last_volume":2,"trade_date":1718380712732,"prevclose":3.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":61,"bidexch":"Z","bid_date":1718395198000,"asksize":2,"askexch":"J","ask_date":1718395198000,"open_interest":135,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00020000","description":"PLTR + Jul 5 2024 $20.00 Put","exch":"Z","type":"option","last":0.05,"change":-0.02,"volume":38,"open":0.07,"high":0.08,"low":0.05,"close":0.05,"bid":0.03,"ask":0.1,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0318739868793516,"gamma":0.03276419271772635,"theta":-0.007849295849703406,"vega":0.004152435753479033,"rho":0.011002889943307902,"phi":-0.013118940613843222,"bid_iv":0.393249,"mid_iv":0.450275,"ask_iv":0.507301,"smv_vol":0.44,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-28.58,"average_volume":0,"last_volume":1,"trade_date":1718391674948,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":675,"bidexch":"E","bid_date":1718395198000,"asksize":2698,"askexch":"E","ask_date":1718395198000,"open_interest":748,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00020500","description":"PLTR + Jul 5 2024 $20.50 Put","exch":"Z","type":"option","last":0.07,"change":-0.03,"volume":92,"open":0.12,"high":0.12,"low":0.06,"close":0.07,"bid":0.06,"ask":0.09,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.055763069809425,"gamma":0.0515833106132756,"theta":-0.00999796833533814,"vega":0.006876584423258183,"rho":0.010947909437969448,"phi":-0.01279256209851809,"bid_iv":0.397525,"mid_iv":0.423625,"ask_iv":0.449724,"smv_vol":0.414,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-30.00,"average_volume":0,"last_volume":10,"trade_date":1718394580645,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"U","bid_date":1718395195000,"asksize":61,"askexch":"E","ask_date":1718395199000,"open_interest":746,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00020500","description":"PLTR + Jul 5 2024 $20.50 Call","exch":"Z","type":"option","last":3.1,"change":-0.40,"volume":4,"open":3.05,"high":3.1,"low":3.05,"close":3.1,"bid":3.15,"ask":3.3,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.944236930190575,"gamma":0.0515833106132756,"theta":-0.00999796833533814,"vega":0.006876584423258183,"rho":0.010947909437969448,"phi":-0.01279256209851809,"bid_iv":0.0,"mid_iv":0.50049,"ask_iv":0.50049,"smv_vol":0.414,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-11.43,"average_volume":0,"last_volume":2,"trade_date":1718388129996,"prevclose":3.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":31,"bidexch":"Q","bid_date":1718395195000,"asksize":43,"askexch":"N","ask_date":1718395195000,"open_interest":39,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00021000","description":"PLTR + Jul 5 2024 $21.00 Put","exch":"Z","type":"option","last":0.12,"change":-0.01,"volume":185,"open":0.17,"high":0.19,"low":0.1,"close":0.12,"bid":0.1,"ask":0.12,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.0913506662481487,"gamma":0.07528845715713457,"theta":-0.012636161822353139,"vega":0.009217068391256354,"rho":0.010723641911261269,"phi":-0.012306942918094421,"bid_iv":0.391439,"mid_iv":0.401523,"ask_iv":0.411607,"smv_vol":0.4,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.70,"average_volume":0,"last_volume":25,"trade_date":1718394712607,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":342,"bidexch":"T","bid_date":1718395199000,"asksize":748,"askexch":"D","ask_date":1718395199000,"open_interest":4241,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00021000","description":"PLTR + Jul 5 2024 $21.00 Call","exch":"Z","type":"option","last":2.21,"change":-0.40,"volume":2,"open":2.21,"high":2.21,"low":2.21,"close":2.21,"bid":2.54,"ask":3.55,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.9086493337518513,"gamma":0.07528845715713457,"theta":-0.012636161822353139,"vega":0.009217068391256354,"rho":0.010723641911261269,"phi":-0.012306942918094421,"bid_iv":0.329479,"mid_iv":0.378472,"ask_iv":0.427465,"smv_vol":0.4,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-15.33,"average_volume":0,"last_volume":1,"trade_date":1718372283534,"prevclose":2.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"N","bid_date":1718395199000,"asksize":1,"askexch":"Q","ask_date":1718395199000,"open_interest":184,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00021500","description":"PLTR + Jul 5 2024 $21.50 Put","exch":"Z","type":"option","last":0.17,"change":-0.02,"volume":555,"open":0.22,"high":0.23,"low":0.15,"close":0.17,"bid":0.16,"ask":0.18,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.139758276480095,"gamma":0.10203892252776132,"theta":-0.015531449829183974,"vega":0.013099408440334925,"rho":0.010311946835524655,"phi":-0.01164712973178439,"bid_iv":0.385219,"mid_iv":0.392841,"ask_iv":0.400464,"smv_vol":0.392,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.53,"average_volume":0,"last_volume":1,"trade_date":1718394674713,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"U","bid_date":1718395198000,"asksize":75,"askexch":"T","ask_date":1718395105000,"open_interest":507,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00021500","description":"PLTR + Jul 5 2024 $21.50 Call","exch":"Z","type":"option","last":2.26,"change":0.23,"volume":9,"open":2.42,"high":2.42,"low":2.01,"close":2.26,"bid":2.25,"ask":2.49,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.860241723519905,"gamma":0.10203892252776132,"theta":-0.015531449829183974,"vega":0.013099408440334925,"rho":0.010311946835524655,"phi":-0.01164712973178439,"bid_iv":0.0,"mid_iv":0.460937,"ask_iv":0.460937,"smv_vol":0.392,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.33,"average_volume":0,"last_volume":1,"trade_date":1718390328842,"prevclose":2.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":74,"bidexch":"E","bid_date":1718395198000,"asksize":543,"askexch":"E","ask_date":1718395198000,"open_interest":1169,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00022000","description":"PLTR + Jul 5 2024 $22.00 Put","exch":"Z","type":"option","last":0.25,"change":-0.07,"volume":354,"open":0.36,"high":0.41,"low":0.24,"close":0.25,"bid":0.25,"ask":0.28,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2017816422302137,"gamma":0.1292653144470169,"theta":-0.018380261674520695,"vega":0.015873220998591224,"rho":0.009698174193197732,"phi":-0.010802684158317533,"bid_iv":0.380768,"mid_iv":0.390194,"ask_iv":0.39962,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-21.88,"average_volume":0,"last_volume":10,"trade_date":1718394946437,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":399,"bidexch":"E","bid_date":1718395198000,"asksize":471,"askexch":"E","ask_date":1718395199000,"open_interest":2252,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00022000","description":"PLTR + Jul 5 2024 $22.00 Call","exch":"Z","type":"option","last":1.93,"change":0.17,"volume":40,"open":1.72,"high":1.97,"low":1.5,"close":1.93,"bid":1.87,"ask":1.97,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7982183577697863,"gamma":0.1292653144470169,"theta":-0.018380261674520695,"vega":0.015873220998591224,"rho":0.009698174193197732,"phi":-0.010802684158317533,"bid_iv":0.351726,"mid_iv":0.373664,"ask_iv":0.395603,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.66,"average_volume":0,"last_volume":1,"trade_date":1718395029614,"prevclose":1.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"X","bid_date":1718395197000,"asksize":24,"askexch":"E","ask_date":1718395199000,"open_interest":941,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00022500","description":"PLTR + Jul 5 2024 $22.50 Put","exch":"Z","type":"option","last":0.37,"change":-0.09,"volume":753,"open":0.66,"high":0.66,"low":0.35,"close":0.37,"bid":0.38,"ask":0.42,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.2759288856709545,"gamma":0.15379908602930806,"theta":-0.020836776277102943,"vega":0.019415235591539338,"rho":0.008900032450984674,"phi":-0.009794259181461484,"bid_iv":0.379697,"mid_iv":0.390143,"ask_iv":0.400588,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-19.57,"average_volume":0,"last_volume":1,"trade_date":1718394134313,"prevclose":0.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":431,"bidexch":"E","bid_date":1718395160000,"asksize":633,"askexch":"E","ask_date":1718395198000,"open_interest":564,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00022500","description":"PLTR + Jul 5 2024 $22.50 Call","exch":"Z","type":"option","last":1.58,"change":0.21,"volume":127,"open":1.03,"high":1.65,"low":1.03,"close":1.58,"bid":1.3,"ask":1.62,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.7240711143290455,"gamma":0.15379908602930806,"theta":-0.020836776277102943,"vega":0.019415235591539338,"rho":0.008900032450984674,"phi":-0.009794259181461484,"bid_iv":0.370389,"mid_iv":0.383693,"ask_iv":0.396998,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":15.33,"average_volume":0,"last_volume":1,"trade_date":1718395014553,"prevclose":1.37,"week_52_high":0.0,"week_52_low":0.0,"bidsize":168,"bidexch":"E","bid_date":1718395199000,"asksize":267,"askexch":"E","ask_date":1718395199000,"open_interest":631,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00023000","description":"PLTR + Jul 5 2024 $23.00 Put","exch":"Z","type":"option","last":0.54,"change":-0.13,"volume":1065,"open":0.77,"high":0.81,"low":0.54,"close":0.54,"bid":0.56,"ask":0.6,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.360142005836754,"gamma":0.17203623560736836,"theta":-0.022517145383999577,"vega":0.021279933673044257,"rho":0.007941333632231588,"phi":-0.008650240255203556,"bid_iv":0.38183,"mid_iv":0.391222,"ask_iv":0.400614,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-19.41,"average_volume":0,"last_volume":1,"trade_date":1718392469173,"prevclose":0.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"Z","bid_date":1718395156000,"asksize":565,"askexch":"E","ask_date":1718395198000,"open_interest":478,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00023000","description":"PLTR + Jul 5 2024 $23.00 Call","exch":"Z","type":"option","last":1.23,"change":0.15,"volume":332,"open":0.99,"high":1.28,"low":0.84,"close":1.23,"bid":1.01,"ask":1.25,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.639857994163246,"gamma":0.17203623560736836,"theta":-0.022517145383999577,"vega":0.021279933673044257,"rho":0.007941333632231588,"phi":-0.008650240255203556,"bid_iv":0.373557,"mid_iv":0.382965,"ask_iv":0.392373,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.89,"average_volume":0,"last_volume":1,"trade_date":1718395195301,"prevclose":1.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":124,"bidexch":"Z","bid_date":1718395197000,"asksize":5,"askexch":"Q","ask_date":1718394922000,"open_interest":1635,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00023500","description":"PLTR + Jul 5 2024 $23.50 Put","exch":"Z","type":"option","last":0.79,"change":-0.12,"volume":103,"open":1.07,"high":1.07,"low":0.73,"close":0.79,"bid":0.78,"ask":0.82,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.4497660560322019,"gamma":0.18189059842988708,"theta":-0.023232068487290997,"vega":0.02240689147424648,"rho":0.006884971449654478,"phi":-0.007434010133033908,"bid_iv":0.385732,"mid_iv":0.392437,"ask_iv":0.399142,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-13.19,"average_volume":0,"last_volume":1,"trade_date":1718395043023,"prevclose":0.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1718395199000,"asksize":129,"askexch":"B","ask_date":1718395195000,"open_interest":240,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00023500","description":"PLTR + Jul 5 2024 $23.50 Call","exch":"Z","type":"option","last":0.95,"change":0.13,"volume":785,"open":0.64,"high":1.0,"low":0.64,"close":0.95,"bid":0.75,"ask":0.98,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.5502339439677981,"gamma":0.18189059842988708,"theta":-0.023232068487290997,"vega":0.02240689147424648,"rho":0.006884971449654478,"phi":-0.007434010133033908,"bid_iv":0.373514,"mid_iv":0.380217,"ask_iv":0.386919,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":15.86,"average_volume":0,"last_volume":1,"trade_date":1718394919306,"prevclose":0.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":222,"bidexch":"E","bid_date":1718395199000,"asksize":4,"askexch":"J","ask_date":1718395199000,"open_interest":919,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00024000","description":"PLTR + Jul 5 2024 $24.00 Put","exch":"Z","type":"option","last":1.07,"change":-0.17,"volume":31,"open":1.25,"high":1.29,"low":1.07,"close":1.07,"bid":0.85,"ask":1.13,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.5401905958593068,"gamma":0.1823041615095686,"theta":-0.022895267877248025,"vega":0.02266557035201775,"rho":0.00579299388681756,"phi":-0.0062082089125059525,"bid_iv":0.38222,"mid_iv":0.391237,"ask_iv":0.400255,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-13.71,"average_volume":0,"last_volume":1,"trade_date":1718395047620,"prevclose":1.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":168,"bidexch":"E","bid_date":1718395199000,"asksize":39,"askexch":"Q","ask_date":1718395199000,"open_interest":245,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00024000","description":"PLTR + Jul 5 2024 $24.00 Call","exch":"Z","type":"option","last":0.72,"change":0.13,"volume":472,"open":0.5,"high":0.76,"low":0.48,"close":0.72,"bid":0.5,"ask":0.75,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.4598094041406932,"gamma":0.1823041615095686,"theta":-0.022895267877248025,"vega":0.02266557035201775,"rho":0.00579299388681756,"phi":-0.0062082089125059525,"bid_iv":0.375221,"mid_iv":0.38193,"ask_iv":0.388638,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":22.04,"average_volume":0,"last_volume":3,"trade_date":1718395049992,"prevclose":0.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":211,"bidexch":"E","bid_date":1718395199000,"asksize":10,"askexch":"N","ask_date":1718395197000,"open_interest":2307,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00024500","description":"PLTR + Jul 5 2024 $24.50 Call","exch":"Z","type":"option","last":0.54,"change":0.08,"volume":426,"open":0.42,"high":0.57,"low":0.33,"close":0.54,"bid":0.47,"ask":0.57,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.37348451902256374,"gamma":0.1733938852718544,"theta":-0.021537847014158958,"vega":0.021167819478423458,"rho":0.004731638788313405,"phi":-0.005039244275195642,"bid_iv":0.378777,"mid_iv":0.385873,"ask_iv":0.39297,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":17.40,"average_volume":0,"last_volume":5,"trade_date":1718394980124,"prevclose":0.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"Z","bid_date":1718395197000,"asksize":11,"askexch":"N","ask_date":1718395197000,"open_interest":999,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00024500","description":"PLTR + Jul 5 2024 $24.50 Put","exch":"Z","type":"option","last":1.39,"change":0.14,"volume":10,"open":1.59,"high":1.59,"low":1.31,"close":1.39,"bid":1.2,"ask":1.58,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.6265154809774363,"gamma":0.1733938852718544,"theta":-0.021537847014158958,"vega":0.021167819478423458,"rho":0.004731638788313405,"phi":-0.005039244275195642,"bid_iv":0.385176,"mid_iv":0.394811,"ask_iv":0.404445,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.20,"average_volume":0,"last_volume":1,"trade_date":1718394582034,"prevclose":1.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":198,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"A","ask_date":1718395197000,"open_interest":58,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00025000","description":"PLTR + Jul 5 2024 $25.00 Put","exch":"Z","type":"option","last":1.94,"change":0.04,"volume":19,"open":2.1,"high":2.1,"low":1.94,"close":1.94,"bid":1.68,"ask":1.98,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.7050528380911644,"gamma":0.15742237720296068,"theta":-0.01942304777421241,"vega":0.019369645914419305,"rho":0.0037539607944390516,"phi":-0.003976800351246368,"bid_iv":0.340612,"mid_iv":0.375036,"ask_iv":0.40946,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.11,"average_volume":0,"last_volume":16,"trade_date":1718380994293,"prevclose":1.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"X","bid_date":1718395195000,"asksize":576,"askexch":"E","ask_date":1718395199000,"open_interest":78,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00025000","description":"PLTR + Jul 5 2024 $25.00 Call","exch":"Z","type":"option","last":0.38,"change":0.07,"volume":617,"open":0.27,"high":0.42,"low":0.24,"close":0.38,"bid":0.38,"ask":0.4,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.2949471619088356,"gamma":0.15742237720296068,"theta":-0.01942304777421241,"vega":0.019369645914419305,"rho":0.0037539607944390516,"phi":-0.003976800351246368,"bid_iv":0.382901,"mid_iv":0.38807,"ask_iv":0.393239,"smv_vol":0.388,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":22.59,"average_volume":0,"last_volume":1,"trade_date":1718394674697,"prevclose":0.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":153,"bidexch":"P","bid_date":1718395160000,"asksize":1,"askexch":"X","ask_date":1718394919000,"open_interest":2249,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00025500","description":"PLTR + Jul 5 2024 $25.50 Call","exch":"Z","type":"option","last":0.28,"change":0.05,"volume":223,"open":0.24,"high":0.3,"low":0.18,"close":0.28,"bid":0.28,"ask":0.33,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.22655045402946164,"gamma":0.13690589850703463,"theta":-0.016822904753078436,"vega":0.017024157761828484,"rho":0.0028945799860712568,"phi":-0.0030524335553616666,"bid_iv":0.379268,"mid_iv":0.385146,"ask_iv":0.391023,"smv_vol":0.393,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":21.74,"average_volume":0,"last_volume":5,"trade_date":1718395198142,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":689,"bidexch":"D","bid_date":1718395200000,"asksize":2,"askexch":"Q","ask_date":1718395199000,"open_interest":827,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00025500","description":"PLTR + Jul 5 2024 $25.50 Put","exch":"Z","type":"option","last":2.26,"change":0.16,"volume":1,"open":2.26,"high":2.26,"low":2.26,"close":2.26,"bid":1.9,"ask":2.22,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.7734495459705384,"gamma":0.13690589850703463,"theta":-0.016822904753078436,"vega":0.017024157761828484,"rho":0.0028945799860712568,"phi":-0.0030524335553616666,"bid_iv":0.351882,"mid_iv":0.406526,"ask_iv":0.461169,"smv_vol":0.393,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.62,"average_volume":0,"last_volume":1,"trade_date":1718384297500,"prevclose":2.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":131,"bidexch":"Z","bid_date":1718395199000,"asksize":253,"askexch":"E","ask_date":1718395198000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00026000","description":"PLTR + Jul 5 2024 $26.00 Put","exch":"Z","type":"option","last":2.75,"change":null,"volume":5,"open":2.75,"high":2.75,"low":2.75,"close":2.75,"bid":2.33,"ask":2.7,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.8306898323425737,"gamma":0.11439366545750637,"theta":-0.014018136530966039,"vega":0.014370988551194397,"rho":0.0021702483416858103,"phi":-0.0022795676488107652,"bid_iv":0.37743,"mid_iv":0.44274,"ask_iv":0.508049,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":5,"trade_date":1718377257768,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":208,"bidexch":"E","bid_date":1718395199000,"asksize":499,"askexch":"E","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00026000","description":"PLTR + Jul 5 2024 $26.00 Call","exch":"Z","type":"option","last":0.2,"change":0.01,"volume":76,"open":0.16,"high":0.22,"low":0.15,"close":0.2,"bid":0.19,"ask":0.21,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.16931016765742637,"gamma":0.11439366545750637,"theta":-0.014018136530966039,"vega":0.014370988551194397,"rho":0.0021702483416858103,"phi":-0.0022795676488107652,"bid_iv":0.388635,"mid_iv":0.395617,"ask_iv":0.402599,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.27,"average_volume":0,"last_volume":1,"trade_date":1718395195301,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":265,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"Z","ask_date":1718395200000,"open_interest":1743,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00026500","description":"PLTR + Jul 5 2024 $26.50 Call","exch":"Z","type":"option","last":0.17,"change":0.05,"volume":94,"open":0.1,"high":0.17,"low":0.1,"close":0.17,"bid":0.13,"ask":0.16,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.12315332950444655,"gamma":0.09205701771399755,"theta":-0.011256856969463519,"vega":0.011650826044973028,"rho":0.0015829122507912579,"phi":-0.0016569190378068477,"bid_iv":0.390605,"mid_iv":0.403047,"ask_iv":0.415489,"smv_vol":0.403,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":41.67,"average_volume":0,"last_volume":4,"trade_date":1718393010619,"prevclose":0.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":622,"bidexch":"E","bid_date":1718395158000,"asksize":786,"askexch":"E","ask_date":1718395158000,"open_interest":2049,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00026500","description":"PLTR + Jul 5 2024 $26.50 Put","exch":"Z","type":"option","last":3.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.85,"ask":3.05,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.8768466704955534,"gamma":0.09205701771399755,"theta":-0.011256856969463519,"vega":0.011650826044973028,"rho":0.0015829122507912579,"phi":-0.0016569190378068477,"bid_iv":0.28245,"mid_iv":0.364411,"ask_iv":0.446371,"smv_vol":0.403,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718026606938,"prevclose":3.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":565,"bidexch":"E","bid_date":1718395160000,"asksize":149,"askexch":"E","ask_date":1718395198000,"open_interest":18,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00027000","description":"PLTR + Jul 5 2024 $27.00 Put","exch":"Z","type":"option","last":3.65,"change":0.00,"volume":4,"open":null,"high":null,"low":null,"close":null,"bid":3.4,"ask":3.55,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.9127423005558157,"gamma":0.07150301709542366,"theta":-0.008729757736056904,"vega":0.009070479759595719,"rho":0.0011241158183834267,"phi":-0.001173124051928598,"bid_iv":0.0,"mid_iv":0.485927,"ask_iv":0.485927,"smv_vol":0.415,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718290316183,"prevclose":3.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":38,"bidexch":"Q","bid_date":1718395198000,"asksize":37,"askexch":"N","ask_date":1718395198000,"open_interest":38,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00027000","description":"PLTR + Jul 5 2024 $27.00 Call","exch":"Z","type":"option","last":0.09,"change":-0.01,"volume":1163,"open":0.1,"high":0.12,"low":0.07,"close":0.09,"bid":0.09,"ask":0.12,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.08725769944418431,"gamma":0.07150301709542366,"theta":-0.008729757736056904,"vega":0.009070479759595719,"rho":0.0011241158183834267,"phi":-0.001173124051928598,"bid_iv":0.395443,"mid_iv":0.410574,"ask_iv":0.425706,"smv_vol":0.415,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.00,"average_volume":0,"last_volume":2,"trade_date":1718394981174,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":873,"bidexch":"E","bid_date":1718395198000,"asksize":542,"askexch":"E","ask_date":1718395198000,"open_interest":1042,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705C00028000","description":"PLTR + Jul 5 2024 $28.00 Call","exch":"Z","type":"option","last":0.07,"change":0.00,"volume":29,"open":0.05,"high":0.07,"low":0.05,"close":0.07,"bid":0.05,"ask":0.08,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.04047254917877403,"gamma":0.039018433159383095,"theta":-0.004747479177034043,"vega":0.004867271057097375,"rho":5.23274485408865E-4,"phi":-5.43334079325386E-4,"bid_iv":0.418558,"mid_iv":0.440147,"ask_iv":0.461736,"smv_vol":0.435,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718387747031,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":569,"bidexch":"E","bid_date":1718395112000,"asksize":678,"askexch":"E","ask_date":1718395199000,"open_interest":819,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00028000","description":"PLTR + Jul 5 2024 $28.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.35,"ask":4.5,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.9595274508212259,"gamma":0.039018433159383095,"theta":-0.004747479177034043,"vega":0.004867271057097375,"rho":5.23274485408865E-4,"phi":-5.43334079325386E-4,"bid_iv":0.0,"mid_iv":0.520974,"ask_iv":0.520974,"smv_vol":0.435,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"Z","bid_date":1718395161000,"asksize":26,"askexch":"Q","ask_date":1718395102000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705P00029000","description":"PLTR + Jul 5 2024 $29.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.4,"ask":5.5,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.9830674712871557,"gamma":0.018775971470143555,"theta":-0.002278037639207697,"vega":0.0022203111423450884,"rho":2.1948730225876588E-4,"phi":-2.269826840546607E-4,"bid_iv":0.0,"mid_iv":0.598552,"ask_iv":0.598552,"smv_vol":0.451,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":9,"bidexch":"N","bid_date":1718395154000,"asksize":81,"askexch":"N","ask_date":1718395107000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00029000","description":"PLTR + Jul 5 2024 $29.00 Call","exch":"Z","type":"option","last":0.05,"change":0.01,"volume":3,"open":0.04,"high":0.05,"low":0.04,"close":0.05,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.016932528712844296,"gamma":0.018775971470143555,"theta":-0.002278037639207697,"vega":0.0022203111423450884,"rho":2.1948730225876588E-4,"phi":-2.269826840546607E-4,"bid_iv":0.444115,"mid_iv":0.465236,"ask_iv":0.486356,"smv_vol":0.451,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":25.00,"average_volume":0,"last_volume":2,"trade_date":1718394114990,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":153,"bidexch":"C","bid_date":1718395196000,"asksize":2,"askexch":"D","ask_date":1718372437000,"open_interest":618,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240705P00030000","description":"PLTR + Jul 5 2024 $30.00 Put","exch":"Z","type":"option","last":6.85,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.35,"ask":6.5,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.9935248293886775,"gamma":0.008093919935324252,"theta":-9.782099999481745E-4,"vega":0.0011146648990427192,"rho":8.408396505998181E-5,"phi":-8.667660137372246E-5,"bid_iv":0.0,"mid_iv":0.784917,"ask_iv":0.784917,"smv_vol":0.478,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717773632932,"prevclose":6.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":57,"bidexch":"Q","bid_date":1718395158000,"asksize":10,"askexch":"E","ask_date":1718395158000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240705C00030000","description":"PLTR + Jul 5 2024 $30.00 Call","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":107,"open":0.04,"high":0.04,"low":0.03,"close":0.04,"bid":0.02,"ask":0.08,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.0064751706113225045,"gamma":0.008093919935324252,"theta":-9.782099999481745E-4,"vega":0.0011146648990427192,"rho":8.408396505998181E-5,"phi":-8.667660137372246E-5,"bid_iv":0.474446,"mid_iv":0.53851,"ask_iv":0.602575,"smv_vol":0.478,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":2,"trade_date":1718386828257,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":163,"bidexch":"C","bid_date":1718395196000,"asksize":2438,"askexch":"C","ask_date":1718395196000,"open_interest":734,"contract_size":100,"expiration_date":"2024-07-05","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '198' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '2' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-06-28&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR240628P00015000","description":"PLTR + Jun 28 2024 $15.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-1.919549229749E-4,"gamma":2.3589294939525764E-4,"theta":-0.0035095133678361506,"vega":5.268344933465549E-5,"rho":0.005733406588395659,"phi":-0.00903533813101376,"bid_iv":0.0,"mid_iv":1.066252,"ask_iv":1.066252,"smv_vol":0.759,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1717689677039,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"P","bid_date":1718371848000,"asksize":4,"askexch":"E","ask_date":1718393538000,"open_interest":48,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00015000","description":"PLTR + Jun 28 2024 $15.00 Call","exch":"Z","type":"option","last":9.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.55,"ask":8.7,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9998080450770251,"gamma":2.3589294939525764E-4,"theta":-0.0035095133678361506,"vega":5.268344933465549E-5,"rho":0.005733406588395659,"phi":-0.00903533813101376,"bid_iv":0.0,"mid_iv":1.370518,"ask_iv":1.370518,"smv_vol":0.759,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718217610388,"prevclose":9.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"E","bid_date":1718395136000,"asksize":22,"askexch":"E","ask_date":1718395136000,"open_interest":56,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00016000","description":"PLTR + Jun 28 2024 $16.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.06,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-3.40574009261E-4,"gamma":4.5046191240297396E-4,"theta":-0.003780582487947047,"vega":8.695227718085865E-5,"rho":0.0061143536474161375,"phi":-0.009033975629790802,"bid_iv":0.0,"mid_iv":1.109347,"ask_iv":1.109347,"smv_vol":0.758,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"H","bid_date":1718393318000,"asksize":70,"askexch":"N","ask_date":1718394807000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00016000","description":"PLTR + Jun 28 2024 $16.00 Call","exch":"Z","type":"option","last":7.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.55,"ask":7.7,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.999659425990739,"gamma":4.5046191240297396E-4,"theta":-0.003780582487947047,"vega":8.695227718085865E-5,"rho":0.0061143536474161375,"phi":-0.009033975629790802,"bid_iv":0.0,"mid_iv":1.194655,"ask_iv":1.194655,"smv_vol":0.758,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718307878621,"prevclose":7.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":50,"bidexch":"N","bid_date":1718394971000,"asksize":27,"askexch":"E","ask_date":1718394972000,"open_interest":3,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00016500","description":"PLTR + Jun 28 2024 $16.50 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":10,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":16.5,"greeks":{"delta":-9.090731991365E-4,"gamma":0.0011127787603769006,"theta":-0.004077610479820005,"vega":1.6519876884238193E-4,"rho":0.006300146129119147,"phi":-0.009028778329422948,"bid_iv":0.0,"mid_iv":1.001248,"ask_iv":1.001248,"smv_vol":0.756,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718287297563,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":69,"bidexch":"P","bid_date":1718394808000,"asksize":845,"askexch":"E","ask_date":1718395167000,"open_interest":68,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00016500","description":"PLTR + Jun 28 2024 $16.50 Call","exch":"Z","type":"option","last":5.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.05,"ask":7.25,"underlying":"PLTR","strike":16.5,"greeks":{"delta":0.9990909268008635,"gamma":0.0011127787603769006,"theta":-0.004077610479820005,"vega":1.6519876884238193E-4,"rho":0.006300146129119147,"phi":-0.009028778329422948,"bid_iv":0.0,"mid_iv":1.224432,"ask_iv":1.224432,"smv_vol":0.756,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1716299341252,"prevclose":5.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"N","bid_date":1718395130000,"asksize":54,"askexch":"Z","ask_date":1718395130000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00017000","description":"PLTR + Jun 28 2024 $17.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":3,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.02,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0050643297009525,"gamma":0.004721580479711501,"theta":-0.005500343757068688,"vega":7.462679044461394E-4,"rho":0.00645169194474959,"phi":-0.00899090014883086,"bid_iv":0.730139,"mid_iv":0.76615,"ask_iv":0.802161,"smv_vol":0.739,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718291044976,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"P","bid_date":1718394951000,"asksize":1,"askexch":"N","ask_date":1718382460000,"open_interest":102,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00017000","description":"PLTR + Jun 28 2024 $17.00 Call","exch":"Z","type":"option","last":6.4,"change":0.00,"volume":2,"open":null,"high":null,"low":null,"close":null,"bid":6.55,"ask":6.7,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9949356702990475,"gamma":0.004721580479711501,"theta":-0.005500343757068688,"vega":7.462679044461394E-4,"rho":0.00645169194474959,"phi":-0.00899090014883086,"bid_iv":0.0,"mid_iv":1.029913,"ask_iv":1.029913,"smv_vol":0.739,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718308078408,"prevclose":6.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"Q","bid_date":1718395131000,"asksize":26,"askexch":"Z","ask_date":1718395130000,"open_interest":18,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00017500","description":"PLTR + Jun 28 2024 $17.50 Put","exch":"Z","type":"option","last":0.03,"change":0.01,"volume":11,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0074183095490137,"gamma":0.006881949816745821,"theta":-0.006174112563819278,"vega":9.57117683825387E-4,"rho":0.00662045766595918,"phi":-0.008969431242178416,"bid_iv":0.672082,"mid_iv":0.749094,"ask_iv":0.826107,"smv_vol":0.73,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":50.00,"average_volume":0,"last_volume":1,"trade_date":1718382030914,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":700,"bidexch":"P","bid_date":1718395133000,"asksize":622,"askexch":"E","ask_date":1718395199000,"open_interest":108,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00017500","description":"PLTR + Jun 28 2024 $17.50 Call","exch":"Z","type":"option","last":6.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.95,"ask":6.2,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9925816904509863,"gamma":0.006881949816745821,"theta":-0.006174112563819278,"vega":9.57117683825387E-4,"rho":0.00662045766595918,"phi":-0.008969431242178416,"bid_iv":0.0,"mid_iv":0.950959,"ask_iv":0.950959,"smv_vol":0.73,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1718220989301,"prevclose":6.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":85,"bidexch":"N","bid_date":1718395197000,"asksize":10,"askexch":"Q","ask_date":1718395136000,"open_interest":78,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00018000","description":"PLTR + Jun 28 2024 $18.00 Put","exch":"Z","type":"option","last":0.03,"change":0.01,"volume":4,"open":0.03,"high":0.03,"low":0.03,"close":0.03,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0127843306457344,"gamma":0.011178678661922388,"theta":-0.007573231474452126,"vega":0.0015243818779324826,"rho":0.006760342230179875,"phi":-0.008920550307323083,"bid_iv":0.616586,"mid_iv":0.688791,"ask_iv":0.760996,"smv_vol":0.712,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":50.00,"average_volume":0,"last_volume":4,"trade_date":1718380075887,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395200000,"asksize":667,"askexch":"E","ask_date":1718395167000,"open_interest":614,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00018000","description":"PLTR + Jun 28 2024 $18.00 Call","exch":"Z","type":"option","last":5.45,"change":0.00,"volume":21,"open":5.25,"high":5.45,"low":5.0,"close":5.45,"bid":5.45,"ask":5.75,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9872156693542656,"gamma":0.011178678661922388,"theta":-0.007573231474452126,"vega":0.0015243818779324826,"rho":0.006760342230179875,"phi":-0.008920550307323083,"bid_iv":0.0,"mid_iv":0.872689,"ask_iv":0.872689,"smv_vol":0.712,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":9,"trade_date":1718381789275,"prevclose":5.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":86,"bidexch":"Z","bid_date":1718395197000,"asksize":9,"askexch":"U","ask_date":1718395136000,"open_interest":116,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00018500","description":"PLTR + Jun 28 2024 $18.50 Call","exch":"Z","type":"option","last":4.77,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.95,"ask":5.2,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9859304548109328,"gamma":0.013311463460852397,"theta":-0.007661227327105097,"vega":0.001539317114565963,"rho":0.006939639077428437,"phi":-0.008908743094337979,"bid_iv":0.0,"mid_iv":0.966357,"ask_iv":0.966357,"smv_vol":0.624,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718295922033,"prevclose":4.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":92,"bidexch":"Z","bid_date":1718395198000,"asksize":19,"askexch":"N","ask_date":1718395198000,"open_interest":83,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00018500","description":"PLTR + Jun 28 2024 $18.50 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":100,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.08,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0140695451890672,"gamma":0.013311463460852397,"theta":-0.007661227327105097,"vega":0.001539317114565963,"rho":0.006939639077428437,"phi":-0.008908743094337979,"bid_iv":0.620222,"mid_iv":0.708002,"ask_iv":0.795782,"smv_vol":0.624,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":8,"trade_date":1718288821040,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"X","bid_date":1718395198000,"asksize":152,"askexch":"B","ask_date":1718395198000,"open_interest":437,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00019000","description":"PLTR + Jun 28 2024 $19.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":18,"open":0.04,"high":0.04,"low":0.03,"close":0.03,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0266608380125674,"gamma":0.022539610762130288,"theta":-0.010321633550662465,"vega":0.00286372491687888,"rho":0.007010260543631247,"phi":-0.008794119752408847,"bid_iv":0.599864,"mid_iv":0.615414,"ask_iv":0.630964,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718395177913,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":6,"bidexch":"N","bid_date":1718390944000,"asksize":427,"askexch":"C","ask_date":1718395199000,"open_interest":1718,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00019000","description":"PLTR + Jun 28 2024 $19.00 Call","exch":"Z","type":"option","last":4.96,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.6,"ask":4.7,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9733391619874326,"gamma":0.022539610762130288,"theta":-0.010321633550662465,"vega":0.00286372491687888,"rho":0.007010260543631247,"phi":-0.008794119752408847,"bid_iv":0.0,"mid_iv":0.722811,"ask_iv":0.722811,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718219856978,"prevclose":4.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":30,"bidexch":"X","bid_date":1718395136000,"asksize":23,"askexch":"Q","ask_date":1718395136000,"open_interest":78,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00019500","description":"PLTR + Jun 28 2024 $19.50 Call","exch":"Z","type":"option","last":5.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.95,"ask":6.25,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9631086552142369,"gamma":0.030947391446624246,"theta":-0.01190403091110097,"vega":0.00351253914964129,"rho":0.007103910636703489,"phi":-0.008700906182212975,"bid_iv":0.0,"mid_iv":0.65045,"ask_iv":0.65045,"smv_vol":0.582,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718199016647,"prevclose":5.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":93,"bidexch":"N","bid_date":1718395198000,"asksize":121,"askexch":"N","ask_date":1718395198000,"open_interest":39,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00019500","description":"PLTR + Jun 28 2024 $19.50 Put","exch":"Z","type":"option","last":0.03,"change":-0.02,"volume":13,"open":0.03,"high":0.04,"low":0.03,"close":0.03,"bid":0.03,"ask":0.06,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0368913447857631,"gamma":0.030947391446624246,"theta":-0.01190403091110097,"vega":0.00351253914964129,"rho":0.007103910636703489,"phi":-0.008700906182212975,"bid_iv":0.539485,"mid_iv":0.577564,"ask_iv":0.615642,"smv_vol":0.582,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-40.00,"average_volume":0,"last_volume":1,"trade_date":1718392309882,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"D","bid_date":1718395199000,"asksize":184,"askexch":"E","ask_date":1718395199000,"open_interest":1331,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00020000","description":"PLTR + Jun 28 2024 $20.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":97,"open":0.06,"high":0.06,"low":0.04,"close":0.05,"bid":0.04,"ask":0.1,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0457526109961786,"gamma":0.040096923024571955,"theta":-0.012692821231402474,"vega":0.0048815518813172636,"rho":0.007211423858225241,"phi":-0.00861999927881385,"bid_iv":0.505626,"mid_iv":0.561806,"ask_iv":0.617985,"smv_vol":0.502,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718393946902,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"U","bid_date":1718395168000,"asksize":2563,"askexch":"C","ask_date":1718395198000,"open_interest":1888,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00020000","description":"PLTR + Jun 28 2024 $20.00 Call","exch":"Z","type":"option","last":3.3,"change":0.00,"volume":15,"open":null,"high":null,"low":null,"close":null,"bid":3.6,"ask":3.75,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9542473890038214,"gamma":0.040096923024571955,"theta":-0.012692821231402474,"vega":0.0048815518813172636,"rho":0.007211423858225241,"phi":-0.00861999927881385,"bid_iv":0.0,"mid_iv":0.776061,"ask_iv":0.776061,"smv_vol":0.502,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":15,"trade_date":1718297467857,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"U","bid_date":1718395128000,"asksize":44,"askexch":"Z","ask_date":1718395197000,"open_interest":473,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00020500","description":"PLTR + Jun 28 2024 $20.50 Call","exch":"Z","type":"option","last":3.2,"change":-0.10,"volume":13,"open":2.9,"high":3.25,"low":2.9,"close":3.2,"bid":3.05,"ask":3.2,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.9250440340203975,"gamma":0.05879091947463268,"theta":-0.016620586414366232,"vega":0.006649129170882564,"rho":0.0071224165228444235,"phi":-0.008354396205945136,"bid_iv":0.388913,"mid_iv":0.439441,"ask_iv":0.489969,"smv_vol":0.483,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.03,"average_volume":0,"last_volume":3,"trade_date":1718394331482,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":59,"bidexch":"N","bid_date":1718395198000,"asksize":24,"askexch":"W","ask_date":1718395168000,"open_interest":204,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00020500","description":"PLTR + Jun 28 2024 $20.50 Put","exch":"Z","type":"option","last":0.05,"change":-0.02,"volume":34,"open":0.12,"high":0.12,"low":0.05,"close":0.05,"bid":0.05,"ask":0.06,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.0749559659796025,"gamma":0.05879091947463268,"theta":-0.016620586414366232,"vega":0.006649129170882564,"rho":0.0071224165228444235,"phi":-0.008354396205945136,"bid_iv":0.464801,"mid_iv":0.474376,"ask_iv":0.48395,"smv_vol":0.483,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-28.58,"average_volume":0,"last_volume":1,"trade_date":1718393568173,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":17,"bidexch":"N","bid_date":1718394667000,"asksize":1127,"askexch":"E","ask_date":1718395167000,"open_interest":1227,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00021000","description":"PLTR + Jun 28 2024 $21.00 Put","exch":"Z","type":"option","last":0.06,"change":-0.02,"volume":124,"open":0.09,"high":0.13,"low":0.06,"close":0.06,"bid":0.05,"ask":0.08,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.098616875211659,"gamma":0.07769554388550036,"theta":-0.01838067754803725,"vega":0.007991136801689789,"rho":0.007088587112642208,"phi":-0.008138861757878146,"bid_iv":0.418719,"mid_iv":0.433846,"ask_iv":0.448973,"smv_vol":0.442,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-25.00,"average_volume":0,"last_volume":2,"trade_date":1718394729862,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"E","bid_date":1718395198000,"asksize":1120,"askexch":"E","ask_date":1718395199000,"open_interest":1737,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00021000","description":"PLTR + Jun 28 2024 $21.00 Call","exch":"Z","type":"option","last":2.7,"change":0.18,"volume":152,"open":2.15,"high":2.73,"low":2.15,"close":2.7,"bid":2.68,"ask":2.87,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.901383124788341,"gamma":0.07769554388550036,"theta":-0.01838067754803725,"vega":0.007991136801689789,"rho":0.007088587112642208,"phi":-0.008138861757878146,"bid_iv":0.393929,"mid_iv":0.43081,"ask_iv":0.467692,"smv_vol":0.442,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.15,"average_volume":0,"last_volume":10,"trade_date":1718394897009,"prevclose":2.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"N","bid_date":1718395027000,"asksize":70,"askexch":"N","ask_date":1718395198000,"open_interest":928,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00021500","description":"PLTR + Jun 28 2024 $21.50 Call","exch":"Z","type":"option","last":2.25,"change":0.26,"volume":243,"open":1.7,"high":2.31,"low":1.7,"close":2.25,"bid":2.19,"ask":2.3,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.8747361242551552,"gamma":0.1024977586840996,"theta":-0.019275601358451487,"vega":0.009772029122713034,"rho":0.007028230119439045,"phi":-0.00789580901106035,"bid_iv":0.317683,"mid_iv":0.368211,"ask_iv":0.41874,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.07,"average_volume":0,"last_volume":1,"trade_date":1718394919306,"prevclose":1.99,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"X","bid_date":1718395198000,"asksize":11,"askexch":"N","ask_date":1718395198000,"open_interest":661,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00021500","description":"PLTR + Jun 28 2024 $21.50 Put","exch":"Z","type":"option","last":0.11,"change":-0.02,"volume":241,"open":0.3,"high":0.3,"low":0.09,"close":0.11,"bid":0.08,"ask":0.11,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.1252638757448448,"gamma":0.1024977586840996,"theta":-0.019275601358451487,"vega":0.009772029122713034,"rho":0.007028230119439045,"phi":-0.00789580901106035,"bid_iv":0.404236,"mid_iv":0.409982,"ask_iv":0.415727,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-15.39,"average_volume":0,"last_volume":1,"trade_date":1718395141568,"prevclose":0.13,"week_52_high":0.0,"week_52_low":0.0,"bidsize":16,"bidexch":"N","bid_date":1718395198000,"asksize":4,"askexch":"Q","ask_date":1718395198000,"open_interest":2259,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00022000","description":"PLTR + Jun 28 2024 $22.00 Put","exch":"Z","type":"option","last":0.17,"change":-0.05,"volume":511,"open":0.23,"high":0.35,"low":0.15,"close":0.17,"bid":0.12,"ask":0.17,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.1646132344709652,"gamma":0.13773353739722224,"theta":-0.020330226064157925,"vega":0.011969340072885758,"rho":0.006847782287333,"phi":-0.007537020678682893,"bid_iv":0.388801,"mid_iv":0.393088,"ask_iv":0.397375,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-22.73,"average_volume":0,"last_volume":1,"trade_date":1718395192388,"prevclose":0.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"N","bid_date":1718395199000,"asksize":563,"askexch":"Q","ask_date":1718395199000,"open_interest":1477,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00022000","description":"PLTR + Jun 28 2024 $22.00 Call","exch":"Z","type":"option","last":1.79,"change":0.18,"volume":256,"open":1.4,"high":1.9,"low":1.3,"close":1.79,"bid":1.77,"ask":1.88,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.8353867655290348,"gamma":0.13773353739722224,"theta":-0.020330226064157925,"vega":0.011969340072885758,"rho":0.006847782287333,"phi":-0.007537020678682893,"bid_iv":0.362397,"mid_iv":0.380038,"ask_iv":0.397679,"smv_vol":0.387,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.18,"average_volume":0,"last_volume":1,"trade_date":1718395045592,"prevclose":1.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395199000,"asksize":249,"askexch":"E","ask_date":1718395199000,"open_interest":2981,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00022500","description":"PLTR + Jun 28 2024 $22.50 Call","exch":"Z","type":"option","last":1.42,"change":0.20,"volume":592,"open":1.19,"high":1.56,"low":0.93,"close":1.42,"bid":1.37,"ask":1.61,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.7662816003571385,"gamma":0.18217504445368207,"theta":-0.022510253417261563,"vega":0.014166109057182635,"rho":0.006381050287237221,"phi":-0.00690849439655139,"bid_iv":0.344276,"mid_iv":0.368541,"ask_iv":0.392805,"smv_vol":0.376,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.40,"average_volume":0,"last_volume":1,"trade_date":1718394924094,"prevclose":1.22,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"J","bid_date":1718395199000,"asksize":211,"askexch":"E","ask_date":1718395199000,"open_interest":4068,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00022500","description":"PLTR + Jun 28 2024 $22.50 Put","exch":"Z","type":"option","last":0.26,"change":-0.10,"volume":534,"open":0.38,"high":0.5,"low":0.24,"close":0.26,"bid":0.26,"ask":0.27,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.2337183996428615,"gamma":0.18217504445368207,"theta":-0.022510253417261563,"vega":0.014166109057182635,"rho":0.006381050287237221,"phi":-0.00690849439655139,"bid_iv":0.379949,"mid_iv":0.383461,"ask_iv":0.386974,"smv_vol":0.376,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-27.78,"average_volume":0,"last_volume":1,"trade_date":1718395089918,"prevclose":0.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":151,"bidexch":"E","bid_date":1718395167000,"asksize":10,"askexch":"D","ask_date":1718395090000,"open_interest":1034,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00023000","description":"PLTR + Jun 28 2024 $23.00 Put","exch":"Z","type":"option","last":0.42,"change":-0.15,"volume":1249,"open":0.58,"high":0.74,"low":0.38,"close":0.42,"bid":0.41,"ask":0.43,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3351688484987617,"gamma":0.21933543614456308,"theta":-0.02523799263783671,"vega":0.016840646339391693,"rho":0.005595781397622721,"phi":-0.005988318800831394,"bid_iv":0.374712,"mid_iv":0.380635,"ask_iv":0.386559,"smv_vol":0.376,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-26.32,"average_volume":0,"last_volume":3,"trade_date":1718395190707,"prevclose":0.57,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"Z","bid_date":1718395199000,"asksize":12,"askexch":"D","ask_date":1718395129000,"open_interest":2448,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00023000","description":"PLTR + Jun 28 2024 $23.00 Call","exch":"Z","type":"option","last":1.04,"change":0.14,"volume":1464,"open":0.8,"high":1.12,"low":0.66,"close":1.04,"bid":1.04,"ask":1.15,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6648311515012383,"gamma":0.21933543614456308,"theta":-0.02523799263783671,"vega":0.016840646339391693,"rho":0.005595781397622721,"phi":-0.005988318800831394,"bid_iv":0.368253,"mid_iv":0.380118,"ask_iv":0.391984,"smv_vol":0.376,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":15.56,"average_volume":0,"last_volume":17,"trade_date":1718395175078,"prevclose":0.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395199000,"asksize":564,"askexch":"E","ask_date":1718395199000,"open_interest":3255,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00023500","description":"PLTR + Jun 28 2024 $23.50 Put","exch":"Z","type":"option","last":0.63,"change":-0.16,"volume":596,"open":0.85,"high":0.98,"low":0.6,"close":0.63,"bid":0.63,"ask":0.78,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.4518375224140658,"gamma":0.2312610434113721,"theta":-0.027219698478200025,"vega":0.0183173101704101,"rho":0.0046433891757400435,"phi":-0.004932895401044135,"bid_iv":0.378415,"mid_iv":0.386617,"ask_iv":0.394819,"smv_vol":0.383,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-20.26,"average_volume":0,"last_volume":5,"trade_date":1718395132553,"prevclose":0.79,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"B","bid_date":1718395199000,"asksize":37,"askexch":"B","ask_date":1718395199000,"open_interest":426,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00023500","description":"PLTR + Jun 28 2024 $23.50 Call","exch":"Z","type":"option","last":0.77,"change":0.10,"volume":1397,"open":0.57,"high":0.84,"low":0.46,"close":0.77,"bid":0.76,"ask":0.8,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.5481624775859342,"gamma":0.2312610434113721,"theta":-0.027219698478200025,"vega":0.0183173101704101,"rho":0.0046433891757400435,"phi":-0.004932895401044135,"bid_iv":0.372713,"mid_iv":0.380912,"ask_iv":0.389112,"smv_vol":0.383,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.93,"average_volume":0,"last_volume":2,"trade_date":1718395153875,"prevclose":0.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":28,"bidexch":"W","bid_date":1718395170000,"asksize":340,"askexch":"E","ask_date":1718395169000,"open_interest":2393,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00024000","description":"PLTR + Jun 28 2024 $24.00 Put","exch":"Z","type":"option","last":0.92,"change":-0.13,"volume":175,"open":1.29,"high":1.29,"low":0.86,"close":0.92,"bid":0.81,"ask":0.96,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.5631935683924326,"gamma":0.22167275195551037,"theta":-0.02736359668210591,"vega":0.01818395795470075,"rho":0.0037164246210177714,"phi":-0.0039274269014732965,"bid_iv":0.377683,"mid_iv":0.38877,"ask_iv":0.399858,"smv_vol":0.389,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-12.39,"average_volume":0,"last_volume":38,"trade_date":1718395122927,"prevclose":1.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":73,"bidexch":"E","bid_date":1718395198000,"asksize":2,"askexch":"Q","ask_date":1718395199000,"open_interest":364,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00024000","description":"PLTR + Jun 28 2024 $24.00 Call","exch":"Z","type":"option","last":0.56,"change":0.09,"volume":3356,"open":0.27,"high":0.6,"low":0.27,"close":0.56,"bid":0.53,"ask":0.6,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.4368064316075674,"gamma":0.22167275195551037,"theta":-0.02736359668210591,"vega":0.01818395795470075,"rho":0.0037164246210177714,"phi":-0.0039274269014732965,"bid_iv":0.372755,"mid_iv":0.383766,"ask_iv":0.394776,"smv_vol":0.389,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":19.15,"average_volume":0,"last_volume":10,"trade_date":1718395029533,"prevclose":0.47,"week_52_high":0.0,"week_52_low":0.0,"bidsize":36,"bidexch":"B","bid_date":1718395197000,"asksize":6,"askexch":"J","ask_date":1718395199000,"open_interest":4270,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00024500","description":"PLTR + Jun 28 2024 $24.50 Put","exch":"Z","type":"option","last":1.38,"change":-0.13,"volume":30,"open":1.42,"high":1.45,"low":1.37,"close":1.38,"bid":1.04,"ask":1.28,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.6631816762403332,"gamma":0.20077873650533296,"theta":-0.0255241181518185,"vega":0.016484006991381465,"rho":0.0028770121822584947,"phi":-0.003025713303239641,"bid_iv":0.379808,"mid_iv":0.394573,"ask_iv":0.409338,"smv_vol":0.394,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.61,"average_volume":0,"last_volume":15,"trade_date":1718382457277,"prevclose":1.51,"week_52_high":0.0,"week_52_low":0.0,"bidsize":165,"bidexch":"E","bid_date":1718395199000,"asksize":54,"askexch":"B","ask_date":1718395198000,"open_interest":42,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00024500","description":"PLTR + Jun 28 2024 $24.50 Call","exch":"Z","type":"option","last":0.38,"change":0.06,"volume":2145,"open":0.25,"high":0.41,"low":0.16,"close":0.38,"bid":0.36,"ask":0.4,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.3368183237596668,"gamma":0.20077873650533296,"theta":-0.0255241181518185,"vega":0.016484006991381465,"rho":0.0028770121822584947,"phi":-0.003025713303239641,"bid_iv":0.376036,"mid_iv":0.388157,"ask_iv":0.400278,"smv_vol":0.394,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":18.75,"average_volume":0,"last_volume":10,"trade_date":1718395056104,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"E","bid_date":1718395199000,"asksize":52,"askexch":"B","ask_date":1718395199000,"open_interest":3152,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00025000","description":"PLTR + Jun 28 2024 $25.00 Call","exch":"Z","type":"option","last":0.25,"change":0.02,"volume":3264,"open":0.2,"high":0.28,"low":0.14,"close":0.25,"bid":0.24,"ask":0.27,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.2498142275787501,"gamma":0.1725715061778835,"theta":-0.022138570210003466,"vega":0.014785205525301305,"rho":0.0021414189501243095,"phi":-0.002241998377505716,"bid_iv":0.381976,"mid_iv":0.392137,"ask_iv":0.402299,"smv_vol":0.393,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.70,"average_volume":0,"last_volume":10,"trade_date":1718395165052,"prevclose":0.23,"week_52_high":0.0,"week_52_low":0.0,"bidsize":175,"bidexch":"D","bid_date":1718395199000,"asksize":26,"askexch":"B","ask_date":1718395168000,"open_interest":5205,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00025000","description":"PLTR + Jun 28 2024 $25.00 Put","exch":"Z","type":"option","last":2.0,"change":0.17,"volume":5,"open":2.0,"high":2.0,"low":2.0,"close":2.0,"bid":1.53,"ask":1.72,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.75018577242125,"gamma":0.1725715061778835,"theta":-0.022138570210003466,"vega":0.014785205525301305,"rho":0.0021414189501243095,"phi":-0.002241998377505716,"bid_iv":0.382667,"mid_iv":0.433014,"ask_iv":0.483362,"smv_vol":0.393,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.29,"average_volume":0,"last_volume":5,"trade_date":1718371830037,"prevclose":1.83,"week_52_high":0.0,"week_52_low":0.0,"bidsize":51,"bidexch":"Z","bid_date":1718395198000,"asksize":20,"askexch":"N","ask_date":1718395198000,"open_interest":179,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00025500","description":"PLTR + Jun 28 2024 $25.50 Put","exch":"Z","type":"option","last":2.04,"change":-0.37,"volume":163,"open":2.33,"high":2.45,"low":2.01,"close":2.04,"bid":1.99,"ask":2.27,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.8216630043238099,"gamma":0.1404233231783487,"theta":-0.01818420063138217,"vega":0.011531726509474543,"rho":0.0015331748679022388,"phi":-0.0015989573579067162,"bid_iv":0.293969,"mid_iv":0.359814,"ask_iv":0.425659,"smv_vol":0.395,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-15.36,"average_volume":0,"last_volume":1,"trade_date":1718394432032,"prevclose":2.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":30,"bidexch":"Z","bid_date":1718395199000,"asksize":468,"askexch":"E","ask_date":1718395199000,"open_interest":18,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00025500","description":"PLTR + Jun 28 2024 $25.50 Call","exch":"Z","type":"option","last":0.17,"change":0.01,"volume":1853,"open":0.12,"high":0.2,"low":0.11,"close":0.17,"bid":0.15,"ask":0.17,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.1783369956761901,"gamma":0.1404233231783487,"theta":-0.01818420063138217,"vega":0.011531726509474543,"rho":0.0015331748679022388,"phi":-0.0015989573579067162,"bid_iv":0.381961,"mid_iv":0.39063,"ask_iv":0.399298,"smv_vol":0.395,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.25,"average_volume":0,"last_volume":1,"trade_date":1718395049056,"prevclose":0.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":616,"bidexch":"E","bid_date":1718395199000,"asksize":10,"askexch":"N","ask_date":1718395127000,"open_interest":1443,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00026000","description":"PLTR + Jun 28 2024 $26.00 Put","exch":"Z","type":"option","last":2.62,"change":-0.14,"volume":26,"open":3.2,"high":3.2,"low":2.62,"close":2.62,"bid":2.43,"ask":2.72,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.8748932455409468,"gamma":0.10896287643145927,"theta":-0.0144520282637151,"vega":0.009342484950391241,"rho":0.0010776513043500898,"phi":-0.0011207539163393676,"bid_iv":0.285513,"mid_iv":0.380268,"ask_iv":0.475022,"smv_vol":0.398,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-5.08,"average_volume":0,"last_volume":1,"trade_date":1718382303121,"prevclose":2.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"Z","bid_date":1718395198000,"asksize":513,"askexch":"E","ask_date":1718395199000,"open_interest":156,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00026000","description":"PLTR + Jun 28 2024 $26.00 Call","exch":"Z","type":"option","last":0.11,"change":0.00,"volume":546,"open":0.1,"high":0.13,"low":0.07,"close":0.11,"bid":0.1,"ask":0.12,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.12510675445905314,"gamma":0.10896287643145927,"theta":-0.0144520282637151,"vega":0.009342484950391241,"rho":0.0010776513043500898,"phi":-0.0011207539163393676,"bid_iv":0.393647,"mid_iv":0.404367,"ask_iv":0.415086,"smv_vol":0.398,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1718394605292,"prevclose":0.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395197000,"asksize":394,"askexch":"E","ask_date":1718395198000,"open_interest":3177,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00026500","description":"PLTR + Jun 28 2024 $26.50 Call","exch":"Z","type":"option","last":0.08,"change":0.00,"volume":28,"open":0.08,"high":0.08,"low":0.07,"close":0.08,"bid":0.07,"ask":0.08,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.08838766665560695,"gamma":0.08242718463755133,"theta":-0.011470547079970453,"vega":0.007255446905274995,"rho":7.621920916188588E-4,"phi":-7.913182593910495E-4,"bid_iv":0.409809,"mid_iv":0.416717,"ask_iv":0.423625,"smv_vol":0.411,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718393643668,"prevclose":0.08,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"Z","bid_date":1718394905000,"asksize":79,"askexch":"E","ask_date":1718395131000,"open_interest":534,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00026500","description":"PLTR + Jun 28 2024 $26.50 Put","exch":"Z","type":"option","last":3.27,"change":-0.03,"volume":1,"open":3.27,"high":3.27,"low":3.27,"close":3.27,"bid":2.88,"ask":3.0,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.9116123333443931,"gamma":0.08242718463755133,"theta":-0.011470547079970453,"vega":0.007255446905274995,"rho":7.621920916188588E-4,"phi":-7.913182593910495E-4,"bid_iv":0.0,"mid_iv":0.521533,"ask_iv":0.521533,"smv_vol":0.411,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.91,"average_volume":0,"last_volume":1,"trade_date":1718375109578,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"N","bid_date":1718395130000,"asksize":1,"askexch":"C","ask_date":1718395168000,"open_interest":13,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00027000","description":"PLTR + Jun 28 2024 $27.00 Put","exch":"Z","type":"option","last":2.94,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.4,"ask":3.5,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.9369486793250131,"gamma":0.06171228830369041,"theta":-0.009102997271039292,"vega":0.005403503913418418,"rho":5.440652669868562E-4,"phi":-5.642234333219642E-4,"bid_iv":0.0,"mid_iv":0.517196,"ask_iv":0.517196,"smv_vol":0.425,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718285598201,"prevclose":2.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"T","bid_date":1718395130000,"asksize":26,"askexch":"E","ask_date":1718395167000,"open_interest":5,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00027000","description":"PLTR + Jun 28 2024 $27.00 Call","exch":"Z","type":"option","last":0.05,"change":-0.01,"volume":78,"open":0.06,"high":0.06,"low":0.05,"close":0.05,"bid":0.05,"ask":0.06,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.06305132067498682,"gamma":0.06171228830369041,"theta":-0.009102997271039292,"vega":0.005403503913418418,"rho":5.440652669868562E-4,"phi":-5.642234333219642E-4,"bid_iv":0.426597,"mid_iv":0.435054,"ask_iv":0.44351,"smv_vol":0.425,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.67,"average_volume":0,"last_volume":8,"trade_date":1718395164744,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":8,"bidexch":"Q","bid_date":1718394807000,"asksize":5,"askexch":"N","ask_date":1718395198000,"open_interest":1524,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00027500","description":"PLTR + Jun 28 2024 $27.50 Call","exch":"Z","type":"option","last":0.05,"change":-0.02,"volume":5,"open":0.04,"high":0.05,"low":0.04,"close":0.05,"bid":0.03,"ask":0.05,"underlying":"PLTR","strike":27.5,"greeks":{"delta":0.046597835560044924,"gamma":0.046710372593133,"theta":-0.007399616275369652,"vega":0.004611249834712874,"rho":4.0214965546833713E-4,"phi":-4.1688754913449255E-4,"bid_iv":0.428093,"mid_iv":0.450082,"ask_iv":0.472071,"smv_vol":0.45,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-28.58,"average_volume":0,"last_volume":1,"trade_date":1718390479362,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":667,"bidexch":"D","bid_date":1718395199000,"asksize":1450,"askexch":"E","ask_date":1718395167000,"open_interest":66,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00027500","description":"PLTR + Jun 28 2024 $27.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":3.85,"ask":4.0,"underlying":"PLTR","strike":27.5,"greeks":{"delta":-0.9534021644399551,"gamma":0.046710372593133,"theta":-0.007399616275369652,"vega":0.004611249834712874,"rho":4.0214965546833713E-4,"phi":-4.1688754913449255E-4,"bid_iv":0.0,"mid_iv":0.632413,"ask_iv":0.632413,"smv_vol":0.45,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"Q","bid_date":1718395090000,"asksize":28,"askexch":"E","ask_date":1718395167000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00028000","description":"PLTR + Jun 28 2024 $28.00 Put","exch":"Z","type":"option","last":3.88,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.35,"ask":4.5,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.9674894277964989,"gamma":0.03409805722710148,"theta":-0.005615779892526691,"vega":0.0032291588991755905,"rho":2.8076198109893227E-4,"phi":-2.907194698864579E-4,"bid_iv":0.0,"mid_iv":0.617179,"ask_iv":0.617179,"smv_vol":0.469,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718204608899,"prevclose":3.88,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"Q","bid_date":1718395095000,"asksize":24,"askexch":"Z","ask_date":1718395095000,"open_interest":4,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00028000","description":"PLTR + Jun 28 2024 $28.00 Call","exch":"Z","type":"option","last":0.03,"change":-0.01,"volume":84,"open":0.1,"high":0.1,"low":0.03,"close":0.03,"bid":0.03,"ask":0.04,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.03251057220350109,"gamma":0.03409805722710148,"theta":-0.005615779892526691,"vega":0.0032291588991755905,"rho":2.8076198109893227E-4,"phi":-2.907194698864579E-4,"bid_iv":0.46917,"mid_iv":0.481593,"ask_iv":0.494016,"smv_vol":0.469,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-25.00,"average_volume":0,"last_volume":1,"trade_date":1718388079793,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"P","bid_date":1718395092000,"asksize":24,"askexch":"Q","ask_date":1718392203000,"open_interest":806,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628C00028500","description":"PLTR + Jun 28 2024 $28.50 Call","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.08,"underlying":"PLTR","strike":28.5,"greeks":{"delta":0.02127733374624378,"gamma":0.023709590833259415,"theta":-0.003961493204438408,"vega":0.0021746967396013756,"rho":1.839294632552546E-4,"phi":-1.9014249993953847E-4,"bid_iv":0.4306,"mid_iv":0.522209,"ask_iv":0.613818,"smv_vol":0.491,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":5,"trade_date":1718301909335,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":620,"bidexch":"E","bid_date":1718395198000,"asksize":864,"askexch":"E","ask_date":1718395198000,"open_interest":28,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00028500","description":"PLTR + Jun 28 2024 $28.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.85,"ask":5.0,"underlying":"PLTR","strike":28.5,"greeks":{"delta":-0.9787226662537563,"gamma":0.023709590833259415,"theta":-0.003961493204438408,"vega":0.0021746967396013756,"rho":1.839294632552546E-4,"phi":-1.9014249993953847E-4,"bid_iv":0.0,"mid_iv":0.664434,"ask_iv":0.664434,"smv_vol":0.491,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"Q","bid_date":1718395199000,"asksize":34,"askexch":"N","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628P00029000","description":"PLTR + Jun 28 2024 $29.00 Put","exch":"Z","type":"option","last":6.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.35,"ask":5.5,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.9845978460157836,"gamma":0.017497792245904576,"theta":-0.0030805839930275955,"vega":0.001769979441263718,"rho":1.3316248496274272E-4,"phi":-1.3760934313919448E-4,"bid_iv":0.0,"mid_iv":0.843256,"ask_iv":0.843256,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717527324664,"prevclose":6.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":42,"bidexch":"Q","bid_date":1718395166000,"asksize":34,"askexch":"N","ask_date":1718395166000,"open_interest":15,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00029000","description":"PLTR + Jun 28 2024 $29.00 Call","exch":"Z","type":"option","last":0.04,"change":0.01,"volume":1,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.01,"ask":0.06,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.015402153984216418,"gamma":0.017497792245904576,"theta":-0.0030805839930275955,"vega":0.001769979441263718,"rho":1.3316248496274272E-4,"phi":-1.3760934313919448E-4,"bid_iv":0.46496,"mid_iv":0.542501,"ask_iv":0.620042,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":33.34,"average_volume":0,"last_volume":1,"trade_date":1718371808333,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":386,"bidexch":"C","bid_date":1718395198000,"asksize":2538,"askexch":"E","ask_date":1718395198000,"open_interest":255,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00030000","description":"PLTR + Jun 28 2024 $30.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.35,"ask":6.45,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.9914316253497729,"gamma":0.009922450132129555,"theta":-0.0019503663086414677,"vega":0.0011303550137146678,"rho":7.408044928961134E-5,"phi":-7.653646123990943E-5,"bid_iv":0.0,"mid_iv":0.674055,"ask_iv":0.674055,"smv_vol":0.565,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"Q","bid_date":1718395129000,"asksize":9,"askexch":"Q","ask_date":1718395133000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00030000","description":"PLTR + Jun 28 2024 $30.00 Call","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":38,"open":0.03,"high":0.03,"low":0.02,"close":0.03,"bid":0.01,"ask":0.03,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.008568374650227068,"gamma":0.009922450132129555,"theta":-0.0019503663086414677,"vega":0.0011303550137146678,"rho":7.408044928961134E-5,"phi":-7.653646123990943E-5,"bid_iv":0.530674,"mid_iv":0.575988,"ask_iv":0.621302,"smv_vol":0.565,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718393416727,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":125,"bidexch":"D","bid_date":1718395198000,"asksize":265,"askexch":"N","ask_date":1718394973000,"open_interest":1258,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00031000","description":"PLTR + Jun 28 2024 $31.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.35,"ask":7.45,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.9969168949217573,"gamma":0.004005146099169319,"theta":-7.783113270083911E-4,"vega":4.5560895688498556E-4,"rho":2.669997395994479E-5,"phi":-2.7500343864096666E-5,"bid_iv":0.0,"mid_iv":1.030028,"ask_iv":1.030028,"smv_vol":0.608,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":26,"bidexch":"E","bid_date":1718395000000,"asksize":37,"askexch":"Z","ask_date":1718394973000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00031000","description":"PLTR + Jun 28 2024 $31.00 Call","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.0030831050782427036,"gamma":0.004005146099169319,"theta":-7.783113270083911E-4,"vega":4.5560895688498556E-4,"rho":2.669997395994479E-5,"phi":-2.7500343864096666E-5,"bid_iv":0.592637,"mid_iv":0.657725,"ask_iv":0.722814,"smv_vol":0.608,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718289241062,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":408,"bidexch":"D","bid_date":1718395132000,"asksize":933,"askexch":"M","ask_date":1718395168000,"open_interest":267,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240628P00032000","description":"PLTR + Jun 28 2024 $32.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.25,"ask":8.55,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.998821095929286,"gamma":0.0016525924094732344,"theta":-3.263163532597452E-4,"vega":1.7770561795156777E-4,"rho":1.0217916076622907E-5,"phi":-1.0504513221721787E-5,"bid_iv":0.0,"mid_iv":1.046607,"ask_iv":1.046607,"smv_vol":0.637,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"Q","bid_date":1718395096000,"asksize":82,"askexch":"N","ask_date":1718395096000,"open_interest":0,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240628C00032000","description":"PLTR + Jun 28 2024 $32.00 Call","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":70,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.01,"ask":0.04,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.0011789040707139834,"gamma":0.0016525924094732344,"theta":-3.263163532597452E-4,"vega":1.7770561795156777E-4,"rho":1.0217916076622907E-5,"phi":-1.0504513221721787E-5,"bid_iv":0.652529,"mid_iv":0.721905,"ask_iv":0.791281,"smv_vol":0.637,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-33.34,"average_volume":0,"last_volume":10,"trade_date":1718377268822,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":152,"bidexch":"P","bid_date":1718395135000,"asksize":1373,"askexch":"E","ask_date":1718395169000,"open_interest":13,"contract_size":100,"expiration_date":"2024-06-28","expiration_type":"quarterlys","option_type":"call","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '196' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '4' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-10-18&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR241018P00013000","description":"PLTR + Oct 18 2024 $13.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.04,"ask":0.18,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0237051910275435,"gamma":0.006992069657666431,"theta":-0.0037813569223849788,"vega":0.00781740887098191,"rho":0.04173957363561161,"phi":-0.07939712913795915,"bid_iv":0.515042,"mid_iv":0.596817,"ask_iv":0.678593,"smv_vol":0.576,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718208073259,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1818,"bidexch":"E","bid_date":1718395168000,"asksize":2940,"askexch":"X","ask_date":1718395132000,"open_interest":1766,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00013000","description":"PLTR + Oct 18 2024 $13.00 Call","exch":"Z","type":"option","last":10.7,"change":-0.45,"volume":2,"open":10.68,"high":10.7,"low":10.68,"close":10.7,"bid":10.9,"ask":11.0,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9762948089724565,"gamma":0.006992069657666431,"theta":-0.0037813569223849788,"vega":0.00781740887098191,"rho":0.04173957363561161,"phi":-0.07939712913795915,"bid_iv":0.0,"mid_iv":0.672938,"ask_iv":0.672938,"smv_vol":0.576,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.04,"average_volume":0,"last_volume":1,"trade_date":1718379361771,"prevclose":11.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":12,"bidexch":"E","bid_date":1718395167000,"asksize":53,"askexch":"Q","ask_date":1718395135000,"open_interest":30,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00014000","description":"PLTR + Oct 18 2024 $14.00 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.08,"ask":0.17,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0377298752628303,"gamma":0.010382799493349104,"theta":-0.004695241316345629,"vega":0.011415484300981514,"rho":0.04378321259003639,"phi":-0.07825372982495082,"bid_iv":0.51624,"mid_iv":0.558364,"ask_iv":0.600487,"smv_vol":0.564,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718292292705,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1941,"bidexch":"E","bid_date":1718395168000,"asksize":2577,"askexch":"E","ask_date":1718395134000,"open_interest":2039,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00014000","description":"PLTR + Oct 18 2024 $14.00 Call","exch":"Z","type":"option","last":10.45,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.85,"ask":10.05,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9622701247371697,"gamma":0.010382799493349104,"theta":-0.004695241316345629,"vega":0.011415484300981514,"rho":0.04378321259003639,"phi":-0.07825372982495082,"bid_iv":0.51477,"mid_iv":0.565736,"ask_iv":0.616702,"smv_vol":0.564,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718211356972,"prevclose":10.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":111,"bidexch":"E","bid_date":1718395136000,"asksize":14,"askexch":"E","ask_date":1718395167000,"open_interest":126,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00015000","description":"PLTR + Oct 18 2024 $15.00 Put","exch":"Z","type":"option","last":0.2,"change":0.03,"volume":23,"open":0.2,"high":0.2,"low":0.2,"close":0.2,"bid":0.04,"ask":0.32,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0553727174412195,"gamma":0.01439228755160479,"theta":-0.005655710780089691,"vega":0.01594105237273862,"rho":0.045470577104406384,"phi":-0.0768155627639544,"bid_iv":0.542618,"mid_iv":0.549285,"ask_iv":0.555952,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":17.65,"average_volume":0,"last_volume":2,"trade_date":1718383315599,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":495,"bidexch":"E","bid_date":1718395199000,"asksize":916,"askexch":"E","ask_date":1718395199000,"open_interest":8729,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00015000","description":"PLTR + Oct 18 2024 $15.00 Call","exch":"Z","type":"option","last":8.65,"change":-1.39,"volume":19,"open":8.65,"high":8.65,"low":8.65,"close":8.65,"bid":9.05,"ask":9.15,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9446272825587805,"gamma":0.01439228755160479,"theta":-0.005655710780089691,"vega":0.01594105237273862,"rho":0.045470577104406384,"phi":-0.0768155627639544,"bid_iv":0.538342,"mid_iv":0.569138,"ask_iv":0.599935,"smv_vol":0.551,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-13.85,"average_volume":0,"last_volume":5,"trade_date":1718376185342,"prevclose":10.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":23,"bidexch":"B","bid_date":1718395132000,"asksize":31,"askexch":"Z","ask_date":1718395199000,"open_interest":1058,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00016000","description":"PLTR + Oct 18 2024 $16.00 Put","exch":"Z","type":"option","last":0.3,"change":0.05,"volume":2,"open":0.3,"high":0.3,"low":0.3,"close":0.3,"bid":0.27,"ask":0.3,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0775845322275994,"gamma":0.019081137079301928,"theta":-0.006674531558989039,"vega":0.021328392592403426,"rho":0.046703348669499434,"phi":-0.07500524089820715,"bid_iv":0.531888,"mid_iv":0.539766,"ask_iv":0.547644,"smv_vol":0.54,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.00,"average_volume":0,"last_volume":1,"trade_date":1718382624264,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":300,"bidexch":"B","bid_date":1718395198000,"asksize":302,"askexch":"B","ask_date":1718395198000,"open_interest":1451,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00016000","description":"PLTR + Oct 18 2024 $16.00 Call","exch":"Z","type":"option","last":8.24,"change":-0.43,"volume":3,"open":8.1,"high":8.24,"low":8.1,"close":8.24,"bid":8.15,"ask":8.25,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9224154677724006,"gamma":0.019081137079301928,"theta":-0.006674531558989039,"vega":0.021328392592403426,"rho":0.046703348669499434,"phi":-0.07500524089820715,"bid_iv":0.523314,"mid_iv":0.547974,"ask_iv":0.572634,"smv_vol":0.54,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.96,"average_volume":0,"last_volume":1,"trade_date":1718393694794,"prevclose":8.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":54,"bidexch":"E","bid_date":1718395135000,"asksize":8,"askexch":"E","ask_date":1718395128000,"open_interest":203,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00017000","description":"PLTR + Oct 18 2024 $17.00 Put","exch":"Z","type":"option","last":0.39,"change":-0.02,"volume":2,"open":0.42,"high":0.42,"low":0.39,"close":0.39,"bid":0.39,"ask":0.42,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.1052887617230545,"gamma":0.024401878492884065,"theta":-0.00772937521037577,"vega":0.024774869455083115,"rho":0.04737867448985187,"phi":-0.07274770694287724,"bid_iv":0.5215,"mid_iv":0.527543,"ask_iv":0.533586,"smv_vol":0.53,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.88,"average_volume":0,"last_volume":1,"trade_date":1718392072550,"prevclose":0.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":589,"bidexch":"E","bid_date":1718395169000,"asksize":201,"askexch":"E","ask_date":1718395169000,"open_interest":2987,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00017000","description":"PLTR + Oct 18 2024 $17.00 Call","exch":"Z","type":"option","last":7.07,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.25,"ask":7.5,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.8947112382769455,"gamma":0.024401878492884065,"theta":-0.00772937521037577,"vega":0.024774869455083115,"rho":0.04737867448985187,"phi":-0.07274770694287724,"bid_iv":0.518695,"mid_iv":0.528459,"ask_iv":0.538222,"smv_vol":0.53,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718308665068,"prevclose":7.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":172,"bidexch":"E","bid_date":1718395199000,"asksize":291,"askexch":"E","ask_date":1718395199000,"open_interest":2232,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00018000","description":"PLTR + Oct 18 2024 $18.00 Put","exch":"Z","type":"option","last":0.59,"change":0.00,"volume":19,"open":0.62,"high":0.62,"low":0.59,"close":0.59,"bid":0.37,"ask":0.59,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.1383525583229621,"gamma":0.03017795929493437,"theta":-0.008760416815237407,"vega":0.031094379345047073,"rho":0.04749982515498575,"phi":-0.0700539030873415,"bid_iv":0.516265,"mid_iv":0.521075,"ask_iv":0.525885,"smv_vol":0.521,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718382006172,"prevclose":0.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":983,"bidexch":"E","bid_date":1718395198000,"asksize":37,"askexch":"X","ask_date":1718395198000,"open_interest":7247,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00018000","description":"PLTR + Oct 18 2024 $18.00 Call","exch":"Z","type":"option","last":6.42,"change":0.07,"volume":10,"open":6.1,"high":6.42,"low":6.1,"close":6.42,"bid":6.45,"ask":8.5,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.8616474416770379,"gamma":0.03017795929493437,"theta":-0.008760416815237407,"vega":0.031094379345047073,"rho":0.04749982515498575,"phi":-0.0700539030873415,"bid_iv":0.500707,"mid_iv":0.517179,"ask_iv":0.533651,"smv_vol":0.521,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.11,"average_volume":0,"last_volume":9,"trade_date":1718382227216,"prevclose":6.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":540,"bidexch":"E","bid_date":1718395199000,"asksize":368,"askexch":"E","ask_date":1718395199000,"open_interest":940,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00019000","description":"PLTR + Oct 18 2024 $19.00 Put","exch":"Z","type":"option","last":0.78,"change":-0.03,"volume":27,"open":0.95,"high":0.95,"low":0.78,"close":0.78,"bid":0.57,"ask":0.87,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1770917756523384,"gamma":0.03621387559728904,"theta":-0.009745467906141482,"vega":0.03493411692938708,"rho":0.04701825075207567,"phi":-0.06689830052586387,"bid_iv":0.511732,"mid_iv":0.515985,"ask_iv":0.520239,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.71,"average_volume":0,"last_volume":10,"trade_date":1718391922528,"prevclose":0.81,"week_52_high":0.0,"week_52_low":0.0,"bidsize":15,"bidexch":"B","bid_date":1718395199000,"asksize":10,"askexch":"J","ask_date":1718395199000,"open_interest":12107,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00019000","description":"PLTR + Oct 18 2024 $19.00 Call","exch":"Z","type":"option","last":5.7,"change":-0.45,"volume":4,"open":6.1,"high":6.1,"low":5.7,"close":5.7,"bid":5.7,"ask":5.85,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8229082243476616,"gamma":0.03621387559728904,"theta":-0.009745467906141482,"vega":0.03493411692938708,"rho":0.04701825075207567,"phi":-0.06689830052586387,"bid_iv":0.501774,"mid_iv":0.51586,"ask_iv":0.529947,"smv_vol":0.516,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.32,"average_volume":0,"last_volume":1,"trade_date":1718288041526,"prevclose":6.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":391,"bidexch":"E","bid_date":1718395198000,"asksize":12,"askexch":"C","ask_date":1718395198000,"open_interest":1244,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00020000","description":"PLTR + Oct 18 2024 $20.00 Put","exch":"Z","type":"option","last":1.07,"change":0.00,"volume":11,"open":1.18,"high":1.18,"low":1.07,"close":1.07,"bid":1.06,"ask":1.25,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2218426270142851,"gamma":0.0421342399724978,"theta":-0.01063306395098255,"vega":0.04120816655339403,"rho":0.04586211636778189,"phi":-0.06325386220140672,"bid_iv":0.509066,"mid_iv":0.512684,"ask_iv":0.516302,"smv_vol":0.512,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718389987430,"prevclose":1.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"Q","bid_date":1718395089000,"asksize":658,"askexch":"E","ask_date":1718395199000,"open_interest":2659,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00020000","description":"PLTR + Oct 18 2024 $20.00 Call","exch":"Z","type":"option","last":5.03,"change":0.23,"volume":6,"open":4.77,"high":5.03,"low":4.77,"close":5.03,"bid":5.0,"ask":5.2,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7781573729857149,"gamma":0.0421342399724978,"theta":-0.01063306395098255,"vega":0.04120816655339403,"rho":0.04586211636778189,"phi":-0.06325386220140672,"bid_iv":0.501259,"mid_iv":0.507328,"ask_iv":0.513397,"smv_vol":0.512,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.80,"average_volume":0,"last_volume":2,"trade_date":1718394756482,"prevclose":4.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"M","bid_date":1718395199000,"asksize":20,"askexch":"Q","ask_date":1718395198000,"open_interest":3115,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00021000","description":"PLTR + Oct 18 2024 $21.00 Put","exch":"Z","type":"option","last":1.43,"change":0.00,"volume":1,"open":1.43,"high":1.43,"low":1.43,"close":1.43,"bid":1.39,"ask":1.43,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2715132054582509,"gamma":0.04759903583256536,"theta":-0.011403151364982909,"vega":0.04667010067103325,"rho":0.04411624522470601,"phi":-0.05920967147687861,"bid_iv":0.505461,"mid_iv":0.50972,"ask_iv":0.513979,"smv_vol":0.509,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718388076757,"prevclose":1.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":5,"bidexch":"T","bid_date":1718395131000,"asksize":371,"askexch":"E","ask_date":1718395167000,"open_interest":4243,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00021000","description":"PLTR + Oct 18 2024 $21.00 Call","exch":"Z","type":"option","last":4.49,"change":0.34,"volume":59,"open":4.13,"high":4.49,"low":4.13,"close":4.49,"bid":4.35,"ask":4.6,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7284867945417491,"gamma":0.04759903583256536,"theta":-0.011403151364982909,"vega":0.04667010067103325,"rho":0.04411624522470601,"phi":-0.05920967147687861,"bid_iv":0.499447,"mid_iv":0.51016,"ask_iv":0.520874,"smv_vol":0.509,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.20,"average_volume":0,"last_volume":4,"trade_date":1718391748961,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":124,"bidexch":"E","bid_date":1718395198000,"asksize":479,"askexch":"E","ask_date":1718395198000,"open_interest":2391,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00022000","description":"PLTR + Oct 18 2024 $22.00 Put","exch":"Z","type":"option","last":1.79,"change":-0.06,"volume":122,"open":2.0,"high":2.0,"low":1.78,"close":1.79,"bid":1.58,"ask":2.02,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3252589635493874,"gamma":0.05211677237451383,"theta":-0.011996475510514313,"vega":0.04974846636490193,"rho":0.04180920806825452,"phi":-0.05483480971069099,"bid_iv":0.503865,"mid_iv":0.507866,"ask_iv":0.511867,"smv_vol":0.508,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.25,"average_volume":0,"last_volume":4,"trade_date":1718393750302,"prevclose":1.85,"week_52_high":0.0,"week_52_low":0.0,"bidsize":471,"bidexch":"E","bid_date":1718395199000,"asksize":1899,"askexch":"E","ask_date":1718395199000,"open_interest":2664,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00022000","description":"PLTR + Oct 18 2024 $22.00 Call","exch":"Z","type":"option","last":3.86,"change":0.23,"volume":61,"open":3.45,"high":3.86,"low":3.45,"close":3.86,"bid":3.75,"ask":3.85,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6747410364506126,"gamma":0.05211677237451383,"theta":-0.011996475510514313,"vega":0.04974846636490193,"rho":0.04180920806825452,"phi":-0.05483480971069099,"bid_iv":0.495222,"mid_iv":0.505275,"ask_iv":0.515328,"smv_vol":0.508,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.34,"average_volume":0,"last_volume":6,"trade_date":1718393639358,"prevclose":3.63,"week_52_high":0.0,"week_52_low":0.0,"bidsize":618,"bidexch":"E","bid_date":1718395199000,"asksize":535,"askexch":"E","ask_date":1718395167000,"open_interest":1216,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018C00023000","description":"PLTR + Oct 18 2024 $23.00 Call","exch":"Z","type":"option","last":3.3,"change":0.25,"volume":45,"open":2.8,"high":3.3,"low":2.8,"close":3.3,"bid":3.25,"ask":3.3,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6188004376519309,"gamma":0.055456203635708134,"theta":-0.012402875200116004,"vega":0.052971912922704305,"rho":0.03910169090829462,"phi":-0.050282399151058144,"bid_iv":0.499669,"mid_iv":0.50439,"ask_iv":0.509112,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.20,"average_volume":0,"last_volume":1,"trade_date":1718391258419,"prevclose":3.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":57,"bidexch":"D","bid_date":1718395168000,"asksize":90,"askexch":"E","ask_date":1718395168000,"open_interest":1742,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00023000","description":"PLTR + Oct 18 2024 $23.00 Put","exch":"Z","type":"option","last":2.27,"change":-0.06,"volume":20,"open":2.4,"high":2.4,"low":2.23,"close":2.27,"bid":2.27,"ask":2.29,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3811995623480691,"gamma":0.055456203635708134,"theta":-0.012402875200116004,"vega":0.052971912922704305,"rho":0.03910169090829462,"phi":-0.050282399151058144,"bid_iv":0.506324,"mid_iv":0.509152,"ask_iv":0.51198,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.58,"average_volume":0,"last_volume":2,"trade_date":1718395119275,"prevclose":2.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"P","bid_date":1718395198000,"asksize":118,"askexch":"E","ask_date":1718395133000,"open_interest":4624,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018P00024000","description":"PLTR + Oct 18 2024 $24.00 Put","exch":"Z","type":"option","last":2.9,"change":0.12,"volume":16,"open":2.97,"high":2.97,"low":2.89,"close":2.9,"bid":2.79,"ask":2.82,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.4376235109495237,"gamma":0.057396209206910014,"theta":-0.012593639099743266,"vega":0.054683175620046445,"rho":0.03612251094555544,"phi":-0.045691817431858794,"bid_iv":0.504901,"mid_iv":0.508566,"ask_iv":0.51223,"smv_vol":0.506,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.32,"average_volume":0,"last_volume":8,"trade_date":1718380994293,"prevclose":2.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":27,"bidexch":"D","bid_date":1718395168000,"asksize":5,"askexch":"T","ask_date":1718395170000,"open_interest":2810,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00024000","description":"PLTR + Oct 18 2024 $24.00 Call","exch":"Z","type":"option","last":2.85,"change":0.26,"volume":822,"open":2.5,"high":2.85,"low":2.5,"close":2.85,"bid":2.81,"ask":2.83,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.5623764890504763,"gamma":0.057396209206910014,"theta":-0.012593639099743266,"vega":0.054683175620046445,"rho":0.03612251094555544,"phi":-0.045691817431858794,"bid_iv":0.50197,"mid_iv":0.504714,"ask_iv":0.507459,"smv_vol":0.506,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.04,"average_volume":0,"last_volume":50,"trade_date":1718393681019,"prevclose":2.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":14,"bidexch":"N","bid_date":1718395199000,"asksize":265,"askexch":"N","ask_date":1718395199000,"open_interest":3621,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00025000","description":"PLTR + Oct 18 2024 $25.00 Put","exch":"Z","type":"option","last":3.63,"change":0.13,"volume":2,"open":3.63,"high":3.63,"low":3.63,"close":3.63,"bid":3.35,"ask":3.45,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.492983449204602,"gamma":0.05808829504459244,"theta":-0.012598443112227941,"vega":0.05472533355661687,"rho":0.03303120036365685,"phi":-0.04118878776271373,"bid_iv":0.501055,"mid_iv":0.505634,"ask_iv":0.510213,"smv_vol":0.506,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.72,"average_volume":0,"last_volume":2,"trade_date":1718372684848,"prevclose":3.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"Q","bid_date":1718395199000,"asksize":10,"askexch":"J","ask_date":1718395198000,"open_interest":1221,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00025000","description":"PLTR + Oct 18 2024 $25.00 Call","exch":"Z","type":"option","last":2.42,"change":0.17,"volume":321,"open":2.11,"high":2.45,"low":2.11,"close":2.42,"bid":2.39,"ask":2.42,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.507016550795398,"gamma":0.05808829504459244,"theta":-0.012598443112227941,"vega":0.05472533355661687,"rho":0.03303120036365685,"phi":-0.04118878776271373,"bid_iv":0.502337,"mid_iv":0.505042,"ask_iv":0.507748,"smv_vol":0.506,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.56,"average_volume":0,"last_volume":2,"trade_date":1718392551581,"prevclose":2.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":108,"bidexch":"B","bid_date":1718395198000,"asksize":184,"askexch":"E","ask_date":1718395168000,"open_interest":6074,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00026000","description":"PLTR + Oct 18 2024 $26.00 Put","exch":"Z","type":"option","last":4.1,"change":0.50,"volume":2,"open":4.1,"high":4.1,"low":4.1,"close":4.1,"bid":3.95,"ask":4.05,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.5457082580987378,"gamma":0.057481372327819094,"theta":-0.012395443611939304,"vega":0.05469454948502667,"rho":0.029942491056006392,"phi":-0.03690113095089487,"bid_iv":0.503045,"mid_iv":0.507688,"ask_iv":0.512331,"smv_vol":0.505,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.89,"average_volume":0,"last_volume":2,"trade_date":1718382006173,"prevclose":3.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"T","bid_date":1718395199000,"asksize":82,"askexch":"E","ask_date":1718395168000,"open_interest":115,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00026000","description":"PLTR + Oct 18 2024 $26.00 Call","exch":"Z","type":"option","last":2.02,"change":0.12,"volume":68,"open":1.9,"high":2.02,"low":1.79,"close":2.02,"bid":2.03,"ask":2.08,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.45429174190126215,"gamma":0.057481372327819094,"theta":-0.012395443611939304,"vega":0.05469454948502667,"rho":0.029942491056006392,"phi":-0.03690113095089487,"bid_iv":0.501458,"mid_iv":0.503289,"ask_iv":0.505121,"smv_vol":0.505,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.32,"average_volume":0,"last_volume":1,"trade_date":1718390772376,"prevclose":1.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":82,"bidexch":"D","bid_date":1718395198000,"asksize":92,"askexch":"B","ask_date":1718395198000,"open_interest":3241,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00027000","description":"PLTR + Oct 18 2024 $27.00 Put","exch":"Z","type":"option","last":4.27,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.65,"ask":4.75,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.5953639186683002,"gamma":0.055979462887680326,"theta":-0.01204559267172005,"vega":0.05405874824774065,"rho":0.02694495253752831,"phi":-0.0328638211288812,"bid_iv":0.496175,"mid_iv":0.505697,"ask_iv":0.515218,"smv_vol":0.506,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718200037053,"prevclose":4.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":97,"bidexch":"B","bid_date":1718395198000,"asksize":608,"askexch":"E","ask_date":1718395167000,"open_interest":298,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00027000","description":"PLTR + Oct 18 2024 $27.00 Call","exch":"Z","type":"option","last":1.72,"change":0.09,"volume":6,"open":1.45,"high":1.74,"low":1.45,"close":1.72,"bid":1.51,"ask":1.9,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.40463608133169987,"gamma":0.055979462887680326,"theta":-0.01204559267172005,"vega":0.05405874824774065,"rho":0.02694495253752831,"phi":-0.0328638211288812,"bid_iv":0.499949,"mid_iv":0.502727,"ask_iv":0.505505,"smv_vol":0.506,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.53,"average_volume":0,"last_volume":1,"trade_date":1718394587825,"prevclose":1.63,"week_52_high":0.0,"week_52_low":0.0,"bidsize":486,"bidexch":"E","bid_date":1718395199000,"asksize":733,"askexch":"E","ask_date":1718395199000,"open_interest":2702,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00028000","description":"PLTR + Oct 18 2024 $28.00 Put","exch":"Z","type":"option","last":6.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.4,"ask":5.5,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.641560782373929,"gamma":0.053772339382811576,"theta":-0.011560462150751879,"vega":0.05284062368448152,"rho":0.024088519420388407,"phi":-0.029108389134613333,"bid_iv":0.499628,"mid_iv":0.50955,"ask_iv":0.519473,"smv_vol":0.504,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":59,"trade_date":1718026343343,"prevclose":6.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":32,"bidexch":"B","bid_date":1718395199000,"asksize":316,"askexch":"E","ask_date":1718395198000,"open_interest":247,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00028000","description":"PLTR + Oct 18 2024 $28.00 Call","exch":"Z","type":"option","last":1.25,"change":-0.11,"volume":2,"open":1.19,"high":1.25,"low":1.19,"close":1.25,"bid":1.43,"ask":1.66,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.35843921762607095,"gamma":0.053772339382811576,"theta":-0.011560462150751879,"vega":0.05284062368448152,"rho":0.024088519420388407,"phi":-0.029108389134613333,"bid_iv":0.498133,"mid_iv":0.509525,"ask_iv":0.520917,"smv_vol":0.504,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.09,"average_volume":0,"last_volume":1,"trade_date":1718372752291,"prevclose":1.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":849,"bidexch":"E","bid_date":1718395169000,"asksize":1182,"askexch":"E","ask_date":1718395199000,"open_interest":2195,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00029000","description":"PLTR + Oct 18 2024 $29.00 Put","exch":"Z","type":"option","last":6.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.15,"ask":6.25,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.6838341748137197,"gamma":0.05101243036828729,"theta":-0.010983117831655705,"vega":0.047650177380940545,"rho":0.02141971440419638,"phi":-0.025672506929197425,"bid_iv":0.452112,"mid_iv":0.484073,"ask_iv":0.516034,"smv_vol":0.504,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718287917968,"prevclose":6.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":327,"bidexch":"E","bid_date":1718395168000,"asksize":203,"askexch":"E","ask_date":1718395168000,"open_interest":139,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00029000","description":"PLTR + Oct 18 2024 $29.00 Call","exch":"Z","type":"option","last":1.15,"change":0.01,"volume":4,"open":1.03,"high":1.15,"low":1.03,"close":1.15,"bid":1.2,"ask":1.42,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.31616582518628034,"gamma":0.05101243036828729,"theta":-0.010983117831655705,"vega":0.047650177380940545,"rho":0.02141971440419638,"phi":-0.025672506929197425,"bid_iv":0.498157,"mid_iv":0.502299,"ask_iv":0.50644,"smv_vol":0.504,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.88,"average_volume":0,"last_volume":2,"trade_date":1718377172657,"prevclose":1.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":563,"bidexch":"E","bid_date":1718395168000,"asksize":1,"askexch":"Q","ask_date":1718395198000,"open_interest":687,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00030000","description":"PLTR + Oct 18 2024 $30.00 Put","exch":"Z","type":"option","last":6.5,"change":-1.55,"volume":1,"open":6.5,"high":6.5,"low":6.5,"close":6.5,"bid":6.95,"ask":7.1,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7222417732903714,"gamma":0.047881593399834575,"theta":-0.010317011283178615,"vega":0.0451222482057119,"rho":0.01895348186964343,"phi":-0.022551334371012643,"bid_iv":0.490418,"mid_iv":0.508287,"ask_iv":0.526156,"smv_vol":0.504,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-19.26,"average_volume":0,"last_volume":1,"trade_date":1718199259918,"prevclose":8.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":34,"bidexch":"X","bid_date":1718395198000,"asksize":449,"askexch":"E","ask_date":1718395198000,"open_interest":205,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00030000","description":"PLTR + Oct 18 2024 $30.00 Call","exch":"Z","type":"option","last":1.02,"change":0.06,"volume":182,"open":0.85,"high":1.05,"low":0.85,"close":1.02,"bid":1.01,"ask":1.05,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.27775822670962863,"gamma":0.047881593399834575,"theta":-0.010317011283178615,"vega":0.0451222482057119,"rho":0.01895348186964343,"phi":-0.022551334371012643,"bid_iv":0.499477,"mid_iv":0.503908,"ask_iv":0.508339,"smv_vol":0.504,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.25,"average_volume":0,"last_volume":3,"trade_date":1718394784470,"prevclose":0.96,"week_52_high":0.0,"week_52_low":0.0,"bidsize":437,"bidexch":"E","bid_date":1718395168000,"asksize":279,"askexch":"B","ask_date":1718395131000,"open_interest":4522,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00031000","description":"PLTR + Oct 18 2024 $31.00 Put","exch":"Z","type":"option","last":7.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.6,"ask":7.95,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.7569555457626193,"gamma":0.04453864091100757,"theta":-0.009599982771286807,"vega":0.04225593643680461,"rho":0.016693689369044053,"phi":-0.019730755567159974,"bid_iv":0.502022,"mid_iv":0.515576,"ask_iv":0.529129,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718127434211,"prevclose":7.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":321,"bidexch":"E","bid_date":1718395198000,"asksize":172,"askexch":"E","ask_date":1718395198000,"open_interest":1238,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00031000","description":"PLTR + Oct 18 2024 $31.00 Call","exch":"Z","type":"option","last":0.87,"change":0.05,"volume":19,"open":0.86,"high":0.87,"low":0.86,"close":0.87,"bid":0.85,"ask":1.12,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.24304445423738072,"gamma":0.04453864091100757,"theta":-0.009599982771286807,"vega":0.04225593643680461,"rho":0.016693689369044053,"phi":-0.019730755567159974,"bid_iv":0.501014,"mid_iv":0.505746,"ask_iv":0.510478,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.10,"average_volume":0,"last_volume":1,"trade_date":1718392575190,"prevclose":0.82,"week_52_high":0.0,"week_52_low":0.0,"bidsize":403,"bidexch":"E","bid_date":1718395170000,"asksize":752,"askexch":"E","ask_date":1718395199000,"open_interest":206,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00032000","description":"PLTR + Oct 18 2024 $32.00 Put","exch":"Z","type":"option","last":9.1,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.65,"ask":8.8,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.7882088885623864,"gamma":0.04109457041780192,"theta":-0.008863942355152197,"vega":0.039163505118565374,"rho":0.014635125702479365,"phi":-0.017191700262264575,"bid_iv":0.492933,"mid_iv":0.509869,"ask_iv":0.526805,"smv_vol":0.509,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1710337650889,"prevclose":9.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":76,"bidexch":"E","bid_date":1718395198000,"asksize":26,"askexch":"B","ask_date":1718395198000,"open_interest":203,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00032000","description":"PLTR + Oct 18 2024 $32.00 Call","exch":"Z","type":"option","last":0.7,"change":0.04,"volume":2,"open":0.7,"high":0.7,"low":0.7,"close":0.7,"bid":0.71,"ask":0.76,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.21179111143761364,"gamma":0.04109457041780192,"theta":-0.008863942355152197,"vega":0.039163505118565374,"rho":0.014635125702479365,"phi":-0.017191700262264575,"bid_iv":0.501751,"mid_iv":0.508078,"ask_iv":0.514404,"smv_vol":0.509,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.07,"average_volume":0,"last_volume":2,"trade_date":1718383180736,"prevclose":0.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":418,"bidexch":"D","bid_date":1718395168000,"asksize":437,"askexch":"A","ask_date":1718395170000,"open_interest":2165,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00033000","description":"PLTR + Oct 18 2024 $33.00 Put","exch":"Z","type":"option","last":9.07,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.55,"ask":9.8,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.8162876395525436,"gamma":0.03763452453365592,"theta":-0.008106256799858921,"vega":0.035893204882966906,"rho":0.012767017097376232,"phi":-0.014910848700200319,"bid_iv":0.487587,"mid_iv":0.510242,"ask_iv":0.532897,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715024893848,"prevclose":9.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":697,"bidexch":"E","bid_date":1718395134000,"asksize":55,"askexch":"X","ask_date":1718395199000,"open_interest":39,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00033000","description":"PLTR + Oct 18 2024 $33.00 Call","exch":"Z","type":"option","last":0.62,"change":0.03,"volume":7,"open":0.56,"high":0.62,"low":0.56,"close":0.62,"bid":0.6,"ask":0.65,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.18371236044745637,"gamma":0.03763452453365592,"theta":-0.008106256799858921,"vega":0.035893204882966906,"rho":0.012767017097376232,"phi":-0.014910848700200319,"bid_iv":0.504287,"mid_iv":0.511259,"ask_iv":0.51823,"smv_vol":0.507,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.09,"average_volume":0,"last_volume":2,"trade_date":1718387517339,"prevclose":0.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":231,"bidexch":"B","bid_date":1718395199000,"asksize":1,"askexch":"X","ask_date":1718395198000,"open_interest":2327,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00034000","description":"PLTR + Oct 18 2024 $34.00 Put","exch":"Z","type":"option","last":13.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.25,"ask":10.65,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.8409139774020202,"gamma":0.03423614931814416,"theta":-0.0073854652417016395,"vega":0.032563459721915884,"rho":0.011111273338899942,"phi":-0.012910734400461976,"bid_iv":0.493615,"mid_iv":0.519073,"ask_iv":0.54453,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715362110902,"prevclose":13.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":333,"bidexch":"E","bid_date":1718395198000,"asksize":43,"askexch":"X","ask_date":1718395199000,"open_interest":7,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00034000","description":"PLTR + Oct 18 2024 $34.00 Call","exch":"Z","type":"option","last":0.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.35,"ask":0.56,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.15908602259797977,"gamma":0.03423614931814416,"theta":-0.0073854652417016395,"vega":0.032563459721915884,"rho":0.011111273338899942,"phi":-0.012910734400461976,"bid_iv":0.455942,"mid_iv":0.487937,"ask_iv":0.519932,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718123499947,"prevclose":0.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3691,"bidexch":"X","bid_date":1718395167000,"asksize":1266,"askexch":"E","ask_date":1718395135000,"open_interest":1106,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00035000","description":"PLTR + Oct 18 2024 $35.00 Put","exch":"Z","type":"option","last":12.4,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.45,"ask":11.85,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.8630838196566781,"gamma":0.03093415457207386,"theta":-0.0066565661306650465,"vega":0.02920703268684568,"rho":0.00961012147130716,"phi":-0.011110330401242763,"bid_iv":0.464699,"mid_iv":0.533243,"ask_iv":0.601788,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714745466427,"prevclose":12.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":7,"bidexch":"C","bid_date":1718395168000,"asksize":124,"askexch":"N","ask_date":1718395199000,"open_interest":1,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00035000","description":"PLTR + Oct 18 2024 $35.00 Call","exch":"Z","type":"option","last":0.45,"change":0.05,"volume":7,"open":0.41,"high":0.45,"low":0.41,"close":0.45,"bid":0.43,"ask":0.46,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.13691618034332184,"gamma":0.03093415457207386,"theta":-0.0066565661306650465,"vega":0.02920703268684568,"rho":0.00961012147130716,"phi":-0.011110330401242763,"bid_iv":0.510136,"mid_iv":0.515275,"ask_iv":0.520415,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":12.50,"average_volume":0,"last_volume":1,"trade_date":1718394940088,"prevclose":0.4,"week_52_high":0.0,"week_52_low":0.0,"bidsize":41,"bidexch":"X","bid_date":1718395198000,"asksize":1,"askexch":"Q","ask_date":1718394950000,"open_interest":1731,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018C00036000","description":"PLTR + Oct 18 2024 $36.00 Call","exch":"Z","type":"option","last":0.34,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.33,"ask":0.42,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.1176279878679683,"gamma":0.027792769581510668,"theta":-0.005981605532834967,"vega":0.02594421854141019,"rho":0.008292926692303705,"phi":-0.009544162347108198,"bid_iv":0.482308,"mid_iv":0.5137,"ask_iv":0.545092,"smv_vol":0.52,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718026820284,"prevclose":0.34,"week_52_high":0.0,"week_52_low":0.0,"bidsize":702,"bidexch":"C","bid_date":1718395198000,"asksize":196,"askexch":"E","ask_date":1718395199000,"open_interest":238,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00036000","description":"PLTR + Oct 18 2024 $36.00 Put","exch":"Z","type":"option","last":13.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.4,"ask":12.55,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.8823720121320316,"gamma":0.027792769581510668,"theta":-0.005981605532834967,"vega":0.02594421854141019,"rho":0.008292926692303705,"phi":-0.009544162347108198,"bid_iv":0.0,"mid_iv":0.558345,"ask_iv":0.558345,"smv_vol":0.52,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1714763377783,"prevclose":13.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":41,"bidexch":"Q","bid_date":1718395099000,"asksize":22,"askexch":"E","ask_date":1718395127000,"open_interest":0,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018P00037000","description":"PLTR + Oct 18 2024 $37.00 Put","exch":"Z","type":"option","last":14.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.2,"ask":13.7,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.8991579781164645,"gamma":0.024846719381258126,"theta":-0.005345802500631824,"vega":0.0227678582004806,"rho":0.00713853791776518,"phi":-0.008181344114954747,"bid_iv":0.0,"mid_iv":0.647367,"ask_iv":0.647367,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714745330242,"prevclose":14.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"E","bid_date":1718395170000,"asksize":104,"askexch":"Q","ask_date":1718395199000,"open_interest":5,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00037000","description":"PLTR + Oct 18 2024 $37.00 Call","exch":"Z","type":"option","last":0.3,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.31,"ask":0.35,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.1008420218835355,"gamma":0.024846719381258126,"theta":-0.005345802500631824,"vega":0.0227678582004806,"rho":0.00713853791776518,"phi":-0.008181344114954747,"bid_iv":0.516308,"mid_iv":0.523616,"ask_iv":0.530924,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718293836275,"prevclose":0.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":314,"bidexch":"E","bid_date":1718395168000,"asksize":66,"askexch":"E","ask_date":1718395199000,"open_interest":320,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00038000","description":"PLTR + Oct 18 2024 $38.00 Put","exch":"Z","type":"option","last":13.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.35,"ask":14.5,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9130710809424456,"gamma":0.022178620541474254,"theta":-0.004786732799186829,"vega":0.023208036194851404,"rho":0.006173673278238661,"phi":-0.007051951464442929,"bid_iv":0.0,"mid_iv":0.582291,"ask_iv":0.582291,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1715005375413,"prevclose":13.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"N","bid_date":1718395098000,"asksize":14,"askexch":"E","ask_date":1718395169000,"open_interest":0,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00038000","description":"PLTR + Oct 18 2024 $38.00 Call","exch":"Z","type":"option","last":0.27,"change":0.01,"volume":1,"open":0.27,"high":0.27,"low":0.27,"close":0.27,"bid":0.26,"ask":0.46,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.08692891905755437,"gamma":0.022178620541474254,"theta":-0.004786732799186829,"vega":0.023208036194851404,"rho":0.006173673278238661,"phi":-0.007051951464442929,"bid_iv":0.514964,"mid_iv":0.559199,"ask_iv":0.603435,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.85,"average_volume":0,"last_volume":1,"trade_date":1718393099020,"prevclose":0.26,"week_52_high":0.0,"week_52_low":0.0,"bidsize":405,"bidexch":"E","bid_date":1718395199000,"asksize":1085,"askexch":"E","ask_date":1718395199000,"open_interest":2973,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR241018P00040000","description":"PLTR + Oct 18 2024 $40.00 Put","exch":"Z","type":"option","last":15.0,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.35,"ask":16.6,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9359484918360119,"gamma":0.017470303266095333,"theta":-0.0037877503318575517,"vega":0.0173039403594249,"rho":0.004577055895874534,"phi":-0.005195144504865912,"bid_iv":0.0,"mid_iv":0.684312,"ask_iv":0.684312,"smv_vol":0.54,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1715025567760,"prevclose":15.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":110,"bidexch":"N","bid_date":1718395170000,"asksize":10,"askexch":"E","ask_date":1718395136000,"open_interest":0,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR241018C00040000","description":"PLTR + Oct 18 2024 $40.00 Call","exch":"Z","type":"option","last":0.2,"change":0.01,"volume":23,"open":0.15,"high":0.21,"low":0.15,"close":0.2,"bid":0.19,"ask":0.22,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.0640515081639881,"gamma":0.017470303266095333,"theta":-0.0037877503318575517,"vega":0.0173039403594249,"rho":0.004577055895874534,"phi":-0.005195144504865912,"bid_iv":0.52328,"mid_iv":0.531349,"ask_iv":0.539419,"smv_vol":0.54,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.27,"average_volume":0,"last_volume":1,"trade_date":1718394529945,"prevclose":0.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":406,"bidexch":"E","bid_date":1718395169000,"asksize":3,"askexch":"E","ask_date":1718394667000,"open_interest":2575,"contract_size":100,"expiration_date":"2024-10-18","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT Transfer-Encoding: - chunked X-Ratelimit-Allowed: @@ -2995,10 +2026,342 @@ interactions: X-Ratelimit-Available: - '197' X-Ratelimit-Expiry: - - '1710002820000' + - '1718413140000' X-Ratelimit-Used: - '3' status: code: 200 message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-07-12&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR240712P00015000","description":"PLTR + Jul 12 2024 $15.00 Put","exch":"Z","type":"option","last":0.29,"change":0.26,"volume":1,"open":0.29,"high":0.29,"low":0.29,"close":0.29,"bid":0.0,"ask":0.1,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-1.41554865738E-4,"gamma":1.804610042274214E-4,"theta":-0.0031558210900282644,"vega":6.284202713962446E-5,"rho":0.011437065732465257,"phi":-0.018071214320514173,"bid_iv":0.0,"mid_iv":0.989043,"ask_iv":0.989043,"smv_vol":0.538,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":866.67,"average_volume":0,"last_volume":1,"trade_date":1718371803241,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"W","bid_date":1718392824000,"asksize":122,"askexch":"E","ask_date":1718395132000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00015000","description":"PLTR + Jul 12 2024 $15.00 Call","exch":"Z","type":"option","last":9.21,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.6,"ask":8.85,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.999858445134262,"gamma":1.804610042274214E-4,"theta":-0.0031558210900282644,"vega":6.284202713962446E-5,"rho":0.011437065732465257,"phi":-0.018071214320514173,"bid_iv":0.0,"mid_iv":1.153874,"ask_iv":1.153874,"smv_vol":0.538,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718205678942,"prevclose":9.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395167000,"asksize":20,"askexch":"X","ask_date":1718395168000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00016000","description":"PLTR + Jul 12 2024 $16.00 Put","exch":"Z","type":"option","last":0.04,"change":0.03,"volume":1,"open":0.04,"high":0.04,"low":0.04,"close":0.04,"bid":0.0,"ask":0.04,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0011239741900296,"gamma":0.0012086681629357927,"theta":-0.0035393722365506973,"vega":2.5362726453269466E-4,"rho":0.01218106287008951,"phi":-0.01805327305426374,"bid_iv":0.0,"mid_iv":0.736137,"ask_iv":0.736137,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":300.00,"average_volume":0,"last_volume":1,"trade_date":1718385827966,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718393697000,"asksize":43,"askexch":"E","ask_date":1718395094000,"open_interest":16,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00016000","description":"PLTR + Jul 12 2024 $16.00 Call","exch":"Z","type":"option","last":7.56,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.55,"ask":7.75,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9988760258099704,"gamma":0.0012086681629357927,"theta":-0.0035393722365506973,"vega":2.5362726453269466E-4,"rho":0.01218106287008951,"phi":-0.01805327305426374,"bid_iv":0.0,"mid_iv":0.864071,"ask_iv":0.864071,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":4,"trade_date":1717772240410,"prevclose":7.56,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"N","bid_date":1718395136000,"asksize":1,"askexch":"N","ask_date":1718395136000,"open_interest":4,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00016500","description":"PLTR + Jul 12 2024 $16.50 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.1,"ask":7.3,"underlying":"PLTR","strike":16.5,"greeks":{"delta":0.9978474111881054,"gamma":0.0022158698379448555,"theta":-0.0038033747491514535,"vega":4.4768660511597077E-4,"rho":0.01254282855425896,"phi":-0.018034500168795375,"bid_iv":0.0,"mid_iv":0.879381,"ask_iv":0.879381,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":58,"bidexch":"N","bid_date":1718395130000,"asksize":120,"askexch":"N","ask_date":1718395130000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00016500","description":"PLTR + Jul 12 2024 $16.50 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.06,"underlying":"PLTR","strike":16.5,"greeks":{"delta":-0.0021525888118946,"gamma":0.0022158698379448555,"theta":-0.0038033747491514535,"vega":4.4768660511597077E-4,"rho":0.01254282855425896,"phi":-0.018034500168795375,"bid_iv":0.0,"mid_iv":0.735229,"ask_iv":0.735229,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"P","bid_date":1718393697000,"asksize":82,"askexch":"E","ask_date":1718395131000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00017000","description":"PLTR + Jul 12 2024 $17.00 Call","exch":"Z","type":"option","last":6.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.6,"ask":6.75,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9952822176503089,"gamma":0.004441594099932214,"theta":-0.004288715311807768,"vega":9.952024173340073E-4,"rho":0.012875214706456427,"phi":-0.01798773481276328,"bid_iv":0.0,"mid_iv":0.74171,"ask_iv":0.74171,"smv_vol":0.528,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718135944290,"prevclose":6.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"C","bid_date":1718395092000,"asksize":55,"askexch":"N","ask_date":1718395128000,"open_interest":4,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00017000","description":"PLTR + Jul 12 2024 $17.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":100,"open":0.04,"high":0.04,"low":0.02,"close":0.02,"bid":0.01,"ask":0.09,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0047177823496911,"gamma":0.004441594099932214,"theta":-0.004288715311807768,"vega":9.952024173340073E-4,"rho":0.012875214706456427,"phi":-0.01798773481276328,"bid_iv":0.519583,"mid_iv":0.630021,"ask_iv":0.74046,"smv_vol":0.528,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718375216584,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":157,"bidexch":"D","bid_date":1718395132000,"asksize":231,"askexch":"E","ask_date":1718395198000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00017500","description":"PLTR + Jul 12 2024 $17.50 Call","exch":"Z","type":"option","last":6.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.1,"ask":6.4,"underlying":"PLTR","strike":17.5,"greeks":{"delta":0.9907918474074702,"gamma":0.007965191747886667,"theta":-0.004999733128786102,"vega":0.0016284228032678405,"rho":0.013170604287843604,"phi":-0.017905939335705057,"bid_iv":0.0,"mid_iv":0.866431,"ask_iv":0.866431,"smv_vol":0.52,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717779175029,"prevclose":6.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":46,"bidexch":"Q","bid_date":1718395090000,"asksize":101,"askexch":"Z","ask_date":1718395090000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00017500","description":"PLTR + Jul 12 2024 $17.50 Put","exch":"Z","type":"option","last":0.06,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":17.5,"greeks":{"delta":-0.0092081525925298,"gamma":0.007965191747886667,"theta":-0.004999733128786102,"vega":0.0016284228032678405,"rho":0.013170604287843604,"phi":-0.017905939335705057,"bid_iv":0.47875,"mid_iv":0.545222,"ask_iv":0.611694,"smv_vol":0.52,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":30,"trade_date":1717528476764,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":40,"bidexch":"C","bid_date":1718395199000,"asksize":2082,"askexch":"E","ask_date":1718395199000,"open_interest":13,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00018000","description":"PLTR + Jul 12 2024 $18.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.07,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.0154317024305392,"gamma":0.012562645141780758,"theta":-0.005845328517888165,"vega":0.002555405987278081,"rho":0.013432594965308646,"phi":-0.017792624946721958,"bid_iv":0.439769,"mid_iv":0.520957,"ask_iv":0.602145,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718306813988,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":46,"bidexch":"H","bid_date":1718395198000,"asksize":2302,"askexch":"E","ask_date":1718395197000,"open_interest":104,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00018000","description":"PLTR + Jul 12 2024 $18.00 Call","exch":"Z","type":"option","last":5.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.5,"ask":5.85,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.9845682975694608,"gamma":0.012562645141780758,"theta":-0.005845328517888165,"vega":0.002555405987278081,"rho":0.013432594965308646,"phi":-0.017792624946721958,"bid_iv":0.0,"mid_iv":0.625449,"ask_iv":0.625449,"smv_vol":0.511,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718288486255,"prevclose":5.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":106,"bidexch":"N","bid_date":1718395129000,"asksize":120,"askexch":"N","ask_date":1718395129000,"open_interest":6,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00018500","description":"PLTR + Jul 12 2024 $18.50 Call","exch":"Z","type":"option","last":4.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.0,"ask":5.3,"underlying":"PLTR","strike":18.5,"greeks":{"delta":0.9756920882842506,"gamma":0.01870910738413904,"theta":-0.006888198766408145,"vega":0.0038505348147895736,"rho":0.013643373878835742,"phi":-0.017631087221303687,"bid_iv":0.0,"mid_iv":0.569875,"ask_iv":0.569875,"smv_vol":0.478,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717604215326,"prevclose":4.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":112,"bidexch":"N","bid_date":1718395198000,"asksize":1,"askexch":"T","ask_date":1718395198000,"open_interest":7,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00018500","description":"PLTR + Jul 12 2024 $18.50 Put","exch":"Z","type":"option","last":0.02,"change":-0.01,"volume":1,"open":0.02,"high":0.02,"low":0.02,"close":0.02,"bid":0.02,"ask":0.08,"underlying":"PLTR","strike":18.5,"greeks":{"delta":-0.0243079117157494,"gamma":0.01870910738413904,"theta":-0.006888198766408145,"vega":0.0038505348147895736,"rho":0.013643373878835742,"phi":-0.017631087221303687,"bid_iv":0.442154,"mid_iv":0.504772,"ask_iv":0.56739,"smv_vol":0.478,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-33.34,"average_volume":0,"last_volume":1,"trade_date":1718386159779,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"H","bid_date":1718395198000,"asksize":2384,"askexch":"E","ask_date":1718395198000,"open_interest":55,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00019000","description":"PLTR + Jul 12 2024 $19.00 Put","exch":"Z","type":"option","last":0.08,"change":0.01,"volume":2,"open":0.08,"high":0.08,"low":0.08,"close":0.08,"bid":0.02,"ask":0.06,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.0389360806314121,"gamma":0.027580451914228865,"theta":-0.008428907318202984,"vega":0.005584886681947653,"rho":0.013742292684182257,"phi":-0.017365097431110144,"bid_iv":0.400642,"mid_iv":0.444109,"ask_iv":0.487576,"smv_vol":0.457,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.29,"average_volume":0,"last_volume":2,"trade_date":1718372677240,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2160,"bidexch":"E","bid_date":1718395133000,"asksize":2205,"askexch":"E","ask_date":1718395128000,"open_interest":330,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00019000","description":"PLTR + Jul 12 2024 $19.00 Call","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.6,"ask":4.8,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.9610639193685879,"gamma":0.027580451914228865,"theta":-0.008428907318202984,"vega":0.005584886681947653,"rho":0.013742292684182257,"phi":-0.017365097431110144,"bid_iv":0.0,"mid_iv":0.674693,"ask_iv":0.674693,"smv_vol":0.457,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":82,"bidexch":"Q","bid_date":1718395135000,"asksize":73,"askexch":"N","ask_date":1718395197000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00019500","description":"PLTR + Jul 12 2024 $19.50 Call","exch":"Z","type":"option","last":3.94,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.1,"ask":4.3,"underlying":"PLTR","strike":19.5,"greeks":{"delta":0.9444536225002865,"gamma":0.037443895223817136,"theta":-0.009864636351665686,"vega":0.007754643641224392,"rho":0.013802811129276499,"phi":-0.017063103374681532,"bid_iv":0.0,"mid_iv":0.521725,"ask_iv":0.521725,"smv_vol":0.436,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718117237653,"prevclose":3.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":88,"bidexch":"Q","bid_date":1718395099000,"asksize":38,"askexch":"N","ask_date":1718395131000,"open_interest":10,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00019500","description":"PLTR + Jul 12 2024 $19.50 Put","exch":"Z","type":"option","last":0.08,"change":0.01,"volume":3,"open":0.08,"high":0.08,"low":0.08,"close":0.08,"bid":0.05,"ask":0.07,"underlying":"PLTR","strike":19.5,"greeks":{"delta":-0.0555463774997135,"gamma":0.037443895223817136,"theta":-0.009864636351665686,"vega":0.007754643641224392,"rho":0.013802811129276499,"phi":-0.017063103374681532,"bid_iv":0.42419,"mid_iv":0.439514,"ask_iv":0.454838,"smv_vol":0.436,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.29,"average_volume":0,"last_volume":1,"trade_date":1718383976293,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":83,"bidexch":"U","bid_date":1718395132000,"asksize":644,"askexch":"E","ask_date":1718395199000,"open_interest":111,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00020000","description":"PLTR + Jul 12 2024 $20.00 Put","exch":"Z","type":"option","last":0.06,"change":-0.03,"volume":54,"open":0.12,"high":0.12,"low":0.06,"close":0.06,"bid":0.07,"ask":0.1,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.0779045093979891,"gamma":0.049607712776506004,"theta":-0.01152707273700743,"vega":0.00908442231094335,"rho":0.013751055429372045,"phi":-0.016656807728665513,"bid_iv":0.406832,"mid_iv":0.424523,"ask_iv":0.442215,"smv_vol":0.424,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-33.34,"average_volume":0,"last_volume":1,"trade_date":1718394980294,"prevclose":0.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":651,"bidexch":"E","bid_date":1718395167000,"asksize":1344,"askexch":"M","ask_date":1718395135000,"open_interest":372,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00020000","description":"PLTR + Jul 12 2024 $20.00 Call","exch":"Z","type":"option","last":3.7,"change":-0.30,"volume":13,"open":3.4,"high":3.75,"low":3.4,"close":3.7,"bid":3.7,"ask":3.95,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.9220954906020109,"gamma":0.049607712776506004,"theta":-0.01152707273700743,"vega":0.00908442231094335,"rho":0.013751055429372045,"phi":-0.016656807728665513,"bid_iv":0.316995,"mid_iv":0.40927,"ask_iv":0.501546,"smv_vol":0.424,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.50,"average_volume":0,"last_volume":5,"trade_date":1718394675779,"prevclose":4.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":22,"bidexch":"Z","bid_date":1718395198000,"asksize":102,"askexch":"N","ask_date":1718395198000,"open_interest":153,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00020500","description":"PLTR + Jul 12 2024 $20.50 Call","exch":"Z","type":"option","last":2.95,"change":-0.58,"volume":8,"open":2.62,"high":2.95,"low":2.62,"close":2.95,"bid":3.1,"ask":3.55,"underlying":"PLTR","strike":20.5,"greeks":{"delta":0.8932877844596876,"gamma":0.06389176919734828,"theta":-0.013307088698797683,"vega":0.011880945429599927,"rho":0.01357265150577957,"phi":-0.016133561033804256,"bid_iv":0.0,"mid_iv":0.45435,"ask_iv":0.45435,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.44,"average_volume":0,"last_volume":7,"trade_date":1718374009532,"prevclose":3.53,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"C","bid_date":1718395136000,"asksize":106,"askexch":"N","ask_date":1718395198000,"open_interest":48,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00020500","description":"PLTR + Jul 12 2024 $20.50 Put","exch":"Z","type":"option","last":0.13,"change":-0.01,"volume":45,"open":0.17,"high":0.17,"low":0.13,"close":0.13,"bid":0.11,"ask":0.13,"underlying":"PLTR","strike":20.5,"greeks":{"delta":-0.1067122155403124,"gamma":0.06389176919734828,"theta":-0.013307088698797683,"vega":0.011880945429599927,"rho":0.01357265150577957,"phi":-0.016133561033804256,"bid_iv":0.400657,"mid_iv":0.410691,"ask_iv":0.420724,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-7.15,"average_volume":0,"last_volume":3,"trade_date":1718394787205,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":536,"bidexch":"E","bid_date":1718395167000,"asksize":622,"askexch":"D","ask_date":1718395132000,"open_interest":687,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00021000","description":"PLTR + Jul 12 2024 $21.00 Put","exch":"Z","type":"option","last":0.17,"change":-0.04,"volume":51,"open":0.49,"high":0.49,"low":0.17,"close":0.17,"bid":0.16,"ask":0.19,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.1412999175386925,"gamma":0.0799941705855213,"theta":-0.014984454175401254,"vega":0.014919898626800689,"rho":0.01328092899512058,"phi":-0.015505518899949777,"bid_iv":0.391484,"mid_iv":0.402629,"ask_iv":0.413775,"smv_vol":0.401,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-19.05,"average_volume":0,"last_volume":7,"trade_date":1718393876686,"prevclose":0.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":401,"bidexch":"E","bid_date":1718395199000,"asksize":132,"askexch":"E","ask_date":1718395129000,"open_interest":419,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00021000","description":"PLTR + Jul 12 2024 $21.00 Call","exch":"Z","type":"option","last":2.8,"change":-0.32,"volume":5,"open":2.3,"high":2.8,"low":2.3,"close":2.8,"bid":2.62,"ask":2.91,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.8587000824613075,"gamma":0.0799941705855213,"theta":-0.014984454175401254,"vega":0.014919898626800689,"rho":0.01328092899512058,"phi":-0.015505518899949777,"bid_iv":0.367828,"mid_iv":0.403618,"ask_iv":0.439408,"smv_vol":0.401,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.26,"average_volume":0,"last_volume":1,"trade_date":1718394143460,"prevclose":3.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":175,"bidexch":"E","bid_date":1718395199000,"asksize":40,"askexch":"E","ask_date":1718395199000,"open_interest":150,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00021500","description":"PLTR + Jul 12 2024 $21.50 Call","exch":"Z","type":"option","last":2.42,"change":0.15,"volume":6,"open":2.01,"high":2.42,"low":2.01,"close":2.42,"bid":2.36,"ask":2.63,"underlying":"PLTR","strike":21.5,"greeks":{"delta":0.8157231267994417,"gamma":0.09779201329912156,"theta":-0.016641509016112686,"vega":0.01801081560775862,"rho":0.012822989001705025,"phi":-0.01472554486792177,"bid_iv":0.311497,"mid_iv":0.36362,"ask_iv":0.415743,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.61,"average_volume":0,"last_volume":1,"trade_date":1718388584686,"prevclose":2.27,"week_52_high":0.0,"week_52_low":0.0,"bidsize":66,"bidexch":"E","bid_date":1718395199000,"asksize":554,"askexch":"E","ask_date":1718395199000,"open_interest":289,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00021500","description":"PLTR + Jul 12 2024 $21.50 Put","exch":"Z","type":"option","last":0.26,"change":-0.05,"volume":76,"open":0.35,"high":0.37,"low":0.24,"close":0.26,"bid":0.24,"ask":0.27,"underlying":"PLTR","strike":21.5,"greeks":{"delta":-0.1842768732005583,"gamma":0.09779201329912156,"theta":-0.016641509016112686,"vega":0.01801081560775862,"rho":0.012822989001705025,"phi":-0.01472554486792177,"bid_iv":0.388086,"mid_iv":0.397118,"ask_iv":0.406149,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.13,"average_volume":0,"last_volume":13,"trade_date":1718395010744,"prevclose":0.31,"week_52_high":0.0,"week_52_low":0.0,"bidsize":402,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"N","ask_date":1718395199000,"open_interest":690,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00022000","description":"PLTR + Jul 12 2024 $22.00 Put","exch":"Z","type":"option","last":0.37,"change":-0.07,"volume":193,"open":0.48,"high":0.52,"low":0.36,"close":0.37,"bid":0.19,"ask":0.4,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.2367286409580077,"gamma":0.11628009446624066,"theta":-0.01816329882998216,"vega":0.0196967517527755,"rho":0.012174874193257402,"phi":-0.013774200198213293,"bid_iv":0.390975,"mid_iv":0.398586,"ask_iv":0.406196,"smv_vol":0.394,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-15.91,"average_volume":0,"last_volume":100,"trade_date":1718395148731,"prevclose":0.44,"week_52_high":0.0,"week_52_low":0.0,"bidsize":166,"bidexch":"E","bid_date":1718395199000,"asksize":1,"askexch":"E","ask_date":1718395198000,"open_interest":921,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00022000","description":"PLTR + Jul 12 2024 $22.00 Call","exch":"Z","type":"option","last":2.11,"change":0.25,"volume":17,"open":1.5,"high":2.11,"low":1.5,"close":2.11,"bid":1.84,"ask":2.29,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.7632713590419923,"gamma":0.11628009446624066,"theta":-0.01816329882998216,"vega":0.0196967517527755,"rho":0.012174874193257402,"phi":-0.013774200198213293,"bid_iv":0.372729,"mid_iv":0.385484,"ask_iv":0.398238,"smv_vol":0.394,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.45,"average_volume":0,"last_volume":5,"trade_date":1718393669375,"prevclose":1.86,"week_52_high":0.0,"week_52_low":0.0,"bidsize":145,"bidexch":"E","bid_date":1718395199000,"asksize":465,"askexch":"E","ask_date":1718395199000,"open_interest":223,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00022500","description":"PLTR + Jul 12 2024 $22.50 Call","exch":"Z","type":"option","last":1.66,"change":0.16,"volume":22,"open":1.63,"high":1.74,"low":1.42,"close":1.66,"bid":1.49,"ask":1.8,"underlying":"PLTR","strike":22.5,"greeks":{"delta":0.7009854613208928,"gamma":0.13362274141167968,"theta":-0.01940883077102436,"vega":0.022424369351369232,"rho":0.011324667601698065,"phi":-0.012645321931792353,"bid_iv":0.374541,"mid_iv":0.392359,"ask_iv":0.410177,"smv_vol":0.395,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.67,"average_volume":0,"last_volume":5,"trade_date":1718394675779,"prevclose":1.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":123,"bidexch":"E","bid_date":1718395199000,"asksize":330,"askexch":"E","ask_date":1718395199000,"open_interest":321,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00022500","description":"PLTR + Jul 12 2024 $22.50 Put","exch":"Z","type":"option","last":0.51,"change":-0.08,"volume":72,"open":0.74,"high":0.78,"low":0.48,"close":0.51,"bid":0.5,"ask":0.54,"underlying":"PLTR","strike":22.5,"greeks":{"delta":-0.2990145386791072,"gamma":0.13362274141167968,"theta":-0.01940883077102436,"vega":0.022424369351369232,"rho":0.011324667601698065,"phi":-0.012645321931792353,"bid_iv":0.39114,"mid_iv":0.397818,"ask_iv":0.404497,"smv_vol":0.395,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-13.56,"average_volume":0,"last_volume":2,"trade_date":1718394435630,"prevclose":0.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":107,"bidexch":"B","bid_date":1718395198000,"asksize":173,"askexch":"E","ask_date":1718395199000,"open_interest":530,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00023000","description":"PLTR + Jul 12 2024 $23.00 Put","exch":"Z","type":"option","last":0.71,"change":-0.07,"volume":114,"open":0.91,"high":0.97,"low":0.68,"close":0.71,"bid":0.69,"ask":0.73,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3698186154172612,"gamma":0.14745298650742455,"theta":-0.02026317552659602,"vega":0.02454910306831655,"rho":0.010291373534147639,"phi":-0.01136312306693199,"bid_iv":0.392257,"mid_iv":0.398357,"ask_iv":0.404458,"smv_vol":0.396,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-8.98,"average_volume":0,"last_volume":1,"trade_date":1718393032988,"prevclose":0.78,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1718395198000,"asksize":173,"askexch":"E","ask_date":1718395199000,"open_interest":575,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00023000","description":"PLTR + Jul 12 2024 $23.00 Call","exch":"Z","type":"option","last":1.43,"change":0.23,"volume":281,"open":1.41,"high":1.43,"low":0.98,"close":1.43,"bid":1.17,"ask":1.57,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6301813845827388,"gamma":0.14745298650742455,"theta":-0.02026317552659602,"vega":0.02454910306831655,"rho":0.010291373534147639,"phi":-0.01136312306693199,"bid_iv":0.380896,"mid_iv":0.391092,"ask_iv":0.401288,"smv_vol":0.396,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":19.17,"average_volume":0,"last_volume":30,"trade_date":1718392230794,"prevclose":1.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1718395199000,"asksize":1,"askexch":"Q","ask_date":1718395199000,"open_interest":638,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00023500","description":"PLTR + Jul 12 2024 $23.50 Call","exch":"Z","type":"option","last":1.13,"change":0.13,"volume":253,"open":0.75,"high":1.19,"low":0.52,"close":1.13,"bid":1.0,"ask":1.22,"underlying":"PLTR","strike":23.5,"greeks":{"delta":0.5539218567311506,"gamma":0.15570531943608096,"theta":-0.02058244259559321,"vega":0.025834644236004112,"rho":0.009127602302237742,"phi":-0.00998333156143616,"bid_iv":0.386591,"mid_iv":0.392404,"ask_iv":0.398218,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.00,"average_volume":0,"last_volume":10,"trade_date":1718394919306,"prevclose":1.0,"week_52_high":0.0,"week_52_low":0.0,"bidsize":105,"bidexch":"Z","bid_date":1718395198000,"asksize":61,"askexch":"Q","ask_date":1718395199000,"open_interest":808,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00023500","description":"PLTR + Jul 12 2024 $23.50 Put","exch":"Z","type":"option","last":0.95,"change":-0.11,"volume":24,"open":1.1,"high":1.26,"low":0.9,"close":0.95,"bid":0.92,"ask":0.97,"underlying":"PLTR","strike":23.5,"greeks":{"delta":-0.4460781432688494,"gamma":0.15570531943608096,"theta":-0.02058244259559321,"vega":0.025834644236004112,"rho":0.009127602302237742,"phi":-0.00998333156143616,"bid_iv":0.397353,"mid_iv":0.403171,"ask_iv":0.408988,"smv_vol":0.397,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.38,"average_volume":0,"last_volume":7,"trade_date":1718394674713,"prevclose":1.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"Z","bid_date":1718395198000,"asksize":152,"askexch":"E","ask_date":1718395199000,"open_interest":1327,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00024000","description":"PLTR + Jul 12 2024 $24.00 Put","exch":"Z","type":"option","last":1.21,"change":-0.12,"volume":23,"open":1.4,"high":1.4,"low":1.17,"close":1.21,"bid":0.98,"ask":1.24,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.5238011432354439,"gamma":0.15732996091525042,"theta":-0.020293696038235387,"vega":0.026125890804572265,"rho":0.007904990379421903,"phi":-0.00857828748257461,"bid_iv":0.394802,"mid_iv":0.402519,"ask_iv":0.410237,"smv_vol":0.399,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-9.03,"average_volume":0,"last_volume":2,"trade_date":1718394899528,"prevclose":1.33,"week_52_high":0.0,"week_52_low":0.0,"bidsize":111,"bidexch":"J","bid_date":1718395199000,"asksize":207,"askexch":"E","ask_date":1718395199000,"open_interest":135,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00024000","description":"PLTR + Jul 12 2024 $24.00 Call","exch":"Z","type":"option","last":0.88,"change":0.12,"volume":291,"open":0.64,"high":0.95,"low":0.64,"close":0.88,"bid":0.68,"ask":0.95,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.4761988567645561,"gamma":0.15732996091525042,"theta":-0.020293696038235387,"vega":0.026125890804572265,"rho":0.007904990379421903,"phi":-0.00857828748257461,"bid_iv":0.388395,"mid_iv":0.394148,"ask_iv":0.399901,"smv_vol":0.399,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":15.79,"average_volume":0,"last_volume":1,"trade_date":1718395185214,"prevclose":0.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":231,"bidexch":"E","bid_date":1718395199000,"asksize":404,"askexch":"E","ask_date":1718395199000,"open_interest":1428,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00024500","description":"PLTR + Jul 12 2024 $24.50 Call","exch":"Z","type":"option","last":0.7,"change":0.11,"volume":146,"open":0.53,"high":0.74,"low":0.48,"close":0.7,"bid":0.49,"ask":0.83,"underlying":"PLTR","strike":24.5,"greeks":{"delta":0.40091211868208043,"gamma":0.15255052480604478,"theta":-0.01941519981898511,"vega":0.025381525537486647,"rho":0.006695623620764717,"phi":-0.007218433542011127,"bid_iv":0.391128,"mid_iv":0.397048,"ask_iv":0.402967,"smv_vol":0.4,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":18.65,"average_volume":0,"last_volume":10,"trade_date":1718395107852,"prevclose":0.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":226,"bidexch":"E","bid_date":1718395198000,"asksize":1,"askexch":"Q","ask_date":1718395198000,"open_interest":1074,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00024500","description":"PLTR + Jul 12 2024 $24.50 Put","exch":"Z","type":"option","last":1.53,"change":-0.07,"volume":10,"open":1.54,"high":1.54,"low":1.53,"close":1.53,"bid":1.33,"ask":1.56,"underlying":"PLTR","strike":24.5,"greeks":{"delta":-0.5990878813179196,"gamma":0.15255052480604478,"theta":-0.01941519981898511,"vega":0.025381525537486647,"rho":0.006695623620764717,"phi":-0.007218433542011127,"bid_iv":0.396888,"mid_iv":0.407279,"ask_iv":0.417669,"smv_vol":0.4,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.38,"average_volume":0,"last_volume":5,"trade_date":1718394674390,"prevclose":1.6,"week_52_high":0.0,"week_52_low":0.0,"bidsize":170,"bidexch":"E","bid_date":1718395199000,"asksize":438,"askexch":"E","ask_date":1718395199000,"open_interest":79,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00025000","description":"PLTR + Jul 12 2024 $25.00 Put","exch":"Z","type":"option","last":1.88,"change":-0.21,"volume":8,"open":1.87,"high":1.88,"low":1.87,"close":1.88,"bid":1.67,"ask":2.07,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.668887201982044,"gamma":0.14253817622677561,"theta":-0.018047381090569737,"vega":0.023683881708393126,"rho":0.005557564972029218,"phi":-0.005958703948039101,"bid_iv":0.39152,"mid_iv":0.453585,"ask_iv":0.515649,"smv_vol":0.406,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-10.05,"average_volume":0,"last_volume":6,"trade_date":1718394674137,"prevclose":2.09,"week_52_high":0.0,"week_52_low":0.0,"bidsize":137,"bidexch":"Z","bid_date":1718395198000,"asksize":466,"askexch":"E","ask_date":1718395199000,"open_interest":36,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00025000","description":"PLTR + Jul 12 2024 $25.00 Call","exch":"Z","type":"option","last":0.54,"change":0.09,"volume":396,"open":0.43,"high":0.58,"low":0.35,"close":0.54,"bid":0.53,"ask":0.6,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.33111279801795596,"gamma":0.14253817622677561,"theta":-0.018047381090569737,"vega":0.023683881708393126,"rho":0.005557564972029218,"phi":-0.005958703948039101,"bid_iv":0.362562,"mid_iv":0.383691,"ask_iv":0.404821,"smv_vol":0.406,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":20.00,"average_volume":0,"last_volume":1,"trade_date":1718395170237,"prevclose":0.45,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"J","bid_date":1718395198000,"asksize":19,"askexch":"Q","ask_date":1718395199000,"open_interest":1696,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00025500","description":"PLTR + Jul 12 2024 $25.50 Call","exch":"Z","type":"option","last":0.41,"change":0.05,"volume":94,"open":0.28,"high":0.44,"low":0.28,"close":0.41,"bid":0.3,"ask":0.43,"underlying":"PLTR","strike":25.5,"greeks":{"delta":0.26853502398724244,"gamma":0.1289697123648272,"theta":-0.016318909363879253,"vega":0.021224422246933994,"rho":0.0045262442929881325,"phi":-0.004830138012890117,"bid_iv":0.397437,"mid_iv":0.404437,"ask_iv":0.411438,"smv_vol":0.411,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.89,"average_volume":0,"last_volume":4,"trade_date":1718395085429,"prevclose":0.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":148,"bidexch":"E","bid_date":1718395198000,"asksize":8,"askexch":"Q","ask_date":1718395198000,"open_interest":255,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00025500","description":"PLTR + Jul 12 2024 $25.50 Put","exch":"Z","type":"option","last":2.11,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":2.18,"ask":2.39,"underlying":"PLTR","strike":25.5,"greeks":{"delta":-0.7314649760127575,"gamma":0.1289697123648272,"theta":-0.016318909363879253,"vega":0.021224422246933994,"rho":0.0045262442929881325,"phi":-0.004830138012890117,"bid_iv":0.379545,"mid_iv":0.435155,"ask_iv":0.490764,"smv_vol":0.411,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718287559754,"prevclose":2.11,"week_52_high":0.0,"week_52_low":0.0,"bidsize":52,"bidexch":"P","bid_date":1718395199000,"asksize":503,"askexch":"E","ask_date":1718395198000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00026000","description":"PLTR + Jul 12 2024 $26.00 Put","exch":"Z","type":"option","last":2.84,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":2.52,"ask":2.85,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.785964893242831,"gamma":0.11337998307586825,"theta":-0.014386196910454611,"vega":0.018264886397318773,"rho":0.003620615994851358,"phi":-0.003847935012846193,"bid_iv":0.0,"mid_iv":0.439635,"ask_iv":0.439635,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718119294820,"prevclose":2.84,"week_52_high":0.0,"week_52_low":0.0,"bidsize":137,"bidexch":"E","bid_date":1718395199000,"asksize":238,"askexch":"E","ask_date":1718395199000,"open_interest":3,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00026000","description":"PLTR + Jul 12 2024 $26.00 Call","exch":"Z","type":"option","last":0.31,"change":0.03,"volume":533,"open":0.24,"high":0.35,"low":0.21,"close":0.31,"bid":0.31,"ask":0.34,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.21403510675716902,"gamma":0.11337998307586825,"theta":-0.014386196910454611,"vega":0.018264886397318773,"rho":0.003620615994851358,"phi":-0.003847935012846193,"bid_iv":0.40015,"mid_iv":0.407912,"ask_iv":0.415674,"smv_vol":0.413,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.72,"average_volume":0,"last_volume":1,"trade_date":1718394749703,"prevclose":0.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"P","bid_date":1718395134000,"asksize":188,"askexch":"E","ask_date":1718395199000,"open_interest":499,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00026500","description":"PLTR + Jul 12 2024 $26.50 Call","exch":"Z","type":"option","last":0.25,"change":0.04,"volume":26,"open":0.17,"high":0.25,"low":0.16,"close":0.25,"bid":0.23,"ask":0.26,"underlying":"PLTR","strike":26.5,"greeks":{"delta":0.16873824010983562,"gamma":0.0971146008655244,"theta":-0.012427614201680984,"vega":0.01684060858740648,"rho":0.0028625007377876383,"phi":-0.0030321882635298003,"bid_iv":0.397462,"mid_iv":0.408302,"ask_iv":0.419143,"smv_vol":0.416,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":19.05,"average_volume":0,"last_volume":2,"trade_date":1718391297057,"prevclose":0.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":204,"bidexch":"E","bid_date":1718395199000,"asksize":250,"askexch":"E","ask_date":1718395199000,"open_interest":133,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00026500","description":"PLTR + Jul 12 2024 $26.50 Put","exch":"Z","type":"option","last":3.35,"change":null,"volume":16,"open":3.52,"high":3.52,"low":3.35,"close":3.35,"bid":2.98,"ask":3.15,"underlying":"PLTR","strike":26.5,"greeks":{"delta":-0.8312617598901644,"gamma":0.0971146008655244,"theta":-0.012427614201680984,"vega":0.01684060858740648,"rho":0.0028625007377876383,"phi":-0.0030321882635298003,"bid_iv":0.0,"mid_iv":0.50933,"ask_iv":0.50933,"smv_vol":0.416,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":5,"trade_date":1718380292962,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":87,"bidexch":"E","bid_date":1718395199000,"asksize":376,"askexch":"E","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712P00027000","description":"PLTR + Jul 12 2024 $27.00 Put","exch":"Z","type":"option","last":3.05,"change":0.00,"volume":15,"open":null,"high":null,"low":null,"close":null,"bid":3.25,"ask":3.6,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.869918658003093,"gamma":0.08127909364805982,"theta":-0.01040887023035934,"vega":0.013638694559981759,"rho":0.002212847661096236,"phi":-0.002336373345068754,"bid_iv":0.374069,"mid_iv":0.421765,"ask_iv":0.469462,"smv_vol":0.419,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718206718356,"prevclose":3.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":134,"bidexch":"E","bid_date":1718395198000,"asksize":142,"askexch":"E","ask_date":1718395198000,"open_interest":19,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00027000","description":"PLTR + Jul 12 2024 $27.00 Call","exch":"Z","type":"option","last":0.18,"change":0.02,"volume":63,"open":0.15,"high":0.2,"low":0.12,"close":0.18,"bid":0.14,"ask":0.2,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.13008134199690702,"gamma":0.08127909364805982,"theta":-0.01040887023035934,"vega":0.013638694559981759,"rho":0.002212847661096236,"phi":-0.002336373345068754,"bid_iv":0.411051,"mid_iv":0.417609,"ask_iv":0.424167,"smv_vol":0.419,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":12.50,"average_volume":0,"last_volume":5,"trade_date":1718395105827,"prevclose":0.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Z","bid_date":1718395198000,"asksize":1,"askexch":"N","ask_date":1718394928000,"open_interest":434,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00028000","description":"PLTR + Jul 12 2024 $28.00 Put","exch":"Z","type":"option","last":4.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.4,"ask":4.5,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.9249716394188676,"gamma":0.05364419598794932,"theta":-0.0069684295863507405,"vega":0.00927361332570003,"rho":0.001281654423533555,"phi":-0.0013463515888267885,"bid_iv":0.0,"mid_iv":0.644269,"ask_iv":0.644269,"smv_vol":0.431,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718211421502,"prevclose":4.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"Z","bid_date":1718395170000,"asksize":4,"askexch":"Z","ask_date":1718395170000,"open_interest":1,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00028000","description":"PLTR + Jul 12 2024 $28.00 Call","exch":"Z","type":"option","last":0.11,"change":0.01,"volume":52,"open":0.09,"high":0.12,"low":0.09,"close":0.11,"bid":0.1,"ask":0.12,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.07502836058113238,"gamma":0.05364419598794932,"theta":-0.0069684295863507405,"vega":0.00927361332570003,"rho":0.001281654423533555,"phi":-0.0013463515888267885,"bid_iv":0.418673,"mid_iv":0.428056,"ask_iv":0.43744,"smv_vol":0.431,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.00,"average_volume":0,"last_volume":9,"trade_date":1718394944520,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":418,"bidexch":"E","bid_date":1718395133000,"asksize":277,"askexch":"H","ask_date":1718395198000,"open_interest":1291,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00029000","description":"PLTR + Jul 12 2024 $29.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.35,"ask":5.55,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.9589884160724275,"gamma":0.03294360219460402,"theta":-0.004335821766194696,"vega":0.0057595410576544185,"rho":7.028831036401659E-4,"phi":-7.352807016025587E-4,"bid_iv":0.0,"mid_iv":0.535401,"ask_iv":0.535401,"smv_vol":0.438,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":62,"bidexch":"N","bid_date":1718395199000,"asksize":103,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240712C00029000","description":"PLTR + Jul 12 2024 $29.00 Call","exch":"Z","type":"option","last":0.08,"change":0.01,"volume":11,"open":0.08,"high":0.08,"low":0.07,"close":0.08,"bid":0.06,"ask":0.09,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.04101158392757259,"gamma":0.03294360219460402,"theta":-0.004335821766194696,"vega":0.0057595410576544185,"rho":7.028831036401659E-4,"phi":-7.352807016025587E-4,"bid_iv":0.433685,"mid_iv":0.45282,"ask_iv":0.471955,"smv_vol":0.438,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.29,"average_volume":0,"last_volume":1,"trade_date":1718391072794,"prevclose":0.07,"week_52_high":0.0,"week_52_low":0.0,"bidsize":423,"bidexch":"E","bid_date":1718395197000,"asksize":383,"askexch":"E","ask_date":1718395197000,"open_interest":107,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712C00030000","description":"PLTR + Jul 12 2024 $30.00 Call","exch":"Z","type":"option","last":0.06,"change":0.02,"volume":102,"open":0.08,"high":0.08,"low":0.04,"close":0.06,"bid":0.02,"ask":0.05,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.022592272952219973,"gamma":0.019700073280066097,"theta":-0.002680760027473357,"vega":0.0032427180275310854,"rho":3.8799209470293515E-4,"phi":-4.0476747880519026E-4,"bid_iv":0.408098,"mid_iv":0.441079,"ask_iv":0.474061,"smv_vol":0.452,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":50.00,"average_volume":0,"last_volume":1,"trade_date":1718381216598,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":49,"bidexch":"M","bid_date":1718395198000,"asksize":16,"askexch":"Q","ask_date":1718394595000,"open_interest":282,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240712P00030000","description":"PLTR + Jul 12 2024 $30.00 Put","exch":"Z","type":"option","last":null,"change":null,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.25,"ask":6.65,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.97740772704778,"gamma":0.019700073280066097,"theta":-0.002680760027473357,"vega":0.0032427180275310854,"rho":3.8799209470293515E-4,"phi":-4.0476747880519026E-4,"bid_iv":0.0,"mid_iv":0.733783,"ask_iv":0.733783,"smv_vol":0.452,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":null,"average_volume":0,"last_volume":0,"trade_date":0,"prevclose":null,"week_52_high":0.0,"week_52_low":0.0,"bidsize":108,"bidexch":"N","bid_date":1718395129000,"asksize":102,"askexch":"N","ask_date":1718395129000,"open_interest":0,"contract_size":100,"expiration_date":"2024-07-12","expiration_type":"weeklys","option_type":"put","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '198' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '2' + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - application/json + Authorization: + - MOCK_API_KEY + method: GET + uri: https://sandbox.tradier.com/v1/markets/options/chains?symbol=PLTR&expiration=2024-09-20&greeks=true + response: + body: + string: '{"options":{"option":[{"symbol":"PLTR240920P00003000","description":"PLTR + Sep 20 2024 $3.00 Put","exch":"Z","type":"option","last":0.02,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.02,"underlying":"PLTR","strike":3.0,"greeks":{"delta":-5.6E-15,"gamma":-7.93835507374933E-16,"theta":-5.125257493064477E-4,"vega":1.9999998188122097E-5,"rho":0.007918852298189267,"phi":-0.06325735618872841,"bid_iv":0.0,"mid_iv":1.695907,"ask_iv":1.695907,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":25,"trade_date":1713792602691,"prevclose":0.02,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":null,"bid_date":1718193600000,"asksize":1,"askexch":"N","ask_date":1718371809000,"open_interest":489,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00003000","description":"PLTR + Sep 20 2024 $3.00 Call","exch":"Z","type":"option","last":18.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":20.55,"ask":20.75,"underlying":"PLTR","strike":3.0,"greeks":{"delta":0.9999999999999944,"gamma":-7.93835507374933E-16,"theta":-5.125257493064477E-4,"vega":1.9999998188122097E-5,"rho":0.007918852298189267,"phi":-0.06325735618872841,"bid_iv":0.0,"mid_iv":2.292172,"ask_iv":2.292172,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717080679597,"prevclose":18.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":117,"bidexch":"Z","bid_date":1718395094000,"asksize":118,"askexch":"Q","ask_date":1718395094000,"open_interest":40,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00005000","description":"PLTR + Sep 20 2024 $5.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.23,"underlying":"PLTR","strike":5.0,"greeks":{"delta":-2.9863895E-9,"gamma":2.635654055085882E-9,"theta":-8.542101713682557E-4,"vega":2.0002857007911756E-5,"rho":0.013198086972365184,"phi":-0.06325735594003845,"bid_iv":0.0,"mid_iv":1.277654,"ask_iv":1.277654,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1715261448807,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"M","bid_date":1718371804000,"asksize":53,"askexch":"X","ask_date":1718371804000,"open_interest":2540,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00005000","description":"PLTR + Sep 20 2024 $5.00 Call","exch":"Z","type":"option","last":16.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":18.65,"ask":18.85,"underlying":"PLTR","strike":5.0,"greeks":{"delta":0.9999999970136105,"gamma":2.635654055085882E-9,"theta":-8.542101713682557E-4,"vega":2.0002857007911756E-5,"rho":0.013198086972365184,"phi":-0.06325735594003845,"bid_iv":0.0,"mid_iv":1.756807,"ask_iv":1.756807,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1716923906379,"prevclose":16.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":70,"bidexch":"Z","bid_date":1718394973000,"asksize":158,"askexch":"N","ask_date":1718394973000,"open_interest":57,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00006000","description":"PLTR + Sep 20 2024 $6.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.03,"underlying":"PLTR","strike":6.0,"greeks":{"delta":-1.500136437E-7,"gamma":1.1805861925610739E-7,"theta":-0.00102507781667032,"vega":2.0095285720903368E-5,"rho":0.015837694510282267,"phi":-0.0632573465253472,"bid_iv":0.0,"mid_iv":1.194076,"ask_iv":1.194076,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1710874112314,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"I","bid_date":1718388058000,"asksize":100,"askexch":"E","ask_date":1718395167000,"open_interest":2402,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00006000","description":"PLTR + Sep 20 2024 $6.00 Call","exch":"Z","type":"option","last":18.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":17.6,"ask":17.8,"underlying":"PLTR","strike":6.0,"greeks":{"delta":0.9999998499863563,"gamma":1.1805861925610739E-7,"theta":-0.00102507781667032,"vega":2.0095285720903368E-5,"rho":0.015837694510282267,"phi":-0.0632573465253472,"bid_iv":0.0,"mid_iv":0.0,"ask_iv":0.0,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718212610248,"prevclose":18.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":109,"bidexch":"N","bid_date":1718395098000,"asksize":121,"askexch":"N","ask_date":1718395097000,"open_interest":9,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00007000","description":"PLTR + Sep 20 2024 $7.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.04,"underlying":"PLTR","strike":7.0,"greeks":{"delta":-2.6690215548E-6,"gamma":1.8902654687141754E-6,"theta":-0.0011963135785462403,"vega":2.196008211190812E-5,"rho":0.01847714147559442,"phi":-0.0632571860137432,"bid_iv":0.932135,"mid_iv":1.020311,"ask_iv":1.108487,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1717688967671,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718395198000,"asksize":222,"askexch":"E","ask_date":1718395169000,"open_interest":1441,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00007000","description":"PLTR + Sep 20 2024 $7.00 Call","exch":"Z","type":"option","last":14.52,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.65,"ask":16.8,"underlying":"PLTR","strike":7.0,"greeks":{"delta":0.9999973309784452,"gamma":1.8902654687141754E-6,"theta":-0.0011963135785462403,"vega":2.196008211190812E-5,"rho":0.01847714147559442,"phi":-0.0632571860137432,"bid_iv":0.0,"mid_iv":1.327185,"ask_iv":1.327185,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717083022672,"prevclose":14.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":4,"bidexch":"N","bid_date":1718395199000,"asksize":104,"askexch":"N","ask_date":1718395199000,"open_interest":11,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00008000","description":"PLTR + Sep 20 2024 $8.00 Put","exch":"Z","type":"option","last":0.01,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.0,"ask":0.04,"underlying":"PLTR","strike":8.0,"greeks":{"delta":-2.46851318129E-5,"gamma":1.5783036779674075E-5,"theta":-0.001370232454206602,"vega":3.191073250371336E-5,"rho":0.02111526042306477,"phi":-0.06325578453925118,"bid_iv":0.83547,"mid_iv":0.915071,"ask_iv":0.994672,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717083720099,"prevclose":0.01,"week_52_high":0.0,"week_52_low":0.0,"bidsize":0,"bidexch":"Q","bid_date":1718395198000,"asksize":135,"askexch":"E","ask_date":1718395130000,"open_interest":702,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00008000","description":"PLTR + Sep 20 2024 $8.00 Call","exch":"Z","type":"option","last":15.94,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.65,"ask":15.8,"underlying":"PLTR","strike":8.0,"greeks":{"delta":0.9999753148681871,"gamma":1.5783036779674075E-5,"theta":-0.001370232454206602,"vega":3.191073250371336E-5,"rho":0.02111526042306477,"phi":-0.06325578453925118,"bid_iv":0.0,"mid_iv":1.161028,"ask_iv":1.161028,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718222016776,"prevclose":15.94,"week_52_high":0.0,"week_52_low":0.0,"bidsize":77,"bidexch":"Q","bid_date":1718395098000,"asksize":100,"askexch":"N","ask_date":1718395198000,"open_interest":84,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00009000","description":"PLTR + Sep 20 2024 $9.00 Put","exch":"Z","type":"option","last":0.03,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.05,"underlying":"PLTR","strike":9.0,"greeks":{"delta":-1.4315944266E-4,"gamma":8.288881816308303E-5,"theta":-0.0015558801487262522,"vega":1.0216461301170714E-4,"rho":0.023746762862567335,"phi":-0.06324824765258086,"bid_iv":0.7498,"mid_iv":0.836941,"ask_iv":0.924083,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":30,"trade_date":1715784073871,"prevclose":0.03,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"A","bid_date":1718395090000,"asksize":257,"askexch":"E","ask_date":1718395198000,"open_interest":369,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00009000","description":"PLTR + Sep 20 2024 $9.00 Call","exch":"Z","type":"option","last":14.34,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.55,"ask":14.8,"underlying":"PLTR","strike":9.0,"greeks":{"delta":0.99985684055734,"gamma":8.288881816308303E-5,"theta":-0.0015558801487262522,"vega":1.0216461301170714E-4,"rho":0.023746762862567335,"phi":-0.06324824765258086,"bid_iv":0.0,"mid_iv":1.012733,"ask_iv":1.012733,"smv_vol":0.62,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1717788701950,"prevclose":14.34,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"M","bid_date":1718395198000,"asksize":51,"askexch":"N","ask_date":1718395198000,"open_interest":27,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00010000","description":"PLTR + Sep 20 2024 $10.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.02,"ask":0.1,"underlying":"PLTR","strike":10.0,"greeks":{"delta":-5.819142376153E-4,"gamma":3.06430832016635E-4,"theta":-0.001775780273613375,"vega":2.5961409514793963E-4,"rho":0.026356121653986434,"phi":-0.06322035199346487,"bid_iv":0.731356,"mid_iv":0.831906,"ask_iv":0.932456,"smv_vol":0.619,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":6,"trade_date":1718305629421,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":220,"bidexch":"P","bid_date":1718394928000,"asksize":717,"askexch":"E","ask_date":1718395197000,"open_interest":5880,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00010000","description":"PLTR + Sep 20 2024 $10.00 Call","exch":"Z","type":"option","last":13.38,"change":-0.67,"volume":1,"open":13.38,"high":13.38,"low":13.38,"close":13.38,"bid":13.55,"ask":13.85,"underlying":"PLTR","strike":10.0,"greeks":{"delta":0.9994180857623847,"gamma":3.06430832016635E-4,"theta":-0.001775780273613375,"vega":2.5961409514793963E-4,"rho":0.026356121653986434,"phi":-0.06322035199346487,"bid_iv":0.0,"mid_iv":0.880472,"ask_iv":0.880472,"smv_vol":0.619,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-4.77,"average_volume":0,"last_volume":1,"trade_date":1718373240980,"prevclose":14.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":278,"bidexch":"E","bid_date":1718395135000,"asksize":116,"askexch":"Q","ask_date":1718395096000,"open_interest":288,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00011000","description":"PLTR + Sep 20 2024 $11.00 Put","exch":"Z","type":"option","last":0.04,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.01,"ask":0.06,"underlying":"PLTR","strike":11.0,"greeks":{"delta":-0.0018367554099534,"gamma":8.804467067488032E-4,"theta":-0.0020721721853465664,"vega":8.396278182612062E-4,"rho":0.02890854152342897,"phi":-0.06314061046452935,"bid_iv":0.604067,"mid_iv":0.687025,"ask_iv":0.769983,"smv_vol":0.618,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717700610827,"prevclose":0.04,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1570,"bidexch":"E","bid_date":1718395168000,"asksize":2120,"askexch":"X","ask_date":1718395128000,"open_interest":543,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00011000","description":"PLTR + Sep 20 2024 $11.00 Call","exch":"Z","type":"option","last":12.41,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.7,"ask":12.95,"underlying":"PLTR","strike":11.0,"greeks":{"delta":0.9981632445900466,"gamma":8.804467067488032E-4,"theta":-0.0020721721853465664,"vega":8.396278182612062E-4,"rho":0.02890854152342897,"phi":-0.06314061046452935,"bid_iv":0.0,"mid_iv":0.847213,"ask_iv":0.847213,"smv_vol":0.618,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717788852563,"prevclose":12.41,"week_52_high":0.0,"week_52_low":0.0,"bidsize":101,"bidexch":"N","bid_date":1718395199000,"asksize":114,"askexch":"N","ask_date":1718395199000,"open_interest":84,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00012000","description":"PLTR + Sep 20 2024 $12.00 Put","exch":"Z","type":"option","last":0.05,"change":0.00,"volume":42,"open":0.03,"high":0.05,"low":0.03,"close":0.05,"bid":0.02,"ask":0.06,"underlying":"PLTR","strike":12.0,"greeks":{"delta":-0.0047748316110799,"gamma":0.002082279798217562,"theta":-0.0025039250169420347,"vega":0.0018772358944217239,"rho":0.03134224709837372,"phi":-0.06295399469280483,"bid_iv":0.58928,"mid_iv":0.640698,"ask_iv":0.692116,"smv_vol":0.614,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":21,"trade_date":1718377213516,"prevclose":0.05,"week_52_high":0.0,"week_52_low":0.0,"bidsize":594,"bidexch":"E","bid_date":1718395199000,"asksize":78,"askexch":"E","ask_date":1718395199000,"open_interest":583,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00012000","description":"PLTR + Sep 20 2024 $12.00 Call","exch":"Z","type":"option","last":10.8,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.75,"ask":11.9,"underlying":"PLTR","strike":12.0,"greeks":{"delta":0.9952251683889201,"gamma":0.002082279798217562,"theta":-0.0025039250169420347,"vega":0.0018772358944217239,"rho":0.03134224709837372,"phi":-0.06295399469280483,"bid_iv":0.0,"mid_iv":0.804959,"ask_iv":0.804959,"smv_vol":0.614,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717599230102,"prevclose":10.8,"week_52_high":0.0,"week_52_low":0.0,"bidsize":46,"bidexch":"N","bid_date":1718395198000,"asksize":76,"askexch":"N","ask_date":1718395198000,"open_interest":58,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920C00013000","description":"PLTR + Sep 20 2024 $13.00 Call","exch":"Z","type":"option","last":11.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":10.8,"ask":12.85,"underlying":"PLTR","strike":13.0,"greeks":{"delta":0.9895664680120818,"gamma":0.004161385799631818,"theta":-0.0031210222326954174,"vega":0.00311684366141097,"rho":0.033581800737015735,"phi":-0.06259472467462501,"bid_iv":0.0,"mid_iv":0.756644,"ask_iv":0.756644,"smv_vol":0.608,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718200122132,"prevclose":11.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2,"bidexch":"B","bid_date":1718395199000,"asksize":121,"askexch":"N","ask_date":1718395199000,"open_interest":174,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00013000","description":"PLTR + Sep 20 2024 $13.00 Put","exch":"Z","type":"option","last":0.05,"change":-0.01,"volume":1,"open":0.05,"high":0.05,"low":0.05,"close":0.05,"bid":0.04,"ask":0.09,"underlying":"PLTR","strike":13.0,"greeks":{"delta":-0.0104335319879182,"gamma":0.004161385799631818,"theta":-0.0031210222326954174,"vega":0.00311684366141097,"rho":0.033581800737015735,"phi":-0.06259472467462501,"bid_iv":0.581117,"mid_iv":0.623371,"ask_iv":0.665625,"smv_vol":0.608,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-16.67,"average_volume":0,"last_volume":1,"trade_date":1718391817975,"prevclose":0.06,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1449,"bidexch":"E","bid_date":1718395169000,"asksize":588,"askexch":"E","ask_date":1718395169000,"open_interest":7871,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920P00014000","description":"PLTR + Sep 20 2024 $14.00 Put","exch":"Z","type":"option","last":0.1,"change":0.00,"volume":50,"open":0.09,"high":0.1,"low":0.09,"close":0.1,"bid":0.07,"ask":0.12,"underlying":"PLTR","strike":14.0,"greeks":{"delta":-0.0202840746662307,"gamma":0.007382394757070743,"theta":-0.0039742861308777145,"vega":0.0059997231321037795,"rho":0.035517919781676024,"phi":-0.06196956778836693,"bid_iv":0.568064,"mid_iv":0.598762,"ask_iv":0.629459,"smv_vol":0.591,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":25,"trade_date":1718374527347,"prevclose":0.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":256,"bidexch":"E","bid_date":1718395199000,"asksize":147,"askexch":"C","ask_date":1718395198000,"open_interest":555,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00014000","description":"PLTR + Sep 20 2024 $14.00 Call","exch":"Z","type":"option","last":9.8,"change":0.10,"volume":4,"open":9.8,"high":9.8,"low":9.8,"close":9.8,"bid":9.7,"ask":11.9,"underlying":"PLTR","strike":14.0,"greeks":{"delta":0.9797159253337693,"gamma":0.007382394757070743,"theta":-0.0039742861308777145,"vega":0.0059997231321037795,"rho":0.035517919781676024,"phi":-0.06196956778836693,"bid_iv":0.526818,"mid_iv":0.566525,"ask_iv":0.606232,"smv_vol":0.591,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.04,"average_volume":0,"last_volume":2,"trade_date":1718385385169,"prevclose":9.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":103,"bidexch":"N","bid_date":1718395198000,"asksize":130,"askexch":"N","ask_date":1718395199000,"open_interest":74,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00015000","description":"PLTR + Sep 20 2024 $15.00 Put","exch":"Z","type":"option","last":0.12,"change":-0.04,"volume":24,"open":0.28,"high":0.28,"low":0.07,"close":0.12,"bid":0.07,"ask":0.17,"underlying":"PLTR","strike":15.0,"greeks":{"delta":-0.0354797641688437,"gamma":0.011801452590268073,"theta":-0.005069589602402773,"vega":0.010475808185611895,"rho":0.03706062016390824,"phi":-0.06100553237686768,"bid_iv":0.504074,"mid_iv":0.553658,"ask_iv":0.603242,"smv_vol":0.571,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-25.00,"average_volume":0,"last_volume":2,"trade_date":1718394800652,"prevclose":0.16,"week_52_high":0.0,"week_52_low":0.0,"bidsize":2883,"bidexch":"X","bid_date":1718395129000,"asksize":1306,"askexch":"E","ask_date":1718395169000,"open_interest":4850,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00015000","description":"PLTR + Sep 20 2024 $15.00 Call","exch":"Z","type":"option","last":9.46,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.95,"ask":9.0,"underlying":"PLTR","strike":15.0,"greeks":{"delta":0.9645202358311563,"gamma":0.011801452590268073,"theta":-0.005069589602402773,"vega":0.010475808185611895,"rho":0.03706062016390824,"phi":-0.06100553237686768,"bid_iv":0.515907,"mid_iv":0.56205,"ask_iv":0.608193,"smv_vol":0.571,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":12,"trade_date":1718206615626,"prevclose":9.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"M","bid_date":1718395132000,"asksize":20,"askexch":"P","ask_date":1718395132000,"open_interest":2064,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00016000","description":"PLTR + Sep 20 2024 $16.00 Put","exch":"Z","type":"option","last":0.21,"change":0.01,"volume":28,"open":0.21,"high":0.21,"low":0.21,"close":0.21,"bid":0.19,"ask":0.23,"underlying":"PLTR","strike":16.0,"greeks":{"delta":-0.0570621370595015,"gamma":0.017352644749064276,"theta":-0.006363321160401172,"vega":0.014642680710628974,"rho":0.038124025538461476,"phi":-0.05963677470077755,"bid_iv":0.547935,"mid_iv":0.561463,"ask_iv":0.574992,"smv_vol":0.555,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.00,"average_volume":0,"last_volume":28,"trade_date":1718394049683,"prevclose":0.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":639,"bidexch":"E","bid_date":1718395169000,"asksize":767,"askexch":"E","ask_date":1718395169000,"open_interest":6520,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00016000","description":"PLTR + Sep 20 2024 $16.00 Call","exch":"Z","type":"option","last":8.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.0,"ask":10.05,"underlying":"PLTR","strike":16.0,"greeks":{"delta":0.9429378629404985,"gamma":0.017352644749064276,"theta":-0.006363321160401172,"vega":0.014642680710628974,"rho":0.038124025538461476,"phi":-0.05963677470077755,"bid_iv":0.528365,"mid_iv":0.560796,"ask_iv":0.593226,"smv_vol":0.555,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718218930655,"prevclose":8.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":10,"bidexch":"J","bid_date":1718395199000,"asksize":174,"askexch":"N","ask_date":1718395198000,"open_interest":412,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00017000","description":"PLTR + Sep 20 2024 $17.00 Put","exch":"Z","type":"option","last":0.33,"change":0.01,"volume":31,"open":0.33,"high":0.34,"low":0.31,"close":0.33,"bid":0.3,"ask":0.33,"underlying":"PLTR","strike":17.0,"greeks":{"delta":-0.0856767674875241,"gamma":0.023813987539886543,"theta":-0.007804119308421131,"vega":0.01960837484380665,"rho":0.03864710812664579,"phi":-0.05782260041442555,"bid_iv":0.542796,"mid_iv":0.550399,"ask_iv":0.558001,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":3.13,"average_volume":0,"last_volume":2,"trade_date":1718391043029,"prevclose":0.32,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Q","bid_date":1718394712000,"asksize":44,"askexch":"X","ask_date":1718395198000,"open_interest":8120,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00017000","description":"PLTR + Sep 20 2024 $17.00 Call","exch":"Z","type":"option","last":7.04,"change":0.14,"volume":1,"open":7.04,"high":7.04,"low":7.04,"close":7.04,"bid":7.1,"ask":7.25,"underlying":"PLTR","strike":17.0,"greeks":{"delta":0.9143232325124759,"gamma":0.023813987539886543,"theta":-0.007804119308421131,"vega":0.01960837484380665,"rho":0.03864710812664579,"phi":-0.05782260041442555,"bid_iv":0.515037,"mid_iv":0.540503,"ask_iv":0.565969,"smv_vol":0.549,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":2.03,"average_volume":0,"last_volume":1,"trade_date":1718384163097,"prevclose":6.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":393,"bidexch":"X","bid_date":1718395168000,"asksize":60,"askexch":"N","ask_date":1718395198000,"open_interest":1516,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00018000","description":"PLTR + Sep 20 2024 $18.00 Put","exch":"Z","type":"option","last":0.45,"change":-0.01,"volume":24,"open":0.47,"high":0.49,"low":0.45,"close":0.45,"bid":0.45,"ask":0.47,"underlying":"PLTR","strike":18.0,"greeks":{"delta":-0.121453423246067,"gamma":0.03084274761717776,"theta":-0.009299670845196423,"vega":0.025165608830070577,"rho":0.03860370973306684,"phi":-0.055555016729158524,"bid_iv":0.537384,"mid_iv":0.541338,"ask_iv":0.545293,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-2.18,"average_volume":0,"last_volume":2,"trade_date":1718394800652,"prevclose":0.46,"week_52_high":0.0,"week_52_low":0.0,"bidsize":25,"bidexch":"H","bid_date":1718395200000,"asksize":480,"askexch":"D","ask_date":1718395168000,"open_interest":19795,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00018000","description":"PLTR + Sep 20 2024 $18.00 Call","exch":"Z","type":"option","last":6.05,"change":-0.05,"volume":8,"open":5.9,"high":6.05,"low":5.88,"close":6.05,"bid":6.25,"ask":6.4,"underlying":"PLTR","strike":18.0,"greeks":{"delta":0.878546576753933,"gamma":0.03084274761717776,"theta":-0.009299670845196423,"vega":0.025165608830070577,"rho":0.03860370973306684,"phi":-0.055555016729158524,"bid_iv":0.509691,"mid_iv":0.529559,"ask_iv":0.549427,"smv_vol":0.542,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-0.82,"average_volume":0,"last_volume":2,"trade_date":1718374991732,"prevclose":6.1,"week_52_high":0.0,"week_52_low":0.0,"bidsize":468,"bidexch":"E","bid_date":1718395198000,"asksize":41,"askexch":"X","ask_date":1718395198000,"open_interest":2876,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00019000","description":"PLTR + Sep 20 2024 $19.00 Put","exch":"Z","type":"option","last":0.66,"change":-0.01,"volume":64,"open":0.7,"high":0.7,"low":0.66,"close":0.66,"bid":0.62,"ask":0.68,"underlying":"PLTR","strike":19.0,"greeks":{"delta":-0.1641299176444079,"gamma":0.03803923356935701,"theta":-0.010753896747009904,"vega":0.030967745218271937,"rho":0.03799422043231352,"phi":-0.0528508609676237,"bid_iv":0.532964,"mid_iv":0.537787,"ask_iv":0.54261,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.50,"average_volume":0,"last_volume":1,"trade_date":1718394561159,"prevclose":0.67,"week_52_high":0.0,"week_52_low":0.0,"bidsize":300,"bidexch":"B","bid_date":1718395199000,"asksize":300,"askexch":"B","ask_date":1718395199000,"open_interest":5075,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00019000","description":"PLTR + Sep 20 2024 $19.00 Call","exch":"Z","type":"option","last":5.6,"change":0.40,"volume":29,"open":5.1,"high":5.6,"low":5.1,"close":5.6,"bid":5.5,"ask":5.6,"underlying":"PLTR","strike":19.0,"greeks":{"delta":0.8358700823555921,"gamma":0.03803923356935701,"theta":-0.010753896747009904,"vega":0.030967745218271937,"rho":0.03799422043231352,"phi":-0.0528508609676237,"bid_iv":0.521936,"mid_iv":0.538081,"ask_iv":0.554225,"smv_vol":0.536,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.70,"average_volume":0,"last_volume":5,"trade_date":1718392192457,"prevclose":5.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":33,"bidexch":"M","bid_date":1718395198000,"asksize":39,"askexch":"P","ask_date":1718395199000,"open_interest":925,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00020000","description":"PLTR + Sep 20 2024 $20.00 Put","exch":"Z","type":"option","last":0.91,"change":0.00,"volume":35,"open":1.01,"high":1.01,"low":0.9,"close":0.91,"bid":0.9,"ask":0.94,"underlying":"PLTR","strike":20.0,"greeks":{"delta":-0.2131159734775078,"gamma":0.04497454429977448,"theta":-0.01208294501869247,"vega":0.036553525788144296,"rho":0.03684075158060884,"phi":-0.04974774391541814,"bid_iv":0.527625,"mid_iv":0.533082,"ask_iv":0.53854,"smv_vol":0.532,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1718394435630,"prevclose":0.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":232,"bidexch":"B","bid_date":1718395131000,"asksize":738,"askexch":"E","ask_date":1718395169000,"open_interest":9419,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00020000","description":"PLTR + Sep 20 2024 $20.00 Call","exch":"Z","type":"option","last":4.75,"change":0.23,"volume":47,"open":4.45,"high":4.9,"low":4.31,"close":4.75,"bid":4.75,"ask":4.85,"underlying":"PLTR","strike":20.0,"greeks":{"delta":0.7868840265224922,"gamma":0.04497454429977448,"theta":-0.01208294501869247,"vega":0.036553525788144296,"rho":0.03684075158060884,"phi":-0.04974774391541814,"bid_iv":0.513998,"mid_iv":0.527999,"ask_iv":0.542,"smv_vol":0.532,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.09,"average_volume":0,"last_volume":1,"trade_date":1718395076869,"prevclose":4.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":299,"bidexch":"E","bid_date":1718395199000,"asksize":34,"askexch":"C","ask_date":1718395198000,"open_interest":9431,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00021000","description":"PLTR + Sep 20 2024 $21.00 Put","exch":"Z","type":"option","last":1.21,"change":-0.07,"volume":54,"open":1.31,"high":1.33,"low":1.21,"close":1.21,"bid":1.15,"ask":1.26,"underlying":"PLTR","strike":21.0,"greeks":{"delta":-0.2675703901427746,"gamma":0.05117077603094629,"theta":-0.013191806635909565,"vega":0.03978681124315859,"rho":0.03517715934999899,"phi":-0.04629918102239117,"bid_iv":0.52462,"mid_iv":0.529559,"ask_iv":0.534499,"smv_vol":0.528,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-5.47,"average_volume":0,"last_volume":28,"trade_date":1718394049683,"prevclose":1.28,"week_52_high":0.0,"week_52_low":0.0,"bidsize":13,"bidexch":"B","bid_date":1718395199000,"asksize":226,"askexch":"B","ask_date":1718395198000,"open_interest":5469,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00021000","description":"PLTR + Sep 20 2024 $21.00 Call","exch":"Z","type":"option","last":4.14,"change":0.21,"volume":176,"open":3.7,"high":4.18,"low":3.7,"close":4.14,"bid":4.1,"ask":4.2,"underlying":"PLTR","strike":21.0,"greeks":{"delta":0.7324296098572254,"gamma":0.05117077603094629,"theta":-0.013191806635909565,"vega":0.03978681124315859,"rho":0.03517715934999899,"phi":-0.04629918102239117,"bid_iv":0.517045,"mid_iv":0.523334,"ask_iv":0.529622,"smv_vol":0.528,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.35,"average_volume":0,"last_volume":3,"trade_date":1718394853089,"prevclose":3.93,"week_52_high":0.0,"week_52_low":0.0,"bidsize":472,"bidexch":"E","bid_date":1718395170000,"asksize":40,"askexch":"X","ask_date":1718395198000,"open_interest":3705,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00022000","description":"PLTR + Sep 20 2024 $22.00 Put","exch":"Z","type":"option","last":1.59,"change":-0.05,"volume":12,"open":1.79,"high":1.79,"low":1.58,"close":1.59,"bid":1.38,"ask":1.69,"underlying":"PLTR","strike":22.0,"greeks":{"delta":-0.3259362487262504,"gamma":0.05622970165434117,"theta":-0.014030231996713537,"vega":0.04411010578967904,"rho":0.03309472757189404,"phi":-0.04260390972010697,"bid_iv":0.520941,"mid_iv":0.526584,"ask_iv":0.532227,"smv_vol":0.526,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.05,"average_volume":0,"last_volume":1,"trade_date":1718393423676,"prevclose":1.64,"week_52_high":0.0,"week_52_low":0.0,"bidsize":181,"bidexch":"B","bid_date":1718395199000,"asksize":10,"askexch":"J","ask_date":1718395198000,"open_interest":3651,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00022000","description":"PLTR + Sep 20 2024 $22.00 Call","exch":"Z","type":"option","last":3.55,"change":0.26,"volume":370,"open":3.15,"high":3.65,"low":3.15,"close":3.55,"bid":3.5,"ask":3.6,"underlying":"PLTR","strike":22.0,"greeks":{"delta":0.6740637512737496,"gamma":0.05622970165434117,"theta":-0.014030231996713537,"vega":0.04411010578967904,"rho":0.03309472757189404,"phi":-0.04260390972010697,"bid_iv":0.516222,"mid_iv":0.521893,"ask_iv":0.527563,"smv_vol":0.526,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.91,"average_volume":0,"last_volume":1,"trade_date":1718394897535,"prevclose":3.29,"week_52_high":0.0,"week_52_low":0.0,"bidsize":110,"bidexch":"E","bid_date":1718395198000,"asksize":33,"askexch":"Z","ask_date":1718395199000,"open_interest":4403,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00023000","description":"PLTR + Sep 20 2024 $23.00 Put","exch":"Z","type":"option","last":2.08,"change":-0.04,"volume":190,"open":2.25,"high":2.3,"low":2.08,"close":2.08,"bid":2.06,"ask":2.1,"underlying":"PLTR","strike":23.0,"greeks":{"delta":-0.3865067983677597,"gamma":0.05995121349322863,"theta":-0.014575427435908481,"vega":0.046938211436305145,"rho":0.03070683371194089,"phi":-0.038770021899559026,"bid_iv":0.521135,"mid_iv":0.525391,"ask_iv":0.529648,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-1.89,"average_volume":0,"last_volume":1,"trade_date":1718386071366,"prevclose":2.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":29,"bidexch":"E","bid_date":1718395198000,"asksize":231,"askexch":"B","ask_date":1718395131000,"open_interest":2209,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00023000","description":"PLTR + Sep 20 2024 $23.00 Call","exch":"Z","type":"option","last":2.98,"change":0.21,"volume":153,"open":2.8,"high":3.04,"low":2.57,"close":2.98,"bid":2.98,"ask":3.05,"underlying":"PLTR","strike":23.0,"greeks":{"delta":0.6134932016322403,"gamma":0.05995121349322863,"theta":-0.014575427435908481,"vega":0.046938211436305145,"rho":0.03070683371194089,"phi":-0.038770021899559026,"bid_iv":0.517025,"mid_iv":0.52555,"ask_iv":0.534076,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.59,"average_volume":0,"last_volume":1,"trade_date":1718395101069,"prevclose":2.77,"week_52_high":0.0,"week_52_low":0.0,"bidsize":19,"bidexch":"W","bid_date":1718395169000,"asksize":567,"askexch":"E","ask_date":1718395170000,"open_interest":4067,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00024000","description":"PLTR + Sep 20 2024 $24.00 Put","exch":"Z","type":"option","last":2.58,"change":-0.08,"volume":7,"open":2.74,"high":2.74,"low":2.58,"close":2.58,"bid":2.58,"ask":2.63,"underlying":"PLTR","strike":24.0,"greeks":{"delta":-0.4476200646490757,"gamma":0.06203398291879181,"theta":-0.014789684347506582,"vega":0.0484202320129507,"rho":0.028102607745142665,"phi":-0.03490284053775383,"bid_iv":0.521863,"mid_iv":0.526003,"ask_iv":0.530143,"smv_vol":0.524,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-3.01,"average_volume":0,"last_volume":3,"trade_date":1718391546760,"prevclose":2.66,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"B","bid_date":1718395198000,"asksize":1,"askexch":"B","ask_date":1718395198000,"open_interest":1426,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00024000","description":"PLTR + Sep 20 2024 $24.00 Call","exch":"Z","type":"option","last":2.52,"change":0.22,"volume":1050,"open":2.14,"high":2.6,"low":2.14,"close":2.52,"bid":2.51,"ask":2.55,"underlying":"PLTR","strike":24.0,"greeks":{"delta":0.5523799353509243,"gamma":0.06203398291879181,"theta":-0.014789684347506582,"vega":0.0484202320129507,"rho":0.028102607745142665,"phi":-0.03490284053775383,"bid_iv":0.518452,"mid_iv":0.522585,"ask_iv":0.526717,"smv_vol":0.524,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.57,"average_volume":0,"last_volume":5,"trade_date":1718394812629,"prevclose":2.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":116,"bidexch":"B","bid_date":1718395198000,"asksize":10,"askexch":"N","ask_date":1718395198000,"open_interest":6976,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00025000","description":"PLTR + Sep 20 2024 $25.00 Put","exch":"Z","type":"option","last":3.1,"change":-0.20,"volume":176,"open":3.41,"high":3.41,"low":3.1,"close":3.1,"bid":3.15,"ask":3.25,"underlying":"PLTR","strike":25.0,"greeks":{"delta":-0.5075701836536279,"gamma":0.06260924585682769,"theta":-0.014716789764359781,"vega":0.04842444647185645,"rho":0.025410856827967666,"phi":-0.031110190570338148,"bid_iv":0.516261,"mid_iv":0.526654,"ask_iv":0.537047,"smv_vol":0.524,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":-6.07,"average_volume":0,"last_volume":5,"trade_date":1718392299372,"prevclose":3.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":21,"bidexch":"U","bid_date":1718395199000,"asksize":513,"askexch":"E","ask_date":1718395169000,"open_interest":1688,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00025000","description":"PLTR + Sep 20 2024 $25.00 Call","exch":"Z","type":"option","last":2.05,"change":0.14,"volume":704,"open":1.93,"high":2.17,"low":1.71,"close":2.05,"bid":2.1,"ask":2.14,"underlying":"PLTR","strike":25.0,"greeks":{"delta":0.4924298163463721,"gamma":0.06260924585682769,"theta":-0.014716789764359781,"vega":0.04842444647185645,"rho":0.025410856827967666,"phi":-0.031110190570338148,"bid_iv":0.518203,"mid_iv":0.521302,"ask_iv":0.524401,"smv_vol":0.524,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.33,"average_volume":0,"last_volume":1,"trade_date":1718394638140,"prevclose":1.91,"week_52_high":0.0,"week_52_low":0.0,"bidsize":96,"bidexch":"B","bid_date":1718395198000,"asksize":3,"askexch":"N","ask_date":1718395198000,"open_interest":8845,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920C00026000","description":"PLTR + Sep 20 2024 $26.00 Call","exch":"Z","type":"option","last":1.75,"change":0.16,"volume":125,"open":1.56,"high":1.76,"low":1.44,"close":1.75,"bid":1.57,"ask":1.84,"underlying":"PLTR","strike":26.0,"greeks":{"delta":0.4351687838703567,"gamma":0.061708531671748085,"theta":-0.014368791629683807,"vega":0.04836845303351588,"rho":0.022728029938899108,"phi":-0.027488579055212625,"bid_iv":0.518521,"mid_iv":0.522657,"ask_iv":0.526793,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.07,"average_volume":0,"last_volume":1,"trade_date":1718390710149,"prevclose":1.59,"week_52_high":0.0,"week_52_low":0.0,"bidsize":174,"bidexch":"E","bid_date":1718395198000,"asksize":95,"askexch":"E","ask_date":1718395198000,"open_interest":3791,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00026000","description":"PLTR + Sep 20 2024 $26.00 Put","exch":"Z","type":"option","last":4.0,"change":0.24,"volume":464,"open":4.05,"high":4.1,"low":4.0,"close":4.0,"bid":3.75,"ask":3.9,"underlying":"PLTR","strike":26.0,"greeks":{"delta":-0.5648312161296433,"gamma":0.061708531671748085,"theta":-0.014368791629683807,"vega":0.04836845303351588,"rho":0.022728029938899108,"phi":-0.027488579055212625,"bid_iv":0.517029,"mid_iv":0.527531,"ask_iv":0.538034,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":6.39,"average_volume":0,"last_volume":16,"trade_date":1718377658631,"prevclose":3.76,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"B","bid_date":1718395200000,"asksize":65,"askexch":"X","ask_date":1718395199000,"open_interest":677,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920P00027000","description":"PLTR + Sep 20 2024 $27.00 Put","exch":"Z","type":"option","last":4.35,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":4.5,"ask":4.6,"underlying":"PLTR","strike":27.0,"greeks":{"delta":-0.6186686586230938,"gamma":0.05969423548110116,"theta":-0.013819553226814128,"vega":0.04546486790979594,"rho":0.02013033026061178,"phi":-0.024084239451660494,"bid_iv":0.517299,"mid_iv":0.528382,"ask_iv":0.539465,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718217887248,"prevclose":4.35,"week_52_high":0.0,"week_52_low":0.0,"bidsize":222,"bidexch":"B","bid_date":1718395131000,"asksize":529,"askexch":"E","ask_date":1718395198000,"open_interest":1018,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00027000","description":"PLTR + Sep 20 2024 $27.00 Call","exch":"Z","type":"option","last":1.47,"change":0.11,"volume":49,"open":1.29,"high":1.47,"low":1.29,"close":1.47,"bid":1.45,"ask":1.49,"underlying":"PLTR","strike":27.0,"greeks":{"delta":0.3813313413769062,"gamma":0.05969423548110116,"theta":-0.013819553226814128,"vega":0.04546486790979594,"rho":0.02013033026061178,"phi":-0.024084239451660494,"bid_iv":0.519209,"mid_iv":0.523605,"ask_iv":0.528001,"smv_vol":0.525,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.09,"average_volume":0,"last_volume":4,"trade_date":1718395183460,"prevclose":1.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":422,"bidexch":"E","bid_date":1718395167000,"asksize":61,"askexch":"D","ask_date":1718395128000,"open_interest":5638,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00028000","description":"PLTR + Sep 20 2024 $28.00 Put","exch":"Z","type":"option","last":5.0,"change":0.05,"volume":1,"open":5.0,"high":5.0,"low":5.0,"close":5.0,"bid":5.0,"ask":5.35,"underlying":"PLTR","strike":28.0,"greeks":{"delta":-0.6677454709244383,"gamma":0.056664341930203845,"theta":-0.01308355637314221,"vega":0.043978445858352186,"rho":0.017696368418135284,"phi":-0.020981687294252538,"bid_iv":0.51738,"mid_iv":0.529211,"ask_iv":0.541043,"smv_vol":0.527,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":1.01,"average_volume":0,"last_volume":1,"trade_date":1718285748510,"prevclose":4.95,"week_52_high":0.0,"week_52_low":0.0,"bidsize":127,"bidexch":"E","bid_date":1718395198000,"asksize":587,"askexch":"E","ask_date":1718395198000,"open_interest":497,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00028000","description":"PLTR + Sep 20 2024 $28.00 Call","exch":"Z","type":"option","last":1.21,"change":0.09,"volume":280,"open":1.0,"high":1.25,"low":0.98,"close":1.21,"bid":1.2,"ask":1.24,"underlying":"PLTR","strike":28.0,"greeks":{"delta":0.3322545290755617,"gamma":0.056664341930203845,"theta":-0.01308355637314221,"vega":0.043978445858352186,"rho":0.017696368418135284,"phi":-0.020981687294252538,"bid_iv":0.520155,"mid_iv":0.524704,"ask_iv":0.529253,"smv_vol":0.527,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":8.04,"average_volume":0,"last_volume":1,"trade_date":1718395034422,"prevclose":1.12,"week_52_high":0.0,"week_52_low":0.0,"bidsize":251,"bidexch":"B","bid_date":1718395199000,"asksize":262,"askexch":"B","ask_date":1718395198000,"open_interest":4268,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00029000","description":"PLTR + Sep 20 2024 $29.00 Put","exch":"Z","type":"option","last":5.75,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":5.95,"ask":6.15,"underlying":"PLTR","strike":29.0,"greeks":{"delta":-0.712285493099909,"gamma":0.05302899486514052,"theta":-0.012236296420380505,"vega":0.04206892963501799,"rho":0.015445540919852356,"phi":-0.018166503641392495,"bid_iv":0.519443,"mid_iv":0.532114,"ask_iv":0.544785,"smv_vol":0.527,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718285697862,"prevclose":5.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":100,"bidexch":"B","bid_date":1718395199000,"asksize":532,"askexch":"E","ask_date":1718395198000,"open_interest":220,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00029000","description":"PLTR + Sep 20 2024 $29.00 Call","exch":"Z","type":"option","last":0.99,"change":0.09,"volume":66,"open":0.89,"high":1.01,"low":0.8,"close":0.99,"bid":0.99,"ask":1.03,"underlying":"PLTR","strike":29.0,"greeks":{"delta":0.28771450690009104,"gamma":0.05302899486514052,"theta":-0.012236296420380505,"vega":0.04206892963501799,"rho":0.015445540919852356,"phi":-0.018166503641392495,"bid_iv":0.521541,"mid_iv":0.526298,"ask_iv":0.531056,"smv_vol":0.527,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":10.00,"average_volume":0,"last_volume":10,"trade_date":1718394848022,"prevclose":0.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":245,"bidexch":"B","bid_date":1718395198000,"asksize":235,"askexch":"B","ask_date":1718395198000,"open_interest":4598,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00030000","description":"PLTR + Sep 20 2024 $30.00 Put","exch":"Z","type":"option","last":7.17,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":6.85,"ask":7.2,"underlying":"PLTR","strike":30.0,"greeks":{"delta":-0.7523365586261199,"gamma":0.049020916120105354,"theta":-0.011321829693347853,"vega":0.03981191474854244,"rho":0.013390484571862293,"phi":-0.015635515294709634,"bid_iv":0.5105,"mid_iv":0.524914,"ask_iv":0.539328,"smv_vol":0.528,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718297204232,"prevclose":7.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":11,"bidexch":"B","bid_date":1718395199000,"asksize":482,"askexch":"E","ask_date":1718395199000,"open_interest":462,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00030000","description":"PLTR + Sep 20 2024 $30.00 Call","exch":"Z","type":"option","last":0.82,"change":0.07,"volume":121,"open":0.71,"high":0.85,"low":0.71,"close":0.82,"bid":0.76,"ask":0.85,"underlying":"PLTR","strike":30.0,"greeks":{"delta":0.24766344137388013,"gamma":0.049020916120105354,"theta":-0.011321829693347853,"vega":0.03981191474854244,"rho":0.013390484571862293,"phi":-0.015635515294709634,"bid_iv":0.52483,"mid_iv":0.528599,"ask_iv":0.532369,"smv_vol":0.528,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":9.34,"average_volume":0,"last_volume":1,"trade_date":1718394552964,"prevclose":0.75,"week_52_high":0.0,"week_52_low":0.0,"bidsize":155,"bidexch":"B","bid_date":1718395198000,"asksize":21,"askexch":"N","ask_date":1718395199000,"open_interest":8513,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00031000","description":"PLTR + Sep 20 2024 $31.00 Put","exch":"Z","type":"option","last":8.55,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":7.55,"ask":7.85,"underlying":"PLTR","strike":31.0,"greeks":{"delta":-0.7877767806271031,"gamma":0.04481144924636941,"theta":-0.010367942268948549,"vega":0.037256115257292374,"rho":0.011546887934572043,"phi":-0.013396324165526607,"bid_iv":0.503939,"mid_iv":0.527523,"ask_iv":0.551107,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":25,"trade_date":1718027124747,"prevclose":8.55,"week_52_high":0.0,"week_52_low":0.0,"bidsize":138,"bidexch":"E","bid_date":1718395198000,"asksize":373,"askexch":"E","ask_date":1718395198000,"open_interest":238,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00031000","description":"PLTR + Sep 20 2024 $31.00 Call","exch":"Z","type":"option","last":0.71,"change":0.09,"volume":100,"open":0.6,"high":0.71,"low":0.6,"close":0.71,"bid":0.67,"ask":0.7,"underlying":"PLTR","strike":31.0,"greeks":{"delta":0.21222321937289693,"gamma":0.04481144924636941,"theta":-0.010367942268948549,"vega":0.037256115257292374,"rho":0.011546887934572043,"phi":-0.013396324165526607,"bid_iv":0.52528,"mid_iv":0.529489,"ask_iv":0.533697,"smv_vol":0.529,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":14.52,"average_volume":0,"last_volume":1,"trade_date":1718392575190,"prevclose":0.62,"week_52_high":0.0,"week_52_low":0.0,"bidsize":165,"bidexch":"B","bid_date":1718395199000,"asksize":148,"askexch":"D","ask_date":1718395168000,"open_interest":8948,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00032000","description":"PLTR + Sep 20 2024 $32.00 Put","exch":"Z","type":"option","last":8.5,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":8.25,"ask":8.85,"underlying":"PLTR","strike":32.0,"greeks":{"delta":-0.8186114253605931,"gamma":0.04057652374932713,"theta":-0.009411635594118171,"vega":0.0309119144165029,"rho":0.009923442605760552,"phi":-0.011448485932596952,"bid_iv":0.503441,"mid_iv":0.524,"ask_iv":0.54456,"smv_vol":0.531,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":2,"trade_date":1718287074204,"prevclose":8.5,"week_52_high":0.0,"week_52_low":0.0,"bidsize":128,"bidexch":"Z","bid_date":1718395198000,"asksize":166,"askexch":"X","ask_date":1718395199000,"open_interest":3,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00032000","description":"PLTR + Sep 20 2024 $32.00 Call","exch":"Z","type":"option","last":0.59,"change":0.07,"volume":119,"open":0.45,"high":0.59,"low":0.45,"close":0.59,"bid":0.55,"ask":0.77,"underlying":"PLTR","strike":32.0,"greeks":{"delta":0.1813885746394069,"gamma":0.04057652374932713,"theta":-0.009411635594118171,"vega":0.0309119144165029,"rho":0.009923442605760552,"phi":-0.011448485932596952,"bid_iv":0.526613,"mid_iv":0.531468,"ask_iv":0.536322,"smv_vol":0.531,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":13.47,"average_volume":0,"last_volume":1,"trade_date":1718394995149,"prevclose":0.52,"week_52_high":0.0,"week_52_low":0.0,"bidsize":398,"bidexch":"E","bid_date":1718395169000,"asksize":349,"askexch":"E","ask_date":1718395199000,"open_interest":15037,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00033000","description":"PLTR + Sep 20 2024 $33.00 Put","exch":"Z","type":"option","last":11.19,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.5,"ask":9.65,"underlying":"PLTR","strike":33.0,"greeks":{"delta":-0.8456670826115242,"gamma":0.03643728996686815,"theta":-0.008473095464260314,"vega":0.028042013450287947,"rho":0.008485895662843886,"phi":-0.009739635741801145,"bid_iv":0.503575,"mid_iv":0.531939,"ask_iv":0.560303,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":10,"trade_date":1715088694079,"prevclose":11.19,"week_52_high":0.0,"week_52_low":0.0,"bidsize":67,"bidexch":"E","bid_date":1718395199000,"asksize":149,"askexch":"E","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00033000","description":"PLTR + Sep 20 2024 $33.00 Call","exch":"Z","type":"option","last":0.48,"change":0.05,"volume":45,"open":0.47,"high":0.48,"low":0.45,"close":0.48,"bid":0.45,"ask":0.48,"underlying":"PLTR","strike":33.0,"greeks":{"delta":0.1543329173884758,"gamma":0.03643728996686815,"theta":-0.008473095464260314,"vega":0.028042013450287947,"rho":0.008485895662843886,"phi":-0.009739635741801145,"bid_iv":0.528085,"mid_iv":0.533436,"ask_iv":0.538788,"smv_vol":0.533,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":11.63,"average_volume":0,"last_volume":23,"trade_date":1718391483832,"prevclose":0.43,"week_52_high":0.0,"week_52_low":0.0,"bidsize":368,"bidexch":"E","bid_date":1718395167000,"asksize":20,"askexch":"N","ask_date":1718395027000,"open_interest":4197,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00034000","description":"PLTR + Sep 20 2024 $34.00 Put","exch":"Z","type":"option","last":10.7,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":9.45,"ask":10.8,"underlying":"PLTR","strike":34.0,"greeks":{"delta":-0.8690699672540125,"gamma":0.0324871496339956,"theta":-0.007570870260730216,"vega":0.025142521963442525,"rho":0.00723195859631324,"phi":-0.008261730655156896,"bid_iv":0.471624,"mid_iv":0.523629,"ask_iv":0.575633,"smv_vol":0.537,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717682136457,"prevclose":10.7,"week_52_high":0.0,"week_52_low":0.0,"bidsize":162,"bidexch":"Z","bid_date":1718395199000,"asksize":184,"askexch":"Z","ask_date":1718395199000,"open_interest":2,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00034000","description":"PLTR + Sep 20 2024 $34.00 Call","exch":"Z","type":"option","last":0.38,"change":0.02,"volume":103,"open":0.35,"high":0.38,"low":0.35,"close":0.38,"bid":0.38,"ask":0.4,"underlying":"PLTR","strike":34.0,"greeks":{"delta":0.13093003274598744,"gamma":0.0324871496339956,"theta":-0.007570870260730216,"vega":0.025142521963442525,"rho":0.00723195859631324,"phi":-0.008261730655156896,"bid_iv":0.534184,"mid_iv":0.538168,"ask_iv":0.542152,"smv_vol":0.537,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":5.56,"average_volume":0,"last_volume":100,"trade_date":1718384997259,"prevclose":0.36,"week_52_high":0.0,"week_52_low":0.0,"bidsize":91,"bidexch":"E","bid_date":1718395170000,"asksize":43,"askexch":"D","ask_date":1718395198000,"open_interest":5783,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00035000","description":"PLTR + Sep 20 2024 $35.00 Put","exch":"Z","type":"option","last":11.61,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":11.4,"ask":11.55,"underlying":"PLTR","strike":35.0,"greeks":{"delta":-0.8894933077053704,"gamma":0.028756609661881264,"theta":-0.006713901451674781,"vega":0.02232985507444976,"rho":0.006130187421991916,"phi":-0.00697216475720186,"bid_iv":0.0,"mid_iv":0.576429,"ask_iv":0.576429,"smv_vol":0.541,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717681515997,"prevclose":11.61,"week_52_high":0.0,"week_52_low":0.0,"bidsize":56,"bidexch":"E","bid_date":1718395169000,"asksize":60,"askexch":"E","ask_date":1718395169000,"open_interest":7,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00035000","description":"PLTR + Sep 20 2024 $35.00 Call","exch":"Z","type":"option","last":0.35,"change":0.05,"volume":1134,"open":0.26,"high":0.35,"low":0.26,"close":0.35,"bid":0.32,"ask":0.34,"underlying":"PLTR","strike":35.0,"greeks":{"delta":0.11050669229462964,"gamma":0.028756609661881264,"theta":-0.006713901451674781,"vega":0.02232985507444976,"rho":0.006130187421991916,"phi":-0.00697216475720186,"bid_iv":0.539766,"mid_iv":0.544023,"ask_iv":0.54828,"smv_vol":0.541,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.67,"average_volume":0,"last_volume":1,"trade_date":1718394071002,"prevclose":0.3,"week_52_high":0.0,"week_52_low":0.0,"bidsize":3,"bidexch":"D","bid_date":1718394595000,"asksize":186,"askexch":"E","ask_date":1718395169000,"open_interest":6901,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00036000","description":"PLTR + Sep 20 2024 $36.00 Put","exch":"Z","type":"option","last":13.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":12.4,"ask":12.55,"underlying":"PLTR","strike":36.0,"greeks":{"delta":-0.9068401616219309,"gamma":0.025318931982132805,"theta":-0.0059232855911121665,"vega":0.019590209323424524,"rho":0.005187781082193007,"phi":-0.005877023919742541,"bid_iv":0.0,"mid_iv":0.696979,"ask_iv":0.696979,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714745193715,"prevclose":13.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"Z","bid_date":1718395130000,"asksize":40,"askexch":"Z","ask_date":1718395198000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00036000","description":"PLTR + Sep 20 2024 $36.00 Call","exch":"Z","type":"option","last":0.28,"change":0.04,"volume":1,"open":0.28,"high":0.28,"low":0.28,"close":0.28,"bid":0.26,"ask":0.29,"underlying":"PLTR","strike":36.0,"greeks":{"delta":0.09315983837806907,"gamma":0.025318931982132805,"theta":-0.0059232855911121665,"vega":0.019590209323424524,"rho":0.005187781082193007,"phi":-0.005877023919742541,"bid_iv":0.539828,"mid_iv":0.546994,"ask_iv":0.55416,"smv_vol":0.546,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":16.67,"average_volume":0,"last_volume":1,"trade_date":1718382270899,"prevclose":0.24,"week_52_high":0.0,"week_52_low":0.0,"bidsize":313,"bidexch":"B","bid_date":1718395199000,"asksize":300,"askexch":"B","ask_date":1718395199000,"open_interest":1072,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00037000","description":"PLTR + Sep 20 2024 $37.00 Put","exch":"Z","type":"option","last":14.2,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":13.2,"ask":13.7,"underlying":"PLTR","strike":37.0,"greeks":{"delta":-0.9219411966832327,"gamma":0.02213815194591515,"theta":-0.005185484705469824,"vega":0.01703649066906856,"rho":0.004363060612660829,"phi":-0.004923785085486632,"bid_iv":0.0,"mid_iv":0.6629,"ask_iv":0.6629,"smv_vol":0.55,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714397528258,"prevclose":14.2,"week_52_high":0.0,"week_52_low":0.0,"bidsize":120,"bidexch":"N","bid_date":1718395135000,"asksize":130,"askexch":"N","ask_date":1718395199000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00037000","description":"PLTR + Sep 20 2024 $37.00 Call","exch":"Z","type":"option","last":0.22,"change":0.01,"volume":1,"open":0.22,"high":0.22,"low":0.22,"close":0.22,"bid":0.22,"ask":0.25,"underlying":"PLTR","strike":37.0,"greeks":{"delta":0.07805880331676732,"gamma":0.02213815194591515,"theta":-0.005185484705469824,"vega":0.01703649066906856,"rho":0.004363060612660829,"phi":-0.004923785085486632,"bid_iv":0.54544,"mid_iv":0.552998,"ask_iv":0.560556,"smv_vol":0.55,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":4.77,"average_volume":0,"last_volume":1,"trade_date":1718372367222,"prevclose":0.21,"week_52_high":0.0,"week_52_low":0.0,"bidsize":60,"bidexch":"E","bid_date":1718395199000,"asksize":664,"askexch":"E","ask_date":1718395167000,"open_interest":516,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00038000","description":"PLTR + Sep 20 2024 $38.00 Put","exch":"Z","type":"option","last":15.15,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":14.4,"ask":14.7,"underlying":"PLTR","strike":38.0,"greeks":{"delta":-0.9345956173488901,"gamma":0.019283405650138457,"theta":-0.004524067112259588,"vega":0.014624595919094763,"rho":0.0036678885679409805,"phi":-0.004125106281560598,"bid_iv":0.0,"mid_iv":0.664565,"ask_iv":0.664565,"smv_vol":0.555,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1714745344491,"prevclose":15.15,"week_52_high":0.0,"week_52_low":0.0,"bidsize":1,"bidexch":"C","bid_date":1718395099000,"asksize":114,"askexch":"Q","ask_date":1718395091000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00038000","description":"PLTR + Sep 20 2024 $38.00 Call","exch":"Z","type":"option","last":0.17,"change":0.00,"volume":1,"open":null,"high":null,"low":null,"close":null,"bid":0.19,"ask":0.2,"underlying":"PLTR","strike":38.0,"greeks":{"delta":0.06540438265110998,"gamma":0.019283405650138457,"theta":-0.004524067112259588,"vega":0.014624595919094763,"rho":0.0036678885679409805,"phi":-0.004125106281560598,"bid_iv":0.552291,"mid_iv":0.555193,"ask_iv":0.558094,"smv_vol":0.555,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1718294492820,"prevclose":0.17,"week_52_high":0.0,"week_52_low":0.0,"bidsize":20,"bidexch":"D","bid_date":1718393811000,"asksize":100,"askexch":"N","ask_date":1718392595000,"open_interest":2197,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920C00039000","description":"PLTR + Sep 20 2024 $39.00 Call","exch":"Z","type":"option","last":0.25,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":0.16,"ask":0.35,"underlying":"PLTR","strike":39.0,"greeks":{"delta":0.054465411671361444,"gamma":0.016684778870024956,"theta":-0.003916940205830219,"vega":0.014894853346831417,"rho":0.0030642968490582003,"phi":-0.003434780250222147,"bid_iv":0.555765,"mid_iv":0.562547,"ask_iv":0.56933,"smv_vol":0.56,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":1,"trade_date":1717695391520,"prevclose":0.25,"week_52_high":0.0,"week_52_low":0.0,"bidsize":37,"bidexch":"X","bid_date":1718395198000,"asksize":565,"askexch":"M","ask_date":1718395198000,"open_interest":1085,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"},{"symbol":"PLTR240920P00039000","description":"PLTR + Sep 20 2024 $39.00 Put","exch":"Z","type":"option","last":14.65,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":15.25,"ask":15.65,"underlying":"PLTR","strike":39.0,"greeks":{"delta":-0.9455345883286386,"gamma":0.016684778870024956,"theta":-0.003916940205830219,"vega":0.014894853346831417,"rho":0.0030642968490582003,"phi":-0.003434780250222147,"bid_iv":0.0,"mid_iv":0.744264,"ask_iv":0.744264,"smv_vol":0.56,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":20,"trade_date":1715005365308,"prevclose":14.65,"week_52_high":0.0,"week_52_low":0.0,"bidsize":116,"bidexch":"Q","bid_date":1718395091000,"asksize":116,"askexch":"Q","ask_date":1718395091000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920P00040000","description":"PLTR + Sep 20 2024 $40.00 Put","exch":"Z","type":"option","last":18.9,"change":0.00,"volume":0,"open":null,"high":null,"low":null,"close":null,"bid":16.3,"ask":16.7,"underlying":"PLTR","strike":40.0,"greeks":{"delta":-0.9546776463808487,"gamma":0.01438770562029864,"theta":-0.003379242144660907,"vega":0.012679490009064022,"rho":0.0025574245062081847,"phi":-0.002857868106331818,"bid_iv":0.0,"mid_iv":0.794529,"ask_iv":0.794529,"smv_vol":0.565,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":0.00,"average_volume":0,"last_volume":3,"trade_date":1715350174126,"prevclose":18.9,"week_52_high":0.0,"week_52_low":0.0,"bidsize":113,"bidexch":"Q","bid_date":1718395091000,"asksize":120,"askexch":"Z","ask_date":1718394973000,"open_interest":0,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"put","root_symbol":"PLTR"},{"symbol":"PLTR240920C00040000","description":"PLTR + Sep 20 2024 $40.00 Call","exch":"Z","type":"option","last":0.15,"change":0.01,"volume":93,"open":0.16,"high":0.16,"low":0.15,"close":0.15,"bid":0.14,"ask":0.16,"underlying":"PLTR","strike":40.0,"greeks":{"delta":0.045322353619151254,"gamma":0.01438770562029864,"theta":-0.003379242144660907,"vega":0.012679490009064022,"rho":0.0025574245062081847,"phi":-0.002857868106331818,"bid_iv":0.563828,"mid_iv":0.570788,"ask_iv":0.577748,"smv_vol":0.565,"updated_at":"2024-06-14 + 20:00:03"},"change_percentage":7.15,"average_volume":0,"last_volume":10,"trade_date":1718393219243,"prevclose":0.14,"week_52_high":0.0,"week_52_low":0.0,"bidsize":59,"bidexch":"A","bid_date":1718395168000,"asksize":10,"askexch":"N","ask_date":1718393263000,"open_interest":7997,"contract_size":100,"expiration_date":"2024-09-20","expiration_type":"standard","option_type":"call","root_symbol":"PLTR"}]}}' + headers: + Access-Control-Allow-Headers: + - accept, authorization + Access-Control-Allow-Methods: + - GET, PUT, POST, DELETE + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json;charset=UTF-8 + Date: + - Sat, 15 Jun 2024 00:58:50 GMT + Transfer-Encoding: + - chunked + X-Ratelimit-Allowed: + - '200' + X-Ratelimit-Available: + - '198' + X-Ratelimit-Expiry: + - '1718413140000' + X-Ratelimit-Used: + - '2' + status: + code: 200 + message: '' version: 1 diff --git a/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/models/economic_calendar.py b/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/models/economic_calendar.py index 72dbff12cbc..2fb34a00cc5 100644 --- a/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/models/economic_calendar.py +++ b/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/models/economic_calendar.py @@ -9,6 +9,7 @@ from datetime import ( from typing import Any, Dict, List, Literal, Optional, Union from warnings import warn +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.economic_calendar import ( EconomicCalendarData, @@ -229,7 +230,7 @@ class TEEconomicCalendarFetcher( query.group = query.group.replace("_", " ") # type: ignore url = url_generator.generate_url(query) if not url: - raise RuntimeError( + raise OpenBBError( "No url generated. Check combination of input parameters." ) url = f"{url}{api_key}" @@ -237,7 +238,7 @@ class TEEconomicCalendarFetcher( async def callback(response: ClientResponse, _: Any) -> Union[dict, List[dict]]: """Return the response.""" if response.status != 200: - raise RuntimeError( + raise OpenBBError( f"Error in TE request: \n{await response.text()}" f"\nInfo -> TE API tend to fail if the number of countries is above {TE_COUNTRY_LIMIT}." ) diff --git a/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/utils/url_generator.py b/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/utils/url_generator.py index 7ec2bb20105..c878fe614d7 100644 --- a/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/utils/url_generator.py +++ b/openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/utils/url_generator.py @@ -48,6 +48,7 @@ def generate_url(in_query): # Construct URL based on query parameters # Country Only if check_args(query, ["country"]): + # pylint: disable=possibly-used-before-assignment url = f"{base_url}/country/{country}?c=" # Country + Date elif check_args(query, ["country", "start_date", "end_date"]): @@ -59,6 +60,7 @@ def generate_url(in_query): url = f"{base_url}/country/{country}?{urlencode(query)}&c=" # Country + Group elif check_args(query, ["country", "group"]): + # pylint: disable=possibly-used-before-assignment url = f"{base_url}/country/{country}/group/{group}?c=" # Country + Group + Date elif check_args(query, ["country", "group", "start_date", "end_date"]): diff --git a/openbb_platform/providers/tradingeconomics/poetry.lock b/openbb_platform/providers/tradingeconomics/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/tradingeconomics/poetry.lock +++ b/openbb_platform/providers/tradingeconomics/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/tradingeconomics/pyproject.toml b/openbb_platform/providers/tradingeconomics/pyproject.toml index bd763a4dcaa..9deaaa6dea2 100644 --- a/openbb_platform/providers/tradingeconomics/pyproject.toml +++ b/openbb_platform/providers/tradingeconomics/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-tradingeconomics" -version = "1.2.2" +version = "1.2.3" description = "Trading Economics extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_tradingeconomics" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/wsj/poetry.lock b/openbb_platform/providers/wsj/poetry.lock index 0f2b1409801..093ec6440cc 100644 --- a/openbb_platform/providers/wsj/poetry.lock +++ b/openbb_platform/providers/wsj/poetry.lock @@ -971,13 +971,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2037,4 +2037,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6cef6914f80226a9e4f6578d852a26e75b05f77482fd4f61502178ff1442e025" +content-hash = "c60f83ca7ea8f013136da295af84119795cfabf177acaf348eec39cad38b35a2" diff --git a/openbb_platform/providers/wsj/pyproject.toml b/openbb_platform/providers/wsj/pyproject.toml index 2ba6dbeed0e..1cbba7185b6 100644 --- a/openbb_platform/providers/wsj/pyproject.toml +++ b/openbb_platform/providers/wsj/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-wsj" -version = "1.2.2" +version = "1.2.3" description = "wsj extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,7 +9,7 @@ packages = [{ include = "openbb_wsj" }] [tool.poetry.dependencies] python = "^3.8" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py index a313f63ff31..afdbc894dd2 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py @@ -70,6 +70,7 @@ class YFinanceCompanyNewsFetcher( async def get_one(symbol): data = Ticker(symbol).get_news() for d in data: + images = None if d.get("thumbnail"): images = d["thumbnail"].get("resolutions") _ = d.pop("uuid") diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/crypto_historical.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/crypto_historical.py index 00ca5fd7b0e..332748648c7 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/crypto_historical.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/crypto_historical.py @@ -81,14 +81,12 @@ class YFinanceCryptoHistoricalFetcher( **kwargs: Any, ) -> List[Dict]: """Return the raw data from the Yahoo Finance endpoint.""" - tickers = query.symbol.split(",") new_tickers = [] for ticker in tickers: - if "-" not in ticker: - new_ticker = ticker[:-3] + "-" + ticker[-3:] - if "-" in ticker: - new_ticker = ticker + new_ticker = ( + ticker[:-3] + "-" + ticker[-3:] if "-" not in ticker else ticker + ) new_tickers.append(new_ticker) symbols = ",".join(new_tickers) diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/futures_historical.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/futures_historical.py index f7715d2dcd6..ce30fa2194f 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/futures_historical.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/futures_historical.py @@ -85,11 +85,9 @@ class YFinanceFuturesHistoricalFetcher( exchange = futures_data[futures_data["Ticker"] == symbol][ "Exchange" ].values[0] - new_symbol = ( - f"{symbol}{MONTHS[expiry_date.month]}{str(expiry_date.year)[-2:]}.{exchange}" - if "." not in symbol - else symbol - ) + new_symbol = f"{symbol}{MONTHS[expiry_date.month]}{str(expiry_date.year)[-2:]}.{exchange}" + else: + new_symbol = symbol new_symbols.append(new_symbol) else: new_symbols.append(symbol) diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py index 713d786dd38..c68d3859614 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py @@ -3,6 +3,7 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.historical_dividends import ( HistoricalDividendsData, @@ -43,10 +44,10 @@ class YFinanceHistoricalDividendsFetcher( try: ticker = Ticker(query.symbol).get_dividends() if isinstance(ticker, List) and not ticker or ticker.empty: # type: ignore - raise ValueError(f"No dividend data found for {query.symbol}") + raise OpenBBError(f"No dividend data found for {query.symbol}") except Exception as e: - raise RuntimeError(f"Error getting data for {query.symbol}: {e}") from e - ticker.index.name = "ex_dividend_date" + raise OpenBBError(f"Error getting data for {query.symbol}: {e}") from e + ticker.index.name = "ex_dividend_date" # type: ignore[union-attr] ticker.name = "amount" # type: ignore if query.start_date is not None: ticker = ticker[ticker.index.astype(str) >= query.start_date.strftime("%Y-%m-%d")] # type: ignore diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py index c7eac6c1e8f..3df9d4fa378 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py @@ -3,6 +3,7 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.key_executives import ( KeyExecutivesData, @@ -57,9 +58,9 @@ class YFinanceKeyExecutivesFetcher( try: ticker = Ticker(query.symbol).get_info() except Exception as e: - raise RuntimeError(f"Error getting data for {query.symbol}: {e}") from e + raise OpenBBError(f"Error getting data for {query.symbol}: {e}") from e if ticker.get("companyOfficers") is None: - raise ValueError(f"No executive data found for {query.symbol}") + raise OpenBBError(f"No executive data found for {query.symbol}") officers_data = ticker.get("companyOfficers", []) [d.pop("maxAge") for d in officers_data] # pylint: disable=W0106 return officers_data diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py index 62651b94c84..735f0efcba5 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py @@ -7,6 +7,7 @@ from datetime import datetime from typing import Any, Dict, List, Optional import yfinance as yf +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.annotated_result import AnnotatedResult from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.options_chains import ( @@ -28,24 +29,21 @@ class YFinanceOptionsChainsData(OptionsChainsData): __alias_dict__ = { "contract_symbol": "contractSymbol", - "last_trade_timestamp": "lastTradeDate", + "last_trade_time": "lastTradeDate", "last_trade_price": "lastPrice", "change_percent": "percentChange", "open_interest": "openInterest", "implied_volatility": "impliedVolatility", "in_the_money": "inTheMoney", } - dte: Optional[int] = Field( - default=None, - description="Days to expiration.", - ) + in_the_money: Optional[bool] = Field( default=None, description="Whether the option is in the money.", ) - last_trade_timestamp: Optional[datetime] = Field( + currency: Optional[str] = Field( default=None, - description="Timestamp for when the option was last traded.", + description="Currency of the option.", ) @@ -67,10 +65,11 @@ class YFinanceOptionsChainsFetcher( ) -> Dict: """Extract the raw data from YFinance.""" symbol = query.symbol.upper() + symbol = "^" + symbol if symbol in ["VIX", "RUT", "SPX", "NDX"] else symbol ticker = yf.Ticker(symbol) expirations = list(ticker.options) if not expirations or len(expirations) == 0: - raise ValueError(f"No options found for {symbol}") + raise OpenBBError(f"No options found for {symbol}") chains_output: List = [] underlying = ticker.option_chain(expirations[0])[2] underlying_output: Dict = { @@ -107,7 +106,9 @@ class YFinanceOptionsChainsFetcher( } tz = timezone(underlying_output.get("exchange_tz", "UTC")) - async def get_chain(ticker, expiration, tz): + underlying_price = underlying_output.get("last_price") + + async def get_chain(ticker, expiration, tz, underlying_price): """Get the data for one expiration.""" exp = datetime.strptime(expiration, "%Y-%m-%d").date() now = datetime.now().date() @@ -124,18 +125,23 @@ class YFinanceOptionsChainsFetcher( .sort_index() .reset_index() ) + chain = chain.drop(columns=["contractSize"]) chain["dte"] = dte + if underlying_price is not None: + chain["underlying_price"] = underlying_price + chain["underlying_symbol"] = symbol chain["percentChange"] = chain["percentChange"] / 100 - for col in ["currency", "contractSize"]: - if col in chain.columns: - chain = chain.drop(col, axis=1) + if len(chain) > 0: chains_output.extend( chain.fillna("N/A").replace("N/A", None).to_dict("records") ) await asyncio.gather( - *[get_chain(ticker, expiration, tz) for expiration in expirations] + *[ + get_chain(ticker, expiration, tz, underlying_price) + for expiration in expirations + ] ) if not chains_output: diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py index 3ee2e7d8f37..4efda904129 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py @@ -5,6 +5,7 @@ import asyncio import warnings from typing import Any, Dict, List, Optional +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.price_target_consensus import ( PriceTargetConsensusData, @@ -26,7 +27,7 @@ class YFinancePriceTargetConsensusQueryParams(PriceTargetConsensusQueryParams): def check_symbol(cls, value): """Check the symbol.""" if not value: - raise RuntimeError("Error: Symbol is a required field for yFinance.") + raise OpenBBError("Error: Symbol is a required field for yFinance.") return value diff --git a/openbb_platform/providers/yfinance/poetry.lock b/openbb_platform/providers/yfinance/poetry.lock index 1e1544ba149..9760a68ca04 100644 --- a/openbb_platform/providers/yfinance/poetry.lock +++ b/openbb_platform/providers/yfinance/poetry.lock @@ -473,8 +473,6 @@ files = [ {file = "frozendict-2.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d13b4310db337f4d2103867c5a05090b22bc4d50ca842093779ef541ea9c9eea"}, {file = "frozendict-2.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:b3b967d5065872e27b06f785a80c0ed0a45d1f7c9b85223da05358e734d858ca"}, {file = "frozendict-2.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:4ae8d05c8d0b6134bfb6bfb369d5fa0c4df21eabb5ca7f645af95fdc6689678e"}, - {file = "frozendict-2.4.4-py311-none-any.whl", hash = "sha256:705efca8d74d3facbb6ace80ab3afdd28eb8a237bfb4063ed89996b024bc443d"}, - {file = "frozendict-2.4.4-py312-none-any.whl", hash = "sha256:d9647563e76adb05b7cde2172403123380871360a114f546b4ae1704510801e5"}, {file = "frozendict-2.4.4.tar.gz", hash = "sha256:3f7c031b26e4ee6a3f786ceb5e3abf1181c4ade92dce1f847da26ea2c96008c7"}, ] @@ -817,13 +815,9 @@ files = [ {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, @@ -1158,13 +1152,13 @@ files = [ [[package]] name = "openbb-core" -version = "1.2.4" +version = "1.2.5" description = "OpenBB package with core functionality." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "openbb_core-1.2.4-py3-none-any.whl", hash = "sha256:5ffa00c660075069e0867d0c957fd92dcdf6bd47943b189197116f6f59ee3bff"}, - {file = "openbb_core-1.2.4.tar.gz", hash = "sha256:b6bb61a46c89f889e3ebba833d18ae2f4bcfc191cdc7cccd5135f03888599361"}, + {file = "openbb_core-1.2.5-py3-none-any.whl", hash = "sha256:316112ce29d054a7cfdc9a3933e1f543f55606507b3ea725b8e1d1fe9ea23c38"}, + {file = "openbb_core-1.2.5.tar.gz", hash = "sha256:b0904a0feed1a94efeb516ae7997339456cd35d896b5b869924d0786b64d47db"}, ] [package.dependencies] @@ -2289,4 +2283,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "7a29d14a23dde9a496c5dd598ded3cdd0e4ba6c9b0216092659e1dd769f0c256" +content-hash = "7cebead272ff4e99ff26baf20f398062edf6d90d2c4f6a178b82fc8af00fa293" diff --git a/openbb_platform/providers/yfinance/pyproject.toml b/openbb_platform/providers/yfinance/pyproject.toml index 62216b70b27..968b9be4dde 100644 --- a/openbb_platform/providers/yfinance/pyproject.toml +++ b/openbb_platform/providers/yfinance/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb-yfinance" -version = "1.2.2" +version = "1.2.3" description = "yfinance extension for OpenBB" authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -10,7 +10,7 @@ packages = [{ include = "openbb_yfinance" }] [tool.poetry.dependencies] python = "^3.8" yfinance = "^0.2.27" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" [build-system] requires = ["poetry-core"] diff --git a/openbb_platform/pyproject.toml b/openbb_platform/pyproject.toml index 8c8b4a4005c..00a3782a458 100644 --- a/openbb_platform/pyproject.toml +++ b/openbb_platform/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openbb" -version = "4.2.2" +version = "4.2.3" description = "Investment research for everyone, anywhere." authors = ["OpenBB Team "] license = "AGPL-3.0-only" @@ -9,52 +9,52 @@ packages = [{ include = "openbb" }] [tool.poetry.dependencies] python = ">=3.8,<3.12" -openbb-core = "^1.2.4" +openbb-core = "^1.2.5" -openbb-benzinga = "^1.2.2" -openbb-econdb = "^1.1.2" -openbb-federal-reserve = "^1.2.2" -openbb-fmp = "^1.2.2" -openbb-fred = "^1.2.2" -openbb-intrinio = "^1.2.2" -openbb-oecd = "^1.2.2" -openbb-polygon = "^1.2.2" -openbb-sec = "^1.2.2" -openbb-tiingo = "^1.2.2" -openbb-tradingeconomics = "^1.2.2" -openbb-yfinance = "^1.2.2" +openbb-benzinga = "^1.2.3" +openbb-econdb = "^1.1.3" +openbb-federal-reserve = "^1.2.3" +openbb-fmp = "^1.2.3" +openbb-fred = "^1.2.3" +openbb-intrinio = "^1.2.3" +openbb-oecd = "^1.2.3" +openbb-polygon = "^1.2.3" +openbb-sec = "^1.2.3" +openbb-tiingo = "^1.2.3" +openbb-tradingeconomics = "^1.2.3" +openbb-yfinance = "^1.2.3" -openbb-commodity = "^1.1.2" -openbb-crypto = "^1.2.2" -openbb-currency = "^1.2.2" -openbb-derivatives = "^1.2.2" -openbb-economy = "^1.2.2" -openbb-equity = "^1.2.2" -openbb-etf = "^1.2.2" -openbb-fixedincome = "^1.2.2" -openbb-index = "^1.2.2" -openbb-news = "^1.2.2" -openbb-regulators = "^1.2.2" +openbb-commodity = "^1.1.3" +openbb-crypto = "^1.2.3" +openbb-currency = "^1.2.3" +openbb-derivatives = "^1.2.3" +openbb-economy = "^1.2.3" +openbb-equity = "^1.2.3" +openbb-etf = "^1.2.3" +openbb-fixedincome = "^1.2.3" +openbb-index = "^1.2.3" +openbb-news = "^1.2.3" +openbb-regulators = "^1.2.3" # Community dependencies -openbb-alpha-vantage = { version = "^1.2.2", optional = true } -openbb-biztoc = { version = "^1.2.2", optional = true } -openbb-cboe = { version = "^1.2.2", optional = true } -openbb-ecb = { version = "^1.2.2", optional = true } -openbb-finra = { version = "^1.2.2", optional = true } -openbb-finviz = { version = "^1.1.2", optional = true } -openbb-government-us = { version = "^1.2.2", optional = true } -openbb-nasdaq = { version = "^1.2.2", optional = true } -openbb-seeking-alpha = { version = "^1.2.2", optional = true } -openbb-stockgrid = { version = "^1.2.2", optional = true } -openbb-tmx = { version = "^1.1.2", optional = true } -openbb-tradier = { version = "^1.1.2", optional = true } -openbb-wsj = { version = "^1.2.2", optional = true } +openbb-alpha-vantage = { version = "^1.2.3", optional = true } +openbb-biztoc = { version = "^1.2.3", optional = true } +openbb-cboe = { version = "^1.2.3", optional = true } +openbb-ecb = { version = "^1.2.3", optional = true } +openbb-finra = { version = "^1.2.3", optional = true } +openbb-finviz = { version = "^1.1.3", optional = true } +openbb-government-us = { version = "^1.2.3", optional = true } +openbb-nasdaq = { version = "^1.2.3", optional = true } +openbb-seeking-alpha = { version = "^1.2.3", optional = true } +openbb-stockgrid = { version = "^1.2.3", optional = true } +openbb-tmx = { version = "^1.1.3", optional = true } +openbb-tradier = { version = "^1.1.3", optional = true } +openbb-wsj = { version = "^1.2.3", optional = true } openbb-charting = { version = "^2.1.2", optional = true } -openbb-econometrics = { version = "^1.2.2", optional = true } -openbb-quantitative = { version = "^1.2.2", optional = true } -openbb-technical = { version = "^1.2.2", optional = true } +openbb-econometrics = { version = "^1.2.3", optional = true } +openbb-quantitative = { version = "^1.2.3", optional = true } +openbb-technical = { version = "^1.2.3", optional = true } [tool.poetry.extras] alpha_vantage = ["openbb-alpha-vantage"] diff --git a/website/content/platform/developer_guide/extensions.mdx b/website/content/platform/developer_guide/extensions.mdx new file mode 100644 index 00000000000..28acc772175 --- /dev/null +++ b/website/content/platform/developer_guide/extensions.mdx @@ -0,0 +1,311 @@ +--- +title: Extensions +sidebar_position: 3 +description: This page describes the toolkit extensions available for the OpenBB Platform. +keywords: +- OpenBB Platform +- Python client +- Fast API +- getting started +- extensions +- data providers +- data extensions +- toolkit extensions +- toolkits +- endpoints +- community +- technical analysis +- quantitative analysis +- charting libraries +- Plotly +- OpenBBFigure +- PyWry +--- + +import HeadTitle from '@site/src/components/General/HeadTitle.tsx'; + +The extension framework allows individual pieces to be installed and removed seamlessly within the environment, using only the desired data and toolkit extensions. + +There are two primary types of extensions for the OpenBB Platform: + +- Data +- Toolkits + +The OpenBB Core installation does not include any toolkit extensions. Install the OpenBB Platform with all data and toolkit extensions from PyPI with: + +```python +pip install openbb[all] +``` + +When installing from source, navigate into the `openbb_platform` folder from the root of the project and enter: + +```console +python dev_install.py -e +``` + +This installs all extensions in editable mode, and the Python interface is compiled in, `/openbb_platform/openbb/package`, instead of the environment's `site-packages` folder. The tables in the next pages lists extensions as either, Core or Community. The Core extensions are installed by default. + +A couple of notable differences between data and toolkit extension are: + +- In the OpenBB GitHub repo, extensions are all located under: + + ```console + ~/OpenBBTerminal/openbb_platform/extensions + ``` + +- An additional folder housing integration tests, with the `tests` folder staying empty. +- There is a `router` file, and there can be sub-folders with additional routers. +- Utility functions don't need their own sub-folder. +- `__init__.py` files are all empty. + +## Data Extensions + +
+ + +Data extensions will expand the breadth and coverage of the data available in the OpenBB Platform. Each source (provider) is its own independent extension, even if there is only one endpoint accessible. This allows every data source to be inserted or removed, at any time, without disturbing the operation of the Core components. + +Functions will appear in the Python Interface and Fast API only if a supported provider, for that specific endpoint, is installed. Additional Python libraries will be installed, where required, by the extension. + +## Provider Coverage + +The total installed coverage can be determined through the Python interface, as a dictionary. + +```python +from openbb import obb +obb.coverage.providers +``` + +## Installation + +All data extensions are installed with similar syntax. Published data extensions will have names beginning with `openbb`. For example, yFinance. + +```console +pip install openbb-yfinance +``` + +Additions and removals update the router automatically to reflect the changes when the Python interpreter is refreshed. Below is a list of data provider extensions. + +Uninstall any extension with `pip uninstall`. + +```console +pip uninstall openbb-yfinance +``` + +## Available Data Extensions + +### Core `openbb` Providers + +These packages are what will be installed when `pip install openbb` is run + +| Extension Name | Description | Installation Command | Minimum Subscription Type Required | +|----------------|-------------|----------------------|------------------------------------| +| openbb-benzinga | [Benzinga](https://www.benzinga.com/apis/en-ca/) data connector | pip install openbb-benzinga | Paid | +| openbb-fmp | [FMP](https://site.financialmodelingprep.com/developer/) data connector | pip install openbb-fmp | Free | +| openbb-fred | [FRED](https://fred.stlouisfed.org/) data connector | pip install openbb-fred | Free | +| openbb-intrinio | [Intrinio](https://intrinio.com/pricing) data connector | pip install openbb-intrinio | Paid | +| openbb-oecd | [OECD](https://data.oecd.org/) data connector | pip install openbb-oecd | Free | +| openbb-polygon | [Polygon](https://polygon.io/) data connector | pip install openbb-polygon | Free | +| openbb-sec | [SEC](https://www.sec.gov/edgar/sec-api-documentation) data connector | pip install openbb-sec | None | +| openbb-tiingo | [Tiingo](https://www.tiingo.com/about/pricing) data connector | pip install openbb-tiingo | Free | +| openbb-tradingeconomics | [TradingEconomics](https://tradingeconomics.com/api) data connector | pip install openbb-tradingeconomics | Paid | +| openbb-yfinance | [Yahoo Finance](https://finance.yahoo.com/) data connector | pip install openbb-yfinance | None | + +### Community Providers + +These packages are not installed when `pip install openbb` is run. They are available for installation separately or by running `pip install openbb[all]` + +| Extension Name | Description | Installation Command | Minimum Subscription Type Required | +|----------------|-------------|----------------------|------------------------------------| +| openbb-alpha-vantage | [Alpha Vantage](https://www.alphavantage.co/) data connector | pip install openbb-alpha-vantage | Free | +| openbb-biztoc | [Biztoc](https://api.biztoc.com/#biztoc-default) News data connector | pip install openbb-biztoc | Free | +| openbb-cboe | [Cboe](https://www.cboe.com/delayed_quotes/) data connector | pip install openbb-cboe | None | +| openbb-ecb | [ECB](https://data.ecb.europa.eu/) data connector | pip install openbb-ecb | None | +| openbb-federal-reserve | [Federal Reserve](https://www.federalreserve.gov/) data connector | pip install openbb-federal-reserve | None | +| openbb-finra | [FINRA](https://www.finra.org/finra-data) data connector | pip install openbb-finra | None / Free | +| openbb-finviz | [Finviz](https://finviz.com) data connector | pip install openbb-finviz | None | +| openbb-government-us | [US Government](https://data.gov) data connector | pip install openbb-us-government | None | +| openbb-nasdaq | [Nasdaq Data Link](https://data.nasdaq.com/) connector | pip install openbb-nasdaq | None / Free | +| openbb-seeking-alpha | [Seeking Alpha](https://seekingalpha.com/) data connector | pip install openbb-seeking-alpha | None | +| openbb-stockgrid | [Stockgrid](https://stockgrid.io) data connector | pip install openbb-stockgrid | None | +| openbb-tmx | [TMX](https://money.tmx.com) data connector | pip install openbb-tmx | None | +| openbb-tradier | [Tradier](https://tradier.com) data connector | pip install openbb-tradier | None | +| openbb-wsj | [Wall Street Journal](https://www.wsj.com/) data connector | pip install openbb-wsj | None | + +Have you published a data provider extension and want it featured on this list? Tell us about it! Open a pull request on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal/) to submit an extension for inclusion. Code contributions, for new and existing, data providers are always welcome. + +Search [PyPI](https://pypi.org/search/?q=openbb-) to find more extensions. + + +
+ +## Toolkit Extensions +
+ +OpenBB Toolkit Extensions expand the Platform with functions for manipulating data and preparing it for display. The Core Platform installation does not install any toolkit extensions. The table below is the current list of toolkit extensions. + +| Extension Name | Description | Installation Command | Core/Community | Router Path | +|:-----------------|:-----------:|:-------------------:|:------------------:|-------------:| +| openbb-charting | Rest API charting service and Plotly library. | pip install openbb-charting | Community | N/A | +| openbb-devtools | Aggregates dependencies that facilitate a nice development experience for OpenBB. | pip install openbb-devtools | N/A | +| openbb-econometrics | Econometrics models for the Python interface only. | pip install openbb-econometrics | Community | obb.econometrics | +| openbb-quantitative | Functions for performing quantitative analysis. | pip install openbb-quantitative | Community | obb.quantitative | +| openbb-technical | Functions for performing technical analysis. | pip install openbb-technical | Community | obb.technical | + +The sections below outline any specific installation considerations for the extension. + +## Charting + +The OpenBB Charting Extension supplies charting infrastructure and services to the OpenBB Platform. Figure objects are served via REST API or Python Client. It utilizes [PyWry](https://github.com/OpenBB-finance/pywry) for handling the display of interactive charts and tables in a separate window, with a Plotly library. + +Functions with dedicated views return figures to the `chart` attribute of the `OBBject` response object. They are displayed with the class method, `show()`. + +:::tip +The `openbb-charting` is an [`OBBject` extension](platform/getting_started/add_obbject_extension), which means the general functionality is exposed in every command result. +::: + +The following packages are dependencies of the `openbb-charting` extension: + +- scipy +- plotly +- statsmodels +- reportlab +- pywry +- svglib +- nbformat +- pandas-ta + +### Installation + +Install from PyPI with: + +```console +pip install openbb-charting +``` + +For more information check the documentation of the openbb-charting extension. + +## Devtools + +Please refer to the following PyPI distributed [package](https://pypi.org/project/openbb-devtools/). + +This Python package, `openbb-devtools`, is designed for OpenBB Platform Developers and contains a range of dependencies essential for robust and efficient software development. + +These dependencies cater to various aspects like code formatting, security analysis, type checking, testing, and kernel management. + +The inclusion of these packages ensures that the development process is streamlined, the code quality is maintained, and the software is secure and reliable. + +Included dependencies: + +- `ruff`: A fast Python linter focused on performance and simplicity. +- `pylint`: A tool that checks for errors in Python code, enforces a coding standard, and looks for code smells. +- `mypy`: A static type checker for Python, helping catch type errors during development. +- `pydocstyle`: A linter for Python docstrings to ensure they meet certain style requirements. +- `black`: An uncompromising Python code formatter, ensuring consistent code style. +- `bandit`: A tool designed to find common security issues in Python code. +- `pre-commit`: Manages and maintains pre-commit hooks that run checks before each commit, ensuring code quality. +- `nox`: A generic virtualenv management and test command line tool for running tests in isolated environments. +- `pytest`: A mature full-featured Python testing tool that helps in writing better programs. +- `pytest-cov`: A plugin for pytest that measures code coverage during testing. +- `ipykernel`: A package that provides the IPython kernel for Jupyter. +- `types-python-dateutil`: Type stubs for python-dateutil, aiding in static type checking. +- `types-toml`: Type stubs for TOML, useful for static type checking in TOML parsing. +- `poetry`: A tool for dependency management and packaging in Python. + +Each dependency plays a critical role in ensuring the code is clean, efficient, and functional, ultimately leading to the development of high-quality software. + +While developing code for the OpenBB Platform, one should always install the DevTools packages so that the above development tooling is available out-of-the-box. + +### Installation + +Install from PyPI with: + +```console +pip install openbb-devtools +``` + +:::info +When setting up the environment using the `openbb_platform/dev_install.py` script, the DevTools will also be installed. +::: + +## Econometrics + +The `openbb-econometrics` extension installs a new router path (`obb.econometrics`) and additional Python libraries: + +- scipy +- statsmodels +- arch +- linearmodels + +:::note + +Statsmodels requires a C compiler be present on the system. Follow the instructions [here](https://cython.readthedocs.io/en/latest/src/quickstart/install.html) for system-specific methods. + +This extension is not accessible via REST API because `statsmodels` is not serializable. +::: + +### Installation + +Install from PyPI with: + +```console +pip install openbb-econometrics +``` + +To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/econometrics`, and enter: + +```console +pip install -e . +``` + +After installation, the Python interface will automatically rebuild on initialization. + +## Quantitative + +The `openbb-quantitative` extension installs a new router path (`obb.quantitative`) and a few additional Python libraries: + +- pandas-ta +- scipy +- statsmodels + +### Installation + +Install from PyPI with: + +```console +pip install openbb-quantitative +``` + +To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/quantitative`, and enter: + +```console +pip install -e . +``` + +After installation, the Python interface will automatically rebuild on initialization. + +## Technical + +The `openbb-technical` extension is for performing technical analysis on time series data. It installs a new router path (`obb.technical`) and some additional Python libraries: + +- pandas-ta +- scikit-learn +- scipy +- statsmodels + +### Installation + +Install from PyPI with: + +```console +pip install openbb-technical +``` + +To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/technical`, and enter: + +```console +pip install -e . +``` + +After installation, the Python interface will automatically rebuild on initialization. +
diff --git a/website/content/platform/developer_guide/index.mdx b/website/content/platform/developer_guide/index.mdx index 04af71994a8..6fd4bec0678 100644 --- a/website/content/platform/developer_guide/index.mdx +++ b/website/content/platform/developer_guide/index.mdx @@ -3,28 +3,28 @@ title: Developer Guide sidebar_position: 1 description: The OpenBB Platform supplies core architecture and services for connecting data providers and extensions, consumable through the Python client or the Fast API keywords: -- developer_guide -- OpenBB Platform -- Python client -- Fast API -- getting started -- authorization -- data providers -- OpenBB Hub -- local environment -- environment variables -- user settings -- command execution -- API response -- logging -- proxy networks -- data cleaning -- technical analysis -- quantitative analysis -- charting libraries + - developer_guide + - OpenBB Platform + - Python client + - Fast API + - getting started + - authorization + - data providers + - OpenBB Hub + - local environment + - environment variables + - user settings + - command execution + - API response + - logging + - proxy networks + - data cleaning + - technical analysis + - quantitative analysis + - charting libraries --- -import HeadTitle from '@site/src/components/General/HeadTitle.tsx'; +import HeadTitle from "@site/src/components/General/HeadTitle.tsx"; diff --git a/website/content/platform/installation.mdx b/website/content/platform/installation.mdx index 4c34e21fb4e..263811896f2 100644 --- a/website/content/platform/installation.mdx +++ b/website/content/platform/installation.mdx @@ -168,12 +168,18 @@ pip uninstall openbb[all] ### Docker
-OpenBB provides a `.dockerfile` on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal). +You can install and run the Platform from [GitHub Container Registry](https://github.com/OpenBB-finance/OpenBBTerminal/pkgs/container/openbb-platform) with: + +```bash +docker run --rm -p 8000:8000 -v ~/.openbb_platform:/root/.openbb_platform ghcr.io/openbb-finance/openbb-platform:latest +``` + +Alternatively, we provide a `.dockerfile` on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal). Run the following command from the repo root to build the image: ```bash -docker build -f build/docker/api.dockerfile -t openbb-platform:latest . +docker build -f build/docker/platform.dockerfile -t openbb-platform:latest . ``` To run it: diff --git a/website/content/platform/user_guides/basic_syntax.mdx b/website/content/platform/user_guides/basic_syntax.mdx index b030c5a66e9..ee0e3cfd3e3 100644 --- a/website/content/platform/user_guides/basic_syntax.mdx +++ b/website/content/platform/user_guides/basic_syntax.mdx @@ -3,25 +3,25 @@ title: Basic Syntax sidebar_position: 1 description: This page provides comprehensive information about standardized command syntax for an open-source platform. Topics discussed include the structure of command syntax, use of standardized parameters, usage of provider and symbol parameters, handling of date and limit parameters, and more. Also explored, are the methods for selecting data sources, handling different list and ticker symbol formats, and dealing with command responses and warnings. keywords: -- tutorial -- command syntax -- standardized parameters -- date format -- provider parameter -- data source selection -- symbol parameter -- list formats -- ticker symbols -- date parameter -- time series -- limit parameter -- keyword arguments -- endpoint parameters -- command response -- data models + - tutorial + - command syntax + - standardized parameters + - date format + - provider parameter + - data source selection + - symbol parameter + - list formats + - ticker symbols + - date parameter + - time series + - limit parameter + - keyword arguments + - endpoint parameters + - command response + - data models --- -import HeadTitle from '@site/src/components/General/HeadTitle.tsx'; +import HeadTitle from "@site/src/components/General/HeadTitle.tsx"; @@ -101,9 +101,7 @@ With providers supporting market data from multiple jurisdictions, the most comm ### One Symbol
-```python -quote = obb.equity.price.quote(symbol="td", provider="fmp") -``` + ```python quote = obb.equity.price.quote(symbol="td", provider="fmp") ```
### Multiple Symbols @@ -190,7 +188,7 @@ Where, optional, `limit` parameters are supplied, they are likely to have sensib income = obb.equity.fa.income("AAPL", period="quarter", provider="fmp", limit=4) ``` -## **kwargs +## \*\*kwargs All endpoints accept additional keyword arguments, but non-existent parameters will be ignored. Invalid parameters are communicated via the `warnings` field in the command response. Parameters can be stored as a dictionary and fed to the command as `**kwargs`. If a provider, or function, has an undocumented parameter it can still be accessed by supplying the additional kwargs. @@ -210,6 +208,6 @@ data.warnings ## References -All functions, parameters, and responses are detailed under the [Reference pages](/platform/reference). The data models for each provider source are described within the [Data Models](/platform/data_models) pages. +All functions, parameters, and responses are detailed under the [Reference pages](/platform/reference). The data models for each provider source are described within the [Data Models](/platform/data_models) pages. These pages are a quick way to cross-reference differences between providers. The same information is provided in a function's signature and docstring.