I am working on an automatized quantitative strategy that use cointegration in Forex. I am backtesting this strategy in Python.

Please see below the python file: https://drive.google.com/file/d/0B1AEYFPAAAE6eW5XeHlkTXprVUU/view?usp=sharing

See below the data that I used to backtest: https://drive.google.com/file/d/0B1AEYFPAAAE6amx0RWI1MGh3SW8/view?usp=sharing

My Algorithm is:

  • Read File
  • Transform the data with the log return
  • Treat Outliers
  • Realize the linear regression
  • Test for cointegration with ADF test
  • If the spread is stationary then apply the best ARMA model
  • Forecast and using beta calculation to control the risk

The equity curve of this strategy is: Equity Curve of Cointegration Strategy

Could you please help to understand how can I improve this algo?


  • 1
    $\begingroup$ Isn't your cointegration basically already contained in the AUD/NZD time series? $\endgroup$ – Shahar May 28 '16 at 5:10
  • $\begingroup$ Thanks for your reply. In my opinion this is not the same, because I am not forecasting the price directly but the log return of each currency. Then I multiplied NZDUSD by a coefficient. It this coefficient is 1, then I am forecasting AUD/NZD but if it is not then I am building a new time series. $\endgroup$ – David Hoareau May 28 '16 at 13:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.