GUI Control and Reporting - Right now the system is completely console/command line based. At the very least we will need some basic charting to display backtest results. A more sophisticated system will incorporate summary statistics of trades, strategy-level performance metrics as well as overall portfolio performance. This GUI could be implemented using a cross-platform windowing system such as Qt or Tkinter. It could also be presented using a web-based front-end, utilising a web-framework such as Django.
To get started, investors interested in trading in the forex markets must first sign up with either a regular broker or an online forex discount broker. Once an investor finds a proper broker, a margin account must be set up. A forex margin account is very similar to an equities margin account – the investor is taking a short-term loan from the broker. The loan is equal to the amount of leverage taken on by the investor.

Borrowing money to purchase securities is known as "buying on margin". When an investor borrows money from his broker to buy a stock, he must open a margin account with his broker, sign a related agreement and abide by the broker's margin requirements. The loan in the account is collateralized by investor's securities and cash. If the value of the stock drops too much, the investor must deposit more cash in his account, or sell a portion of the stock.
Options involve risk and are not suitable for all investors. For more information read the "Characteristics and Risks of Standardized Options". For a copy call Interactive Brokers' Client Services on 312-542-6901. Before trading, clients must read the relevant risk disclosure statements on our Warnings and Disclosures page - http://www.interactivebrokers.com/disclosures. Trading on margin is only for sophisticated investors with high risk tolerance. You may lose more than your initial investment. For additional information regarding margin loan rates, see http://www.interactivebrokers.com/interest. Security futures involve a high degree of risk and are not suitable for all investors. The amount you may lose may be greater than your initial investment. Before trading security futures, read the Security Futures Risk Disclosure Statement. For a copy visit http://www.interactivebrokers.com/disclosures. Structured products and fixed income products such as bonds are complex products that are more risky and are not suitable for all investors. Before trading, please read the Risk warning and Disclosure Statement at http://www.interactivebrokers.com/disclosures. There is a substantial risk of loss in foreign exchange trading. The settlement date of foreign exchange trades can vary due to time zone differences and bank holidays. When trading across foreign exchange markets, this may necessitate borrowing funds to settle foreign exchange trades. The interest rate on borrowed funds must be considered when computing the cost of trades across multiple markets.
If your free margin drops to zero, your broker will send you a margin call in order to protect the used margin on your account. Always monitor your free margin to prevent margin calls from happening, and calculate the potential losses of your trades (depending on their stop-loss levels) to determine their impact on your free margin. With some experience, you’ll find it significantly easier to follow your margin ratio and understand the meaning of margin in Forex trading.
Now, let’s say you open a trade worth $50,000 with the same trading account size and leverage ratio. Your required margin for this trade would be $500 (1% of your position size), and your free margin would now also amount to $500. In other words, you could withstand a negative price fluctuation of $500 until your free margin falls to zero and causes a margin call. Your position size of $50,000 could only fall to $49,500 – this would be the largest loss your trading account could withstand.
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.
How can you avoid this unanticipated surprise? Margin calls can be effectively avoided by carefully monitoring your account balance on a regular basis, and by using stop-loss orders on every position to minimise the risk. Another smart action to consider is to implement risk management within your trading. By managing your the potential risks effectively, you will be more aware of them, and you should also be able to anticipate them and potentially avoid them altogether.
All currency trading is done in pairs. Unlike the stock market, where you can buy or sell a single stock, you have to buy one currency and sell another currency in the forex market. Next, nearly all currencies are priced out to the fourth decimal point. A pip or percentage in point is the smallest increment of trade. One pip typically equals 1/100 of 1 percent.
Whether you have assets in a securities account or in a futures account, your assets are protected by U.S. federal regulations governing how brokers must protect your property and funds. In the securities account, your assets are protected by SEC and SIPC rules. In the futures account, your assets are protected by CFTC rules requiring segregation of customer funds. You are also protected by our strong financial position and our conservative risk management philosophy. See our Strength & Security page.

All currency trading is done in pairs. Unlike the stock market, where you can buy or sell a single stock, you have to buy one currency and sell another currency in the forex market. Next, nearly all currencies are priced out to the fourth decimal point. A pip or percentage in point is the smallest increment of trade. One pip typically equals 1/100 of 1 percent.

Often, closing one losing position will take the margin level Forex higher than 5%, as it will release the margin of that position, so the total used margin will decrease and consequently the margin level will increase. The system often takes the margin level higher than 5%, by closing the biggest position first. If your other losing positions continue losing and the margin level reaches 5% once more, the system will just close another losing position.
Maintenance margin for commodities is the amount that you must maintain in your account to support the futures contract and represents the lowest level to which your account can drop before you must deposit additional funds. Commodities positions are marked to market daily, with your account adjusted for any profit or loss that occurs. Because the price of underlying commodities fluctuates, it is possible that the value of the commodity may decline to the point at which your account balance falls below the required maintenance margin. If this happens, brokers typically make a margin call, which means you must deposit additional funds to meet the margin requirement.
Forex margin is a good faith deposit that a trader puts up as collateral to initiate a trade. Essentially, it is the minimum amount that a trader needs in the trading account to open a new position. This is usually communicated as a percentage of the notional value (trade size) of the forex trade. The difference between the deposit and the full value of the trade is “borrowed” from the broker.

© Forex Factory 2020.  All rights reserved.  The Forex Factory calendar changes frequently to reflect the latest information.  For the most up to date calendar, please visit https://www.forexfactory.com/calendar.php.  Forex Factory takes no responsibility for decisions based on this information, please see our terms of service at https://www.forexfactory.com/legal.php.


Forex margin is a good faith deposit that a trader puts up as collateral to initiate a trade. Essentially, it is the minimum amount that a trader needs in the trading account to open a new position. This is usually communicated as a percentage of the notional value (trade size) of the forex trade. The difference between the deposit and the full value of the trade is “borrowed” from the broker.
Margin requirements for futures and futures options are established by each exchange through a calculation algorithm known as SPAN margining. SPAN (Standard Portfolio Analysis of Risk) evaluates overall portfolio risk by calculating the worst possible loss that a portfolio of derivative and physical instruments might reasonably incur over a specified time period (typically one trading day.) This is done by computing the gains and losses that the portfolio would incur under different market conditions. The most important part of the SPAN methodology is the SPAN risk array, a set of numeric values that indicate how a particular contract will gain or lose value under various conditions. Each condition is called a risk scenario. The numeric value for each risk scenario represents the gain or loss that that particular contract will experience for a particular combination of price (or underlying price) change, volatility change, and decrease in time to expiration.

For those of you who are new to source version control you will probably want to read up on how git (and version control in general) works with the fantastic free ebook Pro Git. It is worth spending some time learning about source control as it will save you a huge amount of future headache if you spend a lot of time programming and updating projects!
Slippage Handling - The system is currently generating a lot of slippage due to the high-frequency nature of the tick data provided from OANDA. This means that the portfolio balance calculated locally is not reflecting the balance calculated by OANDA. Until correct event-handling and slippage adjustment is carried out, this will mean that a backtest will not correctly reflect reality.
To get started, investors interested in trading in the forex markets must first sign up with either a regular broker or an online forex discount broker. Once an investor finds a proper broker, a margin account must be set up. A forex margin account is very similar to an equities margin account – the investor is taking a short-term loan from the broker. The loan is equal to the amount of leverage taken on by the investor.
Leveraged trading in foreign currency or off-exchange products on margin carries significant risk and may not be suitable for all investors. We advise you to carefully consider whether trading is appropriate for you based on your personal circumstances. Forex trading involves risk. Losses can exceed deposits. We recommend that you seek independent advice and ensure you fully understand the risks involved before trading.

The market then wants to trigger one of your pending orders but you may not have enough Forex free margin in your account. That pending order will either not be triggered or will be cancelled automatically. This can cause some traders to think that their broker failed to carry out their orders. Of course in this instance, this just isn't true. It's simply because the trader didn't have enough free margin in their trading account.
The market values/prices used to compute the equity or margin requirement in an Interactive account may differ from the price disseminated by exchanges or other market data sources, and may represent Interactive's valuation of the product. Among other things, Interactive may calculate its own index values, Exchange Traded Fund values or derivatives values, and Interactive may value securities or futures or other investment products based on bid price, offer price, last sale price, midpoint or using some other method. Interactive may use a valuation methodology that is more conservative than the marketplace as a whole.
As you may now come to understand, FX margins are one of the key aspects of Forex trading that must not be overlooked, as they can potentially lead to unpleasant outcomes. In order to avoid them, you should understand the theory concerning margins, margin levels and margin calls, and apply your trading experience to create a viable Forex strategy. Indeed a well developed approach will undoubtedly lead you to trading success in the end.

Let's presume that the market keeps on going against you. In this case, the broker will simply have no choice but to shut down all your losing positions. This limit is referred to as a stop out level. For example, when the stop out level is established at 5% by a broker, the trading platform will start closing your losing positions automatically if your margin level reaches 5%. It is important to note that it starts closing from the biggest losing position.
×