- Fixed the bug of “OrderId x that needs to be cancelled is not found”
V 5.2.2 on 20190721
- Fixed the bug of silence exit when orders exist
- Added the feature of setting waitForFeedbackInSeconds for request_historical_data
- Fixed the bug of existing orders
- Added the feature of “show_real_time_size”
- Changed the serialization method of Security Objects to solve the issues of “positions[symbol].amount = 0”
- Added features of “do not exit the program due to errors issued when the connection to IB server is lost”.
- Refactored the mechanism of requesting data from IB server to be prepared to add more features.
- Fixed the bug of logLevel = ‘ERROR’
- Added error message for “global name ‘startTimePosition’ is not defined”
- Prepared to integrate with Robinhood
- Fixed the bug of “unharmful print”
- Fixed the bug of “showTimeZone not working”
- Fixed the bug of “unhashable type: Security”
- Fixed the bug of “schedule_function week_start does not work”.
- Fixed the bug of “showTimeZone does not take effect”
- Add equality check for Security objects.
- IBridgePy Backtester is available in Windows versions.
- IBridgePy started to support Anaconda python 3.7 on Windows
- IBridgePy Backtester is released in Mac version. The documentation will be published soon. Other version will come soon as well.
- Refactored to support IBridgePy back tester.
- Added the feature of specifying tif when placing orders with stoploss and takeprofit.
- Refactored a few to build IBridgePy back tester.
- Separated sysTimeZone and showTimeZone
- Simulated updateAccountValue after an execDetails. Refer to this webpage.
- Fixed the bug of portfolio.returns
- Fixed the bug of “cannot handle dataProviderName”
- Added the feature of orderType of TrailStopOrder
- Fixed the bug of cancel_order( orderId or order )
- Fixed the bug of backtester
- Fixed the bug of before_trading_start running on weekends.
- Implemented count_positions
- Fixed the bug of “the return type of get_open_orders are not as same as Quantopian’s function”
- Changed the display message of orders in orderStatusBook
- Added cost_basis to Position object to have backward compatibility to V 3.2.4
- Fixed sample codes
- Fixed the bug of “processMessages() missing 1 required positional argument: ‘timeNow’”
- Made Changes to prepare IBridgePy backtester
- Fixed the bug of “exit is not defined”
- Made Changes to prepare IBridgePy backtester
- Fixed the bug of “for security in context.portfolio.positions”
- Fixed the bug of “returned hist ‘s index is not datetime”
- Fixed the bug of “print context.portfolio.positions returns empty dict even if a position exists”
- Fixed a deployment bug
- create_order and place_combination_orders are supported.
- Fixed a minor bug
- Solved the backward compatibility issues: the 1st time of running handle_data with repBarFreq = xx is set at 00 seconds. For example, if repBarFreq = 5, the time of running handle_data will be 0, 5, 10, 15, 20, 25, …55.
- Support the following code “for stock, position in context.portfolio.positions.
- Fixed the bug of “context.portfolio.positions[symbol(‘AAPL’)]
- Fixed the bug of “schedule_functions are not working”
- Fixed the bug of “index of data.history is not in the type of datetime”
- Fixed the bug of “showTimeZone is not working”
- Fixed the bug of “TrailStopLimitOrder is not defined”
- Fixed the bug of “modify_order is not working”
- Support “context.portfolio.position_values”, “context.portfolio.portfolio_values”, “context.portfolio.position_cash” and “context.portfolio.positions”
- Fixed the bug related to “Unable connect as the client id is already in use”
- Fixed the bug related to “modify orders”
- Fixed a bug related to Python 3.x compatibility issue
- Fixed a bug related to schedule_functions
- Fixed a bug related to Python 3.x compatibility issue
- New backend IBridgePy engine which will power up back-tester later
- A few API signatures have been optimized. More details will be updated in http://www.ibridgepy.com/ibridgepy-documentation/
- Please let us know if you have any questions about IBridgePy 4 and we will try our best to fix them as soon as possible.
- Minor update related to TrailStopLimitOrder
- Fixed the bug of placing hidden orders
- Fixed the bug of Trailing Stop Limit Order
- Fixed the bug of “cannot get volume/size of securities”
- Fixed the bug of “placing hidden order to ISLAND”
- Fixed the bug of “real time price is not tree real time in runMode of run_like_quantopian”
- Modified read_in_hashcode
- Removed the error message when open price is not available. User need to check by themselves.
- Fixed a bug
- Added a new feature of placing hidden order at ISLAND
- Fixed a bug of consuming too many resources
- Fixed a bug
- Added a new feature in superSymbol to defined “localSymbol”
- Add a new feature of “modify_order”
- Fixed the bug of “STK BRK B is missing”
- Fixed the bug of “real time price does not update”
- Fixed the bug related to barSize in data.history
- Fixed the bug of “repBarFreq does not work”
- Fixed the bug of waitForFeedbackInSeconds
- New IBridgePy engine
- Added trailingPercent to TrailStopLimitOrder
- Fixed the bug related to secType of “BOND”
- Added more examples
- Fixed the bug of “No security definition has been found for the request” because of holding positions
- More examples are added.
- Fixed the bug related to premium functions.
- Fixed the bug of “scheduled functions do not run as scheduled”
- Fixed the following bug in Win_Anaconda36_64
- Fixed the following bug
V2.2.6 on 20180726
- Fixed a bug related to request_historical_data when disconnection happens
- Added a new feature. User can choose a market calendar. handle_data will run according to the chosen market calendar when runMode = ‘run_like_quantopian’
V2.2.5 on 20180707
- Fixed the bug of “ask_price = na”
V2.2.4 on 20180704
- Fixed the bug of “missing self.setHashConfig” in IBrigePy_python2_64
V2.2.3 on 20180703
- Fixed a typo
V2.2.2 on 20180702
- Fixed a few bugs in Windows Python 3.6 for incompatibility issues.
V2.2.1 on 20180701
- The default time-in-force for LimitOrder and StopOrder is to cancel the open orders by the end of the day. A feature is added to allow traders to designate time-in-force. See details at http://www.ibridgepy.com/ibridgepy-documentation/#order8212_similar_as_order_at_Quantopian
- place_order_with_stoploss, place_order_with_stoploss_takeprofit and place_order_with_takeprofit are added to make placing orders much easier than before.
- Fixed a bug related to context.portfolio.position[a_security] returning 0 shares when the position is not 0.
V2.1.2 on 20180527
- Add a trader property of runScheduledFunctonBeforeHandleData. The scheduled_functions will run before handle_data runs when runScheduledFunctonBeforeHandleData = True. The default setting of Quantopian is to run handle_data before all scheduled functions.
V2.1.1 on 20180526
- Improved the performance of searching securities internally.
- Add a new function of place_order_with_SL_TP
V2.0.1 on 20180506
- Fixed the bug “No security definition when a position was in the account”
- Change the version number to semantic version 2.0.1
- Added a new function of get_order_status
- Fixed the bug in order_status_monitor, raised by Lamperti
- Added Trailing Stop Limit order
- Fixed a bug about superSymbol when accounts have positions
- Fixed the bug about printing positions.
- Added a feature of placing orders outside regular trading hours.
- Matched a feature to Quantopian. context.portfolio.portfolio_value is the actual value in the function of initialize.
- Fixed the bug about ending cash balances, reported by timma.
- Fixed the bug about handle_data running at unexpected times, reported by timma.
- Added displaying message when market is closed.
- Fixed the bug about “cannot find index in self.end__check__list” by recording all request data.
- Changed version number to string.
- Print out fileName.
- Exit the code after tried to request data for 3 times and failed.
- Fixed the bug about “cannot get real time price because of “No security is found” when init is holding the positions
- Changed the logic to search exchange and primaryExchange from stockList
- Moved some functions to better locations
- Fixed the bug of “Error processing request:-‘bm’ : cause – Duplicate ticker ID for xxx”
- Added a method in data, data.can_trade( ). It always returns True at the moment. It will be extended later.
- Fixed the bug of “missing handle_data”. The handle_data function is not required in IBridgePy.
- Changed default values of open, high, low, close, size to NaN, following Quantopian’s style
- The function of show_real_time_price ( ) returns the current values without extra checking even if the values are NaN. However, show_real_time_price ( ) will guarantee that the bid price and ask price of stocks are positive and the last_traded of indexes are positive.
- Fixed the bug of “duplicated orderId” when re-sending request data
- Fixed the bug of AttributeError: ‘float’ object has no attribute ‘param’ when requesting real time prices
- Fixed the bug related to Ubuntu version and Mac version about file path
- errorCode = 2148 becomes a warning, not a critical error anymore.
- Fixed the bug of getting real time prices of secType = ‘IND’, for example, IND, VIX, USD
- Fixed the bug in Mac and Ubuntu version
- Fixed the bug of repBarFreq = 60
- Fixed the bug of before_tradng_start ( )
- Changed: show_real_time_price will not show any negative number anymore. However, the code will stop if the real time prices are not available for any reasons.
- Fixed the bug of the log file path in Linux.
- Fixed the bug in handle calendar, for example 2017.11.30
- Changed: errorCode = 2105 is a warning message and not a critical error any more.
- Fixed the bug of handle_data in run_like_quantopian mode. It won’t run when the market is close.
- Fixed a print versionNumber when exit with error message.
- Fixed IBridgePy for Ubuntu errorCode = 509
- Fixed the print bug in windows Python 3_64 version
- Added order_value ( ), order_target_percent ( ), order_target_value ( ) and record ( ) , same as in Quantopian.
- Deleted positions from context.portfolio.positions when the quantity of the security is 0. Now it matches what Quantopian does.
- Fixed the example_get_historical_data.py because request_data is deprecated from version 2.20171004.
- Added showing versionNumber when IBridgePy terminates with error messages.
- Fixed the bug in showing latest_profit when printing out positions. It always showed “NA” in the previous versions
- Separated IBridgePy log with the log created by users using the function of record ( ).
- Fixed the bug in get_open_order
- Fixed check_date_rules overnight issue
- Changed to the code related to error messages and terminate the code when needed.
- Added “show sizes” to the function of show_real_time_price
- handle_data is not required anymore. It is optional.
- Changed the default exchange of stock to SMART. The problem related to XIV positions are solved because of the change.
- Started to support order_percent ( ) .
- The bug related to schedule_function is fixed.
- The bug related to handle_calendar is fixed.
- Fixed the bug of print in quantopian.py in python 3.x version
- Changed all_US_Stocks.csv to security_info.csv
- Allowed users to add the security details to security_info.csvt
- The issues related to order_target( ) and positions are fixed because of the above changes.
- Added versionNumber for IBridgePy. The current versionNumber is 1.20170905
- Fixed a bug related to positions[symbol(‘xxx’)].amount, which has impacts on order_target ( )