wbfdm 1.52.5__tar.gz → 1.53.0__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.52.5 → wbfdm-1.53.0}/PKG-INFO +1 -1
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/exchanges.py +1 -1
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/instruments.py +3 -2
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/handlers/instrument.py +10 -3
- wbfdm-1.53.0/wbfdm/migrations/0031_exchange_apply_round_lot_size_and_more.py +23 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/exchanges/exchanges.py +5 -1
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/instruments.py +5 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/exchanges.py +1 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/exchanges.py +1 -1
- {wbfdm-1.52.5 → wbfdm-1.53.0}/.gitignore +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/pyproject.toml +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/admin/options.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/esg/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/esg/enums.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/esg/esg_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/esg/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/change_point_detection.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/technical_analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/technical_analysis/technical_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/technical_analysis/traces.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/analysis/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/apps.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/backends/dto.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/dsws/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/dsws/client.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/dsws/dataloaders/market_data.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/internal/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/internal/dataloaders/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/internal/dataloaders/market_data.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/admin/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/admin/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/admin/metrics.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/apps.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/backends/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/backends/base.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/backends/performances.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/backends/statistics.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/backends/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/decorators.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/dispatch.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/dto.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/exceptions.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/factories.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/filters.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/migrations/0001_initial.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/migrations/0002_remove_instrumentmetric_unique_instrument_metric_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/migrations/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/models.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/orchestrators.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/registry.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/serializers.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tasks.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/backends/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/backends/test_performances.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/backends/test_statistics.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/conftest.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/test_dto.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/test_models.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/test_tasks.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/tests/test_viewsets.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/urls.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/configs/display.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/configs/menus.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/configs/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/mixins.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/metric/viewsets/viewsets.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/client.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/dataloaders/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/dataloaders/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/dataloaders/esg_controversies.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/sync.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/tests/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/tests/conftest.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/msci/tests/test_client.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/apps.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/database_routers.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/adjustments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/corporate_actions.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/financials.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/market_data.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/officers.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/reporting_dates.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/statements.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/dataloaders/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/companies.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/base_estimates.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/calendarized.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/complete.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/estimates.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/financials.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/instruments.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/jinja2/qa/sql/quotes.sql +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/sync/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/sync/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/sync/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/contrib/qa/tasks.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/dataloaders/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/dataloaders/cache.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/dataloaders/protocols.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/dataloaders/proxies.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/dataloaders/types.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/dynamic_preferences_registry.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/enums.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/controversies.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/instrument_list.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/factories/options.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/figures/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/figures/financials/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/figures/financials/financial_analysis_charts.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/figures/financials/financials_charts.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/financials.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/financials_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/filters/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/deals.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/equities.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/mixin.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/utils/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/utils/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/cbinsights/utils/client.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/fiscal_period.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/forecast.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/fundamental.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/instrument.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/mixin.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/utils/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/backends/refinitiv/utils/controller.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/handlers/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/handlers/instrument_list.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/handlers/instrument_price.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/handlers/option.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/handlers/private_equities.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/cbinsights/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/cbinsights/deals.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/cbinsights/equities.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/cbinsights/fundamentals.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/forecast.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/fundamental.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/instrument.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/parsers/refinitiv/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/resources/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/resources/classification.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/resources/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/import_export/resources/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/jinja2.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/locale/de/LC_MESSAGES/django.mo +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/locale/de/LC_MESSAGES/django.po +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/locale/en/LC_MESSAGES/django.mo +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/locale/en/LC_MESSAGES/django.po +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/locale/fr/LC_MESSAGES/django.mo +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/locale/fr/LC_MESSAGES/django.po +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/management/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0001_initial.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0003_instrument_estimate_backend_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0004_rename_financials_instrumentlookup_statements_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0005_instrument_corporate_action_backend.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0006_instrument_officer_backend.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0007_instrument_country_instrument_currency_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0008_controversy.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0009_alter_controversy_flag_alter_controversy_initiated_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0010_classification_classificationgroup_deal_exchange_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0011_delete_instrumentlookup_instrument_corporate_actions_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0012_instrumentprice_created_instrumentprice_modified.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0014_alter_controversy_instrument.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0015_instrument_instrument_investible_index.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0016_instrumenttype_name_repr.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0017_instrument_instrument_security_index.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0018_instrument_instrument_level_index.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0019_alter_controversy_source.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0020_optionaggregate_option_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0021_delete_instrumentdailystatistics.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0022_instrument_cusip_option_open_interest_20d_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0023_instrument_unique_ric_instrument_unique_rmc_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0024_option_open_interest_10d_option_volume_10d_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0025_instrument_is_primary_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0026_instrument_is_cash_equivalent.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0027_remove_instrument_unique_ric_and_more.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0028_instrumentprice_annualized_daily_volatility.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0029_alter_instrumentprice_volume.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/0030_alter_relatedinstrumentthroughmodel_related_type.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/migrations/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/esg/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/esg/controversies.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/exchanges/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/fields.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/fk_fields.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/indicators.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/llm/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/llm/create_instrument_news_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/mixin/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/mixin/financials_computed.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/mixin/financials_serializer_fields.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/mixin/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/options.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/private_equities.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/querysets.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/models/instruments/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/preferences.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/instruments/mixins.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/serializers/officers.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/signals.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/sync/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/sync/abstract.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/sync/runner.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tasks.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/analysis/financial_analysis/test_statement_with_estimates.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/analysis/financial_analysis/test_utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/analysis/test_esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/conftest.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/dataloaders/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/dataloaders/test_cache.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_instrument_list.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_merge.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/models/test_options.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/test_tasks.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/tests/tests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/urls.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/buttons/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/buttons/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/buttons/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/buttons/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/buttons/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/financial_summary.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/monthly_performances.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/officers.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/statement_with_estimates.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/display/statements.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/financials_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/endpoints/statements.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/menus/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/menus/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/menus/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/menus/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/menus/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/menus/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/financial_ratio_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/financials_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/market_data.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/configs/titles/statement_with_estimates.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/esg.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/exchanges.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/financial_analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/financial_analysis/financial_summary.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/classifications.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/financials_analysis.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/instrument_lists.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/instrument_prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/instrument_requests.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/instruments.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/instruments_relationships.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/instruments/utils.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/market_data.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/mixins.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/officers.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/prices.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/statements/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/statements/statements.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/wbfdm/viewsets/technical_analysis/__init__.py +0 -0
- {wbfdm-1.52.5 → wbfdm-1.53.0}/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.
|
|
3
|
+
Version: 1.53.0
|
|
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.*
|
|
@@ -43,7 +43,7 @@ class ExchangeModelAdmin(admin.ModelAdmin):
|
|
|
43
43
|
("operating_mic_code", "operating_mic_name"),
|
|
44
44
|
("bbg_exchange_codes", "bbg_composite_primary", "bbg_composite"),
|
|
45
45
|
("refinitiv_identifier_code", "refinitiv_mnemonic"),
|
|
46
|
-
("country", "website"),
|
|
46
|
+
("country", "website", "apply_round_lot_size"),
|
|
47
47
|
("comments",),
|
|
48
48
|
)
|
|
49
49
|
},
|
|
@@ -50,8 +50,8 @@ class InstrumentModelAdmin(admin.ModelAdmin):
|
|
|
50
50
|
{
|
|
51
51
|
"fields": (
|
|
52
52
|
("name", "name_repr", "computed_str"),
|
|
53
|
-
("parent", "instrument_type"),
|
|
54
|
-
("is_cash", "is_security", "is_managed", "
|
|
53
|
+
("parent", "instrument_type", "is_primary"),
|
|
54
|
+
("is_cash", "is_security", "is_managed", "is_cash_equivalent", "is_investable_universe"),
|
|
55
55
|
("inception_date", "delisted_date"),
|
|
56
56
|
("primary_url", "additional_urls"),
|
|
57
57
|
(
|
|
@@ -69,6 +69,7 @@ class InstrumentModelAdmin(admin.ModelAdmin):
|
|
|
69
69
|
("currency", "country", "headquarter_city", "headquarter_address"),
|
|
70
70
|
(
|
|
71
71
|
"exchange",
|
|
72
|
+
"round_lot_size",
|
|
72
73
|
"import_source",
|
|
73
74
|
"base_color",
|
|
74
75
|
),
|
|
@@ -55,8 +55,10 @@ class InstrumentLookup:
|
|
|
55
55
|
instrument = None
|
|
56
56
|
|
|
57
57
|
# We need to lookup ticker because some provider gives us ticker with or without space in it
|
|
58
|
+
exchange_lookup = {}
|
|
58
59
|
if only_investable_universe:
|
|
59
60
|
instruments = self.model.objects.filter(is_investable_universe=True)
|
|
61
|
+
exchange_lookup = {"exchange": exchange} if exchange else {"is_primary": True}
|
|
60
62
|
else:
|
|
61
63
|
instruments = self.model.objects.filter(is_security=True)
|
|
62
64
|
|
|
@@ -76,8 +78,14 @@ class InstrumentLookup:
|
|
|
76
78
|
identifier_key != "refinitiv_identifier_code"
|
|
77
79
|
): # RIC cannot be uppercased because its symbology implies meaning for lowercase characters
|
|
78
80
|
identifier = identifier.upper()
|
|
79
|
-
instrument
|
|
80
|
-
|
|
81
|
+
# we try to lookup the instrument with the unique identifier
|
|
82
|
+
try:
|
|
83
|
+
instrument = instruments.get(**{identifier_key: identifier})
|
|
84
|
+
break
|
|
85
|
+
# if this return a multiple object exception, we assume there is at least one with the exchange provided or primary
|
|
86
|
+
except MultipleObjectsReturned:
|
|
87
|
+
instrument = instruments.get(**{identifier_key: identifier}, **exchange_lookup)
|
|
88
|
+
break
|
|
81
89
|
if not instrument and not exact_lookup:
|
|
82
90
|
if instrument_type:
|
|
83
91
|
if isinstance(instrument_type, str): # in case we receive a key as instrument type
|
|
@@ -109,7 +117,6 @@ class InstrumentLookup:
|
|
|
109
117
|
instruments_tmp = instruments.filter(exchange=exchange)
|
|
110
118
|
if instruments_tmp.exists():
|
|
111
119
|
instruments = instruments_tmp
|
|
112
|
-
|
|
113
120
|
# last chance
|
|
114
121
|
if name and instruments.count() > 1:
|
|
115
122
|
instruments = instruments.annotate(similarity_score=TrigramSimilarity("name", name))
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Generated by Django 5.0.14 on 2025-07-02 07:50
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('wbfdm', '0030_alter_relatedinstrumentthroughmodel_related_type'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name='exchange',
|
|
15
|
+
name='apply_round_lot_size',
|
|
16
|
+
field=models.BooleanField(default=True, help_text='If False, the quotes linked to this instrument will ignore their round lot size (will be considered 1).', verbose_name='Apply Round Lot Size'),
|
|
17
|
+
),
|
|
18
|
+
migrations.AddField(
|
|
19
|
+
model_name='instrument',
|
|
20
|
+
name='round_lot_size',
|
|
21
|
+
field=models.IntegerField(default=1, help_text='A round lot (or board lot) is the normal unit of trading of a security.', verbose_name='Round Lot Size'),
|
|
22
|
+
),
|
|
23
|
+
]
|
|
@@ -152,7 +152,11 @@ class Exchange(WBModel):
|
|
|
152
152
|
verbose_name="Comments",
|
|
153
153
|
help_text="Any comments for this exchange",
|
|
154
154
|
)
|
|
155
|
-
|
|
155
|
+
apply_round_lot_size = models.BooleanField(
|
|
156
|
+
default=True,
|
|
157
|
+
verbose_name="Apply Round Lot Size",
|
|
158
|
+
help_text="If False, the quotes linked to this instrument will ignore their round lot size (will be considered 1).",
|
|
159
|
+
)
|
|
156
160
|
last_updated = models.DateTimeField(auto_now=True)
|
|
157
161
|
|
|
158
162
|
objects = ExchangeManager()
|
|
@@ -312,6 +312,11 @@ class Instrument(ComplexToStringMixin, TagModelMixin, ImportMixin, InstrumentPMS
|
|
|
312
312
|
exchange = models.ForeignKey(
|
|
313
313
|
to="wbfdm.Exchange", null=True, blank=True, on_delete=models.PROTECT, related_name="instruments"
|
|
314
314
|
)
|
|
315
|
+
round_lot_size = models.IntegerField(
|
|
316
|
+
default=1,
|
|
317
|
+
verbose_name="Round Lot Size",
|
|
318
|
+
help_text="A round lot (or board lot) is the normal unit of trading of a security.",
|
|
319
|
+
)
|
|
315
320
|
|
|
316
321
|
source_id = models.CharField(max_length=64, null=True, blank=True)
|
|
317
322
|
source = models.CharField(max_length=64, null=True, blank=True)
|
|
@@ -35,7 +35,7 @@ class ExchangeDisplayConfig(DisplayViewConfig):
|
|
|
35
35
|
[
|
|
36
36
|
["name", "mic_code", "operating_mic_code", "refinitiv_identifier_code"],
|
|
37
37
|
[".", "bbg_exchange_codes", "bbg_composite_primary", "bbg_composite"],
|
|
38
|
-
[
|
|
38
|
+
["country", "city", "website", "apply_round_lot_size"],
|
|
39
39
|
[repeat_field(2, "opening_time"), repeat_field(2, "closing_time")],
|
|
40
40
|
[repeat_field(4, "comments")],
|
|
41
41
|
]
|
|
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.52.5 → wbfdm-1.53.0}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbfdm-1.52.5 → wbfdm-1.53.0}/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.52.5 → wbfdm-1.53.0}/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
|