Current version: 0.12 (20/Apr/2013)
Download here: PyAlgoTrade-0.12.tar.gz
- pyalgotrade.optimizer now has worker names associated with each worker. Thanks Matthieu Locas for implementing this.
- StrategyPlotter now allows plotting custom functions.
- Optimizations in different areas.
- Standard deviation technical indicator (pyalgotrade.technical.stats.StdDev).
- Bollinger Bands technical indicator (pyalgotrade.technical.bollinger.BollingerBands). Example here.
- Fixed a bug in EMA technical that could lead to max. recursion limit error.
- Fixed a bug in the Strategy class that had a big impact on execution time. Bookkeeping for active positions and orders was not handled properly.
Version: 0.11 (17/Mar/2013)
Download here: PyAlgoTrade-0.11.tar.gz
- DataSeries now provide the datetime associated with each value (getDateTimes), making it easier to plot using matplotlib.
- Function to align two DataSeries with respect to time (pyalgotrade.dataseries.datetime_aligned).
- VWAP technical indicator (pyalgotrade.technical.vwap.VWAP).
- Line Break technical indicator (pyalgotrade.technical.linebreak.LineBreak).
- Methods to calculate unrealized returns and PnL in positions (getUnrealizedReturn and getUnrealizedNetProfit).
- Bug fix: An IndexError exception was raised in plotter.py when plotting many dataseries in the same subplot.
Version 0.10 (11/Jan/2013)
Download here: PyAlgoTrade-0.10.tar.gz
- Sharpe Ratio analysis (pyalgotrade.stratanalyzer.sharpe.SharpeRatio).
- Max. drawdown and max. drawdown duration analysis (pyalgotrade.stratanalyzer.drawdown.DrawDown). Thanks Sedov Anton for reporting a bug in the early implementation.
- Returns analysis (pyalgotrade.stratanalyzer.returns.Returns).
- Trades analysis (pyalgotrade.stratanalyzer.trades.Trades).
- Support for bar timezones (pyalgotrade.marketsession).
- Support for sequence like operations in dataseries (__getitem__ and __len__. getValue and getValueAbsolute will soon get deprecated).
- Support for mapping like operations in bar feeds (__getitem__ and __contains__).
- Support for mapping like operations in bar.Bars (__getitem__ and __contains__).
- Google App Engine: Added support for re-executing strategies.
- broker.backtesting.Broker.getValue no longer needs the bars as a parameter. It will take those out of the feed.
- Bug fix: broker.backtesting.getActiveOrders was not returning all orders during event dispatching.
- Bug fix: Fixed returns calculations for short positions. Thanks John Fawcett for explaining this.
- Bug fix: Fixed a bug in the Strategy class and the backtesting broker when dealing with multiple instruments. Was not handling absence of bars appropriately. Thanks Fabian Braennstroem for reporting this.
- Bug fix: Additional dataseries added to the portfolio subplot were not showing. Thanks Sedov Anton for reporting this.
- Bug fix: Additional subplots (those created using getOrCreateSubplot) are now ordered as created. Thanks Sedov Anton for reporting this and suggesting the fix.
Version 0.9 (1/Sep/2012)
Download here: PyAlgoTrade-0.9.tar.gz
- Added a method to the strategy class to get notified when an order gets updated (onOrderUpdated). This is only called if the order was placed using the broker interface directly.
- Bug fix: A KeyError exception was raised in the strategy class when placing orders using the broker interface directly. Thanks 'Femto Trader' for reporting this.
Version 0.8 (28/Aug/2012)
Download here: PyAlgoTrade-0.8.tar.gz
- StrategyPlotter now plots each instrument in a separate subplot. getMainSubplot was replaced by getIntrumentSubplot.
- Strategy.exitPosition allows setting the exit order as GTC or not, or matching the entry order (default).
- Bug fix: Was hitting an AssertionError in the strategy class when overwritting exit orders with new ones.
- Bug fix: Set exit-on-session-close orders as GTC.
Version 0.7 (22/Aug/2012)
Download here: PyAlgoTrade-0.7.tar.gz
- Backtesting broker now allows customizing of order filling strategies.
- Added support Stop orders. Thanks Tibor Kiss for adding this.
- Added support StopLimit orders. Thanks Tibor Kiss for adding this.
- TA-Lib integration (pyalgotrade.talibext.indicator).
- Official support for NinjaTrader generated CSV files (pyalgotrade.barfeed.ninjatraderfeed.Feed). csvfeed.NinjaTraderRowParser was removed.
- pyalgotrade.barfeed.csvfeed.YahooFeed was moved to pyalgotrade.barfeed.yahoofeed.Feed. pyalgotrade.barfeed.csvfeed.YahooFeed still works but it will be removed soon.
- Major changes to the broker interface to support other broker types. These changes are not backwards compatible. Thanks Tibor Kiss for adding this.
- Bug fix: Was not honoring the good till canceled attribute when submiting exit orders from inside the position classes.
- Bug fix: Was not getting better prices (when available) for Limit orders. Thanks Tibor Kiss for reporting this.
Version 0.6 (26/Jun/2012)
Download here: PyAlgoTrade-0.6.tar.gz
- Added initial support for NinjaTrader export format (csvfeed.NinjaTraderRowParser).
- pyalgotrade.optimizer.server.serve now returns the best results found.
- Fixes to the optimizer.local module when running on Windows.
- Fixes to the optimizer.local module. The socket used to find a random port to listen on was not being closed. Thanks Tibor Kiss for fixing this.
- Fixes to plotter.py. The marker style used was not supported in some matplotlib versions. Thanks Tibor Kiss for fixing this.
Version 0.5 (21/Jun/2012)
Download here: PyAlgoTrade-0.5.tar.gz
- Added support for optimizing strategies inside Google App Engine.
- StrategyPlotter supports plotting a range.
- Stochastic oscillator supports using adjusted values.
- Improved optimizer module to distribute strategy executions in chunks.
Version 0.4 (8/May/2012)
Download here: PyAlgoTrade-0.4.tar.gz
- Added rate of change technical indicator.
- Added stochastic oscillator technical indicator.
- Added error checking to yahoofinance.get_daily_csv.
- Normalized some method names in StrategyPlotter.
Version 0.3 (22/Apr/2012)
Download here: PyAlgoTrade-0.3.tar.gz
- Support for plotting strategies (StrategyPlotter).
Version 0.2 (14/Apr/2012)
Download here: PyAlgoTrade-0.2.tar.gz
- Added CrossAbove and CrossBelow technical indicators.
- Added support for limit orders.
- Fixed a bug when a position was set to exit on session close but the entry order was not filled.
Version 0.1 (27/Mar/2012)
Download here: PyAlgoTrade-0.1.tar.gz