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 CLIAllowed users to manually refill datasource table with trader CLI command
runwith parameter--task refillBug 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_tableswill not return correct tables in some casesCLI command
schedulefails 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 messageFixed 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
dbutilas mandatory dependency, and movedpymysqlalso as mandatory, removed optional dependencies as databaseFixed 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_kwargsimproved 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 fileAdded new function
qt.update_start_up_setting(), to modify start up settings fileAdded 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
ordersin trader CLI:now
orderscommand selects symbols correctlynow parameter
--timeworks with value “all” or “a”
Added new command
summarythat 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 runningFixed 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:
ATRandOBV, 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, andSLPHTUpdated 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 tradingCorrected 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 tradingThe 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 betweenImproved 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
pythonfrom 3.9 up to 3.12Improved compatibility for higher versions of
pandas(v2.2.1),numpy(1.26.4), andnumba(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
pythonfrom 3.9 up to 3.12
1.1.4 (2024-03-30)
Updated version restrictions on dependencies, to solve the version conflicts between
numbaandnumpy.Slightly improved warning information when loading qteasy for the first time.
Fixed a few bugs that will cause compatibility issue with
pandas> 2.0Added performance warnings for strategy optimization method 2 when some
numpyandnumbaversions 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'], andres['full_histories']
1.1.2 (2024-03-18)
New parameter
--rewindis now added to commanddashboard, to allow users to view previously saved logs when switched to dashboard mode.Added more information print-outs for command
buyandsell, 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/-pstyle parameters, same way as all other CLI toolsAll commands now support
--helpand-hto show help messages, are now fully documented in the shell help messageAll 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:
watchcommand now supports--remove/-rto remove symbols from watch list, and--clear/-cto clear the listbuyandsellcommands now uses--price/-pto specify price, and--side/-sto specify position sideinfoandoverviewcommands now support new argument--systemto show system info, andverbosewill be replaced bydetailin future versionshistorycommand now accepts explicit argumentallto show all historyorderscommand now accepts order filter arguments with optional tags--status,--time,--side, and--typeconfigcommand now support--set/-sto set configurations, and set view levels with count of--level/-lstrategiescommand now supports--set-parto set strategy optimizable parameters, and to be implemented: possible to set blenders with--blenderand--timingruncommand now supports running tasks with arguments given with optional flag--args/-aorderscommand 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 withqt.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(), andDEMA(), now they can be used withoutta-libinstalled, although the results are slightly different from their talib versions
1.0.19 (2024-02-07)
Removed dependency on
ta-libpackage for ta functionsRSI(),MA(), andBBANDS(), thus candle charts can be created withoutta-libinstalledUpdated dependencies, made package more use-able for beginners with no
ta-liband only basictusharecredits
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/sellto allow users to manually submit orders to brokerOptimized 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:
buyandsell
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_adjtonone
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
richpackagePublished
QteasyDocs 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 realtimeImplemented live price acquiring channel eastmoney
Improvements in text display effects and bug fixes
1.0.6 (2023-10-19)
Added shell command
configSupported using FUND as investment type
1.0.0 (2023-09-19)
First release of working version on PyPI.