Qlib is an AI-oriented Quant investment platform that aims to use AI tech to empower Quant Research, from exploring ideas to implementing productions. Qlib supports diverse ML modeling paradigms, including supervised learning, market dynamics modeling, and RL, and is now equipped with https://github.com/microsoft/RD-Agent to automate R&D process.
This report summarizes scanner evidence for microsoft/qlib, a Python project with 49,262 GitHub stars. SynthScan examined 92,106 lines of code across 547 source files, recording 969 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 14.1 (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? 513 finding(s).
Are imports declared and package/API names verified? 304 finding(s).
Are wrappers, guards, and repeated structures necessary? 519 finding(s).
Which changes need focused human review? 969 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 969 distinct pattern matches across 20 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 | qlib/log.py | 227 | def set_global_logger_level_cm(level: int): | CODE |
| LOW | qlib/tests/config.py | 112 | def get_record_xgboost_config(dataset_kwargs={}, handler_kwargs={"instruments": CSI300_MARKET}): | CODE |
| LOW | qlib/tests/test_config_validation.py | 6 | def test_missing_provider_uri_raises(): | CODE |
| LOW | qlib/tests/data.py | 203 | def _get_file_name_with_version(qlib_version, dataset_version): | CODE |
| LOW | qlib/utils/resam.py | 72 | def get_higher_eq_freq_feature(instruments, fields, start_time=None, end_time=None, freq="day", disk_cache=1): | CODE |
| LOW | qlib/utils/__init__.py | 418 | def normalize_cache_instruments(instruments): | CODE |
| LOW | qlib/utils/file.py | 96 | def unpack_archive_with_buffer(buffer, format="gztar"): | CODE |
| LOW | qlib/utils/mod.py | 38 | def _register_legacy_module_alias(module, module_path, module_file): | CODE |
| LOW | qlib/utils/mod.py | 50 | def get_module_by_module_path(module_path: Union[str, ModuleType], *, trusted: bool = False): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 17 | def _get_position_value_from_df(evaluate_date, position, close_data_df): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 105 | def get_daily_return_series_from_positions(positions, init_asset_value): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 122 | def get_annual_return_from_positions(positions, init_asset_value): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 143 | def get_annaul_return_from_return_series(r, method="ci"): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 159 | def get_sharpe_ratio_from_return_series(r, risk_free_rate=0.00, method="ci"): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 178 | def get_max_drawdown_from_series(r): | CODE |
| LOW | qlib/contrib/evaluate_portfolio.py | 225 | def get_volatility_from_series(r): | CODE |
| LOW | qlib/contrib/rolling/ddgda.py | 169 | def _replace_handler_with_cache(self, task, cache_dir=None): | STRING |
| LOW | qlib/contrib/rolling/ddgda.py | 241 | def _dump_data_for_proxy_model(self): | STRING |
| LOW | qlib/contrib/rolling/base.py | 123 | def _replace_handler_with_cache(self, task: dict): | CODE |
| LOW | qlib/contrib/meta/data_selection/utils.py | 67 | def preds_to_weight_with_clamp(preds, clip_weight=None, clip_method="tanh"): | CODE |
| LOW | qlib/contrib/report/graph.py | 70 | def get_instance_with_graph_parameters(graph_type: str = None, **kwargs): | CODE |
| LOW | qlib/contrib/report/analysis_position/rank_label.py | 14 | def _get_figure_with_position( | CODE |
| LOW | …/contrib/report/analysis_position/cumulative_return.py | 15 | def _get_cum_return_data_with_position( | CODE |
| LOW | …/contrib/report/analysis_position/cumulative_return.py | 89 | def _get_figure_with_position( | CODE |
| LOW | qlib/contrib/report/analysis_position/risk_analysis.py | 15 | def _get_risk_analysis_data_with_report( | CODE |
| LOW | qlib/contrib/report/analysis_position/risk_analysis.py | 57 | def _get_monthly_risk_analysis_with_report(report_normal_df: pd.DataFrame) -> pd.DataFrame: | CODE |
| LOW | qlib/contrib/report/analysis_position/risk_analysis.py | 95 | def _get_monthly_analysis_with_feature(monthly_df: pd.DataFrame, feature: str = "annualized_return") -> pd.DataFrame: | CODE |
| LOW | qlib/contrib/report/analysis_position/risk_analysis.py | 112 | def _get_risk_analysis_figure(analysis_df: pd.DataFrame) -> Iterable[py.Figure]: | CODE |
| LOW | qlib/contrib/report/analysis_position/risk_analysis.py | 129 | def _get_monthly_risk_analysis_figure(report_normal_df: pd.DataFrame) -> Iterable[py.Figure]: | CODE |
| LOW | qlib/contrib/data/highfreq_handler.py | 48 | def get_normalized_price_feature(price_field, shift=0): | CODE |
| LOW | qlib/contrib/data/highfreq_handler.py | 151 | def get_normalized_price_feature(price_field, shift=0): | CODE |
| LOW | qlib/contrib/data/highfreq_handler.py | 350 | def get_normalized_price_feature(price_field, shift=0): | CODE |
| LOW | qlib/contrib/data/highfreq_handler.py | 366 | def get_normalized_vwap_price_feature(price_field, shift=0): | CODE |
| LOW | qlib/contrib/strategy/order_generator.py | 16 | def generate_order_list_from_target_weight_position( | CODE |
| LOW | qlib/contrib/strategy/order_generator.py | 54 | def generate_order_list_from_target_weight_position( | CODE |
| LOW | qlib/contrib/strategy/order_generator.py | 146 | def generate_order_list_from_target_weight_position( | CODE |
| LOW | qlib/contrib/strategy/cost_control.py | 47 | def generate_target_weight_position(self, score, current, trade_start_time, trade_end_time, **kwargs): | CODE |
| LOW | qlib/contrib/strategy/signal_strategy.py | 329 | def generate_target_weight_position(self, score, current, trade_start_time, trade_end_time): | CODE |
| LOW | qlib/contrib/strategy/signal_strategy.py | 467 | def generate_target_weight_position(self, score, current, trade_start_time, trade_end_time): | CODE |
| LOW | qlib/backtest/profit_attribution.py | 72 | def decompose_portofolio_weight(stock_weight_df, stock_group_df): | CODE |
| LOW | qlib/backtest/exchange.py | 534 | def generate_amount_position_from_weight_position( | CODE |
| LOW | qlib/backtest/exchange.py | 611 | def generate_order_for_target_amount_position( | CODE |
| LOW | qlib/backtest/exchange.py | 679 | def calculate_amount_position_value( | CODE |
| LOW | qlib/backtest/exchange.py | 712 | def _get_factor_or_raise_error( | CODE |
| LOW | qlib/backtest/exchange.py | 761 | def round_amount_by_trade_unit( | CODE |
| LOW | qlib/backtest/exchange.py | 834 | def _get_buy_amount_by_cash_limit(self, trade_price: float, cash: float, cost_ratio: float) -> float: | CODE |
| LOW | qlib/backtest/exchange.py | 859 | def _calc_trade_info_by_order( | CODE |
| LOW | qlib/backtest/report.py | 150 | def get_latest_total_turnover(self) -> Any: | CODE |
| LOW | qlib/backtest/report.py | 153 | def update_portfolio_metrics_record( | CODE |
| LOW | qlib/backtest/report.py | 203 | def generate_portfolio_metrics_dataframe(self) -> pd.DataFrame: | CODE |
| LOW⚡ | qlib/backtest/report.py | 330 | def _update_order_fulfill_rate(self) -> None: | CODE |
| LOW | qlib/backtest/report.py | 524 | def _agg_order_price_advantage(self) -> None: | CODE |
| LOW | qlib/backtest/report.py | 570 | def _cal_trade_price_advantage(self, method: str = "mean") -> Optional[BaseSingleMetric]: | CODE |
| LOW | qlib/backtest/report.py | 650 | def generate_trade_indicators_dataframe(self) -> pd.DataFrame: | CODE |
| LOW | qlib/backtest/executor.py | 501 | def _retrieve_orders_from_decision(trade_decision: BaseTradeDecision) -> List[Order]: | CODE |
| LOW | qlib/workflow/utils.py | 31 | def experiment_exception_hook(exc_type, value, tb): | CODE |
| LOW | qlib/workflow/task/utils.py | 283 | def replace_task_handler_with_cache(task: dict, cache_dir: Union[str, Path] = ".") -> dict: | CODE |
| LOW | qlib/model/riskmodel/shrink.py | 115 | def _get_shrink_target_const_var(self, X: np.ndarray, S: np.ndarray) -> np.ndarray: | CODE |
| LOW | qlib/model/riskmodel/shrink.py | 126 | def _get_shrink_target_const_corr(self, X: np.ndarray, S: np.ndarray) -> np.ndarray: | CODE |
| LOW | qlib/model/riskmodel/shrink.py | 141 | def _get_shrink_target_single_factor(self, X: np.ndarray, S: np.ndarray) -> np.ndarray: | CODE |
| 226 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 1 | CODE | |
| LOW | qlib/config.py | 14 | CODE | |
| LOW | qlib/typehint.py | 13 | CODE | |
| LOW | qlib/typehint.py | 13 | CODE | |
| LOW | qlib/typehint.py | 15 | CODE | |
| LOW | qlib/typehint.py | 15 | CODE | |
| LOW | qlib/utils/__init__.py | 6 | CODE | |
| LOW | qlib/utils/__init__.py | 7 | CODE | |
| LOW | qlib/utils/__init__.py | 31 | CODE | |
| LOW | qlib/utils/__init__.py | 31 | CODE | |
| LOW | qlib/utils/__init__.py | 31 | CODE | |
| LOW | qlib/utils/__init__.py | 31 | CODE | |
| LOW | qlib/utils/__init__.py | 38 | CODE | |
| LOW | qlib/utils/__init__.py | 1000 | CODE | |
| LOW | qlib/utils/__init__.py | 1000 | CODE | |
| LOW | qlib/utils/__init__.py | 1000 | CODE | |
| LOW | qlib/utils/__init__.py | 1000 | CODE | |
| LOW | qlib/utils/__init__.py | 1000 | CODE | |
| LOW | qlib/utils/index_data.py | 12 | CODE | |
| LOW | qlib/contrib/evaluate_portfolio.py | 5 | CODE | |
| LOW | qlib/contrib/evaluate_portfolio.py | 6 | CODE | |
| LOW | qlib/contrib/evaluate.py | 4 | CODE | |
| LOW | qlib/contrib/evaluate.py | 5 | CODE | |
| LOW | qlib/contrib/tuner/pipeline.py | 10 | CODE | |
| LOW | qlib/contrib/tuner/pipeline.py | 11 | CODE | |
| LOW | qlib/contrib/tuner/launcher.py | 11 | CODE | |
| LOW | qlib/contrib/tuner/launcher.py | 12 | CODE | |
| LOW | qlib/contrib/tuner/tuner.py | 14 | CODE | |
| LOW | qlib/contrib/meta/__init__.py | 4 | CODE | |
| LOW | qlib/contrib/meta/__init__.py | 4 | CODE | |
| LOW | qlib/contrib/meta/__init__.py | 4 | CODE | |
| LOW | qlib/contrib/meta/data_selection/__init__.py | 4 | CODE | |
| LOW | qlib/contrib/meta/data_selection/__init__.py | 4 | CODE | |
| LOW | qlib/contrib/meta/data_selection/__init__.py | 5 | CODE | |
| LOW | qlib/contrib/workflow/__init__.py | 3 | CODE | |
| LOW | qlib/contrib/workflow/__init__.py | 4 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru.py | 4 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_localformer_ts.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_localformer_ts.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_lstm.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_lstm.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_tabnet.py | 3 | CODE | |
| LOW | qlib/contrib/model/pytorch_tabnet.py | 4 | CODE | |
| LOW | qlib/contrib/model/pytorch_nn.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_nn.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_localformer.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_localformer.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_lstm_ts.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_lstm_ts.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_tcts.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_tcts.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru_ts.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru_ts.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_gats.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_gats.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_transformer.py | 5 | CODE | |
| LOW | qlib/contrib/model/pytorch_transformer.py | 6 | CODE | |
| LOW | qlib/contrib/model/pytorch_sfm.py | 4 | CODE | |
| LOW | qlib/contrib/model/pytorch_sfm.py | 5 | CODE | |
| 234 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | qlib/contrib/model/pytorch_gru.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_gru_ts.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_lstm.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_lstm_ts.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_adarnn.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_tcts.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_alstm_ts.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_alstm.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_igmtf.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_krnn.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_tcn_ts.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_tcn.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_sandwich.py | 0 | tcn model parameters ---------- d_feat : int input dimension for each time step n_chans: int number of channels metric: | STRING |
| HIGH | qlib/contrib/model/pytorch_gats.py | 0 | add model parameters ---------- lr : float learning rate d_feat : int input dimensions for each time step metric : str t | STRING |
| HIGH | qlib/contrib/model/pytorch_gats_ts.py | 0 | add model parameters ---------- lr : float learning rate d_feat : int input dimensions for each time step metric : str t | STRING |
| HIGH | qlib/contrib/model/pytorch_hist.py | 0 | add model parameters ---------- lr : float learning rate d_feat : int input dimensions for each time step metric : str t | STRING |
| HIGH | qlib/contrib/model/pytorch_add.py | 0 | add model parameters ---------- lr : float learning rate d_feat : int input dimensions for each time step metric : str t | STRING |
| HIGH | scripts/data_collector/index.py | 0 | get history trading date returns ------- calendar list | STRING |
| HIGH | scripts/data_collector/cn_index/collector.py | 0 | get history trading date returns ------- calendar list | STRING |
| HIGH | scripts/data_collector/us_index/collector.py | 0 | get history trading date returns ------- calendar list | STRING |
| HIGH | scripts/data_collector/index.py | 0 | returns ------- pd.dataframe: symbol date type sh600000 2019-11-11 add sh600000 2020-11-10 remove dtypes: symbol: str da | STRING |
| HIGH | scripts/data_collector/cn_index/collector.py | 0 | returns ------- pd.dataframe: symbol date type sh600000 2019-11-11 add sh600000 2020-11-10 remove dtypes: symbol: str da | STRING |
| HIGH | scripts/data_collector/us_index/collector.py | 0 | returns ------- pd.dataframe: symbol date type sh600000 2019-11-11 add sh600000 2020-11-10 remove dtypes: symbol: str da | STRING |
| HIGH | scripts/data_collector/index.py | 0 | formatting the datetime in an instrument parameters ---------- inst_df: pd.dataframe inst_df.columns = [self.symbol_fiel | STRING |
| HIGH | scripts/data_collector/cn_index/collector.py | 0 | formatting the datetime in an instrument parameters ---------- inst_df: pd.dataframe inst_df.columns = [self.symbol_fiel | STRING |
| HIGH | scripts/data_collector/us_index/collector.py | 0 | formatting the datetime in an instrument parameters ---------- inst_df: pd.dataframe inst_df.columns = [self.symbol_fiel | STRING |
| HIGH | scripts/data_collector/br_index/collector.py | 0 | formatting the datetime in an instrument parameters ---------- inst_df: pd.dataframe inst_df.columns = [self.symbol_fiel | STRING |
| HIGH | scripts/data_collector/base.py | 0 | download data from internet parameters ---------- max_collector_count: int default 2 delay: float time.sleep(delay), def | STRING |
| HIGH | scripts/data_collector/crypto/collector.py | 0 | download data from internet parameters ---------- max_collector_count: int default 2 delay: float time.sleep(delay), def | STRING |
| HIGH | scripts/data_collector/fund/collector.py | 0 | download data from internet parameters ---------- max_collector_count: int default 2 delay: float time.sleep(delay), def | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | qlib/log.py | 172 | except Exception: | CODE |
| HIGH | qlib/utils/index_data.py | 591 | except KeyError: | CODE |
| HIGH | qlib/contrib/report/graph.py | 103 | except NameError: | CODE |
| HIGH | qlib/contrib/online/operator.py | 241 | except BaseException: | CODE |
| HIGH | qlib/backtest/position.py | 277 | except KeyError: | CODE |
| HIGH | qlib/workflow/record_temp.py | 231 | except FileNotFoundError: | CODE |
| HIGH | qlib/workflow/task/gen.py | 119 | except KeyError: | CODE |
| HIGH | qlib/workflow/task/gen.py | 122 | except TypeError: | CODE |
| HIGH | qlib/data/data.py | 875 | except ValueError: | CODE |
| HIGH | qlib/data/data.py | 877 | except TypeError: | CODE |
| HIGH | qlib/rl/utils/data_queue.py | 102 | except Empty: | CODE |
| HIGH | qlib/rl/utils/finite_env.py | 201 | except StopIteration: | CODE |
| HIGH | qlib/rl/order_execution/simulator_qlib.py | 132 | except StopIteration: | CODE |
| HIGH | tests/rl/test_finite_env.py | 231 | except StopIteration: | CODE |
| HIGH | tests/rl/test_finite_env.py | 247 | except StopIteration: | CODE |
| HIGH | scripts/data_collector/crypto/collector.py | 122 | except ValueError as e: | CODE |
| HIGH | scripts/data_collector/yahoo/collector.py | 116 | except ValueError as e: | CODE |
| HIGH | scripts/data_collector/yahoo/collector.py | 175 | except ValueError as e: | CODE |
| HIGH | scripts/data_collector/yahoo/collector.py | 185 | except ValueError as e: | CODE |
| HIGH | scripts/data_collector/fund/collector.py | 92 | except ValueError as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/contrib/evaluate_portfolio.py | 73 | CODE | |
| LOW | qlib/contrib/evaluate.py | 93 | CODE | |
| LOW | qlib/contrib/evaluate.py | 143 | CODE | |
| LOW | qlib/contrib/evaluate.py | 276 | CODE | |
| LOW | qlib/contrib/rolling/ddgda.py | 111 | CODE | |
| LOW | qlib/contrib/rolling/base.py | 53 | CODE | |
| LOW | qlib/contrib/meta/data_selection/model.py | 45 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru.py | 40 | CODE | |
| LOW | qlib/contrib/model/pytorch_localformer_ts.py | 27 | CODE | |
| LOW | qlib/contrib/model/pytorch_lstm.py | 39 | CODE | |
| LOW | qlib/contrib/model/pytorch_tabnet.py | 26 | CODE | |
| LOW | qlib/contrib/model/pytorch_tabnet.py | 437 | CODE | |
| LOW | qlib/contrib/model/pytorch_adarnn.py | 38 | CODE | |
| LOW | qlib/contrib/model/pytorch_adarnn.py | 377 | CODE | |
| LOW | qlib/contrib/model/pytorch_adarnn.py | 496 | CODE | |
| LOW | qlib/contrib/model/pytorch_nn.py | 57 | CODE | |
| LOW | qlib/contrib/model/pytorch_localformer.py | 29 | CODE | |
| LOW | qlib/contrib/model/pytorch_lstm_ts.py | 40 | CODE | |
| LOW | qlib/contrib/model/pytorch_tcts.py | 39 | CODE | |
| LOW | qlib/contrib/model/pytorch_tcts.py | 401 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru_ts.py | 41 | CODE | |
| LOW | qlib/contrib/model/pytorch_gats.py | 43 | CODE | |
| LOW | qlib/contrib/model/pytorch_transformer.py | 28 | CODE | |
| LOW | qlib/contrib/model/pytorch_sfm.py | 197 | CODE | |
| LOW | qlib/contrib/model/pytorch_alstm_ts.py | 43 | CODE | |
| LOW | qlib/contrib/model/pytorch_igmtf.py | 42 | CODE | |
| LOW | qlib/contrib/model/pytorch_igmtf.py | 442 | CODE | |
| LOW | qlib/contrib/model/pytorch_transformer_ts.py | 26 | CODE | |
| LOW | qlib/contrib/model/pytorch_krnn.py | 222 | CODE | |
| LOW | qlib/contrib/model/pytorch_krnn.py | 240 | CODE | |
| LOW | qlib/contrib/model/pytorch_tcn_ts.py | 40 | CODE | |
| LOW | qlib/contrib/model/pytorch_tcn.py | 43 | CODE | |
| LOW | qlib/contrib/model/pytorch_general_nn.py | 52 | CODE | |
| LOW | qlib/contrib/model/pytorch_alstm.py | 40 | CODE | |
| LOW | qlib/contrib/model/double_ensemble.py | 18 | CODE | |
| LOW | qlib/contrib/model/pytorch_sandwich.py | 94 | CODE | |
| LOW | qlib/contrib/model/pytorch_sandwich.py | 112 | CODE | |
| LOW | qlib/contrib/model/pytorch_hist.py | 78 | CODE | |
| LOW | qlib/contrib/model/pytorch_tra.py | 66 | CODE | |
| LOW | qlib/contrib/model/pytorch_add.py | 46 | CODE | |
| LOW | qlib/contrib/model/pytorch_add.py | 443 | CODE | |
| LOW | qlib/contrib/model/pytorch_add.py | 565 | CODE | |
| LOW | qlib/contrib/model/pytorch_gats_ts.py | 61 | CODE | |
| LOW | qlib/contrib/data/handler.py | 49 | CODE | |
| LOW | qlib/contrib/data/handler.py | 99 | CODE | |
| LOW | qlib/contrib/data/dataset.py | 119 | CODE | |
| LOW | qlib/contrib/data/highfreq_handler.py | 9 | CODE | |
| LOW | qlib/contrib/data/highfreq_handler.py | 104 | CODE | |
| LOW | qlib/contrib/data/highfreq_handler.py | 308 | CODE | |
| LOW | qlib/contrib/strategy/rule_strategy.py | 388 | CODE | |
| LOW | qlib/contrib/strategy/cost_control.py | 9 | CODE | |
| LOW | qlib/backtest/exchange.py | 38 | CODE | |
| LOW | qlib/backtest/__init__.py | 33 | CODE | |
| LOW | qlib/backtest/report.py | 153 | CODE | |
| LOW | qlib/backtest/executor.py | 25 | CODE | |
| LOW | qlib/backtest/executor.py | 317 | CODE | |
| LOW | qlib/backtest/executor.py | 528 | CODE | |
| LOW | qlib/workflow/task/collect.py | 142 | CODE | |
| LOW | qlib/data/data.py | 929 | CODE | |
| LOW | qlib/data/data.py | 984 | CODE | |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/__init__.py | 25 | CODE | |
| LOW | qlib/__init__.py | 87 | CODE | |
| LOW | qlib/__init__.py | 243 | CODE | |
| LOW | qlib/utils/time.py | 32 | CODE | |
| LOW | qlib/utils/time.py | 73 | CODE | |
| LOW | qlib/utils/time.py | 258 | CODE | |
| LOW | qlib/utils/resam.py | 12 | CODE | |
| LOW | qlib/utils/paral.py | 211 | CODE | |
| LOW | qlib/utils/__init__.py | 74 | CODE | |
| LOW | qlib/utils/__init__.py | 817 | CODE | |
| LOW | qlib/utils/index_data.py | 253 | CODE | |
| LOW | qlib/utils/file.py | 16 | CODE | |
| LOW | qlib/utils/mod.py | 176 | CODE | |
| LOW | qlib/utils/data.py | 70 | CODE | |
| LOW | qlib/contrib/torch.py | 14 | CODE | |
| LOW | qlib/contrib/rolling/ddgda.py | 189 | CODE | |
| LOW | qlib/contrib/meta/data_selection/model.py | 74 | CODE | |
| LOW | qlib/contrib/meta/data_selection/dataset.py | 395 | CODE | |
| LOW | qlib/contrib/meta/data_selection/utils.py | 67 | CODE | |
| LOW | qlib/contrib/model/pytorch_gru.py | 209 | CODE | |
| LOW | qlib/contrib/model/pytorch_adarnn.py | 563 | CODE | |
| LOW | qlib/contrib/model/pytorch_nn.py | 190 | CODE | |
| LOW | qlib/contrib/model/pytorch_utils.py | 7 | CODE | |
| LOW | qlib/contrib/model/pytorch_tra.py | 752 | CODE | |
| LOW | qlib/contrib/model/pytorch_tra.py | 187 | CODE | |
| LOW | qlib/contrib/model/gbdt.py | 28 | CODE | |
| LOW | qlib/contrib/report/data/ana.py | 45 | CODE | |
| LOW | qlib/contrib/data/dataset.py | 280 | CODE | |
| LOW | qlib/contrib/data/utils/sepdf.py | 193 | CODE | |
| LOW | qlib/contrib/data/utils/sepdf.py | 94 | CODE | |
| LOW | qlib/contrib/data/utils/sepdf.py | 160 | CODE | |
| LOW | qlib/contrib/strategy/rule_strategy.py | 157 | CODE | |
| LOW | qlib/contrib/strategy/signal_strategy.py | 137 | CODE | |
| LOW | qlib/backtest/signal.py | 88 | CODE | |
| LOW | qlib/backtest/exchange.py | 859 | CODE | |
| LOW | qlib/backtest/decision.py | 117 | CODE | |
| LOW | qlib/backtest/high_performance_ds.py | 184 | CODE | |
| LOW | qlib/backtest/report.py | 455 | CODE | |
| LOW | qlib/workflow/expm.py | 365 | CODE | |
| LOW | qlib/workflow/recorder.py | 423 | CODE | |
| LOW | qlib/workflow/exp.py | 287 | CODE | |
| LOW | qlib/workflow/record_temp.py | 82 | CODE | |
| LOW | qlib/workflow/task/collect.py | 206 | CODE | |
| LOW | qlib/workflow/task/gen.py | 189 | CODE | |
| LOW | qlib/workflow/task/manage.py | 485 | CODE | |
| LOW | qlib/data/cache.py | 506 | CODE | |
| LOW | qlib/data/cache.py | 951 | CODE | |
| LOW | qlib/data/expression_parser.py | 97 | CODE | |
| LOW | qlib/data/expression_parser.py | 162 | CODE | |
| LOW | qlib/data/dataset/handler.py | 633 | CODE | |
| LOW | qlib/data/dataset/loader.py | 156 | CODE | |
| LOW | qlib/data/dataset/loader.py | 271 | CODE | |
| LOW | qlib/data/dataset/storage.py | 113 | CODE | |
| LOW | qlib/data/storage/file_storage.py | 261 | CODE | |
| LOW | qlib/data/storage/file_storage.py | 346 | CODE | |
| LOW | qlib/rl/interpreter.py | 101 | CODE | |
| LOW | qlib/rl/utils/data_queue.py | 167 | CODE | |
| LOW | qlib/rl/utils/finite_env.py | 39 | CODE | |
| LOW | qlib/rl/contrib/naive_config_parser.py | 31 | CODE | |
| LOW | qlib/rl/order_execution/simulator_simple.py | 147 | CODE | |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/typehint.py | 10 | __all__ = ["Literal", "TypedDict", "final"] | CODE |
| LOW | qlib/utils/__init__.py | 1010 | __all__ = [ | CODE |
| LOW | qlib/contrib/meta/__init__.py | 6 | __all__ = ["MetaTaskDS", "MetaDatasetDS", "MetaModelDS"] | CODE |
| LOW | qlib/contrib/meta/data_selection/__init__.py | 7 | __all__ = ["MetaDatasetDS", "MetaTaskDS", "MetaModelDS"] | CODE |
| LOW | qlib/contrib/workflow/__init__.py | 6 | __all__ = ["MultiSegRecord", "SignalMseRecord"] | CODE |
| LOW | qlib/contrib/report/analysis_position/__init__.py | 10 | __all__ = ["cumulative_return_graph", "score_ic_graph", "report_graph", "rank_label_graph", "risk_analysis_graph"] | CODE |
| LOW | qlib/contrib/report/analysis_model/__init__.py | 6 | __all__ = ["model_performance_graph"] | CODE |
| LOW | qlib/contrib/strategy/__init__.py | 19 | __all__ = [ | CODE |
| LOW | qlib/contrib/strategy/optimizer/__init__.py | 8 | __all__ = ["BaseOptimizer", "PortfolioOptimizer", "EnhancedIndexingOptimizer"] | CODE |
| LOW | qlib/backtest/signal.py | 77 | def _update_model(self) -> None: | CODE |
| LOW | qlib/backtest/exchange.py | 273 | def _update_limit(self, limit_threshold: Union[Tuple, float, None]) -> None: | CODE |
| LOW | qlib/backtest/__init__.py | 349 | __all__ = ["Order", "backtest", "get_strategy_executor"] | CODE |
| LOW | qlib/backtest/utils.py | 266 | def set_sub_level_infra(self, sub_level_infra: LevelInfrastructure) -> None: | CODE |
| LOW | qlib/backtest/position.py | 57 | def update_order(self, order: Order, trade_val: float, cost: float, trade_price: float) -> None: | CODE |
| LOW | qlib/backtest/position.py | 72 | def update_stock_price(self, stock_id: str, price: float) -> None: | CODE |
| LOW | qlib/backtest/position.py | 189 | def update_weight_all(self) -> None: | CODE |
| LOW | qlib/backtest/position.py | 390 | def update_order(self, order: Order, trade_val: float, cost: float, trade_price: float) -> None: | CODE |
| LOW⚡ | qlib/backtest/position.py | 401 | def update_stock_price(self, stock_id: str, price: float) -> None: | CODE |
| LOW⚡ | qlib/backtest/position.py | 404 | def update_stock_count(self, stock_id: str, bar: str, count: float) -> None: # TODO: check type of `bar` | CODE |
| LOW⚡ | qlib/backtest/position.py | 407 | def update_stock_weight(self, stock_id: str, weight: float) -> None: | CODE |
| LOW | qlib/backtest/position.py | 482 | def update_weight_all(self) -> None: | CODE |
| LOW | qlib/backtest/position.py | 518 | def update_order(self, order: Order, trade_val: float, cost: float, trade_price: float) -> None: | CODE |
| LOW | qlib/backtest/position.py | 521 | def update_stock_price(self, stock_id: str, price: float) -> None: | CODE |
| LOW | qlib/backtest/position.py | 558 | def update_weight_all(self) -> None: | CODE |
| LOW | qlib/backtest/report.py | 301 | def _update_order_trade_info(self, trade_info: List[Tuple[Order, float, float, float]]) -> None: | CODE |
| LOW⚡ | qlib/backtest/report.py | 330 | def _update_order_fulfill_rate(self) -> None: | CODE |
| LOW⚡ | qlib/backtest/report.py | 339 | def update_order_indicators(self, trade_info: List[Tuple[Order, float, float, float]]) -> None: | CODE |
| LOW | qlib/backtest/report.py | 372 | def _update_trade_amount(self, outer_trade_decision: BaseTradeDecision) -> None: | CODE |
| LOW | qlib/backtest/account.py | 183 | def _update_state_from_order(self, order: Order, trade_val: float, cost: float, trade_price: float) -> None: | CODE |
| LOW | qlib/backtest/account.py | 203 | def update_order(self, order: Order, trade_val: float, cost: float, trade_price: float) -> None: | CODE |
| LOW | qlib/backtest/account.py | 250 | def update_portfolio_metrics(self, trade_start_time: pd.Timestamp, trade_end_time: pd.Timestamp) -> None: | CODE |
| LOW | qlib/backtest/account.py | 293 | def update_hist_positions(self, trade_start_time: pd.Timestamp) -> None: | CODE |
| LOW | qlib/model/__init__.py | 8 | __all__ = ["Model", "warnings"] | CODE |
| LOW | qlib/model/trainer.py | 37 | def _set_trust_kwargs(kwargs: dict, trusted: bool) -> None: | CODE |
| LOW | qlib/model/meta/__init__.py | 7 | __all__ = ["MetaTask", "MetaTaskDataset"] | CODE |
| LOW | qlib/model/riskmodel/__init__.py | 9 | __all__ = [ | CODE |
| LOW | qlib/data/__init__.py | 39 | __all__ = [ | CODE |
| LOW | qlib/data/dataset/__init__.py | 722 | __all__ = ["Optional", "Dataset", "DatasetH"] | CODE |
| LOW | qlib/data/storage/__init__.py | 6 | __all__ = ["CalendarStorage", "InstrumentStorage", "FeatureStorage", "CalVT", "InstVT", "InstKT"] | CODE |
| LOW | qlib/rl/__init__.py | 8 | __all__ = ["Interpreter", "StateInterpreter", "ActionInterpreter", "Reward", "RewardCombination", "Simulator"] | CODE |
| LOW | qlib/rl/aux_info.py | 16 | __all__ = ["AuxiliaryInfoCollector"] | CODE |
| LOW | qlib/rl/utils/data_queue.py | 21 | __all__ = ["DataQueue"] | CODE |
| LOW | qlib/rl/utils/finite_env.py | 24 | __all__ = [ | CODE |
| LOW⚡ | qlib/rl/utils/finite_env.py | 149 | def _set_default_obs(self, obs: Any) -> None: | CODE |
| LOW⚡ | qlib/rl/utils/finite_env.py | 153 | def _set_default_info(self, info: Any) -> None: | CODE |
| LOW⚡ | qlib/rl/utils/finite_env.py | 157 | def _set_default_rew(self, rew: Any) -> None: | CODE |
| LOW | qlib/rl/utils/log.py | 35 | __all__ = ["LogCollector", "LogWriter", "LogLevel", "LogBuffer", "ConsoleWriter", "CsvWriter"] | CODE |
| LOW | qlib/rl/utils/__init__.py | 9 | __all__ = [ | CODE |
| LOW | qlib/rl/utils/env_wrapper.py | 20 | __all__ = ["InfoDict", "EnvWrapperStatus", "EnvWrapper"] | CODE |
| LOW | qlib/rl/order_execution/policy.py | 19 | __all__ = ["AllOne", "PPO", "DQN"] | CODE |
| LOW | qlib/rl/order_execution/policy.py | 220 | def set_weight(policy: nn.Module, loaded_weight: OrderedDict) -> None: | CODE |
| LOW | qlib/rl/order_execution/__init__.py | 22 | __all__ = [ | CODE |
| LOW | qlib/rl/order_execution/interpreter.py | 19 | __all__ = [ | CODE |
| LOW | qlib/rl/order_execution/network.py | 16 | __all__ = ["Recurrent"] | CODE |
| LOW | qlib/rl/order_execution/simulator_simple.py | 21 | __all__ = ["SingleAssetOrderExecutionSimple"] | CODE |
| LOW | qlib/rl/order_execution/reward.py | 14 | __all__ = ["PAPenaltyReward"] | CODE |
| LOW | qlib/rl/trainer/__init__.py | 11 | __all__ = [ | CODE |
| LOW | qlib/rl/strategy/__init__.py | 5 | __all__ = ["SingleOrderStrategy"] | CODE |
| LOW | qlib/strategy/base.py | 20 | __all__ = ["BaseStrategy", "RLStrategy", "RLIntStrategy"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/log.py | 172 | except Exception: | CODE |
| LOW | qlib/__init__.py | 163 | except Exception as e: | CODE |
| LOW | qlib/utils/__init__.py | 238 | except Exception as e: | CODE |
| LOW | qlib/utils/file.py | 140 | except Exception as e: | CODE |
| LOW | qlib/utils/mod.py | 90 | except Exception: | CODE |
| LOW | qlib/contrib/model/pytorch_alstm_ts.py | 321 | except Exception as e: | CODE |
| MEDIUM | qlib/contrib/model/pytorch_alstm_ts.py | 318 | def _build_model(self): | CODE |
| LOW | qlib/contrib/model/pytorch_alstm.py | 307 | except Exception as e: | CODE |
| MEDIUM | qlib/contrib/model/pytorch_alstm.py | 304 | def _build_model(self): | CODE |
| LOW | qlib/contrib/data/dataset.py | 174 | except Exception: | CODE |
| LOW | qlib/contrib/strategy/optimizer/enhanced_indexing.py | 173 | except Exception as e: | CODE |
| LOW | qlib/contrib/strategy/optimizer/enhanced_indexing.py | 185 | except Exception as e: | CODE |
| LOW | qlib/workflow/recorder.py | 481 | except Exception as e: | CODE |
| LOW | qlib/workflow/__init__.py | 93 | except Exception as e: | CODE |
| LOW | qlib/data/client.py | 46 | except Exception as e: | CODE |
| LOW | qlib/data/client.py | 85 | except Exception as e: | CODE |
| LOW | qlib/data/cache.py | 236 | except Exception as e: | CODE |
| LOW | qlib/data/cache.py | 533 | except Exception: | CODE |
| LOW | qlib/data/base.py | 194 | except Exception as e: | CODE |
| LOW | qlib/data/data.py | 862 | except Exception as e: | CODE |
| MEDIUM | qlib/data/data.py | 391 | def get_expression_instance(self, field): | CODE |
| LOW | qlib/rl/contrib/backtest.py | 74 | except Exception: | CODE |
| LOW | examples/orderbook_data/create_dataset.py | 94 | except Exception: | CODE |
| LOW | examples/orderbook_data/create_dataset.py | 150 | except Exception as e: | CODE |
| LOW | examples/orderbook_data/create_dataset.py | 238 | except Exception as e: | CODE |
| LOW | scripts/dump_bin.py | 526 | except Exception: | CODE |
| LOW | scripts/check_dump_bin.py | 106 | except Exception as e: | CODE |
| LOW | scripts/data_collector/utils.py | 251 | except Exception as e: | CODE |
| LOW | scripts/data_collector/utils.py | 343 | except Exception as e: | CODE |
| LOW | scripts/data_collector/utils.py | 483 | except Exception as e: | CODE |
| LOW | scripts/data_collector/utils.py | 547 | except Exception as e: | CODE |
| LOW | scripts/data_collector/utils.py | 755 | except Exception: | CODE |
| LOW | scripts/data_collector/base.py | 85 | except Exception as e: | CODE |
| LOW | scripts/data_collector/base.py | 293 | except Exception: | CODE |
| LOW | scripts/data_collector/crypto/collector.py | 39 | except Exception as e: | CODE |
| LOW | scripts/data_collector/crypto/collector.py | 43 | except Exception as e: | CODE |
| LOW | scripts/data_collector/crypto/collector.py | 148 | except Exception as e: | CODE |
| MEDIUM | scripts/data_collector/crypto/collector.py | 35 | def _get_coingecko(): | CODE |
| LOW | scripts/data_collector/br_index/collector.py | 228 | except Exception as E: | CODE |
| LOW | scripts/data_collector/br_index/collector.py | 276 | except Exception as E: | CODE |
| LOW | scripts/data_collector/yahoo/collector.py | 146 | except Exception as e: | CODE |
| LOW | scripts/data_collector/yahoo/collector.py | 239 | except Exception as e: | CODE |
| LOW | scripts/data_collector/fund/collector.py | 127 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | qlib/contrib/strategy/signal_strategy.py | 453 | if not factor_exp.index.equals(specific_risk.index): | CODE |
| HIGH | qlib/contrib/strategy/optimizer/optimizer.py | 90 | assert r.index.equals(index), "`r` has mismatched index" | CODE |
| HIGH | qlib/contrib/strategy/optimizer/optimizer.py | 97 | assert w0.index.equals(index), "`w0` has mismatched index" | CODE |
| HIGH | tests/data_mid_layer_tests/test_handler.py | 18 | self.assertTrue(dh._data.equals(df)) | CODE |
| HIGH | tests/data_mid_layer_tests/test_handler.py | 28 | self.assertTrue(dh_d._data.equals(df)) | CODE |
| HIGH | examples/run_all_model.py | 342 | f"conda install -y --prefix {env_path} anaconda cudatoolkit=10.0 && conda install -y --prefix {env_p | CODE |
| HIGH | scripts/collect_info.py | 14 | `cd scripts && python collect_info.py all` | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | qlib/utils/serial.py | 137 | Load the serializable class from a filepath. Args: filepath (str): the path of file | STRING |
| HIGH | qlib/utils/pickle_utils.py | 179 | Override find_class to restrict allowed classes. Args: module: Module name of the class | STRING |
| HIGH | qlib/utils/pickle_utils.py | 203 | Safely load a pickle file with restricted classes. This is a drop-in replacement for pickle.load() that prevents | STRING |
| HIGH | qlib/utils/pickle_utils.py | 225 | Safely load a pickle from bytes with restricted classes. This is a drop-in replacement for pickle.loads() that prev | STRING |
| HIGH | qlib/workflow/recorder.py | 424 | Load object such as prediction file or model checkpoint in mlflow. Args: name (str): the o | STRING |
| HIGH | examples/benchmarks/TFT/libs/hyperparam_opt.py | 189 | Updates the results from last optimisation run. Args: parameters: Hyperparameters used in optimisatio | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | qlib/contrib/meta/data_selection/net.py | 74 | self.twm.linear.bias.data.fill_(0.0) | CODE |
| CRITICAL | examples/benchmarks_dynamic/DDG-DA/vis_data.py | 49 | pd.DataFrame(meta_m.tn.twm.linear.weight.detach().numpy()).T[0].plot() | CODE |
| CRITICAL | examples/benchmarks_dynamic/DDG-DA/vis_data.py | 51 | pd.DataFrame(meta_m.tn.twm.linear.weight.detach().numpy()).T[0].rolling(5).mean().plot() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/config.py | 161 | "expression_provider": "LocalExpressionProvider", | COMMENT |
| LOW | qlib/contrib/tuner/__init__.py | 1 | # pylint: skip-file | COMMENT |
| LOW | qlib/contrib/rolling/ddgda.py | 441 | # 3) meta model will be stored in `DDG-DA` | COMMENT |
| LOW | qlib/backtest/decision.py | 61 | start_time: pd.Timestamp | COMMENT |
| LOW | qlib/backtest/executor.py | 441 | # - Normally, user will create a strategy and embed it into Qlib's executor and simulator interaction | COMMENT |
| LOW | qlib/data/data.py | 761 | ("value", C.pit_record_type["value"]), | COMMENT |
| LOW | qlib/data/_libs/__init__.py | 1 | # Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | qlib/rl/reward.py | 61 | # weight: float | COMMENT |
| LOW | qlib/rl/reward.py | 81 | # rewards[name] = (rew.reward.build(), rew.weight) | COMMENT |
| LOW | qlib/rl/utils/env_wrapper.py | 101 | seed_iterator: Optional[Iterable[InitialStateType]], | COMMENT |
| LOW | qlib/strategy/__init__.py | 1 | # Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | docs/conf.py | 1 | # Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | docs/conf.py | 61 | # |version| and |release|, also used in various other places throughout the | COMMENT |
| LOW | docs/conf.py | 101 | # a list of builtin themes. | COMMENT |
| LOW | docs/conf.py | 161 | # | COMMENT |
| LOW | examples/benchmarks/TFT/expt_settings/configs.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/expt_settings/__init__.py | 1 | # coding=utf-8 | COMMENT |
| LOW | …amples/benchmarks/TFT/data_formatters/qlib_Alpha158.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/data_formatters/__init__.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/data_formatters/base.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/libs/hyperparam_opt.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/libs/__init__.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/libs/tft_model.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/TFT/libs/utils.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/benchmarks/LightGBM/multi_freq_handler.py | 61 | # close0 open0 low0 ... vwap1 vwap16 LABEL0 | COMMENT |
| LOW | examples/benchmarks/LightGBM/multi_freq_handler.py | 81 | COMMENT | |
| LOW | examples/benchmarks/LightGBM/multi_freq_handler.py | 101 | # fields: Ref(Mean($close, 15), 225), ..., Mean($close, 15) | COMMENT |
| LOW | examples/online_srv/rolling_online_management.py | 141 | COMMENT | |
| LOW | .github/ci/constraints.txt | 1 | # Shared by source and PyPI jobs through an absolute PIP_CONSTRAINT path. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | qlib/contrib/rolling/ddgda.py | 321 | # 1) leverage the simplified proxy forecasting model to train meta model. | STRING |
| MEDIUM | qlib/contrib/strategy/rule_strategy.py | 135 | # 1. Supporting leverage the get_range_limit result from the decision | COMMENT |
| MEDIUM | qlib/contrib/strategy/rule_strategy.py | 303 | # 1. Supporting leverage the get_range_limit result from the decision | COMMENT |
| MEDIUM | qlib/contrib/strategy/rule_strategy.py | 385 | # 1. Supporting leverage the get_range_limit result from the decision | COMMENT |
| MEDIUM | qlib/contrib/strategy/signal_strategy.py | 76 | # 1. Supporting leverage the get_range_limit result from the decision | COMMENT |
| MEDIUM | qlib/contrib/strategy/signal_strategy.py | 144 | # So it only leverage the first col of signal | COMMENT |
| MEDIUM | qlib/contrib/strategy/signal_strategy.py | 299 | # 1. Supporting leverage the get_range_limit result from the decision | COMMENT |
| MEDIUM | qlib/contrib/strategy/optimizer/optimizer.py | 229 | # no shorting and leverage | COMMENT |
| MEDIUM | qlib/backtest/signal.py | 63 | # the latest signal leverage more recent data and therefore is used in trading. | COMMENT |
| MEDIUM | qlib/model/base.py | 18 | """leverage Python syntactic sugar to make the models' behaviors like functions""" | STRING |
| MEDIUM | examples/benchmarks/TFT/libs/tft_model.py | 275 | # Use same value layer to facilitate interp | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | qlib/utils/file.py | 60 | >>> # The following code will create an archive file('~/tmp/test_file') containing 'test_doc_i'(i is 0-10) files | STRING |
| MEDIUM | qlib/utils/file.py | 113 | >>> # The following code is to print all the file names in 'test_unpack.tar.gz' | STRING |
| MEDIUM | qlib/workflow/online/manager.py | 358 | # This method is not implemented in the proper way!!! | COMMENT |
| MEDIUM | qlib/data/dataset/handler.py | 287 | # This method is extracted for sharing in subclasses | COMMENT |
| MEDIUM | tests/test_workflow.py | 12 | # Creating the directory manually doesn't work with mlflow, | COMMENT |
| MEDIUM | docs/conf.py | 8 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | qlib/data/data.py | 794 | # Instead, I'll add a cache for the index file. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/utils/index_data.py | 111 | # Check if all elements in idx_list are of the same type | COMMENT |
| LOW | qlib/utils/index_data.py | 114 | # Check if all elements in idx_list are of the same datetime64 precision | COMMENT |
| LOW | …amples/benchmarks/TFT/data_formatters/qlib_Alpha158.py | 138 | # Set all to str so that we don't have mixed integer/string columns | COMMENT |
| LOW | scripts/data_collector/utils.py | 223 | # Check if response contains valid data | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/data_mid_layer_tests/test_dataloader.py | 32 | # Of course you can use StaticDataLoader | COMMENT |
| MEDIUM | tests/data_mid_layer_tests/test_dataloader.py | 56 | # Then you can use it wth DataHandler; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/workflow/task/manage.py | 485 | def run_task( | CODE |
| LOW | qlib/data/dataset/handler.py | 552 | def process_data(self, with_fit: bool = False): | CODE |
| LOW | tests/security/test_workflow_artifact_trust.py | 173 | def execute_task(func, task_pool=None, *, experiment_name, **kwargs): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/data/ops.py | 1120 | # TODO: implement in Cython | COMMENT |
| LOW | qlib/data/ops.py | 1335 | # TODO: implement in Cython | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/data/data.py | 748 | # NOTE: This class is not multi-threading-safe!!!! | COMMENT |