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 presents the forensic synthetic code analysis of microsoft/qlib, a Python project with 46,211 GitHub stars. SynthScan v2.0 examined 84,435 lines of code across 523 source files, recording 774 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 12.0 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 774 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| 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 | 28 | CODE | |
| LOW | qlib/utils/__init__.py | 28 | CODE | |
| LOW | qlib/utils/__init__.py | 28 | CODE | |
| LOW | qlib/utils/__init__.py | 28 | CODE | |
| LOW | qlib/utils/__init__.py | 35 | CODE | |
| LOW | qlib/utils/__init__.py | 939 | CODE | |
| LOW | qlib/utils/__init__.py | 939 | CODE | |
| LOW | qlib/utils/__init__.py | 939 | CODE | |
| LOW | qlib/utils/__init__.py | 939 | CODE | |
| LOW | qlib/utils/__init__.py | 939 | 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 | |
| 236 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 |
|---|---|---|---|---|
| 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/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 | 359 | 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 | 25 | def get_module_by_module_path(module_path: Union[str, ModuleType]): | 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 | 179 | 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 | 330 | def generate_target_weight_position(self, score, current, trade_start_time, trade_end_time): | CODE |
| LOW | qlib/contrib/strategy/signal_strategy.py | 462 | 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 |
| LOW | qlib/model/riskmodel/shrink.py | 188 | def _get_shrink_param_lw_const_var(self, X: np.ndarray, S: np.ndarray, F: np.ndarray) -> float: | CODE |
| LOW | qlib/model/riskmodel/shrink.py | 205 | def _get_shrink_param_lw_const_corr(self, X: np.ndarray, S: np.ndarray, F: np.ndarray) -> float: | CODE |
| LOW | qlib/model/riskmodel/shrink.py | 231 | def _get_shrink_param_lw_single_factor(self, X: np.ndarray, S: np.ndarray, F: np.ndarray) -> float: | CODE |
| 63 more matches not shown… | ||||
| 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 | 79 | 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 | 44 | CODE | |
| LOW | qlib/contrib/model/pytorch_tra.py | 62 | 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/data/data.py | 927 | CODE | |
| LOW | qlib/data/data.py | 982 | CODE | |
| LOW | qlib/data/dataset/handler.py | 436 | CODE | |
| 20 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 | 71 | CODE | |
| LOW | qlib/utils/__init__.py | 758 | CODE | |
| LOW | qlib/utils/index_data.py | 253 | CODE | |
| LOW | qlib/utils/file.py | 16 | CODE | |
| LOW | qlib/utils/mod.py | 122 | CODE | |
| LOW | qlib/utils/data.py | 70 | CODE | |
| LOW | qlib/contrib/torch.py | 14 | CODE | |
| LOW | qlib/contrib/rolling/ddgda.py | 128 | CODE | |
| LOW | qlib/contrib/meta/data_selection/model.py | 74 | CODE | |
| LOW | qlib/contrib/meta/data_selection/dataset.py | 386 | 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 | 738 | CODE | |
| LOW | qlib/contrib/model/pytorch_tra.py | 176 | 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 | 138 | 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/exp.py | 287 | CODE | |
| LOW | qlib/workflow/record_temp.py | 81 | CODE | |
| LOW | qlib/workflow/task/collect.py | 184 | CODE | |
| LOW | qlib/workflow/task/gen.py | 187 | CODE | |
| LOW | qlib/workflow/task/manage.py | 485 | CODE | |
| LOW | qlib/data/cache.py | 507 | CODE | |
| LOW | qlib/data/cache.py | 952 | 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 | |
| LOW | examples/run_all_model.py | 134 | CODE | |
| LOW | examples/benchmarks/TRA/src/model.py | 566 | CODE | |
| LOW | examples/benchmarks/TRA/src/dataset.py | 219 | CODE | |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/typehint.py | 10 | __all__ = ["Literal", "TypedDict", "final"] | CODE |
| LOW | qlib/utils/__init__.py | 948 | __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/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 | 235 | except Exception as e: | CODE |
| LOW | qlib/utils/file.py | 140 | except Exception as e: | 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 | 436 | except Exception as e: | CODE |
| LOW | qlib/workflow/__init__.py | 92 | 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 | 237 | except Exception as e: | CODE |
| LOW | qlib/data/cache.py | 534 | except Exception: | CODE |
| LOW | qlib/data/base.py | 194 | except Exception as e: | CODE |
| LOW | qlib/data/data.py | 860 | except Exception as e: | CODE |
| MEDIUM | qlib/data/data.py | 392 | 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 | 448 | 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 | 73 | Override find_class to restrict allowed classes. Args: module: Module name of the class | STRING |
| HIGH | qlib/utils/pickle_utils.py | 100 | 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 | 122 | 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 | 414 | 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 | 48 | pd.DataFrame(meta_m.tn.twm.linear.weight.detach().numpy()).T[0].plot() | CODE |
| CRITICAL | examples/benchmarks_dynamic/DDG-DA/vis_data.py | 50 | pd.DataFrame(meta_m.tn.twm.linear.weight.detach().numpy()).T[0].rolling(5).mean().plot() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | qlib/contrib/rolling/ddgda.py | 259 | # 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 | 77 | # 1. Supporting leverage the get_range_limit result from the decision | COMMENT |
| MEDIUM | qlib/contrib/strategy/signal_strategy.py | 145 | # So it only leverage the first col of signal | COMMENT |
| MEDIUM | qlib/contrib/strategy/signal_strategy.py | 300 | # 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 |
|---|---|---|---|---|
| LOW | qlib/config.py | 141 | "expression_provider": "LocalExpressionProvider", | COMMENT |
| LOW | qlib/contrib/tuner/__init__.py | 1 | # pylint: skip-file | COMMENT |
| LOW | qlib/contrib/rolling/ddgda.py | 381 | # 3) meta model will be stored in `DDG-DA` | COMMENT |
| LOW | qlib/contrib/meta/data_selection/dataset.py | 201 | # 2009-01-05 2009-02-06 0.145809 | 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 | ] | 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 |
| 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 | 792 | # 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/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/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 |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | qlib/data/data.py | 746 | # NOTE: This class is not multi-threading-safe!!!! | COMMENT |