Publishing history

This page records user-visible changes for each version of qteasy. You can check the corresponding version before upgrading; for the 2.0 major version, please refer to 2.0 Migration Guide.

2.5.2 (2026-05-24)

  • Trader Shell CLI 可用性
    orders 列表现显示本地订单 ID(id)与券商委托号(broker_id,若有),便于对照 cancel ORDER_ID 撤单或排障。history 仅展示确有成交的记录,未成交或已取消且无成交量的订单不再混入列表。task -l 默认列出排队中的任务(queued),task -l -s alltasks 以与 schedule 一致的表格展示任务 ID、名称、状态与参数;仍可用 task TASK_ID 查看详情、task TASK_ID -c 取消排队任务。brokergatereconcileliveconfig 改为分段键值可读输出(风格接近 overview / config),布尔项以颜色区分;程序化集成请直接调用 Trader API。rotatelogs 执行前预览待删文件并提示确认,非交互环境须加 --yes / -y;别名 rotatelogrotate-logs 仍可用。从命令模式回到 dashboard 时,-r 回放的系统日志条数与设定一致(按逻辑日志条目计数);非 DEBUG 模式下不再因先截物理行再过滤 DEBUG 而明显变少。

  • 券商成交回报(Broker)
    券商 transaction() 回报现支持 4 元组或 5 元组:第 5 项为可选真实柜台委托号。内置模拟券商仍使用 4 元组,与 2.5.1 兼容。修复分段成交时误将本笔成交量当作订单总量校验的问题;5 元组委托号可写入成交结果,供实盘对账与撤单映射。

  • 实盘配置(XtQuant 协作)
    live_trade_broker_typeqt.configure(...) 现允许取值 xtquant(须安装并注册扩展包后方可实际接入;未注册时可能回落为模拟券商)。

  • 文档
    新增英文契约 XtQuant / MiniQMT Broker Adapter Contract v1,说明受理、轮询成交与 5 元组语义及禁止对 QMT 双重下单。

2.5.1 (2026-05-18)

  • Trader Shell dashboard Fixed the issue of system logs being displayed in pairs and repeatedly in the file and on the screen during startup. The countdown and monitoring list data for tasks such as acquire_live_price are now refreshed in place as a single line in the terminal, eliminating the issue of multiple lines remaining or screen refresh.

  • System Log (DEBUG) When real-time market data is refreshed and written, the DEBUG level system log only outputs the first 3 rows and a total number of rows summary of the data table, instead of writing the entire table content. This facilitates viewing and reduces log size. The user-visible prompts remain unchanged in non-DEBUG mode.

  • Dashboard Historical Log Playback When entering the dashboard, multiple lines of system logs (such as policy signal details) are displayed or filtered as entire message, and continuation lines are no longer mistakenly displayed as independent log lines on the screen.

  • Closing Orders (post_close) and Created Orders This update fixes an issue where the closing task misused cancellation logic for orders still in the created state, causing post_close to fail. After the market closes, these unsubmitted orders will be marked as rejected (considered as not processed); submitted submitted / partial-filled orders will still be cancelled according to the original rules and marked as canceled.

Version 2.5.0 (May 17, 2026)

  • Live Trading Trader Stability The core live trading runtime has undergone an architectural upgrade, making it more suitable for long-term unattended operation: Startup, shutdown, and exit paths are unified; the command line and graphical interface no longer have separate background threads; exiting by pressing Ctrl+C is decoupled from the main loop, making shutdown more predictable. Tasks can be queued and canceled; failures can be retried and traced in the system log; trades are committed or rolled back in full on the database side, avoiding inconsistencies caused by partial writes; duplicate processing of the same brokerage report will not result in duplicate account modifications. Before market opening, a startup check (live_trade_startup_gate_mode) can be run according to configuration; failure to pass will prevent automatic order placement by the strategy; in strategy preparation split mode, a point-in-time snapshot is used before strategy execution; if the snapshot is missing or too old, the current strategy will be skipped, and an understandable reason for the skip will be given in the log, rather than a silent failure.

  • Brokerage Acceptance, Reconciliation, and Recovery Diagnosis After successful counter acceptance, local orders can be associated with the brokerage’s order number for easy reconciliation and troubleshooting. The demo account supports configurable random order rejection (a certain percentage is set by default to facilitate verification of rejection paths; examples and tests can be set to 0 to ensure consistent results). Reconciliation checkpoint summaries (cash, holdings, pending order counts, etc.) will be output in the log after market opening and closing for easy retrieval. In DEBUG mode, read-only diagnostics of pending orders (local and counter difference summaries) can be performed via run --task diagnose_pending_orders or in the Shell, excluding automatic order modification or compensation. Periodic automatic reconciliation tasks and automatic difference repair are still future developments.

  • Trader Shell: Operation and Maintenance Commands and Dashboard Without exiting the Trader prompt, you can view the live trading output path, valid live configuration summary, task queue and unqueued tasks, manually run startup checks, print reconciliation snapshot JSON, rotate expired transaction/risk control logs, and view broker connection status, etc.; run --task supports running open/close/diagnostic tasks according to the help instructions; sync / pull-state are reserved for future QMT integration, and will be clearly prompted for now. Upon startup, it defaults to the dashboard, which refreshes the countdown to the next task, the monitoring list, and system messages in a single line; press Ctrl+C to open the menu: 1 Command Mode, 2 Dashboard, 3 Exit; No need to press Enter on the number keys, after 5 seconds of no input, it automatically resumes the previous mode. Pressing Ctrl+C again during the menu waiting period is the same as selecting 3 and will exit normally. Fixed issues such as duplicate logs when returning to the dashboard from command mode, residual status lines, and debug logs still being displayed when debug is disabled; when an unexpected error occurs in the main loop, you can choose to return to the dashboard to continue observing or exit and shut down.

  • Log and Product Maintenance When rotating the transaction log by trade_log_keep_days, expired *.risk.log entries are also cleaned up. The structured runtime records in the system logs facilitate the reconstruction of task execution, reasons for skipping, and reconciliation checkpoints, eliminating the need to piece together context from fragmented English prompts during troubleshooting.

  • Simulated/Live Trading Documentation Expands the live_trading series: configuration and operation, brokerage access, snapshots and startup access control, artifacts and troubleshooting, manual smoke test checklist, and adds a CLI capability matrix (implemented vs. reserved); supplements dashboard/command mode and Ctrl+C menu instructions (§7.1); distinguishes between local risk control rejections and counter acceptance rejections, facilitating smoke test and problem localization according to the checklist.

2.4.5 (2026-05-13)

  • RuleIterator parameter When reading with get_pars / get_data and writing with update_par_values in realize(), multi_pars remains synchronized with regular parameters, and the parameter and the unified parameter can be updated using the same API.

  • Examples and Documentation examples/live_grid.py and examples/live_grid_multi.py consistently use the get_pars / update_par_values syntax. The strategy base class documentation clearly states that the parameters for the subclasses must be dictionaries (with codes as keys), tuples represent a set of parameters shared across the entire pool, and the catch-all key is default (not others).

  • Trader CLI Strategy List In brief list mode, strategies with multi_pars will prompt you to run strategies -d to view the full parsing parameters.

2.4.4 (2026-05-08)

  • Eastmoney Market Data and Intraday Tasks Fixed issues in version 2.4.3: Eastmoney HTTPS market data requests failed in some environments, the intraday catch-up task queue format was incorrect, causing the main loop to crash, and real-time K-line date parsing was abnormal. Restored normal scheduling of watchlist prices and intraday startup.

  • Example Script Corrected the configuration and usage in the live_grid_multi example to avoid unnecessary refill interference during execution.

2.4.3 (2026-05-06)

  • Live Trading Terminal Interface Fixed an issue where the System / Info page would not update or would crash when refreshing the holdings and environment summary.

  • Parameter Hints for Subscripts When the parameter dictionary for a subscript is mistakenly written as a single-element tuple (a common typo involving a trailing comma), the error message is clearer and easier to correct.

  • Live Trading Examples Fixed several usage issues in the official live trade examples.

2.4.2 (2026-04-19)

  • Asynchronous Playback and Position Synchronization When simulating asynchronous playback by a brokerage firm, the script can reliably wait for queued orders and in-transit transactions to be processed, avoiding position delays and duplicate orders caused by judging completion solely based on whether the queue is empty.

  • Real-time Data Source Refresh Minute/hourly real-time candlestick charts are now written to the corresponding data tables by asset type, instead of being uniformly written to the stock table. Live data for funds/indices/futures, etc., is now correctly displayed in the tables.

  • Minute-level Strategy Data Link Fixed a series of issues where live minute-level strategies might not obtain enough intraday data, resulting in more stable intraday signal generation.

2.4.1 (2026-04-18)

  • Intraday Trader Launch Fixed an issue where overdue opening/closing tasks might be replayed in reverse order and the state machine would get stuck in sleeping mode when launching Trader during trading hours; overdue tasks are now queued in chronological order, and launching during intraday trading will correctly catch up to the current market state and continue running strategy and market data tasks.

Version 2.4.0 (2026-04-14)

  • Simulated/Live Trading Infrastructure (S1.3) provides a configurable and testable live foundation: LiveTradeConfig validates runtime configurations; a pluggable RiskManager intercepts insecure orders before submission and provides reasons; and a brokerage adaptation skeleton (connection/order placement/cancellation/polling for execution) prepares for future integration with QMT and other platforms. The artifact list (logs/breakpoints/risk control logs) and CLI/TUI order lifecycle display are clearer.

  • Documentation A new independent live_trading documentation series has been added (Overview, Configuration and Operation, Risk Control and Orders, Brokerage Adaptation, Troubleshooting); tutorials include dual-path simulation examples for stocks and ETFs and S1.3 design specifications; cross-links between the homepage and API make it easier to find live guidance.

2.3.1 (2026-04-11)

  • Trading Log Retention The default setting trade_log_keep_days has been changed to 3 (originally 0): Each time a new Python process imports qteasy, expired CSV files under trade_log_file_path will be cleaned up; setting it to None or 0 or below will disable automatic deletion. The documentation is now aligned with the behavior of “cleaning up at startup, not before each backtest”.

  • Consistency between Live Trading and Backtesting Live trading order generation now includes commission; slippage handling is aligned with backtesting optimizations; FD (ETF/Exchange Traded Fund) asset types are no longer rejected at the Live mode entry point; positive VS signals are consistent with backtesting in Live mode, and small orders below the minimum trading unit are no longer silently discarded.

  • The Data Completion API only performs type inference when the data type name is explicitly passed; passing only the table name and asset_types (such as pre-market refill) will no longer result in an error.

Version 2.3.0 (2026-04-08)

  • Documents and Tutorials The tutorial structure has been reorganized for a clearer learning path; the usage of HistoryPanel and package-level methods has been extended from research and exploration to backtesting workflows; examples have been updated, making common end-to-end paths easier to follow.

  • HistoryPanel Highlighting can be driven by a two-dimensional Boolean mask aligned with the target and date. The same logical condition can be consistently emphasized in views with multiple targets, without the need for manual wiring sequence by sequence.

2.2.9 (2026-03-31)

  • HistoryPanel Research Operators New features include cumulative returns cum_return(), normalization normalize() (with mask support), portfolio portfolio() (equal weight/weighted/grouped and optional benchmark), candlestick chart indicator kline.*(inplace=), one-click preset research_preset() and pagination plot(), column-level DSL assign(), cross-sectional/time-series rank() and zscore(method='cs'|'ts'), and explicit align_to() / resample() to avoid silent misalignment. See HistoryPanel API and the tutorial 2.5-historypanel-data-analysis for details.

  • Operator Semantics Arithmetic operators return a new panel instead of modifying the original data; copy(deep=True) defaults to a deep copy, deep=False shares the underlying data.

2.2.8 (2026-03-30)

  • HistoryPanel Research and Indexing (Destructive) Square bracket indexes return labeled subpanels; support subpanel / to_numpy, column assignment, where() masks, read-only htype attributes (such as panel.close), comparisons to boolean arrays for chained where, and loc timeline selection. Documentation and tutorials explain the differences from pandas and their usage boundaries.

2.2.7 (2026-03-26)

  • Interactive plot highlighting (Q06) hp.plot(..., highlight=...) is available on Plotly interactive line/candle charts; when bi-labels are overlaid, the highlight marker switches with the current primary label.

2.2.6 (2026-03-25)

  • Dual-label interactive chart style The main/secondary sequence is distinguished by line width except for transparency; the style of the FigureWidget and HTML remains synchronized when the main label is switched.

2.2.5 (2026-03-23)

  • Interactive Chart Crosshairs In Plotly interactive charts, clicking on any candlestick will display a solid crosshair (at the center of the bar) on the main chart; the indicator synchronizes with panning/zooming, and automatically hides when the bar scrolls out of the viewport.

2.2.4 (2026-03-22)

  • Restored OHLC Candlestick Chart (Q01) Fixed the issue where plot() could not recognize restored column names such as open|b, causing candlestick chart errors; when both raw and restored columns exist, the candlestick chart prioritizes the raw name OHLC, consistent with the existing price column convention.

  • Interactive Graph X-axis HTML embedded graphs retain the Q03’s X-axis clamp and minimum visible bar width; FigureWidget multi-line graphs listen to the main X-axis and synchronously write to each xaxis*, and translations that go beyond the boundary no longer leave half-screen blank space.

2.2.3 (2026-03-22)

  • Static/Interactive Plot Consistency (P1) OHLC summary header is only displayed when a candlestick panel is present: static plots have a fixed last bar, interactive plots are similar by default and update when the bar is clicked (English labels); Matplotlib and Plotly share a common logical theme, and the legend is inset in the upper left to save horizontal space.

  • When plotly_backend_app is set to interactive=True, you can specify auto (the default, try FigureWidget first, then HTML), FigureWidget, or html.

2.2.2 (2026-03-20)

  • DataSource Compatibility No longer fails when an optional file backend (such as tables/pyarrow); ensures data directory availability when rolling back to csv; hdf5 is used as an alias for hdf; rollback warnings are easier to diagnose.

2.2.1 (2026-03-19)

  • Backtesting NaN Price Fixed the issue of polluting signal analysis and transaction results when the price was NaN (due to suspension, etc.); NaN price levels no longer generate false transactions or fees.

Version 2.2.0 (2026-03-17)

  • Data Visualization The new chart pipeline can automatically generate combined charts such as candlestick charts, volume charts, MACD charts, and line charts from historical data. Multiple indicators and targets can be compared on the same screen without additional code.

  • Interactive Candlestick Charts The Notebook supports zooming, panning, and hovering to view OHLCV and indicators, making it more intuitive to explore price behavior.

  • qt.candle upgrade: The underlying layer integrates a new visualization pipeline, while maintaining API compatibility; Renko is no longer supported, and old interactive widgets are considered legacy.

  • Logs and Transaction Files The system/transaction logs and net asset value curve CSV paths are more predictable, and old files are automatically cleaned up as configured to save disk space.

  • Backtesting Accuracy and Time Grid PT/PS/VS and intraday time grid execution more closely reflect the rhythm of real trading, making portfolio adjustments and intraday scheduling easier to understand.

2.1.4 (2026-03-10)

  • Backtesting Evaluation Corrected the oper_count table in the backtesting report; large-scale backtesting evaluation no longer triggers pandas performance warnings, and the output remains consistent with the original.

  • Data Types and Historical Data Retrieval Several built-in type definitions have been corrected; get_history_data now provides more robust parsing of (dtype, freq, asset_type) combinations, safely merging multiple definitions with the same name and avoiding errors such as empty data or duplicate columns.

2.1.3 (2026-03-09)

  • Generated Filenames Filenames for transaction logs, system logs, data exports, etc., conform to Windows / Linux / macOS requirements, making cross-platform paths more convenient.

  • Net Asset Value Curve When trade_log=True, the complete net asset value curve is saved as value_curve_{name}_{datetime}.csv, in the same directory as trade_log / trade_summary, and rotated by trade_log_keep_days.

  • Backtesting Results and Reports Backtesting results include supplemental pricing information, making the report presentation clearer and the results analysis easier.

2.1.2 (2026-03-08)

  • Backtesting Transaction Price: Comma-separated asset pool strings are handled correctly; the transaction price column is aligned with the entire pool, and backtesting can still run even when adjusted for stock splits or when some assets are missing data.

  • Historical Data Retrieval Invalid type names throw a ValueError and list unmatched items (hint qt.define()); the deprecated parameter htypes only overrides htype_names when explicitly passed.

  • Backtesting Results Chart Title The chart title includes the Operator name and backtesting time, to facilitate correspondence with the trade_log / trade_summary files.

  • Error Message Corrected a spelling error in the DataType missing column message.

2.1.1 (2026-03-07)

  • Backtesting Report Fees Fixed the issue where the “Total operation fee” in the daily evaluation report was always 0: total_fee is now consistent with the sum of fees for each trade in the trade_log.

  • Transaction Log Rotation A new configuration trade_log_keep_days has been added to automatically delete expired trade_log_*.csv and trade_summary_*.csv files based on the number of days they are kept, preventing the log directory from growing indefinitely.

Version 2.1.0 (2026-03-06)

  • The Process Data API strategy allows access to runtime cash, holdings, and transactions within realize() via methods such as get_data('proc.own_cash') and get_data('proc.trade_records'), without requiring declaration in data_types. Backtesting is consistent with live injection, strictly without look-ahead.

  • Dynamic Backtesting Path The strategy source code automatically performs step-by-step backtesting when proc.* is used; otherwise, it still uses batch signals + vectorized backtesting, without the need for manual declaration.

  • Live trading process data The dynamic data strategy can also be used in Trader with get_data('proc.xxx'), consistent with the backtesting API.

  • Removal of legacy op_ types* op_cashes and other op_* DataTypes have been removed. Please use the procedural data API instead. See 2.0 Migration Guide for details.

  • Pandas Frequency Aliases Compatible with frequency aliases before and after Pandas 2.2 (e.g., M/ME, H/h), reducing cross-version frequency mismatch warnings.

2.0.1 (2026-03-05)

  • Document Supplementing the overall architecture and design description.

  • Backtesting Evaluation Frequency The evaluation table and equity curve are calculated on a daily basis, regardless of the strategy’s operating frequency.

  • Configuration Cleanup Remove price_priority_OHLC and price_priority_quote, which are no longer meaningful.

  • Backtesting Transaction Price and Scheduling Fixed the failure to obtain transaction price in some scenarios; the default running timetable for hourly/minute backtesting no longer includes the opening time; the adjustment method for transaction price and evaluation price is now unified.

  • PT / PS / VS Semantics PT reuses synchronous cash repositioning as much as possible under T+0 cash settlement; PS/VS maintains basic order semantics, and abandons the order if resources are insufficient.

Version 2.0.0 (2026-02-27)

  • 2.0 Major Version features a major upgrade to the architecture and API, providing more flexible multi-strategy, multi-frequency, multi-window, and optimization capabilities. **Please read the 2.0 Migration Guide before upgrading.

  • Operator / Strategy / Group introduces Parameter and Group: parameters can be set separately for each target; strategy groups can each be configured with their own running frequency, timing, and signal mixing; the running schedule is more granular; tracing can be written to the trade log; and the optimization algorithms and evaluation metrics are richer.

  • DataType supports asset types ANY; StgData simplifies strategy data declaration.

  • Removal of Configuration Items maximize_cash_usage, benchmark_asset_type, and benchmark_dtype have been removed. The logic is inferred from the execution flow and benchmark_asset. See the guide for migration details.

Version 1.4.11 (February 14, 2026)

  • 2.0 Deprecation Notices FutureWarnings will be issued for APIs that will be removed or changed in 2.0, facilitating early migration: get_history_data(htypes=...)htype_names and suffixes (e.g., close:b); print_trade_log / print_backtest_logtrade_log; get_table_map()get_table_master(); broker randomsimulator; Trader info(verbose=...)detail; and changes to Operator.op_type, op_data_freq, get_share_idx(), etc.

1.4.10 (2025-12-19)

  • Performance Optimization Fixed the issue of low performance of Algorithm 2 when running in multiple processes on some systems.

Version 1.4.9 (2025-03-11)

  • Trader Logs and Transactions Fixed duplicate logs in live mode; conflicting writes of two transactions with the same underlying asset almost simultaneously; occasional incorrect timestamp market data causing NaN in the strategy; insufficient data window on Monday morning; weekly refill now automatically completes every Friday evening.

1.4.8 (2025-03-01)

  • Trader CLI refill The new refill command and run --task refill command allow manual completion of data source tables within the shell.

  • Automatic refill Fixed an issue where automatic data source completion failed in live mode.

1.4.7 (2025-02-26)

  • Live refill configuration Added live_trade_daily_refill_tables, live_trade_weekly_refill_tables, and live_trade_monthly_refill_tables, which can specify the tables to be filled by day/week/month in live mode.

  • Stability Fixed issues such as configuration being overwritten in transaction mode, DataSource.all_basic_tables returning incorrect values, and CLI schedule failing to print the current task.

1.4.6 (2025-02-19)

  • refill_data_source Tables that are unavailable in the current channel will be skipped and a warning will be issued; this fixes the issue of duplicate downloads writing duplicate data.

1.4.5 (2025-02-18)

  • Live Candlestick Storage Fixed an occasional write error to candlesticks in live mode.

  • Fund Quotes Eastmoney channel supports minute and daily K-line pricing API for funds.

1.4.4 (2025-02-12)

  • Simulated Brokerage and Trader: Fixed issues with real-time price retrieval in some scenarios; improved alignment between historical data index and opening time; and enhanced formatting and stability of the Eastmoney trading platform.

1.4.3 (2025-02-11)

  • Live Market Data Channels Fixed an issue where Trader would occasionally retrieve live prices from the wrong channel and fail to write them to the data source.

  • refill_data_source Added optional parameter to control whether to download the dependency table.

1.4.2 (2025-02-07)

  • Dependencies dbutil and pymysql are now required dependencies; warnings for missing optional dependencies have been fixed.

1.4.1 (2025-02-06)

  • Data Quality Fixed issues such as occasional errors in retrieving adjusted prices, errors in DataType kwargs with parameters, and the lack of valid trading time for real-time candlestick indexes.

  • refill_data_source channel and data_source are optional and require additional validation.

Version 1.4.0 (2025-02-05)

  • DataType System The new DataType class simplifies local data retrieval; names can use the | parameter (e.g., close|b followed by adjusted closing price).

  • Data Channels The new data_channel module supports multiple online sources; more predefined data tables and real-time pricing APIs.

  • Deprecated The old adj parameter and wt_000300.SH syntax are still compatible, but it is recommended to use the new dtype syntax. See the documentation for details.

Version 1.3.12 (2024-12-18)

  • Trader TUI/CLI Logs RESULT DELIVERY quantity display is truncated to 2-3 decimal places; a timestamp is added to the system log panel; the TUI system information panel displays environment information.

Version 1.3.11 (2024-11-03)

  • Startup Configuration Fixed an issue where pure numeric strings were not parsed correctly in the startup configuration file.

Version 1.3.10 (2024-09-03)

  • Dependencies and Fonts Updated the database to deprecate pandas syntax and version requirements; added configuration of Chinese fonts for candlestick charts based on operating system (ZH_font_name_MAC/WIN/LINUX).

  • Startup Configuration API Added get_start_up_settings() and start_up_config; corrected the Live Trader help information.

Version 1.3.9 (2024-09-01)

  • Startup Configuration update_start_up_setting() performs validity checks on Qt configuration keys; start_up_settings() output and return value improvements; retains the description header when writing to a file.

Version 1.3.8 (2024-09-01)

  • Startup Configuration Files Added read/write startup configuration functions start_up_settings(), update_start_up_setting(), and remove_start_up_setting().

  • TUI Order Placement Fixed the error handling for TUI buy and sell order input.

Version 1.3.7 (2024-08-31)

  • TUI Trading supports manual buying, selling, and order cancellation via keyboard shortcuts; a new trading log table has been added.

Version 1.3.6 (2024-08-25)

  • CLI orders orders correctly filters the targets; --time all/a takes effect.

  • CLI summary Added summary to display transaction operations for a specified time period in a readable format.

Version 1.3.5 (2024-08-22)

  • Trader State Persistence Saves the most recently run state upon exiting, and can be restored upon re-entering.

  • delete_account() Deletes the transaction log, records, and breakpoint files when deleting an account.

1.3.4 (2024-08-17)

  • Demo brokerage adds a retry and cancellation feature when there is no live price, reducing the order failure rate.

  • Grid Example Fixed the issue of writing NaN price to strategy parameters in the example.

1.3.3 (2024-08-16)

  • Buy at Zero Price Fixed an issue where Live might be bought at zero price when it has no price.

  • Pandas 2.2 frequency alias compatibility, avoiding FutureWarning.

1.3.2 (2024-08-13)

  • Windows K-line Font Fixed the Chinese font name for candlestick charts under Windows.

1.3.1 (2024-08-13)

  • CLI debug A new debug command has been added to switch debug mode.

  • Custom Price Improved CLI monitoring price display and fixed display failure; Windows font names have been corrected again.

Version 1.3.0 (2024-08-09)

  • Example Run The -r option allows you to specify an account when clearing orders, instead of clearing all accounts.

  • Settlement and Logs Cash settlement records for sales are now clearer; errors in trade log cash/position records, abnormal buy settlements, empty data extraction, and several boundary issues with CLI CHANGE have been fixed.

1.2.15 (2024-07-28)

  • Built-in Strategies Added built-in strategies and documentation for ATR and OBV.

1.2.14 (2024-07-12)

  • Built-in Strategies Update AD and ADOSC, correct implementation and supplement docstring.

1.2.13 (2024-06-19)

  • Built-in strategy query: built_ins() always returns an ID → type dict, with fuzzy matching for incorrect IDs; built_in_list() / built_in_strategies() provide behavior alignment; a new built_in_doc() returns a strategy docstring.

1.2.12 (2024-06-12)

  • T+0 Cash Sale The cash proceeds from the sale of shares can be immediately credited to available cash.

  • Order Cancellation and Table Information Unfilled orders are now correctly cancelled at the end of the day; the issue of failing to retrieve table information under Windows has been fixed.

1.2.11 (2024-06-09)

  • Data Source The default data source type to fall back to when a MySQL connection fails.

  • TUI Custom Selection Fixed a bug in watch list management.

1.2.10 (2024-06-07)

  • TUI Custom Selection Ctrl+A to add, Ctrl+R to remove from custom selection; Add/Exit confirmation dialog box; Minor interface adjustments.

1.2.9 (2024-06-03)

  • Live Getting Started Supplementary live initialization help and docstring.

1.2.8 (2024-06-02)

  • UI Selection The command line -u must explicitly specify either tui or cli.

  • Account Configuration Rename live_trade_account to live_trade_account_name for more complete help information.

  • qt.candle can still generate candlestick charts even without TA-Lib installed.

1.2.7 (2024-05-30)

  • Data refill Fixes an issue where refill fails when the transaction calendar is missing.

1.2.6 (2024-05-07)

  • System Tables Fixed an issue where the last record id of the system table could not be read in some scenarios.

1.2.5 (2024-05-06)

  • HistoryPanel fixes a recursive import issue.

1.2.4 (2024-05-05)

  • Built-in Strategies Fixed bugs in strategies such as MACDEXT, WILLR, AROONOSC, and SLPHT.

1.2.3 (2024-04-30)

  • Version Display Fixed the error in displaying __version__ (which previously displayed 1.2.1).

  • Download progress The progress bar information for tushare refill has been corrected.

1.2.2 (2024-04-29)

  • Performance Fixed an occasional extremely slow issue when TA-Lib was not installed; fixed the RuleIterator policy escaped failure.

  • Live Accounts qt.live_trade_accounts() can be used to view all Live accounts.

1.2.1 (2024-04-25)

  • Packaging Fixed the issue where style files were not included in the package in version 1.2.0.

  • The Live Accounts API now includes live_trade_accounts(), which returns details for each account.

  • CLI Corrected the trade info format; improved live-related configurations.

Version 1.2.0 (2024-04-25)

  • Trader TUI adds a new terminal UI, offering a choice between Trader Shell (live_trade_ui_type); includes built-in light/dark themes; displays accounts, positions, orders, and logs; and allows Ctrl+P / Ctrl+R to pause and resume.

1.1.11 (2024-04-20)

  • refill_data_source supports batch downloads with adjustable batch size and interval.

  • Configuration Error Prompts The error messages are now more user-friendly when configuring keys with invalid values.

1.1.10 (2024-04-19)

  • tushare Retry Fixed an issue where tushare automatic retry configurations were not working.

Version 1.1.9 (2024-04-09)

  • Minute Data Fixed occasional errors in local minute data extraction; improved compatibility.

1.1.8 (2024-04-05)

  • Python 3.9–3.12 Extended support; compatible with pandas 2.2.1, numpy 1.26.4, and numba 0.59.1; fixed strategy optimization failures in 3.10+; improved several error messages.

1.1.7 (2024-04-03)

  • Python Version Officially supports Python 3.9 to 3.12 for installation and operation.

1.1.4 (2024-03-30)

  • Dependency Conflicts Adjusted numba/numpy version constraints; slightly improved initial load warnings; fixed pandas > 2.0 compatibility issues; optimized performance warnings for Algorithm 2 under certain numpy/numba combinations.

1.1.3 (2024-03-25)

  • Backtest Results The backtest returned a dictionary with the added keys trade_log, trade_records, and full_histories for easy access.

1.1.2 (2024-03-18)

  • The CLI dashboard dashboard --rewind allows you to view saved logs.

  • The CLI buy/sell submission results are printed more clearly.

1.1.1 (2024-03-16)

  • Live System Logs Different live instances write to different system log files; it also supports reading information from live/system log files.

Version 1.1.0 (2024-03-08)

  • Trader Shell Parameter Parsing Full command support for --parameter / -p style and -h / --help; improved error messages and usage instructions. watch now supports -r to remove and -c to clear; buy / sell uses -p for price and -s for direction; info / overview adds --system; orders adds status/time/side/type filtering; config supports -s for setting and -l for hierarchy; strategies supports --set-par; run supports --args for passing task parameters.

1.0.27 (2024-03-05)

  • Database Reads Remove the pandas SQL read path to avoid the UserWarning from SQLAlchemy required by higher versions of pandas.

1.0.26 (2024-02-29)

  • Live Logs Live transaction logs are written to the system log file and are distinguished by the account number.

1.0.25 (2024-02-28)

  • Live trade_log file Saves the trade log file to trade_log_file_path in live mode; includes several live bug fixes and error message printing.

Version 1.0.24 (February 18, 2024)

  • Broker Returns Fixed an issue since version 1.0.18 where incomplete broker merging caused live order failures.

1.0.23 (2024-02-15)

  • filter_stocks / candle Fixed an issue where a type conversion error caused filtering and candlestick charts to fail.

1.0.22 (2024-02-14)

  • get_config / candle Fixed a date parsing error in the list; truncated progress bar text to screen width; get_stock_info() can now run without all underlying tables.

1.0.21 (2024-02-11)

  • Stability Several bugs have been fixed.

1.0.20 (2024-02-08)

  • TA-Lib-Free Indicators Corrected the implementation of EMA, MACD, TRIX, and DEMA without ta-lib. The results are slightly different from the ta-lib version, but still usable.

Version 1.0.19 (2024-02-07)

  • TA-Lib-Free RSI, MA, and BBANDS no longer depend on ta-lib, and candlestick charts can be drawn without ta-lib; lowering the dependency threshold for beginners.

1.0.18 (2024-02-05)

  • Trader Shell Messages Order completion display includes changes in share quantity and cash; INFO/OVERVIEW no longer prints system information by default; NumPy version update required.

1.0.17 (2024-01-29)

  • CLI run allows you to run strategies on the main thread for easier debugging.

  • Live Price Quotes Fixed an issue where live price retrieval failed when the frequency of operation was less than 1 hour.

1.0.16 (2024-01-27)

  • Order Placement Failure Not Notice This message will appear when you are unable to place an order in Live Mode due to insufficient cash/position.

  • Transactions and Costs Fixed issues such as errors in available quantity/cash due to duplicate transaction processing, cost calculation errors, and cost errors for multiple targets in the history command; fixed issues such as unexpected data entry on non-trading days (#85).

Version 1.0.15 (2023-12-29)

  • Index & ETF Live Supports monitoring index/ETF live prices; live trading targets support both ETFs and indices.

Version 1.0.14 (2023-12-22)

  • Dependencies Remove optional SQLAlchemy; increase maximum retries before stopping execution on the broker.

Version 1.0.13 (2023-12-21)

  • Trader Shell Command Mode: Use the up and down arrow keys to navigate through history; Add buy/sell manual order placement; Live price is retrieved via a background thread.

  • Simulator Broker Returns simulated trades at the live price; fixes order blocking issues.

1.0.12 (2023-12-07)

  • Visual and Live Price UI improvements; Live price background thread prevents main loop lag; Live price can be displayed even in non-local time zones; Monitoring refresh interval is configurable.

1.0.11 (2023-12-03)

  • Shell parameter styles Support the new styles --parameter / -p (the old styles will be deprecated).

  • Live Configuration allows configuring broker parameters and timezone; ta-lib is now optional, but some built-in strategies are still available even without ta-lib.

1.0.10 (2023-11-25)

  • Reference Data Fixed the “reference None” error that was a legacy issue from version 1.0.9.

  • The default value of backtest_price_adj should be changed to none.

Version 1.0.9 (2023-11-24)

  • Reference Data Corrected the logic of reference generation and injection strategy.

  • Documentation Documentation improvements.

Version 1.0.8 (2023-11-22)

  • Trader Shell now relies on rich for message coloring; documentation published to Read the Docs; qteasy.__version__ added.

Version 1.0.7 (2023-11-11)

  • Strategy adds use_latest_data_cycle to control whether to use the latest price to generate signals.

  • Shell watch Added watch for real-time price monitoring; Shell displays stock names; Eastmoney Live price channel.

Version 1.0.6 (2023-10-19)

  • Shell config Adds the config command.

  • FUND supports FUND as an investment type.

Version 1.0.0 (2023-09-19)

  • First PyPI Release qteasy is the first official version that can be installed and used on PyPI.