Let's take a couple of moments to review what we've learned! Currency trading, often referred to as foreign exchange or Forex, is the purchasing and selling of currencies in the foreign exchange marketplace, and is done with the objective of making profits. Because it is liquid, currency trading differs from other types of trading. Currency exchanges are expressed in currency pairs (two different currencies together), using a format that expresses both the country and the type of money.
Not all securities can be bought on margin. Buying on margin is a double-edged sword that can translate into bigger gains or bigger losses. In volatile markets, investors who borrowed from their brokers may need to provide additional cash if the price of a stock drops too much for those who bought on margin or rallies too much for those who shorted a stock. In such cases, brokers are also allowed to liquidate a position, even without informing the investor. Real-time position monitoring is a crucial tool when buying on margin or shorting a stock.
In particular I would like to make the system a lot faster, since it will allow parameter searches to be carried out in a reasonable time. While Python is a great tool, it's one drawback is that it is relatively slow when compared to C/C++. Hence I will be carrying out a lot of profiling to try and improve the execution speed of both the backtest and the performance calculations.