RELEASE HISTORY

1.4.9 (2025-03-11)

Bug fixes:

  • Fixed problem in trader logger that causes duplicated logs in live trade mode

  • Fixed a bug in trader: when two trade results are generated at nearly the same time for the same position, the results will be wrongly recorded in the database due to data recording conflicts

  • Fixed a bug in trader that very occasionally price data with wrong timestamp will be returned and may cause NaN values output from strategies for some symbols.

  • Fixed a bug that strategy will not get enough extracted data to run in live trade mode in some cases on Monday morning due to not mis-calculation of date offset due to weekends.

  • Corrected automatic datasource refill timing for weekly data refilling, now it will refill data every Friday evening

1.4.8 (2025-03-01)

New features:

  • Added a new CLI command in trader CLI: refill, to manually refill datasource tables in trader CLI

  • Allowed users to manually refill datasource table with trader CLI command run with parameter --task refill Bug fixes:

  • Fixed a bug that will lead to failure of automatic datasource refilling in trader

1.4.7 (2025-02-26)

New features:

  • Added configuration settings: live_trade_daily_refill_tables, live_trade_weekly_refill_tables, live_trade_monthly_refill_tables, to allow users to set up tables to be refilled in live trade mode Fixed bugs:

  • Sometimes the configure settings might be overwritten unexpectedly in trading mode

  • DataSource.all_basic_tables will not return correct tables in some cases

  • CLI command schedule fails to print out current scheduled tasks in trader shell

1.4.6 (2025-02-19)

  • Improved function qt.refill_data_source(), now it will skip the tables that are not available from current channel and provide a warning message

  • Fixed a bug that will sometimes result in duplicated data being refilled from channels while running qt.refill_data_source()

1.4.5 (2025-02-18)

  • Fixed a bug that may cause incorrect k-line data being stored in the datasource when running in live trade mode

  • Added APIs to get minute level and daily candle bar price data for funds from channel “eastmoney”

1.4.4 (2025-02-12)

  • Fixed bugs:

    • Simulator broker and Trader module in live trade mode might fail to fetch real time price data in some cases

    • Sometimes the historical data extracted from datasource are not re-indexed to exactly matching the stock market open time.

    • Corrected the data formats and errors downloaded from channel eastmoney, improved error handling and stability

1.4.3 (2025-02-11)

  • Fixed a bug: Trader might fail to acquire live prices from correct channel and may fail to save the prices to datasource due to channel updates

  • Improved refill_data_source(): added an optional parameter: refill_dependent_tabes: bool = True, to give user control if dependent tables are downloaded

1.4.2 (2025-02-07)

  • Added dbutil as mandatory dependency, and moved pymysql also as mandatory, removed optional dependencies as database

  • Fixed a bug: warnings showing missing of some dependencies are not properly displayed.

1.4.1 (2025-02-06)

  • Fixed bugs:

    • sometimes the back-adjusted prices are not properly get from data source

    • sometimes data types with parameters will not set correct parameter into the kwargs, and will cause problem

    • sometimes the realtime kline data will have no valid trade time in index

  • Improvement:

    • Improved function refill_data_source, made parameters « channel » and « data_source » optional and provided type and validity check

1.4.0 (2025-02-05)

  • New features:

    • A new DataType class has been introduced, making it much easier and more flexible to utilize historical data stored in local datasources

    • Now datatypes can be defined with parameters followed by a « | » in its name, like « close|b » represents « back adjusted close price ».

    • A new data_channel module has been defined for qteasy, allowing users to download data from different online sources

    • More data tables are defined to store more types of financial historical data.

    • Enhanced real-time price data acquisition APIs, allowing real-time data been downloaded from different sources

    • More introduction to above new features can be found in qteasy documents.

  • Deprecated

    • The old way of extracting adjusted price data with parameter « adj » is deprecated, although still supported, now adjusted prices can be acquired with datatypes with parameter like « close|b » or « open|f »

    • The old way of getting composition data, « wt_000300.SH » is deprecated and replaced by datatype with parameter: « wt_idx|% » where % is any index code

    • More introductions to the new datatypes can be found in qteasy documents.

1.3.12 (2024-12-18)

  • Improved Log information and print outs in trader TUI and CLI:

    • excessive digits of amount changes are now truncated to 2 or 3 digits in trader CLI for RESULT DELIVERY

    • added timestamp before all system logs on the system log pane

    • added system environment information in TUI system info panel

1.3.11 (2024-11-03)

  • fixed a bug: pure digit strings are not properly parsed from start up configuration file

1.3.10 (2024-09-03)

  • removed deprecated pandas syntax from database.py and updated version requirements

  • added qt level configure keys for Chinese font names in candle chart for different Operating systems respectively:

    • ZH_font_name_MAC / ZH_font_name_WIN / ZH_font_name_LINUX

  • added qt function and attributes:

    • get_start_up_settings()

    • start_up_config

  • corrected help messages for live trader users

1.3.9 (2024-09-01)

  • Added setting key validation in qt.update_start_up_setting() to prevent from invalid values if the key is in qt_config_kwargs

  • improved print outs and return values of qt.start_up_settings()

  • improved the way the start up setting file is written to always keep intro messages

1.3.8 (2024-09-01)

  • Added new features: now qteasy has multiple functions to access and modify start up setting file:

    • Added new function qt.start_up_settings(), to access and print contents of start up settings file

    • Added new function qt.update_start_up_setting(), to modify start up settings file

    • Added new function qt.remove_start_up_setting(), to remove settings from the file

  • Fixed bugs in trader TUI buy and sell orders, added error handling for wrong inputs

1.3.7 (2024-08-31)

  • Added features in trader TUI:

    • Added commands and short-cuts to manually place buy and sell orders

    • Added commands and short-cuts to cancel submitted orders

    • Added a new data table to display trade logs

1.3.6 (2024-08-25)

  • Fixed bugs in command orders in trader CLI:

    • now orders command selects symbols correctly

    • now parameter --time works with value “all” or “a”

  • Added new command summary that displays trading operations in given period in human readable way

1.3.5 (2024-08-22)

  • Added new feature: now trader will save the latest operation status on the dist while exit, and will restore the status when re-enter

  • Improved delete_account() function, now it will delete all account related files, including trade logs, trade records, and trader break points

  • Other bug fixes and optimizations in trader

1.3.4 (2024-08-17)

  • Improved Live trade broker, added retry count before canceling submitted orders when live price is not available, reduced chance of order filling failure

  • Corrected a mistake in grid trading example files, nan prices are now not written to strategy parameters

1.3.3 (2024-08-16)

  • Fixed a bug that will cause buying stock with 0 price when live prices are not available

  • Added freq alias support for pandas version >= 2.2.0, to prevent from FutureWarning raised by pandas

1.3.2 (2024-08-13)

  • Corrected Font name in candle chart in Windows environment

1.3.1 (2024-08-13)

  • Added trader CLI command debug, to set or toggle debug mode while trader is running

  • Fixed and improved watched prices in trader CLI

  • Fixed a bug that may lead to failure displaying watched prices in trader CLI

  • Corrected a font name issue in candle chart in Windows environment

1.3.0 (2024-08-09)

  • New Feature:

    • Running example strategy files with parameter -r can now remove orders only for designated account, instead of all accounts

  • Improvements and bug fixes:

    • Improved live trade log, Now delivery records for selling stocks are also displayed in a new line

    • Now delivery records are clearer shown

    • Fixed a bug that may cause wrong stock or cash change in trade logs

    • Fixed a bug that causes buying results not being delivered properly

    • Fixed a bug that sometimes empty data will be extracted even with valid data id from system datasource tables

    • Fixed a few bugs that will lead to error in CLI command CHANGE:

      • Prevented from acquiring latest price when only cash is to be changed

      • Ensured symbol be given when changing quantity of a stock

1.2.15 (2024-07-28)

  • Added new built-in strategies: ATR and OBV, with docstrings

1.2.14 (2024-07-12)

  • Updated Built-in Strategy AD and ADOSC, corrected mistakes, added docstring and optimized realization

1.2.13 (2024-06-19)

  • Changed function qt.built_ins(), now it always return a dict of id and type of built-in strategies, and if incorrect strategy id is given as argument, it returns all fuzzy matched strategy ids

  • Changed function qt.built_in_list() and qt.built_in_strategies(), now they return list of strategy ids and strategy types, respectively; and return fuzzy matched strategy ids for incorrect strategy id given as argument

  • Added new function qt.built_in_doc(), to return the docstring of a built-in strategy

1.2.12 (2024-06-12)

  • Fixed a bug, now cash gained by selling stocks can be delivered immediately to update available cash amount.

  • Fixed a bug, now unfilled orders can be correctly canceled after each trading day

  • Fixed a bug that might lead to failure of getting table information in Windows environment

1.2.11 (2024-06-09)

  • Fall back to default data source type if mysql connection fails

  • Fixed a bug in tui watch list management

1.2.10 (2024-06-07)

  • Now symbols can be added to or removed from the watch list in the live trader TUI, with two added short cuts: ctrl+a to add and ctrl+r to remove

  • Dialogs are now added to the live trader TUI to accept user inputs for adding symbols to the watch list, as well confirming to quit the App

  • Slightly adjusted the appearance of live trader TUI

1.2.9 (2024-06-03)

  • Added more help information and docstrings for user to initialize live trades

1.2.8 (2024-06-02)

  • Changed argument « -u » in qt_argparser, now either « tui » or « cli » should be specified to choose ui type

  • qt parameter « live_trade_account » is now renamed to « live_trade_account_name », and more help info is provided to guide users to set up live trade accounts in live trade mode

  • Fixed a bug in qt.candle() that will fail to create candle charts when TA-lib is not installed

1.2.7 (2024-05-30)

  • Fixed a bug in database that may cause data refill failure when trade calendar is not available in some cases

1.2.6 (2024-05-07)

  • Fixed a bug in data source that causes failure of getting the last record id from system tables in some cases

1.2.5 (2024-05-06)

  • Fixed a bug in HistoryPanel that causes recursive importing

1.2.4 (2024-05-05)

  • Fixed bugs in built-in strategies: MACDEXT, WILLR, AROONOSC, and SLPHT

  • Updated test cases for built-in strategies

1.2.3 (2024-04-30)

  • Corrected a mistake in version 1.2,2: “1.2.1” will be displayed when running qteasy.__version__

  • Fixed a bad information displayed with progress bar while downloading data from tushare with refill datasource

1.2.2 (2024-04-29)

  • Fixed a bug that causes abnormally low speed in some cases if TA-LIB is not installed

  • Fixed a bug that causes escaped failure in some cases when strategy is based on RuleIterator

  • Now it is possible to view all live accounts with qt.live_trade_accounts()

1.2.1 (2024-04-25)

  • Corrected a build mistake in version 1.2.0, which caused style files not being included in the package

  • Added new qt level function: live_trade_accounts() to get detailed information of all accounts for live trading

  • Corrected a mistake in trader CLI of wrong formatting of trade info

  • Improved help information for live trade related configurations

1.2.0 (2024-04-25)

  • New feature added: Now qteasy has a new Terminal UI for live trading, thus users can choose from one of the two UIs for live trading: the Trader Shell or the TUI

    • A new configure key qt.config['live_trade_ui_type'] is added to allow users to choose between the two UIs for live trading

    • The new TUI has built in light mode and dark mode themes, and is more user-friendly for users who are not familiar with command line interfaces

    • The new TUI displays live status of the account, on hand stocks, historical order, and live operation logs

    • Use Ctrl=P and Ctrl+R to pause and resume the live trading process

1.1.11 (2024-04-20)

  • Improved function refill_data_source, allowed data being downloaded in batches that are adjust-able in size and intervals in between

  • Improved error messages raised by qt when wrong values are set to configuration keys, providing better guidance for users

1.1.10 (2024-04-19)

  • Fixed a bug that causes not taking effect the configuration that are related to automatic retries in data acquiring from tushare

1.1.9 (2024-04-09)

  • Fixed a bug that might cause error extracting minute level data from local data source

  • Improved compatibilities

1.1.8 (2024-04-05)

  • Improved compatibility for higher versions of python from 3.9 up to 3.12

  • Improved compatibility for higher versions of pandas (v2.2.1), numpy (1.26.4), and numba (v0.59.1)

  • Fixed a bug that will cause failure of strategy optimizations in python 3.10 and above

  • Corrected and improved a few error messages

1.1.7 (2024-04-03)

  • Now qteasy can be installed in higher versions of python from 3.9 up to 3.12

1.1.4 (2024-03-30)

  • Updated version restrictions on dependencies, to solve the version conflicts between numba and numpy.

  • Slightly improved warning information when loading qteasy for the first time.

  • Fixed a few bugs that will cause compatibility issue with pandas > 2.0

  • Added performance warnings for strategy optimization method 2 when some numpy and numba versions will cause performance degrade in multiprocessing

1.1.3 (2024-03-25)

  • now trade_log, trade_records, full_histories are added to the results returned from backtest run, and can be accessed by res['trade_log'], res['trade_records'], and res['full_histories']

1.1.2 (2024-03-18)

  • New parameter --rewind is now added to command dashboard, to allow users to view previously saved logs when switched to dashboard mode.

  • Added more information print-outs for command buy and sell, to show if orders are submitted successfully.

1.1.1 (2024-03-16)

  • corrected system log for live trade, now different live trade instances will log to different files

  • added capability of reading info from live trade log files and system log files

1.1.0 (2024-03-08)

  • New feature: The QTEASY shell is now parsing command arguments in a better and more intuitive way:

    • Now all commands support --parameter / -p style parameters, same way as all other CLI tools

    • All commands now support --help and -h to show help messages, are now fully documented in the shell help message

    • All commands now have better error handling and usage messages when wrong arguments are given

    • All commands are now thoroughly tested and debugged

    • Arguments of some commands are now re-designed and re-organized to be more intuitive and easier to use:

      • watch command now supports --remove / -r to remove symbols from watch list, and --clear / -c to clear the list

      • buy and sell commands now uses --price / -p to specify price, and --side / -s to specify position side

      • info and overview commands now support new argument --system to show system info, and verbose will be replaced by detail in future versions

      • history command now accepts explicit argument all to show all history

      • orders command now accepts order filter arguments with optional tags --status, --time, --side, and --type

      • config command now support --set / -s to set configurations, and set view levels with count of --level / -l

      • strategies command now supports --set-par to set strategy optimizable parameters, and to be implemented: possible to set blenders with --blender and --timing

      • run command now supports running tasks with arguments given with optional flag --args / -a

      • orders command now works with new optional arguments for time, type, side and status in more logical way

1.0.27 (2024-3-5)

  • Removed dependency on pandas to load dataframes from database, which will arouse UserWarnings in higher versions of pandas, requesting users to install sqlalchemy

1.0.26 (2024-2-29)

  • Now live trade logs are kept in system log files, live logs are saved in the same file, with different account number as prefix

  • Fixed bugs

1.0.25 (2024-2-28)

  • Now trade logs are saved in a file in live trade mode, the file is saved in the same directory as set in qt.config['trade_log_file_path']

  • Fixed a few bugs in live trade mode, and added information print-outs on errors

1.0.24 (2024-02-18)

  • Corrected a mistake introduced since version 1.0.18, with wrongly merged incomplete and untested features in broker. this bug will cause failure of execution orders in live trade mode.

1.0.23 (2024-02-15)

  • Fixed a bug that will cause wrong type conversion when filtering stocks with qt.filter_stocks() and creating candle charts with qt.candle()

1.0.22 (2024-02-14)

  • Fixed a mistake in qt.get_config and qt.candle() that interprets wrong list dates in basic data

  • Improved progress bar: trim the text to screen width

  • Allows qt.get_stock_info() to run without all basic tables being downloaded

1.0.21 (2024-02-11)

  • Fixed bugs

1.0.20 (2024-02-08)

  • Fixed mistakes in ta-lib compatible functions EMA(), MACD(), TRIX(), and DEMA(), now they can be used without ta-lib installed, although the results are slightly different from their talib versions

1.0.19 (2024-02-07)

  • Removed dependency on ta-lib package for ta functions RSI(), MA(), and BBANDS(), thus candle charts can be created without ta-lib installed

  • Updated dependencies, made package more use-able for beginners with no ta-lib and only basic tushare credits

1.0.18 (2024-02-05)

  • Improved Trader Shell live messages: now order execution results are better displayed with more info regarding change of stock qty and cash amounts

  • Command INFO and OVERVIEW in trader shell now will not print out system information in default.

  • Updated version requirements for numpy

  • Bug fixes

1.0.17 (2024-01-29)

  • improved trader shell command « run », now it can run a strategy in main thread, making it easier to debug

  • fixed a bug that will cause error acquiring live price in live trade mode if running freq is lower than 1 hour

1.0.16 (2024-01-27)

  • Added feature: if a valid trade signal can not be converted to an order due to lack of available cash/stock, a message will be posted in live mode

  • Fixed a bug in live trade mode that will cause trade results being processed and delivered for more than one time, thus leads to wrong available qty or available cash recorded

  • Fixed a mistake that will cause wrong cost being calculated during live trade

  • Fixed a mistake in live trade shell with command history, that wrong stock cost is calculated when history of multiple stocks are listed

  • Fixed bug in issue #85 where data are extracted and filled unexpectedly in non-trading days

  • Fixed other bugs

1.0.15 (2023-12-29)

  • Now live prices of Index and ETFs can also be watched in live running mode

  • ETF and Index are now supported in live trading mode as trading targets

  • Fixed bugs

1.0.14 (2023-12-22)

  • Removed optional dependency sqlalchemy

  • Added retry in broker to stop order execution after max retries

1.0.13 (2023-12-21)

  • Improvements in Trader Shell

    • Now users can scroll to previous commands with up and down keys in Command mode

    • Created new command buy / sell to allow users to manually submit orders to broker

    • Optimized shell tasks and let live price acquisition to run in background threads

  • In Broker:

    • Optimized behavior of Simulator Broker, to return execution result according to live prices

    • Fixed bugs: order execution will not block each other

1.0.12 (2023-12-07)

  • improved visual effects

  • now live prices are acquired in background threads, not causing lags in the main loop

  • mistake corrections that allow live prices to be displayed when time zone is not local

  • watched price refresh interval is now configurable

in next release:

  • two new commands will be added to Shell: buy and sell

1.0.11 (2023-12-03)

  • Implemented « –parameter » / « -p » style parameter in Trader Shell, the old style will be deprecated in later versions

  • Allowed users to set up live trade broker parameters with QT configurations

  • Allowed users to set up live trade running time zone

  • Made dependency ta-lib as optional, kept a few critical built in strategies usable without ta-lib

1.0.10 (2023-11-25)

  • Corrected a mistake left out in version 1.0.9, which caused error when reference data is None in strategy

  • Changed default value of qteasy parameter backtest_price_adj to none

1.0.9 (2023-11-24)

  • Corrected a mistake in reference data generation and allocation to strategies, making reference data available to strategies

  • Improved documentations

1.0.8 (2023-11-22)

  • Improved trader shell visual effects, added color coding for different types of messages, with dependency on rich package

  • Published Qteasy Docs to https://qteasy.readthedocs.io/zh/latest/, added more supportive documents including api reference, examples, tutorials, etc.

  • Added parameter qteasy.__version__

  • Fixed bugs

1.0.7 (2023-11-11)

  • Improved Strategy class, added Strategy.use_latest_data_cycle property to allow use the latest prices to create trade signals

  • now stock names are displayed in qt shell

  • Added shell command watch, to watch stock price in realtime

  • Implemented live price acquiring channel eastmoney

  • Improvements in text display effects and bug fixes

1.0.6 (2023-10-19)

  • Added shell command config

  • Supported using FUND as investment type

1.0.0 (2023-09-19)

  • First release of working version on PyPI.