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.
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.

Multiple Broker/FIX Integration - At the moment we are strongly coupled to the OANDA broker. As I said this is simply because I came across their API and found it to be a modern offering. There are plenty of other brokers out there, many of which support the FIX protocol. Adding a FIX capability would increase the number of brokers that could be used with the system.
© 2019 Learn to Trade Pty Ltd (ACN:138178542, AFSL:339557) provides general information and educational courses and materials only. This is not an offer to buy/sell financial products. We do not provide personal advice nor do we consider the needs, objectives or circumstances of any individual. Financial products are complex and all entail risk of loss. Over-the-counter derivative and foreign exchange products are considered speculative because they are highly leveraged and carry risk of loss beyond your initial investment, hence should only be traded with capital you can afford to lose. Please ensure you obtain professional advice to ensure trading or investing in any financial products is suitable for your circumstances, and ensure you obtain, read and understand any applicable offer document.
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.
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.
For securities, the definition of margin includes three important concepts: the Margin Loan, the Margin Deposit and the Margin Requirement. The Margin Loan is the amount of money that an investor borrows from his broker to buy securities. The Margin Deposit is the amount of equity contributed by the investor toward the purchase of securities in a margin account. The Margin Requirement is the minimum amount that a customer must deposit and it is commonly expressed as a percent of the current market value. The Margin Deposit can be greater than or equal to the Margin Requirement. We can express this as an equation:
×