TradingDiary Pro basics and data types.

Data Types

This article describes how data and different transaction types are handled in TradingDiary Pro, how these transaction types are connected to each other. During the import or adding transactions manually the following transaction types can be imported:

  • Instruments
  • Trades
  • Cash Transactions
  • Total Equity/Net Asset Value
  • Exchange Rates
  • Historical Data


Trading Instrument can be a stock, contract of futures, options or futures options or a Forex pair. TradingDiary Pro supports all major instrument types like Stocks, Futures, Options, Futures Options, Warrants, Forex, CFD etc.  The instruments are added automatically during the import or an instrument should be added manually. The Instruments view shows the existing instruments. You can read more about the instruments view in the web help.


Trades are the raw trades executed at the exchange or at an FX broker. For example if you buy 1000 shares of Tesla then it will be an entry in the Trade Blotter View. A trade obviously assigned to an instrument, that’s why an instrument needs to be added before adding a trade. The vital columns of a trade are the trade date time when the trade taken place, Shares/Contracts where buys are positive numbers and sells are negative, price, commission and currency. If a trade executed partially then it will be several rows in the Trade blotter as well. Each trade has it’s own transaction id provided by the brokerage firm or generated by the software. To edit any of these values simply double click on the cell and edit it like in an excel row.


Position is a logical set of trades. The raw trades are creates several positions. Positions are created after adding any trade. A position must have at least one trade, this is an open position. A closed position have at least two trades, an open trade and close trade. The sum of the trade quantities must be zero. For example there are two trades in the database, hundred shares buy and hundred shares sell of the same instrument, these trades will create a closed position. The software uses FIFO (First in first out) algorithm to assign trades into positions. There is a special FX assignment method as well for trades imported from MetaTrader or FXCM. It is possible manually override the FIFO method. You can read more about in this article.

After the position assignment the software calculates the PnL (profit and loss), Net PnL, total commission and lot more fields for each position. The Positions and Open Positions views show the positions in the database in an excel like grid.

Cash Transactions

Cash transaction are the non-trade related transactions. These are deposits and withdrawals, dividends, payment in lieu dividends, taxes, paid and received interests. Cash transaction can be bound to a position except deposits and withdrawals. If a cash transaction is bound to a position it will modify the Net PnL of the position. This helps for better PnL tracking because the position shows the adjusted PnL by the dividends, interests or even paid taxes. The cash transactions are displayed in the Cash Transaction View.

Total Equity/Net Asset Value

These are daily elements of the sum of all assets, liabilities of your account at the end of day. Some of the brokerage firms like Interactive Brokers provide Net Asset Value history in their statements but of the brokers are not. For these brokers the TradingDiary Pro calculates the net asset value history based on the cash transactions, positions and historical values. you can read more about it in this article: How Net Asset Value history is calculated. The net asset value history is used in the Equity based reports like Equity History, Leverage, ROI Pivot Table, risk Metrics and the first section of the Performance view.

Exchange Rates

Exchange rates are important for non-base currency trades. For example the base currency of an account is Euro and the user trades on the US stock market. In case of a non-base currency trade, the software uses the exchange rates from the statements to calculate the PnL in the base currency. You can read more about the non-base currency PnL calculation here.