Unit Tests for Position/Portfolio - While I've not mentioned it directly in diary entries #1 and #2, I've actually been writing some unit tests for the Portfolio and Position objects. Since these are so crucial to the calculations of the strategy, one must be extremely confident that they perform as expected. An additional benefit of such tests is that they allow the underlying calculation to be modified, such that if all tests still pass, we can be confident that the overall system will continue to behave as expected.

In particular we need to modify -every- value that appears in a Position calculation to a Decimal data-type. This includes the units, exposure, pips, profit and percentage profit. This ensures we are in full control of how rounding issues are handled when dealing with currency representations that have two decimal places of precision. In particular we need to choose the method of rounding. Python supports a few different types, but we are going to go with ROUND_HALF_DOWN, which rounds to the nearest integer with ties going towards zero.

In particular I've made the interface for beginning a new backtest a lot simpler by encapsulating a lot of the "boilerplate" code into a new Backtest class. I've also modified the system to be fully workable with multiple currency pairs. In this article I'll describe the new interface and show the usual Moving Average Crossover example on both GBP/USD and EUR/USD.
These articles, on the other hand, discuss currency trading as buying and selling currency on the foreign exchange (or "Forex") market with the intent to make money, often called "speculative forex trading". XE does not offer speculative forex trading, nor do we recommend any firms that offer this service. These articles are provided for general information only.
The majority of the volume in currency trading is confined to only 18 currency pairs compared to the thousands of stocks that are available in the global equity markets. Although there are other traded pairs outside of the 18, the eight currencies most often traded are the U.S. dollar (USD), Canadian dollar (CAD), euro (EUR), British pound (GBP), Swiss franc (CHF), New Zealand dollar (NZD), Australian dollar (AUD) and the Japanese yen (JPY). Although nobody would say that currency trading is easy, having far fewer trading options makes trade and portfolio management an easier task.

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.

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 addition, I've had some comments from people suggesting that they'd like to see more varied order types than the simple Market Order. For carrying out proper HFT strategies against OANDA we are going to need to use Limit Orders. This will probably require a reworking of how the system currently executes trades, but it will allow a much bigger universe of trading strategies to be carried out.


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.
To date, we've been experimenting with the OANDA Rest API in order to see how it compared to the API provided by Interactive Brokers. We've also seen how to add in a basic portfolio replication element as the first step towards a proper event-driven backtesting system. I've also had some helpful comments on both previous articles (#1 and #2), which suggests that many of you are keen on changing and extending the code yourselves.
If you believe that a currency pair such as the Australian dollar will rise against the US Dollar you can place a buy trade on AUD/USD. If the prices rises, you will make a profit for every point that AUD appreciates against the USD. If the market falls, then you will make a loss for every point the price moves against you. Our trading platform tells you in real-time how much profit or loss you are making.
Systems that derive risk-based margin requirements deliver adequate assessments of the risk for complex derivative portfolios under small/moderate move scenarios. Such systems are less comprehensive when considering large moves in the price of the underlying stock or future. We have enhanced the basic exchange margin models with algorithms that consider the portfolio impact of larger moves up 30% (or even higher for extremely volatile stocks). This 'Extreme Margin Model' may increase the margin requirement for portfolios with net short options positions, and is particularly sensitive to short positions in far out-of-the-money options.

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.
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.
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.
In a margin account, the broker uses the $1,000 as a security deposit of sorts. If the investor's position worsens and his or her losses approach $1,000, the broker may initiate a margin call. When this occurs, the broker will usually instruct the investor to either deposit more money into the account or to close out the position to limit the risk to both parties.

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.


Trading on a margin can have varying consequences. It can influence your trading experience both positively and negatively, with both profits and losses potentially being seriously augmented. Your broker takes your margin deposit and then pools it with someone else's margin Forex deposits. Brokers do this in order to be able to place trades within the whole interbank network.

Why should you use Learn to Trade to learn Forex trading? That’s simple: we are a credible, well-established organisation that exists to educate people on Forex trading strategies. Our Forex trading training is second to none and will give you the foundation you need to achieve success in the high-opportunity world of currency trading. Every course is supported by our knowledgeable team of experts, who guide and support you throughout your learning experience. Not only that – you’ll get to take advantage of our live trading floor to get some hands-on experience. Getting a feel for what it’s like, while you have experienced traders around to help you, is a valuable opportunity that will help you get the confidence you need. Register now for your Forex trading tutorial and workshop!

The majority of the volume in currency trading is confined to only 18 currency pairs compared to the thousands of stocks that are available in the global equity markets. Although there are other traded pairs outside of the 18, the eight currencies most often traded are the U.S. dollar (USD), Canadian dollar (CAD), euro (EUR), British pound (GBP), Swiss franc (CHF), New Zealand dollar (NZD), Australian dollar (AUD) and the Japanese yen (JPY). Although nobody would say that currency trading is easy, having far fewer trading options makes trade and portfolio management an easier task.
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.
Free Margin – Your free margin represents your total equity minus any margin used for leveraged trades. For example, if your equity is $1,000 and your used margin is $100, your free margin would amount to $900. Following your free margin is extremely important, as it is used to withstand negative price fluctuations from your open trades and to open new leveraged trades. It’s important to understand that your free margin increases with profitable positions, but decreases with your losing positions. Once the free margin drops to zero or below, your broker will activate the so-called margin call and close all your open positions at the current market rate, in order to prevent your equity from falling below the required margin.
© 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.
If you sell a security short, you must have sufficient equity in your account to cover any fees associated with borrowing the security. If you borrow the security through us, we will borrow the security on your behalf and your account must have sufficient collateral to cover the margin requirements of the short sale. To cover administrative fees and stock borrowing fees, we must post 102% of the value of the security borrowed as collateral with the lender. In instances in which the security shorted is hard to borrow, borrowing fees charged by the lender may be so high (greater than the interest earned) that the short seller must pay additional interest for the privilege of borrowing a security. Customers may view the indicative short stock interest rates for a specific stock through the Short Stock (SLB) Availability tool located in the Tools section of their Account Management page. For more information concerning shorting stocks and associated fees, visit our Stock Shorting page.
×