wbfdm 1.49.1__tar.gz → 1.49.2__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.49.1 → wbfdm-1.49.2}/PKG-INFO +1 -1
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/dsws/dataloaders/market_data.py +2 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/instruments.py +16 -12
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/querysets.py +7 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/.gitignore +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/pyproject.toml +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/admin/options.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/esg/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/esg/enums.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/esg/esg_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/esg/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/technical_analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/technical_analysis/technical_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/technical_analysis/traces.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/analysis/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/apps.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/backends/dto.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/dsws/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/dsws/client.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/internal/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/internal/dataloaders/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/internal/dataloaders/market_data.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/admin/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/admin/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/admin/metrics.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/apps.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/backends/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/backends/base.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/backends/performances.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/backends/statistics.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/backends/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/decorators.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/dispatch.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/dto.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/exceptions.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/factories.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/filters.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/migrations/0001_initial.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/migrations/0002_remove_instrumentmetric_unique_instrument_metric_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/migrations/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/models.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/orchestrators.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/registry.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/serializers.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tasks.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/backends/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/backends/test_performances.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/backends/test_statistics.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/conftest.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/test_dto.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/test_models.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/test_tasks.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/tests/test_viewsets.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/urls.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/configs/display.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/configs/menus.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/configs/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/mixins.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/metric/viewsets/viewsets.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/client.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/dataloaders/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/dataloaders/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/dataloaders/esg_controversies.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/sync.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/tests/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/tests/conftest.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/msci/tests/test_client.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/apps.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/database_routers.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/adjustments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/corporate_actions.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/financials.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/market_data.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/officers.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/reporting_dates.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/statements.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/dataloaders/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/companies.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/base_estimates.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/calendarized.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/complete.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/estimates.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/financials.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/instruments.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/jinja2/qa/sql/quotes.sql +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/sync/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/sync/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/sync/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/contrib/qa/tasks.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/dataloaders/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/dataloaders/cache.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/dataloaders/protocols.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/dataloaders/proxies.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/dataloaders/types.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/dynamic_preferences_registry.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/enums.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/controversies.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/instrument_list.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/factories/options.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/figures/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/figures/financials/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/figures/financials/financial_analysis_charts.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/figures/financials/financials_charts.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/financials.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/financials_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/filters/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/deals.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/equities.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/mixin.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/utils/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/utils/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/cbinsights/utils/client.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/fiscal_period.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/forecast.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/fundamental.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/instrument.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/mixin.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/utils/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/backends/refinitiv/utils/controller.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/handlers/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/handlers/instrument.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/handlers/instrument_list.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/handlers/instrument_price.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/handlers/option.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/handlers/private_equities.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/cbinsights/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/cbinsights/deals.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/cbinsights/equities.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/cbinsights/fundamentals.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/forecast.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/fundamental.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/instrument.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/parsers/refinitiv/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/resources/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/resources/classification.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/resources/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/import_export/resources/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/jinja2.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/management/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/menu.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0001_initial.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0003_instrument_estimate_backend_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0004_rename_financials_instrumentlookup_statements_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0005_instrument_corporate_action_backend.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0006_instrument_officer_backend.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0007_instrument_country_instrument_currency_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0008_controversy.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0009_alter_controversy_flag_alter_controversy_initiated_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0010_classification_classificationgroup_deal_exchange_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0011_delete_instrumentlookup_instrument_corporate_actions_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0012_instrumentprice_created_instrumentprice_modified.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0014_alter_controversy_instrument.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0015_instrument_instrument_investible_index.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0016_instrumenttype_name_repr.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0017_instrument_instrument_security_index.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0018_instrument_instrument_level_index.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0019_alter_controversy_source.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0020_optionaggregate_option_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0021_delete_instrumentdailystatistics.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0022_instrument_cusip_option_open_interest_20d_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0023_instrument_unique_ric_instrument_unique_rmc_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0024_option_open_interest_10d_option_volume_10d_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0025_instrument_is_primary_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0026_instrument_is_cash_equivalent.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0027_remove_instrument_unique_ric_and_more.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0028_instrumentprice_annualized_daily_volatility.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0029_alter_instrumentprice_volume.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/0030_alter_relatedinstrumentthroughmodel_related_type.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/migrations/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/esg/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/esg/controversies.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/exchanges/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/exchanges/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/fields.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/fk_fields.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/indicators.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/llm/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/llm/create_instrument_news_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/mixin/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/mixin/financials_computed.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/mixin/financials_serializer_fields.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/mixin/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/options.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/private_equities.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/models/instruments/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/preferences.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/instruments/mixins.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/serializers/officers.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/signals.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/sync/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/sync/abstract.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/sync/runner.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tasks.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/analysis/financial_analysis/test_statement_with_estimates.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/analysis/financial_analysis/test_utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/analysis/test_esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/conftest.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/dataloaders/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/dataloaders/test_cache.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_instrument_list.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_merge.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/models/test_options.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/test_tasks.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/tests/tests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/urls.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/buttons/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/buttons/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/buttons/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/buttons/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/buttons/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/financial_summary.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/monthly_performances.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/officers.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/statement_with_estimates.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/display/statements.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/financials_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/endpoints/statements.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/menus/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/menus/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/menus/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/menus/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/menus/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/menus/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/financial_ratio_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/financials_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/market_data.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/configs/titles/statement_with_estimates.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/esg.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/exchanges.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/financial_analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/financial_analysis/financial_summary.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/classifications.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/financials_analysis.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/instrument_lists.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/instrument_prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/instrument_requests.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/instruments.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/instruments_relationships.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/instruments/utils.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/market_data.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/mixins.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/officers.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/prices.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/statements/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/statements/statements.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/wbfdm/viewsets/technical_analysis/__init__.py +0 -0
- {wbfdm-1.49.1 → wbfdm-1.49.2}/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.49.
|
|
3
|
+
Version: 1.49.2
|
|
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.*
|
|
@@ -75,6 +75,8 @@ class DSWSMarketDataDataloader(MarketDataProtocol, Dataloader):
|
|
|
75
75
|
parameters["end"] = to_date.strftime("%Y-%m-%d")
|
|
76
76
|
for chunked_identifiers in client.get_chunked_list(identifiers, len(fields)):
|
|
77
77
|
df = client.get_timeserie_df(chunked_identifiers, fields, **parameters)
|
|
78
|
+
if exact_date:
|
|
79
|
+
df = df[df["Dates"] == exact_date]
|
|
78
80
|
for row in df.to_dict("records"):
|
|
79
81
|
jsondate = row["Dates"].date()
|
|
80
82
|
external_id = row["Instrument"]
|
|
@@ -130,6 +130,9 @@ class InstrumentManager(TreeManager):
|
|
|
130
130
|
def annotate_all(self):
|
|
131
131
|
return self.get_queryset().annotate_all()
|
|
132
132
|
|
|
133
|
+
def filter_active_at_date(self, val_date: date):
|
|
134
|
+
return self.get_queryset().filter_active_at_date(val_date)
|
|
135
|
+
|
|
133
136
|
|
|
134
137
|
class SecurityInstrumentManager(InstrumentManager):
|
|
135
138
|
def get_queryset(self) -> InstrumentQuerySet:
|
|
@@ -142,19 +145,8 @@ class ClassifiableInstrumentManager(InstrumentManager):
|
|
|
142
145
|
|
|
143
146
|
|
|
144
147
|
class ActiveInstrumentManager(InstrumentManager):
|
|
145
|
-
def get_queryset_at_date(self, val_date: date):
|
|
146
|
-
return (
|
|
147
|
-
super()
|
|
148
|
-
.get_queryset()
|
|
149
|
-
.filter(
|
|
150
|
-
(models.Q(delisted_date__isnull=True) | models.Q(delisted_date__gte=val_date))
|
|
151
|
-
& models.Q(inception_date__isnull=False)
|
|
152
|
-
& models.Q(inception_date__lte=val_date)
|
|
153
|
-
)
|
|
154
|
-
)
|
|
155
|
-
|
|
156
148
|
def get_queryset(self):
|
|
157
|
-
return
|
|
149
|
+
return super().get_queryset().filter_active_at_date(date.today())
|
|
158
150
|
|
|
159
151
|
|
|
160
152
|
class InvestableUniverseManager(InstrumentManager):
|
|
@@ -579,6 +571,18 @@ class Instrument(ComplexToStringMixin, TagModelMixin, ImportMixin, InstrumentPMS
|
|
|
579
571
|
if favorite_classification := self.classifications.filter(group=get_default_classification_group()).first():
|
|
580
572
|
return favorite_classification
|
|
581
573
|
|
|
574
|
+
def get_primary_quote(self):
|
|
575
|
+
if self.children.exists():
|
|
576
|
+
# we try the primary children first, then the first children within the investable universe and we fallback to the first children otherwise
|
|
577
|
+
try:
|
|
578
|
+
instrument = self.children.get(is_primary=True)
|
|
579
|
+
except Instrument.DoesNotExist:
|
|
580
|
+
instrument = self.children.filter(is_investable_universe=True).first()
|
|
581
|
+
if not instrument:
|
|
582
|
+
instrument = self.children.first()
|
|
583
|
+
return instrument.get_primary_quote()
|
|
584
|
+
return self
|
|
585
|
+
|
|
582
586
|
@property
|
|
583
587
|
def active(self) -> bool:
|
|
584
588
|
today = date.today()
|
|
@@ -10,6 +10,7 @@ from django.db.models import (
|
|
|
10
10
|
ExpressionWrapper,
|
|
11
11
|
F,
|
|
12
12
|
OuterRef,
|
|
13
|
+
Q,
|
|
13
14
|
QuerySet,
|
|
14
15
|
Subquery,
|
|
15
16
|
)
|
|
@@ -20,6 +21,12 @@ from wbfdm.enums import MarketData
|
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class InstrumentQuerySet(QuerySet):
|
|
24
|
+
def filter_active_at_date(self, val_date: date):
|
|
25
|
+
return self.filter(
|
|
26
|
+
(Q(delisted_date__isnull=True) | Q(delisted_date__gte=val_date))
|
|
27
|
+
& (Q(inception_date__isnull=True) | Q(inception_date__lte=val_date))
|
|
28
|
+
)
|
|
29
|
+
|
|
23
30
|
def annotate_classification_for_group(
|
|
24
31
|
self, classification_group, classification_height: int = 0, **kwargs
|
|
25
32
|
) -> QuerySet:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.49.1 → wbfdm-1.49.2}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbfdm-1.49.1 → wbfdm-1.49.2}/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
|
{wbfdm-1.49.1 → wbfdm-1.49.2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|