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

Note also that when we begin storing our trades in a relational database (as described above in the roadmap) we will need to make sure we once again use the correct data-type. PostgreSQL and MySQL support a decimal representation. It is vital that we utilise these data-types when we create our database schema, otherwise we will run into rounding errors that are extremely difficult to diagnose!
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:

One of the unique features of TradingDiary Pro which you cannot find in any trading journal software is the options strategy support. TradingDiary Pro is the perfect solution for an options trading journal and tracking your stock and futures options strategies. What is an options strategy? Options strategy is simultaneously buying or selling one or […]

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.


Admiral Markets Cyprus Ltd is registered in Cyprus – with company registration number 310328 at the Department of the Registrar of Companies and Official Receiver. Admiral Markets Cyprus Ltd authorised and regulated by the Cyprus Securities and Exchange Commission (CySEC), license number 201/13. The registered office for Admiral Markets Cyprus Ltd is: Spyrou Kyprianou 20, Chapo Central, 1st floor, Flat/Office 102, 1075, Nicosia, Cyprus

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:


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.
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.
tweet at 3:44pm: [RTRS] - U.S. CDC DIRECTOR REDFIELD SAYS RISK TO U.S. PUBLIC FROM CORONAVIRUS OUTBREAK IS LOW tweet at 3:46pm: REDFIELD SAYS THERE ARE 191 INDIVIDUALS UNDER INVESTIGATION IN U.S. AMID CORONAVIRUS OUTBREAK tweet at 3:45pm: US CDC Director Redfield: This is a significant global situation. https://t.co/Ao1Ci2OEfi tweet at 3:52pm: US declares the coronavirus a public health emergency, implementing special temporary measures $SPX
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.
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.
This material does not contain and should not be construed as containing investment advice, investment recommendations, an offer of or solicitation for any transactions in financial instruments. Please note that such trading analysis is not a reliable indicator for any current or future performance, as circumstances may change over time. Before making any investment decisions, you should seek advice from independent financial advisors to ensure you understand the risks.
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.
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.
Margins are a hotly debated topic. Some traders argue that too much margin is very dangerous, however it all depends on trading style and the amount of trading experience one has. If you are going to trade on a margin account, it is important that you know what your broker's policies are on margin accounts, and that you fully understand and are comfortable with the risks involved. Be careful to avoid a Forex margin call.
Imagine that you have $10,000 on your account account, and you have a losing position with a margin evaluated at $1,000. If your position goes against you, and it goes to a $9,000 loss, the equity will be $1,000 (i.e $10,000 - $9,000), which equals the margin. Thus, the margin level will be 100%. Again, if the margin level reaches the rate of 100%, you can't take any new positions, unless the market suddenly turns around and your equity level turns out to be greater than the margin.
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.

One of the unique features of TradingDiary Pro which you cannot find in any trading journal software is the options strategy support. TradingDiary Pro is the perfect solution for an options trading journal and tracking your stock and futures options strategies. What is an options strategy? Options strategy is simultaneously buying or selling one or […]

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.


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