24 Commits

Author SHA1 Message Date
gavindiaz de5893de3b 添加详细说明文档 2026-07-07 20:25:32 +00:00
Michael Halls-Moore 2c53efb4f3 Merge pull request #28 from mhallsmoore/position_fix
Position fix
2015-07-15 08:24:12 +01:00
Michael Halls-Moore 553edab0db Added basic logging capability to trading.py and related classes. 2015-07-13 19:22:27 +01:00
Michael Halls-Moore 675412c125 Modified the position handling to fix a pricing bug, so that locally handled Portfolio values match those of OANDA (up to slippage). 2015-07-13 16:30:55 +01:00
Michael Halls-Moore be9ef2b54f Merge pull request #24 from mhallsmoore/backtest_class
Backtest class
2015-06-30 09:48:56 +01:00
Michael Halls-Moore c273962a04 Modified README to detail new backtest interface. 2015-06-30 09:48:25 +01:00
Michael Halls-Moore 784cfd2508 Added a Backtest class, which replaces the script in backtest.py. Also added an examples directory, to make strategy testing straightforward. 2015-06-23 11:52:44 +01:00
Michael Halls-Moore d191aad641 Modified README to include better installation instructions. 2015-06-03 15:39:35 +01:00
Michael Halls-Moore 458f263722 Multi-day backtesting now supported. 2015-06-03 09:23:40 +01:00
Michael Halls-Moore 17b36c5def Modified heartbeat comment in trading.py. Also added a script in the /scripts directory that generates simulated forex tick data in the style of Dukascopy. 2015-05-27 18:10:55 +01:00
Michael Halls-Moore 40eeecf282 Merge pull request #12 from mhallsmoore/unrealised_pnl
Added the ability for the backtester to use unrealised PnL from the P…
2015-05-15 13:50:58 +01:00
Michael Halls-Moore 4380200de7 Added the ability for the backtester to use unrealised PnL from the Position objects to calculate a tick-by-tick equity curve. Added a performance directory that calculates drawdown statistics. Modified the output.py script to use Seaborn and output the equity curve, returns and drawdown curve. 2015-05-15 13:50:34 +01:00
Michael Halls-Moore a03bc7a1fb Added Python 2.7.x and 3.4.x compatibility to the code. Disabled HTTPS security warning in urllib3 package of 'requests' package. 2015-05-11 17:30:28 +01:00
Michael Halls-Moore 8e74edb4f7 Moved streaming.py into data directory. Modified how trading.py and backtest.py behave so that the price streaming is fixed. 2015-04-23 12:45:40 +01:00
Michael Halls-Moore e84512e1e7 Lots of changes. Modified the Position object to handle more of the actual position calculations instead of the Portfolio. Added more unit tests for both Position and Portfolio. Allowed Positions to trade in currencies other than GBPUSD and in base/quotes which aren't the home currency. Modified the backtester to be single-threaded and added a basic Moving Average Crossover strategy. Also added a basic equity curve output script. 2015-04-21 13:01:20 +01:00
Michael Halls-Moore e74777802b Modified the Position handling to use long/short instead of buy/sell for side/position_type. Also modified the unit tests for both Portfolio and Position to reflect these changes. Added a basic historical backtesting capability via backtest.py and using CSV tick data for currency pairs. 2015-04-17 12:34:31 +01:00
Michael Halls-Moore d9a7444fc2 Added some more unit tests for Portfolio and Position. Added a README and a requirements file now that qsforex is open-source under an MIT license. 2015-03-17 07:48:37 +00:00
Michael Halls-Moore 6c77cc1deb Decimalised the trading engine to be more realistic 2015-03-06 09:57:15 +00:00
Michael Halls-Moore 30dbcc7bfa Reverted strategy to random buy/sell 2015-02-03 15:22:03 +00:00
Michael Halls-Moore b0b19d603d Added remaining trading system around portfolio in order to compare with OANDA. 2015-02-03 13:33:33 +00:00
Michael Halls-Moore dbc973567a Fixed conflict 2015-02-02 19:26:36 +00:00
Michael Halls-Moore 30c995f76d Added two extra unit tests to Portfolio 2015-02-02 18:57:02 +00:00
Michael Halls-Moore 7274c5392b Modified portfolio_test to have extra assertions around adding a position 2015-01-28 15:37:40 +00:00
Michael Halls-Moore e223aa5751 First commit 2015-01-27 18:29:27 +00:00