Traditionally, backtesting as Wikipedia suggests: refers to testing a predictive model on historical data. Backtesting is a type of retrodiction, and a special type of cross-validation applied to a previous time period.  


You might be wondering, what does backtesting may have to do with arbitrage trading?  How can we backtest an arbitrage trade? As confusing as it may initially sound, we’ve discovered a great way to plan ahead winning trades. The AE team refers to the term “Backtesting” when describing an analytical method, made for identifying multiple, favorable, historical time periods, where spread had narrowed just enough & remained in place for a trader to have enough time to make a profitable trip back.



A detailed report can be displayed by tapping or double mouse clicking on any entry.



Let’s go over a brief hypothetical scenario made for highlighting the benefits of the Arbitrage Backtesting service:


Before Joe follows an arbitrage Path from Binance to EXMO in an attempt to generate 3% as a result of the price difference, he decides to perform a Backtesting maneuver.


A one week [6] backtesting report would display a list of pairs [11]  where the spread between EXMO  [2] and BINANCE [1] had narrowed by 60% [4] & remained in place for at least 40 minutes [5]


The data highlighted in the report gives Joe an insight of what to potentially expect during an attempt to escape from EXMO back to BINANCE. 


(Please note: historic data should not be used as a definitive conclusion for the future trading decisions).


Essentially, the report has analyzed all matching pairs between EXMO / BINANCE and displayed how many interval counts [8] exactly matched the user settings [4,5,6].


According to Joe’s settings, the algorithm was looking for points in time where the spread had narrowed by at least 60% [4] and remained in place for at least 40 minutes [5]







Each pair contains a detailed view that can be accessed by tapping or double-clicking on any row. The [1] first column “Date” represents the date of each event within the time period specified in the user settings.


The “Avg. % of Day” column [2], as the title suggests, represents the average spread percentage for the entire day.


The “Requested Spread %” column [3] identifies the spread contraction that has been requested by the user settings. E.g., [0.64%] identifies the daily average spread, by deducting [60%] from [0.64%], the result is [0.25%].


The “Interval Count” column [4] indicates the event frequency which has been identified by the algorithm. E.g., the spread has contracted by [60%] and remained in place for [40 minutes] three times on 2019.07.20.


The “Chart” column [5] links to a graphical interface made for identifying and highlighting the historic spread contraction.



Continuing with the example from above...


For instance: the spread price on DOGE/BTC pair between EXMO and BINANCE had narrowed by 60% and remained in place [12 times] in the past [30 days]. If Joe would’ve purchased DODGE coin on EXMO, moved it to BINANCE ultimately waited for the spread to narrow enough for him to be able to profitably sell it for BITCOIN, as result of the round trip arbitrage trade Joe would’ve generated 2.4% (excluding trade & transfer fees).



Let’s dig deeper by tapping on chart link (desktop) & (hand icon) mobile devices.





The highlighted in (blush) section indicates the spread contraction area. It is easy to zoom in by tapping and dragging or holding the left mouse button and dragging.


Alternatively, the arbitrage backtesting tool can be utilized for analyzing spread contractions between various exchanges for the purpose of potentially discovering hidden doorways as well as to carry out logical arbitrage trade plans.