A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
This report summarizes scanner evidence for ricequant/rqalpha, a Python project with 6,819 GitHub stars. SynthScan examined 60,061 lines of code across 252 source files, recording 710 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 13.9 (Moderate 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? 445 finding(s).
Are imports declared and package/API names verified? 207 finding(s).
Are wrappers, guards, and repeated structures necessary? 278 finding(s).
Which changes need focused human review? 710 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 710 distinct pattern matches across 13 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 |
|---|---|---|---|---|
| LOW | tests/unittest/test_const.py | 17 | def test_market_accepts_case_insensitive_values(value, expected): | CODE |
| LOW | tests/unittest/test_const.py | 30 | def test_market_accepts_case_insensitive_keys(key, expected): | CODE |
| LOW | tests/unittest/test_portfolio/test_account.py | 25 | def test_get_position_reraises_instrument_not_found_for_unknown_instrument(): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 72 | def test_stock_specific_properties(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 96 | def test_future_specific_properties(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 106 | def test_round_lot_special_cases(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 117 | def test_listing_status_methods(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 161 | def test_call_auction_periods(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 223 | def test_future_continuous_contract_detection(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 256 | def test_contract_multiplier_validation(self): | CODE |
| LOW | tests/unittest/test_models/test_instruments.py | 318 | def test_calc_cash_occupation(self, mock_env): | CODE |
| LOW⚡ | tests/unittest/test_utils/test_price_limits.py | 26 | def test_reaches_limit_up_uses_last_tick_band(): | CODE |
| LOW⚡ | tests/unittest/test_utils/test_price_limits.py | 31 | def test_reaches_limit_down_uses_last_tick_band(): | CODE |
| LOW⚡ | tests/unittest/test_utils/test_price_limits.py | 36 | def test_reaches_limit_dispatches_by_side(): | CODE |
| LOW⚡ | tests/unittest/test_utils/test_price_limits.py | 43 | def test_vectorized_limit_helpers_match_scalar_behavior(): | CODE |
| LOW | tests/unittest/test_utils/test_normalize_dtypes.py | 17 | def test_normalize_datetime_unit(): | CODE |
| LOW | …est/test_data/test_data_proxy/test_instrument_mixin.py | 66 | def test_get_active_instrument_raises_not_found_without_candidate(self): | CODE |
| LOW | …est/test_data/test_data_proxy/test_instrument_mixin.py | 76 | def test_get_active_instrument_raises_for_multiple_candidates(self): | CODE |
| LOW | …st_auto_update_bundle/test_auto_update_bundle_mixin.py | 43 | def _mock_get_open_auction_info(self, order_book_id, *args, **kwargs): | CODE |
| LOW | …st_auto_update_bundle/test_auto_update_bundle_mixin.py | 52 | def _mock_get_open_auction_volume(self, instrument, dt): | CODE |
| LOW | tests/unittest/test_apis/test_decorator_typing.py | 6 | def test_api_decorators_preserve_signatures(tmp_path): | CODE |
| LOW | …/unittest/test_apis/test_require_explicit_expect_df.py | 19 | def test_binding_error_keeps_user_exception(): | CODE |
| LOW | …t_mod/test_sys_transaction_cost/test_etf_commission.py | 60 | def test_etf_profile_selection_tax_and_missing_metadata(): | CODE |
| LOW | …t_mod/test_sys_transaction_cost/test_etf_commission.py | 81 | def test_commission_state_handles_etf_profiles_and_preserves_stock_behavior(): | CODE |
| LOW | …t_mod/test_sys_transaction_cost/test_etf_commission.py | 101 | def test_batch_estimate_uses_each_etf_profile(): | CODE |
| LOW | …t_mod/test_sys_transaction_cost/test_etf_commission.py | 133 | def test_smart_portfolio_uses_etf_decider_only_for_etfs(): | CODE |
| LOW | …t_mod/test_sys_transaction_cost/test_etf_commission.py | 198 | def test_etf_config_resolves_inheritance_per_field(): | CODE |
| LOW | …t_mod/test_sys_transaction_cost/test_etf_commission.py | 220 | def test_invalid_etf_configs_are_rejected(): | CODE |
| LOW | tests/unittest/test_mod/test_sys_risk/test_mod.py | 31 | def test_warns_when_partial_fill_is_enabled_without_cash_validation(monkeypatch): | CODE |
| LOW | tests/unittest/test_mod/test_sys_risk/test_mod.py | 54 | def test_does_not_warn_for_other_cash_validation_configurations( | CODE |
| LOW | tests/unittest/test_mod/test_sys_analyser/test_plot.py | 13 | def test_open_close_points_with_string_storage(monkeypatch, string_storage): | CODE |
| LOW | …nittest/test_mod/test_sys_accounts/test_trade_utils.py | 9 | def test_get_amount_from_value_uses_ask_exchange_rate_for_buying_power(): | CODE |
| LOW⚡ | …_api/test_order_target_portfolio_smart_api_unittest.py | 467 | def _mock_delisted_dividend_position(environment, order_book_id=DELISTED_ID, dividend=DIVIDEND_RECEIVABLE): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 101 | def test_order_target_portfolio_smart_base(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 122 | def test_order_target_portfolio_smart_empty_weights(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 128 | def test_order_target_portfolio_smart_single_stock(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 143 | def test_order_target_portfolio_smart_small_weights(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 164 | def test_order_target_portfolio_smart_negative_weights_error(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 173 | def test_order_target_portfolio_smart_limit_order(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 201 | def test_order_target_portfolio_smart_partial_limit_prices_error(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 215 | def test_order_target_portfolio_smart_nan_limit_price_rejected(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 233 | def test_order_target_portfolio_smart_custom_valuation_prices(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 254 | def test_order_target_portfolio_smart_missing_valuation_price_error(environment, on_handle_bar, assert_submitted_orders) | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 269 | def test_order_target_portfolio_smart_adjust_existing_positions(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 304 | def test_order_target_portfolio_smart_limit_and_valuation_prices(environment, on_handle_bar, assert_submitted_orders): | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 369 | def test_order_target_portfolio_smart_allows_limit_down_buy_after_rescale( | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 391 | def test_order_target_portfolio_smart_keeps_zero_target_out_of_distribution( | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 416 | def test_order_target_portfolio_smart_does_not_deny_unchanged_limit_up_position( | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 436 | def test_order_target_portfolio_smart_rejects_prices_in_last_tick_band( | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 483 | def test_order_target_portfolio_smart_ignores_delisted_zero_quantity_position( | CODE |
| LOW | …_api/test_order_target_portfolio_smart_api_unittest.py | 503 | def test_order_target_portfolio_smart_does_not_require_valuation_price_for_delisted_position( | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 196 | def test_bar_matcher_fills_market_order_by_volume_limit_and_cancels_remainder(fake_env): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 217 | def test_bar_matcher_leaves_non_crossed_limit_order_active(fake_env): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 228 | def test_matcher_reduces_cash_limited_fill_by_order_step_for_transaction_cost(fake_env): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 252 | def test_matcher_keeps_affordable_fill_without_cash_clipping(fake_env, monkeypatch): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 279 | def test_matcher_uses_cash_occupation_to_estimate_cash_limited_fill(fake_env, monkeypatch): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 303 | def test_matcher_rechecks_only_unfilled_quantity_after_partial_fill(fake_env): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 328 | def test_bar_matcher_returns_early_on_invalid_price(fake_env): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 339 | def test_tick_matcher_fills_with_best_counterparty_price(monkeypatch): | CODE |
| LOW | …/unittest/test_mod/test_sys_simulation/test_matcher.py | 360 | def test_tick_matcher_rejects_invalid_price(monkeypatch): | CODE |
| 154 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 14 | CODE | |
| LOW | tests/unittest/test_models/test_instruments.py | 13 | CODE | |
| LOW | …est/test_data/test_data_proxy/test_instrument_mixin.py | 15 | CODE | |
| LOW | tests/integration_tests/test_api/test_api_base.py | 22 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 22 | CODE | |
| LOW | tests/integration_tests/test_api/test_config.py | 22 | CODE | |
| LOW | tests/integration_tests/test_api/test_config.py | 25 | CODE | |
| LOW | tests/integration_tests/test_api/test_api_stock.py | 21 | CODE | |
| LOW | …ntegration_tests/test_api/test_share_transformation.py | 4 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_margin_stocks.py | 17 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_margin_stocks.py | 47 | CODE | |
| LOW | …ests/test_api/mod/sys_accounts/test_position_models.py | 18 | CODE | |
| LOW | …mod/sys_accounts/test_futures_settlement_price_type.py | 17 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_account_model.py | 22 | CODE | |
| LOW | …s/test_api/mod/sys_analyser/test_negative_benchmark.py | 19 | CODE | |
| LOW | …ion_tests/test_api/mod/sys_scheduler/test_scheduler.py | 20 | CODE | |
| LOW | …tests/test_api/mod/sys_scheduler/test_physical_time.py | 20 | CODE | |
| LOW | …ests/test_api/mod/sys_simulation/test_signal_broker.py | 20 | CODE | |
| LOW | …/test_api/mod/sys_simulation/test_simulation_broker.py | 20 | CODE | |
| LOW | …simulation/test_simulation_event_source_integration.py | 19 | CODE | |
| LOW | …sts/test_api/mod/sys_simulation/test_management_fee.py | 20 | CODE | |
| LOW | …mod/sys_transaction_cost/test_commission_multiplier.py | 17 | CODE | |
| LOW | …ts/integration_tests/test_backtest_results/conftest.py | 3 | CODE | |
| LOW | …n_tests/test_backtest_results/test_f_mean_reverting.py | 2 | CODE | |
| LOW | …tion_tests/test_backtest_results/test_f_macd_signal.py | 5 | CODE | |
| LOW | …integration_tests/test_backtest_results/test_f_macd.py | 3 | CODE | |
| LOW | …integration_tests/test_backtest_results/test_f_macd.py | 8 | CODE | |
| LOW | docs/source/conf.py | 75 | CODE | |
| LOW | rqalpha/interface.py | 20 | CODE | |
| LOW | rqalpha/interface.py | 23 | CODE | |
| LOW | rqalpha/interface.py | 26 | CODE | |
| LOW | rqalpha/interface.py | 29 | CODE | |
| LOW | rqalpha/interface.py | 32 | CODE | |
| LOW | rqalpha/__init__.py | 21 | CODE | |
| LOW | rqalpha/__init__.py | 23 | CODE | |
| LOW | rqalpha/__init__.py | 23 | CODE | |
| LOW | rqalpha/__init__.py | 24 | CODE | |
| LOW | rqalpha/__init__.py | 25 | CODE | |
| LOW | rqalpha/__init__.py | 26 | CODE | |
| LOW | rqalpha/__init__.py | 27 | CODE | |
| LOW | rqalpha/__init__.py | 28 | CODE | |
| LOW | rqalpha/__init__.py | 29 | CODE | |
| LOW | rqalpha/environment.py | 19 | CODE | |
| LOW | rqalpha/environment.py | 25 | CODE | |
| LOW | rqalpha/environment.py | 33 | CODE | |
| LOW | rqalpha/environment.py | 35 | CODE | |
| LOW | rqalpha/environment.py | 36 | CODE | |
| LOW | rqalpha/environment.py | 37 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 38 | CODE | |
| LOW | rqalpha/environment.py | 40 | CODE | |
| LOW | rqalpha/environment.py | 41 | CODE | |
| LOW | rqalpha/main.py | 27 | CODE | |
| LOW | rqalpha/apis/api_base.py | 17 | CODE | |
| 140 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | babel.cfg | 1 | # For RQAlpha | COMMENT |
| LOW | tests/unittest/test_portfolio/test_account.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …/test_data/test_data_proxy/test_trading_dates_mixin.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …est/test_data/test_data_proxy/test_instrument_mixin.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …st_auto_update_bundle/test_auto_update_bundle_mixin.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …od/test_sys_simulation/test_simulation_event_source.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | tests/integration_tests/test_api/test_api_base.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …ests/test_api/test_order_target_portfolio_smart_api.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | tests/integration_tests/test_api/test_api_future.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | tests/integration_tests/test_api/test_config.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | tests/integration_tests/test_api/test_api_stock.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …_tests/test_api/mod/sys_accounts/test_margin_stocks.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …ests/test_api/mod/sys_accounts/test_position_models.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …mod/sys_accounts/test_futures_settlement_price_type.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …_tests/test_api/mod/sys_accounts/test_account_model.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …s/test_api/mod/sys_analyser/test_negative_benchmark.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …ion_tests/test_api/mod/sys_scheduler/test_scheduler.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …tests/test_api/mod/sys_scheduler/test_physical_time.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …ests/test_api/mod/sys_simulation/test_signal_broker.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …/test_api/mod/sys_simulation/test_simulation_broker.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …simulation/test_simulation_event_source_integration.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …sts/test_api/mod/sys_simulation/test_management_fee.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …mod/sys_transaction_cost/test_commission_multiplier.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | docs/source/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | docs/source/conf.py | 101 | # | COMMENT |
| LOW | docs/source/conf.py | 121 | # | COMMENT |
| LOW | docs/source/conf.py | 181 | # html_title = 'rqalpha v1.0' | COMMENT |
| LOW | docs/source/conf.py | 201 | html_static_path = ['_static'] | COMMENT |
| LOW | docs/source/conf.py | 221 | # | COMMENT |
| LOW | docs/source/conf.py | 241 | # If true, links to the reST sources are added to the pages. | COMMENT |
| LOW | docs/source/conf.py | 261 | COMMENT | |
| LOW | rqalpha/interface.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/user_module.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/api.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/environment.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/main.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/__main__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/const.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/apis/api_base.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/apis/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/apis/names.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/apis/api_rqdatac.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/apis/api_rqdatac.py | 201 | index_weights('000016.XSHG') | COMMENT |
| LOW | rqalpha/apis/api_abstract.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/strategy_universe.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/events.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/events.py | 61 | COMMENT | |
| LOW | rqalpha/core/events.py | 101 | COMMENT | |
| LOW | rqalpha/core/events.py | 121 | # settlement() | COMMENT |
| LOW | rqalpha/core/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/strategy.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/global_var.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/strategy_context.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/strategy_loader.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/execution_context.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/core/executor.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | rqalpha/cmds/bundle.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| 93 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integration_tests/test_api/test_api_base.py | 286 | except RQInvalidArgument: | CODE |
| HIGH | tests/integration_tests/test_api/test_api_base.py | 167 | except RQInvalidArgument: | CODE |
| HIGH | rqalpha/__init__.py | 62 | except SystemExit as e: | CODE |
| HIGH | rqalpha/__init__.py | 148 | except: | CODE |
| HIGH | rqalpha/__init__.py | 206 | except: | CODE |
| HIGH | rqalpha/core/strategy_context.py | 49 | except: | CODE |
| HIGH | rqalpha/utils/testing/integration.py | 135 | except (ValueError, TypeError): | CODE |
| HIGH | rqalpha/utils/testing/integration.py | 124 | except (ValueError, TypeError): | CODE |
| HIGH | rqalpha/utils/testing/integration.py | 92 | except (ValueError, TypeError): | CODE |
| HIGH | rqalpha/utils/testing/fixtures.py | 121 | except AttributeError: | CODE |
| HIGH | rqalpha/portfolio/position.py | 45 | except AttributeError: | CODE |
| HIGH | rqalpha/data/bundle/daybar.py | 96 | except StopIteration: | CODE |
| HIGH | rqalpha/mod/utils.py | 32 | except ValueError: | CODE |
| HIGH | rqalpha/mod/utils.py | 58 | except Exception as e: | CODE |
| HIGH | …ha/mod/rqalpha_mod_sys_simulation/simulation_broker.py | 138 | except ValueError: | CODE |
| HIGH | rqalpha/mod/rqalpha_mod_sys_analyser/report/report.py | 151 | except: | CODE |
| HIGH | rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py | 490 | except KeyError: | CODE |
| HIGH | rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py | 194 | except NotImplementedError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_bundle/test_daybar_checker.py | 40 | CODE | |
| LOW | tests/integration_tests/test_api/test_api_base.py | 398 | CODE | |
| LOW | tests/integration_tests/test_api/test_api_base.py | 527 | CODE | |
| LOW | tests/integration_tests/test_api/test_api_base.py | 411 | CODE | |
| LOW | tests/integration_tests/test_api/test_api_base.py | 543 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 48 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 112 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 338 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 56 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 138 | CODE | |
| LOW | tests/integration_tests/test_api/test_position_queue.py | 359 | CODE | |
| LOW | tests/integration_tests/test_api/test_portfolio.py | 83 | CODE | |
| LOW | tests/integration_tests/test_api/test_portfolio.py | 124 | CODE | |
| LOW | tests/integration_tests/test_api/test_portfolio.py | 94 | CODE | |
| LOW | tests/integration_tests/test_api/test_portfolio.py | 133 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_margin_stocks.py | 44 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_margin_stocks.py | 57 | CODE | |
| LOW | …ests/test_api/mod/sys_accounts/test_position_models.py | 187 | CODE | |
| LOW | …ests/test_api/mod/sys_accounts/test_position_models.py | 212 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_account_model.py | 81 | CODE | |
| LOW | …_tests/test_api/mod/sys_accounts/test_account_model.py | 96 | CODE | |
| LOW | …on_tests/test_backtest_results/test_s_turtle_signal.py | 8 | CODE | |
| LOW | …on_tests/test_backtest_results/test_s_turtle_signal.py | 46 | CODE | |
| LOW | …tegration_tests/test_backtest_results/test_s_turtle.py | 8 | CODE | |
| LOW | …tegration_tests/test_backtest_results/test_s_turtle.py | 45 | CODE | |
| LOW | rqalpha/api.py | 52 | CODE | |
| LOW | rqalpha/main.py | 133 | CODE | |
| LOW | rqalpha/main.py | 267 | CODE | |
| LOW | rqalpha/apis/api_base.py | 264 | CODE | |
| LOW | rqalpha/apis/api_base.py | 303 | CODE | |
| LOW | rqalpha/apis/api_base.py | 563 | CODE | |
| LOW | rqalpha/apis/api_rqdatac.py | 1279 | CODE | |
| LOW | rqalpha/core/executor.py | 37 | CODE | |
| LOW | rqalpha/cmds/bundle.py | 161 | CODE | |
| LOW | rqalpha/cmds/bundle.py | 185 | CODE | |
| LOW | rqalpha/utils/concurrent.py | 13 | CODE | |
| LOW | rqalpha/utils/config.py | 139 | CODE | |
| LOW | rqalpha/utils/config.py | 227 | CODE | |
| LOW | rqalpha/utils/logger.py | 76 | CODE | |
| LOW | rqalpha/utils/strategy_loader_help.py | 21 | CODE | |
| LOW | rqalpha/utils/arg_checker.py | 83 | CODE | |
| LOW | rqalpha/utils/arg_checker.py | 114 | CODE | |
| LOW | rqalpha/utils/testing/integration.py | 82 | CODE | |
| LOW | rqalpha/examples/turtle.py | 44 | CODE | |
| LOW | rqalpha/model/instrument.py | 479 | CODE | |
| LOW | rqalpha/portfolio/__init__.py | 312 | CODE | |
| LOW | rqalpha/portfolio/position.py | 324 | CODE | |
| LOW | rqalpha/portfolio/account.py | 191 | CODE | |
| LOW | rqalpha/portfolio/account.py | 562 | CODE | |
| LOW | rqalpha/data/base_data_source/data_source.py | 192 | CODE | |
| LOW | rqalpha/data/base_data_source/storages.py | 127 | CODE | |
| LOW | rqalpha/data/bundle/daybar_checker.py | 27 | CODE | |
| LOW | rqalpha/data/bundle/__init__.py | 52 | CODE | |
| LOW | rqalpha/data/bundle/__init__.py | 247 | CODE | |
| LOW | rqalpha/data/bundle/__init__.py | 259 | CODE | |
| LOW | rqalpha/data/bundle/daybar.py | 49 | CODE | |
| LOW | rqalpha/data/bundle/daybar.py | 111 | CODE | |
| LOW | rqalpha/data/bundle/automatic_update.py | 54 | CODE | |
| LOW | rqalpha/mod/rqalpha_mod_sys_scheduler/scheduler.py | 264 | CODE | |
| LOW | rqalpha/mod/rqalpha_mod_sys_scheduler/scheduler.py | 274 | CODE | |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/source/conf.py | 87 | except Exception: | CODE |
| LOW | rqalpha/api.py | 61 | except Exception as e: | CODE |
| LOW | rqalpha/main.py | 128 | except Exception as e: | CODE |
| LOW | rqalpha/main.py | 238 | except Exception as e: | CODE |
| LOW | rqalpha/core/global_var.py | 25 | except Exception: | CODE |
| LOW | rqalpha/core/global_var.py | 35 | except Exception: | CODE |
| LOW | rqalpha/core/strategy_context.py | 159 | except Exception as e: | CODE |
| LOW | rqalpha/core/strategy_context.py | 169 | except Exception as e: | CODE |
| LOW | rqalpha/cmds/bundle.py | 197 | except Exception: | CODE |
| LOW | rqalpha/utils/exception.py | 53 | except Exception: | CODE |
| MEDIUM | rqalpha/utils/exception.py | 47 | def _repr(v): | CODE |
| LOW | rqalpha/utils/config.py | 105 | except Exception as e: | CODE |
| MEDIUM | rqalpha/utils/config.py | 90 | def code_config(config, source_code=None): | CODE |
| LOW | rqalpha/utils/package_helper.py | 25 | except Exception as e: | CODE |
| LOW | rqalpha/utils/strategy_loader_help.py | 26 | except Exception as e: | CODE |
| LOW | rqalpha/utils/strategy_loader_help.py | 31 | except Exception as e1: | CODE |
| MEDIUM | rqalpha/utils/strategy_loader_help.py | 21 | def compile_strategy(source_code, strategy, scope): | CODE |
| LOW | rqalpha/utils/i18n.py | 53 | except Exception as e: | CODE |
| LOW | rqalpha/utils/arg_checker.py | 546 | except Exception as e: | CODE |
| MEDIUM | rqalpha/utils/arg_checker.py | 190 | def _is_number(self, func_name, value): | CODE |
| LOW | rqalpha/utils/persisit_helper.py | 46 | except Exception as e: | CODE |
| LOW | rqalpha/utils/persisit_helper.py | 77 | except Exception: | CODE |
| LOW | rqalpha/model/bar.py | 369 | except Exception as e: | CODE |
| LOW | rqalpha/data/bundle/__init__.py | 407 | except Exception as e: | CODE |
| MEDIUM | rqalpha/data/bundle/__init__.py | 404 | def __call__(self): | CODE |
| LOW | rqalpha/mod/__init__.py | 85 | except Exception as e: | CODE |
| LOW | rqalpha/mod/utils.py | 58 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …s/test_backtest_results/test_empty_positions_weight.py | 29 | assert positions_weight.index.equals(result["sys_analyser"]["portfolio"].index) | CODE |
| HIGH | rqalpha/apis/api_base.py | 649 | Instrument(order_book_id=000001.XSHE, symbol=平安银行, abbrev_symbol=PAYH, listed_date=19910403, de_listed_date= | STRING |
| HIGH | rqalpha/apis/api_base.py | 658 | [Instrument(order_book_id=000001.XSHE, symbol=平安银行, abbrev_symbol=PAYH, listed_date=19910403, de_listed_date | STRING |
| HIGH | rqalpha/core/execution_context.py | 43 | self.push(obj) | CODE |
| HIGH | rqalpha/core/execution_context.py | 66 | self.stack.push(self) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | rqalpha/mod/rqalpha_mod_sys_analyser/mod.py | 494 | "starting_cash": ",".join(f"{t}:{c}" for t, c in self._env.config.base.accounts.items()) | CODE |
| CRITICAL | rqalpha/mod/rqalpha_mod_sys_analyser/mod.py | 496 | for account_type, starting_cash in self._env.config.base.accounts.items(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …_api/test_order_target_portfolio_smart_api_unittest.py | 459 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …_api/test_order_target_portfolio_smart_api_unittest.py | 461 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | rqalpha/data/instruments_mixin.py | 128 | # ================================================================ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rqalpha/interface.py | 51 | def set_state(self, state: Any) -> None: | CODE |
| LOW | rqalpha/__init__.py | 31 | __all__ = [ | CODE |
| LOW | rqalpha/api.py | 32 | __all__ = [] | CODE |
| LOW | rqalpha/utils/logger.py | 25 | __all__ = [ | CODE |
| LOW | rqalpha/utils/testing/__init__.py | 31 | __all__ = [ | CODE |
| LOW | rqalpha/utils/testing/integration.py | 13 | __all__ = ['StructuredTextFormat', 'assert_result'] | CODE |
| LOW⚡ | rqalpha/portfolio/account.py | 542 | def set_management_fee_rate(self, rate: float) -> None: | CODE |
| LOW | rqalpha/data/bundle/utils.py | 23 | def set_sval(value: Synchronized) -> None: | CODE |
| LOW | rqalpha/mod/rqalpha_mod_sys_risk/validators/__init__.py | 23 | __all__ = [ | CODE |
| LOW | rqalpha/mod/rqalpha_mod_sys_accounts/api/api_future.py | 40 | __all__ = [] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rqalpha/apis/api_rqdatac.py | 1468 | CODE | |
| LOW | rqalpha/apis/api_rqdatac.py | 1449 | CODE | |
| LOW | rqalpha/utils/persisit_helper.py | 68 | CODE | |
| LOW | rqalpha/examples/data_source/read_csv_as_df.py | 21 | CODE | |
| LOW | rqalpha/examples/data_source/get_csv_module.py | 21 | CODE | |
| LOW | …pha/examples/extend_api/rqalpha_mod_extend_api_demo.py | 54 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/source/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rqalpha/utils/config.py | 119 | # Check if capital_gain_tax_rate is explicitly set;if not,throw a warning. | COMMENT |