wbfdm 2.2.2__tar.gz → 2.2.5__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-2.2.2 → wbfdm-2.2.5}/PKG-INFO +1 -1
- {wbfdm-2.2.2 → wbfdm-2.2.5}/pyproject.toml +2 -6
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/companies.sql +0 -100
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/ibes/base_estimates.sql +0 -33
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/ibes/calendarized.sql +0 -37
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/ibes/complete.sql +0 -9
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/ibes/estimates.sql +0 -3
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/ibes/financials.sql +0 -79
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/instruments.sql +0 -100
- wbfdm-2.2.2/wbfdm/contrib/qa/jinja2/qa/sql/quotes.sql +0 -98
- {wbfdm-2.2.2 → wbfdm-2.2.5}/.gitignore +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/admin/options.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/esg/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/esg/enums.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/esg/esg_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/esg/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/financial_analysis/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/technical_analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/technical_analysis/technical_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/technical_analysis/traces.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/analysis/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/apps.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/backends/dto.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/dsws/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/dsws/client.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/dsws/dataloaders/market_data.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/internal/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/internal/dataloaders/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/internal/dataloaders/market_data.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/admin/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/admin/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/admin/metrics.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/apps.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/backends/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/backends/base.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/backends/performances.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/backends/statistics.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/decorators.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/dispatch.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/dto.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/exceptions.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/factories.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/filters.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/migrations/0001_initial.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/migrations/0002_remove_instrumentmetric_unique_instrument_metric_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/migrations/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/models.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/orchestrators.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/registry.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/serializers.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tasks.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/backends/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/backends/test_performances.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/backends/test_statistics.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/conftest.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/test_dto.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/test_models.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/test_tasks.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/tests/test_viewsets.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/urls.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/configs/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/configs/display.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/configs/menus.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/configs/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/mixins.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/metric/viewsets/viewsets.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/client.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/dataloaders/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/dataloaders/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/dataloaders/esg_controversies.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/sync.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/tests/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/tests/conftest.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/msci/tests/test_client.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/apps.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/database_routers.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/adjustments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/corporate_actions.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/financials.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/market_data.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/officers.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/reporting_dates.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/dataloaders/statements.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/sync/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/sync/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/sync/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/contrib/qa/tasks.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/dataloaders/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/dataloaders/cache.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/dataloaders/protocols.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/dataloaders/proxies.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/dataloaders/types.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/dynamic_preferences_registry.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/enums.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/controversies.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/instrument_list.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/factories/options.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/figures/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/figures/financials/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/figures/financials/financial_analysis_charts.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/figures/financials/financials_charts.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/financials.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/financials_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/filters/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/deals.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/equities.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/mixin.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/utils/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/utils/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/cbinsights/utils/client.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/fiscal_period.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/forecast.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/fundamental.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/geographic_segment.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/instrument.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/instrument_price.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/mixin.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/utils/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/backends/refinitiv/utils/controller.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/handlers/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/handlers/instrument.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/handlers/instrument_list.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/handlers/instrument_price.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/handlers/option.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/handlers/private_equities.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/cbinsights/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/cbinsights/deals.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/cbinsights/equities.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/cbinsights/fundamentals.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/daily_fundamental.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/forecast.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/fundamental.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/geographic_segment.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/instrument.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/instrument_price.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/parsers/refinitiv/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/resources/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/resources/classification.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/resources/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/import_export/resources/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/jinja2.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/management/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/menu.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0001_initial.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0003_instrument_estimate_backend_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0004_rename_financials_instrumentlookup_statements_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0005_instrument_corporate_action_backend.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0006_instrument_officer_backend.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0007_instrument_country_instrument_currency_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0008_controversy.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0009_alter_controversy_flag_alter_controversy_initiated_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0010_classification_classificationgroup_deal_exchange_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0011_delete_instrumentlookup_instrument_corporate_actions_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0012_instrumentprice_created_instrumentprice_modified.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0014_alter_controversy_instrument.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0015_instrument_instrument_investible_index.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0016_instrumenttype_name_repr.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0017_instrument_instrument_security_index.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0018_instrument_instrument_level_index.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0019_alter_controversy_source.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0020_optionaggregate_option_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0021_delete_instrumentdailystatistics.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0022_instrument_cusip_option_open_interest_20d_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0023_instrument_unique_ric_instrument_unique_rmc_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0024_option_open_interest_10d_option_volume_10d_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0025_instrument_is_primary_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0026_instrument_is_cash_equivalent.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/0027_remove_instrument_unique_ric_and_more.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/migrations/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/esg/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/esg/controversies.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/exchanges/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/exchanges/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/fields.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/fk_fields.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/indicators.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/instrument_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/llm/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/llm/create_instrument_news_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/mixin/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/mixin/financials_computed.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/mixin/financials_serializer_fields.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/mixin/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/options.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/private_equities.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/querysets.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/models/instruments/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/preferences.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/instrument_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/instruments/mixins.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/serializers/officers.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/signals.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/sync/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/sync/abstract.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/sync/runner.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tasks.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/analysis/financial_analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/analysis/financial_analysis/test_statement_with_estimates.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/analysis/financial_analysis/test_utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/analysis/test_esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/conftest.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/dataloaders/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/dataloaders/test_cache.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_instrument_list.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_merge.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/models/test_options.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/test_tasks.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/tests/tests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/urls.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/buttons/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/buttons/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/buttons/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/buttons/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/buttons/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/monthly_performances.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/officers.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/statement_with_estimates.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/display/statements.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/financials_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/endpoints/statements.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/menus/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/menus/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/menus/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/menus/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/menus/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/menus/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/financial_ratio_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/financials_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/market_data.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/configs/titles/statement_with_estimates.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/esg.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/exchanges.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/financial_analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/financial_analysis/financial_metric_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/financial_analysis/statement_with_estimates.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/classifications.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/financials_analysis.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/instrument_lists.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/instrument_prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/instrument_requests.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/instruments.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/instruments_relationships.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/instruments/utils.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/market_data.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/mixins.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/officers.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/prices.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/statements/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/statements/statements.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/technical_analysis/__init__.py +0 -0
- {wbfdm-2.2.2 → wbfdm-2.2.5}/wbfdm/viewsets/technical_analysis/monthly_performances.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: wbfdm
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
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.*
|
|
@@ -31,12 +31,8 @@ package = true
|
|
|
31
31
|
[tool.hatch.version]
|
|
32
32
|
path = "../../pyproject.toml"
|
|
33
33
|
|
|
34
|
-
[tool.hatch.build
|
|
35
|
-
include = ["wbfdm
|
|
36
|
-
|
|
37
|
-
[tool.hatch.build.targets.wheel]
|
|
38
|
-
packages = ["wbfdm"]
|
|
39
|
-
only-packages = true
|
|
34
|
+
[tool.hatch.build]
|
|
35
|
+
include = ["wbfdm/**/*.py"]
|
|
40
36
|
|
|
41
37
|
[build-system]
|
|
42
38
|
requires = ["hatchling"]
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
SELECT
|
|
2
|
-
'qa-ds2-company' AS 'source',
|
|
3
|
-
company.DsCmpyCode AS 'source_id',
|
|
4
|
-
NULL AS 'parent_id',
|
|
5
|
-
coalesce(cmp_ref.PrimaryName, company.DsCmpyName) AS 'name',
|
|
6
|
-
company.CmpyCtryCode AS 'country_id',
|
|
7
|
-
exchange_qt.ISOCurrCode AS 'currency_id',
|
|
8
|
-
'company' AS 'instrument_type_id',
|
|
9
|
-
rkd_instrument.ISIN AS 'isin',
|
|
10
|
-
rkd_instrument.Ticker AS 'ticker',
|
|
11
|
-
rkd_instrument.RIC AS 'refinitiv_identifier_code',
|
|
12
|
-
country_qt.DsMnem AS 'refinitiv_mnemonic_code',
|
|
13
|
-
rkd_instrument.Cusip AS 'cusip',
|
|
14
|
-
rkd_instrument.Sedol AS 'sedol',
|
|
15
|
-
filing.TxtInfo AS 'description',
|
|
16
|
-
rkd_cmp_det.Employees AS 'employees',
|
|
17
|
-
(select top 1 concat('00', phone.CtryPh, phone.City, phone.PhoneNo) from RKDFndCmpPhone AS phone where phone.Code = rkd_instrument.Code AND PhTypeCode = 1) AS 'phone',
|
|
18
|
-
(select top 1 web.URL from RKDFndCmpWebLink AS web where web.Code = rkd_instrument.Code AND web.URLTypeCode = 1) AS 'primary_url',
|
|
19
|
-
(select string_agg(web.URL, ',') from RKDFndCmpWebLink AS web where web.Code = rkd_instrument.Code AND web.URLTypeCode <> 1) AS 'additional_urls',
|
|
20
|
-
concat(rkd_cmp_det.StAdd1, ', ', rkd_cmp_det.Post, ', ', rkd_cmp_det.City) AS 'headquarter_address',
|
|
21
|
-
convert(Date, COALESCE(rkd_cmp_det.PublicSince, (SELECT MIN(MarketDate) FROM DS2PrimQtPrc WHERE InfoCode = exchange_qt.InfoCode))) AS 'inception_date',
|
|
22
|
-
NULL AS 'delisted_date',
|
|
23
|
-
convert(Date, cmp_ref.LatestFinAnnDt) AS 'last_annual_report',
|
|
24
|
-
convert(Date, cmp_ref.LatestFinIntmDt) AS 'last_interim_report',
|
|
25
|
-
-- MarketData DL
|
|
26
|
-
exchange_qt.InfoCode AS 'quote_code',
|
|
27
|
-
exchange_qt.ExchIntCode AS 'exchange_code',
|
|
28
|
-
-- Fundamental DL
|
|
29
|
-
rkd_instrument.Code AS 'rkd_code',
|
|
30
|
-
-- Forecast DL
|
|
31
|
-
ibes_mapping.EstPermID AS 'ibes_code'
|
|
32
|
-
|
|
33
|
-
FROM DS2Company AS company
|
|
34
|
-
|
|
35
|
-
LEFT JOIN DS2Security AS security
|
|
36
|
-
ON company.DsCmpyCode = security.DsCmpyCode
|
|
37
|
-
AND security.IsMajorSec = 'Y'
|
|
38
|
-
|
|
39
|
-
LEFT JOIN DS2ExchQtInfo AS exchange_qt
|
|
40
|
-
ON exchange_qt.InfoCode = security.PrimQtInfoCode
|
|
41
|
-
AND exchange_qt.IsPrimExchQt = 'Y'
|
|
42
|
-
|
|
43
|
-
LEFT JOIN DS2CtryQtInfo AS country_qt
|
|
44
|
-
ON exchange_qt.InfoCode = country_qt.InfoCode
|
|
45
|
-
|
|
46
|
-
LEFT JOIN vw_SecurityMappingX AS mappingX
|
|
47
|
-
ON mappingX.vencode = security.PrimQtInfoCode
|
|
48
|
-
AND mappingX.ventype = 33
|
|
49
|
-
AND mappingX.rank = 1
|
|
50
|
-
AND mappingX.StartDate = (
|
|
51
|
-
SELECT MAX(I.StartDate)
|
|
52
|
-
FROM vw_SecurityMappingX AS I
|
|
53
|
-
WHERE I.typ = mappingX.typ AND I.vencode = mappingX.vencode AND I.ventype = mappingX.ventype
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
LEFT JOIN vw_SecurityMappingX AS mappingRKD
|
|
57
|
-
ON mappingX.seccode = mappingRKD.seccode
|
|
58
|
-
AND mappingX.typ = mappingRKD.typ
|
|
59
|
-
AND mappingRKD.ventype = 26
|
|
60
|
-
AND mappingRKD.rank = 1
|
|
61
|
-
AND mappingRKD.StartDate = (
|
|
62
|
-
SELECT MAX(I.StartDate)
|
|
63
|
-
FROM vw_SecurityMappingX AS I
|
|
64
|
-
WHERE I.typ = mappingRKD.typ AND I.vencode = mappingRKD.vencode AND I.ventype = mappingRKD.ventype
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
LEFT JOIN RKDFndCmpRefIssue AS rkd_instrument
|
|
68
|
-
ON rkd_instrument.IssueCode = mappingRKD.vencode
|
|
69
|
-
|
|
70
|
-
LEFT JOIN RKDFndCmpDet AS rkd_cmp_det
|
|
71
|
-
ON rkd_cmp_det.Code = rkd_instrument.Code
|
|
72
|
-
|
|
73
|
-
LEFT JOIN RKDFndCmpRef AS cmp_ref
|
|
74
|
-
ON cmp_ref.Code = rkd_instrument.Code
|
|
75
|
-
|
|
76
|
-
LEFT JOIN RKDFndCmpFiling AS filing
|
|
77
|
-
ON filing.Code = rkd_instrument.Code
|
|
78
|
-
AND filing.TxtInfoTypeCode = 2
|
|
79
|
-
|
|
80
|
-
LEFT JOIN vw_IBES2Mapping AS ibes_mapping
|
|
81
|
-
ON ibes_mapping.SecCode = mappingX.seccode
|
|
82
|
-
AND ibes_mapping.typ = mappingX.typ
|
|
83
|
-
AND ibes_mapping.Exchange = (
|
|
84
|
-
CASE
|
|
85
|
-
WHEN ibes_mapping.typ = 6 THEN 0
|
|
86
|
-
WHEN ibes_mapping.typ = 1 THEN 1
|
|
87
|
-
END
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
{% if source_id %}
|
|
91
|
-
where company.DsCmpyCode = {{ source_id }}
|
|
92
|
-
{% endif %}
|
|
93
|
-
-- where company.CmpyCtryCode = 'IS'
|
|
94
|
-
|
|
95
|
-
ORDER BY company.DsCmpyCode
|
|
96
|
-
|
|
97
|
-
{% if (offset == 0 or offset) and batch %}
|
|
98
|
-
offset {{ offset|sqlsafe }} rows
|
|
99
|
-
fetch next {{ batch|sqlsafe }} rows only
|
|
100
|
-
{% endif %}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{% extends 'qa/sql/ibes/financials.sql' %}
|
|
2
|
-
|
|
3
|
-
{% block additional_fields %}
|
|
4
|
-
(
|
|
5
|
-
select DefActValue * DefScale
|
|
6
|
-
from TreActRpt
|
|
7
|
-
where
|
|
8
|
-
fin.EstPermID = EstPermID
|
|
9
|
-
and fin.PerEndDate = PerEndDate
|
|
10
|
-
and fin.Measure = Measure
|
|
11
|
-
and fin.PerType = PerType
|
|
12
|
-
and ExpireDate is null
|
|
13
|
-
and fin.IsParent = IsParent
|
|
14
|
-
) as actual_value,
|
|
15
|
-
case
|
|
16
|
-
when fin.DefMeanEst = 0 then null
|
|
17
|
-
else ((
|
|
18
|
-
select DefActValue * DefScale
|
|
19
|
-
from TREActRpt
|
|
20
|
-
where
|
|
21
|
-
fin.EstPermID = EstPermID
|
|
22
|
-
and fin.PerEndDate = PerEndDate
|
|
23
|
-
and fin.Measure = Measure
|
|
24
|
-
and fin.PerType = PerType
|
|
25
|
-
and ExpireDate IS NULL
|
|
26
|
-
and fin.IsParent = IsParent
|
|
27
|
-
) - (fin.DefMeanEst * fin.DefScale)) / (fin.DefMeanEst * fin.DefScale)
|
|
28
|
-
end AS difference_pct,
|
|
29
|
-
fin.DefHighEst * fin.DefScale AS value_high,
|
|
30
|
-
fin.DefLowEst * fin.DefScale AS value_low,
|
|
31
|
-
fin.DefStdDev * fin.DefScale AS value_stdev,
|
|
32
|
-
fin.NumEsts AS value_amount,
|
|
33
|
-
{% endblock %}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
with data as (
|
|
2
|
-
{% with financial_table="TreActRpt", value="DefActValue", only_valid=True, estimate=False %}
|
|
3
|
-
{% include 'qa/sql/ibes/financials.sql' %}
|
|
4
|
-
{% endwith %}
|
|
5
|
-
|
|
6
|
-
union
|
|
7
|
-
|
|
8
|
-
{% with financial_table="TreSumPer", value="DefMeanEst", only_valid=True, from_index=1, estimate=True %}
|
|
9
|
-
{% include 'qa/sql/ibes/financials.sql' %}
|
|
10
|
-
{% endwith %}
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
select
|
|
14
|
-
*,
|
|
15
|
-
case
|
|
16
|
-
when period_type = 'Y' and month(period_end_date) = 12 then value
|
|
17
|
-
when period_type = 'Y'
|
|
18
|
-
then month(period_end_date) * value / 12 + (12 - month(period_end_date)) * lead(value, 1) over (partition by financial, external_identifier, period_type order by period_end_date) / 12
|
|
19
|
-
when period_type = 'Q' and (
|
|
20
|
-
(interim = 1 and month(period_end_date) = 3)
|
|
21
|
-
or (interim = 2 and month(period_end_date) = 6)
|
|
22
|
-
or (interim = 3 and month(period_end_date) = 9)
|
|
23
|
-
or (interim = 4 and month(period_end_date) = 12)
|
|
24
|
-
)
|
|
25
|
-
then value
|
|
26
|
-
when period_type = 'Q'
|
|
27
|
-
then month(period_end_date) * value / 3 + (3 - month(period_end_date)) * lead(value, 1) over (partition by financial, external_identifier, period_type order by period_end_date) / 3
|
|
28
|
-
|
|
29
|
-
when period_type = 'S' and (
|
|
30
|
-
(interim = 1 and month(period_end_date) = 6)
|
|
31
|
-
or (interim = 2 and month(period_end_date) = 12)
|
|
32
|
-
)
|
|
33
|
-
then value
|
|
34
|
-
when period_type = 'S'
|
|
35
|
-
then month(period_end_date) * value / 6 + (6 - month(period_end_date)) * lead(value, 1) over (partition by financial, external_identifier, period_type order by period_end_date) / 6
|
|
36
|
-
end as _value
|
|
37
|
-
from data
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
{% with financial_table="TreActRpt", value="DefActValue", only_valid=True, estimate=False %}
|
|
2
|
-
{% include 'qa/sql/ibes/financials.sql' %}
|
|
3
|
-
{% endwith %}
|
|
4
|
-
|
|
5
|
-
union
|
|
6
|
-
|
|
7
|
-
{% with financial_table="TreSumPer", value="DefMeanEst", only_valid=True, from_index=1, estimate=True %}
|
|
8
|
-
{% include 'qa/sql/ibes/financials.sql' %}
|
|
9
|
-
{% endwith %}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
select
|
|
2
|
-
case
|
|
3
|
-
when fin.PerType = 2 then 'M'
|
|
4
|
-
when fin.PerType = 3 then 'Q'
|
|
5
|
-
when fin.PerType = 4 then 'Y'
|
|
6
|
-
when fin.PerType = 5 then 'S'
|
|
7
|
-
end as period_type,
|
|
8
|
-
convert(date, fin.ExpireDate) as valid_until,
|
|
9
|
-
fin.EstPermID as external_identifier,
|
|
10
|
-
convert(date, fin.PerEndDate) as period_end_date,
|
|
11
|
-
|
|
12
|
-
idx.FiscalYear as year,
|
|
13
|
-
idx.FiscalIndex as interim,
|
|
14
|
-
idx.PerIndex as 'index',
|
|
15
|
-
|
|
16
|
-
case
|
|
17
|
-
when (code.Description collate Latin1_General_Bin) = 'GBp' then {{ value|identifier }} * DefScale / 100
|
|
18
|
-
else {{ value | identifier }} * DefScale
|
|
19
|
-
end as value,
|
|
20
|
-
|
|
21
|
-
code.Description as currency,
|
|
22
|
-
mapping.financial as financial,
|
|
23
|
-
{% block additional_fields%}{% endblock %}
|
|
24
|
-
{% if estimate %}1{% else %}0{% endif %} as estimate,
|
|
25
|
-
'qa-ibes' as source
|
|
26
|
-
|
|
27
|
-
from {{ financial_table |identifier }} as fin
|
|
28
|
-
|
|
29
|
-
join TrePerIndex as idx
|
|
30
|
-
on idx.EstPermID = fin.EstPermID
|
|
31
|
-
and idx.PerType = fin.PerType
|
|
32
|
-
and idx.PerEndDate = fin.PerEndDate
|
|
33
|
-
|
|
34
|
-
join stainly_financial_mapping as mapping
|
|
35
|
-
on mapping.ibes_financial = fin.Measure
|
|
36
|
-
|
|
37
|
-
left join TreCode as code
|
|
38
|
-
on code.Code = fin.DefCurrPermID
|
|
39
|
-
and code.CodeType = 7
|
|
40
|
-
|
|
41
|
-
where
|
|
42
|
-
fin.EffectiveDate = (
|
|
43
|
-
select max(EffectiveDate)
|
|
44
|
-
from {{ financial_table |identifier }}
|
|
45
|
-
where
|
|
46
|
-
EstPermID = fin.EstPermID
|
|
47
|
-
and PerEndDate = fin.PerEndDate
|
|
48
|
-
and PerType = fin.PerType
|
|
49
|
-
and Measure = fin.Measure
|
|
50
|
-
and (
|
|
51
|
-
ExpireDate = fin.ExpireDate
|
|
52
|
-
or (fin.ExpireDate is null and ExpireDate is null)
|
|
53
|
-
)
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
and fin.EstPermID in (
|
|
57
|
-
{% for instrument in instruments %}
|
|
58
|
-
{{ instrument }}{% if not loop.last %},{% endif %}
|
|
59
|
-
{% endfor %}
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
and mapping.financial in (
|
|
63
|
-
{% for financial in financials %}
|
|
64
|
-
{{ financial }}{% if not loop.last %},{% endif %}
|
|
65
|
-
{% endfor %}
|
|
66
|
-
)
|
|
67
|
-
|
|
68
|
-
{% if only_valid %}and fin.ExpireDate is null{% endif %}
|
|
69
|
-
|
|
70
|
-
{% if from_year %}and idx.FiscalYear >= {{ from_year }}{% endif %}
|
|
71
|
-
{% if to_year %}and idx.FiscalYear <= {{ to_year }}{% endif %}
|
|
72
|
-
|
|
73
|
-
{% if from_date %}and fin.PerEndDate >= {{ from_date }}{% endif %}
|
|
74
|
-
{% if to_date %}and fin.PerEndDate <= {{ to_date }}{% endif %}
|
|
75
|
-
|
|
76
|
-
{% if from_index or from_index == 0 %}and idx.PerIndex >= {{ from_index }}{% endif %}
|
|
77
|
-
{% if to_index or to_index == 0 %}and idx.PerIndex <= {{ to_index }}{% endif %}
|
|
78
|
-
|
|
79
|
-
{% if period_type == 'annual' %}and idx.FiscalIndex = 0{% elif period_type == 'interim' %}and idx.FiscalIndex > 0{% endif %}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
SELECT
|
|
2
|
-
'qa-ds2-security' AS 'source',
|
|
3
|
-
security.DsSecCode AS 'source_id',
|
|
4
|
-
security.IsMajorSec AS 'is_primary',
|
|
5
|
-
company.DsCmpyCode AS 'parent_id',
|
|
6
|
-
coalesce(cmp_ref.PrimaryName, company.DsCmpyName) AS 'name',
|
|
7
|
-
company.CmpyCtryCode AS 'country_id',
|
|
8
|
-
exchange_qt.ISOCurrCode AS 'currency_id',
|
|
9
|
-
country_qt.TypeCode AS 'instrument_type_id',
|
|
10
|
-
rkd_instrument.ISIN AS 'isin',
|
|
11
|
-
rkd_instrument.Ticker AS 'ticker',
|
|
12
|
-
rkd_instrument.RIC AS 'refinitiv_identifier_code',
|
|
13
|
-
country_qt.DsMnem AS 'refinitiv_mnemonic_code',
|
|
14
|
-
rkd_instrument.Cusip AS 'cusip',
|
|
15
|
-
rkd_instrument.Sedol AS 'sedol',
|
|
16
|
-
filing.TxtInfo AS 'description',
|
|
17
|
-
rkd_cmp_det.Employees AS 'employees',
|
|
18
|
-
(select top 1 concat('00', phone.CtryPh, phone.City, phone.PhoneNo) from RKDFndCmpPhone AS phone where phone.Code = rkd_instrument.Code AND PhTypeCode = 1) AS 'phone',
|
|
19
|
-
(select top 1 web.URL from RKDFndCmpWebLink AS web where web.Code = rkd_instrument.Code AND web.URLTypeCode = 1) AS 'primary_url',
|
|
20
|
-
(select string_agg(web.URL, ',') from RKDFndCmpWebLink AS web where web.Code = rkd_instrument.Code AND web.URLTypeCode <> 1) AS 'additional_urls',
|
|
21
|
-
concat(rkd_cmp_det.StAdd1, ', ', rkd_cmp_det.Post, ', ', rkd_cmp_det.City) AS 'headquarter_address',
|
|
22
|
-
convert(Date, COALESCE(rkd_cmp_det.PublicSince, (SELECT MIN(MarketDate) FROM DS2PrimQtPrc WHERE InfoCode = exchange_qt.InfoCode))) AS 'inception_date',
|
|
23
|
-
convert(Date, security.DelistDate) AS 'delisted_date',
|
|
24
|
-
convert(Date, cmp_ref.LatestFinAnnDt) AS 'last_annual_report',
|
|
25
|
-
convert(Date, cmp_ref.LatestFinIntmDt) AS 'last_interim_report',
|
|
26
|
-
-- MarketData DL
|
|
27
|
-
exchange_qt.InfoCode AS 'quote_code',
|
|
28
|
-
exchange_qt.ExchIntCode AS 'exchange_code',
|
|
29
|
-
-- Fundamental DL
|
|
30
|
-
rkd_instrument.Code AS 'rkd_code',
|
|
31
|
-
-- Forecast DL
|
|
32
|
-
ibes_mapping.EstPermID AS 'ibes_code'
|
|
33
|
-
|
|
34
|
-
FROM DS2Security AS security
|
|
35
|
-
|
|
36
|
-
LEFT JOIN DS2Company AS company
|
|
37
|
-
ON security.DsCmpyCode = company.DsCmpyCode
|
|
38
|
-
|
|
39
|
-
LEFT JOIN DS2ExchQtInfo AS exchange_qt
|
|
40
|
-
ON exchange_qt.InfoCode = security.PrimQtInfoCode
|
|
41
|
-
AND exchange_qt.IsPrimExchQt = 'Y'
|
|
42
|
-
|
|
43
|
-
LEFT JOIN DS2CtryQtInfo AS country_qt
|
|
44
|
-
ON exchange_qt.InfoCode = country_qt.InfoCode
|
|
45
|
-
|
|
46
|
-
LEFT JOIN vw_SecurityMappingX AS mappingX
|
|
47
|
-
ON mappingX.vencode = security.PrimQtInfoCode
|
|
48
|
-
AND mappingX.ventype = 33
|
|
49
|
-
AND mappingX.rank = 1
|
|
50
|
-
AND mappingX.StartDate = (
|
|
51
|
-
SELECT MAX(I.StartDate)
|
|
52
|
-
FROM vw_SecurityMappingX AS I
|
|
53
|
-
WHERE I.typ = mappingX.typ AND I.vencode = mappingX.vencode AND I.ventype = mappingX.ventype
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
LEFT JOIN vw_SecurityMappingX AS mappingRKD
|
|
57
|
-
ON mappingX.seccode = mappingRKD.seccode
|
|
58
|
-
AND mappingX.typ = mappingRKD.typ
|
|
59
|
-
AND mappingRKD.ventype = 26
|
|
60
|
-
AND mappingRKD.rank = 1
|
|
61
|
-
AND mappingRKD.StartDate = (
|
|
62
|
-
SELECT MAX(I.StartDate)
|
|
63
|
-
FROM vw_SecurityMappingX AS I
|
|
64
|
-
WHERE I.typ = mappingRKD.typ AND I.vencode = mappingRKD.vencode AND I.ventype = mappingRKD.ventype
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
LEFT JOIN RKDFndCmpRefIssue AS rkd_instrument
|
|
68
|
-
ON rkd_instrument.IssueCode = mappingRKD.vencode
|
|
69
|
-
|
|
70
|
-
LEFT JOIN RKDFndCmpDet AS rkd_cmp_det
|
|
71
|
-
ON rkd_cmp_det.Code = rkd_instrument.Code
|
|
72
|
-
|
|
73
|
-
LEFT JOIN RKDFndCmpRef AS cmp_ref
|
|
74
|
-
ON cmp_ref.Code = rkd_instrument.Code
|
|
75
|
-
|
|
76
|
-
LEFT JOIN RKDFndCmpFiling AS filing
|
|
77
|
-
ON filing.Code = rkd_instrument.Code
|
|
78
|
-
AND filing.TxtInfoTypeCode = 2
|
|
79
|
-
|
|
80
|
-
LEFT JOIN vw_IBES2Mapping AS ibes_mapping
|
|
81
|
-
ON ibes_mapping.SecCode = mappingX.seccode
|
|
82
|
-
AND ibes_mapping.typ = mappingX.typ
|
|
83
|
-
AND ibes_mapping.Exchange = (
|
|
84
|
-
CASE
|
|
85
|
-
WHEN ibes_mapping.typ = 6 THEN 0
|
|
86
|
-
WHEN ibes_mapping.typ = 1 THEN 1
|
|
87
|
-
END
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
{% if source_id %}
|
|
91
|
-
where security.DsSecCode = {{ source_id }}
|
|
92
|
-
{% endif %}
|
|
93
|
-
-- where company.CmpyCtryCode = 'IS'
|
|
94
|
-
|
|
95
|
-
ORDER BY company.DsCmpyCode
|
|
96
|
-
|
|
97
|
-
{% if (offset == 0 or offset) and batch %}
|
|
98
|
-
offset {{ offset|sqlsafe }} rows
|
|
99
|
-
fetch next {{ batch|sqlsafe }} rows only
|
|
100
|
-
{% endif %}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
SELECT
|
|
2
|
-
'qa-ds2-quote' AS 'source',
|
|
3
|
-
CONCAT(exchange_qt.InfoCode, '-', exchange_qt.ExchIntCode) AS 'source_id',
|
|
4
|
-
security.DsSecCode AS 'parent_id',
|
|
5
|
-
case
|
|
6
|
-
when exchange_qt.IsPrimExchQt = 'Y' and country_qt.IsPrimQt = 1 and security.DelistDate is null then 'Y'
|
|
7
|
-
else 'N'
|
|
8
|
-
end as is_primary,
|
|
9
|
-
coalesce(cmp_ref.PrimaryName, exchange_qt.DsQtName) AS 'name',
|
|
10
|
-
country_qt.Region AS 'country_id',
|
|
11
|
-
exchange_qt.ISOCurrCode AS 'currency_id',
|
|
12
|
-
'quote' AS 'instrument_type_id',
|
|
13
|
-
rkd_instrument.ISIN AS 'isin',
|
|
14
|
-
rkd_instrument.Ticker AS 'ticker',
|
|
15
|
-
rkd_instrument.RIC AS 'refinitiv_identifier_code',
|
|
16
|
-
country_qt.DsMnem AS 'refinitiv_mnemonic_code',
|
|
17
|
-
rkd_instrument.Cusip AS 'cusip',
|
|
18
|
-
rkd_instrument.Sedol AS 'sedol',
|
|
19
|
-
filing.TxtInfo AS 'description',
|
|
20
|
-
rkd_cmp_det.Employees AS 'employees',
|
|
21
|
-
(select top 1 concat('00', phone.CtryPh, phone.City, phone.PhoneNo) from RKDFndCmpPhone AS phone where phone.Code = rkd_instrument.Code AND PhTypeCode = 1) AS 'phone',
|
|
22
|
-
(select top 1 web.URL from RKDFndCmpWebLink AS web where web.Code = rkd_instrument.Code AND web.URLTypeCode = 1) AS 'primary_url',
|
|
23
|
-
(select string_agg(web.URL, ',') from RKDFndCmpWebLink AS web where web.Code = rkd_instrument.Code AND web.URLTypeCode <> 1) AS 'additional_urls',
|
|
24
|
-
concat(rkd_cmp_det.StAdd1, ', ', rkd_cmp_det.Post, ', ', rkd_cmp_det.City) AS 'headquarter_address',
|
|
25
|
-
convert(Date, COALESCE(rkd_cmp_det.PublicSince, (SELECT MIN(MarketDate) FROM DS2PrimQtPrc WHERE InfoCode = exchange_qt.InfoCode))) AS 'inception_date',
|
|
26
|
-
convert(Date, security.DelistDate) AS 'delisted_date',
|
|
27
|
-
convert(Date, cmp_ref.LatestFinAnnDt) AS 'last_annual_report',
|
|
28
|
-
convert(Date, cmp_ref.LatestFinIntmDt) AS 'last_interim_report',
|
|
29
|
-
-- MarketData DL
|
|
30
|
-
exchange_qt.InfoCode AS 'quote_code',
|
|
31
|
-
exchange_qt.ExchIntCode AS 'exchange_code',
|
|
32
|
-
-- Fundamental DL
|
|
33
|
-
rkd_instrument.Code AS 'rkd_code',
|
|
34
|
-
-- Forecast DL
|
|
35
|
-
ibes_mapping.EstPermID AS 'ibes_code'
|
|
36
|
-
|
|
37
|
-
FROM DS2ExchQtInfo AS exchange_qt
|
|
38
|
-
|
|
39
|
-
LEFT JOIN DS2CtryQtInfo AS country_qt
|
|
40
|
-
ON exchange_qt.InfoCode = country_qt.InfoCode
|
|
41
|
-
|
|
42
|
-
LEFT JOIN DS2Security AS security
|
|
43
|
-
ON country_qt.DsSecCode = security.DsSecCode
|
|
44
|
-
|
|
45
|
-
LEFT JOIN vw_SecurityMappingX AS mappingX
|
|
46
|
-
ON mappingX.vencode = security.PrimQtInfoCode
|
|
47
|
-
AND mappingX.ventype = 33
|
|
48
|
-
AND mappingX.rank = 1
|
|
49
|
-
AND mappingX.StartDate = (
|
|
50
|
-
SELECT MAX(I.StartDate)
|
|
51
|
-
FROM vw_SecurityMappingX AS I
|
|
52
|
-
WHERE I.typ = mappingX.typ AND I.vencode = mappingX.vencode AND I.ventype = mappingX.ventype
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
LEFT JOIN vw_SecurityMappingX AS mappingRKD
|
|
56
|
-
ON mappingX.seccode = mappingRKD.seccode
|
|
57
|
-
AND mappingX.typ = mappingRKD.typ
|
|
58
|
-
AND mappingRKD.ventype = 26
|
|
59
|
-
AND mappingRKD.rank = 1
|
|
60
|
-
AND mappingRKD.StartDate = (
|
|
61
|
-
SELECT MAX(I.StartDate)
|
|
62
|
-
FROM vw_SecurityMappingX AS I
|
|
63
|
-
WHERE I.typ = mappingRKD.typ AND I.vencode = mappingRKD.vencode AND I.ventype = mappingRKD.ventype
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
LEFT JOIN RKDFndCmpRefIssue AS rkd_instrument
|
|
67
|
-
ON rkd_instrument.IssueCode = mappingRKD.vencode
|
|
68
|
-
|
|
69
|
-
LEFT JOIN RKDFndCmpDet AS rkd_cmp_det
|
|
70
|
-
ON rkd_cmp_det.Code = rkd_instrument.Code
|
|
71
|
-
|
|
72
|
-
LEFT JOIN RKDFndCmpRef AS cmp_ref
|
|
73
|
-
ON cmp_ref.Code = rkd_instrument.Code
|
|
74
|
-
|
|
75
|
-
LEFT JOIN RKDFndCmpFiling AS filing
|
|
76
|
-
ON filing.Code = rkd_instrument.Code
|
|
77
|
-
AND filing.TxtInfoTypeCode = 2
|
|
78
|
-
|
|
79
|
-
LEFT JOIN vw_IBES2Mapping AS ibes_mapping
|
|
80
|
-
ON ibes_mapping.SecCode = mappingX.seccode
|
|
81
|
-
AND ibes_mapping.typ = mappingX.typ
|
|
82
|
-
AND ibes_mapping.Exchange = (
|
|
83
|
-
CASE
|
|
84
|
-
WHEN ibes_mapping.typ = 6 THEN 0
|
|
85
|
-
WHEN ibes_mapping.typ = 1 THEN 1
|
|
86
|
-
END
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
{% if source_id %}
|
|
90
|
-
where CONCAT(exchange_qt.InfoCode, '-', exchange_qt.ExchIntCode) = {{ source_id }}
|
|
91
|
-
{% endif %}
|
|
92
|
-
|
|
93
|
-
ORDER BY exchange_qt.InfoCode, exchange_qt.ExchIntCode
|
|
94
|
-
|
|
95
|
-
{% if (offset == 0 or offset) and batch %}
|
|
96
|
-
offset {{ offset|sqlsafe }} rows
|
|
97
|
-
fetch next {{ batch|sqlsafe }} rows only
|
|
98
|
-
{% endif %}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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-2.2.2 → wbfdm-2.2.5}/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
|