Python Trading Backtesting
Budget: $250 – $750 AUD
I want a python backtesting code for evaluating my trading strategy.
Backtesting strategy will be to take short positions when price reaches top of Bollinger Band and when it is also below the 200 period EMA.
The position would either be closed when reaching the next upper cross of Stochastic RSI, or when Reaching the next cross of Stoachastic RSI above 80 threshold - user input to choose which one of these options when running the backtest.
It would need to provide statistics on success of the backtest (win rate, max successful winning trades in a row, max unsuccessful trades in a row, profitability, total winning trades, total loosing trades).
I would also need customizable time period - based on daily chart (eg. would need to program conversion to be able to convert 1 day time period into 3 days time period, and then apply to indicators)
I want some features editable as user input for the backtest, as I will use to test multiple stock, and try adjusting variables to optimize the strategy:
- be able to choose the time period for backtest (eg. trading on 3 day chart, or 4 day chart). Bollinger band and EMA will be based on this same time period
- be able to choose the duration for the backtest (start and end date)
- be able to choose the stop loss amount (would be as a percentage of the price of stock at time of trade)
- be able to separately choose the time period for the Stochastic RSI (eg. based on 7 day chart or 10 day chart)
- be able to choose whether to only place trade when not already in a trade, or choose to wait a certain period before entering another trade (eg. wait 7 days)
I am somewhat familiar with Python, but not enough to make this backtesting algo. I don't need a fancy interface, and so editable values (such as choosing time period) could just be me changing value in the code, or entering user input.
It would require integration into a data source (I am looking at MarketStack for this, but open to other suggestions)
Backtesting strategy will be to take short positions when price reaches top of Bollinger Band and when it is also below the 200 period EMA.
The position would either be closed when reaching the next upper cross of Stochastic RSI, or when Reaching the next cross of Stoachastic RSI above 80 threshold - user input to choose which one of these options when running the backtest.
It would need to provide statistics on success of the backtest (win rate, max successful winning trades in a row, max unsuccessful trades in a row, profitability, total winning trades, total loosing trades).
I would also need customizable time period - based on daily chart (eg. would need to program conversion to be able to convert 1 day time period into 3 days time period, and then apply to indicators)
I want some features editable as user input for the backtest, as I will use to test multiple stock, and try adjusting variables to optimize the strategy:
- be able to choose the time period for backtest (eg. trading on 3 day chart, or 4 day chart). Bollinger band and EMA will be based on this same time period
- be able to choose the duration for the backtest (start and end date)
- be able to choose the stop loss amount (would be as a percentage of the price of stock at time of trade)
- be able to separately choose the time period for the Stochastic RSI (eg. based on 7 day chart or 10 day chart)
- be able to choose whether to only place trade when not already in a trade, or choose to wait a certain period before entering another trade (eg. wait 7 days)
I am somewhat familiar with Python, but not enough to make this backtesting algo. I don't need a fancy interface, and so editable values (such as choosing time period) could just be me changing value in the code, or entering user input.
It would require integration into a data source (I am looking at MarketStack for this, but open to other suggestions)