Free margin in Forex is the amount of money that is not involved in any trade. You can use it to take more positions, however, that isn't all - as the free margin is the difference between equity and margin. If your open positions make you money, the more they achieve profit, the greater the equity you will have, so you will have more free margin as a result. There may be a situation when you have some open positions and also some pending orders simultaneously.
Robust Strategies - I have only demonstrated some simple random signal generating "toy" strategies to date. Now that we are beginning to create a reliable intraday forex trading system, we should start carrying out some more interesting strategies. Future diary entries will concentrate on strategies drawn from a mixture of "technical" indicators/filters as well as time series models and machine learning techniques.
Once an investor has started buying a stock on margin, the NYSE and FINRA require that a minimum amount of equity be maintained in the investor's margin account. These rules require investors to have at least 25% of the total market value of the securities they own in their margin account. This is called the maintenance margin. For market participants identified as pattern day traders, the maintenance margin requirement is a minimum of $25,000 (or 25% of the total market value of the securities, whichever is higher).
Let’s cover this with an example. If you have $1,000 in your trading account and use a leverage of 1:100 you could theoretically open a position size of $100,000. However, by doing so, your entire trading account would be allocated as the required margin for the trade, and even a single price tick against you would lead to a margin call. There would be no free margin to withstand any negative price fluctuation.
It is essential that traders understand the margin close out rule specified by the broker in order to avoid the liquidation of current positions. When an account is placed on margin call, the account will need to be funded immediately to avoid the liquidation of current open positions. Brokers do this in order to bring the account equity back up to an acceptable level.
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.
Each time you open a new trade, calculate how much free margin you would need to use if the trade drops to its stop loss level. In other words, if your free margin is currently $500, but your potential losses of a trade are $700 (if the trade hits stop loss), you could be in trouble. In these situations, either close some of your open positions, or decrease your position sizes in order to free up additional free margin.
An extremely important requested feature for QSForex has been the ability to backtest over multiple days. Previously the system only supported backtesting via a single file. This was not a scalable solution as such a file must be read into memory and subsequently into a Pandas DataFrame. While the tick data files produced are not huge (roughly 3.5Mb each), they do add up quickly if we consider multiple pairs over periods of months or more.
Equity – Your equity is simply the total amount of funds you have in your trading account. Your equity will change and float each time you open a new trading position, in such a way that all your unrealised profits and losses will be added to or deducted from your total equity. For example, if your trading account size is $1,000 and your open positions are $50 in profit, your equity will amount to $1,050.
Local Portfolio Handling - In my opinion carrying out a backtest that inflates strategy performance due to unrealistic assumptions is annoying at best and extremely unprofitable at worst! Introducing a local portfolio object that replicates the OANDA calculations means that we can check our internal calculations while carrying out practice trading, which gives us greater confidence when we later use this same portfolio object for backtesting on historical data.