wbfdm 1.55.0__tar.gz → 1.55.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of wbfdm might be problematic. Click here for more details.
- {wbfdm-1.55.0 → wbfdm-1.55.1}/PKG-INFO +1 -1
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/handlers/option.py +2 -2
- wbfdm-1.55.1/wbfdm/migrations/0032_alter_instrumentprice_outstanding_shares.py +18 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/instrument_prices.py +3 -1
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/mixin/financials_computed.py +0 -4
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_instrument_prices.py +0 -14
- {wbfdm-1.55.0 → wbfdm-1.55.1}/.gitignore +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/pyproject.toml +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/admin/options.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/esg/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/esg/enums.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/esg/esg_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/esg/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/change_point_detection.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/technical_analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/technical_analysis/technical_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/technical_analysis/traces.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/apps.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/backends/dto.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/dsws/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/dsws/client.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/dsws/dataloaders/market_data.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/internal/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/internal/dataloaders/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/internal/dataloaders/market_data.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/admin/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/admin/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/admin/metrics.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/apps.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/backends/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/backends/base.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/backends/performances.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/backends/statistics.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/backends/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/decorators.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/dispatch.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/dto.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/exceptions.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/factories.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/filters.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/migrations/0001_initial.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/migrations/0002_remove_instrumentmetric_unique_instrument_metric_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/migrations/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/models.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/orchestrators.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/registry.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/serializers.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tasks.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/backends/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/backends/test_performances.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/backends/test_statistics.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/conftest.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/test_dto.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/test_models.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/test_tasks.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/tests/test_viewsets.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/urls.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/configs/display.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/configs/menus.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/configs/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/mixins.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/metric/viewsets/viewsets.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/client.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/dataloaders/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/dataloaders/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/dataloaders/esg_controversies.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/sync.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/tests/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/tests/conftest.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/msci/tests/test_client.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/apps.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/database_routers.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/adjustments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/corporate_actions.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/financials.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/market_data.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/officers.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/reporting_dates.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/statements.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/dataloaders/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/companies.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/base_estimates.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/calendarized.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/complete.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/estimates.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/financials.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/instruments.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/jinja2/qa/sql/quotes.sql +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/sync/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/sync/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/sync/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/contrib/qa/tasks.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/dataloaders/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/dataloaders/cache.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/dataloaders/protocols.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/dataloaders/proxies.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/dataloaders/types.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/dynamic_preferences_registry.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/enums.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/controversies.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/instrument_list.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/factories/options.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/figures/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/figures/financials/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/figures/financials/financial_analysis_charts.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/figures/financials/financials_charts.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/financials.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/financials_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/filters/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/deals.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/equities.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/mixin.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/utils/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/utils/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/utils/client.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/fiscal_period.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/forecast.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/fundamental.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/instrument.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/mixin.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/utils/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/refinitiv/utils/controller.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/handlers/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/handlers/instrument.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/handlers/instrument_list.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/handlers/instrument_price.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/handlers/private_equities.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/cbinsights/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/cbinsights/deals.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/cbinsights/equities.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/cbinsights/fundamentals.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/forecast.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/fundamental.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/instrument.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/parsers/refinitiv/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/resources/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/resources/classification.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/resources/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/resources/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/jinja2.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/locale/de/LC_MESSAGES/django.mo +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/locale/de/LC_MESSAGES/django.po +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/locale/en/LC_MESSAGES/django.mo +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/locale/en/LC_MESSAGES/django.po +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/locale/fr/LC_MESSAGES/django.mo +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/locale/fr/LC_MESSAGES/django.po +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/management/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0001_initial.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0003_instrument_estimate_backend_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0004_rename_financials_instrumentlookup_statements_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0005_instrument_corporate_action_backend.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0006_instrument_officer_backend.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0007_instrument_country_instrument_currency_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0008_controversy.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0009_alter_controversy_flag_alter_controversy_initiated_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0010_classification_classificationgroup_deal_exchange_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0011_delete_instrumentlookup_instrument_corporate_actions_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0012_instrumentprice_created_instrumentprice_modified.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0014_alter_controversy_instrument.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0015_instrument_instrument_investible_index.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0016_instrumenttype_name_repr.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0017_instrument_instrument_security_index.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0018_instrument_instrument_level_index.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0019_alter_controversy_source.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0020_optionaggregate_option_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0021_delete_instrumentdailystatistics.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0022_instrument_cusip_option_open_interest_20d_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0023_instrument_unique_ric_instrument_unique_rmc_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0024_option_open_interest_10d_option_volume_10d_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0025_instrument_is_primary_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0026_instrument_is_cash_equivalent.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0027_remove_instrument_unique_ric_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0028_instrumentprice_annualized_daily_volatility.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0029_alter_instrumentprice_volume.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0030_alter_relatedinstrumentthroughmodel_related_type.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/0031_exchange_apply_round_lot_size_and_more.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/migrations/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/esg/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/esg/controversies.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/exchanges/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/exchanges/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/fields.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/fk_fields.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/indicators.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/llm/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/llm/create_instrument_news_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/mixin/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/mixin/financials_serializer_fields.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/mixin/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/options.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/private_equities.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/querysets.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/models/instruments/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/preferences.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/instruments/mixins.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/serializers/officers.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/signals.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/sync/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/sync/abstract.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/sync/runner.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tasks.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/analysis/financial_analysis/test_statement_with_estimates.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/analysis/financial_analysis/test_utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/analysis/test_esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/conftest.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/dataloaders/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/dataloaders/test_cache.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_instrument_list.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_merge.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_options.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/models/test_queryset.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/test_tasks.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/tests/tests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/urls.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/buttons/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/buttons/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/buttons/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/buttons/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/buttons/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/financial_summary.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/monthly_performances.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/officers.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/statement_with_estimates.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/display/statements.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/financials_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/endpoints/statements.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/menus/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/menus/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/menus/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/menus/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/menus/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/menus/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/financial_ratio_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/financials_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/market_data.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/configs/titles/statement_with_estimates.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/esg.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/exchanges.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/financial_analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/financial_analysis/financial_summary.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/classifications.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/financials_analysis.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/instrument_lists.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/instrument_prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/instrument_requests.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/instruments.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/instruments_relationships.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/instruments/utils.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/market_data.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/mixins.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/officers.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/prices.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/statements/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/statements/statements.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/technical_analysis/__init__.py +0 -0
- {wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/viewsets/technical_analysis/monthly_performances.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wbfdm
|
|
3
|
-
Version: 1.55.
|
|
3
|
+
Version: 1.55.1
|
|
4
4
|
Summary: The workbench module ensures rapid access to diverse financial data (market, fundamental, forecasts, ESG), with features for storing instruments, classifying them, and conducting financial analysis.
|
|
5
5
|
Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
|
|
6
6
|
Requires-Dist: roman==4.*
|
|
@@ -26,7 +26,7 @@ class OptionAggregateImportHandler(ImportExportHandler):
|
|
|
26
26
|
|
|
27
27
|
def _get_instance(self, data: Dict[str, Any], history: Optional[models.QuerySet] = None, **kwargs) -> models.Model:
|
|
28
28
|
with suppress(ObjectDoesNotExist):
|
|
29
|
-
return self.model.objects.
|
|
29
|
+
return self.model.objects.get(instrument=data["instrument"], date=data["date"], type=data["type"])
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class OptionImportHandler(ImportExportHandler):
|
|
@@ -46,7 +46,7 @@ class OptionImportHandler(ImportExportHandler):
|
|
|
46
46
|
|
|
47
47
|
def _get_instance(self, data: Dict[str, Any], history: Optional[models.QuerySet] = None, **kwargs) -> models.Model:
|
|
48
48
|
with suppress(ObjectDoesNotExist):
|
|
49
|
-
return self.model.objects.
|
|
49
|
+
return self.model.objects.get(
|
|
50
50
|
instrument=data["instrument"],
|
|
51
51
|
contract_identifier=data["contract_identifier"],
|
|
52
52
|
date=data["date"],
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.0.14 on 2025-08-27 07:59
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('wbfdm', '0031_exchange_apply_round_lot_size_and_more'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name='instrumentprice',
|
|
15
|
+
name='outstanding_shares',
|
|
16
|
+
field=models.DecimalField(blank=True, decimal_places=4, help_text='The amount of outstanding share for this instrument', max_digits=16, null=True, verbose_name='Outstanding Shares'),
|
|
17
|
+
),
|
|
18
|
+
]
|
|
@@ -195,9 +195,11 @@ class InstrumentPrice(
|
|
|
195
195
|
verbose_name="Value (Gross)",
|
|
196
196
|
) # TODO: I think we need to remove this field that is not really used here.
|
|
197
197
|
|
|
198
|
-
outstanding_shares =
|
|
198
|
+
outstanding_shares = models.DecimalField(
|
|
199
199
|
decimal_places=4,
|
|
200
200
|
max_digits=16,
|
|
201
|
+
blank=True,
|
|
202
|
+
null=True,
|
|
201
203
|
verbose_name="Outstanding Shares",
|
|
202
204
|
help_text="The amount of outstanding share for this instrument",
|
|
203
205
|
)
|
|
@@ -697,10 +697,6 @@ import pandas as pd
|
|
|
697
697
|
#
|
|
698
698
|
#
|
|
699
699
|
class InstrumentPriceComputedMixin:
|
|
700
|
-
def _compute_outstanding_shares(self):
|
|
701
|
-
if self.outstanding_shares is None and (previous_price := self.previous_price):
|
|
702
|
-
return previous_price.outstanding_shares
|
|
703
|
-
|
|
704
700
|
def _compute_outstanding_shares_consolidated(self):
|
|
705
701
|
if self.outstanding_shares_consolidated is None and self.outstanding_shares is not None:
|
|
706
702
|
return self.outstanding_shares
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
from datetime import date
|
|
2
|
-
from decimal import Decimal
|
|
3
2
|
|
|
4
3
|
import pandas as pd
|
|
5
4
|
import pytest
|
|
6
5
|
from faker import Faker
|
|
7
|
-
from pandas.tseries.offsets import BDay
|
|
8
6
|
from wbcore.models import DynamicDecimalField, DynamicFloatField
|
|
9
7
|
|
|
10
8
|
from wbfdm.models import Instrument, InstrumentPrice, RelatedInstrumentThroughModel
|
|
@@ -168,18 +166,6 @@ class TestInstrumentPriceModel:
|
|
|
168
166
|
assert isinstance(instrument_price._meta.get_field("gross_value"), DynamicDecimalField)
|
|
169
167
|
assert instrument_price.gross_value == instrument_price.net_value
|
|
170
168
|
|
|
171
|
-
@pytest.mark.parametrize("instrument_price__outstanding_shares", [Decimal(10)])
|
|
172
|
-
def test_compute_outstanding_shares(self, instrument_price, instrument_price_factory):
|
|
173
|
-
next_price = instrument_price_factory.create(
|
|
174
|
-
instrument=instrument_price.instrument,
|
|
175
|
-
date=instrument_price.date + BDay(1),
|
|
176
|
-
outstanding_shares=None,
|
|
177
|
-
calculated=instrument_price.calculated,
|
|
178
|
-
)
|
|
179
|
-
assert hasattr(instrument_price, "_compute_outstanding_shares")
|
|
180
|
-
assert isinstance(instrument_price._meta.get_field("outstanding_shares"), DynamicDecimalField)
|
|
181
|
-
assert next_price.outstanding_shares == instrument_price.outstanding_shares
|
|
182
|
-
|
|
183
169
|
@pytest.mark.parametrize("instrument_price__volume_50d", [None])
|
|
184
170
|
def test_compute_volume_50d(self, instrument_price, instrument_price_factory):
|
|
185
171
|
assert hasattr(instrument_price, "_compute_volume_50d")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbfdm-1.55.0 → wbfdm-1.55.1}/wbfdm/import_export/backends/cbinsights/utils/classifications.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|