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.
Currency markets are important to a broad range of participants, from banks, brokers, hedge funds and investor traders who trade FX. Any company that operates or has customers overseas will need to trade currency. Central banks can also be active in currency markets, as they seek to keep the currency they are responsible for trading within a specific range.
Have you always dreamed of financial freedom? Maybe you want to start your own business and need a way to supplement the income it brings in. It doesn’t matter what your goals are – Forex trading may be the solution you have been looking for. This high-reward, high-risk market has plenty of opportunities for the patient, insightful investor. You do not need to spend all day researching and watching the market; currency trading only requires you to dedicate a small portion of each day to it, leaving you with more time to spend following your dreams!

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.
Interactive Brokers ®, IBSM, InteractiveBrokers.com ®, Interactive Analytics ®, IB Options AnalyticsSM, IB SmartRoutingSM, PortfolioAnalyst ®, IB Trader WorkstationSM and One World, One AccountSM are service marks and/or trademarks of Interactive Brokers LLC. Supporting documentation for any claims and statistical information will be provided upon request. Any trading symbols displayed are for illustrative purposes only and are not intended to portray recommendations.
The script is currently hardcoded to generate forex data for the entire month of January 2014. It uses the Python calendar library in order to ascertain business days (although I haven't excluded holidays yet) and then generates a set of files of the form BBBQQQ_YYYYMMDD.csv, where BBBQQQ will be the specified currency pair (e.g. GBPUSD) and YYYYMMDD is the specified date (e.g. 20140112).
Margin is one of the most important concepts of Forex trading. However, a lot of people don't understand its significance, or simply misunderstand the term. A Forex margin is basically a good faith deposit that is needed to maintain open positions. A margin is not a fee or a transaction cost, but instead, a portion of your account equity set aside and assigned as a margin deposit.
© 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.
Popular leverage ratios in Forex trading include 1:10, 1:50, 1:100, 1:200, or even higher. Simply put, the leverage ratio determines the position size you’re allowed to take based on the size of your trading account. For example, a 1:100 leverage allows you to open a position 10 times higher than your trading account size, i.e., if you have $1,000 in your account, you can open a position worth $10,000. Similarly, a  leverage ratio of 1:100 allows you to open a position size 100 times larger than your trading account size. With $1,000 in your trading account, you could open a position worth $100,000!

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.


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.

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.
The script is currently hardcoded to generate forex data for the entire month of January 2014. It uses the Python calendar library in order to ascertain business days (although I haven't excluded holidays yet) and then generates a set of files of the form BBBQQQ_YYYYMMDD.csv, where BBBQQQ will be the specified currency pair (e.g. GBPUSD) and YYYYMMDD is the specified date (e.g. 20140112).
Simply download the latest version from the Software page and after installation follow the initial wizard or click on the help/start trial menu. Please note that the software periodically communicates with the license servers to validate your trial. After the trial period you can use the software in read only mode which means you cannot modify your TradingDiary Pro database anymore.
We also apply a concentrated margining requirement to Margin accounts. An account's two largest positions and their underlying derivatives will be re-valued using the worst case scenario within a +/- 30% scanning range. The remaining positions will be re-valued based upon a move of +/-5%. If the concentrated margining requirement exceeds that of the standard rules based margin required, then the newly calculated concentrated margin requirement will be applied to the account.
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.
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.
There is one unpleasant fact for you to take into consideration about the margin call Forex. You might not even receive the margin call before your positions are liquidated. If the money in your account falls under the margin requirements, your broker will close some or all positions, as we have specified earlier in this article. This can actually help prevent your account from falling into a negative balance.
The script is currently hardcoded to generate forex data for the entire month of January 2014. It uses the Python calendar library in order to ascertain business days (although I haven't excluded holidays yet) and then generates a set of files of the form BBBQQQ_YYYYMMDD.csv, where BBBQQQ will be the specified currency pair (e.g. GBPUSD) and YYYYMMDD is the specified date (e.g. 20140112).
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.
×