Python toolkit for quantitative finance
This report summarizes scanner evidence for goldmansachs/gs-quant, a Python project with 13,149 GitHub stars. SynthScan examined 257,279 lines of code across 951 source files, recording 2392 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 16.8 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1496 finding(s).
Are imports declared and package/API names verified? 319 finding(s).
Are wrappers, guards, and repeated structures necessary? 1820 finding(s).
Which changes need focused human review? 2392 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2392 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setup.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/errors.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/tracing/tracing.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/event_study.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | …uant/timeseries/_event_study/event_study_processing.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/_event_study/event_study_labels.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/_event_study/event_study_api.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | …ant/timeseries/_event_study/event_study_definitions.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | …nt/timeseries/_event_study/event_study_macro_source.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/_event_study/event_study_objects.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/_event_study/event_study_frame.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | …nt/timeseries/_event_study/event_study_asset_source.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/_event_study/event_study_impact.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/_event_study/event_study_query.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/test_session.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/test_base.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_econometrics.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_statistics.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_timeseries.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_helper.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_event_study.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_backtesting.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_analysis.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_algebra.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_technicals.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/test_datetime.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/markets/test_portfolio.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/markets/test_securities.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/markets/test_pricing_context.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/markets/test_baskets.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/datetime_/test_point.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/datetime_/test_time.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/api/test_target.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/api/test_risk.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/api/test_index.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/api/test_data.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/api/test_instruments.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/api/test_cache.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/data/test_dataset.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/data/test_data_coordinate.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/analytics/test_datagrid.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/instrument/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/datetime/time.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/datetime/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/target/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/markets/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/data/__init__.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/context_base.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/json_convertors_common.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/priceable.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/common.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/json_encoder.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/json_convertors.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/base.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/tca.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/timeseries/helper.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/test_context_base.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| HIGH | gs_quant/test/timeseries/utils.py | 0 | copyright 2019 goldman sachs. licensed under the apache license, version 2.0 (the "license"); you may not use this file | STRING |
| 310 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | versioneer.py | 642 | def git_versions_from_keywords(keywords, tag_prefix, verbose): | CODE |
| LOW | versioneer.py | 1164 | def git_versions_from_keywords(keywords, tag_prefix, verbose): | STRING |
| LOW | docs/_build/html/_static/jquery-3.5.1.js | 9039 | function addToPrefiltersOrTransports( structure ) { | CODE |
| LOW | docs/_build/html/_static/jquery-3.5.1.js | 9073 | function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { | CODE |
| LOW | gs_quant/_version.py | 169 | def git_versions_from_keywords(keywords, tag_prefix, verbose): | CODE |
| LOW | gs_quant/json_convertors_common.py | 40 | def encode_risk_measure_tuple(blob: tuple[RiskMeasure, ...]) -> tuple[dict, ...]: | CODE |
| LOW | gs_quant/json_convertors_common.py | 73 | def _lookup_risk_measure_by_fields(data: dict) -> Optional[RiskMeasure]: | CODE |
| LOW | gs_quant/json_convertors_common.py | 129 | def decode_risk_measure_tuple(blob: tuple[dict, ...]) -> tuple[RiskMeasure, ...]: | CODE |
| LOW | gs_quant/session.py | 404 | def _copy_auth_to_async_client(self, client: httpx.AsyncClient): | CODE |
| LOW | gs_quant/session.py | 409 | def _authenticate_all_sessions(self): | CODE |
| LOW | gs_quant/session.py | 459 | def _discard_async_clients_for_closed_loops(self): | CODE |
| LOW | gs_quant/json_convertors.py | 42 | def decode_optional_date_or_time(value: Optional[str]) -> Optional[Union[dt.date, dt.datetime]]: | CODE |
| LOW | gs_quant/json_convertors.py | 84 | def decode_date_or_time_tuple(blob: tuple[str, ...]): | CODE |
| LOW | gs_quant/json_convertors.py | 101 | def encode_date_or_time_tuple(values: tuple[Optional[Union[str, dt.date, dt.datetime]], ...]): | CODE |
| LOW | gs_quant/json_convertors.py | 116 | def decode_iso_date_or_datetime(value: Any) -> Union[tuple[DateOrDateTime, ...], DateOrDateTime]: | CODE |
| LOW | gs_quant/json_convertors.py | 129 | def optional_from_isodatetime(datetime: Union[str, dt.datetime, None]) -> Optional[dt.datetime]: | CODE |
| LOW | gs_quant/json_convertors.py | 147 | def decode_dict_date_key_or_float(value): | CODE |
| LOW | gs_quant/json_convertors.py | 153 | def decode_dict_dict_date_key(value): | CODE |
| LOW | gs_quant/json_convertors.py | 172 | def __try_decode_valid_date_formats(value: str) -> Optional[dt.date]: | CODE |
| LOW | gs_quant/base.py | 87 | def _get_is_supported_generic(arg): | CODE |
| LOW⚡ | gs_quant/tracing/tracing.py | 423 | def add_span_consumers_to_existing_provider(trace_provider: TracerProvider): | CODE |
| LOW⚡ | gs_quant/tracing/tracing.py | 429 | def preregister_span_processor(processor: SpanProcessor): | CODE |
| LOW | gs_quant/timeseries/backtesting.py | 295 | def average_implied_volatility( | CODE |
| LOW | gs_quant/timeseries/backtesting.py | 376 | def average_realized_volatility( | CODE |
| LOW | gs_quant/timeseries/backtesting.py | 410 | def average_realized_correlation( | CODE |
| LOW | gs_quant/timeseries/measures_helper.py | 38 | def preprocess_implied_vol_strikes_eq(strike_reference: VolReference = None, relative_strike: Real = None): | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 61 | def get_rateoption_for_benchmark(self, currency: CurrencyEnum, benchmark: str): | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 64 | def get_maturity_for_benchmark(self, currency: CurrencyEnum, benchmark: str): | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 333 | def _currency_to_tdapi_crosscurrency_swap_rate_asset(asset_spec: ASSET_SPEC) -> str: | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 341 | def _get_tdapi_crosscurrency_rates_assets(allow_many=False, **kwargs) -> Union[str, list]: | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 410 | def _check_crosscurrency_rateoption_type( | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 432 | def _get_crosscurrency_swap_leg_defaults( | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 453 | def _get_crosscurrency_swap_csa_terms(curr: str, crosscurrencyindextype: str) -> dict: | CODE |
| LOW | gs_quant/timeseries/measures_xccy.py | 457 | def _get_crosscurrency_swap_data( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 61 | def portfolio_factor_exposure( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 121 | def portfolio_factor_proportion_of_risk( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 205 | def portfolio_thematic_exposure( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 301 | def portfolio_drawdown_length( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 325 | def portfolio_max_recovery_period( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 349 | def portfolio_standard_deviation( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 540 | def portfolio_tracking_error_bear( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 578 | def portfolio_tracking_error_bull( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 719 | def portfolio_information_ratio( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 756 | def portfolio_information_ratio_bull( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 792 | def portfolio_information_ratio_bear( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 830 | def portfolio_modigliani_ratio( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 871 | def portfolio_treynor_measure( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 949 | def portfolio_jensen_alpha_bear( | CODE |
| LOW | gs_quant/timeseries/measures_portfolios.py | 989 | def portfolio_jensen_alpha_bull( | CODE |
| LOW | gs_quant/timeseries/technicals.py | 260 | def exponential_moving_average(x: pd.Series, beta: float = 0.75) -> pd.Series: | CODE |
| LOW | gs_quant/timeseries/technicals.py | 381 | def exponential_spread_volatility(x: pd.Series, beta: float = 0.75) -> pd.Series: | CODE |
| LOW | gs_quant/timeseries/event_study.py | 222 | def frame_timeseries_around_events( | CODE |
| LOW⚡ | gs_quant/timeseries/measures.py | 410 | def currency_to_default_benchmark_rate(asset_spec: ASSET_SPEC) -> str: | CODE |
| LOW⚡ | gs_quant/timeseries/measures.py | 420 | def currency_to_default_ois_asset(asset_spec: ASSET_SPEC) -> str: | CODE |
| LOW⚡ | gs_quant/timeseries/measures.py | 429 | def currency_to_default_swap_rate_asset(asset_spec: ASSET_SPEC) -> str: | CODE |
| LOW⚡ | gs_quant/timeseries/measures.py | 434 | def currency_to_inflation_benchmark_rate(asset_spec: ASSET_SPEC) -> str: | CODE |
| LOW | gs_quant/timeseries/measures.py | 366 | def _cross_stored_direction_helper(bbid): | CODE |
| LOW | gs_quant/timeseries/measures.py | 376 | def cross_stored_direction_for_fx_vol(asset_spec: ASSET_SPEC, *, return_asset=False) -> Union[str, Asset]: | CODE |
| LOW | gs_quant/timeseries/measures.py | 452 | def convert_asset_for_rates_data_set(from_asset: Asset, c_type: RatesConversionType) -> str: | CODE |
| LOW | gs_quant/timeseries/measures.py | 808 | def implied_volatility_credit( | CODE |
| 1073 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 4 | CODE | |
| LOW | docs/searchdataext/__init__.py | 6 | CODE | |
| LOW | gs_quant/context_base.py | 184 | CODE | |
| LOW | gs_quant/__init__.py | 70 | CODE | |
| LOW | gs_quant/common.py | 17 | CODE | |
| LOW | gs_quant/tracing/tracing.py | 725 | CODE | |
| LOW | gs_quant/tracing/__init__.py | 17 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 17 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 18 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 19 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 20 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 21 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 22 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 23 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 24 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 25 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 26 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 27 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 28 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 29 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 30 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 31 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 32 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 33 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 34 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 35 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 36 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 37 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 38 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 39 | CODE | |
| LOW | gs_quant/timeseries/__init__.py | 42 | CODE | |
| LOW | gs_quant/timeseries/event_study.py | 110 | CODE | |
| LOW | gs_quant/timeseries/event_study.py | 110 | CODE | |
| LOW | gs_quant/test/utils/__init__.py | 1 | CODE | |
| LOW | gs_quant/test/utils/__init__.py | 2 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 16 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 16 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 16 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 17 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 18 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 18 | CODE | |
| LOW | gs_quant/instrument/__init__.py | 19 | CODE | |
| LOW | gs_quant/config/__init__.py | 17 | CODE | |
| LOW | gs_quant/backtests/__init__.py | 16 | CODE | |
| LOW | gs_quant/backtests/__init__.py | 17 | CODE | |
| LOW | gs_quant/backtests/__init__.py | 18 | CODE | |
| LOW | gs_quant/datetime/__init__.py | 16 | CODE | |
| LOW | gs_quant/datetime/__init__.py | 17 | CODE | |
| LOW | gs_quant/datetime/__init__.py | 18 | CODE | |
| LOW | gs_quant/datetime/__init__.py | 19 | CODE | |
| LOW | gs_quant/target/scenarios.py | 17 | CODE | |
| LOW | gs_quant/target/scenarios.py | 18 | CODE | |
| LOW | gs_quant/target/scenarios.py | 20 | CODE | |
| LOW | gs_quant/target/scenarios.py | 20 | CODE | |
| LOW | gs_quant/target/scenarios.py | 20 | CODE | |
| LOW | gs_quant/target/workflow_quote.py | 17 | CODE | |
| LOW | gs_quant/target/workflow_quote.py | 18 | CODE | |
| LOW | gs_quant/target/workflow_quote.py | 20 | CODE | |
| LOW | gs_quant/target/workflow_quote.py | 20 | CODE | |
| LOW | gs_quant/target/workflow_quote.py | 20 | CODE | |
| 229 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gs_quant/timeseries/measures_etf.py | 29 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/timeseries/measures_etf.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/timeseries/measures_bonds.py | 35 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/timeseries/measures_bonds.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/models/test_risk_model.py | 1761 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/models/test_risk_model.py | 1763 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/models/test_risk_model.py | 1954 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/models/test_risk_model.py | 1956 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/models/test_risk_model.py | 2006 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/models/test_risk_model.py | 2008 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1596 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1600 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1727 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1729 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1829 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1831 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1871 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1873 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1949 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/test/markets/test_securities.py | 1951 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/client.py | 354 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/client.py | 356 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/client.py | 373 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/client.py | 375 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 111 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 113 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 131 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 133 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 202 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 242 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/client.py | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/README.md | 320 | # ┏━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/README.md | 322 | # ┡━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━┩ | COMMENT |
| MEDIUM⚡ | gs_quant/mcp/README.md | 325 | # └──────┴─────────┴──────────┴─────────┴─────────────┘ | COMMENT |
| MEDIUM | gs_quant/mcp/__main__.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/__main__.py | 158 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/tools/marketview/tools.py | 25 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/tools/marketview/tools.py | 27 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/tools/marketview/tools.py | 96 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/mcp/tools/marketview/tools.py | 98 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/models/risk_model_utils.py | 419 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | gs_quant/models/risk_model_utils.py | 421 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gs_quant/api/gs/marketview/dashboards.py | 246 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | gs_quant/api/gs/marketview/dashboards.py | 248 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | gs_quant/api/gs/marketview/dashboards.py | 262 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | gs_quant/api/gs/marketview/dashboards.py | 264 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 46 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 48 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 293 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 295 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 343 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 345 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 357 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 359 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 374 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 376 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | gs_quant/api/gs/marketview/dashboards.py | 428 | # ------------------------------------------------------------------ | COMMENT |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | versioneer.py | 370 | except NameError: | CODE |
| HIGH | versioneer.py | 1158 | except OSError: | CODE |
| HIGH | versioneer.py | 1389 | except OSError: | CODE |
| HIGH | versioneer.py | 1767 | except NotThisMethod: | CODE |
| HIGH | versioneer.py | 1787 | except NotThisMethod: | CODE |
| HIGH | versioneer.py | 390 | except (tomllib.TOMLDecodeError, KeyError): | CODE |
| HIGH | versioneer.py | 1759 | except NotThisMethod: | CODE |
| HIGH | versioneer.py | 1778 | except NotThisMethod: | CODE |
| HIGH | gs_quant/context_base.py | 74 | except AttributeError: | CODE |
| HIGH | gs_quant/_version.py | 163 | except OSError: | CODE |
| HIGH | gs_quant/_version.py | 628 | except NotThisMethod: | CODE |
| HIGH | gs_quant/_version.py | 647 | except NotThisMethod: | CODE |
| HIGH | gs_quant/_version.py | 653 | except NotThisMethod: | CODE |
| HIGH | gs_quant/session.py | 1451 | except ModuleNotFoundError: | CODE |
| HIGH | gs_quant/session.py | 1486 | except ModuleNotFoundError: | CODE |
| HIGH | gs_quant/session.py | 531 | except Exception: | CODE |
| HIGH | gs_quant/session.py | 1135 | except Exception: | CODE |
| HIGH | gs_quant/session.py | 519 | except RuntimeError: | CODE |
| HIGH | gs_quant/__init__.py | 53 | except ModuleNotFoundError: | CODE |
| HIGH | gs_quant/__init__.py | 65 | except ImportError: | CODE |
| HIGH | gs_quant/__init__.py | 71 | except ImportError: | CODE |
| HIGH | gs_quant/json_convertors.py | 176 | except ValueError: | CODE |
| HIGH | gs_quant/tracing/tracing.py | 746 | except Exception: | CODE |
| HIGH | gs_quant/tracing/tracing.py | 554 | except Exception: | CODE |
| HIGH | gs_quant/timeseries/datetime.py | 527 | except AttributeError: | CODE |
| HIGH | gs_quant/test/test_context_base.py | 116 | except ValueError: | CODE |
| HIGH | gs_quant/test/tracing/test_tracing.py | 74 | except Exception: | CODE |
| HIGH | gs_quant/test/timeseries/test_measures_portfolios.py | 775 | except MqValueError: | CODE |
| HIGH | gs_quant/test/timeseries/test_technicals.py | 340 | except MqValueError: | CODE |
| HIGH | gs_quant/test/data/test_data_caching.py | 214 | except Exception: | CODE |
| HIGH | gs_quant/instrument/core.py | 285 | except AttributeError: | CODE |
| HIGH | gs_quant/instrument/core.py | 256 | except AttributeError: | CODE |
| HIGH | gs_quant/backtests/backtest_utils.py | 196 | except ValueError: | CODE |
| HIGH | gs_quant/datetime/gscalendar.py | 108 | except MqRequestError: | CODE |
| HIGH | gs_quant/mcp/client.py | 166 | except ValueError: | CODE |
| HIGH | gs_quant/mcp/client.py | 225 | except (TypeError, ValueError): | CODE |
| HIGH | gs_quant/markets/securities.py | 1612 | except KeyError: | CODE |
| HIGH | …/gs/backtests_xasset/json_encoders/request_encoders.py | 65 | except ValueError: | CODE |
| HIGH | …rs/response_datatypes/risk_result_datatype_encoders.py | 35 | except ValueError: | CODE |
| HIGH | gs_quant/data/dataset.py | 146 | except ValueError: | CODE |
| HIGH | gs_quant/risk/results.py | 729 | except KeyError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | versioneer.py | 1136 | CODE | |
| LOW | versioneer.py | 1360 | CODE | |
| LOW | versioneer.py | 1682 | CODE | |
| LOW | versioneer.py | 2102 | CODE | |
| LOW | gs_quant/_version.py | 141 | CODE | |
| LOW | gs_quant/_version.py | 579 | CODE | |
| LOW | gs_quant/json_convertors_common.py | 73 | CODE | |
| LOW | gs_quant/session.py | 324 | CODE | |
| LOW | gs_quant/session.py | 499 | CODE | |
| LOW | gs_quant/session.py | 628 | CODE | |
| LOW | gs_quant/session.py | 1139 | CODE | |
| LOW | gs_quant/json_encoder.py | 27 | CODE | |
| LOW | gs_quant/errors.py | 77 | CODE | |
| LOW | gs_quant/json_convertors.py | 212 | CODE | |
| LOW | gs_quant/json_convertors.py | 229 | CODE | |
| LOW | gs_quant/base.py | 343 | CODE | |
| LOW | gs_quant/timeseries/algebra.py | 567 | CODE | |
| LOW | gs_quant/timeseries/algebra.py | 627 | CODE | |
| LOW | gs_quant/timeseries/event_study.py | 222 | CODE | |
| LOW | gs_quant/timeseries/measures_factset.py | 1308 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 376 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 392 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 452 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 1333 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 2047 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 2217 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 2834 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 2906 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 2989 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 3169 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 3207 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 5302 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 5868 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 607 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 638 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 971 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 3107 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 3255 | CODE | |
| LOW | gs_quant/timeseries/helper.py | 101 | CODE | |
| LOW | gs_quant/timeseries/helper.py | 197 | CODE | |
| LOW | gs_quant/timeseries/helper.py | 393 | CODE | |
| LOW | gs_quant/timeseries/measures_reports.py | 1668 | CODE | |
| LOW | gs_quant/timeseries/econometrics.py | 490 | CODE | |
| LOW | gs_quant/timeseries/econometrics.py | 966 | CODE | |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 284 | CODE | |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 658 | CODE | |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 862 | CODE | |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 937 | CODE | |
| LOW | gs_quant/timeseries/_event_study/event_study_labels.py | 63 | CODE | |
| LOW | gs_quant/timeseries/_event_study/event_study_impact.py | 231 | CODE | |
| LOW | gs_quant/test/tracing/test_tracing.py | 63 | CODE | |
| LOW | gs_quant/test/tracing/test_tracing.py | 173 | CODE | |
| LOW | gs_quant/test/timeseries/test_timeseries.py | 131 | CODE | |
| LOW | gs_quant/test/timeseries/test_query_kwarg_casing.py | 51 | CODE | |
| LOW | gs_quant/test/timeseries/utils.py | 47 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures.py | 84 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures.py | 105 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures.py | 5700 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures.py | 5809 | CODE | |
| LOW | gs_quant/test/utils/test_utils.py | 72 | CODE | |
| 117 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gs_quant/context_base.py | 117 | self._cls.push(self) | CODE |
| HIGH | gs_quant/context_base.py | 130 | self._cls.push(self) | CODE |
| HIGH | gs_quant/test/timeseries/test_measures_portfolios.py | 550 | assert max_drawdown_series.equals(returned) | CODE |
| HIGH | gs_quant/test/timeseries/test_measures_portfolios.py | 576 | assert max_drawdown_series.equals(returned) | CODE |
| HIGH | gs_quant/test/timeseries/test_measures_portfolios.py | 602 | assert max_drawdown_series.equals(returned) | CODE |
| HIGH | gs_quant/test/timeseries/test_measures_portfolios.py | 1916 | assert actual.index.equals(idx) | CODE |
| HIGH⚡ | gs_quant/test/timeseries/test_measures_countries.py | 43 | assert actual.index.equals(idx) | CODE |
| HIGH⚡ | gs_quant/test/timeseries/test_measures_countries.py | 50 | assert actual.index.equals(idx) | CODE |
| HIGH⚡ | gs_quant/test/timeseries/test_measures_countries.py | 54 | assert actual.index.equals(idx) | CODE |
| HIGH | gs_quant/test/timeseries/test_event_study.py | 749 | Purpose: cover null, non-numeric, and passthrough fields in payload shaping. | STRING |
| HIGH | gs_quant/test/timeseries/test_measures_risk_models.py | 473 | assert expected_series.equals(actual) | CODE |
| HIGH | gs_quant/test/timeseries/test_measures_factset.py | 1132 | assert result.equals(mock_df) | CODE |
| HIGH | gs_quant/test/backtest/test_backtest_eq_vol_engine.py | 237 | assert expected_pnl.equals(backtest_result.get_measure_series(FlowVolBacktestMeasure.PNL)) | CODE |
| HIGH | gs_quant/test/markets/test_portfolio.py | 143 | assert actual.equals(expected) | CODE |
| HIGH | gs_quant/test/markets/test_portfolio.py | 192 | assert actual.equals(expected) | CODE |
| HIGH | gs_quant/test/markets/test_portfolio_manager.py | 2237 | assert exposure_df.equals(pd.DataFrame.from_dict(result)) | CODE |
| HIGH | gs_quant/test/api/test_risk.py | 85 | assert result.raw_value.equals(expected) | CODE |
| HIGH | gs_quant/test/api/test_data.py | 289 | assert result.equals(expected_result) | CODE |
| HIGH | gs_quant/test/api/test_data.py | 293 | assert result_from_str.equals(expected_result) | CODE |
| HIGH | gs_quant/test/data/test_dataset.py | 227 | assert data.equals(GsDataApi.construct_dataframe_with_types(str(Dataset.TR.TREOD), test_data)) | CODE |
| HIGH | gs_quant/test/data/test_dataset.py | 246 | assert data.equals(GsDataApi.construct_dataframe_with_types(str(Dataset.TR.TR), tr_data)) | CODE |
| HIGH | gs_quant/test/data/test_dataset.py | 259 | assert data.equals(GsDataApi.construct_dataframe_with_types(str(Dataset.TR.TREOD), test_data)) | CODE |
| HIGH | gs_quant/test/data/test_dataset.py | 267 | assert data.equals(GsDataApi.construct_dataframe_with_types(str(Dataset.TR.TREOD), ([test_data[-1]]))) | CODE |
| HIGH | gs_quant/test/data/test_dataset.py | 426 | assert df.equals(df2) | CODE |
| HIGH | gs_quant/backtests/data_sources.py | 118 | return self.missing_data_strategy == other.missing_data_strategy and self.data_set.equals(other.data_set) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gs_quant/session.py | 164 | CODE | |
| LOW | gs_quant/session.py | 261 | CODE | |
| LOW | gs_quant/session.py | 324 | CODE | |
| LOW | gs_quant/session.py | 680 | CODE | |
| LOW | gs_quant/session.py | 732 | CODE | |
| LOW | gs_quant/session.py | 829 | CODE | |
| LOW | gs_quant/session.py | 876 | CODE | |
| LOW | gs_quant/session.py | 878 | CODE | |
| LOW | gs_quant/session.py | 927 | CODE | |
| LOW | gs_quant/session.py | 903 | CODE | |
| LOW | gs_quant/session.py | 974 | CODE | |
| LOW | gs_quant/session.py | 1083 | CODE | |
| LOW | gs_quant/session.py | 1139 | CODE | |
| LOW | gs_quant/timeseries/measures_xccy.py | 338 | CODE | |
| LOW | gs_quant/timeseries/measures_etf.py | 236 | CODE | |
| LOW | gs_quant/timeseries/measures_tba.py | 210 | CODE | |
| LOW | gs_quant/timeseries/measures_tba.py | 279 | CODE | |
| LOW | gs_quant/timeseries/event_study.py | 319 | CODE | |
| LOW | gs_quant/timeseries/measures.py | 3302 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 571 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 579 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 1103 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 1341 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 1394 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 1557 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 1606 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 1761 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 2148 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 2508 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 2589 | CODE | |
| LOW | gs_quant/timeseries/measures_rates.py | 2720 | CODE | |
| LOW | gs_quant/timeseries/measures_inflation.py | 172 | CODE | |
| LOW | gs_quant/timeseries/measures_inflation.py | 237 | CODE | |
| LOW | gs_quant/timeseries/measures_inflation.py | 353 | CODE | |
| LOW | gs_quant/timeseries/statistics.py | 1296 | CODE | |
| LOW | gs_quant/timeseries/statistics.py | 1497 | CODE | |
| LOW | gs_quant/timeseries/econometrics.py | 864 | CODE | |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 273 | CODE | |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 281 | CODE | |
| LOW | gs_quant/timeseries/_event_study/event_study_impact.py | 341 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures_rates.py | 1420 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures.py | 423 | CODE | |
| LOW | gs_quant/test/timeseries/test_measures.py | 491 | CODE | |
| LOW | gs_quant/backtests/backtest_objects.py | 224 | CODE | |
| LOW | gs_quant/backtests/strategy_systematic.py | 68 | CODE | |
| LOW | gs_quant/backtests/generic_engine.py | 136 | CODE | |
| LOW | gs_quant/target/measures.py | 193 | CODE | |
| LOW | gs_quant/mcp/__main__.py | 92 | CODE | |
| LOW | gs_quant/mcp/__main__.py | 175 | CODE | |
| LOW | gs_quant/mcp/tools/marketview/tools.py | 102 | CODE | |
| LOW | gs_quant/models/epidemiology.py | 74 | CODE | |
| LOW | gs_quant/models/epidemiology.py | 157 | CODE | |
| LOW | gs_quant/models/epidemiology.py | 292 | CODE | |
| LOW | gs_quant/models/epidemiology.py | 434 | CODE | |
| LOW | gs_quant/models/risk_model.py | 682 | CODE | |
| LOW | gs_quant/markets/hedge.py | 313 | CODE | |
| LOW | gs_quant/markets/indices_utils.py | 466 | CODE | |
| LOW | gs_quant/markets/realtime.py | 43 | CODE | |
| LOW | gs_quant/markets/position_set.py | 1193 | CODE | |
| LOW | gs_quant/markets/core.py | 86 | CODE | |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gs_quant/session.py | 528 | def __del__(self): | CODE |
| LOW | gs_quant/session.py | 531 | except Exception: | CODE |
| LOW | gs_quant/session.py | 1135 | except Exception: | CODE |
| LOW | gs_quant/json_convertors.py | 375 | except Exception as e: | CODE |
| LOW | gs_quant/tracing/tracing.py | 502 | except Exception: | CODE |
| LOW | gs_quant/tracing/tracing.py | 509 | except Exception: | CODE |
| LOW | gs_quant/tracing/tracing.py | 554 | except Exception: | CODE |
| LOW | gs_quant/tracing/tracing.py | 563 | except Exception: | CODE |
| LOW | gs_quant/tracing/tracing.py | 746 | except Exception: | CODE |
| MEDIUM | gs_quant/tracing/tracing.py | 506 | def extract(carrier) -> TracingContext: | CODE |
| LOW | gs_quant/timeseries/measures_etf.py | 110 | except Exception: | CODE |
| LOW | gs_quant/timeseries/measures_etf.py | 223 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_etf.py | 311 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_factset.py | 1351 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_factset.py | 1641 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_factset.py | 1665 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_factset.py | 1688 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_factset.py | 1748 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_factset.py | 1761 | except Exception as e: | CODE |
| MEDIUM | gs_quant/timeseries/measures.py | 2621 | def measure_request_safe(parent_fn_name, asset, fn, request_id, *args, **kwargs) | CODE |
| LOW | gs_quant/timeseries/measures.py | 2119 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures.py | 3019 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures.py | 5675 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures.py | 5755 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_cognitive_credit.py | 199 | except Exception as e: | CODE |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 630 | except Exception as error: | CODE |
| LOW | gs_quant/timeseries/measures_fx_vol.py | 1056 | except Exception as error: | CODE |
| LOW | gs_quant/timeseries/_event_study/event_study_labels.py | 81 | except Exception: | CODE |
| LOW⚡ | gs_quant/timeseries/_event_study/event_study_labels.py | 99 | except Exception: | CODE |
| LOW⚡ | gs_quant/timeseries/_event_study/event_study_labels.py | 101 | except Exception: | CODE |
| LOW⚡ | gs_quant/timeseries/_event_study/event_study_labels.py | 109 | except Exception: | CODE |
| LOW⚡ | …nt/timeseries/_event_study/event_study_asset_source.py | 93 | except Exception: | CODE |
| LOW⚡ | …nt/timeseries/_event_study/event_study_asset_source.py | 95 | except Exception: | CODE |
| LOW | gs_quant/test/tracing/test_tracing.py | 74 | except Exception: | CODE |
| LOW | gs_quant/test/utils/mock_request.py | 209 | except Exception: | CODE |
| LOW | gs_quant/test/utils/mock_request.py | 228 | except Exception: | CODE |
| LOW | gs_quant/test/data/test_data_caching.py | 214 | except Exception: | CODE |
| LOW | gs_quant/instrument/core.py | 208 | except Exception as e: | CODE |
| MEDIUM | gs_quant/instrument/core.py | 205 | def cb(f): | CODE |
| LOW | gs_quant/backtests/backtest_objects.py | 445 | except Exception: | CODE |
| LOW | gs_quant/datetime/rules.py | 85 | except Exception as e: | CODE |
| LOW⚡ | gs_quant/mcp/client.py | 366 | except Exception as exc: # noqa: BLE001 - surface clean error to CLI users | CODE |
| LOW | gs_quant/mcp/client.py | 427 | except Exception as exc: # noqa: BLE001 - never let close errors bubble | STRING |
| LOW | gs_quant/mcp/client.py | 436 | except Exception as exc: # noqa: BLE001 - want to enter REPL even if listing fails | STRING |
| LOW | gs_quant/mcp/client.py | 514 | except Exception as exc: # noqa: BLE001 | STRING |
| LOW | gs_quant/mcp/client.py | 518 | except Exception as exc: # noqa: BLE001 - REPL must not die on tool errors | STRING |
| LOW | gs_quant/mcp/tools/data/tools.py | 178 | except Exception as e: | CODE |
| LOW | gs_quant/models/risk_model_utils.py | 675 | except Exception as unknown_exception: | CODE |
| LOW | gs_quant/markets/hedge.py | 589 | except Exception as e: | CODE |
| LOW | gs_quant/markets/factor_analytics.py | 128 | except Exception as e: | CODE |
| LOW | gs_quant/markets/portfolio_manager.py | 696 | except Exception as ex: | CODE |
| LOW | gs_quant/markets/optimizer.py | 1718 | except Exception as e: | CODE |
| LOW | gs_quant/markets/optimizer.py | 1785 | except Exception as e: | CODE |
| LOW | gs_quant/markets/optimizer.py | 1839 | except Exception as e: | CODE |
| LOW | gs_quant/markets/optimizer.py | 2282 | except Exception as e: | CODE |
| LOW | gs_quant/markets/report.py | 627 | except Exception as e: | CODE |
| LOW | gs_quant/api/risk.py | 71 | except Exception as e: | CODE |
| LOW | gs_quant/api/risk.py | 217 | except Exception as e: | CODE |
| LOW | gs_quant/api/risk.py | 337 | except Exception: | CODE |
| LOW | gs_quant/api/risk.py | 375 | except Exception as e: | CODE |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gs_quant/timeseries/measures_fx_vol.py | 353 | Flip call/put smile references when the FX cross must be queried in stored direction. Purpose: Keep sm | STRING |
| HIGH | gs_quant/timeseries/measures_fx_vol.py | 379 | Convert a smile reference into the asset-service strike label and option type. Purpose: Translate user | STRING |
| HIGH | gs_quant/timeseries/measures_fx_vol.py | 419 | Resolve the five standard FX smile points into batched asset lookup metadata. Purpose: Precompute all | STRING |
| HIGH | gs_quant/timeseries/measures_fx_vol.py | 532 | Fetch implied-volatility market data for all smile asset ids in one query. Purpose: Collapse the commo | STRING |
| HIGH | gs_quant/timeseries/measures_fx_vol.py | 574 | Fetch unresolved FX smile points through the single-point measure path. Purpose: Preserve resilience w | STRING |
| HIGH | gs_quant/api/gs/secmaster.py | 238 | Get identifiers for a list of secmaster ids. It runs in batches till all data is fetched. This method | STRING |
| HIGH | gs_quant/api/gs/secmaster.py | 803 | Retrieve reference data for listed derivatives based on their underlyers. This method retrieves securi | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 1 | # This import is needed to register the magic pylint hooks to make it skip the integration tests | COMMENT |
| LOW | versioneer.py | 1841 | vers = get_versions(verbose=True) | COMMENT |
| LOW | docs/conf.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | docs/conf.py | 61 | COMMENT | |
| LOW | docs/conf.py | 101 | COMMENT | |
| LOW | docs/conf.py | 121 | # defined by theme itself. Builtin themes are using these templates by | COMMENT |
| LOW | docs/conf.py | 141 | # | COMMENT |
| LOW | docs/_build/html/_static/jquery-3.5.1.js | 841 | // qSA considers elements outside a scoping root when evaluating child or | COMMENT |
| LOW | docs/_build/html/_static/jquery-3.5.1.js | 1021 | // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable | COMMENT |
| LOW | docs/_build/html/_static/jquery-3.5.1.js | 4301 | // In cases where either: | COMMENT |
| LOW | docs/_build/html/_static/underscore-1.3.1.js | 1 | // Underscore.js 1.3.1 | COMMENT |
| LOW | gs_quant/timeseries/analysis.py | 1 | # Copyright 2018 Goldman Sachs. | COMMENT |
| LOW | gs_quant/timeseries/algebra.py | 1 | # Copyright 2018 Goldman Sachs. | COMMENT |
| LOW | gs_quant/timeseries/technicals.py | 1 | # Copyright 2018 Goldman Sachs. | COMMENT |
| LOW | gs_quant/timeseries/event_study.py | 21 | # internal modules, while this file keeps the public framing API thin. | COMMENT |
| LOW | gs_quant/timeseries/event_study.py | 41 | # event_study_labels -> propagation of contextual event labels | COMMENT |
| LOW | gs_quant/timeseries/event_study.py | 61 | # | COMMENT |
| LOW | gs_quant/timeseries/measures.py | 1 | # Copyright 2019 Goldman Sachs. | COMMENT |
| LOW | gs_quant/timeseries/statistics.py | 1 | # Copyright 2018 Goldman Sachs. | COMMENT |
| LOW | gs_quant/timeseries/econometrics.py | 1 | # Copyright 2018 Goldman Sachs. | COMMENT |
| LOW | gs_quant/timeseries/datetime.py | 1 | # Copyright 2018 Goldman Sachs. | COMMENT |
| LOW | …uant/timeseries/_event_study/event_study_processing.py | 21 | # Own the source-agnostic transformations around the event-study flow: | COMMENT |
| LOW | gs_quant/timeseries/_event_study/event_study_labels.py | 21 | # Own the label-building rules that preserve event context across the | COMMENT |
| LOW | …ant/timeseries/_event_study/event_study_definitions.py | 21 | # Own the immutable event model and registry data used by the event-study | COMMENT |
| LOW | …ant/timeseries/_event_study/event_study_definitions.py | 41 | # help in tests and debugging, and immutability reduces the chance of | COMMENT |
| LOW | gs_quant/timeseries/_event_study/event_study_objects.py | 21 | # Own the reusable event loader objects and the logic that turns a | COMMENT |
| LOW | gs_quant/timeseries/_event_study/event_study_frame.py | 21 | # Own the pure dataframe-shaping side of event study: calendar-date | COMMENT |
| LOW | gs_quant/timeseries/_event_study/event_study_impact.py | 21 | # Detect event dates from one timeseries based on thresholded moves, map | COMMENT |
| LOW | gs_quant/timeseries/_event_study/event_study_query.py | 21 | # Own the caller-facing normalization path for event-date queries: ticker | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | versioneer.py | 481 | # This file is released into the public domain. | COMMENT |
| MEDIUM | gs_quant/_version.py | 8 | # This file is released into the public domain. | COMMENT |
| MEDIUM⚡ | gs_quant/tracing/tracing.py | 417 | # Create an OpenTelemetry Tracer. | COMMENT |
| MEDIUM | gs_quant/timeseries/event_study.py | 19 | # This module is the public event-study entry point. Static event definitions, | COMMENT |
| MEDIUM | gs_quant/timeseries/measures.py | 5483 | # Create a dataframe with required columns | COMMENT |
| MEDIUM | gs_quant/timeseries/measures.py | 5566 | # Create a dataframe with required columns | COMMENT |
| MEDIUM | gs_quant/test/backtest/test_generic_engine.py | 1036 | # Create a portfolio of equity options with different characteristics | COMMENT |
| MEDIUM | gs_quant/test/backtest/test_generic_engine.py | 1059 | # Define the weighted trade action | COMMENT |
| MEDIUM | gs_quant/analytics/datagrid/datagrid.py | 200 | # Create the cell | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/_build/html/_modules/gs_quant/timeseries/helper.html | 287 | <span class="c1"># Set category to None for no restrictions, else provide a tuple of allowed values.</span> | CODE |
| LOW⚡ | gs_quant/timeseries/measures.py | 5402 | # Check if market date is future date for the given asset | COMMENT |
| LOW⚡ | gs_quant/timeseries/measures.py | 5410 | # Check if market date is weekend | COMMENT |
| LOW⚡ | gs_quant/timeseries/measures.py | 5413 | # Check if market date is within end and start date ranges | COMMENT |
| LOW | gs_quant/timeseries/measures.py | 5452 | # Check if market date do not have an entry, a holiday or value not entered yet, if so get prev date value | COMMENT |
| LOW | gs_quant/timeseries/measures.py | 5537 | # Check if market date do not have an entry, a holiday or value not entered yet, if so get prev date value | COMMENT |
| LOW | gs_quant/timeseries/helper.py | 254 | # Set category to None for no restrictions, else provide a tuple of allowed values. | COMMENT |
| LOW | gs_quant/test/timeseries/test_datetime.py | 587 | # Check if the holiday was removed | COMMENT |
| LOW⚡ | gs_quant/test/utils/mock_request.py | 173 | # Check if we have already saved this file in this test run, in which case skip re-saving it | COMMENT |
| LOW | gs_quant/markets/position_set.py | 857 | # Set notional to gross notional because in case of L/S pricing the API normalizes all weights wrt gross | COMMENT |
| LOW | gs_quant/data/utilities.py | 409 | # Check if any active identifier has infinity end date | COMMENT |
| LOW | gs_quant/analytics/datagrid/datagrid.py | 206 | # Check if there is a processor override and apply if so | COMMENT |
| LOW | gs_quant/analytics/common/helpers.py | 41 | # Check if the entity is in the cache | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | docs/_build/html/_static/jquery-3.5.1.js | 8086 | jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { | CODE |
| CRITICAL | docs/_build/html/_static/jquery.js | 2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | versioneer.py | 500 | # each be defined on a line of their own. _version.py will just call | COMMENT |
| MEDIUM | docs/_build/html/_static/jquery-3.5.1.js | 10821 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| LOW | gs_quant/_version.py | 27 | # each be defined on a line of their own. _version.py will just call | COMMENT |
| LOW | gs_quant/json_convertors.py | 54 | # So this decoder would become redundant, to allow any version we simply return if it's already a date | COMMENT |
| LOW | gs_quant/json_convertors.py | 67 | # So this decoder would become redundant, to allow any version we simply return if it's already a time | COMMENT |
| LOW | gs_quant/test/timeseries/test_measures_factset.py | 1150 | # Mock ThreadPoolManager.run_async to just call each task sequentially | COMMENT |
| LOW | gs_quant/backtests/predefined_asset_engine.py | 152 | # or as a datetime itself in which case just add it to the timer | COMMENT |
| LOW | gs_quant/analytics/common/helpers.py | 53 | # If the reference is for a data row, simply set the entity of the row. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | gs_quant/models/risk_model.py | 1420 | # Step 2: stitch all fetch batches into one assetData dict | COMMENT |
| LOW⚡ | gs_quant/models/risk_model.py | 1427 | # Step 3: merge — input wins on conflict, existing fields preserved. | COMMENT |
| LOW | gs_quant/models/risk_model.py | 1377 | # Step 1: fetch existing data for the input universe only, in batches. | COMMENT |
| LOW | gs_quant/models/risk_model.py | 1440 | # Step 4: upload only the merged input universe (server leaves all other assets alone) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | gs_quant/models/risk_model.py | 1420 | # Step 2: stitch all fetch batches into one assetData dict | COMMENT |
| LOW⚡ | gs_quant/models/risk_model.py | 1427 | # Step 3: merge — input wins on conflict, existing fields preserved. | COMMENT |
| LOW | gs_quant/models/risk_model.py | 1377 | # Step 1: fetch existing data for the input universe only, in batches. | COMMENT |
| LOW | gs_quant/models/risk_model.py | 1440 | # Step 4: upload only the merged input universe (server leaves all other assets alone) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gs_quant/session.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | gs_quant/timeseries/event_study.py | 392 | __all__ = [ | CODE |
| LOW | gs_quant/backtests/generic_engine.py | 66 | logger = logging.getLogger(__name__) | CODE |
| LOW | gs_quant/mcp/__init__.py | 4 | __all__ = [ | CODE |
| LOW | gs_quant/mcp/tools/__init__.py | 8 | __all__ = [ | CODE |
| LOW | gs_quant/api/gs/secmaster.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | …asset/response_datatypes/generic_backtest_datatypes.py | 29 | __all__ = ['decode_strategy'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gs_quant/test/entities/test_entitlements.py | 28 | {'id': 'userId', 'email': 'jane.doe@gs.com', 'name': 'Jane Doe', 'company': 'Goldman Sachs Group'} | CODE |
| LOW | gs_quant/test/entities/test_entitlements.py | 69 | {'id': 'userId', 'email': 'jane.doe@gs.com', 'name': 'Jane Doe', 'company': 'Goldman Sachs Group'} | CODE |
| LOW | gs_quant/test/entities/test_entitlements.py | 83 | {'id': 'userId', 'email': 'jane.doe@gs.com', 'name': 'Jane Doe', 'company': 'Goldman Sachs Group'} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gs_quant/markets/report.py | 832 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gs_quant/markets/portfolio_manager.py | 191 | # make sure to process the last batch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/_build/html/_static/jquery-3.5.1.js | 4401 | function getData( data ) { | CODE |