2c53efb4f3
Merge pull request #28 from mhallsmoore/position_fix
Michael Halls-Moore
2015-07-15 08:24:12 +01:00
553edab0db
Added basic logging capability to trading.py and related classes.
position_fix
Michael Halls-Moore
2015-07-13 19:22:27 +01:00
675412c125
Modified the position handling to fix a pricing bug, so that locally handled Portfolio values match those of OANDA (up to slippage).
Michael Halls-Moore
2015-07-13 16:30:55 +01:00
be9ef2b54f
Merge pull request #24 from mhallsmoore/backtest_class
Michael Halls-Moore
2015-06-30 09:48:56 +01:00
c273962a04
Modified README to detail new backtest interface.
backtest_class
Michael Halls-Moore
2015-06-30 09:48:25 +01:00
784cfd2508
Added a Backtest class, which replaces the script in backtest.py. Also added an examples directory, to make strategy testing straightforward.
Michael Halls-Moore
2015-06-23 11:52:44 +01:00
d191aad641
Modified README to include better installation instructions.
Michael Halls-Moore
2015-06-03 15:39:35 +01:00
458f263722
Multi-day backtesting now supported.
Michael Halls-Moore
2015-06-03 09:23:40 +01:00
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.
Michael Halls-Moore
2015-05-27 18:10:55 +01:00
40eeecf282
Merge pull request #12 from mhallsmoore/unrealised_pnl
Michael Halls-Moore
2015-05-15 13:50:58 +01:00
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.
unrealised_pnl
Michael Halls-Moore
2015-05-15 13:50:34 +01:00
a03bc7a1fb
Added Python 2.7.x and 3.4.x compatibility to the code. Disabled HTTPS security warning in urllib3 package of 'requests' package.
Michael Halls-Moore
2015-05-11 17:30:28 +01:00
8e74edb4f7
Moved streaming.py into data directory. Modified how trading.py and backtest.py behave so that the price streaming is fixed.
Michael Halls-Moore
2015-04-23 12:45:40 +01:00
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.
Michael Halls-Moore
2015-04-21 13:01:20 +01:00
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.
Michael Halls-Moore
2015-04-17 12:34:31 +01:00
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.
Michael Halls-Moore
2015-03-17 07:48:37 +00:00
6c77cc1deb
Decimalised the trading engine to be more realistic
Michael Halls-Moore
2015-03-06 09:57:15 +00:00
30dbcc7bfa
Reverted strategy to random buy/sell
Michael Halls-Moore
2015-02-03 15:22:03 +00:00
b0b19d603d
Added remaining trading system around portfolio in order to compare with OANDA.
Michael Halls-Moore
2015-02-03 13:33:33 +00:00
dbc973567a
Fixed conflict
Michael Halls-Moore
2015-02-02 19:26:36 +00:00
30c995f76d
Added two extra unit tests to Portfolio
Michael Halls-Moore
2015-02-02 18:57:02 +00:00
7274c5392b
Modified portfolio_test to have extra assertions around adding a position
Michael Halls-Moore
2015-01-28 15:37:40 +00:00
e223aa5751
First commit
Michael Halls-Moore
2015-01-27 18:29:27 +00:00