wbfdm 1.47.1__tar.gz → 1.49.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.47.1 → wbfdm-1.49.0}/PKG-INFO +1 -1
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/instruments.py +11 -3
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/instruments.py +9 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/instruments.py +5 -1
- {wbfdm-1.47.1 → wbfdm-1.49.0}/.gitignore +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/pyproject.toml +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/admin/options.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/esg/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/esg/enums.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/esg/esg_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/esg/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/technical_analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/technical_analysis/technical_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/technical_analysis/traces.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/analysis/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/apps.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/backends/dto.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/dsws/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/dsws/client.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/dsws/dataloaders/market_data.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/internal/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/internal/dataloaders/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/internal/dataloaders/market_data.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/admin/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/admin/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/admin/metrics.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/apps.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/backends/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/backends/base.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/backends/performances.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/backends/statistics.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/backends/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/decorators.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/dispatch.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/dto.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/exceptions.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/factories.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/filters.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/migrations/0001_initial.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/migrations/0002_remove_instrumentmetric_unique_instrument_metric_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/migrations/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/models.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/orchestrators.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/registry.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/serializers.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tasks.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/backends/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/backends/test_performances.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/backends/test_statistics.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/conftest.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/test_dto.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/test_models.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/test_tasks.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/tests/test_viewsets.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/urls.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/configs/display.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/configs/menus.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/configs/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/mixins.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/metric/viewsets/viewsets.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/client.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/dataloaders/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/dataloaders/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/dataloaders/esg_controversies.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/sync.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/tests/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/tests/conftest.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/msci/tests/test_client.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/apps.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/database_routers.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/adjustments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/corporate_actions.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/financials.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/market_data.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/officers.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/reporting_dates.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/statements.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/dataloaders/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/companies.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/base_estimates.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/calendarized.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/complete.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/estimates.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/financials.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/instruments.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/jinja2/qa/sql/quotes.sql +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/sync/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/sync/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/sync/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/contrib/qa/tasks.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/dataloaders/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/dataloaders/cache.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/dataloaders/protocols.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/dataloaders/proxies.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/dataloaders/types.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/dynamic_preferences_registry.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/enums.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/controversies.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/instrument_list.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/factories/options.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/figures/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/figures/financials/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/figures/financials/financial_analysis_charts.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/figures/financials/financials_charts.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/financials.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/financials_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/filters/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/deals.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/equities.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/mixin.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/utils/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/utils/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/cbinsights/utils/client.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/fiscal_period.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/forecast.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/fundamental.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/instrument.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/mixin.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/utils/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/backends/refinitiv/utils/controller.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/handlers/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/handlers/instrument.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/handlers/instrument_list.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/handlers/instrument_price.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/handlers/option.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/handlers/private_equities.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/cbinsights/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/cbinsights/deals.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/cbinsights/equities.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/cbinsights/fundamentals.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/forecast.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/fundamental.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/geographic_segment.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/instrument.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/instrument_price.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/parsers/refinitiv/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/resources/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/resources/classification.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/resources/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/import_export/resources/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/jinja2.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/management/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/menu.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0001_initial.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0003_instrument_estimate_backend_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0004_rename_financials_instrumentlookup_statements_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0005_instrument_corporate_action_backend.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0006_instrument_officer_backend.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0007_instrument_country_instrument_currency_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0008_controversy.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0009_alter_controversy_flag_alter_controversy_initiated_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0010_classification_classificationgroup_deal_exchange_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0011_delete_instrumentlookup_instrument_corporate_actions_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0012_instrumentprice_created_instrumentprice_modified.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0014_alter_controversy_instrument.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0015_instrument_instrument_investible_index.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0016_instrumenttype_name_repr.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0017_instrument_instrument_security_index.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0018_instrument_instrument_level_index.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0019_alter_controversy_source.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0020_optionaggregate_option_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0021_delete_instrumentdailystatistics.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0022_instrument_cusip_option_open_interest_20d_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0023_instrument_unique_ric_instrument_unique_rmc_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0024_option_open_interest_10d_option_volume_10d_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0025_instrument_is_primary_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0026_instrument_is_cash_equivalent.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0027_remove_instrument_unique_ric_and_more.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0028_instrumentprice_annualized_daily_volatility.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0029_alter_instrumentprice_volume.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0030_alter_relatedinstrumentthroughmodel_related_type.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/migrations/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/esg/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/esg/controversies.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/exchanges/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/exchanges/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/fields.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/fk_fields.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/indicators.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/llm/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/llm/create_instrument_news_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/mixin/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/mixin/financials_computed.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/mixin/financials_serializer_fields.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/mixin/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/options.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/private_equities.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/querysets.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/models/instruments/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/preferences.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/instrument_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/instruments/mixins.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/serializers/officers.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/signals.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/sync/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/sync/abstract.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/sync/runner.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tasks.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/analysis/financial_analysis/test_statement_with_estimates.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/analysis/financial_analysis/test_utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/analysis/test_esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/conftest.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/dataloaders/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/dataloaders/test_cache.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_instrument_list.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_merge.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/models/test_options.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/test_tasks.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/tests/tests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/urls.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/buttons/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/buttons/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/buttons/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/buttons/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/buttons/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/financial_summary.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/monthly_performances.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/officers.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/statement_with_estimates.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/display/statements.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/financials_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/endpoints/statements.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/menus/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/menus/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/menus/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/menus/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/menus/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/menus/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/financial_ratio_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/financials_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/market_data.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/configs/titles/statement_with_estimates.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/esg.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/exchanges.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/financial_analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/financial_analysis/financial_summary.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/classifications.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/financials_analysis.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/instrument_lists.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/instrument_prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/instrument_requests.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/instruments.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/instruments_relationships.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/instruments/utils.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/market_data.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/mixins.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/officers.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/prices.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/statements/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/statements/statements.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.0}/wbfdm/viewsets/technical_analysis/__init__.py +0 -0
- {wbfdm-1.47.1 → wbfdm-1.49.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.49.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.*
|
|
@@ -2,7 +2,7 @@ import factory
|
|
|
2
2
|
import rstr
|
|
3
3
|
from slugify import slugify
|
|
4
4
|
|
|
5
|
-
from wbfdm.models import Instrument, InstrumentType
|
|
5
|
+
from wbfdm.models import Cash, Instrument, InstrumentType
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class InstrumentTypeFactory(factory.django.DjangoModelFactory):
|
|
@@ -52,9 +52,17 @@ class InstrumentFactory(factory.django.DjangoModelFactory):
|
|
|
52
52
|
model = Instrument
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
class CashFactory(
|
|
55
|
+
class CashFactory(factory.django.DjangoModelFactory):
|
|
56
56
|
is_cash = True
|
|
57
|
-
|
|
57
|
+
currency = factory.SubFactory("wbcore.contrib.currency.factories.CurrencyFactory")
|
|
58
|
+
name = factory.LazyAttribute(lambda o: o.currency.title)
|
|
59
|
+
instrument_type = factory.LazyAttribute(
|
|
60
|
+
lambda o: InstrumentType.objects.get_or_create(key="cash", defaults={"name": "Cash", "short_name": "Cash"})[0]
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
class Meta:
|
|
64
|
+
model = Cash
|
|
65
|
+
django_get_or_create = ("currency",)
|
|
58
66
|
|
|
59
67
|
|
|
60
68
|
class EquityFactory(InstrumentFactory):
|
|
@@ -6,6 +6,7 @@ from wbcore import filters as wb_filters
|
|
|
6
6
|
from wbcore.contrib.tags.filters import TagFilterMixin
|
|
7
7
|
|
|
8
8
|
from wbfdm.filters.utils import _get_default_classification_group_id, get_earliest_date, get_latest_date
|
|
9
|
+
from wbfdm.models import InstrumentType
|
|
9
10
|
from wbfdm.models.instruments import (
|
|
10
11
|
ClassificationGroup,
|
|
11
12
|
Instrument,
|
|
@@ -103,6 +104,14 @@ class InstrumentFilterSet(TagFilterMixin, InstrumentFavoriteGroupFilterSet):
|
|
|
103
104
|
instrument_type__key = wb_filters.CharFilter(label="Instrument Type Key", hidden=True)
|
|
104
105
|
instrument_type__is_classifiable = wb_filters.BooleanFilter(label="Instrument Type Classifiable", hidden=True)
|
|
105
106
|
|
|
107
|
+
instrument_type = wb_filters.ModelMultipleChoiceFilter(
|
|
108
|
+
label="Asset Classes",
|
|
109
|
+
queryset=InstrumentType.objects.all(),
|
|
110
|
+
endpoint=InstrumentType.get_representation_endpoint(),
|
|
111
|
+
value_key=InstrumentType.get_representation_value_key(),
|
|
112
|
+
label_key=InstrumentType.get_representation_label_key(),
|
|
113
|
+
)
|
|
114
|
+
|
|
106
115
|
is_classifiable = wb_filters.BooleanFilter(label="Is Classifiable", method="filter_is_classifiable", hidden=True)
|
|
107
116
|
|
|
108
117
|
def filter_is_classifiable(self, queryset, name, value):
|
|
@@ -964,6 +964,10 @@ class CashManager(InstrumentManager):
|
|
|
964
964
|
class Cash(Instrument):
|
|
965
965
|
objects = CashManager()
|
|
966
966
|
|
|
967
|
+
def save(self, *args, **kwargs):
|
|
968
|
+
self.is_cash = True
|
|
969
|
+
super().save(*args, **kwargs)
|
|
970
|
+
|
|
967
971
|
class Meta:
|
|
968
972
|
proxy = True
|
|
969
973
|
|
|
@@ -971,7 +975,7 @@ class Cash(Instrument):
|
|
|
971
975
|
@receiver(post_save, sender="currency.Currency")
|
|
972
976
|
def create_cash_from_currency(sender, instance, created, raw, **kwargs):
|
|
973
977
|
if created:
|
|
974
|
-
|
|
978
|
+
Cash.objects.get_or_create(
|
|
975
979
|
instrument_type=InstrumentType.CASH, currency=instance, defaults={"name": f"Cash {instance.key}"}
|
|
976
980
|
)
|
|
977
981
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.47.1 → wbfdm-1.49.0}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbfdm-1.47.1 → wbfdm-1.49.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
|
{wbfdm-1.47.1 → wbfdm-1.49.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.47.1 → wbfdm-1.49.0}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py
RENAMED
|
File without changes
|