Работа завершена
Техническое задание
Hello,
I want a cointegration test running in Python with either MT5 or IQfeed data where I have control over the settings and second where I can filter the results, so I can choose which pairs should be run on MT5 for execution.
Cryptowizard has already done a lot of work here if you are familiar with that website or youtube channel. There is a cointegration function on Python, so nothing to reinvent again here.
But I must choose the following settings to be tested. Length in number of bars to lookback period where the cointegration test is applied. (like 7 to 60 bars for example). Second, the deviation from the mean of 2 currency pairs (so 1.70 to 2.10).
Third a time exit in bars (2 to 10 bars for example). Then Profit Target exit in standard deviation (like Zero = 0 to 0.50 e.g.). And I need to choose the symbol set of currency pairs and the timeframe (1 hour, 5 minute, 4 hours bars for example), and lenght of time to go through (like test it on 1 years data or 1 month data and so on).
For the currency pairs data, it should be either MT5 from (IC Markets best) or from IQfeed data where I have a subscription. For example AUDUSD can be obtained from MT5 too, but to get USDAUD as pair you need to 1/AUDUSD on MT5 or just take USDAUD.COMP as symbol in IQfeed. IQfeed should be integrated because it has clean data.
Then if all pairs are in combination tested (this can take some time). Then I need to filter the results. I need total net profit, number of trades, max. Drawdown, Profit Factor, max. loss on worst trade, win rate of all trades. And maybe if it is possible to do a In sample versus Out-of-sample backtest so I can see how long it worked in the future within the past. As optional feature here.
Last the chosen pair combination from Python should be executed on MT5 Terminal. Here you need to be aware that all the deviations are calculated in percentage from its mean, so the US Dollar value for any pairs combination must be the same. So for all USDXXX pairs it is 1 lot = $100k in value but for GBPUSD as example you need to divide 1 lot here through the quote of GBPUSD so you get something ca. 0.8 lot for the same $100k value. Because 1 pair means 1 long $100k value and 1 short $100k value too. And there should be kind of manual and user interface where I can put in the settings and then after cointegration test within Python (it has a built-in cointegration test) I should make the filtering from the user interface and able to mark the pairs combination which I want to be executed in realtime to MT5 Terminal.
If you are interested to do this project could you little bit describe yourself and how you would do this project so I can get a better impression. Thanks.
------
1. Ingest and collect historical data
2. Calculate cointegration
3. Ability to backtest and sort results
4. Monitor data live and update results
5. Generate signals or code for MT5